@salt-ds/core 1.23.0 → 1.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/css/salt-core.css +52 -7
  2. package/dist-cjs/accordion/Accordion.js +5 -1
  3. package/dist-cjs/accordion/Accordion.js.map +1 -1
  4. package/dist-cjs/accordion/AccordionContext.js +5 -1
  5. package/dist-cjs/accordion/AccordionContext.js.map +1 -1
  6. package/dist-cjs/accordion/AccordionGroup.js +5 -1
  7. package/dist-cjs/accordion/AccordionGroup.js.map +1 -1
  8. package/dist-cjs/accordion/AccordionHeader.js +6 -1
  9. package/dist-cjs/accordion/AccordionHeader.js.map +1 -1
  10. package/dist-cjs/accordion/AccordionPanel.js +5 -1
  11. package/dist-cjs/accordion/AccordionPanel.js.map +1 -1
  12. package/dist-cjs/aria-announcer/useAriaAnnouncer.js +5 -1
  13. package/dist-cjs/aria-announcer/useAriaAnnouncer.js.map +1 -1
  14. package/dist-cjs/avatar/Avatar.js +5 -1
  15. package/dist-cjs/avatar/Avatar.js.map +1 -1
  16. package/dist-cjs/avatar/useAvatarImage.js +5 -1
  17. package/dist-cjs/avatar/useAvatarImage.js.map +1 -1
  18. package/dist-cjs/badge/Badge.js +5 -1
  19. package/dist-cjs/badge/Badge.js.map +1 -1
  20. package/dist-cjs/banner/Banner.js +5 -1
  21. package/dist-cjs/banner/Banner.js.map +1 -1
  22. package/dist-cjs/banner/BannerActions.js +5 -1
  23. package/dist-cjs/banner/BannerActions.js.map +1 -1
  24. package/dist-cjs/banner/BannerContent.js +5 -1
  25. package/dist-cjs/banner/BannerContent.js.map +1 -1
  26. package/dist-cjs/border-item/BorderItem.js +5 -1
  27. package/dist-cjs/border-item/BorderItem.js.map +1 -1
  28. package/dist-cjs/border-layout/BorderLayout.js +5 -1
  29. package/dist-cjs/border-layout/BorderLayout.js.map +1 -1
  30. package/dist-cjs/button/Button.js +5 -1
  31. package/dist-cjs/button/Button.js.map +1 -1
  32. package/dist-cjs/card/Card.js +5 -1
  33. package/dist-cjs/card/Card.js.map +1 -1
  34. package/dist-cjs/checkbox/Checkbox.js +6 -2
  35. package/dist-cjs/checkbox/Checkbox.js.map +1 -1
  36. package/dist-cjs/checkbox/CheckboxGroup.js +5 -1
  37. package/dist-cjs/checkbox/CheckboxGroup.js.map +1 -1
  38. package/dist-cjs/checkbox/CheckboxIcon.js +5 -1
  39. package/dist-cjs/checkbox/CheckboxIcon.js.map +1 -1
  40. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js +5 -1
  41. package/dist-cjs/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  42. package/dist-cjs/combo-box/ComboBox.js +4 -0
  43. package/dist-cjs/combo-box/ComboBox.js.map +1 -1
  44. package/dist-cjs/combo-box/useComboBox.js +5 -1
  45. package/dist-cjs/combo-box/useComboBox.js.map +1 -1
  46. package/dist-cjs/dialog/Dialog.js +4 -0
  47. package/dist-cjs/dialog/Dialog.js.map +1 -1
  48. package/dist-cjs/dialog/DialogActions.js +5 -1
  49. package/dist-cjs/dialog/DialogActions.js.map +1 -1
  50. package/dist-cjs/dialog/DialogCloseButton.js +5 -1
  51. package/dist-cjs/dialog/DialogCloseButton.js.map +1 -1
  52. package/dist-cjs/dialog/DialogContent.js +5 -1
  53. package/dist-cjs/dialog/DialogContent.js.map +1 -1
  54. package/dist-cjs/dialog/DialogHeader.js +5 -1
  55. package/dist-cjs/dialog/DialogHeader.js.map +1 -1
  56. package/dist-cjs/drawer/Drawer.js +4 -0
  57. package/dist-cjs/drawer/Drawer.js.map +1 -1
  58. package/dist-cjs/drawer/DrawerCloseButton.js +5 -1
  59. package/dist-cjs/drawer/DrawerCloseButton.js.map +1 -1
  60. package/dist-cjs/dropdown/Dropdown.js +5 -1
  61. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  62. package/dist-cjs/file-drop-zone/FileDropZone.js +5 -1
  63. package/dist-cjs/file-drop-zone/FileDropZone.js.map +1 -1
  64. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js +5 -1
  65. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  66. package/dist-cjs/flex-item/FlexItem.js +5 -1
  67. package/dist-cjs/flex-item/FlexItem.js.map +1 -1
  68. package/dist-cjs/flex-layout/FlexLayout.js +5 -1
  69. package/dist-cjs/flex-layout/FlexLayout.js.map +1 -1
  70. package/dist-cjs/form-field/FormField.js +5 -1
  71. package/dist-cjs/form-field/FormField.js.map +1 -1
  72. package/dist-cjs/form-field/FormFieldHelperText.js +5 -1
  73. package/dist-cjs/form-field/FormFieldHelperText.js.map +1 -1
  74. package/dist-cjs/form-field/FormFieldLabel.js +5 -1
  75. package/dist-cjs/form-field/FormFieldLabel.js.map +1 -1
  76. package/dist-cjs/form-field-context/FormFieldContext.js +5 -1
  77. package/dist-cjs/form-field-context/FormFieldContext.js.map +1 -1
  78. package/dist-cjs/grid-item/GridItem.js +5 -1
  79. package/dist-cjs/grid-item/GridItem.js.map +1 -1
  80. package/dist-cjs/grid-layout/GridLayout.js +5 -1
  81. package/dist-cjs/grid-layout/GridLayout.js.map +1 -1
  82. package/dist-cjs/index.js +10 -0
  83. package/dist-cjs/index.js.map +1 -1
  84. package/dist-cjs/input/Input.js +5 -1
  85. package/dist-cjs/input/Input.js.map +1 -1
  86. package/dist-cjs/interactable-card/InteractableCard.css.js +1 -1
  87. package/dist-cjs/interactable-card/InteractableCard.js +5 -1
  88. package/dist-cjs/interactable-card/InteractableCard.js.map +1 -1
  89. package/dist-cjs/interactable-card/InteractableCardGroup.js +5 -1
  90. package/dist-cjs/interactable-card/InteractableCardGroup.js.map +1 -1
  91. package/dist-cjs/interactable-card/InteractableCardGroupContext.js +5 -1
  92. package/dist-cjs/interactable-card/InteractableCardGroupContext.js.map +1 -1
  93. package/dist-cjs/link/Link.js +5 -1
  94. package/dist-cjs/link/Link.js.map +1 -1
  95. package/dist-cjs/link-card/LinkCard.css.js +1 -1
  96. package/dist-cjs/link-card/LinkCard.js +5 -1
  97. package/dist-cjs/link-card/LinkCard.js.map +1 -1
  98. package/dist-cjs/list-control/ListControlContext.js +5 -1
  99. package/dist-cjs/list-control/ListControlContext.js.map +1 -1
  100. package/dist-cjs/list-control/ListControlState.js +5 -1
  101. package/dist-cjs/list-control/ListControlState.js.map +1 -1
  102. package/dist-cjs/multiline-input/MultilineInput.js +5 -1
  103. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -1
  104. package/dist-cjs/navigation-item/NavigationItem.js +5 -1
  105. package/dist-cjs/navigation-item/NavigationItem.js.map +1 -1
  106. package/dist-cjs/option/Option.js +5 -1
  107. package/dist-cjs/option/Option.js.map +1 -1
  108. package/dist-cjs/option/OptionGroup.js +5 -1
  109. package/dist-cjs/option/OptionGroup.js.map +1 -1
  110. package/dist-cjs/option/OptionList.js +5 -1
  111. package/dist-cjs/option/OptionList.js.map +1 -1
  112. package/dist-cjs/option/OptionListBase.js +5 -1
  113. package/dist-cjs/option/OptionListBase.js.map +1 -1
  114. package/dist-cjs/overlay/Overlay.js +164 -0
  115. package/dist-cjs/overlay/Overlay.js.map +1 -0
  116. package/dist-cjs/overlay/OverlayContext.js +127 -0
  117. package/dist-cjs/overlay/OverlayContext.js.map +1 -0
  118. package/dist-cjs/overlay/OverlayPanel.css.js +6 -0
  119. package/dist-cjs/overlay/OverlayPanel.css.js.map +1 -0
  120. package/dist-cjs/overlay/OverlayPanel.js +166 -0
  121. package/dist-cjs/overlay/OverlayPanel.js.map +1 -0
  122. package/dist-cjs/overlay/OverlayPanelCloseButton.css.js +6 -0
  123. package/dist-cjs/overlay/OverlayPanelCloseButton.css.js.map +1 -0
  124. package/dist-cjs/overlay/OverlayPanelCloseButton.js +129 -0
  125. package/dist-cjs/overlay/OverlayPanelCloseButton.js.map +1 -0
  126. package/dist-cjs/overlay/OverlayPanelContent.css.js +6 -0
  127. package/dist-cjs/overlay/OverlayPanelContent.css.js.map +1 -0
  128. package/dist-cjs/overlay/OverlayPanelContent.js +123 -0
  129. package/dist-cjs/overlay/OverlayPanelContent.js.map +1 -0
  130. package/dist-cjs/overlay/OverlayTrigger.js +123 -0
  131. package/dist-cjs/overlay/OverlayTrigger.js.map +1 -0
  132. package/dist-cjs/pagination/CompactInput.js +5 -1
  133. package/dist-cjs/pagination/CompactInput.js.map +1 -1
  134. package/dist-cjs/pagination/CompactPaginator.js +5 -1
  135. package/dist-cjs/pagination/CompactPaginator.js.map +1 -1
  136. package/dist-cjs/pagination/GoToInput.js +5 -1
  137. package/dist-cjs/pagination/GoToInput.js.map +1 -1
  138. package/dist-cjs/pagination/PageButton.js +5 -1
  139. package/dist-cjs/pagination/PageButton.js.map +1 -1
  140. package/dist-cjs/pagination/PageRanges.js +5 -1
  141. package/dist-cjs/pagination/PageRanges.js.map +1 -1
  142. package/dist-cjs/pagination/Pagination.js +5 -1
  143. package/dist-cjs/pagination/Pagination.js.map +1 -1
  144. package/dist-cjs/pagination/Paginator.js +5 -1
  145. package/dist-cjs/pagination/Paginator.js.map +1 -1
  146. package/dist-cjs/panel/Panel.js +5 -1
  147. package/dist-cjs/panel/Panel.js.map +1 -1
  148. package/dist-cjs/pill/Pill.js +6 -1
  149. package/dist-cjs/pill/Pill.js.map +1 -1
  150. package/dist-cjs/pill-input/PillInput.js +5 -1
  151. package/dist-cjs/pill-input/PillInput.js.map +1 -1
  152. package/dist-cjs/progress/CircularProgress/CircularProgress.js +5 -1
  153. package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
  154. package/dist-cjs/progress/LinearProgress/LinearProgress.js +7 -3
  155. package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
  156. package/dist-cjs/radio-button/RadioButton.js +6 -2
  157. package/dist-cjs/radio-button/RadioButton.js.map +1 -1
  158. package/dist-cjs/radio-button/RadioButtonGroup.js +5 -1
  159. package/dist-cjs/radio-button/RadioButtonGroup.js.map +1 -1
  160. package/dist-cjs/radio-button/RadioButtonIcon.js +5 -1
  161. package/dist-cjs/radio-button/RadioButtonIcon.js.map +1 -1
  162. package/dist-cjs/radio-button/internal/RadioGroupContext.js +5 -1
  163. package/dist-cjs/radio-button/internal/RadioGroupContext.js.map +1 -1
  164. package/dist-cjs/salt-provider/SaltProvider.js +5 -1
  165. package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
  166. package/dist-cjs/scrim/Scrim.js +5 -1
  167. package/dist-cjs/scrim/Scrim.js.map +1 -1
  168. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js +5 -1
  169. package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js.map +1 -1
  170. package/dist-cjs/spinner/Spinner.js +5 -1
  171. package/dist-cjs/spinner/Spinner.js.map +1 -1
  172. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js +5 -1
  173. package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  174. package/dist-cjs/split-layout/SplitLayout.js +5 -1
  175. package/dist-cjs/split-layout/SplitLayout.js.map +1 -1
  176. package/dist-cjs/stack-layout/StackLayout.js +5 -1
  177. package/dist-cjs/stack-layout/StackLayout.js.map +1 -1
  178. package/dist-cjs/status-adornment/StatusAdornment.js +5 -1
  179. package/dist-cjs/status-adornment/StatusAdornment.js.map +1 -1
  180. package/dist-cjs/status-indicator/StatusIndicator.js +5 -1
  181. package/dist-cjs/status-indicator/StatusIndicator.js.map +1 -1
  182. package/dist-cjs/switch/Switch.js +5 -1
  183. package/dist-cjs/switch/Switch.js.map +1 -1
  184. package/dist-cjs/text/Text.js +5 -1
  185. package/dist-cjs/text/Text.js.map +1 -1
  186. package/dist-cjs/toast/Toast.js +5 -1
  187. package/dist-cjs/toast/Toast.js.map +1 -1
  188. package/dist-cjs/toast/ToastContent.js +5 -1
  189. package/dist-cjs/toast/ToastContent.js.map +1 -1
  190. package/dist-cjs/toggle-button/ToggleButton.js +6 -1
  191. package/dist-cjs/toggle-button/ToggleButton.js.map +1 -1
  192. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +5 -1
  193. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  194. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js +5 -1
  195. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  196. package/dist-cjs/tooltip/Tooltip.css.js +1 -1
  197. package/dist-cjs/tooltip/Tooltip.js +11 -2
  198. package/dist-cjs/tooltip/Tooltip.js.map +1 -1
  199. package/dist-cjs/tooltip/TooltipBase.js +5 -1
  200. package/dist-cjs/tooltip/TooltipBase.js.map +1 -1
  201. package/dist-cjs/tooltip/useAriaAnnounce.js +5 -1
  202. package/dist-cjs/tooltip/useAriaAnnounce.js.map +1 -1
  203. package/dist-cjs/tooltip/useTooltip.js +4 -0
  204. package/dist-cjs/tooltip/useTooltip.js.map +1 -1
  205. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js +3 -5
  206. package/dist-cjs/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  207. package/dist-cjs/utils/useValueEffect.js +5 -1
  208. package/dist-cjs/utils/useValueEffect.js.map +1 -1
  209. package/dist-cjs/viewport/ViewportProvider.js +5 -1
  210. package/dist-cjs/viewport/ViewportProvider.js.map +1 -1
  211. package/dist-es/accordion/Accordion.js +5 -1
  212. package/dist-es/accordion/Accordion.js.map +1 -1
  213. package/dist-es/accordion/AccordionContext.js +5 -1
  214. package/dist-es/accordion/AccordionContext.js.map +1 -1
  215. package/dist-es/accordion/AccordionGroup.js +5 -1
  216. package/dist-es/accordion/AccordionGroup.js.map +1 -1
  217. package/dist-es/accordion/AccordionHeader.js +6 -1
  218. package/dist-es/accordion/AccordionHeader.js.map +1 -1
  219. package/dist-es/accordion/AccordionPanel.js +5 -1
  220. package/dist-es/accordion/AccordionPanel.js.map +1 -1
  221. package/dist-es/aria-announcer/useAriaAnnouncer.js +5 -1
  222. package/dist-es/aria-announcer/useAriaAnnouncer.js.map +1 -1
  223. package/dist-es/avatar/Avatar.js +5 -1
  224. package/dist-es/avatar/Avatar.js.map +1 -1
  225. package/dist-es/avatar/useAvatarImage.js +5 -1
  226. package/dist-es/avatar/useAvatarImage.js.map +1 -1
  227. package/dist-es/badge/Badge.js +5 -1
  228. package/dist-es/badge/Badge.js.map +1 -1
  229. package/dist-es/banner/Banner.js +5 -1
  230. package/dist-es/banner/Banner.js.map +1 -1
  231. package/dist-es/banner/BannerActions.js +5 -1
  232. package/dist-es/banner/BannerActions.js.map +1 -1
  233. package/dist-es/banner/BannerContent.js +5 -1
  234. package/dist-es/banner/BannerContent.js.map +1 -1
  235. package/dist-es/border-item/BorderItem.js +5 -1
  236. package/dist-es/border-item/BorderItem.js.map +1 -1
  237. package/dist-es/border-layout/BorderLayout.js +5 -1
  238. package/dist-es/border-layout/BorderLayout.js.map +1 -1
  239. package/dist-es/button/Button.js +5 -1
  240. package/dist-es/button/Button.js.map +1 -1
  241. package/dist-es/card/Card.js +5 -1
  242. package/dist-es/card/Card.js.map +1 -1
  243. package/dist-es/checkbox/Checkbox.js +6 -2
  244. package/dist-es/checkbox/Checkbox.js.map +1 -1
  245. package/dist-es/checkbox/CheckboxGroup.js +5 -1
  246. package/dist-es/checkbox/CheckboxGroup.js.map +1 -1
  247. package/dist-es/checkbox/CheckboxIcon.js +5 -1
  248. package/dist-es/checkbox/CheckboxIcon.js.map +1 -1
  249. package/dist-es/checkbox/internal/CheckboxGroupContext.js +5 -1
  250. package/dist-es/checkbox/internal/CheckboxGroupContext.js.map +1 -1
  251. package/dist-es/combo-box/ComboBox.js +4 -0
  252. package/dist-es/combo-box/ComboBox.js.map +1 -1
  253. package/dist-es/combo-box/useComboBox.js +5 -1
  254. package/dist-es/combo-box/useComboBox.js.map +1 -1
  255. package/dist-es/dialog/Dialog.js +4 -0
  256. package/dist-es/dialog/Dialog.js.map +1 -1
  257. package/dist-es/dialog/DialogActions.js +5 -1
  258. package/dist-es/dialog/DialogActions.js.map +1 -1
  259. package/dist-es/dialog/DialogCloseButton.js +5 -1
  260. package/dist-es/dialog/DialogCloseButton.js.map +1 -1
  261. package/dist-es/dialog/DialogContent.js +5 -1
  262. package/dist-es/dialog/DialogContent.js.map +1 -1
  263. package/dist-es/dialog/DialogHeader.js +5 -1
  264. package/dist-es/dialog/DialogHeader.js.map +1 -1
  265. package/dist-es/drawer/Drawer.js +4 -0
  266. package/dist-es/drawer/Drawer.js.map +1 -1
  267. package/dist-es/drawer/DrawerCloseButton.js +5 -1
  268. package/dist-es/drawer/DrawerCloseButton.js.map +1 -1
  269. package/dist-es/dropdown/Dropdown.js +5 -1
  270. package/dist-es/dropdown/Dropdown.js.map +1 -1
  271. package/dist-es/file-drop-zone/FileDropZone.js +5 -1
  272. package/dist-es/file-drop-zone/FileDropZone.js.map +1 -1
  273. package/dist-es/file-drop-zone/FileDropZoneTrigger.js +5 -1
  274. package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  275. package/dist-es/flex-item/FlexItem.js +5 -1
  276. package/dist-es/flex-item/FlexItem.js.map +1 -1
  277. package/dist-es/flex-layout/FlexLayout.js +5 -1
  278. package/dist-es/flex-layout/FlexLayout.js.map +1 -1
  279. package/dist-es/form-field/FormField.js +5 -1
  280. package/dist-es/form-field/FormField.js.map +1 -1
  281. package/dist-es/form-field/FormFieldHelperText.js +5 -1
  282. package/dist-es/form-field/FormFieldHelperText.js.map +1 -1
  283. package/dist-es/form-field/FormFieldLabel.js +5 -1
  284. package/dist-es/form-field/FormFieldLabel.js.map +1 -1
  285. package/dist-es/form-field-context/FormFieldContext.js +5 -1
  286. package/dist-es/form-field-context/FormFieldContext.js.map +1 -1
  287. package/dist-es/grid-item/GridItem.js +5 -1
  288. package/dist-es/grid-item/GridItem.js.map +1 -1
  289. package/dist-es/grid-layout/GridLayout.js +5 -1
  290. package/dist-es/grid-layout/GridLayout.js.map +1 -1
  291. package/dist-es/index.js +5 -0
  292. package/dist-es/index.js.map +1 -1
  293. package/dist-es/input/Input.js +5 -1
  294. package/dist-es/input/Input.js.map +1 -1
  295. package/dist-es/interactable-card/InteractableCard.css.js +1 -1
  296. package/dist-es/interactable-card/InteractableCard.js +5 -1
  297. package/dist-es/interactable-card/InteractableCard.js.map +1 -1
  298. package/dist-es/interactable-card/InteractableCardGroup.js +5 -1
  299. package/dist-es/interactable-card/InteractableCardGroup.js.map +1 -1
  300. package/dist-es/interactable-card/InteractableCardGroupContext.js +5 -1
  301. package/dist-es/interactable-card/InteractableCardGroupContext.js.map +1 -1
  302. package/dist-es/link/Link.js +5 -1
  303. package/dist-es/link/Link.js.map +1 -1
  304. package/dist-es/link-card/LinkCard.css.js +1 -1
  305. package/dist-es/link-card/LinkCard.js +5 -1
  306. package/dist-es/link-card/LinkCard.js.map +1 -1
  307. package/dist-es/list-control/ListControlContext.js +5 -1
  308. package/dist-es/list-control/ListControlContext.js.map +1 -1
  309. package/dist-es/list-control/ListControlState.js +5 -1
  310. package/dist-es/list-control/ListControlState.js.map +1 -1
  311. package/dist-es/multiline-input/MultilineInput.js +5 -1
  312. package/dist-es/multiline-input/MultilineInput.js.map +1 -1
  313. package/dist-es/navigation-item/NavigationItem.js +5 -1
  314. package/dist-es/navigation-item/NavigationItem.js.map +1 -1
  315. package/dist-es/option/Option.js +5 -1
  316. package/dist-es/option/Option.js.map +1 -1
  317. package/dist-es/option/OptionGroup.js +5 -1
  318. package/dist-es/option/OptionGroup.js.map +1 -1
  319. package/dist-es/option/OptionList.js +5 -1
  320. package/dist-es/option/OptionList.js.map +1 -1
  321. package/dist-es/option/OptionListBase.js +5 -1
  322. package/dist-es/option/OptionListBase.js.map +1 -1
  323. package/dist-es/overlay/Overlay.js +160 -0
  324. package/dist-es/overlay/Overlay.js.map +1 -0
  325. package/dist-es/overlay/OverlayContext.js +122 -0
  326. package/dist-es/overlay/OverlayContext.js.map +1 -0
  327. package/dist-es/overlay/OverlayPanel.css.js +4 -0
  328. package/dist-es/overlay/OverlayPanel.css.js.map +1 -0
  329. package/dist-es/overlay/OverlayPanel.js +162 -0
  330. package/dist-es/overlay/OverlayPanel.js.map +1 -0
  331. package/dist-es/overlay/OverlayPanelCloseButton.css.js +4 -0
  332. package/dist-es/overlay/OverlayPanelCloseButton.css.js.map +1 -0
  333. package/dist-es/overlay/OverlayPanelCloseButton.js +121 -0
  334. package/dist-es/overlay/OverlayPanelCloseButton.js.map +1 -0
  335. package/dist-es/overlay/OverlayPanelContent.css.js +4 -0
  336. package/dist-es/overlay/OverlayPanelContent.css.js.map +1 -0
  337. package/dist-es/overlay/OverlayPanelContent.js +115 -0
  338. package/dist-es/overlay/OverlayPanelContent.js.map +1 -0
  339. package/dist-es/overlay/OverlayTrigger.js +119 -0
  340. package/dist-es/overlay/OverlayTrigger.js.map +1 -0
  341. package/dist-es/pagination/CompactInput.js +5 -1
  342. package/dist-es/pagination/CompactInput.js.map +1 -1
  343. package/dist-es/pagination/CompactPaginator.js +5 -1
  344. package/dist-es/pagination/CompactPaginator.js.map +1 -1
  345. package/dist-es/pagination/GoToInput.js +5 -1
  346. package/dist-es/pagination/GoToInput.js.map +1 -1
  347. package/dist-es/pagination/PageButton.js +5 -1
  348. package/dist-es/pagination/PageButton.js.map +1 -1
  349. package/dist-es/pagination/PageRanges.js +5 -1
  350. package/dist-es/pagination/PageRanges.js.map +1 -1
  351. package/dist-es/pagination/Pagination.js +5 -1
  352. package/dist-es/pagination/Pagination.js.map +1 -1
  353. package/dist-es/pagination/Paginator.js +5 -1
  354. package/dist-es/pagination/Paginator.js.map +1 -1
  355. package/dist-es/panel/Panel.js +5 -1
  356. package/dist-es/panel/Panel.js.map +1 -1
  357. package/dist-es/pill/Pill.js +6 -1
  358. package/dist-es/pill/Pill.js.map +1 -1
  359. package/dist-es/pill-input/PillInput.js +5 -1
  360. package/dist-es/pill-input/PillInput.js.map +1 -1
  361. package/dist-es/progress/CircularProgress/CircularProgress.js +5 -1
  362. package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
  363. package/dist-es/progress/LinearProgress/LinearProgress.js +7 -3
  364. package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
  365. package/dist-es/radio-button/RadioButton.js +6 -2
  366. package/dist-es/radio-button/RadioButton.js.map +1 -1
  367. package/dist-es/radio-button/RadioButtonGroup.js +5 -1
  368. package/dist-es/radio-button/RadioButtonGroup.js.map +1 -1
  369. package/dist-es/radio-button/RadioButtonIcon.js +5 -1
  370. package/dist-es/radio-button/RadioButtonIcon.js.map +1 -1
  371. package/dist-es/radio-button/internal/RadioGroupContext.js +5 -1
  372. package/dist-es/radio-button/internal/RadioGroupContext.js.map +1 -1
  373. package/dist-es/salt-provider/SaltProvider.js +5 -1
  374. package/dist-es/salt-provider/SaltProvider.js.map +1 -1
  375. package/dist-es/scrim/Scrim.js +5 -1
  376. package/dist-es/scrim/Scrim.js.map +1 -1
  377. package/dist-es/segmented-button-group/SegmentedButtonGroup.js +5 -1
  378. package/dist-es/segmented-button-group/SegmentedButtonGroup.js.map +1 -1
  379. package/dist-es/spinner/Spinner.js +5 -1
  380. package/dist-es/spinner/Spinner.js.map +1 -1
  381. package/dist-es/spinner/svgSpinners/SpinnerSVG.js +5 -1
  382. package/dist-es/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
  383. package/dist-es/split-layout/SplitLayout.js +5 -1
  384. package/dist-es/split-layout/SplitLayout.js.map +1 -1
  385. package/dist-es/stack-layout/StackLayout.js +5 -1
  386. package/dist-es/stack-layout/StackLayout.js.map +1 -1
  387. package/dist-es/status-adornment/StatusAdornment.js +5 -1
  388. package/dist-es/status-adornment/StatusAdornment.js.map +1 -1
  389. package/dist-es/status-indicator/StatusIndicator.js +5 -1
  390. package/dist-es/status-indicator/StatusIndicator.js.map +1 -1
  391. package/dist-es/switch/Switch.js +5 -1
  392. package/dist-es/switch/Switch.js.map +1 -1
  393. package/dist-es/text/Text.js +5 -1
  394. package/dist-es/text/Text.js.map +1 -1
  395. package/dist-es/toast/Toast.js +5 -1
  396. package/dist-es/toast/Toast.js.map +1 -1
  397. package/dist-es/toast/ToastContent.js +5 -1
  398. package/dist-es/toast/ToastContent.js.map +1 -1
  399. package/dist-es/toggle-button/ToggleButton.js +6 -1
  400. package/dist-es/toggle-button/ToggleButton.js.map +1 -1
  401. package/dist-es/toggle-button-group/ToggleButtonGroup.js +5 -1
  402. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -1
  403. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js +5 -1
  404. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
  405. package/dist-es/tooltip/Tooltip.css.js +1 -1
  406. package/dist-es/tooltip/Tooltip.js +11 -2
  407. package/dist-es/tooltip/Tooltip.js.map +1 -1
  408. package/dist-es/tooltip/TooltipBase.js +5 -1
  409. package/dist-es/tooltip/TooltipBase.js.map +1 -1
  410. package/dist-es/tooltip/useAriaAnnounce.js +5 -1
  411. package/dist-es/tooltip/useAriaAnnounce.js.map +1 -1
  412. package/dist-es/tooltip/useTooltip.js +4 -0
  413. package/dist-es/tooltip/useTooltip.js.map +1 -1
  414. package/dist-es/utils/useFloatingUI/useFloatingUI.js +3 -5
  415. package/dist-es/utils/useFloatingUI/useFloatingUI.js.map +1 -1
  416. package/dist-es/utils/useValueEffect.js +5 -1
  417. package/dist-es/utils/useValueEffect.js.map +1 -1
  418. package/dist-es/viewport/ViewportProvider.js +5 -1
  419. package/dist-es/viewport/ViewportProvider.js.map +1 -1
  420. package/dist-types/index.d.ts +1 -0
  421. package/dist-types/overlay/Overlay.d.ts +13 -0
  422. package/dist-types/overlay/OverlayContext.d.ts +21 -0
  423. package/dist-types/overlay/OverlayPanel.d.ts +8 -0
  424. package/dist-types/overlay/OverlayPanelCloseButton.d.ts +2 -0
  425. package/dist-types/overlay/OverlayPanelContent.d.ts +8 -0
  426. package/dist-types/overlay/OverlayTrigger.d.ts +5 -0
  427. package/dist-types/overlay/index.d.ts +5 -0
  428. package/dist-types/tooltip/Tooltip.d.ts +2 -1
  429. package/dist-types/tooltip/TooltipBase.d.ts +2 -2
  430. package/dist-types/utils/useFloatingUI/useFloatingUI.d.ts +1 -1
  431. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"useTooltip.js","sources":["../src/tooltip/useTooltip.ts"],"sourcesContent":["import {\n arrow,\n flip,\n offset,\n safePolygon,\n shift,\n useDismiss,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n limitShift,\n} from \"@floating-ui/react\";\nimport { HTMLProps, useRef } from \"react\";\nimport { useControlled, UseFloatingUIProps, useFloatingUI } from \"../utils\";\nimport { useAriaAnnounce } from \"./useAriaAnnounce\";\n\nexport interface UseTooltipProps\n extends Partial<\n Pick<UseFloatingUIProps, \"onOpenChange\" | \"open\" | \"placement\">\n > {\n /**\n * Do not respond to focus events.\n */\n disableFocusListener?: boolean;\n /**\n * Do not respond to hover events.\n */\n disableHoverListener?: boolean;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n */\n enterDelay?: number;\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n */\n leaveDelay?: number;\n}\n\nexport function useTooltip(props?: UseTooltipProps) {\n const {\n enterDelay,\n leaveDelay,\n open: openProp,\n onOpenChange,\n placement: placementProp,\n disableHoverListener,\n disableFocusListener,\n } = props ?? {};\n\n const arrowRef = useRef<SVGSVGElement | null>(null);\n\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: false,\n name: \"Tooltip\",\n state: \"open\",\n });\n const handleOpenChange = (open: boolean) => {\n setOpen(open);\n onOpenChange?.(open);\n };\n\n const { floating, reference, x, y, strategy, placement, context, elements } =\n useFloatingUI({\n open,\n onOpenChange: handleOpenChange,\n placement: placementProp,\n middleware: [\n offset(8),\n shift({ limiter: limitShift() }),\n flip({\n fallbackAxisSideDirection: \"end\",\n fallbackStrategy: \"initialPlacement\",\n }),\n arrow({ element: arrowRef }),\n ],\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n enabled: !disableHoverListener,\n handleClose: safePolygon(),\n }),\n useFocus(context, { enabled: !disableFocusListener }),\n useRole(context, { role: \"tooltip\" }),\n useDismiss(context),\n useAriaAnnounce(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n }),\n ]);\n\n const arrowProps = {\n ref: arrowRef,\n context,\n };\n\n const getTooltipProps = (): HTMLProps<HTMLDivElement> => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars -- tabIndex raises false positives because it is set to \"-1\".\n const { tabIndex, ...tooltipProps } = getFloatingProps({\n // @ts-expect-error - `data-*` props need extra typing when not used on a DOM element.\n \"data-placement\": placement,\n ref: floating,\n });\n\n return tooltipProps;\n };\n\n const getTriggerProps = () =>\n getReferenceProps({\n ref: reference,\n });\n\n const getTooltipPosition = () => ({\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n width: elements.floating?.offsetWidth,\n height: elements.floating?.offsetHeight,\n });\n\n return {\n arrowProps,\n open,\n floating,\n reference,\n getTooltipProps,\n getTriggerProps,\n getTooltipPosition,\n };\n}\n"],"names":["open"],"mappings":"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"}
1
+ {"version":3,"file":"useTooltip.js","sources":["../src/tooltip/useTooltip.ts"],"sourcesContent":["import {\n arrow,\n flip,\n offset,\n safePolygon,\n shift,\n useDismiss,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n limitShift,\n} from \"@floating-ui/react\";\nimport { HTMLProps, useRef } from \"react\";\nimport { useControlled, UseFloatingUIProps, useFloatingUI } from \"../utils\";\nimport { useAriaAnnounce } from \"./useAriaAnnounce\";\n\nexport interface UseTooltipProps\n extends Partial<\n Pick<UseFloatingUIProps, \"onOpenChange\" | \"open\" | \"placement\">\n > {\n /**\n * Do not respond to focus events.\n */\n disableFocusListener?: boolean;\n /**\n * Do not respond to hover events.\n */\n disableHoverListener?: boolean;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n */\n enterDelay?: number;\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n */\n leaveDelay?: number;\n}\n\nexport function useTooltip(props?: UseTooltipProps) {\n const {\n enterDelay,\n leaveDelay,\n open: openProp,\n onOpenChange,\n placement: placementProp,\n disableHoverListener,\n disableFocusListener,\n } = props ?? {};\n\n const arrowRef = useRef<SVGSVGElement | null>(null);\n\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: false,\n name: \"Tooltip\",\n state: \"open\",\n });\n const handleOpenChange = (open: boolean) => {\n setOpen(open);\n onOpenChange?.(open);\n };\n\n const { floating, reference, x, y, strategy, placement, context, elements } =\n useFloatingUI({\n open,\n onOpenChange: handleOpenChange,\n placement: placementProp,\n middleware: [\n offset(8),\n shift({ limiter: limitShift() }),\n flip({\n fallbackAxisSideDirection: \"end\",\n fallbackStrategy: \"initialPlacement\",\n }),\n arrow({ element: arrowRef }),\n ],\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n enabled: !disableHoverListener,\n handleClose: safePolygon(),\n }),\n useFocus(context, { enabled: !disableFocusListener }),\n useRole(context, { role: \"tooltip\" }),\n useDismiss(context),\n useAriaAnnounce(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n }),\n ]);\n\n const arrowProps = {\n ref: arrowRef,\n context,\n };\n\n const getTooltipProps = (): HTMLProps<HTMLDivElement> => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars -- tabIndex raises false positives because it is set to \"-1\".\n const { tabIndex, ...tooltipProps } = getFloatingProps({\n // @ts-expect-error - `data-*` props need extra typing when not used on a DOM element.\n \"data-placement\": placement,\n ref: floating,\n });\n\n return tooltipProps;\n };\n\n const getTriggerProps = () =>\n getReferenceProps({\n ref: reference,\n });\n\n const getTooltipPosition = () => ({\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n width: elements.floating?.offsetWidth,\n height: elements.floating?.offsetHeight,\n });\n\n return {\n arrowProps,\n open,\n floating,\n reference,\n getTooltipProps,\n getTriggerProps,\n getTooltipPosition,\n };\n}\n"],"names":["open"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCO,SAAS,WAAW,KAAyB,EAAA;AAClD,EAAM,MAAA;AAAA,IACJ,UAAA;AAAA,IACA,UAAA;AAAA,IACA,IAAM,EAAA,QAAA;AAAA,IACN,YAAA;AAAA,IACA,SAAW,EAAA,aAAA;AAAA,IACX,oBAAA;AAAA,IACA,oBAAA;AAAA,GACF,GAAI,wBAAS,EAAC,CAAA;AAEd,EAAM,MAAA,QAAA,GAAW,OAA6B,IAAI,CAAA,CAAA;AAElD,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,aAAc,CAAA;AAAA,IACpC,UAAY,EAAA,QAAA;AAAA,IACZ,OAAS,EAAA,KAAA;AAAA,IACT,IAAM,EAAA,SAAA;AAAA,IACN,KAAO,EAAA,MAAA;AAAA,GACR,CAAA,CAAA;AACD,EAAM,MAAA,gBAAA,GAAmB,CAACA,KAAkB,KAAA;AAC1C,IAAA,OAAA,CAAQA,KAAI,CAAA,CAAA;AACZ,IAAeA,YAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAAA,CAAAA,KAAAA,CAAAA,CAAAA;AAAA,GACjB,CAAA;AAEA,EAAM,MAAA,EAAE,QAAU,EAAA,SAAA,EAAW,CAAG,EAAA,CAAA,EAAG,UAAU,SAAW,EAAA,OAAA,EAAS,QAAS,EAAA,GACxE,aAAc,CAAA;AAAA,IACZ,IAAA;AAAA,IACA,YAAc,EAAA,gBAAA;AAAA,IACd,SAAW,EAAA,aAAA;AAAA,IACX,UAAY,EAAA;AAAA,MACV,OAAO,CAAC,CAAA;AAAA,MACR,KAAM,CAAA,EAAE,OAAS,EAAA,UAAA,IAAc,CAAA;AAAA,MAC/B,IAAK,CAAA;AAAA,QACH,yBAA2B,EAAA,KAAA;AAAA,QAC3B,gBAAkB,EAAA,kBAAA;AAAA,OACnB,CAAA;AAAA,MACD,KAAM,CAAA,EAAE,OAAS,EAAA,QAAA,EAAU,CAAA;AAAA,KAC7B;AAAA,GACD,CAAA,CAAA;AAEH,EAAA,MAAM,EAAE,iBAAA,EAAmB,gBAAiB,EAAA,GAAI,eAAgB,CAAA;AAAA,IAC9D,SAAS,OAAS,EAAA;AAAA,MAChB,KAAO,EAAA;AAAA,QACL,IAAM,EAAA,UAAA;AAAA,QACN,KAAO,EAAA,UAAA;AAAA,OACT;AAAA,MACA,SAAS,CAAC,oBAAA;AAAA,MACV,aAAa,WAAY,EAAA;AAAA,KAC1B,CAAA;AAAA,IACD,SAAS,OAAS,EAAA,EAAE,OAAS,EAAA,CAAC,sBAAsB,CAAA;AAAA,IACpD,OAAQ,CAAA,OAAA,EAAS,EAAE,IAAA,EAAM,WAAW,CAAA;AAAA,IACpC,WAAW,OAAO,CAAA;AAAA,IAClB,gBAAgB,OAAS,EAAA;AAAA,MACvB,KAAO,EAAA;AAAA,QACL,IAAM,EAAA,UAAA;AAAA,QACN,KAAO,EAAA,UAAA;AAAA,OACT;AAAA,KACD,CAAA;AAAA,GACF,CAAA,CAAA;AAED,EAAA,MAAM,UAAa,GAAA;AAAA,IACjB,GAAK,EAAA,QAAA;AAAA,IACL,OAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,kBAAkB,MAAiC;AAEvD,IAAA,MAAM,EAAE,QAAA,EAAA,GAAa,YAAa,EAAA,GAAI,gBAAiB,CAAA;AAAA,MAErD,gBAAkB,EAAA,SAAA;AAAA,MAClB,GAAK,EAAA,QAAA;AAAA,KACN,CAAA,CAAA;AAED,IAAO,OAAA,YAAA,CAAA;AAAA,GACT,CAAA;AAEA,EAAM,MAAA,eAAA,GAAkB,MACtB,iBAAkB,CAAA;AAAA,IAChB,GAAK,EAAA,SAAA;AAAA,GACN,CAAA,CAAA;AAEH,EAAA,MAAM,qBAAqB,MAAG;AA1HhC,IAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA0HoC,IAAA,OAAA;AAAA,MAChC,KAAK,CAAK,IAAA,IAAA,GAAA,CAAA,GAAA,CAAA;AAAA,MACV,MAAM,CAAK,IAAA,IAAA,GAAA,CAAA,GAAA,CAAA;AAAA,MACX,QAAU,EAAA,QAAA;AAAA,MACV,KAAA,EAAA,CAAO,EAAS,GAAA,QAAA,CAAA,QAAA,KAAT,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA;AAAA,MAC1B,MAAA,EAAA,CAAQ,EAAS,GAAA,QAAA,CAAA,QAAA,KAAT,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA;AAAA,KAC7B,CAAA;AAAA,GAAA,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA,kBAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -100,11 +100,10 @@ const DEFAULT_FLOATING_UI_MIDDLEWARE = [
100
100
  ];
101
101
  function useFloatingUI(props) {
102
102
  const {
103
- placement,
104
- strategy,
105
103
  middleware = DEFAULT_FLOATING_UI_MIDDLEWARE,
106
104
  open = false,
107
- onOpenChange
105
+ onOpenChange,
106
+ ...other
108
107
  } = props;
109
108
  const handleOpenChange = (open2, boolean, reason) => {
110
109
  update();
@@ -116,8 +115,7 @@ function useFloatingUI(props) {
116
115
  animationFrame
117
116
  } = useFloatingPlatform();
118
117
  const { refs, update, ...rest } = useFloating({
119
- placement,
120
- strategy,
118
+ ...other,
121
119
  middleware: contextMiddleware(middleware),
122
120
  open,
123
121
  onOpenChange: handleOpenChange,
@@ -1 +1 @@
1
- {"version":3,"file":"useFloatingUI.js","sources":["../src/utils/useFloatingUI/useFloatingUI.tsx"],"sourcesContent":["import {\n FloatingFocusManager,\n FloatingFocusManagerProps,\n FloatingPortal,\n Middleware,\n Platform,\n Strategy,\n UseFloatingOptions,\n autoUpdate,\n flip,\n limitShift,\n platform,\n shift,\n useFloating,\n} from \"@floating-ui/react\";\nimport {\n ComponentPropsWithoutRef,\n ReactNode,\n createContext,\n forwardRef,\n useContext,\n useMemo,\n} from \"react\";\nimport {\n SaltProvider,\n UNSTABLE_SaltProviderNext,\n useTheme,\n} from \"../../salt-provider\";\n\nexport interface FloatingComponentProps\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Whether the floating component is open (used for determining whether to show the component)\n * We pass this as a prop rather than not rendering the component to allow more advanced use-cases e.g.\n * for caching windows and reusing them, rather than always spawning a new one\n */\n open: boolean;\n /**\n * Use this prop when `FloatingFocusManager` is needed for floating component\n */\n focusManagerProps?: Omit<FloatingFocusManagerProps, \"children\">;\n /**\n * Position and sizing optional props for the floating component. `top`, `left`, and `position` for floating elements where they aren't positioned with relative to the trigger.\n * `width` and `height` are used to define the size of the floating element.\n *\n */\n top?: number;\n left?: number;\n width?: number;\n height?: number;\n position?: Strategy;\n}\n\nconst DefaultFloatingComponent = forwardRef<\n HTMLDivElement,\n FloatingComponentProps\n>(function DefaultFloatingComponent(props, ref) {\n const {\n open,\n top,\n left,\n position,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n width,\n height,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n focusManagerProps,\n ...rest\n } = props;\n const style = {\n top,\n left,\n position,\n };\n\n const { themeNext } = useTheme();\n\n const ChosenSaltProvider = themeNext\n ? UNSTABLE_SaltProviderNext\n : SaltProvider;\n\n if (focusManagerProps && open) {\n return (\n <FloatingPortal>\n <ChosenSaltProvider>\n <FloatingFocusManager {...focusManagerProps}>\n <div style={style} {...rest} ref={ref} />\n </FloatingFocusManager>\n </ChosenSaltProvider>\n </FloatingPortal>\n );\n }\n\n return open ? (\n <FloatingPortal>\n <ChosenSaltProvider>\n <div style={style} {...rest} ref={ref} />\n </ChosenSaltProvider>\n </FloatingPortal>\n ) : null;\n});\n\nexport interface FloatingComponentContextType {\n Component: typeof DefaultFloatingComponent;\n}\n\nconst FloatingComponentContext = createContext<FloatingComponentContextType>({\n Component: DefaultFloatingComponent,\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n FloatingComponentContext.displayName = \"FloatingComponentContext\";\n}\n\nexport interface FloatingComponentProviderProps\n extends FloatingComponentContextType {\n children: ReactNode;\n}\n\nexport function FloatingComponentProvider(\n props: FloatingComponentProviderProps\n) {\n const { Component, children } = props;\n const value = useMemo(() => ({ Component }), [Component]);\n\n return (\n <FloatingComponentContext.Provider value={value}>\n {children}\n </FloatingComponentContext.Provider>\n );\n}\n\nexport function useFloatingComponent() {\n return useContext(FloatingComponentContext);\n}\n\nexport interface UseFloatingUIProps\n extends Pick<\n UseFloatingOptions,\n \"placement\" | \"strategy\" | \"open\" | \"onOpenChange\"\n > {\n /**\n * Function to update the default middleware used to extend or replace it\n */\n middleware?: Middleware[];\n}\n\ntype GetMiddleware = (middleware: Middleware[]) => Middleware[];\n\nconst defaultGetMiddleware: GetMiddleware = (defaultMiddleware) =>\n defaultMiddleware;\n\ninterface FloatingPlatformContextType {\n platform: Platform;\n middleware: GetMiddleware;\n animationFrame: boolean;\n}\n\nconst defaultFloatingPlaform: FloatingPlatformContextType = {\n platform,\n middleware: defaultGetMiddleware,\n animationFrame: false,\n};\n\nconst FloatingPlatformContext = createContext<FloatingPlatformContextType>(\n defaultFloatingPlaform\n);\n\nexport interface FloatingPlatformProviderProps {\n platform?: Platform;\n middleware?: GetMiddleware;\n children: ReactNode;\n animationFrame?: boolean;\n}\n\nexport function FloatingPlatformProvider(props: FloatingPlatformProviderProps) {\n const {\n platform: platformProp,\n middleware,\n animationFrame,\n children,\n } = props;\n\n const floatingPlatformContextValue = useMemo<FloatingPlatformContextType>(\n () => ({\n platform: platformProp ?? platform,\n middleware: middleware ?? defaultGetMiddleware,\n animationFrame: animationFrame || false,\n }),\n [platformProp, middleware, animationFrame]\n );\n\n return (\n <FloatingPlatformContext.Provider value={floatingPlatformContextValue}>\n {children}\n </FloatingPlatformContext.Provider>\n );\n}\n\nexport function useFloatingPlatform() {\n return useContext(FloatingPlatformContext);\n}\n\nexport const DEFAULT_FLOATING_UI_MIDDLEWARE = [\n flip(),\n shift({ limiter: limitShift() }),\n];\n\ntype UseFloatingRefs = ReturnType<typeof useFloating>[\"refs\"];\n\nexport interface UseFloatingUIReturn extends ReturnType<typeof useFloating> {\n reference: UseFloatingRefs[\"setReference\"];\n floating: UseFloatingRefs[\"setFloating\"];\n}\n\nexport function useFloatingUI(props: UseFloatingUIProps): UseFloatingUIReturn {\n const {\n placement,\n strategy,\n middleware = DEFAULT_FLOATING_UI_MIDDLEWARE,\n open = false,\n onOpenChange,\n } = props;\n\n const handleOpenChange: UseFloatingUIProps[\"onOpenChange\"] = (\n open,\n boolean,\n reason\n ) => {\n update();\n onOpenChange?.(open, boolean, reason);\n };\n\n const {\n platform: contextPlatform,\n middleware: contextMiddleware,\n animationFrame,\n } = useFloatingPlatform();\n\n const { refs, update, ...rest } = useFloating({\n placement,\n strategy,\n middleware: contextMiddleware(middleware),\n open,\n onOpenChange: handleOpenChange,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, { animationFrame });\n\n return cleanup;\n },\n platform: contextPlatform,\n });\n\n return {\n reference: refs.setReference,\n floating: refs.setFloating,\n refs,\n update,\n ...rest,\n };\n}\n"],"names":["DefaultFloatingComponent","open"],"mappings":"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"}
1
+ {"version":3,"file":"useFloatingUI.js","sources":["../src/utils/useFloatingUI/useFloatingUI.tsx"],"sourcesContent":["import {\n FloatingFocusManager,\n FloatingFocusManagerProps,\n FloatingPortal,\n Middleware,\n Platform,\n Strategy,\n UseFloatingOptions,\n autoUpdate,\n flip,\n limitShift,\n platform,\n shift,\n useFloating,\n} from \"@floating-ui/react\";\nimport {\n ComponentPropsWithoutRef,\n ReactNode,\n createContext,\n forwardRef,\n useContext,\n useMemo,\n} from \"react\";\nimport {\n SaltProvider,\n UNSTABLE_SaltProviderNext,\n useTheme,\n} from \"../../salt-provider\";\n\nexport interface FloatingComponentProps\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Whether the floating component is open (used for determining whether to show the component)\n * We pass this as a prop rather than not rendering the component to allow more advanced use-cases e.g.\n * for caching windows and reusing them, rather than always spawning a new one\n */\n open: boolean;\n /**\n * Use this prop when `FloatingFocusManager` is needed for floating component\n */\n focusManagerProps?: Omit<FloatingFocusManagerProps, \"children\">;\n /**\n * Position and sizing optional props for the floating component. `top`, `left`, and `position` for floating elements where they aren't positioned with relative to the trigger.\n * `width` and `height` are used to define the size of the floating element.\n *\n */\n top?: number;\n left?: number;\n width?: number;\n height?: number;\n position?: Strategy;\n}\n\nconst DefaultFloatingComponent = forwardRef<\n HTMLDivElement,\n FloatingComponentProps\n>(function DefaultFloatingComponent(props, ref) {\n const {\n open,\n top,\n left,\n position,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n width,\n height,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n focusManagerProps,\n ...rest\n } = props;\n const style = {\n top,\n left,\n position,\n };\n\n const { themeNext } = useTheme();\n\n const ChosenSaltProvider = themeNext\n ? UNSTABLE_SaltProviderNext\n : SaltProvider;\n\n if (focusManagerProps && open) {\n return (\n <FloatingPortal>\n <ChosenSaltProvider>\n <FloatingFocusManager {...focusManagerProps}>\n <div style={style} {...rest} ref={ref} />\n </FloatingFocusManager>\n </ChosenSaltProvider>\n </FloatingPortal>\n );\n }\n\n return open ? (\n <FloatingPortal>\n <ChosenSaltProvider>\n <div style={style} {...rest} ref={ref} />\n </ChosenSaltProvider>\n </FloatingPortal>\n ) : null;\n});\n\nexport interface FloatingComponentContextType {\n Component: typeof DefaultFloatingComponent;\n}\n\nconst FloatingComponentContext = createContext<FloatingComponentContextType>({\n Component: DefaultFloatingComponent,\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n FloatingComponentContext.displayName = \"FloatingComponentContext\";\n}\n\nexport interface FloatingComponentProviderProps\n extends FloatingComponentContextType {\n children: ReactNode;\n}\n\nexport function FloatingComponentProvider(\n props: FloatingComponentProviderProps\n) {\n const { Component, children } = props;\n const value = useMemo(() => ({ Component }), [Component]);\n\n return (\n <FloatingComponentContext.Provider value={value}>\n {children}\n </FloatingComponentContext.Provider>\n );\n}\n\nexport function useFloatingComponent() {\n return useContext(FloatingComponentContext);\n}\n\nexport interface UseFloatingUIProps\n extends Pick<\n UseFloatingOptions,\n \"placement\" | \"strategy\" | \"open\" | \"onOpenChange\" | \"nodeId\"\n > {\n /**\n * Function to update the default middleware used to extend or replace it\n */\n middleware?: Middleware[];\n}\n\ntype GetMiddleware = (middleware: Middleware[]) => Middleware[];\n\nconst defaultGetMiddleware: GetMiddleware = (defaultMiddleware) =>\n defaultMiddleware;\n\ninterface FloatingPlatformContextType {\n platform: Platform;\n middleware: GetMiddleware;\n animationFrame: boolean;\n}\n\nconst defaultFloatingPlaform: FloatingPlatformContextType = {\n platform,\n middleware: defaultGetMiddleware,\n animationFrame: false,\n};\n\nconst FloatingPlatformContext = createContext<FloatingPlatformContextType>(\n defaultFloatingPlaform\n);\n\nexport interface FloatingPlatformProviderProps {\n platform?: Platform;\n middleware?: GetMiddleware;\n children: ReactNode;\n animationFrame?: boolean;\n}\n\nexport function FloatingPlatformProvider(props: FloatingPlatformProviderProps) {\n const {\n platform: platformProp,\n middleware,\n animationFrame,\n children,\n } = props;\n\n const floatingPlatformContextValue = useMemo<FloatingPlatformContextType>(\n () => ({\n platform: platformProp ?? platform,\n middleware: middleware ?? defaultGetMiddleware,\n animationFrame: animationFrame || false,\n }),\n [platformProp, middleware, animationFrame]\n );\n\n return (\n <FloatingPlatformContext.Provider value={floatingPlatformContextValue}>\n {children}\n </FloatingPlatformContext.Provider>\n );\n}\n\nexport function useFloatingPlatform() {\n return useContext(FloatingPlatformContext);\n}\n\nexport const DEFAULT_FLOATING_UI_MIDDLEWARE = [\n flip(),\n shift({ limiter: limitShift() }),\n];\n\ntype UseFloatingRefs = ReturnType<typeof useFloating>[\"refs\"];\n\nexport interface UseFloatingUIReturn extends ReturnType<typeof useFloating> {\n reference: UseFloatingRefs[\"setReference\"];\n floating: UseFloatingRefs[\"setFloating\"];\n}\n\nexport function useFloatingUI(props: UseFloatingUIProps): UseFloatingUIReturn {\n const {\n middleware = DEFAULT_FLOATING_UI_MIDDLEWARE,\n open = false,\n onOpenChange,\n ...other\n } = props;\n\n const handleOpenChange: UseFloatingUIProps[\"onOpenChange\"] = (\n open,\n boolean,\n reason\n ) => {\n update();\n onOpenChange?.(open, boolean, reason);\n };\n\n const {\n platform: contextPlatform,\n middleware: contextMiddleware,\n animationFrame,\n } = useFloatingPlatform();\n\n const { refs, update, ...rest } = useFloating({\n ...other,\n middleware: contextMiddleware(middleware),\n open,\n onOpenChange: handleOpenChange,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, { animationFrame });\n\n return cleanup;\n },\n platform: contextPlatform,\n });\n\n return {\n reference: refs.setReference,\n floating: refs.setFloating,\n refs,\n update,\n ...rest,\n };\n}\n"],"names":["DefaultFloatingComponent","open"],"mappings":"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"}
@@ -65,6 +65,11 @@ import '../multiline-input/MultilineInput.js';
65
65
  import '../navigation-item/NavigationItem.js';
66
66
  import '../option/Option.js';
67
67
  import '../option/OptionGroup.js';
68
+ import '../overlay/OverlayContext.js';
69
+ import '@floating-ui/react';
70
+ import '../overlay/OverlayPanel.js';
71
+ import '../overlay/OverlayPanelCloseButton.js';
72
+ import '../overlay/OverlayPanelContent.js';
68
73
  import '../pagination/Pagination.js';
69
74
  import '../pagination/Paginator.js';
70
75
  import '../pagination/CompactInput.js';
@@ -89,7 +94,6 @@ import '../toggle-button/ToggleButton.js';
89
94
  import '../toggle-button-group/ToggleButtonGroup.js';
90
95
  import '../toggle-button-group/ToggleButtonGroupContext.js';
91
96
  import '../tooltip/Tooltip.js';
92
- import '@floating-ui/react';
93
97
 
94
98
  function useValueEffect(defaultValue) {
95
99
  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 { Dispatch, MutableRefObject, useRef, useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"../index\";\nimport { useEventCallback } from \"./useEventCallback\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBO,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 { Dispatch, MutableRefObject, useRef, useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"../index\";\nimport { useEventCallback } from \"./useEventCallback\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBO,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;;;;"}
@@ -63,6 +63,11 @@ import '../multiline-input/MultilineInput.js';
63
63
  import '../navigation-item/NavigationItem.js';
64
64
  import '../option/Option.js';
65
65
  import '../option/OptionGroup.js';
66
+ import '../overlay/OverlayContext.js';
67
+ import '@floating-ui/react';
68
+ import '../overlay/OverlayPanel.js';
69
+ import '../overlay/OverlayPanelCloseButton.js';
70
+ import '../overlay/OverlayPanelContent.js';
66
71
  import '../pagination/Pagination.js';
67
72
  import '../pagination/Paginator.js';
68
73
  import '../pagination/CompactInput.js';
@@ -87,7 +92,6 @@ import '../toggle-button/ToggleButton.js';
87
92
  import '../toggle-button-group/ToggleButtonGroup.js';
88
93
  import '../toggle-button-group/ToggleButtonGroupContext.js';
89
94
  import '../tooltip/Tooltip.js';
90
- import '@floating-ui/react';
91
95
 
92
96
  const ViewportContext = createContext(null);
93
97
  const ViewportProvider = ({ children }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ViewportProvider.js","sources":["../src/viewport/ViewportProvider.tsx"],"sourcesContent":["import { createContext, useState, useContext, ReactNode } 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 { createContext, useState, useContext, ReactNode } 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;;;;"}
@@ -29,6 +29,7 @@ export { useListControlContext } from "./list-control";
29
29
  export * from "./multiline-input";
30
30
  export * from "./navigation-item";
31
31
  export * from "./option";
32
+ export * from "./overlay";
32
33
  export * from "./pagination";
33
34
  export * from "./panel";
34
35
  export * from "./pill";
@@ -0,0 +1,13 @@
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ export interface OverlayProps extends ComponentPropsWithoutRef<"div"> {
3
+ /**
4
+ * Display or hide the component.
5
+ */
6
+ open?: boolean;
7
+ /**
8
+ * Callback function triggered when open state changes.
9
+ */
10
+ onOpenChange?: (open: boolean) => void;
11
+ placement?: "top" | "bottom" | "left" | "right";
12
+ }
13
+ export declare const Overlay: ({ children, open, onOpenChange, placement: placementProp, }: OverlayProps) => JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { FloatingArrowProps, FloatingContext, ReferenceType, Strategy } from "@floating-ui/react";
2
+ declare type FloatingStyleProps = {
3
+ top: number;
4
+ left: number;
5
+ position: Strategy;
6
+ width?: number;
7
+ height?: number;
8
+ };
9
+ export interface OverlayContextValue {
10
+ openState: boolean;
11
+ floatingStyles: FloatingStyleProps;
12
+ arrowProps: FloatingArrowProps;
13
+ context: FloatingContext;
14
+ reference?: (node: ReferenceType | null) => void;
15
+ floating?: (node: HTMLElement | null) => void;
16
+ getFloatingProps: (userProps?: React.HTMLProps<HTMLElement> | undefined) => Record<string, unknown>;
17
+ getReferenceProps: (userProps?: React.HTMLProps<Element> | undefined) => Record<string, unknown>;
18
+ }
19
+ export declare const OverlayContext: import("react").Context<OverlayContextValue>;
20
+ export declare function useOverlayContext(): OverlayContextValue;
21
+ export {};
@@ -0,0 +1,8 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from "react";
2
+ export interface OverlayPanelProps extends ComponentPropsWithoutRef<"div"> {
3
+ /**
4
+ * The content of Overlay Panel
5
+ */
6
+ children?: ReactNode;
7
+ }
8
+ export declare const OverlayPanel: import("react").ForwardRefExoticComponent<OverlayPanelProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ import { ButtonProps } from "../button";
2
+ export declare const OverlayPanelCloseButton: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,8 @@
1
+ import { ReactNode, ComponentPropsWithoutRef } from "react";
2
+ export interface OverlayPanelContentProps extends ComponentPropsWithoutRef<"div"> {
3
+ /**
4
+ * The content of Overlay Panel Content
5
+ */
6
+ children?: ReactNode;
7
+ }
8
+ export declare const OverlayPanelContent: import("react").ForwardRefExoticComponent<OverlayPanelContentProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,5 @@
1
+ import { ReactNode } from "react";
2
+ export interface OverlayTriggerProps {
3
+ children?: ReactNode;
4
+ }
5
+ export declare function OverlayTrigger(props: OverlayTriggerProps): JSX.Element;
@@ -0,0 +1,5 @@
1
+ export * from "./Overlay";
2
+ export * from "./OverlayTrigger";
3
+ export * from "./OverlayPanel";
4
+ export * from "./OverlayPanelCloseButton";
5
+ export * from "./OverlayPanelContent";
@@ -12,6 +12,7 @@ export interface TooltipProps extends Pick<UseFloatingUIProps, "open" | "onOpenC
12
12
  hideArrow?: boolean;
13
13
  /**
14
14
  * Whether to hide the status icon within the Tooltip. Defaults to `false`.
15
+ * If no status is provided, icon will also be hidden.
15
16
  */
16
17
  hideIcon?: boolean;
17
18
  /**
@@ -19,7 +20,7 @@ export interface TooltipProps extends Pick<UseFloatingUIProps, "open" | "onOpenC
19
20
  */
20
21
  content: ReactNode;
21
22
  /**
22
- * A string to determine the status of the Tooltip. Defaults to `info`.
23
+ * Optional string to determine the status of the Tooltip.
23
24
  */
24
25
  status?: ValidationStatus;
25
26
  /**
@@ -4,9 +4,9 @@ import { TooltipProps } from "./Tooltip";
4
4
  interface TooltipBaseProps extends Omit<TooltipProps, "children"> {
5
5
  arrowProps: FloatingArrowProps;
6
6
  /**
7
- * A string to determine the status of the Tooltip. Defaults to `info`.
7
+ * Optional string to determine the status of the Tooltip.
8
8
  */
9
- status: ValidationStatus;
9
+ status?: ValidationStatus;
10
10
  }
11
11
  export declare const TooltipBase: (props: TooltipBaseProps) => JSX.Element;
12
12
  export {};
@@ -31,7 +31,7 @@ export interface FloatingComponentProviderProps extends FloatingComponentContext
31
31
  }
32
32
  export declare function FloatingComponentProvider(props: FloatingComponentProviderProps): JSX.Element;
33
33
  export declare function useFloatingComponent(): FloatingComponentContextType;
34
- export interface UseFloatingUIProps extends Pick<UseFloatingOptions, "placement" | "strategy" | "open" | "onOpenChange"> {
34
+ export interface UseFloatingUIProps extends Pick<UseFloatingOptions, "placement" | "strategy" | "open" | "onOpenChange" | "nodeId"> {
35
35
  /**
36
36
  * Function to update the default middleware used to extend or replace it
37
37
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salt-ds/core",
3
- "version": "1.23.0",
3
+ "version": "1.24.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,7 +15,7 @@
15
15
  "clsx": "^2.0.0",
16
16
  "@salt-ds/window": "^0.1.1",
17
17
  "@salt-ds/styles": "^0.2.1",
18
- "@salt-ds/icons": "^1.10.0"
18
+ "@salt-ds/icons": "^1.11.0"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@types/react": ">=16.14.0",