overleaf/services/web/frontend/stories/ui/badge-bs3.stories.tsx
Antoine Clausse 4a8b79080b [storybook] Update Storybook and add a control for BS3/BS5 (#20948)
* [storybook] Update Storybook to version 8.3.5

* [storybook] Run storybook with `--no-open`. Fixes xdg-utils issue

* [storybook] Create decorator for BS3/BS5

* [storybook] Add `bsVersionDecorator` to stories

* [storybook] Fix bugs in stories

* [storybook] Fixup `useMeta` type. Use `DeepPartial`

* [storybook] Fix types

GitOrigin-RevId: 48c0f0fefb1ab2d4863ab59051b900b1908a613c
2024-10-14 11:07:40 +00:00

59 lines
1.1 KiB
TypeScript

import BS3Badge from '@/shared/components/badge'
import Icon from '@/shared/components/icon'
import type { Meta, StoryObj } from '@storybook/react'
const meta: Meta<typeof BS3Badge> = {
title: 'Shared / Components / Badge / Bootstrap 3',
component: BS3Badge,
parameters: {
bootstrap5: false,
},
args: {
children: 'Badge',
},
argTypes: {
prepend: {
table: {
disable: true,
},
},
bsStyle: {
options: ['info', 'primary', 'warning', 'danger'],
control: { type: 'radio' },
},
className: {
table: {
disable: true,
},
},
},
}
export default meta
type Story = StoryObj<typeof BS3Badge>
export const BadgeDefault: Story = {
render: args => {
return (
<div className="small">
<BS3Badge {...args} />
</div>
)
},
}
BadgeDefault.args = {
bsStyle: meta.argTypes!.bsStyle!.options![0],
}
export const BadgePrepend: Story = {
render: args => {
return (
<div className="small">
<BS3Badge prepend={<Icon type="star" fw />} {...args} />
</div>
)
},
}
BadgePrepend.args = {
bsStyle: meta.argTypes!.bsStyle!.options![0],
}