reshaped 4.2.0 → 4.3.0-canary.1

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 (704) hide show
  1. package/bin/cli.js +1 -1
  2. package/dist/bundle.cjs +2 -0
  3. package/dist/bundle.css +1 -1
  4. package/dist/bundle.d.cts +158 -0
  5. package/dist/components/Accordion/Accordion.context.d.ts +1 -1
  6. package/dist/components/Accordion/Accordion.d.ts +1 -1
  7. package/dist/components/Accordion/Accordion.js +2 -2
  8. package/dist/components/Accordion/Accordion.types.d.ts +3 -3
  9. package/dist/components/Accordion/AccordionContent.d.ts +1 -1
  10. package/dist/components/Accordion/AccordionContent.js +3 -3
  11. package/dist/components/Accordion/AccordionControlled.d.ts +1 -1
  12. package/dist/components/Accordion/AccordionControlled.js +3 -3
  13. package/dist/components/Accordion/AccordionTrigger.d.ts +1 -1
  14. package/dist/components/Accordion/AccordionTrigger.js +5 -5
  15. package/dist/components/Accordion/AccordionUncontrolled.d.ts +1 -1
  16. package/dist/components/Accordion/AccordionUncontrolled.js +1 -1
  17. package/dist/components/Accordion/index.d.ts +4 -4
  18. package/dist/components/Accordion/index.js +3 -3
  19. package/dist/components/Accordion/tests/Accordion.stories.d.ts +3 -3
  20. package/dist/components/Accordion/tests/Accordion.stories.js +152 -158
  21. package/dist/components/Actionable/Actionable.d.ts +1 -1
  22. package/dist/components/Actionable/Actionable.types.d.ts +1 -1
  23. package/dist/components/Actionable/index.d.ts +2 -2
  24. package/dist/components/Actionable/index.js +1 -1
  25. package/dist/components/Actionable/tests/Actionable.stories.d.ts +1 -1
  26. package/dist/components/Actionable/tests/Actionable.stories.js +136 -142
  27. package/dist/components/Alert/Alert.d.ts +1 -1
  28. package/dist/components/Alert/Alert.js +3 -3
  29. package/dist/components/Alert/Alert.types.d.ts +3 -3
  30. package/dist/components/Alert/index.d.ts +2 -2
  31. package/dist/components/Alert/index.js +1 -1
  32. package/dist/components/Alert/tests/Alert.stories.d.ts +1 -1
  33. package/dist/components/Alert/tests/Alert.stories.js +46 -52
  34. package/dist/components/Autocomplete/Autocomplete.d.ts +1 -1
  35. package/dist/components/Autocomplete/Autocomplete.js +10 -8
  36. package/dist/components/Autocomplete/Autocomplete.types.d.ts +5 -5
  37. package/dist/components/Autocomplete/index.d.ts +2 -2
  38. package/dist/components/Autocomplete/index.js +1 -1
  39. package/dist/components/Autocomplete/tests/Autocomplete.stories.d.ts +2 -2
  40. package/dist/components/Autocomplete/tests/Autocomplete.stories.js +118 -124
  41. package/dist/components/Avatar/Avatar.d.ts +1 -1
  42. package/dist/components/Avatar/Avatar.js +5 -5
  43. package/dist/components/Avatar/Avatar.types.d.ts +3 -3
  44. package/dist/components/Avatar/index.d.ts +2 -2
  45. package/dist/components/Avatar/index.js +1 -1
  46. package/dist/components/Avatar/tests/Avatar.stories.d.ts +1 -1
  47. package/dist/components/Avatar/tests/Avatar.stories.js +122 -128
  48. package/dist/components/Badge/Badge.context.d.ts +7 -0
  49. package/dist/components/Badge/Badge.context.js +8 -0
  50. package/dist/components/Badge/Badge.d.ts +4 -3
  51. package/dist/components/Badge/Badge.js +26 -6
  52. package/dist/components/Badge/Badge.module.css +1 -1
  53. package/dist/components/Badge/Badge.types.d.ts +3 -3
  54. package/dist/components/Badge/BadgeContainer.d.ts +2 -1
  55. package/dist/components/Badge/BadgeContainer.js +5 -1
  56. package/dist/components/Badge/index.d.ts +3 -3
  57. package/dist/components/Badge/index.js +2 -2
  58. package/dist/components/Badge/tests/Badge.stories.d.ts +3 -2
  59. package/dist/components/Badge/tests/Badge.stories.js +298 -274
  60. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  61. package/dist/components/Breadcrumbs/Breadcrumbs.js +6 -6
  62. package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +2 -2
  63. package/dist/components/Breadcrumbs/BreadcrumbsItem.d.ts +1 -1
  64. package/dist/components/Breadcrumbs/BreadcrumbsItem.js +2 -2
  65. package/dist/components/Breadcrumbs/index.d.ts +3 -3
  66. package/dist/components/Breadcrumbs/index.js +2 -2
  67. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +2 -2
  68. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.js +137 -143
  69. package/dist/components/Button/Button.d.ts +7 -7
  70. package/dist/components/Button/Button.js +4 -4
  71. package/dist/components/Button/Button.module.css +1 -1
  72. package/dist/components/Button/Button.types.d.ts +5 -5
  73. package/dist/components/Button/ButtonAligner.d.ts +1 -1
  74. package/dist/components/Button/ButtonAligner.js +1 -1
  75. package/dist/components/Button/ButtonGroup.d.ts +1 -1
  76. package/dist/components/Button/index.d.ts +4 -4
  77. package/dist/components/Button/index.js +3 -3
  78. package/dist/components/Button/tests/Button.stories.d.ts +9 -12
  79. package/dist/components/Button/tests/Button.stories.js +590 -585
  80. package/dist/components/Calendar/Calendar.d.ts +1 -1
  81. package/dist/components/Calendar/Calendar.js +2 -2
  82. package/dist/components/Calendar/Calendar.module.css +1 -1
  83. package/dist/components/Calendar/Calendar.utils.d.ts +1 -1
  84. package/dist/components/Calendar/CalendarControlled.d.ts +1 -1
  85. package/dist/components/Calendar/CalendarControlled.js +7 -7
  86. package/dist/components/Calendar/CalendarControls.d.ts +1 -1
  87. package/dist/components/Calendar/CalendarControls.js +8 -8
  88. package/dist/components/Calendar/CalendarDate.d.ts +1 -1
  89. package/dist/components/Calendar/CalendarDate.js +5 -2
  90. package/dist/components/Calendar/CalendarMonth.d.ts +1 -1
  91. package/dist/components/Calendar/CalendarMonth.js +2 -2
  92. package/dist/components/Calendar/CalendarUncontrolled.d.ts +1 -1
  93. package/dist/components/Calendar/CalendarUncontrolled.js +1 -1
  94. package/dist/components/Calendar/CalendarYear.d.ts +1 -1
  95. package/dist/components/Calendar/CalendarYear.js +3 -3
  96. package/dist/components/Calendar/index.d.ts +2 -2
  97. package/dist/components/Calendar/index.js +1 -1
  98. package/dist/components/Calendar/tests/Calendar.stories.d.ts +2 -1
  99. package/dist/components/Calendar/tests/Calendar.stories.js +237 -228
  100. package/dist/components/Calendar/useCalendarKeyboardNavigation.js +3 -3
  101. package/dist/components/Card/Card.d.ts +1 -1
  102. package/dist/components/Card/Card.js +3 -3
  103. package/dist/components/Card/Card.types.d.ts +3 -3
  104. package/dist/components/Card/index.d.ts +2 -2
  105. package/dist/components/Card/index.js +1 -1
  106. package/dist/components/Card/tests/Card.stories.d.ts +1 -1
  107. package/dist/components/Card/tests/Card.stories.js +111 -117
  108. package/dist/components/Carousel/Carousel.d.ts +1 -1
  109. package/dist/components/Carousel/Carousel.js +5 -5
  110. package/dist/components/Carousel/Carousel.types.d.ts +3 -3
  111. package/dist/components/Carousel/CarouselControl.d.ts +1 -1
  112. package/dist/components/Carousel/CarouselControl.js +4 -4
  113. package/dist/components/Carousel/index.d.ts +2 -2
  114. package/dist/components/Carousel/index.js +1 -1
  115. package/dist/components/Carousel/tests/Carousel.stories.d.ts +1 -1
  116. package/dist/components/Carousel/tests/Carousel.stories.js +163 -169
  117. package/dist/components/Checkbox/Checkbox.d.ts +1 -1
  118. package/dist/components/Checkbox/Checkbox.js +10 -8
  119. package/dist/components/Checkbox/Checkbox.types.d.ts +2 -2
  120. package/dist/components/Checkbox/index.d.ts +2 -2
  121. package/dist/components/Checkbox/index.js +1 -1
  122. package/dist/components/Checkbox/tests/Checkbox.stories.d.ts +1 -1
  123. package/dist/components/Checkbox/tests/Checkbox.stories.js +97 -103
  124. package/dist/components/CheckboxGroup/CheckboxGroup.context.d.ts +1 -1
  125. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  126. package/dist/components/CheckboxGroup/CheckboxGroup.js +2 -2
  127. package/dist/components/CheckboxGroup/CheckboxGroup.types.d.ts +2 -2
  128. package/dist/components/CheckboxGroup/CheckboxGroupControlled.d.ts +1 -1
  129. package/dist/components/CheckboxGroup/CheckboxGroupControlled.js +1 -1
  130. package/dist/components/CheckboxGroup/CheckboxGroupUncontrolled.d.ts +1 -1
  131. package/dist/components/CheckboxGroup/CheckboxGroupUncontrolled.js +1 -1
  132. package/dist/components/CheckboxGroup/index.d.ts +3 -3
  133. package/dist/components/CheckboxGroup/index.js +2 -2
  134. package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.d.ts +1 -1
  135. package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.js +44 -50
  136. package/dist/components/Container/Container.d.ts +1 -1
  137. package/dist/components/Container/Container.js +1 -1
  138. package/dist/components/Container/Container.types.d.ts +3 -3
  139. package/dist/components/Container/index.d.ts +2 -2
  140. package/dist/components/Container/index.js +1 -1
  141. package/dist/components/Container/tests/Container.stories.d.ts +1 -1
  142. package/dist/components/Container/tests/Container.stories.js +55 -61
  143. package/dist/components/ContentToggle/ContentToggle.d.ts +1 -1
  144. package/dist/components/ContentToggle/ContentToggle.js +1 -1
  145. package/dist/components/ContentToggle/ContentToggle.types.d.ts +1 -1
  146. package/dist/components/ContentToggle/index.d.ts +2 -2
  147. package/dist/components/ContentToggle/index.js +1 -1
  148. package/dist/components/ContentToggle/tests/ContentToggle.stories.d.ts +1 -1
  149. package/dist/components/ContentToggle/tests/ContentToggle.stories.js +32 -38
  150. package/dist/components/ContextMenu/ContextMenu.d.ts +1 -1
  151. package/dist/components/ContextMenu/ContextMenu.js +6 -6
  152. package/dist/components/ContextMenu/ContextMenu.types.d.ts +10 -2
  153. package/dist/components/ContextMenu/index.d.ts +3 -3
  154. package/dist/components/ContextMenu/index.js +2 -2
  155. package/dist/components/ContextMenu/tests/ContextMenu.stories.d.ts +13 -6
  156. package/dist/components/ContextMenu/tests/ContextMenu.stories.js +164 -70
  157. package/dist/components/Dismissible/Dismissible.d.ts +1 -1
  158. package/dist/components/Dismissible/Dismissible.js +2 -2
  159. package/dist/components/Dismissible/Dismissible.types.d.ts +1 -1
  160. package/dist/components/Dismissible/index.d.ts +2 -2
  161. package/dist/components/Dismissible/index.js +1 -1
  162. package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +1 -1
  163. package/dist/components/Dismissible/tests/Dismissible.stories.js +60 -66
  164. package/dist/components/Divider/Divider.d.ts +1 -1
  165. package/dist/components/Divider/Divider.js +3 -3
  166. package/dist/components/Divider/Divider.types.d.ts +2 -2
  167. package/dist/components/Divider/index.d.ts +2 -2
  168. package/dist/components/Divider/index.js +1 -1
  169. package/dist/components/Divider/tests/Divider.stories.d.ts +1 -1
  170. package/dist/components/Divider/tests/Divider.stories.js +85 -91
  171. package/dist/components/DropdownMenu/DropdownMenu.context.d.ts +1 -1
  172. package/dist/components/DropdownMenu/DropdownMenu.d.ts +6 -1
  173. package/dist/components/DropdownMenu/DropdownMenu.js +18 -12
  174. package/dist/components/DropdownMenu/DropdownMenu.types.d.ts +5 -5
  175. package/dist/components/DropdownMenu/index.d.ts +3 -3
  176. package/dist/components/DropdownMenu/index.js +2 -2
  177. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +8 -8
  178. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.js +247 -253
  179. package/dist/components/Expandable/Expandable.d.ts +1 -1
  180. package/dist/components/Expandable/Expandable.js +3 -3
  181. package/dist/components/Expandable/Expandable.module.css +1 -1
  182. package/dist/components/Expandable/Expandable.types.d.ts +1 -1
  183. package/dist/components/Expandable/index.d.ts +2 -2
  184. package/dist/components/Expandable/index.js +1 -1
  185. package/dist/components/Expandable/tests/Expandable.stories.d.ts +1 -1
  186. package/dist/components/Expandable/tests/Expandable.stories.js +56 -62
  187. package/dist/components/FileUpload/FileUpload.d.ts +1 -1
  188. package/dist/components/FileUpload/FileUpload.js +3 -3
  189. package/dist/components/FileUpload/FileUpload.types.d.ts +3 -3
  190. package/dist/components/FileUpload/index.d.ts +2 -2
  191. package/dist/components/FileUpload/index.js +1 -1
  192. package/dist/components/FileUpload/tests/FileUpload.stories.d.ts +2 -2
  193. package/dist/components/FileUpload/tests/FileUpload.stories.js +102 -108
  194. package/dist/components/Flyout/Flyout.constants.d.ts +0 -3
  195. package/dist/components/Flyout/Flyout.constants.js +0 -17
  196. package/dist/components/Flyout/Flyout.context.d.ts +1 -1
  197. package/dist/components/Flyout/Flyout.d.ts +1 -1
  198. package/dist/components/Flyout/Flyout.js +2 -2
  199. package/dist/components/Flyout/Flyout.module.css +1 -1
  200. package/dist/components/Flyout/Flyout.types.d.ts +5 -2
  201. package/dist/components/Flyout/FlyoutContent.d.ts +1 -1
  202. package/dist/components/Flyout/FlyoutContent.js +11 -8
  203. package/dist/components/Flyout/FlyoutControlled.d.ts +1 -1
  204. package/dist/components/Flyout/FlyoutControlled.js +72 -20
  205. package/dist/components/Flyout/FlyoutTrigger.d.ts +1 -1
  206. package/dist/components/Flyout/FlyoutTrigger.js +1 -1
  207. package/dist/components/Flyout/FlyoutUncontrolled.d.ts +1 -1
  208. package/dist/components/Flyout/FlyoutUncontrolled.js +1 -1
  209. package/dist/components/Flyout/index.d.ts +5 -5
  210. package/dist/components/Flyout/index.js +4 -4
  211. package/dist/components/Flyout/tests/Flyout.stories.d.ts +7 -0
  212. package/dist/components/Flyout/tests/Flyout.stories.js +521 -386
  213. package/dist/components/Flyout/useFlyout.d.ts +1 -1
  214. package/dist/components/Flyout/useFlyout.js +1 -1
  215. package/dist/components/FormControl/FormControl.context.d.ts +1 -3
  216. package/dist/components/FormControl/FormControl.d.ts +1 -1
  217. package/dist/components/FormControl/FormControl.js +20 -11
  218. package/dist/components/FormControl/FormControl.types.d.ts +4 -5
  219. package/dist/components/FormControl/FormControl.utilities.d.ts +1 -1
  220. package/dist/components/FormControl/FormControlCaption.d.ts +1 -1
  221. package/dist/components/FormControl/FormControlCaption.js +14 -8
  222. package/dist/components/FormControl/FormControlError.d.ts +1 -1
  223. package/dist/components/FormControl/FormControlError.js +2 -2
  224. package/dist/components/FormControl/FormControlHelper.d.ts +1 -1
  225. package/dist/components/FormControl/FormControlHelper.js +2 -2
  226. package/dist/components/FormControl/FormControlLabel.d.ts +1 -1
  227. package/dist/components/FormControl/FormControlLabel.js +5 -5
  228. package/dist/components/FormControl/index.d.ts +6 -6
  229. package/dist/components/FormControl/index.js +5 -5
  230. package/dist/components/FormControl/tests/FormControl.stories.d.ts +4 -4
  231. package/dist/components/FormControl/tests/FormControl.stories.js +114 -113
  232. package/dist/components/Grid/Grid.d.ts +1 -1
  233. package/dist/components/Grid/Grid.js +2 -2
  234. package/dist/components/Grid/Grid.types.d.ts +3 -3
  235. package/dist/components/Grid/index.d.ts +2 -2
  236. package/dist/components/Grid/index.js +1 -1
  237. package/dist/components/Grid/tests/Grid.stories.d.ts +2 -2
  238. package/dist/components/Grid/tests/Grid.stories.js +180 -186
  239. package/dist/components/Hidden/Hidden.d.ts +1 -1
  240. package/dist/components/Hidden/Hidden.js +1 -1
  241. package/dist/components/Hidden/Hidden.types.d.ts +1 -1
  242. package/dist/components/Hidden/index.d.ts +2 -2
  243. package/dist/components/Hidden/index.js +1 -1
  244. package/dist/components/Hidden/tests/Hidden.stories.d.ts +1 -1
  245. package/dist/components/Hidden/tests/Hidden.stories.js +33 -39
  246. package/dist/components/HiddenInput/HiddenInput.d.ts +1 -1
  247. package/dist/components/HiddenInput/HiddenInput.js +5 -7
  248. package/dist/components/HiddenInput/HiddenInput.types.d.ts +2 -2
  249. package/dist/components/HiddenInput/index.d.ts +2 -2
  250. package/dist/components/HiddenInput/index.js +1 -1
  251. package/dist/components/HiddenInput/tests/HiddenInput.stories.d.ts +5 -1
  252. package/dist/components/HiddenInput/tests/HiddenInput.stories.js +138 -119
  253. package/dist/components/HiddenVisually/HiddenVisually.d.ts +1 -1
  254. package/dist/components/HiddenVisually/index.d.ts +2 -2
  255. package/dist/components/HiddenVisually/index.js +1 -1
  256. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +1 -1
  257. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +14 -20
  258. package/dist/components/Icon/Icon.d.ts +1 -1
  259. package/dist/components/Icon/Icon.js +1 -1
  260. package/dist/components/Icon/Icon.types.d.ts +2 -2
  261. package/dist/components/Icon/index.d.ts +2 -2
  262. package/dist/components/Icon/index.js +1 -1
  263. package/dist/components/Icon/tests/Icon.stories.d.ts +1 -1
  264. package/dist/components/Icon/tests/Icon.stories.js +78 -84
  265. package/dist/components/IconToggle/IconToggle.d.ts +1 -1
  266. package/dist/components/IconToggle/IconToggle.js +2 -2
  267. package/dist/components/IconToggle/IconToggle.module.css +1 -1
  268. package/dist/components/IconToggle/IconToggle.types.d.ts +1 -1
  269. package/dist/components/IconToggle/index.d.ts +2 -2
  270. package/dist/components/IconToggle/index.js +1 -1
  271. package/dist/components/IconToggle/tests/IconToggle.stories.d.ts +1 -1
  272. package/dist/components/IconToggle/tests/IconToggle.stories.js +12 -18
  273. package/dist/components/Image/Image.d.ts +1 -1
  274. package/dist/components/Image/Image.js +8 -5
  275. package/dist/components/Image/Image.module.css +1 -1
  276. package/dist/components/Image/Image.types.d.ts +3 -3
  277. package/dist/components/Image/index.d.ts +2 -2
  278. package/dist/components/Image/index.js +1 -1
  279. package/dist/components/Image/tests/Image.stories.d.ts +6 -5
  280. package/dist/components/Image/tests/Image.stories.js +182 -151
  281. package/dist/components/Link/Link.d.ts +3 -3
  282. package/dist/components/Link/Link.js +2 -2
  283. package/dist/components/Link/Link.types.d.ts +2 -2
  284. package/dist/components/Link/index.d.ts +2 -2
  285. package/dist/components/Link/index.js +1 -1
  286. package/dist/components/Link/tests/Link.stories.d.ts +3 -3
  287. package/dist/components/Link/tests/Link.stories.js +98 -104
  288. package/dist/components/Loader/Loader.d.ts +1 -1
  289. package/dist/components/Loader/Loader.js +1 -1
  290. package/dist/components/Loader/Loader.types.d.ts +2 -2
  291. package/dist/components/Loader/index.d.ts +2 -2
  292. package/dist/components/Loader/index.js +1 -1
  293. package/dist/components/Loader/tests/Loader.stories.d.ts +1 -1
  294. package/dist/components/Loader/tests/Loader.stories.js +43 -49
  295. package/dist/components/LoaderText/LoaderText.d.ts +1 -1
  296. package/dist/components/LoaderText/LoaderText.js +2 -2
  297. package/dist/components/LoaderText/LoaderText.types.d.ts +2 -2
  298. package/dist/components/LoaderText/index.d.ts +2 -2
  299. package/dist/components/LoaderText/index.js +1 -1
  300. package/dist/components/LoaderText/tests/LoaderText.stories.d.ts +1 -1
  301. package/dist/components/LoaderText/tests/LoaderText.stories.js +35 -41
  302. package/dist/components/MenuItem/MenuItem.d.ts +7 -6
  303. package/dist/components/MenuItem/MenuItem.js +6 -6
  304. package/dist/components/MenuItem/MenuItem.module.css +1 -1
  305. package/dist/components/MenuItem/MenuItem.types.d.ts +7 -4
  306. package/dist/components/MenuItem/MenuItemAligner.d.ts +1 -1
  307. package/dist/components/MenuItem/MenuItemAligner.js +1 -1
  308. package/dist/components/MenuItem/index.d.ts +3 -3
  309. package/dist/components/MenuItem/index.js +2 -2
  310. package/dist/components/MenuItem/tests/MenuItem.stories.d.ts +11 -6
  311. package/dist/components/MenuItem/tests/MenuItem.stories.js +157 -143
  312. package/dist/components/Modal/Modal.d.ts +1 -1
  313. package/dist/components/Modal/Modal.js +27 -187
  314. package/dist/components/Modal/Modal.module.css +1 -1
  315. package/dist/components/Modal/Modal.types.d.ts +5 -4
  316. package/dist/components/Modal/index.d.ts +2 -2
  317. package/dist/components/Modal/index.js +1 -1
  318. package/dist/components/Modal/tests/Modal.stories.d.ts +3 -3
  319. package/dist/components/Modal/tests/Modal.stories.js +277 -269
  320. package/dist/components/Modal/useModalDrag.d.ts +21 -0
  321. package/dist/components/Modal/useModalDrag.js +318 -0
  322. package/dist/components/NumberField/NumberField.d.ts +1 -1
  323. package/dist/components/NumberField/NumberField.js +2 -2
  324. package/dist/components/NumberField/NumberField.types.d.ts +2 -2
  325. package/dist/components/NumberField/NumberFieldControlled.d.ts +1 -1
  326. package/dist/components/NumberField/NumberFieldControlled.js +29 -20
  327. package/dist/components/NumberField/NumberFieldUncontrolled.d.ts +1 -1
  328. package/dist/components/NumberField/NumberFieldUncontrolled.js +1 -1
  329. package/dist/components/NumberField/index.d.ts +2 -2
  330. package/dist/components/NumberField/index.js +1 -1
  331. package/dist/components/NumberField/tests/NumberField.stories.d.ts +1 -1
  332. package/dist/components/NumberField/tests/NumberField.stories.js +182 -188
  333. package/dist/components/Overlay/Overlay.d.ts +1 -1
  334. package/dist/components/Overlay/Overlay.js +14 -13
  335. package/dist/components/Overlay/Overlay.module.css +1 -1
  336. package/dist/components/Overlay/Overlay.types.d.ts +1 -1
  337. package/dist/components/Overlay/index.d.ts +2 -2
  338. package/dist/components/Overlay/index.js +1 -1
  339. package/dist/components/Overlay/tests/Overlay.stories.d.ts +1 -1
  340. package/dist/components/Overlay/tests/Overlay.stories.js +127 -131
  341. package/dist/components/Pagination/Pagination.d.ts +1 -1
  342. package/dist/components/Pagination/Pagination.js +2 -2
  343. package/dist/components/Pagination/Pagination.types.d.ts +1 -1
  344. package/dist/components/Pagination/PaginationControlled.d.ts +1 -1
  345. package/dist/components/Pagination/PaginationControlled.js +5 -5
  346. package/dist/components/Pagination/PaginationUncontrolled.d.ts +1 -1
  347. package/dist/components/Pagination/PaginationUncontrolled.js +1 -1
  348. package/dist/components/Pagination/index.d.ts +2 -2
  349. package/dist/components/Pagination/index.js +1 -1
  350. package/dist/components/Pagination/tests/Pagination.stories.d.ts +1 -1
  351. package/dist/components/Pagination/tests/Pagination.stories.js +55 -61
  352. package/dist/components/PinField/PinField.d.ts +1 -1
  353. package/dist/components/PinField/PinField.js +2 -2
  354. package/dist/components/PinField/PinField.types.d.ts +2 -2
  355. package/dist/components/PinField/PinFieldControlled.d.ts +1 -1
  356. package/dist/components/PinField/PinFieldControlled.js +46 -16
  357. package/dist/components/PinField/PinFieldUncontrolled.d.ts +1 -1
  358. package/dist/components/PinField/PinFieldUncontrolled.js +1 -1
  359. package/dist/components/PinField/index.d.ts +2 -2
  360. package/dist/components/PinField/index.js +1 -1
  361. package/dist/components/PinField/tests/PinField.stories.d.ts +1 -1
  362. package/dist/components/PinField/tests/PinField.stories.js +121 -127
  363. package/dist/components/Popover/Popover.d.ts +2 -2
  364. package/dist/components/Popover/Popover.js +4 -4
  365. package/dist/components/Popover/Popover.types.d.ts +1 -1
  366. package/dist/components/Popover/index.d.ts +3 -3
  367. package/dist/components/Popover/index.js +2 -2
  368. package/dist/components/Popover/tests/Popover.stories.d.ts +4 -4
  369. package/dist/components/Popover/tests/Popover.stories.js +231 -237
  370. package/dist/components/ProgressBar/ProgressBar.d.ts +1 -1
  371. package/dist/components/ProgressBar/ProgressBar.js +1 -1
  372. package/dist/components/ProgressBar/ProgressBar.types.d.ts +1 -1
  373. package/dist/components/ProgressBar/index.d.ts +2 -2
  374. package/dist/components/ProgressBar/index.js +1 -1
  375. package/dist/components/ProgressBar/tests/ProgressBar.stories.d.ts +1 -1
  376. package/dist/components/ProgressBar/tests/ProgressBar.stories.js +72 -78
  377. package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +1 -1
  378. package/dist/components/ProgressIndicator/ProgressIndicator.types.d.ts +1 -1
  379. package/dist/components/ProgressIndicator/index.d.ts +2 -2
  380. package/dist/components/ProgressIndicator/index.js +1 -1
  381. package/dist/components/ProgressIndicator/tests/ProgressIndicator.stories.d.ts +1 -1
  382. package/dist/components/ProgressIndicator/tests/ProgressIndicator.stories.js +52 -58
  383. package/dist/components/Radio/Radio.d.ts +1 -1
  384. package/dist/components/Radio/Radio.js +10 -6
  385. package/dist/components/Radio/Radio.types.d.ts +2 -2
  386. package/dist/components/Radio/index.d.ts +2 -2
  387. package/dist/components/Radio/index.js +1 -1
  388. package/dist/components/Radio/tests/Radio.stories.d.ts +1 -1
  389. package/dist/components/Radio/tests/Radio.stories.js +85 -91
  390. package/dist/components/RadioGroup/RadioGroup.context.d.ts +1 -1
  391. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  392. package/dist/components/RadioGroup/RadioGroup.js +2 -2
  393. package/dist/components/RadioGroup/RadioGroup.types.d.ts +3 -3
  394. package/dist/components/RadioGroup/RadioGroupControlled.d.ts +1 -1
  395. package/dist/components/RadioGroup/RadioGroupControlled.js +1 -1
  396. package/dist/components/RadioGroup/RadioGroupUncontrolled.d.ts +1 -1
  397. package/dist/components/RadioGroup/RadioGroupUncontrolled.js +1 -1
  398. package/dist/components/RadioGroup/index.d.ts +3 -3
  399. package/dist/components/RadioGroup/index.js +2 -2
  400. package/dist/components/RadioGroup/tests/RadioGroup.stories.d.ts +1 -1
  401. package/dist/components/RadioGroup/tests/RadioGroup.stories.js +38 -44
  402. package/dist/components/Reshaped/Reshaped.d.ts +1 -1
  403. package/dist/components/Reshaped/Reshaped.js +7 -7
  404. package/dist/components/Reshaped/Reshaped.types.d.ts +3 -3
  405. package/dist/components/Reshaped/index.d.ts +2 -2
  406. package/dist/components/Reshaped/index.js +1 -1
  407. package/dist/components/Reshaped/tests/Reshaped.stories.js +56 -62
  408. package/dist/components/Resizable/Resizable.d.ts +1 -1
  409. package/dist/components/Resizable/Resizable.js +2 -2
  410. package/dist/components/Resizable/Resizable.types.d.ts +2 -2
  411. package/dist/components/Resizable/ResizableContext.d.ts +1 -1
  412. package/dist/components/Resizable/ResizableHandle.d.ts +1 -1
  413. package/dist/components/Resizable/ResizableHandle.js +3 -3
  414. package/dist/components/Resizable/index.d.ts +3 -3
  415. package/dist/components/Resizable/index.js +2 -2
  416. package/dist/components/Resizable/tests/Resizable.stories.d.ts +3 -3
  417. package/dist/components/Resizable/tests/Resizable.stories.js +131 -137
  418. package/dist/components/ScrollArea/ScrollArea.d.ts +1 -1
  419. package/dist/components/ScrollArea/ScrollArea.js +32 -19
  420. package/dist/components/ScrollArea/ScrollArea.module.css +1 -1
  421. package/dist/components/ScrollArea/ScrollArea.types.d.ts +3 -3
  422. package/dist/components/ScrollArea/index.d.ts +2 -2
  423. package/dist/components/ScrollArea/index.js +1 -1
  424. package/dist/components/ScrollArea/tests/ScrollArea.stories.d.ts +1 -1
  425. package/dist/components/ScrollArea/tests/ScrollArea.stories.js +220 -226
  426. package/dist/components/Select/Select.d.ts +1 -1
  427. package/dist/components/Select/Select.js +11 -6
  428. package/dist/components/Select/Select.types.d.ts +7 -7
  429. package/dist/components/Select/SelectCustom.d.ts +1 -1
  430. package/dist/components/Select/SelectCustom.js +2 -2
  431. package/dist/components/Select/SelectCustomControlled.d.ts +1 -1
  432. package/dist/components/Select/SelectCustomControlled.js +27 -14
  433. package/dist/components/Select/SelectCustomUncontrolled.d.ts +1 -1
  434. package/dist/components/Select/SelectCustomUncontrolled.js +1 -1
  435. package/dist/components/Select/SelectEndContent.d.ts +1 -1
  436. package/dist/components/Select/SelectEndContent.js +3 -3
  437. package/dist/components/Select/SelectGroup.d.ts +1 -1
  438. package/dist/components/Select/SelectGroup.js +2 -2
  439. package/dist/components/Select/SelectHiddenInput.d.ts +1 -1
  440. package/dist/components/Select/SelectNative.d.ts +1 -1
  441. package/dist/components/Select/SelectNative.js +4 -4
  442. package/dist/components/Select/SelectOption.d.ts +1 -1
  443. package/dist/components/Select/SelectOption.js +1 -1
  444. package/dist/components/Select/SelectStartContent.d.ts +1 -1
  445. package/dist/components/Select/SelectStartContent.js +2 -2
  446. package/dist/components/Select/SelectTrigger.d.ts +1 -1
  447. package/dist/components/Select/SelectTrigger.js +8 -8
  448. package/dist/components/Select/index.d.ts +5 -5
  449. package/dist/components/Select/index.js +4 -4
  450. package/dist/components/Select/tests/Select.stories.d.ts +4 -4
  451. package/dist/components/Select/tests/Select.stories.js +452 -470
  452. package/dist/components/Skeleton/Skeleton.d.ts +1 -1
  453. package/dist/components/Skeleton/Skeleton.js +1 -1
  454. package/dist/components/Skeleton/Skeleton.types.d.ts +2 -2
  455. package/dist/components/Skeleton/index.d.ts +2 -2
  456. package/dist/components/Skeleton/index.js +1 -1
  457. package/dist/components/Skeleton/tests/Skeleton.stories.d.ts +1 -1
  458. package/dist/components/Skeleton/tests/Skeleton.stories.js +39 -45
  459. package/dist/components/Slider/Slider.d.ts +1 -1
  460. package/dist/components/Slider/Slider.js +2 -2
  461. package/dist/components/Slider/Slider.types.d.ts +2 -1
  462. package/dist/components/Slider/SliderControlled.d.ts +1 -1
  463. package/dist/components/Slider/SliderControlled.js +11 -7
  464. package/dist/components/Slider/SliderThumb.d.ts +1 -1
  465. package/dist/components/Slider/SliderThumb.js +5 -6
  466. package/dist/components/Slider/SliderUncontrolled.d.ts +1 -1
  467. package/dist/components/Slider/SliderUncontrolled.js +1 -1
  468. package/dist/components/Slider/index.d.ts +2 -2
  469. package/dist/components/Slider/index.js +1 -1
  470. package/dist/components/Slider/tests/Slider.stories.d.ts +1 -1
  471. package/dist/components/Slider/tests/Slider.stories.js +172 -178
  472. package/dist/components/Switch/Switch.d.ts +1 -1
  473. package/dist/components/Switch/Switch.js +8 -5
  474. package/dist/components/Switch/Switch.types.d.ts +2 -2
  475. package/dist/components/Switch/index.d.ts +2 -2
  476. package/dist/components/Switch/index.js +1 -1
  477. package/dist/components/Switch/tests/Switch.stories.d.ts +1 -1
  478. package/dist/components/Switch/tests/Switch.stories.js +90 -98
  479. package/dist/components/Table/Table.d.ts +1 -1
  480. package/dist/components/Table/Table.js +2 -2
  481. package/dist/components/Table/Table.types.d.ts +1 -1
  482. package/dist/components/Table/index.d.ts +2 -2
  483. package/dist/components/Table/index.js +1 -1
  484. package/dist/components/Table/tests/Table.stories.d.ts +6 -6
  485. package/dist/components/Table/tests/Table.stories.js +281 -287
  486. package/dist/components/Tabs/Tabs.d.ts +1 -1
  487. package/dist/components/Tabs/Tabs.js +2 -2
  488. package/dist/components/Tabs/Tabs.types.d.ts +3 -3
  489. package/dist/components/Tabs/TabsContext.d.ts +1 -1
  490. package/dist/components/Tabs/TabsControlled.d.ts +1 -1
  491. package/dist/components/Tabs/TabsControlled.js +2 -2
  492. package/dist/components/Tabs/TabsItem.d.ts +2 -2
  493. package/dist/components/Tabs/TabsItem.js +6 -6
  494. package/dist/components/Tabs/TabsList.d.ts +1 -1
  495. package/dist/components/Tabs/TabsList.js +10 -10
  496. package/dist/components/Tabs/TabsPanel.d.ts +1 -1
  497. package/dist/components/Tabs/TabsPanel.js +2 -2
  498. package/dist/components/Tabs/TabsUncontrolled.d.ts +1 -1
  499. package/dist/components/Tabs/TabsUncontrolled.js +1 -1
  500. package/dist/components/Tabs/index.d.ts +5 -5
  501. package/dist/components/Tabs/index.js +4 -4
  502. package/dist/components/Tabs/tests/Tabs.stories.d.ts +4 -4
  503. package/dist/components/Tabs/tests/Tabs.stories.js +503 -509
  504. package/dist/components/Text/Text.d.ts +1 -1
  505. package/dist/components/Text/Text.js +2 -2
  506. package/dist/components/Text/Text.types.d.ts +2 -2
  507. package/dist/components/Text/index.d.ts +2 -2
  508. package/dist/components/Text/index.js +1 -1
  509. package/dist/components/Text/tests/Text.stories.d.ts +1 -1
  510. package/dist/components/Text/tests/Text.stories.js +159 -165
  511. package/dist/components/TextArea/TextArea.d.ts +1 -1
  512. package/dist/components/TextArea/TextArea.js +9 -5
  513. package/dist/components/TextArea/TextArea.types.d.ts +3 -3
  514. package/dist/components/TextArea/index.d.ts +3 -3
  515. package/dist/components/TextArea/index.js +2 -2
  516. package/dist/components/TextArea/tests/TextArea.stories.d.ts +2 -2
  517. package/dist/components/TextArea/tests/TextArea.stories.js +131 -137
  518. package/dist/components/TextField/TextField.d.ts +1 -1
  519. package/dist/components/TextField/TextField.js +11 -7
  520. package/dist/components/TextField/TextField.types.d.ts +4 -4
  521. package/dist/components/TextField/index.d.ts +3 -3
  522. package/dist/components/TextField/index.js +2 -2
  523. package/dist/components/TextField/tests/TextField.stories.d.ts +2 -2
  524. package/dist/components/TextField/tests/TextField.stories.js +160 -166
  525. package/dist/components/Theme/GlobalColorMode.d.ts +1 -1
  526. package/dist/components/Theme/GlobalColorMode.js +5 -5
  527. package/dist/components/Theme/Theme.context.d.ts +1 -1
  528. package/dist/components/Theme/Theme.d.ts +1 -1
  529. package/dist/components/Theme/Theme.js +4 -4
  530. package/dist/components/Theme/Theme.types.d.ts +1 -1
  531. package/dist/components/Theme/index.d.ts +4 -4
  532. package/dist/components/Theme/index.js +3 -3
  533. package/dist/components/Theme/tests/Theme.stories.d.ts +1 -1
  534. package/dist/components/Theme/tests/Theme.stories.js +99 -138
  535. package/dist/components/Theme/useTheme.d.ts +7 -7
  536. package/dist/components/Theme/useTheme.js +1 -1
  537. package/dist/components/Toast/Toast.constants.d.ts +1 -1
  538. package/dist/components/Toast/Toast.context.d.ts +1 -1
  539. package/dist/components/Toast/Toast.context.js +1 -1
  540. package/dist/components/Toast/Toast.d.ts +1 -1
  541. package/dist/components/Toast/Toast.js +4 -4
  542. package/dist/components/Toast/Toast.types.d.ts +2 -2
  543. package/dist/components/Toast/ToastContainer.d.ts +1 -1
  544. package/dist/components/Toast/ToastContainer.js +4 -4
  545. package/dist/components/Toast/ToastProvider.d.ts +1 -1
  546. package/dist/components/Toast/ToastProvider.js +4 -4
  547. package/dist/components/Toast/ToastRegion.d.ts +1 -1
  548. package/dist/components/Toast/ToastRegion.js +2 -2
  549. package/dist/components/Toast/index.d.ts +3 -3
  550. package/dist/components/Toast/index.js +2 -2
  551. package/dist/components/Toast/tests/Toast.stories.js +199 -205
  552. package/dist/components/Toast/useToast.d.ts +1 -1
  553. package/dist/components/Toast/useToast.js +1 -1
  554. package/dist/components/ToggleButton/ToggleButton.d.ts +1 -1
  555. package/dist/components/ToggleButton/ToggleButton.js +2 -2
  556. package/dist/components/ToggleButton/ToggleButton.types.d.ts +1 -1
  557. package/dist/components/ToggleButton/ToggleButtonControlled.d.ts +1 -1
  558. package/dist/components/ToggleButton/ToggleButtonControlled.js +2 -2
  559. package/dist/components/ToggleButton/ToggleButtonUncontrolled.d.ts +1 -1
  560. package/dist/components/ToggleButton/ToggleButtonUncontrolled.js +2 -2
  561. package/dist/components/ToggleButton/index.d.ts +2 -2
  562. package/dist/components/ToggleButton/index.js +1 -1
  563. package/dist/components/ToggleButton/tests/ToggleButton.stories.d.ts +1 -1
  564. package/dist/components/ToggleButton/tests/ToggleButton.stories.js +60 -66
  565. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.context.d.ts +1 -1
  566. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.d.ts +1 -1
  567. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.js +2 -2
  568. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.types.d.ts +2 -2
  569. package/dist/components/ToggleButtonGroup/ToggleButtonGroupControlled.d.ts +1 -1
  570. package/dist/components/ToggleButtonGroup/ToggleButtonGroupControlled.js +3 -3
  571. package/dist/components/ToggleButtonGroup/ToggleButtonGroupUncontrolled.d.ts +1 -1
  572. package/dist/components/ToggleButtonGroup/ToggleButtonGroupUncontrolled.js +1 -1
  573. package/dist/components/ToggleButtonGroup/index.d.ts +3 -3
  574. package/dist/components/ToggleButtonGroup/index.js +2 -2
  575. package/dist/components/ToggleButtonGroup/tests/ToggleButtonGroup.stories.d.ts +1 -1
  576. package/dist/components/ToggleButtonGroup/tests/ToggleButtonGroup.stories.js +134 -140
  577. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  578. package/dist/components/Tooltip/Tooltip.js +3 -1
  579. package/dist/components/Tooltip/Tooltip.types.d.ts +1 -1
  580. package/dist/components/Tooltip/index.d.ts +2 -2
  581. package/dist/components/Tooltip/index.js +1 -1
  582. package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +1 -1
  583. package/dist/components/Tooltip/tests/Tooltip.stories.js +144 -150
  584. package/dist/components/View/View.d.ts +1 -1
  585. package/dist/components/View/View.js +4 -4
  586. package/dist/components/View/View.types.d.ts +5 -5
  587. package/dist/components/View/index.d.ts +2 -2
  588. package/dist/components/View/index.js +1 -1
  589. package/dist/components/View/tests/View.stories.d.ts +2 -2
  590. package/dist/components/View/tests/View.stories.js +1098 -1131
  591. package/dist/components/_private/Aligner/Aligner.d.ts +1 -1
  592. package/dist/components/_private/Aligner/Aligner.types.d.ts +1 -1
  593. package/dist/components/_private/Aligner/index.d.ts +2 -2
  594. package/dist/components/_private/Aligner/index.js +1 -1
  595. package/dist/components/_private/Freeze/Freeze.d.ts +4 -0
  596. package/dist/components/_private/Freeze/Freeze.js +46 -0
  597. package/dist/components/_private/Freeze/Freeze.module.css +1 -0
  598. package/dist/components/_private/Freeze/Freeze.types.d.ts +14 -0
  599. package/dist/components/_private/Freeze/Freeze.types.js +1 -0
  600. package/dist/components/_private/Freeze/index.d.ts +1 -0
  601. package/dist/components/_private/Freeze/index.js +1 -0
  602. package/dist/components/_private/Freeze/tests/Freeze.stories.d.ts +7 -0
  603. package/dist/components/_private/Freeze/tests/Freeze.stories.js +82 -0
  604. package/dist/components/_private/Portal/Portal.d.ts +1 -1
  605. package/dist/components/_private/Portal/Portal.js +11 -5
  606. package/dist/components/_private/Portal/Portal.types.d.ts +1 -1
  607. package/dist/components/_private/Portal/index.d.ts +2 -2
  608. package/dist/components/_private/Portal/index.js +1 -1
  609. package/dist/components/_private/Portal/tests/Portal.stories.d.ts +2 -0
  610. package/dist/components/_private/Portal/tests/Portal.stories.js +40 -15
  611. package/dist/components/_private/Presence/Presence.d.ts +1 -1
  612. package/dist/components/_private/Presence/Presence.js +1 -1
  613. package/dist/components/_private/Presence/Presence.types.d.ts +1 -1
  614. package/dist/components/_private/Presence/index.d.ts +1 -1
  615. package/dist/components/_private/Presence/index.js +1 -1
  616. package/dist/hooks/_internal/useDrag.js +4 -4
  617. package/dist/hooks/_internal/useFadeSide.js +2 -2
  618. package/dist/hooks/_internal/useSingletonHotkeys.js +4 -0
  619. package/dist/hooks/_internal/useSingletonRTL.d.ts +5 -0
  620. package/dist/hooks/_internal/useSingletonRTL.js +2 -2
  621. package/dist/hooks/_internal/useSingletonViewport.d.ts +1 -1
  622. package/dist/hooks/_internal/useSingletonViewport.js +1 -1
  623. package/dist/hooks/tests/useDrag.stories.js +57 -63
  624. package/dist/hooks/tests/useElementId.stories.js +7 -13
  625. package/dist/hooks/tests/useHandlerRef.stories.js +12 -18
  626. package/dist/hooks/tests/useHotkeys.stories.d.ts +3 -0
  627. package/dist/hooks/tests/useHotkeys.stories.js +65 -54
  628. package/dist/hooks/tests/useKeyboardArrowNavigation.stories.js +56 -62
  629. package/dist/hooks/tests/useKeyboardMode.stories.js +16 -22
  630. package/dist/hooks/tests/useOnClickOutside.stories.d.ts +10 -0
  631. package/dist/hooks/tests/useOnClickOutside.stories.js +130 -48
  632. package/dist/hooks/tests/useRTL.stories.js +8 -14
  633. package/dist/hooks/tests/useResponsiveClientValue.stories.js +8 -14
  634. package/dist/hooks/tests/useScrollLock.stories.js +37 -43
  635. package/dist/hooks/tests/useToggle.stories.js +20 -26
  636. package/dist/hooks/useHandlerRef.js +1 -1
  637. package/dist/hooks/useHotkeys.d.ts +1 -1
  638. package/dist/hooks/useHotkeys.js +1 -1
  639. package/dist/hooks/useIsDismissible.js +1 -1
  640. package/dist/hooks/useKeyboardArrowNavigation.js +1 -1
  641. package/dist/hooks/useKeyboardMode.d.ts +1 -1
  642. package/dist/hooks/useKeyboardMode.js +1 -1
  643. package/dist/hooks/useOnClickOutside.js +23 -19
  644. package/dist/hooks/useRTL.d.ts +2 -2
  645. package/dist/hooks/useRTL.js +4 -2
  646. package/dist/hooks/useResponsiveClientValue.d.ts +1 -1
  647. package/dist/hooks/useResponsiveClientValue.js +1 -1
  648. package/dist/hooks/useViewport.d.ts +1 -1
  649. package/dist/hooks/useViewport.js +1 -1
  650. package/dist/index.d.ts +139 -139
  651. package/dist/index.js +76 -76
  652. package/dist/styles/mixin.d.ts +1 -1
  653. package/dist/styles/mixin.js +18 -18
  654. package/dist/styles/resolvers/align/index.d.ts +1 -1
  655. package/dist/styles/resolvers/align/index.js +1 -1
  656. package/dist/styles/resolvers/aspectRatio/index.d.ts +1 -1
  657. package/dist/styles/resolvers/aspectRatio/index.js +1 -1
  658. package/dist/styles/resolvers/bleed/index.d.ts +1 -1
  659. package/dist/styles/resolvers/bleed/index.js +1 -1
  660. package/dist/styles/resolvers/border/index.d.ts +1 -1
  661. package/dist/styles/resolvers/border/index.js +1 -1
  662. package/dist/styles/resolvers/height/index.d.ts +1 -1
  663. package/dist/styles/resolvers/height/index.js +1 -1
  664. package/dist/styles/resolvers/inset/index.d.ts +2 -2
  665. package/dist/styles/resolvers/inset/index.js +12 -2
  666. package/dist/styles/resolvers/inset/inset.css +1 -1
  667. package/dist/styles/resolvers/justify/index.d.ts +1 -1
  668. package/dist/styles/resolvers/justify/index.js +1 -1
  669. package/dist/styles/resolvers/margin/index.d.ts +1 -1
  670. package/dist/styles/resolvers/margin/index.js +1 -1
  671. package/dist/styles/resolvers/maxHeight/index.d.ts +1 -1
  672. package/dist/styles/resolvers/maxHeight/index.js +1 -1
  673. package/dist/styles/resolvers/maxWidth/index.d.ts +1 -1
  674. package/dist/styles/resolvers/maxWidth/index.js +1 -1
  675. package/dist/styles/resolvers/minHeight/index.d.ts +1 -1
  676. package/dist/styles/resolvers/minHeight/index.js +1 -1
  677. package/dist/styles/resolvers/minWidth/index.d.ts +1 -1
  678. package/dist/styles/resolvers/minWidth/index.js +1 -1
  679. package/dist/styles/resolvers/padding/index.d.ts +1 -1
  680. package/dist/styles/resolvers/padding/index.js +1 -1
  681. package/dist/styles/resolvers/position/index.d.ts +1 -1
  682. package/dist/styles/resolvers/position/index.js +1 -1
  683. package/dist/styles/resolvers/radius/index.d.ts +1 -1
  684. package/dist/styles/resolvers/radius/index.js +1 -1
  685. package/dist/styles/resolvers/shadow/index.d.ts +1 -1
  686. package/dist/styles/resolvers/textAlign/index.d.ts +1 -1
  687. package/dist/styles/resolvers/textAlign/index.js +1 -1
  688. package/dist/styles/resolvers/width/index.d.ts +1 -1
  689. package/dist/styles/resolvers/width/index.js +1 -1
  690. package/dist/styles/resolvers/zIndex/index.d.ts +1 -1
  691. package/dist/styles/types.d.ts +2 -2
  692. package/dist/tests/ShadowDOM.stories.js +46 -86
  693. package/dist/tests/ThemesPlayground.js +22 -22
  694. package/dist/tests/themes.stories.js +207 -250
  695. package/dist/themes/slate/theme.css +1 -1
  696. package/dist/utilities/animation.d.ts +17 -0
  697. package/dist/utilities/animation.js +73 -0
  698. package/dist/utilities/props.d.ts +2 -2
  699. package/dist/utilities/storybook/Example.js +2 -2
  700. package/dist/utilities/storybook/index.d.ts +2 -2
  701. package/dist/utilities/storybook/index.js +2 -2
  702. package/package.json +8 -7
  703. package/dist/bundle.d.ts +0 -158
  704. package/dist/bundle.js +0 -2
@@ -1,259 +1,229 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.triggerOnly = exports.defaultHandlers = exports.nativeHandlers = exports.nativeOptgroup = exports.nativeRender = exports.testComposition = exports.formControl = exports.fallback = exports.className = exports.disabled = exports.error = exports.renderTrigger = exports.renderValue = exports.startSlot = exports.size = exports.variant = exports.multiple = exports.selectedIconPosition = exports.base = void 0;
40
- const react_1 = __importDefault(require("react"));
41
- const test_1 = require("storybook/test");
42
- const Actionable_1 = __importDefault(require("../../../components/Actionable"));
43
- const Badge_1 = __importDefault(require("../../../components/Badge"));
44
- const FormControl_1 = __importDefault(require("../../../components/FormControl"));
45
- const MenuItem_1 = __importDefault(require("../../../components/MenuItem"));
46
- const Modal_1 = __importDefault(require("../../../components/Modal"));
47
- const Select_1 = __importStar(require("../../../components/Select"));
48
- const Text_1 = __importDefault(require("../../../components/Text"));
49
- const View_1 = __importDefault(require("../../../components/View"));
50
- const useToggle_1 = __importDefault(require("../../../hooks/useToggle"));
51
- const storybook_1 = require("../../../utilities/storybook");
52
- const Zap_1 = __importDefault(require("../../../icons/Zap"));
53
- exports.default = {
1
+ import React from "react";
2
+ import { expect, fn, userEvent, waitFor, within } from "storybook/test";
3
+ import Actionable from "../../../components/Actionable/index.js";
4
+ import Badge from "../../../components/Badge/index.js";
5
+ import FormControl from "../../../components/FormControl/index.js";
6
+ import MenuItem from "../../../components/MenuItem/index.js";
7
+ import Modal from "../../../components/Modal/index.js";
8
+ import Select, { SelectTrigger } from "../../../components/Select/index.js";
9
+ import Text from "../../../components/Text/index.js";
10
+ import View from "../../../components/View/index.js";
11
+ import useToggle from "../../../hooks/useToggle.js";
12
+ import { Example, Placeholder } from "../../../utilities/storybook/index.js";
13
+ import IconZap from "../../../icons/Zap.js";
14
+ export default {
54
15
  title: "Components/Select",
55
- component: Select_1.default,
16
+ component: Select,
56
17
  parameters: {
57
18
  iframe: {
58
19
  url: "https://reshaped.so/docs/components/select",
59
20
  },
60
21
  },
61
22
  };
62
- exports.base = {
23
+ export const base = {
63
24
  name: "name, id, option groups",
64
- render: () => (<storybook_1.Example>
65
- <storybook_1.Example.Item title="default with options">
66
- <Select_1.default name="animal" id="animal-1" placeholder="Select an animal" inputAttributes={{
25
+ render: () => (<Example>
26
+ <Example.Item title="default with options">
27
+ <Select name="animal" id="animal-1" placeholder="Select an animal" inputAttributes={{
67
28
  "aria-label": "Select an animal",
68
29
  }}>
69
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
70
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
71
- </Select_1.default>
72
- </storybook_1.Example.Item>
73
- <storybook_1.Example.Item title="default with option groups">
74
- <Select_1.default name="animal-2" id="animal-2" placeholder="Select an animal" inputAttributes={{
30
+ <Select.Option value="dog">Dog</Select.Option>
31
+ <Select.Option value="turtle">Turtle</Select.Option>
32
+ </Select>
33
+ </Example.Item>
34
+ <Example.Item title="default with option groups">
35
+ <Select name="animal-2" id="animal-2" placeholder="Select an animal" inputAttributes={{
75
36
  "aria-label": "Select an animal",
76
37
  }}>
77
- <Select_1.default.Group label="Birds">
78
- <Select_1.default.Option value="pigeon">Pigeon</Select_1.default.Option>
79
- <Select_1.default.Option value="parrot">Parrot</Select_1.default.Option>
80
- </Select_1.default.Group>
81
- <Select_1.default.Group label="Sea Mammals">
82
- <Select_1.default.Option value="whale">Whale</Select_1.default.Option>
83
- <Select_1.default.Option value="dolphin">Dolphin</Select_1.default.Option>
84
- </Select_1.default.Group>
85
- </Select_1.default>
86
- </storybook_1.Example.Item>
87
- </storybook_1.Example>),
38
+ <Select.Group label="Birds">
39
+ <Select.Option value="pigeon">Pigeon</Select.Option>
40
+ <Select.Option value="parrot">Parrot</Select.Option>
41
+ </Select.Group>
42
+ <Select.Group label="Sea Mammals">
43
+ <Select.Option value="whale">Whale</Select.Option>
44
+ <Select.Option value="dolphin">Dolphin</Select.Option>
45
+ </Select.Group>
46
+ </Select>
47
+ </Example.Item>
48
+ </Example>),
88
49
  play: async ({ canvas, canvasElement }) => {
89
50
  const [trigger] = canvas.getAllByRole("button");
90
51
  const hiddenInputs = canvasElement.querySelectorAll('input[type="hidden"]');
91
52
  const [hiddenInput] = Array.from(hiddenInputs);
92
53
  // Testing only options
93
- (0, test_1.expect)(hiddenInput).toHaveAttribute("name", "animal");
94
- (0, test_1.expect)(hiddenInput).toHaveAttribute("id", "animal-1");
95
- (0, test_1.expect)(trigger).toHaveTextContent("Select an animal");
96
- await test_1.userEvent.click(trigger);
97
- const options = (0, test_1.within)(canvasElement.ownerDocument.body).getAllByRole("option");
98
- (0, test_1.expect)(options).toHaveLength(2);
99
- (0, test_1.expect)(options[0]).toHaveTextContent("Dog");
100
- (0, test_1.expect)(options[1]).toHaveTextContent("Turtle");
101
- await test_1.userEvent.click(document.body);
54
+ expect(hiddenInput).toHaveAttribute("name", "animal");
55
+ expect(hiddenInput).toHaveAttribute("id", "animal-1");
56
+ expect(trigger).toHaveTextContent("Select an animal");
57
+ expect(trigger).toHaveAttribute("aria-haspopup", "listbox");
58
+ await userEvent.click(trigger);
59
+ const listbox = within(canvasElement.ownerDocument.body).getByRole("listbox");
60
+ const options = within(listbox).getAllByRole("option");
61
+ expect(listbox).not.toHaveAttribute("aria-multiselectable");
62
+ expect(options).toHaveLength(2);
63
+ expect(options[0]).toHaveTextContent("Dog");
64
+ expect(options[1]).toHaveTextContent("Turtle");
65
+ await userEvent.click(document.body);
66
+ // Wait for the previous menu to finish its hide animation
67
+ await waitFor(() => {
68
+ expect(within(canvasElement.ownerDocument.body).queryAllByRole("option")).toHaveLength(0);
69
+ });
102
70
  const [_, triggerWithGroups] = canvas.getAllByRole("button");
103
71
  const hiddenInputs2 = canvasElement.querySelectorAll('input[type="hidden"]');
104
72
  const [__, hiddenInputWithGroups] = Array.from(hiddenInputs2);
105
- await test_1.userEvent.click(triggerWithGroups);
106
- const optionsWithGroups = (0, test_1.within)(canvasElement.ownerDocument.body).getAllByRole("option");
107
- const optionGroups = (0, test_1.within)(canvasElement.ownerDocument.body).getAllByRole("group");
108
- (0, test_1.expect)(hiddenInputWithGroups).toHaveAttribute("name", "animal-2");
109
- (0, test_1.expect)(hiddenInputWithGroups).toHaveAttribute("id", "animal-2");
110
- (0, test_1.expect)(triggerWithGroups).toHaveTextContent("Select an animal");
111
- (0, test_1.expect)(optionGroups).toHaveLength(2);
112
- (0, test_1.expect)(optionGroups[0]).toHaveTextContent("Birds");
113
- (0, test_1.expect)(optionGroups[1]).toHaveTextContent("Sea Mammals");
114
- (0, test_1.expect)(optionsWithGroups).toHaveLength(4);
115
- (0, test_1.expect)(optionsWithGroups[0]).toHaveTextContent("Pigeon");
116
- (0, test_1.expect)(optionsWithGroups[1]).toHaveTextContent("Parrot");
117
- (0, test_1.expect)(optionsWithGroups[2]).toHaveTextContent("Whale");
118
- (0, test_1.expect)(optionsWithGroups[3]).toHaveTextContent("Dolphin");
73
+ await userEvent.click(triggerWithGroups);
74
+ const optionsWithGroups = within(canvasElement.ownerDocument.body).getAllByRole("option");
75
+ const optionGroups = within(canvasElement.ownerDocument.body).getAllByRole("group");
76
+ expect(hiddenInputWithGroups).toHaveAttribute("name", "animal-2");
77
+ expect(hiddenInputWithGroups).toHaveAttribute("id", "animal-2");
78
+ expect(triggerWithGroups).toHaveTextContent("Select an animal");
79
+ expect(optionGroups).toHaveLength(2);
80
+ expect(optionGroups[0]).toHaveTextContent("Birds");
81
+ expect(optionGroups[1]).toHaveTextContent("Sea Mammals");
82
+ expect(optionsWithGroups).toHaveLength(4);
83
+ expect(optionsWithGroups[0]).toHaveTextContent("Pigeon");
84
+ expect(optionsWithGroups[1]).toHaveTextContent("Parrot");
85
+ expect(optionsWithGroups[2]).toHaveTextContent("Whale");
86
+ expect(optionsWithGroups[3]).toHaveTextContent("Dolphin");
119
87
  },
120
88
  };
121
- exports.selectedIconPosition = {
89
+ export const selectedIconPosition = {
122
90
  name: "selectedIconPosition",
123
- render: () => (<storybook_1.Example>
124
- <storybook_1.Example.Item title="selectedIconPosition: start">
125
- <Select_1.default name="animal" placeholder="Select an animal" selectedIconPosition="start">
126
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
127
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
128
- </Select_1.default>
129
- </storybook_1.Example.Item>
130
- <storybook_1.Example.Item title="selectedIconPosition: end">
131
- <Select_1.default name="animal" placeholder="Select an animal" selectedIconPosition="end">
132
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
133
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
134
- </Select_1.default>
135
- </storybook_1.Example.Item>
136
- </storybook_1.Example>),
91
+ render: () => (<Example>
92
+ <Example.Item title="selectedIconPosition: start">
93
+ <Select name="animal" placeholder="Select an animal" selectedIconPosition="start">
94
+ <Select.Option value="dog">Dog</Select.Option>
95
+ <Select.Option value="turtle">Turtle</Select.Option>
96
+ </Select>
97
+ </Example.Item>
98
+ <Example.Item title="selectedIconPosition: end">
99
+ <Select name="animal" placeholder="Select an animal" selectedIconPosition="end">
100
+ <Select.Option value="dog">Dog</Select.Option>
101
+ <Select.Option value="turtle">Turtle</Select.Option>
102
+ </Select>
103
+ </Example.Item>
104
+ </Example>),
137
105
  };
138
- exports.multiple = {
106
+ export const multiple = {
139
107
  name: "multiple",
140
108
  args: {
141
- handleChange: (0, test_1.fn)(),
109
+ handleChange: fn(),
142
110
  },
143
- render: (args) => (<storybook_1.Example>
144
- <storybook_1.Example.Item title="multiple">
145
- <Select_1.default multiple name="animal" placeholder="Select an animal" defaultValue={["dog"]} onChange={args.handleChange} renderValue={(args) => args.value.join(", ")}>
146
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
147
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
148
- </Select_1.default>
149
- </storybook_1.Example.Item>
150
- </storybook_1.Example>),
111
+ render: (args) => (<Example>
112
+ <Example.Item title="multiple">
113
+ <Select multiple name="animal" placeholder="Select an animal" defaultValue={["dog"]} onChange={args.handleChange} renderValue={(args) => args.value.join(", ")}>
114
+ <Select.Option value="dog">Dog</Select.Option>
115
+ <Select.Option value="turtle">Turtle</Select.Option>
116
+ </Select>
117
+ </Example.Item>
118
+ </Example>),
151
119
  play: async ({ canvas, canvasElement, args }) => {
152
120
  const [uncontrolled] = canvas.getAllByRole("button");
153
121
  const hiddenInputs = canvasElement.querySelectorAll('input[type="hidden"]');
154
122
  const [inputUncontrolled] = Array.from(hiddenInputs);
155
123
  // Uncontrolled
156
- (0, test_1.expect)(inputUncontrolled).toHaveValue('["dog"]');
157
- await test_1.userEvent.click(uncontrolled);
158
- const [_, uncontrolledOption] = (0, test_1.within)(canvasElement.ownerDocument.body).getAllByRole("option");
159
- await test_1.userEvent.click(uncontrolledOption);
160
- (0, test_1.expect)(inputUncontrolled).toHaveValue('["dog","turtle"]');
161
- (0, test_1.expect)(args.handleChange).toHaveBeenCalledTimes(1);
162
- (0, test_1.expect)(args.handleChange).toHaveBeenCalledWith({
124
+ expect(inputUncontrolled).toHaveValue('["dog"]');
125
+ await userEvent.click(uncontrolled);
126
+ const [_, uncontrolledOption] = within(canvasElement.ownerDocument.body).getAllByRole("option");
127
+ await userEvent.click(uncontrolledOption);
128
+ // Content stays open to select multiple options
129
+ expect(within(canvasElement.ownerDocument.body).getByRole("listbox")).toHaveAttribute("aria-multiselectable", "true");
130
+ expect(inputUncontrolled).toHaveValue('["dog","turtle"]');
131
+ expect(args.handleChange).toHaveBeenCalledTimes(1);
132
+ expect(args.handleChange).toHaveBeenCalledWith({
163
133
  name: "animal",
164
134
  value: ["dog", "turtle"],
165
135
  });
166
136
  },
167
137
  };
168
- exports.variant = {
138
+ export const variant = {
169
139
  name: "variant",
170
- render: () => (<storybook_1.Example>
171
- <storybook_1.Example.Item title="variant: faded">
172
- <Select_1.default variant="faded" name="animal-2" placeholder="Select an animal" inputAttributes={{ "aria-label": "Select an animal" }}>
173
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
174
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
175
- </Select_1.default>
176
- </storybook_1.Example.Item>
140
+ render: () => (<Example>
141
+ <Example.Item title="variant: faded">
142
+ <Select variant="faded" name="animal-2" placeholder="Select an animal" inputAttributes={{ "aria-label": "Select an animal" }}>
143
+ <Select.Option value="dog">Dog</Select.Option>
144
+ <Select.Option value="turtle">Turtle</Select.Option>
145
+ </Select>
146
+ </Example.Item>
177
147
 
178
- <storybook_1.Example.Item title="variant: ghost">
179
- <Select_1.default variant="ghost" name="animal-4" placeholder="Select an animal" inputAttributes={{ "aria-label": "Select an animal" }}>
180
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
181
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
182
- </Select_1.default>
183
- </storybook_1.Example.Item>
148
+ <Example.Item title="variant: ghost">
149
+ <Select variant="ghost" name="animal-4" placeholder="Select an animal" inputAttributes={{ "aria-label": "Select an animal" }}>
150
+ <Select.Option value="dog">Dog</Select.Option>
151
+ <Select.Option value="turtle">Turtle</Select.Option>
152
+ </Select>
153
+ </Example.Item>
184
154
 
185
- <storybook_1.Example.Item title="variant: headless">
186
- <Select_1.default variant="headless" name="animal-6" placeholder="Select an animal" inputAttributes={{ "aria-label": "Select an animal" }}>
187
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
188
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
189
- </Select_1.default>
190
- </storybook_1.Example.Item>
191
- </storybook_1.Example>),
155
+ <Example.Item title="variant: headless">
156
+ <Select variant="headless" name="animal-6" placeholder="Select an animal" inputAttributes={{ "aria-label": "Select an animal" }}>
157
+ <Select.Option value="dog">Dog</Select.Option>
158
+ <Select.Option value="turtle">Turtle</Select.Option>
159
+ </Select>
160
+ </Example.Item>
161
+ </Example>),
192
162
  };
193
- exports.size = {
163
+ export const size = {
194
164
  name: "size",
195
- render: () => (<storybook_1.Example>
196
- <storybook_1.Example.Item title="size: small">
197
- <Select_1.default size="small" name="animal" placeholder="Select an animal">
198
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
199
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
200
- </Select_1.default>
201
- </storybook_1.Example.Item>
202
- <storybook_1.Example.Item title="size: medium">
203
- <Select_1.default size="medium" name="animal" placeholder="Select an animal">
204
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
205
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
206
- </Select_1.default>
207
- </storybook_1.Example.Item>
208
- <storybook_1.Example.Item title="size: large">
209
- <Select_1.default size="large" name="animal" placeholder="Select an animal">
210
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
211
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
212
- </Select_1.default>
213
- </storybook_1.Example.Item>
214
- <storybook_1.Example.Item title="size: xlarge">
215
- <Select_1.default size="xlarge" name="animal" placeholder="Select an animal">
216
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
217
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
218
- </Select_1.default>
219
- </storybook_1.Example.Item>
220
- </storybook_1.Example>),
165
+ render: () => (<Example>
166
+ <Example.Item title="size: small">
167
+ <Select size="small" name="animal" placeholder="Select an animal">
168
+ <Select.Option value="dog">Dog</Select.Option>
169
+ <Select.Option value="turtle">Turtle</Select.Option>
170
+ </Select>
171
+ </Example.Item>
172
+ <Example.Item title="size: medium">
173
+ <Select size="medium" name="animal" placeholder="Select an animal">
174
+ <Select.Option value="dog">Dog</Select.Option>
175
+ <Select.Option value="turtle">Turtle</Select.Option>
176
+ </Select>
177
+ </Example.Item>
178
+ <Example.Item title="size: large">
179
+ <Select size="large" name="animal" placeholder="Select an animal">
180
+ <Select.Option value="dog">Dog</Select.Option>
181
+ <Select.Option value="turtle">Turtle</Select.Option>
182
+ </Select>
183
+ </Example.Item>
184
+ <Example.Item title="size: xlarge">
185
+ <Select size="xlarge" name="animal" placeholder="Select an animal">
186
+ <Select.Option value="dog">Dog</Select.Option>
187
+ <Select.Option value="turtle">Turtle</Select.Option>
188
+ </Select>
189
+ </Example.Item>
190
+ </Example>),
221
191
  };
222
- exports.startSlot = {
192
+ export const startSlot = {
223
193
  name: "icon,startSlot",
224
- render: () => (<storybook_1.Example>
225
- <storybook_1.Example.Item title="icon">
226
- <Select_1.default name="animal" placeholder="Select an animal" icon={Zap_1.default}>
227
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
228
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
229
- </Select_1.default>
230
- </storybook_1.Example.Item>
194
+ render: () => (<Example>
195
+ <Example.Item title="icon">
196
+ <Select name="animal" placeholder="Select an animal" icon={IconZap}>
197
+ <Select.Option value="dog">Dog</Select.Option>
198
+ <Select.Option value="turtle">Turtle</Select.Option>
199
+ </Select>
200
+ </Example.Item>
231
201
 
232
- <storybook_1.Example.Item title="startSlot">
233
- <Select_1.default name="animal" placeholder="Select an animal" startSlot={<storybook_1.Placeholder h={20}/>}>
234
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
235
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
236
- </Select_1.default>
237
- </storybook_1.Example.Item>
202
+ <Example.Item title="startSlot">
203
+ <Select name="animal" placeholder="Select an animal" startSlot={<Placeholder h={20}/>}>
204
+ <Select.Option value="dog">Dog</Select.Option>
205
+ <Select.Option value="turtle">Turtle</Select.Option>
206
+ </Select>
207
+ </Example.Item>
238
208
 
239
- <storybook_1.Example.Item title="selectedIconPosition: end">
240
- <Select_1.default name="animal" placeholder="Select an animal" selectedIconPosition="end" defaultValue="dog">
241
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
242
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
243
- </Select_1.default>
244
- </storybook_1.Example.Item>
209
+ <Example.Item title="selectedIconPosition: end">
210
+ <Select name="animal" placeholder="Select an animal" selectedIconPosition="end" defaultValue="dog">
211
+ <Select.Option value="dog">Dog</Select.Option>
212
+ <Select.Option value="turtle">Turtle</Select.Option>
213
+ </Select>
214
+ </Example.Item>
245
215
 
246
- <storybook_1.Example.Item title="selectedIconPosition: end (endSlot overrides check)">
247
- <Select_1.default name="animal" placeholder="Select an animal" selectedIconPosition="end" defaultValue="dog">
248
- <Select_1.default.Option value="dog" endSlot={<storybook_1.Placeholder w={20} h={20}/>}>
216
+ <Example.Item title="selectedIconPosition: end (endSlot overrides check)">
217
+ <Select name="animal" placeholder="Select an animal" selectedIconPosition="end" defaultValue="dog">
218
+ <Select.Option value="dog" endSlot={<Placeholder w={20} h={20}/>}>
249
219
  Dog
250
- </Select_1.default.Option>
251
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
252
- </Select_1.default>
253
- </storybook_1.Example.Item>
254
- </storybook_1.Example>),
220
+ </Select.Option>
221
+ <Select.Option value="turtle">Turtle</Select.Option>
222
+ </Select>
223
+ </Example.Item>
224
+ </Example>),
255
225
  };
256
- exports.renderValue = {
226
+ export const renderValue = {
257
227
  name: "renderValue",
258
228
  render: () => {
259
229
  const options = [
@@ -268,213 +238,221 @@ exports.renderValue = {
268
238
  subtitle: "Subtitle 2",
269
239
  },
270
240
  ];
271
- return (<storybook_1.Example>
272
- <storybook_1.Example.Item title="default renderer, single">
273
- <Select_1.default name="animal" defaultValue="1" placeholder="Nothing selected">
274
- {options.map((option) => (<Select_1.default.Option key={option.value} value={option.value}>
275
- <Text_1.default weight="medium">{option.label}</Text_1.default>
276
- <Text_1.default weight="regular" color="neutral-faded">
241
+ return (<Example>
242
+ <Example.Item title="default renderer, single">
243
+ <Select name="animal" defaultValue="1" placeholder="Nothing selected">
244
+ {options.map((option) => (<Select.Option key={option.value} value={option.value}>
245
+ <Text weight="medium">{option.label}</Text>
246
+ <Text weight="regular" color="neutral-faded">
277
247
  {option.subtitle}
278
- </Text_1.default>
279
- </Select_1.default.Option>))}
280
- </Select_1.default>
281
- </storybook_1.Example.Item>
248
+ </Text>
249
+ </Select.Option>))}
250
+ </Select>
251
+ </Example.Item>
282
252
 
283
- <storybook_1.Example.Item title="default renderer, multiple">
284
- <Select_1.default name="animal" defaultValue={["1"]} multiple placeholder="Nothing selected" renderValue={(args) => args.value.join(", ")}>
285
- {options.map((option) => (<Select_1.default.Option key={option.value} value={option.value}>
286
- <Text_1.default weight="medium">{option.label}</Text_1.default>
287
- <Text_1.default weight="regular" color="neutral-faded">
253
+ <Example.Item title="default renderer, multiple">
254
+ <Select name="animal" defaultValue={["1"]} multiple placeholder="Nothing selected" renderValue={(args) => args.value.join(", ")}>
255
+ {options.map((option) => (<Select.Option key={option.value} value={option.value}>
256
+ <Text weight="medium">{option.label}</Text>
257
+ <Text weight="regular" color="neutral-faded">
288
258
  {option.subtitle}
289
- </Text_1.default>
290
- </Select_1.default.Option>))}
291
- </Select_1.default>
292
- </storybook_1.Example.Item>
259
+ </Text>
260
+ </Select.Option>))}
261
+ </Select>
262
+ </Example.Item>
293
263
 
294
- <storybook_1.Example.Item title="renderValue, single">
295
- <Select_1.default name="animal" defaultValue="1" placeholder="Nothing selected" renderValue={(args) => <Badge_1.default>Title {args.value}</Badge_1.default>}>
296
- {options.map((option) => (<Select_1.default.Option key={option.value} value={option.value}>
297
- <Text_1.default weight="medium">{option.label}</Text_1.default>
298
- <Text_1.default weight="regular" color="neutral-faded">
264
+ <Example.Item title="renderValue, single">
265
+ <Select name="animal" defaultValue="1" placeholder="Nothing selected" renderValue={(args) => <Badge>Title {args.value}</Badge>}>
266
+ {options.map((option) => (<Select.Option key={option.value} value={option.value}>
267
+ <Text weight="medium">{option.label}</Text>
268
+ <Text weight="regular" color="neutral-faded">
299
269
  {option.subtitle}
300
- </Text_1.default>
301
- </Select_1.default.Option>))}
302
- </Select_1.default>
303
- </storybook_1.Example.Item>
270
+ </Text>
271
+ </Select.Option>))}
272
+ </Select>
273
+ </Example.Item>
304
274
 
305
- <storybook_1.Example.Item title="renderValue, multiple">
306
- <Select_1.default name="animal" defaultValue={["1"]} multiple placeholder="Nothing selected" renderValue={(args) => <Badge_1.default>Titles {args.value.join(", ")}</Badge_1.default>}>
307
- {options.map((option) => (<Select_1.default.Option key={option.value} value={option.value}>
308
- <Text_1.default weight="medium">{option.label}</Text_1.default>
309
- <Text_1.default weight="regular" color="neutral-faded">
275
+ <Example.Item title="renderValue, multiple">
276
+ <Select name="animal" defaultValue={["1"]} multiple placeholder="Nothing selected" renderValue={(args) => <Badge>Titles {args.value.join(", ")}</Badge>}>
277
+ {options.map((option) => (<Select.Option key={option.value} value={option.value}>
278
+ <Text weight="medium">{option.label}</Text>
279
+ <Text weight="regular" color="neutral-faded">
310
280
  {option.subtitle}
311
- </Text_1.default>
312
- </Select_1.default.Option>))}
313
- </Select_1.default>
314
- </storybook_1.Example.Item>
315
- </storybook_1.Example>);
281
+ </Text>
282
+ </Select.Option>))}
283
+ </Select>
284
+ </Example.Item>
285
+ </Example>);
316
286
  },
317
287
  };
318
- exports.renderTrigger = {
288
+ export const renderTrigger = {
319
289
  name: "renderTrigger",
320
290
  args: {
321
- handleChange: (0, test_1.fn)(),
291
+ handleChange: fn(),
322
292
  },
323
- render: (args) => (<storybook_1.Example>
324
- <storybook_1.Example.Item title="renderTrigger">
325
- <Select_1.default name="animal" position="bottom-start" width="200px" size="small" placeholder="Select an animal" onChange={args.handleChange} renderTrigger={(attributes) => (<Actionable_1.default attributes={attributes}>
326
- <View_1.default direction="row" gap={1} align="center">
327
- <Text_1.default color="neutral-faded">{attributes.children}</Text_1.default>
328
- </View_1.default>
329
- </Actionable_1.default>)}>
330
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
331
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
332
- </Select_1.default>
333
- </storybook_1.Example.Item>
334
- </storybook_1.Example>),
293
+ render: (args) => (<Example>
294
+ <Example.Item title="renderTrigger">
295
+ <Select name="animal" position="bottom-start" width="200px" size="small" placeholder="Select an animal" onChange={args.handleChange} renderTrigger={(attributes) => (<Actionable attributes={attributes}>
296
+ <View direction="row" gap={1} align="center">
297
+ <Text color="neutral-faded">{attributes.children}</Text>
298
+ </View>
299
+ </Actionable>)}>
300
+ <Select.Option value="dog">Dog</Select.Option>
301
+ <Select.Option value="turtle">Turtle</Select.Option>
302
+ </Select>
303
+ </Example.Item>
304
+ </Example>),
335
305
  play: async ({ canvas, canvasElement, args }) => {
336
306
  const [trigger] = canvas.getAllByRole("button");
337
307
  const [hiddenInput] = Array.from(canvasElement.querySelectorAll('input[type="hidden"]'));
338
- (0, test_1.expect)(hiddenInput).toHaveAttribute("name", "animal");
339
- (0, test_1.expect)(hiddenInput).toHaveValue("");
340
- (0, test_1.expect)(trigger).toHaveTextContent("Select an animal");
341
- (0, test_1.expect)(trigger).toHaveAttribute("aria-expanded", "false");
342
- await test_1.userEvent.click(trigger);
343
- (0, test_1.expect)(trigger).toHaveAttribute("aria-expanded", "true");
344
- const [_, option] = (0, test_1.within)(canvasElement.ownerDocument.body).getAllByRole("option");
345
- await test_1.userEvent.click(option);
346
- (0, test_1.expect)(hiddenInput).toHaveValue("turtle");
347
- (0, test_1.expect)(trigger).toHaveTextContent("Turtle");
348
- (0, test_1.expect)(trigger).toHaveAttribute("aria-expanded", "false");
349
- (0, test_1.expect)(args.handleChange).toHaveBeenCalledTimes(1);
350
- (0, test_1.expect)(args.handleChange).toHaveBeenCalledWith({
308
+ expect(hiddenInput).toHaveAttribute("name", "animal");
309
+ expect(hiddenInput).toHaveValue("");
310
+ expect(trigger).toHaveTextContent("Select an animal");
311
+ expect(trigger).toHaveAttribute("aria-expanded", "false");
312
+ await userEvent.click(trigger);
313
+ expect(trigger).toHaveAttribute("aria-expanded", "true");
314
+ const [_, option] = within(canvasElement.ownerDocument.body).getAllByRole("option");
315
+ await userEvent.click(option);
316
+ expect(hiddenInput).toHaveValue("turtle");
317
+ expect(trigger).toHaveTextContent("Turtle");
318
+ // Trigger stays expanded until the hide animation ends
319
+ await waitFor(() => {
320
+ expect(trigger).toHaveAttribute("aria-expanded", "false");
321
+ });
322
+ expect(args.handleChange).toHaveBeenCalledTimes(1);
323
+ expect(args.handleChange).toHaveBeenCalledWith({
351
324
  name: "animal",
352
325
  value: "turtle",
353
326
  });
354
327
  },
355
328
  };
356
- exports.error = {
329
+ export const error = {
357
330
  name: "error",
358
- render: () => (<storybook_1.Example>
359
- <storybook_1.Example.Item title="error">
360
- <Select_1.default name="animal" placeholder="Select an animal" hasError>
361
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
362
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
363
- </Select_1.default>
364
- </storybook_1.Example.Item>
365
- </storybook_1.Example>),
331
+ render: () => (<Example>
332
+ <Example.Item title="error">
333
+ <Select name="animal" placeholder="Select an animal" hasError>
334
+ <Select.Option value="dog">Dog</Select.Option>
335
+ <Select.Option value="turtle">Turtle</Select.Option>
336
+ </Select>
337
+ </Example.Item>
338
+ </Example>),
366
339
  };
367
- exports.disabled = {
340
+ export const disabled = {
368
341
  name: "disabled",
369
- render: () => (<storybook_1.Example>
370
- <storybook_1.Example.Item title="disabled">
371
- <Select_1.default name="animal-2" placeholder="Select an animal" disabled inputAttributes={{ "aria-label": "Select an animal" }}>
372
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
373
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
374
- </Select_1.default>
375
- </storybook_1.Example.Item>
376
- </storybook_1.Example>),
342
+ render: () => (<Example>
343
+ <Example.Item title="disabled">
344
+ <Select name="animal-2" placeholder="Select an animal" disabled inputAttributes={{ "aria-label": "Select an animal" }}>
345
+ <Select.Option value="dog">Dog</Select.Option>
346
+ <Select.Option value="turtle">Turtle</Select.Option>
347
+ </Select>
348
+ </Example.Item>
349
+ </Example>),
377
350
  play: ({ canvas }) => {
378
351
  const [custom] = canvas.getAllByRole("button");
379
- (0, test_1.expect)(custom).toBeDisabled();
352
+ expect(custom).toBeDisabled();
380
353
  },
381
354
  };
382
- exports.className = {
355
+ export const className = {
383
356
  name: "className, attributes, inputAttributes",
384
- render: () => (<storybook_1.Example>
385
- <storybook_1.Example.Item title="default, className, attributes, inputAttributes">
386
- <Select_1.default name="animal" placeholder="Select an animal" className="custom-class" attributes={{ id: "test-id" }} inputAttributes={{ "aria-label": "test-label" }}>
387
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
388
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
389
- </Select_1.default>
390
- </storybook_1.Example.Item>
391
- </storybook_1.Example>),
357
+ render: () => (<Example>
358
+ <Example.Item title="default, className, attributes, inputAttributes">
359
+ <Select name="animal" placeholder="Select an animal" className="custom-class" attributes={{ id: "test-id" }} inputAttributes={{ "aria-label": "test-label" }}>
360
+ <Select.Option value="dog">Dog</Select.Option>
361
+ <Select.Option value="turtle">Turtle</Select.Option>
362
+ </Select>
363
+ </Example.Item>
364
+ </Example>),
392
365
  play: ({ canvasElement }) => {
393
366
  const custom = canvasElement.querySelector(".custom-class");
394
367
  const [customInput] = canvasElement.querySelectorAll("input[type='hidden']");
395
- (0, test_1.expect)(custom).toHaveAttribute("id", "test-id");
396
- (0, test_1.expect)(customInput).toHaveAttribute("aria-label", "test-label");
368
+ expect(custom).toHaveAttribute("id", "test-id");
369
+ expect(customInput).toHaveAttribute("aria-label", "test-label");
397
370
  },
398
371
  };
399
- exports.fallback = {
372
+ export const fallback = {
400
373
  name: "test: fallbackAdjustLayout",
401
- render: () => (<storybook_1.Example>
402
- <storybook_1.Example.Item title="fallback">
403
- <Select_1.default name="animal" placeholder="Select an animal" inputAttributes={{ "aria-label": "Select an animal" }}>
404
- {[...Array(100)].map((_, index) => (<Select_1.default.Option key={index} value={`item-${index}`}>
374
+ render: () => (<Example>
375
+ <Example.Item title="fallback">
376
+ <Select name="animal" placeholder="Select an animal" inputAttributes={{ "aria-label": "Select an animal" }}>
377
+ {[...Array(100)].map((_, index) => (<Select.Option key={index} value={`item-${index}`}>
405
378
  Item {index + 1}
406
- </Select_1.default.Option>))}
407
- </Select_1.default>
379
+ </Select.Option>))}
380
+ </Select>
408
381
  <div style={{ height: "1000px" }}></div>
409
- <Select_1.default name="animal" placeholder="Select an animal" inputAttributes={{ "aria-label": "Select an animal" }}>
410
- {[...Array(100)].map((_, index) => (<Select_1.default.Option key={index} value={`item-${index}`}>
382
+ <Select name="animal" placeholder="Select an animal" inputAttributes={{ "aria-label": "Select an animal" }}>
383
+ {[...Array(100)].map((_, index) => (<Select.Option key={index} value={`item-${index}`}>
411
384
  Item {index + 1}
412
- </Select_1.default.Option>))}
413
- </Select_1.default>
414
- </storybook_1.Example.Item>
415
- </storybook_1.Example>),
385
+ </Select.Option>))}
386
+ </Select>
387
+ </Example.Item>
388
+ </Example>),
416
389
  };
417
- exports.formControl = {
390
+ export const formControl = {
418
391
  name: "test: with FormControl",
419
- render: () => (<storybook_1.Example>
420
- <storybook_1.Example.Item title="FormControl">
421
- <FormControl_1.default hasError>
422
- <FormControl_1.default.Label>Animal</FormControl_1.default.Label>
423
- <Select_1.default name="animal" placeholder="Select an animal">
424
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
425
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
426
- </Select_1.default>
427
- <FormControl_1.default.Error>This field is required</FormControl_1.default.Error>
428
- </FormControl_1.default>
429
- </storybook_1.Example.Item>
430
- </storybook_1.Example>),
392
+ render: () => (<Example>
393
+ <Example.Item title="FormControl">
394
+ <FormControl hasError>
395
+ <FormControl.Label>Animal</FormControl.Label>
396
+ <Select name="animal" placeholder="Select an animal">
397
+ <Select.Option value="dog">Dog</Select.Option>
398
+ <Select.Option value="turtle">Turtle</Select.Option>
399
+ </Select>
400
+ <FormControl.Error>This field is required</FormControl.Error>
401
+ </FormControl>
402
+ </Example.Item>
403
+ </Example>),
404
+ play: async ({ canvas }) => {
405
+ const trigger = canvas.getByRole("button", { name: /Animal/ });
406
+ expect(trigger).toHaveAccessibleName("Animal Select an animal");
407
+ expect(trigger).toHaveAccessibleDescription("This field is required");
408
+ },
431
409
  };
432
- exports.testComposition = {
410
+ export const testComposition = {
433
411
  name: "test: composition",
434
- render: () => (<storybook_1.Example>
435
- <storybook_1.Example.Item title="default with options">
436
- <Select_1.default name="animal" id="animal" placeholder="Select an animal" inputAttributes={{
412
+ render: () => (<Example>
413
+ <Example.Item title="default with options">
414
+ <Select name="animal" id="animal" placeholder="Select an animal" inputAttributes={{
437
415
  "aria-label": "Select an animal",
438
416
  }}>
439
- <Select_1.default.Group>
440
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
441
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
442
- </Select_1.default.Group>
443
- <Select_1.default.Group>
417
+ <Select.Group>
418
+ <Select.Option value="dog">Dog</Select.Option>
419
+ <Select.Option value="turtle">Turtle</Select.Option>
420
+ </Select.Group>
421
+ <Select.Group>
444
422
  <div>hello</div>
445
- </Select_1.default.Group>
446
- </Select_1.default>
447
- </storybook_1.Example.Item>
448
- </storybook_1.Example>),
423
+ </Select.Group>
424
+ </Select>
425
+ </Example.Item>
426
+ </Example>),
449
427
  };
450
- exports.nativeRender = {
428
+ export const nativeRender = {
451
429
  name: "native rendering, options, name, id",
452
- render: () => (<storybook_1.Example>
453
- <storybook_1.Example.Item title="native with option tags">
454
- <Select_1.default name="animal" id="animal" placeholder="Select an animal" inputAttributes={{
430
+ render: () => (<Example>
431
+ <Example.Item title="native with option tags">
432
+ <Select name="animal" id="animal" placeholder="Select an animal" inputAttributes={{
455
433
  "aria-label": "Select an animal",
456
434
  }}>
457
435
  <option value="dog">Dog</option>
458
436
  <option value="turtle">Turtle</option>
459
- </Select_1.default>
460
- </storybook_1.Example.Item>
461
- </storybook_1.Example>),
437
+ </Select>
438
+ </Example.Item>
439
+ </Example>),
462
440
  play: ({ canvas }) => {
463
441
  const select = canvas.getByRole("combobox");
464
- const options = (0, test_1.within)(select).getAllByRole("option");
465
- (0, test_1.expect)(select).toHaveAttribute("name", "animal");
466
- (0, test_1.expect)(select).toHaveAttribute("id", "animal");
467
- (0, test_1.expect)(options).toHaveLength(3);
468
- (0, test_1.expect)(options[0]).toHaveTextContent("Select an animal");
469
- (0, test_1.expect)(options[1]).toHaveTextContent("Dog");
470
- (0, test_1.expect)(options[2]).toHaveTextContent("Turtle");
442
+ const options = within(select).getAllByRole("option");
443
+ expect(select).toHaveAttribute("name", "animal");
444
+ expect(select).toHaveAttribute("id", "animal");
445
+ expect(options).toHaveLength(3);
446
+ expect(options[0]).toHaveTextContent("Select an animal");
447
+ expect(options[1]).toHaveTextContent("Dog");
448
+ expect(options[2]).toHaveTextContent("Turtle");
471
449
  },
472
450
  };
473
- exports.nativeOptgroup = {
451
+ export const nativeOptgroup = {
474
452
  name: "native with optgroup",
475
- render: () => (<storybook_1.Example>
476
- <storybook_1.Example.Item title="native with optgroup">
477
- <Select_1.default name="animal" id="animal-optgroup" placeholder="Select an animal" inputAttributes={{
453
+ render: () => (<Example>
454
+ <Example.Item title="native with optgroup">
455
+ <Select name="animal" id="animal-optgroup" placeholder="Select an animal" inputAttributes={{
478
456
  "aria-label": "Select an animal",
479
457
  }}>
480
458
  <optgroup label="Mammals">
@@ -485,207 +463,211 @@ exports.nativeOptgroup = {
485
463
  <option value="turtle">Turtle</option>
486
464
  <option value="lizard">Lizard</option>
487
465
  </optgroup>
488
- </Select_1.default>
489
- </storybook_1.Example.Item>
490
- </storybook_1.Example>),
466
+ </Select>
467
+ </Example.Item>
468
+ </Example>),
491
469
  play: ({ canvas }) => {
492
470
  const select = canvas.getByRole("combobox");
493
- const options = (0, test_1.within)(select).getAllByRole("option");
494
- const optgroups = (0, test_1.within)(select).getAllByRole("group");
495
- (0, test_1.expect)(select).toHaveAttribute("name", "animal");
496
- (0, test_1.expect)(select).toHaveAttribute("id", "animal-optgroup");
471
+ const options = within(select).getAllByRole("option");
472
+ const optgroups = within(select).getAllByRole("group");
473
+ expect(select).toHaveAttribute("name", "animal");
474
+ expect(select).toHaveAttribute("id", "animal-optgroup");
497
475
  // Should have 2 optgroups
498
- (0, test_1.expect)(optgroups).toHaveLength(2);
476
+ expect(optgroups).toHaveLength(2);
499
477
  // Should have 5 options total (1 placeholder + 4 options)
500
- (0, test_1.expect)(options).toHaveLength(5);
501
- (0, test_1.expect)(options[0]).toHaveTextContent("Select an animal");
502
- (0, test_1.expect)(options[1]).toHaveTextContent("Dog");
503
- (0, test_1.expect)(options[2]).toHaveTextContent("Cat");
504
- (0, test_1.expect)(options[3]).toHaveTextContent("Turtle");
505
- (0, test_1.expect)(options[4]).toHaveTextContent("Lizard");
478
+ expect(options).toHaveLength(5);
479
+ expect(options[0]).toHaveTextContent("Select an animal");
480
+ expect(options[1]).toHaveTextContent("Dog");
481
+ expect(options[2]).toHaveTextContent("Cat");
482
+ expect(options[3]).toHaveTextContent("Turtle");
483
+ expect(options[4]).toHaveTextContent("Lizard");
506
484
  },
507
485
  };
508
- exports.nativeHandlers = {
486
+ export const nativeHandlers = {
509
487
  name: "native, controlled, uncontrolled, onChange",
510
488
  args: {
511
- handleChange: (0, test_1.fn)(),
512
- handleControlledChange: (0, test_1.fn)(),
513
- handleClick: (0, test_1.fn)(),
489
+ handleChange: fn(),
490
+ handleControlledChange: fn(),
491
+ handleClick: fn(),
514
492
  },
515
- render: (args) => (<storybook_1.Example>
516
- <storybook_1.Example.Item title="native, uncontrolled, onChange">
517
- <Select_1.default name="animal" placeholder="Select an animal" defaultValue="dog" onChange={args.handleChange} inputAttributes={{
493
+ render: (args) => (<Example>
494
+ <Example.Item title="native, uncontrolled, onChange">
495
+ <Select name="animal" placeholder="Select an animal" defaultValue="dog" onChange={args.handleChange} inputAttributes={{
518
496
  "aria-label": "Select an animal",
519
497
  }}>
520
498
  <option value="dog">Dog</option>
521
499
  <option value="turtle">Turtle</option>
522
- </Select_1.default>
523
- </storybook_1.Example.Item>
524
- <storybook_1.Example.Item title="native, controlled, onChange">
525
- <Select_1.default name="animal-2" placeholder="Select an animal" value="dog" onChange={args.handleControlledChange} inputAttributes={{
500
+ </Select>
501
+ </Example.Item>
502
+ <Example.Item title="native, controlled, onChange">
503
+ <Select name="animal-2" placeholder="Select an animal" value="dog" onChange={args.handleControlledChange} inputAttributes={{
526
504
  "aria-label": "Select an animal",
527
505
  }}>
528
506
  <option value="dog">Dog</option>
529
507
  <option value="turtle">Turtle</option>
530
- </Select_1.default>
531
- </storybook_1.Example.Item>
532
- <storybook_1.Example.Item title="native, onClick">
533
- <Select_1.default name="animal-3" placeholder="Select an animal" defaultValue="dog" onClick={args.handleClick} inputAttributes={{
508
+ </Select>
509
+ </Example.Item>
510
+ <Example.Item title="native, onClick">
511
+ <Select name="animal-3" placeholder="Select an animal" defaultValue="dog" onClick={args.handleClick} inputAttributes={{
534
512
  "aria-label": "Select an animal",
535
513
  }}>
536
514
  <option value="dog">Dog</option>
537
515
  <option value="turtle">Turtle</option>
538
- </Select_1.default>
539
- </storybook_1.Example.Item>
540
- </storybook_1.Example>),
516
+ </Select>
517
+ </Example.Item>
518
+ </Example>),
541
519
  play: async ({ canvas, args }) => {
542
520
  const [uncontrolled, controlled, focusable] = canvas.getAllByRole("combobox");
543
521
  // Uncontrolled
544
- (0, test_1.expect)(uncontrolled).toHaveValue("dog");
545
- await test_1.userEvent.selectOptions(uncontrolled, "turtle");
546
- (0, test_1.expect)(uncontrolled).toHaveValue("turtle");
547
- (0, test_1.expect)(args.handleChange).toHaveBeenCalledTimes(1);
548
- (0, test_1.expect)(args.handleChange).toHaveBeenCalledWith({
522
+ expect(uncontrolled).toHaveValue("dog");
523
+ await userEvent.selectOptions(uncontrolled, "turtle");
524
+ expect(uncontrolled).toHaveValue("turtle");
525
+ expect(args.handleChange).toHaveBeenCalledTimes(1);
526
+ expect(args.handleChange).toHaveBeenCalledWith({
549
527
  name: "animal",
550
528
  value: "turtle",
551
- event: test_1.expect.objectContaining({ target: uncontrolled }),
529
+ event: expect.objectContaining({ target: uncontrolled }),
552
530
  });
553
531
  // Controlled
554
- (0, test_1.expect)(controlled).toHaveValue("dog");
555
- await test_1.userEvent.selectOptions(controlled, "turtle");
556
- (0, test_1.expect)(controlled).toHaveValue("dog");
557
- (0, test_1.expect)(args.handleControlledChange).toHaveBeenCalledTimes(1);
558
- (0, test_1.expect)(args.handleControlledChange).toHaveBeenCalledWith({
532
+ expect(controlled).toHaveValue("dog");
533
+ await userEvent.selectOptions(controlled, "turtle");
534
+ expect(controlled).toHaveValue("dog");
535
+ expect(args.handleControlledChange).toHaveBeenCalledTimes(1);
536
+ expect(args.handleControlledChange).toHaveBeenCalledWith({
559
537
  name: "animal-2",
560
538
  value: "turtle",
561
- event: test_1.expect.objectContaining({ target: controlled }),
539
+ event: expect.objectContaining({ target: controlled }),
562
540
  });
563
541
  // Focus + blur
564
- await test_1.userEvent.click(focusable);
565
- (0, test_1.expect)(args.handleClick).toHaveBeenCalledTimes(1);
566
- (0, test_1.expect)(args.handleClick).toHaveBeenCalledWith(test_1.expect.objectContaining({ target: focusable }));
542
+ await userEvent.click(focusable);
543
+ expect(args.handleClick).toHaveBeenCalledTimes(1);
544
+ expect(args.handleClick).toHaveBeenCalledWith(expect.objectContaining({ target: focusable }));
567
545
  },
568
546
  };
569
- exports.defaultHandlers = {
547
+ export const defaultHandlers = {
570
548
  name: "default, controlled, uncontrolled, onFocus, onBlur, onChange",
571
549
  args: {
572
- handleChange: (0, test_1.fn)(),
573
- handleControlledChange: (0, test_1.fn)(),
574
- handleClick: (0, test_1.fn)(),
550
+ handleChange: fn(),
551
+ handleControlledChange: fn(),
552
+ handleClick: fn(),
575
553
  },
576
- render: (args) => (<storybook_1.Example>
577
- <storybook_1.Example.Item title="default, uncontrolled, onChange">
578
- <Select_1.default name="animal" placeholder="Select an animal" defaultValue="dog" onChange={args.handleChange} inputAttributes={{
554
+ render: (args) => (<Example>
555
+ <Example.Item title="default, uncontrolled, onChange">
556
+ <Select name="animal" placeholder="Select an animal" defaultValue="dog" onChange={args.handleChange} inputAttributes={{
579
557
  "aria-label": "Select an animal",
580
558
  }}>
581
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
582
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
583
- </Select_1.default>
584
- </storybook_1.Example.Item>
585
- <storybook_1.Example.Item title="default, controlled, onChange">
586
- <Select_1.default name="animal-2" placeholder="Select an animal" value="dog" onChange={args.handleControlledChange} inputAttributes={{
559
+ <Select.Option value="dog">Dog</Select.Option>
560
+ <Select.Option value="turtle">Turtle</Select.Option>
561
+ </Select>
562
+ </Example.Item>
563
+ <Example.Item title="default, controlled, onChange">
564
+ <Select name="animal-2" placeholder="Select an animal" value="dog" onChange={args.handleControlledChange} inputAttributes={{
587
565
  "aria-label": "Select an animal",
588
566
  }}>
589
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
590
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
591
- </Select_1.default>
592
- </storybook_1.Example.Item>
593
- <storybook_1.Example.Item title="default, onClick">
594
- <Select_1.default name="animal-3" placeholder="Select an animal" defaultValue="dog" onClick={args.handleClick} inputAttributes={{
567
+ <Select.Option value="dog">Dog</Select.Option>
568
+ <Select.Option value="turtle">Turtle</Select.Option>
569
+ </Select>
570
+ </Example.Item>
571
+ <Example.Item title="default, onClick">
572
+ <Select name="animal-3" placeholder="Select an animal" defaultValue="dog" onClick={args.handleClick} inputAttributes={{
595
573
  "aria-label": "Select an animal",
596
574
  }}>
597
- <Select_1.default.Option value="dog">Dog</Select_1.default.Option>
598
- <Select_1.default.Option value="turtle">Turtle</Select_1.default.Option>
599
- </Select_1.default>
600
- </storybook_1.Example.Item>
601
- </storybook_1.Example>),
575
+ <Select.Option value="dog">Dog</Select.Option>
576
+ <Select.Option value="turtle">Turtle</Select.Option>
577
+ </Select>
578
+ </Example.Item>
579
+ </Example>),
602
580
  play: async ({ canvas, canvasElement, args }) => {
603
581
  const [uncontrolled] = canvas.getAllByRole("button");
604
582
  const hiddenInputs = canvasElement.querySelectorAll('input[type="hidden"]');
605
583
  const [inputUncontrolled] = Array.from(hiddenInputs);
606
584
  // Uncontrolled
607
- (0, test_1.expect)(inputUncontrolled).toHaveValue("dog");
608
- await test_1.userEvent.click(uncontrolled);
609
- const [_, uncontrolledOption] = (0, test_1.within)(canvasElement.ownerDocument.body).getAllByRole("option");
610
- await test_1.userEvent.click(uncontrolledOption);
611
- (0, test_1.expect)(inputUncontrolled).toHaveValue("turtle");
612
- (0, test_1.expect)(args.handleChange).toHaveBeenCalledTimes(1);
613
- (0, test_1.expect)(args.handleChange).toHaveBeenCalledWith({
585
+ expect(inputUncontrolled).toHaveValue("dog");
586
+ await userEvent.click(uncontrolled);
587
+ const [_, uncontrolledOption] = within(canvasElement.ownerDocument.body).getAllByRole("option");
588
+ await userEvent.click(uncontrolledOption);
589
+ expect(inputUncontrolled).toHaveValue("turtle");
590
+ expect(args.handleChange).toHaveBeenCalledTimes(1);
591
+ expect(args.handleChange).toHaveBeenCalledWith({
614
592
  name: "animal",
615
593
  value: "turtle",
616
594
  });
617
595
  // Controlled
618
- await test_1.userEvent.click(document.body);
596
+ await userEvent.click(document.body);
597
+ // Wait for the previous menu to finish its hide animation
598
+ await waitFor(() => {
599
+ expect(within(canvasElement.ownerDocument.body).queryAllByRole("option")).toHaveLength(0);
600
+ });
619
601
  const [__, controlled, focusable] = canvas.getAllByRole("button");
620
602
  const hiddenInputs2 = canvasElement.querySelectorAll('input[type="hidden"]');
621
603
  const [___, inputControlled] = Array.from(hiddenInputs2);
622
- (0, test_1.expect)(inputControlled).toHaveValue("dog");
623
- await test_1.userEvent.click(controlled);
624
- const [____, controlledOption] = (0, test_1.within)(canvasElement.ownerDocument.body).getAllByRole("option");
625
- await test_1.userEvent.click(controlledOption);
626
- (0, test_1.expect)(inputControlled).toHaveValue("dog");
627
- (0, test_1.expect)(args.handleControlledChange).toHaveBeenCalledTimes(1);
628
- (0, test_1.expect)(args.handleControlledChange).toHaveBeenCalledWith({
604
+ expect(inputControlled).toHaveValue("dog");
605
+ await userEvent.click(controlled);
606
+ const [____, controlledOption] = within(canvasElement.ownerDocument.body).getAllByRole("option");
607
+ await userEvent.click(controlledOption);
608
+ expect(inputControlled).toHaveValue("dog");
609
+ expect(args.handleControlledChange).toHaveBeenCalledTimes(1);
610
+ expect(args.handleControlledChange).toHaveBeenCalledWith({
629
611
  name: "animal-2",
630
612
  value: "turtle",
631
613
  });
632
- await test_1.userEvent.click(focusable);
633
- (0, test_1.expect)(args.handleClick).toHaveBeenCalledTimes(1);
634
- (0, test_1.expect)(args.handleClick).toHaveBeenCalledWith(test_1.expect.objectContaining({ target: focusable }));
614
+ await userEvent.click(focusable);
615
+ expect(args.handleClick).toHaveBeenCalledTimes(1);
616
+ expect(args.handleClick).toHaveBeenCalledWith(expect.objectContaining({ target: focusable }));
635
617
  },
636
618
  };
637
- exports.triggerOnly = {
619
+ export const triggerOnly = {
638
620
  name: "trigger only, onClick",
639
621
  args: {
640
- handleClick: (0, test_1.fn)(),
622
+ handleClick: fn(),
641
623
  },
642
624
  render: (args) => {
643
- const toggle = (0, useToggle_1.default)();
644
- const [value, setValue] = react_1.default.useState("Dog");
625
+ const toggle = useToggle();
626
+ const [value, setValue] = React.useState("Dog");
645
627
  const handleClick = (e) => {
646
628
  args.handleClick(e);
647
629
  toggle.toggle();
648
630
  };
649
- return (<storybook_1.Example>
650
- <storybook_1.Example.Item title="trigger only, onClick">
651
- <Select_1.SelectTrigger name="animal" placeholder="Select an animal" onClick={handleClick} value="dog" inputAttributes={{
631
+ return (<Example>
632
+ <Example.Item title="trigger only, onClick">
633
+ <SelectTrigger name="animal" placeholder="Select an animal" onClick={handleClick} value="dog" inputAttributes={{
652
634
  "aria-label": "Select an animal",
653
635
  }}>
654
636
  {value}
655
- </Select_1.SelectTrigger>
656
- <Modal_1.default active={toggle.active} onClose={toggle.deactivate} position="bottom" padding={2} attributes={{ "aria-label": "Select an animal" }}>
637
+ </SelectTrigger>
638
+ <Modal active={toggle.active} onClose={toggle.deactivate} position="bottom" padding={2} attributes={{ "aria-label": "Select an animal" }}>
657
639
  {/* oxlint-disable-next-line jsx-a11y/prefer-tag-over-role */}
658
640
  <div role="listbox" aria-label="Select an animal">
659
- <MenuItem_1.default roundedCorners onClick={() => {
641
+ <MenuItem roundedCorners onClick={() => {
660
642
  setValue("Dog");
661
643
  toggle.deactivate();
662
644
  }} attributes={{
663
645
  role: "option",
664
646
  }}>
665
647
  Dog
666
- </MenuItem_1.default>
667
- <MenuItem_1.default roundedCorners attributes={{
648
+ </MenuItem>
649
+ <MenuItem roundedCorners attributes={{
668
650
  role: "option",
669
651
  }} onClick={() => {
670
652
  setValue("Turtle");
671
653
  toggle.deactivate();
672
654
  }}>
673
655
  Turtle
674
- </MenuItem_1.default>
656
+ </MenuItem>
675
657
  </div>
676
- </Modal_1.default>
677
- </storybook_1.Example.Item>
678
- </storybook_1.Example>);
658
+ </Modal>
659
+ </Example.Item>
660
+ </Example>);
679
661
  },
680
662
  play: async ({ canvas, args, canvasElement }) => {
681
663
  const [trigger] = canvas.getAllByRole("button");
682
664
  const hiddenInputs = canvasElement.querySelectorAll('input[type="hidden"]');
683
665
  const [input] = Array.from(hiddenInputs);
684
- (0, test_1.expect)(trigger).toHaveTextContent("Dog");
685
- (0, test_1.expect)(input).toHaveAttribute("name", "animal");
686
- (0, test_1.expect)(input).toHaveValue("dog");
687
- await test_1.userEvent.click(trigger);
688
- (0, test_1.expect)(args.handleClick).toHaveBeenCalledTimes(1);
689
- (0, test_1.expect)(args.handleClick).toHaveBeenCalledWith(test_1.expect.objectContaining({ target: trigger }));
666
+ expect(trigger).toHaveTextContent("Dog");
667
+ expect(input).toHaveAttribute("name", "animal");
668
+ expect(input).toHaveValue("dog");
669
+ await userEvent.click(trigger);
670
+ expect(args.handleClick).toHaveBeenCalledTimes(1);
671
+ expect(args.handleClick).toHaveBeenCalledWith(expect.objectContaining({ target: trigger }));
690
672
  },
691
673
  };