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,327 +0,0 @@
1
- <template>
2
- <div>
3
- <NuxtLayout name="default">
4
- <template #layout-content>
5
- <div v-if="isDev" class="qa-panel">
6
- <details class="qa-panel__details">
7
- <summary class="qa-panel__summary">
8
- <span class="qa-panel__title">QA — SamaritanPrompt</span>
9
- <code v-if="qaEffect === 'typewriter'" class="qa-panel__status">
10
- effect:typewriter · type:{{ qaTypeSpeed }}ms · hold:{{ qaHoldDuration }}ms · del:{{ qaDeleteSpeed }}ms ·
11
- pause:{{ qaPauseDuration }}ms
12
- </code>
13
- <code v-else class="qa-panel__status">
14
- effect:word-pulse · fade:{{ qaFadeDuration }}ms · visible:{{ qaWordDuration }}ms · pause:{{
15
- qaPauseDuration
16
- }}ms
17
- </code>
18
- </summary>
19
- <div class="qa-panel__body">
20
- <div class="qa-panel__group">
21
- <span class="qa-panel__label">Effect</span>
22
- <div class="qa-panel__chips">
23
- <button
24
- v-for="opt in effectOptions"
25
- :key="opt"
26
- class="qa-panel__chip"
27
- :class="{ 'is-active': qaEffect === opt }"
28
- @click="qaEffect = opt"
29
- >
30
- {{ opt }}
31
- </button>
32
- </div>
33
- </div>
34
-
35
- <!-- Typewriter controls -->
36
- <template v-if="qaEffect === 'typewriter'">
37
- <div class="qa-panel__group">
38
- <span class="qa-panel__label">Type speed (ms/char)</span>
39
- <div class="qa-panel__chips">
40
- <button
41
- v-for="n in [40, 80, 120, 200]"
42
- :key="n"
43
- class="qa-panel__chip"
44
- :class="{ 'is-active': qaTypeSpeed === n }"
45
- @click="qaTypeSpeed = n"
46
- >
47
- {{ n }}
48
- </button>
49
- </div>
50
- </div>
51
-
52
- <div class="qa-panel__group">
53
- <span class="qa-panel__label">Hold duration (ms)</span>
54
- <div class="qa-panel__chips">
55
- <button
56
- v-for="n in [500, 1000, 2000, 4000]"
57
- :key="n"
58
- class="qa-panel__chip"
59
- :class="{ 'is-active': qaHoldDuration === n }"
60
- @click="qaHoldDuration = n"
61
- >
62
- {{ n }}
63
- </button>
64
- </div>
65
- </div>
66
-
67
- <div class="qa-panel__group">
68
- <span class="qa-panel__label">Delete speed (ms/char)</span>
69
- <div class="qa-panel__chips">
70
- <button
71
- v-for="n in [20, 40, 80]"
72
- :key="n"
73
- class="qa-panel__chip"
74
- :class="{ 'is-active': qaDeleteSpeed === n }"
75
- @click="qaDeleteSpeed = n"
76
- >
77
- {{ n }}
78
- </button>
79
- </div>
80
- </div>
81
- </template>
82
-
83
- <!-- Word-pulse controls -->
84
- <template v-else>
85
- <div class="qa-panel__group">
86
- <span class="qa-panel__label">Fade duration (ms)</span>
87
- <div class="qa-panel__chips">
88
- <button
89
- v-for="n in [200, 400, 600, 1000]"
90
- :key="n"
91
- class="qa-panel__chip"
92
- :class="{ 'is-active': qaFadeDuration === n }"
93
- @click="qaFadeDuration = n"
94
- >
95
- {{ n }}
96
- </button>
97
- </div>
98
- </div>
99
-
100
- <div class="qa-panel__group">
101
- <span class="qa-panel__label">Visible duration (ms)</span>
102
- <div class="qa-panel__chips">
103
- <button
104
- v-for="n in [800, 1200, 2000, 3000]"
105
- :key="n"
106
- class="qa-panel__chip"
107
- :class="{ 'is-active': qaWordDuration === n }"
108
- @click="qaWordDuration = n"
109
- >
110
- {{ n }}
111
- </button>
112
- </div>
113
- </div>
114
- </template>
115
-
116
- <!-- Shared: pause before restart -->
117
- <div class="qa-panel__group">
118
- <span class="qa-panel__label">Pause before restart (ms)</span>
119
- <div class="qa-panel__chips">
120
- <button
121
- v-for="n in [300, 500, 1000, 2000, 5000, 10000]"
122
- :key="n"
123
- class="qa-panel__chip"
124
- :class="{ 'is-active': qaPauseDuration === n }"
125
- @click="qaPauseDuration = n"
126
- >
127
- {{ n }}
128
- </button>
129
- </div>
130
- </div>
131
-
132
- <!-- Shared: hide cursor in cycle -->
133
- <div class="qa-panel__group">
134
- <span class="qa-panel__label">Hide cursor in cycle</span>
135
- <div class="qa-panel__chips">
136
- <button
137
- v-for="opt in [true, false]"
138
- :key="String(opt)"
139
- class="qa-panel__chip"
140
- :class="{ 'is-active': qaHideCursorInCycle === opt }"
141
- @click="qaHideCursorInCycle = opt"
142
- >
143
- {{ opt ? "on" : "off" }}
144
- </button>
145
- </div>
146
- </div>
147
- </div>
148
- </details>
149
- </div>
150
-
151
- <PageRow tag="div" variant="full">
152
- <div class="samaritan-stage samaritan-stage--mixed">
153
- <SamaritanPromptMixed :message-configs="mixedMessages" :hide-cursor-in-cycle="false" />
154
- </div>
155
- </PageRow>
156
-
157
- <PageRow tag="div" variant="full">
158
- <div class="samaritan-stage">
159
- <SamaritanPrompt
160
- :messages="messages"
161
- :effect="qaEffect"
162
- :type-speed="qaTypeSpeed"
163
- :delete-speed="qaDeleteSpeed"
164
- :hold-duration="qaHoldDuration"
165
- :pause-duration="qaPauseDuration"
166
- :word-duration="qaWordDuration"
167
- :fade-duration="qaFadeDuration"
168
- :hide-cursor-in-cycle="qaHideCursorInCycle"
169
- />
170
- </div>
171
- </PageRow>
172
- </template>
173
- </NuxtLayout>
174
- </div>
175
- </template>
176
-
177
- <script setup lang="ts">
178
- definePageMeta({
179
- layout: false,
180
- });
181
-
182
- useHead({
183
- title: "Samaritan",
184
- meta: [{ name: "description", content: "Samaritan prompt effect" }],
185
- bodyAttrs: { class: "samaritan-page" },
186
- });
187
-
188
- const messages = [
189
- "What do I do?",
190
- "Bring your imaginaton to life",
191
- "Craft beautiful interfaces",
192
- "Keep it simple",
193
- "My work is?",
194
- "Performance tested",
195
- "Penetration tested",
196
- "Accessible",
197
- ];
198
-
199
- const mixedMessages = [
200
- { text: "What do I do?", effect: "typewriter" as const, holdDuration: 7000, pauseDuration: 3000 },
201
- { text: "Bring your imaginaton to life", effect: "word-pulse" as const, wordDuration: 7000, pauseDuration: 3000 },
202
- { text: "Craft beautiful interfaces", effect: "word-pulse" as const, wordDuration: 7000, pauseDuration: 3000 },
203
- { text: "Keep it simple", effect: "word-pulse" as const, wordDuration: 7000, pauseDuration: 3000 },
204
- { text: "My work is?", effect: "typewriter" as const, holdDuration: 7000, pauseDuration: 3000 },
205
- { text: "Performance tested", effect: "word-pulse" as const, wordDuration: 7000, pauseDuration: 3000 },
206
- { text: "Penetration tested", effect: "word-pulse" as const, wordDuration: 7000, pauseDuration: 3000 },
207
- { text: "Accessible", effect: "word-pulse" as const, wordDuration: 7000, pauseDuration: 3000 },
208
- ];
209
-
210
- // ── QA controls (dev only) ────────────────────────────────────────
211
- const isDev = import.meta.dev;
212
-
213
- const effectOptions = ["typewriter", "word-pulse"] as const;
214
- const qaEffect = ref<"typewriter" | "word-pulse">("typewriter");
215
-
216
- const qaTypeSpeed = ref(80);
217
- const qaDeleteSpeed = ref(40);
218
- const qaHoldDuration = ref(2000);
219
- const qaPauseDuration = ref(5000);
220
- const qaWordDuration = ref(1200);
221
- const qaFadeDuration = ref(400);
222
- const qaHideCursorInCycle = ref(true);
223
- </script>
224
-
225
- <style lang="css">
226
- .samaritan-page {
227
- --samaritan-color-text: light-dark(black, white);
228
- --samaritan-color-underline: light-dark(black, white);
229
- --samaritan-font-size: clamp(1.4rem, 2.5vw, 2.8rem);
230
- --samaritan-letter-spacing: 0.14em;
231
-
232
- .samaritan-stage {
233
- .samaritan-stage--mixed {
234
- border-top: 1px solid oklch(100% 0 0 / 0.08);
235
- }
236
- }
237
-
238
- /* ── QA Panel ──────────────────────────────────────────────────── */
239
-
240
- .qa-panel {
241
- background: oklch(15% 0 0);
242
- color: white;
243
- font-size: 1.3rem;
244
- }
245
-
246
- .qa-panel__details {
247
- padding: 1rem 2rem;
248
- }
249
-
250
- .qa-panel__summary {
251
- cursor: pointer;
252
- display: flex;
253
- align-items: center;
254
- gap: 1.6rem;
255
- list-style: none;
256
- user-select: none;
257
-
258
- &::-webkit-details-marker {
259
- display: none;
260
- }
261
- }
262
-
263
- .qa-panel__title {
264
- font-weight: 600;
265
- font-size: 1.1rem;
266
- text-transform: uppercase;
267
- letter-spacing: 0.08em;
268
- }
269
-
270
- .qa-panel__status {
271
- font-family: monospace;
272
- font-size: 1.2rem;
273
- background: oklch(0% 0 0 / 0.3);
274
- padding: 0.2rem 0.8rem;
275
- border-radius: 0.4rem;
276
- user-select: text;
277
- cursor: text;
278
- }
279
-
280
- .qa-panel__body {
281
- display: flex;
282
- flex-wrap: wrap;
283
- gap: 2.4rem;
284
- padding-block: 1.2rem 0.4rem;
285
- }
286
-
287
- .qa-panel__group {
288
- display: flex;
289
- flex-direction: column;
290
- gap: 0.6rem;
291
- }
292
-
293
- .qa-panel__label {
294
- font-size: 1.1rem;
295
- text-transform: uppercase;
296
- letter-spacing: 0.08em;
297
- opacity: 0.55;
298
- }
299
-
300
- .qa-panel__chips {
301
- display: flex;
302
- flex-wrap: wrap;
303
- gap: 0.4rem;
304
- }
305
-
306
- .qa-panel__chip {
307
- font-family: monospace;
308
- font-size: 1.2rem;
309
- color: white;
310
- background: oklch(0% 0 0 / 0.25);
311
- border: 1px solid oklch(100% 0 0 / 0.18);
312
- padding: 0.3rem 1rem;
313
- border-radius: 0.4rem;
314
- cursor: pointer;
315
- transition: background 0.15s;
316
-
317
- &:hover {
318
- background: oklch(0% 0 0 / 0.4);
319
- }
320
-
321
- &.is-active {
322
- background: oklch(55% 0.18 240);
323
- border-color: oklch(55% 0.18 240);
324
- }
325
- }
326
- }
327
- </style>
@@ -1,97 +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-1">Typography - Hero Text</h1>
7
- <p class="page-body-normal">Hero text styles</p>
8
- </PageRow>
9
-
10
- <PageRow tag="div" variant="content" :style-class-passthrough="['mbe-20']">
11
- <h2 class="page-heading-2">Change variants</h2>
12
- <div class="demo-row">
13
- <div>
14
- <strong>Axis:</strong>
15
- <select v-model="axisOptions">
16
- <option value="horizontal">Horizontal</option>
17
- <option value="vertical">Vertical</option>
18
- </select>
19
- </div>
20
- <div>
21
- <strong>Font Size:</strong>
22
- <select v-model="fontSizeOptions">
23
- <option value="display">Display</option>
24
- <option value="title">Title</option>
25
- <option value="heading">Heading</option>
26
- <option value="subheading">Subheading</option>
27
- <option value="label">Label</option>
28
- </select>
29
- </div>
30
- </div>
31
- </PageRow>
32
-
33
- <PageRow tag="div" variant="content" :style-class-passthrough="['mbe-20']">
34
- <h2 class="page-heading-2">{{ axisOptions }}: {{ fontSizeOptions }} Variant</h2>
35
- <HeroText
36
- tag="h1"
37
- :axis="axisOptions"
38
- :font-size="fontSizeOptions"
39
- :text-content="[
40
- {
41
- text: 'Designing',
42
- styleClass: 'normal',
43
- },
44
- {
45
- text: 'Artistry',
46
- styleClass: 'accent',
47
- },
48
- {
49
- text: 'at Home',
50
- styleClass: 'normal',
51
- },
52
- ]"
53
- :style-class-passthrough="['class-demo']"
54
- />
55
- </PageRow>
56
- </template>
57
- </NuxtLayout>
58
- </div>
59
- </template>
60
-
61
- <script setup lang="ts">
62
- definePageMeta({
63
- layout: false,
64
- });
65
-
66
- useHead({
67
- title: "Typography - Hero Text",
68
- meta: [{ name: "description", content: "Typography - Hero Text" }],
69
- bodyAttrs: {
70
- class: "page-typography-hero-text",
71
- },
72
- });
73
-
74
- const axisOptions = ref<"horizontal" | "vertical">("horizontal");
75
- const fontSizeOptions = ref<"display" | "title" | "heading" | "subheading" | "label">("display");
76
- </script>
77
-
78
- <style lang="css">
79
- .page-typography-hero-text {
80
- .demo-row {
81
- display: flex;
82
- gap: 2rem;
83
- margin-block: 1.5rem;
84
-
85
- & > div {
86
- display: flex;
87
- flex-direction: column;
88
- gap: 1.6rem;
89
-
90
- select {
91
- padding: 0.25rem;
92
- font-size: 1.6rem;
93
- }
94
- }
95
- }
96
- }
97
- </style>
@@ -1,39 +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">Typography</h1>
7
- <h2 class="page-heading-2">Example styles used within page content</h2>
8
- <p class="page-body-normal">Use within main body content</p>
9
- </PageRow>
10
- </template>
11
- </NuxtLayout>
12
- </div>
13
- </template>
14
-
15
- <script setup lang="ts">
16
- definePageMeta({
17
- layout: false,
18
- });
19
-
20
- useHead({
21
- title: "Typography",
22
- meta: [{ name: "description", content: "Typography" }],
23
- bodyAttrs: {
24
- class: "page-typography",
25
- },
26
- });
27
- </script>
28
-
29
- <style lang="css">
30
- .page-typography {
31
- .class-demo {
32
- margin-block-end: 1rem;
33
- pre {
34
- display: block;
35
- margin-block: 0;
36
- }
37
- }
38
- }
39
- </style>
@@ -1,171 +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">Typography - Body Text</h1>
7
- <p class="page-body-normal">Page body styles</p>
8
- <p class="page-body-normal">Use within main body content</p>
9
-
10
- <div class="demo-row">
11
- <strong>page-body-large-light</strong>
12
- <div class="class-demo page-body-large-light">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
13
- </div>
14
-
15
- <div class="demo-row">
16
- <strong>page-body-large</strong>
17
- <div class="class-demo page-body-large">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
18
- </div>
19
-
20
- <div class="demo-row">
21
- <strong>page-body-large-semibold</strong>
22
- <div class="class-demo page-body-large-semibold">
23
- Lorum ipsum dolor sit amet, consectetur adipiscing elit.
24
- </div>
25
- </div>
26
-
27
- <div class="demo-row">
28
- <strong>page-body-large-bold</strong>
29
- <div class="class-demo page-body-large-bold">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
30
- </div>
31
-
32
- <div class="demo-row">
33
- <strong>page-body-medium-light</strong>
34
- <div class="class-demo page-body-medium-light">
35
- Lorum ipsum dolor sit amet, consectetur adipiscing elit.
36
- </div>
37
- </div>
38
-
39
- <div class="demo-row">
40
- <strong>page-body-medium</strong>
41
- <div class="class-demo page-body-medium">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
42
- </div>
43
-
44
- <div class="demo-row">
45
- <strong>page-body-medium-semibold</strong>
46
- <div class="class-demo page-body-medium-semibold">
47
- Lorum ipsum dolor sit amet, consectetur adipiscing elit.
48
- </div>
49
- </div>
50
-
51
- <div class="demo-row">
52
- <strong>page-body-medium-bold</strong>
53
- <div class="class-demo page-body-medium-bold">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
54
- </div>
55
-
56
- <div class="demo-row">
57
- <strong>page-body-medium-semibold</strong>
58
- <div class="class-demo page-body-medium-semibold">
59
- Lorum ipsum dolor sit amet, consectetur adipiscing elit.
60
- </div>
61
- </div>
62
-
63
- <div class="demo-row">
64
- <strong>page-body-medium-bold</strong>
65
- <div class="class-demo page-body-medium-bold">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
66
- </div>
67
-
68
- <div class="demo-row">
69
- <strong>page-body-normal-light</strong>
70
- <div class="class-demo page-body-normal-light">
71
- Lorum ipsum dolor sit amet, consectetur adipiscing elit.
72
- </div>
73
- </div>
74
-
75
- <div class="demo-row">
76
- <strong>page-body-normal</strong>
77
- <div class="class-demo page-body-normal">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
78
- </div>
79
-
80
- <div class="demo-row">
81
- <strong>page-body-normal-semibold</strong>
82
- <div class="class-demo page-body-normal-semibold">
83
- Lorum ipsum dolor sit amet, consectetur adipiscing elit.
84
- </div>
85
- </div>
86
-
87
- <div class="demo-row">
88
- <strong>page-body-normal-bold</strong>
89
- <div class="class-demo page-body-normal-bold">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
90
- </div>
91
-
92
- <div class="demo-row">
93
- <strong>page-body-small-light</strong>
94
- <div class="class-demo page-body-small-light">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
95
- </div>
96
-
97
- <div class="demo-row">
98
- <strong>page-body-small</strong>
99
- <div class="class-demo page-body-small">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
100
- </div>
101
-
102
- <div class="demo-row">
103
- <strong>page-body-small-semibold</strong>
104
- <div class="class-demo page-body-small-semibold">
105
- Lorum ipsum dolor sit amet, consectetur adipiscing elit.
106
- </div>
107
- </div>
108
-
109
- <div class="demo-row">
110
- <strong>page-body-small-bold</strong>
111
- <div class="class-demo page-body-small-bold">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
112
- </div>
113
-
114
- <div class="demo-row">
115
- <strong>page-body-xsmall-light</strong>
116
- <div class="class-demo page-body-xsmall-light">
117
- Lorum ipsum dolor sit amet, consectetur adipiscing elit.
118
- </div>
119
- </div>
120
-
121
- <div class="demo-row">
122
- <strong>page-body-xsmall</strong>
123
- <div class="class-demo page-body-xsmall">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
124
- </div>
125
-
126
- <div class="demo-row">
127
- <strong>page-body-xsmall-semibold</strong>
128
- <div class="class-demo page-body-xsmall-semibold">
129
- Lorum ipsum dolor sit amet, consectetur adipiscing elit.
130
- </div>
131
- </div>
132
-
133
- <div class="demo-row">
134
- <strong>page-body-xsmall-bold</strong>
135
- <div class="class-demo page-body-xsmall-bold">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
136
- </div>
137
- </PageRow>
138
- </template>
139
- </NuxtLayout>
140
- </div>
141
- </template>
142
-
143
- <script setup lang="ts">
144
- definePageMeta({
145
- layout: false,
146
- });
147
-
148
- useHead({
149
- title: "Typography",
150
- meta: [{ name: "description", content: "Typography" }],
151
- bodyAttrs: {
152
- class: "page-typography-body",
153
- },
154
- });
155
- </script>
156
-
157
- <style lang="css">
158
- .page-typography-body {
159
- .demo-row {
160
- margin-block-end: 1rem;
161
- strong {
162
- display: block;
163
- margin-block: 0;
164
- }
165
- .class-demo {
166
- display: block;
167
- margin-block-end: 1rem;
168
- }
169
- }
170
- }
171
- </style>