import { DecoratorFunction, Parameters } from '@storybook/addons' import { defaultThemes } from '../src' import { withTheme } from './withTheme.decorator' export const parameters: Parameters = { actions: { argTypesRegex: '^on[A-Z].*' }, controls: { matchers: { color: /(background|color)$/i, date: /Date$/, }, }, backgrounds: { default: 'light', values: Object.entries(defaultThemes).map(([name, theme]) => ({ name, value: `rgb(${theme.palette.secondary})`, })), }, viewport: { viewports: { ...Object.fromEntries( Object.entries(defaultThemes.light.breakpoints).map( ([key, { width }]) => [ key, { name: key, styles: { width: (width > 0 ? width : 360) + 'px', height: 'auto', minHeight: 400, }, }, ], ), ), }, }, } export const decorators: DecoratorFunction[] = [withTheme] export const globalTypes = { theme: { name: 'Theme', description: 'Theme', defaultValue: 'light', toolbar: { icon: 'circlehollow', items: [ { value: 'light', icon: 'circlehollow', title: 'light' }, { value: 'dark', icon: 'circle', title: 'dark' }, ], }, }, }