@salt-ds/core 1.37.1 → 1.37.2

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 (668) hide show
  1. package/CHANGELOG.md +1753 -0
  2. package/css/salt-core.css +75 -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 +29 -123
  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 +34 -133
  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.js +30 -121
  98. package/dist-cjs/form-field/FormField.js.map +1 -1
  99. package/dist-cjs/form-field/FormFieldHelperText.js +24 -114
  100. package/dist-cjs/form-field/FormFieldHelperText.js.map +1 -1
  101. package/dist-cjs/form-field/FormFieldLabel.js +15 -106
  102. package/dist-cjs/form-field/FormFieldLabel.js.map +1 -1
  103. package/dist-cjs/form-field-context/FormFieldContext.js +0 -100
  104. package/dist-cjs/form-field-context/FormFieldContext.js.map +1 -1
  105. package/dist-cjs/form-field-context/useFormFieldProps.js +0 -2
  106. package/dist-cjs/form-field-context/useFormFieldProps.js.map +1 -1
  107. package/dist-cjs/grid-item/GridItem.js +10 -106
  108. package/dist-cjs/grid-item/GridItem.js.map +1 -1
  109. package/dist-cjs/grid-layout/GridLayout.js +13 -109
  110. package/dist-cjs/grid-layout/GridLayout.js.map +1 -1
  111. package/dist-cjs/index.js +0 -2
  112. package/dist-cjs/index.js.map +1 -1
  113. package/dist-cjs/input/Input.js +49 -149
  114. package/dist-cjs/input/Input.js.map +1 -1
  115. package/dist-cjs/interactable-card/InteractableCard.js +28 -122
  116. package/dist-cjs/interactable-card/InteractableCard.js.map +1 -1
  117. package/dist-cjs/interactable-card/InteractableCardGroup.js +9 -106
  118. package/dist-cjs/interactable-card/InteractableCardGroup.js.map +1 -1
  119. package/dist-cjs/interactable-card/InteractableCardGroupContext.js +0 -100
  120. package/dist-cjs/interactable-card/InteractableCardGroupContext.js.map +1 -1
  121. package/dist-cjs/interactable-card/useInteractableCard.js +0 -2
  122. package/dist-cjs/interactable-card/useInteractableCard.js.map +1 -1
  123. package/dist-cjs/link/Link.js +22 -117
  124. package/dist-cjs/link/Link.js.map +1 -1
  125. package/dist-cjs/link-card/LinkCard.js +18 -113
  126. package/dist-cjs/link-card/LinkCard.js.map +1 -1
  127. package/dist-cjs/list-box/ListBox.js +8 -106
  128. package/dist-cjs/list-box/ListBox.js.map +1 -1
  129. package/dist-cjs/list-control/ListControlContext.js +0 -100
  130. package/dist-cjs/list-control/ListControlContext.js.map +1 -1
  131. package/dist-cjs/list-control/ListControlState.js +3 -104
  132. package/dist-cjs/list-control/ListControlState.js.map +1 -1
  133. package/dist-cjs/menu/Menu.js +2 -10
  134. package/dist-cjs/menu/Menu.js.map +1 -1
  135. package/dist-cjs/menu/MenuBase.js +10 -109
  136. package/dist-cjs/menu/MenuBase.js.map +1 -1
  137. package/dist-cjs/menu/MenuContext.js +0 -100
  138. package/dist-cjs/menu/MenuContext.js.map +1 -1
  139. package/dist-cjs/menu/MenuGroup.js +14 -114
  140. package/dist-cjs/menu/MenuGroup.js.map +1 -1
  141. package/dist-cjs/menu/MenuItem.js +51 -143
  142. package/dist-cjs/menu/MenuItem.js.map +1 -1
  143. package/dist-cjs/menu/MenuPanel.js +27 -123
  144. package/dist-cjs/menu/MenuPanel.js.map +1 -1
  145. package/dist-cjs/menu/MenuPanelBase.js +1 -7
  146. package/dist-cjs/menu/MenuPanelBase.js.map +1 -1
  147. package/dist-cjs/menu/MenuPanelContext.js +0 -100
  148. package/dist-cjs/menu/MenuPanelContext.js.map +1 -1
  149. package/dist-cjs/menu/MenuTrigger.js +20 -118
  150. package/dist-cjs/menu/MenuTrigger.js.map +1 -1
  151. package/dist-cjs/menu/MenuTriggerContext.js +0 -100
  152. package/dist-cjs/menu/MenuTriggerContext.js.map +1 -1
  153. package/dist-cjs/multiline-input/MultilineInput.js +54 -161
  154. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -1
  155. package/dist-cjs/navigation-item/ExpansionIcon.js +1 -5
  156. package/dist-cjs/navigation-item/ExpansionIcon.js.map +1 -1
  157. package/dist-cjs/navigation-item/NavigationItem.js +32 -132
  158. package/dist-cjs/navigation-item/NavigationItem.js.map +1 -1
  159. package/dist-cjs/navigation-item/NavigationItemAction.js +0 -102
  160. package/dist-cjs/navigation-item/NavigationItemAction.js.map +1 -1
  161. package/dist-cjs/option/Option.js +32 -120
  162. package/dist-cjs/option/Option.js.map +1 -1
  163. package/dist-cjs/option/OptionGroup.js +14 -114
  164. package/dist-cjs/option/OptionGroup.js.map +1 -1
  165. package/dist-cjs/option/OptionList.js +17 -117
  166. package/dist-cjs/option/OptionList.js.map +1 -1
  167. package/dist-cjs/option/OptionListBase.js +9 -105
  168. package/dist-cjs/option/OptionListBase.js.map +1 -1
  169. package/dist-cjs/overlay/Overlay.js +18 -114
  170. package/dist-cjs/overlay/Overlay.js.map +1 -1
  171. package/dist-cjs/overlay/OverlayContext.js +0 -100
  172. package/dist-cjs/overlay/OverlayContext.js.map +1 -1
  173. package/dist-cjs/overlay/OverlayPanel.js +34 -127
  174. package/dist-cjs/overlay/OverlayPanel.js.map +1 -1
  175. package/dist-cjs/overlay/OverlayPanelCloseButton.js +7 -109
  176. package/dist-cjs/overlay/OverlayPanelCloseButton.js.map +1 -1
  177. package/dist-cjs/overlay/OverlayPanelContent.css.js +1 -1
  178. package/dist-cjs/overlay/OverlayPanelContent.js +41 -107
  179. package/dist-cjs/overlay/OverlayPanelContent.js.map +1 -1
  180. package/dist-cjs/overlay/OverlayTrigger.js +6 -111
  181. package/dist-cjs/overlay/OverlayTrigger.js.map +1 -1
  182. package/dist-cjs/pagination/CompactInput.js +20 -114
  183. package/dist-cjs/pagination/CompactInput.js.map +1 -1
  184. package/dist-cjs/pagination/CompactPaginator.js +21 -123
  185. package/dist-cjs/pagination/CompactPaginator.js.map +1 -1
  186. package/dist-cjs/pagination/GoToInput.js +31 -114
  187. package/dist-cjs/pagination/GoToInput.js.map +1 -1
  188. package/dist-cjs/pagination/PageButton.js +17 -112
  189. package/dist-cjs/pagination/PageButton.js.map +1 -1
  190. package/dist-cjs/pagination/PageRanges.js +15 -126
  191. package/dist-cjs/pagination/PageRanges.js.map +1 -1
  192. package/dist-cjs/pagination/Pagination.js +6 -103
  193. package/dist-cjs/pagination/Pagination.js.map +1 -1
  194. package/dist-cjs/pagination/PaginationContext.js +0 -2
  195. package/dist-cjs/pagination/PaginationContext.js.map +1 -1
  196. package/dist-cjs/pagination/Paginator.js +19 -121
  197. package/dist-cjs/pagination/Paginator.js.map +1 -1
  198. package/dist-cjs/pagination/usePagination.js +0 -2
  199. package/dist-cjs/pagination/usePagination.js.map +1 -1
  200. package/dist-cjs/pagination/usePaginationContext.js +0 -2
  201. package/dist-cjs/pagination/usePaginationContext.js.map +1 -1
  202. package/dist-cjs/panel/Panel.js +9 -104
  203. package/dist-cjs/panel/Panel.js.map +1 -1
  204. package/dist-cjs/parent-child-layout/ParentChildLayout.js +24 -123
  205. package/dist-cjs/parent-child-layout/ParentChildLayout.js.map +1 -1
  206. package/dist-cjs/parent-child-layout/useIsViewportLargerThanBreakpoint.js +0 -103
  207. package/dist-cjs/parent-child-layout/useIsViewportLargerThanBreakpoint.js.map +1 -1
  208. package/dist-cjs/pill/Pill.js +17 -115
  209. package/dist-cjs/pill/Pill.js.map +1 -1
  210. package/dist-cjs/pill-input/PillInput.js +97 -204
  211. package/dist-cjs/pill-input/PillInput.js.map +1 -1
  212. package/dist-cjs/pill-input/useTruncatePills.js +0 -2
  213. package/dist-cjs/pill-input/useTruncatePills.js.map +1 -1
  214. package/dist-cjs/progress/CircularProgress/CircularProgress.js +44 -153
  215. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
  216. package/dist-cjs/progress/LinearProgress/LinearProgress.js +28 -125
  217. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
  218. package/dist-cjs/radio-button/RadioButton.css.js +1 -1
  219. package/dist-cjs/radio-button/RadioButton.js +60 -150
  220. package/dist-cjs/radio-button/RadioButton.js.map +1 -1
  221. package/dist-cjs/radio-button/RadioButtonGroup.js +36 -127
  222. package/dist-cjs/radio-button/RadioButtonGroup.js.map +1 -1
  223. package/dist-cjs/radio-button/RadioButtonIcon.js +45 -134
  224. package/dist-cjs/radio-button/RadioButtonIcon.js.map +1 -1
  225. package/dist-cjs/radio-button/internal/RadioGroupContext.js +0 -101
  226. package/dist-cjs/radio-button/internal/RadioGroupContext.js.map +1 -1
  227. package/dist-cjs/radio-button/internal/useRadioGroup.js +0 -2
  228. package/dist-cjs/radio-button/internal/useRadioGroup.js.map +1 -1
  229. package/dist-cjs/salt-provider/SaltProvider.js +32 -155
  230. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  231. package/dist-cjs/scrim/Scrim.js +16 -111
  232. package/dist-cjs/scrim/Scrim.js.map +1 -1
  233. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js +1 -104
  234. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js.map +1 -1
  235. package/dist-cjs/semantic-icon-provider/SemanticIconProvider.js +1 -6
  236. package/dist-cjs/semantic-icon-provider/SemanticIconProvider.js.map +1 -1
  237. package/dist-cjs/spinner/Spinner.js +16 -116
  238. package/dist-cjs/spinner/Spinner.js.map +1 -1
  239. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js +43 -141
  240. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  241. package/dist-cjs/split-layout/SplitLayout.js +13 -107
  242. package/dist-cjs/split-layout/SplitLayout.js.map +1 -1
  243. package/dist-cjs/stack-layout/StackLayout.js +21 -116
  244. package/dist-cjs/stack-layout/StackLayout.js.map +1 -1
  245. package/dist-cjs/status-adornment/ErrorAdornment.js +5 -11
  246. package/dist-cjs/status-adornment/ErrorAdornment.js.map +1 -1
  247. package/dist-cjs/status-adornment/StatusAdornment.js +9 -104
  248. package/dist-cjs/status-adornment/StatusAdornment.js.map +1 -1
  249. package/dist-cjs/status-adornment/SuccessAdornment.js +18 -14
  250. package/dist-cjs/status-adornment/SuccessAdornment.js.map +1 -1
  251. package/dist-cjs/status-adornment/WarningAdornment.js +1 -12
  252. package/dist-cjs/status-adornment/WarningAdornment.js.map +1 -1
  253. package/dist-cjs/status-indicator/StatusIndicator.js +10 -103
  254. package/dist-cjs/status-indicator/StatusIndicator.js.map +1 -1
  255. package/dist-cjs/status-indicator/ValidationStatus.js +0 -2
  256. package/dist-cjs/status-indicator/ValidationStatus.js.map +1 -1
  257. package/dist-cjs/switch/Switch.js +44 -150
  258. package/dist-cjs/switch/Switch.js.map +1 -1
  259. package/dist-cjs/tag/Tag.js +17 -112
  260. package/dist-cjs/tag/Tag.js.map +1 -1
  261. package/dist-cjs/text/Code.js +1 -8
  262. package/dist-cjs/text/Code.js.map +1 -1
  263. package/dist-cjs/text/Display.js +4 -30
  264. package/dist-cjs/text/Display.js.map +1 -1
  265. package/dist-cjs/text/Headings.js +4 -26
  266. package/dist-cjs/text/Headings.js.map +1 -1
  267. package/dist-cjs/text/Label.js +1 -8
  268. package/dist-cjs/text/Label.js.map +1 -1
  269. package/dist-cjs/text/Text.js +21 -117
  270. package/dist-cjs/text/Text.js.map +1 -1
  271. package/dist-cjs/text/TextAction.js +1 -9
  272. package/dist-cjs/text/TextAction.js.map +1 -1
  273. package/dist-cjs/text/TextNotation.js +1 -9
  274. package/dist-cjs/text/TextNotation.js.map +1 -1
  275. package/dist-cjs/theme/Accent.js +0 -2
  276. package/dist-cjs/theme/Accent.js.map +1 -1
  277. package/dist-cjs/theme/ActionFont.js +0 -2
  278. package/dist-cjs/theme/ActionFont.js.map +1 -1
  279. package/dist-cjs/theme/Corner.js +0 -2
  280. package/dist-cjs/theme/Corner.js.map +1 -1
  281. package/dist-cjs/theme/Density.js +0 -2
  282. package/dist-cjs/theme/Density.js.map +1 -1
  283. package/dist-cjs/theme/HeadingFont.js +0 -2
  284. package/dist-cjs/theme/HeadingFont.js.map +1 -1
  285. package/dist-cjs/theme/Mode.js +0 -2
  286. package/dist-cjs/theme/Mode.js.map +1 -1
  287. package/dist-cjs/theme/Theme.js +0 -2
  288. package/dist-cjs/theme/Theme.js.map +1 -1
  289. package/dist-cjs/toast/Toast.js +17 -116
  290. package/dist-cjs/toast/Toast.js.map +1 -1
  291. package/dist-cjs/toast/ToastContent.js +1 -104
  292. package/dist-cjs/toast/ToastContent.js.map +1 -1
  293. package/dist-cjs/toggle-button/ToggleButton.css.js +1 -1
  294. package/dist-cjs/toggle-button/ToggleButton.js +18 -111
  295. package/dist-cjs/toggle-button/ToggleButton.js.map +1 -1
  296. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +10 -107
  297. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  298. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js +0 -100
  299. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  300. package/dist-cjs/tooltip/Tooltip.js +25 -119
  301. package/dist-cjs/tooltip/Tooltip.js.map +1 -1
  302. package/dist-cjs/tooltip/TooltipBase.js +25 -117
  303. package/dist-cjs/tooltip/TooltipBase.js.map +1 -1
  304. package/dist-cjs/tooltip/useAriaAnnounce.js +2 -104
  305. package/dist-cjs/tooltip/useAriaAnnounce.js.map +1 -1
  306. package/dist-cjs/tooltip/useTooltip.js +4 -103
  307. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  308. package/dist-cjs/utils/capitalize.js +0 -2
  309. package/dist-cjs/utils/capitalize.js.map +1 -1
  310. package/dist-cjs/utils/createChainedFunction.js +0 -2
  311. package/dist-cjs/utils/createChainedFunction.js.map +1 -1
  312. package/dist-cjs/utils/createContext.js +0 -2
  313. package/dist-cjs/utils/createContext.js.map +1 -1
  314. package/dist-cjs/utils/debounce.js +0 -2
  315. package/dist-cjs/utils/debounce.js.map +1 -1
  316. package/dist-cjs/utils/getRefFromChildren.js +4 -3
  317. package/dist-cjs/utils/getRefFromChildren.js.map +1 -1
  318. package/dist-cjs/utils/makePrefixer.js +0 -2
  319. package/dist-cjs/utils/makePrefixer.js.map +1 -1
  320. package/dist-cjs/utils/marginMiddleware.js +0 -2
  321. package/dist-cjs/utils/marginMiddleware.js.map +1 -1
  322. package/dist-cjs/utils/mergeProps.js +0 -2
  323. package/dist-cjs/utils/mergeProps.js.map +1 -1
  324. package/dist-cjs/utils/ownerDocument.js +0 -2
  325. package/dist-cjs/utils/ownerDocument.js.map +1 -1
  326. package/dist-cjs/utils/ownerWindow.js +0 -2
  327. package/dist-cjs/utils/ownerWindow.js.map +1 -1
  328. package/dist-cjs/utils/renderProps.js +1 -5
  329. package/dist-cjs/utils/renderProps.js.map +1 -1
  330. package/dist-cjs/utils/setRef.js +0 -2
  331. package/dist-cjs/utils/setRef.js.map +1 -1
  332. package/dist-cjs/utils/useControlled.js +0 -2
  333. package/dist-cjs/utils/useControlled.js.map +1 -1
  334. package/dist-cjs/utils/useEventCallback.js +4 -3
  335. package/dist-cjs/utils/useEventCallback.js.map +1 -1
  336. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js +6 -33
  337. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  338. package/dist-cjs/utils/useForkRef.js +0 -2
  339. package/dist-cjs/utils/useForkRef.js.map +1 -1
  340. package/dist-cjs/utils/useId.js +5 -8
  341. package/dist-cjs/utils/useId.js.map +1 -1
  342. package/dist-cjs/utils/useIsFocusVisible.js +0 -2
  343. package/dist-cjs/utils/useIsFocusVisible.js.map +1 -1
  344. package/dist-cjs/utils/useIsomorphicLayoutEffect.js +0 -2
  345. package/dist-cjs/utils/useIsomorphicLayoutEffect.js.map +1 -1
  346. package/dist-cjs/utils/usePrevious.js +0 -2
  347. package/dist-cjs/utils/usePrevious.js.map +1 -1
  348. package/dist-cjs/utils/useResizeObserver.js +5 -7
  349. package/dist-cjs/utils/useResizeObserver.js.map +1 -1
  350. package/dist-cjs/utils/useResponsiveProp.js +2 -5
  351. package/dist-cjs/utils/useResponsiveProp.js.map +1 -1
  352. package/dist-cjs/utils/useValueEffect.js +1 -108
  353. package/dist-cjs/utils/useValueEffect.js.map +1 -1
  354. package/dist-cjs/viewport/ViewportProvider.js +1 -109
  355. package/dist-cjs/viewport/ViewportProvider.js.map +1 -1
  356. package/dist-es/accordion/Accordion.js +31 -121
  357. package/dist-es/accordion/Accordion.js.map +1 -1
  358. package/dist-es/accordion/AccordionContext.js +0 -99
  359. package/dist-es/accordion/AccordionContext.js.map +1 -1
  360. package/dist-es/accordion/AccordionGroup.js +1 -101
  361. package/dist-es/accordion/AccordionGroup.js.map +1 -1
  362. package/dist-es/accordion/AccordionHeader.js +33 -134
  363. package/dist-es/accordion/AccordionHeader.js.map +1 -1
  364. package/dist-es/accordion/AccordionPanel.js +22 -115
  365. package/dist-es/accordion/AccordionPanel.js.map +1 -1
  366. package/dist-es/aria-announcer/AriaAnnounce.js.map +1 -1
  367. package/dist-es/aria-announcer/AriaAnnouncerContext.js.map +1 -1
  368. package/dist-es/aria-announcer/AriaAnnouncerProvider.js +8 -8
  369. package/dist-es/aria-announcer/AriaAnnouncerProvider.js.map +1 -1
  370. package/dist-es/aria-announcer/useAriaAnnouncer.js +0 -104
  371. package/dist-es/aria-announcer/useAriaAnnouncer.js.map +1 -1
  372. package/dist-es/avatar/Avatar.js +18 -115
  373. package/dist-es/avatar/Avatar.js.map +1 -1
  374. package/dist-es/avatar/useAvatarImage.js +0 -99
  375. package/dist-es/avatar/useAvatarImage.js.map +1 -1
  376. package/dist-es/badge/Badge.js +8 -106
  377. package/dist-es/badge/Badge.js.map +1 -1
  378. package/dist-es/banner/Banner.js +18 -113
  379. package/dist-es/banner/Banner.js.map +1 -1
  380. package/dist-es/banner/BannerActions.js +1 -101
  381. package/dist-es/banner/BannerActions.js.map +1 -1
  382. package/dist-es/banner/BannerContent.js +1 -101
  383. package/dist-es/banner/BannerContent.js.map +1 -1
  384. package/dist-es/border-item/BorderItem.js +17 -109
  385. package/dist-es/border-item/BorderItem.js.map +1 -1
  386. package/dist-es/border-layout/BorderLayout.js +12 -106
  387. package/dist-es/border-layout/BorderLayout.js.map +1 -1
  388. package/dist-es/breakpoints/BreakpointProvider.js +2 -109
  389. package/dist-es/breakpoints/BreakpointProvider.js.map +1 -1
  390. package/dist-es/breakpoints/Breakpoints.js.map +1 -1
  391. package/dist-es/button/Button.js +24 -118
  392. package/dist-es/button/Button.js.map +1 -1
  393. package/dist-es/button/useButton.js.map +1 -1
  394. package/dist-es/card/Card.js +21 -113
  395. package/dist-es/card/Card.js.map +1 -1
  396. package/dist-es/checkbox/Checkbox.css.js +1 -1
  397. package/dist-es/checkbox/Checkbox.js +62 -148
  398. package/dist-es/checkbox/Checkbox.js.map +1 -1
  399. package/dist-es/checkbox/CheckboxGroup.js +32 -121
  400. package/dist-es/checkbox/CheckboxGroup.js.map +1 -1
  401. package/dist-es/checkbox/CheckboxIcon.js +24 -129
  402. package/dist-es/checkbox/CheckboxIcon.js.map +1 -1
  403. package/dist-es/checkbox/internal/CheckboxGroupContext.js +0 -99
  404. package/dist-es/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  405. package/dist-es/checkbox/internal/useCheckboxGroup.js.map +1 -1
  406. package/dist-es/combo-box/ComboBox.js +29 -121
  407. package/dist-es/combo-box/ComboBox.js.map +1 -1
  408. package/dist-es/combo-box/useComboBox.js +1 -100
  409. package/dist-es/combo-box/useComboBox.js.map +1 -1
  410. package/dist-es/dialog/Dialog.js +38 -141
  411. package/dist-es/dialog/Dialog.js.map +1 -1
  412. package/dist-es/dialog/DialogActions.js +1 -102
  413. package/dist-es/dialog/DialogActions.js.map +1 -1
  414. package/dist-es/dialog/DialogCloseButton.js +11 -104
  415. package/dist-es/dialog/DialogCloseButton.js.map +1 -1
  416. package/dist-es/dialog/DialogContent.css.js +1 -1
  417. package/dist-es/dialog/DialogContent.js +40 -112
  418. package/dist-es/dialog/DialogContent.js.map +1 -1
  419. package/dist-es/dialog/DialogContext.js.map +1 -1
  420. package/dist-es/dialog/DialogHeader.js +24 -119
  421. package/dist-es/dialog/DialogHeader.js.map +1 -1
  422. package/dist-es/divider/Divider.js +15 -108
  423. package/dist-es/divider/Divider.js.map +1 -1
  424. package/dist-es/drawer/Drawer.js +13 -112
  425. package/dist-es/drawer/Drawer.js.map +1 -1
  426. package/dist-es/drawer/DrawerCloseButton.js +7 -103
  427. package/dist-es/drawer/DrawerCloseButton.js.map +1 -1
  428. package/dist-es/dropdown/Dropdown.js +34 -131
  429. package/dist-es/dropdown/Dropdown.js.map +1 -1
  430. package/dist-es/file-drop-zone/FileDropZone.js +21 -114
  431. package/dist-es/file-drop-zone/FileDropZone.js.map +1 -1
  432. package/dist-es/file-drop-zone/FileDropZoneIcon.js +2 -7
  433. package/dist-es/file-drop-zone/FileDropZoneIcon.js.map +1 -1
  434. package/dist-es/file-drop-zone/FileDropZoneTrigger.js +14 -108
  435. package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  436. package/dist-es/file-drop-zone/internal/utils.js +1 -2
  437. package/dist-es/file-drop-zone/internal/utils.js.map +1 -1
  438. package/dist-es/flex-item/FlexItem.js +10 -104
  439. package/dist-es/flex-item/FlexItem.js.map +1 -1
  440. package/dist-es/flex-layout/FlexLayout.js +21 -115
  441. package/dist-es/flex-layout/FlexLayout.js.map +1 -1
  442. package/dist-es/flow-layout/FlowLayout.js +1 -7
  443. package/dist-es/flow-layout/FlowLayout.js.map +1 -1
  444. package/dist-es/form-field/FormField.js +30 -119
  445. package/dist-es/form-field/FormField.js.map +1 -1
  446. package/dist-es/form-field/FormFieldHelperText.js +24 -108
  447. package/dist-es/form-field/FormFieldHelperText.js.map +1 -1
  448. package/dist-es/form-field/FormFieldLabel.js +15 -104
  449. package/dist-es/form-field/FormFieldLabel.js.map +1 -1
  450. package/dist-es/form-field-context/FormFieldContext.js +0 -98
  451. package/dist-es/form-field-context/FormFieldContext.js.map +1 -1
  452. package/dist-es/form-field-context/useFormFieldProps.js.map +1 -1
  453. package/dist-es/grid-item/GridItem.js +10 -104
  454. package/dist-es/grid-item/GridItem.js.map +1 -1
  455. package/dist-es/grid-layout/GridLayout.js +13 -107
  456. package/dist-es/grid-layout/GridLayout.js.map +1 -1
  457. package/dist-es/input/Input.js +49 -147
  458. package/dist-es/input/Input.js.map +1 -1
  459. package/dist-es/interactable-card/InteractableCard.js +28 -120
  460. package/dist-es/interactable-card/InteractableCard.js.map +1 -1
  461. package/dist-es/interactable-card/InteractableCardGroup.js +9 -104
  462. package/dist-es/interactable-card/InteractableCardGroup.js.map +1 -1
  463. package/dist-es/interactable-card/InteractableCardGroupContext.js +0 -98
  464. package/dist-es/interactable-card/InteractableCardGroupContext.js.map +1 -1
  465. package/dist-es/interactable-card/useInteractableCard.js.map +1 -1
  466. package/dist-es/link/Link.js +22 -115
  467. package/dist-es/link/Link.js.map +1 -1
  468. package/dist-es/link-card/LinkCard.js +18 -111
  469. package/dist-es/link-card/LinkCard.js.map +1 -1
  470. package/dist-es/list-box/ListBox.js +8 -104
  471. package/dist-es/list-box/ListBox.js.map +1 -1
  472. package/dist-es/list-control/ListControlContext.js +0 -98
  473. package/dist-es/list-control/ListControlContext.js.map +1 -1
  474. package/dist-es/list-control/ListControlState.js +3 -102
  475. package/dist-es/list-control/ListControlState.js.map +1 -1
  476. package/dist-es/menu/Menu.js +2 -8
  477. package/dist-es/menu/Menu.js.map +1 -1
  478. package/dist-es/menu/MenuBase.js +10 -107
  479. package/dist-es/menu/MenuBase.js.map +1 -1
  480. package/dist-es/menu/MenuContext.js +0 -98
  481. package/dist-es/menu/MenuContext.js.map +1 -1
  482. package/dist-es/menu/MenuGroup.js +14 -112
  483. package/dist-es/menu/MenuGroup.js.map +1 -1
  484. package/dist-es/menu/MenuItem.js +51 -141
  485. package/dist-es/menu/MenuItem.js.map +1 -1
  486. package/dist-es/menu/MenuPanel.js +27 -121
  487. package/dist-es/menu/MenuPanel.js.map +1 -1
  488. package/dist-es/menu/MenuPanelBase.js +1 -5
  489. package/dist-es/menu/MenuPanelBase.js.map +1 -1
  490. package/dist-es/menu/MenuPanelContext.js +0 -98
  491. package/dist-es/menu/MenuPanelContext.js.map +1 -1
  492. package/dist-es/menu/MenuTrigger.js +20 -116
  493. package/dist-es/menu/MenuTrigger.js.map +1 -1
  494. package/dist-es/menu/MenuTriggerContext.js +0 -98
  495. package/dist-es/menu/MenuTriggerContext.js.map +1 -1
  496. package/dist-es/multiline-input/MultilineInput.js +54 -159
  497. package/dist-es/multiline-input/MultilineInput.js.map +1 -1
  498. package/dist-es/navigation-item/ExpansionIcon.js +1 -3
  499. package/dist-es/navigation-item/ExpansionIcon.js.map +1 -1
  500. package/dist-es/navigation-item/NavigationItem.js +32 -130
  501. package/dist-es/navigation-item/NavigationItem.js.map +1 -1
  502. package/dist-es/navigation-item/NavigationItemAction.js +0 -100
  503. package/dist-es/navigation-item/NavigationItemAction.js.map +1 -1
  504. package/dist-es/option/Option.js +32 -118
  505. package/dist-es/option/Option.js.map +1 -1
  506. package/dist-es/option/OptionGroup.js +14 -112
  507. package/dist-es/option/OptionGroup.js.map +1 -1
  508. package/dist-es/option/OptionList.js +17 -115
  509. package/dist-es/option/OptionList.js.map +1 -1
  510. package/dist-es/option/OptionListBase.js +9 -103
  511. package/dist-es/option/OptionListBase.js.map +1 -1
  512. package/dist-es/overlay/Overlay.js +18 -112
  513. package/dist-es/overlay/Overlay.js.map +1 -1
  514. package/dist-es/overlay/OverlayContext.js +0 -98
  515. package/dist-es/overlay/OverlayContext.js.map +1 -1
  516. package/dist-es/overlay/OverlayPanel.js +34 -125
  517. package/dist-es/overlay/OverlayPanel.js.map +1 -1
  518. package/dist-es/overlay/OverlayPanelCloseButton.js +7 -103
  519. package/dist-es/overlay/OverlayPanelCloseButton.js.map +1 -1
  520. package/dist-es/overlay/OverlayPanelContent.css.js +1 -1
  521. package/dist-es/overlay/OverlayPanelContent.js +43 -103
  522. package/dist-es/overlay/OverlayPanelContent.js.map +1 -1
  523. package/dist-es/overlay/OverlayTrigger.js +6 -109
  524. package/dist-es/overlay/OverlayTrigger.js.map +1 -1
  525. package/dist-es/pagination/CompactInput.js +20 -112
  526. package/dist-es/pagination/CompactInput.js.map +1 -1
  527. package/dist-es/pagination/CompactPaginator.js +21 -121
  528. package/dist-es/pagination/CompactPaginator.js.map +1 -1
  529. package/dist-es/pagination/GoToInput.js +31 -112
  530. package/dist-es/pagination/GoToInput.js.map +1 -1
  531. package/dist-es/pagination/PageButton.js +17 -110
  532. package/dist-es/pagination/PageButton.js.map +1 -1
  533. package/dist-es/pagination/PageRanges.js +15 -124
  534. package/dist-es/pagination/PageRanges.js.map +1 -1
  535. package/dist-es/pagination/Pagination.js +6 -101
  536. package/dist-es/pagination/Pagination.js.map +1 -1
  537. package/dist-es/pagination/PaginationContext.js.map +1 -1
  538. package/dist-es/pagination/Paginator.js +19 -119
  539. package/dist-es/pagination/Paginator.js.map +1 -1
  540. package/dist-es/pagination/usePagination.js.map +1 -1
  541. package/dist-es/pagination/usePaginationContext.js.map +1 -1
  542. package/dist-es/panel/Panel.js +9 -102
  543. package/dist-es/panel/Panel.js.map +1 -1
  544. package/dist-es/parent-child-layout/ParentChildLayout.js +24 -121
  545. package/dist-es/parent-child-layout/ParentChildLayout.js.map +1 -1
  546. package/dist-es/parent-child-layout/useIsViewportLargerThanBreakpoint.js +0 -101
  547. package/dist-es/parent-child-layout/useIsViewportLargerThanBreakpoint.js.map +1 -1
  548. package/dist-es/pill/Pill.js +17 -109
  549. package/dist-es/pill/Pill.js.map +1 -1
  550. package/dist-es/pill-input/PillInput.js +97 -202
  551. package/dist-es/pill-input/PillInput.js.map +1 -1
  552. package/dist-es/pill-input/useTruncatePills.js.map +1 -1
  553. package/dist-es/progress/CircularProgress/CircularProgress.js +44 -151
  554. package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
  555. package/dist-es/progress/LinearProgress/LinearProgress.js +28 -123
  556. package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
  557. package/dist-es/radio-button/RadioButton.css.js +1 -1
  558. package/dist-es/radio-button/RadioButton.js +60 -148
  559. package/dist-es/radio-button/RadioButton.js.map +1 -1
  560. package/dist-es/radio-button/RadioButtonGroup.js +36 -125
  561. package/dist-es/radio-button/RadioButtonGroup.js.map +1 -1
  562. package/dist-es/radio-button/RadioButtonIcon.js +45 -132
  563. package/dist-es/radio-button/RadioButtonIcon.js.map +1 -1
  564. package/dist-es/radio-button/internal/RadioGroupContext.js +0 -99
  565. package/dist-es/radio-button/internal/RadioGroupContext.js.map +1 -1
  566. package/dist-es/radio-button/internal/useRadioGroup.js.map +1 -1
  567. package/dist-es/salt-provider/SaltProvider.js +32 -153
  568. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  569. package/dist-es/scrim/Scrim.js +16 -109
  570. package/dist-es/scrim/Scrim.js.map +1 -1
  571. package/dist-es/segmented-button-group/SegmentedButtonGroup.js +1 -102
  572. package/dist-es/segmented-button-group/SegmentedButtonGroup.js.map +1 -1
  573. package/dist-es/semantic-icon-provider/SemanticIconProvider.js +1 -4
  574. package/dist-es/semantic-icon-provider/SemanticIconProvider.js.map +1 -1
  575. package/dist-es/spinner/Spinner.js +16 -114
  576. package/dist-es/spinner/Spinner.js.map +1 -1
  577. package/dist-es/spinner/svgSpinners/SpinnerSVG.js +43 -139
  578. package/dist-es/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  579. package/dist-es/split-layout/SplitLayout.js +13 -105
  580. package/dist-es/split-layout/SplitLayout.js.map +1 -1
  581. package/dist-es/stack-layout/StackLayout.js +21 -114
  582. package/dist-es/stack-layout/StackLayout.js.map +1 -1
  583. package/dist-es/status-adornment/ErrorAdornment.js +5 -9
  584. package/dist-es/status-adornment/ErrorAdornment.js.map +1 -1
  585. package/dist-es/status-adornment/StatusAdornment.js +9 -102
  586. package/dist-es/status-adornment/StatusAdornment.js.map +1 -1
  587. package/dist-es/status-adornment/SuccessAdornment.js +18 -12
  588. package/dist-es/status-adornment/SuccessAdornment.js.map +1 -1
  589. package/dist-es/status-adornment/WarningAdornment.js +1 -10
  590. package/dist-es/status-adornment/WarningAdornment.js.map +1 -1
  591. package/dist-es/status-indicator/StatusIndicator.js +10 -101
  592. package/dist-es/status-indicator/StatusIndicator.js.map +1 -1
  593. package/dist-es/status-indicator/ValidationStatus.js.map +1 -1
  594. package/dist-es/switch/Switch.js +44 -148
  595. package/dist-es/switch/Switch.js.map +1 -1
  596. package/dist-es/tag/Tag.js +17 -110
  597. package/dist-es/tag/Tag.js.map +1 -1
  598. package/dist-es/text/Code.js +1 -6
  599. package/dist-es/text/Code.js.map +1 -1
  600. package/dist-es/text/Display.js +4 -28
  601. package/dist-es/text/Display.js.map +1 -1
  602. package/dist-es/text/Headings.js +4 -24
  603. package/dist-es/text/Headings.js.map +1 -1
  604. package/dist-es/text/Label.js +1 -6
  605. package/dist-es/text/Label.js.map +1 -1
  606. package/dist-es/text/Text.js +21 -115
  607. package/dist-es/text/Text.js.map +1 -1
  608. package/dist-es/text/TextAction.js +1 -7
  609. package/dist-es/text/TextAction.js.map +1 -1
  610. package/dist-es/text/TextNotation.js +1 -7
  611. package/dist-es/text/TextNotation.js.map +1 -1
  612. package/dist-es/theme/Accent.js.map +1 -1
  613. package/dist-es/theme/ActionFont.js.map +1 -1
  614. package/dist-es/theme/Corner.js.map +1 -1
  615. package/dist-es/theme/HeadingFont.js.map +1 -1
  616. package/dist-es/theme/Theme.js.map +1 -1
  617. package/dist-es/toast/Toast.js +17 -114
  618. package/dist-es/toast/Toast.js.map +1 -1
  619. package/dist-es/toast/ToastContent.js +1 -102
  620. package/dist-es/toast/ToastContent.js.map +1 -1
  621. package/dist-es/toggle-button/ToggleButton.css.js +1 -1
  622. package/dist-es/toggle-button/ToggleButton.js +18 -109
  623. package/dist-es/toggle-button/ToggleButton.js.map +1 -1
  624. package/dist-es/toggle-button-group/ToggleButtonGroup.js +10 -105
  625. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  626. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js +0 -98
  627. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  628. package/dist-es/tooltip/Tooltip.js +25 -117
  629. package/dist-es/tooltip/Tooltip.js.map +1 -1
  630. package/dist-es/tooltip/TooltipBase.js +25 -115
  631. package/dist-es/tooltip/TooltipBase.js.map +1 -1
  632. package/dist-es/tooltip/useAriaAnnounce.js +2 -102
  633. package/dist-es/tooltip/useAriaAnnounce.js.map +1 -1
  634. package/dist-es/tooltip/useTooltip.js +4 -101
  635. package/dist-es/tooltip/useTooltip.js.map +1 -1
  636. package/dist-es/utils/capitalize.js.map +1 -1
  637. package/dist-es/utils/createChainedFunction.js.map +1 -1
  638. package/dist-es/utils/createContext.js.map +1 -1
  639. package/dist-es/utils/debounce.js.map +1 -1
  640. package/dist-es/utils/getRefFromChildren.js +4 -1
  641. package/dist-es/utils/getRefFromChildren.js.map +1 -1
  642. package/dist-es/utils/marginMiddleware.js.map +1 -1
  643. package/dist-es/utils/mergeProps.js.map +1 -1
  644. package/dist-es/utils/ownerDocument.js.map +1 -1
  645. package/dist-es/utils/ownerWindow.js.map +1 -1
  646. package/dist-es/utils/renderProps.js +1 -3
  647. package/dist-es/utils/renderProps.js.map +1 -1
  648. package/dist-es/utils/setRef.js.map +1 -1
  649. package/dist-es/utils/useControlled.js.map +1 -1
  650. package/dist-es/utils/useEventCallback.js +4 -1
  651. package/dist-es/utils/useEventCallback.js.map +1 -1
  652. package/dist-es/utils/useFloatingUI/useFloatingUI.js +6 -31
  653. package/dist-es/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  654. package/dist-es/utils/useForkRef.js.map +1 -1
  655. package/dist-es/utils/useId.js +2 -2
  656. package/dist-es/utils/useId.js.map +1 -1
  657. package/dist-es/utils/useIsFocusVisible.js.map +1 -1
  658. package/dist-es/utils/usePrevious.js.map +1 -1
  659. package/dist-es/utils/useResizeObserver.js +5 -5
  660. package/dist-es/utils/useResizeObserver.js.map +1 -1
  661. package/dist-es/utils/useResponsiveProp.js +2 -3
  662. package/dist-es/utils/useResponsiveProp.js.map +1 -1
  663. package/dist-es/utils/useValueEffect.js +1 -106
  664. package/dist-es/utils/useValueEffect.js.map +1 -1
  665. package/dist-es/viewport/ViewportProvider.js +1 -107
  666. package/dist-es/viewport/ViewportProvider.js.map +1 -1
  667. package/dist-types/file-drop-zone/FileDropZoneIcon.d.ts +1 -1
  668. package/package.json +8 -7
@@ -15,13 +15,13 @@ function useIdLegacy(idOverride) {
15
15
  function useId(idOverride) {
16
16
  if (maybeReactUseId !== void 0) {
17
17
  const reactId = maybeReactUseId();
18
- return idOverride != null ? idOverride : reactId;
18
+ return idOverride ?? reactId;
19
19
  }
20
20
  return useIdLegacy(idOverride);
21
21
  }
22
22
  function useIdMemo(idOverride) {
23
23
  return React.useMemo(() => {
24
- return idOverride != null ? idOverride : `salt-${++globalId}`;
24
+ return idOverride ?? `salt-${++globalId}`;
25
25
  }, [idOverride]);
26
26
  }
27
27
 
@@ -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":[],"mappings":";;AAIA,MAAM,eAAA,GAA+C,KACnD,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,GAAA,KAAA,CAAM,SAAS,UAAU,CAAA,CAAA;AAC3D,EAAA,MAAM,KAAK,UAAc,IAAA,SAAA,CAAA;AACzB,EAAA,KAAA,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,OAAA,KAAA,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":[],"mappings":";;AAIA,MAAM,eAA+C,GAAA,KAAA,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,GAAA,KAAA,CAAM,SAAS,UAAU,CAAA;AAC3D,EAAA,MAAM,KAAK,UAAc,IAAA,SAAA;AACzB,EAAA,KAAA,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,OAAA,KAAA,CAAM,QAAQ,MAAM;AACzB,IAAO,OAAA,UAAA,IAAc,CAAQ,KAAA,EAAA,EAAE,QAAQ,CAAA,CAAA;AAAA,GACzC,EAAG,CAAC,UAAU,CAAC,CAAA;AACjB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsFocusVisible.js","sources":["../src/utils/useIsFocusVisible.ts"],"sourcesContent":["// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport {\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":[],"mappings":";;AASA,IAAI,gBAAmB,GAAA,IAAA,CAAA;AACvB,IAAI,uBAA0B,GAAA,KAAA,CAAA;AAC9B,IAAI,8BAAA,CAAA;AAEJ,MAAM,mBAA+C,GAAA;AAAA,EACnD,IAAM,EAAA,IAAA;AAAA,EACN,MAAQ,EAAA,IAAA;AAAA,EACR,GAAK,EAAA,IAAA;AAAA,EACL,GAAK,EAAA,IAAA;AAAA,EACL,KAAO,EAAA,IAAA;AAAA,EACP,QAAU,EAAA,IAAA;AAAA,EACV,MAAQ,EAAA,IAAA;AAAA,EACR,IAAM,EAAA,IAAA;AAAA,EACN,KAAO,EAAA,IAAA;AAAA,EACP,IAAM,EAAA,IAAA;AAAA,EACN,IAAM,EAAA,IAAA;AAAA,EACN,QAAU,EAAA,IAAA;AAAA,EACV,gBAAkB,EAAA,IAAA;AACpB,CAAA,CAAA;AASA,SAAS,8BAA8B,IAAmB,EAAA;AACxD,EACE,IAAA,IAAA,CAAK,YAAY,OACjB,IAAA,mBAAA,CAAqB,KAA0B,IAC/C,CAAA,IAAA,CAAE,KAA0B,QAC5B,EAAA;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,IAAI,IAAK,CAAA,OAAA,KAAY,UAAc,IAAA,CAAE,KAA0B,QAAU,EAAA;AACvE,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,OAAO,IAAK,CAAA,iBAAA,CAAA;AACd,CAAA;AASA,SAAS,cAAc,KAAsB,EAAA;AAC3C,EAAA,IAAI,KAAM,CAAA,OAAA,IAAW,KAAM,CAAA,MAAA,IAAU,MAAM,OAAS,EAAA;AAClD,IAAA,OAAA;AAAA,GACF;AACA,EAAmB,gBAAA,GAAA,IAAA,CAAA;AACrB,CAAA;AASA,SAAS,iBAAoB,GAAA;AAC3B,EAAmB,gBAAA,GAAA,KAAA,CAAA;AACrB,CAAA;AAEA,SAAS,sBAAuC,GAAA;AAC9C,EAAI,IAAA,IAAA,CAAK,oBAAoB,QAAU,EAAA;AAKrC,IAAA,IAAI,uBAAyB,EAAA;AAC3B,MAAmB,gBAAA,GAAA,IAAA,CAAA;AAAA,KACrB;AAAA,GACF;AACF,CAAA;AAEA,SAAS,QAAQ,GAAe,EAAA;AAC9B,EAAI,GAAA,CAAA,gBAAA,CAAiB,SAAW,EAAA,aAAA,EAAe,IAAI,CAAA,CAAA;AACnD,EAAI,GAAA,CAAA,gBAAA,CAAiB,WAAa,EAAA,iBAAA,EAAmB,IAAI,CAAA,CAAA;AACzD,EAAI,GAAA,CAAA,gBAAA,CAAiB,aAAe,EAAA,iBAAA,EAAmB,IAAI,CAAA,CAAA;AAC3D,EAAI,GAAA,CAAA,gBAAA,CAAiB,YAAc,EAAA,iBAAA,EAAmB,IAAI,CAAA,CAAA;AAC1D,EAAI,GAAA,CAAA,gBAAA,CAAiB,kBAAoB,EAAA,sBAAA,EAAwB,IAAI,CAAA,CAAA;AACvE,CAAA;AAEO,SAAS,SAAS,GAAqB,EAAA;AAC5C,EAAI,GAAA,CAAA,mBAAA,CAAoB,SAAW,EAAA,aAAA,EAAe,IAAI,CAAA,CAAA;AACtD,EAAI,GAAA,CAAA,mBAAA,CAAoB,WAAa,EAAA,iBAAA,EAAmB,IAAI,CAAA,CAAA;AAC5D,EAAI,GAAA,CAAA,mBAAA,CAAoB,aAAe,EAAA,iBAAA,EAAmB,IAAI,CAAA,CAAA;AAC9D,EAAI,GAAA,CAAA,mBAAA,CAAoB,YAAc,EAAA,iBAAA,EAAmB,IAAI,CAAA,CAAA;AAC7D,EAAI,GAAA,CAAA,mBAAA,CAAoB,kBAAoB,EAAA,sBAAA,EAAwB,IAAI,CAAA,CAAA;AAC1E,CAAA;AAEA,SAAS,eAAe,KAAgC,EAAA;AACtD,EAAM,MAAA,EAAE,QAAW,GAAA,KAAA,CAAA;AACnB,EAAI,IAAA;AACF,IAAO,OAAA,MAAA,CAAO,QAAQ,gBAAgB,CAAA,CAAA;AAAA,WAC/B,KAAP,EAAA;AAAA,GAKF;AAIA,EAAO,OAAA,gBAAA,IAAoB,8BAA8B,MAAM,CAAA,CAAA;AACjE,CAAA;AAEO,SAAS,iBAKd,GAAA;AACA,EAAM,MAAA,GAAA,GAAM,WAAY,CAAA,CAAC,IAAmB,KAAA;AAC1C,IAAA,IAAI,QAAQ,IAAM,EAAA;AAChB,MAAA,OAAA,CAAQ,KAAK,aAAa,CAAA,CAAA;AAAA,KAC5B;AAAA,GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAM,MAAA,iBAAA,GAAoB,OAAO,KAAK,CAAA,CAAA;AAKtC,EAAA,SAAS,iBAAoB,GAAA;AAM3B,IAAA,IAAI,kBAAkB,OAAS,EAAA;AAK7B,MAA0B,uBAAA,GAAA,IAAA,CAAA;AAC1B,MAAA,MAAA,CAAO,aAAa,8BAA8B,CAAA,CAAA;AAClD,MAAiC,8BAAA,GAAA,MAAA,CAAO,WAAW,MAAM;AACvD,QAA0B,uBAAA,GAAA,KAAA,CAAA;AAAA,SACzB,GAAG,CAAA,CAAA;AAEN,MAAA,iBAAA,CAAkB,OAAU,GAAA,KAAA,CAAA;AAE5B,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAEA,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AAKA,EAAA,SAAS,mBAAmB,KAAgC,EAAA;AAC1D,IAAI,IAAA,cAAA,CAAe,KAAK,CAAG,EAAA;AACzB,MAAA,iBAAA,CAAkB,OAAU,GAAA,IAAA,CAAA;AAC5B,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AACA,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AAEA,EAAO,OAAA;AAAA,IACL,iBAAA;AAAA,IACA,OAAS,EAAA,kBAAA;AAAA,IACT,MAAQ,EAAA,iBAAA;AAAA,IACR,GAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"useIsFocusVisible.js","sources":["../src/utils/useIsFocusVisible.ts"],"sourcesContent":["// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport {\n type FocusEvent,\n type MutableRefObject,\n type Ref,\n useCallback,\n useRef,\n} from \"react\";\n\nlet hadKeyboardEvent = true;\nlet hadFocusVisibleRecently = false;\nlet hadFocusVisibleRecentlyTimeout: number;\n\nconst inputTypesWhitelist: Record<string, boolean> = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n \"datetime-local\": true,\n};\n\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @returns {boolean}\n */\nfunction focusTriggersKeyboardModality(node: HTMLElement) {\n if (\n node.tagName === \"INPUT\" &&\n inputTypesWhitelist[(node as HTMLInputElement).type] &&\n !(node as HTMLInputElement).readOnly\n ) {\n return true;\n }\n\n if (node.tagName === \"TEXTAREA\" && !(node as HTMLInputElement).readOnly) {\n return true;\n }\n\n return node.isContentEditable;\n}\n\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\nfunction handleKeyDown(event: KeyboardEvent) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\n\nfunction handleVisibilityChange(this: Document) {\n if (this.visibilityState === \"hidden\") {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\n\nfunction prepare(doc: Document) {\n doc.addEventListener(\"keydown\", handleKeyDown, true);\n doc.addEventListener(\"mousedown\", handlePointerDown, true);\n doc.addEventListener(\"pointerdown\", handlePointerDown, true);\n doc.addEventListener(\"touchstart\", handlePointerDown, true);\n doc.addEventListener(\"visibilitychange\", handleVisibilityChange, true);\n}\n\nexport function teardown(doc: Document): void {\n doc.removeEventListener(\"keydown\", handleKeyDown, true);\n doc.removeEventListener(\"mousedown\", handlePointerDown, true);\n doc.removeEventListener(\"pointerdown\", handlePointerDown, true);\n doc.removeEventListener(\"touchstart\", handlePointerDown, true);\n doc.removeEventListener(\"visibilitychange\", handleVisibilityChange, true);\n}\n\nfunction isFocusVisible(event: FocusEvent<HTMLElement>) {\n const { target } = event;\n try {\n return target.matches(\":focus-visible\");\n } catch (error) {\n // Browsers not implementing :focus-visible will throw a SyntaxError.\n // We use our own heuristic for those browsers.\n // Rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n }\n\n // No need for validFocusTarget check. The user does that by attaching it to\n // focused events only.\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\n\nexport function useIsFocusVisible<T extends HTMLElement = HTMLElement>(): {\n isFocusVisibleRef: MutableRefObject<boolean>;\n onBlur: () => void;\n onFocus: (event: FocusEvent<T>) => void;\n ref: Ref<T>;\n} {\n const ref = useCallback((node: T | null) => {\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n\n const isFocusVisibleRef = useRef(false);\n\n /**\n * Should be called if a blur event is fired\n */\n function handleBlurVisible() {\n // checking against potential state variable does not suffice if we focus and blur synchronously.\n // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.\n // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.\n // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751\n // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).\n if (isFocusVisibleRef.current) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(() => {\n hadFocusVisibleRecently = false;\n }, 100);\n\n isFocusVisibleRef.current = false;\n\n return true;\n }\n\n return false;\n }\n\n /**\n * Should be called if a blur event is fired\n */\n function handleFocusVisible(event: FocusEvent<HTMLElement>) {\n if (isFocusVisible(event)) {\n isFocusVisibleRef.current = true;\n return true;\n }\n return false;\n }\n\n return {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref,\n };\n}\n"],"names":[],"mappings":"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"}
@@ -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":[],"mappings":";;AAEO,SAAS,WACd,CAAA,KAAA,EACA,IAAuB,GAAA,IACvB,YACe,EAAA;AACf,EAAM,MAAA,GAAA,GAAM,OAAsB,YAAY,CAAA,CAAA;AAE9C,EAAA,SAAA,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":[],"mappings":";;AAEO,SAAS,WACd,CAAA,KAAA,EACA,IAAuB,GAAA,IACvB,YACe,EAAA;AACf,EAAM,MAAA,GAAA,GAAM,OAAsB,YAAY,CAAA;AAE9C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,GAAA,CAAI,OAAU,GAAA,KAAA;AAAA,KACb,IAAI,CAAA;AACP,EAAA,OAAO,GAAI,CAAA,OAAA;AACb;;;;"}
@@ -4,13 +4,13 @@ import { ownerWindow } from './ownerWindow.js';
4
4
  function useResizeObserver({ ref, onResize }) {
5
5
  useEffect(() => {
6
6
  const element = ref == null ? void 0 : ref.current;
7
- if (!element)
8
- return;
7
+ if (!element) return;
9
8
  const win = ownerWindow(element);
10
9
  const resizeObserver = new win.ResizeObserver((entries) => {
11
- if (entries.length === 0)
12
- return;
13
- onResize();
10
+ requestAnimationFrame(() => {
11
+ if (entries.length === 0) return;
12
+ onResize();
13
+ });
14
14
  });
15
15
  resizeObserver.observe(element);
16
16
  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":[],"mappings":";;;AAQO,SAAS,iBAAkB,CAAA,EAAE,GAAK,EAAA,QAAA,EAAoC,EAAA;AAC3E,EAAA,SAAA,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,GAAM,YAAY,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":[],"mappings":";;;AAQO,SAAS,iBAAkB,CAAA,EAAE,GAAK,EAAA,QAAA,EAAoC,EAAA;AAC3E,EAAA,SAAA,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,GAAM,YAAY,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;;;;"}
@@ -9,7 +9,7 @@ const getCurrentBreakpoint = (breakpoints, width) => {
9
9
  (acc, val) => {
10
10
  const [, accWidth] = acc;
11
11
  const [breakpoint, breakpointWidth] = val;
12
- if (breakpointWidth < width && breakpointWidth > accWidth) {
12
+ if (breakpointWidth <= width && breakpointWidth > accWidth) {
13
13
  return [breakpoint, breakpointWidth];
14
14
  }
15
15
  return acc;
@@ -51,8 +51,7 @@ const getResponsiveValue = (breakpointValues, breakpoints, viewport, defaultValu
51
51
  const useResponsiveProp = (value, defaultValue) => {
52
52
  const breakpoints = useBreakpoints();
53
53
  const viewport = useViewport();
54
- if (value === defaultValue)
55
- return defaultValue;
54
+ if (value === defaultValue) return defaultValue;
56
55
  const currentViewport = getCurrentBreakpoint(breakpoints, viewport);
57
56
  if (hasBreakpointValues(value, breakpoints)) {
58
57
  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":[],"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":[],"mappings":"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"}
@@ -1,111 +1,6 @@
1
1
  import { useState, useRef } from 'react';
2
- import '../accordion/AccordionGroup.js';
3
- import '../accordion/AccordionPanel.js';
4
- import '../accordion/Accordion.js';
5
- import '../accordion/AccordionHeader.js';
6
- import '../aria-announcer/AriaAnnouncerContext.js';
7
- import 'react/jsx-runtime';
8
- import 'clsx';
9
- import './useFloatingUI/useFloatingUI.js';
10
- import './useId.js';
11
- import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js';
12
- import '../salt-provider/SaltProvider.js';
13
- import '../viewport/ViewportProvider.js';
14
2
  import { useEventCallback } from './useEventCallback.js';
15
- import '../avatar/Avatar.js';
16
- import '../badge/Badge.js';
17
- import '../banner/Banner.js';
18
- import '../banner/BannerActions.js';
19
- import '../banner/BannerContent.js';
20
- import '../border-item/BorderItem.js';
21
- import '../border-layout/BorderLayout.js';
22
- import '../breakpoints/BreakpointProvider.js';
23
- import '../button/Button.js';
24
- import '../card/Card.js';
25
- import '../checkbox/Checkbox.js';
26
- import '../checkbox/CheckboxGroup.js';
27
- import '@salt-ds/icons';
28
- import '@salt-ds/styles';
29
- import '@salt-ds/window';
30
- import '../combo-box/ComboBox.js';
31
- import '../dialog/Dialog.js';
32
- import '../dialog/DialogHeader.js';
33
- import '../dialog/DialogActions.js';
34
- import '../dialog/DialogContent.js';
35
- import '../dialog/DialogContext.js';
36
- import '../dialog/DialogCloseButton.js';
37
- import '../divider/Divider.js';
38
- import '../drawer/Drawer.js';
39
- import '../drawer/DrawerCloseButton.js';
40
- import '../dropdown/Dropdown.js';
41
- import '../file-drop-zone/FileDropZone.js';
42
- import '../file-drop-zone/FileDropZoneIcon.js';
43
- import '../file-drop-zone/FileDropZoneTrigger.js';
44
- import '../flex-item/FlexItem.js';
45
- import '../flex-layout/FlexLayout.js';
46
- import '../flow-layout/FlowLayout.js';
47
- import '../form-field/FormField.js';
48
- import '../form-field-context/FormFieldContext.js';
49
- import '../status-indicator/StatusIndicator.js';
50
- import '../text/Text.js';
51
- import '../text/Code.js';
52
- import '../text/Display.js';
53
- import '../text/Headings.js';
54
- import '../text/Label.js';
55
- import '../text/TextAction.js';
56
- import '../text/TextNotation.js';
57
- import '../grid-item/GridItem.js';
58
- import '../grid-layout/GridLayout.js';
59
- import '../input/Input.js';
60
- import '../interactable-card/InteractableCard.js';
61
- import '../interactable-card/InteractableCardGroup.js';
62
- import '../interactable-card/InteractableCardGroupContext.js';
63
- import '../link/Link.js';
64
- import '../link-card/LinkCard.js';
65
- import '../list-box/ListBox.js';
66
- import '../list-control/ListControlContext.js';
67
- import '@floating-ui/react';
68
- import '../menu/MenuContext.js';
69
- import '../menu/MenuItem.js';
70
- import '../menu/MenuPanel.js';
71
- import '../menu/MenuPanelContext.js';
72
- import '../menu/MenuTriggerContext.js';
73
- import '../menu/MenuGroup.js';
74
- import '../multiline-input/MultilineInput.js';
75
- import '../navigation-item/NavigationItem.js';
76
- import '../option/Option.js';
77
- import '../option/OptionGroup.js';
78
- import '../overlay/OverlayContext.js';
79
- import '../overlay/OverlayPanel.js';
80
- import '../overlay/OverlayPanelCloseButton.js';
81
- import '../overlay/OverlayPanelContent.js';
82
- import '../pagination/Pagination.js';
83
- import '../pagination/Paginator.js';
84
- import '../pagination/CompactInput.js';
85
- import '../pagination/CompactPaginator.js';
86
- import '../pagination/GoToInput.js';
87
- import '../panel/Panel.js';
88
- import '../parent-child-layout/ParentChildLayout.js';
89
- import '../pill/Pill.js';
90
- import '../progress/CircularProgress/CircularProgress.js';
91
- import '../progress/LinearProgress/LinearProgress.js';
92
- import '../radio-button/RadioButton.js';
93
- import '../radio-button/RadioButtonGroup.js';
94
- import '../scrim/Scrim.js';
95
- import '../segmented-button-group/SegmentedButtonGroup.js';
96
- import '../spinner/Spinner.js';
97
- import '../stack-layout/StackLayout.js';
98
- import '../status-adornment/StatusAdornment.js';
99
- import '../toast/Toast.js';
100
- import '../toast/ToastContent.js';
101
- import '../split-layout/SplitLayout.js';
102
- import '../switch/Switch.js';
103
- import '../tag/Tag.js';
104
- import '../toggle-button/ToggleButton.js';
105
- import '../toggle-button-group/ToggleButtonGroup.js';
106
- import '../toggle-button-group/ToggleButtonGroupContext.js';
107
- import '../tooltip/Tooltip.js';
108
- import '../semantic-icon-provider/SemanticIconProvider.js';
3
+ import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js';
109
4
 
110
5
  function useValueEffect(defaultValue) {
111
6
  const [value, setValue] = 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":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBO,SAAS,eACd,YACkC,EAAA;AAClC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,YAAY,CAAA,CAAA;AAC/C,EAAM,MAAA,MAAA,GACJ,OAA4B,IAAI,CAAA,CAAA;AAIlC,EAAM,MAAA,OAAA,GAAU,iBAAiB,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,EAAA,yBAAA,CAA0B,MAAM;AAE9B,IAAA,IAAI,OAAO,OAAS,EAAA;AAClB,MAAQ,OAAA,EAAA,CAAA;AAAA,KACV;AAAA,GACD,CAAA,CAAA;AAED,EAAM,MAAA,KAAA,GAAqC,gBAAiB,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":[],"mappings":";;;;AAsBO,SAAS,eACd,YACkC,EAAA;AAClC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,YAAY,CAAA;AAC/C,EAAM,MAAA,MAAA,GACJ,OAA4B,IAAI,CAAA;AAIlC,EAAM,MAAA,OAAA,GAAU,iBAAiB,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,EAAA,yBAAA,CAA0B,MAAM;AAE9B,IAAA,IAAI,OAAO,OAAS,EAAA;AAClB,MAAQ,OAAA,EAAA;AAAA;AACV,GACD,CAAA;AAED,EAAM,MAAA,KAAA,GAAqC,gBAAiB,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;;;;"}
@@ -1,109 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { createContext, useContext, useState } from 'react';
3
- import 'clsx';
4
- import '../utils/useFloatingUI/useFloatingUI.js';
5
- import '../utils/useId.js';
6
3
  import { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect.js';
7
- import '../salt-provider/SaltProvider.js';
8
- import '../accordion/AccordionGroup.js';
9
- import '../accordion/AccordionPanel.js';
10
- import '../accordion/Accordion.js';
11
- import '../accordion/AccordionHeader.js';
12
- import '../aria-announcer/AriaAnnouncerContext.js';
13
- import '../avatar/Avatar.js';
14
- import '../badge/Badge.js';
15
- import '../banner/Banner.js';
16
- import '../banner/BannerActions.js';
17
- import '../banner/BannerContent.js';
18
- import '../border-item/BorderItem.js';
19
- import '../border-layout/BorderLayout.js';
20
- import '../breakpoints/BreakpointProvider.js';
21
- import '../button/Button.js';
22
- import '../card/Card.js';
23
- import '../checkbox/Checkbox.js';
24
- import '../checkbox/CheckboxGroup.js';
25
- import '@salt-ds/icons';
26
- import '@salt-ds/styles';
27
- import '@salt-ds/window';
28
- import '../combo-box/ComboBox.js';
29
- import '../dialog/Dialog.js';
30
- import '../dialog/DialogHeader.js';
31
- import '../dialog/DialogActions.js';
32
- import '../dialog/DialogContent.js';
33
- import '../dialog/DialogContext.js';
34
- import '../dialog/DialogCloseButton.js';
35
- import '../divider/Divider.js';
36
- import '../drawer/Drawer.js';
37
- import '../drawer/DrawerCloseButton.js';
38
- import '../dropdown/Dropdown.js';
39
- import '../file-drop-zone/FileDropZone.js';
40
- import '../file-drop-zone/FileDropZoneIcon.js';
41
- import '../file-drop-zone/FileDropZoneTrigger.js';
42
- import '../flex-item/FlexItem.js';
43
- import '../flex-layout/FlexLayout.js';
44
- import '../flow-layout/FlowLayout.js';
45
- import '../form-field/FormField.js';
46
- import '../form-field-context/FormFieldContext.js';
47
- import '../status-indicator/StatusIndicator.js';
48
- import '../text/Text.js';
49
- import '../text/Code.js';
50
- import '../text/Display.js';
51
- import '../text/Headings.js';
52
- import '../text/Label.js';
53
- import '../text/TextAction.js';
54
- import '../text/TextNotation.js';
55
- import '../grid-item/GridItem.js';
56
- import '../grid-layout/GridLayout.js';
57
- import '../input/Input.js';
58
- import '../interactable-card/InteractableCard.js';
59
- import '../interactable-card/InteractableCardGroup.js';
60
- import '../interactable-card/InteractableCardGroupContext.js';
61
- import '../link/Link.js';
62
- import '../link-card/LinkCard.js';
63
- import '../list-box/ListBox.js';
64
- import '../list-control/ListControlContext.js';
65
- import '@floating-ui/react';
66
- import '../menu/MenuContext.js';
67
- import '../menu/MenuItem.js';
68
- import '../menu/MenuPanel.js';
69
- import '../menu/MenuPanelContext.js';
70
- import '../menu/MenuTriggerContext.js';
71
- import '../menu/MenuGroup.js';
72
- import '../multiline-input/MultilineInput.js';
73
- import '../navigation-item/NavigationItem.js';
74
- import '../option/Option.js';
75
- import '../option/OptionGroup.js';
76
- import '../overlay/OverlayContext.js';
77
- import '../overlay/OverlayPanel.js';
78
- import '../overlay/OverlayPanelCloseButton.js';
79
- import '../overlay/OverlayPanelContent.js';
80
- import '../pagination/Pagination.js';
81
- import '../pagination/Paginator.js';
82
- import '../pagination/CompactInput.js';
83
- import '../pagination/CompactPaginator.js';
84
- import '../pagination/GoToInput.js';
85
- import '../panel/Panel.js';
86
- import '../parent-child-layout/ParentChildLayout.js';
87
- import '../pill/Pill.js';
88
- import '../progress/CircularProgress/CircularProgress.js';
89
- import '../progress/LinearProgress/LinearProgress.js';
90
- import '../radio-button/RadioButton.js';
91
- import '../radio-button/RadioButtonGroup.js';
92
- import '../scrim/Scrim.js';
93
- import '../segmented-button-group/SegmentedButtonGroup.js';
94
- import '../spinner/Spinner.js';
95
- import '../stack-layout/StackLayout.js';
96
- import '../status-adornment/StatusAdornment.js';
97
- import '../toast/Toast.js';
98
- import '../toast/ToastContent.js';
99
- import '../split-layout/SplitLayout.js';
100
- import '../switch/Switch.js';
101
- import '../tag/Tag.js';
102
- import '../toggle-button/ToggleButton.js';
103
- import '../toggle-button-group/ToggleButtonGroup.js';
104
- import '../toggle-button-group/ToggleButtonGroupContext.js';
105
- import '../tooltip/Tooltip.js';
106
- import '../semantic-icon-provider/SemanticIconProvider.js';
107
4
 
108
5
  const ViewportContext = createContext(null);
109
6
  const ViewportProvider = ({ children }) => {
@@ -128,10 +25,7 @@ const ViewportProvider = ({ children }) => {
128
25
  }
129
26
  };
130
27
  }, [noExistingViewport]);
131
- return /* @__PURE__ */ jsx(ViewportContext.Provider, {
132
- value: viewportValue,
133
- children
134
- });
28
+ return /* @__PURE__ */ jsx(ViewportContext.Provider, { value: viewportValue, children });
135
29
  };
136
30
  const useViewport = () => {
137
31
  const value = useContext(ViewportContext);
@@ -1 +1 @@
1
- {"version":3,"file":"ViewportProvider.js","sources":["../src/viewport/ViewportProvider.tsx"],"sourcesContent":["import { type ReactNode, createContext, useContext, useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"../utils\";\n\nconst ViewportContext = createContext<number | null>(null);\n\ntype ViewportProviderProps = {\n children?: ReactNode;\n};\n\nconst ViewportProvider = ({ children }: ViewportProviderProps) => {\n // Get value directly from the ViewportContext so we can detect if the value is null (no inherited ViewportProvider)\n const existingViewport = useContext(ViewportContext);\n const [viewport, setViewport] = useState(existingViewport);\n\n const noExistingViewport = existingViewport === null;\n const viewportValue = existingViewport || viewport || 0;\n\n useIsomorphicLayoutEffect(() => {\n let observer: ResizeObserver | null = null;\n\n if (noExistingViewport) {\n observer = new ResizeObserver(\n (observerEntries: ResizeObserverEntry[]) => {\n setViewport(observerEntries[0].contentRect.width);\n },\n );\n\n observer.observe(document.body);\n setViewport(document.body.getBoundingClientRect().width);\n }\n\n return () => {\n if (observer) {\n observer.disconnect();\n }\n };\n }, [noExistingViewport]);\n\n return (\n <ViewportContext.Provider value={viewportValue}>\n {children}\n </ViewportContext.Provider>\n );\n};\n\nconst useViewport = (): number => {\n const value = useContext(ViewportContext);\n return value === null ? 0 : value;\n};\n\nexport { ViewportProvider, ViewportContext, useViewport };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGM,MAAA,eAAA,GAAkB,cAA6B,IAAI,EAAA;AAMzD,MAAM,gBAAmB,GAAA,CAAC,EAAE,QAAA,EAAsC,KAAA;AAEhE,EAAM,MAAA,gBAAA,GAAmB,WAAW,eAAe,CAAA,CAAA;AACnD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,gBAAgB,CAAA,CAAA;AAEzD,EAAA,MAAM,qBAAqB,gBAAqB,KAAA,IAAA,CAAA;AAChD,EAAM,MAAA,aAAA,GAAgB,oBAAoB,QAAY,IAAA,CAAA,CAAA;AAEtD,EAAA,yBAAA,CAA0B,MAAM;AAC9B,IAAA,IAAI,QAAkC,GAAA,IAAA,CAAA;AAEtC,IAAA,IAAI,kBAAoB,EAAA;AACtB,MAAA,QAAA,GAAW,IAAI,cAAA;AAAA,QACb,CAAC,eAA2C,KAAA;AAC1C,UAAY,WAAA,CAAA,eAAA,CAAgB,CAAG,CAAA,CAAA,WAAA,CAAY,KAAK,CAAA,CAAA;AAAA,SAClD;AAAA,OACF,CAAA;AAEA,MAAS,QAAA,CAAA,OAAA,CAAQ,SAAS,IAAI,CAAA,CAAA;AAC9B,MAAA,WAAA,CAAY,QAAS,CAAA,IAAA,CAAK,qBAAsB,EAAA,CAAE,KAAK,CAAA,CAAA;AAAA,KACzD;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,QAAA,CAAS,UAAW,EAAA,CAAA;AAAA,OACtB;AAAA,KACF,CAAA;AAAA,GACF,EAAG,CAAC,kBAAkB,CAAC,CAAA,CAAA;AAEvB,EACE,uBAAA,GAAA,CAAC,gBAAgB,QAAhB,EAAA;AAAA,IAAyB,KAAO,EAAA,aAAA;AAAA,IAC9B,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,EAAA;AAEA,MAAM,cAAc,MAAc;AAChC,EAAM,MAAA,KAAA,GAAQ,WAAW,eAAe,CAAA,CAAA;AACxC,EAAO,OAAA,KAAA,KAAU,OAAO,CAAI,GAAA,KAAA,CAAA;AAC9B;;;;"}
1
+ {"version":3,"file":"ViewportProvider.js","sources":["../src/viewport/ViewportProvider.tsx"],"sourcesContent":["import { type ReactNode, createContext, useContext, useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"../utils/useIsomorphicLayoutEffect\";\n\nconst ViewportContext = createContext<number | null>(null);\n\ntype ViewportProviderProps = {\n children?: ReactNode;\n};\n\nconst ViewportProvider = ({ children }: ViewportProviderProps) => {\n // Get value directly from the ViewportContext so we can detect if the value is null (no inherited ViewportProvider)\n const existingViewport = useContext(ViewportContext);\n const [viewport, setViewport] = useState(existingViewport);\n\n const noExistingViewport = existingViewport === null;\n const viewportValue = existingViewport || viewport || 0;\n\n useIsomorphicLayoutEffect(() => {\n let observer: ResizeObserver | null = null;\n\n if (noExistingViewport) {\n observer = new ResizeObserver(\n (observerEntries: ResizeObserverEntry[]) => {\n setViewport(observerEntries[0].contentRect.width);\n },\n );\n\n observer.observe(document.body);\n setViewport(document.body.getBoundingClientRect().width);\n }\n\n return () => {\n if (observer) {\n observer.disconnect();\n }\n };\n }, [noExistingViewport]);\n\n return (\n <ViewportContext.Provider value={viewportValue}>\n {children}\n </ViewportContext.Provider>\n );\n};\n\nconst useViewport = (): number => {\n const value = useContext(ViewportContext);\n return value === null ? 0 : value;\n};\n\nexport { ViewportProvider, ViewportContext, useViewport };\n"],"names":[],"mappings":";;;;AAGM,MAAA,eAAA,GAAkB,cAA6B,IAAI;AAMzD,MAAM,gBAAmB,GAAA,CAAC,EAAE,QAAA,EAAsC,KAAA;AAEhE,EAAM,MAAA,gBAAA,GAAmB,WAAW,eAAe,CAAA;AACnD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,gBAAgB,CAAA;AAEzD,EAAA,MAAM,qBAAqB,gBAAqB,KAAA,IAAA;AAChD,EAAM,MAAA,aAAA,GAAgB,oBAAoB,QAAY,IAAA,CAAA;AAEtD,EAAA,yBAAA,CAA0B,MAAM;AAC9B,IAAA,IAAI,QAAkC,GAAA,IAAA;AAEtC,IAAA,IAAI,kBAAoB,EAAA;AACtB,MAAA,QAAA,GAAW,IAAI,cAAA;AAAA,QACb,CAAC,eAA2C,KAAA;AAC1C,UAAA,WAAA,CAAY,eAAgB,CAAA,CAAC,CAAE,CAAA,WAAA,CAAY,KAAK,CAAA;AAAA;AAClD,OACF;AAEA,MAAS,QAAA,CAAA,OAAA,CAAQ,SAAS,IAAI,CAAA;AAC9B,MAAA,WAAA,CAAY,QAAS,CAAA,IAAA,CAAK,qBAAsB,EAAA,CAAE,KAAK,CAAA;AAAA;AAGzD,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,QAAA,CAAS,UAAW,EAAA;AAAA;AACtB,KACF;AAAA,GACF,EAAG,CAAC,kBAAkB,CAAC,CAAA;AAEvB,EAAA,2BACG,eAAgB,CAAA,QAAA,EAAhB,EAAyB,KAAA,EAAO,eAC9B,QACH,EAAA,CAAA;AAEJ;AAEA,MAAM,cAAc,MAAc;AAChC,EAAM,MAAA,KAAA,GAAQ,WAAW,eAAe,CAAA;AACxC,EAAO,OAAA,KAAA,KAAU,OAAO,CAAI,GAAA,KAAA;AAC9B;;;;"}
@@ -1,4 +1,4 @@
1
- import { type IconProps } from "@salt-ds/icons";
1
+ import type { IconProps } from "@salt-ds/icons";
2
2
  import { type ValidationStatus } from "../status-indicator";
3
3
  export interface FileDropZoneIconProps extends IconProps {
4
4
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salt-ds/core",
3
- "version": "1.37.1",
3
+ "version": "1.37.2",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,10 +12,10 @@
12
12
  "sideEffects": false,
13
13
  "dependencies": {
14
14
  "@floating-ui/react": "^0.26.5",
15
- "clsx": "^2.0.0",
16
- "@salt-ds/styles": "^0.2.1",
17
- "@salt-ds/window": "^0.1.1",
18
- "@salt-ds/icons": "^1.12.1"
15
+ "@salt-ds/icons": "^1.13.0",
16
+ "@salt-ds/styles": "0.2.1",
17
+ "@salt-ds/window": "0.1.1",
18
+ "clsx": "^2.0.0"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@types/react": ">=16.14.0",
@@ -32,14 +32,15 @@
32
32
  "provenance": true
33
33
  },
34
34
  "scripts": {
35
- "bundle:css": "yarn node ./scripts/build.mjs"
35
+ "build": "yarn node ../../scripts/build.mjs",
36
+ "bundle:css": "yarn node ./scripts/bundleCSS.mjs"
36
37
  },
37
38
  "files": [
38
39
  "css",
39
40
  "dist-cjs",
40
41
  "dist-es",
41
42
  "dist-types",
42
- "README.md"
43
+ "CHANGELOG.md"
43
44
  ],
44
45
  "module": "dist-es/index.js",
45
46
  "typings": "dist-types/index.d.ts"