@storybook/web-components 7.1.0-alpha.4 → 7.1.0-alpha.40
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/dist/chunk-757FFUVQ.mjs +13 -0
- package/dist/config.d.ts +5 -24
- package/dist/config.js +2 -2
- package/dist/config.mjs +11 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index.mjs +1 -1
- package/dist/{types-a4f869af.d.ts → types-089d0f09.d.ts} +2 -2
- package/package.json +16 -15
- package/src/docs/__testfixtures__/lit-element-demo-card/input.js +199 -0
- package/src/docs/__testfixtures__/lit-html-welcome/input.js +61 -0
- package/src/typings.d.ts +5 -0
- package/template/cli/js/Header.js +1 -1
- package/template/cli/js/Page.js +1 -1
- package/template/cli/ts-3-8/Header.ts +1 -1
- package/template/cli/ts-3-8/Page.ts +1 -1
- package/template/cli/ts-4-9/Header.ts +1 -1
- package/template/cli/ts-4-9/Page.ts +1 -1
- package/template/stories/custom-elements.json +2 -2
- package/template/stories/demo-wc-card/DemoWcCard.js +1 -1
- package/template/stories/demo-wc-card.stories.js +16 -8
- package/dist/chunk-VBW6MM3C.mjs +0 -5
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { global } from '@storybook/global';
|
|
2
|
+
import { start, simulatePageLoad, simulateDOMContentLoaded } from '@storybook/preview-api';
|
|
3
|
+
import { dedent } from 'ts-dedent';
|
|
4
|
+
import { render as render$1 } from 'lit';
|
|
5
|
+
import { isTemplateResult } from 'lit/directive-helpers.js';
|
|
6
|
+
|
|
7
|
+
var{window:globalWindow}=global;globalWindow.STORYBOOK_ENV="web-components";var {Node}=global,render=(args,context)=>{let{id,component}=context;if(!component)throw new Error(`Unable to render story ${id} as the component annotation is missing from the default export`);let element=document.createElement(component);return Object.entries(args).forEach(([key,val])=>{element[key]=val;}),element};function renderToCanvas({storyFn,kind,name,showMain,showError,forceRemount},canvasElement){let element=storyFn();if(showMain(),isTemplateResult(element)){(forceRemount||!canvasElement.querySelector('[id="root-inner"]'))&&(canvasElement.innerHTML='<div id="root-inner"></div>');let renderTo=canvasElement.querySelector('[id="root-inner"]');render$1(element,renderTo),simulatePageLoad(canvasElement);}else if(typeof element=="string")canvasElement.innerHTML=element,simulatePageLoad(canvasElement);else if(element instanceof Node){if(canvasElement.firstChild===element&&!forceRemount)return;canvasElement.innerHTML="",canvasElement.appendChild(element),simulateDOMContentLoaded();}else showError({title:`Expecting an HTML snippet or DOM node from the story: "${name}" of "${kind}".`,description:dedent`
|
|
8
|
+
Did you forget to return the HTML snippet from the story?
|
|
9
|
+
Use "() => <your snippet or node>" or when defining the story.
|
|
10
|
+
`});}var RENDERER="web-components",api=start(renderToCanvas),storiesOf=(kind,m)=>api.clientApi.storiesOf(kind,m).addParameters({renderer:RENDERER}),configure=(...args)=>api.configure(RENDERER,...args),forceReRender=api.forceReRender,raw=api.clientApi.raw;function isValidComponent(tagName){if(!tagName)return !1;if(typeof tagName=="string")return !0;throw new Error('Provided component needs to be a string. e.g. component: "my-element"')}function isValidMetaData(customElements){if(!customElements)return !1;if(customElements.tags&&Array.isArray(customElements.tags)||customElements.modules&&Array.isArray(customElements.modules))return !0;throw new Error(`You need to setup valid meta data in your config.js via setCustomElements().
|
|
11
|
+
See the readme of addon-docs for web components for more details.`)}function setCustomElements(customElements){global.__STORYBOOK_CUSTOM_ELEMENTS__=customElements;}function setCustomElementsManifest(customElements){global.__STORYBOOK_CUSTOM_ELEMENTS_MANIFEST__=customElements;}function getCustomElements(){return global.__STORYBOOK_CUSTOM_ELEMENTS__||global.__STORYBOOK_CUSTOM_ELEMENTS_MANIFEST__}var{window,EventSource}=global;typeof module<"u"&&module?.hot?.decline&&(module.hot.decline(),new EventSource("__webpack_hmr").addEventListener("message",function(event){try{let{action}=JSON.parse(event.data);action==="built"&&window.location.reload();}catch{}}));
|
|
12
|
+
|
|
13
|
+
export { configure, forceReRender, getCustomElements, isValidComponent, isValidMetaData, raw, render, renderToCanvas, setCustomElements, setCustomElementsManifest, storiesOf };
|
package/dist/config.d.ts
CHANGED
|
@@ -1,32 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { PartialStoryFn, StoryContext, ArgsStoryFn, RenderContext } from '@storybook/types';
|
|
4
|
-
import { W as WebComponentsRenderer } from './types-a4f869af.js';
|
|
1
|
+
import { Addon_DecoratorFunction, ArgTypesEnhancer, ArgsStoryFn, RenderContext } from '@storybook/types';
|
|
2
|
+
import { S as StoryFnHtmlReturnType, W as WebComponentsRenderer } from './types-089d0f09.js';
|
|
5
3
|
import 'lit';
|
|
6
4
|
|
|
7
|
-
declare
|
|
8
|
-
|
|
9
|
-
declare const decorators: (typeof sourceDecorator)[];
|
|
10
|
-
declare const argTypesEnhancers: (<TRenderer extends lib_types_dist.Renderer>(context: lib_types_dist.StoryContextForEnhancers<TRenderer, lib_types_dist.Args>) => lib_types_dist.StrictArgTypes<lib_types_dist.Args>)[];
|
|
5
|
+
declare const decorators: Addon_DecoratorFunction<StoryFnHtmlReturnType>[];
|
|
6
|
+
declare const argTypesEnhancers: ArgTypesEnhancer[];
|
|
11
7
|
|
|
12
8
|
declare const render: ArgsStoryFn<WebComponentsRenderer>;
|
|
13
9
|
declare function renderToCanvas({ storyFn, kind, name, showMain, showError, forceRemount }: RenderContext<WebComponentsRenderer>, canvasElement: WebComponentsRenderer['canvasElement']): void;
|
|
14
10
|
|
|
15
|
-
declare const parameters: {
|
|
16
|
-
docs: {
|
|
17
|
-
extractArgTypes: (tagName: string) => {
|
|
18
|
-
[x: string]: lib_types_dist.InputType;
|
|
19
|
-
};
|
|
20
|
-
extractComponentDescription: (tagName: string) => string;
|
|
21
|
-
story: {
|
|
22
|
-
inline: boolean;
|
|
23
|
-
};
|
|
24
|
-
source: {
|
|
25
|
-
type: lib_docs_tools_dist.SourceType;
|
|
26
|
-
language: string;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
renderer: "web-components";
|
|
30
|
-
};
|
|
11
|
+
declare const parameters: {};
|
|
31
12
|
|
|
32
13
|
export { argTypesEnhancers, decorators, parameters, render, renderToCanvas };
|
package/dist/config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var config_exports={};__export(config_exports,{argTypesEnhancers:()=>argTypesEnhancers,decorators:()=>decorators,parameters:()=>parameters2,render:()=>render,renderToCanvas:()=>renderToCanvas});module.exports=__toCommonJS(config_exports);var import_docs_tools2=require("@storybook/docs-tools");var import_client_logger=require("@storybook/client-logger");var import_global4=require("@storybook/global");var import_global=require("@storybook/global"),{window:globalWindow}=import_global.global;globalWindow.STORYBOOK_ENV="web-components";var import_preview_api2=require("@storybook/preview-api");var import_global2=require("@storybook/global"),import_ts_dedent=require("ts-dedent"),import_lit=require("lit"),import_directive_helpers=require("lit/directive-helpers.js"),import_preview_api=require("@storybook/preview-api"),{Node}=import_global2.global,render=(args,context)=>{let{id,component}=context;if(!component)throw new Error(`Unable to render story ${id} as the component annotation is missing from the default export`);let element=document.createElement(component);return Object.entries(args).forEach(([key,val])=>{element[key]=val}),element};function renderToCanvas({storyFn,kind,name,showMain,showError,forceRemount},canvasElement){let element=storyFn();if(showMain(),(0,import_directive_helpers.isTemplateResult)(element)){(forceRemount||!canvasElement.querySelector('[id="root-inner"]'))&&(canvasElement.innerHTML='<div id="root-inner"></div>');let renderTo=canvasElement.querySelector('[id="root-inner"]');(0,import_lit.render)(element,renderTo),(0,import_preview_api.simulatePageLoad)(canvasElement)}else if(typeof element=="string")canvasElement.innerHTML=element,(0,import_preview_api.simulatePageLoad)(canvasElement);else if(element instanceof Node){if(canvasElement.firstChild===element&&!forceRemount)return;canvasElement.innerHTML="",canvasElement.appendChild(element),(0,import_preview_api.simulateDOMContentLoaded)()}else showError({title:`Expecting an HTML snippet or DOM node from the story: "${name}" of "${kind}".`,description:import_ts_dedent.dedent`
|
|
1
|
+
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var config_exports={};__export(config_exports,{argTypesEnhancers:()=>argTypesEnhancers,decorators:()=>decorators,parameters:()=>parameters2,render:()=>render,renderToCanvas:()=>renderToCanvas});module.exports=__toCommonJS(config_exports);var import_docs_tools2=require("@storybook/docs-tools");var import_tiny_invariant=__toESM(require("tiny-invariant")),import_client_logger=require("@storybook/client-logger");var import_global4=require("@storybook/global");var import_global=require("@storybook/global"),{window:globalWindow}=import_global.global;globalWindow.STORYBOOK_ENV="web-components";var import_preview_api2=require("@storybook/preview-api");var import_global2=require("@storybook/global"),import_ts_dedent=require("ts-dedent"),import_lit=require("lit"),import_directive_helpers=require("lit/directive-helpers.js"),import_preview_api=require("@storybook/preview-api"),{Node}=import_global2.global,render=(args,context)=>{let{id,component}=context;if(!component)throw new Error(`Unable to render story ${id} as the component annotation is missing from the default export`);let element=document.createElement(component);return Object.entries(args).forEach(([key,val])=>{element[key]=val}),element};function renderToCanvas({storyFn,kind,name,showMain,showError,forceRemount},canvasElement){let element=storyFn();if(showMain(),(0,import_directive_helpers.isTemplateResult)(element)){(forceRemount||!canvasElement.querySelector('[id="root-inner"]'))&&(canvasElement.innerHTML='<div id="root-inner"></div>');let renderTo=canvasElement.querySelector('[id="root-inner"]');(0,import_lit.render)(element,renderTo),(0,import_preview_api.simulatePageLoad)(canvasElement)}else if(typeof element=="string")canvasElement.innerHTML=element,(0,import_preview_api.simulatePageLoad)(canvasElement);else if(element instanceof Node){if(canvasElement.firstChild===element&&!forceRemount)return;canvasElement.innerHTML="",canvasElement.appendChild(element),(0,import_preview_api.simulateDOMContentLoaded)()}else showError({title:`Expecting an HTML snippet or DOM node from the story: "${name}" of "${kind}".`,description:import_ts_dedent.dedent`
|
|
2
2
|
Did you forget to return the HTML snippet from the story?
|
|
3
3
|
Use "() => <your snippet or node>" or when defining the story.
|
|
4
4
|
`})}var api=(0,import_preview_api2.start)(renderToCanvas);var forceReRender=api.forceReRender,raw=api.clientApi.raw;var import_global3=require("@storybook/global");function isValidComponent(tagName){if(!tagName)return!1;if(typeof tagName=="string")return!0;throw new Error('Provided component needs to be a string. e.g. component: "my-element"')}function isValidMetaData(customElements){if(!customElements)return!1;if(customElements.tags&&Array.isArray(customElements.tags)||customElements.modules&&Array.isArray(customElements.modules))return!0;throw new Error(`You need to setup valid meta data in your config.js via setCustomElements().
|
|
5
|
-
See the readme of addon-docs for web components for more details.`)}function getCustomElements(){return import_global3.global.__STORYBOOK_CUSTOM_ELEMENTS__||import_global3.global.__STORYBOOK_CUSTOM_ELEMENTS_MANIFEST__}var{window:window2,EventSource}=import_global4.global;module&&module.hot&&
|
|
5
|
+
See the readme of addon-docs for web components for more details.`)}function getCustomElements(){return import_global3.global.__STORYBOOK_CUSTOM_ELEMENTS__||import_global3.global.__STORYBOOK_CUSTOM_ELEMENTS_MANIFEST__}var{window:window2,EventSource}=import_global4.global,_a;typeof module<"u"&&((_a=module==null?void 0:module.hot)!=null&&_a.decline)&&(module.hot.decline(),new EventSource("__webpack_hmr").addEventListener("message",function(event){try{let{action}=JSON.parse(event.data);action==="built"&&window2.location.reload()}catch{}}));function mapItem(item,category){var _a2,_b;let type;switch(category){case"attributes":case"properties":type={name:((_a2=item.type)==null?void 0:_a2.text)||item.type};break;case"slots":type={name:"string"};break;default:type={name:"void"};break}return{name:item.name,required:!1,description:item.description,type,table:{category,type:{summary:((_b=item.type)==null?void 0:_b.text)||item.type},defaultValue:{summary:item.default!==void 0?item.default:item.defaultValue}}}}function mapEvent(item){let name=item.name.replace(/(-|_|:|\.|\s)+(.)?/g,(_match,_separator,chr)=>chr?chr.toUpperCase():"").replace(/^([A-Z])/,match=>match.toLowerCase());return name=`on${name.charAt(0).toUpperCase()+name.substr(1)}`,[{name,action:{name:item.name},table:{disable:!0}},mapItem(item,"events")]}function mapData(data,category){return data&&data.filter(item=>item&&item.name).reduce((acc,item)=>{if(item.kind==="method")return acc;switch(category){case"events":mapEvent(item).forEach(argType=>{(0,import_tiny_invariant.default)(argType.name,`${argType} should have a name property.`),acc[argType.name]=argType});break;default:acc[item.name]=mapItem(item,category);break}return acc},{})}var getMetaDataExperimental=(tagName,customElements)=>{if(!isValidComponent(tagName)||!isValidMetaData(customElements))return null;let metaData=customElements.tags.find(tag=>tag.name.toUpperCase()===tagName.toUpperCase());return metaData||import_client_logger.logger.warn(`Component not found in custom-elements.json: ${tagName}`),metaData},getMetaDataV1=(tagName,customElements)=>{var _a2;if(!isValidComponent(tagName)||!isValidMetaData(customElements))return null;let metadata;return(_a2=customElements==null?void 0:customElements.modules)==null||_a2.forEach(_module=>{var _a3;(_a3=_module==null?void 0:_module.declarations)==null||_a3.forEach(declaration=>{declaration.tagName===tagName&&(metadata=declaration)})}),metadata||import_client_logger.logger.warn(`Component not found in custom-elements.json: ${tagName}`),metadata},getMetaData=(tagName,manifest)=>(manifest==null?void 0:manifest.version)==="experimental"?getMetaDataExperimental(tagName,manifest):getMetaDataV1(tagName,manifest),extractArgTypesFromElements=(tagName,customElements)=>{let metaData=getMetaData(tagName,customElements);return metaData&&{...mapData(metaData.members??[],"properties"),...mapData(metaData.properties??[],"properties"),...mapData(metaData.attributes??[],"attributes"),...mapData(metaData.events??[],"events"),...mapData(metaData.slots??[],"slots"),...mapData(metaData.cssProperties??[],"css custom properties"),...mapData(metaData.cssParts??[],"css shadow parts")}},extractArgTypes=tagName=>{let cem=getCustomElements();return extractArgTypesFromElements(tagName,cem)},extractComponentDescription=tagName=>{let metaData=getMetaData(tagName,getCustomElements());return metaData&&metaData.description};var import_lit2=require("lit"),import_preview_api3=require("@storybook/preview-api"),import_docs_tools=require("@storybook/docs-tools"),LIT_EXPRESSION_COMMENTS=/<!--\?lit\$[0-9]+\$-->|<!--\??-->/g;function skipSourceRender(context){var _a2;let sourceParams=(_a2=context==null?void 0:context.parameters.docs)==null?void 0:_a2.source,isArgsStory=context==null?void 0:context.parameters.__isArgsStory;return(sourceParams==null?void 0:sourceParams.type)===import_docs_tools.SourceType.DYNAMIC?!1:!isArgsStory||(sourceParams==null?void 0:sourceParams.code)||(sourceParams==null?void 0:sourceParams.type)===import_docs_tools.SourceType.CODE}function sourceDecorator(storyFn,context){var _a2,_b;let story=storyFn(),renderedForSource=(_b=(_a2=context==null?void 0:context.parameters.docs)==null?void 0:_a2.source)!=null&&_b.excludeDecorators?context.originalStoryFn(context.args,context):story,source;if((0,import_preview_api3.useEffect)(()=>{let{id,unmappedArgs}=context;source&&import_preview_api3.addons.getChannel().emit(import_docs_tools.SNIPPET_RENDERED,{id,source,args:unmappedArgs})}),!skipSourceRender(context)){let container=window.document.createElement("div");renderedForSource instanceof DocumentFragment?(0,import_lit2.render)(renderedForSource.cloneNode(!0),container):(0,import_lit2.render)(renderedForSource,container),source=container.innerHTML.replace(LIT_EXPRESSION_COMMENTS,"")}return story}var decorators=[sourceDecorator],parameters={docs:{extractArgTypes,extractComponentDescription,story:{inline:!0},source:{type:import_docs_tools2.SourceType.DYNAMIC,language:"html"}}},argTypesEnhancers=[import_docs_tools2.enhanceArgTypes];var parameters2={renderer:"web-components",...parameters};0&&(module.exports={argTypesEnhancers,decorators,parameters,render,renderToCanvas});
|
package/dist/config.mjs
CHANGED
|
@@ -1 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { getCustomElements, isValidComponent, isValidMetaData } from './chunk-757FFUVQ.mjs';
|
|
2
|
+
export { render, renderToCanvas } from './chunk-757FFUVQ.mjs';
|
|
3
|
+
import { SourceType, enhanceArgTypes, SNIPPET_RENDERED } from '@storybook/docs-tools';
|
|
4
|
+
import invariant from 'tiny-invariant';
|
|
5
|
+
import { logger } from '@storybook/client-logger';
|
|
6
|
+
import { render } from 'lit';
|
|
7
|
+
import { useEffect, addons } from '@storybook/preview-api';
|
|
8
|
+
|
|
9
|
+
function mapItem(item,category){let type;switch(category){case"attributes":case"properties":type={name:item.type?.text||item.type};break;case"slots":type={name:"string"};break;default:type={name:"void"};break}return {name:item.name,required:!1,description:item.description,type,table:{category,type:{summary:item.type?.text||item.type},defaultValue:{summary:item.default!==void 0?item.default:item.defaultValue}}}}function mapEvent(item){let name=item.name.replace(/(-|_|:|\.|\s)+(.)?/g,(_match,_separator,chr)=>chr?chr.toUpperCase():"").replace(/^([A-Z])/,match=>match.toLowerCase());return name=`on${name.charAt(0).toUpperCase()+name.substr(1)}`,[{name,action:{name:item.name},table:{disable:!0}},mapItem(item,"events")]}function mapData(data,category){return data&&data.filter(item=>item&&item.name).reduce((acc,item)=>{if(item.kind==="method")return acc;switch(category){case"events":mapEvent(item).forEach(argType=>{invariant(argType.name,`${argType} should have a name property.`),acc[argType.name]=argType;});break;default:acc[item.name]=mapItem(item,category);break}return acc},{})}var getMetaDataExperimental=(tagName,customElements)=>{if(!isValidComponent(tagName)||!isValidMetaData(customElements))return null;let metaData=customElements.tags.find(tag=>tag.name.toUpperCase()===tagName.toUpperCase());return metaData||logger.warn(`Component not found in custom-elements.json: ${tagName}`),metaData},getMetaDataV1=(tagName,customElements)=>{if(!isValidComponent(tagName)||!isValidMetaData(customElements))return null;let metadata;return customElements?.modules?.forEach(_module=>{_module?.declarations?.forEach(declaration=>{declaration.tagName===tagName&&(metadata=declaration);});}),metadata||logger.warn(`Component not found in custom-elements.json: ${tagName}`),metadata},getMetaData=(tagName,manifest)=>manifest?.version==="experimental"?getMetaDataExperimental(tagName,manifest):getMetaDataV1(tagName,manifest),extractArgTypesFromElements=(tagName,customElements)=>{let metaData=getMetaData(tagName,customElements);return metaData&&{...mapData(metaData.members??[],"properties"),...mapData(metaData.properties??[],"properties"),...mapData(metaData.attributes??[],"attributes"),...mapData(metaData.events??[],"events"),...mapData(metaData.slots??[],"slots"),...mapData(metaData.cssProperties??[],"css custom properties"),...mapData(metaData.cssParts??[],"css shadow parts")}},extractArgTypes=tagName=>{let cem=getCustomElements();return extractArgTypesFromElements(tagName,cem)},extractComponentDescription=tagName=>{let metaData=getMetaData(tagName,getCustomElements());return metaData&&metaData.description};var LIT_EXPRESSION_COMMENTS=/<!--\?lit\$[0-9]+\$-->|<!--\??-->/g;function skipSourceRender(context){let sourceParams=context?.parameters.docs?.source,isArgsStory=context?.parameters.__isArgsStory;return sourceParams?.type===SourceType.DYNAMIC?!1:!isArgsStory||sourceParams?.code||sourceParams?.type===SourceType.CODE}function sourceDecorator(storyFn,context){let story=storyFn(),renderedForSource=context?.parameters.docs?.source?.excludeDecorators?context.originalStoryFn(context.args,context):story,source;if(useEffect(()=>{let{id,unmappedArgs}=context;source&&addons.getChannel().emit(SNIPPET_RENDERED,{id,source,args:unmappedArgs});}),!skipSourceRender(context)){let container=window.document.createElement("div");renderedForSource instanceof DocumentFragment?render(renderedForSource.cloneNode(!0),container):render(renderedForSource,container),source=container.innerHTML.replace(LIT_EXPRESSION_COMMENTS,"");}return story}var decorators=[sourceDecorator],parameters={docs:{extractArgTypes,extractComponentDescription,story:{inline:!0},source:{type:SourceType.DYNAMIC,language:"html"}}},argTypesEnhancers=[enhanceArgTypes];var parameters2={renderer:"web-components",...parameters};
|
|
10
|
+
|
|
11
|
+
export { argTypesEnhancers, decorators, parameters2 as parameters };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Args, ComponentAnnotations, AnnotatedStoryFn, StoryAnnotations, StrictArgs, DecoratorFunction, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations, Addon_ClientStoryApi, Addon_Loadable } from '@storybook/types';
|
|
2
2
|
export { ArgTypes, Args, Parameters, StrictArgs } from '@storybook/types';
|
|
3
|
-
import { W as WebComponentsRenderer } from './types-
|
|
3
|
+
import { W as WebComponentsRenderer } from './types-089d0f09.js';
|
|
4
4
|
import 'lit';
|
|
5
5
|
|
|
6
6
|
/**
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{configure:()=>configure,forceReRender:()=>forceReRender,getCustomElements:()=>getCustomElements,isValidComponent:()=>isValidComponent,isValidMetaData:()=>isValidMetaData,raw:()=>raw,setCustomElements:()=>setCustomElements,setCustomElementsManifest:()=>setCustomElementsManifest,storiesOf:()=>storiesOf});module.exports=__toCommonJS(src_exports);var import_global4=require("@storybook/global");var import_global=require("@storybook/global"),{window:globalWindow}=import_global.global;globalWindow.STORYBOOK_ENV="web-components";var import_preview_api2=require("@storybook/preview-api");var import_global2=require("@storybook/global"),import_ts_dedent=require("ts-dedent"),import_lit=require("lit"),import_directive_helpers=require("lit/directive-helpers.js"),import_preview_api=require("@storybook/preview-api"),{Node}=import_global2.global;function renderToCanvas({storyFn,kind,name,showMain,showError,forceRemount},canvasElement){let element=storyFn();if(showMain(),(0,import_directive_helpers.isTemplateResult)(element)){(forceRemount||!canvasElement.querySelector('[id="root-inner"]'))&&(canvasElement.innerHTML='<div id="root-inner"></div>');let renderTo=canvasElement.querySelector('[id="root-inner"]');(0,import_lit.render)(element,renderTo),(0,import_preview_api.simulatePageLoad)(canvasElement)}else if(typeof element=="string")canvasElement.innerHTML=element,(0,import_preview_api.simulatePageLoad)(canvasElement);else if(element instanceof Node){if(canvasElement.firstChild===element&&!forceRemount)return;canvasElement.innerHTML="",canvasElement.appendChild(element),(0,import_preview_api.simulateDOMContentLoaded)()}else showError({title:`Expecting an HTML snippet or DOM node from the story: "${name}" of "${kind}".`,description:import_ts_dedent.dedent`
|
|
1
|
+
"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{configure:()=>configure,forceReRender:()=>forceReRender,getCustomElements:()=>getCustomElements,isValidComponent:()=>isValidComponent,isValidMetaData:()=>isValidMetaData,raw:()=>raw,setCustomElements:()=>setCustomElements,setCustomElementsManifest:()=>setCustomElementsManifest,storiesOf:()=>storiesOf});module.exports=__toCommonJS(src_exports);var import_global4=require("@storybook/global");var import_global=require("@storybook/global"),{window:globalWindow}=import_global.global;globalWindow.STORYBOOK_ENV="web-components";var import_preview_api2=require("@storybook/preview-api");var import_global2=require("@storybook/global"),import_ts_dedent=require("ts-dedent"),import_lit=require("lit"),import_directive_helpers=require("lit/directive-helpers.js"),import_preview_api=require("@storybook/preview-api"),{Node}=import_global2.global;function renderToCanvas({storyFn,kind,name,showMain,showError,forceRemount},canvasElement){let element=storyFn();if(showMain(),(0,import_directive_helpers.isTemplateResult)(element)){(forceRemount||!canvasElement.querySelector('[id="root-inner"]'))&&(canvasElement.innerHTML='<div id="root-inner"></div>');let renderTo=canvasElement.querySelector('[id="root-inner"]');(0,import_lit.render)(element,renderTo),(0,import_preview_api.simulatePageLoad)(canvasElement)}else if(typeof element=="string")canvasElement.innerHTML=element,(0,import_preview_api.simulatePageLoad)(canvasElement);else if(element instanceof Node){if(canvasElement.firstChild===element&&!forceRemount)return;canvasElement.innerHTML="",canvasElement.appendChild(element),(0,import_preview_api.simulateDOMContentLoaded)()}else showError({title:`Expecting an HTML snippet or DOM node from the story: "${name}" of "${kind}".`,description:import_ts_dedent.dedent`
|
|
2
2
|
Did you forget to return the HTML snippet from the story?
|
|
3
3
|
Use "() => <your snippet or node>" or when defining the story.
|
|
4
4
|
`})}var RENDERER="web-components",api=(0,import_preview_api2.start)(renderToCanvas),storiesOf=(kind,m)=>api.clientApi.storiesOf(kind,m).addParameters({renderer:RENDERER}),configure=(...args)=>api.configure(RENDERER,...args),forceReRender=api.forceReRender,raw=api.clientApi.raw;var import_global3=require("@storybook/global");function isValidComponent(tagName){if(!tagName)return!1;if(typeof tagName=="string")return!0;throw new Error('Provided component needs to be a string. e.g. component: "my-element"')}function isValidMetaData(customElements){if(!customElements)return!1;if(customElements.tags&&Array.isArray(customElements.tags)||customElements.modules&&Array.isArray(customElements.modules))return!0;throw new Error(`You need to setup valid meta data in your config.js via setCustomElements().
|
|
5
|
-
See the readme of addon-docs for web components for more details.`)}function setCustomElements(customElements){import_global3.global.__STORYBOOK_CUSTOM_ELEMENTS__=customElements}function setCustomElementsManifest(customElements){import_global3.global.__STORYBOOK_CUSTOM_ELEMENTS_MANIFEST__=customElements}function getCustomElements(){return import_global3.global.__STORYBOOK_CUSTOM_ELEMENTS__||import_global3.global.__STORYBOOK_CUSTOM_ELEMENTS_MANIFEST__}var{window,EventSource}=import_global4.global;module&&module.hot&&
|
|
5
|
+
See the readme of addon-docs for web components for more details.`)}function setCustomElements(customElements){import_global3.global.__STORYBOOK_CUSTOM_ELEMENTS__=customElements}function setCustomElementsManifest(customElements){import_global3.global.__STORYBOOK_CUSTOM_ELEMENTS_MANIFEST__=customElements}function getCustomElements(){return import_global3.global.__STORYBOOK_CUSTOM_ELEMENTS__||import_global3.global.__STORYBOOK_CUSTOM_ELEMENTS_MANIFEST__}var{window,EventSource}=import_global4.global,_a;typeof module<"u"&&((_a=module==null?void 0:module.hot)!=null&&_a.decline)&&(module.hot.decline(),new EventSource("__webpack_hmr").addEventListener("message",function(event){try{let{action}=JSON.parse(event.data);action==="built"&&window.location.reload()}catch{}}));0&&(module.exports={configure,forceReRender,getCustomElements,isValidComponent,isValidMetaData,raw,setCustomElements,setCustomElementsManifest,storiesOf});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export { configure, forceReRender, getCustomElements, isValidComponent, isValidMetaData, raw, setCustomElements, setCustomElementsManifest, storiesOf } from './chunk-757FFUVQ.mjs';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { WebRenderer } from '@storybook/types';
|
|
2
2
|
import { TemplateResult, SVGTemplateResult } from 'lit';
|
|
3
3
|
|
|
4
|
-
type StoryFnHtmlReturnType = string | Node | TemplateResult | SVGTemplateResult;
|
|
4
|
+
type StoryFnHtmlReturnType = string | Node | DocumentFragment | TemplateResult | SVGTemplateResult;
|
|
5
5
|
interface WebComponentsRenderer extends WebRenderer {
|
|
6
6
|
component: string;
|
|
7
7
|
storyResult: StoryFnHtmlReturnType;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
export { WebComponentsRenderer as W };
|
|
10
|
+
export { StoryFnHtmlReturnType as S, WebComponentsRenderer as W };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/web-components",
|
|
3
|
-
"version": "7.1.0-alpha.
|
|
3
|
+
"version": "7.1.0-alpha.40",
|
|
4
4
|
"description": "Storybook web-components renderer",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lit",
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"storybook",
|
|
9
9
|
"web-components"
|
|
10
10
|
],
|
|
11
|
-
"homepage": "https://github.com/storybookjs/storybook/tree/
|
|
11
|
+
"homepage": "https://github.com/storybookjs/storybook/tree/next/code/renderers/web-components",
|
|
12
12
|
"bugs": {
|
|
13
13
|
"url": "https://github.com/storybookjs/storybook/issues"
|
|
14
14
|
},
|
|
15
15
|
"repository": {
|
|
16
16
|
"type": "git",
|
|
17
17
|
"url": "https://github.com/storybookjs/storybook.git",
|
|
18
|
-
"directory": "renderers/web-components"
|
|
18
|
+
"directory": "code/renderers/web-components"
|
|
19
19
|
},
|
|
20
20
|
"funding": {
|
|
21
21
|
"type": "opencollective",
|
|
@@ -24,15 +24,15 @@
|
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"exports": {
|
|
26
26
|
".": {
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
27
28
|
"node": "./dist/index.js",
|
|
28
29
|
"require": "./dist/index.js",
|
|
29
|
-
"import": "./dist/index.mjs"
|
|
30
|
-
"types": "./dist/index.d.ts"
|
|
30
|
+
"import": "./dist/index.mjs"
|
|
31
31
|
},
|
|
32
32
|
"./preview": {
|
|
33
|
+
"types": "./dist/config.d.ts",
|
|
33
34
|
"require": "./dist/config.js",
|
|
34
|
-
"import": "./dist/config.mjs"
|
|
35
|
-
"types": "./dist/config.d.ts"
|
|
35
|
+
"import": "./dist/config.mjs"
|
|
36
36
|
},
|
|
37
37
|
"./package.json": "./package.json"
|
|
38
38
|
},
|
|
@@ -51,13 +51,14 @@
|
|
|
51
51
|
"prep": "../../../scripts/prepare/bundle.ts"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@storybook/client-logger": "7.1.0-alpha.
|
|
55
|
-
"@storybook/core-client": "7.1.0-alpha.
|
|
56
|
-
"@storybook/docs-tools": "7.1.0-alpha.
|
|
54
|
+
"@storybook/client-logger": "7.1.0-alpha.40",
|
|
55
|
+
"@storybook/core-client": "7.1.0-alpha.40",
|
|
56
|
+
"@storybook/docs-tools": "7.1.0-alpha.40",
|
|
57
57
|
"@storybook/global": "^5.0.0",
|
|
58
|
-
"@storybook/manager-api": "7.1.0-alpha.
|
|
59
|
-
"@storybook/preview-api": "7.1.0-alpha.
|
|
60
|
-
"@storybook/types": "7.1.0-alpha.
|
|
58
|
+
"@storybook/manager-api": "7.1.0-alpha.40",
|
|
59
|
+
"@storybook/preview-api": "7.1.0-alpha.40",
|
|
60
|
+
"@storybook/types": "7.1.0-alpha.40",
|
|
61
|
+
"tiny-invariant": "^1.3.1",
|
|
61
62
|
"ts-dedent": "^2.0.0"
|
|
62
63
|
},
|
|
63
64
|
"devDependencies": {
|
|
@@ -84,5 +85,5 @@
|
|
|
84
85
|
],
|
|
85
86
|
"platform": "browser"
|
|
86
87
|
},
|
|
87
|
-
"gitHead": "
|
|
88
|
-
}
|
|
88
|
+
"gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae17"
|
|
89
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { global } from '@storybook/global';
|
|
2
|
+
|
|
3
|
+
import { LitElement, html, css } from 'lit-element';
|
|
4
|
+
|
|
5
|
+
const { CustomEvent } = global;
|
|
6
|
+
|
|
7
|
+
const demoWcCardStyle = css`
|
|
8
|
+
:host {
|
|
9
|
+
display: block;
|
|
10
|
+
position: relative;
|
|
11
|
+
width: 250px;
|
|
12
|
+
height: 200px;
|
|
13
|
+
border-radius: 10px;
|
|
14
|
+
transform-style: preserve-3d;
|
|
15
|
+
transition: all 0.8s ease;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.header {
|
|
19
|
+
font-weight: bold;
|
|
20
|
+
font-size: var(--demo-wc-card-header-font-size, 16px);
|
|
21
|
+
text-align: center;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.content {
|
|
25
|
+
padding: 20px 10px 0 10px;
|
|
26
|
+
flex-grow: 1;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.footer {
|
|
30
|
+
display: flex;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
dl {
|
|
34
|
+
margin: 0;
|
|
35
|
+
text-align: left;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
dd {
|
|
39
|
+
margin-left: 15px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
button {
|
|
43
|
+
border-radius: 15px;
|
|
44
|
+
width: 30px;
|
|
45
|
+
height: 30px;
|
|
46
|
+
background: #fff;
|
|
47
|
+
border: 1px solid #ccc;
|
|
48
|
+
color: #000;
|
|
49
|
+
font-size: 21px;
|
|
50
|
+
line-height: 27px;
|
|
51
|
+
font-weight: bold;
|
|
52
|
+
cursor: pointer;
|
|
53
|
+
margin: 5px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.note {
|
|
57
|
+
flex-grow: 1;
|
|
58
|
+
color: #666;
|
|
59
|
+
font-size: 16px;
|
|
60
|
+
font-weight: bold;
|
|
61
|
+
text-align: left;
|
|
62
|
+
padding-top: 15px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
:host([back-side]) {
|
|
66
|
+
transform: rotateY(180deg);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
#front,
|
|
70
|
+
#back {
|
|
71
|
+
position: absolute;
|
|
72
|
+
width: 250px;
|
|
73
|
+
box-sizing: border-box;
|
|
74
|
+
box-shadow: #ccc 3px 3px 2px 1px;
|
|
75
|
+
padding: 10px;
|
|
76
|
+
display: flex;
|
|
77
|
+
flex-flow: column;
|
|
78
|
+
top: 0;
|
|
79
|
+
left: 0;
|
|
80
|
+
height: 100%;
|
|
81
|
+
border-radius: 10px;
|
|
82
|
+
backface-visibility: hidden;
|
|
83
|
+
overflow: hidden;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
#front {
|
|
87
|
+
background: linear-gradient(141deg, #aaa 25%, #eee 40%, #ddd 55%);
|
|
88
|
+
color: var(--demo-wc-card-front-color, #000);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
#back {
|
|
92
|
+
background: linear-gradient(141deg, #333 25%, #aaa 40%, #666 55%);
|
|
93
|
+
color: var(--demo-wc-card-back-color, #fff);
|
|
94
|
+
text-align: center;
|
|
95
|
+
transform: rotateY(180deg) translate3d(0px, 0, 1px);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
#back .note {
|
|
99
|
+
color: #fff;
|
|
100
|
+
}
|
|
101
|
+
`;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* This is a container looking like a card with a back and front side you can switch
|
|
105
|
+
*
|
|
106
|
+
* @slot - This is an unnamed slot (the default slot)
|
|
107
|
+
* @fires side-changed - Fires whenever it switches between front/back
|
|
108
|
+
* @cssprop --demo-wc-card-header-font-size - Header font size
|
|
109
|
+
* @cssprop --demo-wc-card-front-color - Font color for front
|
|
110
|
+
* @cssprop --demo-wc-card-back-color - Font color for back
|
|
111
|
+
* @csspart front - Front of the card
|
|
112
|
+
* @csspart back - Back of the card
|
|
113
|
+
*/
|
|
114
|
+
export class DemoWcCard extends LitElement {
|
|
115
|
+
static get properties() {
|
|
116
|
+
return {
|
|
117
|
+
backSide: {
|
|
118
|
+
type: Boolean,
|
|
119
|
+
reflect: true,
|
|
120
|
+
attribute: 'back-side',
|
|
121
|
+
},
|
|
122
|
+
header: { type: String },
|
|
123
|
+
rows: { type: Object },
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
static get styles() {
|
|
128
|
+
return demoWcCardStyle;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
constructor() {
|
|
132
|
+
super();
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Indicates that the back of the card is shown
|
|
136
|
+
*/
|
|
137
|
+
this.backSide = false;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Header message
|
|
141
|
+
*/
|
|
142
|
+
this.header = 'Your Message';
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Data rows
|
|
146
|
+
*/
|
|
147
|
+
this.rows = [];
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
toggle() {
|
|
151
|
+
this.backSide = !this.backSide;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
render() {
|
|
155
|
+
return html`
|
|
156
|
+
<div id="front" part="front">
|
|
157
|
+
<div class="header">${this.header}</div>
|
|
158
|
+
<div class="content">
|
|
159
|
+
<slot></slot>
|
|
160
|
+
</div>
|
|
161
|
+
<div class="footer">
|
|
162
|
+
<div class="note">A</div>
|
|
163
|
+
<button @click=${this.toggle}>></button>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
<div id="back" part="back">
|
|
167
|
+
<div class="header">${this.header}</div>
|
|
168
|
+
|
|
169
|
+
<div class="content">
|
|
170
|
+
${this.rows.length === 0
|
|
171
|
+
? html``
|
|
172
|
+
: html`
|
|
173
|
+
<dl>
|
|
174
|
+
${this.rows.map(
|
|
175
|
+
(row) => html`
|
|
176
|
+
<dt>${row.header}</dt>
|
|
177
|
+
<dd>${row.value}</dd>
|
|
178
|
+
`
|
|
179
|
+
)}
|
|
180
|
+
</dl>
|
|
181
|
+
`}
|
|
182
|
+
</div>
|
|
183
|
+
<div class="footer">
|
|
184
|
+
<div class="note">B</div>
|
|
185
|
+
<button @click=${this.toggle}>></button>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
`;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
updated(changedProperties) {
|
|
192
|
+
if (changedProperties.has('backSide') && changedProperties.get('backSide') !== undefined) {
|
|
193
|
+
this.dispatchEvent(new CustomEvent('side-changed'));
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// eslint-disable-next-line no-undef
|
|
199
|
+
customElements.define('input', DemoWcCard);
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
|
|
3
|
+
export const Welcome = () => html`
|
|
4
|
+
<div class="main">
|
|
5
|
+
<h1>Welcome to Storybook for Web Components</h1>
|
|
6
|
+
<p>This is a UI component dev environment for your plain HTML snippets.</p>
|
|
7
|
+
<p>
|
|
8
|
+
We've added some basic stories inside the <code class="code">stories</code> directory.
|
|
9
|
+
<br />
|
|
10
|
+
A story is a single state of one or more UI components. You can have as many stories as you
|
|
11
|
+
want.
|
|
12
|
+
<br />
|
|
13
|
+
(Basically a story is like a visual test case.)
|
|
14
|
+
</p>
|
|
15
|
+
<p>
|
|
16
|
+
See these sample
|
|
17
|
+
<a class="link" href="#" data-sb-kind="Demo Card" data-sb-story="Front">stories</a>
|
|
18
|
+
</p>
|
|
19
|
+
<p>
|
|
20
|
+
Just like that, you can add your own snippets as stories.
|
|
21
|
+
<br />
|
|
22
|
+
You can also edit those snippets and see changes right away.
|
|
23
|
+
<br />
|
|
24
|
+
</p>
|
|
25
|
+
<p>
|
|
26
|
+
Usually we create stories with smaller UI components in the app.<br />
|
|
27
|
+
Have a look at the
|
|
28
|
+
<a class="link" href="https://storybook.js.org/basics/writing-stories" target="_blank">
|
|
29
|
+
Writing Stories
|
|
30
|
+
</a>
|
|
31
|
+
section in our documentation.
|
|
32
|
+
</p>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<style>
|
|
36
|
+
.main {
|
|
37
|
+
padding: 15px;
|
|
38
|
+
line-height: 1.4;
|
|
39
|
+
font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif;
|
|
40
|
+
background-color: #ffffff;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.logo {
|
|
44
|
+
width: 256px;
|
|
45
|
+
margin: 15px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.code {
|
|
49
|
+
font-size: 15px;
|
|
50
|
+
font-weight: 600;
|
|
51
|
+
padding: 2px 5px;
|
|
52
|
+
border: 1px solid #eae9e9;
|
|
53
|
+
border-radius: 4px;
|
|
54
|
+
background-color: #f3f2f2;
|
|
55
|
+
color: #3a3a3a;
|
|
56
|
+
}
|
|
57
|
+
</style>
|
|
58
|
+
`;
|
|
59
|
+
|
|
60
|
+
// eslint-disable-next-line no-undef
|
|
61
|
+
customElements.define('input', Welcome);
|
package/src/typings.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/* eslint-disable no-underscore-dangle, @typescript-eslint/naming-convention */
|
|
2
|
+
declare var STORYBOOK_ENV: 'web-components';
|
|
3
|
+
declare var __STORYBOOK_CUSTOM_ELEMENTS_MANIFEST__: any;
|
|
4
|
+
declare var __STORYBOOK_CUSTOM_ELEMENTS__: any;
|
|
5
|
+
declare var LOGLEVEL: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent' | undefined;
|
|
@@ -5,7 +5,7 @@ import './header.css';
|
|
|
5
5
|
|
|
6
6
|
export const Header = ({ user, onLogin, onLogout, onCreateAccount }) => html`
|
|
7
7
|
<header>
|
|
8
|
-
<div class="
|
|
8
|
+
<div class="storybook-header">
|
|
9
9
|
<div>
|
|
10
10
|
<svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
|
11
11
|
<g fill="none" fillRule="evenodd">
|
package/template/cli/js/Page.js
CHANGED
|
@@ -16,7 +16,7 @@ export interface HeaderProps {
|
|
|
16
16
|
|
|
17
17
|
export const Header = ({ user, onLogin, onLogout, onCreateAccount }: HeaderProps) => html`
|
|
18
18
|
<header>
|
|
19
|
-
<div class="
|
|
19
|
+
<div class="storybook-header">
|
|
20
20
|
<div>
|
|
21
21
|
<svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
|
22
22
|
<g fill="none" fillRule="evenodd">
|
|
@@ -16,7 +16,7 @@ export interface HeaderProps {
|
|
|
16
16
|
|
|
17
17
|
export const Header = ({ user, onLogin, onLogout, onCreateAccount }: HeaderProps) => html`
|
|
18
18
|
<header>
|
|
19
|
-
<div class="
|
|
19
|
+
<div class="storybook-header">
|
|
20
20
|
<div>
|
|
21
21
|
<svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
|
22
22
|
<g fill="none" fillRule="evenodd">
|
|
@@ -69,7 +69,7 @@ export class DemoWcCard extends LitElement {
|
|
|
69
69
|
</div>
|
|
70
70
|
</div>
|
|
71
71
|
<div id="back" part="back">
|
|
72
|
-
<div class="header"
|
|
72
|
+
<div class="header"><slot name="prefix"></slot> ${this.header}</div>
|
|
73
73
|
|
|
74
74
|
<div class="content">
|
|
75
75
|
${this.rows.length === 0
|
|
@@ -3,14 +3,22 @@ import './demo-wc-card';
|
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
5
|
component: 'demo-wc-card',
|
|
6
|
+
render: ({ backSide, header, rows, prefix }) =>
|
|
7
|
+
html`
|
|
8
|
+
<demo-wc-card .backSide="${backSide}" .header="${header}" .rows="${rows}"
|
|
9
|
+
><span slot="prefix">${prefix}</span>A simple card</demo-wc-card
|
|
10
|
+
>
|
|
11
|
+
`,
|
|
6
12
|
};
|
|
7
13
|
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
export const Front = {
|
|
15
|
+
args: { backSide: false, header: undefined, rows: [] },
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const Back = {
|
|
19
|
+
args: { backSide: true, header: undefined, rows: [] },
|
|
20
|
+
};
|
|
14
21
|
|
|
15
|
-
export const
|
|
16
|
-
|
|
22
|
+
export const Prefix = {
|
|
23
|
+
args: { backSide: false, prefix: 'prefix:', header: 'my header', rows: [] },
|
|
24
|
+
};
|
package/dist/chunk-VBW6MM3C.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{global as global4}from"@storybook/global";import{global}from"@storybook/global";var{window:globalWindow}=global;globalWindow.STORYBOOK_ENV="web-components";import{start}from"@storybook/preview-api";import{global as global2}from"@storybook/global";import{dedent}from"ts-dedent";import{render as litRender}from"lit";import{isTemplateResult}from"lit/directive-helpers.js";import{simulatePageLoad,simulateDOMContentLoaded}from"@storybook/preview-api";var{Node}=global2,render=(args,context)=>{let{id,component}=context;if(!component)throw new Error(`Unable to render story ${id} as the component annotation is missing from the default export`);let element=document.createElement(component);return Object.entries(args).forEach(([key,val])=>{element[key]=val}),element};function renderToCanvas({storyFn,kind,name,showMain,showError,forceRemount},canvasElement){let element=storyFn();if(showMain(),isTemplateResult(element)){(forceRemount||!canvasElement.querySelector('[id="root-inner"]'))&&(canvasElement.innerHTML='<div id="root-inner"></div>');let renderTo=canvasElement.querySelector('[id="root-inner"]');litRender(element,renderTo),simulatePageLoad(canvasElement)}else if(typeof element=="string")canvasElement.innerHTML=element,simulatePageLoad(canvasElement);else if(element instanceof Node){if(canvasElement.firstChild===element&&!forceRemount)return;canvasElement.innerHTML="",canvasElement.appendChild(element),simulateDOMContentLoaded()}else showError({title:`Expecting an HTML snippet or DOM node from the story: "${name}" of "${kind}".`,description:dedent`
|
|
2
|
-
Did you forget to return the HTML snippet from the story?
|
|
3
|
-
Use "() => <your snippet or node>" or when defining the story.
|
|
4
|
-
`})}var RENDERER="web-components",api=start(renderToCanvas),storiesOf=(kind,m)=>api.clientApi.storiesOf(kind,m).addParameters({renderer:RENDERER}),configure=(...args)=>api.configure(RENDERER,...args),forceReRender=api.forceReRender,raw=api.clientApi.raw;import{global as global3}from"@storybook/global";function isValidComponent(tagName){if(!tagName)return!1;if(typeof tagName=="string")return!0;throw new Error('Provided component needs to be a string. e.g. component: "my-element"')}function isValidMetaData(customElements){if(!customElements)return!1;if(customElements.tags&&Array.isArray(customElements.tags)||customElements.modules&&Array.isArray(customElements.modules))return!0;throw new Error(`You need to setup valid meta data in your config.js via setCustomElements().
|
|
5
|
-
See the readme of addon-docs for web components for more details.`)}function setCustomElements(customElements){global3.__STORYBOOK_CUSTOM_ELEMENTS__=customElements}function setCustomElementsManifest(customElements){global3.__STORYBOOK_CUSTOM_ELEMENTS_MANIFEST__=customElements}function getCustomElements(){return global3.__STORYBOOK_CUSTOM_ELEMENTS__||global3.__STORYBOOK_CUSTOM_ELEMENTS_MANIFEST__}var{window,EventSource}=global4;module&&module.hot&&module.hot.decline&&(module.hot.decline(),new EventSource("__webpack_hmr").addEventListener("message",function(event){try{let{action}=JSON.parse(event.data);action==="built"&&window.location.reload()}catch{}}));export{render,renderToCanvas,storiesOf,configure,forceReRender,raw,isValidComponent,isValidMetaData,setCustomElements,setCustomElementsManifest,getCustomElements};
|