@muraldevkit/ui-toolkit 4.68.0-dev-NFbt.1 → 4.68.0-dev-5W5E.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
@@ -5,38 +5,37 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
5
5
  /**
6
6
  * @description Creates a wrapper for request animation frame that helps a little with performance this helps us only animate current frame reducing in jumps/tearing on slow devices.
7
7
  */
8
- var FrameDebounce = /*#__PURE__*/_rollupPluginBabelHelpers.createClass(
9
- /**
10
- * constructor FrameDebounce
11
- */
12
- function FrameDebounce() {
13
- var _this = this;
14
- _rollupPluginBabelHelpers.classCallCheck(this, FrameDebounce);
15
- _rollupPluginBabelHelpers.defineProperty(this, "frame", void 0);
8
+ var FrameDebounce = class FrameDebounce {
16
9
  /**
17
- * debounce a callback wrapped in animation frame.
18
- *
19
- * @param callback callback to call after frame runs
10
+ * constructor FrameDebounce
20
11
  */
21
- _rollupPluginBabelHelpers.defineProperty(this, "debounce", function (callback) {
22
- if (_this.frame) _this.cancel();
12
+ constructor() {
13
+ _rollupPluginBabelHelpers.defineProperty(this, "frame", void 0);
14
+ /**
15
+ * debounce a callback wrapped in animation frame.
16
+ *
17
+ * @param callback callback to call after frame runs
18
+ */
19
+ _rollupPluginBabelHelpers.defineProperty(this, "debounce", callback => {
20
+ if (this.frame) this.cancel();
23
21
 
24
- // only animate current frame near complete reduction in jumps/tearing on slow devices.
25
- _this.frame = requestAnimationFrame(function () {
26
- _this.frame = null;
27
- callback === null || callback === void 0 ? void 0 : callback();
22
+ // only animate current frame near complete reduction in jumps/tearing on slow devices.
23
+ this.frame = requestAnimationFrame(() => {
24
+ this.frame = null;
25
+ callback === null || callback === void 0 ? void 0 : callback();
26
+ });
28
27
  });
29
- });
30
- /**
31
- * cancel our frame.
32
- */
33
- _rollupPluginBabelHelpers.defineProperty(this, "cancel", function () {
34
- if (_this.frame) {
35
- cancelAnimationFrame(_this.frame);
36
- }
37
- });
38
- this.frame = null;
39
- });
28
+ /**
29
+ * cancel our frame.
30
+ */
31
+ _rollupPluginBabelHelpers.defineProperty(this, "cancel", () => {
32
+ if (this.frame) {
33
+ cancelAnimationFrame(this.frame);
34
+ }
35
+ });
36
+ this.frame = null;
37
+ }
38
+ };
40
39
 
41
40
  exports.FrameDebounce = FrameDebounce;
42
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/utils/frameDebounce/index.ts"],"sourcesContent":["export interface FrameDebounceType {\n\tdebounce(callback: () => void): void;\n\tcancel(): void;\n}\n\n/**\n * @description Creates a wrapper for request animation frame that helps a little with performance this helps us only animate current frame reducing in jumps/tearing on slow devices.\n */\nexport const FrameDebounce = class FrameDebounce {\n\tframe: null | number;\n\n\t/**\n\t * constructor FrameDebounce\n\t */\n\tconstructor() {\n\t\tthis.frame = null;\n\t}\n\n\t/**\n\t * debounce a callback wrapped in animation frame.\n\t *\n\t * @param callback callback to call after frame runs\n\t */\n\tdebounce = (callback: () => void): void => {\n\t\tif (this.frame) this.cancel();\n\n\t\t// only animate current frame near complete reduction in jumps/tearing on slow devices.\n\t\tthis.frame = requestAnimationFrame(() => {\n\t\t\tthis.frame = null;\n\t\t\tcallback?.();\n\t\t});\n\t};\n\n\t/**\n\t * cancel our frame.\n\t */\n\tcancel = (): void => {\n\t\tif (this.frame) {\n\t\t\tcancelAnimationFrame(this.frame);\n\t\t}\n\t};\n};\n"],"names":["FrameDebounce","_createClass","_this","_classCallCheck","_defineProperty","callback","frame","cancel","requestAnimationFrame","cancelAnimationFrame"],"mappings":";;;;AAKA;AACA;AACA;AACO,IAAMA,aAAa,gBAAAC,qCAAA;AAGzB;AACD;AACA;AACC,SAAAD,gBAAc;AAAA,EAAA,IAAAE,KAAA,GAAA,IAAA;AAAAC,EAAAA,wCAAA,OAAAH,aAAA,CAAA;EAAAI,wCAAA,CAAA,IAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAId;AACD;AACA;AACA;AACA;EAJCA,wCAAA,CAAA,IAAA,EAAA,UAAA,EAKW,UAACC,QAAoB,EAAW;IAC1C,IAAIH,KAAI,CAACI,KAAK,EAAEJ,KAAI,CAACK,MAAM,EAAE;;AAE7B;AACAL,IAAAA,KAAI,CAACI,KAAK,GAAGE,qBAAqB,CAAC,YAAM;MACxCN,KAAI,CAACI,KAAK,GAAG,IAAI;AACjBD,MAAAA,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,EAAI;AACb,IAAA,CAAC,CAAC;EACH,CAAC,CAAA;AAED;AACD;AACA;AAFCD,EAAAA,wCAAA,iBAGS,YAAY;IACpB,IAAIF,KAAI,CAACI,KAAK,EAAE;AACfG,MAAAA,oBAAoB,CAACP,KAAI,CAACI,KAAK,CAAC;AACjC,IAAA;EACD,CAAC,CAAA;EAzBA,IAAI,CAACA,KAAK,GAAG,IAAI;AAClB,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/utils/frameDebounce/index.ts"],"sourcesContent":["export interface FrameDebounceType {\n\tdebounce(callback: () => void): void;\n\tcancel(): void;\n}\n\n/**\n * @description Creates a wrapper for request animation frame that helps a little with performance this helps us only animate current frame reducing in jumps/tearing on slow devices.\n */\nexport const FrameDebounce = class FrameDebounce {\n\tframe: null | number;\n\n\t/**\n\t * constructor FrameDebounce\n\t */\n\tconstructor() {\n\t\tthis.frame = null;\n\t}\n\n\t/**\n\t * debounce a callback wrapped in animation frame.\n\t *\n\t * @param callback callback to call after frame runs\n\t */\n\tdebounce = (callback: () => void): void => {\n\t\tif (this.frame) this.cancel();\n\n\t\t// only animate current frame near complete reduction in jumps/tearing on slow devices.\n\t\tthis.frame = requestAnimationFrame(() => {\n\t\t\tthis.frame = null;\n\t\t\tcallback?.();\n\t\t});\n\t};\n\n\t/**\n\t * cancel our frame.\n\t */\n\tcancel = (): void => {\n\t\tif (this.frame) {\n\t\t\tcancelAnimationFrame(this.frame);\n\t\t}\n\t};\n};\n"],"names":["FrameDebounce","constructor","_defineProperty","callback","frame","cancel","requestAnimationFrame","cancelAnimationFrame"],"mappings":";;;;AAKA;AACA;AACA;AACO,IAAMA,aAAa,GAAG,MAAMA,aAAa,CAAC;AAGhD;AACD;AACA;AACCC,EAAAA,WAAWA,GAAG;IAAAC,wCAAA,CAAA,IAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAId;AACD;AACA;AACA;AACA;IAJCA,wCAAA,CAAA,IAAA,EAAA,UAAA,EAKYC,QAAoB,IAAW;MAC1C,IAAI,IAAI,CAACC,KAAK,EAAE,IAAI,CAACC,MAAM,EAAE;;AAE7B;AACA,MAAA,IAAI,CAACD,KAAK,GAAGE,qBAAqB,CAAC,MAAM;QACxC,IAAI,CAACF,KAAK,GAAG,IAAI;AACjBD,QAAAA,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,EAAI;AACb,MAAA,CAAC,CAAC;IACH,CAAC,CAAA;AAED;AACD;AACA;AAFCD,IAAAA,wCAAA,iBAGS,MAAY;MACpB,IAAI,IAAI,CAACE,KAAK,EAAE;AACfG,QAAAA,oBAAoB,CAAC,IAAI,CAACH,KAAK,CAAC;AACjC,MAAA;IACD,CAAC,CAAA;IAzBA,IAAI,CAACA,KAAK,GAAG,IAAI;AAClB,EAAA;AAyBD;;;;"}
@@ -6,10 +6,10 @@
6
6
  * @param {string} str - a string to set to camelCase
7
7
  * @returns {string} - a string with special characters spaces removed, where words after a space are Uppercase leading
8
8
  */
9
- var getCamelCase = function getCamelCase(str) {
9
+ var getCamelCase = str => {
10
10
  // remove special characters from the string
11
11
  var noSpecialChars = str.trim().replace(/[-_]+/g, ' ').replace(/[`"',.;:?!@#$%^&*()~[\]{}|/\\<>]+/g, '');
12
- return noSpecialChars.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function (match, index) {
12
+ return noSpecialChars.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, (match, index) => {
13
13
  if (+match === 0) {
14
14
  return "";
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getCamelCase.js","sources":["../../../../src/utils/getCamelCase/getCamelCase.ts"],"sourcesContent":["/**\n * Takes a string and returns a camelCase version of the string\n *\n * @param {string} str - a string to set to camelCase\n * @returns {string} - a string with special characters spaces removed, where words after a space are Uppercase leading\n */\nexport const getCamelCase = (str: string): string => {\n\t// remove special characters from the string\n\tconst noSpecialChars = str.trim()\n\t\t.replace(/[-_]+/g, ' ')\n\t\t.replace(/[`\"',.;:?!@#$%^&*()~[\\]{}|/\\\\<>]+/g, '');\n\n\treturn noSpecialChars.replace(/(?:^\\w|[A-Z]|\\b\\w|\\s+)/g, (match, index) => {\n\t\tif (+match === 0) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn index === 0 ? match.toLowerCase() : match.toUpperCase();\n\t});\n};"],"names":["getCamelCase","str","noSpecialChars","trim","replace","match","index","toLowerCase","toUpperCase"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;IACaA,YAAY,GAAG,SAAfA,YAAYA,CAAIC,GAAW,EAAa;AACpD;EACA,IAAMC,cAAc,GAAGD,GAAG,CAACE,IAAI,EAAE,CAC/BC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CACtBA,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;EAEnD,OAAOF,cAAc,CAACE,OAAO,CAAC,yBAAyB,EAAE,UAACC,KAAK,EAAEC,KAAK,EAAK;AAC1E,IAAA,IAAI,CAACD,KAAK,KAAK,CAAC,EAAE;AACjB,MAAA,OAAO,EAAE;AACV,IAAA;AAEA,IAAA,OAAOC,KAAK,KAAK,CAAC,GAAGD,KAAK,CAACE,WAAW,EAAE,GAAGF,KAAK,CAACG,WAAW,EAAE;AAC/D,EAAA,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"getCamelCase.js","sources":["../../../../src/utils/getCamelCase/getCamelCase.ts"],"sourcesContent":["/**\n * Takes a string and returns a camelCase version of the string\n *\n * @param {string} str - a string to set to camelCase\n * @returns {string} - a string with special characters spaces removed, where words after a space are Uppercase leading\n */\nexport const getCamelCase = (str: string): string => {\n\t// remove special characters from the string\n\tconst noSpecialChars = str.trim()\n\t\t.replace(/[-_]+/g, ' ')\n\t\t.replace(/[`\"',.;:?!@#$%^&*()~[\\]{}|/\\\\<>]+/g, '');\n\n\treturn noSpecialChars.replace(/(?:^\\w|[A-Z]|\\b\\w|\\s+)/g, (match, index) => {\n\t\tif (+match === 0) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn index === 0 ? match.toLowerCase() : match.toUpperCase();\n\t});\n};"],"names":["getCamelCase","str","noSpecialChars","trim","replace","match","index","toLowerCase","toUpperCase"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,YAAY,GAAIC,GAAW,IAAa;AACpD;EACA,IAAMC,cAAc,GAAGD,GAAG,CAACE,IAAI,EAAE,CAC/BC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CACtBA,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;EAEnD,OAAOF,cAAc,CAACE,OAAO,CAAC,yBAAyB,EAAE,CAACC,KAAK,EAAEC,KAAK,KAAK;AAC1E,IAAA,IAAI,CAACD,KAAK,KAAK,CAAC,EAAE;AACjB,MAAA,OAAO,EAAE;AACV,IAAA;AAEA,IAAA,OAAOC,KAAK,KAAK,CAAC,GAAGD,KAAK,CAACE,WAAW,EAAE,GAAGF,KAAK,CAACG,WAAW,EAAE;AAC/D,EAAA,CAAC,CAAC;AACH;;;;"}
@@ -10,7 +10,7 @@ var SCROLLABLE_VALUES = ['auto', 'scroll', 'overlay'];
10
10
  * @param requireOverflow - When true, the element must currently overflow on the axis; when false, scrollable CSS is sufficient.
11
11
  * @returns if the element can scroll on the requested axis.
12
12
  */
13
- var isScrollable = function isScrollable(element, axis, requireOverflow) {
13
+ var isScrollable = (element, axis, requireOverflow) => {
14
14
  var _style$overflowX, _style$overflowY;
15
15
  var style = getComputedStyle(element);
16
16
  var overflowX = (_style$overflowX = style.overflowX) !== null && _style$overflowX !== void 0 ? _style$overflowX : style.overflow;
@@ -1 +1 @@
1
- {"version":3,"file":"getScrollableContainer.js","sources":["../../../../src/utils/getScrollableContainer/getScrollableContainer.ts"],"sourcesContent":["export type ScrollAxis = 'vertical' | 'horizontal' | undefined;\n\nconst SCROLLABLE_VALUES = ['auto', 'scroll', 'overlay'];\n\n/**\n * Determines if an element can scroll on the requested axis.\n *\n * @param element - Candidate element to test.\n * @param axis - Axis to check ('vertical' | 'horizontal'), omit to get both.\n * @param requireOverflow - When true, the element must currently overflow on the axis; when false, scrollable CSS is sufficient.\n * @returns if the element can scroll on the requested axis.\n */\nconst isScrollable = (\n\telement: HTMLElement,\n\taxis: ScrollAxis,\n\trequireOverflow?: boolean\n): boolean => {\n\tconst style = getComputedStyle(element);\n\tconst overflowX = style.overflowX ?? style.overflow;\n\tconst overflowY = style.overflowY ?? style.overflow;\n\tconst canScrollX = SCROLLABLE_VALUES.includes(overflowX);\n\tconst canScrollY = SCROLLABLE_VALUES.includes(overflowY);\n\n\tconst hasHorizontalOverflow = !requireOverflow || element.scrollWidth > element.clientWidth;\n\tconst hasVerticalOverflow = !requireOverflow || element.scrollHeight > element.clientHeight;\n\n\tif (axis === 'horizontal') {\n\t\tif (requireOverflow) {\n\t\t\treturn canScrollX && hasHorizontalOverflow;\n\t\t} else {\n\t\t\treturn canScrollX;\n\t\t}\n\t}\n\n\tif (axis === 'vertical') {\n\t\tif (requireOverflow) {\n\t\t\treturn canScrollY && hasVerticalOverflow;\n\t\t} else {\n\t\t\treturn canScrollY;\n\t\t}\n\t}\n\n\tif (requireOverflow) {\n\t\treturn canScrollX && canScrollY && hasHorizontalOverflow && hasVerticalOverflow;\n\t}\n\n\treturn canScrollX && canScrollY;\n};\n\n/**\n * Get the scrollable container of an element.\n *\n * @param element - The element whose scrollable ancestor is needed.\n * @param axis - Axis to check for scrollability ('vertical' | 'horizontal' | 'both' | 'all'). Defaults to 'vertical'.\n * @param requireOverflow - When true, element must actually overflow on the axis; when false, only scroll styles are considered. Defaults to false.\n * @returns The scrollable container for the specified axis.\n */\nexport const getScrollableContainer = (\n\telement: HTMLElement,\n\taxis: ScrollAxis = 'vertical',\n\trequireOverflow = false\n): HTMLElement => {\n\tlet scrollableContainer = element.parentElement as HTMLElement;\n\n\twhile (scrollableContainer) {\n\t\tif (isScrollable(scrollableContainer, axis, requireOverflow)) {\n\t\t\treturn scrollableContainer;\n\t\t}\n\t\tscrollableContainer = scrollableContainer.parentElement as HTMLElement;\n\t}\n\n\treturn (document.scrollingElement as HTMLElement) || document.body;\n};\n"],"names":["SCROLLABLE_VALUES","isScrollable","element","axis","requireOverflow","_style$overflowX","_style$overflowY","style","getComputedStyle","overflowX","overflow","overflowY","canScrollX","includes","canScrollY","hasHorizontalOverflow","scrollWidth","clientWidth","hasVerticalOverflow","scrollHeight","clientHeight","getScrollableContainer","arguments","length","undefined","scrollableContainer","parentElement","document","scrollingElement","body"],"mappings":";;AAEA,IAAMA,iBAAiB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CACjBC,OAAoB,EACpBC,IAAgB,EAChBC,eAAyB,EACZ;EAAA,IAAAC,gBAAA,EAAAC,gBAAA;AACb,EAAA,IAAMC,KAAK,GAAGC,gBAAgB,CAACN,OAAO,CAAC;AACvC,EAAA,IAAMO,SAAS,GAAA,CAAAJ,gBAAA,GAAGE,KAAK,CAACE,SAAS,MAAA,IAAA,IAAAJ,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAIE,KAAK,CAACG,QAAQ;AACnD,EAAA,IAAMC,SAAS,GAAA,CAAAL,gBAAA,GAAGC,KAAK,CAACI,SAAS,MAAA,IAAA,IAAAL,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAIC,KAAK,CAACG,QAAQ;AACnD,EAAA,IAAME,UAAU,GAAGZ,iBAAiB,CAACa,QAAQ,CAACJ,SAAS,CAAC;AACxD,EAAA,IAAMK,UAAU,GAAGd,iBAAiB,CAACa,QAAQ,CAACF,SAAS,CAAC;EAExD,IAAMI,qBAAqB,GAAG,CAACX,eAAe,IAAIF,OAAO,CAACc,WAAW,GAAGd,OAAO,CAACe,WAAW;EAC3F,IAAMC,mBAAmB,GAAG,CAACd,eAAe,IAAIF,OAAO,CAACiB,YAAY,GAAGjB,OAAO,CAACkB,YAAY;EAE3F,IAAIjB,IAAI,KAAK,YAAY,EAAE;AAC1B,IAAA,IAAIC,eAAe,EAAE;MACpB,OAAOQ,UAAU,IAAIG,qBAAqB;AAC3C,IAAA,CAAC,MAAM;AACN,MAAA,OAAOH,UAAU;AAClB,IAAA;AACD,EAAA;EAEA,IAAIT,IAAI,KAAK,UAAU,EAAE;AACxB,IAAA,IAAIC,eAAe,EAAE;MACpB,OAAOU,UAAU,IAAII,mBAAmB;AACzC,IAAA,CAAC,MAAM;AACN,MAAA,OAAOJ,UAAU;AAClB,IAAA;AACD,EAAA;AAEA,EAAA,IAAIV,eAAe,EAAE;AACpB,IAAA,OAAOQ,UAAU,IAAIE,UAAU,IAAIC,qBAAqB,IAAIG,mBAAmB;AAChF,EAAA;EAEA,OAAON,UAAU,IAAIE,UAAU;AAChC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaO,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAClCnB,OAAoB,EAGH;AAAA,EAAA,IAFjBC,IAAgB,GAAAmB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,UAAU;AAAA,EAAA,IAC7BlB,eAAe,GAAAkB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK;AAEvB,EAAA,IAAIG,mBAAmB,GAAGvB,OAAO,CAACwB,aAA4B;AAE9D,EAAA,OAAOD,mBAAmB,EAAE;IAC3B,IAAIxB,YAAY,CAACwB,mBAAmB,EAAEtB,IAAI,EAAEC,eAAe,CAAC,EAAE;AAC7D,MAAA,OAAOqB,mBAAmB;AAC3B,IAAA;IACAA,mBAAmB,GAAGA,mBAAmB,CAACC,aAA4B;AACvE,EAAA;AAEA,EAAA,OAAQC,QAAQ,CAACC,gBAAgB,IAAoBD,QAAQ,CAACE,IAAI;AACnE;;;;"}
1
+ {"version":3,"file":"getScrollableContainer.js","sources":["../../../../src/utils/getScrollableContainer/getScrollableContainer.ts"],"sourcesContent":["export type ScrollAxis = 'vertical' | 'horizontal' | undefined;\n\nconst SCROLLABLE_VALUES = ['auto', 'scroll', 'overlay'];\n\n/**\n * Determines if an element can scroll on the requested axis.\n *\n * @param element - Candidate element to test.\n * @param axis - Axis to check ('vertical' | 'horizontal'), omit to get both.\n * @param requireOverflow - When true, the element must currently overflow on the axis; when false, scrollable CSS is sufficient.\n * @returns if the element can scroll on the requested axis.\n */\nconst isScrollable = (\n\telement: HTMLElement,\n\taxis: ScrollAxis,\n\trequireOverflow?: boolean\n): boolean => {\n\tconst style = getComputedStyle(element);\n\tconst overflowX = style.overflowX ?? style.overflow;\n\tconst overflowY = style.overflowY ?? style.overflow;\n\tconst canScrollX = SCROLLABLE_VALUES.includes(overflowX);\n\tconst canScrollY = SCROLLABLE_VALUES.includes(overflowY);\n\n\tconst hasHorizontalOverflow = !requireOverflow || element.scrollWidth > element.clientWidth;\n\tconst hasVerticalOverflow = !requireOverflow || element.scrollHeight > element.clientHeight;\n\n\tif (axis === 'horizontal') {\n\t\tif (requireOverflow) {\n\t\t\treturn canScrollX && hasHorizontalOverflow;\n\t\t} else {\n\t\t\treturn canScrollX;\n\t\t}\n\t}\n\n\tif (axis === 'vertical') {\n\t\tif (requireOverflow) {\n\t\t\treturn canScrollY && hasVerticalOverflow;\n\t\t} else {\n\t\t\treturn canScrollY;\n\t\t}\n\t}\n\n\tif (requireOverflow) {\n\t\treturn canScrollX && canScrollY && hasHorizontalOverflow && hasVerticalOverflow;\n\t}\n\n\treturn canScrollX && canScrollY;\n};\n\n/**\n * Get the scrollable container of an element.\n *\n * @param element - The element whose scrollable ancestor is needed.\n * @param axis - Axis to check for scrollability ('vertical' | 'horizontal' | 'both' | 'all'). Defaults to 'vertical'.\n * @param requireOverflow - When true, element must actually overflow on the axis; when false, only scroll styles are considered. Defaults to false.\n * @returns The scrollable container for the specified axis.\n */\nexport const getScrollableContainer = (\n\telement: HTMLElement,\n\taxis: ScrollAxis = 'vertical',\n\trequireOverflow = false\n): HTMLElement => {\n\tlet scrollableContainer = element.parentElement as HTMLElement;\n\n\twhile (scrollableContainer) {\n\t\tif (isScrollable(scrollableContainer, axis, requireOverflow)) {\n\t\t\treturn scrollableContainer;\n\t\t}\n\t\tscrollableContainer = scrollableContainer.parentElement as HTMLElement;\n\t}\n\n\treturn (document.scrollingElement as HTMLElement) || document.body;\n};\n"],"names":["SCROLLABLE_VALUES","isScrollable","element","axis","requireOverflow","_style$overflowX","_style$overflowY","style","getComputedStyle","overflowX","overflow","overflowY","canScrollX","includes","canScrollY","hasHorizontalOverflow","scrollWidth","clientWidth","hasVerticalOverflow","scrollHeight","clientHeight","getScrollableContainer","arguments","length","undefined","scrollableContainer","parentElement","document","scrollingElement","body"],"mappings":";;AAEA,IAAMA,iBAAiB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,YAAY,GAAGA,CACpBC,OAAoB,EACpBC,IAAgB,EAChBC,eAAyB,KACZ;EAAA,IAAAC,gBAAA,EAAAC,gBAAA;AACb,EAAA,IAAMC,KAAK,GAAGC,gBAAgB,CAACN,OAAO,CAAC;AACvC,EAAA,IAAMO,SAAS,GAAA,CAAAJ,gBAAA,GAAGE,KAAK,CAACE,SAAS,MAAA,IAAA,IAAAJ,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAIE,KAAK,CAACG,QAAQ;AACnD,EAAA,IAAMC,SAAS,GAAA,CAAAL,gBAAA,GAAGC,KAAK,CAACI,SAAS,MAAA,IAAA,IAAAL,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAIC,KAAK,CAACG,QAAQ;AACnD,EAAA,IAAME,UAAU,GAAGZ,iBAAiB,CAACa,QAAQ,CAACJ,SAAS,CAAC;AACxD,EAAA,IAAMK,UAAU,GAAGd,iBAAiB,CAACa,QAAQ,CAACF,SAAS,CAAC;EAExD,IAAMI,qBAAqB,GAAG,CAACX,eAAe,IAAIF,OAAO,CAACc,WAAW,GAAGd,OAAO,CAACe,WAAW;EAC3F,IAAMC,mBAAmB,GAAG,CAACd,eAAe,IAAIF,OAAO,CAACiB,YAAY,GAAGjB,OAAO,CAACkB,YAAY;EAE3F,IAAIjB,IAAI,KAAK,YAAY,EAAE;AAC1B,IAAA,IAAIC,eAAe,EAAE;MACpB,OAAOQ,UAAU,IAAIG,qBAAqB;AAC3C,IAAA,CAAC,MAAM;AACN,MAAA,OAAOH,UAAU;AAClB,IAAA;AACD,EAAA;EAEA,IAAIT,IAAI,KAAK,UAAU,EAAE;AACxB,IAAA,IAAIC,eAAe,EAAE;MACpB,OAAOU,UAAU,IAAII,mBAAmB;AACzC,IAAA,CAAC,MAAM;AACN,MAAA,OAAOJ,UAAU;AAClB,IAAA;AACD,EAAA;AAEA,EAAA,IAAIV,eAAe,EAAE;AACpB,IAAA,OAAOQ,UAAU,IAAIE,UAAU,IAAIC,qBAAqB,IAAIG,mBAAmB;AAChF,EAAA;EAEA,OAAON,UAAU,IAAIE,UAAU;AAChC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaO,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAClCnB,OAAoB,EAGH;AAAA,EAAA,IAFjBC,IAAgB,GAAAmB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,UAAU;AAAA,EAAA,IAC7BlB,eAAe,GAAAkB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK;AAEvB,EAAA,IAAIG,mBAAmB,GAAGvB,OAAO,CAACwB,aAA4B;AAE9D,EAAA,OAAOD,mBAAmB,EAAE;IAC3B,IAAIxB,YAAY,CAACwB,mBAAmB,EAAEtB,IAAI,EAAEC,eAAe,CAAC,EAAE;AAC7D,MAAA,OAAOqB,mBAAmB;AAC3B,IAAA;IACAA,mBAAmB,GAAGA,mBAAmB,CAACC,aAA4B;AACvE,EAAA;AAEA,EAAA,OAAQC,QAAQ,CAACC,gBAAgB,IAAoBD,QAAQ,CAACE,IAAI;AACnE;;;;"}
@@ -6,7 +6,7 @@
6
6
  * @param element - the element that is scrollable
7
7
  * @returns - object with hasScrollLeft and hasScrollRight properties
8
8
  */
9
- var hasHorizontalScroll = function hasHorizontalScroll(element) {
9
+ var hasHorizontalScroll = element => {
10
10
  var _ref = element,
11
11
  scrollLeft = _ref.scrollLeft,
12
12
  offsetWidth = _ref.offsetWidth,
@@ -1 +1 @@
1
- {"version":3,"file":"hasHorizontalScroll.js","sources":["../../../../src/utils/hasHorizontalScroll/hasHorizontalScroll.ts"],"sourcesContent":["export type HasHorizontalScrollReturn = {\n\thasScrollLeft: boolean;\n\thasScrollRight: boolean;\n};\n\n/**\n * Test if an element has scrollable content in the horizontal axis\n *\n * @param element - the element that is scrollable\n * @returns - object with hasScrollLeft and hasScrollRight properties\n */\nexport const hasHorizontalScroll = (element: HTMLElement): HasHorizontalScrollReturn => {\n\tconst { scrollLeft, offsetWidth, scrollWidth } = element as HTMLElement;\n\treturn {\n\t\thasScrollLeft: scrollLeft > 0,\n\t\thasScrollRight: scrollLeft + offsetWidth < scrollWidth\n\t};\n};\n"],"names":["hasHorizontalScroll","element","_ref","scrollLeft","offsetWidth","scrollWidth","hasScrollLeft","hasScrollRight"],"mappings":";;AAKA;AACA;AACA;AACA;AACA;AACA;IACaA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,OAAoB,EAAgC;EACvF,IAAAC,IAAA,GAAiDD,OAAO;IAAhDE,UAAU,GAAAD,IAAA,CAAVC,UAAU;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,WAAW,GAAAH,IAAA,CAAXG,WAAW;EAC5C,OAAO;IACNC,aAAa,EAAEH,UAAU,GAAG,CAAC;AAC7BI,IAAAA,cAAc,EAAEJ,UAAU,GAAGC,WAAW,GAAGC;GAC3C;AACF;;;;"}
1
+ {"version":3,"file":"hasHorizontalScroll.js","sources":["../../../../src/utils/hasHorizontalScroll/hasHorizontalScroll.ts"],"sourcesContent":["export type HasHorizontalScrollReturn = {\n\thasScrollLeft: boolean;\n\thasScrollRight: boolean;\n};\n\n/**\n * Test if an element has scrollable content in the horizontal axis\n *\n * @param element - the element that is scrollable\n * @returns - object with hasScrollLeft and hasScrollRight properties\n */\nexport const hasHorizontalScroll = (element: HTMLElement): HasHorizontalScrollReturn => {\n\tconst { scrollLeft, offsetWidth, scrollWidth } = element as HTMLElement;\n\treturn {\n\t\thasScrollLeft: scrollLeft > 0,\n\t\thasScrollRight: scrollLeft + offsetWidth < scrollWidth\n\t};\n};\n"],"names":["hasHorizontalScroll","element","_ref","scrollLeft","offsetWidth","scrollWidth","hasScrollLeft","hasScrollRight"],"mappings":";;AAKA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,mBAAmB,GAAIC,OAAoB,IAAgC;EACvF,IAAAC,IAAA,GAAiDD,OAAO;IAAhDE,UAAU,GAAAD,IAAA,CAAVC,UAAU;IAAEC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAEC,WAAW,GAAAH,IAAA,CAAXG,WAAW;EAC5C,OAAO;IACNC,aAAa,EAAEH,UAAU,GAAG,CAAC;AAC7BI,IAAAA,cAAc,EAAEJ,UAAU,GAAGC,WAAW,GAAGC;GAC3C;AACF;;;;"}
@@ -6,7 +6,7 @@
6
6
  * @param {HTMLElement} element - the element you want to test
7
7
  * @returns {HasScrollContentReturn} - object with hasScrollTop and hasScrollBottom properties
8
8
  */
9
- var hasScrollContent = function hasScrollContent(element) {
9
+ var hasScrollContent = element => {
10
10
  return {
11
11
  hasScrollBottom: Math.abs(element.scrollHeight - element.scrollTop - element.clientHeight) > 1,
12
12
  hasScrollTop: element.scrollTop > 0
@@ -1 +1 @@
1
- {"version":3,"file":"hasScrollContent.js","sources":["../../../../src/utils/hasScrollContent/hasScrollContent.ts"],"sourcesContent":["export type HasScrollContentReturn = {\n\thasScrollTop: boolean;\n\thasScrollBottom: boolean;\n};\n\n/**\n * Test if an element has scrollable content left\n *\n * @param {HTMLElement} element - the element you want to test\n * @returns {HasScrollContentReturn} - object with hasScrollTop and hasScrollBottom properties\n */\nexport const hasScrollContent = (element: HTMLElement): HasScrollContentReturn => {\n\treturn {\n\t\thasScrollBottom: Math.abs(element.scrollHeight - element.scrollTop - element.clientHeight) > 1,\n\t\thasScrollTop: element.scrollTop > 0\n\t};\n};\n"],"names":["hasScrollContent","element","hasScrollBottom","Math","abs","scrollHeight","scrollTop","clientHeight","hasScrollTop"],"mappings":";;AAKA;AACA;AACA;AACA;AACA;AACA;IACaA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,OAAoB,EAA6B;EACjF,OAAO;AACNC,IAAAA,eAAe,EAAEC,IAAI,CAACC,GAAG,CAACH,OAAO,CAACI,YAAY,GAAGJ,OAAO,CAACK,SAAS,GAAGL,OAAO,CAACM,YAAY,CAAC,GAAG,CAAC;AAC9FC,IAAAA,YAAY,EAAEP,OAAO,CAACK,SAAS,GAAG;GAClC;AACF;;;;"}
1
+ {"version":3,"file":"hasScrollContent.js","sources":["../../../../src/utils/hasScrollContent/hasScrollContent.ts"],"sourcesContent":["export type HasScrollContentReturn = {\n\thasScrollTop: boolean;\n\thasScrollBottom: boolean;\n};\n\n/**\n * Test if an element has scrollable content left\n *\n * @param {HTMLElement} element - the element you want to test\n * @returns {HasScrollContentReturn} - object with hasScrollTop and hasScrollBottom properties\n */\nexport const hasScrollContent = (element: HTMLElement): HasScrollContentReturn => {\n\treturn {\n\t\thasScrollBottom: Math.abs(element.scrollHeight - element.scrollTop - element.clientHeight) > 1,\n\t\thasScrollTop: element.scrollTop > 0\n\t};\n};\n"],"names":["hasScrollContent","element","hasScrollBottom","Math","abs","scrollHeight","scrollTop","clientHeight","hasScrollTop"],"mappings":";;AAKA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,gBAAgB,GAAIC,OAAoB,IAA6B;EACjF,OAAO;AACNC,IAAAA,eAAe,EAAEC,IAAI,CAACC,GAAG,CAACH,OAAO,CAACI,YAAY,GAAGJ,OAAO,CAACK,SAAS,GAAGL,OAAO,CAACM,YAAY,CAAC,GAAG,CAAC;AAC9FC,IAAAA,YAAY,EAAEP,OAAO,CAACK,SAAS,GAAG;GAClC;AACF;;;;"}
@@ -6,7 +6,7 @@
6
6
  * @param {HTMLElement | null | undefined} element - The element to check for aria-disabled attribute
7
7
  * @returns {boolean} - true if the element has aria-disabled="true", false otherwise
8
8
  */
9
- var isElementAriaDisabled = function isElementAriaDisabled(element) {
9
+ var isElementAriaDisabled = element => {
10
10
  if (!element) return false;
11
11
  var ariaDisabled = element.getAttribute('aria-disabled');
12
12
  return (ariaDisabled === null || ariaDisabled === void 0 ? void 0 : ariaDisabled.trim()) === 'true';
@@ -1 +1 @@
1
- {"version":3,"file":"isElementAriaDisabled.js","sources":["../../../../src/utils/isElementAriaDisabled/isElementAriaDisabled.ts"],"sourcesContent":["/**\n * Checks if an element has aria-disabled=\"true\"\n *\n * @param {HTMLElement | null | undefined} element - The element to check for aria-disabled attribute\n * @returns {boolean} - true if the element has aria-disabled=\"true\", false otherwise\n */\nexport const isElementAriaDisabled = (element: HTMLElement | null | undefined): boolean => {\n\tif (!element) return false;\n\n\tconst ariaDisabled = element.getAttribute('aria-disabled');\n\treturn ariaDisabled?.trim() === 'true';\n};\n"],"names":["isElementAriaDisabled","element","ariaDisabled","getAttribute","trim"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;IACaA,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,OAAuC,EAAc;AAC1F,EAAA,IAAI,CAACA,OAAO,EAAE,OAAO,KAAK;AAE1B,EAAA,IAAMC,YAAY,GAAGD,OAAO,CAACE,YAAY,CAAC,eAAe,CAAC;EAC1D,OAAO,CAAAD,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEE,IAAI,EAAE,MAAK,MAAM;AACvC;;;;"}
1
+ {"version":3,"file":"isElementAriaDisabled.js","sources":["../../../../src/utils/isElementAriaDisabled/isElementAriaDisabled.ts"],"sourcesContent":["/**\n * Checks if an element has aria-disabled=\"true\"\n *\n * @param {HTMLElement | null | undefined} element - The element to check for aria-disabled attribute\n * @returns {boolean} - true if the element has aria-disabled=\"true\", false otherwise\n */\nexport const isElementAriaDisabled = (element: HTMLElement | null | undefined): boolean => {\n\tif (!element) return false;\n\n\tconst ariaDisabled = element.getAttribute('aria-disabled');\n\treturn ariaDisabled?.trim() === 'true';\n};\n"],"names":["isElementAriaDisabled","element","ariaDisabled","getAttribute","trim"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,qBAAqB,GAAIC,OAAuC,IAAc;AAC1F,EAAA,IAAI,CAACA,OAAO,EAAE,OAAO,KAAK;AAE1B,EAAA,IAAMC,YAAY,GAAGD,OAAO,CAACE,YAAY,CAAC,eAAe,CAAC;EAC1D,OAAO,CAAAD,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEE,IAAI,EAAE,MAAK,MAAM;AACvC;;;;"}
@@ -6,7 +6,7 @@
6
6
  * @param {HTMLElement} element - the element you want to test
7
7
  * @returns {boolean} - true if the element is scrollable, false if it is not scrollable
8
8
  */
9
- var isElementScrollable = function isElementScrollable(element) {
9
+ var isElementScrollable = element => {
10
10
  return element.scrollHeight > element.clientHeight;
11
11
  };
12
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/utils/isElementScrollable/index.ts"],"sourcesContent":["/**\n * Test if an element is scrollable\n *\n * @param {HTMLElement} element - the element you want to test\n * @returns {boolean} - true if the element is scrollable, false if it is not scrollable\n */\nexport const isElementScrollable = (element: HTMLElement): boolean => {\n\treturn element.scrollHeight > element.clientHeight;\n};\n"],"names":["isElementScrollable","element","scrollHeight","clientHeight"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;IACaA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,OAAoB,EAAc;AACrE,EAAA,OAAOA,OAAO,CAACC,YAAY,GAAGD,OAAO,CAACE,YAAY;AACnD;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/utils/isElementScrollable/index.ts"],"sourcesContent":["/**\n * Test if an element is scrollable\n *\n * @param {HTMLElement} element - the element you want to test\n * @returns {boolean} - true if the element is scrollable, false if it is not scrollable\n */\nexport const isElementScrollable = (element: HTMLElement): boolean => {\n\treturn element.scrollHeight > element.clientHeight;\n};\n"],"names":["isElementScrollable","element","scrollHeight","clientHeight"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,mBAAmB,GAAIC,OAAoB,IAAc;AACrE,EAAA,OAAOA,OAAO,CAACC,YAAY,GAAGD,OAAO,CAACE,YAAY;AACnD;;;;"}
@@ -2,7 +2,8 @@
2
2
 
3
3
  var path = require('path-browserify');
4
4
 
5
- function _interopNamespaceDefault(e) {
5
+ function _interopNamespace(e) {
6
+ if (e && e.__esModule) return e;
6
7
  var n = Object.create(null);
7
8
  if (e) {
8
9
  Object.keys(e).forEach(function (k) {
@@ -19,7 +20,7 @@ function _interopNamespaceDefault(e) {
19
20
  return Object.freeze(n);
20
21
  }
21
22
 
22
- var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
23
+ var path__namespace = /*#__PURE__*/_interopNamespace(path);
23
24
 
24
25
  /**
25
26
  * Checks if a passed image string is a valid URL
@@ -27,7 +28,7 @@ var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
27
28
  * @param {string} image - the image string being tested
28
29
  * @returns {boolean} - if the image is an image URL
29
30
  */
30
- var isImagePath = function isImagePath(image) {
31
+ var isImagePath = image => {
31
32
  try {
32
33
  if (typeof image !== 'string') return false;
33
34
  var result = path__namespace.parse(image);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/utils/isImagePath/index.ts"],"sourcesContent":["import * as path from 'path-browserify';\n\n/**\n * Checks if a passed image string is a valid URL\n *\n * @param {string} image - the image string being tested\n * @returns {boolean} - if the image is an image URL\n */\nexport const isImagePath = (image: string): image is string => {\n\ttry {\n\t\tif (typeof image !== 'string') return false;\n\n\t\tconst result = path.parse(image);\n\t\tif (!result) throw result;\n\t} catch (err) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n"],"names":["isImagePath","image","result","path","parse","err"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;IACaA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAAa,EAAsB;EAC9D,IAAI;AACH,IAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,KAAK;AAE3C,IAAA,IAAMC,MAAM,GAAGC,eAAI,CAACC,KAAK,CAACH,KAAK,CAAC;AAChC,IAAA,IAAI,CAACC,MAAM,EAAE,MAAMA,MAAM;EAC1B,CAAC,CAAC,OAAOG,GAAG,EAAE;AACb,IAAA,OAAO,KAAK;AACb,EAAA;AAEA,EAAA,OAAO,IAAI;AACZ;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/utils/isImagePath/index.ts"],"sourcesContent":["import * as path from 'path-browserify';\n\n/**\n * Checks if a passed image string is a valid URL\n *\n * @param {string} image - the image string being tested\n * @returns {boolean} - if the image is an image URL\n */\nexport const isImagePath = (image: string): image is string => {\n\ttry {\n\t\tif (typeof image !== 'string') return false;\n\n\t\tconst result = path.parse(image);\n\t\tif (!result) throw result;\n\t} catch (err) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n"],"names":["isImagePath","image","result","path","parse","err"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,WAAW,GAAIC,KAAa,IAAsB;EAC9D,IAAI;AACH,IAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,KAAK;AAE3C,IAAA,IAAMC,MAAM,GAAGC,eAAI,CAACC,KAAK,CAACH,KAAK,CAAC;AAChC,IAAA,IAAI,CAACC,MAAM,EAAE,MAAMA,MAAM;EAC1B,CAAC,CAAC,OAAOG,GAAG,EAAE;AACb,IAAA,OAAO,KAAK;AACb,EAAA;AAEA,EAAA,OAAO,IAAI;AACZ;;;;"}
@@ -6,7 +6,7 @@
6
6
  * @param {string} image - the image string being tested
7
7
  * @returns {boolean} - if the image is an image URI
8
8
  */
9
- var isImageUri = function isImageUri(image) {
9
+ var isImageUri = image => {
10
10
  try {
11
11
  if (typeof image !== 'string') return false;
12
12
  // eslint-disable-next-line no-new
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/utils/isImageUri/index.ts"],"sourcesContent":["/**\n * Checks if a passed image string is an image URI\n *\n * @param {string} image - the image string being tested\n * @returns {boolean} - if the image is an image URI\n */\nexport const isImageUri = (image: string): image is string => {\n\ttry {\n\t\tif (typeof image !== 'string') return false;\n\t\t// eslint-disable-next-line no-new\n\t\tnew URL(image);\n\t} catch (err) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n"],"names":["isImageUri","image","URL","err"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAa,EAAsB;EAC7D,IAAI;AACH,IAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,KAAK;AAC3C;IACA,IAAIC,GAAG,CAACD,KAAK,CAAC;EACf,CAAC,CAAC,OAAOE,GAAG,EAAE;AACb,IAAA,OAAO,KAAK;AACb,EAAA;AAEA,EAAA,OAAO,IAAI;AACZ;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/utils/isImageUri/index.ts"],"sourcesContent":["/**\n * Checks if a passed image string is an image URI\n *\n * @param {string} image - the image string being tested\n * @returns {boolean} - if the image is an image URI\n */\nexport const isImageUri = (image: string): image is string => {\n\ttry {\n\t\tif (typeof image !== 'string') return false;\n\t\t// eslint-disable-next-line no-new\n\t\tnew URL(image);\n\t} catch (err) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n"],"names":["isImageUri","image","URL","err"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,UAAU,GAAIC,KAAa,IAAsB;EAC7D,IAAI;AACH,IAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,KAAK;AAC3C;IACA,IAAIC,GAAG,CAACD,KAAK,CAAC;EACf,CAAC,CAAC,OAAOE,GAAG,EAAE;AACb,IAAA,OAAO,KAAK;AACb,EAAA;AAEA,EAAA,OAAO,IAAI;AACZ;;;;"}
@@ -13,7 +13,7 @@
13
13
  * @param {Item} item - variable to tests
14
14
  * @returns {boolean} - value if item is actually an Object
15
15
  */
16
- var isObject = function isObject(item) {
16
+ var isObject = item => {
17
17
  if (item && Array.isArray(item)) {
18
18
  return false;
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"isObject.js","sources":["../../../../src/utils/isObject/isObject.ts"],"sourcesContent":["/**\n * Item is passed to the `isObject` function.\n * Since we want to be able to check if anything is an object, we allow\n * anything to be passed to the function.\n */\nexport type Item = unknown;\n\n/**\n * Tests that a variable is actually an object and not an array or null\n * which can mistakenly be flagged as an object\n *\n * @param {Item} item - variable to tests\n * @returns {boolean} - value if item is actually an Object\n */\nexport const isObject = (item: Item): boolean => {\n\tif (item && Array.isArray(item)) {\n\t\treturn false;\n\t}\n\n\treturn item instanceof Object;\n};\n"],"names":["isObject","item","Array","isArray","Object"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,IAAU,EAAc;EAChD,IAAIA,IAAI,IAAIC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;AAChC,IAAA,OAAO,KAAK;AACb,EAAA;EAEA,OAAOA,IAAI,YAAYG,MAAM;AAC9B;;;;"}
1
+ {"version":3,"file":"isObject.js","sources":["../../../../src/utils/isObject/isObject.ts"],"sourcesContent":["/**\n * Item is passed to the `isObject` function.\n * Since we want to be able to check if anything is an object, we allow\n * anything to be passed to the function.\n */\nexport type Item = unknown;\n\n/**\n * Tests that a variable is actually an object and not an array or null\n * which can mistakenly be flagged as an object\n *\n * @param {Item} item - variable to tests\n * @returns {boolean} - value if item is actually an Object\n */\nexport const isObject = (item: Item): boolean => {\n\tif (item && Array.isArray(item)) {\n\t\treturn false;\n\t}\n\n\treturn item instanceof Object;\n};\n"],"names":["isObject","item","Array","isArray","Object"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,QAAQ,GAAIC,IAAU,IAAc;EAChD,IAAIA,IAAI,IAAIC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;AAChC,IAAA,OAAO,KAAK;AACb,EAAA;EAEA,OAAOA,IAAI,YAAYG,MAAM;AAC9B;;;;"}
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @returns {boolean} - True if the device is a touch device
7
7
  */
8
- var isTouchDevice = function isTouchDevice() {
8
+ var isTouchDevice = () => {
9
9
  return 'ontouchstart' in window || navigator.maxTouchPoints > 0;
10
10
  };
11
11
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/utils/isTouch/index.ts"],"sourcesContent":["/**\n * Check if the device is a touch device\n *\n * @returns {boolean} - True if the device is a touch device\n */\nexport const isTouchDevice = (): boolean => {\n\treturn 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n};\n"],"names":["isTouchDevice","window","navigator","maxTouchPoints"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;IACaA,aAAa,GAAG,SAAhBA,aAAaA,GAAkB;EAC3C,OAAO,cAAc,IAAIC,MAAM,IAAIC,SAAS,CAACC,cAAc,GAAG,CAAC;AAChE;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/utils/isTouch/index.ts"],"sourcesContent":["/**\n * Check if the device is a touch device\n *\n * @returns {boolean} - True if the device is a touch device\n */\nexport const isTouchDevice = (): boolean => {\n\treturn 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n};\n"],"names":["isTouchDevice","window","navigator","maxTouchPoints"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAGA,MAAe;EAC3C,OAAO,cAAc,IAAIC,MAAM,IAAIC,SAAS,CAACC,cAAc,GAAG,CAAC;AAChE;;;;"}
@@ -53,7 +53,7 @@ var PORTAL_LAYERS = {
53
53
  * @param element - the element to check for the closest portal layer
54
54
  * @returns the portal layer id
55
55
  */
56
- var getCurrentPortalLayer = function getCurrentPortalLayer(element) {
56
+ var getCurrentPortalLayer = element => {
57
57
  if (!element) return null;
58
58
  var closestWithDataLayerId = element.closest('[data-layer-id]');
59
59
  return closestWithDataLayerId ? closestWithDataLayerId.getAttribute('data-layer-id') : null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/utils/layers/index.ts"],"sourcesContent":["/* eslint-disable sort-keys */\n/**\n * References to the different portal layers\n */\nexport const PORTAL_LAYERS = {\n\tROOT: { name: 'mrl-root-portal', zIndex: 50000 },\n\tTOAST: { name: 'mrl-toast-portal', zIndex: 50001 },\n\tMENU: { name: 'mrl-menu-portal', zIndex: 50002 },\n\tPOPOVER: { name: 'mrl-popover-portal', zIndex: 50003 },\n\tPOPOVER_MENU: { name: 'mrl-popover-menu-portal', zIndex: 50004 },\n\tCALLOUT: { name: 'mrl-callout-portal', zIndex: 50004 },\n\tMODAL: { name: 'mrl-modal', zIndex: 50005 },\n\tSELECT: { name: 'mrl-select-portal', zIndex: 50006 },\n\tTOOLTIP: { name: 'mrl-tooltip-portal', zIndex: 50007 },\n\tTOP: { name: 'mrl-top-portal', zIndex: 50008 }\n} as const;\n\n/**\n * Get the current portal layer based on the provided element\n *\n * @param element - the element to check for the closest portal layer\n * @returns the portal layer id\n */\nexport const getCurrentPortalLayer = (element: HTMLElement): string | null => {\n\tif (!element) return null;\n\n\tconst closestWithDataLayerId = element.closest('[data-layer-id]');\n\treturn closestWithDataLayerId ? closestWithDataLayerId.getAttribute('data-layer-id') : null;\n};\n"],"names":["PORTAL_LAYERS","ROOT","name","zIndex","TOAST","MENU","POPOVER","POPOVER_MENU","CALLOUT","MODAL","SELECT","TOOLTIP","TOP","getCurrentPortalLayer","element","closestWithDataLayerId","closest","getAttribute"],"mappings":";;AAAA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAG;AAC5BC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,IAAI,EAAE,iBAAiB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AAChDC,EAAAA,KAAK,EAAE;AAAEF,IAAAA,IAAI,EAAE,kBAAkB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AAClDE,EAAAA,IAAI,EAAE;AAAEH,IAAAA,IAAI,EAAE,iBAAiB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AAChDG,EAAAA,OAAO,EAAE;AAAEJ,IAAAA,IAAI,EAAE,oBAAoB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AACtDI,EAAAA,YAAY,EAAE;AAAEL,IAAAA,IAAI,EAAE,yBAAyB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AAChEK,EAAAA,OAAO,EAAE;AAAEN,IAAAA,IAAI,EAAE,oBAAoB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AACtDM,EAAAA,KAAK,EAAE;AAAEP,IAAAA,IAAI,EAAE,WAAW;AAAEC,IAAAA,MAAM,EAAE;GAAO;AAC3CO,EAAAA,MAAM,EAAE;AAAER,IAAAA,IAAI,EAAE,mBAAmB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AACpDQ,EAAAA,OAAO,EAAE;AAAET,IAAAA,IAAI,EAAE,oBAAoB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AACtDS,EAAAA,GAAG,EAAE;AAAEV,IAAAA,IAAI,EAAE,gBAAgB;AAAEC,IAAAA,MAAM,EAAE;AAAM;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;IACaU,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,OAAoB,EAAoB;AAC7E,EAAA,IAAI,CAACA,OAAO,EAAE,OAAO,IAAI;AAEzB,EAAA,IAAMC,sBAAsB,GAAGD,OAAO,CAACE,OAAO,CAAC,iBAAiB,CAAC;EACjE,OAAOD,sBAAsB,GAAGA,sBAAsB,CAACE,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI;AAC5F;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/utils/layers/index.ts"],"sourcesContent":["/* eslint-disable sort-keys */\n/**\n * References to the different portal layers\n */\nexport const PORTAL_LAYERS = {\n\tROOT: { name: 'mrl-root-portal', zIndex: 50000 },\n\tTOAST: { name: 'mrl-toast-portal', zIndex: 50001 },\n\tMENU: { name: 'mrl-menu-portal', zIndex: 50002 },\n\tPOPOVER: { name: 'mrl-popover-portal', zIndex: 50003 },\n\tPOPOVER_MENU: { name: 'mrl-popover-menu-portal', zIndex: 50004 },\n\tCALLOUT: { name: 'mrl-callout-portal', zIndex: 50004 },\n\tMODAL: { name: 'mrl-modal', zIndex: 50005 },\n\tSELECT: { name: 'mrl-select-portal', zIndex: 50006 },\n\tTOOLTIP: { name: 'mrl-tooltip-portal', zIndex: 50007 },\n\tTOP: { name: 'mrl-top-portal', zIndex: 50008 }\n} as const;\n\n/**\n * Get the current portal layer based on the provided element\n *\n * @param element - the element to check for the closest portal layer\n * @returns the portal layer id\n */\nexport const getCurrentPortalLayer = (element: HTMLElement): string | null => {\n\tif (!element) return null;\n\n\tconst closestWithDataLayerId = element.closest('[data-layer-id]');\n\treturn closestWithDataLayerId ? closestWithDataLayerId.getAttribute('data-layer-id') : null;\n};\n"],"names":["PORTAL_LAYERS","ROOT","name","zIndex","TOAST","MENU","POPOVER","POPOVER_MENU","CALLOUT","MODAL","SELECT","TOOLTIP","TOP","getCurrentPortalLayer","element","closestWithDataLayerId","closest","getAttribute"],"mappings":";;AAAA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAG;AAC5BC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,IAAI,EAAE,iBAAiB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AAChDC,EAAAA,KAAK,EAAE;AAAEF,IAAAA,IAAI,EAAE,kBAAkB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AAClDE,EAAAA,IAAI,EAAE;AAAEH,IAAAA,IAAI,EAAE,iBAAiB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AAChDG,EAAAA,OAAO,EAAE;AAAEJ,IAAAA,IAAI,EAAE,oBAAoB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AACtDI,EAAAA,YAAY,EAAE;AAAEL,IAAAA,IAAI,EAAE,yBAAyB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AAChEK,EAAAA,OAAO,EAAE;AAAEN,IAAAA,IAAI,EAAE,oBAAoB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AACtDM,EAAAA,KAAK,EAAE;AAAEP,IAAAA,IAAI,EAAE,WAAW;AAAEC,IAAAA,MAAM,EAAE;GAAO;AAC3CO,EAAAA,MAAM,EAAE;AAAER,IAAAA,IAAI,EAAE,mBAAmB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AACpDQ,EAAAA,OAAO,EAAE;AAAET,IAAAA,IAAI,EAAE,oBAAoB;AAAEC,IAAAA,MAAM,EAAE;GAAO;AACtDS,EAAAA,GAAG,EAAE;AAAEV,IAAAA,IAAI,EAAE,gBAAgB;AAAEC,IAAAA,MAAM,EAAE;AAAM;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMU,qBAAqB,GAAIC,OAAoB,IAAoB;AAC7E,EAAA,IAAI,CAACA,OAAO,EAAE,OAAO,IAAI;AAEzB,EAAA,IAAMC,sBAAsB,GAAGD,OAAO,CAACE,OAAO,CAAC,iBAAiB,CAAC;EACjE,OAAOD,sBAAsB,GAAGA,sBAAsB,CAACE,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI;AAC5F;;;;;"}
@@ -7,7 +7,7 @@
7
7
  * Better than passing a console log which clutters up our test output.
8
8
  */
9
9
  // eslint-disable-next-line @typescript-eslint/no-empty-function
10
- var noop = function noop() {};
10
+ var noop = () => {};
11
11
 
12
12
  exports.noop = noop;
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/utils/noop/index.ts"],"sourcesContent":["/**\n * No operation function to be used as a default callback.\n *\n * Example usage: in tests where there is a required handler, but we do not want to do anything.\n * Better than passing a console log which clutters up our test output.\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport const noop = (): void => {};\n"],"names":["noop"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,IAAI,GAAG,SAAPA,IAAIA,GAAe,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/utils/noop/index.ts"],"sourcesContent":["/**\n * No operation function to be used as a default callback.\n *\n * Example usage: in tests where there is a required handler, but we do not want to do anything.\n * Better than passing a console log which clutters up our test output.\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport const noop = (): void => {};\n"],"names":["noop"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,IAAI,GAAGA,MAAY,CAAC;;;;"}
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @param e - The event
7
7
  */
8
- var preventDefault = function preventDefault(e) {
8
+ var preventDefault = e => {
9
9
  e.preventDefault();
10
10
  e.stopPropagation();
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"preventDefault.js","sources":["../../../../src/utils/preventDefault/preventDefault.ts"],"sourcesContent":["/**\n * Prevent default on event\n *\n * @param e - The event\n */\nexport const preventDefault = (\n\te: React.MouseEvent | React.KeyboardEvent | MouseEvent | KeyboardEvent\n): void => {\n\te.preventDefault();\n\te.stopPropagation();\n};\n"],"names":["preventDefault","e","stopPropagation"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;IACaA,cAAc,GAAG,SAAjBA,cAAcA,CAC1BC,CAAsE,EAC5D;EACVA,CAAC,CAACD,cAAc,EAAE;EAClBC,CAAC,CAACC,eAAe,EAAE;AACpB;;;;"}
1
+ {"version":3,"file":"preventDefault.js","sources":["../../../../src/utils/preventDefault/preventDefault.ts"],"sourcesContent":["/**\n * Prevent default on event\n *\n * @param e - The event\n */\nexport const preventDefault = (\n\te: React.MouseEvent | React.KeyboardEvent | MouseEvent | KeyboardEvent\n): void => {\n\te.preventDefault();\n\te.stopPropagation();\n};\n"],"names":["preventDefault","e","stopPropagation"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACO,IAAMA,cAAc,GAC1BC,CAAsE,IAC5D;EACVA,CAAC,CAACD,cAAc,EAAE;EAClBC,CAAC,CAACC,eAAe,EAAE;AACpB;;;;"}
@@ -4,6 +4,10 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
4
4
  var classnames = require('classnames');
5
5
  var isObject = require('../isObject/isObject.js');
6
6
 
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var classnames__default = /*#__PURE__*/_interopDefault(classnames);
10
+
7
11
  // We don't necessarily know what a user passes to any given key in the attributes object
8
12
  // so allowing "any" here will prevent unexpected TS failures
9
13
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -14,7 +18,7 @@ var isObject = require('../isObject/isObject.js');
14
18
  * @param {string} attributes - the custom attributes passed to a component
15
19
  * @returns {AttrsObject} - an object of attributes
16
20
  */
17
- var parseAttributes = function parseAttributes(attributes) {
21
+ var parseAttributes = attributes => {
18
22
  try {
19
23
  return JSON.parse(attributes);
20
24
  } catch (error) {
@@ -40,14 +44,16 @@ var parseAttributes = function parseAttributes(attributes) {
40
44
  * @param {ClassObject} defaultClasses - design system component classes to apply
41
45
  * @returns {ClassObject} - with all classes
42
46
  */
43
- var setClasses = function setClasses(customClasses, defaultClasses) {
47
+ var setClasses = (customClasses, defaultClasses) => {
44
48
  /**
45
49
  * If a string is passed, we must parse it into a valid JSON object.
46
50
  * Otherwise, we can assign the passed attributes directly to the returned object.
47
51
  */
48
52
  var parsedAttr = typeof customClasses === 'string' ? parseAttributes(customClasses) : customClasses;
49
- if (parsedAttr && isObject.isObject(parsedAttr) && parsedAttr["class"]) {
50
- return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.defineProperty({}, "".concat(parsedAttr["class"]), typeof parsedAttr["class"] !== 'undefined' && parsedAttr["class"].length > 0), defaultClasses);
53
+ if (parsedAttr && isObject.isObject(parsedAttr) && parsedAttr.class) {
54
+ return _rollupPluginBabelHelpers.objectSpread2({
55
+ ["".concat(parsedAttr.class)]: typeof parsedAttr.class !== 'undefined' && parsedAttr.class.length > 0
56
+ }, defaultClasses);
51
57
  }
52
58
  return defaultClasses;
53
59
  };
@@ -79,7 +85,7 @@ var setAttributes = function setAttributes(attributes) {
79
85
 
80
86
  // Applies className instead of class when forReact is true
81
87
  return Object.assign({}, defaults, customAttributes, {
82
- className: classnames(className, customAttributes.className)
88
+ className: classnames__default.default(className, customAttributes.className)
83
89
  });
84
90
  }
85
91
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"setAttributes.js","sources":["../../../../src/utils/setAttributes/setAttributes.ts"],"sourcesContent":["import cn from 'classnames';\nimport { isObject } from '../isObject';\n\n// We don't necessarily know what a user passes to any given key in the attributes object\n// so allowing \"any\" here will prevent unexpected TS failures\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AttrsObject = Record<string, any>;\n\n/**\n * Parse a string of attributes into a JSON object\n *\n * @param {string} attributes - the custom attributes passed to a component\n * @returns {AttrsObject} - an object of attributes\n */\nconst parseAttributes = (attributes: string): AttrsObject => {\n\ttry {\n\t\treturn JSON.parse(attributes);\n\t} catch (error) {\n\t\tconsole.error('The attrs property is not properly-formatted JSON:');\n\t\tconsole.error(attributes);\n\t\tconsole.error(error);\n\t\treturn error as AttrsObject;\n\t}\n};\n\n/**\n * Object that contains all of the classes that can be applied to an element\n * and a condition that determines if that instance should have it\n * applied or not. The structure is:\n * \"my-class\": !theConditional\n */\nexport type ClassObject = Record<string, boolean>;\n\n/**\n * Sets up a classObject to be used by the className prop\n *\n * @todo - 2563 - use setClasses across components\n * @param {string} customClasses - custom classes to apply via the attrs prop\n * @param {ClassObject} defaultClasses - design system component classes to apply\n * @returns {ClassObject} - with all classes\n */\nexport const setClasses = (\n\tcustomClasses: AttrsObject | undefined,\n\tdefaultClasses: ClassObject\n): ClassObject => {\n\t/**\n\t * If a string is passed, we must parse it into a valid JSON object.\n\t * Otherwise, we can assign the passed attributes directly to the returned object.\n\t */\n\tconst parsedAttr =\n\t\ttypeof customClasses === 'string' ? parseAttributes(customClasses) : customClasses;\n\n\tif (parsedAttr && isObject(parsedAttr) && parsedAttr.class) {\n\t\treturn {\n\t\t\t[`${parsedAttr.class}`]:\n\t\t\t\ttypeof parsedAttr.class !== 'undefined' && parsedAttr.class.length > 0,\n\t\t\t...defaultClasses\n\t\t};\n\t}\n\n\treturn defaultClasses;\n};\n\n/**\n * Set an object of attributes to be used in a given component.\n *\n * @param {AttrsObject} attributes - The custom attributes passed to the component\n * @param {AttrsObject} defaults - An optional object of the default attributes of a component\n * @param {string} className - Default classes to apply to the component\n *\n * Use when applying attributes such as a className directly to a react component.\n * @returns {AttrsObject} - An object of component attributes\n */\nexport const setAttributes = (\n\tattributes: AttrsObject | undefined,\n\tdefaults: AttrsObject = {},\n\tclassName?: string\n): AttrsObject => {\n\t/**\n\t * If a string is passed, we must parse it into a valid JSON object.\n\t * Otherwise, we can assign the passed attributes directly to the returned object.\n\t */\n\tconst customAttributes =\n\t\ttypeof attributes === 'string' ? parseAttributes(attributes) : attributes;\n\n\tif (customAttributes) {\n\t\t/**\n\t\t * Assign the defaults and the passed attributes to a new object\n\t\t * to ensure that one attributes object without duplicated keys\n\t\t * can be passed to the component.\n\t\t */\n\n\t\t// Applies className instead of class when forReact is true\n\t\treturn Object.assign({}, defaults, customAttributes, {\n\t\t\tclassName: cn(className, customAttributes.className)\n\t\t});\n\t}\n\n\treturn {};\n};\n\nlet lastId = 0;\n\n/**\n * Generates unique identifier\n *\n * @param {string} prefix - prefix for identifier\n * @returns {string} - prefixed unique identifier\n */\nexport const getUniqueId = (prefix = 'mrl'): string => {\n\tlastId++;\n\treturn `${prefix}-${lastId}`;\n};\n"],"names":["parseAttributes","attributes","JSON","parse","error","console","setClasses","customClasses","defaultClasses","parsedAttr","isObject","_objectSpread","_defineProperty","concat","length","setAttributes","defaults","arguments","undefined","className","customAttributes","Object","assign","cn","lastId","getUniqueId","prefix"],"mappings":";;;;;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,UAAkB,EAAkB;EAC5D,IAAI;AACH,IAAA,OAAOC,IAAI,CAACC,KAAK,CAACF,UAAU,CAAC;EAC9B,CAAC,CAAC,OAAOG,KAAK,EAAE;AACfC,IAAAA,OAAO,CAACD,KAAK,CAAC,oDAAoD,CAAC;AACnEC,IAAAA,OAAO,CAACD,KAAK,CAACH,UAAU,CAAC;AACzBI,IAAAA,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;AACpB,IAAA,OAAOA,KAAK;AACb,EAAA;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAME,UAAU,GAAG,SAAbA,UAAUA,CACtBC,aAAsC,EACtCC,cAA2B,EACV;AACjB;AACD;AACA;AACA;AACC,EAAA,IAAMC,UAAU,GACf,OAAOF,aAAa,KAAK,QAAQ,GAAGP,eAAe,CAACO,aAAa,CAAC,GAAGA,aAAa;EAEnF,IAAIE,UAAU,IAAIC,iBAAQ,CAACD,UAAU,CAAC,IAAIA,UAAU,CAAA,OAAA,CAAM,EAAE;IAC3D,OAAAE,uCAAA,CAAAC,wCAAA,CAAA,EAAA,EAAA,EAAA,CAAAC,MAAA,CACKJ,UAAU,CAAA,OAAA,CAAM,CAAA,EACnB,OAAOA,UAAU,SAAM,KAAK,WAAW,IAAIA,UAAU,CAAA,OAAA,CAAM,CAACK,MAAM,GAAG,CAAC,CAAA,EACpEN,cAAc,CAAA;AAEnB,EAAA;AAEA,EAAA,OAAOA,cAAc;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaO,aAAa,GAAG,SAAhBA,aAAaA,CACzBd,UAAmC,EAGlB;AAAA,EAAA,IAFjBe,QAAqB,GAAAC,SAAA,CAAAH,MAAA,GAAA,CAAA,IAAAG,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;EAAA,IAC1BE,SAAkB,GAAAF,SAAA,CAAAH,MAAA,GAAA,CAAA,GAAAG,SAAA,MAAAC,SAAA;AAElB;AACD;AACA;AACA;AACC,EAAA,IAAME,gBAAgB,GACrB,OAAOnB,UAAU,KAAK,QAAQ,GAAGD,eAAe,CAACC,UAAU,CAAC,GAAGA,UAAU;AAE1E,EAAA,IAAImB,gBAAgB,EAAE;AACrB;AACF;AACA;AACA;AACA;;AAEE;IACA,OAAOC,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEN,QAAQ,EAAEI,gBAAgB,EAAE;AACpDD,MAAAA,SAAS,EAAEI,UAAE,CAACJ,SAAS,EAAEC,gBAAgB,CAACD,SAAS;AACpD,KAAC,CAAC;AACH,EAAA;AAEA,EAAA,OAAO,EAAE;AACV;AAEA,IAAIK,MAAM,GAAG,CAAC;;AAEd;AACA;AACA;AACA;AACA;AACA;IACaC,WAAW,GAAG,SAAdA,WAAWA,GAA+B;AAAA,EAAA,IAA3BC,MAAM,GAAAT,SAAA,CAAAH,MAAA,GAAA,CAAA,IAAAG,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK;AACzCO,EAAAA,MAAM,EAAE;AACR,EAAA,OAAA,EAAA,CAAAX,MAAA,CAAUa,MAAM,EAAA,GAAA,CAAA,CAAAb,MAAA,CAAIW,MAAM,CAAA;AAC3B;;;;;;"}
1
+ {"version":3,"file":"setAttributes.js","sources":["../../../../src/utils/setAttributes/setAttributes.ts"],"sourcesContent":["import cn from 'classnames';\nimport { isObject } from '../isObject';\n\n// We don't necessarily know what a user passes to any given key in the attributes object\n// so allowing \"any\" here will prevent unexpected TS failures\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AttrsObject = Record<string, any>;\n\n/**\n * Parse a string of attributes into a JSON object\n *\n * @param {string} attributes - the custom attributes passed to a component\n * @returns {AttrsObject} - an object of attributes\n */\nconst parseAttributes = (attributes: string): AttrsObject => {\n\ttry {\n\t\treturn JSON.parse(attributes);\n\t} catch (error) {\n\t\tconsole.error('The attrs property is not properly-formatted JSON:');\n\t\tconsole.error(attributes);\n\t\tconsole.error(error);\n\t\treturn error as AttrsObject;\n\t}\n};\n\n/**\n * Object that contains all of the classes that can be applied to an element\n * and a condition that determines if that instance should have it\n * applied or not. The structure is:\n * \"my-class\": !theConditional\n */\nexport type ClassObject = Record<string, boolean>;\n\n/**\n * Sets up a classObject to be used by the className prop\n *\n * @todo - 2563 - use setClasses across components\n * @param {string} customClasses - custom classes to apply via the attrs prop\n * @param {ClassObject} defaultClasses - design system component classes to apply\n * @returns {ClassObject} - with all classes\n */\nexport const setClasses = (\n\tcustomClasses: AttrsObject | undefined,\n\tdefaultClasses: ClassObject\n): ClassObject => {\n\t/**\n\t * If a string is passed, we must parse it into a valid JSON object.\n\t * Otherwise, we can assign the passed attributes directly to the returned object.\n\t */\n\tconst parsedAttr =\n\t\ttypeof customClasses === 'string' ? parseAttributes(customClasses) : customClasses;\n\n\tif (parsedAttr && isObject(parsedAttr) && parsedAttr.class) {\n\t\treturn {\n\t\t\t[`${parsedAttr.class}`]:\n\t\t\t\ttypeof parsedAttr.class !== 'undefined' && parsedAttr.class.length > 0,\n\t\t\t...defaultClasses\n\t\t};\n\t}\n\n\treturn defaultClasses;\n};\n\n/**\n * Set an object of attributes to be used in a given component.\n *\n * @param {AttrsObject} attributes - The custom attributes passed to the component\n * @param {AttrsObject} defaults - An optional object of the default attributes of a component\n * @param {string} className - Default classes to apply to the component\n *\n * Use when applying attributes such as a className directly to a react component.\n * @returns {AttrsObject} - An object of component attributes\n */\nexport const setAttributes = (\n\tattributes: AttrsObject | undefined,\n\tdefaults: AttrsObject = {},\n\tclassName?: string\n): AttrsObject => {\n\t/**\n\t * If a string is passed, we must parse it into a valid JSON object.\n\t * Otherwise, we can assign the passed attributes directly to the returned object.\n\t */\n\tconst customAttributes =\n\t\ttypeof attributes === 'string' ? parseAttributes(attributes) : attributes;\n\n\tif (customAttributes) {\n\t\t/**\n\t\t * Assign the defaults and the passed attributes to a new object\n\t\t * to ensure that one attributes object without duplicated keys\n\t\t * can be passed to the component.\n\t\t */\n\n\t\t// Applies className instead of class when forReact is true\n\t\treturn Object.assign({}, defaults, customAttributes, {\n\t\t\tclassName: cn(className, customAttributes.className)\n\t\t});\n\t}\n\n\treturn {};\n};\n\nlet lastId = 0;\n\n/**\n * Generates unique identifier\n *\n * @param {string} prefix - prefix for identifier\n * @returns {string} - prefixed unique identifier\n */\nexport const getUniqueId = (prefix = 'mrl'): string => {\n\tlastId++;\n\treturn `${prefix}-${lastId}`;\n};\n"],"names":["parseAttributes","attributes","JSON","parse","error","console","setClasses","customClasses","defaultClasses","parsedAttr","isObject","class","_objectSpread","concat","length","setAttributes","defaults","arguments","undefined","className","customAttributes","Object","assign","cn","lastId","getUniqueId","prefix"],"mappings":";;;;;;;;;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,eAAe,GAAIC,UAAkB,IAAkB;EAC5D,IAAI;AACH,IAAA,OAAOC,IAAI,CAACC,KAAK,CAACF,UAAU,CAAC;EAC9B,CAAC,CAAC,OAAOG,KAAK,EAAE;AACfC,IAAAA,OAAO,CAACD,KAAK,CAAC,oDAAoD,CAAC;AACnEC,IAAAA,OAAO,CAACD,KAAK,CAACH,UAAU,CAAC;AACzBI,IAAAA,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;AACpB,IAAA,OAAOA,KAAK;AACb,EAAA;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaE,UAAU,GAAGA,CACzBC,aAAsC,EACtCC,cAA2B,KACV;AACjB;AACD;AACA;AACA;AACC,EAAA,IAAMC,UAAU,GACf,OAAOF,aAAa,KAAK,QAAQ,GAAGP,eAAe,CAACO,aAAa,CAAC,GAAGA,aAAa;EAEnF,IAAIE,UAAU,IAAIC,iBAAQ,CAACD,UAAU,CAAC,IAAIA,UAAU,CAACE,KAAK,EAAE;AAC3D,IAAA,OAAAC,uCAAA,CAAA;AACC,MAAA,CAAA,EAAA,CAAAC,MAAA,CAAIJ,UAAU,CAACE,KAAK,CAAA,GACnB,OAAOF,UAAU,CAACE,KAAK,KAAK,WAAW,IAAIF,UAAU,CAACE,KAAK,CAACG,MAAM,GAAG;AAAC,KAAA,EACpEN,cAAc,CAAA;AAEnB,EAAA;AAEA,EAAA,OAAOA,cAAc;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaO,aAAa,GAAG,SAAhBA,aAAaA,CACzBd,UAAmC,EAGlB;AAAA,EAAA,IAFjBe,QAAqB,GAAAC,SAAA,CAAAH,MAAA,GAAA,CAAA,IAAAG,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;EAAA,IAC1BE,SAAkB,GAAAF,SAAA,CAAAH,MAAA,GAAA,CAAA,GAAAG,SAAA,MAAAC,SAAA;AAElB;AACD;AACA;AACA;AACC,EAAA,IAAME,gBAAgB,GACrB,OAAOnB,UAAU,KAAK,QAAQ,GAAGD,eAAe,CAACC,UAAU,CAAC,GAAGA,UAAU;AAE1E,EAAA,IAAImB,gBAAgB,EAAE;AACrB;AACF;AACA;AACA;AACA;;AAEE;IACA,OAAOC,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEN,QAAQ,EAAEI,gBAAgB,EAAE;AACpDD,MAAAA,SAAS,EAAEI,2BAAE,CAACJ,SAAS,EAAEC,gBAAgB,CAACD,SAAS;AACpD,KAAC,CAAC;AACH,EAAA;AAEA,EAAA,OAAO,EAAE;AACV;AAEA,IAAIK,MAAM,GAAG,CAAC;;AAEd;AACA;AACA;AACA;AACA;AACA;IACaC,WAAW,GAAG,SAAdA,WAAWA,GAA+B;AAAA,EAAA,IAA3BC,MAAM,GAAAT,SAAA,CAAAH,MAAA,GAAA,CAAA,IAAAG,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK;AACzCO,EAAAA,MAAM,EAAE;AACR,EAAA,OAAA,EAAA,CAAAX,MAAA,CAAUa,MAAM,EAAA,GAAA,CAAA,CAAAb,MAAA,CAAIW,MAAM,CAAA;AAC3B;;;;;;"}
@@ -18,10 +18,8 @@ var FOCUSABLE_ELEMENTS_SELECTOR = [A_SELECTOR, BUTTON_SELECTOR, TEXTAREA_SELECTO
18
18
  * @param {HTMLElement} element - The component props.
19
19
  * @returns {HTMLElement[]} - The focusable elements inside the element.
20
20
  */
21
- var getFocusableElementsInsideElement = function getFocusableElementsInsideElement(element) {
22
- var focusableElements = Array.from(element.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR)).filter(function (n) {
23
- return n instanceof HTMLElement;
24
- });
21
+ var getFocusableElementsInsideElement = element => {
22
+ var focusableElements = Array.from(element.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR)).filter(n => n instanceof HTMLElement);
25
23
 
26
24
  // If no focusable elements are found, check if the container can be focused
27
25
  if (focusableElements.length === 0) {
@@ -39,9 +37,9 @@ var getFocusableElementsInsideElement = function getFocusableElementsInsideEleme
39
37
  * @param {HTMLElement} containerElement - container element
40
38
  * @returns {HTMLElement | undefined} - the first element that has autofocus="true" or undefined
41
39
  */
42
- var getElementWithAutofocus = function getElementWithAutofocus(containerElement) {
40
+ var getElementWithAutofocus = containerElement => {
43
41
  var focusableElements = getFocusableElementsInsideElement(containerElement);
44
- return focusableElements.find(function (el) {
42
+ return focusableElements.find(el => {
45
43
  return el.getAttribute('data-autofocus') === 'true';
46
44
  });
47
45
  };
@@ -51,7 +49,7 @@ var getElementWithAutofocus = function getElementWithAutofocus(containerElement)
51
49
  * @param {Element} el - The element
52
50
  * @returns {HTMLInputElement} Returns true if the element is a radio
53
51
  */
54
- var isElementRadioButton = function isElementRadioButton(el) {
52
+ var isElementRadioButton = el => {
55
53
  return el.tagName === 'INPUT' && el.type === 'radio';
56
54
  };
57
55
 
@@ -66,7 +64,7 @@ var isElementRadioButton = function isElementRadioButton(el) {
66
64
  var trapFocus = function trapFocus(element) {
67
65
  var disableAutofocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
68
66
  var previouslyFocusedEl = document.activeElement;
69
- var mutationObserver = new MutationObserver(function () {
67
+ var mutationObserver = new MutationObserver(() => {
70
68
  var _getFocusableElements = getFocusableElementsInsideElement(element),
71
69
  _getFocusableElements2 = _rollupPluginBabelHelpers.slicedToArray(_getFocusableElements, 1),
72
70
  firstFocusableElement = _getFocusableElements2[0];
@@ -76,7 +74,7 @@ var trapFocus = function trapFocus(element) {
76
74
  firstFocusableElement.focus();
77
75
  }
78
76
  });
79
- var tabListener = function tabListener(e) {
77
+ var tabListener = e => {
80
78
  if (e.key !== 'Tab') {
81
79
  return;
82
80
  }
@@ -113,7 +111,7 @@ var trapFocus = function trapFocus(element) {
113
111
  * In the event an element has its tabindex set after component mounting has completed, we need
114
112
  * to allow the callstack to clear to ensure it's properly set before we can focus the first element.
115
113
  */
116
- setTimeout(function () {
114
+ setTimeout(() => {
117
115
  var elementWithAutofocus = getElementWithAutofocus(element);
118
116
  if (elementWithAutofocus) {
119
117
  elementWithAutofocus.focus();
@@ -126,7 +124,7 @@ var trapFocus = function trapFocus(element) {
126
124
  firstFocusableElement === null || firstFocusableElement === void 0 ? void 0 : firstFocusableElement.focus();
127
125
  }
128
126
  }, 20);
129
- return function () {
127
+ return () => {
130
128
  element.removeEventListener('keydown', tabListener);
131
129
  mutationObserver.disconnect();
132
130
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/utils/trapFocus/index.ts"],"sourcesContent":["const A_SELECTOR = 'a[href]:not([disabled])';\nconst BUTTON_SELECTOR = 'button:not([disabled]):not([tabindex=\"-1\"])';\nconst TEXTAREA_SELECTOR = 'textarea:not([disabled])';\nconst INPUT = 'input:not([type=\"hidden\"]):not([disabled])';\nconst SEARCH_INPUT = 'input[type=\"search\"]:not([disabled])';\nconst SELECT_SELECTOR = 'select:not([disabled])';\nconst TAB_INDEX = '[tabindex]:not([tabindex=\"-1\"]):not([disabled])';\nconst WEB_COMPONENTS = 'mrl-icon-button:not([tabindex=\"-1\"])';\nconst TABBABLE_CONTENT_AREAS = 'div[tabindex=\"0\"]';\n\nexport const FOCUSABLE_ELEMENTS_SELECTOR = [\n\tA_SELECTOR,\n\tBUTTON_SELECTOR,\n\tTEXTAREA_SELECTOR,\n\tINPUT,\n\tSEARCH_INPUT,\n\tSELECT_SELECTOR,\n\tTAB_INDEX,\n\tWEB_COMPONENTS,\n\tTABBABLE_CONTENT_AREAS\n].join(', ');\n\n/**\n * Focus trap logic\n * @param {HTMLElement} element - The component props.\n * @returns {HTMLElement[]} - The focusable elements inside the element.\n */\nexport const getFocusableElementsInsideElement = (element: HTMLElement): HTMLElement[] => {\n\tconst focusableElements = Array.from(\n\t\telement.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR)\n\t).filter((n): n is HTMLElement => n instanceof HTMLElement);\n\n\t// If no focusable elements are found, check if the container can be focused\n\tif (focusableElements.length === 0) {\n\t\t// Check if the element has a -1 tabindex, if it doesn't let's add it so it can be focused\n\t\tif (!element.hasAttribute('tabindex') || element.tabIndex < 0) {\n\t\t\telement.setAttribute('tabindex', '-1');\n\t\t}\n\n\t\tfocusableElements.push(element);\n\t}\n\n\treturn focusableElements;\n};\n\n/**\n * Gets the first element with the data-autofocus=\"true\" attribute within the container element\n * @param {HTMLElement} containerElement - container element\n * @returns {HTMLElement | undefined} - the first element that has autofocus=\"true\" or undefined\n */\nexport const getElementWithAutofocus = (containerElement: HTMLElement): HTMLElement | undefined => {\n\tconst focusableElements = getFocusableElementsInsideElement(containerElement);\n\treturn focusableElements.find((el) => {\n\t\treturn el.getAttribute('data-autofocus') === 'true';\n\t});\n};\n\n/**\n * Returns if an element is a radio element\n * @param {Element} el - The element\n * @returns {HTMLInputElement} Returns true if the element is a radio\n */\nconst isElementRadioButton = (el: Element): el is HTMLInputElement => {\n\treturn el.tagName === 'INPUT' && (el as HTMLInputElement).type === 'radio';\n};\n\n/**\n * Traps focus inside of an element\n * Adapted from https://hidde.blog/using-javascript-to-trap-focus-in-an-element/\n * @param {HTMLElement} element // Element to trap focus in\n * @param {boolean} disableAutofocus // Whether to disable autofocus\n * @returns {Function} // Cleanup function to be run when component is\n * // removed from the DOM\n */\nexport const trapFocus = (element: HTMLElement, disableAutofocus = false): (() => void) => {\n\tconst previouslyFocusedEl = document.activeElement;\n\n\tconst mutationObserver = new MutationObserver(() => {\n\t\tconst [firstFocusableElement] = getFocusableElementsInsideElement(element);\n\n\t\t// The previously focused element was removed from the DOM\n\t\tif (!document.activeElement) {\n\t\t\tfirstFocusableElement.focus();\n\t\t}\n\t});\n\n\tconst tabListener = (e: KeyboardEvent) => {\n\t\tif (e.key !== 'Tab') {\n\t\t\treturn;\n\t\t}\n\n\t\tconst focusableElements = getFocusableElementsInsideElement(element);\n\t\tconst firstFocusableElement = focusableElements[0];\n\t\tconst lastFocusableElement = focusableElements[focusableElements.length - 1];\n\n\t\tif (e.shiftKey) {\n\t\t\t// If the activeElement is a radio button and shares the same 'name' attribute as the firstFocusableElement\n\t\t\tif (\n\t\t\t\tdocument.activeElement &&\n\t\t\t\tisElementRadioButton(document.activeElement) &&\n\t\t\t\tisElementRadioButton(firstFocusableElement) &&\n\t\t\t\tdocument.activeElement.name === firstFocusableElement.name\n\t\t\t) {\n\t\t\t\tlastFocusableElement.focus();\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Reverse in tab order, but we're at the beginning of the list\n\t\t\tif (document.activeElement === firstFocusableElement) {\n\t\t\t\tlastFocusableElement.focus();\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (document.activeElement === lastFocusableElement) {\n\t\t\t// Forward in tab order, but we're at the end of the list\n\t\t\tfirstFocusableElement.focus();\n\t\t\te.preventDefault();\n\t\t}\n\t};\n\n\tmutationObserver.observe(element, { childList: true, subtree: true });\n\telement.addEventListener('keydown', tabListener);\n\n\t/**\n\t * In the event an element has its tabindex set after component mounting has completed, we need\n\t * to allow the callstack to clear to ensure it's properly set before we can focus the first element.\n\t */\n\tsetTimeout(() => {\n\t\tconst elementWithAutofocus = getElementWithAutofocus(element);\n\t\tif (elementWithAutofocus) {\n\t\t\telementWithAutofocus.focus();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!disableAutofocus) {\n\t\t\tconst [firstFocusableElement] = getFocusableElementsInsideElement(element);\n\t\t\tfirstFocusableElement?.focus();\n\t\t}\n\t}, 20);\n\n\treturn () => {\n\t\telement.removeEventListener('keydown', tabListener);\n\t\tmutationObserver.disconnect();\n\n\t\t/**\n\t\t * Restore focus to element that was in focus before the focus trap was activated\n\t\t *\n\t\t * Conditions to move focus:\n\t\t * - If it is still inside the trap, or effectively \"lost\"\n\t\t * - If focus has been intentionally moved outside, do nothing\n\t\t */\n\t\tconst active = document.activeElement as HTMLElement | null;\n\t\tconst focusIsInside = !!active && element.contains(active);\n\t\tconst focusIsLost = !active || active === document.body;\n\n\t\tif (focusIsInside || focusIsLost) {\n\t\t\tconst body = document.body;\n\n\t\t\t// get data-focus-item attribute from body\n\t\t\tconst focusItemId = body.dataset.focusItem;\n\t\t\tconst focusItemEl = focusItemId ? document.getElementById(focusItemId) : null;\n\n\t\t\tconst focusTarget = focusItemEl ?? previouslyFocusedEl;\n\n\t\t\tif (focusTarget instanceof HTMLElement) {\n\t\t\t\tfocusTarget.focus();\n\t\t\t}\n\n\t\t\tdelete body.dataset.focusItem;\n\t\t}\n\t};\n};\n"],"names":["A_SELECTOR","BUTTON_SELECTOR","TEXTAREA_SELECTOR","INPUT","SEARCH_INPUT","SELECT_SELECTOR","TAB_INDEX","WEB_COMPONENTS","TABBABLE_CONTENT_AREAS","FOCUSABLE_ELEMENTS_SELECTOR","join","getFocusableElementsInsideElement","element","focusableElements","Array","from","querySelectorAll","filter","n","HTMLElement","length","hasAttribute","tabIndex","setAttribute","push","getElementWithAutofocus","containerElement","find","el","getAttribute","isElementRadioButton","tagName","type","trapFocus","disableAutofocus","arguments","undefined","previouslyFocusedEl","document","activeElement","mutationObserver","MutationObserver","_getFocusableElements","_getFocusableElements2","_slicedToArray","firstFocusableElement","focus","tabListener","e","key","lastFocusableElement","shiftKey","name","preventDefault","observe","childList","subtree","addEventListener","setTimeout","elementWithAutofocus","_getFocusableElements3","_getFocusableElements4","removeEventListener","disconnect","active","focusIsInside","contains","focusIsLost","body","focusItemId","dataset","focusItem","focusItemEl","getElementById","focusTarget"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/utils/trapFocus/index.ts"],"sourcesContent":["const A_SELECTOR = 'a[href]:not([disabled])';\nconst BUTTON_SELECTOR = 'button:not([disabled]):not([tabindex=\"-1\"])';\nconst TEXTAREA_SELECTOR = 'textarea:not([disabled])';\nconst INPUT = 'input:not([type=\"hidden\"]):not([disabled])';\nconst SEARCH_INPUT = 'input[type=\"search\"]:not([disabled])';\nconst SELECT_SELECTOR = 'select:not([disabled])';\nconst TAB_INDEX = '[tabindex]:not([tabindex=\"-1\"]):not([disabled])';\nconst WEB_COMPONENTS = 'mrl-icon-button:not([tabindex=\"-1\"])';\nconst TABBABLE_CONTENT_AREAS = 'div[tabindex=\"0\"]';\n\nexport const FOCUSABLE_ELEMENTS_SELECTOR = [\n\tA_SELECTOR,\n\tBUTTON_SELECTOR,\n\tTEXTAREA_SELECTOR,\n\tINPUT,\n\tSEARCH_INPUT,\n\tSELECT_SELECTOR,\n\tTAB_INDEX,\n\tWEB_COMPONENTS,\n\tTABBABLE_CONTENT_AREAS\n].join(', ');\n\n/**\n * Focus trap logic\n * @param {HTMLElement} element - The component props.\n * @returns {HTMLElement[]} - The focusable elements inside the element.\n */\nexport const getFocusableElementsInsideElement = (element: HTMLElement): HTMLElement[] => {\n\tconst focusableElements = Array.from(\n\t\telement.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR)\n\t).filter((n): n is HTMLElement => n instanceof HTMLElement);\n\n\t// If no focusable elements are found, check if the container can be focused\n\tif (focusableElements.length === 0) {\n\t\t// Check if the element has a -1 tabindex, if it doesn't let's add it so it can be focused\n\t\tif (!element.hasAttribute('tabindex') || element.tabIndex < 0) {\n\t\t\telement.setAttribute('tabindex', '-1');\n\t\t}\n\n\t\tfocusableElements.push(element);\n\t}\n\n\treturn focusableElements;\n};\n\n/**\n * Gets the first element with the data-autofocus=\"true\" attribute within the container element\n * @param {HTMLElement} containerElement - container element\n * @returns {HTMLElement | undefined} - the first element that has autofocus=\"true\" or undefined\n */\nexport const getElementWithAutofocus = (containerElement: HTMLElement): HTMLElement | undefined => {\n\tconst focusableElements = getFocusableElementsInsideElement(containerElement);\n\treturn focusableElements.find((el) => {\n\t\treturn el.getAttribute('data-autofocus') === 'true';\n\t});\n};\n\n/**\n * Returns if an element is a radio element\n * @param {Element} el - The element\n * @returns {HTMLInputElement} Returns true if the element is a radio\n */\nconst isElementRadioButton = (el: Element): el is HTMLInputElement => {\n\treturn el.tagName === 'INPUT' && (el as HTMLInputElement).type === 'radio';\n};\n\n/**\n * Traps focus inside of an element\n * Adapted from https://hidde.blog/using-javascript-to-trap-focus-in-an-element/\n * @param {HTMLElement} element // Element to trap focus in\n * @param {boolean} disableAutofocus // Whether to disable autofocus\n * @returns {Function} // Cleanup function to be run when component is\n * // removed from the DOM\n */\nexport const trapFocus = (element: HTMLElement, disableAutofocus = false): (() => void) => {\n\tconst previouslyFocusedEl = document.activeElement;\n\n\tconst mutationObserver = new MutationObserver(() => {\n\t\tconst [firstFocusableElement] = getFocusableElementsInsideElement(element);\n\n\t\t// The previously focused element was removed from the DOM\n\t\tif (!document.activeElement) {\n\t\t\tfirstFocusableElement.focus();\n\t\t}\n\t});\n\n\tconst tabListener = (e: KeyboardEvent) => {\n\t\tif (e.key !== 'Tab') {\n\t\t\treturn;\n\t\t}\n\n\t\tconst focusableElements = getFocusableElementsInsideElement(element);\n\t\tconst firstFocusableElement = focusableElements[0];\n\t\tconst lastFocusableElement = focusableElements[focusableElements.length - 1];\n\n\t\tif (e.shiftKey) {\n\t\t\t// If the activeElement is a radio button and shares the same 'name' attribute as the firstFocusableElement\n\t\t\tif (\n\t\t\t\tdocument.activeElement &&\n\t\t\t\tisElementRadioButton(document.activeElement) &&\n\t\t\t\tisElementRadioButton(firstFocusableElement) &&\n\t\t\t\tdocument.activeElement.name === firstFocusableElement.name\n\t\t\t) {\n\t\t\t\tlastFocusableElement.focus();\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Reverse in tab order, but we're at the beginning of the list\n\t\t\tif (document.activeElement === firstFocusableElement) {\n\t\t\t\tlastFocusableElement.focus();\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (document.activeElement === lastFocusableElement) {\n\t\t\t// Forward in tab order, but we're at the end of the list\n\t\t\tfirstFocusableElement.focus();\n\t\t\te.preventDefault();\n\t\t}\n\t};\n\n\tmutationObserver.observe(element, { childList: true, subtree: true });\n\telement.addEventListener('keydown', tabListener);\n\n\t/**\n\t * In the event an element has its tabindex set after component mounting has completed, we need\n\t * to allow the callstack to clear to ensure it's properly set before we can focus the first element.\n\t */\n\tsetTimeout(() => {\n\t\tconst elementWithAutofocus = getElementWithAutofocus(element);\n\t\tif (elementWithAutofocus) {\n\t\t\telementWithAutofocus.focus();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!disableAutofocus) {\n\t\t\tconst [firstFocusableElement] = getFocusableElementsInsideElement(element);\n\t\t\tfirstFocusableElement?.focus();\n\t\t}\n\t}, 20);\n\n\treturn () => {\n\t\telement.removeEventListener('keydown', tabListener);\n\t\tmutationObserver.disconnect();\n\n\t\t/**\n\t\t * Restore focus to element that was in focus before the focus trap was activated\n\t\t *\n\t\t * Conditions to move focus:\n\t\t * - If it is still inside the trap, or effectively \"lost\"\n\t\t * - If focus has been intentionally moved outside, do nothing\n\t\t */\n\t\tconst active = document.activeElement as HTMLElement | null;\n\t\tconst focusIsInside = !!active && element.contains(active);\n\t\tconst focusIsLost = !active || active === document.body;\n\n\t\tif (focusIsInside || focusIsLost) {\n\t\t\tconst body = document.body;\n\n\t\t\t// get data-focus-item attribute from body\n\t\t\tconst focusItemId = body.dataset.focusItem;\n\t\t\tconst focusItemEl = focusItemId ? document.getElementById(focusItemId) : null;\n\n\t\t\tconst focusTarget = focusItemEl ?? previouslyFocusedEl;\n\n\t\t\tif (focusTarget instanceof HTMLElement) {\n\t\t\t\tfocusTarget.focus();\n\t\t\t}\n\n\t\t\tdelete body.dataset.focusItem;\n\t\t}\n\t};\n};\n"],"names":["A_SELECTOR","BUTTON_SELECTOR","TEXTAREA_SELECTOR","INPUT","SEARCH_INPUT","SELECT_SELECTOR","TAB_INDEX","WEB_COMPONENTS","TABBABLE_CONTENT_AREAS","FOCUSABLE_ELEMENTS_SELECTOR","join","getFocusableElementsInsideElement","element","focusableElements","Array","from","querySelectorAll","filter","n","HTMLElement","length","hasAttribute","tabIndex","setAttribute","push","getElementWithAutofocus","containerElement","find","el","getAttribute","isElementRadioButton","tagName","type","trapFocus","disableAutofocus","arguments","undefined","previouslyFocusedEl","document","activeElement","mutationObserver","MutationObserver","_getFocusableElements","_getFocusableElements2","_slicedToArray","firstFocusableElement","focus","tabListener","e","key","lastFocusableElement","shiftKey","name","preventDefault","observe","childList","subtree","addEventListener","setTimeout","elementWithAutofocus","_getFocusableElements3","_getFocusableElements4","removeEventListener","disconnect","active","focusIsInside","contains","focusIsLost","body","focusItemId","dataset","focusItem","focusItemEl","getElementById","focusTarget"],"mappings":"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"}