@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
@@ -2,7 +2,8 @@
2
2
 
3
3
  var React = require('react');
4
4
 
5
- function _interopNamespaceDefault(e) {
5
+ function _interopNamespace(e) {
6
+ if (e && e.__esModule) return e;
6
7
  var n = Object.create(null);
7
8
  if (e) {
8
9
  Object.keys(e).forEach(function (k) {
@@ -19,7 +20,7 @@ function _interopNamespaceDefault(e) {
19
20
  return Object.freeze(n);
20
21
  }
21
22
 
22
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
23
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
23
24
 
24
25
  /**
25
26
  * Adds context for the MrlMenu component
@@ -1 +1 @@
1
- {"version":3,"file":"MrlMenuContext.js","sources":["../../../../../src/components/menu/context/MrlMenuContext.ts"],"sourcesContent":["import * as React from 'react';\n\ntype MrlMenuContext = {\n\t/**\n\t * Close menu is shared in context to allow for closing the menu from a child component\n\t *\n\t * @returns {void}\n\t */\n\tcloseMenu: (shouldCloseParent?: boolean) => void;\n\n\t/**\n\t * Close parent is shared in context to allow for closing the parent menu from a submenu\n\t *\n\t * @returns {void}\n\t */\n\tcloseParent?: () => void;\n\n\t/**\n\t * Reference to the menu trigger button for focus restoration\n\t */\n\ttriggerRef?: React.RefObject<HTMLElement>;\n};\n\n/**\n * Adds context for the MrlMenu component\n */\nexport const MrlMenuContext = React.createContext<MrlMenuContext | undefined>(undefined);\n"],"names":["MrlMenuContext","React","createContext","undefined"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuBA;AACA;AACA;AACO,IAAMA,cAAc,gBAAGC,gBAAK,CAACC,aAAa,CAA6BC,SAAS;;;;"}
1
+ {"version":3,"file":"MrlMenuContext.js","sources":["../../../../../src/components/menu/context/MrlMenuContext.ts"],"sourcesContent":["import * as React from 'react';\n\ntype MrlMenuContext = {\n\t/**\n\t * Close menu is shared in context to allow for closing the menu from a child component\n\t *\n\t * @returns {void}\n\t */\n\tcloseMenu: (shouldCloseParent?: boolean) => void;\n\n\t/**\n\t * Close parent is shared in context to allow for closing the parent menu from a submenu\n\t *\n\t * @returns {void}\n\t */\n\tcloseParent?: () => void;\n\n\t/**\n\t * Reference to the menu trigger button for focus restoration\n\t */\n\ttriggerRef?: React.RefObject<HTMLElement>;\n};\n\n/**\n * Adds context for the MrlMenu component\n */\nexport const MrlMenuContext = React.createContext<MrlMenuContext | undefined>(undefined);\n"],"names":["MrlMenuContext","React","createContext","undefined"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuBA;AACA;AACA;AACO,IAAMA,cAAc,gBAAGC,gBAAK,CAACC,aAAa,CAA6BC,SAAS;;;;"}
@@ -4,6 +4,10 @@ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHel
4
4
  var React = require('react');
5
5
  var debounce = require('lodash.debounce');
6
6
 
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var debounce__default = /*#__PURE__*/_interopDefault(debounce);
10
+
7
11
  /**
8
12
  * useBrowserEdgeScroll hook
9
13
  *
@@ -31,7 +35,7 @@ var useBrowserEdgeScroll = function useBrowserEdgeScroll(elementRef) {
31
35
 
32
36
  // Use a ref to store the initial dimensions of the menu
33
37
  var menuRectSizeRef = React.useRef(null);
34
- var updateMenuStyle = React.useCallback(function () {
38
+ var updateMenuStyle = React.useCallback(() => {
35
39
  if (disable || !elementRef.current || elementPosition === 'static') return;
36
40
  if (elementRef.current) {
37
41
  if (!menuRectSizeRef.current) {
@@ -49,8 +53,8 @@ var useBrowserEdgeScroll = function useBrowserEdgeScroll(elementRef) {
49
53
  }
50
54
  }
51
55
  }, [disable, elementRef, elementAlign, elementPosition]);
52
- var updateMenuStyleDebounced = debounce(updateMenuStyle, 10);
53
- React.useLayoutEffect(function () {
56
+ var updateMenuStyleDebounced = debounce__default.default(updateMenuStyle, 10);
57
+ React.useLayoutEffect(() => {
54
58
  if (disable || !elementRef.current || elementPosition === 'static') return;
55
59
 
56
60
  /**
@@ -64,7 +68,7 @@ var useBrowserEdgeScroll = function useBrowserEdgeScroll(elementRef) {
64
68
  if (elementRef.current) {
65
69
  updateMenuStyle();
66
70
  }
67
- return function () {
71
+ return () => {
68
72
  observer.disconnect();
69
73
  window.removeEventListener('resize', updateMenuStyleDebounced);
70
74
  menuRectSizeRef.current = null;
@@ -76,7 +80,7 @@ var useBrowserEdgeScroll = function useBrowserEdgeScroll(elementRef) {
76
80
  // is allowing the menu to wait before initializing the menu style without a setTimeout
77
81
  // eslint-disable-next-line react-hooks/exhaustive-deps
78
82
  }, [elementRef.current, elementPosition, updateMenuStyle]);
79
- var updateOnImageLoad = function updateOnImageLoad() {
83
+ var updateOnImageLoad = () => {
80
84
  var _elementRef$current;
81
85
  var elementRect = (_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 ? void 0 : _elementRef$current.getBoundingClientRect();
82
86
  if (elementRect) {
@@ -88,17 +92,17 @@ var useBrowserEdgeScroll = function useBrowserEdgeScroll(elementRef) {
88
92
  /**
89
93
  * Listen for image additions to the element and update the menu style when they load
90
94
  */
91
- React.useEffect(function () {
95
+ React.useEffect(() => {
92
96
  var _elementRef$current2;
93
97
  var images = (_elementRef$current2 = elementRef.current) === null || _elementRef$current2 === void 0 ? void 0 : _elementRef$current2.querySelectorAll('img');
94
98
  if (images) {
95
- images.forEach(function (img) {
99
+ images.forEach(img => {
96
100
  img.addEventListener('load', updateOnImageLoad);
97
101
  });
98
102
  }
99
- return function () {
103
+ return () => {
100
104
  if (images) {
101
- images.forEach(function (img) {
105
+ images.forEach(img => {
102
106
  img.removeEventListener('load', updateOnImageLoad);
103
107
  });
104
108
  }
@@ -106,7 +110,7 @@ var useBrowserEdgeScroll = function useBrowserEdgeScroll(elementRef) {
106
110
  // eslint-disable-next-line react-hooks/exhaustive-deps
107
111
  }, [elementRef.current, updateMenuStyleDebounced]);
108
112
  return {
109
- isScrolling: isScrolling,
113
+ isScrolling,
110
114
  styles: heightStyle
111
115
  };
112
116
  };
@@ -121,7 +125,7 @@ var useBrowserEdgeScroll = function useBrowserEdgeScroll(elementRef) {
121
125
  * @param viewportHeight - the height of the viewport
122
126
  * @returns {string} - the new max height of the menu
123
127
  */
124
- var calculateNewMaxHeight = function calculateNewMaxHeight(elementPosition, elementAlign, elementRef, menuRect, viewportHeight) {
128
+ var calculateNewMaxHeight = (elementPosition, elementAlign, elementRef, menuRect, viewportHeight) => {
125
129
  var scrollBuffer = 35;
126
130
  var scrollThreshold = 20;
127
131
  switch (elementPosition) {
@@ -138,7 +142,7 @@ var calculateNewMaxHeight = function calculateNewMaxHeight(elementPosition, elem
138
142
  return null;
139
143
  }
140
144
  };
141
- var calculateBottomAlignment = function calculateBottomAlignment(menuRect, viewportHeight, scrollBuffer, scrollThreshold) {
145
+ var calculateBottomAlignment = (menuRect, viewportHeight, scrollBuffer, scrollThreshold) => {
142
146
  // Evaluate from the bottom of the viewport to the top of the menu
143
147
  if (menuRect.bottom > viewportHeight - scrollThreshold) {
144
148
  var calculatedHeight = Math.max(0, viewportHeight - menuRect.top - scrollBuffer);
@@ -146,7 +150,7 @@ var calculateBottomAlignment = function calculateBottomAlignment(menuRect, viewp
146
150
  }
147
151
  return null;
148
152
  };
149
- var calculateTopAlignment = function calculateTopAlignment(menuRect, elementRef, scrollBuffer, scrollThreshold) {
153
+ var calculateTopAlignment = (menuRect, elementRef, scrollBuffer, scrollThreshold) => {
150
154
  var _elementRef$current3;
151
155
  var currentRect = (_elementRef$current3 = elementRef.current) === null || _elementRef$current3 === void 0 ? void 0 : _elementRef$current3.getBoundingClientRect();
152
156
  // Evaluate distance from the top of the viewport to the bottom of the menu
@@ -156,7 +160,7 @@ var calculateTopAlignment = function calculateTopAlignment(menuRect, elementRef,
156
160
  }
157
161
  return null;
158
162
  };
159
- var calculateSideAlignment = function calculateSideAlignment(elementAlign, menuRect, viewportHeight, scrollThreshold, scrollBuffer) {
163
+ var calculateSideAlignment = (elementAlign, menuRect, viewportHeight, scrollThreshold, scrollBuffer) => {
160
164
  // Evaluate distance from the top of the viewport to the bottom of the menu
161
165
  if (elementAlign === 'end' && menuRect.top < scrollThreshold) {
162
166
  var calculatedHeight = Math.max(0, menuRect.bottom - scrollBuffer);
@@ -170,7 +174,7 @@ var calculateSideAlignment = function calculateSideAlignment(elementAlign, menuR
170
174
  }
171
175
  return null;
172
176
  };
173
- var checkElementIsScrolling = function checkElementIsScrolling(elementRef) {
177
+ var checkElementIsScrolling = elementRef => {
174
178
  var el = elementRef.current;
175
179
  if (el && el.scrollTop > 0) {
176
180
  return 'scrolling';
@@ -1 +1 @@
1
- {"version":3,"file":"useBrowserEdgeScroll.js","sources":["../../../../../src/components/menu/hooks/useBrowserEdgeScroll.ts"],"sourcesContent":["import { useState, useLayoutEffect, useCallback, useRef, useEffect } from 'react';\nimport { MenuAlignment, MenuPosition } from '../constants';\nimport debounce from 'lodash.debounce';\n\ninterface ElementScrollStyles {\n\tisScrolling: boolean;\n\tstyles: AdjustedElementStyle;\n}\n\nexport interface AdjustedElementStyle {\n\tmaxHeight?: string;\n}\n\n/**\n * useBrowserEdgeScroll hook\n *\n * This hook will calculate if an element's top or bottom edge bleed over the viewport edge\n * and will provide a max height value for the element to allow it to scroll instead of bleed over\n *\n * @param elementRef - reference to the DOM element that is the menu\n * @param elementPosition - the position of the menu\n * @param elementAlign - the alignment of the menu\n * @param disable - disable the hook from running\n * @returns AdjustedElementStyle - returns the new updated style for scrolling the menu\n */\nexport const useBrowserEdgeScroll = (\n\telementRef: React.RefObject<HTMLElement>,\n\telementPosition: MenuPosition = 'bottom',\n\telementAlign: MenuAlignment,\n\tdisable?: boolean\n): ElementScrollStyles | null => {\n\tconst [heightStyle, setHeightStyle] = useState<AdjustedElementStyle>({});\n\n\tconst [isScrolling, setIsScrolling] = useState<boolean>(false);\n\n\t// Use a ref to store the initial dimensions of the menu\n\tconst menuRectSizeRef = useRef<DOMRect | null>(null);\n\n\tconst updateMenuStyle = useCallback(() => {\n\t\tif (disable || !elementRef.current || elementPosition === 'static') return;\n\n\t\tif (elementRef.current) {\n\t\t\tif (!menuRectSizeRef.current) {\n\t\t\t\tmenuRectSizeRef.current = elementRef.current.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tconst newMaxHeight = calculateNewMaxHeight(\n\t\t\t\telementPosition,\n\t\t\t\telementAlign,\n\t\t\t\telementRef,\n\t\t\t\tmenuRectSizeRef.current,\n\t\t\t\twindow.innerHeight\n\t\t\t);\n\n\t\t\tif (newMaxHeight !== null) {\n\t\t\t\tsetIsScrolling(true);\n\t\t\t\tsetHeightStyle({ maxHeight: newMaxHeight });\n\t\t\t} else {\n\t\t\t\tsetIsScrolling(false);\n\t\t\t\tsetHeightStyle({});\n\t\t\t}\n\t\t}\n\t}, [\n\t\tdisable,\n\t\telementRef,\n\t\telementAlign,\n\t\telementPosition\n\t]);\n\n\tconst updateMenuStyleDebounced = debounce(updateMenuStyle, 10);\n\n\tuseLayoutEffect(() => {\n\t\tif (disable || !elementRef.current || elementPosition === 'static') return;\n\n\t\t/**\n\t\t * Resize observer is setup to watch for changes in the element's size or position\n\t\t *\n\t\t * If a resize is detected, the element's style will be updated to allow for scrolling if necessary\n\t\t */\n\t\tconst observer = new ResizeObserver(updateMenuStyleDebounced);\n\t\tobserver.observe(elementRef.current);\n\n\t\twindow.addEventListener('resize', updateMenuStyleDebounced);\n\n\t\tif (elementRef.current) {\n\t\t\tupdateMenuStyle();\n\t\t}\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t\twindow.removeEventListener('resize', updateMenuStyleDebounced);\n\t\t\tmenuRectSizeRef.current = null;\n\t\t};\n\n\t\t// Passing a ref in shouldn't make things work, but in this scenario\n\t\t// it's the only way to get the menu to update when it's ref becomes available\n\t\t// this is used for when the menu initializes, the ref may not be available so this\n\t\t// is allowing the menu to wait before initializing the menu style without a setTimeout\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [elementRef.current, elementPosition, updateMenuStyle]);\n\n\tconst updateOnImageLoad = () => {\n\t\tconst elementRect = elementRef.current?.getBoundingClientRect();\n\t\tif (elementRect) {\n\t\t\tmenuRectSizeRef.current = elementRect;\n\t\t\tupdateMenuStyleDebounced();\n\t\t}\n\t};\n\n\t/**\n\t * Listen for image additions to the element and update the menu style when they load\n\t */\n\tuseEffect(() => {\n\t\tconst images = elementRef.current?.querySelectorAll('img');\n\t\tif (images) {\n\t\t\timages.forEach((img) => {\n\t\t\t\timg.addEventListener('load', updateOnImageLoad);\n\t\t\t});\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (images) {\n\t\t\t\timages.forEach((img) => {\n\t\t\t\t\timg.removeEventListener('load', updateOnImageLoad);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [elementRef.current, updateMenuStyleDebounced]);\n\n\treturn { isScrolling, styles: heightStyle };\n};\n\n/**\n * Calculates the new max height of the menu based on the menu alignment and the viewport height\n *\n * @param elementPosition - the alignment of the menu\n * @param elementAlign - the alignment of the menu\n * @param elementRef - reference to the DOM element that is the menu\n * @param menuRect - the bounding client rect of the menu\n * @param viewportHeight - the height of the viewport\n * @returns {string} - the new max height of the menu\n */\nconst calculateNewMaxHeight = (\n\telementPosition: MenuPosition,\n\telementAlign: MenuAlignment,\n\telementRef: React.RefObject<HTMLElement>,\n\tmenuRect: DOMRect,\n\tviewportHeight: number\n): string | null => {\n\tconst scrollBuffer = 35;\n\tconst scrollThreshold = 20;\n\n\tswitch (elementPosition) {\n\tcase 'bottom':\n\t\treturn calculateBottomAlignment(menuRect, viewportHeight, scrollBuffer, scrollThreshold);\n\tcase 'top':\n\t\treturn calculateTopAlignment(menuRect, elementRef, scrollBuffer, scrollThreshold);\n\tcase 'left':\n\tcase 'right':\n\t\treturn calculateSideAlignment(\n\t\t\telementAlign,\n\t\t\tmenuRect,\n\t\t\tviewportHeight,\n\t\t\tscrollThreshold,\n\t\t\tscrollBuffer\n\t\t);\n\tcase 'ignore':\n\t\treturn checkElementIsScrolling(elementRef);\n\tdefault:\n\t\treturn null;\n\t}\n};\n\nconst calculateBottomAlignment = (\n\tmenuRect: DOMRect,\n\tviewportHeight: number,\n\tscrollBuffer: number,\n\tscrollThreshold: number\n): string | null => {\n\t// Evaluate from the bottom of the viewport to the top of the menu\n\tif (menuRect.bottom > viewportHeight - scrollThreshold) {\n\t\tconst calculatedHeight = Math.max(0, viewportHeight - menuRect.top - scrollBuffer);\n\t\treturn `${Math.floor(calculatedHeight)}px`;\n\t}\n\treturn null;\n};\n\nconst calculateTopAlignment = (\n\tmenuRect: DOMRect,\n\telementRef: React.RefObject<HTMLElement>,\n\tscrollBuffer: number,\n\tscrollThreshold: number\n): string | null => {\n\tconst currentRect = elementRef.current?.getBoundingClientRect();\n\t// Evaluate distance from the top of the viewport to the bottom of the menu\n\tif (currentRect && currentRect.top <= scrollThreshold) {\n\t\tconst calculatedHeight = Math.max(0, currentRect.bottom - scrollThreshold);\n\t\treturn `${Math.floor(calculatedHeight)}px`;\n\t}\n\treturn null;\n};\n\nconst calculateSideAlignment = (\n\telementAlign: MenuAlignment,\n\tmenuRect: DOMRect,\n\tviewportHeight: number,\n\tscrollThreshold: number,\n\tscrollBuffer: number\n): string | null => {\n\t// Evaluate distance from the top of the viewport to the bottom of the menu\n\tif (elementAlign === 'end' && menuRect.top < scrollThreshold) {\n\t\tconst calculatedHeight = Math.max(0, menuRect.bottom - scrollBuffer);\n\t\treturn `${Math.floor(calculatedHeight)}px`;\n\t}\n\n\t// Evaluate from the bottom of the viewport to the top of the menu\n\tif (elementAlign === 'start' && menuRect.bottom > viewportHeight - scrollThreshold) {\n\t\tconst calculatedHeight = Math.max(0, viewportHeight - menuRect.top - scrollBuffer);\n\t\treturn `${Math.floor(calculatedHeight)}px`;\n\t}\n\n\treturn null;\n};\n\nconst checkElementIsScrolling = (elementRef: React.RefObject<HTMLElement>): string | null => {\n\tconst el = elementRef.current;\n\n\tif (el && el.scrollTop > 0) {\n\t\treturn 'scrolling';\n\t}\n\n\treturn null;\n};\n"],"names":["useBrowserEdgeScroll","elementRef","elementPosition","arguments","length","undefined","elementAlign","disable","_useState","useState","_useState2","_slicedToArray","heightStyle","setHeightStyle","_useState3","_useState4","isScrolling","setIsScrolling","menuRectSizeRef","useRef","updateMenuStyle","useCallback","current","getBoundingClientRect","newMaxHeight","calculateNewMaxHeight","window","innerHeight","maxHeight","updateMenuStyleDebounced","debounce","useLayoutEffect","observer","ResizeObserver","observe","addEventListener","disconnect","removeEventListener","updateOnImageLoad","_elementRef$current","elementRect","useEffect","_elementRef$current2","images","querySelectorAll","forEach","img","styles","menuRect","viewportHeight","scrollBuffer","scrollThreshold","calculateBottomAlignment","calculateTopAlignment","calculateSideAlignment","checkElementIsScrolling","bottom","calculatedHeight","Math","max","top","concat","floor","_elementRef$current3","currentRect","el","scrollTop"],"mappings":"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"}
1
+ {"version":3,"file":"useBrowserEdgeScroll.js","sources":["../../../../../src/components/menu/hooks/useBrowserEdgeScroll.ts"],"sourcesContent":["import { useState, useLayoutEffect, useCallback, useRef, useEffect } from 'react';\nimport { MenuAlignment, MenuPosition } from '../constants';\nimport debounce from 'lodash.debounce';\n\ninterface ElementScrollStyles {\n\tisScrolling: boolean;\n\tstyles: AdjustedElementStyle;\n}\n\nexport interface AdjustedElementStyle {\n\tmaxHeight?: string;\n}\n\n/**\n * useBrowserEdgeScroll hook\n *\n * This hook will calculate if an element's top or bottom edge bleed over the viewport edge\n * and will provide a max height value for the element to allow it to scroll instead of bleed over\n *\n * @param elementRef - reference to the DOM element that is the menu\n * @param elementPosition - the position of the menu\n * @param elementAlign - the alignment of the menu\n * @param disable - disable the hook from running\n * @returns AdjustedElementStyle - returns the new updated style for scrolling the menu\n */\nexport const useBrowserEdgeScroll = (\n\telementRef: React.RefObject<HTMLElement>,\n\telementPosition: MenuPosition = 'bottom',\n\telementAlign: MenuAlignment,\n\tdisable?: boolean\n): ElementScrollStyles | null => {\n\tconst [heightStyle, setHeightStyle] = useState<AdjustedElementStyle>({});\n\n\tconst [isScrolling, setIsScrolling] = useState<boolean>(false);\n\n\t// Use a ref to store the initial dimensions of the menu\n\tconst menuRectSizeRef = useRef<DOMRect | null>(null);\n\n\tconst updateMenuStyle = useCallback(() => {\n\t\tif (disable || !elementRef.current || elementPosition === 'static') return;\n\n\t\tif (elementRef.current) {\n\t\t\tif (!menuRectSizeRef.current) {\n\t\t\t\tmenuRectSizeRef.current = elementRef.current.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tconst newMaxHeight = calculateNewMaxHeight(\n\t\t\t\telementPosition,\n\t\t\t\telementAlign,\n\t\t\t\telementRef,\n\t\t\t\tmenuRectSizeRef.current,\n\t\t\t\twindow.innerHeight\n\t\t\t);\n\n\t\t\tif (newMaxHeight !== null) {\n\t\t\t\tsetIsScrolling(true);\n\t\t\t\tsetHeightStyle({ maxHeight: newMaxHeight });\n\t\t\t} else {\n\t\t\t\tsetIsScrolling(false);\n\t\t\t\tsetHeightStyle({});\n\t\t\t}\n\t\t}\n\t}, [\n\t\tdisable,\n\t\telementRef,\n\t\telementAlign,\n\t\telementPosition\n\t]);\n\n\tconst updateMenuStyleDebounced = debounce(updateMenuStyle, 10);\n\n\tuseLayoutEffect(() => {\n\t\tif (disable || !elementRef.current || elementPosition === 'static') return;\n\n\t\t/**\n\t\t * Resize observer is setup to watch for changes in the element's size or position\n\t\t *\n\t\t * If a resize is detected, the element's style will be updated to allow for scrolling if necessary\n\t\t */\n\t\tconst observer = new ResizeObserver(updateMenuStyleDebounced);\n\t\tobserver.observe(elementRef.current);\n\n\t\twindow.addEventListener('resize', updateMenuStyleDebounced);\n\n\t\tif (elementRef.current) {\n\t\t\tupdateMenuStyle();\n\t\t}\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t\twindow.removeEventListener('resize', updateMenuStyleDebounced);\n\t\t\tmenuRectSizeRef.current = null;\n\t\t};\n\n\t\t// Passing a ref in shouldn't make things work, but in this scenario\n\t\t// it's the only way to get the menu to update when it's ref becomes available\n\t\t// this is used for when the menu initializes, the ref may not be available so this\n\t\t// is allowing the menu to wait before initializing the menu style without a setTimeout\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [elementRef.current, elementPosition, updateMenuStyle]);\n\n\tconst updateOnImageLoad = () => {\n\t\tconst elementRect = elementRef.current?.getBoundingClientRect();\n\t\tif (elementRect) {\n\t\t\tmenuRectSizeRef.current = elementRect;\n\t\t\tupdateMenuStyleDebounced();\n\t\t}\n\t};\n\n\t/**\n\t * Listen for image additions to the element and update the menu style when they load\n\t */\n\tuseEffect(() => {\n\t\tconst images = elementRef.current?.querySelectorAll('img');\n\t\tif (images) {\n\t\t\timages.forEach((img) => {\n\t\t\t\timg.addEventListener('load', updateOnImageLoad);\n\t\t\t});\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (images) {\n\t\t\t\timages.forEach((img) => {\n\t\t\t\t\timg.removeEventListener('load', updateOnImageLoad);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [elementRef.current, updateMenuStyleDebounced]);\n\n\treturn { isScrolling, styles: heightStyle };\n};\n\n/**\n * Calculates the new max height of the menu based on the menu alignment and the viewport height\n *\n * @param elementPosition - the alignment of the menu\n * @param elementAlign - the alignment of the menu\n * @param elementRef - reference to the DOM element that is the menu\n * @param menuRect - the bounding client rect of the menu\n * @param viewportHeight - the height of the viewport\n * @returns {string} - the new max height of the menu\n */\nconst calculateNewMaxHeight = (\n\telementPosition: MenuPosition,\n\telementAlign: MenuAlignment,\n\telementRef: React.RefObject<HTMLElement>,\n\tmenuRect: DOMRect,\n\tviewportHeight: number\n): string | null => {\n\tconst scrollBuffer = 35;\n\tconst scrollThreshold = 20;\n\n\tswitch (elementPosition) {\n\tcase 'bottom':\n\t\treturn calculateBottomAlignment(menuRect, viewportHeight, scrollBuffer, scrollThreshold);\n\tcase 'top':\n\t\treturn calculateTopAlignment(menuRect, elementRef, scrollBuffer, scrollThreshold);\n\tcase 'left':\n\tcase 'right':\n\t\treturn calculateSideAlignment(\n\t\t\telementAlign,\n\t\t\tmenuRect,\n\t\t\tviewportHeight,\n\t\t\tscrollThreshold,\n\t\t\tscrollBuffer\n\t\t);\n\tcase 'ignore':\n\t\treturn checkElementIsScrolling(elementRef);\n\tdefault:\n\t\treturn null;\n\t}\n};\n\nconst calculateBottomAlignment = (\n\tmenuRect: DOMRect,\n\tviewportHeight: number,\n\tscrollBuffer: number,\n\tscrollThreshold: number\n): string | null => {\n\t// Evaluate from the bottom of the viewport to the top of the menu\n\tif (menuRect.bottom > viewportHeight - scrollThreshold) {\n\t\tconst calculatedHeight = Math.max(0, viewportHeight - menuRect.top - scrollBuffer);\n\t\treturn `${Math.floor(calculatedHeight)}px`;\n\t}\n\treturn null;\n};\n\nconst calculateTopAlignment = (\n\tmenuRect: DOMRect,\n\telementRef: React.RefObject<HTMLElement>,\n\tscrollBuffer: number,\n\tscrollThreshold: number\n): string | null => {\n\tconst currentRect = elementRef.current?.getBoundingClientRect();\n\t// Evaluate distance from the top of the viewport to the bottom of the menu\n\tif (currentRect && currentRect.top <= scrollThreshold) {\n\t\tconst calculatedHeight = Math.max(0, currentRect.bottom - scrollThreshold);\n\t\treturn `${Math.floor(calculatedHeight)}px`;\n\t}\n\treturn null;\n};\n\nconst calculateSideAlignment = (\n\telementAlign: MenuAlignment,\n\tmenuRect: DOMRect,\n\tviewportHeight: number,\n\tscrollThreshold: number,\n\tscrollBuffer: number\n): string | null => {\n\t// Evaluate distance from the top of the viewport to the bottom of the menu\n\tif (elementAlign === 'end' && menuRect.top < scrollThreshold) {\n\t\tconst calculatedHeight = Math.max(0, menuRect.bottom - scrollBuffer);\n\t\treturn `${Math.floor(calculatedHeight)}px`;\n\t}\n\n\t// Evaluate from the bottom of the viewport to the top of the menu\n\tif (elementAlign === 'start' && menuRect.bottom > viewportHeight - scrollThreshold) {\n\t\tconst calculatedHeight = Math.max(0, viewportHeight - menuRect.top - scrollBuffer);\n\t\treturn `${Math.floor(calculatedHeight)}px`;\n\t}\n\n\treturn null;\n};\n\nconst checkElementIsScrolling = (elementRef: React.RefObject<HTMLElement>): string | null => {\n\tconst el = elementRef.current;\n\n\tif (el && el.scrollTop > 0) {\n\t\treturn 'scrolling';\n\t}\n\n\treturn null;\n};\n"],"names":["useBrowserEdgeScroll","elementRef","elementPosition","arguments","length","undefined","elementAlign","disable","_useState","useState","_useState2","_slicedToArray","heightStyle","setHeightStyle","_useState3","_useState4","isScrolling","setIsScrolling","menuRectSizeRef","useRef","updateMenuStyle","useCallback","current","getBoundingClientRect","newMaxHeight","calculateNewMaxHeight","window","innerHeight","maxHeight","updateMenuStyleDebounced","debounce","useLayoutEffect","observer","ResizeObserver","observe","addEventListener","disconnect","removeEventListener","updateOnImageLoad","_elementRef$current","elementRect","useEffect","_elementRef$current2","images","querySelectorAll","forEach","img","styles","menuRect","viewportHeight","scrollBuffer","scrollThreshold","calculateBottomAlignment","calculateTopAlignment","calculateSideAlignment","checkElementIsScrolling","bottom","calculatedHeight","Math","max","top","concat","floor","_elementRef$current3","currentRect","el","scrollTop"],"mappings":"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"}
@@ -39,15 +39,15 @@ var DEFAULT_SCROLL_STATE = {
39
39
  * @param disable - Whether to disable the hook entirely
40
40
  * @returns An object with `maxHeight` (inline style value) and `isScrolling` (class toggle)
41
41
  */
42
- var useMenuScroll = function useMenuScroll(triggerRef, listRef, position, menuOffset, isOpen, disable) {
42
+ var useMenuScroll = (triggerRef, listRef, position, menuOffset, isOpen, disable) => {
43
43
  var _useState = React.useState(DEFAULT_SCROLL_STATE),
44
44
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
45
45
  scrollState = _useState2[0],
46
46
  setScrollState = _useState2[1];
47
- var calculateScroll = React.useCallback(function () {
47
+ var calculateScroll = React.useCallback(() => {
48
48
  // Reset scroll constraints when the menu closes or refs aren't available.
49
49
  if (!isOpen || disable || !(triggerRef !== null && triggerRef !== void 0 && triggerRef.current) || !listRef.current) {
50
- setScrollState(function (prev) {
50
+ setScrollState(prev => {
51
51
  if (prev.maxHeight === undefined && !prev.isScrolling) return prev;
52
52
  return DEFAULT_SCROLL_STATE;
53
53
  });
@@ -96,10 +96,10 @@ var useMenuScroll = function useMenuScroll(triggerRef, listRef, position, menuOf
96
96
  * cause the element being positioned to flip between flipped/unflipped states.
97
97
  */
98
98
  var safeMaxHeight = maxHeight !== undefined ? Math.floor(maxHeight) - 1 : undefined;
99
- setScrollState(function (prev) {
99
+ setScrollState(prev => {
100
100
  if (prev.maxHeight === safeMaxHeight && prev.isScrolling === isScrolling) return prev;
101
101
  return {
102
- isScrolling: isScrolling,
102
+ isScrolling,
103
103
  maxHeight: safeMaxHeight
104
104
  };
105
105
  });
@@ -110,7 +110,7 @@ var useMenuScroll = function useMenuScroll(triggerRef, listRef, position, menuOf
110
110
  * This ensures maxHeight is applied to the DOM before useTriggerPosition's
111
111
  * requestAnimationFrame fires, so it measures the constrained height on its first pass.
112
112
  */
113
- React.useLayoutEffect(function () {
113
+ React.useLayoutEffect(() => {
114
114
  if (isOpen && !disable) {
115
115
  calculateScroll();
116
116
  }
@@ -120,7 +120,7 @@ var useMenuScroll = function useMenuScroll(triggerRef, listRef, position, menuOf
120
120
  * Respond to window resize and content size changes (e.g. images loading,
121
121
  * lazy content, dynamically added items).
122
122
  */
123
- React.useEffect(function () {
123
+ React.useEffect(() => {
124
124
  if (!isOpen || disable) return;
125
125
  window.addEventListener('resize', calculateScroll);
126
126
  var listElement = listRef.current;
@@ -129,7 +129,7 @@ var useMenuScroll = function useMenuScroll(triggerRef, listRef, position, menuOf
129
129
  resizeObserver = new ResizeObserver(calculateScroll);
130
130
  resizeObserver.observe(listElement);
131
131
  }
132
- return function () {
132
+ return () => {
133
133
  var _resizeObserver;
134
134
  window.removeEventListener('resize', calculateScroll);
135
135
  (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 ? void 0 : _resizeObserver.disconnect();
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuScroll.js","sources":["../../../../../src/components/menu/hooks/useMenuScroll.ts"],"sourcesContent":["import { useState, useCallback, useEffect, useLayoutEffect, RefObject } from 'react';\nimport { MenuPosition } from '../constants';\n\nconst SCREEN_OFFSET = 16;\n\ninterface UseMenuScrollResult {\n\t/** The constrained max height for the menu list when scrolling is active */\n\tmaxHeight: number | undefined;\n\t/** Whether the menu content exceeds available space and requires internal scrolling */\n\tisScrolling: boolean;\n}\n\nconst DEFAULT_SCROLL_STATE: UseMenuScrollResult = {\n\tisScrolling: false,\n\tmaxHeight: undefined\n};\n\n/**\n * useMenuScroll hook\n *\n * Detects when a menu cannot fit on screen in either its preferred or flipped position,\n * and constrains its height to enable internal scrolling.\n *\n * Behavior by position:\n * - **top/bottom**: If the menu doesn't fit in the preferred direction AND doesn't fit\n * in the opposite direction (flip), it reverts to the original position and constrains\n * the height to the space between the trigger edge and the viewport edge.\n * - **left/right**: Only checks vertical overflow. If the menu is taller than the viewport,\n * it constrains the height to the available vertical space.\n *\n * Uses `scrollHeight` on the list element to determine the natural (unconstrained) content\n * height. This value remains stable even when `maxHeight` is applied, preventing feedback\n * loops with external positioning hooks that use ResizeObserver.\n *\n * Uses `useLayoutEffect` for the initial calculation so that `maxHeight` is applied\n * synchronously before the browser paints. This prevents visible flicker when the menu\n * opens in a constrained space, because the positioning hook (useTriggerPosition) will\n * see the already-constrained height on its first measurement via requestAnimationFrame.\n *\n * @param triggerRef - Reference to the trigger element that opens the menu\n * @param listRef - Reference to the ul element inside the menu (the scrollable container)\n * @param position - The preferred menu position relative to the trigger\n * @param menuOffset - The gap between the trigger and the menu in pixels\n * @param isOpen - Whether the menu is currently open\n * @param disable - Whether to disable the hook entirely\n * @returns An object with `maxHeight` (inline style value) and `isScrolling` (class toggle)\n */\nexport const useMenuScroll = (\n\ttriggerRef: RefObject<HTMLElement> | undefined,\n\tlistRef: RefObject<HTMLUListElement>,\n\tposition: MenuPosition,\n\tmenuOffset: number,\n\tisOpen: boolean,\n\tdisable: boolean\n): UseMenuScrollResult => {\n\tconst [scrollState, setScrollState] = useState<UseMenuScrollResult>(DEFAULT_SCROLL_STATE);\n\n\tconst calculateScroll = useCallback(() => {\n\t\t// Reset scroll constraints when the menu closes or refs aren't available.\n\t\tif (!isOpen || disable || !triggerRef?.current || !listRef.current) {\n\t\t\tsetScrollState((prev) => {\n\t\t\t\tif (prev.maxHeight === undefined && !prev.isScrolling) return prev;\n\t\t\t\treturn DEFAULT_SCROLL_STATE;\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst triggerRect = triggerRef.current.getBoundingClientRect();\n\t\tconst naturalHeight = listRef.current.scrollHeight;\n\t\tconst viewportHeight = window.innerHeight;\n\n\t\tlet maxHeight: number | undefined;\n\t\tlet isScrolling = false;\n\n\t\tswitch (position) {\n\t\t\tcase 'bottom': {\n\t\t\t\tconst availableBelow = viewportHeight - triggerRect.bottom - menuOffset - SCREEN_OFFSET;\n\t\t\t\tconst availableAbove = triggerRect.top - menuOffset - SCREEN_OFFSET;\n\n\t\t\t\tif (naturalHeight > availableBelow && naturalHeight > availableAbove) {\n\t\t\t\t\tisScrolling = true;\n\t\t\t\t\tmaxHeight = availableBelow;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'top': {\n\t\t\t\tconst availableAbove = triggerRect.top - menuOffset - SCREEN_OFFSET;\n\t\t\t\tconst availableBelow = viewportHeight - triggerRect.bottom - menuOffset - SCREEN_OFFSET;\n\n\t\t\t\tif (naturalHeight > availableAbove && naturalHeight > availableBelow) {\n\t\t\t\t\tisScrolling = true;\n\t\t\t\t\tmaxHeight = availableAbove;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'left':\n\t\t\tcase 'right': {\n\t\t\t\tconst availableVertical = viewportHeight - 2 * SCREEN_OFFSET;\n\n\t\t\t\tif (naturalHeight > availableVertical) {\n\t\t\t\t\tisScrolling = true;\n\t\t\t\t\tmaxHeight = availableVertical;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Floor the maxHeight and subtract 1px to avoid sub-pixel rounding that can\n\t\t * cause the element being positioned to flip between flipped/unflipped states.\n\t\t */\n\t\tconst safeMaxHeight = maxHeight !== undefined ? Math.floor(maxHeight) - 1 : undefined;\n\n\t\tsetScrollState((prev) => {\n\t\t\tif (prev.maxHeight === safeMaxHeight && prev.isScrolling === isScrolling) return prev;\n\t\t\treturn { isScrolling, maxHeight: safeMaxHeight };\n\t\t});\n\t}, [isOpen, disable, triggerRef, listRef, position, menuOffset]);\n\n\t/**\n\t * Calculate synchronously before paint to prevent flicker.\n\t * This ensures maxHeight is applied to the DOM before useTriggerPosition's\n\t * requestAnimationFrame fires, so it measures the constrained height on its first pass.\n\t */\n\tuseLayoutEffect(() => {\n\t\tif (isOpen && !disable) {\n\t\t\tcalculateScroll();\n\t\t}\n\t}, [isOpen, disable, calculateScroll]);\n\n\t/**\n\t * Respond to window resize and content size changes (e.g. images loading,\n\t * lazy content, dynamically added items).\n\t */\n\tuseEffect(() => {\n\t\tif (!isOpen || disable) return;\n\n\t\twindow.addEventListener('resize', calculateScroll);\n\n\t\tconst listElement = listRef.current;\n\t\tlet resizeObserver: ResizeObserver | undefined;\n\n\t\tif (listElement) {\n\t\t\tresizeObserver = new ResizeObserver(calculateScroll);\n\t\t\tresizeObserver.observe(listElement);\n\t\t}\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', calculateScroll);\n\t\t\tresizeObserver?.disconnect();\n\t\t};\n\t}, [isOpen, disable, calculateScroll, listRef]);\n\n\treturn scrollState;\n};\n"],"names":["SCREEN_OFFSET","DEFAULT_SCROLL_STATE","isScrolling","maxHeight","undefined","useMenuScroll","triggerRef","listRef","position","menuOffset","isOpen","disable","_useState","useState","_useState2","_slicedToArray","scrollState","setScrollState","calculateScroll","useCallback","current","prev","triggerRect","getBoundingClientRect","naturalHeight","scrollHeight","viewportHeight","window","innerHeight","availableBelow","bottom","availableAbove","top","availableVertical","safeMaxHeight","Math","floor","useLayoutEffect","useEffect","addEventListener","listElement","resizeObserver","ResizeObserver","observe","_resizeObserver","removeEventListener","disconnect"],"mappings":"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"}
1
+ {"version":3,"file":"useMenuScroll.js","sources":["../../../../../src/components/menu/hooks/useMenuScroll.ts"],"sourcesContent":["import { useState, useCallback, useEffect, useLayoutEffect, RefObject } from 'react';\nimport { MenuPosition } from '../constants';\n\nconst SCREEN_OFFSET = 16;\n\ninterface UseMenuScrollResult {\n\t/** The constrained max height for the menu list when scrolling is active */\n\tmaxHeight: number | undefined;\n\t/** Whether the menu content exceeds available space and requires internal scrolling */\n\tisScrolling: boolean;\n}\n\nconst DEFAULT_SCROLL_STATE: UseMenuScrollResult = {\n\tisScrolling: false,\n\tmaxHeight: undefined\n};\n\n/**\n * useMenuScroll hook\n *\n * Detects when a menu cannot fit on screen in either its preferred or flipped position,\n * and constrains its height to enable internal scrolling.\n *\n * Behavior by position:\n * - **top/bottom**: If the menu doesn't fit in the preferred direction AND doesn't fit\n * in the opposite direction (flip), it reverts to the original position and constrains\n * the height to the space between the trigger edge and the viewport edge.\n * - **left/right**: Only checks vertical overflow. If the menu is taller than the viewport,\n * it constrains the height to the available vertical space.\n *\n * Uses `scrollHeight` on the list element to determine the natural (unconstrained) content\n * height. This value remains stable even when `maxHeight` is applied, preventing feedback\n * loops with external positioning hooks that use ResizeObserver.\n *\n * Uses `useLayoutEffect` for the initial calculation so that `maxHeight` is applied\n * synchronously before the browser paints. This prevents visible flicker when the menu\n * opens in a constrained space, because the positioning hook (useTriggerPosition) will\n * see the already-constrained height on its first measurement via requestAnimationFrame.\n *\n * @param triggerRef - Reference to the trigger element that opens the menu\n * @param listRef - Reference to the ul element inside the menu (the scrollable container)\n * @param position - The preferred menu position relative to the trigger\n * @param menuOffset - The gap between the trigger and the menu in pixels\n * @param isOpen - Whether the menu is currently open\n * @param disable - Whether to disable the hook entirely\n * @returns An object with `maxHeight` (inline style value) and `isScrolling` (class toggle)\n */\nexport const useMenuScroll = (\n\ttriggerRef: RefObject<HTMLElement> | undefined,\n\tlistRef: RefObject<HTMLUListElement>,\n\tposition: MenuPosition,\n\tmenuOffset: number,\n\tisOpen: boolean,\n\tdisable: boolean\n): UseMenuScrollResult => {\n\tconst [scrollState, setScrollState] = useState<UseMenuScrollResult>(DEFAULT_SCROLL_STATE);\n\n\tconst calculateScroll = useCallback(() => {\n\t\t// Reset scroll constraints when the menu closes or refs aren't available.\n\t\tif (!isOpen || disable || !triggerRef?.current || !listRef.current) {\n\t\t\tsetScrollState((prev) => {\n\t\t\t\tif (prev.maxHeight === undefined && !prev.isScrolling) return prev;\n\t\t\t\treturn DEFAULT_SCROLL_STATE;\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst triggerRect = triggerRef.current.getBoundingClientRect();\n\t\tconst naturalHeight = listRef.current.scrollHeight;\n\t\tconst viewportHeight = window.innerHeight;\n\n\t\tlet maxHeight: number | undefined;\n\t\tlet isScrolling = false;\n\n\t\tswitch (position) {\n\t\t\tcase 'bottom': {\n\t\t\t\tconst availableBelow = viewportHeight - triggerRect.bottom - menuOffset - SCREEN_OFFSET;\n\t\t\t\tconst availableAbove = triggerRect.top - menuOffset - SCREEN_OFFSET;\n\n\t\t\t\tif (naturalHeight > availableBelow && naturalHeight > availableAbove) {\n\t\t\t\t\tisScrolling = true;\n\t\t\t\t\tmaxHeight = availableBelow;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'top': {\n\t\t\t\tconst availableAbove = triggerRect.top - menuOffset - SCREEN_OFFSET;\n\t\t\t\tconst availableBelow = viewportHeight - triggerRect.bottom - menuOffset - SCREEN_OFFSET;\n\n\t\t\t\tif (naturalHeight > availableAbove && naturalHeight > availableBelow) {\n\t\t\t\t\tisScrolling = true;\n\t\t\t\t\tmaxHeight = availableAbove;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'left':\n\t\t\tcase 'right': {\n\t\t\t\tconst availableVertical = viewportHeight - 2 * SCREEN_OFFSET;\n\n\t\t\t\tif (naturalHeight > availableVertical) {\n\t\t\t\t\tisScrolling = true;\n\t\t\t\t\tmaxHeight = availableVertical;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Floor the maxHeight and subtract 1px to avoid sub-pixel rounding that can\n\t\t * cause the element being positioned to flip between flipped/unflipped states.\n\t\t */\n\t\tconst safeMaxHeight = maxHeight !== undefined ? Math.floor(maxHeight) - 1 : undefined;\n\n\t\tsetScrollState((prev) => {\n\t\t\tif (prev.maxHeight === safeMaxHeight && prev.isScrolling === isScrolling) return prev;\n\t\t\treturn { isScrolling, maxHeight: safeMaxHeight };\n\t\t});\n\t}, [isOpen, disable, triggerRef, listRef, position, menuOffset]);\n\n\t/**\n\t * Calculate synchronously before paint to prevent flicker.\n\t * This ensures maxHeight is applied to the DOM before useTriggerPosition's\n\t * requestAnimationFrame fires, so it measures the constrained height on its first pass.\n\t */\n\tuseLayoutEffect(() => {\n\t\tif (isOpen && !disable) {\n\t\t\tcalculateScroll();\n\t\t}\n\t}, [isOpen, disable, calculateScroll]);\n\n\t/**\n\t * Respond to window resize and content size changes (e.g. images loading,\n\t * lazy content, dynamically added items).\n\t */\n\tuseEffect(() => {\n\t\tif (!isOpen || disable) return;\n\n\t\twindow.addEventListener('resize', calculateScroll);\n\n\t\tconst listElement = listRef.current;\n\t\tlet resizeObserver: ResizeObserver | undefined;\n\n\t\tif (listElement) {\n\t\t\tresizeObserver = new ResizeObserver(calculateScroll);\n\t\t\tresizeObserver.observe(listElement);\n\t\t}\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', calculateScroll);\n\t\t\tresizeObserver?.disconnect();\n\t\t};\n\t}, [isOpen, disable, calculateScroll, listRef]);\n\n\treturn scrollState;\n};\n"],"names":["SCREEN_OFFSET","DEFAULT_SCROLL_STATE","isScrolling","maxHeight","undefined","useMenuScroll","triggerRef","listRef","position","menuOffset","isOpen","disable","_useState","useState","_useState2","_slicedToArray","scrollState","setScrollState","calculateScroll","useCallback","current","prev","triggerRect","getBoundingClientRect","naturalHeight","scrollHeight","viewportHeight","window","innerHeight","availableBelow","bottom","availableAbove","top","availableVertical","safeMaxHeight","Math","floor","useLayoutEffect","useEffect","addEventListener","listElement","resizeObserver","ResizeObserver","observe","_resizeObserver","removeEventListener","disconnect"],"mappings":"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"}
@@ -15,7 +15,7 @@ var utilities = require('../MrlMenu/utilities.js');
15
15
  * @param disable - Should the menu be disabled
16
16
  * @returns The sub menu position
17
17
  */
18
- var useSubMenuElementPosition = function useSubMenuElementPosition(triggerRef, menuRef, isSubMenu, isOpen, originalMenuRect, disable) {
18
+ var useSubMenuElementPosition = (triggerRef, menuRef, isSubMenu, isOpen, originalMenuRect, disable) => {
19
19
  var _useState = React.useState({
20
20
  left: 'calc(100% - 5px)',
21
21
  top: ''
@@ -27,12 +27,12 @@ var useSubMenuElementPosition = function useSubMenuElementPosition(triggerRef, m
27
27
  _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
28
28
  menuRect = _useState4[0],
29
29
  setMenuRect = _useState4[1];
30
- React.useEffect(function () {
30
+ React.useEffect(() => {
31
31
  if (!disable && isOpen && menuRef.current && !originalMenuRect) {
32
32
  setMenuRect(menuRef.current.getBoundingClientRect());
33
33
  }
34
34
  }, [disable, isOpen, menuRef, originalMenuRect]);
35
- React.useEffect(function () {
35
+ React.useEffect(() => {
36
36
  if (disable || !(triggerRef !== null && triggerRef !== void 0 && triggerRef.current) || !menuRef.current || !isSubMenu || !isOpen || !menuRect || !isSubMenu) return;
37
37
  var parentMenu = utilities.findClosestMenuParent(triggerRef.current);
38
38
  var triggerRect = triggerRef.current.getBoundingClientRect();
@@ -1 +1 @@
1
- {"version":3,"file":"useSubMenuElementPosition.js","sources":["../../../../../src/components/menu/hooks/useSubMenuElementPosition.ts"],"sourcesContent":["import { useState, useEffect, RefObject } from 'react';\nimport {\n\tfindClosestMenuParent,\n\tcalculateLeftPosition,\n\tcalculateTopPosition\n} from '../MrlMenu/utilities';\n\ninterface SubMenuPosition {\n\tleft: string;\n\ttop: string;\n}\n\n/**\n * Calculates the position of the sub menu element\n *\n * @param triggerRef - The trigger element ref\n * @param menuRef - The menu element ref\n * @param isSubMenu - Is the menu a sub menu\n * @param isOpen - Is the element visible\n * @param originalMenuRect - The menu element rect\n * @param disable - Should the menu be disabled\n * @returns The sub menu position\n */\nexport const useSubMenuElementPosition = (\n\ttriggerRef: RefObject<HTMLElement> | undefined,\n\tmenuRef: RefObject<HTMLDivElement>,\n\tisSubMenu: boolean,\n\tisOpen: boolean,\n\toriginalMenuRect: DOMRect | null,\n\tdisable?: boolean\n): SubMenuPosition => {\n\tconst [subMenuPosition, setSubMenuPosition] = useState<SubMenuPosition>({\n\t\tleft: 'calc(100% - 5px)',\n\t\ttop: ''\n\t});\n\n\tconst [menuRect, setMenuRect] = useState<DOMRect | null>(null);\n\n\tuseEffect(() => {\n\t\tif (!disable && isOpen && menuRef.current && !originalMenuRect) {\n\t\t\tsetMenuRect(menuRef.current.getBoundingClientRect());\n\t\t}\n\t}, [\n\t\tdisable,\n\t\tisOpen,\n\t\tmenuRef,\n\t\toriginalMenuRect\n\t]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tdisable ||\n\t\t\t!triggerRef?.current ||\n\t\t\t!menuRef.current ||\n\t\t\t!isSubMenu ||\n\t\t\t!isOpen ||\n\t\t\t!menuRect ||\n\t\t\t!isSubMenu\n\t\t)\n\t\t\treturn;\n\n\t\tconst parentMenu = findClosestMenuParent(triggerRef.current);\n\t\tconst triggerRect = triggerRef.current.getBoundingClientRect();\n\n\t\tif (!parentMenu?.parentElement) return;\n\n\t\tconst parentMenuRect = parentMenu.getBoundingClientRect();\n\t\tconst menuHeight = menuRef.current.getBoundingClientRect().height;\n\n\t\tconst overlapsRight = window.innerWidth < menuRect.right;\n\t\tconst overlapsLeft = triggerRect.left - menuRect.width < menuRect.width;\n\n\t\tconst newLeft = calculateLeftPosition(overlapsRight, overlapsLeft, menuRect, triggerRef);\n\n\t\tlet newTop = calculateTopPosition(\n\t\t\toverlapsRight,\n\t\t\toverlapsLeft,\n\t\t\ttriggerRef,\n\t\t\tmenuRect,\n\t\t\tparentMenu,\n\t\t\ttriggerRect\n\t\t);\n\n\t\t// if the submenu height is smaller than the menu height, we want to top align the submenu so it doesn't go off\n\t\t// of the top of the screen\n\t\tif (menuHeight > parentMenuRect.height) {\n\t\t\tnewTop = `0px`;\n\t\t}\n\n\t\tsetSubMenuPosition({ left: newLeft, top: newTop });\n\t}, [\n\t\tdisable,\n\t\ttriggerRef,\n\t\tmenuRef,\n\t\tmenuRect,\n\t\tisSubMenu,\n\t\tisOpen\n\t]);\n\n\treturn subMenuPosition;\n};\n"],"names":["useSubMenuElementPosition","triggerRef","menuRef","isSubMenu","isOpen","originalMenuRect","disable","_useState","useState","left","top","_useState2","_slicedToArray","subMenuPosition","setSubMenuPosition","_useState3","_useState4","menuRect","setMenuRect","useEffect","current","getBoundingClientRect","parentMenu","findClosestMenuParent","triggerRect","parentElement","parentMenuRect","menuHeight","height","overlapsRight","window","innerWidth","right","overlapsLeft","width","newLeft","calculateLeftPosition","newTop","calculateTopPosition"],"mappings":"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"}
1
+ {"version":3,"file":"useSubMenuElementPosition.js","sources":["../../../../../src/components/menu/hooks/useSubMenuElementPosition.ts"],"sourcesContent":["import { useState, useEffect, RefObject } from 'react';\nimport {\n\tfindClosestMenuParent,\n\tcalculateLeftPosition,\n\tcalculateTopPosition\n} from '../MrlMenu/utilities';\n\ninterface SubMenuPosition {\n\tleft: string;\n\ttop: string;\n}\n\n/**\n * Calculates the position of the sub menu element\n *\n * @param triggerRef - The trigger element ref\n * @param menuRef - The menu element ref\n * @param isSubMenu - Is the menu a sub menu\n * @param isOpen - Is the element visible\n * @param originalMenuRect - The menu element rect\n * @param disable - Should the menu be disabled\n * @returns The sub menu position\n */\nexport const useSubMenuElementPosition = (\n\ttriggerRef: RefObject<HTMLElement> | undefined,\n\tmenuRef: RefObject<HTMLDivElement>,\n\tisSubMenu: boolean,\n\tisOpen: boolean,\n\toriginalMenuRect: DOMRect | null,\n\tdisable?: boolean\n): SubMenuPosition => {\n\tconst [subMenuPosition, setSubMenuPosition] = useState<SubMenuPosition>({\n\t\tleft: 'calc(100% - 5px)',\n\t\ttop: ''\n\t});\n\n\tconst [menuRect, setMenuRect] = useState<DOMRect | null>(null);\n\n\tuseEffect(() => {\n\t\tif (!disable && isOpen && menuRef.current && !originalMenuRect) {\n\t\t\tsetMenuRect(menuRef.current.getBoundingClientRect());\n\t\t}\n\t}, [\n\t\tdisable,\n\t\tisOpen,\n\t\tmenuRef,\n\t\toriginalMenuRect\n\t]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tdisable ||\n\t\t\t!triggerRef?.current ||\n\t\t\t!menuRef.current ||\n\t\t\t!isSubMenu ||\n\t\t\t!isOpen ||\n\t\t\t!menuRect ||\n\t\t\t!isSubMenu\n\t\t)\n\t\t\treturn;\n\n\t\tconst parentMenu = findClosestMenuParent(triggerRef.current);\n\t\tconst triggerRect = triggerRef.current.getBoundingClientRect();\n\n\t\tif (!parentMenu?.parentElement) return;\n\n\t\tconst parentMenuRect = parentMenu.getBoundingClientRect();\n\t\tconst menuHeight = menuRef.current.getBoundingClientRect().height;\n\n\t\tconst overlapsRight = window.innerWidth < menuRect.right;\n\t\tconst overlapsLeft = triggerRect.left - menuRect.width < menuRect.width;\n\n\t\tconst newLeft = calculateLeftPosition(overlapsRight, overlapsLeft, menuRect, triggerRef);\n\n\t\tlet newTop = calculateTopPosition(\n\t\t\toverlapsRight,\n\t\t\toverlapsLeft,\n\t\t\ttriggerRef,\n\t\t\tmenuRect,\n\t\t\tparentMenu,\n\t\t\ttriggerRect\n\t\t);\n\n\t\t// if the submenu height is smaller than the menu height, we want to top align the submenu so it doesn't go off\n\t\t// of the top of the screen\n\t\tif (menuHeight > parentMenuRect.height) {\n\t\t\tnewTop = `0px`;\n\t\t}\n\n\t\tsetSubMenuPosition({ left: newLeft, top: newTop });\n\t}, [\n\t\tdisable,\n\t\ttriggerRef,\n\t\tmenuRef,\n\t\tmenuRect,\n\t\tisSubMenu,\n\t\tisOpen\n\t]);\n\n\treturn subMenuPosition;\n};\n"],"names":["useSubMenuElementPosition","triggerRef","menuRef","isSubMenu","isOpen","originalMenuRect","disable","_useState","useState","left","top","_useState2","_slicedToArray","subMenuPosition","setSubMenuPosition","_useState3","_useState4","menuRect","setMenuRect","useEffect","current","getBoundingClientRect","parentMenu","findClosestMenuParent","triggerRect","parentElement","parentMenuRect","menuHeight","height","overlapsRight","window","innerWidth","right","overlapsLeft","width","newLeft","calculateLeftPosition","newTop","calculateTopPosition"],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * @param pos - The position to flip. Can be 'left', 'right', 'top', or 'bottom'.
7
7
  * @returns The flipped position. Will be 'right' for 'left', 'left' for 'right', 'bottom' for 'top', and 'top' for 'bottom'.
8
8
  */
9
- var flipPosition = function flipPosition(pos) {
9
+ var flipPosition = pos => {
10
10
  switch (pos) {
11
11
  case 'left':
12
12
  return 'right';
@@ -1 +1 @@
1
- {"version":3,"file":"flip-position.js","sources":["../../../../../src/components/menu/utilities/flip-position.ts"],"sourcesContent":["import { MenuPosition } from '../constants';\n\n/**\n * Flips the given position to its opposite.\n *\n * @param pos - The position to flip. Can be 'left', 'right', 'top', or 'bottom'.\n * @returns The flipped position. Will be 'right' for 'left', 'left' for 'right', 'bottom' for 'top', and 'top' for 'bottom'.\n */\nexport const flipPosition = (pos: MenuPosition): MenuPosition => {\n\tswitch (pos) {\n\t\tcase 'left':\n\t\t\treturn 'right';\n\t\tcase 'right':\n\t\t\treturn 'left';\n\t\tcase 'top':\n\t\t\treturn 'bottom';\n\t\tcase 'bottom':\n\t\t\treturn 'top';\n\t}\n\treturn pos;\n};\n"],"names":["flipPosition","pos"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;IACaA,YAAY,GAAG,SAAfA,YAAYA,CAAIC,GAAiB,EAAmB;AAChE,EAAA,QAAQA,GAAG;AACV,IAAA,KAAK,MAAM;AACV,MAAA,OAAO,OAAO;AACf,IAAA,KAAK,OAAO;AACX,MAAA,OAAO,MAAM;AACd,IAAA,KAAK,KAAK;AACT,MAAA,OAAO,QAAQ;AAChB,IAAA,KAAK,QAAQ;AACZ,MAAA,OAAO,KAAK;AACd;AACA,EAAA,OAAOA,GAAG;AACX;;;;"}
1
+ {"version":3,"file":"flip-position.js","sources":["../../../../../src/components/menu/utilities/flip-position.ts"],"sourcesContent":["import { MenuPosition } from '../constants';\n\n/**\n * Flips the given position to its opposite.\n *\n * @param pos - The position to flip. Can be 'left', 'right', 'top', or 'bottom'.\n * @returns The flipped position. Will be 'right' for 'left', 'left' for 'right', 'bottom' for 'top', and 'top' for 'bottom'.\n */\nexport const flipPosition = (pos: MenuPosition): MenuPosition => {\n\tswitch (pos) {\n\t\tcase 'left':\n\t\t\treturn 'right';\n\t\tcase 'right':\n\t\t\treturn 'left';\n\t\tcase 'top':\n\t\t\treturn 'bottom';\n\t\tcase 'bottom':\n\t\t\treturn 'top';\n\t}\n\treturn pos;\n};\n"],"names":["flipPosition","pos"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,YAAY,GAAIC,GAAiB,IAAmB;AAChE,EAAA,QAAQA,GAAG;AACV,IAAA,KAAK,MAAM;AACV,MAAA,OAAO,OAAO;AACf,IAAA,KAAK,OAAO;AACX,MAAA,OAAO,MAAM;AACd,IAAA,KAAK,KAAK;AACT,MAAA,OAAO,QAAQ;AAChB,IAAA,KAAK,QAAQ;AACZ,MAAA,OAAO,KAAK;AACd;AACA,EAAA,OAAOA,GAAG;AACX;;;;"}
@@ -13,7 +13,10 @@ var MrlFocusTrap = require('../../focus-trap/MrlFocusTrap/MrlFocusTrap.js');
13
13
  var MrlIconButton = require('../../button/MrlIconButton/MrlIconButton.js');
14
14
  var MrlSvg = require('../../svg/MrlSvg/MrlSvg.js');
15
15
 
16
- function _interopNamespaceDefault(e) {
16
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
17
+
18
+ function _interopNamespace(e) {
19
+ if (e && e.__esModule) return e;
17
20
  var n = Object.create(null);
18
21
  if (e) {
19
22
  Object.keys(e).forEach(function (k) {
@@ -30,7 +33,8 @@ function _interopNamespaceDefault(e) {
30
33
  return Object.freeze(n);
31
34
  }
32
35
 
33
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
36
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
37
+ var classnames__default = /*#__PURE__*/_interopDefault(classnames);
34
38
 
35
39
  var _excluded = ["ariaLabel", "children", "className", "closable", "loading", "size", "state", "hookClose", "preventBackgroundScroll", "attrs"];
36
40
  /**
@@ -66,7 +70,7 @@ var MrlModal = /*#__PURE__*/React__namespace.forwardRef(function MrlModal(props,
66
70
  * Reference to the modal
67
71
  */
68
72
  var modal = React__namespace.useRef(null);
69
- React__namespace.useImperativeHandle(ref, function () {
73
+ React__namespace.useImperativeHandle(ref, () => {
70
74
  return modalContainer.current;
71
75
  });
72
76
 
@@ -83,9 +87,7 @@ var MrlModal = /*#__PURE__*/React__namespace.forwardRef(function MrlModal(props,
83
87
  /**
84
88
  * Open/Closed state of the modal
85
89
  */
86
- var _React$useState = React__namespace.useState(function () {
87
- return state;
88
- }),
90
+ var _React$useState = React__namespace.useState(() => state),
89
91
  _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
90
92
  modalState = _React$useState2[0],
91
93
  setModalState = _React$useState2[1];
@@ -146,7 +148,7 @@ var MrlModal = /*#__PURE__*/React__namespace.forwardRef(function MrlModal(props,
146
148
  * Handles when the user clicks on the overlay to close the modal
147
149
  * @param {React.KeyEvent} e - key event data
148
150
  */
149
- var handleKeyDismiss = function handleKeyDismiss(e) {
151
+ var handleKeyDismiss = e => {
150
152
  if (e.key === 'Escape') setModalState('close');
151
153
  };
152
154
 
@@ -154,7 +156,7 @@ var MrlModal = /*#__PURE__*/React__namespace.forwardRef(function MrlModal(props,
154
156
  * Handles when the user clicks on the overlay to close the modal
155
157
  * @param {MouseEvent} e - mouse event data
156
158
  */
157
- var handleDismiss = function handleDismiss(e) {
159
+ var handleDismiss = e => {
158
160
  if (modalContainer.current !== e.target) return;
159
161
  handleClose();
160
162
  };
@@ -162,14 +164,14 @@ var MrlModal = /*#__PURE__*/React__namespace.forwardRef(function MrlModal(props,
162
164
  /**
163
165
  * Handler logic for closing the modal
164
166
  */
165
- var handleClose = React__namespace.useCallback(function () {
167
+ var handleClose = React__namespace.useCallback(() => {
166
168
  setFadeState(MrlModal_module.default['fade-out']);
167
169
 
168
170
  /**
169
171
  * Set timeout to allow for fade out animation to complete
170
172
  * before we hide the modal from the DOM and call the close hook
171
173
  */
172
- var timeoutId = setTimeout(function () {
174
+ var timeoutId = setTimeout(() => {
173
175
  if (modal.current) {
174
176
  setDisplayState(MrlModal_module.default['hide']);
175
177
  }
@@ -178,7 +180,7 @@ var MrlModal = /*#__PURE__*/React__namespace.forwardRef(function MrlModal(props,
178
180
  if (preventBackgroundScroll) document.body.style.overflow = prevOverflow;
179
181
 
180
182
  // cleanup setTimeout
181
- return function () {
183
+ return () => {
182
184
  clearTimeout(timeoutId);
183
185
  };
184
186
  }, [hookClose, prevOverflow, preventBackgroundScroll]);
@@ -186,7 +188,7 @@ var MrlModal = /*#__PURE__*/React__namespace.forwardRef(function MrlModal(props,
186
188
  /**
187
189
  * Handler logic for opening the modal
188
190
  */
189
- var handleOpen = React__namespace.useCallback(function () {
191
+ var handleOpen = React__namespace.useCallback(() => {
190
192
  setDisplayState(MrlModal_module.default['display']);
191
193
  setFadeState(MrlModal_module.default['fade-in']);
192
194
  if (preventBackgroundScroll) {
@@ -198,7 +200,7 @@ var MrlModal = /*#__PURE__*/React__namespace.forwardRef(function MrlModal(props,
198
200
  /**
199
201
  * Sets the open/close state of the UI
200
202
  */
201
- React__namespace.useEffect(function () {
203
+ React__namespace.useEffect(() => {
202
204
  if (modalState === 'open') {
203
205
  handleOpen();
204
206
  } else if (modalState === 'close') {
@@ -213,14 +215,14 @@ var MrlModal = /*#__PURE__*/React__namespace.forwardRef(function MrlModal(props,
213
215
  /**
214
216
  * Sets modal state when the state prop changes
215
217
  */
216
- React__namespace.useEffect(function () {
218
+ React__namespace.useEffect(() => {
217
219
  setModalState(state);
218
220
  }, [state]);
219
221
 
220
222
  /**
221
223
  * ComponentDidLoad
222
224
  */
223
- React__namespace.useEffect(function () {
225
+ React__namespace.useEffect(() => {
224
226
  var el = modalContainer.current;
225
227
  if (el) {
226
228
  /**
@@ -243,14 +245,16 @@ var MrlModal = /*#__PURE__*/React__namespace.forwardRef(function MrlModal(props,
243
245
  /**
244
246
  * Cleanup overflow hidden when component unmounts
245
247
  */
246
- React__namespace.useEffect(function () {
247
- return function () {
248
+ React__namespace.useEffect(() => {
249
+ return () => {
248
250
  document.body.style.overflow = '';
249
251
  };
250
252
  }, []);
251
- var containerClasses = classnames('mrl-modal-container', 'mrl-modal-backdrop', className, MrlModal_module.default['mrl-modal-backdrop'], fadeState, displayState);
252
- var modalClasses = classnames('mrl-modal', MrlModal_module.default['mrl-modal'], attrs["class"] || attrs.className, _rollupPluginBabelHelpers.defineProperty({}, "mrl-modal--".concat(size), size !== constants.defaults.size));
253
- var closeClasses = classnames('mrl-modal-close', MrlModal_module.default['mrl-modal-close']);
253
+ var containerClasses = classnames__default.default('mrl-modal-container', 'mrl-modal-backdrop', className, MrlModal_module.default['mrl-modal-backdrop'], fadeState, displayState);
254
+ var modalClasses = classnames__default.default('mrl-modal', MrlModal_module.default['mrl-modal'], attrs.class || attrs.className, {
255
+ ["mrl-modal--".concat(size)]: size !== constants.defaults.size
256
+ });
257
+ var closeClasses = classnames__default.default('mrl-modal-close', MrlModal_module.default['mrl-modal-close']);
254
258
  var attrConfig = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
255
259
  'aria-hidden': (modalState === 'close').toString()
256
260
  }, ariaLabel ? {
@@ -263,15 +267,15 @@ var MrlModal = /*#__PURE__*/React__namespace.forwardRef(function MrlModal(props,
263
267
  'aria-modal': 'true',
264
268
  role: 'dialog'
265
269
  });
266
- delete attrs["class"];
270
+ delete attrs.class;
267
271
  delete attrs.className;
268
272
  var attributes = setAttributes.setAttributes(attrs, attrConfig);
269
273
  return /*#__PURE__*/React__namespace.createElement(MrlModalContext.MrlModalContext.Provider, {
270
274
  value: {
271
- scrollableContent: scrollableContent,
272
- setScrollableContent: setScrollableContent,
273
- setTitle: setTitle,
274
- title: title
275
+ scrollableContent,
276
+ setScrollableContent,
277
+ setTitle,
278
+ title
275
279
  }
276
280
  }, /*#__PURE__*/React__namespace.createElement(MrlFocusTrap.MrlFocusTrap, {
277
281
  disabled: loading,