srcdev-nuxt-components 9.1.49 → 9.1.51

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 (220) hide show
  1. package/.claude/settings.json +2 -4
  2. package/.claude/settings.local.json +22 -2
  3. package/.claude/skills/components/card-core.md +205 -0
  4. package/.claude/skills/components/display-dialog.md +128 -0
  5. package/.claude/skills/components/page-hero-highlights.md +1 -1
  6. package/.claude/skills/components/page-row.md +157 -0
  7. package/.claude/skills/components/services-card-grid.md +4 -4
  8. package/.claude/skills/components/services-section-grid.md +4 -4
  9. package/.claude/skills/components/tab-navigation.md +222 -0
  10. package/.claude/skills/composable-dialog-controls.md +55 -43
  11. package/.claude/skills/index.md +5 -2
  12. package/app/components/01.atoms/card/CONSUMER-STYLING.md +175 -0
  13. package/app/components/01.atoms/card/CardCore.vue +48 -21
  14. package/app/components/01.atoms/display-dialog/CONSUMER-STYLING.md +163 -0
  15. package/app/components/01.atoms/display-dialog/DisplayDialog.vue +277 -0
  16. package/app/components/01.atoms/display-dialog/stories/DisplayDialog.stories.ts +177 -0
  17. package/app/components/01.atoms/display-dialog/tests/DisplayDialog.spec.ts +264 -0
  18. package/app/components/01.atoms/display-dialog/tests/__snapshots__/DisplayDialog.spec.ts.snap +18 -0
  19. package/app/components/01.atoms/page-row/CONSUMER-STYLING.md +90 -0
  20. package/app/components/01.atoms/page-row/PageRow.vue +115 -0
  21. package/app/components/01.atoms/page-row/stories/PageRow.stories.ts +311 -0
  22. package/app/components/01.atoms/page-row/tests/PageRow.spec.ts +191 -0
  23. package/app/components/02.molecules/navigation/tab-navigation/CONSUMER-STYLING.md +145 -0
  24. package/app/components/02.molecules/navigation/tab-navigation/TabNavigation.vue +20 -9
  25. package/app/components/02.molecules/navigation/tab-navigation/tests/__snapshots__/TabNavigation.spec.ts.snap +12 -6
  26. package/app/components/{forms/ui → 05.forms/form-field}/FormField.vue +12 -19
  27. package/app/components/{forms/ui → 05.forms/form-wrapper}/FormWrapper.vue +6 -6
  28. package/app/components/{forms → 05.forms}/input-button/InputButtonCore.vue +2 -0
  29. package/app/components/{forms → 05.forms}/input-button/stories/InputButtonCore.stories.ts +1 -1
  30. package/app/components/{forms → 05.forms}/input-text/InputTextCore.vue +73 -73
  31. package/app/components/{forms → 05.forms}/input-text/variants/InputTextAsNumberWithLabel.vue +29 -29
  32. package/app/components/carousels/CarouselBasic.vue +99 -99
  33. package/app/components/carousels/CarouselInfinite.vue +150 -150
  34. package/app/components/deep-expanding-menu/DeepExpandingMenu.vue +111 -111
  35. package/app/components/responsive-header/ResponsiveHeader.vue +250 -282
  36. package/app/components/test-storybook/TestStorybook.vue +16 -16
  37. package/app/composables/tests/useDialogControls.spec.ts +34 -64
  38. package/app/composables/useDialogControls.ts +19 -33
  39. package/app/composables/useFormControl.ts +0 -2
  40. package/app/layouts/default.vue +9 -7
  41. package/app/pages/auto-grid.vue +37 -20
  42. package/app/pages/banner-video.vue +2 -2
  43. package/app/pages/forms/examples/buttons/index.vue +189 -215
  44. package/app/pages/forms/examples/material/text-fields.vue +2 -2
  45. package/app/pages/grid-stack.vue +10 -10
  46. package/app/pages/index.vue +20 -20
  47. package/app/pages/samaritan.vue +4 -4
  48. package/app/pages/typography/hero-text.vue +6 -6
  49. package/app/pages/typography/index.vue +4 -4
  50. package/app/pages/typography/page-body.vue +4 -4
  51. package/app/pages/typography/page-heading.vue +4 -4
  52. package/app/pages/typography/page-link.vue +4 -4
  53. package/app/pages/ui/accordian.vue +4 -4
  54. package/app/pages/ui/anchor-scroll-tab-navigation.vue +77 -66
  55. package/app/pages/ui/anchor-scroll.vue +94 -70
  56. package/app/pages/ui/animated-svg-text.vue +4 -4
  57. package/app/pages/ui/block-decorators.vue +11 -11
  58. package/app/pages/ui/card-core.vue +9 -9
  59. package/app/pages/ui/carousel-basic.vue +4 -4
  60. package/app/pages/ui/carousel-flip.vue +2 -2
  61. package/app/pages/ui/carousel-infinite.vue +4 -4
  62. package/app/pages/ui/clipped-panels.vue +10 -10
  63. package/app/pages/ui/contact-section.vue +4 -4
  64. package/app/pages/ui/container-glow.vue +2 -3
  65. package/app/pages/ui/deep-expanding-menu.vue +138 -0
  66. package/app/pages/ui/display-avatar.vue +2 -2
  67. package/app/pages/ui/display-banner.vue +2 -2
  68. package/app/pages/ui/display-chip.vue +32 -25
  69. package/app/pages/ui/display-details.vue +6 -10
  70. package/app/pages/ui/display-dialog.vue +96 -131
  71. package/app/pages/ui/display-pill.vue +27 -33
  72. package/app/pages/ui/display-prompt.vue +4 -4
  73. package/app/pages/ui/display-toast.vue +2 -2
  74. package/app/pages/ui/expanding-panel.vue +12 -16
  75. package/app/pages/ui/glowing-border.vue +12 -12
  76. package/app/pages/ui/layout-grid-a.vue +6 -6
  77. package/app/pages/ui/layout-grid-b.vue +4 -4
  78. package/app/pages/ui/magnetic-navigation.vue +6 -6
  79. package/app/pages/ui/marquee-scroller.vue +2 -2
  80. package/app/pages/ui/mask-element.vue +2 -2
  81. package/app/pages/ui/masonry-columns.vue +4 -4
  82. package/app/pages/ui/masonry-grid-ordered-experiment.vue +4 -4
  83. package/app/pages/ui/masonry-grid-ordered.vue +4 -4
  84. package/app/pages/ui/masonry-grid-sorted.vue +4 -4
  85. package/app/pages/ui/masonry-grid.vue +4 -4
  86. package/app/pages/ui/navigation/navigation-horizontal.vue +12 -12
  87. package/app/pages/ui/navigation/tab-navigation.vue +493 -0
  88. package/app/pages/ui/page-row.vue +127 -0
  89. package/app/pages/ui/price-list.vue +4 -4
  90. package/app/pages/ui/profile-section.vue +4 -4
  91. package/app/pages/ui/qr-code/[componentName].vue +6 -6
  92. package/app/pages/ui/rotating-carousel.vue +16 -16
  93. package/app/pages/ui/scroll-reveal-image.vue +20 -20
  94. package/app/pages/ui/section-parallax.vue +7 -7
  95. package/app/pages/ui/services/colour-finder.vue +4 -4
  96. package/app/pages/ui/services/services-cards.vue +4 -4
  97. package/app/pages/ui/services/services-section/[slug].vue +4 -4
  98. package/app/pages/ui/services/services-sections-compact.vue +6 -6
  99. package/app/pages/ui/settings.vue +10 -10
  100. package/app/pages/ui/simple-grid.vue +2 -2
  101. package/app/pages/ui/slider-gallery.vue +5 -5
  102. package/app/pages/ui/tabs-y.vue +2 -3
  103. package/app/pages/ui/tabs.vue +6 -9
  104. package/app/pages/ui/tooltips.vue +9 -9
  105. package/app/pages/ui/wipe-away-vertical.vue +14 -14
  106. package/package.json +1 -1
  107. package/.claude/skills/components/layout-row.md +0 -239
  108. package/app/components/display-dialog/DisplayDialogCore.vue +0 -276
  109. package/app/components/display-dialog/variants/DisplayDialogConfirm.vue +0 -47
  110. package/app/components/display-dialog/variants/DisplayDialogScrollableContent.vue +0 -51
  111. package/app/components/forms/c12/utils.ts +0 -14
  112. package/app/components/layout-row/LayoutRow.vue +0 -171
  113. package/app/components/layout-row/stories/LayoutRow.stories.ts +0 -528
  114. package/app/pages/ui/layout-row.vue +0 -139
  115. /package/app/components/{forms → 05.forms}/form-errors/InputError.vue +0 -0
  116. /package/app/components/{forms → 05.forms}/form-errors/tests/InputError.spec.ts +0 -0
  117. /package/app/components/{forms → 05.forms}/form-fieldset/FormFieldset.vue +0 -0
  118. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts +0 -0
  119. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-icons-secondary-chromium-darwin.png +0 -0
  120. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-icons-secondary-firefox-darwin.png +0 -0
  121. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-icons-secondary-webkit-darwin.png +0 -0
  122. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-icons-tertiary-chromium-darwin.png +0 -0
  123. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-icons-tertiary-firefox-darwin.png +0 -0
  124. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-icons-tertiary-webkit-darwin.png +0 -0
  125. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-primary-pending-chromium-darwin.png +0 -0
  126. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-primary-pending-firefox-darwin.png +0 -0
  127. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-primary-pending-webkit-darwin.png +0 -0
  128. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-secondary-pill-chromium-darwin.png +0 -0
  129. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-secondary-pill-firefox-darwin.png +0 -0
  130. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-secondary-pill-webkit-darwin.png +0 -0
  131. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-tertiary-readonly-chromium-darwin.png +0 -0
  132. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-tertiary-readonly-firefox-darwin.png +0 -0
  133. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/combo-tertiary-readonly-webkit-darwin.png +0 -0
  134. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-chromium-darwin.png +0 -0
  135. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-firefox-darwin.png +0 -0
  136. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-theme-default-chromium-darwin.png +0 -0
  137. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-theme-default-firefox-darwin.png +0 -0
  138. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-theme-default-webkit-darwin.png +0 -0
  139. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-theme-error-chromium-darwin.png +0 -0
  140. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-theme-error-firefox-darwin.png +0 -0
  141. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-theme-error-webkit-darwin.png +0 -0
  142. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-theme-success-chromium-darwin.png +0 -0
  143. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-theme-success-firefox-darwin.png +0 -0
  144. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-theme-success-webkit-darwin.png +0 -0
  145. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-theme-warning-chromium-darwin.png +0 -0
  146. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-theme-warning-firefox-darwin.png +0 -0
  147. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-theme-warning-webkit-darwin.png +0 -0
  148. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-variant-primary-chromium-darwin.png +0 -0
  149. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-variant-primary-firefox-darwin.png +0 -0
  150. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-variant-primary-webkit-darwin.png +0 -0
  151. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-variant-secondary-chromium-darwin.png +0 -0
  152. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-variant-secondary-firefox-darwin.png +0 -0
  153. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-variant-secondary-webkit-darwin.png +0 -0
  154. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-variant-tertiary-chromium-darwin.png +0 -0
  155. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-variant-tertiary-firefox-darwin.png +0 -0
  156. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-variant-tertiary-webkit-darwin.png +0 -0
  157. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/default-webkit-darwin.png +0 -0
  158. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/nuxt-icon-only-component-chromium-darwin.png +0 -0
  159. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/nuxt-icon-only-component-firefox-darwin.png +0 -0
  160. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/nuxt-icon-only-component-webkit-darwin.png +0 -0
  161. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/state-pending-chromium-darwin.png +0 -0
  162. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/state-pending-firefox-darwin.png +0 -0
  163. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/state-pending-webkit-darwin.png +0 -0
  164. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/state-pill-chromium-darwin.png +0 -0
  165. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/state-pill-firefox-darwin.png +0 -0
  166. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/state-pill-webkit-darwin.png +0 -0
  167. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/state-readonly-chromium-darwin.png +0 -0
  168. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/state-readonly-firefox-darwin.png +0 -0
  169. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/state-readonly-webkit-darwin.png +0 -0
  170. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/with-both-nuxt-icon-components-chromium-darwin.png +0 -0
  171. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/with-both-nuxt-icon-components-firefox-darwin.png +0 -0
  172. /package/app/components/{forms → 05.forms}/input-button/playwright/input-button-core.playwright.ts-snapshots/with-both-nuxt-icon-components-webkit-darwin.png +0 -0
  173. /package/app/components/{forms → 05.forms}/input-button/tests/InputButtonCore.spec.ts +0 -0
  174. /package/app/components/{forms → 05.forms}/input-button/tests/__snapshots__/InputButtonCore.spec.ts.snap +0 -0
  175. /package/app/components/{forms → 05.forms}/input-checkbox/MultipleCheckboxes.vue +0 -0
  176. /package/app/components/{forms → 05.forms}/input-checkbox/SingleCheckbox.vue +0 -0
  177. /package/app/components/{forms → 05.forms}/input-checkbox/tests/MultipleCheckboxes.spec.ts +0 -0
  178. /package/app/components/{forms → 05.forms}/input-checkbox/tests/data/tags.json +0 -0
  179. /package/app/components/{forms → 05.forms}/input-checkbox-radio/InputCheckboxRadioButton.vue +0 -0
  180. /package/app/components/{forms → 05.forms}/input-checkbox-radio/InputCheckboxRadioCore.vue +0 -0
  181. /package/app/components/{forms → 05.forms}/input-checkbox-radio/InputCheckboxRadioWithLabel.vue +0 -0
  182. /package/app/components/{forms → 05.forms}/input-checkbox-radio/tests/InputCheckboxRadioCore.spec.ts +0 -0
  183. /package/app/components/{forms → 05.forms}/input-copy/InputCopyCore.vue +0 -0
  184. /package/app/components/{forms → 05.forms}/input-copy/stories/InputCopyCore.stories.ts +0 -0
  185. /package/app/components/{forms → 05.forms}/input-copy/tests/InputCopyCore.spec.ts +0 -0
  186. /package/app/components/{forms → 05.forms}/input-copy/tests/__snapshots__/InputCopyCore.spec.ts.snap +0 -0
  187. /package/app/components/{forms → 05.forms}/input-description/InputDescription.vue +0 -0
  188. /package/app/components/{forms → 05.forms}/input-description/tests/InputDescription.spec.ts +0 -0
  189. /package/app/components/{forms → 05.forms}/input-label/InputLabel.vue +0 -0
  190. /package/app/components/{forms → 05.forms}/input-label/tests/InputLabel.spec.ts +0 -0
  191. /package/app/components/{forms → 05.forms}/input-number/InputNumberCore.vue +0 -0
  192. /package/app/components/{forms → 05.forms}/input-number/variants/InputNumberDefault.vue +0 -0
  193. /package/app/components/{forms → 05.forms}/input-radio/MultipleRadiobuttons.vue +0 -0
  194. /package/app/components/{forms → 05.forms}/input-radio/tests/MultipleRadioButtons.spec.ts +0 -0
  195. /package/app/components/{forms → 05.forms}/input-radio/tests/data/tags.json +0 -0
  196. /package/app/components/{forms → 05.forms}/input-range/InputRangeCore.vue +0 -0
  197. /package/app/components/{forms → 05.forms}/input-range/variants/InputRangeDefault.vue +0 -0
  198. /package/app/components/{forms → 05.forms}/input-range-fancy/InputRangeFancyCore.vue +0 -0
  199. /package/app/components/{forms → 05.forms}/input-range-fancy/InputRangeFancyWithLabel.vue +0 -0
  200. /package/app/components/{forms → 05.forms}/input-select/InputSelectCore.vue +0 -0
  201. /package/app/components/{forms → 05.forms}/input-select/variants/InputSelectWithLabel.vue +0 -0
  202. /package/app/components/{forms → 05.forms}/input-text/stories/InputPasswordWithLabel.stories.ts +0 -0
  203. /package/app/components/{forms → 05.forms}/input-text/stories/InputTextAsNumberWithLabel.stories.ts +0 -0
  204. /package/app/components/{forms → 05.forms}/input-text/stories/InputTextCore.stories.ts +0 -0
  205. /package/app/components/{forms → 05.forms}/input-text/stories/InputTextWithLabel.stories.ts +0 -0
  206. /package/app/components/{forms → 05.forms}/input-text/variants/InputPasswordWithLabel.vue +0 -0
  207. /package/app/components/{forms → 05.forms}/input-text/variants/InputTextWithLabel.vue +0 -0
  208. /package/app/components/{forms → 05.forms}/input-textarea/InputTextareaCore.vue +0 -0
  209. /package/app/components/{forms → 05.forms}/input-textarea/stories/InputTextareaCore.stories.ts +0 -0
  210. /package/app/components/{forms → 05.forms}/input-textarea/stories/InputTextareaWithLabel.stories.ts +0 -0
  211. /package/app/components/{forms → 05.forms}/input-textarea/variants/InputTextareaWithLabel.vue +0 -0
  212. /package/app/components/{forms → 05.forms}/pending-effect/PendingEffect.vue +0 -0
  213. /package/app/components/{forms → 05.forms}/toggle-switch/ToggleSwitchCore.vue +0 -0
  214. /package/app/components/{forms → 05.forms}/toggle-switch/stories/ToggleSwitchCore.stories.ts +0 -0
  215. /package/app/components/{forms → 05.forms}/toggle-switch/stories/ToggleSwitchWithLabel.stories.ts +0 -0
  216. /package/app/components/{forms → 05.forms}/toggle-switch/stories/ToggleSwitchWithLabelInline.stories.ts +0 -0
  217. /package/app/components/{forms → 05.forms}/toggle-switch/variants/ToggleSwitchWithLabel.vue +0 -0
  218. /package/app/components/{forms → 05.forms}/toggle-switch/variants/ToggleSwitchWithLabelInline.vue +0 -0
  219. /package/app/components/{forms → 05.forms}/triple-toggle-switch/TripleToggleSwitchCore.vue +0 -0
  220. /package/app/{components/forms/c12/prop-validators/index.ts → utils/prop-validators.ts} +0 -0
@@ -2,12 +2,12 @@
2
2
  <div>
3
3
  <NuxtLayout name="default">
4
4
  <template #layout-content>
5
- <LayoutRow tag="div" variant="content" :style-class-passthrough="['mbe-20']">
5
+ <PageRow tag="div" variant="content" :style-class-passthrough="['mbe-20']">
6
6
  <h1 class="page-heading-1">Typography - Hero Text</h1>
7
7
  <p class="page-body-normal">Hero text styles</p>
8
- </LayoutRow>
8
+ </PageRow>
9
9
 
10
- <LayoutRow tag="div" variant="content" :style-class-passthrough="['mbe-20']">
10
+ <PageRow tag="div" variant="content" :style-class-passthrough="['mbe-20']">
11
11
  <h2 class="page-heading-2">Change variants</h2>
12
12
  <div class="demo-row">
13
13
  <div>
@@ -28,9 +28,9 @@
28
28
  </select>
29
29
  </div>
30
30
  </div>
31
- </LayoutRow>
31
+ </PageRow>
32
32
 
33
- <LayoutRow tag="div" variant="content" :style-class-passthrough="['mbe-20']">
33
+ <PageRow tag="div" variant="content" :style-class-passthrough="['mbe-20']">
34
34
  <h2 class="page-heading-2">{{ axisOptions }}: {{ fontSizeOptions }} Variant</h2>
35
35
  <HeroText
36
36
  tag="h1"
@@ -52,7 +52,7 @@
52
52
  ]"
53
53
  :style-class-passthrough="['class-demo']"
54
54
  />
55
- </LayoutRow>
55
+ </PageRow>
56
56
  </template>
57
57
  </NuxtLayout>
58
58
  </div>
@@ -2,11 +2,11 @@
2
2
  <div>
3
3
  <NuxtLayout name="default">
4
4
  <template #layout-content>
5
- <LayoutRow tag="div" variant="full-width" :style-class-passthrough="['mbe-20']">
5
+ <PageRow tag="div" variant="full" :style-class-passthrough="['mbe-20']">
6
6
  <h1 class="page-heading-1">Typography</h1>
7
7
  <h2 class="page-heading-2">Example styles used within page content</h2>
8
8
  <p class="page-body-normal">Use within main body content</p>
9
- </LayoutRow>
9
+ </PageRow>
10
10
  </template>
11
11
  </NuxtLayout>
12
12
  </div>
@@ -15,7 +15,7 @@
15
15
  <script setup lang="ts">
16
16
  definePageMeta({
17
17
  layout: false,
18
- })
18
+ });
19
19
 
20
20
  useHead({
21
21
  title: "Typography",
@@ -23,7 +23,7 @@ useHead({
23
23
  bodyAttrs: {
24
24
  class: "page-typography",
25
25
  },
26
- })
26
+ });
27
27
  </script>
28
28
 
29
29
  <style lang="css">
@@ -2,7 +2,7 @@
2
2
  <div>
3
3
  <NuxtLayout name="default">
4
4
  <template #layout-content>
5
- <LayoutRow tag="div" variant="full-width" :style-class-passthrough="['mbe-20']">
5
+ <PageRow tag="div" variant="full" :style-class-passthrough="['mbe-20']">
6
6
  <h1 class="page-heading-1">Typography - Body Text</h1>
7
7
  <p class="page-body-normal">Page body styles</p>
8
8
  <p class="page-body-normal">Use within main body content</p>
@@ -134,7 +134,7 @@
134
134
  <strong>page-body-xsmall-bold</strong>
135
135
  <div class="class-demo page-body-xsmall-bold">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
136
136
  </div>
137
- </LayoutRow>
137
+ </PageRow>
138
138
  </template>
139
139
  </NuxtLayout>
140
140
  </div>
@@ -143,7 +143,7 @@
143
143
  <script setup lang="ts">
144
144
  definePageMeta({
145
145
  layout: false,
146
- })
146
+ });
147
147
 
148
148
  useHead({
149
149
  title: "Typography",
@@ -151,7 +151,7 @@ useHead({
151
151
  bodyAttrs: {
152
152
  class: "page-typography-body",
153
153
  },
154
- })
154
+ });
155
155
  </script>
156
156
 
157
157
  <style lang="css">
@@ -2,7 +2,7 @@
2
2
  <div>
3
3
  <NuxtLayout name="default">
4
4
  <template #layout-content>
5
- <LayoutRow tag="div" variant="full-width" :style-class-passthrough="['mbe-20']">
5
+ <PageRow tag="div" variant="full" :style-class-passthrough="['mbe-20']">
6
6
  <h1 class="page-heading-1">Typography - Heading Text</h1>
7
7
  <p class="page-body-normal">Page heading styles</p>
8
8
  <p class="page-body-normal">Use within main body content</p>
@@ -39,7 +39,7 @@
39
39
  <strong>page-heading-6</strong>
40
40
  <div class="class-demo page-heading-6">Lorum ipsum dolor sit amet, consectetur adipiscing elit.</div>
41
41
  </div>
42
- </LayoutRow>
42
+ </PageRow>
43
43
  </template>
44
44
  </NuxtLayout>
45
45
  </div>
@@ -48,7 +48,7 @@
48
48
  <script setup lang="ts">
49
49
  definePageMeta({
50
50
  layout: false,
51
- })
51
+ });
52
52
 
53
53
  useHead({
54
54
  title: "Typography",
@@ -56,7 +56,7 @@ useHead({
56
56
  bodyAttrs: {
57
57
  class: "page-typography-heading",
58
58
  },
59
- })
59
+ });
60
60
  </script>
61
61
 
62
62
  <style lang="css">
@@ -2,7 +2,7 @@
2
2
  <div>
3
3
  <NuxtLayout name="default">
4
4
  <template #layout-content>
5
- <LayoutRow tag="div" variant="full-width" :style-class-passthrough="['mbe-20']">
5
+ <PageRow tag="div" variant="full" :style-class-passthrough="['mbe-20']">
6
6
  <h1 class="page-heading-1">Typography - Link Text</h1>
7
7
  <p class="page-body-normal">Page link styles</p>
8
8
  <p class="page-body-normal">Use within main body content</p>
@@ -66,7 +66,7 @@
66
66
  Lorum ipsum dolor sit amet, consectetur adipiscing elit.
67
67
  </a>
68
68
  </div>
69
- </LayoutRow>
69
+ </PageRow>
70
70
  </template>
71
71
  </NuxtLayout>
72
72
  </div>
@@ -75,7 +75,7 @@
75
75
  <script setup lang="ts">
76
76
  definePageMeta({
77
77
  layout: false,
78
- })
78
+ });
79
79
 
80
80
  useHead({
81
81
  title: "Typography",
@@ -83,7 +83,7 @@ useHead({
83
83
  bodyAttrs: {
84
84
  class: "page-typography-link",
85
85
  },
86
- })
86
+ });
87
87
  </script>
88
88
 
89
89
  <style lang="css">
@@ -2,7 +2,7 @@
2
2
  <div>
3
3
  <NuxtLayout name="default">
4
4
  <template #layout-content>
5
- <LayoutRow tag="div" variant="popout" :style-class-passthrough="['mbe-20']">
5
+ <PageRow tag="div" variant="popout" :style-class-passthrough="['mbe-20']">
6
6
  <h1 class="page-heading-2">Accordian</h1>
7
7
  <p>Any item open and/closed</p>
8
8
 
@@ -21,9 +21,9 @@
21
21
  <p class="pb-12">{{ item.content }}</p>
22
22
  </template>
23
23
  </AccordianCore>
24
- </LayoutRow>
24
+ </PageRow>
25
25
 
26
- <LayoutRow tag="div" variant="popout" :style-class-passthrough="['mbe-20']">
26
+ <PageRow tag="div" variant="popout" :style-class-passthrough="['mbe-20']">
27
27
  <h2 class="page-heading-2">Accordian</h2>
28
28
  <p>Only 1 item open, pass a name prop</p>
29
29
 
@@ -49,7 +49,7 @@
49
49
  <p class="pb-12">This is content slot 2</p>
50
50
  </template>
51
51
  </AccordianCore>
52
- </LayoutRow>
52
+ </PageRow>
53
53
  </template>
54
54
  </NuxtLayout>
55
55
  </div>
@@ -2,118 +2,129 @@
2
2
  <div>
3
3
  <NuxtLayout name="default">
4
4
  <template #layout-content>
5
- <LayoutRow tag="div" variant="content" :style-class-passthrough="['mbe-4']">
5
+ <PageRow tag="div" variant="content" :style-class-passthrough="['mbe-4']">
6
6
  <h1 class="page-heading-1">Anchor Scroll — TabNavigation</h1>
7
7
  <p class="page-body-medium">
8
- Tests <code class="inline-code">TabNavigation</code> with anchor hrefs. The nav uses
9
- plain <code class="inline-code">&lt;a&gt;</code> tags for hash links (not
10
- <code class="inline-code">NuxtLink</code>) to keep Vue Router out of the
11
- smooth-scroll path. The <code class="inline-code">:anchor-scroll-offset</code> prop
12
- passes a getter so the sticky bar height is read at scroll time.
8
+ Tests
9
+ <code class="inline-code">TabNavigation</code>
10
+ with anchor hrefs. The nav uses plain
11
+ <code class="inline-code">&lt;a&gt;</code>
12
+ tags for hash links (not
13
+ <code class="inline-code">NuxtLink</code>
14
+ ) to keep Vue Router out of the smooth-scroll path. The
15
+ <code class="inline-code">:anchor-scroll-offset</code>
16
+ prop passes a getter so the sticky bar height is read at scroll time.
13
17
  </p>
14
- </LayoutRow>
18
+ </PageRow>
15
19
 
16
20
  <div ref="stickyNavRef" class="anchor-tab-nav-sticky">
17
- <LayoutRow tag="div" variant="content">
21
+ <PageRow tag="div" variant="content">
18
22
  <TabNavigation
19
23
  :nav-item-data="anchorNavData"
20
24
  :anchor-scroll-offset="() => stickyNavRef?.offsetHeight ?? 0"
21
25
  />
22
- </LayoutRow>
26
+ </PageRow>
23
27
  </div>
24
28
 
25
29
  <section id="overview" class="anchor-tab-section">
26
- <LayoutRow tag="div" variant="content">
30
+ <PageRow tag="div" variant="content">
27
31
  <h2 class="page-heading-2">Overview</h2>
28
32
  <p class="page-body-medium">
29
- This section verifies that clicking the <strong>Overview</strong> link above scrolls
30
- here smoothly, with the heading landing below the sticky nav bar rather than behind it.
33
+ This section verifies that clicking the
34
+ <strong>Overview</strong>
35
+ link above scrolls here smoothly, with the heading landing below the sticky nav bar rather than behind it.
31
36
  </p>
32
37
  <p class="page-body-medium">
33
38
  The sticky nav's height is resolved at click time via the getter passed to
34
- <code class="inline-code">:anchor-scroll-offset</code>. Resize the viewport — the
35
- offset adjusts automatically.
39
+ <code class="inline-code">:anchor-scroll-offset</code>
40
+ . Resize the viewport — the offset adjusts automatically.
36
41
  </p>
37
42
  <p class="page-body-medium">
38
- Hash links in <code class="inline-code">TabNavigation</code> render as plain
39
- <code class="inline-code">&lt;a&gt;</code> elements (not
40
- <code class="inline-code">NuxtLink</code>), which prevents Vue Router from
41
- intercepting the click and triggering its own scroll behaviour.
43
+ Hash links in
44
+ <code class="inline-code">TabNavigation</code>
45
+ render as plain
46
+ <code class="inline-code">&lt;a&gt;</code>
47
+ elements (not
48
+ <code class="inline-code">NuxtLink</code>
49
+ ), which prevents Vue Router from intercepting the click and triggering its own scroll behaviour.
42
50
  </p>
43
- </LayoutRow>
51
+ </PageRow>
44
52
  </section>
45
53
 
46
54
  <section id="api" class="anchor-tab-section">
47
- <LayoutRow tag="div" variant="content">
55
+ <PageRow tag="div" variant="content">
48
56
  <h2 class="page-heading-2">API</h2>
49
57
  <p class="page-body-medium">
50
- This section verifies the <strong>API</strong> link. Confirm the heading lands
51
- below the sticky nav after scrolling.
58
+ This section verifies the
59
+ <strong>API</strong>
60
+ link. Confirm the heading lands below the sticky nav after scrolling.
52
61
  </p>
53
62
  <p class="page-body-medium">
54
- The <code class="inline-code">anchorScrollOffset</code> prop on
55
- <code class="inline-code">TabNavigation</code> accepts
56
- <code class="inline-code">number | (() => number)</code> — the same type as the
57
- <code class="inline-code">offset</code> option on <code class="inline-code">useAnchorScroll</code>
63
+ The
64
+ <code class="inline-code">anchorScrollOffset</code>
65
+ prop on
66
+ <code class="inline-code">TabNavigation</code>
67
+ accepts
68
+ <code class="inline-code">number | (() => number)</code>
69
+ — the same type as the
70
+ <code class="inline-code">offset</code>
71
+ option on
72
+ <code class="inline-code">useAnchorScroll</code>
58
73
  directly. It is forwarded verbatim to the composable.
59
74
  </p>
60
- <div class="demo-code">const navItemData = {
61
- main: [
62
- { text: "Overview", href: "#overview" },
63
- { text: "API", href: "#api" },
64
- { text: "Usage", href: "#usage" },
65
- { text: "Motion", href: "#motion" },
66
- ],
67
- };</div>
68
- <div class="demo-code">&lt;div ref="stickyNavRef"&gt;
69
- &lt;TabNavigation
70
- :nav-item-data="navItemData"
71
- :anchor-scroll-offset="() => stickyNavRef?.offsetHeight ?? 0"
72
- /&gt;
73
- &lt;/div&gt;</div>
74
- </LayoutRow>
75
+ <div class="demo-code">
76
+ const navItemData = { main: [ { text: "Overview", href: "#overview" }, { text: "API", href: "#api" }, {
77
+ text: "Usage", href: "#usage" }, { text: "Motion", href: "#motion" }, ], };
78
+ </div>
79
+ <div class="demo-code">
80
+ &lt;div ref="stickyNavRef"&gt; &lt;TabNavigation :nav-item-data="navItemData" :anchor-scroll-offset="() =>
81
+ stickyNavRef?.offsetHeight ?? 0" /&gt; &lt;/div&gt;
82
+ </div>
83
+ </PageRow>
75
84
  </section>
76
85
 
77
86
  <section id="usage" class="anchor-tab-section">
78
- <LayoutRow tag="div" variant="content">
87
+ <PageRow tag="div" variant="content">
79
88
  <h2 class="page-heading-2">Usage</h2>
80
89
  <p class="page-body-medium">
81
- This section verifies the <strong>Usage</strong> link. Confirm the heading lands
82
- below the sticky nav after scrolling.
90
+ This section verifies the
91
+ <strong>Usage</strong>
92
+ link. Confirm the heading lands below the sticky nav after scrolling.
83
93
  </p>
84
94
  <p class="page-body-medium">
85
95
  Mixed navigation — routes and anchor hrefs in the same
86
- <code class="inline-code">navItemData</code> — is supported. Route items render
87
- as <code class="inline-code">NuxtLink</code>; anchor items render as plain
88
- <code class="inline-code">&lt;a&gt;</code>. The handler is a no-op for routes
89
- so both types can share the same click binding.
96
+ <code class="inline-code">navItemData</code>
97
+ is supported. Route items render as
98
+ <code class="inline-code">NuxtLink</code>
99
+ ; anchor items render as plain
100
+ <code class="inline-code">&lt;a&gt;</code>
101
+ . The handler is a no-op for routes so both types can share the same click binding.
90
102
  </p>
91
- <div class="demo-code">const navItemData = {
92
- main: [
93
- { text: "About", href: "#about" }, // anchor — plain &lt;a&gt;
94
- { text: "Services", href: "#services" }, // anchor — plain &lt;a&gt;
95
- { text: "Blog", href: "/blog" }, // route — NuxtLink
96
- { text: "Contact", href: "#contact" }, // anchor — plain &lt;a&gt;
97
- ],
98
- };</div>
99
- </LayoutRow>
103
+ <div class="demo-code">
104
+ const navItemData = { main: [ { text: "About", href: "#about" }, // anchor — plain &lt;a&gt; { text:
105
+ "Services", href: "#services" }, // anchor — plain &lt;a&gt; { text: "Blog", href: "/blog" }, // route —
106
+ NuxtLink { text: "Contact", href: "#contact" }, // anchor — plain &lt;a&gt; ], };
107
+ </div>
108
+ </PageRow>
100
109
  </section>
101
110
 
102
111
  <section id="motion" class="anchor-tab-section">
103
- <LayoutRow tag="div" variant="content">
112
+ <PageRow tag="div" variant="content">
104
113
  <h2 class="page-heading-2">Reduced Motion</h2>
105
114
  <p class="page-body-medium">
106
- This section verifies the <strong>Reduced Motion</strong> link. With
107
- <em>Reduce Motion</em> enabled in OS accessibility settings, clicks should
108
- produce an instant jump rather than a smooth scroll — and the offset should still
109
- be respected.
115
+ This section verifies the
116
+ <strong>Reduced Motion</strong>
117
+ link. With
118
+ <em>Reduce Motion</em>
119
+ enabled in OS accessibility settings, clicks should produce an instant jump rather than a smooth scroll —
120
+ and the offset should still be respected.
110
121
  </p>
111
122
  <p class="page-body-medium">
112
- To test on macOS: <strong>System Settings → Accessibility → Display → Reduce
113
- Motion</strong>. Refresh the page after toggling, then click any section link
114
- above.
123
+ To test on macOS:
124
+ <strong>System Settings Accessibility Display Reduce Motion</strong>
125
+ . Refresh the page after toggling, then click any section link above.
115
126
  </p>
116
- </LayoutRow>
127
+ </PageRow>
117
128
  </section>
118
129
  </template>
119
130
  </NuxtLayout>