srcdev-nuxt-components 9.0.15 → 9.0.17
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/settings.json +25 -0
- package/.claude/skills/component-aria-landmark.md +68 -0
- package/.claude/skills/component-dynamic-slots.md +150 -0
- package/.claude/skills/component-export-types.md +61 -0
- package/.claude/skills/component-local-style-override.md +126 -0
- package/.claude/skills/component-prop-driven-container-layout.md +42 -0
- package/.claude/skills/components/accordian-core.md +159 -0
- package/.claude/skills/components/contact-section.md +101 -0
- package/.claude/skills/components/expanding-panel.md +156 -0
- package/.claude/skills/components/eyebrow-text.md +25 -0
- package/.claude/skills/components/hero-text.md +25 -0
- package/.claude/skills/components/layout-grid-by-cols.md +147 -0
- package/.claude/skills/components/layout-row.md +35 -0
- package/.claude/skills/components/link-text.md +33 -0
- package/.claude/skills/components/page-hero-highlights.md +224 -0
- package/.claude/skills/components/services-card.md +28 -0
- package/.claude/skills/components/services-section.md +25 -0
- package/.claude/skills/components/stepper-list.md +227 -0
- package/.claude/skills/css-grid-max-width-gutters.md +67 -0
- package/.claude/skills/index.md +15 -3
- package/.claude/skills/storybook-add-story.md +60 -0
- package/.claude/skills/testing-add-unit-test.md +56 -0
- package/app/assets/styles/setup/01.config/index.css +0 -1
- package/app/assets/styles/setup/03.theming/default/_dark.css +2 -2
- package/app/assets/styles/setup/04.elements/forms/02.typography.css +1 -0
- package/app/assets/styles/setup/05.typography/02.utility-classes/_font-classes-page-link.css +14 -14
- package/app/assets/styles/setup/index.css +0 -1
- package/app/components/01.atoms/card/CardCore.vue +92 -0
- package/app/components/01.atoms/card/stories/CardCore.stories.ts +132 -0
- package/app/components/01.atoms/card/tests/CardCore.spec.ts +207 -0
- package/app/components/01.atoms/card/tests/__snapshots__/CardCore.spec.ts.snap +43 -0
- package/app/components/01.atoms/content-wrappers/content-columns-2/ContentColumns2.vue +51 -0
- package/app/components/01.atoms/content-wrappers/content-columns-2/stories/ContentColumns2.stories.ts +110 -0
- package/app/components/01.atoms/content-wrappers/content-columns-2/tests/ContentColumns2.spec.ts +105 -0
- package/app/components/01.atoms/content-wrappers/content-columns-2/tests/__snapshots__/ContentColumns2.spec.ts.snap +14 -0
- package/app/components/01.atoms/content-wrappers/content-width/ContentWidth.vue +88 -0
- package/app/components/01.atoms/content-wrappers/content-width/stories/ContentWidth.stories.ts +362 -0
- package/app/components/01.atoms/content-wrappers/content-width/tests/ContentWidth.spec.ts +132 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-cols/LayoutGridByCols.vue +71 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-cols/stories/LayoutGridByCols.stories.ts +219 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-cols/tests/LayoutGridByCols.spec.ts +174 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-cols/tests/__snapshots__/LayoutGrid.spec.ts.snap +36 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-cols/tests/__snapshots__/LayoutGridByCols.spec.ts.snap +36 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-width/LayoutGridByWidth.vue +70 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-width/stories/LayoutGridByWidth.stories.ts +220 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-width/tests/LayoutGridByWidth.spec.ts +174 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-width/tests/__snapshots__/LayoutGrid.spec.ts.snap +36 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-width/tests/__snapshots__/LayoutGridByCols.spec.ts.snap +36 -0
- package/app/components/01.atoms/content-wrappers/layout-grid/layout-grid-by-width/tests/__snapshots__/LayoutGridByWidth.spec.ts.snap +36 -0
- package/app/components/01.atoms/text-blocks/eyebrow-text/stories/EyebrowText.stories.ts +1 -1
- package/app/components/01.atoms/text-blocks/hero-text/stories/HeroText.stories.ts +1 -1
- package/app/components/01.atoms/text-blocks/link-text/stories/LinkText.stories.ts +1 -1
- package/app/components/02.molecules/contact-section/stories/ContactSection.stories.ts +5 -0
- package/app/components/02.molecules/contact-section/tests/ContactSection.spec.ts +15 -0
- package/app/components/02.molecules/contact-section/tests/ContactSection.vue +25 -17
- package/app/components/{accordian → 02.molecules/expandable/accordian}/stories/AccordianCore.stories.ts +1 -1
- package/app/components/02.molecules/expandable/expanding-panel/stories/ExpandingPanel.stories.ts +245 -0
- package/app/components/02.molecules/expandable/expanding-panel/tests/ExpandingPanel.spec.ts +351 -0
- package/app/components/02.molecules/expandable/expanding-panel/tests/__snapshots__/ExpandingPanel.spec.ts.snap +38 -0
- package/app/components/02.molecules/navigation/navigation-horizontal/NavigationHorizontal.vue +162 -0
- package/app/components/02.molecules/navigation/navigation-horizontal/stories/NavigationHorizontal.stories.ts +373 -0
- package/app/components/02.molecules/navigation/navigation-horizontal/tests/NavigationHorizontal.spec.ts +152 -0
- package/app/components/02.molecules/navigation/navigation-horizontal/tests/__snapshots__/NavigationHorizontal.spec.ts.snap +17 -0
- package/app/components/02.molecules/profile-section/ProfileSection.vue +2 -3
- package/app/components/02.molecules/profile-section/tests/ProfileSection.spec.ts +2 -2
- package/app/components/02.molecules/stepper-list/StepperList.vue +131 -92
- package/app/components/02.molecules/stepper-list/stories/StepperList.stories.ts +31 -0
- package/app/components/02.molecules/stepper-list/tests/StepperList.spec.ts +24 -0
- package/app/components/02.molecules/stepper-list/tests/__snapshots__/StepperList.spec.ts.snap +22 -9
- package/app/components/03.organisms/image-galleries/slider-gallery/SliderGallery.vue +782 -0
- package/app/components/03.organisms/image-galleries/slider-gallery/stories/SliderGallery.stories.ts +233 -0
- package/app/components/03.organisms/image-galleries/slider-gallery/tests/SliderGallery.spec.ts +226 -0
- package/app/components/03.organisms/image-galleries/slider-gallery/tests/__snapshots__/SliderGallery.spec.ts.snap +69 -0
- package/app/components/03.organisms/services/services-grids/ServicesCardGrid.vue +1 -1
- package/app/components/03.organisms/services/services-grids/ServicesSectionGrid.vue +1 -1
- package/app/components/03.organisms/services/services-section/ServicesSection.vue +2 -3
- package/app/components/04.templates/page-hero-highlights/PageHeroHighlights.vue +239 -0
- package/app/components/04.templates/page-hero-highlights/stories/PageHeroHighlights.stories.ts +404 -0
- package/app/components/04.templates/page-hero-highlights/tests/PageHeroHighlights.spec.ts +198 -0
- package/app/components/04.templates/page-hero-highlights/tests/__snapshots__/PageHeroHighlights.spec.ts.snap +19 -0
- package/app/components/container-glow/ContainerGlowCore.vue +20 -27
- package/app/components/forms/input-button/InputButtonCore.vue +105 -104
- package/app/components/glowing-border/stories/GlowingBorder.stories.ts +21 -21
- package/app/composables/useAriaLabelledById.ts +13 -0
- package/app/layouts/default.vue +8 -3
- package/app/pages/forms/examples/buttons/index.vue +6 -6
- package/app/pages/forms/examples/material/checkbox-radio-panels.vue +3 -3
- package/app/pages/forms/examples/material/text-fields.vue +607 -610
- package/app/pages/page-hero-highlights.vue +81 -0
- package/app/pages/ui/{display-card.vue → card-core.vue} +15 -15
- package/app/pages/ui/contact-section.vue +1 -1
- package/app/pages/ui/container-glow.vue +1 -1
- package/app/pages/ui/content-width.vue +126 -0
- package/app/pages/ui/glowing-border.vue +9 -9
- package/app/pages/ui/navigation/navigation-horizontal.vue +484 -0
- package/app/pages/ui/services/services-section/[slug].vue +3 -1
- package/app/types/components/index.ts +1 -0
- package/app/types/components/navigation-horizontal.d.ts +11 -0
- package/package.json +2 -2
- package/app/assets/styles/setup/01.config/_basic-resets.css +0 -9
- package/app/components/content-columns/TwoColumns.vue +0 -59
- package/app/components/content-columns/stories/TwoColumns.stories.ts +0 -561
- package/app/components/content-containers/ContentContainer.vue +0 -89
- package/app/components/content-containers/stories/ContentContainer.stories.ts +0 -465
- package/app/components/content-grid/ContentGrid.vue +0 -85
- package/app/components/display-card/DisplayCard.vue +0 -122
- package/app/components/image-galleries/SliderGallery.vue +0 -786
- package/app/pages/ui/content-container.vue +0 -112
- /package/app/components/{accordian → 02.molecules/expandable/accordian}/AccordianCore.vue +0 -0
- /package/app/components/{accordian → 02.molecules/expandable/accordian}/tests/AccordianCore.spec.ts +0 -0
- /package/app/components/{accordian → 02.molecules/expandable/accordian}/tests/__snapshots__/AccordianCore.spec.ts.snap +0 -0
- /package/app/components/{expanding-panel → 02.molecules/expandable/expanding-panel}/ExpandingPanel.vue +0 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<NuxtLayout name="default">
|
|
4
|
+
<template #layout-content>
|
|
5
|
+
<PageHeroHighlights
|
|
6
|
+
max-width="1064px"
|
|
7
|
+
content-align="start"
|
|
8
|
+
:highlights-equal-widths="false"
|
|
9
|
+
highlights-justify="start"
|
|
10
|
+
:highlight-title-baseline="true"
|
|
11
|
+
:style-class-passthrough="['mbe-32']"
|
|
12
|
+
>
|
|
13
|
+
<template #header>
|
|
14
|
+
<div class="some-header-content">
|
|
15
|
+
<p class="page-heading-1">Dashboard</p>
|
|
16
|
+
<p class="page-body-normal">Overview of your account activity and key metrics.</p>
|
|
17
|
+
</div>
|
|
18
|
+
</template>
|
|
19
|
+
<template #highlights>
|
|
20
|
+
<div class="highlight">
|
|
21
|
+
<div class="title"><h3 class="page-heading-3 m-0">Key Metrics</h3></div>
|
|
22
|
+
<div class="body">
|
|
23
|
+
<p class="page-body-normal">Your most important stats at a glance.</p>
|
|
24
|
+
<p class="page-body-normal">Your most important stats at a glance.</p>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
</template>
|
|
28
|
+
<template #content>
|
|
29
|
+
<div class="some-class">
|
|
30
|
+
<p class="page-heading-2">Recent Activity</p>
|
|
31
|
+
<p class="page-body-normal">Your most recent transactions and events will appear here.</p>
|
|
32
|
+
</div>
|
|
33
|
+
</template>
|
|
34
|
+
</PageHeroHighlights>
|
|
35
|
+
</template>
|
|
36
|
+
</NuxtLayout>
|
|
37
|
+
</div>
|
|
38
|
+
</template>
|
|
39
|
+
|
|
40
|
+
<script setup lang="ts">
|
|
41
|
+
definePageMeta({
|
|
42
|
+
layout: false,
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
useHead({
|
|
46
|
+
title: "Page Hero Highlights",
|
|
47
|
+
meta: [
|
|
48
|
+
{
|
|
49
|
+
name: "description",
|
|
50
|
+
content: "Page Hero Highlights Meta description content",
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
bodyAttrs: {
|
|
54
|
+
class: "page-hero-highlights-page",
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
</script>
|
|
58
|
+
|
|
59
|
+
<style lang="css">
|
|
60
|
+
.page-hero-highlights-page {
|
|
61
|
+
.page-hero-highlights {
|
|
62
|
+
.header-row {
|
|
63
|
+
.header-slot {
|
|
64
|
+
.some-header-content {
|
|
65
|
+
padding-block: 4rem 3rem;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.content-row {
|
|
71
|
+
.content-slot {
|
|
72
|
+
color: black;
|
|
73
|
+
|
|
74
|
+
.some-class {
|
|
75
|
+
min-height: 40svh;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
</style>
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<NuxtLayout name="default">
|
|
4
4
|
<template #layout-content>
|
|
5
5
|
<LayoutRow tag="div" variant="full-width" :style-class-passthrough="['mbe-20']">
|
|
6
|
-
<h1 class="page-heading-1">
|
|
6
|
+
<h1 class="page-heading-1">CardCore Component</h1>
|
|
7
7
|
<form class="mb-12">
|
|
8
8
|
<div>
|
|
9
9
|
<label for="variant" class="form-label mie-12">Variant:</label>
|
|
10
|
-
<select id="variant" v-model="
|
|
10
|
+
<select id="variant" v-model="cardCoreVariant" class="form-select">
|
|
11
11
|
<option value="solid">Solid</option>
|
|
12
12
|
<option value="subtle">Subtle</option>
|
|
13
13
|
<option value="soft">Soft</option>
|
|
@@ -26,19 +26,19 @@
|
|
|
26
26
|
</LayoutRow>
|
|
27
27
|
|
|
28
28
|
<LayoutRow tag="div" variant="inset-content" :style-class-passthrough="['mbe-20']">
|
|
29
|
-
<
|
|
29
|
+
<CardCore :variant="cardCoreVariant" :has-dividers="hasDividers" :no-outline="noOutline">
|
|
30
30
|
<template #header>
|
|
31
|
-
<h2 class="page-heading-2">
|
|
31
|
+
<h2 class="page-heading-2">CardCore Header</h2>
|
|
32
32
|
</template>
|
|
33
|
-
<template #
|
|
34
|
-
<h3 class="page-heading-3">
|
|
35
|
-
<p class="page-body-normal">This is default slot content for the
|
|
33
|
+
<template #content>
|
|
34
|
+
<h3 class="page-heading-3">CardCore Content</h3>
|
|
35
|
+
<p class="page-body-normal">This is default slot content for the CardCore component.</p>
|
|
36
36
|
<p class="page-body-normal">As it's a slot, any html content can be placed here.</p>
|
|
37
37
|
</template>
|
|
38
38
|
<template #footer>
|
|
39
|
-
<p class="page-body-small">
|
|
39
|
+
<p class="page-body-small">CardCore Footer</p>
|
|
40
40
|
</template>
|
|
41
|
-
</
|
|
41
|
+
</CardCore>
|
|
42
42
|
</LayoutRow>
|
|
43
43
|
</template>
|
|
44
44
|
</NuxtLayout>
|
|
@@ -51,32 +51,32 @@ definePageMeta({
|
|
|
51
51
|
})
|
|
52
52
|
|
|
53
53
|
useHead({
|
|
54
|
-
title: "
|
|
54
|
+
title: "CardCore Component",
|
|
55
55
|
meta: [
|
|
56
56
|
{
|
|
57
57
|
name: "description",
|
|
58
|
-
content: "
|
|
58
|
+
content: "CardCore Component description content",
|
|
59
59
|
},
|
|
60
60
|
],
|
|
61
61
|
bodyAttrs: {
|
|
62
|
-
class: "
|
|
62
|
+
class: "card-core-page",
|
|
63
63
|
},
|
|
64
64
|
})
|
|
65
65
|
|
|
66
|
-
const
|
|
66
|
+
const cardCoreVariant = ref("solid")
|
|
67
67
|
const hasDividers = ref(false)
|
|
68
68
|
const noOutline = ref(false)
|
|
69
69
|
</script>
|
|
70
70
|
|
|
71
71
|
<style lang="css">
|
|
72
|
-
.
|
|
72
|
+
.card-core-page {
|
|
73
73
|
form {
|
|
74
74
|
display: flex;
|
|
75
75
|
gap: 2rem;
|
|
76
76
|
flex-wrap: wrap;
|
|
77
77
|
margin-bottom: 2rem;
|
|
78
78
|
}
|
|
79
|
-
.
|
|
79
|
+
.card-core {
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
</style>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
</LayoutRow>
|
|
8
8
|
|
|
9
9
|
<LayoutRow tag="div" variant="content" :style-class-passthrough="['mbe-20']">
|
|
10
|
-
<ContactSection tag="section" :style-class-passthrough="['mbe-20']">
|
|
10
|
+
<ContactSection tag="section" stepper-indicator-size="2.4rem" :style-class-passthrough="['mbe-20']">
|
|
11
11
|
<template #indicator-0>
|
|
12
12
|
<Icon name="lucide-map-pin" class="indicator-icon" />
|
|
13
13
|
</template>
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<NuxtLayout name="default">
|
|
4
|
+
<template #layout-content>
|
|
5
|
+
<ContentWidth tag="div" :style-class-passthrough="['mbe-20']">
|
|
6
|
+
<h1 class="page-heading-2 mbe-18">Content Width</h1>
|
|
7
|
+
<p class="page-body-normal-semibold">
|
|
8
|
+
Small screens:
|
|
9
|
+
<code class="page-body-normal">--content-max-width: auto;</code>
|
|
10
|
+
</p>
|
|
11
|
+
<p class="page-body-normal-semibold">
|
|
12
|
+
>= Laptop screens:
|
|
13
|
+
<code class="page-body-normal">--content-max-width: 1064px;</code>
|
|
14
|
+
</p>
|
|
15
|
+
</ContentWidth>
|
|
16
|
+
|
|
17
|
+
<ContentWidth tag="div" :justify-content="'start'" :style-class-passthrough="['mbe-20']">
|
|
18
|
+
<h2 class="page-heading-2 mbe-18">Sample content (start)</h2>
|
|
19
|
+
<p class="page-body-normal">
|
|
20
|
+
Lorem ipsum odor amet, consectetuer adipiscing elit. Nec elementum maecenas placerat laoreet curae elit
|
|
21
|
+
convallis himenaeos. Tellus varius cursus convallis commodo suspendisse litora. Platea accumsan interdum
|
|
22
|
+
ultrices adipiscing molestie cras dui. Vehicula egestas nisi sagittis fames metus velit. Sodales blandit
|
|
23
|
+
nisi eu dis sit, ridiculus aliquam. Morbi tellus eu in penatibus torquent tortor. Platea gravida nam;
|
|
24
|
+
egestas enim nostra ultricies.
|
|
25
|
+
</p>
|
|
26
|
+
<p class="page-body-normal">
|
|
27
|
+
Mi nibh quisque taciti porta curabitur nostra volutpat. Habitant sodales arcu habitasse mi duis conubia leo
|
|
28
|
+
lacinia. Montes torquent sodales adipiscing; proin semper feugiat morbi ullamcorper praesent. Arcu luctus
|
|
29
|
+
tempor quam ligula vestibulum sapien faucibus ridiculus. Cursus consequat ultricies consectetur class
|
|
30
|
+
suscipit quisque convallis eget? Dignissim mattis luctus enim habitant porta pretium litora. Parturient
|
|
31
|
+
montes imperdiet massa; sollicitudin varius hac aptent. Eleifend parturient mattis tellus nisi a montes.
|
|
32
|
+
</p>
|
|
33
|
+
</ContentWidth>
|
|
34
|
+
|
|
35
|
+
<ContentWidth tag="div" :style-class-passthrough="['mbe-20']">
|
|
36
|
+
<h2 class="page-heading-2 mbe-18">Sample Column content (center/default)</h2>
|
|
37
|
+
|
|
38
|
+
<LayoutGridByCols :column-count="2">
|
|
39
|
+
<template #item-0>
|
|
40
|
+
<div>
|
|
41
|
+
<h3 class="page-heading-3 mbe-12">Column 1</h3>
|
|
42
|
+
<p class="page-body-normal">
|
|
43
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum
|
|
44
|
+
mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor.
|
|
45
|
+
Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta
|
|
46
|
+
lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor
|
|
47
|
+
sit amet, consectetur adipiscing elit.
|
|
48
|
+
</p>
|
|
49
|
+
</div>
|
|
50
|
+
</template>
|
|
51
|
+
<template #item-1>
|
|
52
|
+
<div>
|
|
53
|
+
<h3 class="page-heading-3 mbe-12">Column 2</h3>
|
|
54
|
+
<p class="page-body-normal">
|
|
55
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum
|
|
56
|
+
mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor.
|
|
57
|
+
Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta
|
|
58
|
+
lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor
|
|
59
|
+
sit amet, consectetur adipiscing elit.
|
|
60
|
+
</p>
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</LayoutGridByCols>
|
|
64
|
+
</ContentWidth>
|
|
65
|
+
|
|
66
|
+
<ContentWidth tag="div" :justify-content="'end'" :style-class-passthrough="['mbe-20']">
|
|
67
|
+
<h2 class="page-heading-2 mbe-18">Sample content (end)</h2>
|
|
68
|
+
<p class="page-body-normal">
|
|
69
|
+
Lorem ipsum odor amet, consectetuer adipiscing elit. Nec elementum maecenas placerat laoreet curae elit
|
|
70
|
+
convallis himenaeos. Tellus varius cursus convallis commodo suspendisse litora. Platea accumsan interdum
|
|
71
|
+
ultrices adipiscing molestie cras dui. Vehicula egestas nisi sagittis fames metus velit. Sodales blandit
|
|
72
|
+
nisi eu dis sit, ridiculus aliquam. Morbi tellus eu in penatibus torquent tortor. Platea gravida nam;
|
|
73
|
+
egestas enim nostra ultricies.
|
|
74
|
+
</p>
|
|
75
|
+
<p class="page-body-normal">
|
|
76
|
+
Mi nibh quisque taciti porta curabitur nostra volutpat. Habitant sodales arcu habitasse mi duis conubia leo
|
|
77
|
+
lacinia. Montes torquent sodales adipiscing; proin semper feugiat morbi ullamcorper praesent. Arcu luctus
|
|
78
|
+
tempor quam ligula vestibulum sapien faucibus ridiculus. Cursus consequat ultricies consectetur class
|
|
79
|
+
suscipit quisque convallis eget? Dignissim mattis luctus enim habitant porta pretium litora. Parturient
|
|
80
|
+
montes imperdiet massa; sollicitudin varius hac aptent. Eleifend parturient mattis tellus nisi a montes.
|
|
81
|
+
</p>
|
|
82
|
+
</ContentWidth>
|
|
83
|
+
</template>
|
|
84
|
+
</NuxtLayout>
|
|
85
|
+
</div>
|
|
86
|
+
</template>
|
|
87
|
+
|
|
88
|
+
<script setup lang="ts">
|
|
89
|
+
definePageMeta({
|
|
90
|
+
layout: false,
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
useHead({
|
|
94
|
+
title: "UI Content Width",
|
|
95
|
+
meta: [{ name: "description", content: "Examples of UI Component Content Width" }],
|
|
96
|
+
bodyAttrs: {
|
|
97
|
+
class: "content-width-page",
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
</script>
|
|
101
|
+
|
|
102
|
+
<style lang="css">
|
|
103
|
+
.content-width-page {
|
|
104
|
+
.layout-grid-by-cols {
|
|
105
|
+
.layout-grid-inner {
|
|
106
|
+
> * {
|
|
107
|
+
outline: 1px solid green;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@container layoutGrid (width >= 768px) {
|
|
111
|
+
> * {
|
|
112
|
+
outline: 1px solid purple;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.content-width-wrapper {
|
|
120
|
+
.content-width {
|
|
121
|
+
.content-width-inner {
|
|
122
|
+
outline: 1px solid orange;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
</style>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<form class="mb-12">
|
|
20
20
|
<div>
|
|
21
21
|
<label for="variant" class="form-label mie-12">Variant:</label>
|
|
22
|
-
<select id="variant" v-model="
|
|
22
|
+
<select id="variant" v-model="cardCoreVariant" class="form-select">
|
|
23
23
|
<option value="solid">Solid</option>
|
|
24
24
|
<option value="subtle">Subtle</option>
|
|
25
25
|
<option value="soft">Soft</option>
|
|
@@ -55,19 +55,19 @@
|
|
|
55
55
|
<h2 class="page-heading-2">Default</h2>
|
|
56
56
|
|
|
57
57
|
<GlowingBorder :variant="glowingBorderVariant" :style-class-passthrough="['mbe-20']">
|
|
58
|
-
<
|
|
58
|
+
<CardCore :variant="cardCoreVariant" :has-dividers :no-outline>
|
|
59
59
|
<template #header>
|
|
60
|
-
<h2 class="page-heading-2">
|
|
60
|
+
<h2 class="page-heading-2">CardCore Header</h2>
|
|
61
61
|
</template>
|
|
62
|
-
<template #
|
|
63
|
-
<h3 class="page-heading-3">
|
|
64
|
-
<p class="page-body-normal">This is default slot content for the
|
|
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
65
|
<p class="page-body-normal">As it's a slot, any html content can be placed here.</p>
|
|
66
66
|
</template>
|
|
67
67
|
<template #footer>
|
|
68
|
-
<p class="page-body-small">
|
|
68
|
+
<p class="page-body-small">CardCore Footer</p>
|
|
69
69
|
</template>
|
|
70
|
-
</
|
|
70
|
+
</CardCore>
|
|
71
71
|
</GlowingBorder>
|
|
72
72
|
</LayoutRow>
|
|
73
73
|
</template>
|
|
@@ -94,7 +94,7 @@ useHead({
|
|
|
94
94
|
})
|
|
95
95
|
|
|
96
96
|
const glowingBorderVariant = ref("vivid")
|
|
97
|
-
const
|
|
97
|
+
const cardCoreVariant = ref<"outline" | "solid" | "subtle" | "soft">("solid")
|
|
98
98
|
const hasDividers = ref(false)
|
|
99
99
|
const noOutline = ref(false)
|
|
100
100
|
</script>
|