storybook/docs/snippets/web-components/component-story-custom-args-mapping.ts.mdx
2023-05-25 21:04:33 +01:00

32 lines
805 B
Plaintext

```ts
// Button.stories.ts
import type { Meta } from '@storybook/web-components';
import { ArrowUp, ArrowDown, ArrowLeft, ArrowRight } from './icons';
const arrows = { ArrowUp, ArrowDown, ArrowLeft, ArrowRight };
const meta: Meta = {
component: 'demo-button',
argTypes: {
arrow: {
options: Object.keys(arrows), // An array of serializable values
mapping: arrows, // Maps serializable option values to complex arg values
control: {
type: 'select', // Type 'select' is automatically inferred when 'options' is defined
labels: {
// 'labels' maps option values to string labels
ArrowUp: 'Up',
ArrowDown: 'Down',
ArrowLeft: 'Left',
ArrowRight: 'Right',
},
},
},
},
};
export default meta;
```