diff --git a/apps/docs/.env.example b/apps/docs/.env.example
index 2233a876..ccfff968 100644
--- a/apps/docs/.env.example
+++ b/apps/docs/.env.example
@@ -4,6 +4,10 @@
NUXT_PUBLIC_BASE_URL=http://localhost:4000
+# Where `::storybook-embed` blocks point. Defaults to the deployed Storybook;
+# point it at `pnpm --filter @styleframe/storybook dev` to work on embeds.
+NUXT_PUBLIC_STORYBOOK_BASE_URL=http://localhost:6006
+
#
# Posthog
#
diff --git a/apps/docs/AGENTS.md b/apps/docs/AGENTS.md
index f4679fe8..feb1d79c 100644
--- a/apps/docs/AGENTS.md
+++ b/apps/docs/AGENTS.md
@@ -154,13 +154,17 @@ More content.
::
```
-### Story Previews (Component demos)
+### Storybook Embeds (Component demos)
+
+`mode` picks the Storybook surface: `full` for the story with its toolbar,
+`panel` when the demo is read through the controls or actions panel, `preview`
+for a bare canvas.
```markdown
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-badge--default
-panel: true
+mode: panel
---
::
```
diff --git a/apps/docs/app/components/content/StoryPreview.vue b/apps/docs/app/components/content/StoryPreview.vue
deleted file mode 100644
index 298c1959..00000000
--- a/apps/docs/app/components/content/StoryPreview.vue
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/apps/docs/content/docs/01.getting-started/03.guides/01.create-design-system-in-under-15-minutes.md b/apps/docs/content/docs/01.getting-started/03.guides/01.create-design-system-in-under-15-minutes.md
index 774678b3..1db44573 100644
--- a/apps/docs/content/docs/01.getting-started/03.guides/01.create-design-system-in-under-15-minutes.md
+++ b/apps/docs/content/docs/01.getting-started/03.guides/01.create-design-system-in-under-15-minutes.md
@@ -333,10 +333,10 @@ export function Button({
#### See it in action
-::::story-preview
+::::storybook-embed
---
story: theme-recipes-actions-button--default
-panel: true
+mode: panel
---
::::
@@ -449,10 +449,10 @@ export function ProfileCard() {
#### See it in action
-::::story-preview
+::::storybook-embed
---
story: theme-recipes-layout-card--default
-panel: true
+mode: panel
---
::::
diff --git a/apps/docs/content/docs/04.elements/02.base/00.body.md b/apps/docs/content/docs/04.elements/02.base/00.body.md
index 9e767598..053cd996 100644
--- a/apps/docs/content/docs/04.elements/02.base/00.body.md
+++ b/apps/docs/content/docs/04.elements/02.base/00.body.md
@@ -14,10 +14,10 @@ navigation:
The `useBodyElement` composable sets the foundational styles for the `body` element — text color, background color, font family, font size, and line height. It also enables font smoothing for crisp text rendering.
-::story-preview
+::storybook-embed
---
story: theme-elements-body--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/03.typography/01.headings.md b/apps/docs/content/docs/04.elements/03.typography/01.headings.md
index c53fc987..18eb306c 100644
--- a/apps/docs/content/docs/04.elements/03.typography/01.headings.md
+++ b/apps/docs/content/docs/04.elements/03.typography/01.headings.md
@@ -14,10 +14,10 @@ navigation:
The `useHeadingElement` composable styles all heading levels (`h1` through `h6`) with shared typography properties and individual font sizes per level. It creates CSS variables for the font family, weight, line height, color, and each heading level's size.
-::story-preview
+::storybook-embed
---
story: theme-elements-heading--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/03.typography/02.paragraphs.md b/apps/docs/content/docs/04.elements/03.typography/02.paragraphs.md
index 1fa6ba57..97ed78ed 100644
--- a/apps/docs/content/docs/04.elements/03.typography/02.paragraphs.md
+++ b/apps/docs/content/docs/04.elements/03.typography/02.paragraphs.md
@@ -14,10 +14,10 @@ navigation:
The `useParagraphElement` composable styles `p` elements with configurable top and bottom margins. By default, it removes the top margin and sets the bottom margin to your base spacing token.
-::story-preview
+::storybook-embed
---
story: theme-elements-paragraph--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/03.typography/03.links.md b/apps/docs/content/docs/04.elements/03.typography/03.links.md
index 1d356491..6d94e225 100644
--- a/apps/docs/content/docs/04.elements/03.typography/03.links.md
+++ b/apps/docs/content/docs/04.elements/03.typography/03.links.md
@@ -14,10 +14,10 @@ navigation:
The `useLinkElement` composable styles `a` elements with configurable color and text decoration for both default and hover states. It creates CSS variables for each property, making link styling easy to customize per-theme.
-::story-preview
+::storybook-embed
---
story: theme-elements-link--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/03.typography/04.lists.md b/apps/docs/content/docs/04.elements/03.typography/04.lists.md
index 1201d886..b1f17eae 100644
--- a/apps/docs/content/docs/04.elements/03.typography/04.lists.md
+++ b/apps/docs/content/docs/04.elements/03.typography/04.lists.md
@@ -14,10 +14,10 @@ navigation:
The list composables style `ol` and `ul` elements with configurable bottom margin and left padding. Both composables automatically reset the bottom margin of nested lists to prevent double spacing.
-::story-preview
+::storybook-embed
---
story: theme-elements-ol--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/03.typography/05.definition-lists.md b/apps/docs/content/docs/04.elements/03.typography/05.definition-lists.md
index 1dcd5aea..cffe62b7 100644
--- a/apps/docs/content/docs/04.elements/03.typography/05.definition-lists.md
+++ b/apps/docs/content/docs/04.elements/03.typography/05.definition-lists.md
@@ -14,10 +14,10 @@ navigation:
The definition list composables style the `dl`, `dt`, and `dd` elements for displaying term-description pairs. They control margin, font weight, and spacing to create readable, well-structured definition lists.
-::story-preview
+::storybook-embed
---
story: theme-elements-dl--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/04.inline-text/00.abbreviation.md b/apps/docs/content/docs/04.elements/04.inline-text/00.abbreviation.md
index f702d8e6..094faa48 100644
--- a/apps/docs/content/docs/04.elements/04.inline-text/00.abbreviation.md
+++ b/apps/docs/content/docs/04.elements/04.inline-text/00.abbreviation.md
@@ -14,10 +14,10 @@ navigation:
The `useAbbrElement` composable styles `abbr[title]` elements with a help cursor and dotted underline, making it clear to users that a tooltip is available on hover.
-::story-preview
+::storybook-embed
---
story: theme-elements-abbr--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/04.inline-text/01.code.md b/apps/docs/content/docs/04.elements/04.inline-text/01.code.md
index ade77beb..12b5a60a 100644
--- a/apps/docs/content/docs/04.elements/04.inline-text/01.code.md
+++ b/apps/docs/content/docs/04.elements/04.inline-text/01.code.md
@@ -14,10 +14,10 @@ navigation:
The code composables style inline code snippets and preformatted text blocks. The `useCodeElement` composable targets `code` and `samp` elements, while `usePreElement` configures `pre` blocks with scroll overflow and nested code resets.
-::story-preview
+::storybook-embed
---
story: theme-elements-code--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/04.inline-text/02.kbd.md b/apps/docs/content/docs/04.elements/04.inline-text/02.kbd.md
index e4972bf3..34082733 100644
--- a/apps/docs/content/docs/04.elements/04.inline-text/02.kbd.md
+++ b/apps/docs/content/docs/04.elements/04.inline-text/02.kbd.md
@@ -14,10 +14,10 @@ navigation:
The `useKbdElement` composable styles the `kbd` element for displaying keyboard shortcuts and key combinations. It creates a compact, visually distinct key cap appearance with configurable background, color, font, border radius, and padding.
-::story-preview
+::storybook-embed
---
story: theme-elements-kbd--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/04.inline-text/03.mark.md b/apps/docs/content/docs/04.elements/04.inline-text/03.mark.md
index 3b7f2474..1b3095b3 100644
--- a/apps/docs/content/docs/04.elements/04.inline-text/03.mark.md
+++ b/apps/docs/content/docs/04.elements/04.inline-text/03.mark.md
@@ -14,10 +14,10 @@ navigation:
The `useMarkElement` composable styles the `mark` element for highlighting text. It creates CSS variables for the background color, text color, and padding on each side.
-::story-preview
+::storybook-embed
---
story: theme-elements-mark--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/05.media/00.image.md b/apps/docs/content/docs/04.elements/05.media/00.image.md
index c407c0bd..25f3e0af 100644
--- a/apps/docs/content/docs/04.elements/05.media/00.image.md
+++ b/apps/docs/content/docs/04.elements/05.media/00.image.md
@@ -14,10 +14,10 @@ navigation:
The `useImgElement` composable sets `vertical-align: middle` on `img` and `svg` elements, preventing the small gap that appears below inline images due to baseline alignment. This is a config-free composable with no customization options.
-::story-preview
+::storybook-embed
---
story: theme-elements-img--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/05.media/01.iframe.md b/apps/docs/content/docs/04.elements/05.media/01.iframe.md
index feb62bdd..73e69b1e 100644
--- a/apps/docs/content/docs/04.elements/05.media/01.iframe.md
+++ b/apps/docs/content/docs/04.elements/05.media/01.iframe.md
@@ -14,10 +14,10 @@ navigation:
The `useIframeElement` composable removes the default border from `iframe` elements. This is a config-free composable — it applies a fixed style with no customization options.
-::story-preview
+::storybook-embed
---
story: theme-elements-iframe--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/06.forms-tables/00.caption.md b/apps/docs/content/docs/04.elements/06.forms-tables/00.caption.md
index c64156fc..95f85a8a 100644
--- a/apps/docs/content/docs/04.elements/06.forms-tables/00.caption.md
+++ b/apps/docs/content/docs/04.elements/06.forms-tables/00.caption.md
@@ -14,10 +14,10 @@ navigation:
The `useCaptionElement` composable styles the `caption` element for table captions with configurable text color, padding on each side, and text alignment.
-::story-preview
+::storybook-embed
---
story: theme-elements-caption--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/06.forms-tables/01.legend.md b/apps/docs/content/docs/04.elements/06.forms-tables/01.legend.md
index 85dae47f..c7c8e3a1 100644
--- a/apps/docs/content/docs/04.elements/06.forms-tables/01.legend.md
+++ b/apps/docs/content/docs/04.elements/06.forms-tables/01.legend.md
@@ -14,10 +14,10 @@ navigation:
The `useLegendElement` composable styles the `legend` element for consistent form layout. It floats the legend to span the full width and applies a clearfix on the following sibling element. This is a config-free composable with no customization options.
-::story-preview
+::storybook-embed
---
story: theme-elements-legend--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/06.forms-tables/02.output.md b/apps/docs/content/docs/04.elements/06.forms-tables/02.output.md
index 1bb19d96..65d6f5a5 100644
--- a/apps/docs/content/docs/04.elements/06.forms-tables/02.output.md
+++ b/apps/docs/content/docs/04.elements/06.forms-tables/02.output.md
@@ -14,10 +14,10 @@ navigation:
The output composables style HTML elements that represent program output. The `useOutputElement` composable sets the display mode of the `output` element, while `useSampElement` configures the font family for `samp` (sample output) elements.
-::story-preview
+::storybook-embed
---
story: theme-elements-output--default
-panel: true
+mode: panel
---
::
@@ -64,10 +64,10 @@ function useSampElement(
): SampElementResult
```
-::story-preview
+::storybook-embed
---
story: theme-elements-samp--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/07.structure/00.address.md b/apps/docs/content/docs/04.elements/07.structure/00.address.md
index a7a68c3f..8833e165 100644
--- a/apps/docs/content/docs/04.elements/07.structure/00.address.md
+++ b/apps/docs/content/docs/04.elements/07.structure/00.address.md
@@ -14,10 +14,10 @@ navigation:
The `useAddressElement` composable styles the `address` element with consistent bottom margin, resets the default italic font style to normal, and inherits the parent line height.
-::story-preview
+::storybook-embed
---
story: theme-elements-address--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/07.structure/01.horizontal-rule.md b/apps/docs/content/docs/04.elements/07.structure/01.horizontal-rule.md
index f937327e..0313df40 100644
--- a/apps/docs/content/docs/04.elements/07.structure/01.horizontal-rule.md
+++ b/apps/docs/content/docs/04.elements/07.structure/01.horizontal-rule.md
@@ -14,10 +14,10 @@ navigation:
The `useHrElement` composable styles the `hr` element as a top-border-only divider with configurable border properties and vertical margin. It zeroes out the right, bottom, and left borders for a clean single-line separator.
-::story-preview
+::storybook-embed
---
story: theme-elements-hr--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/08.states/00.focus.md b/apps/docs/content/docs/04.elements/08.states/00.focus.md
index e8e7e7dd..15fb822b 100644
--- a/apps/docs/content/docs/04.elements/08.states/00.focus.md
+++ b/apps/docs/content/docs/04.elements/08.states/00.focus.md
@@ -14,10 +14,10 @@ navigation:
The `useFocusState` composable applies a consistent `:focus-visible` outline to all focusable elements. It creates CSS custom properties for the outline color, width, style, and offset, making focus indicators easy to customize per-theme.
-::story-preview
+::storybook-embed
---
story: theme-states-focus--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/08.states/01.selection.md b/apps/docs/content/docs/04.elements/08.states/01.selection.md
index f866aac6..7a312f82 100644
--- a/apps/docs/content/docs/04.elements/08.states/01.selection.md
+++ b/apps/docs/content/docs/04.elements/08.states/01.selection.md
@@ -14,10 +14,10 @@ navigation:
The `useSelectionState` composable styles the `::selection` pseudo-element to customize how selected text looks. It creates CSS variables for the selection background color and text color.
-::story-preview
+::storybook-embed
---
story: theme-states-selection--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/04.elements/08.states/02.summary.md b/apps/docs/content/docs/04.elements/08.states/02.summary.md
index c36b0c1b..544313f2 100644
--- a/apps/docs/content/docs/04.elements/08.states/02.summary.md
+++ b/apps/docs/content/docs/04.elements/08.states/02.summary.md
@@ -14,10 +14,10 @@ navigation:
The `useSummaryElement` composable sets `cursor: pointer` on `summary` elements, indicating that the `` disclosure widget is interactive. This is a config-free composable with no customization options.
-::story-preview
+::storybook-embed
---
story: theme-elements-summary--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/02.actions/00.button.md b/apps/docs/content/docs/05.components/02.actions/00.button.md
index 41f35806..1e89885c 100644
--- a/apps/docs/content/docs/05.components/02.actions/00.button.md
+++ b/apps/docs/content/docs/05.components/02.actions/00.button.md
@@ -124,10 +124,10 @@ const classes = button({ color: "neutral", variant: "solid", size: "md" });
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-actions-button--default
-panel: true
+mode: panel
---
:::
@@ -137,18 +137,19 @@ panel: true
The Button recipe includes 9 color variants: 6 semantic colors (`primary`, `secondary`, `success`, `info`, `warning`, `error`) plus 3 neutral-scale colors (`light`, `dark`, `neutral`). Each color is combined with every visual style variant through compound variants, so you get consistent, predictable styling across all combinations — including hover, focus, active, and dark mode states.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-button--success
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-button--all-variants
+mode: full
---
::
@@ -176,10 +177,10 @@ Six visual style variants control how the button is rendered. Each variant is co
Filled background with light text. The most prominent style, ideal for primary actions and call-to-action buttons.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-button--solid
-panel: true
+mode: panel
---
::
@@ -187,10 +188,10 @@ panel: true
Transparent background with colored border and text. Useful for secondary actions that shouldn't dominate the visual hierarchy.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-button--outline
-panel: true
+mode: panel
---
::
@@ -198,10 +199,10 @@ panel: true
Light tinted background with colored text. A subtle but visible style that works well for tertiary actions and grouped controls.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-button--soft
-panel: true
+mode: panel
---
::
@@ -209,10 +210,10 @@ panel: true
Light tinted background with colored text and a matching border. Combines the softness of the `soft` variant with the definition of `outline`.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-button--subtle
-panel: true
+mode: panel
---
::
@@ -220,10 +221,10 @@ panel: true
Transparent background with colored text that reveals a tinted background on hover. Ideal for toolbar actions and icon buttons where the button chrome should be invisible until interaction.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-button--ghost
-panel: true
+mode: panel
---
::
@@ -231,10 +232,10 @@ panel: true
Styled as an inline text link with no background or border. On hover, the text darkens and gains an underline. Use for navigation actions that should look like hyperlinks.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-button--link
-panel: true
+mode: panel
---
::
@@ -242,18 +243,19 @@ panel: true
Five size variants from `xs` to `xl` control the font size, padding, gap, and border radius of the button.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-button--extra-large
-panel: true
+mode: panel
---
::
### Size Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-button--all-sizes
+mode: full
---
::
@@ -269,10 +271,10 @@ story: theme-recipes-actions-button--all-sizes
The Button recipe includes a built-in disabled state through the `&:disabled` pseudo-class. Disabled buttons have reduced opacity, a `not-allowed` cursor, and `pointer-events: none` to prevent interaction.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-button--disabled
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/02.actions/01.hamburger-menu.md b/apps/docs/content/docs/05.components/02.actions/01.hamburger-menu.md
index 61b18942..d0cfbfb2 100644
--- a/apps/docs/content/docs/05.components/02.actions/01.hamburger-menu.md
+++ b/apps/docs/content/docs/05.components/02.actions/01.hamburger-menu.md
@@ -175,10 +175,10 @@ const classes = hamburgerMenu({
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-actions-hamburgermenu--default
-panel: true
+mode: panel
---
:::
@@ -190,18 +190,19 @@ The Hamburger Menu recipe includes 3 color variants: `light`, `dark`, and `neutr
The `neutral` color adapts automatically: dark bars in light mode, light bars in dark mode, making it the safest default.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-hamburgermenu--neutral
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-hamburgermenu--all-variants
+mode: full
---
::
@@ -219,9 +220,10 @@ story: theme-recipes-actions-hamburgermenu--all-variants
Three size variants control the bar dimensions (width, height, vertical offset) and the button's padding:
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-hamburgermenu--all-sizes
+mode: full
---
::
@@ -239,10 +241,10 @@ Seven `animation` values control how the bars morph when `active` is `true`. Whe
The classic hamburger → X transition. Top and bottom bars pivot in and the middle bar fades out, forming an X.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-hamburgermenu--close
-panel: true
+mode: panel
---
::
@@ -250,17 +252,17 @@ panel: true
Bars scale down and rotate to form a `‹` (left) or `›` (right). Useful for drawers that slide horizontally.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-hamburgermenu--arrow-left
-panel: true
+mode: panel
---
::
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-hamburgermenu--arrow-right
-panel: true
+mode: panel
---
::
@@ -268,17 +270,17 @@ panel: true
Like the horizontal arrows, but the entire icon rotates ±90° so the arrow points up or down.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-hamburgermenu--arrow-up
-panel: true
+mode: panel
---
::
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-hamburgermenu--arrow-down
-panel: true
+mode: panel
---
::
@@ -286,10 +288,10 @@ panel: true
All bars collapse into a single horizontal line — a subtle transition that suggests "collapsed" rather than "closed".
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-hamburgermenu--minus
-panel: true
+mode: panel
---
::
@@ -297,10 +299,10 @@ panel: true
The middle bar stays horizontal while the top bar rotates 90° to form a vertical bar, producing a `+` glyph. The bottom bar fades out. Pairs well with expand/collapse interactions.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-hamburgermenu--plus
-panel: true
+mode: panel
---
::
@@ -308,10 +310,10 @@ panel: true
The `active` axis is a boolean (`"true"` / `"false"`) that drives the open-state transform. Consumers are responsible for tracking the open state and toggling it on click.
-::story-preview
+::storybook-embed
---
story: theme-recipes-actions-hamburgermenu--active
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/03.navigation/00.breadcrumb.md b/apps/docs/content/docs/05.components/03.navigation/00.breadcrumb.md
index 08d663f4..69517005 100644
--- a/apps/docs/content/docs/05.components/03.navigation/00.breadcrumb.md
+++ b/apps/docs/content/docs/05.components/03.navigation/00.breadcrumb.md
@@ -196,10 +196,10 @@ const currentClasses = breadcrumbItem({
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-navigation-breadcrumb--default
-panel: true
+mode: panel
---
:::
@@ -211,18 +211,19 @@ The Breadcrumb item recipe includes 3 color variants: `light`, `dark`, and `neut
The `neutral` color adapts automatically: it uses dark text in light mode and light text in dark mode, making it the safest default for most applications.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-breadcrumb--neutral
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-breadcrumb--all-variants
+mode: full
---
::
@@ -240,9 +241,10 @@ story: theme-recipes-navigation-breadcrumb--all-variants
Three size variants from `sm` to `lg` control the font size, gap, and padding of the breadcrumb. The `size` prop affects both the container (font size and gap between items) and individual items (font size and padding).
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-breadcrumb--all-sizes
+mode: full
---
::
@@ -270,10 +272,10 @@ story: theme-recipes-navigation-breadcrumb--all-sizes
The Breadcrumb item recipe includes an `active` boolean variant for marking the current page. Active items receive `font-weight: semibold`, switch the cursor to `default`, and drop the link-style hover underline so the current location is clearly distinguished from interactive ancestors.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-breadcrumb--active
-panel: true
+mode: panel
---
::
@@ -290,10 +292,10 @@ breadcrumbItem({ color: "neutral", size: "md", active: "true" })
The Breadcrumb item recipe includes a `disabled` boolean variant that mirrors the `:disabled` pseudo-class for `` elements. It reduces opacity to 0.5, sets `cursor: not-allowed`, and disables pointer events — useful when an ancestor exists but the user does not have permission to navigate there.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-breadcrumb--disabled
-panel: true
+mode: panel
---
::
@@ -306,10 +308,10 @@ breadcrumbItem({ color: "neutral", size: "md", disabled: "true" })
The separator between breadcrumb items is rendered via a `::after` pseudo-element on every non-last item. Its content is read from the `--breadcrumb--separator-content` CSS variable, which defaults to `'/'`. Override it on the breadcrumb root, on individual items, or on any ancestor to swap the glyph without overriding the recipe.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-breadcrumb--custom-separator
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/03.navigation/01.nav.md b/apps/docs/content/docs/05.components/03.navigation/01.nav.md
index fdcdd4cd..eb3f5bba 100644
--- a/apps/docs/content/docs/05.components/03.navigation/01.nav.md
+++ b/apps/docs/content/docs/05.components/03.navigation/01.nav.md
@@ -184,10 +184,10 @@ const itemClasses = navItem({
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-navigation-nav--default
-panel: true
+mode: panel
---
:::
@@ -197,10 +197,10 @@ panel: true
The Nav container recipe supports two orientations that control the flex layout direction. Horizontal arranges items in a row (ideal for top navbars and tab bars), while vertical stacks items in a column (ideal for sidebars and dropdown menus).
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-nav--vertical
-panel: true
+mode: panel
---
::
@@ -221,18 +221,19 @@ The Nav item recipe includes 3 color variants: `light`, `dark`, and `neutral`. L
The `neutral` color adapts automatically: it uses dark text in light mode and light text in dark mode, making it the safest default for general-purpose navigation.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-nav--dark
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-nav--all-variants
+mode: full
---
::
@@ -254,10 +255,10 @@ Two visual style variants control how nav items are rendered. Each variant is co
Transparent background that reveals a tinted background on hover. The most common style for navigation, ideal for navbars and sidebars where items should be subtle at rest but clearly interactive on hover.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-nav--ghost
-panel: true
+mode: panel
---
::
@@ -265,10 +266,10 @@ panel: true
Transparent background with colored text that gains an underline on hover. Use for secondary navigation, inline link lists, or when items should look like standard hyperlinks.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-nav--link
-panel: true
+mode: panel
---
::
@@ -276,18 +277,19 @@ panel: true
Three size variants from `sm` to `lg` control the font size, gap, and padding of the navigation. The `size` prop affects both the container (font size and gap between items) and individual items (font size and padding).
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-nav--large
-panel: true
+mode: panel
---
::
### Size Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-nav--all-sizes
+mode: full
---
::
@@ -315,10 +317,10 @@ story: theme-recipes-navigation-nav--all-sizes
The Nav item recipe includes an `active` boolean variant. Active items receive `font-weight: semibold` to visually distinguish the current page or section from other navigation links.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-nav--active
-panel: true
+mode: panel
---
::
@@ -335,10 +337,10 @@ navItem({ color: "neutral", variant: "ghost", size: "md", active: "true" })
The Nav item recipe includes a built-in disabled state through two mechanisms: the `&:disabled` pseudo-class for native `` elements, and the `disabled` boolean variant for `` elements. Both reduce opacity to 0.5, set `cursor: not-allowed`, and disable pointer events.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-nav--disabled
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/03.navigation/02.pagination.md b/apps/docs/content/docs/05.components/03.navigation/02.pagination.md
index efb385a4..10e03696 100644
--- a/apps/docs/content/docs/05.components/03.navigation/02.pagination.md
+++ b/apps/docs/content/docs/05.components/03.navigation/02.pagination.md
@@ -245,10 +245,10 @@ const ellipsisClasses = paginationEllipsis({ size: "md" });
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-navigation-pagination--default
-panel: true
+mode: panel
---
:::
@@ -258,17 +258,17 @@ panel: true
The Pagination container recipe supports two orientations that control the flex layout direction. Horizontal arranges items in a row (the default and most common pagination layout), while vertical stacks items in a column for sidebar-style page lists.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-pagination--horizontal
-panel: true
+mode: panel
---
::
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-pagination--vertical
-panel: true
+mode: panel
---
::
@@ -278,18 +278,19 @@ The Pagination Item recipe includes 3 color variants: `light`, `dark`, and `neut
The `neutral` color adapts automatically: it uses a light appearance in light mode and a dark appearance in dark mode, making it the safest default for general-purpose pagination.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-pagination--neutral
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-pagination--all-variants
+mode: full
height: 480
---
::
@@ -312,10 +313,10 @@ Six visual style variants control how the page-number items are rendered. Each v
Filled background with contrasting text. The most prominent style, ideal when pagination is the primary navigation control on the page.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-pagination--solid
-panel: true
+mode: panel
---
::
@@ -323,10 +324,10 @@ panel: true
Transparent background with colored border and text. Useful when the pagination should remain visible without dominating the layout.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-pagination--outline
-panel: true
+mode: panel
---
::
@@ -334,10 +335,10 @@ panel: true
Light tinted background with no visible border. A subtle but visible style that works well for grouped pagination in dense table headers.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-pagination--soft
-panel: true
+mode: panel
---
::
@@ -345,10 +346,10 @@ panel: true
Light tinted background with a matching border. Combines the softness of `soft` with added visual definition from a border.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-pagination--subtle
-panel: true
+mode: panel
---
::
@@ -356,10 +357,10 @@ panel: true
Transparent background that reveals a tinted background on hover. The default variant — ideal when pagination should appear as plain text until interaction.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-pagination--ghost
-panel: true
+mode: panel
---
::
@@ -367,10 +368,10 @@ panel: true
Styled as inline text links with no background or border. On hover, the text darkens and gains an underline. Use when pagination should look like ordinary navigation links.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-pagination--link
-panel: true
+mode: panel
---
::
@@ -378,9 +379,10 @@ panel: true
Three size variants from `sm` to `lg` control the font size, padding, and gap of the items, the ellipsis, and the container. Pass the same `size` value to all three sub-recipes so heights stay aligned.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-pagination--all-sizes
+mode: full
height: 320
---
::
diff --git a/apps/docs/content/docs/05.components/03.navigation/03.sidebar.md b/apps/docs/content/docs/05.components/03.navigation/03.sidebar.md
index 8376934e..c2ba0061 100644
--- a/apps/docs/content/docs/05.components/03.navigation/03.sidebar.md
+++ b/apps/docs/content/docs/05.components/03.navigation/03.sidebar.md
@@ -205,10 +205,10 @@ const itemClasses = sidebarMenuButton({ color: "neutral", variant: "ghost", size
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-navigation-sidebar--default
-panel: true
+mode: panel
---
:::
@@ -263,9 +263,10 @@ The Sidebar is composed of fifteen independent recipes. Compose the parts you ne
The panel surface and the interactive parts support 3 colors: `light`, `dark`, and `neutral`. Like the Card and Nav recipes, the Sidebar uses neutral-spectrum colors designed for structural surfaces rather than status communication. The `neutral` color adapts automatically — light surface in light mode, dark surface in dark mode — making it the safest default.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-sidebar--all-variants
+mode: full
---
::
@@ -285,10 +286,10 @@ Three surface styles control how the panel reads against the page. Each is combi
| `soft` | Faintly tinted surface, no border |
| `subtle` | Tinted surface **with** a border |
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-sidebar--soft
-panel: true
+mode: panel
---
::
@@ -302,9 +303,10 @@ The interactive menu buttons use their own two styles: `ghost` (transparent at r
Three sizes from `sm` to `lg` scale the font size, padding, and gap of every part. Pass `size` to the panel and to each part you render.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-sidebar--all-sizes
+mode: full
---
::
@@ -317,10 +319,10 @@ Set `collapsed` (or add the `.-collapsed` class to the panel) and the sidebar na
| `@sidebar.width` | `16rem` | Expanded panel width |
| `@sidebar.width-icon` | `3rem` | Collapsed icon-rail width |
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-sidebar--collapsed
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/03.navigation/04.tabs.md b/apps/docs/content/docs/05.components/03.navigation/04.tabs.md
index a0c3a411..df3362df 100644
--- a/apps/docs/content/docs/05.components/03.navigation/04.tabs.md
+++ b/apps/docs/content/docs/05.components/03.navigation/04.tabs.md
@@ -186,10 +186,10 @@ const contentClasses = tabsContent({ size: "md" });
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-navigation-tabs--default
-panel: true
+mode: panel
---
:::
@@ -201,18 +201,19 @@ The Tabs recipe includes 3 color surfaces: `light`, `dark`, and `neutral`. Like
The `neutral` color adapts automatically: it uses a light appearance in light mode and a dark appearance in dark mode, making it the safest default for general-purpose tabs.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-tabs--light
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-tabs--all-variants
+mode: full
---
::
@@ -234,10 +235,10 @@ Three visual style variants control how the active tab is rendered. Each variant
A colored rule on the active edge (the bottom in horizontal orientation, the inline end in vertical), with a matching track on the list. The classic, low-chrome tabs style and the default.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-tabs--line
-panel: true
+mode: panel
---
::
@@ -245,10 +246,10 @@ panel: true
A segmented bar: the list sits on a muted, rounded surface and the active tab is raised onto its own surface with a subtle shadow. Matches the shadcn/Radix default look.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-tabs--pill
-panel: true
+mode: panel
---
::
@@ -256,10 +257,10 @@ panel: true
The active tab gets a soft tinted fill with no underline or bar. A gentle style that works well in dense layouts.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-tabs--soft
-panel: true
+mode: panel
---
::
@@ -267,18 +268,19 @@ panel: true
Three size variants from `sm` to `lg` control the trigger's font size and padding, the list gap, and the panel padding.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-tabs--large
-panel: true
+mode: panel
---
::
### Size Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-tabs--all-sizes
+mode: full
---
::
@@ -296,9 +298,10 @@ story: theme-recipes-navigation-tabs--all-sizes
The `orientation` axis switches between a horizontal tab bar (the default) and a vertical one. In vertical orientation the root places the list beside the panels, the list stacks its triggers, and the `line` indicator moves from the bottom edge to the inline end.
-::story-preview
+::storybook-embed
---
story: theme-recipes-navigation-tabs--orientations
+mode: full
---
::
diff --git a/apps/docs/content/docs/05.components/04.feedback/00.badge.md b/apps/docs/content/docs/05.components/04.feedback/00.badge.md
index 9f5331e8..62c123a1 100644
--- a/apps/docs/content/docs/05.components/04.feedback/00.badge.md
+++ b/apps/docs/content/docs/05.components/04.feedback/00.badge.md
@@ -114,10 +114,10 @@ const classes = badge({ color: "neutral", variant: "solid", size: "sm" });
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-feedback-badge--default
-panel: true
+mode: panel
---
:::
@@ -127,18 +127,19 @@ panel: true
The Badge recipe includes 9 color variants: 6 semantic colors (`primary`, `secondary`, `success`, `info`, `warning`, `error`) plus 3 neutral-scale colors (`light`, `dark`, `neutral`). Each color is combined with every visual style variant through compound variants, so you get consistent, predictable styling across all combinations.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-badge--success
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-badge--all-variants
+mode: full
---
::
@@ -166,10 +167,10 @@ Four visual style variants control how the badge is rendered. Each variant is co
Filled background with light text. The most prominent style, ideal for primary actions and key status indicators.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-badge--solid
-panel: true
+mode: panel
---
::
@@ -177,10 +178,10 @@ panel: true
Transparent background with colored border and text. Useful for secondary indicators that shouldn't dominate the visual hierarchy.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-badge--outline
-panel: true
+mode: panel
---
::
@@ -188,10 +189,10 @@ panel: true
Light tinted background with colored text. A subtle but visible style that works well for categorization and tags.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-badge--soft
-panel: true
+mode: panel
---
::
@@ -199,10 +200,10 @@ panel: true
Light tinted background with colored text and a matching border. Combines the softness of the `soft` variant with the definition of `outline`.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-badge--subtle
-panel: true
+mode: panel
---
::
@@ -210,18 +211,19 @@ panel: true
Five size variants from `xs` to `xl` control the font size, padding, gap, and border radius of the badge.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-badge--extra-large
-panel: true
+mode: panel
---
::
### Size Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-badge--all-sizes
+mode: full
---
::
diff --git a/apps/docs/content/docs/05.components/04.feedback/01.callout.md b/apps/docs/content/docs/05.components/04.feedback/01.callout.md
index 91300613..183d86ee 100644
--- a/apps/docs/content/docs/05.components/04.feedback/01.callout.md
+++ b/apps/docs/content/docs/05.components/04.feedback/01.callout.md
@@ -185,10 +185,10 @@ const classes = callout({
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-feedback-callout--default
-panel: true
+mode: panel
---
:::
@@ -200,18 +200,19 @@ The Callout recipe includes 9 color variants: the 6 semantic colors (`primary`,
The `neutral` color adapts automatically: it uses a light appearance in light mode and a dark appearance in dark mode, making it the safest default for general-purpose callouts.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-callout--info
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-callout--all-variants
+mode: full
---
::
@@ -239,10 +240,10 @@ Four visual style variants control how the callout is rendered. Each variant is
Filled background with light text. The most prominent style, ideal for critical alerts that demand immediate attention.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-callout--solid
-panel: true
+mode: panel
---
::
@@ -250,10 +251,10 @@ panel: true
Transparent background with colored border and text. Useful for secondary messages that provide context without dominating the visual hierarchy.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-callout--outline
-panel: true
+mode: panel
---
::
@@ -261,10 +262,10 @@ panel: true
Light tinted background with colored text. A gentle but visible style that works well for informational messages and tips.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-callout--soft
-panel: true
+mode: panel
---
::
@@ -272,10 +273,10 @@ panel: true
Light tinted background with colored text and a matching border. Combines the softness of the `soft` variant with the definition of `outline`. This is the **default variant** for the Callout recipe.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-callout--subtle
-panel: true
+mode: panel
---
::
@@ -283,18 +284,19 @@ panel: true
Three size variants from `sm` to `lg` control the font size, padding, and gap of the callout.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-callout--large
-panel: true
+mode: panel
---
::
### Size Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-callout--all-sizes
+mode: full
---
::
@@ -314,10 +316,10 @@ The `orientation` variant controls the layout direction of the callout content.
Content flows left to right in a row. Icon, text content, and dismiss button align horizontally. Best for compact, single-line messages.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-callout--horizontal
-panel: true
+mode: panel
---
::
@@ -325,18 +327,19 @@ panel: true
Content stacks top to bottom in a column. Useful for callouts with longer descriptions, multiple paragraphs, or action buttons below the message.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-callout--vertical
-panel: true
+mode: panel
---
::
### Orientation Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-callout--all-orientations
+mode: full
---
::
@@ -349,10 +352,10 @@ story: theme-recipes-feedback-callout--all-orientations
The `useCalloutDismissRecipe()` composable styles the close control: an `em`-sized button that inherits the callout's text color, pushes itself to the end of the row, and includes hover and focus-visible states. The callout recipe also collapses the element when the `hidden` attribute is set, so dismissing only needs to toggle `hidden` on the root element.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-callout--dismissible
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/04.feedback/02.chip.md b/apps/docs/content/docs/05.components/04.feedback/02.chip.md
index a20fbb2c..33713dd0 100644
--- a/apps/docs/content/docs/05.components/04.feedback/02.chip.md
+++ b/apps/docs/content/docs/05.components/04.feedback/02.chip.md
@@ -158,10 +158,10 @@ const indicatorClasses = chipIndicator({
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-feedback-chip--default
-panel: true
+mode: panel
---
:::
@@ -171,18 +171,19 @@ panel: true
The Chip indicator recipe includes 9 color variants: 6 semantic colors (`primary`, `secondary`, `success`, `info`, `warning`, `error`) plus 3 neutral-scale colors (`light`, `dark`, `neutral`). Each color is combined with every visual style variant through compound variants, so you get consistent, predictable styling across all combinations — including dark mode overrides.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-chip--primary
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-chip--all-variants
+mode: full
height: 600
---
::
@@ -211,10 +212,10 @@ Two visual style variants control how the indicator is rendered. Each variant is
Filled background with light text. The most prominent style, ideal for notification counts and status indicators that need high visibility.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-chip--solid
-panel: true
+mode: panel
---
::
@@ -222,10 +223,10 @@ panel: true
Light tinted background with colored text. A subtler style that works well for secondary indicators and badges that shouldn't dominate the visual hierarchy. In dark mode, the tint and text colors automatically adjust.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-chip--soft
-panel: true
+mode: panel
---
::
@@ -233,18 +234,19 @@ panel: true
Five size variants from `xs` to `xl` control the dimensions, font size, and padding of the indicator. The `xs` size produces a small dot with no text, while larger sizes accommodate text content.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-chip--medium
-panel: true
+mode: panel
---
::
### Size Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-chip--all-sizes
+mode: full
height: 600
---
::
@@ -265,9 +267,10 @@ height: 600
The `position` variant controls which corner of the parent element the indicator is placed at. The indicator is absolutely positioned and uses CSS `transform` to offset itself to straddle the corner.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-chip--all-positions
+mode: full
height: 400
---
::
@@ -283,10 +286,10 @@ height: 400
The `inset` variant controls whether the indicator overlaps the corner of the parent element or sits inside it. When `inset` is `true`, the transform offset is removed so the indicator stays within the parent's bounds.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-chip--inset
-panel: true
+mode: panel
---
::
@@ -299,10 +302,10 @@ panel: true
Chip indicators can display text content such as notification counts. Sizes `sm` through `xl` include horizontal padding and `min-width` to accommodate text while maintaining a pill shape thanks to the full border radius.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-chip--with-text
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/04.feedback/03.progress.md b/apps/docs/content/docs/05.components/04.feedback/03.progress.md
index af4146ce..c040b8f2 100644
--- a/apps/docs/content/docs/05.components/04.feedback/03.progress.md
+++ b/apps/docs/content/docs/05.components/04.feedback/03.progress.md
@@ -201,10 +201,10 @@ const barClasses = progressBar({
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-feedback-progress--default
-panel: true
+mode: panel
---
:::
@@ -216,18 +216,19 @@ The Progress bar recipe includes 9 color variants: the 6 semantic colors (`prima
Each color is applied through compound variants with automatic dark mode overrides. The `neutral` color adapts between light and dark mode automatically.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-progress--primary
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-progress--all-variants
+mode: full
height: 600
---
::
@@ -262,18 +263,19 @@ height: 600
Five size variants from `xs` to `xl` control the height (or width in vertical orientation) and border radius of both the track and bar.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-progress--medium
-panel: true
+mode: panel
---
::
### Size Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-progress--all-sizes
+mode: full
height: 400
---
::
@@ -298,10 +300,10 @@ The `orientation` variant controls the layout direction of the progress bar. Two
The bar fills from left to right. The track stretches to `width: 100%` of its container.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-progress--default
-panel: true
+mode: panel
---
::
@@ -309,9 +311,10 @@ panel: true
The bar fills from bottom to top. The track stretches to `height: 100%` of its container. The parent container must have an explicit height for the vertical progress bar to be visible.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-progress--vertical
+mode: full
height: 300
---
::
@@ -325,9 +328,10 @@ height: 300
The `inverted` variant reverses the fill direction of the progress bar. In horizontal orientation, the bar fills from right to left. In vertical orientation, it fills from top to bottom.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-progress--inverted
+mode: full
height: 400
---
::
@@ -343,9 +347,10 @@ When the progress `value` is `null`, the bar enters an indeterminate state. The
Four animation styles are available for indeterminate progress bars. The keyframes are registered automatically when the bar recipe is used — no manual `@keyframes` definition needed.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-progress--indeterminate
+mode: full
height: 300
---
::
@@ -364,9 +369,10 @@ height: 300
Animations adapt automatically for vertical orientation. Horizontal `translateX` transforms are swapped to `translateY`, and `scaleX` to `scaleY`.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-progress--indeterminate-vertical
+mode: full
height: 300
---
::
diff --git a/apps/docs/content/docs/05.components/04.feedback/04.skeleton.md b/apps/docs/content/docs/05.components/04.feedback/04.skeleton.md
index b474c261..17ac57c2 100644
--- a/apps/docs/content/docs/05.components/04.feedback/04.skeleton.md
+++ b/apps/docs/content/docs/05.components/04.feedback/04.skeleton.md
@@ -122,10 +122,10 @@ const classes = skeleton({ size: "md", rounded: "false" });
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-feedback-skeleton--default
-panel: false
+mode: full
---
:::
@@ -135,18 +135,19 @@ panel: false
Five size variants from `xs` to `xl` control the height of the skeleton placeholder. The width is not set by the recipe — use utility classes or CSS to control it based on the content being loaded.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-skeleton--medium
-panel: true
+mode: panel
---
::
### Size Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-skeleton--all-sizes
+mode: full
---
::
@@ -166,10 +167,10 @@ story: theme-recipes-feedback-skeleton--all-sizes
The `rounded` variant applies a fully circular border radius (`@border-radius.full`), turning the skeleton into a pill or circle shape. This is useful for placeholder avatars and circular icons.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-skeleton--rounded
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/04.feedback/05.spinner.md b/apps/docs/content/docs/05.components/04.feedback/05.spinner.md
index 404d7bc9..7047591b 100644
--- a/apps/docs/content/docs/05.components/04.feedback/05.spinner.md
+++ b/apps/docs/content/docs/05.components/04.feedback/05.spinner.md
@@ -141,10 +141,10 @@ const circleClasses = spinnerCircle({ size: "md" });
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-feedback-spinner--default
-panel: true
+mode: panel
---
:::
@@ -154,18 +154,19 @@ panel: true
The Spinner supports 4 color options. The `color` variant sets the CSS `color` property on the container, which cascades to the SVG spinner via `currentColor`.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-spinner--primary
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-spinner--all-variants
+mode: full
height: 320
---
::
@@ -185,9 +186,10 @@ height: 320
The Spinner comes in 3 sizes that control both the spinner dimensions and the label text size.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-spinner--all-sizes
+mode: full
height: 320
---
::
@@ -203,10 +205,10 @@ height: 320
You can display optional text below the spinner using the `label` prop.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-spinner--with-label
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/04.feedback/06.toast.md b/apps/docs/content/docs/05.components/04.feedback/06.toast.md
index bb9e7b04..be5db4af 100644
--- a/apps/docs/content/docs/05.components/04.feedback/06.toast.md
+++ b/apps/docs/content/docs/05.components/04.feedback/06.toast.md
@@ -199,10 +199,10 @@ const iconClasses = toastIcon({ color: "success" });
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-feedback-toast--default
-panel: true
+mode: panel
---
:::
@@ -214,18 +214,19 @@ The Toast recipe offers 9 accent colors: the 6 semantic colors (`primary`, `seco
The neutral body itself is set by the `variant` axis (see [Variants](#variants)), and adapts to the color scheme: light in light mode, dark in dark mode.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-toast--success
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-toast--all-variants
+mode: full
---
::
@@ -255,10 +256,10 @@ Three visual style variants control the toast's **neutral surface** — the
An opaque neutral card — white in light mode, near-black in dark mode — with a hairline border. The highest-contrast surface, matching Nuxt UI's default toast; ideal for critical notifications that demand immediate attention. This is the **default variant** for the Toast recipe.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-toast--solid
-panel: true
+mode: panel
---
::
@@ -266,10 +267,10 @@ panel: true
A faint neutral fill with no border. A gentle, low-elevation style that works well for informational messages and tips.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-toast--soft
-panel: true
+mode: panel
---
::
@@ -277,10 +278,10 @@ panel: true
A faint neutral fill with a hairline border. Combines the softness of the `soft` variant with a defining border for a little more structure.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-toast--subtle
-panel: true
+mode: panel
---
::
@@ -288,18 +289,19 @@ panel: true
Three size variants from `sm` to `lg` control the font size, padding, and gap of the toast.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-toast--large
-panel: true
+mode: panel
---
::
### Size Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-toast--all-sizes
+mode: full
---
::
@@ -319,10 +321,10 @@ The `orientation` variant controls the layout direction of the toast content. Tw
Content flows left to right in a row. Icon, text content, and dismiss button align horizontally. Best for compact, single-line notifications.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-toast--horizontal
-panel: true
+mode: panel
---
::
@@ -330,18 +332,19 @@ panel: true
Content stacks top to bottom in a column. Useful for toasts with longer descriptions, multiple paragraphs, or action buttons below the message.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-toast--vertical
-panel: true
+mode: panel
---
::
### Orientation Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-toast--all-orientations
+mode: full
---
::
@@ -354,10 +357,10 @@ story: theme-recipes-feedback-toast--all-orientations
The `useToastDismissRecipe()` composable styles the close control: an `em`-sized button that inherits the toast's text color, pushes itself to the end of the row, and includes hover and focus-visible states. The toast recipe also collapses the element when the `hidden` attribute is set, so dismissing only needs to toggle `hidden` on the root element.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-toast--dismissible
-panel: true
+mode: panel
---
::
@@ -376,10 +379,10 @@ The bar is a rounded pill inset from the toast's corners rather than bleeding ed
Set `--toast-duration` to match however long the toast stays on screen; it defaults to `5s` when the property is absent. Mark the line `aria-hidden="true"` — the countdown is decorative, and screen-reader users are served by the live-region text, not the animation.
-::story-preview
+::storybook-embed
---
story: theme-recipes-feedback-toast--with-progress
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/05.forms/00.calendar.md b/apps/docs/content/docs/05.components/05.forms/00.calendar.md
index 618867eb..b39debd5 100644
--- a/apps/docs/content/docs/05.components/05.forms/00.calendar.md
+++ b/apps/docs/content/docs/05.components/05.forms/00.calendar.md
@@ -195,10 +195,10 @@ const selectedDay = calendarDay({ selected: "true" });
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-forms-calendar--default
-panel: true
+mode: panel
---
:::
@@ -208,9 +208,10 @@ panel: true
Three size variants from `sm` to `lg` control density. Each sets `--calendar-cell-size` (the square cell floor) and `--calendar-cell-font-size` on the root, which cascade to every cell, week number and weekday label — so a single `calendar({ size })` scales the whole grid.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-calendar--all-sizes
+mode: full
height: 520
---
::
@@ -237,9 +238,10 @@ selector('.calendar-pricing', {
});
```
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-calendar--custom-cell-size
+mode: full
height: 560
---
::
@@ -255,9 +257,10 @@ Four selection variants control how the active selection — the selected da
| `soft` | Tinted `@color.primary-200` surface, no ring |
| `subtle` | Tinted surface plus an inset `@color.primary-300` ring |
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-calendar--all-variants
+mode: full
height: 920
---
::
@@ -270,9 +273,10 @@ height: 920
Each day is a `calendarDay({ ... })` button. The state axes mirror the modifiers a headless calendar exposes, so you map them straight across. They are independent booleans, except `range`, which is positional (`none`, `start`, `middle`, `end`).
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-calendar--all-states
+mode: full
height: 420
---
::
@@ -285,10 +289,10 @@ height: 420
`disabled` dims the day to `0.5` opacity with a `not-allowed` cursor — an unreachable date. `booked` is intentionally distinct: a reserved/unavailable day is struck through and muted on a faint surface, but **not** dimmed away, so it still reads as a real, labelled date.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-calendar--booked-dates
-panel: true
+mode: panel
---
::
@@ -300,10 +304,10 @@ panel: true
For range selection, set `range` to `start`, `middle` or `end`. The endpoints fill with `@color.primary` and square their inner edge; the middle days use a soft primary band — so the selection reads as one continuous range.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-calendar--range
-panel: true
+mode: panel
---
::
@@ -311,10 +315,10 @@ panel: true
For side-by-side months, render one `.calendar-month` per month inside `.calendar-months`; the wrapper lays them out in a row. How many months to show (e.g. a `numberOfMonths` prop) is your component's concern — the recipe just styles the columns. When months sit side by side, each grid shows exactly one month: outside-month days would duplicate across the grids, so render them as invisible `.calendar-day-spacer` cells to keep the columns aligned.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-calendar--range-two-months
-panel: true
+mode: panel
---
::
@@ -322,10 +326,10 @@ panel: true
Swap the static caption label for two selects inside `.calendar-caption-dropdowns`. The recipe ships baseline styling for native `` elements in the slot (border, radius, typography that follows the calendar size); swap in the Select recipe for full theming.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-calendar--month-year-dropdown
-panel: true
+mode: panel
---
::
@@ -333,17 +337,17 @@ panel: true
Set `type` to `month` or `year` on `calendarDay()` to reuse the same cell for picker views — choosing a month within a year, or a year within a 12-year page. Picker cells keep the cascaded cell height but stretch to their grid column as pills instead of staying square. Add the `-months` or `-years` marker class to `.calendar-grid` for the 4-column layout (floored to the day grid's width, so switching views keeps the same footprint). The selection `variant` and the `today` accent (the current month or year) apply unchanged.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-calendar--month-picker
-panel: true
+mode: panel
---
::
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-calendar--year-picker
-panel: true
+mode: panel
---
::
@@ -351,10 +355,10 @@ panel: true
Add a `.calendar-presets` sidebar beside the calendar for quick picks like "Today" or "Last 7 days". The preset buttons reuse the [Button](/docs/theme/components/button) recipe.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-calendar--presets
-panel: true
+mode: panel
---
::
@@ -362,10 +366,10 @@ panel: true
Add a `.calendar-footer` below the grid for start/end time fields, built with the [Input](/docs/theme/components/input) recipe.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-calendar--date-time
-panel: true
+mode: panel
---
::
@@ -373,10 +377,10 @@ panel: true
Add the `-week-numbers` marker class to `.calendar-grid` to expand it to an 8-column layout with a leading `.calendar-week-number` cell per row.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-calendar--week-numbers
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/05.forms/01.checkbox.md b/apps/docs/content/docs/05.components/05.forms/01.checkbox.md
index 0411b121..29627009 100644
--- a/apps/docs/content/docs/05.components/05.forms/01.checkbox.md
+++ b/apps/docs/content/docs/05.components/05.forms/01.checkbox.md
@@ -186,10 +186,10 @@ const fieldClasses = checkboxField({ color: "neutral", size: "md" });
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-forms-checkbox--default
-panel: true
+mode: panel
---
:::
@@ -201,18 +201,19 @@ The Checkbox field includes 3 color variants: `light`, `dark`, and `neutral`. Li
The `neutral` color adapts automatically: a light surface in light mode and a dark surface in dark mode, making it the safest default for general-purpose forms.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-checkbox--neutral
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-checkbox--all-states
+mode: full
height: 420
---
::
@@ -231,9 +232,10 @@ height: 420
Three size variants from `sm` to `lg` control the box dimensions and border radius. The checkmark is a white SVG `background-image` sized with `background-size: contain`, so it stays crisp and scales with the box.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-checkbox--all-sizes
+mode: full
height: 320
---
::
@@ -258,10 +260,10 @@ The field's states ride on native pseudo-classes, so they reflect the real ``, ``, or emoji inside.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-select--default
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/05.forms/11.slider.md b/apps/docs/content/docs/05.components/05.forms/11.slider.md
index 06c5415a..93105f08 100644
--- a/apps/docs/content/docs/05.components/05.forms/11.slider.md
+++ b/apps/docs/content/docs/05.components/05.forms/11.slider.md
@@ -245,10 +245,10 @@ const thumbClasses = sliderThumb({ color: "primary", size: "md" });
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-forms-slider--default
-panel: true
+mode: panel
---
:::
@@ -260,18 +260,19 @@ The Slider range and thumb recipes include 9 color variants: the 6 semantic colo
Each color is applied through compound variants with automatic dark mode overrides. The `neutral` color adapts between light and dark mode automatically.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-slider--primary
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-slider--all-colors
+mode: full
height: 600
---
::
@@ -306,18 +307,19 @@ height: 600
Five size variants from `xs` to `xl` control the rail thickness (height, or width in vertical orientation) and the thumb diameter. Pass the same `size` to the root, track, and thumb so the handle and rail stay proportional.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-slider--medium
-panel: true
+mode: panel
---
::
### Size Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-slider--all-sizes
+mode: full
height: 400
---
::
@@ -342,10 +344,10 @@ The `orientation` variant controls the layout direction of the slider. Two optio
The range fills from the start of the track. The root stretches to `width: 100%` of its container.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-slider--default
-panel: true
+mode: panel
---
::
@@ -353,9 +355,10 @@ panel: true
The range fills from the bottom of the track. The root stretches to `height: 100%`, so the parent container must have an explicit height for a vertical slider to be visible.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-slider--vertical
+mode: full
height: 300
---
::
@@ -369,10 +372,10 @@ height: 300
The root recipe exposes a `disabled` variant. When set, it dims the whole control and sets `pointer-events: none`, which cascades to the track, range, and thumb — you only set it in one place.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-slider--disabled
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/05.forms/12.switch.md b/apps/docs/content/docs/05.components/05.forms/12.switch.md
index 2530cb7e..3dc2a05b 100644
--- a/apps/docs/content/docs/05.components/05.forms/12.switch.md
+++ b/apps/docs/content/docs/05.components/05.forms/12.switch.md
@@ -165,10 +165,10 @@ const fieldClasses = switchField({ color: "neutral", size: "md" });
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-forms-switch--default
-panel: true
+mode: panel
---
:::
@@ -180,18 +180,19 @@ The Switch field includes 3 color variants: `light`, `dark`, and `neutral`. Like
The `neutral` color adapts automatically: a light track in light mode and a dark track in dark mode, making it the safest default for general-purpose forms.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-switch--neutral
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-switch--all-states
+mode: full
height: 420
---
::
@@ -210,9 +211,10 @@ height: 420
Three size variants from `sm` to `lg` control the track dimensions and the knob. The knob is a white SVG `background-image` that slides from the left of the track to the right when the switch turns on, with the travel expressed as `calc(100% - 2px)` so it stays a uniform inset at every size.
-::story-preview
+::storybook-embed
---
story: theme-recipes-forms-switch--all-sizes
+mode: full
height: 320
---
::
@@ -237,10 +239,10 @@ The field's states ride on native pseudo-classes, so they reflect the real `` inside the avatar — the recipe's `> img` selector sizes it to cover the box and clips it to the avatar shape via `border-radius: inherit`. Render the initials fallback when no image is set or when the image fails to load.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-avatar--with-image
-panel: true
+mode: panel
---
::
@@ -245,17 +248,17 @@ panel: true
Add `useAvatarBadgeRecipe()` to render a small status dot anchored to the bottom-right of an avatar. The badge uses the Full color pattern so it can express presence states.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-avatar--with-status
-panel: true
+mode: panel
---
::
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-avatar--status-colors
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/07.layout/02.avatar-group.md b/apps/docs/content/docs/05.components/07.layout/02.avatar-group.md
index 823d58e0..91440f47 100644
--- a/apps/docs/content/docs/05.components/07.layout/02.avatar-group.md
+++ b/apps/docs/content/docs/05.components/07.layout/02.avatar-group.md
@@ -107,10 +107,10 @@ The `avatarGroup()` runtime returns a class string. Wrap `.avatar` children with
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-layout-avatar-group--default
-panel: true
+mode: panel
---
:::
@@ -120,9 +120,10 @@ panel: true
The group's `size` controls the overlap amount and should match the size of the avatars inside it. Larger avatars overlap by a larger margin.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-avatar-group--all-sizes
+mode: full
height: 360
---
::
@@ -139,10 +140,10 @@ height: 360
When there are more members than you want to show, render a trailing "+N" avatar to summarize the rest. It is just another `.avatar` (neutral, soft) inside the group, so it inherits the ring and overlap automatically.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-avatar-group--with-overflow-count
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/07.layout/03.card.md b/apps/docs/content/docs/05.components/07.layout/03.card.md
index cbecce8e..91220846 100644
--- a/apps/docs/content/docs/05.components/07.layout/03.card.md
+++ b/apps/docs/content/docs/05.components/07.layout/03.card.md
@@ -165,10 +165,10 @@ const footerClasses = cardFooter(variants);
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-layout-card--default
-panel: true
+mode: panel
---
:::
@@ -180,18 +180,19 @@ The Card recipe includes 3 color variants: `light`, `dark`, and `neutral`. Unlik
The `neutral` color adapts automatically: it uses a light appearance in light mode and a dark appearance in dark mode, making it the safest default for general-purpose cards.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-card--light
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-card--all-variants
+mode: full
---
::
@@ -213,10 +214,10 @@ Three visual style variants control how the card is rendered. Each variant is co
Filled background with a subtle border. The most prominent style, ideal for primary content areas and featured sections.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-card--solid
-panel: true
+mode: panel
---
::
@@ -224,10 +225,10 @@ panel: true
Light tinted background with no visible border. A gentle, borderless style that works well for grouped content in dense layouts.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-card--soft
-panel: true
+mode: panel
---
::
@@ -235,10 +236,10 @@ panel: true
Light tinted background with a matching border. Combines the softness of the `soft` variant with added visual definition from a border.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-card--subtle
-panel: true
+mode: panel
---
::
@@ -246,18 +247,19 @@ panel: true
Three size variants from `sm` to `lg` control the border radius of the card container and the padding and gap of the header, body, and footer sections.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-card--large
-panel: true
+mode: panel
---
::
### Size Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-card--all-sizes
+mode: full
---
::
diff --git a/apps/docs/content/docs/05.components/07.layout/04.media.md b/apps/docs/content/docs/05.components/07.layout/04.media.md
index 0df7a109..e5ccba81 100644
--- a/apps/docs/content/docs/05.components/07.layout/04.media.md
+++ b/apps/docs/content/docs/05.components/07.layout/04.media.md
@@ -163,10 +163,10 @@ const titleClasses = mediaTitle({ size: "md" });
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-layout-media--default
-panel: true
+mode: panel
---
:::
@@ -180,17 +180,17 @@ Two layout axes shape the media object: `orientation` and `align`. Together they
Two orientations control how the figure and body are arranged. `horizontal` places the figure to the left (the default media-object layout); `vertical` stacks the figure on top of the body, useful for media cards or compact list items where vertical space is plentiful.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-media--horizontal
-panel: true
+mode: panel
---
::
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-media--vertical
-panel: true
+mode: panel
---
::
@@ -198,9 +198,10 @@ panel: true
Three alignment options control how the figure aligns with the body on the cross-axis. `start` (the default) aligns the top of the figure with the top of the body, ideal for comments and posts where the avatar should sit next to the title. `center` vertically centers the figure for compact list items. `end` aligns the figure to the bottom of the body, useful when the visual is decorative.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-media--all-variants
+mode: full
---
::
@@ -214,18 +215,19 @@ story: theme-recipes-layout-media--all-variants
Three size variants from `sm` to `lg` scale the gap between figure and body, the figure's border radius, the body's internal gap, and the title's font size in lockstep.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-media--large
-panel: true
+mode: panel
---
::
### Size Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-media--all-sizes
+mode: full
---
::
@@ -271,10 +273,10 @@ Each part is a standalone recipe with its own size axis. The container's `orient
Media objects can be nested inside one another to model parent-child relationships such as comment threads, social-post replies, or activity feeds. Place a `Media` inside another `Media`'s body and the layout naturally indents the child by the figure's width plus the container's gap.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-media--nested
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/content/docs/05.components/07.layout/05.page-hero.md b/apps/docs/content/docs/05.components/07.layout/05.page-hero.md
index b185525f..383ef613 100644
--- a/apps/docs/content/docs/05.components/07.layout/05.page-hero.md
+++ b/apps/docs/content/docs/05.components/07.layout/05.page-hero.md
@@ -201,10 +201,10 @@ const actionsClasses = pageHeroActions({ size: "md", alignment: "center" });
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-layout-pagehero--default
-panel: true
+mode: panel
---
:::
@@ -216,10 +216,10 @@ The PageHero recipe includes 3 color variants: `light`, `dark`, and `neutral`. L
The `neutral` color adapts automatically: it uses a light appearance in light mode and a dark appearance in dark mode, making it the safest default for general-purpose hero sections.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-pagehero--neutral
-panel: true
+mode: panel
---
::
@@ -243,10 +243,10 @@ The hero's layout is controlled by two orthogonal axes: **orientation** (`vertic
Stacks content in a column. The image (if present) sits below the text block.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-pagehero--vertical
-panel: true
+mode: panel
---
::
@@ -254,10 +254,10 @@ panel: true
Splits content into a two-column grid. The image (if present) sits beside the text block.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-pagehero--horizontal
-panel: true
+mode: panel
---
::
@@ -265,10 +265,10 @@ panel: true
Aligns text and CTAs to the left edge of the content area. Common for split layouts where the eye reads from text on the left to media on the right.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-pagehero--align-start
-panel: true
+mode: panel
---
::
@@ -276,10 +276,10 @@ panel: true
Centers text and CTAs horizontally. Common for stacked, single-column heroes that anchor the page.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-pagehero--align-center
-panel: true
+mode: panel
---
::
@@ -287,9 +287,10 @@ panel: true
Three size variants from `sm` to `lg` control the container's vertical padding and gap, plus the body and headline gaps, title font size, description font size, actions gap, links gap and font size, and the image's border radius and shadow. Pass the same `size` value to every sub-recipe so the proportions stay coherent.
-::story-preview
+::storybook-embed
---
story: theme-recipes-layout-pagehero--all-sizes
+mode: full
height: 720
---
::
diff --git a/apps/docs/content/docs/05.components/07.layout/06.placeholder.md b/apps/docs/content/docs/05.components/07.layout/06.placeholder.md
index 5ba7a920..afc4b0c7 100644
--- a/apps/docs/content/docs/05.components/07.layout/06.placeholder.md
+++ b/apps/docs/content/docs/05.components/07.layout/06.placeholder.md
@@ -117,10 +117,10 @@ const classes = placeholder();
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-layout-placeholder--default
-panel: true
+mode: panel
---
:::
diff --git a/apps/docs/content/docs/05.components/08.ai-chat/00.chat-message.md b/apps/docs/content/docs/05.components/08.ai-chat/00.chat-message.md
index 5393c1f8..bfcf2c45 100644
--- a/apps/docs/content/docs/05.components/08.ai-chat/00.chat-message.md
+++ b/apps/docs/content/docs/05.components/08.ai-chat/00.chat-message.md
@@ -168,10 +168,10 @@ const {
#### See it in action
-:::story-preview
+:::storybook-embed
---
story: theme-recipes-ai-chat-chatmessage--default
-panel: true
+mode: panel
---
:::
@@ -183,18 +183,19 @@ The ChatMessage recipe includes 3 color variants: `light`, `dark`, and `neutral`
The `neutral` color adapts automatically: it uses a light appearance in light mode and a dark appearance in dark mode, making it the safest default for general-purpose chat UIs.
-::story-preview
+::storybook-embed
---
story: theme-recipes-ai-chat-chatmessage--neutral
-panel: true
+mode: panel
---
::
### Color Reference
-::story-preview
+::storybook-embed
---
story: theme-recipes-ai-chat-chatmessage--all-variants
+mode: full
height: 480
---
::
@@ -217,10 +218,10 @@ Five visual style variants control how the message bubble is rendered. Each vari
Filled background with a subtle border. The most prominent style, ideal for emphasizing a single message in a transcript.
-::story-preview
+::storybook-embed
---
story: theme-recipes-ai-chat-chatmessage--solid
-panel: true
+mode: panel
---
::
@@ -228,10 +229,10 @@ panel: true
Transparent background with a colored border and matching text. A lightweight, definitionful style that works well for system or meta messages.
-::story-preview
+::storybook-embed
---
story: theme-recipes-ai-chat-chatmessage--outline
-panel: true
+mode: panel
---
::
@@ -239,10 +240,10 @@ panel: true
Light tinted background with no visible border. A gentle, borderless style that reads like a typical user chat bubble.
-::story-preview
+::storybook-embed
---
story: theme-recipes-ai-chat-chatmessage--soft
-panel: true
+mode: panel
---
::
@@ -250,10 +251,10 @@ panel: true
Light tinted background with a matching border. Combines the softness of the `soft` variant with added visual definition from a border — the recommended default for both user and assistant turns.
-::story-preview
+::storybook-embed
---
story: theme-recipes-ai-chat-chatmessage--subtle
-panel: true
+mode: panel
---
::
@@ -261,10 +262,10 @@ panel: true
No background, no border, no padding. Strips the bubble entirely so the message reads as inline prose. Use for assistant turns that should feel like part of the page rather than a discrete bubble.
-::story-preview
+::storybook-embed
---
story: theme-recipes-ai-chat-chatmessage--ghost
-panel: true
+mode: panel
---
::
@@ -272,9 +273,10 @@ panel: true
Three size variants from `sm` to `lg` control the avatar dimensions, the bubble padding and border radius, and the gap between the avatar and the bubble.
-::story-preview
+::storybook-embed
---
story: theme-recipes-ai-chat-chatmessage--all-sizes
+mode: full
height: 520
---
::
@@ -300,10 +302,10 @@ The `side` axis on the root recipe controls how the message aligns within its co
| `start` | `justifyContent: flex-start`, default flex direction | Assistant or system messages |
| `end` | `justifyContent: flex-end`, `flexDirection: row-reverse` | User messages — avatar appears on the inline-end |
-::story-preview
+::storybook-embed
---
story: theme-recipes-ai-chat-chatmessage--side-end
-panel: true
+mode: panel
---
::
diff --git a/apps/docs/nuxt.config.ts b/apps/docs/nuxt.config.ts
index 956bc8e8..809f012f 100644
--- a/apps/docs/nuxt.config.ts
+++ b/apps/docs/nuxt.config.ts
@@ -106,6 +106,12 @@ export default defineNuxtConfig({
key: "",
defaults: "",
},
+ storybookBaseUrl: "https://storybook.styleframe.dev",
+ // Migration-only: apps/storybook still emits and accepts the
+ // `styleframe:*` message names alongside the neutral ones, so the two
+ // apps deploy in either order. Drop this once both sides are on
+ // `@uxfront/layer-docs/storybook` in production.
+ storybookLegacyMessageNamespace: "styleframe",
},
},
/**
diff --git a/apps/storybook/.storybook/manager.ts b/apps/storybook/.storybook/manager.ts
index 6eb4205e..eb31af89 100644
--- a/apps/storybook/.storybook/manager.ts
+++ b/apps/storybook/.storybook/manager.ts
@@ -1,20 +1,22 @@
import { addons } from "storybook/manager-api";
import { UPDATE_DARK_MODE_EVENT_NAME } from "@vueless/storybook-dark-mode";
+import { installDocsEmbedManagerBridge } from "@uxfront/layer-docs/storybook";
import { light, dark } from "./theme";
const STORAGE_KEY = "sb-addon-themes-3";
const channel = addons.getChannel();
-window.addEventListener("message", (event: MessageEvent) => {
- if (event.data?.type === "styleframe:theme") {
- const mode = event.data.theme === "dark" ? "dark" : "light";
-
+installDocsEmbedManagerBridge({
+ // The docs site still speaks `styleframe:*` until it deploys the layer
+ // embed. Drop this once both sides are on the neutral names.
+ legacyNamespace: "styleframe",
+ onTheme: (theme) => {
// Update the addon's localStorage store so renderTheme() won't revert
const storedItem = window.localStorage.getItem(STORAGE_KEY);
if (storedItem) {
try {
const stored = JSON.parse(storedItem);
- stored.current = mode;
+ stored.current = theme;
window.localStorage.setItem(STORAGE_KEY, JSON.stringify(stored));
} catch {
// Corrupted localStorage entry — skip update
@@ -22,54 +24,9 @@ window.addEventListener("message", (event: MessageEvent) => {
}
// Update manager UI theme directly
- addons.setConfig({ theme: mode === "dark" ? dark : light });
+ addons.setConfig({ theme: theme === "dark" ? dark : light });
// Also emit to the addon (for DarkMode component state + preview sync)
- channel.emit(UPDATE_DARK_MODE_EVENT_NAME, mode);
-
- // Trigger the theme change window message for the preview iframe
- const iframe = document.getElementById(
- "storybook-preview-iframe",
- ) as HTMLIFrameElement | null;
-
- iframe?.contentWindow?.postMessage(
- {
- type: "styleframe:theme",
- theme: mode,
- },
- window.location.origin,
- );
- }
+ channel.emit(UPDATE_DARK_MODE_EVENT_NAME, theme);
+ },
});
-
-// Auto-size: relay preview content height to docs parent when embedded
-if (window !== window.parent) {
- const PADDING = 64;
- const params = new URLSearchParams(window.location.search);
- const isFullMode = params.has("full");
-
- window.addEventListener("message", (event: MessageEvent) => {
- if (event.data?.type === "styleframe:preview-height") {
- let totalHeight: number;
-
- if (isFullMode) {
- // Full mode: just content + padding (no visible chrome)
- totalHeight = event.data.height + PADDING;
- } else {
- // Panel mode: content + chrome (toolbar + panel)
- const previewIframe = document.getElementById(
- "storybook-preview-iframe",
- ) as HTMLIFrameElement | null;
- if (!previewIframe) return;
-
- const chromeHeight = window.innerHeight - previewIframe.offsetHeight;
- totalHeight = chromeHeight + event.data.height + PADDING;
- }
-
- window.parent.postMessage(
- { type: "styleframe:height", height: totalHeight },
- "*",
- );
- }
- });
-}
diff --git a/apps/storybook/.storybook/preview.ts b/apps/storybook/.storybook/preview.ts
index c643e1f2..343a04d1 100644
--- a/apps/storybook/.storybook/preview.ts
+++ b/apps/storybook/.storybook/preview.ts
@@ -10,6 +10,7 @@ import {
useDarkMode,
} from "@vueless/storybook-dark-mode";
import { DocsContainer } from "@storybook/addon-docs/blocks";
+import { installDocsEmbedPreviewBridge } from "@uxfront/layer-docs/storybook";
const channel = addons.getChannel();
@@ -25,12 +26,11 @@ channel.on(DARK_MODE_EVENT_NAME, (isDark: boolean) => {
}
});
-window.addEventListener("message", (event: MessageEvent) => {
- if (event.data?.type === "styleframe:theme") {
- const mode = event.data.theme === "dark" ? "dark" : "light";
-
- channel.emit(DARK_MODE_EVENT_NAME, mode === "dark");
- }
+installDocsEmbedPreviewBridge({
+ // The docs site still speaks `styleframe:*` until it deploys the layer
+ // embed. Drop this once both sides are on the neutral names.
+ legacyNamespace: "styleframe",
+ onTheme: (theme) => channel.emit(DARK_MODE_EVENT_NAME, theme === "dark"),
});
const ThemedDocsContainer: typeof DocsContainer = (props) => {
@@ -78,41 +78,4 @@ const preview: Preview = {
},
};
-// Auto-size: report story content height to the manager frame
-if (window !== window.parent) {
- let lastHeight = 0;
-
- const sendHeight = () => {
- const root = document.getElementById("storybook-root");
- if (!root) return;
- const height = root.offsetHeight;
- if (height !== lastHeight) {
- lastHeight = height;
- window.parent.postMessage(
- { type: "styleframe:preview-height", height },
- "*",
- );
- }
- };
-
- const waitForRoot = () => {
- const root = document.getElementById("storybook-root");
- if (root) {
- const ro = new ResizeObserver(sendHeight);
- ro.observe(root);
- const mo = new MutationObserver(sendHeight);
- mo.observe(root, { childList: true, subtree: true });
- sendHeight();
- } else {
- requestAnimationFrame(waitForRoot);
- }
- };
-
- if (document.readyState === "complete") {
- waitForRoot();
- } else {
- window.addEventListener("load", waitForRoot);
- }
-}
-
export default preview;
diff --git a/apps/storybook/package.json b/apps/storybook/package.json
index ef71a96c..707bdfc2 100644
--- a/apps/storybook/package.json
+++ b/apps/storybook/package.json
@@ -25,6 +25,7 @@
"@storybook/addon-vitest": "^10.4.4",
"@storybook/vue3-vite": "^10.4.4",
"@types/node": "catalog:",
+ "@uxfront/layer-docs": "^0.4.1",
"@vitejs/plugin-vue": "catalog:nuxt",
"@vitest/browser-playwright": "^4.1.8",
"@vitest/coverage-v8": "catalog:",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index cafe585b..490511e6 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -733,7 +733,7 @@ importers:
version: 10.4.4(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))
'@storybook/addon-docs':
specifier: ^10.4.4
- version: 10.4.4(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0))
+ version: 10.4.4(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0)(lightningcss@1.32.0))
'@storybook/addon-onboarding':
specifier: ^10.4.4
version: 10.4.4(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))
@@ -745,10 +745,13 @@ importers:
version: 10.4.4(@vitest/browser-playwright@4.1.8)(@vitest/browser@4.1.8)(@vitest/runner@4.1.8)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vitest@4.1.8)
'@storybook/vue3-vite':
specifier: ^10.4.4
- version: 10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(webpack@5.107.2(esbuild@0.28.0))
+ version: 10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(webpack@5.107.2(esbuild@0.28.0)(lightningcss@1.32.0))
'@types/node':
specifier: 'catalog:'
version: 22.19.21
+ '@uxfront/layer-docs':
+ specifier: ^0.4.1
+ version: 0.4.1(621c2dd15bb684ce2e20171e022fafd4)
'@vitejs/plugin-vue':
specifier: catalog:nuxt
version: 6.0.7(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))
@@ -13201,6 +13204,18 @@ snapshots:
transitivePeerDependencies:
- magicast
+ '@dxup/nuxt@0.4.1(magicast@0.5.3)(typescript@6.0.3)':
+ dependencies:
+ '@dxup/unimport': 0.1.2
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ chokidar: 5.0.0
+ pathe: 2.0.3
+ tinyglobby: 0.2.17
+ optionalDependencies:
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - magicast
+
'@dxup/nuxt@0.4.1(magicast@0.5.3)(typescript@7.0.2)':
dependencies:
'@dxup/unimport': 0.1.2
@@ -13959,6 +13974,32 @@ snapshots:
'@intlify/shared@11.4.5': {}
+ '@intlify/unplugin-vue-i18n@11.2.3(@vue/compiler-dom@3.5.38)(eslint@9.37.0(jiti@2.7.0))(rollup@4.62.0)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-i18n@11.4.5(vue@3.5.38(typescript@6.0.3)))(vue@3.5.38(typescript@6.0.3))':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.7.0))
+ '@intlify/bundle-utils': 11.2.3(vue-i18n@11.4.5(vue@3.5.38(typescript@6.0.3)))
+ '@intlify/shared': 11.4.5
+ '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.4.5)(@vue/compiler-dom@3.5.38)(vue-i18n@11.4.5(vue@3.5.38(typescript@6.0.3)))(vue@3.5.38(typescript@6.0.3))
+ '@rollup/pluginutils': 5.3.0(rollup@4.62.0)
+ '@typescript-eslint/scope-manager': 8.46.2
+ '@typescript-eslint/typescript-estree': 8.46.2(typescript@6.0.3)
+ debug: 4.4.3(supports-color@5.5.0)
+ fast-glob: 3.3.3
+ pathe: 2.0.3
+ picocolors: 1.1.1
+ unplugin: 2.3.11
+ vue: 3.5.38(typescript@6.0.3)
+ optionalDependencies:
+ vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ vue-i18n: 11.4.5(vue@3.5.38(typescript@6.0.3))
+ transitivePeerDependencies:
+ - '@vue/compiler-dom'
+ - eslint
+ - rollup
+ - supports-color
+ - typescript
+ optional: true
+
'@intlify/unplugin-vue-i18n@11.2.3(@vue/compiler-dom@3.5.38)(eslint@9.37.0(jiti@2.7.0))(rollup@4.62.0)(typescript@6.0.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-i18n@11.4.5(vue@3.5.38(typescript@6.0.3)))(vue@3.5.38(typescript@6.0.3))':
dependencies:
'@eslint-community/eslint-utils': 4.9.0(eslint@9.37.0(jiti@2.7.0))
@@ -14420,6 +14461,67 @@ snapshots:
- supports-color
- utf-8-validate
+ '@nuxt/content@3.14.0(@valibot/to-json-schema@1.7.0(valibot@1.4.1(typescript@6.0.3)))(better-sqlite3@12.10.1)(magicast@0.5.3)(valibot@1.4.1(typescript@6.0.3))':
+ dependencies:
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@nuxtjs/mdc': 0.22.0(magicast@0.5.3)
+ '@shikijs/langs': 4.2.0
+ '@sqlite.org/sqlite-wasm': 3.50.4-build1
+ '@standard-schema/spec': 1.1.0
+ '@webcontainer/env': 1.1.1
+ c12: 3.3.4(magicast@0.5.3)
+ chokidar: 5.0.0
+ consola: 3.4.2
+ db0: 0.3.4(better-sqlite3@12.10.1)
+ defu: 6.1.7
+ destr: 2.0.5
+ git-url-parse: 16.1.0
+ hookable: 5.5.3
+ isomorphic-git: 1.38.4
+ jiti: 2.7.0
+ json-schema-to-typescript-lite: 15.0.0
+ mdast-util-to-hast: 13.2.1
+ mdast-util-to-string: 4.0.0
+ micromark: 4.0.2
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromatch: 4.0.8
+ minimark: 0.2.0
+ minimatch: 10.2.5
+ nuxt-component-meta: 0.17.2(magicast@0.5.3)
+ nypm: 0.6.6
+ ohash: 2.0.11
+ pathe: 2.0.3
+ pkg-types: 2.3.1
+ remark-mdc: 3.11.0
+ scule: 1.3.0
+ shiki: 4.2.0
+ slugify: 1.6.9
+ socket.io-client: 4.8.3
+ std-env: 4.1.0
+ tinyglobby: 0.2.17
+ ufo: 1.6.4
+ unctx: 2.5.0
+ unified: 11.0.5
+ unist-util-stringify-position: 4.0.0
+ unist-util-visit: 5.1.0
+ unplugin: 3.0.0
+ zod: 3.25.76
+ zod-to-json-schema: 3.25.2(zod@3.25.76)
+ optionalDependencies:
+ '@valibot/to-json-schema': 1.7.0(valibot@1.4.1(typescript@6.0.3))
+ better-sqlite3: 12.10.1
+ valibot: 1.4.1(typescript@6.0.3)
+ transitivePeerDependencies:
+ - bufferutil
+ - drizzle-orm
+ - magicast
+ - mysql2
+ - supports-color
+ - utf-8-validate
+
'@nuxt/content@3.14.0(@valibot/to-json-schema@1.7.0(valibot@1.4.1(typescript@7.0.2)))(better-sqlite3@12.10.1)(magicast@0.5.3)(valibot@1.4.1(typescript@7.0.2))':
dependencies:
'@nuxt/kit': 4.4.8(magicast@0.5.3)
@@ -14491,6 +14593,14 @@ snapshots:
transitivePeerDependencies:
- magicast
+ '@nuxt/devtools-kit@3.2.4(magicast@0.5.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))':
+ dependencies:
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ execa: 8.0.1
+ vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ transitivePeerDependencies:
+ - magicast
+
'@nuxt/devtools-kit@3.2.4(magicast@0.5.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))':
dependencies:
'@nuxt/kit': 4.4.8(magicast@0.5.3)
@@ -14507,6 +14617,14 @@ snapshots:
transitivePeerDependencies:
- magicast
+ '@nuxt/devtools-kit@4.0.0-alpha.3(magicast@0.5.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))':
+ dependencies:
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ tinyexec: 1.2.4
+ vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ transitivePeerDependencies:
+ - magicast
+
'@nuxt/devtools-kit@4.0.0-alpha.3(magicast@0.5.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))':
dependencies:
'@nuxt/kit': 4.4.8(magicast@0.5.3)
@@ -14526,6 +14644,47 @@ snapshots:
pkg-types: 2.3.1
semver: 7.8.1
+ '@nuxt/devtools@3.2.4(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))':
+ dependencies:
+ '@nuxt/devtools-kit': 3.2.4(magicast@0.5.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ '@nuxt/devtools-wizard': 3.2.4
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@vue/devtools-core': 8.1.2(vue@3.5.38(typescript@6.0.3))
+ '@vue/devtools-kit': 8.1.2
+ birpc: 4.0.0
+ consola: 3.4.2
+ destr: 2.0.5
+ error-stack-parser-es: 1.0.5
+ execa: 8.0.1
+ fast-npm-meta: 1.5.1
+ get-port-please: 3.2.0
+ hookable: 6.1.1
+ image-meta: 0.2.2
+ is-installed-globally: 1.0.0
+ launch-editor: 2.13.2
+ local-pkg: 1.2.1
+ magicast: 0.5.3
+ nypm: 0.6.6
+ ohash: 2.0.11
+ pathe: 2.0.3
+ perfect-debounce: 2.1.0
+ pkg-types: 2.3.1
+ semver: 7.8.1
+ simple-git: 3.36.0
+ sirv: 3.0.2
+ structured-clone-es: 2.0.0
+ tinyglobby: 0.2.17
+ vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.8(magicast@0.5.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ vite-plugin-vue-tracer: 1.4.0(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))
+ which: 6.0.1
+ ws: 8.21.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+ - vue
+
'@nuxt/devtools@3.2.4(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))':
dependencies:
'@nuxt/devtools-kit': 3.2.4(magicast@0.5.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
@@ -14648,6 +14807,46 @@ snapshots:
- uploadthing
- vite
+ '@nuxt/fonts@0.14.0(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(magicast@0.5.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))':
+ dependencies:
+ '@nuxt/devtools-kit': 3.2.4(magicast@0.5.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ consola: 3.4.2
+ defu: 6.1.7
+ fontless: 0.2.1(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ h3: 1.15.11
+ magic-regexp: 0.10.0
+ ofetch: 1.5.1
+ pathe: 2.0.3
+ sirv: 3.0.2
+ tinyglobby: 0.2.17
+ ufo: 1.6.4
+ unifont: 0.7.4
+ unplugin: 3.0.0
+ unstorage: 1.17.5(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - idb-keyval
+ - ioredis
+ - magicast
+ - uploadthing
+ - vite
+
'@nuxt/fonts@0.14.0(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(magicast@0.5.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))':
dependencies:
'@nuxt/devtools-kit': 3.2.4(magicast@0.5.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
@@ -14709,6 +14908,27 @@ snapshots:
- vite
- vue
+ '@nuxt/icon@2.2.2(magicast@0.5.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))':
+ dependencies:
+ '@iconify/collections': 1.0.688
+ '@iconify/types': 2.0.0
+ '@iconify/utils': 3.1.3
+ '@iconify/vue': 5.0.1(vue@3.5.38(typescript@6.0.3))
+ '@nuxt/devtools-kit': 3.2.4(magicast@0.5.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ consola: 3.4.2
+ local-pkg: 1.2.1
+ mlly: 1.8.2
+ ohash: 2.0.11
+ pathe: 2.0.3
+ picomatch: 4.0.4
+ std-env: 4.1.0
+ tinyglobby: 0.2.17
+ transitivePeerDependencies:
+ - magicast
+ - vite
+ - vue
+
'@nuxt/icon@2.2.2(magicast@0.5.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))':
dependencies:
'@iconify/collections': 1.0.688
@@ -15000,11 +15220,11 @@ snapshots:
- uploadthing
- xml2js
- '@nuxt/nitro-server@4.4.8(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@netlify/blobs@9.1.2)(better-sqlite3@12.10.1)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(magicast@0.5.3)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@7.0.2))(yaml@2.9.0))(oxc-parser@0.133.0)(rolldown@1.1.5)(typescript@7.0.2)':
+ '@nuxt/nitro-server@4.4.8(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@netlify/blobs@9.1.2)(better-sqlite3@12.10.1)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(magicast@0.5.3)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(oxc-parser@0.133.0)(rolldown@1.1.5)(typescript@6.0.3)':
dependencies:
'@nuxt/devalue': 2.0.2
'@nuxt/kit': 4.4.8(magicast@0.5.3)
- '@unhead/vue': 2.1.15(vue@3.5.38(typescript@7.0.2))
+ '@unhead/vue': 2.1.15(vue@3.5.38(typescript@6.0.3))
'@vue/shared': 3.5.38
consola: 3.4.2
defu: 6.1.7
@@ -15018,7 +15238,7 @@ snapshots:
klona: 2.0.6
mocked-exports: 0.1.1
nitropack: 2.13.4(@netlify/blobs@9.1.2)(better-sqlite3@12.10.1)(oxc-parser@0.133.0)(rolldown@1.1.5)
- nuxt: 4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@7.0.2))(yaml@2.9.0)
+ nuxt: 4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0)
nypm: 0.6.6
ohash: 2.0.11
pathe: 2.0.3
@@ -15027,7 +15247,7 @@ snapshots:
ufo: 1.6.4
unctx: 2.5.0
unstorage: 1.17.5(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)
- vue: 3.5.38(typescript@7.0.2)
+ vue: 3.5.38(typescript@6.0.3)
vue-bundle-renderer: 2.2.0
vue-devtools-stub: 0.1.0
optionalDependencies:
@@ -15067,33 +15287,38 @@ snapshots:
- uploadthing
- xml2js
- '@nuxt/schema@4.4.8':
+ '@nuxt/nitro-server@4.4.8(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@netlify/blobs@9.1.2)(better-sqlite3@12.10.1)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(magicast@0.5.3)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@7.0.2))(yaml@2.9.0))(oxc-parser@0.133.0)(rolldown@1.1.5)(typescript@7.0.2)':
dependencies:
+ '@nuxt/devalue': 2.0.2
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@unhead/vue': 2.1.15(vue@3.5.38(typescript@7.0.2))
'@vue/shared': 3.5.38
- defu: 6.1.7
- pathe: 2.0.3
- pkg-types: 2.3.1
- std-env: 4.1.0
-
- '@nuxt/scripts@0.11.13(@netlify/blobs@9.1.2)(@unhead/vue@2.0.19(vue@3.5.38(typescript@6.0.3)))(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(magicast@0.3.5)(typescript@6.0.3)(vue@3.5.38(typescript@6.0.3))':
- dependencies:
- '@nuxt/kit': 4.4.8(magicast@0.3.5)
- '@unhead/vue': 2.0.19(vue@3.5.38(typescript@6.0.3))
- '@vueuse/core': 13.9.0(vue@3.5.38(typescript@6.0.3))
consola: 3.4.2
defu: 6.1.7
+ destr: 2.0.5
+ devalue: 5.8.1
+ errx: 0.1.0
+ escape-string-regexp: 5.0.0
+ exsolve: 1.0.8
h3: 1.15.11
- magic-string: 0.30.21
- ofetch: 1.5.1
+ impound: 1.1.5
+ klona: 2.0.6
+ mocked-exports: 0.1.1
+ nitropack: 2.13.4(@netlify/blobs@9.1.2)(better-sqlite3@12.10.1)(oxc-parser@0.133.0)(rolldown@1.1.5)
+ nuxt: 4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@7.0.2))(yaml@2.9.0)
+ nypm: 0.6.6
ohash: 2.0.11
pathe: 2.0.3
- pkg-types: 2.3.1
- sirv: 3.0.2
- std-env: 3.10.0
+ rou3: 0.8.1
+ std-env: 4.1.0
ufo: 1.6.4
- unplugin: 2.3.11
+ unctx: 2.5.0
unstorage: 1.17.5(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)
- valibot: 1.4.1(typescript@6.0.3)
+ vue: 3.5.38(typescript@7.0.2)
+ vue-bundle-renderer: 2.2.0
+ vue-devtools-stub: 0.1.0
+ optionalDependencies:
+ '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@@ -15103,6 +15328,8 @@ snapshots:
- '@azure/storage-blob'
- '@capacitor/preferences'
- '@deno/kv'
+ - '@electric-sql/pglite'
+ - '@libsql/client'
- '@netlify/blobs'
- '@planetscale/database'
- '@upstash/redis'
@@ -15110,8 +15337,68 @@ snapshots:
- '@vercel/functions'
- '@vercel/kv'
- aws4fetch
+ - better-sqlite3
- db0
- - idb-keyval
+ - drizzle-orm
+ - encoding
+ - idb-keyval
+ - ioredis
+ - magicast
+ - mysql2
+ - oxc-parser
+ - react-native-b4a
+ - rolldown
+ - sqlite3
+ - supports-color
+ - typescript
+ - uploadthing
+ - xml2js
+
+ '@nuxt/schema@4.4.8':
+ dependencies:
+ '@vue/shared': 3.5.38
+ defu: 6.1.7
+ pathe: 2.0.3
+ pkg-types: 2.3.1
+ std-env: 4.1.0
+
+ '@nuxt/scripts@0.11.13(@netlify/blobs@9.1.2)(@unhead/vue@2.0.19(vue@3.5.38(typescript@6.0.3)))(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(magicast@0.3.5)(typescript@6.0.3)(vue@3.5.38(typescript@6.0.3))':
+ dependencies:
+ '@nuxt/kit': 4.4.8(magicast@0.3.5)
+ '@unhead/vue': 2.0.19(vue@3.5.38(typescript@6.0.3))
+ '@vueuse/core': 13.9.0(vue@3.5.38(typescript@6.0.3))
+ consola: 3.4.2
+ defu: 6.1.7
+ h3: 1.15.11
+ magic-string: 0.30.21
+ ofetch: 1.5.1
+ ohash: 2.0.11
+ pathe: 2.0.3
+ pkg-types: 2.3.1
+ sirv: 3.0.2
+ std-env: 3.10.0
+ ufo: 1.6.4
+ unplugin: 2.3.11
+ unstorage: 1.17.5(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)
+ valibot: 1.4.1(typescript@6.0.3)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - idb-keyval
- ioredis
- magicast
- typescript
@@ -15161,6 +15448,49 @@ snapshots:
- uploadthing
- vue
+ '@nuxt/scripts@0.11.13(@netlify/blobs@9.1.2)(@unhead/vue@2.1.15(vue@3.5.38(typescript@6.0.3)))(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(magicast@0.5.3)(typescript@6.0.3)(vue@3.5.38(typescript@6.0.3))':
+ dependencies:
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@unhead/vue': 2.1.15(vue@3.5.38(typescript@6.0.3))
+ '@vueuse/core': 13.9.0(vue@3.5.38(typescript@6.0.3))
+ consola: 3.4.2
+ defu: 6.1.7
+ h3: 1.15.11
+ magic-string: 0.30.21
+ ofetch: 1.5.1
+ ohash: 2.0.11
+ pathe: 2.0.3
+ pkg-types: 2.3.1
+ sirv: 3.0.2
+ std-env: 3.10.0
+ ufo: 1.6.4
+ unplugin: 2.3.11
+ unstorage: 1.17.5(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)
+ valibot: 1.4.1(typescript@6.0.3)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - idb-keyval
+ - ioredis
+ - magicast
+ - typescript
+ - uploadthing
+ - vue
+
'@nuxt/scripts@0.11.13(@netlify/blobs@9.1.2)(@unhead/vue@2.1.15(vue@3.5.38(typescript@7.0.2)))(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(magicast@0.5.3)(typescript@7.0.2)(vue@3.5.38(typescript@7.0.2))':
dependencies:
'@nuxt/kit': 4.4.8(magicast@0.5.3)
@@ -15637,6 +15967,121 @@ snapshots:
- vue
- yjs
+ '@nuxt/ui@4.8.2(a3265dd75c3f5d60ceabd50a6b3a994d)':
+ dependencies:
+ '@floating-ui/dom': 1.7.6
+ '@iconify/vue': 5.0.1(vue@3.5.38(typescript@6.0.3))
+ '@nuxt/fonts': 0.14.0(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(magicast@0.5.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ '@nuxt/icon': 2.2.2(magicast@0.5.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@nuxt/schema': 4.4.8
+ '@nuxtjs/color-mode': 3.5.2(magicast@0.5.3)
+ '@standard-schema/spec': 1.1.0
+ '@tailwindcss/postcss': 4.3.0
+ '@tailwindcss/vite': 4.3.0(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ '@tanstack/vue-table': 8.21.3(vue@3.5.38(typescript@6.0.3))
+ '@tanstack/vue-virtual': 3.13.28(vue@3.5.38(typescript@6.0.3))
+ '@tiptap/core': 3.26.1(@tiptap/pm@3.26.1)
+ '@tiptap/extension-bubble-menu': 3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)
+ '@tiptap/extension-code': 3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))
+ '@tiptap/extension-collaboration': 3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.7)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30)
+ '@tiptap/extension-drag-handle': 3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/extension-collaboration@3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.7)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30))(@tiptap/extension-node-range@3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.7)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))
+ '@tiptap/extension-drag-handle-vue-3': 3.26.1(@tiptap/extension-drag-handle@3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/extension-collaboration@3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.7)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30))(@tiptap/extension-node-range@3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.7)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30)))(@tiptap/pm@3.26.1)(@tiptap/vue-3@3.26.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)(vue@3.5.38(typescript@6.0.3)))(vue@3.5.38(typescript@6.0.3))
+ '@tiptap/extension-floating-menu': 3.26.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)
+ '@tiptap/extension-horizontal-rule': 3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)
+ '@tiptap/extension-image': 3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))
+ '@tiptap/extension-mention': 3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)(@tiptap/suggestion@3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1))
+ '@tiptap/extension-node-range': 3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)
+ '@tiptap/extension-placeholder': 3.26.1(@tiptap/extensions@3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1))
+ '@tiptap/markdown': 3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)
+ '@tiptap/pm': 3.26.1
+ '@tiptap/starter-kit': 3.26.1
+ '@tiptap/suggestion': 3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)
+ '@tiptap/vue-3': 3.26.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1)(vue@3.5.38(typescript@6.0.3))
+ '@unhead/vue': 2.1.15(vue@3.5.38(typescript@6.0.3))
+ '@vueuse/core': 14.3.0(vue@3.5.38(typescript@6.0.3))
+ '@vueuse/integrations': 14.3.0(change-case@5.4.4)(fuse.js@7.4.2)(jwt-decode@4.0.0)(vue@3.5.38(typescript@6.0.3))
+ '@vueuse/shared': 14.3.0(vue@3.5.38(typescript@6.0.3))
+ colortranslator: 5.0.0
+ consola: 3.4.2
+ defu: 6.1.7
+ embla-carousel-auto-height: 8.6.0(embla-carousel@8.6.0)
+ embla-carousel-auto-scroll: 8.6.0(embla-carousel@8.6.0)
+ embla-carousel-autoplay: 8.6.0(embla-carousel@8.6.0)
+ embla-carousel-class-names: 8.6.0(embla-carousel@8.6.0)
+ embla-carousel-fade: 8.6.0(embla-carousel@8.6.0)
+ embla-carousel-vue: 8.6.0(vue@3.5.38(typescript@6.0.3))
+ embla-carousel-wheel-gestures: 8.1.0(embla-carousel@8.6.0)
+ fuse.js: 7.4.2
+ hookable: 6.1.1
+ knitwork: 1.3.0
+ magic-string: 0.30.21
+ mlly: 1.8.2
+ motion-v: 2.2.1(@vueuse/core@14.3.0(vue@3.5.38(typescript@6.0.3)))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vue@3.5.38(typescript@6.0.3))
+ ohash: 2.0.11
+ pathe: 2.0.3
+ reka-ui: 2.9.9(vue@3.5.38(typescript@6.0.3))
+ scule: 1.3.0
+ tailwind-merge: 3.6.0
+ tailwind-variants: 3.2.2(tailwind-merge@3.6.0)(tailwindcss@4.3.1)
+ tailwindcss: 4.3.1
+ tinyglobby: 0.2.17
+ typescript: 6.0.3
+ ufo: 1.6.4
+ unplugin: 3.0.0
+ unplugin-auto-import: 21.0.0(@nuxt/kit@4.4.8(magicast@0.5.3))(@vueuse/core@14.3.0(vue@3.5.38(typescript@6.0.3)))
+ unplugin-vue-components: 32.1.0(@nuxt/kit@4.4.8(magicast@0.5.3))(vue@3.5.38(typescript@6.0.3))
+ vaul-vue: 0.4.1(reka-ui@2.9.9(vue@3.5.38(typescript@6.0.3)))(vue@3.5.38(typescript@6.0.3))
+ vue-component-type-helpers: 3.3.5
+ optionalDependencies:
+ '@internationalized/date': 3.10.0
+ '@internationalized/number': 3.6.5
+ '@nuxt/content': 3.14.0(@valibot/to-json-schema@1.7.0(valibot@1.4.1(typescript@6.0.3)))(better-sqlite3@12.10.1)(magicast@0.5.3)(valibot@1.4.1(typescript@6.0.3))
+ valibot: 1.4.1(typescript@6.0.3)
+ vue-router: 5.1.0(@vue/compiler-sfc@3.5.38)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))
+ zod: 4.4.3
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@emotion/is-prop-valid'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@tiptap/extensions'
+ - '@tiptap/y-tiptap'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - '@vue/composition-api'
+ - async-validator
+ - aws4fetch
+ - axios
+ - change-case
+ - db0
+ - drauu
+ - embla-carousel
+ - focus-trap
+ - idb-keyval
+ - ioredis
+ - jwt-decode
+ - magicast
+ - nprogress
+ - qrcode
+ - react
+ - react-dom
+ - sortablejs
+ - universal-cookie
+ - uploadthing
+ - vite
+ - vue
+ - yjs
+
'@nuxt/ui@4.8.2(f8f2e3c1405a6b228b2f8c28ce4aec5d)':
dependencies:
'@floating-ui/dom': 1.7.6
@@ -15811,6 +16256,65 @@ snapshots:
- vue-tsc
- yaml
+ '@nuxt/vite-builder@4.4.8(6023de011b54921442d816ba1d3e0e2f)':
+ dependencies:
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@rollup/plugin-replace': 6.0.3(rollup@4.62.0)
+ '@vitejs/plugin-vue': 6.0.7(vite@7.3.3(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))
+ '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.3(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))
+ autoprefixer: 10.5.0(postcss@8.5.15)
+ consola: 3.4.2
+ cssnano: 8.0.1(postcss@8.5.15)
+ defu: 6.1.7
+ escape-string-regexp: 5.0.0
+ exsolve: 1.0.8
+ get-port-please: 3.2.0
+ jiti: 2.7.0
+ knitwork: 1.3.0
+ magic-string: 0.30.21
+ mlly: 1.8.2
+ mocked-exports: 0.1.1
+ nuxt: 4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0)
+ nypm: 0.6.6
+ pathe: 2.0.3
+ pkg-types: 2.3.1
+ postcss: 8.5.15
+ seroval: 1.5.4
+ std-env: 4.1.0
+ ufo: 1.6.4
+ unenv: 2.0.0-rc.24
+ vite: 7.3.3(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ vite-node: 5.3.0(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ vite-plugin-checker: 0.14.1(@biomejs/biome@2.5.0)(eslint@9.37.0(jiti@2.7.0))(optionator@0.9.4)(oxlint@1.69.0)(typescript@6.0.3)(vite@7.3.3(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))
+ vue: 3.5.38(typescript@6.0.3)
+ vue-bundle-renderer: 2.2.0
+ optionalDependencies:
+ '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0)
+ rolldown: 1.1.5
+ rollup-plugin-visualizer: 7.0.1(rolldown@1.1.5)(rollup@4.62.0)
+ transitivePeerDependencies:
+ - '@biomejs/biome'
+ - '@types/node'
+ - eslint
+ - less
+ - lightningcss
+ - magicast
+ - meow
+ - optionator
+ - oxlint
+ - rollup
+ - sass
+ - sass-embedded
+ - stylelint
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - typescript
+ - vue-tsc
+ - yaml
+
'@nuxt/vite-builder@4.4.8(f9d7e8687a2666d7d2bf1a5e287e32e3)':
dependencies:
'@nuxt/kit': 4.4.8(magicast@0.3.5)
@@ -15948,6 +16452,67 @@ snapshots:
- vite
- vue
+ '@nuxtjs/i18n@10.4.0(@netlify/blobs@9.1.2)(@vue/compiler-dom@3.5.38)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.3)(rollup@4.62.0)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))':
+ dependencies:
+ '@intlify/core': 11.4.5
+ '@intlify/h3': 0.7.4
+ '@intlify/shared': 11.4.5
+ '@intlify/unplugin-vue-i18n': 11.2.3(@vue/compiler-dom@3.5.38)(eslint@9.37.0(jiti@2.7.0))(rollup@4.62.0)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-i18n@11.4.5(vue@3.5.38(typescript@6.0.3)))(vue@3.5.38(typescript@6.0.3))
+ '@intlify/utils': 0.14.1
+ '@miyaneee/rollup-plugin-json5': 1.2.0(rollup@4.62.0)
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@rollup/plugin-yaml': 4.1.2(rollup@4.62.0)
+ '@vue/compiler-sfc': 3.5.38
+ defu: 6.1.7
+ devalue: 5.8.1
+ h3: 1.15.11
+ knitwork: 1.3.0
+ magic-string: 0.30.21
+ mlly: 1.8.2
+ nuxt-define: 1.0.0
+ oxc-parser: 0.128.0
+ oxc-transform: 0.128.0
+ oxc-walker: 0.7.0(oxc-parser@0.128.0)
+ pathe: 2.0.3
+ ufo: 1.6.4
+ unplugin: 3.0.0
+ unrouting: 0.1.7
+ unstorage: 1.17.5(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)
+ vue-i18n: 11.4.5(vue@3.5.38(typescript@6.0.3))
+ vue-router: 5.1.0(@vue/compiler-sfc@3.5.38)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@pinia/colada'
+ - '@planetscale/database'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - '@vue/compiler-dom'
+ - aws4fetch
+ - db0
+ - eslint
+ - idb-keyval
+ - ioredis
+ - magicast
+ - petite-vue-i18n
+ - pinia
+ - rollup
+ - supports-color
+ - typescript
+ - uploadthing
+ - vite
+ - vue
+ optional: true
+
'@nuxtjs/i18n@10.4.0(@netlify/blobs@9.1.2)(@vue/compiler-dom@3.5.38)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.3)(rollup@4.62.0)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@7.0.2))':
dependencies:
'@intlify/core': 11.4.5
@@ -16176,15 +16741,83 @@ snapshots:
- yjs
- yup
- '@nuxtjs/robots@6.1.1(7692fcf2242693eb779fd143d4d5dd4a)':
+ '@nuxtjs/robots@6.1.1(7692fcf2242693eb779fd143d4d5dd4a)':
+ dependencies:
+ '@fingerprintjs/botd': 2.0.0
+ '@nuxt/kit': 4.4.8(magicast@0.3.5)
+ consola: 3.4.2
+ defu: 6.1.7
+ h3: 1.15.11
+ nuxt-site-config: 4.1.0(7692fcf2242693eb779fd143d4d5dd4a)
+ nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.3.5)(nuxt-site-config@4.1.0(7692fcf2242693eb779fd143d4d5dd4a))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.3.5)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(zod@4.4.3)
+ pathe: 2.0.3
+ pkg-types: 2.3.1
+ ufo: 1.6.4
+ optionalDependencies:
+ zod: 4.4.3
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@emotion/is-prop-valid'
+ - '@inertiajs/vue3'
+ - '@internationalized/date'
+ - '@internationalized/number'
+ - '@netlify/blobs'
+ - '@nuxt/content'
+ - '@nuxt/schema'
+ - '@planetscale/database'
+ - '@tiptap/extensions'
+ - '@tiptap/y-tiptap'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - '@vue/composition-api'
+ - async-validator
+ - aws4fetch
+ - axios
+ - change-case
+ - db0
+ - drauu
+ - embla-carousel
+ - focus-trap
+ - idb-keyval
+ - ioredis
+ - joi
+ - jwt-decode
+ - magicast
+ - nprogress
+ - nuxt
+ - qrcode
+ - react
+ - react-dom
+ - sortablejs
+ - superstruct
+ - typescript
+ - universal-cookie
+ - uploadthing
+ - valibot
+ - vite
+ - vue
+ - vue-router
+ - yjs
+ - yup
+
+ '@nuxtjs/robots@6.1.1(78100481d01616e660021bde77667c60)':
dependencies:
'@fingerprintjs/botd': 2.0.0
- '@nuxt/kit': 4.4.8(magicast@0.3.5)
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
consola: 3.4.2
defu: 6.1.7
h3: 1.15.11
- nuxt-site-config: 4.1.0(7692fcf2242693eb779fd143d4d5dd4a)
- nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.3.5)(nuxt-site-config@4.1.0(7692fcf2242693eb779fd143d4d5dd4a))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.3.5)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(zod@4.4.3)
+ nuxt-site-config: 4.1.0(78100481d01616e660021bde77667c60)
+ nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.5.3)(nuxt-site-config@4.1.0(78100481d01616e660021bde77667c60))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(zod@4.4.3)
pathe: 2.0.3
pkg-types: 2.3.1
ufo: 1.6.4
@@ -16382,6 +17015,76 @@ snapshots:
- yjs
- yup
+ '@nuxtjs/sitemap@8.2.1(78100481d01616e660021bde77667c60)':
+ dependencies:
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ consola: 3.4.2
+ defu: 6.1.7
+ fast-xml-parser: 5.8.0
+ nuxt-site-config: 4.1.0(78100481d01616e660021bde77667c60)
+ nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.5.3)(nuxt-site-config@4.1.0(78100481d01616e660021bde77667c60))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(zod@4.4.3)
+ ofetch: 1.5.1
+ pathe: 2.0.3
+ pkg-types: 2.3.1
+ radix3: 1.1.2
+ ufo: 1.6.4
+ ultrahtml: 1.6.0
+ optionalDependencies:
+ zod: 4.4.3
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@emotion/is-prop-valid'
+ - '@inertiajs/vue3'
+ - '@internationalized/date'
+ - '@internationalized/number'
+ - '@netlify/blobs'
+ - '@nuxt/content'
+ - '@nuxt/schema'
+ - '@planetscale/database'
+ - '@tiptap/extensions'
+ - '@tiptap/y-tiptap'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - '@vue/composition-api'
+ - async-validator
+ - aws4fetch
+ - axios
+ - change-case
+ - db0
+ - drauu
+ - embla-carousel
+ - focus-trap
+ - idb-keyval
+ - ioredis
+ - joi
+ - jwt-decode
+ - magicast
+ - nprogress
+ - nuxt
+ - qrcode
+ - react
+ - react-dom
+ - sortablejs
+ - superstruct
+ - typescript
+ - universal-cookie
+ - uploadthing
+ - valibot
+ - vite
+ - vue
+ - vue-router
+ - yjs
+ - yup
+
'@nuxtjs/supabase@2.0.9':
dependencies:
'@supabase/ssr': 0.10.3(@supabase/supabase-js@2.108.2)
@@ -17704,10 +18407,10 @@ snapshots:
axe-core: 4.11.0
storybook: 10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
- '@storybook/addon-docs@10.4.4(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0))':
+ '@storybook/addon-docs@10.4.4(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0)(lightningcss@1.32.0))':
dependencies:
'@mdx-js/react': 3.1.1(@types/react@19.2.7)(react@19.2.3)
- '@storybook/csf-plugin': 10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0))
+ '@storybook/csf-plugin': 10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0)(lightningcss@1.32.0))
'@storybook/icons': 2.0.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
'@storybook/react-dom-shim': 10.4.4(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))
react: 19.2.3
@@ -17746,9 +18449,9 @@ snapshots:
- react
- react-dom
- '@storybook/builder-vite@10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0))':
+ '@storybook/builder-vite@10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0)(lightningcss@1.32.0))':
dependencies:
- '@storybook/csf-plugin': 10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0))
+ '@storybook/csf-plugin': 10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0)(lightningcss@1.32.0))
storybook: 10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
ts-dedent: 2.2.0
vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
@@ -17757,7 +18460,7 @@ snapshots:
- rollup
- webpack
- '@storybook/csf-plugin@10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0))':
+ '@storybook/csf-plugin@10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0)(lightningcss@1.32.0))':
dependencies:
storybook: 10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
unplugin: 2.3.11
@@ -17765,7 +18468,7 @@ snapshots:
esbuild: 0.28.0
rollup: 4.62.0
vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
- webpack: 5.107.2(esbuild@0.28.0)
+ webpack: 5.107.2(esbuild@0.28.0)(lightningcss@1.32.0)
'@storybook/global@5.0.0': {}
@@ -17783,9 +18486,9 @@ snapshots:
'@types/react': 19.2.7
'@types/react-dom': 19.2.3(@types/react@19.2.7)
- '@storybook/vue3-vite@10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(webpack@5.107.2(esbuild@0.28.0))':
+ '@storybook/vue3-vite@10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(webpack@5.107.2(esbuild@0.28.0)(lightningcss@1.32.0))':
dependencies:
- '@storybook/builder-vite': 10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0))
+ '@storybook/builder-vite': 10.4.4(esbuild@0.28.0)(rollup@4.62.0)(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(webpack@5.107.2(esbuild@0.28.0)(lightningcss@1.32.0))
'@storybook/vue3': 10.4.4(storybook@10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(vue@3.5.38(typescript@6.0.3))
magic-string: 0.30.21
storybook: 10.4.4(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@testing-library/dom@10.4.1)(@types/react@19.2.7)(prettier@3.6.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
@@ -17990,6 +18693,13 @@ snapshots:
postcss: 8.5.15
tailwindcss: 4.3.0
+ '@tailwindcss/vite@4.3.0(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))':
+ dependencies:
+ '@tailwindcss/node': 4.3.0
+ '@tailwindcss/oxide': 4.3.0
+ tailwindcss: 4.3.0
+ vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+
'@tailwindcss/vite@4.3.0(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))':
dependencies:
'@tailwindcss/node': 4.3.0
@@ -18614,6 +19324,41 @@ snapshots:
- react
- react-dom
+ '@uxfront/layer-docs@0.4.1(621c2dd15bb684ce2e20171e022fafd4)':
+ dependencies:
+ '@nuxt/content': 3.14.0(@valibot/to-json-schema@1.7.0(valibot@1.4.1(typescript@6.0.3)))(better-sqlite3@12.10.1)(magicast@0.5.3)(valibot@1.4.1(typescript@6.0.3))
+ '@nuxt/image': 1.11.0(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(magicast@0.5.3)
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@nuxt/scripts': 0.11.13(@netlify/blobs@9.1.2)(@unhead/vue@2.1.15(vue@3.5.38(typescript@6.0.3)))(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(magicast@0.5.3)(typescript@6.0.3)(vue@3.5.38(typescript@6.0.3))
+ '@nuxt/ui': 4.8.2(a3265dd75c3f5d60ceabd50a6b3a994d)
+ '@nuxtjs/robots': 6.1.1(78100481d01616e660021bde77667c60)
+ '@nuxtjs/sitemap': 8.2.1(78100481d01616e660021bde77667c60)
+ '@resvg/resvg-js': 2.6.2
+ '@vueuse/core': 14.3.0(vue@3.5.38(typescript@6.0.3))
+ defu: 6.1.7
+ git-url-parse: 16.1.0
+ minimark: 0.2.0
+ motion-v: 1.7.2(@vueuse/core@14.3.0(vue@3.5.38(typescript@6.0.3)))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(vue@3.5.38(typescript@6.0.3))
+ nuxt: 4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0)
+ nuxt-llms: 0.2.0(magicast@0.5.3)
+ nuxt-og-image: 6.6.0(7ce2bb599d4c87c187fa001f53b0f101)
+ pkg-types: 2.3.1
+ satori: 0.26.0
+ scule: 1.3.0
+ tailwindcss: 4.3.1
+ ufo: 1.6.4
+ vue: 3.5.38(typescript@6.0.3)
+ optionalDependencies:
+ '@nuxtjs/i18n': 10.4.0(@netlify/blobs@9.1.2)(@vue/compiler-dom@3.5.38)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(magicast@0.5.3)(rollup@4.62.0)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))
+ '@nuxtjs/mdc': 0.22.0(magicast@0.5.3)
+ posthog-js: 1.386.6
+ typescript: 6.0.3
+ vitest: 4.1.8(@opentelemetry/api@1.9.0)(@types/node@22.19.21)(@vitest/browser-playwright@4.1.8)(@vitest/coverage-v8@4.1.8)(jsdom@29.1.1)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ transitivePeerDependencies:
+ - '@emotion/is-prop-valid'
+ - react
+ - react-dom
+
'@valibot/to-json-schema@1.7.0(valibot@1.4.1(typescript@6.0.3))':
dependencies:
valibot: 1.4.1(typescript@6.0.3)
@@ -18660,6 +19405,18 @@ snapshots:
- typescript
- utf-8-validate
+ '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.3(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))':
+ dependencies:
+ '@babel/core': 7.29.0
+ '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0)
+ '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0)
+ '@rolldown/pluginutils': 1.0.1
+ '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.0)
+ vite: 7.3.3(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ vue: 3.5.38(typescript@6.0.3)
+ transitivePeerDependencies:
+ - supports-color
+
'@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.3(@types/node@24.10.4)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))':
dependencies:
'@babel/core': 7.29.0
@@ -18684,6 +19441,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@vitejs/plugin-vue@6.0.7(vite@7.3.3(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))':
+ dependencies:
+ '@rolldown/pluginutils': 1.0.1
+ vite: 7.3.3(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ vue: 3.5.38(typescript@6.0.3)
+
'@vitejs/plugin-vue@6.0.7(vite@7.3.3(@types/node@24.10.4)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))':
dependencies:
'@rolldown/pluginutils': 1.0.1
@@ -19250,6 +20013,17 @@ snapshots:
transitivePeerDependencies:
- magicast
+ '@vueuse/nuxt@14.3.0(magicast@0.5.3)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))':
+ dependencies:
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@vueuse/core': 14.3.0(vue@3.5.38(typescript@6.0.3))
+ '@vueuse/metadata': 14.3.0
+ local-pkg: 1.2.1
+ nuxt: 4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0)
+ vue: 3.5.38(typescript@6.0.3)
+ transitivePeerDependencies:
+ - magicast
+
'@vueuse/nuxt@14.3.0(magicast@0.5.3)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.3.5)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))':
dependencies:
'@nuxt/kit': 4.4.8(magicast@0.5.3)
@@ -21115,6 +21889,44 @@ snapshots:
dependencies:
tiny-inflate: 1.0.3
+ fontless@0.2.1(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)):
+ dependencies:
+ consola: 3.4.2
+ css-tree: 3.2.1
+ defu: 6.1.7
+ esbuild: 0.27.7
+ fontaine: 0.8.0
+ jiti: 2.7.0
+ lightningcss: 1.32.0
+ magic-string: 0.30.21
+ ohash: 2.0.11
+ pathe: 2.0.3
+ ufo: 1.6.4
+ unifont: 0.7.4
+ unstorage: 1.17.5(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)
+ optionalDependencies:
+ vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - idb-keyval
+ - ioredis
+ - uploadthing
+
fontless@0.2.1(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)):
dependencies:
consola: 3.4.2
@@ -23185,11 +23997,112 @@ snapshots:
transitivePeerDependencies:
- magicast
- nuxt-og-image@6.6.0(4dac476cfac40399114703153dac4c01):
+ nuxt-og-image@6.6.0(4dac476cfac40399114703153dac4c01):
+ dependencies:
+ '@clack/prompts': 1.5.1
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@unhead/vue': 2.0.19(vue@3.5.38(typescript@6.0.3))
+ '@unocss/config': 66.7.0
+ '@unocss/core': 66.7.0
+ '@vue/compiler-sfc': 3.5.38
+ chrome-launcher: 1.2.1
+ consola: 3.4.2
+ culori: 4.0.2
+ defu: 6.1.7
+ devalue: 5.8.1
+ exsolve: 1.0.8
+ lightningcss: 1.32.0
+ magic-string: 0.30.21
+ magicast: 0.5.3
+ mocked-exports: 0.1.1
+ nuxt-site-config: 4.1.0(8efeebb62188af7c2dc46259b4130d79)
+ nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.5.3)(nuxt-site-config@4.1.0(7692fcf2242693eb779fd143d4d5dd4a))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.3.5)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(zod@4.4.3)
+ nypm: 0.6.6
+ ofetch: 1.5.1
+ ohash: 2.0.11
+ oxc-parser: 0.135.0
+ oxc-walker: 1.0.0(oxc-parser@0.135.0)(rolldown@1.1.5)
+ pathe: 2.0.3
+ pkg-types: 2.3.1
+ radix3: 1.1.2
+ std-env: 4.1.0
+ strip-literal: 3.1.0
+ tinyexec: 1.2.4
+ tinyglobby: 0.2.17
+ ufo: 1.6.4
+ ultrahtml: 1.6.0
+ unplugin: 3.0.0
+ unstorage: 1.17.5(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)
+ optionalDependencies:
+ '@resvg/resvg-js': 2.6.2
+ '@resvg/resvg-wasm': 2.6.2
+ fontless: 0.2.1(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ nitropack: 2.13.4(@netlify/blobs@9.1.2)(better-sqlite3@12.10.1)(oxc-parser@0.135.0)(rolldown@1.1.5)
+ playwright-core: 1.60.0
+ satori: 0.26.0
+ tailwindcss: 4.3.1
+ unifont: 0.7.4
+ zod: 4.4.3
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@emotion/is-prop-valid'
+ - '@inertiajs/vue3'
+ - '@internationalized/date'
+ - '@internationalized/number'
+ - '@netlify/blobs'
+ - '@nuxt/content'
+ - '@nuxt/schema'
+ - '@planetscale/database'
+ - '@tiptap/extensions'
+ - '@tiptap/y-tiptap'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - '@vue/composition-api'
+ - async-validator
+ - aws4fetch
+ - axios
+ - change-case
+ - db0
+ - drauu
+ - embla-carousel
+ - focus-trap
+ - idb-keyval
+ - ioredis
+ - joi
+ - jwt-decode
+ - nprogress
+ - nuxt
+ - qrcode
+ - react
+ - react-dom
+ - rolldown
+ - sortablejs
+ - superstruct
+ - supports-color
+ - typescript
+ - universal-cookie
+ - uploadthing
+ - valibot
+ - vite
+ - vue
+ - vue-router
+ - yjs
+ - yup
+
+ nuxt-og-image@6.6.0(7ce2bb599d4c87c187fa001f53b0f101):
dependencies:
'@clack/prompts': 1.5.1
'@nuxt/kit': 4.4.8(magicast@0.5.3)
- '@unhead/vue': 2.0.19(vue@3.5.38(typescript@6.0.3))
+ '@unhead/vue': 2.1.15(vue@3.5.38(typescript@6.0.3))
'@unocss/config': 66.7.0
'@unocss/core': 66.7.0
'@vue/compiler-sfc': 3.5.38
@@ -23203,8 +24116,8 @@ snapshots:
magic-string: 0.30.21
magicast: 0.5.3
mocked-exports: 0.1.1
- nuxt-site-config: 4.1.0(8efeebb62188af7c2dc46259b4130d79)
- nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.5.3)(nuxt-site-config@4.1.0(7692fcf2242693eb779fd143d4d5dd4a))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.3.5)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(zod@4.4.3)
+ nuxt-site-config: 4.1.0(78100481d01616e660021bde77667c60)
+ nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.5.3)(nuxt-site-config@4.1.0(78100481d01616e660021bde77667c60))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(zod@4.4.3)
nypm: 0.6.6
ofetch: 1.5.1
ohash: 2.0.11
@@ -23224,7 +24137,7 @@ snapshots:
optionalDependencies:
'@resvg/resvg-js': 2.6.2
'@resvg/resvg-wasm': 2.6.2
- fontless: 0.2.1(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ fontless: 0.2.1(@netlify/blobs@9.1.2)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
nitropack: 2.13.4(@netlify/blobs@9.1.2)(better-sqlite3@12.10.1)(oxc-parser@0.135.0)(rolldown@1.1.5)
playwright-core: 1.60.0
satori: 0.26.0
@@ -23652,6 +24565,73 @@ snapshots:
- yup
- zod
+ nuxt-site-config@4.1.0(78100481d01616e660021bde77667c60):
+ dependencies:
+ '@nuxt/devalue': 2.0.2
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ h3: 1.15.11
+ nuxt-site-config-kit: 4.1.0(magicast@0.5.3)(vue@3.5.38(typescript@6.0.3))
+ nuxtseo-layer-devtools: 5.3.0(c014abd0e490f75b17e30f5e8bcfc05c)
+ nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.5.3)(nuxt-site-config@4.1.0(78100481d01616e660021bde77667c60))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(zod@4.4.3)
+ pathe: 2.0.3
+ pkg-types: 2.3.1
+ site-config-stack: 4.1.0(vue@3.5.38(typescript@6.0.3))
+ ufo: 1.6.4
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@emotion/is-prop-valid'
+ - '@inertiajs/vue3'
+ - '@internationalized/date'
+ - '@internationalized/number'
+ - '@netlify/blobs'
+ - '@nuxt/content'
+ - '@nuxt/schema'
+ - '@planetscale/database'
+ - '@tiptap/extensions'
+ - '@tiptap/y-tiptap'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - '@vue/composition-api'
+ - async-validator
+ - aws4fetch
+ - axios
+ - change-case
+ - db0
+ - drauu
+ - embla-carousel
+ - focus-trap
+ - idb-keyval
+ - ioredis
+ - joi
+ - jwt-decode
+ - magicast
+ - nprogress
+ - nuxt
+ - qrcode
+ - react
+ - react-dom
+ - sortablejs
+ - superstruct
+ - typescript
+ - universal-cookie
+ - uploadthing
+ - valibot
+ - vite
+ - vue
+ - vue-router
+ - yjs
+ - yup
+ - zod
+
nuxt-site-config@4.1.0(8efeebb62188af7c2dc46259b4130d79):
dependencies:
'@nuxt/devalue': 2.0.2
@@ -23786,6 +24766,132 @@ snapshots:
- yup
- zod
+ nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0):
+ dependencies:
+ '@dxup/nuxt': 0.4.1(magicast@0.5.3)(typescript@6.0.3)
+ '@nuxt/cli': 3.35.2(@nuxt/schema@4.4.8)(cac@6.7.14)(magicast@0.5.3)
+ '@nuxt/devtools': 3.2.4(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@nuxt/nitro-server': 4.4.8(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@netlify/blobs@9.1.2)(better-sqlite3@12.10.1)(db0@0.3.4(better-sqlite3@12.10.1))(ioredis@5.10.1)(magicast@0.5.3)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(oxc-parser@0.133.0)(rolldown@1.1.5)(typescript@6.0.3)
+ '@nuxt/schema': 4.4.8
+ '@nuxt/telemetry': 2.8.0(@nuxt/kit@4.4.8(magicast@0.5.3))
+ '@nuxt/vite-builder': 4.4.8(6023de011b54921442d816ba1d3e0e2f)
+ '@unhead/vue': 2.1.15(vue@3.5.38(typescript@6.0.3))
+ '@vue/shared': 3.5.38
+ chokidar: 5.0.0
+ compatx: 0.2.0
+ consola: 3.4.2
+ cookie-es: 3.1.1
+ defu: 6.1.7
+ devalue: 5.8.1
+ errx: 0.1.0
+ escape-string-regexp: 5.0.0
+ exsolve: 1.0.8
+ hookable: 6.1.1
+ ignore: 7.0.5
+ impound: 1.1.5
+ jiti: 2.7.0
+ klona: 2.0.6
+ knitwork: 1.3.0
+ magic-string: 0.30.21
+ mlly: 1.8.2
+ nanotar: 0.3.0
+ nypm: 0.6.6
+ ofetch: 1.5.1
+ ohash: 2.0.11
+ on-change: 6.0.2
+ oxc-minify: 0.133.0
+ oxc-parser: 0.133.0
+ oxc-transform: 0.133.0
+ oxc-walker: 1.0.0(oxc-parser@0.133.0)(rolldown@1.1.5)
+ pathe: 2.0.3
+ perfect-debounce: 2.1.0
+ picomatch: 4.0.4
+ pkg-types: 2.3.1
+ rou3: 0.8.1
+ scule: 1.3.0
+ semver: 7.8.1
+ std-env: 4.1.0
+ tinyglobby: 0.2.17
+ ufo: 1.6.4
+ ultrahtml: 1.6.0
+ uncrypto: 0.1.3
+ unctx: 2.5.0
+ unhead: 2.1.15
+ unimport: 6.3.0(oxc-parser@0.133.0)(rolldown@1.1.5)
+ unplugin: 3.0.0
+ unrouting: 0.1.7
+ untyped: 2.0.0
+ vue: 3.5.38(typescript@6.0.3)
+ vue-router: 5.1.0(@vue/compiler-sfc@3.5.38)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))
+ optionalDependencies:
+ '@parcel/watcher': 2.5.6
+ '@types/node': 22.19.21
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@babel/plugin-proposal-decorators'
+ - '@babel/plugin-syntax-jsx'
+ - '@babel/plugin-syntax-typescript'
+ - '@biomejs/biome'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@electric-sql/pglite'
+ - '@libsql/client'
+ - '@netlify/blobs'
+ - '@pinia/colada'
+ - '@planetscale/database'
+ - '@rollup/plugin-babel'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - '@vitejs/devtools'
+ - '@vue/compiler-sfc'
+ - aws4fetch
+ - better-sqlite3
+ - bufferutil
+ - cac
+ - commander
+ - db0
+ - drizzle-orm
+ - encoding
+ - eslint
+ - idb-keyval
+ - ioredis
+ - less
+ - lightningcss
+ - magicast
+ - meow
+ - mysql2
+ - optionator
+ - oxlint
+ - pinia
+ - react-native-b4a
+ - rolldown
+ - rollup
+ - rollup-plugin-visualizer
+ - sass
+ - sass-embedded
+ - sqlite3
+ - stylelint
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - typescript
+ - uploadthing
+ - utf-8-validate
+ - vite
+ - vue-tsc
+ - xml2js
+ - yaml
+
nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.3.5)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0):
dependencies:
'@dxup/nuxt': 0.4.1(magicast@0.3.5)(typescript@6.0.3)
@@ -24032,23 +25138,94 @@ snapshots:
- tsx
- typescript
- uploadthing
- - utf-8-validate
+ - utf-8-validate
+ - vite
+ - vue-tsc
+ - xml2js
+ - yaml
+
+ nuxtseo-layer-devtools@5.3.0(58cb0e5895a3ab2b5962d6e26c8b8c88):
+ dependencies:
+ '@iconify-json/carbon': 1.2.23
+ '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@nuxt/ui': 4.8.2(f8f2e3c1405a6b228b2f8c28ce4aec5d)
+ '@shikijs/langs': 4.2.0
+ '@shikijs/themes': 4.2.0
+ '@vueuse/core': 14.3.0(vue@3.5.38(typescript@7.0.2))
+ '@vueuse/nuxt': 14.3.0(magicast@0.5.3)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@7.0.2))(yaml@2.9.0))(vue@3.5.38(typescript@7.0.2))
+ nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.5.3)(nuxt-site-config@4.1.0(1a24c1d343193a6ee39bcf9988c61136))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@7.0.2))(yaml@2.9.0))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@7.0.2))(zod@4.4.3)
+ ofetch: 1.5.1
+ shiki: 4.2.0
+ tailwindcss: 4.3.1
+ ufo: 1.6.4
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@emotion/is-prop-valid'
+ - '@inertiajs/vue3'
+ - '@internationalized/date'
+ - '@internationalized/number'
+ - '@netlify/blobs'
+ - '@nuxt/content'
+ - '@nuxt/schema'
+ - '@planetscale/database'
+ - '@tiptap/extensions'
+ - '@tiptap/y-tiptap'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - '@vue/composition-api'
+ - async-validator
+ - aws4fetch
+ - axios
+ - change-case
+ - db0
+ - drauu
+ - embla-carousel
+ - focus-trap
+ - idb-keyval
+ - ioredis
+ - joi
+ - jwt-decode
+ - magicast
+ - nprogress
+ - nuxt
+ - nuxt-site-config
+ - qrcode
+ - react
+ - react-dom
+ - sortablejs
+ - superstruct
+ - typescript
+ - universal-cookie
+ - uploadthing
+ - valibot
- vite
- - vue-tsc
- - xml2js
- - yaml
+ - vue
+ - vue-router
+ - yjs
+ - yup
+ - zod
- nuxtseo-layer-devtools@5.3.0(58cb0e5895a3ab2b5962d6e26c8b8c88):
+ nuxtseo-layer-devtools@5.3.0(7b8addb91c55dbf95ce783d0d392b5f0):
dependencies:
'@iconify-json/carbon': 1.2.23
- '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
- '@nuxt/kit': 4.4.8(magicast@0.5.3)
- '@nuxt/ui': 4.8.2(f8f2e3c1405a6b228b2f8c28ce4aec5d)
+ '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.3.5)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ '@nuxt/kit': 4.4.8(magicast@0.3.5)
+ '@nuxt/ui': 4.8.2(@internationalized/date@3.10.0)(@internationalized/number@3.6.5)(@netlify/blobs@9.1.2)(@nuxt/content@3.14.0(@valibot/to-json-schema@1.7.0(valibot@1.4.1(typescript@6.0.3)))(better-sqlite3@12.10.1)(magicast@0.3.5)(valibot@1.4.1(typescript@6.0.3)))(@tiptap/extensions@3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1))(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.7)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(change-case@5.4.4)(db0@0.3.4(better-sqlite3@12.10.1))(embla-carousel@8.6.0)(ioredis@5.10.1)(jwt-decode@4.0.0)(magicast@0.3.5)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.3.1)(typescript@6.0.3)(valibot@1.4.1(typescript@6.0.3))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-router@4.5.1(vue@3.5.38(typescript@6.0.3)))(vue@3.5.38(typescript@6.0.3))(yjs@13.6.30)(zod@4.4.3)
'@shikijs/langs': 4.2.0
'@shikijs/themes': 4.2.0
- '@vueuse/core': 14.3.0(vue@3.5.38(typescript@7.0.2))
- '@vueuse/nuxt': 14.3.0(magicast@0.5.3)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@7.0.2))(yaml@2.9.0))(vue@3.5.38(typescript@7.0.2))
- nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.5.3)(nuxt-site-config@4.1.0(1a24c1d343193a6ee39bcf9988c61136))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@7.0.2))(yaml@2.9.0))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@7.0.2))(zod@4.4.3)
+ '@vueuse/core': 14.3.0(vue@3.5.38(typescript@6.0.3))
+ '@vueuse/nuxt': 14.3.0(magicast@0.3.5)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.3.5)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))
+ nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.3.5)(nuxt-site-config@4.1.0(7692fcf2242693eb779fd143d4d5dd4a))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.3.5)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(zod@4.4.3)
ofetch: 1.5.1
shiki: 4.2.0
tailwindcss: 4.3.1
@@ -24109,17 +25286,17 @@ snapshots:
- yup
- zod
- nuxtseo-layer-devtools@5.3.0(7b8addb91c55dbf95ce783d0d392b5f0):
+ nuxtseo-layer-devtools@5.3.0(873819df0ceece34bf0f079dc56dd93b):
dependencies:
'@iconify-json/carbon': 1.2.23
- '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.3.5)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
- '@nuxt/kit': 4.4.8(magicast@0.3.5)
- '@nuxt/ui': 4.8.2(@internationalized/date@3.10.0)(@internationalized/number@3.6.5)(@netlify/blobs@9.1.2)(@nuxt/content@3.14.0(@valibot/to-json-schema@1.7.0(valibot@1.4.1(typescript@6.0.3)))(better-sqlite3@12.10.1)(magicast@0.3.5)(valibot@1.4.1(typescript@6.0.3)))(@tiptap/extensions@3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1))(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.7)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(change-case@5.4.4)(db0@0.3.4(better-sqlite3@12.10.1))(embla-carousel@8.6.0)(ioredis@5.10.1)(jwt-decode@4.0.0)(magicast@0.3.5)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.3.1)(typescript@6.0.3)(valibot@1.4.1(typescript@6.0.3))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-router@4.5.1(vue@3.5.38(typescript@6.0.3)))(vue@3.5.38(typescript@6.0.3))(yjs@13.6.30)(zod@4.4.3)
+ '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@nuxt/ui': 4.8.2(@internationalized/date@3.10.0)(@internationalized/number@3.6.5)(@netlify/blobs@9.1.2)(@nuxt/content@3.14.0(@valibot/to-json-schema@1.7.0(valibot@1.4.1(typescript@7.0.2)))(better-sqlite3@12.10.1)(magicast@0.5.3)(valibot@1.4.1(typescript@7.0.2)))(@tiptap/extensions@3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1))(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.7)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(change-case@5.4.4)(db0@0.3.4(better-sqlite3@12.10.1))(embla-carousel@8.6.0)(ioredis@5.10.1)(jwt-decode@4.0.0)(magicast@0.5.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.3.1)(typescript@7.0.2)(valibot@1.4.1(typescript@7.0.2))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-router@4.5.1(vue@3.5.38(typescript@7.0.2)))(vue@3.5.38(typescript@7.0.2))(yjs@13.6.30)(zod@4.4.3)
'@shikijs/langs': 4.2.0
'@shikijs/themes': 4.2.0
- '@vueuse/core': 14.3.0(vue@3.5.38(typescript@6.0.3))
- '@vueuse/nuxt': 14.3.0(magicast@0.3.5)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.3.5)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))
- nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.3.5)(nuxt-site-config@4.1.0(7692fcf2242693eb779fd143d4d5dd4a))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.3.5)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(zod@4.4.3)
+ '@vueuse/core': 14.3.0(vue@3.5.38(typescript@7.0.2))
+ '@vueuse/nuxt': 14.3.0(magicast@0.5.3)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@7.0.2))(yaml@2.9.0))(vue@3.5.38(typescript@7.0.2))
+ nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.5.3)(nuxt-site-config@4.1.0(dc1366335de8feb5048e1afddf01bff4))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@7.0.2))(yaml@2.9.0))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@7.0.2))(zod@4.4.3)
ofetch: 1.5.1
shiki: 4.2.0
tailwindcss: 4.3.1
@@ -24180,17 +25357,17 @@ snapshots:
- yup
- zod
- nuxtseo-layer-devtools@5.3.0(873819df0ceece34bf0f079dc56dd93b):
+ nuxtseo-layer-devtools@5.3.0(c014abd0e490f75b17e30f5e8bcfc05c):
dependencies:
'@iconify-json/carbon': 1.2.23
- '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.3)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
'@nuxt/kit': 4.4.8(magicast@0.5.3)
- '@nuxt/ui': 4.8.2(@internationalized/date@3.10.0)(@internationalized/number@3.6.5)(@netlify/blobs@9.1.2)(@nuxt/content@3.14.0(@valibot/to-json-schema@1.7.0(valibot@1.4.1(typescript@7.0.2)))(better-sqlite3@12.10.1)(magicast@0.5.3)(valibot@1.4.1(typescript@7.0.2)))(@tiptap/extensions@3.26.1(@tiptap/core@3.26.1(@tiptap/pm@3.26.1))(@tiptap/pm@3.26.1))(@tiptap/y-tiptap@3.0.3(prosemirror-model@1.25.7)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8)(y-protocols@1.0.7(yjs@13.6.30))(yjs@13.6.30))(change-case@5.4.4)(db0@0.3.4(better-sqlite3@12.10.1))(embla-carousel@8.6.0)(ioredis@5.10.1)(jwt-decode@4.0.0)(magicast@0.5.3)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.3.1)(typescript@7.0.2)(valibot@1.4.1(typescript@7.0.2))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-router@4.5.1(vue@3.5.38(typescript@7.0.2)))(vue@3.5.38(typescript@7.0.2))(yjs@13.6.30)(zod@4.4.3)
+ '@nuxt/ui': 4.8.2(a3265dd75c3f5d60ceabd50a6b3a994d)
'@shikijs/langs': 4.2.0
'@shikijs/themes': 4.2.0
- '@vueuse/core': 14.3.0(vue@3.5.38(typescript@7.0.2))
- '@vueuse/nuxt': 14.3.0(magicast@0.5.3)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@7.0.2))(yaml@2.9.0))(vue@3.5.38(typescript@7.0.2))
- nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.5.3)(nuxt-site-config@4.1.0(dc1366335de8feb5048e1afddf01bff4))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@7.0.2))(yaml@2.9.0))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@7.0.2))(zod@4.4.3)
+ '@vueuse/core': 14.3.0(vue@3.5.38(typescript@6.0.3))
+ '@vueuse/nuxt': 14.3.0(magicast@0.5.3)(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))
+ nuxtseo-shared: 5.3.0(@nuxt/schema@4.4.8)(magicast@0.5.3)(nuxt-site-config@4.1.0(78100481d01616e660021bde77667c60))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(zod@4.4.3)
ofetch: 1.5.1
shiki: 4.2.0
tailwindcss: 4.3.1
@@ -24400,6 +25577,32 @@ snapshots:
- magicast
- vite
+ nuxtseo-shared@5.3.0(@nuxt/schema@4.4.8)(magicast@0.5.3)(nuxt-site-config@4.1.0(78100481d01616e660021bde77667c60))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3))(zod@4.4.3):
+ dependencies:
+ '@clack/prompts': 1.5.1
+ '@nuxt/devtools-kit': 4.0.0-alpha.3(magicast@0.5.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@nuxt/schema': 4.4.8
+ birpc: 4.0.0
+ consola: 3.4.2
+ defu: 6.1.7
+ nuxt: 4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@22.19.21)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@6.0.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3))(yaml@2.9.0)
+ nypm: 0.6.6
+ ofetch: 1.5.1
+ pathe: 2.0.3
+ pkg-types: 2.3.1
+ radix3: 1.1.2
+ sirv: 3.0.2
+ std-env: 4.1.0
+ ufo: 1.6.4
+ vue: 3.5.38(typescript@6.0.3)
+ optionalDependencies:
+ nuxt-site-config: 4.1.0(78100481d01616e660021bde77667c60)
+ zod: 4.4.3
+ transitivePeerDependencies:
+ - magicast
+ - vite
+
nuxtseo-shared@5.3.0(@nuxt/schema@4.4.8)(magicast@0.5.3)(nuxt-site-config@4.1.0(dc1366335de8feb5048e1afddf01bff4))(nuxt@4.4.8(@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0))(@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0))(@biomejs/biome@2.5.0)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.6)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.38)(better-sqlite3@12.10.1)(cac@6.7.14)(db0@0.3.4(better-sqlite3@12.10.1))(eslint@9.37.0(jiti@2.7.0))(ioredis@5.10.1)(lightningcss@1.32.0)(magicast@0.5.3)(optionator@0.9.4)(oxlint@1.69.0)(rolldown@1.1.5)(rollup-plugin-visualizer@7.0.1(rolldown@1.1.5)(rollup@4.62.0))(rollup@4.62.0)(terser@5.44.0)(tsx@4.22.4)(typescript@7.0.2)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@7.0.2))(yaml@2.9.0))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@7.0.2))(zod@4.4.3):
dependencies:
'@clack/prompts': 1.5.1
@@ -26302,6 +27505,18 @@ snapshots:
optionalDependencies:
esbuild: 0.25.10
+ terser-webpack-plugin@5.6.1(esbuild@0.28.0)(lightningcss@1.32.0)(webpack@5.107.2(esbuild@0.28.0)(lightningcss@1.32.0)):
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.31
+ jest-worker: 27.5.1
+ schema-utils: 4.3.3
+ terser: 5.44.0
+ webpack: 5.107.2(esbuild@0.28.0)(lightningcss@1.32.0)
+ optionalDependencies:
+ esbuild: 0.28.0
+ lightningcss: 1.32.0
+ optional: true
+
terser-webpack-plugin@5.6.1(esbuild@0.28.0)(webpack@5.107.2(esbuild@0.28.0)):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
@@ -26715,6 +27930,18 @@ snapshots:
'@nuxt/kit': 4.4.8(magicast@0.3.5)
'@vueuse/core': 14.3.0(vue@3.5.38(typescript@6.0.3))
+ unplugin-auto-import@21.0.0(@nuxt/kit@4.4.8(magicast@0.5.3))(@vueuse/core@14.3.0(vue@3.5.38(typescript@6.0.3))):
+ dependencies:
+ local-pkg: 1.2.1
+ magic-string: 0.30.21
+ picomatch: 4.0.4
+ unimport: 5.7.0
+ unplugin: 2.3.11
+ unplugin-utils: 0.3.1
+ optionalDependencies:
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ '@vueuse/core': 14.3.0(vue@3.5.38(typescript@6.0.3))
+
unplugin-auto-import@21.0.0(@nuxt/kit@4.4.8(magicast@0.5.3))(@vueuse/core@14.3.0(vue@3.5.38(typescript@7.0.2))):
dependencies:
local-pkg: 1.2.1
@@ -26790,6 +28017,21 @@ snapshots:
optionalDependencies:
'@nuxt/kit': 4.4.8(magicast@0.3.5)
+ unplugin-vue-components@32.1.0(@nuxt/kit@4.4.8(magicast@0.5.3))(vue@3.5.38(typescript@6.0.3)):
+ dependencies:
+ chokidar: 5.0.0
+ local-pkg: 1.2.1
+ magic-string: 0.30.21
+ mlly: 1.8.2
+ obug: 2.1.1
+ picomatch: 4.0.4
+ tinyglobby: 0.2.17
+ unplugin: 3.0.0
+ unplugin-utils: 0.3.1
+ vue: 3.5.38(typescript@6.0.3)
+ optionalDependencies:
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+
unplugin-vue-components@32.1.0(@nuxt/kit@4.4.8(magicast@0.5.3))(vue@3.5.38(typescript@7.0.2)):
dependencies:
chokidar: 5.0.0
@@ -26934,12 +28176,22 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.3
+ vite-dev-rpc@1.1.0(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)):
+ dependencies:
+ birpc: 2.6.1
+ vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ vite-hot-client: 2.1.0(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+
vite-dev-rpc@1.1.0(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)):
dependencies:
birpc: 2.6.1
vite: 8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
vite-hot-client: 2.1.0(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ vite-hot-client@2.1.0(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)):
+ dependencies:
+ vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+
vite-hot-client@2.1.0(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)):
dependencies:
vite: 8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
@@ -26966,6 +28218,26 @@ snapshots:
- yaml
optional: true
+ vite-node@5.3.0(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0):
+ dependencies:
+ cac: 6.7.14
+ es-module-lexer: 2.1.0
+ obug: 2.1.1
+ pathe: 2.0.3
+ vite: 7.3.3(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ transitivePeerDependencies:
+ - '@types/node'
+ - jiti
+ - less
+ - lightningcss
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - terser
+ - tsx
+ - yaml
+
vite-node@5.3.0(@types/node@24.10.4)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0):
dependencies:
cac: 6.7.14
@@ -26986,6 +28258,24 @@ snapshots:
- tsx
- yaml
+ vite-plugin-checker@0.14.1(@biomejs/biome@2.5.0)(eslint@9.37.0(jiti@2.7.0))(optionator@0.9.4)(oxlint@1.69.0)(typescript@6.0.3)(vite@7.3.3(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3)):
+ dependencies:
+ '@babel/code-frame': 7.29.0
+ chokidar: 5.0.0
+ npm-run-path: 6.0.0
+ picocolors: 1.1.1
+ picomatch: 4.0.4
+ proper-lockfile: 4.1.2
+ tiny-invariant: 1.3.3
+ vite: 7.3.3(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ optionalDependencies:
+ '@biomejs/biome': 2.5.0
+ eslint: 9.37.0(jiti@2.7.0)
+ optionator: 0.9.4
+ oxlint: 1.69.0
+ typescript: 6.0.3
+ vue-tsc: 3.3.5(typescript@6.0.3)
+
vite-plugin-checker@0.14.1(@biomejs/biome@2.5.0)(eslint@9.37.0(jiti@2.7.0))(optionator@0.9.4)(oxlint@1.69.0)(typescript@6.0.3)(vite@7.3.3(@types/node@24.10.4)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue-tsc@3.3.5(typescript@6.0.3)):
dependencies:
'@babel/code-frame': 7.29.0
@@ -27055,6 +28345,23 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ vite-plugin-inspect@11.3.3(@nuxt/kit@4.4.8(magicast@0.5.3))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)):
+ dependencies:
+ ansis: 4.3.1
+ debug: 4.4.3(supports-color@5.5.0)
+ error-stack-parser-es: 1.0.5
+ ohash: 2.0.11
+ open: 10.2.0
+ perfect-debounce: 2.1.0
+ sirv: 3.0.2
+ unplugin-utils: 0.3.1
+ vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ vite-dev-rpc: 1.1.0(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))
+ optionalDependencies:
+ '@nuxt/kit': 4.4.8(magicast@0.5.3)
+ transitivePeerDependencies:
+ - supports-color
+
vite-plugin-inspect@11.3.3(@nuxt/kit@4.4.8(magicast@0.5.3))(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)):
dependencies:
ansis: 4.3.1
@@ -27107,6 +28414,16 @@ snapshots:
optionalDependencies:
rollup: 4.62.0
+ vite-plugin-vue-tracer@1.4.0(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3)):
+ dependencies:
+ estree-walker: 3.0.3
+ exsolve: 1.0.8
+ magic-string: 0.30.21
+ pathe: 2.0.3
+ source-map-js: 1.2.1
+ vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+ vue: 3.5.38(typescript@6.0.3)
+
vite-plugin-vue-tracer@1.4.0(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3)):
dependencies:
estree-walker: 3.0.3
@@ -27127,6 +28444,23 @@ snapshots:
vite: 8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
vue: 3.5.38(typescript@7.0.2)
+ vite@7.3.3(@types/node@22.19.21)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0):
+ dependencies:
+ esbuild: 0.27.7
+ fdir: 6.5.0(picomatch@4.0.4)
+ picomatch: 4.0.4
+ postcss: 8.5.15
+ rollup: 4.62.0
+ tinyglobby: 0.2.17
+ optionalDependencies:
+ '@types/node': 22.19.21
+ fsevents: 2.3.3
+ jiti: 2.7.0
+ lightningcss: 1.32.0
+ terser: 5.44.0
+ tsx: 4.22.4
+ yaml: 2.9.0
+
vite@7.3.3(@types/node@24.10.4)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0):
dependencies:
esbuild: 0.27.7
@@ -27526,6 +28860,30 @@ snapshots:
'@vue/devtools-api': 6.6.4
vue: 3.5.38(typescript@7.0.2)
+ vue-router@5.1.0(@vue/compiler-sfc@3.5.38)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3)):
+ dependencies:
+ '@babel/generator': 8.0.0-rc.6
+ '@vue-macros/common': 3.1.2(vue@3.5.38(typescript@6.0.3))
+ '@vue/devtools-api': 8.1.2
+ ast-walker-scope: 0.9.0
+ chokidar: 5.0.0
+ json5: 2.2.3
+ local-pkg: 1.2.1
+ magic-string: 0.30.21
+ mlly: 1.8.2
+ muggle-string: 0.4.1
+ pathe: 2.0.3
+ picomatch: 4.0.4
+ scule: 1.3.0
+ tinyglobby: 0.2.17
+ unplugin: 3.0.0
+ unplugin-utils: 0.3.1
+ vue: 3.5.38(typescript@6.0.3)
+ yaml: 2.9.0
+ optionalDependencies:
+ '@vue/compiler-sfc': 3.5.38
+ vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0)
+
vue-router@5.1.0(@vue/compiler-sfc@3.5.38)(vite@8.0.16(@types/node@24.10.4)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.44.0)(tsx@4.22.4)(yaml@2.9.0))(vue@3.5.38(typescript@6.0.3)):
dependencies:
'@babel/generator': 8.0.0-rc.6
@@ -27714,6 +29072,46 @@ snapshots:
- uglify-js
optional: true
+ webpack@5.107.2(esbuild@0.28.0)(lightningcss@1.32.0):
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/json-schema': 7.0.15
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/wasm-edit': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+ acorn: 8.16.0
+ acorn-import-phases: 1.0.4(acorn@8.16.0)
+ browserslist: 4.28.2
+ chrome-trace-event: 1.0.4
+ enhanced-resolve: 5.22.0
+ es-module-lexer: 2.1.0
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ loader-runner: 4.3.2
+ mime-db: 1.54.0
+ neo-async: 2.6.2
+ schema-utils: 4.3.3
+ tapable: 2.3.3
+ terser-webpack-plugin: 5.6.1(esbuild@0.28.0)(lightningcss@1.32.0)(webpack@5.107.2(esbuild@0.28.0)(lightningcss@1.32.0))
+ watchpack: 2.5.2
+ webpack-sources: 3.5.0
+ transitivePeerDependencies:
+ - '@minify-html/node'
+ - '@swc/core'
+ - '@swc/css'
+ - '@swc/html'
+ - clean-css
+ - cssnano
+ - csso
+ - esbuild
+ - html-minifier-terser
+ - lightningcss
+ - postcss
+ - uglify-js
+ optional: true
+
whatwg-encoding@3.1.1:
dependencies:
iconv-lite: 0.6.3