@stencil/storybook-plugin 0.0.15 → 0.1.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.
package/README.md CHANGED
@@ -75,6 +75,36 @@ export const Primary: Story = {
75
75
  };
76
76
  ```
77
77
 
78
+ If you are using slots in your component, pass them as parameters to the story object like this:
79
+
80
+ ```tsx
81
+ import type { Meta, StoryObj } from '@stencil/storybook-plugin';
82
+ import { h } from '@stencil/core';
83
+
84
+ import { MySlotted } from './my-slotted';
85
+
86
+ const meta = {
87
+ title: 'MySlotted',
88
+ component: MySlotted,
89
+ parameters: {
90
+ layout: 'centered',
91
+ },
92
+ } satisfies Meta<MySlotted>;
93
+
94
+ export default meta;
95
+ type Story = StoryObj<MySlotted>;
96
+
97
+ export const Primary: Story = {
98
+ args: {},
99
+ parameters: {
100
+ slots: {
101
+ default: 'Hello World',
102
+ another: <div>another</div>
103
+ },
104
+ }
105
+ };
106
+ ```
107
+
78
108
  ## Limitations
79
109
 
80
110
  This is early development and we are still seeing some limitations we want to see fixed:
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require('./chunk-CsX-DzYB.cjs');
2
- const require_preview = require('./preview-Nz-UTIbe.cjs');
2
+ const require_preview = require('./preview-CQxvr_qp.cjs');
3
3
  const __storybook_preview_api = require_chunk.__toESM(require("@storybook/preview-api"));
4
4
 
5
5
  //#region src/portable-stories.tsx
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { ArgTypes, Args, Decorator, Loader, Meta, Parameters, Preview, StencilRenderer, StoryContext, StoryFn, StoryObj, StorybookConfig, StrictArgs } from "./types-ttzorXzB.cjs";
1
+ import { ArgTypes, Args, Decorator, Loader, Meta, Parameters, Preview, StencilRenderer, StoryContext, StoryFn, StoryObj, StorybookConfig, StrictArgs } from "./types-BC4h6q-i.cjs";
2
2
  import { NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations } from "@storybook/types";
3
3
 
4
4
  //#region @types/rollup-parseAst.d.ts
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import "./rollup-parseAst-t-4tfMPG.js";
2
- import { ArgTypes, Args, Decorator, Loader, Meta, Parameters, Preview, StencilRenderer, StoryContext, StoryFn, StoryObj, StorybookConfig, StrictArgs } from "./types-B4NSOnDQ.js";
2
+ import { ArgTypes, Args, Decorator, Loader, Meta, Parameters, Preview, StencilRenderer, StoryContext, StoryFn, StoryObj, StorybookConfig, StrictArgs } from "./types-CrBVXXLO.js";
3
3
  import { NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations } from "@storybook/types";
4
4
 
5
5
  //#region src/portable-stories.d.ts
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { preview_exports } from "./preview-B75wzZrU.js";
1
+ import { preview_exports } from "./preview-8QXanM3z.js";
2
2
  import "./rollup-parseAst-t-4tfMPG.d.ts";
3
3
  import { setDefaultProjectAnnotations, setProjectAnnotations as setProjectAnnotations$1 } from "@storybook/preview-api";
4
4
 
@@ -1,4 +1,4 @@
1
- import { StorybookConfig } from "../types-ttzorXzB.cjs";
1
+ import { StorybookConfig } from "../types-BC4h6q-i.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-B4NSOnDQ.js";
1
+ import { StorybookConfig } from "../types-CrBVXXLO.js";
2
2
 
3
3
  //#region src/node/index.d.ts
4
4
  declare function defineMain(config: StorybookConfig): StorybookConfig;
package/dist/preset.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { StorybookConfig } from "./types-ttzorXzB.cjs";
1
+ import { StorybookConfig } from "./types-BC4h6q-i.cjs";
2
2
 
3
3
  //#region src/preset.d.ts
4
4
  declare const core: StorybookConfig['core'];
package/dist/preset.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { StorybookConfig } from "./types-B4NSOnDQ.js";
1
+ import { StorybookConfig } from "./types-CrBVXXLO.js";
2
2
 
3
3
  //#region src/preset.d.ts
4
4
  declare const core: StorybookConfig['core'];
@@ -13,12 +13,19 @@ var __export = (target, all) => {
13
13
  //#endregion
14
14
  //#region src/render.ts
15
15
  const render$1 = (args, context) => {
16
- const { component } = context;
16
+ const { component, parameters: parameters$1 } = context;
17
17
  if (Array.isArray(component)) throw new Error("If your story does not contain a render function, you must provide a component property!");
18
18
  const cmpName = customElements.getName(component);
19
19
  if (!cmpName) throw new Error("Component is not registered!");
20
+ const children = Object.entries(parameters$1.slots || []).map(([key, value]) => {
21
+ const slot = key === "default" ? void 0 : key;
22
+ return typeof value === "string" ? h(null, { slot }, value) : {
23
+ ...value,
24
+ $attrs$: { slot }
25
+ };
26
+ });
20
27
  const Component = `${cmpName}`;
21
- return h(Component, { ...args });
28
+ return h(Component, { ...args }, children);
22
29
  };
23
30
  function renderToCanvas({ storyFn, showMain, storyContext }, canvasElement) {
24
31
  const vdom = storyFn();
@@ -46,4 +53,4 @@ const parameters = { renderer: "stencil" };
46
53
 
47
54
  //#endregion
48
55
  export { parameters, preview_exports, render$1 as render, renderToCanvas };
49
- //# sourceMappingURL=preview-B75wzZrU.js.map
56
+ //# sourceMappingURL=preview-8QXanM3z.js.map
@@ -0,0 +1 @@
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"}
@@ -4,12 +4,19 @@ const __stencil_core = require_chunk.__toESM(require("@stencil/core"));
4
4
 
5
5
  //#region src/render.ts
6
6
  const render = (args, context) => {
7
- const { component } = context;
7
+ const { component, parameters: parameters$1 } = context;
8
8
  if (Array.isArray(component)) throw new Error("If your story does not contain a render function, you must provide a component property!");
9
9
  const cmpName = customElements.getName(component);
10
10
  if (!cmpName) throw new Error("Component is not registered!");
11
+ const children = Object.entries(parameters$1.slots || []).map(([key, value]) => {
12
+ const slot = key === "default" ? void 0 : key;
13
+ return typeof value === "string" ? (0, __stencil_core.h)(null, { slot }, value) : {
14
+ ...value,
15
+ $attrs$: { slot }
16
+ };
17
+ });
11
18
  const Component = `${cmpName}`;
12
- return (0, __stencil_core.h)(Component, { ...args });
19
+ return (0, __stencil_core.h)(Component, { ...args }, children);
13
20
  };
14
21
  function renderToCanvas({ storyFn, showMain, storyContext }, canvasElement) {
15
22
  const vdom = storyFn();
@@ -60,4 +67,4 @@ Object.defineProperty(exports, 'renderToCanvas', {
60
67
  return renderToCanvas;
61
68
  }
62
69
  });
63
- //# sourceMappingURL=preview-Nz-UTIbe.cjs.map
70
+ //# sourceMappingURL=preview-CQxvr_qp.cjs.map
@@ -0,0 +1 @@
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 CHANGED
@@ -1,4 +1,4 @@
1
- const require_preview = require('./preview-Nz-UTIbe.cjs');
1
+ const require_preview = require('./preview-CQxvr_qp.cjs');
2
2
 
3
3
  exports.parameters = require_preview.parameters;
4
4
  exports.render = require_preview.render;
@@ -1,4 +1,4 @@
1
- import { StencilRenderer } from "./types-ttzorXzB.cjs";
1
+ import { StencilRenderer } from "./types-BC4h6q-i.cjs";
2
2
  import { ArgsStoryFn, RenderContext } from "@storybook/types";
3
3
 
4
4
  //#region src/render.d.ts
package/dist/preview.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { StencilRenderer } from "./types-B4NSOnDQ.js";
1
+ import { StencilRenderer } from "./types-CrBVXXLO.js";
2
2
  import { ArgsStoryFn, RenderContext } from "@storybook/types";
3
3
 
4
4
  //#region src/render.d.ts
package/dist/preview.js CHANGED
@@ -1,3 +1,3 @@
1
- import { parameters, render, renderToCanvas } from "./preview-B75wzZrU.js";
1
+ import { parameters, render, renderToCanvas } from "./preview-8QXanM3z.js";
2
2
 
3
3
  export { parameters, render, renderToCanvas };
@@ -57,13 +57,15 @@ type StorybookConfig$1 = Omit<StorybookConfig, 'framework'> & {
57
57
  * This is necessary to allow the use of Stencil components in Storybook.
58
58
  * Without we get are getting type errors.
59
59
  */
60
+ type StencilIntrinsic = JSX.IntrinsicElements;
61
+ type StencilElement = JSX.Element;
60
62
  declare global {
61
63
  namespace JSX {
62
- interface IntrinsicElements extends JSX.IntrinsicElements {}
63
- interface Element extends JSX.Element {}
64
+ interface IntrinsicElements extends StencilIntrinsic {}
65
+ interface Element extends StencilElement {}
64
66
  interface ElementClass {}
65
67
  }
66
68
  }
67
69
  //#endregion
68
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 };
69
- //# sourceMappingURL=types-ttzorXzB.d.cts.map
71
+ //# sourceMappingURL=types-BC4h6q-i.d.cts.map
@@ -57,13 +57,15 @@ type StorybookConfig$1 = Omit<StorybookConfig, 'framework'> & {
57
57
  * This is necessary to allow the use of Stencil components in Storybook.
58
58
  * Without we get are getting type errors.
59
59
  */
60
+ type StencilIntrinsic = JSX.IntrinsicElements;
61
+ type StencilElement = JSX.Element;
60
62
  declare global {
61
63
  namespace JSX {
62
- interface IntrinsicElements extends JSX.IntrinsicElements {}
63
- interface Element extends JSX.Element {}
64
+ interface IntrinsicElements extends StencilIntrinsic {}
65
+ interface Element extends StencilElement {}
64
66
  interface ElementClass {}
65
67
  }
66
68
  }
67
69
  //#endregion
68
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 };
69
- //# sourceMappingURL=types-B4NSOnDQ.d.ts.map
71
+ //# sourceMappingURL=types-CrBVXXLO.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stencil/storybook-plugin",
3
- "version": "0.0.15",
3
+ "version": "0.1.0",
4
4
  "description": "Storybook plugin for Stencil",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/stenciljs/storybook",
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview-B75wzZrU.js","names":["render: ArgsStoryFn<StencilRenderer<unknown>>","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 } from '@stencil/core'\n\nimport type { StencilRenderer } from './types'\n\nexport const render: ArgsStoryFn<StencilRenderer<unknown>> = (args, context) => {\n const { component } = 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 Component = `${cmpName}`;\n return h(Component, { ...args })\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,GAAG;AAEtB,KAAI,MAAM,QAAQ,UAAU,CACxB,OAAM,IAAI,MAAM;CAGpB,MAAM,UAAU,eAAe,QAAQ,UAAU;AACjD,MAAK,QACD,OAAM,IAAI,MAAM;CAGpB,MAAM,aAAa,EAAE,QAAQ;AAC7B,QAAO,EAAE,WAAW,EAAE,GAAG,KAAM,EAAC;AACnC;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;;;;;;;;;;AC5CD,MAAaC,aAAsC,EAAE,UAAU,UAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview-Nz-UTIbe.cjs","names":["render: ArgsStoryFn<StencilRenderer<unknown>>","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 } from '@stencil/core'\n\nimport type { StencilRenderer } from './types'\n\nexport const render: ArgsStoryFn<StencilRenderer<unknown>> = (args, context) => {\n const { component } = 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 Component = `${cmpName}`;\n return h(Component, { ...args })\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,GAAG;AAEtB,KAAI,MAAM,QAAQ,UAAU,CACxB,OAAM,IAAI,MAAM;CAGpB,MAAM,UAAU,eAAe,QAAQ,UAAU;AACjD,MAAK,QACD,OAAM,IAAI,MAAM;CAGpB,MAAM,aAAa,EAAE,QAAQ;AAC7B,QAAO,sBAAE,WAAW,EAAE,GAAG,KAAM,EAAC;AACnC;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;;;;;;;;;;AC5CD,MAAaC,aAAsC,EAAE,UAAU,UAAW"}