srcdev-nuxt-components 9.3.6 → 9.3.8

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.
Files changed (126) hide show
  1. package/.claude/hooks/check-component-update.sh +30 -1
  2. package/.claude/skills/components/accordian-core.md +7 -7
  3. package/.claude/skills/components/breadcrumb.md +49 -0
  4. package/.claude/skills/components/content-docs.md +2 -1
  5. package/.claude/skills/components/expanding-panel.md +5 -5
  6. package/.claude/skills/components/navigation-items.md +1 -0
  7. package/.claude/skills/components/responsive-header.md +1 -0
  8. package/.claude/skills/components/service-detail.md +156 -0
  9. package/.claude/skills/components/services-card-grid.md +9 -9
  10. package/.claude/skills/components/services-card.md +82 -30
  11. package/.claude/skills/index.md +3 -1
  12. package/.claude/skills/qa-panel.md +2 -2
  13. package/.vscode/srcdev-component-breadcrumb.code-snippets +14 -0
  14. package/.vscode/srcdev-component-service-detail.code-snippets +49 -0
  15. package/.vscode/srcdev-component-services-card.code-snippets +108 -0
  16. package/app/components/01.atoms/content-wrappers/docs-pages/ContentDocs.vue +22 -16
  17. package/app/components/01.atoms/navigation/breadcrumb/Breadcrumb.vue +94 -0
  18. package/app/components/01.atoms/navigation/breadcrumb/CONSUMER-STYLING.md +32 -0
  19. package/app/components/01.atoms/navigation/breadcrumb/stories/Breadcrumb.stories.ts +87 -0
  20. package/app/components/01.atoms/navigation/breadcrumb/tests/Breadcrumb.spec.ts +87 -0
  21. package/app/components/01.atoms/navigation/breadcrumb/tests/__snapshots__/Breadcrumb.spec.ts.snap +13 -0
  22. package/app/components/02.molecules/expandable/accordian/AccordianCore.vue +5 -1
  23. package/app/components/02.molecules/expandable/accordian/tests/AccordianCore.spec.ts +22 -14
  24. package/app/components/02.molecules/expandable/accordian/tests/__snapshots__/AccordianCore.spec.ts.snap +42 -28
  25. package/app/components/02.molecules/expandable/expanding-panel/CONSUMER-STYLING.md +8 -10
  26. package/app/components/02.molecules/expandable/expanding-panel/ExpandingPanel.vue +15 -47
  27. package/app/components/02.molecules/expandable/expanding-panel/tests/__snapshots__/ExpandingPanel.spec.ts.snap +4 -12
  28. package/app/components/03.organisms/responsive-header/NavigationItems.vue +91 -4
  29. package/app/components/03.organisms/responsive-header/ResponsiveHeader.vue +5 -1
  30. package/app/components/03.organisms/responsive-header/tests/NavigationItems.spec.ts +2 -2
  31. package/app/components/03.organisms/responsive-header/tests/__snapshots__/NavigationItems.spec.ts.snap +13 -13
  32. package/app/components/03.organisms/responsive-header/tests/__snapshots__/ResponsiveHeader.spec.ts.snap +13 -13
  33. package/app/components/03.organisms/services/service-detail/CONSUMER-STYLING.md +181 -0
  34. package/app/components/03.organisms/services/service-detail/ServiceDetail.vue +480 -0
  35. package/app/components/03.organisms/services/service-detail/stories/ServiceDetail.stories.ts +282 -0
  36. package/app/components/03.organisms/services/service-detail/tests/ServiceDetail.spec.ts +270 -0
  37. package/app/components/03.organisms/services/service-detail/tests/__snapshots__/ServiceDetail.spec.ts.snap +99 -0
  38. package/app/components/03.organisms/services/services-card/CONSUMER-STYLING.md +129 -0
  39. package/app/components/03.organisms/services/services-card/ServicesCard.vue +153 -39
  40. package/app/components/03.organisms/services/services-card/stories/ServicesCard.stories.ts +65 -0
  41. package/app/components/03.organisms/services/services-card/tests/ServicesCard.spec.ts +82 -0
  42. package/app/components/03.organisms/services/services-card/tests/__snapshots__/ServicesCard.spec.ts.snap +13 -5
  43. package/app/components/03.organisms/services/services-grids/ServicesCardGrid.vue +3 -7
  44. package/app/components/03.organisms/services/services-grids/stories/ServicesCardGrid.stories.ts +126 -2
  45. package/app/components/03.organisms/services/services-grids/stories/ServicesSectionGrid.stories.ts +6 -0
  46. package/app/components/03.organisms/services/services-grids/tests/__snapshots__/ServicesCardGrid.spec.ts.snap +51 -27
  47. package/app/components/03.organisms/services/services-section/ServicesSection.vue +19 -0
  48. package/app/components/03.organisms/services/services-section/tests/__snapshots__/ServicesSection.spec.ts.snap +8 -8
  49. package/app/types/components/breadcrumb.ts +4 -0
  50. package/app/types/components/index.ts +1 -0
  51. package/package.json +2 -2
  52. package/app/pages/auto-grid.vue +0 -328
  53. package/app/pages/banner-video.vue +0 -238
  54. package/app/pages/forms/examples/buttons/index.vue +0 -259
  55. package/app/pages/forms/examples/material/checkbox-radio-panels.vue +0 -244
  56. package/app/pages/forms/examples/material/cssbattle.vue +0 -60
  57. package/app/pages/forms/examples/material/text-fields.vue +0 -910
  58. package/app/pages/grid-stack.vue +0 -252
  59. package/app/pages/index.vue +0 -127
  60. package/app/pages/page-hero-highlights.vue +0 -204
  61. package/app/pages/samaritan.vue +0 -327
  62. package/app/pages/typography/hero-text.vue +0 -97
  63. package/app/pages/typography/index.vue +0 -39
  64. package/app/pages/typography/page-body.vue +0 -171
  65. package/app/pages/typography/page-heading.vue +0 -76
  66. package/app/pages/typography/page-link.vue +0 -103
  67. package/app/pages/ui/accordian.vue +0 -211
  68. package/app/pages/ui/anchor-scroll-tab-navigation.vue +0 -191
  69. package/app/pages/ui/anchor-scroll.vue +0 -367
  70. package/app/pages/ui/animated-svg-text.vue +0 -85
  71. package/app/pages/ui/block-decorators.vue +0 -142
  72. package/app/pages/ui/card-core.vue +0 -82
  73. package/app/pages/ui/carousel-basic.vue +0 -292
  74. package/app/pages/ui/carousel-flip.vue +0 -449
  75. package/app/pages/ui/carousel-infinite.vue +0 -260
  76. package/app/pages/ui/clipped-panels.vue +0 -101
  77. package/app/pages/ui/contact-section.vue +0 -323
  78. package/app/pages/ui/container-glow.vue +0 -106
  79. package/app/pages/ui/content-width.vue +0 -126
  80. package/app/pages/ui/deep-expanding-menu.vue +0 -138
  81. package/app/pages/ui/display-avatar.vue +0 -253
  82. package/app/pages/ui/display-banner.vue +0 -78
  83. package/app/pages/ui/display-chip.vue +0 -367
  84. package/app/pages/ui/display-details.vue +0 -171
  85. package/app/pages/ui/display-dialog.vue +0 -344
  86. package/app/pages/ui/display-pill.vue +0 -396
  87. package/app/pages/ui/display-prompt.vue +0 -284
  88. package/app/pages/ui/display-toast.vue +0 -311
  89. package/app/pages/ui/expanding-panel.vue +0 -326
  90. package/app/pages/ui/glowing-border.vue +0 -111
  91. package/app/pages/ui/layout-content-docs.vue +0 -72
  92. package/app/pages/ui/layout-grid-a.vue +0 -96
  93. package/app/pages/ui/layout-grid-b.vue +0 -132
  94. package/app/pages/ui/magnetic-navigation.vue +0 -50
  95. package/app/pages/ui/marquee-scroller.vue +0 -99
  96. package/app/pages/ui/mask-element.vue +0 -104
  97. package/app/pages/ui/masonry-columns.vue +0 -55
  98. package/app/pages/ui/masonry-grid-ordered-experiment.vue +0 -79
  99. package/app/pages/ui/masonry-grid-ordered.vue +0 -56
  100. package/app/pages/ui/masonry-grid-sorted.vue +0 -55
  101. package/app/pages/ui/masonry-grid.vue +0 -55
  102. package/app/pages/ui/navigation/navigation-horizontal.vue +0 -484
  103. package/app/pages/ui/navigation/site-navigation/about.vue +0 -36
  104. package/app/pages/ui/navigation/site-navigation/contact.vue +0 -39
  105. package/app/pages/ui/navigation/site-navigation/index.vue +0 -38
  106. package/app/pages/ui/navigation/site-navigation/portfolio.vue +0 -43
  107. package/app/pages/ui/navigation/site-navigation/services.vue +0 -42
  108. package/app/pages/ui/navigation/tab-navigation.vue +0 -493
  109. package/app/pages/ui/page-row.vue +0 -127
  110. package/app/pages/ui/price-list.vue +0 -65
  111. package/app/pages/ui/profile-section.vue +0 -142
  112. package/app/pages/ui/qr-code/[componentName].vue +0 -218
  113. package/app/pages/ui/rotating-carousel.vue +0 -154
  114. package/app/pages/ui/scroll-reveal-image.vue +0 -483
  115. package/app/pages/ui/section-parallax.vue +0 -54
  116. package/app/pages/ui/services/colour-finder.vue +0 -43
  117. package/app/pages/ui/services/services-cards.vue +0 -57
  118. package/app/pages/ui/services/services-section/[slug].vue +0 -61
  119. package/app/pages/ui/services/services-sections-compact.vue +0 -64
  120. package/app/pages/ui/settings.vue +0 -54
  121. package/app/pages/ui/simple-grid.vue +0 -55
  122. package/app/pages/ui/slider-gallery.vue +0 -261
  123. package/app/pages/ui/tabs-y.vue +0 -107
  124. package/app/pages/ui/tabs.vue +0 -189
  125. package/app/pages/ui/tooltips.vue +0 -104
  126. package/app/pages/ui/wipe-away-vertical.vue +0 -129
@@ -1,111 +0,0 @@
1
- <template>
2
- <div>
3
- <NuxtLayout name="default">
4
- <template #layout-content>
5
- <PageRow tag="div" variant="full" :style-class-passthrough="['mbe-20']">
6
- <h1 class="page-heading-1">GlowingBorder Component</h1>
7
- <form class="mb-12">
8
- <div>
9
- <label for="variant" class="form-label mie-12">Variant:</label>
10
- <select id="variant" v-model="glowingBorderVariant" class="form-select">
11
- <option value="vivid">Vivid</option>
12
- <option value="subtle">Subtle</option>
13
- <option value="silver">Silver</option>
14
- <option value="steel">Steel</option>
15
- </select>
16
- </div>
17
- </form>
18
-
19
- <form class="mb-12">
20
- <div>
21
- <label for="variant" class="form-label mie-12">Variant:</label>
22
- <select id="variant" v-model="cardCoreVariant" class="form-select">
23
- <option value="solid">Solid</option>
24
- <option value="subtle">Subtle</option>
25
- <option value="soft">Soft</option>
26
- <option value="outline">Outline</option>
27
- </select>
28
- </div>
29
- <div>
30
- <label for="hasDividers" class="form-label mie-12">Has Dividers:</label>
31
- <input type="checkbox" id="hasDividers" v-model="hasDividers" class="form-checkbox" />
32
- </div>
33
- <div>
34
- <label for="noOutline" class="form-label mie-12">No Outline:</label>
35
- <input type="checkbox" id="noOutline" v-model="noOutline" class="form-checkbox" />
36
- </div>
37
- </form>
38
- </PageRow>
39
-
40
- <PageRow tag="div" variant="inset-content" :style-class-passthrough="['mbe-20']">
41
- <h2 class="page-heading-2">Default</h2>
42
-
43
- <GlowingBorder :variant="glowingBorderVariant" :style-class-passthrough="['mbe-20']">
44
- <div class="p-20">
45
- <h3 class="page-heading-2">GlowingBorder Header</h3>
46
- <h4 class="page-heading-3">GlowingBorder Content</h4>
47
- <p class="page-body-normal">This is default slot content for the GlowingBorder component.</p>
48
- <p class="page-body-normal">As it's a slot, any html content can be placed here.</p>
49
- <p class="page-body-small">GlowingBorder Footer</p>
50
- </div>
51
- </GlowingBorder>
52
- </PageRow>
53
-
54
- <PageRow tag="div" variant="inset-content" :style-class-passthrough="['mbe-20']">
55
- <h2 class="page-heading-2">Default</h2>
56
-
57
- <GlowingBorder :variant="glowingBorderVariant" :style-class-passthrough="['mbe-20']">
58
- <CardCore :variant="cardCoreVariant" :has-dividers :no-outline>
59
- <template #header>
60
- <h2 class="page-heading-2">CardCore Header</h2>
61
- </template>
62
- <template #content>
63
- <h3 class="page-heading-3">CardCore Content</h3>
64
- <p class="page-body-normal">This is default slot content for the CardCore component.</p>
65
- <p class="page-body-normal">As it's a slot, any html content can be placed here.</p>
66
- </template>
67
- <template #footer>
68
- <p class="page-body-small">CardCore Footer</p>
69
- </template>
70
- </CardCore>
71
- </GlowingBorder>
72
- </PageRow>
73
- </template>
74
- </NuxtLayout>
75
- </div>
76
- </template>
77
-
78
- <script setup lang="ts">
79
- definePageMeta({
80
- layout: false,
81
- });
82
-
83
- useHead({
84
- title: "GlowingBorder Component",
85
- meta: [
86
- {
87
- name: "description",
88
- content: "GlowingBorder Component description content",
89
- },
90
- ],
91
- bodyAttrs: {
92
- class: "glowing-border-page",
93
- },
94
- });
95
-
96
- const glowingBorderVariant = ref("vivid");
97
- const cardCoreVariant = ref<"outline" | "solid" | "subtle" | "soft">("solid");
98
- const hasDividers = ref(false);
99
- const noOutline = ref(false);
100
- </script>
101
-
102
- <style lang="css">
103
- .glowing-border-page {
104
- form {
105
- display: flex;
106
- gap: 2rem;
107
- flex-wrap: wrap;
108
- margin-bottom: 2rem;
109
- }
110
- }
111
- </style>
@@ -1,72 +0,0 @@
1
- <template>
2
- <div>
3
- <NuxtLayout name="default">
4
- <template #layout-content>
5
- <PageRow tag="div" variant="content" :style-class-passthrough="['mbe-20']">
6
- <h1 class="page-heading-2">Layout Content Docs</h1>
7
-
8
- <CanvasSwitcher v-model:canvas-name="canvasName" />
9
- </PageRow>
10
-
11
- <PageRow tag="div" variant="content" :style-class-passthrough="['mbe-20']">
12
- <div :class="[canvasName]">
13
- <ContentDocs
14
- v-model:active-nav-item="activeNavItem"
15
- v-model:active-page-nav-item="activePageNavItem"
16
- :docs-nav-items="docsNavItems"
17
- :docs-page-nav-items="docsPageNavItems"
18
- >
19
- <template #docsContent>
20
- <h3 class="page-heading-3">Docs Content</h3>
21
- <p>
22
- Mi nibh quisque taciti porta curabitur nostra volutpat. Habitant sodales arcu habitasse mi duis
23
- conubia leo lacinia. Montes torquent sodales adipiscing; proin semper feugiat morbi ullamcorper
24
- praesent. Arcu luctus tempor quam ligula vestibulum sapien faucibus ridiculus. Cursus consequat
25
- ultricies consectetur class suscipit quisque convallis eget? Dignissim mattis luctus enim habitant
26
- porta pretium litora. Parturient montes imperdiet massa; sollicitudin varius hac aptent. Eleifend
27
- parturient mattis tellus nisi a montes.
28
- </p>
29
- </template>
30
- </ContentDocs>
31
- </div>
32
- </PageRow>
33
- </template>
34
- </NuxtLayout>
35
- </div>
36
- </template>
37
-
38
- <script setup lang="ts">
39
- import type { MediaCanvas, DocsNavItem } from "~/types/components";
40
- definePageMeta({
41
- layout: false,
42
- });
43
-
44
- useHead({
45
- title: "UI Layout Content Docs",
46
- meta: [{ name: "description", content: "Examples of UI Component Layout Content Docs" }],
47
- bodyAttrs: {
48
- class: "content-docs-demo-page",
49
- },
50
- });
51
-
52
- const canvasName = ref<MediaCanvas>("mobileCanvas");
53
-
54
- const docsNavItems: DocsNavItem[] = [
55
- { label: "Getting started", to: "/ui/layout-content-docs", icon: "lucide:rocket" },
56
- { label: "Installation", to: "/ui/layout-content-docs#installation", icon: "lucide:download" },
57
- { label: "Configuration", to: "/ui/layout-content-docs#configuration" },
58
- { label: "Theming", to: "/ui/layout-content-docs#theming", icon: "lucide:palette" },
59
- { label: "Accessibility", to: "/ui/layout-content-docs#accessibility" },
60
- { label: "Troubleshooting", to: "/ui/layout-content-docs#troubleshooting", icon: "lucide:life-buoy" },
61
- ];
62
-
63
- const docsPageNavItems: DocsNavItem[] = [
64
- { label: "Overview", to: "/ui/layout-content-docs#overview", icon: "lucide:eye" },
65
- { label: "Examples", to: "/ui/layout-content-docs#examples" },
66
- { label: "Props", to: "/ui/layout-content-docs#props", icon: "lucide:settings-2" },
67
- { label: "Slots", to: "/ui/layout-content-docs#slots" },
68
- ];
69
-
70
- const activeNavItem = ref<string | undefined>(docsNavItems[0]?.to);
71
- const activePageNavItem = ref<string | undefined>(undefined);
72
- </script>
@@ -1,96 +0,0 @@
1
- <template>
2
- <div>
3
- <NuxtLayout name="default">
4
- <template #layout-content>
5
- <PageRow tag="div" variant="full" :style-class-passthrough="['mbe-20']">
6
- <h1 class="page-heading-2">Layout Grid 'A'</h1>
7
-
8
- <CanvasSwitcher v-model:canvas-name="canvasName" />
9
- </PageRow>
10
-
11
- <PageRow tag="div" variant="popout" :style-class-passthrough="['mbe-20']">
12
- <LayoutGridA :style-class-passthrough="[canvasName]">
13
- <template #slot1>
14
- <h3 class="page-heading-3">Slot 1</h3>
15
- <p>
16
- Lorem ipsum odor amet, consectetuer adipiscing elit. Nec elementum maecenas placerat laoreet curae elit
17
- convallis himenaeos. Tellus varius cursus convallis commodo suspendisse litora. Platea accumsan interdum
18
- ultrices adipiscing molestie cras dui. Vehicula egestas nisi sagittis fames metus velit. Sodales blandit
19
- nisi eu dis sit, ridiculus aliquam. Morbi tellus eu in penatibus torquent tortor. Platea gravida nam;
20
- egestas enim nostra ultricies.
21
- </p>
22
- </template>
23
- <template #slot2>
24
- <h3 class="page-heading-3">Slot 2</h3>
25
- <p>
26
- Mi nibh quisque taciti porta curabitur nostra volutpat. Habitant sodales arcu habitasse mi duis conubia
27
- leo lacinia. Montes torquent sodales adipiscing; proin semper feugiat morbi ullamcorper praesent. Arcu
28
- luctus tempor quam ligula vestibulum sapien faucibus ridiculus. Cursus consequat ultricies consectetur
29
- class suscipit quisque convallis eget? Dignissim mattis luctus enim habitant porta pretium litora.
30
- Parturient montes imperdiet massa; sollicitudin varius hac aptent. Eleifend parturient mattis tellus
31
- nisi a montes.
32
- </p>
33
- </template>
34
- <template #slot3>
35
- <h3 class="page-heading-3">Slot 3</h3>
36
- <p>
37
- Mi nibh quisque taciti porta curabitur nostra volutpat. Habitant sodales arcu habitasse mi duis conubia
38
- leo lacinia. Montes torquent sodales adipiscing; proin semper feugiat morbi ullamcorper praesent. Arcu
39
- luctus tempor quam ligula vestibulum sapien faucibus ridiculus. Cursus consequat ultricies consectetur
40
- class suscipit quisque convallis eget? Dignissim mattis luctus enim habitant porta pretium litora.
41
- Parturient montes imperdiet massa; sollicitudin varius hac aptent. Eleifend parturient mattis tellus
42
- nisi a montes.
43
- </p>
44
- </template>
45
- <template #slot4>
46
- <h3 class="page-heading-3">Slot 4</h3>
47
- <p>
48
- Mi nibh quisque taciti porta curabitur nostra volutpat. Habitant sodales arcu habitasse mi duis conubia
49
- leo lacinia. Montes torquent sodales adipiscing; proin semper feugiat morbi ullamcorper praesent. Arcu
50
- luctus tempor quam ligula vestibulum sapien faucibus ridiculus. Cursus consequat ultricies consectetur
51
- class suscipit quisque convallis eget? Dignissim mattis luctus enim habitant porta pretium litora.
52
- Parturient montes imperdiet massa; sollicitudin varius hac aptent. Eleifend parturient mattis tellus
53
- nisi a montes.
54
- </p>
55
- </template>
56
- </LayoutGridA>
57
- </PageRow>
58
-
59
- <PageRow tag="div" variant="full" :style-class-passthrough="['mbe-20']">
60
- <h2 class="page-heading-2">Full Width</h2>
61
- <p>
62
- Lorem ipsum odor amet, consectetuer adipiscing elit. Nec elementum maecenas placerat laoreet curae elit
63
- convallis himenaeos. Tellus varius cursus convallis commodo suspendisse litora. Platea accumsan interdum
64
- ultrices adipiscing molestie cras dui. Vehicula egestas nisi sagittis fames metus velit. Sodales blandit
65
- nisi eu dis sit, ridiculus aliquam. Morbi tellus eu in penatibus torquent tortor. Platea gravida nam;
66
- egestas enim nostra ultricies.
67
- </p>
68
- <p>
69
- Mi nibh quisque taciti porta curabitur nostra volutpat. Habitant sodales arcu habitasse mi duis conubia leo
70
- lacinia. Montes torquent sodales adipiscing; proin semper feugiat morbi ullamcorper praesent. Arcu luctus
71
- tempor quam ligula vestibulum sapien faucibus ridiculus. Cursus consequat ultricies consectetur class
72
- suscipit quisque convallis eget? Dignissim mattis luctus enim habitant porta pretium litora. Parturient
73
- montes imperdiet massa; sollicitudin varius hac aptent. Eleifend parturient mattis tellus nisi a montes.
74
- </p>
75
- </PageRow>
76
- </template>
77
- </NuxtLayout>
78
- </div>
79
- </template>
80
-
81
- <script setup lang="ts">
82
- import type { MediaCanvas } from "~/types/components";
83
- definePageMeta({
84
- layout: false,
85
- });
86
-
87
- useHead({
88
- title: "UI Layout Row",
89
- meta: [{ name: "description", content: "Examples of UI Component Layout Row" }],
90
- bodyAttrs: {
91
- class: "home",
92
- },
93
- });
94
-
95
- const canvasName = ref<MediaCanvas>("desktopCanvas");
96
- </script>
@@ -1,132 +0,0 @@
1
- <template>
2
- <div>
3
- <NuxtLayout name="default">
4
- <template #layout-content>
5
- <PageRow tag="div" variant="full" :style-class-passthrough="['mbe-20']">
6
- <h1 class="page-heading-2">Layout Grid 'B'</h1>
7
- <CanvasSwitcher v-model:canvas-name="canvasName" />
8
- </PageRow>
9
-
10
- <PageRow tag="div" variant="full" :style-class-passthrough="['mbe-20']">
11
- <LayoutGridB :top-row-slot1-item-count="6" :bottom-row-item-count="4" :style-class-passthrough="[canvasName]">
12
- <template #[`top-row-slot1-1-content`]>
13
- <p class="p-24">This is content slot 1</p>
14
- </template>
15
- <template #[`top-row-slot1-2-content`]>
16
- <p class="p-24">This is content slot 2</p>
17
- </template>
18
- <template #[`top-row-slot1-3-content`]>
19
- <p class="p-24">This is content slot 3</p>
20
- </template>
21
- <template #[`top-row-slot1-4-content`]>
22
- <p class="p-24">This is content slot 4</p>
23
- </template>
24
- <template #[`top-row-slot1-5-content`]>
25
- <p class="p-24">This is content slot 5</p>
26
- </template>
27
- <template #[`top-row-slot1-6-content`]>
28
- <p class="p-24">This is content slot 6</p>
29
- </template>
30
-
31
- <template #top-row-slot-2>
32
- <h2 class="page-heading-3">Top row slot 2</h2>
33
- <p>
34
- Lorem ipsum odor amet, consectetuer adipiscing elit. Nec elementum maecenas placerat laoreet curae elit
35
- convallis himenaeos. Tellus varius cursus convallis commodo suspendisse litora. Platea accumsan interdum
36
- ultrices adipiscing molestie cras dui. Vehicula egestas nisi sagittis fames metus velit. Sodales blandit
37
- nisi eu dis sit, ridiculus aliquam. Morbi tellus eu in penatibus torquent tortor. Platea gravida nam;
38
- egestas enim nostra ultricies.
39
- </p>
40
- <p>
41
- Mi nibh quisque taciti porta curabitur nostra volutpat. Habitant sodales arcu habitasse mi duis conubia
42
- leo lacinia. Montes torquent sodales adipiscing; proin semper feugiat morbi ullamcorper praesent. Arcu
43
- luctus tempor quam ligula vestibulum sapien faucibus ridiculus. Cursus consequat ultricies consectetur
44
- class suscipit quisque convallis eget? Dignissim mattis luctus enim habitant porta pretium litora.
45
- Parturient montes imperdiet massa; sollicitudin varius hac aptent. Eleifend parturient mattis tellus
46
- nisi a montes.
47
- </p>
48
- </template>
49
-
50
- <template #top-row-slot-3>
51
- <h2 class="page-heading-3">Top row slot 3</h2>
52
- <p>
53
- Lorem ipsum odor amet, consectetuer adipiscing elit. Nec elementum maecenas placerat laoreet curae elit
54
- convallis himenaeos. Tellus varius cursus convallis commodo suspendisse litora. Platea accumsan interdum
55
- ultrices adipiscing molestie cras dui. Vehicula egestas nisi sagittis fames metus velit. Sodales blandit
56
- nisi eu dis sit, ridiculus aliquam. Morbi tellus eu in penatibus torquent tortor. Platea gravida nam;
57
- egestas enim nostra ultricies.
58
- </p>
59
- <p>
60
- Mi nibh quisque taciti porta curabitur nostra volutpat. Habitant sodales arcu habitasse mi duis conubia
61
- leo lacinia. Montes torquent sodales adipiscing; proin semper feugiat morbi ullamcorper praesent. Arcu
62
- luctus tempor quam ligula vestibulum sapien faucibus ridiculus. Cursus consequat ultricies consectetur
63
- class suscipit quisque convallis eget? Dignissim mattis luctus enim habitant porta pretium litora.
64
- Parturient montes imperdiet massa; sollicitudin varius hac aptent. Eleifend parturient mattis tellus
65
- nisi a montes.
66
- </p>
67
- </template>
68
-
69
- <template #[`bottom-row-1-content`]>
70
- <h2 class="page-heading-3">This is content slot 1</h2>
71
- <p class="page-body-normal">
72
- Lorem ipsum odor amet, consectetuer adipiscing elit. Nec elementum maecenas placerat laoreet curae elit
73
- convallis himenaeos. Tellus varius cursus convallis commodo suspendisse litora. Platea accumsan interdum
74
- ultrices adipiscing molestie cras dui. Vehicula egestas nisi sagittis fames metus velit. Sodales blandit
75
- nisi eu dis sit, ridiculus aliquam. Morbi tellus eu in penatibus torquent tortor. Platea gravida nam;
76
- egestas enim nostra ultricies.
77
- </p>
78
- </template>
79
- <template #[`bottom-row-2-content`]>
80
- <h2 class="page-heading-3">This is content slot 2</h2>
81
- <p class="page-body-normal">
82
- Lorem ipsum odor amet, consectetuer adipiscing elit. Nec elementum maecenas placerat laoreet curae elit
83
- convallis himenaeos. Tellus varius cursus convallis commodo suspendisse litora. Platea accumsan interdum
84
- ultrices adipiscing molestie cras dui. Vehicula egestas nisi sagittis fames metus velit. Sodales blandit
85
- nisi eu dis sit, ridiculus aliquam. Morbi tellus eu in penatibus torquent tortor. Platea gravida nam;
86
- egestas enim nostra ultricies.
87
- </p>
88
- </template>
89
- <template #[`bottom-row-3-content`]>
90
- <h2 class="page-heading-3">This is content slot 3</h2>
91
- <p class="page-body-normal">
92
- Lorem ipsum odor amet, consectetuer adipiscing elit. Nec elementum maecenas placerat laoreet curae elit
93
- convallis himenaeos. Tellus varius cursus convallis commodo suspendisse litora. Platea accumsan interdum
94
- ultrices adipiscing molestie cras dui. Vehicula egestas nisi sagittis fames metus velit. Sodales blandit
95
- nisi eu dis sit, ridiculus aliquam. Morbi tellus eu in penatibus torquent tortor. Platea gravida nam;
96
- egestas enim nostra ultricies.
97
- </p>
98
- </template>
99
- <template #[`bottom-row-4-content`]>
100
- <h2 class="page-heading-3">This is content slot 4</h2>
101
- <p class="page-body-normal">
102
- Lorem ipsum odor amet, consectetuer adipiscing elit. Nec elementum maecenas placerat laoreet curae elit
103
- convallis himenaeos. Tellus varius cursus convallis commodo suspendisse litora. Platea accumsan interdum
104
- ultrices adipiscing molestie cras dui. Vehicula egestas nisi sagittis fames metus velit. Sodales blandit
105
- nisi eu dis sit, ridiculus aliquam. Morbi tellus eu in penatibus torquent tortor. Platea gravida nam;
106
- egestas enim nostra ultricies.
107
- </p>
108
- </template>
109
- </LayoutGridB>
110
- </PageRow>
111
- </template>
112
- </NuxtLayout>
113
- </div>
114
- </template>
115
-
116
- <script setup lang="ts">
117
- import type { MediaCanvas } from "~/types/components";
118
-
119
- definePageMeta({
120
- layout: false,
121
- });
122
-
123
- useHead({
124
- title: "UI Layout Row",
125
- meta: [{ name: "description", content: "Examples of UI Component Layout Row" }],
126
- bodyAttrs: {
127
- class: "home",
128
- },
129
- });
130
-
131
- const canvasName = ref<MediaCanvas>("desktopCanvas");
132
- </script>
@@ -1,50 +0,0 @@
1
- <template>
2
- <div>
3
- <NuxtLayout name="default">
4
- <template #layout-content>
5
- <PageRow tag="div" variant="full" :style-class-passthrough="['mbe-20']">
6
- <h2 class="page-heading-2">Magnetic Navigation</h2>
7
- </PageRow>
8
-
9
- <PageRow tag="div" variant="full" :style-class-passthrough="['mbe-20']">
10
- <MagneticNavigation />
11
- </PageRow>
12
- </template>
13
- </NuxtLayout>
14
- </div>
15
- </template>
16
-
17
- <script setup lang="ts">
18
- definePageMeta({
19
- layout: false,
20
- });
21
-
22
- useHead({
23
- title: "Magnetic Navigation",
24
- meta: [
25
- {
26
- name: "description",
27
- content: "MagneticNavigation Meta description content",
28
- },
29
- ],
30
- bodyAttrs: {
31
- class: "magnetic-navigation-page",
32
- },
33
- });
34
- </script>
35
-
36
- <style lang="css">
37
- .magnetic-navigation-page {
38
- /* CSS styles */
39
- --_background-image: url("/images/rotating-carousel/image-2.webp");
40
- --_background-position: 0 0;
41
-
42
- background-image: var(--_background-image);
43
- background-size: cover;
44
- background-position: var(--_background-position);
45
- background-attachment: fixed;
46
-
47
- .magnetic-navigation {
48
- }
49
- }
50
- </style>
@@ -1,99 +0,0 @@
1
- <template>
2
- <div>
3
- <NuxtLayout name="default">
4
- <template #layout-content>
5
- <PageRow tag="div" variant="full" :style-class-passthrough="['mbe-20']">
6
- <h1 class="page-heading-1">Marquee Scroller</h1>
7
-
8
- <MarqueeScroller
9
- animation-runtime="20s"
10
- :marquee-data
11
- :item-config="{ width: '100px', height: '100px', quantity: marqueeData.length }"
12
- :reverse="false"
13
- >
14
- <template v-for="item in marqueeData" :key="item.id" #[item.id]>
15
- <div class="item-inner">
16
- <h3>ID: {{ item.id }}</h3>
17
- <p>{{ item.content }}</p>
18
- </div>
19
- </template>
20
- </MarqueeScroller>
21
- </PageRow>
22
- </template>
23
- </NuxtLayout>
24
- </div>
25
- </template>
26
-
27
- <script setup lang="ts">
28
- definePageMeta({
29
- layout: false,
30
- });
31
-
32
- useHead({
33
- title: "Typography",
34
- meta: [{ name: "description", content: "Typography" }],
35
- bodyAttrs: {
36
- class: "page-marquee-scroller",
37
- },
38
- });
39
-
40
- const marqueeData = [
41
- {
42
- id: 1,
43
- content: "Item 1",
44
- },
45
- {
46
- id: 2,
47
- content: "Item 2",
48
- },
49
- {
50
- id: 3,
51
- content: "Item 3",
52
- },
53
- {
54
- id: 4,
55
- content: "Item 4",
56
- },
57
- {
58
- id: 5,
59
- content: "Item 5",
60
- },
61
- {
62
- id: 6,
63
- content: "Item 6",
64
- },
65
- {
66
- id: 7,
67
- content: "Item 7",
68
- },
69
- {
70
- id: 8,
71
- content: "Item 8",
72
- },
73
- {
74
- id: 9,
75
- content: "Item 9",
76
- },
77
- {
78
- id: 10,
79
- content: "Item 10",
80
- },
81
- {
82
- id: 11,
83
- content: "Item 11",
84
- },
85
- {
86
- id: 12,
87
- content: "Item 12",
88
- },
89
- {
90
- id: 13,
91
- content: "Item 13",
92
- },
93
- ];
94
- </script>
95
-
96
- <style lang="css">
97
- .page-marquee-scroller {
98
- }
99
- </style>
@@ -1,104 +0,0 @@
1
- <template>
2
- <div>
3
- <NuxtLayout name="default">
4
- <template #layout-content>
5
- <PageRow tag="div" variant="full" :style-class-passthrough="['mbe-20']">
6
- <h2 class="page-heading-2">Mask Element</h2>
7
-
8
- <div class="test-mask-element">
9
- <AlertMaskCore
10
- :config="{
11
- backgroundColour: 'rgba(0,0,0,0.25)',
12
- borderColour: 'var(--orange-06)',
13
- radiusLeft: 12,
14
- radiusRight: 4,
15
- borderLeft: 12,
16
- borderTop: 1,
17
- borderRight: 1,
18
- borderBottom: 1,
19
- }"
20
- :style-class-passthrough="['test-alert']"
21
- >
22
- <div class="some-local-class">
23
- <p>Constant-radius masked border demo, and some more text</p>
24
- </div>
25
- </AlertMaskCore>
26
-
27
- <div class="test-mask-element">
28
- <AlertMaskCore
29
- :left-border-only="true"
30
- :config="{
31
- backgroundColour: 'rgba(0,0,0,0.25)',
32
- borderColour: 'var(--red-06)',
33
- radiusLeft: 12,
34
- radiusRight: 4,
35
- borderLeft: 12,
36
- borderTop: 1,
37
- borderRight: 1,
38
- borderBottom: 1,
39
- }"
40
- :style-class-passthrough="['test-alert']"
41
- >
42
- <div class="some-local-class">
43
- <p>Compact</p>
44
- </div>
45
- </AlertMaskCore>
46
- </div>
47
- </div>
48
- </PageRow>
49
- </template>
50
- </NuxtLayout>
51
- </div>
52
- </template>
53
-
54
- <script setup lang="ts">
55
- definePageMeta({
56
- layout: false,
57
- });
58
-
59
- useHead({
60
- title: "Mask Element",
61
- meta: [
62
- {
63
- name: "description",
64
- content: "Mask Element Meta description content",
65
- },
66
- ],
67
- bodyAttrs: {
68
- class: "mask-element-page",
69
- },
70
- });
71
- </script>
72
-
73
- <style lang="css">
74
- .mask-element-page {
75
- --_background-image: url("/images/rotating-carousel/image-2.webp");
76
- --_background-position: 0 0;
77
-
78
- background-image: var(--_background-image);
79
- background-size: cover;
80
- background-position: var(--_background-position);
81
- background-attachment: fixed;
82
-
83
- .test-mask-element {
84
- position: relative;
85
- margin-top: 100px;
86
- display: grid;
87
- justify-self: center;
88
-
89
- .alert-mask-core {
90
- &.test-alert {
91
- /* width: 600px; */
92
-
93
- .alert-mask-content-slot {
94
- .some-local-class {
95
- color: white;
96
- padding-block: 0.4rem;
97
- padding-inline: 0.8rem;
98
- }
99
- }
100
- }
101
- }
102
- }
103
- }
104
- </style>