@thewhatmatters/wmds 0.4.8 → 0.4.27

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 (320) hide show
  1. package/CHANGELOG.md +284 -2
  2. package/CONSUMING.md +1 -1
  3. package/README.md +1 -1
  4. package/bin/wmds-check.mjs +8 -4
  5. package/dist/components/atoms/Badge/Badge.d.ts +13 -5
  6. package/dist/components/atoms/Badge/Badge.d.ts.map +1 -1
  7. package/dist/components/atoms/Badge/Badge.js +56 -48
  8. package/dist/components/atoms/Badge/badgeStyles.d.ts +15 -0
  9. package/dist/components/atoms/Badge/badgeStyles.d.ts.map +1 -1
  10. package/dist/components/atoms/Badge/badgeStyles.js +38 -16
  11. package/dist/components/atoms/Button/Button.d.ts +1 -1
  12. package/dist/components/atoms/Button/Button.d.ts.map +1 -1
  13. package/dist/components/atoms/Button/Button.js +67 -48
  14. package/dist/components/atoms/Button/buttonStatusMotion.d.ts.map +1 -1
  15. package/dist/components/atoms/Button/buttonStatusMotion.js +6 -1
  16. package/dist/components/atoms/Button/buttonStyles.d.ts +1 -1
  17. package/dist/components/atoms/Button/buttonStyles.d.ts.map +1 -1
  18. package/dist/components/atoms/Button/buttonStyles.js +14 -12
  19. package/dist/components/atoms/Input/Input.d.ts +3 -1
  20. package/dist/components/atoms/Input/Input.d.ts.map +1 -1
  21. package/dist/components/atoms/Input/Input.js +59 -59
  22. package/dist/components/atoms/Input/inputShellStyles.d.ts +9 -3
  23. package/dist/components/atoms/Input/inputShellStyles.d.ts.map +1 -1
  24. package/dist/components/atoms/Input/inputShellStyles.js +38 -38
  25. package/dist/components/atoms/RiveHand/RiveHand.d.ts.map +1 -1
  26. package/dist/components/atoms/RiveHand/RiveHand.js +83 -81
  27. package/dist/components/atoms/Table/Table.d.ts +54 -0
  28. package/dist/components/atoms/Table/Table.d.ts.map +1 -0
  29. package/dist/components/atoms/Table/Table.js +66 -0
  30. package/dist/components/atoms/Table/tableStyles.d.ts +18 -0
  31. package/dist/components/atoms/Table/tableStyles.d.ts.map +1 -0
  32. package/dist/components/atoms/Table/tableStyles.js +14 -0
  33. package/dist/components/atoms/TextArea/TextArea.d.ts +6 -0
  34. package/dist/components/atoms/TextArea/TextArea.d.ts.map +1 -1
  35. package/dist/components/atoms/TextArea/TextArea.js +86 -78
  36. package/dist/components/atoms/TextArea/textareaShellStyles.d.ts +2 -2
  37. package/dist/components/atoms/TextArea/textareaShellStyles.d.ts.map +1 -1
  38. package/dist/components/atoms/TextArea/textareaShellStyles.js +2 -2
  39. package/dist/components/atoms/TextLink/TextLink.d.ts +9 -3
  40. package/dist/components/atoms/TextLink/TextLink.d.ts.map +1 -1
  41. package/dist/components/atoms/TextLink/TextLink.js +22 -17
  42. package/dist/components/molecules/Card/Card.d.ts +28 -6
  43. package/dist/components/molecules/Card/Card.d.ts.map +1 -1
  44. package/dist/components/molecules/Card/Card.js +83 -42
  45. package/dist/components/molecules/Card/cardStyles.d.ts +16 -1
  46. package/dist/components/molecules/Card/cardStyles.d.ts.map +1 -1
  47. package/dist/components/molecules/Card/cardStyles.js +18 -4
  48. package/dist/components/molecules/Chip/chipStyles.js +9 -9
  49. package/dist/components/molecules/CopyField/CopyField.d.ts +41 -0
  50. package/dist/components/molecules/CopyField/CopyField.d.ts.map +1 -0
  51. package/dist/components/molecules/CopyField/CopyField.js +120 -0
  52. package/dist/components/molecules/CopyField/copyFieldStyles.d.ts +28 -0
  53. package/dist/components/molecules/CopyField/copyFieldStyles.d.ts.map +1 -0
  54. package/dist/components/molecules/CopyField/copyFieldStyles.js +7 -0
  55. package/dist/components/molecules/DisplayControls/DisplayControls.d.ts +16 -7
  56. package/dist/components/molecules/DisplayControls/DisplayControls.d.ts.map +1 -1
  57. package/dist/components/molecules/DisplayControls/DisplayControls.js +41 -39
  58. package/dist/components/molecules/DisplayControls/displayControlsState.d.ts +21 -0
  59. package/dist/components/molecules/DisplayControls/displayControlsState.d.ts.map +1 -1
  60. package/dist/components/molecules/DisplayControls/displayControlsState.js +46 -4
  61. package/dist/components/molecules/IndexList/IndexList.d.ts +6 -3
  62. package/dist/components/molecules/IndexList/IndexList.d.ts.map +1 -1
  63. package/dist/components/molecules/IndexList/IndexList.js +22 -21
  64. package/dist/components/molecules/LinkTile/LinkTile.d.ts.map +1 -1
  65. package/dist/components/molecules/LinkTile/LinkTile.js +74 -68
  66. package/dist/components/molecules/LinkTile/linkTileStyles.d.ts +7 -1
  67. package/dist/components/molecules/LinkTile/linkTileStyles.d.ts.map +1 -1
  68. package/dist/components/molecules/LinkTile/linkTileStyles.js +2 -2
  69. package/dist/components/molecules/LogView/LogView.d.ts +31 -0
  70. package/dist/components/molecules/LogView/LogView.d.ts.map +1 -0
  71. package/dist/components/molecules/LogView/LogView.js +109 -0
  72. package/dist/components/molecules/LogView/logViewStyles.d.ts +11 -0
  73. package/dist/components/molecules/LogView/logViewStyles.d.ts.map +1 -0
  74. package/dist/components/molecules/LogView/logViewStyles.js +6 -0
  75. package/dist/components/molecules/NavList/NavList.d.ts +23 -4
  76. package/dist/components/molecules/NavList/NavList.d.ts.map +1 -1
  77. package/dist/components/molecules/NavList/NavList.js +65 -52
  78. package/dist/components/molecules/NavList/navListStyles.d.ts +2 -0
  79. package/dist/components/molecules/NavList/navListStyles.d.ts.map +1 -1
  80. package/dist/components/molecules/NavList/navListStyles.js +3 -3
  81. package/dist/components/molecules/PageHeader/PageHeader.js +3 -3
  82. package/dist/components/molecules/SegmentedControl/segmentedControlStyles.js +7 -7
  83. package/dist/components/molecules/Stat/Stat.d.ts +31 -5
  84. package/dist/components/molecules/Stat/Stat.d.ts.map +1 -1
  85. package/dist/components/molecules/Stat/Stat.js +83 -49
  86. package/dist/components/molecules/Stat/statStyles.d.ts +23 -3
  87. package/dist/components/molecules/Stat/statStyles.d.ts.map +1 -1
  88. package/dist/components/molecules/Stat/statStyles.js +29 -12
  89. package/dist/components/molecules/TaskRows/TaskRows.d.ts +13 -3
  90. package/dist/components/molecules/TaskRows/TaskRows.d.ts.map +1 -1
  91. package/dist/components/molecules/TaskRows/TaskRows.js +81 -57
  92. package/dist/components/molecules/TaskRows/TaskRowsTable.d.ts +54 -0
  93. package/dist/components/molecules/TaskRows/TaskRowsTable.d.ts.map +1 -0
  94. package/dist/components/molecules/TaskRows/TaskRowsTable.js +200 -0
  95. package/dist/components/molecules/TaskRows/taskRowsStyles.d.ts +19 -1
  96. package/dist/components/molecules/TaskRows/taskRowsStyles.d.ts.map +1 -1
  97. package/dist/components/molecules/TaskRows/taskRowsStyles.js +7 -3
  98. package/dist/components/molecules/TileGrid/tileGridStyles.d.ts +2 -2
  99. package/dist/components/organisms/AppShell/AppShell.d.ts +82 -0
  100. package/dist/components/organisms/AppShell/AppShell.d.ts.map +1 -0
  101. package/dist/components/organisms/AppShell/AppShell.js +222 -0
  102. package/dist/components/organisms/AppShell/appShellStyles.d.ts +18 -0
  103. package/dist/components/organisms/AppShell/appShellStyles.d.ts.map +1 -0
  104. package/dist/components/organisms/AppShell/appShellStyles.js +8 -0
  105. package/dist/components/organisms/Carousel/Carousel.d.ts +9 -1
  106. package/dist/components/organisms/Carousel/Carousel.d.ts.map +1 -1
  107. package/dist/components/organisms/Carousel/Carousel.js +220 -182
  108. package/dist/components/organisms/Carousel/carouselMath.d.ts +5 -0
  109. package/dist/components/organisms/Carousel/carouselMath.d.ts.map +1 -1
  110. package/dist/components/organisms/Carousel/carouselMath.js +9 -1
  111. package/dist/components/organisms/Carousel/carouselStyles.d.ts +2 -0
  112. package/dist/components/organisms/Carousel/carouselStyles.d.ts.map +1 -1
  113. package/dist/components/organisms/Carousel/carouselStyles.js +8 -7
  114. package/dist/components/organisms/Chart/Chart.d.ts +5 -1
  115. package/dist/components/organisms/Chart/Chart.d.ts.map +1 -1
  116. package/dist/components/organisms/Chart/Chart.js +126 -62
  117. package/dist/components/organisms/Chart/ChartLegend.d.ts +8 -1
  118. package/dist/components/organisms/Chart/ChartLegend.d.ts.map +1 -1
  119. package/dist/components/organisms/Chart/ChartLegend.js +43 -13
  120. package/dist/components/organisms/Chart/ChartSegmentedRing.d.ts +52 -0
  121. package/dist/components/organisms/Chart/ChartSegmentedRing.d.ts.map +1 -0
  122. package/dist/components/organisms/Chart/ChartSegmentedRing.js +95 -0
  123. package/dist/components/organisms/Chart/chartStyles.d.ts +32 -0
  124. package/dist/components/organisms/Chart/chartStyles.d.ts.map +1 -1
  125. package/dist/components/organisms/Chart/chartStyles.js +15 -3
  126. package/dist/components/organisms/ChatDock/ChatDock.d.ts.map +1 -1
  127. package/dist/components/organisms/ChatDock/ChatDock.js +29 -25
  128. package/dist/components/organisms/Dialog/OverlayPanelHeader.d.ts.map +1 -1
  129. package/dist/components/organisms/Dialog/OverlayPanelHeader.js +1 -0
  130. package/dist/components/organisms/Sheet/Sheet.d.ts +3 -1
  131. package/dist/components/organisms/Sheet/Sheet.d.ts.map +1 -1
  132. package/dist/components/organisms/Sheet/Sheet.js +74 -68
  133. package/dist/components/organisms/Sheet/sheetStyles.d.ts +8 -2
  134. package/dist/components/organisms/Sheet/sheetStyles.d.ts.map +1 -1
  135. package/dist/components/organisms/Sheet/sheetStyles.js +16 -11
  136. package/dist/components/organisms/Tab/tabStyles.js +7 -7
  137. package/dist/index.d.ts +14 -8
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +148 -139
  140. package/dist/lib/chartTheme.d.ts +11 -0
  141. package/dist/lib/chartTheme.d.ts.map +1 -1
  142. package/dist/lib/compositionAudit.d.ts.map +1 -1
  143. package/dist/lib/dialogOverlay.d.ts +7 -0
  144. package/dist/lib/dialogOverlay.d.ts.map +1 -1
  145. package/dist/lib/dialogOverlay.js +16 -1
  146. package/dist/lib/sheetParam/index.d.ts +3 -0
  147. package/dist/lib/sheetParam/index.d.ts.map +1 -0
  148. package/dist/lib/sheetParam/sheetParam.d.ts +15 -0
  149. package/dist/lib/sheetParam/sheetParam.d.ts.map +1 -0
  150. package/dist/lib/sheetParam/sheetParam.js +26 -0
  151. package/dist/lib/sheetParam/useSheetParam.d.ts +25 -0
  152. package/dist/lib/sheetParam/useSheetParam.d.ts.map +1 -0
  153. package/dist/lib/sheetParam/useSheetParam.js +29 -0
  154. package/dist/lib/typography.d.ts +2 -2
  155. package/dist/lib/typography.d.ts.map +1 -1
  156. package/dist/lib/typography.js +11 -0
  157. package/dist/styles.css +1 -1
  158. package/dist/typography.css +16 -0
  159. package/docs/README.md +1 -1
  160. package/docs/component-contracts.md +101 -0
  161. package/docs/components.md +21 -16
  162. package/docs/exports.json +88 -15
  163. package/docs/patterns/components-accordion--flush.tsx +1 -1
  164. package/docs/patterns/components-appshell--portal-dashboard-pattern.tsx +176 -0
  165. package/docs/patterns/components-avatar--dropdown-row.tsx +1 -1
  166. package/docs/patterns/components-badge--outline-tags.tsx +1 -1
  167. package/docs/patterns/components-badge--status-pill.tsx +31 -0
  168. package/docs/patterns/components-badge--with-avatar.tsx +1 -1
  169. package/docs/patterns/components-breadcrumb--editorial.tsx +1 -1
  170. package/docs/patterns/components-breadcrumb--long-path.tsx +1 -1
  171. package/docs/patterns/components-breadcrumb--path.tsx +1 -1
  172. package/docs/patterns/components-breadcrumb--router-links.tsx +1 -1
  173. package/docs/patterns/components-button-button--copy-button.tsx +1 -1
  174. package/docs/patterns/components-button-button--destructive-action.tsx +1 -1
  175. package/docs/patterns/components-button-button--external-link.tsx +1 -1
  176. package/docs/patterns/components-button-button--ghost-action.tsx +1 -1
  177. package/docs/patterns/components-button-button--inverse-action.tsx +1 -1
  178. package/docs/patterns/components-button-button--link-render.tsx +1 -1
  179. package/docs/patterns/components-button-button--multi-state-badge.tsx +1 -1
  180. package/docs/patterns/components-button-button--outline-mono.tsx +1 -1
  181. package/docs/patterns/components-button-button--primary-action.tsx +1 -1
  182. package/docs/patterns/components-button-button--row-hug.tsx +1 -1
  183. package/docs/patterns/components-button-button--row-layout.tsx +1 -1
  184. package/docs/patterns/components-button-button--secondary-action.tsx +1 -1
  185. package/docs/patterns/components-button-button--suggestion-pills.tsx +1 -1
  186. package/docs/patterns/components-button-button--with-count.tsx +1 -1
  187. package/docs/patterns/components-button-button--with-icon.tsx +1 -1
  188. package/docs/patterns/components-button-floatingactionbutton--vertical-actions.tsx +1 -1
  189. package/docs/patterns/components-calembed--pattern-skip-in-footer.tsx +1 -1
  190. package/docs/patterns/components-card-card--body-slot-occupancy-history.tsx +1 -1
  191. package/docs/patterns/components-card-card--headerless-media.tsx +1 -1
  192. package/docs/patterns/components-card-card--outlined-layout.tsx +1 -1
  193. package/docs/patterns/components-card-card--pinned-height.tsx +1 -1
  194. package/docs/patterns/components-card-card--terminal-frame.tsx +48 -0
  195. package/docs/patterns/components-card-selectablecard--selectable-cards-pattern.tsx +1 -1
  196. package/docs/patterns/components-carousel--image-carousel.tsx +1 -1
  197. package/docs/patterns/components-chart--audience-activity-heatmap.tsx +1 -1
  198. package/docs/patterns/components-chart--cartesian-no-data-gaps.tsx +1 -1
  199. package/docs/patterns/components-chart--occupancy-history-in-card.tsx +1 -1
  200. package/docs/patterns/components-chart--occupancy-in-card.tsx +1 -1
  201. package/docs/patterns/components-chart--post-reach-distribution.tsx +1 -1
  202. package/docs/patterns/components-chart--ranked-audience-breakdown.tsx +1 -1
  203. package/docs/patterns/components-chart--revenue-by-line.tsx +68 -0
  204. package/docs/patterns/components-chart--segmented-ring-pattern.tsx +144 -0
  205. package/docs/patterns/components-chart--unit-grid-composition.tsx +1 -1
  206. package/docs/patterns/components-chatdock--pattern-chat-dock.tsx +1 -1
  207. package/docs/patterns/components-chatdock--pattern-start-project-gate.tsx +1 -1
  208. package/docs/patterns/components-chatqa--pattern-qa-with-reply.tsx +1 -1
  209. package/docs/patterns/components-checkbox-checkbox--default.tsx +1 -1
  210. package/docs/patterns/components-checkbox-checkbox--with-count.tsx +1 -1
  211. package/docs/patterns/components-checkbox-checkbox--with-description.tsx +1 -1
  212. package/docs/patterns/components-checkbox-checkboxgroup--default.tsx +1 -1
  213. package/docs/patterns/components-checkbox-checkboxgroup--option-counts.tsx +1 -1
  214. package/docs/patterns/components-copyfield--clipboard-blocked.tsx +9 -0
  215. package/docs/patterns/components-copyfield--copied.tsx +9 -0
  216. package/docs/patterns/components-copyfield--copy-key.tsx +9 -0
  217. package/docs/patterns/components-copyfield--on-navy.tsx +29 -0
  218. package/docs/patterns/components-descriptionlist--details.tsx +1 -1
  219. package/docs/patterns/components-descriptionlist--post-metadata.tsx +1 -1
  220. package/docs/patterns/components-dialog--alert-dialog-destructive.tsx +1 -1
  221. package/docs/patterns/components-dialog--default-dialog.tsx +1 -1
  222. package/docs/patterns/components-dialog--form-dialog.tsx +1 -1
  223. package/docs/patterns/components-displaycontrols--page-utilities.tsx +1 -1
  224. package/docs/patterns/components-displaycontrols--theme-switch.tsx +35 -0
  225. package/docs/patterns/components-field--horizontal-input.tsx +1 -1
  226. package/docs/patterns/components-field--horizontal-text-area.tsx +1 -1
  227. package/docs/patterns/components-field--multi-control.tsx +1 -1
  228. package/docs/patterns/components-filterpanel--panel.tsx +1 -1
  229. package/docs/patterns/components-footerreveal--marketing-hero-pattern.tsx +1 -1
  230. package/docs/patterns/components-footerreveal--marketing-hero-ruled-pattern.tsx +1 -1
  231. package/docs/patterns/components-footerreveal--marketing-hero-with-gallery-intro.tsx +1 -1
  232. package/docs/patterns/components-footerreveal--marketing-page-pattern.tsx +1 -1
  233. package/docs/patterns/components-footerreveal--ruled-grid-footer-pattern.tsx +1 -1
  234. package/docs/patterns/components-footerreveal--sequenced-marketing-hero.tsx +1 -1
  235. package/docs/patterns/components-herointro--two-line-intro.tsx +1 -1
  236. package/docs/patterns/components-herotilestack--marketing-hero-pattern.tsx +1 -1
  237. package/docs/patterns/components-herotilestack--marketing-hero-text-sequence.tsx +1 -1
  238. package/docs/patterns/components-herotilestack--marketing-hero-with-gallery-intro.tsx +1 -1
  239. package/docs/patterns/components-indexlist--post-index.tsx +1 -1
  240. package/docs/patterns/components-intakeconfirmation--booked-pattern.tsx +1 -1
  241. package/docs/patterns/components-intakeconfirmation--emailed-pattern.tsx +1 -1
  242. package/docs/patterns/components-intakeform--about-you-pattern.tsx +1 -1
  243. package/docs/patterns/components-intakeform--short-form-pattern.tsx +1 -1
  244. package/docs/patterns/components-intakemodal--intake-modal-pattern.tsx +1 -1
  245. package/docs/patterns/components-kbd--command-row.tsx +1 -1
  246. package/docs/patterns/components-kbd--numbered-choices.tsx +1 -1
  247. package/docs/patterns/components-kbd--shortcut.tsx +1 -1
  248. package/docs/patterns/components-linktile--resource-tile.tsx +1 -1
  249. package/docs/patterns/components-linktile--router-link.tsx +1 -1
  250. package/docs/patterns/components-logview--detail-pane.tsx +80 -0
  251. package/docs/patterns/components-logview--log-viewer.tsx +20 -0
  252. package/docs/patterns/components-moremenu--action-menu.tsx +1 -1
  253. package/docs/patterns/components-moremenu--in-card-header.tsx +1 -1
  254. package/docs/patterns/components-navlist--app-sidebar.tsx +118 -0
  255. package/docs/patterns/components-navlist--side-nav-settings.tsx +1 -1
  256. package/docs/patterns/components-pageheader--app-header-pattern.tsx +1 -1
  257. package/docs/patterns/components-pageheader--page-section-header.tsx +1 -1
  258. package/docs/patterns/components-pageheader--toolbar-header.tsx +1 -1
  259. package/docs/patterns/components-panel--end-detail-rail.tsx +1 -1
  260. package/docs/patterns/components-pillgroup--pill-group-pattern.tsx +1 -1
  261. package/docs/patterns/components-promptbar--pattern-prompt-bar.tsx +1 -1
  262. package/docs/patterns/components-prose--article-body.tsx +1 -1
  263. package/docs/patterns/components-radio-radiogroup--default.tsx +1 -1
  264. package/docs/patterns/components-scrollhorizontal--project-gallery-pattern.tsx +1 -1
  265. package/docs/patterns/components-scrollhorizontal--with-intro.tsx +1 -1
  266. package/docs/patterns/components-sectioncaption--column-caption.tsx +1 -1
  267. package/docs/patterns/components-sectioncaption--with-action.tsx +1 -1
  268. package/docs/patterns/components-sheet--bottom-sheet.tsx +1 -1
  269. package/docs/patterns/components-sheet--end-sheet.tsx +1 -1
  270. package/docs/patterns/components-sheet--side-sheet-header-actions.tsx +50 -0
  271. package/docs/patterns/components-sheet--side-sheet-url-deep-link.tsx +51 -0
  272. package/docs/patterns/components-sheet--side-sheet.tsx +38 -0
  273. package/docs/patterns/components-sitenav--brand-and-cta.tsx +1 -1
  274. package/docs/patterns/components-sitenav--centered-links.tsx +1 -1
  275. package/docs/patterns/components-sitenav--compact.tsx +1 -1
  276. package/docs/patterns/components-sitenav--marketing-header.tsx +1 -1
  277. package/docs/patterns/components-sitenav--mega-menu.tsx +1 -1
  278. package/docs/patterns/components-stat--hero-stat.tsx +54 -0
  279. package/docs/patterns/components-stat--insights-row.tsx +1 -1
  280. package/docs/patterns/components-stepprogress--step-progress-pattern.tsx +1 -1
  281. package/docs/patterns/components-switch--default.tsx +1 -1
  282. package/docs/patterns/components-switch--settings-row.tsx +1 -1
  283. package/docs/patterns/components-tab--settings-pages.tsx +1 -1
  284. package/docs/patterns/components-table--approvals-with-sheet.tsx +81 -0
  285. package/docs/patterns/components-table--approvals.tsx +223 -0
  286. package/docs/patterns/components-table--basic.tsx +60 -0
  287. package/docs/patterns/components-taskrows--action-details.tsx +1 -1
  288. package/docs/patterns/components-taskrows--capsules.tsx +1 -1
  289. package/docs/patterns/components-taskrows--card-with-status-rows.tsx +1 -1
  290. package/docs/patterns/components-taskrows--controlled-expand.tsx +1 -1
  291. package/docs/patterns/components-taskrows--custom-slots.tsx +1 -1
  292. package/docs/patterns/components-taskrows--needs-you-table.tsx +62 -0
  293. package/docs/patterns/components-taskrows--status-list.tsx +1 -1
  294. package/docs/patterns/components-taskrows--tag-chips.tsx +1 -1
  295. package/docs/patterns/components-textarea--save-status.tsx +32 -0
  296. package/docs/patterns/components-textlink--external-destination.tsx +1 -1
  297. package/docs/patterns/components-textlink--inline-prose.tsx +1 -1
  298. package/docs/patterns/components-textlink--quiet-title.tsx +1 -1
  299. package/docs/patterns/components-textlink--supporting-copy.tsx +1 -1
  300. package/docs/patterns/components-textsequence--default.tsx +1 -1
  301. package/docs/patterns/components-textsequence--reduced-motion.tsx +1 -1
  302. package/docs/patterns/components-textsequence--shapes.tsx +1 -1
  303. package/docs/patterns/components-tilegrid--masonry.tsx +1 -1
  304. package/docs/patterns/components-toast--stacked-notifications.tsx +1 -1
  305. package/docs/patterns/components-tooltip--controlled.tsx +1 -1
  306. package/docs/patterns/components-tooltip--disabled-control.tsx +1 -1
  307. package/docs/patterns/components-tooltip--icon-action.tsx +1 -1
  308. package/docs/patterns/components-tooltip--keyboard-shortcut.tsx +1 -1
  309. package/docs/patterns/components-tooltip--placement.tsx +1 -1
  310. package/docs/patterns/foundations-scroll-fade--horizontal-rail.tsx +1 -1
  311. package/docs/patterns/foundations-scroll-fade--overflowing-list.tsx +1 -1
  312. package/docs/patterns/guides-chart-explorations--comparison-gallery.tsx +1 -1
  313. package/docs/patterns/guides-filter-panel--filtered-grid.tsx +1 -1
  314. package/docs/patterns/guides-filter-panel--filtered-index.tsx +7 -3
  315. package/docs/patterns/guides-overlay-flows--notification-preferences.tsx +1 -1
  316. package/docs/patterns/guides-post-page--post-page.tsx +21 -4
  317. package/docs/patterns/guides-profile-typography--editorial-profile.tsx +1 -1
  318. package/docs/patterns/guides-resource-detail--detail.tsx +13 -4
  319. package/docs/patterns/index.json +177 -1
  320. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
- // @thewhatmatters/wmds@0.4.8 · Pattern — post page
1
+ // @thewhatmatters/wmds@0.4.27 · Pattern — post page
2
2
  // Storybook: Guides/Post page → Pattern — post page (?path=/story/guides-post-page--post-page)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
5
- import { useEffect, useId, useState, type ReactNode } from "react";
5
+ import { useEffect, useId, useState, type ReactElement, type ReactNode } from "react";
6
6
  import { Copy, FileText } from "lucide-react";
7
7
  import {
8
8
  Badge,
@@ -107,6 +107,11 @@ export interface PostPageProps {
107
107
  * and tab order at every width, so pair "after" with metadataSide="end" and "before" with "start".
108
108
  */
109
109
  metadataStack?: PostMetadataStack;
110
+ /**
111
+ * The router's link for the breadcrumb and the category tags, in place of a plain anchor —
112
+ * (link) => <Link href={link.href} />.
113
+ */
114
+ renderLink?: (link: { label: string; href: string }) => ReactElement;
110
115
  /** Page-level layers inside the page grid — for example a GridOverlay. */
111
116
  overlay?: ReactNode;
112
117
  }
@@ -118,6 +123,7 @@ export function PostPage({
118
123
  metadataSide = "start",
119
124
  metadataColumns = 4,
120
125
  metadataStack = "after",
126
+ renderLink,
121
127
  overlay,
122
128
  }: PostPageProps) {
123
129
  const metadataHeadingId = useId();
@@ -153,7 +159,12 @@ export function PostPage({
153
159
  <DescriptionList.Item name="Reading time">{post.readingTime}</DescriptionList.Item>
154
160
  <DescriptionList.Item name="Categories">
155
161
  {post.categories.map((category) => (
156
- <Badge key={category.href} emphasis="outline" mono render={<a href={category.href} />}>
162
+ <Badge
163
+ key={category.href}
164
+ emphasis="outline"
165
+ mono
166
+ render={renderLink != null ? renderLink(category) : <a href={category.href} />}
167
+ >
157
168
  {category.label}
158
169
  </Badge>
159
170
  ))}
@@ -191,7 +202,13 @@ export function PostPage({
191
202
  {overlay}
192
203
  <article className="band py-6 sm:py-10 lg:py-14">
193
204
  <header className="col-span-full mb-4 flex flex-col gap-3 sm:mb-8 lg:col-span-10">
194
- <Breadcrumb items={post.breadcrumb} variant="mono" separator="slash" className="mb-3" />
205
+ <Breadcrumb
206
+ items={post.breadcrumb}
207
+ variant="mono"
208
+ separator="slash"
209
+ renderLink={renderLink}
210
+ className="mb-3"
211
+ />
195
212
  <h1 className="type-display-2 text-balance text-fg">{post.title}</h1>
196
213
  <p className="type-reading max-w-[40rem] text-muted">{post.description}</p>
197
214
  {stackedAfter ? (
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.8 · Pattern — editorial profile
1
+ // @thewhatmatters/wmds@0.4.27 · Pattern — editorial profile
2
2
  // Storybook: Guides/Profile typography → Pattern — editorial profile (?path=/story/guides-profile-typography--editorial-profile)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,8 +1,8 @@
1
- // @thewhatmatters/wmds@0.4.8 · Pattern — resource detail
1
+ // @thewhatmatters/wmds@0.4.27 · Pattern — resource detail
2
2
  // Storybook: Guides/Resource detail → Pattern — resource detail (?path=/story/guides-resource-detail--detail)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
5
- import { useEffect, useId, type ReactNode } from "react";
5
+ import { useEffect, useId, type ReactElement, type ReactNode } from "react";
6
6
  import { ChevronLeft, ChevronRight } from "lucide-react";
7
7
  import {
8
8
  Badge,
@@ -12,6 +12,7 @@ import {
12
12
  Dialog,
13
13
  IconButton,
14
14
  type BreadcrumbItemDef,
15
+ type BreadcrumbLinkItem,
15
16
  } from "@thewhatmatters/wmds";
16
17
 
17
18
  export interface ResourceImage {
@@ -233,6 +234,8 @@ export interface ResourceDetailPageProps {
233
234
  item: ResourceDetailItem;
234
235
  /** The path to this resource, ending with it — Home, Resources, this resource. */
235
236
  breadcrumb: BreadcrumbItemDef[];
237
+ /** The router's link for the breadcrumb, in place of a plain anchor — (item) => <Link href={item.href} />. */
238
+ renderLink?: (item: BreadcrumbLinkItem) => ReactElement;
236
239
  /** The app's image component, in place of img — (image) => <Image {...image} sizes="…" />. */
237
240
  renderImage?: (image: ResourceImage) => ReactNode;
238
241
  /** Page-level layers inside the page grid — for example a GridOverlay. */
@@ -240,14 +243,20 @@ export interface ResourceDetailPageProps {
240
243
  }
241
244
 
242
245
  /** The detail as its own page: opened directly, or from a shared link. */
243
- export function ResourceDetailPage({ item, breadcrumb, renderImage, overlay }: ResourceDetailPageProps) {
246
+ export function ResourceDetailPage({ item, breadcrumb, renderLink, renderImage, overlay }: ResourceDetailPageProps) {
244
247
  const headingId = useId();
245
248
 
246
249
  return (
247
250
  <main className="grid-page bg-body">
248
251
  {overlay}
249
252
  <article aria-labelledby={headingId} className="band py-6 sm:py-10 lg:py-14">
250
- <Breadcrumb items={breadcrumb} variant="mono" separator="slash" className="col-span-full mb-6" />
253
+ <Breadcrumb
254
+ items={breadcrumb}
255
+ variant="mono"
256
+ separator="slash"
257
+ renderLink={renderLink}
258
+ className="col-span-full mb-6"
259
+ />
251
260
  <div className="col-span-full lg:col-span-8">
252
261
  <ResourceMedia item={item} renderImage={renderImage} />
253
262
  </div>
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "package": "@thewhatmatters/wmds",
3
- "version": "0.4.8",
3
+ "version": "0.4.27",
4
4
  "patterns": [
5
5
  {
6
6
  "id": "components-accordion--flush",
@@ -10,6 +10,14 @@
10
10
  "storybook": "?path=/story/components-accordion--flush",
11
11
  "source": "src/components/molecules/Accordion/Accordion.stories.tsx"
12
12
  },
13
+ {
14
+ "id": "components-appshell--portal-dashboard-pattern",
15
+ "title": "Components/AppShell",
16
+ "name": "Pattern — portal dashboard",
17
+ "file": "patterns/components-appshell--portal-dashboard-pattern.tsx",
18
+ "storybook": "?path=/story/components-appshell--portal-dashboard-pattern",
19
+ "source": "src/components/organisms/AppShell/AppShell.stories.tsx"
20
+ },
13
21
  {
14
22
  "id": "components-avatar--dropdown-row",
15
23
  "title": "Components/Avatar",
@@ -26,6 +34,14 @@
26
34
  "storybook": "?path=/story/components-badge--outline-tags",
27
35
  "source": "src/components/atoms/Badge/Badge.stories.tsx"
28
36
  },
37
+ {
38
+ "id": "components-badge--status-pill",
39
+ "title": "Components/Badge",
40
+ "name": "Pattern — status pill",
41
+ "file": "patterns/components-badge--status-pill.tsx",
42
+ "storybook": "?path=/story/components-badge--status-pill",
43
+ "source": "src/components/atoms/Badge/Badge.stories.tsx"
44
+ },
29
45
  {
30
46
  "id": "components-badge--with-avatar",
31
47
  "title": "Components/Badge",
@@ -234,6 +250,14 @@
234
250
  "storybook": "?path=/story/components-card-card--pinned-height",
235
251
  "source": "src/components/molecules/Card/Card.stories.tsx"
236
252
  },
253
+ {
254
+ "id": "components-card-card--terminal-frame",
255
+ "title": "Components/Card/Card",
256
+ "name": "Pattern — terminal frame",
257
+ "file": "patterns/components-card-card--terminal-frame.tsx",
258
+ "storybook": "?path=/story/components-card-card--terminal-frame",
259
+ "source": "src/components/molecules/Card/Card.stories.tsx"
260
+ },
237
261
  {
238
262
  "id": "components-card-selectablecard--selectable-cards-pattern",
239
263
  "title": "Components/Card/SelectableCard",
@@ -298,6 +322,22 @@
298
322
  "storybook": "?path=/story/components-chart--ranked-audience-breakdown",
299
323
  "source": "src/components/organisms/Chart/Chart.stories.tsx"
300
324
  },
325
+ {
326
+ "id": "components-chart--revenue-by-line",
327
+ "title": "Components/Chart",
328
+ "name": "Pattern — revenue by line",
329
+ "file": "patterns/components-chart--revenue-by-line.tsx",
330
+ "storybook": "?path=/story/components-chart--revenue-by-line",
331
+ "source": "src/components/organisms/Chart/Chart.stories.tsx"
332
+ },
333
+ {
334
+ "id": "components-chart--segmented-ring-pattern",
335
+ "title": "Components/Chart",
336
+ "name": "Pattern — segmented ring",
337
+ "file": "patterns/components-chart--segmented-ring-pattern.tsx",
338
+ "storybook": "?path=/story/components-chart--segmented-ring-pattern",
339
+ "source": "src/components/organisms/Chart/Chart.stories.tsx"
340
+ },
301
341
  {
302
342
  "id": "components-chart--unit-grid-composition",
303
343
  "title": "Components/Chart",
@@ -370,6 +410,38 @@
370
410
  "storybook": "?path=/story/components-checkbox-checkboxgroup--option-counts",
371
411
  "source": "src/components/molecules/CheckboxGroup/CheckboxGroup.stories.tsx"
372
412
  },
413
+ {
414
+ "id": "components-copyfield--clipboard-blocked",
415
+ "title": "Components/CopyField",
416
+ "name": "Pattern — clipboard blocked",
417
+ "file": "patterns/components-copyfield--clipboard-blocked.tsx",
418
+ "storybook": "?path=/story/components-copyfield--clipboard-blocked",
419
+ "source": "src/components/molecules/CopyField/CopyField.stories.tsx"
420
+ },
421
+ {
422
+ "id": "components-copyfield--copied",
423
+ "title": "Components/CopyField",
424
+ "name": "Pattern — copied",
425
+ "file": "patterns/components-copyfield--copied.tsx",
426
+ "storybook": "?path=/story/components-copyfield--copied",
427
+ "source": "src/components/molecules/CopyField/CopyField.stories.tsx"
428
+ },
429
+ {
430
+ "id": "components-copyfield--copy-key",
431
+ "title": "Components/CopyField",
432
+ "name": "Pattern — copy key",
433
+ "file": "patterns/components-copyfield--copy-key.tsx",
434
+ "storybook": "?path=/story/components-copyfield--copy-key",
435
+ "source": "src/components/molecules/CopyField/CopyField.stories.tsx"
436
+ },
437
+ {
438
+ "id": "components-copyfield--on-navy",
439
+ "title": "Components/CopyField",
440
+ "name": "Pattern — on a navy field",
441
+ "file": "patterns/components-copyfield--on-navy.tsx",
442
+ "storybook": "?path=/story/components-copyfield--on-navy",
443
+ "source": "src/components/molecules/CopyField/CopyField.stories.tsx"
444
+ },
373
445
  {
374
446
  "id": "components-descriptionlist--details",
375
447
  "title": "Components/DescriptionList",
@@ -418,6 +490,14 @@
418
490
  "storybook": "?path=/story/components-displaycontrols--page-utilities",
419
491
  "source": "src/components/molecules/DisplayControls/DisplayControls.stories.tsx"
420
492
  },
493
+ {
494
+ "id": "components-displaycontrols--theme-switch",
495
+ "title": "Components/DisplayControls",
496
+ "name": "Pattern — theme switch",
497
+ "file": "patterns/components-displaycontrols--theme-switch.tsx",
498
+ "storybook": "?path=/story/components-displaycontrols--theme-switch",
499
+ "source": "src/components/molecules/DisplayControls/DisplayControls.stories.tsx"
500
+ },
421
501
  {
422
502
  "id": "components-field--horizontal-input",
423
503
  "title": "Components/Field",
@@ -618,6 +698,22 @@
618
698
  "storybook": "?path=/story/components-linktile--router-link",
619
699
  "source": "src/components/molecules/LinkTile/LinkTile.stories.tsx"
620
700
  },
701
+ {
702
+ "id": "components-logview--detail-pane",
703
+ "title": "Components/LogView",
704
+ "name": "Pattern — detail pane",
705
+ "file": "patterns/components-logview--detail-pane.tsx",
706
+ "storybook": "?path=/story/components-logview--detail-pane",
707
+ "source": "src/components/molecules/LogView/LogView.stories.tsx"
708
+ },
709
+ {
710
+ "id": "components-logview--log-viewer",
711
+ "title": "Components/LogView",
712
+ "name": "Pattern — log viewer",
713
+ "file": "patterns/components-logview--log-viewer.tsx",
714
+ "storybook": "?path=/story/components-logview--log-viewer",
715
+ "source": "src/components/molecules/LogView/LogView.stories.tsx"
716
+ },
621
717
  {
622
718
  "id": "components-moremenu--action-menu",
623
719
  "title": "Components/MoreMenu",
@@ -634,6 +730,14 @@
634
730
  "storybook": "?path=/story/components-moremenu--in-card-header",
635
731
  "source": "src/components/organisms/MoreMenu/MoreMenu.stories.tsx"
636
732
  },
733
+ {
734
+ "id": "components-navlist--app-sidebar",
735
+ "title": "Components/NavList",
736
+ "name": "Pattern — app sidebar",
737
+ "file": "patterns/components-navlist--app-sidebar.tsx",
738
+ "storybook": "?path=/story/components-navlist--app-sidebar",
739
+ "source": "src/components/molecules/NavList/NavList.stories.tsx"
740
+ },
637
741
  {
638
742
  "id": "components-navlist--side-nav-settings",
639
743
  "title": "Components/NavList",
@@ -754,6 +858,30 @@
754
858
  "storybook": "?path=/story/components-sheet--end-sheet",
755
859
  "source": "src/components/organisms/Sheet/Sheet.stories.tsx"
756
860
  },
861
+ {
862
+ "id": "components-sheet--side-sheet",
863
+ "title": "Components/Sheet",
864
+ "name": "Pattern — side sheet",
865
+ "file": "patterns/components-sheet--side-sheet.tsx",
866
+ "storybook": "?path=/story/components-sheet--side-sheet",
867
+ "source": "src/components/organisms/Sheet/Sheet.stories.tsx"
868
+ },
869
+ {
870
+ "id": "components-sheet--side-sheet-header-actions",
871
+ "title": "Components/Sheet",
872
+ "name": "Pattern — side sheet header actions",
873
+ "file": "patterns/components-sheet--side-sheet-header-actions.tsx",
874
+ "storybook": "?path=/story/components-sheet--side-sheet-header-actions",
875
+ "source": "src/components/organisms/Sheet/Sheet.stories.tsx"
876
+ },
877
+ {
878
+ "id": "components-sheet--side-sheet-url-deep-link",
879
+ "title": "Components/Sheet",
880
+ "name": "Pattern — side sheet URL deep link",
881
+ "file": "patterns/components-sheet--side-sheet-url-deep-link.tsx",
882
+ "storybook": "?path=/story/components-sheet--side-sheet-url-deep-link",
883
+ "source": "src/components/organisms/Sheet/Sheet.stories.tsx"
884
+ },
757
885
  {
758
886
  "id": "components-sitenav--brand-and-cta",
759
887
  "title": "Components/SiteNav",
@@ -794,6 +922,14 @@
794
922
  "storybook": "?path=/story/components-sitenav--mega-menu",
795
923
  "source": "src/components/organisms/SiteNav/SiteNav.stories.tsx"
796
924
  },
925
+ {
926
+ "id": "components-stat--hero-stat",
927
+ "title": "Components/Stat",
928
+ "name": "Pattern — hero stat",
929
+ "file": "patterns/components-stat--hero-stat.tsx",
930
+ "storybook": "?path=/story/components-stat--hero-stat",
931
+ "source": "src/components/molecules/Stat/Stat.stories.tsx"
932
+ },
797
933
  {
798
934
  "id": "components-stat--insights-row",
799
935
  "title": "Components/Stat",
@@ -834,6 +970,30 @@
834
970
  "storybook": "?path=/story/components-tab--settings-pages",
835
971
  "source": "src/components/organisms/Tab/Tab.stories.tsx"
836
972
  },
973
+ {
974
+ "id": "components-table--approvals",
975
+ "title": "Components/Table",
976
+ "name": "Pattern — approvals queue",
977
+ "file": "patterns/components-table--approvals.tsx",
978
+ "storybook": "?path=/story/components-table--approvals",
979
+ "source": "src/components/atoms/Table/Table.stories.tsx"
980
+ },
981
+ {
982
+ "id": "components-table--approvals-with-sheet",
983
+ "title": "Components/Table",
984
+ "name": "Pattern — approvals with sheet",
985
+ "file": "patterns/components-table--approvals-with-sheet.tsx",
986
+ "storybook": "?path=/story/components-table--approvals-with-sheet",
987
+ "source": "src/components/atoms/Table/Table.stories.tsx"
988
+ },
989
+ {
990
+ "id": "components-table--basic",
991
+ "title": "Components/Table",
992
+ "name": "Pattern — basic table",
993
+ "file": "patterns/components-table--basic.tsx",
994
+ "storybook": "?path=/story/components-table--basic",
995
+ "source": "src/components/atoms/Table/Table.stories.tsx"
996
+ },
837
997
  {
838
998
  "id": "components-taskrows--action-details",
839
999
  "title": "Components/TaskRows",
@@ -874,6 +1034,14 @@
874
1034
  "storybook": "?path=/story/components-taskrows--custom-slots",
875
1035
  "source": "src/components/molecules/TaskRows/TaskRows.stories.tsx"
876
1036
  },
1037
+ {
1038
+ "id": "components-taskrows--needs-you-table",
1039
+ "title": "Components/TaskRows",
1040
+ "name": "Pattern — needs you",
1041
+ "file": "patterns/components-taskrows--needs-you-table.tsx",
1042
+ "storybook": "?path=/story/components-taskrows--needs-you-table",
1043
+ "source": "src/components/molecules/TaskRows/TaskRows.stories.tsx"
1044
+ },
877
1045
  {
878
1046
  "id": "components-taskrows--status-list",
879
1047
  "title": "Components/TaskRows",
@@ -890,6 +1058,14 @@
890
1058
  "storybook": "?path=/story/components-taskrows--tag-chips",
891
1059
  "source": "src/components/molecules/TaskRows/TaskRows.stories.tsx"
892
1060
  },
1061
+ {
1062
+ "id": "components-textarea--save-status",
1063
+ "title": "Components/TextArea",
1064
+ "name": "Pattern — save status",
1065
+ "file": "patterns/components-textarea--save-status.tsx",
1066
+ "storybook": "?path=/story/components-textarea--save-status",
1067
+ "source": "src/components/atoms/TextArea/TextArea.stories.tsx"
1068
+ },
893
1069
  {
894
1070
  "id": "components-textlink--external-destination",
895
1071
  "title": "Components/TextLink",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@thewhatmatters/wmds",
3
3
  "description": "WhatMatters Design System — React components, Tailwind v4 theme, and Storybook patterns",
4
- "version": "0.4.8",
4
+ "version": "0.4.27",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {