import type { StorybookConfig } from "@storybook/nextjs"; const config: StorybookConfig = { stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"], addons: [ "@storybook/addon-links", "@storybook/addon-essentials", "@storybook/addon-onboarding", "@storybook/addon-interactions", "@storybook/addon-styling", '@storybook/addon-a11y', 'storybook-dark-mode' ], framework: { name: "@storybook/nextjs", options: {}, }, docs: { autodocs: "tag", }, webpackFinal: async (config) => { const rules = config?.module?.rules?.find(rule => rule?.test?.test('.png')); if (rules) { rules.use = [ { loader: 'url-loader', options: { limit: 10240, // 10 KB }, }, ]; } return config; }, typescript: { check: false, checkOptions: {}, reactDocgen: false, reactDocgenTypescriptOptions: { compilerOptions: { allowSyntheticDefaultImports: false, esModuleInterop: false, }, // makes union prop types like variant and size appear as select controls shouldExtractLiteralValuesFromEnum: true, // makes string and boolean types that can be undefined appear as inputs and switches shouldRemoveUndefinedFromOptional: true, // Filter out third-party props from node_modules except @mui packages propFilter: (prop) => prop.parent ? !/node_modules\/(?!@mui)/.test(prop.parent.fileName) : true, }, }, }; export default config;