@stencil/storybook-plugin 0.1.0 → 0.3.0

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 (52) hide show
  1. package/@types/rollup-parseAst.d.ts +2 -2
  2. package/dist/docs/index.cjs +4 -0
  3. package/dist/docs/index.d.cts +12 -0
  4. package/dist/docs/index.d.ts +12 -0
  5. package/dist/docs/index.js +3 -0
  6. package/dist/docs-0uSy55NI.cjs +54 -0
  7. package/dist/docs-0uSy55NI.cjs.map +1 -0
  8. package/dist/docs-BTql9Bpv.js +42 -0
  9. package/dist/docs-BTql9Bpv.js.map +1 -0
  10. package/dist/{preview-8QXanM3z.js → entry-preview-3TGf5TzC.js} +12 -7
  11. package/dist/entry-preview-3TGf5TzC.js.map +1 -0
  12. package/dist/entry-preview-docs.cjs +18 -0
  13. package/dist/entry-preview-docs.cjs.map +1 -0
  14. package/dist/entry-preview-docs.d.cts +20 -0
  15. package/dist/entry-preview-docs.d.ts +20 -0
  16. package/dist/entry-preview-docs.js +16 -0
  17. package/dist/entry-preview-docs.js.map +1 -0
  18. package/dist/{preview-CQxvr_qp.cjs → entry-preview-nRsKfRZP.cjs} +22 -11
  19. package/dist/entry-preview-nRsKfRZP.cjs.map +1 -0
  20. package/dist/entry-preview.cjs +6 -0
  21. package/dist/entry-preview.d.cts +17 -0
  22. package/dist/entry-preview.d.ts +17 -0
  23. package/dist/entry-preview.js +3 -0
  24. package/dist/index.cjs +4 -4
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.d.cts +2 -2
  27. package/dist/index.d.ts +3 -3
  28. package/dist/index.js +4 -4
  29. package/dist/index.js.map +1 -1
  30. package/dist/node/index.cjs.map +1 -1
  31. package/dist/node/index.d.cts +1 -1
  32. package/dist/node/index.d.ts +1 -1
  33. package/dist/node/index.js.map +1 -1
  34. package/dist/preset.cjs +4 -4
  35. package/dist/preset.cjs.map +1 -1
  36. package/dist/preset.d.cts +3 -3
  37. package/dist/preset.d.ts +3 -3
  38. package/dist/preset.js +4 -4
  39. package/dist/preset.js.map +1 -1
  40. package/dist/{rollup-parseAst-t-4tfMPG.d.ts → rollup-parseAst-DXE9IfcK.d.ts} +1 -1
  41. package/dist/{types-CrBVXXLO.d.ts → types-BjBqnnWi.d.cts} +2 -2
  42. package/dist/{types-BC4h6q-i.d.cts → types-Dzw-ZY4t.d.ts} +2 -2
  43. package/package.json +7 -11
  44. package/preset.js +1 -1
  45. package/template/cli/MyComponent.stories.ts +1 -1
  46. package/template/cli/MyComponent.tsx +1 -1
  47. package/dist/preview-8QXanM3z.js.map +0 -1
  48. package/dist/preview-CQxvr_qp.cjs.map +0 -1
  49. package/dist/preview.cjs +0 -5
  50. package/dist/preview.d.cts +0 -18
  51. package/dist/preview.d.ts +0 -18
  52. package/dist/preview.js +0 -3
@@ -17,6 +17,6 @@
17
17
  * importing `rollup/parseAst` in `unplugin-stencil`.
18
18
  */
19
19
  declare module 'rollup/parseAst' {
20
- export function parseAst(code: string, options?: any): any
21
- export function parseAstAsync(code: string, options?: any): Promise<any>
20
+ export function parseAst(code: string, options?: any): any;
21
+ export function parseAstAsync(code: string, options?: any): Promise<any>;
22
22
  }
@@ -0,0 +1,4 @@
1
+ const require_docs = require('../docs-0uSy55NI.cjs');
2
+
3
+ exports.renderHTML = require_docs.renderHTML;
4
+ exports.sourceDecorator = require_docs.sourceDecorator;
@@ -0,0 +1,12 @@
1
+ import { StencilRenderer } from "../types-BjBqnnWi.cjs";
2
+ import { VNode } from "@stencil/core";
3
+ import { DecoratorFunction } from "storybook/internal/types";
4
+
5
+ //#region src/docs/render-html.d.ts
6
+ declare const renderHTML: (vnode: VNode) => string;
7
+ //#endregion
8
+ //#region src/docs/source-decorator.d.ts
9
+ declare const sourceDecorator: DecoratorFunction<StencilRenderer<unknown>>;
10
+ //#endregion
11
+ export { renderHTML, sourceDecorator };
12
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1,12 @@
1
+ import { StencilRenderer } from "../types-Dzw-ZY4t.js";
2
+ import { VNode } from "@stencil/core";
3
+ import { DecoratorFunction } from "storybook/internal/types";
4
+
5
+ //#region src/docs/render-html.d.ts
6
+ declare const renderHTML: (vnode: VNode) => string;
7
+ //#endregion
8
+ //#region src/docs/source-decorator.d.ts
9
+ declare const sourceDecorator: DecoratorFunction<StencilRenderer<unknown>>;
10
+ //#endregion
11
+ export { renderHTML, sourceDecorator };
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { renderHTML, sourceDecorator } from "../docs-BTql9Bpv.js";
2
+
3
+ export { renderHTML, sourceDecorator };
@@ -0,0 +1,54 @@
1
+ const require_chunk = require('./chunk-CsX-DzYB.cjs');
2
+ const storybook_internal_docs_tools = require_chunk.__toESM(require("storybook/internal/docs-tools"));
3
+ const storybook_internal_preview_api = require_chunk.__toESM(require("storybook/internal/preview-api"));
4
+
5
+ //#region src/docs/render-html.ts
6
+ function vnodeToHtml(node, indentLevel = 0) {
7
+ const indent = " ".repeat(indentLevel);
8
+ if (node.$text$ !== null) return indent + node.$text$;
9
+ if (node.$tag$ === null) return "";
10
+ const tag = node.$tag$;
11
+ const attrs = node.$attrs$ ? Object.entries(node.$attrs$).filter(([_, value]) => value !== void 0).map(([key, value]) => ` ${key}="${value}"`).join("") : "";
12
+ const children = node.$children$ ?? [];
13
+ if (children.length === 0) return `${indent}<${tag}${attrs}></${tag}>`;
14
+ const childrenHtml = children.map((child) => vnodeToHtml(child, indentLevel + 1)).join("\n");
15
+ return `${indent}<${tag}${attrs}>\n${childrenHtml}\n${indent}</${tag}>`;
16
+ }
17
+ const renderHTML = (vnode) => {
18
+ return vnodeToHtml(vnode);
19
+ };
20
+
21
+ //#endregion
22
+ //#region src/docs/source-decorator.ts
23
+ const skip = (context) => {
24
+ const sourceParams = context?.parameters.docs?.source;
25
+ const isArgsStory = context?.parameters.__isArgsStory;
26
+ if (sourceParams.type === storybook_internal_docs_tools.SourceType.DYNAMIC) return false;
27
+ return !isArgsStory || sourceParams?.code || sourceParams?.type === storybook_internal_docs_tools.SourceType.CODE;
28
+ };
29
+ const sourceDecorator = (storyFn, context) => {
30
+ const story = storyFn();
31
+ (0, storybook_internal_preview_api.useEffect)(() => {
32
+ const renderedForSource = context?.parameters.docs?.source?.excludeDecorators ? context.originalStoryFn(context.args, context) : story;
33
+ if (skip(context)) return;
34
+ switch (context.parameters.docs.source.language) {
35
+ case "html": (0, storybook_internal_preview_api.emitTransformCode)(renderHTML(renderedForSource), context);
36
+ }
37
+ });
38
+ return story;
39
+ };
40
+
41
+ //#endregion
42
+ Object.defineProperty(exports, 'renderHTML', {
43
+ enumerable: true,
44
+ get: function () {
45
+ return renderHTML;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, 'sourceDecorator', {
49
+ enumerable: true,
50
+ get: function () {
51
+ return sourceDecorator;
52
+ }
53
+ });
54
+ //# sourceMappingURL=docs-0uSy55NI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-0uSy55NI.cjs","names":["node: VNode","vnode: VNode","context: Parameters<DecoratorFunction<StencilRenderer<unknown>>>[1]","SourceType","sourceDecorator: DecoratorFunction<StencilRenderer<unknown>>"],"sources":["../src/docs/render-html.ts","../src/docs/source-decorator.ts"],"sourcesContent":["import { type VNode } from '@stencil/core';\n\nfunction vnodeToHtml(node: VNode, indentLevel = 0): string {\n const indent = ' '.repeat(indentLevel);\n\n if (node.$text$ !== null) {\n return indent + node.$text$;\n }\n\n if (node.$tag$ === null) {\n return '';\n }\n\n const tag = node.$tag$;\n\n const attrs = node.$attrs$\n ? Object.entries(node.$attrs$)\n .filter(([_, value]) => value !== undefined)\n .map(([key, value]) => ` ${key}=\"${value}\"`)\n .join('')\n : '';\n\n const children = node.$children$ ?? [];\n\n if (children.length === 0) {\n return `${indent}<${tag}${attrs}></${tag}>`;\n }\n\n const childrenHtml = children.map((child) => vnodeToHtml(child, indentLevel + 1)).join('\\n');\n\n return `${indent}<${tag}${attrs}>\\n${childrenHtml}\\n${indent}</${tag}>`;\n}\n\nexport const renderHTML = (vnode: VNode) => {\n return vnodeToHtml(vnode);\n};\n","import { SourceType } from 'storybook/internal/docs-tools';\nimport { emitTransformCode, useEffect } from 'storybook/internal/preview-api';\nimport type { AnnotatedStoryFn, Args, DecoratorFunction } from 'storybook/internal/types';\nimport type { StencilRenderer } from '../types';\nimport { renderHTML } from './render-html';\n\ntype StoryFn<TArgs = Args> = AnnotatedStoryFn<StencilRenderer<unknown>, TArgs>;\n\nconst skip = (context: Parameters<DecoratorFunction<StencilRenderer<unknown>>>[1]) => {\n const sourceParams = context?.parameters.docs?.source;\n const isArgsStory = context?.parameters.__isArgsStory;\n\n if (sourceParams.type === SourceType.DYNAMIC) return false;\n\n return !isArgsStory || sourceParams?.code || sourceParams?.type === SourceType.CODE;\n};\n\nexport const sourceDecorator: DecoratorFunction<StencilRenderer<unknown>> = (storyFn, context) => {\n const story = storyFn();\n\n useEffect(() => {\n const renderedForSource = context?.parameters.docs?.source?.excludeDecorators\n ? (context.originalStoryFn as StoryFn)(context.args, context)\n : story;\n\n if (skip(context)) return;\n\n switch (context.parameters.docs.source.language) {\n case 'html': {\n emitTransformCode(renderHTML(renderedForSource), context);\n }\n }\n });\n\n return story;\n};\n"],"mappings":";;;;;AAEA,SAAS,YAAYA,MAAa,cAAc,GAAW;CACzD,MAAM,SAAS,KAAK,OAAO,YAAY;AAEvC,KAAI,KAAK,WAAW,KAClB,QAAO,SAAS,KAAK;AAGvB,KAAI,KAAK,UAAU,KACjB,QAAO;CAGT,MAAM,MAAM,KAAK;CAEjB,MAAM,QAAQ,KAAK,UACf,OAAO,QAAQ,KAAK,QAAQ,CACzB,OAAO,CAAC,CAAC,GAAG,MAAM,KAAK,iBAAoB,CAC3C,IAAI,CAAC,CAAC,KAAK,MAAM,MAAM,GAAG,IAAI,IAAI,MAAM,GAAG,CAC3C,KAAK,GAAG,GACX;CAEJ,MAAM,WAAW,KAAK,cAAc,CAAE;AAEtC,KAAI,SAAS,WAAW,EACtB,SAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,KAAK,IAAI;CAG3C,MAAM,eAAe,SAAS,IAAI,CAAC,UAAU,YAAY,OAAO,cAAc,EAAE,CAAC,CAAC,KAAK,KAAK;AAE5F,SAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,KAAK,aAAa,IAAI,OAAO,IAAI,IAAI;AACtE;AAED,MAAa,aAAa,CAACC,UAAiB;AAC1C,QAAO,YAAY,MAAM;AAC1B;;;;AC3BD,MAAM,OAAO,CAACC,YAAwE;CACpF,MAAM,eAAe,SAAS,WAAW,MAAM;CAC/C,MAAM,cAAc,SAAS,WAAW;AAExC,KAAI,aAAa,SAASC,yCAAW,QAAS,QAAO;AAErD,SAAQ,eAAe,cAAc,QAAQ,cAAc,SAASA,yCAAW;AAChF;AAED,MAAaC,kBAA+D,CAAC,SAAS,YAAY;CAChG,MAAM,QAAQ,SAAS;AAEvB,+CAAU,MAAM;EACd,MAAM,oBAAoB,SAAS,WAAW,MAAM,QAAQ,oBACxD,AAAC,QAAQ,gBAA4B,QAAQ,MAAM,QAAQ,GAC3D;AAEJ,MAAI,KAAK,QAAQ,CAAE;AAEnB,UAAQ,QAAQ,WAAW,KAAK,OAAO,UAAvC;GACE,KAAK,OACH,uDAAkB,WAAW,kBAAkB,EAAE,QAAQ;EAE5D;CACF,EAAC;AAEF,QAAO;AACR"}
@@ -0,0 +1,42 @@
1
+ import { SourceType } from "storybook/internal/docs-tools";
2
+ import { emitTransformCode, useEffect } from "storybook/internal/preview-api";
3
+
4
+ //#region src/docs/render-html.ts
5
+ function vnodeToHtml(node, indentLevel = 0) {
6
+ const indent = " ".repeat(indentLevel);
7
+ if (node.$text$ !== null) return indent + node.$text$;
8
+ if (node.$tag$ === null) return "";
9
+ const tag = node.$tag$;
10
+ const attrs = node.$attrs$ ? Object.entries(node.$attrs$).filter(([_, value]) => value !== void 0).map(([key, value]) => ` ${key}="${value}"`).join("") : "";
11
+ const children = node.$children$ ?? [];
12
+ if (children.length === 0) return `${indent}<${tag}${attrs}></${tag}>`;
13
+ const childrenHtml = children.map((child) => vnodeToHtml(child, indentLevel + 1)).join("\n");
14
+ return `${indent}<${tag}${attrs}>\n${childrenHtml}\n${indent}</${tag}>`;
15
+ }
16
+ const renderHTML = (vnode) => {
17
+ return vnodeToHtml(vnode);
18
+ };
19
+
20
+ //#endregion
21
+ //#region src/docs/source-decorator.ts
22
+ const skip = (context) => {
23
+ const sourceParams = context?.parameters.docs?.source;
24
+ const isArgsStory = context?.parameters.__isArgsStory;
25
+ if (sourceParams.type === SourceType.DYNAMIC) return false;
26
+ return !isArgsStory || sourceParams?.code || sourceParams?.type === SourceType.CODE;
27
+ };
28
+ const sourceDecorator = (storyFn, context) => {
29
+ const story = storyFn();
30
+ useEffect(() => {
31
+ const renderedForSource = context?.parameters.docs?.source?.excludeDecorators ? context.originalStoryFn(context.args, context) : story;
32
+ if (skip(context)) return;
33
+ switch (context.parameters.docs.source.language) {
34
+ case "html": emitTransformCode(renderHTML(renderedForSource), context);
35
+ }
36
+ });
37
+ return story;
38
+ };
39
+
40
+ //#endregion
41
+ export { renderHTML, sourceDecorator };
42
+ //# sourceMappingURL=docs-BTql9Bpv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs-BTql9Bpv.js","names":["node: VNode","vnode: VNode","context: Parameters<DecoratorFunction<StencilRenderer<unknown>>>[1]","sourceDecorator: DecoratorFunction<StencilRenderer<unknown>>"],"sources":["../src/docs/render-html.ts","../src/docs/source-decorator.ts"],"sourcesContent":["import { type VNode } from '@stencil/core';\n\nfunction vnodeToHtml(node: VNode, indentLevel = 0): string {\n const indent = ' '.repeat(indentLevel);\n\n if (node.$text$ !== null) {\n return indent + node.$text$;\n }\n\n if (node.$tag$ === null) {\n return '';\n }\n\n const tag = node.$tag$;\n\n const attrs = node.$attrs$\n ? Object.entries(node.$attrs$)\n .filter(([_, value]) => value !== undefined)\n .map(([key, value]) => ` ${key}=\"${value}\"`)\n .join('')\n : '';\n\n const children = node.$children$ ?? [];\n\n if (children.length === 0) {\n return `${indent}<${tag}${attrs}></${tag}>`;\n }\n\n const childrenHtml = children.map((child) => vnodeToHtml(child, indentLevel + 1)).join('\\n');\n\n return `${indent}<${tag}${attrs}>\\n${childrenHtml}\\n${indent}</${tag}>`;\n}\n\nexport const renderHTML = (vnode: VNode) => {\n return vnodeToHtml(vnode);\n};\n","import { SourceType } from 'storybook/internal/docs-tools';\nimport { emitTransformCode, useEffect } from 'storybook/internal/preview-api';\nimport type { AnnotatedStoryFn, Args, DecoratorFunction } from 'storybook/internal/types';\nimport type { StencilRenderer } from '../types';\nimport { renderHTML } from './render-html';\n\ntype StoryFn<TArgs = Args> = AnnotatedStoryFn<StencilRenderer<unknown>, TArgs>;\n\nconst skip = (context: Parameters<DecoratorFunction<StencilRenderer<unknown>>>[1]) => {\n const sourceParams = context?.parameters.docs?.source;\n const isArgsStory = context?.parameters.__isArgsStory;\n\n if (sourceParams.type === SourceType.DYNAMIC) return false;\n\n return !isArgsStory || sourceParams?.code || sourceParams?.type === SourceType.CODE;\n};\n\nexport const sourceDecorator: DecoratorFunction<StencilRenderer<unknown>> = (storyFn, context) => {\n const story = storyFn();\n\n useEffect(() => {\n const renderedForSource = context?.parameters.docs?.source?.excludeDecorators\n ? (context.originalStoryFn as StoryFn)(context.args, context)\n : story;\n\n if (skip(context)) return;\n\n switch (context.parameters.docs.source.language) {\n case 'html': {\n emitTransformCode(renderHTML(renderedForSource), context);\n }\n }\n });\n\n return story;\n};\n"],"mappings":";;;;AAEA,SAAS,YAAYA,MAAa,cAAc,GAAW;CACzD,MAAM,SAAS,KAAK,OAAO,YAAY;AAEvC,KAAI,KAAK,WAAW,KAClB,QAAO,SAAS,KAAK;AAGvB,KAAI,KAAK,UAAU,KACjB,QAAO;CAGT,MAAM,MAAM,KAAK;CAEjB,MAAM,QAAQ,KAAK,UACf,OAAO,QAAQ,KAAK,QAAQ,CACzB,OAAO,CAAC,CAAC,GAAG,MAAM,KAAK,iBAAoB,CAC3C,IAAI,CAAC,CAAC,KAAK,MAAM,MAAM,GAAG,IAAI,IAAI,MAAM,GAAG,CAC3C,KAAK,GAAG,GACX;CAEJ,MAAM,WAAW,KAAK,cAAc,CAAE;AAEtC,KAAI,SAAS,WAAW,EACtB,SAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,KAAK,IAAI;CAG3C,MAAM,eAAe,SAAS,IAAI,CAAC,UAAU,YAAY,OAAO,cAAc,EAAE,CAAC,CAAC,KAAK,KAAK;AAE5F,SAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,KAAK,aAAa,IAAI,OAAO,IAAI,IAAI;AACtE;AAED,MAAa,aAAa,CAACC,UAAiB;AAC1C,QAAO,YAAY,MAAM;AAC1B;;;;AC3BD,MAAM,OAAO,CAACC,YAAwE;CACpF,MAAM,eAAe,SAAS,WAAW,MAAM;CAC/C,MAAM,cAAc,SAAS,WAAW;AAExC,KAAI,aAAa,SAAS,WAAW,QAAS,QAAO;AAErD,SAAQ,eAAe,cAAc,QAAQ,cAAc,SAAS,WAAW;AAChF;AAED,MAAaC,kBAA+D,CAAC,SAAS,YAAY;CAChG,MAAM,QAAQ,SAAS;AAEvB,WAAU,MAAM;EACd,MAAM,oBAAoB,SAAS,WAAW,MAAM,QAAQ,oBACxD,AAAC,QAAQ,gBAA4B,QAAQ,MAAM,QAAQ,GAC3D;AAEJ,MAAI,KAAK,QAAQ,CAAE;AAEnB,UAAQ,QAAQ,WAAW,KAAK,OAAO,UAAvC;GACE,KAAK,OACH,mBAAkB,WAAW,kBAAkB,EAAE,QAAQ;EAE5D;CACF,EAAC;AAEF,QAAO;AACR"}
@@ -1,4 +1,5 @@
1
- import { simulatePageLoad } from "@storybook/preview-api";
1
+ import { enhanceArgTypes } from "storybook/internal/docs-tools";
2
+ import { simulatePageLoad } from "storybook/preview-api";
2
3
  import { h, render } from "@stencil/core";
3
4
 
4
5
  //#region rolldown:runtime
@@ -19,10 +20,12 @@ const render$1 = (args, context) => {
19
20
  if (!cmpName) throw new Error("Component is not registered!");
20
21
  const children = Object.entries(parameters$1.slots || []).map(([key, value]) => {
21
22
  const slot = key === "default" ? void 0 : key;
22
- return typeof value === "string" ? h(null, { slot }, value) : {
23
+ const child = typeof value === "string" ? h(void 0, { slot }, value) : {
23
24
  ...value,
24
25
  $attrs$: { slot }
25
26
  };
27
+ child.$tag$ = child.$tag$ || (slot ? "span" : null);
28
+ return child.$tag$ ? child : child.$children$;
26
29
  });
27
30
  const Component = `${cmpName}`;
28
31
  return h(Component, { ...args }, children);
@@ -42,15 +45,17 @@ function renderToCanvas({ storyFn, showMain, storyContext }, canvasElement) {
42
45
  }
43
46
 
44
47
  //#endregion
45
- //#region src/preview.ts
46
- var preview_exports = {};
47
- __export(preview_exports, {
48
+ //#region src/entry-preview.ts
49
+ var entry_preview_exports = {};
50
+ __export(entry_preview_exports, {
51
+ argTypesEnhancers: () => argTypesEnhancers,
48
52
  parameters: () => parameters,
49
53
  render: () => render$1,
50
54
  renderToCanvas: () => renderToCanvas
51
55
  });
52
56
  const parameters = { renderer: "stencil" };
57
+ const argTypesEnhancers = [enhanceArgTypes];
53
58
 
54
59
  //#endregion
55
- export { parameters, preview_exports, render$1 as render, renderToCanvas };
56
- //# sourceMappingURL=preview-8QXanM3z.js.map
60
+ export { argTypesEnhancers, entry_preview_exports, parameters, render$1 as render, renderToCanvas };
61
+ //# sourceMappingURL=entry-preview-3TGf5TzC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry-preview-3TGf5TzC.js","names":["render: ArgsStoryFn<StencilRenderer<unknown>>","children: any[]","parameters","canvasElement: StencilRenderer<unknown>['canvasElement']","parameters: Parameters","argTypesEnhancers: ArgTypesEnhancer[]"],"sources":["../src/render.ts","../src/entry-preview.ts"],"sourcesContent":["import { ArgsStoryFn, RenderContext } from 'storybook/internal/types';\nimport { simulatePageLoad } from 'storybook/preview-api';\nimport { render as renderStencil, h, VNode, Fragment } from '@stencil/core';\n\nimport type { StencilRenderer } from './types';\n\nexport const render: ArgsStoryFn<StencilRenderer<unknown>> = (args, context) => {\n const { component, parameters } = context;\n\n if (Array.isArray(component)) {\n throw new Error('If your story does not contain a render function, you must provide a component property!');\n }\n\n const cmpName = customElements.getName(component);\n if (!cmpName) {\n throw new Error('Component is not registered!');\n }\n\n const children: any[] = Object.entries<VNode>(parameters.slots || []).map(([key, value]) => {\n // if the parameter key is 'default' don't give it a slot name so it renders just as a child\n const slot = key === 'default' ? undefined : key;\n // if the value it s a string, create a vnode with the string as the children\n const child =\n typeof value === 'string'\n ? h(undefined, { slot }, value)\n : {\n ...value,\n $attrs$: {\n slot,\n },\n };\n // if the value is a fragment and it is a named slot, create a span element with the slot name\n child.$tag$ = child.$tag$ || (slot ? 'span' : null);\n return child.$tag$ ? child : child.$children$;\n });\n\n const Component = `${cmpName}`;\n return h(Component, { ...args }, children);\n};\n\nexport function renderToCanvas(\n { storyFn, showMain, storyContext }: RenderContext<StencilRenderer<unknown>>,\n canvasElement: StencilRenderer<unknown>['canvasElement'],\n) {\n const vdom = storyFn();\n showMain();\n\n /**\n * If the component is not automatically registered after import, register it here\n */\n if (storyContext.component && storyContext.component.is && !customElements.get(storyContext.component.is)) {\n customElements.define(storyContext.component.is, storyContext.component);\n }\n\n if (canvasElement.firstChild) {\n canvasElement.removeChild(canvasElement.firstChild);\n }\n\n const element = document.createElement('div');\n canvasElement.appendChild(element);\n renderStencil(vdom, element);\n simulatePageLoad(element);\n}\n","import { enhanceArgTypes } from 'storybook/internal/docs-tools';\nimport type { ArgTypesEnhancer } from 'storybook/internal/types';\nimport type { Parameters } from './types';\n\nexport const parameters: Parameters = { renderer: 'stencil' };\n\nexport { render, renderToCanvas } from './render';\n\nexport const argTypesEnhancers: ArgTypesEnhancer[] = [enhanceArgTypes];\n"],"mappings":";;;;;;;;;;;;;;;AAMA,MAAaA,WAAgD,CAAC,MAAM,YAAY;CAC9E,MAAM,EAAE,WAAW,0BAAY,GAAG;AAElC,KAAI,MAAM,QAAQ,UAAU,CAC1B,OAAM,IAAI,MAAM;CAGlB,MAAM,UAAU,eAAe,QAAQ,UAAU;AACjD,MAAK,QACH,OAAM,IAAI,MAAM;CAGlB,MAAMC,WAAkB,OAAO,QAAeC,aAAW,SAAS,CAAE,EAAC,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,KAAK;EAE1F,MAAM,OAAO,QAAQ,qBAAwB;EAE7C,MAAM,eACG,UAAU,WACb,UAAa,EAAE,KAAM,GAAE,MAAM,GAC7B;GACE,GAAG;GACH,SAAS,EACP,KACD;EACF;AAEP,QAAM,QAAQ,MAAM,UAAU,OAAO,SAAS;AAC9C,SAAO,MAAM,QAAQ,QAAQ,MAAM;CACpC,EAAC;CAEF,MAAM,aAAa,EAAE,QAAQ;AAC7B,QAAO,EAAE,WAAW,EAAE,GAAG,KAAM,GAAE,SAAS;AAC3C;AAED,SAAgB,eACd,EAAE,SAAS,UAAU,cAAuD,EAC5EC,eACA;CACA,MAAM,OAAO,SAAS;AACtB,WAAU;;;;AAKV,KAAI,aAAa,aAAa,aAAa,UAAU,OAAO,eAAe,IAAI,aAAa,UAAU,GAAG,CACvG,gBAAe,OAAO,aAAa,UAAU,IAAI,aAAa,UAAU;AAG1E,KAAI,cAAc,WAChB,eAAc,YAAY,cAAc,WAAW;CAGrD,MAAM,UAAU,SAAS,cAAc,MAAM;AAC7C,eAAc,YAAY,QAAQ;AAClC,QAAc,MAAM,QAAQ;AAC5B,kBAAiB,QAAQ;AAC1B;;;;;;;;;;;AC1DD,MAAaC,aAAyB,EAAE,UAAU,UAAW;AAI7D,MAAaC,oBAAwC,CAAC,eAAgB"}
@@ -0,0 +1,18 @@
1
+ const require_chunk = require('./chunk-CsX-DzYB.cjs');
2
+ const require_docs = require('./docs-0uSy55NI.cjs');
3
+ const storybook_internal_docs_tools = require_chunk.__toESM(require("storybook/internal/docs-tools"));
4
+
5
+ //#region src/entry-preview-docs.ts
6
+ const decorators = [require_docs.sourceDecorator];
7
+ const parameters = { docs: {
8
+ story: { inline: true },
9
+ source: {
10
+ type: storybook_internal_docs_tools.SourceType.DYNAMIC,
11
+ language: "html"
12
+ }
13
+ } };
14
+
15
+ //#endregion
16
+ exports.decorators = decorators;
17
+ exports.parameters = parameters;
18
+ //# sourceMappingURL=entry-preview-docs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry-preview-docs.cjs","names":["decorators: DecoratorFunction<StencilRenderer<unknown>>[]","sourceDecorator","SourceType"],"sources":["../src/entry-preview-docs.ts"],"sourcesContent":["import { SourceType } from 'storybook/internal/docs-tools';\nimport type { DecoratorFunction } from 'storybook/internal/types';\n\nimport { sourceDecorator } from './docs';\nimport type { StencilRenderer } from './types';\n\nexport const decorators: DecoratorFunction<StencilRenderer<unknown>>[] = [sourceDecorator];\n\nexport const parameters = {\n docs: {\n story: { inline: true },\n source: {\n type: SourceType.DYNAMIC,\n language: 'html',\n },\n },\n};\n"],"mappings":";;;;;AAMA,MAAaA,aAA4D,CAACC,4BAAgB;AAE1F,MAAa,aAAa,EACxB,MAAM;CACJ,OAAO,EAAE,QAAQ,KAAM;CACvB,QAAQ;EACN,MAAMC,yCAAW;EACjB,UAAU;CACX;AACF,EACF"}
@@ -0,0 +1,20 @@
1
+ import { StencilRenderer } from "./types-BjBqnnWi.cjs";
2
+ import { DecoratorFunction } from "storybook/internal/types";
3
+ import { SourceType } from "storybook/internal/docs-tools";
4
+
5
+ //#region src/entry-preview-docs.d.ts
6
+ declare const decorators: DecoratorFunction<StencilRenderer<unknown>>[];
7
+ declare const parameters: {
8
+ docs: {
9
+ story: {
10
+ inline: boolean;
11
+ };
12
+ source: {
13
+ type: SourceType;
14
+ language: string;
15
+ };
16
+ };
17
+ };
18
+ //#endregion
19
+ export { decorators, parameters };
20
+ //# sourceMappingURL=entry-preview-docs.d.cts.map
@@ -0,0 +1,20 @@
1
+ import { StencilRenderer } from "./types-Dzw-ZY4t.js";
2
+ import { SourceType } from "storybook/internal/docs-tools";
3
+ import { DecoratorFunction } from "storybook/internal/types";
4
+
5
+ //#region src/entry-preview-docs.d.ts
6
+ declare const decorators: DecoratorFunction<StencilRenderer<unknown>>[];
7
+ declare const parameters: {
8
+ docs: {
9
+ story: {
10
+ inline: boolean;
11
+ };
12
+ source: {
13
+ type: SourceType;
14
+ language: string;
15
+ };
16
+ };
17
+ };
18
+ //#endregion
19
+ export { decorators, parameters };
20
+ //# sourceMappingURL=entry-preview-docs.d.ts.map
@@ -0,0 +1,16 @@
1
+ import { sourceDecorator } from "./docs-BTql9Bpv.js";
2
+ import { SourceType } from "storybook/internal/docs-tools";
3
+
4
+ //#region src/entry-preview-docs.ts
5
+ const decorators = [sourceDecorator];
6
+ const parameters = { docs: {
7
+ story: { inline: true },
8
+ source: {
9
+ type: SourceType.DYNAMIC,
10
+ language: "html"
11
+ }
12
+ } };
13
+
14
+ //#endregion
15
+ export { decorators, parameters };
16
+ //# sourceMappingURL=entry-preview-docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry-preview-docs.js","names":["decorators: DecoratorFunction<StencilRenderer<unknown>>[]"],"sources":["../src/entry-preview-docs.ts"],"sourcesContent":["import { SourceType } from 'storybook/internal/docs-tools';\nimport type { DecoratorFunction } from 'storybook/internal/types';\n\nimport { sourceDecorator } from './docs';\nimport type { StencilRenderer } from './types';\n\nexport const decorators: DecoratorFunction<StencilRenderer<unknown>>[] = [sourceDecorator];\n\nexport const parameters = {\n docs: {\n story: { inline: true },\n source: {\n type: SourceType.DYNAMIC,\n language: 'html',\n },\n },\n};\n"],"mappings":";;;;AAMA,MAAaA,aAA4D,CAAC,eAAgB;AAE1F,MAAa,aAAa,EACxB,MAAM;CACJ,OAAO,EAAE,QAAQ,KAAM;CACvB,QAAQ;EACN,MAAM,WAAW;EACjB,UAAU;CACX;AACF,EACF"}
@@ -1,5 +1,6 @@
1
1
  const require_chunk = require('./chunk-CsX-DzYB.cjs');
2
- const __storybook_preview_api = require_chunk.__toESM(require("@storybook/preview-api"));
2
+ const storybook_internal_docs_tools = require_chunk.__toESM(require("storybook/internal/docs-tools"));
3
+ const storybook_preview_api = require_chunk.__toESM(require("storybook/preview-api"));
3
4
  const __stencil_core = require_chunk.__toESM(require("@stencil/core"));
4
5
 
5
6
  //#region src/render.ts
@@ -10,10 +11,12 @@ const render = (args, context) => {
10
11
  if (!cmpName) throw new Error("Component is not registered!");
11
12
  const children = Object.entries(parameters$1.slots || []).map(([key, value]) => {
12
13
  const slot = key === "default" ? void 0 : key;
13
- return typeof value === "string" ? (0, __stencil_core.h)(null, { slot }, value) : {
14
+ const child = typeof value === "string" ? (0, __stencil_core.h)(void 0, { slot }, value) : {
14
15
  ...value,
15
16
  $attrs$: { slot }
16
17
  };
18
+ child.$tag$ = child.$tag$ || (slot ? "span" : null);
19
+ return child.$tag$ ? child : child.$children$;
17
20
  });
18
21
  const Component = `${cmpName}`;
19
22
  return (0, __stencil_core.h)(Component, { ...args }, children);
@@ -29,30 +32,38 @@ function renderToCanvas({ storyFn, showMain, storyContext }, canvasElement) {
29
32
  const element = document.createElement("div");
30
33
  canvasElement.appendChild(element);
31
34
  (0, __stencil_core.render)(vdom, element);
32
- (0, __storybook_preview_api.simulatePageLoad)(element);
35
+ (0, storybook_preview_api.simulatePageLoad)(element);
33
36
  }
34
37
 
35
38
  //#endregion
36
- //#region src/preview.ts
37
- var preview_exports = {};
38
- require_chunk.__export(preview_exports, {
39
+ //#region src/entry-preview.ts
40
+ var entry_preview_exports = {};
41
+ require_chunk.__export(entry_preview_exports, {
42
+ argTypesEnhancers: () => argTypesEnhancers,
39
43
  parameters: () => parameters,
40
44
  render: () => render,
41
45
  renderToCanvas: () => renderToCanvas
42
46
  });
43
47
  const parameters = { renderer: "stencil" };
48
+ const argTypesEnhancers = [storybook_internal_docs_tools.enhanceArgTypes];
44
49
 
45
50
  //#endregion
46
- Object.defineProperty(exports, 'parameters', {
51
+ Object.defineProperty(exports, 'argTypesEnhancers', {
47
52
  enumerable: true,
48
53
  get: function () {
49
- return parameters;
54
+ return argTypesEnhancers;
55
+ }
56
+ });
57
+ Object.defineProperty(exports, 'entry_preview_exports', {
58
+ enumerable: true,
59
+ get: function () {
60
+ return entry_preview_exports;
50
61
  }
51
62
  });
52
- Object.defineProperty(exports, 'preview_exports', {
63
+ Object.defineProperty(exports, 'parameters', {
53
64
  enumerable: true,
54
65
  get: function () {
55
- return preview_exports;
66
+ return parameters;
56
67
  }
57
68
  });
58
69
  Object.defineProperty(exports, 'render', {
@@ -67,4 +78,4 @@ Object.defineProperty(exports, 'renderToCanvas', {
67
78
  return renderToCanvas;
68
79
  }
69
80
  });
70
- //# sourceMappingURL=preview-CQxvr_qp.cjs.map
81
+ //# sourceMappingURL=entry-preview-nRsKfRZP.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry-preview-nRsKfRZP.cjs","names":["render: ArgsStoryFn<StencilRenderer<unknown>>","children: any[]","parameters","canvasElement: StencilRenderer<unknown>['canvasElement']","parameters: Parameters","argTypesEnhancers: ArgTypesEnhancer[]","enhanceArgTypes"],"sources":["../src/render.ts","../src/entry-preview.ts"],"sourcesContent":["import { ArgsStoryFn, RenderContext } from 'storybook/internal/types';\nimport { simulatePageLoad } from 'storybook/preview-api';\nimport { render as renderStencil, h, VNode, Fragment } from '@stencil/core';\n\nimport type { StencilRenderer } from './types';\n\nexport const render: ArgsStoryFn<StencilRenderer<unknown>> = (args, context) => {\n const { component, parameters } = context;\n\n if (Array.isArray(component)) {\n throw new Error('If your story does not contain a render function, you must provide a component property!');\n }\n\n const cmpName = customElements.getName(component);\n if (!cmpName) {\n throw new Error('Component is not registered!');\n }\n\n const children: any[] = Object.entries<VNode>(parameters.slots || []).map(([key, value]) => {\n // if the parameter key is 'default' don't give it a slot name so it renders just as a child\n const slot = key === 'default' ? undefined : key;\n // if the value it s a string, create a vnode with the string as the children\n const child =\n typeof value === 'string'\n ? h(undefined, { slot }, value)\n : {\n ...value,\n $attrs$: {\n slot,\n },\n };\n // if the value is a fragment and it is a named slot, create a span element with the slot name\n child.$tag$ = child.$tag$ || (slot ? 'span' : null);\n return child.$tag$ ? child : child.$children$;\n });\n\n const Component = `${cmpName}`;\n return h(Component, { ...args }, children);\n};\n\nexport function renderToCanvas(\n { storyFn, showMain, storyContext }: RenderContext<StencilRenderer<unknown>>,\n canvasElement: StencilRenderer<unknown>['canvasElement'],\n) {\n const vdom = storyFn();\n showMain();\n\n /**\n * If the component is not automatically registered after import, register it here\n */\n if (storyContext.component && storyContext.component.is && !customElements.get(storyContext.component.is)) {\n customElements.define(storyContext.component.is, storyContext.component);\n }\n\n if (canvasElement.firstChild) {\n canvasElement.removeChild(canvasElement.firstChild);\n }\n\n const element = document.createElement('div');\n canvasElement.appendChild(element);\n renderStencil(vdom, element);\n simulatePageLoad(element);\n}\n","import { enhanceArgTypes } from 'storybook/internal/docs-tools';\nimport type { ArgTypesEnhancer } from 'storybook/internal/types';\nimport type { Parameters } from './types';\n\nexport const parameters: Parameters = { renderer: 'stencil' };\n\nexport { render, renderToCanvas } from './render';\n\nexport const argTypesEnhancers: ArgTypesEnhancer[] = [enhanceArgTypes];\n"],"mappings":";;;;;;AAMA,MAAaA,SAAgD,CAAC,MAAM,YAAY;CAC9E,MAAM,EAAE,WAAW,0BAAY,GAAG;AAElC,KAAI,MAAM,QAAQ,UAAU,CAC1B,OAAM,IAAI,MAAM;CAGlB,MAAM,UAAU,eAAe,QAAQ,UAAU;AACjD,MAAK,QACH,OAAM,IAAI,MAAM;CAGlB,MAAMC,WAAkB,OAAO,QAAeC,aAAW,SAAS,CAAE,EAAC,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,KAAK;EAE1F,MAAM,OAAO,QAAQ,qBAAwB;EAE7C,MAAM,eACG,UAAU,WACb,8BAAa,EAAE,KAAM,GAAE,MAAM,GAC7B;GACE,GAAG;GACH,SAAS,EACP,KACD;EACF;AAEP,QAAM,QAAQ,MAAM,UAAU,OAAO,SAAS;AAC9C,SAAO,MAAM,QAAQ,QAAQ,MAAM;CACpC,EAAC;CAEF,MAAM,aAAa,EAAE,QAAQ;AAC7B,QAAO,sBAAE,WAAW,EAAE,GAAG,KAAM,GAAE,SAAS;AAC3C;AAED,SAAgB,eACd,EAAE,SAAS,UAAU,cAAuD,EAC5EC,eACA;CACA,MAAM,OAAO,SAAS;AACtB,WAAU;;;;AAKV,KAAI,aAAa,aAAa,aAAa,UAAU,OAAO,eAAe,IAAI,aAAa,UAAU,GAAG,CACvG,gBAAe,OAAO,aAAa,UAAU,IAAI,aAAa,UAAU;AAG1E,KAAI,cAAc,WAChB,eAAc,YAAY,cAAc,WAAW;CAGrD,MAAM,UAAU,SAAS,cAAc,MAAM;AAC7C,eAAc,YAAY,QAAQ;AAClC,4BAAc,MAAM,QAAQ;AAC5B,6CAAiB,QAAQ;AAC1B;;;;;;;;;;;AC1DD,MAAaC,aAAyB,EAAE,UAAU,UAAW;AAI7D,MAAaC,oBAAwC,CAACC,6CAAgB"}
@@ -0,0 +1,6 @@
1
+ const require_entry_preview = require('./entry-preview-nRsKfRZP.cjs');
2
+
3
+ exports.argTypesEnhancers = require_entry_preview.argTypesEnhancers;
4
+ exports.parameters = require_entry_preview.parameters;
5
+ exports.render = require_entry_preview.render;
6
+ exports.renderToCanvas = require_entry_preview.renderToCanvas;
@@ -0,0 +1,17 @@
1
+ import { Parameters, StencilRenderer } from "./types-BjBqnnWi.cjs";
2
+ import { ArgTypesEnhancer, ArgsStoryFn, RenderContext } from "storybook/internal/types";
3
+
4
+ //#region src/render.d.ts
5
+ declare const render: ArgsStoryFn<StencilRenderer<unknown>>;
6
+ declare function renderToCanvas({
7
+ storyFn,
8
+ showMain,
9
+ storyContext
10
+ }: RenderContext<StencilRenderer<unknown>>, canvasElement: StencilRenderer<unknown>['canvasElement']): void;
11
+ //#endregion
12
+ //#region src/entry-preview.d.ts
13
+ declare const parameters: Parameters;
14
+ declare const argTypesEnhancers: ArgTypesEnhancer[];
15
+ //#endregion
16
+ export { argTypesEnhancers, parameters, render, renderToCanvas };
17
+ //# sourceMappingURL=entry-preview.d.cts.map
@@ -0,0 +1,17 @@
1
+ import { Parameters, StencilRenderer } from "./types-Dzw-ZY4t.js";
2
+ import { ArgTypesEnhancer, ArgsStoryFn, RenderContext } from "storybook/internal/types";
3
+
4
+ //#region src/render.d.ts
5
+ declare const render: ArgsStoryFn<StencilRenderer<unknown>>;
6
+ declare function renderToCanvas({
7
+ storyFn,
8
+ showMain,
9
+ storyContext
10
+ }: RenderContext<StencilRenderer<unknown>>, canvasElement: StencilRenderer<unknown>['canvasElement']): void;
11
+ //#endregion
12
+ //#region src/entry-preview.d.ts
13
+ declare const parameters: Parameters;
14
+ declare const argTypesEnhancers: ArgTypesEnhancer[];
15
+ //#endregion
16
+ export { argTypesEnhancers, parameters, render, renderToCanvas };
17
+ //# sourceMappingURL=entry-preview.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { argTypesEnhancers, parameters, render, renderToCanvas } from "./entry-preview-3TGf5TzC.js";
2
+
3
+ export { argTypesEnhancers, parameters, render, renderToCanvas };
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require('./chunk-CsX-DzYB.cjs');
2
- const require_preview = require('./preview-CQxvr_qp.cjs');
3
- const __storybook_preview_api = require_chunk.__toESM(require("@storybook/preview-api"));
2
+ const require_entry_preview = require('./entry-preview-nRsKfRZP.cjs');
3
+ const storybook_preview_api = require_chunk.__toESM(require("storybook/preview-api"));
4
4
 
5
5
  //#region src/portable-stories.tsx
6
6
  /**
@@ -23,8 +23,8 @@ const __storybook_preview_api = require_chunk.__toESM(require("@storybook/previe
23
23
  * @param projectAnnotations - E.g. (import projectAnnotations from '../.storybook/preview')
24
24
  */
25
25
  function setProjectAnnotations(projectAnnotations) {
26
- (0, __storybook_preview_api.setDefaultProjectAnnotations)(require_preview.preview_exports);
27
- return (0, __storybook_preview_api.setProjectAnnotations)(projectAnnotations);
26
+ (0, storybook_preview_api.setDefaultProjectAnnotations)(require_entry_preview.entry_preview_exports);
27
+ return (0, storybook_preview_api.setProjectAnnotations)(projectAnnotations);
28
28
  }
29
29
 
30
30
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["projectAnnotations:\n | NamedOrDefaultProjectAnnotations<any>\n | NamedOrDefaultProjectAnnotations<any>[]","stencilAnnotations"],"sources":["../src/portable-stories.tsx"],"sourcesContent":["import type {\n NamedOrDefaultProjectAnnotations,\n NormalizedProjectAnnotations,\n} from '@storybook/types';\n\nimport {\n setProjectAnnotations as originalSetProjectAnnotations,\n setDefaultProjectAnnotations,\n} from '@storybook/preview-api';\n\nimport * as stencilAnnotations from './preview';\nimport type { StencilRenderer } from './types';\n\n/**\n * Function that sets the globalConfig of your storybook. The global config is the preview module of\n * your .storybook folder.\n *\n * It should be run a single time, so that your global config (e.g. decorators) is applied to your\n * stories when using `composeStories` or `composeStory`.\n *\n * Example:\n *\n * ```jsx\n * // setup-file.js\n * import { setProjectAnnotations } from '@storybook/web-components';\n * import projectAnnotations from './.storybook/preview';\n *\n * setProjectAnnotations(projectAnnotations);\n * ```\n *\n * @param projectAnnotations - E.g. (import projectAnnotations from '../.storybook/preview')\n */\nexport function setProjectAnnotations(\n projectAnnotations:\n | NamedOrDefaultProjectAnnotations<any>\n | NamedOrDefaultProjectAnnotations<any>[]\n): NormalizedProjectAnnotations<StencilRenderer<unknown>> {\n setDefaultProjectAnnotations(stencilAnnotations);\n return originalSetProjectAnnotations(\n projectAnnotations\n ) as NormalizedProjectAnnotations<StencilRenderer<unknown>>;\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAgCA,SAAgB,sBACZA,oBAGsD;AACtD,2DAA6BC,gCAAmB;AAChD,QAAO,mDACH,mBACH;AACJ"}
1
+ {"version":3,"file":"index.cjs","names":["projectAnnotations: NamedOrDefaultProjectAnnotations<any> | NamedOrDefaultProjectAnnotations<any>[]","stencilAnnotations"],"sources":["../src/portable-stories.tsx"],"sourcesContent":["import type { NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations } from 'storybook/internal/types';\n\nimport {\n setProjectAnnotations as originalSetProjectAnnotations,\n setDefaultProjectAnnotations,\n} from 'storybook/preview-api';\n\nimport * as stencilAnnotations from './entry-preview';\nimport type { StencilRenderer } from './types';\n\n/**\n * Function that sets the globalConfig of your storybook. The global config is the preview module of\n * your .storybook folder.\n *\n * It should be run a single time, so that your global config (e.g. decorators) is applied to your\n * stories when using `composeStories` or `composeStory`.\n *\n * Example:\n *\n * ```jsx\n * // setup-file.js\n * import { setProjectAnnotations } from '@storybook/web-components';\n * import projectAnnotations from './.storybook/preview';\n *\n * setProjectAnnotations(projectAnnotations);\n * ```\n *\n * @param projectAnnotations - E.g. (import projectAnnotations from '../.storybook/preview')\n */\nexport function setProjectAnnotations(\n projectAnnotations: NamedOrDefaultProjectAnnotations<any> | NamedOrDefaultProjectAnnotations<any>[],\n): NormalizedProjectAnnotations<StencilRenderer<unknown>> {\n setDefaultProjectAnnotations(stencilAnnotations);\n return originalSetProjectAnnotations(projectAnnotations) as NormalizedProjectAnnotations<StencilRenderer<unknown>>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA6BA,SAAgB,sBACdA,oBACwD;AACxD,yDAA6BC,4CAAmB;AAChD,QAAO,iDAA8B,mBAAmB;AACzD"}
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { ArgTypes, Args, Decorator, Loader, Meta, Parameters, Preview, StencilRenderer, StoryContext, StoryFn, StoryObj, StorybookConfig, StrictArgs } from "./types-BC4h6q-i.cjs";
2
- import { NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations } from "@storybook/types";
1
+ import { ArgTypes, Args, Decorator, Loader, Meta, Parameters, Preview, StencilRenderer, StoryContext, StoryFn, StoryObj, StorybookConfig, StrictArgs } from "./types-BjBqnnWi.cjs";
2
+ import { NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations } from "storybook/internal/types";
3
3
 
4
4
  //#region @types/rollup-parseAst.d.ts
5
5
 
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import "./rollup-parseAst-t-4tfMPG.js";
2
- import { ArgTypes, Args, Decorator, Loader, Meta, Parameters, Preview, StencilRenderer, StoryContext, StoryFn, StoryObj, StorybookConfig, StrictArgs } from "./types-CrBVXXLO.js";
3
- import { NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations } from "@storybook/types";
1
+ import "./rollup-parseAst-DXE9IfcK.js";
2
+ import { ArgTypes, Args, Decorator, Loader, Meta, Parameters, Preview, StencilRenderer, StoryContext, StoryFn, StoryObj, StorybookConfig, StrictArgs } from "./types-Dzw-ZY4t.js";
3
+ import { NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations } from "storybook/internal/types";
4
4
 
5
5
  //#region src/portable-stories.d.ts
6
6
 
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { preview_exports } from "./preview-8QXanM3z.js";
2
- import "./rollup-parseAst-t-4tfMPG.d.ts";
3
- import { setDefaultProjectAnnotations, setProjectAnnotations as setProjectAnnotations$1 } from "@storybook/preview-api";
1
+ import { entry_preview_exports } from "./entry-preview-3TGf5TzC.js";
2
+ import "./rollup-parseAst-DXE9IfcK.d.ts";
3
+ import { setDefaultProjectAnnotations, setProjectAnnotations as setProjectAnnotations$1 } from "storybook/preview-api";
4
4
 
5
5
  //#region src/portable-stories.tsx
6
6
  /**
@@ -23,7 +23,7 @@ import { setDefaultProjectAnnotations, setProjectAnnotations as setProjectAnnota
23
23
  * @param projectAnnotations - E.g. (import projectAnnotations from '../.storybook/preview')
24
24
  */
25
25
  function setProjectAnnotations(projectAnnotations) {
26
- setDefaultProjectAnnotations(preview_exports);
26
+ setDefaultProjectAnnotations(entry_preview_exports);
27
27
  return setProjectAnnotations$1(projectAnnotations);
28
28
  }
29
29
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["projectAnnotations:\n | NamedOrDefaultProjectAnnotations<any>\n | NamedOrDefaultProjectAnnotations<any>[]","stencilAnnotations"],"sources":["../src/portable-stories.tsx"],"sourcesContent":["import type {\n NamedOrDefaultProjectAnnotations,\n NormalizedProjectAnnotations,\n} from '@storybook/types';\n\nimport {\n setProjectAnnotations as originalSetProjectAnnotations,\n setDefaultProjectAnnotations,\n} from '@storybook/preview-api';\n\nimport * as stencilAnnotations from './preview';\nimport type { StencilRenderer } from './types';\n\n/**\n * Function that sets the globalConfig of your storybook. The global config is the preview module of\n * your .storybook folder.\n *\n * It should be run a single time, so that your global config (e.g. decorators) is applied to your\n * stories when using `composeStories` or `composeStory`.\n *\n * Example:\n *\n * ```jsx\n * // setup-file.js\n * import { setProjectAnnotations } from '@storybook/web-components';\n * import projectAnnotations from './.storybook/preview';\n *\n * setProjectAnnotations(projectAnnotations);\n * ```\n *\n * @param projectAnnotations - E.g. (import projectAnnotations from '../.storybook/preview')\n */\nexport function setProjectAnnotations(\n projectAnnotations:\n | NamedOrDefaultProjectAnnotations<any>\n | NamedOrDefaultProjectAnnotations<any>[]\n): NormalizedProjectAnnotations<StencilRenderer<unknown>> {\n setDefaultProjectAnnotations(stencilAnnotations);\n return originalSetProjectAnnotations(\n projectAnnotations\n ) as NormalizedProjectAnnotations<StencilRenderer<unknown>>;\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAgCA,SAAgB,sBACZA,oBAGsD;AACtD,8BAA6BC,gBAAmB;AAChD,QAAO,wBACH,mBACH;AACJ"}
1
+ {"version":3,"file":"index.js","names":["projectAnnotations: NamedOrDefaultProjectAnnotations<any> | NamedOrDefaultProjectAnnotations<any>[]","stencilAnnotations"],"sources":["../src/portable-stories.tsx"],"sourcesContent":["import type { NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations } from 'storybook/internal/types';\n\nimport {\n setProjectAnnotations as originalSetProjectAnnotations,\n setDefaultProjectAnnotations,\n} from 'storybook/preview-api';\n\nimport * as stencilAnnotations from './entry-preview';\nimport type { StencilRenderer } from './types';\n\n/**\n * Function that sets the globalConfig of your storybook. The global config is the preview module of\n * your .storybook folder.\n *\n * It should be run a single time, so that your global config (e.g. decorators) is applied to your\n * stories when using `composeStories` or `composeStory`.\n *\n * Example:\n *\n * ```jsx\n * // setup-file.js\n * import { setProjectAnnotations } from '@storybook/web-components';\n * import projectAnnotations from './.storybook/preview';\n *\n * setProjectAnnotations(projectAnnotations);\n * ```\n *\n * @param projectAnnotations - E.g. (import projectAnnotations from '../.storybook/preview')\n */\nexport function setProjectAnnotations(\n projectAnnotations: NamedOrDefaultProjectAnnotations<any> | NamedOrDefaultProjectAnnotations<any>[],\n): NormalizedProjectAnnotations<StencilRenderer<unknown>> {\n setDefaultProjectAnnotations(stencilAnnotations);\n return originalSetProjectAnnotations(projectAnnotations) as NormalizedProjectAnnotations<StencilRenderer<unknown>>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA6BA,SAAgB,sBACdA,oBACwD;AACxD,8BAA6BC,sBAAmB;AAChD,QAAO,wBAA8B,mBAAmB;AACzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["config: StorybookConfig"],"sources":["../../src/node/index.ts"],"sourcesContent":["import type { StorybookConfig } from '../types';\n\nexport function defineMain(config: StorybookConfig) {\n return config;\n}"],"mappings":";;AAEA,SAAgB,WAAWA,QAAyB;AAClD,QAAO;AACR"}
1
+ {"version":3,"file":"index.cjs","names":["config: StorybookConfig"],"sources":["../../src/node/index.ts"],"sourcesContent":["import type { StorybookConfig } from '../types';\n\nexport function defineMain(config: StorybookConfig) {\n return config;\n}\n"],"mappings":";;AAEA,SAAgB,WAAWA,QAAyB;AAClD,QAAO;AACR"}
@@ -1,4 +1,4 @@
1
- import { StorybookConfig } from "../types-BC4h6q-i.cjs";
1
+ import { StorybookConfig } from "../types-BjBqnnWi.cjs";
2
2
 
3
3
  //#region src/node/index.d.ts
4
4
  declare function defineMain(config: StorybookConfig): StorybookConfig;
@@ -1,4 +1,4 @@
1
- import { StorybookConfig } from "../types-CrBVXXLO.js";
1
+ import { StorybookConfig } from "../types-Dzw-ZY4t.js";
2
2
 
3
3
  //#region src/node/index.d.ts
4
4
  declare function defineMain(config: StorybookConfig): StorybookConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["config: StorybookConfig"],"sources":["../../src/node/index.ts"],"sourcesContent":["import type { StorybookConfig } from '../types';\n\nexport function defineMain(config: StorybookConfig) {\n return config;\n}"],"mappings":";AAEA,SAAgB,WAAWA,QAAyB;AAClD,QAAO;AACR"}
1
+ {"version":3,"file":"index.js","names":["config: StorybookConfig"],"sources":["../../src/node/index.ts"],"sourcesContent":["import type { StorybookConfig } from '../types';\n\nexport function defineMain(config: StorybookConfig) {\n return config;\n}\n"],"mappings":";AAEA,SAAgB,WAAWA,QAAyB;AAClD,QAAO;AACR"}
package/dist/preset.cjs CHANGED
@@ -1,15 +1,15 @@
1
1
  const require_chunk = require('./chunk-CsX-DzYB.cjs');
2
- const path = require_chunk.__toESM(require("path"));
3
2
  const module$1 = require_chunk.__toESM(require("module"));
3
+ const path = require_chunk.__toESM(require("path"));
4
4
  const url = require_chunk.__toESM(require("url"));
5
- const vite = require_chunk.__toESM(require("vite"));
6
5
  const unplugin_stencil_vite = require_chunk.__toESM(require("unplugin-stencil/vite"));
6
+ const vite = require_chunk.__toESM(require("vite"));
7
7
 
8
8
  //#region src/preset.ts
9
9
  const require$1 = (0, module$1.createRequire)(require("url").pathToFileURL(__filename).href);
10
10
  const getAbsolutePath = (input) => (0, path.dirname)(require$1.resolve((0, path.join)(input, "package.json")));
11
11
  const __dirname$1 = (0, path.dirname)((0, url.fileURLToPath)(require("url").pathToFileURL(__filename).href));
12
- const renderer = (0, path.join)(__dirname$1, "preview.js");
12
+ const renderer = (0, path.join)(__dirname$1, "entry-preview.js");
13
13
  const core = {
14
14
  builder: getAbsolutePath("@storybook/builder-vite"),
15
15
  renderer
@@ -27,7 +27,7 @@ const viteFinal = async (defaultConfig) => {
27
27
  const previewAnnotations = async (input = [], options) => {
28
28
  const docsEnabled = Object.keys(await options.presets.apply("docs", {}, options)).length > 0;
29
29
  const result = [];
30
- return result.concat(input).concat([renderer]).concat(docsEnabled ? [(0, path.resolve)(getAbsolutePath("@storybook/html"), "dist", "entry-preview-docs.mjs")] : []);
30
+ return result.concat(input).concat([renderer]).concat(docsEnabled ? [(0, path.join)(__dirname$1, "entry-preview-docs.js")] : []);
31
31
  };
32
32
 
33
33
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"preset.cjs","names":["require","input: I","__dirname","core: StorybookConfig['core']","viteFinal: StorybookConfig[\"viteFinal\"]","previewAnnotations: StorybookConfig[\"previewAnnotations\"]","result: string[]"],"sources":["../src/preset.ts"],"sourcesContent":["/**\n * we can't prefix the Node.js imports with `node:` because it will break\n * within Storybook due to its Vite setup.\n */\nimport { dirname, join, resolve } from \"path\";\nimport { createRequire } from \"module\";\nimport { fileURLToPath } from 'url';\n\nimport { mergeConfig } from 'vite'\nimport stencil from 'unplugin-stencil/vite'\n\nimport { StorybookConfig } from './types.js'\n\nconst require = createRequire(import.meta.url);\nconst getAbsolutePath = <I extends string>(input: I): I =>\n dirname(require.resolve(join(input, 'package.json'))) as any;\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nconst renderer = join(__dirname, 'preview.js')\n\nexport const core: StorybookConfig['core'] = {\n builder: getAbsolutePath('@storybook/builder-vite'),\n renderer,\n};\n\nexport const viteFinal: StorybookConfig[\"viteFinal\"] = async (\n defaultConfig,\n) => {\n const config = mergeConfig(defaultConfig, {\n build: {\n target: \"es2020\",\n rollupOptions: {\n external: ['@stencil/core'],\n },\n },\n plugins: [stencil({\n rootPath: defaultConfig.root,\n })],\n });\n\n return config;\n};\n\nexport const previewAnnotations: StorybookConfig[\"previewAnnotations\"] = async (\n input = [],\n options\n) => {\n const docsEnabled = Object.keys(await options.presets.apply('docs', {}, options)).length > 0;\n const result: string[] = [];\n\n return result\n .concat(input)\n .concat([renderer])\n .concat(docsEnabled ? [resolve(getAbsolutePath('@storybook/html'), 'dist', 'entry-preview-docs.mjs')] : []);\n};\n"],"mappings":";;;;;;;;AAaA,MAAMA,YAAU,0EAA8B;AAC9C,MAAM,kBAAkB,CAAmBC,UACzC,kBAAQ,UAAQ,QAAQ,eAAK,OAAO,eAAe,CAAC,CAAC;AAEvD,MAAMC,cAAY,kBAAQ,qEAA8B,CAAC;AAEzD,MAAM,WAAW,eAAKA,aAAW,aAAa;AAE9C,MAAaC,OAAgC;CAC3C,SAAS,gBAAgB,0BAA0B;CACnD;AACD;AAED,MAAaC,YAA0C,OACrD,kBACG;CACH,MAAM,SAAS,sBAAY,eAAe;EACxC,OAAO;GACL,QAAQ;GACR,eAAe,EACb,UAAU,CAAC,eAAgB,EAC5B;EACF;EACD,SAAS,CAAC,mCAAQ,EAChB,UAAU,cAAc,KACzB,EAAC,AAAC;CACJ,EAAC;AAEF,QAAO;AACR;AAED,MAAaC,qBAA4D,OACvE,QAAQ,CAAE,GACV,YACG;CACH,MAAM,cAAc,OAAO,KAAK,MAAM,QAAQ,QAAQ,MAAM,QAAQ,CAAE,GAAE,QAAQ,CAAC,CAAC,SAAS;CAC3F,MAAMC,SAAmB,CAAE;AAE3B,QAAO,OACJ,OAAO,MAAM,CACb,OAAO,CAAC,QAAS,EAAC,CAClB,OAAO,cAAc,CAAC,kBAAQ,gBAAgB,kBAAkB,EAAE,QAAQ,yBAAyB,AAAC,IAAG,CAAE,EAAC;AAC9G"}
1
+ {"version":3,"file":"preset.cjs","names":["require","input: I","__dirname","core: StorybookConfig['core']","viteFinal: StorybookConfig['viteFinal']","previewAnnotations: StorybookConfig['previewAnnotations']","result: string[]"],"sources":["../src/preset.ts"],"sourcesContent":["/**\n * we can't prefix the Node.js imports with `node:` because it will break\n * within Storybook due to its Vite setup.\n */\nimport { createRequire } from 'module';\nimport { dirname, join } from 'path';\nimport { fileURLToPath } from 'url';\n\nimport stencil from 'unplugin-stencil/vite';\nimport { mergeConfig } from 'vite';\n\nimport { StorybookConfig } from './types.js';\n\nconst require = createRequire(import.meta.url);\nconst getAbsolutePath = <I extends string>(input: I): I => dirname(require.resolve(join(input, 'package.json'))) as any;\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nconst renderer = join(__dirname, 'entry-preview.js');\n\nexport const core: StorybookConfig['core'] = {\n builder: getAbsolutePath('@storybook/builder-vite'),\n renderer,\n};\n\nexport const viteFinal: StorybookConfig['viteFinal'] = async (defaultConfig) => {\n const config = mergeConfig(defaultConfig, {\n build: {\n target: 'es2020',\n rollupOptions: {\n external: ['@stencil/core'],\n },\n },\n plugins: [\n stencil({\n rootPath: defaultConfig.root,\n }),\n ],\n });\n\n return config;\n};\n\nexport const previewAnnotations: StorybookConfig['previewAnnotations'] = async (input = [], options) => {\n const docsEnabled = Object.keys(await options.presets.apply('docs', {}, options)).length > 0;\n const result: string[] = [];\n\n return result\n .concat(input)\n .concat([renderer])\n .concat(docsEnabled ? [join(__dirname, 'entry-preview-docs.js')] : []);\n};\n"],"mappings":";;;;;;;;AAaA,MAAMA,YAAU,0EAA8B;AAC9C,MAAM,kBAAkB,CAAmBC,UAAgB,kBAAQ,UAAQ,QAAQ,eAAK,OAAO,eAAe,CAAC,CAAC;AAEhH,MAAMC,cAAY,kBAAQ,qEAA8B,CAAC;AAEzD,MAAM,WAAW,eAAKA,aAAW,mBAAmB;AAEpD,MAAaC,OAAgC;CAC3C,SAAS,gBAAgB,0BAA0B;CACnD;AACD;AAED,MAAaC,YAA0C,OAAO,kBAAkB;CAC9E,MAAM,SAAS,sBAAY,eAAe;EACxC,OAAO;GACL,QAAQ;GACR,eAAe,EACb,UAAU,CAAC,eAAgB,EAC5B;EACF;EACD,SAAS,CACP,mCAAQ,EACN,UAAU,cAAc,KACzB,EAAC,AACH;CACF,EAAC;AAEF,QAAO;AACR;AAED,MAAaC,qBAA4D,OAAO,QAAQ,CAAE,GAAE,YAAY;CACtG,MAAM,cAAc,OAAO,KAAK,MAAM,QAAQ,QAAQ,MAAM,QAAQ,CAAE,GAAE,QAAQ,CAAC,CAAC,SAAS;CAC3F,MAAMC,SAAmB,CAAE;AAE3B,QAAO,OACJ,OAAO,MAAM,CACb,OAAO,CAAC,QAAS,EAAC,CAClB,OAAO,cAAc,CAAC,eAAKJ,aAAW,wBAAwB,AAAC,IAAG,CAAE,EAAC;AACzE"}
package/dist/preset.d.cts CHANGED
@@ -1,9 +1,9 @@
1
- import { StorybookConfig } from "./types-BC4h6q-i.cjs";
1
+ import { StorybookConfig } from "./types-BjBqnnWi.cjs";
2
2
 
3
3
  //#region src/preset.d.ts
4
4
  declare const core: StorybookConfig['core'];
5
- declare const viteFinal: StorybookConfig["viteFinal"];
6
- declare const previewAnnotations: StorybookConfig["previewAnnotations"];
5
+ declare const viteFinal: StorybookConfig['viteFinal'];
6
+ declare const previewAnnotations: StorybookConfig['previewAnnotations'];
7
7
  //#endregion
8
8
  export { core, previewAnnotations, viteFinal };
9
9
  //# sourceMappingURL=preset.d.cts.map
package/dist/preset.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { StorybookConfig } from "./types-CrBVXXLO.js";
1
+ import { StorybookConfig } from "./types-Dzw-ZY4t.js";
2
2
 
3
3
  //#region src/preset.d.ts
4
4
  declare const core: StorybookConfig['core'];
5
- declare const viteFinal: StorybookConfig["viteFinal"];
6
- declare const previewAnnotations: StorybookConfig["previewAnnotations"];
5
+ declare const viteFinal: StorybookConfig['viteFinal'];
6
+ declare const previewAnnotations: StorybookConfig['previewAnnotations'];
7
7
  //#endregion
8
8
  export { core, previewAnnotations, viteFinal };
9
9
  //# sourceMappingURL=preset.d.ts.map
package/dist/preset.js CHANGED
@@ -1,14 +1,14 @@
1
- import { dirname, join, resolve } from "path";
2
1
  import { createRequire } from "module";
2
+ import { dirname, join } from "path";
3
3
  import { fileURLToPath } from "url";
4
- import { mergeConfig } from "vite";
5
4
  import stencil from "unplugin-stencil/vite";
5
+ import { mergeConfig } from "vite";
6
6
 
7
7
  //#region src/preset.ts
8
8
  const require = createRequire(import.meta.url);
9
9
  const getAbsolutePath = (input) => dirname(require.resolve(join(input, "package.json")));
10
10
  const __dirname = dirname(fileURLToPath(import.meta.url));
11
- const renderer = join(__dirname, "preview.js");
11
+ const renderer = join(__dirname, "entry-preview.js");
12
12
  const core = {
13
13
  builder: getAbsolutePath("@storybook/builder-vite"),
14
14
  renderer
@@ -26,7 +26,7 @@ const viteFinal = async (defaultConfig) => {
26
26
  const previewAnnotations = async (input = [], options) => {
27
27
  const docsEnabled = Object.keys(await options.presets.apply("docs", {}, options)).length > 0;
28
28
  const result = [];
29
- return result.concat(input).concat([renderer]).concat(docsEnabled ? [resolve(getAbsolutePath("@storybook/html"), "dist", "entry-preview-docs.mjs")] : []);
29
+ return result.concat(input).concat([renderer]).concat(docsEnabled ? [join(__dirname, "entry-preview-docs.js")] : []);
30
30
  };
31
31
 
32
32
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"preset.js","names":["input: I","core: StorybookConfig['core']","viteFinal: StorybookConfig[\"viteFinal\"]","previewAnnotations: StorybookConfig[\"previewAnnotations\"]","result: string[]"],"sources":["../src/preset.ts"],"sourcesContent":["/**\n * we can't prefix the Node.js imports with `node:` because it will break\n * within Storybook due to its Vite setup.\n */\nimport { dirname, join, resolve } from \"path\";\nimport { createRequire } from \"module\";\nimport { fileURLToPath } from 'url';\n\nimport { mergeConfig } from 'vite'\nimport stencil from 'unplugin-stencil/vite'\n\nimport { StorybookConfig } from './types.js'\n\nconst require = createRequire(import.meta.url);\nconst getAbsolutePath = <I extends string>(input: I): I =>\n dirname(require.resolve(join(input, 'package.json'))) as any;\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nconst renderer = join(__dirname, 'preview.js')\n\nexport const core: StorybookConfig['core'] = {\n builder: getAbsolutePath('@storybook/builder-vite'),\n renderer,\n};\n\nexport const viteFinal: StorybookConfig[\"viteFinal\"] = async (\n defaultConfig,\n) => {\n const config = mergeConfig(defaultConfig, {\n build: {\n target: \"es2020\",\n rollupOptions: {\n external: ['@stencil/core'],\n },\n },\n plugins: [stencil({\n rootPath: defaultConfig.root,\n })],\n });\n\n return config;\n};\n\nexport const previewAnnotations: StorybookConfig[\"previewAnnotations\"] = async (\n input = [],\n options\n) => {\n const docsEnabled = Object.keys(await options.presets.apply('docs', {}, options)).length > 0;\n const result: string[] = [];\n\n return result\n .concat(input)\n .concat([renderer])\n .concat(docsEnabled ? [resolve(getAbsolutePath('@storybook/html'), 'dist', 'entry-preview-docs.mjs')] : []);\n};\n"],"mappings":";;;;;;;AAaA,MAAM,UAAU,cAAc,OAAO,KAAK,IAAI;AAC9C,MAAM,kBAAkB,CAAmBA,UACzC,QAAQ,QAAQ,QAAQ,KAAK,OAAO,eAAe,CAAC,CAAC;AAEvD,MAAM,YAAY,QAAQ,cAAc,OAAO,KAAK,IAAI,CAAC;AAEzD,MAAM,WAAW,KAAK,WAAW,aAAa;AAE9C,MAAaC,OAAgC;CAC3C,SAAS,gBAAgB,0BAA0B;CACnD;AACD;AAED,MAAaC,YAA0C,OACrD,kBACG;CACH,MAAM,SAAS,YAAY,eAAe;EACxC,OAAO;GACL,QAAQ;GACR,eAAe,EACb,UAAU,CAAC,eAAgB,EAC5B;EACF;EACD,SAAS,CAAC,QAAQ,EAChB,UAAU,cAAc,KACzB,EAAC,AAAC;CACJ,EAAC;AAEF,QAAO;AACR;AAED,MAAaC,qBAA4D,OACvE,QAAQ,CAAE,GACV,YACG;CACH,MAAM,cAAc,OAAO,KAAK,MAAM,QAAQ,QAAQ,MAAM,QAAQ,CAAE,GAAE,QAAQ,CAAC,CAAC,SAAS;CAC3F,MAAMC,SAAmB,CAAE;AAE3B,QAAO,OACJ,OAAO,MAAM,CACb,OAAO,CAAC,QAAS,EAAC,CAClB,OAAO,cAAc,CAAC,QAAQ,gBAAgB,kBAAkB,EAAE,QAAQ,yBAAyB,AAAC,IAAG,CAAE,EAAC;AAC9G"}
1
+ {"version":3,"file":"preset.js","names":["input: I","core: StorybookConfig['core']","viteFinal: StorybookConfig['viteFinal']","previewAnnotations: StorybookConfig['previewAnnotations']","result: string[]"],"sources":["../src/preset.ts"],"sourcesContent":["/**\n * we can't prefix the Node.js imports with `node:` because it will break\n * within Storybook due to its Vite setup.\n */\nimport { createRequire } from 'module';\nimport { dirname, join } from 'path';\nimport { fileURLToPath } from 'url';\n\nimport stencil from 'unplugin-stencil/vite';\nimport { mergeConfig } from 'vite';\n\nimport { StorybookConfig } from './types.js';\n\nconst require = createRequire(import.meta.url);\nconst getAbsolutePath = <I extends string>(input: I): I => dirname(require.resolve(join(input, 'package.json'))) as any;\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\n\nconst renderer = join(__dirname, 'entry-preview.js');\n\nexport const core: StorybookConfig['core'] = {\n builder: getAbsolutePath('@storybook/builder-vite'),\n renderer,\n};\n\nexport const viteFinal: StorybookConfig['viteFinal'] = async (defaultConfig) => {\n const config = mergeConfig(defaultConfig, {\n build: {\n target: 'es2020',\n rollupOptions: {\n external: ['@stencil/core'],\n },\n },\n plugins: [\n stencil({\n rootPath: defaultConfig.root,\n }),\n ],\n });\n\n return config;\n};\n\nexport const previewAnnotations: StorybookConfig['previewAnnotations'] = async (input = [], options) => {\n const docsEnabled = Object.keys(await options.presets.apply('docs', {}, options)).length > 0;\n const result: string[] = [];\n\n return result\n .concat(input)\n .concat([renderer])\n .concat(docsEnabled ? [join(__dirname, 'entry-preview-docs.js')] : []);\n};\n"],"mappings":";;;;;;;AAaA,MAAM,UAAU,cAAc,OAAO,KAAK,IAAI;AAC9C,MAAM,kBAAkB,CAAmBA,UAAgB,QAAQ,QAAQ,QAAQ,KAAK,OAAO,eAAe,CAAC,CAAC;AAEhH,MAAM,YAAY,QAAQ,cAAc,OAAO,KAAK,IAAI,CAAC;AAEzD,MAAM,WAAW,KAAK,WAAW,mBAAmB;AAEpD,MAAaC,OAAgC;CAC3C,SAAS,gBAAgB,0BAA0B;CACnD;AACD;AAED,MAAaC,YAA0C,OAAO,kBAAkB;CAC9E,MAAM,SAAS,YAAY,eAAe;EACxC,OAAO;GACL,QAAQ;GACR,eAAe,EACb,UAAU,CAAC,eAAgB,EAC5B;EACF;EACD,SAAS,CACP,QAAQ,EACN,UAAU,cAAc,KACzB,EAAC,AACH;CACF,EAAC;AAEF,QAAO;AACR;AAED,MAAaC,qBAA4D,OAAO,QAAQ,CAAE,GAAE,YAAY;CACtG,MAAM,cAAc,OAAO,KAAK,MAAM,QAAQ,QAAQ,MAAM,QAAQ,CAAE,GAAE,QAAQ,CAAC,CAAC,SAAS;CAC3F,MAAMC,SAAmB,CAAE;AAE3B,QAAO,OACJ,OAAO,MAAM,CACb,OAAO,CAAC,QAAS,EAAC,CAClB,OAAO,cAAc,CAAC,KAAK,WAAW,wBAAwB,AAAC,IAAG,CAAE,EAAC;AACzE"}
@@ -21,4 +21,4 @@ declare module 'rollup/parseAst' {
21
21
  export function parseAst(code: string, options?: any): any;
22
22
  export function parseAstAsync(code: string, options?: any): Promise<any>;
23
23
  }
24
- //# sourceMappingURL=rollup-parseAst-t-4tfMPG.d.ts.map
24
+ //# sourceMappingURL=rollup-parseAst-DXE9IfcK.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { JSX, VNode } from "@stencil/core";
2
+ import { AnnotatedStoryFn, ArgTypes, Args, Args as Args$1, ComponentAnnotations, DecoratorFunction, LoaderFunction, Parameters, ProjectAnnotations, StoryAnnotations, StoryContext, StorybookConfig, StrictArgs, StrictArgs as StrictArgs$1, WebRenderer } from "storybook/internal/types";
2
3
  import { StorybookConfigVite } from "@storybook/builder-vite";
3
- import { AnnotatedStoryFn, ArgTypes, Args, Args as Args$1, ComponentAnnotations, DecoratorFunction, LoaderFunction, Parameters, ProjectAnnotations, StoryAnnotations, StoryContext, StorybookConfig, StrictArgs, StrictArgs as StrictArgs$1, WebRenderer } from "@storybook/types";
4
4
 
5
5
  //#region src/types.d.ts
6
6
  interface DevJSX {
@@ -68,4 +68,4 @@ declare global {
68
68
  }
69
69
  //#endregion
70
70
  export { ArgTypes, Args$1 as Args, Decorator, Loader, Meta, Parameters, Preview, StencilRenderer, StoryContext$1 as StoryContext, StoryFn, StoryObj, StorybookConfig$1 as StorybookConfig, StrictArgs$1 as StrictArgs };
71
- //# sourceMappingURL=types-CrBVXXLO.d.ts.map
71
+ //# sourceMappingURL=types-BjBqnnWi.d.cts.map
@@ -1,6 +1,6 @@
1
1
  import { JSX, VNode } from "@stencil/core";
2
+ import { AnnotatedStoryFn, ArgTypes, Args, Args as Args$1, ComponentAnnotations, DecoratorFunction, LoaderFunction, Parameters, ProjectAnnotations, StoryAnnotations, StoryContext, StorybookConfig, StrictArgs, StrictArgs as StrictArgs$1, WebRenderer } from "storybook/internal/types";
2
3
  import { StorybookConfigVite } from "@storybook/builder-vite";
3
- import { AnnotatedStoryFn, ArgTypes, Args, Args as Args$1, ComponentAnnotations, DecoratorFunction, LoaderFunction, Parameters, ProjectAnnotations, StoryAnnotations, StoryContext, StorybookConfig, StrictArgs, StrictArgs as StrictArgs$1, WebRenderer } from "@storybook/types";
4
4
 
5
5
  //#region src/types.d.ts
6
6
  interface DevJSX {
@@ -68,4 +68,4 @@ declare global {
68
68
  }
69
69
  //#endregion
70
70
  export { ArgTypes, Args$1 as Args, Decorator, Loader, Meta, Parameters, Preview, StencilRenderer, StoryContext$1 as StoryContext, StoryFn, StoryObj, StorybookConfig$1 as StorybookConfig, StrictArgs$1 as StrictArgs };
71
- //# sourceMappingURL=types-BC4h6q-i.d.cts.map
71
+ //# sourceMappingURL=types-Dzw-ZY4t.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stencil/storybook-plugin",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "Storybook plugin for Stencil",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/stenciljs/storybook",
@@ -64,24 +64,20 @@
64
64
  "build": "tsdown"
65
65
  },
66
66
  "dependencies": {
67
- "@storybook/addon-actions": "^8.6.12",
68
- "@storybook/builder-vite": "^8.6.12",
69
- "@storybook/core-events": "^8.6.12",
70
- "@storybook/docs-tools": "^8.6.12",
67
+ "@storybook/addon-actions": "^9.0.5",
68
+ "@storybook/builder-vite": "^9.0.5",
71
69
  "@storybook/global": "^5.0.0",
72
- "@storybook/html": "^8.6.12",
73
- "@storybook/preview-api": "^8.6.12",
74
- "@storybook/types": "^8.6.12",
70
+ "@storybook/html": "^9.0.5",
75
71
  "preact-render-to-string": "^6.5.13",
76
72
  "react-docgen-typescript": "^2.2.2",
77
73
  "unplugin-stencil": "^0.3.2"
78
74
  },
79
75
  "peerDependencies": {
80
- "@stencil/core": "^4.30.0"
76
+ "@stencil/core": "^4.30.0",
77
+ "storybook": "^9.0.5"
81
78
  },
82
79
  "devDependencies": {
83
- "@stencil/core": "4.30.0",
84
- "@storybook/types": "^8.6.12",
80
+ "@stencil/core": "^4.30.0",
85
81
  "@types/node": "^22.15.3",
86
82
  "tsdown": "^0.12.4",
87
83
  "typescript": "~5.8.3",
package/preset.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // This file seems to only be necessary for Windows
2
- module.exports = require("./dist/preset.js");
2
+ export * from "./dist/preset.js";
@@ -24,5 +24,5 @@ export const Primary: Story = {
24
24
  first: 'John',
25
25
  last: 'Doe',
26
26
  middle: 'Michael',
27
- }
27
+ },
28
28
  };
@@ -32,4 +32,4 @@ export class MyComponent {
32
32
 
33
33
  function format(first?: string, middle?: string, last?: string): string {
34
34
  return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');
35
- }
35
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview-8QXanM3z.js","names":["render: ArgsStoryFn<StencilRenderer<unknown>>","children: VNode[]","parameters","canvasElement: StencilRenderer<unknown>['canvasElement']","parameters: { renderer: 'stencil' }"],"sources":["../src/render.ts","../src/preview.ts"],"sourcesContent":["import { ArgsStoryFn, RenderContext } from '@storybook/types'\nimport { simulatePageLoad } from '@storybook/preview-api'\nimport { render as renderStencil, h, VNode } from '@stencil/core'\n\nimport type { StencilRenderer } from './types'\n\nexport const render: ArgsStoryFn<StencilRenderer<unknown>> = (args, context) => {\n const { component, parameters } = context;\n\n if (Array.isArray(component)) {\n throw new Error('If your story does not contain a render function, you must provide a component property!')\n }\n\n const cmpName = customElements.getName(component)\n if (!cmpName) {\n throw new Error('Component is not registered!')\n }\n\n const children: VNode[] = Object.entries<VNode>(parameters.slots || []).map(\n ([key, value]) => {\n // if the parameter key is 'default' don't give it a slot name so it renders just as a child\n const slot = key === 'default' ? undefined : key\n // if the value it s a string, create a vnode with the string as the children\n return typeof value === \"string\"\n ? h(null, { slot }, value)\n : {\n ...value,\n $attrs$: {\n slot,\n },\n };\n },\n );\n\n const Component = `${cmpName}`;\n return h(Component, { ...args }, children)\n};\n\nexport function renderToCanvas(\n { storyFn, showMain, storyContext }: RenderContext<StencilRenderer<unknown>>,\n canvasElement: StencilRenderer<unknown>['canvasElement']\n) {\n const vdom = storyFn()\n showMain()\n\n /**\n * If the component is not automatically registered after import, register it here\n */\n if (storyContext.component && storyContext.component.is && !customElements.get(storyContext.component.is)) {\n customElements.define(storyContext.component.is, storyContext.component);\n }\n\n if (canvasElement.firstChild) {\n canvasElement.removeChild(canvasElement.firstChild)\n }\n\n const element = document.createElement('div')\n canvasElement.appendChild(element)\n renderStencil(vdom, element);\n simulatePageLoad(element)\n}\n","export const parameters: { renderer: 'stencil' } = { renderer: 'stencil' };\nexport { render, renderToCanvas } from './render.js';\n"],"mappings":";;;;;;;;;;;;;;AAMA,MAAaA,WAAgD,CAAC,MAAM,YAAY;CAC5E,MAAM,EAAE,WAAW,0BAAY,GAAG;AAElC,KAAI,MAAM,QAAQ,UAAU,CACxB,OAAM,IAAI,MAAM;CAGpB,MAAM,UAAU,eAAe,QAAQ,UAAU;AACjD,MAAK,QACD,OAAM,IAAI,MAAM;CAGpB,MAAMC,WAAoB,OAAO,QAAeC,aAAW,SAAS,CAAE,EAAC,CAAC,IACtE,CAAC,CAAC,KAAK,MAAM,KAAK;EAEd,MAAM,OAAO,QAAQ,qBAAwB;AAE7C,gBAAc,UAAU,WACpB,EAAE,MAAM,EAAE,KAAM,GAAE,MAAM,GACxB;GACE,GAAG;GACH,SAAS,EACP,KACD;EACF;CACR,EACF;CAED,MAAM,aAAa,EAAE,QAAQ;AAC7B,QAAO,EAAE,WAAW,EAAE,GAAG,KAAM,GAAE,SAAS;AAC7C;AAED,SAAgB,eACZ,EAAE,SAAS,UAAU,cAAuD,EAC5EC,eACF;CACE,MAAM,OAAO,SAAS;AACtB,WAAU;;;;AAKV,KAAI,aAAa,aAAa,aAAa,UAAU,OAAO,eAAe,IAAI,aAAa,UAAU,GAAG,CACrG,gBAAe,OAAO,aAAa,UAAU,IAAI,aAAa,UAAU;AAG5E,KAAI,cAAc,WACd,eAAc,YAAY,cAAc,WAAW;CAGvD,MAAM,UAAU,SAAS,cAAc,MAAM;AAC7C,eAAc,YAAY,QAAQ;AAClC,QAAc,MAAM,QAAQ;AAC5B,kBAAiB,QAAQ;AAC5B;;;;;;;;;;AC5DD,MAAaC,aAAsC,EAAE,UAAU,UAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview-CQxvr_qp.cjs","names":["render: ArgsStoryFn<StencilRenderer<unknown>>","children: VNode[]","parameters","canvasElement: StencilRenderer<unknown>['canvasElement']","parameters: { renderer: 'stencil' }"],"sources":["../src/render.ts","../src/preview.ts"],"sourcesContent":["import { ArgsStoryFn, RenderContext } from '@storybook/types'\nimport { simulatePageLoad } from '@storybook/preview-api'\nimport { render as renderStencil, h, VNode } from '@stencil/core'\n\nimport type { StencilRenderer } from './types'\n\nexport const render: ArgsStoryFn<StencilRenderer<unknown>> = (args, context) => {\n const { component, parameters } = context;\n\n if (Array.isArray(component)) {\n throw new Error('If your story does not contain a render function, you must provide a component property!')\n }\n\n const cmpName = customElements.getName(component)\n if (!cmpName) {\n throw new Error('Component is not registered!')\n }\n\n const children: VNode[] = Object.entries<VNode>(parameters.slots || []).map(\n ([key, value]) => {\n // if the parameter key is 'default' don't give it a slot name so it renders just as a child\n const slot = key === 'default' ? undefined : key\n // if the value it s a string, create a vnode with the string as the children\n return typeof value === \"string\"\n ? h(null, { slot }, value)\n : {\n ...value,\n $attrs$: {\n slot,\n },\n };\n },\n );\n\n const Component = `${cmpName}`;\n return h(Component, { ...args }, children)\n};\n\nexport function renderToCanvas(\n { storyFn, showMain, storyContext }: RenderContext<StencilRenderer<unknown>>,\n canvasElement: StencilRenderer<unknown>['canvasElement']\n) {\n const vdom = storyFn()\n showMain()\n\n /**\n * If the component is not automatically registered after import, register it here\n */\n if (storyContext.component && storyContext.component.is && !customElements.get(storyContext.component.is)) {\n customElements.define(storyContext.component.is, storyContext.component);\n }\n\n if (canvasElement.firstChild) {\n canvasElement.removeChild(canvasElement.firstChild)\n }\n\n const element = document.createElement('div')\n canvasElement.appendChild(element)\n renderStencil(vdom, element);\n simulatePageLoad(element)\n}\n","export const parameters: { renderer: 'stencil' } = { renderer: 'stencil' };\nexport { render, renderToCanvas } from './render.js';\n"],"mappings":";;;;;AAMA,MAAaA,SAAgD,CAAC,MAAM,YAAY;CAC5E,MAAM,EAAE,WAAW,0BAAY,GAAG;AAElC,KAAI,MAAM,QAAQ,UAAU,CACxB,OAAM,IAAI,MAAM;CAGpB,MAAM,UAAU,eAAe,QAAQ,UAAU;AACjD,MAAK,QACD,OAAM,IAAI,MAAM;CAGpB,MAAMC,WAAoB,OAAO,QAAeC,aAAW,SAAS,CAAE,EAAC,CAAC,IACtE,CAAC,CAAC,KAAK,MAAM,KAAK;EAEd,MAAM,OAAO,QAAQ,qBAAwB;AAE7C,gBAAc,UAAU,WACpB,sBAAE,MAAM,EAAE,KAAM,GAAE,MAAM,GACxB;GACE,GAAG;GACH,SAAS,EACP,KACD;EACF;CACR,EACF;CAED,MAAM,aAAa,EAAE,QAAQ;AAC7B,QAAO,sBAAE,WAAW,EAAE,GAAG,KAAM,GAAE,SAAS;AAC7C;AAED,SAAgB,eACZ,EAAE,SAAS,UAAU,cAAuD,EAC5EC,eACF;CACE,MAAM,OAAO,SAAS;AACtB,WAAU;;;;AAKV,KAAI,aAAa,aAAa,aAAa,UAAU,OAAO,eAAe,IAAI,aAAa,UAAU,GAAG,CACrG,gBAAe,OAAO,aAAa,UAAU,IAAI,aAAa,UAAU;AAG5E,KAAI,cAAc,WACd,eAAc,YAAY,cAAc,WAAW;CAGvD,MAAM,UAAU,SAAS,cAAc,MAAM;AAC7C,eAAc,YAAY,QAAQ;AAClC,4BAAc,MAAM,QAAQ;AAC5B,+CAAiB,QAAQ;AAC5B;;;;;;;;;;AC5DD,MAAaC,aAAsC,EAAE,UAAU,UAAW"}
package/dist/preview.cjs DELETED
@@ -1,5 +0,0 @@
1
- const require_preview = require('./preview-CQxvr_qp.cjs');
2
-
3
- exports.parameters = require_preview.parameters;
4
- exports.render = require_preview.render;
5
- exports.renderToCanvas = require_preview.renderToCanvas;
@@ -1,18 +0,0 @@
1
- import { StencilRenderer } from "./types-BC4h6q-i.cjs";
2
- import { ArgsStoryFn, RenderContext } from "@storybook/types";
3
-
4
- //#region src/render.d.ts
5
- declare const render: ArgsStoryFn<StencilRenderer<unknown>>;
6
- declare function renderToCanvas({
7
- storyFn,
8
- showMain,
9
- storyContext
10
- }: RenderContext<StencilRenderer<unknown>>, canvasElement: StencilRenderer<unknown>['canvasElement']): void;
11
- //#endregion
12
- //#region src/preview.d.ts
13
- declare const parameters: {
14
- renderer: 'stencil';
15
- };
16
- //#endregion
17
- export { parameters, render, renderToCanvas };
18
- //# sourceMappingURL=preview.d.cts.map
package/dist/preview.d.ts DELETED
@@ -1,18 +0,0 @@
1
- import { StencilRenderer } from "./types-CrBVXXLO.js";
2
- import { ArgsStoryFn, RenderContext } from "@storybook/types";
3
-
4
- //#region src/render.d.ts
5
- declare const render: ArgsStoryFn<StencilRenderer<unknown>>;
6
- declare function renderToCanvas({
7
- storyFn,
8
- showMain,
9
- storyContext
10
- }: RenderContext<StencilRenderer<unknown>>, canvasElement: StencilRenderer<unknown>['canvasElement']): void;
11
- //#endregion
12
- //#region src/preview.d.ts
13
- declare const parameters: {
14
- renderer: 'stencil';
15
- };
16
- //#endregion
17
- export { parameters, render, renderToCanvas };
18
- //# sourceMappingURL=preview.d.ts.map
package/dist/preview.js DELETED
@@ -1,3 +0,0 @@
1
- import { parameters, render, renderToCanvas } from "./preview-8QXanM3z.js";
2
-
3
- export { parameters, render, renderToCanvas };