diff --git a/.prettierignore b/.prettierignore
index 69bfed98f0..c7a16065e5 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1,7 +1,6 @@
.yarn
dist
microsite
-canon-docs
coverage
*.hbs
templates
diff --git a/canon-docs/package.json b/canon-docs/package.json
index ac95f3d6a6..dcfca3c2ba 100644
--- a/canon-docs/package.json
+++ b/canon-docs/package.json
@@ -14,12 +14,14 @@
"@mdx-js/loader": "^3.1.0",
"@mdx-js/react": "^3.1.0",
"@next/mdx": "^15.1.4",
+ "@storybook/react": "^8.4.7",
"@types/mdx": "^2.0.13",
"next": "14.2.23",
"react": "^18",
"react-dom": "^18",
"react-frame-component": "^5.2.7",
- "shiki": "^1.26.1"
+ "shiki": "^1.26.1",
+ "storybook": "^8.4.7"
},
"devDependencies": {
"@types/node": "^20",
diff --git a/canon-docs/src/snippets/box.tsx b/canon-docs/src/snippets/box.tsx
index 61294c0ce2..2a99ebee7d 100644
--- a/canon-docs/src/snippets/box.tsx
+++ b/canon-docs/src/snippets/box.tsx
@@ -1,10 +1,20 @@
'use client';
-import * as BoxStories from '../../../packages/canon/src/components/Box/Box.stories';
-import { composeStories } from '@storybook/react';
+import { Box } from '../../../packages/canon';
export const BoxPreview = () => {
- const { Default } = composeStories(BoxStories);
-
- return ;
+ return (
+
+ );
};
diff --git a/canon-docs/src/snippets/button.tsx b/canon-docs/src/snippets/button.tsx
index 02b1304774..59e6bbd486 100644
--- a/canon-docs/src/snippets/button.tsx
+++ b/canon-docs/src/snippets/button.tsx
@@ -1,50 +1,108 @@
'use client';
-import * as ButtonStories from '../../../packages/canon/src/components/Button/Button.stories';
-import { composeStories } from '@storybook/react';
+import {
+ Inline,
+ Button,
+ Stack,
+ ButtonProps,
+ Text,
+} from '../../../packages/canon';
export const ButtonPreview = () => {
- const { Variants } = composeStories(ButtonStories);
-
- return ;
+ return (
+
+
+
+
+
+ );
};
export const ButtonSizes = () => {
- const { Sizes } = composeStories(ButtonStories);
-
- return ;
+ return (
+
+
+
+
+ );
};
export const ButtonWithIcons = () => {
- const { WithIcons } = composeStories(ButtonStories);
-
- return ;
+ return (
+
+
+
+
+
+ );
};
export const ButtonFullWidth = () => {
- const { FullWidth } = composeStories(ButtonStories);
-
- return ;
+ return (
+
+
+
+
+
+ );
};
export const ButtonDisabled = () => {
- const { Disabled } = composeStories(ButtonStories);
-
- return ;
+ return ;
};
export const ButtonResponsive = () => {
- const { Responsive } = composeStories(ButtonStories);
-
// TODO: Add responsive button
return null;
- return ;
};
export const ButtonPlayground = () => {
- // const { Playground } = composeStories(ButtonStories);
+ const variants: string[] = ['primary', 'secondary', 'tertiary'];
- // return ;
-
- return
werg
;
+ return (
+
+ {variants.map(variant => (
+
+ {variant}
+ {['small', 'medium'].map(size => (
+
+
+
+
+
+ ))}
+
+ ))}
+
+ );
};
diff --git a/canon-docs/src/snippets/checkbox.tsx b/canon-docs/src/snippets/checkbox.tsx
index d52b1400b0..88c6de4a99 100644
--- a/canon-docs/src/snippets/checkbox.tsx
+++ b/canon-docs/src/snippets/checkbox.tsx
@@ -1,22 +1,32 @@
'use client';
-import * as CheckboxStories from '../../../packages/canon/src/components/Checkbox/Checkbox.stories';
-import { composeStories } from '@storybook/react';
+import { Inline, Checkbox, Stack, Text } from '../../../packages/canon';
export const CheckboxPreview = () => {
- const { Default } = composeStories(CheckboxStories);
-
- return ;
+ return ;
};
export const CheckboxAllVariants = () => {
- const { AllVariants } = composeStories(CheckboxStories);
-
- return ;
+ return (
+
+
+
+
+
+
+ );
};
export const CheckboxPlayground = () => {
- const { Playground } = composeStories(CheckboxStories);
-
- return ;
+ return (
+
+ All variants
+
+
+
+
+
+
+
+ );
};
diff --git a/canon-docs/src/snippets/container.tsx b/canon-docs/src/snippets/container.tsx
index 425411f9a0..40ffc69c8c 100644
--- a/canon-docs/src/snippets/container.tsx
+++ b/canon-docs/src/snippets/container.tsx
@@ -1,10 +1,25 @@
'use client';
-import { composeStories } from '@storybook/react';
-import * as ContainerStories from '../../../packages/canon/src/components/Container/Container.stories';
+import { Box, Container } from '../../../packages/canon';
+
+const DecorativeBox = () => (
+
+);
export const ContainerPreview = () => {
- const { Preview } = composeStories(ContainerStories);
-
- return ;
+ return (
+
+
+
+ );
};
diff --git a/canon-docs/src/snippets/grid.tsx b/canon-docs/src/snippets/grid.tsx
index 391bb50e9c..161747cbf6 100644
--- a/canon-docs/src/snippets/grid.tsx
+++ b/canon-docs/src/snippets/grid.tsx
@@ -1,10 +1,27 @@
'use client';
-import { composeStories } from '@storybook/react';
-import * as GridStories from '../../../packages/canon/src/components/Grid/Grid.stories';
+import { Box, Grid } from '../../../packages/canon';
+
+const FakeBox = () => (
+
+);
export const GridPreview = () => {
- const { Default } = composeStories(GridStories);
-
- return ;
+ return (
+
+
+
+
+
+ );
};
diff --git a/canon-docs/src/snippets/heading.tsx b/canon-docs/src/snippets/heading.tsx
index ea6ce317b1..087ce7ebbd 100644
--- a/canon-docs/src/snippets/heading.tsx
+++ b/canon-docs/src/snippets/heading.tsx
@@ -1,30 +1,43 @@
'use client';
-import * as HeadingStories from '../../../packages/canon/src/components/Heading/Heading.stories';
-import { composeStories } from '@storybook/react';
+import { Heading, Stack, Text } from '../../../packages/canon';
export const HeadingPreview = () => {
- const { Title1 } = composeStories(HeadingStories);
-
- return ;
+ return Look mum, no hands!;
};
export const HeadingAllVariants = () => {
- const { AllVariants } = composeStories(HeadingStories);
-
- return ;
+ return (
+
+ Display
+ Title 1
+ Title 2
+ Title 3
+ Title 4
+
+ );
};
export const HeadingResponsive = () => {
- const { Responsive } = composeStories(HeadingStories);
-
- // TODO: Add responsive heading
return null;
- return ;
+ return (
+
+
+ Responsive heading
+
+
+ );
};
export const HeadingPlayground = () => {
- const { Playground } = composeStories(HeadingStories);
-
- return ;
+ return (
+
+ All variants
+ Display
+ Title 1
+ Title 2
+ Title 3
+ Title 4
+
+ );
};
diff --git a/canon-docs/src/snippets/icon.tsx b/canon-docs/src/snippets/icon.tsx
index 4c4d44aef4..126dbaf686 100644
--- a/canon-docs/src/snippets/icon.tsx
+++ b/canon-docs/src/snippets/icon.tsx
@@ -1,10 +1,7 @@
'use client';
-import * as IconStories from '../../../packages/canon/src/components/Icon/Icon.stories';
-import { composeStories } from '@storybook/react';
+import { Icon } from '../../../packages/canon';
export const IconPreview = () => {
- const { Default } = composeStories(IconStories);
-
- return ;
+ return ;
};
diff --git a/canon-docs/src/snippets/inline.tsx b/canon-docs/src/snippets/inline.tsx
index 2b58f2e970..73b619e3af 100644
--- a/canon-docs/src/snippets/inline.tsx
+++ b/canon-docs/src/snippets/inline.tsx
@@ -1,10 +1,48 @@
'use client';
-import * as InlineStories from '../../../packages/canon/src/components/Inline/Inline.stories';
-import { composeStories } from '@storybook/react';
+import { Box, Inline } from '../../../packages/canon';
+
+const fakeBlockList = [
+ { width: 45, height: 60 },
+ { width: 150, height: 75 },
+ { width: 80, height: 50 },
+ { width: 120, height: 70 },
+ { width: 95, height: 65 },
+ { width: 80, height: 32 },
+ { width: 130, height: 60 },
+ { width: 100, height: 80 },
+ { width: 140, height: 45 },
+ { width: 85, height: 70 },
+ { width: 125, height: 50 },
+];
+
+const FakeBox = ({
+ width = 120,
+ height = 80,
+}: {
+ width?: number;
+ height?: number;
+}) => (
+
+);
export const InlinePreview = () => {
- const { Default } = composeStories(InlineStories);
-
- return ;
+ return (
+
+ {fakeBlockList.map((block, index) => (
+
+ ))}
+
+ );
};
diff --git a/canon-docs/src/snippets/stack.tsx b/canon-docs/src/snippets/stack.tsx
index 79a2c59e45..4bada6f7ba 100644
--- a/canon-docs/src/snippets/stack.tsx
+++ b/canon-docs/src/snippets/stack.tsx
@@ -1,10 +1,31 @@
'use client';
-import * as StackStories from '../../../packages/canon/src/components/Stack/Stack.stories';
-import { composeStories } from '@storybook/react';
+import { Stack } from '../../../packages/canon';
+
+const DecorativeBox = () => {
+ return (
+
+ );
+};
export const StackPreview = () => {
- const { Default } = composeStories(StackStories);
-
- return ;
+ return (
+
+
+
+
+
+
+
+ );
};
diff --git a/canon-docs/src/snippets/text.tsx b/canon-docs/src/snippets/text.tsx
index 34e64c3004..633b3b45d7 100644
--- a/canon-docs/src/snippets/text.tsx
+++ b/canon-docs/src/snippets/text.tsx
@@ -1,36 +1,93 @@
'use client';
-import * as TextStories from '../../../packages/canon/src/components/Text/Text.stories';
-import { composeStories } from '@storybook/react';
+import { Stack, Text } from '../../../packages/canon';
export const TextPreview = () => {
- const { Default } = composeStories(TextStories);
-
- return ;
+ return (
+
+ A man looks at a painting in a museum and says, “Brothers and sisters I
+ have none, but that man's father is my father's son.” Who is in
+ the painting?
+
+ );
};
export const TextAllVariants = () => {
- const { AllVariants } = composeStories(TextStories);
-
- return ;
+ return (
+
+
+ A man looks at a painting in a museum and says, “Brothers and sisters I
+ have none, but that man's father is my father's son.” Who is
+ in the painting?
+
+
+ A man looks at a painting in a museum and says, “Brothers and sisters I
+ have none, but that man's father is my father's son.” Who is
+ in the painting?
+
+
+ A man looks at a painting in a museum and says, “Brothers and sisters I
+ have none, but that man's father is my father's son.” Who is
+ in the painting?
+
+
+ A man looks at a painting in a museum and says, “Brothers and sisters I
+ have none, but that man's father is my father's son.” Who is
+ in the painting?
+
+
+ );
};
export const TextAllWeights = () => {
- const { AllWeights } = composeStories(TextStories);
-
- return ;
+ return (
+
+
+ A man looks at a painting in a museum and says, “Brothers and sisters I
+ have none, but that man's father is my father's son.” Who is
+ in the painting?
+
+
+ A man looks at a painting in a museum and says, “Brothers and sisters I
+ have none, but that man's father is my father's son.” Who is
+ in the painting?
+
+
+ );
};
export const TextResponsive = () => {
- const { Responsive } = composeStories(TextStories);
-
// TODO: Add responsive text
return null;
- return ;
};
export const TextPlayground = () => {
- const { Playground } = composeStories(TextStories);
-
- return ;
+ return (
+
+ Subtitle
+
+ A man looks at a painting in a museum and says, “Brothers and sisters I
+ have none, but that man's father is my father's son.” Who is
+ in the painting?
+
+ Body
+
+ A man looks at a painting in a museum and says, “Brothers and sisters I
+ have none, but that man's father is my father's son.” Who is
+ in the painting?
+
+ Caption
+
+ A man looks at a painting in a museum and says, “Brothers and sisters I
+ have none, but that man's father is my father's son.” Who is
+ in the painting?
+
+ Label
+
+ A man looks at a painting in a museum and says, “Brothers and sisters I
+ have none, but that man's father is my father's son.” Who is
+ in the painting?
+
+
+ );
};
diff --git a/canon-docs/yarn.lock b/canon-docs/yarn.lock
index e03a3e202f..9eb2b969f2 100644
--- a/canon-docs/yarn.lock
+++ b/canon-docs/yarn.lock
@@ -5,6 +5,181 @@ __metadata:
version: 6
cacheKey: 8
+"@esbuild/aix-ppc64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/aix-ppc64@npm:0.24.2"
+ conditions: os=aix & cpu=ppc64
+ languageName: node
+ linkType: hard
+
+"@esbuild/android-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/android-arm64@npm:0.24.2"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/android-arm@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/android-arm@npm:0.24.2"
+ conditions: os=android & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@esbuild/android-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/android-x64@npm:0.24.2"
+ conditions: os=android & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/darwin-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/darwin-arm64@npm:0.24.2"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/darwin-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/darwin-x64@npm:0.24.2"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/freebsd-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/freebsd-arm64@npm:0.24.2"
+ conditions: os=freebsd & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/freebsd-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/freebsd-x64@npm:0.24.2"
+ conditions: os=freebsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-arm64@npm:0.24.2"
+ conditions: os=linux & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-arm@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-arm@npm:0.24.2"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-ia32@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-ia32@npm:0.24.2"
+ conditions: os=linux & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-loong64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-loong64@npm:0.24.2"
+ conditions: os=linux & cpu=loong64
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-mips64el@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-mips64el@npm:0.24.2"
+ conditions: os=linux & cpu=mips64el
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-ppc64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-ppc64@npm:0.24.2"
+ conditions: os=linux & cpu=ppc64
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-riscv64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-riscv64@npm:0.24.2"
+ conditions: os=linux & cpu=riscv64
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-s390x@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-s390x@npm:0.24.2"
+ conditions: os=linux & cpu=s390x
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-x64@npm:0.24.2"
+ conditions: os=linux & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/netbsd-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/netbsd-arm64@npm:0.24.2"
+ conditions: os=netbsd & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/netbsd-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/netbsd-x64@npm:0.24.2"
+ conditions: os=netbsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/openbsd-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/openbsd-arm64@npm:0.24.2"
+ conditions: os=openbsd & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/openbsd-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/openbsd-x64@npm:0.24.2"
+ conditions: os=openbsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/sunos-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/sunos-x64@npm:0.24.2"
+ conditions: os=sunos & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/win32-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/win32-arm64@npm:0.24.2"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/win32-ia32@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/win32-ia32@npm:0.24.2"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"@esbuild/win32-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/win32-x64@npm:0.24.2"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0":
version: 4.4.1
resolution: "@eslint-community/eslint-utils@npm:4.4.1"
@@ -366,6 +541,118 @@ __metadata:
languageName: node
linkType: hard
+"@storybook/components@npm:8.4.7":
+ version: 8.4.7
+ resolution: "@storybook/components@npm:8.4.7"
+ peerDependencies:
+ storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
+ checksum: e39fb81e8386db4f3f76cbf4f82e50512fed2f65a581951c0b61e00c9834c20cfff7f717e936353275dadfe6a25ffaac5d47151adbe1e3be85e709f8a64f6a15
+ languageName: node
+ linkType: hard
+
+"@storybook/core@npm:8.4.7":
+ version: 8.4.7
+ resolution: "@storybook/core@npm:8.4.7"
+ dependencies:
+ "@storybook/csf": ^0.1.11
+ better-opn: ^3.0.2
+ browser-assert: ^1.2.1
+ esbuild: ^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0
+ esbuild-register: ^3.5.0
+ jsdoc-type-pratt-parser: ^4.0.0
+ process: ^0.11.10
+ recast: ^0.23.5
+ semver: ^7.6.2
+ util: ^0.12.5
+ ws: ^8.2.3
+ peerDependencies:
+ prettier: ^2 || ^3
+ peerDependenciesMeta:
+ prettier:
+ optional: true
+ checksum: 969cde2203c9c2c744f2a1d2858b2adeb7d57fc75e703f64187fcf0056eb7da48d0507d919718c0866952dda084eb51d79e65a90abec8bb0dcb404b542a6872f
+ languageName: node
+ linkType: hard
+
+"@storybook/csf@npm:^0.1.11":
+ version: 0.1.13
+ resolution: "@storybook/csf@npm:0.1.13"
+ dependencies:
+ type-fest: ^2.19.0
+ checksum: 78cfd8348e74fdd22bc7d14b443b8ad28b7e797ce147beeab4a1bed6c4e6885287fdaebbcad6efc104819a924121175d461c16e425a4b4f5903cec8f6be6f440
+ languageName: node
+ linkType: hard
+
+"@storybook/global@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "@storybook/global@npm:5.0.0"
+ checksum: ede0ad35ec411fe31c61150dbd118fef344d1d0e72bf5d3502368e35cf68126f6b7ae4a0ab5e2ffe2f0baa3b4286f03ad069ba3e098e1725449ef08b7e154ba8
+ languageName: node
+ linkType: hard
+
+"@storybook/manager-api@npm:8.4.7":
+ version: 8.4.7
+ resolution: "@storybook/manager-api@npm:8.4.7"
+ peerDependencies:
+ storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
+ checksum: 2b826ec55de7ea0b5b5151dfa896f3e7eddfd36ede61f8a7ad14a37733d5d5645565f863dbde7e2272f1e9b5717f26de7802ae60e297a2647ee2c4c072ed3069
+ languageName: node
+ linkType: hard
+
+"@storybook/preview-api@npm:8.4.7":
+ version: 8.4.7
+ resolution: "@storybook/preview-api@npm:8.4.7"
+ peerDependencies:
+ storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
+ checksum: 1c467bb2c16c5998b9bc4c2c013e6786936d5f6a373ad8d8ab1beb626616c3187329fdfc3a709663b4af963c7e5789a1401166c6e2a3a66a12f66e858aa94e91
+ languageName: node
+ linkType: hard
+
+"@storybook/react-dom-shim@npm:8.4.7":
+ version: 8.4.7
+ resolution: "@storybook/react-dom-shim@npm:8.4.7"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
+ storybook: ^8.4.7
+ checksum: 4de29cbb990bfb2f310440aa995b024faa93fd1d5c7c942d6d661d590693eb56e0567a141c14faca63e8b24fc2f6b6b44c02af37cd2d5b469c1129b0e78fc79d
+ languageName: node
+ linkType: hard
+
+"@storybook/react@npm:^8.4.7":
+ version: 8.4.7
+ resolution: "@storybook/react@npm:8.4.7"
+ dependencies:
+ "@storybook/components": 8.4.7
+ "@storybook/global": ^5.0.0
+ "@storybook/manager-api": 8.4.7
+ "@storybook/preview-api": 8.4.7
+ "@storybook/react-dom-shim": 8.4.7
+ "@storybook/theming": 8.4.7
+ peerDependencies:
+ "@storybook/test": 8.4.7
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
+ storybook: ^8.4.7
+ typescript: ">= 4.2.x"
+ peerDependenciesMeta:
+ "@storybook/test":
+ optional: true
+ typescript:
+ optional: true
+ checksum: 5ad2137f8f5f0a34cb90e2582fd574aff888c544f0f9907472d930d4fb1f444124aa84188a0b5d661cc6c4c0bf7210b1e616a53b4be3f2df2479165571fa9085
+ languageName: node
+ linkType: hard
+
+"@storybook/theming@npm:8.4.7":
+ version: 8.4.7
+ resolution: "@storybook/theming@npm:8.4.7"
+ peerDependencies:
+ storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
+ checksum: 47d29993c33bb29994d227af30e099579b7cf760652ed743020f5d7e5a5974f59a6ebeb1cc8995e6158da9cf768a8d2f559d1d819cc082d0bcdb056d85fdcb29
+ languageName: node
+ linkType: hard
+
"@swc/counter@npm:^0.1.3":
version: 0.1.3
resolution: "@swc/counter@npm:0.1.3"
@@ -809,6 +1096,15 @@ __metadata:
languageName: node
linkType: hard
+"ast-types@npm:^0.16.1":
+ version: 0.16.1
+ resolution: "ast-types@npm:0.16.1"
+ dependencies:
+ tslib: ^2.0.1
+ checksum: 21c186da9fdb1d8087b1b7dabbc4059f91aa5a1e593a9776b4393cc1eaa857e741b2dda678d20e34b16727b78fef3ab59cf8f0c75ed1ba649c78fe194e5c114b
+ languageName: node
+ linkType: hard
+
"astring@npm:^1.8.0":
version: 1.9.0
resolution: "astring@npm:1.9.0"
@@ -855,6 +1151,15 @@ __metadata:
languageName: node
linkType: hard
+"better-opn@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "better-opn@npm:3.0.2"
+ dependencies:
+ open: ^8.0.4
+ checksum: 1471552fa7f733561e7f49e812be074b421153006ca744de985fb6d38939807959fc5fe9cb819cf09f864782e294704fd3b31711ea14c115baf3330a2f1135de
+ languageName: node
+ linkType: hard
+
"brace-expansion@npm:^1.1.7":
version: 1.1.11
resolution: "brace-expansion@npm:1.1.11"
@@ -883,6 +1188,13 @@ __metadata:
languageName: node
linkType: hard
+"browser-assert@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "browser-assert@npm:1.2.1"
+ checksum: 8b2407cd04c1ed592cf892dec35942b7d72635829221e0788c9a16c4d2afa8b7156bc9705b1c4b32c30d88136c576fda3cbcb8f494d6f865264c706ea8798d92
+ languageName: node
+ linkType: hard
+
"busboy@npm:1.6.0":
version: 1.6.0
resolution: "busboy@npm:1.6.0"
@@ -945,6 +1257,7 @@ __metadata:
"@mdx-js/loader": ^3.1.0
"@mdx-js/react": ^3.1.0
"@next/mdx": ^15.1.4
+ "@storybook/react": ^8.4.7
"@types/mdx": ^2.0.13
"@types/node": ^20
"@types/react": ^18
@@ -958,6 +1271,7 @@ __metadata:
react-dom: ^18
react-frame-component: ^5.2.7
shiki: ^1.26.1
+ storybook: ^8.4.7
typescript: ^5
languageName: unknown
linkType: soft
@@ -1186,6 +1500,13 @@ __metadata:
languageName: node
linkType: hard
+"define-lazy-prop@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "define-lazy-prop@npm:2.0.0"
+ checksum: 0115fdb065e0490918ba271d7339c42453d209d4cb619dfe635870d906731eff3e1ade8028bb461ea27ce8264ec5e22c6980612d332895977e89c1bbc80fcee2
+ languageName: node
+ linkType: hard
+
"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1":
version: 1.2.1
resolution: "define-properties@npm:1.2.1"
@@ -1451,6 +1772,103 @@ __metadata:
languageName: node
linkType: hard
+"esbuild-register@npm:^3.5.0":
+ version: 3.6.0
+ resolution: "esbuild-register@npm:3.6.0"
+ dependencies:
+ debug: ^4.3.4
+ peerDependencies:
+ esbuild: ">=0.12 <1"
+ checksum: 9221e26dde3366398a43183b600d8e9252b8003516cd766983a06c321eb07cf1b6b236948a21e4d1728c17a341c0fa52b49409c951d89fc7bf65d07d43c31a05
+ languageName: node
+ linkType: hard
+
+"esbuild@npm:^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0":
+ version: 0.24.2
+ resolution: "esbuild@npm:0.24.2"
+ dependencies:
+ "@esbuild/aix-ppc64": 0.24.2
+ "@esbuild/android-arm": 0.24.2
+ "@esbuild/android-arm64": 0.24.2
+ "@esbuild/android-x64": 0.24.2
+ "@esbuild/darwin-arm64": 0.24.2
+ "@esbuild/darwin-x64": 0.24.2
+ "@esbuild/freebsd-arm64": 0.24.2
+ "@esbuild/freebsd-x64": 0.24.2
+ "@esbuild/linux-arm": 0.24.2
+ "@esbuild/linux-arm64": 0.24.2
+ "@esbuild/linux-ia32": 0.24.2
+ "@esbuild/linux-loong64": 0.24.2
+ "@esbuild/linux-mips64el": 0.24.2
+ "@esbuild/linux-ppc64": 0.24.2
+ "@esbuild/linux-riscv64": 0.24.2
+ "@esbuild/linux-s390x": 0.24.2
+ "@esbuild/linux-x64": 0.24.2
+ "@esbuild/netbsd-arm64": 0.24.2
+ "@esbuild/netbsd-x64": 0.24.2
+ "@esbuild/openbsd-arm64": 0.24.2
+ "@esbuild/openbsd-x64": 0.24.2
+ "@esbuild/sunos-x64": 0.24.2
+ "@esbuild/win32-arm64": 0.24.2
+ "@esbuild/win32-ia32": 0.24.2
+ "@esbuild/win32-x64": 0.24.2
+ dependenciesMeta:
+ "@esbuild/aix-ppc64":
+ optional: true
+ "@esbuild/android-arm":
+ optional: true
+ "@esbuild/android-arm64":
+ optional: true
+ "@esbuild/android-x64":
+ optional: true
+ "@esbuild/darwin-arm64":
+ optional: true
+ "@esbuild/darwin-x64":
+ optional: true
+ "@esbuild/freebsd-arm64":
+ optional: true
+ "@esbuild/freebsd-x64":
+ optional: true
+ "@esbuild/linux-arm":
+ optional: true
+ "@esbuild/linux-arm64":
+ optional: true
+ "@esbuild/linux-ia32":
+ optional: true
+ "@esbuild/linux-loong64":
+ optional: true
+ "@esbuild/linux-mips64el":
+ optional: true
+ "@esbuild/linux-ppc64":
+ optional: true
+ "@esbuild/linux-riscv64":
+ optional: true
+ "@esbuild/linux-s390x":
+ optional: true
+ "@esbuild/linux-x64":
+ optional: true
+ "@esbuild/netbsd-arm64":
+ optional: true
+ "@esbuild/netbsd-x64":
+ optional: true
+ "@esbuild/openbsd-arm64":
+ optional: true
+ "@esbuild/openbsd-x64":
+ optional: true
+ "@esbuild/sunos-x64":
+ optional: true
+ "@esbuild/win32-arm64":
+ optional: true
+ "@esbuild/win32-ia32":
+ optional: true
+ "@esbuild/win32-x64":
+ optional: true
+ bin:
+ esbuild: bin/esbuild
+ checksum: e2303f8331887e31330b5a972fb9640ad93dfc5af76cb2156faa9eaa32bac5c403244096cbdafc45622829913e63664dfd88410987e3468df4354492f908a094
+ languageName: node
+ linkType: hard
+
"escalade@npm:^3.1.1":
version: 3.2.0
resolution: "escalade@npm:3.2.0"
@@ -1711,6 +2129,16 @@ __metadata:
languageName: node
linkType: hard
+"esprima@npm:~4.0.0":
+ version: 4.0.1
+ resolution: "esprima@npm:4.0.1"
+ bin:
+ esparse: ./bin/esparse.js
+ esvalidate: ./bin/esvalidate.js
+ checksum: b45bc805a613dbea2835278c306b91aff6173c8d034223fa81498c77dcbce3b2931bf6006db816f62eacd9fd4ea975dfd85a5b7f3c6402cfd050d4ca3c13a628
+ languageName: node
+ linkType: hard
+
"esquery@npm:^1.4.2":
version: 1.6.0
resolution: "esquery@npm:1.6.0"
@@ -2276,7 +2704,7 @@ __metadata:
languageName: node
linkType: hard
-"inherits@npm:2":
+"inherits@npm:2, inherits@npm:^2.0.3":
version: 2.0.4
resolution: "inherits@npm:2.0.4"
checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1
@@ -2318,6 +2746,16 @@ __metadata:
languageName: node
linkType: hard
+"is-arguments@npm:^1.0.4":
+ version: 1.2.0
+ resolution: "is-arguments@npm:1.2.0"
+ dependencies:
+ call-bound: ^1.0.2
+ has-tostringtag: ^1.0.2
+ checksum: aae9307fedfe2e5be14aebd0f48a9eeedf6b8c8f5a0b66257b965146d1e94abdc3f08e3dce3b1d908e1fa23c70039a88810ee1d753905758b9b6eebbab0bafeb
+ languageName: node
+ linkType: hard
+
"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5":
version: 3.0.5
resolution: "is-array-buffer@npm:3.0.5"
@@ -2413,6 +2851,15 @@ __metadata:
languageName: node
linkType: hard
+"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1":
+ version: 2.2.1
+ resolution: "is-docker@npm:2.2.1"
+ bin:
+ is-docker: cli.js
+ checksum: 3fef7ddbf0be25958e8991ad941901bf5922ab2753c46980b60b05c1bf9c9c2402d35e6dc32e4380b980ef5e1970a5d9d5e5aa2e02d77727c3b6b5e918474c56
+ languageName: node
+ linkType: hard
+
"is-extglob@npm:^2.1.1":
version: 2.1.1
resolution: "is-extglob@npm:2.1.1"
@@ -2436,7 +2883,7 @@ __metadata:
languageName: node
linkType: hard
-"is-generator-function@npm:^1.0.10":
+"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7":
version: 1.1.0
resolution: "is-generator-function@npm:1.1.0"
dependencies:
@@ -2551,7 +2998,7 @@ __metadata:
languageName: node
linkType: hard
-"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15":
+"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15, is-typed-array@npm:^1.1.3":
version: 1.1.15
resolution: "is-typed-array@npm:1.1.15"
dependencies:
@@ -2586,6 +3033,15 @@ __metadata:
languageName: node
linkType: hard
+"is-wsl@npm:^2.2.0":
+ version: 2.2.0
+ resolution: "is-wsl@npm:2.2.0"
+ dependencies:
+ is-docker: ^2.0.0
+ checksum: 20849846ae414997d290b75e16868e5261e86ff5047f104027026fd61d8b5a9b0b3ade16239f35e1a067b3c7cc02f70183cb661010ed16f4b6c7c93dad1b19d8
+ languageName: node
+ linkType: hard
+
"isarray@npm:^2.0.5":
version: 2.0.5
resolution: "isarray@npm:2.0.5"
@@ -2645,6 +3101,13 @@ __metadata:
languageName: node
linkType: hard
+"jsdoc-type-pratt-parser@npm:^4.0.0":
+ version: 4.1.0
+ resolution: "jsdoc-type-pratt-parser@npm:4.1.0"
+ checksum: e7642a508b090b1bdf17775383000ed71013c38e1231c1e576e5374636e8baf7c3fae8bf0252f5e1d3397d95efd56e8c8a5dd1a0de76d05d1499cbcb3c325bc3
+ languageName: node
+ linkType: hard
+
"json-buffer@npm:3.0.1":
version: 3.0.1
resolution: "json-buffer@npm:3.0.1"
@@ -3607,6 +4070,17 @@ __metadata:
languageName: node
linkType: hard
+"open@npm:^8.0.4":
+ version: 8.4.2
+ resolution: "open@npm:8.4.2"
+ dependencies:
+ define-lazy-prop: ^2.0.0
+ is-docker: ^2.1.1
+ is-wsl: ^2.2.0
+ checksum: 6388bfff21b40cb9bd8f913f9130d107f2ed4724ea81a8fd29798ee322b361ca31fa2cdfb491a5c31e43a3996cfe9566741238c7a741ada8d7af1cb78d85cf26
+ languageName: node
+ linkType: hard
+
"optionator@npm:^0.9.3":
version: 0.9.4
resolution: "optionator@npm:0.9.4"
@@ -3751,6 +4225,13 @@ __metadata:
languageName: node
linkType: hard
+"process@npm:^0.11.10":
+ version: 0.11.10
+ resolution: "process@npm:0.11.10"
+ checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3
+ languageName: node
+ linkType: hard
+
"prop-types@npm:^15.8.1":
version: 15.8.1
resolution: "prop-types@npm:15.8.1"
@@ -3822,6 +4303,19 @@ __metadata:
languageName: node
linkType: hard
+"recast@npm:^0.23.5":
+ version: 0.23.9
+ resolution: "recast@npm:0.23.9"
+ dependencies:
+ ast-types: ^0.16.1
+ esprima: ~4.0.0
+ source-map: ~0.6.1
+ tiny-invariant: ^1.3.3
+ tslib: ^2.0.1
+ checksum: be8e896a46b24e30fbeafcd111ff3beaf2b5532d241c199f833fe1c18e89f695b2704cf83f3006fa96a785851019031de0de50bd3e0fd7bb114be18bf2cad900
+ languageName: node
+ linkType: hard
+
"recma-build-jsx@npm:^1.0.0":
version: 1.0.0
resolution: "recma-build-jsx@npm:1.0.0"
@@ -4133,7 +4627,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^7.6.0, semver@npm:^7.6.3":
+"semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3":
version: 7.6.3
resolution: "semver@npm:7.6.3"
bin:
@@ -4287,6 +4781,13 @@ __metadata:
languageName: node
linkType: hard
+"source-map@npm:~0.6.1":
+ version: 0.6.1
+ resolution: "source-map@npm:0.6.1"
+ checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2
+ languageName: node
+ linkType: hard
+
"space-separated-tokens@npm:^2.0.0":
version: 2.0.2
resolution: "space-separated-tokens@npm:2.0.2"
@@ -4301,6 +4802,24 @@ __metadata:
languageName: node
linkType: hard
+"storybook@npm:^8.4.7":
+ version: 8.4.7
+ resolution: "storybook@npm:8.4.7"
+ dependencies:
+ "@storybook/core": 8.4.7
+ peerDependencies:
+ prettier: ^2 || ^3
+ peerDependenciesMeta:
+ prettier:
+ optional: true
+ bin:
+ getstorybook: ./bin/index.cjs
+ sb: ./bin/index.cjs
+ storybook: ./bin/index.cjs
+ checksum: 6cd44f8d51b68f2c2363d5e996bc8bf1e47a5acc2050da351d0fb49acd3d99ed093eef1b148145a1af9c08ead8592a87ee569c4456941a37dc374f9f21ea45c3
+ languageName: node
+ linkType: hard
+
"streamsearch@npm:^1.1.0":
version: 1.1.0
resolution: "streamsearch@npm:1.1.0"
@@ -4516,6 +5035,13 @@ __metadata:
languageName: node
linkType: hard
+"tiny-invariant@npm:^1.3.3":
+ version: 1.3.3
+ resolution: "tiny-invariant@npm:1.3.3"
+ checksum: 5e185c8cc2266967984ce3b352a4e57cb89dad5a8abb0dea21468a6ecaa67cd5bb47a3b7a85d08041008644af4f667fb8b6575ba38ba5fb00b3b5068306e59fe
+ languageName: node
+ linkType: hard
+
"to-regex-range@npm:^5.0.1":
version: 5.0.1
resolution: "to-regex-range@npm:5.0.1"
@@ -4569,7 +5095,7 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:^2.1.0, tslib@npm:^2.4.0":
+"tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.4.0":
version: 2.8.1
resolution: "tslib@npm:2.8.1"
checksum: e4aba30e632b8c8902b47587fd13345e2827fa639e7c3121074d5ee0880723282411a8838f830b55100cbe4517672f84a2472667d355b81e8af165a55dc6203a
@@ -4592,6 +5118,13 @@ __metadata:
languageName: node
linkType: hard
+"type-fest@npm:^2.19.0":
+ version: 2.19.0
+ resolution: "type-fest@npm:2.19.0"
+ checksum: a4ef07ece297c9fba78fc1bd6d85dff4472fe043ede98bd4710d2615d15776902b595abf62bd78339ed6278f021235fb28a96361f8be86ed754f778973a0d278
+ languageName: node
+ linkType: hard
+
"typed-array-buffer@npm:^1.0.3":
version: 1.0.3
resolution: "typed-array-buffer@npm:1.0.3"
@@ -4765,6 +5298,19 @@ __metadata:
languageName: node
linkType: hard
+"util@npm:^0.12.5":
+ version: 0.12.5
+ resolution: "util@npm:0.12.5"
+ dependencies:
+ inherits: ^2.0.3
+ is-arguments: ^1.0.4
+ is-generator-function: ^1.0.7
+ is-typed-array: ^1.1.3
+ which-typed-array: ^1.1.2
+ checksum: 705e51f0de5b446f4edec10739752ac25856541e0254ea1e7e45e5b9f9b0cb105bc4bd415736a6210edc68245a7f903bf085ffb08dd7deb8a0e847f60538a38a
+ languageName: node
+ linkType: hard
+
"vfile-message@npm:^4.0.0":
version: 4.0.2
resolution: "vfile-message@npm:4.0.2"
@@ -4831,7 +5377,7 @@ __metadata:
languageName: node
linkType: hard
-"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18":
+"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18, which-typed-array@npm:^1.1.2":
version: 1.1.18
resolution: "which-typed-array@npm:1.1.18"
dependencies:
@@ -4892,6 +5438,21 @@ __metadata:
languageName: node
linkType: hard
+"ws@npm:^8.2.3":
+ version: 8.18.0
+ resolution: "ws@npm:8.18.0"
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ">=5.0.2"
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+ checksum: 91d4d35bc99ff6df483bdf029b9ea4bfd7af1f16fc91231a96777a63d263e1eabf486e13a2353970efc534f9faa43bdbf9ee76525af22f4752cbc5ebda333975
+ languageName: node
+ linkType: hard
+
"y18n@npm:^5.0.5":
version: 5.0.8
resolution: "y18n@npm:5.0.8"