reshaped 3.3.10 → 3.3.12

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 (284) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/bundle.css +1 -1
  3. package/dist/bundle.js +10 -10
  4. package/dist/cjs/themes/_generator/utilities/generateColors.d.ts +1 -1
  5. package/dist/cjs/themes/_generator/utilities/generateColors.js +3 -2
  6. package/dist/cjs/themes/_generator/utilities/tests/color.test.js +32 -31
  7. package/dist/cjs/themes/slate/theme.css +1 -1
  8. package/dist/components/Accordion/tests/Accordion.stories.d.ts +30 -8
  9. package/dist/components/Accordion/tests/Accordion.stories.js +172 -119
  10. package/dist/components/ActionBar/tests/ActionBar.stories.d.ts +12 -3
  11. package/dist/components/ActionBar/tests/ActionBar.stories.js +51 -36
  12. package/dist/components/ActionBar/tests/ActionBar.test.stories.d.ts +15 -0
  13. package/dist/components/ActionBar/tests/ActionBar.test.stories.js +26 -0
  14. package/dist/components/Actionable/Actionable.js +1 -1
  15. package/dist/components/Actionable/Actionable.types.d.ts +3 -3
  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/Card.d.ts +3 -3
  55. package/dist/components/Card/Card.types.d.ts +1 -1
  56. package/dist/components/Card/tests/Card.stories.d.ts +3 -4
  57. package/dist/components/Card/tests/Card.stories.js +0 -11
  58. package/dist/components/Card/tests/Card.test.stories.d.ts +35 -0
  59. package/dist/components/Card/tests/Card.test.stories.js +54 -0
  60. package/dist/components/Carousel/Carousel.types.d.ts +1 -1
  61. package/dist/components/Carousel/CarouselControl.js +1 -1
  62. package/dist/components/Carousel/tests/Carousel.stories.d.ts +3 -0
  63. package/dist/components/Carousel/tests/Carousel.stories.js +5 -1
  64. package/dist/components/Carousel/tests/Carousel.test.stories.d.ts +17 -0
  65. package/dist/components/Carousel/tests/Carousel.test.stories.js +52 -0
  66. package/dist/components/Checkbox/tests/Checkbox.test.stories.d.ts +25 -0
  67. package/dist/components/Checkbox/tests/Checkbox.test.stories.js +104 -0
  68. package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.d.ts +22 -0
  69. package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.js +78 -0
  70. package/dist/components/Container/Container.module.css +1 -1
  71. package/dist/components/Container/tests/Container.stories.d.ts +12 -3
  72. package/dist/components/Container/tests/Container.stories.js +50 -31
  73. package/dist/components/Container/tests/Container.test.stories.d.ts +15 -0
  74. package/dist/components/Container/tests/Container.test.stories.js +26 -0
  75. package/dist/components/ContextMenu/ContextMenu.js +13 -9
  76. package/dist/components/ContextMenu/tests/ContextMenu.stories.js +2 -3
  77. package/dist/components/ContextMenu/tests/ContextMenu.test.stories.d.ts +26 -0
  78. package/dist/components/ContextMenu/tests/ContextMenu.test.stories.js +53 -0
  79. package/dist/components/Dismissible/Dismissible.js +1 -1
  80. package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +10 -3
  81. package/dist/components/Dismissible/tests/Dismissible.stories.js +51 -34
  82. package/dist/components/Dismissible/tests/Dismissible.test.stories.d.ts +19 -0
  83. package/dist/components/Dismissible/tests/Dismissible.test.stories.js +42 -0
  84. package/dist/components/Divider/tests/Divider.test.stories.d.ts +18 -0
  85. package/dist/components/Divider/tests/Divider.test.stories.js +47 -0
  86. package/dist/components/DropdownMenu/DropdownMenu.js +1 -1
  87. package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.d.ts +37 -0
  88. package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.js +117 -0
  89. package/dist/components/FileUpload/tests/FileUpload.test.stories.d.ts +22 -0
  90. package/dist/components/FileUpload/tests/FileUpload.test.stories.js +52 -0
  91. package/dist/components/FormControl/FormControl.context.d.ts +12 -0
  92. package/dist/components/FormControl/FormControlCaption.js +1 -1
  93. package/dist/components/FormControl/FormControlLabel.js +1 -1
  94. package/dist/components/FormControl/tests/FormControl.stories.d.ts +11 -5
  95. package/dist/components/FormControl/tests/FormControl.stories.js +78 -73
  96. package/dist/components/FormControl/tests/FormControl.test.stories.d.ts +20 -0
  97. package/dist/components/FormControl/tests/FormControl.test.stories.js +49 -0
  98. package/dist/components/Grid/Grid.d.ts +2 -2
  99. package/dist/components/Grid/Grid.types.d.ts +3 -2
  100. package/dist/components/Grid/tests/Grid.stories.d.ts +22 -7
  101. package/dist/components/Grid/tests/Grid.stories.js +164 -149
  102. package/dist/components/Grid/tests/Grid.test.stories.d.ts +19 -0
  103. package/dist/components/Grid/tests/Grid.test.stories.js +42 -0
  104. package/dist/components/Hidden/Hidden.types.d.ts +1 -1
  105. package/dist/components/Hidden/tests/Hidden.stories.d.ts +4 -1
  106. package/dist/components/Hidden/tests/Hidden.stories.js +28 -25
  107. package/dist/components/Hidden/tests/Hidden.test.stories.d.ts +15 -0
  108. package/dist/components/Hidden/tests/Hidden.test.stories.js +20 -0
  109. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +4 -1
  110. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +8 -5
  111. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.d.ts +15 -0
  112. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.js +20 -0
  113. package/dist/components/Hotkey/tests/Hotkey.test.stories.d.ts +15 -0
  114. package/dist/components/Hotkey/tests/Hotkey.test.stories.js +26 -0
  115. package/dist/components/Icon/tests/Icon.stories.d.ts +12 -3
  116. package/dist/components/Icon/tests/Icon.stories.js +69 -60
  117. package/dist/components/Icon/tests/Icon.test.stories.d.ts +16 -0
  118. package/dist/components/Icon/tests/Icon.test.stories.js +35 -0
  119. package/dist/components/Image/tests/Image.stories.d.ts +24 -5
  120. package/dist/components/Image/tests/Image.stories.js +95 -75
  121. package/dist/components/Image/tests/Image.test.stories.d.ts +25 -0
  122. package/dist/components/Image/tests/Image.test.stories.js +80 -0
  123. package/dist/components/Link/tests/Link.test.stories.d.ts +29 -0
  124. package/dist/components/Link/tests/Link.test.stories.js +87 -0
  125. package/dist/components/Loader/Loader.js +1 -1
  126. package/dist/components/Loader/Loader.types.d.ts +1 -0
  127. package/dist/components/Loader/tests/Loader.stories.js +8 -8
  128. package/dist/components/Loader/tests/Loader.test.stories.d.ts +16 -0
  129. package/dist/components/Loader/tests/Loader.test.stories.js +32 -0
  130. package/dist/components/MenuItem/tests/MenuItem.test.stories.d.ts +26 -0
  131. package/dist/components/MenuItem/tests/MenuItem.test.stories.js +100 -0
  132. package/dist/components/Modal/Modal.types.d.ts +1 -1
  133. package/dist/components/Modal/tests/Modal.test.stories.d.ts +32 -0
  134. package/dist/components/Modal/tests/Modal.test.stories.js +149 -0
  135. package/dist/components/Overlay/Overlay.types.d.ts +1 -1
  136. package/dist/components/Overlay/tests/Overlay.stories.d.ts +4 -2
  137. package/dist/components/Overlay/tests/Overlay.stories.js +53 -53
  138. package/dist/components/Overlay/tests/Overlay.test.stories.d.ts +28 -0
  139. package/dist/components/Overlay/tests/Overlay.test.stories.js +146 -0
  140. package/dist/components/Pagination/tests/Pagination.test.stories.d.ts +23 -0
  141. package/dist/components/Pagination/tests/Pagination.test.stories.js +86 -0
  142. package/dist/components/PinField/tests/PinField.stories.d.ts +0 -1
  143. package/dist/components/PinField/tests/PinField.stories.js +10 -19
  144. package/dist/components/PinField/tests/PinField.test.stories.d.ts +29 -0
  145. package/dist/components/PinField/tests/PinField.test.stories.js +177 -0
  146. package/dist/components/Popover/tests/Popover.test.stories.d.ts +40 -0
  147. package/dist/components/Popover/tests/Popover.test.stories.js +167 -0
  148. package/dist/components/Progress/Progress.js +2 -2
  149. package/dist/components/Progress/Progress.types.d.ts +1 -0
  150. package/dist/components/Progress/tests/Progress.stories.js +10 -10
  151. package/dist/components/Progress/tests/Progress.test.stories.d.ts +16 -0
  152. package/dist/components/Progress/tests/Progress.test.stories.js +35 -0
  153. package/dist/components/Radio/tests/Radio.test.stories.d.ts +30 -0
  154. package/dist/components/Radio/tests/Radio.test.stories.js +118 -0
  155. package/dist/components/RadioGroup/tests/RadioGroup.test.stories.d.ts +22 -0
  156. package/dist/components/RadioGroup/tests/RadioGroup.test.stories.js +78 -0
  157. package/dist/components/Reshaped/tests/Reshaped.stories.d.ts +33 -0
  158. package/dist/components/Reshaped/tests/Reshaped.stories.js +88 -0
  159. package/dist/components/Resizable/Resizable.js +4 -1
  160. package/dist/components/Resizable/Resizable.types.d.ts +2 -2
  161. package/dist/components/Resizable/tests/Resizable.stories.d.ts +3 -0
  162. package/dist/components/Resizable/tests/Resizable.stories.js +4 -0
  163. package/dist/components/Resizable/tests/Resizable.test.stories.d.ts +19 -0
  164. package/dist/components/Resizable/tests/Resizable.test.stories.js +25 -0
  165. package/dist/components/Scrim/tests/Scrim.test.stories.d.ts +15 -0
  166. package/dist/components/Scrim/tests/Scrim.test.stories.js +25 -0
  167. package/dist/components/ScrollArea/ScrollArea.js +1 -1
  168. package/dist/components/ScrollArea/ScrollArea.module.css +1 -1
  169. package/dist/components/ScrollArea/tests/ScrollArea.stories.d.ts +17 -4
  170. package/dist/components/ScrollArea/tests/ScrollArea.stories.js +114 -139
  171. package/dist/components/ScrollArea/tests/ScrollArea.test.stories.d.ts +23 -0
  172. package/dist/components/ScrollArea/tests/ScrollArea.test.stories.js +66 -0
  173. package/dist/components/Select/tests/Select.stories.d.ts +1 -1
  174. package/dist/components/Select/tests/Select.stories.js +5 -12
  175. package/dist/components/Select/tests/Select.test.stories.d.ts +27 -0
  176. package/dist/components/Select/tests/Select.test.stories.js +132 -0
  177. package/dist/components/Skeleton/tests/Skeleton.test.stories.d.ts +15 -0
  178. package/dist/components/Skeleton/tests/Skeleton.test.stories.js +23 -0
  179. package/dist/components/Slider/Slider.types.d.ts +1 -1
  180. package/dist/components/Slider/tests/Slider.stories.d.ts +0 -1
  181. package/dist/components/Slider/tests/Slider.stories.js +8 -9
  182. package/dist/components/Slider/tests/Slider.test.stories.d.ts +38 -0
  183. package/dist/components/Slider/tests/Slider.test.stories.js +150 -0
  184. package/dist/components/Stepper/Stepper.js +1 -1
  185. package/dist/components/Stepper/tests/Stepper.stories.js +0 -3
  186. package/dist/components/Stepper/tests/Stepper.test.stories.d.ts +18 -0
  187. package/dist/components/Stepper/tests/Stepper.test.stories.js +28 -0
  188. package/dist/components/Switch/tests/Switch.test.stories.d.ts +23 -0
  189. package/dist/components/Switch/tests/Switch.test.stories.js +79 -0
  190. package/dist/components/Table/tests/Table.test.stories.d.ts +25 -0
  191. package/dist/components/Table/tests/Table.test.stories.js +93 -0
  192. package/dist/components/Tabs/Tabs.types.d.ts +3 -3
  193. package/dist/components/Tabs/TabsContext.d.ts +3 -3
  194. package/dist/components/Tabs/TabsItem.js +1 -1
  195. package/dist/components/Tabs/tests/Tabs.stories.js +4 -4
  196. package/dist/components/Tabs/tests/Tabs.test.stories.d.ts +28 -0
  197. package/dist/components/Tabs/tests/Tabs.test.stories.js +128 -0
  198. package/dist/components/Text/Text.d.ts +1 -1
  199. package/dist/components/Text/Text.types.d.ts +1 -1
  200. package/dist/components/Text/tests/Text.stories.d.ts +29 -8
  201. package/dist/components/Text/tests/Text.stories.js +148 -125
  202. package/dist/components/Text/tests/Text.test.stories.d.ts +18 -0
  203. package/dist/components/Text/tests/Text.test.stories.js +49 -0
  204. package/dist/components/TextArea/TextArea.module.css +1 -1
  205. package/dist/components/TextArea/tests/TextArea.stories.js +1 -1
  206. package/dist/components/TextArea/tests/TextArea.test.stories.d.ts +29 -0
  207. package/dist/components/TextArea/tests/TextArea.test.stories.js +99 -0
  208. package/dist/components/TextField/TextField.js +3 -1
  209. package/dist/components/TextField/tests/TextField.stories.js +1 -1
  210. package/dist/components/TextField/tests/TextField.test.stories.d.ts +29 -0
  211. package/dist/components/TextField/tests/TextField.test.stories.js +99 -0
  212. package/dist/components/Theme/Theme.types.d.ts +2 -2
  213. package/dist/components/Theme/tests/Theme.test.stories.d.ts +24 -0
  214. package/dist/components/Theme/tests/Theme.test.stories.js +133 -0
  215. package/dist/components/Timeline/tests/Timeline.test.stories.d.ts +18 -0
  216. package/dist/components/Timeline/tests/Timeline.test.stories.js +32 -0
  217. package/dist/components/Toast/ToastContainer.js +1 -1
  218. package/dist/components/Toast/tests/Toast.test.stories.d.ts +16 -0
  219. package/dist/components/Toast/tests/Toast.test.stories.js +101 -0
  220. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  221. package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +1 -1
  222. package/dist/components/Tooltip/tests/Tooltip.stories.js +0 -14
  223. package/dist/components/Tooltip/tests/Tooltip.test.stories.d.ts +19 -0
  224. package/dist/components/Tooltip/tests/Tooltip.test.stories.js +40 -0
  225. package/dist/components/View/View.d.ts +2 -2
  226. package/dist/components/View/View.js +4 -4
  227. package/dist/components/View/View.types.d.ts +2 -2
  228. package/dist/components/View/tests/View.stories.d.ts +114 -30
  229. package/dist/components/View/tests/View.stories.js +1092 -1012
  230. package/dist/components/View/tests/View.test.stories.d.ts +20 -0
  231. package/dist/components/View/tests/View.test.stories.js +50 -0
  232. package/dist/components/_private/Flyout/Flyout.types.d.ts +6 -6
  233. package/dist/components/_private/Flyout/FlyoutContent.js +1 -1
  234. package/dist/components/_private/Flyout/FlyoutControlled.js +5 -3
  235. package/dist/components/_private/Flyout/tests/Flyout.stories.js +5 -5
  236. package/dist/components/_private/Flyout/tests/Flyout.test.stories.d.ts +28 -0
  237. package/dist/components/_private/Flyout/tests/Flyout.test.stories.js +205 -0
  238. package/dist/components/_private/Flyout/useFlyout.d.ts +3 -3
  239. package/dist/components/_private/Portal/Portal.types.d.ts +3 -3
  240. package/dist/components/_private/Portal/tests/Portal.stories.js +1 -1
  241. package/dist/hooks/_private/useIsDismissible.d.ts +1 -1
  242. package/dist/hooks/_private/useOnClickOutside.d.ts +1 -1
  243. package/dist/hooks/_private/useSingletonHotkeys.d.ts +3 -3
  244. package/dist/hooks/_private/useSingletonHotkeys.js +1 -1
  245. package/dist/hooks/tests/useDrag.stories.js +1 -0
  246. package/dist/hooks/tests/useDrag.test.stories.d.ts +26 -0
  247. package/dist/hooks/tests/useDrag.test.stories.js +120 -0
  248. package/dist/hooks/tests/useElementId.stories.d.ts +6 -0
  249. package/dist/hooks/tests/useElementId.stories.js +19 -0
  250. package/dist/hooks/tests/useHotkeys.test.stories.d.ts +39 -0
  251. package/dist/hooks/tests/useHotkeys.test.stories.js +119 -0
  252. package/dist/hooks/tests/useRTL.stories.d.ts +6 -0
  253. package/dist/hooks/tests/useRTL.stories.js +25 -0
  254. package/dist/hooks/tests/useResponsiveClientValue.stories.d.ts +9 -1
  255. package/dist/hooks/tests/useResponsiveClientValue.stories.js +22 -9
  256. package/dist/hooks/tests/useScrollLock.stories.d.ts +6 -0
  257. package/dist/hooks/tests/useScrollLock.stories.js +22 -0
  258. package/dist/hooks/tests/useToggle.stories.d.ts +8 -0
  259. package/dist/hooks/tests/useToggle.stories.js +54 -0
  260. package/dist/hooks/useDrag.d.ts +3 -3
  261. package/dist/hooks/useHotkeys.d.ts +2 -2
  262. package/dist/hooks/useHotkeys.js +3 -1
  263. package/dist/hooks/useScrollLock.d.ts +2 -1
  264. package/dist/hooks/useScrollLock.js +7 -3
  265. package/dist/tests/ShadowDOM.stories.js +1 -1
  266. package/dist/themes/_generator/tests/themes.stories.d.ts +3 -0
  267. package/dist/themes/_generator/tests/themes.stories.js +7 -11
  268. package/dist/themes/_generator/utilities/generateColors.d.ts +1 -1
  269. package/dist/themes/_generator/utilities/generateColors.js +3 -2
  270. package/dist/themes/slate/theme.css +1 -1
  271. package/dist/types/global.d.ts +1 -1
  272. package/dist/utilities/helpers.d.ts +1 -0
  273. package/dist/utilities/helpers.js +3 -0
  274. package/dist/utilities/scroll/lock.d.ts +1 -0
  275. package/dist/utilities/scroll/lock.js +3 -3
  276. package/dist/utilities/scroll/lockSafari.d.ts +1 -1
  277. package/dist/utilities/scroll/lockSafari.js +4 -5
  278. package/dist/utilities/scroll/lockStandard.d.ts +4 -1
  279. package/dist/utilities/scroll/lockStandard.js +7 -2
  280. package/dist/utilities/storybook/Example.js +1 -2
  281. package/package.json +22 -21
  282. package/dist/components/Theme/tests/Theme.stories.d.ts +0 -13
  283. package/dist/components/Theme/tests/Theme.stories.js +0 -80
  284. package/dist/utilities/storybook/Example.module.css +0 -1
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import { expect, fn } from "@storybook/test";
2
3
  import { Example } from "../../../utilities/storybook/index.js";
3
4
  import Avatar from "../../Avatar/index.js";
4
5
  import View from "../../View/index.js";
@@ -7,6 +8,7 @@ import Icon from "../../Icon/index.js";
7
8
  import Button from "../../Button/index.js";
8
9
  import IconCheckmark from "../../../icons/Checkmark.js";
9
10
  import IconChevronRight from "../../../icons/ChevronRight.js";
11
+ import userEvent from "@testing-library/user-event";
10
12
  export default {
11
13
  title: "Components/Badge",
12
14
  component: Badge,
@@ -16,232 +18,256 @@ export default {
16
18
  },
17
19
  },
18
20
  };
19
- export const variant = () => (<Example>
20
- <Example.Item title="variant: default">
21
- <Badge>Badge</Badge>
22
- </Example.Item>
23
- <Example.Item title="variant: faded">
24
- <Badge variant="faded">Badge</Badge>
25
- </Example.Item>
26
- <Example.Item title="variant: outline">
27
- <Badge variant="outline">Badge</Badge>
28
- </Example.Item>
29
- </Example>);
30
- export const color = () => (<Example>
31
- <Example.Item title="color: primary, all variants">
32
- <View direction="row" gap={3}>
33
- <Badge color="primary">Badge</Badge>
34
- <Badge variant="faded" color="primary">
35
- Badge
36
- </Badge>
37
- <Badge variant="outline" color="primary">
38
- Badge
39
- </Badge>
40
- </View>
41
- </Example.Item>
42
-
43
- <Example.Item title="color: positive, all variants">
44
- <View direction="row" gap={3}>
45
- <Badge color="positive">Badge</Badge>
46
- <Badge variant="faded" color="positive">
47
- Badge
48
- </Badge>
49
- <Badge variant="outline" color="positive">
50
- Badge
51
- </Badge>
52
- </View>
53
- </Example.Item>
54
-
55
- <Example.Item title="color: critical, all variants">
56
- <View direction="row" gap={3}>
57
- <Badge color="critical">Badge</Badge>
58
- <Badge variant="faded" color="critical">
59
- Badge
60
- </Badge>
61
- <Badge variant="outline" color="critical">
62
- Badge
63
- </Badge>
64
- </View>
65
- </Example.Item>
66
-
67
- <Example.Item title="color: warning, all variants">
68
- <View direction="row" gap={3}>
69
- <Badge color="warning">Badge</Badge>
70
- <Badge variant="faded" color="warning">
71
- Badge
72
- </Badge>
73
- <Badge variant="outline" color="warning">
74
- Badge
75
- </Badge>
76
- </View>
77
- </Example.Item>
78
- </Example>);
79
- export const sizes = () => (<Example>
80
- <Example.Item title="size: small, not rounded and rounded">
81
- <View gap={3} direction="row">
82
- <Badge size="small">Badge</Badge>
83
- <Badge rounded size="small">
84
- Badge
85
- </Badge>
86
- </View>
87
- </Example.Item>
88
- <Example.Item title="size: medium, not rounded and rounded">
89
- <View gap={3} direction="row">
21
+ export const variant = {
22
+ name: "variant",
23
+ render: () => (<Example>
24
+ <Example.Item title="variant: default">
90
25
  <Badge>Badge</Badge>
91
- <Badge rounded>Badge</Badge>
92
- </View>
93
- </Example.Item>
94
- <Example.Item title="size: large, not rounded and rounded">
95
- <View gap={3} direction="row">
96
- <Badge size="large">Badge</Badge>
97
- <Badge rounded size="large">
98
- Badge
99
- </Badge>
100
- </View>
101
- </Example.Item>
102
- </Example>);
103
- export const icon = () => (<Example>
104
- <Example.Item title="size: small, not rounded and rounded">
105
- <View gap={3} direction="row">
106
- <Badge icon={IconCheckmark} endIcon={IconChevronRight} size="small">
107
- Badge
108
- </Badge>
109
- </View>
110
- </Example.Item>
111
- <Example.Item title="size: medium, not rounded and rounded">
112
- <View gap={3} direction="row">
113
- <Badge icon={IconCheckmark} endIcon={IconChevronRight}>
114
- Badge
115
- </Badge>
116
- </View>
117
- </Example.Item>
118
- <Example.Item title="size: large, not rounded and rounded">
119
- <View gap={3} direction="row">
120
- <Badge size="large" icon={IconCheckmark} endIcon={IconChevronRight}>
121
- Badge
122
- </Badge>
123
- </View>
124
- </Example.Item>
125
- </Example>);
126
- export const actionable = () => (<Example>
127
- <Example.Item title="onClick">
128
- <Badge onClick={() => console.log("click")} dismissAriaLabel="Dismiss">
129
- Badge
130
- </Badge>
131
- </Example.Item>
132
- <Example.Item title="dismissible, close button is actionable">
133
- <Badge onDismiss={() => console.log("heyeye")} dismissAriaLabel="Dismiss">
134
- Badge
135
- </Badge>
136
- </Example.Item>
137
- <Example.Item title="dismissible + onClick, whole badge is actionable">
138
- <Badge onDismiss={() => console.log("dismiss")} dismissAriaLabel="Dismiss" onClick={() => console.log("click")}>
139
- Badge
140
- </Badge>
141
- </Example.Item>
142
- </Example>);
143
- export const rounded = () => (<Example>
144
- <Example.Item title="rounded, all variants">
145
- <View direction="row" gap={3}>
146
- <Badge rounded>Badge</Badge>
147
- <Badge rounded variant="faded">
148
- Badge
149
- </Badge>
150
- <Badge rounded variant="outline">
151
- Badge
152
- </Badge>
153
- </View>
154
- </Example.Item>
155
- <Example.Item title={["rounded, all sizes, color: critical", "one character, renders as circle"]}>
156
- <View direction="row" gap={3}>
157
- <Badge rounded color="critical" size="small">
158
- 2
159
- </Badge>
160
- <Badge rounded color="critical">
161
- 2
162
- </Badge>
163
- <Badge rounded color="critical" size="large">
164
- 2
165
- </Badge>
166
- </View>
167
- </Example.Item>
168
- </Example>);
169
- export const empty = () => (<Example>
170
- <Example.Item title="empty, not rounded, all sizes, color: critical">
171
- <View direction="row" gap={3}>
172
- <Badge size="small" color="critical"/>
173
- <Badge color="critical"/>
174
- <Badge size="large" color="critical"/>
175
- </View>
176
- </Example.Item>
177
- <Example.Item title="empty, rounded, all sizes, color: critical">
178
- <View direction="row" gap={3}>
179
- <Badge rounded size="small" color="critical"/>
180
- <Badge rounded color="critical"/>
181
- <Badge rounded size="large" color="critical"/>
182
- </View>
183
- </Example.Item>
184
- </Example>);
185
- export const container = () => {
186
- const [hidden, setHidden] = React.useState(false);
187
- return (<Example title={<Button onClick={() => setHidden(!hidden)}>Toggle badges</Button>}>
188
- <Example.Item title="position: top-end">
189
- <Badge.Container>
190
- <Badge color="primary" hidden={hidden}>
191
- 5
192
- </Badge>
193
- <Avatar initials="A" squared/>
194
- </Badge.Container>
195
26
  </Example.Item>
196
-
197
- <Example.Item title="position: bottom-end">
198
- <Badge.Container position="bottom-end">
199
- <Badge color="primary" hidden={hidden}>
200
- 5
27
+ <Example.Item title="variant: faded">
28
+ <Badge variant="faded">Badge</Badge>
29
+ </Example.Item>
30
+ <Example.Item title="variant: outline">
31
+ <Badge variant="outline">Badge</Badge>
32
+ </Example.Item>
33
+ </Example>),
34
+ };
35
+ export const color = {
36
+ name: "color",
37
+ render: () => (<Example>
38
+ <Example.Item title="color: primary, all variants">
39
+ <View direction="row" gap={3}>
40
+ <Badge color="primary">Badge</Badge>
41
+ <Badge variant="faded" color="primary">
42
+ Badge
43
+ </Badge>
44
+ <Badge variant="outline" color="primary">
45
+ Badge
201
46
  </Badge>
202
- <Avatar initials="A" squared/>
203
- </Badge.Container>
47
+ </View>
204
48
  </Example.Item>
205
49
 
206
- <Example.Item title="position: top-end, rounded, multiple digits">
207
- <Badge.Container>
208
- <Badge size="small" color="primary" rounded hidden={hidden}>
209
- 123
50
+ <Example.Item title="color: positive, all variants">
51
+ <View direction="row" gap={3}>
52
+ <Badge color="positive">Badge</Badge>
53
+ <Badge variant="faded" color="positive">
54
+ Badge
210
55
  </Badge>
211
- <Avatar initials="A" squared/>
212
- </Badge.Container>
56
+ <Badge variant="outline" color="positive">
57
+ Badge
58
+ </Badge>
59
+ </View>
213
60
  </Example.Item>
214
61
 
215
- <Example.Item title="position: top-end, rounded, empty">
216
- <Badge.Container>
217
- <Badge color="primary" rounded hidden={hidden}/>
218
- <Avatar initials="A" squared/>
219
- </Badge.Container>
62
+ <Example.Item title="color: critical, all variants">
63
+ <View direction="row" gap={3}>
64
+ <Badge color="critical">Badge</Badge>
65
+ <Badge variant="faded" color="critical">
66
+ Badge
67
+ </Badge>
68
+ <Badge variant="outline" color="critical">
69
+ Badge
70
+ </Badge>
71
+ </View>
220
72
  </Example.Item>
221
73
 
222
- <Example.Item title={["position: top-end, overlap", "should cover the circular avatar"]}>
223
- <Badge.Container overlap>
224
- <Badge size="small" color="primary" rounded hidden={hidden}>
225
- 2
74
+ <Example.Item title="color: warning, all variants">
75
+ <View direction="row" gap={3}>
76
+ <Badge color="warning">Badge</Badge>
77
+ <Badge variant="faded" color="warning">
78
+ Badge
79
+ </Badge>
80
+ <Badge variant="outline" color="warning">
81
+ Badge
226
82
  </Badge>
227
- <Avatar initials="A"/>
228
- </Badge.Container>
83
+ </View>
229
84
  </Example.Item>
230
-
231
- <Example.Item title={["position: bottom-end, overlap", "should cover the circular avatar"]}>
232
- <Badge.Container overlap position="bottom-end">
233
- <Badge size="small" color="primary" rounded hidden={hidden}>
85
+ </Example>),
86
+ };
87
+ export const size = {
88
+ name: "size",
89
+ render: () => (<Example>
90
+ <Example.Item title="size: small, not rounded and rounded">
91
+ <View gap={3} direction="row">
92
+ <Badge size="small">Badge</Badge>
93
+ <Badge rounded size="small">
94
+ Badge
95
+ </Badge>
96
+ </View>
97
+ </Example.Item>
98
+ <Example.Item title="size: medium, not rounded and rounded">
99
+ <View gap={3} direction="row">
100
+ <Badge>Badge</Badge>
101
+ <Badge rounded>Badge</Badge>
102
+ </View>
103
+ </Example.Item>
104
+ <Example.Item title="size: large, not rounded and rounded">
105
+ <View gap={3} direction="row">
106
+ <Badge size="large">Badge</Badge>
107
+ <Badge rounded size="large">
108
+ Badge
109
+ </Badge>
110
+ </View>
111
+ </Example.Item>
112
+ </Example>),
113
+ };
114
+ export const icon = {
115
+ name: "icon",
116
+ render: () => (<Example>
117
+ <Example.Item title="size: small">
118
+ <View gap={3} direction="row">
119
+ <Badge icon={IconCheckmark} endIcon={IconChevronRight} size="small">
120
+ Badge
121
+ </Badge>
122
+ </View>
123
+ </Example.Item>
124
+ <Example.Item title="size: medium">
125
+ <View gap={3} direction="row">
126
+ <Badge icon={IconCheckmark} endIcon={IconChevronRight}>
127
+ Badge
128
+ </Badge>
129
+ </View>
130
+ </Example.Item>
131
+ <Example.Item title="size: large">
132
+ <View gap={3} direction="row">
133
+ <Badge size="large" icon={IconCheckmark} endIcon={IconChevronRight}>
134
+ Badge
135
+ </Badge>
136
+ </View>
137
+ </Example.Item>
138
+ </Example>),
139
+ };
140
+ export const onDismiss = {
141
+ name: "onDismiss, dismissAriaLabel",
142
+ args: {
143
+ handleDismiss: fn(),
144
+ },
145
+ render: (args) => (<Example>
146
+ <Example.Item title="onDismiss">
147
+ <Badge onDismiss={args.handleDismiss} dismissAriaLabel="Dismiss">
148
+ Badge
149
+ </Badge>
150
+ </Example.Item>
151
+ </Example>),
152
+ play: async ({ canvas, args }) => {
153
+ const dismissTrigger = canvas.getAllByRole("button")[0];
154
+ await userEvent.click(dismissTrigger);
155
+ expect(dismissTrigger).toHaveAccessibleName("Dismiss");
156
+ expect(args.handleDismiss).toHaveBeenCalledTimes(1);
157
+ expect(args.handleDismiss).toHaveBeenCalledWith();
158
+ },
159
+ };
160
+ export const rounded = {
161
+ name: "rounded",
162
+ render: () => (<Example>
163
+ <Example.Item title="rounded, all variants">
164
+ <View direction="row" gap={3}>
165
+ <Badge rounded>Badge</Badge>
166
+ <Badge rounded variant="faded">
167
+ Badge
168
+ </Badge>
169
+ <Badge rounded variant="outline">
170
+ Badge
171
+ </Badge>
172
+ </View>
173
+ </Example.Item>
174
+ <Example.Item title={["rounded, all sizes, color: critical", "one character, renders as circle"]}>
175
+ <View direction="row" gap={3}>
176
+ <Badge rounded color="critical" size="small">
234
177
  2
235
178
  </Badge>
236
- <Avatar initials="A"/>
237
- </Badge.Container>
179
+ <Badge rounded color="critical">
180
+ 2
181
+ </Badge>
182
+ <Badge rounded color="critical" size="large">
183
+ 2
184
+ </Badge>
185
+ </View>
238
186
  </Example.Item>
239
-
240
- <Example.Item title={["position: top-end, overlap", "should cover the icon"]}>
241
- <Badge.Container overlap position="top-end">
242
- <Badge size="small" color="primary" rounded hidden={hidden}/>
243
- <Icon svg={IconCheckmark} size={5}/>
244
- </Badge.Container>
187
+ </Example>),
188
+ };
189
+ export const empty = {
190
+ name: "empty",
191
+ render: () => (<Example>
192
+ <Example.Item title="empty, not rounded, all sizes, color: critical">
193
+ <View direction="row" gap={3}>
194
+ <Badge size="small" color="critical"/>
195
+ <Badge color="critical"/>
196
+ <Badge size="large" color="critical"/>
197
+ </View>
198
+ </Example.Item>
199
+ <Example.Item title="empty, rounded, all sizes, color: critical">
200
+ <View direction="row" gap={3}>
201
+ <Badge rounded size="small" color="critical"/>
202
+ <Badge rounded color="critical"/>
203
+ <Badge rounded size="large" color="critical"/>
204
+ </View>
245
205
  </Example.Item>
246
- </Example>);
206
+ </Example>),
207
+ };
208
+ export const container = {
209
+ name: "container",
210
+ render: () => {
211
+ const [hidden, setHidden] = React.useState(false);
212
+ return (<Example title={<Button onClick={() => setHidden(!hidden)}>Toggle badges</Button>}>
213
+ <Example.Item title="position: top-end">
214
+ <Badge.Container>
215
+ <Badge color="primary" hidden={hidden}>
216
+ 5
217
+ </Badge>
218
+ <Avatar initials="A" squared/>
219
+ </Badge.Container>
220
+ </Example.Item>
221
+
222
+ <Example.Item title="position: bottom-end">
223
+ <Badge.Container position="bottom-end">
224
+ <Badge color="primary" hidden={hidden}>
225
+ 5
226
+ </Badge>
227
+ <Avatar initials="A" squared/>
228
+ </Badge.Container>
229
+ </Example.Item>
230
+
231
+ <Example.Item title="position: top-end, rounded, multiple digits">
232
+ <Badge.Container>
233
+ <Badge size="small" color="primary" rounded hidden={hidden}>
234
+ 123
235
+ </Badge>
236
+ <Avatar initials="A" squared/>
237
+ </Badge.Container>
238
+ </Example.Item>
239
+
240
+ <Example.Item title="position: top-end, rounded, empty">
241
+ <Badge.Container>
242
+ <Badge color="primary" rounded hidden={hidden}/>
243
+ <Avatar initials="A" squared/>
244
+ </Badge.Container>
245
+ </Example.Item>
246
+
247
+ <Example.Item title={["position: top-end, overlap", "should cover the circular avatar"]}>
248
+ <Badge.Container overlap>
249
+ <Badge size="small" color="primary" rounded hidden={hidden}>
250
+ 2
251
+ </Badge>
252
+ <Avatar initials="A"/>
253
+ </Badge.Container>
254
+ </Example.Item>
255
+
256
+ <Example.Item title={["position: bottom-end, overlap", "should cover the circular avatar"]}>
257
+ <Badge.Container overlap position="bottom-end">
258
+ <Badge size="small" color="primary" rounded hidden={hidden}>
259
+ 2
260
+ </Badge>
261
+ <Avatar initials="A"/>
262
+ </Badge.Container>
263
+ </Example.Item>
264
+
265
+ <Example.Item title={["position: top-end, overlap", "should cover the icon"]}>
266
+ <Badge.Container overlap position="top-end">
267
+ <Badge size="small" color="primary" rounded hidden={hidden}/>
268
+ <Icon svg={IconCheckmark} size={5}/>
269
+ </Badge.Container>
270
+ </Example.Item>
271
+ </Example>);
272
+ },
247
273
  };
@@ -0,0 +1,20 @@
1
+ import { StoryObj } from "@storybook/react";
2
+ import { fn } from "@storybook/test";
3
+ declare const _default: {
4
+ title: string;
5
+ component: import("../Badge.types").Export;
6
+ parameters: {
7
+ iframe: {
8
+ url: string;
9
+ };
10
+ chromatic: {
11
+ disableSnapshot: boolean;
12
+ };
13
+ };
14
+ };
15
+ export default _default;
16
+ export declare const href: StoryObj;
17
+ export declare const onClick: StoryObj<{
18
+ handleClick: ReturnType<typeof fn>;
19
+ }>;
20
+ export declare const className: StoryObj;
@@ -0,0 +1,44 @@
1
+ import { expect, fn, userEvent } from "@storybook/test";
2
+ import Badge from "../index.js";
3
+ export default {
4
+ title: "Components/Badge/tests",
5
+ component: Badge,
6
+ parameters: {
7
+ iframe: {
8
+ url: "https://reshaped.so/docs/components/badge",
9
+ },
10
+ chromatic: { disableSnapshot: true },
11
+ },
12
+ };
13
+ export const href = {
14
+ name: "href",
15
+ render: () => <Badge href="https://reshaped.so">Badge</Badge>,
16
+ play: async ({ canvas }) => {
17
+ const link = canvas.getByRole("link");
18
+ expect(link).toHaveAttribute("href", "https://reshaped.so");
19
+ },
20
+ };
21
+ export const onClick = {
22
+ name: "onClick",
23
+ args: {
24
+ handleClick: fn(),
25
+ },
26
+ render: (args) => <Badge onClick={args.handleClick}>Badge</Badge>,
27
+ play: async ({ canvas, args }) => {
28
+ const button = canvas.getAllByRole("button")[0];
29
+ await userEvent.click(button);
30
+ expect(args.handleClick).toHaveBeenCalledTimes(1);
31
+ expect(args.handleClick).toHaveBeenCalledWith(expect.objectContaining({ target: button }));
32
+ },
33
+ };
34
+ export const className = {
35
+ name: "className, attributes",
36
+ render: () => (<div data-testid="root">
37
+ <Badge color="primary" className="test-classname" attributes={{ id: "test-id" }}/>
38
+ </div>),
39
+ play: async ({ canvas }) => {
40
+ const root = canvas.getByTestId("root").firstChild;
41
+ expect(root).toHaveClass("test-classname");
42
+ expect(root).toHaveAttribute("id", "test-id");
43
+ },
44
+ };
@@ -9,7 +9,7 @@ import Button from "../Button/index.js";
9
9
  import IconChevronRight from "../../icons/ChevronRight.js";
10
10
  import IconDotsHorizontal from "../../icons/DotsHorizontal.js";
11
11
  const Breadcrumbs = (props) => {
12
- const { children, separator, color, defaultVisibleItems, disableExpand, ariaLabel, className, attributes, } = props;
12
+ const { children, separator, color, defaultVisibleItems, expandAriaLabel, disableExpand, ariaLabel, className, attributes, } = props;
13
13
  const visibleItems = defaultVisibleItems && defaultVisibleItems >= 2 ? defaultVisibleItems : null;
14
14
  const [expanded, setExpanded] = React.useState(false);
15
15
  const rootClassNames = classNames(className);
@@ -32,7 +32,7 @@ const Breadcrumbs = (props) => {
32
32
  itemNode = child;
33
33
  }
34
34
  else if (isCollapseButton) {
35
- itemNode = disableExpand ? (_jsx(Icon, { svg: IconDotsHorizontal, size: 4 })) : (_jsx(Button.Aligner, { children: _jsx(Button, { variant: "ghost", size: "small", icon: IconDotsHorizontal, onClick: handleExpand }) }));
35
+ itemNode = disableExpand ? (_jsx(Icon, { svg: IconDotsHorizontal, size: 4 })) : (_jsx(Button.Aligner, { children: _jsx(Button, { variant: "ghost", size: "small", icon: IconDotsHorizontal, onClick: handleExpand, attributes: { "aria-label": expandAriaLabel } }) }));
36
36
  }
37
37
  if (itemNode === null)
38
38
  return null;
@@ -6,6 +6,7 @@ export type Props = {
6
6
  separator?: React.ReactNode;
7
7
  color?: "neutral" | "primary";
8
8
  defaultVisibleItems?: number;
9
+ expandAriaLabel?: string;
9
10
  disableExpand?: boolean;
10
11
  ariaLabel?: string;
11
12
  className?: G.ClassName;
@@ -10,8 +10,27 @@ declare const _default: {
10
10
  };
11
11
  };
12
12
  export default _default;
13
- export declare const color: () => import("react").JSX.Element;
14
- export declare const item: () => import("react").JSX.Element;
15
- export declare const slots: () => import("react").JSX.Element;
16
- export declare const collapsed: () => import("react").JSX.Element;
17
- export declare const edgeCases: () => import("react").JSX.Element;
13
+ export declare const color: {
14
+ name: string;
15
+ render: () => import("react").JSX.Element;
16
+ };
17
+ export declare const item: {
18
+ name: string;
19
+ render: () => import("react").JSX.Element;
20
+ };
21
+ export declare const icon: {
22
+ name: string;
23
+ render: () => import("react").JSX.Element;
24
+ };
25
+ export declare const slots: {
26
+ name: string;
27
+ render: () => import("react").JSX.Element;
28
+ };
29
+ export declare const collapsed: {
30
+ name: string;
31
+ render: () => import("react").JSX.Element;
32
+ };
33
+ export declare const multiline: {
34
+ name: string;
35
+ render: () => import("react").JSX.Element;
36
+ };