storybook-solidjs-vite 10.5.0 → 10.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +34 -45
  2. package/dist/{chunk-XA62EQZW.js → chunk-LWHXIEWO.js} +3 -3
  3. package/dist/chunk-LWHXIEWO.js.map +1 -0
  4. package/dist/{chunk-OHDHM5OZ.js → chunk-XCNVCO2S.js} +7 -6
  5. package/dist/chunk-XCNVCO2S.js.map +1 -0
  6. package/dist/framework/preset.js +9 -9
  7. package/dist/framework/preset.js.map +1 -1
  8. package/dist/index.js +5 -7
  9. package/dist/index.js.map +1 -1
  10. package/dist/renderer/docs.d.ts +4 -4
  11. package/dist/renderer/docs.js +1 -1
  12. package/dist/renderer/{solid.d.ts → solid-legacy.d.ts} +2 -1
  13. package/dist/renderer/{solid.js → solid-legacy.js} +13 -4
  14. package/dist/renderer/solid-legacy.js.map +1 -0
  15. package/dist/renderer/solid-next.d.ts +2 -1
  16. package/dist/renderer/solid-next.js +11 -2
  17. package/dist/renderer/solid-next.js.map +1 -1
  18. package/dist/renderer.js +4 -11
  19. package/dist/renderer.js.map +1 -1
  20. package/package.json +7 -15
  21. package/src/framework/preset.ts +8 -8
  22. package/src/index.ts +2 -3
  23. package/src/internal/solidVersion.ts +2 -2
  24. package/src/node.ts +1 -1
  25. package/src/preview/define-preview.ts +2 -13
  26. package/src/renderer/docs.ts +74 -9
  27. package/src/renderer/index.ts +4 -16
  28. package/src/renderer/{solid.ts → solid-legacy.ts} +13 -1
  29. package/src/renderer/solid-next.ts +12 -0
  30. package/dist/chunk-OHDHM5OZ.js.map +0 -1
  31. package/dist/chunk-UQOUKQDU.js +0 -24
  32. package/dist/chunk-UQOUKQDU.js.map +0 -1
  33. package/dist/chunk-XA62EQZW.js.map +0 -1
  34. package/dist/renderer/argtypes.d.ts +0 -14
  35. package/dist/renderer/argtypes.js +0 -4
  36. package/dist/renderer/argtypes.js.map +0 -1
  37. package/dist/renderer/solid.js.map +0 -1
  38. package/src/renderer/argtypes.ts +0 -85
  39. package/template/cli-v2/js/Button.jsx +0 -29
  40. package/template/cli-v2/js/Button.stories.js +0 -52
  41. package/template/cli-v2/js/Header.jsx +0 -54
  42. package/template/cli-v2/js/Header.stories.js +0 -32
  43. package/template/cli-v2/js/Page.jsx +0 -76
  44. package/template/cli-v2/js/Page.stories.js +0 -33
  45. package/template/cli-v2/ts/Button.stories.ts +0 -55
  46. package/template/cli-v2/ts/Button.tsx +0 -37
  47. package/template/cli-v2/ts/Header.stories.ts +0 -35
  48. package/template/cli-v2/ts/Header.tsx +0 -63
  49. package/template/cli-v2/ts/Page.stories.ts +0 -36
  50. package/template/cli-v2/ts/Page.tsx +0 -77
package/README.md CHANGED
@@ -13,14 +13,14 @@
13
13
 
14
14
  ## ✨ Features
15
15
 
16
- - [Solid 1](#solid-1) and [Solid 2](#solid-2) support
16
+ - SolidJS and SolidJS 2 support
17
17
  - [Vite-powered builder](https://storybook.js.org/docs/builders/vite)
18
18
  - [TypeScript-first setup](https://storybook.js.org/docs/configure/integration/typescript)
19
19
  - Automatic props in [Controls and Docs](#docgen)
20
- - [Autodocs code snippets](#autodocs-code-snippets) — static JSX **Show code** blocks from story source (CSF Next + CSF3, enabled by default)
20
+ - [Autodocs code snippets](#autodocs-code-snippets) — static JSX **Show code** blocks from story source (enabled by default)
21
21
  - [Components manifest](https://storybook.js.org/docs/ai/manifests) for AI agents ([debugger](#components-manifest-debugger))
22
22
  - [Storybook MCP](https://storybook.js.org/docs/ai/mcp/overview) support ([setup](#storybook-mcp))
23
- - [CSF Next](https://storybook.js.org/docs/api/csf/csf-next) factory API ([setup](#csf-next), optional)
23
+ - [CSF Next](https://storybook.js.org/docs/api/csf/csf-next) support ([setup](#csf-next))
24
24
  - [Integrated testing](https://storybook.js.org/docs/writing-tests) (Vitest, Playwright)
25
25
  - [Compatible with Storybook addons](https://storybook.js.org/docs/addons)
26
26
 
@@ -37,49 +37,11 @@ Open the URL shown in the terminal.
37
37
 
38
38
  ## ⚙️ Configuration
39
39
 
40
- Customize Vite and Storybook as usual. Add stories in `src/**/*.stories.{tsx,js}` and install addons as needed.
41
-
42
- ### Solid 1
43
-
44
- Import from `storybook-solidjs-vite` in config, preview, and stories:
45
-
46
- ```ts
47
- // .storybook/main.ts
48
- import type { StorybookConfig } from 'storybook-solidjs-vite';
49
-
50
- const config: StorybookConfig = {
51
- framework: 'storybook-solidjs-vite',
52
- };
53
-
54
- export default config;
55
- ```
56
-
57
- ```ts
58
- // .storybook/preview.tsx & stories
59
- import type { Preview, Meta, StoryObj } from 'storybook-solidjs-vite';
60
- ```
61
-
62
- ### Solid 2
63
-
64
- Use `storybook-solidjs-vite/next` in preview and stories:
65
-
66
- ```ts
67
- import type { Preview, Meta, StoryObj } from 'storybook-solidjs-vite/next';
68
- ```
69
-
70
- Imports without `/next` may still run, but TypeScript can complain.
71
-
72
- In `main.ts`, either framework name works: `storybook-solidjs-vite` reads the major version from `solid-js`; `storybook-solidjs-vite/next` forces Solid 2.
73
-
74
- ```ts
75
- framework: 'storybook-solidjs-vite' // Solid auto-detect
76
- framework: 'storybook-solidjs-vite/next' // Solid 2 only
77
- ```
40
+ Customize Vite and Storybook as usual. Add stories in `src/**/*.stories.{tsx,js}` and install addons
41
+ as needed.
78
42
 
79
43
  ### CSF Next
80
44
 
81
- [CSF Next](https://storybook.js.org/docs/api/csf/csf-next) works on Solid 1 and Solid 2.
82
-
83
45
  ```ts
84
46
  // .storybook/main.ts
85
47
  import { defineMain } from 'storybook-solidjs-vite';
@@ -93,8 +55,6 @@ export default defineMain({
93
55
  // .storybook/preview.tsx
94
56
  import addonDocs from '@storybook/addon-docs';
95
57
  import { definePreview } from 'storybook-solidjs-vite';
96
- // for Solid 2, use:
97
- // import { definePreview } from 'storybook-solidjs-vite/next';
98
58
 
99
59
  export default definePreview({
100
60
  addons: [addonDocs()],
@@ -115,6 +75,35 @@ export const Primary = meta.story({
115
75
  });
116
76
  ```
117
77
 
78
+ ### CSF 3
79
+
80
+ ```ts
81
+ // .storybook/main.ts
82
+ import type { StorybookConfig } from 'storybook-solidjs-vite';
83
+
84
+ export default {
85
+ framework: 'storybook-solidjs-vite',
86
+ } satisfies StorybookConfig;
87
+ ```
88
+
89
+ ```ts
90
+ // src/Button.stories.ts
91
+ import type { Meta, StoryObj } from 'storybook-solidjs-vite';
92
+
93
+ import { Button } from './Button';
94
+
95
+ const meta = {
96
+ component: Button,
97
+ } satisfies Meta<typeof Button>;
98
+
99
+ export default meta;
100
+ type Story = StoryObj<typeof meta>;
101
+
102
+ export const Primary: Story = {
103
+ args: { label: 'Button' },
104
+ };
105
+ ```
106
+
118
107
  ### Docgen
119
108
 
120
109
  Props for **Controls**, **Docs**, and the **components manifest** come from a TypeScript LanguageService extractor aligned with Storybook's `react-component-meta` format.
@@ -26,9 +26,9 @@ function resolveSolidVersion(framework, configDir) {
26
26
  return detectInstalledSolidVersion(configDir);
27
27
  }
28
28
  function resolveSolidRendererEntry(solidVersion) {
29
- return solidVersion === 2 ? "storybook-solidjs-vite/renderer/solid-next" : "storybook-solidjs-vite/renderer/solid";
29
+ return solidVersion === 2 ? "storybook-solidjs-vite/renderer/solid-next" : "storybook-solidjs-vite/renderer/solid-legacy";
30
30
  }
31
31
 
32
32
  export { resolveSolidRendererEntry, resolveSolidVersion };
33
- //# sourceMappingURL=chunk-XA62EQZW.js.map
34
- //# sourceMappingURL=chunk-XA62EQZW.js.map
33
+ //# sourceMappingURL=chunk-LWHXIEWO.js.map
34
+ //# sourceMappingURL=chunk-LWHXIEWO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/solidVersion.ts"],"names":[],"mappings":";;;;;;AASA,SAAS,iBAAiB,SAAA,EAA8C;AACpE,EAAA,OAAO,OAAO,SAAA,KAAc,QAAA,GAAW,SAAA,GAAY,SAAA,CAAU,IAAA;AACjE;AAEO,SAAS,4BAA4B,SAAA,EAAiC;AACzE,EAAA,MAAM,cAAA,GAAiB,aAAA,CAAc,IAAA,CAAK,SAAA,EAAW,cAAc,CAAC,CAAA;AAEpE,EAAA,IAAI,OAAA;AAEJ,EAAA,IAAI;AACA,IAAA,OAAA,GAAU,cAAA,CAAe,QAAQ,uBAAuB,CAAA;AAAA,EAC5D,CAAA,CAAA,MACM;AACF,IAAA,MAAM,IAAI,MAAM,8DAA8D,CAAA;AAAA,EAClF;AAEA,EAAA,MAAM,EAAE,SAAQ,GAAI,IAAA,CAAK,MAAM,YAAA,CAAa,OAAA,EAAS,MAAM,CAAC,CAAA;AAE5D,EAAA,OAAO,MAAA,CAAO,KAAA,CAAM,OAAA,IAAW,OAAO,CAAA;AAC1C;AAQO,SAAS,mBAAA,CACZ,WACA,SAAA,EACY;AACZ,EAAA,MAAM,IAAA,GAAO,iBAAiB,SAAS,CAAA;AAEvC,EAAA,IAAI,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA,EAAG;AACxB,IAAA,OAAO,CAAA;AAAA,EACX;AAEA,EAAA,OAAO,4BAA4B,SAAS,CAAA;AAChD;AAEO,SAAS,0BAA0B,YAAA,EAAoC;AAC1E,EAAA,OAAO,YAAA,KAAiB,IAClB,4CAAA,GACA,8CAAA;AACV","file":"chunk-LWHXIEWO.js","sourcesContent":["import { readFileSync } from 'node:fs';\nimport { createRequire } from 'node:module';\nimport { join } from 'node:path';\nimport semver from 'semver';\n\nexport type SolidVersion = 1 | 2;\n\nexport type SolidRendererId = 'solid' | 'solid-next';\n\nfunction getFrameworkName(framework: string | { name: string }): string {\n return typeof framework === 'string' ? framework : framework.name;\n}\n\nexport function detectInstalledSolidVersion(configDir: string): SolidVersion {\n const projectRequire = createRequire(join(configDir, 'package.json'));\n\n let pkgPath: string;\n\n try {\n pkgPath = projectRequire.resolve('solid-js/package.json');\n }\n catch {\n throw new Error('Could not detect Solid version: `solid-js` is not installed.');\n }\n\n const { version } = JSON.parse(readFileSync(pkgPath, 'utf8')) as { version?: string };\n\n return semver.major(version ?? '1.9.0') as SolidVersion;\n}\n\n/**\n * Resolves the Solid major version for the Storybook renderer.\n *\n * - `storybook-solidjs-vite/next` → Solid 2\n * - `storybook-solidjs-vite` → detected from installed `solid-js`\n */\nexport function resolveSolidVersion(\n framework: string | { name: string },\n configDir: string\n): SolidVersion {\n const name = getFrameworkName(framework);\n\n if (name.endsWith('/next')) {\n return 2;\n }\n\n return detectInstalledSolidVersion(configDir);\n}\n\nexport function resolveSolidRendererEntry(solidVersion: SolidVersion): string {\n return solidVersion === 2\n ? 'storybook-solidjs-vite/renderer/solid-next'\n : 'storybook-solidjs-vite/renderer/solid-legacy';\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  import { __export } from './chunk-PZ5AY32C.js';
2
2
  import { extractComponentDescription, enhanceArgTypes, hasDocgen, extractComponentProps } from 'storybook/internal/docs-tools';
3
3
 
4
- // src/renderer/argtypes.ts
5
- var argtypes_exports = {};
6
- __export(argtypes_exports, {
4
+ // src/renderer/docs.ts
5
+ var docs_exports = {};
6
+ __export(docs_exports, {
7
7
  argTypesEnhancers: () => argTypesEnhancers,
8
8
  parameters: () => parameters
9
9
  });
@@ -58,12 +58,13 @@ var extractArgTypes = (component) => {
58
58
  };
59
59
  var parameters = {
60
60
  docs: {
61
+ story: { inline: true },
61
62
  extractArgTypes,
62
63
  extractComponentDescription
63
64
  }
64
65
  };
65
66
  var argTypesEnhancers = [enhanceArgTypes];
66
67
 
67
- export { argTypesEnhancers, argtypes_exports, parameters };
68
- //# sourceMappingURL=chunk-OHDHM5OZ.js.map
69
- //# sourceMappingURL=chunk-OHDHM5OZ.js.map
68
+ export { argTypesEnhancers, docs_exports, parameters };
69
+ //# sourceMappingURL=chunk-XCNVCO2S.js.map
70
+ //# sourceMappingURL=chunk-XCNVCO2S.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/renderer/docs.ts"],"names":[],"mappings":";;;;AAAA,IAAA,YAAA,GAAA;AAAA,QAAA,CAAA,YAAA,EAAA;AAAA,EAAA,iBAAA,EAAA,MAAA,iBAAA;AAAA,EAAA,UAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAcA,SAAS,mBAAmB,GAAA,EAA+B;AACvD,EAAA,MAAM;AAAA,IACF,IAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,YAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACJ,GAAI,GAAA;AAEJ,EAAA,MAAM,MAAA,GAA0B;AAAA,IAC5B,IAAA;AAAA,IACA,IAAA,EAAM,EAAE,QAAA,EAAU,GAAG,MAAA,EAAO;AAAA,IAC5B,KAAA,EAAO;AAAA,MACH;AAAA;AACJ,GACJ;AAEA,EAAA,IAAI,eAAe,IAAA,EAAM;AACrB,IAAA,MAAA,CAAO,WAAA,GAAc,WAAA;AAAA,EACzB;AAEA,EAAA,IAAI,QAAQ,IAAA,EAAM;AACd,IAAA,MAAA,CAAO,MAAO,IAAA,GAAO,IAAA;AAAA,EACzB;AAEA,EAAA,IAAI,gBAAgB,IAAA,EAAM;AACtB,IAAA,MAAA,CAAO,MAAO,YAAA,GAAe,YAAA;AAAA,EACjC;AAEA,EAAA,OAAO,MAAA;AACX;AAGA,IAAM,eAAA,GAAqC,CAAC,SAAA,KAAqC;AAC7E,EAAA,IAAI,CAAC,SAAA,EAAW;AACZ,IAAA,OAAO,IAAA;AAAA,EACX;AAEA,EAAA,IAAI;AACA,IAAA,IAAI,kBAAA,GAAgC,SAAA;AAEpC,IAAA,IAAI,CAAC,SAAA,CAAU,SAAS,CAAA,IAAK,SAAA,CAAU,QAAQ,IAAA,EAAM;AACjD,MAAA,kBAAA,GAAqB,SAAA,CAAU,IAAA;AAAA,IACnC;AAEA,IAAA,MAAM,cAAA,GAAiB,qBAAA,CAAsB,kBAAA,EAAoB,OAAO,CAAA;AAExE,IAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,cAAc,CAAA,IAAK,cAAA,CAAe,WAAW,CAAA,EAAG;AAC/D,MAAA,OAAO,IAAA;AAAA,IACX;AAEA,IAAA,OAAO,eAAe,MAAA,CAAO,CAAC,GAAA,EAAqB,EAAE,SAAQ,KAAM;AAC/D,MAAA,GAAA,CAAI,OAAA,CAAQ,IAAI,CAAA,GAAI,kBAAA,CAAmB,OAAO,CAAA;AAE9C,MAAA,OAAO,GAAA;AAAA,IACX,CAAA,EAAG,EAAE,CAAA;AAAA,EACT,CAAA,CAAA,MACM;AACF,IAAA,OAAO,IAAA;AAAA,EACX;AACJ,CAAA;AAEO,IAAM,UAAA,GAAa;AAAA,EACtB,IAAA,EAAM;AAAA,IACF,KAAA,EAAO,EAAE,MAAA,EAAQ,IAAA,EAAK;AAAA,IACtB,eAAA;AAAA,IACA;AAAA;AAER;AAEO,IAAM,iBAAA,GAAuD,CAAC,eAAe","file":"chunk-XCNVCO2S.js","sourcesContent":["import {\n enhanceArgTypes,\n extractComponentDescription,\n extractComponentProps,\n hasDocgen,\n type ArgTypesExtractor,\n type Component,\n type PropDef,\n} from 'storybook/internal/docs-tools';\n\nimport type { ArgTypesEnhancer, StrictArgTypes, StrictInputType } from 'storybook/internal/types';\nimport type { SolidRenderer } from '../preview/public-api';\n\n/** Docgen, Controls, Autodocs, and doc-mode (`storybook dev --docs`) preview annotations. */\nfunction propDefToInputType(row: PropDef): StrictInputType {\n const {\n name,\n description,\n type,\n sbType,\n defaultValue,\n jsDocTags,\n required,\n } = row;\n\n const result: StrictInputType = {\n name,\n type: { required, ...sbType },\n table: {\n jsDocTags,\n },\n };\n\n if (description != null) {\n result.description = description;\n }\n\n if (type != null) {\n result.table!.type = type;\n }\n\n if (defaultValue != null) {\n result.table!.defaultValue = defaultValue;\n }\n\n return result;\n}\n\n/** Reads `__docgenInfo` injected at build time by solid-component-meta. */\nconst extractArgTypes: ArgTypesExtractor = (component): StrictArgTypes | null => {\n if (!component) {\n return null;\n }\n\n try {\n let processedComponent: Component = component;\n\n if (!hasDocgen(component) && component.type != null) {\n processedComponent = component.type;\n }\n\n const extractedProps = extractComponentProps(processedComponent, 'props');\n\n if (!Array.isArray(extractedProps) || extractedProps.length === 0) {\n return null;\n }\n\n return extractedProps.reduce((acc: StrictArgTypes, { propDef }) => {\n acc[propDef.name] = propDefToInputType(propDef);\n\n return acc;\n }, {});\n }\n catch {\n return null;\n }\n};\n\nexport const parameters = {\n docs: {\n story: { inline: true },\n extractArgTypes,\n extractComponentDescription,\n },\n};\n\nexport const argTypesEnhancers: ArgTypesEnhancer<SolidRenderer>[] = [enhanceArgTypes];\n"]}
@@ -1,5 +1,5 @@
1
1
  import { solidComponentDocToDocgenInfo } from '../chunk-LKTA6WTO.js';
2
- import { resolveSolidVersion, resolveSolidRendererEntry } from '../chunk-XA62EQZW.js';
2
+ import { resolveSolidVersion, resolveSolidRendererEntry } from '../chunk-LWHXIEWO.js';
3
3
  import { getOrCreateSolidComponentMetaManager } from '../chunk-TKOWB3JL.js';
4
4
  import '../chunk-PZ5AY32C.js';
5
5
  import { hasVitePlugins } from '@storybook/builder-vite';
@@ -50,7 +50,7 @@ ${injections}
50
50
  }
51
51
 
52
52
  // src/framework/preset.ts
53
- var SOLID_RENDERER_IMPORT = "storybook-solidjs-vite/renderer/solid";
53
+ var SOLID_LEGACY_RENDERER_IMPORT = "storybook-solidjs-vite/renderer/solid-legacy";
54
54
  var SOLID_DEDUPE_PACKAGES = [
55
55
  "solid-js",
56
56
  "@solidjs/web",
@@ -76,16 +76,16 @@ var viteFinal = async (config, { presets, configDir }) => {
76
76
  const framework = await presets.apply("framework");
77
77
  const frameworkOptions = typeof framework === "string" ? {} : framework.options ?? {};
78
78
  const solidVersion = resolveSolidVersion(framework, configDir);
79
- const solidEntry = fileURLToPath(
80
- import.meta.resolve("storybook-solidjs-vite/renderer/solid")
79
+ const solidLegacyEntry = fileURLToPath(
80
+ import.meta.resolve(SOLID_LEGACY_RENDERER_IMPORT)
81
81
  );
82
82
  const solidRendererEntry = fileURLToPath(
83
83
  import.meta.resolve(resolveSolidRendererEntry(solidVersion))
84
84
  );
85
- const aliasApplied = solidEntry !== solidRendererEntry;
85
+ const aliasApplied = solidLegacyEntry !== solidRendererEntry;
86
86
  const rendererAlias = aliasApplied ? [
87
- { find: SOLID_RENDERER_IMPORT, replacement: solidRendererEntry },
88
- { find: solidEntry, replacement: solidRendererEntry }
87
+ { find: SOLID_LEGACY_RENDERER_IMPORT, replacement: solidRendererEntry },
88
+ { find: solidLegacyEntry, replacement: solidRendererEntry }
89
89
  ] : [];
90
90
  if (frameworkOptions.docgen !== false) {
91
91
  plugins.push(
@@ -112,8 +112,8 @@ var viteFinal = async (config, { presets, configDir }) => {
112
112
  alias: Array.isArray(config.resolve?.alias) ? [...config.resolve.alias, ...rendererAlias] : {
113
113
  ...config.resolve?.alias,
114
114
  ...aliasApplied ? {
115
- [SOLID_RENDERER_IMPORT]: solidRendererEntry,
116
- [solidEntry]: solidRendererEntry
115
+ [SOLID_LEGACY_RENDERER_IMPORT]: solidRendererEntry,
116
+ [solidLegacyEntry]: solidRendererEntry
117
117
  } : {}
118
118
  },
119
119
  dedupe: mergeSolidDedupe(config.resolve?.dedupe)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/internal/componentManifest/solidComponentMetaPlugin.ts","../../src/framework/preset.ts"],"names":[],"mappings":"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","file":"preset.js","sourcesContent":["import { resolve } from 'node:path';\n\nimport { getOrCreateSolidComponentMetaManager } from './solidComponentMeta/SolidComponentMetaManager';\nimport { solidComponentDocToDocgenInfo } from './toDocgenInfo';\n\nimport type { Plugin } from 'vite';\n\nconst COMPONENT_FILE_PATTERN = /\\.(tsx|jsx)$/;\nconst STORIES_FILE_PATTERN = /\\.stories\\.(tsx|jsx|ts|js)$/;\n\nexport function solidComponentMetaPlugin(options?: { enabled?: boolean }): Plugin {\n const enabled = options?.enabled !== false;\n\n return {\n name: 'storybook:solid-component-meta',\n enforce: 'pre',\n\n configureServer() {\n void getOrCreateSolidComponentMetaManager(true);\n },\n\n async transform(code, id) {\n if (!enabled) {\n return null;\n }\n\n const filePath = resolve(id.split('?')[0] ?? id);\n\n if (!COMPONENT_FILE_PATTERN.test(filePath) || STORIES_FILE_PATTERN.test(filePath)) {\n return null;\n }\n\n const manager = await getOrCreateSolidComponentMetaManager(true);\n\n if (!manager) {\n return null;\n }\n\n const docs = manager.extractAllExportsFromFile(filePath);\n\n if (docs.length === 0) {\n return null;\n }\n\n const injections = docs\n .map((doc) => {\n const useDisplayName = doc.exportName === 'default'\n && doc.displayName\n && /^[$A-Z_][\\w$]*$/i.test(doc.displayName);\n const target = useDisplayName ? doc.displayName! : doc.exportName;\n const info = JSON.stringify(solidComponentDocToDocgenInfo(doc));\n\n return `${ target }.__docgenInfo = ${ info };`;\n })\n .join('\\n');\n\n if (!injections) {\n return null;\n }\n\n return {\n code: `${ code }\\n\\n${ injections }\\n`,\n map: null,\n };\n },\n };\n}\n","import { hasVitePlugins } from '@storybook/builder-vite';\n/**\n * A preset is a configuration that enables developers to quickly set up and\n * customize their environment with a specific set of features, functionalities, or integrations.\n *\n * @see https://storybook.js.org/docs/addons/writing-presets\n * @see https://storybook.js.org/docs/api/main-config/main-config\n */\nimport { fileURLToPath } from 'node:url';\nimport { mergeConfig } from 'vite';\n\nimport { solidComponentMetaPlugin } from '../internal/componentManifest/solidComponentMetaPlugin';\nimport {\n resolveSolidRendererEntry,\n resolveSolidVersion,\n} from '../internal/solidVersion';\n\nimport type { PresetProperty } from 'storybook/internal/types';\nimport type { FrameworkOptions, StorybookConfig } from './public-api';\n\nconst SOLID_RENDERER_IMPORT = 'storybook-solidjs-vite/renderer/solid';\n\n/** Force a single copy of Solid packages (renderer + app + linked deps). */\nconst SOLID_DEDUPE_PACKAGES = [\n 'solid-js',\n '@solidjs/web',\n '@solidjs/signals',\n '@solidjs/router',\n '@solidjs/meta',\n] as const;\n\nfunction mergeSolidDedupe(existing?: string | readonly string[]): string[] {\n const base = Array.isArray(existing) ? existing : [];\n\n return [...new Set([...base, ...SOLID_DEDUPE_PACKAGES])];\n}\n\n/**\n * Configures Storybook's internal features.\n *\n * @see https://storybook.js.org/docs/api/main-config/main-config-core\n */\nexport const core: PresetProperty<'core', StorybookConfig> = {\n builder: import.meta.resolve('@storybook/builder-vite'),\n renderer: import.meta.resolve('storybook-solidjs-vite/renderer'),\n};\n\n/**\n * Enable the components manifest debugger by default.\n *\n * @see https://storybook.js.org/docs/api/main-config/main-config-features#componentsmanifest\n */\nexport const features: PresetProperty<'features', StorybookConfig> = {\n componentsManifest: true,\n experimentalCodeExamples: true,\n};\n\n/**\n * Customize Storybook's Vite setup when using the Vite builder.\n *\n * @see https://storybook.js.org/docs/api/main-config/main-config-vite-final\n */\nexport const viteFinal: StorybookConfig['viteFinal'] = async(config, { presets, configDir }) => {\n const existPlugins = [...(config?.plugins ?? [])];\n const plugins = [];\n\n const framework = await presets.apply('framework');\n const frameworkOptions: FrameworkOptions = (typeof framework === 'string') ? {} : (framework.options ?? {});\n const solidVersion = resolveSolidVersion(framework, configDir);\n const solidEntry = fileURLToPath(\n import.meta.resolve('storybook-solidjs-vite/renderer/solid')\n );\n const solidRendererEntry = fileURLToPath(\n import.meta.resolve(resolveSolidRendererEntry(solidVersion))\n );\n const aliasApplied = solidEntry !== solidRendererEntry;\n const rendererAlias = aliasApplied\n ? [\n { find: SOLID_RENDERER_IMPORT, replacement: solidRendererEntry },\n { find: solidEntry, replacement: solidRendererEntry },\n ]\n : [];\n\n if (frameworkOptions.docgen !== false) {\n plugins.push(\n solidComponentMetaPlugin({ enabled: true })\n );\n }\n\n if (!(await hasVitePlugins(existPlugins, ['solid']))) {\n plugins.push(\n await import('vite-plugin-solid').then(module => module.default())\n );\n }\n\n const optimizeDeps = {\n ...config.optimizeDeps,\n exclude: [\n ...(config.optimizeDeps?.exclude ?? []),\n 'storybook-solidjs-vite',\n ],\n };\n\n return mergeConfig(config, {\n plugins,\n optimizeDeps,\n resolve: {\n ...config.resolve,\n alias: Array.isArray(config.resolve?.alias)\n ? [...config.resolve.alias, ...rendererAlias]\n : {\n ...config.resolve?.alias,\n ...(aliasApplied\n ? {\n [SOLID_RENDERER_IMPORT]: solidRendererEntry,\n [solidEntry]: solidRendererEntry,\n }\n : {}),\n },\n dedupe: mergeSolidDedupe(config.resolve?.dedupe),\n },\n });\n};\n"]}
1
+ {"version":3,"sources":["../../src/internal/componentManifest/solidComponentMetaPlugin.ts","../../src/framework/preset.ts"],"names":[],"mappings":"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","file":"preset.js","sourcesContent":["import { resolve } from 'node:path';\n\nimport { getOrCreateSolidComponentMetaManager } from './solidComponentMeta/SolidComponentMetaManager';\nimport { solidComponentDocToDocgenInfo } from './toDocgenInfo';\n\nimport type { Plugin } from 'vite';\n\nconst COMPONENT_FILE_PATTERN = /\\.(tsx|jsx)$/;\nconst STORIES_FILE_PATTERN = /\\.stories\\.(tsx|jsx|ts|js)$/;\n\nexport function solidComponentMetaPlugin(options?: { enabled?: boolean }): Plugin {\n const enabled = options?.enabled !== false;\n\n return {\n name: 'storybook:solid-component-meta',\n enforce: 'pre',\n\n configureServer() {\n void getOrCreateSolidComponentMetaManager(true);\n },\n\n async transform(code, id) {\n if (!enabled) {\n return null;\n }\n\n const filePath = resolve(id.split('?')[0] ?? id);\n\n if (!COMPONENT_FILE_PATTERN.test(filePath) || STORIES_FILE_PATTERN.test(filePath)) {\n return null;\n }\n\n const manager = await getOrCreateSolidComponentMetaManager(true);\n\n if (!manager) {\n return null;\n }\n\n const docs = manager.extractAllExportsFromFile(filePath);\n\n if (docs.length === 0) {\n return null;\n }\n\n const injections = docs\n .map((doc) => {\n const useDisplayName = doc.exportName === 'default'\n && doc.displayName\n && /^[$A-Z_][\\w$]*$/i.test(doc.displayName);\n const target = useDisplayName ? doc.displayName! : doc.exportName;\n const info = JSON.stringify(solidComponentDocToDocgenInfo(doc));\n\n return `${ target }.__docgenInfo = ${ info };`;\n })\n .join('\\n');\n\n if (!injections) {\n return null;\n }\n\n return {\n code: `${ code }\\n\\n${ injections }\\n`,\n map: null,\n };\n },\n };\n}\n","import { hasVitePlugins } from '@storybook/builder-vite';\n/**\n * A preset is a configuration that enables developers to quickly set up and\n * customize their environment with a specific set of features, functionalities, or integrations.\n *\n * @see https://storybook.js.org/docs/addons/writing-presets\n * @see https://storybook.js.org/docs/api/main-config/main-config\n */\nimport { fileURLToPath } from 'node:url';\nimport { mergeConfig } from 'vite';\n\nimport { solidComponentMetaPlugin } from '../internal/componentManifest/solidComponentMetaPlugin';\nimport {\n resolveSolidRendererEntry,\n resolveSolidVersion,\n} from '../internal/solidVersion';\n\nimport type { PresetProperty } from 'storybook/internal/types';\nimport type { FrameworkOptions, StorybookConfig } from './public-api';\n\nconst SOLID_LEGACY_RENDERER_IMPORT = 'storybook-solidjs-vite/renderer/solid-legacy';\n\n/** Force a single copy of Solid packages (renderer + app + linked deps). */\nconst SOLID_DEDUPE_PACKAGES = [\n 'solid-js',\n '@solidjs/web',\n '@solidjs/signals',\n '@solidjs/router',\n '@solidjs/meta',\n] as const;\n\nfunction mergeSolidDedupe(existing?: string | readonly string[]): string[] {\n const base = Array.isArray(existing) ? existing : [];\n\n return [...new Set([...base, ...SOLID_DEDUPE_PACKAGES])];\n}\n\n/**\n * Configures Storybook's internal features.\n *\n * @see https://storybook.js.org/docs/api/main-config/main-config-core\n */\nexport const core: PresetProperty<'core', StorybookConfig> = {\n builder: import.meta.resolve('@storybook/builder-vite'),\n renderer: import.meta.resolve('storybook-solidjs-vite/renderer'),\n};\n\n/**\n * Enable the components manifest debugger by default.\n *\n * @see https://storybook.js.org/docs/api/main-config/main-config-features#componentsmanifest\n */\nexport const features: PresetProperty<'features', StorybookConfig> = {\n componentsManifest: true,\n experimentalCodeExamples: true,\n};\n\n/**\n * Customize Storybook's Vite setup when using the Vite builder.\n *\n * @see https://storybook.js.org/docs/api/main-config/main-config-vite-final\n */\nexport const viteFinal: StorybookConfig['viteFinal'] = async(config, { presets, configDir }) => {\n const existPlugins = [...(config?.plugins ?? [])];\n const plugins = [];\n\n const framework = await presets.apply('framework');\n const frameworkOptions: FrameworkOptions = (typeof framework === 'string') ? {} : (framework.options ?? {});\n const solidVersion = resolveSolidVersion(framework, configDir);\n const solidLegacyEntry = fileURLToPath(\n import.meta.resolve(SOLID_LEGACY_RENDERER_IMPORT)\n );\n const solidRendererEntry = fileURLToPath(\n import.meta.resolve(resolveSolidRendererEntry(solidVersion))\n );\n const aliasApplied = solidLegacyEntry !== solidRendererEntry;\n const rendererAlias = aliasApplied\n ? [\n { find: SOLID_LEGACY_RENDERER_IMPORT, replacement: solidRendererEntry },\n { find: solidLegacyEntry, replacement: solidRendererEntry },\n ]\n : [];\n\n if (frameworkOptions.docgen !== false) {\n plugins.push(\n solidComponentMetaPlugin({ enabled: true })\n );\n }\n\n if (!(await hasVitePlugins(existPlugins, ['solid']))) {\n plugins.push(\n await import('vite-plugin-solid').then(module => module.default())\n );\n }\n\n const optimizeDeps = {\n ...config.optimizeDeps,\n exclude: [\n ...(config.optimizeDeps?.exclude ?? []),\n 'storybook-solidjs-vite',\n ],\n };\n\n return mergeConfig(config, {\n plugins,\n optimizeDeps,\n resolve: {\n ...config.resolve,\n alias: Array.isArray(config.resolve?.alias)\n ? [...config.resolve.alias, ...rendererAlias]\n : {\n ...config.resolve?.alias,\n ...(aliasApplied\n ? {\n [SOLID_LEGACY_RENDERER_IMPORT]: solidRendererEntry,\n [solidLegacyEntry]: solidRendererEntry,\n }\n : {}),\n },\n dedupe: mergeSolidDedupe(config.resolve?.dedupe),\n },\n });\n};\n"]}
package/dist/index.js CHANGED
@@ -1,19 +1,17 @@
1
- import { docs_exports } from './chunk-UQOUKQDU.js';
2
1
  export { defineMain } from './chunk-NK66FCKE.js';
3
2
  export { IS_SOLID_JSX_FLAG, createDecorator, createJSXDecorator } from './chunk-FRWD6B5X.js';
4
- import { argtypes_exports } from './chunk-OHDHM5OZ.js';
3
+ import { docs_exports } from './chunk-XCNVCO2S.js';
5
4
  import './chunk-PZ5AY32C.js';
6
- import * as solidAnnotations from 'storybook-solidjs-vite/renderer/solid';
5
+ import { previewAddon } from 'storybook-solidjs-vite/renderer/solid-legacy';
7
6
  import { definePreview as definePreview$1 } from 'storybook/internal/csf';
8
7
 
9
- function createSolidDefinePreview(solidAnnotations2) {
8
+ function createSolidDefinePreview(solidAnnotations) {
10
9
  return ((input) => {
11
10
  const { addons, ...projectAnnotations } = input;
12
11
  const preview = definePreview$1({
13
12
  ...projectAnnotations,
14
13
  addons: [
15
- solidAnnotations2,
16
- argtypes_exports,
14
+ solidAnnotations,
17
15
  docs_exports,
18
16
  ...addons ?? []
19
17
  ]
@@ -34,7 +32,7 @@ function createSolidDefinePreview(solidAnnotations2) {
34
32
  }
35
33
 
36
34
  // src/index.ts
37
- var definePreview = createSolidDefinePreview(solidAnnotations);
35
+ var definePreview = createSolidDefinePreview(previewAddon);
38
36
 
39
37
  export { definePreview };
40
38
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/preview/define-preview.ts","../src/index.ts"],"names":["solidAnnotations","definePreviewBase"],"mappings":";;;;;;;;AAkHO,SAAS,yBACZA,iBAAAA,EACkB;AAClB,EAAA,QAAQ,CACJ,KAAA,KACC;AACD,IAAA,MAAM,EAAE,MAAA,EAAQ,GAAG,kBAAA,EAAmB,GAAI,KAAA;AAE1C,IAAA,MAAM,UAAUC,eAAA,CAAkB;AAAA,MAC9B,GAAG,kBAAA;AAAA,MACH,MAAA,EAAQ;AAAA,QACJD,iBAAAA;AAAA,QACA,gBAAA;AAAA,QACA,YAAA;AAAA,QACA,GAAI,UAAU;AAAC;AACnB,KACH,CAAA;AAED,IAAA,MAAM,UAAA,GAAa,OAAA,CAAQ,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA;AAE5C,IAAA,OAAA,CAAQ,IAAA,GAAO,CAAC,MAAA,KAAW;AACvB,MAAA,MAAM,IAAA,GAAO,WAAW,MAAM,CAAA;AAC9B,MAAA,MAAM,WAAA,GAAc,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA;AAExC,MAAA,IAAA,CAAK,KAAA,GAAQ,CAAC,OAAA,KAAiB;AAC3B,QAAA,MAAM,KAAA,GAAQ,YAAY,OAAO,CAAA;AAGjC,QAAA,KAAA,CAAM,SAAA,GAAY,MAAM,SAAA,EAAU;AAElC,QAAA,OAAO,KAAA;AAAA,MACX,CAAA;AAEA,MAAA,OAAO,IAAA;AAAA,IACX,CAAA;AAEA,IAAA,OAAO,OAAA;AAAA,EACX,CAAA;AACJ;;;AChJO,IAAM,aAAA,GAAoC,yBAAyB,gBAAgB","file":"index.js","sourcesContent":["import { definePreview as definePreviewBase } from 'storybook/internal/csf';\n\nimport * as solidArgTypesAnnotations from '../renderer/argtypes';\nimport * as solidDocsAnnotations from '../renderer/docs';\n\nimport type { AddonTypes, InferTypes, Meta, Preview, PreviewAddon, Story } from 'storybook/internal/csf';\nimport type {\n Args,\n ArgsStoryFn,\n ComponentAnnotations,\n DecoratorFunction,\n ProjectAnnotations,\n Renderer,\n StoryAnnotations,\n} from 'storybook/internal/types';\nimport type { OmitIndexSignature, SetOptional, Simplify, UnionToIntersection } from 'type-fest';\nimport type { AddMocks, EmptyMetaArgs, SolidComponent, SolidTypes } from './public-api';\n\n/** Extracts and unions all args types from an array of decorators. */\ntype DecoratorsArgs<TRenderer extends Renderer, Decorators> = UnionToIntersection<\n Decorators extends DecoratorFunction<TRenderer, infer TArgs> ? TArgs : unknown\n>;\n\ntype InferArgs<TArgs, T, Decorators> = Simplify<\n TArgs & Simplify<OmitIndexSignature<DecoratorsArgs<SolidTypes & T, Decorators>>>\n>;\n\ntype InferSolidTypes<T, TArgs, Decorators> = SolidTypes & T & {\n args: Simplify<InferArgs<TArgs, T, Decorators>>;\n};\n\nexport type DefinePreviewInput<Addons extends PreviewAddon<never>[] = []> = {\n addons?: Addons;\n} & ProjectAnnotations<SolidTypes & InferTypes<Addons>>;\n\n/** @ts-expect-error We cannot implement the meta faithfully here, but that is okay. */\nexport interface SolidPreview<T extends AddonTypes> extends Preview<SolidTypes & T> {\n type: <R>() => SolidPreview<T & R>;\n\n meta: <\n TArgs extends Args,\n Decorators extends DecoratorFunction<SolidTypes & T, any>,\n TMetaArgs extends Partial<TArgs & T['args']>\n >(\n meta: {\n render?: ArgsStoryFn<SolidTypes & T, TArgs & T['args']>;\n component?: SolidComponent<TArgs>;\n decorators?: Decorators | Decorators[];\n args?: TMetaArgs;\n } & Omit<\n ComponentAnnotations<SolidTypes & T, TArgs>,\n 'decorators' | 'component' | 'args' | 'render'\n >\n ) => SolidMeta<\n InferSolidTypes<T, TArgs, Decorators>,\n Omit<ComponentAnnotations<InferSolidTypes<T, TArgs, Decorators>>, 'args'> & {\n args: Partial<TArgs> extends TMetaArgs ? EmptyMetaArgs : TMetaArgs;\n }\n >;\n}\n\nexport interface SolidMeta<T extends SolidTypes, MetaInput extends ComponentAnnotations<T>>\n /** @ts-expect-error SolidMeta requires two type parameters, but Meta's constraints differ */\n extends Meta<T, MetaInput> {\n story: (<\n TInput extends\n | (() => SolidTypes['storyResult'])\n | (StoryAnnotations<T, T['args']> & {\n render: () => SolidTypes['storyResult'];\n })\n >(\n story: TInput\n ) => SolidStory<T, TInput extends () => SolidTypes['storyResult'] ? { render: TInput } : TInput>) & (<\n TInput extends Simplify<\n StoryAnnotations<\n T,\n AddMocks<T['args'], MetaInput['args']>,\n SetOptional<T['args'], keyof T['args'] & keyof MetaInput['args']>\n >\n >\n >(\n story: TInput\n /** @ts-expect-error hard */\n ) => SolidStory<T, TInput>) & ((\n ..._args: Partial<T['args']> extends SetOptional<\n T['args'],\n keyof T['args'] & keyof MetaInput['args']\n >\n ? []\n : [never]\n ) => SolidStory<T, EmptyMetaArgs>);\n}\n\nexport interface SolidStory<T extends SolidTypes, TInput extends StoryAnnotations<T, T['args']>>\n extends Story<T, TInput> {\n Component: SolidComponent<Partial<T['args']>>;\n}\n\n/**\n * Renderer preview annotations shared by Solid 1 (`renderer/solid`) and Solid 2 (`renderer/solid-next`).\n * The default import in the package entry is aliased at build time; this type is stable either way.\n */\nexport type SolidRendererAnnotations = Pick<\n typeof import('../renderer/solid'),\n 'applyDecorators' | 'beforeAll' | 'mount' | 'parameters' | 'render' | 'renderToCanvas'\n>;\n\n/** Stable `definePreview` type for Solid 1 and Solid 2. */\nexport type SolidDefinePreview = <\n Addons extends PreviewAddon<never>[] = []\n>(\n input: DefinePreviewInput<Addons>\n) => SolidPreview<SolidTypes & InferTypes<Addons>>;\n\nexport function createSolidDefinePreview(\n solidAnnotations: SolidRendererAnnotations\n): SolidDefinePreview {\n return (<Addons extends PreviewAddon<never>[] = []>(\n input: DefinePreviewInput<Addons>\n ) => {\n const { addons, ...projectAnnotations } = input;\n\n const preview = definePreviewBase({\n ...projectAnnotations,\n addons: [\n solidAnnotations as unknown as PreviewAddon<never>,\n solidArgTypesAnnotations,\n solidDocsAnnotations,\n ...(addons ?? []),\n ],\n });\n\n const defineMeta = preview.meta.bind(preview);\n\n preview.meta = (_input) => {\n const meta = defineMeta(_input);\n const defineStory = meta.story.bind(meta);\n\n meta.story = (__input: any) => {\n const story = defineStory(__input);\n\n // @ts-ignore this is a private property used only here\n story.Component = story.__compose();\n\n return story;\n };\n\n return meta;\n };\n\n return preview;\n }) as unknown as SolidDefinePreview;\n}\n","/** Default Solid 1 renderer; kept external in tsup. Storybook `viteFinal` aliases this to `renderer/solid-next` when needed. */\nimport * as solidAnnotations from 'storybook-solidjs-vite/renderer/solid';\n\nimport { createSolidDefinePreview, type SolidDefinePreview } from './preview/define-preview';\n\nexport * from './framework/public-api';\nexport * from './preview/public-api';\n\nexport const definePreview: SolidDefinePreview = createSolidDefinePreview(solidAnnotations);\n"]}
1
+ {"version":3,"sources":["../src/preview/define-preview.ts","../src/index.ts"],"names":["definePreviewBase"],"mappings":";;;;;;;AAwGO,SAAS,yBACZ,gBAAA,EACkB;AAClB,EAAA,QAAQ,CACJ,KAAA,KACC;AACD,IAAA,MAAM,EAAE,MAAA,EAAQ,GAAG,kBAAA,EAAmB,GAAI,KAAA;AAE1C,IAAA,MAAM,UAAUA,eAAA,CAAkB;AAAA,MAC9B,GAAG,kBAAA;AAAA,MACH,MAAA,EAAQ;AAAA,QACJ,gBAAA;AAAA,QACA,YAAA;AAAA,QACA,GAAI,UAAU;AAAC;AACnB,KACH,CAAA;AAED,IAAA,MAAM,UAAA,GAAa,OAAA,CAAQ,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA;AAE5C,IAAA,OAAA,CAAQ,IAAA,GAAO,CAAC,MAAA,KAAW;AACvB,MAAA,MAAM,IAAA,GAAO,WAAW,MAAM,CAAA;AAC9B,MAAA,MAAM,WAAA,GAAc,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA;AAExC,MAAA,IAAA,CAAK,KAAA,GAAQ,CAAC,OAAA,KAAiB;AAC3B,QAAA,MAAM,KAAA,GAAQ,YAAY,OAAO,CAAA;AAGjC,QAAA,KAAA,CAAM,SAAA,GAAY,MAAM,SAAA,EAAU;AAElC,QAAA,OAAO,KAAA;AAAA,MACX,CAAA;AAEA,MAAA,OAAO,IAAA;AAAA,IACX,CAAA;AAEA,IAAA,OAAO,OAAA;AAAA,EACX,CAAA;AACJ;;;ACtIO,IAAM,aAAA,GAAoC,yBAAyB,YAAY","file":"index.js","sourcesContent":["import { definePreview as definePreviewBase } from 'storybook/internal/csf';\n\nimport * as solidDocsAnnotations from '../renderer/docs';\n\nimport type { AddonTypes, InferTypes, Meta, Preview, PreviewAddon, Story } from 'storybook/internal/csf';\nimport type {\n Args,\n ArgsStoryFn,\n ComponentAnnotations,\n DecoratorFunction,\n ProjectAnnotations,\n Renderer,\n StoryAnnotations,\n} from 'storybook/internal/types';\nimport type { OmitIndexSignature, SetOptional, Simplify, UnionToIntersection } from 'type-fest';\nimport type { AddMocks, EmptyMetaArgs, SolidComponent, SolidTypes } from './public-api';\n\n/** Extracts and unions all args types from an array of decorators. */\ntype DecoratorsArgs<TRenderer extends Renderer, Decorators> = UnionToIntersection<\n Decorators extends DecoratorFunction<TRenderer, infer TArgs> ? TArgs : unknown\n>;\n\ntype InferArgs<TArgs, T, Decorators> = Simplify<\n TArgs & Simplify<OmitIndexSignature<DecoratorsArgs<SolidTypes & T, Decorators>>>\n>;\n\ntype InferSolidTypes<T, TArgs, Decorators> = SolidTypes & T & {\n args: Simplify<InferArgs<TArgs, T, Decorators>>;\n};\n\nexport type DefinePreviewInput<Addons extends PreviewAddon<never>[] = []> = {\n addons?: Addons;\n} & ProjectAnnotations<SolidTypes & InferTypes<Addons>>;\n\n/** @ts-expect-error We cannot implement the meta faithfully here, but that is okay. */\nexport interface SolidPreview<T extends AddonTypes> extends Preview<SolidTypes & T> {\n type: <R>() => SolidPreview<T & R>;\n\n meta: <\n TArgs extends Args,\n Decorators extends DecoratorFunction<SolidTypes & T, any>,\n TMetaArgs extends Partial<TArgs & T['args']>\n >(\n meta: {\n render?: ArgsStoryFn<SolidTypes & T, TArgs & T['args']>;\n component?: SolidComponent<TArgs>;\n decorators?: Decorators | Decorators[];\n args?: TMetaArgs;\n } & Omit<\n ComponentAnnotations<SolidTypes & T, TArgs>,\n 'decorators' | 'component' | 'args' | 'render'\n >\n ) => SolidMeta<\n InferSolidTypes<T, TArgs, Decorators>,\n Omit<ComponentAnnotations<InferSolidTypes<T, TArgs, Decorators>>, 'args'> & {\n args: Partial<TArgs> extends TMetaArgs ? EmptyMetaArgs : TMetaArgs;\n }\n >;\n}\n\nexport interface SolidMeta<T extends SolidTypes, MetaInput extends ComponentAnnotations<T>>\n /** @ts-expect-error SolidMeta requires two type parameters, but Meta's constraints differ */\n extends Meta<T, MetaInput> {\n story: (<\n TInput extends\n | (() => SolidTypes['storyResult'])\n | (StoryAnnotations<T, T['args']> & {\n render: () => SolidTypes['storyResult'];\n })\n >(\n story: TInput\n ) => SolidStory<T, TInput extends () => SolidTypes['storyResult'] ? { render: TInput } : TInput>) & (<\n TInput extends Simplify<\n StoryAnnotations<\n T,\n AddMocks<T['args'], MetaInput['args']>,\n SetOptional<T['args'], keyof T['args'] & keyof MetaInput['args']>\n >\n >\n >(\n story: TInput\n /** @ts-expect-error hard */\n ) => SolidStory<T, TInput>) & ((\n ..._args: Partial<T['args']> extends SetOptional<\n T['args'],\n keyof T['args'] & keyof MetaInput['args']\n >\n ? []\n : [never]\n ) => SolidStory<T, EmptyMetaArgs>);\n}\n\nexport interface SolidStory<T extends SolidTypes, TInput extends StoryAnnotations<T, T['args']>>\n extends Story<T, TInput> {\n Component: SolidComponent<Partial<T['args']>>;\n}\n\n/** Stable `definePreview` type for Solid 1 and Solid 2. */\nexport type SolidDefinePreview = <\n Addons extends PreviewAddon<never>[] = []\n>(\n input: DefinePreviewInput<Addons>\n) => SolidPreview<SolidTypes & InferTypes<Addons>>;\n\nexport function createSolidDefinePreview(\n solidAnnotations: PreviewAddon<never>\n): SolidDefinePreview {\n return (<Addons extends PreviewAddon<never>[] = []>(\n input: DefinePreviewInput<Addons>\n ) => {\n const { addons, ...projectAnnotations } = input;\n\n const preview = definePreviewBase({\n ...projectAnnotations,\n addons: [\n solidAnnotations,\n solidDocsAnnotations,\n ...(addons ?? []),\n ],\n });\n\n const defineMeta = preview.meta.bind(preview);\n\n preview.meta = (_input) => {\n const meta = defineMeta(_input);\n const defineStory = meta.story.bind(meta);\n\n meta.story = (__input: any) => {\n const story = defineStory(__input);\n\n // @ts-ignore this is a private property used only here\n story.Component = story.__compose();\n\n return story;\n };\n\n return meta;\n };\n\n return preview;\n }) as unknown as SolidDefinePreview;\n}\n","import { previewAddon } from 'storybook-solidjs-vite/renderer/solid-legacy';\n\nimport { createSolidDefinePreview, type SolidDefinePreview } from './preview/define-preview';\n\nexport * from './framework/public-api';\nexport * from './preview/public-api';\n\nexport const definePreview: SolidDefinePreview = createSolidDefinePreview(previewAddon);\n"]}
@@ -1,6 +1,6 @@
1
- import { extractComponentDescription } from 'storybook/internal/docs-tools';
1
+ import { ArgTypesExtractor, extractComponentDescription } from 'storybook/internal/docs-tools';
2
2
  import { ArgTypesEnhancer } from 'storybook/internal/types';
3
- import { D as Decorator, S as SolidRenderer } from '../public-api-DVMx11qI.js';
3
+ import { S as SolidRenderer } from '../public-api-DVMx11qI.js';
4
4
  import 'solid-js';
5
5
 
6
6
  declare const parameters: {
@@ -8,10 +8,10 @@ declare const parameters: {
8
8
  story: {
9
9
  inline: boolean;
10
10
  };
11
+ extractArgTypes: ArgTypesExtractor;
11
12
  extractComponentDescription: typeof extractComponentDescription;
12
13
  };
13
14
  };
14
- declare const decorators: Decorator[];
15
15
  declare const argTypesEnhancers: ArgTypesEnhancer<SolidRenderer>[];
16
16
 
17
- export { argTypesEnhancers, decorators, parameters };
17
+ export { argTypesEnhancers, parameters };
@@ -1,4 +1,4 @@
1
- export { argTypesEnhancers, decorators, parameters } from '../chunk-UQOUKQDU.js';
1
+ export { argTypesEnhancers, parameters } from '../chunk-XCNVCO2S.js';
2
2
  import '../chunk-PZ5AY32C.js';
3
3
  //# sourceMappingURL=docs.js.map
4
4
  //# sourceMappingURL=docs.js.map
@@ -11,5 +11,6 @@ declare const applyDecorators: (storyFn: storybook_internal_csf.LegacyStoryFn<So
11
11
  declare const mount: (context: StoryContext<storybook_internal_csf.Args>) => (ui: StoryFnReturnType) => Promise<storybook_internal_csf.Canvas>;
12
12
  declare const render: storybook_internal_csf.ArgsStoryFn<SolidRenderer>;
13
13
  declare const renderToCanvas: (renderContext: RenderContext, canvasElement: SolidRenderer["canvasElement"]) => Promise<() => void>;
14
+ declare const previewAddon: storybook_internal_csf.PreviewAddon<storybook_internal_csf.AddonTypes>;
14
15
 
15
- export { applyDecorators, mount, parameters, render, renderToCanvas };
16
+ export { applyDecorators, mount, parameters, previewAddon, render, renderToCanvas };
@@ -1,4 +1,4 @@
1
- import { createStoryState, createApplyDecorators, createMount, createDefaultRender, createRenderToCanvas } from '../chunk-SWPHHVAM.js';
1
+ import { createStoryState, createApplyDecorators, createMount, createDefaultRender, createRenderToCanvas, beforeAll } from '../chunk-SWPHHVAM.js';
2
2
  export { beforeAll } from '../chunk-SWPHHVAM.js';
3
3
  import '../chunk-FRWD6B5X.js';
4
4
  import '../chunk-PZ5AY32C.js';
@@ -6,6 +6,7 @@ import { global } from '@storybook/global';
6
6
  import { createComponent, onMount, onCleanup, ErrorBoundary } from 'solid-js';
7
7
  import { createStore as createStore$1, reconcile } from 'solid-js/store';
8
8
  import { render as render$1 } from 'solid-js/web';
9
+ import { definePreviewAddon } from 'storybook/internal/csf';
9
10
 
10
11
  var SOLID_RENDERER_ID = "solid";
11
12
  if (global.window) {
@@ -55,7 +56,15 @@ var renderToCanvas = createRenderToCanvas({
55
56
  return App;
56
57
  }
57
58
  });
59
+ var previewAddon = definePreviewAddon({
60
+ applyDecorators,
61
+ beforeAll,
62
+ mount,
63
+ parameters,
64
+ render,
65
+ renderToCanvas
66
+ });
58
67
 
59
- export { applyDecorators, mount, parameters, render, renderToCanvas };
60
- //# sourceMappingURL=solid.js.map
61
- //# sourceMappingURL=solid.js.map
68
+ export { applyDecorators, mount, parameters, previewAddon, render, renderToCanvas };
69
+ //# sourceMappingURL=solid-legacy.js.map
70
+ //# sourceMappingURL=solid-legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/renderer/solid-legacy.ts"],"names":["solidCreateStore","solidRender"],"mappings":";;;;;;;;;;AAsBA,IAAM,iBAAA,GAAoB,OAAA;AAE1B,IAAI,OAAO,MAAA,EAAQ;AACf,EAAA,MAAA,CAAO,OAAO,aAAA,GAAgB,iBAAA;AAClC;AAEA,IAAM,UAAA,GAAa;AAAA,EACf,QAAA,EAAU;AACd;AAEA,IAAM,WAAA,GAAc,CAAmB,OAAA,KAAe;AAClD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,cAAoB,OAAO,CAAA;AAErD,EAAA,MAAM,QAAA,GAAW,CAAC,MAAA,KAA2B;AACzC,IAAA,QAAA,CAAS,SAAA,CAAU,MAAA,CAAO,KAAK,CAAC,CAAC,CAAA;AAAA,EACrC,CAAA;AAEA,EAAA,OAAO,CAAC,OAAO,QAAQ,CAAA;AAC3B,CAAA;AAEA,IAAM,UAAA,GAAa,iBAAiB,WAAW,CAAA;AAE/C,IAAM,OAAA,GAAgC;AAAA,EAClC,UAAA;AAAA,EACA,eAAA;AAAA,EACA,MAAA,EAAQC;AACZ,CAAA;AAEA,IAAM,eAAA,GAAkB,qBAAA,CAAsB,EAAE,UAAA,EAAY;AAC5D,IAAM,KAAA,GAAQ,YAAY,OAAO;AACjC,IAAM,MAAA,GAAS,mBAAA,CAAoB,OAAA,CAAQ,eAAe;AAC1D,IAAM,iBAAiB,oBAAA,CAAqB;AAAA,EACxC,GAAG,OAAA;AAAA,EACH,cAAA,EAAgB,CAAC,EAAE,KAAA,EAAO,cAAc,QAAA,EAAU,aAAA,EAAe,SAAQ,KAAM;AAC3E,IAAA,MAAM,MAAsB,MAAM;AAC9B,MAAA,OAAA,CAAQ,MAAM;AACV,QAAA,QAAA,EAAS;AACT,QAAA,UAAA,CAAW,WAAA,CAAY,SAAS,IAAI,CAAA;AAAA,MACxC,CAAC,CAAA;AAED,MAAA,SAAA,CAAU,MAAM;AACZ,QAAA,UAAA,CAAW,WAAA,CAAY,SAAS,KAAK,CAAA;AAAA,MACzC,CAAC,CAAA;AAGD,MAAA,IAAI,YAAA,EAAc,UAAA,GAAa,mBAAmB,CAAA,EAAG;AACjD,QAAA,OAAO,eAAA,CAAgB,MAAM,KAAA,EAAM,EAAG,EAAE,CAAA;AAAA,MAC5C;AAEA,MAAA,OAAO,gBAAgB,aAAA,EAAe;AAAA,QAClC,QAAA,EAAU,CAAC,GAAA,KAAe;AACtB,UAAA,aAAA,CAAc,GAAG,CAAA;AAEjB,UAAA,OAAO,GAAA;AAAA,QACX,CAAA;AAAA,QACA,UAAU,eAAA,CAAgB,MAAM,KAAA,EAAM,EAAG,EAAE;AAAA,OAC9C,CAAA;AAAA,IACL,CAAA;AAEA,IAAA,OAAO,GAAA;AAAA,EACX;AACJ,CAAC;AAED,IAAM,eAAe,kBAAA,CAAmB;AAAA,EACpC,eAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA;AACJ,CAA4C","file":"solid-legacy.js","sourcesContent":["import { global } from '@storybook/global';\nimport {\n createComponent,\n ErrorBoundary,\n onCleanup,\n onMount,\n} from 'solid-js';\nimport { reconcile, createStore as solidCreateStore } from 'solid-js/store';\nimport { render as solidRender } from 'solid-js/web';\nimport { definePreviewAddon } from 'storybook/internal/csf';\n\nimport { createApplyDecorators } from './shared/apply-decorators';\nimport { beforeAll } from './shared/before-all';\nimport { createDefaultRender } from './shared/default-render';\nimport { createMount } from './shared/mount';\nimport { createRenderToCanvas } from './shared/render-to-canvas';\nimport { createStoryState } from './shared/story-store';\n\nimport type { ProjectAnnotations, Renderer } from 'storybook/internal/types';\nimport type { SolidComponent } from '../preview/public-api';\nimport type { SolidRendererRuntime } from './shared/render-to-canvas';\n\nconst SOLID_RENDERER_ID = 'solid' as const;\n\nif (global.window) {\n global.window.STORYBOOK_ENV = SOLID_RENDERER_ID;\n}\n\nconst parameters = {\n renderer: SOLID_RENDERER_ID,\n};\n\nconst createStore = <T extends object>(initial: T) => {\n const [state, setStore] = solidCreateStore<T>(initial);\n\n const setState = (update: (prev: T) => T) => {\n setStore(reconcile(update(state)));\n };\n\n return [state, setState] as const;\n};\n\nconst storyStore = createStoryState(createStore);\n\nconst runtime: SolidRendererRuntime = {\n storyStore,\n createComponent,\n render: solidRender,\n};\n\nconst applyDecorators = createApplyDecorators({ storyStore });\nconst mount = createMount(runtime);\nconst render = createDefaultRender(runtime.createComponent);\nconst renderToCanvas = createRenderToCanvas({\n ...runtime,\n createStoryApp: ({ Story, storyContext, showMain, showException, storyId }) => {\n const App: SolidComponent = () => {\n onMount(() => {\n showMain();\n storyStore.setRendered(storyId, true);\n });\n\n onCleanup(() => {\n storyStore.setRendered(storyId, false);\n });\n\n\n if (storyContext?.parameters?.['__isPortableStory']) {\n return createComponent(() => Story(), {});\n }\n\n return createComponent(ErrorBoundary, {\n fallback: (err: Error) => {\n showException(err);\n\n return err as any;\n },\n children: createComponent(() => Story(), {}),\n });\n };\n\n return App;\n },\n});\n\nconst previewAddon = definePreviewAddon({\n applyDecorators,\n beforeAll,\n mount,\n parameters,\n render,\n renderToCanvas,\n} as unknown as ProjectAnnotations<Renderer>);\n\nexport {\n applyDecorators,\n beforeAll,\n mount,\n parameters,\n previewAddon,\n render,\n renderToCanvas\n};\n"]}
@@ -11,5 +11,6 @@ declare const applyDecorators: (storyFn: storybook_internal_csf.LegacyStoryFn<So
11
11
  declare const mount: (context: StoryContext<storybook_internal_csf.Args>) => (ui: StoryFnReturnType) => Promise<storybook_internal_csf.Canvas>;
12
12
  declare const render: storybook_internal_csf.ArgsStoryFn<SolidRenderer>;
13
13
  declare const renderToCanvas: (renderContext: RenderContext, canvasElement: SolidRenderer["canvasElement"]) => Promise<() => void>;
14
+ declare const previewAddon: storybook_internal_csf.PreviewAddon<storybook_internal_csf.AddonTypes>;
14
15
 
15
- export { applyDecorators, mount, parameters, render, renderToCanvas };
16
+ export { applyDecorators, mount, parameters, previewAddon, render, renderToCanvas };
@@ -1,10 +1,11 @@
1
- import { createStoryState, createApplyDecorators, createMount, createDefaultRender, createRenderToCanvas } from '../chunk-SWPHHVAM.js';
1
+ import { createStoryState, createApplyDecorators, createMount, createDefaultRender, createRenderToCanvas, beforeAll } from '../chunk-SWPHHVAM.js';
2
2
  export { beforeAll } from '../chunk-SWPHHVAM.js';
3
3
  import '../chunk-FRWD6B5X.js';
4
4
  import '../chunk-PZ5AY32C.js';
5
5
  import { render as render$1 } from '@solidjs/web';
6
6
  import { global } from '@storybook/global';
7
7
  import { createStore, createComponent, onSettled, Errored, createMemo } from 'solid-js';
8
+ import { definePreviewAddon } from 'storybook/internal/csf';
8
9
 
9
10
  var SOLID_RENDERER_ID = "solid-next";
10
11
  if (global.window) {
@@ -57,7 +58,15 @@ var renderToCanvas = createRenderToCanvas({
57
58
  });
58
59
  }
59
60
  });
61
+ var previewAddon = definePreviewAddon({
62
+ applyDecorators,
63
+ beforeAll,
64
+ mount,
65
+ parameters,
66
+ render,
67
+ renderToCanvas
68
+ });
60
69
 
61
- export { applyDecorators, mount, parameters, render, renderToCanvas };
70
+ export { applyDecorators, mount, parameters, previewAddon, render, renderToCanvas };
62
71
  //# sourceMappingURL=solid-next.js.map
63
72
  //# sourceMappingURL=solid-next.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/renderer/solid-next.ts"],"names":["solidRender"],"mappings":";;;;;;;;AAoBA,IAAM,iBAAA,GAAoB,YAAA;AAE1B,IAAI,OAAO,MAAA,EAAQ;AACf,EAAA,MAAA,CAAO,OAAO,aAAA,GAAgB,iBAAA;AAClC;AAEA,IAAM,UAAA,GAAa;AAAA,EACf,QAAA,EAAU;AACd;AAEA,SAAS,WAAW,KAAA,EAAiD;AACjE,EAAA,OAAO,WAAW,KAAK,CAAA;AAC3B;AAEA,IAAM,UAAA,GAAa,gBAAA,CAAiB,CAAC,OAAA,KAAiB;AAClD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,YAAY,OAAO,CAAA;AAE7C,EAAA,MAAM,QAAA,GAAW,CAAC,MAAA,KAA+B;AAC7C,IAAA,QAAA,CAAS,MAAM,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA,EAChC,CAAA;AAEA,EAAA,OAAO,CAAC,OAAO,QAAQ,CAAA;AAC3B,CAAC,CAAA;AAED,IAAM,OAAA,GAAgC;AAAA,EAClC,UAAA;AAAA,EACA,MAAA,EAAQA,QAAA;AAAA,EACR;AACJ,CAAA;AAEA,IAAM,eAAA,GAAkB,qBAAA,CAAsB,EAAE,UAAA,EAAY;AAC5D,IAAM,KAAA,GAAQ,YAAY,OAAO;AACjC,IAAM,MAAA,GAAS,mBAAA,CAAoB,OAAA,CAAQ,eAAe;AAC1D,IAAM,iBAAiB,oBAAA,CAAqB;AAAA,EACxC,GAAG,OAAA;AAAA,EACH,cAAA,EAAgB,CAAC,EAAE,KAAA,EAAO,cAAc,QAAA,EAAU,aAAA,EAAe,SAAQ,KAAM;AAC3E,IAAA,MAAM,WAAA,GAAc,MAAM,eAAA,CAAgB,MAAM,WAAW,KAAK,CAAA,EAAG,EAAE,CAAA;AAErE,IAAA,QAAQ,MAAM;AACV,MAAA,SAAA,CAAU,MAAM;AACZ,QAAA,QAAA,EAAS;AACT,QAAA,UAAA,CAAW,WAAA,CAAY,SAAS,IAAI,CAAA;AAEpC,QAAA,OAAO,MAAM;AACT,UAAA,UAAA,CAAW,WAAA,CAAY,SAAS,KAAK,CAAA;AAAA,QACzC,CAAA;AAAA,MACJ,CAAC,CAAA;AAGD,MAAA,IAAI,YAAA,EAAc,UAAA,GAAa,mBAAmB,CAAA,EAAG;AACjD,QAAA,OAAO,WAAA,EAAY;AAAA,MACvB;AAEA,MAAA,OAAO,gBAAgB,OAAA,EAAS;AAAA,QAC5B,QAAA,EAAU,CAAC,GAAA,EAAoB,MAAA,KAAuB;AAClD,UAAA,MAAM,QAAQ,GAAA,EAAI;AAElB,UAAA,aAAA,CAAc,KAAK,CAAA;AAEnB,UAAA,OAAO,KAAA;AAAA,QACX,CAAA;AAAA,QACA,UAAU,WAAA;AAAY,OACzB,CAAA;AAAA,IACL,CAAA;AAAA,EACJ;AACJ,CAAC","file":"solid-next.js","sourcesContent":["import { render as solidRender } from '@solidjs/web';\nimport { global } from '@storybook/global';\nimport {\n createComponent,\n createMemo,\n createStore,\n Errored,\n onSettled,\n} from 'solid-js-next';\n\nimport { createApplyDecorators } from './shared/apply-decorators';\nimport { beforeAll } from './shared/before-all';\nimport { createDefaultRender } from './shared/default-render';\nimport { createMount } from './shared/mount';\nimport { createRenderToCanvas } from './shared/render-to-canvas';\nimport { createStoryState } from './shared/story-store';\n\nimport type { SolidComponent, SolidRenderer } from '../preview/public-api';\nimport type { SolidRendererRuntime, StoryThunk } from './shared/render-to-canvas';\n\nconst SOLID_RENDERER_ID = 'solid-next' as const;\n\nif (global.window) {\n global.window.STORYBOOK_ENV = SOLID_RENDERER_ID;\n}\n\nconst parameters = {\n renderer: SOLID_RENDERER_ID,\n};\n\nfunction trackStory(story: StoryThunk): SolidRenderer['storyResult'] {\n return createMemo(story) as unknown as SolidRenderer['storyResult'];\n}\n\nconst storyStore = createStoryState((initial: any) => {\n const [state, setStore] = createStore(initial);\n\n const setState = (update: (prev: any) => any) => {\n setStore(() => update(state));\n };\n\n return [state, setState];\n});\n\nconst runtime: SolidRendererRuntime = {\n storyStore,\n render: solidRender,\n createComponent: createComponent as SolidRendererRuntime['createComponent'],\n};\n\nconst applyDecorators = createApplyDecorators({ storyStore });\nconst mount = createMount(runtime);\nconst render = createDefaultRender(runtime.createComponent);\nconst renderToCanvas = createRenderToCanvas({\n ...runtime,\n createStoryApp: ({ Story, storyContext, showMain, showException, storyId }) => {\n const renderStory = () => createComponent(() => trackStory(Story), {});\n\n return (() => {\n onSettled(() => {\n showMain();\n storyStore.setRendered(storyId, true);\n\n return () => {\n storyStore.setRendered(storyId, false);\n };\n });\n\n\n if (storyContext?.parameters?.['__isPortableStory']) {\n return renderStory();\n }\n\n return createComponent(Errored, {\n fallback: (err: () => unknown, _reset: () => void) => {\n const error = err() as Error;\n\n showException(error);\n\n return error as any;\n },\n children: renderStory(),\n });\n }) as SolidComponent;\n },\n});\n\nexport {\n applyDecorators,\n beforeAll,\n mount,\n parameters,\n render,\n renderToCanvas,\n};\n"]}
1
+ {"version":3,"sources":["../../src/renderer/solid-next.ts"],"names":["solidRender"],"mappings":";;;;;;;;;AAsBA,IAAM,iBAAA,GAAoB,YAAA;AAE1B,IAAI,OAAO,MAAA,EAAQ;AACf,EAAA,MAAA,CAAO,OAAO,aAAA,GAAgB,iBAAA;AAClC;AAEA,IAAM,UAAA,GAAa;AAAA,EACf,QAAA,EAAU;AACd;AAEA,SAAS,WAAW,KAAA,EAAiD;AACjE,EAAA,OAAO,WAAW,KAAK,CAAA;AAC3B;AAEA,IAAM,UAAA,GAAa,gBAAA,CAAiB,CAAC,OAAA,KAAiB;AAClD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,YAAY,OAAO,CAAA;AAE7C,EAAA,MAAM,QAAA,GAAW,CAAC,MAAA,KAA+B;AAC7C,IAAA,QAAA,CAAS,MAAM,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA,EAChC,CAAA;AAEA,EAAA,OAAO,CAAC,OAAO,QAAQ,CAAA;AAC3B,CAAC,CAAA;AAED,IAAM,OAAA,GAAgC;AAAA,EAClC,UAAA;AAAA,EACA,MAAA,EAAQA,QAAA;AAAA,EACR;AACJ,CAAA;AAEA,IAAM,eAAA,GAAkB,qBAAA,CAAsB,EAAE,UAAA,EAAY;AAC5D,IAAM,KAAA,GAAQ,YAAY,OAAO;AACjC,IAAM,MAAA,GAAS,mBAAA,CAAoB,OAAA,CAAQ,eAAe;AAC1D,IAAM,iBAAiB,oBAAA,CAAqB;AAAA,EACxC,GAAG,OAAA;AAAA,EACH,cAAA,EAAgB,CAAC,EAAE,KAAA,EAAO,cAAc,QAAA,EAAU,aAAA,EAAe,SAAQ,KAAM;AAC3E,IAAA,MAAM,WAAA,GAAc,MAAM,eAAA,CAAgB,MAAM,WAAW,KAAK,CAAA,EAAG,EAAE,CAAA;AAErE,IAAA,QAAQ,MAAM;AACV,MAAA,SAAA,CAAU,MAAM;AACZ,QAAA,QAAA,EAAS;AACT,QAAA,UAAA,CAAW,WAAA,CAAY,SAAS,IAAI,CAAA;AAEpC,QAAA,OAAO,MAAM;AACT,UAAA,UAAA,CAAW,WAAA,CAAY,SAAS,KAAK,CAAA;AAAA,QACzC,CAAA;AAAA,MACJ,CAAC,CAAA;AAGD,MAAA,IAAI,YAAA,EAAc,UAAA,GAAa,mBAAmB,CAAA,EAAG;AACjD,QAAA,OAAO,WAAA,EAAY;AAAA,MACvB;AAEA,MAAA,OAAO,gBAAgB,OAAA,EAAS;AAAA,QAC5B,QAAA,EAAU,CAAC,GAAA,EAAoB,MAAA,KAAuB;AAClD,UAAA,MAAM,QAAQ,GAAA,EAAI;AAElB,UAAA,aAAA,CAAc,KAAK,CAAA;AAEnB,UAAA,OAAO,KAAA;AAAA,QACX,CAAA;AAAA,QACA,UAAU,WAAA;AAAY,OACzB,CAAA;AAAA,IACL,CAAA;AAAA,EACJ;AACJ,CAAC;AAED,IAAM,eAAe,kBAAA,CAAmB;AAAA,EACpC,eAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA;AACJ,CAA4C","file":"solid-next.js","sourcesContent":["import { render as solidRender } from '@solidjs/web';\nimport { global } from '@storybook/global';\nimport {\n createComponent,\n createMemo,\n createStore,\n Errored,\n onSettled,\n} from 'solid-js-next';\nimport { definePreviewAddon } from 'storybook/internal/csf';\n\nimport { createApplyDecorators } from './shared/apply-decorators';\nimport { beforeAll } from './shared/before-all';\nimport { createDefaultRender } from './shared/default-render';\nimport { createMount } from './shared/mount';\nimport { createRenderToCanvas } from './shared/render-to-canvas';\nimport { createStoryState } from './shared/story-store';\n\nimport type { ProjectAnnotations, Renderer } from 'storybook/internal/types';\nimport type { SolidComponent, SolidRenderer } from '../preview/public-api';\nimport type { SolidRendererRuntime, StoryThunk } from './shared/render-to-canvas';\n\nconst SOLID_RENDERER_ID = 'solid-next' as const;\n\nif (global.window) {\n global.window.STORYBOOK_ENV = SOLID_RENDERER_ID;\n}\n\nconst parameters = {\n renderer: SOLID_RENDERER_ID,\n};\n\nfunction trackStory(story: StoryThunk): SolidRenderer['storyResult'] {\n return createMemo(story) as unknown as SolidRenderer['storyResult'];\n}\n\nconst storyStore = createStoryState((initial: any) => {\n const [state, setStore] = createStore(initial);\n\n const setState = (update: (prev: any) => any) => {\n setStore(() => update(state));\n };\n\n return [state, setState];\n});\n\nconst runtime: SolidRendererRuntime = {\n storyStore,\n render: solidRender,\n createComponent: createComponent as SolidRendererRuntime['createComponent'],\n};\n\nconst applyDecorators = createApplyDecorators({ storyStore });\nconst mount = createMount(runtime);\nconst render = createDefaultRender(runtime.createComponent);\nconst renderToCanvas = createRenderToCanvas({\n ...runtime,\n createStoryApp: ({ Story, storyContext, showMain, showException, storyId }) => {\n const renderStory = () => createComponent(() => trackStory(Story), {});\n\n return (() => {\n onSettled(() => {\n showMain();\n storyStore.setRendered(storyId, true);\n\n return () => {\n storyStore.setRendered(storyId, false);\n };\n });\n\n\n if (storyContext?.parameters?.['__isPortableStory']) {\n return renderStory();\n }\n\n return createComponent(Errored, {\n fallback: (err: () => unknown, _reset: () => void) => {\n const error = err() as Error;\n\n showException(error);\n\n return error as any;\n },\n children: renderStory(),\n });\n }) as SolidComponent;\n },\n});\n\nconst previewAddon = definePreviewAddon({\n applyDecorators,\n beforeAll,\n mount,\n parameters,\n render,\n renderToCanvas,\n} as unknown as ProjectAnnotations<Renderer>);\n\nexport {\n applyDecorators,\n beforeAll,\n mount,\n parameters,\n previewAddon,\n render,\n renderToCanvas,\n};\n"]}
package/dist/renderer.js CHANGED
@@ -1,4 +1,4 @@
1
- import { resolveSolidRendererEntry, resolveSolidVersion } from './chunk-XA62EQZW.js';
1
+ import { resolveSolidRendererEntry, resolveSolidVersion } from './chunk-LWHXIEWO.js';
2
2
  import { getOrCreateSolidComponentMetaManager, DOCGEN_ENGINE, MANIFEST_DOCGEN_ENGINE } from './chunk-TKOWB3JL.js';
3
3
  import './chunk-PZ5AY32C.js';
4
4
  import { fileURLToPath } from 'url';
@@ -924,21 +924,14 @@ async function getArgTypesData(_input, options) {
924
924
 
925
925
  // src/renderer/index.ts
926
926
  var previewAnnotations = async (input = [], options) => {
927
- const docsConfig = await options.presets.apply("docs", {}, options);
928
- const docsEnabled = Object.keys(docsConfig).length > 0;
929
- const result = [];
930
927
  const framework = await options.presets.apply("framework");
931
928
  const entryPreview = resolveSolidRendererEntry(
932
929
  resolveSolidVersion(framework, options.configDir)
933
930
  );
934
- return result.concat(input).concat([
931
+ return input.concat([
935
932
  fileURLToPath(import.meta.resolve(entryPreview)),
936
- fileURLToPath(import.meta.resolve("storybook-solidjs-vite/renderer/argtypes"))
937
- ]).concat(
938
- docsEnabled ? [
939
- fileURLToPath(import.meta.resolve("storybook-solidjs-vite/renderer/docs"))
940
- ] : []
941
- );
933
+ fileURLToPath(import.meta.resolve("storybook-solidjs-vite/renderer/docs"))
934
+ ]);
942
935
  };
943
936
 
944
937
  export { enrichCsf as experimental_enrichCsf, generateComponentManifests as experimental_manifests, getArgTypesData as internal_getArgTypesData, previewAnnotations };