@pnx-mixtape/mxds 0.1.0-rc.0 → 0.1.0-rc.2

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 (204) hide show
  1. package/.storybook/decorators.ts +15 -0
  2. package/.storybook/preview.ts +4 -1
  3. package/.storybook/themes/campus-vibrant.css +181 -0
  4. package/.storybook/themes/civic-formal.css +246 -0
  5. package/.storybook/{theme-demo.css → themes/demo.css} +14 -7
  6. package/.storybook/themes/health-services.css +255 -0
  7. package/.storybook/themes/research-faculty.css +169 -0
  8. package/dist/build/accordion.css +1 -1
  9. package/dist/build/base.css +1 -1
  10. package/dist/build/button.css +1 -1
  11. package/dist/build/chunks/DropMenu-1baQc8Yc.js +1 -0
  12. package/dist/build/chunks/InPageNavigation-CVieEl9u.js +1 -0
  13. package/dist/build/chunks/Popover-Cxg-s5Jn.js +1 -0
  14. package/dist/build/chunks/Sticky-cWUVSOXN.js +1 -0
  15. package/dist/build/chunks/{Tabs-Dm8g301e.js → Tabs-DA_Ez8pv.js} +2 -2
  16. package/dist/build/chunks/polyfills-C7pRt54M.js +1 -0
  17. package/dist/build/constants.css +1 -1
  18. package/dist/build/drop-menu.css +1 -1
  19. package/dist/build/drop-menu.entry.js +1 -1
  20. package/dist/build/elements.js +1 -1
  21. package/dist/build/form.css +1 -1
  22. package/dist/build/grid.css +1 -1
  23. package/dist/build/header.css +1 -1
  24. package/dist/build/icon.css +1 -1
  25. package/dist/build/in-page-alert.css +1 -1
  26. package/dist/build/in-page-navigation.entry.js +1 -1
  27. package/dist/build/navigation.css +1 -1
  28. package/dist/build/pagination.css +1 -1
  29. package/dist/build/popover.entry.js +1 -1
  30. package/dist/build/print.css +1 -1
  31. package/dist/build/progress-indicator.css +1 -0
  32. package/dist/build/react.js +1 -1
  33. package/dist/build/side-navigation.css +1 -1
  34. package/dist/build/sidebar.css +1 -1
  35. package/dist/build/steps.css +1 -1
  36. package/dist/build/sticky.entry.js +1 -1
  37. package/dist/build/tabs.entry.js +1 -1
  38. package/dist/build/tag.css +1 -1
  39. package/dist/build/utilities.css +1 -1
  40. package/dist/types/Atom/DefinitionList/DefinitionList.d.ts +3 -2
  41. package/dist/types/Atom/DefinitionList/DefinitionList.d.ts.map +1 -1
  42. package/dist/types/Atom/Heading/Heading.d.ts.map +1 -1
  43. package/dist/types/Atom/List/List.d.ts +10 -0
  44. package/dist/types/Atom/List/List.d.ts.map +1 -0
  45. package/dist/types/Component/DropMenu/Elements/DropMenu.d.ts.map +1 -1
  46. package/dist/types/Component/InPageNavigation/Elements/InPageNavigation.d.ts +2 -2
  47. package/dist/types/Component/InPageNavigation/Elements/InPageNavigation.d.ts.map +1 -1
  48. package/dist/types/Component/InPageNavigation/Hooks/useInPageNavigation.d.ts.map +1 -1
  49. package/dist/types/Component/ProgressIndicator/ProgressIndicator.d.ts +9 -0
  50. package/dist/types/Component/ProgressIndicator/ProgressIndicator.d.ts.map +1 -0
  51. package/dist/types/Component/Tabs/Elements/Tabs.d.ts.map +1 -1
  52. package/dist/types/Component/Tag/Tag.d.ts +4 -2
  53. package/dist/types/Component/Tag/Tag.d.ts.map +1 -1
  54. package/dist/types/Form/Autocomplete/Autocomplete.d.ts.map +1 -1
  55. package/dist/types/Form/Checkbox/FormCheckbox.d.ts.map +1 -1
  56. package/dist/types/Form/CheckboxCard/CheckboxCard.d.ts +23 -0
  57. package/dist/types/Form/CheckboxCard/CheckboxCard.d.ts.map +1 -0
  58. package/dist/types/Form/Radio/FormRadio.d.ts.map +1 -1
  59. package/dist/types/Form/RadioCard/RadioCard.d.ts +16 -0
  60. package/dist/types/Form/RadioCard/RadioCard.d.ts.map +1 -0
  61. package/dist/types/Form/Select/FormSelect.d.ts.map +1 -1
  62. package/dist/types/Form/TextInput/FormText.d.ts.map +1 -1
  63. package/dist/types/Form/Textarea/FormTextarea.d.ts.map +1 -1
  64. package/dist/types/enums.d.ts +15 -0
  65. package/dist/types/enums.d.ts.map +1 -1
  66. package/dist/types/react.d.ts +4 -0
  67. package/dist/types/react.d.ts.map +1 -1
  68. package/package.json +7 -8
  69. package/src/Atom/Background/_background.css +2 -2
  70. package/src/Atom/Blockquote/_blockquote.css +9 -2
  71. package/src/Atom/Button/README.md +1 -0
  72. package/src/Atom/Button/_buttons-styles.css +6 -6
  73. package/src/Atom/Button/_buttons.css +6 -3
  74. package/src/Atom/DefinitionList/DefinitionList.stories.ts +39 -2
  75. package/src/Atom/DefinitionList/DefinitionList.stories.tsx +36 -0
  76. package/src/Atom/DefinitionList/DefinitionList.tsx +4 -1
  77. package/src/Atom/DefinitionList/DefinitionListItem.stories.ts +1 -1
  78. package/src/Atom/DefinitionList/README.md +43 -0
  79. package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.ts.snap +37 -3
  80. package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.tsx.snap +2 -0
  81. package/src/Atom/DefinitionList/__snapshots__/DefinitionListItem.stories.ts.snap +3 -3
  82. package/src/Atom/DefinitionList/definition-list-item.twig +1 -0
  83. package/src/Atom/DefinitionList/definition-list.twig +6 -1
  84. package/src/Atom/Heading/Heading.tsx +6 -0
  85. package/src/Atom/Heading/_headings.css +2 -1
  86. package/src/Atom/Icon/_extended-set.css +30 -30
  87. package/src/Atom/Icon/_icon.css +37 -36
  88. package/src/Atom/Image/README.md +2 -2
  89. package/src/Atom/Image/_image.css +12 -6
  90. package/src/Atom/List/List.stories.ts +102 -0
  91. package/src/Atom/List/List.stories.tsx +103 -0
  92. package/src/Atom/List/List.tsx +22 -0
  93. package/src/Atom/List/README.md +150 -0
  94. package/src/Atom/List/__snapshots__/List.stories.ts.snap +43 -0
  95. package/src/Atom/List/__snapshots__/List.stories.tsx.snap +13 -0
  96. package/src/Atom/List/_list.css +123 -0
  97. package/src/Atom/List/list.twig +5 -0
  98. package/src/Atom/Media/Media.stories.ts +1 -1
  99. package/src/Atom/Media/__snapshots__/Media.stories.ts.snap +2 -2
  100. package/src/Atom/Spacing/_spacing.css +24 -24
  101. package/src/Atom/Table/__snapshots__/Table.stories.ts.snap +24 -4
  102. package/src/Atom/Table/_table.css +15 -3
  103. package/src/Atom/Table/table.twig +6 -1
  104. package/src/Atom/Text/__snapshots__/Text.stories.ts.snap +3 -2
  105. package/src/Atom/Text/_text-styles.css +21 -1
  106. package/src/Atom/Text/twig/text-styles-example.twig +3 -2
  107. package/src/Atom/_base.css +6 -0
  108. package/src/Atom/_flow.css +1 -1
  109. package/src/Atom/_generic.css +18 -11
  110. package/src/Component/Accordion/accordion.css +2 -0
  111. package/src/Component/Card/__snapshots__/Card.stories.ts.snap +2 -2
  112. package/src/Component/Card/card.twig +1 -1
  113. package/src/Component/Carousel/Carousel.stories.ts +46 -23
  114. package/src/Component/DropMenu/Elements/DropMenu.ts +10 -1
  115. package/src/Component/InPageAlert/in-page-alert.css +2 -1
  116. package/src/Component/InPageNavigation/Elements/InPageNavigation.ts +10 -5
  117. package/src/Component/InPageNavigation/Hooks/useInPageNavigation.ts +10 -5
  118. package/src/Component/InPageNavigation/InPageNavigation.stories.ts +33 -0
  119. package/src/Component/InPageNavigation/InPageNavigation.stories.tsx +52 -0
  120. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.ts.snap +26 -0
  121. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.tsx.snap +2 -0
  122. package/src/Component/InPageNavigation/twig/content-example-duplicate-headings.twig +20 -0
  123. package/src/Component/InPageNavigation/twig/in-page-navigation-story-duplicate-headings.twig +2 -0
  124. package/src/Component/ListItem/__snapshots__/ListItem.stories.ts.snap +4 -4
  125. package/src/Component/ListItem/list-item.twig +2 -2
  126. package/src/Component/Navigation/_navigation.css +1 -1
  127. package/src/Component/Pagination/Pagination.stories.ts +8 -4
  128. package/src/Component/Pagination/pagination.css +3 -3
  129. package/src/Component/ProgressIndicator/ProgressIndicator.stories.ts +36 -0
  130. package/src/Component/ProgressIndicator/ProgressIndicator.stories.tsx +30 -0
  131. package/src/Component/ProgressIndicator/ProgressIndicator.tsx +60 -0
  132. package/src/Component/ProgressIndicator/README.md +111 -0
  133. package/src/Component/ProgressIndicator/__snapshots__/ProgressIndicator.stories.ts.snap +67 -0
  134. package/src/Component/ProgressIndicator/__snapshots__/ProgressIndicator.stories.tsx.snap +7 -0
  135. package/src/Component/ProgressIndicator/progress-indicator.css +59 -0
  136. package/src/Component/ProgressIndicator/progress-indicator.twig +22 -0
  137. package/src/Component/Sticky/Elements/Sticky.ts +1 -1
  138. package/src/Component/Sticky/sticky.css +3 -3
  139. package/src/Component/Tabs/Elements/Tabs.ts +3 -1
  140. package/src/Component/Tabs/Tabs.stories.ts +55 -21
  141. package/src/Component/Tabs/__snapshots__/Tabs.stories.ts.snap +2 -2
  142. package/src/Component/Tag/README.md +52 -26
  143. package/src/Component/Tag/Tag.stories.tsx +24 -0
  144. package/src/Component/Tag/Tag.tsx +12 -2
  145. package/src/Component/Tag/TagItem.stories.ts +25 -0
  146. package/src/Component/Tag/__snapshots__/Tag.stories.ts.snap +2 -2
  147. package/src/Component/Tag/__snapshots__/Tag.stories.tsx.snap +2 -0
  148. package/src/Component/Tag/tag-item.twig +2 -2
  149. package/src/Component/Tag/tag.css +76 -2
  150. package/src/Form/Autocomplete/Autocomplete.stories.ts +8 -3
  151. package/src/Form/Autocomplete/Autocomplete.tsx +1 -4
  152. package/src/Form/Autocomplete/README.md +26 -26
  153. package/src/Form/Autocomplete/__snapshots__/Autocomplete.stories.ts.snap +1 -1
  154. package/src/Form/Autocomplete/__snapshots__/Autocomplete.stories.tsx.snap +1 -1
  155. package/src/Form/Autocomplete/autocomplete.twig +0 -2
  156. package/src/Form/Checkbox/FormCheckbox.tsx +2 -8
  157. package/src/Form/Checkbox/README.md +23 -18
  158. package/src/Form/Checkbox/input-checkbox.twig +0 -2
  159. package/src/Form/CheckboxCard/CheckboxCard.stories.ts +90 -0
  160. package/src/Form/CheckboxCard/CheckboxCard.stories.tsx +43 -0
  161. package/src/Form/CheckboxCard/CheckboxCard.tsx +102 -0
  162. package/src/Form/CheckboxCard/README.md +163 -0
  163. package/src/Form/CheckboxCard/__snapshots__/CheckboxCard.stories.ts.snap +63 -0
  164. package/src/Form/CheckboxCard/__snapshots__/CheckboxCard.stories.tsx.snap +7 -0
  165. package/src/Form/CheckboxCard/checkbox-card.twig +29 -0
  166. package/src/Form/FormItem/__snapshots__/FormItem.stories.ts.snap +2 -2
  167. package/src/Form/README.md +65 -13
  168. package/src/Form/Radio/FormRadio.tsx +1 -4
  169. package/src/Form/Radio/input-radio.twig +0 -2
  170. package/src/Form/RadioCard/README.md +146 -0
  171. package/src/Form/RadioCard/RadioCard.stories.ts +95 -0
  172. package/src/Form/RadioCard/RadioCard.stories.tsx +26 -0
  173. package/src/Form/RadioCard/RadioCard.tsx +59 -0
  174. package/src/Form/RadioCard/__snapshots__/RadioCard.stories.ts.snap +69 -0
  175. package/src/Form/RadioCard/__snapshots__/RadioCard.stories.tsx.snap +3 -0
  176. package/src/Form/RadioCard/radio-card.twig +20 -0
  177. package/src/Form/Select/FormSelect.tsx +1 -4
  178. package/src/Form/Select/input-select.twig +0 -2
  179. package/src/Form/TextInput/FormText.stories.tsx +14 -0
  180. package/src/Form/TextInput/FormText.tsx +1 -4
  181. package/src/Form/TextInput/__snapshots__/FormText.stories.tsx.snap +2 -0
  182. package/src/Form/TextInput/input-text.twig +0 -2
  183. package/src/Form/Textarea/FormTextarea.tsx +1 -4
  184. package/src/Form/Textarea/input-textarea.twig +0 -2
  185. package/src/Form/Validation.stories.ts +153 -0
  186. package/src/Form/__snapshots__/Validation.stories.ts.snap +130 -0
  187. package/src/Form/form.css +155 -28
  188. package/src/Layout/Grid/grid.css +4 -4
  189. package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.ts.snap +5 -5
  190. package/src/Layout/Sidebar/sidebar.css +1 -0
  191. package/src/Layout/Sidebar/sidebar.twig +1 -1
  192. package/src/Utility/_layout-utils.css +8 -0
  193. package/src/Utility/print.css +50 -28
  194. package/src/Utility/utilities.css +2 -2
  195. package/src/constants.css +12 -2
  196. package/src/enums.ts +17 -0
  197. package/src/react.ts +4 -0
  198. package/tools/lib/extract-classnames.mjs +0 -0
  199. package/tools/lint-classnames.mjs +1 -1
  200. package/dist/build/chunks/DropMenu-Co9jZZ4S.js +0 -1
  201. package/dist/build/chunks/InPageNavigation-CzR_KZaz.js +0 -1
  202. package/dist/build/chunks/Popover-De_CQqcd.js +0 -1
  203. package/dist/build/chunks/Sticky-Kyjykb36.js +0 -1
  204. package/dist/build/chunks/polyfills-Dokbkxxk.js +0 -1
@@ -37,6 +37,7 @@ export { default as FormItem } from "./Form/FormItem/FormItem";
37
37
  export { default as FormTitle } from "./Form/Form/FormTitle";
38
38
  export { default as Form } from "./Form/Form/Form";
39
39
  export { default as Icon } from "./Atom/Icon/Icon";
40
+ export { default as List } from "./Atom/List/List";
40
41
  export { default as Grid } from "./Layout/Grid/Grid";
41
42
  export { default as Page } from "./Layout/Page/Page";
42
43
  export { default as HeroBanner } from "./Component/HeroBanner/HeroBanner";
@@ -78,8 +79,11 @@ export { default as SideNavigationTree } from "./Component/SideNavigation/Compon
78
79
  export { default as CookieConsent } from "./Component/CookieConsent/CookieConsent";
79
80
  export { default as Gallery } from "./Component/Gallery/Gallery";
80
81
  export { default as GalleryTrigger } from "./Component/Gallery/Components/GalleryTrigger";
82
+ export { default as ProgressIndicator } from "./Component/ProgressIndicator/ProgressIndicator";
81
83
  export { default as FormSearch } from "./Form/Search/FormSearch";
82
84
  export { default as Autocomplete } from "./Form/Autocomplete/Autocomplete";
85
+ export { default as CheckboxCard } from "./Form/CheckboxCard/CheckboxCard";
86
+ export { default as RadioCard } from "./Form/RadioCard/RadioCard";
83
87
  export { default as Masthead } from "./Layout/Masthead/Masthead";
84
88
  export { default as Sidebar } from "./Layout/Sidebar/Sidebar";
85
89
  export { default as Footer } from "./Layout/Footer/Footer";
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/react.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pnx-mixtape/mxds",
3
3
  "description": "The Mixtape Design System",
4
- "version": "0.1.0-rc.0",
4
+ "version": "0.1.0-rc.2",
5
5
  "license": "MIT",
6
6
  "dependencies": {
7
7
  "@floating-ui/dom": "^1.7.6",
@@ -36,8 +36,8 @@
36
36
  "@testing-library/user-event": "^14.6.1",
37
37
  "@types/node": "^26.0.0",
38
38
  "@vitejs/plugin-react": "^6.0.2",
39
- "@vitest/browser-playwright": "^4.1.9",
40
- "@vitest/coverage-v8": "^4.1.9",
39
+ "@vitest/browser-playwright": "4.1.11",
40
+ "@vitest/coverage-v8": "4.1.11",
41
41
  "axe-playwright": "^2.2.2",
42
42
  "chromatic": "^18.0.1",
43
43
  "concurrently": "^10.0.3",
@@ -46,7 +46,7 @@
46
46
  "drupal-twig-extensions": "1.0.0-beta.5",
47
47
  "jsdom": "^30.0.0",
48
48
  "lightningcss": "^1.32.0",
49
- "oxfmt": "^0.66.0",
49
+ "oxfmt": "^0.68.0",
50
50
  "oxlint": "^1.71.0",
51
51
  "playwright": "^1.61.0",
52
52
  "postcss": "^8.5.15",
@@ -55,16 +55,15 @@
55
55
  "postcss-mixins": "^12.1.2",
56
56
  "postcss-prepend-layer": "^1.0.2",
57
57
  "postcss-preset-env": "^11.3.1",
58
- "postcss-pxtorem": "^6.1.0",
59
58
  "storybook": "^10.4.6",
60
59
  "stylelint": "^17.13.0",
61
60
  "stylelint-config-standard": "^40.0.0",
62
61
  "stylelint-use-logical-spec": "^5.0.1",
63
62
  "twig": "^3.0.0",
64
63
  "typescript": "^7.0.2",
65
- "vite": "8.2.2",
66
- "vite-plugin-twig-drupal": "^1.6.2",
67
- "vitest": "^4.1.9"
64
+ "vite": "^8.2.2",
65
+ "vite-plugin-twig-drupal": "^1.7.0",
66
+ "vitest": "4.1.11"
68
67
  },
69
68
  "config": {
70
69
  "commitizen": {
@@ -30,7 +30,7 @@
30
30
  --line-colour: light-dark(var(--colour-primary-darker), var(--colour-primary-lighter));
31
31
  --foreground-alt: var(--colour-primary-light);
32
32
  --embellished-colour: var(--colour-primary-darker);
33
- --button-accent-scheme: light;
33
+ --button-accent-scheme: var(--colour-accent-scheme, light);
34
34
  }
35
35
 
36
36
  .mx-background--accent {
@@ -47,7 +47,7 @@
47
47
  --contrast-color: contrast-color(black);
48
48
  --scheme: var(--reverse-scheme, var(--colour-reverse-scheme, dark));
49
49
  --embellished-colour: var(--colour-border);
50
- --button-accent-scheme: light;
50
+ --button-accent-scheme: var(--colour-accent-scheme, light);
51
51
 
52
52
  & .mx-background--image {
53
53
  --bg-img-brightness: 0.45;
@@ -1,11 +1,18 @@
1
1
  @layer design-system.defaults {
2
2
  blockquote {
3
3
  padding-inline-start: var(--line-gap, var(--gap));
4
- border-inline-start: var(--line-width, 1ch) solid
4
+ border-inline-start: var(--line-width, 6px) solid
5
5
  var(--line-colour, var(--blockquote-line-colour, var(--colour-accent)));
6
+ font-size: var(--blockquote-font-size, var(--font-size-ml));
6
7
 
7
8
  & cite {
8
- display: inline-block;
9
+ font-size: var(--font-size-ui, var(--font-size-xs));
10
+ line-height: var(--line-height-ui, var(--line-height-h));
11
+ font-family: var(--font-family-ui, var(--font-family));
12
+ color: var(--colour-foreground-alt);
13
+ margin-block-start: var(--spacing-xs);
14
+ font-style: normal;
15
+ display: block;
9
16
  }
10
17
  }
11
18
  }
@@ -124,6 +124,7 @@ Defined in `_buttons.css`. These are CSS-only — not in the `ButtonModifiers` e
124
124
  --radius: 0; /* square corners */
125
125
  --vertical-padding: 1rem;
126
126
  --horizontal-padding: 2rem;
127
+ --button-min-height: 56px;
127
128
  }
128
129
  ```
129
130
 
@@ -5,20 +5,20 @@
5
5
  @layer design-system.atoms {
6
6
  /* @public --button-dark-bg --button-dark-fg --button-dark-line --button-accent-bg --button-accent-fg --button-accent-line --button-accent-scheme --button-light-bg --button-light-fg --button-light-line */
7
7
  .mx-button--dark {
8
- --line-colour: var(--button-dark-line, var(--colour-link));
9
- --button-bg: var(--button-dark-bg, var(--colour-link));
8
+ --line-colour: var(--button-dark-line, var(--link-colour, var(--colour-link)));
9
+ --button-bg: var(--button-dark-bg, var(--link-colour, var(--colour-link)));
10
10
  --button-fg: var(--button-dark-fg, var(--colour-foreground-reverse));
11
11
 
12
12
  &.mx-button--outline {
13
13
  --button-bg: transparent;
14
- --button-fg: var(--button-dark-bg, var(--colour-link));
14
+ --button-fg: var(--button-dark-bg, var(--link-colour, var(--colour-link)));
15
15
  }
16
16
  }
17
17
 
18
18
  .mx-button--light {
19
19
  --line-colour: var(--button-light-line, transparent);
20
20
  --button-bg: var(--button-light-bg, transparent);
21
- --button-fg: var(--button-light-fg, var(--colour-link));
21
+ --button-fg: var(--button-light-fg, var(--link-colour, var(--colour-link)));
22
22
 
23
23
  text-decoration-line: underline;
24
24
 
@@ -36,9 +36,9 @@
36
36
  --button-accent-bg,
37
37
  light-dark(var(--colour-accent), var(--colour-accent-darkest))
38
38
  );
39
- --button-fg: var(--button-accent-bg, var(--colour-foreground));
39
+ --button-fg: var(--button-accent-fg, var(--colour-foreground));
40
40
 
41
- color-scheme: var(--button-accent-scheme, light);
41
+ color-scheme: var(--button-accent-scheme, var(--colour-accent-scheme, light));
42
42
 
43
43
  &.mx-button--outline {
44
44
  --button-bg: transparent;
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  @layer design-system.atoms {
6
- /* @public --button-gap --button-font-size */
6
+ /* @public --button-gap --button-font-size --button-letter-spacing --button-min-height */
7
7
  .mx-button {
8
8
  --outline-offset: 1px;
9
9
 
@@ -20,6 +20,8 @@
20
20
  padding-inline: var(--horizontal-padding, var(--spacing-m));
21
21
  background-color: var(--button-bg, var(--background, var(--colour-background)));
22
22
  color: var(--button-fg, var(--foreground, var(--colour-foreground)));
23
+ letter-spacing: var(--button-letter-spacing, 0);
24
+ min-block-size: var(--button-min-height, unset);
23
25
  text-decoration-line: none;
24
26
 
25
27
  &:hover {
@@ -50,10 +52,11 @@
50
52
  }
51
53
 
52
54
  .mx-button--icon-only {
53
- inline-size: var(--spacing-xl);
54
- block-size: var(--spacing-xl);
55
+ inline-size: var(--button-min-height, var(--spacing-xl));
56
+ block-size: var(--button-min-height, var(--spacing-xl));
55
57
  padding: 0;
56
58
  border-radius: var(--border-radius-round);
59
+ align-content: start;
57
60
  overflow: hidden;
58
61
  flex-wrap: wrap;
59
62
 
@@ -4,11 +4,16 @@ import DefinitionListItem from "./definition-list-item.twig"
4
4
  import "../_base.css"
5
5
  import { DefinitionList as DefinitionListType } from "@pnx-mixtape/ids-shape"
6
6
 
7
+ type MxDefinitionListType = DefinitionListType & {
8
+ columns: boolean
9
+ summary: boolean
10
+ }
11
+
7
12
  /**
8
13
  * The definition list is useful for categorising short pieces of content.
9
14
  * It uses `subgrid` to maintain alignment.
10
15
  */
11
- const meta: Meta<DefinitionListType> = {
16
+ const meta: Meta<MxDefinitionListType> = {
12
17
  tags: ["autodocs", "ids-mvp"],
13
18
  component: Component,
14
19
  args: {
@@ -40,10 +45,42 @@ const meta: Meta<DefinitionListType> = {
40
45
  type: { summary: "string" },
41
46
  },
42
47
  },
48
+ columns: {
49
+ type: "boolean",
50
+ },
43
51
  },
44
52
  }
45
53
 
46
54
  export default meta
47
- type Story = StoryObj<DefinitionListType>
55
+ type Story = StoryObj<MxDefinitionListType>
48
56
 
49
57
  export const DefinitionList: Story = {}
58
+
59
+ export const Columns: Story = {
60
+ args: {
61
+ columns: true,
62
+ },
63
+ }
64
+
65
+ /**
66
+ * `summary: true` (`mx-list--summary`) turns the list into a "review your
67
+ * answers" block — a term/value/action row layout with dividers, and an
68
+ * optional `action` per item (typically a "Change" link).
69
+ */
70
+ export const Summary: Story = {
71
+ args: {
72
+ summary: true,
73
+ items: [
74
+ DefinitionListItem({
75
+ title: "Concession card",
76
+ content: "Yes, I hold a card",
77
+ action: '<a href="#step-1">Change<span class="sr-only"> concession card</span></a>',
78
+ }),
79
+ DefinitionListItem({
80
+ title: "Full name",
81
+ content: "Jane Smith",
82
+ action: '<a href="#step-2">Change<span class="sr-only"> full name</span></a>',
83
+ }),
84
+ ].join(""),
85
+ },
86
+ }
@@ -1,6 +1,7 @@
1
1
  import { Meta, StoryObj } from "@storybook/react-vite"
2
2
  import Component, { DefinitionListItem } from "./DefinitionList"
3
3
  import { Page } from "../../../.storybook-react/decorators"
4
+ import { ListStyles } from "../../enums"
4
5
 
5
6
  const meta: Meta<typeof Component> = {
6
7
  decorators: [Page],
@@ -18,3 +19,38 @@ const meta: Meta<typeof Component> = {
18
19
 
19
20
  export default meta
20
21
  export const DefinitionList: StoryObj<typeof Component> = {}
22
+
23
+ /**
24
+ * `ListStyles.SUMMARY` (`mx-list--summary`) turns the list into a "review
25
+ * your answers" block — a term/value/action row layout with dividers, and an
26
+ * optional `action` per item (typically a "Change" link).
27
+ */
28
+ export const Summary: StoryObj<typeof Component> = {
29
+ args: {
30
+ className: ListStyles.SUMMARY,
31
+ children: (
32
+ <>
33
+ <DefinitionListItem
34
+ title="Concession card"
35
+ action={
36
+ <a href="#step-1">
37
+ Change<span className="sr-only"> concession card</span>
38
+ </a>
39
+ }
40
+ >
41
+ Yes, I hold a card
42
+ </DefinitionListItem>
43
+ <DefinitionListItem
44
+ title="Full name"
45
+ action={
46
+ <a href="#step-2">
47
+ Change<span className="sr-only"> full name</span>
48
+ </a>
49
+ }
50
+ >
51
+ Jane Smith
52
+ </DefinitionListItem>
53
+ </>
54
+ ),
55
+ },
56
+ }
@@ -1,4 +1,4 @@
1
- import { JSX, ComponentPropsWithoutRef, PropsWithChildren } from "react"
1
+ import { JSX, ComponentPropsWithoutRef, PropsWithChildren, ReactNode } from "react"
2
2
 
3
3
  type DefinitionListProps = ComponentPropsWithoutRef<"dl"> & PropsWithChildren
4
4
 
@@ -9,16 +9,19 @@ const DefinitionList = ({ children, ...props }: DefinitionListProps): JSX.Elemen
9
9
  type DefinitionListItemProps = ComponentPropsWithoutRef<"div"> &
10
10
  PropsWithChildren & {
11
11
  title: string
12
+ action?: ReactNode
12
13
  }
13
14
 
14
15
  const DefinitionListItem = ({
15
16
  title,
17
+ action = null,
16
18
  children,
17
19
  ...props
18
20
  }: DefinitionListItemProps): JSX.Element => (
19
21
  <div {...props}>
20
22
  <dt>{title}</dt>
21
23
  <dd>{children}</dd>
24
+ {action && <dd className="mx-list__action">{action}</dd>}
22
25
  </div>
23
26
  )
24
27
 
@@ -7,7 +7,7 @@ import { DefinitionListItem as DefinitionListItemType } from "@pnx-mixtape/ids-s
7
7
  * A single title/content pair used by [DefinitionList](/?path=/docs/atom-definitionlist--docs).
8
8
  */
9
9
  const meta: Meta<DefinitionListItemType> = {
10
- tags: ["autodocs", "ids-mvp", "no-snapshot"],
10
+ tags: ["autodocs", "ids-mvp"],
11
11
  component: Component,
12
12
  args: {
13
13
  title: "Some title",
@@ -37,6 +37,8 @@ No dedicated CSS file — base styles come from the global reset. Import `base.c
37
37
 
38
38
  The template is consumed by `ids-shape`'s `DefinitionList` type but does not currently render the optional `title` heading the type declares — pass a heading separately above the include if required.
39
39
 
40
+ **definition-list-item.twig** also accepts an optional `action` var — see [Summary modifier](#summary-modifier).
41
+
40
42
  ## HTML
41
43
 
42
44
  ```html
@@ -61,3 +63,44 @@ import DefinitionList, { DefinitionListItem } from "@pnx-mixtape/mxds/react"
61
63
  <DefinitionListItem title="Author">Jane Smith</DefinitionListItem>
62
64
  </DefinitionList>
63
65
  ```
66
+
67
+ `DefinitionListItem` also accepts an optional `action?: ReactNode` prop — see [Summary modifier](#summary-modifier).
68
+
69
+ ---
70
+
71
+ ## Summary modifier
72
+
73
+ `ListStyles.SUMMARY` (`mx-list--summary`, from `src/Atom/List`) turns a `DefinitionList` into a "review your answers" block: a term/value/action row layout with dividers between rows, matching the GOV.UK-style summary-list pattern used on a review-and-submit step. Each row's optional third element (`action`) is typically a "Change" link back to the step that set that answer.
74
+
75
+ ```twig
76
+ {% include '@mixtape/Atom/DefinitionList/definition-list.twig' with {
77
+ summary: true,
78
+ items: [
79
+ { title: 'Concession card', content: 'Yes, I hold a card', action: '<a href="#step-1">Change<span class="sr-only"> concession card</span></a>' },
80
+ { title: 'Full name', content: 'Jane Smith', action: '<a href="#step-2">Change<span class="sr-only"> full name</span></a>' },
81
+ ],
82
+ } %}
83
+ ```
84
+
85
+ ```tsx
86
+ import DefinitionList, { DefinitionListItem } from "@pnx-mixtape/mxds/react"
87
+ import { ListStyles } from "../../enums"
88
+ ;<DefinitionList className={ListStyles.SUMMARY}>
89
+ <DefinitionListItem
90
+ title="Concession card"
91
+ action={
92
+ <a href="#step-1">
93
+ Change<span className="sr-only"> concession card</span>
94
+ </a>
95
+ }
96
+ >
97
+ Yes, I hold a card
98
+ </DefinitionListItem>
99
+ </DefinitionList>
100
+ ```
101
+
102
+ Note the asymmetry: Twig's `definition-list.twig` has a dedicated `summary: true` boolean (mirroring its existing `columns: true`), since Twig always needs an explicit class-selection var. React's `DefinitionList` is a thin `<dl {...props}>` wrapper with no such boolean — pass the modifier class directly via `className` (or `classNames(...)` if combining with other classes), same as any other `ComponentPropsWithoutRef<"dl">` usage.
103
+
104
+ ### React ⇄ Twig parity
105
+
106
+ `pnpm audit-parity` reports `title`/`action` as Twig-only for this component — that's a tooling artefact, not a real gap: it merges every `.twig` file in this directory (`definition-list.twig` **and** `definition-list-item.twig`) and diffs the combined field list against only the default-exported React component (`DefinitionList`, the `<dl>` wrapper). `title`/`content`/`action` are actually `DefinitionListItem`'s props (the named export), which do have full parity with `definition-list-item.twig` — there's just no single React component the tool can compare `definition-list-item.twig` against directly, the same limitation that gives `Checkbox`/`Radio` an `N/A` rather than a real result.
@@ -1,19 +1,53 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
+ exports[`Columns 1`] = `
4
+ " <dl class="mx-list--columns">
5
+ <div>
6
+ <dt>Some title</dt>
7
+ <dd>Some content</dd>
8
+ </div>
9
+ <div>
10
+ <dt>Another title</dt>
11
+ <dd>More content</dd>
12
+ </div>
13
+ <div>
14
+ <dt>Yet another title</dt>
15
+ <dd>And even more content</dd>
16
+ </div>
17
+
18
+ </dl>
19
+ "
20
+ `;
21
+
3
22
  exports[`Definition List 1`] = `
4
23
  "<dl>
5
24
  <div>
6
25
  <dt>Some title</dt>
7
26
  <dd>Some content</dd>
8
- </div>
27
+ </div>
9
28
  <div>
10
29
  <dt>Another title</dt>
11
30
  <dd>More content</dd>
12
- </div>
31
+ </div>
13
32
  <div>
14
33
  <dt>Yet another title</dt>
15
34
  <dd>And even more content</dd>
16
- </div>
35
+ </div>
36
+
37
+ </dl>
38
+ "
39
+ `;
40
+
41
+ exports[`Summary 1`] = `
42
+ " <dl class="mx-list--summary">
43
+ <div>
44
+ <dt>Concession card</dt>
45
+ <dd>Yes, I hold a card</dd>
46
+ <dd class="mx-list__action"><a href="#step-1">Change<span class="sr-only"> concession card</span></a></dd></div>
47
+ <div>
48
+ <dt>Full name</dt>
49
+ <dd>Jane Smith</dd>
50
+ <dd class="mx-list__action"><a href="#step-2">Change<span class="sr-only"> full name</span></a></dd></div>
17
51
 
18
52
  </dl>
19
53
  "
@@ -1,3 +1,5 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
3
  exports[`Definition List 1`] = `"<dl><div><dt>Item #1</dt><dd>Data for item #1</dd></div><div><dt>Item #2</dt><dd>Data for item #2</dd></div><div><dt>Item #3</dt><dd>Data for item #3</dd></div></dl>"`;
4
+
5
+ exports[`Summary 1`] = `"<dl class="mx-list--summary"><div><dt>Concession card</dt><dd>Yes, I hold a card</dd><dd class="mx-list__action"><a href="#step-1">Change<span class="sr-only"> concession card</span></a></dd></div><div><dt>Full name</dt><dd>Jane Smith</dd><dd class="mx-list__action"><a href="#step-2">Change<span class="sr-only"> full name</span></a></dd></div></dl>"`;
@@ -1,9 +1,9 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
3
  exports[`Definition List Item 1`] = `
4
- "<div>
4
+ "<dl><div>
5
5
  <dt>Some title</dt>
6
6
  <dd>Some content</dd>
7
- </div>
8
- "
7
+ </div>
8
+ </dl>"
9
9
  `;
@@ -1,4 +1,5 @@
1
1
  <div>
2
2
  <dt>{{ title }}</dt>
3
3
  <dd>{{ content }}</dd>
4
+ {% if action %}<dd class="mx-list__action">{{ action }}</dd>{% endif %}
4
5
  </div>
@@ -1,4 +1,9 @@
1
+ {% if columns %}
2
+ {% set class = "mx-list--columns" %}
3
+ {% elseif summary %}
4
+ {% set class = "mx-list--summary" %}
5
+ {% endif %}
1
6
  {% set attributes = attributes ?? create_attribute() %}
2
- <dl{{ attributes }}>
7
+ <dl{{ attributes.addClass(class) }}>
3
8
  {{ items }}
4
9
  </dl>
@@ -42,6 +42,12 @@ const Heading = ({
42
42
 
43
43
  useEffect(() => {
44
44
  if (anchor || !ref.current) return
45
+ if (ref.current.id) {
46
+ // Adopt an id already set externally (e.g. by InPageNavigation's dedup logic)
47
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
48
+ setAnchor(ref.current.id)
49
+ return
50
+ }
45
51
  // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
46
52
  setAnchor(makeAnchor(ref.current?.textContent))
47
53
  }, [anchor, ref])
@@ -14,10 +14,11 @@
14
14
  h6,
15
15
  .mx-heading--xs
16
16
  ) {
17
- font-family: var(--heading-font-family, var(--font-family));
17
+ font-family: var(--heading-font-family, var(--font-family-display, var(--font-family)));
18
18
  line-height: var(--line-height-h);
19
19
  font-size: var(--heading-font-size, var(--font-size));
20
20
  font-weight: var(--heading-font-weight, var(--font-weight-bold));
21
+ letter-spacing: var(--heading-letter-spacing, 0);
21
22
  text-wrap: balance;
22
23
 
23
24
  &[class*="mx-background--"] {
@@ -4,34 +4,34 @@
4
4
  * Icon - Extended
5
5
  */
6
6
  @layer design-system.atoms {
7
- @mixin icon attachment;
8
- @mixin icon blockquote;
9
- @mixin icon building;
10
- @mixin icon calendar;
11
- @mixin icon clock;
12
- @mixin icon globe;
13
- @mixin icon heart-selected;
14
- @mixin icon heart-unselected;
15
- @mixin icon image;
16
- @mixin icon home;
17
- @mixin icon lock;
18
- @mixin icon login;
19
- @mixin icon media-play;
20
- @mixin icon media-pause;
21
- @mixin icon media-stop;
22
- @mixin icon media-next;
23
- @mixin icon media-previous;
24
- @mixin icon media-rewind;
25
- @mixin icon media-skip;
26
- @mixin icon more;
27
- @mixin icon notification;
28
- @mixin icon pencil;
29
- @mixin icon restart;
30
- @mixin icon settings;
31
- @mixin icon star-selected;
32
- @mixin icon star-unselected;
33
- @mixin icon tick;
34
- @mixin icon trash;
35
- @mixin icon user;
36
- @mixin icon video;
7
+ @add-mixin icon attachment;
8
+ @add-mixin icon blockquote;
9
+ @add-mixin icon building;
10
+ @add-mixin icon calendar;
11
+ @add-mixin icon clock;
12
+ @add-mixin icon globe;
13
+ @add-mixin icon heart-selected;
14
+ @add-mixin icon heart-unselected;
15
+ @add-mixin icon image;
16
+ @add-mixin icon home;
17
+ @add-mixin icon lock;
18
+ @add-mixin icon login;
19
+ @add-mixin icon media-play;
20
+ @add-mixin icon media-pause;
21
+ @add-mixin icon media-stop;
22
+ @add-mixin icon media-next;
23
+ @add-mixin icon media-previous;
24
+ @add-mixin icon media-rewind;
25
+ @add-mixin icon media-skip;
26
+ @add-mixin icon more;
27
+ @add-mixin icon notification;
28
+ @add-mixin icon pencil;
29
+ @add-mixin icon restart;
30
+ @add-mixin icon settings;
31
+ @add-mixin icon star-selected;
32
+ @add-mixin icon star-unselected;
33
+ @add-mixin icon tick;
34
+ @add-mixin icon trash;
35
+ @add-mixin icon user;
36
+ @add-mixin icon video;
37
37
  }