srcdev-nuxt-components 9.3.7 → 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 (108) hide show
  1. package/.claude/hooks/check-component-update.sh +30 -1
  2. package/.claude/skills/components/breadcrumb.md +49 -0
  3. package/.claude/skills/components/content-docs.md +1 -1
  4. package/.claude/skills/components/service-detail.md +156 -0
  5. package/.claude/skills/components/services-card-grid.md +9 -9
  6. package/.claude/skills/components/services-card.md +82 -30
  7. package/.claude/skills/index.md +3 -1
  8. package/.claude/skills/qa-panel.md +2 -2
  9. package/.vscode/srcdev-component-breadcrumb.code-snippets +14 -0
  10. package/.vscode/srcdev-component-service-detail.code-snippets +49 -0
  11. package/.vscode/srcdev-component-services-card.code-snippets +108 -0
  12. package/app/components/01.atoms/navigation/breadcrumb/Breadcrumb.vue +94 -0
  13. package/app/components/01.atoms/navigation/breadcrumb/CONSUMER-STYLING.md +32 -0
  14. package/app/components/01.atoms/navigation/breadcrumb/stories/Breadcrumb.stories.ts +87 -0
  15. package/app/components/01.atoms/navigation/breadcrumb/tests/Breadcrumb.spec.ts +87 -0
  16. package/app/components/01.atoms/navigation/breadcrumb/tests/__snapshots__/Breadcrumb.spec.ts.snap +13 -0
  17. package/app/components/03.organisms/services/service-detail/CONSUMER-STYLING.md +181 -0
  18. package/app/components/03.organisms/services/service-detail/ServiceDetail.vue +480 -0
  19. package/app/components/03.organisms/services/service-detail/stories/ServiceDetail.stories.ts +282 -0
  20. package/app/components/03.organisms/services/service-detail/tests/ServiceDetail.spec.ts +270 -0
  21. package/app/components/03.organisms/services/service-detail/tests/__snapshots__/ServiceDetail.spec.ts.snap +99 -0
  22. package/app/components/03.organisms/services/services-card/CONSUMER-STYLING.md +129 -0
  23. package/app/components/03.organisms/services/services-card/ServicesCard.vue +153 -39
  24. package/app/components/03.organisms/services/services-card/stories/ServicesCard.stories.ts +65 -0
  25. package/app/components/03.organisms/services/services-card/tests/ServicesCard.spec.ts +82 -0
  26. package/app/components/03.organisms/services/services-card/tests/__snapshots__/ServicesCard.spec.ts.snap +13 -5
  27. package/app/components/03.organisms/services/services-grids/ServicesCardGrid.vue +3 -7
  28. package/app/components/03.organisms/services/services-grids/stories/ServicesCardGrid.stories.ts +126 -2
  29. package/app/components/03.organisms/services/services-grids/stories/ServicesSectionGrid.stories.ts +6 -0
  30. package/app/components/03.organisms/services/services-grids/tests/__snapshots__/ServicesCardGrid.spec.ts.snap +51 -27
  31. package/app/types/components/breadcrumb.ts +4 -0
  32. package/app/types/components/index.ts +1 -0
  33. package/package.json +2 -2
  34. package/app/pages/auto-grid.vue +0 -328
  35. package/app/pages/banner-video.vue +0 -238
  36. package/app/pages/forms/examples/buttons/index.vue +0 -259
  37. package/app/pages/forms/examples/material/checkbox-radio-panels.vue +0 -244
  38. package/app/pages/forms/examples/material/cssbattle.vue +0 -60
  39. package/app/pages/forms/examples/material/text-fields.vue +0 -910
  40. package/app/pages/grid-stack.vue +0 -252
  41. package/app/pages/index.vue +0 -127
  42. package/app/pages/page-hero-highlights.vue +0 -204
  43. package/app/pages/samaritan.vue +0 -327
  44. package/app/pages/typography/hero-text.vue +0 -97
  45. package/app/pages/typography/index.vue +0 -39
  46. package/app/pages/typography/page-body.vue +0 -171
  47. package/app/pages/typography/page-heading.vue +0 -76
  48. package/app/pages/typography/page-link.vue +0 -103
  49. package/app/pages/ui/accordian.vue +0 -211
  50. package/app/pages/ui/anchor-scroll-tab-navigation.vue +0 -191
  51. package/app/pages/ui/anchor-scroll.vue +0 -367
  52. package/app/pages/ui/animated-svg-text.vue +0 -85
  53. package/app/pages/ui/block-decorators.vue +0 -142
  54. package/app/pages/ui/card-core.vue +0 -82
  55. package/app/pages/ui/carousel-basic.vue +0 -292
  56. package/app/pages/ui/carousel-flip.vue +0 -449
  57. package/app/pages/ui/carousel-infinite.vue +0 -260
  58. package/app/pages/ui/clipped-panels.vue +0 -101
  59. package/app/pages/ui/contact-section.vue +0 -323
  60. package/app/pages/ui/container-glow.vue +0 -106
  61. package/app/pages/ui/content-width.vue +0 -126
  62. package/app/pages/ui/deep-expanding-menu.vue +0 -138
  63. package/app/pages/ui/display-avatar.vue +0 -253
  64. package/app/pages/ui/display-banner.vue +0 -78
  65. package/app/pages/ui/display-chip.vue +0 -367
  66. package/app/pages/ui/display-details.vue +0 -171
  67. package/app/pages/ui/display-dialog.vue +0 -344
  68. package/app/pages/ui/display-pill.vue +0 -396
  69. package/app/pages/ui/display-prompt.vue +0 -284
  70. package/app/pages/ui/display-toast.vue +0 -311
  71. package/app/pages/ui/expanding-panel.vue +0 -326
  72. package/app/pages/ui/glowing-border.vue +0 -111
  73. package/app/pages/ui/layout-content-docs.vue +0 -72
  74. package/app/pages/ui/layout-grid-a.vue +0 -96
  75. package/app/pages/ui/layout-grid-b.vue +0 -132
  76. package/app/pages/ui/magnetic-navigation.vue +0 -50
  77. package/app/pages/ui/marquee-scroller.vue +0 -99
  78. package/app/pages/ui/mask-element.vue +0 -104
  79. package/app/pages/ui/masonry-columns.vue +0 -55
  80. package/app/pages/ui/masonry-grid-ordered-experiment.vue +0 -79
  81. package/app/pages/ui/masonry-grid-ordered.vue +0 -56
  82. package/app/pages/ui/masonry-grid-sorted.vue +0 -55
  83. package/app/pages/ui/masonry-grid.vue +0 -55
  84. package/app/pages/ui/navigation/navigation-horizontal.vue +0 -484
  85. package/app/pages/ui/navigation/site-navigation/about.vue +0 -36
  86. package/app/pages/ui/navigation/site-navigation/contact.vue +0 -39
  87. package/app/pages/ui/navigation/site-navigation/index.vue +0 -38
  88. package/app/pages/ui/navigation/site-navigation/portfolio.vue +0 -43
  89. package/app/pages/ui/navigation/site-navigation/services.vue +0 -42
  90. package/app/pages/ui/navigation/tab-navigation.vue +0 -493
  91. package/app/pages/ui/page-row.vue +0 -127
  92. package/app/pages/ui/price-list.vue +0 -65
  93. package/app/pages/ui/profile-section.vue +0 -142
  94. package/app/pages/ui/qr-code/[componentName].vue +0 -218
  95. package/app/pages/ui/rotating-carousel.vue +0 -154
  96. package/app/pages/ui/scroll-reveal-image.vue +0 -483
  97. package/app/pages/ui/section-parallax.vue +0 -54
  98. package/app/pages/ui/services/colour-finder.vue +0 -43
  99. package/app/pages/ui/services/services-cards.vue +0 -57
  100. package/app/pages/ui/services/services-section/[slug].vue +0 -61
  101. package/app/pages/ui/services/services-sections-compact.vue +0 -64
  102. package/app/pages/ui/settings.vue +0 -54
  103. package/app/pages/ui/simple-grid.vue +0 -55
  104. package/app/pages/ui/slider-gallery.vue +0 -261
  105. package/app/pages/ui/tabs-y.vue +0 -107
  106. package/app/pages/ui/tabs.vue +0 -189
  107. package/app/pages/ui/tooltips.vue +0 -104
  108. 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>