veza/apps/web/.storybook/main.ts
senke dfeff836ce feat(ui): add SUMI design system components, seasonal hooks, and i18n updates
Add SumiButton and SumiCanvas components with lavis ink wash aesthetic.
Add useSeason and useTimeOfDay hooks for time-aware UI tinting.
Update storybook config, UI components, locales (en/es/fr), and dependencies.
Add Chromatic CI workflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 19:15:54 +02:00

45 lines
No EOL
1.3 KiB
TypeScript

// This file has been automatically migrated to valid ESM format by Storybook.
import { createRequire } from "node:module";
import type { StorybookConfig } from '@storybook/react-vite';
import { dirname, join } from "path"
const require = createRequire(import.meta.url);
function getAbsolutePath(value: string) {
return dirname(require.resolve(join(value, "package.json")))
}
const config: StorybookConfig = {
"stories": [
"../src/**/*.mdx",
"../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"
],
"addons": [
getAbsolutePath('@storybook/addon-a11y'),
getAbsolutePath("@storybook/addon-docs"),
getAbsolutePath("@storybook/addon-mcp"),
],
"staticDirs": ['../public'],
"framework": getAbsolutePath('@storybook/react-vite'),
"docs": {
defaultName: "Documentation"
},
"typescript": {
"reactDocgen": "react-docgen-typescript",
"reactDocgenTypescriptOptions": {
"shouldExtractLiteralValuesFromEnum": true,
"propFilter": (prop) => (prop.parent ? !/node_modules/.test(prop.parent.fileName) : true),
},
},
async viteFinal(config) {
return {
...config,
server: {
...config.server,
allowedHosts: ['veza.fr', 'veza.com', 'veza.talas.fr', 'veza.talas.com'],
},
};
},
};
export default config;