reshaped 3.8.0-canary.2 → 3.8.0-canary.20

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 (303) hide show
  1. package/dist/bundle.css +1 -1
  2. package/dist/bundle.d.ts +2 -1
  3. package/dist/bundle.js +11 -11
  4. package/dist/components/Accordion/AccordionControlled.js +1 -0
  5. package/dist/components/Actionable/Actionable.js +17 -3
  6. package/dist/components/Actionable/Actionable.module.css +1 -1
  7. package/dist/components/Actionable/Actionable.types.d.ts +15 -3
  8. package/dist/components/Actionable/tests/Actionable.stories.d.ts +13 -1
  9. package/dist/components/Actionable/tests/Actionable.stories.js +127 -7
  10. package/dist/components/Alert/tests/Alert.stories.d.ts +6 -5
  11. package/dist/components/Alert/tests/Alert.stories.js +15 -2
  12. package/dist/components/Autocomplete/Autocomplete.js +2 -2
  13. package/dist/components/Autocomplete/Autocomplete.types.d.ts +1 -1
  14. package/dist/components/Badge/Badge.module.css +1 -1
  15. package/dist/components/Badge/tests/Badge.stories.d.ts +5 -0
  16. package/dist/components/Badge/tests/Badge.stories.js +34 -0
  17. package/dist/components/Breadcrumbs/Breadcrumbs.js +1 -0
  18. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +8 -4
  19. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.js +57 -1
  20. package/dist/components/Button/Button.js +2 -2
  21. package/dist/components/Button/Button.module.css +1 -1
  22. package/dist/components/Button/Button.types.d.ts +1 -1
  23. package/dist/components/Button/tests/Button.stories.d.ts +54 -12
  24. package/dist/components/Button/tests/Button.stories.js +725 -588
  25. package/dist/components/Calendar/CalendarMonth.js +1 -0
  26. package/dist/components/Card/Card.d.ts +1 -1
  27. package/dist/components/Card/Card.module.css +1 -1
  28. package/dist/components/Card/tests/Card.stories.d.ts +29 -7
  29. package/dist/components/Card/tests/Card.stories.js +110 -65
  30. package/dist/components/Carousel/Carousel.js +1 -0
  31. package/dist/components/Carousel/Carousel.module.css +1 -1
  32. package/dist/components/Checkbox/Checkbox.module.css +1 -1
  33. package/dist/components/Checkbox/tests/Checkbox.stories.d.ts +20 -4
  34. package/dist/components/Checkbox/tests/Checkbox.stories.js +150 -79
  35. package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.d.ts +9 -2
  36. package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.js +67 -35
  37. package/dist/components/Container/tests/Container.stories.d.ts +2 -0
  38. package/dist/components/Container/tests/Container.stories.js +14 -0
  39. package/dist/components/ContextMenu/tests/ContextMenu.stories.d.ts +10 -1
  40. package/dist/components/ContextMenu/tests/ContextMenu.stories.js +57 -13
  41. package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +5 -0
  42. package/dist/components/Dismissible/tests/Dismissible.stories.js +30 -1
  43. package/dist/components/Divider/tests/Divider.stories.d.ts +8 -3
  44. package/dist/components/Divider/tests/Divider.stories.js +71 -41
  45. package/dist/components/DropdownMenu/DropdownMenu.js +4 -4
  46. package/dist/components/DropdownMenu/DropdownMenu.types.d.ts +2 -2
  47. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +35 -6
  48. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.js +222 -115
  49. package/dist/components/FileUpload/FileUpload.module.css +1 -1
  50. package/dist/components/Flyout/Flyout.module.css +1 -1
  51. package/dist/components/Flyout/Flyout.types.d.ts +7 -7
  52. package/dist/components/Flyout/FlyoutContent.js +4 -1
  53. package/dist/components/Flyout/FlyoutControlled.js +10 -3
  54. package/dist/components/Flyout/index.d.ts +1 -1
  55. package/dist/components/Flyout/tests/Flyout.stories.d.ts +8 -0
  56. package/dist/components/Flyout/tests/Flyout.stories.js +81 -33
  57. package/dist/components/Flyout/useFlyout.d.ts +1 -7
  58. package/dist/components/Flyout/useFlyout.js +5 -1
  59. package/dist/components/Flyout/utilities/calculatePosition.d.ts +3 -2
  60. package/dist/components/Flyout/utilities/calculatePosition.js +47 -22
  61. package/dist/components/Flyout/utilities/flyout.js +3 -2
  62. package/dist/components/Flyout/utilities/getPositionFallbacks.js +3 -3
  63. package/dist/components/Flyout/utilities/isFullyVisible.d.ts +0 -2
  64. package/dist/components/Flyout/utilities/isFullyVisible.js +5 -7
  65. package/dist/components/FormControl/FormControl.context.d.ts +1 -1
  66. package/dist/components/FormControl/tests/FormControl.stories.d.ts +2 -0
  67. package/dist/components/FormControl/tests/FormControl.stories.js +35 -0
  68. package/dist/components/Hidden/tests/Hidden.stories.d.ts +2 -0
  69. package/dist/components/Hidden/tests/Hidden.stories.js +9 -0
  70. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +2 -0
  71. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +9 -0
  72. package/dist/components/Hotkey/tests/Hotkey.stories.d.ts +2 -0
  73. package/dist/components/Hotkey/tests/Hotkey.stories.js +15 -0
  74. package/dist/components/Icon/Icon.js +2 -2
  75. package/dist/components/Icon/Icon.types.d.ts +1 -1
  76. package/dist/components/Icon/tests/Icon.stories.d.ts +3 -0
  77. package/dist/components/Icon/tests/Icon.stories.js +29 -1
  78. package/dist/components/Link/Link.d.ts +1 -1
  79. package/dist/components/Link/Link.js +2 -2
  80. package/dist/components/Link/Link.types.d.ts +1 -1
  81. package/dist/components/Link/tests/Link.stories.d.ts +29 -6
  82. package/dist/components/Link/tests/Link.stories.js +141 -58
  83. package/dist/components/Loader/tests/Loader.stories.d.ts +11 -2
  84. package/dist/components/Loader/tests/Loader.stories.js +52 -25
  85. package/dist/components/MenuItem/MenuItem.js +2 -2
  86. package/dist/components/MenuItem/MenuItem.module.css +1 -1
  87. package/dist/components/MenuItem/MenuItem.types.d.ts +1 -1
  88. package/dist/components/MenuItem/tests/MenuItem.stories.d.ts +37 -7
  89. package/dist/components/MenuItem/tests/MenuItem.stories.js +218 -112
  90. package/dist/components/Modal/Modal.js +1 -1
  91. package/dist/components/Modal/Modal.module.css +1 -1
  92. package/dist/components/Modal/tests/Modal.stories.d.ts +49 -10
  93. package/dist/components/Modal/tests/Modal.stories.js +350 -210
  94. package/dist/components/Overlay/Overlay.js +2 -1
  95. package/dist/components/Overlay/tests/Overlay.stories.d.ts +15 -1
  96. package/dist/components/Overlay/tests/Overlay.stories.js +135 -1
  97. package/dist/components/Pagination/tests/Pagination.stories.d.ts +14 -1
  98. package/dist/components/Pagination/tests/Pagination.stories.js +93 -15
  99. package/dist/components/PinField/tests/PinField.stories.d.ts +1 -1
  100. package/dist/components/PinField/tests/PinField.stories.js +1 -1
  101. package/dist/components/Popover/Popover.js +2 -2
  102. package/dist/components/Popover/Popover.module.css +1 -1
  103. package/dist/components/Popover/Popover.types.d.ts +3 -1
  104. package/dist/components/Progress/tests/Progress.stories.d.ts +19 -4
  105. package/dist/components/Progress/tests/Progress.stories.js +85 -49
  106. package/dist/components/Radio/Radio.module.css +1 -1
  107. package/dist/components/Radio/tests/Radio.stories.d.ts +25 -4
  108. package/dist/components/Radio/tests/Radio.stories.js +147 -65
  109. package/dist/components/RadioGroup/tests/RadioGroup.stories.d.ts +9 -2
  110. package/dist/components/RadioGroup/tests/RadioGroup.stories.js +64 -38
  111. package/dist/components/Reshaped/Reshaped.css +1 -1
  112. package/dist/components/Scrim/tests/Scrim.stories.d.ts +10 -2
  113. package/dist/components/Scrim/tests/Scrim.stories.js +51 -31
  114. package/dist/components/ScrollArea/ScrollArea.module.css +1 -1
  115. package/dist/components/Select/Select.d.ts +8 -1
  116. package/dist/components/Select/Select.js +22 -48
  117. package/dist/components/Select/Select.module.css +1 -1
  118. package/dist/components/Select/Select.types.d.ts +83 -38
  119. package/dist/components/Select/SelectCustom.d.ts +3 -0
  120. package/dist/components/Select/SelectCustom.js +12 -0
  121. package/dist/components/Select/SelectCustomControlled.d.ts +4 -0
  122. package/dist/components/Select/SelectCustomControlled.js +105 -0
  123. package/dist/components/Select/SelectCustomUncontrolled.d.ts +4 -0
  124. package/dist/components/Select/SelectCustomUncontrolled.js +18 -0
  125. package/dist/components/Select/SelectEndContent.d.ts +3 -0
  126. package/dist/components/Select/SelectEndContent.js +12 -0
  127. package/dist/components/Select/SelectNative.d.ts +4 -0
  128. package/dist/components/Select/SelectNative.js +29 -0
  129. package/dist/components/Select/SelectOption.d.ts +4 -0
  130. package/dist/components/Select/SelectOption.js +13 -0
  131. package/dist/components/Select/SelectOptionGroup.d.ts +4 -0
  132. package/dist/components/Select/SelectOptionGroup.js +9 -0
  133. package/dist/components/Select/SelectRoot.d.ts +4 -0
  134. package/dist/components/Select/SelectRoot.js +21 -0
  135. package/dist/components/Select/SelectStartContent.d.ts +3 -0
  136. package/dist/components/Select/SelectStartContent.js +20 -0
  137. package/dist/components/Select/SelectTrigger.d.ts +4 -0
  138. package/dist/components/Select/SelectTrigger.js +16 -0
  139. package/dist/components/Select/tests/Select.stories.d.ts +38 -10
  140. package/dist/components/Select/tests/Select.stories.js +504 -175
  141. package/dist/components/Skeleton/tests/Skeleton.stories.d.ts +10 -2
  142. package/dist/components/Skeleton/tests/Skeleton.stories.js +46 -28
  143. package/dist/components/Slider/Slider.module.css +1 -1
  144. package/dist/components/Stepper/Stepper.js +2 -2
  145. package/dist/components/Stepper/Stepper.types.d.ts +2 -0
  146. package/dist/components/Stepper/tests/Stepper.stories.d.ts +18 -3
  147. package/dist/components/Stepper/tests/Stepper.stories.js +99 -47
  148. package/dist/components/Switch/Switch.module.css +1 -1
  149. package/dist/components/Switch/tests/Switch.stories.d.ts +10 -2
  150. package/dist/components/Switch/tests/Switch.stories.js +77 -23
  151. package/dist/components/Switch/tests/Switch.test.stories.d.ts +0 -10
  152. package/dist/components/Switch/tests/Switch.test.stories.js +0 -68
  153. package/dist/components/Table/Table.js +5 -3
  154. package/dist/components/Table/Table.module.css +1 -1
  155. package/dist/components/Table/tests/Table.stories.d.ts +25 -5
  156. package/dist/components/Table/tests/Table.stories.js +274 -177
  157. package/dist/components/Tabs/Tabs.module.css +1 -1
  158. package/dist/components/Tabs/TabsControlled.js +1 -0
  159. package/dist/components/Tabs/TabsList.js +3 -20
  160. package/dist/components/Text/Text.module.css +1 -1
  161. package/dist/components/TextArea/TextArea.module.css +1 -1
  162. package/dist/components/TextArea/tests/TextArea.stories.d.ts +41 -9
  163. package/dist/components/TextArea/tests/TextArea.stories.js +179 -93
  164. package/dist/components/TextField/TextField.js +11 -3
  165. package/dist/components/TextField/TextField.module.css +1 -1
  166. package/dist/components/TextField/TextField.types.d.ts +5 -1
  167. package/dist/components/TextField/tests/TextField.stories.d.ts +41 -11
  168. package/dist/components/TextField/tests/TextField.stories.js +209 -129
  169. package/dist/components/Theme/Theme.module.css +1 -1
  170. package/dist/components/Timeline/Timeline.js +2 -2
  171. package/dist/components/Timeline/tests/Timeline.stories.d.ts +10 -2
  172. package/dist/components/Timeline/tests/Timeline.stories.js +69 -45
  173. package/dist/components/Toast/ToastContainer.js +1 -0
  174. package/dist/components/Toast/ToastRegion.js +1 -0
  175. package/dist/components/Toast/tests/Toast.stories.d.ts +32 -8
  176. package/dist/components/Toast/tests/Toast.stories.js +111 -37
  177. package/dist/components/ToggleButton/ToggleButton.types.d.ts +5 -1
  178. package/dist/components/ToggleButton/ToggleButtonControlled.js +9 -2
  179. package/dist/components/ToggleButton/tests/ToggleButton.stories.d.ts +4 -0
  180. package/dist/components/ToggleButton/tests/ToggleButton.stories.js +10 -0
  181. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.types.d.ts +10 -0
  182. package/dist/components/ToggleButtonGroup/ToggleButtonGroupControlled.js +6 -41
  183. package/dist/components/ToggleButtonGroup/tests/ToggleButtonGroup.stories.d.ts +1 -0
  184. package/dist/components/ToggleButtonGroup/tests/ToggleButtonGroup.stories.js +17 -0
  185. package/dist/components/Tooltip/Tooltip.js +1 -1
  186. package/dist/components/Tooltip/Tooltip.types.d.ts +2 -2
  187. package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +18 -4
  188. package/dist/components/Tooltip/tests/Tooltip.stories.js +139 -107
  189. package/dist/components/View/View.js +11 -4
  190. package/dist/components/View/View.types.d.ts +1 -1
  191. package/dist/components/View/tests/View.stories.d.ts +4 -0
  192. package/dist/components/View/tests/View.stories.js +39 -0
  193. package/dist/components/_private/Expandable/Expandable.js +3 -1
  194. package/dist/components/_private/Portal/Portal.js +4 -1
  195. package/dist/hooks/_private/useIsDismissible.d.ts +1 -0
  196. package/dist/hooks/_private/useIsDismissible.js +6 -6
  197. package/dist/hooks/_private/usePrevious.js +1 -0
  198. package/dist/hooks/tests/useDrag.stories.js +1 -1
  199. package/dist/{components/Toast/tests/Toast.test.stories.d.ts → hooks/tests/useKeyboardArrowNavigation.stories.d.ts} +4 -5
  200. package/dist/hooks/tests/useKeyboardArrowNavigation.stories.js +128 -0
  201. package/dist/hooks/useKeyboardArrowNavigation.d.ts +9 -0
  202. package/dist/hooks/useKeyboardArrowNavigation.js +62 -0
  203. package/dist/hooks/useOnClickOutside.js +0 -2
  204. package/dist/hooks/useScrollLock.js +5 -3
  205. package/dist/index.d.ts +2 -1
  206. package/dist/index.js +1 -0
  207. package/dist/styles/resolvers/align/align.css +1 -1
  208. package/dist/styles/resolvers/aspectRatio/aspectRatio.css +1 -1
  209. package/dist/styles/resolvers/bleed/bleed.module.css +1 -1
  210. package/dist/styles/resolvers/justify/justify.css +1 -1
  211. package/dist/styles/resolvers/maxHeight/maxHeight.module.css +1 -1
  212. package/dist/styles/resolvers/maxWidth/maxWidth.module.css +1 -1
  213. package/dist/styles/resolvers/minHeight/minHeight.module.css +1 -1
  214. package/dist/styles/resolvers/minWidth/minWidth.module.css +1 -1
  215. package/dist/styles/resolvers/position/position.css +1 -1
  216. package/dist/styles/resolvers/textAlign/textAlign.css +1 -1
  217. package/dist/styles/resolvers/width/width.module.css +1 -1
  218. package/dist/utilities/a11y/focus.d.ts +21 -4
  219. package/dist/utilities/a11y/focus.js +4 -3
  220. package/dist/utilities/scroll/disable.js +2 -2
  221. package/dist/utilities/scroll/index.d.ts +1 -1
  222. package/dist/utilities/scroll/index.js +1 -1
  223. package/dist/utilities/scroll/lock.d.ts +1 -2
  224. package/dist/utilities/scroll/lock.js +16 -15
  225. package/dist/utilities/scroll/lockSafari.js +1 -0
  226. package/package.json +195 -201
  227. package/CHANGELOG-extra.md +0 -3
  228. package/CHANGELOG.md +0 -57
  229. package/dist/components/Actionable/tests/Actionable.test.stories.d.ts +0 -32
  230. package/dist/components/Actionable/tests/Actionable.test.stories.js +0 -130
  231. package/dist/components/Alert/tests/Alert.test.stories.d.ts +0 -15
  232. package/dist/components/Alert/tests/Alert.test.stories.js +0 -26
  233. package/dist/components/Badge/tests/Badge.test.stories.d.ts +0 -20
  234. package/dist/components/Badge/tests/Badge.test.stories.js +0 -46
  235. package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.d.ts +0 -23
  236. package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.js +0 -76
  237. package/dist/components/Button/tests/Button.test.stories.d.ts +0 -27
  238. package/dist/components/Button/tests/Button.test.stories.js +0 -112
  239. package/dist/components/Card/tests/Card.test.stories.d.ts +0 -35
  240. package/dist/components/Card/tests/Card.test.stories.js +0 -54
  241. package/dist/components/Checkbox/tests/Checkbox.test.stories.d.ts +0 -25
  242. package/dist/components/Checkbox/tests/Checkbox.test.stories.js +0 -104
  243. package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.d.ts +0 -22
  244. package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.js +0 -78
  245. package/dist/components/Container/tests/Container.test.stories.d.ts +0 -15
  246. package/dist/components/Container/tests/Container.test.stories.js +0 -26
  247. package/dist/components/ContextMenu/tests/ContextMenu.test.stories.d.ts +0 -25
  248. package/dist/components/ContextMenu/tests/ContextMenu.test.stories.js +0 -53
  249. package/dist/components/Dismissible/tests/Dismissible.test.stories.d.ts +0 -19
  250. package/dist/components/Dismissible/tests/Dismissible.test.stories.js +0 -42
  251. package/dist/components/Divider/tests/Divider.test.stories.d.ts +0 -18
  252. package/dist/components/Divider/tests/Divider.test.stories.js +0 -47
  253. package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.d.ts +0 -36
  254. package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.js +0 -117
  255. package/dist/components/FormControl/tests/FormControl.test.stories.d.ts +0 -20
  256. package/dist/components/FormControl/tests/FormControl.test.stories.js +0 -49
  257. package/dist/components/Hidden/tests/Hidden.test.stories.d.ts +0 -15
  258. package/dist/components/Hidden/tests/Hidden.test.stories.js +0 -20
  259. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.d.ts +0 -15
  260. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.js +0 -20
  261. package/dist/components/Hotkey/tests/Hotkey.test.stories.d.ts +0 -15
  262. package/dist/components/Hotkey/tests/Hotkey.test.stories.js +0 -26
  263. package/dist/components/Icon/tests/Icon.test.stories.d.ts +0 -16
  264. package/dist/components/Icon/tests/Icon.test.stories.js +0 -35
  265. package/dist/components/Link/tests/Link.test.stories.d.ts +0 -29
  266. package/dist/components/Link/tests/Link.test.stories.js +0 -87
  267. package/dist/components/Loader/tests/Loader.test.stories.d.ts +0 -16
  268. package/dist/components/Loader/tests/Loader.test.stories.js +0 -32
  269. package/dist/components/MenuItem/tests/MenuItem.test.stories.d.ts +0 -26
  270. package/dist/components/MenuItem/tests/MenuItem.test.stories.js +0 -100
  271. package/dist/components/Modal/tests/Modal.test.stories.d.ts +0 -31
  272. package/dist/components/Modal/tests/Modal.test.stories.js +0 -149
  273. package/dist/components/Overlay/tests/Overlay.test.stories.d.ts +0 -28
  274. package/dist/components/Overlay/tests/Overlay.test.stories.js +0 -148
  275. package/dist/components/Pagination/tests/Pagination.test.stories.d.ts +0 -23
  276. package/dist/components/Pagination/tests/Pagination.test.stories.js +0 -86
  277. package/dist/components/Progress/tests/Progress.test.stories.d.ts +0 -16
  278. package/dist/components/Progress/tests/Progress.test.stories.js +0 -35
  279. package/dist/components/Radio/tests/Radio.test.stories.d.ts +0 -30
  280. package/dist/components/Radio/tests/Radio.test.stories.js +0 -118
  281. package/dist/components/RadioGroup/tests/RadioGroup.test.stories.d.ts +0 -22
  282. package/dist/components/RadioGroup/tests/RadioGroup.test.stories.js +0 -78
  283. package/dist/components/Scrim/tests/Scrim.test.stories.d.ts +0 -15
  284. package/dist/components/Scrim/tests/Scrim.test.stories.js +0 -25
  285. package/dist/components/Select/tests/Select.test.stories.d.ts +0 -27
  286. package/dist/components/Select/tests/Select.test.stories.js +0 -132
  287. package/dist/components/Skeleton/tests/Skeleton.test.stories.d.ts +0 -15
  288. package/dist/components/Skeleton/tests/Skeleton.test.stories.js +0 -23
  289. package/dist/components/Stepper/tests/Stepper.test.stories.d.ts +0 -20
  290. package/dist/components/Stepper/tests/Stepper.test.stories.js +0 -28
  291. package/dist/components/Table/tests/Table.test.stories.d.ts +0 -24
  292. package/dist/components/Table/tests/Table.test.stories.js +0 -93
  293. package/dist/components/TextArea/tests/TextArea.test.stories.d.ts +0 -28
  294. package/dist/components/TextArea/tests/TextArea.test.stories.js +0 -99
  295. package/dist/components/TextField/tests/TextField.test.stories.d.ts +0 -28
  296. package/dist/components/TextField/tests/TextField.test.stories.js +0 -99
  297. package/dist/components/Timeline/tests/Timeline.test.stories.d.ts +0 -17
  298. package/dist/components/Timeline/tests/Timeline.test.stories.js +0 -32
  299. package/dist/components/Toast/tests/Toast.test.stories.js +0 -101
  300. package/dist/components/Tooltip/tests/Tooltip.test.stories.d.ts +0 -19
  301. package/dist/components/Tooltip/tests/Tooltip.test.stories.js +0 -40
  302. package/dist/components/View/tests/View.test.stories.d.ts +0 -24
  303. package/dist/components/View/tests/View.test.stories.js +0 -50
@@ -1,26 +0,0 @@
1
- import { expect } from "storybook/test";
2
- import Hotkey from "../Hotkey.js";
3
- export default {
4
- title: "Components/Hotkey/tests",
5
- component: Hotkey,
6
- parameters: {
7
- iframe: {
8
- url: "https://reshaped.so/docs/components/hotkey",
9
- },
10
- chromatic: { disableSnapshot: true },
11
- },
12
- };
13
- export const className = {
14
- name: "className, attributes",
15
- render: () => (<div data-testid="root">
16
- <Hotkey className="test-classname" attributes={{ id: "test-id" }}>
17
- ⌘K
18
- </Hotkey>
19
- </div>),
20
- play: async ({ canvas }) => {
21
- const root = canvas.getByTestId("root").firstChild;
22
- expect(root).toHaveClass("test-classname");
23
- expect(root).toHaveAttribute("id", "test-id");
24
- expect(root?.tagName).toBe("KBD");
25
- },
26
- };
@@ -1,16 +0,0 @@
1
- import { StoryObj } from "@storybook/react-vite";
2
- declare const _default: {
3
- title: string;
4
- component: import("react").FC<import("./..").IconProps>;
5
- parameters: {
6
- iframe: {
7
- url: string;
8
- };
9
- chromatic: {
10
- disableSnapshot: boolean;
11
- };
12
- };
13
- };
14
- export default _default;
15
- export declare const render: StoryObj;
16
- export declare const className: StoryObj;
@@ -1,35 +0,0 @@
1
- import { expect } from "storybook/test";
2
- import Icon from "../index.js";
3
- import IconZap from "../../../icons/Zap.js";
4
- export default {
5
- title: "Utility components/Icon/tests",
6
- component: Icon,
7
- parameters: {
8
- iframe: {
9
- url: "https://reshaped.so/docs/utilities/icon",
10
- },
11
- chromatic: { disableSnapshot: true },
12
- },
13
- };
14
- export const render = {
15
- name: "render, hidden from sr",
16
- render: () => (<div data-testid="root">
17
- <Icon svg={IconZap}/>
18
- </div>),
19
- play: ({ canvas }) => {
20
- const root = canvas.getByTestId("root").firstChild;
21
- expect(root).toBeInTheDocument();
22
- expect(root).toHaveAttribute("aria-hidden");
23
- },
24
- };
25
- export const className = {
26
- name: "className, attributes",
27
- render: () => (<div data-testid="root">
28
- <Icon svg={IconZap} className="test-classname" attributes={{ id: "test-id" }}/>
29
- </div>),
30
- play: async ({ canvas }) => {
31
- const root = canvas.getByTestId("root").firstChild;
32
- expect(root).toHaveClass("test-classname");
33
- expect(root).toHaveAttribute("id", "test-id");
34
- },
35
- };
@@ -1,29 +0,0 @@
1
- import { StoryObj } from "@storybook/react-vite";
2
- import { fn } from "storybook/test";
3
- declare const _default: {
4
- title: string;
5
- component: import("react").ForwardRefExoticComponent<Pick<import("../../Actionable").ActionableProps, "children" | "disabled" | "className" | "attributes" | "type" | "onClick" | "href" | "stopPropagation"> & {
6
- icon?: import("../../Icon").IconProps["svg"];
7
- color?: "inherit" | "critical" | "primary" | "positive" | "warning";
8
- variant?: "plain" | "underline";
9
- } & import("react").RefAttributes<import("../../Actionable").ActionableRef>>;
10
- parameters: {
11
- iframe: {
12
- url: string;
13
- };
14
- chromatic: {
15
- disableSnapshot: boolean;
16
- };
17
- };
18
- };
19
- export default _default;
20
- export declare const children: StoryObj;
21
- export declare const href: StoryObj;
22
- export declare const onClick: StoryObj<{
23
- handleClick: ReturnType<typeof fn>;
24
- }>;
25
- export declare const hrefOnClick: StoryObj<{
26
- handleClick: ReturnType<typeof fn>;
27
- }>;
28
- export declare const disabled: StoryObj;
29
- export declare const className: StoryObj;
@@ -1,87 +0,0 @@
1
- import { userEvent, expect, fn } from "storybook/test";
2
- import Link from "../index.js";
3
- export default {
4
- title: "Components/Link/tests",
5
- component: Link,
6
- parameters: {
7
- iframe: {
8
- url: "https://reshaped.so/docs/components/breadcrumbs",
9
- },
10
- chromatic: { disableSnapshot: true },
11
- },
12
- };
13
- export const children = {
14
- name: "children",
15
- render: () => <Link>Trigger</Link>,
16
- play: async ({ canvas }) => {
17
- const el = canvas.getByText("Trigger");
18
- expect(el).toBeInTheDocument();
19
- expect(el.tagName).toBe("SPAN");
20
- },
21
- };
22
- export const href = {
23
- name: "href",
24
- render: () => <Link href="https://reshaped.so">Trigger</Link>,
25
- play: async ({ canvas }) => {
26
- const el = canvas.getByRole("link");
27
- expect(el).toHaveAttribute("href", "https://reshaped.so");
28
- },
29
- };
30
- export const onClick = {
31
- name: "onClick",
32
- args: {
33
- handleClick: fn(),
34
- },
35
- render: (args) => <Link onClick={args.handleClick}>Trigger</Link>,
36
- play: async ({ canvas, args }) => {
37
- const { handleClick } = args;
38
- const el = canvas.getAllByRole("button")[0];
39
- await userEvent.click(el);
40
- expect(el).toHaveAttribute("type", "button");
41
- expect(handleClick).toHaveBeenCalledTimes(1);
42
- expect(handleClick).toHaveBeenCalledWith(expect.objectContaining({ target: el }));
43
- },
44
- };
45
- export const hrefOnClick = {
46
- name: "href + onClick",
47
- args: {
48
- handleClick: fn(),
49
- },
50
- render: (args) => (<Link onClick={(e) => {
51
- e.preventDefault();
52
- args.handleClick(e);
53
- }} href="https://reshaped.so">
54
- Trigger
55
- </Link>),
56
- play: async ({ canvas, args }) => {
57
- const { handleClick } = args;
58
- const el = canvas.getByRole("link");
59
- await userEvent.click(el);
60
- expect(el).toHaveAttribute("href", "https://reshaped.so");
61
- expect(handleClick).toHaveBeenCalledTimes(1);
62
- expect(handleClick).toHaveBeenCalledWith(expect.objectContaining({ target: el }));
63
- },
64
- };
65
- export const disabled = {
66
- name: "disabled",
67
- render: () => (<Link disabled onClick={() => { }}>
68
- Trigger
69
- </Link>),
70
- play: async ({ canvas }) => {
71
- const el = canvas.getAllByRole("button")[0];
72
- expect(el).toBeDisabled();
73
- },
74
- };
75
- export const className = {
76
- name: "className, attributes",
77
- render: () => (<div data-testid="root">
78
- <Link className="test-classname" attributes={{ id: "test-id" }}>
79
- Trigger
80
- </Link>
81
- </div>),
82
- play: async ({ canvas }) => {
83
- const root = canvas.getByTestId("root").firstChild;
84
- expect(root).toHaveClass("test-classname");
85
- expect(root).toHaveAttribute("id", "test-id");
86
- },
87
- };
@@ -1,16 +0,0 @@
1
- import { StoryObj } from "@storybook/react-vite";
2
- declare const _default: {
3
- title: string;
4
- component: import("react").FC<import("./..").LoaderProps>;
5
- parameters: {
6
- iframe: {
7
- url: string;
8
- };
9
- chromatic: {
10
- disableSnapshot: boolean;
11
- };
12
- };
13
- };
14
- export default _default;
15
- export declare const ariaLabel: StoryObj;
16
- export declare const className: StoryObj;
@@ -1,32 +0,0 @@
1
- import { expect } from "storybook/test";
2
- import Loader from "../index.js";
3
- export default {
4
- title: "Components/Loader/tests",
5
- component: Loader,
6
- parameters: {
7
- iframe: {
8
- url: "https://reshaped.so/docs/components/loader",
9
- },
10
- chromatic: { disableSnapshot: true },
11
- },
12
- };
13
- export const ariaLabel = {
14
- name: "ariaLabel",
15
- render: () => <Loader ariaLabel="Loading" attributes={{ "data-testid": "root" }}/>,
16
- play: async ({ canvas }) => {
17
- const root = canvas.getByTestId("root");
18
- expect(root).toHaveAttribute("aria-live", "assertive");
19
- expect(root).toHaveAttribute("aria-label", "Loading");
20
- },
21
- };
22
- export const className = {
23
- name: "className, attributes",
24
- render: () => (<div data-testid="root">
25
- <Loader className="test-classname" attributes={{ id: "test-id" }} ariaLabel="Loading"/>
26
- </div>),
27
- play: async ({ canvas }) => {
28
- const root = canvas.getByTestId("root").firstChild;
29
- expect(root).toHaveClass("test-classname");
30
- expect(root).toHaveAttribute("id", "test-id");
31
- },
32
- };
@@ -1,26 +0,0 @@
1
- import { StoryObj } from "@storybook/react-vite";
2
- import { fn } from "storybook/test";
3
- declare const _default: {
4
- title: string;
5
- component: import("../MenuItem.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 children: StoryObj;
17
- export declare const href: StoryObj;
18
- export declare const onClick: StoryObj<{
19
- handleClick: ReturnType<typeof fn>;
20
- }>;
21
- export declare const hrefOnClick: StoryObj<{
22
- handleClick: ReturnType<typeof fn>;
23
- }>;
24
- export declare const disabled: StoryObj;
25
- export declare const className: StoryObj;
26
- export declare const alignerClassName: StoryObj;
@@ -1,100 +0,0 @@
1
- import { userEvent, expect, fn } from "storybook/test";
2
- import MenuItem from "../index.js";
3
- export default {
4
- title: "Components/MenuItem/tests",
5
- component: MenuItem,
6
- parameters: {
7
- iframe: {
8
- url: "https://reshaped.so/docs/components/menu-item",
9
- },
10
- chromatic: { disableSnapshot: true },
11
- },
12
- };
13
- export const children = {
14
- name: "children",
15
- render: () => <MenuItem>Trigger</MenuItem>,
16
- play: async ({ canvas }) => {
17
- const el = canvas.getByText("Trigger");
18
- expect(el).toBeInTheDocument();
19
- expect(el.tagName).toBe("DIV");
20
- },
21
- };
22
- export const href = {
23
- name: "href",
24
- render: () => <MenuItem href="https://reshaped.so">Trigger</MenuItem>,
25
- play: async ({ canvas }) => {
26
- const el = canvas.getByRole("link");
27
- expect(el).toHaveAttribute("href", "https://reshaped.so");
28
- },
29
- };
30
- export const onClick = {
31
- name: "onClick",
32
- args: {
33
- handleClick: fn(),
34
- },
35
- render: (args) => <MenuItem onClick={args.handleClick}>Trigger</MenuItem>,
36
- play: async ({ canvas, args }) => {
37
- const { handleClick } = args;
38
- const el = canvas.getAllByRole("button")[0];
39
- await userEvent.click(el);
40
- expect(el).toHaveAttribute("type", "button");
41
- expect(handleClick).toHaveBeenCalledTimes(1);
42
- expect(handleClick).toHaveBeenCalledWith(expect.objectContaining({ target: el }));
43
- },
44
- };
45
- export const hrefOnClick = {
46
- name: "href + onClick",
47
- args: {
48
- handleClick: fn(),
49
- },
50
- render: (args) => (<MenuItem onClick={(e) => {
51
- e.preventDefault();
52
- args.handleClick(e);
53
- }} href="https://reshaped.so">
54
- Trigger
55
- </MenuItem>),
56
- play: async ({ canvas, args }) => {
57
- const { handleClick } = args;
58
- const el = canvas.getByRole("link");
59
- await userEvent.click(el);
60
- expect(el).toHaveAttribute("href", "https://reshaped.so");
61
- expect(handleClick).toHaveBeenCalledTimes(1);
62
- expect(handleClick).toHaveBeenCalledWith(expect.objectContaining({ target: el }));
63
- },
64
- };
65
- export const disabled = {
66
- name: "disabled",
67
- render: () => (<MenuItem disabled onClick={() => { }}>
68
- Trigger
69
- </MenuItem>),
70
- play: async ({ canvas }) => {
71
- const el = canvas.getAllByRole("button")[0];
72
- expect(el).toBeDisabled();
73
- },
74
- };
75
- export const className = {
76
- name: "className, attributes",
77
- render: () => (<div data-testid="root">
78
- <MenuItem className="test-classname" attributes={{ id: "test-id" }}>
79
- Trigger
80
- </MenuItem>
81
- </div>),
82
- play: async ({ canvas }) => {
83
- const root = canvas.getByTestId("root").firstChild;
84
- expect(root).toHaveClass("test-classname");
85
- expect(root).toHaveAttribute("id", "test-id");
86
- },
87
- };
88
- export const alignerClassName = {
89
- name: "aligner, className, attributes",
90
- render: () => (<div data-testid="root">
91
- <MenuItem.Aligner className="test-classname" attributes={{ id: "test-id" }}>
92
- <MenuItem>Trigger</MenuItem>
93
- </MenuItem.Aligner>
94
- </div>),
95
- play: async ({ canvas }) => {
96
- const root = canvas.getByTestId("root").firstChild;
97
- expect(root).toHaveClass("test-classname");
98
- expect(root).toHaveAttribute("id", "test-id");
99
- },
100
- };
@@ -1,31 +0,0 @@
1
- import React from "react";
2
- import { StoryObj } from "@storybook/react-vite";
3
- import { fn } from "storybook/test";
4
- declare const _default: {
5
- title: string;
6
- component: React.FC<import("./..").ModalProps> & {
7
- Title: React.FC<import("../Modal.types").TitleProps>;
8
- Subtitle: React.FC<import("../Modal.types").SubtitleProps>;
9
- };
10
- parameters: {
11
- iframe: {
12
- url: string;
13
- };
14
- chromatic: {
15
- disableSnapshot: boolean;
16
- };
17
- };
18
- };
19
- export default _default;
20
- export declare const renderProps: StoryObj;
21
- export declare const handlers: StoryObj<{
22
- handleOpen: ReturnType<typeof fn>;
23
- handleAfterOpen: ReturnType<typeof fn>;
24
- handleClose: ReturnType<typeof fn>;
25
- handleAfterClose: ReturnType<typeof fn>;
26
- }>;
27
- export declare const disableCloseOnClick: StoryObj<{
28
- handleClose: ReturnType<typeof fn>;
29
- }>;
30
- export declare const containerRef: StoryObj;
31
- export declare const className: StoryObj;
@@ -1,149 +0,0 @@
1
- import React from "react";
2
- import { within, expect, fn, userEvent, waitFor } from "storybook/test";
3
- import Button from "../../Button/index.js";
4
- import Modal from "../index.js";
5
- import useToggle from "../../../hooks/useToggle.js";
6
- import { sleep } from "../../../utilities/helpers.js";
7
- export default {
8
- title: "Components/Modal/tests",
9
- component: Modal,
10
- parameters: {
11
- iframe: {
12
- url: "https://reshaped.so/docs/components/modal",
13
- },
14
- chromatic: { disableSnapshot: true },
15
- },
16
- };
17
- export const renderProps = {
18
- name: "children, render props",
19
- render: () => (<Modal active className="test-classname" attributes={{ "data-testid": "test-id" }}>
20
- <Modal.Title>Title</Modal.Title>
21
- Content
22
- </Modal>),
23
- play: async ({ canvasElement }) => {
24
- const canvas = within(canvasElement.ownerDocument.body);
25
- const root = canvas.getByText("Content");
26
- expect(root).toBeInTheDocument();
27
- },
28
- };
29
- export const handlers = {
30
- name: "onOpen, onClose, onAfterOpen, onAfterClose",
31
- args: {
32
- handleOpen: fn(),
33
- handleClose: fn(),
34
- handleAfterClose: fn(),
35
- handleAfterOpen: fn(),
36
- },
37
- render: (args) => {
38
- const overlayToggle = useToggle();
39
- return (<>
40
- <Button onClick={() => overlayToggle.toggle()}>Open overlay</Button>
41
- <Modal active={overlayToggle.active} onClose={(closeArgs) => {
42
- overlayToggle.deactivate();
43
- args.handleClose(closeArgs);
44
- }} onOpen={args.handleOpen} onAfterOpen={args.handleAfterOpen} onAfterClose={args.handleAfterClose}>
45
- <Modal.Title>Title</Modal.Title>
46
- Content
47
- </Modal>
48
- </>);
49
- },
50
- play: async ({ canvasElement, args }) => {
51
- const canvas = within(canvasElement.ownerDocument.body);
52
- const trigger = canvas.getAllByRole("button")[0];
53
- let overlay;
54
- await userEvent.click(trigger);
55
- overlay = canvas.getByText("Content");
56
- await waitFor(() => {
57
- expect(args.handleOpen).toHaveBeenCalledTimes(1);
58
- expect(args.handleOpen).toHaveBeenCalledWith();
59
- });
60
- // Wait for transition
61
- await waitFor(() => {
62
- expect(args.handleAfterOpen).toHaveBeenCalledTimes(1);
63
- expect(args.handleAfterOpen).toHaveBeenCalledWith();
64
- });
65
- // Close by changing the state after the trigger click
66
- await userEvent.click(trigger);
67
- // Wait for transition
68
- await waitFor(() => {
69
- // Changing state doesn't trigger onClose
70
- expect(args.handleClose).toHaveBeenCalledTimes(0);
71
- expect(args.handleAfterClose).toHaveBeenCalledTimes(1);
72
- expect(args.handleAfterClose).toHaveBeenCalledWith();
73
- });
74
- // Open
75
- await userEvent.click(trigger);
76
- await sleep(100);
77
- overlay = canvas.getAllByRole("button", { hidden: true }).at(-1);
78
- // Close by clicking on the overlay
79
- await userEvent.click(overlay);
80
- await waitFor(() => {
81
- expect(args.handleClose).toHaveBeenCalledTimes(1);
82
- expect(args.handleClose).toHaveBeenCalledWith({ reason: "overlay-click" });
83
- expect(args.handleAfterClose).toHaveBeenCalledTimes(2);
84
- expect(args.handleAfterClose).toHaveBeenCalledWith();
85
- });
86
- // Open
87
- await userEvent.click(trigger);
88
- await sleep(100);
89
- // Close by pressing Escape
90
- await userEvent.keyboard("{Escape}");
91
- await waitFor(() => {
92
- expect(args.handleClose).toHaveBeenCalledTimes(2);
93
- expect(args.handleClose).toHaveBeenCalledWith({ reason: "escape-key" });
94
- expect(args.handleAfterClose).toHaveBeenCalledTimes(3);
95
- expect(args.handleAfterClose).toHaveBeenCalledWith();
96
- });
97
- },
98
- };
99
- export const disableCloseOnClick = {
100
- name: "disableCloseOnOutsideClick",
101
- args: {
102
- handleClose: fn(),
103
- },
104
- render: (args) => (<Modal active disableCloseOnOutsideClick onClose={(closeArgs) => {
105
- args.handleClose(closeArgs);
106
- }}>
107
- <Modal.Title>Title</Modal.Title>
108
- Content
109
- </Modal>),
110
- play: async ({ canvasElement, args }) => {
111
- const canvas = within(canvasElement.ownerDocument.body);
112
- const overlay = canvas.getByText("Content");
113
- await userEvent.click(overlay);
114
- expect(args.handleClose).toHaveBeenCalledTimes(0);
115
- await userEvent.keyboard("{Escape}");
116
- expect(args.handleClose).toHaveBeenCalledTimes(1);
117
- },
118
- };
119
- export const containerRef = {
120
- name: "containerRef",
121
- render: () => {
122
- const containerRef = React.useRef(null);
123
- return (<>
124
- <div ref={containerRef} data-testid="test-id" style={{ height: 200 }}/>
125
- <Modal active containerRef={containerRef}>
126
- <Modal.Title>Title</Modal.Title>
127
- Content
128
- </Modal>
129
- </>);
130
- },
131
- play: ({ canvasElement }) => {
132
- const canvas = within(canvasElement.ownerDocument.body);
133
- const container = canvas.getByTestId("test-id");
134
- const overlay = canvas.getByText("Content");
135
- expect(container).toContainElement(overlay);
136
- },
137
- };
138
- export const className = {
139
- name: "className, attributes",
140
- render: () => (<Modal active className="test-classname" attributes={{ "data-testid": "test-id" }}>
141
- <Modal.Title>Title</Modal.Title>
142
- Content
143
- </Modal>),
144
- play: async ({ canvasElement }) => {
145
- const canvas = within(canvasElement.ownerDocument.body);
146
- const root = canvas.getByTestId("test-id");
147
- expect(root).toHaveClass("test-classname");
148
- },
149
- };
@@ -1,28 +0,0 @@
1
- import React from "react";
2
- import { StoryObj } from "@storybook/react-vite";
3
- import { fn } from "storybook/test";
4
- declare const _default: {
5
- title: string;
6
- component: React.FC<import("./..").OverlayProps>;
7
- parameters: {
8
- iframe: {
9
- url: string;
10
- };
11
- chromatic: {
12
- disableSnapshot: boolean;
13
- };
14
- };
15
- };
16
- export default _default;
17
- export declare const renderProps: StoryObj;
18
- export declare const handlers: StoryObj<{
19
- handleOpen: ReturnType<typeof fn>;
20
- handleAfterOpen: ReturnType<typeof fn>;
21
- handleClose: ReturnType<typeof fn>;
22
- handleAfterClose: ReturnType<typeof fn>;
23
- }>;
24
- export declare const disableCloseOnClick: StoryObj<{
25
- handleClose: ReturnType<typeof fn>;
26
- }>;
27
- export declare const containerRef: StoryObj;
28
- export declare const className: StoryObj;