@thewhatmatters/wmds 0.4.35 → 0.4.36

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 (170) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/colors.css +23 -8
  3. package/dist/components/organisms/IntakeConfirmation/intakeConfirmationStyles.d.ts +1 -1
  4. package/dist/stateColors.css +5 -5
  5. package/dist/styles.css +1 -1
  6. package/dist/theme.css +3 -1
  7. package/docs/components.md +1 -1
  8. package/docs/exports.json +1 -1
  9. package/docs/patterns/components-accordion--flush.tsx +1 -1
  10. package/docs/patterns/components-appshell--portal-dashboard-pattern.tsx +1 -1
  11. package/docs/patterns/components-avatar--dropdown-row.tsx +1 -1
  12. package/docs/patterns/components-badge--outline-tags.tsx +1 -1
  13. package/docs/patterns/components-badge--status-pill.tsx +1 -1
  14. package/docs/patterns/components-badge--with-avatar.tsx +1 -1
  15. package/docs/patterns/components-band--page-in-bands.tsx +1 -1
  16. package/docs/patterns/components-breadcrumb--editorial.tsx +1 -1
  17. package/docs/patterns/components-breadcrumb--long-path.tsx +1 -1
  18. package/docs/patterns/components-breadcrumb--path.tsx +1 -1
  19. package/docs/patterns/components-breadcrumb--router-links.tsx +1 -1
  20. package/docs/patterns/components-button-button--copy-button.tsx +1 -1
  21. package/docs/patterns/components-button-button--destructive-action.tsx +1 -1
  22. package/docs/patterns/components-button-button--external-link.tsx +1 -1
  23. package/docs/patterns/components-button-button--ghost-action.tsx +1 -1
  24. package/docs/patterns/components-button-button--inverse-action.tsx +1 -1
  25. package/docs/patterns/components-button-button--link-render.tsx +1 -1
  26. package/docs/patterns/components-button-button--multi-state-badge.tsx +1 -1
  27. package/docs/patterns/components-button-button--outline-mono.tsx +1 -1
  28. package/docs/patterns/components-button-button--primary-action.tsx +1 -1
  29. package/docs/patterns/components-button-button--row-hug.tsx +1 -1
  30. package/docs/patterns/components-button-button--row-layout.tsx +1 -1
  31. package/docs/patterns/components-button-button--secondary-action.tsx +1 -1
  32. package/docs/patterns/components-button-button--suggestion-pills.tsx +1 -1
  33. package/docs/patterns/components-button-button--with-count.tsx +1 -1
  34. package/docs/patterns/components-button-button--with-icon.tsx +1 -1
  35. package/docs/patterns/components-button-floatingactionbutton--vertical-actions.tsx +1 -1
  36. package/docs/patterns/components-calembed--pattern-skip-above.tsx +1 -1
  37. package/docs/patterns/components-card-card--body-slot-occupancy-history.tsx +1 -1
  38. package/docs/patterns/components-card-card--headerless-media.tsx +1 -1
  39. package/docs/patterns/components-card-card--outlined-layout.tsx +1 -1
  40. package/docs/patterns/components-card-card--pinned-height.tsx +1 -1
  41. package/docs/patterns/components-card-card--terminal-frame.tsx +1 -1
  42. package/docs/patterns/components-card-selectablecard--selectable-cards-pattern.tsx +1 -1
  43. package/docs/patterns/components-carousel--image-carousel.tsx +1 -1
  44. package/docs/patterns/components-chart--audience-activity-heatmap.tsx +1 -1
  45. package/docs/patterns/components-chart--cartesian-no-data-gaps.tsx +1 -1
  46. package/docs/patterns/components-chart--occupancy-history-in-card.tsx +1 -1
  47. package/docs/patterns/components-chart--occupancy-in-card.tsx +1 -1
  48. package/docs/patterns/components-chart--post-reach-distribution.tsx +1 -1
  49. package/docs/patterns/components-chart--ranked-audience-breakdown.tsx +1 -1
  50. package/docs/patterns/components-chart--revenue-by-line.tsx +1 -1
  51. package/docs/patterns/components-chart--segmented-ring-pattern.tsx +1 -1
  52. package/docs/patterns/components-chart--unit-grid-composition.tsx +1 -1
  53. package/docs/patterns/components-chatdock--pattern-chat-dock.tsx +1 -1
  54. package/docs/patterns/components-chatdock--pattern-start-project-gate.tsx +1 -1
  55. package/docs/patterns/components-chatqa--pattern-qa-with-reply.tsx +1 -1
  56. package/docs/patterns/components-checkbox-checkbox--default.tsx +1 -1
  57. package/docs/patterns/components-checkbox-checkbox--with-count.tsx +1 -1
  58. package/docs/patterns/components-checkbox-checkbox--with-description.tsx +1 -1
  59. package/docs/patterns/components-checkbox-checkboxgroup--default.tsx +1 -1
  60. package/docs/patterns/components-checkbox-checkboxgroup--option-counts.tsx +1 -1
  61. package/docs/patterns/components-copyfield--clipboard-blocked.tsx +1 -1
  62. package/docs/patterns/components-copyfield--copied.tsx +1 -1
  63. package/docs/patterns/components-copyfield--copy-key.tsx +1 -1
  64. package/docs/patterns/components-copyfield--on-navy.tsx +1 -1
  65. package/docs/patterns/components-descriptionlist--details.tsx +1 -1
  66. package/docs/patterns/components-descriptionlist--post-metadata.tsx +1 -1
  67. package/docs/patterns/components-dialog--alert-dialog-destructive.tsx +1 -1
  68. package/docs/patterns/components-dialog--alert-dialog-typed-confirmation.tsx +1 -1
  69. package/docs/patterns/components-dialog--default-dialog.tsx +1 -1
  70. package/docs/patterns/components-dialog--form-dialog.tsx +1 -1
  71. package/docs/patterns/components-displaycontrols--page-utilities.tsx +1 -1
  72. package/docs/patterns/components-displaycontrols--theme-switch.tsx +1 -1
  73. package/docs/patterns/components-errorsummary--contact-form.tsx +1 -1
  74. package/docs/patterns/components-field--horizontal-input.tsx +1 -1
  75. package/docs/patterns/components-field--horizontal-text-area.tsx +1 -1
  76. package/docs/patterns/components-field--multi-control.tsx +1 -1
  77. package/docs/patterns/components-filterpanel--panel.tsx +1 -1
  78. package/docs/patterns/components-footerreveal--marketing-hero-pattern.tsx +1 -1
  79. package/docs/patterns/components-footerreveal--marketing-hero-ruled-pattern.tsx +1 -1
  80. package/docs/patterns/components-footerreveal--marketing-hero-with-gallery-intro.tsx +1 -1
  81. package/docs/patterns/components-footerreveal--marketing-page-pattern.tsx +1 -1
  82. package/docs/patterns/components-footerreveal--ruled-grid-footer-pattern.tsx +1 -1
  83. package/docs/patterns/components-footerreveal--sequenced-marketing-hero.tsx +1 -1
  84. package/docs/patterns/components-herointro--two-line-intro.tsx +1 -1
  85. package/docs/patterns/components-herointro--with-actions.tsx +1 -1
  86. package/docs/patterns/components-herotilestack--marketing-hero-pattern.tsx +1 -1
  87. package/docs/patterns/components-herotilestack--marketing-hero-text-sequence.tsx +1 -1
  88. package/docs/patterns/components-herotilestack--marketing-hero-with-gallery-intro.tsx +1 -1
  89. package/docs/patterns/components-indexlist--post-index.tsx +1 -1
  90. package/docs/patterns/components-intakeconfirmation--booked-pattern.tsx +1 -1
  91. package/docs/patterns/components-intakeconfirmation--emailed-pattern.tsx +1 -1
  92. package/docs/patterns/components-intakeform--about-you-pattern.tsx +1 -1
  93. package/docs/patterns/components-intakeform--short-form-pattern.tsx +1 -1
  94. package/docs/patterns/components-intakemodal--intake-modal-pattern.tsx +1 -1
  95. package/docs/patterns/components-kbd--command-row.tsx +1 -1
  96. package/docs/patterns/components-kbd--numbered-choices.tsx +1 -1
  97. package/docs/patterns/components-kbd--shortcut.tsx +1 -1
  98. package/docs/patterns/components-linktile--resource-tile.tsx +1 -1
  99. package/docs/patterns/components-linktile--router-link.tsx +1 -1
  100. package/docs/patterns/components-logview--detail-pane.tsx +1 -1
  101. package/docs/patterns/components-logview--log-viewer.tsx +1 -1
  102. package/docs/patterns/components-moremenu--action-menu.tsx +1 -1
  103. package/docs/patterns/components-moremenu--in-card-header.tsx +1 -1
  104. package/docs/patterns/components-navlist--app-sidebar.tsx +1 -1
  105. package/docs/patterns/components-navlist--side-nav-settings.tsx +1 -1
  106. package/docs/patterns/components-pageheader--app-header-pattern.tsx +1 -1
  107. package/docs/patterns/components-pageheader--page-section-header.tsx +1 -1
  108. package/docs/patterns/components-pageheader--toolbar-header.tsx +1 -1
  109. package/docs/patterns/components-panel--end-detail-rail.tsx +1 -1
  110. package/docs/patterns/components-pillgroup--pill-group-pattern.tsx +1 -1
  111. package/docs/patterns/components-promptbar--pattern-prompt-bar.tsx +1 -1
  112. package/docs/patterns/components-prose--article-body.tsx +1 -1
  113. package/docs/patterns/components-radio-radiogroup--default.tsx +1 -1
  114. package/docs/patterns/components-scrollhorizontal--project-gallery-pattern.tsx +1 -1
  115. package/docs/patterns/components-scrollhorizontal--with-intro.tsx +1 -1
  116. package/docs/patterns/components-sectioncaption--column-caption.tsx +1 -1
  117. package/docs/patterns/components-sectioncaption--with-action.tsx +1 -1
  118. package/docs/patterns/components-sheet--bottom-sheet.tsx +1 -1
  119. package/docs/patterns/components-sheet--end-sheet.tsx +1 -1
  120. package/docs/patterns/components-sheet--side-sheet-header-actions.tsx +1 -1
  121. package/docs/patterns/components-sheet--side-sheet-url-deep-link.tsx +1 -1
  122. package/docs/patterns/components-sheet--side-sheet.tsx +1 -1
  123. package/docs/patterns/components-sitenav--brand-and-cta.tsx +1 -1
  124. package/docs/patterns/components-sitenav--centered-links.tsx +1 -1
  125. package/docs/patterns/components-sitenav--compact.tsx +1 -1
  126. package/docs/patterns/components-sitenav--marketing-header.tsx +1 -1
  127. package/docs/patterns/components-sitenav--mega-menu.tsx +1 -1
  128. package/docs/patterns/components-stat--hero-stat.tsx +1 -1
  129. package/docs/patterns/components-stat--insights-row.tsx +1 -1
  130. package/docs/patterns/components-stepprogress--step-progress-pattern.tsx +1 -1
  131. package/docs/patterns/components-switch--default.tsx +1 -1
  132. package/docs/patterns/components-switch--settings-row.tsx +1 -1
  133. package/docs/patterns/components-tab--settings-pages.tsx +1 -1
  134. package/docs/patterns/components-table--approvals-with-sheet.tsx +1 -1
  135. package/docs/patterns/components-table--approvals.tsx +1 -1
  136. package/docs/patterns/components-table--basic.tsx +1 -1
  137. package/docs/patterns/components-taskrows--action-details.tsx +1 -1
  138. package/docs/patterns/components-taskrows--capsules.tsx +1 -1
  139. package/docs/patterns/components-taskrows--card-with-status-rows.tsx +1 -1
  140. package/docs/patterns/components-taskrows--controlled-expand.tsx +1 -1
  141. package/docs/patterns/components-taskrows--custom-slots.tsx +1 -1
  142. package/docs/patterns/components-taskrows--needs-you-table.tsx +1 -1
  143. package/docs/patterns/components-taskrows--status-list.tsx +1 -1
  144. package/docs/patterns/components-taskrows--tag-chips.tsx +1 -1
  145. package/docs/patterns/components-textarea--save-status.tsx +1 -1
  146. package/docs/patterns/components-textlink--external-destination.tsx +1 -1
  147. package/docs/patterns/components-textlink--inline-prose.tsx +1 -1
  148. package/docs/patterns/components-textlink--quiet-title.tsx +1 -1
  149. package/docs/patterns/components-textlink--supporting-copy.tsx +1 -1
  150. package/docs/patterns/components-textsequence--default.tsx +1 -1
  151. package/docs/patterns/components-textsequence--reduced-motion.tsx +1 -1
  152. package/docs/patterns/components-textsequence--shapes.tsx +1 -1
  153. package/docs/patterns/components-tilegrid--masonry.tsx +1 -1
  154. package/docs/patterns/components-toast--stacked-notifications.tsx +1 -1
  155. package/docs/patterns/components-tooltip--controlled.tsx +1 -1
  156. package/docs/patterns/components-tooltip--disabled-control.tsx +1 -1
  157. package/docs/patterns/components-tooltip--icon-action.tsx +1 -1
  158. package/docs/patterns/components-tooltip--keyboard-shortcut.tsx +1 -1
  159. package/docs/patterns/components-tooltip--placement.tsx +1 -1
  160. package/docs/patterns/foundations-scroll-fade--horizontal-rail.tsx +1 -1
  161. package/docs/patterns/foundations-scroll-fade--overflowing-list.tsx +1 -1
  162. package/docs/patterns/guides-chart-explorations--comparison-gallery.tsx +1 -1
  163. package/docs/patterns/guides-filter-panel--filtered-grid.tsx +1 -1
  164. package/docs/patterns/guides-filter-panel--filtered-index.tsx +1 -1
  165. package/docs/patterns/guides-overlay-flows--notification-preferences.tsx +1 -1
  166. package/docs/patterns/guides-post-page--post-page.tsx +1 -1
  167. package/docs/patterns/guides-profile-typography--editorial-profile.tsx +1 -1
  168. package/docs/patterns/guides-resource-detail--detail.tsx +1 -1
  169. package/docs/patterns/index.json +1 -1
  170. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,23 @@ Every release of `@thewhatmatters/wmds` is listed here, newest first.
7
7
  - **Pasted patterns:** when a release changes a **Pattern — …** story's Show code, it is named under Consumer actions so apps re-copy it.
8
8
  - **How to add an entry** (contributors): add your change to the top entry. If that version is already on npm (`npm view @thewhatmatters/wmds versions`), start a new entry above it and bump `version` in `package.json` to match. `npm run check:changelog` enforces the format.
9
9
 
10
+ ## 0.4.36
11
+
12
+ **Colour fixes from building every component in light and dark: fills that vanished, the navy on the dark body, invalid hovers, and a primary Button on a band.**
13
+
14
+ - **`--color-accent-muted`** (and `--color-secondary`, which reads it): `#ebebeb` light (was the body's `#f8f8f8`), `#363636` dark (was the surface's `#262626`). The selected NavList pill, empty StepProgress segments, secondary Badges and Buttons, the AppShell avatar, Chips, and the Dropdown and Select item hover now show on the body and the surface.
15
+ - **`--color-brand` in dark** is `#5566e0`, the navy's hue lifted (was `#011272`, 1.09:1 on the dark body): 3.58:1 on the body, 3.14:1 on the surface, white on it 4.81:1. The PromptBar send button, the selected SelectableCard border, the filled StepProgress segment, FooterReveal, TextSequence and TextSequenceShape marks now read in dark. **`--color-brand-surface` defaults to `#011272` itself** (it was `var(--color-brand)`), so `tone="inverse"` bands keep the deep navy in dark, and a client's own brand surface still wins.
16
+ - **Dark status hovers:** `--color-{error,success,warning,info}-hover` mixed `108%` with white, which is invalid, so the browser dropped them. They're `88%` with white now, the same lift as the primary.
17
+ - **Primary on a field band:** inside `tone="field"`, `--color-primary` inverts to the field's ink with the field colour as its label (Randy, 2026-10-29). A primary Button on a field band was the band's own colour, since the field defaults to the primary. Inverse bands are unchanged (they take the dark, or the client's dark, primary).
18
+ - **Type scale metadata:** `astryxTypeScale` lists display line heights 1.05 / 1.1 / 1.15, matching typography.css (it said 1.15 / 1.2 / 1.24).
19
+ - **FooterReveal.Ruled** in dark keeps the deep navy ink on its white field.
20
+ - Tests: no `color-mix` above 100%; the secondary fill separates from body and surface in both themes; the dark brand's contrast; the field primary inversion; the type metadata matches the CSS.
21
+
22
+ ### Consumer actions
23
+
24
+ - None required. Look at dark mode where you use `bg-brand` / `text-brand` as a large field: it's the lighter `#5566e0` now. Use `--color-brand-surface` (or a `tone="inverse"` Band) for a deep navy section in dark.
25
+ - If your brand stylesheet sets `--color-brand` for dark, keep it at 3:1 or more on `--color-background-body` and white at 4.5:1 or more on it.
26
+
10
27
  ## 0.4.35
11
28
 
12
29
  **Contact and booking forms: two steps, booking after the request, a way out above the calendar, and nothing lost on close.**
package/dist/colors.css CHANGED
@@ -28,7 +28,12 @@
28
28
 
29
29
  /* Accent (neutral UI chrome — not brand) */
30
30
  --color-accent: #262626;
31
- --color-accent-muted: #f8f8f8;
31
+ /*
32
+ * `--color-secondary` (selected pills, empty progress segments, secondary badges, item hover).
33
+ * It must differ from both the body (#f8f8f8) and the surface (#fff), or those fills vanish:
34
+ * #ebebeb is 1.12:1 on the body and 1.19:1 on the surface.
35
+ */
36
+ --color-accent-muted: #ebebeb;
32
37
  --color-on-accent: #ffffff;
33
38
 
34
39
  /* Overlays & neutral fills */
@@ -114,7 +119,8 @@
114
119
  * - field: a saturated section colour (`tone="field"`). Default: the primary.
115
120
  * `*-muted` is the secondary text step on that colour; it must clear 4.5:1 too.
116
121
  */
117
- --color-brand-surface: var(--color-brand);
122
+ /* The navy itself, not var(--color-brand): the dark brand is lifted for dark grounds, and a dark section stays deep. */
123
+ --color-brand-surface: #011272;
118
124
  --color-on-brand-surface: var(--color-on-brand);
119
125
  --color-field: var(--color-primary);
120
126
  --color-on-field: var(--color-on-primary);
@@ -189,7 +195,8 @@
189
195
  --color-text-accent: #ebebeb;
190
196
 
191
197
  --color-accent: #ebebeb;
192
- --color-accent-muted: #262626;
198
+ /* Off the body (#1b1b1b, 1.43:1) and the surface (#262626, 1.26:1), so fills and item hover show on both. */
199
+ --color-accent-muted: #363636;
193
200
  --color-on-accent: #171717;
194
201
 
195
202
  --color-neutral: #ffffff1a;
@@ -226,11 +233,11 @@
226
233
  --color-on-primary: #fafaf8;
227
234
 
228
235
  /*
229
- * The field stays #011272. That navy on #1b1b1b is 1.09:1 and on #262626 is 1.04:1,
230
- * so it cannot be the hand outline. `--color-brand-outline` is 45% navy / 55% white
231
- * (about #8d94c0): 5.1:1 on #262626 and 5.8:1 on #1b1b1b.
236
+ * #011272 on #1b1b1b is 1.09:1, so the dark brand is the same navy hue lifted to #5566e0:
237
+ * 3.58:1 on the body and 3.14:1 on the surface (marks, borders, fills), and white on it is 4.81:1
238
+ * (send button, selected pill). Inverse bands keep the deep navy (`--color-brand-surface` is #011272 on :root).
232
239
  */
233
- --color-brand: #011272;
240
+ --color-brand: #5566e0;
234
241
  --color-on-brand: #ffffff;
235
242
  --color-brand-outline: color-mix(in srgb, var(--color-brand) 45%, white);
236
243
  --color-brand-soft: color-mix(in srgb, var(--color-on-brand) 40%, var(--color-brand));
@@ -338,7 +345,15 @@
338
345
  /* Default: the ink itself, since a lighter step on a mid-tone field would fall under 4.5:1. */
339
346
  --tone-muted: var(--color-on-field-muted, var(--color-on-field));
340
347
  /* A tinted card would pull a mid-tone field under 4.5:1, so cards sit flat on the field. */
341
- --tone-raised: var(--tone-bg);
348
+ --tone-raised: var(--tone-bg); /*
349
+ * The field defaults to the primary, so a primary Button would vanish into it. On a field the primary
350
+ * inverts: the field's ink as the fill, the field colour as the label (Randy, 2026-10-29).
351
+ * Inverse bands keep the primary: they carry data-theme="dark", so it takes the dark (or client's dark) value.
352
+ */
353
+ --color-primary: var(--tone-fg);
354
+ --color-on-primary: var(--tone-bg);
355
+ --color-primary-hover: color-mix(in srgb, var(--tone-fg) 88%, var(--tone-bg));
356
+ --color-primary-active: color-mix(in srgb, var(--tone-fg) 80%, var(--tone-bg));
342
357
  }
343
358
 
344
359
  [data-tone="inverse"],
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Brand colors for the intake burst. `--color-brand` is #011272 in both themes.
2
+ * Brand colors for the intake burst. `--color-brand` is #011272 (light) and #5566e0 (dark).
3
3
  * Passed to the existing Confetti `colors` option — not a second palette token.
4
4
  */
5
5
  export declare const intakeConfettiColors: readonly ["var(--color-brand)", "var(--color-brand-soft)", "var(--color-primary)", "var(--color-info-muted)", "var(--color-accent)", "var(--color-chart-categorical-1)", "var(--color-chart-categorical-4)"];
@@ -44,7 +44,7 @@
44
44
  [data-theme="dark"] {
45
45
  --color-ghost-foreground: var(--color-text-primary);
46
46
 
47
- /* Dark lifts toward white on hover (12%) — percentages above 100% are invalid color-mix */
47
+ /* Dark lifts toward white on hover (12%). color-mix percentages must stay within 0–100%. */
48
48
  --color-primary-hover: color-mix(in oklch, var(--color-primary) 88%, white);
49
49
  --color-primary-active: color-mix(in oklch, var(--color-primary) 92%, black);
50
50
 
@@ -54,16 +54,16 @@
54
54
  --color-ghost-hover: var(--color-overlay-hover);
55
55
  --color-ghost-active: var(--color-overlay-pressed);
56
56
 
57
- --color-error-hover: color-mix(in oklch, var(--color-error) 108%, white);
57
+ --color-error-hover: color-mix(in oklch, var(--color-error) 88%, white);
58
58
  --color-error-active: color-mix(in oklch, var(--color-error) 88%, black);
59
59
 
60
- --color-success-hover: color-mix(in oklch, var(--color-success) 108%, white);
60
+ --color-success-hover: color-mix(in oklch, var(--color-success) 88%, white);
61
61
  --color-success-active: color-mix(in oklch, var(--color-success) 88%, black);
62
62
 
63
- --color-warning-hover: color-mix(in oklch, var(--color-warning) 108%, white);
63
+ --color-warning-hover: color-mix(in oklch, var(--color-warning) 88%, white);
64
64
  --color-warning-active: color-mix(in oklch, var(--color-warning) 88%, black);
65
65
 
66
- --color-info-hover: color-mix(in oklch, var(--color-info) 108%, white);
66
+ --color-info-hover: color-mix(in oklch, var(--color-info) 88%, white);
67
67
  --color-info-active: color-mix(in oklch, var(--color-info) 88%, black);
68
68
 
69
69
  --color-on-brand-hover: color-mix(in srgb, var(--color-on-brand) 88%, var(--color-brand));