reshaped 3.3.11 → 3.3.13

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 (253) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/bundle.css +1 -1
  3. package/dist/bundle.d.ts +1 -1
  4. package/dist/bundle.js +16 -17
  5. package/dist/cjs/themes/_generator/utilities/generateColors.d.ts +1 -1
  6. package/dist/cjs/themes/_generator/utilities/generateColors.js +3 -2
  7. package/dist/cjs/themes/_generator/utilities/tests/color.test.js +32 -31
  8. package/dist/cjs/themes/slate/theme.css +1 -1
  9. package/dist/components/Accordion/tests/Accordion.stories.d.ts +30 -8
  10. package/dist/components/Accordion/tests/Accordion.stories.js +172 -119
  11. package/dist/components/ActionBar/tests/ActionBar.stories.d.ts +12 -3
  12. package/dist/components/ActionBar/tests/ActionBar.stories.js +51 -36
  13. package/dist/components/ActionBar/tests/ActionBar.test.stories.d.ts +15 -0
  14. package/dist/components/ActionBar/tests/ActionBar.test.stories.js +26 -0
  15. package/dist/components/Actionable/Actionable.js +1 -1
  16. package/dist/components/Actionable/tests/Actionable.stories.d.ts +19 -5
  17. package/dist/components/Actionable/tests/Actionable.stories.js +88 -63
  18. package/dist/components/Actionable/tests/Actionable.test.stories.d.ts +32 -0
  19. package/dist/components/Actionable/tests/Actionable.test.stories.js +130 -0
  20. package/dist/components/Alert/Alert.js +1 -1
  21. package/dist/components/Alert/tests/Alert.stories.d.ts +12 -3
  22. package/dist/components/Alert/tests/Alert.stories.js +51 -86
  23. package/dist/components/Alert/tests/Alert.test.stories.d.ts +15 -0
  24. package/dist/components/Alert/tests/Alert.test.stories.js +26 -0
  25. package/dist/components/Autocomplete/Autocomplete.js +9 -2
  26. package/dist/components/Autocomplete/tests/Autocomplete.stories.d.ts +6 -2
  27. package/dist/components/Autocomplete/tests/Autocomplete.stories.js +94 -111
  28. package/dist/components/Autocomplete/tests/Autocomplete.test.stories.d.ts +23 -0
  29. package/dist/components/Autocomplete/tests/Autocomplete.test.stories.js +86 -0
  30. package/dist/components/Avatar/Avatar.js +1 -1
  31. package/dist/components/Avatar/tests/Avatar.stories.d.ts +14 -4
  32. package/dist/components/Avatar/tests/Avatar.stories.js +94 -80
  33. package/dist/components/Avatar/tests/Avatar.test.stories.d.ts +17 -0
  34. package/dist/components/Avatar/tests/Avatar.test.stories.js +39 -0
  35. package/dist/components/Badge/tests/Badge.stories.d.ts +33 -8
  36. package/dist/components/Badge/tests/Badge.stories.js +238 -212
  37. package/dist/components/Badge/tests/Badge.test.stories.d.ts +20 -0
  38. package/dist/components/Badge/tests/Badge.test.stories.js +44 -0
  39. package/dist/components/Breadcrumbs/Breadcrumbs.js +2 -2
  40. package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +1 -0
  41. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +24 -5
  42. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.js +114 -95
  43. package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.d.ts +23 -0
  44. package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.js +76 -0
  45. package/dist/components/Button/Button.js +5 -2
  46. package/dist/components/Button/Button.module.css +1 -1
  47. package/dist/components/Button/Button.types.d.ts +1 -0
  48. package/dist/components/Button/tests/Button.stories.d.ts +2 -2
  49. package/dist/components/Button/tests/Button.stories.js +77 -74
  50. package/dist/components/Button/tests/Button.test.stories.d.ts +27 -0
  51. package/dist/components/Button/tests/Button.test.stories.js +112 -0
  52. package/dist/components/Calendar/tests/Calendar.test.stories.d.ts +26 -0
  53. package/dist/components/Calendar/tests/Calendar.test.stories.js +161 -0
  54. package/dist/components/Card/tests/Card.stories.d.ts +0 -1
  55. package/dist/components/Card/tests/Card.stories.js +0 -11
  56. package/dist/components/Card/tests/Card.test.stories.d.ts +35 -0
  57. package/dist/components/Card/tests/Card.test.stories.js +54 -0
  58. package/dist/components/Carousel/Carousel.js +52 -4
  59. package/dist/components/Carousel/Carousel.types.d.ts +4 -0
  60. package/dist/components/Carousel/CarouselControl.js +1 -1
  61. package/dist/components/Carousel/tests/Carousel.stories.d.ts +23 -4
  62. package/dist/components/Carousel/tests/Carousel.stories.js +199 -102
  63. package/dist/components/Checkbox/tests/Checkbox.test.stories.d.ts +25 -0
  64. package/dist/components/Checkbox/tests/Checkbox.test.stories.js +104 -0
  65. package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.d.ts +22 -0
  66. package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.js +78 -0
  67. package/dist/components/Container/tests/Container.stories.d.ts +12 -3
  68. package/dist/components/Container/tests/Container.stories.js +50 -31
  69. package/dist/components/Container/tests/Container.test.stories.d.ts +15 -0
  70. package/dist/components/Container/tests/Container.test.stories.js +26 -0
  71. package/dist/components/ContextMenu/ContextMenu.js +13 -9
  72. package/dist/components/ContextMenu/tests/ContextMenu.stories.js +2 -3
  73. package/dist/components/ContextMenu/tests/ContextMenu.test.stories.d.ts +26 -0
  74. package/dist/components/ContextMenu/tests/ContextMenu.test.stories.js +53 -0
  75. package/dist/components/Dismissible/Dismissible.js +1 -1
  76. package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +10 -3
  77. package/dist/components/Dismissible/tests/Dismissible.stories.js +51 -34
  78. package/dist/components/Dismissible/tests/Dismissible.test.stories.d.ts +19 -0
  79. package/dist/components/Dismissible/tests/Dismissible.test.stories.js +42 -0
  80. package/dist/components/Divider/tests/Divider.test.stories.d.ts +18 -0
  81. package/dist/components/Divider/tests/Divider.test.stories.js +47 -0
  82. package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.d.ts +37 -0
  83. package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.js +117 -0
  84. package/dist/components/FileUpload/tests/FileUpload.test.stories.d.ts +22 -0
  85. package/dist/components/FileUpload/tests/FileUpload.test.stories.js +52 -0
  86. package/dist/components/FormControl/FormControlCaption.js +1 -1
  87. package/dist/components/FormControl/FormControlLabel.js +1 -1
  88. package/dist/components/FormControl/tests/FormControl.stories.d.ts +11 -5
  89. package/dist/components/FormControl/tests/FormControl.stories.js +78 -73
  90. package/dist/components/FormControl/tests/FormControl.test.stories.d.ts +20 -0
  91. package/dist/components/FormControl/tests/FormControl.test.stories.js +49 -0
  92. package/dist/components/Grid/tests/Grid.stories.d.ts +20 -5
  93. package/dist/components/Grid/tests/Grid.stories.js +164 -149
  94. package/dist/components/Grid/tests/Grid.test.stories.d.ts +19 -0
  95. package/dist/components/Grid/tests/Grid.test.stories.js +42 -0
  96. package/dist/components/Hidden/tests/Hidden.stories.d.ts +4 -1
  97. package/dist/components/Hidden/tests/Hidden.stories.js +28 -25
  98. package/dist/components/Hidden/tests/Hidden.test.stories.d.ts +15 -0
  99. package/dist/components/Hidden/tests/Hidden.test.stories.js +20 -0
  100. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +4 -1
  101. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +8 -5
  102. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.d.ts +15 -0
  103. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.js +20 -0
  104. package/dist/components/Hotkey/tests/Hotkey.test.stories.d.ts +15 -0
  105. package/dist/components/Hotkey/tests/Hotkey.test.stories.js +26 -0
  106. package/dist/components/Icon/tests/Icon.stories.d.ts +12 -3
  107. package/dist/components/Icon/tests/Icon.stories.js +69 -60
  108. package/dist/components/Icon/tests/Icon.test.stories.d.ts +16 -0
  109. package/dist/components/Icon/tests/Icon.test.stories.js +35 -0
  110. package/dist/components/Image/tests/Image.stories.d.ts +24 -5
  111. package/dist/components/Image/tests/Image.stories.js +95 -75
  112. package/dist/components/Image/tests/Image.test.stories.d.ts +25 -0
  113. package/dist/components/Image/tests/Image.test.stories.js +80 -0
  114. package/dist/components/Link/tests/Link.test.stories.d.ts +29 -0
  115. package/dist/components/Link/tests/Link.test.stories.js +87 -0
  116. package/dist/components/Loader/Loader.js +1 -1
  117. package/dist/components/Loader/Loader.types.d.ts +1 -0
  118. package/dist/components/Loader/tests/Loader.stories.js +8 -8
  119. package/dist/components/Loader/tests/Loader.test.stories.d.ts +16 -0
  120. package/dist/components/Loader/tests/Loader.test.stories.js +32 -0
  121. package/dist/components/MenuItem/tests/MenuItem.test.stories.d.ts +26 -0
  122. package/dist/components/MenuItem/tests/MenuItem.test.stories.js +100 -0
  123. package/dist/components/Modal/tests/Modal.test.stories.d.ts +32 -0
  124. package/dist/components/Modal/tests/Modal.test.stories.js +149 -0
  125. package/dist/components/Overlay/tests/Overlay.stories.d.ts +4 -2
  126. package/dist/components/Overlay/tests/Overlay.stories.js +53 -53
  127. package/dist/components/Overlay/tests/Overlay.test.stories.d.ts +28 -0
  128. package/dist/components/Overlay/tests/Overlay.test.stories.js +146 -0
  129. package/dist/components/Pagination/tests/Pagination.test.stories.d.ts +23 -0
  130. package/dist/components/Pagination/tests/Pagination.test.stories.js +86 -0
  131. package/dist/components/PinField/tests/PinField.stories.d.ts +0 -1
  132. package/dist/components/PinField/tests/PinField.stories.js +10 -19
  133. package/dist/components/PinField/tests/PinField.test.stories.d.ts +29 -0
  134. package/dist/components/PinField/tests/PinField.test.stories.js +177 -0
  135. package/dist/components/Popover/tests/Popover.test.stories.d.ts +40 -0
  136. package/dist/components/Popover/tests/Popover.test.stories.js +167 -0
  137. package/dist/components/Progress/Progress.js +2 -2
  138. package/dist/components/Progress/Progress.types.d.ts +1 -0
  139. package/dist/components/Progress/tests/Progress.stories.js +10 -10
  140. package/dist/components/Progress/tests/Progress.test.stories.d.ts +16 -0
  141. package/dist/components/Progress/tests/Progress.test.stories.js +35 -0
  142. package/dist/components/Radio/tests/Radio.test.stories.d.ts +30 -0
  143. package/dist/components/Radio/tests/Radio.test.stories.js +118 -0
  144. package/dist/components/RadioGroup/tests/RadioGroup.test.stories.d.ts +22 -0
  145. package/dist/components/RadioGroup/tests/RadioGroup.test.stories.js +78 -0
  146. package/dist/components/Reshaped/tests/Reshaped.stories.d.ts +33 -0
  147. package/dist/components/Reshaped/tests/Reshaped.stories.js +88 -0
  148. package/dist/components/Resizable/Resizable.js +1 -0
  149. package/dist/components/Resizable/tests/Resizable.stories.d.ts +3 -0
  150. package/dist/components/Resizable/tests/Resizable.stories.js +4 -0
  151. package/dist/components/Resizable/tests/Resizable.test.stories.d.ts +19 -0
  152. package/dist/components/Resizable/tests/Resizable.test.stories.js +25 -0
  153. package/dist/components/Scrim/tests/Scrim.test.stories.d.ts +15 -0
  154. package/dist/components/Scrim/tests/Scrim.test.stories.js +25 -0
  155. package/dist/components/ScrollArea/ScrollArea.js +1 -1
  156. package/dist/components/ScrollArea/ScrollArea.module.css +1 -1
  157. package/dist/components/ScrollArea/tests/ScrollArea.stories.d.ts +17 -4
  158. package/dist/components/ScrollArea/tests/ScrollArea.stories.js +114 -139
  159. package/dist/components/ScrollArea/tests/ScrollArea.test.stories.d.ts +23 -0
  160. package/dist/components/ScrollArea/tests/ScrollArea.test.stories.js +66 -0
  161. package/dist/components/Select/tests/Select.stories.d.ts +1 -1
  162. package/dist/components/Select/tests/Select.stories.js +5 -12
  163. package/dist/components/Select/tests/Select.test.stories.d.ts +27 -0
  164. package/dist/components/Select/tests/Select.test.stories.js +132 -0
  165. package/dist/components/Skeleton/tests/Skeleton.test.stories.d.ts +15 -0
  166. package/dist/components/Skeleton/tests/Skeleton.test.stories.js +23 -0
  167. package/dist/components/Slider/tests/Slider.stories.d.ts +0 -1
  168. package/dist/components/Slider/tests/Slider.stories.js +8 -9
  169. package/dist/components/Slider/tests/Slider.test.stories.d.ts +38 -0
  170. package/dist/components/Slider/tests/Slider.test.stories.js +150 -0
  171. package/dist/components/Stepper/Stepper.js +1 -1
  172. package/dist/components/Stepper/tests/Stepper.stories.js +0 -3
  173. package/dist/components/Stepper/tests/Stepper.test.stories.d.ts +18 -0
  174. package/dist/components/Stepper/tests/Stepper.test.stories.js +28 -0
  175. package/dist/components/Switch/tests/Switch.test.stories.d.ts +23 -0
  176. package/dist/components/Switch/tests/Switch.test.stories.js +79 -0
  177. package/dist/components/Table/index.d.ts +1 -1
  178. package/dist/components/Table/tests/Table.stories.d.ts +5 -5
  179. package/dist/components/Table/tests/Table.test.stories.d.ts +25 -0
  180. package/dist/components/Table/tests/Table.test.stories.js +93 -0
  181. package/dist/components/Tabs/tests/Tabs.stories.js +4 -4
  182. package/dist/components/Tabs/tests/Tabs.test.stories.d.ts +28 -0
  183. package/dist/components/Tabs/tests/Tabs.test.stories.js +128 -0
  184. package/dist/components/Text/tests/Text.stories.d.ts +28 -7
  185. package/dist/components/Text/tests/Text.stories.js +148 -125
  186. package/dist/components/Text/tests/Text.test.stories.d.ts +18 -0
  187. package/dist/components/Text/tests/Text.test.stories.js +49 -0
  188. package/dist/components/TextArea/TextArea.module.css +1 -1
  189. package/dist/components/TextArea/tests/TextArea.stories.js +1 -1
  190. package/dist/components/TextArea/tests/TextArea.test.stories.d.ts +29 -0
  191. package/dist/components/TextArea/tests/TextArea.test.stories.js +99 -0
  192. package/dist/components/TextField/tests/TextField.stories.js +1 -1
  193. package/dist/components/TextField/tests/TextField.test.stories.d.ts +29 -0
  194. package/dist/components/TextField/tests/TextField.test.stories.js +99 -0
  195. package/dist/components/Theme/tests/Theme.test.stories.d.ts +24 -0
  196. package/dist/components/Theme/tests/Theme.test.stories.js +133 -0
  197. package/dist/components/Timeline/tests/Timeline.test.stories.d.ts +18 -0
  198. package/dist/components/Timeline/tests/Timeline.test.stories.js +32 -0
  199. package/dist/components/Toast/tests/Toast.test.stories.d.ts +16 -0
  200. package/dist/components/Toast/tests/Toast.test.stories.js +101 -0
  201. package/dist/components/Tooltip/tests/Tooltip.stories.js +0 -14
  202. package/dist/components/Tooltip/tests/Tooltip.test.stories.d.ts +19 -0
  203. package/dist/components/Tooltip/tests/Tooltip.test.stories.js +40 -0
  204. package/dist/components/View/View.js +1 -2
  205. package/dist/components/View/tests/View.stories.d.ts +112 -28
  206. package/dist/components/View/tests/View.stories.js +1092 -1012
  207. package/dist/components/View/tests/View.test.stories.d.ts +20 -0
  208. package/dist/components/View/tests/View.test.stories.js +50 -0
  209. package/dist/components/_private/Flyout/FlyoutContent.js +1 -1
  210. package/dist/components/_private/Flyout/tests/Flyout.stories.js +4 -4
  211. package/dist/components/_private/Flyout/tests/Flyout.test.stories.d.ts +28 -0
  212. package/dist/components/_private/Flyout/tests/Flyout.test.stories.js +205 -0
  213. package/dist/components/_private/Portal/tests/Portal.stories.js +1 -1
  214. package/dist/hooks/_private/useSingletonHotkeys.d.ts +3 -3
  215. package/dist/hooks/_private/useSingletonHotkeys.js +1 -1
  216. package/dist/hooks/tests/useDrag.stories.js +1 -0
  217. package/dist/hooks/tests/useDrag.test.stories.d.ts +26 -0
  218. package/dist/hooks/tests/useDrag.test.stories.js +120 -0
  219. package/dist/hooks/tests/useElementId.stories.d.ts +6 -0
  220. package/dist/hooks/tests/useElementId.stories.js +19 -0
  221. package/dist/hooks/tests/useHotkeys.test.stories.d.ts +39 -0
  222. package/dist/hooks/tests/useHotkeys.test.stories.js +119 -0
  223. package/dist/hooks/tests/useRTL.stories.d.ts +6 -0
  224. package/dist/hooks/tests/useRTL.stories.js +25 -0
  225. package/dist/hooks/tests/useResponsiveClientValue.stories.d.ts +9 -1
  226. package/dist/hooks/tests/useResponsiveClientValue.stories.js +22 -9
  227. package/dist/hooks/tests/useScrollLock.stories.d.ts +6 -0
  228. package/dist/hooks/tests/useScrollLock.stories.js +22 -0
  229. package/dist/hooks/tests/useToggle.stories.d.ts +8 -0
  230. package/dist/hooks/tests/useToggle.stories.js +54 -0
  231. package/dist/hooks/useHotkeys.js +0 -2
  232. package/dist/hooks/useScrollLock.d.ts +1 -0
  233. package/dist/hooks/useScrollLock.js +7 -3
  234. package/dist/index.d.ts +1 -1
  235. package/dist/tests/ShadowDOM.stories.js +1 -1
  236. package/dist/themes/_generator/tests/themes.stories.d.ts +3 -0
  237. package/dist/themes/_generator/tests/themes.stories.js +7 -11
  238. package/dist/themes/_generator/utilities/generateColors.d.ts +1 -1
  239. package/dist/themes/_generator/utilities/generateColors.js +3 -2
  240. package/dist/themes/slate/theme.css +1 -1
  241. package/dist/utilities/helpers.d.ts +1 -0
  242. package/dist/utilities/helpers.js +3 -0
  243. package/dist/utilities/scroll/lock.d.ts +1 -0
  244. package/dist/utilities/scroll/lock.js +3 -3
  245. package/dist/utilities/scroll/lockSafari.d.ts +1 -1
  246. package/dist/utilities/scroll/lockSafari.js +4 -5
  247. package/dist/utilities/scroll/lockStandard.d.ts +4 -1
  248. package/dist/utilities/scroll/lockStandard.js +7 -2
  249. package/dist/utilities/storybook/Example.js +1 -2
  250. package/package.json +42 -41
  251. package/dist/components/Theme/tests/Theme.stories.d.ts +0 -13
  252. package/dist/components/Theme/tests/Theme.stories.js +0 -80
  253. package/dist/utilities/storybook/Example.module.css +0 -1
@@ -6,6 +6,6 @@ declare const generate: (args?: {
6
6
  warning?: Color;
7
7
  positive?: Color;
8
8
  neutral?: Color;
9
- brand?: string;
9
+ brand?: Color;
10
10
  }) => ThemeDefinition["color"];
11
11
  export default generate;
@@ -160,16 +160,17 @@ const generate = (args = {}) => {
160
160
  return generateColorValues({
161
161
  key,
162
162
  hex: validateHexColor(typeof color === "string" ? color : color.hex),
163
- hexDark: typeof color !== "string" ? validateHexColor(color.hexDark) : undefined,
163
+ hexDark: validateHexColor(typeof color === "string" ? color : (color.hexDark ?? color.hex)),
164
164
  });
165
165
  };
166
+ const brandColor = brand || primary;
166
167
  return {
167
168
  ...generateFor("primary", primary),
168
169
  ...generateFor("critical", critical),
169
170
  ...generateFor("warning", warning),
170
171
  ...generateFor("positive", positive),
171
172
  ...generateFor("neutral", neutral),
172
- brand: { hex: brand || primary },
173
+ brand: typeof brandColor === "string" ? { hex: brandColor } : brandColor,
173
174
  white: { hex: "#ffffff" },
174
175
  black: { hex: "#000000" },
175
176
  };
@@ -1,58 +1,59 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
3
4
  const color_1 = require("../color");
4
- describe("cli/utilities/color", () => {
5
- describe("wcag", () => {
6
- test("returns white for black background", () => {
7
- expect((0, color_1.getOnColor)({ bgHexColor: "#000000", mode: "light" })).toBe("#ffffff");
5
+ (0, vitest_1.describe)("cli/utilities/color", () => {
6
+ (0, vitest_1.describe)("wcag", () => {
7
+ (0, vitest_1.test)("returns white for black background", () => {
8
+ (0, vitest_1.expect)((0, color_1.getOnColor)({ bgHexColor: "#000000", mode: "light" })).toBe("#ffffff");
8
9
  });
9
- test("returns white for dark colored background", () => {
10
- expect((0, color_1.getOnColor)({ bgHexColor: "#aa0000", mode: "light" })).toBe("#ffffff");
10
+ (0, vitest_1.test)("returns white for dark colored background", () => {
11
+ (0, vitest_1.expect)((0, color_1.getOnColor)({ bgHexColor: "#aa0000", mode: "light" })).toBe("#ffffff");
11
12
  });
12
- test("returns black for white background", () => {
13
- expect((0, color_1.getOnColor)({ bgHexColor: "#ffffff", mode: "light" })).toBe("#000000");
13
+ (0, vitest_1.test)("returns black for white background", () => {
14
+ (0, vitest_1.expect)((0, color_1.getOnColor)({ bgHexColor: "#ffffff", mode: "light" })).toBe("#000000");
14
15
  });
15
- test("returns white for light colored background", () => {
16
- expect((0, color_1.getOnColor)({ bgHexColor: "#dedede", mode: "light" })).toBe("#000000");
16
+ (0, vitest_1.test)("returns white for light colored background", () => {
17
+ (0, vitest_1.expect)((0, color_1.getOnColor)({ bgHexColor: "#dedede", mode: "light" })).toBe("#000000");
17
18
  });
18
- test("returns #999 for white background", () => {
19
- expect((0, color_1.getOnColor)({
19
+ (0, vitest_1.test)("returns #999 for white background", () => {
20
+ (0, vitest_1.expect)((0, color_1.getOnColor)({
20
21
  bgHexColor: "#ffffff",
21
22
  lightHexColor: "#eeeeee",
22
23
  darkHexColor: "#999999",
23
24
  mode: "dark",
24
25
  })).toBe("#999999");
25
26
  });
26
- test("returns #eee for black background", () => {
27
- expect((0, color_1.getOnColor)({
27
+ (0, vitest_1.test)("returns #eee for black background", () => {
28
+ (0, vitest_1.expect)((0, color_1.getOnColor)({
28
29
  bgHexColor: "#000000",
29
30
  lightHexColor: "#eeeeee",
30
31
  darkHexColor: "#999999",
31
32
  mode: "dark",
32
33
  })).toBe("#eeeeee");
33
34
  });
34
- test("returns black for muted green background", () => {
35
- expect((0, color_1.getOnColor)({
35
+ (0, vitest_1.test)("returns black for muted green background", () => {
36
+ (0, vitest_1.expect)((0, color_1.getOnColor)({
36
37
  bgHexColor: "#1abc9c",
37
38
  mode: "dark",
38
39
  })).toBe("#000000");
39
40
  });
40
41
  });
41
- describe("apca", () => {
42
- test("returns white for black background", () => {
43
- expect((0, color_1.getOnColor)({ bgHexColor: "#000000", mode: "light", algorithm: "apca" })).toBe("#ffffff");
42
+ (0, vitest_1.describe)("apca", () => {
43
+ (0, vitest_1.test)("returns white for black background", () => {
44
+ (0, vitest_1.expect)((0, color_1.getOnColor)({ bgHexColor: "#000000", mode: "light", algorithm: "apca" })).toBe("#ffffff");
44
45
  });
45
- test("returns white for dark colored background", () => {
46
- expect((0, color_1.getOnColor)({ bgHexColor: "#aa0000", mode: "light", algorithm: "apca" })).toBe("#ffffff");
46
+ (0, vitest_1.test)("returns white for dark colored background", () => {
47
+ (0, vitest_1.expect)((0, color_1.getOnColor)({ bgHexColor: "#aa0000", mode: "light", algorithm: "apca" })).toBe("#ffffff");
47
48
  });
48
- test("returns black for white background", () => {
49
- expect((0, color_1.getOnColor)({ bgHexColor: "#ffffff", mode: "light", algorithm: "apca" })).toBe("#000000");
49
+ (0, vitest_1.test)("returns black for white background", () => {
50
+ (0, vitest_1.expect)((0, color_1.getOnColor)({ bgHexColor: "#ffffff", mode: "light", algorithm: "apca" })).toBe("#000000");
50
51
  });
51
- test("returns white for light colored background", () => {
52
- expect((0, color_1.getOnColor)({ bgHexColor: "#dedede", mode: "light", algorithm: "apca" })).toBe("#000000");
52
+ (0, vitest_1.test)("returns white for light colored background", () => {
53
+ (0, vitest_1.expect)((0, color_1.getOnColor)({ bgHexColor: "#dedede", mode: "light", algorithm: "apca" })).toBe("#000000");
53
54
  });
54
- test("returns #999 for white background", () => {
55
- expect((0, color_1.getOnColor)({
55
+ (0, vitest_1.test)("returns #999 for white background", () => {
56
+ (0, vitest_1.expect)((0, color_1.getOnColor)({
56
57
  bgHexColor: "#ffffff",
57
58
  lightHexColor: "#eeeeee",
58
59
  darkHexColor: "#999999",
@@ -60,8 +61,8 @@ describe("cli/utilities/color", () => {
60
61
  algorithm: "apca",
61
62
  })).toBe("#999999");
62
63
  });
63
- test("returns #eee for black background", () => {
64
- expect((0, color_1.getOnColor)({
64
+ (0, vitest_1.test)("returns #eee for black background", () => {
65
+ (0, vitest_1.expect)((0, color_1.getOnColor)({
65
66
  bgHexColor: "#000000",
66
67
  lightHexColor: "#eeeeee",
67
68
  darkHexColor: "#999999",
@@ -69,8 +70,8 @@ describe("cli/utilities/color", () => {
69
70
  algorithm: "apca",
70
71
  })).toBe("#eeeeee");
71
72
  });
72
- test("returns white for muted green background", () => {
73
- expect((0, color_1.getOnColor)({
73
+ (0, vitest_1.test)("returns white for muted green background", () => {
74
+ (0, vitest_1.expect)((0, color_1.getOnColor)({
74
75
  bgHexColor: "#1abc9c",
75
76
  mode: "dark",
76
77
  algorithm: "apca",
@@ -1 +1 @@
1
- [data-rs-theme=slate]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-weight-regular:400;--rs-font-weight-medium:500;--rs-font-weight-semibold:600;--rs-font-weight-bold:700;--rs-font-weight-extrabold:800;--rs-font-weight-black:900;--rs-font-size-title-1:6rem;--rs-line-height-title-1:6.25rem;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-1:normal;--rs-font-size-title-2:5rem;--rs-line-height-title-2:5.25rem;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-2:normal;--rs-font-size-title-3:4rem;--rs-line-height-title-3:4.25rem;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-3:normal;--rs-font-size-title-4:3.5rem;--rs-line-height-title-4:3.75rem;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-bold);--rs-letter-spacing-title-4:normal;--rs-font-size-title-5:3rem;--rs-line-height-title-5:3.25rem;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-bold);--rs-letter-spacing-title-5:normal;--rs-font-size-title-6:2.25rem;--rs-line-height-title-6:2.5rem;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-bold);--rs-letter-spacing-title-6:normal;--rs-font-size-featured-1:2rem;--rs-line-height-featured-1:2.5rem;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-letter-spacing-featured-1:normal;--rs-font-size-featured-2:1.5rem;--rs-line-height-featured-2:2rem;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-letter-spacing-featured-2:normal;--rs-font-size-featured-3:1.25rem;--rs-line-height-featured-3:1.75rem;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-letter-spacing-featured-3:normal;--rs-font-size-body-1:1.125rem;--rs-line-height-body-1:1.75rem;--rs-font-family-body-1:var(--rs-font-family-body);--rs-letter-spacing-body-1:normal;--rs-font-size-body-2:1rem;--rs-line-height-body-2:1.5rem;--rs-font-family-body-2:var(--rs-font-family-body);--rs-letter-spacing-body-2:normal;--rs-font-size-body-3:0.875rem;--rs-line-height-body-3:1.25rem;--rs-font-family-body-3:var(--rs-font-family-body);--rs-letter-spacing-body-3:normal;--rs-font-size-caption-1:0.75rem;--rs-line-height-caption-1:1rem;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-letter-spacing-caption-1:normal;--rs-font-size-caption-2:0.625rem;--rs-line-height-caption-2:0.75rem;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-letter-spacing-caption-2:normal;--rs-unit-base:4px;--rs-unit-x1:4px;--rs-unit-x2:8px;--rs-unit-x3:12px;--rs-unit-x4:16px;--rs-unit-x5:20px;--rs-unit-x6:24px;--rs-unit-x7:28px;--rs-unit-x8:32px;--rs-unit-x9:36px;--rs-unit-x10:40px;--rs-radius-small:4px;--rs-radius-medium:8px;--rs-radius-large:12px;--rs-color-brand:#2563eb;--rs-color-white:#fff;--rs-color-black:#000;--rs-color-on-background-primary:#fff;--rs-color-on-background-critical:#fff;--rs-color-on-background-warning:#000;--rs-color-on-background-positive:#fff;--rs-color-on-brand:#fff;--rs-color-rgb-white:255,255,255;--rs-color-rgb-black:0,0,0;--rs-duration-rapid:100ms;--rs-duration-fast:200ms;--rs-duration-medium:300ms;--rs-duration-slow:400ms;--rs-easing-standard:cubic-bezier(0.4,0,0.2,1);--rs-easing-accelerate:cubic-bezier(0.4,0,1,1);--rs-easing-decelerate:cubic-bezier(0,0,0.2,1);--rs-shadow-raised:0px 1px 5px -4px rgba(0,0,0,.5),0px 4px 8px 0px rgba(0,0,0,.05);--rs-shadow-overlay:0px 5px 10px 0px rgba(0,0,0,.05),0px 15px 25px 0px rgba(0,0,0,.07);--rs-viewport-m-min:660;--rs-viewport-l-min:900;--rs-viewport-xl-min:1280}[data-rs-theme=slate][data-rs-color-mode=light]{--rs-color-background-primary:#2563eb;--rs-color-background-primary-faded:#e8f0ff;--rs-color-border-primary:#1e5ce5;--rs-color-border-primary-faded:#d0ddf4;--rs-color-foreground-primary:#1e5ce5;--rs-color-background-critical:#e22c2c;--rs-color-background-critical-faded:#fff1ef;--rs-color-border-critical:#c22022;--rs-color-border-critical-faded:#f3dad6;--rs-color-foreground-critical:#c22022;--rs-color-background-warning:#facc15;--rs-color-background-warning-faded:#fff6dd;--rs-color-border-warning:#816802;--rs-color-border-warning-faded:#ece2c4;--rs-color-foreground-warning:#816802;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#ebfff1;--rs-color-border-positive:#0f7f4a;--rs-color-border-positive-faded:#d2eddb;--rs-color-foreground-positive:#0f7f4a;--rs-color-background-neutral:#e3e4e8;--rs-color-background-neutral-faded:#f3f3f5;--rs-color-border-neutral:#0000001f;--rs-color-border-neutral-faded:#00000014;--rs-color-foreground-neutral:#2c2e34;--rs-color-foreground-neutral-faded:#676a75;--rs-color-background-disabled:#edeeef;--rs-color-background-disabled-faded:#f6f6f7;--rs-color-border-disabled:#e2e2e4;--rs-color-foreground-disabled:#cbcccf;--rs-color-background-elevation-base:#fff;--rs-color-background-elevation-raised:#fff;--rs-color-background-elevation-overlay:#fff;--rs-color-background-page:#fff;--rs-color-background-page-faded:#fafbfb;--rs-color-rgb-background-primary:37,99,235;--rs-color-rgb-background-primary-faded:232,240,255;--rs-color-rgb-background-critical:226,44,44;--rs-color-rgb-background-critical-faded:255,241,239;--rs-color-rgb-background-warning:250,204,21;--rs-color-rgb-background-warning-faded:255,246,221;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:235,255,241;--rs-color-on-background-neutral:#000;--rs-color-rgb-background-neutral:227,228,232;--rs-color-rgb-background-neutral-faded:243,243,245;--rs-color-rgb-background-disabled:237,238,239;--rs-color-rgb-background-disabled-faded:246,246,247;--rs-color-rgb-background-elevation-base:255,255,255;--rs-color-rgb-background-elevation-raised:255,255,255;--rs-color-rgb-background-elevation-overlay:255,255,255;--rs-color-rgb-background-page:255,255,255;--rs-color-rgb-background-page-faded:250,251,251}[data-rs-theme=slate][data-rs-color-mode=dark]{--rs-color-background-primary:#2563eb;--rs-color-background-primary-faded:#17243d;--rs-color-border-primary:#7199e5;--rs-color-border-primary-faded:#293b60;--rs-color-foreground-primary:#7199e5;--rs-color-background-critical:#d72828;--rs-color-background-critical-faded:#391b18;--rs-color-border-critical:#e68075;--rs-color-border-critical-faded:#5a2e29;--rs-color-foreground-critical:#e68075;--rs-color-background-warning:#d7ae06;--rs-color-background-warning-faded:#2b2410;--rs-color-border-warning:#eed58a;--rs-color-border-warning-faded:#453c1e;--rs-color-foreground-warning:#eed58a;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#152a1d;--rs-color-border-positive:#57b17c;--rs-color-border-positive-faded:#264431;--rs-color-foreground-positive:#57b17c;--rs-color-background-neutral:#393a42;--rs-color-background-neutral-faded:#212227;--rs-color-border-neutral:#ffffff24;--rs-color-border-neutral-faded:#ffffff14;--rs-color-foreground-neutral:#f3f3f5;--rs-color-foreground-neutral-faded:#c7c9d1;--rs-color-background-disabled:#242527;--rs-color-background-disabled-faded:#1b1b1d;--rs-color-border-disabled:#262729;--rs-color-foreground-disabled:#494a4e;--rs-color-background-elevation-base:#161617;--rs-color-background-elevation-raised:#18191a;--rs-color-background-elevation-overlay:#1d1d1f;--rs-color-background-page:#0e0e0f;--rs-color-background-page-faded:#131414;--rs-color-rgb-background-primary:37,99,235;--rs-color-rgb-background-primary-faded:23,36,61;--rs-color-rgb-background-critical:215,40,40;--rs-color-rgb-background-critical-faded:57,27,24;--rs-color-rgb-background-warning:215,174,6;--rs-color-rgb-background-warning-faded:43,36,16;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:21,42,29;--rs-color-on-background-neutral:#fff;--rs-color-rgb-background-neutral:57,58,66;--rs-color-rgb-background-neutral-faded:33,34,39;--rs-color-rgb-background-disabled:36,37,39;--rs-color-rgb-background-disabled-faded:27,27,29;--rs-color-rgb-background-elevation-base:22,22,23;--rs-color-rgb-background-elevation-raised:24,25,26;--rs-color-rgb-background-elevation-overlay:29,29,31;--rs-color-rgb-background-page:14,14,15;--rs-color-rgb-background-page-faded:19,20,20}
1
+ [data-rs-theme=slate]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-weight-regular:400;--rs-font-weight-medium:500;--rs-font-weight-semibold:600;--rs-font-weight-bold:700;--rs-font-weight-extrabold:800;--rs-font-weight-black:900;--rs-font-size-title-1:6rem;--rs-line-height-title-1:6.25rem;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-1:normal;--rs-font-size-title-2:5rem;--rs-line-height-title-2:5.25rem;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-2:normal;--rs-font-size-title-3:4rem;--rs-line-height-title-3:4.25rem;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-3:normal;--rs-font-size-title-4:3.5rem;--rs-line-height-title-4:3.75rem;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-bold);--rs-letter-spacing-title-4:normal;--rs-font-size-title-5:3rem;--rs-line-height-title-5:3.25rem;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-bold);--rs-letter-spacing-title-5:normal;--rs-font-size-title-6:2.25rem;--rs-line-height-title-6:2.5rem;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-bold);--rs-letter-spacing-title-6:normal;--rs-font-size-featured-1:2rem;--rs-line-height-featured-1:2.5rem;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-letter-spacing-featured-1:normal;--rs-font-size-featured-2:1.5rem;--rs-line-height-featured-2:2rem;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-letter-spacing-featured-2:normal;--rs-font-size-featured-3:1.25rem;--rs-line-height-featured-3:1.75rem;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-letter-spacing-featured-3:normal;--rs-font-size-body-1:1.125rem;--rs-line-height-body-1:1.75rem;--rs-font-family-body-1:var(--rs-font-family-body);--rs-letter-spacing-body-1:normal;--rs-font-size-body-2:1rem;--rs-line-height-body-2:1.5rem;--rs-font-family-body-2:var(--rs-font-family-body);--rs-letter-spacing-body-2:normal;--rs-font-size-body-3:0.875rem;--rs-line-height-body-3:1.25rem;--rs-font-family-body-3:var(--rs-font-family-body);--rs-letter-spacing-body-3:normal;--rs-font-size-caption-1:0.75rem;--rs-line-height-caption-1:1rem;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-letter-spacing-caption-1:normal;--rs-font-size-caption-2:0.625rem;--rs-line-height-caption-2:0.75rem;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-letter-spacing-caption-2:normal;--rs-unit-base:4px;--rs-unit-x1:4px;--rs-unit-x2:8px;--rs-unit-x3:12px;--rs-unit-x4:16px;--rs-unit-x5:20px;--rs-unit-x6:24px;--rs-unit-x7:28px;--rs-unit-x8:32px;--rs-unit-x9:36px;--rs-unit-x10:40px;--rs-radius-small:4px;--rs-radius-medium:8px;--rs-radius-large:12px;--rs-color-brand:#2563eb;--rs-color-white:#fff;--rs-color-black:#000;--rs-color-on-background-primary:#fff;--rs-color-on-background-critical:#fff;--rs-color-on-background-warning:#000;--rs-color-on-background-positive:#fff;--rs-color-on-brand:#fff;--rs-color-rgb-white:255,255,255;--rs-color-rgb-black:0,0,0;--rs-duration-rapid:100ms;--rs-duration-fast:200ms;--rs-duration-medium:300ms;--rs-duration-slow:400ms;--rs-easing-standard:cubic-bezier(0.4,0,0.2,1);--rs-easing-accelerate:cubic-bezier(0.4,0,1,1);--rs-easing-decelerate:cubic-bezier(0,0,0.2,1);--rs-shadow-raised:0px 1px 5px -4px rgba(0,0,0,.5),0px 4px 8px 0px rgba(0,0,0,.05);--rs-shadow-overlay:0px 5px 10px 0px rgba(0,0,0,.05),0px 15px 25px 0px rgba(0,0,0,.07);--rs-viewport-m-min:660;--rs-viewport-l-min:900;--rs-viewport-xl-min:1280}[data-rs-theme=slate][data-rs-color-mode=light]{--rs-color-background-primary:#2563eb;--rs-color-background-primary-faded:#e8f0ff;--rs-color-border-primary:#1e5ce5;--rs-color-border-primary-faded:#d0ddf4;--rs-color-foreground-primary:#1e5ce5;--rs-color-background-critical:#e22c2c;--rs-color-background-critical-faded:#fff1ef;--rs-color-border-critical:#c22022;--rs-color-border-critical-faded:#f3dad6;--rs-color-foreground-critical:#c22022;--rs-color-background-warning:#facc15;--rs-color-background-warning-faded:#fff6dd;--rs-color-border-warning:#816802;--rs-color-border-warning-faded:#ece2c4;--rs-color-foreground-warning:#816802;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#ebfff1;--rs-color-border-positive:#0f7f4a;--rs-color-border-positive-faded:#d2eddb;--rs-color-foreground-positive:#0f7f4a;--rs-color-background-neutral:#e3e4e8;--rs-color-background-neutral-faded:#f3f3f5;--rs-color-border-neutral:#0000001f;--rs-color-border-neutral-faded:#00000014;--rs-color-foreground-neutral:#2c2e34;--rs-color-foreground-neutral-faded:#676a75;--rs-color-background-disabled:#edeeef;--rs-color-background-disabled-faded:#f6f6f7;--rs-color-border-disabled:#e2e2e4;--rs-color-foreground-disabled:#cbcccf;--rs-color-background-elevation-base:#fff;--rs-color-background-elevation-raised:#fff;--rs-color-background-elevation-overlay:#fff;--rs-color-background-page:#fff;--rs-color-background-page-faded:#fafbfb;--rs-color-rgb-background-primary:37,99,235;--rs-color-rgb-background-primary-faded:232,240,255;--rs-color-rgb-background-critical:226,44,44;--rs-color-rgb-background-critical-faded:255,241,239;--rs-color-rgb-background-warning:250,204,21;--rs-color-rgb-background-warning-faded:255,246,221;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:235,255,241;--rs-color-on-background-neutral:#000;--rs-color-rgb-background-neutral:227,228,232;--rs-color-rgb-background-neutral-faded:243,243,245;--rs-color-rgb-background-disabled:237,238,239;--rs-color-rgb-background-disabled-faded:246,246,247;--rs-color-rgb-background-elevation-base:255,255,255;--rs-color-rgb-background-elevation-raised:255,255,255;--rs-color-rgb-background-elevation-overlay:255,255,255;--rs-color-rgb-background-page:255,255,255;--rs-color-rgb-background-page-faded:250,251,251}[data-rs-theme=slate][data-rs-color-mode=dark]{--rs-color-background-primary:#2563eb;--rs-color-background-primary-faded:#17243d;--rs-color-border-primary:#7199e5;--rs-color-border-primary-faded:#293b60;--rs-color-foreground-primary:#7199e5;--rs-color-background-critical:#e22c2c;--rs-color-background-critical-faded:#391b18;--rs-color-border-critical:#e9887d;--rs-color-border-critical-faded:#5a2e29;--rs-color-foreground-critical:#e9887d;--rs-color-background-warning:#facc15;--rs-color-background-warning-faded:#2b2410;--rs-color-border-warning:#fbf3db;--rs-color-border-warning-faded:#453c1e;--rs-color-foreground-warning:#fbf3db;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#152a1d;--rs-color-border-positive:#57b17c;--rs-color-border-positive-faded:#264431;--rs-color-foreground-positive:#57b17c;--rs-color-background-neutral:#393a42;--rs-color-background-neutral-faded:#212227;--rs-color-border-neutral:#ffffff24;--rs-color-border-neutral-faded:#ffffff14;--rs-color-foreground-neutral:#f3f3f5;--rs-color-foreground-neutral-faded:#c7c9d1;--rs-color-background-disabled:#242527;--rs-color-background-disabled-faded:#1b1b1d;--rs-color-border-disabled:#262729;--rs-color-foreground-disabled:#494a4e;--rs-color-background-elevation-base:#161617;--rs-color-background-elevation-raised:#18191a;--rs-color-background-elevation-overlay:#1d1d1f;--rs-color-background-page:#0e0e0f;--rs-color-background-page-faded:#131414;--rs-color-rgb-background-primary:37,99,235;--rs-color-rgb-background-primary-faded:23,36,61;--rs-color-rgb-background-critical:226,44,44;--rs-color-rgb-background-critical-faded:57,27,24;--rs-color-rgb-background-warning:250,204,21;--rs-color-rgb-background-warning-faded:43,36,16;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:21,42,29;--rs-color-on-background-neutral:#fff;--rs-color-rgb-background-neutral:57,58,66;--rs-color-rgb-background-neutral-faded:33,34,39;--rs-color-rgb-background-disabled:36,37,39;--rs-color-rgb-background-disabled-faded:27,27,29;--rs-color-rgb-background-elevation-base:22,22,23;--rs-color-rgb-background-elevation-raised:24,25,26;--rs-color-rgb-background-elevation-overlay:29,29,31;--rs-color-rgb-background-page:14,14,15;--rs-color-rgb-background-page-faded:19,20,20}
@@ -1,10 +1,11 @@
1
- import React from "react";
1
+ import { StoryObj } from "@storybook/react";
2
+ import { fn } from "@storybook/test";
2
3
  declare const _default: {
3
4
  title: string;
4
5
  component: {
5
- (props: import("./..").AccordionProps): React.JSX.Element;
6
- Trigger: (props: import("../Accordion.types").TriggerProps) => React.JSX.Element;
7
- Content: (props: import("../Accordion.types").ContentProps) => React.JSX.Element;
6
+ (props: import("./..").AccordionProps): import("react").JSX.Element;
7
+ Trigger: (props: import("../Accordion.types").TriggerProps) => import("react").JSX.Element;
8
+ Content: (props: import("../Accordion.types").ContentProps) => import("react").JSX.Element;
8
9
  };
9
10
  parameters: {
10
11
  iframe: {
@@ -13,7 +14,28 @@ declare const _default: {
13
14
  };
14
15
  };
15
16
  export default _default;
16
- export declare const behavior: () => React.JSX.Element;
17
- export declare const icon: () => React.JSX.Element;
18
- export declare const renderProps: () => React.JSX.Element;
19
- export declare const composition: () => React.JSX.Element;
17
+ export declare const base: {
18
+ name: string;
19
+ render: () => import("react").JSX.Element;
20
+ };
21
+ export declare const iconSize: {
22
+ name: string;
23
+ render: () => import("react").JSX.Element;
24
+ };
25
+ export declare const iconPosition: {
26
+ name: string;
27
+ render: () => import("react").JSX.Element;
28
+ };
29
+ export declare const onToggle: StoryObj<{
30
+ handleToggle: typeof fn;
31
+ }>;
32
+ export declare const active: StoryObj<{
33
+ handleToggle: typeof fn;
34
+ }>;
35
+ export declare const defaultActive: StoryObj<{
36
+ handleToggle: typeof fn;
37
+ }>;
38
+ export declare const renderProps: StoryObj<{
39
+ handleToggle: typeof fn;
40
+ }>;
41
+ export declare const className: StoryObj;
@@ -1,9 +1,8 @@
1
- import React from "react";
2
- import { Example, Placeholder } from "../../../utilities/storybook/index.js";
1
+ import { userEvent, expect, fn } from "@storybook/test";
2
+ import { Placeholder } from "../../../utilities/storybook/index.js";
3
3
  import Accordion from "../index.js";
4
4
  import Button from "../../Button/index.js";
5
5
  import View from "../../View/index.js";
6
- import useToggle from "../../../hooks/useToggle.js";
7
6
  export default {
8
7
  title: "Utilities/Accordion",
9
8
  component: Accordion,
@@ -13,67 +12,171 @@ export default {
13
12
  },
14
13
  },
15
14
  };
16
- export const behavior = () => (<Example>
17
- <Example.Item title="uncontrolled">
18
- <Accordion>
19
- <Accordion.Trigger>Uncontrolled accordion</Accordion.Trigger>
20
- <Accordion.Content>
21
- <View paddingTop={2}>
22
- <Placeholder />
23
- </View>
24
- </Accordion.Content>
25
- </Accordion>
26
- </Example.Item>
27
- <Example.Item title="active, uncontrolled">
28
- <Accordion defaultActive>
29
- <Accordion.Trigger>Action uncontrolled</Accordion.Trigger>
30
- <Accordion.Content>
31
- <View paddingTop={2}>
32
- <Placeholder />
33
- </View>
34
- </Accordion.Content>
35
- </Accordion>
36
- </Example.Item>
37
- <Example.Item title="active, controlled">
38
- <Accordion active>
39
- <Accordion.Trigger>Active controlled</Accordion.Trigger>
40
- <Accordion.Content>
41
- <View paddingTop={2}>
42
- <Placeholder />
43
- </View>
44
- </Accordion.Content>
45
- </Accordion>
46
- </Example.Item>
47
- </Example>);
48
- export const icon = () => (<Example>
49
- <Example.Item title="iconSize">
50
- <Accordion iconSize={6}>
51
- <Accordion.Trigger>Accordion trigger</Accordion.Trigger>
52
- <Accordion.Content>
53
- <View paddingTop={2}>
54
- <Placeholder />
55
- </View>
56
- </Accordion.Content>
57
- </Accordion>
58
- </Example.Item>
59
- <Example.Item title="iconPosition">
60
- <Accordion iconPosition="start">
61
- <Accordion.Trigger>Accordion trigger</Accordion.Trigger>
62
- <Accordion.Content>
63
- <View paddingTop={2}>
64
- <Placeholder />
65
- </View>
66
- </Accordion.Content>
67
- </Accordion>
68
- </Example.Item>
69
- </Example>);
70
- export const renderProps = () => (<Example>
71
- <Example.Item title="button controlling accordion content">
72
- <Accordion>
15
+ export const base = {
16
+ name: "base",
17
+ render: () => (<Accordion defaultActive>
18
+ <Accordion.Trigger>
19
+ <Placeholder>Trigger</Placeholder>
20
+ </Accordion.Trigger>
21
+ <Accordion.Content>
22
+ <View paddingTop={2}>
23
+ <Placeholder />
24
+ </View>
25
+ </Accordion.Content>
26
+ </Accordion>),
27
+ };
28
+ export const iconSize = {
29
+ name: "iconSize",
30
+ render: () => (<Accordion iconSize={6}>
31
+ <Accordion.Trigger>
32
+ <Placeholder>Trigger</Placeholder>
33
+ </Accordion.Trigger>
34
+ <Accordion.Content>
35
+ <View paddingTop={2}>
36
+ <Placeholder />
37
+ </View>
38
+ </Accordion.Content>
39
+ </Accordion>),
40
+ };
41
+ export const iconPosition = {
42
+ name: "iconPosition",
43
+ render: () => (<Accordion iconPosition="start">
44
+ <Accordion.Trigger>
45
+ <Placeholder>Trigger</Placeholder>
46
+ </Accordion.Trigger>
47
+ <Accordion.Content>
48
+ <View paddingTop={2}>
49
+ <Placeholder />
50
+ </View>
51
+ </Accordion.Content>
52
+ </Accordion>),
53
+ };
54
+ export const onToggle = {
55
+ name: "onToggle",
56
+ args: {
57
+ handleToggle: fn(),
58
+ },
59
+ render: (args) => (<Accordion onToggle={args.handleToggle}>
60
+ <Accordion.Trigger>
61
+ <Placeholder>Trigger</Placeholder>
62
+ </Accordion.Trigger>
63
+ <Accordion.Content>
64
+ <View paddingTop={2}>
65
+ <Placeholder />
66
+ </View>
67
+ </Accordion.Content>
68
+ </Accordion>),
69
+ play: async ({ canvas, args }) => {
70
+ const { handleToggle } = args;
71
+ const trigger = canvas.getAllByRole("button")[0];
72
+ const content = canvas.getByRole("region", { hidden: true });
73
+ expect(trigger).toHaveAttribute("aria-expanded", "false");
74
+ await userEvent.click(trigger);
75
+ const triggerId = trigger.getAttribute("id");
76
+ const contentId = content.getAttribute("id");
77
+ expect(handleToggle).toBeCalledTimes(1);
78
+ expect(handleToggle).toBeCalledWith(true);
79
+ expect(trigger).toHaveAttribute("aria-expanded", "true");
80
+ expect(content).toBeInTheDocument();
81
+ expect(content.getAttribute("aria-labelledby")).toBe(triggerId);
82
+ expect(trigger.getAttribute("aria-controls")).toBe(contentId);
83
+ await userEvent.click(trigger);
84
+ expect(handleToggle).toBeCalledTimes(2);
85
+ expect(handleToggle).toBeCalledWith(false);
86
+ expect(trigger).toHaveAttribute("aria-expanded", "false");
87
+ },
88
+ };
89
+ export const active = {
90
+ name: "active",
91
+ args: {
92
+ handleToggle: fn(),
93
+ },
94
+ render: (args) => (<Accordion onToggle={args.handleToggle} active>
95
+ <Accordion.Trigger>
96
+ <Placeholder>Trigger</Placeholder>
97
+ </Accordion.Trigger>
98
+ <Accordion.Content>
99
+ <View paddingTop={2}>
100
+ <Placeholder />
101
+ </View>
102
+ </Accordion.Content>
103
+ </Accordion>),
104
+ play: async ({ canvas, args }) => {
105
+ const { handleToggle } = args;
106
+ const trigger = canvas.getAllByRole("button")[0];
107
+ // Opened by default
108
+ expect(trigger).toHaveAttribute("aria-expanded", "true");
109
+ await userEvent.click(trigger);
110
+ // Calls handle toggle with a new state
111
+ expect(handleToggle).toBeCalledWith(false);
112
+ // Keeps content opened since it's controlled
113
+ expect(trigger).toHaveAttribute("aria-expanded", "true");
114
+ },
115
+ };
116
+ export const defaultActive = {
117
+ name: "defaultActive",
118
+ args: {
119
+ handleToggle: fn(),
120
+ },
121
+ render: (args) => (<Accordion onToggle={args.handleToggle} defaultActive>
122
+ <Accordion.Trigger>
123
+ <Placeholder>Trigger</Placeholder>
124
+ </Accordion.Trigger>
125
+ <Accordion.Content>
126
+ <View paddingTop={2}>
127
+ <Placeholder />
128
+ </View>
129
+ </Accordion.Content>
130
+ </Accordion>),
131
+ play: async ({ canvas, args }) => {
132
+ const { handleToggle } = args;
133
+ const trigger = canvas.getAllByRole("button")[0];
134
+ // Opened by default
135
+ expect(trigger).toHaveAttribute("aria-expanded", "true");
136
+ await userEvent.click(trigger);
137
+ // Calls handle toggle with a new state
138
+ expect(handleToggle).toBeCalledWith(false);
139
+ // Keeps content opened since it's controlled
140
+ expect(trigger).toHaveAttribute("aria-expanded", "false");
141
+ },
142
+ };
143
+ export const renderProps = {
144
+ name: "children: render props",
145
+ args: {
146
+ handleToggle: fn(),
147
+ },
148
+ render: (args) => (<Accordion onToggle={args.handleToggle}>
149
+ <Accordion.Trigger>
150
+ {(attributes, { active }) => (<Button attributes={{ ...attributes, "data-active": active }}>Trigger</Button>)}
151
+ </Accordion.Trigger>
152
+ <Accordion.Content>
153
+ <View paddingTop={2}>
154
+ <Placeholder />
155
+ </View>
156
+ </Accordion.Content>
157
+ </Accordion>),
158
+ play: async ({ canvas, args }) => {
159
+ const { handleToggle } = args;
160
+ const trigger = canvas.getAllByRole("button")[0];
161
+ const content = canvas.getByRole("region", { hidden: true });
162
+ const triggerId = trigger.getAttribute("id");
163
+ const contentId = content.getAttribute("id");
164
+ expect(trigger).toHaveAttribute("aria-expanded", "false");
165
+ expect(trigger).toHaveAttribute("id", triggerId);
166
+ expect(trigger).toHaveAttribute("aria-controls", contentId);
167
+ expect(trigger).toHaveAttribute("data-active", "false");
168
+ await userEvent.click(trigger);
169
+ expect(handleToggle).toBeCalledTimes(1);
170
+ expect(handleToggle).toBeCalledWith(true);
171
+ expect(trigger).toHaveAttribute("data-active", "true");
172
+ },
173
+ };
174
+ export const className = {
175
+ name: "className, attributes",
176
+ render: () => (<div data-testid="root">
177
+ <Accordion className="test-classname" attributes={{ id: "test-id" }}>
73
178
  <Accordion.Trigger>
74
- {(attributes, { active }) => (<Button attributes={attributes} highlighted={active}>
75
- Toggle
76
- </Button>)}
179
+ <Placeholder>Trigger</Placeholder>
77
180
  </Accordion.Trigger>
78
181
  <Accordion.Content>
79
182
  <View paddingTop={2}>
@@ -81,60 +184,10 @@ export const renderProps = () => (<Example>
81
184
  </View>
82
185
  </Accordion.Content>
83
186
  </Accordion>
84
- </Example.Item>
85
- </Example>);
86
- const DemoMultiple = () => {
87
- const [activeValue, setActiveValue] = React.useState(null);
88
- return (<View gap={2}>
89
- {[1, 2, 3].map((i) => (<View key={i} backgroundColor={activeValue === i ? "elevation-base" : undefined} animated borderRadius="medium" borderColor={activeValue === i ? "neutral-faded" : "transparent"} shadow={activeValue === i ? "raised" : undefined} padding={2}>
90
- <Accordion active={activeValue === i} onToggle={(active) => setActiveValue(active ? i : null)}>
91
- <Accordion.Trigger>Accordion trigger</Accordion.Trigger>
92
- <Accordion.Content>
93
- <View paddingTop={2}>
94
- <Placeholder />
95
- </View>
96
- </Accordion.Content>
97
- </Accordion>
98
- </View>))}
99
- </View>);
100
- };
101
- export const composition = () => {
102
- const toggle = useToggle();
103
- return (<Example>
104
- <Example.Item title="custom content size">
105
- <Accordion>
106
- <Accordion.Trigger>Accordion trigger</Accordion.Trigger>
107
- <Accordion.Content>
108
- <View paddingTop={2}>
109
- <Placeholder h={200}/>
110
- </View>
111
- </Accordion.Content>
112
- </Accordion>
113
- </Example.Item>
114
- <Example.Item title="inside View">
115
- <View backgroundColor="neutral-faded" borderRadius="medium" padding={4}>
116
- <Accordion>
117
- <Accordion.Trigger>Accordion trigger</Accordion.Trigger>
118
- <Accordion.Content>
119
- <View paddingTop={2}>
120
- <Placeholder />
121
- </View>
122
- </Accordion.Content>
123
- </Accordion>
124
- </View>
125
- </Example.Item>
126
- <Example.Item title="multiple items, depending on state">
127
- <DemoMultiple />
128
- </Example.Item>
129
- <Example.Item title="external trigger">
130
- <Button onClick={toggle.toggle}>Toggle</Button>
131
- <Accordion active={toggle.active}>
132
- <Accordion.Content>
133
- <View paddingTop={2}>
134
- <Placeholder />
135
- </View>
136
- </Accordion.Content>
137
- </Accordion>
138
- </Example.Item>
139
- </Example>);
187
+ </div>),
188
+ play: async ({ canvas }) => {
189
+ const root = canvas.getByTestId("root").firstChild;
190
+ expect(root).toHaveClass("test-classname");
191
+ expect(root).toHaveAttribute("id", "test-id");
192
+ },
140
193
  };
@@ -8,6 +8,15 @@ declare const _default: {
8
8
  };
9
9
  };
10
10
  export default _default;
11
- export declare const position: () => import("react").JSX.Element;
12
- export declare const elevated: () => import("react").JSX.Element;
13
- export declare const padding: () => import("react").JSX.Element;
11
+ export declare const position: {
12
+ name: string;
13
+ render: () => import("react").JSX.Element;
14
+ };
15
+ export declare const elevated: {
16
+ name: string;
17
+ render: () => import("react").JSX.Element;
18
+ };
19
+ export declare const padding: {
20
+ name: string;
21
+ render: () => import("react").JSX.Element;
22
+ };