@storybook/html 8.3.0-alpha.0 → 8.3.0-alpha.10

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.
@@ -0,0 +1,3 @@
1
+ var __defProp=Object.defineProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0});};
2
+
3
+ export { __export };
@@ -0,0 +1,14 @@
1
+ import { __export } from './chunk-CEH6MNVV.mjs';
2
+ import { simulatePageLoad, simulateDOMContentLoaded } from 'storybook/internal/preview-api';
3
+ import { global } from '@storybook/global';
4
+ import { dedent } from 'ts-dedent';
5
+
6
+ var entry_preview_exports={};__export(entry_preview_exports,{parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var {Node}=global,render=(args,context)=>{let{id,component:Component}=context;if(typeof Component=="string"){let output=Component;return Object.keys(args).forEach(key=>{output=output.replace(`{{${key}}}`,args[key]);}),output}if(Component instanceof HTMLElement){let output=Component.cloneNode(!0);return Object.keys(args).forEach(key=>{output.setAttribute(key,typeof args[key]=="string"?args[key]:JSON.stringify(args[key]));}),output}if(typeof Component=="function")return Component(args,context);throw console.warn(dedent`
7
+ Storybook's HTML renderer only supports rendering DOM elements and strings.
8
+ Received: ${Component}
9
+ `),new Error(`Unable to render story ${id}`)};function renderToCanvas({storyFn,kind,name,showMain,showError,forceRemount},canvasElement){let element=storyFn();if(showMain(),typeof element=="string")canvasElement.innerHTML=element,simulatePageLoad(canvasElement);else if(element instanceof Node){if(canvasElement.firstChild===element&&forceRemount===!1)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`
10
+ Did you forget to return the HTML snippet from the story?
11
+ Use "() => <your snippet or node>" or when defining the story.
12
+ `});}var parameters={renderer:"html"};
13
+
14
+ export { entry_preview_exports, parameters, render, renderToCanvas };
@@ -1,6 +1,6 @@
1
- import { DecoratorFunction, ArgTypesEnhancer } from 'storybook/internal/types';
2
1
  import { SourceType } from 'storybook/internal/docs-tools';
3
- import { H as HtmlRenderer } from './types-5d0e6702.js';
2
+ import { DecoratorFunction, ArgTypesEnhancer } from 'storybook/internal/types';
3
+ import { H as HtmlRenderer } from './types-19e12ec7.js';
4
4
 
5
5
  declare const decorators: DecoratorFunction<HtmlRenderer>[];
6
6
  declare const parameters: {
@@ -1,3 +1,4 @@
1
+ import './chunk-CEH6MNVV.mjs';
1
2
  import { SourceType, enhanceArgTypes, SNIPPET_RENDERED } from 'storybook/internal/docs-tools';
2
3
  import { useEffect, addons } from 'storybook/internal/preview-api';
3
4
 
@@ -1,4 +1,4 @@
1
- import { H as HtmlRenderer, P as Parameters } from './types-5d0e6702.js';
1
+ import { H as HtmlRenderer, P as Parameters } from './types-19e12ec7.js';
2
2
  import { ArgsStoryFn, RenderContext } from 'storybook/internal/types';
3
3
  import 'storybook/internal/docs-tools';
4
4
 
@@ -1,4 +1,4 @@
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 entry_preview_exports={};__export(entry_preview_exports,{parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});module.exports=__toCommonJS(entry_preview_exports);var import_global=require("@storybook/global"),import_ts_dedent=require("ts-dedent"),import_preview_api=require("storybook/internal/preview-api"),{Node}=import_global.global,render=(args,context)=>{let{id,component:Component}=context;if(typeof Component=="string"){let output=Component;return Object.keys(args).forEach(key=>{output=output.replace(`{{${key}}}`,args[key])}),output}if(Component instanceof HTMLElement){let output=Component.cloneNode(!0);return Object.keys(args).forEach(key=>{output.setAttribute(key,typeof args[key]=="string"?args[key]:JSON.stringify(args[key]))}),output}if(typeof Component=="function")return Component(args,context);throw console.warn(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 entry_preview_exports={};__export(entry_preview_exports,{parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});module.exports=__toCommonJS(entry_preview_exports);var import_preview_api=require("storybook/internal/preview-api"),import_global=require("@storybook/global"),import_ts_dedent=require("ts-dedent"),{Node}=import_global.global,render=(args,context)=>{let{id,component:Component}=context;if(typeof Component=="string"){let output=Component;return Object.keys(args).forEach(key=>{output=output.replace(`{{${key}}}`,args[key])}),output}if(Component instanceof HTMLElement){let output=Component.cloneNode(!0);return Object.keys(args).forEach(key=>{output.setAttribute(key,typeof args[key]=="string"?args[key]:JSON.stringify(args[key]))}),output}if(typeof Component=="function")return Component(args,context);throw console.warn(import_ts_dedent.dedent`
2
2
  Storybook's HTML renderer only supports rendering DOM elements and strings.
3
3
  Received: ${Component}
4
4
  `),new Error(`Unable to render story ${id}`)};function renderToCanvas({storyFn,kind,name,showMain,showError,forceRemount},canvasElement){let element=storyFn();if(showMain(),typeof element=="string")canvasElement.innerHTML=element,(0,import_preview_api.simulatePageLoad)(canvasElement);else if(element instanceof Node){if(canvasElement.firstChild===element&&forceRemount===!1)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,13 +1,2 @@
1
- import { global } from '@storybook/global';
2
- import { dedent } from 'ts-dedent';
3
- import { simulatePageLoad, simulateDOMContentLoaded } from 'storybook/internal/preview-api';
4
-
5
- var {Node}=global,render=(args,context)=>{let{id,component:Component}=context;if(typeof Component=="string"){let output=Component;return Object.keys(args).forEach(key=>{output=output.replace(`{{${key}}}`,args[key]);}),output}if(Component instanceof HTMLElement){let output=Component.cloneNode(!0);return Object.keys(args).forEach(key=>{output.setAttribute(key,typeof args[key]=="string"?args[key]:JSON.stringify(args[key]));}),output}if(typeof Component=="function")return Component(args,context);throw console.warn(dedent`
6
- Storybook's HTML renderer only supports rendering DOM elements and strings.
7
- Received: ${Component}
8
- `),new Error(`Unable to render story ${id}`)};function renderToCanvas({storyFn,kind,name,showMain,showError,forceRemount},canvasElement){let element=storyFn();if(showMain(),typeof element=="string")canvasElement.innerHTML=element,simulatePageLoad(canvasElement);else if(element instanceof Node){if(canvasElement.firstChild===element&&forceRemount===!1)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`
9
- Did you forget to return the HTML snippet from the story?
10
- Use "() => <your snippet or node>" or when defining the story.
11
- `});}var parameters={renderer:"html"};
12
-
13
- export { parameters, render, renderToCanvas };
1
+ export { parameters, render, renderToCanvas } from './chunk-EVBQXENU.mjs';
2
+ import './chunk-CEH6MNVV.mjs';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { Args, ComponentAnnotations, AnnotatedStoryFn, StoryAnnotations, StrictArgs, DecoratorFunction, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations } from 'storybook/internal/types';
1
+ import { Args, ComponentAnnotations, AnnotatedStoryFn, StoryAnnotations, StrictArgs, DecoratorFunction, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations, NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations } from 'storybook/internal/types';
2
2
  export { ArgTypes, Args, Parameters, StrictArgs } from 'storybook/internal/types';
3
- import { H as HtmlRenderer } from './types-5d0e6702.js';
3
+ import { H as HtmlRenderer } from './types-19e12ec7.js';
4
4
  import 'storybook/internal/docs-tools';
5
5
 
6
6
  /**
@@ -26,4 +26,25 @@ type Loader<TArgs = StrictArgs> = LoaderFunction<HtmlRenderer, TArgs>;
26
26
  type StoryContext<TArgs = StrictArgs> = StoryContext$1<HtmlRenderer, TArgs>;
27
27
  type Preview = ProjectAnnotations<HtmlRenderer>;
28
28
 
29
- export { Decorator, HtmlRenderer, Loader, Meta, Preview, StoryContext, StoryFn, StoryObj };
29
+ /**
30
+ * Function that sets the globalConfig of your storybook. The global config is the preview module of
31
+ * your .storybook folder.
32
+ *
33
+ * It should be run a single time, so that your global config (e.g. decorators) is applied to your
34
+ * stories when using `composeStories` or `composeStory`.
35
+ *
36
+ * Example:
37
+ *
38
+ * ```jsx
39
+ * // setup-file.js
40
+ * import { setProjectAnnotations } from '@storybook/preact';
41
+ * import projectAnnotations from './.storybook/preview';
42
+ *
43
+ * setProjectAnnotations(projectAnnotations);
44
+ * ```
45
+ *
46
+ * @param projectAnnotations - E.g. (import projectAnnotations from '../.storybook/preview')
47
+ */
48
+ declare function setProjectAnnotations(projectAnnotations: NamedOrDefaultProjectAnnotations<any> | NamedOrDefaultProjectAnnotations<any>[]): NormalizedProjectAnnotations<HtmlRenderer>;
49
+
50
+ export { Decorator, HtmlRenderer, Loader, Meta, Preview, StoryContext, StoryFn, StoryObj, setProjectAnnotations };
package/dist/index.js CHANGED
@@ -1 +1,7 @@
1
- "use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __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={};module.exports=__toCommonJS(src_exports);var import_global=require("@storybook/global"),{window:globalWindow}=import_global.global;globalWindow.STORYBOOK_ENV="HTML";typeof module<"u"&&module?.hot?.decline();
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,{setProjectAnnotations:()=>setProjectAnnotations});module.exports=__toCommonJS(src_exports);var import_global=require("@storybook/global"),{window:globalWindow}=import_global.global;globalWindow.STORYBOOK_ENV="HTML";var import_preview_api2=require("storybook/internal/preview-api");var entry_preview_exports={};__export(entry_preview_exports,{parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var import_preview_api=require("storybook/internal/preview-api"),import_global2=require("@storybook/global"),import_ts_dedent=require("ts-dedent"),{Node}=import_global2.global,render=(args,context)=>{let{id,component:Component}=context;if(typeof Component=="string"){let output=Component;return Object.keys(args).forEach(key=>{output=output.replace(`{{${key}}}`,args[key])}),output}if(Component instanceof HTMLElement){let output=Component.cloneNode(!0);return Object.keys(args).forEach(key=>{output.setAttribute(key,typeof args[key]=="string"?args[key]:JSON.stringify(args[key]))}),output}if(typeof Component=="function")return Component(args,context);throw console.warn(import_ts_dedent.dedent`
2
+ Storybook's HTML renderer only supports rendering DOM elements and strings.
3
+ Received: ${Component}
4
+ `),new Error(`Unable to render story ${id}`)};function renderToCanvas({storyFn,kind,name,showMain,showError,forceRemount},canvasElement){let element=storyFn();if(showMain(),typeof element=="string")canvasElement.innerHTML=element,(0,import_preview_api.simulatePageLoad)(canvasElement);else if(element instanceof Node){if(canvasElement.firstChild===element&&forceRemount===!1)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`
5
+ Did you forget to return the HTML snippet from the story?
6
+ Use "() => <your snippet or node>" or when defining the story.
7
+ `})}var parameters={renderer:"html"};function setProjectAnnotations(projectAnnotations){return(0,import_preview_api2.setDefaultProjectAnnotations)(entry_preview_exports),(0,import_preview_api2.setProjectAnnotations)(projectAnnotations)}typeof module<"u"&&module?.hot?.decline();0&&(module.exports={setProjectAnnotations});
package/dist/index.mjs CHANGED
@@ -1,3 +1,8 @@
1
+ import { entry_preview_exports } from './chunk-EVBQXENU.mjs';
2
+ import './chunk-CEH6MNVV.mjs';
1
3
  import { global } from '@storybook/global';
4
+ import { setDefaultProjectAnnotations, setProjectAnnotations as setProjectAnnotations$1 } from 'storybook/internal/preview-api';
2
5
 
3
- var{window:globalWindow}=global;globalWindow.STORYBOOK_ENV="HTML";typeof module<"u"&&module?.hot?.decline();
6
+ var{window:globalWindow}=global;globalWindow.STORYBOOK_ENV="HTML";function setProjectAnnotations(projectAnnotations){return setDefaultProjectAnnotations(entry_preview_exports),setProjectAnnotations$1(projectAnnotations)}typeof module<"u"&&module?.hot?.decline();
7
+
8
+ export { setProjectAnnotations };
package/dist/preset.js CHANGED
@@ -1 +1 @@
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 preset_exports={};__export(preset_exports,{previewAnnotations:()=>previewAnnotations});module.exports=__toCommonJS(preset_exports);var import_path=require("path"),previewAnnotations=async(input=[],options)=>{let docsEnabled=Object.keys(await options.presets.apply("docs",{},options)).length>0;return[].concat(input).concat([(0,import_path.join)(__dirname,"entry-preview.mjs")]).concat(docsEnabled?[(0,import_path.join)(__dirname,"entry-preview-docs.mjs")]:[])};0&&(module.exports={previewAnnotations});
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 preset_exports={};__export(preset_exports,{previewAnnotations:()=>previewAnnotations});module.exports=__toCommonJS(preset_exports);var import_node_path=require("path"),previewAnnotations=async(input=[],options)=>{let docsEnabled=Object.keys(await options.presets.apply("docs",{},options)).length>0;return[].concat(input).concat([(0,import_node_path.join)(__dirname,"entry-preview.mjs")]).concat(docsEnabled?[(0,import_node_path.join)(__dirname,"entry-preview-docs.mjs")]:[])};0&&(module.exports={previewAnnotations});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/html",
3
- "version": "8.3.0-alpha.0",
3
+ "version": "8.3.0-alpha.10",
4
4
  "description": "Storybook HTML renderer",
5
5
  "keywords": [
6
6
  "storybook"
@@ -22,9 +22,9 @@
22
22
  "exports": {
23
23
  ".": {
24
24
  "types": "./dist/index.d.ts",
25
- "node": "./dist/index.js",
26
25
  "import": "./dist/index.mjs",
27
- "require": "./dist/index.js"
26
+ "require": "./dist/index.js",
27
+ "node": "./dist/index.js"
28
28
  },
29
29
  "./preset": "./preset.js",
30
30
  "./dist/entry-preview.mjs": "./dist/entry-preview.mjs",
@@ -43,18 +43,22 @@
43
43
  "!src/**/*"
44
44
  ],
45
45
  "scripts": {
46
- "check": "node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/check.ts",
47
- "prep": "node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/bundle.ts"
46
+ "check": "jiti ../../../scripts/prepare/check.ts",
47
+ "prep": "jiti ../../../scripts/prepare/bundle.ts"
48
48
  },
49
49
  "dependencies": {
50
+ "@storybook/components": "^8.3.0-alpha.10",
50
51
  "@storybook/global": "^5.0.0",
52
+ "@storybook/manager-api": "^8.3.0-alpha.10",
53
+ "@storybook/preview-api": "^8.3.0-alpha.10",
54
+ "@storybook/theming": "^8.3.0-alpha.10",
51
55
  "ts-dedent": "^2.0.0"
52
56
  },
53
57
  "devDependencies": {
54
58
  "typescript": "^5.3.2"
55
59
  },
56
60
  "peerDependencies": {
57
- "storybook": "^8.3.0-alpha.0"
61
+ "storybook": "^8.3.0-alpha.10"
58
62
  },
59
63
  "engines": {
60
64
  "node": ">=18.0.0"
@@ -1,4 +1,5 @@
1
1
  import { fn } from '@storybook/test';
2
+
2
3
  import { createButton } from './Button';
3
4
 
4
5
  // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
@@ -1,5 +1,5 @@
1
- import './header.css';
2
1
  import { createButton } from './Button';
2
+ import './header.css';
3
3
 
4
4
  export const createHeader = ({ user, onLogout, onLogin, onCreateAccount }) => {
5
5
  const header = document.createElement('header');
@@ -1,4 +1,5 @@
1
1
  import { fn } from '@storybook/test';
2
+
2
3
  import { createHeader } from './Header';
3
4
 
4
5
  export default {
@@ -1,5 +1,5 @@
1
- import './page.css';
2
1
  import { createHeader } from './Header';
2
+ import './page.css';
3
3
 
4
4
  export const createPage = () => {
5
5
  const article = document.createElement('article');
@@ -1,4 +1,5 @@
1
- import { within, userEvent, expect } from '@storybook/test';
1
+ import { expect, userEvent, within } from '@storybook/test';
2
+
2
3
  import { createPage } from './Page';
3
4
 
4
5
  export default {
@@ -1,5 +1,6 @@
1
- import type { StoryObj, Meta } from '@storybook/html';
1
+ import type { Meta, StoryObj } from '@storybook/html';
2
2
  import { fn } from '@storybook/test';
3
+
3
4
  import type { ButtonProps } from './Button';
4
5
  import { createButton } from './Button';
5
6
 
@@ -1,31 +1,19 @@
1
1
  import './button.css';
2
2
 
3
3
  export interface ButtonProps {
4
- /**
5
- * Is this the principal call to action on the page?
6
- */
4
+ /** Is this the principal call to action on the page? */
7
5
  primary?: boolean;
8
- /**
9
- * What background color to use
10
- */
6
+ /** What background color to use */
11
7
  backgroundColor?: string;
12
- /**
13
- * How large should the button be?
14
- */
8
+ /** How large should the button be? */
15
9
  size?: 'small' | 'medium' | 'large';
16
- /**
17
- * Button contents
18
- */
10
+ /** Button contents */
19
11
  label: string;
20
- /**
21
- * Optional click handler
22
- */
12
+ /** Optional click handler */
23
13
  onClick?: () => void;
24
14
  }
25
15
 
26
- /**
27
- * Primary UI component for user interaction
28
- */
16
+ /** Primary UI component for user interaction */
29
17
  export const createButton = ({
30
18
  primary = false,
31
19
  size = 'medium',
@@ -1,5 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/html';
2
2
  import { fn } from '@storybook/test';
3
+
3
4
  import type { HeaderProps } from './Header';
4
5
  import { createHeader } from './Header';
5
6
 
@@ -1,5 +1,5 @@
1
- import './header.css';
2
1
  import { createButton } from './Button';
2
+ import './header.css';
3
3
 
4
4
  export interface HeaderProps {
5
5
  user?: { name: string };
@@ -1,5 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/html';
2
- import { within, userEvent, expect } from '@storybook/test';
2
+ import { expect, userEvent, within } from '@storybook/test';
3
+
3
4
  import { createPage } from './Page';
4
5
 
5
6
  const meta: Meta = {
@@ -1,5 +1,5 @@
1
- import './page.css';
2
1
  import { createHeader } from './Header';
2
+ import './page.css';
3
3
 
4
4
  type User = {
5
5
  name: string;
@@ -1,5 +1,6 @@
1
- import type { StoryObj, Meta } from '@storybook/html';
1
+ import type { Meta, StoryObj } from '@storybook/html';
2
2
  import { fn } from '@storybook/test';
3
+
3
4
  import type { ButtonProps } from './Button';
4
5
  import { createButton } from './Button';
5
6
 
@@ -1,31 +1,19 @@
1
1
  import './button.css';
2
2
 
3
3
  export interface ButtonProps {
4
- /**
5
- * Is this the principal call to action on the page?
6
- */
4
+ /** Is this the principal call to action on the page? */
7
5
  primary?: boolean;
8
- /**
9
- * What background color to use
10
- */
6
+ /** What background color to use */
11
7
  backgroundColor?: string;
12
- /**
13
- * How large should the button be?
14
- */
8
+ /** How large should the button be? */
15
9
  size?: 'small' | 'medium' | 'large';
16
- /**
17
- * Button contents
18
- */
10
+ /** Button contents */
19
11
  label: string;
20
- /**
21
- * Optional click handler
22
- */
12
+ /** Optional click handler */
23
13
  onClick?: () => void;
24
14
  }
25
15
 
26
- /**
27
- * Primary UI component for user interaction
28
- */
16
+ /** Primary UI component for user interaction */
29
17
  export const createButton = ({
30
18
  primary = false,
31
19
  size = 'medium',
@@ -1,5 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/html';
2
2
  import { fn } from '@storybook/test';
3
+
3
4
  import type { HeaderProps } from './Header';
4
5
  import { createHeader } from './Header';
5
6
 
@@ -1,5 +1,5 @@
1
- import './header.css';
2
1
  import { createButton } from './Button';
2
+ import './header.css';
3
3
 
4
4
  export interface HeaderProps {
5
5
  user?: { name: string };
@@ -1,5 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/html';
2
- import { within, userEvent, expect } from '@storybook/test';
2
+ import { expect, userEvent, within } from '@storybook/test';
3
+
3
4
  import { createPage } from './Page';
4
5
 
5
6
  const meta = {
@@ -1,5 +1,5 @@
1
- import './page.css';
2
1
  import { createHeader } from './Header';
2
+ import './page.css';
3
3
 
4
4
  type User = {
5
5
  name: string;
@@ -1,9 +1,9 @@
1
1
  import { global as globalThis } from '@storybook/global';
2
2
 
3
3
  import { Button } from './Button';
4
- import { Pre } from './Pre';
5
4
  import { Form } from './Form';
6
5
  import { Html } from './Html';
6
+ import { Pre } from './Pre';
7
7
 
8
8
  globalThis.Components = { Button, Pre, Form, Html };
9
9
  globalThis.storybookRenderer = 'html';
@@ -1,5 +1,5 @@
1
- import { WebRenderer, ArgsStoryFn } from 'storybook/internal/types';
2
1
  import { SourceType } from 'storybook/internal/docs-tools';
2
+ import { WebRenderer, ArgsStoryFn } from 'storybook/internal/types';
3
3
 
4
4
  type StoryFnHtmlReturnType = string | Node;
5
5
  interface HtmlRenderer extends WebRenderer {