@thewhatmatters/wmds 0.4.29 → 0.4.31

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 (249) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/CONSUMING.md +2 -1
  3. package/dist/components/atoms/Badge/Badge.js +1 -1
  4. package/dist/components/atoms/Badge/badgeStyles.d.ts +1 -1
  5. package/dist/components/atoms/Badge/badgeStyles.js +1 -1
  6. package/dist/components/atoms/Band/Band.d.ts +1 -1
  7. package/dist/components/atoms/Band/Band.d.ts.map +1 -1
  8. package/dist/components/atoms/Band/bandStyles.d.ts +4 -1
  9. package/dist/components/atoms/Band/bandStyles.d.ts.map +1 -1
  10. package/dist/components/atoms/Band/bandStyles.js +1 -1
  11. package/dist/components/atoms/Button/Button.d.ts +22 -4
  12. package/dist/components/atoms/Button/Button.d.ts.map +1 -1
  13. package/dist/components/atoms/Button/Button.js +132 -124
  14. package/dist/components/atoms/Button/buttonStyles.d.ts +3 -1
  15. package/dist/components/atoms/Button/buttonStyles.d.ts.map +1 -1
  16. package/dist/components/atoms/Button/buttonStyles.js +5 -4
  17. package/dist/components/atoms/IconButton/IconButton.d.ts +5 -0
  18. package/dist/components/atoms/IconButton/IconButton.d.ts.map +1 -1
  19. package/dist/components/atoms/IconButton/IconButton.js +4 -3
  20. package/dist/components/atoms/SectionCaption/SectionCaption.d.ts +5 -1
  21. package/dist/components/atoms/SectionCaption/SectionCaption.d.ts.map +1 -1
  22. package/dist/components/atoms/SectionCaption/SectionCaption.js +1 -1
  23. package/dist/components/atoms/TextLink/TextLink.d.ts +10 -2
  24. package/dist/components/atoms/TextLink/TextLink.d.ts.map +1 -1
  25. package/dist/components/atoms/TextLink/TextLink.js +18 -14
  26. package/dist/components/molecules/Accordion/Accordion.d.ts +9 -4
  27. package/dist/components/molecules/Accordion/Accordion.d.ts.map +1 -1
  28. package/dist/components/molecules/Accordion/Accordion.js +58 -51
  29. package/dist/components/molecules/Accordion/accordionStyles.d.ts +5 -0
  30. package/dist/components/molecules/Accordion/accordionStyles.d.ts.map +1 -1
  31. package/dist/components/molecules/Accordion/accordionStyles.js +5 -2
  32. package/dist/components/molecules/Breadcrumb/breadcrumbStyles.d.ts +5 -2
  33. package/dist/components/molecules/Breadcrumb/breadcrumbStyles.d.ts.map +1 -1
  34. package/dist/components/molecules/Breadcrumb/breadcrumbStyles.js +2 -2
  35. package/dist/components/molecules/Field/fieldStyles.d.ts +1 -1
  36. package/dist/components/molecules/Field/fieldStyles.js +1 -1
  37. package/dist/components/molecules/HeroIntro/HeroIntro.d.ts +22 -8
  38. package/dist/components/molecules/HeroIntro/HeroIntro.d.ts.map +1 -1
  39. package/dist/components/molecules/HeroIntro/HeroIntro.js +30 -18
  40. package/dist/components/molecules/HeroIntro/heroIntroStyles.d.ts +19 -3
  41. package/dist/components/molecules/HeroIntro/heroIntroStyles.d.ts.map +1 -1
  42. package/dist/components/molecules/HeroIntro/heroIntroStyles.js +2 -2
  43. package/dist/components/molecules/LinkTile/LinkTile.d.ts +6 -4
  44. package/dist/components/molecules/LinkTile/LinkTile.d.ts.map +1 -1
  45. package/dist/components/molecules/LinkTile/LinkTile.js +29 -29
  46. package/dist/components/molecules/PageHeader/PageHeader.d.ts +8 -1
  47. package/dist/components/molecules/PageHeader/PageHeader.d.ts.map +1 -1
  48. package/dist/components/molecules/PageHeader/PageHeader.js +19 -15
  49. package/dist/components/molecules/TileGrid/tileGridStyles.js +1 -1
  50. package/dist/components/organisms/Carousel/carouselStyles.js +3 -3
  51. package/dist/components/organisms/ChatDock/chatDockStyles.d.ts +4 -0
  52. package/dist/components/organisms/ChatDock/chatDockStyles.d.ts.map +1 -1
  53. package/dist/components/organisms/FooterReveal/FooterReveal.d.ts +4 -2
  54. package/dist/components/organisms/FooterReveal/FooterReveal.d.ts.map +1 -1
  55. package/dist/components/organisms/FooterReveal/FooterReveal.js +85 -85
  56. package/dist/components/organisms/FooterReveal/FooterRevealRuled.d.ts.map +1 -1
  57. package/dist/components/organisms/FooterReveal/FooterRevealRuled.js +49 -50
  58. package/dist/components/organisms/FooterReveal/footerRevealStyles.d.ts +9 -7
  59. package/dist/components/organisms/FooterReveal/footerRevealStyles.d.ts.map +1 -1
  60. package/dist/components/organisms/FooterReveal/footerRevealStyles.js +2 -9
  61. package/dist/components/organisms/IntakeConfirmation/intakeConfirmationStyles.d.ts +2 -1
  62. package/dist/components/organisms/IntakeConfirmation/intakeConfirmationStyles.d.ts.map +1 -1
  63. package/dist/components/organisms/IntakeConfirmation/intakeConfirmationStyles.js +1 -1
  64. package/dist/components/organisms/SiteNav/SiteNav.d.ts +17 -8
  65. package/dist/components/organisms/SiteNav/SiteNav.d.ts.map +1 -1
  66. package/dist/components/organisms/SiteNav/SiteNav.js +310 -256
  67. package/dist/components/organisms/SiteNav/siteNavStyles.d.ts +34 -6
  68. package/dist/components/organisms/SiteNav/siteNavStyles.d.ts.map +1 -1
  69. package/dist/components/organisms/SiteNav/siteNavStyles.js +3 -3
  70. package/dist/components/organisms/SiteNav/useSiteNavMobileMenu.d.ts +17 -0
  71. package/dist/components/organisms/SiteNav/useSiteNavMobileMenu.d.ts.map +1 -0
  72. package/dist/components/organisms/SiteNav/useSiteNavMobileMenu.js +47 -0
  73. package/dist/index.d.ts +2 -2
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +107 -107
  76. package/dist/lib/dialogOverlay.d.ts +8 -0
  77. package/dist/lib/dialogOverlay.d.ts.map +1 -1
  78. package/dist/lib/dialogOverlay.js +45 -26
  79. package/dist/lib/motion.d.ts +2 -1
  80. package/dist/lib/motion.d.ts.map +1 -1
  81. package/dist/lib/motion.js +1 -1
  82. package/dist/lib/typography.d.ts +2 -2
  83. package/dist/lib/typography.d.ts.map +1 -1
  84. package/dist/lib/typography.js +14 -3
  85. package/dist/styles.css +1 -1
  86. package/dist/typography.css +46 -11
  87. package/docs/components.md +6 -6
  88. package/docs/exports.json +3 -2
  89. package/docs/patterns/components-accordion--flush.tsx +1 -1
  90. package/docs/patterns/components-appshell--portal-dashboard-pattern.tsx +1 -1
  91. package/docs/patterns/components-avatar--dropdown-row.tsx +1 -1
  92. package/docs/patterns/components-badge--outline-tags.tsx +1 -1
  93. package/docs/patterns/components-badge--status-pill.tsx +1 -1
  94. package/docs/patterns/components-badge--with-avatar.tsx +1 -1
  95. package/docs/patterns/components-band--page-in-bands.tsx +1 -1
  96. package/docs/patterns/components-breadcrumb--editorial.tsx +1 -1
  97. package/docs/patterns/components-breadcrumb--long-path.tsx +1 -1
  98. package/docs/patterns/components-breadcrumb--path.tsx +1 -1
  99. package/docs/patterns/components-breadcrumb--router-links.tsx +1 -1
  100. package/docs/patterns/components-button-button--copy-button.tsx +1 -1
  101. package/docs/patterns/components-button-button--destructive-action.tsx +1 -1
  102. package/docs/patterns/components-button-button--external-link.tsx +1 -1
  103. package/docs/patterns/components-button-button--ghost-action.tsx +1 -1
  104. package/docs/patterns/components-button-button--inverse-action.tsx +1 -1
  105. package/docs/patterns/components-button-button--link-render.tsx +1 -1
  106. package/docs/patterns/components-button-button--multi-state-badge.tsx +1 -1
  107. package/docs/patterns/components-button-button--outline-mono.tsx +1 -1
  108. package/docs/patterns/components-button-button--primary-action.tsx +1 -1
  109. package/docs/patterns/components-button-button--row-hug.tsx +1 -1
  110. package/docs/patterns/components-button-button--row-layout.tsx +1 -1
  111. package/docs/patterns/components-button-button--secondary-action.tsx +1 -1
  112. package/docs/patterns/components-button-button--suggestion-pills.tsx +1 -1
  113. package/docs/patterns/components-button-button--with-count.tsx +1 -1
  114. package/docs/patterns/components-button-button--with-icon.tsx +1 -1
  115. package/docs/patterns/components-button-floatingactionbutton--vertical-actions.tsx +1 -1
  116. package/docs/patterns/components-calembed--pattern-skip-in-footer.tsx +1 -1
  117. package/docs/patterns/components-card-card--body-slot-occupancy-history.tsx +1 -1
  118. package/docs/patterns/components-card-card--headerless-media.tsx +1 -1
  119. package/docs/patterns/components-card-card--outlined-layout.tsx +1 -1
  120. package/docs/patterns/components-card-card--pinned-height.tsx +1 -1
  121. package/docs/patterns/components-card-card--terminal-frame.tsx +1 -1
  122. package/docs/patterns/components-card-selectablecard--selectable-cards-pattern.tsx +1 -1
  123. package/docs/patterns/components-carousel--image-carousel.tsx +1 -1
  124. package/docs/patterns/components-chart--audience-activity-heatmap.tsx +1 -1
  125. package/docs/patterns/components-chart--cartesian-no-data-gaps.tsx +1 -1
  126. package/docs/patterns/components-chart--occupancy-history-in-card.tsx +1 -1
  127. package/docs/patterns/components-chart--occupancy-in-card.tsx +1 -1
  128. package/docs/patterns/components-chart--post-reach-distribution.tsx +1 -1
  129. package/docs/patterns/components-chart--ranked-audience-breakdown.tsx +1 -1
  130. package/docs/patterns/components-chart--revenue-by-line.tsx +1 -1
  131. package/docs/patterns/components-chart--segmented-ring-pattern.tsx +1 -1
  132. package/docs/patterns/components-chart--unit-grid-composition.tsx +1 -1
  133. package/docs/patterns/components-chatdock--pattern-chat-dock.tsx +1 -1
  134. package/docs/patterns/components-chatdock--pattern-start-project-gate.tsx +1 -1
  135. package/docs/patterns/components-chatqa--pattern-qa-with-reply.tsx +1 -1
  136. package/docs/patterns/components-checkbox-checkbox--default.tsx +1 -1
  137. package/docs/patterns/components-checkbox-checkbox--with-count.tsx +1 -1
  138. package/docs/patterns/components-checkbox-checkbox--with-description.tsx +1 -1
  139. package/docs/patterns/components-checkbox-checkboxgroup--default.tsx +1 -1
  140. package/docs/patterns/components-checkbox-checkboxgroup--option-counts.tsx +1 -1
  141. package/docs/patterns/components-copyfield--clipboard-blocked.tsx +1 -1
  142. package/docs/patterns/components-copyfield--copied.tsx +1 -1
  143. package/docs/patterns/components-copyfield--copy-key.tsx +1 -1
  144. package/docs/patterns/components-copyfield--on-navy.tsx +1 -1
  145. package/docs/patterns/components-descriptionlist--details.tsx +1 -1
  146. package/docs/patterns/components-descriptionlist--post-metadata.tsx +1 -1
  147. package/docs/patterns/components-dialog--alert-dialog-destructive.tsx +1 -1
  148. package/docs/patterns/components-dialog--alert-dialog-typed-confirmation.tsx +1 -1
  149. package/docs/patterns/components-dialog--default-dialog.tsx +1 -1
  150. package/docs/patterns/components-dialog--form-dialog.tsx +1 -1
  151. package/docs/patterns/components-displaycontrols--page-utilities.tsx +1 -1
  152. package/docs/patterns/components-displaycontrols--theme-switch.tsx +1 -1
  153. package/docs/patterns/components-field--horizontal-input.tsx +1 -1
  154. package/docs/patterns/components-field--horizontal-text-area.tsx +1 -1
  155. package/docs/patterns/components-field--multi-control.tsx +1 -1
  156. package/docs/patterns/components-filterpanel--panel.tsx +1 -1
  157. package/docs/patterns/components-footerreveal--marketing-hero-pattern.tsx +6 -6
  158. package/docs/patterns/components-footerreveal--marketing-hero-ruled-pattern.tsx +2 -2
  159. package/docs/patterns/components-footerreveal--marketing-hero-with-gallery-intro.tsx +6 -6
  160. package/docs/patterns/components-footerreveal--marketing-page-pattern.tsx +5 -5
  161. package/docs/patterns/components-footerreveal--ruled-grid-footer-pattern.tsx +2 -2
  162. package/docs/patterns/components-footerreveal--sequenced-marketing-hero.tsx +5 -5
  163. package/docs/patterns/components-herointro--two-line-intro.tsx +3 -3
  164. package/docs/patterns/components-herointro--with-actions.tsx +22 -0
  165. package/docs/patterns/components-herotilestack--marketing-hero-pattern.tsx +3 -3
  166. package/docs/patterns/components-herotilestack--marketing-hero-text-sequence.tsx +2 -2
  167. package/docs/patterns/components-herotilestack--marketing-hero-with-gallery-intro.tsx +3 -3
  168. package/docs/patterns/components-indexlist--post-index.tsx +1 -1
  169. package/docs/patterns/components-intakeconfirmation--booked-pattern.tsx +1 -1
  170. package/docs/patterns/components-intakeconfirmation--emailed-pattern.tsx +1 -1
  171. package/docs/patterns/components-intakeform--about-you-pattern.tsx +1 -1
  172. package/docs/patterns/components-intakeform--short-form-pattern.tsx +1 -1
  173. package/docs/patterns/components-intakemodal--intake-modal-pattern.tsx +1 -1
  174. package/docs/patterns/components-kbd--command-row.tsx +1 -1
  175. package/docs/patterns/components-kbd--numbered-choices.tsx +1 -1
  176. package/docs/patterns/components-kbd--shortcut.tsx +1 -1
  177. package/docs/patterns/components-linktile--resource-tile.tsx +2 -2
  178. package/docs/patterns/components-linktile--router-link.tsx +1 -1
  179. package/docs/patterns/components-logview--detail-pane.tsx +1 -1
  180. package/docs/patterns/components-logview--log-viewer.tsx +1 -1
  181. package/docs/patterns/components-moremenu--action-menu.tsx +1 -1
  182. package/docs/patterns/components-moremenu--in-card-header.tsx +1 -1
  183. package/docs/patterns/components-navlist--app-sidebar.tsx +1 -1
  184. package/docs/patterns/components-navlist--side-nav-settings.tsx +1 -1
  185. package/docs/patterns/components-pageheader--app-header-pattern.tsx +1 -1
  186. package/docs/patterns/components-pageheader--page-section-header.tsx +1 -1
  187. package/docs/patterns/components-pageheader--toolbar-header.tsx +1 -1
  188. package/docs/patterns/components-panel--end-detail-rail.tsx +1 -1
  189. package/docs/patterns/components-pillgroup--pill-group-pattern.tsx +1 -1
  190. package/docs/patterns/components-promptbar--pattern-prompt-bar.tsx +1 -1
  191. package/docs/patterns/components-prose--article-body.tsx +1 -1
  192. package/docs/patterns/components-radio-radiogroup--default.tsx +1 -1
  193. package/docs/patterns/components-scrollhorizontal--project-gallery-pattern.tsx +1 -1
  194. package/docs/patterns/components-scrollhorizontal--with-intro.tsx +1 -1
  195. package/docs/patterns/components-sectioncaption--column-caption.tsx +1 -1
  196. package/docs/patterns/components-sectioncaption--with-action.tsx +1 -1
  197. package/docs/patterns/components-sheet--bottom-sheet.tsx +1 -1
  198. package/docs/patterns/components-sheet--end-sheet.tsx +1 -1
  199. package/docs/patterns/components-sheet--side-sheet-header-actions.tsx +1 -1
  200. package/docs/patterns/components-sheet--side-sheet-url-deep-link.tsx +1 -1
  201. package/docs/patterns/components-sheet--side-sheet.tsx +1 -1
  202. package/docs/patterns/components-sitenav--brand-and-cta.tsx +1 -1
  203. package/docs/patterns/components-sitenav--centered-links.tsx +1 -1
  204. package/docs/patterns/components-sitenav--compact.tsx +1 -1
  205. package/docs/patterns/components-sitenav--marketing-header.tsx +2 -1
  206. package/docs/patterns/components-sitenav--mega-menu.tsx +1 -1
  207. package/docs/patterns/components-stat--hero-stat.tsx +1 -1
  208. package/docs/patterns/components-stat--insights-row.tsx +1 -1
  209. package/docs/patterns/components-stepprogress--step-progress-pattern.tsx +1 -1
  210. package/docs/patterns/components-switch--default.tsx +1 -1
  211. package/docs/patterns/components-switch--settings-row.tsx +1 -1
  212. package/docs/patterns/components-tab--settings-pages.tsx +1 -1
  213. package/docs/patterns/components-table--approvals-with-sheet.tsx +1 -1
  214. package/docs/patterns/components-table--approvals.tsx +3 -3
  215. package/docs/patterns/components-table--basic.tsx +1 -1
  216. package/docs/patterns/components-taskrows--action-details.tsx +1 -1
  217. package/docs/patterns/components-taskrows--capsules.tsx +1 -1
  218. package/docs/patterns/components-taskrows--card-with-status-rows.tsx +1 -1
  219. package/docs/patterns/components-taskrows--controlled-expand.tsx +1 -1
  220. package/docs/patterns/components-taskrows--custom-slots.tsx +1 -1
  221. package/docs/patterns/components-taskrows--needs-you-table.tsx +1 -1
  222. package/docs/patterns/components-taskrows--status-list.tsx +1 -1
  223. package/docs/patterns/components-taskrows--tag-chips.tsx +1 -1
  224. package/docs/patterns/components-textarea--save-status.tsx +1 -1
  225. package/docs/patterns/components-textlink--external-destination.tsx +1 -1
  226. package/docs/patterns/components-textlink--inline-prose.tsx +1 -1
  227. package/docs/patterns/components-textlink--quiet-title.tsx +1 -1
  228. package/docs/patterns/components-textlink--supporting-copy.tsx +1 -1
  229. package/docs/patterns/components-textsequence--default.tsx +1 -1
  230. package/docs/patterns/components-textsequence--reduced-motion.tsx +1 -1
  231. package/docs/patterns/components-textsequence--shapes.tsx +2 -2
  232. package/docs/patterns/components-tilegrid--masonry.tsx +2 -2
  233. package/docs/patterns/components-toast--stacked-notifications.tsx +1 -1
  234. package/docs/patterns/components-tooltip--controlled.tsx +1 -1
  235. package/docs/patterns/components-tooltip--disabled-control.tsx +1 -1
  236. package/docs/patterns/components-tooltip--icon-action.tsx +1 -1
  237. package/docs/patterns/components-tooltip--keyboard-shortcut.tsx +1 -1
  238. package/docs/patterns/components-tooltip--placement.tsx +1 -1
  239. package/docs/patterns/foundations-scroll-fade--horizontal-rail.tsx +1 -1
  240. package/docs/patterns/foundations-scroll-fade--overflowing-list.tsx +1 -1
  241. package/docs/patterns/guides-chart-explorations--comparison-gallery.tsx +1 -1
  242. package/docs/patterns/guides-filter-panel--filtered-grid.tsx +4 -4
  243. package/docs/patterns/guides-filter-panel--filtered-index.tsx +3 -3
  244. package/docs/patterns/guides-overlay-flows--notification-preferences.tsx +1 -1
  245. package/docs/patterns/guides-post-page--post-page.tsx +3 -3
  246. package/docs/patterns/guides-profile-typography--editorial-profile.tsx +6 -6
  247. package/docs/patterns/guides-resource-detail--detail.tsx +2 -2
  248. package/docs/patterns/index.json +9 -1
  249. package/package.json +1 -1
@@ -14,7 +14,7 @@ var i = [
14
14
  "pill",
15
15
  "row",
16
16
  "nav"
17
- ], s = ["fill", "hug"], c = ["center", "start"], l = ["strong", "quiet"], u = "inline-flex cursor-pointer items-center font-sans font-medium normal-case tracking-normal transition-[color,transform,box-shadow,border-color,outline-color,background-color] " + n("fast") + " " + r + " focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 focus-visible:ring-offset-body disabled:cursor-not-allowed disabled:pointer-events-none disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:pointer-events-none aria-disabled:opacity-50 no-underline", d = {
17
+ ], s = ["fill", "hug"], c = ["center", "start"], l = ["strong", "quiet"], u = "inline-flex cursor-pointer items-center font-sans font-medium normal-case tracking-normal transition-[color,transform,box-shadow,border-color,outline-color,background-color] " + n("fast") + " " + r + " focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 focus-visible:ring-offset-body disabled:cursor-not-allowed disabled:pointer-events-none disabled:opacity-70 aria-disabled:cursor-not-allowed aria-disabled:pointer-events-none aria-disabled:opacity-70 no-underline", d = {
18
18
  primary: "bg-primary text-primary-foreground hover:bg-primary-hover active:bg-primary-active",
19
19
  secondary: "bg-secondary text-secondary-foreground shadow-raised hover:bg-secondary-hover active:bg-secondary-active",
20
20
  ghost: "bg-transparent text-ghost-foreground hover:bg-ghost-hover active:bg-ghost-active",
@@ -25,7 +25,7 @@ var i = [
25
25
  }, f = "border border-border bg-transparent text-fg hover:bg-ghost-hover active:bg-ghost-active", p = {
26
26
  center: "justify-center",
27
27
  start: "justify-start text-left"
28
- }, m = "!font-mono !text-[length:var(--font-size-sm)] !font-normal !uppercase !leading-none !tracking-[0.14em]", h = "-ml-0.5 size-[0.85em] shrink-0 stroke-current", g = "inline-flex size-5 shrink-0 items-center justify-center rounded-none bg-accent text-on-accent", _ = {
28
+ }, m = "!font-mono !text-[length:var(--font-size-sm)] !font-normal !uppercase !leading-none !tracking-[0.12em]", h = "-ml-0.5 size-[0.85em] shrink-0 stroke-current", g = "inline-flex size-5 shrink-0 items-center justify-center rounded-none bg-accent text-on-accent", _ = {
29
29
  xs: "px-3.5",
30
30
  sm: "px-4",
31
31
  md: "px-5",
@@ -45,12 +45,13 @@ var i = [
45
45
  sm: t.md,
46
46
  md: t.lg,
47
47
  lg: "size-12 shrink-0"
48
- }, x = "flex cursor-pointer items-center font-sans tracking-normal transition-[color,background-color,outline-color] " + n("fast") + " focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring disabled:cursor-not-allowed disabled:pointer-events-none disabled:opacity-50", S = "h-auto min-h-0 rounded-md px-1.5 py-1 text-left font-normal focus-visible:ring-inset focus-visible:ring-offset-0", C = {
48
+ }, x = "flex cursor-pointer items-center font-sans tracking-normal transition-[color,background-color,outline-color] " + n("fast") + " focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring disabled:cursor-not-allowed disabled:pointer-events-none disabled:opacity-70 aria-disabled:cursor-not-allowed aria-disabled:pointer-events-none aria-disabled:opacity-70", S = "h-auto min-h-0 rounded-md px-1.5 py-1 text-left font-normal focus-visible:ring-inset focus-visible:ring-offset-0", C = {
49
49
  fill: "w-full justify-between gap-3",
50
50
  hug: "w-auto justify-start gap-1.5"
51
51
  }, w = "h-auto min-h-0 w-full justify-start gap-2.5 rounded-[var(--radius-control-box)] px-2.5 py-2 text-left text-sm font-normal leading-[var(--line-height-sm)] focus-visible:ring-inset focus-visible:ring-offset-0";
52
52
  function T(e) {
53
53
  return e ? "bg-secondary text-secondary-foreground" : "bg-transparent text-muted hover:bg-ghost-hover hover:text-fg";
54
54
  }
55
+ var E = "type-supporting text-muted";
55
56
  //#endregion
56
- export { p as buttonAlignClasses, c as buttonAligns, u as buttonBaseClasses, l as buttonEmphases, g as buttonEndIconSquareClasses, h as buttonExternalIconClasses, _ as buttonHorizontalPadding, y as buttonIconSizeClasses, o as buttonLayouts, m as buttonMonoLabelClasses, w as buttonNavLayoutClasses, T as buttonNavStateClasses, f as buttonOutlineQuietClasses, a as buttonPillClass, d as buttonRoleClasses, i as buttonRoles, x as buttonRowBaseClasses, S as buttonRowLayoutClasses, C as buttonRowWidthClasses, v as buttonSizeClasses, s as buttonWidths, b as iconButtonSizeClasses };
57
+ export { p as buttonAlignClasses, c as buttonAligns, u as buttonBaseClasses, E as buttonDisabledReasonClasses, l as buttonEmphases, g as buttonEndIconSquareClasses, h as buttonExternalIconClasses, _ as buttonHorizontalPadding, y as buttonIconSizeClasses, o as buttonLayouts, m as buttonMonoLabelClasses, w as buttonNavLayoutClasses, T as buttonNavStateClasses, f as buttonOutlineQuietClasses, a as buttonPillClass, d as buttonRoleClasses, i as buttonRoles, x as buttonRowBaseClasses, S as buttonRowLayoutClasses, C as buttonRowWidthClasses, v as buttonSizeClasses, s as buttonWidths, b as iconButtonSizeClasses };
@@ -27,6 +27,11 @@ export interface IconButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonEle
27
27
  * selected fill while `true`. Omit for a plain action. Not with `fab` or `inset`.
28
28
  */
29
29
  pressed?: boolean;
30
+ /**
31
+ * Don't disable an icon button in WhatMatters work (Buttons rule U6): it has nowhere to show why. Hide
32
+ * the action while it isn't available, or leave it enabled and explain on press (a toast or inline
33
+ * message). Kept for parity with Button; it stays focusable through `aria-disabled`.
34
+ */
30
35
  disabled?: boolean;
31
36
  type?: "button" | "submit" | "reset";
32
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/IconButton/IconButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAIjF,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAWhC,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAErD,sEAAsE;AACtE,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,eACf,SAAQ,IAAI,CACV,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CACpE;IACD,wDAAwD;IACxD,IAAI,EAAE,YAAY,CAAC;IACnB,uFAAuF;IACvF,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,qFAAqF;IACrF,IAAI,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC;IAC5C,iGAAiG;IACjG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC;;;;OAIG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACtD,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAgBD;;;GAGG;AACH,eAAO,MAAM,UAAU,+GAmIrB,CAAC"}
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/IconButton/IconButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAIjF,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAWhC,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAErD,sEAAsE;AACtE,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,eACf,SAAQ,IAAI,CACV,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CACpE;IACD,wDAAwD;IACxD,IAAI,EAAE,YAAY,CAAC;IACnB,uFAAuF;IACvF,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,qFAAqF;IACrF,IAAI,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAAC;IAC5C,iGAAiG;IACjG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC;;;;OAIG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACtD,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAgBD;;;GAGG;AACH,eAAO,MAAM,UAAU,+GAsIrB,CAAC"}
@@ -19,7 +19,9 @@ var h = d(function({ icon: d, "aria-label": h, role: g, size: _ = "md", inset: v
19
19
  inset: v,
20
20
  pressed: S
21
21
  });
22
- let R = b ? "primary" : g ?? "ghost", z = C || x, B = x && !C, V = B ? (e) => e.preventDefault() : D, H = y === void 0 ? h : y, U = v ? _ : null, W = v ? s[U ?? "md"] : r[_], G = e(t, "justify-center", S === !0 ? l : n[R], W, u, v && "focus-visible:ring-offset-1 focus-visible:ring-offset-surface", b && "shadow-soft-card", E), K = x ? /* @__PURE__ */ f(a, { size: v ? "xs" : _ }) : v ? /* @__PURE__ */ f("span", {
22
+ let R = b ? "primary" : g ?? "ghost", z = C || x, B = z, V = B ? (e) => {
23
+ e.preventDefault(), e.stopPropagation();
24
+ } : D, H = y === void 0 ? h : y, U = v ? _ : null, W = v ? s[U ?? "md"] : r[_], G = e(t, "justify-center", S === !0 ? l : n[R], W, u, v && "focus-visible:ring-offset-1 focus-visible:ring-offset-surface", b && "shadow-soft-card", E), K = x ? /* @__PURE__ */ f(a, { size: v ? "xs" : _ }) : v ? /* @__PURE__ */ f("span", {
23
25
  className: e("inline-flex shrink-0 items-center justify-center text-inherit [&>svg]:size-full", c[U ?? "md"]),
24
26
  "aria-hidden": !0,
25
27
  children: d
@@ -49,7 +51,6 @@ var h = d(function({ icon: d, "aria-label": h, role: g, size: _ = "md", inset: v
49
51
  "data-pattern": b ? "fab" : v ? "inset" : "icon",
50
52
  "data-loading": x || void 0,
51
53
  title: H === "" ? void 0 : H,
52
- tabIndex: C ? -1 : I.tabIndex,
53
54
  onClick: V,
54
55
  onKeyDown: O,
55
56
  id: N,
@@ -61,8 +62,8 @@ var h = d(function({ icon: d, "aria-label": h, role: g, size: _ = "md", inset: v
61
62
  ...I,
62
63
  className: G,
63
64
  type: w,
64
- disabled: C,
65
65
  "aria-disabled": B || void 0,
66
+ "data-disabled": z ? "" : void 0,
66
67
  "aria-busy": x || void 0,
67
68
  "aria-label": h,
68
69
  "aria-current": k,
@@ -6,7 +6,11 @@ export type SectionCaptionLayoutClassName = string;
6
6
  export interface SectionCaptionProps {
7
7
  /** The caption, in sentence case — for example "Metadata". The utility sets the capitals. */
8
8
  children: ReactNode;
9
- /** The element. `h2` (default) when the caption names a region; `p` when it only labels a column. */
9
+ /**
10
+ * The element. `p` (default): a caption is an eyebrow in capitals, not a heading (Headings H6,
11
+ * Eyebrow E6). It still names a region through `id` + `aria-labelledby`. `h2`–`h4` only when the
12
+ * page has no sentence-case heading for that region and people jump to it.
13
+ */
10
14
  as?: SectionCaptionElement;
11
15
  /** For `aria-labelledby` on the region the caption names. */
12
16
  id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SectionCaption.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/SectionCaption/SectionCaption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAML,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE5F,8CAA8C;AAC9C,MAAM,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC,6FAA6F;IAC7F,QAAQ,EAAE,SAAS,CAAC;IACpB,qGAAqG;IACrG,EAAE,CAAC,EAAE,qBAAqB,CAAC;IAC3B,6DAA6D;IAC7D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,6BAA6B,CAAC;CAC3C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,EAAE,EAAE,OAAc,EAClB,EAAE,EACF,MAAa,EACb,IAAW,EACX,GAAG,EACH,SAAS,GACV,EAAE,mBAAmB,+BAiBrB"}
1
+ {"version":3,"file":"SectionCaption.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/SectionCaption/SectionCaption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAML,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE5F,8CAA8C;AAC9C,MAAM,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC,6FAA6F;IAC7F,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,EAAE,CAAC,EAAE,qBAAqB,CAAC;IAC3B,6DAA6D;IAC7D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,6BAA6B,CAAC;CAC3C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,EAAE,EAAE,OAAa,EACjB,EAAE,EACF,MAAa,EACb,IAAW,EACX,GAAG,EACH,SAAS,GACV,EAAE,mBAAmB,+BAiBrB"}
@@ -3,7 +3,7 @@ import { cn as e } from "../../../lib/cn.js";
3
3
  import { sectionCaptionElements as t, sectionCaptionEndClasses as n, sectionCaptionLabelClasses as r, sectionCaptionMarkerClasses as i, sectionCaptionRowClasses as a } from "./sectionCaptionStyles.js";
4
4
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
5
5
  //#region src/components/atoms/SectionCaption/SectionCaption.tsx
6
- function c({ children: t, as: c = "h2", id: l, marker: u = !0, rule: d = !0, end: f, className: p }) {
6
+ function c({ children: t, as: c = "p", id: l, marker: u = !0, rule: d = !0, end: f, className: p }) {
7
7
  return /* @__PURE__ */ s("div", {
8
8
  className: e(a, d && "border-b border-border-emphasized pb-3", p),
9
9
  "data-section-caption": "",
@@ -18,11 +18,19 @@ export interface TextLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorEleme
18
18
  * and weight. For headline-size text and list titles.
19
19
  */
20
20
  variant?: TextLinkVariant;
21
- /** Opens in a new tab and appends the external-destination icon. */
21
+ /**
22
+ * Marks a link that leaves the site: appends the external-destination icon. Opens in the same tab unless
23
+ * `newTab` is set (Links rule K9).
24
+ */
22
25
  external?: boolean;
26
+ /**
27
+ * Opt-in: open in a new tab. Adds "(opens in a new tab)" to the accessible name and `rel="noopener noreferrer"`.
28
+ * Use it only when leaving the page would lose the reader's work.
29
+ */
30
+ newTab?: boolean;
23
31
  /** Layout-only: margin or placement. */
24
32
  className?: TextLinkLayoutClassName;
25
33
  }
26
34
  /** Inline text navigation — the solid-underline prose link, or a quiet link for titles. */
27
- export declare function TextLink({ href, render, children, variant, external, className, rel, ...anchorProps }: TextLinkProps): ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
35
+ export declare function TextLink({ href, render, children, variant, external, newTab, className, rel, ...anchorProps }: TextLinkProps): ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
28
36
  //# sourceMappingURL=TextLink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextLink.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/TextLink/TextLink.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG3E,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE1E,8EAA8E;AAC9E,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,aACf,SAAQ,IAAI,CACV,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAC7C;IACD,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAED,2FAA2F;AAC3F,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,OAAiB,EACjB,QAAgB,EAChB,SAAS,EACT,GAAG,EACH,GAAG,WAAW,EACf,EAAE,aAAa,8EA6Bf"}
1
+ {"version":3,"file":"TextLink.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/TextLink/TextLink.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG3E,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE1E,8EAA8E;AAC9E,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,aACf,SAAQ,IAAI,CACV,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAC7C;IACD,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAED,2FAA2F;AAC3F,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,OAAiB,EACjB,QAAgB,EAChB,MAAc,EACd,SAAS,EACT,GAAG,EACH,GAAG,WAAW,EACf,EAAE,aAAa,8EAyBf"}
@@ -5,25 +5,29 @@ import { SquareArrowOutUpRight as i } from "lucide-react";
5
5
  import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
6
6
  import { useRender as c } from "@base-ui/react/use-render";
7
7
  //#region src/components/atoms/TextLink/TextLink.tsx
8
- function l({ href: r, render: l, children: u, variant: d = "prose", external: f = !1, className: p, rel: m, ...h }) {
9
- let g = f && m == null ? "noopener noreferrer" : m;
8
+ function l({ href: r, render: l, children: u, variant: d = "prose", external: f = !1, newTab: p = !1, className: m, rel: h, ...g }) {
9
+ let _ = p && h == null ? "noopener noreferrer" : h;
10
10
  return r == null && l == null && console.warn("[WMDS TextLink] Pass `href`, or `render` with a link that carries it."), c({
11
11
  render: l,
12
12
  defaultTagName: "a",
13
13
  props: {
14
- ...h,
14
+ ...g,
15
15
  ...r == null ? null : { href: r },
16
- ...f ? { target: "_blank" } : null,
17
- ...g == null ? null : { rel: g },
18
- className: e(n[d], p),
19
- children: /* @__PURE__ */ s(a, { children: [u, f ? /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o(i, {
20
- className: t,
21
- strokeWidth: 2,
22
- "aria-hidden": !0
23
- }), /* @__PURE__ */ o("span", {
24
- className: "sr-only",
25
- children: " (opens in a new tab)"
26
- })] }) : null] })
16
+ ...p ? { target: "_blank" } : null,
17
+ ..._ == null ? null : { rel: _ },
18
+ className: e(n[d], m),
19
+ children: /* @__PURE__ */ s(a, { children: [
20
+ u,
21
+ f ? /* @__PURE__ */ o(i, {
22
+ className: t,
23
+ strokeWidth: 2,
24
+ "aria-hidden": !0
25
+ }) : null,
26
+ p ? /* @__PURE__ */ o("span", {
27
+ className: "sr-only",
28
+ children: " (opens in a new tab)"
29
+ }) : null
30
+ ] })
27
31
  }
28
32
  });
29
33
  }
@@ -1,7 +1,7 @@
1
1
  import { type HTMLAttributes, type ReactNode } from "react";
2
- import { type AccordionVariant } from "./accordionStyles";
3
- export type { AccordionVariant } from "./accordionStyles";
4
- export { accordionVariants } from "./accordionStyles";
2
+ import { type AccordionSize, type AccordionVariant } from "./accordionStyles";
3
+ export type { AccordionSize, AccordionVariant } from "./accordionStyles";
4
+ export { accordionSizes, accordionVariants } from "./accordionStyles";
5
5
  /** Layout-only — not for row colors or panel styling overrides. */
6
6
  export type AccordionLayoutClassName = string;
7
7
  export interface AccordionProps extends HTMLAttributes<HTMLDivElement> {
@@ -15,6 +15,11 @@ export interface AccordionProps extends HTMLAttributes<HTMLDivElement> {
15
15
  * accordion (a filter side panel). The hover band reaches 8px past each edge.
16
16
  */
17
17
  flush?: boolean;
18
+ /**
19
+ * Panel text: `ui` (default, 14px muted, app UI) or `reading` (17px regular in ink) for answers people read,
20
+ * such as an FAQ or a services list (Body rules B7, B9).
21
+ */
22
+ size?: AccordionSize;
18
23
  className?: AccordionLayoutClassName;
19
24
  }
20
25
  export interface AccordionItemProps {
@@ -33,7 +38,7 @@ export interface AccordionItemProps {
33
38
  onOpenChange?: (open: boolean) => void;
34
39
  className?: AccordionLayoutClassName;
35
40
  }
36
- declare function AccordionRoot({ variant, inset, flush: flushProp, className, children, ...props }: AccordionProps): import("react").JSX.Element;
41
+ declare function AccordionRoot({ variant, inset, flush: flushProp, size, className, children, ...props }: AccordionProps): import("react").JSX.Element;
37
42
  declare function AccordionItem({ label, leading, trailing, children, defaultOpen, open: openProp, onOpenChange, className, }: AccordionItemProps): import("react").JSX.Element;
38
43
  export declare const Accordion: typeof AccordionRoot & {
39
44
  Item: typeof AccordionItem;
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,OAAO,EA0BL,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,mEAAmE;AACnE,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAY9C,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,cAAc,CAAC;IACpE,QAAQ,EAAE,SAAS,CAAC;IACpB,mGAAmG;IACnG,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,qFAAqF;IACrF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,sEAAsE;IACtE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yBAAyB;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC;AAED,iBAAS,aAAa,CAAC,EACrB,OAAiB,EACjB,KAAa,EACb,KAAK,EAAE,SAAiB,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,+BA2BhB;AAkBD,iBAAS,aAAa,CAAC,EACrB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,WAAmB,EACnB,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,SAAS,GACV,EAAE,kBAAkB,+BA4EpB;AAED,eAAO,MAAM,SAAS;;CAEpB,CAAC"}
1
+ {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,OAAO,EAkBL,KAAK,aAAa,EAUlB,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,mEAAmE;AACnE,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAc9C,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,cAAc,CAAC;IACpE,QAAQ,EAAE,SAAS,CAAC;IACpB,mGAAmG;IACnG,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,qFAAqF;IACrF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,sEAAsE;IACtE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yBAAyB;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC;AAED,iBAAS,aAAa,CAAC,EACrB,OAAiB,EACjB,KAAa,EACb,KAAK,EAAE,SAAiB,EACxB,IAAW,EACX,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,+BA4BhB;AAkBD,iBAAS,aAAa,CAAC,EACrB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,WAAmB,EACnB,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,SAAS,GACV,EAAE,kBAAkB,+BA4EpB;AAED,eAAO,MAAM,SAAS;;CAEpB,CAAC"}
@@ -1,89 +1,96 @@
1
1
  "use client";
2
2
  import { cn as e } from "../../../lib/cn.js";
3
3
  import { ButtonIcon as t } from "../../atoms/Button/ButtonIcon.js";
4
- import { accordionChevronRotateClasses as n, accordionChevronSlotClasses as r, accordionItemCapsuleClasses as i, accordionItemCapsuleClosedClasses as a, accordionItemCapsuleOpenClasses as o, accordionItemFlushClasses as s, accordionItemListClasses as c, accordionItemPlainClasses as l, accordionLabelPlainClasses as u, accordionLabelRowClasses as d, accordionLeadingSlotClasses as f, accordionPanelContentCapsuleClasses as p, accordionPanelContentFlushClasses as m, accordionPanelContentListClasses as h, accordionPanelInnerClasses as g, accordionRootCapsuleClasses as _, accordionRootListClasses as v, accordionRootListInsetClasses as y, accordionRootPlainClasses as b, accordionTrailingClusterClasses as x, accordionTriggerCapsuleClasses as S, accordionTriggerFlushClasses as C, accordionTriggerInteractiveClasses as w, accordionTriggerListClasses as T, accordionVariants as E } from "./accordionStyles.js";
5
- import { createContext as D, useCallback as O, useContext as k, useId as A, useMemo as j, useState as M } from "react";
6
- import { ChevronDown as N } from "lucide-react";
7
- import { Fragment as P, jsx as F, jsxs as I } from "react/jsx-runtime";
4
+ import { accordionChevronRotateClasses as n, accordionChevronSlotClasses as r, accordionItemCapsuleClasses as i, accordionItemCapsuleClosedClasses as a, accordionItemCapsuleOpenClasses as o, accordionItemFlushClasses as s, accordionItemListClasses as c, accordionItemPlainClasses as l, accordionLabelPlainClasses as u, accordionLabelRowClasses as d, accordionLeadingSlotClasses as f, accordionPanelContentCapsuleClasses as p, accordionPanelContentFlushClasses as m, accordionPanelContentListClasses as h, accordionPanelInnerClasses as g, accordionPanelSizeClasses as _, accordionRootCapsuleClasses as v, accordionRootListClasses as y, accordionRootListInsetClasses as b, accordionRootPlainClasses as x, accordionSizes as S, accordionTrailingClusterClasses as C, accordionTriggerCapsuleClasses as w, accordionTriggerFlushClasses as T, accordionTriggerInteractiveClasses as E, accordionTriggerListClasses as D, accordionVariants as O } from "./accordionStyles.js";
5
+ import { createContext as k, useCallback as A, useContext as j, useId as M, useMemo as N, useState as P } from "react";
6
+ import { ChevronDown as F } from "lucide-react";
7
+ import { Fragment as I, jsx as L, jsxs as R } from "react/jsx-runtime";
8
8
  //#region src/components/molecules/Accordion/Accordion.tsx
9
- var L = D({
9
+ var z = k({
10
10
  variant: "plain",
11
- flush: !1
11
+ flush: !1,
12
+ size: "ui"
12
13
  });
13
- function R({ variant: t = "plain", inset: n = !1, flush: r = !1, className: i, children: a, ...o }) {
14
- let s = r && t === "plain", c = j(() => ({
14
+ function B({ variant: t = "plain", inset: n = !1, flush: r = !1, size: i = "ui", className: a, children: o, ...s }) {
15
+ let c = r && t === "plain", l = N(() => ({
15
16
  variant: t,
16
- flush: s
17
- }), [t, s]), l = t === "list" ? n ? y : v : t === "capsule" ? _ : b;
18
- return /* @__PURE__ */ F(L.Provider, {
19
- value: c,
20
- children: /* @__PURE__ */ F("div", {
21
- className: e(l, i),
17
+ flush: c,
18
+ size: i
19
+ }), [
20
+ t,
21
+ c,
22
+ i
23
+ ]), u = t === "list" ? n ? b : y : t === "capsule" ? v : x;
24
+ return /* @__PURE__ */ L(z.Provider, {
25
+ value: l,
26
+ children: /* @__PURE__ */ L("div", {
27
+ className: e(u, a),
22
28
  "data-variant": t,
23
29
  "data-inset": n ? "true" : void 0,
24
- "data-flush": s ? "true" : void 0,
25
- ...o,
26
- children: a
30
+ "data-flush": c ? "true" : void 0,
31
+ "data-size": i === "reading" ? "reading" : void 0,
32
+ ...s,
33
+ children: o
27
34
  })
28
35
  });
29
36
  }
30
- function z(t, n, r) {
37
+ function V(t, n, r) {
31
38
  return r ? s : t === "list" ? c : t === "capsule" ? e(i, n ? o : a) : l;
32
39
  }
33
- function B({ label: i, leading: a, trailing: o, children: s, defaultOpen: c = !1, open: l, onOpenChange: _, className: v }) {
34
- let { variant: y, flush: b } = k(L), E = A(), [D, j] = M(c), R = l !== void 0, B = R ? l : D, V = s != null, H = O((e) => {
35
- R || j(e), _?.(e);
36
- }, [R, _]), U = y === "plain" ? u : d, W = b ? C : y === "capsule" ? S : T, G = b ? m : y === "capsule" ? p : h, K = /* @__PURE__ */ I(P, { children: [
37
- a == null ? null : /* @__PURE__ */ F("span", {
40
+ function H({ label: i, leading: a, trailing: o, children: s, defaultOpen: c = !1, open: l, onOpenChange: v, className: y }) {
41
+ let { variant: b, flush: x, size: S } = j(z), O = M(), [k, N] = P(c), B = l !== void 0, H = B ? l : k, U = s != null, W = A((e) => {
42
+ B || N(e), v?.(e);
43
+ }, [B, v]), G = b === "plain" ? u : d, K = x ? T : b === "capsule" ? w : D, q = x ? m : b === "capsule" ? p : h, J = /* @__PURE__ */ R(I, { children: [
44
+ a == null ? null : /* @__PURE__ */ L("span", {
38
45
  className: f,
39
46
  children: a
40
47
  }),
41
- /* @__PURE__ */ F("span", {
42
- className: U,
48
+ /* @__PURE__ */ L("span", {
49
+ className: G,
43
50
  children: i
44
51
  }),
45
- o == null ? null : /* @__PURE__ */ F("span", {
46
- className: x,
52
+ o == null ? null : /* @__PURE__ */ L("span", {
53
+ className: C,
47
54
  children: o
48
55
  }),
49
- V ? /* @__PURE__ */ F("span", {
56
+ U ? /* @__PURE__ */ L("span", {
50
57
  className: r,
51
58
  "aria-hidden": !0,
52
- children: /* @__PURE__ */ F("span", {
53
- className: e(n, B && "rotate-180"),
54
- children: /* @__PURE__ */ F(t, {
59
+ children: /* @__PURE__ */ L("span", {
60
+ className: e(n, H && "rotate-180"),
61
+ children: /* @__PURE__ */ L(t, {
55
62
  size: "xs",
56
- children: /* @__PURE__ */ F(N, { strokeWidth: 2.2 })
63
+ children: /* @__PURE__ */ L(F, { strokeWidth: 2.2 })
57
64
  })
58
65
  })
59
66
  }) : null
60
67
  ] });
61
- return /* @__PURE__ */ I("div", {
62
- className: e(z(y, B, b), v),
63
- children: [V ? /* @__PURE__ */ F("button", {
68
+ return /* @__PURE__ */ R("div", {
69
+ className: e(V(b, H, x), y),
70
+ children: [U ? /* @__PURE__ */ L("button", {
64
71
  type: "button",
65
- className: e(W, w),
66
- "aria-expanded": B,
67
- "aria-controls": E,
68
- onClick: () => H(!B),
69
- children: K
70
- }) : /* @__PURE__ */ F("div", {
71
- className: W,
72
- children: K
73
- }), V ? /* @__PURE__ */ F("div", {
72
+ className: e(K, E),
73
+ "aria-expanded": H,
74
+ "aria-controls": O,
75
+ onClick: () => W(!H),
76
+ children: J
77
+ }) : /* @__PURE__ */ L("div", {
78
+ className: K,
79
+ children: J
80
+ }), U ? /* @__PURE__ */ L("div", {
74
81
  className: "motion-collapse",
75
- "data-visible": B ? "true" : "false",
76
- children: /* @__PURE__ */ F("div", {
77
- id: E,
82
+ "data-visible": H ? "true" : "false",
83
+ children: /* @__PURE__ */ L("div", {
84
+ id: O,
78
85
  className: g,
79
- children: /* @__PURE__ */ F("div", {
80
- className: G,
86
+ children: /* @__PURE__ */ L("div", {
87
+ className: _(q, S),
81
88
  children: s
82
89
  })
83
90
  })
84
91
  }) : null]
85
92
  });
86
93
  }
87
- var V = Object.assign(R, { Item: B });
94
+ var U = Object.assign(B, { Item: H });
88
95
  //#endregion
89
- export { V as Accordion, E as accordionVariants };
96
+ export { U as Accordion, S as accordionSizes, O as accordionVariants };
@@ -49,6 +49,11 @@ export declare const accordionPanelContentListClasses: string;
49
49
  export declare const accordionPanelContentCapsuleClasses: string;
50
50
  /** Plain + `flush` — panel content on the label's edge. */
51
51
  export declare const accordionPanelContentFlushClasses = "type-body text-muted tracking-normal pb-4 pt-0";
52
+ /** Accordion panel text sizes: `ui` (14px muted, app UI) and `reading` (17px regular in ink, FAQ answers and service descriptions; Body rules B7, B9). */
53
+ export declare const accordionSizes: readonly ["ui", "reading"];
54
+ export type AccordionSize = (typeof accordionSizes)[number];
55
+ /** Swaps the panel's UI text (14px muted) for reading text (17px regular, ink). */
56
+ export declare function accordionPanelSizeClasses(classes: string, size: AccordionSize): string;
52
57
  /** @deprecated Use `accordionPanelContentListClasses` or `accordionPanelContentCapsuleClasses`. */
53
58
  export declare const accordionPanelContentClasses: string;
54
59
  //# sourceMappingURL=accordionStyles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accordionStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Accordion/accordionStyles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,iBAAiB,uCAAwC,CAAC;AAEvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB,+FACyD,CAAC;AAE/F,qEAAqE;AACrE,eAAO,MAAM,6BAA6B,2CAA2C,CAAC;AAEtF,eAAO,MAAM,2BAA2B,6DACkC,CAAC;AAE3E,eAAO,MAAM,yBAAyB,2CAA2C,CAAC;AAElF,eAAO,MAAM,wBAAwB,QACiD,CAAC;AAEvF,eAAO,MAAM,yBAAyB,QACgD,CAAC;AAEvF,6FAA6F;AAC7F,eAAO,MAAM,yBAAyB,2CAA2C,CAAC;AAElF,2EAA2E;AAC3E,eAAO,MAAM,2BAA2B,QAEZ,CAAC;AAE7B,mDAAmD;AACnD,eAAO,MAAM,iCAAiC,mBAAwB,CAAC;AAEvE,sCAAsC;AACtC,eAAO,MAAM,+BAA+B,mBAA4B,CAAC;AAEzE,uFAAuF;AACvF,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,6BAA6B,WAAW,CAAC;AAEtD,eAAO,MAAM,2BAA2B,QACqC,CAAC;AAE9E,eAAO,MAAM,8BAA8B,QACyC,CAAC;AAErF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,uFAC6C,CAAC;AAEvF,yFAAyF;AACzF,eAAO,MAAM,2BAA2B,QAA8B,CAAC;AAEvE,yEAAyE;AACzE,eAAO,MAAM,kCAAkC,QAErB,CAAC;AAE3B,eAAO,MAAM,2BAA2B,qDAAqD,CAAC;AAE9F,gGAAgG;AAChG,eAAO,MAAM,0BAA0B,QAAuD,CAAC;AAE/F,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,QAA4E,CAAC;AAElH,eAAO,MAAM,+BAA+B,qCAAqC,CAAC;AAElF,gEAAgE;AAChE,eAAO,MAAM,2BAA2B,sGAC6D,CAAC;AAEtG,eAAO,MAAM,6BAA6B,QAC6B,CAAC;AAExE,eAAO,MAAM,2BAA2B,eAAe,CAAC;AAExD,eAAO,MAAM,0BAA0B,oBAAoB,CAAC;AAE5D,yFAAyF;AACzF,eAAO,MAAM,gCAAgC,QAC+B,CAAC;AAE7E,eAAO,MAAM,mCAAmC,QACqC,CAAC;AAEtF,2DAA2D;AAC3D,eAAO,MAAM,iCAAiC,mDAAmD,CAAC;AAElG,mGAAmG;AACnG,eAAO,MAAM,4BAA4B,QAAmC,CAAC"}
1
+ {"version":3,"file":"accordionStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Accordion/accordionStyles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,iBAAiB,uCAAwC,CAAC;AAEvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB,+FACyD,CAAC;AAE/F,qEAAqE;AACrE,eAAO,MAAM,6BAA6B,2CAA2C,CAAC;AAEtF,eAAO,MAAM,2BAA2B,6DACkC,CAAC;AAE3E,eAAO,MAAM,yBAAyB,2CAA2C,CAAC;AAElF,eAAO,MAAM,wBAAwB,QACiD,CAAC;AAEvF,eAAO,MAAM,yBAAyB,QACgD,CAAC;AAEvF,6FAA6F;AAC7F,eAAO,MAAM,yBAAyB,2CAA2C,CAAC;AAElF,2EAA2E;AAC3E,eAAO,MAAM,2BAA2B,QAEZ,CAAC;AAE7B,mDAAmD;AACnD,eAAO,MAAM,iCAAiC,mBAAwB,CAAC;AAEvE,sCAAsC;AACtC,eAAO,MAAM,+BAA+B,mBAA4B,CAAC;AAEzE,uFAAuF;AACvF,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,6BAA6B,WAAW,CAAC;AAEtD,eAAO,MAAM,2BAA2B,QACqC,CAAC;AAE9E,eAAO,MAAM,8BAA8B,QACyC,CAAC;AAErF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,uFAC6C,CAAC;AAEvF,yFAAyF;AACzF,eAAO,MAAM,2BAA2B,QAA8B,CAAC;AAEvE,yEAAyE;AACzE,eAAO,MAAM,kCAAkC,QAErB,CAAC;AAE3B,eAAO,MAAM,2BAA2B,qDAAqD,CAAC;AAE9F,gGAAgG;AAChG,eAAO,MAAM,0BAA0B,QAAuD,CAAC;AAE/F,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,QAA4E,CAAC;AAElH,eAAO,MAAM,+BAA+B,qCAAqC,CAAC;AAElF,gEAAgE;AAChE,eAAO,MAAM,2BAA2B,sGAC6D,CAAC;AAEtG,eAAO,MAAM,6BAA6B,QAC6B,CAAC;AAExE,eAAO,MAAM,2BAA2B,eAAe,CAAC;AAExD,eAAO,MAAM,0BAA0B,oBAAoB,CAAC;AAE5D,yFAAyF;AACzF,eAAO,MAAM,gCAAgC,QAC+B,CAAC;AAE7E,eAAO,MAAM,mCAAmC,QACqC,CAAC;AAEtF,2DAA2D;AAC3D,eAAO,MAAM,iCAAiC,mDAAmD,CAAC;AAElG,0JAA0J;AAC1J,eAAO,MAAM,cAAc,4BAA6B,CAAC;AACzD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,mFAAmF;AACnF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAEtF;AAED,mGAAmG;AACnG,eAAO,MAAM,4BAA4B,QAAmC,CAAC"}
@@ -7,6 +7,9 @@ var a = [
7
7
  "list",
8
8
  "capsule",
9
9
  "plain"
10
- ], o = "flex w-full flex-col overflow-hidden rounded-lg bg-surface font-sans text-fg shadow-raised", s = "flex w-full flex-col font-sans text-fg", c = `flex w-full min-h-0 flex-col ${i} font-sans text-fg`, l = "flex w-full flex-col font-sans text-fg", u = "overflow-hidden border-b border-border last:border-b-0 " + t("fast"), d = "overflow-hidden border-b border-border last:border-b-0 " + t("fast"), f = "border-b border-border last:border-b-0", p = "overflow-hidden bg-surface shadow-raised transition-[border-radius,background-color] " + t("medium"), m = r, h = n, g = "flex h-11 w-full items-center gap-2.5 text-left px-4", _ = "flex h-11 w-full items-center gap-2.5 text-left px-2.5", v = "-mx-2 flex h-11 w-[calc(100%+1rem)] items-center gap-2.5 rounded-lg px-2 text-left", y = "cursor-pointer hover:bg-ghost-hover active:bg-ghost-active focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-inset " + t("fast"), b = "flex size-6 shrink-0 items-center justify-center", x = `${e("body")} min-w-0 flex-1 truncate`, S = `${e("ui-label")} min-w-0 flex-1 truncate text-[0.8125rem]`, C = "flex shrink-0 items-center gap-2", w = "-ml-2 flex size-7 shrink-0 items-center justify-center rounded-[var(--radius-control)] text-muted", T = "inline-flex " + t("medium") + " transition-transform", E = "rotate-180", D = "overflow-hidden", O = "type-body text-muted tracking-normal pb-4 pt-0 px-4", k = "type-body text-muted tracking-normal pb-2.5 pt-0 px-2.5", A = "type-body text-muted tracking-normal pb-4 pt-0";
10
+ ], o = "flex w-full flex-col overflow-hidden rounded-lg bg-surface font-sans text-fg shadow-raised", s = "flex w-full flex-col font-sans text-fg", c = `flex w-full min-h-0 flex-col ${i} font-sans text-fg`, l = "flex w-full flex-col font-sans text-fg", u = "overflow-hidden border-b border-border last:border-b-0 " + t("fast"), d = "overflow-hidden border-b border-border last:border-b-0 " + t("fast"), f = "border-b border-border last:border-b-0", p = "overflow-hidden bg-surface shadow-raised transition-[border-radius,background-color] " + t("medium"), m = r, h = n, g = "flex h-11 w-full items-center gap-2.5 text-left px-4", _ = "flex h-11 w-full items-center gap-2.5 text-left px-2.5", v = "-mx-2 flex h-11 w-[calc(100%+1rem)] items-center gap-2.5 rounded-lg px-2 text-left", y = "cursor-pointer hover:bg-ghost-hover active:bg-ghost-active focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-inset " + t("fast"), b = "flex size-6 shrink-0 items-center justify-center", x = `${e("body")} min-w-0 flex-1 truncate`, S = `${e("ui-label")} min-w-0 flex-1 truncate text-[0.8125rem]`, C = "flex shrink-0 items-center gap-2", w = "-ml-2 flex size-7 shrink-0 items-center justify-center rounded-[var(--radius-control)] text-muted", T = "inline-flex " + t("medium") + " transition-transform", E = "rotate-180", D = "overflow-hidden", O = "type-body text-muted tracking-normal pb-4 pt-0 px-4", k = "type-body text-muted tracking-normal pb-2.5 pt-0 px-2.5", A = "type-body text-muted tracking-normal pb-4 pt-0", j = ["ui", "reading"];
11
+ function M(e, t) {
12
+ return t === "reading" ? e.replace("type-body text-muted", "type-large text-fg") : e;
13
+ }
11
14
  //#endregion
12
- export { E as accordionChevronOpenClasses, T as accordionChevronRotateClasses, w as accordionChevronSlotClasses, p as accordionItemCapsuleClasses, m as accordionItemCapsuleClosedClasses, h as accordionItemCapsuleOpenClasses, f as accordionItemFlushClasses, u as accordionItemListClasses, d as accordionItemPlainClasses, x as accordionLabelPlainClasses, S as accordionLabelRowClasses, b as accordionLeadingSlotClasses, k as accordionPanelContentCapsuleClasses, A as accordionPanelContentFlushClasses, O as accordionPanelContentListClasses, D as accordionPanelInnerClasses, c as accordionRootCapsuleClasses, o as accordionRootListClasses, s as accordionRootListInsetClasses, l as accordionRootPlainClasses, C as accordionTrailingClusterClasses, _ as accordionTriggerCapsuleClasses, v as accordionTriggerFlushClasses, y as accordionTriggerInteractiveClasses, g as accordionTriggerListClasses, a as accordionVariants };
15
+ export { E as accordionChevronOpenClasses, T as accordionChevronRotateClasses, w as accordionChevronSlotClasses, p as accordionItemCapsuleClasses, m as accordionItemCapsuleClosedClasses, h as accordionItemCapsuleOpenClasses, f as accordionItemFlushClasses, u as accordionItemListClasses, d as accordionItemPlainClasses, x as accordionLabelPlainClasses, S as accordionLabelRowClasses, b as accordionLeadingSlotClasses, k as accordionPanelContentCapsuleClasses, A as accordionPanelContentFlushClasses, O as accordionPanelContentListClasses, D as accordionPanelInnerClasses, M as accordionPanelSizeClasses, c as accordionRootCapsuleClasses, o as accordionRootListClasses, s as accordionRootListInsetClasses, l as accordionRootPlainClasses, j as accordionSizes, C as accordionTrailingClusterClasses, _ as accordionTriggerCapsuleClasses, v as accordionTriggerFlushClasses, y as accordionTriggerInteractiveClasses, g as accordionTriggerListClasses, a as accordionVariants };
@@ -4,10 +4,13 @@ export type BreadcrumbSeparator = (typeof breadcrumbSeparators)[number];
4
4
  export declare const breadcrumbVariants: readonly ["sans", "mono"];
5
5
  /** `sans` (default) — body type. `mono` — `type-eyebrow` caps, for editorial pages beside **SectionCaption**. */
6
6
  export type BreadcrumbVariant = (typeof breadcrumbVariants)[number];
7
- export declare const breadcrumbListClasses = "m-0 flex min-w-0 list-none flex-wrap items-center gap-x-1.5 gap-y-1 p-0 sm:gap-x-2";
7
+ export declare const breadcrumbListClasses = "m-0 flex min-w-0 list-none flex-wrap items-center gap-x-1.5 gap-y-1 p-0 md:gap-x-2";
8
8
  export declare const breadcrumbVariantClasses: Record<BreadcrumbVariant, string>;
9
9
  export declare const breadcrumbItemClasses = "inline-flex min-w-0 items-center";
10
- /** A link crumb — muted, darkening with an underline on hover, the focus ring. */
10
+ /**
11
+ * A link crumb — muted, darkening with an underline on hover, the focus ring. `py-0.5 -my-0.5` makes
12
+ * the target 24px tall (Links rule K6, WCAG 2.5.8) without moving the row.
13
+ */
11
14
  export declare const breadcrumbLinkClasses: string;
12
15
  /** The current page — the last crumb, not a link. */
13
16
  export declare const breadcrumbPageClasses: string;
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumbStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Breadcrumb/breadcrumbStyles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,+BAAgC,CAAC;AAElE,sDAAsD;AACtD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,eAAO,MAAM,kBAAkB,2BAA4B,CAAC;AAE5D,iHAAiH;AACjH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,qBAAqB,uFAAuF,CAAC;AAE1H,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAGtE,CAAC;AAEF,eAAO,MAAM,qBAAqB,qCAAqC,CAAC;AAKxE,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,QAOjC,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,QAAwC,CAAC;AAE3E,yDAAyD;AACzD,eAAO,MAAM,qBAAqB,QAA2C,CAAC;AAE9E,eAAO,MAAM,0BAA0B,iDAAiD,CAAC;AAEzF,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AAEpD,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,uCAAuC,CAAC"}
1
+ {"version":3,"file":"breadcrumbStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Breadcrumb/breadcrumbStyles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,+BAAgC,CAAC;AAElE,sDAAsD;AACtD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,eAAO,MAAM,kBAAkB,2BAA4B,CAAC;AAE5D,iHAAiH;AACjH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,qBAAqB,uFAAuF,CAAC;AAE1H,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAGtE,CAAC;AAEF,eAAO,MAAM,qBAAqB,qCAAqC,CAAC;AAKxE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAQjC,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,QAAwC,CAAC;AAE3E,yDAAyD;AACzD,eAAO,MAAM,qBAAqB,QAA2C,CAAC;AAE9E,eAAO,MAAM,0BAA0B,iDAAiD,CAAC;AAEzF,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AAEpD,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,uCAAuC,CAAC"}
@@ -3,9 +3,9 @@ import { cn as e } from "../../../lib/cn.js";
3
3
  import { typographyClass as t } from "../../../lib/typography.js";
4
4
  import { motionTransition as n } from "../../../lib/motion.js";
5
5
  //#region src/components/molecules/Breadcrumb/breadcrumbStyles.ts
6
- var r = ["chevron", "slash"], i = ["sans", "mono"], a = "m-0 flex min-w-0 list-none flex-wrap items-center gap-x-1.5 gap-y-1 p-0 sm:gap-x-2", o = {
6
+ var r = ["chevron", "slash"], i = ["sans", "mono"], a = "m-0 flex min-w-0 list-none flex-wrap items-center gap-x-1.5 gap-y-1 p-0 md:gap-x-2", o = {
7
7
  sans: e(t("body"), "text-muted"),
8
8
  mono: t("eyebrow")
9
- }, s = "inline-flex min-w-0 items-center", c = "block max-w-[10rem] truncate sm:max-w-[16rem] lg:max-w-[24rem]", l = e(c, "rounded-sm text-muted underline decoration-transparent decoration-solid underline-offset-4", "transition-[color,text-decoration-color]", n("fast"), "hover:text-fg hover:decoration-current", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 focus-visible:ring-offset-body"), u = e(c, "text-fg"), d = e(c, "text-muted"), f = "inline-flex shrink-0 items-center text-muted", p = "select-none", m = "relative -mx-2.5 -my-2 inline-flex";
9
+ }, s = "inline-flex min-w-0 items-center", c = "block max-w-[10rem] truncate md:max-w-[16rem] lg:max-w-[24rem]", l = e(c, "py-0.5 -my-0.5", "rounded-sm text-muted underline decoration-transparent decoration-solid underline-offset-4", "transition-[color,text-decoration-color]", n("fast"), "hover:text-fg hover:decoration-current", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-2 focus-visible:ring-offset-body"), u = e(c, "text-fg"), d = e(c, "text-muted"), f = "inline-flex shrink-0 items-center text-muted", p = "select-none", m = "relative -mx-2.5 -my-2 inline-flex";
10
10
  //#endregion
11
11
  export { s as breadcrumbItemClasses, l as breadcrumbLinkClasses, a as breadcrumbListClasses, m as breadcrumbMoreClasses, u as breadcrumbPageClasses, f as breadcrumbSeparatorClasses, r as breadcrumbSeparators, p as breadcrumbSlashClasses, d as breadcrumbTextClasses, o as breadcrumbVariantClasses, i as breadcrumbVariants };
@@ -5,7 +5,7 @@ export declare const fieldVerticalStackClasses = "flex w-full flex-col gap-1.5";
5
5
  /** Label beside control — Stripe-style two-column row. */
6
6
  export declare const fieldHorizontalStackClasses = "flex w-full items-start gap-4";
7
7
  /** Left label column — fixed band; control column flexes. */
8
- export declare const fieldHorizontalLabelColumnClasses = "w-[7.5rem] shrink-0 pt-2.5 sm:w-32";
8
+ export declare const fieldHorizontalLabelColumnClasses = "w-[7.5rem] shrink-0 pt-2.5 md:w-32";
9
9
  /** Right control column in horizontal layout. */
10
10
  export declare const fieldHorizontalControlColumnClasses = "flex min-w-0 flex-1 flex-col gap-1.5";
11
11
  /** Gap between multiple controls under one label. */
@@ -3,7 +3,7 @@ import { cn as e } from "../../../lib/cn.js";
3
3
  import { typographyClass as t } from "../../../lib/typography.js";
4
4
  import "../../atoms/Input/inputShellStyles.js";
5
5
  //#region src/components/molecules/Field/fieldStyles.ts
6
- var n = ["vertical", "horizontal"], r = "flex w-full flex-col gap-1.5", i = "flex w-full items-start gap-4", a = "w-[7.5rem] shrink-0 pt-2.5 sm:w-32", o = "flex min-w-0 flex-1 flex-col gap-1.5", s = "flex w-full flex-col gap-2", c = t("ui-label"), l = t("caption");
6
+ var n = ["vertical", "horizontal"], r = "flex w-full flex-col gap-1.5", i = "flex w-full items-start gap-4", a = "w-[7.5rem] shrink-0 pt-2.5 md:w-32", o = "flex min-w-0 flex-1 flex-col gap-1.5", s = "flex w-full flex-col gap-2", c = t("ui-label"), l = t("caption");
7
7
  function u(t) {
8
8
  return e(c, t && "opacity-50");
9
9
  }
@@ -6,15 +6,27 @@ export declare const heroIntroSteps: readonly ["large", "display"];
6
6
  export type HeroIntroStep = (typeof heroIntroSteps)[number];
7
7
  export interface HeroIntroProps {
8
8
  /**
9
- * First sentence. Wraps when the measure is shorter than the line, including from `md`.
10
- * When `children` is passed, the rest of the intro starts on the next line.
9
+ * The heading's first line. Wraps when the measure is shorter than the line, including from `md`.
10
+ * When `children` is passed, the rest of the heading starts on the next line.
11
11
  */
12
- lead: ReactNode;
12
+ firstLine?: ReactNode;
13
+ /** @deprecated Renamed to `firstLine` in 0.4.30 (it's the heading's first line, not a lead paragraph). */
14
+ lead?: ReactNode;
13
15
  /**
14
- * Rest of the intro. When present, starts on a new line, on the same type step and leading.
15
- * Omit it when the heading is only the lead, as on the sequenced hero.
16
+ * Rest of the heading. When present, starts on a new line, on the same type step and leading.
17
+ * Omit it when the heading is only the first line, as on the sequenced hero.
16
18
  */
17
19
  children?: ReactNode;
20
+ /**
21
+ * Optional lead paragraph under the heading: `type-lead` in ink (Lead paragraph rule, L7/L8). One or two
22
+ * sentences that summarise the page.
23
+ */
24
+ description?: ReactNode;
25
+ /**
26
+ * Optional CTA row under the heading (and the description): one primary **Button** and an optional
27
+ * secondary, usually `role="outline"` (Hero rule R2). Left on phones, centred from `md`.
28
+ */
29
+ actions?: ReactNode;
18
30
  /**
19
31
  * `large` — `type-display-2` at normal weight, columns 4–9 from `lg`. The default hero.
20
32
  * `display` — the same size, full width of the page grid. The sequenced hero.
@@ -25,8 +37,10 @@ export interface HeroIntroProps {
25
37
  className?: HeroIntroLayoutClassName;
26
38
  }
27
39
  /**
28
- * Marketing hero heading. `lead` is the first line. `children`, when passed, is the next line.
29
- * The component owns the break. This is the page `h1`.
40
+ * Marketing hero heading. `firstLine` is the first line. `children`, when passed, is the next line.
41
+ * `description`, when passed, is a lead paragraph under the heading, and `actions` the CTA row under that.
42
+ * The component owns the break.
43
+ * This is the page `h1`.
30
44
  */
31
- export declare function HeroIntro({ lead, children, step, className }: HeroIntroProps): import("react").JSX.Element;
45
+ export declare function HeroIntro({ firstLine, lead, children, description, actions, step, className }: HeroIntroProps): import("react").JSX.Element;
32
46
  //# sourceMappingURL=HeroIntro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeroIntro.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/HeroIntro/HeroIntro.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAWvC,kFAAkF;AAClF,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE9C,qHAAqH;AACrH,eAAO,MAAM,cAAc,+BAAgC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,IAAI,EAAE,SAAS,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,sCAAsC;IACtC,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAc,EAAE,SAAS,EAAE,EAAE,cAAc,+BAWtF"}
1
+ {"version":3,"file":"HeroIntro.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/HeroIntro/HeroIntro.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAcvC,kFAAkF;AAClF,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE9C,qHAAqH;AACrH,eAAO,MAAM,cAAc,+BAAgC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,0GAA0G;IAC1G,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,sCAAsC;IACtC,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,IAAc,EAAE,SAAS,EAAE,EAAE,cAAc,+BAqBvH"}