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.
- package/.claude/hooks/check-component-update.sh +30 -1
- package/.claude/skills/components/accordian-core.md +7 -7
- package/.claude/skills/components/breadcrumb.md +49 -0
- package/.claude/skills/components/content-docs.md +2 -1
- package/.claude/skills/components/expanding-panel.md +5 -5
- package/.claude/skills/components/navigation-items.md +1 -0
- package/.claude/skills/components/responsive-header.md +1 -0
- package/.claude/skills/components/service-detail.md +156 -0
- package/.claude/skills/components/services-card-grid.md +9 -9
- package/.claude/skills/components/services-card.md +82 -30
- package/.claude/skills/index.md +3 -1
- package/.claude/skills/qa-panel.md +2 -2
- package/.vscode/srcdev-component-breadcrumb.code-snippets +14 -0
- package/.vscode/srcdev-component-service-detail.code-snippets +49 -0
- package/.vscode/srcdev-component-services-card.code-snippets +108 -0
- package/app/components/01.atoms/content-wrappers/docs-pages/ContentDocs.vue +22 -16
- package/app/components/01.atoms/navigation/breadcrumb/Breadcrumb.vue +94 -0
- package/app/components/01.atoms/navigation/breadcrumb/CONSUMER-STYLING.md +32 -0
- package/app/components/01.atoms/navigation/breadcrumb/stories/Breadcrumb.stories.ts +87 -0
- package/app/components/01.atoms/navigation/breadcrumb/tests/Breadcrumb.spec.ts +87 -0
- package/app/components/01.atoms/navigation/breadcrumb/tests/__snapshots__/Breadcrumb.spec.ts.snap +13 -0
- package/app/components/02.molecules/expandable/accordian/AccordianCore.vue +5 -1
- package/app/components/02.molecules/expandable/accordian/tests/AccordianCore.spec.ts +22 -14
- package/app/components/02.molecules/expandable/accordian/tests/__snapshots__/AccordianCore.spec.ts.snap +42 -28
- package/app/components/02.molecules/expandable/expanding-panel/CONSUMER-STYLING.md +8 -10
- package/app/components/02.molecules/expandable/expanding-panel/ExpandingPanel.vue +15 -47
- package/app/components/02.molecules/expandable/expanding-panel/tests/__snapshots__/ExpandingPanel.spec.ts.snap +4 -12
- package/app/components/03.organisms/responsive-header/NavigationItems.vue +91 -4
- package/app/components/03.organisms/responsive-header/ResponsiveHeader.vue +5 -1
- package/app/components/03.organisms/responsive-header/tests/NavigationItems.spec.ts +2 -2
- package/app/components/03.organisms/responsive-header/tests/__snapshots__/NavigationItems.spec.ts.snap +13 -13
- package/app/components/03.organisms/responsive-header/tests/__snapshots__/ResponsiveHeader.spec.ts.snap +13 -13
- package/app/components/03.organisms/services/service-detail/CONSUMER-STYLING.md +181 -0
- package/app/components/03.organisms/services/service-detail/ServiceDetail.vue +480 -0
- package/app/components/03.organisms/services/service-detail/stories/ServiceDetail.stories.ts +282 -0
- package/app/components/03.organisms/services/service-detail/tests/ServiceDetail.spec.ts +270 -0
- package/app/components/03.organisms/services/service-detail/tests/__snapshots__/ServiceDetail.spec.ts.snap +99 -0
- package/app/components/03.organisms/services/services-card/CONSUMER-STYLING.md +129 -0
- package/app/components/03.organisms/services/services-card/ServicesCard.vue +153 -39
- package/app/components/03.organisms/services/services-card/stories/ServicesCard.stories.ts +65 -0
- package/app/components/03.organisms/services/services-card/tests/ServicesCard.spec.ts +82 -0
- package/app/components/03.organisms/services/services-card/tests/__snapshots__/ServicesCard.spec.ts.snap +13 -5
- package/app/components/03.organisms/services/services-grids/ServicesCardGrid.vue +3 -7
- package/app/components/03.organisms/services/services-grids/stories/ServicesCardGrid.stories.ts +126 -2
- package/app/components/03.organisms/services/services-grids/stories/ServicesSectionGrid.stories.ts +6 -0
- package/app/components/03.organisms/services/services-grids/tests/__snapshots__/ServicesCardGrid.spec.ts.snap +51 -27
- package/app/components/03.organisms/services/services-section/ServicesSection.vue +19 -0
- package/app/components/03.organisms/services/services-section/tests/__snapshots__/ServicesSection.spec.ts.snap +8 -8
- package/app/types/components/breadcrumb.ts +4 -0
- package/app/types/components/index.ts +1 -0
- package/package.json +2 -2
- package/app/pages/auto-grid.vue +0 -328
- package/app/pages/banner-video.vue +0 -238
- package/app/pages/forms/examples/buttons/index.vue +0 -259
- package/app/pages/forms/examples/material/checkbox-radio-panels.vue +0 -244
- package/app/pages/forms/examples/material/cssbattle.vue +0 -60
- package/app/pages/forms/examples/material/text-fields.vue +0 -910
- package/app/pages/grid-stack.vue +0 -252
- package/app/pages/index.vue +0 -127
- package/app/pages/page-hero-highlights.vue +0 -204
- package/app/pages/samaritan.vue +0 -327
- package/app/pages/typography/hero-text.vue +0 -97
- package/app/pages/typography/index.vue +0 -39
- package/app/pages/typography/page-body.vue +0 -171
- package/app/pages/typography/page-heading.vue +0 -76
- package/app/pages/typography/page-link.vue +0 -103
- package/app/pages/ui/accordian.vue +0 -211
- package/app/pages/ui/anchor-scroll-tab-navigation.vue +0 -191
- package/app/pages/ui/anchor-scroll.vue +0 -367
- package/app/pages/ui/animated-svg-text.vue +0 -85
- package/app/pages/ui/block-decorators.vue +0 -142
- package/app/pages/ui/card-core.vue +0 -82
- package/app/pages/ui/carousel-basic.vue +0 -292
- package/app/pages/ui/carousel-flip.vue +0 -449
- package/app/pages/ui/carousel-infinite.vue +0 -260
- package/app/pages/ui/clipped-panels.vue +0 -101
- package/app/pages/ui/contact-section.vue +0 -323
- package/app/pages/ui/container-glow.vue +0 -106
- package/app/pages/ui/content-width.vue +0 -126
- package/app/pages/ui/deep-expanding-menu.vue +0 -138
- package/app/pages/ui/display-avatar.vue +0 -253
- package/app/pages/ui/display-banner.vue +0 -78
- package/app/pages/ui/display-chip.vue +0 -367
- package/app/pages/ui/display-details.vue +0 -171
- package/app/pages/ui/display-dialog.vue +0 -344
- package/app/pages/ui/display-pill.vue +0 -396
- package/app/pages/ui/display-prompt.vue +0 -284
- package/app/pages/ui/display-toast.vue +0 -311
- package/app/pages/ui/expanding-panel.vue +0 -326
- package/app/pages/ui/glowing-border.vue +0 -111
- package/app/pages/ui/layout-content-docs.vue +0 -72
- package/app/pages/ui/layout-grid-a.vue +0 -96
- package/app/pages/ui/layout-grid-b.vue +0 -132
- package/app/pages/ui/magnetic-navigation.vue +0 -50
- package/app/pages/ui/marquee-scroller.vue +0 -99
- package/app/pages/ui/mask-element.vue +0 -104
- package/app/pages/ui/masonry-columns.vue +0 -55
- package/app/pages/ui/masonry-grid-ordered-experiment.vue +0 -79
- package/app/pages/ui/masonry-grid-ordered.vue +0 -56
- package/app/pages/ui/masonry-grid-sorted.vue +0 -55
- package/app/pages/ui/masonry-grid.vue +0 -55
- package/app/pages/ui/navigation/navigation-horizontal.vue +0 -484
- package/app/pages/ui/navigation/site-navigation/about.vue +0 -36
- package/app/pages/ui/navigation/site-navigation/contact.vue +0 -39
- package/app/pages/ui/navigation/site-navigation/index.vue +0 -38
- package/app/pages/ui/navigation/site-navigation/portfolio.vue +0 -43
- package/app/pages/ui/navigation/site-navigation/services.vue +0 -42
- package/app/pages/ui/navigation/tab-navigation.vue +0 -493
- package/app/pages/ui/page-row.vue +0 -127
- package/app/pages/ui/price-list.vue +0 -65
- package/app/pages/ui/profile-section.vue +0 -142
- package/app/pages/ui/qr-code/[componentName].vue +0 -218
- package/app/pages/ui/rotating-carousel.vue +0 -154
- package/app/pages/ui/scroll-reveal-image.vue +0 -483
- package/app/pages/ui/section-parallax.vue +0 -54
- package/app/pages/ui/services/colour-finder.vue +0 -43
- package/app/pages/ui/services/services-cards.vue +0 -57
- package/app/pages/ui/services/services-section/[slug].vue +0 -61
- package/app/pages/ui/services/services-sections-compact.vue +0 -64
- package/app/pages/ui/settings.vue +0 -54
- package/app/pages/ui/simple-grid.vue +0 -55
- package/app/pages/ui/slider-gallery.vue +0 -261
- package/app/pages/ui/tabs-y.vue +0 -107
- package/app/pages/ui/tabs.vue +0 -189
- package/app/pages/ui/tooltips.vue +0 -104
- 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>
|