diff --git a/addons/docs/src/frameworks/react/extractArgTypes.ts b/addons/docs/src/frameworks/react/extractArgTypes.ts index 6af5403fd8e6..fa35147a79ad 100644 --- a/addons/docs/src/frameworks/react/extractArgTypes.ts +++ b/addons/docs/src/frameworks/react/extractArgTypes.ts @@ -1,26 +1,30 @@ import { PropDef, PropsTableRowsProps } from '@storybook/components'; import { ArgTypes } from '@storybook/api'; import { ArgTypesExtractor } from '../../lib/docgen'; -import { trimQuotes } from '../../lib/sbtypes/utils'; import { extractProps } from './extractProps'; -const trim = (val: any) => (val && typeof val === 'string' ? trimQuotes(val) : val); - export const extractArgTypes: ArgTypesExtractor = (component) => { if (component) { const props = extractProps(component); const { rows } = props as PropsTableRowsProps; if (rows) { return rows.reduce((acc: ArgTypes, row: PropDef) => { - const { type, sbType, defaultValue, jsDocTags, required } = row; + const { type, sbType, defaultValue: defaultSummary, jsDocTags, required } = row; + let defaultValue = defaultSummary && (defaultSummary.detail || defaultSummary.summary); + try { + // eslint-disable-next-line no-eval + defaultValue = eval(defaultValue); + // eslint-disable-next-line no-empty + } catch {} + acc[row.name] = { ...row, - defaultValue: defaultValue && trim(defaultValue.detail || defaultValue.summary), + defaultValue, type: { required, ...sbType }, table: { type, jsDocTags, - defaultValue, + defaultValue: defaultSummary, }, }; return acc; diff --git a/examples/official-storybook/main.js b/examples/official-storybook/main.js index 71770c99b4cc..6eea9d783a01 100644 --- a/examples/official-storybook/main.js +++ b/examples/official-storybook/main.js @@ -3,7 +3,7 @@ module.exports = { // FIXME: Breaks e2e tests './intro.stories.mdx', '../../lib/ui/src/**/*.stories.(js|tsx|mdx)', '../../lib/components/src/**/*.stories.(js|tsx|mdx)', - './stories/**/*.stories.(js|tsx|mdx)', + './stories/**/*.stories.(js|ts|tsx|mdx)', './../../addons/docs/**/*.stories.tsx', ], addons: [