@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
@@ -1,4 +1,4 @@
1
- import { objectWithoutProperties as _objectWithoutProperties, defineProperty as _defineProperty, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import * as React from 'react';
3
3
  import classnames from 'classnames';
4
4
  import { spinnerDefaults } from '../constants.js';
@@ -26,8 +26,16 @@ function MrlSpinner(_ref) {
26
26
  _ref$text = _ref.text,
27
27
  text = _ref$text === void 0 ? spinnerDefaults.text : _ref$text,
28
28
  rest = _objectWithoutProperties(_ref, _excluded);
29
- var containerClasses = classnames(styles['MrlSpinner-container'], 'MrlSpinner-container', _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(className, "-container"), className !== ''), styles["MrlSpinner-container--".concat(size)], size !== spinnerDefaults.size), styles["MrlSpinner-container--logo"], logo !== spinnerDefaults.logo), 'MrlSpinner-container--logo', logo !== spinnerDefaults.logo));
30
- var spinnerClasses = classnames(styles['MrlSpinner'], 'MrlSpinner', className, _defineProperty(_defineProperty({}, styles["MrlSpinner--".concat(kind)], kind !== spinnerDefaults.kind), styles["MrlSpinner--".concat(size)], size !== spinnerDefaults.size));
29
+ var containerClasses = classnames(styles['MrlSpinner-container'], 'MrlSpinner-container', {
30
+ ["".concat(className, "-container")]: className !== '',
31
+ [styles["MrlSpinner-container--".concat(size)]]: size !== spinnerDefaults.size,
32
+ [styles["MrlSpinner-container--logo"]]: logo !== spinnerDefaults.logo,
33
+ ['MrlSpinner-container--logo']: logo !== spinnerDefaults.logo
34
+ });
35
+ var spinnerClasses = classnames(styles['MrlSpinner'], 'MrlSpinner', className, {
36
+ [styles["MrlSpinner--".concat(kind)]]: kind !== spinnerDefaults.kind,
37
+ [styles["MrlSpinner--".concat(size)]]: size !== spinnerDefaults.size
38
+ });
31
39
  return /*#__PURE__*/React.createElement("span", _extends({}, rest, {
32
40
  className: containerClasses,
33
41
  role: role
@@ -1 +1 @@
1
- {"version":3,"file":"MrlSpinner.js","sources":["../../../../../src/components/loader/MrlSpinner/MrlSpinner.tsx"],"sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport { SpinnerComponent, spinnerDefaults } from '../constants';\n\nimport styles from './MrlSpinner.module.scss';\nimport '../../../styles/shared/a11y-helpers/a11y.global.scss';\n\n/**\n * MrlSpinner React component.\n *\n * @param props - component props\n * @returns a MrlSpinner React component.\n */\nexport function MrlSpinner({\n\tclassName = '',\n\tlogo = false,\n\tkind = spinnerDefaults.kind,\n\trole = spinnerDefaults.role,\n\tsize = spinnerDefaults.size,\n\ttext = spinnerDefaults.text,\n\t...rest\n}: SpinnerComponent): JSX.Element {\n\tconst containerClasses = classnames(styles['MrlSpinner-container'], 'MrlSpinner-container', {\n\t\t[`${className}-container`]: className !== '',\n\t\t[styles[`MrlSpinner-container--${size}`]]: size !== spinnerDefaults.size,\n\t\t[styles[`MrlSpinner-container--logo`]]: logo !== spinnerDefaults.logo,\n\t\t['MrlSpinner-container--logo']: logo !== spinnerDefaults.logo\n\t});\n\tconst spinnerClasses = classnames(styles['MrlSpinner'], 'MrlSpinner', className, {\n\t\t[styles[`MrlSpinner--${kind}`]]: kind !== spinnerDefaults.kind,\n\t\t[styles[`MrlSpinner--${size}`]]: size !== spinnerDefaults.size\n\t});\n\n\treturn (\n\t\t<span {...rest} className={containerClasses} role={role}>\n\t\t\t<span className={spinnerClasses} />\n\t\t\t{logo && (\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tviewBox=\"0 0 99 30\"\n\t\t\t\t\tdata-mrl-svg-name=\"brandWordmark\"\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\tclassName={styles.MrlSpinnerLogo}\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"#00843F\"\n\t\t\t\t\t\td=\"M80.557 29.328c-5.36 0-9.722-4.577-9.722-10.194 0-5.617 4.361-10.194 9.722-10.194 5.36 0 9.721 4.577 9.721 10.194 0 5.617-4.374 10.194-9.721 10.194Zm.594-15.73c-2.836 0-5.131 2.484-5.131 5.522 0 3.052 2.309 5.523 5.13 5.523 2.823 0 5.132-2.484 5.132-5.523 0-3.038-2.31-5.522-5.131-5.522Z\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path fill=\"#000\" d=\"M35.836 9.21h-5.185v19.794h5.185V9.21Z\"></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"#FF4B4B\"\n\t\t\t\t\t\td=\"M11.234 29.004V9.21A3.028 3.028 0 0 0 8.21 6.185 3.02 3.02 0 0 0 5.185 9.21H0c0-4.524 3.686-8.197 8.21-8.197 4.523 0 8.21 3.687 8.21 8.21v14.61h3.01V9.21c0-4.524 3.686-8.21 8.21-8.21 4.523 0 8.21 3.686 8.21 8.21h-5.186a3.028 3.028 0 0 0-3.024-3.025 3.028 3.028 0 0 0-3.025 3.025v19.794h-13.38Z\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"#000\"\n\t\t\t\t\t\td=\"M5.185 9.21H0v19.794h5.185V9.21Zm50.702 0h-5.185v11.166h5.185V9.21Z\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"#5887FF\"\n\t\t\t\t\t\td=\"M46.908 29.328c-4.942 0-8.966-4.023-8.966-8.965h5.185c0 2.08 1.702 3.78 3.781 3.78 2.08 0 3.78-1.7 3.78-3.78h5.186c0 4.942-4.024 8.965-8.966 8.965Z\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path fill=\"#000\" d=\"M43.141 9.21h-5.185v11.166h5.185V9.21Z\"></path>\n\t\t\t\t\t<path fill=\"#FC83FF\" d=\"M98.772 1.324h-5.185V9.21h5.185V1.324Z\"></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"#000\"\n\t\t\t\t\t\td=\"M91.467 9.21h-5.185v19.794h5.185V9.21Zm7.305 0h-5.185v19.794h5.185V9.21Zm-35.58 5.171h-5.185v14.61h5.185V14.38Z\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path fill=\"#FA0\" d=\"M70.767 9.21h-12.76v5.185h12.76V9.21Z\"></path>\n\t\t\t\t</svg>\n\t\t\t)}\n\t\t\t<span className=\"mrl-visually-hidden\">{text || spinnerDefaults.text}</span>\n\t\t</span>\n\t);\n}\n"],"names":["MrlSpinner","_ref","_ref$className","className","_ref$logo","logo","_ref$kind","kind","spinnerDefaults","_ref$role","role","_ref$size","size","_ref$text","text","rest","_objectWithoutProperties","_excluded","containerClasses","classnames","styles","_defineProperty","concat","spinnerClasses","React","createElement","_extends","xmlns","fill","viewBox","MrlSpinnerLogo","d"],"mappings":"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"}
1
+ {"version":3,"file":"MrlSpinner.js","sources":["../../../../../src/components/loader/MrlSpinner/MrlSpinner.tsx"],"sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport { SpinnerComponent, spinnerDefaults } from '../constants';\n\nimport styles from './MrlSpinner.module.scss';\nimport '../../../styles/shared/a11y-helpers/a11y.global.scss';\n\n/**\n * MrlSpinner React component.\n *\n * @param props - component props\n * @returns a MrlSpinner React component.\n */\nexport function MrlSpinner({\n\tclassName = '',\n\tlogo = false,\n\tkind = spinnerDefaults.kind,\n\trole = spinnerDefaults.role,\n\tsize = spinnerDefaults.size,\n\ttext = spinnerDefaults.text,\n\t...rest\n}: SpinnerComponent): JSX.Element {\n\tconst containerClasses = classnames(styles['MrlSpinner-container'], 'MrlSpinner-container', {\n\t\t[`${className}-container`]: className !== '',\n\t\t[styles[`MrlSpinner-container--${size}`]]: size !== spinnerDefaults.size,\n\t\t[styles[`MrlSpinner-container--logo`]]: logo !== spinnerDefaults.logo,\n\t\t['MrlSpinner-container--logo']: logo !== spinnerDefaults.logo\n\t});\n\tconst spinnerClasses = classnames(styles['MrlSpinner'], 'MrlSpinner', className, {\n\t\t[styles[`MrlSpinner--${kind}`]]: kind !== spinnerDefaults.kind,\n\t\t[styles[`MrlSpinner--${size}`]]: size !== spinnerDefaults.size\n\t});\n\n\treturn (\n\t\t<span {...rest} className={containerClasses} role={role}>\n\t\t\t<span className={spinnerClasses} />\n\t\t\t{logo && (\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\tfill=\"none\"\n\t\t\t\t\tviewBox=\"0 0 99 30\"\n\t\t\t\t\tdata-mrl-svg-name=\"brandWordmark\"\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\tclassName={styles.MrlSpinnerLogo}\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"#00843F\"\n\t\t\t\t\t\td=\"M80.557 29.328c-5.36 0-9.722-4.577-9.722-10.194 0-5.617 4.361-10.194 9.722-10.194 5.36 0 9.721 4.577 9.721 10.194 0 5.617-4.374 10.194-9.721 10.194Zm.594-15.73c-2.836 0-5.131 2.484-5.131 5.522 0 3.052 2.309 5.523 5.13 5.523 2.823 0 5.132-2.484 5.132-5.523 0-3.038-2.31-5.522-5.131-5.522Z\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path fill=\"#000\" d=\"M35.836 9.21h-5.185v19.794h5.185V9.21Z\"></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"#FF4B4B\"\n\t\t\t\t\t\td=\"M11.234 29.004V9.21A3.028 3.028 0 0 0 8.21 6.185 3.02 3.02 0 0 0 5.185 9.21H0c0-4.524 3.686-8.197 8.21-8.197 4.523 0 8.21 3.687 8.21 8.21v14.61h3.01V9.21c0-4.524 3.686-8.21 8.21-8.21 4.523 0 8.21 3.686 8.21 8.21h-5.186a3.028 3.028 0 0 0-3.024-3.025 3.028 3.028 0 0 0-3.025 3.025v19.794h-13.38Z\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"#000\"\n\t\t\t\t\t\td=\"M5.185 9.21H0v19.794h5.185V9.21Zm50.702 0h-5.185v11.166h5.185V9.21Z\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"#5887FF\"\n\t\t\t\t\t\td=\"M46.908 29.328c-4.942 0-8.966-4.023-8.966-8.965h5.185c0 2.08 1.702 3.78 3.781 3.78 2.08 0 3.78-1.7 3.78-3.78h5.186c0 4.942-4.024 8.965-8.966 8.965Z\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path fill=\"#000\" d=\"M43.141 9.21h-5.185v11.166h5.185V9.21Z\"></path>\n\t\t\t\t\t<path fill=\"#FC83FF\" d=\"M98.772 1.324h-5.185V9.21h5.185V1.324Z\"></path>\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"#000\"\n\t\t\t\t\t\td=\"M91.467 9.21h-5.185v19.794h5.185V9.21Zm7.305 0h-5.185v19.794h5.185V9.21Zm-35.58 5.171h-5.185v14.61h5.185V14.38Z\"\n\t\t\t\t\t></path>\n\t\t\t\t\t<path fill=\"#FA0\" d=\"M70.767 9.21h-12.76v5.185h12.76V9.21Z\"></path>\n\t\t\t\t</svg>\n\t\t\t)}\n\t\t\t<span className=\"mrl-visually-hidden\">{text || spinnerDefaults.text}</span>\n\t\t</span>\n\t);\n}\n"],"names":["MrlSpinner","_ref","_ref$className","className","_ref$logo","logo","_ref$kind","kind","spinnerDefaults","_ref$role","role","_ref$size","size","_ref$text","text","rest","_objectWithoutProperties","_excluded","containerClasses","classnames","styles","concat","spinnerClasses","React","createElement","_extends","xmlns","fill","viewBox","MrlSpinnerLogo","d"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, defineProperty as _defineProperty, extends as _extends, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import * as React from 'react';
3
3
  import { useTriggerPosition } from '../../../hooks/useTriggerPosition/index.js';
4
4
  import { useClickOutside } from '../../../hooks/useClickOutside/index.js';
@@ -88,7 +88,7 @@ function MrlMenu(_ref) {
88
88
  * Checks if the trigger element is disabled
89
89
  * @returns {boolean} - true if the trigger element is disabled, false otherwise
90
90
  */
91
- var isTriggerDisabled = React.useCallback(function () {
91
+ var isTriggerDisabled = React.useCallback(() => {
92
92
  return isElementAriaDisabled(triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.current);
93
93
  }, [triggerRef]);
94
94
 
@@ -96,37 +96,33 @@ function MrlMenu(_ref) {
96
96
  * Sets up trigger event listeners to open and close the menu
97
97
  * @param e - mouse event
98
98
  */
99
- var toggleMenuTrigger = React.useCallback(function (e) {
99
+ var toggleMenuTrigger = React.useCallback(e => {
100
100
  if (isTriggerDisabled()) return;
101
101
  if (triggerStopPropagation) {
102
102
  preventDefault(e);
103
103
  }
104
- setState(function (prevState) {
105
- return {
106
- actionType: 'click',
107
- isOpen: !prevState.isOpen
108
- };
109
- });
104
+ setState(prevState => ({
105
+ actionType: 'click',
106
+ isOpen: !prevState.isOpen
107
+ }));
110
108
  }, [triggerStopPropagation, isTriggerDisabled]);
111
109
 
112
110
  /**
113
111
  * Used to display the menu when hovering over a menu item that has a submenu
114
112
  */
115
- var showMenuHover = React.useCallback(function () {
113
+ var showMenuHover = React.useCallback(() => {
116
114
  setState({
117
115
  actionType: 'click',
118
116
  isOpen: true
119
117
  });
120
118
  }, []);
121
- var showMenuTap = React.useCallback(function () {
122
- setState(function (prevState) {
123
- return {
124
- actionType: 'click',
125
- isOpen: !prevState.isOpen
126
- };
127
- });
119
+ var showMenuTap = React.useCallback(() => {
120
+ setState(prevState => ({
121
+ actionType: 'click',
122
+ isOpen: !prevState.isOpen
123
+ }));
128
124
  }, []);
129
- var hideMenuHover = React.useCallback(function (event) {
125
+ var hideMenuHover = React.useCallback(event => {
130
126
  var relatedTarget = event.relatedTarget;
131
127
 
132
128
  // If the related target is not a child of the menu, close the menu
@@ -142,8 +138,8 @@ function MrlMenu(_ref) {
142
138
  /**
143
139
  * Sets up trigger event listeners to open and close the menu with a keyboard
144
140
  */
145
- var toggleMenuKey = React.useCallback(function (e) {
146
- var openMenu = function openMenu() {
141
+ var toggleMenuKey = React.useCallback(e => {
142
+ var openMenu = () => {
147
143
  if (isTriggerDisabled()) return;
148
144
  setState({
149
145
  actionType: e.key,
@@ -203,7 +199,7 @@ function MrlMenu(_ref) {
203
199
  */
204
200
  var disableClickOutside = !state.isOpen || position === 'static';
205
201
  useClickOutside(menuRef, triggerRef, clickOutsideEvent, closeMenu, disableClickOutside);
206
- var handleMenuKeyUp = function handleMenuKeyUp(e) {
202
+ var handleMenuKeyUp = e => {
207
203
  var actions = ['ArrowUp', 'ArrowDown', 'ArrowRight', 'Enter', 'Escape', ' '];
208
204
  if (actions.includes(e.key)) {
209
205
  preventDefault(e);
@@ -214,11 +210,9 @@ function MrlMenu(_ref) {
214
210
  * Focus management when someone is using a keyboard to navigate the menu
215
211
  * @param e - keyboard event
216
212
  */
217
- var handleMenuKey = function handleMenuKey(e) {
213
+ var handleMenuKey = e => {
218
214
  var _menuItems$nextIndex, _menuItems$nextIndex2, _triggerRef$current;
219
- var currentIndex = menuItems.findIndex(function (item) {
220
- return document.activeElement === item;
221
- });
215
+ var currentIndex = menuItems.findIndex(item => document.activeElement === item);
222
216
  var nextIndex;
223
217
  if (state.isOpen) {
224
218
  switch (e.key) {
@@ -269,13 +263,13 @@ function MrlMenu(_ref) {
269
263
  * useEffect hooks to handle menu state changes
270
264
  */
271
265
 
272
- React.useEffect(function () {
266
+ React.useEffect(() => {
273
267
  if (triggerRef !== null && triggerRef !== void 0 && triggerRef.current) {
274
268
  triggerRef.current.setAttribute('aria-haspopup', 'menu');
275
269
  }
276
270
  // eslint-disable-next-line react-hooks/exhaustive-deps
277
271
  }, []);
278
- React.useEffect(function () {
272
+ React.useEffect(() => {
279
273
  if (position === 'static') {
280
274
  setState({
281
275
  actionType: 'click',
@@ -283,12 +277,12 @@ function MrlMenu(_ref) {
283
277
  });
284
278
  }
285
279
  }, [position]);
286
- React.useEffect(function () {
280
+ React.useEffect(() => {
287
281
  var _triggerRef$current2;
288
282
  triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.setAttribute('aria-expanded', state.isOpen.toString());
289
283
  // eslint-disable-next-line react-hooks/exhaustive-deps
290
284
  }, [state.isOpen]);
291
- React.useEffect(function () {
285
+ React.useEffect(() => {
292
286
  if (!isSubMenu && position !== 'static') setState({
293
287
  actionType: actionState.actionType,
294
288
  isOpen: actionState.isOpen
@@ -296,7 +290,7 @@ function MrlMenu(_ref) {
296
290
  }, [actionState.isOpen, actionState.actionType, isSubMenu, position]);
297
291
 
298
292
  // setup event handlers for mouse, keyboard, and scroll interactions
299
- React.useEffect(function () {
293
+ React.useEffect(() => {
300
294
  var triggerElement = triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.current;
301
295
  var menuElement = menuRef === null || menuRef === void 0 ? void 0 : menuRef.current;
302
296
  var menuItems = menuElement === null || menuElement === void 0 ? void 0 : menuElement.querySelectorAll(MENU_ITEM_SELECTOR);
@@ -321,24 +315,20 @@ function MrlMenu(_ref) {
321
315
  if (closeOnScroll) {
322
316
  scrollableParent = getScrollableParent(triggerElement);
323
317
  if (scrollableParent) {
324
- scrollableParent.addEventListener('scroll', function () {
325
- return closeMenu();
326
- }, {
318
+ scrollableParent.addEventListener('scroll', () => closeMenu(), {
327
319
  capture: true,
328
320
  passive: true
329
321
  });
330
322
  }
331
323
  }
332
- return function () {
324
+ return () => {
333
325
  triggerElement.removeEventListener('mousedown', preventDefault);
334
326
  if (!isSubMenu) triggerElement.removeEventListener('click', toggleMenuTrigger);
335
327
  triggerElement.removeEventListener('keydown', toggleMenuKey);
336
328
  if (menuItems) {
337
- menuItems.forEach(function (item) {
329
+ menuItems.forEach(item => {
338
330
  if (!item.getAttribute('aria-haspopup')) {
339
- item.removeEventListener('mousedown', function () {
340
- return closeMenu();
341
- });
331
+ item.removeEventListener('mousedown', () => closeMenu());
342
332
  }
343
333
  });
344
334
  }
@@ -354,9 +344,7 @@ function MrlMenu(_ref) {
354
344
  }
355
345
  }
356
346
  if (closeOnScroll && scrollableParent) {
357
- scrollableParent.removeEventListener('scroll', function () {
358
- return closeMenu();
359
- });
347
+ scrollableParent.removeEventListener('scroll', () => closeMenu());
360
348
  }
361
349
  };
362
350
  }
@@ -366,7 +354,7 @@ function MrlMenu(_ref) {
366
354
  // - making sure that the menu component is aware of it's menu items
367
355
  // - adding a class to the trigger element when the submenu is open for styling
368
356
  // - storing the menu rect in state for positioning calculations
369
- React.useEffect(function () {
357
+ React.useEffect(() => {
370
358
  if (state.isOpen) {
371
359
  var _menuRef$current;
372
360
  var foundMenuItems = Array.from(((_menuRef$current = menuRef.current) === null || _menuRef$current === void 0 ? void 0 : _menuRef$current.querySelectorAll(MENU_ITEM_SELECTOR)) || []);
@@ -395,7 +383,7 @@ function MrlMenu(_ref) {
395
383
  /**
396
384
  * Focus management for when the menu is opening or closing
397
385
  */
398
- React.useEffect(function () {
386
+ React.useEffect(() => {
399
387
  var _menuItemToFocus, _menuItemToFocus2;
400
388
  if (menuItems.length > 0) {
401
389
  var menuItemToFocus;
@@ -413,7 +401,7 @@ function MrlMenu(_ref) {
413
401
  // Scroll to the bottom of the menu when the last item is focused
414
402
  // setTimeout is required to ensure the element has been rendered
415
403
  // and the scrollHeight is accurate prior to scrolling
416
- setTimeout(function () {
404
+ setTimeout(() => {
417
405
  if (listRef.current) {
418
406
  listRef.current.scrollTo(0, listRef.current.scrollHeight);
419
407
  }
@@ -505,27 +493,33 @@ function MrlMenu(_ref) {
505
493
  }
506
494
  };
507
495
  var transitions = useTransition(state.isOpen, position === 'static' ? transitionStatic : transitionConfig);
508
- var menuClasses = classnames(styles$1['MrlMenu'], 'MrlMenu', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, styles$1['MrlMenu--submenu'], isSubMenu), styles$1.open, state.isOpen), styles$1['MrlMenu--compact'], spacing === 'compact'), styles$1['MrlMenu--static'], position === 'static'), styles$1['MrlMenu--internal'], isInternal), styles$1['MrlMenu--scrolling'], menuScroll.isScrolling), styles$1['MrlMenu--ignore'], position === 'ignore'));
496
+ var menuClasses = classnames(styles$1['MrlMenu'], 'MrlMenu', {
497
+ [styles$1['MrlMenu--submenu']]: isSubMenu,
498
+ [styles$1.open]: state.isOpen,
499
+ [styles$1['MrlMenu--compact']]: spacing === 'compact',
500
+ [styles$1['MrlMenu--static']]: position === 'static',
501
+ [styles$1['MrlMenu--internal']]: isInternal,
502
+ [styles$1['MrlMenu--scrolling']]: menuScroll.isScrolling,
503
+ [styles$1['MrlMenu--ignore']]: position === 'ignore'
504
+ });
509
505
  var positionStyles = isSubMenu ? inlineStyles.submenu : position !== 'static' ? inlineStyles.menu : {};
510
506
  var menuScrollStyles = menuScroll.maxHeight !== undefined && {
511
507
  maxHeight: menuScroll.maxHeight
512
508
  } || undefined;
513
- var renderMenu = function renderMenu() {
514
- return /*#__PURE__*/React.createElement(React.Fragment, null, transitions(function (style, item) {
515
- return item && /*#__PURE__*/React.createElement(animated.div, _extends({
516
- className: menuClasses,
517
- id: id,
518
- style: _objectSpread2(_objectSpread2({}, positionStyles), style),
519
- onKeyUp: handleMenuKeyUp,
520
- onKeyDown: handleMenuKey,
521
- ref: menuRef,
522
- role: "none"
523
- }, remainingProps), /*#__PURE__*/React.createElement("ul", {
524
- ref: listRef,
525
- role: "menu",
526
- style: menuScrollStyles
527
- }, children));
528
- }));
509
+ var renderMenu = () => {
510
+ return /*#__PURE__*/React.createElement(React.Fragment, null, transitions((style, item) => item && /*#__PURE__*/React.createElement(animated.div, _extends({
511
+ className: menuClasses,
512
+ id: id,
513
+ style: _objectSpread2(_objectSpread2({}, positionStyles), style),
514
+ onKeyUp: handleMenuKeyUp,
515
+ onKeyDown: handleMenuKey,
516
+ ref: menuRef,
517
+ role: "none"
518
+ }, remainingProps), /*#__PURE__*/React.createElement("ul", {
519
+ ref: listRef,
520
+ role: "menu",
521
+ style: menuScrollStyles
522
+ }, children))));
529
523
  };
530
524
 
531
525
  // For managing and restoring focus to the original menu trigger
@@ -534,7 +528,7 @@ function MrlMenu(_ref) {
534
528
  var contextTriggerRef = isSubMenu ? parentContext === null || parentContext === void 0 ? void 0 : parentContext.triggerRef : triggerRef;
535
529
  return /*#__PURE__*/React.createElement(MrlMenuContext.Provider, {
536
530
  value: {
537
- closeMenu: closeMenu,
531
+ closeMenu,
538
532
  closeParent: !isSubMenu ? closeMenu : undefined,
539
533
  triggerRef: contextTriggerRef
540
534
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MrlMenu.js","sources":["../../../../../src/components/menu/MrlMenu/MrlMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport { MrlPortal, PortalProps } from '../../../components';\nimport { useTriggerPosition } from '../../../hooks/useTriggerPosition';\nimport { useClickOutside } from '../../../hooks/useClickOutside';\nimport { useSubMenuElementPosition } from '../hooks/useSubMenuElementPosition';\nimport {\n\tMenuPosition,\n\tMenuAlignment,\n\tActionState,\n\tActionType,\n\tCustomMenuPosition\n} from '../constants';\nimport { PORTAL_LAYERS } from '../../../utils/layers';\nimport {\n\tfindAdjacentInteractiveElement,\n\tpreventDefault,\n\tisElementAriaDisabled\n} from '../../../utils';\nimport classnames from 'classnames';\nimport { MrlMenuContext } from '../context/MrlMenuContext';\nimport styles from './MrlMenu.module.scss';\nimport itemStyles from '../MrlMenuItem/MrlMenuItem.module.scss';\nimport { useTransition, animated } from '@react-spring/web';\nimport { isTouchDevice } from '../../../utils/isTouch';\nimport { getScrollableParent } from '../utilities/get-scrollable-parent';\nimport { useMenuScroll } from '../hooks/useMenuScroll';\n\nexport interface MrlMenuProps {\n\t/** Custom position for the menu */\n\tcustomPosition?: CustomMenuPosition;\n\n\t/** Children to be rendered within the menu component*/\n\tchildren: React.ReactNode;\n\n\t/** Event to close the menu */\n\tclickOutsideEvent?: 'mousedown' | 'mouseup' | 'click';\n\n\t/**\n\t * Enables closing the menu when scrolling. Default is false.\n\t *\n\t */\n\tcloseOnScroll?: boolean;\n\n\t/**\n\t * Private closeParent prop for use with MrlMenuItem\n\t *\n\t * !!! Please do not use this prop directly, it is only used internally by MrlMenuItem !!!\n\t * @private\n\t */\n\tcloseParent?: () => void;\n\n\t/**\n\t * Disable arrows from opening the menu\n\t * - This is useful when you want to disable the default browser behavior of opening a menu on arrow down.\n\t *\n\t * Example usage: the menu is within a vertical toolbar and you want to use the arrow keys to navigate the toolbar.\n\t * By using this prop you can disable the arrow key open/close so that navigating the toolbar does not conflict\n\t * with opening/closing the menu.\n\t */\n\tdisableArrowOpen?: boolean;\n\n\t/**\n\t * Disable flipping of the menu when it goes off the screen\n\t * @default false\n\t */\n\tdisableFlipping?: boolean;\n\n\t/** Unique identifier for the menu */\n\tid?: string;\n\n\t/**\n\t * Use when the menu is embedded within another component\n\t * Removes the following styles:\n\t * - padding on the menu\n\t * - drop shadow and border\n\t * @default false\n\t */\n\tisInternal?: boolean;\n\n\t/**\n\t * Private isSubMenu prop for use with MrlMenuItem\n\t *\n\t * !!! Please do not use this prop directly, it is only used internally by MrlMenuItem !!!\n\t * @private\n\t */\n\tisSubMenu?: boolean;\n\n\t/**\n\t * spacing of menu\n\t * - compact has less padding\n\t * @default 'default'\n\t */\n\tspacing?: 'default' | 'compact';\n\n\t/**\n\t * Offset of the menu from the trigger element in pixels\n\t * @default 10px\n\t */\n\tmenuOffset?: number;\n\n\t/**\n\t * Configuration for the portal component\n\t */\n\tportalProps?: Omit<PortalProps, 'children'>;\n\n\t/**\n\t * Horizontal and vertical alignment of the menu relative to the trigger element\n\t * - position 'left', 'right', 'top', 'bottom' position relative to the trigger\n\t * - position 'static' renders the menu in place, not using the portal\n\t * - position 'ignore' will not position the menu, allowing you to use the customPosition prop to position the element\n\t * @default 'bottom'\n\t */\n\tposition?: MenuPosition;\n\n\t/**\n\t * Set initial state of menu\n\t * @default { actionType: null, isOpen: false }\n\t */\n\tactionState?: ActionState;\n\n\t/**\n\t * Reference to the DOM element that triggers this menu.\n\t */\n\ttriggerRef?: React.RefObject<HTMLButtonElement>;\n\n\t/**\n\t * Trigger stop propagation on click\n\t *\n\t * In some instances we may want the trigger element to stop propogation to the\n\t * rest of the DOM. Use this flag to enable and disable it.\n\t * @default false\n\t */\n\ttriggerStopPropagation?: boolean;\n\n\t/**\n\t * Vertical and horizontal alignment of the menu relative to the position of the menu with the trigger\n\t * - 'left' and 'right' work with position 'top' and 'bottom'\n\t * - 'top' and 'bottom' work with position 'left' and 'right'\n\t * - 'center' works with all positions\n\t *\n\t * This does not impact submenus\n\t */\n\talignment?: MenuAlignment;\n\n\t/**\n\t * Callback to be called when the menu is closed\n\t * @param type - type of close event\n\t */\n\tonClose?: (type?: string) => void;\n}\n\nconst MENU_ITEM_SELECTOR = '[role=\"menuitem\"], [role=\"menuitemcheckbox\"], [role=\"menuitemradio\"]';\n\n/**\n * MrlMenu component\n *\n * Renders a menu component with alignment relative to a trigger element\n * @param {MrlMenuProps} props - The props for the MrlMenu component\n * @returns {Element} - rendered MrlMenu component\n */\nexport function MrlMenu({\n\tactionState = { actionType: null, isOpen: false },\n\talignment = 'center',\n\tchildren,\n\tcloseOnScroll = false,\n\tcloseParent,\n\tcustomPosition,\n\tclickOutsideEvent = 'mouseup',\n\tdisableArrowOpen,\n\tdisableFlipping = false,\n\tid,\n\tisInternal = false,\n\tisSubMenu = false,\n\tspacing = 'default',\n\tmenuOffset = 10,\n\tportalProps = { id: PORTAL_LAYERS.MENU.name },\n\tposition = 'bottom',\n\ttriggerStopPropagation = false,\n\tonClose,\n\ttriggerRef,\n\t...remainingProps\n}: MrlMenuProps): JSX.Element {\n\tconst defaultOpenState = position === 'static' || false;\n\n\tconst [state, setState] = React.useState({\n\t\tactionType: null,\n\t\tisOpen: defaultOpenState\n\t} as ActionState);\n\n\tconst menuRef = React.useRef<HTMLDivElement>(null);\n\tconst listRef = React.useRef<HTMLUListElement>(null);\n\tconst [menuItems, setMenuItems] = React.useState<HTMLButtonElement[]>([]);\n\tconst [menuRect, setMenuRect] = React.useState<DOMRect | null>(null);\n\n\t/**\n\t * Checks if the trigger element is disabled\n\t * @returns {boolean} - true if the trigger element is disabled, false otherwise\n\t */\n\tconst isTriggerDisabled = React.useCallback((): boolean => {\n\t\treturn isElementAriaDisabled(triggerRef?.current);\n\t}, [triggerRef]);\n\n\t/**\n\t * Sets up trigger event listeners to open and close the menu\n\t * @param e - mouse event\n\t */\n\tconst toggleMenuTrigger = React.useCallback(\n\t\t(e: MouseEvent) => {\n\t\t\tif (isTriggerDisabled()) return;\n\n\t\t\tif (triggerStopPropagation) {\n\t\t\t\tpreventDefault(e);\n\t\t\t}\n\n\t\t\tsetState((prevState) => ({ actionType: 'click', isOpen: !prevState.isOpen }));\n\t\t},\n\t\t[triggerStopPropagation, isTriggerDisabled]\n\t);\n\n\t/**\n\t * Used to display the menu when hovering over a menu item that has a submenu\n\t */\n\tconst showMenuHover = React.useCallback(() => {\n\t\tsetState({ actionType: 'click', isOpen: true });\n\t}, []);\n\n\tconst showMenuTap = React.useCallback(() => {\n\t\tsetState((prevState) => ({ actionType: 'click', isOpen: !prevState.isOpen }));\n\t}, []);\n\n\tconst hideMenuHover = React.useCallback(\n\t\t(event: MouseEvent) => {\n\t\t\tconst relatedTarget = event.relatedTarget as Node;\n\n\t\t\t// If the related target is not a child of the menu, close the menu\n\t\t\t// This prevents the menu from closing when hovering over a submenu item or trigger\n\t\t\tif (\n\t\t\t\ttriggerRef &&\n\t\t\t\tmenuRef.current &&\n\t\t\t\t!menuRef.current.contains(relatedTarget) &&\n\t\t\t\ttriggerRef.current &&\n\t\t\t\t!triggerRef.current.contains(relatedTarget)\n\t\t\t) {\n\t\t\t\tsetState({ actionType: null, isOpen: false });\n\t\t\t}\n\t\t},\n\t\t[triggerRef]\n\t);\n\n\t/**\n\t * Sets up trigger event listeners to open and close the menu with a keyboard\n\t */\n\tconst toggleMenuKey = React.useCallback(\n\t\t(e: KeyboardEvent) => {\n\t\t\tconst openMenu = () => {\n\t\t\t\tif (isTriggerDisabled()) return;\n\t\t\t\tsetState({ actionType: e.key as ActionType, isOpen: true });\n\t\t\t};\n\n\t\t\tif (!state.isOpen) {\n\t\t\t\tif (isSubMenu) {\n\t\t\t\t\tswitch (e.key) {\n\t\t\t\t\t\tcase 'ArrowRight':\n\t\t\t\t\t\tcase 'Enter':\n\t\t\t\t\t\tcase ' ':\n\t\t\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\t\t\topenMenu();\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tswitch (e.key) {\n\t\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\t\tif (!disableArrowOpen && !isTriggerDisabled()) {\n\t\t\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\t\t\topenMenu();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'Enter':\n\t\t\t\t\tcase ' ':\n\t\t\t\t\t\tif (isTriggerDisabled()) return;\n\t\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\t\topenMenu();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[state.isOpen, isTriggerDisabled, disableArrowOpen, isSubMenu]\n\t);\n\n\tconst closeMenu = React.useCallback(\n\t\t(shouldCloseParent = true) => {\n\t\t\tif (position === 'static') return;\n\n\t\t\t/**\n\t\t\t * What is closeParent?\n\t\t\t *\n\t\t\t * It is passed from the context provider to the MenuItem (which helps render our submenus)\n\t\t\t * When we render the submenu, we pass the closeMenu function as \"closeParent\" to the submenu.\n\t\t\t * This allows us to trigger closing the parent menu when the submenu is closed. And that's\n\t\t\t * what this call is for.\n\t\t\t */\n\t\t\tif (shouldCloseParent && closeParent) closeParent();\n\n\t\t\tsetState({ actionType: null, isOpen: false });\n\t\t\tonClose?.();\n\t\t},\n\t\t[position, closeParent, onClose]\n\t);\n\n\t/**\n\t * Click outside to dismiss the menu\n\t * @param e\n\t */\n\tconst disableClickOutside = !state.isOpen || position === 'static';\n\tuseClickOutside(menuRef, triggerRef, clickOutsideEvent, closeMenu, disableClickOutside);\n\n\tconst handleMenuKeyUp = (e: React.KeyboardEvent) => {\n\t\tconst actions: ActionType[] = ['ArrowUp', 'ArrowDown', 'ArrowRight', 'Enter', 'Escape', ' '];\n\n\t\tif (actions.includes(e.key as ActionType)) {\n\t\t\tpreventDefault(e);\n\t\t}\n\t};\n\n\t/**\n\t * Focus management when someone is using a keyboard to navigate the menu\n\t * @param e - keyboard event\n\t */\n\tconst handleMenuKey = (e: React.KeyboardEvent) => {\n\t\tconst currentIndex = menuItems.findIndex((item) => document.activeElement === item);\n\t\tlet nextIndex: number;\n\n\t\tif (state.isOpen) {\n\t\t\tswitch (e.key) {\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\tnextIndex = currentIndex < menuItems.length - 1 ? currentIndex + 1 : currentIndex;\n\t\t\t\t\tmenuItems[nextIndex]?.focus();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\tnextIndex = currentIndex > 0 ? currentIndex - 1 : 0;\n\t\t\t\t\tmenuItems[nextIndex]?.focus();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowRight':\n\t\t\t\tcase 'ArrowLeft':\n\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Escape':\n\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\ttriggerRef?.current?.focus();\n\t\t\t\t\tcloseMenu(false);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Tab':\n\t\t\t\t\tif (!isSubMenu && position !== 'static') {\n\t\t\t\t\t\tif (e.shiftKey) {\n\t\t\t\t\t\t\t// Handle shift + tab: move focus to the previous item\n\t\t\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\t\t\tif (triggerRef) {\n\t\t\t\t\t\t\t\tconst prevElement = findAdjacentInteractiveElement(triggerRef, 'previous');\n\t\t\t\t\t\t\t\tprevElement?.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Regular tab: close the menu or move to the next item\n\t\t\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\t\t\tif (triggerRef) {\n\t\t\t\t\t\t\t\tconst nextElement = findAdjacentInteractiveElement(triggerRef);\n\t\t\t\t\t\t\t\tnextElement?.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcloseMenu();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * useEffect hooks to handle menu state changes\n\t */\n\n\tReact.useEffect(() => {\n\t\tif (triggerRef?.current) {\n\t\t\ttriggerRef.current.setAttribute('aria-haspopup', 'menu');\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tReact.useEffect(() => {\n\t\tif (position === 'static') {\n\t\t\tsetState({ actionType: 'click', isOpen: true });\n\t\t}\n\t}, [position]);\n\n\tReact.useEffect(() => {\n\t\ttriggerRef?.current?.setAttribute('aria-expanded', state.isOpen.toString());\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [state.isOpen]);\n\n\tReact.useEffect(() => {\n\t\tif (!isSubMenu && position !== 'static')\n\t\t\tsetState({ actionType: actionState.actionType, isOpen: actionState.isOpen });\n\t}, [actionState.isOpen, actionState.actionType, isSubMenu, position]);\n\n\t// setup event handlers for mouse, keyboard, and scroll interactions\n\tReact.useEffect(() => {\n\t\tconst triggerElement = triggerRef?.current;\n\t\tconst menuElement = menuRef?.current;\n\t\tconst menuItems = menuElement?.querySelectorAll(MENU_ITEM_SELECTOR);\n\n\t\tlet scrollableParent: HTMLElement | Window;\n\n\t\tif (triggerElement) {\n\t\t\ttriggerElement.addEventListener('mousedown', preventDefault);\n\t\t\tif (!isSubMenu) triggerElement.addEventListener('click', toggleMenuTrigger);\n\t\t\ttriggerElement.addEventListener('keydown', toggleMenuKey);\n\n\t\t\t// Setup event listeners for when the menu is a submenu\n\t\t\tif (isSubMenu) {\n\t\t\t\ttriggerElement.addEventListener('mouseover', showMenuHover);\n\t\t\t\ttriggerElement.addEventListener('mouseout', hideMenuHover);\n\n\t\t\t\tif (isTouchDevice()) {\n\t\t\t\t\ttriggerElement.addEventListener('touchend', showMenuTap);\n\t\t\t\t}\n\n\t\t\t\tif (menuElement) {\n\t\t\t\t\tmenuElement.addEventListener('mouseover', showMenuHover);\n\t\t\t\t\tmenuElement.addEventListener('mouseout', hideMenuHover);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (closeOnScroll) {\n\t\t\t\tscrollableParent = getScrollableParent(triggerElement);\n\t\t\t\tif (scrollableParent) {\n\t\t\t\t\tscrollableParent.addEventListener('scroll', () => closeMenu(), {\n\t\t\t\t\t\tcapture: true,\n\t\t\t\t\t\tpassive: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\ttriggerElement.removeEventListener('mousedown', preventDefault);\n\t\t\t\tif (!isSubMenu) triggerElement.removeEventListener('click', toggleMenuTrigger);\n\t\t\t\ttriggerElement.removeEventListener('keydown', toggleMenuKey);\n\n\t\t\t\tif (menuItems) {\n\t\t\t\t\tmenuItems.forEach((item: Element) => {\n\t\t\t\t\t\tif (!item.getAttribute('aria-haspopup')) {\n\t\t\t\t\t\t\titem.removeEventListener('mousedown', () => closeMenu());\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (isSubMenu) {\n\t\t\t\t\ttriggerElement.removeEventListener('mouseover', showMenuHover);\n\t\t\t\t\ttriggerElement.removeEventListener('mouseout', hideMenuHover);\n\n\t\t\t\t\tif (isTouchDevice()) {\n\t\t\t\t\t\ttriggerElement.removeEventListener('touchstart', showMenuHover);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (menuElement) {\n\t\t\t\t\t\tmenuElement.removeEventListener('mouseover', showMenuHover);\n\t\t\t\t\t\tmenuElement.removeEventListener('mouseout', hideMenuHover);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (closeOnScroll && scrollableParent) {\n\t\t\t\t\tscrollableParent.removeEventListener('scroll', () => closeMenu());\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}, [\n\t\tcloseOnScroll,\n\t\tisSubMenu,\n\t\ttriggerRef,\n\t\ttoggleMenuTrigger,\n\t\ttoggleMenuKey,\n\t\tshowMenuHover,\n\t\thideMenuHover,\n\t\tcloseMenu,\n\t\tshowMenuTap\n\t]);\n\n\t// This use effect handles a few things when we open the menu:\n\t// - making sure that the menu component is aware of it's menu items\n\t// - adding a class to the trigger element when the submenu is open for styling\n\t// - storing the menu rect in state for positioning calculations\n\tReact.useEffect(() => {\n\t\tif (state.isOpen) {\n\t\t\tconst foundMenuItems = Array.from(\n\t\t\t\tmenuRef.current?.querySelectorAll(MENU_ITEM_SELECTOR) || []\n\t\t\t) as HTMLButtonElement[];\n\n\t\t\tsetMenuItems(foundMenuItems);\n\t\t}\n\n\t\tif (state.isOpen && isSubMenu) {\n\t\t\ttriggerRef?.current?.classList.add(itemStyles['MrlMenuItem--item--submenuOpen']);\n\t\t} else if (!state.isOpen && isSubMenu) {\n\t\t\ttriggerRef?.current?.classList.remove(itemStyles['MrlMenuItem--item--submenuOpen']);\n\t\t}\n\n\t\t// For consistent submenu calculations, we are storing the menu rect in state\n\t\t// Anytime we need to use the menu rect, we want to make sure the values are based\n\t\t// on the original state of the menu for proper transformations\n\t\tif (!menuRect && menuRef.current) {\n\t\t\tconst newRect = menuRef.current?.getBoundingClientRect();\n\t\t\tsetMenuRect(newRect || null);\n\t\t}\n\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [state.isOpen, menuRect, isSubMenu]);\n\n\t/**\n\t * Focus management for when the menu is opening or closing\n\t */\n\tReact.useEffect(() => {\n\t\tif (menuItems.length > 0) {\n\t\t\tlet menuItemToFocus;\n\n\t\t\tswitch (state.actionType) {\n\t\t\t\tcase 'Enter':\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\tcase ' ':\n\t\t\t\t\tmenuItemToFocus = menuItems[0];\n\t\t\t\t\tmenuItemToFocus?.focus();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\tmenuItemToFocus = menuItems[menuItems.length - 1];\n\t\t\t\t\tmenuItemToFocus?.focus();\n\n\t\t\t\t\t// Scroll to the bottom of the menu when the last item is focused\n\t\t\t\t\t// setTimeout is required to ensure the element has been rendered\n\t\t\t\t\t// and the scrollHeight is accurate prior to scrolling\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (listRef.current) {\n\t\t\t\t\t\t\tlistRef.current.scrollTo(0, listRef.current.scrollHeight);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 20);\n\t\t\t}\n\n\t\t\tif (isSubMenu && state.actionType === 'ArrowRight') {\n\t\t\t\tmenuItemToFocus = menuItems[0];\n\t\t\t\tmenuItemToFocus?.focus();\n\t\t\t}\n\t\t}\n\t}, [isSubMenu, menuItems, state.actionType]);\n\n\t/**\n\t * Menu scroll behavior\n\t *\n\t * When the menu cannot fit in the preferred or flipped position,\n\t * this hook constrains the menu height and enables internal scrolling.\n\t * Called before useTriggerPosition so that isScrolling can disable flipping,\n\t * preventing the positioning hook from fighting the scroll constraint.\n\t */\n\tconst disableMenuScroll =\n\t\tisSubMenu || !state.isOpen || position === 'static' || position === 'ignore';\n\n\t/**\n\t * Sets overflow (scrolling) on menu when there is no space to display\n\t * the menu in the preferred or flipped position.\n\t */\n\tconst menuScroll = useMenuScroll(\n\t\ttriggerRef,\n\t\tlistRef,\n\t\tposition,\n\t\tmenuOffset,\n\t\tstate.isOpen,\n\t\tdisableMenuScroll\n\t);\n\n\t/**\n\t * Primary menu positioning, alignment, and transition styling\n\t *\n\t * This hook is only enabled if isSubMenu is FALSE\n\t */\n\tconst disableTriggerPosition = isSubMenu || !state.isOpen || position === 'static';\n\tconst menuPositionStyles = useTriggerPosition(\n\t\ttriggerRef,\n\t\tmenuRef,\n\t\t{\n\t\t\talign: alignment,\n\t\t\tcustomPosition: customPosition,\n\t\t\tposition: position\n\t\t},\n\t\tstate.isOpen,\n\t\tmenuOffset,\n\t\tdisableTriggerPosition,\n\t\tdisableFlipping || menuScroll.isScrolling\n\t);\n\n\t/**\n\t * Submenu positioning and alignment\n\t *\n\t * This hook is only enabled if isSubMenu is TRUE\n\t */\n\tconst subMenuPosition = useSubMenuElementPosition(\n\t\ttriggerRef,\n\t\tmenuRef,\n\t\tisSubMenu,\n\t\tstate.isOpen,\n\t\tmenuRect,\n\t\t// disable the subelement positioning if it's not a submenu\n\t\t!isSubMenu\n\t);\n\n\tconst inlineStyles = {\n\t\tmenu: {\n\t\t\tleft: menuPositionStyles.left,\n\t\t\tposition: 'fixed' as const,\n\t\t\ttop: menuPositionStyles.top\n\t\t},\n\t\tsubmenu: {\n\t\t\tleft: subMenuPosition.left,\n\t\t\ttop: subMenuPosition.top\n\t\t}\n\t};\n\n\t/**\n\t * React Spring transitions for the menu\n\t */\n\tconst transitionConfig = {\n\t\tconfig: { duration: state.isOpen ? 300 : 150 },\n\t\tenter: { opacity: 1, transform: 'translateY(0)' },\n\t\tfrom: { opacity: 0, transform: 'translateY(4px)' },\n\t\tleave: { opacity: 0, transform: 'translateY(4px)' }\n\t};\n\n\tconst transitionStatic = {\n\t\tconfig: { duration: 0 },\n\t\tenter: { opacity: 1, transform: 'translateY(0)' }\n\t};\n\n\tconst transitions = useTransition(\n\t\tstate.isOpen,\n\t\tposition === 'static' ? transitionStatic : transitionConfig\n\t);\n\n\tconst menuClasses = classnames(styles['MrlMenu'], 'MrlMenu', {\n\t\t[styles['MrlMenu--submenu']]: isSubMenu,\n\t\t[styles.open]: state.isOpen,\n\t\t[styles['MrlMenu--compact']]: spacing === 'compact',\n\t\t[styles['MrlMenu--static']]: position === 'static',\n\t\t[styles['MrlMenu--internal']]: isInternal,\n\t\t[styles['MrlMenu--scrolling']]: menuScroll.isScrolling,\n\t\t[styles['MrlMenu--ignore']]: position === 'ignore'\n\t});\n\n\tconst positionStyles = isSubMenu\n\t\t? inlineStyles.submenu\n\t\t: position !== 'static'\n\t\t\t? inlineStyles.menu\n\t\t\t: {};\n\n\tconst menuScrollStyles =\n\t\t(menuScroll.maxHeight !== undefined && { maxHeight: menuScroll.maxHeight }) || undefined;\n\n\tconst renderMenu = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{transitions(\n\t\t\t\t\t(style, item) =>\n\t\t\t\t\t\titem && (\n\t\t\t\t\t\t\t<animated.div\n\t\t\t\t\t\t\t\tclassName={menuClasses}\n\t\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\t\tstyle={{ ...positionStyles, ...style }}\n\t\t\t\t\t\t\t\tonKeyUp={handleMenuKeyUp}\n\t\t\t\t\t\t\t\tonKeyDown={handleMenuKey}\n\t\t\t\t\t\t\t\tref={menuRef}\n\t\t\t\t\t\t\t\trole=\"none\"\n\t\t\t\t\t\t\t\t{...remainingProps}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ul ref={listRef} role=\"menu\" style={menuScrollStyles}>\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</animated.div>\n\t\t\t\t\t\t)\n\t\t\t\t)}\n\t\t\t</>\n\t\t);\n\t};\n\n\t// For managing and restoring focus to the original menu trigger\n\t// Ensures the triggerRef in context is always the parent triggerRef\n\tconst parentContext = React.useContext(MrlMenuContext);\n\tconst contextTriggerRef = isSubMenu ? parentContext?.triggerRef : triggerRef;\n\n\treturn (\n\t\t<MrlMenuContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcloseMenu,\n\t\t\t\tcloseParent: !isSubMenu ? closeMenu : undefined,\n\t\t\t\ttriggerRef: contextTriggerRef\n\t\t\t}}\n\t\t>\n\t\t\t{isSubMenu || position === 'static' ? (\n\t\t\t\trenderMenu()\n\t\t\t) : (\n\t\t\t\t<MrlPortal layer={portalProps.layer || PORTAL_LAYERS.MENU} {...portalProps}>\n\t\t\t\t\t{renderMenu()}\n\t\t\t\t</MrlPortal>\n\t\t\t)}\n\t\t</MrlMenuContext.Provider>\n\t);\n\t/* eslint-enable */\n}\n\nMrlMenu.componentType = 'Menu';\n"],"names":["MENU_ITEM_SELECTOR","MrlMenu","_ref","_ref$actionState","actionState","actionType","isOpen","_ref$alignment","alignment","children","_ref$closeOnScroll","closeOnScroll","closeParent","customPosition","_ref$clickOutsideEven","clickOutsideEvent","disableArrowOpen","_ref$disableFlipping","disableFlipping","id","_ref$isInternal","isInternal","_ref$isSubMenu","isSubMenu","_ref$spacing","spacing","_ref$menuOffset","menuOffset","_ref$portalProps","portalProps","PORTAL_LAYERS","MENU","name","_ref$position","position","_ref$triggerStopPropa","triggerStopPropagation","onClose","triggerRef","remainingProps","_objectWithoutProperties","_excluded","defaultOpenState","_React$useState","React","useState","_React$useState2","_slicedToArray","state","setState","menuRef","useRef","listRef","_React$useState3","_React$useState4","menuItems","setMenuItems","_React$useState5","_React$useState6","menuRect","setMenuRect","isTriggerDisabled","useCallback","isElementAriaDisabled","current","toggleMenuTrigger","e","preventDefault","prevState","showMenuHover","showMenuTap","hideMenuHover","event","relatedTarget","contains","toggleMenuKey","openMenu","key","closeMenu","shouldCloseParent","arguments","length","undefined","disableClickOutside","useClickOutside","handleMenuKeyUp","actions","includes","handleMenuKey","_menuItems$nextIndex","_menuItems$nextIndex2","_triggerRef$current","currentIndex","findIndex","item","document","activeElement","nextIndex","focus","shiftKey","prevElement","findAdjacentInteractiveElement","nextElement","useEffect","setAttribute","_triggerRef$current2","toString","triggerElement","menuElement","querySelectorAll","scrollableParent","addEventListener","isTouchDevice","getScrollableParent","capture","passive","removeEventListener","forEach","getAttribute","_menuRef$current","foundMenuItems","Array","from","_triggerRef$current3","classList","add","itemStyles","_triggerRef$current4","remove","_menuRef$current2","newRect","getBoundingClientRect","_menuItemToFocus","_menuItemToFocus2","menuItemToFocus","setTimeout","scrollTo","scrollHeight","_menuItemToFocus3","disableMenuScroll","menuScroll","useMenuScroll","disableTriggerPosition","menuPositionStyles","useTriggerPosition","align","isScrolling","subMenuPosition","useSubMenuElementPosition","inlineStyles","menu","left","top","submenu","transitionConfig","config","duration","enter","opacity","transform","leave","transitionStatic","transitions","useTransition","menuClasses","classnames","styles","_defineProperty","open","positionStyles","menuScrollStyles","maxHeight","renderMenu","createElement","Fragment","style","animated","div","_extends","className","_objectSpread","onKeyUp","onKeyDown","ref","role","parentContext","useContext","MrlMenuContext","contextTriggerRef","Provider","value","MrlPortal","layer","componentType"],"mappings":"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"}
1
+ {"version":3,"file":"MrlMenu.js","sources":["../../../../../src/components/menu/MrlMenu/MrlMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport { MrlPortal, PortalProps } from '../../../components';\nimport { useTriggerPosition } from '../../../hooks/useTriggerPosition';\nimport { useClickOutside } from '../../../hooks/useClickOutside';\nimport { useSubMenuElementPosition } from '../hooks/useSubMenuElementPosition';\nimport {\n\tMenuPosition,\n\tMenuAlignment,\n\tActionState,\n\tActionType,\n\tCustomMenuPosition\n} from '../constants';\nimport { PORTAL_LAYERS } from '../../../utils/layers';\nimport {\n\tfindAdjacentInteractiveElement,\n\tpreventDefault,\n\tisElementAriaDisabled\n} from '../../../utils';\nimport classnames from 'classnames';\nimport { MrlMenuContext } from '../context/MrlMenuContext';\nimport styles from './MrlMenu.module.scss';\nimport itemStyles from '../MrlMenuItem/MrlMenuItem.module.scss';\nimport { useTransition, animated } from '@react-spring/web';\nimport { isTouchDevice } from '../../../utils/isTouch';\nimport { getScrollableParent } from '../utilities/get-scrollable-parent';\nimport { useMenuScroll } from '../hooks/useMenuScroll';\n\nexport interface MrlMenuProps {\n\t/** Custom position for the menu */\n\tcustomPosition?: CustomMenuPosition;\n\n\t/** Children to be rendered within the menu component*/\n\tchildren: React.ReactNode;\n\n\t/** Event to close the menu */\n\tclickOutsideEvent?: 'mousedown' | 'mouseup' | 'click';\n\n\t/**\n\t * Enables closing the menu when scrolling. Default is false.\n\t *\n\t */\n\tcloseOnScroll?: boolean;\n\n\t/**\n\t * Private closeParent prop for use with MrlMenuItem\n\t *\n\t * !!! Please do not use this prop directly, it is only used internally by MrlMenuItem !!!\n\t * @private\n\t */\n\tcloseParent?: () => void;\n\n\t/**\n\t * Disable arrows from opening the menu\n\t * - This is useful when you want to disable the default browser behavior of opening a menu on arrow down.\n\t *\n\t * Example usage: the menu is within a vertical toolbar and you want to use the arrow keys to navigate the toolbar.\n\t * By using this prop you can disable the arrow key open/close so that navigating the toolbar does not conflict\n\t * with opening/closing the menu.\n\t */\n\tdisableArrowOpen?: boolean;\n\n\t/**\n\t * Disable flipping of the menu when it goes off the screen\n\t * @default false\n\t */\n\tdisableFlipping?: boolean;\n\n\t/** Unique identifier for the menu */\n\tid?: string;\n\n\t/**\n\t * Use when the menu is embedded within another component\n\t * Removes the following styles:\n\t * - padding on the menu\n\t * - drop shadow and border\n\t * @default false\n\t */\n\tisInternal?: boolean;\n\n\t/**\n\t * Private isSubMenu prop for use with MrlMenuItem\n\t *\n\t * !!! Please do not use this prop directly, it is only used internally by MrlMenuItem !!!\n\t * @private\n\t */\n\tisSubMenu?: boolean;\n\n\t/**\n\t * spacing of menu\n\t * - compact has less padding\n\t * @default 'default'\n\t */\n\tspacing?: 'default' | 'compact';\n\n\t/**\n\t * Offset of the menu from the trigger element in pixels\n\t * @default 10px\n\t */\n\tmenuOffset?: number;\n\n\t/**\n\t * Configuration for the portal component\n\t */\n\tportalProps?: Omit<PortalProps, 'children'>;\n\n\t/**\n\t * Horizontal and vertical alignment of the menu relative to the trigger element\n\t * - position 'left', 'right', 'top', 'bottom' position relative to the trigger\n\t * - position 'static' renders the menu in place, not using the portal\n\t * - position 'ignore' will not position the menu, allowing you to use the customPosition prop to position the element\n\t * @default 'bottom'\n\t */\n\tposition?: MenuPosition;\n\n\t/**\n\t * Set initial state of menu\n\t * @default { actionType: null, isOpen: false }\n\t */\n\tactionState?: ActionState;\n\n\t/**\n\t * Reference to the DOM element that triggers this menu.\n\t */\n\ttriggerRef?: React.RefObject<HTMLButtonElement>;\n\n\t/**\n\t * Trigger stop propagation on click\n\t *\n\t * In some instances we may want the trigger element to stop propogation to the\n\t * rest of the DOM. Use this flag to enable and disable it.\n\t * @default false\n\t */\n\ttriggerStopPropagation?: boolean;\n\n\t/**\n\t * Vertical and horizontal alignment of the menu relative to the position of the menu with the trigger\n\t * - 'left' and 'right' work with position 'top' and 'bottom'\n\t * - 'top' and 'bottom' work with position 'left' and 'right'\n\t * - 'center' works with all positions\n\t *\n\t * This does not impact submenus\n\t */\n\talignment?: MenuAlignment;\n\n\t/**\n\t * Callback to be called when the menu is closed\n\t * @param type - type of close event\n\t */\n\tonClose?: (type?: string) => void;\n}\n\nconst MENU_ITEM_SELECTOR = '[role=\"menuitem\"], [role=\"menuitemcheckbox\"], [role=\"menuitemradio\"]';\n\n/**\n * MrlMenu component\n *\n * Renders a menu component with alignment relative to a trigger element\n * @param {MrlMenuProps} props - The props for the MrlMenu component\n * @returns {Element} - rendered MrlMenu component\n */\nexport function MrlMenu({\n\tactionState = { actionType: null, isOpen: false },\n\talignment = 'center',\n\tchildren,\n\tcloseOnScroll = false,\n\tcloseParent,\n\tcustomPosition,\n\tclickOutsideEvent = 'mouseup',\n\tdisableArrowOpen,\n\tdisableFlipping = false,\n\tid,\n\tisInternal = false,\n\tisSubMenu = false,\n\tspacing = 'default',\n\tmenuOffset = 10,\n\tportalProps = { id: PORTAL_LAYERS.MENU.name },\n\tposition = 'bottom',\n\ttriggerStopPropagation = false,\n\tonClose,\n\ttriggerRef,\n\t...remainingProps\n}: MrlMenuProps): JSX.Element {\n\tconst defaultOpenState = position === 'static' || false;\n\n\tconst [state, setState] = React.useState({\n\t\tactionType: null,\n\t\tisOpen: defaultOpenState\n\t} as ActionState);\n\n\tconst menuRef = React.useRef<HTMLDivElement>(null);\n\tconst listRef = React.useRef<HTMLUListElement>(null);\n\tconst [menuItems, setMenuItems] = React.useState<HTMLButtonElement[]>([]);\n\tconst [menuRect, setMenuRect] = React.useState<DOMRect | null>(null);\n\n\t/**\n\t * Checks if the trigger element is disabled\n\t * @returns {boolean} - true if the trigger element is disabled, false otherwise\n\t */\n\tconst isTriggerDisabled = React.useCallback((): boolean => {\n\t\treturn isElementAriaDisabled(triggerRef?.current);\n\t}, [triggerRef]);\n\n\t/**\n\t * Sets up trigger event listeners to open and close the menu\n\t * @param e - mouse event\n\t */\n\tconst toggleMenuTrigger = React.useCallback(\n\t\t(e: MouseEvent) => {\n\t\t\tif (isTriggerDisabled()) return;\n\n\t\t\tif (triggerStopPropagation) {\n\t\t\t\tpreventDefault(e);\n\t\t\t}\n\n\t\t\tsetState((prevState) => ({ actionType: 'click', isOpen: !prevState.isOpen }));\n\t\t},\n\t\t[triggerStopPropagation, isTriggerDisabled]\n\t);\n\n\t/**\n\t * Used to display the menu when hovering over a menu item that has a submenu\n\t */\n\tconst showMenuHover = React.useCallback(() => {\n\t\tsetState({ actionType: 'click', isOpen: true });\n\t}, []);\n\n\tconst showMenuTap = React.useCallback(() => {\n\t\tsetState((prevState) => ({ actionType: 'click', isOpen: !prevState.isOpen }));\n\t}, []);\n\n\tconst hideMenuHover = React.useCallback(\n\t\t(event: MouseEvent) => {\n\t\t\tconst relatedTarget = event.relatedTarget as Node;\n\n\t\t\t// If the related target is not a child of the menu, close the menu\n\t\t\t// This prevents the menu from closing when hovering over a submenu item or trigger\n\t\t\tif (\n\t\t\t\ttriggerRef &&\n\t\t\t\tmenuRef.current &&\n\t\t\t\t!menuRef.current.contains(relatedTarget) &&\n\t\t\t\ttriggerRef.current &&\n\t\t\t\t!triggerRef.current.contains(relatedTarget)\n\t\t\t) {\n\t\t\t\tsetState({ actionType: null, isOpen: false });\n\t\t\t}\n\t\t},\n\t\t[triggerRef]\n\t);\n\n\t/**\n\t * Sets up trigger event listeners to open and close the menu with a keyboard\n\t */\n\tconst toggleMenuKey = React.useCallback(\n\t\t(e: KeyboardEvent) => {\n\t\t\tconst openMenu = () => {\n\t\t\t\tif (isTriggerDisabled()) return;\n\t\t\t\tsetState({ actionType: e.key as ActionType, isOpen: true });\n\t\t\t};\n\n\t\t\tif (!state.isOpen) {\n\t\t\t\tif (isSubMenu) {\n\t\t\t\t\tswitch (e.key) {\n\t\t\t\t\t\tcase 'ArrowRight':\n\t\t\t\t\t\tcase 'Enter':\n\t\t\t\t\t\tcase ' ':\n\t\t\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\t\t\topenMenu();\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tswitch (e.key) {\n\t\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\t\tif (!disableArrowOpen && !isTriggerDisabled()) {\n\t\t\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\t\t\topenMenu();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'Enter':\n\t\t\t\t\tcase ' ':\n\t\t\t\t\t\tif (isTriggerDisabled()) return;\n\t\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\t\topenMenu();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[state.isOpen, isTriggerDisabled, disableArrowOpen, isSubMenu]\n\t);\n\n\tconst closeMenu = React.useCallback(\n\t\t(shouldCloseParent = true) => {\n\t\t\tif (position === 'static') return;\n\n\t\t\t/**\n\t\t\t * What is closeParent?\n\t\t\t *\n\t\t\t * It is passed from the context provider to the MenuItem (which helps render our submenus)\n\t\t\t * When we render the submenu, we pass the closeMenu function as \"closeParent\" to the submenu.\n\t\t\t * This allows us to trigger closing the parent menu when the submenu is closed. And that's\n\t\t\t * what this call is for.\n\t\t\t */\n\t\t\tif (shouldCloseParent && closeParent) closeParent();\n\n\t\t\tsetState({ actionType: null, isOpen: false });\n\t\t\tonClose?.();\n\t\t},\n\t\t[position, closeParent, onClose]\n\t);\n\n\t/**\n\t * Click outside to dismiss the menu\n\t * @param e\n\t */\n\tconst disableClickOutside = !state.isOpen || position === 'static';\n\tuseClickOutside(menuRef, triggerRef, clickOutsideEvent, closeMenu, disableClickOutside);\n\n\tconst handleMenuKeyUp = (e: React.KeyboardEvent) => {\n\t\tconst actions: ActionType[] = ['ArrowUp', 'ArrowDown', 'ArrowRight', 'Enter', 'Escape', ' '];\n\n\t\tif (actions.includes(e.key as ActionType)) {\n\t\t\tpreventDefault(e);\n\t\t}\n\t};\n\n\t/**\n\t * Focus management when someone is using a keyboard to navigate the menu\n\t * @param e - keyboard event\n\t */\n\tconst handleMenuKey = (e: React.KeyboardEvent) => {\n\t\tconst currentIndex = menuItems.findIndex((item) => document.activeElement === item);\n\t\tlet nextIndex: number;\n\n\t\tif (state.isOpen) {\n\t\t\tswitch (e.key) {\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\tnextIndex = currentIndex < menuItems.length - 1 ? currentIndex + 1 : currentIndex;\n\t\t\t\t\tmenuItems[nextIndex]?.focus();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\tnextIndex = currentIndex > 0 ? currentIndex - 1 : 0;\n\t\t\t\t\tmenuItems[nextIndex]?.focus();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowRight':\n\t\t\t\tcase 'ArrowLeft':\n\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Escape':\n\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\ttriggerRef?.current?.focus();\n\t\t\t\t\tcloseMenu(false);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Tab':\n\t\t\t\t\tif (!isSubMenu && position !== 'static') {\n\t\t\t\t\t\tif (e.shiftKey) {\n\t\t\t\t\t\t\t// Handle shift + tab: move focus to the previous item\n\t\t\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\t\t\tif (triggerRef) {\n\t\t\t\t\t\t\t\tconst prevElement = findAdjacentInteractiveElement(triggerRef, 'previous');\n\t\t\t\t\t\t\t\tprevElement?.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Regular tab: close the menu or move to the next item\n\t\t\t\t\t\t\tpreventDefault(e);\n\t\t\t\t\t\t\tif (triggerRef) {\n\t\t\t\t\t\t\t\tconst nextElement = findAdjacentInteractiveElement(triggerRef);\n\t\t\t\t\t\t\t\tnextElement?.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcloseMenu();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * useEffect hooks to handle menu state changes\n\t */\n\n\tReact.useEffect(() => {\n\t\tif (triggerRef?.current) {\n\t\t\ttriggerRef.current.setAttribute('aria-haspopup', 'menu');\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tReact.useEffect(() => {\n\t\tif (position === 'static') {\n\t\t\tsetState({ actionType: 'click', isOpen: true });\n\t\t}\n\t}, [position]);\n\n\tReact.useEffect(() => {\n\t\ttriggerRef?.current?.setAttribute('aria-expanded', state.isOpen.toString());\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [state.isOpen]);\n\n\tReact.useEffect(() => {\n\t\tif (!isSubMenu && position !== 'static')\n\t\t\tsetState({ actionType: actionState.actionType, isOpen: actionState.isOpen });\n\t}, [actionState.isOpen, actionState.actionType, isSubMenu, position]);\n\n\t// setup event handlers for mouse, keyboard, and scroll interactions\n\tReact.useEffect(() => {\n\t\tconst triggerElement = triggerRef?.current;\n\t\tconst menuElement = menuRef?.current;\n\t\tconst menuItems = menuElement?.querySelectorAll(MENU_ITEM_SELECTOR);\n\n\t\tlet scrollableParent: HTMLElement | Window;\n\n\t\tif (triggerElement) {\n\t\t\ttriggerElement.addEventListener('mousedown', preventDefault);\n\t\t\tif (!isSubMenu) triggerElement.addEventListener('click', toggleMenuTrigger);\n\t\t\ttriggerElement.addEventListener('keydown', toggleMenuKey);\n\n\t\t\t// Setup event listeners for when the menu is a submenu\n\t\t\tif (isSubMenu) {\n\t\t\t\ttriggerElement.addEventListener('mouseover', showMenuHover);\n\t\t\t\ttriggerElement.addEventListener('mouseout', hideMenuHover);\n\n\t\t\t\tif (isTouchDevice()) {\n\t\t\t\t\ttriggerElement.addEventListener('touchend', showMenuTap);\n\t\t\t\t}\n\n\t\t\t\tif (menuElement) {\n\t\t\t\t\tmenuElement.addEventListener('mouseover', showMenuHover);\n\t\t\t\t\tmenuElement.addEventListener('mouseout', hideMenuHover);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (closeOnScroll) {\n\t\t\t\tscrollableParent = getScrollableParent(triggerElement);\n\t\t\t\tif (scrollableParent) {\n\t\t\t\t\tscrollableParent.addEventListener('scroll', () => closeMenu(), {\n\t\t\t\t\t\tcapture: true,\n\t\t\t\t\t\tpassive: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\ttriggerElement.removeEventListener('mousedown', preventDefault);\n\t\t\t\tif (!isSubMenu) triggerElement.removeEventListener('click', toggleMenuTrigger);\n\t\t\t\ttriggerElement.removeEventListener('keydown', toggleMenuKey);\n\n\t\t\t\tif (menuItems) {\n\t\t\t\t\tmenuItems.forEach((item: Element) => {\n\t\t\t\t\t\tif (!item.getAttribute('aria-haspopup')) {\n\t\t\t\t\t\t\titem.removeEventListener('mousedown', () => closeMenu());\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (isSubMenu) {\n\t\t\t\t\ttriggerElement.removeEventListener('mouseover', showMenuHover);\n\t\t\t\t\ttriggerElement.removeEventListener('mouseout', hideMenuHover);\n\n\t\t\t\t\tif (isTouchDevice()) {\n\t\t\t\t\t\ttriggerElement.removeEventListener('touchstart', showMenuHover);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (menuElement) {\n\t\t\t\t\t\tmenuElement.removeEventListener('mouseover', showMenuHover);\n\t\t\t\t\t\tmenuElement.removeEventListener('mouseout', hideMenuHover);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (closeOnScroll && scrollableParent) {\n\t\t\t\t\tscrollableParent.removeEventListener('scroll', () => closeMenu());\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}, [\n\t\tcloseOnScroll,\n\t\tisSubMenu,\n\t\ttriggerRef,\n\t\ttoggleMenuTrigger,\n\t\ttoggleMenuKey,\n\t\tshowMenuHover,\n\t\thideMenuHover,\n\t\tcloseMenu,\n\t\tshowMenuTap\n\t]);\n\n\t// This use effect handles a few things when we open the menu:\n\t// - making sure that the menu component is aware of it's menu items\n\t// - adding a class to the trigger element when the submenu is open for styling\n\t// - storing the menu rect in state for positioning calculations\n\tReact.useEffect(() => {\n\t\tif (state.isOpen) {\n\t\t\tconst foundMenuItems = Array.from(\n\t\t\t\tmenuRef.current?.querySelectorAll(MENU_ITEM_SELECTOR) || []\n\t\t\t) as HTMLButtonElement[];\n\n\t\t\tsetMenuItems(foundMenuItems);\n\t\t}\n\n\t\tif (state.isOpen && isSubMenu) {\n\t\t\ttriggerRef?.current?.classList.add(itemStyles['MrlMenuItem--item--submenuOpen']);\n\t\t} else if (!state.isOpen && isSubMenu) {\n\t\t\ttriggerRef?.current?.classList.remove(itemStyles['MrlMenuItem--item--submenuOpen']);\n\t\t}\n\n\t\t// For consistent submenu calculations, we are storing the menu rect in state\n\t\t// Anytime we need to use the menu rect, we want to make sure the values are based\n\t\t// on the original state of the menu for proper transformations\n\t\tif (!menuRect && menuRef.current) {\n\t\t\tconst newRect = menuRef.current?.getBoundingClientRect();\n\t\t\tsetMenuRect(newRect || null);\n\t\t}\n\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [state.isOpen, menuRect, isSubMenu]);\n\n\t/**\n\t * Focus management for when the menu is opening or closing\n\t */\n\tReact.useEffect(() => {\n\t\tif (menuItems.length > 0) {\n\t\t\tlet menuItemToFocus;\n\n\t\t\tswitch (state.actionType) {\n\t\t\t\tcase 'Enter':\n\t\t\t\tcase 'ArrowDown':\n\t\t\t\tcase ' ':\n\t\t\t\t\tmenuItemToFocus = menuItems[0];\n\t\t\t\t\tmenuItemToFocus?.focus();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowUp':\n\t\t\t\t\tmenuItemToFocus = menuItems[menuItems.length - 1];\n\t\t\t\t\tmenuItemToFocus?.focus();\n\n\t\t\t\t\t// Scroll to the bottom of the menu when the last item is focused\n\t\t\t\t\t// setTimeout is required to ensure the element has been rendered\n\t\t\t\t\t// and the scrollHeight is accurate prior to scrolling\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (listRef.current) {\n\t\t\t\t\t\t\tlistRef.current.scrollTo(0, listRef.current.scrollHeight);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 20);\n\t\t\t}\n\n\t\t\tif (isSubMenu && state.actionType === 'ArrowRight') {\n\t\t\t\tmenuItemToFocus = menuItems[0];\n\t\t\t\tmenuItemToFocus?.focus();\n\t\t\t}\n\t\t}\n\t}, [isSubMenu, menuItems, state.actionType]);\n\n\t/**\n\t * Menu scroll behavior\n\t *\n\t * When the menu cannot fit in the preferred or flipped position,\n\t * this hook constrains the menu height and enables internal scrolling.\n\t * Called before useTriggerPosition so that isScrolling can disable flipping,\n\t * preventing the positioning hook from fighting the scroll constraint.\n\t */\n\tconst disableMenuScroll =\n\t\tisSubMenu || !state.isOpen || position === 'static' || position === 'ignore';\n\n\t/**\n\t * Sets overflow (scrolling) on menu when there is no space to display\n\t * the menu in the preferred or flipped position.\n\t */\n\tconst menuScroll = useMenuScroll(\n\t\ttriggerRef,\n\t\tlistRef,\n\t\tposition,\n\t\tmenuOffset,\n\t\tstate.isOpen,\n\t\tdisableMenuScroll\n\t);\n\n\t/**\n\t * Primary menu positioning, alignment, and transition styling\n\t *\n\t * This hook is only enabled if isSubMenu is FALSE\n\t */\n\tconst disableTriggerPosition = isSubMenu || !state.isOpen || position === 'static';\n\tconst menuPositionStyles = useTriggerPosition(\n\t\ttriggerRef,\n\t\tmenuRef,\n\t\t{\n\t\t\talign: alignment,\n\t\t\tcustomPosition: customPosition,\n\t\t\tposition: position\n\t\t},\n\t\tstate.isOpen,\n\t\tmenuOffset,\n\t\tdisableTriggerPosition,\n\t\tdisableFlipping || menuScroll.isScrolling\n\t);\n\n\t/**\n\t * Submenu positioning and alignment\n\t *\n\t * This hook is only enabled if isSubMenu is TRUE\n\t */\n\tconst subMenuPosition = useSubMenuElementPosition(\n\t\ttriggerRef,\n\t\tmenuRef,\n\t\tisSubMenu,\n\t\tstate.isOpen,\n\t\tmenuRect,\n\t\t// disable the subelement positioning if it's not a submenu\n\t\t!isSubMenu\n\t);\n\n\tconst inlineStyles = {\n\t\tmenu: {\n\t\t\tleft: menuPositionStyles.left,\n\t\t\tposition: 'fixed' as const,\n\t\t\ttop: menuPositionStyles.top\n\t\t},\n\t\tsubmenu: {\n\t\t\tleft: subMenuPosition.left,\n\t\t\ttop: subMenuPosition.top\n\t\t}\n\t};\n\n\t/**\n\t * React Spring transitions for the menu\n\t */\n\tconst transitionConfig = {\n\t\tconfig: { duration: state.isOpen ? 300 : 150 },\n\t\tenter: { opacity: 1, transform: 'translateY(0)' },\n\t\tfrom: { opacity: 0, transform: 'translateY(4px)' },\n\t\tleave: { opacity: 0, transform: 'translateY(4px)' }\n\t};\n\n\tconst transitionStatic = {\n\t\tconfig: { duration: 0 },\n\t\tenter: { opacity: 1, transform: 'translateY(0)' }\n\t};\n\n\tconst transitions = useTransition(\n\t\tstate.isOpen,\n\t\tposition === 'static' ? transitionStatic : transitionConfig\n\t);\n\n\tconst menuClasses = classnames(styles['MrlMenu'], 'MrlMenu', {\n\t\t[styles['MrlMenu--submenu']]: isSubMenu,\n\t\t[styles.open]: state.isOpen,\n\t\t[styles['MrlMenu--compact']]: spacing === 'compact',\n\t\t[styles['MrlMenu--static']]: position === 'static',\n\t\t[styles['MrlMenu--internal']]: isInternal,\n\t\t[styles['MrlMenu--scrolling']]: menuScroll.isScrolling,\n\t\t[styles['MrlMenu--ignore']]: position === 'ignore'\n\t});\n\n\tconst positionStyles = isSubMenu\n\t\t? inlineStyles.submenu\n\t\t: position !== 'static'\n\t\t\t? inlineStyles.menu\n\t\t\t: {};\n\n\tconst menuScrollStyles =\n\t\t(menuScroll.maxHeight !== undefined && { maxHeight: menuScroll.maxHeight }) || undefined;\n\n\tconst renderMenu = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{transitions(\n\t\t\t\t\t(style, item) =>\n\t\t\t\t\t\titem && (\n\t\t\t\t\t\t\t<animated.div\n\t\t\t\t\t\t\t\tclassName={menuClasses}\n\t\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\t\tstyle={{ ...positionStyles, ...style }}\n\t\t\t\t\t\t\t\tonKeyUp={handleMenuKeyUp}\n\t\t\t\t\t\t\t\tonKeyDown={handleMenuKey}\n\t\t\t\t\t\t\t\tref={menuRef}\n\t\t\t\t\t\t\t\trole=\"none\"\n\t\t\t\t\t\t\t\t{...remainingProps}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ul ref={listRef} role=\"menu\" style={menuScrollStyles}>\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</animated.div>\n\t\t\t\t\t\t)\n\t\t\t\t)}\n\t\t\t</>\n\t\t);\n\t};\n\n\t// For managing and restoring focus to the original menu trigger\n\t// Ensures the triggerRef in context is always the parent triggerRef\n\tconst parentContext = React.useContext(MrlMenuContext);\n\tconst contextTriggerRef = isSubMenu ? parentContext?.triggerRef : triggerRef;\n\n\treturn (\n\t\t<MrlMenuContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcloseMenu,\n\t\t\t\tcloseParent: !isSubMenu ? closeMenu : undefined,\n\t\t\t\ttriggerRef: contextTriggerRef\n\t\t\t}}\n\t\t>\n\t\t\t{isSubMenu || position === 'static' ? (\n\t\t\t\trenderMenu()\n\t\t\t) : (\n\t\t\t\t<MrlPortal layer={portalProps.layer || PORTAL_LAYERS.MENU} {...portalProps}>\n\t\t\t\t\t{renderMenu()}\n\t\t\t\t</MrlPortal>\n\t\t\t)}\n\t\t</MrlMenuContext.Provider>\n\t);\n\t/* eslint-enable */\n}\n\nMrlMenu.componentType = 'Menu';\n"],"names":["MENU_ITEM_SELECTOR","MrlMenu","_ref","_ref$actionState","actionState","actionType","isOpen","_ref$alignment","alignment","children","_ref$closeOnScroll","closeOnScroll","closeParent","customPosition","_ref$clickOutsideEven","clickOutsideEvent","disableArrowOpen","_ref$disableFlipping","disableFlipping","id","_ref$isInternal","isInternal","_ref$isSubMenu","isSubMenu","_ref$spacing","spacing","_ref$menuOffset","menuOffset","_ref$portalProps","portalProps","PORTAL_LAYERS","MENU","name","_ref$position","position","_ref$triggerStopPropa","triggerStopPropagation","onClose","triggerRef","remainingProps","_objectWithoutProperties","_excluded","defaultOpenState","_React$useState","React","useState","_React$useState2","_slicedToArray","state","setState","menuRef","useRef","listRef","_React$useState3","_React$useState4","menuItems","setMenuItems","_React$useState5","_React$useState6","menuRect","setMenuRect","isTriggerDisabled","useCallback","isElementAriaDisabled","current","toggleMenuTrigger","e","preventDefault","prevState","showMenuHover","showMenuTap","hideMenuHover","event","relatedTarget","contains","toggleMenuKey","openMenu","key","closeMenu","shouldCloseParent","arguments","length","undefined","disableClickOutside","useClickOutside","handleMenuKeyUp","actions","includes","handleMenuKey","_menuItems$nextIndex","_menuItems$nextIndex2","_triggerRef$current","currentIndex","findIndex","item","document","activeElement","nextIndex","focus","shiftKey","prevElement","findAdjacentInteractiveElement","nextElement","useEffect","setAttribute","_triggerRef$current2","toString","triggerElement","menuElement","querySelectorAll","scrollableParent","addEventListener","isTouchDevice","getScrollableParent","capture","passive","removeEventListener","forEach","getAttribute","_menuRef$current","foundMenuItems","Array","from","_triggerRef$current3","classList","add","itemStyles","_triggerRef$current4","remove","_menuRef$current2","newRect","getBoundingClientRect","_menuItemToFocus","_menuItemToFocus2","menuItemToFocus","setTimeout","scrollTo","scrollHeight","_menuItemToFocus3","disableMenuScroll","menuScroll","useMenuScroll","disableTriggerPosition","menuPositionStyles","useTriggerPosition","align","isScrolling","subMenuPosition","useSubMenuElementPosition","inlineStyles","menu","left","top","submenu","transitionConfig","config","duration","enter","opacity","transform","leave","transitionStatic","transitions","useTransition","menuClasses","classnames","styles","open","positionStyles","menuScrollStyles","maxHeight","renderMenu","createElement","Fragment","style","animated","div","_extends","className","_objectSpread","onKeyUp","onKeyDown","ref","role","parentContext","useContext","MrlMenuContext","contextTriggerRef","Provider","value","MrlPortal","layer","componentType"],"mappings":"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"}
@@ -4,9 +4,7 @@
4
4
  * @param el - The element to start searching from
5
5
  * @returns The closest menu parent or null if none is found
6
6
  */
7
- var findClosestMenuParent = function findClosestMenuParent(el) {
8
- return el === null || el === void 0 ? void 0 : el.closest('[role="menu"]');
9
- };
7
+ var findClosestMenuParent = el => el === null || el === void 0 ? void 0 : el.closest('[role="menu"]');
10
8
 
11
9
  /**
12
10
  * Calculate the horizontal positioning of the submenu
@@ -17,7 +15,7 @@ var findClosestMenuParent = function findClosestMenuParent(el) {
17
15
  * @param triggerRef - The ref of the trigger element
18
16
  * @returns The left position of the menu
19
17
  */
20
- var calculateLeftPosition = function calculateLeftPosition(overlapsRight, overlapsLeft, menuRect, triggerRef) {
18
+ var calculateLeftPosition = (overlapsRight, overlapsLeft, menuRect, triggerRef) => {
21
19
  if (overlapsRight && overlapsLeft) {
22
20
  // if we overlap on the left and right, provide an offset value so the menu
23
21
  // isn't flush left with the trigger element (per design specs)
@@ -44,7 +42,7 @@ var calculateLeftPosition = function calculateLeftPosition(overlapsRight, overla
44
42
  * @param triggerRect - The bounding rectangle of the trigger element
45
43
  * @returns The top position of the menu
46
44
  */
47
- var calculateTopPosition = function calculateTopPosition(overlapsRight, overlapsLeft, triggerRef, menuRect, parentMenu, triggerRect) {
45
+ var calculateTopPosition = (overlapsRight, overlapsLeft, triggerRef, menuRect, parentMenu, triggerRect) => {
48
46
  if (triggerRef.current) {
49
47
  var parentContainer = parentMenu.parentElement;
50
48
  if (parentContainer) {
@@ -75,7 +73,7 @@ var calculateTopPosition = function calculateTopPosition(overlapsRight, overlaps
75
73
  * @param element - The element to check
76
74
  * @returns Whether the element has overflow-y set to auto
77
75
  */
78
- var hasOverflowY = function hasOverflowY(element) {
76
+ var hasOverflowY = element => {
79
77
  var style = window.getComputedStyle(element);
80
78
  return style.overflowY === 'auto';
81
79
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sources":["../../../../../src/components/menu/MrlMenu/utilities.ts"],"sourcesContent":["/**\n * Find the closest menu parent of an element\n *\n * @param el - The element to start searching from\n * @returns The closest menu parent or null if none is found\n */\nexport const findClosestMenuParent = (el: HTMLElement | null): HTMLElement | null | undefined =>\n\tel?.closest('[role=\"menu\"]');\n\n/**\n * Calculate the horizontal positioning of the submenu\n *\n * @param overlapsRight - Whether the menu overlaps the right side of the screen\n * @param overlapsLeft - Whether the menu overlaps the left side of the screen\n * @param menuRect - The bounding rectangle of the menu\n * @param triggerRef - The ref of the trigger element\n * @returns The left position of the menu\n */\nexport const calculateLeftPosition = (\n\toverlapsRight: boolean,\n\toverlapsLeft: boolean,\n\tmenuRect: DOMRect,\n\ttriggerRef: React.RefObject<HTMLElement>\n): string => {\n\tif (overlapsRight && overlapsLeft) {\n\t\t// if we overlap on the left and right, provide an offset value so the menu\n\t\t// isn't flush left with the trigger element (per design specs)\n\t\treturn '55px';\n\t} else if (overlapsRight) {\n\t\t// if we overlap on the right, move the menu to the left side of the trigger\n\t\treturn `-${menuRect.width - 5}px`;\n\t} else if (triggerRef.current) {\n\t\t// otherwise display on the right\n\t\treturn `${triggerRef.current?.clientWidth + 13}px`;\n\t}\n\n\treturn '0';\n};\n\n/**\n * Calculate vertical positioning of the submenu\n *\n * @param overlapsRight - Whether the menu overlaps the right side of the screen\n * @param overlapsLeft - Whether the menu overlaps the left side of the screen\n * @param triggerRef - The ref of the trigger element\n * @param menuRect - The bounding rectangle of the menu\n * @param parentMenu - The parent menu element\n * @param triggerRect - The bounding rectangle of the trigger element\n * @returns The top position of the menu\n */\nexport const calculateTopPosition = (\n\toverlapsRight: boolean,\n\toverlapsLeft: boolean,\n\ttriggerRef: React.RefObject<HTMLElement>,\n\tmenuRect: DOMRect,\n\tparentMenu: HTMLElement,\n\ttriggerRect: DOMRect\n): string => {\n\tif (triggerRef.current) {\n\t\tconst parentContainer = parentMenu.parentElement;\n\n\t\tif (parentContainer) {\n\t\t\tconst menuBottom = triggerRect.top + menuRect.height;\n\t\t\tconst parentRect = parentContainer.getBoundingClientRect();\n\n\t\t\t// if we overlap both left and right, we want to position the menu above or below the trigger\n\t\t\tif (overlapsRight && overlapsLeft) {\n\t\t\t\t// if the menu overlaps and is below the trigger, position it above, otherwise position it below\n\t\t\t\treturn menuBottom > window.innerHeight\n\t\t\t\t\t? `${triggerRef.current.offsetTop - menuRect.height - 21 - parentMenu.scrollTop}px`\n\t\t\t\t\t: `${triggerRef.current.offsetTop + triggerRect.height - parentMenu.scrollTop}px`;\n\t\t\t} else if (menuBottom > parentRect.bottom) {\n\t\t\t\t// if the menu's bottom edge is below the parent container's bottom, align bottom\n\t\t\t\tconst topPosition = parentRect.height - menuRect.height;\n\t\t\t\tconst offset = hasOverflowY(parentMenu) ? 20 : 0;\n\t\t\t\treturn `${topPosition - offset}px`;\n\t\t\t} else {\n\t\t\t\t// otherwise align it with the top of the trigger\n\t\t\t\treturn `${triggerRef.current.offsetTop - parentMenu.scrollTop - 12}px`;\n\t\t\t}\n\t\t}\n\t}\n\treturn '0';\n};\n\n/*\n * Check if an element has overflow-y set to auto\n *\n * @param element - The element to check\n * @returns Whether the element has overflow-y set to auto\n */\nconst hasOverflowY = (element: HTMLElement) => {\n\tconst style = window.getComputedStyle(element);\n\treturn style.overflowY === 'auto';\n};\n"],"names":["findClosestMenuParent","el","closest","calculateLeftPosition","overlapsRight","overlapsLeft","menuRect","triggerRef","concat","width","current","_triggerRef$current","clientWidth","calculateTopPosition","parentMenu","triggerRect","parentContainer","parentElement","menuBottom","top","height","parentRect","getBoundingClientRect","window","innerHeight","offsetTop","scrollTop","bottom","topPosition","offset","hasOverflowY","element","style","getComputedStyle","overflowY"],"mappings":"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"}
1
+ {"version":3,"file":"utilities.js","sources":["../../../../../src/components/menu/MrlMenu/utilities.ts"],"sourcesContent":["/**\n * Find the closest menu parent of an element\n *\n * @param el - The element to start searching from\n * @returns The closest menu parent or null if none is found\n */\nexport const findClosestMenuParent = (el: HTMLElement | null): HTMLElement | null | undefined =>\n\tel?.closest('[role=\"menu\"]');\n\n/**\n * Calculate the horizontal positioning of the submenu\n *\n * @param overlapsRight - Whether the menu overlaps the right side of the screen\n * @param overlapsLeft - Whether the menu overlaps the left side of the screen\n * @param menuRect - The bounding rectangle of the menu\n * @param triggerRef - The ref of the trigger element\n * @returns The left position of the menu\n */\nexport const calculateLeftPosition = (\n\toverlapsRight: boolean,\n\toverlapsLeft: boolean,\n\tmenuRect: DOMRect,\n\ttriggerRef: React.RefObject<HTMLElement>\n): string => {\n\tif (overlapsRight && overlapsLeft) {\n\t\t// if we overlap on the left and right, provide an offset value so the menu\n\t\t// isn't flush left with the trigger element (per design specs)\n\t\treturn '55px';\n\t} else if (overlapsRight) {\n\t\t// if we overlap on the right, move the menu to the left side of the trigger\n\t\treturn `-${menuRect.width - 5}px`;\n\t} else if (triggerRef.current) {\n\t\t// otherwise display on the right\n\t\treturn `${triggerRef.current?.clientWidth + 13}px`;\n\t}\n\n\treturn '0';\n};\n\n/**\n * Calculate vertical positioning of the submenu\n *\n * @param overlapsRight - Whether the menu overlaps the right side of the screen\n * @param overlapsLeft - Whether the menu overlaps the left side of the screen\n * @param triggerRef - The ref of the trigger element\n * @param menuRect - The bounding rectangle of the menu\n * @param parentMenu - The parent menu element\n * @param triggerRect - The bounding rectangle of the trigger element\n * @returns The top position of the menu\n */\nexport const calculateTopPosition = (\n\toverlapsRight: boolean,\n\toverlapsLeft: boolean,\n\ttriggerRef: React.RefObject<HTMLElement>,\n\tmenuRect: DOMRect,\n\tparentMenu: HTMLElement,\n\ttriggerRect: DOMRect\n): string => {\n\tif (triggerRef.current) {\n\t\tconst parentContainer = parentMenu.parentElement;\n\n\t\tif (parentContainer) {\n\t\t\tconst menuBottom = triggerRect.top + menuRect.height;\n\t\t\tconst parentRect = parentContainer.getBoundingClientRect();\n\n\t\t\t// if we overlap both left and right, we want to position the menu above or below the trigger\n\t\t\tif (overlapsRight && overlapsLeft) {\n\t\t\t\t// if the menu overlaps and is below the trigger, position it above, otherwise position it below\n\t\t\t\treturn menuBottom > window.innerHeight\n\t\t\t\t\t? `${triggerRef.current.offsetTop - menuRect.height - 21 - parentMenu.scrollTop}px`\n\t\t\t\t\t: `${triggerRef.current.offsetTop + triggerRect.height - parentMenu.scrollTop}px`;\n\t\t\t} else if (menuBottom > parentRect.bottom) {\n\t\t\t\t// if the menu's bottom edge is below the parent container's bottom, align bottom\n\t\t\t\tconst topPosition = parentRect.height - menuRect.height;\n\t\t\t\tconst offset = hasOverflowY(parentMenu) ? 20 : 0;\n\t\t\t\treturn `${topPosition - offset}px`;\n\t\t\t} else {\n\t\t\t\t// otherwise align it with the top of the trigger\n\t\t\t\treturn `${triggerRef.current.offsetTop - parentMenu.scrollTop - 12}px`;\n\t\t\t}\n\t\t}\n\t}\n\treturn '0';\n};\n\n/*\n * Check if an element has overflow-y set to auto\n *\n * @param element - The element to check\n * @returns Whether the element has overflow-y set to auto\n */\nconst hasOverflowY = (element: HTMLElement) => {\n\tconst style = window.getComputedStyle(element);\n\treturn style.overflowY === 'auto';\n};\n"],"names":["findClosestMenuParent","el","closest","calculateLeftPosition","overlapsRight","overlapsLeft","menuRect","triggerRef","concat","width","current","_triggerRef$current","clientWidth","calculateTopPosition","parentMenu","triggerRect","parentContainer","parentElement","menuBottom","top","height","parentRect","getBoundingClientRect","window","innerHeight","offsetTop","scrollTop","bottom","topPosition","offset","hasOverflowY","element","style","getComputedStyle","overflowY"],"mappings":"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"}