@salt-ds/core 1.37.1 → 1.37.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (670) hide show
  1. package/CHANGELOG.md +1760 -0
  2. package/css/salt-core.css +76 -37
  3. package/dist-cjs/accordion/Accordion.js +31 -123
  4. package/dist-cjs/accordion/Accordion.js.map +1 -1
  5. package/dist-cjs/accordion/AccordionContext.js +0 -101
  6. package/dist-cjs/accordion/AccordionContext.js.map +1 -1
  7. package/dist-cjs/accordion/AccordionGroup.js +1 -103
  8. package/dist-cjs/accordion/AccordionGroup.js.map +1 -1
  9. package/dist-cjs/accordion/AccordionHeader.js +33 -136
  10. package/dist-cjs/accordion/AccordionHeader.js.map +1 -1
  11. package/dist-cjs/accordion/AccordionPanel.js +22 -117
  12. package/dist-cjs/accordion/AccordionPanel.js.map +1 -1
  13. package/dist-cjs/aria-announcer/AriaAnnounce.js +0 -2
  14. package/dist-cjs/aria-announcer/AriaAnnounce.js.map +1 -1
  15. package/dist-cjs/aria-announcer/AriaAnnouncerContext.js +0 -2
  16. package/dist-cjs/aria-announcer/AriaAnnouncerContext.js.map +1 -1
  17. package/dist-cjs/aria-announcer/AriaAnnouncerProvider.js +8 -10
  18. package/dist-cjs/aria-announcer/AriaAnnouncerProvider.js.map +1 -1
  19. package/dist-cjs/aria-announcer/useAriaAnnouncer.js +0 -106
  20. package/dist-cjs/aria-announcer/useAriaAnnouncer.js.map +1 -1
  21. package/dist-cjs/avatar/Avatar.js +18 -117
  22. package/dist-cjs/avatar/Avatar.js.map +1 -1
  23. package/dist-cjs/avatar/useAvatarImage.js +0 -101
  24. package/dist-cjs/avatar/useAvatarImage.js.map +1 -1
  25. package/dist-cjs/badge/Badge.js +8 -108
  26. package/dist-cjs/badge/Badge.js.map +1 -1
  27. package/dist-cjs/banner/Banner.js +18 -115
  28. package/dist-cjs/banner/Banner.js.map +1 -1
  29. package/dist-cjs/banner/BannerActions.js +1 -103
  30. package/dist-cjs/banner/BannerActions.js.map +1 -1
  31. package/dist-cjs/banner/BannerContent.js +1 -103
  32. package/dist-cjs/banner/BannerContent.js.map +1 -1
  33. package/dist-cjs/border-item/BorderItem.js +17 -111
  34. package/dist-cjs/border-item/BorderItem.js.map +1 -1
  35. package/dist-cjs/border-layout/BorderLayout.js +12 -108
  36. package/dist-cjs/border-layout/BorderLayout.js.map +1 -1
  37. package/dist-cjs/breakpoints/BreakpointProvider.js +2 -111
  38. package/dist-cjs/breakpoints/BreakpointProvider.js.map +1 -1
  39. package/dist-cjs/breakpoints/Breakpoints.js +0 -2
  40. package/dist-cjs/breakpoints/Breakpoints.js.map +1 -1
  41. package/dist-cjs/button/Button.js +24 -120
  42. package/dist-cjs/button/Button.js.map +1 -1
  43. package/dist-cjs/button/useButton.js +0 -2
  44. package/dist-cjs/button/useButton.js.map +1 -1
  45. package/dist-cjs/card/Card.js +21 -115
  46. package/dist-cjs/card/Card.js.map +1 -1
  47. package/dist-cjs/checkbox/Checkbox.css.js +1 -1
  48. package/dist-cjs/checkbox/Checkbox.js +62 -150
  49. package/dist-cjs/checkbox/Checkbox.js.map +1 -1
  50. package/dist-cjs/checkbox/CheckboxGroup.js +32 -123
  51. package/dist-cjs/checkbox/CheckboxGroup.js.map +1 -1
  52. package/dist-cjs/checkbox/CheckboxIcon.js +24 -131
  53. package/dist-cjs/checkbox/CheckboxIcon.js.map +1 -1
  54. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js +0 -101
  55. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  56. package/dist-cjs/checkbox/internal/useCheckboxGroup.js +0 -2
  57. package/dist-cjs/checkbox/internal/useCheckboxGroup.js.map +1 -1
  58. package/dist-cjs/combo-box/ComboBox.js +33 -127
  59. package/dist-cjs/combo-box/ComboBox.js.map +1 -1
  60. package/dist-cjs/combo-box/useComboBox.js +1 -102
  61. package/dist-cjs/combo-box/useComboBox.js.map +1 -1
  62. package/dist-cjs/dialog/Dialog.js +38 -143
  63. package/dist-cjs/dialog/Dialog.js.map +1 -1
  64. package/dist-cjs/dialog/DialogActions.js +1 -104
  65. package/dist-cjs/dialog/DialogActions.js.map +1 -1
  66. package/dist-cjs/dialog/DialogCloseButton.js +11 -110
  67. package/dist-cjs/dialog/DialogCloseButton.js.map +1 -1
  68. package/dist-cjs/dialog/DialogContent.css.js +1 -1
  69. package/dist-cjs/dialog/DialogContent.js +39 -113
  70. package/dist-cjs/dialog/DialogContent.js.map +1 -1
  71. package/dist-cjs/dialog/DialogContext.js +0 -2
  72. package/dist-cjs/dialog/DialogContext.js.map +1 -1
  73. package/dist-cjs/dialog/DialogHeader.js +24 -125
  74. package/dist-cjs/dialog/DialogHeader.js.map +1 -1
  75. package/dist-cjs/divider/Divider.js +15 -110
  76. package/dist-cjs/divider/Divider.js.map +1 -1
  77. package/dist-cjs/drawer/Drawer.js +13 -114
  78. package/dist-cjs/drawer/Drawer.js.map +1 -1
  79. package/dist-cjs/drawer/DrawerCloseButton.js +8 -110
  80. package/dist-cjs/drawer/DrawerCloseButton.js.map +1 -1
  81. package/dist-cjs/dropdown/Dropdown.js +38 -137
  82. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  83. package/dist-cjs/file-drop-zone/FileDropZone.js +21 -116
  84. package/dist-cjs/file-drop-zone/FileDropZone.js.map +1 -1
  85. package/dist-cjs/file-drop-zone/FileDropZoneIcon.js +2 -9
  86. package/dist-cjs/file-drop-zone/FileDropZoneIcon.js.map +1 -1
  87. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js +14 -110
  88. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  89. package/dist-cjs/file-drop-zone/internal/utils.js +1 -4
  90. package/dist-cjs/file-drop-zone/internal/utils.js.map +1 -1
  91. package/dist-cjs/flex-item/FlexItem.js +10 -106
  92. package/dist-cjs/flex-item/FlexItem.js.map +1 -1
  93. package/dist-cjs/flex-layout/FlexLayout.js +21 -117
  94. package/dist-cjs/flex-layout/FlexLayout.js.map +1 -1
  95. package/dist-cjs/flow-layout/FlowLayout.js +1 -9
  96. package/dist-cjs/flow-layout/FlowLayout.js.map +1 -1
  97. package/dist-cjs/form-field/FormField.css.js +1 -1
  98. package/dist-cjs/form-field/FormField.js +30 -121
  99. package/dist-cjs/form-field/FormField.js.map +1 -1
  100. package/dist-cjs/form-field/FormFieldHelperText.js +24 -114
  101. package/dist-cjs/form-field/FormFieldHelperText.js.map +1 -1
  102. package/dist-cjs/form-field/FormFieldLabel.js +15 -106
  103. package/dist-cjs/form-field/FormFieldLabel.js.map +1 -1
  104. package/dist-cjs/form-field-context/FormFieldContext.js +0 -100
  105. package/dist-cjs/form-field-context/FormFieldContext.js.map +1 -1
  106. package/dist-cjs/form-field-context/useFormFieldProps.js +0 -2
  107. package/dist-cjs/form-field-context/useFormFieldProps.js.map +1 -1
  108. package/dist-cjs/grid-item/GridItem.js +10 -106
  109. package/dist-cjs/grid-item/GridItem.js.map +1 -1
  110. package/dist-cjs/grid-layout/GridLayout.js +13 -109
  111. package/dist-cjs/grid-layout/GridLayout.js.map +1 -1
  112. package/dist-cjs/index.js +0 -2
  113. package/dist-cjs/index.js.map +1 -1
  114. package/dist-cjs/input/Input.js +49 -149
  115. package/dist-cjs/input/Input.js.map +1 -1
  116. package/dist-cjs/interactable-card/InteractableCard.js +28 -122
  117. package/dist-cjs/interactable-card/InteractableCard.js.map +1 -1
  118. package/dist-cjs/interactable-card/InteractableCardGroup.js +9 -106
  119. package/dist-cjs/interactable-card/InteractableCardGroup.js.map +1 -1
  120. package/dist-cjs/interactable-card/InteractableCardGroupContext.js +0 -100
  121. package/dist-cjs/interactable-card/InteractableCardGroupContext.js.map +1 -1
  122. package/dist-cjs/interactable-card/useInteractableCard.js +0 -2
  123. package/dist-cjs/interactable-card/useInteractableCard.js.map +1 -1
  124. package/dist-cjs/link/Link.js +22 -117
  125. package/dist-cjs/link/Link.js.map +1 -1
  126. package/dist-cjs/link-card/LinkCard.js +18 -113
  127. package/dist-cjs/link-card/LinkCard.js.map +1 -1
  128. package/dist-cjs/list-box/ListBox.js +8 -106
  129. package/dist-cjs/list-box/ListBox.js.map +1 -1
  130. package/dist-cjs/list-control/ListControlContext.js +0 -100
  131. package/dist-cjs/list-control/ListControlContext.js.map +1 -1
  132. package/dist-cjs/list-control/ListControlState.js +3 -104
  133. package/dist-cjs/list-control/ListControlState.js.map +1 -1
  134. package/dist-cjs/menu/Menu.js +2 -10
  135. package/dist-cjs/menu/Menu.js.map +1 -1
  136. package/dist-cjs/menu/MenuBase.js +10 -109
  137. package/dist-cjs/menu/MenuBase.js.map +1 -1
  138. package/dist-cjs/menu/MenuContext.js +0 -100
  139. package/dist-cjs/menu/MenuContext.js.map +1 -1
  140. package/dist-cjs/menu/MenuGroup.js +14 -114
  141. package/dist-cjs/menu/MenuGroup.js.map +1 -1
  142. package/dist-cjs/menu/MenuItem.js +51 -143
  143. package/dist-cjs/menu/MenuItem.js.map +1 -1
  144. package/dist-cjs/menu/MenuPanel.js +27 -123
  145. package/dist-cjs/menu/MenuPanel.js.map +1 -1
  146. package/dist-cjs/menu/MenuPanelBase.js +1 -7
  147. package/dist-cjs/menu/MenuPanelBase.js.map +1 -1
  148. package/dist-cjs/menu/MenuPanelContext.js +0 -100
  149. package/dist-cjs/menu/MenuPanelContext.js.map +1 -1
  150. package/dist-cjs/menu/MenuTrigger.js +20 -118
  151. package/dist-cjs/menu/MenuTrigger.js.map +1 -1
  152. package/dist-cjs/menu/MenuTriggerContext.js +0 -100
  153. package/dist-cjs/menu/MenuTriggerContext.js.map +1 -1
  154. package/dist-cjs/multiline-input/MultilineInput.js +54 -161
  155. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -1
  156. package/dist-cjs/navigation-item/ExpansionIcon.js +1 -5
  157. package/dist-cjs/navigation-item/ExpansionIcon.js.map +1 -1
  158. package/dist-cjs/navigation-item/NavigationItem.js +32 -132
  159. package/dist-cjs/navigation-item/NavigationItem.js.map +1 -1
  160. package/dist-cjs/navigation-item/NavigationItemAction.js +0 -102
  161. package/dist-cjs/navigation-item/NavigationItemAction.js.map +1 -1
  162. package/dist-cjs/option/Option.js +32 -120
  163. package/dist-cjs/option/Option.js.map +1 -1
  164. package/dist-cjs/option/OptionGroup.js +14 -114
  165. package/dist-cjs/option/OptionGroup.js.map +1 -1
  166. package/dist-cjs/option/OptionList.js +17 -117
  167. package/dist-cjs/option/OptionList.js.map +1 -1
  168. package/dist-cjs/option/OptionListBase.js +9 -105
  169. package/dist-cjs/option/OptionListBase.js.map +1 -1
  170. package/dist-cjs/overlay/Overlay.js +18 -114
  171. package/dist-cjs/overlay/Overlay.js.map +1 -1
  172. package/dist-cjs/overlay/OverlayContext.js +0 -100
  173. package/dist-cjs/overlay/OverlayContext.js.map +1 -1
  174. package/dist-cjs/overlay/OverlayPanel.js +34 -127
  175. package/dist-cjs/overlay/OverlayPanel.js.map +1 -1
  176. package/dist-cjs/overlay/OverlayPanelCloseButton.js +7 -109
  177. package/dist-cjs/overlay/OverlayPanelCloseButton.js.map +1 -1
  178. package/dist-cjs/overlay/OverlayPanelContent.css.js +1 -1
  179. package/dist-cjs/overlay/OverlayPanelContent.js +41 -107
  180. package/dist-cjs/overlay/OverlayPanelContent.js.map +1 -1
  181. package/dist-cjs/overlay/OverlayTrigger.js +6 -111
  182. package/dist-cjs/overlay/OverlayTrigger.js.map +1 -1
  183. package/dist-cjs/pagination/CompactInput.js +20 -114
  184. package/dist-cjs/pagination/CompactInput.js.map +1 -1
  185. package/dist-cjs/pagination/CompactPaginator.js +21 -123
  186. package/dist-cjs/pagination/CompactPaginator.js.map +1 -1
  187. package/dist-cjs/pagination/GoToInput.js +31 -114
  188. package/dist-cjs/pagination/GoToInput.js.map +1 -1
  189. package/dist-cjs/pagination/PageButton.js +17 -112
  190. package/dist-cjs/pagination/PageButton.js.map +1 -1
  191. package/dist-cjs/pagination/PageRanges.js +15 -126
  192. package/dist-cjs/pagination/PageRanges.js.map +1 -1
  193. package/dist-cjs/pagination/Pagination.js +6 -103
  194. package/dist-cjs/pagination/Pagination.js.map +1 -1
  195. package/dist-cjs/pagination/PaginationContext.js +0 -2
  196. package/dist-cjs/pagination/PaginationContext.js.map +1 -1
  197. package/dist-cjs/pagination/Paginator.js +19 -121
  198. package/dist-cjs/pagination/Paginator.js.map +1 -1
  199. package/dist-cjs/pagination/usePagination.js +0 -2
  200. package/dist-cjs/pagination/usePagination.js.map +1 -1
  201. package/dist-cjs/pagination/usePaginationContext.js +0 -2
  202. package/dist-cjs/pagination/usePaginationContext.js.map +1 -1
  203. package/dist-cjs/panel/Panel.js +9 -104
  204. package/dist-cjs/panel/Panel.js.map +1 -1
  205. package/dist-cjs/parent-child-layout/ParentChildLayout.js +24 -123
  206. package/dist-cjs/parent-child-layout/ParentChildLayout.js.map +1 -1
  207. package/dist-cjs/parent-child-layout/useIsViewportLargerThanBreakpoint.js +0 -103
  208. package/dist-cjs/parent-child-layout/useIsViewportLargerThanBreakpoint.js.map +1 -1
  209. package/dist-cjs/pill/Pill.js +17 -115
  210. package/dist-cjs/pill/Pill.js.map +1 -1
  211. package/dist-cjs/pill-input/PillInput.js +97 -204
  212. package/dist-cjs/pill-input/PillInput.js.map +1 -1
  213. package/dist-cjs/pill-input/useTruncatePills.js +0 -2
  214. package/dist-cjs/pill-input/useTruncatePills.js.map +1 -1
  215. package/dist-cjs/progress/CircularProgress/CircularProgress.js +44 -153
  216. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
  217. package/dist-cjs/progress/LinearProgress/LinearProgress.js +28 -125
  218. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
  219. package/dist-cjs/radio-button/RadioButton.css.js +1 -1
  220. package/dist-cjs/radio-button/RadioButton.js +60 -150
  221. package/dist-cjs/radio-button/RadioButton.js.map +1 -1
  222. package/dist-cjs/radio-button/RadioButtonGroup.js +36 -127
  223. package/dist-cjs/radio-button/RadioButtonGroup.js.map +1 -1
  224. package/dist-cjs/radio-button/RadioButtonIcon.js +45 -134
  225. package/dist-cjs/radio-button/RadioButtonIcon.js.map +1 -1
  226. package/dist-cjs/radio-button/internal/RadioGroupContext.js +0 -101
  227. package/dist-cjs/radio-button/internal/RadioGroupContext.js.map +1 -1
  228. package/dist-cjs/radio-button/internal/useRadioGroup.js +0 -2
  229. package/dist-cjs/radio-button/internal/useRadioGroup.js.map +1 -1
  230. package/dist-cjs/salt-provider/SaltProvider.js +32 -155
  231. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  232. package/dist-cjs/scrim/Scrim.js +16 -111
  233. package/dist-cjs/scrim/Scrim.js.map +1 -1
  234. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js +1 -104
  235. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js.map +1 -1
  236. package/dist-cjs/semantic-icon-provider/SemanticIconProvider.js +1 -6
  237. package/dist-cjs/semantic-icon-provider/SemanticIconProvider.js.map +1 -1
  238. package/dist-cjs/spinner/Spinner.js +16 -116
  239. package/dist-cjs/spinner/Spinner.js.map +1 -1
  240. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js +43 -141
  241. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  242. package/dist-cjs/split-layout/SplitLayout.js +13 -107
  243. package/dist-cjs/split-layout/SplitLayout.js.map +1 -1
  244. package/dist-cjs/stack-layout/StackLayout.js +21 -116
  245. package/dist-cjs/stack-layout/StackLayout.js.map +1 -1
  246. package/dist-cjs/status-adornment/ErrorAdornment.js +5 -11
  247. package/dist-cjs/status-adornment/ErrorAdornment.js.map +1 -1
  248. package/dist-cjs/status-adornment/StatusAdornment.js +9 -104
  249. package/dist-cjs/status-adornment/StatusAdornment.js.map +1 -1
  250. package/dist-cjs/status-adornment/SuccessAdornment.js +18 -14
  251. package/dist-cjs/status-adornment/SuccessAdornment.js.map +1 -1
  252. package/dist-cjs/status-adornment/WarningAdornment.js +1 -12
  253. package/dist-cjs/status-adornment/WarningAdornment.js.map +1 -1
  254. package/dist-cjs/status-indicator/StatusIndicator.js +10 -103
  255. package/dist-cjs/status-indicator/StatusIndicator.js.map +1 -1
  256. package/dist-cjs/status-indicator/ValidationStatus.js +0 -2
  257. package/dist-cjs/status-indicator/ValidationStatus.js.map +1 -1
  258. package/dist-cjs/switch/Switch.js +44 -150
  259. package/dist-cjs/switch/Switch.js.map +1 -1
  260. package/dist-cjs/tag/Tag.js +17 -112
  261. package/dist-cjs/tag/Tag.js.map +1 -1
  262. package/dist-cjs/text/Code.js +1 -8
  263. package/dist-cjs/text/Code.js.map +1 -1
  264. package/dist-cjs/text/Display.js +4 -30
  265. package/dist-cjs/text/Display.js.map +1 -1
  266. package/dist-cjs/text/Headings.js +4 -26
  267. package/dist-cjs/text/Headings.js.map +1 -1
  268. package/dist-cjs/text/Label.js +1 -8
  269. package/dist-cjs/text/Label.js.map +1 -1
  270. package/dist-cjs/text/Text.js +21 -117
  271. package/dist-cjs/text/Text.js.map +1 -1
  272. package/dist-cjs/text/TextAction.js +1 -9
  273. package/dist-cjs/text/TextAction.js.map +1 -1
  274. package/dist-cjs/text/TextNotation.js +1 -9
  275. package/dist-cjs/text/TextNotation.js.map +1 -1
  276. package/dist-cjs/theme/Accent.js +0 -2
  277. package/dist-cjs/theme/Accent.js.map +1 -1
  278. package/dist-cjs/theme/ActionFont.js +0 -2
  279. package/dist-cjs/theme/ActionFont.js.map +1 -1
  280. package/dist-cjs/theme/Corner.js +0 -2
  281. package/dist-cjs/theme/Corner.js.map +1 -1
  282. package/dist-cjs/theme/Density.js +0 -2
  283. package/dist-cjs/theme/Density.js.map +1 -1
  284. package/dist-cjs/theme/HeadingFont.js +0 -2
  285. package/dist-cjs/theme/HeadingFont.js.map +1 -1
  286. package/dist-cjs/theme/Mode.js +0 -2
  287. package/dist-cjs/theme/Mode.js.map +1 -1
  288. package/dist-cjs/theme/Theme.js +0 -2
  289. package/dist-cjs/theme/Theme.js.map +1 -1
  290. package/dist-cjs/toast/Toast.js +17 -116
  291. package/dist-cjs/toast/Toast.js.map +1 -1
  292. package/dist-cjs/toast/ToastContent.js +1 -104
  293. package/dist-cjs/toast/ToastContent.js.map +1 -1
  294. package/dist-cjs/toggle-button/ToggleButton.css.js +1 -1
  295. package/dist-cjs/toggle-button/ToggleButton.js +18 -111
  296. package/dist-cjs/toggle-button/ToggleButton.js.map +1 -1
  297. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +10 -107
  298. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  299. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js +0 -100
  300. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  301. package/dist-cjs/tooltip/Tooltip.js +25 -119
  302. package/dist-cjs/tooltip/Tooltip.js.map +1 -1
  303. package/dist-cjs/tooltip/TooltipBase.js +25 -117
  304. package/dist-cjs/tooltip/TooltipBase.js.map +1 -1
  305. package/dist-cjs/tooltip/useAriaAnnounce.js +2 -104
  306. package/dist-cjs/tooltip/useAriaAnnounce.js.map +1 -1
  307. package/dist-cjs/tooltip/useTooltip.js +4 -103
  308. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  309. package/dist-cjs/utils/capitalize.js +0 -2
  310. package/dist-cjs/utils/capitalize.js.map +1 -1
  311. package/dist-cjs/utils/createChainedFunction.js +0 -2
  312. package/dist-cjs/utils/createChainedFunction.js.map +1 -1
  313. package/dist-cjs/utils/createContext.js +0 -2
  314. package/dist-cjs/utils/createContext.js.map +1 -1
  315. package/dist-cjs/utils/debounce.js +0 -2
  316. package/dist-cjs/utils/debounce.js.map +1 -1
  317. package/dist-cjs/utils/getRefFromChildren.js +4 -3
  318. package/dist-cjs/utils/getRefFromChildren.js.map +1 -1
  319. package/dist-cjs/utils/makePrefixer.js +0 -2
  320. package/dist-cjs/utils/makePrefixer.js.map +1 -1
  321. package/dist-cjs/utils/marginMiddleware.js +0 -2
  322. package/dist-cjs/utils/marginMiddleware.js.map +1 -1
  323. package/dist-cjs/utils/mergeProps.js +0 -2
  324. package/dist-cjs/utils/mergeProps.js.map +1 -1
  325. package/dist-cjs/utils/ownerDocument.js +0 -2
  326. package/dist-cjs/utils/ownerDocument.js.map +1 -1
  327. package/dist-cjs/utils/ownerWindow.js +0 -2
  328. package/dist-cjs/utils/ownerWindow.js.map +1 -1
  329. package/dist-cjs/utils/renderProps.js +1 -5
  330. package/dist-cjs/utils/renderProps.js.map +1 -1
  331. package/dist-cjs/utils/setRef.js +0 -2
  332. package/dist-cjs/utils/setRef.js.map +1 -1
  333. package/dist-cjs/utils/useControlled.js +0 -2
  334. package/dist-cjs/utils/useControlled.js.map +1 -1
  335. package/dist-cjs/utils/useEventCallback.js +4 -3
  336. package/dist-cjs/utils/useEventCallback.js.map +1 -1
  337. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js +6 -33
  338. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  339. package/dist-cjs/utils/useForkRef.js +0 -2
  340. package/dist-cjs/utils/useForkRef.js.map +1 -1
  341. package/dist-cjs/utils/useId.js +5 -8
  342. package/dist-cjs/utils/useId.js.map +1 -1
  343. package/dist-cjs/utils/useIsFocusVisible.js +0 -2
  344. package/dist-cjs/utils/useIsFocusVisible.js.map +1 -1
  345. package/dist-cjs/utils/useIsomorphicLayoutEffect.js +0 -2
  346. package/dist-cjs/utils/useIsomorphicLayoutEffect.js.map +1 -1
  347. package/dist-cjs/utils/usePrevious.js +0 -2
  348. package/dist-cjs/utils/usePrevious.js.map +1 -1
  349. package/dist-cjs/utils/useResizeObserver.js +5 -7
  350. package/dist-cjs/utils/useResizeObserver.js.map +1 -1
  351. package/dist-cjs/utils/useResponsiveProp.js +2 -5
  352. package/dist-cjs/utils/useResponsiveProp.js.map +1 -1
  353. package/dist-cjs/utils/useValueEffect.js +1 -108
  354. package/dist-cjs/utils/useValueEffect.js.map +1 -1
  355. package/dist-cjs/viewport/ViewportProvider.js +1 -109
  356. package/dist-cjs/viewport/ViewportProvider.js.map +1 -1
  357. package/dist-es/accordion/Accordion.js +31 -121
  358. package/dist-es/accordion/Accordion.js.map +1 -1
  359. package/dist-es/accordion/AccordionContext.js +0 -99
  360. package/dist-es/accordion/AccordionContext.js.map +1 -1
  361. package/dist-es/accordion/AccordionGroup.js +1 -101
  362. package/dist-es/accordion/AccordionGroup.js.map +1 -1
  363. package/dist-es/accordion/AccordionHeader.js +33 -134
  364. package/dist-es/accordion/AccordionHeader.js.map +1 -1
  365. package/dist-es/accordion/AccordionPanel.js +22 -115
  366. package/dist-es/accordion/AccordionPanel.js.map +1 -1
  367. package/dist-es/aria-announcer/AriaAnnounce.js.map +1 -1
  368. package/dist-es/aria-announcer/AriaAnnouncerContext.js.map +1 -1
  369. package/dist-es/aria-announcer/AriaAnnouncerProvider.js +8 -8
  370. package/dist-es/aria-announcer/AriaAnnouncerProvider.js.map +1 -1
  371. package/dist-es/aria-announcer/useAriaAnnouncer.js +0 -104
  372. package/dist-es/aria-announcer/useAriaAnnouncer.js.map +1 -1
  373. package/dist-es/avatar/Avatar.js +18 -115
  374. package/dist-es/avatar/Avatar.js.map +1 -1
  375. package/dist-es/avatar/useAvatarImage.js +0 -99
  376. package/dist-es/avatar/useAvatarImage.js.map +1 -1
  377. package/dist-es/badge/Badge.js +8 -106
  378. package/dist-es/badge/Badge.js.map +1 -1
  379. package/dist-es/banner/Banner.js +18 -113
  380. package/dist-es/banner/Banner.js.map +1 -1
  381. package/dist-es/banner/BannerActions.js +1 -101
  382. package/dist-es/banner/BannerActions.js.map +1 -1
  383. package/dist-es/banner/BannerContent.js +1 -101
  384. package/dist-es/banner/BannerContent.js.map +1 -1
  385. package/dist-es/border-item/BorderItem.js +17 -109
  386. package/dist-es/border-item/BorderItem.js.map +1 -1
  387. package/dist-es/border-layout/BorderLayout.js +12 -106
  388. package/dist-es/border-layout/BorderLayout.js.map +1 -1
  389. package/dist-es/breakpoints/BreakpointProvider.js +2 -109
  390. package/dist-es/breakpoints/BreakpointProvider.js.map +1 -1
  391. package/dist-es/breakpoints/Breakpoints.js.map +1 -1
  392. package/dist-es/button/Button.js +24 -118
  393. package/dist-es/button/Button.js.map +1 -1
  394. package/dist-es/button/useButton.js.map +1 -1
  395. package/dist-es/card/Card.js +21 -113
  396. package/dist-es/card/Card.js.map +1 -1
  397. package/dist-es/checkbox/Checkbox.css.js +1 -1
  398. package/dist-es/checkbox/Checkbox.js +62 -148
  399. package/dist-es/checkbox/Checkbox.js.map +1 -1
  400. package/dist-es/checkbox/CheckboxGroup.js +32 -121
  401. package/dist-es/checkbox/CheckboxGroup.js.map +1 -1
  402. package/dist-es/checkbox/CheckboxIcon.js +24 -129
  403. package/dist-es/checkbox/CheckboxIcon.js.map +1 -1
  404. package/dist-es/checkbox/internal/CheckboxGroupContext.js +0 -99
  405. package/dist-es/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  406. package/dist-es/checkbox/internal/useCheckboxGroup.js.map +1 -1
  407. package/dist-es/combo-box/ComboBox.js +33 -125
  408. package/dist-es/combo-box/ComboBox.js.map +1 -1
  409. package/dist-es/combo-box/useComboBox.js +1 -100
  410. package/dist-es/combo-box/useComboBox.js.map +1 -1
  411. package/dist-es/dialog/Dialog.js +38 -141
  412. package/dist-es/dialog/Dialog.js.map +1 -1
  413. package/dist-es/dialog/DialogActions.js +1 -102
  414. package/dist-es/dialog/DialogActions.js.map +1 -1
  415. package/dist-es/dialog/DialogCloseButton.js +11 -104
  416. package/dist-es/dialog/DialogCloseButton.js.map +1 -1
  417. package/dist-es/dialog/DialogContent.css.js +1 -1
  418. package/dist-es/dialog/DialogContent.js +40 -112
  419. package/dist-es/dialog/DialogContent.js.map +1 -1
  420. package/dist-es/dialog/DialogContext.js.map +1 -1
  421. package/dist-es/dialog/DialogHeader.js +24 -119
  422. package/dist-es/dialog/DialogHeader.js.map +1 -1
  423. package/dist-es/divider/Divider.js +15 -108
  424. package/dist-es/divider/Divider.js.map +1 -1
  425. package/dist-es/drawer/Drawer.js +13 -112
  426. package/dist-es/drawer/Drawer.js.map +1 -1
  427. package/dist-es/drawer/DrawerCloseButton.js +7 -103
  428. package/dist-es/drawer/DrawerCloseButton.js.map +1 -1
  429. package/dist-es/dropdown/Dropdown.js +38 -135
  430. package/dist-es/dropdown/Dropdown.js.map +1 -1
  431. package/dist-es/file-drop-zone/FileDropZone.js +21 -114
  432. package/dist-es/file-drop-zone/FileDropZone.js.map +1 -1
  433. package/dist-es/file-drop-zone/FileDropZoneIcon.js +2 -7
  434. package/dist-es/file-drop-zone/FileDropZoneIcon.js.map +1 -1
  435. package/dist-es/file-drop-zone/FileDropZoneTrigger.js +14 -108
  436. package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  437. package/dist-es/file-drop-zone/internal/utils.js +1 -2
  438. package/dist-es/file-drop-zone/internal/utils.js.map +1 -1
  439. package/dist-es/flex-item/FlexItem.js +10 -104
  440. package/dist-es/flex-item/FlexItem.js.map +1 -1
  441. package/dist-es/flex-layout/FlexLayout.js +21 -115
  442. package/dist-es/flex-layout/FlexLayout.js.map +1 -1
  443. package/dist-es/flow-layout/FlowLayout.js +1 -7
  444. package/dist-es/flow-layout/FlowLayout.js.map +1 -1
  445. package/dist-es/form-field/FormField.css.js +1 -1
  446. package/dist-es/form-field/FormField.js +30 -119
  447. package/dist-es/form-field/FormField.js.map +1 -1
  448. package/dist-es/form-field/FormFieldHelperText.js +24 -108
  449. package/dist-es/form-field/FormFieldHelperText.js.map +1 -1
  450. package/dist-es/form-field/FormFieldLabel.js +15 -104
  451. package/dist-es/form-field/FormFieldLabel.js.map +1 -1
  452. package/dist-es/form-field-context/FormFieldContext.js +0 -98
  453. package/dist-es/form-field-context/FormFieldContext.js.map +1 -1
  454. package/dist-es/form-field-context/useFormFieldProps.js.map +1 -1
  455. package/dist-es/grid-item/GridItem.js +10 -104
  456. package/dist-es/grid-item/GridItem.js.map +1 -1
  457. package/dist-es/grid-layout/GridLayout.js +13 -107
  458. package/dist-es/grid-layout/GridLayout.js.map +1 -1
  459. package/dist-es/input/Input.js +49 -147
  460. package/dist-es/input/Input.js.map +1 -1
  461. package/dist-es/interactable-card/InteractableCard.js +28 -120
  462. package/dist-es/interactable-card/InteractableCard.js.map +1 -1
  463. package/dist-es/interactable-card/InteractableCardGroup.js +9 -104
  464. package/dist-es/interactable-card/InteractableCardGroup.js.map +1 -1
  465. package/dist-es/interactable-card/InteractableCardGroupContext.js +0 -98
  466. package/dist-es/interactable-card/InteractableCardGroupContext.js.map +1 -1
  467. package/dist-es/interactable-card/useInteractableCard.js.map +1 -1
  468. package/dist-es/link/Link.js +22 -115
  469. package/dist-es/link/Link.js.map +1 -1
  470. package/dist-es/link-card/LinkCard.js +18 -111
  471. package/dist-es/link-card/LinkCard.js.map +1 -1
  472. package/dist-es/list-box/ListBox.js +8 -104
  473. package/dist-es/list-box/ListBox.js.map +1 -1
  474. package/dist-es/list-control/ListControlContext.js +0 -98
  475. package/dist-es/list-control/ListControlContext.js.map +1 -1
  476. package/dist-es/list-control/ListControlState.js +3 -102
  477. package/dist-es/list-control/ListControlState.js.map +1 -1
  478. package/dist-es/menu/Menu.js +2 -8
  479. package/dist-es/menu/Menu.js.map +1 -1
  480. package/dist-es/menu/MenuBase.js +10 -107
  481. package/dist-es/menu/MenuBase.js.map +1 -1
  482. package/dist-es/menu/MenuContext.js +0 -98
  483. package/dist-es/menu/MenuContext.js.map +1 -1
  484. package/dist-es/menu/MenuGroup.js +14 -112
  485. package/dist-es/menu/MenuGroup.js.map +1 -1
  486. package/dist-es/menu/MenuItem.js +51 -141
  487. package/dist-es/menu/MenuItem.js.map +1 -1
  488. package/dist-es/menu/MenuPanel.js +27 -121
  489. package/dist-es/menu/MenuPanel.js.map +1 -1
  490. package/dist-es/menu/MenuPanelBase.js +1 -5
  491. package/dist-es/menu/MenuPanelBase.js.map +1 -1
  492. package/dist-es/menu/MenuPanelContext.js +0 -98
  493. package/dist-es/menu/MenuPanelContext.js.map +1 -1
  494. package/dist-es/menu/MenuTrigger.js +20 -116
  495. package/dist-es/menu/MenuTrigger.js.map +1 -1
  496. package/dist-es/menu/MenuTriggerContext.js +0 -98
  497. package/dist-es/menu/MenuTriggerContext.js.map +1 -1
  498. package/dist-es/multiline-input/MultilineInput.js +54 -159
  499. package/dist-es/multiline-input/MultilineInput.js.map +1 -1
  500. package/dist-es/navigation-item/ExpansionIcon.js +1 -3
  501. package/dist-es/navigation-item/ExpansionIcon.js.map +1 -1
  502. package/dist-es/navigation-item/NavigationItem.js +32 -130
  503. package/dist-es/navigation-item/NavigationItem.js.map +1 -1
  504. package/dist-es/navigation-item/NavigationItemAction.js +0 -100
  505. package/dist-es/navigation-item/NavigationItemAction.js.map +1 -1
  506. package/dist-es/option/Option.js +32 -118
  507. package/dist-es/option/Option.js.map +1 -1
  508. package/dist-es/option/OptionGroup.js +14 -112
  509. package/dist-es/option/OptionGroup.js.map +1 -1
  510. package/dist-es/option/OptionList.js +17 -115
  511. package/dist-es/option/OptionList.js.map +1 -1
  512. package/dist-es/option/OptionListBase.js +9 -103
  513. package/dist-es/option/OptionListBase.js.map +1 -1
  514. package/dist-es/overlay/Overlay.js +18 -112
  515. package/dist-es/overlay/Overlay.js.map +1 -1
  516. package/dist-es/overlay/OverlayContext.js +0 -98
  517. package/dist-es/overlay/OverlayContext.js.map +1 -1
  518. package/dist-es/overlay/OverlayPanel.js +34 -125
  519. package/dist-es/overlay/OverlayPanel.js.map +1 -1
  520. package/dist-es/overlay/OverlayPanelCloseButton.js +7 -103
  521. package/dist-es/overlay/OverlayPanelCloseButton.js.map +1 -1
  522. package/dist-es/overlay/OverlayPanelContent.css.js +1 -1
  523. package/dist-es/overlay/OverlayPanelContent.js +43 -103
  524. package/dist-es/overlay/OverlayPanelContent.js.map +1 -1
  525. package/dist-es/overlay/OverlayTrigger.js +6 -109
  526. package/dist-es/overlay/OverlayTrigger.js.map +1 -1
  527. package/dist-es/pagination/CompactInput.js +20 -112
  528. package/dist-es/pagination/CompactInput.js.map +1 -1
  529. package/dist-es/pagination/CompactPaginator.js +21 -121
  530. package/dist-es/pagination/CompactPaginator.js.map +1 -1
  531. package/dist-es/pagination/GoToInput.js +31 -112
  532. package/dist-es/pagination/GoToInput.js.map +1 -1
  533. package/dist-es/pagination/PageButton.js +17 -110
  534. package/dist-es/pagination/PageButton.js.map +1 -1
  535. package/dist-es/pagination/PageRanges.js +15 -124
  536. package/dist-es/pagination/PageRanges.js.map +1 -1
  537. package/dist-es/pagination/Pagination.js +6 -101
  538. package/dist-es/pagination/Pagination.js.map +1 -1
  539. package/dist-es/pagination/PaginationContext.js.map +1 -1
  540. package/dist-es/pagination/Paginator.js +19 -119
  541. package/dist-es/pagination/Paginator.js.map +1 -1
  542. package/dist-es/pagination/usePagination.js.map +1 -1
  543. package/dist-es/pagination/usePaginationContext.js.map +1 -1
  544. package/dist-es/panel/Panel.js +9 -102
  545. package/dist-es/panel/Panel.js.map +1 -1
  546. package/dist-es/parent-child-layout/ParentChildLayout.js +24 -121
  547. package/dist-es/parent-child-layout/ParentChildLayout.js.map +1 -1
  548. package/dist-es/parent-child-layout/useIsViewportLargerThanBreakpoint.js +0 -101
  549. package/dist-es/parent-child-layout/useIsViewportLargerThanBreakpoint.js.map +1 -1
  550. package/dist-es/pill/Pill.js +17 -109
  551. package/dist-es/pill/Pill.js.map +1 -1
  552. package/dist-es/pill-input/PillInput.js +97 -202
  553. package/dist-es/pill-input/PillInput.js.map +1 -1
  554. package/dist-es/pill-input/useTruncatePills.js.map +1 -1
  555. package/dist-es/progress/CircularProgress/CircularProgress.js +44 -151
  556. package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
  557. package/dist-es/progress/LinearProgress/LinearProgress.js +28 -123
  558. package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
  559. package/dist-es/radio-button/RadioButton.css.js +1 -1
  560. package/dist-es/radio-button/RadioButton.js +60 -148
  561. package/dist-es/radio-button/RadioButton.js.map +1 -1
  562. package/dist-es/radio-button/RadioButtonGroup.js +36 -125
  563. package/dist-es/radio-button/RadioButtonGroup.js.map +1 -1
  564. package/dist-es/radio-button/RadioButtonIcon.js +45 -132
  565. package/dist-es/radio-button/RadioButtonIcon.js.map +1 -1
  566. package/dist-es/radio-button/internal/RadioGroupContext.js +0 -99
  567. package/dist-es/radio-button/internal/RadioGroupContext.js.map +1 -1
  568. package/dist-es/radio-button/internal/useRadioGroup.js.map +1 -1
  569. package/dist-es/salt-provider/SaltProvider.js +32 -153
  570. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  571. package/dist-es/scrim/Scrim.js +16 -109
  572. package/dist-es/scrim/Scrim.js.map +1 -1
  573. package/dist-es/segmented-button-group/SegmentedButtonGroup.js +1 -102
  574. package/dist-es/segmented-button-group/SegmentedButtonGroup.js.map +1 -1
  575. package/dist-es/semantic-icon-provider/SemanticIconProvider.js +1 -4
  576. package/dist-es/semantic-icon-provider/SemanticIconProvider.js.map +1 -1
  577. package/dist-es/spinner/Spinner.js +16 -114
  578. package/dist-es/spinner/Spinner.js.map +1 -1
  579. package/dist-es/spinner/svgSpinners/SpinnerSVG.js +43 -139
  580. package/dist-es/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  581. package/dist-es/split-layout/SplitLayout.js +13 -105
  582. package/dist-es/split-layout/SplitLayout.js.map +1 -1
  583. package/dist-es/stack-layout/StackLayout.js +21 -114
  584. package/dist-es/stack-layout/StackLayout.js.map +1 -1
  585. package/dist-es/status-adornment/ErrorAdornment.js +5 -9
  586. package/dist-es/status-adornment/ErrorAdornment.js.map +1 -1
  587. package/dist-es/status-adornment/StatusAdornment.js +9 -102
  588. package/dist-es/status-adornment/StatusAdornment.js.map +1 -1
  589. package/dist-es/status-adornment/SuccessAdornment.js +18 -12
  590. package/dist-es/status-adornment/SuccessAdornment.js.map +1 -1
  591. package/dist-es/status-adornment/WarningAdornment.js +1 -10
  592. package/dist-es/status-adornment/WarningAdornment.js.map +1 -1
  593. package/dist-es/status-indicator/StatusIndicator.js +10 -101
  594. package/dist-es/status-indicator/StatusIndicator.js.map +1 -1
  595. package/dist-es/status-indicator/ValidationStatus.js.map +1 -1
  596. package/dist-es/switch/Switch.js +44 -148
  597. package/dist-es/switch/Switch.js.map +1 -1
  598. package/dist-es/tag/Tag.js +17 -110
  599. package/dist-es/tag/Tag.js.map +1 -1
  600. package/dist-es/text/Code.js +1 -6
  601. package/dist-es/text/Code.js.map +1 -1
  602. package/dist-es/text/Display.js +4 -28
  603. package/dist-es/text/Display.js.map +1 -1
  604. package/dist-es/text/Headings.js +4 -24
  605. package/dist-es/text/Headings.js.map +1 -1
  606. package/dist-es/text/Label.js +1 -6
  607. package/dist-es/text/Label.js.map +1 -1
  608. package/dist-es/text/Text.js +21 -115
  609. package/dist-es/text/Text.js.map +1 -1
  610. package/dist-es/text/TextAction.js +1 -7
  611. package/dist-es/text/TextAction.js.map +1 -1
  612. package/dist-es/text/TextNotation.js +1 -7
  613. package/dist-es/text/TextNotation.js.map +1 -1
  614. package/dist-es/theme/Accent.js.map +1 -1
  615. package/dist-es/theme/ActionFont.js.map +1 -1
  616. package/dist-es/theme/Corner.js.map +1 -1
  617. package/dist-es/theme/HeadingFont.js.map +1 -1
  618. package/dist-es/theme/Theme.js.map +1 -1
  619. package/dist-es/toast/Toast.js +17 -114
  620. package/dist-es/toast/Toast.js.map +1 -1
  621. package/dist-es/toast/ToastContent.js +1 -102
  622. package/dist-es/toast/ToastContent.js.map +1 -1
  623. package/dist-es/toggle-button/ToggleButton.css.js +1 -1
  624. package/dist-es/toggle-button/ToggleButton.js +18 -109
  625. package/dist-es/toggle-button/ToggleButton.js.map +1 -1
  626. package/dist-es/toggle-button-group/ToggleButtonGroup.js +10 -105
  627. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  628. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js +0 -98
  629. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  630. package/dist-es/tooltip/Tooltip.js +25 -117
  631. package/dist-es/tooltip/Tooltip.js.map +1 -1
  632. package/dist-es/tooltip/TooltipBase.js +25 -115
  633. package/dist-es/tooltip/TooltipBase.js.map +1 -1
  634. package/dist-es/tooltip/useAriaAnnounce.js +2 -102
  635. package/dist-es/tooltip/useAriaAnnounce.js.map +1 -1
  636. package/dist-es/tooltip/useTooltip.js +4 -101
  637. package/dist-es/tooltip/useTooltip.js.map +1 -1
  638. package/dist-es/utils/capitalize.js.map +1 -1
  639. package/dist-es/utils/createChainedFunction.js.map +1 -1
  640. package/dist-es/utils/createContext.js.map +1 -1
  641. package/dist-es/utils/debounce.js.map +1 -1
  642. package/dist-es/utils/getRefFromChildren.js +4 -1
  643. package/dist-es/utils/getRefFromChildren.js.map +1 -1
  644. package/dist-es/utils/marginMiddleware.js.map +1 -1
  645. package/dist-es/utils/mergeProps.js.map +1 -1
  646. package/dist-es/utils/ownerDocument.js.map +1 -1
  647. package/dist-es/utils/ownerWindow.js.map +1 -1
  648. package/dist-es/utils/renderProps.js +1 -3
  649. package/dist-es/utils/renderProps.js.map +1 -1
  650. package/dist-es/utils/setRef.js.map +1 -1
  651. package/dist-es/utils/useControlled.js.map +1 -1
  652. package/dist-es/utils/useEventCallback.js +4 -1
  653. package/dist-es/utils/useEventCallback.js.map +1 -1
  654. package/dist-es/utils/useFloatingUI/useFloatingUI.js +6 -31
  655. package/dist-es/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  656. package/dist-es/utils/useForkRef.js.map +1 -1
  657. package/dist-es/utils/useId.js +2 -2
  658. package/dist-es/utils/useId.js.map +1 -1
  659. package/dist-es/utils/useIsFocusVisible.js.map +1 -1
  660. package/dist-es/utils/usePrevious.js.map +1 -1
  661. package/dist-es/utils/useResizeObserver.js +5 -5
  662. package/dist-es/utils/useResizeObserver.js.map +1 -1
  663. package/dist-es/utils/useResponsiveProp.js +2 -3
  664. package/dist-es/utils/useResponsiveProp.js.map +1 -1
  665. package/dist-es/utils/useValueEffect.js +1 -106
  666. package/dist-es/utils/useValueEffect.js.map +1 -1
  667. package/dist-es/viewport/ViewportProvider.js +1 -107
  668. package/dist-es/viewport/ViewportProvider.js.map +1 -1
  669. package/dist-types/file-drop-zone/FileDropZoneIcon.d.ts +1 -1
  670. package/package.json +8 -7
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
  var useIsomorphicLayoutEffect = require('./useIsomorphicLayoutEffect.js');
7
5
 
@@ -11,7 +9,10 @@ function useEventCallback(fn) {
11
9
  ref.current = fn;
12
10
  });
13
11
  return React.useCallback(
14
- (...args) => (0, ref.current)(...args),
12
+ (...args) => (
13
+ // biome-ignore lint/style/noCommaOperator: This is a valid use case for the comma operator
14
+ (0, ref.current)(...args)
15
+ ),
15
16
  []
16
17
  );
17
18
  }
@@ -1 +1 @@
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;;;;"}
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;AACrB,EAAAC,mDAAA,CAA0B,MAAM;AAC9B,IAAA,GAAA,CAAI,OAAU,GAAA,EAAA;AAAA,GACf,CAAA;AACD,EAAO,OAAAC,iBAAA;AAAA,IACL,CAAI,GAAA,IAAA;AAAA;AAAA,MAAA,IAEO,GAAA,CAAI,OAAS,EAAA,GAAG,IAAI;AAAA,KAAA;AAAA,IAC/B;AAAC,GACH;AACF;;;;"}
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var jsxRuntime = require('react/jsx-runtime');
6
4
  var react = require('@floating-ui/react');
7
5
  var React = require('react');
@@ -26,28 +24,9 @@ const DefaultFloatingComponent = React.forwardRef(function DefaultFloatingCompon
26
24
  const { themeNext } = SaltProvider.useTheme();
27
25
  const ChosenSaltProvider = themeNext ? SaltProvider.SaltProviderNext : SaltProvider.SaltProvider;
28
26
  if (focusManagerProps && open) {
29
- return /* @__PURE__ */ jsxRuntime.jsx(react.FloatingPortal, {
30
- children: /* @__PURE__ */ jsxRuntime.jsx(ChosenSaltProvider, {
31
- children: /* @__PURE__ */ jsxRuntime.jsx(react.FloatingFocusManager, {
32
- ...focusManagerProps,
33
- children: /* @__PURE__ */ jsxRuntime.jsx("div", {
34
- style,
35
- ...rest,
36
- ref
37
- })
38
- })
39
- })
40
- });
27
+ return /* @__PURE__ */ jsxRuntime.jsx(react.FloatingPortal, { children: /* @__PURE__ */ jsxRuntime.jsx(ChosenSaltProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(react.FloatingFocusManager, { ...focusManagerProps, children: /* @__PURE__ */ jsxRuntime.jsx("div", { style, ...rest, ref }) }) }) });
41
28
  }
42
- return open ? /* @__PURE__ */ jsxRuntime.jsx(react.FloatingPortal, {
43
- children: /* @__PURE__ */ jsxRuntime.jsx(ChosenSaltProvider, {
44
- children: /* @__PURE__ */ jsxRuntime.jsx("div", {
45
- style,
46
- ...rest,
47
- ref
48
- })
49
- })
50
- }) : null;
29
+ return open ? /* @__PURE__ */ jsxRuntime.jsx(react.FloatingPortal, { children: /* @__PURE__ */ jsxRuntime.jsx(ChosenSaltProvider, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { style, ...rest, ref }) }) }) : null;
51
30
  });
52
31
  const FloatingComponentContext = React.createContext({
53
32
  Component: DefaultFloatingComponent
@@ -58,10 +37,7 @@ if (process.env.NODE_ENV !== "production") {
58
37
  function FloatingComponentProvider(props) {
59
38
  const { Component, children } = props;
60
39
  const value = React.useMemo(() => ({ Component }), [Component]);
61
- return /* @__PURE__ */ jsxRuntime.jsx(FloatingComponentContext.Provider, {
62
- value,
63
- children
64
- });
40
+ return /* @__PURE__ */ jsxRuntime.jsx(FloatingComponentContext.Provider, { value, children });
65
41
  }
66
42
  function useFloatingComponent() {
67
43
  return React.useContext(FloatingComponentContext);
@@ -84,16 +60,13 @@ function FloatingPlatformProvider(props) {
84
60
  } = props;
85
61
  const floatingPlatformContextValue = React.useMemo(
86
62
  () => ({
87
- platform: platformProp != null ? platformProp : react.platform,
88
- middleware: middleware != null ? middleware : defaultGetMiddleware,
63
+ platform: platformProp ?? react.platform,
64
+ middleware: middleware ?? defaultGetMiddleware,
89
65
  animationFrame: animationFrame || false
90
66
  }),
91
67
  [platformProp, middleware, animationFrame]
92
68
  );
93
- return /* @__PURE__ */ jsxRuntime.jsx(FloatingPlatformContext.Provider, {
94
- value: floatingPlatformContextValue,
95
- children
96
- });
69
+ return /* @__PURE__ */ jsxRuntime.jsx(FloatingPlatformContext.Provider, { value: floatingPlatformContextValue, children });
97
70
  }
98
71
  function useFloatingPlatform() {
99
72
  return React.useContext(FloatingPlatformContext);
@@ -1 +1 @@
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
+ {"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","FloatingPortal","jsx","FloatingFocusManager","createContext","useMemo","useContext","platform","flip","shift","limitShift","open","useFloating","autoUpdate"],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
  var setRef = require('./setRef.js');
7
5
 
@@ -1 +1 @@
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;;;;"}
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;AAAA;AAEf,IAAA,OAAO,CAAC,QAAa,KAAA;AACnB,MAAAC,aAAA,CAAO,MAAM,QAAQ,CAAA;AACrB,MAAAA,aAAA,CAAO,MAAM,QAAQ,CAAA;AAAA,KACvB;AAAA,GACC,EAAA,CAAC,IAAM,EAAA,IAAI,CAAC,CAAA;AACjB;;;;"}
@@ -1,11 +1,8 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
 
7
- function _interopNamespace(e) {
8
- if (e && e.__esModule) return e;
5
+ function _interopNamespaceDefault(e) {
9
6
  var n = Object.create(null);
10
7
  if (e) {
11
8
  Object.keys(e).forEach(function (k) {
@@ -18,11 +15,11 @@ function _interopNamespace(e) {
18
15
  }
19
16
  });
20
17
  }
21
- n["default"] = e;
18
+ n.default = e;
22
19
  return n;
23
20
  }
24
21
 
25
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
22
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
26
23
 
27
24
  const maybeReactUseId = React__namespace["useId".toString()];
28
25
  let globalId = BigInt(0);
@@ -39,13 +36,13 @@ function useIdLegacy(idOverride) {
39
36
  function useId(idOverride) {
40
37
  if (maybeReactUseId !== void 0) {
41
38
  const reactId = maybeReactUseId();
42
- return idOverride != null ? idOverride : reactId;
39
+ return idOverride ?? reactId;
43
40
  }
44
41
  return useIdLegacy(idOverride);
45
42
  }
46
43
  function useIdMemo(idOverride) {
47
44
  return React__namespace.useMemo(() => {
48
- return idOverride != null ? idOverride : `salt-${++globalId}`;
45
+ return idOverride ?? `salt-${++globalId}`;
49
46
  }, [idOverride]);
50
47
  }
51
48
 
@@ -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\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
+ {"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,eAA+C,GAAAA,gBAAA,CACnD,OAAQ,CAAA,QAAA,EACV,CAAA;AAEA,IAAI,QAAA,GAAW,OAAO,CAAC,CAAA;AACvB,SAAS,YAAY,UAAyC,EAAA;AAC5D,EAAA,MAAM,CAAC,SAAW,EAAA,YAAY,CAAI,GAAAA,gBAAA,CAAM,SAAS,UAAU,CAAA;AAC3D,EAAA,MAAM,KAAK,UAAc,IAAA,SAAA;AACzB,EAAAA,gBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,aAAa,IAAM,EAAA;AACrB,MAAa,YAAA,CAAA,CAAA,KAAA,EAAQ,EAAE,QAAQ,CAAE,CAAA,CAAA;AAAA;AACnC,GACF,EAAG,CAAC,SAAS,CAAC,CAAA;AACd,EAAO,OAAA,EAAA;AACT;AAEO,SAAS,MAAM,UAAyC,EAAA;AAC7D,EAAA,IAAI,oBAAoB,KAAW,CAAA,EAAA;AACjC,IAAA,MAAM,UAAU,eAAgB,EAAA;AAChC,IAAA,OAAO,UAAc,IAAA,OAAA;AAAA;AAGvB,EAAA,OAAO,YAAY,UAAU,CAAA;AAC/B;AAIO,SAAS,UAAU,UAA6B,EAAA;AACrD,EAAO,OAAAA,gBAAA,CAAM,QAAQ,MAAM;AACzB,IAAO,OAAA,UAAA,IAAc,CAAQ,KAAA,EAAA,EAAE,QAAQ,CAAA,CAAA;AAAA,GACzC,EAAG,CAAC,UAAU,CAAC,CAAA;AACjB;;;;;"}
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
 
7
5
  let hadKeyboardEvent = true;
@@ -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 {\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
+ {"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,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
 
7
5
  const useIsomorphicLayoutEffect = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined" ? React.useLayoutEffect : React.useEffect;
@@ -1 +1 @@
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
+ {"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,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
 
7
5
  function usePrevious(value, deps = [], initialValue) {
@@ -1 +1 @@
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
+ {"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;AAE9C,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,GAAA,CAAI,OAAU,GAAA,KAAA;AAAA,KACb,IAAI,CAAA;AACP,EAAA,OAAO,GAAI,CAAA,OAAA;AACb;;;;"}
@@ -1,20 +1,18 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
4
  var ownerWindow = require('./ownerWindow.js');
7
5
 
8
6
  function useResizeObserver({ ref, onResize }) {
9
7
  React.useEffect(() => {
10
8
  const element = ref == null ? void 0 : ref.current;
11
- if (!element)
12
- return;
9
+ if (!element) return;
13
10
  const win = ownerWindow.ownerWindow(element);
14
11
  const resizeObserver = new win.ResizeObserver((entries) => {
15
- if (entries.length === 0)
16
- return;
17
- onResize();
12
+ requestAnimationFrame(() => {
13
+ if (entries.length === 0) return;
14
+ onResize();
15
+ });
18
16
  });
19
17
  resizeObserver.observe(element);
20
18
  return () => {
@@ -1 +1 @@
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;;;;"}
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 requestAnimationFrame(() => {\n if (entries.length === 0) return;\n\n onResize();\n });\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;AACrB,IAAA,IAAI,CAAC,OAAS,EAAA;AAEd,IAAM,MAAA,GAAA,GAAMC,wBAAY,OAAO,CAAA;AAE/B,IAAA,MAAM,cAAiB,GAAA,IAAI,GAAI,CAAA,cAAA,CAAe,CAAC,OAAY,KAAA;AACzD,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAI,IAAA,OAAA,CAAQ,WAAW,CAAG,EAAA;AAE1B,QAAS,QAAA,EAAA;AAAA,OACV,CAAA;AAAA,KACF,CAAA;AACD,IAAA,cAAA,CAAe,QAAQ,OAAO,CAAA;AAE9B,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,OAAS,EAAA;AACX,QAAA,cAAA,CAAe,UAAU,OAAO,CAAA;AAAA;AAClC,KACF;AAAA,GACC,EAAA,CAAC,GAAK,EAAA,QAAQ,CAAC,CAAA;AACpB;;;;"}
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var SaltProvider = require('../salt-provider/SaltProvider.js');
6
4
  var ViewportProvider = require('../viewport/ViewportProvider.js');
7
5
 
@@ -13,7 +11,7 @@ const getCurrentBreakpoint = (breakpoints, width) => {
13
11
  (acc, val) => {
14
12
  const [, accWidth] = acc;
15
13
  const [breakpoint, breakpointWidth] = val;
16
- if (breakpointWidth < width && breakpointWidth > accWidth) {
14
+ if (breakpointWidth <= width && breakpointWidth > accWidth) {
17
15
  return [breakpoint, breakpointWidth];
18
16
  }
19
17
  return acc;
@@ -55,8 +53,7 @@ const getResponsiveValue = (breakpointValues, breakpoints, viewport, defaultValu
55
53
  const useResponsiveProp = (value, defaultValue) => {
56
54
  const breakpoints = SaltProvider.useBreakpoints();
57
55
  const viewport = ViewportProvider.useViewport();
58
- if (value === defaultValue)
59
- return defaultValue;
56
+ if (value === defaultValue) return defaultValue;
60
57
  const currentViewport = getCurrentBreakpoint(breakpoints, viewport);
61
58
  if (hasBreakpointValues(value, breakpoints)) {
62
59
  return getResponsiveValue(
@@ -1 +1 @@
1
- {"version":3,"file":"useResponsiveProp.js","sources":["../src/utils/useResponsiveProp.ts"],"sourcesContent":["import type { Breakpoints } from \"../breakpoints\";\nimport { useBreakpoints } from \"../salt-provider\";\nimport { useViewport } from \"../viewport\";\n\ntype BreakpointProp<T> = {\n [K in keyof Breakpoints]?: T;\n};\n\nexport type ResponsiveProp<T> = T | BreakpointProp<T>;\n\nexport const getCurrentBreakpoint = (\n breakpoints: Breakpoints,\n width: number,\n) => {\n const breakpointList = Object.entries(breakpoints).sort(\n ([, a], [, b]) => a - b,\n );\n const [currentBreakpoint] = (\n breakpointList as [keyof Breakpoints, number][]\n ).reduce(\n (acc, val) => {\n const [, accWidth] = acc;\n const [breakpoint, breakpointWidth] = val;\n if (breakpointWidth < width && breakpointWidth > accWidth) {\n return [breakpoint, breakpointWidth];\n }\n return acc;\n },\n breakpointList[0] as [keyof Breakpoints, number],\n );\n\n return currentBreakpoint;\n};\n\nexport const useCurrentBreakpoint = () => {\n const viewport = useViewport();\n\n const breakpoints = useBreakpoints();\n\n return getCurrentBreakpoint(breakpoints, viewport);\n};\n\nexport const useOrderedBreakpoints = () => {\n const breakpoints = useBreakpoints();\n\n return Object.entries(breakpoints)\n .sort(([, a], [, b]) => a - b)\n .map(([key]) => key);\n};\n\nconst isObject = <T>(\n value: T,\n): value is Record<string | number | symbol, any> => {\n const type = typeof value;\n return value !== null && (type === \"object\" || type === \"function\");\n};\n\nconst hasBreakpointValues = <T>(\n value: ResponsiveProp<T>,\n breakpoints: Breakpoints,\n): value is BreakpointProp<T> => {\n return (\n isObject(value) && Object.keys(value).every((key) => key in breakpoints)\n );\n};\n\nconst getResponsiveValue = <T>(\n breakpointValues: BreakpointProp<T>,\n breakpoints: Breakpoints,\n viewport: keyof Breakpoints,\n defaultValue: T,\n) => {\n return Object.entries(breakpointValues).reduce<[number, T]>(\n (acc, val) => {\n const [accWidth] = acc;\n const [breakpoint, breakpointValue] = val;\n\n const breakpointWidth =\n breakpoints[breakpoint as keyof typeof breakpoints];\n\n if (\n breakpointWidth >= accWidth &&\n breakpointWidth <= breakpoints[viewport]\n ) {\n return [breakpointWidth, breakpointValue];\n }\n\n return acc;\n },\n [0, defaultValue],\n )[1];\n};\n\nexport const useResponsiveProp = <T>(\n value: ResponsiveProp<T>,\n defaultValue: T,\n) => {\n const breakpoints = useBreakpoints();\n const viewport = useViewport();\n // return early if the values are the same\n if (value === defaultValue) return defaultValue;\n\n const currentViewport = getCurrentBreakpoint(breakpoints, viewport);\n if (hasBreakpointValues(value, breakpoints)) {\n return getResponsiveValue(\n value,\n breakpoints,\n currentViewport,\n defaultValue,\n );\n }\n return value;\n};\n\nfunction isBreakpointProp<T>(\n value: ResponsiveProp<T>,\n): value is BreakpointProp<T> {\n return typeof value === \"object\" && !Array.isArray(value);\n}\n\nexport function resolveResponsiveValue<Value>(\n value: ResponsiveProp<Value>,\n matchedBreakpoints: (keyof Breakpoints)[],\n) {\n if (value && isBreakpointProp(value)) {\n for (const breakpoint of matchedBreakpoints) {\n if (value[breakpoint] != null) {\n return value[breakpoint];\n }\n }\n return undefined;\n }\n return value;\n}\n"],"names":["useViewport","useBreakpoints"],"mappings":"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"}
1
+ {"version":3,"file":"useResponsiveProp.js","sources":["../src/utils/useResponsiveProp.ts"],"sourcesContent":["import type { Breakpoints } from \"../breakpoints\";\nimport { useBreakpoints } from \"../salt-provider\";\nimport { useViewport } from \"../viewport\";\n\ntype BreakpointProp<T> = {\n [K in keyof Breakpoints]?: T;\n};\n\nexport type ResponsiveProp<T> = T | BreakpointProp<T>;\n\nexport const getCurrentBreakpoint = (\n breakpoints: Breakpoints,\n width: number,\n) => {\n const breakpointList = Object.entries(breakpoints).sort(\n ([, a], [, b]) => a - b,\n );\n const [currentBreakpoint] = (\n breakpointList as [keyof Breakpoints, number][]\n ).reduce(\n (acc, val) => {\n const [, accWidth] = acc;\n const [breakpoint, breakpointWidth] = val;\n if (breakpointWidth <= width && breakpointWidth > accWidth) {\n return [breakpoint, breakpointWidth];\n }\n return acc;\n },\n breakpointList[0] as [keyof Breakpoints, number],\n );\n\n return currentBreakpoint;\n};\n\nexport const useCurrentBreakpoint = () => {\n const viewport = useViewport();\n\n const breakpoints = useBreakpoints();\n\n return getCurrentBreakpoint(breakpoints, viewport);\n};\n\nexport const useOrderedBreakpoints = () => {\n const breakpoints = useBreakpoints();\n\n return Object.entries(breakpoints)\n .sort(([, a], [, b]) => a - b)\n .map(([key]) => key);\n};\n\nconst isObject = <T>(\n value: T,\n): value is Record<string | number | symbol, any> => {\n const type = typeof value;\n return value !== null && (type === \"object\" || type === \"function\");\n};\n\nconst hasBreakpointValues = <T>(\n value: ResponsiveProp<T>,\n breakpoints: Breakpoints,\n): value is BreakpointProp<T> => {\n return (\n isObject(value) && Object.keys(value).every((key) => key in breakpoints)\n );\n};\n\nconst getResponsiveValue = <T>(\n breakpointValues: BreakpointProp<T>,\n breakpoints: Breakpoints,\n viewport: keyof Breakpoints,\n defaultValue: T,\n) => {\n return Object.entries(breakpointValues).reduce<[number, T]>(\n (acc, val) => {\n const [accWidth] = acc;\n const [breakpoint, breakpointValue] = val;\n\n const breakpointWidth =\n breakpoints[breakpoint as keyof typeof breakpoints];\n\n if (\n breakpointWidth >= accWidth &&\n breakpointWidth <= breakpoints[viewport]\n ) {\n return [breakpointWidth, breakpointValue];\n }\n\n return acc;\n },\n [0, defaultValue],\n )[1];\n};\n\nexport const useResponsiveProp = <T>(\n value: ResponsiveProp<T>,\n defaultValue: T,\n) => {\n const breakpoints = useBreakpoints();\n const viewport = useViewport();\n // return early if the values are the same\n if (value === defaultValue) return defaultValue;\n\n const currentViewport = getCurrentBreakpoint(breakpoints, viewport);\n if (hasBreakpointValues(value, breakpoints)) {\n return getResponsiveValue(\n value,\n breakpoints,\n currentViewport,\n defaultValue,\n );\n }\n return value;\n};\n\nfunction isBreakpointProp<T>(\n value: ResponsiveProp<T>,\n): value is BreakpointProp<T> {\n return typeof value === \"object\" && !Array.isArray(value);\n}\n\nexport function resolveResponsiveValue<Value>(\n value: ResponsiveProp<Value>,\n matchedBreakpoints: (keyof Breakpoints)[],\n) {\n if (value && isBreakpointProp(value)) {\n for (const breakpoint of matchedBreakpoints) {\n if (value[breakpoint] != null) {\n return value[breakpoint];\n }\n }\n return undefined;\n }\n return value;\n}\n"],"names":["useViewport","useBreakpoints"],"mappings":"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"}
@@ -1,115 +1,8 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var React = require('react');
6
- require('../accordion/AccordionGroup.js');
7
- require('../accordion/AccordionPanel.js');
8
- require('../accordion/Accordion.js');
9
- require('../accordion/AccordionHeader.js');
10
- require('../aria-announcer/AriaAnnouncerContext.js');
11
- require('react/jsx-runtime');
12
- require('clsx');
13
- require('./useFloatingUI/useFloatingUI.js');
14
- require('./useId.js');
15
- var useIsomorphicLayoutEffect = require('./useIsomorphicLayoutEffect.js');
16
- require('../salt-provider/SaltProvider.js');
17
- require('../viewport/ViewportProvider.js');
18
4
  var useEventCallback = require('./useEventCallback.js');
19
- require('../avatar/Avatar.js');
20
- require('../badge/Badge.js');
21
- require('../banner/Banner.js');
22
- require('../banner/BannerActions.js');
23
- require('../banner/BannerContent.js');
24
- require('../border-item/BorderItem.js');
25
- require('../border-layout/BorderLayout.js');
26
- require('../breakpoints/BreakpointProvider.js');
27
- require('../button/Button.js');
28
- require('../card/Card.js');
29
- require('../checkbox/Checkbox.js');
30
- require('../checkbox/CheckboxGroup.js');
31
- require('@salt-ds/icons');
32
- require('@salt-ds/styles');
33
- require('@salt-ds/window');
34
- require('../combo-box/ComboBox.js');
35
- require('../dialog/Dialog.js');
36
- require('../dialog/DialogHeader.js');
37
- require('../dialog/DialogActions.js');
38
- require('../dialog/DialogContent.js');
39
- require('../dialog/DialogContext.js');
40
- require('../dialog/DialogCloseButton.js');
41
- require('../divider/Divider.js');
42
- require('../drawer/Drawer.js');
43
- require('../drawer/DrawerCloseButton.js');
44
- require('../dropdown/Dropdown.js');
45
- require('../file-drop-zone/FileDropZone.js');
46
- require('../file-drop-zone/FileDropZoneIcon.js');
47
- require('../file-drop-zone/FileDropZoneTrigger.js');
48
- require('../flex-item/FlexItem.js');
49
- require('../flex-layout/FlexLayout.js');
50
- require('../flow-layout/FlowLayout.js');
51
- require('../form-field/FormField.js');
52
- require('../form-field-context/FormFieldContext.js');
53
- require('../status-indicator/StatusIndicator.js');
54
- require('../text/Text.js');
55
- require('../text/Code.js');
56
- require('../text/Display.js');
57
- require('../text/Headings.js');
58
- require('../text/Label.js');
59
- require('../text/TextAction.js');
60
- require('../text/TextNotation.js');
61
- require('../grid-item/GridItem.js');
62
- require('../grid-layout/GridLayout.js');
63
- require('../input/Input.js');
64
- require('../interactable-card/InteractableCard.js');
65
- require('../interactable-card/InteractableCardGroup.js');
66
- require('../interactable-card/InteractableCardGroupContext.js');
67
- require('../link/Link.js');
68
- require('../link-card/LinkCard.js');
69
- require('../list-box/ListBox.js');
70
- require('../list-control/ListControlContext.js');
71
- require('@floating-ui/react');
72
- require('../menu/MenuContext.js');
73
- require('../menu/MenuItem.js');
74
- require('../menu/MenuPanel.js');
75
- require('../menu/MenuPanelContext.js');
76
- require('../menu/MenuTriggerContext.js');
77
- require('../menu/MenuGroup.js');
78
- require('../multiline-input/MultilineInput.js');
79
- require('../navigation-item/NavigationItem.js');
80
- require('../option/Option.js');
81
- require('../option/OptionGroup.js');
82
- require('../overlay/OverlayContext.js');
83
- require('../overlay/OverlayPanel.js');
84
- require('../overlay/OverlayPanelCloseButton.js');
85
- require('../overlay/OverlayPanelContent.js');
86
- require('../pagination/Pagination.js');
87
- require('../pagination/Paginator.js');
88
- require('../pagination/CompactInput.js');
89
- require('../pagination/CompactPaginator.js');
90
- require('../pagination/GoToInput.js');
91
- require('../panel/Panel.js');
92
- require('../parent-child-layout/ParentChildLayout.js');
93
- require('../pill/Pill.js');
94
- require('../progress/CircularProgress/CircularProgress.js');
95
- require('../progress/LinearProgress/LinearProgress.js');
96
- require('../radio-button/RadioButton.js');
97
- require('../radio-button/RadioButtonGroup.js');
98
- require('../scrim/Scrim.js');
99
- require('../segmented-button-group/SegmentedButtonGroup.js');
100
- require('../spinner/Spinner.js');
101
- require('../stack-layout/StackLayout.js');
102
- require('../status-adornment/StatusAdornment.js');
103
- require('../toast/Toast.js');
104
- require('../toast/ToastContent.js');
105
- require('../split-layout/SplitLayout.js');
106
- require('../switch/Switch.js');
107
- require('../tag/Tag.js');
108
- require('../toggle-button/ToggleButton.js');
109
- require('../toggle-button-group/ToggleButtonGroup.js');
110
- require('../toggle-button-group/ToggleButtonGroupContext.js');
111
- require('../tooltip/Tooltip.js');
112
- require('../semantic-icon-provider/SemanticIconProvider.js');
5
+ var useIsomorphicLayoutEffect = require('./useIsomorphicLayoutEffect.js');
113
6
 
114
7
  function useValueEffect(defaultValue) {
115
8
  const [value, setValue] = React.useState(defaultValue);
@@ -1 +1 @@
1
- {"version":3,"file":"useValueEffect.js","sources":["../src/utils/useValueEffect.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { type Dispatch, type MutableRefObject, useRef, useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"../index\";\nimport { useEventCallback } from \"./useEventCallback\";\n\ntype SetValueAction<S> = (prev: S) => Generator<any, void, unknown>;\n\n// This hook works like `useState`, but when setting the value, you pass a generator function\n// that can yield multiple values. Each yielded value updates the state and waits for the next\n// layout effect, then continues the generator. This allows sequential updates to state to be\n// written linearly.\nexport function useValueEffect<S>(\n defaultValue: S | (() => S),\n): [S, Dispatch<SetValueAction<S>>] {\n const [value, setValue] = useState(defaultValue);\n const effect: MutableRefObject<Generator<S> | null> =\n useRef<Generator<S> | null>(null);\n\n // Store the function in a ref so we can always access the current version\n // which has the proper `value` in scope.\n const nextRef = useEventCallback(() => {\n if (!effect.current) {\n return;\n }\n // Run the generator to the next yield.\n const newValue = effect.current.next();\n\n // If the generator is done, reset the effect.\n if (newValue.done) {\n effect.current = null;\n return;\n }\n\n // If the value is the same as the current value,\n // then continue to the next yield. Otherwise,\n // set the value in state and wait for the next layout effect.\n if (value === newValue.value) {\n nextRef();\n } else {\n setValue(newValue.value);\n }\n });\n\n useIsomorphicLayoutEffect(() => {\n // If there is an effect currently running, continue to the next yield.\n if (effect.current) {\n nextRef();\n }\n });\n\n const queue: Dispatch<SetValueAction<S>> = useEventCallback((fn) => {\n effect.current = fn(value);\n nextRef();\n });\n\n return [value, queue];\n}\n"],"names":["useState","useRef","useEventCallback","useIsomorphicLayoutEffect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBO,SAAS,eACd,YACkC,EAAA;AAClC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,eAAS,YAAY,CAAA,CAAA;AAC/C,EAAM,MAAA,MAAA,GACJC,aAA4B,IAAI,CAAA,CAAA;AAIlC,EAAM,MAAA,OAAA,GAAUC,kCAAiB,MAAM;AACrC,IAAI,IAAA,CAAC,OAAO,OAAS,EAAA;AACnB,MAAA,OAAA;AAAA,KACF;AAEA,IAAM,MAAA,QAAA,GAAW,MAAO,CAAA,OAAA,CAAQ,IAAK,EAAA,CAAA;AAGrC,IAAA,IAAI,SAAS,IAAM,EAAA;AACjB,MAAA,MAAA,CAAO,OAAU,GAAA,IAAA,CAAA;AACjB,MAAA,OAAA;AAAA,KACF;AAKA,IAAI,IAAA,KAAA,KAAU,SAAS,KAAO,EAAA;AAC5B,MAAQ,OAAA,EAAA,CAAA;AAAA,KACH,MAAA;AACL,MAAA,QAAA,CAAS,SAAS,KAAK,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CAAA,CAAA;AAED,EAAAC,mDAAA,CAA0B,MAAM;AAE9B,IAAA,IAAI,OAAO,OAAS,EAAA;AAClB,MAAQ,OAAA,EAAA,CAAA;AAAA,KACV;AAAA,GACD,CAAA,CAAA;AAED,EAAM,MAAA,KAAA,GAAqCD,iCAAiB,CAAA,CAAC,EAAO,KAAA;AAClE,IAAO,MAAA,CAAA,OAAA,GAAU,GAAG,KAAK,CAAA,CAAA;AACzB,IAAQ,OAAA,EAAA,CAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAO,OAAA,CAAC,OAAO,KAAK,CAAA,CAAA;AACtB;;;;"}
1
+ {"version":3,"file":"useValueEffect.js","sources":["../src/utils/useValueEffect.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { type Dispatch, type MutableRefObject, useRef, useState } from \"react\";\nimport { useEventCallback } from \"./useEventCallback\";\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect\";\n\ntype SetValueAction<S> = (prev: S) => Generator<any, void, unknown>;\n\n// This hook works like `useState`, but when setting the value, you pass a generator function\n// that can yield multiple values. Each yielded value updates the state and waits for the next\n// layout effect, then continues the generator. This allows sequential updates to state to be\n// written linearly.\nexport function useValueEffect<S>(\n defaultValue: S | (() => S),\n): [S, Dispatch<SetValueAction<S>>] {\n const [value, setValue] = useState(defaultValue);\n const effect: MutableRefObject<Generator<S> | null> =\n useRef<Generator<S> | null>(null);\n\n // Store the function in a ref so we can always access the current version\n // which has the proper `value` in scope.\n const nextRef = useEventCallback(() => {\n if (!effect.current) {\n return;\n }\n // Run the generator to the next yield.\n const newValue = effect.current.next();\n\n // If the generator is done, reset the effect.\n if (newValue.done) {\n effect.current = null;\n return;\n }\n\n // If the value is the same as the current value,\n // then continue to the next yield. Otherwise,\n // set the value in state and wait for the next layout effect.\n if (value === newValue.value) {\n nextRef();\n } else {\n setValue(newValue.value);\n }\n });\n\n useIsomorphicLayoutEffect(() => {\n // If there is an effect currently running, continue to the next yield.\n if (effect.current) {\n nextRef();\n }\n });\n\n const queue: Dispatch<SetValueAction<S>> = useEventCallback((fn) => {\n effect.current = fn(value);\n nextRef();\n });\n\n return [value, queue];\n}\n"],"names":["useState","useRef","useEventCallback","useIsomorphicLayoutEffect"],"mappings":";;;;;;AAsBO,SAAS,eACd,YACkC,EAAA;AAClC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,eAAS,YAAY,CAAA;AAC/C,EAAM,MAAA,MAAA,GACJC,aAA4B,IAAI,CAAA;AAIlC,EAAM,MAAA,OAAA,GAAUC,kCAAiB,MAAM;AACrC,IAAI,IAAA,CAAC,OAAO,OAAS,EAAA;AACnB,MAAA;AAAA;AAGF,IAAM,MAAA,QAAA,GAAW,MAAO,CAAA,OAAA,CAAQ,IAAK,EAAA;AAGrC,IAAA,IAAI,SAAS,IAAM,EAAA;AACjB,MAAA,MAAA,CAAO,OAAU,GAAA,IAAA;AACjB,MAAA;AAAA;AAMF,IAAI,IAAA,KAAA,KAAU,SAAS,KAAO,EAAA;AAC5B,MAAQ,OAAA,EAAA;AAAA,KACH,MAAA;AACL,MAAA,QAAA,CAAS,SAAS,KAAK,CAAA;AAAA;AACzB,GACD,CAAA;AAED,EAAAC,mDAAA,CAA0B,MAAM;AAE9B,IAAA,IAAI,OAAO,OAAS,EAAA;AAClB,MAAQ,OAAA,EAAA;AAAA;AACV,GACD,CAAA;AAED,EAAM,MAAA,KAAA,GAAqCD,iCAAiB,CAAA,CAAC,EAAO,KAAA;AAClE,IAAO,MAAA,CAAA,OAAA,GAAU,GAAG,KAAK,CAAA;AACzB,IAAQ,OAAA,EAAA;AAAA,GACT,CAAA;AAED,EAAO,OAAA,CAAC,OAAO,KAAK,CAAA;AACtB;;;;"}