reshaped 3.4.2 → 3.4.3

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 (368) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/bundle.d.ts +8 -6
  3. package/dist/bundle.js +11 -11
  4. package/dist/components/Accordion/Accordion.d.ts +9 -2
  5. package/dist/components/Accordion/Accordion.js +1 -0
  6. package/dist/components/Accordion/AccordionContent.d.ts +4 -1
  7. package/dist/components/Accordion/AccordionContent.js +1 -0
  8. package/dist/components/Accordion/AccordionControlled.d.ts +4 -1
  9. package/dist/components/Accordion/AccordionControlled.js +1 -0
  10. package/dist/components/Accordion/AccordionTrigger.d.ts +4 -1
  11. package/dist/components/Accordion/AccordionTrigger.js +1 -0
  12. package/dist/components/Accordion/AccordionUncontrolled.d.ts +4 -1
  13. package/dist/components/Accordion/AccordionUncontrolled.js +1 -0
  14. package/dist/components/Accordion/tests/Accordion.stories.d.ts +9 -2
  15. package/dist/components/Accordion/tests/Accordion.stories.js +1 -1
  16. package/dist/components/ActionBar/ActionBar.d.ts +4 -1
  17. package/dist/components/ActionBar/ActionBar.js +1 -0
  18. package/dist/components/ActionBar/tests/ActionBar.stories.d.ts +4 -1
  19. package/dist/components/ActionBar/tests/ActionBar.test.stories.d.ts +4 -1
  20. package/dist/components/Actionable/Actionable.js +1 -0
  21. package/dist/components/Actionable/tests/Actionable.stories.js +1 -1
  22. package/dist/components/Actionable/tests/Actionable.test.stories.js +1 -1
  23. package/dist/components/Alert/Alert.d.ts +4 -1
  24. package/dist/components/Alert/Alert.js +1 -0
  25. package/dist/components/Alert/tests/Alert.stories.d.ts +4 -1
  26. package/dist/components/Alert/tests/Alert.test.stories.d.ts +4 -1
  27. package/dist/components/Autocomplete/Autocomplete.d.ts +5 -1
  28. package/dist/components/Autocomplete/Autocomplete.js +2 -0
  29. package/dist/components/Autocomplete/tests/Autocomplete.stories.d.ts +5 -1
  30. package/dist/components/Autocomplete/tests/Autocomplete.test.stories.d.ts +5 -1
  31. package/dist/components/Avatar/Avatar.d.ts +4 -1
  32. package/dist/components/Avatar/Avatar.js +1 -0
  33. package/dist/components/Avatar/tests/Avatar.stories.d.ts +4 -1
  34. package/dist/components/Avatar/tests/Avatar.test.stories.d.ts +4 -1
  35. package/dist/components/Badge/Badge.js +1 -0
  36. package/dist/components/Badge/BadgeContainer.d.ts +4 -1
  37. package/dist/components/Badge/BadgeContainer.js +1 -0
  38. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -1
  39. package/dist/components/Breadcrumbs/Breadcrumbs.js +1 -0
  40. package/dist/components/Breadcrumbs/BreadcrumbsItem.d.ts +4 -1
  41. package/dist/components/Breadcrumbs/BreadcrumbsItem.js +1 -0
  42. package/dist/components/Breadcrumbs/index.d.ts +4 -1
  43. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +8 -2
  44. package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.d.ts +8 -2
  45. package/dist/components/Button/Button.js +1 -0
  46. package/dist/components/Button/ButtonAligner.d.ts +4 -1
  47. package/dist/components/Button/ButtonAligner.js +1 -0
  48. package/dist/components/Button/ButtonGroup.d.ts +4 -1
  49. package/dist/components/Button/ButtonGroup.js +1 -0
  50. package/dist/components/Calendar/Calendar.d.ts +4 -1
  51. package/dist/components/Calendar/Calendar.js +1 -0
  52. package/dist/components/Calendar/CalendarControlled.d.ts +4 -1
  53. package/dist/components/Calendar/CalendarControlled.js +1 -0
  54. package/dist/components/Calendar/CalendarControls.d.ts +4 -1
  55. package/dist/components/Calendar/CalendarControls.js +1 -0
  56. package/dist/components/Calendar/CalendarDate.d.ts +4 -1
  57. package/dist/components/Calendar/CalendarDate.js +1 -0
  58. package/dist/components/Calendar/CalendarMonth.d.ts +4 -1
  59. package/dist/components/Calendar/CalendarMonth.js +1 -0
  60. package/dist/components/Calendar/CalendarUncontrolled.d.ts +4 -1
  61. package/dist/components/Calendar/CalendarUncontrolled.js +1 -0
  62. package/dist/components/Calendar/CalendarYear.d.ts +4 -1
  63. package/dist/components/Calendar/CalendarYear.js +1 -0
  64. package/dist/components/Calendar/tests/Calendar.stories.d.ts +4 -1
  65. package/dist/components/Card/Card.js +1 -0
  66. package/dist/components/Carousel/Carousel.d.ts +4 -1
  67. package/dist/components/Carousel/Carousel.js +1 -0
  68. package/dist/components/Carousel/CarouselControl.d.ts +4 -1
  69. package/dist/components/Carousel/CarouselControl.js +1 -0
  70. package/dist/components/Carousel/tests/Carousel.stories.d.ts +4 -1
  71. package/dist/components/Checkbox/Checkbox.d.ts +4 -1
  72. package/dist/components/Checkbox/Checkbox.js +1 -0
  73. package/dist/components/Checkbox/tests/Checkbox.stories.d.ts +4 -1
  74. package/dist/components/Checkbox/tests/Checkbox.test.stories.d.ts +4 -1
  75. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +4 -1
  76. package/dist/components/CheckboxGroup/CheckboxGroup.js +1 -0
  77. package/dist/components/CheckboxGroup/CheckboxGroupControlled.d.ts +4 -1
  78. package/dist/components/CheckboxGroup/CheckboxGroupControlled.js +1 -0
  79. package/dist/components/CheckboxGroup/CheckboxGroupUncontrolled.d.ts +4 -1
  80. package/dist/components/CheckboxGroup/CheckboxGroupUncontrolled.js +1 -0
  81. package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.d.ts +4 -1
  82. package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.d.ts +4 -1
  83. package/dist/components/Container/Container.d.ts +4 -1
  84. package/dist/components/Container/Container.js +1 -0
  85. package/dist/components/Container/tests/Container.stories.d.ts +4 -1
  86. package/dist/components/Container/tests/Container.stories.js +1 -1
  87. package/dist/components/Container/tests/Container.test.stories.d.ts +4 -1
  88. package/dist/components/Container/tests/Container.test.stories.js +1 -1
  89. package/dist/components/ContextMenu/ContextMenu.d.ts +21 -5
  90. package/dist/components/ContextMenu/ContextMenu.js +1 -0
  91. package/dist/components/ContextMenu/tests/ContextMenu.stories.d.ts +21 -5
  92. package/dist/components/ContextMenu/tests/ContextMenu.test.stories.d.ts +21 -5
  93. package/dist/components/Dismissible/Dismissible.d.ts +4 -1
  94. package/dist/components/Dismissible/Dismissible.js +1 -0
  95. package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +4 -1
  96. package/dist/components/Dismissible/tests/Dismissible.stories.js +1 -1
  97. package/dist/components/Dismissible/tests/Dismissible.test.stories.d.ts +4 -1
  98. package/dist/components/Dismissible/tests/Dismissible.test.stories.js +1 -1
  99. package/dist/components/Divider/Divider.d.ts +4 -1
  100. package/dist/components/Divider/Divider.js +1 -0
  101. package/dist/components/Divider/tests/Divider.stories.d.ts +4 -1
  102. package/dist/components/Divider/tests/Divider.test.stories.d.ts +4 -1
  103. package/dist/components/DropdownMenu/DropdownMenu.d.ts +29 -7
  104. package/dist/components/DropdownMenu/DropdownMenu.js +7 -1
  105. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +29 -7
  106. package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.d.ts +29 -7
  107. package/dist/components/FileUpload/FileUpload.d.ts +5 -1
  108. package/dist/components/FileUpload/FileUpload.js +2 -0
  109. package/dist/components/FileUpload/tests/FileUpload.stories.d.ts +5 -1
  110. package/dist/components/FileUpload/tests/FileUpload.test.stories.d.ts +5 -1
  111. package/dist/components/FormControl/FormControl.js +1 -0
  112. package/dist/components/FormControl/FormControlError.d.ts +4 -1
  113. package/dist/components/FormControl/FormControlError.js +1 -0
  114. package/dist/components/FormControl/FormControlHelper.d.ts +4 -1
  115. package/dist/components/FormControl/FormControlHelper.js +1 -0
  116. package/dist/components/FormControl/FormControlLabel.d.ts +4 -1
  117. package/dist/components/FormControl/FormControlLabel.js +1 -0
  118. package/dist/components/FormControl/tests/FormControl.stories.js +1 -1
  119. package/dist/components/FormControl/tests/FormControl.test.stories.js +1 -1
  120. package/dist/components/Grid/Grid.d.ts +5 -1
  121. package/dist/components/Grid/Grid.js +2 -0
  122. package/dist/components/Grid/tests/Grid.stories.d.ts +5 -1
  123. package/dist/components/Grid/tests/Grid.stories.js +1 -1
  124. package/dist/components/Grid/tests/Grid.test.stories.d.ts +5 -1
  125. package/dist/components/Grid/tests/Grid.test.stories.js +1 -1
  126. package/dist/components/Hidden/Hidden.d.ts +4 -1
  127. package/dist/components/Hidden/Hidden.js +1 -0
  128. package/dist/components/Hidden/tests/Hidden.stories.d.ts +4 -1
  129. package/dist/components/Hidden/tests/Hidden.stories.js +1 -1
  130. package/dist/components/Hidden/tests/Hidden.test.stories.d.ts +4 -1
  131. package/dist/components/Hidden/tests/Hidden.test.stories.js +1 -1
  132. package/dist/components/HiddenVisually/HiddenVisually.d.ts +4 -1
  133. package/dist/components/HiddenVisually/HiddenVisually.js +1 -0
  134. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +4 -1
  135. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +1 -1
  136. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.d.ts +4 -1
  137. package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.js +1 -1
  138. package/dist/components/Hotkey/Hotkey.d.ts +4 -1
  139. package/dist/components/Hotkey/Hotkey.js +1 -0
  140. package/dist/components/Hotkey/tests/Hotkey.stories.d.ts +4 -1
  141. package/dist/components/Hotkey/tests/Hotkey.test.stories.d.ts +4 -1
  142. package/dist/components/Icon/Icon.d.ts +4 -1
  143. package/dist/components/Icon/Icon.js +1 -0
  144. package/dist/components/Icon/tests/Icon.stories.d.ts +4 -1
  145. package/dist/components/Icon/tests/Icon.stories.js +1 -1
  146. package/dist/components/Icon/tests/Icon.test.stories.d.ts +4 -1
  147. package/dist/components/Icon/tests/Icon.test.stories.js +1 -1
  148. package/dist/components/Image/Image.d.ts +4 -1
  149. package/dist/components/Image/Image.js +1 -0
  150. package/dist/components/Image/tests/Image.stories.d.ts +4 -1
  151. package/dist/components/Image/tests/Image.stories.js +1 -1
  152. package/dist/components/Image/tests/Image.test.stories.d.ts +4 -1
  153. package/dist/components/Image/tests/Image.test.stories.js +1 -1
  154. package/dist/components/Link/Link.js +1 -0
  155. package/dist/components/Loader/Loader.d.ts +4 -1
  156. package/dist/components/Loader/Loader.js +1 -0
  157. package/dist/components/Loader/tests/Loader.stories.d.ts +4 -1
  158. package/dist/components/Loader/tests/Loader.test.stories.d.ts +4 -1
  159. package/dist/components/MenuItem/MenuItem.js +1 -0
  160. package/dist/components/MenuItem/MenuItemAligner.d.ts +4 -1
  161. package/dist/components/MenuItem/MenuItemAligner.js +1 -0
  162. package/dist/components/Modal/Modal.d.ts +9 -2
  163. package/dist/components/Modal/Modal.js +3 -0
  164. package/dist/components/Modal/tests/Modal.stories.d.ts +9 -2
  165. package/dist/components/Modal/tests/Modal.test.stories.d.ts +9 -2
  166. package/dist/components/Overlay/Overlay.d.ts +4 -1
  167. package/dist/components/Overlay/Overlay.js +1 -0
  168. package/dist/components/Overlay/tests/Overlay.stories.d.ts +4 -1
  169. package/dist/components/Overlay/tests/Overlay.stories.js +1 -1
  170. package/dist/components/Overlay/tests/Overlay.test.stories.d.ts +4 -1
  171. package/dist/components/Overlay/tests/Overlay.test.stories.js +1 -1
  172. package/dist/components/Pagination/Pagination.d.ts +4 -1
  173. package/dist/components/Pagination/Pagination.js +1 -0
  174. package/dist/components/Pagination/PaginationControlled.d.ts +4 -1
  175. package/dist/components/Pagination/PaginationControlled.js +1 -0
  176. package/dist/components/Pagination/PaginationUncontrolled.d.ts +4 -1
  177. package/dist/components/Pagination/PaginationUncontrolled.js +1 -0
  178. package/dist/components/Pagination/tests/Pagination.stories.d.ts +4 -1
  179. package/dist/components/Pagination/tests/Pagination.test.stories.d.ts +4 -1
  180. package/dist/components/PinField/PinField.d.ts +4 -1
  181. package/dist/components/PinField/PinField.js +1 -0
  182. package/dist/components/PinField/PinFieldControlled.d.ts +4 -1
  183. package/dist/components/PinField/PinFieldControlled.js +1 -0
  184. package/dist/components/PinField/PinFieldUncontrolled.d.ts +4 -1
  185. package/dist/components/PinField/PinFieldUncontrolled.js +1 -0
  186. package/dist/components/PinField/tests/PinField.stories.d.ts +4 -1
  187. package/dist/components/PinField/tests/PinField.test.stories.d.ts +4 -1
  188. package/dist/components/Popover/Popover.d.ts +13 -3
  189. package/dist/components/Popover/Popover.js +2 -0
  190. package/dist/components/Popover/tests/Popover.stories.d.ts +13 -3
  191. package/dist/components/Popover/tests/Popover.test.stories.d.ts +13 -3
  192. package/dist/components/Progress/Progress.d.ts +4 -1
  193. package/dist/components/Progress/Progress.js +1 -0
  194. package/dist/components/Progress/tests/Progress.stories.d.ts +4 -1
  195. package/dist/components/Progress/tests/Progress.test.stories.d.ts +4 -1
  196. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +4 -1
  197. package/dist/components/ProgressIndicator/ProgressIndicator.js +1 -0
  198. package/dist/components/ProgressIndicator/tests/ProgressIndicator.stories.d.ts +4 -1
  199. package/dist/components/Radio/Radio.d.ts +4 -1
  200. package/dist/components/Radio/Radio.js +1 -0
  201. package/dist/components/Radio/tests/Radio.stories.d.ts +4 -1
  202. package/dist/components/Radio/tests/Radio.test.stories.d.ts +4 -1
  203. package/dist/components/RadioGroup/RadioGroup.d.ts +4 -1
  204. package/dist/components/RadioGroup/RadioGroup.js +1 -0
  205. package/dist/components/RadioGroup/RadioGroupControlled.d.ts +4 -1
  206. package/dist/components/RadioGroup/RadioGroupControlled.js +1 -0
  207. package/dist/components/RadioGroup/RadioGroupUncontrolled.d.ts +4 -1
  208. package/dist/components/RadioGroup/RadioGroupUncontrolled.js +1 -0
  209. package/dist/components/RadioGroup/tests/RadioGroup.stories.d.ts +4 -1
  210. package/dist/components/RadioGroup/tests/RadioGroup.test.stories.d.ts +4 -1
  211. package/dist/components/Reshaped/Reshaped.d.ts +4 -1
  212. package/dist/components/Reshaped/Reshaped.js +1 -0
  213. package/dist/components/Reshaped/tests/Reshaped.stories.js +1 -1
  214. package/dist/components/Resizable/Resizable.d.ts +1 -0
  215. package/dist/components/Resizable/Resizable.js +2 -1
  216. package/dist/components/Resizable/Resizable.types.d.ts +1 -1
  217. package/dist/components/Resizable/tests/Resizable.stories.d.ts +1 -0
  218. package/dist/components/Resizable/tests/Resizable.test.stories.d.ts +1 -0
  219. package/dist/components/Scrim/Scrim.d.ts +4 -1
  220. package/dist/components/Scrim/Scrim.js +1 -0
  221. package/dist/components/Scrim/tests/Scrim.stories.d.ts +4 -1
  222. package/dist/components/Scrim/tests/Scrim.test.stories.d.ts +4 -1
  223. package/dist/components/ScrollArea/ScrollArea.js +1 -0
  224. package/dist/components/ScrollArea/tests/ScrollArea.stories.js +1 -1
  225. package/dist/components/ScrollArea/tests/ScrollArea.test.stories.js +1 -1
  226. package/dist/components/Select/Select.d.ts +4 -1
  227. package/dist/components/Select/Select.js +1 -0
  228. package/dist/components/Select/tests/Select.stories.d.ts +4 -1
  229. package/dist/components/Select/tests/Select.test.stories.d.ts +4 -1
  230. package/dist/components/Skeleton/Skeleton.d.ts +4 -1
  231. package/dist/components/Skeleton/Skeleton.js +1 -0
  232. package/dist/components/Skeleton/tests/Skeleton.stories.d.ts +4 -1
  233. package/dist/components/Skeleton/tests/Skeleton.test.stories.d.ts +4 -1
  234. package/dist/components/Slider/Slider.d.ts +4 -1
  235. package/dist/components/Slider/Slider.js +1 -0
  236. package/dist/components/Slider/SliderControlled.d.ts +4 -1
  237. package/dist/components/Slider/SliderControlled.js +1 -0
  238. package/dist/components/Slider/SliderThumb.js +1 -0
  239. package/dist/components/Slider/SliderUncontrolled.d.ts +4 -1
  240. package/dist/components/Slider/SliderUncontrolled.js +1 -0
  241. package/dist/components/Slider/tests/Slider.stories.d.ts +4 -1
  242. package/dist/components/Slider/tests/Slider.test.stories.d.ts +4 -1
  243. package/dist/components/Stepper/Stepper.d.ts +5 -1
  244. package/dist/components/Stepper/Stepper.js +2 -0
  245. package/dist/components/Stepper/tests/Stepper.stories.d.ts +5 -1
  246. package/dist/components/Stepper/tests/Stepper.test.stories.d.ts +5 -1
  247. package/dist/components/Switch/Switch.d.ts +4 -1
  248. package/dist/components/Switch/Switch.js +1 -0
  249. package/dist/components/Switch/tests/Switch.stories.d.ts +4 -1
  250. package/dist/components/Switch/tests/Switch.test.stories.d.ts +4 -1
  251. package/dist/components/Table/Table.d.ts +21 -5
  252. package/dist/components/Table/Table.js +6 -0
  253. package/dist/components/Table/tests/Table.stories.d.ts +21 -5
  254. package/dist/components/Table/tests/Table.test.stories.d.ts +21 -5
  255. package/dist/components/Tabs/Tabs.d.ts +9 -2
  256. package/dist/components/Tabs/Tabs.js +1 -0
  257. package/dist/components/Tabs/TabsControlled.d.ts +4 -1
  258. package/dist/components/Tabs/TabsControlled.js +1 -0
  259. package/dist/components/Tabs/TabsItem.js +1 -0
  260. package/dist/components/Tabs/TabsList.d.ts +4 -1
  261. package/dist/components/Tabs/TabsList.js +1 -0
  262. package/dist/components/Tabs/TabsPanel.d.ts +4 -1
  263. package/dist/components/Tabs/TabsPanel.js +1 -0
  264. package/dist/components/Tabs/TabsUncontrolled.d.ts +4 -1
  265. package/dist/components/Tabs/TabsUncontrolled.js +1 -0
  266. package/dist/components/Tabs/tests/Tabs.stories.d.ts +9 -2
  267. package/dist/components/Tabs/tests/Tabs.test.stories.d.ts +9 -2
  268. package/dist/components/Text/Text.d.ts +4 -1
  269. package/dist/components/Text/Text.js +1 -0
  270. package/dist/components/Text/tests/Text.stories.d.ts +4 -1
  271. package/dist/components/Text/tests/Text.stories.js +1 -1
  272. package/dist/components/Text/tests/Text.test.stories.d.ts +4 -1
  273. package/dist/components/Text/tests/Text.test.stories.js +1 -1
  274. package/dist/components/TextArea/TextArea.d.ts +5 -1
  275. package/dist/components/TextArea/TextArea.js +1 -0
  276. package/dist/components/TextArea/tests/TextArea.stories.d.ts +5 -1
  277. package/dist/components/TextArea/tests/TextArea.test.stories.d.ts +5 -1
  278. package/dist/components/TextField/TextField.d.ts +5 -1
  279. package/dist/components/TextField/TextField.js +1 -0
  280. package/dist/components/TextField/tests/TextField.stories.d.ts +5 -1
  281. package/dist/components/TextField/tests/TextField.test.stories.d.ts +5 -1
  282. package/dist/components/Theme/GlobalColorMode.d.ts +4 -1
  283. package/dist/components/Theme/GlobalColorMode.js +1 -0
  284. package/dist/components/Theme/Theme.d.ts +4 -1
  285. package/dist/components/Theme/Theme.js +1 -0
  286. package/dist/components/Theme/tests/Theme.test.stories.d.ts +4 -1
  287. package/dist/components/Theme/tests/Theme.test.stories.js +1 -1
  288. package/dist/components/Timeline/Timeline.d.ts +5 -1
  289. package/dist/components/Timeline/Timeline.js +2 -0
  290. package/dist/components/Timeline/tests/Timeline.stories.d.ts +5 -1
  291. package/dist/components/Timeline/tests/Timeline.test.stories.d.ts +5 -1
  292. package/dist/components/Toast/Toast.d.ts +6 -3
  293. package/dist/components/Toast/Toast.js +1 -0
  294. package/dist/components/Toast/ToastContainer.d.ts +4 -1
  295. package/dist/components/Toast/ToastContainer.js +1 -0
  296. package/dist/components/Toast/ToastProvider.d.ts +4 -1
  297. package/dist/components/Toast/ToastProvider.js +1 -0
  298. package/dist/components/Toast/ToastRegion.d.ts +4 -1
  299. package/dist/components/Toast/ToastRegion.js +1 -0
  300. package/dist/components/Tooltip/Tooltip.d.ts +4 -1
  301. package/dist/components/Tooltip/Tooltip.js +1 -0
  302. package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +4 -1
  303. package/dist/components/Tooltip/tests/Tooltip.test.stories.d.ts +4 -1
  304. package/dist/components/View/View.d.ts +5 -1
  305. package/dist/components/View/View.js +2 -0
  306. package/dist/components/View/tests/View.stories.d.ts +5 -1
  307. package/dist/components/View/tests/View.stories.js +1 -1
  308. package/dist/components/View/tests/View.test.stories.d.ts +5 -1
  309. package/dist/components/View/tests/View.test.stories.js +1 -1
  310. package/dist/components/_private/Aligner/Aligner.d.ts +4 -1
  311. package/dist/components/_private/Aligner/Aligner.js +1 -0
  312. package/dist/components/_private/Expandable/Expandable.d.ts +4 -1
  313. package/dist/components/_private/Expandable/Expandable.js +1 -0
  314. package/dist/components/_private/Flyout/Flyout.d.ts +9 -2
  315. package/dist/components/_private/Flyout/Flyout.js +1 -0
  316. package/dist/components/_private/Flyout/FlyoutContent.d.ts +4 -1
  317. package/dist/components/_private/Flyout/FlyoutContent.js +4 -0
  318. package/dist/components/_private/Flyout/FlyoutControlled.d.ts +5 -2
  319. package/dist/components/_private/Flyout/FlyoutControlled.js +8 -9
  320. package/dist/components/_private/Flyout/FlyoutTrigger.d.ts +4 -1
  321. package/dist/components/_private/Flyout/FlyoutTrigger.js +1 -0
  322. package/dist/components/_private/Flyout/FlyoutUncontrolled.d.ts +4 -1
  323. package/dist/components/_private/Flyout/FlyoutUncontrolled.js +1 -0
  324. package/dist/components/_private/HiddenInput/HiddenInput.d.ts +4 -1
  325. package/dist/components/_private/HiddenInput/HiddenInput.js +1 -0
  326. package/dist/components/_private/Portal/Portal.d.ts +4 -0
  327. package/dist/components/_private/Portal/Portal.js +2 -0
  328. package/dist/hooks/{useDrag.js → _private/useDrag.js} +6 -6
  329. package/dist/hooks/tests/useDrag.stories.d.ts +26 -1
  330. package/dist/hooks/tests/useDrag.stories.js +120 -3
  331. package/dist/hooks/tests/useElementId.stories.d.ts +5 -0
  332. package/dist/hooks/tests/useElementId.stories.js +6 -2
  333. package/dist/hooks/tests/useHandlerRef.stories.d.ts +14 -0
  334. package/dist/hooks/tests/useHandlerRef.stories.js +44 -0
  335. package/dist/hooks/tests/useHotkeys.stories.d.ts +39 -1
  336. package/dist/hooks/tests/useHotkeys.stories.js +157 -38
  337. package/dist/hooks/tests/useKeyboardMode.stories.d.ts +5 -0
  338. package/dist/hooks/tests/useKeyboardMode.stories.js +6 -1
  339. package/dist/hooks/tests/useOnClickOutside.stories.d.ts +23 -0
  340. package/dist/hooks/tests/useOnClickOutside.stories.js +111 -0
  341. package/dist/hooks/tests/useRTL.stories.d.ts +5 -0
  342. package/dist/hooks/tests/useRTL.stories.js +9 -11
  343. package/dist/hooks/tests/useResponsiveClientValue.stories.d.ts +5 -0
  344. package/dist/hooks/tests/useResponsiveClientValue.stories.js +6 -1
  345. package/dist/hooks/tests/useScrollLock.stories.d.ts +7 -0
  346. package/dist/hooks/tests/useScrollLock.stories.js +47 -1
  347. package/dist/hooks/tests/useToggle.stories.d.ts +5 -0
  348. package/dist/hooks/tests/useToggle.stories.js +6 -1
  349. package/dist/hooks/useHandlerRef.js +1 -1
  350. package/dist/hooks/{_private/useOnClickOutside.d.ts → useOnClickOutside.d.ts} +3 -1
  351. package/dist/hooks/{_private/useOnClickOutside.js → useOnClickOutside.js} +13 -4
  352. package/dist/hooks/useScrollLock.d.ts +1 -1
  353. package/dist/hooks/useScrollLock.js +2 -2
  354. package/dist/index.d.ts +8 -6
  355. package/dist/index.js +7 -4
  356. package/dist/tests/ShadowDOM.stories.js +1 -1
  357. package/dist/themes/_generator/tests/themes.stories.js +1 -1
  358. package/dist/utilities/a11y/TrapFocus.d.ts +1 -1
  359. package/dist/utilities/a11y/TrapFocus.js +17 -11
  360. package/dist/utilities/a11y/tests/TrapFocus.stories.d.ts +10 -2
  361. package/dist/utilities/a11y/tests/TrapFocus.stories.js +596 -40
  362. package/dist/utilities/a11y/types.d.ts +3 -1
  363. package/package.json +15 -15
  364. package/dist/hooks/tests/useDrag.test.stories.d.ts +0 -26
  365. package/dist/hooks/tests/useDrag.test.stories.js +0 -120
  366. package/dist/hooks/tests/useHotkeys.test.stories.d.ts +0 -39
  367. package/dist/hooks/tests/useHotkeys.test.stories.js +0 -119
  368. /package/dist/hooks/{useDrag.d.ts → _private/useDrag.d.ts} +0 -0
@@ -1,9 +1,15 @@
1
1
  import React from "react";
2
+ import { fireEvent, fn, expect } from "@storybook/test";
2
3
  import View from "../../components/View/index.js";
3
- import useDrag from "../useDrag.js";
4
+ import useDrag from "../_private/useDrag.js";
4
5
  import useToggle from "../useToggle.js";
5
6
  import Button from "../../components/Button/index.js";
6
- export default { title: "Hooks/useDrag" };
7
+ export default {
8
+ title: "Internal/Hooks/useDrag",
9
+ parameters: {
10
+ chromatic: { disableSnapshot: true },
11
+ },
12
+ };
7
13
  function Example() {
8
14
  const [state, setState] = React.useState({ x: 0, y: 0 });
9
15
  const disabledToggle = useToggle();
@@ -27,4 +33,115 @@ function Example() {
27
33
  </Button>
28
34
  </View>);
29
35
  }
30
- export const state = () => <Example />;
36
+ export const base = { name: "base", render: () => <Example /> };
37
+ const Demo = (props) => {
38
+ const { ref, containerRef } = useDrag((options) => {
39
+ props.onDrag(options);
40
+ }, {
41
+ orientation: props.orientation,
42
+ disabled: props.disabled,
43
+ });
44
+ return (<View backgroundColor="neutral-faded" width="200px" height="200px" attributes={{ ref: containerRef, "data-testid": "test-id" }}>
45
+ <View height={8} width={8} backgroundColor="primary" attributes={{
46
+ "data-testid": "test-handle-id",
47
+ ref,
48
+ }}/>
49
+ </View>);
50
+ };
51
+ export const mouseEvents = {
52
+ name: "onDrag, mouse events",
53
+ args: {
54
+ handleDrag: fn(),
55
+ },
56
+ render: (args) => {
57
+ return <Demo onDrag={args.handleDrag}/>;
58
+ },
59
+ play: ({ canvas, args }) => {
60
+ const trigger = canvas.getByTestId("test-handle-id");
61
+ fireEvent.mouseDown(trigger);
62
+ fireEvent.mouseMove(document.body, { clientX: 100, clientY: 50 });
63
+ expect(args.handleDrag).toHaveBeenCalledTimes(1);
64
+ expect(args.handleDrag).toHaveBeenCalledWith(expect.objectContaining({ x: 100, y: 50 }));
65
+ fireEvent.mouseUp(trigger);
66
+ fireEvent.mouseUp(document.body, { clientX: 50, clientY: 100 });
67
+ expect(args.handleDrag).toHaveBeenCalledTimes(1);
68
+ },
69
+ };
70
+ export const touchEvents = {
71
+ name: "onDrag, touch events",
72
+ args: {
73
+ handleDrag: fn(),
74
+ },
75
+ render: (args) => {
76
+ return <Demo onDrag={args.handleDrag}/>;
77
+ },
78
+ play: ({ canvas, args }) => {
79
+ const createTouch = (target, x, y) => {
80
+ return new Touch({
81
+ identifier: Date.now(),
82
+ target,
83
+ clientX: x,
84
+ clientY: y,
85
+ screenX: x,
86
+ screenY: y,
87
+ pageX: x,
88
+ pageY: y,
89
+ });
90
+ };
91
+ const trigger = canvas.getByTestId("test-handle-id");
92
+ fireEvent.touchStart(trigger, { changedTouches: [createTouch(trigger, 0, 0)] });
93
+ fireEvent.touchMove(document.body, { changedTouches: [createTouch(trigger, 100, 50)] });
94
+ expect(args.handleDrag).toHaveBeenCalledTimes(1);
95
+ expect(args.handleDrag).toHaveBeenCalledWith(expect.objectContaining({ x: 100, y: 50 }));
96
+ fireEvent.touchEnd(trigger);
97
+ fireEvent.touchEnd(document.body, { changedTouches: [createTouch(trigger, 100, 50)] });
98
+ expect(args.handleDrag).toHaveBeenCalledTimes(1);
99
+ },
100
+ };
101
+ export const orientationHorizontal = {
102
+ name: "orientation horizontal",
103
+ args: {
104
+ handleDrag: fn(),
105
+ },
106
+ render: (args) => {
107
+ return <Demo onDrag={args.handleDrag} orientation="horizontal"/>;
108
+ },
109
+ play: ({ canvas, args }) => {
110
+ const trigger = canvas.getByTestId("test-handle-id");
111
+ fireEvent.mouseDown(trigger);
112
+ fireEvent.mouseMove(document.body, { clientX: 100, clientY: 50 });
113
+ expect(args.handleDrag).toHaveBeenCalledTimes(1);
114
+ expect(args.handleDrag).toHaveBeenCalledWith(expect.objectContaining({ x: 100, y: 0 }));
115
+ },
116
+ };
117
+ export const orientationVertical = {
118
+ name: "orientation vertical",
119
+ args: {
120
+ handleDrag: fn(),
121
+ },
122
+ render: (args) => {
123
+ return <Demo onDrag={args.handleDrag} orientation="vertical"/>;
124
+ },
125
+ play: ({ canvas, args }) => {
126
+ const trigger = canvas.getByTestId("test-handle-id");
127
+ fireEvent.mouseDown(trigger);
128
+ fireEvent.mouseMove(document.body, { clientX: 100, clientY: 50 });
129
+ expect(args.handleDrag).toHaveBeenCalledTimes(1);
130
+ expect(args.handleDrag).toHaveBeenCalledWith(expect.objectContaining({ x: 0, y: 50 }));
131
+ },
132
+ };
133
+ export const disabled = {
134
+ name: "disabled",
135
+ args: {
136
+ handleDrag: fn(),
137
+ },
138
+ render: (args) => {
139
+ return <Demo onDrag={args.handleDrag} disabled/>;
140
+ },
141
+ play: ({ canvas, args }) => {
142
+ const trigger = canvas.getByTestId("test-handle-id");
143
+ fireEvent.mouseDown(trigger);
144
+ fireEvent.mouseMove(document.body, { clientX: 100, clientY: 50 });
145
+ expect(args.handleDrag).toHaveBeenCalledTimes(0);
146
+ },
147
+ };
@@ -1,6 +1,11 @@
1
1
  import { StoryObj } from "@storybook/react";
2
2
  declare const _default: {
3
3
  title: string;
4
+ parameters: {
5
+ chromatic: {
6
+ disableSnapshot: boolean;
7
+ };
8
+ };
4
9
  };
5
10
  export default _default;
6
11
  export declare const id: StoryObj;
@@ -1,7 +1,11 @@
1
- import React from "react";
2
1
  import { expect, waitFor } from "@storybook/test";
3
2
  import useElementId from "../useElementId.js";
4
- export default { title: "Hooks/useElementId" };
3
+ export default {
4
+ title: "Hooks/useElementId",
5
+ parameters: {
6
+ chromatic: { disableSnapshot: true },
7
+ },
8
+ };
5
9
  const Component = (props) => {
6
10
  const id = useElementId(props.id);
7
11
  return <div id={id}>{id}</div>;
@@ -0,0 +1,14 @@
1
+ import { StoryObj } from "@storybook/react";
2
+ import { Mock } from "@storybook/test";
3
+ declare const _default: {
4
+ title: string;
5
+ parameters: {
6
+ chromatic: {
7
+ disableSnapshot: boolean;
8
+ };
9
+ };
10
+ };
11
+ export default _default;
12
+ export declare const base: StoryObj<{
13
+ handleEffect: Mock;
14
+ }>;
@@ -0,0 +1,44 @@
1
+ import React from "react";
2
+ import { expect, fn, userEvent } from "@storybook/test";
3
+ import Button from "../../components/Button/index.js";
4
+ import View from "../../components/View/index.js";
5
+ import useHandlerRef from "../useHandlerRef.js";
6
+ export default {
7
+ title: "Hooks/useHandlerRef",
8
+ parameters: {
9
+ chromatic: { disableSnapshot: true },
10
+ },
11
+ };
12
+ const Component = (props) => {
13
+ const { onEffect, count } = props;
14
+ const onEffectRef = useHandlerRef(onEffect);
15
+ React.useEffect(() => {
16
+ onEffectRef.current();
17
+ }, [onEffectRef]);
18
+ return <>Counter: {count}</>;
19
+ };
20
+ export const base = {
21
+ name: "base",
22
+ args: {
23
+ handleEffect: fn(),
24
+ },
25
+ render: (args) => {
26
+ const [count, setCount] = React.useState(0);
27
+ // Creating a new handler on each render
28
+ const handleEffect = () => {
29
+ args.handleEffect(0);
30
+ };
31
+ return (<View gap={4}>
32
+ <Button onClick={() => setCount((prev) => prev + 1)}>Increase count</Button>
33
+ <Component onEffect={handleEffect} count={count}/>
34
+ </View>);
35
+ },
36
+ play: async ({ canvas, args }) => {
37
+ const button = canvas.getAllByRole("button")[0];
38
+ // mount, triggerred twice in dev mode
39
+ expect(args.handleEffect).toHaveBeenCalledTimes(2);
40
+ await userEvent.click(button);
41
+ // Rerendering the component doesn't re-trigger the effect
42
+ expect(args.handleEffect).toHaveBeenCalledTimes(2);
43
+ },
44
+ };
@@ -1,5 +1,43 @@
1
+ import { StoryObj } from "@storybook/react";
2
+ import { fn } from "@storybook/test";
1
3
  declare const _default: {
2
4
  title: string;
5
+ parameters: {
6
+ chromatic: {
7
+ disableSnapshot: boolean;
8
+ };
9
+ };
3
10
  };
4
11
  export default _default;
5
- export declare const state: () => import("react").JSX.Element;
12
+ export declare const base: {
13
+ name: string;
14
+ render: () => import("react").JSX.Element;
15
+ };
16
+ export declare const singleKey: StoryObj<{
17
+ handleHotkey: ReturnType<typeof fn>;
18
+ }>;
19
+ export declare const modKey: StoryObj<{
20
+ handleHotkey: ReturnType<typeof fn>;
21
+ }>;
22
+ export declare const modKeyHold: StoryObj<{
23
+ handleHotkey: ReturnType<typeof fn>;
24
+ }>;
25
+ export declare const keyList: StoryObj<{
26
+ handleHotkey: ReturnType<typeof fn>;
27
+ }>;
28
+ export declare const keyCombination: StoryObj<{
29
+ handleHotkey: ReturnType<typeof fn>;
30
+ }>;
31
+ export declare const keyCombinationFormat: StoryObj<{
32
+ handleHotkey: ReturnType<typeof fn>;
33
+ }>;
34
+ export declare const keyCombinationOrder: StoryObj<{
35
+ handleHotkey: ReturnType<typeof fn>;
36
+ }>;
37
+ export declare const keyCombinationMoreThanRequired: StoryObj<{
38
+ handleHotkey: ReturnType<typeof fn>;
39
+ }>;
40
+ export declare const optionModified: StoryObj<{
41
+ handleHotkey: ReturnType<typeof fn>;
42
+ handleHotkeyModified: ReturnType<typeof fn>;
43
+ }>;
@@ -1,39 +1,158 @@
1
- import useHotkeys from "../useHotkeys.js";
1
+ import { expect, fn, userEvent } from "@storybook/test";
2
2
  import View from "../../components/View/index.js";
3
- export default { title: "Hooks/useHotkeys" };
4
- function Example() {
5
- const { checkHotkeyState } = useHotkeys({
6
- "shift + b + n": () => console.log("pressed"),
7
- "c + v": () => console.log("c + v"),
8
- "Meta + k": () => console.log("meta + k"),
9
- "Meta + f": () => console.log("meta + f"),
10
- "Meta + v": () => console.log("meta + v"),
11
- "Meta + b": () => console.log("meta + b"),
12
- "control + enter": () => console.log("control + enter"),
13
- "meta + enter": () => console.log("meta + enter"),
14
- "mod + enter": () => console.log("mod + enter"),
15
- "mod + ArrowRight": () => console.log("right"),
16
- "mod + ArrowUp": () => console.log("top"),
17
- "shift + ArrowRight": () => console.log("right"),
18
- "shift + ArrowUp": () => console.log("top"),
19
- "alt+shift+n": () => console.log("alt+shift+n"),
20
- "shift+alt+n": () => console.log("shift+alt+n"),
21
- "alt+shiftLeft+n": () => console.log("alt+shiftLeft+n"),
22
- });
23
- const active = checkHotkeyState("shift + b + n");
24
- const shiftActive = checkHotkeyState("shift");
25
- const bActive = checkHotkeyState("b");
26
- const nActive = checkHotkeyState("n");
27
- return (<View animated gap={2} direction="row" backgroundColor={active ? "positive-faded" : undefined} padding={2} borderRadius="small">
28
- <View paddingInline={4} paddingBlock={2} borderRadius="small" borderColor="neutral-faded" animated backgroundColor={shiftActive ? "neutral-faded" : "elevation-raised"} shadow={shiftActive ? undefined : "raised"}>
29
- Shift
30
- </View>
31
- <View paddingInline={4} paddingBlock={2} borderRadius="small" borderColor="neutral-faded" animated backgroundColor={bActive ? "neutral-faded" : "elevation-raised"} shadow={bActive ? undefined : "raised"}>
32
- b
33
- </View>
34
- <View paddingInline={4} paddingBlock={2} borderRadius="small" borderColor="neutral-faded" animated backgroundColor={nActive ? "neutral-faded" : "elevation-raised"} shadow={nActive ? undefined : "raised"}>
35
- n
36
- </View>
37
- </View>);
38
- }
39
- export const state = () => <Example />;
3
+ import useHotkeys from "../useHotkeys.js";
4
+ export default {
5
+ title: "Hooks/useHotkeys",
6
+ parameters: {
7
+ chromatic: { disableSnapshot: true },
8
+ },
9
+ };
10
+ export const base = {
11
+ name: "base",
12
+ render: () => {
13
+ const { checkHotkeyState } = useHotkeys({
14
+ "shift + b + n": () => console.log("pressed"),
15
+ "c + v": () => console.log("c + v"),
16
+ "Meta + k": () => console.log("meta + k"),
17
+ "Meta + f": () => console.log("meta + f"),
18
+ "Meta + v": () => console.log("meta + v"),
19
+ "Meta + b": () => console.log("meta + b"),
20
+ "control + enter": () => console.log("control + enter"),
21
+ "meta + enter": () => console.log("meta + enter"),
22
+ "mod + enter": () => console.log("mod + enter"),
23
+ "mod + ArrowRight": () => console.log("right"),
24
+ "mod + ArrowUp": () => console.log("top"),
25
+ "shift + ArrowRight": () => console.log("right"),
26
+ "shift + ArrowUp": () => console.log("top"),
27
+ "alt+shift+n": () => console.log("alt+shift+n"),
28
+ "shift+alt+n": () => console.log("shift+alt+n"),
29
+ "alt+shiftLeft+n": () => console.log("alt+shiftLeft+n"),
30
+ });
31
+ const active = checkHotkeyState("shift + b + n");
32
+ const shiftActive = checkHotkeyState("shift");
33
+ const bActive = checkHotkeyState("b");
34
+ const nActive = checkHotkeyState("n");
35
+ return (<View animated gap={2} direction="row" backgroundColor={active ? "positive-faded" : undefined} padding={2} borderRadius="small">
36
+ <View paddingInline={4} paddingBlock={2} borderRadius="small" borderColor="neutral-faded" animated backgroundColor={shiftActive ? "neutral-faded" : "elevation-raised"} shadow={shiftActive ? undefined : "raised"}>
37
+ Shift
38
+ </View>
39
+ <View paddingInline={4} paddingBlock={2} borderRadius="small" borderColor="neutral-faded" animated backgroundColor={bActive ? "neutral-faded" : "elevation-raised"} shadow={bActive ? undefined : "raised"}>
40
+ b
41
+ </View>
42
+ <View paddingInline={4} paddingBlock={2} borderRadius="small" borderColor="neutral-faded" animated backgroundColor={nActive ? "neutral-faded" : "elevation-raised"} shadow={nActive ? undefined : "raised"}>
43
+ n
44
+ </View>
45
+ </View>);
46
+ },
47
+ };
48
+ const Component = (props) => {
49
+ const { hotkeys } = props;
50
+ useHotkeys(hotkeys);
51
+ return <div />;
52
+ };
53
+ export const singleKey = {
54
+ name: "single key",
55
+ args: {
56
+ handleHotkey: fn(),
57
+ },
58
+ render: (args) => <Component hotkeys={{ a: args.handleHotkey }}/>,
59
+ play: async ({ args }) => {
60
+ await userEvent.keyboard("a");
61
+ await userEvent.keyboard("b");
62
+ expect(args.handleHotkey).toHaveBeenCalledTimes(1);
63
+ },
64
+ };
65
+ export const modKey = {
66
+ name: "mod key",
67
+ args: {
68
+ handleHotkey: fn(),
69
+ },
70
+ render: (args) => <Component hotkeys={{ mod: args.handleHotkey }}/>,
71
+ play: async ({ args }) => {
72
+ await userEvent.keyboard("{Meta/}");
73
+ expect(args.handleHotkey).toHaveBeenCalledTimes(1);
74
+ },
75
+ };
76
+ export const modKeyHold = {
77
+ name: "mod key on hold",
78
+ args: {
79
+ handleHotkey: fn(),
80
+ },
81
+ render: (args) => <Component hotkeys={{ "Meta + b": args.handleHotkey }}/>,
82
+ play: async ({ args }) => {
83
+ await userEvent.keyboard("{Meta>}bb{/Meta}");
84
+ expect(args.handleHotkey).toHaveBeenCalledTimes(2);
85
+ },
86
+ };
87
+ export const keyList = {
88
+ name: "key list",
89
+ args: {
90
+ handleHotkey: fn(),
91
+ },
92
+ render: (args) => <Component hotkeys={{ "a,b": args.handleHotkey }}/>,
93
+ play: async ({ args }) => {
94
+ await userEvent.keyboard("a");
95
+ expect(args.handleHotkey).toHaveBeenCalledTimes(1);
96
+ await userEvent.keyboard("b");
97
+ expect(args.handleHotkey).toHaveBeenCalledTimes(2);
98
+ },
99
+ };
100
+ export const keyCombination = {
101
+ name: "key combination",
102
+ args: {
103
+ handleHotkey: fn(),
104
+ },
105
+ render: (args) => <Component hotkeys={{ "a+b": args.handleHotkey }}/>,
106
+ play: async ({ args }) => {
107
+ await userEvent.keyboard("{a>}b{/a}");
108
+ expect(args.handleHotkey).toHaveBeenCalledTimes(1);
109
+ },
110
+ };
111
+ export const keyCombinationFormat = {
112
+ name: "key combination without formatting",
113
+ args: {
114
+ handleHotkey: fn(),
115
+ },
116
+ render: (args) => <Component hotkeys={{ "A + b": args.handleHotkey }}/>,
117
+ play: async ({ args }) => {
118
+ await userEvent.keyboard("{a>}b{/a}");
119
+ expect(args.handleHotkey).toHaveBeenCalledTimes(1);
120
+ },
121
+ };
122
+ export const keyCombinationOrder = {
123
+ name: "key combination without order",
124
+ args: {
125
+ handleHotkey: fn(),
126
+ },
127
+ render: (args) => <Component hotkeys={{ "b+a": args.handleHotkey }}/>,
128
+ play: async ({ args }) => {
129
+ await userEvent.keyboard("{a>}b{/a}");
130
+ expect(args.handleHotkey).toHaveBeenCalledTimes(1);
131
+ },
132
+ };
133
+ export const keyCombinationMoreThanRequired = {
134
+ name: "key combination, more keys pressed",
135
+ args: {
136
+ handleHotkey: fn(),
137
+ },
138
+ render: (args) => <Component hotkeys={{ "z + x": args.handleHotkey }}/>,
139
+ play: async ({ args }) => {
140
+ await userEvent.keyboard("{z>}{x>}c{/x}{/z}");
141
+ // When c is pressed, it doesn't trigger a+b for the second time
142
+ expect(args.handleHotkey).toHaveBeenCalledTimes(1);
143
+ },
144
+ };
145
+ export const optionModified = {
146
+ name: "modified with alt/option",
147
+ args: {
148
+ handleHotkey: fn(),
149
+ handleHotkeyModified: fn(),
150
+ },
151
+ render: (args) => (<Component hotkeys={{ "alt+n": args.handleHotkeyModified, "alt+shift": args.handleHotkey }}/>),
152
+ play: async ({ args }) => {
153
+ await userEvent.keyboard("{Alt>}n{/Alt}");
154
+ expect(args.handleHotkeyModified).toHaveBeenCalledTimes(1);
155
+ await userEvent.keyboard("{Alt>}{Shift}{/Alt}");
156
+ expect(args.handleHotkey).toHaveBeenCalledTimes(1);
157
+ },
158
+ };
@@ -1,6 +1,11 @@
1
1
  import { StoryObj } from "@storybook/react";
2
2
  declare const _default: {
3
3
  title: string;
4
+ parameters: {
5
+ chromatic: {
6
+ disableSnapshot: boolean;
7
+ };
8
+ };
4
9
  };
5
10
  export default _default;
6
11
  export declare const base: StoryObj;
@@ -2,7 +2,12 @@ import { expect, userEvent } from "@storybook/test";
2
2
  import Button from "../../components/Button/index.js";
3
3
  import View from "../../components/View/index.js";
4
4
  import useKeyboardMode from "../useKeyboardMode.js";
5
- export default { title: "Hooks/useKeyboardMode" };
5
+ export default {
6
+ title: "Hooks/useKeyboardMode",
7
+ parameters: {
8
+ chromatic: { disableSnapshot: true },
9
+ },
10
+ };
6
11
  const Component = () => {
7
12
  const { activate, deactivate, disable, enable } = useKeyboardMode();
8
13
  return (<View direction="row" gap={2}>
@@ -0,0 +1,23 @@
1
+ import { StoryObj } from "@storybook/react";
2
+ import { type Mock } from "@storybook/test";
3
+ declare const _default: {
4
+ title: string;
5
+ parameters: {
6
+ chromatic: {
7
+ disableSnapshot: boolean;
8
+ };
9
+ };
10
+ };
11
+ export default _default;
12
+ export declare const base: StoryObj<{
13
+ handleOutsideClick: Mock;
14
+ }>;
15
+ export declare const refs: StoryObj<{
16
+ handleOutsideClick: Mock;
17
+ }>;
18
+ export declare const disabled: StoryObj<{
19
+ handleOutsideClick: Mock;
20
+ }>;
21
+ export declare const deps: StoryObj<{
22
+ handleOutsideClick: Mock;
23
+ }>;
@@ -0,0 +1,111 @@
1
+ import React from "react";
2
+ import { expect, fn, userEvent } from "@storybook/test";
3
+ import Button from "../../components/Button/index.js";
4
+ import useOnClickOutside from "../useOnClickOutside.js";
5
+ import View from "../../components/View/index.js";
6
+ export default {
7
+ title: "Hooks/useOnClickOutside",
8
+ parameters: {
9
+ chromatic: { disableSnapshot: true },
10
+ },
11
+ };
12
+ export const base = {
13
+ name: "base",
14
+ args: {
15
+ handleOutsideClick: fn(),
16
+ },
17
+ render: (args) => {
18
+ const ref = React.useRef(null);
19
+ const [target, setTarget] = React.useState(null);
20
+ useOnClickOutside([ref], () => {
21
+ args.handleOutsideClick();
22
+ setTarget("outside");
23
+ });
24
+ return (<View gap={4} align="start">
25
+ <Button attributes={{ ref }} onClick={() => setTarget("inside")}>
26
+ Trigger
27
+ </Button>
28
+ {target && `Clicked ${target}`}
29
+ </View>);
30
+ },
31
+ play: async ({ canvas, args }) => {
32
+ const button = canvas.getAllByRole("button")[0];
33
+ await userEvent.click(button);
34
+ expect(args.handleOutsideClick).not.toHaveBeenCalled();
35
+ await userEvent.click(document.body);
36
+ expect(args.handleOutsideClick).toHaveBeenCalledTimes(1);
37
+ expect(args.handleOutsideClick).toHaveBeenCalledWith();
38
+ },
39
+ };
40
+ export const refs = {
41
+ name: "multiple refs",
42
+ args: {
43
+ handleOutsideClick: fn(),
44
+ },
45
+ render: (args) => {
46
+ const ref = React.useRef(null);
47
+ const ref2 = React.useRef(null);
48
+ useOnClickOutside([ref, ref2], () => {
49
+ args.handleOutsideClick();
50
+ });
51
+ return (<View gap={4} align="start">
52
+ <Button attributes={{ ref }}>Trigger</Button>
53
+ <Button attributes={{ ref: ref2 }}>Trigger 2</Button>
54
+ </View>);
55
+ },
56
+ play: async ({ canvas, args }) => {
57
+ const [button, button2] = canvas.getAllByRole("button");
58
+ await userEvent.click(button);
59
+ expect(args.handleOutsideClick).not.toHaveBeenCalled();
60
+ await userEvent.click(button2);
61
+ expect(args.handleOutsideClick).not.toHaveBeenCalled();
62
+ await userEvent.click(document.body);
63
+ expect(args.handleOutsideClick).toHaveBeenCalledTimes(1);
64
+ expect(args.handleOutsideClick).toHaveBeenCalledWith();
65
+ },
66
+ };
67
+ export const disabled = {
68
+ name: "disabled",
69
+ args: {
70
+ handleOutsideClick: fn(),
71
+ },
72
+ render: (args) => {
73
+ const ref = React.useRef(null);
74
+ useOnClickOutside([ref], () => {
75
+ args.handleOutsideClick();
76
+ }, {
77
+ disabled: true,
78
+ });
79
+ return (<View gap={4} align="start">
80
+ <Button attributes={{ ref }}>Trigger</Button>
81
+ </View>);
82
+ },
83
+ play: async ({ args }) => {
84
+ await userEvent.click(document.body);
85
+ expect(args.handleOutsideClick).not.toHaveBeenCalled();
86
+ },
87
+ };
88
+ export const deps = {
89
+ name: "test: handler uses latest state",
90
+ args: {
91
+ handleOutsideClick: fn(),
92
+ },
93
+ render: (args) => {
94
+ const ref = React.useRef(null);
95
+ const [count, setCount] = React.useState(0);
96
+ useOnClickOutside([ref], () => {
97
+ args.handleOutsideClick({ count });
98
+ });
99
+ return (<Button attributes={{ ref }} onClick={() => setCount((prev) => prev + 1)}>
100
+ Trigger
101
+ </Button>);
102
+ },
103
+ play: async ({ canvas, args }) => {
104
+ const button = canvas.getAllByRole("button")[0];
105
+ await userEvent.click(document.body);
106
+ expect(args.handleOutsideClick).toHaveBeenLastCalledWith({ count: 0 });
107
+ await userEvent.click(button);
108
+ await userEvent.click(document.body);
109
+ expect(args.handleOutsideClick).toHaveBeenLastCalledWith({ count: 1 });
110
+ },
111
+ };
@@ -1,6 +1,11 @@
1
1
  import { StoryObj } from "@storybook/react";
2
2
  declare const _default: {
3
3
  title: string;
4
+ parameters: {
5
+ chromatic: {
6
+ disableSnapshot: boolean;
7
+ };
8
+ };
4
9
  };
5
10
  export default _default;
6
11
  export declare const setRTL: StoryObj;
@@ -1,8 +1,12 @@
1
1
  import React from "react";
2
- import { expect, waitFor } from "@storybook/test";
3
- import Reshaped from "../../components/Reshaped/index.js";
2
+ import { expect } from "@storybook/test";
4
3
  import useRTL from "../useRTL.js";
5
- export default { title: "Hooks/useRTL" };
4
+ export default {
5
+ title: "Hooks/useRTL",
6
+ parameters: {
7
+ chromatic: { disableSnapshot: true },
8
+ },
9
+ };
6
10
  const Component = () => {
7
11
  const [rtl, setRTL] = useRTL();
8
12
  React.useEffect(() => {
@@ -12,14 +16,8 @@ const Component = () => {
12
16
  };
13
17
  export const setRTL = {
14
18
  name: "setRTL",
15
- render: () => {
16
- return (<Reshaped theme="reshaped">
17
- <Component />
18
- </Reshaped>);
19
- },
19
+ render: () => <Component />,
20
20
  play: async () => {
21
- waitFor(() => {
22
- expect(document.documentElement).toHaveAttribute("dir", "rtl");
23
- });
21
+ expect(document.documentElement).toHaveAttribute("dir", "rtl");
24
22
  },
25
23
  };