@salt-ds/core 1.31.0 → 1.33.0

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 (756) hide show
  1. package/css/salt-core.css +28 -5
  2. package/dist-cjs/accordion/Accordion.js +7 -7
  3. package/dist-cjs/accordion/Accordion.js.map +1 -1
  4. package/dist-cjs/accordion/AccordionContext.js +6 -6
  5. package/dist-cjs/accordion/AccordionContext.js.map +1 -1
  6. package/dist-cjs/accordion/AccordionGroup.js +6 -6
  7. package/dist-cjs/accordion/AccordionGroup.js.map +1 -1
  8. package/dist-cjs/accordion/AccordionHeader.js +7 -7
  9. package/dist-cjs/accordion/AccordionHeader.js.map +1 -1
  10. package/dist-cjs/accordion/AccordionPanel.js +5 -5
  11. package/dist-cjs/accordion/AccordionPanel.js.map +1 -1
  12. package/dist-cjs/aria-announcer/AriaAnnounce.js.map +1 -1
  13. package/dist-cjs/aria-announcer/AriaAnnouncerContext.js.map +1 -1
  14. package/dist-cjs/aria-announcer/AriaAnnouncerProvider.js.map +1 -1
  15. package/dist-cjs/aria-announcer/useAriaAnnouncer.js +7 -7
  16. package/dist-cjs/aria-announcer/useAriaAnnouncer.js.map +1 -1
  17. package/dist-cjs/avatar/Avatar.js +4 -4
  18. package/dist-cjs/avatar/Avatar.js.map +1 -1
  19. package/dist-cjs/avatar/useAvatarImage.js +6 -6
  20. package/dist-cjs/avatar/useAvatarImage.js.map +1 -1
  21. package/dist-cjs/badge/Badge.js +5 -5
  22. package/dist-cjs/badge/Badge.js.map +1 -1
  23. package/dist-cjs/banner/Banner.js +6 -6
  24. package/dist-cjs/banner/Banner.js.map +1 -1
  25. package/dist-cjs/banner/BannerActions.js +5 -5
  26. package/dist-cjs/banner/BannerActions.js.map +1 -1
  27. package/dist-cjs/banner/BannerContent.js +5 -5
  28. package/dist-cjs/banner/BannerContent.js.map +1 -1
  29. package/dist-cjs/border-item/BorderItem.js +7 -7
  30. package/dist-cjs/border-item/BorderItem.js.map +1 -1
  31. package/dist-cjs/border-layout/BorderLayout.js +5 -5
  32. package/dist-cjs/border-layout/BorderLayout.js.map +1 -1
  33. package/dist-cjs/breakpoints/BreakpointProvider.js +6 -6
  34. package/dist-cjs/breakpoints/BreakpointProvider.js.map +1 -1
  35. package/dist-cjs/button/Button.css.js +1 -1
  36. package/dist-cjs/button/Button.js +5 -5
  37. package/dist-cjs/button/Button.js.map +1 -1
  38. package/dist-cjs/button/useButton.js.map +1 -1
  39. package/dist-cjs/card/Card.js +42 -40
  40. package/dist-cjs/card/Card.js.map +1 -1
  41. package/dist-cjs/checkbox/Checkbox.js +6 -6
  42. package/dist-cjs/checkbox/Checkbox.js.map +1 -1
  43. package/dist-cjs/checkbox/CheckboxGroup.js +5 -5
  44. package/dist-cjs/checkbox/CheckboxGroup.js.map +1 -1
  45. package/dist-cjs/checkbox/CheckboxIcon.js +5 -5
  46. package/dist-cjs/checkbox/CheckboxIcon.js.map +1 -1
  47. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js +6 -6
  48. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  49. package/dist-cjs/combo-box/ComboBox.js +21 -20
  50. package/dist-cjs/combo-box/ComboBox.js.map +1 -1
  51. package/dist-cjs/combo-box/useComboBox.js +6 -6
  52. package/dist-cjs/combo-box/useComboBox.js.map +1 -1
  53. package/dist-cjs/dialog/Dialog.js +92 -88
  54. package/dist-cjs/dialog/Dialog.js.map +1 -1
  55. package/dist-cjs/dialog/DialogActions.js +6 -6
  56. package/dist-cjs/dialog/DialogActions.js.map +1 -1
  57. package/dist-cjs/dialog/DialogCloseButton.js +7 -7
  58. package/dist-cjs/dialog/DialogCloseButton.js.map +1 -1
  59. package/dist-cjs/dialog/DialogContent.js +6 -6
  60. package/dist-cjs/dialog/DialogContent.js.map +1 -1
  61. package/dist-cjs/dialog/DialogContext.js.map +1 -1
  62. package/dist-cjs/dialog/DialogHeader.js +5 -5
  63. package/dist-cjs/dialog/DialogHeader.js.map +1 -1
  64. package/dist-cjs/divider/Divider.js +6 -6
  65. package/dist-cjs/divider/Divider.js.map +1 -1
  66. package/dist-cjs/drawer/Drawer.js +76 -74
  67. package/dist-cjs/drawer/Drawer.js.map +1 -1
  68. package/dist-cjs/drawer/DrawerCloseButton.js +7 -7
  69. package/dist-cjs/drawer/DrawerCloseButton.js.map +1 -1
  70. package/dist-cjs/dropdown/Dropdown.js +17 -16
  71. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  72. package/dist-cjs/file-drop-zone/FileDropZone.js +5 -5
  73. package/dist-cjs/file-drop-zone/FileDropZone.js.map +1 -1
  74. package/dist-cjs/file-drop-zone/FileDropZoneIcon.js +1 -1
  75. package/dist-cjs/file-drop-zone/FileDropZoneIcon.js.map +1 -1
  76. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js +6 -6
  77. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  78. package/dist-cjs/file-drop-zone/internal/utils.js.map +1 -1
  79. package/dist-cjs/flex-item/FlexItem.js +8 -8
  80. package/dist-cjs/flex-item/FlexItem.js.map +1 -1
  81. package/dist-cjs/flex-layout/FlexLayout.js +5 -5
  82. package/dist-cjs/flex-layout/FlexLayout.js.map +1 -1
  83. package/dist-cjs/flow-layout/FlowLayout.js.map +1 -1
  84. package/dist-cjs/form-field/FormField.js +4 -4
  85. package/dist-cjs/form-field/FormField.js.map +1 -1
  86. package/dist-cjs/form-field/FormFieldHelperText.js +5 -5
  87. package/dist-cjs/form-field/FormFieldHelperText.js.map +1 -1
  88. package/dist-cjs/form-field/FormFieldLabel.js +3 -3
  89. package/dist-cjs/form-field/FormFieldLabel.js.map +1 -1
  90. package/dist-cjs/form-field-context/FormFieldContext.js +5 -5
  91. package/dist-cjs/form-field-context/FormFieldContext.js.map +1 -1
  92. package/dist-cjs/form-field-context/useFormFieldProps.js.map +1 -1
  93. package/dist-cjs/grid-item/GridItem.js +8 -8
  94. package/dist-cjs/grid-item/GridItem.js.map +1 -1
  95. package/dist-cjs/grid-layout/GridLayout.js +5 -5
  96. package/dist-cjs/grid-layout/GridLayout.js.map +1 -1
  97. package/dist-cjs/index.js +9 -0
  98. package/dist-cjs/index.js.map +1 -1
  99. package/dist-cjs/input/Input.js +5 -5
  100. package/dist-cjs/input/Input.js.map +1 -1
  101. package/dist-cjs/interactable-card/InteractableCard.js +9 -9
  102. package/dist-cjs/interactable-card/InteractableCard.js.map +1 -1
  103. package/dist-cjs/interactable-card/InteractableCardGroup.js +18 -14
  104. package/dist-cjs/interactable-card/InteractableCardGroup.js.map +1 -1
  105. package/dist-cjs/interactable-card/InteractableCardGroupContext.js +6 -6
  106. package/dist-cjs/interactable-card/InteractableCardGroupContext.js.map +1 -1
  107. package/dist-cjs/interactable-card/useInteractableCard.js +1 -1
  108. package/dist-cjs/interactable-card/useInteractableCard.js.map +1 -1
  109. package/dist-cjs/link/Link.js +12 -12
  110. package/dist-cjs/link/Link.js.map +1 -1
  111. package/dist-cjs/link-card/LinkCard.js +5 -5
  112. package/dist-cjs/link-card/LinkCard.js.map +1 -1
  113. package/dist-cjs/list-box/ListBox.css.js +1 -1
  114. package/dist-cjs/list-box/ListBox.js +10 -10
  115. package/dist-cjs/list-box/ListBox.js.map +1 -1
  116. package/dist-cjs/list-control/ListControlContext.js +6 -6
  117. package/dist-cjs/list-control/ListControlContext.js.map +1 -1
  118. package/dist-cjs/list-control/ListControlState.js +12 -12
  119. package/dist-cjs/list-control/ListControlState.js.map +1 -1
  120. package/dist-cjs/menu/Menu.js +1 -1
  121. package/dist-cjs/menu/Menu.js.map +1 -1
  122. package/dist-cjs/menu/MenuBase.js +11 -9
  123. package/dist-cjs/menu/MenuBase.js.map +1 -1
  124. package/dist-cjs/menu/MenuContext.js +5 -5
  125. package/dist-cjs/menu/MenuContext.js.map +1 -1
  126. package/dist-cjs/menu/MenuGroup.js +6 -6
  127. package/dist-cjs/menu/MenuGroup.js.map +1 -1
  128. package/dist-cjs/menu/MenuItem.js +8 -8
  129. package/dist-cjs/menu/MenuItem.js.map +1 -1
  130. package/dist-cjs/menu/MenuPanel.css.js +1 -1
  131. package/dist-cjs/menu/MenuPanel.js +7 -7
  132. package/dist-cjs/menu/MenuPanel.js.map +1 -1
  133. package/dist-cjs/menu/MenuPanelBase.js +2 -2
  134. package/dist-cjs/menu/MenuPanelBase.js.map +1 -1
  135. package/dist-cjs/menu/MenuPanelContext.js +5 -5
  136. package/dist-cjs/menu/MenuPanelContext.js.map +1 -1
  137. package/dist-cjs/menu/MenuTrigger.js +9 -8
  138. package/dist-cjs/menu/MenuTrigger.js.map +1 -1
  139. package/dist-cjs/menu/MenuTriggerContext.js +5 -5
  140. package/dist-cjs/menu/MenuTriggerContext.js.map +1 -1
  141. package/dist-cjs/multiline-input/MultilineInput.js +4 -4
  142. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -1
  143. package/dist-cjs/navigation-item/ExpansionIcon.js +3 -3
  144. package/dist-cjs/navigation-item/ExpansionIcon.js.map +1 -1
  145. package/dist-cjs/navigation-item/NavigationItem.js +22 -14
  146. package/dist-cjs/navigation-item/NavigationItem.js.map +1 -1
  147. package/dist-cjs/navigation-item/NavigationItemAction.js +117 -0
  148. package/dist-cjs/navigation-item/NavigationItemAction.js.map +1 -0
  149. package/dist-cjs/option/Option.js +95 -93
  150. package/dist-cjs/option/Option.js.map +1 -1
  151. package/dist-cjs/option/OptionGroup.js +6 -6
  152. package/dist-cjs/option/OptionGroup.js.map +1 -1
  153. package/dist-cjs/option/OptionList.css.js +1 -1
  154. package/dist-cjs/option/OptionList.js +5 -5
  155. package/dist-cjs/option/OptionList.js.map +1 -1
  156. package/dist-cjs/option/OptionListBase.js +6 -6
  157. package/dist-cjs/option/OptionListBase.js.map +1 -1
  158. package/dist-cjs/overlay/Overlay.js +6 -6
  159. package/dist-cjs/overlay/Overlay.js.map +1 -1
  160. package/dist-cjs/overlay/OverlayContext.js +7 -7
  161. package/dist-cjs/overlay/OverlayContext.js.map +1 -1
  162. package/dist-cjs/overlay/OverlayPanel.js +7 -7
  163. package/dist-cjs/overlay/OverlayPanel.js.map +1 -1
  164. package/dist-cjs/overlay/OverlayPanelCloseButton.js +8 -8
  165. package/dist-cjs/overlay/OverlayPanelCloseButton.js.map +1 -1
  166. package/dist-cjs/overlay/OverlayPanelContent.js +5 -5
  167. package/dist-cjs/overlay/OverlayPanelContent.js.map +1 -1
  168. package/dist-cjs/overlay/OverlayTrigger.js +8 -10
  169. package/dist-cjs/overlay/OverlayTrigger.js.map +1 -1
  170. package/dist-cjs/pagination/CompactInput.js +5 -5
  171. package/dist-cjs/pagination/CompactInput.js.map +1 -1
  172. package/dist-cjs/pagination/CompactPaginator.js +5 -5
  173. package/dist-cjs/pagination/CompactPaginator.js.map +1 -1
  174. package/dist-cjs/pagination/GoToInput.js +5 -5
  175. package/dist-cjs/pagination/GoToInput.js.map +1 -1
  176. package/dist-cjs/pagination/PageButton.js +5 -5
  177. package/dist-cjs/pagination/PageButton.js.map +1 -1
  178. package/dist-cjs/pagination/PageRanges.js +6 -6
  179. package/dist-cjs/pagination/PageRanges.js.map +1 -1
  180. package/dist-cjs/pagination/Pagination.js +7 -7
  181. package/dist-cjs/pagination/Pagination.js.map +1 -1
  182. package/dist-cjs/pagination/PaginationContext.js.map +1 -1
  183. package/dist-cjs/pagination/Paginator.js +4 -4
  184. package/dist-cjs/pagination/Paginator.js.map +1 -1
  185. package/dist-cjs/pagination/usePagination.js.map +1 -1
  186. package/dist-cjs/pagination/usePaginationContext.js +1 -1
  187. package/dist-cjs/pagination/usePaginationContext.js.map +1 -1
  188. package/dist-cjs/panel/Panel.js +4 -4
  189. package/dist-cjs/panel/Panel.js.map +1 -1
  190. package/dist-cjs/parent-child-layout/ParentChildLayout.js +5 -5
  191. package/dist-cjs/parent-child-layout/ParentChildLayout.js.map +1 -1
  192. package/dist-cjs/parent-child-layout/useIsViewportLargerThanBreakpoint.js +6 -6
  193. package/dist-cjs/parent-child-layout/useIsViewportLargerThanBreakpoint.js.map +1 -1
  194. package/dist-cjs/pill/Pill.js +9 -9
  195. package/dist-cjs/pill/Pill.js.map +1 -1
  196. package/dist-cjs/pill-input/PillInput.js +12 -12
  197. package/dist-cjs/pill-input/PillInput.js.map +1 -1
  198. package/dist-cjs/pill-input/useTruncatePills.js +9 -4
  199. package/dist-cjs/pill-input/useTruncatePills.js.map +1 -1
  200. package/dist-cjs/progress/CircularProgress/CircularProgress.js +13 -13
  201. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
  202. package/dist-cjs/progress/LinearProgress/LinearProgress.css.js +1 -1
  203. package/dist-cjs/progress/LinearProgress/LinearProgress.js +30 -25
  204. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
  205. package/dist-cjs/radio-button/RadioButton.js +7 -7
  206. package/dist-cjs/radio-button/RadioButton.js.map +1 -1
  207. package/dist-cjs/radio-button/RadioButtonGroup.js +5 -5
  208. package/dist-cjs/radio-button/RadioButtonGroup.js.map +1 -1
  209. package/dist-cjs/radio-button/RadioButtonIcon.js +6 -6
  210. package/dist-cjs/radio-button/RadioButtonIcon.js.map +1 -1
  211. package/dist-cjs/radio-button/internal/RadioGroupContext.js +6 -6
  212. package/dist-cjs/radio-button/internal/RadioGroupContext.js.map +1 -1
  213. package/dist-cjs/salt-provider/SaltProvider.js +48 -46
  214. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  215. package/dist-cjs/scrim/Scrim.js +4 -4
  216. package/dist-cjs/scrim/Scrim.js.map +1 -1
  217. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js +6 -6
  218. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js.map +1 -1
  219. package/dist-cjs/spinner/Spinner.js +4 -4
  220. package/dist-cjs/spinner/Spinner.js.map +1 -1
  221. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js +5 -5
  222. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  223. package/dist-cjs/split-layout/SplitLayout.js +6 -6
  224. package/dist-cjs/split-layout/SplitLayout.js.map +1 -1
  225. package/dist-cjs/stack-layout/StackLayout.js +8 -8
  226. package/dist-cjs/stack-layout/StackLayout.js.map +1 -1
  227. package/dist-cjs/status-adornment/ErrorAdornment.js.map +1 -1
  228. package/dist-cjs/status-adornment/StatusAdornment.js +5 -5
  229. package/dist-cjs/status-adornment/StatusAdornment.js.map +1 -1
  230. package/dist-cjs/status-adornment/SuccessAdornment.js.map +1 -1
  231. package/dist-cjs/status-adornment/WarningAdornment.js.map +1 -1
  232. package/dist-cjs/status-indicator/StatusIndicator.js +3 -3
  233. package/dist-cjs/status-indicator/StatusIndicator.js.map +1 -1
  234. package/dist-cjs/switch/Switch.js +101 -99
  235. package/dist-cjs/switch/Switch.js.map +1 -1
  236. package/dist-cjs/tag/Tag.js +6 -6
  237. package/dist-cjs/tag/Tag.js.map +1 -1
  238. package/dist-cjs/text/Code.js.map +1 -1
  239. package/dist-cjs/text/Display.js.map +1 -1
  240. package/dist-cjs/text/Headings.js.map +1 -1
  241. package/dist-cjs/text/Label.js.map +1 -1
  242. package/dist-cjs/text/Text.js +5 -5
  243. package/dist-cjs/text/Text.js.map +1 -1
  244. package/dist-cjs/text/TextAction.js.map +1 -1
  245. package/dist-cjs/text/TextNotation.js.map +1 -1
  246. package/dist-cjs/theme/Accent.js +3 -1
  247. package/dist-cjs/theme/Accent.js.map +1 -1
  248. package/dist-cjs/theme/ActionFont.js +3 -1
  249. package/dist-cjs/theme/ActionFont.js.map +1 -1
  250. package/dist-cjs/theme/Corner.js +3 -1
  251. package/dist-cjs/theme/Corner.js.map +1 -1
  252. package/dist-cjs/theme/HeadingFont.js +3 -1
  253. package/dist-cjs/theme/HeadingFont.js.map +1 -1
  254. package/dist-cjs/theme/Theme.js.map +1 -1
  255. package/dist-cjs/toast/Toast.js +33 -31
  256. package/dist-cjs/toast/Toast.js.map +1 -1
  257. package/dist-cjs/toast/ToastContent.js +5 -5
  258. package/dist-cjs/toast/ToastContent.js.map +1 -1
  259. package/dist-cjs/toggle-button/ToggleButton.js +6 -6
  260. package/dist-cjs/toggle-button/ToggleButton.js.map +1 -1
  261. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +10 -10
  262. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  263. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js +6 -6
  264. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  265. package/dist-cjs/tooltip/Tooltip.css.js +1 -1
  266. package/dist-cjs/tooltip/Tooltip.js +9 -11
  267. package/dist-cjs/tooltip/Tooltip.js.map +1 -1
  268. package/dist-cjs/tooltip/TooltipBase.js +6 -6
  269. package/dist-cjs/tooltip/TooltipBase.js.map +1 -1
  270. package/dist-cjs/tooltip/useAriaAnnounce.js +11 -8
  271. package/dist-cjs/tooltip/useAriaAnnounce.js.map +1 -1
  272. package/dist-cjs/tooltip/useTooltip.js +5 -5
  273. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  274. package/dist-cjs/utils/createChainedFunction.js.map +1 -1
  275. package/dist-cjs/utils/createContext.js.map +1 -1
  276. package/dist-cjs/utils/debounce.js.map +1 -1
  277. package/dist-cjs/utils/getRefFromChildren.js +15 -0
  278. package/dist-cjs/utils/getRefFromChildren.js.map +1 -0
  279. package/dist-cjs/utils/marginMiddleware.js.map +1 -1
  280. package/dist-cjs/utils/mergeProps.js.map +1 -1
  281. package/dist-cjs/utils/renderProps.js +32 -0
  282. package/dist-cjs/utils/renderProps.js.map +1 -0
  283. package/dist-cjs/utils/setRef.js.map +1 -1
  284. package/dist-cjs/utils/useControlled.js +1 -1
  285. package/dist-cjs/utils/useControlled.js.map +1 -1
  286. package/dist-cjs/utils/useEventCallback.js.map +1 -1
  287. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js +1 -1
  288. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  289. package/dist-cjs/utils/useForkRef.js.map +1 -1
  290. package/dist-cjs/utils/useId.js +1 -2
  291. package/dist-cjs/utils/useId.js.map +1 -1
  292. package/dist-cjs/utils/useIsFocusVisible.js.map +1 -1
  293. package/dist-cjs/utils/useIsomorphicLayoutEffect.js.map +1 -1
  294. package/dist-cjs/utils/usePrevious.js.map +1 -1
  295. package/dist-cjs/utils/useResizeObserver.js.map +1 -1
  296. package/dist-cjs/utils/useResponsiveProp.js +11 -8
  297. package/dist-cjs/utils/useResponsiveProp.js.map +1 -1
  298. package/dist-cjs/utils/useValueEffect.js +5 -5
  299. package/dist-cjs/utils/useValueEffect.js.map +1 -1
  300. package/dist-cjs/viewport/ViewportProvider.js +5 -5
  301. package/dist-cjs/viewport/ViewportProvider.js.map +1 -1
  302. package/dist-es/accordion/Accordion.js +7 -7
  303. package/dist-es/accordion/Accordion.js.map +1 -1
  304. package/dist-es/accordion/AccordionContext.js +6 -6
  305. package/dist-es/accordion/AccordionContext.js.map +1 -1
  306. package/dist-es/accordion/AccordionGroup.js +6 -6
  307. package/dist-es/accordion/AccordionGroup.js.map +1 -1
  308. package/dist-es/accordion/AccordionHeader.js +7 -7
  309. package/dist-es/accordion/AccordionHeader.js.map +1 -1
  310. package/dist-es/accordion/AccordionPanel.js +5 -5
  311. package/dist-es/accordion/AccordionPanel.js.map +1 -1
  312. package/dist-es/aria-announcer/AriaAnnounce.js.map +1 -1
  313. package/dist-es/aria-announcer/AriaAnnouncerContext.js.map +1 -1
  314. package/dist-es/aria-announcer/AriaAnnouncerProvider.js.map +1 -1
  315. package/dist-es/aria-announcer/useAriaAnnouncer.js +7 -7
  316. package/dist-es/aria-announcer/useAriaAnnouncer.js.map +1 -1
  317. package/dist-es/avatar/Avatar.js +4 -4
  318. package/dist-es/avatar/Avatar.js.map +1 -1
  319. package/dist-es/avatar/useAvatarImage.js +6 -6
  320. package/dist-es/avatar/useAvatarImage.js.map +1 -1
  321. package/dist-es/badge/Badge.js +5 -5
  322. package/dist-es/badge/Badge.js.map +1 -1
  323. package/dist-es/banner/Banner.js +6 -6
  324. package/dist-es/banner/Banner.js.map +1 -1
  325. package/dist-es/banner/BannerActions.js +5 -5
  326. package/dist-es/banner/BannerActions.js.map +1 -1
  327. package/dist-es/banner/BannerContent.js +5 -5
  328. package/dist-es/banner/BannerContent.js.map +1 -1
  329. package/dist-es/border-item/BorderItem.js +7 -7
  330. package/dist-es/border-item/BorderItem.js.map +1 -1
  331. package/dist-es/border-layout/BorderLayout.js +5 -5
  332. package/dist-es/border-layout/BorderLayout.js.map +1 -1
  333. package/dist-es/breakpoints/BreakpointProvider.js +6 -6
  334. package/dist-es/breakpoints/BreakpointProvider.js.map +1 -1
  335. package/dist-es/button/Button.css.js +1 -1
  336. package/dist-es/button/Button.js +5 -5
  337. package/dist-es/button/Button.js.map +1 -1
  338. package/dist-es/button/useButton.js.map +1 -1
  339. package/dist-es/card/Card.js +42 -40
  340. package/dist-es/card/Card.js.map +1 -1
  341. package/dist-es/checkbox/Checkbox.js +6 -6
  342. package/dist-es/checkbox/Checkbox.js.map +1 -1
  343. package/dist-es/checkbox/CheckboxGroup.js +5 -5
  344. package/dist-es/checkbox/CheckboxGroup.js.map +1 -1
  345. package/dist-es/checkbox/CheckboxIcon.js +5 -5
  346. package/dist-es/checkbox/CheckboxIcon.js.map +1 -1
  347. package/dist-es/checkbox/internal/CheckboxGroupContext.js +6 -6
  348. package/dist-es/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  349. package/dist-es/combo-box/ComboBox.js +22 -21
  350. package/dist-es/combo-box/ComboBox.js.map +1 -1
  351. package/dist-es/combo-box/useComboBox.js +6 -6
  352. package/dist-es/combo-box/useComboBox.js.map +1 -1
  353. package/dist-es/dialog/Dialog.js +92 -88
  354. package/dist-es/dialog/Dialog.js.map +1 -1
  355. package/dist-es/dialog/DialogActions.js +6 -6
  356. package/dist-es/dialog/DialogActions.js.map +1 -1
  357. package/dist-es/dialog/DialogCloseButton.js +7 -7
  358. package/dist-es/dialog/DialogCloseButton.js.map +1 -1
  359. package/dist-es/dialog/DialogContent.js +6 -6
  360. package/dist-es/dialog/DialogContent.js.map +1 -1
  361. package/dist-es/dialog/DialogContext.js.map +1 -1
  362. package/dist-es/dialog/DialogHeader.js +5 -5
  363. package/dist-es/dialog/DialogHeader.js.map +1 -1
  364. package/dist-es/divider/Divider.js +6 -6
  365. package/dist-es/divider/Divider.js.map +1 -1
  366. package/dist-es/drawer/Drawer.js +76 -74
  367. package/dist-es/drawer/Drawer.js.map +1 -1
  368. package/dist-es/drawer/DrawerCloseButton.js +7 -7
  369. package/dist-es/drawer/DrawerCloseButton.js.map +1 -1
  370. package/dist-es/dropdown/Dropdown.js +17 -16
  371. package/dist-es/dropdown/Dropdown.js.map +1 -1
  372. package/dist-es/file-drop-zone/FileDropZone.js +5 -5
  373. package/dist-es/file-drop-zone/FileDropZone.js.map +1 -1
  374. package/dist-es/file-drop-zone/FileDropZoneIcon.js +1 -1
  375. package/dist-es/file-drop-zone/FileDropZoneIcon.js.map +1 -1
  376. package/dist-es/file-drop-zone/FileDropZoneTrigger.js +6 -6
  377. package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  378. package/dist-es/file-drop-zone/internal/utils.js.map +1 -1
  379. package/dist-es/flex-item/FlexItem.js +8 -8
  380. package/dist-es/flex-item/FlexItem.js.map +1 -1
  381. package/dist-es/flex-layout/FlexLayout.js +5 -5
  382. package/dist-es/flex-layout/FlexLayout.js.map +1 -1
  383. package/dist-es/flow-layout/FlowLayout.js.map +1 -1
  384. package/dist-es/form-field/FormField.js +4 -4
  385. package/dist-es/form-field/FormField.js.map +1 -1
  386. package/dist-es/form-field/FormFieldHelperText.js +5 -5
  387. package/dist-es/form-field/FormFieldHelperText.js.map +1 -1
  388. package/dist-es/form-field/FormFieldLabel.js +3 -3
  389. package/dist-es/form-field/FormFieldLabel.js.map +1 -1
  390. package/dist-es/form-field-context/FormFieldContext.js +5 -5
  391. package/dist-es/form-field-context/FormFieldContext.js.map +1 -1
  392. package/dist-es/form-field-context/useFormFieldProps.js.map +1 -1
  393. package/dist-es/grid-item/GridItem.js +8 -8
  394. package/dist-es/grid-item/GridItem.js.map +1 -1
  395. package/dist-es/grid-layout/GridLayout.js +5 -5
  396. package/dist-es/grid-layout/GridLayout.js.map +1 -1
  397. package/dist-es/index.js +7 -5
  398. package/dist-es/index.js.map +1 -1
  399. package/dist-es/input/Input.js +5 -5
  400. package/dist-es/input/Input.js.map +1 -1
  401. package/dist-es/interactable-card/InteractableCard.js +9 -9
  402. package/dist-es/interactable-card/InteractableCard.js.map +1 -1
  403. package/dist-es/interactable-card/InteractableCardGroup.js +18 -14
  404. package/dist-es/interactable-card/InteractableCardGroup.js.map +1 -1
  405. package/dist-es/interactable-card/InteractableCardGroupContext.js +6 -6
  406. package/dist-es/interactable-card/InteractableCardGroupContext.js.map +1 -1
  407. package/dist-es/interactable-card/useInteractableCard.js +1 -1
  408. package/dist-es/interactable-card/useInteractableCard.js.map +1 -1
  409. package/dist-es/link/Link.js +12 -12
  410. package/dist-es/link/Link.js.map +1 -1
  411. package/dist-es/link-card/LinkCard.js +5 -5
  412. package/dist-es/link-card/LinkCard.js.map +1 -1
  413. package/dist-es/list-box/ListBox.css.js +1 -1
  414. package/dist-es/list-box/ListBox.js +10 -10
  415. package/dist-es/list-box/ListBox.js.map +1 -1
  416. package/dist-es/list-control/ListControlContext.js +6 -6
  417. package/dist-es/list-control/ListControlContext.js.map +1 -1
  418. package/dist-es/list-control/ListControlState.js +12 -12
  419. package/dist-es/list-control/ListControlState.js.map +1 -1
  420. package/dist-es/menu/Menu.js +1 -1
  421. package/dist-es/menu/Menu.js.map +1 -1
  422. package/dist-es/menu/MenuBase.js +11 -9
  423. package/dist-es/menu/MenuBase.js.map +1 -1
  424. package/dist-es/menu/MenuContext.js +5 -5
  425. package/dist-es/menu/MenuContext.js.map +1 -1
  426. package/dist-es/menu/MenuGroup.js +6 -6
  427. package/dist-es/menu/MenuGroup.js.map +1 -1
  428. package/dist-es/menu/MenuItem.js +8 -8
  429. package/dist-es/menu/MenuItem.js.map +1 -1
  430. package/dist-es/menu/MenuPanel.css.js +1 -1
  431. package/dist-es/menu/MenuPanel.js +7 -7
  432. package/dist-es/menu/MenuPanel.js.map +1 -1
  433. package/dist-es/menu/MenuPanelBase.js +2 -2
  434. package/dist-es/menu/MenuPanelBase.js.map +1 -1
  435. package/dist-es/menu/MenuPanelContext.js +5 -5
  436. package/dist-es/menu/MenuPanelContext.js.map +1 -1
  437. package/dist-es/menu/MenuTrigger.js +9 -8
  438. package/dist-es/menu/MenuTrigger.js.map +1 -1
  439. package/dist-es/menu/MenuTriggerContext.js +5 -5
  440. package/dist-es/menu/MenuTriggerContext.js.map +1 -1
  441. package/dist-es/multiline-input/MultilineInput.js +4 -4
  442. package/dist-es/multiline-input/MultilineInput.js.map +1 -1
  443. package/dist-es/navigation-item/ExpansionIcon.js +3 -3
  444. package/dist-es/navigation-item/ExpansionIcon.js.map +1 -1
  445. package/dist-es/navigation-item/NavigationItem.js +22 -14
  446. package/dist-es/navigation-item/NavigationItem.js.map +1 -1
  447. package/dist-es/navigation-item/NavigationItemAction.js +113 -0
  448. package/dist-es/navigation-item/NavigationItemAction.js.map +1 -0
  449. package/dist-es/option/Option.js +95 -93
  450. package/dist-es/option/Option.js.map +1 -1
  451. package/dist-es/option/OptionGroup.js +6 -6
  452. package/dist-es/option/OptionGroup.js.map +1 -1
  453. package/dist-es/option/OptionList.css.js +1 -1
  454. package/dist-es/option/OptionList.js +5 -5
  455. package/dist-es/option/OptionList.js.map +1 -1
  456. package/dist-es/option/OptionListBase.js +6 -6
  457. package/dist-es/option/OptionListBase.js.map +1 -1
  458. package/dist-es/overlay/Overlay.js +6 -6
  459. package/dist-es/overlay/Overlay.js.map +1 -1
  460. package/dist-es/overlay/OverlayContext.js +7 -7
  461. package/dist-es/overlay/OverlayContext.js.map +1 -1
  462. package/dist-es/overlay/OverlayPanel.js +7 -7
  463. package/dist-es/overlay/OverlayPanel.js.map +1 -1
  464. package/dist-es/overlay/OverlayPanelCloseButton.js +8 -8
  465. package/dist-es/overlay/OverlayPanelCloseButton.js.map +1 -1
  466. package/dist-es/overlay/OverlayPanelContent.js +5 -5
  467. package/dist-es/overlay/OverlayPanelContent.js.map +1 -1
  468. package/dist-es/overlay/OverlayTrigger.js +8 -10
  469. package/dist-es/overlay/OverlayTrigger.js.map +1 -1
  470. package/dist-es/pagination/CompactInput.js +5 -5
  471. package/dist-es/pagination/CompactInput.js.map +1 -1
  472. package/dist-es/pagination/CompactPaginator.js +5 -5
  473. package/dist-es/pagination/CompactPaginator.js.map +1 -1
  474. package/dist-es/pagination/GoToInput.js +5 -5
  475. package/dist-es/pagination/GoToInput.js.map +1 -1
  476. package/dist-es/pagination/PageButton.js +5 -5
  477. package/dist-es/pagination/PageButton.js.map +1 -1
  478. package/dist-es/pagination/PageRanges.js +6 -6
  479. package/dist-es/pagination/PageRanges.js.map +1 -1
  480. package/dist-es/pagination/Pagination.js +7 -7
  481. package/dist-es/pagination/Pagination.js.map +1 -1
  482. package/dist-es/pagination/PaginationContext.js.map +1 -1
  483. package/dist-es/pagination/Paginator.js +4 -4
  484. package/dist-es/pagination/Paginator.js.map +1 -1
  485. package/dist-es/pagination/usePagination.js.map +1 -1
  486. package/dist-es/pagination/usePaginationContext.js +1 -1
  487. package/dist-es/pagination/usePaginationContext.js.map +1 -1
  488. package/dist-es/panel/Panel.js +4 -4
  489. package/dist-es/panel/Panel.js.map +1 -1
  490. package/dist-es/parent-child-layout/ParentChildLayout.js +5 -5
  491. package/dist-es/parent-child-layout/ParentChildLayout.js.map +1 -1
  492. package/dist-es/parent-child-layout/useIsViewportLargerThanBreakpoint.js +6 -6
  493. package/dist-es/parent-child-layout/useIsViewportLargerThanBreakpoint.js.map +1 -1
  494. package/dist-es/pill/Pill.js +9 -9
  495. package/dist-es/pill/Pill.js.map +1 -1
  496. package/dist-es/pill-input/PillInput.js +12 -12
  497. package/dist-es/pill-input/PillInput.js.map +1 -1
  498. package/dist-es/pill-input/useTruncatePills.js +9 -4
  499. package/dist-es/pill-input/useTruncatePills.js.map +1 -1
  500. package/dist-es/progress/CircularProgress/CircularProgress.js +13 -13
  501. package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
  502. package/dist-es/progress/LinearProgress/LinearProgress.css.js +1 -1
  503. package/dist-es/progress/LinearProgress/LinearProgress.js +30 -25
  504. package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
  505. package/dist-es/radio-button/RadioButton.js +7 -7
  506. package/dist-es/radio-button/RadioButton.js.map +1 -1
  507. package/dist-es/radio-button/RadioButtonGroup.js +5 -5
  508. package/dist-es/radio-button/RadioButtonGroup.js.map +1 -1
  509. package/dist-es/radio-button/RadioButtonIcon.js +6 -6
  510. package/dist-es/radio-button/RadioButtonIcon.js.map +1 -1
  511. package/dist-es/radio-button/internal/RadioGroupContext.js +6 -6
  512. package/dist-es/radio-button/internal/RadioGroupContext.js.map +1 -1
  513. package/dist-es/salt-provider/SaltProvider.js +49 -44
  514. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  515. package/dist-es/scrim/Scrim.js +4 -4
  516. package/dist-es/scrim/Scrim.js.map +1 -1
  517. package/dist-es/segmented-button-group/SegmentedButtonGroup.js +6 -6
  518. package/dist-es/segmented-button-group/SegmentedButtonGroup.js.map +1 -1
  519. package/dist-es/spinner/Spinner.js +4 -4
  520. package/dist-es/spinner/Spinner.js.map +1 -1
  521. package/dist-es/spinner/svgSpinners/SpinnerSVG.js +5 -5
  522. package/dist-es/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  523. package/dist-es/split-layout/SplitLayout.js +6 -6
  524. package/dist-es/split-layout/SplitLayout.js.map +1 -1
  525. package/dist-es/stack-layout/StackLayout.js +8 -8
  526. package/dist-es/stack-layout/StackLayout.js.map +1 -1
  527. package/dist-es/status-adornment/ErrorAdornment.js.map +1 -1
  528. package/dist-es/status-adornment/StatusAdornment.js +5 -5
  529. package/dist-es/status-adornment/StatusAdornment.js.map +1 -1
  530. package/dist-es/status-adornment/SuccessAdornment.js.map +1 -1
  531. package/dist-es/status-adornment/WarningAdornment.js.map +1 -1
  532. package/dist-es/status-indicator/StatusIndicator.js +3 -3
  533. package/dist-es/status-indicator/StatusIndicator.js.map +1 -1
  534. package/dist-es/switch/Switch.js +101 -99
  535. package/dist-es/switch/Switch.js.map +1 -1
  536. package/dist-es/tag/Tag.js +6 -6
  537. package/dist-es/tag/Tag.js.map +1 -1
  538. package/dist-es/text/Code.js.map +1 -1
  539. package/dist-es/text/Display.js.map +1 -1
  540. package/dist-es/text/Headings.js.map +1 -1
  541. package/dist-es/text/Label.js.map +1 -1
  542. package/dist-es/text/Text.js +5 -5
  543. package/dist-es/text/Text.js.map +1 -1
  544. package/dist-es/text/TextAction.js.map +1 -1
  545. package/dist-es/text/TextNotation.js.map +1 -1
  546. package/dist-es/theme/Accent.js +3 -2
  547. package/dist-es/theme/Accent.js.map +1 -1
  548. package/dist-es/theme/ActionFont.js +3 -2
  549. package/dist-es/theme/ActionFont.js.map +1 -1
  550. package/dist-es/theme/Corner.js +3 -2
  551. package/dist-es/theme/Corner.js.map +1 -1
  552. package/dist-es/theme/HeadingFont.js +3 -2
  553. package/dist-es/theme/HeadingFont.js.map +1 -1
  554. package/dist-es/theme/Theme.js.map +1 -1
  555. package/dist-es/toast/Toast.js +33 -31
  556. package/dist-es/toast/Toast.js.map +1 -1
  557. package/dist-es/toast/ToastContent.js +5 -5
  558. package/dist-es/toast/ToastContent.js.map +1 -1
  559. package/dist-es/toggle-button/ToggleButton.js +6 -6
  560. package/dist-es/toggle-button/ToggleButton.js.map +1 -1
  561. package/dist-es/toggle-button-group/ToggleButtonGroup.js +10 -10
  562. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  563. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js +6 -6
  564. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  565. package/dist-es/tooltip/Tooltip.css.js +1 -1
  566. package/dist-es/tooltip/Tooltip.js +9 -11
  567. package/dist-es/tooltip/Tooltip.js.map +1 -1
  568. package/dist-es/tooltip/TooltipBase.js +6 -6
  569. package/dist-es/tooltip/TooltipBase.js.map +1 -1
  570. package/dist-es/tooltip/useAriaAnnounce.js +11 -8
  571. package/dist-es/tooltip/useAriaAnnounce.js.map +1 -1
  572. package/dist-es/tooltip/useTooltip.js +5 -5
  573. package/dist-es/tooltip/useTooltip.js.map +1 -1
  574. package/dist-es/utils/createChainedFunction.js.map +1 -1
  575. package/dist-es/utils/createContext.js.map +1 -1
  576. package/dist-es/utils/debounce.js.map +1 -1
  577. package/dist-es/utils/getRefFromChildren.js +11 -0
  578. package/dist-es/utils/getRefFromChildren.js.map +1 -0
  579. package/dist-es/utils/marginMiddleware.js.map +1 -1
  580. package/dist-es/utils/mergeProps.js.map +1 -1
  581. package/dist-es/utils/renderProps.js +28 -0
  582. package/dist-es/utils/renderProps.js.map +1 -0
  583. package/dist-es/utils/setRef.js.map +1 -1
  584. package/dist-es/utils/useControlled.js +1 -1
  585. package/dist-es/utils/useControlled.js.map +1 -1
  586. package/dist-es/utils/useEventCallback.js.map +1 -1
  587. package/dist-es/utils/useFloatingUI/useFloatingUI.js +2 -2
  588. package/dist-es/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  589. package/dist-es/utils/useForkRef.js.map +1 -1
  590. package/dist-es/utils/useId.js +1 -2
  591. package/dist-es/utils/useId.js.map +1 -1
  592. package/dist-es/utils/useIsFocusVisible.js.map +1 -1
  593. package/dist-es/utils/useIsomorphicLayoutEffect.js.map +1 -1
  594. package/dist-es/utils/usePrevious.js.map +1 -1
  595. package/dist-es/utils/useResizeObserver.js.map +1 -1
  596. package/dist-es/utils/useResponsiveProp.js +11 -8
  597. package/dist-es/utils/useResponsiveProp.js.map +1 -1
  598. package/dist-es/utils/useValueEffect.js +5 -5
  599. package/dist-es/utils/useValueEffect.js.map +1 -1
  600. package/dist-es/viewport/ViewportProvider.js +5 -5
  601. package/dist-es/viewport/ViewportProvider.js.map +1 -1
  602. package/dist-types/accordion/Accordion.d.ts +2 -2
  603. package/dist-types/accordion/AccordionContext.d.ts +1 -1
  604. package/dist-types/accordion/AccordionGroup.d.ts +1 -1
  605. package/dist-types/accordion/AccordionHeader.d.ts +1 -1
  606. package/dist-types/accordion/AccordionPanel.d.ts +1 -1
  607. package/dist-types/aria-announcer/AriaAnnounce.d.ts +1 -1
  608. package/dist-types/aria-announcer/AriaAnnouncerProvider.d.ts +2 -2
  609. package/dist-types/aria-announcer/useAriaAnnouncer.d.ts +1 -1
  610. package/dist-types/avatar/Avatar.d.ts +1 -1
  611. package/dist-types/avatar/useAvatarImage.d.ts +1 -1
  612. package/dist-types/badge/Badge.d.ts +1 -1
  613. package/dist-types/banner/Banner.d.ts +2 -2
  614. package/dist-types/banner/BannerActions.d.ts +1 -1
  615. package/dist-types/banner/BannerContent.d.ts +1 -1
  616. package/dist-types/border-item/BorderItem.d.ts +3 -3
  617. package/dist-types/border-layout/BorderLayout.d.ts +4 -4
  618. package/dist-types/breakpoints/BreakpointProvider.d.ts +3 -3
  619. package/dist-types/button/Button.d.ts +1 -1
  620. package/dist-types/button/useButton.d.ts +1 -1
  621. package/dist-types/card/Card.d.ts +1 -1
  622. package/dist-types/checkbox/Checkbox.d.ts +2 -2
  623. package/dist-types/checkbox/CheckboxGroup.d.ts +2 -2
  624. package/dist-types/checkbox/CheckboxIcon.d.ts +1 -1
  625. package/dist-types/checkbox/internal/CheckboxGroupContext.d.ts +2 -2
  626. package/dist-types/combo-box/ComboBox.d.ts +4 -4
  627. package/dist-types/combo-box/useComboBox.d.ts +3 -3
  628. package/dist-types/dialog/Dialog.d.ts +4 -4
  629. package/dist-types/dialog/DialogActions.d.ts +1 -1
  630. package/dist-types/dialog/DialogCloseButton.d.ts +1 -1
  631. package/dist-types/dialog/DialogContent.d.ts +1 -1
  632. package/dist-types/dialog/DialogHeader.d.ts +2 -2
  633. package/dist-types/divider/Divider.d.ts +1 -1
  634. package/dist-types/drawer/Drawer.d.ts +1 -1
  635. package/dist-types/drawer/DrawerCloseButton.d.ts +1 -1
  636. package/dist-types/dropdown/Dropdown.d.ts +4 -4
  637. package/dist-types/file-drop-zone/FileDropZone.d.ts +2 -2
  638. package/dist-types/file-drop-zone/FileDropZoneIcon.d.ts +2 -2
  639. package/dist-types/file-drop-zone/FileDropZoneTrigger.d.ts +1 -1
  640. package/dist-types/file-drop-zone/internal/utils.d.ts +1 -1
  641. package/dist-types/flex-item/FlexItem.d.ts +2 -2
  642. package/dist-types/flex-layout/FlexLayout.d.ts +2 -2
  643. package/dist-types/flow-layout/FlowLayout.d.ts +3 -3
  644. package/dist-types/form-field/FormField.d.ts +2 -2
  645. package/dist-types/form-field/FormFieldHelperText.d.ts +2 -2
  646. package/dist-types/form-field/FormFieldLabel.d.ts +2 -2
  647. package/dist-types/form-field-context/useFormFieldProps.d.ts +1 -1
  648. package/dist-types/grid-item/GridItem.d.ts +2 -2
  649. package/dist-types/grid-layout/GridLayout.d.ts +2 -2
  650. package/dist-types/input/Input.d.ts +1 -1
  651. package/dist-types/interactable-card/InteractableCard.d.ts +2 -2
  652. package/dist-types/interactable-card/InteractableCardGroup.d.ts +2 -2
  653. package/dist-types/interactable-card/InteractableCardGroupContext.d.ts +1 -1
  654. package/dist-types/interactable-card/useInteractableCard.d.ts +1 -1
  655. package/dist-types/link/Link.d.ts +3 -3
  656. package/dist-types/link-card/LinkCard.d.ts +1 -1
  657. package/dist-types/list-box/ListBox.d.ts +2 -2
  658. package/dist-types/list-control/ListControlContext.d.ts +1 -1
  659. package/dist-types/list-control/ListControlState.d.ts +2 -2
  660. package/dist-types/menu/Menu.d.ts +2 -2
  661. package/dist-types/menu/MenuBase.d.ts +4 -4
  662. package/dist-types/menu/MenuContext.d.ts +3 -3
  663. package/dist-types/menu/MenuGroup.d.ts +1 -1
  664. package/dist-types/menu/MenuItem.d.ts +1 -1
  665. package/dist-types/menu/MenuPanel.d.ts +1 -1
  666. package/dist-types/menu/MenuPanelBase.d.ts +1 -1
  667. package/dist-types/menu/MenuPanelContext.d.ts +1 -1
  668. package/dist-types/menu/MenuTrigger.d.ts +2 -2
  669. package/dist-types/multiline-input/MultilineInput.d.ts +1 -1
  670. package/dist-types/navigation-item/ExpansionIcon.d.ts +12 -2
  671. package/dist-types/navigation-item/NavigationItem.d.ts +6 -1
  672. package/dist-types/navigation-item/NavigationItemAction.d.ts +5 -0
  673. package/dist-types/option/Option.d.ts +1 -1
  674. package/dist-types/option/OptionGroup.d.ts +1 -1
  675. package/dist-types/option/OptionList.d.ts +1 -1
  676. package/dist-types/option/OptionListBase.d.ts +1 -1
  677. package/dist-types/overlay/Overlay.d.ts +2 -2
  678. package/dist-types/overlay/OverlayContext.d.ts +4 -3
  679. package/dist-types/overlay/OverlayPanel.d.ts +1 -1
  680. package/dist-types/overlay/OverlayPanelCloseButton.d.ts +1 -1
  681. package/dist-types/overlay/OverlayPanelContent.d.ts +1 -1
  682. package/dist-types/overlay/OverlayTrigger.d.ts +2 -2
  683. package/dist-types/pagination/CompactInput.d.ts +1 -1
  684. package/dist-types/pagination/GoToInput.d.ts +1 -1
  685. package/dist-types/pagination/PageRanges.d.ts +1 -1
  686. package/dist-types/pagination/Pagination.d.ts +1 -1
  687. package/dist-types/pagination/PaginationContext.d.ts +1 -1
  688. package/dist-types/pagination/Paginator.d.ts +1 -1
  689. package/dist-types/panel/Panel.d.ts +1 -1
  690. package/dist-types/parent-child-layout/ParentChildLayout.d.ts +2 -2
  691. package/dist-types/parent-child-layout/useIsViewportLargerThanBreakpoint.d.ts +1 -1
  692. package/dist-types/pill/Pill.d.ts +1 -1
  693. package/dist-types/pill-input/PillInput.d.ts +1 -1
  694. package/dist-types/progress/CircularProgress/CircularProgress.d.ts +1 -1
  695. package/dist-types/progress/LinearProgress/LinearProgress.d.ts +5 -3
  696. package/dist-types/radio-button/RadioButton.d.ts +2 -2
  697. package/dist-types/radio-button/RadioButtonGroup.d.ts +1 -1
  698. package/dist-types/radio-button/RadioButtonIcon.d.ts +3 -3
  699. package/dist-types/radio-button/internal/RadioGroupContext.d.ts +2 -2
  700. package/dist-types/salt-provider/SaltProvider.d.ts +84 -22
  701. package/dist-types/scrim/Scrim.d.ts +1 -1
  702. package/dist-types/segmented-button-group/SegmentedButtonGroup.d.ts +1 -1
  703. package/dist-types/spinner/Spinner.d.ts +1 -1
  704. package/dist-types/spinner/svgSpinners/SpinnerSVG.d.ts +4 -4
  705. package/dist-types/split-layout/SplitLayout.d.ts +3 -3
  706. package/dist-types/stack-layout/StackLayout.d.ts +3 -3
  707. package/dist-types/status-adornment/ErrorAdornment.d.ts +1 -1
  708. package/dist-types/status-adornment/StatusAdornment.d.ts +2 -2
  709. package/dist-types/status-adornment/SuccessAdornment.d.ts +1 -1
  710. package/dist-types/status-adornment/WarningAdornment.d.ts +1 -1
  711. package/dist-types/status-indicator/StatusIndicator.d.ts +2 -2
  712. package/dist-types/switch/Switch.d.ts +1 -1
  713. package/dist-types/tag/Tag.d.ts +1 -1
  714. package/dist-types/text/Code.d.ts +1 -1
  715. package/dist-types/text/Display.d.ts +1 -1
  716. package/dist-types/text/Headings.d.ts +1 -1
  717. package/dist-types/text/Label.d.ts +1 -1
  718. package/dist-types/text/Text.d.ts +3 -3
  719. package/dist-types/text/TextAction.d.ts +1 -1
  720. package/dist-types/text/TextNotation.d.ts +1 -1
  721. package/dist-types/theme/Accent.d.ts +5 -1
  722. package/dist-types/theme/ActionFont.d.ts +5 -1
  723. package/dist-types/theme/Corner.d.ts +5 -1
  724. package/dist-types/theme/HeadingFont.d.ts +5 -1
  725. package/dist-types/toast/Toast.d.ts +3 -3
  726. package/dist-types/toast/ToastContent.d.ts +1 -1
  727. package/dist-types/toggle-button/ToggleButton.d.ts +1 -1
  728. package/dist-types/toggle-button-group/ToggleButtonGroup.d.ts +2 -2
  729. package/dist-types/toggle-button-group/ToggleButtonGroupContext.d.ts +1 -1
  730. package/dist-types/tooltip/Tooltip.d.ts +3 -3
  731. package/dist-types/tooltip/TooltipBase.d.ts +4 -4
  732. package/dist-types/tooltip/useTooltip.d.ts +2 -2
  733. package/dist-types/utils/createContext.d.ts +1 -1
  734. package/dist-types/utils/getRefFromChildren.d.ts +2 -0
  735. package/dist-types/utils/index.d.ts +2 -0
  736. package/dist-types/utils/inferElementType.d.ts +1 -1
  737. package/dist-types/utils/marginMiddleware.d.ts +1 -1
  738. package/dist-types/utils/polymorphicTypes.d.ts +1 -1
  739. package/dist-types/utils/renderProps.d.ts +5 -0
  740. package/dist-types/utils/setRef.d.ts +1 -1
  741. package/dist-types/utils/useControlled.d.ts +1 -1
  742. package/dist-types/utils/useFloatingUI/useFloatingUI.d.ts +4 -4
  743. package/dist-types/utils/useForkRef.d.ts +1 -1
  744. package/dist-types/utils/useIsFocusVisible.d.ts +1 -1
  745. package/dist-types/utils/useIsomorphicLayoutEffect.d.ts +2 -2
  746. package/dist-types/utils/usePrevious.d.ts +1 -1
  747. package/dist-types/utils/useResizeObserver.d.ts +1 -1
  748. package/dist-types/utils/useResponsiveProp.d.ts +1 -1
  749. package/dist-types/utils/useValueEffect.d.ts +1 -1
  750. package/dist-types/viewport/ViewportProvider.d.ts +2 -2
  751. package/package.json +2 -2
  752. package/dist-cjs/navigation-item/ConditionalWrapper.js +0 -35
  753. package/dist-cjs/navigation-item/ConditionalWrapper.js.map +0 -1
  754. package/dist-es/navigation-item/ConditionalWrapper.js +0 -31
  755. package/dist-es/navigation-item/ConditionalWrapper.js.map +0 -1
  756. package/dist-types/navigation-item/ConditionalWrapper.d.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipBase.js","sources":["../src/tooltip/TooltipBase.tsx"],"sourcesContent":["import { StatusIndicator, ValidationStatus } from \"../status-indicator\";\nimport { FloatingArrow, FloatingArrowProps } from \"@floating-ui/react\";\nimport { TooltipProps } from \"./Tooltip\";\nimport { makePrefixer } from \"../utils\";\nimport { useFormFieldProps } from \"../form-field-context\";\n\nimport tooltipCss from \"./Tooltip.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nconst withBaseName = makePrefixer(\"saltTooltip\");\n\ninterface TooltipBaseProps extends Omit<TooltipProps, \"children\"> {\n arrowProps: FloatingArrowProps;\n /**\n * Optional string to determine the status of the Tooltip.\n */\n status?: ValidationStatus;\n}\n\nexport const TooltipBase = (props: TooltipBaseProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tooltip\",\n css: tooltipCss,\n window: targetWindow,\n });\n\n const { a11yProps } = useFormFieldProps();\n\n const { arrowProps, content, hideArrow, hideIcon, status } = props;\n\n return (\n <>\n <div className={withBaseName(\"container\")}>\n {!hideIcon && status && (\n <StatusIndicator\n status={status}\n size={1}\n className={withBaseName(\"icon\")}\n />\n )}\n <span\n id={a11yProps?.[\"aria-describedby\"]}\n className={withBaseName(\"content\")}\n >\n {content}\n </span>\n </div>\n {!hideArrow && (\n <FloatingArrow\n {...arrowProps}\n className={withBaseName(\"arrow\")}\n strokeWidth={1}\n fill=\"var(--salt-container-primary-background)\"\n stroke=\"var(--tooltip-status-borderColor)\"\n height={5}\n width={10}\n />\n )}\n </>\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","tooltipCss","useFormFieldProps","jsxs","Fragment","jsx","StatusIndicator","FloatingArrow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAM,YAAA,GAAeA,0BAAa,aAAa,CAAA,CAAA;AAUlC,MAAA,WAAA,GAAc,CAAC,KAA4B,KAAA;AACtD,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,cAAA;AAAA,IACR,GAAK,EAAAC,OAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,EAAE,SAAU,EAAA,GAAIC,mCAAkB,EAAA,CAAA;AAExC,EAAA,MAAM,EAAE,UAAY,EAAA,OAAA,EAAS,SAAW,EAAA,QAAA,EAAU,QAAW,GAAA,KAAA,CAAA;AAE7D,EACE,uBAAAC,eAAA,CAAAC,mBAAA,EAAA;AAAA,IACE,QAAA,EAAA;AAAA,sBAACD,eAAA,CAAA,KAAA,EAAA;AAAA,QAAI,SAAA,EAAW,aAAa,WAAW,CAAA;AAAA,QACrC,QAAA,EAAA;AAAA,UAAC,CAAA,QAAA,IAAY,0BACXE,cAAA,CAAAC,+BAAA,EAAA;AAAA,YACC,MAAA;AAAA,YACA,IAAM,EAAA,CAAA;AAAA,YACN,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,WAChC,CAAA;AAAA,0BAEDD,cAAA,CAAA,MAAA,EAAA;AAAA,YACC,IAAI,SAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,kBAAA,CAAA;AAAA,YAChB,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,YAEhC,QAAA,EAAA,OAAA;AAAA,WACH,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,MACC,CAAC,6BACCA,cAAA,CAAAE,mBAAA,EAAA;AAAA,QACE,GAAG,UAAA;AAAA,QACJ,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,QAC/B,WAAa,EAAA,CAAA;AAAA,QACb,IAAK,EAAA,0CAAA;AAAA,QACL,MAAO,EAAA,mCAAA;AAAA,QACP,MAAQ,EAAA,CAAA;AAAA,QACR,KAAO,EAAA,EAAA;AAAA,OACT,CAAA;AAAA,KAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"TooltipBase.js","sources":["../src/tooltip/TooltipBase.tsx"],"sourcesContent":["import { FloatingArrow, type FloatingArrowProps } from \"@floating-ui/react\";\nimport { useFormFieldProps } from \"../form-field-context\";\nimport { StatusIndicator, type ValidationStatus } from \"../status-indicator\";\nimport { makePrefixer } from \"../utils\";\nimport type { TooltipProps } from \"./Tooltip\";\n\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport tooltipCss from \"./Tooltip.css\";\n\nconst withBaseName = makePrefixer(\"saltTooltip\");\n\ninterface TooltipBaseProps extends Omit<TooltipProps, \"children\"> {\n arrowProps: FloatingArrowProps;\n /**\n * Optional string to determine the status of the Tooltip.\n */\n status?: ValidationStatus;\n}\n\nexport const TooltipBase = (props: TooltipBaseProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-tooltip\",\n css: tooltipCss,\n window: targetWindow,\n });\n\n const { a11yProps } = useFormFieldProps();\n\n const { arrowProps, content, hideArrow, hideIcon, status } = props;\n\n return (\n <>\n <div className={withBaseName(\"container\")}>\n {!hideIcon && status && (\n <StatusIndicator\n status={status}\n size={1}\n className={withBaseName(\"icon\")}\n />\n )}\n <span\n id={a11yProps?.[\"aria-describedby\"]}\n className={withBaseName(\"content\")}\n >\n {content}\n </span>\n </div>\n {!hideArrow && (\n <FloatingArrow\n {...arrowProps}\n className={withBaseName(\"arrow\")}\n strokeWidth={1}\n fill=\"var(--salt-container-primary-background)\"\n stroke=\"var(--tooltip-status-borderColor)\"\n height={5}\n width={10}\n />\n )}\n </>\n );\n};\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","tooltipCss","useFormFieldProps","jsxs","Fragment","jsx","StatusIndicator","FloatingArrow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAM,YAAA,GAAeA,0BAAa,aAAa,CAAA,CAAA;AAUlC,MAAA,WAAA,GAAc,CAAC,KAA4B,KAAA;AACtD,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,cAAA;AAAA,IACR,GAAK,EAAAC,OAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,EAAE,SAAU,EAAA,GAAIC,mCAAkB,EAAA,CAAA;AAExC,EAAA,MAAM,EAAE,UAAY,EAAA,OAAA,EAAS,SAAW,EAAA,QAAA,EAAU,QAAW,GAAA,KAAA,CAAA;AAE7D,EACE,uBAAAC,eAAA,CAAAC,mBAAA,EAAA;AAAA,IACE,QAAA,EAAA;AAAA,sBAACD,eAAA,CAAA,KAAA,EAAA;AAAA,QAAI,SAAA,EAAW,aAAa,WAAW,CAAA;AAAA,QACrC,QAAA,EAAA;AAAA,UAAC,CAAA,QAAA,IAAY,0BACXE,cAAA,CAAAC,+BAAA,EAAA;AAAA,YACC,MAAA;AAAA,YACA,IAAM,EAAA,CAAA;AAAA,YACN,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,WAChC,CAAA;AAAA,0BAEDD,cAAA,CAAA,MAAA,EAAA;AAAA,YACC,IAAI,SAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,kBAAA,CAAA;AAAA,YAChB,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,YAEhC,QAAA,EAAA,OAAA;AAAA,WACH,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,MACC,CAAC,6BACCA,cAAA,CAAAE,mBAAA,EAAA;AAAA,QACE,GAAG,UAAA;AAAA,QACJ,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,QAC/B,WAAa,EAAA,CAAA;AAAA,QACb,IAAK,EAAA,0CAAA;AAAA,QACL,MAAO,EAAA,mCAAA;AAAA,QACP,MAAQ,EAAA,CAAA;AAAA,QACR,KAAO,EAAA,EAAA;AAAA,OACT,CAAA;AAAA,KAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
@@ -6,12 +6,12 @@ var React = require('react');
6
6
  require('../aria-announcer/AriaAnnouncerContext.js');
7
7
  require('react/jsx-runtime');
8
8
  var useAriaAnnouncer = require('../aria-announcer/useAriaAnnouncer.js');
9
+ require('clsx');
9
10
  require('../utils/useFloatingUI/useFloatingUI.js');
10
11
  require('../utils/useId.js');
11
12
  var useIsomorphicLayoutEffect = require('../utils/useIsomorphicLayoutEffect.js');
12
13
  require('../salt-provider/SaltProvider.js');
13
14
  require('../viewport/ViewportProvider.js');
14
- require('clsx');
15
15
  require('../accordion/AccordionGroup.js');
16
16
  require('../accordion/AccordionPanel.js');
17
17
  require('../accordion/Accordion.js');
@@ -28,9 +28,9 @@ require('../button/Button.js');
28
28
  require('../card/Card.js');
29
29
  require('../checkbox/Checkbox.js');
30
30
  require('../checkbox/CheckboxGroup.js');
31
+ require('@salt-ds/icons');
31
32
  require('@salt-ds/styles');
32
33
  require('@salt-ds/window');
33
- require('@salt-ds/icons');
34
34
  require('../combo-box/ComboBox.js');
35
35
  require('../dialog/Dialog.js');
36
36
  require('../dialog/DialogHeader.js');
@@ -49,6 +49,7 @@ require('../flex-item/FlexItem.js');
49
49
  require('../flex-layout/FlexLayout.js');
50
50
  require('../flow-layout/FlowLayout.js');
51
51
  require('../form-field/FormField.js');
52
+ require('../form-field-context/FormFieldContext.js');
52
53
  require('../status-indicator/StatusIndicator.js');
53
54
  require('../text/Text.js');
54
55
  require('../text/Code.js');
@@ -57,7 +58,6 @@ require('../text/Headings.js');
57
58
  require('../text/Label.js');
58
59
  require('../text/TextAction.js');
59
60
  require('../text/TextNotation.js');
60
- require('../form-field-context/FormFieldContext.js');
61
61
  require('../grid-item/GridItem.js');
62
62
  require('../grid-layout/GridLayout.js');
63
63
  require('../input/Input.js');
@@ -68,12 +68,12 @@ require('../link/Link.js');
68
68
  require('../link-card/LinkCard.js');
69
69
  require('../list-box/ListBox.js');
70
70
  require('../list-control/ListControlContext.js');
71
- require('../menu/MenuContext.js');
72
71
  require('@floating-ui/react');
72
+ require('../menu/MenuContext.js');
73
73
  require('../menu/MenuItem.js');
74
74
  require('../menu/MenuPanel.js');
75
- require('../menu/MenuTriggerContext.js');
76
75
  require('../menu/MenuPanelContext.js');
76
+ require('../menu/MenuTriggerContext.js');
77
77
  require('../menu/MenuGroup.js');
78
78
  require('../multiline-input/MultilineInput.js');
79
79
  require('../navigation-item/NavigationItem.js');
@@ -158,9 +158,12 @@ const useAriaAnnounce = (context, { delay = 0 }) => {
158
158
  blockMouseMoveRef.current = false;
159
159
  dataRef.current.openEvent = event;
160
160
  if (delay) {
161
- timeoutRef.current = window.setTimeout(() => {
162
- announceFloating();
163
- }, getDelay(delay, "open", pointerTypeRef.current));
161
+ timeoutRef.current = window.setTimeout(
162
+ () => {
163
+ announceFloating();
164
+ },
165
+ getDelay(delay, "open", pointerTypeRef.current)
166
+ );
164
167
  } else {
165
168
  announceFloating();
166
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useAriaAnnounce.js","sources":["../src/tooltip/useAriaAnnounce.ts"],"sourcesContent":["import type { ElementProps, FloatingContext } from \"@floating-ui/react\";\nimport { PointerEvent, useEffect, useRef } from \"react\";\nimport { useAriaAnnouncer } from \"../aria-announcer\";\nimport { useIsomorphicLayoutEffect } from \"../utils\";\n\nfunction getDocument(floating: HTMLElement | null) {\n return floating?.ownerDocument ?? document;\n}\n\n// TODO: Check whether can be anything more restrictive than `any`\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getWindow(value: any) {\n return getDocument(value).defaultView ?? window;\n}\n\nfunction isElement(value: unknown): value is HTMLElement {\n return value ? value instanceof getWindow(value).Element : false;\n}\n\nfunction getDelay(\n value: Props[\"delay\"],\n prop: \"open\" | \"close\",\n pointerType?: PointerEvent[\"pointerType\"]\n) {\n if (pointerType && pointerType !== \"mouse\") {\n return 0;\n }\n\n if (typeof value === \"number\") {\n return value;\n }\n\n return value?.[prop];\n}\n\ntype Props = {\n delay?: number | Partial<{ open: number; close: number }>;\n};\n\nexport const useAriaAnnounce = (\n context: FloatingContext,\n { delay = 0 }: Props\n): ElementProps => {\n const { open, dataRef, refs } = context;\n\n const pointerTypeRef = useRef<PointerEvent[\"pointerType\"]>();\n const timeoutRef = useRef<number>();\n const blockMouseMoveRef = useRef(true);\n const { announce } = useAriaAnnouncer();\n\n useIsomorphicLayoutEffect(() => {\n if (!open) {\n pointerTypeRef.current = undefined;\n }\n });\n\n useEffect(() => {\n const reference = refs.reference.current;\n function announceFloating() {\n const tooltipContent = refs.floating.current?.innerText;\n\n if (tooltipContent) {\n announce(tooltipContent);\n }\n }\n\n function onMouseEnter(event: MouseEvent) {\n clearTimeout(timeoutRef.current);\n\n if (open) {\n return;\n }\n\n blockMouseMoveRef.current = false;\n dataRef.current.openEvent = event;\n\n if (delay) {\n timeoutRef.current = window.setTimeout(() => {\n announceFloating();\n }, getDelay(delay, \"open\", pointerTypeRef.current));\n } else {\n announceFloating();\n }\n }\n\n if (isElement(reference)) {\n reference.addEventListener(\"mouseenter\", onMouseEnter);\n return () => {\n reference.removeEventListener(\"mouseenter\", onMouseEnter);\n };\n }\n }, [dataRef, delay, open, refs.reference, refs.floating, announce]);\n\n function setPointerRef(event: PointerEvent) {\n pointerTypeRef.current = event.pointerType;\n }\n\n return {\n reference: {\n onPointerDown: setPointerRef,\n onPointerEnter: setPointerRef,\n },\n floating: {\n onMouseEnter() {\n clearTimeout(timeoutRef.current);\n },\n },\n };\n};\n"],"names":["useRef","useAriaAnnouncer","useIsomorphicLayoutEffect","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"useAriaAnnounce.js","sources":["../src/tooltip/useAriaAnnounce.ts"],"sourcesContent":["import type { ElementProps, FloatingContext } from \"@floating-ui/react\";\nimport { type PointerEvent, useEffect, useRef } from \"react\";\nimport { useAriaAnnouncer } from \"../aria-announcer\";\nimport { useIsomorphicLayoutEffect } from \"../utils\";\n\nfunction getDocument(floating: HTMLElement | null) {\n return floating?.ownerDocument ?? document;\n}\n\n// TODO: Check whether can be anything more restrictive than `any`\n// biome-ignore lint/suspicious/noExplicitAny: see comment above\nfunction getWindow(value: any) {\n return getDocument(value).defaultView ?? window;\n}\n\nfunction isElement(value: unknown): value is HTMLElement {\n return value ? value instanceof getWindow(value).Element : false;\n}\n\nfunction getDelay(\n value: Props[\"delay\"],\n prop: \"open\" | \"close\",\n pointerType?: PointerEvent[\"pointerType\"],\n) {\n if (pointerType && pointerType !== \"mouse\") {\n return 0;\n }\n\n if (typeof value === \"number\") {\n return value;\n }\n\n return value?.[prop];\n}\n\ntype Props = {\n delay?: number | Partial<{ open: number; close: number }>;\n};\n\nexport const useAriaAnnounce = (\n context: FloatingContext,\n { delay = 0 }: Props,\n): ElementProps => {\n const { open, dataRef, refs } = context;\n\n const pointerTypeRef = useRef<PointerEvent[\"pointerType\"]>();\n const timeoutRef = useRef<number>();\n const blockMouseMoveRef = useRef(true);\n const { announce } = useAriaAnnouncer();\n\n useIsomorphicLayoutEffect(() => {\n if (!open) {\n pointerTypeRef.current = undefined;\n }\n });\n\n useEffect(() => {\n const reference = refs.reference.current;\n function announceFloating() {\n const tooltipContent = refs.floating.current?.innerText;\n\n if (tooltipContent) {\n announce(tooltipContent);\n }\n }\n\n function onMouseEnter(event: MouseEvent) {\n clearTimeout(timeoutRef.current);\n\n if (open) {\n return;\n }\n\n blockMouseMoveRef.current = false;\n dataRef.current.openEvent = event;\n\n if (delay) {\n timeoutRef.current = window.setTimeout(\n () => {\n announceFloating();\n },\n getDelay(delay, \"open\", pointerTypeRef.current),\n );\n } else {\n announceFloating();\n }\n }\n\n if (isElement(reference)) {\n reference.addEventListener(\"mouseenter\", onMouseEnter);\n return () => {\n reference.removeEventListener(\"mouseenter\", onMouseEnter);\n };\n }\n }, [dataRef, delay, open, refs.reference, refs.floating, announce]);\n\n function setPointerRef(event: PointerEvent) {\n pointerTypeRef.current = event.pointerType;\n }\n\n return {\n reference: {\n onPointerDown: setPointerRef,\n onPointerEnter: setPointerRef,\n },\n floating: {\n onMouseEnter() {\n clearTimeout(timeoutRef.current);\n },\n },\n };\n};\n"],"names":["useRef","useAriaAnnouncer","useIsomorphicLayoutEffect","useEffect"],"mappings":"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"}
@@ -4,18 +4,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var react = require('@floating-ui/react');
6
6
  var React = require('react');
7
+ require('react/jsx-runtime');
8
+ require('clsx');
7
9
  var useControlled = require('../utils/useControlled.js');
8
10
  var useFloatingUI = require('../utils/useFloatingUI/useFloatingUI.js');
9
11
  require('../utils/useId.js');
10
12
  require('../salt-provider/SaltProvider.js');
11
13
  require('../viewport/ViewportProvider.js');
12
- require('clsx');
13
14
  require('../accordion/AccordionGroup.js');
14
15
  require('../accordion/AccordionPanel.js');
15
16
  require('../accordion/Accordion.js');
16
17
  require('../accordion/AccordionHeader.js');
17
18
  require('../aria-announcer/AriaAnnouncerContext.js');
18
- require('react/jsx-runtime');
19
19
  require('../avatar/Avatar.js');
20
20
  require('../badge/Badge.js');
21
21
  require('../banner/Banner.js');
@@ -28,9 +28,9 @@ require('../button/Button.js');
28
28
  require('../card/Card.js');
29
29
  require('../checkbox/Checkbox.js');
30
30
  require('../checkbox/CheckboxGroup.js');
31
+ require('@salt-ds/icons');
31
32
  require('@salt-ds/styles');
32
33
  require('@salt-ds/window');
33
- require('@salt-ds/icons');
34
34
  require('../combo-box/ComboBox.js');
35
35
  require('../dialog/Dialog.js');
36
36
  require('../dialog/DialogHeader.js');
@@ -49,6 +49,7 @@ require('../flex-item/FlexItem.js');
49
49
  require('../flex-layout/FlexLayout.js');
50
50
  require('../flow-layout/FlowLayout.js');
51
51
  require('../form-field/FormField.js');
52
+ require('../form-field-context/FormFieldContext.js');
52
53
  require('../status-indicator/StatusIndicator.js');
53
54
  require('../text/Text.js');
54
55
  require('../text/Code.js');
@@ -57,7 +58,6 @@ require('../text/Headings.js');
57
58
  require('../text/Label.js');
58
59
  require('../text/TextAction.js');
59
60
  require('../text/TextNotation.js');
60
- require('../form-field-context/FormFieldContext.js');
61
61
  require('../grid-item/GridItem.js');
62
62
  require('../grid-layout/GridLayout.js');
63
63
  require('../input/Input.js');
@@ -71,8 +71,8 @@ require('../list-control/ListControlContext.js');
71
71
  require('../menu/MenuContext.js');
72
72
  require('../menu/MenuItem.js');
73
73
  require('../menu/MenuPanel.js');
74
- require('../menu/MenuTriggerContext.js');
75
74
  require('../menu/MenuPanelContext.js');
75
+ require('../menu/MenuTriggerContext.js');
76
76
  require('../menu/MenuGroup.js');
77
77
  require('../multiline-input/MultilineInput.js');
78
78
  require('../navigation-item/NavigationItem.js');
@@ -1 +1 @@
1
- {"version":3,"file":"useTooltip.js","sources":["../src/tooltip/useTooltip.ts"],"sourcesContent":["import {\n arrow,\n flip,\n offset,\n safePolygon,\n shift,\n useDismiss,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n limitShift,\n} from \"@floating-ui/react\";\nimport { HTMLProps, useRef } from \"react\";\nimport { useControlled, UseFloatingUIProps, useFloatingUI } from \"../utils\";\nimport { useAriaAnnounce } from \"./useAriaAnnounce\";\n\nexport interface UseTooltipProps\n extends Partial<\n Pick<UseFloatingUIProps, \"onOpenChange\" | \"open\" | \"placement\">\n > {\n /**\n * When `true`, the tooltip will be disabled.\n */\n disabled?: boolean;\n /**\n * Do not respond to focus events.\n */\n disableFocusListener?: boolean;\n /**\n * Do not respond to hover events.\n */\n disableHoverListener?: boolean;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n */\n enterDelay?: number;\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n */\n leaveDelay?: number;\n}\n\nexport function useTooltip(props?: UseTooltipProps) {\n const {\n enterDelay,\n disabled,\n leaveDelay,\n open: openProp,\n onOpenChange,\n placement: placementProp,\n disableHoverListener,\n disableFocusListener,\n } = props ?? {};\n\n const arrowRef = useRef<SVGSVGElement | null>(null);\n\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: false,\n name: \"Tooltip\",\n state: \"open\",\n });\n const handleOpenChange = (open: boolean) => {\n setOpen(open);\n onOpenChange?.(open);\n };\n\n const { floating, reference, x, y, strategy, placement, context, elements } =\n useFloatingUI({\n open: disabled ? false : open,\n onOpenChange: handleOpenChange,\n placement: placementProp,\n middleware: [\n offset(8),\n shift({ limiter: limitShift() }),\n flip({\n fallbackAxisSideDirection: \"end\",\n fallbackStrategy: \"initialPlacement\",\n }),\n arrow({ element: arrowRef }),\n ],\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n enabled: !(disableHoverListener || disabled),\n handleClose: safePolygon(),\n }),\n useFocus(context, { enabled: !(disableFocusListener || disabled) }),\n useRole(context, { role: \"tooltip\" }),\n useDismiss(context, { enabled: !disabled }),\n useAriaAnnounce(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n }),\n ]);\n\n const arrowProps = {\n ref: arrowRef,\n context,\n };\n\n const getTooltipProps = (): HTMLProps<HTMLDivElement> => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars -- tabIndex raises false positives because it is set to \"-1\".\n const { tabIndex, ...tooltipProps } = getFloatingProps({\n // @ts-expect-error - `data-*` props need extra typing when not used on a DOM element.\n \"data-placement\": placement,\n ref: floating,\n });\n\n return tooltipProps;\n };\n\n const getTriggerProps = () =>\n getReferenceProps({\n ref: reference,\n });\n\n const getTooltipPosition = () => ({\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n width: elements.floating?.offsetWidth,\n height: elements.floating?.offsetHeight,\n });\n\n return {\n arrowProps,\n open,\n floating,\n reference,\n getTooltipProps,\n getTriggerProps,\n getTooltipPosition,\n };\n}\n"],"names":["useRef","useControlled","open","useFloatingUI","offset","shift","limitShift","flip","arrow","useInteractions","useHover","safePolygon","useFocus","useRole","useDismiss","useAriaAnnounce"],"mappings":"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"}
1
+ {"version":3,"file":"useTooltip.js","sources":["../src/tooltip/useTooltip.ts"],"sourcesContent":["import {\n arrow,\n flip,\n limitShift,\n offset,\n safePolygon,\n shift,\n useDismiss,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n} from \"@floating-ui/react\";\nimport { type HTMLProps, useRef } from \"react\";\nimport {\n type UseFloatingUIProps,\n useControlled,\n useFloatingUI,\n} from \"../utils\";\nimport { useAriaAnnounce } from \"./useAriaAnnounce\";\n\nexport interface UseTooltipProps\n extends Partial<\n Pick<UseFloatingUIProps, \"onOpenChange\" | \"open\" | \"placement\">\n > {\n /**\n * When `true`, the tooltip will be disabled.\n */\n disabled?: boolean;\n /**\n * Do not respond to focus events.\n */\n disableFocusListener?: boolean;\n /**\n * Do not respond to hover events.\n */\n disableHoverListener?: boolean;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n */\n enterDelay?: number;\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n */\n leaveDelay?: number;\n}\n\nexport function useTooltip(props?: UseTooltipProps) {\n const {\n enterDelay,\n disabled,\n leaveDelay,\n open: openProp,\n onOpenChange,\n placement: placementProp,\n disableHoverListener,\n disableFocusListener,\n } = props ?? {};\n\n const arrowRef = useRef<SVGSVGElement | null>(null);\n\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: false,\n name: \"Tooltip\",\n state: \"open\",\n });\n const handleOpenChange = (open: boolean) => {\n setOpen(open);\n onOpenChange?.(open);\n };\n\n const { floating, reference, x, y, strategy, placement, context, elements } =\n useFloatingUI({\n open: disabled ? false : open,\n onOpenChange: handleOpenChange,\n placement: placementProp,\n middleware: [\n offset(8),\n shift({ limiter: limitShift() }),\n flip({\n fallbackAxisSideDirection: \"end\",\n fallbackStrategy: \"initialPlacement\",\n }),\n arrow({ element: arrowRef }),\n ],\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n enabled: !(disableHoverListener || disabled),\n handleClose: safePolygon(),\n }),\n useFocus(context, { enabled: !(disableFocusListener || disabled) }),\n useRole(context, { role: \"tooltip\" }),\n useDismiss(context, { enabled: !disabled }),\n useAriaAnnounce(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n }),\n ]);\n\n const arrowProps = {\n ref: arrowRef,\n context,\n };\n\n const getTooltipProps = (): HTMLProps<HTMLDivElement> => {\n // tabIndex raises false positives because it is set to \"-1\".\n const { tabIndex, ...tooltipProps } = getFloatingProps({\n // @ts-expect-error - `data-*` props need extra typing when not used on a DOM element.\n \"data-placement\": placement,\n ref: floating,\n });\n\n return tooltipProps;\n };\n\n const getTriggerProps = () =>\n getReferenceProps({\n ref: reference,\n });\n\n const getTooltipPosition = () => ({\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n width: elements.floating?.offsetWidth,\n height: elements.floating?.offsetHeight,\n });\n\n return {\n arrowProps,\n open,\n floating,\n reference,\n getTooltipProps,\n getTriggerProps,\n getTooltipPosition,\n };\n}\n"],"names":["useRef","useControlled","open","useFloatingUI","offset","shift","limitShift","flip","arrow","useInteractions","useHover","safePolygon","useFocus","useRole","useDismiss","useAriaAnnounce"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createChainedFunction.js","sources":["../src/utils/createChainedFunction.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\ntype ChainedFunction<Args extends any[], This> =\n | ((this: This, ...args: Args) => any)\n | undefined\n | null;\n\nexport function createChainedFunction<Args extends any[], This>(\n ...funcs: ChainedFunction<Args, This>[]\n): (this: This, ...args: Args) => any {\n return funcs.reduce<(this: This, ...args: Args) => any>(\n (acc, func) => {\n if (func == null) {\n return acc;\n }\n\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => {}\n );\n}\n"],"names":[],"mappings":";;;;AAOO,SAAS,yBACX,KACiC,EAAA;AACpC,EAAA,OAAO,KAAM,CAAA,MAAA;AAAA,IACX,CAAC,KAAK,IAAS,KAAA;AACb,MAAA,IAAI,QAAQ,IAAM,EAAA;AAChB,QAAO,OAAA,GAAA,CAAA;AAAA,OACT;AAEA,MAAO,OAAA,SAAS,mBAAmB,IAAM,EAAA;AACvC,QAAI,GAAA,CAAA,KAAA,CAAM,MAAM,IAAI,CAAA,CAAA;AACpB,QAAK,IAAA,CAAA,KAAA,CAAM,MAAM,IAAI,CAAA,CAAA;AAAA,OACvB,CAAA;AAAA,KACF;AAAA,IAEA,MAAM;AAAA,KAAC;AAAA,GACT,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"createChainedFunction.js","sources":["../src/utils/createChainedFunction.ts"],"sourcesContent":["type ChainedFunction<Args extends any[], This> =\n | ((this: This, ...args: Args) => any)\n | undefined\n | null;\n\nexport function createChainedFunction<Args extends any[], This>(\n ...funcs: ChainedFunction<Args, This>[]\n): (this: This, ...args: Args) => any {\n return funcs.reduce<(this: This, ...args: Args) => any>(\n (acc, func) => {\n if (func == null) {\n return acc;\n }\n\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n },\n () => {},\n );\n}\n"],"names":[],"mappings":";;;;AAKO,SAAS,yBACX,KACiC,EAAA;AACpC,EAAA,OAAO,KAAM,CAAA,MAAA;AAAA,IACX,CAAC,KAAK,IAAS,KAAA;AACb,MAAA,IAAI,QAAQ,IAAM,EAAA;AAChB,QAAO,OAAA,GAAA,CAAA;AAAA,OACT;AAEA,MAAO,OAAA,SAAS,mBAAmB,IAAM,EAAA;AACvC,QAAI,GAAA,CAAA,KAAA,CAAM,MAAM,IAAI,CAAA,CAAA;AACpB,QAAK,IAAA,CAAA,KAAA,CAAM,MAAM,IAAI,CAAA,CAAA;AAAA,OACvB,CAAA;AAAA,KACF;AAAA,IACA,MAAM;AAAA,KAAC;AAAA,GACT,CAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"createContext.js","sources":["../src/utils/createContext.ts"],"sourcesContent":["import { createContext as createReactContext, Context } from \"react\";\n\nexport function createContext<ContextValueType>(\n name: string,\n defaultValue: ContextValueType\n): Context<ContextValueType> {\n const context = createReactContext<ContextValueType>(defaultValue);\n if (process.env.NODE_ENV !== \"production\") {\n context.displayName = name;\n }\n return context;\n}\n"],"names":["createReactContext"],"mappings":";;;;;;AAEgB,SAAA,aAAA,CACd,MACA,YAC2B,EAAA;AAC3B,EAAM,MAAA,OAAA,GAAUA,oBAAqC,YAAY,CAAA,CAAA;AACjE,EAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,IAAA,OAAA,CAAQ,WAAc,GAAA,IAAA,CAAA;AAAA,GACxB;AACA,EAAO,OAAA,OAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"createContext.js","sources":["../src/utils/createContext.ts"],"sourcesContent":["import { type Context, createContext as createReactContext } from \"react\";\n\nexport function createContext<ContextValueType>(\n name: string,\n defaultValue: ContextValueType,\n): Context<ContextValueType> {\n const context = createReactContext<ContextValueType>(defaultValue);\n if (process.env.NODE_ENV !== \"production\") {\n context.displayName = name;\n }\n return context;\n}\n"],"names":["createReactContext"],"mappings":";;;;;;AAEgB,SAAA,aAAA,CACd,MACA,YAC2B,EAAA;AAC3B,EAAM,MAAA,OAAA,GAAUA,oBAAqC,YAAY,CAAA,CAAA;AACjE,EAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,IAAA,OAAA,CAAQ,WAAc,GAAA,IAAA,CAAA;AAAA,GACxB;AACA,EAAO,OAAA,OAAA,CAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"debounce.js","sources":["../src/utils/debounce.ts"],"sourcesContent":["export interface Cancelable {\n clear(): void;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function debounce<T extends (...args: any[]) => any>(\n func: T,\n // Corresponds to 10 frames at 60 Hz.\n wait = 166,\n leading = false\n): T & Cancelable {\n let timeout: number;\n const debounced: T & Cancelable = function debounced(\n this: typeof debounced,\n ...args\n ) {\n const later = () => {\n func.apply(this, args);\n };\n clearTimeout(timeout);\n if (leading) {\n later();\n }\n timeout = window.setTimeout(later, wait);\n } as T & Cancelable;\n\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n\n return debounced;\n}\n"],"names":["debounced"],"mappings":";;;;AAKO,SAAS,QACd,CAAA,IAAA,EAEA,IAAO,GAAA,GAAA,EACP,UAAU,KACM,EAAA;AAChB,EAAI,IAAA,OAAA,CAAA;AACJ,EAAM,MAAA,SAAA,GAA4B,SAASA,UAAAA,CAAAA,GAEtC,IACH,EAAA;AACA,IAAA,MAAM,QAAQ,MAAM;AAClB,MAAK,IAAA,CAAA,KAAA,CAAM,MAAM,IAAI,CAAA,CAAA;AAAA,KACvB,CAAA;AACA,IAAA,YAAA,CAAa,OAAO,CAAA,CAAA;AACpB,IAAA,IAAI,OAAS,EAAA;AACX,MAAM,KAAA,EAAA,CAAA;AAAA,KACR;AACA,IAAU,OAAA,GAAA,MAAA,CAAO,UAAW,CAAA,KAAA,EAAO,IAAI,CAAA,CAAA;AAAA,GACzC,CAAA;AAEA,EAAA,SAAA,CAAU,QAAQ,MAAM;AACtB,IAAA,YAAA,CAAa,OAAO,CAAA,CAAA;AAAA,GACtB,CAAA;AAEA,EAAO,OAAA,SAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"debounce.js","sources":["../src/utils/debounce.ts"],"sourcesContent":["export interface Cancelable {\n clear(): void;\n}\n\nexport function debounce<T extends (...args: any[]) => any>(\n func: T,\n // Corresponds to 10 frames at 60 Hz.\n wait = 166,\n leading = false,\n): T & Cancelable {\n let timeout: number;\n const debounced: T & Cancelable = function debounced(\n this: typeof debounced,\n ...args\n ) {\n const later = () => {\n func.apply(this, args);\n };\n clearTimeout(timeout);\n if (leading) {\n later();\n }\n timeout = window.setTimeout(later, wait);\n } as T & Cancelable;\n\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n\n return debounced;\n}\n"],"names":["debounced"],"mappings":";;;;AAIO,SAAS,QACd,CAAA,IAAA,EAEA,IAAO,GAAA,GAAA,EACP,UAAU,KACM,EAAA;AAChB,EAAI,IAAA,OAAA,CAAA;AACJ,EAAM,MAAA,SAAA,GAA4B,SAASA,UAAAA,CAAAA,GAEtC,IACH,EAAA;AACA,IAAA,MAAM,QAAQ,MAAM;AAClB,MAAK,IAAA,CAAA,KAAA,CAAM,MAAM,IAAI,CAAA,CAAA;AAAA,KACvB,CAAA;AACA,IAAA,YAAA,CAAa,OAAO,CAAA,CAAA;AACpB,IAAA,IAAI,OAAS,EAAA;AACX,MAAM,KAAA,EAAA,CAAA;AAAA,KACR;AACA,IAAU,OAAA,GAAA,MAAA,CAAO,UAAW,CAAA,KAAA,EAAO,IAAI,CAAA,CAAA;AAAA,GACzC,CAAA;AAEA,EAAA,SAAA,CAAU,QAAQ,MAAM;AACtB,IAAA,YAAA,CAAa,OAAO,CAAA,CAAA;AAAA,GACtB,CAAA;AAEA,EAAO,OAAA,SAAA,CAAA;AACT;;;;"}
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+
7
+ function getRefFromChildren(child) {
8
+ if (!child || !React.isValidElement(child)) {
9
+ return null;
10
+ }
11
+ return Object.prototype.propertyIsEnumerable.call(child.props, "ref") ? child.props.ref : child.ref;
12
+ }
13
+
14
+ exports.getRefFromChildren = getRefFromChildren;
15
+ //# sourceMappingURL=getRefFromChildren.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRefFromChildren.js","sources":["../src/utils/getRefFromChildren.ts"],"sourcesContent":["import { type ReactNode, isValidElement } from \"react\";\n\nexport function getRefFromChildren(child: ReactNode) {\n if (!child || !isValidElement(child)) {\n return null;\n }\n\n return Object.prototype.propertyIsEnumerable.call(child.props, \"ref\")\n ? child.props.ref\n : // @ts-expect-error - ref is not defined on ReactNode\n child.ref;\n}\n"],"names":["isValidElement"],"mappings":";;;;;;AAEO,SAAS,mBAAmB,KAAkB,EAAA;AACnD,EAAA,IAAI,CAAC,KAAA,IAAS,CAACA,oBAAA,CAAe,KAAK,CAAG,EAAA;AACpC,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAO,OAAA,MAAA,CAAO,SAAU,CAAA,oBAAA,CAAqB,IAAK,CAAA,KAAA,CAAM,KAAO,EAAA,KAAK,CAChE,GAAA,KAAA,CAAM,KAAM,CAAA,GAAA,GAEZ,KAAM,CAAA,GAAA,CAAA;AACZ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"marginMiddleware.js","sources":["../src/utils/marginMiddleware.ts"],"sourcesContent":["import { Middleware } from \"@floating-ui/core\";\n\nexport const margin = (value = 0): Middleware => ({\n name: \"margin\",\n options: value,\n fn(middlewareState) {\n const { x, y, elements } = middlewareState;\n\n if (elements.floating.children.length > 0) {\n const rootChildElement = elements.floating.children[0] as HTMLElement;\n rootChildElement.style.setProperty(\"margin\", value.toString());\n }\n return {\n x: x,\n y: y,\n };\n },\n});\n"],"names":[],"mappings":";;;;AAEa,MAAA,MAAA,GAAS,CAAC,KAAA,GAAQ,CAAmB,MAAA;AAAA,EAChD,IAAM,EAAA,QAAA;AAAA,EACN,OAAS,EAAA,KAAA;AAAA,EACT,GAAG,eAAiB,EAAA;AAClB,IAAA,MAAM,EAAE,CAAA,EAAG,CAAG,EAAA,QAAA,EAAa,GAAA,eAAA,CAAA;AAE3B,IAAA,IAAI,QAAS,CAAA,QAAA,CAAS,QAAS,CAAA,MAAA,GAAS,CAAG,EAAA;AACzC,MAAM,MAAA,gBAAA,GAAmB,QAAS,CAAA,QAAA,CAAS,QAAS,CAAA,CAAA,CAAA,CAAA;AACpD,MAAA,gBAAA,CAAiB,KAAM,CAAA,WAAA,CAAY,QAAU,EAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAAA,KAC/D;AACA,IAAO,OAAA;AAAA,MACL,CAAA;AAAA,MACA,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"marginMiddleware.js","sources":["../src/utils/marginMiddleware.ts"],"sourcesContent":["import type { Middleware } from \"@floating-ui/core\";\n\nexport const margin = (value = 0): Middleware => ({\n name: \"margin\",\n options: value,\n fn(middlewareState) {\n const { x, y, elements } = middlewareState;\n\n if (elements.floating.children.length > 0) {\n const rootChildElement = elements.floating.children[0] as HTMLElement;\n rootChildElement.style.setProperty(\"margin\", value.toString());\n }\n return {\n x: x,\n y: y,\n };\n },\n});\n"],"names":[],"mappings":";;;;AAEa,MAAA,MAAA,GAAS,CAAC,KAAA,GAAQ,CAAmB,MAAA;AAAA,EAChD,IAAM,EAAA,QAAA;AAAA,EACN,OAAS,EAAA,KAAA;AAAA,EACT,GAAG,eAAiB,EAAA;AAClB,IAAA,MAAM,EAAE,CAAA,EAAG,CAAG,EAAA,QAAA,EAAa,GAAA,eAAA,CAAA;AAE3B,IAAA,IAAI,QAAS,CAAA,QAAA,CAAS,QAAS,CAAA,MAAA,GAAS,CAAG,EAAA;AACzC,MAAM,MAAA,gBAAA,GAAmB,QAAS,CAAA,QAAA,CAAS,QAAS,CAAA,CAAA,CAAA,CAAA;AACpD,MAAA,gBAAA,CAAiB,KAAM,CAAA,WAAA,CAAY,QAAU,EAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAAA,KAC/D;AACA,IAAO,OAAA;AAAA,MACL,CAAA;AAAA,MACA,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"mergeProps.js","sources":["../src/utils/mergeProps.ts"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { createChainedFunction } from \"./createChainedFunction\";\n\ninterface Props {\n [key: string]: unknown;\n}\n\n/**\n * This utility merges two prop objects according to the following rules:\n *\n * - If the prop is a function and begins with \"on\" then chain the functions together\n * - If the prop key is \"className\" then merge them using `clsx`\n * - If the prop is anything else, then use the value from the second parameter unless it's undefined then use the value from the first parameter\n */\nexport function mergeProps(\n propsA: Props,\n propsB: Props\n): Record<string, unknown> {\n const props = { ...propsA };\n\n Object.keys(propsB).forEach((key) => {\n const a: any = props[key];\n const b: any = propsB[key];\n\n if (\n typeof a === \"function\" &&\n typeof b === \"function\" &&\n key.indexOf(\"on\") === 0\n ) {\n props[key] = createChainedFunction(a, b);\n } else if (\n typeof a === \"string\" &&\n typeof b === \"string\" &&\n key === \"className\"\n ) {\n props[key] = clsx(a, b);\n } else {\n props[key] = b !== undefined ? b : a;\n }\n });\n\n return props;\n}\n"],"names":["createChainedFunction","clsx"],"mappings":";;;;;;;AAcgB,SAAA,UAAA,CACd,QACA,MACyB,EAAA;AACzB,EAAM,MAAA,KAAA,GAAQ,EAAE,GAAG,MAAO,EAAA,CAAA;AAE1B,EAAA,MAAA,CAAO,IAAK,CAAA,MAAM,CAAE,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AACnC,IAAA,MAAM,IAAS,KAAM,CAAA,GAAA,CAAA,CAAA;AACrB,IAAA,MAAM,IAAS,MAAO,CAAA,GAAA,CAAA,CAAA;AAEtB,IACE,IAAA,OAAO,CAAM,KAAA,UAAA,IACb,OAAO,CAAA,KAAM,cACb,GAAI,CAAA,OAAA,CAAQ,IAAI,CAAA,KAAM,CACtB,EAAA;AACA,MAAM,KAAA,CAAA,GAAA,CAAA,GAAOA,2CAAsB,CAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAAA,KACzC,MAAA,IACE,OAAO,CAAM,KAAA,QAAA,IACb,OAAO,CAAM,KAAA,QAAA,IACb,QAAQ,WACR,EAAA;AACA,MAAM,KAAA,CAAA,GAAA,CAAA,GAAOC,SAAK,CAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAAA,KACjB,MAAA;AACL,MAAM,KAAA,CAAA,GAAA,CAAA,GAAO,CAAM,KAAA,KAAA,CAAA,GAAY,CAAI,GAAA,CAAA,CAAA;AAAA,KACrC;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"mergeProps.js","sources":["../src/utils/mergeProps.ts"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { createChainedFunction } from \"./createChainedFunction\";\n\ninterface Props {\n [key: string]: unknown;\n}\n\n/**\n * This utility merges two prop objects according to the following rules:\n *\n * - If the prop is a function and begins with \"on\" then chain the functions together\n * - If the prop key is \"className\" then merge them using `clsx`\n * - If the prop is anything else, then use the value from the second parameter unless it's undefined then use the value from the first parameter\n */\nexport function mergeProps(\n propsA: Props,\n propsB: Props,\n): Record<string, unknown> {\n const props = { ...propsA };\n\n Object.keys(propsB).forEach((key) => {\n const a: any = props[key];\n const b: any = propsB[key];\n\n if (\n typeof a === \"function\" &&\n typeof b === \"function\" &&\n key.indexOf(\"on\") === 0\n ) {\n props[key] = createChainedFunction(a, b);\n } else if (\n typeof a === \"string\" &&\n typeof b === \"string\" &&\n key === \"className\"\n ) {\n props[key] = clsx(a, b);\n } else {\n props[key] = b !== undefined ? b : a;\n }\n });\n\n return props;\n}\n"],"names":["createChainedFunction","clsx"],"mappings":";;;;;;;AAcgB,SAAA,UAAA,CACd,QACA,MACyB,EAAA;AACzB,EAAM,MAAA,KAAA,GAAQ,EAAE,GAAG,MAAO,EAAA,CAAA;AAE1B,EAAA,MAAA,CAAO,IAAK,CAAA,MAAM,CAAE,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AACnC,IAAA,MAAM,IAAS,KAAM,CAAA,GAAA,CAAA,CAAA;AACrB,IAAA,MAAM,IAAS,MAAO,CAAA,GAAA,CAAA,CAAA;AAEtB,IACE,IAAA,OAAO,CAAM,KAAA,UAAA,IACb,OAAO,CAAA,KAAM,cACb,GAAI,CAAA,OAAA,CAAQ,IAAI,CAAA,KAAM,CACtB,EAAA;AACA,MAAM,KAAA,CAAA,GAAA,CAAA,GAAOA,2CAAsB,CAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAAA,KACzC,MAAA,IACE,OAAO,CAAM,KAAA,QAAA,IACb,OAAO,CAAM,KAAA,QAAA,IACb,QAAQ,WACR,EAAA;AACA,MAAM,KAAA,CAAA,GAAA,CAAA,GAAOC,SAAK,CAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAAA,KACjB,MAAA;AACL,MAAM,KAAA,CAAA,GAAA,CAAA,GAAO,CAAM,KAAA,KAAA,CAAA,GAAY,CAAI,GAAA,CAAA,CAAA;AAAA,KACrC;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var React = require('react');
7
+ var mergeProps = require('./mergeProps.js');
8
+
9
+ function renderProps(Type, props) {
10
+ const { render, ...rest } = props;
11
+ if (React.isValidElement(render)) {
12
+ const renderProps2 = render.props;
13
+ return React.cloneElement(render, mergeProps.mergeProps(rest, renderProps2));
14
+ }
15
+ const restProps = rest;
16
+ if (typeof render === "function") {
17
+ const renderedElement = render(restProps);
18
+ if (React.isValidElement(renderedElement)) {
19
+ return renderedElement;
20
+ }
21
+ throw new Error("Render function did not return a valid React element");
22
+ }
23
+ if (Type) {
24
+ return /* @__PURE__ */ jsxRuntime.jsx(Type, {
25
+ ...restProps
26
+ });
27
+ }
28
+ throw new Error("Type or render should be provided");
29
+ }
30
+
31
+ exports.renderProps = renderProps;
32
+ //# sourceMappingURL=renderProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderProps.js","sources":["../src/utils/renderProps.tsx"],"sourcesContent":["import {\n type ComponentProps,\n type ElementType,\n type ReactElement,\n cloneElement,\n isValidElement,\n} from \"react\";\nimport { mergeProps } from \"./mergeProps\";\n\nexport interface RenderPropsType {\n render?: ReactElement | ((props: any) => ReactElement);\n}\n\nexport function renderProps<Type extends ElementType>(\n Type: Type | null,\n props: RenderPropsType & ComponentProps<Type>,\n): ReactElement {\n const { render, ...rest } = props;\n // Case 1: If render is a valid React element, clone it with merged props\n if (isValidElement(render)) {\n const renderProps = render.props as ComponentProps<Type>;\n return cloneElement(render, mergeProps(rest, renderProps));\n }\n\n const restProps = rest as ComponentProps<Type>;\n\n // Case 2: If render is a function, call it with the rest of the props\n if (typeof render === \"function\") {\n const renderedElement = render(restProps);\n if (isValidElement(renderedElement)) {\n return renderedElement;\n }\n throw new Error(\"Render function did not return a valid React element\");\n }\n\n if (Type) {\n // Case 3: If render is not provided, render the Type component with the rest of the props\n return <Type {...restProps} />;\n }\n\n throw new Error(\"Type or render should be provided\");\n}\n"],"names":["isValidElement","renderProps","cloneElement","mergeProps","jsx"],"mappings":";;;;;;;;AAagB,SAAA,WAAA,CACd,MACA,KACc,EAAA;AACd,EAAM,MAAA,EAAE,MAAW,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AAE5B,EAAI,IAAAA,oBAAA,CAAe,MAAM,CAAG,EAAA;AAC1B,IAAA,MAAMC,eAAc,MAAO,CAAA,KAAA,CAAA;AAC3B,IAAA,OAAOC,kBAAa,CAAA,MAAA,EAAQC,qBAAW,CAAA,IAAA,EAAMF,YAAW,CAAC,CAAA,CAAA;AAAA,GAC3D;AAEA,EAAA,MAAM,SAAY,GAAA,IAAA,CAAA;AAGlB,EAAI,IAAA,OAAO,WAAW,UAAY,EAAA;AAChC,IAAM,MAAA,eAAA,GAAkB,OAAO,SAAS,CAAA,CAAA;AACxC,IAAI,IAAAD,oBAAA,CAAe,eAAe,CAAG,EAAA;AACnC,MAAO,OAAA,eAAA,CAAA;AAAA,KACT;AACA,IAAM,MAAA,IAAI,MAAM,sDAAsD,CAAA,CAAA;AAAA,GACxE;AAEA,EAAA,IAAI,IAAM,EAAA;AAER,IAAA,uBAAQI,cAAA,CAAA,IAAA,EAAA;AAAA,MAAM,GAAG,SAAA;AAAA,KAAW,CAAA,CAAA;AAAA,GAC9B;AAEA,EAAM,MAAA,IAAI,MAAM,mCAAmC,CAAA,CAAA;AACrD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"setRef.js","sources":["../src/utils/setRef.ts"],"sourcesContent":["import { MutableRefObject } from \"react\";\n\nexport function setRef<T>(\n ref:\n | MutableRefObject<T | null>\n | ((instance: T | null) => void)\n | null\n | undefined,\n value: T | null\n): void {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,SAAA,MAAA,CACd,KAKA,KACM,EAAA;AACN,EAAI,IAAA,OAAO,QAAQ,UAAY,EAAA;AAC7B,IAAA,GAAA,CAAI,KAAK,CAAA,CAAA;AAAA,aACA,GAAK,EAAA;AACd,IAAA,GAAA,CAAI,OAAU,GAAA,KAAA,CAAA;AAAA,GAChB;AACF;;;;"}
1
+ {"version":3,"file":"setRef.js","sources":["../src/utils/setRef.ts"],"sourcesContent":["import type { MutableRefObject } from \"react\";\n\nexport function setRef<T>(\n ref:\n | MutableRefObject<T | null>\n | ((instance: T | null) => void)\n | null\n | undefined,\n value: T | null,\n): void {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,SAAA,MAAA,CACd,KAKA,KACM,EAAA;AACN,EAAI,IAAA,OAAO,QAAQ,UAAY,EAAA;AAC7B,IAAA,GAAA,CAAI,KAAK,CAAA,CAAA;AAAA,aACA,GAAK,EAAA;AACd,IAAA,GAAA,CAAI,OAAU,GAAA,KAAA,CAAA;AAAA,GAChB;AACF;;;;"}
@@ -48,7 +48,7 @@ function useControlled({
48
48
  setValue(newValue);
49
49
  }
50
50
  },
51
- [isControlled]
51
+ []
52
52
  );
53
53
  return [value, setValueIfUncontrolled, isControlled];
54
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useControlled.js","sources":["../src/utils/useControlled.ts"],"sourcesContent":["import {\n Dispatch,\n isValidElement,\n SetStateAction,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nexport interface UseControlledProps<T> {\n /**\n * Holds the component value when it's controlled.\n */\n controlled?: T;\n /**\n * The default value when uncontrolled.\n */\n default: T;\n /**\n * The component name displayed in warnings.\n */\n name: string;\n /**\n * The name of the state variable displayed in warnings.\n */\n state?: string;\n}\n\n/**\n * Copied from MUI (v5) useControlled hook with one additional returned value\n * @see https://github.com/mui-org/material-ui/blob/0979e6a54ba47c278d1f535953c0520a86349811/packages/material-ui-utils/src/useControlled.js\n */\nexport function useControlled<S>({\n controlled,\n default: defaultProp,\n name,\n state = \"value\",\n}: UseControlledProps<S>): [S, Dispatch<SetStateAction<S>>, boolean] {\n const { current: isControlled } = useRef(controlled !== undefined);\n const [valueState, setValue] = useState<S>(defaultProp);\n const value = controlled !== undefined ? controlled : valueState;\n const { current: defaultValue } = useRef(defaultProp);\n\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (isControlled !== (controlled !== undefined)) {\n console.error(\n [\n `Salt: A component is changing the ${\n isControlled ? \"\" : \"un\"\n }controlled ${state} state of ${name} to be ${\n isControlled ? \"un\" : \"\"\n }controlled.`,\n \"Elements should not switch from uncontrolled to controlled (or vice versa).\",\n `Decide between using a controlled or uncontrolled ${name} ` +\n \"element for the lifetime of the component.\",\n \"The nature of the state is determined during the first render, it's considered controlled if the value is not `undefined`.\",\n \"More info: https://fb.me/react-controlled-components\",\n ].join(\"\\n\")\n );\n }\n }\n return undefined;\n /* eslint-disable-next-line react-hooks/exhaustive-deps */\n }, [state, name, controlled]);\n\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (!isControlled && defaultValue !== defaultProp) {\n console.error(\n [\n `Salt: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` +\n `To suppress this warning opt to use a controlled ${name}.`,\n ].join(\"\\n\")\n );\n }\n }\n return undefined;\n /* eslint-disable-next-line react-hooks/exhaustive-deps */\n }, [JSON.stringify(defaultProp, ignoreReactElements)]);\n\n const setValueIfUncontrolled: Dispatch<SetStateAction<S>> = useCallback(\n (newValue) => {\n if (!isControlled) {\n setValue(newValue);\n }\n },\n [isControlled]\n );\n\n return [value, setValueIfUncontrolled, isControlled];\n}\n\n// Ignore ReactElements in JSON, they contain circular refs\nfunction ignoreReactElements<T>(key: string, value: T): T | null {\n return isValidElement(value) ? null : value;\n}\n"],"names":["useRef","useState","useEffect","useCallback","isValidElement"],"mappings":";;;;;;AAiCO,SAAS,aAAiB,CAAA;AAAA,EAC/B,UAAA;AAAA,EACA,OAAS,EAAA,WAAA;AAAA,EACT,IAAA;AAAA,EACA,KAAQ,GAAA,OAAA;AACV,CAAqE,EAAA;AACnE,EAAA,MAAM,EAAE,OAAS,EAAA,YAAA,EAAiB,GAAAA,YAAA,CAAO,eAAe,KAAS,CAAA,CAAA,CAAA;AACjE,EAAA,MAAM,CAAC,UAAA,EAAY,QAAQ,CAAA,GAAIC,eAAY,WAAW,CAAA,CAAA;AACtD,EAAM,MAAA,KAAA,GAAQ,UAAe,KAAA,KAAA,CAAA,GAAY,UAAa,GAAA,UAAA,CAAA;AACtD,EAAA,MAAM,EAAE,OAAA,EAAS,YAAa,EAAA,GAAID,aAAO,WAAW,CAAA,CAAA;AAEpD,EAAAE,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAI,IAAA,YAAA,MAAkB,eAAe,KAAY,CAAA,CAAA,EAAA;AAC/C,QAAQ,OAAA,CAAA,KAAA;AAAA,UACN;AAAA,YACE,qCACE,YAAe,GAAA,EAAA,GAAK,kBACR,KAAkB,CAAA,UAAA,EAAA,IAAA,CAAA,OAAA,EAC9B,eAAe,IAAO,GAAA,EAAA,CAAA,WAAA,CAAA;AAAA,YAExB,6EAAA;AAAA,YACA,CAAqD,kDAAA,EAAA,IAAA,CAAA,2CAAA,CAAA;AAAA,YAErD,4HAAA;AAAA,YACA,sDAAA;AAAA,WACF,CAAE,KAAK,IAAI,CAAA;AAAA,SACb,CAAA;AAAA,OACF;AAAA,KACF;AACA,IAAO,OAAA,KAAA,CAAA,CAAA;AAAA,GAEN,EAAA,CAAC,KAAO,EAAA,IAAA,EAAM,UAAU,CAAC,CAAA,CAAA;AAE5B,EAAAA,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAI,IAAA,CAAC,YAAgB,IAAA,YAAA,KAAiB,WAAa,EAAA;AACjD,QAAQ,OAAA,CAAA,KAAA;AAAA,UACN;AAAA,YACE,CAAA,0CAAA,EAA6C,kCAAkC,IACzB,CAAA,2EAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAAA,WACxD,CAAE,KAAK,IAAI,CAAA;AAAA,SACb,CAAA;AAAA,OACF;AAAA,KACF;AACA,IAAO,OAAA,KAAA,CAAA,CAAA;AAAA,KAEN,CAAC,IAAA,CAAK,UAAU,WAAa,EAAA,mBAAmB,CAAC,CAAC,CAAA,CAAA;AAErD,EAAA,MAAM,sBAAsD,GAAAC,iBAAA;AAAA,IAC1D,CAAC,QAAa,KAAA;AACZ,MAAA,IAAI,CAAC,YAAc,EAAA;AACjB,QAAA,QAAA,CAAS,QAAQ,CAAA,CAAA;AAAA,OACnB;AAAA,KACF;AAAA,IACA,CAAC,YAAY,CAAA;AAAA,GACf,CAAA;AAEA,EAAO,OAAA,CAAC,KAAO,EAAA,sBAAA,EAAwB,YAAY,CAAA,CAAA;AACrD,CAAA;AAGA,SAAS,mBAAA,CAAuB,KAAa,KAAoB,EAAA;AAC/D,EAAO,OAAAC,oBAAA,CAAe,KAAK,CAAA,GAAI,IAAO,GAAA,KAAA,CAAA;AACxC;;;;"}
1
+ {"version":3,"file":"useControlled.js","sources":["../src/utils/useControlled.ts"],"sourcesContent":["import {\n type Dispatch,\n type SetStateAction,\n isValidElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nexport interface UseControlledProps<T> {\n /**\n * Holds the component value when it's controlled.\n */\n controlled?: T;\n /**\n * The default value when uncontrolled.\n */\n default: T;\n /**\n * The component name displayed in warnings.\n */\n name: string;\n /**\n * The name of the state variable displayed in warnings.\n */\n state?: string;\n}\n\n/**\n * Copied from MUI (v5) useControlled hook with one additional returned value\n * @see https://github.com/mui-org/material-ui/blob/0979e6a54ba47c278d1f535953c0520a86349811/packages/material-ui-utils/src/useControlled.js\n */\nexport function useControlled<S>({\n controlled,\n default: defaultProp,\n name,\n state = \"value\",\n}: UseControlledProps<S>): [S, Dispatch<SetStateAction<S>>, boolean] {\n const { current: isControlled } = useRef(controlled !== undefined);\n const [valueState, setValue] = useState<S>(defaultProp);\n const value = controlled !== undefined ? controlled : valueState;\n const { current: defaultValue } = useRef(defaultProp);\n\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (isControlled !== (controlled !== undefined)) {\n console.error(\n [\n `Salt: A component is changing the ${\n isControlled ? \"\" : \"un\"\n }controlled ${state} state of ${name} to be ${\n isControlled ? \"un\" : \"\"\n }controlled.`,\n \"Elements should not switch from uncontrolled to controlled (or vice versa).\",\n `Decide between using a controlled or uncontrolled ${name} element for the lifetime of the component.`,\n \"The nature of the state is determined during the first render, it's considered controlled if the value is not `undefined`.\",\n \"More info: https://fb.me/react-controlled-components\",\n ].join(\"\\n\"),\n );\n }\n }\n return undefined;\n }, [state, name, controlled]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: uses JSON.stringify to compare defaultProp\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (!isControlled && defaultValue !== defaultProp) {\n console.error(\n [\n `Salt: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` +\n `To suppress this warning opt to use a controlled ${name}.`,\n ].join(\"\\n\"),\n );\n }\n }\n return undefined;\n }, [JSON.stringify(defaultProp, ignoreReactElements)]);\n\n const setValueIfUncontrolled: Dispatch<SetStateAction<S>> = useCallback(\n (newValue) => {\n if (!isControlled) {\n setValue(newValue);\n }\n },\n [],\n );\n\n return [value, setValueIfUncontrolled, isControlled];\n}\n\n// Ignore ReactElements in JSON, they contain circular refs\nfunction ignoreReactElements<T>(key: string, value: T): T | null {\n return isValidElement(value) ? null : value;\n}\n"],"names":["useRef","useState","useEffect","useCallback","isValidElement"],"mappings":";;;;;;AAiCO,SAAS,aAAiB,CAAA;AAAA,EAC/B,UAAA;AAAA,EACA,OAAS,EAAA,WAAA;AAAA,EACT,IAAA;AAAA,EACA,KAAQ,GAAA,OAAA;AACV,CAAqE,EAAA;AACnE,EAAA,MAAM,EAAE,OAAS,EAAA,YAAA,EAAiB,GAAAA,YAAA,CAAO,eAAe,KAAS,CAAA,CAAA,CAAA;AACjE,EAAA,MAAM,CAAC,UAAA,EAAY,QAAQ,CAAA,GAAIC,eAAY,WAAW,CAAA,CAAA;AACtD,EAAM,MAAA,KAAA,GAAQ,UAAe,KAAA,KAAA,CAAA,GAAY,UAAa,GAAA,UAAA,CAAA;AACtD,EAAA,MAAM,EAAE,OAAA,EAAS,YAAa,EAAA,GAAID,aAAO,WAAW,CAAA,CAAA;AAEpD,EAAAE,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAI,IAAA,YAAA,MAAkB,eAAe,KAAY,CAAA,CAAA,EAAA;AAC/C,QAAQ,OAAA,CAAA,KAAA;AAAA,UACN;AAAA,YACE,qCACE,YAAe,GAAA,EAAA,GAAK,kBACR,KAAkB,CAAA,UAAA,EAAA,IAAA,CAAA,OAAA,EAC9B,eAAe,IAAO,GAAA,EAAA,CAAA,WAAA,CAAA;AAAA,YAExB,6EAAA;AAAA,YACA,CAAqD,kDAAA,EAAA,IAAA,CAAA,2CAAA,CAAA;AAAA,YACrD,4HAAA;AAAA,YACA,sDAAA;AAAA,WACF,CAAE,KAAK,IAAI,CAAA;AAAA,SACb,CAAA;AAAA,OACF;AAAA,KACF;AACA,IAAO,OAAA,KAAA,CAAA,CAAA;AAAA,GACN,EAAA,CAAC,KAAO,EAAA,IAAA,EAAM,UAAU,CAAC,CAAA,CAAA;AAG5B,EAAAA,eAAA,CAAU,MAAM;AACd,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAI,IAAA,CAAC,YAAgB,IAAA,YAAA,KAAiB,WAAa,EAAA;AACjD,QAAQ,OAAA,CAAA,KAAA;AAAA,UACN;AAAA,YACE,CAAA,0CAAA,EAA6C,kCAAkC,IACzB,CAAA,2EAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAAA,WACxD,CAAE,KAAK,IAAI,CAAA;AAAA,SACb,CAAA;AAAA,OACF;AAAA,KACF;AACA,IAAO,OAAA,KAAA,CAAA,CAAA;AAAA,KACN,CAAC,IAAA,CAAK,UAAU,WAAa,EAAA,mBAAmB,CAAC,CAAC,CAAA,CAAA;AAErD,EAAA,MAAM,sBAAsD,GAAAC,iBAAA;AAAA,IAC1D,CAAC,QAAa,KAAA;AACZ,MAAA,IAAI,CAAC,YAAc,EAAA;AACjB,QAAA,QAAA,CAAS,QAAQ,CAAA,CAAA;AAAA,OACnB;AAAA,KACF;AAAA,IACA,EAAC;AAAA,GACH,CAAA;AAEA,EAAO,OAAA,CAAC,KAAO,EAAA,sBAAA,EAAwB,YAAY,CAAA,CAAA;AACrD,CAAA;AAGA,SAAS,mBAAA,CAAuB,KAAa,KAAoB,EAAA;AAC/D,EAAO,OAAAC,oBAAA,CAAe,KAAK,CAAA,GAAI,IAAO,GAAA,KAAA,CAAA;AACxC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useEventCallback.js","sources":["../src/utils/useEventCallback.ts"],"sourcesContent":["import { useRef, useCallback } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect\";\n\n/**\n * https://github.com/facebook/react/issues/14099#issuecomment-440013892\n */\nexport function useEventCallback<Args extends unknown[], Return>(\n fn: (...args: Args) => Return\n): (...args: Args) => Return {\n const ref = useRef(fn);\n useIsomorphicLayoutEffect(() => {\n ref.current = fn;\n });\n return useCallback(\n (...args: Args) =>\n // tslint:disable-next-line:ban-comma-operator\n (void 0, ref.current)(...args),\n []\n );\n}\n"],"names":["useRef","useIsomorphicLayoutEffect","useCallback"],"mappings":";;;;;;;AAMO,SAAS,iBACd,EAC2B,EAAA;AAC3B,EAAM,MAAA,GAAA,GAAMA,aAAO,EAAE,CAAA,CAAA;AACrB,EAAAC,mDAAA,CAA0B,MAAM;AAC9B,IAAA,GAAA,CAAI,OAAU,GAAA,EAAA,CAAA;AAAA,GACf,CAAA,CAAA;AACD,EAAO,OAAAC,iBAAA;AAAA,IACL,IAAI,IAED,KAAA,IAAQ,GAAI,CAAA,OAAA,EAAS,GAAG,IAAI,CAAA;AAAA,IAC/B,EAAC;AAAA,GACH,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"useEventCallback.js","sources":["../src/utils/useEventCallback.ts"],"sourcesContent":["import { useCallback, useRef } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect\";\n\n/**\n * https://github.com/facebook/react/issues/14099#issuecomment-440013892\n */\nexport function useEventCallback<Args extends unknown[], Return>(\n fn: (...args: Args) => Return,\n): (...args: Args) => Return {\n const ref = useRef(fn);\n useIsomorphicLayoutEffect(() => {\n ref.current = fn;\n });\n return useCallback(\n (...args: Args) =>\n // biome-ignore lint/style/noCommaOperator: This is a valid use case for the comma operator\n (void 0, ref.current)(...args),\n [],\n );\n}\n"],"names":["useRef","useIsomorphicLayoutEffect","useCallback"],"mappings":";;;;;;;AAMO,SAAS,iBACd,EAC2B,EAAA;AAC3B,EAAM,MAAA,GAAA,GAAMA,aAAO,EAAE,CAAA,CAAA;AACrB,EAAAC,mDAAA,CAA0B,MAAM;AAC9B,IAAA,GAAA,CAAI,OAAU,GAAA,EAAA,CAAA;AAAA,GACf,CAAA,CAAA;AACD,EAAO,OAAAC,iBAAA;AAAA,IACL,IAAI,IAED,KAAA,IAAQ,GAAI,CAAA,OAAA,EAAS,GAAG,IAAI,CAAA;AAAA,IAC/B,EAAC;AAAA,GACH,CAAA;AACF;;;;"}
@@ -24,7 +24,7 @@ const DefaultFloatingComponent = React.forwardRef(function DefaultFloatingCompon
24
24
  position
25
25
  };
26
26
  const { themeNext } = SaltProvider.useTheme();
27
- const ChosenSaltProvider = themeNext ? SaltProvider.UNSTABLE_SaltProviderNext : SaltProvider.SaltProvider;
27
+ const ChosenSaltProvider = themeNext ? SaltProvider.SaltProviderNext : SaltProvider.SaltProvider;
28
28
  if (focusManagerProps && open) {
29
29
  return /* @__PURE__ */ jsxRuntime.jsx(react.FloatingPortal, {
30
30
  children: /* @__PURE__ */ jsxRuntime.jsx(ChosenSaltProvider, {
@@ -1 +1 @@
1
- {"version":3,"file":"useFloatingUI.js","sources":["../src/utils/useFloatingUI/useFloatingUI.tsx"],"sourcesContent":["import {\n FloatingFocusManager,\n FloatingFocusManagerProps,\n FloatingPortal,\n Middleware,\n Platform,\n Strategy,\n UseFloatingOptions,\n autoUpdate,\n flip,\n limitShift,\n platform,\n shift,\n useFloating,\n} from \"@floating-ui/react\";\nimport {\n ComponentPropsWithoutRef,\n ReactNode,\n createContext,\n forwardRef,\n useContext,\n useMemo,\n} from \"react\";\nimport {\n SaltProvider,\n UNSTABLE_SaltProviderNext,\n useTheme,\n} from \"../../salt-provider\";\n\nexport interface FloatingComponentProps\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Whether the floating component is open (used for determining whether to show the component)\n * We pass this as a prop rather than not rendering the component to allow more advanced use-cases e.g.\n * for caching windows and reusing them, rather than always spawning a new one\n */\n open: boolean;\n /**\n * Use this prop when `FloatingFocusManager` is needed for floating component\n */\n focusManagerProps?: Omit<FloatingFocusManagerProps, \"children\">;\n /**\n * Position and sizing optional props for the floating component. `top`, `left`, and `position` for floating elements where they aren't positioned with relative to the trigger.\n * `width` and `height` are used to define the size of the floating element.\n *\n */\n top?: number;\n left?: number;\n width?: number;\n height?: number;\n position?: Strategy;\n}\n\nconst DefaultFloatingComponent = forwardRef<\n HTMLDivElement,\n FloatingComponentProps\n>(function DefaultFloatingComponent(props, ref) {\n const {\n open,\n top,\n left,\n position,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n width,\n height,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n focusManagerProps,\n ...rest\n } = props;\n const style = {\n top,\n left,\n position,\n };\n\n const { themeNext } = useTheme();\n\n const ChosenSaltProvider = themeNext\n ? UNSTABLE_SaltProviderNext\n : SaltProvider;\n\n if (focusManagerProps && open) {\n return (\n <FloatingPortal>\n <ChosenSaltProvider>\n <FloatingFocusManager {...focusManagerProps}>\n <div style={style} {...rest} ref={ref} />\n </FloatingFocusManager>\n </ChosenSaltProvider>\n </FloatingPortal>\n );\n }\n\n return open ? (\n <FloatingPortal>\n <ChosenSaltProvider>\n <div style={style} {...rest} ref={ref} />\n </ChosenSaltProvider>\n </FloatingPortal>\n ) : null;\n});\n\nexport interface FloatingComponentContextType {\n Component: typeof DefaultFloatingComponent;\n}\n\nconst FloatingComponentContext = createContext<FloatingComponentContextType>({\n Component: DefaultFloatingComponent,\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n FloatingComponentContext.displayName = \"FloatingComponentContext\";\n}\n\nexport interface FloatingComponentProviderProps\n extends FloatingComponentContextType {\n children: ReactNode;\n}\n\nexport function FloatingComponentProvider(\n props: FloatingComponentProviderProps\n) {\n const { Component, children } = props;\n const value = useMemo(() => ({ Component }), [Component]);\n\n return (\n <FloatingComponentContext.Provider value={value}>\n {children}\n </FloatingComponentContext.Provider>\n );\n}\n\nexport function useFloatingComponent() {\n return useContext(FloatingComponentContext);\n}\n\nexport interface UseFloatingUIProps\n extends Pick<\n UseFloatingOptions,\n \"placement\" | \"strategy\" | \"open\" | \"onOpenChange\" | \"nodeId\"\n > {\n /**\n * Function to update the default middleware used to extend or replace it\n */\n middleware?: Middleware[];\n}\n\ntype GetMiddleware = (middleware: Middleware[]) => Middleware[];\n\nconst defaultGetMiddleware: GetMiddleware = (defaultMiddleware) =>\n defaultMiddleware;\n\ninterface FloatingPlatformContextType {\n platform: Platform;\n middleware: GetMiddleware;\n animationFrame: boolean;\n}\n\nconst defaultFloatingPlaform: FloatingPlatformContextType = {\n platform,\n middleware: defaultGetMiddleware,\n animationFrame: false,\n};\n\nconst FloatingPlatformContext = createContext<FloatingPlatformContextType>(\n defaultFloatingPlaform\n);\n\nexport interface FloatingPlatformProviderProps {\n platform?: Platform;\n middleware?: GetMiddleware;\n children: ReactNode;\n animationFrame?: boolean;\n}\n\nexport function FloatingPlatformProvider(props: FloatingPlatformProviderProps) {\n const {\n platform: platformProp,\n middleware,\n animationFrame,\n children,\n } = props;\n\n const floatingPlatformContextValue = useMemo<FloatingPlatformContextType>(\n () => ({\n platform: platformProp ?? platform,\n middleware: middleware ?? defaultGetMiddleware,\n animationFrame: animationFrame || false,\n }),\n [platformProp, middleware, animationFrame]\n );\n\n return (\n <FloatingPlatformContext.Provider value={floatingPlatformContextValue}>\n {children}\n </FloatingPlatformContext.Provider>\n );\n}\n\nexport function useFloatingPlatform() {\n return useContext(FloatingPlatformContext);\n}\n\nexport const DEFAULT_FLOATING_UI_MIDDLEWARE = [\n flip(),\n shift({ limiter: limitShift() }),\n];\n\ntype UseFloatingRefs = ReturnType<typeof useFloating>[\"refs\"];\n\nexport interface UseFloatingUIReturn extends ReturnType<typeof useFloating> {\n reference: UseFloatingRefs[\"setReference\"];\n floating: UseFloatingRefs[\"setFloating\"];\n}\n\nexport function useFloatingUI(props: UseFloatingUIProps): UseFloatingUIReturn {\n const {\n middleware = DEFAULT_FLOATING_UI_MIDDLEWARE,\n open = false,\n onOpenChange,\n ...other\n } = props;\n\n const handleOpenChange: UseFloatingUIProps[\"onOpenChange\"] = (\n open,\n boolean,\n reason\n ) => {\n update();\n onOpenChange?.(open, boolean, reason);\n };\n\n const {\n platform: contextPlatform,\n middleware: contextMiddleware,\n animationFrame,\n } = useFloatingPlatform();\n\n const { refs, update, ...rest } = useFloating({\n ...other,\n middleware: contextMiddleware(middleware),\n open,\n onOpenChange: handleOpenChange,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, { animationFrame });\n\n return cleanup;\n },\n platform: contextPlatform,\n });\n\n return {\n reference: refs.setReference,\n floating: refs.setFloating,\n refs,\n update,\n ...rest,\n };\n}\n"],"names":["forwardRef","DefaultFloatingComponent","useTheme","UNSTABLE_SaltProviderNext","SaltProvider","jsx","FloatingPortal","FloatingFocusManager","createContext","useMemo","useContext","platform","flip","shift","limitShift","open","useFloating","autoUpdate"],"mappings":"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"}
1
+ {"version":3,"file":"useFloatingUI.js","sources":["../src/utils/useFloatingUI/useFloatingUI.tsx"],"sourcesContent":["import {\n FloatingFocusManager,\n type FloatingFocusManagerProps,\n FloatingPortal,\n type Middleware,\n type Platform,\n type Strategy,\n type UseFloatingOptions,\n autoUpdate,\n flip,\n limitShift,\n platform,\n shift,\n useFloating,\n} from \"@floating-ui/react\";\nimport {\n type ComponentPropsWithoutRef,\n type ReactNode,\n createContext,\n forwardRef,\n useContext,\n useMemo,\n} from \"react\";\nimport { SaltProvider, SaltProviderNext, useTheme } from \"../../salt-provider\";\n\nexport interface FloatingComponentProps\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Whether the floating component is open (used for determining whether to show the component)\n * We pass this as a prop rather than not rendering the component to allow more advanced use-cases e.g.\n * for caching windows and reusing them, rather than always spawning a new one\n */\n open: boolean;\n /**\n * Use this prop when `FloatingFocusManager` is needed for floating component\n */\n focusManagerProps?: Omit<FloatingFocusManagerProps, \"children\">;\n /**\n * Position and sizing optional props for the floating component. `top`, `left`, and `position` for floating elements where they aren't positioned with relative to the trigger.\n * `width` and `height` are used to define the size of the floating element.\n *\n */\n top?: number;\n left?: number;\n width?: number;\n height?: number;\n position?: Strategy;\n}\n\nconst DefaultFloatingComponent = forwardRef<\n HTMLDivElement,\n FloatingComponentProps\n>(function DefaultFloatingComponent(props, ref) {\n const {\n open,\n top,\n left,\n position,\n width,\n height,\n focusManagerProps,\n ...rest\n } = props;\n const style = {\n top,\n left,\n position,\n };\n\n const { themeNext } = useTheme();\n\n const ChosenSaltProvider = themeNext ? SaltProviderNext : SaltProvider;\n\n if (focusManagerProps && open) {\n return (\n <FloatingPortal>\n <ChosenSaltProvider>\n <FloatingFocusManager {...focusManagerProps}>\n <div style={style} {...rest} ref={ref} />\n </FloatingFocusManager>\n </ChosenSaltProvider>\n </FloatingPortal>\n );\n }\n\n return open ? (\n <FloatingPortal>\n <ChosenSaltProvider>\n <div style={style} {...rest} ref={ref} />\n </ChosenSaltProvider>\n </FloatingPortal>\n ) : null;\n});\n\nexport interface FloatingComponentContextType {\n Component: typeof DefaultFloatingComponent;\n}\n\nconst FloatingComponentContext = createContext<FloatingComponentContextType>({\n Component: DefaultFloatingComponent,\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n FloatingComponentContext.displayName = \"FloatingComponentContext\";\n}\n\nexport interface FloatingComponentProviderProps\n extends FloatingComponentContextType {\n children: ReactNode;\n}\n\nexport function FloatingComponentProvider(\n props: FloatingComponentProviderProps,\n) {\n const { Component, children } = props;\n const value = useMemo(() => ({ Component }), [Component]);\n\n return (\n <FloatingComponentContext.Provider value={value}>\n {children}\n </FloatingComponentContext.Provider>\n );\n}\n\nexport function useFloatingComponent() {\n return useContext(FloatingComponentContext);\n}\n\nexport interface UseFloatingUIProps\n extends Pick<\n UseFloatingOptions,\n \"placement\" | \"strategy\" | \"open\" | \"onOpenChange\" | \"nodeId\"\n > {\n /**\n * Function to update the default middleware used to extend or replace it\n */\n middleware?: Middleware[];\n}\n\ntype GetMiddleware = (middleware: Middleware[]) => Middleware[];\n\nconst defaultGetMiddleware: GetMiddleware = (defaultMiddleware) =>\n defaultMiddleware;\n\ninterface FloatingPlatformContextType {\n platform: Platform;\n middleware: GetMiddleware;\n animationFrame: boolean;\n}\n\nconst defaultFloatingPlaform: FloatingPlatformContextType = {\n platform,\n middleware: defaultGetMiddleware,\n animationFrame: false,\n};\n\nconst FloatingPlatformContext = createContext<FloatingPlatformContextType>(\n defaultFloatingPlaform,\n);\n\nexport interface FloatingPlatformProviderProps {\n platform?: Platform;\n middleware?: GetMiddleware;\n children: ReactNode;\n animationFrame?: boolean;\n}\n\nexport function FloatingPlatformProvider(props: FloatingPlatformProviderProps) {\n const {\n platform: platformProp,\n middleware,\n animationFrame,\n children,\n } = props;\n\n const floatingPlatformContextValue = useMemo<FloatingPlatformContextType>(\n () => ({\n platform: platformProp ?? platform,\n middleware: middleware ?? defaultGetMiddleware,\n animationFrame: animationFrame || false,\n }),\n [platformProp, middleware, animationFrame],\n );\n\n return (\n <FloatingPlatformContext.Provider value={floatingPlatformContextValue}>\n {children}\n </FloatingPlatformContext.Provider>\n );\n}\n\nexport function useFloatingPlatform() {\n return useContext(FloatingPlatformContext);\n}\n\nexport const DEFAULT_FLOATING_UI_MIDDLEWARE = [\n flip(),\n shift({ limiter: limitShift() }),\n];\n\ntype UseFloatingRefs = ReturnType<typeof useFloating>[\"refs\"];\n\nexport interface UseFloatingUIReturn extends ReturnType<typeof useFloating> {\n reference: UseFloatingRefs[\"setReference\"];\n floating: UseFloatingRefs[\"setFloating\"];\n}\n\nexport function useFloatingUI(props: UseFloatingUIProps): UseFloatingUIReturn {\n const {\n middleware = DEFAULT_FLOATING_UI_MIDDLEWARE,\n open = false,\n onOpenChange,\n ...other\n } = props;\n\n const handleOpenChange: UseFloatingUIProps[\"onOpenChange\"] = (\n open,\n boolean,\n reason,\n ) => {\n update();\n onOpenChange?.(open, boolean, reason);\n };\n\n const {\n platform: contextPlatform,\n middleware: contextMiddleware,\n animationFrame,\n } = useFloatingPlatform();\n\n const { refs, update, ...rest } = useFloating({\n ...other,\n middleware: contextMiddleware(middleware),\n open,\n onOpenChange: handleOpenChange,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, { animationFrame });\n\n return cleanup;\n },\n platform: contextPlatform,\n });\n\n return {\n reference: refs.setReference,\n floating: refs.setFloating,\n refs,\n update,\n ...rest,\n };\n}\n"],"names":["forwardRef","DefaultFloatingComponent","useTheme","SaltProviderNext","SaltProvider","jsx","FloatingPortal","FloatingFocusManager","createContext","useMemo","useContext","platform","flip","shift","limitShift","open","useFloating","autoUpdate"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useForkRef.js","sources":["../src/utils/useForkRef.ts"],"sourcesContent":["import { Ref, useMemo } from \"react\";\nimport { setRef } from \"./setRef\";\n\nexport function useForkRef<Instance>(\n refA: Ref<Instance> | null | undefined,\n refB: Ref<Instance> | null | undefined\n): Ref<Instance> | null {\n /**\n * This will create a new function if the ref props change and are defined.\n * This means React will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior\n */\n return useMemo(() => {\n if (refA == null && refB == null) {\n return () => null;\n }\n return (refValue) => {\n setRef(refA, refValue);\n setRef(refB, refValue);\n };\n }, [refA, refB]);\n}\n"],"names":["useMemo","setRef"],"mappings":";;;;;;;AAGgB,SAAA,UAAA,CACd,MACA,IACsB,EAAA;AAMtB,EAAA,OAAOA,cAAQ,MAAM;AACnB,IAAI,IAAA,IAAA,IAAQ,IAAQ,IAAA,IAAA,IAAQ,IAAM,EAAA;AAChC,MAAA,OAAO,MAAM,IAAA,CAAA;AAAA,KACf;AACA,IAAA,OAAO,CAAC,QAAa,KAAA;AACnB,MAAAC,aAAA,CAAO,MAAM,QAAQ,CAAA,CAAA;AACrB,MAAAA,aAAA,CAAO,MAAM,QAAQ,CAAA,CAAA;AAAA,KACvB,CAAA;AAAA,GACC,EAAA,CAAC,IAAM,EAAA,IAAI,CAAC,CAAA,CAAA;AACjB;;;;"}
1
+ {"version":3,"file":"useForkRef.js","sources":["../src/utils/useForkRef.ts"],"sourcesContent":["import { type Ref, useMemo } from \"react\";\nimport { setRef } from \"./setRef\";\n\nexport function useForkRef<Instance>(\n refA: Ref<Instance> | null | undefined,\n refB: Ref<Instance> | null | undefined,\n): Ref<Instance> | null {\n /**\n * This will create a new function if the ref props change and are defined.\n * This means React will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior\n */\n return useMemo(() => {\n if (refA == null && refB == null) {\n return () => null;\n }\n return (refValue) => {\n setRef(refA, refValue);\n setRef(refB, refValue);\n };\n }, [refA, refB]);\n}\n"],"names":["useMemo","setRef"],"mappings":";;;;;;;AAGgB,SAAA,UAAA,CACd,MACA,IACsB,EAAA;AAMtB,EAAA,OAAOA,cAAQ,MAAM;AACnB,IAAI,IAAA,IAAA,IAAQ,IAAQ,IAAA,IAAA,IAAQ,IAAM,EAAA;AAChC,MAAA,OAAO,MAAM,IAAA,CAAA;AAAA,KACf;AACA,IAAA,OAAO,CAAC,QAAa,KAAA;AACnB,MAAAC,aAAA,CAAO,MAAM,QAAQ,CAAA,CAAA;AACrB,MAAAA,aAAA,CAAO,MAAM,QAAQ,CAAA,CAAA;AAAA,KACvB,CAAA;AAAA,GACC,EAAA,CAAC,IAAM,EAAA,IAAI,CAAC,CAAA,CAAA;AACjB;;;;"}
@@ -44,10 +44,9 @@ function useId(idOverride) {
44
44
  return useIdLegacy(idOverride);
45
45
  }
46
46
  function useIdMemo(idOverride) {
47
- const id = React__namespace.useMemo(() => {
47
+ return React__namespace.useMemo(() => {
48
48
  return idOverride != null ? idOverride : `salt-${++globalId}`;
49
49
  }, [idOverride]);
50
- return id;
51
50
  }
52
51
 
53
52
  exports.useId = useId;
@@ -1 +1 @@
1
- {"version":3,"file":"useId.js","sources":["../src/utils/useId.ts"],"sourcesContent":["import * as React from \"react\";\n\n// Workaround for https://github.com/webpack/webpack/issues/14814#issuecomment-1536757985\n// Without `toString()`, downstream library using webpack to re-bundle will error\n// eslint-disable-next-line\nconst maybeReactUseId: undefined | (() => string) = (React as any)[\n \"useId\".toString()\n];\n\nlet globalId = BigInt(0);\nfunction useIdLegacy(idOverride?: string): string | undefined {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n setDefaultId(`salt-${++globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\nexport function useId(idOverride?: string): string | undefined {\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? reactId;\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useIdLegacy(idOverride);\n}\n\n// Note: Some usages require that an id is returned on first call, not only post-first-render\n// (as with the useEffect solution). This can go away once we totally move to React 18\nexport function useIdMemo(idOverride?: string): string {\n const id = React.useMemo(() => {\n return idOverride ?? `salt-${++globalId}`;\n }, [idOverride]);\n return id;\n}\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM,eAAA,GAA+CA,gBACnD,CAAA,OAAA,CAAQ,QAAS,EAAA,CAAA,CAAA;AAGnB,IAAI,QAAA,GAAW,OAAO,CAAC,CAAA,CAAA;AACvB,SAAS,YAAY,UAAyC,EAAA;AAC5D,EAAA,MAAM,CAAC,SAAW,EAAA,YAAY,CAAI,GAAAA,gBAAA,CAAM,SAAS,UAAU,CAAA,CAAA;AAC3D,EAAA,MAAM,KAAK,UAAc,IAAA,SAAA,CAAA;AACzB,EAAAA,gBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,aAAa,IAAM,EAAA;AACrB,MAAa,YAAA,CAAA,CAAA,KAAA,EAAQ,EAAE,QAAU,CAAA,CAAA,CAAA,CAAA;AAAA,KACnC;AAAA,GACF,EAAG,CAAC,SAAS,CAAC,CAAA,CAAA;AACd,EAAO,OAAA,EAAA,CAAA;AACT,CAAA;AAEO,SAAS,MAAM,UAAyC,EAAA;AAC7D,EAAA,IAAI,oBAAoB,KAAW,CAAA,EAAA;AACjC,IAAA,MAAM,UAAU,eAAgB,EAAA,CAAA;AAChC,IAAA,OAAO,UAAc,IAAA,IAAA,GAAA,UAAA,GAAA,OAAA,CAAA;AAAA,GACvB;AAEA,EAAA,OAAO,YAAY,UAAU,CAAA,CAAA;AAC/B,CAAA;AAIO,SAAS,UAAU,UAA6B,EAAA;AACrD,EAAM,MAAA,EAAA,GAAKA,gBAAM,CAAA,OAAA,CAAQ,MAAM;AAC7B,IAAO,OAAA,UAAA,IAAA,IAAA,GAAA,UAAA,GAAc,QAAQ,EAAE,QAAA,CAAA,CAAA,CAAA;AAAA,GACjC,EAAG,CAAC,UAAU,CAAC,CAAA,CAAA;AACf,EAAO,OAAA,EAAA,CAAA;AACT;;;;;"}
1
+ {"version":3,"file":"useId.js","sources":["../src/utils/useId.ts"],"sourcesContent":["import * as React from \"react\";\n\n// Workaround for https://github.com/webpack/webpack/issues/14814#issuecomment-1536757985\n// Without `toString()`, downstream library using webpack to re-bundle will error\nconst maybeReactUseId: undefined | (() => string) = (React as any)[\n \"useId\".toString()\n];\n\nlet globalId = BigInt(0);\nfunction useIdLegacy(idOverride?: string): string | undefined {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n setDefaultId(`salt-${++globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\nexport function useId(idOverride?: string): string | undefined {\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? reactId;\n }\n // `React.useId` is invariant at runtime.\n return useIdLegacy(idOverride);\n}\n\n// Note: Some usages require that an id is returned on first call, not only post-first-render\n// (as with the useEffect solution). This can go away once we totally move to React 18\nexport function useIdMemo(idOverride?: string): string {\n return React.useMemo(() => {\n return idOverride ?? `salt-${++globalId}`;\n }, [idOverride]);\n}\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM,eAAA,GAA+CA,gBACnD,CAAA,OAAA,CAAQ,QAAS,EAAA,CAAA,CAAA;AAGnB,IAAI,QAAA,GAAW,OAAO,CAAC,CAAA,CAAA;AACvB,SAAS,YAAY,UAAyC,EAAA;AAC5D,EAAA,MAAM,CAAC,SAAW,EAAA,YAAY,CAAI,GAAAA,gBAAA,CAAM,SAAS,UAAU,CAAA,CAAA;AAC3D,EAAA,MAAM,KAAK,UAAc,IAAA,SAAA,CAAA;AACzB,EAAAA,gBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,aAAa,IAAM,EAAA;AACrB,MAAa,YAAA,CAAA,CAAA,KAAA,EAAQ,EAAE,QAAU,CAAA,CAAA,CAAA,CAAA;AAAA,KACnC;AAAA,GACF,EAAG,CAAC,SAAS,CAAC,CAAA,CAAA;AACd,EAAO,OAAA,EAAA,CAAA;AACT,CAAA;AAEO,SAAS,MAAM,UAAyC,EAAA;AAC7D,EAAA,IAAI,oBAAoB,KAAW,CAAA,EAAA;AACjC,IAAA,MAAM,UAAU,eAAgB,EAAA,CAAA;AAChC,IAAA,OAAO,UAAc,IAAA,IAAA,GAAA,UAAA,GAAA,OAAA,CAAA;AAAA,GACvB;AAEA,EAAA,OAAO,YAAY,UAAU,CAAA,CAAA;AAC/B,CAAA;AAIO,SAAS,UAAU,UAA6B,EAAA;AACrD,EAAO,OAAAA,gBAAA,CAAM,QAAQ,MAAM;AACzB,IAAO,OAAA,UAAA,IAAA,IAAA,GAAA,UAAA,GAAc,QAAQ,EAAE,QAAA,CAAA,CAAA,CAAA;AAAA,GACjC,EAAG,CAAC,UAAU,CAAC,CAAA,CAAA;AACjB;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsFocusVisible.js","sources":["../src/utils/useIsFocusVisible.ts"],"sourcesContent":["// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport { useCallback, useRef, FocusEvent, MutableRefObject, Ref } from \"react\";\n\nlet hadKeyboardEvent = true;\nlet hadFocusVisibleRecently = false;\nlet hadFocusVisibleRecentlyTimeout: number;\n\nconst inputTypesWhitelist: Record<string, boolean> = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n \"datetime-local\": true,\n};\n\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @returns {boolean}\n */\nfunction focusTriggersKeyboardModality(node: HTMLElement) {\n if (\n node.tagName === \"INPUT\" &&\n inputTypesWhitelist[(node as HTMLInputElement).type] &&\n !(node as HTMLInputElement).readOnly\n ) {\n return true;\n }\n\n if (node.tagName === \"TEXTAREA\" && !(node as HTMLInputElement).readOnly) {\n return true;\n }\n\n return node.isContentEditable;\n}\n\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\nfunction handleKeyDown(event: KeyboardEvent) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\n\nfunction handleVisibilityChange(this: Document) {\n if (this.visibilityState === \"hidden\") {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\n\nfunction prepare(doc: Document) {\n doc.addEventListener(\"keydown\", handleKeyDown, true);\n doc.addEventListener(\"mousedown\", handlePointerDown, true);\n doc.addEventListener(\"pointerdown\", handlePointerDown, true);\n doc.addEventListener(\"touchstart\", handlePointerDown, true);\n doc.addEventListener(\"visibilitychange\", handleVisibilityChange, true);\n}\n\nexport function teardown(doc: Document): void {\n doc.removeEventListener(\"keydown\", handleKeyDown, true);\n doc.removeEventListener(\"mousedown\", handlePointerDown, true);\n doc.removeEventListener(\"pointerdown\", handlePointerDown, true);\n doc.removeEventListener(\"touchstart\", handlePointerDown, true);\n doc.removeEventListener(\"visibilitychange\", handleVisibilityChange, true);\n}\n\nfunction isFocusVisible(event: FocusEvent<HTMLElement>) {\n const { target } = event;\n try {\n return target.matches(\":focus-visible\");\n } catch (error) {\n // Browsers not implementing :focus-visible will throw a SyntaxError.\n // We use our own heuristic for those browsers.\n // Rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n }\n\n // No need for validFocusTarget check. The user does that by attaching it to\n // focused events only.\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\n\nexport function useIsFocusVisible<T extends HTMLElement = HTMLElement>(): {\n isFocusVisibleRef: MutableRefObject<boolean>;\n onBlur: () => void;\n onFocus: (event: FocusEvent<T>) => void;\n ref: Ref<T>;\n} {\n const ref = useCallback((node: T | null) => {\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n\n const isFocusVisibleRef = useRef(false);\n\n /**\n * Should be called if a blur event is fired\n */\n function handleBlurVisible() {\n // checking against potential state variable does not suffice if we focus and blur synchronously.\n // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.\n // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.\n // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751\n // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).\n if (isFocusVisibleRef.current) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(() => {\n hadFocusVisibleRecently = false;\n }, 100);\n\n isFocusVisibleRef.current = false;\n\n return true;\n }\n\n return false;\n }\n\n /**\n * Should be called if a blur event is fired\n */\n function handleFocusVisible(event: FocusEvent<HTMLElement>) {\n if (isFocusVisible(event)) {\n isFocusVisibleRef.current = true;\n return true;\n }\n return false;\n }\n\n return {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref,\n };\n}\n"],"names":["useCallback","useRef"],"mappings":";;;;;;AAGA,IAAI,gBAAmB,GAAA,IAAA,CAAA;AACvB,IAAI,uBAA0B,GAAA,KAAA,CAAA;AAC9B,IAAI,8BAAA,CAAA;AAEJ,MAAM,mBAA+C,GAAA;AAAA,EACnD,IAAM,EAAA,IAAA;AAAA,EACN,MAAQ,EAAA,IAAA;AAAA,EACR,GAAK,EAAA,IAAA;AAAA,EACL,GAAK,EAAA,IAAA;AAAA,EACL,KAAO,EAAA,IAAA;AAAA,EACP,QAAU,EAAA,IAAA;AAAA,EACV,MAAQ,EAAA,IAAA;AAAA,EACR,IAAM,EAAA,IAAA;AAAA,EACN,KAAO,EAAA,IAAA;AAAA,EACP,IAAM,EAAA,IAAA;AAAA,EACN,IAAM,EAAA,IAAA;AAAA,EACN,QAAU,EAAA,IAAA;AAAA,EACV,gBAAkB,EAAA,IAAA;AACpB,CAAA,CAAA;AASA,SAAS,8BAA8B,IAAmB,EAAA;AACxD,EACE,IAAA,IAAA,CAAK,YAAY,OACjB,IAAA,mBAAA,CAAqB,KAA0B,IAC/C,CAAA,IAAA,CAAE,KAA0B,QAC5B,EAAA;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,IAAI,IAAK,CAAA,OAAA,KAAY,UAAc,IAAA,CAAE,KAA0B,QAAU,EAAA;AACvE,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,OAAO,IAAK,CAAA,iBAAA,CAAA;AACd,CAAA;AASA,SAAS,cAAc,KAAsB,EAAA;AAC3C,EAAA,IAAI,KAAM,CAAA,OAAA,IAAW,KAAM,CAAA,MAAA,IAAU,MAAM,OAAS,EAAA;AAClD,IAAA,OAAA;AAAA,GACF;AACA,EAAmB,gBAAA,GAAA,IAAA,CAAA;AACrB,CAAA;AASA,SAAS,iBAAoB,GAAA;AAC3B,EAAmB,gBAAA,GAAA,KAAA,CAAA;AACrB,CAAA;AAEA,SAAS,sBAAuC,GAAA;AAC9C,EAAI,IAAA,IAAA,CAAK,oBAAoB,QAAU,EAAA;AAKrC,IAAA,IAAI,uBAAyB,EAAA;AAC3B,MAAmB,gBAAA,GAAA,IAAA,CAAA;AAAA,KACrB;AAAA,GACF;AACF,CAAA;AAEA,SAAS,QAAQ,GAAe,EAAA;AAC9B,EAAI,GAAA,CAAA,gBAAA,CAAiB,SAAW,EAAA,aAAA,EAAe,IAAI,CAAA,CAAA;AACnD,EAAI,GAAA,CAAA,gBAAA,CAAiB,WAAa,EAAA,iBAAA,EAAmB,IAAI,CAAA,CAAA;AACzD,EAAI,GAAA,CAAA,gBAAA,CAAiB,aAAe,EAAA,iBAAA,EAAmB,IAAI,CAAA,CAAA;AAC3D,EAAI,GAAA,CAAA,gBAAA,CAAiB,YAAc,EAAA,iBAAA,EAAmB,IAAI,CAAA,CAAA;AAC1D,EAAI,GAAA,CAAA,gBAAA,CAAiB,kBAAoB,EAAA,sBAAA,EAAwB,IAAI,CAAA,CAAA;AACvE,CAAA;AAEO,SAAS,SAAS,GAAqB,EAAA;AAC5C,EAAI,GAAA,CAAA,mBAAA,CAAoB,SAAW,EAAA,aAAA,EAAe,IAAI,CAAA,CAAA;AACtD,EAAI,GAAA,CAAA,mBAAA,CAAoB,WAAa,EAAA,iBAAA,EAAmB,IAAI,CAAA,CAAA;AAC5D,EAAI,GAAA,CAAA,mBAAA,CAAoB,aAAe,EAAA,iBAAA,EAAmB,IAAI,CAAA,CAAA;AAC9D,EAAI,GAAA,CAAA,mBAAA,CAAoB,YAAc,EAAA,iBAAA,EAAmB,IAAI,CAAA,CAAA;AAC7D,EAAI,GAAA,CAAA,mBAAA,CAAoB,kBAAoB,EAAA,sBAAA,EAAwB,IAAI,CAAA,CAAA;AAC1E,CAAA;AAEA,SAAS,eAAe,KAAgC,EAAA;AACtD,EAAM,MAAA,EAAE,QAAW,GAAA,KAAA,CAAA;AACnB,EAAI,IAAA;AACF,IAAO,OAAA,MAAA,CAAO,QAAQ,gBAAgB,CAAA,CAAA;AAAA,WAC/B,KAAP,EAAA;AAAA,GAKF;AAIA,EAAO,OAAA,gBAAA,IAAoB,8BAA8B,MAAM,CAAA,CAAA;AACjE,CAAA;AAEO,SAAS,iBAKd,GAAA;AACA,EAAM,MAAA,GAAA,GAAMA,iBAAY,CAAA,CAAC,IAAmB,KAAA;AAC1C,IAAA,IAAI,QAAQ,IAAM,EAAA;AAChB,MAAA,OAAA,CAAQ,KAAK,aAAa,CAAA,CAAA;AAAA,KAC5B;AAAA,GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAM,MAAA,iBAAA,GAAoBC,aAAO,KAAK,CAAA,CAAA;AAKtC,EAAA,SAAS,iBAAoB,GAAA;AAM3B,IAAA,IAAI,kBAAkB,OAAS,EAAA;AAK7B,MAA0B,uBAAA,GAAA,IAAA,CAAA;AAC1B,MAAA,MAAA,CAAO,aAAa,8BAA8B,CAAA,CAAA;AAClD,MAAiC,8BAAA,GAAA,MAAA,CAAO,WAAW,MAAM;AACvD,QAA0B,uBAAA,GAAA,KAAA,CAAA;AAAA,SACzB,GAAG,CAAA,CAAA;AAEN,MAAA,iBAAA,CAAkB,OAAU,GAAA,KAAA,CAAA;AAE5B,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAEA,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AAKA,EAAA,SAAS,mBAAmB,KAAgC,EAAA;AAC1D,IAAI,IAAA,cAAA,CAAe,KAAK,CAAG,EAAA;AACzB,MAAA,iBAAA,CAAkB,OAAU,GAAA,IAAA,CAAA;AAC5B,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AACA,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AAEA,EAAO,OAAA;AAAA,IACL,iBAAA;AAAA,IACA,OAAS,EAAA,kBAAA;AAAA,IACT,MAAQ,EAAA,iBAAA;AAAA,IACR,GAAA;AAAA,GACF,CAAA;AACF;;;;;"}
1
+ {"version":3,"file":"useIsFocusVisible.js","sources":["../src/utils/useIsFocusVisible.ts"],"sourcesContent":["// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport {\n type FocusEvent,\n type MutableRefObject,\n type Ref,\n useCallback,\n useRef,\n} from \"react\";\n\nlet hadKeyboardEvent = true;\nlet hadFocusVisibleRecently = false;\nlet hadFocusVisibleRecentlyTimeout: number;\n\nconst inputTypesWhitelist: Record<string, boolean> = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n \"datetime-local\": true,\n};\n\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @returns {boolean}\n */\nfunction focusTriggersKeyboardModality(node: HTMLElement) {\n if (\n node.tagName === \"INPUT\" &&\n inputTypesWhitelist[(node as HTMLInputElement).type] &&\n !(node as HTMLInputElement).readOnly\n ) {\n return true;\n }\n\n if (node.tagName === \"TEXTAREA\" && !(node as HTMLInputElement).readOnly) {\n return true;\n }\n\n return node.isContentEditable;\n}\n\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\nfunction handleKeyDown(event: KeyboardEvent) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\n\nfunction handleVisibilityChange(this: Document) {\n if (this.visibilityState === \"hidden\") {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\n\nfunction prepare(doc: Document) {\n doc.addEventListener(\"keydown\", handleKeyDown, true);\n doc.addEventListener(\"mousedown\", handlePointerDown, true);\n doc.addEventListener(\"pointerdown\", handlePointerDown, true);\n doc.addEventListener(\"touchstart\", handlePointerDown, true);\n doc.addEventListener(\"visibilitychange\", handleVisibilityChange, true);\n}\n\nexport function teardown(doc: Document): void {\n doc.removeEventListener(\"keydown\", handleKeyDown, true);\n doc.removeEventListener(\"mousedown\", handlePointerDown, true);\n doc.removeEventListener(\"pointerdown\", handlePointerDown, true);\n doc.removeEventListener(\"touchstart\", handlePointerDown, true);\n doc.removeEventListener(\"visibilitychange\", handleVisibilityChange, true);\n}\n\nfunction isFocusVisible(event: FocusEvent<HTMLElement>) {\n const { target } = event;\n try {\n return target.matches(\":focus-visible\");\n } catch (error) {\n // Browsers not implementing :focus-visible will throw a SyntaxError.\n // We use our own heuristic for those browsers.\n // Rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n }\n\n // No need for validFocusTarget check. The user does that by attaching it to\n // focused events only.\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\n\nexport function useIsFocusVisible<T extends HTMLElement = HTMLElement>(): {\n isFocusVisibleRef: MutableRefObject<boolean>;\n onBlur: () => void;\n onFocus: (event: FocusEvent<T>) => void;\n ref: Ref<T>;\n} {\n const ref = useCallback((node: T | null) => {\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n\n const isFocusVisibleRef = useRef(false);\n\n /**\n * Should be called if a blur event is fired\n */\n function handleBlurVisible() {\n // checking against potential state variable does not suffice if we focus and blur synchronously.\n // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.\n // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.\n // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751\n // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).\n if (isFocusVisibleRef.current) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(() => {\n hadFocusVisibleRecently = false;\n }, 100);\n\n isFocusVisibleRef.current = false;\n\n return true;\n }\n\n return false;\n }\n\n /**\n * Should be called if a blur event is fired\n */\n function handleFocusVisible(event: FocusEvent<HTMLElement>) {\n if (isFocusVisible(event)) {\n isFocusVisibleRef.current = true;\n return true;\n }\n return false;\n }\n\n return {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref,\n };\n}\n"],"names":["useCallback","useRef"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsomorphicLayoutEffect.js","sources":["../src/utils/useIsomorphicLayoutEffect.ts"],"sourcesContent":["import { useLayoutEffect, useEffect } from \"react\";\n\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect because we want\n// `connect` to perform sync updates to a ref to save the latest props after\n// a render is actually committed to the DOM.\nexport const useIsomorphicLayoutEffect =\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\"\n ? useLayoutEffect\n : useEffect;\n"],"names":["useLayoutEffect","useEffect"],"mappings":";;;;;;AAOO,MAAM,yBACX,GAAA,OAAO,MAAW,KAAA,WAAA,IAClB,OAAO,MAAA,CAAO,QAAa,KAAA,WAAA,IAC3B,OAAO,MAAA,CAAO,QAAS,CAAA,aAAA,KAAkB,cACrCA,qBACA,GAAAC;;;;"}
1
+ {"version":3,"file":"useIsomorphicLayoutEffect.js","sources":["../src/utils/useIsomorphicLayoutEffect.ts"],"sourcesContent":["import { useEffect, useLayoutEffect } from \"react\";\n\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect because we want\n// `connect` to perform sync updates to a ref to save the latest props after\n// a render is actually committed to the DOM.\nexport const useIsomorphicLayoutEffect =\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\"\n ? useLayoutEffect\n : useEffect;\n"],"names":["useLayoutEffect","useEffect"],"mappings":";;;;;;AAOO,MAAM,yBACX,GAAA,OAAO,MAAW,KAAA,WAAA,IAClB,OAAO,MAAA,CAAO,QAAa,KAAA,WAAA,IAC3B,OAAO,MAAA,CAAO,QAAS,CAAA,aAAA,KAAkB,cACrCA,qBACA,GAAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePrevious.js","sources":["../src/utils/usePrevious.ts"],"sourcesContent":["import { useRef, useEffect, DependencyList } from \"react\";\n\nexport function usePrevious<T>(\n value: T,\n deps: DependencyList = [],\n initialValue?: T\n): T | undefined {\n const ref = useRef<T | undefined>(initialValue);\n\n useEffect(() => {\n ref.current = value;\n }, deps); // eslint-disable-line react-hooks/exhaustive-deps\n return ref.current;\n}\n"],"names":["useRef","useEffect"],"mappings":";;;;;;AAEO,SAAS,WACd,CAAA,KAAA,EACA,IAAuB,GAAA,IACvB,YACe,EAAA;AACf,EAAM,MAAA,GAAA,GAAMA,aAAsB,YAAY,CAAA,CAAA;AAE9C,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,GAAA,CAAI,OAAU,GAAA,KAAA,CAAA;AAAA,KACb,IAAI,CAAA,CAAA;AACP,EAAA,OAAO,GAAI,CAAA,OAAA,CAAA;AACb;;;;"}
1
+ {"version":3,"file":"usePrevious.js","sources":["../src/utils/usePrevious.ts"],"sourcesContent":["import { type DependencyList, useEffect, useRef } from \"react\";\n\nexport function usePrevious<T>(\n value: T,\n deps: DependencyList = [],\n initialValue?: T,\n): T | undefined {\n const ref = useRef<T | undefined>(initialValue);\n\n useEffect(() => {\n ref.current = value;\n }, deps);\n return ref.current;\n}\n"],"names":["useRef","useEffect"],"mappings":";;;;;;AAEO,SAAS,WACd,CAAA,KAAA,EACA,IAAuB,GAAA,IACvB,YACe,EAAA;AACf,EAAM,MAAA,GAAA,GAAMA,aAAsB,YAAY,CAAA,CAAA;AAE9C,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,GAAA,CAAI,OAAU,GAAA,KAAA,CAAA;AAAA,KACb,IAAI,CAAA,CAAA;AACP,EAAA,OAAO,GAAI,CAAA,OAAA,CAAA;AACb;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useResizeObserver.js","sources":["../src/utils/useResizeObserver.ts"],"sourcesContent":["import { useEffect, RefObject } from \"react\";\nimport { ownerWindow } from \"./ownerWindow\";\n\nexport interface UseResizeObserverProps {\n ref: RefObject<HTMLElement>;\n onResize: () => void;\n}\n\nexport function useResizeObserver({ ref, onResize }: UseResizeObserverProps) {\n useEffect(() => {\n const element = ref?.current;\n if (!element) return;\n\n const win = ownerWindow(element);\n\n const resizeObserver = new win.ResizeObserver((entries) => {\n if (entries.length === 0) return;\n\n onResize();\n });\n resizeObserver.observe(element);\n\n return () => {\n if (element) {\n resizeObserver.unobserve(element);\n }\n };\n }, [ref, onResize]);\n}\n"],"names":["useEffect","ownerWindow"],"mappings":";;;;;;;AAQO,SAAS,iBAAkB,CAAA,EAAE,GAAK,EAAA,QAAA,EAAoC,EAAA;AAC3E,EAAAA,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,UAAU,GAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,OAAA,CAAA;AACrB,IAAA,IAAI,CAAC,OAAA;AAAS,MAAA,OAAA;AAEd,IAAM,MAAA,GAAA,GAAMC,wBAAY,OAAO,CAAA,CAAA;AAE/B,IAAA,MAAM,cAAiB,GAAA,IAAI,GAAI,CAAA,cAAA,CAAe,CAAC,OAAY,KAAA;AACzD,MAAA,IAAI,QAAQ,MAAW,KAAA,CAAA;AAAG,QAAA,OAAA;AAE1B,MAAS,QAAA,EAAA,CAAA;AAAA,KACV,CAAA,CAAA;AACD,IAAA,cAAA,CAAe,QAAQ,OAAO,CAAA,CAAA;AAE9B,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,OAAS,EAAA;AACX,QAAA,cAAA,CAAe,UAAU,OAAO,CAAA,CAAA;AAAA,OAClC;AAAA,KACF,CAAA;AAAA,GACC,EAAA,CAAC,GAAK,EAAA,QAAQ,CAAC,CAAA,CAAA;AACpB;;;;"}
1
+ {"version":3,"file":"useResizeObserver.js","sources":["../src/utils/useResizeObserver.ts"],"sourcesContent":["import { type RefObject, useEffect } from \"react\";\nimport { ownerWindow } from \"./ownerWindow\";\n\nexport interface UseResizeObserverProps {\n ref: RefObject<HTMLElement>;\n onResize: () => void;\n}\n\nexport function useResizeObserver({ ref, onResize }: UseResizeObserverProps) {\n useEffect(() => {\n const element = ref?.current;\n if (!element) return;\n\n const win = ownerWindow(element);\n\n const resizeObserver = new win.ResizeObserver((entries) => {\n if (entries.length === 0) return;\n\n onResize();\n });\n resizeObserver.observe(element);\n\n return () => {\n if (element) {\n resizeObserver.unobserve(element);\n }\n };\n }, [ref, onResize]);\n}\n"],"names":["useEffect","ownerWindow"],"mappings":";;;;;;;AAQO,SAAS,iBAAkB,CAAA,EAAE,GAAK,EAAA,QAAA,EAAoC,EAAA;AAC3E,EAAAA,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,UAAU,GAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,OAAA,CAAA;AACrB,IAAA,IAAI,CAAC,OAAA;AAAS,MAAA,OAAA;AAEd,IAAM,MAAA,GAAA,GAAMC,wBAAY,OAAO,CAAA,CAAA;AAE/B,IAAA,MAAM,cAAiB,GAAA,IAAI,GAAI,CAAA,cAAA,CAAe,CAAC,OAAY,KAAA;AACzD,MAAA,IAAI,QAAQ,MAAW,KAAA,CAAA;AAAG,QAAA,OAAA;AAE1B,MAAS,QAAA,EAAA,CAAA;AAAA,KACV,CAAA,CAAA;AACD,IAAA,cAAA,CAAe,QAAQ,OAAO,CAAA,CAAA;AAE9B,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,OAAS,EAAA;AACX,QAAA,cAAA,CAAe,UAAU,OAAO,CAAA,CAAA;AAAA,OAClC;AAAA,KACF,CAAA;AAAA,GACC,EAAA,CAAC,GAAK,EAAA,QAAQ,CAAC,CAAA,CAAA;AACpB;;;;"}
@@ -9,14 +9,17 @@ const getCurrentBreakpoint = (breakpoints, width) => {
9
9
  const breakpointList = Object.entries(breakpoints).sort(
10
10
  ([, a], [, b]) => a - b
11
11
  );
12
- const [currentBreakpoint] = breakpointList.reduce((acc, val) => {
13
- const [, accWidth] = acc;
14
- const [breakpoint, breakpointWidth] = val;
15
- if (breakpointWidth < width && breakpointWidth > accWidth) {
16
- return [breakpoint, breakpointWidth];
17
- }
18
- return [...acc];
19
- }, breakpointList[0]);
12
+ const [currentBreakpoint] = breakpointList.reduce(
13
+ (acc, val) => {
14
+ const [, accWidth] = acc;
15
+ const [breakpoint, breakpointWidth] = val;
16
+ if (breakpointWidth < width && breakpointWidth > accWidth) {
17
+ return [breakpoint, breakpointWidth];
18
+ }
19
+ return acc;
20
+ },
21
+ breakpointList[0]
22
+ );
20
23
  return currentBreakpoint;
21
24
  };
22
25
  const useCurrentBreakpoint = () => {