srcdev-nuxt-components 9.6.18 → 9.6.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/rules/consumer/css-relative-colour-calc.md +15 -0
- package/.claude/rules/consumer/ids-from-useid.md +3 -2
- package/.claude/rules/consumer/vue-dynamic-arg-no-spaces.md +16 -0
- package/.claude/skills/component-compliance-checklist.md +11 -1
- package/.claude/skills/component-dynamic-slots.md +2 -2
- package/.claude/skills/component-naming.md +1 -1
- package/.claude/skills/components/accordion-chat.md +99 -0
- package/.claude/skills/components/accordion-group.md +98 -0
- package/.claude/skills/components/action-menu.md +11 -5
- package/.claude/skills/components/auto-grid.md +3 -1
- package/.claude/skills/components/capture-qr-code.md +9 -5
- package/.claude/skills/components/carousel-flip.md +41 -30
- package/.claude/skills/components/column-flow-grid.md +2 -0
- package/.claude/skills/components/dashboard-quad-grid.md +7 -2
- package/.claude/skills/components/dashboard-stats-grid.md +4 -0
- package/.claude/skills/components/decode-qr-code.md +7 -2
- package/.claude/skills/components/deep-expanding-menu-classic.md +31 -30
- package/.claude/skills/components/deep-expanding-menu.md +22 -21
- package/.claude/skills/components/expanding-panel-classic.md +9 -7
- package/.claude/skills/components/expanding-panel.md +9 -8
- package/.claude/skills/components/grid-stack.md +2 -0
- package/.claude/skills/components/layout-grid-by-cols.md +2 -0
- package/.claude/skills/components/masonry-grid.md +9 -1
- package/.claude/skills/components/page-row.md +3 -0
- package/.claude/skills/components/samaritan-prompt.md +24 -8
- package/.claude/skills/components/site-header.md +16 -2
- package/.claude/skills/components/sparkle-effect.md +79 -0
- package/.claude/skills/index.md +16 -14
- package/.claude/skills/storybook-add-story.md +33 -0
- package/.claude/skills/testing-add-unit-test.md +26 -0
- package/.claude/skills/using-component-skills.md +1 -1
- package/.vscode/srcdev-component-accordion-chat.code-snippets +42 -0
- package/.vscode/srcdev-component-accordion-group.code-snippets +38 -0
- package/.vscode/srcdev-component-action-menu.code-snippets +3 -3
- package/.vscode/srcdev-component-capture-decode-qr-code.code-snippets +11 -2
- package/.vscode/srcdev-component-carousel-flip.code-snippets +22 -4
- package/.vscode/srcdev-component-deep-expanding-menu-classic.code-snippets +32 -2
- package/.vscode/srcdev-component-deep-expanding-menu.code-snippets +31 -1
- package/.vscode/srcdev-component-samaritan-prompt.code-snippets +5 -4
- package/.vscode/srcdev-component-site-header.code-snippets +13 -1
- package/.vscode/srcdev-component-sparkle-effect.code-snippets +33 -0
- package/app/components/01.atoms/animations/sparkle-effect/CONSUMER-STYLING.md +75 -0
- package/app/components/01.atoms/animations/sparkle-effect/SparkleEffect.vue +213 -0
- package/app/components/01.atoms/animations/sparkle-effect/stories/SparkleEffect.stories.ts +303 -0
- package/app/components/01.atoms/animations/sparkle-effect/tests/SparkleEffect.spec.ts +150 -0
- package/app/components/01.atoms/content-wrappers/docs-pages/ContentDocs.vue +1 -1
- package/app/components/01.atoms/content-wrappers/layout-grid/dashboard-quad-grid/CONSUMER-STYLING.md +12 -2
- package/app/components/01.atoms/content-wrappers/layout-grid/dashboard-quad-grid/DashboardQuadGrid.vue +19 -17
- package/app/components/01.atoms/content-wrappers/layout-grid/dashboard-quad-grid/stories/DashboardQuadGrid.stories.ts +42 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/dashboard-quad-grid/tests/DashboardQuadGrid.spec.ts +31 -44
- package/app/components/01.atoms/content-wrappers/layout-grid/dashboard-stats-grid/CONSUMER-STYLING.md +13 -1
- package/app/components/01.atoms/content-wrappers/layout-grid/dashboard-stats-grid/DashboardStatsGrid.vue +40 -31
- package/app/components/01.atoms/content-wrappers/layout-grid/dashboard-stats-grid/stories/DashboardStatsGrid.stories.ts +47 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/dashboard-stats-grid/tests/DashboardStatsGrid.spec.ts +51 -53
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-cols/CONSUMER-STYLING.md +3 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-cols/LayoutGridByCols.vue +4 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-cols/stories/LayoutGridByCols.stories.ts +47 -2
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-cols/tests/LayoutGridByCols.spec.ts +36 -23
- package/app/components/01.atoms/grids/auto-grid/AutoGrid.vue +7 -3
- package/app/components/01.atoms/grids/auto-grid/CONSUMER-STYLING.md +1 -1
- package/app/components/01.atoms/grids/auto-grid/stories/AutoGrid.stories.ts +46 -1
- package/app/components/01.atoms/grids/auto-grid/tests/AutoGrid.spec.ts +40 -27
- package/app/components/01.atoms/grids/auto-grid/tests/__snapshots__/AutoGrid.spec.ts.snap +1 -1
- package/app/components/01.atoms/grids/column-flow-grid/CONSUMER-STYLING.md +9 -0
- package/app/components/01.atoms/grids/column-flow-grid/ColumnFlowGrid.vue +3 -2
- package/app/components/01.atoms/grids/column-flow-grid/stories/ColumnFlowGrid.stories.ts +46 -0
- package/app/components/01.atoms/grids/column-flow-grid/tests/ColumnFlowGrid.spec.ts +24 -11
- package/app/components/01.atoms/grids/grid-stack/CONSUMER-STYLING.md +3 -0
- package/app/components/01.atoms/grids/grid-stack/GridStack.vue +2 -0
- package/app/components/01.atoms/grids/grid-stack/stories/GridStack.stories.ts +41 -0
- package/app/components/01.atoms/grids/grid-stack/tests/GridStack.spec.ts +26 -13
- package/app/components/01.atoms/grids/masonry-grid/CONSUMER-STYLING.md +15 -0
- package/app/components/01.atoms/grids/masonry-grid/MasonryGrid.vue +51 -31
- package/app/components/01.atoms/grids/masonry-grid/stories/MasonryGrid.stories.ts +48 -0
- package/app/components/01.atoms/grids/masonry-grid/tests/MasonryGrid.spec.ts +84 -29
- package/app/components/01.atoms/page-row/CONSUMER-STYLING.md +6 -1
- package/app/components/01.atoms/page-row/PageRow.vue +16 -15
- package/app/components/01.atoms/page-row/stories/PageRow.stories.ts +23 -0
- package/app/components/01.atoms/page-row/tests/PageRow.spec.ts +6 -5
- package/app/components/02.molecules/action-menu/ActionMenu.vue +6 -2
- package/app/components/02.molecules/action-menu/ActionMenuItem.vue +6 -3
- package/app/components/02.molecules/action-menu/CONSUMER-STYLING.md +11 -4
- package/app/components/02.molecules/action-menu/stories/ActionMenu.stories.ts +130 -18
- package/app/components/02.molecules/expandable/accordion-chat/AccordionChat.vue +227 -0
- package/app/components/02.molecules/expandable/accordion-chat/CONSUMER-STYLING.md +150 -0
- package/app/components/02.molecules/expandable/accordion-chat/stories/AccordionChat.stories.ts +347 -0
- package/app/components/02.molecules/expandable/accordion-chat/tests/AccordionChat.spec.ts +205 -0
- package/app/components/02.molecules/expandable/accordion-chat/tests/__snapshots__/AccordionChat.spec.ts.snap +40 -0
- package/app/components/02.molecules/expandable/{accordian/AccordianCore.vue → accordion-group/AccordionGroup.vue} +32 -20
- package/app/components/02.molecules/expandable/accordion-group/CONSUMER-STYLING.md +66 -0
- package/app/components/02.molecules/expandable/accordion-group/stories/AccordionGroup.stories.ts +238 -0
- package/app/components/02.molecules/expandable/accordion-group/tests/AccordionGroup.spec.ts +172 -0
- package/app/components/02.molecules/expandable/accordion-group/tests/__snapshots__/AccordionGroup.spec.ts.snap +45 -0
- package/app/components/02.molecules/expandable/expanding-panel/CONSUMER-STYLING.md +1 -0
- package/app/components/02.molecules/expandable/expanding-panel/ExpandingPanel.vue +11 -6
- package/app/components/02.molecules/expandable/expanding-panel/stories/ExpandingPanel.stories.ts +82 -1
- package/app/components/02.molecules/expandable/expanding-panel/tests/ExpandingPanel.spec.ts +24 -30
- package/app/components/02.molecules/expandable/expanding-panel/tests/__snapshots__/ExpandingPanel.spec.ts.snap +8 -8
- package/app/components/02.molecules/expandable/expanding-panel-classic/CONSUMER-STYLING.md +1 -0
- package/app/components/02.molecules/expandable/expanding-panel-classic/ExpandingPanelClassic.vue +10 -5
- package/app/components/02.molecules/expandable/expanding-panel-classic/stories/ExpandingPanelClassic.stories.ts +83 -1
- package/app/components/02.molecules/expandable/expanding-panel-classic/tests/ExpandingPanelClassic.spec.ts +24 -30
- package/app/components/02.molecules/expandable/expanding-panel-classic/tests/__snapshots__/ExpandingPanelClassic.spec.ts.snap +8 -8
- package/app/components/02.molecules/navigation/deep-expanding-menu/CONSUMER-STYLING.md +63 -44
- package/app/components/02.molecules/navigation/deep-expanding-menu/DeepExpandingMenu.vue +74 -37
- package/app/components/02.molecules/navigation/deep-expanding-menu/stories/DeepExpandingMenu.stories.ts +139 -19
- package/app/components/02.molecules/navigation/deep-expanding-menu/tests/DeepExpandingMenu.spec.ts +90 -27
- package/app/components/02.molecules/navigation/deep-expanding-menu/tests/__snapshots__/DeepExpandingMenu.spec.ts.snap +8 -8
- package/app/components/02.molecules/navigation/deep-expanding-menu-classic/CONSUMER-STYLING.md +58 -26
- package/app/components/02.molecules/navigation/deep-expanding-menu-classic/DeepExpandingMenuClassic.vue +113 -57
- package/app/components/02.molecules/navigation/deep-expanding-menu-classic/stories/DeepExpandingMenuClassic.stories.ts +139 -19
- package/app/components/02.molecules/navigation/deep-expanding-menu-classic/tests/DeepExpandingMenuClassic.spec.ts +140 -22
- package/app/components/02.molecules/navigation/deep-expanding-menu-classic/tests/__snapshots__/DeepExpandingMenuClassic.spec.ts.snap +9 -9
- package/app/components/02.molecules/qr-code/CONSUMER-STYLING.md +22 -7
- package/app/components/02.molecules/qr-code/CaptureQrCode.vue +63 -71
- package/app/components/02.molecules/qr-code/DecodeQrCode.vue +47 -10
- package/app/components/02.molecules/qr-code/stories/CaptureQrCode.stories.ts +114 -26
- package/app/components/02.molecules/qr-code/stories/DecodeQrCode.stories.ts +115 -24
- package/app/components/02.molecules/qr-code/tests/CaptureQrCode.spec.ts +124 -51
- package/app/components/02.molecules/qr-code/tests/DecodeQrCode.spec.ts +74 -25
- package/app/components/02.molecules/samaritan-prompt/CONSUMER-STYLING.md +22 -10
- package/app/components/02.molecules/samaritan-prompt/SamaritanPrompt.vue +30 -12
- package/app/components/02.molecules/samaritan-prompt/SamaritanPromptMixed.vue +34 -10
- package/app/components/02.molecules/samaritan-prompt/stories/SamaritanPrompt.stories.ts +55 -4
- package/app/components/02.molecules/samaritan-prompt/stories/SamaritanPromptMixed.stories.ts +67 -7
- package/app/components/02.molecules/samaritan-prompt/tests/SamaritanPrompt.spec.ts +113 -29
- package/app/components/02.molecules/samaritan-prompt/tests/SamaritanPromptMixed.spec.ts +92 -45
- package/app/components/03.organisms/image-galleries/carousel-flip/CONSUMER-STYLING.md +82 -29
- package/app/components/03.organisms/image-galleries/carousel-flip/CarouselFlip.vue +176 -113
- package/app/components/03.organisms/image-galleries/carousel-flip/stories/CarouselFlip.stories.ts +153 -23
- package/app/components/03.organisms/image-galleries/carousel-flip/tests/CarouselFlip.spec.ts +119 -63
- package/app/components/03.organisms/responsive-header/tests/__snapshots__/NavigationItems.spec.ts.snap +2 -2
- package/app/components/03.organisms/responsive-header/tests/__snapshots__/ResponsiveHeader.spec.ts.snap +2 -2
- package/app/components/03.organisms/services/service-detail/tests/ServiceDetail.spec.ts +8 -8
- package/app/components/03.organisms/services/service-detail/tests/__snapshots__/ServiceDetail.spec.ts.snap +4 -4
- package/app/components/03.organisms/site-header/CONSUMER-STYLING.md +41 -23
- package/app/components/03.organisms/site-header/SiteHeader.vue +16 -21
- package/app/components/03.organisms/site-header/stories/SiteHeader.stories.ts +138 -0
- package/app/components/03.organisms/site-header/tests/SiteHeader.spec.ts +53 -26
- package/app/components/03.organisms/site-header/tests/__snapshots__/SiteHeader.spec.ts.snap +2 -2
- package/app/types/components/qr-code.d.ts +12 -0
- package/app/utils/graphemes.ts +8 -0
- package/package.json +1 -1
- package/.claude/skills/components/accordian-core.md +0 -180
- package/.vscode/srcdev-component-accordian-core.code-snippets +0 -74
- package/app/components/01.atoms/animations/entry/.nuxt/app.config.mjs +0 -21
- package/app/components/01.atoms/animations/entry/.nuxt/components.d.ts +0 -66
- package/app/components/01.atoms/animations/entry/.nuxt/imports.d.ts +0 -30
- package/app/components/01.atoms/animations/entry/.nuxt/manifest/meta/test.json +0 -1
- package/app/components/01.atoms/animations/entry/.nuxt/types/app.config.d.ts +0 -35
- package/app/components/01.atoms/animations/entry/.nuxt/types/build.d.ts +0 -23
- package/app/components/01.atoms/animations/entry/.nuxt/types/builder-env.d.ts +0 -1
- package/app/components/01.atoms/animations/entry/.nuxt/types/components.d.ts +0 -71
- package/app/components/01.atoms/animations/entry/.nuxt/types/imports.d.ts +0 -386
- package/app/components/01.atoms/animations/entry/.nuxt/types/middleware.d.ts +0 -11
- package/app/components/01.atoms/animations/entry/.nuxt/types/modules.d.ts +0 -79
- package/app/components/01.atoms/animations/entry/.nuxt/types/nitro-layouts.d.ts +0 -17
- package/app/components/01.atoms/animations/entry/.nuxt/types/nitro-nuxt.d.ts +0 -64
- package/app/components/01.atoms/animations/entry/.nuxt/types/plugins.d.ts +0 -29
- package/app/components/01.atoms/animations/entry/.nuxt/types/runtime-config.d.ts +0 -32
- package/app/components/01.atoms/animations/entry/.nuxt/types/shared-imports.d.ts +0 -10
- package/app/components/01.atoms/animations/entry/.nuxt/types/vue-shim.d.ts +0 -0
- package/app/components/01.atoms/animations/entry/.nuxtrc +0 -1
- package/app/components/01.atoms/animations/entry/node_modules/.cache/nuxt/chrome-workspace.json +0 -1
- package/app/components/01.atoms/animations/entry/node_modules/.cache/vite/client/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/app/components/02.molecules/expandable/accordian/CONSUMER-STYLING.md +0 -100
- package/app/components/02.molecules/expandable/accordian/stories/AccordianCore.stories.ts +0 -272
- package/app/components/02.molecules/expandable/accordian/tests/AccordianCore.spec.ts +0 -257
- package/app/components/02.molecules/expandable/accordian/tests/__snapshots__/AccordianCore.spec.ts.snap +0 -95
- package/app/components/03.organisms/responsive-header/tests/.nuxt/app.config.mjs +0 -21
- package/app/components/03.organisms/responsive-header/tests/.nuxt/components.d.ts +0 -66
- package/app/components/03.organisms/responsive-header/tests/.nuxt/imports.d.ts +0 -30
- package/app/components/03.organisms/responsive-header/tests/.nuxt/manifest/meta/test.json +0 -1
- package/app/components/03.organisms/responsive-header/tests/.nuxt/types/app.config.d.ts +0 -35
- package/app/components/03.organisms/responsive-header/tests/.nuxt/types/build.d.ts +0 -23
- package/app/components/03.organisms/responsive-header/tests/.nuxt/types/builder-env.d.ts +0 -1
- package/app/components/03.organisms/responsive-header/tests/.nuxt/types/components.d.ts +0 -71
- package/app/components/03.organisms/responsive-header/tests/.nuxt/types/imports.d.ts +0 -386
- package/app/components/03.organisms/responsive-header/tests/.nuxt/types/middleware.d.ts +0 -11
- package/app/components/03.organisms/responsive-header/tests/.nuxt/types/modules.d.ts +0 -79
- package/app/components/03.organisms/responsive-header/tests/.nuxt/types/nitro-layouts.d.ts +0 -17
- package/app/components/03.organisms/responsive-header/tests/.nuxt/types/nitro-nuxt.d.ts +0 -64
- package/app/components/03.organisms/responsive-header/tests/.nuxt/types/plugins.d.ts +0 -29
- package/app/components/03.organisms/responsive-header/tests/.nuxt/types/runtime-config.d.ts +0 -32
- package/app/components/03.organisms/responsive-header/tests/.nuxt/types/shared-imports.d.ts +0 -10
- package/app/components/03.organisms/responsive-header/tests/.nuxt/types/vue-shim.d.ts +0 -0
- package/app/components/03.organisms/responsive-header/tests/node_modules/.cache/nuxt/chrome-workspace.json +0 -1
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { mountSuspended } from "@nuxt/test-utils/runtime";
|
|
3
|
-
import AccordianCore from "../AccordianCore.vue";
|
|
4
|
-
import type { ComponentPublicInstance } from "vue";
|
|
5
|
-
|
|
6
|
-
interface AccordianCoreInstance extends ComponentPublicInstance {
|
|
7
|
-
animationDurationStr: string;
|
|
8
|
-
name: string | undefined;
|
|
9
|
-
itemCount: number;
|
|
10
|
-
animationDuration: number;
|
|
11
|
-
variant: "modern" | "classic";
|
|
12
|
-
styleClassPassthrough: string | string[];
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
describe("AccordianCore", () => {
|
|
16
|
-
// ─── Mount ───────────────────────────────────────────────────────────────
|
|
17
|
-
|
|
18
|
-
it("mounts without error", async () => {
|
|
19
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
20
|
-
props: { itemCount: 3 },
|
|
21
|
-
});
|
|
22
|
-
expect(wrapper.vm).toBeTruthy();
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
// ─── Snapshots ───────────────────────────────────────────────────────────
|
|
26
|
-
|
|
27
|
-
it("renders correct HTML structure with default props", async () => {
|
|
28
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
29
|
-
props: { itemCount: 2 },
|
|
30
|
-
});
|
|
31
|
-
expect(wrapper.html()).toMatchSnapshot();
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
it("renders correct HTML structure with all props set", async () => {
|
|
35
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
36
|
-
props: {
|
|
37
|
-
itemCount: 3,
|
|
38
|
-
name: "snapshot-accordian",
|
|
39
|
-
animationDuration: 500,
|
|
40
|
-
styleClassPassthrough: ["extra-class"],
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
expect(wrapper.html()).toMatchSnapshot();
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
it("renders correct HTML structure with populated slots", async () => {
|
|
47
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
48
|
-
props: { itemCount: 2 },
|
|
49
|
-
slots: {
|
|
50
|
-
"accordian-0-summary": "<span>Summary 0</span>",
|
|
51
|
-
"accordian-0-icon": "<span>Icon 0</span>",
|
|
52
|
-
"accordian-0-content": "<span>Content 0</span>",
|
|
53
|
-
"accordian-1-summary": "<span>Summary 1</span>",
|
|
54
|
-
"accordian-1-icon": "<span>Icon 1</span>",
|
|
55
|
-
"accordian-1-content": "<span>Content 1</span>",
|
|
56
|
-
},
|
|
57
|
-
});
|
|
58
|
-
expect(wrapper.html()).toMatchSnapshot();
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
it("renders correctly with zero items", async () => {
|
|
62
|
-
const wrapper = await mountSuspended(AccordianCore);
|
|
63
|
-
expect(wrapper.html()).toMatchSnapshot();
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
// ─── Root element ─────────────────────────────────────────────────────────
|
|
67
|
-
|
|
68
|
-
it("renders the root .display-accordian element", async () => {
|
|
69
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
70
|
-
props: { itemCount: 1 },
|
|
71
|
-
});
|
|
72
|
-
expect(wrapper.find(".display-accordian").exists()).toBe(true);
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
// ─── Item count ───────────────────────────────────────────────────────────
|
|
76
|
-
|
|
77
|
-
it("renders the correct number of panel components", async () => {
|
|
78
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
79
|
-
props: { itemCount: 4 },
|
|
80
|
-
});
|
|
81
|
-
expect(wrapper.findAll(".accordian-item")).toHaveLength(4);
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
it("renders no ExpandingPanel components when itemCount is 0", async () => {
|
|
85
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
86
|
-
props: { itemCount: 0 },
|
|
87
|
-
});
|
|
88
|
-
expect(wrapper.findAllComponents({ name: "ExpandingPanel" })).toHaveLength(0);
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
it("renders no ExpandingPanel components when itemCount is omitted", async () => {
|
|
92
|
-
const wrapper = await mountSuspended(AccordianCore);
|
|
93
|
-
expect(wrapper.findAllComponents({ name: "ExpandingPanel" })).toHaveLength(0);
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
// ─── variant ──────────────────────────────────────────────────────────────
|
|
97
|
-
|
|
98
|
-
it("renders ExpandingPanelClassic by default (variant: classic)", async () => {
|
|
99
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
100
|
-
props: { itemCount: 2 },
|
|
101
|
-
});
|
|
102
|
-
expect(wrapper.findAllComponents({ name: "ExpandingPanelClassic" })).toHaveLength(2);
|
|
103
|
-
expect(wrapper.findAllComponents({ name: "ExpandingPanel" })).toHaveLength(0);
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
it("renders ExpandingPanelClassic when variant is classic (explicit)", async () => {
|
|
107
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
108
|
-
props: { itemCount: 2, variant: "classic" },
|
|
109
|
-
});
|
|
110
|
-
expect(wrapper.findAllComponents({ name: "ExpandingPanelClassic" })).toHaveLength(2);
|
|
111
|
-
expect(wrapper.findAllComponents({ name: "ExpandingPanel" })).toHaveLength(0);
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
it("renders ExpandingPanel when variant is modern", async () => {
|
|
115
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
116
|
-
props: { itemCount: 2, variant: "modern" },
|
|
117
|
-
});
|
|
118
|
-
expect(wrapper.findAllComponents({ name: "ExpandingPanel" })).toHaveLength(2);
|
|
119
|
-
expect(wrapper.findAllComponents({ name: "ExpandingPanelClassic" })).toHaveLength(0);
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
it("forwards props identically to ExpandingPanelClassic when variant is classic", async () => {
|
|
123
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
124
|
-
props: { itemCount: 2, name: "classic-accordian", animationDuration: 500, variant: "classic" },
|
|
125
|
-
});
|
|
126
|
-
wrapper.findAllComponents({ name: "ExpandingPanelClassic" }).forEach((panel) => {
|
|
127
|
-
expect(panel.props("name")).toBe("classic-accordian");
|
|
128
|
-
expect(panel.props("animationDuration")).toBe(500);
|
|
129
|
-
expect(panel.props("styleClassPassthrough")).toEqual(["accordian-item"]);
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
// ─── Props forwarded to ExpandingPanel (variant: modern) ─────────────────
|
|
134
|
-
|
|
135
|
-
it("forwards animationDuration to every ExpandingPanel", async () => {
|
|
136
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
137
|
-
props: { itemCount: 3, animationDuration: 500, variant: "modern" },
|
|
138
|
-
});
|
|
139
|
-
wrapper.findAllComponents({ name: "ExpandingPanel" }).forEach((panel) => {
|
|
140
|
-
expect(panel.props("animationDuration")).toBe(500);
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
it("forwards name to every ExpandingPanel", async () => {
|
|
145
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
146
|
-
props: { itemCount: 2, name: "test-accordian", variant: "modern" },
|
|
147
|
-
});
|
|
148
|
-
wrapper.findAllComponents({ name: "ExpandingPanel" }).forEach((panel) => {
|
|
149
|
-
expect(panel.props("name")).toBe("test-accordian");
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
it("passes accordian-item styleClassPassthrough to every ExpandingPanel", async () => {
|
|
154
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
155
|
-
props: { itemCount: 2, variant: "modern" },
|
|
156
|
-
});
|
|
157
|
-
wrapper.findAllComponents({ name: "ExpandingPanel" }).forEach((panel) => {
|
|
158
|
-
expect(panel.props("styleClassPassthrough")).toEqual(["accordian-item"]);
|
|
159
|
-
});
|
|
160
|
-
});
|
|
161
|
-
|
|
162
|
-
// ─── Default prop values ──────────────────────────────────────────────────
|
|
163
|
-
|
|
164
|
-
it("defaults animationDuration to 300 on ExpandingPanelClassic when not provided", async () => {
|
|
165
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
166
|
-
props: { itemCount: 1 },
|
|
167
|
-
});
|
|
168
|
-
const panel = wrapper.findComponent({ name: "ExpandingPanelClassic" });
|
|
169
|
-
expect(panel.props("animationDuration")).toBe(300);
|
|
170
|
-
});
|
|
171
|
-
|
|
172
|
-
it("uses correct default prop values on the component instance", async () => {
|
|
173
|
-
const wrapper = await mountSuspended(AccordianCore);
|
|
174
|
-
const vm = wrapper.vm as AccordianCoreInstance;
|
|
175
|
-
expect(vm.name).toBeUndefined();
|
|
176
|
-
expect(vm.itemCount).toBe(0);
|
|
177
|
-
expect(vm.animationDuration).toBe(300);
|
|
178
|
-
expect(vm.variant).toBe("classic");
|
|
179
|
-
expect(vm.styleClassPassthrough).toEqual([]);
|
|
180
|
-
});
|
|
181
|
-
|
|
182
|
-
// ─── Computed ─────────────────────────────────────────────────────────────
|
|
183
|
-
|
|
184
|
-
it("computes animationDurationStr as '<value>ms'", async () => {
|
|
185
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
186
|
-
props: { itemCount: 1, animationDuration: 750 },
|
|
187
|
-
});
|
|
188
|
-
const vm = wrapper.vm as AccordianCoreInstance;
|
|
189
|
-
expect(vm.animationDurationStr).toBe("750ms");
|
|
190
|
-
});
|
|
191
|
-
|
|
192
|
-
it("computes animationDurationStr using the default duration", async () => {
|
|
193
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
194
|
-
props: { itemCount: 1 },
|
|
195
|
-
});
|
|
196
|
-
const vm = wrapper.vm as AccordianCoreInstance;
|
|
197
|
-
expect(vm.animationDurationStr).toBe("300ms");
|
|
198
|
-
});
|
|
199
|
-
|
|
200
|
-
// ─── styleClassPassthrough ────────────────────────────────────────────────
|
|
201
|
-
|
|
202
|
-
it("applies a styleClassPassthrough array to the root element", async () => {
|
|
203
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
204
|
-
props: {
|
|
205
|
-
itemCount: 1,
|
|
206
|
-
styleClassPassthrough: ["custom-class", "another-class"],
|
|
207
|
-
},
|
|
208
|
-
});
|
|
209
|
-
const root = wrapper.find(".display-accordian");
|
|
210
|
-
expect(root.classes()).toContain("custom-class");
|
|
211
|
-
expect(root.classes()).toContain("another-class");
|
|
212
|
-
});
|
|
213
|
-
|
|
214
|
-
it("applies a single styleClassPassthrough string to the root element", async () => {
|
|
215
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
216
|
-
props: { itemCount: 1, styleClassPassthrough: "single-class" },
|
|
217
|
-
});
|
|
218
|
-
expect(wrapper.find(".display-accordian").classes()).toContain("single-class");
|
|
219
|
-
});
|
|
220
|
-
|
|
221
|
-
// ─── Slots ────────────────────────────────────────────────────────────────
|
|
222
|
-
|
|
223
|
-
it("renders summary, icon, and content slot content for each item", async () => {
|
|
224
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
225
|
-
props: { itemCount: 2 },
|
|
226
|
-
slots: {
|
|
227
|
-
"accordian-0-summary": '<div data-testid="summary-0">Summary 0</div>',
|
|
228
|
-
"accordian-0-icon": '<div data-testid="icon-0">Icon 0</div>',
|
|
229
|
-
"accordian-0-content": '<div data-testid="content-0">Content 0</div>',
|
|
230
|
-
"accordian-1-summary": '<div data-testid="summary-1">Summary 1</div>',
|
|
231
|
-
"accordian-1-icon": '<div data-testid="icon-1">Icon 1</div>',
|
|
232
|
-
"accordian-1-content": '<div data-testid="content-1">Content 1</div>',
|
|
233
|
-
},
|
|
234
|
-
});
|
|
235
|
-
|
|
236
|
-
for (let i = 0; i < 2; i++) {
|
|
237
|
-
expect(wrapper.find(`[data-testid="summary-${i}"]`).text()).toBe(`Summary ${i}`);
|
|
238
|
-
expect(wrapper.find(`[data-testid="icon-${i}"]`).text()).toBe(`Icon ${i}`);
|
|
239
|
-
expect(wrapper.find(`[data-testid="content-${i}"]`).text()).toBe(`Content ${i}`);
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
|
|
243
|
-
it("renders slot content in the correct panel (slots are not mixed up)", async () => {
|
|
244
|
-
const wrapper = await mountSuspended(AccordianCore, {
|
|
245
|
-
props: { itemCount: 3 },
|
|
246
|
-
slots: {
|
|
247
|
-
"accordian-0-summary": "<span>Alpha</span>",
|
|
248
|
-
"accordian-1-summary": "<span>Beta</span>",
|
|
249
|
-
"accordian-2-summary": "<span>Gamma</span>",
|
|
250
|
-
},
|
|
251
|
-
});
|
|
252
|
-
const panels = wrapper.findAllComponents({ name: "ExpandingPanelClassic" });
|
|
253
|
-
expect(panels[0]?.text()).toContain("Alpha");
|
|
254
|
-
expect(panels[1]?.text()).toContain("Beta");
|
|
255
|
-
expect(panels[2]?.text()).toContain("Gamma");
|
|
256
|
-
});
|
|
257
|
-
});
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
|
-
|
|
3
|
-
exports[`AccordianCore > renders correct HTML structure with all props set 1`] = `
|
|
4
|
-
"<div class="display-accordian extra-class">
|
|
5
|
-
<div class="expanding-panel-classic accordian-item" icon-size="medium">
|
|
6
|
-
<details class="expanding-panel-classic-details" name="snapshot-accordian">
|
|
7
|
-
<summary id="id-snapshot-accordian-trigger" class="expanding-panel-classic-summary" aria-controls="id-snapshot-accordian-content" aria-expanded="false">
|
|
8
|
-
<div class="label-wrapper"></div>
|
|
9
|
-
<div class="icon-wrapper"><span class="iconify i-bi:caret-down-fill icon" aria-hidden="true"></span></div>
|
|
10
|
-
</summary>
|
|
11
|
-
</details>
|
|
12
|
-
<div id="id-snapshot-accordian-content" class="expanding-panel-classic-content" aria-labelledby="id-snapshot-accordian-trigger" role="region">
|
|
13
|
-
<div class="inner"></div>
|
|
14
|
-
</div>
|
|
15
|
-
</div>
|
|
16
|
-
<div class="expanding-panel-classic accordian-item" icon-size="medium">
|
|
17
|
-
<details class="expanding-panel-classic-details" name="snapshot-accordian">
|
|
18
|
-
<summary id="id-snapshot-accordian-trigger" class="expanding-panel-classic-summary" aria-controls="id-snapshot-accordian-content" aria-expanded="false">
|
|
19
|
-
<div class="label-wrapper"></div>
|
|
20
|
-
<div class="icon-wrapper"><span class="iconify i-bi:caret-down-fill icon" aria-hidden="true"></span></div>
|
|
21
|
-
</summary>
|
|
22
|
-
</details>
|
|
23
|
-
<div id="id-snapshot-accordian-content" class="expanding-panel-classic-content" aria-labelledby="id-snapshot-accordian-trigger" role="region">
|
|
24
|
-
<div class="inner"></div>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
<div class="expanding-panel-classic accordian-item" icon-size="medium">
|
|
28
|
-
<details class="expanding-panel-classic-details" name="snapshot-accordian">
|
|
29
|
-
<summary id="id-snapshot-accordian-trigger" class="expanding-panel-classic-summary" aria-controls="id-snapshot-accordian-content" aria-expanded="false">
|
|
30
|
-
<div class="label-wrapper"></div>
|
|
31
|
-
<div class="icon-wrapper"><span class="iconify i-bi:caret-down-fill icon" aria-hidden="true"></span></div>
|
|
32
|
-
</summary>
|
|
33
|
-
</details>
|
|
34
|
-
<div id="id-snapshot-accordian-content" class="expanding-panel-classic-content" aria-labelledby="id-snapshot-accordian-trigger" role="region">
|
|
35
|
-
<div class="inner"></div>
|
|
36
|
-
</div>
|
|
37
|
-
</div>
|
|
38
|
-
</div>"
|
|
39
|
-
`;
|
|
40
|
-
|
|
41
|
-
exports[`AccordianCore > renders correct HTML structure with default props 1`] = `
|
|
42
|
-
"<div class="display-accordian">
|
|
43
|
-
<div class="expanding-panel-classic accordian-item" icon-size="medium">
|
|
44
|
-
<details class="expanding-panel-classic-details" name="v-0-0-0">
|
|
45
|
-
<summary id="id-v-0-0-0-trigger" class="expanding-panel-classic-summary" aria-controls="id-v-0-0-0-content" aria-expanded="false">
|
|
46
|
-
<div class="label-wrapper"></div>
|
|
47
|
-
<div class="icon-wrapper"><span class="iconify i-bi:caret-down-fill icon" aria-hidden="true"></span></div>
|
|
48
|
-
</summary>
|
|
49
|
-
</details>
|
|
50
|
-
<div id="id-v-0-0-0-content" class="expanding-panel-classic-content" aria-labelledby="id-v-0-0-0-trigger" role="region">
|
|
51
|
-
<div class="inner"></div>
|
|
52
|
-
</div>
|
|
53
|
-
</div>
|
|
54
|
-
<div class="expanding-panel-classic accordian-item" icon-size="medium">
|
|
55
|
-
<details class="expanding-panel-classic-details" name="v-0-0-1">
|
|
56
|
-
<summary id="id-v-0-0-1-trigger" class="expanding-panel-classic-summary" aria-controls="id-v-0-0-1-content" aria-expanded="false">
|
|
57
|
-
<div class="label-wrapper"></div>
|
|
58
|
-
<div class="icon-wrapper"><span class="iconify i-bi:caret-down-fill icon" aria-hidden="true"></span></div>
|
|
59
|
-
</summary>
|
|
60
|
-
</details>
|
|
61
|
-
<div id="id-v-0-0-1-content" class="expanding-panel-classic-content" aria-labelledby="id-v-0-0-1-trigger" role="region">
|
|
62
|
-
<div class="inner"></div>
|
|
63
|
-
</div>
|
|
64
|
-
</div>
|
|
65
|
-
</div>"
|
|
66
|
-
`;
|
|
67
|
-
|
|
68
|
-
exports[`AccordianCore > renders correct HTML structure with populated slots 1`] = `
|
|
69
|
-
"<div class="display-accordian">
|
|
70
|
-
<div class="expanding-panel-classic accordian-item" icon-size="medium">
|
|
71
|
-
<details class="expanding-panel-classic-details" name="v-0-0-0">
|
|
72
|
-
<summary id="id-v-0-0-0-trigger" class="expanding-panel-classic-summary" aria-controls="id-v-0-0-0-content" aria-expanded="false">
|
|
73
|
-
<div class="label-wrapper"><span>Summary 0</span></div>
|
|
74
|
-
<div class="icon-wrapper"><span>Icon 0</span></div>
|
|
75
|
-
</summary>
|
|
76
|
-
</details>
|
|
77
|
-
<div id="id-v-0-0-0-content" class="expanding-panel-classic-content" aria-labelledby="id-v-0-0-0-trigger" role="region">
|
|
78
|
-
<div class="inner"><span>Content 0</span></div>
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
81
|
-
<div class="expanding-panel-classic accordian-item" icon-size="medium">
|
|
82
|
-
<details class="expanding-panel-classic-details" name="v-0-0-1">
|
|
83
|
-
<summary id="id-v-0-0-1-trigger" class="expanding-panel-classic-summary" aria-controls="id-v-0-0-1-content" aria-expanded="false">
|
|
84
|
-
<div class="label-wrapper"><span>Summary 1</span></div>
|
|
85
|
-
<div class="icon-wrapper"><span>Icon 1</span></div>
|
|
86
|
-
</summary>
|
|
87
|
-
</details>
|
|
88
|
-
<div id="id-v-0-0-1-content" class="expanding-panel-classic-content" aria-labelledby="id-v-0-0-1-trigger" role="region">
|
|
89
|
-
<div class="inner"><span>Content 1</span></div>
|
|
90
|
-
</div>
|
|
91
|
-
</div>
|
|
92
|
-
</div>"
|
|
93
|
-
`;
|
|
94
|
-
|
|
95
|
-
exports[`AccordianCore > renders correctly with zero items 1`] = `"<div class="display-accordian"></div>"`;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { defuFn } from 'defu'
|
|
3
|
-
|
|
4
|
-
const inlineConfig = {
|
|
5
|
-
"nuxt": {}
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
/** client **/
|
|
9
|
-
import { _replaceAppConfig } from '#app/config'
|
|
10
|
-
|
|
11
|
-
// Vite - webpack is handled directly in #app/config
|
|
12
|
-
if (import.meta.dev && !import.meta.nitro && import.meta.hot) {
|
|
13
|
-
import.meta.hot.accept((newModule) => {
|
|
14
|
-
_replaceAppConfig(newModule.default)
|
|
15
|
-
})
|
|
16
|
-
}
|
|
17
|
-
/** client-end **/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
export default /*@__PURE__*/ defuFn(inlineConfig)
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import type { DefineComponent, SlotsType } from 'vue'
|
|
3
|
-
type IslandComponent<T> = DefineComponent<{}, {refresh: () => Promise<void>}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, SlotsType<{ fallback: { error: unknown } }>> & T
|
|
4
|
-
|
|
5
|
-
type HydrationStrategies = {
|
|
6
|
-
hydrateOnVisible?: IntersectionObserverInit | true
|
|
7
|
-
hydrateOnIdle?: number | true
|
|
8
|
-
hydrateOnInteraction?: keyof HTMLElementEventMap | Array<keyof HTMLElementEventMap> | true
|
|
9
|
-
hydrateOnMediaQuery?: string
|
|
10
|
-
hydrateAfter?: number
|
|
11
|
-
hydrateWhen?: boolean
|
|
12
|
-
hydrateNever?: true
|
|
13
|
-
}
|
|
14
|
-
type LazyComponent<T> = DefineComponent<HydrationStrategies, {}, {}, {}, {}, {}, {}, { hydrated: () => void }> & T
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export const NuxtWelcome: typeof import("../../../../../../node_modules/nuxt/dist/app/components/welcome.vue")['default']
|
|
18
|
-
export const NuxtLayout: typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-layout")['default']
|
|
19
|
-
export const NuxtErrorBoundary: typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue")['default']
|
|
20
|
-
export const ClientOnly: typeof import("../../../../../../node_modules/nuxt/dist/app/components/client-only")['default']
|
|
21
|
-
export const DevOnly: typeof import("../../../../../../node_modules/nuxt/dist/app/components/dev-only")['default']
|
|
22
|
-
export const ServerPlaceholder: typeof import("../../../../../../node_modules/nuxt/dist/app/components/server-placeholder")['default']
|
|
23
|
-
export const NuxtLink: typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-link")['default']
|
|
24
|
-
export const NuxtLoadingIndicator: typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default']
|
|
25
|
-
export const NuxtTime: typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-time.vue")['default']
|
|
26
|
-
export const NuxtRouteAnnouncer: typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default']
|
|
27
|
-
export const NuxtAnnouncer: typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-announcer")['default']
|
|
28
|
-
export const NuxtImg: typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtImg']
|
|
29
|
-
export const NuxtPicture: typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtPicture']
|
|
30
|
-
export const NuxtPage: typeof import("../../../../../../node_modules/nuxt/dist/pages/runtime/page-placeholder")['default']
|
|
31
|
-
export const NoScript: typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['NoScript']
|
|
32
|
-
export const Link: typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Link']
|
|
33
|
-
export const Base: typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Base']
|
|
34
|
-
export const Title: typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Title']
|
|
35
|
-
export const Meta: typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Meta']
|
|
36
|
-
export const Style: typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Style']
|
|
37
|
-
export const Head: typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Head']
|
|
38
|
-
export const Html: typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Html']
|
|
39
|
-
export const Body: typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Body']
|
|
40
|
-
export const NuxtIsland: typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-island")['default']
|
|
41
|
-
export const LazyNuxtWelcome: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/welcome.vue")['default']>
|
|
42
|
-
export const LazyNuxtLayout: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-layout")['default']>
|
|
43
|
-
export const LazyNuxtErrorBoundary: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue")['default']>
|
|
44
|
-
export const LazyClientOnly: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/client-only")['default']>
|
|
45
|
-
export const LazyDevOnly: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/dev-only")['default']>
|
|
46
|
-
export const LazyServerPlaceholder: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/server-placeholder")['default']>
|
|
47
|
-
export const LazyNuxtLink: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-link")['default']>
|
|
48
|
-
export const LazyNuxtLoadingIndicator: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default']>
|
|
49
|
-
export const LazyNuxtTime: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-time.vue")['default']>
|
|
50
|
-
export const LazyNuxtRouteAnnouncer: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default']>
|
|
51
|
-
export const LazyNuxtAnnouncer: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-announcer")['default']>
|
|
52
|
-
export const LazyNuxtImg: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtImg']>
|
|
53
|
-
export const LazyNuxtPicture: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtPicture']>
|
|
54
|
-
export const LazyNuxtPage: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/pages/runtime/page-placeholder")['default']>
|
|
55
|
-
export const LazyNoScript: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['NoScript']>
|
|
56
|
-
export const LazyLink: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Link']>
|
|
57
|
-
export const LazyBase: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Base']>
|
|
58
|
-
export const LazyTitle: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Title']>
|
|
59
|
-
export const LazyMeta: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Meta']>
|
|
60
|
-
export const LazyStyle: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Style']>
|
|
61
|
-
export const LazyHead: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Head']>
|
|
62
|
-
export const LazyHtml: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Html']>
|
|
63
|
-
export const LazyBody: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/head/runtime/components")['Body']>
|
|
64
|
-
export const LazyNuxtIsland: LazyComponent<typeof import("../../../../../../node_modules/nuxt/dist/app/components/nuxt-island")['default']>
|
|
65
|
-
|
|
66
|
-
export const componentNames: string[]
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export { useScriptTriggerConsent, useScriptEventPage, useScriptTriggerElement, useScript, useScriptGoogleAnalytics, useScriptPlausibleAnalytics, useScriptCrisp, useScriptClarity, useScriptCloudflareWebAnalytics, useScriptVercelAnalytics, useScriptPostHog, useScriptFathomAnalytics, useScriptMatomoAnalytics, useScriptMixpanelAnalytics, useScriptBingUet, useScriptGoogleTagManager, useScriptGoogleAdsense, useScriptGoogleRecaptcha, useScriptGoogleSignIn, useScriptSegment, useScriptMetaPixel, useScriptXPixel, useScriptTikTokPixel, useScriptIntercom, useScriptHotjar, useScriptStripe, useScriptLemonSqueezy, useScriptVimeoPlayer, useScriptYouTubePlayer, useScriptGoogleMaps, useScriptNpm, useScriptUmamiAnalytics, useScriptSnapchatPixel, useScriptRybbitAnalytics, useScriptDatabuddyAnalytics, useScriptRedditPixel, useScriptPayPal, useScriptGravatar, useScriptAhrefsAnalytics, useScriptLinkedInInsight, useScriptCalendly, useScriptUsercentrics } from '#app/composables/script-stubs';
|
|
2
|
-
export { isVue2, isVue3 } from 'vue-demi';
|
|
3
|
-
export { defineNuxtLink } from '#app/components/nuxt-link';
|
|
4
|
-
export { useNuxtApp, tryUseNuxtApp, defineNuxtPlugin, definePayloadPlugin, useRuntimeConfig, defineAppConfig } from '#app/nuxt';
|
|
5
|
-
export { useAppConfig, updateAppConfig } from '#app/config';
|
|
6
|
-
export { defineNuxtComponent } from '#app/composables/component';
|
|
7
|
-
export { useAsyncData, useLazyAsyncData, useNuxtData, refreshNuxtData, clearNuxtData, createUseAsyncData } from '#app/composables/asyncData';
|
|
8
|
-
export { useHydration } from '#app/composables/hydrate';
|
|
9
|
-
export { callOnce } from '#app/composables/once';
|
|
10
|
-
export { useState, clearNuxtState } from '#app/composables/state';
|
|
11
|
-
export { clearError, createError, isNuxtError, showError, useError } from '#app/composables/error';
|
|
12
|
-
export { useFetch, useLazyFetch, createUseFetch } from '#app/composables/fetch';
|
|
13
|
-
export { useCookie, refreshCookie } from '#app/composables/cookie';
|
|
14
|
-
export { onPrehydrate, prerenderRoutes, useRequestHeader, useRequestHeaders, useResponseHeader, useRequestEvent, useRequestFetch, setResponseStatus } from '#app/composables/ssr';
|
|
15
|
-
export { onNuxtReady } from '#app/composables/ready';
|
|
16
|
-
export { preloadComponents, prefetchComponents, preloadRouteComponents } from '#app/composables/preload';
|
|
17
|
-
export { abortNavigation, addRouteMiddleware, defineNuxtRouteMiddleware, setPageLayout, navigateTo, useRoute, useRouter, onBeforeRouteLeave, onBeforeRouteUpdate } from '#app/composables/router';
|
|
18
|
-
export { isPrerendered, loadPayload, preloadPayload, definePayloadReducer, definePayloadReviver } from '#app/composables/payload';
|
|
19
|
-
export { useLoadingIndicator } from '#app/composables/loading-indicator';
|
|
20
|
-
export { getAppManifest, getRouteRules } from '#app/composables/manifest';
|
|
21
|
-
export { reloadNuxtApp } from '#app/composables/chunk';
|
|
22
|
-
export { useRequestURL } from '#app/composables/url';
|
|
23
|
-
export { usePreviewMode } from '#app/composables/preview';
|
|
24
|
-
export { useRouteAnnouncer } from '#app/composables/route-announcer';
|
|
25
|
-
export { useAnnouncer } from '#app/composables/announcer';
|
|
26
|
-
export { useRuntimeHook } from '#app/composables/runtime-hook';
|
|
27
|
-
export { useHead, useHeadSafe, useServerHeadSafe, useServerHead, useSeoMeta, useServerSeoMeta, injectHead } from '#app/composables/head';
|
|
28
|
-
export { withCtx, withDirectives, withKeys, withMemo, withModifiers, withScopeId, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, computed, customRef, isProxy, isReactive, isReadonly, isRef, markRaw, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref, watch, watchEffect, watchPostEffect, watchSyncEffect, onWatcherCleanup, isShallow, effect, effectScope, getCurrentScope, onScopeDispose, defineComponent, defineAsyncComponent, resolveComponent, getCurrentInstance, h, inject, hasInjectionContext, nextTick, provide, toValue, useModel, useAttrs, useCssModule, useSlots, useTransitionState, useId, useTemplateRef, useShadowRoot, useCssVars, Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue';
|
|
29
|
-
export { requestIdleCallback, cancelIdleCallback } from '#app/compat/idle-callback';
|
|
30
|
-
export { defineLazyHydrationComponent } from '#app/composables/lazy-hydration';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import type { AppConfigInput, CustomAppConfig } from 'nuxt/schema'
|
|
3
|
-
import type { Defu } from 'defu'
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
declare global {
|
|
7
|
-
const defineAppConfig: <C extends AppConfigInput> (config: C) => C
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
declare const inlineConfig = {
|
|
11
|
-
"nuxt": {}
|
|
12
|
-
}
|
|
13
|
-
type ResolvedAppConfig = Defu<typeof inlineConfig, []>
|
|
14
|
-
type IsAny<T> = 0 extends 1 & T ? true : false
|
|
15
|
-
|
|
16
|
-
type MergedAppConfig<Resolved extends Record<string, unknown>, Custom extends Record<string, unknown>> = {
|
|
17
|
-
[K in keyof (Resolved & Custom)]: K extends keyof Custom
|
|
18
|
-
? unknown extends Custom[K]
|
|
19
|
-
? Resolved[K]
|
|
20
|
-
: IsAny<Custom[K]> extends true
|
|
21
|
-
? Resolved[K]
|
|
22
|
-
: Custom[K] extends Record<string, any>
|
|
23
|
-
? Resolved[K] extends Record<string, any>
|
|
24
|
-
? MergedAppConfig<Resolved[K], Custom[K]>
|
|
25
|
-
: Exclude<Custom[K], undefined>
|
|
26
|
-
: Exclude<Custom[K], undefined>
|
|
27
|
-
: Resolved[K]
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
declare module 'nuxt/schema' {
|
|
31
|
-
interface AppConfig extends MergedAppConfig<ResolvedAppConfig, CustomAppConfig> { }
|
|
32
|
-
}
|
|
33
|
-
declare module '@nuxt/schema' {
|
|
34
|
-
interface AppConfig extends MergedAppConfig<ResolvedAppConfig, CustomAppConfig> { }
|
|
35
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
declare module "#build/app-component.mjs";
|
|
2
|
-
declare module "#build/nitro.client.mjs";
|
|
3
|
-
declare module "#build/plugins.client.mjs";
|
|
4
|
-
declare module "#build/css.mjs";
|
|
5
|
-
declare module "#build/fetch.mjs";
|
|
6
|
-
declare module "#build/error-component.mjs";
|
|
7
|
-
declare module "#build/global-polyfills.mjs";
|
|
8
|
-
declare module "#build/layouts.mjs";
|
|
9
|
-
declare module "#build/middleware.mjs";
|
|
10
|
-
declare module "#build/nuxt.config.mjs";
|
|
11
|
-
declare module "#build/paths.mjs";
|
|
12
|
-
declare module "#build/root-component.mjs";
|
|
13
|
-
declare module "#build/plugins.server.mjs";
|
|
14
|
-
declare module "#build/test-component-wrapper.mjs";
|
|
15
|
-
declare module "#build/pages.mjs";
|
|
16
|
-
declare module "#build/router.options.mjs";
|
|
17
|
-
declare module "#build/unhead-options.mjs";
|
|
18
|
-
declare module "#build/unhead.config.mjs";
|
|
19
|
-
declare module "#build/components.plugin.mjs";
|
|
20
|
-
declare module "#build/component-names.mjs";
|
|
21
|
-
declare module "#build/components.islands.mjs";
|
|
22
|
-
declare module "#build/component-chunk.mjs";
|
|
23
|
-
declare module "#build/route-rules.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "vite/client";
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import type { DefineComponent, SlotsType } from 'vue'
|
|
3
|
-
type IslandComponent<T> = DefineComponent<{}, {refresh: () => Promise<void>}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, SlotsType<{ fallback: { error: unknown } }>> & T
|
|
4
|
-
|
|
5
|
-
type HydrationStrategies = {
|
|
6
|
-
hydrateOnVisible?: IntersectionObserverInit | true
|
|
7
|
-
hydrateOnIdle?: number | true
|
|
8
|
-
hydrateOnInteraction?: keyof HTMLElementEventMap | Array<keyof HTMLElementEventMap> | true
|
|
9
|
-
hydrateOnMediaQuery?: string
|
|
10
|
-
hydrateAfter?: number
|
|
11
|
-
hydrateWhen?: boolean
|
|
12
|
-
hydrateNever?: true
|
|
13
|
-
}
|
|
14
|
-
type LazyComponent<T> = DefineComponent<HydrationStrategies, {}, {}, {}, {}, {}, {}, { hydrated: () => void }> & T
|
|
15
|
-
|
|
16
|
-
interface _GlobalComponents {
|
|
17
|
-
NuxtWelcome: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/welcome.vue")['default']
|
|
18
|
-
NuxtLayout: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-layout")['default']
|
|
19
|
-
NuxtErrorBoundary: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue")['default']
|
|
20
|
-
ClientOnly: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/client-only")['default']
|
|
21
|
-
DevOnly: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/dev-only")['default']
|
|
22
|
-
ServerPlaceholder: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/server-placeholder")['default']
|
|
23
|
-
NuxtLink: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-link")['default']
|
|
24
|
-
NuxtLoadingIndicator: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default']
|
|
25
|
-
NuxtTime: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-time.vue")['default']
|
|
26
|
-
NuxtRouteAnnouncer: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default']
|
|
27
|
-
NuxtAnnouncer: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-announcer")['default']
|
|
28
|
-
NuxtImg: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtImg']
|
|
29
|
-
NuxtPicture: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtPicture']
|
|
30
|
-
NuxtPage: typeof import("../../../../../../../node_modules/nuxt/dist/pages/runtime/page-placeholder")['default']
|
|
31
|
-
NoScript: typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['NoScript']
|
|
32
|
-
Link: typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Link']
|
|
33
|
-
Base: typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Base']
|
|
34
|
-
Title: typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Title']
|
|
35
|
-
Meta: typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Meta']
|
|
36
|
-
Style: typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Style']
|
|
37
|
-
Head: typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Head']
|
|
38
|
-
Html: typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Html']
|
|
39
|
-
Body: typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Body']
|
|
40
|
-
NuxtIsland: typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-island")['default']
|
|
41
|
-
LazyNuxtWelcome: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/welcome.vue")['default']>
|
|
42
|
-
LazyNuxtLayout: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-layout")['default']>
|
|
43
|
-
LazyNuxtErrorBoundary: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-error-boundary.vue")['default']>
|
|
44
|
-
LazyClientOnly: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/client-only")['default']>
|
|
45
|
-
LazyDevOnly: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/dev-only")['default']>
|
|
46
|
-
LazyServerPlaceholder: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/server-placeholder")['default']>
|
|
47
|
-
LazyNuxtLink: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-link")['default']>
|
|
48
|
-
LazyNuxtLoadingIndicator: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default']>
|
|
49
|
-
LazyNuxtTime: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-time.vue")['default']>
|
|
50
|
-
LazyNuxtRouteAnnouncer: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-route-announcer")['default']>
|
|
51
|
-
LazyNuxtAnnouncer: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-announcer")['default']>
|
|
52
|
-
LazyNuxtImg: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtImg']>
|
|
53
|
-
LazyNuxtPicture: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-stubs")['NuxtPicture']>
|
|
54
|
-
LazyNuxtPage: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/pages/runtime/page-placeholder")['default']>
|
|
55
|
-
LazyNoScript: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['NoScript']>
|
|
56
|
-
LazyLink: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Link']>
|
|
57
|
-
LazyBase: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Base']>
|
|
58
|
-
LazyTitle: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Title']>
|
|
59
|
-
LazyMeta: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Meta']>
|
|
60
|
-
LazyStyle: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Style']>
|
|
61
|
-
LazyHead: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Head']>
|
|
62
|
-
LazyHtml: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Html']>
|
|
63
|
-
LazyBody: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/head/runtime/components")['Body']>
|
|
64
|
-
LazyNuxtIsland: LazyComponent<typeof import("../../../../../../../node_modules/nuxt/dist/app/components/nuxt-island")['default']>
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
declare module 'vue' {
|
|
68
|
-
export interface GlobalComponents extends _GlobalComponents { }
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export {}
|