diff --git a/docs/_snippets/actions-filtering-example.md b/docs/_snippets/actions-filtering-example.md index 45bc0092f855..7afc88778f09 100644 --- a/docs/_snippets/actions-filtering-example.md +++ b/docs/_snippets/actions-filtering-example.md @@ -107,3 +107,140 @@ export default definePreview({ }, }); ``` + +```ts filename=".storybook/preview.ts" renderer="vue" language="ts" tabTitle="CSF Next πŸ§ͺ" +import { definePreview } from '@storybook/vue3-vite'; + +import { action } from 'storybook/actions'; +import { spyOn } from 'storybook/test'; + +const originalConsoleLog = console.log; + +export default definePreview({ + async beforeEach() { + spyOn(console, 'log') + // Disable automatic logging in the actions panel + .mockName('') + .mockImplementation((args) => { + // Check if the log message matches a certain pattern + if (someCondition(args)) { + // Manually log an action + action('console.log')(args); + } + + // Call the original console.log function + originalConsoleLog(...args); + }); + }, +}); +``` + + + +```js filename=".storybook/preview.js" renderer="vue" language="js" tabTitle="CSF Next πŸ§ͺ" +import { definePreview } from '@storybook/vue3-vite'; + +import { action } from 'storybook/actions'; +import { spyOn } from 'storybook/test'; + +const originalConsoleLog = console.log; +export default definePreview({ + async beforeEach() { + spyOn(console, 'log') + // Disable automatic logging in the actions panel + .mockName('') + .mockImplementation((args) => { + // Check if the log message matches a certain pattern + if (someCondition(args)) { + // Manually log an action + action('console.log')(args); + } + + // Call the original console.log function + originalConsoleLog(...args); + }); + }, +}); +``` + +```ts filename=".storybook/preview.ts" renderer="angular" language="ts" tabTitle="CSF Next πŸ§ͺ" +import { definePreview } from '@storybook/angular'; + +import { action } from 'storybook/actions'; +import { spyOn } from 'storybook/test'; + +const originalConsoleLog = console.log; + +export default definePreview({ + async beforeEach() { + spyOn(console, 'log') + // Disable automatic logging in the actions panel + .mockName('') + .mockImplementation((args) => { + // Check if the log message matches a certain pattern + if (someCondition(args)) { + // Manually log an action + action('console.log')(args); + } + + // Call the original console.log function + originalConsoleLog(...args); + }); + }, +}); +``` + +```ts filename=".storybook/preview.ts" renderer="web-components" language="ts" tabTitle="CSF Next πŸ§ͺ" +import { definePreview } from '@storybook/web-components-vite'; + +import { action } from 'storybook/actions'; +import { spyOn } from 'storybook/test'; + +const originalConsoleLog = console.log; + +export default definePreview({ + async beforeEach() { + spyOn(console, 'log') + // Disable automatic logging in the actions panel + .mockName('') + .mockImplementation((args) => { + // Check if the log message matches a certain pattern + if (someCondition(args)) { + // Manually log an action + action('console.log')(args); + } + + // Call the original console.log function + originalConsoleLog(...args); + }); + }, +}); +``` + + + +```js filename=".storybook/preview.js" renderer="web-components" language="js" tabTitle="CSF Next πŸ§ͺ" +import { definePreview } from '@storybook/web-components-vite'; + +import { action } from 'storybook/actions'; +import { spyOn } from 'storybook/test'; + +const originalConsoleLog = console.log; +export default definePreview({ + async beforeEach() { + spyOn(console, 'log') + // Disable automatic logging in the actions panel + .mockName('') + .mockImplementation((args) => { + // Check if the log message matches a certain pattern + if (someCondition(args)) { + // Manually log an action + action('console.log')(args); + } + + // Call the original console.log function + originalConsoleLog(...args); + }); + }, +}); +``` diff --git a/docs/_snippets/actions-spyon-basic-example.md b/docs/_snippets/actions-spyon-basic-example.md index 89471b84c56c..53463f1742a8 100644 --- a/docs/_snippets/actions-spyon-basic-example.md +++ b/docs/_snippets/actions-spyon-basic-example.md @@ -50,3 +50,67 @@ export default definePreview({ }, }); ``` + +```ts filename=".storybook/preview.ts" renderer="vue" language="ts" tabTitle="CSF Next πŸ§ͺ" +import { definePreview } from '@storybook/vue3-vite'; + +import { spyOn } from 'storybook/test'; + +export default definePreview({ + async beforeEach() { + spyOn(console, 'log').mockName('console.log'); + }, +}); +``` + + + +```js filename=".storybook/preview.js" renderer="vue" language="js" tabTitle="CSF Next πŸ§ͺ" +import { definePreview } from '@storybook/vue3-vite'; + +import { spyOn } from 'storybook/test'; + +export default definePreview({ + async beforeEach() { + spyOn(console, 'log').mockName('console.log'); + }, +}); +``` + +```ts filename=".storybook/preview.ts" renderer="angular" language="ts" tabTitle="CSF Next πŸ§ͺ" +import { definePreview } from '@storybook/angular'; + +import { spyOn } from 'storybook/test'; + +export default definePreview({ + async beforeEach() { + spyOn(console, 'log').mockName('console.log'); + }, +}); +``` + +```ts filename=".storybook/preview.ts" renderer="web-components" language="ts" tabTitle="CSF Next πŸ§ͺ" +import { definePreview } from '@storybook/web-components-vite'; + +import { spyOn } from 'storybook/test'; + +export default definePreview({ + async beforeEach() { + spyOn(console, 'log').mockName('console.log'); + }, +}); +``` + + + +```js filename=".storybook/preview.js" renderer="web-components" language="js" tabTitle="CSF Next πŸ§ͺ" +import { definePreview } from '@storybook/web-components-vite'; + +import { spyOn } from 'storybook/test'; + +export default definePreview({ + async beforeEach() { + spyOn(console, 'log').mockName('console.log'); + }, +}); +``` diff --git a/docs/_snippets/addon-a11y-config-context-in-story.md b/docs/_snippets/addon-a11y-config-context-in-story.md index 6137488cea2b..ae44607ed2bd 100644 --- a/docs/_snippets/addon-a11y-config-context-in-story.md +++ b/docs/_snippets/addon-a11y-config-context-in-story.md @@ -18,6 +18,120 @@ export const ExampleStory: Story = { }; ``` +```js filename="Button.stories.js" renderer="web-components" language="js" tabTitle="CSF 3" +// ...rest of story file + +export const ExampleStory = { + parameters: { + a11y: { + /* + * Axe's context parameter + * See https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#context-parameter + * to learn more. + */ + context: { + include: ['body'], + exclude: ['.no-a11y-check'], + }, + }, + }, +}; +``` + +```ts filename="Button.stories.ts" renderer="web-components" language="ts" tabTitle="CSF 3" +// ...rest of story file + +export const ExampleStory: Story = { + parameters: { + a11y: { + /* + * Axe's context parameter + * See https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#context-parameter + * to learn more. + */ + context: { + include: ['body'], + exclude: ['.no-a11y-check'], + }, + }, + }, +}; +``` + +```js filename="Button.stories.js" renderer="web-components" language="js" tabTitle="CSF Next πŸ§ͺ" +import preview from '../.storybook/preview'; + +const meta = preview.meta({ + component: 'demo-button', +}); + +export const ExampleStory = meta.story({ + parameters: { + a11y: { + /* + * Axe's context parameter + * See https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#context-parameter + * to learn more. + */ + context: { + include: ['body'], + exclude: ['.no-a11y-check'], + }, + }, + }, +}); +``` + +```ts filename="Button.stories.ts" renderer="web-components" language="ts" tabTitle="CSF Next πŸ§ͺ" +import preview from '../.storybook/preview'; + +const meta = preview.meta({ + component: 'demo-button', +}); + +export const ExampleStory = meta.story({ + parameters: { + a11y: { + /* + * Axe's context parameter + * See https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#context-parameter + * to learn more. + */ + context: { + include: ['body'], + exclude: ['.no-a11y-check'], + }, + }, + }, +}); +``` + +```ts filename="Button.stories.ts" renderer="angular" language="ts" tabTitle="CSF Next πŸ§ͺ" +import preview from '../.storybook/preview'; + +import { Button } from './button.component'; + +const meta = preview.meta({ + component: Button, +}); + +export const ExampleStory = meta.story({ + parameters: { + a11y: { + /* + * Axe's context parameter + * See https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#context-parameter + * to learn more. + */ + context: { + include: ['body'], + exclude: ['.no-a11y-check'], + }, + }, + }, +}); +``` + ```js filename="Button.stories.js" renderer="common" language="js" // ...rest of story file @@ -67,7 +181,7 @@ export const ExampleStory = { /> ``` -```ts filename="Button.stories.ts" renderer="svelte" language="ts" tabTitle="CSF" +```ts filename="Button.stories.ts" renderer="svelte" language="ts" tabTitle="CSF 3" // ...rest of story file export const ExampleStory: Story = { @@ -116,7 +230,7 @@ export const ExampleStory: Story = { /> ``` -```js filename="Button.stories.js" renderer="svelte" language="js" tabTitle="CSF" +```js filename="Button.stories.js" renderer="svelte" language="js" tabTitle="CSF 3" // ...rest of story file export const ExampleStory = { @@ -189,3 +303,57 @@ export const ExampleStory = meta.story({ }, }); ``` + +```ts filename="Button.stories.ts" renderer="vue" language="ts" tabTitle="CSF Next πŸ§ͺ" +import preview from '../.storybook/preview'; + +import Button from './Button.vue'; + +const meta = preview.meta({ + component: Button, +}); + +export const ExampleStory = meta.story({ + parameters: { + a11y: { + /* + * Axe's context parameter + * See https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#context-parameter + * to learn more. + */ + context: { + include: ['body'], + exclude: ['.no-a11y-check'], + }, + }, + }, +}); +``` + + + +```js filename="Button.stories.js" renderer="vue" language="js" tabTitle="CSF Next πŸ§ͺ" +import preview from '../.storybook/preview'; + +import Button from './Button.vue'; + +const meta = preview.meta({ + component: Button, +}); + +export const ExampleStory = meta.story({ + parameters: { + a11y: { + /* + * Axe's context parameter + * See https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#context-parameter + * to learn more. + */ + context: { + include: ['body'], + exclude: ['.no-a11y-check'], + }, + }, + }, +}); +``` diff --git a/docs/_snippets/addon-a11y-config-in-meta-and-story.md b/docs/_snippets/addon-a11y-config-in-meta-and-story.md index 643f79253e71..be8e190c0db9 100644 --- a/docs/_snippets/addon-a11y-config-in-meta-and-story.md +++ b/docs/_snippets/addon-a11y-config-in-meta-and-story.md @@ -1,7 +1,7 @@ -```ts filename="Button.stories.ts" renderer="angular" language="ts" +```ts filename="Button.stories.ts" renderer="angular" language="ts" tabTitle="CSF 3" import type { Meta, StoryObj } from '@storybook/angular'; -import { Button } from './Button.component'; +import { Button } from './button.component'; const meta: Meta