mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 10:21:05 +00:00
64 lines
1.9 KiB
JavaScript
64 lines
1.9 KiB
JavaScript
import { withKnobs, select, boolean, text } from '@storybook/addon-knobs';
|
|
import Component from './Button.Story.svelte';
|
|
|
|
export default { title: 'Button', decorators: [withKnobs] };
|
|
|
|
// TODO: add selectable renderIcon for Default, Icon-only stories
|
|
|
|
const kinds = {
|
|
'Primary button (primary)': 'primary',
|
|
'Secondary button (secondary)': 'secondary',
|
|
'Danger button (danger)': 'danger',
|
|
'Ghost button (ghost)': 'ghost'
|
|
};
|
|
|
|
const sizes = {
|
|
Default: 'default',
|
|
Field: 'field',
|
|
Small: 'small'
|
|
};
|
|
|
|
export const Default = () => ({
|
|
Component,
|
|
props: {
|
|
kind: select('Button kind (kind)', kinds, 'primary'),
|
|
disabled: boolean('Disabled (disabled)', false),
|
|
size: select('Button size (size)', sizes, 'default'),
|
|
iconDescription: text('Icon description (iconDescription)', 'Button icon'),
|
|
small: boolean('Small (small) - Deprecated in favor of `size`', false)
|
|
}
|
|
});
|
|
|
|
export const IconOnlyButtons = () => ({
|
|
Component,
|
|
props: {
|
|
story: 'icon-only buttons',
|
|
kind: select('Button kind (kind)', kinds, 'primary'),
|
|
disabled: boolean('Disabled (disabled)', false),
|
|
size: select('Button size (size)', sizes, 'default'),
|
|
iconDescription: text('Icon description (iconDescription)', 'Button icon'),
|
|
tooltipPosition: select(
|
|
'Tooltip position (tooltipPosition)',
|
|
['top', 'right', 'bottom', 'left'],
|
|
'bottom'
|
|
),
|
|
tooltipAlignment: select(
|
|
'Tooltip alignment (tooltipAlignment)',
|
|
['start', 'center', 'end'],
|
|
'center'
|
|
)
|
|
}
|
|
});
|
|
|
|
export const SetOfButtons = () => ({
|
|
Component,
|
|
props: {
|
|
story: 'set of buttons',
|
|
disabled: boolean('Disabled (disabled)', false),
|
|
small: boolean('Small (small)', false),
|
|
size: select('Button size (size)', sizes, 'default'),
|
|
iconDescription: text('Icon description (iconDescription)', 'Button icon')
|
|
}
|
|
});
|
|
|
|
export const Skeleton = () => ({ Component, props: { story: 'skeleton' } });
|