@thewhatmatters/wmds 0.4.30 → 0.4.32

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 (235) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/bin/wmds-check.mjs +38 -0
  3. package/dist/components/atoms/Checkbox/Checkbox.d.ts.map +1 -1
  4. package/dist/components/atoms/Checkbox/Checkbox.js +73 -72
  5. package/dist/components/atoms/Input/Input.d.ts.map +1 -1
  6. package/dist/components/atoms/Input/Input.js +44 -49
  7. package/dist/components/atoms/Input/inputShellStyles.js +2 -2
  8. package/dist/components/atoms/Radio/Radio.d.ts.map +1 -1
  9. package/dist/components/atoms/Radio/Radio.js +61 -60
  10. package/dist/components/atoms/Switch/Switch.d.ts.map +1 -1
  11. package/dist/components/atoms/Switch/Switch.js +31 -30
  12. package/dist/components/atoms/TextArea/TextArea.d.ts.map +1 -1
  13. package/dist/components/atoms/TextArea/TextArea.js +56 -55
  14. package/dist/components/atoms/TextArea/textareaShellStyles.js +2 -2
  15. package/dist/components/atoms/inputShared/InputStatusBanner.d.ts +5 -0
  16. package/dist/components/atoms/inputShared/InputStatusBanner.d.ts.map +1 -1
  17. package/dist/components/atoms/inputShared/InputStatusBanner.js +15 -4
  18. package/dist/components/molecules/Breadcrumb/breadcrumbStyles.d.ts +1 -1
  19. package/dist/components/molecules/Breadcrumb/breadcrumbStyles.js +2 -2
  20. package/dist/components/molecules/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
  21. package/dist/components/molecules/CheckboxGroup/CheckboxGroup.js +53 -53
  22. package/dist/components/molecules/CopyField/copyFieldStyles.d.ts.map +1 -1
  23. package/dist/components/molecules/CopyField/copyFieldStyles.js +1 -1
  24. package/dist/components/molecules/ErrorSummary/ErrorSummary.d.ts +32 -0
  25. package/dist/components/molecules/ErrorSummary/ErrorSummary.d.ts.map +1 -0
  26. package/dist/components/molecules/ErrorSummary/ErrorSummary.js +37 -0
  27. package/dist/components/molecules/ErrorSummary/errorSummaryStyles.d.ts +12 -0
  28. package/dist/components/molecules/ErrorSummary/errorSummaryStyles.d.ts.map +1 -0
  29. package/dist/components/molecules/ErrorSummary/errorSummaryStyles.js +5 -0
  30. package/dist/components/molecules/Field/fieldStyles.d.ts +1 -1
  31. package/dist/components/molecules/Field/fieldStyles.js +1 -1
  32. package/dist/components/molecules/HeroIntro/HeroIntro.d.ts +8 -2
  33. package/dist/components/molecules/HeroIntro/HeroIntro.d.ts.map +1 -1
  34. package/dist/components/molecules/HeroIntro/HeroIntro.js +30 -22
  35. package/dist/components/molecules/HeroIntro/heroIntroStyles.d.ts +9 -2
  36. package/dist/components/molecules/HeroIntro/heroIntroStyles.d.ts.map +1 -1
  37. package/dist/components/molecules/HeroIntro/heroIntroStyles.js +2 -2
  38. package/dist/components/molecules/IntakeForm/IntakeForm.d.ts.map +1 -1
  39. package/dist/components/molecules/IntakeForm/IntakeForm.js +4 -6
  40. package/dist/components/molecules/PromptBar/promptBarStyles.d.ts +3 -2
  41. package/dist/components/molecules/PromptBar/promptBarStyles.d.ts.map +1 -1
  42. package/dist/components/molecules/PromptBar/promptBarStyles.js +2 -2
  43. package/dist/components/molecules/RadioGroup/RadioGroup.d.ts.map +1 -1
  44. package/dist/components/molecules/RadioGroup/RadioGroup.js +53 -53
  45. package/dist/components/molecules/Search/Search.d.ts +5 -0
  46. package/dist/components/molecules/Search/Search.d.ts.map +1 -1
  47. package/dist/components/molecules/Search/Search.js +14 -13
  48. package/dist/components/molecules/Search/searchStyles.d.ts +2 -1
  49. package/dist/components/molecules/Search/searchStyles.d.ts.map +1 -1
  50. package/dist/components/molecules/Search/searchStyles.js +4 -4
  51. package/dist/components/molecules/TileGrid/tileGridStyles.js +1 -1
  52. package/dist/components/organisms/Carousel/carouselStyles.js +3 -3
  53. package/dist/components/organisms/ChatDock/chatDockStyles.d.ts +4 -0
  54. package/dist/components/organisms/ChatDock/chatDockStyles.d.ts.map +1 -1
  55. package/dist/components/organisms/FooterReveal/footerRevealStyles.js +1 -1
  56. package/dist/components/organisms/SiteNav/SiteNav.d.ts +13 -6
  57. package/dist/components/organisms/SiteNav/SiteNav.d.ts.map +1 -1
  58. package/dist/components/organisms/SiteNav/SiteNav.js +305 -252
  59. package/dist/components/organisms/SiteNav/siteNavStyles.d.ts +33 -5
  60. package/dist/components/organisms/SiteNav/siteNavStyles.d.ts.map +1 -1
  61. package/dist/components/organisms/SiteNav/siteNavStyles.js +3 -3
  62. package/dist/components/organisms/SiteNav/useSiteNavMobileMenu.d.ts +17 -0
  63. package/dist/components/organisms/SiteNav/useSiteNavMobileMenu.d.ts.map +1 -0
  64. package/dist/components/organisms/SiteNav/useSiteNavMobileMenu.js +47 -0
  65. package/dist/index.d.ts +1 -0
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +3 -1
  68. package/dist/lib/dialogOverlay.d.ts +8 -0
  69. package/dist/lib/dialogOverlay.d.ts.map +1 -1
  70. package/dist/lib/dialogOverlay.js +45 -26
  71. package/dist/styles.css +1 -1
  72. package/docs/components.md +3 -2
  73. package/docs/exports.json +16 -2
  74. package/docs/patterns/components-accordion--flush.tsx +1 -1
  75. package/docs/patterns/components-appshell--portal-dashboard-pattern.tsx +1 -1
  76. package/docs/patterns/components-avatar--dropdown-row.tsx +1 -1
  77. package/docs/patterns/components-badge--outline-tags.tsx +1 -1
  78. package/docs/patterns/components-badge--status-pill.tsx +1 -1
  79. package/docs/patterns/components-badge--with-avatar.tsx +1 -1
  80. package/docs/patterns/components-band--page-in-bands.tsx +1 -1
  81. package/docs/patterns/components-breadcrumb--editorial.tsx +1 -1
  82. package/docs/patterns/components-breadcrumb--long-path.tsx +1 -1
  83. package/docs/patterns/components-breadcrumb--path.tsx +1 -1
  84. package/docs/patterns/components-breadcrumb--router-links.tsx +1 -1
  85. package/docs/patterns/components-button-button--copy-button.tsx +1 -1
  86. package/docs/patterns/components-button-button--destructive-action.tsx +1 -1
  87. package/docs/patterns/components-button-button--external-link.tsx +1 -1
  88. package/docs/patterns/components-button-button--ghost-action.tsx +1 -1
  89. package/docs/patterns/components-button-button--inverse-action.tsx +1 -1
  90. package/docs/patterns/components-button-button--link-render.tsx +1 -1
  91. package/docs/patterns/components-button-button--multi-state-badge.tsx +1 -1
  92. package/docs/patterns/components-button-button--outline-mono.tsx +1 -1
  93. package/docs/patterns/components-button-button--primary-action.tsx +1 -1
  94. package/docs/patterns/components-button-button--row-hug.tsx +1 -1
  95. package/docs/patterns/components-button-button--row-layout.tsx +1 -1
  96. package/docs/patterns/components-button-button--secondary-action.tsx +1 -1
  97. package/docs/patterns/components-button-button--suggestion-pills.tsx +1 -1
  98. package/docs/patterns/components-button-button--with-count.tsx +1 -1
  99. package/docs/patterns/components-button-button--with-icon.tsx +1 -1
  100. package/docs/patterns/components-button-floatingactionbutton--vertical-actions.tsx +1 -1
  101. package/docs/patterns/components-calembed--pattern-skip-in-footer.tsx +1 -1
  102. package/docs/patterns/components-card-card--body-slot-occupancy-history.tsx +1 -1
  103. package/docs/patterns/components-card-card--headerless-media.tsx +1 -1
  104. package/docs/patterns/components-card-card--outlined-layout.tsx +1 -1
  105. package/docs/patterns/components-card-card--pinned-height.tsx +1 -1
  106. package/docs/patterns/components-card-card--terminal-frame.tsx +1 -1
  107. package/docs/patterns/components-card-selectablecard--selectable-cards-pattern.tsx +1 -1
  108. package/docs/patterns/components-carousel--image-carousel.tsx +1 -1
  109. package/docs/patterns/components-chart--audience-activity-heatmap.tsx +1 -1
  110. package/docs/patterns/components-chart--cartesian-no-data-gaps.tsx +1 -1
  111. package/docs/patterns/components-chart--occupancy-history-in-card.tsx +1 -1
  112. package/docs/patterns/components-chart--occupancy-in-card.tsx +1 -1
  113. package/docs/patterns/components-chart--post-reach-distribution.tsx +1 -1
  114. package/docs/patterns/components-chart--ranked-audience-breakdown.tsx +1 -1
  115. package/docs/patterns/components-chart--revenue-by-line.tsx +1 -1
  116. package/docs/patterns/components-chart--segmented-ring-pattern.tsx +1 -1
  117. package/docs/patterns/components-chart--unit-grid-composition.tsx +1 -1
  118. package/docs/patterns/components-chatdock--pattern-chat-dock.tsx +1 -1
  119. package/docs/patterns/components-chatdock--pattern-start-project-gate.tsx +1 -1
  120. package/docs/patterns/components-chatqa--pattern-qa-with-reply.tsx +1 -1
  121. package/docs/patterns/components-checkbox-checkbox--default.tsx +1 -1
  122. package/docs/patterns/components-checkbox-checkbox--with-count.tsx +1 -1
  123. package/docs/patterns/components-checkbox-checkbox--with-description.tsx +1 -1
  124. package/docs/patterns/components-checkbox-checkboxgroup--default.tsx +1 -1
  125. package/docs/patterns/components-checkbox-checkboxgroup--option-counts.tsx +1 -1
  126. package/docs/patterns/components-copyfield--clipboard-blocked.tsx +1 -1
  127. package/docs/patterns/components-copyfield--copied.tsx +1 -1
  128. package/docs/patterns/components-copyfield--copy-key.tsx +1 -1
  129. package/docs/patterns/components-copyfield--on-navy.tsx +1 -1
  130. package/docs/patterns/components-descriptionlist--details.tsx +1 -1
  131. package/docs/patterns/components-descriptionlist--post-metadata.tsx +1 -1
  132. package/docs/patterns/components-dialog--alert-dialog-destructive.tsx +1 -1
  133. package/docs/patterns/components-dialog--alert-dialog-typed-confirmation.tsx +1 -1
  134. package/docs/patterns/components-dialog--default-dialog.tsx +1 -1
  135. package/docs/patterns/components-dialog--form-dialog.tsx +3 -3
  136. package/docs/patterns/components-displaycontrols--page-utilities.tsx +1 -1
  137. package/docs/patterns/components-displaycontrols--theme-switch.tsx +1 -1
  138. package/docs/patterns/components-errorsummary--contact-form.tsx +35 -0
  139. package/docs/patterns/components-field--horizontal-input.tsx +2 -2
  140. package/docs/patterns/components-field--horizontal-text-area.tsx +2 -2
  141. package/docs/patterns/components-field--multi-control.tsx +2 -2
  142. package/docs/patterns/components-filterpanel--panel.tsx +1 -1
  143. package/docs/patterns/components-footerreveal--marketing-hero-pattern.tsx +2 -2
  144. package/docs/patterns/components-footerreveal--marketing-hero-ruled-pattern.tsx +1 -1
  145. package/docs/patterns/components-footerreveal--marketing-hero-with-gallery-intro.tsx +2 -2
  146. package/docs/patterns/components-footerreveal--marketing-page-pattern.tsx +1 -1
  147. package/docs/patterns/components-footerreveal--ruled-grid-footer-pattern.tsx +2 -2
  148. package/docs/patterns/components-footerreveal--sequenced-marketing-hero.tsx +1 -1
  149. package/docs/patterns/components-herointro--two-line-intro.tsx +2 -2
  150. package/docs/patterns/components-herointro--with-actions.tsx +22 -0
  151. package/docs/patterns/components-herotilestack--marketing-hero-pattern.tsx +2 -2
  152. package/docs/patterns/components-herotilestack--marketing-hero-text-sequence.tsx +1 -1
  153. package/docs/patterns/components-herotilestack--marketing-hero-with-gallery-intro.tsx +2 -2
  154. package/docs/patterns/components-indexlist--post-index.tsx +1 -1
  155. package/docs/patterns/components-intakeconfirmation--booked-pattern.tsx +1 -1
  156. package/docs/patterns/components-intakeconfirmation--emailed-pattern.tsx +1 -1
  157. package/docs/patterns/components-intakeform--about-you-pattern.tsx +1 -1
  158. package/docs/patterns/components-intakeform--short-form-pattern.tsx +1 -1
  159. package/docs/patterns/components-intakemodal--intake-modal-pattern.tsx +1 -1
  160. package/docs/patterns/components-kbd--command-row.tsx +1 -1
  161. package/docs/patterns/components-kbd--numbered-choices.tsx +1 -1
  162. package/docs/patterns/components-kbd--shortcut.tsx +1 -1
  163. package/docs/patterns/components-linktile--resource-tile.tsx +1 -1
  164. package/docs/patterns/components-linktile--router-link.tsx +1 -1
  165. package/docs/patterns/components-logview--detail-pane.tsx +1 -1
  166. package/docs/patterns/components-logview--log-viewer.tsx +1 -1
  167. package/docs/patterns/components-moremenu--action-menu.tsx +1 -1
  168. package/docs/patterns/components-moremenu--in-card-header.tsx +1 -1
  169. package/docs/patterns/components-navlist--app-sidebar.tsx +1 -1
  170. package/docs/patterns/components-navlist--side-nav-settings.tsx +1 -1
  171. package/docs/patterns/components-pageheader--app-header-pattern.tsx +1 -1
  172. package/docs/patterns/components-pageheader--page-section-header.tsx +1 -1
  173. package/docs/patterns/components-pageheader--toolbar-header.tsx +1 -1
  174. package/docs/patterns/components-panel--end-detail-rail.tsx +1 -1
  175. package/docs/patterns/components-pillgroup--pill-group-pattern.tsx +1 -1
  176. package/docs/patterns/components-promptbar--pattern-prompt-bar.tsx +1 -1
  177. package/docs/patterns/components-prose--article-body.tsx +1 -1
  178. package/docs/patterns/components-radio-radiogroup--default.tsx +1 -1
  179. package/docs/patterns/components-scrollhorizontal--project-gallery-pattern.tsx +1 -1
  180. package/docs/patterns/components-scrollhorizontal--with-intro.tsx +1 -1
  181. package/docs/patterns/components-sectioncaption--column-caption.tsx +1 -1
  182. package/docs/patterns/components-sectioncaption--with-action.tsx +1 -1
  183. package/docs/patterns/components-sheet--bottom-sheet.tsx +3 -3
  184. package/docs/patterns/components-sheet--end-sheet.tsx +1 -1
  185. package/docs/patterns/components-sheet--side-sheet-header-actions.tsx +1 -1
  186. package/docs/patterns/components-sheet--side-sheet-url-deep-link.tsx +1 -1
  187. package/docs/patterns/components-sheet--side-sheet.tsx +1 -1
  188. package/docs/patterns/components-sitenav--brand-and-cta.tsx +1 -1
  189. package/docs/patterns/components-sitenav--centered-links.tsx +1 -1
  190. package/docs/patterns/components-sitenav--compact.tsx +1 -1
  191. package/docs/patterns/components-sitenav--marketing-header.tsx +2 -1
  192. package/docs/patterns/components-sitenav--mega-menu.tsx +1 -1
  193. package/docs/patterns/components-stat--hero-stat.tsx +1 -1
  194. package/docs/patterns/components-stat--insights-row.tsx +1 -1
  195. package/docs/patterns/components-stepprogress--step-progress-pattern.tsx +1 -1
  196. package/docs/patterns/components-switch--default.tsx +1 -1
  197. package/docs/patterns/components-switch--settings-row.tsx +1 -1
  198. package/docs/patterns/components-tab--settings-pages.tsx +1 -1
  199. package/docs/patterns/components-table--approvals-with-sheet.tsx +1 -1
  200. package/docs/patterns/components-table--approvals.tsx +3 -3
  201. package/docs/patterns/components-table--basic.tsx +1 -1
  202. package/docs/patterns/components-taskrows--action-details.tsx +1 -1
  203. package/docs/patterns/components-taskrows--capsules.tsx +1 -1
  204. package/docs/patterns/components-taskrows--card-with-status-rows.tsx +1 -1
  205. package/docs/patterns/components-taskrows--controlled-expand.tsx +1 -1
  206. package/docs/patterns/components-taskrows--custom-slots.tsx +1 -1
  207. package/docs/patterns/components-taskrows--needs-you-table.tsx +1 -1
  208. package/docs/patterns/components-taskrows--status-list.tsx +1 -1
  209. package/docs/patterns/components-taskrows--tag-chips.tsx +1 -1
  210. package/docs/patterns/components-textarea--save-status.tsx +1 -1
  211. package/docs/patterns/components-textlink--external-destination.tsx +1 -1
  212. package/docs/patterns/components-textlink--inline-prose.tsx +1 -1
  213. package/docs/patterns/components-textlink--quiet-title.tsx +1 -1
  214. package/docs/patterns/components-textlink--supporting-copy.tsx +1 -1
  215. package/docs/patterns/components-textsequence--default.tsx +1 -1
  216. package/docs/patterns/components-textsequence--reduced-motion.tsx +1 -1
  217. package/docs/patterns/components-textsequence--shapes.tsx +2 -2
  218. package/docs/patterns/components-tilegrid--masonry.tsx +1 -1
  219. package/docs/patterns/components-toast--stacked-notifications.tsx +1 -1
  220. package/docs/patterns/components-tooltip--controlled.tsx +1 -1
  221. package/docs/patterns/components-tooltip--disabled-control.tsx +1 -1
  222. package/docs/patterns/components-tooltip--icon-action.tsx +1 -1
  223. package/docs/patterns/components-tooltip--keyboard-shortcut.tsx +1 -1
  224. package/docs/patterns/components-tooltip--placement.tsx +1 -1
  225. package/docs/patterns/foundations-scroll-fade--horizontal-rail.tsx +1 -1
  226. package/docs/patterns/foundations-scroll-fade--overflowing-list.tsx +1 -1
  227. package/docs/patterns/guides-chart-explorations--comparison-gallery.tsx +1 -1
  228. package/docs/patterns/guides-filter-panel--filtered-grid.tsx +3 -3
  229. package/docs/patterns/guides-filter-panel--filtered-index.tsx +3 -3
  230. package/docs/patterns/guides-overlay-flows--notification-preferences.tsx +3 -3
  231. package/docs/patterns/guides-post-page--post-page.tsx +3 -3
  232. package/docs/patterns/guides-profile-typography--editorial-profile.tsx +6 -6
  233. package/docs/patterns/guides-resource-detail--detail.tsx +2 -2
  234. package/docs/patterns/index.json +17 -1
  235. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — approvals queue
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — approvals queue
2
2
  // Storybook: Components/Table → Pattern — approvals queue (?path=/story/components-table--approvals)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -155,7 +155,7 @@ export function ApprovalsQueue({ items, onDecision }: ApprovalsQueueProps) {
155
155
 
156
156
  return (
157
157
  <>
158
- <div className="sm:hidden">
158
+ <div className="md:hidden">
159
159
  <p className="mb-3 text-muted">{waiting} waiting on you</p>
160
160
  {items.length === 0 ? (
161
161
  <Card variant="outlined" padding="md">
@@ -181,7 +181,7 @@ export function ApprovalsQueue({ items, onDecision }: ApprovalsQueueProps) {
181
181
  </ul>
182
182
  )}
183
183
  </div>
184
- <div className="hidden sm:block">
184
+ <div className="hidden md:block">
185
185
  <Table aria-label="Approvals waiting on you">
186
186
  <TableCaption>{waiting} waiting on you</TableCaption>
187
187
  <colgroup>
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — basic table
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — basic table
2
2
  // Storybook: Components/Table → Pattern — basic table (?path=/story/components-table--basic)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — action details
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — action details
2
2
  // Storybook: Components/TaskRows → Pattern — action details (?path=/story/components-taskrows--action-details)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — capsules
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — capsules
2
2
  // Storybook: Components/TaskRows → Pattern — capsules (?path=/story/components-taskrows--capsules)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — card + status rows
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — card + status rows
2
2
  // Storybook: Components/TaskRows → Pattern — card + status rows (?path=/story/components-taskrows--card-with-status-rows)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — controlled expand
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — controlled expand
2
2
  // Storybook: Components/TaskRows → Pattern — controlled expand (?path=/story/components-taskrows--controlled-expand)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — custom leading / trailing
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — custom leading / trailing
2
2
  // Storybook: Components/TaskRows → Pattern — custom leading / trailing (?path=/story/components-taskrows--custom-slots)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — needs you
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — needs you
2
2
  // Storybook: Components/TaskRows → Pattern — needs you (?path=/story/components-taskrows--needs-you-table)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — status rows
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — status rows
2
2
  // Storybook: Components/TaskRows → Pattern — status rows (?path=/story/components-taskrows--status-list)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — tag chips
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — tag chips
2
2
  // Storybook: Components/TaskRows → Pattern — tag chips (?path=/story/components-taskrows--tag-chips)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — save status
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — save status
2
2
  // Storybook: Components/TextArea → Pattern — save status (?path=/story/components-textarea--save-status)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — external destination
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — external destination
2
2
  // Storybook: Components/TextLink → Pattern — external destination (?path=/story/components-textlink--external-destination)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — inline prose link
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — inline prose link
2
2
  // Storybook: Components/TextLink → Pattern — inline prose link (?path=/story/components-textlink--inline-prose)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — quiet title link
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — quiet title link
2
2
  // Storybook: Components/TextLink → Pattern — quiet title link (?path=/story/components-textlink--quiet-title)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — supporting copy link
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — supporting copy link
2
2
  // Storybook: Components/TextLink → Pattern — supporting copy link (?path=/story/components-textlink--supporting-copy)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Default
1
+ // @thewhatmatters/wmds@0.4.32 · Default
2
2
  // Storybook: Components/TextSequence → Default (?path=/story/components-textsequence--default)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Reduced motion
1
+ // @thewhatmatters/wmds@0.4.32 · Reduced motion
2
2
  // Storybook: Components/TextSequence → Reduced motion (?path=/story/components-textsequence--reduced-motion)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Shapes
1
+ // @thewhatmatters/wmds@0.4.32 · Shapes
2
2
  // Storybook: Components/TextSequence → Shapes (?path=/story/components-textsequence--shapes)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -6,7 +6,7 @@ import { TextSequence } from "@thewhatmatters/wmds";
6
6
 
7
7
  export function ShapeGallery() {
8
8
  return (
9
- <div className="grid w-full grid-cols-1 items-start gap-10 sm:grid-cols-2">
9
+ <div className="grid w-full grid-cols-1 items-start gap-10 md:grid-cols-2">
10
10
  <figure className="flex flex-col items-center gap-3">
11
11
  <p className="type-display-3 text-center text-fg">
12
12
  <TextSequence emphasis="none" idle stagger={0.05}>
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — tile grid
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — tile grid
2
2
  // Storybook: Components/TileGrid → Pattern — tile grid (?path=/story/components-tilegrid--masonry)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — stacked notifications
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — stacked notifications
2
2
  // Storybook: Components/Toast → Pattern — stacked notifications (?path=/story/components-toast--stacked-notifications)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — controlled state
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — controlled state
2
2
  // Storybook: Components/Tooltip → Pattern — controlled state (?path=/story/components-tooltip--controlled)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — disabled control
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — disabled control
2
2
  // Storybook: Components/Tooltip → Pattern — disabled control (?path=/story/components-tooltip--disabled-control)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — icon-only action
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — icon-only action
2
2
  // Storybook: Components/Tooltip → Pattern — icon-only action (?path=/story/components-tooltip--icon-action)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — keyboard shortcut
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — keyboard shortcut
2
2
  // Storybook: Components/Tooltip → Pattern — keyboard shortcut (?path=/story/components-tooltip--keyboard-shortcut)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — placement
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — placement
2
2
  // Storybook: Components/Tooltip → Pattern — placement (?path=/story/components-tooltip--placement)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — horizontal rail
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — horizontal rail
2
2
  // Storybook: Foundations/Scroll fade → Pattern — horizontal rail (?path=/story/foundations-scroll-fade--horizontal-rail)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — overflowing list
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — overflowing list
2
2
  // Storybook: Foundations/Scroll fade → Pattern — overflowing list (?path=/story/foundations-scroll-fade--overflowing-list)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — chart comparison gallery
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — chart comparison gallery
2
2
  // Storybook: Guides/Chart explorations → Pattern — chart comparison gallery (?path=/story/guides-chart-explorations--comparison-gallery)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — filtered grid
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — filtered grid
2
2
  // Storybook: Guides/Filter panel → Pattern — filtered grid (?path=/story/guides-filter-panel--filtered-grid)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -112,8 +112,8 @@ export function FilteredGrid({
112
112
  >
113
113
  <main className="grid-page bg-body">
114
114
  {overlay}
115
- <div className="band py-6 sm:py-10 lg:py-14">
116
- <header className="col-span-full mb-4 flex items-end justify-between gap-4 sm:mb-8">
115
+ <div className="band py-6 md:py-10 lg:py-14">
116
+ <header className="col-span-full mb-4 flex items-end justify-between gap-4 md:mb-8">
117
117
  <h1 className="type-display-2 text-fg">
118
118
  {title} {loading ? null : <span className="tabular-nums text-muted">{shown.length}</span>}
119
119
  </h1>
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — filtered index
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — filtered index
2
2
  // Storybook: Guides/Filter panel → Pattern — filtered index (?path=/story/guides-filter-panel--filtered-index)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -73,8 +73,8 @@ export function FilteredIndex({
73
73
  >
74
74
  <main className="grid-page bg-body">
75
75
  {overlay}
76
- <div className="band py-6 sm:py-10 lg:py-14">
77
- <header className="col-span-full mb-4 flex items-end justify-between gap-4 sm:mb-8">
76
+ <div className="band py-6 md:py-10 lg:py-14">
77
+ <header className="col-span-full mb-4 flex items-end justify-between gap-4 md:mb-8">
78
78
  <h1 className="type-display-2 text-fg">
79
79
  {title} <span className="tabular-nums text-muted">{shown.length}</span>
80
80
  </h1>
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — notification preferences
1
+ // @thewhatmatters/wmds@0.4.32 · Pattern — notification preferences
2
2
  // Storybook: Guides/Overlay flows → Pattern — notification preferences (?path=/story/guides-overlay-flows--notification-preferences)
3
3
  // Show code — copy verbatim and keep this header; upgrades find pasted patterns by it.
4
4
 
@@ -130,8 +130,8 @@ export function NotificationPreferencesPage() {
130
130
  }
131
131
  >
132
132
  <div className="flex flex-col gap-4 pb-4">
133
- <Input label="Market" placeholder="All markets" />
134
- <Input label="Region" placeholder="All regions" />
133
+ <Input label="Market" />
134
+ <Input label="Region" />
135
135
  </div>
136
136
  </Sheet.Content>
137
137
  </Sheet>
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — post page
1
+ // @thewhatmatters/wmds@0.4.32 · 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
 
@@ -200,8 +200,8 @@ export function PostPage({
200
200
  return (
201
201
  <main className="grid-page bg-body">
202
202
  {overlay}
203
- <article className="band py-6 sm:py-10 lg:py-14">
204
- <header className="col-span-full mb-4 flex flex-col gap-3 sm:mb-8 lg:col-span-10">
203
+ <article className="band py-6 md:py-10 lg:py-14">
204
+ <header className="col-span-full mb-4 flex flex-col gap-3 md:mb-8 lg:col-span-10">
205
205
  <Breadcrumb
206
206
  items={post.breadcrumb}
207
207
  variant="mono"
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — editorial profile
1
+ // @thewhatmatters/wmds@0.4.32 · 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
 
@@ -21,7 +21,7 @@ export function ProfilePage({ onOpenRole }: { onOpenRole: (company: string) => v
21
21
  return (
22
22
  <main
23
23
  data-theme={theme === "auto" ? undefined : theme}
24
- className="grid-page min-h-screen bg-body py-12 [--grid-column-gap:24px] [--grid-max:960px] sm:py-16 lg:py-20"
24
+ className="grid-page min-h-screen bg-body py-12 [--grid-column-gap:24px] [--grid-max:960px] md:py-16 lg:py-20"
25
25
  >
26
26
  <GridOverlay
27
27
  visible={gridVisible}
@@ -30,7 +30,7 @@ export function ProfilePage({ onOpenRole }: { onOpenRole: (company: string) => v
30
30
  />
31
31
 
32
32
  <div className="band">
33
- <article className="col-span-full max-w-[52rem] sm:col-start-2 sm:col-span-6 lg:col-start-2 lg:col-span-10">
33
+ <article className="col-span-full max-w-[52rem] md:col-start-2 md:col-span-6 lg:col-start-2 lg:col-span-10">
34
34
  <header className="flex flex-col items-start gap-4">
35
35
  <Avatar name="Avery Kim" size="lg" />
36
36
  <div>
@@ -39,13 +39,13 @@ export function ProfilePage({ onOpenRole }: { onOpenRole: (company: string) => v
39
39
  </div>
40
40
  </header>
41
41
 
42
- <div className="mt-8 flex flex-col gap-5 sm:mt-10">
42
+ <div className="mt-8 flex flex-col gap-5 md:mt-10">
43
43
  <p className="type-body text-fg">
44
44
  Currently building at <TextLink href="#work">WhatMatters</TextLink>.
45
45
  </p>
46
46
  </div>
47
47
 
48
- <section id="work" className="mt-12 sm:mt-14">
48
+ <section id="work" className="mt-12 md:mt-14">
49
49
  <h2 className="type-body text-muted">Work</h2>
50
50
  <ul className="mt-4 border-t border-border">
51
51
  <li className="border-b border-border py-2">
@@ -60,7 +60,7 @@ export function ProfilePage({ onOpenRole }: { onOpenRole: (company: string) => v
60
60
  </ul>
61
61
  </section>
62
62
 
63
- <footer className="mt-12 flex flex-col gap-5 sm:mt-14">
63
+ <footer className="mt-12 flex flex-col gap-5 md:mt-14">
64
64
  <p className="type-body text-fg">
65
65
  Read my <TextLink href="/writing">writing</TextLink>.
66
66
  </p>
@@ -1,4 +1,4 @@
1
- // @thewhatmatters/wmds@0.4.30 · Pattern — resource detail
1
+ // @thewhatmatters/wmds@0.4.32 · 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
 
@@ -249,7 +249,7 @@ export function ResourceDetailPage({ item, breadcrumb, renderLink, renderImage,
249
249
  return (
250
250
  <main className="grid-page bg-body">
251
251
  {overlay}
252
- <article aria-labelledby={headingId} className="band py-6 sm:py-10 lg:py-14">
252
+ <article aria-labelledby={headingId} className="band py-6 md:py-10 lg:py-14">
253
253
  <Breadcrumb
254
254
  items={breadcrumb}
255
255
  variant="mono"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "package": "@thewhatmatters/wmds",
3
- "version": "0.4.30",
3
+ "version": "0.4.32",
4
4
  "patterns": [
5
5
  {
6
6
  "id": "components-accordion--flush",
@@ -514,6 +514,14 @@
514
514
  "storybook": "?path=/story/components-displaycontrols--theme-switch",
515
515
  "source": "src/components/molecules/DisplayControls/DisplayControls.stories.tsx"
516
516
  },
517
+ {
518
+ "id": "components-errorsummary--contact-form",
519
+ "title": "Components/ErrorSummary",
520
+ "name": "Pattern — form with an error summary",
521
+ "file": "patterns/components-errorsummary--contact-form.tsx",
522
+ "storybook": "?path=/story/components-errorsummary--contact-form",
523
+ "source": "src/components/molecules/ErrorSummary/ErrorSummary.stories.tsx"
524
+ },
517
525
  {
518
526
  "id": "components-field--horizontal-input",
519
527
  "title": "Components/Field",
@@ -602,6 +610,14 @@
602
610
  "storybook": "?path=/story/components-herointro--two-line-intro",
603
611
  "source": "src/components/molecules/HeroIntro/HeroIntro.stories.tsx"
604
612
  },
613
+ {
614
+ "id": "components-herointro--with-actions",
615
+ "title": "Components/HeroIntro",
616
+ "name": "Pattern — with description and actions",
617
+ "file": "patterns/components-herointro--with-actions.tsx",
618
+ "storybook": "?path=/story/components-herointro--with-actions",
619
+ "source": "src/components/molecules/HeroIntro/HeroIntro.stories.tsx"
620
+ },
605
621
  {
606
622
  "id": "components-herotilestack--marketing-hero-pattern",
607
623
  "title": "Components/HeroTileStack",
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.30",
4
+ "version": "0.4.32",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {