docs/_snippets/button-group-story.md
import { type Meta, type StoryObj, moduleMetadata } from '@storybook/angular';
import { CommonModule } from '@angular/common';
import { ButtonGroup } from './button-group.component';
import { Button } from './button.component';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
const meta: Meta<ButtonGroup> = {
component: ButtonGroup,
decorators: [
moduleMetadata({
declarations: [Button],
imports: [CommonModule],
}),
],
};
export default meta;
type Story = StoryObj<ButtonGroup>;
export const Pair: Story = {
args: {
buttons: [{ ...ButtonStories.Primary.args }, { ...ButtonStories.Secondary.args }],
orientation: 'horizontal',
},
};
import { CommonModule } from '@angular/common';
import { moduleMetadata } from '@storybook/angular';
import preview from '../.storybook/preview';
import { ButtonGroup } from './button-group.component';
import { Button } from './button.component';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
const meta = preview.meta({
component: ButtonGroup,
decorators: [
moduleMetadata({
declarations: [Button],
imports: [CommonModule],
}),
],
});
export const Pair = meta.story({
args: {
buttons: [{ ...ButtonStories.Primary.input.args }, { ...ButtonStories.Secondary.input.args }],
orientation: 'horizontal',
},
});
import { ButtonGroup } from '../ButtonGroup';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
export default {
component: ButtonGroup,
};
export const Pair = {
args: {
buttons: [{ ...ButtonStories.Primary.args }, { ...ButtonStories.Secondary.args }],
orientation: 'horizontal',
},
};
// Replace your-framework with the framework you are using, e.g. react-vite, nextjs, nextjs-vite, etc.
import type { Meta, StoryObj } from '@storybook/your-framework';
import { ButtonGroup } from '../ButtonGroup';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
const meta = {
component: ButtonGroup,
} satisfies Meta<typeof ButtonGroup>;
export default meta;
type Story = StoryObj<typeof meta>;
export const Pair: Story = {
args: {
buttons: [{ ...ButtonStories.Primary.args }, { ...ButtonStories.Secondary.args }],
orientation: 'horizontal',
},
};
import { ButtonGroup } from '../ButtonGroup';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
export default {
component: ButtonGroup,
};
export const Pair = {
args: {
buttons: [{ ...ButtonStories.Primary.args }, { ...ButtonStories.Secondary.args }],
orientation: 'horizontal',
},
};
import type { Meta, StoryObj } from 'storybook-solidjs-vite';
import { ButtonGroup } from '../ButtonGroup';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
const meta = {
component: ButtonGroup,
} satisfies Meta<typeof ButtonGroup>;
export default meta;
type Story = StoryObj<typeof meta>;
export const Pair: Story = {
args: {
buttons: [{ ...ButtonStories.Primary.args }, { ...ButtonStories.Secondary.args }],
orientation: 'horizontal',
},
};
<script module>
import { defineMeta } from '@storybook/addon-svelte-csf';
import ButtonGroup from './ButtonGroup.svelte';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories.svelte';
const { Story } = defineMeta({
component: ButtonGroup,
});
</script>
<Story
name="Pair"
args={{
buttons: [{ ...ButtonStories.Primary.args }, { ...ButtonStories.Secondary.args }],
orientation: 'horizontal',
}}
/>
import ButtonGroup from '../ButtonGroup.svelte';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
export default {
component: ButtonGroup,
};
export const Pair = {
args: {
buttons: [{ ...ButtonStories.Primary.args }, { ...ButtonStories.Secondary.args }],
orientation: 'horizontal',
},
};
<script module>
import { defineMeta } from '@storybook/addon-svelte-csf';
import ButtonGroup from './ButtonGroup.svelte';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories.svelte';
const { Story } = defineMeta({
component: ButtonGroup,
});
</script>
<Story
name="Pair"
args={{
buttons: [{ ...ButtonStories.Primary.args }, { ...ButtonStories.Secondary.args }],
orientation: 'horizontal',
}}
/>
// Replace your-framework with svelte-vite or sveltekit
import type { Meta, StoryObj } from '@storybook/your-framework';
import ButtonGroup from './ButtonGroup.svelte';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
const meta = {
component: ButtonGroup,
} satisfies Meta<typeof ButtonGroup>;
export default meta;
type Story = StoryObj<typeof meta>;
export const Pair: Story = {
args: {
buttons: [{ ...ButtonStories.Primary.args }, { ...ButtonStories.Secondary.args }],
orientation: 'horizontal',
},
};
import ButtonGroup from './ButtonGroup.vue';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
export default {
component: ButtonGroup,
};
/*
*๐ Render functions are a framework specific feature to allow you control on how the component renders.
* See https://storybook.js.org/docs/api/csf
* to learn how to use render functions.
*/
export const Pair = {
render: (args) => ({
components: { ButtonGroup },
setup() {
return { args };
},
template: '<ButtonGroup v-bind="args" />',
}),
args: {
buttons: [{ ...ButtonStories.Primary.args }, { ...ButtonStories.Secondary.args }],
orientation: 'horizontal',
},
};
import type { Meta, StoryObj } from '@storybook/vue3-vite';
import ButtonGroup from './ButtonGroup.vue';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
const meta = {
component: ButtonGroup,
} satisfies Meta<typeof ButtonGroup>;
export default meta;
type Story = StoryObj<typeof meta>;
export const Pair: Story = {
render: (args) => ({
components: { ButtonGroup },
setup() {
return { args };
},
template: '<ButtonGroup v-bind="args" />',
}),
args: {
buttons: [{ ...ButtonStories.Primary.args }, { ...ButtonStories.Secondary.args }],
orientation: 'horizontal',
},
};
// ๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
export default {
component: 'demo-button-group',
};
export const Pair = {
args: {
buttons: [{ ...ButtonStories.Primary.args }, { ...ButtonStories.Secondary.args }],
orientation: 'horizontal',
},
};
import type { Meta, StoryObj } from '@storybook/web-components-vite';
// ๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
const meta: Meta = {
component: 'demo-button-group',
};
export default meta;
type Story = StoryObj;
export const Pair: Story = {
args: {
buttons: [{ ...ButtonStories.Primary.args }, { ...ButtonStories.Secondary.args }],
orientation: 'horizontal',
},
};
import preview from '../.storybook/preview';
// ๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
const meta = preview.meta({
component: 'demo-button-group',
});
export const Pair = meta.story({
args: {
buttons: [{ ...ButtonStories.Primary.input.args }, { ...ButtonStories.Secondary.input.args }],
orientation: 'horizontal',
},
});
import preview from '../.storybook/preview';
// ๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
const meta = preview.meta({
component: 'demo-button-group',
});
export const Pair = meta.story({
args: {
buttons: [{ ...ButtonStories.Primary.input.args }, { ...ButtonStories.Secondary.input.args }],
orientation: 'horizontal',
},
});
import preview from '../.storybook/preview';
import ButtonGroup from './ButtonGroup.vue';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
const meta = preview.meta({
component: ButtonGroup,
});
export const Pair = meta.story({
render: (args) => ({
components: { ButtonGroup },
setup() {
return { args };
},
template: '<ButtonGroup v-bind="args" />',
}),
args: {
buttons: [{ ...ButtonStories.Primary.input.args }, { ...ButtonStories.Secondary.input.args }],
orientation: 'horizontal',
},
});
import preview from '../.storybook/preview';
import ButtonGroup from './ButtonGroup.vue';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
const meta = preview.meta({
component: ButtonGroup,
});
export const Pair = meta.story({
render: (args) => ({
components: { ButtonGroup },
setup() {
return { args };
},
template: '<ButtonGroup v-bind="args" />',
}),
args: {
buttons: [{ ...ButtonStories.Primary.input.args }, { ...ButtonStories.Secondary.input.args }],
orientation: 'horizontal',
},
});
import preview from '../.storybook/preview';
import { ButtonGroup } from '../ButtonGroup';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
const meta = preview.meta({
component: ButtonGroup,
});
export const Pair = meta.story({
args: {
buttons: [{ ...ButtonStories.Primary.input.args }, { ...ButtonStories.Secondary.input.args }],
orientation: 'horizontal',
},
});
import preview from '../.storybook/preview';
import { ButtonGroup } from '../ButtonGroup';
//๐ Imports the Button stories
import * as ButtonStories from './Button.stories';
const meta = preview.meta({
component: ButtonGroup,
});
export const Pair = meta.story({
args: {
buttons: [{ ...ButtonStories.Primary.input.args }, { ...ButtonStories.Secondary.input.args }],
orientation: 'horizontal',
},
});