reshaped 3.9.0-canary.0 → 3.9.0-canary.10

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 (344) hide show
  1. package/dist/bundle.css +1 -1
  2. package/dist/bundle.js +2 -31
  3. package/dist/cli/theming/index.js +4 -4
  4. package/dist/cli/theming/reshaped.config.js +1 -1
  5. package/dist/components/Accordion/Accordion.types.d.ts +1 -1
  6. package/dist/components/Accordion/AccordionControlled.js +2 -2
  7. package/dist/components/Accordion/AccordionTrigger.js +2 -2
  8. package/dist/components/Accordion/index.d.ts +1 -1
  9. package/dist/components/Accordion/index.js +1 -1
  10. package/dist/components/ActionBar/ActionBar.js +1 -1
  11. package/dist/components/ActionBar/ActionBar.types.d.ts +1 -1
  12. package/dist/components/Actionable/Actionable.js +1 -1
  13. package/dist/components/Alert/Alert.js +1 -1
  14. package/dist/components/Alert/Alert.types.d.ts +1 -1
  15. package/dist/components/Autocomplete/Autocomplete.js +6 -6
  16. package/dist/components/Autocomplete/Autocomplete.types.d.ts +3 -3
  17. package/dist/components/Avatar/Avatar.js +9 -26
  18. package/dist/components/Avatar/Avatar.module.css +1 -1
  19. package/dist/components/Badge/Badge.js +4 -4
  20. package/dist/components/Badge/Badge.module.css +1 -1
  21. package/dist/components/Badge/Badge.types.d.ts +1 -1
  22. package/dist/components/Breadcrumbs/Breadcrumbs.js +3 -3
  23. package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +1 -1
  24. package/dist/components/Breadcrumbs/BreadcrumbsItem.js +1 -1
  25. package/dist/components/Button/Button.js +2 -2
  26. package/dist/components/Button/Button.module.css +1 -1
  27. package/dist/components/Button/Button.types.d.ts +3 -3
  28. package/dist/components/Calendar/Calendar.types.d.ts +25 -6
  29. package/dist/components/Calendar/CalendarControlled.js +45 -10
  30. package/dist/components/Calendar/CalendarControls.js +11 -11
  31. package/dist/components/Calendar/CalendarDate.js +13 -11
  32. package/dist/components/Calendar/CalendarMonth.js +3 -3
  33. package/dist/components/Calendar/CalendarYear.js +1 -1
  34. package/dist/components/Calendar/useCalendarKeyboardNavigation.js +1 -1
  35. package/dist/components/Card/Card.js +2 -2
  36. package/dist/components/Card/Card.module.css +1 -1
  37. package/dist/components/Card/Card.types.d.ts +1 -1
  38. package/dist/components/Carousel/Carousel.js +4 -4
  39. package/dist/components/Carousel/Carousel.types.d.ts +1 -1
  40. package/dist/components/Carousel/CarouselControl.d.ts +1 -1
  41. package/dist/components/Carousel/CarouselControl.js +3 -3
  42. package/dist/components/Checkbox/Checkbox.js +5 -15
  43. package/dist/components/CheckboxGroup/CheckboxGroup.types.d.ts +1 -1
  44. package/dist/components/Container/Container.js +1 -1
  45. package/dist/components/Container/Container.types.d.ts +1 -1
  46. package/dist/components/ContextMenu/ContextMenu.js +1 -1
  47. package/dist/components/Dismissible/Dismissible.js +1 -1
  48. package/dist/components/Divider/Divider.d.ts +1 -1
  49. package/dist/components/Divider/Divider.js +1 -1
  50. package/dist/components/DropdownMenu/DropdownMenu.js +6 -6
  51. package/dist/components/DropdownMenu/DropdownMenu.types.d.ts +4 -4
  52. package/dist/components/FileUpload/FileUpload.js +9 -7
  53. package/dist/components/FileUpload/FileUpload.module.css +1 -1
  54. package/dist/components/FileUpload/FileUpload.types.d.ts +3 -1
  55. package/dist/components/Flyout/Flyout.constants.d.ts +3 -6
  56. package/dist/components/Flyout/Flyout.constants.js +1 -3
  57. package/dist/components/Flyout/Flyout.js +1 -1
  58. package/dist/components/Flyout/Flyout.module.css +1 -1
  59. package/dist/components/Flyout/Flyout.types.d.ts +6 -7
  60. package/dist/components/Flyout/FlyoutContent.js +7 -7
  61. package/dist/components/Flyout/FlyoutControlled.js +17 -14
  62. package/dist/components/Flyout/index.d.ts +1 -1
  63. package/dist/components/Flyout/index.js +1 -1
  64. package/dist/components/Flyout/useFlyout.d.ts +2 -2
  65. package/dist/components/Flyout/useFlyout.js +5 -18
  66. package/dist/components/Flyout/utilities/calculatePosition.d.ts +6 -6
  67. package/dist/components/Flyout/utilities/calculatePosition.js +6 -6
  68. package/dist/components/Flyout/utilities/cooldown.js +1 -2
  69. package/dist/components/Flyout/utilities/flyout.d.ts +1 -1
  70. package/dist/components/Flyout/utilities/flyout.js +5 -2
  71. package/dist/components/FormControl/FormControlCaption.js +1 -1
  72. package/dist/components/FormControl/FormControlLabel.js +1 -1
  73. package/dist/components/FormControl/index.d.ts +2 -2
  74. package/dist/components/FormControl/index.js +2 -2
  75. package/dist/components/Grid/Grid.js +1 -1
  76. package/dist/components/Grid/Grid.types.d.ts +2 -2
  77. package/dist/components/HiddenInput/HiddenInput.js +34 -0
  78. package/dist/components/HiddenInput/HiddenInput.types.d.ts +26 -0
  79. package/dist/components/Icon/Icon.js +1 -1
  80. package/dist/components/Icon/Icon.module.css +1 -1
  81. package/dist/components/Image/Image.js +14 -9
  82. package/dist/components/Image/Image.module.css +1 -1
  83. package/dist/components/Image/Image.types.d.ts +4 -2
  84. package/dist/components/Link/Link.js +1 -1
  85. package/dist/components/MenuItem/MenuItem.js +1 -1
  86. package/dist/components/MenuItem/MenuItem.types.d.ts +2 -2
  87. package/dist/components/Modal/Modal.js +8 -8
  88. package/dist/components/Modal/Modal.module.css +1 -1
  89. package/dist/components/Modal/Modal.types.d.ts +1 -1
  90. package/dist/components/NumberField/NumberFieldControlled.js +7 -7
  91. package/dist/components/Overlay/Overlay.js +8 -8
  92. package/dist/components/PinField/PinFieldControlled.js +4 -4
  93. package/dist/components/Popover/Popover.js +3 -3
  94. package/dist/components/Popover/Popover.module.css +1 -1
  95. package/dist/components/Popover/Popover.types.d.ts +2 -2
  96. package/dist/components/Progress/Progress.module.css +1 -1
  97. package/dist/components/Radio/Radio.js +5 -15
  98. package/dist/components/RadioGroup/RadioGroup.types.d.ts +1 -1
  99. package/dist/components/Reshaped/Reshaped.css +1 -1
  100. package/dist/components/Reshaped/Reshaped.js +4 -4
  101. package/dist/components/Reshaped/Reshaped.types.d.ts +1 -1
  102. package/dist/components/Resizable/Resizable.js +2 -2
  103. package/dist/components/Resizable/Resizable.types.d.ts +1 -1
  104. package/dist/components/Resizable/ResizableHandle.js +1 -1
  105. package/dist/components/Scrim/Scrim.js +4 -3
  106. package/dist/components/Scrim/Scrim.module.css +1 -1
  107. package/dist/components/Scrim/Scrim.types.d.ts +2 -1
  108. package/dist/components/ScrollArea/ScrollArea.js +5 -5
  109. package/dist/components/Select/Select.types.d.ts +3 -3
  110. package/dist/components/Select/SelectCustomControlled.js +6 -3
  111. package/dist/components/Select/SelectEndContent.js +1 -1
  112. package/dist/components/Select/SelectGroup.js +1 -1
  113. package/dist/components/Select/SelectNative.js +2 -2
  114. package/dist/components/Select/SelectRoot.js +1 -1
  115. package/dist/components/Select/SelectTrigger.js +1 -1
  116. package/dist/components/Select/index.d.ts +1 -1
  117. package/dist/components/Select/index.js +1 -1
  118. package/dist/components/Skeleton/Skeleton.js +1 -1
  119. package/dist/components/Slider/SliderControlled.js +7 -7
  120. package/dist/components/Slider/SliderThumb.js +3 -3
  121. package/dist/components/Stepper/Stepper.js +4 -4
  122. package/dist/components/Switch/Switch.js +1 -1
  123. package/dist/components/Table/Table.js +2 -2
  124. package/dist/components/Tabs/Tabs.module.css +1 -1
  125. package/dist/components/Tabs/Tabs.types.d.ts +4 -2
  126. package/dist/components/Tabs/TabsContext.d.ts +1 -0
  127. package/dist/components/Tabs/TabsControlled.js +2 -1
  128. package/dist/components/Tabs/TabsItem.js +4 -4
  129. package/dist/components/Tabs/TabsList.js +17 -13
  130. package/dist/components/Tabs/TabsPanel.js +3 -3
  131. package/dist/components/Text/Text.js +3 -3
  132. package/dist/components/Text/Text.module.css +1 -1
  133. package/dist/components/Text/Text.types.d.ts +2 -0
  134. package/dist/components/TextArea/TextArea.js +1 -1
  135. package/dist/components/TextArea/TextArea.types.d.ts +1 -1
  136. package/dist/components/TextField/TextField.js +2 -2
  137. package/dist/components/TextField/TextField.types.d.ts +2 -2
  138. package/dist/components/Theme/GlobalColorMode.js +1 -1
  139. package/dist/components/Theme/Theme.js +2 -2
  140. package/dist/components/Theme/Theme.module.css +1 -1
  141. package/dist/components/Timeline/Timeline.js +1 -1
  142. package/dist/components/Toast/Toast.js +2 -2
  143. package/dist/components/Toast/Toast.types.d.ts +1 -1
  144. package/dist/components/Toast/ToastContainer.js +3 -3
  145. package/dist/components/Toast/ToastProvider.js +1 -1
  146. package/dist/components/Toast/ToastRegion.js +2 -2
  147. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.types.d.ts +1 -1
  148. package/dist/components/ToggleButtonGroup/ToggleButtonGroupControlled.js +1 -1
  149. package/dist/components/Tooltip/Tooltip.js +5 -3
  150. package/dist/components/View/View.js +2 -2
  151. package/dist/components/View/View.types.d.ts +1 -1
  152. package/dist/components/_private/Expandable/Expandable.js +2 -2
  153. package/dist/components/_private/Portal/Portal.js +1 -1
  154. package/dist/config/tailwind.js +2 -2
  155. package/dist/hooks/_private/useDrag.js +4 -4
  156. package/dist/hooks/_private/useFadeSide.js +1 -1
  157. package/dist/hooks/useOnClickOutside.js +2 -4
  158. package/dist/hooks/useResponsiveClientValue.js +1 -1
  159. package/dist/styles/mixin.js +1 -1
  160. package/dist/tests/ThemesPlayground.js +16 -16
  161. package/dist/themes/_generator/definitions/slate.js +1 -1
  162. package/dist/themes/_generator/tokens/color/utilities/generateColors.d.ts +1 -1
  163. package/dist/themes/_generator/tokens/color/utilities/generateMetaColors.d.ts +1 -1
  164. package/dist/themes/_generator/tokens/color/utilities/generateMetaColors.js +1 -1
  165. package/dist/themes/_generator/tokens/css.js +2 -2
  166. package/dist/themes/_generator/tokens/font/font.types.d.ts +2 -2
  167. package/dist/themes/_generator/tokens/transforms.js +1 -1
  168. package/dist/themes/_generator/tokens/types.d.ts +3 -3
  169. package/dist/themes/_generator/transform.d.ts +1 -1
  170. package/dist/themes/_generator/transform.js +3 -3
  171. package/dist/themes/figma/theme.css +1 -1
  172. package/dist/themes/fragments/twitter/theme.css +1 -1
  173. package/dist/themes/index.d.ts +1 -1
  174. package/dist/themes/reshaped/theme.css +1 -1
  175. package/dist/themes/slate/theme.css +1 -1
  176. package/dist/types/config.d.ts +1 -1
  177. package/dist/utilities/a11y/TrapFocus.js +4 -4
  178. package/dist/utilities/scroll/lock.js +1 -1
  179. package/dist/utilities/scroll/lockStandard.js +1 -1
  180. package/dist/utilities/storybook/Example.js +1 -1
  181. package/package.json +42 -35
  182. package/dist/components/Accordion/tests/Accordion.stories.d.ts +0 -44
  183. package/dist/components/Accordion/tests/Accordion.stories.js +0 -204
  184. package/dist/components/ActionBar/tests/ActionBar.stories.d.ts +0 -40
  185. package/dist/components/ActionBar/tests/ActionBar.stories.js +0 -223
  186. package/dist/components/Actionable/tests/Actionable.stories.d.ts +0 -41
  187. package/dist/components/Actionable/tests/Actionable.stories.js +0 -220
  188. package/dist/components/Alert/tests/Alert.stories.d.ts +0 -24
  189. package/dist/components/Alert/tests/Alert.stories.js +0 -78
  190. package/dist/components/Autocomplete/tests/Autocomplete.stories.d.ts +0 -32
  191. package/dist/components/Autocomplete/tests/Autocomplete.stories.js +0 -246
  192. package/dist/components/Avatar/tests/Avatar.stories.d.ts +0 -31
  193. package/dist/components/Avatar/tests/Avatar.stories.js +0 -176
  194. package/dist/components/Badge/tests/Badge.stories.d.ts +0 -55
  195. package/dist/components/Badge/tests/Badge.stories.js +0 -328
  196. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +0 -40
  197. package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.js +0 -187
  198. package/dist/components/Button/tests/Button.stories.d.ts +0 -79
  199. package/dist/components/Button/tests/Button.stories.js +0 -789
  200. package/dist/components/Calendar/tests/Calendar.stories.d.ts +0 -29
  201. package/dist/components/Calendar/tests/Calendar.stories.js +0 -255
  202. package/dist/components/Card/tests/Card.stories.d.ts +0 -52
  203. package/dist/components/Card/tests/Card.stories.js +0 -125
  204. package/dist/components/Carousel/tests/Carousel.stories.d.ts +0 -34
  205. package/dist/components/Carousel/tests/Carousel.stories.js +0 -224
  206. package/dist/components/Checkbox/tests/Checkbox.stories.d.ts +0 -30
  207. package/dist/components/Checkbox/tests/Checkbox.stories.js +0 -171
  208. package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.d.ts +0 -19
  209. package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.js +0 -83
  210. package/dist/components/Container/tests/Container.stories.d.ts +0 -24
  211. package/dist/components/Container/tests/Container.stories.js +0 -75
  212. package/dist/components/ContextMenu/tests/ContextMenu.stories.d.ts +0 -26
  213. package/dist/components/ContextMenu/tests/ContextMenu.stories.js +0 -70
  214. package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +0 -25
  215. package/dist/components/Dismissible/tests/Dismissible.stories.js +0 -97
  216. package/dist/components/Divider/tests/Divider.stories.d.ts +0 -20
  217. package/dist/components/Divider/tests/Divider.stories.js +0 -120
  218. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +0 -53
  219. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.js +0 -278
  220. package/dist/components/FileUpload/tests/FileUpload.stories.d.ts +0 -31
  221. package/dist/components/FileUpload/tests/FileUpload.stories.js +0 -140
  222. package/dist/components/Flyout/tests/Flyout.stories.d.ts +0 -103
  223. package/dist/components/Flyout/tests/Flyout.stories.js +0 -738
  224. package/dist/components/FormControl/tests/FormControl.stories.d.ts +0 -31
  225. package/dist/components/FormControl/tests/FormControl.stories.js +0 -143
  226. package/dist/components/Grid/tests/Grid.stories.d.ts +0 -38
  227. package/dist/components/Grid/tests/Grid.stories.js +0 -245
  228. package/dist/components/Hidden/tests/Hidden.stories.d.ts +0 -16
  229. package/dist/components/Hidden/tests/Hidden.stories.js +0 -48
  230. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +0 -16
  231. package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +0 -28
  232. package/dist/components/Hotkey/tests/Hotkey.stories.d.ts +0 -13
  233. package/dist/components/Hotkey/tests/Hotkey.stories.js +0 -53
  234. package/dist/components/Icon/tests/Icon.stories.d.ts +0 -25
  235. package/dist/components/Icon/tests/Icon.stories.js +0 -113
  236. package/dist/components/Image/tests/Image.stories.d.ts +0 -41
  237. package/dist/components/Image/tests/Image.stories.js +0 -196
  238. package/dist/components/Link/tests/Link.stories.d.ts +0 -42
  239. package/dist/components/Link/tests/Link.stories.js +0 -155
  240. package/dist/components/Loader/tests/Loader.stories.d.ts +0 -21
  241. package/dist/components/Loader/tests/Loader.stories.js +0 -68
  242. package/dist/components/MenuItem/tests/MenuItem.stories.d.ts +0 -59
  243. package/dist/components/MenuItem/tests/MenuItem.stories.js +0 -236
  244. package/dist/components/Modal/tests/Modal.stories.d.ts +0 -64
  245. package/dist/components/Modal/tests/Modal.stories.js +0 -410
  246. package/dist/components/NumberField/tests/NumberField.stories.d.ts +0 -28
  247. package/dist/components/NumberField/tests/NumberField.stories.js +0 -258
  248. package/dist/components/Overlay/tests/Overlay.stories.d.ts +0 -28
  249. package/dist/components/Overlay/tests/Overlay.stories.js +0 -202
  250. package/dist/components/Pagination/tests/Pagination.stories.d.ts +0 -24
  251. package/dist/components/Pagination/tests/Pagination.stories.js +0 -105
  252. package/dist/components/PinField/tests/PinField.stories.d.ts +0 -34
  253. package/dist/components/PinField/tests/PinField.stories.js +0 -209
  254. package/dist/components/Popover/tests/Popover.stories.d.ts +0 -69
  255. package/dist/components/Popover/tests/Popover.stories.js +0 -340
  256. package/dist/components/Progress/tests/Progress.stories.d.ts +0 -30
  257. package/dist/components/Progress/tests/Progress.stories.js +0 -102
  258. package/dist/components/ProgressIndicator/tests/ProgressIndicator.stories.d.ts +0 -19
  259. package/dist/components/ProgressIndicator/tests/ProgressIndicator.stories.js +0 -92
  260. package/dist/components/Radio/tests/Radio.stories.d.ts +0 -35
  261. package/dist/components/Radio/tests/Radio.stories.js +0 -162
  262. package/dist/components/RadioGroup/tests/RadioGroup.stories.d.ts +0 -19
  263. package/dist/components/RadioGroup/tests/RadioGroup.stories.js +0 -77
  264. package/dist/components/Reshaped/tests/Reshaped.stories.d.ts +0 -34
  265. package/dist/components/Reshaped/tests/Reshaped.stories.js +0 -108
  266. package/dist/components/Resizable/tests/Resizable.stories.d.ts +0 -38
  267. package/dist/components/Resizable/tests/Resizable.stories.js +0 -185
  268. package/dist/components/Scrim/tests/Scrim.stories.d.ts +0 -20
  269. package/dist/components/Scrim/tests/Scrim.stories.js +0 -67
  270. package/dist/components/ScrollArea/tests/ScrollArea.stories.d.ts +0 -37
  271. package/dist/components/ScrollArea/tests/ScrollArea.stories.js +0 -244
  272. package/dist/components/Select/tests/Select.stories.d.ts +0 -53
  273. package/dist/components/Select/tests/Select.stories.js +0 -616
  274. package/dist/components/Skeleton/tests/Skeleton.stories.d.ts +0 -20
  275. package/dist/components/Skeleton/tests/Skeleton.stories.js +0 -63
  276. package/dist/components/Slider/tests/Slider.stories.d.ts +0 -47
  277. package/dist/components/Slider/tests/Slider.stories.js +0 -279
  278. package/dist/components/Stepper/tests/Stepper.stories.d.ts +0 -31
  279. package/dist/components/Stepper/tests/Stepper.stories.js +0 -135
  280. package/dist/components/Switch/tests/Switch.stories.d.ts +0 -22
  281. package/dist/components/Switch/tests/Switch.stories.js +0 -137
  282. package/dist/components/Switch/tests/Switch.test.stories.d.ts +0 -13
  283. package/dist/components/Switch/tests/Switch.test.stories.js +0 -11
  284. package/dist/components/Table/tests/Table.stories.d.ts +0 -42
  285. package/dist/components/Table/tests/Table.stories.js +0 -348
  286. package/dist/components/Tabs/tests/Tabs.stories.d.ts +0 -62
  287. package/dist/components/Tabs/tests/Tabs.stories.js +0 -539
  288. package/dist/components/Text/tests/Text.stories.d.ts +0 -48
  289. package/dist/components/Text/tests/Text.stories.js +0 -201
  290. package/dist/components/TextArea/tests/TextArea.stories.d.ts +0 -53
  291. package/dist/components/TextArea/tests/TextArea.stories.js +0 -204
  292. package/dist/components/TextField/tests/TextField.stories.d.ts +0 -54
  293. package/dist/components/TextField/tests/TextField.stories.js +0 -252
  294. package/dist/components/Theme/tests/Theme.stories.d.ts +0 -25
  295. package/dist/components/Theme/tests/Theme.stories.js +0 -171
  296. package/dist/components/Timeline/tests/Timeline.stories.d.ts +0 -22
  297. package/dist/components/Timeline/tests/Timeline.stories.js +0 -86
  298. package/dist/components/Toast/tests/Toast.stories.d.ts +0 -41
  299. package/dist/components/Toast/tests/Toast.stories.js +0 -432
  300. package/dist/components/ToggleButton/tests/ToggleButton.stories.d.ts +0 -27
  301. package/dist/components/ToggleButton/tests/ToggleButton.stories.js +0 -97
  302. package/dist/components/ToggleButtonGroup/tests/ToggleButtonGroup.stories.d.ts +0 -27
  303. package/dist/components/ToggleButtonGroup/tests/ToggleButtonGroup.stories.js +0 -169
  304. package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +0 -28
  305. package/dist/components/Tooltip/tests/Tooltip.stories.js +0 -182
  306. package/dist/components/View/tests/View.stories.d.ts +0 -141
  307. package/dist/components/View/tests/View.stories.js +0 -1329
  308. package/dist/components/_private/HiddenInput/HiddenInput.js +0 -10
  309. package/dist/components/_private/HiddenInput/HiddenInput.types.d.ts +0 -15
  310. package/dist/components/_private/Portal/tests/Portal.stories.d.ts +0 -6
  311. package/dist/components/_private/Portal/tests/Portal.stories.js +0 -17
  312. package/dist/hooks/tests/useDrag.stories.d.ts +0 -31
  313. package/dist/hooks/tests/useDrag.stories.js +0 -147
  314. package/dist/hooks/tests/useElementId.stories.d.ts +0 -11
  315. package/dist/hooks/tests/useElementId.stories.js +0 -23
  316. package/dist/hooks/tests/useHandlerRef.stories.d.ts +0 -14
  317. package/dist/hooks/tests/useHandlerRef.stories.js +0 -44
  318. package/dist/hooks/tests/useHotkeys.stories.d.ts +0 -43
  319. package/dist/hooks/tests/useHotkeys.stories.js +0 -158
  320. package/dist/hooks/tests/useKeyboardArrowNavigation.stories.d.ts +0 -15
  321. package/dist/hooks/tests/useKeyboardArrowNavigation.stories.js +0 -128
  322. package/dist/hooks/tests/useKeyboardMode.stories.d.ts +0 -11
  323. package/dist/hooks/tests/useKeyboardMode.stories.js +0 -42
  324. package/dist/hooks/tests/useOnClickOutside.stories.d.ts +0 -23
  325. package/dist/hooks/tests/useOnClickOutside.stories.js +0 -111
  326. package/dist/hooks/tests/useRTL.stories.d.ts +0 -11
  327. package/dist/hooks/tests/useRTL.stories.js +0 -23
  328. package/dist/hooks/tests/useResponsiveClientValue.stories.d.ts +0 -18
  329. package/dist/hooks/tests/useResponsiveClientValue.stories.js +0 -30
  330. package/dist/hooks/tests/useScrollLock.stories.d.ts +0 -14
  331. package/dist/hooks/tests/useScrollLock.stories.js +0 -97
  332. package/dist/hooks/tests/useToggle.stories.d.ts +0 -13
  333. package/dist/hooks/tests/useToggle.stories.js +0 -59
  334. package/dist/tests/ShadowDOM.stories.d.ts +0 -6
  335. package/dist/tests/ShadowDOM.stories.js +0 -110
  336. package/dist/tests/themes.stories.d.ts +0 -16
  337. package/dist/tests/themes.stories.js +0 -327
  338. package/dist/utilities/a11y/tests/TrapFocus.stories.d.ts +0 -14
  339. package/dist/utilities/a11y/tests/TrapFocus.stories.js +0 -615
  340. /package/dist/components/{_private/HiddenInput → HiddenInput}/HiddenInput.d.ts +0 -0
  341. /package/dist/components/{_private/HiddenInput → HiddenInput}/HiddenInput.module.css +0 -0
  342. /package/dist/components/{_private/HiddenInput → HiddenInput}/HiddenInput.types.js +0 -0
  343. /package/dist/components/{_private/HiddenInput → HiddenInput}/index.d.ts +0 -0
  344. /package/dist/components/{_private/HiddenInput → HiddenInput}/index.js +0 -0
@@ -4,14 +4,14 @@ import React from "react";
4
4
  import View from "../View/index.js";
5
5
  import { onNextFrame } from "../../utilities/animation.js";
6
6
  import { setMonthToPrevious, setMonthToNext, setMonthTo, setYearToNext, setYearToPrevious, applyNavigationBounds, } from "./Calendar.utils.js";
7
- import useCalendarKeyboardNavigation from "./useCalendarKeyboardNavigation.js";
7
+ import CalendarControls from "./CalendarControls.js";
8
8
  import CalendarMonth from "./CalendarMonth.js";
9
9
  import CalendarYear from "./CalendarYear.js";
10
- import CalendarControls from "./CalendarControls.js";
10
+ import useCalendarKeyboardNavigation from "./useCalendarKeyboardNavigation.js";
11
11
  const CalendarControlled = (props) => {
12
- const { value, onChange, defaultMonth, min, max, range, firstWeekDay, selectedDates, renderMonthLabel, renderSelectedMonthLabel, renderWeekDay, previousMonthAriaLabel, previousYearAriaLabel, nextMonthAriaLabel, nextYearAriaLabel, monthSelectionAriaLabel, renderMonthAriaLabel, renderDateAriaLabel, } = props;
12
+ const { value, onChange, defaultMonth, month, onMonthChange, min, max, range, firstWeekDay, selectedDates, disabledDates, monthsToRender = 1, renderMonthLabel, renderSelectedMonthLabel, renderWeekDay, previousMonthAriaLabel, previousYearAriaLabel, nextMonthAriaLabel, nextYearAriaLabel, monthSelectionAriaLabel, renderMonthAriaLabel, renderDateAriaLabel, renderDateSlot, } = props;
13
13
  const [selectionMode, setSelectionMode] = React.useState("date");
14
- const [monthDate, setMonthDate] = React.useState(defaultMonth || new Date());
14
+ const [monthDate, setMonthDate] = React.useState(month || defaultMonth || new Date());
15
15
  const [hoveredDate, setHoveredDate] = React.useState(null);
16
16
  const monthTitleRef = React.useRef(null);
17
17
  const prevSelectionModeRef = React.useRef(selectionMode);
@@ -19,23 +19,38 @@ const CalendarControlled = (props) => {
19
19
  const selectionRootRef = React.useRef(null);
20
20
  const handlePreviousClick = () => {
21
21
  if (selectionMode === "month") {
22
- setMonthDate((prev) => setYearToPrevious(prev));
22
+ const updatedMonth = setYearToPrevious(monthDate);
23
+ onMonthChange?.({ date: updatedMonth });
24
+ if (month === undefined)
25
+ setMonthDate(updatedMonth);
23
26
  return;
24
27
  }
25
- setMonthDate((prev) => setMonthToPrevious(prev));
28
+ const updatedMonth = setMonthToPrevious(monthDate);
29
+ onMonthChange?.({ date: updatedMonth });
30
+ if (month === undefined)
31
+ setMonthDate(updatedMonth);
26
32
  };
27
33
  const handleNextClick = () => {
28
34
  if (selectionMode === "month") {
29
- setMonthDate((prev) => setYearToNext(prev));
35
+ const updatedMonth = setYearToNext(monthDate);
36
+ onMonthChange?.({ date: updatedMonth });
37
+ if (month === undefined)
38
+ setMonthDate(updatedMonth);
30
39
  return;
31
40
  }
32
- setMonthDate((prev) => setMonthToNext(prev));
41
+ const updatedMonth = setMonthToNext(monthDate);
42
+ onMonthChange?.({ date: updatedMonth });
43
+ if (month === undefined)
44
+ setMonthDate(updatedMonth);
33
45
  };
34
46
  const handleMonthTitleClick = () => {
35
47
  setSelectionMode("month");
36
48
  };
37
49
  const handleMonthClick = (i) => {
38
- setMonthDate((prev) => setMonthTo(prev, i));
50
+ const updatedMonth = setMonthTo(monthDate, i);
51
+ onMonthChange?.({ date: updatedMonth });
52
+ if (month === undefined)
53
+ setMonthDate(updatedMonth);
39
54
  setSelectionMode("date");
40
55
  };
41
56
  const handleDateHover = (date) => {
@@ -53,6 +68,14 @@ const CalendarControlled = (props) => {
53
68
  }
54
69
  prevSelectionModeRef.current = selectionMode;
55
70
  }, [selectionMode]);
71
+ /**
72
+ * Handle rendering in controlled mode
73
+ */
74
+ React.useEffect(() => {
75
+ if (!month)
76
+ return;
77
+ setMonthDate(month);
78
+ }, [month]);
56
79
  useCalendarKeyboardNavigation({
57
80
  monthDate,
58
81
  rootRef: selectionRootRef,
@@ -63,7 +86,19 @@ const CalendarControlled = (props) => {
63
86
  min,
64
87
  max,
65
88
  });
66
- return (_jsxs(View, { gap: 2, children: [_jsx(CalendarControls, { renderSelectedMonthLabel: renderSelectedMonthLabel, monthDate: monthDate, selectionMode: selectionMode, isFirstMonth: bounds.isFirstMonth, isLastMonth: bounds.isLastMonth, monthTitleRef: monthTitleRef, onMonthTitleClick: handleMonthTitleClick, onNextClick: handleNextClick, onPreviousClick: handlePreviousClick, previousMonthAriaLabel: previousMonthAriaLabel, previousYearAriaLabel: previousYearAriaLabel, nextMonthAriaLabel: nextMonthAriaLabel, nextYearAriaLabel: nextYearAriaLabel, monthSelectionAriaLabel: monthSelectionAriaLabel }), _jsxs(View.Item, { attributes: { ref: selectionRootRef }, children: [selectionMode === "date" && (_jsx(CalendarMonth, { date: monthDate, value: value, onChange: onChange, min: min, max: max, range: range, firstWeekDay: firstWeekDay, hoveredDate: hoveredDate, selectedDates: selectedDates, onDateHover: handleDateHover, onDateHoverEnd: handleDateHoverEnd, renderWeekDay: renderWeekDay, renderDateAriaLabel: renderDateAriaLabel })), selectionMode === "month" && (_jsx(CalendarYear, { monthDate: monthDate, onMonthClick: handleMonthClick, renderMonthLabel: renderMonthLabel, renderMonthAriaLabel: renderMonthAriaLabel, min: min, max: max }))] })] }));
89
+ return (_jsxs(View, { gap: 2, children: [_jsx(View, { direction: "row", gap: 4, children: Array.from({ length: selectionMode === "date" ? monthsToRender : 1 }).map((_, index) => {
90
+ const hidePrevious = bounds.isFirstMonth || (monthsToRender > 0 && index > 0);
91
+ const hideNext = bounds.isLastMonth ||
92
+ (selectionMode === "date" && monthsToRender > 0 && index < monthsToRender - 1);
93
+ const currentMonthDate = new Date(monthDate);
94
+ currentMonthDate.setMonth(currentMonthDate.getMonth() + index);
95
+ return (_jsx(View.Item, { grow: true, children: _jsx(CalendarControls, { renderSelectedMonthLabel: renderSelectedMonthLabel, monthDate: currentMonthDate, selectionMode: selectionMode, hidePrevious: hidePrevious, hideNext: hideNext, monthTitleRef: index === 0 ? monthTitleRef : undefined, onMonthTitleClick: handleMonthTitleClick, onNextClick: handleNextClick, onPreviousClick: handlePreviousClick, previousMonthAriaLabel: previousMonthAriaLabel, previousYearAriaLabel: previousYearAriaLabel, nextMonthAriaLabel: nextMonthAriaLabel, nextYearAriaLabel: nextYearAriaLabel, monthSelectionAriaLabel: monthSelectionAriaLabel, monthsToRender: monthsToRender }) }, index));
96
+ }) }), _jsxs(View, { direction: "row", gap: 4, attributes: { ref: selectionRootRef }, children: [selectionMode === "date" &&
97
+ Array.from({ length: monthsToRender }).map((_, index) => {
98
+ const currentMonthDate = new Date(monthDate);
99
+ currentMonthDate.setMonth(currentMonthDate.getMonth() + index);
100
+ return (_jsx(View.Item, { grow: true, children: _jsx(CalendarMonth, { date: currentMonthDate, value: value, onChange: onChange, min: min, max: max, range: range, firstWeekDay: firstWeekDay, hoveredDate: hoveredDate, selectedDates: selectedDates, disabledDates: disabledDates, onDateHover: handleDateHover, onDateHoverEnd: handleDateHoverEnd, renderWeekDay: renderWeekDay, renderDateAriaLabel: renderDateAriaLabel, renderDateSlot: renderDateSlot }) }, index));
101
+ }), selectionMode === "month" && (_jsx(CalendarYear, { monthDate: monthDate, onMonthClick: handleMonthClick, renderMonthLabel: renderMonthLabel, renderMonthAriaLabel: renderMonthAriaLabel, min: min, max: max }))] })] }));
67
102
  };
68
103
  CalendarControlled.displayName = "CalendarControlled";
69
104
  export default CalendarControlled;
@@ -1,44 +1,44 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from "react";
3
3
  import Button from "../Button/index.js";
4
- import View from "../View/index.js";
5
4
  import Hidden from "../Hidden/index.js";
6
- import Text from "../Text/index.js";
7
5
  import HiddenVisually from "../HiddenVisually/index.js";
6
+ import Text from "../Text/index.js";
7
+ import View from "../View/index.js";
8
8
  import IconChevronLeft from "../../icons/ChevronLeft.js";
9
9
  import IconChevronRight from "../../icons/ChevronRight.js";
10
10
  import { onNextFrame } from "../../utilities/animation.js";
11
11
  import s from "./Calendar.module.css";
12
12
  const CalendarControls = (props) => {
13
- const { selectionMode, onMonthTitleClick, monthTitleRef, monthDate, renderSelectedMonthLabel, isFirstMonth, isLastMonth, onNextClick, onPreviousClick, monthSelectionAriaLabel = "Select a month", previousMonthAriaLabel = "Previous month", previousYearAriaLabel = "Previous year", nextMonthAriaLabel = "Next month", nextYearAriaLabel = "Next year", } = props;
13
+ const { selectionMode, onMonthTitleClick, monthTitleRef, monthDate, renderSelectedMonthLabel, hidePrevious, hideNext, onNextClick, onPreviousClick, monthSelectionAriaLabel = "Select a month", previousMonthAriaLabel = "Previous month", previousYearAriaLabel = "Previous year", nextMonthAriaLabel = "Next month", nextYearAriaLabel = "Next year", } = props;
14
14
  const prevRef = React.useRef(null);
15
15
  const nextRef = React.useRef(null);
16
16
  React.useEffect(() => {
17
- if (!isFirstMonth)
17
+ if (!hidePrevious)
18
18
  return;
19
19
  if (document.activeElement !== prevRef.current)
20
20
  return;
21
- const targetEl = nextRef.current || monthTitleRef.current;
21
+ const targetEl = nextRef.current || monthTitleRef?.current;
22
22
  onNextFrame(() => {
23
23
  targetEl?.focus();
24
24
  });
25
- }, [isFirstMonth, monthTitleRef]);
25
+ }, [hidePrevious, monthTitleRef]);
26
26
  React.useEffect(() => {
27
- if (!isLastMonth)
27
+ if (!hideNext)
28
28
  return;
29
29
  if (document.activeElement !== nextRef.current)
30
30
  return;
31
- const targetEl = prevRef.current || monthTitleRef.current;
31
+ const targetEl = prevRef.current || monthTitleRef?.current;
32
32
  onNextFrame(() => {
33
33
  targetEl?.focus();
34
34
  });
35
- }, [isLastMonth, monthTitleRef]);
36
- return (_jsxs(View, { direction: "row", gap: 2, align: "center", children: [_jsx(Hidden, { visibility: true, hide: isFirstMonth, children: _jsx("div", { className: s.control, children: _jsx(Button, { variant: "ghost", icon: IconChevronLeft, onClick: onPreviousClick, attributes: {
35
+ }, [hideNext, monthTitleRef]);
36
+ return (_jsxs(View, { direction: "row", gap: 2, align: "center", children: [_jsx(Hidden, { visibility: true, hide: hidePrevious, children: _jsx("div", { className: s.control, children: _jsx(Button, { variant: "ghost", icon: IconChevronLeft, onClick: onPreviousClick, attributes: {
37
37
  ref: prevRef,
38
38
  "aria-label": selectionMode === "date" ? previousMonthAriaLabel : previousYearAriaLabel,
39
39
  } }) }) }), _jsxs(View.Item, { grow: true, children: [selectionMode === "date" && (_jsxs(Button, { fullWidth: true, variant: "ghost", onClick: onMonthTitleClick, attributes: { ref: monthTitleRef }, children: [renderSelectedMonthLabel
40
40
  ? renderSelectedMonthLabel({ date: monthDate })
41
- : monthDate.toLocaleDateString("en-US", { month: "long", year: "numeric" }), _jsx(HiddenVisually, { children: monthSelectionAriaLabel })] })), selectionMode === "month" && (_jsx(Text, { align: "center", weight: "medium", children: monthDate.toLocaleDateString("en-US", { year: "numeric" }) }))] }), _jsx(Hidden, { visibility: true, hide: isLastMonth, children: _jsx("div", { className: s.control, children: _jsx(Button, { variant: "ghost", icon: IconChevronRight, onClick: onNextClick, attributes: {
41
+ : monthDate.toLocaleDateString("en-US", { month: "long", year: "numeric" }), _jsx(HiddenVisually, { children: monthSelectionAriaLabel })] })), selectionMode === "month" && (_jsx(Text, { align: "center", weight: "medium", children: monthDate.toLocaleDateString("en-US", { year: "numeric" }) }))] }), _jsx(Hidden, { visibility: true, hide: hideNext, children: _jsx("div", { className: s.control, children: _jsx(Button, { variant: "ghost", icon: IconChevronRight, onClick: onNextClick, attributes: {
42
42
  ref: nextRef,
43
43
  "aria-label": selectionMode === "date" ? nextMonthAriaLabel : nextYearAriaLabel,
44
44
  } }) }) })] }));
@@ -1,21 +1,23 @@
1
1
  "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import Actionable from "../Actionable/index.js";
4
4
  import { classNames } from "../../utilities/props.js";
5
- import { getLocalISODate } from "./Calendar.utils.js";
6
5
  import s from "./Calendar.module.css";
6
+ import { getLocalISODate } from "./Calendar.utils.js";
7
7
  const CalendarDate = (props) => {
8
- const { date, isoDate, startValue, endValue, disabled, focusable, onChange, range, hoveredDate, onDateHover, onDateHoverEnd, onDateFocus, renderAriaLabel, selectedDates, } = props;
8
+ const { date, isoDate, startValue, endValue, disabled: passedDisabled, focusable, onChange, range, hoveredDate, onDateHover, onDateHoverEnd, onDateFocus, selectedDates, disabledDates, renderAriaLabel, renderSlot, } = props;
9
9
  if (!date)
10
10
  return _jsx("td", { className: s.cell, "aria-hidden": "true" });
11
11
  const isoStartValue = startValue && getLocalISODate({ date: startValue });
12
12
  const isoEndValue = endValue && getLocalISODate({ date: endValue });
13
- const isStartValue = !!isoDate && !!isoStartValue && isoDate === isoStartValue;
14
- const isEndValue = !!isoDate && !!isoEndValue && isoDate === isoEndValue;
15
- const isAfterStartValue = startValue && date > startValue;
16
- const isBeforeEndValue = endValue && date < endValue;
17
- const isInHoveredRange = hoveredDate && !endValue && hoveredDate > date;
18
- const isInSelectedDates = !!selectedDates?.find((selectedDate) => getLocalISODate({ date: selectedDate }) === isoDate);
13
+ const isStartValue = Boolean(isoDate && !!isoStartValue && isoDate === isoStartValue);
14
+ const isEndValue = Boolean(isoDate && !!isoEndValue && isoDate === isoEndValue);
15
+ const isAfterStartValue = Boolean(isoDate && isoStartValue && isoDate > isoStartValue);
16
+ const isBeforeEndValue = Boolean(isoDate && isoEndValue && isoDate < isoEndValue);
17
+ const isInHoveredRange = Boolean(hoveredDate && !endValue && hoveredDate > date);
18
+ const isInSelectedDates = !!selectedDates?.some((selectedDate) => getLocalISODate({ date: selectedDate }) === isoDate);
19
+ const disabled = passedDisabled ||
20
+ disabledDates?.some((disabledDate) => getLocalISODate({ date: disabledDate }) === isoDate);
19
21
  let selection;
20
22
  switch (true) {
21
23
  case isAfterStartValue && isInHoveredRange:
@@ -61,7 +63,7 @@ const CalendarDate = (props) => {
61
63
  handleMouseEnter();
62
64
  onDateFocus(date);
63
65
  };
64
- return (_jsx("td", { className: dateClassNames, role: disabled ? "presentation" : "gridcell", children: _jsx(Actionable, { fullWidth: true, insetFocus: true, className: s["cell-button"], disabled: disabled, onClick: handleClick, attributes: {
66
+ return (_jsx("td", { className: dateClassNames, role: disabled ? "presentation" : "gridcell", children: _jsxs(Actionable, { fullWidth: true, insetFocus: true, className: s["cell-button"], disabled: disabled, onClick: handleClick, attributes: {
65
67
  role: "checkbox",
66
68
  tabIndex: focusable ? 0 : -1,
67
69
  "aria-hidden": disabled,
@@ -74,7 +76,7 @@ const CalendarDate = (props) => {
74
76
  onMouseLeave: handleMouseLeave,
75
77
  onFocus: handleFocus,
76
78
  onBlur: handleMouseLeave,
77
- }, children: date.getDate() }) }));
79
+ }, children: [date.getDate(), renderSlot?.({ date, selected: Boolean(selection && selection !== "range") })] }) }));
78
80
  };
79
81
  CalendarDate.displayName = "CalendarDate";
80
82
  export default CalendarDate;
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useState } from "react";
4
+ import s from "./Calendar.module.css";
4
5
  import { getMonthWeeks, getWeekdayNames, getLocalISODate, isDateFocusable } from "./Calendar.utils.js";
5
6
  import CalendarDate from "./CalendarDate.js";
6
- import s from "./Calendar.module.css";
7
7
  const CalendarMonth = (props) => {
8
- const { date, value, onChange, min, max, range, firstWeekDay, selectedDates, hoveredDate, onDateHover, onDateHoverEnd, renderWeekDay, renderDateAriaLabel, } = props;
8
+ const { date, value, onChange, min, max, range, firstWeekDay, selectedDates, disabledDates, hoveredDate, onDateHover, onDateHoverEnd, renderWeekDay, renderDateAriaLabel, renderDateSlot, } = props;
9
9
  let foundFocusableDate = false;
10
10
  const [lastFocusedDate, setLastFocusedDate] = useState();
11
11
  const month = date.getMonth();
@@ -26,7 +26,7 @@ const CalendarMonth = (props) => {
26
26
  // eslint-disable-next-line react-hooks/immutability
27
27
  if (focusable)
28
28
  foundFocusableDate = true;
29
- return (_jsx(CalendarDate, { date: date, isoDate: isoDate, disabled: disabled, range: range, focusable: focusable, startValue: startValue, endValue: endValue, onChange: onChange, hoveredDate: hoveredDate, onDateHover: onDateHover, onDateHoverEnd: onDateHoverEnd, onDateFocus: setLastFocusedDate, renderAriaLabel: renderDateAriaLabel, selectedDates: selectedDates }, index));
29
+ return (_jsx(CalendarDate, { date: date, isoDate: isoDate, disabled: disabled, range: range, focusable: focusable, startValue: startValue, endValue: endValue, onChange: onChange, hoveredDate: hoveredDate, onDateHover: onDateHover, onDateHoverEnd: onDateHoverEnd, onDateFocus: setLastFocusedDate, renderAriaLabel: renderDateAriaLabel, selectedDates: selectedDates, disabledDates: disabledDates, renderSlot: renderDateSlot }, index));
30
30
  }) }, key));
31
31
  }) })] }));
32
32
  };
@@ -2,8 +2,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from "react";
3
3
  import Actionable from "../Actionable/index.js";
4
4
  import { onNextFrame } from "../../utilities/animation.js";
5
- import { getMonthNames } from "./Calendar.utils.js";
6
5
  import s from "./Calendar.module.css";
6
+ import { getMonthNames } from "./Calendar.utils.js";
7
7
  const MONTHS_PER_ROW = 3;
8
8
  const CalendarYear = (props) => {
9
9
  const { renderMonthLabel, renderMonthAriaLabel, monthDate, min, max, onMonthClick } = props;
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import useHotkeys from "../../hooks/useHotkeys.js";
3
2
  import * as keys from "../../constants/keys.js";
3
+ import useHotkeys from "../../hooks/useHotkeys.js";
4
4
  import { getFocusableDates } from "./Calendar.utils.js";
5
5
  const useCalendarKeyboardNavigation = (props) => {
6
6
  const { rootRef, changeToNextMonth, changeToPreviousMonth, monthDate, verticalDelta, min, max } = props;
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import { classNames } from "../../utilities/props.js";
4
3
  import Actionable from "../Actionable/index.js";
5
- import s from "./Card.module.css";
6
4
  import { resolveMixin } from "../../styles/mixin.js";
5
+ import { classNames } from "../../utilities/props.js";
6
+ import s from "./Card.module.css";
7
7
  const Card = forwardRef((props, ref) => {
8
8
  const { padding = 4 } = props;
9
9
  const { selected, elevated, bleed, height, onClick, href, children, className, attributes,
@@ -1 +1 @@
1
- .root{--rs-card-shadow-border:0 0 0 1px var(--rs-color-border-neutral-faded) inset;--rs-card-shadow-elevation:0 0 transparent;background:var(--rs-color-background-elevation-base);box-shadow:var(--rs-card-shadow-border),var(--rs-card-shadow-elevation);color:var(--rs-color-foreground-neutral);display:block;overflow:hidden;position:relative;text-align:initial;transition:var(--rs-duration-fast) var(--rs-easing-accelerate);transition-property:box-shadow,border-color}.--selected{border-color:transparent;box-shadow:0 0 0 2px var(--rs-color-border-primary);transition-timing-function:var(--rs-easing-decelerate)}.--elevated{--rs-card-shadow-elevation:var(--rs-shadow-raised);background:var(--rs-color-background-elevation-raised)}.--actionable:not(.--selected){color:inherit;cursor:pointer;outline:none;text-decoration:none}[data-rs-keyboard] .--actionable:not(.--selected):focus{--rs-card-shadow-border:var(--rs-shadow-focus)}.--actionable:not(.--selected):before{background:rgba(var(--rs-color-rgb-background-neutral-faded),32%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--rs-duration-fast) var(--rs-easing-standard)}@media (hover:hover) and (pointer:fine){.--actionable:not(.--selected):hover:before{opacity:1}}
1
+ .root{--rs-border-w:1px;background:var(--rs-color-background-elevation-base);border:var(--rs-border-w) solid var(--rs-color-border-neutral-faded);color:var(--rs-color-foreground-neutral);display:block;overflow:hidden;position:relative;text-align:initial;transition:var(--rs-duration-fast) var(--rs-easing-accelerate);transition-property:box-shadow,border-color}.--selected{border-color:transparent;box-shadow:0 0 0 2px var(--rs-color-border-primary);transition-timing-function:var(--rs-easing-decelerate)}.--elevated{background:var(--rs-color-background-elevation-raised);box-shadow:var(--rs-shadow-raised)}.--actionable:not(.--selected){color:inherit;cursor:pointer;outline:none;text-decoration:none}[data-rs-keyboard] .--actionable:not(.--selected):focus{box-shadow:var(--rs-shadow-focus)}.--actionable:not(.--selected):before{background:rgba(var(--rs-color-rgb-background-neutral-faded),32%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--rs-duration-fast) var(--rs-easing-standard)}@media (hover:hover) and (pointer:fine){.--actionable:not(.--selected):hover:before{opacity:1}}
@@ -1,6 +1,6 @@
1
- import type React from "react";
2
1
  import type { ActionableProps } from "../Actionable";
3
2
  import type { ViewProps } from "../View";
3
+ import type React from "react";
4
4
  import type * as G from "../../types/global";
5
5
  export type Props<TagName extends keyof React.JSX.IntrinsicElements = "div"> = {
6
6
  /** Component padding, base unit multiplier */
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import React from "react";
4
- import { classNames, responsiveVariables, responsiveClassNames } from "../../utilities/props.js";
5
- import { rafThrottle } from "../../utilities/helpers.js";
6
4
  import View from "../View/index.js";
7
- import useRTL from "../../hooks/useRTL.js";
8
5
  import useIsomorphicLayoutEffect from "../../hooks/useIsomorphicLayoutEffect.js";
9
- import CarouselControl from "./CarouselControl.js";
6
+ import useRTL from "../../hooks/useRTL.js";
7
+ import { rafThrottle } from "../../utilities/helpers.js";
8
+ import { classNames, responsiveVariables, responsiveClassNames } from "../../utilities/props.js";
10
9
  import s from "./Carousel.module.css";
10
+ import CarouselControl from "./CarouselControl.js";
11
11
  const Carousel = (props) => {
12
12
  const { children, gap = 3, visibleItems, bleed, navigationDisplay, onChange, onScroll, instanceRef, className, attributes, } = props;
13
13
  const currentIndexRef = React.useRef(0);
@@ -1,6 +1,6 @@
1
+ import type { ActionableRef } from "../Actionable";
1
2
  import type React from "react";
2
3
  import type * as G from "../../types/global";
3
- import type { ActionableRef } from "../Actionable";
4
4
  export type Instance = {
5
5
  /** Scroll to the previous item */
6
6
  navigateBack: () => void;
@@ -1,4 +1,4 @@
1
- import type { ActionableRef } from "../Actionable";
2
1
  import * as T from "./Carousel.types";
2
+ import type { ActionableRef } from "../Actionable";
3
3
  declare const CarouselControl: import("react").ForwardRefExoticComponent<T.ControlProps & import("react").RefAttributes<ActionableRef>>;
4
4
  export default CarouselControl;
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { forwardRef, useState } from "react";
4
- import { classNames } from "../../utilities/props.js";
5
4
  import Button from "../Button/index.js";
6
- import IconChevronRight from "../../icons/ChevronRight.js";
7
- import IconChevronLeft from "../../icons/ChevronLeft.js";
8
5
  import useIsomorphicLayoutEffect from "../../hooks/useIsomorphicLayoutEffect.js";
6
+ import IconChevronLeft from "../../icons/ChevronLeft.js";
7
+ import IconChevronRight from "../../icons/ChevronRight.js";
8
+ import { classNames } from "../../utilities/props.js";
9
9
  import s from "./Carousel.module.css";
10
10
  const CarouselControl = forwardRef((props, ref) => {
11
11
  const { type, scrollElRef, oppositeControlElRef, scrollPosition, onClick, isRTL, mounted } = props;
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import React from "react";
4
- import { classNames, responsiveClassNames, responsivePropDependency } from "../../utilities/props.js";
5
- import useIsomorphicLayoutEffect from "../../hooks/useIsomorphicLayoutEffect.js";
6
- import HiddenInput from "../_private/HiddenInput/index.js";
7
- import { useFormControl } from "../FormControl/index.js";
8
4
  import { useCheckboxGroup } from "../CheckboxGroup/index.js";
5
+ import { useFormControl } from "../FormControl/index.js";
6
+ import HiddenInput from "../HiddenInput/index.js";
9
7
  import Icon from "../Icon/index.js";
10
8
  import Text from "../Text/index.js";
9
+ import useIsomorphicLayoutEffect from "../../hooks/useIsomorphicLayoutEffect.js";
11
10
  import IconCheckmark from "../../icons/Checkmark.js";
11
+ import { classNames, responsiveClassNames, responsivePropDependency } from "../../utilities/props.js";
12
12
  import s from "./Checkbox.module.css";
13
13
  const Checkbox = (props) => {
14
14
  const { children, value, onChange, onFocus, onBlur, indeterminate, size = "medium", className, attributes, inputAttributes, } = props;
@@ -21,20 +21,10 @@ const Checkbox = (props) => {
21
21
  const name = checkboxGroup ? checkboxGroup.name : props.name;
22
22
  const inputRef = React.useRef(null);
23
23
  const rootClassName = classNames(s.root, className, size && hasError && s["--error"], disabled && s["--disabled"], size && responsiveClassNames(s, "--size", size));
24
- const handleChange = (event) => {
25
- if (!name)
26
- return;
27
- const { checked } = event.target;
28
- const changeArgs = { name, value, checked, event };
29
- if (onChange)
30
- onChange(changeArgs);
31
- if (checkboxGroup?.onChange)
32
- checkboxGroup.onChange(changeArgs);
33
- };
34
24
  useIsomorphicLayoutEffect(() => {
35
25
  inputRef.current.indeterminate = indeterminate || false;
36
26
  }, [indeterminate, checked]);
37
- return (_jsxs("label", { ...attributes, className: rootClassName, children: [_jsxs("span", { className: s.field, children: [_jsx(HiddenInput, { className: s.input, type: "checkbox", checked: checked, defaultChecked: defaultChecked, name: name, disabled: disabled, value: value, onChange: handleChange, onFocus: onFocus, onBlur: onBlur, attributes: {
27
+ return (_jsxs("label", { ...attributes, className: rootClassName, children: [_jsxs("span", { className: s.field, children: [_jsx(HiddenInput, { className: s.input, type: "checkbox", checked: checked, defaultChecked: defaultChecked, name: name, disabled: disabled, value: value, onChange: onChange, onFocus: onFocus, onBlur: onBlur, attributes: {
38
28
  ...inputAttributes,
39
29
  ref: inputRef,
40
30
  } }), _jsx("div", { className: s.decorator, children: _jsx(Icon, { svg: IconCheckmark, className: s.icon, size: responsivePropDependency(size, (size) => {
@@ -1,6 +1,6 @@
1
+ import type { CheckboxProps } from "../Checkbox";
1
2
  import type React from "react";
2
3
  import type * as G from "../../types/global";
3
- import type { CheckboxProps } from "../Checkbox";
4
4
  type BaseProps = {
5
5
  /** Component id attribute */
6
6
  id?: string;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { classNames } from "../../utilities/props.js";
3
2
  import View from "../View/index.js";
3
+ import { classNames } from "../../utilities/props.js";
4
4
  import s from "./Container.module.css";
5
5
  const Container = (props) => {
6
6
  const { children, padding = 4, width, align, justify, height, maxHeight, className, attributes, } = props;
@@ -1,5 +1,5 @@
1
- import type React from "react";
2
1
  import type { ViewProps } from "../View";
2
+ import type React from "react";
3
3
  import type * as G from "../../types/global";
4
4
  export type Props = Pick<ViewProps, "align" | "justify" | "height" | "maxHeight"> & {
5
5
  /** Component inline padding */
@@ -2,9 +2,9 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React from "react";
4
4
  import DropdownMenu from "../DropdownMenu/index.js";
5
+ import useHandlerRef from "../../hooks/useHandlerRef.js";
5
6
  import useScrollLock from "../../hooks/useScrollLock.js";
6
7
  import s from "./ContextMenu.module.css";
7
- import useHandlerRef from "../../hooks/useHandlerRef.js";
8
8
  const ContextMenu = (props) => {
9
9
  const { position = "end-top", onOpen, onClose, ...dropdownMenuProps } = props;
10
10
  const [coordinates, setCoordinates] = React.useState();
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { classNames } from "../../utilities/props.js";
4
3
  import Button from "../Button/index.js";
5
4
  import IconClose from "../../icons/Close.js";
5
+ import { classNames } from "../../utilities/props.js";
6
6
  import s from "./Dismissible.module.css";
7
7
  const Dismissible = (props) => {
8
8
  const { children, align, onClose, hideCloseButton, variant, closeAriaLabel, className, attributes, } = props;
@@ -1,4 +1,4 @@
1
- import type React from "react";
2
1
  import type * as T from "./Divider.types";
2
+ import type React from "react";
3
3
  declare const Divider: React.FC<T.Props>;
4
4
  export default Divider;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { classNames, responsiveClassNames } from "../../utilities/props.js";
3
2
  import Text from "../Text/index.js";
3
+ import { classNames, responsiveClassNames } from "../../utilities/props.js";
4
4
  import s from "./Divider.module.css";
5
5
  const Divider = (props) => {
6
6
  const { vertical, blank, children, contentPosition = "center", color, offset, className, attributes, } = props;
@@ -1,21 +1,21 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React from "react";
4
- import Popover from "../Popover/index.js";
5
- import MenuItem from "../MenuItem/index.js";
6
- import Icon from "../Icon/index.js";
7
4
  import { useFlyoutContext } from "../Flyout/index.js";
8
- import IconChevronRight from "../../icons/ChevronRight.js";
5
+ import Icon from "../Icon/index.js";
6
+ import MenuItem from "../MenuItem/index.js";
7
+ import Popover from "../Popover/index.js";
8
+ import * as keys from "../../constants/keys.js";
9
9
  import useHotkeys from "../../hooks/useHotkeys.js";
10
10
  import useRTL from "../../hooks/useRTL.js";
11
+ import IconChevronRight from "../../icons/ChevronRight.js";
11
12
  import { classNames } from "../../utilities/props.js";
12
- import * as keys from "../../constants/keys.js";
13
13
  import s from "./DropdownMenu.module.css";
14
14
  const DropdownMenuSubContext = React.createContext(null);
15
15
  const DropdownMenuSubTriggerContext = React.createContext(false);
16
16
  const DropdownMenu = (props) => {
17
17
  const { children, position = "bottom-start", triggerType = "click", trapFocusMode = "action-menu", borderRadius = "small", ...popoverProps } = props;
18
- return (_jsx(Popover, { ...popoverProps, position: position, padding: 0, trapFocusMode: trapFocusMode, triggerType: triggerType, borderRadius: borderRadius, disableHideAnimation: true, children: children }));
18
+ return (_jsx(Popover, { ...popoverProps, position: position, padding: 0, trapFocusMode: trapFocusMode, triggerType: triggerType, borderRadius: borderRadius, disableHideAnimation: triggerType !== "hover", children: children }));
19
19
  };
20
20
  export const DropdownMenuContent = (props) => {
21
21
  const { children, attributes, className } = props;
@@ -1,9 +1,9 @@
1
- import type React from "react";
2
- import type { PopoverProps, PopoverInstance } from "../Popover";
3
- import type { MenuItemProps } from "../MenuItem";
4
1
  import type { FlyoutContentProps } from "../Flyout";
2
+ import type { MenuItemProps } from "../MenuItem";
3
+ import type { PopoverProps, PopoverInstance } from "../Popover";
4
+ import type React from "react";
5
5
  export type Instance = PopoverInstance;
6
- export type Props = Pick<PopoverProps, "children" | "position" | "forcePosition" | "fallbackPositions" | "fallbackAdjustLayout" | "fallbackMinWidth" | "fallbackMinHeight" | "triggerType" | "contentGap" | "contentShift" | "onOpen" | "onClose" | "active" | "defaultActive" | "width" | "disableHideAnimation" | "disableCloseOnOutsideClick" | "instanceRef" | "containerRef" | "positionRef" | "originCoordinates" | "borderRadius" | "elevation" | "initialFocusRef"> & {
6
+ export type Props = Pick<PopoverProps, "children" | "position" | "forcePosition" | "fallbackPositions" | "fallbackAdjustLayout" | "fallbackMinWidth" | "fallbackMinHeight" | "triggerType" | "contentGap" | "contentShift" | "contentMaxHeight" | "onOpen" | "onClose" | "active" | "defaultActive" | "width" | "disableHideAnimation" | "disableCloseOnOutsideClick" | "instanceRef" | "containerRef" | "positionRef" | "originCoordinates" | "borderRadius" | "elevation" | "initialFocusRef"> & {
7
7
  /** Change component trap focus keyboard behavior and shortcuts */
8
8
  trapFocusMode?: Extract<PopoverProps["trapFocusMode"], "action-menu" | "selection-menu"> | false;
9
9
  };
@@ -1,18 +1,18 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { classNames } from "../../utilities/props.js";
4
- import View from "../View/index.js";
5
3
  import HiddenVisually from "../HiddenVisually/index.js";
4
+ import View from "../View/index.js";
6
5
  import useToggle from "../../hooks/useToggle.js";
6
+ import { classNames } from "../../utilities/props.js";
7
7
  import s from "./FileUpload.module.css";
8
8
  export const FileUploadTrigger = (props) => {
9
9
  const { children } = props;
10
10
  return _jsx("span", { className: s.trigger, children: children });
11
11
  };
12
12
  const FileUpload = (props) => {
13
- const { name, children, height, variant = "outline", inline, className, attributes, inputAttributes, onChange, } = props;
13
+ const { name, children, height, variant = "outline", inline, className, disabled, attributes, inputAttributes, onChange, } = props;
14
14
  const highlightToggle = useToggle();
15
- const rootClassNames = classNames(s.root, variant && s[`--variant-${variant}`], inline && s[`--inline`], highlightToggle.active && s["--highlighted"], className);
15
+ const rootClassNames = classNames(s.root, variant && s[`--variant-${variant}`], inline && s[`--inline`], highlightToggle.active && s["--highlighted"], disabled && s["--disabled"], className);
16
16
  const handleDragOver = (event) => {
17
17
  event.preventDefault();
18
18
  attributes?.onDragOver?.(event);
@@ -41,15 +41,17 @@ const FileUpload = (props) => {
41
41
  onChange?.({ name, event, value: Array.from(nextValue) });
42
42
  inputAttributes?.onChange?.(event);
43
43
  };
44
- const inputNode = (_jsx(HiddenVisually, { children: _jsx("input", { ...inputAttributes, type: "file", className: s.field, name: name, onChange: handleChange }) }));
44
+ const inputNode = (_jsx(HiddenVisually, { children: _jsx("input", { ...inputAttributes, type: "file", className: s.field, name: name, disabled: disabled, onChange: handleChange }) }));
45
45
  const childrenNode = typeof children === "function" ? children({ highlighted: highlightToggle.active }) : children;
46
- return (_jsx(View, { className: rootClassNames, height: height, attributes: {
46
+ return (_jsx(View, { className: rootClassNames, height: height,
47
+ // For the focus ring radius
48
+ borderRadius: "medium", attributes: {
47
49
  ...attributes,
48
50
  onDragOver: handleDragOver,
49
51
  onDragEnter: handleDragEnter,
50
52
  onDragLeave: handleDragLeave,
51
53
  onDrop: handleDrop,
52
- }, children: variant === "outline" && !inline ? (_jsxs(View, { as: "label", className: s.triggerLayer, padding: 6, borderRadius: "medium", gap: 2, align: "center", justify: "center", textAlign: "center", animated: true, height: "100%", children: [inputNode, _jsx(View.Item, { children: childrenNode })] })) : (_jsxs("label", { className: s.triggerLayer, children: [inputNode, childrenNode] })) }));
54
+ }, children: variant === "outline" && !inline ? (_jsxs(View, { as: "label", className: s.triggerLayer, padding: 6, borderRadius: "medium", gap: 2, align: "center", justify: "center", textAlign: "center", height: "100%", children: [inputNode, _jsx(View.Item, { children: childrenNode })] })) : (_jsxs("label", { className: s.triggerLayer, children: [inputNode, childrenNode] })) }));
53
55
  };
54
56
  FileUpload.displayName = "FileUpload";
55
57
  FileUploadTrigger.displayName = "FileUpload.Trigger";
@@ -1 +1 @@
1
- .root{--rs-file-upload-radius:var(--rs-radius-medium);display:block}[data-rs-keyboard] .root:focus-within{box-shadow:var(--rs-shadow-focus)}.--inline{--rs-file-upload-radius:var(--rs-radius-small)}.--inline,.--inline .triggerLayer{display:inline-block;vertical-align:top}[data-rs-keyboard] .--inline:focus-within{box-shadow:none}[data-rs-keyboard] .--inline:focus-within .triggerLayer>*{box-shadow:var(--rs-shadow-focus)}.--variant-outline .triggerLayer{border:1px dashed var(--rs-color-border-neutral);border-radius:var(--rs-file-upload-radius)}.--highlighted.--variant-outline .triggerLayer{background:rgba(var(--rs-color-rgb-background-primary),.08);border-color:var(--rs-color-border-primary)}@media (hover:hover) and (pointer:fine){.--variant-outline .triggerLayer:hover:not(:has(.trigger)){background:rgba(var(--rs-color-rgb-background-neutral),.16)}}.triggerLayer:has(.trigger){pointer-events:none}.triggerLayer:has(.trigger) .trigger{pointer-events:all}.trigger{display:contents}
1
+ .root{--rs-file-upload-radius:var(--rs-radius-medium);--rs-file-upload-border-color:var(--rs-color-border-neutral);--rs-file-upload-hover-background-color:rgba(var(--rs-color-rgb-background-neutral),0.16);display:block}[data-rs-keyboard] .root:focus-within{box-shadow:var(--rs-shadow-focus)}.triggerLayer:has(.trigger){pointer-events:none}.triggerLayer:has(.trigger) .trigger,.triggerLayer:has(.trigger) a,.triggerLayer:has(.trigger) button{pointer-events:all}.trigger{display:contents}.--inline{--rs-file-upload-radius:var(--rs-radius-small)}.--inline,.--inline .triggerLayer{display:inline-block;vertical-align:top}[data-rs-keyboard] .--inline:focus-within{box-shadow:none}[data-rs-keyboard] .--inline:focus-within .triggerLayer>*{box-shadow:var(--rs-shadow-focus)}.--variant-outline .triggerLayer{border:1px dashed var(--rs-file-upload-border-color);border-radius:var(--rs-file-upload-radius);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:background-color,border-color}.--highlighted.--variant-outline .triggerLayer{background:rgba(var(--rs-color-rgb-background-primary),.08);border-color:var(--rs-color-border-primary)}@media (hover:hover) and (pointer:fine){.--variant-outline .triggerLayer:hover:not(:has(.trigger)){background:var(--rs-file-upload-hover-background-color)}}.--disabled{--rs-file-upload-border-color:var(--rs-color-border-disabled);--rs-file-upload-hover-background-color:transparent}.--disabled .triggerLayer{cursor:not-allowed;opacity:.4}
@@ -1,9 +1,11 @@
1
- import type React from "react";
2
1
  import type { ViewProps } from "../View";
2
+ import type React from "react";
3
3
  import type * as G from "../../types/global";
4
4
  export type Props = {
5
5
  /** Name of the input element */
6
6
  name: string;
7
+ /** Disable the file upload input */
8
+ disabled?: boolean;
7
9
  /** Node for inserting children, can be a render function that receives component state */
8
10
  children?: React.ReactNode | ((props: {
9
11
  highlighted?: boolean;
@@ -1,6 +1,3 @@
1
- import type * as T from "./Flyout.types";
2
- export declare const mouseEnter = 800;
3
- export declare const mouseEnterShort = 100;
4
- export declare const mouseLeave = 150;
5
- export declare const defaultStyles: T.Styles;
6
- export declare const resetStyles: T.Styles;
1
+ export declare const mouseEnter = 600;
2
+ export declare const defaultStyles: React.CSSProperties;
3
+ export declare const resetStyles: React.CSSProperties;
@@ -1,6 +1,4 @@
1
- export const mouseEnter = 800;
2
- export const mouseEnterShort = 100;
3
- export const mouseLeave = 150;
1
+ export const mouseEnter = 600;
4
2
  export const defaultStyles = {
5
3
  left: 0,
6
4
  top: 0,
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import FlyoutUncontrolled from "./FlyoutUncontrolled.js";
3
2
  import FlyoutControlled from "./FlyoutControlled.js";
3
+ import FlyoutUncontrolled from "./FlyoutUncontrolled.js";
4
4
  const Flyout = (props) => {
5
5
  const { active } = props;
6
6
  if (typeof active === "boolean")
@@ -1 +1 @@
1
- .content{--rs-flyout-gap:0;--rs-flyout-origin-x:50%;--rs-flyout-origin-y:50%;isolation:isolate;pointer-events:none;position:absolute}.content.--hover{pointer-events:all}.content.--hover-disabled,.content.--hover-disabled .inner{pointer-events:none}.inner{backface-visibility:hidden;height:100%;max-height:100%;max-width:100%;opacity:0;outline:none;overflow:auto;pointer-events:all;transform:scale(.92) translateY(0);transform-origin:var(--rs-flyout-origin-x) var(--rs-flyout-origin-y);transition:1ms var(--rs-easing-accelerate)}[data-rs-keyboard] .inner:focus{box-shadow:var(--rs-shadow-focus)}.content.--width-trigger .inner{transform:scale(1) translateY(var(--rs-unit-x2))}.content.--position-top,.content.--position-top-end,.content.--position-top-start{--rs-flyout-origin-y:100%;padding-bottom:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}.content.--position-bottom,.content.--position-bottom-end,.content.--position-bottom-start{--rs-flyout-origin-y:0%;padding-top:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}.content.--position-bottom-start,.content.--position-top-start{--rs-flyout-origin-x:0%}.content.--position-bottom-end,.content.--position-top-end{--rs-flyout-origin-x:100%}.content.--position-start,.content.--position-start-bottom,.content.--position-start-top{--rs-flyout-origin-x:100%;padding-right:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}.content.--position-end,.content.--position-end-bottom,.content.--position-end-top{--rs-flyout-origin-x:0%;padding-left:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}.content.--position-end-top,.content.--position-start-top{--rs-flyout-origin-y:0%}.content.--position-end-bottom,.content.--position-start-bottom{--rs-flyout-origin-y:100%}.content.--visible .inner{opacity:1;transform:scale(1) translateY(0)}.content.--animated .inner{transition-duration:var(--rs-duration-rapid);transition-property:opacity,transform}.content.--animated.--visible .inner{transition-duration:var(--rs-duration-fast);transition-timing-function:var(--rs-easing-decelerate)}
1
+ .content{--rs-flyout-gap:0;--rs-flyout-max-h:100%;--rs-flyout-origin-x:50%;--rs-flyout-origin-y:50%;display:flex;flex-direction:column;isolation:isolate;pointer-events:none;position:absolute}.content.--hover{pointer-events:all}.content.--hover-disabled,.content.--hover-disabled .inner{pointer-events:none}.inner{backface-visibility:hidden;flex-grow:1;height:100%;max-height:var(--rs-flyout-max-h);max-width:100%;opacity:0;outline:none;overflow:auto;pointer-events:all;transform:scale(.92) translateY(0);transform-origin:var(--rs-flyout-origin-x) var(--rs-flyout-origin-y);transition:1ms var(--rs-easing-accelerate)}[data-rs-keyboard] .inner:focus{box-shadow:var(--rs-shadow-focus)}.content.--width-trigger .inner{transform:scale(1) translateY(var(--rs-unit-x2))}.content.--position-top,.content.--position-top-end,.content.--position-top-start{--rs-flyout-origin-y:100%;padding-bottom:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}.content.--position-bottom,.content.--position-bottom-end,.content.--position-bottom-start{--rs-flyout-origin-y:0%;padding-top:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}.content.--position-bottom-start,.content.--position-top-start{--rs-flyout-origin-x:0%}.content.--position-bottom-end,.content.--position-top-end{--rs-flyout-origin-x:100%}.content.--position-start,.content.--position-start-bottom,.content.--position-start-top{--rs-flyout-origin-x:100%;padding-right:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}.content.--position-end,.content.--position-end-bottom,.content.--position-end-top{--rs-flyout-origin-x:0%;padding-left:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}.content.--position-end-top,.content.--position-start-top{--rs-flyout-origin-y:0%}.content.--position-end-bottom,.content.--position-start-bottom{--rs-flyout-origin-y:100%}.content.--visible .inner{opacity:1;transform:scale(1) translateY(0)}.content.--animated .inner{transition-duration:var(--rs-duration-rapid);transition-property:opacity,transform}.content.--animated.--visible .inner{transition-duration:var(--rs-duration-fast);transition-timing-function:var(--rs-easing-decelerate)}