@muraldevkit/ui-toolkit 4.68.0-dev-NFbt.1 → 4.68.0-dev-nPeA.1

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 (641) hide show
  1. package/dist/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -250
  2. package/dist/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  3. package/dist/cjs/components/avatar/MrlAvatar/MrlAvatar.js +17 -11
  4. package/dist/cjs/components/avatar/MrlAvatar/MrlAvatar.js.map +1 -1
  5. package/dist/cjs/components/avatar/MrlAvatarButton/MrlAvatarButton.js +27 -25
  6. package/dist/cjs/components/avatar/MrlAvatarButton/MrlAvatarButton.js.map +1 -1
  7. package/dist/cjs/components/badge/MrlBadge/MrlBadge.js +11 -5
  8. package/dist/cjs/components/badge/MrlBadge/MrlBadge.js.map +1 -1
  9. package/dist/cjs/components/badge/MrlBadgeNotification/MrlBadgeNotification.js +12 -4
  10. package/dist/cjs/components/badge/MrlBadgeNotification/MrlBadgeNotification.js.map +1 -1
  11. package/dist/cjs/components/breadcrumb/MrlBreadcrumbItem/MrlBreadcrumbItem.js +13 -6
  12. package/dist/cjs/components/breadcrumb/MrlBreadcrumbItem/MrlBreadcrumbItem.js.map +1 -1
  13. package/dist/cjs/components/breadcrumb/MrlBreadcrumbSeparator/MrlBreadcrumbSeparator.js +7 -3
  14. package/dist/cjs/components/breadcrumb/MrlBreadcrumbSeparator/MrlBreadcrumbSeparator.js.map +1 -1
  15. package/dist/cjs/components/breadcrumb/MrlBreadcrumbs/MrlBreadcrumbs.js +24 -28
  16. package/dist/cjs/components/breadcrumb/MrlBreadcrumbs/MrlBreadcrumbs.js.map +1 -1
  17. package/dist/cjs/components/button/MrlAnimatedIconButton/MrlAnimatedIconButton.js +20 -20
  18. package/dist/cjs/components/button/MrlAnimatedIconButton/MrlAnimatedIconButton.js.map +1 -1
  19. package/dist/cjs/components/button/MrlButton/MrlButton.js +21 -21
  20. package/dist/cjs/components/button/MrlButton/MrlButton.js.map +1 -1
  21. package/dist/cjs/components/button/MrlIconButton/MrlIconButton.js +20 -22
  22. package/dist/cjs/components/button/MrlIconButton/MrlIconButton.js.map +1 -1
  23. package/dist/cjs/components/button/MrlProcessingButton/MrlProcessingButton.js +14 -10
  24. package/dist/cjs/components/button/MrlProcessingButton/MrlProcessingButton.js.map +1 -1
  25. package/dist/cjs/components/button/MrlProcessingButton/actions.js +11 -16
  26. package/dist/cjs/components/button/MrlProcessingButton/actions.js.map +1 -1
  27. package/dist/cjs/components/button/helpers.js +4 -6
  28. package/dist/cjs/components/button/helpers.js.map +1 -1
  29. package/dist/cjs/components/callout/MrlCallout/MrlCallout.js +8 -9
  30. package/dist/cjs/components/callout/MrlCallout/MrlCallout.js.map +1 -1
  31. package/dist/cjs/components/container/MrlContainer/MrlContainer.js +14 -7
  32. package/dist/cjs/components/container/MrlContainer/MrlContainer.js.map +1 -1
  33. package/dist/cjs/components/divider/MrlDivider/MrlDivider.js +18 -6
  34. package/dist/cjs/components/divider/MrlDivider/MrlDivider.js.map +1 -1
  35. package/dist/cjs/components/empty/default/MrlEmpty.js +8 -4
  36. package/dist/cjs/components/empty/default/MrlEmpty.js.map +1 -1
  37. package/dist/cjs/components/empty/large/MrlEmptyLarge.js +8 -4
  38. package/dist/cjs/components/empty/large/MrlEmptyLarge.js.map +1 -1
  39. package/dist/cjs/components/error-boundary/MrlErrorBoundary.js +30 -38
  40. package/dist/cjs/components/error-boundary/MrlErrorBoundary.js.map +1 -1
  41. package/dist/cjs/components/filter/MrlFilter/MrlFilter.js +7 -3
  42. package/dist/cjs/components/filter/MrlFilter/MrlFilter.js.map +1 -1
  43. package/dist/cjs/components/filter/MrlFilterContext/MrlFilterContext.js +8 -7
  44. package/dist/cjs/components/filter/MrlFilterContext/MrlFilterContext.js.map +1 -1
  45. package/dist/cjs/components/filter/MrlFilterItem/MrlFilterItem.js +9 -3
  46. package/dist/cjs/components/filter/MrlFilterItem/MrlFilterItem.js.map +1 -1
  47. package/dist/cjs/components/focus-trap/MrlFocusTrap/MrlFocusTrap.js +6 -5
  48. package/dist/cjs/components/focus-trap/MrlFocusTrap/MrlFocusTrap.js.map +1 -1
  49. package/dist/cjs/components/form/checkbox/MrlCheckbox/MrlCheckbox.js +13 -4
  50. package/dist/cjs/components/form/checkbox/MrlCheckbox/MrlCheckbox.js.map +1 -1
  51. package/dist/cjs/components/form/checkbox/MrlCheckboxStandalone/MrlCheckboxStandalone.js +11 -7
  52. package/dist/cjs/components/form/checkbox/MrlCheckboxStandalone/MrlCheckboxStandalone.js.map +1 -1
  53. package/dist/cjs/components/form/date-picker/MrlDatePicker.js +21 -14
  54. package/dist/cjs/components/form/date-picker/MrlDatePicker.js.map +1 -1
  55. package/dist/cjs/components/form/fieldset/MrlFieldset/MrlFieldset.js +8 -4
  56. package/dist/cjs/components/form/fieldset/MrlFieldset/MrlFieldset.js.map +1 -1
  57. package/dist/cjs/components/form/hooks/useActiveColor.js +2 -2
  58. package/dist/cjs/components/form/hooks/useActiveColor.js.map +1 -1
  59. package/dist/cjs/components/form/hooks/useIsEditable.js +3 -3
  60. package/dist/cjs/components/form/hooks/useIsEditable.js.map +1 -1
  61. package/dist/cjs/components/form/label/MrlLabel/MrlLabel.js +12 -5
  62. package/dist/cjs/components/form/label/MrlLabel/MrlLabel.js.map +1 -1
  63. package/dist/cjs/components/form/label/MrlLabelWithDescription/MrlLabelWithDescription.js +19 -5
  64. package/dist/cjs/components/form/label/MrlLabelWithDescription/MrlLabelWithDescription.js.map +1 -1
  65. package/dist/cjs/components/form/legacy-select/MrlLegacySelect/MrlLegacySelect.js +42 -31
  66. package/dist/cjs/components/form/legacy-select/MrlLegacySelect/MrlLegacySelect.js.map +1 -1
  67. package/dist/cjs/components/form/legacy-select/MrlLegacySelectItem/MrlLegacySelectItem.js +21 -12
  68. package/dist/cjs/components/form/legacy-select/MrlLegacySelectItem/MrlLegacySelectItem.js.map +1 -1
  69. package/dist/cjs/components/form/legacy-select/MrlLegacySelectMenu/MrlLegacySelectMenu.js +19 -11
  70. package/dist/cjs/components/form/legacy-select/MrlLegacySelectMenu/MrlLegacySelectMenu.js.map +1 -1
  71. package/dist/cjs/components/form/legacy-select/context/SelectContext.js +8 -7
  72. package/dist/cjs/components/form/legacy-select/context/SelectContext.js.map +1 -1
  73. package/dist/cjs/components/form/legacy-select/index.js +4 -3
  74. package/dist/cjs/components/form/legacy-select/index.js.map +1 -1
  75. package/dist/cjs/components/form/radio/MrlRadioButton/MrlRadioButton.js +7 -3
  76. package/dist/cjs/components/form/radio/MrlRadioButton/MrlRadioButton.js.map +1 -1
  77. package/dist/cjs/components/form/radio/MrlRadioButtonStandalone/MrlRadioButtonStandalone.js +11 -5
  78. package/dist/cjs/components/form/radio/MrlRadioButtonStandalone/MrlRadioButtonStandalone.js.map +1 -1
  79. package/dist/cjs/components/form/radio/MrlRadioGroup/MrlRadioGroup.js +3 -2
  80. package/dist/cjs/components/form/radio/MrlRadioGroup/MrlRadioGroup.js.map +1 -1
  81. package/dist/cjs/components/form/select/MrlCreatableSelect/MrlCreatableSelect.js +10 -8
  82. package/dist/cjs/components/form/select/MrlCreatableSelect/MrlCreatableSelect.js.map +1 -1
  83. package/dist/cjs/components/form/select/MrlMultiCreatableSelect/MrlMultiCreatableSelect.js +10 -8
  84. package/dist/cjs/components/form/select/MrlMultiCreatableSelect/MrlMultiCreatableSelect.js.map +1 -1
  85. package/dist/cjs/components/form/select/MrlMultiSelect/MrlMultiSelect.js +9 -5
  86. package/dist/cjs/components/form/select/MrlMultiSelect/MrlMultiSelect.js.map +1 -1
  87. package/dist/cjs/components/form/select/MrlSelect/MrlSelect.js +9 -5
  88. package/dist/cjs/components/form/select/MrlSelect/MrlSelect.js.map +1 -1
  89. package/dist/cjs/components/form/select/components/MrlSelectClearIndicator.js +3 -2
  90. package/dist/cjs/components/form/select/components/MrlSelectClearIndicator.js.map +1 -1
  91. package/dist/cjs/components/form/select/components/MrlSelectContainer.js +3 -2
  92. package/dist/cjs/components/form/select/components/MrlSelectContainer.js.map +1 -1
  93. package/dist/cjs/components/form/select/components/MrlSelectDropdownIndicator.js +3 -2
  94. package/dist/cjs/components/form/select/components/MrlSelectDropdownIndicator.js.map +1 -1
  95. package/dist/cjs/components/form/select/components/MrlSelectMultiValue.js +9 -3
  96. package/dist/cjs/components/form/select/components/MrlSelectMultiValue.js.map +1 -1
  97. package/dist/cjs/components/form/select/components/MrlSelectMultiValueRemove.js +3 -2
  98. package/dist/cjs/components/form/select/components/MrlSelectMultiValueRemove.js.map +1 -1
  99. package/dist/cjs/components/form/select/components/MrlSelectOption.js +3 -2
  100. package/dist/cjs/components/form/select/components/MrlSelectOption.js.map +1 -1
  101. package/dist/cjs/components/form/select/components/MrlSelectValueContainer.js +3 -2
  102. package/dist/cjs/components/form/select/components/MrlSelectValueContainer.js.map +1 -1
  103. package/dist/cjs/components/form/select/styles/default.js +18 -18
  104. package/dist/cjs/components/form/select/styles/default.js.map +1 -1
  105. package/dist/cjs/components/form/select/styles/inline.js +2 -2
  106. package/dist/cjs/components/form/select/styles/inline.js.map +1 -1
  107. package/dist/cjs/components/form/select/styles/inlineNoLabel.js +3 -3
  108. package/dist/cjs/components/form/select/styles/inlineNoLabel.js.map +1 -1
  109. package/dist/cjs/components/form/select/styles/inlineStacked.js +2 -2
  110. package/dist/cjs/components/form/select/styles/inlineStacked.js.map +1 -1
  111. package/dist/cjs/components/form/switch/MrlSwitch/MrlSwitch.js +14 -7
  112. package/dist/cjs/components/form/switch/MrlSwitch/MrlSwitch.js.map +1 -1
  113. package/dist/cjs/components/form/switch/MrlSwitchStandalone/MrlSwitchStandalone.js +13 -9
  114. package/dist/cjs/components/form/switch/MrlSwitchStandalone/MrlSwitchStandalone.js.map +1 -1
  115. package/dist/cjs/components/form/text-input/MrlEditableTextInput/MrlEditableTextInput.js +31 -19
  116. package/dist/cjs/components/form/text-input/MrlEditableTextInput/MrlEditableTextInput.js.map +1 -1
  117. package/dist/cjs/components/form/text-input/MrlEditableTextInput/MrlEditableTextInputRightIcon.js +14 -17
  118. package/dist/cjs/components/form/text-input/MrlEditableTextInput/MrlEditableTextInputRightIcon.js.map +1 -1
  119. package/dist/cjs/components/form/text-input/MrlTextInput/MrlTextInput.js +28 -23
  120. package/dist/cjs/components/form/text-input/MrlTextInput/MrlTextInput.js.map +1 -1
  121. package/dist/cjs/components/form/text-input/MrlTextInput/MrlTextInputRightIcon.js +14 -17
  122. package/dist/cjs/components/form/text-input/MrlTextInput/MrlTextInputRightIcon.js.map +1 -1
  123. package/dist/cjs/components/form/textarea/MrlEditableTextarea/MrlEditableTextarea.js +20 -16
  124. package/dist/cjs/components/form/textarea/MrlEditableTextarea/MrlEditableTextarea.js.map +1 -1
  125. package/dist/cjs/components/form/textarea/MrlEditableTextarea/MrlEditableTextareaRightButton.js +14 -17
  126. package/dist/cjs/components/form/textarea/MrlEditableTextarea/MrlEditableTextareaRightButton.js.map +1 -1
  127. package/dist/cjs/components/form/textarea/MrlTextarea/MrlTextarea.js +16 -9
  128. package/dist/cjs/components/form/textarea/MrlTextarea/MrlTextarea.js.map +1 -1
  129. package/dist/cjs/components/form/utils.js +2 -4
  130. package/dist/cjs/components/form/utils.js.map +1 -1
  131. package/dist/cjs/components/grid/MrlCol/MrlCol.js +37 -46
  132. package/dist/cjs/components/grid/MrlCol/MrlCol.js.map +1 -1
  133. package/dist/cjs/components/grid/MrlGrid/MrlGrid.js +7 -3
  134. package/dist/cjs/components/grid/MrlGrid/MrlGrid.js.map +1 -1
  135. package/dist/cjs/components/grid/MrlRow/MrlRow.js +7 -3
  136. package/dist/cjs/components/grid/MrlRow/MrlRow.js.map +1 -1
  137. package/dist/cjs/components/keystroke/MrlKeystroke/MrlKeystroke.js +7 -3
  138. package/dist/cjs/components/keystroke/MrlKeystroke/MrlKeystroke.js.map +1 -1
  139. package/dist/cjs/components/keystroke/MrlKeystrokes/MrlKeystrokes.js +7 -3
  140. package/dist/cjs/components/keystroke/MrlKeystrokes/MrlKeystrokes.js.map +1 -1
  141. package/dist/cjs/components/layout/MrlMain/MrlMain.js +9 -3
  142. package/dist/cjs/components/layout/MrlMain/MrlMain.js.map +1 -1
  143. package/dist/cjs/components/layout/MrlPage/MrlPage.js +9 -3
  144. package/dist/cjs/components/layout/MrlPage/MrlPage.js.map +1 -1
  145. package/dist/cjs/components/layout/MrlPage/index.js +3 -2
  146. package/dist/cjs/components/layout/MrlPage/index.js.map +1 -1
  147. package/dist/cjs/components/layout/MrlSidebar/MrlSidebar.js +27 -15
  148. package/dist/cjs/components/layout/MrlSidebar/MrlSidebar.js.map +1 -1
  149. package/dist/cjs/components/layout/MrlTopbar/MrlTopbar.js +10 -3
  150. package/dist/cjs/components/layout/MrlTopbar/MrlTopbar.js.map +1 -1
  151. package/dist/cjs/components/layout/context/LayoutContext.js +7 -6
  152. package/dist/cjs/components/layout/context/LayoutContext.js.map +1 -1
  153. package/dist/cjs/components/layout/error-page/MrlBrandColors/MrlBrandColors.js +18 -14
  154. package/dist/cjs/components/layout/error-page/MrlBrandColors/MrlBrandColors.js.map +1 -1
  155. package/dist/cjs/components/layout/error-page/MrlErrorPage/MrlErrorPage.js +13 -9
  156. package/dist/cjs/components/layout/error-page/MrlErrorPage/MrlErrorPage.js.map +1 -1
  157. package/dist/cjs/components/layout/utils.js +2 -2
  158. package/dist/cjs/components/layout/utils.js.map +1 -1
  159. package/dist/cjs/components/link/MrlLink/MrlLink.js +13 -4
  160. package/dist/cjs/components/link/MrlLink/MrlLink.js.map +1 -1
  161. package/dist/cjs/components/link/MrlLinkButton/MrlLinkButton.js +16 -14
  162. package/dist/cjs/components/link/MrlLinkButton/MrlLinkButton.js.map +1 -1
  163. package/dist/cjs/components/live-region/MrlLiveRegion/MrlLiveRegion.js +13 -12
  164. package/dist/cjs/components/live-region/MrlLiveRegion/MrlLiveRegion.js.map +1 -1
  165. package/dist/cjs/components/loader/MrlProgressBar/MrlProgressBar.js +16 -6
  166. package/dist/cjs/components/loader/MrlProgressBar/MrlProgressBar.js.map +1 -1
  167. package/dist/cjs/components/loader/MrlSpinner/MrlSpinner.js +16 -4
  168. package/dist/cjs/components/loader/MrlSpinner/MrlSpinner.js.map +1 -1
  169. package/dist/cjs/components/menu/MrlMenu/MrlMenu.js +61 -63
  170. package/dist/cjs/components/menu/MrlMenu/MrlMenu.js.map +1 -1
  171. package/dist/cjs/components/menu/MrlMenu/utilities.js +4 -6
  172. package/dist/cjs/components/menu/MrlMenu/utilities.js.map +1 -1
  173. package/dist/cjs/components/menu/MrlMenuGroup/MrlMenuGroup.js +4 -3
  174. package/dist/cjs/components/menu/MrlMenuGroup/MrlMenuGroup.js.map +1 -1
  175. package/dist/cjs/components/menu/MrlMenuItem/MrlMenuItem.js +24 -19
  176. package/dist/cjs/components/menu/MrlMenuItem/MrlMenuItem.js.map +1 -1
  177. package/dist/cjs/components/menu/MrlMenuItemLink/MrlMenuItemLink.js +10 -6
  178. package/dist/cjs/components/menu/MrlMenuItemLink/MrlMenuItemLink.js.map +1 -1
  179. package/dist/cjs/components/menu/context/MrlMenuContext.js +3 -2
  180. package/dist/cjs/components/menu/context/MrlMenuContext.js.map +1 -1
  181. package/dist/cjs/components/menu/hooks/useBrowserEdgeScroll.js +19 -15
  182. package/dist/cjs/components/menu/hooks/useBrowserEdgeScroll.js.map +1 -1
  183. package/dist/cjs/components/menu/hooks/useMenuScroll.js +8 -8
  184. package/dist/cjs/components/menu/hooks/useMenuScroll.js.map +1 -1
  185. package/dist/cjs/components/menu/hooks/useSubMenuElementPosition.js +3 -3
  186. package/dist/cjs/components/menu/hooks/useSubMenuElementPosition.js.map +1 -1
  187. package/dist/cjs/components/menu/utilities/flip-position.js +1 -1
  188. package/dist/cjs/components/menu/utilities/flip-position.js.map +1 -1
  189. package/dist/cjs/components/modal/MrlModal/MrlModal.js +29 -25
  190. package/dist/cjs/components/modal/MrlModal/MrlModal.js.map +1 -1
  191. package/dist/cjs/components/modal/MrlModalContent/MrlModalContent.js +12 -8
  192. package/dist/cjs/components/modal/MrlModalContent/MrlModalContent.js.map +1 -1
  193. package/dist/cjs/components/modal/MrlModalContext/MrlModalContext.js +4 -3
  194. package/dist/cjs/components/modal/MrlModalContext/MrlModalContext.js.map +1 -1
  195. package/dist/cjs/components/modal/MrlModalFooter/MrlModalFooter.js +13 -6
  196. package/dist/cjs/components/modal/MrlModalFooter/MrlModalFooter.js.map +1 -1
  197. package/dist/cjs/components/modal/MrlModalHeader/MrlModalHeader.js +12 -6
  198. package/dist/cjs/components/modal/MrlModalHeader/MrlModalHeader.js.map +1 -1
  199. package/dist/cjs/components/navigation-sidebar/MrlSidebarNavGroup/MrlSidebarNavGroup.js +7 -3
  200. package/dist/cjs/components/navigation-sidebar/MrlSidebarNavGroup/MrlSidebarNavGroup.js.map +1 -1
  201. package/dist/cjs/components/navigation-sidebar/MrlSidebarNavItem/MrlSidebarNavItem.js +11 -3
  202. package/dist/cjs/components/navigation-sidebar/MrlSidebarNavItem/MrlSidebarNavItem.js.map +1 -1
  203. package/dist/cjs/components/notification/MrlBlockNotification/MrlBlockNotification.js +26 -19
  204. package/dist/cjs/components/notification/MrlBlockNotification/MrlBlockNotification.js.map +1 -1
  205. package/dist/cjs/components/notification/MrlInlineMessage/MrlInlineMessage.js +17 -7
  206. package/dist/cjs/components/notification/MrlInlineMessage/MrlInlineMessage.js.map +1 -1
  207. package/dist/cjs/components/notification/MrlToast/MrlToast.js +18 -9
  208. package/dist/cjs/components/notification/MrlToast/MrlToast.js.map +1 -1
  209. package/dist/cjs/components/pagination/MrlPagination/MrlPagination.js +7 -3
  210. package/dist/cjs/components/pagination/MrlPagination/MrlPagination.js.map +1 -1
  211. package/dist/cjs/components/pagination/MrlPaginationButton/MrlPaginationButton.js +7 -3
  212. package/dist/cjs/components/pagination/MrlPaginationButton/MrlPaginationButton.js.map +1 -1
  213. package/dist/cjs/components/pagination/MrlPaginationText/MrlPaginationText.js +8 -4
  214. package/dist/cjs/components/pagination/MrlPaginationText/MrlPaginationText.js.map +1 -1
  215. package/dist/cjs/components/panel/MrlPanel/MrlPanel.js +25 -17
  216. package/dist/cjs/components/panel/MrlPanel/MrlPanel.js.map +1 -1
  217. package/dist/cjs/components/panel/MrlPanelContext/MrlPanelContext.js +3 -2
  218. package/dist/cjs/components/panel/MrlPanelContext/MrlPanelContext.js.map +1 -1
  219. package/dist/cjs/components/panel/MrlPanelFooter/MrlPanelFooter.js +9 -5
  220. package/dist/cjs/components/panel/MrlPanelFooter/MrlPanelFooter.js.map +1 -1
  221. package/dist/cjs/components/panel/MrlPanelStickyHeader/MrlPanelStickyHeader.js +8 -4
  222. package/dist/cjs/components/panel/MrlPanelStickyHeader/MrlPanelStickyHeader.js.map +1 -1
  223. package/dist/cjs/components/popover/MrlPopover/MrlPopover.js +77 -73
  224. package/dist/cjs/components/popover/MrlPopover/MrlPopover.js.map +1 -1
  225. package/dist/cjs/components/popover/MrlPopover/MrlPopoverScrollContainer.js +3 -2
  226. package/dist/cjs/components/popover/MrlPopover/MrlPopoverScrollContainer.js.map +1 -1
  227. package/dist/cjs/components/popover/MrlPopover/context/MrlPopoverContext.js +3 -2
  228. package/dist/cjs/components/popover/MrlPopover/context/MrlPopoverContext.js.map +1 -1
  229. package/dist/cjs/components/popover/MrlPopover/hooks/use-mrl-popover-event-handlers.js +22 -23
  230. package/dist/cjs/components/popover/MrlPopover/hooks/use-mrl-popover-event-handlers.js.map +1 -1
  231. package/dist/cjs/components/popover/MrlPopover/utilities/get-data-point.js +1 -1
  232. package/dist/cjs/components/popover/MrlPopover/utilities/get-data-point.js.map +1 -1
  233. package/dist/cjs/components/popover/MrlPopover/utilities/get-offset.js +1 -1
  234. package/dist/cjs/components/popover/MrlPopover/utilities/get-offset.js.map +1 -1
  235. package/dist/cjs/components/portal/MrlPortal.js +5 -4
  236. package/dist/cjs/components/portal/MrlPortal.js.map +1 -1
  237. package/dist/cjs/components/rovingTabindex/MrlRovingTabindex/MrlRovingTabindex.js +237 -263
  238. package/dist/cjs/components/rovingTabindex/MrlRovingTabindex/MrlRovingTabindex.js.map +1 -1
  239. package/dist/cjs/components/skeleton/MrlSkeleton/MrlSkeleton.js +11 -5
  240. package/dist/cjs/components/skeleton/MrlSkeleton/MrlSkeleton.js.map +1 -1
  241. package/dist/cjs/components/skeleton/MrlSkeletonText/MrlSkeletonText.js +12 -6
  242. package/dist/cjs/components/skeleton/MrlSkeletonText/MrlSkeletonText.js.map +1 -1
  243. package/dist/cjs/components/svg/MrlSvg/MrlSvg.js +17 -17
  244. package/dist/cjs/components/svg/MrlSvg/MrlSvg.js.map +1 -1
  245. package/dist/cjs/components/svg/MrlSvgAnimate/MrlSvgAnimate.js +20 -15
  246. package/dist/cjs/components/svg/MrlSvgAnimate/MrlSvgAnimate.js.map +1 -1
  247. package/dist/cjs/components/table/MrlSmartTable/MrlSmartTable.js +78 -96
  248. package/dist/cjs/components/table/MrlSmartTable/MrlSmartTable.js.map +1 -1
  249. package/dist/cjs/components/table/MrlSmartTable/components/DefaultCellContent.js +5 -4
  250. package/dist/cjs/components/table/MrlSmartTable/components/DefaultCellContent.js.map +1 -1
  251. package/dist/cjs/components/table/MrlTable/MrlTable.js +7 -3
  252. package/dist/cjs/components/table/MrlTable/MrlTable.js.map +1 -1
  253. package/dist/cjs/components/table/MrlTableBody/MrlTableBody.js +7 -3
  254. package/dist/cjs/components/table/MrlTableBody/MrlTableBody.js.map +1 -1
  255. package/dist/cjs/components/table/MrlTableCell/MrlTableCell.js +12 -3
  256. package/dist/cjs/components/table/MrlTableCell/MrlTableCell.js.map +1 -1
  257. package/dist/cjs/components/table/MrlTableColumn/MrlTableColumn.js +13 -3
  258. package/dist/cjs/components/table/MrlTableColumn/MrlTableColumn.js.map +1 -1
  259. package/dist/cjs/components/table/MrlTableEmptyState/MrlTableEmptyState.js +7 -3
  260. package/dist/cjs/components/table/MrlTableEmptyState/MrlTableEmptyState.js.map +1 -1
  261. package/dist/cjs/components/table/MrlTableHeader/MrlTableHeader.js +7 -3
  262. package/dist/cjs/components/table/MrlTableHeader/MrlTableHeader.js.map +1 -1
  263. package/dist/cjs/components/table/MrlTableRow/MrlTableRow.js +13 -7
  264. package/dist/cjs/components/table/MrlTableRow/MrlTableRow.js.map +1 -1
  265. package/dist/cjs/components/table/utils.js +4 -10
  266. package/dist/cjs/components/table/utils.js.map +1 -1
  267. package/dist/cjs/components/tabs/MrlTab/MrlTab.js +16 -9
  268. package/dist/cjs/components/tabs/MrlTab/MrlTab.js.map +1 -1
  269. package/dist/cjs/components/tabs/MrlTabContent/MrlTabContent.js +12 -5
  270. package/dist/cjs/components/tabs/MrlTabContent/MrlTabContent.js.map +1 -1
  271. package/dist/cjs/components/tabs/MrlTabGroup/MrlTabGroup.js +15 -13
  272. package/dist/cjs/components/tabs/MrlTabGroup/MrlTabGroup.js.map +1 -1
  273. package/dist/cjs/components/tabs/MrlTabLink/MrlTabLink.js +16 -9
  274. package/dist/cjs/components/tabs/MrlTabLink/MrlTabLink.js.map +1 -1
  275. package/dist/cjs/components/tabs/MrlTabs/MrlTabs.js +16 -10
  276. package/dist/cjs/components/tabs/MrlTabs/MrlTabs.js.map +1 -1
  277. package/dist/cjs/components/text/MrlText/MrlText.js +14 -5
  278. package/dist/cjs/components/text/MrlText/MrlText.js.map +1 -1
  279. package/dist/cjs/components/text/MrlTextHeading/MrlTextHeading.js +14 -4
  280. package/dist/cjs/components/text/MrlTextHeading/MrlTextHeading.js.map +1 -1
  281. package/dist/cjs/components/toolbar/MrlToolbar/MrlToolbar.js +17 -8
  282. package/dist/cjs/components/toolbar/MrlToolbar/MrlToolbar.js.map +1 -1
  283. package/dist/cjs/components/toolbar/MrlToolbarButton/MrlToolbarButton.js +7 -3
  284. package/dist/cjs/components/toolbar/MrlToolbarButton/MrlToolbarButton.js.map +1 -1
  285. package/dist/cjs/components/toolbar/MrlToolbarItem/MrlToolbarItem.js +1 -1
  286. package/dist/cjs/components/toolbar/MrlToolbarItem/MrlToolbarItem.js.map +1 -1
  287. package/dist/cjs/components/tooltip/MrlTooltip/MrlTooltip.js +37 -36
  288. package/dist/cjs/components/tooltip/MrlTooltip/MrlTooltip.js.map +1 -1
  289. package/dist/cjs/components/tooltip/MrlTooltipContent/MrlTooltipContent.js +13 -4
  290. package/dist/cjs/components/tooltip/MrlTooltipContent/MrlTooltipContent.js.map +1 -1
  291. package/dist/cjs/components/tooltip/useTooltipPosition/index.js +21 -19
  292. package/dist/cjs/components/tooltip/useTooltipPosition/index.js.map +1 -1
  293. package/dist/cjs/components/tooltip/useTooltipPosition/utilities.js +4 -4
  294. package/dist/cjs/components/tooltip/useTooltipPosition/utilities.js.map +1 -1
  295. package/dist/cjs/components/tooltip/utils.js +3 -3
  296. package/dist/cjs/components/tooltip/utils.js.map +1 -1
  297. package/dist/cjs/hooks/useAutoClose/useAutoClose.js +7 -6
  298. package/dist/cjs/hooks/useAutoClose/useAutoClose.js.map +1 -1
  299. package/dist/cjs/hooks/useBreakpoint/index.js +5 -5
  300. package/dist/cjs/hooks/useBreakpoint/index.js.map +1 -1
  301. package/dist/cjs/hooks/useClickOutside/index.js +4 -4
  302. package/dist/cjs/hooks/useClickOutside/index.js.map +1 -1
  303. package/dist/cjs/hooks/useCoordinate/index.js +19 -28
  304. package/dist/cjs/hooks/useCoordinate/index.js.map +1 -1
  305. package/dist/cjs/hooks/useElementDimensions/index.js +21 -33
  306. package/dist/cjs/hooks/useElementDimensions/index.js.map +1 -1
  307. package/dist/cjs/hooks/useHasFocusableDescendant/index.js +7 -8
  308. package/dist/cjs/hooks/useHasFocusableDescendant/index.js.map +1 -1
  309. package/dist/cjs/hooks/useScrollbarInfo/index.js +11 -10
  310. package/dist/cjs/hooks/useScrollbarInfo/index.js.map +1 -1
  311. package/dist/cjs/hooks/useTriggerPosition/index.js +20 -22
  312. package/dist/cjs/hooks/useTriggerPosition/index.js.map +1 -1
  313. package/dist/cjs/hooks/useTriggerPosition/utilities.js +15 -23
  314. package/dist/cjs/hooks/useTriggerPosition/utilities.js.map +1 -1
  315. package/dist/cjs/utils/checkInvalidAttributes/index.js +2 -4
  316. package/dist/cjs/utils/checkInvalidAttributes/index.js.map +1 -1
  317. package/dist/cjs/utils/frameDebounce/index.js +27 -28
  318. package/dist/cjs/utils/frameDebounce/index.js.map +1 -1
  319. package/dist/cjs/utils/getCamelCase/getCamelCase.js +2 -2
  320. package/dist/cjs/utils/getCamelCase/getCamelCase.js.map +1 -1
  321. package/dist/cjs/utils/getScrollableContainer/getScrollableContainer.js +1 -1
  322. package/dist/cjs/utils/getScrollableContainer/getScrollableContainer.js.map +1 -1
  323. package/dist/cjs/utils/hasHorizontalScroll/hasHorizontalScroll.js +1 -1
  324. package/dist/cjs/utils/hasHorizontalScroll/hasHorizontalScroll.js.map +1 -1
  325. package/dist/cjs/utils/hasScrollContent/hasScrollContent.js +1 -1
  326. package/dist/cjs/utils/hasScrollContent/hasScrollContent.js.map +1 -1
  327. package/dist/cjs/utils/isElementAriaDisabled/isElementAriaDisabled.js +1 -1
  328. package/dist/cjs/utils/isElementAriaDisabled/isElementAriaDisabled.js.map +1 -1
  329. package/dist/cjs/utils/isElementScrollable/index.js +1 -1
  330. package/dist/cjs/utils/isElementScrollable/index.js.map +1 -1
  331. package/dist/cjs/utils/isImagePath/index.js +4 -3
  332. package/dist/cjs/utils/isImagePath/index.js.map +1 -1
  333. package/dist/cjs/utils/isImageUri/index.js +1 -1
  334. package/dist/cjs/utils/isImageUri/index.js.map +1 -1
  335. package/dist/cjs/utils/isObject/isObject.js +1 -1
  336. package/dist/cjs/utils/isObject/isObject.js.map +1 -1
  337. package/dist/cjs/utils/isTouch/index.js +1 -1
  338. package/dist/cjs/utils/isTouch/index.js.map +1 -1
  339. package/dist/cjs/utils/layers/index.js +1 -1
  340. package/dist/cjs/utils/layers/index.js.map +1 -1
  341. package/dist/cjs/utils/noop/index.js +1 -1
  342. package/dist/cjs/utils/noop/index.js.map +1 -1
  343. package/dist/cjs/utils/preventDefault/preventDefault.js +1 -1
  344. package/dist/cjs/utils/preventDefault/preventDefault.js.map +1 -1
  345. package/dist/cjs/utils/setAttributes/setAttributes.js +11 -5
  346. package/dist/cjs/utils/setAttributes/setAttributes.js.map +1 -1
  347. package/dist/cjs/utils/trapFocus/index.js +9 -11
  348. package/dist/cjs/utils/trapFocus/index.js.map +1 -1
  349. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +1 -234
  350. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  351. package/dist/esm/components/avatar/MrlAvatar/MrlAvatar.js +12 -10
  352. package/dist/esm/components/avatar/MrlAvatar/MrlAvatar.js.map +1 -1
  353. package/dist/esm/components/avatar/MrlAvatarButton/MrlAvatarButton.js +22 -24
  354. package/dist/esm/components/avatar/MrlAvatarButton/MrlAvatarButton.js.map +1 -1
  355. package/dist/esm/components/badge/MrlBadge/MrlBadge.js +6 -4
  356. package/dist/esm/components/badge/MrlBadge/MrlBadge.js.map +1 -1
  357. package/dist/esm/components/badge/MrlBadgeNotification/MrlBadgeNotification.js +7 -3
  358. package/dist/esm/components/badge/MrlBadgeNotification/MrlBadgeNotification.js.map +1 -1
  359. package/dist/esm/components/breadcrumb/MrlBreadcrumbItem/MrlBreadcrumbItem.js +7 -4
  360. package/dist/esm/components/breadcrumb/MrlBreadcrumbItem/MrlBreadcrumbItem.js.map +1 -1
  361. package/dist/esm/components/breadcrumb/MrlBreadcrumbs/MrlBreadcrumbs.js +18 -26
  362. package/dist/esm/components/breadcrumb/MrlBreadcrumbs/MrlBreadcrumbs.js.map +1 -1
  363. package/dist/esm/components/button/MrlAnimatedIconButton/MrlAnimatedIconButton.js +14 -18
  364. package/dist/esm/components/button/MrlAnimatedIconButton/MrlAnimatedIconButton.js.map +1 -1
  365. package/dist/esm/components/button/MrlButton/MrlButton.js +16 -20
  366. package/dist/esm/components/button/MrlButton/MrlButton.js.map +1 -1
  367. package/dist/esm/components/button/MrlIconButton/MrlIconButton.js +14 -20
  368. package/dist/esm/components/button/MrlIconButton/MrlIconButton.js.map +1 -1
  369. package/dist/esm/components/button/MrlProcessingButton/MrlProcessingButton.js +7 -7
  370. package/dist/esm/components/button/MrlProcessingButton/MrlProcessingButton.js.map +1 -1
  371. package/dist/esm/components/button/MrlProcessingButton/actions.js +12 -17
  372. package/dist/esm/components/button/MrlProcessingButton/actions.js.map +1 -1
  373. package/dist/esm/components/button/helpers.js +4 -6
  374. package/dist/esm/components/button/helpers.js.map +1 -1
  375. package/dist/esm/components/callout/MrlCallout/MrlCallout.js +5 -7
  376. package/dist/esm/components/callout/MrlCallout/MrlCallout.js.map +1 -1
  377. package/dist/esm/components/container/MrlContainer/MrlContainer.js +7 -4
  378. package/dist/esm/components/container/MrlContainer/MrlContainer.js.map +1 -1
  379. package/dist/esm/components/divider/MrlDivider/MrlDivider.js +13 -5
  380. package/dist/esm/components/divider/MrlDivider/MrlDivider.js.map +1 -1
  381. package/dist/esm/components/empty/default/MrlEmpty.js +1 -1
  382. package/dist/esm/components/empty/default/MrlEmpty.js.map +1 -1
  383. package/dist/esm/components/empty/large/MrlEmptyLarge.js +1 -1
  384. package/dist/esm/components/empty/large/MrlEmptyLarge.js.map +1 -1
  385. package/dist/esm/components/error-boundary/MrlErrorBoundary.js +28 -37
  386. package/dist/esm/components/error-boundary/MrlErrorBoundary.js.map +1 -1
  387. package/dist/esm/components/filter/MrlFilterContext/MrlFilterContext.js +5 -5
  388. package/dist/esm/components/filter/MrlFilterContext/MrlFilterContext.js.map +1 -1
  389. package/dist/esm/components/filter/MrlFilterItem/MrlFilterItem.js +4 -2
  390. package/dist/esm/components/filter/MrlFilterItem/MrlFilterItem.js.map +1 -1
  391. package/dist/esm/components/focus-trap/MrlFocusTrap/MrlFocusTrap.js +3 -3
  392. package/dist/esm/components/focus-trap/MrlFocusTrap/MrlFocusTrap.js.map +1 -1
  393. package/dist/esm/components/form/checkbox/MrlCheckbox/MrlCheckbox.js +8 -3
  394. package/dist/esm/components/form/checkbox/MrlCheckbox/MrlCheckbox.js.map +1 -1
  395. package/dist/esm/components/form/checkbox/MrlCheckboxStandalone/MrlCheckboxStandalone.js +2 -2
  396. package/dist/esm/components/form/checkbox/MrlCheckboxStandalone/MrlCheckboxStandalone.js.map +1 -1
  397. package/dist/esm/components/form/date-picker/MrlDatePicker.js +15 -12
  398. package/dist/esm/components/form/date-picker/MrlDatePicker.js.map +1 -1
  399. package/dist/esm/components/form/fieldset/MrlFieldset/MrlFieldset.js +2 -2
  400. package/dist/esm/components/form/fieldset/MrlFieldset/MrlFieldset.js.map +1 -1
  401. package/dist/esm/components/form/hooks/useActiveColor.js +2 -2
  402. package/dist/esm/components/form/hooks/useActiveColor.js.map +1 -1
  403. package/dist/esm/components/form/hooks/useIsEditable.js +3 -3
  404. package/dist/esm/components/form/hooks/useIsEditable.js.map +1 -1
  405. package/dist/esm/components/form/label/MrlLabel/MrlLabel.js +6 -3
  406. package/dist/esm/components/form/label/MrlLabel/MrlLabel.js.map +1 -1
  407. package/dist/esm/components/form/label/MrlLabelWithDescription/MrlLabelWithDescription.js +14 -4
  408. package/dist/esm/components/form/label/MrlLabelWithDescription/MrlLabelWithDescription.js.map +1 -1
  409. package/dist/esm/components/form/legacy-select/MrlLegacySelect/MrlLegacySelect.js +37 -30
  410. package/dist/esm/components/form/legacy-select/MrlLegacySelect/MrlLegacySelect.js.map +1 -1
  411. package/dist/esm/components/form/legacy-select/MrlLegacySelectItem/MrlLegacySelectItem.js +16 -11
  412. package/dist/esm/components/form/legacy-select/MrlLegacySelectItem/MrlLegacySelectItem.js.map +1 -1
  413. package/dist/esm/components/form/legacy-select/MrlLegacySelectMenu/MrlLegacySelectMenu.js +14 -10
  414. package/dist/esm/components/form/legacy-select/MrlLegacySelectMenu/MrlLegacySelectMenu.js.map +1 -1
  415. package/dist/esm/components/form/legacy-select/context/SelectContext.js +5 -5
  416. package/dist/esm/components/form/legacy-select/context/SelectContext.js.map +1 -1
  417. package/dist/esm/components/form/legacy-select/index.js +1 -1
  418. package/dist/esm/components/form/legacy-select/index.js.map +1 -1
  419. package/dist/esm/components/form/radio/MrlRadioButtonStandalone/MrlRadioButtonStandalone.js +4 -2
  420. package/dist/esm/components/form/radio/MrlRadioButtonStandalone/MrlRadioButtonStandalone.js.map +1 -1
  421. package/dist/esm/components/form/select/MrlCreatableSelect/MrlCreatableSelect.js +3 -5
  422. package/dist/esm/components/form/select/MrlCreatableSelect/MrlCreatableSelect.js.map +1 -1
  423. package/dist/esm/components/form/select/MrlMultiCreatableSelect/MrlMultiCreatableSelect.js +3 -5
  424. package/dist/esm/components/form/select/MrlMultiCreatableSelect/MrlMultiCreatableSelect.js.map +1 -1
  425. package/dist/esm/components/form/select/MrlMultiSelect/MrlMultiSelect.js +2 -2
  426. package/dist/esm/components/form/select/MrlMultiSelect/MrlMultiSelect.js.map +1 -1
  427. package/dist/esm/components/form/select/MrlSelect/MrlSelect.js +2 -2
  428. package/dist/esm/components/form/select/MrlSelect/MrlSelect.js.map +1 -1
  429. package/dist/esm/components/form/select/components/MrlSelectMultiValue.js +4 -2
  430. package/dist/esm/components/form/select/components/MrlSelectMultiValue.js.map +1 -1
  431. package/dist/esm/components/form/select/styles/default.js +18 -18
  432. package/dist/esm/components/form/select/styles/default.js.map +1 -1
  433. package/dist/esm/components/form/select/styles/inline.js +2 -2
  434. package/dist/esm/components/form/select/styles/inline.js.map +1 -1
  435. package/dist/esm/components/form/select/styles/inlineNoLabel.js +3 -3
  436. package/dist/esm/components/form/select/styles/inlineNoLabel.js.map +1 -1
  437. package/dist/esm/components/form/select/styles/inlineStacked.js +2 -2
  438. package/dist/esm/components/form/select/styles/inlineStacked.js.map +1 -1
  439. package/dist/esm/components/form/switch/MrlSwitch/MrlSwitch.js +9 -6
  440. package/dist/esm/components/form/switch/MrlSwitch/MrlSwitch.js.map +1 -1
  441. package/dist/esm/components/form/switch/MrlSwitchStandalone/MrlSwitchStandalone.js +3 -3
  442. package/dist/esm/components/form/switch/MrlSwitchStandalone/MrlSwitchStandalone.js.map +1 -1
  443. package/dist/esm/components/form/text-input/MrlEditableTextInput/MrlEditableTextInput.js +25 -17
  444. package/dist/esm/components/form/text-input/MrlEditableTextInput/MrlEditableTextInput.js.map +1 -1
  445. package/dist/esm/components/form/text-input/MrlEditableTextInput/MrlEditableTextInputRightIcon.js +8 -15
  446. package/dist/esm/components/form/text-input/MrlEditableTextInput/MrlEditableTextInputRightIcon.js.map +1 -1
  447. package/dist/esm/components/form/text-input/MrlTextInput/MrlTextInput.js +21 -20
  448. package/dist/esm/components/form/text-input/MrlTextInput/MrlTextInput.js.map +1 -1
  449. package/dist/esm/components/form/text-input/MrlTextInput/MrlTextInputRightIcon.js +8 -15
  450. package/dist/esm/components/form/text-input/MrlTextInput/MrlTextInputRightIcon.js.map +1 -1
  451. package/dist/esm/components/form/textarea/MrlEditableTextarea/MrlEditableTextarea.js +15 -15
  452. package/dist/esm/components/form/textarea/MrlEditableTextarea/MrlEditableTextarea.js.map +1 -1
  453. package/dist/esm/components/form/textarea/MrlEditableTextarea/MrlEditableTextareaRightButton.js +8 -15
  454. package/dist/esm/components/form/textarea/MrlEditableTextarea/MrlEditableTextareaRightButton.js.map +1 -1
  455. package/dist/esm/components/form/textarea/MrlTextarea/MrlTextarea.js +9 -6
  456. package/dist/esm/components/form/textarea/MrlTextarea/MrlTextarea.js.map +1 -1
  457. package/dist/esm/components/form/utils.js +2 -4
  458. package/dist/esm/components/form/utils.js.map +1 -1
  459. package/dist/esm/components/grid/MrlCol/MrlCol.js +31 -44
  460. package/dist/esm/components/grid/MrlCol/MrlCol.js.map +1 -1
  461. package/dist/esm/components/layout/MrlMain/MrlMain.js +4 -2
  462. package/dist/esm/components/layout/MrlMain/MrlMain.js.map +1 -1
  463. package/dist/esm/components/layout/MrlPage/MrlPage.js +4 -2
  464. package/dist/esm/components/layout/MrlPage/MrlPage.js.map +1 -1
  465. package/dist/esm/components/layout/MrlSidebar/MrlSidebar.js +19 -11
  466. package/dist/esm/components/layout/MrlSidebar/MrlSidebar.js.map +1 -1
  467. package/dist/esm/components/layout/MrlTopbar/MrlTopbar.js +5 -2
  468. package/dist/esm/components/layout/MrlTopbar/MrlTopbar.js.map +1 -1
  469. package/dist/esm/components/layout/context/LayoutContext.js +4 -4
  470. package/dist/esm/components/layout/context/LayoutContext.js.map +1 -1
  471. package/dist/esm/components/layout/error-page/MrlBrandColors/MrlBrandColors.js +1 -1
  472. package/dist/esm/components/layout/error-page/MrlBrandColors/MrlBrandColors.js.map +1 -1
  473. package/dist/esm/components/layout/error-page/MrlErrorPage/MrlErrorPage.js +1 -1
  474. package/dist/esm/components/layout/error-page/MrlErrorPage/MrlErrorPage.js.map +1 -1
  475. package/dist/esm/components/layout/utils.js +2 -2
  476. package/dist/esm/components/layout/utils.js.map +1 -1
  477. package/dist/esm/components/link/MrlLink/MrlLink.js +8 -3
  478. package/dist/esm/components/link/MrlLink/MrlLink.js.map +1 -1
  479. package/dist/esm/components/link/MrlLinkButton/MrlLinkButton.js +9 -11
  480. package/dist/esm/components/link/MrlLinkButton/MrlLinkButton.js.map +1 -1
  481. package/dist/esm/components/live-region/MrlLiveRegion/MrlLiveRegion.js +5 -9
  482. package/dist/esm/components/live-region/MrlLiveRegion/MrlLiveRegion.js.map +1 -1
  483. package/dist/esm/components/loader/MrlProgressBar/MrlProgressBar.js +9 -3
  484. package/dist/esm/components/loader/MrlProgressBar/MrlProgressBar.js.map +1 -1
  485. package/dist/esm/components/loader/MrlSpinner/MrlSpinner.js +11 -3
  486. package/dist/esm/components/loader/MrlSpinner/MrlSpinner.js.map +1 -1
  487. package/dist/esm/components/menu/MrlMenu/MrlMenu.js +56 -62
  488. package/dist/esm/components/menu/MrlMenu/MrlMenu.js.map +1 -1
  489. package/dist/esm/components/menu/MrlMenu/utilities.js +4 -6
  490. package/dist/esm/components/menu/MrlMenu/utilities.js.map +1 -1
  491. package/dist/esm/components/menu/MrlMenuGroup/MrlMenuGroup.js +1 -1
  492. package/dist/esm/components/menu/MrlMenuGroup/MrlMenuGroup.js.map +1 -1
  493. package/dist/esm/components/menu/MrlMenuItem/MrlMenuItem.js +18 -17
  494. package/dist/esm/components/menu/MrlMenuItem/MrlMenuItem.js.map +1 -1
  495. package/dist/esm/components/menu/MrlMenuItemLink/MrlMenuItemLink.js +2 -2
  496. package/dist/esm/components/menu/MrlMenuItemLink/MrlMenuItemLink.js.map +1 -1
  497. package/dist/esm/components/menu/hooks/useBrowserEdgeScroll.js +14 -14
  498. package/dist/esm/components/menu/hooks/useBrowserEdgeScroll.js.map +1 -1
  499. package/dist/esm/components/menu/hooks/useMenuScroll.js +8 -8
  500. package/dist/esm/components/menu/hooks/useMenuScroll.js.map +1 -1
  501. package/dist/esm/components/menu/hooks/useSubMenuElementPosition.js +3 -3
  502. package/dist/esm/components/menu/hooks/useSubMenuElementPosition.js.map +1 -1
  503. package/dist/esm/components/menu/utilities/flip-position.js +1 -1
  504. package/dist/esm/components/menu/utilities/flip-position.js.map +1 -1
  505. package/dist/esm/components/modal/MrlModal/MrlModal.js +22 -22
  506. package/dist/esm/components/modal/MrlModal/MrlModal.js.map +1 -1
  507. package/dist/esm/components/modal/MrlModalContent/MrlModalContent.js +5 -5
  508. package/dist/esm/components/modal/MrlModalContent/MrlModalContent.js.map +1 -1
  509. package/dist/esm/components/modal/MrlModalContext/MrlModalContext.js +1 -1
  510. package/dist/esm/components/modal/MrlModalContext/MrlModalContext.js.map +1 -1
  511. package/dist/esm/components/modal/MrlModalFooter/MrlModalFooter.js +7 -4
  512. package/dist/esm/components/modal/MrlModalFooter/MrlModalFooter.js.map +1 -1
  513. package/dist/esm/components/modal/MrlModalHeader/MrlModalHeader.js +7 -5
  514. package/dist/esm/components/modal/MrlModalHeader/MrlModalHeader.js.map +1 -1
  515. package/dist/esm/components/navigation-sidebar/MrlSidebarNavItem/MrlSidebarNavItem.js +6 -2
  516. package/dist/esm/components/navigation-sidebar/MrlSidebarNavItem/MrlSidebarNavItem.js.map +1 -1
  517. package/dist/esm/components/notification/MrlBlockNotification/MrlBlockNotification.js +18 -15
  518. package/dist/esm/components/notification/MrlBlockNotification/MrlBlockNotification.js.map +1 -1
  519. package/dist/esm/components/notification/MrlInlineMessage/MrlInlineMessage.js +11 -5
  520. package/dist/esm/components/notification/MrlInlineMessage/MrlInlineMessage.js.map +1 -1
  521. package/dist/esm/components/notification/MrlToast/MrlToast.js +14 -9
  522. package/dist/esm/components/notification/MrlToast/MrlToast.js.map +1 -1
  523. package/dist/esm/components/panel/MrlPanel/MrlPanel.js +14 -10
  524. package/dist/esm/components/panel/MrlPanel/MrlPanel.js.map +1 -1
  525. package/dist/esm/components/panel/MrlPanelFooter/MrlPanelFooter.js +2 -2
  526. package/dist/esm/components/panel/MrlPanelFooter/MrlPanelFooter.js.map +1 -1
  527. package/dist/esm/components/panel/MrlPanelStickyHeader/MrlPanelStickyHeader.js +1 -1
  528. package/dist/esm/components/panel/MrlPanelStickyHeader/MrlPanelStickyHeader.js.map +1 -1
  529. package/dist/esm/components/popover/MrlPopover/MrlPopover.js +71 -71
  530. package/dist/esm/components/popover/MrlPopover/MrlPopover.js.map +1 -1
  531. package/dist/esm/components/popover/MrlPopover/hooks/use-mrl-popover-event-handlers.js +19 -21
  532. package/dist/esm/components/popover/MrlPopover/hooks/use-mrl-popover-event-handlers.js.map +1 -1
  533. package/dist/esm/components/popover/MrlPopover/utilities/get-data-point.js +1 -1
  534. package/dist/esm/components/popover/MrlPopover/utilities/get-data-point.js.map +1 -1
  535. package/dist/esm/components/popover/MrlPopover/utilities/get-offset.js +1 -1
  536. package/dist/esm/components/popover/MrlPopover/utilities/get-offset.js.map +1 -1
  537. package/dist/esm/components/portal/MrlPortal.js +2 -2
  538. package/dist/esm/components/portal/MrlPortal.js.map +1 -1
  539. package/dist/esm/components/rovingTabindex/MrlRovingTabindex/MrlRovingTabindex.js +235 -262
  540. package/dist/esm/components/rovingTabindex/MrlRovingTabindex/MrlRovingTabindex.js.map +1 -1
  541. package/dist/esm/components/skeleton/MrlSkeleton/MrlSkeleton.js +6 -4
  542. package/dist/esm/components/skeleton/MrlSkeleton/MrlSkeleton.js.map +1 -1
  543. package/dist/esm/components/skeleton/MrlSkeletonText/MrlSkeletonText.js +7 -5
  544. package/dist/esm/components/skeleton/MrlSkeletonText/MrlSkeletonText.js.map +1 -1
  545. package/dist/esm/components/svg/MrlSvg/MrlSvg.js +7 -11
  546. package/dist/esm/components/svg/MrlSvg/MrlSvg.js.map +1 -1
  547. package/dist/esm/components/svg/MrlSvgAnimate/MrlSvgAnimate.js +8 -8
  548. package/dist/esm/components/svg/MrlSvgAnimate/MrlSvgAnimate.js.map +1 -1
  549. package/dist/esm/components/table/MrlSmartTable/MrlSmartTable.js +71 -94
  550. package/dist/esm/components/table/MrlSmartTable/MrlSmartTable.js.map +1 -1
  551. package/dist/esm/components/table/MrlSmartTable/components/DefaultCellContent.js +2 -2
  552. package/dist/esm/components/table/MrlSmartTable/components/DefaultCellContent.js.map +1 -1
  553. package/dist/esm/components/table/MrlTableCell/MrlTableCell.js +7 -2
  554. package/dist/esm/components/table/MrlTableCell/MrlTableCell.js.map +1 -1
  555. package/dist/esm/components/table/MrlTableColumn/MrlTableColumn.js +8 -2
  556. package/dist/esm/components/table/MrlTableColumn/MrlTableColumn.js.map +1 -1
  557. package/dist/esm/components/table/MrlTableRow/MrlTableRow.js +7 -5
  558. package/dist/esm/components/table/MrlTableRow/MrlTableRow.js.map +1 -1
  559. package/dist/esm/components/table/utils.js +4 -10
  560. package/dist/esm/components/table/utils.js.map +1 -1
  561. package/dist/esm/components/tabs/MrlTab/MrlTab.js +11 -8
  562. package/dist/esm/components/tabs/MrlTab/MrlTab.js.map +1 -1
  563. package/dist/esm/components/tabs/MrlTabContent/MrlTabContent.js +7 -4
  564. package/dist/esm/components/tabs/MrlTabContent/MrlTabContent.js.map +1 -1
  565. package/dist/esm/components/tabs/MrlTabGroup/MrlTabGroup.js +8 -10
  566. package/dist/esm/components/tabs/MrlTabGroup/MrlTabGroup.js.map +1 -1
  567. package/dist/esm/components/tabs/MrlTabLink/MrlTabLink.js +11 -8
  568. package/dist/esm/components/tabs/MrlTabLink/MrlTabLink.js.map +1 -1
  569. package/dist/esm/components/tabs/MrlTabs/MrlTabs.js +11 -9
  570. package/dist/esm/components/tabs/MrlTabs/MrlTabs.js.map +1 -1
  571. package/dist/esm/components/text/MrlText/MrlText.js +8 -3
  572. package/dist/esm/components/text/MrlText/MrlText.js.map +1 -1
  573. package/dist/esm/components/text/MrlTextHeading/MrlTextHeading.js +9 -3
  574. package/dist/esm/components/text/MrlTextHeading/MrlTextHeading.js.map +1 -1
  575. package/dist/esm/components/toolbar/MrlToolbar/MrlToolbar.js +12 -7
  576. package/dist/esm/components/toolbar/MrlToolbar/MrlToolbar.js.map +1 -1
  577. package/dist/esm/components/toolbar/MrlToolbarItem/MrlToolbarItem.js +1 -1
  578. package/dist/esm/components/toolbar/MrlToolbarItem/MrlToolbarItem.js.map +1 -1
  579. package/dist/esm/components/tooltip/MrlTooltip/MrlTooltip.js +31 -34
  580. package/dist/esm/components/tooltip/MrlTooltip/MrlTooltip.js.map +1 -1
  581. package/dist/esm/components/tooltip/MrlTooltipContent/MrlTooltipContent.js +8 -3
  582. package/dist/esm/components/tooltip/MrlTooltipContent/MrlTooltipContent.js.map +1 -1
  583. package/dist/esm/components/tooltip/useTooltipPosition/index.js +15 -17
  584. package/dist/esm/components/tooltip/useTooltipPosition/index.js.map +1 -1
  585. package/dist/esm/components/tooltip/useTooltipPosition/utilities.js +4 -4
  586. package/dist/esm/components/tooltip/useTooltipPosition/utilities.js.map +1 -1
  587. package/dist/esm/components/tooltip/utils.js +3 -3
  588. package/dist/esm/components/tooltip/utils.js.map +1 -1
  589. package/dist/esm/hooks/useAutoClose/useAutoClose.js +4 -4
  590. package/dist/esm/hooks/useAutoClose/useAutoClose.js.map +1 -1
  591. package/dist/esm/hooks/useBreakpoint/index.js +5 -5
  592. package/dist/esm/hooks/useBreakpoint/index.js.map +1 -1
  593. package/dist/esm/hooks/useClickOutside/index.js +4 -4
  594. package/dist/esm/hooks/useClickOutside/index.js.map +1 -1
  595. package/dist/esm/hooks/useCoordinate/index.js +20 -29
  596. package/dist/esm/hooks/useCoordinate/index.js.map +1 -1
  597. package/dist/esm/hooks/useElementDimensions/index.js +19 -32
  598. package/dist/esm/hooks/useElementDimensions/index.js.map +1 -1
  599. package/dist/esm/hooks/useHasFocusableDescendant/index.js +4 -6
  600. package/dist/esm/hooks/useHasFocusableDescendant/index.js.map +1 -1
  601. package/dist/esm/hooks/useScrollbarInfo/index.js +8 -8
  602. package/dist/esm/hooks/useScrollbarInfo/index.js.map +1 -1
  603. package/dist/esm/hooks/useTriggerPosition/index.js +14 -20
  604. package/dist/esm/hooks/useTriggerPosition/index.js.map +1 -1
  605. package/dist/esm/hooks/useTriggerPosition/utilities.js +15 -23
  606. package/dist/esm/hooks/useTriggerPosition/utilities.js.map +1 -1
  607. package/dist/esm/utils/checkInvalidAttributes/index.js +2 -4
  608. package/dist/esm/utils/checkInvalidAttributes/index.js.map +1 -1
  609. package/dist/esm/utils/frameDebounce/index.js +28 -29
  610. package/dist/esm/utils/frameDebounce/index.js.map +1 -1
  611. package/dist/esm/utils/getCamelCase/getCamelCase.js +2 -2
  612. package/dist/esm/utils/getCamelCase/getCamelCase.js.map +1 -1
  613. package/dist/esm/utils/getScrollableContainer/getScrollableContainer.js +1 -1
  614. package/dist/esm/utils/getScrollableContainer/getScrollableContainer.js.map +1 -1
  615. package/dist/esm/utils/hasHorizontalScroll/hasHorizontalScroll.js +1 -1
  616. package/dist/esm/utils/hasHorizontalScroll/hasHorizontalScroll.js.map +1 -1
  617. package/dist/esm/utils/hasScrollContent/hasScrollContent.js +1 -1
  618. package/dist/esm/utils/hasScrollContent/hasScrollContent.js.map +1 -1
  619. package/dist/esm/utils/isElementAriaDisabled/isElementAriaDisabled.js +1 -1
  620. package/dist/esm/utils/isElementAriaDisabled/isElementAriaDisabled.js.map +1 -1
  621. package/dist/esm/utils/isElementScrollable/index.js +1 -1
  622. package/dist/esm/utils/isElementScrollable/index.js.map +1 -1
  623. package/dist/esm/utils/isImagePath/index.js +1 -1
  624. package/dist/esm/utils/isImagePath/index.js.map +1 -1
  625. package/dist/esm/utils/isImageUri/index.js +1 -1
  626. package/dist/esm/utils/isImageUri/index.js.map +1 -1
  627. package/dist/esm/utils/isObject/isObject.js +1 -1
  628. package/dist/esm/utils/isObject/isObject.js.map +1 -1
  629. package/dist/esm/utils/isTouch/index.js +1 -1
  630. package/dist/esm/utils/isTouch/index.js.map +1 -1
  631. package/dist/esm/utils/layers/index.js +1 -1
  632. package/dist/esm/utils/layers/index.js.map +1 -1
  633. package/dist/esm/utils/noop/index.js +1 -1
  634. package/dist/esm/utils/noop/index.js.map +1 -1
  635. package/dist/esm/utils/preventDefault/preventDefault.js +1 -1
  636. package/dist/esm/utils/preventDefault/preventDefault.js.map +1 -1
  637. package/dist/esm/utils/setAttributes/setAttributes.js +7 -5
  638. package/dist/esm/utils/setAttributes/setAttributes.js.map +1 -1
  639. package/dist/esm/utils/trapFocus/index.js +9 -11
  640. package/dist/esm/utils/trapFocus/index.js.map +1 -1
  641. package/package.json +1 -1
@@ -26,13 +26,11 @@ var useTooltipPosition = function useTooltipPosition(triggerRef, elementRef, pla
26
26
  _useState2 = _slicedToArray(_useState, 2),
27
27
  tooltipPosition = _useState2[0],
28
28
  setTooltipPosition = _useState2[1];
29
- var alignment = useMemo(function () {
30
- return {
31
- align: placement.align,
32
- position: placement.position
33
- };
34
- }, [placement.align, placement.position]);
35
- var updatePosition = useCallback(function () {
29
+ var alignment = useMemo(() => ({
30
+ align: placement.align,
31
+ position: placement.position
32
+ }), [placement.align, placement.position]);
33
+ var updatePosition = useCallback(() => {
36
34
  if (elementRef.current && isElementVisible) {
37
35
  var _triggerRef$current;
38
36
  var triggerRect = triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.getBoundingClientRect();
@@ -40,7 +38,7 @@ var useTooltipPosition = function useTooltipPosition(triggerRef, elementRef, pla
40
38
  var newPosition = calculatePosition(alignment, offset, elementRect, triggerRect);
41
39
 
42
40
  // only update if we have a new position
43
- setTooltipPosition(function (prevPosition) {
41
+ setTooltipPosition(prevPosition => {
44
42
  if (prevPosition.left !== newPosition.left || prevPosition.top !== newPosition.top) {
45
43
  return newPosition;
46
44
  }
@@ -50,10 +48,10 @@ var useTooltipPosition = function useTooltipPosition(triggerRef, elementRef, pla
50
48
  }, [alignment, elementRef, isElementVisible, offset, triggerRef]);
51
49
 
52
50
  // eslint-disable-next-line react-hooks/exhaustive-deps
53
- var debouncedUpdatePosition = useCallback(debounce(function () {
51
+ var debouncedUpdatePosition = useCallback(debounce(() => {
54
52
  updatePosition();
55
53
  }, 5), [updatePosition]);
56
- useEffect(function () {
54
+ useEffect(() => {
57
55
  if (!disable) {
58
56
  var currentElement = elementRef.current;
59
57
 
@@ -79,7 +77,7 @@ var useTooltipPosition = function useTooltipPosition(triggerRef, elementRef, pla
79
77
  window.addEventListener('resize', debouncedUpdatePosition);
80
78
  window.addEventListener('scroll', debouncedUpdatePosition);
81
79
  }
82
- return function () {
80
+ return () => {
83
81
  if (currentElement) {
84
82
  resizeObserver.unobserve(currentElement);
85
83
  mutationObserver.disconnect();
@@ -89,7 +87,7 @@ var useTooltipPosition = function useTooltipPosition(triggerRef, elementRef, pla
89
87
  };
90
88
  }
91
89
  }, [disable, triggerRef, elementRef, alignment, offset, isElementVisible, updatePosition, debouncedUpdatePosition]);
92
- useLayoutEffect(function () {
90
+ useLayoutEffect(() => {
93
91
  if (isElementVisible && !disable && elementRef.current && triggerRef !== null && triggerRef !== void 0 && triggerRef.current) {
94
92
  // Recalculate position when the tooltip is first shown
95
93
  updatePosition();
@@ -101,21 +99,21 @@ var useTooltipPosition = function useTooltipPosition(triggerRef, elementRef, pla
101
99
  * This effect is used to track the position of the trigger element
102
100
  * when the tooltip is visible. It will update the position of the tooltip
103
101
  */
104
- useEffect(function () {
102
+ useEffect(() => {
105
103
  if (!disable && isElementVisible && triggerRef !== null && triggerRef !== void 0 && triggerRef.current && elementRef.current) {
106
104
  var animationFrameId;
107
105
  var prevRect;
108
- var _trackPosition = function trackPosition() {
106
+ var trackPosition = () => {
109
107
  var _triggerRef$current2;
110
108
  var currentRect = (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.getBoundingClientRect();
111
109
  if (currentRect && (!prevRect || positionChanged(prevRect, currentRect))) {
112
110
  updatePosition();
113
111
  prevRect = currentRect;
114
112
  }
115
- animationFrameId = requestAnimationFrame(_trackPosition);
113
+ animationFrameId = requestAnimationFrame(trackPosition);
116
114
  };
117
- animationFrameId = requestAnimationFrame(_trackPosition);
118
- return function () {
115
+ animationFrameId = requestAnimationFrame(trackPosition);
116
+ return () => {
119
117
  cancelAnimationFrame(animationFrameId);
120
118
  };
121
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/tooltip/useTooltipPosition/index.tsx"],"sourcesContent":["import { useMemo, useState, RefObject, useEffect, useCallback, useLayoutEffect } from 'react';\nimport { TooltipPlacement, Position } from './constants';\nimport { calculatePosition, positionChanged } from './utilities';\nimport debounce from 'lodash.debounce';\n\n/**\n * A custom hook to calculate and manage the position of a tooltip element relative to its trigger element.\n *\n * @param {RefObject<HTMLElement>} triggerRef - Reference to the DOM element that triggers the menu.\n * @param {RefObject<HTMLElement>} elementRef - Reference to the DOM element that is the menu.\n * @param {TooltipPlacement} placement - The alignment configuration of the menu.\n * @param {boolean} isElementVisible - Tells the hook if the element is visible. If false, the hook will not calculate the position.\n * @param {number} tooltipOffset - The offset of the menu from the trigger element.\n * @param {boolean} disable - Whether to disable the hook.\n * @returns {Position} The calculated position of the menu element.\n */\nexport const useTooltipPosition = (\n\ttriggerRef: RefObject<HTMLElement> | undefined,\n\telementRef: RefObject<HTMLElement>,\n\tplacement: TooltipPlacement,\n\tisElementVisible = true,\n\ttooltipOffset = 10,\n\tdisable = false\n): Position => {\n\tconst offset = tooltipOffset;\n\tconst [tooltipPosition, setTooltipPosition] = useState<Position>({ left: 0, top: 0 });\n\n\tconst alignment = useMemo(\n\t\t() => ({\n\t\t\talign: placement.align,\n\t\t\tposition: placement.position\n\t\t}),\n\t\t[placement.align, placement.position]\n\t);\n\n\tconst updatePosition = useCallback(() => {\n\t\tif (elementRef.current && isElementVisible) {\n\t\t\tconst triggerRect = triggerRef?.current?.getBoundingClientRect();\n\t\t\tconst elementRect = elementRef.current.getBoundingClientRect();\n\t\t\tconst newPosition = calculatePosition(alignment, offset, elementRect, triggerRect);\n\n\t\t\t// only update if we have a new position\n\t\t\tsetTooltipPosition((prevPosition) => {\n\t\t\t\tif (prevPosition.left !== newPosition.left || prevPosition.top !== newPosition.top) {\n\t\t\t\t\treturn newPosition;\n\t\t\t\t}\n\t\t\t\treturn prevPosition;\n\t\t\t});\n\t\t}\n\t}, [alignment, elementRef, isElementVisible, offset, triggerRef]);\n\n\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\tconst debouncedUpdatePosition = useCallback(\n\t\tdebounce(() => {\n\t\t\tupdatePosition();\n\t\t}, 5),\n\t\t[updatePosition]\n\t);\n\n\tuseEffect(() => {\n\t\tif (!disable) {\n\t\t\tconst currentElement = elementRef.current;\n\n\t\t\t// We need to debounce the resize observer to prevent \"resize loops\"\n\t\t\t// there are instances where the resize observer will trigger a resize event\n\t\t\t// before the browser has painted which throws a loop of resize events\n\t\t\t// and causes errors on the window\n\t\t\t//\n\t\t\t// The observers are purposefully using a different debounce than the event listeners\n\t\t\t// as the observers need to be debounced to prevent loops, but updating the position\n\t\t\t// needs to happen more immediately\n\t\t\tconst resizeObserver = new ResizeObserver(debounce(updatePosition));\n\t\t\tconst mutationObserver = new MutationObserver(debounce(updatePosition));\n\n\t\t\tif (currentElement) {\n\t\t\t\tresizeObserver.observe(currentElement);\n\t\t\t\tmutationObserver.observe(currentElement, {\n\t\t\t\t\tattributeFilter: ['style', 'class'],\n\t\t\t\t\tattributes: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (isElementVisible) {\n\t\t\t\tupdatePosition();\n\t\t\t\twindow.addEventListener('resize', debouncedUpdatePosition);\n\t\t\t\twindow.addEventListener('scroll', debouncedUpdatePosition);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tif (currentElement) {\n\t\t\t\t\tresizeObserver.unobserve(currentElement);\n\t\t\t\t\tmutationObserver.disconnect();\n\t\t\t\t}\n\t\t\t\twindow.removeEventListener('resize', debouncedUpdatePosition);\n\t\t\t\twindow.removeEventListener('scroll', debouncedUpdatePosition);\n\t\t\t};\n\t\t}\n\t}, [\n\t\tdisable,\n\t\ttriggerRef,\n\t\telementRef,\n\t\talignment,\n\t\toffset,\n\t\tisElementVisible,\n\t\tupdatePosition,\n\t\tdebouncedUpdatePosition\n\t]);\n\n\tuseLayoutEffect(() => {\n\t\tif (isElementVisible && !disable && elementRef.current && triggerRef?.current) {\n\t\t\t// Recalculate position when the tooltip is first shown\n\t\t\tupdatePosition();\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [isElementVisible, updatePosition, disable, elementRef.current, triggerRef?.current]);\n\n\t/**\n\t * This effect is used to track the position of the trigger element\n\t * when the tooltip is visible. It will update the position of the tooltip\n\t */\n\tuseEffect(() => {\n\t\tif (!disable && isElementVisible && triggerRef?.current && elementRef.current) {\n\t\t\tlet animationFrameId: number;\n\t\t\tlet prevRect: DOMRect | undefined;\n\n\t\t\tconst trackPosition = () => {\n\t\t\t\tconst currentRect = triggerRef.current?.getBoundingClientRect();\n\t\t\t\tif (currentRect && (!prevRect || positionChanged(prevRect, currentRect))) {\n\t\t\t\t\tupdatePosition();\n\t\t\t\t\tprevRect = currentRect;\n\t\t\t\t}\n\t\t\t\tanimationFrameId = requestAnimationFrame(trackPosition);\n\t\t\t};\n\n\t\t\tanimationFrameId = requestAnimationFrame(trackPosition);\n\n\t\t\treturn () => {\n\t\t\t\tcancelAnimationFrame(animationFrameId);\n\t\t\t};\n\t\t}\n\t}, [disable, isElementVisible, triggerRef, elementRef, updatePosition]);\n\n\treturn tooltipPosition;\n};\n"],"names":["useTooltipPosition","triggerRef","elementRef","placement","isElementVisible","arguments","length","undefined","tooltipOffset","disable","offset","_useState","useState","left","top","_useState2","_slicedToArray","tooltipPosition","setTooltipPosition","alignment","useMemo","align","position","updatePosition","useCallback","current","_triggerRef$current","triggerRect","getBoundingClientRect","elementRect","newPosition","calculatePosition","prevPosition","debouncedUpdatePosition","debounce","useEffect","currentElement","resizeObserver","ResizeObserver","mutationObserver","MutationObserver","observe","attributeFilter","attributes","window","addEventListener","unobserve","disconnect","removeEventListener","useLayoutEffect","animationFrameId","prevRect","trackPosition","_triggerRef$current2","currentRect","positionChanged","requestAnimationFrame","cancelAnimationFrame"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/tooltip/useTooltipPosition/index.tsx"],"sourcesContent":["import { useMemo, useState, RefObject, useEffect, useCallback, useLayoutEffect } from 'react';\nimport { TooltipPlacement, Position } from './constants';\nimport { calculatePosition, positionChanged } from './utilities';\nimport debounce from 'lodash.debounce';\n\n/**\n * A custom hook to calculate and manage the position of a tooltip element relative to its trigger element.\n *\n * @param {RefObject<HTMLElement>} triggerRef - Reference to the DOM element that triggers the menu.\n * @param {RefObject<HTMLElement>} elementRef - Reference to the DOM element that is the menu.\n * @param {TooltipPlacement} placement - The alignment configuration of the menu.\n * @param {boolean} isElementVisible - Tells the hook if the element is visible. If false, the hook will not calculate the position.\n * @param {number} tooltipOffset - The offset of the menu from the trigger element.\n * @param {boolean} disable - Whether to disable the hook.\n * @returns {Position} The calculated position of the menu element.\n */\nexport const useTooltipPosition = (\n\ttriggerRef: RefObject<HTMLElement> | undefined,\n\telementRef: RefObject<HTMLElement>,\n\tplacement: TooltipPlacement,\n\tisElementVisible = true,\n\ttooltipOffset = 10,\n\tdisable = false\n): Position => {\n\tconst offset = tooltipOffset;\n\tconst [tooltipPosition, setTooltipPosition] = useState<Position>({ left: 0, top: 0 });\n\n\tconst alignment = useMemo(\n\t\t() => ({\n\t\t\talign: placement.align,\n\t\t\tposition: placement.position\n\t\t}),\n\t\t[placement.align, placement.position]\n\t);\n\n\tconst updatePosition = useCallback(() => {\n\t\tif (elementRef.current && isElementVisible) {\n\t\t\tconst triggerRect = triggerRef?.current?.getBoundingClientRect();\n\t\t\tconst elementRect = elementRef.current.getBoundingClientRect();\n\t\t\tconst newPosition = calculatePosition(alignment, offset, elementRect, triggerRect);\n\n\t\t\t// only update if we have a new position\n\t\t\tsetTooltipPosition((prevPosition) => {\n\t\t\t\tif (prevPosition.left !== newPosition.left || prevPosition.top !== newPosition.top) {\n\t\t\t\t\treturn newPosition;\n\t\t\t\t}\n\t\t\t\treturn prevPosition;\n\t\t\t});\n\t\t}\n\t}, [alignment, elementRef, isElementVisible, offset, triggerRef]);\n\n\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\tconst debouncedUpdatePosition = useCallback(\n\t\tdebounce(() => {\n\t\t\tupdatePosition();\n\t\t}, 5),\n\t\t[updatePosition]\n\t);\n\n\tuseEffect(() => {\n\t\tif (!disable) {\n\t\t\tconst currentElement = elementRef.current;\n\n\t\t\t// We need to debounce the resize observer to prevent \"resize loops\"\n\t\t\t// there are instances where the resize observer will trigger a resize event\n\t\t\t// before the browser has painted which throws a loop of resize events\n\t\t\t// and causes errors on the window\n\t\t\t//\n\t\t\t// The observers are purposefully using a different debounce than the event listeners\n\t\t\t// as the observers need to be debounced to prevent loops, but updating the position\n\t\t\t// needs to happen more immediately\n\t\t\tconst resizeObserver = new ResizeObserver(debounce(updatePosition));\n\t\t\tconst mutationObserver = new MutationObserver(debounce(updatePosition));\n\n\t\t\tif (currentElement) {\n\t\t\t\tresizeObserver.observe(currentElement);\n\t\t\t\tmutationObserver.observe(currentElement, {\n\t\t\t\t\tattributeFilter: ['style', 'class'],\n\t\t\t\t\tattributes: true\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (isElementVisible) {\n\t\t\t\tupdatePosition();\n\t\t\t\twindow.addEventListener('resize', debouncedUpdatePosition);\n\t\t\t\twindow.addEventListener('scroll', debouncedUpdatePosition);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tif (currentElement) {\n\t\t\t\t\tresizeObserver.unobserve(currentElement);\n\t\t\t\t\tmutationObserver.disconnect();\n\t\t\t\t}\n\t\t\t\twindow.removeEventListener('resize', debouncedUpdatePosition);\n\t\t\t\twindow.removeEventListener('scroll', debouncedUpdatePosition);\n\t\t\t};\n\t\t}\n\t}, [\n\t\tdisable,\n\t\ttriggerRef,\n\t\telementRef,\n\t\talignment,\n\t\toffset,\n\t\tisElementVisible,\n\t\tupdatePosition,\n\t\tdebouncedUpdatePosition\n\t]);\n\n\tuseLayoutEffect(() => {\n\t\tif (isElementVisible && !disable && elementRef.current && triggerRef?.current) {\n\t\t\t// Recalculate position when the tooltip is first shown\n\t\t\tupdatePosition();\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [isElementVisible, updatePosition, disable, elementRef.current, triggerRef?.current]);\n\n\t/**\n\t * This effect is used to track the position of the trigger element\n\t * when the tooltip is visible. It will update the position of the tooltip\n\t */\n\tuseEffect(() => {\n\t\tif (!disable && isElementVisible && triggerRef?.current && elementRef.current) {\n\t\t\tlet animationFrameId: number;\n\t\t\tlet prevRect: DOMRect | undefined;\n\n\t\t\tconst trackPosition = () => {\n\t\t\t\tconst currentRect = triggerRef.current?.getBoundingClientRect();\n\t\t\t\tif (currentRect && (!prevRect || positionChanged(prevRect, currentRect))) {\n\t\t\t\t\tupdatePosition();\n\t\t\t\t\tprevRect = currentRect;\n\t\t\t\t}\n\t\t\t\tanimationFrameId = requestAnimationFrame(trackPosition);\n\t\t\t};\n\n\t\t\tanimationFrameId = requestAnimationFrame(trackPosition);\n\n\t\t\treturn () => {\n\t\t\t\tcancelAnimationFrame(animationFrameId);\n\t\t\t};\n\t\t}\n\t}, [disable, isElementVisible, triggerRef, elementRef, updatePosition]);\n\n\treturn tooltipPosition;\n};\n"],"names":["useTooltipPosition","triggerRef","elementRef","placement","isElementVisible","arguments","length","undefined","tooltipOffset","disable","offset","_useState","useState","left","top","_useState2","_slicedToArray","tooltipPosition","setTooltipPosition","alignment","useMemo","align","position","updatePosition","useCallback","current","_triggerRef$current","triggerRect","getBoundingClientRect","elementRect","newPosition","calculatePosition","prevPosition","debouncedUpdatePosition","debounce","useEffect","currentElement","resizeObserver","ResizeObserver","mutationObserver","MutationObserver","observe","attributeFilter","attributes","window","addEventListener","unobserve","disconnect","removeEventListener","useLayoutEffect","animationFrameId","prevRect","trackPosition","_triggerRef$current2","currentRect","positionChanged","requestAnimationFrame","cancelAnimationFrame"],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * @param triggerRect - Bounding rect of the trigger element.
8
8
  * @returns {Position} An object with `left` and `top` coordinates for the element (keys sorted alphabetically).
9
9
  */
10
- var calculatePosition = function calculatePosition(alignment, offset, elementRect, triggerRect) {
10
+ var calculatePosition = (alignment, offset, elementRect, triggerRect) => {
11
11
  if (!triggerRect) {
12
12
  // fallback to (0,0) if no trigger is available
13
13
  return {
@@ -58,8 +58,8 @@ var calculatePosition = function calculatePosition(alignment, offset, elementRec
58
58
  break;
59
59
  }
60
60
  return {
61
- left: left,
62
- top: top
61
+ left,
62
+ top
63
63
  };
64
64
  };
65
65
 
@@ -70,7 +70,7 @@ var calculatePosition = function calculatePosition(alignment, offset, elementRec
70
70
  * @param next - The current bounding rectangle of the element.
71
71
  * @returns {boolean} True if the position has changed by more than 0.5 pixels, false otherwise.
72
72
  */
73
- var positionChanged = function positionChanged(prev, next) {
73
+ var positionChanged = (prev, next) => {
74
74
  return Math.abs(prev.top - next.top) > 0.5 || Math.abs(prev.left - next.left) > 0.5;
75
75
  };
76
76
 
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sources":["../../../../../src/components/tooltip/useTooltipPosition/utilities.ts"],"sourcesContent":["import { TooltipPlacement, Position } from './constants';\n\n/**\n * Calculates the position of an element (e.g., a tooltip or menu) based on alignment and offset.\n *\n * @param alignment - Object containing position ('top', 'bottom', 'left', 'right') and anchor ('start', 'center', 'end').\n * @param offset - Number of pixels to offset the positioned element.\n * @param elementRect - Bounding rect of the element being positioned.\n * @param triggerRect - Bounding rect of the trigger element.\n * @returns {Position} An object with `left` and `top` coordinates for the element (keys sorted alphabetically).\n */\nexport const calculatePosition = (\n\talignment: TooltipPlacement,\n\toffset: number,\n\telementRect: DOMRect,\n\ttriggerRect?: DOMRect\n): Position => {\n\tif (!triggerRect) {\n\t\t// fallback to (0,0) if no trigger is available\n\t\treturn { left: 0, top: 0 };\n\t}\n\n\tconst { position } = alignment;\n\n\t// For left/right positioned tooltips or menus, always center align vertically\n\t// regardless of the provided `align` value\n\tconst anchor = position === 'left' || position === 'right' ? 'center' : alignment.align;\n\n\tlet top = 0;\n\tlet left = 0;\n\n\t// Primary positioning based on side\n\tswitch (position) {\n\t\tcase 'top':\n\t\t\ttop = triggerRect.top - elementRect.height - offset;\n\t\t\tbreak;\n\t\tcase 'bottom':\n\t\t\ttop = triggerRect.bottom + offset;\n\t\t\tbreak;\n\t\tcase 'left':\n\t\t\tleft = triggerRect.left - elementRect.width - offset;\n\t\t\tbreak;\n\t\tcase 'right':\n\t\t\tleft = triggerRect.right + offset;\n\t\t\tbreak;\n\t}\n\n\t// Secondary alignment\n\tswitch (position) {\n\t\tcase 'top':\n\t\tcase 'bottom':\n\t\t\tif (anchor === 'start') {\n\t\t\t\tleft = triggerRect.left;\n\t\t\t} else if (anchor === 'center') {\n\t\t\t\tleft = triggerRect.left + (triggerRect.width - elementRect.width) / 2;\n\t\t\t} else if (anchor === 'end') {\n\t\t\t\tleft = triggerRect.right - elementRect.width;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'left':\n\t\tcase 'right':\n\t\t\t// forced to center alignment vertically\n\t\t\ttop = triggerRect.top + (triggerRect.height - elementRect.height) / 2;\n\t\t\tbreak;\n\t}\n\n\treturn { left, top };\n};\n\n/**\n * Determines if the position of an element has changed significantly.\n *\n * @param prev - The previous bounding rectangle of the element.\n * @param next - The current bounding rectangle of the element.\n * @returns {boolean} True if the position has changed by more than 0.5 pixels, false otherwise.\n */\nexport const positionChanged = (prev: DOMRect, next: DOMRect): boolean => {\n\treturn Math.abs(prev.top - next.top) > 0.5 || Math.abs(prev.left - next.left) > 0.5;\n};\n"],"names":["calculatePosition","alignment","offset","elementRect","triggerRect","left","top","position","anchor","align","height","bottom","width","right","positionChanged","prev","next","Math","abs"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC7BC,SAA2B,EAC3BC,MAAc,EACdC,WAAoB,EACpBC,WAAqB,EACP;EACd,IAAI,CAACA,WAAW,EAAE;AACjB;IACA,OAAO;AAAEC,MAAAA,IAAI,EAAE,CAAC;AAAEC,MAAAA,GAAG,EAAE;KAAG;AAC3B,EAAA;AAEA,EAAA,IAAQC,QAAQ,GAAKN,SAAS,CAAtBM,QAAQ;;AAEhB;AACA;AACA,EAAA,IAAMC,MAAM,GAAGD,QAAQ,KAAK,MAAM,IAAIA,QAAQ,KAAK,OAAO,GAAG,QAAQ,GAAGN,SAAS,CAACQ,KAAK;EAEvF,IAAIH,GAAG,GAAG,CAAC;EACX,IAAID,IAAI,GAAG,CAAC;;AAEZ;AACA,EAAA,QAAQE,QAAQ;AACf,IAAA,KAAK,KAAK;MACTD,GAAG,GAAGF,WAAW,CAACE,GAAG,GAAGH,WAAW,CAACO,MAAM,GAAGR,MAAM;AACnD,MAAA;AACD,IAAA,KAAK,QAAQ;AACZI,MAAAA,GAAG,GAAGF,WAAW,CAACO,MAAM,GAAGT,MAAM;AACjC,MAAA;AACD,IAAA,KAAK,MAAM;MACVG,IAAI,GAAGD,WAAW,CAACC,IAAI,GAAGF,WAAW,CAACS,KAAK,GAAGV,MAAM;AACpD,MAAA;AACD,IAAA,KAAK,OAAO;AACXG,MAAAA,IAAI,GAAGD,WAAW,CAACS,KAAK,GAAGX,MAAM;AACjC,MAAA;AACF;;AAEA;AACA,EAAA,QAAQK,QAAQ;AACf,IAAA,KAAK,KAAK;AACV,IAAA,KAAK,QAAQ;MACZ,IAAIC,MAAM,KAAK,OAAO,EAAE;QACvBH,IAAI,GAAGD,WAAW,CAACC,IAAI;AACxB,MAAA,CAAC,MAAM,IAAIG,MAAM,KAAK,QAAQ,EAAE;AAC/BH,QAAAA,IAAI,GAAGD,WAAW,CAACC,IAAI,GAAG,CAACD,WAAW,CAACQ,KAAK,GAAGT,WAAW,CAACS,KAAK,IAAI,CAAC;AACtE,MAAA,CAAC,MAAM,IAAIJ,MAAM,KAAK,KAAK,EAAE;AAC5BH,QAAAA,IAAI,GAAGD,WAAW,CAACS,KAAK,GAAGV,WAAW,CAACS,KAAK;AAC7C,MAAA;AACA,MAAA;AAED,IAAA,KAAK,MAAM;AACX,IAAA,KAAK,OAAO;AACX;AACAN,MAAAA,GAAG,GAAGF,WAAW,CAACE,GAAG,GAAG,CAACF,WAAW,CAACM,MAAM,GAAGP,WAAW,CAACO,MAAM,IAAI,CAAC;AACrE,MAAA;AACF;EAEA,OAAO;AAAEL,IAAAA,IAAI,EAAJA,IAAI;AAAEC,IAAAA,GAAG,EAAHA;GAAK;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMQ,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAa,EAAEC,IAAa,EAAc;AACzE,EAAA,OAAOC,IAAI,CAACC,GAAG,CAACH,IAAI,CAACT,GAAG,GAAGU,IAAI,CAACV,GAAG,CAAC,GAAG,GAAG,IAAIW,IAAI,CAACC,GAAG,CAACH,IAAI,CAACV,IAAI,GAAGW,IAAI,CAACX,IAAI,CAAC,GAAG,GAAG;AACpF;;;;"}
1
+ {"version":3,"file":"utilities.js","sources":["../../../../../src/components/tooltip/useTooltipPosition/utilities.ts"],"sourcesContent":["import { TooltipPlacement, Position } from './constants';\n\n/**\n * Calculates the position of an element (e.g., a tooltip or menu) based on alignment and offset.\n *\n * @param alignment - Object containing position ('top', 'bottom', 'left', 'right') and anchor ('start', 'center', 'end').\n * @param offset - Number of pixels to offset the positioned element.\n * @param elementRect - Bounding rect of the element being positioned.\n * @param triggerRect - Bounding rect of the trigger element.\n * @returns {Position} An object with `left` and `top` coordinates for the element (keys sorted alphabetically).\n */\nexport const calculatePosition = (\n\talignment: TooltipPlacement,\n\toffset: number,\n\telementRect: DOMRect,\n\ttriggerRect?: DOMRect\n): Position => {\n\tif (!triggerRect) {\n\t\t// fallback to (0,0) if no trigger is available\n\t\treturn { left: 0, top: 0 };\n\t}\n\n\tconst { position } = alignment;\n\n\t// For left/right positioned tooltips or menus, always center align vertically\n\t// regardless of the provided `align` value\n\tconst anchor = position === 'left' || position === 'right' ? 'center' : alignment.align;\n\n\tlet top = 0;\n\tlet left = 0;\n\n\t// Primary positioning based on side\n\tswitch (position) {\n\t\tcase 'top':\n\t\t\ttop = triggerRect.top - elementRect.height - offset;\n\t\t\tbreak;\n\t\tcase 'bottom':\n\t\t\ttop = triggerRect.bottom + offset;\n\t\t\tbreak;\n\t\tcase 'left':\n\t\t\tleft = triggerRect.left - elementRect.width - offset;\n\t\t\tbreak;\n\t\tcase 'right':\n\t\t\tleft = triggerRect.right + offset;\n\t\t\tbreak;\n\t}\n\n\t// Secondary alignment\n\tswitch (position) {\n\t\tcase 'top':\n\t\tcase 'bottom':\n\t\t\tif (anchor === 'start') {\n\t\t\t\tleft = triggerRect.left;\n\t\t\t} else if (anchor === 'center') {\n\t\t\t\tleft = triggerRect.left + (triggerRect.width - elementRect.width) / 2;\n\t\t\t} else if (anchor === 'end') {\n\t\t\t\tleft = triggerRect.right - elementRect.width;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'left':\n\t\tcase 'right':\n\t\t\t// forced to center alignment vertically\n\t\t\ttop = triggerRect.top + (triggerRect.height - elementRect.height) / 2;\n\t\t\tbreak;\n\t}\n\n\treturn { left, top };\n};\n\n/**\n * Determines if the position of an element has changed significantly.\n *\n * @param prev - The previous bounding rectangle of the element.\n * @param next - The current bounding rectangle of the element.\n * @returns {boolean} True if the position has changed by more than 0.5 pixels, false otherwise.\n */\nexport const positionChanged = (prev: DOMRect, next: DOMRect): boolean => {\n\treturn Math.abs(prev.top - next.top) > 0.5 || Math.abs(prev.left - next.left) > 0.5;\n};\n"],"names":["calculatePosition","alignment","offset","elementRect","triggerRect","left","top","position","anchor","align","height","bottom","width","right","positionChanged","prev","next","Math","abs"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,iBAAiB,GAAGA,CAChCC,SAA2B,EAC3BC,MAAc,EACdC,WAAoB,EACpBC,WAAqB,KACP;EACd,IAAI,CAACA,WAAW,EAAE;AACjB;IACA,OAAO;AAAEC,MAAAA,IAAI,EAAE,CAAC;AAAEC,MAAAA,GAAG,EAAE;KAAG;AAC3B,EAAA;AAEA,EAAA,IAAQC,QAAQ,GAAKN,SAAS,CAAtBM,QAAQ;;AAEhB;AACA;AACA,EAAA,IAAMC,MAAM,GAAGD,QAAQ,KAAK,MAAM,IAAIA,QAAQ,KAAK,OAAO,GAAG,QAAQ,GAAGN,SAAS,CAACQ,KAAK;EAEvF,IAAIH,GAAG,GAAG,CAAC;EACX,IAAID,IAAI,GAAG,CAAC;;AAEZ;AACA,EAAA,QAAQE,QAAQ;AACf,IAAA,KAAK,KAAK;MACTD,GAAG,GAAGF,WAAW,CAACE,GAAG,GAAGH,WAAW,CAACO,MAAM,GAAGR,MAAM;AACnD,MAAA;AACD,IAAA,KAAK,QAAQ;AACZI,MAAAA,GAAG,GAAGF,WAAW,CAACO,MAAM,GAAGT,MAAM;AACjC,MAAA;AACD,IAAA,KAAK,MAAM;MACVG,IAAI,GAAGD,WAAW,CAACC,IAAI,GAAGF,WAAW,CAACS,KAAK,GAAGV,MAAM;AACpD,MAAA;AACD,IAAA,KAAK,OAAO;AACXG,MAAAA,IAAI,GAAGD,WAAW,CAACS,KAAK,GAAGX,MAAM;AACjC,MAAA;AACF;;AAEA;AACA,EAAA,QAAQK,QAAQ;AACf,IAAA,KAAK,KAAK;AACV,IAAA,KAAK,QAAQ;MACZ,IAAIC,MAAM,KAAK,OAAO,EAAE;QACvBH,IAAI,GAAGD,WAAW,CAACC,IAAI;AACxB,MAAA,CAAC,MAAM,IAAIG,MAAM,KAAK,QAAQ,EAAE;AAC/BH,QAAAA,IAAI,GAAGD,WAAW,CAACC,IAAI,GAAG,CAACD,WAAW,CAACQ,KAAK,GAAGT,WAAW,CAACS,KAAK,IAAI,CAAC;AACtE,MAAA,CAAC,MAAM,IAAIJ,MAAM,KAAK,KAAK,EAAE;AAC5BH,QAAAA,IAAI,GAAGD,WAAW,CAACS,KAAK,GAAGV,WAAW,CAACS,KAAK;AAC7C,MAAA;AACA,MAAA;AAED,IAAA,KAAK,MAAM;AACX,IAAA,KAAK,OAAO;AACX;AACAN,MAAAA,GAAG,GAAGF,WAAW,CAACE,GAAG,GAAG,CAACF,WAAW,CAACM,MAAM,GAAGP,WAAW,CAACO,MAAM,IAAI,CAAC;AACrE,MAAA;AACF;EAEA,OAAO;IAAEL,IAAI;AAAEC,IAAAA;GAAK;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;IACaQ,eAAe,GAAGA,CAACC,IAAa,EAAEC,IAAa,KAAc;AACzE,EAAA,OAAOC,IAAI,CAACC,GAAG,CAACH,IAAI,CAACT,GAAG,GAAGU,IAAI,CAACV,GAAG,CAAC,GAAG,GAAG,IAAIW,IAAI,CAACC,GAAG,CAACH,IAAI,CAACV,IAAI,GAAGW,IAAI,CAACX,IAAI,CAAC,GAAG,GAAG;AACpF;;;;"}
@@ -7,11 +7,11 @@
7
7
  * @returns {T} A function that, when invoked, calls both the original event handler (if it exists) and the new event handler.
8
8
  */
9
9
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
- var curryHandlers = function curryHandlers(ogFunc, newFunc) {
10
+ var curryHandlers = (ogFunc, newFunc) => {
11
11
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
12
  return function () {
13
- if (ogFunc) ogFunc.apply(void 0, arguments);
14
- newFunc.apply(void 0, arguments);
13
+ if (ogFunc) ogFunc(...arguments);
14
+ newFunc(...arguments);
15
15
  };
16
16
  };
17
17
 
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/components/tooltip/utils.ts"],"sourcesContent":["/**\n * Currying function to combine handlers from the parent and child components\n *\n * @template T - The type of the event handlers.\n * @param {T | undefined} ogFunc - The original event handler. This parameter can be undefined.\n * @param {T} newFunc - The new event handler.\n * @returns {T} A function that, when invoked, calls both the original event handler (if it exists) and the new event handler.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const curryHandlers = <T extends (...args: any[]) => void>(\n\togFunc: T | undefined,\n\tnewFunc: T\n): T => {\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\treturn ((...args: any[]) => {\n\t\tif (ogFunc) ogFunc(...args);\n\t\tnewFunc(...args);\n\t}) as T;\n};\n"],"names":["curryHandlers","ogFunc","newFunc","apply","arguments"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CACzBC,MAAqB,EACrBC,OAAU,EACH;AACP;AACA,EAAA,OAAQ,YAAoB;AAC3B,IAAA,IAAID,MAAM,EAAEA,MAAM,CAAAE,KAAA,CAAA,MAAA,EAAAC,SAAQ,CAAC;AAC3BF,IAAAA,OAAO,CAAAC,KAAA,CAAA,MAAA,EAAAC,SAAQ,CAAC;EACjB,CAAC;AACF;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/components/tooltip/utils.ts"],"sourcesContent":["/**\n * Currying function to combine handlers from the parent and child components\n *\n * @template T - The type of the event handlers.\n * @param {T | undefined} ogFunc - The original event handler. This parameter can be undefined.\n * @param {T} newFunc - The new event handler.\n * @returns {T} A function that, when invoked, calls both the original event handler (if it exists) and the new event handler.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const curryHandlers = <T extends (...args: any[]) => void>(\n\togFunc: T | undefined,\n\tnewFunc: T\n): T => {\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\treturn ((...args: any[]) => {\n\t\tif (ogFunc) ogFunc(...args);\n\t\tnewFunc(...args);\n\t}) as T;\n};\n"],"names":["curryHandlers","ogFunc","newFunc","arguments"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,aAAa,GAAGA,CAC5BC,MAAqB,EACrBC,OAAU,KACH;AACP;AACA,EAAA,OAAQ,YAAoB;AAC3B,IAAA,IAAID,MAAM,EAAEA,MAAM,CAAC,GAAAE,SAAO,CAAC;IAC3BD,OAAO,CAAC,GAAAC,SAAO,CAAC;EACjB,CAAC;AACF;;;;"}
@@ -18,7 +18,7 @@ var useAutoClose = function useAutoClose() {
18
18
  closed = _React$useState2[0],
19
19
  setClosed = _React$useState2[1];
20
20
  var currentTimeout = React.useRef(null);
21
- React.useEffect(function () {
21
+ React.useEffect(() => {
22
22
  // Reset current timeout when component mounts or when notification changes
23
23
  if (currentTimeout.current) {
24
24
  resetTimeout();
@@ -29,21 +29,21 @@ var useAutoClose = function useAutoClose() {
29
29
  // toast will not close automatically.
30
30
  if (shouldAutoClose) {
31
31
  setClosed(false);
32
- currentTimeout.current = setTimeout(function () {
32
+ currentTimeout.current = setTimeout(() => {
33
33
  setClosed(true);
34
34
 
35
35
  // Handle onClose after the timeout is elapsed
36
36
  if (onClose) onClose();
37
37
  }, closeAfterMs);
38
38
  }
39
- return function () {
39
+ return () => {
40
40
  // Clear timeout when component unmounts
41
41
  resetTimeout();
42
42
  };
43
43
  }, [shouldAutoClose, closeAfterMs, onClose]);
44
44
 
45
45
  /** Resets the current timeout and `closed` to its initial value */
46
- var resetTimeout = function resetTimeout() {
46
+ var resetTimeout = () => {
47
47
  if (currentTimeout.current !== null) {
48
48
  clearTimeout(currentTimeout.current);
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoClose.js","sources":["../../../../src/hooks/useAutoClose/useAutoClose.ts"],"sourcesContent":["import * as React from 'react';\n\nexport type useAutoClose = (\n\tshouldAutoClose?: boolean,\n\tcloseAfterMs?: number,\n\tonClose?: () => unknown\n) => [boolean, React.Dispatch<React.SetStateAction<boolean>>];\n\n/**\n * Hook that exposes a piece of state that allows components to close themselves after a delay\n *\n * @param shouldAutoClose - When false prevents automated close (e.g. can be used to prevent auto-dismissal of interactive elements, an accessibility anti-pattern)\n * @param closeAfterMs - Delay in milliseconds before the component closes\n * @param onClose - Callback to be called when component closes\n * @returns [closed, setClosed] - a boolean tracking closed state, and a setter for that same state\n */\nexport const useAutoClose: useAutoClose = function (\n\tshouldAutoClose = true,\n\tcloseAfterMs = 3000,\n\tonClose\n) {\n\tconst [closed, setClosed] = React.useState<boolean>(false);\n\tconst currentTimeout = React.useRef<NodeJS.Timeout | null>(null);\n\n\tReact.useEffect(() => {\n\t\t// Reset current timeout when component mounts or when notification changes\n\t\tif (currentTimeout.current) {\n\t\t\tresetTimeout();\n\t\t}\n\n\t\t// Allowing autoClose when there are interactive elements in the toast is an anti-pattern\n\t\t// and should be avoided. If autoClose is set to true and interactive elements exist, the\n\t\t// toast will not close automatically.\n\t\tif (shouldAutoClose) {\n\t\t\tsetClosed(false);\n\n\t\t\tcurrentTimeout.current = setTimeout(() => {\n\t\t\t\tsetClosed(true);\n\n\t\t\t\t// Handle onClose after the timeout is elapsed\n\t\t\t\tif (onClose) onClose();\n\t\t\t}, closeAfterMs);\n\t\t}\n\n\t\treturn () => {\n\t\t\t// Clear timeout when component unmounts\n\t\t\tresetTimeout();\n\t\t};\n\t}, [shouldAutoClose, closeAfterMs, onClose]);\n\n\t/** Resets the current timeout and `closed` to its initial value */\n\tconst resetTimeout = (): void => {\n\t\tif (currentTimeout.current !== null) {\n\t\t\tclearTimeout(currentTimeout.current);\n\t\t}\n\t\tsetClosed(false);\n\t};\n\n\treturn [closed, setClosed];\n};\n"],"names":["useAutoClose","shouldAutoClose","arguments","length","undefined","closeAfterMs","onClose","_React$useState","React","useState","_React$useState2","_slicedToArray","closed","setClosed","currentTimeout","useRef","useEffect","current","resetTimeout","setTimeout","clearTimeout"],"mappings":";;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,YAA0B,GAAG,SAA7BA,YAA0BA,GAIrC;AAAA,EAAA,IAHDC,eAAe,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;AAAA,EAAA,IACtBG,YAAY,GAAAH,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;EAAA,IACnBI,OAAO,GAAAJ,SAAA,CAAAC,MAAA,GAAA,CAAA,GAAAD,SAAA,MAAAE,SAAA;AAEP,EAAA,IAAAG,eAAA,GAA4BC,KAAK,CAACC,QAAQ,CAAU,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAJ,eAAA,EAAA,CAAA,CAAA;AAAnDK,IAAAA,MAAM,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,SAAS,GAAAH,gBAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAMI,cAAc,GAAGN,KAAK,CAACO,MAAM,CAAwB,IAAI,CAAC;EAEhEP,KAAK,CAACQ,SAAS,CAAC,YAAM;AACrB;IACA,IAAIF,cAAc,CAACG,OAAO,EAAE;AAC3BC,MAAAA,YAAY,EAAE;AACf,IAAA;;AAEA;AACA;AACA;AACA,IAAA,IAAIjB,eAAe,EAAE;MACpBY,SAAS,CAAC,KAAK,CAAC;AAEhBC,MAAAA,cAAc,CAACG,OAAO,GAAGE,UAAU,CAAC,YAAM;QACzCN,SAAS,CAAC,IAAI,CAAC;;AAEf;AACA,QAAA,IAAIP,OAAO,EAAEA,OAAO,EAAE;MACvB,CAAC,EAAED,YAAY,CAAC;AACjB,IAAA;AAEA,IAAA,OAAO,YAAM;AACZ;AACAa,MAAAA,YAAY,EAAE;IACf,CAAC;EACF,CAAC,EAAE,CAACjB,eAAe,EAAEI,YAAY,EAAEC,OAAO,CAAC,CAAC;;AAE5C;AACA,EAAA,IAAMY,YAAY,GAAG,SAAfA,YAAYA,GAAe;AAChC,IAAA,IAAIJ,cAAc,CAACG,OAAO,KAAK,IAAI,EAAE;AACpCG,MAAAA,YAAY,CAACN,cAAc,CAACG,OAAO,CAAC;AACrC,IAAA;IACAJ,SAAS,CAAC,KAAK,CAAC;EACjB,CAAC;AAED,EAAA,OAAO,CAACD,MAAM,EAAEC,SAAS,CAAC;AAC3B;;;;"}
1
+ {"version":3,"file":"useAutoClose.js","sources":["../../../../src/hooks/useAutoClose/useAutoClose.ts"],"sourcesContent":["import * as React from 'react';\n\nexport type useAutoClose = (\n\tshouldAutoClose?: boolean,\n\tcloseAfterMs?: number,\n\tonClose?: () => unknown\n) => [boolean, React.Dispatch<React.SetStateAction<boolean>>];\n\n/**\n * Hook that exposes a piece of state that allows components to close themselves after a delay\n *\n * @param shouldAutoClose - When false prevents automated close (e.g. can be used to prevent auto-dismissal of interactive elements, an accessibility anti-pattern)\n * @param closeAfterMs - Delay in milliseconds before the component closes\n * @param onClose - Callback to be called when component closes\n * @returns [closed, setClosed] - a boolean tracking closed state, and a setter for that same state\n */\nexport const useAutoClose: useAutoClose = function (\n\tshouldAutoClose = true,\n\tcloseAfterMs = 3000,\n\tonClose\n) {\n\tconst [closed, setClosed] = React.useState<boolean>(false);\n\tconst currentTimeout = React.useRef<NodeJS.Timeout | null>(null);\n\n\tReact.useEffect(() => {\n\t\t// Reset current timeout when component mounts or when notification changes\n\t\tif (currentTimeout.current) {\n\t\t\tresetTimeout();\n\t\t}\n\n\t\t// Allowing autoClose when there are interactive elements in the toast is an anti-pattern\n\t\t// and should be avoided. If autoClose is set to true and interactive elements exist, the\n\t\t// toast will not close automatically.\n\t\tif (shouldAutoClose) {\n\t\t\tsetClosed(false);\n\n\t\t\tcurrentTimeout.current = setTimeout(() => {\n\t\t\t\tsetClosed(true);\n\n\t\t\t\t// Handle onClose after the timeout is elapsed\n\t\t\t\tif (onClose) onClose();\n\t\t\t}, closeAfterMs);\n\t\t}\n\n\t\treturn () => {\n\t\t\t// Clear timeout when component unmounts\n\t\t\tresetTimeout();\n\t\t};\n\t}, [shouldAutoClose, closeAfterMs, onClose]);\n\n\t/** Resets the current timeout and `closed` to its initial value */\n\tconst resetTimeout = (): void => {\n\t\tif (currentTimeout.current !== null) {\n\t\t\tclearTimeout(currentTimeout.current);\n\t\t}\n\t\tsetClosed(false);\n\t};\n\n\treturn [closed, setClosed];\n};\n"],"names":["useAutoClose","shouldAutoClose","arguments","length","undefined","closeAfterMs","onClose","_React$useState","React","useState","_React$useState2","_slicedToArray","closed","setClosed","currentTimeout","useRef","useEffect","current","resetTimeout","setTimeout","clearTimeout"],"mappings":";;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,YAA0B,GAAG,SAA7BA,YAA0BA,GAIrC;AAAA,EAAA,IAHDC,eAAe,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;AAAA,EAAA,IACtBG,YAAY,GAAAH,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;EAAA,IACnBI,OAAO,GAAAJ,SAAA,CAAAC,MAAA,GAAA,CAAA,GAAAD,SAAA,MAAAE,SAAA;AAEP,EAAA,IAAAG,eAAA,GAA4BC,KAAK,CAACC,QAAQ,CAAU,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAJ,eAAA,EAAA,CAAA,CAAA;AAAnDK,IAAAA,MAAM,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,SAAS,GAAAH,gBAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAMI,cAAc,GAAGN,KAAK,CAACO,MAAM,CAAwB,IAAI,CAAC;EAEhEP,KAAK,CAACQ,SAAS,CAAC,MAAM;AACrB;IACA,IAAIF,cAAc,CAACG,OAAO,EAAE;AAC3BC,MAAAA,YAAY,EAAE;AACf,IAAA;;AAEA;AACA;AACA;AACA,IAAA,IAAIjB,eAAe,EAAE;MACpBY,SAAS,CAAC,KAAK,CAAC;AAEhBC,MAAAA,cAAc,CAACG,OAAO,GAAGE,UAAU,CAAC,MAAM;QACzCN,SAAS,CAAC,IAAI,CAAC;;AAEf;AACA,QAAA,IAAIP,OAAO,EAAEA,OAAO,EAAE;MACvB,CAAC,EAAED,YAAY,CAAC;AACjB,IAAA;AAEA,IAAA,OAAO,MAAM;AACZ;AACAa,MAAAA,YAAY,EAAE;IACf,CAAC;EACF,CAAC,EAAE,CAACjB,eAAe,EAAEI,YAAY,EAAEC,OAAO,CAAC,CAAC;;AAE5C;EACA,IAAMY,YAAY,GAAGA,MAAY;AAChC,IAAA,IAAIJ,cAAc,CAACG,OAAO,KAAK,IAAI,EAAE;AACpCG,MAAAA,YAAY,CAACN,cAAc,CAACG,OAAO,CAAC;AACrC,IAAA;IACAJ,SAAS,CAAC,KAAK,CAAC;EACjB,CAAC;AAED,EAAA,OAAO,CAACD,MAAM,EAAEC,SAAS,CAAC;AAC3B;;;;"}
@@ -32,7 +32,7 @@ function getBreakpoint(width) {
32
32
  *
33
33
  * @returns {keyof Breakpoints} - the current breakpoint
34
34
  */
35
- var useBreakpoint = function useBreakpoint() {
35
+ var useBreakpoint = () => {
36
36
  var initialBreakpoint = getBreakpoint(window.innerWidth);
37
37
  var _useState = useState(initialBreakpoint),
38
38
  _useState2 = _slicedToArray(_useState, 2),
@@ -46,11 +46,11 @@ var useBreakpoint = function useBreakpoint() {
46
46
  instance: new FrameDebounce()
47
47
  };
48
48
  }
49
- useLayoutEffect(function () {
49
+ useLayoutEffect(() => {
50
50
  // setup event listeners
51
- var handleResize = function handleResize() {
51
+ var handleResize = () => {
52
52
  var _resizeObserverRef$cu;
53
- resizeObserverRef === null || resizeObserverRef === void 0 ? void 0 : (_resizeObserverRef$cu = resizeObserverRef.current) === null || _resizeObserverRef$cu === void 0 ? void 0 : _resizeObserverRef$cu.instance.debounce(function () {
53
+ resizeObserverRef === null || resizeObserverRef === void 0 ? void 0 : (_resizeObserverRef$cu = resizeObserverRef.current) === null || _resizeObserverRef$cu === void 0 ? void 0 : _resizeObserverRef$cu.instance.debounce(() => {
54
54
  var breakpoint = getBreakpoint(window.innerWidth);
55
55
  setCurrentBreakpoint(breakpoint);
56
56
  });
@@ -58,7 +58,7 @@ var useBreakpoint = function useBreakpoint() {
58
58
  window.addEventListener('resize', handleResize);
59
59
 
60
60
  // clean it up
61
- return function () {
61
+ return () => {
62
62
  var _resizeObserverRef$cu2;
63
63
  window.removeEventListener('resize', handleResize);
64
64
  resizeObserverRef === null || resizeObserverRef === void 0 ? void 0 : (_resizeObserverRef$cu2 = resizeObserverRef.current) === null || _resizeObserverRef$cu2 === void 0 ? void 0 : _resizeObserverRef$cu2.instance.cancel();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/hooks/useBreakpoint/index.ts"],"sourcesContent":["/* eslint-disable sort-keys */\nimport { useState, useRef, useLayoutEffect } from 'react';\nimport { FrameDebounce, FrameDebounceType } from '../../utils/frameDebounce';\n\ntype Breakpoints = {\n\txs: number;\n\tsm: number;\n\tmd: number;\n\tlg: number;\n\txl: number;\n\txxl: number;\n};\n\nconst gridBreakpoints: Breakpoints = {\n\txs: 0,\n\tsm: 600,\n\tmd: 834,\n\tlg: 1024,\n\txl: 1280,\n\txxl: 1440\n};\n\n/**\n * Gets a breakpoint based on the width\n *\n * @param width - The width to determine the breakpoint\n * @returns {keyof Breakpoints} - the current breakpoint\n */\nfunction getBreakpoint(width: number): keyof Breakpoints {\n\tlet currentBreakpoint: keyof Breakpoints = 'xs';\n\n\tfor (const breakpoint in gridBreakpoints) {\n\t\tif (width >= gridBreakpoints[breakpoint as keyof Breakpoints]) {\n\t\t\tcurrentBreakpoint = breakpoint as keyof Breakpoints;\n\t\t}\n\t}\n\n\treturn currentBreakpoint;\n}\n\n/**\n * React Hook to return the current breakpoint\n *\n * @returns {keyof Breakpoints} - the current breakpoint\n */\nexport const useBreakpoint = (): keyof Breakpoints => {\n\tconst initialBreakpoint = getBreakpoint(window.innerWidth);\n\tconst [currentBreakpoint, setCurrentBreakpoint] = useState<keyof Breakpoints>(initialBreakpoint);\n\n\t//create a single ref for us to store a FrameDebounce.\n\tconst resizeObserverRef = useRef<{\n\t\tinstance: FrameDebounceType;\n\t}>();\n\n\tif (!resizeObserverRef.current) {\n\t\tresizeObserverRef.current = {\n\t\t\tinstance: new FrameDebounce()\n\t\t};\n\t}\n\n\tuseLayoutEffect(() => {\n\t\t// setup event listeners\n\t\tconst handleResize = () => {\n\t\t\tresizeObserverRef?.current?.instance.debounce(() => {\n\t\t\t\tconst breakpoint = getBreakpoint(window.innerWidth);\n\t\t\t\tsetCurrentBreakpoint(breakpoint);\n\t\t\t});\n\t\t};\n\n\t\twindow.addEventListener('resize', handleResize);\n\n\t\t// clean it up\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', handleResize);\n\t\t\tresizeObserverRef?.current?.instance.cancel();\n\t\t};\n\t}, []);\n\n\treturn currentBreakpoint;\n};\n\nexport default useBreakpoint;\n"],"names":["gridBreakpoints","xs","sm","md","lg","xl","xxl","getBreakpoint","width","currentBreakpoint","breakpoint","useBreakpoint","initialBreakpoint","window","innerWidth","_useState","useState","_useState2","_slicedToArray","setCurrentBreakpoint","resizeObserverRef","useRef","current","instance","FrameDebounce","useLayoutEffect","handleResize","_resizeObserverRef$cu","debounce","addEventListener","_resizeObserverRef$cu2","removeEventListener","cancel"],"mappings":";;;;AAaA,IAAMA,eAA4B,GAAG;AACpCC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,GAAG;AACPC,EAAAA,EAAE,EAAE,GAAG;AACPC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,GAAG,EAAE;AACN,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,aAAaA,CAACC,KAAa,EAAqB;EACxD,IAAIC,iBAAoC,GAAG,IAAI;AAE/C,EAAA,KAAK,IAAMC,UAAU,IAAIV,eAAe,EAAE;AACzC,IAAA,IAAIQ,KAAK,IAAIR,eAAe,CAACU,UAAU,CAAsB,EAAE;AAC9DD,MAAAA,iBAAiB,GAAGC,UAA+B;AACpD,IAAA;AACD,EAAA;AAEA,EAAA,OAAOD,iBAAiB;AACzB;;AAEA;AACA;AACA;AACA;AACA;IACaE,aAAa,GAAG,SAAhBA,aAAaA,GAA4B;AACrD,EAAA,IAAMC,iBAAiB,GAAGL,aAAa,CAACM,MAAM,CAACC,UAAU,CAAC;AAC1D,EAAA,IAAAC,SAAA,GAAkDC,QAAQ,CAAoBJ,iBAAiB,CAAC;IAAAK,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzFN,IAAAA,iBAAiB,GAAAQ,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA;;AAE9C;AACA,EAAA,IAAMG,iBAAiB,GAAGC,MAAM,EAE5B;AAEJ,EAAA,IAAI,CAACD,iBAAiB,CAACE,OAAO,EAAE;IAC/BF,iBAAiB,CAACE,OAAO,GAAG;MAC3BC,QAAQ,EAAE,IAAIC,aAAa;KAC3B;AACF,EAAA;AAEAC,EAAAA,eAAe,CAAC,YAAM;AACrB;AACA,IAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAS;AAAA,MAAA,IAAAC,qBAAA;AAC1BP,MAAAA,iBAAiB,aAAjBA,iBAAiB,KAAA,MAAA,GAAA,MAAA,GAAA,CAAAO,qBAAA,GAAjBP,iBAAiB,CAAEE,OAAO,MAAA,IAAA,IAAAK,qBAAA,uBAA1BA,qBAAA,CAA4BJ,QAAQ,CAACK,QAAQ,CAAC,YAAM;AACnD,QAAA,IAAMlB,UAAU,GAAGH,aAAa,CAACM,MAAM,CAACC,UAAU,CAAC;QACnDK,oBAAoB,CAACT,UAAU,CAAC;AACjC,MAAA,CAAC,CAAC;IACH,CAAC;AAEDG,IAAAA,MAAM,CAACgB,gBAAgB,CAAC,QAAQ,EAAEH,YAAY,CAAC;;AAE/C;AACA,IAAA,OAAO,YAAM;AAAA,MAAA,IAAAI,sBAAA;AACZjB,MAAAA,MAAM,CAACkB,mBAAmB,CAAC,QAAQ,EAAEL,YAAY,CAAC;AAClDN,MAAAA,iBAAiB,aAAjBA,iBAAiB,KAAA,MAAA,GAAA,MAAA,GAAA,CAAAU,sBAAA,GAAjBV,iBAAiB,CAAEE,OAAO,MAAA,IAAA,IAAAQ,sBAAA,uBAA1BA,sBAAA,CAA4BP,QAAQ,CAACS,MAAM,EAAE;IAC9C,CAAC;EACF,CAAC,EAAE,EAAE,CAAC;AAEN,EAAA,OAAOvB,iBAAiB;AACzB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/hooks/useBreakpoint/index.ts"],"sourcesContent":["/* eslint-disable sort-keys */\nimport { useState, useRef, useLayoutEffect } from 'react';\nimport { FrameDebounce, FrameDebounceType } from '../../utils/frameDebounce';\n\ntype Breakpoints = {\n\txs: number;\n\tsm: number;\n\tmd: number;\n\tlg: number;\n\txl: number;\n\txxl: number;\n};\n\nconst gridBreakpoints: Breakpoints = {\n\txs: 0,\n\tsm: 600,\n\tmd: 834,\n\tlg: 1024,\n\txl: 1280,\n\txxl: 1440\n};\n\n/**\n * Gets a breakpoint based on the width\n *\n * @param width - The width to determine the breakpoint\n * @returns {keyof Breakpoints} - the current breakpoint\n */\nfunction getBreakpoint(width: number): keyof Breakpoints {\n\tlet currentBreakpoint: keyof Breakpoints = 'xs';\n\n\tfor (const breakpoint in gridBreakpoints) {\n\t\tif (width >= gridBreakpoints[breakpoint as keyof Breakpoints]) {\n\t\t\tcurrentBreakpoint = breakpoint as keyof Breakpoints;\n\t\t}\n\t}\n\n\treturn currentBreakpoint;\n}\n\n/**\n * React Hook to return the current breakpoint\n *\n * @returns {keyof Breakpoints} - the current breakpoint\n */\nexport const useBreakpoint = (): keyof Breakpoints => {\n\tconst initialBreakpoint = getBreakpoint(window.innerWidth);\n\tconst [currentBreakpoint, setCurrentBreakpoint] = useState<keyof Breakpoints>(initialBreakpoint);\n\n\t//create a single ref for us to store a FrameDebounce.\n\tconst resizeObserverRef = useRef<{\n\t\tinstance: FrameDebounceType;\n\t}>();\n\n\tif (!resizeObserverRef.current) {\n\t\tresizeObserverRef.current = {\n\t\t\tinstance: new FrameDebounce()\n\t\t};\n\t}\n\n\tuseLayoutEffect(() => {\n\t\t// setup event listeners\n\t\tconst handleResize = () => {\n\t\t\tresizeObserverRef?.current?.instance.debounce(() => {\n\t\t\t\tconst breakpoint = getBreakpoint(window.innerWidth);\n\t\t\t\tsetCurrentBreakpoint(breakpoint);\n\t\t\t});\n\t\t};\n\n\t\twindow.addEventListener('resize', handleResize);\n\n\t\t// clean it up\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', handleResize);\n\t\t\tresizeObserverRef?.current?.instance.cancel();\n\t\t};\n\t}, []);\n\n\treturn currentBreakpoint;\n};\n\nexport default useBreakpoint;\n"],"names":["gridBreakpoints","xs","sm","md","lg","xl","xxl","getBreakpoint","width","currentBreakpoint","breakpoint","useBreakpoint","initialBreakpoint","window","innerWidth","_useState","useState","_useState2","_slicedToArray","setCurrentBreakpoint","resizeObserverRef","useRef","current","instance","FrameDebounce","useLayoutEffect","handleResize","_resizeObserverRef$cu","debounce","addEventListener","_resizeObserverRef$cu2","removeEventListener","cancel"],"mappings":";;;;AAaA,IAAMA,eAA4B,GAAG;AACpCC,EAAAA,EAAE,EAAE,CAAC;AACLC,EAAAA,EAAE,EAAE,GAAG;AACPC,EAAAA,EAAE,EAAE,GAAG;AACPC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,GAAG,EAAE;AACN,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,aAAaA,CAACC,KAAa,EAAqB;EACxD,IAAIC,iBAAoC,GAAG,IAAI;AAE/C,EAAA,KAAK,IAAMC,UAAU,IAAIV,eAAe,EAAE;AACzC,IAAA,IAAIQ,KAAK,IAAIR,eAAe,CAACU,UAAU,CAAsB,EAAE;AAC9DD,MAAAA,iBAAiB,GAAGC,UAA+B;AACpD,IAAA;AACD,EAAA;AAEA,EAAA,OAAOD,iBAAiB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAME,aAAa,GAAGA,MAAyB;AACrD,EAAA,IAAMC,iBAAiB,GAAGL,aAAa,CAACM,MAAM,CAACC,UAAU,CAAC;AAC1D,EAAA,IAAAC,SAAA,GAAkDC,QAAQ,CAAoBJ,iBAAiB,CAAC;IAAAK,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzFN,IAAAA,iBAAiB,GAAAQ,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA;;AAE9C;AACA,EAAA,IAAMG,iBAAiB,GAAGC,MAAM,EAE5B;AAEJ,EAAA,IAAI,CAACD,iBAAiB,CAACE,OAAO,EAAE;IAC/BF,iBAAiB,CAACE,OAAO,GAAG;MAC3BC,QAAQ,EAAE,IAAIC,aAAa;KAC3B;AACF,EAAA;AAEAC,EAAAA,eAAe,CAAC,MAAM;AACrB;IACA,IAAMC,YAAY,GAAGA,MAAM;AAAA,MAAA,IAAAC,qBAAA;AAC1BP,MAAAA,iBAAiB,aAAjBA,iBAAiB,KAAA,MAAA,GAAA,MAAA,GAAA,CAAAO,qBAAA,GAAjBP,iBAAiB,CAAEE,OAAO,MAAA,IAAA,IAAAK,qBAAA,uBAA1BA,qBAAA,CAA4BJ,QAAQ,CAACK,QAAQ,CAAC,MAAM;AACnD,QAAA,IAAMlB,UAAU,GAAGH,aAAa,CAACM,MAAM,CAACC,UAAU,CAAC;QACnDK,oBAAoB,CAACT,UAAU,CAAC;AACjC,MAAA,CAAC,CAAC;IACH,CAAC;AAEDG,IAAAA,MAAM,CAACgB,gBAAgB,CAAC,QAAQ,EAAEH,YAAY,CAAC;;AAE/C;AACA,IAAA,OAAO,MAAM;AAAA,MAAA,IAAAI,sBAAA;AACZjB,MAAAA,MAAM,CAACkB,mBAAmB,CAAC,QAAQ,EAAEL,YAAY,CAAC;AAClDN,MAAAA,iBAAiB,aAAjBA,iBAAiB,KAAA,MAAA,GAAA,MAAA,GAAA,CAAAU,sBAAA,GAAjBV,iBAAiB,CAAEE,OAAO,MAAA,IAAA,IAAAQ,sBAAA,uBAA1BA,sBAAA,CAA4BP,QAAQ,CAACS,MAAM,EAAE;IAC9C,CAAC;EACF,CAAC,EAAE,EAAE,CAAC;AAEN,EAAA,OAAOvB,iBAAiB;AACzB;;;;"}
@@ -15,8 +15,8 @@ var useClickOutside = function useClickOutside(menuRef, triggerRef) {
15
15
  var onOutsideClick = arguments.length > 3 ? arguments[3] : undefined;
16
16
  var disabled = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
17
17
  var excludeSelectors = arguments.length > 5 ? arguments[5] : undefined;
18
- useEffect(function () {
19
- var handleClickOutside = function handleClickOutside(event) {
18
+ useEffect(() => {
19
+ var handleClickOutside = event => {
20
20
  var _excludeSelectors$som;
21
21
  var menuElement = menuRef === null || menuRef === void 0 ? void 0 : menuRef.current;
22
22
  var triggerElement = triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.current;
@@ -28,7 +28,7 @@ var useClickOutside = function useClickOutside(menuRef, triggerRef) {
28
28
  * Check if the event target is within any of the excluded selectors from
29
29
  * the whitelist. If it is, do not call the onOutsideClick function.
30
30
  */
31
- var isExcluded = (_excludeSelectors$som = excludeSelectors === null || excludeSelectors === void 0 ? void 0 : excludeSelectors.some(function (selector) {
31
+ var isExcluded = (_excludeSelectors$som = excludeSelectors === null || excludeSelectors === void 0 ? void 0 : excludeSelectors.some(selector => {
32
32
  var _event$target;
33
33
  return (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.closest(selector);
34
34
  })) !== null && _excludeSelectors$som !== void 0 ? _excludeSelectors$som : false;
@@ -37,7 +37,7 @@ var useClickOutside = function useClickOutside(menuRef, triggerRef) {
37
37
  }
38
38
  };
39
39
  document.body.addEventListener(eventType, handleClickOutside);
40
- return function () {
40
+ return () => {
41
41
  document.body.removeEventListener(eventType, handleClickOutside);
42
42
  };
43
43
  }, [menuRef, triggerRef, onOutsideClick, disabled, eventType, excludeSelectors]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/hooks/useClickOutside/index.tsx"],"sourcesContent":["import { useEffect } from 'react';\n\n/**\n * Hook to detect clicks outside of a given DOM element, with an optional exclusion for selectors.\n *\n * @param menuRef - Reference to the DOM element to detect outside clicks for.\n * @param triggerRef - Reference to the DOM element that caused this menu to be shown.\n * @param eventType - Event type to listen for.\n * @param onOutsideClick - Function to call when a click is detected outside the menuRef element.\n * @param disabled - If the hook should be disabled.\n * @param excludeSelectors - Optional array of CSS selectors to exclude from the outside click detection.\n */\nexport const useClickOutside = (\n\tmenuRef: React.RefObject<HTMLElement>,\n\ttriggerRef: React.RefObject<HTMLElement> | undefined,\n\teventType: 'mousedown' | 'mouseup' | 'click' = 'mousedown',\n\tonOutsideClick: () => void,\n\tdisabled = false,\n\texcludeSelectors?: string[]\n): void => {\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tconst menuElement = menuRef?.current;\n\t\t\tconst triggerElement = triggerRef?.current;\n\t\t\tconst target = event.target as Node;\n\n\t\t\tconst isClickMenu = menuElement && menuElement.contains(target);\n\t\t\tconst isClickTrigger = triggerElement && triggerElement.contains(target);\n\n\t\t\t/**\n\t\t\t * Check if the event target is within any of the excluded selectors from\n\t\t\t * the whitelist. If it is, do not call the onOutsideClick function.\n\t\t\t */\n\t\t\tconst isExcluded =\n\t\t\t\texcludeSelectors?.some((selector) => (event.target as HTMLElement)?.closest(selector)) ??\n\t\t\t\tfalse;\n\n\t\t\tif (!disabled && !isClickMenu && !isClickTrigger && !isExcluded) {\n\t\t\t\tonOutsideClick();\n\t\t\t}\n\t\t};\n\n\t\tdocument.body.addEventListener(eventType, handleClickOutside);\n\n\t\treturn () => {\n\t\t\tdocument.body.removeEventListener(eventType, handleClickOutside);\n\t\t};\n\t}, [\nmenuRef,\ntriggerRef,\nonOutsideClick,\ndisabled,\neventType,\nexcludeSelectors\n]);\n};\n"],"names":["useClickOutside","menuRef","triggerRef","eventType","arguments","length","undefined","onOutsideClick","disabled","excludeSelectors","useEffect","handleClickOutside","event","_excludeSelectors$som","menuElement","current","triggerElement","target","isClickMenu","contains","isClickTrigger","isExcluded","some","selector","_event$target","closest","document","body","addEventListener","removeEventListener"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAC3BC,OAAqC,EACrCC,UAAoD,EAK1C;AAAA,EAAA,IAJVC,SAA4C,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,WAAW;EAAA,IAC1DG,cAA0B,GAAAH,SAAA,CAAAC,MAAA,GAAA,CAAA,GAAAD,SAAA,MAAAE,SAAA;AAAA,EAAA,IAC1BE,QAAQ,GAAAJ,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK;EAAA,IAChBK,gBAA2B,GAAAL,SAAA,CAAAC,MAAA,GAAA,CAAA,GAAAD,SAAA,MAAAE,SAAA;AAE3BI,EAAAA,SAAS,CAAC,YAAM;AACf,IAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,KAAiB,EAAK;AAAA,MAAA,IAAAC,qBAAA;MACjD,IAAMC,WAAW,GAAGb,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEc,OAAO;MACpC,IAAMC,cAAc,GAAGd,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAEa,OAAO;AAC1C,MAAA,IAAME,MAAM,GAAGL,KAAK,CAACK,MAAc;MAEnC,IAAMC,WAAW,GAAGJ,WAAW,IAAIA,WAAW,CAACK,QAAQ,CAACF,MAAM,CAAC;MAC/D,IAAMG,cAAc,GAAGJ,cAAc,IAAIA,cAAc,CAACG,QAAQ,CAACF,MAAM,CAAC;;AAExE;AACH;AACA;AACA;AACG,MAAA,IAAMI,UAAU,GAAA,CAAAR,qBAAA,GACfJ,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEa,IAAI,CAAC,UAACC,QAAQ,EAAA;AAAA,QAAA,IAAAC,aAAA;AAAA,QAAA,OAAA,CAAAA,aAAA,GAAMZ,KAAK,CAACK,MAAM,MAAA,IAAA,IAAAO,aAAA,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAA,CAA+BC,OAAO,CAACF,QAAQ,CAAC;AAAA,MAAA,CAAA,CAAC,MAAA,IAAA,IAAAV,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GACtF,KAAK;MAEN,IAAI,CAACL,QAAQ,IAAI,CAACU,WAAW,IAAI,CAACE,cAAc,IAAI,CAACC,UAAU,EAAE;AAChEd,QAAAA,cAAc,EAAE;AACjB,MAAA;IACD,CAAC;IAEDmB,QAAQ,CAACC,IAAI,CAACC,gBAAgB,CAACzB,SAAS,EAAEQ,kBAAkB,CAAC;AAE7D,IAAA,OAAO,YAAM;MACZe,QAAQ,CAACC,IAAI,CAACE,mBAAmB,CAAC1B,SAAS,EAAEQ,kBAAkB,CAAC;IACjE,CAAC;AACF,EAAA,CAAC,EAAE,CACJV,OAAO,EACPC,UAAU,EACVK,cAAc,EACdC,QAAQ,EACRL,SAAS,EACTM,gBAAgB,CACf,CAAC;AACF;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/hooks/useClickOutside/index.tsx"],"sourcesContent":["import { useEffect } from 'react';\n\n/**\n * Hook to detect clicks outside of a given DOM element, with an optional exclusion for selectors.\n *\n * @param menuRef - Reference to the DOM element to detect outside clicks for.\n * @param triggerRef - Reference to the DOM element that caused this menu to be shown.\n * @param eventType - Event type to listen for.\n * @param onOutsideClick - Function to call when a click is detected outside the menuRef element.\n * @param disabled - If the hook should be disabled.\n * @param excludeSelectors - Optional array of CSS selectors to exclude from the outside click detection.\n */\nexport const useClickOutside = (\n\tmenuRef: React.RefObject<HTMLElement>,\n\ttriggerRef: React.RefObject<HTMLElement> | undefined,\n\teventType: 'mousedown' | 'mouseup' | 'click' = 'mousedown',\n\tonOutsideClick: () => void,\n\tdisabled = false,\n\texcludeSelectors?: string[]\n): void => {\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tconst menuElement = menuRef?.current;\n\t\t\tconst triggerElement = triggerRef?.current;\n\t\t\tconst target = event.target as Node;\n\n\t\t\tconst isClickMenu = menuElement && menuElement.contains(target);\n\t\t\tconst isClickTrigger = triggerElement && triggerElement.contains(target);\n\n\t\t\t/**\n\t\t\t * Check if the event target is within any of the excluded selectors from\n\t\t\t * the whitelist. If it is, do not call the onOutsideClick function.\n\t\t\t */\n\t\t\tconst isExcluded =\n\t\t\t\texcludeSelectors?.some((selector) => (event.target as HTMLElement)?.closest(selector)) ??\n\t\t\t\tfalse;\n\n\t\t\tif (!disabled && !isClickMenu && !isClickTrigger && !isExcluded) {\n\t\t\t\tonOutsideClick();\n\t\t\t}\n\t\t};\n\n\t\tdocument.body.addEventListener(eventType, handleClickOutside);\n\n\t\treturn () => {\n\t\t\tdocument.body.removeEventListener(eventType, handleClickOutside);\n\t\t};\n\t}, [\nmenuRef,\ntriggerRef,\nonOutsideClick,\ndisabled,\neventType,\nexcludeSelectors\n]);\n};\n"],"names":["useClickOutside","menuRef","triggerRef","eventType","arguments","length","undefined","onOutsideClick","disabled","excludeSelectors","useEffect","handleClickOutside","event","_excludeSelectors$som","menuElement","current","triggerElement","target","isClickMenu","contains","isClickTrigger","isExcluded","some","selector","_event$target","closest","document","body","addEventListener","removeEventListener"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAC3BC,OAAqC,EACrCC,UAAoD,EAK1C;AAAA,EAAA,IAJVC,SAA4C,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,WAAW;EAAA,IAC1DG,cAA0B,GAAAH,SAAA,CAAAC,MAAA,GAAA,CAAA,GAAAD,SAAA,MAAAE,SAAA;AAAA,EAAA,IAC1BE,QAAQ,GAAAJ,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK;EAAA,IAChBK,gBAA2B,GAAAL,SAAA,CAAAC,MAAA,GAAA,CAAA,GAAAD,SAAA,MAAAE,SAAA;AAE3BI,EAAAA,SAAS,CAAC,MAAM;IACf,IAAMC,kBAAkB,GAAIC,KAAiB,IAAK;AAAA,MAAA,IAAAC,qBAAA;MACjD,IAAMC,WAAW,GAAGb,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEc,OAAO;MACpC,IAAMC,cAAc,GAAGd,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAEa,OAAO;AAC1C,MAAA,IAAME,MAAM,GAAGL,KAAK,CAACK,MAAc;MAEnC,IAAMC,WAAW,GAAGJ,WAAW,IAAIA,WAAW,CAACK,QAAQ,CAACF,MAAM,CAAC;MAC/D,IAAMG,cAAc,GAAGJ,cAAc,IAAIA,cAAc,CAACG,QAAQ,CAACF,MAAM,CAAC;;AAExE;AACH;AACA;AACA;AACG,MAAA,IAAMI,UAAU,GAAA,CAAAR,qBAAA,GACfJ,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEa,IAAI,CAAEC,QAAQ,IAAA;AAAA,QAAA,IAAAC,aAAA;AAAA,QAAA,OAAA,CAAAA,aAAA,GAAMZ,KAAK,CAACK,MAAM,MAAA,IAAA,IAAAO,aAAA,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAA,CAA+BC,OAAO,CAACF,QAAQ,CAAC;AAAA,MAAA,CAAA,CAAC,MAAA,IAAA,IAAAV,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GACtF,KAAK;MAEN,IAAI,CAACL,QAAQ,IAAI,CAACU,WAAW,IAAI,CAACE,cAAc,IAAI,CAACC,UAAU,EAAE;AAChEd,QAAAA,cAAc,EAAE;AACjB,MAAA;IACD,CAAC;IAEDmB,QAAQ,CAACC,IAAI,CAACC,gBAAgB,CAACzB,SAAS,EAAEQ,kBAAkB,CAAC;AAE7D,IAAA,OAAO,MAAM;MACZe,QAAQ,CAACC,IAAI,CAACE,mBAAmB,CAAC1B,SAAS,EAAEQ,kBAAkB,CAAC;IACjE,CAAC;AACF,EAAA,CAAC,EAAE,CACJV,OAAO,EACPC,UAAU,EACVK,cAAc,EACdC,QAAQ,EACRL,SAAS,EACTM,gBAAgB,CACf,CAAC;AACF;;;;"}
@@ -1,4 +1,4 @@
1
- import { slicedToArray as _slicedToArray, createForOfIteratorHelper as _createForOfIteratorHelper, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { useState, useRef, useMemo, useCallback, useLayoutEffect } from 'react';
3
3
  import { FrameDebounce } from '../../utils/frameDebounce/index.js';
4
4
 
@@ -35,41 +35,32 @@ var useCoordinate = function useCoordinate(element) {
35
35
 
36
36
  //getBoundingClientRect() causes a reflow plus other perf issues.
37
37
  // its actually cheaper for the browser to fire intersection observers as we need.
38
- var observer = useMemo(function () {
39
- return new IntersectionObserver(function (entries) {
40
- var _iterator = _createForOfIteratorHelper(entries),
41
- _step;
42
- try {
43
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
44
- var entry = _step.value;
45
- // The `entry.boundingClientRect` is where all the dimensions are stored
46
- var bounds = entry.boundingClientRect.toJSON();
47
- var offsetBounds = _objectSpread2(_objectSpread2({}, bounds), {}, {
48
- left: bounds.left + window.scrollX,
49
- top: bounds.top + window.scrollY
50
- });
51
- setCoordinate(offsetBounds);
52
- }
53
-
54
- // Disconnect the observer to stop from running in the background
55
- } catch (err) {
56
- _iterator.e(err);
57
- } finally {
58
- _iterator.f();
38
+ var observer = useMemo(() => {
39
+ return new IntersectionObserver(entries => {
40
+ for (var entry of entries) {
41
+ // The `entry.boundingClientRect` is where all the dimensions are stored
42
+ var bounds = entry.boundingClientRect.toJSON();
43
+ var offsetBounds = _objectSpread2(_objectSpread2({}, bounds), {}, {
44
+ left: bounds.left + window.scrollX,
45
+ top: bounds.top + window.scrollY
46
+ });
47
+ setCoordinate(offsetBounds);
59
48
  }
49
+
50
+ // Disconnect the observer to stop from running in the background
60
51
  observer.disconnect();
61
52
  });
62
53
  }, []);
63
- var observeElementAndUpdateCoordinates = useCallback(function () {
54
+ var observeElementAndUpdateCoordinates = useCallback(() => {
64
55
  var _intersectionObserver;
65
56
  if (!element) {
66
57
  return;
67
58
  }
68
- intersectionObserverRef === null || intersectionObserverRef === void 0 ? void 0 : (_intersectionObserver = intersectionObserverRef.current) === null || _intersectionObserver === void 0 ? void 0 : _intersectionObserver.instance.debounce(function () {
59
+ intersectionObserverRef === null || intersectionObserverRef === void 0 ? void 0 : (_intersectionObserver = intersectionObserverRef.current) === null || _intersectionObserver === void 0 ? void 0 : _intersectionObserver.instance.debounce(() => {
69
60
  observer.observe(element);
70
61
  });
71
62
  }, [element, observer]);
72
- useLayoutEffect(function () {
63
+ useLayoutEffect(() => {
73
64
  if (!element) {
74
65
  return;
75
66
  }
@@ -107,7 +98,7 @@ var useCoordinate = function useCoordinate(element) {
107
98
  }
108
99
  window.addEventListener('resize', observeElementAndUpdateCoordinates);
109
100
  if (scrollContainer) scrollContainer.addEventListener('scroll', observeElementAndUpdateCoordinates);
110
- return function () {
101
+ return () => {
111
102
  var _intersectionObserver2;
112
103
  intersectionObserverRef === null || intersectionObserverRef === void 0 ? void 0 : (_intersectionObserver2 = intersectionObserverRef.current) === null || _intersectionObserver2 === void 0 ? void 0 : _intersectionObserver2.instance.cancel();
113
104
  window.removeEventListener('resize', observeElementAndUpdateCoordinates);
@@ -116,15 +107,15 @@ var useCoordinate = function useCoordinate(element) {
116
107
  }, [element, observer, scrollContainer, disabledScrollTracking, openState, observeElementAndUpdateCoordinates]);
117
108
 
118
109
  // This effect is responsible for observing the scroll container for changes in size.
119
- useLayoutEffect(function () {
110
+ useLayoutEffect(() => {
120
111
  if (!scrollContainer) {
121
112
  return;
122
113
  }
123
- var resizeObserver = new ResizeObserver(function () {
114
+ var resizeObserver = new ResizeObserver(() => {
124
115
  observeElementAndUpdateCoordinates();
125
116
  });
126
117
  resizeObserver.observe(scrollContainer);
127
- return function () {
118
+ return () => {
128
119
  resizeObserver.disconnect();
129
120
  };
130
121
  }, [element, observeElementAndUpdateCoordinates, scrollContainer]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/hooks/useCoordinate/index.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState, useMemo, useCallback } from 'react';\nimport { FrameDebounce, FrameDebounceType } from '../../utils/frameDebounce';\n\n/**\n * get coordinates of an element relative to window and listen for changes.\n *\n * @param element element of type T\n * @param disabledScrollTracking boolean to disable scroll tracking.\n * @param openState boolean to track if the element's open state changed.\n * @returns coordinate object of element.\n */\nexport const useCoordinate = function useCoordinate<T extends HTMLElement | null>(\n\telement: T,\n\tdisabledScrollTracking = false,\n\topenState: boolean\n): {\n\tbottom: number;\n\theight: number;\n\tleft: number;\n\tright: number;\n\ttop: number;\n\twidth: number;\n\tx: number;\n\ty: number;\n} {\n\tconst [coordinate, setCoordinate] = useState({\n\t\tbottom: 0,\n\t\theight: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\twidth: 0,\n\t\tx: 0,\n\t\ty: 0\n\t});\n\t//create a single ref for us to store a FrameDebounce.\n\tconst intersectionObserverRef = useRef<{\n\t\tinstance: FrameDebounceType;\n\t}>();\n\n\tconst [scrollContainer, setScrollContainer] = useState<HTMLElement | null>(null);\n\n\t//getBoundingClientRect() causes a reflow plus other perf issues.\n\t// its actually cheaper for the browser to fire intersection observers as we need.\n\tconst observer = useMemo(() => {\n\t\treturn new IntersectionObserver((entries) => {\n\t\t\tfor (const entry of entries) {\n\t\t\t\t// The `entry.boundingClientRect` is where all the dimensions are stored\n\t\t\t\tconst bounds = entry.boundingClientRect.toJSON();\n\n\t\t\t\tconst offsetBounds = {\n\t\t\t\t\t...bounds,\n\t\t\t\t\tleft: bounds.left + window.scrollX,\n\t\t\t\t\ttop: bounds.top + window.scrollY\n\t\t\t\t};\n\n\t\t\t\tsetCoordinate(offsetBounds);\n\t\t\t}\n\n\t\t\t// Disconnect the observer to stop from running in the background\n\t\t\tobserver.disconnect();\n\t\t});\n\t}, []);\n\n\tconst observeElementAndUpdateCoordinates = useCallback(() => {\n\t\tif (!element) {\n\t\t\treturn;\n\t\t}\n\t\tintersectionObserverRef?.current?.instance.debounce(() => {\n\t\t\tobserver.observe(element);\n\t\t});\n\t}, [element, observer]);\n\n\tuseLayoutEffect(() => {\n\t\tif (!element) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This block of code detects if the element is within a scrolling container so we can provide more exact calculations\n\t\t * in the event that the element's position needs to be recalculated relative to the container's new scroll position.\n\t\t *\n\t\t * If we detect that the element is within a scrolling container, we store a reference to the scrollable element. That way\n\t\t * we can assign event listeners to the scroll element so that we can recalculate the elements position based on the\n\t\t * scroll value.\n\t\t */\n\t\tif (!disabledScrollTracking) {\n\t\t\tlet elementParent = element.parentElement;\n\n\t\t\twhile (elementParent && scrollContainer === null) {\n\t\t\t\tconst style = window.getComputedStyle(elementParent);\n\t\t\t\tconst overflowY = style.getPropertyValue('overflow-y');\n\n\t\t\t\tif (overflowY === 'auto' || overflowY === 'scroll') {\n\t\t\t\t\tsetScrollContainer(elementParent);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (elementParent.tagName === 'BODY') {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\telementParent = elementParent.parentElement;\n\t\t\t}\n\t\t}\n\n\t\t// observe real quick to setup initial state.\n\t\tobserver.observe(element);\n\n\t\tif (!intersectionObserverRef.current) {\n\t\t\tintersectionObserverRef.current = {\n\t\t\t\tinstance: new FrameDebounce()\n\t\t\t};\n\t\t}\n\n\t\twindow.addEventListener('resize', observeElementAndUpdateCoordinates);\n\t\tif (scrollContainer)\n\t\t\tscrollContainer.addEventListener('scroll', observeElementAndUpdateCoordinates);\n\n\t\treturn () => {\n\t\t\tintersectionObserverRef?.current?.instance.cancel();\n\n\t\t\twindow.removeEventListener('resize', observeElementAndUpdateCoordinates);\n\t\t\tif (scrollContainer)\n\t\t\t\tscrollContainer.removeEventListener('scroll', observeElementAndUpdateCoordinates);\n\t\t};\n\t}, [\n\t\telement,\n\t\tobserver,\n\t\tscrollContainer,\n\t\tdisabledScrollTracking,\n\t\topenState,\n\t\tobserveElementAndUpdateCoordinates\n\t]);\n\n\t// This effect is responsible for observing the scroll container for changes in size.\n\tuseLayoutEffect(() => {\n\t\tif (!scrollContainer) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst resizeObserver = new ResizeObserver(() => {\n\t\t\tobserveElementAndUpdateCoordinates();\n\t\t});\n\n\t\tresizeObserver.observe(scrollContainer);\n\n\t\treturn () => {\n\t\t\tresizeObserver.disconnect();\n\t\t};\n\t}, [element, observeElementAndUpdateCoordinates, scrollContainer]);\n\n\treturn coordinate;\n};\n"],"names":["useCoordinate","element","disabledScrollTracking","arguments","length","undefined","openState","_useState","useState","bottom","height","left","right","top","width","x","y","_useState2","_slicedToArray","coordinate","setCoordinate","intersectionObserverRef","useRef","_useState3","_useState4","scrollContainer","setScrollContainer","observer","useMemo","IntersectionObserver","entries","_iterator","_createForOfIteratorHelper","_step","s","n","done","entry","value","bounds","boundingClientRect","toJSON","offsetBounds","_objectSpread","window","scrollX","scrollY","err","e","f","disconnect","observeElementAndUpdateCoordinates","useCallback","_intersectionObserver","current","instance","debounce","observe","useLayoutEffect","elementParent","parentElement","style","getComputedStyle","overflowY","getPropertyValue","tagName","FrameDebounce","addEventListener","_intersectionObserver2","cancel","removeEventListener","resizeObserver","ResizeObserver"],"mappings":";;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,aAAa,GAAG,SAASA,aAAaA,CAClDC,OAAU,EAYT;AAAA,EAAA,IAXDC,sBAAsB,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK;EAAA,IAC9BG,SAAkB,GAAAH,SAAA,CAAAC,MAAA,GAAA,CAAA,GAAAD,SAAA,MAAAE,SAAA;EAWlB,IAAAE,SAAA,GAAoCC,QAAQ,CAAC;AAC5CC,MAAAA,MAAM,EAAE,CAAC;AACTC,MAAAA,MAAM,EAAE,CAAC;AACTC,MAAAA,IAAI,EAAE,CAAC;AACPC,MAAAA,KAAK,EAAE,CAAC;AACRC,MAAAA,GAAG,EAAE,CAAC;AACNC,MAAAA,KAAK,EAAE,CAAC;AACRC,MAAAA,CAAC,EAAE,CAAC;AACJC,MAAAA,CAAC,EAAE;AACJ,KAAC,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAX,SAAA,EAAA,CAAA,CAAA;AATKY,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA;AAUhC;AACA,EAAA,IAAMI,uBAAuB,GAAGC,MAAM,EAElC;AAEJ,EAAA,IAAAC,UAAA,GAA8Cf,QAAQ,CAAqB,IAAI,CAAC;IAAAgB,UAAA,GAAAN,cAAA,CAAAK,UAAA,EAAA,CAAA,CAAA;AAAzEE,IAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;;AAE1C;AACA;AACA,EAAA,IAAMG,QAAQ,GAAGC,OAAO,CAAC,YAAM;AAC9B,IAAA,OAAO,IAAIC,oBAAoB,CAAC,UAACC,OAAO,EAAK;AAAA,MAAA,IAAAC,SAAA,GAAAC,0BAAA,CACxBF,OAAO,CAAA;QAAAG,KAAA;AAAA,MAAA,IAAA;QAA3B,KAAAF,SAAA,CAAAG,CAAA,EAAA,EAAA,CAAA,CAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,EAAA,EAAAC,IAAA,GAA6B;AAAA,UAAA,IAAlBC,KAAK,GAAAJ,KAAA,CAAAK,KAAA;AACf;UACA,IAAMC,MAAM,GAAGF,KAAK,CAACG,kBAAkB,CAACC,MAAM,EAAE;AAEhD,UAAA,IAAMC,YAAY,GAAAC,cAAA,CAAAA,cAAA,KACdJ,MAAM,CAAA,EAAA,EAAA,EAAA;AACT5B,YAAAA,IAAI,EAAE4B,MAAM,CAAC5B,IAAI,GAAGiC,MAAM,CAACC,OAAO;AAClChC,YAAAA,GAAG,EAAE0B,MAAM,CAAC1B,GAAG,GAAG+B,MAAM,CAACE;WAAO,CAChC;UAED1B,aAAa,CAACsB,YAAY,CAAC;AAC5B,QAAA;;AAEA;AAAA,MAAA,CAAA,CAAA,OAAAK,GAAA,EAAA;QAAAhB,SAAA,CAAAiB,CAAA,CAAAD,GAAA,CAAA;AAAA,MAAA,CAAA,SAAA;AAAAhB,QAAAA,SAAA,CAAAkB,CAAA,EAAA;AAAA,MAAA;MACAtB,QAAQ,CAACuB,UAAU,EAAE;AACtB,IAAA,CAAC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AAEN,EAAA,IAAMC,kCAAkC,GAAGC,WAAW,CAAC,YAAM;AAAA,IAAA,IAAAC,qBAAA;IAC5D,IAAI,CAACpD,OAAO,EAAE;AACb,MAAA;AACD,IAAA;AACAoB,IAAAA,uBAAuB,aAAvBA,uBAAuB,KAAA,MAAA,GAAA,MAAA,GAAA,CAAAgC,qBAAA,GAAvBhC,uBAAuB,CAAEiC,OAAO,MAAA,IAAA,IAAAD,qBAAA,uBAAhCA,qBAAA,CAAkCE,QAAQ,CAACC,QAAQ,CAAC,YAAM;AACzD7B,MAAAA,QAAQ,CAAC8B,OAAO,CAACxD,OAAO,CAAC;AAC1B,IAAA,CAAC,CAAC;AACH,EAAA,CAAC,EAAE,CAACA,OAAO,EAAE0B,QAAQ,CAAC,CAAC;AAEvB+B,EAAAA,eAAe,CAAC,YAAM;IACrB,IAAI,CAACzD,OAAO,EAAE;AACb,MAAA;AACD,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IACE,IAAI,CAACC,sBAAsB,EAAE;AAC5B,MAAA,IAAIyD,aAAa,GAAG1D,OAAO,CAAC2D,aAAa;AAEzC,MAAA,OAAOD,aAAa,IAAIlC,eAAe,KAAK,IAAI,EAAE;AACjD,QAAA,IAAMoC,KAAK,GAAGjB,MAAM,CAACkB,gBAAgB,CAACH,aAAa,CAAC;AACpD,QAAA,IAAMI,SAAS,GAAGF,KAAK,CAACG,gBAAgB,CAAC,YAAY,CAAC;AAEtD,QAAA,IAAID,SAAS,KAAK,MAAM,IAAIA,SAAS,KAAK,QAAQ,EAAE;UACnDrC,kBAAkB,CAACiC,aAAa,CAAC;AACjC,UAAA;AACD,QAAA;AAEA,QAAA,IAAIA,aAAa,CAACM,OAAO,KAAK,MAAM,EAAE;AACrC,UAAA;AACD,QAAA;QAEAN,aAAa,GAAGA,aAAa,CAACC,aAAa;AAC5C,MAAA;AACD,IAAA;;AAEA;AACAjC,IAAAA,QAAQ,CAAC8B,OAAO,CAACxD,OAAO,CAAC;AAEzB,IAAA,IAAI,CAACoB,uBAAuB,CAACiC,OAAO,EAAE;MACrCjC,uBAAuB,CAACiC,OAAO,GAAG;QACjCC,QAAQ,EAAE,IAAIW,aAAa;OAC3B;AACF,IAAA;AAEAtB,IAAAA,MAAM,CAACuB,gBAAgB,CAAC,QAAQ,EAAEhB,kCAAkC,CAAC;IACrE,IAAI1B,eAAe,EAClBA,eAAe,CAAC0C,gBAAgB,CAAC,QAAQ,EAAEhB,kCAAkC,CAAC;AAE/E,IAAA,OAAO,YAAM;AAAA,MAAA,IAAAiB,sBAAA;AACZ/C,MAAAA,uBAAuB,aAAvBA,uBAAuB,KAAA,MAAA,GAAA,MAAA,GAAA,CAAA+C,sBAAA,GAAvB/C,uBAAuB,CAAEiC,OAAO,MAAA,IAAA,IAAAc,sBAAA,uBAAhCA,sBAAA,CAAkCb,QAAQ,CAACc,MAAM,EAAE;AAEnDzB,MAAAA,MAAM,CAAC0B,mBAAmB,CAAC,QAAQ,EAAEnB,kCAAkC,CAAC;MACxE,IAAI1B,eAAe,EAClBA,eAAe,CAAC6C,mBAAmB,CAAC,QAAQ,EAAEnB,kCAAkC,CAAC;IACnF,CAAC;AACF,EAAA,CAAC,EAAE,CACFlD,OAAO,EACP0B,QAAQ,EACRF,eAAe,EACfvB,sBAAsB,EACtBI,SAAS,EACT6C,kCAAkC,CAClC,CAAC;;AAEF;AACAO,EAAAA,eAAe,CAAC,YAAM;IACrB,IAAI,CAACjC,eAAe,EAAE;AACrB,MAAA;AACD,IAAA;AAEA,IAAA,IAAM8C,cAAc,GAAG,IAAIC,cAAc,CAAC,YAAM;AAC/CrB,MAAAA,kCAAkC,EAAE;AACrC,IAAA,CAAC,CAAC;AAEFoB,IAAAA,cAAc,CAACd,OAAO,CAAChC,eAAe,CAAC;AAEvC,IAAA,OAAO,YAAM;MACZ8C,cAAc,CAACrB,UAAU,EAAE;IAC5B,CAAC;EACF,CAAC,EAAE,CAACjD,OAAO,EAAEkD,kCAAkC,EAAE1B,eAAe,CAAC,CAAC;AAElE,EAAA,OAAON,UAAU;AAClB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/hooks/useCoordinate/index.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState, useMemo, useCallback } from 'react';\nimport { FrameDebounce, FrameDebounceType } from '../../utils/frameDebounce';\n\n/**\n * get coordinates of an element relative to window and listen for changes.\n *\n * @param element element of type T\n * @param disabledScrollTracking boolean to disable scroll tracking.\n * @param openState boolean to track if the element's open state changed.\n * @returns coordinate object of element.\n */\nexport const useCoordinate = function useCoordinate<T extends HTMLElement | null>(\n\telement: T,\n\tdisabledScrollTracking = false,\n\topenState: boolean\n): {\n\tbottom: number;\n\theight: number;\n\tleft: number;\n\tright: number;\n\ttop: number;\n\twidth: number;\n\tx: number;\n\ty: number;\n} {\n\tconst [coordinate, setCoordinate] = useState({\n\t\tbottom: 0,\n\t\theight: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\twidth: 0,\n\t\tx: 0,\n\t\ty: 0\n\t});\n\t//create a single ref for us to store a FrameDebounce.\n\tconst intersectionObserverRef = useRef<{\n\t\tinstance: FrameDebounceType;\n\t}>();\n\n\tconst [scrollContainer, setScrollContainer] = useState<HTMLElement | null>(null);\n\n\t//getBoundingClientRect() causes a reflow plus other perf issues.\n\t// its actually cheaper for the browser to fire intersection observers as we need.\n\tconst observer = useMemo(() => {\n\t\treturn new IntersectionObserver((entries) => {\n\t\t\tfor (const entry of entries) {\n\t\t\t\t// The `entry.boundingClientRect` is where all the dimensions are stored\n\t\t\t\tconst bounds = entry.boundingClientRect.toJSON();\n\n\t\t\t\tconst offsetBounds = {\n\t\t\t\t\t...bounds,\n\t\t\t\t\tleft: bounds.left + window.scrollX,\n\t\t\t\t\ttop: bounds.top + window.scrollY\n\t\t\t\t};\n\n\t\t\t\tsetCoordinate(offsetBounds);\n\t\t\t}\n\n\t\t\t// Disconnect the observer to stop from running in the background\n\t\t\tobserver.disconnect();\n\t\t});\n\t}, []);\n\n\tconst observeElementAndUpdateCoordinates = useCallback(() => {\n\t\tif (!element) {\n\t\t\treturn;\n\t\t}\n\t\tintersectionObserverRef?.current?.instance.debounce(() => {\n\t\t\tobserver.observe(element);\n\t\t});\n\t}, [element, observer]);\n\n\tuseLayoutEffect(() => {\n\t\tif (!element) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This block of code detects if the element is within a scrolling container so we can provide more exact calculations\n\t\t * in the event that the element's position needs to be recalculated relative to the container's new scroll position.\n\t\t *\n\t\t * If we detect that the element is within a scrolling container, we store a reference to the scrollable element. That way\n\t\t * we can assign event listeners to the scroll element so that we can recalculate the elements position based on the\n\t\t * scroll value.\n\t\t */\n\t\tif (!disabledScrollTracking) {\n\t\t\tlet elementParent = element.parentElement;\n\n\t\t\twhile (elementParent && scrollContainer === null) {\n\t\t\t\tconst style = window.getComputedStyle(elementParent);\n\t\t\t\tconst overflowY = style.getPropertyValue('overflow-y');\n\n\t\t\t\tif (overflowY === 'auto' || overflowY === 'scroll') {\n\t\t\t\t\tsetScrollContainer(elementParent);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (elementParent.tagName === 'BODY') {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\telementParent = elementParent.parentElement;\n\t\t\t}\n\t\t}\n\n\t\t// observe real quick to setup initial state.\n\t\tobserver.observe(element);\n\n\t\tif (!intersectionObserverRef.current) {\n\t\t\tintersectionObserverRef.current = {\n\t\t\t\tinstance: new FrameDebounce()\n\t\t\t};\n\t\t}\n\n\t\twindow.addEventListener('resize', observeElementAndUpdateCoordinates);\n\t\tif (scrollContainer)\n\t\t\tscrollContainer.addEventListener('scroll', observeElementAndUpdateCoordinates);\n\n\t\treturn () => {\n\t\t\tintersectionObserverRef?.current?.instance.cancel();\n\n\t\t\twindow.removeEventListener('resize', observeElementAndUpdateCoordinates);\n\t\t\tif (scrollContainer)\n\t\t\t\tscrollContainer.removeEventListener('scroll', observeElementAndUpdateCoordinates);\n\t\t};\n\t}, [\n\t\telement,\n\t\tobserver,\n\t\tscrollContainer,\n\t\tdisabledScrollTracking,\n\t\topenState,\n\t\tobserveElementAndUpdateCoordinates\n\t]);\n\n\t// This effect is responsible for observing the scroll container for changes in size.\n\tuseLayoutEffect(() => {\n\t\tif (!scrollContainer) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst resizeObserver = new ResizeObserver(() => {\n\t\t\tobserveElementAndUpdateCoordinates();\n\t\t});\n\n\t\tresizeObserver.observe(scrollContainer);\n\n\t\treturn () => {\n\t\t\tresizeObserver.disconnect();\n\t\t};\n\t}, [element, observeElementAndUpdateCoordinates, scrollContainer]);\n\n\treturn coordinate;\n};\n"],"names":["useCoordinate","element","disabledScrollTracking","arguments","length","undefined","openState","_useState","useState","bottom","height","left","right","top","width","x","y","_useState2","_slicedToArray","coordinate","setCoordinate","intersectionObserverRef","useRef","_useState3","_useState4","scrollContainer","setScrollContainer","observer","useMemo","IntersectionObserver","entries","entry","bounds","boundingClientRect","toJSON","offsetBounds","_objectSpread","window","scrollX","scrollY","disconnect","observeElementAndUpdateCoordinates","useCallback","_intersectionObserver","current","instance","debounce","observe","useLayoutEffect","elementParent","parentElement","style","getComputedStyle","overflowY","getPropertyValue","tagName","FrameDebounce","addEventListener","_intersectionObserver2","cancel","removeEventListener","resizeObserver","ResizeObserver"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { slicedToArray as _slicedToArray, createForOfIteratorHelper as _createForOfIteratorHelper } from '../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import * as React from 'react';
3
3
 
4
4
  /**
@@ -13,47 +13,34 @@ import * as React from 'react';
13
13
  * @returns {ElementDimensions} - The dimensions of the element.
14
14
  */
15
15
  function useElementDimensions(ref) {
16
- var _React$useState = React.useState(function () {
17
- return {
18
- height: null,
19
- width: null
20
- };
21
- }),
16
+ var _React$useState = React.useState(() => ({
17
+ height: null,
18
+ width: null
19
+ })),
22
20
  _React$useState2 = _slicedToArray(_React$useState, 2),
23
21
  dimensions = _React$useState2[0],
24
22
  setDimensions = _React$useState2[1];
25
- React.useEffect(function () {
23
+ React.useEffect(() => {
26
24
  if (!ref.current) return;
27
25
  var expectedWidths = new WeakMap();
28
26
  var expectedHeights = new WeakMap();
29
- var observer = new ResizeObserver(function (entries) {
30
- requestAnimationFrame(function () {
31
- var _iterator = _createForOfIteratorHelper(entries),
32
- _step;
33
- try {
34
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
35
- var entry = _step.value;
36
- var expectedWidth = expectedWidths.get(entry.target);
37
- var expectedHeight = expectedHeights.get(entry.target);
38
- if (entry.borderBoxSize[0].inlineSize === expectedWidth && entry.borderBoxSize[0].blockSize === expectedHeight) continue;
39
- expectedWidths.set(entry.target, entry.borderBoxSize[0].inlineSize);
40
- expectedHeights.set(entry.target, entry.borderBoxSize[0].blockSize);
41
- setDimensions({
42
- height: entry.borderBoxSize[0].blockSize,
43
- width: entry.borderBoxSize[0].inlineSize
44
- });
45
- }
46
- } catch (err) {
47
- _iterator.e(err);
48
- } finally {
49
- _iterator.f();
27
+ var observer = new ResizeObserver(entries => {
28
+ requestAnimationFrame(() => {
29
+ for (var entry of entries) {
30
+ var expectedWidth = expectedWidths.get(entry.target);
31
+ var expectedHeight = expectedHeights.get(entry.target);
32
+ if (entry.borderBoxSize[0].inlineSize === expectedWidth && entry.borderBoxSize[0].blockSize === expectedHeight) continue;
33
+ expectedWidths.set(entry.target, entry.borderBoxSize[0].inlineSize);
34
+ expectedHeights.set(entry.target, entry.borderBoxSize[0].blockSize);
35
+ setDimensions({
36
+ height: entry.borderBoxSize[0].blockSize,
37
+ width: entry.borderBoxSize[0].inlineSize
38
+ });
50
39
  }
51
40
  });
52
41
  });
53
42
  observer.observe(ref.current);
54
- return function () {
55
- return observer.disconnect();
56
- };
43
+ return () => observer.disconnect();
57
44
  // ref won't trigger a re-render, so it's safe to exclude it from the dependencies array
58
45
  // eslint-disable-next-line react-hooks/exhaustive-deps
59
46
  }, []);