@storybook/web-components
Version:
Storybook Web Components renderer: Develop, document, and test UI components in isolation
40 lines (36 loc) • 1.54 kB
JavaScript
import "./_browser-chunks/chunk-4BE7D4DS.js";
// src/entry-preview-docs.ts
import { SourceType as SourceType2 } from "storybook/internal/docs-tools";
// src/docs/sourceDecorator.ts
import { SourceType } from "storybook/internal/docs-tools";
import { render } from "lit";
import { emitTransformCode, useEffect } from "storybook/preview-api";
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(() => {
source && emitTransformCode(source, context);
}), !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;
}
// src/entry-preview-docs.ts
var decorators = [sourceDecorator], parameters = {
docs: {
source: {
type: SourceType2.DYNAMIC,
language: "html"
},
story: { inline: !0 }
}
};
export {
decorators,
parameters
};