@muraldevkit/ui-toolkit 4.68.0-dev-NFbt.1 → 4.68.0-dev-nPeA.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -250
- package/dist/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/dist/cjs/components/avatar/MrlAvatar/MrlAvatar.js +17 -11
- package/dist/cjs/components/avatar/MrlAvatar/MrlAvatar.js.map +1 -1
- package/dist/cjs/components/avatar/MrlAvatarButton/MrlAvatarButton.js +27 -25
- package/dist/cjs/components/avatar/MrlAvatarButton/MrlAvatarButton.js.map +1 -1
- package/dist/cjs/components/badge/MrlBadge/MrlBadge.js +11 -5
- package/dist/cjs/components/badge/MrlBadge/MrlBadge.js.map +1 -1
- package/dist/cjs/components/badge/MrlBadgeNotification/MrlBadgeNotification.js +12 -4
- package/dist/cjs/components/badge/MrlBadgeNotification/MrlBadgeNotification.js.map +1 -1
- package/dist/cjs/components/breadcrumb/MrlBreadcrumbItem/MrlBreadcrumbItem.js +13 -6
- package/dist/cjs/components/breadcrumb/MrlBreadcrumbItem/MrlBreadcrumbItem.js.map +1 -1
- package/dist/cjs/components/breadcrumb/MrlBreadcrumbSeparator/MrlBreadcrumbSeparator.js +7 -3
- package/dist/cjs/components/breadcrumb/MrlBreadcrumbSeparator/MrlBreadcrumbSeparator.js.map +1 -1
- package/dist/cjs/components/breadcrumb/MrlBreadcrumbs/MrlBreadcrumbs.js +24 -28
- package/dist/cjs/components/breadcrumb/MrlBreadcrumbs/MrlBreadcrumbs.js.map +1 -1
- package/dist/cjs/components/button/MrlAnimatedIconButton/MrlAnimatedIconButton.js +20 -20
- package/dist/cjs/components/button/MrlAnimatedIconButton/MrlAnimatedIconButton.js.map +1 -1
- package/dist/cjs/components/button/MrlButton/MrlButton.js +21 -21
- package/dist/cjs/components/button/MrlButton/MrlButton.js.map +1 -1
- package/dist/cjs/components/button/MrlIconButton/MrlIconButton.js +20 -22
- package/dist/cjs/components/button/MrlIconButton/MrlIconButton.js.map +1 -1
- package/dist/cjs/components/button/MrlProcessingButton/MrlProcessingButton.js +14 -10
- package/dist/cjs/components/button/MrlProcessingButton/MrlProcessingButton.js.map +1 -1
- package/dist/cjs/components/button/MrlProcessingButton/actions.js +11 -16
- package/dist/cjs/components/button/MrlProcessingButton/actions.js.map +1 -1
- package/dist/cjs/components/button/helpers.js +4 -6
- package/dist/cjs/components/button/helpers.js.map +1 -1
- package/dist/cjs/components/callout/MrlCallout/MrlCallout.js +8 -9
- package/dist/cjs/components/callout/MrlCallout/MrlCallout.js.map +1 -1
- package/dist/cjs/components/container/MrlContainer/MrlContainer.js +14 -7
- package/dist/cjs/components/container/MrlContainer/MrlContainer.js.map +1 -1
- package/dist/cjs/components/divider/MrlDivider/MrlDivider.js +18 -6
- package/dist/cjs/components/divider/MrlDivider/MrlDivider.js.map +1 -1
- package/dist/cjs/components/empty/default/MrlEmpty.js +8 -4
- package/dist/cjs/components/empty/default/MrlEmpty.js.map +1 -1
- package/dist/cjs/components/empty/large/MrlEmptyLarge.js +8 -4
- package/dist/cjs/components/empty/large/MrlEmptyLarge.js.map +1 -1
- package/dist/cjs/components/error-boundary/MrlErrorBoundary.js +30 -38
- package/dist/cjs/components/error-boundary/MrlErrorBoundary.js.map +1 -1
- package/dist/cjs/components/filter/MrlFilter/MrlFilter.js +7 -3
- package/dist/cjs/components/filter/MrlFilter/MrlFilter.js.map +1 -1
- package/dist/cjs/components/filter/MrlFilterContext/MrlFilterContext.js +8 -7
- package/dist/cjs/components/filter/MrlFilterContext/MrlFilterContext.js.map +1 -1
- package/dist/cjs/components/filter/MrlFilterItem/MrlFilterItem.js +9 -3
- package/dist/cjs/components/filter/MrlFilterItem/MrlFilterItem.js.map +1 -1
- package/dist/cjs/components/focus-trap/MrlFocusTrap/MrlFocusTrap.js +6 -5
- package/dist/cjs/components/focus-trap/MrlFocusTrap/MrlFocusTrap.js.map +1 -1
- package/dist/cjs/components/form/checkbox/MrlCheckbox/MrlCheckbox.js +13 -4
- package/dist/cjs/components/form/checkbox/MrlCheckbox/MrlCheckbox.js.map +1 -1
- package/dist/cjs/components/form/checkbox/MrlCheckboxStandalone/MrlCheckboxStandalone.js +11 -7
- package/dist/cjs/components/form/checkbox/MrlCheckboxStandalone/MrlCheckboxStandalone.js.map +1 -1
- package/dist/cjs/components/form/date-picker/MrlDatePicker.js +21 -14
- package/dist/cjs/components/form/date-picker/MrlDatePicker.js.map +1 -1
- package/dist/cjs/components/form/fieldset/MrlFieldset/MrlFieldset.js +8 -4
- package/dist/cjs/components/form/fieldset/MrlFieldset/MrlFieldset.js.map +1 -1
- package/dist/cjs/components/form/hooks/useActiveColor.js +2 -2
- package/dist/cjs/components/form/hooks/useActiveColor.js.map +1 -1
- package/dist/cjs/components/form/hooks/useIsEditable.js +3 -3
- package/dist/cjs/components/form/hooks/useIsEditable.js.map +1 -1
- package/dist/cjs/components/form/label/MrlLabel/MrlLabel.js +12 -5
- package/dist/cjs/components/form/label/MrlLabel/MrlLabel.js.map +1 -1
- package/dist/cjs/components/form/label/MrlLabelWithDescription/MrlLabelWithDescription.js +19 -5
- package/dist/cjs/components/form/label/MrlLabelWithDescription/MrlLabelWithDescription.js.map +1 -1
- package/dist/cjs/components/form/legacy-select/MrlLegacySelect/MrlLegacySelect.js +42 -31
- package/dist/cjs/components/form/legacy-select/MrlLegacySelect/MrlLegacySelect.js.map +1 -1
- package/dist/cjs/components/form/legacy-select/MrlLegacySelectItem/MrlLegacySelectItem.js +21 -12
- package/dist/cjs/components/form/legacy-select/MrlLegacySelectItem/MrlLegacySelectItem.js.map +1 -1
- package/dist/cjs/components/form/legacy-select/MrlLegacySelectMenu/MrlLegacySelectMenu.js +19 -11
- package/dist/cjs/components/form/legacy-select/MrlLegacySelectMenu/MrlLegacySelectMenu.js.map +1 -1
- package/dist/cjs/components/form/legacy-select/context/SelectContext.js +8 -7
- package/dist/cjs/components/form/legacy-select/context/SelectContext.js.map +1 -1
- package/dist/cjs/components/form/legacy-select/index.js +4 -3
- package/dist/cjs/components/form/legacy-select/index.js.map +1 -1
- package/dist/cjs/components/form/radio/MrlRadioButton/MrlRadioButton.js +7 -3
- package/dist/cjs/components/form/radio/MrlRadioButton/MrlRadioButton.js.map +1 -1
- package/dist/cjs/components/form/radio/MrlRadioButtonStandalone/MrlRadioButtonStandalone.js +11 -5
- package/dist/cjs/components/form/radio/MrlRadioButtonStandalone/MrlRadioButtonStandalone.js.map +1 -1
- package/dist/cjs/components/form/radio/MrlRadioGroup/MrlRadioGroup.js +3 -2
- package/dist/cjs/components/form/radio/MrlRadioGroup/MrlRadioGroup.js.map +1 -1
- package/dist/cjs/components/form/select/MrlCreatableSelect/MrlCreatableSelect.js +10 -8
- package/dist/cjs/components/form/select/MrlCreatableSelect/MrlCreatableSelect.js.map +1 -1
- package/dist/cjs/components/form/select/MrlMultiCreatableSelect/MrlMultiCreatableSelect.js +10 -8
- package/dist/cjs/components/form/select/MrlMultiCreatableSelect/MrlMultiCreatableSelect.js.map +1 -1
- package/dist/cjs/components/form/select/MrlMultiSelect/MrlMultiSelect.js +9 -5
- package/dist/cjs/components/form/select/MrlMultiSelect/MrlMultiSelect.js.map +1 -1
- package/dist/cjs/components/form/select/MrlSelect/MrlSelect.js +9 -5
- package/dist/cjs/components/form/select/MrlSelect/MrlSelect.js.map +1 -1
- package/dist/cjs/components/form/select/components/MrlSelectClearIndicator.js +3 -2
- package/dist/cjs/components/form/select/components/MrlSelectClearIndicator.js.map +1 -1
- package/dist/cjs/components/form/select/components/MrlSelectContainer.js +3 -2
- package/dist/cjs/components/form/select/components/MrlSelectContainer.js.map +1 -1
- package/dist/cjs/components/form/select/components/MrlSelectDropdownIndicator.js +3 -2
- package/dist/cjs/components/form/select/components/MrlSelectDropdownIndicator.js.map +1 -1
- package/dist/cjs/components/form/select/components/MrlSelectMultiValue.js +9 -3
- package/dist/cjs/components/form/select/components/MrlSelectMultiValue.js.map +1 -1
- package/dist/cjs/components/form/select/components/MrlSelectMultiValueRemove.js +3 -2
- package/dist/cjs/components/form/select/components/MrlSelectMultiValueRemove.js.map +1 -1
- package/dist/cjs/components/form/select/components/MrlSelectOption.js +3 -2
- package/dist/cjs/components/form/select/components/MrlSelectOption.js.map +1 -1
- package/dist/cjs/components/form/select/components/MrlSelectValueContainer.js +3 -2
- package/dist/cjs/components/form/select/components/MrlSelectValueContainer.js.map +1 -1
- package/dist/cjs/components/form/select/styles/default.js +18 -18
- package/dist/cjs/components/form/select/styles/default.js.map +1 -1
- package/dist/cjs/components/form/select/styles/inline.js +2 -2
- package/dist/cjs/components/form/select/styles/inline.js.map +1 -1
- package/dist/cjs/components/form/select/styles/inlineNoLabel.js +3 -3
- package/dist/cjs/components/form/select/styles/inlineNoLabel.js.map +1 -1
- package/dist/cjs/components/form/select/styles/inlineStacked.js +2 -2
- package/dist/cjs/components/form/select/styles/inlineStacked.js.map +1 -1
- package/dist/cjs/components/form/switch/MrlSwitch/MrlSwitch.js +14 -7
- package/dist/cjs/components/form/switch/MrlSwitch/MrlSwitch.js.map +1 -1
- package/dist/cjs/components/form/switch/MrlSwitchStandalone/MrlSwitchStandalone.js +13 -9
- package/dist/cjs/components/form/switch/MrlSwitchStandalone/MrlSwitchStandalone.js.map +1 -1
- package/dist/cjs/components/form/text-input/MrlEditableTextInput/MrlEditableTextInput.js +31 -19
- package/dist/cjs/components/form/text-input/MrlEditableTextInput/MrlEditableTextInput.js.map +1 -1
- package/dist/cjs/components/form/text-input/MrlEditableTextInput/MrlEditableTextInputRightIcon.js +14 -17
- package/dist/cjs/components/form/text-input/MrlEditableTextInput/MrlEditableTextInputRightIcon.js.map +1 -1
- package/dist/cjs/components/form/text-input/MrlTextInput/MrlTextInput.js +28 -23
- package/dist/cjs/components/form/text-input/MrlTextInput/MrlTextInput.js.map +1 -1
- package/dist/cjs/components/form/text-input/MrlTextInput/MrlTextInputRightIcon.js +14 -17
- package/dist/cjs/components/form/text-input/MrlTextInput/MrlTextInputRightIcon.js.map +1 -1
- package/dist/cjs/components/form/textarea/MrlEditableTextarea/MrlEditableTextarea.js +20 -16
- package/dist/cjs/components/form/textarea/MrlEditableTextarea/MrlEditableTextarea.js.map +1 -1
- package/dist/cjs/components/form/textarea/MrlEditableTextarea/MrlEditableTextareaRightButton.js +14 -17
- package/dist/cjs/components/form/textarea/MrlEditableTextarea/MrlEditableTextareaRightButton.js.map +1 -1
- package/dist/cjs/components/form/textarea/MrlTextarea/MrlTextarea.js +16 -9
- package/dist/cjs/components/form/textarea/MrlTextarea/MrlTextarea.js.map +1 -1
- package/dist/cjs/components/form/utils.js +2 -4
- package/dist/cjs/components/form/utils.js.map +1 -1
- package/dist/cjs/components/grid/MrlCol/MrlCol.js +37 -46
- package/dist/cjs/components/grid/MrlCol/MrlCol.js.map +1 -1
- package/dist/cjs/components/grid/MrlGrid/MrlGrid.js +7 -3
- package/dist/cjs/components/grid/MrlGrid/MrlGrid.js.map +1 -1
- package/dist/cjs/components/grid/MrlRow/MrlRow.js +7 -3
- package/dist/cjs/components/grid/MrlRow/MrlRow.js.map +1 -1
- package/dist/cjs/components/keystroke/MrlKeystroke/MrlKeystroke.js +7 -3
- package/dist/cjs/components/keystroke/MrlKeystroke/MrlKeystroke.js.map +1 -1
- package/dist/cjs/components/keystroke/MrlKeystrokes/MrlKeystrokes.js +7 -3
- package/dist/cjs/components/keystroke/MrlKeystrokes/MrlKeystrokes.js.map +1 -1
- package/dist/cjs/components/layout/MrlMain/MrlMain.js +9 -3
- package/dist/cjs/components/layout/MrlMain/MrlMain.js.map +1 -1
- package/dist/cjs/components/layout/MrlPage/MrlPage.js +9 -3
- package/dist/cjs/components/layout/MrlPage/MrlPage.js.map +1 -1
- package/dist/cjs/components/layout/MrlPage/index.js +3 -2
- package/dist/cjs/components/layout/MrlPage/index.js.map +1 -1
- package/dist/cjs/components/layout/MrlSidebar/MrlSidebar.js +27 -15
- package/dist/cjs/components/layout/MrlSidebar/MrlSidebar.js.map +1 -1
- package/dist/cjs/components/layout/MrlTopbar/MrlTopbar.js +10 -3
- package/dist/cjs/components/layout/MrlTopbar/MrlTopbar.js.map +1 -1
- package/dist/cjs/components/layout/context/LayoutContext.js +7 -6
- package/dist/cjs/components/layout/context/LayoutContext.js.map +1 -1
- package/dist/cjs/components/layout/error-page/MrlBrandColors/MrlBrandColors.js +18 -14
- package/dist/cjs/components/layout/error-page/MrlBrandColors/MrlBrandColors.js.map +1 -1
- package/dist/cjs/components/layout/error-page/MrlErrorPage/MrlErrorPage.js +13 -9
- package/dist/cjs/components/layout/error-page/MrlErrorPage/MrlErrorPage.js.map +1 -1
- package/dist/cjs/components/layout/utils.js +2 -2
- package/dist/cjs/components/layout/utils.js.map +1 -1
- package/dist/cjs/components/link/MrlLink/MrlLink.js +13 -4
- package/dist/cjs/components/link/MrlLink/MrlLink.js.map +1 -1
- package/dist/cjs/components/link/MrlLinkButton/MrlLinkButton.js +16 -14
- package/dist/cjs/components/link/MrlLinkButton/MrlLinkButton.js.map +1 -1
- package/dist/cjs/components/live-region/MrlLiveRegion/MrlLiveRegion.js +13 -12
- package/dist/cjs/components/live-region/MrlLiveRegion/MrlLiveRegion.js.map +1 -1
- package/dist/cjs/components/loader/MrlProgressBar/MrlProgressBar.js +16 -6
- package/dist/cjs/components/loader/MrlProgressBar/MrlProgressBar.js.map +1 -1
- package/dist/cjs/components/loader/MrlSpinner/MrlSpinner.js +16 -4
- package/dist/cjs/components/loader/MrlSpinner/MrlSpinner.js.map +1 -1
- package/dist/cjs/components/menu/MrlMenu/MrlMenu.js +61 -63
- package/dist/cjs/components/menu/MrlMenu/MrlMenu.js.map +1 -1
- package/dist/cjs/components/menu/MrlMenu/utilities.js +4 -6
- package/dist/cjs/components/menu/MrlMenu/utilities.js.map +1 -1
- package/dist/cjs/components/menu/MrlMenuGroup/MrlMenuGroup.js +4 -3
- package/dist/cjs/components/menu/MrlMenuGroup/MrlMenuGroup.js.map +1 -1
- package/dist/cjs/components/menu/MrlMenuItem/MrlMenuItem.js +24 -19
- package/dist/cjs/components/menu/MrlMenuItem/MrlMenuItem.js.map +1 -1
- package/dist/cjs/components/menu/MrlMenuItemLink/MrlMenuItemLink.js +10 -6
- package/dist/cjs/components/menu/MrlMenuItemLink/MrlMenuItemLink.js.map +1 -1
- package/dist/cjs/components/menu/context/MrlMenuContext.js +3 -2
- package/dist/cjs/components/menu/context/MrlMenuContext.js.map +1 -1
- package/dist/cjs/components/menu/hooks/useBrowserEdgeScroll.js +19 -15
- package/dist/cjs/components/menu/hooks/useBrowserEdgeScroll.js.map +1 -1
- package/dist/cjs/components/menu/hooks/useMenuScroll.js +8 -8
- package/dist/cjs/components/menu/hooks/useMenuScroll.js.map +1 -1
- package/dist/cjs/components/menu/hooks/useSubMenuElementPosition.js +3 -3
- package/dist/cjs/components/menu/hooks/useSubMenuElementPosition.js.map +1 -1
- package/dist/cjs/components/menu/utilities/flip-position.js +1 -1
- package/dist/cjs/components/menu/utilities/flip-position.js.map +1 -1
- package/dist/cjs/components/modal/MrlModal/MrlModal.js +29 -25
- package/dist/cjs/components/modal/MrlModal/MrlModal.js.map +1 -1
- package/dist/cjs/components/modal/MrlModalContent/MrlModalContent.js +12 -8
- package/dist/cjs/components/modal/MrlModalContent/MrlModalContent.js.map +1 -1
- package/dist/cjs/components/modal/MrlModalContext/MrlModalContext.js +4 -3
- package/dist/cjs/components/modal/MrlModalContext/MrlModalContext.js.map +1 -1
- package/dist/cjs/components/modal/MrlModalFooter/MrlModalFooter.js +13 -6
- package/dist/cjs/components/modal/MrlModalFooter/MrlModalFooter.js.map +1 -1
- package/dist/cjs/components/modal/MrlModalHeader/MrlModalHeader.js +12 -6
- package/dist/cjs/components/modal/MrlModalHeader/MrlModalHeader.js.map +1 -1
- package/dist/cjs/components/navigation-sidebar/MrlSidebarNavGroup/MrlSidebarNavGroup.js +7 -3
- package/dist/cjs/components/navigation-sidebar/MrlSidebarNavGroup/MrlSidebarNavGroup.js.map +1 -1
- package/dist/cjs/components/navigation-sidebar/MrlSidebarNavItem/MrlSidebarNavItem.js +11 -3
- package/dist/cjs/components/navigation-sidebar/MrlSidebarNavItem/MrlSidebarNavItem.js.map +1 -1
- package/dist/cjs/components/notification/MrlBlockNotification/MrlBlockNotification.js +26 -19
- package/dist/cjs/components/notification/MrlBlockNotification/MrlBlockNotification.js.map +1 -1
- package/dist/cjs/components/notification/MrlInlineMessage/MrlInlineMessage.js +17 -7
- package/dist/cjs/components/notification/MrlInlineMessage/MrlInlineMessage.js.map +1 -1
- package/dist/cjs/components/notification/MrlToast/MrlToast.js +18 -9
- package/dist/cjs/components/notification/MrlToast/MrlToast.js.map +1 -1
- package/dist/cjs/components/pagination/MrlPagination/MrlPagination.js +7 -3
- package/dist/cjs/components/pagination/MrlPagination/MrlPagination.js.map +1 -1
- package/dist/cjs/components/pagination/MrlPaginationButton/MrlPaginationButton.js +7 -3
- package/dist/cjs/components/pagination/MrlPaginationButton/MrlPaginationButton.js.map +1 -1
- package/dist/cjs/components/pagination/MrlPaginationText/MrlPaginationText.js +8 -4
- package/dist/cjs/components/pagination/MrlPaginationText/MrlPaginationText.js.map +1 -1
- package/dist/cjs/components/panel/MrlPanel/MrlPanel.js +25 -17
- package/dist/cjs/components/panel/MrlPanel/MrlPanel.js.map +1 -1
- package/dist/cjs/components/panel/MrlPanelContext/MrlPanelContext.js +3 -2
- package/dist/cjs/components/panel/MrlPanelContext/MrlPanelContext.js.map +1 -1
- package/dist/cjs/components/panel/MrlPanelFooter/MrlPanelFooter.js +9 -5
- package/dist/cjs/components/panel/MrlPanelFooter/MrlPanelFooter.js.map +1 -1
- package/dist/cjs/components/panel/MrlPanelStickyHeader/MrlPanelStickyHeader.js +8 -4
- package/dist/cjs/components/panel/MrlPanelStickyHeader/MrlPanelStickyHeader.js.map +1 -1
- package/dist/cjs/components/popover/MrlPopover/MrlPopover.js +77 -73
- package/dist/cjs/components/popover/MrlPopover/MrlPopover.js.map +1 -1
- package/dist/cjs/components/popover/MrlPopover/MrlPopoverScrollContainer.js +3 -2
- package/dist/cjs/components/popover/MrlPopover/MrlPopoverScrollContainer.js.map +1 -1
- package/dist/cjs/components/popover/MrlPopover/context/MrlPopoverContext.js +3 -2
- package/dist/cjs/components/popover/MrlPopover/context/MrlPopoverContext.js.map +1 -1
- package/dist/cjs/components/popover/MrlPopover/hooks/use-mrl-popover-event-handlers.js +22 -23
- package/dist/cjs/components/popover/MrlPopover/hooks/use-mrl-popover-event-handlers.js.map +1 -1
- package/dist/cjs/components/popover/MrlPopover/utilities/get-data-point.js +1 -1
- package/dist/cjs/components/popover/MrlPopover/utilities/get-data-point.js.map +1 -1
- package/dist/cjs/components/popover/MrlPopover/utilities/get-offset.js +1 -1
- package/dist/cjs/components/popover/MrlPopover/utilities/get-offset.js.map +1 -1
- package/dist/cjs/components/portal/MrlPortal.js +5 -4
- package/dist/cjs/components/portal/MrlPortal.js.map +1 -1
- package/dist/cjs/components/rovingTabindex/MrlRovingTabindex/MrlRovingTabindex.js +237 -263
- package/dist/cjs/components/rovingTabindex/MrlRovingTabindex/MrlRovingTabindex.js.map +1 -1
- package/dist/cjs/components/skeleton/MrlSkeleton/MrlSkeleton.js +11 -5
- package/dist/cjs/components/skeleton/MrlSkeleton/MrlSkeleton.js.map +1 -1
- package/dist/cjs/components/skeleton/MrlSkeletonText/MrlSkeletonText.js +12 -6
- package/dist/cjs/components/skeleton/MrlSkeletonText/MrlSkeletonText.js.map +1 -1
- package/dist/cjs/components/svg/MrlSvg/MrlSvg.js +17 -17
- package/dist/cjs/components/svg/MrlSvg/MrlSvg.js.map +1 -1
- package/dist/cjs/components/svg/MrlSvgAnimate/MrlSvgAnimate.js +20 -15
- package/dist/cjs/components/svg/MrlSvgAnimate/MrlSvgAnimate.js.map +1 -1
- package/dist/cjs/components/table/MrlSmartTable/MrlSmartTable.js +78 -96
- package/dist/cjs/components/table/MrlSmartTable/MrlSmartTable.js.map +1 -1
- package/dist/cjs/components/table/MrlSmartTable/components/DefaultCellContent.js +5 -4
- package/dist/cjs/components/table/MrlSmartTable/components/DefaultCellContent.js.map +1 -1
- package/dist/cjs/components/table/MrlTable/MrlTable.js +7 -3
- package/dist/cjs/components/table/MrlTable/MrlTable.js.map +1 -1
- package/dist/cjs/components/table/MrlTableBody/MrlTableBody.js +7 -3
- package/dist/cjs/components/table/MrlTableBody/MrlTableBody.js.map +1 -1
- package/dist/cjs/components/table/MrlTableCell/MrlTableCell.js +12 -3
- package/dist/cjs/components/table/MrlTableCell/MrlTableCell.js.map +1 -1
- package/dist/cjs/components/table/MrlTableColumn/MrlTableColumn.js +13 -3
- package/dist/cjs/components/table/MrlTableColumn/MrlTableColumn.js.map +1 -1
- package/dist/cjs/components/table/MrlTableEmptyState/MrlTableEmptyState.js +7 -3
- package/dist/cjs/components/table/MrlTableEmptyState/MrlTableEmptyState.js.map +1 -1
- package/dist/cjs/components/table/MrlTableHeader/MrlTableHeader.js +7 -3
- package/dist/cjs/components/table/MrlTableHeader/MrlTableHeader.js.map +1 -1
- package/dist/cjs/components/table/MrlTableRow/MrlTableRow.js +13 -7
- package/dist/cjs/components/table/MrlTableRow/MrlTableRow.js.map +1 -1
- package/dist/cjs/components/table/utils.js +4 -10
- package/dist/cjs/components/table/utils.js.map +1 -1
- package/dist/cjs/components/tabs/MrlTab/MrlTab.js +16 -9
- package/dist/cjs/components/tabs/MrlTab/MrlTab.js.map +1 -1
- package/dist/cjs/components/tabs/MrlTabContent/MrlTabContent.js +12 -5
- package/dist/cjs/components/tabs/MrlTabContent/MrlTabContent.js.map +1 -1
- package/dist/cjs/components/tabs/MrlTabGroup/MrlTabGroup.js +15 -13
- package/dist/cjs/components/tabs/MrlTabGroup/MrlTabGroup.js.map +1 -1
- package/dist/cjs/components/tabs/MrlTabLink/MrlTabLink.js +16 -9
- package/dist/cjs/components/tabs/MrlTabLink/MrlTabLink.js.map +1 -1
- package/dist/cjs/components/tabs/MrlTabs/MrlTabs.js +16 -10
- package/dist/cjs/components/tabs/MrlTabs/MrlTabs.js.map +1 -1
- package/dist/cjs/components/text/MrlText/MrlText.js +14 -5
- package/dist/cjs/components/text/MrlText/MrlText.js.map +1 -1
- package/dist/cjs/components/text/MrlTextHeading/MrlTextHeading.js +14 -4
- package/dist/cjs/components/text/MrlTextHeading/MrlTextHeading.js.map +1 -1
- package/dist/cjs/components/toolbar/MrlToolbar/MrlToolbar.js +17 -8
- package/dist/cjs/components/toolbar/MrlToolbar/MrlToolbar.js.map +1 -1
- package/dist/cjs/components/toolbar/MrlToolbarButton/MrlToolbarButton.js +7 -3
- package/dist/cjs/components/toolbar/MrlToolbarButton/MrlToolbarButton.js.map +1 -1
- package/dist/cjs/components/toolbar/MrlToolbarItem/MrlToolbarItem.js +1 -1
- package/dist/cjs/components/toolbar/MrlToolbarItem/MrlToolbarItem.js.map +1 -1
- package/dist/cjs/components/tooltip/MrlTooltip/MrlTooltip.js +37 -36
- package/dist/cjs/components/tooltip/MrlTooltip/MrlTooltip.js.map +1 -1
- package/dist/cjs/components/tooltip/MrlTooltipContent/MrlTooltipContent.js +13 -4
- package/dist/cjs/components/tooltip/MrlTooltipContent/MrlTooltipContent.js.map +1 -1
- package/dist/cjs/components/tooltip/useTooltipPosition/index.js +21 -19
- package/dist/cjs/components/tooltip/useTooltipPosition/index.js.map +1 -1
- package/dist/cjs/components/tooltip/useTooltipPosition/utilities.js +4 -4
- package/dist/cjs/components/tooltip/useTooltipPosition/utilities.js.map +1 -1
- package/dist/cjs/components/tooltip/utils.js +3 -3
- package/dist/cjs/components/tooltip/utils.js.map +1 -1
- package/dist/cjs/hooks/useAutoClose/useAutoClose.js +7 -6
- package/dist/cjs/hooks/useAutoClose/useAutoClose.js.map +1 -1
- package/dist/cjs/hooks/useBreakpoint/index.js +5 -5
- package/dist/cjs/hooks/useBreakpoint/index.js.map +1 -1
- package/dist/cjs/hooks/useClickOutside/index.js +4 -4
- package/dist/cjs/hooks/useClickOutside/index.js.map +1 -1
- package/dist/cjs/hooks/useCoordinate/index.js +19 -28
- package/dist/cjs/hooks/useCoordinate/index.js.map +1 -1
- package/dist/cjs/hooks/useElementDimensions/index.js +21 -33
- package/dist/cjs/hooks/useElementDimensions/index.js.map +1 -1
- package/dist/cjs/hooks/useHasFocusableDescendant/index.js +7 -8
- package/dist/cjs/hooks/useHasFocusableDescendant/index.js.map +1 -1
- package/dist/cjs/hooks/useScrollbarInfo/index.js +11 -10
- package/dist/cjs/hooks/useScrollbarInfo/index.js.map +1 -1
- package/dist/cjs/hooks/useTriggerPosition/index.js +20 -22
- package/dist/cjs/hooks/useTriggerPosition/index.js.map +1 -1
- package/dist/cjs/hooks/useTriggerPosition/utilities.js +15 -23
- package/dist/cjs/hooks/useTriggerPosition/utilities.js.map +1 -1
- package/dist/cjs/utils/checkInvalidAttributes/index.js +2 -4
- package/dist/cjs/utils/checkInvalidAttributes/index.js.map +1 -1
- package/dist/cjs/utils/frameDebounce/index.js +27 -28
- package/dist/cjs/utils/frameDebounce/index.js.map +1 -1
- package/dist/cjs/utils/getCamelCase/getCamelCase.js +2 -2
- package/dist/cjs/utils/getCamelCase/getCamelCase.js.map +1 -1
- package/dist/cjs/utils/getScrollableContainer/getScrollableContainer.js +1 -1
- package/dist/cjs/utils/getScrollableContainer/getScrollableContainer.js.map +1 -1
- package/dist/cjs/utils/hasHorizontalScroll/hasHorizontalScroll.js +1 -1
- package/dist/cjs/utils/hasHorizontalScroll/hasHorizontalScroll.js.map +1 -1
- package/dist/cjs/utils/hasScrollContent/hasScrollContent.js +1 -1
- package/dist/cjs/utils/hasScrollContent/hasScrollContent.js.map +1 -1
- package/dist/cjs/utils/isElementAriaDisabled/isElementAriaDisabled.js +1 -1
- package/dist/cjs/utils/isElementAriaDisabled/isElementAriaDisabled.js.map +1 -1
- package/dist/cjs/utils/isElementScrollable/index.js +1 -1
- package/dist/cjs/utils/isElementScrollable/index.js.map +1 -1
- package/dist/cjs/utils/isImagePath/index.js +4 -3
- package/dist/cjs/utils/isImagePath/index.js.map +1 -1
- package/dist/cjs/utils/isImageUri/index.js +1 -1
- package/dist/cjs/utils/isImageUri/index.js.map +1 -1
- package/dist/cjs/utils/isObject/isObject.js +1 -1
- package/dist/cjs/utils/isObject/isObject.js.map +1 -1
- package/dist/cjs/utils/isTouch/index.js +1 -1
- package/dist/cjs/utils/isTouch/index.js.map +1 -1
- package/dist/cjs/utils/layers/index.js +1 -1
- package/dist/cjs/utils/layers/index.js.map +1 -1
- package/dist/cjs/utils/noop/index.js +1 -1
- package/dist/cjs/utils/noop/index.js.map +1 -1
- package/dist/cjs/utils/preventDefault/preventDefault.js +1 -1
- package/dist/cjs/utils/preventDefault/preventDefault.js.map +1 -1
- package/dist/cjs/utils/setAttributes/setAttributes.js +11 -5
- package/dist/cjs/utils/setAttributes/setAttributes.js.map +1 -1
- package/dist/cjs/utils/trapFocus/index.js +9 -11
- package/dist/cjs/utils/trapFocus/index.js.map +1 -1
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +1 -234
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/dist/esm/components/avatar/MrlAvatar/MrlAvatar.js +12 -10
- package/dist/esm/components/avatar/MrlAvatar/MrlAvatar.js.map +1 -1
- package/dist/esm/components/avatar/MrlAvatarButton/MrlAvatarButton.js +22 -24
- package/dist/esm/components/avatar/MrlAvatarButton/MrlAvatarButton.js.map +1 -1
- package/dist/esm/components/badge/MrlBadge/MrlBadge.js +6 -4
- package/dist/esm/components/badge/MrlBadge/MrlBadge.js.map +1 -1
- package/dist/esm/components/badge/MrlBadgeNotification/MrlBadgeNotification.js +7 -3
- package/dist/esm/components/badge/MrlBadgeNotification/MrlBadgeNotification.js.map +1 -1
- package/dist/esm/components/breadcrumb/MrlBreadcrumbItem/MrlBreadcrumbItem.js +7 -4
- package/dist/esm/components/breadcrumb/MrlBreadcrumbItem/MrlBreadcrumbItem.js.map +1 -1
- package/dist/esm/components/breadcrumb/MrlBreadcrumbs/MrlBreadcrumbs.js +18 -26
- package/dist/esm/components/breadcrumb/MrlBreadcrumbs/MrlBreadcrumbs.js.map +1 -1
- package/dist/esm/components/button/MrlAnimatedIconButton/MrlAnimatedIconButton.js +14 -18
- package/dist/esm/components/button/MrlAnimatedIconButton/MrlAnimatedIconButton.js.map +1 -1
- package/dist/esm/components/button/MrlButton/MrlButton.js +16 -20
- package/dist/esm/components/button/MrlButton/MrlButton.js.map +1 -1
- package/dist/esm/components/button/MrlIconButton/MrlIconButton.js +14 -20
- package/dist/esm/components/button/MrlIconButton/MrlIconButton.js.map +1 -1
- package/dist/esm/components/button/MrlProcessingButton/MrlProcessingButton.js +7 -7
- package/dist/esm/components/button/MrlProcessingButton/MrlProcessingButton.js.map +1 -1
- package/dist/esm/components/button/MrlProcessingButton/actions.js +12 -17
- package/dist/esm/components/button/MrlProcessingButton/actions.js.map +1 -1
- package/dist/esm/components/button/helpers.js +4 -6
- package/dist/esm/components/button/helpers.js.map +1 -1
- package/dist/esm/components/callout/MrlCallout/MrlCallout.js +5 -7
- package/dist/esm/components/callout/MrlCallout/MrlCallout.js.map +1 -1
- package/dist/esm/components/container/MrlContainer/MrlContainer.js +7 -4
- package/dist/esm/components/container/MrlContainer/MrlContainer.js.map +1 -1
- package/dist/esm/components/divider/MrlDivider/MrlDivider.js +13 -5
- package/dist/esm/components/divider/MrlDivider/MrlDivider.js.map +1 -1
- package/dist/esm/components/empty/default/MrlEmpty.js +1 -1
- package/dist/esm/components/empty/default/MrlEmpty.js.map +1 -1
- package/dist/esm/components/empty/large/MrlEmptyLarge.js +1 -1
- package/dist/esm/components/empty/large/MrlEmptyLarge.js.map +1 -1
- package/dist/esm/components/error-boundary/MrlErrorBoundary.js +28 -37
- package/dist/esm/components/error-boundary/MrlErrorBoundary.js.map +1 -1
- package/dist/esm/components/filter/MrlFilterContext/MrlFilterContext.js +5 -5
- package/dist/esm/components/filter/MrlFilterContext/MrlFilterContext.js.map +1 -1
- package/dist/esm/components/filter/MrlFilterItem/MrlFilterItem.js +4 -2
- package/dist/esm/components/filter/MrlFilterItem/MrlFilterItem.js.map +1 -1
- package/dist/esm/components/focus-trap/MrlFocusTrap/MrlFocusTrap.js +3 -3
- package/dist/esm/components/focus-trap/MrlFocusTrap/MrlFocusTrap.js.map +1 -1
- package/dist/esm/components/form/checkbox/MrlCheckbox/MrlCheckbox.js +8 -3
- package/dist/esm/components/form/checkbox/MrlCheckbox/MrlCheckbox.js.map +1 -1
- package/dist/esm/components/form/checkbox/MrlCheckboxStandalone/MrlCheckboxStandalone.js +2 -2
- package/dist/esm/components/form/checkbox/MrlCheckboxStandalone/MrlCheckboxStandalone.js.map +1 -1
- package/dist/esm/components/form/date-picker/MrlDatePicker.js +15 -12
- package/dist/esm/components/form/date-picker/MrlDatePicker.js.map +1 -1
- package/dist/esm/components/form/fieldset/MrlFieldset/MrlFieldset.js +2 -2
- package/dist/esm/components/form/fieldset/MrlFieldset/MrlFieldset.js.map +1 -1
- package/dist/esm/components/form/hooks/useActiveColor.js +2 -2
- package/dist/esm/components/form/hooks/useActiveColor.js.map +1 -1
- package/dist/esm/components/form/hooks/useIsEditable.js +3 -3
- package/dist/esm/components/form/hooks/useIsEditable.js.map +1 -1
- package/dist/esm/components/form/label/MrlLabel/MrlLabel.js +6 -3
- package/dist/esm/components/form/label/MrlLabel/MrlLabel.js.map +1 -1
- package/dist/esm/components/form/label/MrlLabelWithDescription/MrlLabelWithDescription.js +14 -4
- package/dist/esm/components/form/label/MrlLabelWithDescription/MrlLabelWithDescription.js.map +1 -1
- package/dist/esm/components/form/legacy-select/MrlLegacySelect/MrlLegacySelect.js +37 -30
- package/dist/esm/components/form/legacy-select/MrlLegacySelect/MrlLegacySelect.js.map +1 -1
- package/dist/esm/components/form/legacy-select/MrlLegacySelectItem/MrlLegacySelectItem.js +16 -11
- package/dist/esm/components/form/legacy-select/MrlLegacySelectItem/MrlLegacySelectItem.js.map +1 -1
- package/dist/esm/components/form/legacy-select/MrlLegacySelectMenu/MrlLegacySelectMenu.js +14 -10
- package/dist/esm/components/form/legacy-select/MrlLegacySelectMenu/MrlLegacySelectMenu.js.map +1 -1
- package/dist/esm/components/form/legacy-select/context/SelectContext.js +5 -5
- package/dist/esm/components/form/legacy-select/context/SelectContext.js.map +1 -1
- package/dist/esm/components/form/legacy-select/index.js +1 -1
- package/dist/esm/components/form/legacy-select/index.js.map +1 -1
- package/dist/esm/components/form/radio/MrlRadioButtonStandalone/MrlRadioButtonStandalone.js +4 -2
- package/dist/esm/components/form/radio/MrlRadioButtonStandalone/MrlRadioButtonStandalone.js.map +1 -1
- package/dist/esm/components/form/select/MrlCreatableSelect/MrlCreatableSelect.js +3 -5
- package/dist/esm/components/form/select/MrlCreatableSelect/MrlCreatableSelect.js.map +1 -1
- package/dist/esm/components/form/select/MrlMultiCreatableSelect/MrlMultiCreatableSelect.js +3 -5
- package/dist/esm/components/form/select/MrlMultiCreatableSelect/MrlMultiCreatableSelect.js.map +1 -1
- package/dist/esm/components/form/select/MrlMultiSelect/MrlMultiSelect.js +2 -2
- package/dist/esm/components/form/select/MrlMultiSelect/MrlMultiSelect.js.map +1 -1
- package/dist/esm/components/form/select/MrlSelect/MrlSelect.js +2 -2
- package/dist/esm/components/form/select/MrlSelect/MrlSelect.js.map +1 -1
- package/dist/esm/components/form/select/components/MrlSelectMultiValue.js +4 -2
- package/dist/esm/components/form/select/components/MrlSelectMultiValue.js.map +1 -1
- package/dist/esm/components/form/select/styles/default.js +18 -18
- package/dist/esm/components/form/select/styles/default.js.map +1 -1
- package/dist/esm/components/form/select/styles/inline.js +2 -2
- package/dist/esm/components/form/select/styles/inline.js.map +1 -1
- package/dist/esm/components/form/select/styles/inlineNoLabel.js +3 -3
- package/dist/esm/components/form/select/styles/inlineNoLabel.js.map +1 -1
- package/dist/esm/components/form/select/styles/inlineStacked.js +2 -2
- package/dist/esm/components/form/select/styles/inlineStacked.js.map +1 -1
- package/dist/esm/components/form/switch/MrlSwitch/MrlSwitch.js +9 -6
- package/dist/esm/components/form/switch/MrlSwitch/MrlSwitch.js.map +1 -1
- package/dist/esm/components/form/switch/MrlSwitchStandalone/MrlSwitchStandalone.js +3 -3
- package/dist/esm/components/form/switch/MrlSwitchStandalone/MrlSwitchStandalone.js.map +1 -1
- package/dist/esm/components/form/text-input/MrlEditableTextInput/MrlEditableTextInput.js +25 -17
- package/dist/esm/components/form/text-input/MrlEditableTextInput/MrlEditableTextInput.js.map +1 -1
- package/dist/esm/components/form/text-input/MrlEditableTextInput/MrlEditableTextInputRightIcon.js +8 -15
- package/dist/esm/components/form/text-input/MrlEditableTextInput/MrlEditableTextInputRightIcon.js.map +1 -1
- package/dist/esm/components/form/text-input/MrlTextInput/MrlTextInput.js +21 -20
- package/dist/esm/components/form/text-input/MrlTextInput/MrlTextInput.js.map +1 -1
- package/dist/esm/components/form/text-input/MrlTextInput/MrlTextInputRightIcon.js +8 -15
- package/dist/esm/components/form/text-input/MrlTextInput/MrlTextInputRightIcon.js.map +1 -1
- package/dist/esm/components/form/textarea/MrlEditableTextarea/MrlEditableTextarea.js +15 -15
- package/dist/esm/components/form/textarea/MrlEditableTextarea/MrlEditableTextarea.js.map +1 -1
- package/dist/esm/components/form/textarea/MrlEditableTextarea/MrlEditableTextareaRightButton.js +8 -15
- package/dist/esm/components/form/textarea/MrlEditableTextarea/MrlEditableTextareaRightButton.js.map +1 -1
- package/dist/esm/components/form/textarea/MrlTextarea/MrlTextarea.js +9 -6
- package/dist/esm/components/form/textarea/MrlTextarea/MrlTextarea.js.map +1 -1
- package/dist/esm/components/form/utils.js +2 -4
- package/dist/esm/components/form/utils.js.map +1 -1
- package/dist/esm/components/grid/MrlCol/MrlCol.js +31 -44
- package/dist/esm/components/grid/MrlCol/MrlCol.js.map +1 -1
- package/dist/esm/components/layout/MrlMain/MrlMain.js +4 -2
- package/dist/esm/components/layout/MrlMain/MrlMain.js.map +1 -1
- package/dist/esm/components/layout/MrlPage/MrlPage.js +4 -2
- package/dist/esm/components/layout/MrlPage/MrlPage.js.map +1 -1
- package/dist/esm/components/layout/MrlSidebar/MrlSidebar.js +19 -11
- package/dist/esm/components/layout/MrlSidebar/MrlSidebar.js.map +1 -1
- package/dist/esm/components/layout/MrlTopbar/MrlTopbar.js +5 -2
- package/dist/esm/components/layout/MrlTopbar/MrlTopbar.js.map +1 -1
- package/dist/esm/components/layout/context/LayoutContext.js +4 -4
- package/dist/esm/components/layout/context/LayoutContext.js.map +1 -1
- package/dist/esm/components/layout/error-page/MrlBrandColors/MrlBrandColors.js +1 -1
- package/dist/esm/components/layout/error-page/MrlBrandColors/MrlBrandColors.js.map +1 -1
- package/dist/esm/components/layout/error-page/MrlErrorPage/MrlErrorPage.js +1 -1
- package/dist/esm/components/layout/error-page/MrlErrorPage/MrlErrorPage.js.map +1 -1
- package/dist/esm/components/layout/utils.js +2 -2
- package/dist/esm/components/layout/utils.js.map +1 -1
- package/dist/esm/components/link/MrlLink/MrlLink.js +8 -3
- package/dist/esm/components/link/MrlLink/MrlLink.js.map +1 -1
- package/dist/esm/components/link/MrlLinkButton/MrlLinkButton.js +9 -11
- package/dist/esm/components/link/MrlLinkButton/MrlLinkButton.js.map +1 -1
- package/dist/esm/components/live-region/MrlLiveRegion/MrlLiveRegion.js +5 -9
- package/dist/esm/components/live-region/MrlLiveRegion/MrlLiveRegion.js.map +1 -1
- package/dist/esm/components/loader/MrlProgressBar/MrlProgressBar.js +9 -3
- package/dist/esm/components/loader/MrlProgressBar/MrlProgressBar.js.map +1 -1
- package/dist/esm/components/loader/MrlSpinner/MrlSpinner.js +11 -3
- package/dist/esm/components/loader/MrlSpinner/MrlSpinner.js.map +1 -1
- package/dist/esm/components/menu/MrlMenu/MrlMenu.js +56 -62
- package/dist/esm/components/menu/MrlMenu/MrlMenu.js.map +1 -1
- package/dist/esm/components/menu/MrlMenu/utilities.js +4 -6
- package/dist/esm/components/menu/MrlMenu/utilities.js.map +1 -1
- package/dist/esm/components/menu/MrlMenuGroup/MrlMenuGroup.js +1 -1
- package/dist/esm/components/menu/MrlMenuGroup/MrlMenuGroup.js.map +1 -1
- package/dist/esm/components/menu/MrlMenuItem/MrlMenuItem.js +18 -17
- package/dist/esm/components/menu/MrlMenuItem/MrlMenuItem.js.map +1 -1
- package/dist/esm/components/menu/MrlMenuItemLink/MrlMenuItemLink.js +2 -2
- package/dist/esm/components/menu/MrlMenuItemLink/MrlMenuItemLink.js.map +1 -1
- package/dist/esm/components/menu/hooks/useBrowserEdgeScroll.js +14 -14
- package/dist/esm/components/menu/hooks/useBrowserEdgeScroll.js.map +1 -1
- package/dist/esm/components/menu/hooks/useMenuScroll.js +8 -8
- package/dist/esm/components/menu/hooks/useMenuScroll.js.map +1 -1
- package/dist/esm/components/menu/hooks/useSubMenuElementPosition.js +3 -3
- package/dist/esm/components/menu/hooks/useSubMenuElementPosition.js.map +1 -1
- package/dist/esm/components/menu/utilities/flip-position.js +1 -1
- package/dist/esm/components/menu/utilities/flip-position.js.map +1 -1
- package/dist/esm/components/modal/MrlModal/MrlModal.js +22 -22
- package/dist/esm/components/modal/MrlModal/MrlModal.js.map +1 -1
- package/dist/esm/components/modal/MrlModalContent/MrlModalContent.js +5 -5
- package/dist/esm/components/modal/MrlModalContent/MrlModalContent.js.map +1 -1
- package/dist/esm/components/modal/MrlModalContext/MrlModalContext.js +1 -1
- package/dist/esm/components/modal/MrlModalContext/MrlModalContext.js.map +1 -1
- package/dist/esm/components/modal/MrlModalFooter/MrlModalFooter.js +7 -4
- package/dist/esm/components/modal/MrlModalFooter/MrlModalFooter.js.map +1 -1
- package/dist/esm/components/modal/MrlModalHeader/MrlModalHeader.js +7 -5
- package/dist/esm/components/modal/MrlModalHeader/MrlModalHeader.js.map +1 -1
- package/dist/esm/components/navigation-sidebar/MrlSidebarNavItem/MrlSidebarNavItem.js +6 -2
- package/dist/esm/components/navigation-sidebar/MrlSidebarNavItem/MrlSidebarNavItem.js.map +1 -1
- package/dist/esm/components/notification/MrlBlockNotification/MrlBlockNotification.js +18 -15
- package/dist/esm/components/notification/MrlBlockNotification/MrlBlockNotification.js.map +1 -1
- package/dist/esm/components/notification/MrlInlineMessage/MrlInlineMessage.js +11 -5
- package/dist/esm/components/notification/MrlInlineMessage/MrlInlineMessage.js.map +1 -1
- package/dist/esm/components/notification/MrlToast/MrlToast.js +14 -9
- package/dist/esm/components/notification/MrlToast/MrlToast.js.map +1 -1
- package/dist/esm/components/panel/MrlPanel/MrlPanel.js +14 -10
- package/dist/esm/components/panel/MrlPanel/MrlPanel.js.map +1 -1
- package/dist/esm/components/panel/MrlPanelFooter/MrlPanelFooter.js +2 -2
- package/dist/esm/components/panel/MrlPanelFooter/MrlPanelFooter.js.map +1 -1
- package/dist/esm/components/panel/MrlPanelStickyHeader/MrlPanelStickyHeader.js +1 -1
- package/dist/esm/components/panel/MrlPanelStickyHeader/MrlPanelStickyHeader.js.map +1 -1
- package/dist/esm/components/popover/MrlPopover/MrlPopover.js +71 -71
- package/dist/esm/components/popover/MrlPopover/MrlPopover.js.map +1 -1
- package/dist/esm/components/popover/MrlPopover/hooks/use-mrl-popover-event-handlers.js +19 -21
- package/dist/esm/components/popover/MrlPopover/hooks/use-mrl-popover-event-handlers.js.map +1 -1
- package/dist/esm/components/popover/MrlPopover/utilities/get-data-point.js +1 -1
- package/dist/esm/components/popover/MrlPopover/utilities/get-data-point.js.map +1 -1
- package/dist/esm/components/popover/MrlPopover/utilities/get-offset.js +1 -1
- package/dist/esm/components/popover/MrlPopover/utilities/get-offset.js.map +1 -1
- package/dist/esm/components/portal/MrlPortal.js +2 -2
- package/dist/esm/components/portal/MrlPortal.js.map +1 -1
- package/dist/esm/components/rovingTabindex/MrlRovingTabindex/MrlRovingTabindex.js +235 -262
- package/dist/esm/components/rovingTabindex/MrlRovingTabindex/MrlRovingTabindex.js.map +1 -1
- package/dist/esm/components/skeleton/MrlSkeleton/MrlSkeleton.js +6 -4
- package/dist/esm/components/skeleton/MrlSkeleton/MrlSkeleton.js.map +1 -1
- package/dist/esm/components/skeleton/MrlSkeletonText/MrlSkeletonText.js +7 -5
- package/dist/esm/components/skeleton/MrlSkeletonText/MrlSkeletonText.js.map +1 -1
- package/dist/esm/components/svg/MrlSvg/MrlSvg.js +7 -11
- package/dist/esm/components/svg/MrlSvg/MrlSvg.js.map +1 -1
- package/dist/esm/components/svg/MrlSvgAnimate/MrlSvgAnimate.js +8 -8
- package/dist/esm/components/svg/MrlSvgAnimate/MrlSvgAnimate.js.map +1 -1
- package/dist/esm/components/table/MrlSmartTable/MrlSmartTable.js +71 -94
- package/dist/esm/components/table/MrlSmartTable/MrlSmartTable.js.map +1 -1
- package/dist/esm/components/table/MrlSmartTable/components/DefaultCellContent.js +2 -2
- package/dist/esm/components/table/MrlSmartTable/components/DefaultCellContent.js.map +1 -1
- package/dist/esm/components/table/MrlTableCell/MrlTableCell.js +7 -2
- package/dist/esm/components/table/MrlTableCell/MrlTableCell.js.map +1 -1
- package/dist/esm/components/table/MrlTableColumn/MrlTableColumn.js +8 -2
- package/dist/esm/components/table/MrlTableColumn/MrlTableColumn.js.map +1 -1
- package/dist/esm/components/table/MrlTableRow/MrlTableRow.js +7 -5
- package/dist/esm/components/table/MrlTableRow/MrlTableRow.js.map +1 -1
- package/dist/esm/components/table/utils.js +4 -10
- package/dist/esm/components/table/utils.js.map +1 -1
- package/dist/esm/components/tabs/MrlTab/MrlTab.js +11 -8
- package/dist/esm/components/tabs/MrlTab/MrlTab.js.map +1 -1
- package/dist/esm/components/tabs/MrlTabContent/MrlTabContent.js +7 -4
- package/dist/esm/components/tabs/MrlTabContent/MrlTabContent.js.map +1 -1
- package/dist/esm/components/tabs/MrlTabGroup/MrlTabGroup.js +8 -10
- package/dist/esm/components/tabs/MrlTabGroup/MrlTabGroup.js.map +1 -1
- package/dist/esm/components/tabs/MrlTabLink/MrlTabLink.js +11 -8
- package/dist/esm/components/tabs/MrlTabLink/MrlTabLink.js.map +1 -1
- package/dist/esm/components/tabs/MrlTabs/MrlTabs.js +11 -9
- package/dist/esm/components/tabs/MrlTabs/MrlTabs.js.map +1 -1
- package/dist/esm/components/text/MrlText/MrlText.js +8 -3
- package/dist/esm/components/text/MrlText/MrlText.js.map +1 -1
- package/dist/esm/components/text/MrlTextHeading/MrlTextHeading.js +9 -3
- package/dist/esm/components/text/MrlTextHeading/MrlTextHeading.js.map +1 -1
- package/dist/esm/components/toolbar/MrlToolbar/MrlToolbar.js +12 -7
- package/dist/esm/components/toolbar/MrlToolbar/MrlToolbar.js.map +1 -1
- package/dist/esm/components/toolbar/MrlToolbarItem/MrlToolbarItem.js +1 -1
- package/dist/esm/components/toolbar/MrlToolbarItem/MrlToolbarItem.js.map +1 -1
- package/dist/esm/components/tooltip/MrlTooltip/MrlTooltip.js +31 -34
- package/dist/esm/components/tooltip/MrlTooltip/MrlTooltip.js.map +1 -1
- package/dist/esm/components/tooltip/MrlTooltipContent/MrlTooltipContent.js +8 -3
- package/dist/esm/components/tooltip/MrlTooltipContent/MrlTooltipContent.js.map +1 -1
- package/dist/esm/components/tooltip/useTooltipPosition/index.js +15 -17
- package/dist/esm/components/tooltip/useTooltipPosition/index.js.map +1 -1
- package/dist/esm/components/tooltip/useTooltipPosition/utilities.js +4 -4
- package/dist/esm/components/tooltip/useTooltipPosition/utilities.js.map +1 -1
- package/dist/esm/components/tooltip/utils.js +3 -3
- package/dist/esm/components/tooltip/utils.js.map +1 -1
- package/dist/esm/hooks/useAutoClose/useAutoClose.js +4 -4
- package/dist/esm/hooks/useAutoClose/useAutoClose.js.map +1 -1
- package/dist/esm/hooks/useBreakpoint/index.js +5 -5
- package/dist/esm/hooks/useBreakpoint/index.js.map +1 -1
- package/dist/esm/hooks/useClickOutside/index.js +4 -4
- package/dist/esm/hooks/useClickOutside/index.js.map +1 -1
- package/dist/esm/hooks/useCoordinate/index.js +20 -29
- package/dist/esm/hooks/useCoordinate/index.js.map +1 -1
- package/dist/esm/hooks/useElementDimensions/index.js +19 -32
- package/dist/esm/hooks/useElementDimensions/index.js.map +1 -1
- package/dist/esm/hooks/useHasFocusableDescendant/index.js +4 -6
- package/dist/esm/hooks/useHasFocusableDescendant/index.js.map +1 -1
- package/dist/esm/hooks/useScrollbarInfo/index.js +8 -8
- package/dist/esm/hooks/useScrollbarInfo/index.js.map +1 -1
- package/dist/esm/hooks/useTriggerPosition/index.js +14 -20
- package/dist/esm/hooks/useTriggerPosition/index.js.map +1 -1
- package/dist/esm/hooks/useTriggerPosition/utilities.js +15 -23
- package/dist/esm/hooks/useTriggerPosition/utilities.js.map +1 -1
- package/dist/esm/utils/checkInvalidAttributes/index.js +2 -4
- package/dist/esm/utils/checkInvalidAttributes/index.js.map +1 -1
- package/dist/esm/utils/frameDebounce/index.js +28 -29
- package/dist/esm/utils/frameDebounce/index.js.map +1 -1
- package/dist/esm/utils/getCamelCase/getCamelCase.js +2 -2
- package/dist/esm/utils/getCamelCase/getCamelCase.js.map +1 -1
- package/dist/esm/utils/getScrollableContainer/getScrollableContainer.js +1 -1
- package/dist/esm/utils/getScrollableContainer/getScrollableContainer.js.map +1 -1
- package/dist/esm/utils/hasHorizontalScroll/hasHorizontalScroll.js +1 -1
- package/dist/esm/utils/hasHorizontalScroll/hasHorizontalScroll.js.map +1 -1
- package/dist/esm/utils/hasScrollContent/hasScrollContent.js +1 -1
- package/dist/esm/utils/hasScrollContent/hasScrollContent.js.map +1 -1
- package/dist/esm/utils/isElementAriaDisabled/isElementAriaDisabled.js +1 -1
- package/dist/esm/utils/isElementAriaDisabled/isElementAriaDisabled.js.map +1 -1
- package/dist/esm/utils/isElementScrollable/index.js +1 -1
- package/dist/esm/utils/isElementScrollable/index.js.map +1 -1
- package/dist/esm/utils/isImagePath/index.js +1 -1
- package/dist/esm/utils/isImagePath/index.js.map +1 -1
- package/dist/esm/utils/isImageUri/index.js +1 -1
- package/dist/esm/utils/isImageUri/index.js.map +1 -1
- package/dist/esm/utils/isObject/isObject.js +1 -1
- package/dist/esm/utils/isObject/isObject.js.map +1 -1
- package/dist/esm/utils/isTouch/index.js +1 -1
- package/dist/esm/utils/isTouch/index.js.map +1 -1
- package/dist/esm/utils/layers/index.js +1 -1
- package/dist/esm/utils/layers/index.js.map +1 -1
- package/dist/esm/utils/noop/index.js +1 -1
- package/dist/esm/utils/noop/index.js.map +1 -1
- package/dist/esm/utils/preventDefault/preventDefault.js +1 -1
- package/dist/esm/utils/preventDefault/preventDefault.js.map +1 -1
- package/dist/esm/utils/setAttributes/setAttributes.js +7 -5
- package/dist/esm/utils/setAttributes/setAttributes.js.map +1 -1
- package/dist/esm/utils/trapFocus/index.js +9 -11
- package/dist/esm/utils/trapFocus/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MrlLabel.js","sources":["../../../../../../src/components/form/label/MrlLabel/MrlLabel.tsx"],"sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport { AttrsObject, setAttributes } from '../../../../utils';\nimport { labelDefaults, LabelKind, LabelStates, StaticIconConfig } from '../../constants';\n\nimport { MrlSvg } from '../../../svg';\n\nimport styles from './MrlLabel.module.scss';\n\ninterface MrlLabelProps extends React.HTMLAttributes<HTMLLabelElement> {\n\t/** Applies additional HTML attributes to the label element */\n\tattrs?: AttrsObject;\n\t/** Informs the user of the form element's purpose */\n\ttext: string;\n\t/** ID of the form elements so all users can understand the relationship between the two elements */\n\thtmlFor?: string;\n\t/** Label style based on the type of associated form element */\n\tkind?: LabelKind;\n\t/**\n\t * Configures a leading icon within the label. This is only supported with an inline label\n\t */\n\ticon?: StaticIconConfig;\n\t/**\n\t * Changes the state of the label based on state of the associated input. Note, do not\n\t * use this prop only for styling, it must match the state of the input for accessibility compliance.\n\t */\n\tstate?: LabelStates;\n\t/** Additional class to add to the label */\n\tclassName?: string;\n}\n\n/**\n * Provides a label for a form element\n *\n * @param {MrlLabelProps} props - the component props\n * @returns a label element\n */\nexport function MrlLabel({\n\tattrs = {},\n\tclassName,\n\ttext,\n\thtmlFor,\n\tkind = labelDefaults.kind,\n\ticon,\n\tstate = labelDefaults.state,\n\t...rest\n}: MrlLabelProps): JSX.Element {\n\tconst allClasses = classnames(\n\t\t'mrl-label',\n\t\t'MrlLabel',\n\t\tstyles['MrlLabel'],\n\t\tattrs.class || attrs.className,\n\t\tclassName,\n\t\t{\n\t\t\t[styles['mrl-is--disabled']]: state === 'disabled',\n\t\t\t[styles['MrlLabel--inline']]: kind !== labelDefaults.kind\n\t\t}\n\t);\n\n\tdelete attrs.class;\n\tdelete attrs.className;\n\n\tconst attributes = setAttributes(attrs);\n\n\treturn (\n\t\t<label {...rest} {...attributes} htmlFor={htmlFor}\n\t\t\tclassName={allClasses}>\n\t\t\t{icon && (\n\t\t\t\t<MrlSvg\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tsvg={icon.icon}\n\t\t\t\t\tclassName={classnames(styles['MrlLabel-icon'], 'MrlLabel-icon')}\n\t\t\t\t\tsize=\"auto\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<span className=\"MrlLabel-text\">{text}</span>\n\t\t</label>\n\t);\n}\n"],"names":["MrlLabel","_ref","_ref$attrs","attrs","className","text","htmlFor","_ref$kind","kind","labelDefaults","icon","_ref$state","state","rest","_objectWithoutProperties","_excluded","allClasses","classnames","styles","
|
|
1
|
+
{"version":3,"file":"MrlLabel.js","sources":["../../../../../../src/components/form/label/MrlLabel/MrlLabel.tsx"],"sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport { AttrsObject, setAttributes } from '../../../../utils';\nimport { labelDefaults, LabelKind, LabelStates, StaticIconConfig } from '../../constants';\n\nimport { MrlSvg } from '../../../svg';\n\nimport styles from './MrlLabel.module.scss';\n\ninterface MrlLabelProps extends React.HTMLAttributes<HTMLLabelElement> {\n\t/** Applies additional HTML attributes to the label element */\n\tattrs?: AttrsObject;\n\t/** Informs the user of the form element's purpose */\n\ttext: string;\n\t/** ID of the form elements so all users can understand the relationship between the two elements */\n\thtmlFor?: string;\n\t/** Label style based on the type of associated form element */\n\tkind?: LabelKind;\n\t/**\n\t * Configures a leading icon within the label. This is only supported with an inline label\n\t */\n\ticon?: StaticIconConfig;\n\t/**\n\t * Changes the state of the label based on state of the associated input. Note, do not\n\t * use this prop only for styling, it must match the state of the input for accessibility compliance.\n\t */\n\tstate?: LabelStates;\n\t/** Additional class to add to the label */\n\tclassName?: string;\n}\n\n/**\n * Provides a label for a form element\n *\n * @param {MrlLabelProps} props - the component props\n * @returns a label element\n */\nexport function MrlLabel({\n\tattrs = {},\n\tclassName,\n\ttext,\n\thtmlFor,\n\tkind = labelDefaults.kind,\n\ticon,\n\tstate = labelDefaults.state,\n\t...rest\n}: MrlLabelProps): JSX.Element {\n\tconst allClasses = classnames(\n\t\t'mrl-label',\n\t\t'MrlLabel',\n\t\tstyles['MrlLabel'],\n\t\tattrs.class || attrs.className,\n\t\tclassName,\n\t\t{\n\t\t\t[styles['mrl-is--disabled']]: state === 'disabled',\n\t\t\t[styles['MrlLabel--inline']]: kind !== labelDefaults.kind\n\t\t}\n\t);\n\n\tdelete attrs.class;\n\tdelete attrs.className;\n\n\tconst attributes = setAttributes(attrs);\n\n\treturn (\n\t\t<label {...rest} {...attributes} htmlFor={htmlFor}\n\t\t\tclassName={allClasses}>\n\t\t\t{icon && (\n\t\t\t\t<MrlSvg\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tsvg={icon.icon}\n\t\t\t\t\tclassName={classnames(styles['MrlLabel-icon'], 'MrlLabel-icon')}\n\t\t\t\t\tsize=\"auto\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<span className=\"MrlLabel-text\">{text}</span>\n\t\t</label>\n\t);\n}\n"],"names":["MrlLabel","_ref","_ref$attrs","attrs","className","text","htmlFor","_ref$kind","kind","labelDefaults","icon","_ref$state","state","rest","_objectWithoutProperties","_excluded","allClasses","classnames","styles","class","attributes","setAttributes","React","createElement","_extends","MrlSvg","svg","size"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,QAAQA,CAAAC,IAAA,EASO;AAAA,EAAA,IAAAC,UAAA,GAAAD,IAAA,CAR9BE,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,UAAA;IACVE,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;IACJC,OAAO,GAAAL,IAAA,CAAPK,OAAO;IAAAC,SAAA,GAAAN,IAAA,CACPO,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAGE,uBAAa,CAACD,IAAI,GAAAD,SAAA;IACzBG,IAAI,GAAAT,IAAA,CAAJS,IAAI;IAAAC,UAAA,GAAAV,IAAA,CACJW,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAA,MAAA,GAAGF,uBAAa,CAACG,KAAK,GAAAD,UAAA;AACxBE,IAAAA,IAAI,GAAAC,iDAAA,CAAAb,IAAA,EAAAc,SAAA,CAAA;EAEP,IAAMC,UAAU,GAAGC,2BAAU,CAC5B,WAAW,EACX,UAAU,EACVC,uBAAM,CAAC,UAAU,CAAC,EAClBf,KAAK,CAACgB,KAAK,IAAIhB,KAAK,CAACC,SAAS,EAC9BA,SAAS,EACT;AACC,IAAA,CAACc,uBAAM,CAAC,kBAAkB,CAAC,GAAGN,KAAK,KAAK,UAAU;IAClD,CAACM,uBAAM,CAAC,kBAAkB,CAAC,GAAGV,IAAI,KAAKC,uBAAa,CAACD;AACtD,GACD,CAAC;EAED,OAAOL,KAAK,CAACgB,KAAK;EAClB,OAAOhB,KAAK,CAACC,SAAS;AAEtB,EAAA,IAAMgB,UAAU,GAAGC,2BAAa,CAAClB,KAAK,CAAC;EAEvC,oBACCmB,gBAAA,CAAAC,aAAA,CAAA,OAAA,EAAAC,iCAAA,CAAA,EAAA,EAAWX,IAAI,EAAMO,UAAU,EAAA;AAAEd,IAAAA,OAAO,EAAEA,OAAQ;AACjDF,IAAAA,SAAS,EAAEY;AAAW,GAAA,CAAA,EACrBN,IAAI,iBACJY,gBAAA,CAAAC,aAAA,CAACE,aAAM,EAAA;AACN,IAAA,aAAA,EAAY,MAAM;IAClBC,GAAG,EAAEhB,IAAI,CAACA,IAAK;IACfN,SAAS,EAAEa,2BAAU,CAACC,uBAAM,CAAC,eAAe,CAAC,EAAE,eAAe,CAAE;AAChES,IAAAA,IAAI,EAAC;AAAM,GACX,CACD,eACDL,gBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMnB,IAAAA,SAAS,EAAC;GAAe,EAAEC,IAAW,CACtC,CAAC;AAEV;;;;"}
|
|
@@ -7,7 +7,10 @@ var MrlLabelWithDescription_module = require('./MrlLabelWithDescription.module.s
|
|
|
7
7
|
var MrlLabel = require('../MrlLabel/MrlLabel.js');
|
|
8
8
|
var MrlText = require('../../../text/MrlText/MrlText.js');
|
|
9
9
|
|
|
10
|
-
function
|
|
10
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
|
|
12
|
+
function _interopNamespace(e) {
|
|
13
|
+
if (e && e.__esModule) return e;
|
|
11
14
|
var n = Object.create(null);
|
|
12
15
|
if (e) {
|
|
13
16
|
Object.keys(e).forEach(function (k) {
|
|
@@ -24,7 +27,8 @@ function _interopNamespaceDefault(e) {
|
|
|
24
27
|
return Object.freeze(n);
|
|
25
28
|
}
|
|
26
29
|
|
|
27
|
-
var React__namespace = /*#__PURE__*/
|
|
30
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
31
|
+
var classnames__default = /*#__PURE__*/_interopDefault(classnames);
|
|
28
32
|
|
|
29
33
|
var _excluded = ["className", "description", "descriptionId", "isDisabled", "isIndeterminate", "isSelected", "hasMultilineLabel", "htmlFor", "icon", "label"];
|
|
30
34
|
/**
|
|
@@ -45,7 +49,11 @@ function MrlLabelWithDescription(_ref) {
|
|
|
45
49
|
icon = _ref.icon,
|
|
46
50
|
label = _ref.label,
|
|
47
51
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
|
48
|
-
var allClasses =
|
|
52
|
+
var allClasses = classnames__default.default(className, MrlLabelWithDescription_module.default['MrlLabelWithDescription'], {
|
|
53
|
+
[MrlLabelWithDescription_module.default['mrl-is--disabled']]: isDisabled,
|
|
54
|
+
[MrlLabelWithDescription_module.default['mrl-is--selected']]: isSelected,
|
|
55
|
+
[MrlLabelWithDescription_module.default['mrl-is--indeterminate']]: isIndeterminate
|
|
56
|
+
});
|
|
49
57
|
return /*#__PURE__*/React__namespace.createElement("div", {
|
|
50
58
|
className: allClasses
|
|
51
59
|
}, /*#__PURE__*/React__namespace.createElement(MrlLabel.MrlLabel, _rollupPluginBabelHelpers.extends({}, rest, {
|
|
@@ -53,9 +61,15 @@ function MrlLabelWithDescription(_ref) {
|
|
|
53
61
|
text: label,
|
|
54
62
|
kind: "inline",
|
|
55
63
|
htmlFor: htmlFor,
|
|
56
|
-
className:
|
|
64
|
+
className: classnames__default.default(MrlLabelWithDescription_module.default['MrlLabelWithDescription-label'], 'MrlLabelWithDescription-label', {
|
|
65
|
+
[MrlLabelWithDescription_module.default['has-icon']]: typeof icon !== 'undefined',
|
|
66
|
+
[MrlLabelWithDescription_module.default['has-multiline-label']]: hasMultilineLabel
|
|
67
|
+
})
|
|
57
68
|
})), description && /*#__PURE__*/React__namespace.createElement("div", {
|
|
58
|
-
className:
|
|
69
|
+
className: classnames__default.default(MrlLabelWithDescription_module.default['MrlLabelWithDescription-description'], 'MrlLabelWithDescription-description', {
|
|
70
|
+
[MrlLabelWithDescription_module.default['has-icon']]: typeof icon !== 'undefined',
|
|
71
|
+
[MrlLabelWithDescription_module.default['has-multiline-label']]: hasMultilineLabel
|
|
72
|
+
})
|
|
59
73
|
}, typeof description === 'string' && /*#__PURE__*/React__namespace.createElement(MrlText.MrlText, {
|
|
60
74
|
attrs: {
|
|
61
75
|
className: MrlLabelWithDescription_module.default['MrlLabelWithDescription-text'],
|
package/dist/cjs/components/form/label/MrlLabelWithDescription/MrlLabelWithDescription.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MrlLabelWithDescription.js","sources":["../../../../../../src/components/form/label/MrlLabelWithDescription/MrlLabelWithDescription.tsx"],"sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport { MrlLabel, MrlText } from '../../../';\nimport { StaticIconConfig } from '../../constants';\n\nimport styles from './MrlLabelWithDescription.module.scss';\n\ninterface MrlLabelWithDescriptionProps {\n\t/** Additional class to add to the container of the label and description */\n\tclassName?: string;\n\t/** Description text or a custom component */\n\tdescription?: string | React.ReactNode;\n\t/** The id that's linked to the form element \"aria-describedby\" attribute */\n\tdescriptionId?: string;\n\t/** Disabled state */\n\tisDisabled?: boolean;\n\t/** Indeterminate state */\n\tisIndeterminate?: boolean;\n\t/** Selected state */\n\tisSelected?: boolean;\n\t/** Adjusts the styles of the label, icon, and description when the label is multiline */\n\thasMultilineLabel?: boolean;\n\t/** ID of the form elements so all users can understand the relationship between the two elements */\n\thtmlFor: string;\n\t/** Leading label icon */\n\ticon?: StaticIconConfig;\n\t/** The text to display as the label */\n\tlabel: string;\n}\n\n/**\n * Form control label that can render a label, an icon and description text\n *\n * @param {MrlLabelWithDescriptionProps} props - the component props\n * @returns a form control label with description\n */\nexport function MrlLabelWithDescription({\n\tclassName,\n\tdescription,\n\tdescriptionId,\n\tisDisabled,\n\tisIndeterminate,\n\tisSelected,\n\thasMultilineLabel,\n\thtmlFor,\n\ticon,\n\tlabel,\n\t...rest\n}: MrlLabelWithDescriptionProps): JSX.Element {\n\tconst allClasses = classnames(className, styles['MrlLabelWithDescription'], {\n\t\t[styles['mrl-is--disabled']]: isDisabled,\n\t\t[styles['mrl-is--selected']]: isSelected,\n\t\t[styles['mrl-is--indeterminate']]: isIndeterminate\n\t});\n\n\treturn (\n\t\t<div className={allClasses}>\n\t\t\t<MrlLabel\n\t\t\t\t{...rest}\n\t\t\t\ticon={icon !== undefined ? icon : undefined}\n\t\t\t\ttext={label}\n\t\t\t\tkind=\"inline\"\n\t\t\t\thtmlFor={htmlFor}\n\t\t\t\tclassName={classnames(\n\t\t\t\t\tstyles['MrlLabelWithDescription-label'],\n\t\t\t\t\t'MrlLabelWithDescription-label',\n\t\t\t\t\t{\n\t\t\t\t\t\t[styles['has-icon']]: typeof icon !== 'undefined',\n\t\t\t\t\t\t[styles['has-multiline-label']]: hasMultilineLabel\n\t\t\t\t\t}\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t{description && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\tstyles['MrlLabelWithDescription-description'],\n\t\t\t\t\t\t'MrlLabelWithDescription-description',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[styles['has-icon']]: typeof icon !== 'undefined',\n\t\t\t\t\t\t\t[styles['has-multiline-label']]: hasMultilineLabel\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{typeof description === 'string' && (\n\t\t\t\t\t\t<MrlText\n\t\t\t\t\t\t\tattrs={{\n\t\t\t\t\t\t\t\tclassName: styles['MrlLabelWithDescription-text'],\n\t\t\t\t\t\t\t\tid: descriptionId\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttext={description}\n\t\t\t\t\t\t\tsize=\"xsmall\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{React.isValidElement(description) && description}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"],"names":["MrlLabelWithDescription","_ref","className","description","descriptionId","isDisabled","isIndeterminate","isSelected","hasMultilineLabel","htmlFor","icon","label","rest","_objectWithoutProperties","_excluded","allClasses","classnames","styles","
|
|
1
|
+
{"version":3,"file":"MrlLabelWithDescription.js","sources":["../../../../../../src/components/form/label/MrlLabelWithDescription/MrlLabelWithDescription.tsx"],"sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport { MrlLabel, MrlText } from '../../../';\nimport { StaticIconConfig } from '../../constants';\n\nimport styles from './MrlLabelWithDescription.module.scss';\n\ninterface MrlLabelWithDescriptionProps {\n\t/** Additional class to add to the container of the label and description */\n\tclassName?: string;\n\t/** Description text or a custom component */\n\tdescription?: string | React.ReactNode;\n\t/** The id that's linked to the form element \"aria-describedby\" attribute */\n\tdescriptionId?: string;\n\t/** Disabled state */\n\tisDisabled?: boolean;\n\t/** Indeterminate state */\n\tisIndeterminate?: boolean;\n\t/** Selected state */\n\tisSelected?: boolean;\n\t/** Adjusts the styles of the label, icon, and description when the label is multiline */\n\thasMultilineLabel?: boolean;\n\t/** ID of the form elements so all users can understand the relationship between the two elements */\n\thtmlFor: string;\n\t/** Leading label icon */\n\ticon?: StaticIconConfig;\n\t/** The text to display as the label */\n\tlabel: string;\n}\n\n/**\n * Form control label that can render a label, an icon and description text\n *\n * @param {MrlLabelWithDescriptionProps} props - the component props\n * @returns a form control label with description\n */\nexport function MrlLabelWithDescription({\n\tclassName,\n\tdescription,\n\tdescriptionId,\n\tisDisabled,\n\tisIndeterminate,\n\tisSelected,\n\thasMultilineLabel,\n\thtmlFor,\n\ticon,\n\tlabel,\n\t...rest\n}: MrlLabelWithDescriptionProps): JSX.Element {\n\tconst allClasses = classnames(className, styles['MrlLabelWithDescription'], {\n\t\t[styles['mrl-is--disabled']]: isDisabled,\n\t\t[styles['mrl-is--selected']]: isSelected,\n\t\t[styles['mrl-is--indeterminate']]: isIndeterminate\n\t});\n\n\treturn (\n\t\t<div className={allClasses}>\n\t\t\t<MrlLabel\n\t\t\t\t{...rest}\n\t\t\t\ticon={icon !== undefined ? icon : undefined}\n\t\t\t\ttext={label}\n\t\t\t\tkind=\"inline\"\n\t\t\t\thtmlFor={htmlFor}\n\t\t\t\tclassName={classnames(\n\t\t\t\t\tstyles['MrlLabelWithDescription-label'],\n\t\t\t\t\t'MrlLabelWithDescription-label',\n\t\t\t\t\t{\n\t\t\t\t\t\t[styles['has-icon']]: typeof icon !== 'undefined',\n\t\t\t\t\t\t[styles['has-multiline-label']]: hasMultilineLabel\n\t\t\t\t\t}\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t{description && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\tstyles['MrlLabelWithDescription-description'],\n\t\t\t\t\t\t'MrlLabelWithDescription-description',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[styles['has-icon']]: typeof icon !== 'undefined',\n\t\t\t\t\t\t\t[styles['has-multiline-label']]: hasMultilineLabel\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{typeof description === 'string' && (\n\t\t\t\t\t\t<MrlText\n\t\t\t\t\t\t\tattrs={{\n\t\t\t\t\t\t\t\tclassName: styles['MrlLabelWithDescription-text'],\n\t\t\t\t\t\t\t\tid: descriptionId\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttext={description}\n\t\t\t\t\t\t\tsize=\"xsmall\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{React.isValidElement(description) && description}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"],"names":["MrlLabelWithDescription","_ref","className","description","descriptionId","isDisabled","isIndeterminate","isSelected","hasMultilineLabel","htmlFor","icon","label","rest","_objectWithoutProperties","_excluded","allClasses","classnames","styles","React","createElement","MrlLabel","_extends","undefined","text","kind","MrlText","attrs","id","size","isValidElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,uBAAuBA,CAAAC,IAAA,EAYO;AAAA,EAAA,IAX7CC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IACXC,aAAa,GAAAH,IAAA,CAAbG,aAAa;IACbC,UAAU,GAAAJ,IAAA,CAAVI,UAAU;IACVC,eAAe,GAAAL,IAAA,CAAfK,eAAe;IACfC,UAAU,GAAAN,IAAA,CAAVM,UAAU;IACVC,iBAAiB,GAAAP,IAAA,CAAjBO,iBAAiB;IACjBC,OAAO,GAAAR,IAAA,CAAPQ,OAAO;IACPC,IAAI,GAAAT,IAAA,CAAJS,IAAI;IACJC,KAAK,GAAAV,IAAA,CAALU,KAAK;AACFC,IAAAA,IAAI,GAAAC,iDAAA,CAAAZ,IAAA,EAAAa,SAAA,CAAA;EAEP,IAAMC,UAAU,GAAGC,2BAAU,CAACd,SAAS,EAAEe,sCAAM,CAAC,yBAAyB,CAAC,EAAE;AAC3E,IAAA,CAACA,sCAAM,CAAC,kBAAkB,CAAC,GAAGZ,UAAU;AACxC,IAAA,CAACY,sCAAM,CAAC,kBAAkB,CAAC,GAAGV,UAAU;AACxC,IAAA,CAACU,sCAAM,CAAC,uBAAuB,CAAC,GAAGX;AACpC,GAAC,CAAC;EAEF,oBACCY,gBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKjB,IAAAA,SAAS,EAAEa;GAAW,eAC1BG,gBAAA,CAAAC,aAAA,CAACC,iBAAQ,EAAAC,iCAAA,KACJT,IAAI,EAAA;AACRF,IAAAA,IAAI,EAAEA,IAAI,KAAKY,SAAS,GAAGZ,IAAI,GAAGY,SAAU;AAC5CC,IAAAA,IAAI,EAAEZ,KAAM;AACZa,IAAAA,IAAI,EAAC,QAAQ;AACbf,IAAAA,OAAO,EAAEA,OAAQ;IACjBP,SAAS,EAAEc,2BAAU,CACpBC,sCAAM,CAAC,+BAA+B,CAAC,EACvC,+BAA+B,EAC/B;MACC,CAACA,sCAAM,CAAC,UAAU,CAAC,GAAG,OAAOP,IAAI,KAAK,WAAW;AACjD,MAAA,CAACO,sCAAM,CAAC,qBAAqB,CAAC,GAAGT;KAEnC;AAAE,GAAA,CACF,CAAC,EACDL,WAAW,iBACXe,gBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;IACCjB,SAAS,EAAEc,2BAAU,CACpBC,sCAAM,CAAC,qCAAqC,CAAC,EAC7C,qCAAqC,EACrC;MACC,CAACA,sCAAM,CAAC,UAAU,CAAC,GAAG,OAAOP,IAAI,KAAK,WAAW;AACjD,MAAA,CAACO,sCAAM,CAAC,qBAAqB,CAAC,GAAGT;KAEnC;GAAE,EAED,OAAOL,WAAW,KAAK,QAAQ,iBAC/Be,gBAAA,CAAAC,aAAA,CAACM,eAAO,EAAA;AACPC,IAAAA,KAAK,EAAE;AACNxB,MAAAA,SAAS,EAAEe,sCAAM,CAAC,8BAA8B,CAAC;AACjDU,MAAAA,EAAE,EAAEvB;KACH;AACFmB,IAAAA,IAAI,EAAEpB,WAAY;AAClByB,IAAAA,IAAI,EAAC;AAAQ,GACb,CACD,eACAV,gBAAK,CAACW,cAAc,CAAC1B,WAAW,CAAC,IAAIA,WAClC,CAEF,CAAC;AAER;;;;"}
|
|
@@ -15,7 +15,10 @@ var setAttributes = require('../../../../utils/setAttributes/setAttributes.js');
|
|
|
15
15
|
var MrlPortal = require('../../../portal/MrlPortal.js');
|
|
16
16
|
var MrlSvg = require('../../../svg/MrlSvg/MrlSvg.js');
|
|
17
17
|
|
|
18
|
-
function
|
|
18
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
+
|
|
20
|
+
function _interopNamespace(e) {
|
|
21
|
+
if (e && e.__esModule) return e;
|
|
19
22
|
var n = Object.create(null);
|
|
20
23
|
if (e) {
|
|
21
24
|
Object.keys(e).forEach(function (k) {
|
|
@@ -32,7 +35,8 @@ function _interopNamespaceDefault(e) {
|
|
|
32
35
|
return Object.freeze(n);
|
|
33
36
|
}
|
|
34
37
|
|
|
35
|
-
var React__namespace = /*#__PURE__*/
|
|
38
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
39
|
+
var classnames__default = /*#__PURE__*/_interopDefault(classnames);
|
|
36
40
|
|
|
37
41
|
var _excluded = ["attrs", "children", "kind", "labelId", "size"];
|
|
38
42
|
/**
|
|
@@ -41,7 +45,7 @@ var _excluded = ["attrs", "children", "kind", "labelId", "size"];
|
|
|
41
45
|
* @param {MrlLegacySelectProptypes} props the props for your MrlLink
|
|
42
46
|
* @returns {React.ReactElement} an a element containing the text you pass
|
|
43
47
|
*/
|
|
44
|
-
var MrlLegacySelect =
|
|
48
|
+
var MrlLegacySelect = _ref => {
|
|
45
49
|
var _ref$attrs = _ref.attrs,
|
|
46
50
|
attrs = _ref$attrs === void 0 ? {} : _ref$attrs,
|
|
47
51
|
children = _ref.children,
|
|
@@ -57,7 +61,7 @@ var MrlLegacySelect = function MrlLegacySelect(_ref) {
|
|
|
57
61
|
dispatch = _useSelect.dispatch,
|
|
58
62
|
dispatchState = _useSelect.state;
|
|
59
63
|
var coords = index.useCoordinate(selectRef.current, false, dispatchState.open);
|
|
60
|
-
var handleOpen = React__namespace.useCallback(
|
|
64
|
+
var handleOpen = React__namespace.useCallback(e => {
|
|
61
65
|
var _theRest$onClick;
|
|
62
66
|
e.stopPropagation();
|
|
63
67
|
if (dispatchState.open) {
|
|
@@ -74,7 +78,7 @@ var MrlLegacySelect = function MrlLegacySelect(_ref) {
|
|
|
74
78
|
},
|
|
75
79
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
76
80
|
[dispatchState.open]);
|
|
77
|
-
var handleKeyPress = React__namespace.useCallback(
|
|
81
|
+
var handleKeyPress = React__namespace.useCallback(event => {
|
|
78
82
|
var _theRest$onKeyDown;
|
|
79
83
|
// trap tab when we are open
|
|
80
84
|
if (dispatchState.open && event.key === 'Tab') {
|
|
@@ -114,7 +118,7 @@ var MrlLegacySelect = function MrlLegacySelect(_ref) {
|
|
|
114
118
|
/**
|
|
115
119
|
* @TODO: move menu key handling to MrlLegacySelectMenu
|
|
116
120
|
*/
|
|
117
|
-
var handleGlobalKeyPress = React__namespace.useCallback(
|
|
121
|
+
var handleGlobalKeyPress = React__namespace.useCallback(event => {
|
|
118
122
|
var _portalRef$current;
|
|
119
123
|
var action = utils.getActionFromKey(event, dispatchState.open);
|
|
120
124
|
var items = (portalRef === null || portalRef === void 0 ? void 0 : (_portalRef$current = portalRef.current) === null || _portalRef$current === void 0 ? void 0 : _portalRef$current.querySelectorAll('.mrl-selectItem')) || [];
|
|
@@ -184,8 +188,8 @@ var MrlLegacySelect = function MrlLegacySelect(_ref) {
|
|
|
184
188
|
*/
|
|
185
189
|
var lastPosition = React__namespace.useRef(null);
|
|
186
190
|
var animationFrameRef = React__namespace.useRef(null);
|
|
187
|
-
React__namespace.useEffect(
|
|
188
|
-
var
|
|
191
|
+
React__namespace.useEffect(() => {
|
|
192
|
+
var checkPositionChange = () => {
|
|
189
193
|
if (selectRef.current && dispatchState.open) {
|
|
190
194
|
var currentPosition = selectRef.current.getBoundingClientRect();
|
|
191
195
|
|
|
@@ -201,12 +205,12 @@ var MrlLegacySelect = function MrlLegacySelect(_ref) {
|
|
|
201
205
|
}
|
|
202
206
|
lastPosition.current = currentPosition;
|
|
203
207
|
}
|
|
204
|
-
animationFrameRef.current = requestAnimationFrame(
|
|
208
|
+
animationFrameRef.current = requestAnimationFrame(checkPositionChange);
|
|
205
209
|
};
|
|
206
210
|
if (dispatchState.open) {
|
|
207
|
-
animationFrameRef.current = requestAnimationFrame(
|
|
211
|
+
animationFrameRef.current = requestAnimationFrame(checkPositionChange);
|
|
208
212
|
}
|
|
209
|
-
return
|
|
213
|
+
return () => {
|
|
210
214
|
if (animationFrameRef.current) {
|
|
211
215
|
cancelAnimationFrame(animationFrameRef.current);
|
|
212
216
|
}
|
|
@@ -216,7 +220,7 @@ var MrlLegacySelect = function MrlLegacySelect(_ref) {
|
|
|
216
220
|
/**
|
|
217
221
|
* Sets focus to select element when it is closed
|
|
218
222
|
*/
|
|
219
|
-
React__namespace.useEffect(
|
|
223
|
+
React__namespace.useEffect(() => {
|
|
220
224
|
if (!dispatchState.open && dispatchState.actionType === 'keyboard') {
|
|
221
225
|
var _selectRef$current;
|
|
222
226
|
(_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.focus();
|
|
@@ -227,13 +231,13 @@ var MrlLegacySelect = function MrlLegacySelect(_ref) {
|
|
|
227
231
|
/**
|
|
228
232
|
* @TODO: move menu key handling to MrlLegacySelectMenu
|
|
229
233
|
*/
|
|
230
|
-
React__namespace.useEffect(
|
|
234
|
+
React__namespace.useEffect(() => {
|
|
231
235
|
var _document;
|
|
232
236
|
if (dispatchState.disabled || dispatchState.readOnly) {
|
|
233
237
|
return;
|
|
234
238
|
}
|
|
235
239
|
(_document = document) === null || _document === void 0 ? void 0 : _document.addEventListener('keydown', handleGlobalKeyPress);
|
|
236
|
-
return
|
|
240
|
+
return () => {
|
|
237
241
|
var _document2;
|
|
238
242
|
(_document2 = document) === null || _document2 === void 0 ? void 0 : _document2.removeEventListener('keydown', handleGlobalKeyPress);
|
|
239
243
|
};
|
|
@@ -243,7 +247,7 @@ var MrlLegacySelect = function MrlLegacySelect(_ref) {
|
|
|
243
247
|
* This useEffect is responsible for setting the value if it passed in or changed
|
|
244
248
|
* when the select is being used as a controlled component
|
|
245
249
|
*/
|
|
246
|
-
React__namespace.useEffect(
|
|
250
|
+
React__namespace.useEffect(() => {
|
|
247
251
|
var value = dispatchState.controlledValue;
|
|
248
252
|
if (value && value !== dispatchState.selectedItem) {
|
|
249
253
|
dispatch({
|
|
@@ -261,12 +265,9 @@ var MrlLegacySelect = function MrlLegacySelect(_ref) {
|
|
|
261
265
|
|
|
262
266
|
// Once we have the children, we want to iterate over them to check to see if
|
|
263
267
|
// the controlled value passed to the component matches any of the items in the menu
|
|
264
|
-
var matchedItem = menuChildren.find(
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
/*#__PURE__*/React__namespace.isValidElement(item) && item.props.value === value
|
|
268
|
-
);
|
|
269
|
-
});
|
|
268
|
+
var matchedItem = menuChildren.find(item =>
|
|
269
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
270
|
+
/*#__PURE__*/React__namespace.isValidElement(item) && item.props.value === value);
|
|
270
271
|
|
|
271
272
|
// If we found a match, we want to set the selected text to the value of the item's children
|
|
272
273
|
if (matchedItem && /*#__PURE__*/React__namespace.isValidElement(matchedItem)) {
|
|
@@ -292,10 +293,22 @@ var MrlLegacySelect = function MrlLegacySelect(_ref) {
|
|
|
292
293
|
}, !dispatchState.disabled && {
|
|
293
294
|
tabIndex: '0'
|
|
294
295
|
}));
|
|
295
|
-
var allClasses =
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
296
|
+
var allClasses = classnames__default.default('mrl-select', attributes.className, theRest.className, {
|
|
297
|
+
[MrlLegacySelect_module.default['mrl-select']]: true,
|
|
298
|
+
[MrlLegacySelect_module.default['mrl-select--disabled']]: dispatchState.disabled,
|
|
299
|
+
[MrlLegacySelect_module.default['mrl-select--read-only']]: dispatchState.readOnly
|
|
300
|
+
});
|
|
301
|
+
var selectClasses = classnames__default.default('mrl-select-trigger', {
|
|
302
|
+
[MrlLegacySelect_module.default['mrl-select-trigger']]: true,
|
|
303
|
+
[MrlLegacySelect_module.default['mrl-select-trigger--border']]: kind === 'default',
|
|
304
|
+
[MrlLegacySelect_module.default["mrl-select-trigger--".concat(kind)]]: kind !== 'default',
|
|
305
|
+
[MrlLegacySelect_module.default["mrl-select-trigger--".concat(size)]]: size !== 'default'
|
|
306
|
+
});
|
|
307
|
+
var svgClasses = classnames__default.default({
|
|
308
|
+
[MrlLegacySelect_module.default['mrl-is--open']]: dispatchState.open,
|
|
309
|
+
[MrlLegacySelect_module.default['mrl-select-trigger-indicator']]: true
|
|
310
|
+
});
|
|
311
|
+
var selectedText = React__namespace.useMemo(() => {
|
|
299
312
|
if (dispatchState.selectedText) {
|
|
300
313
|
return dispatchState.selectedText;
|
|
301
314
|
}
|
|
@@ -305,12 +318,10 @@ var MrlLegacySelect = function MrlLegacySelect(_ref) {
|
|
|
305
318
|
return 'loading...';
|
|
306
319
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
307
320
|
}, [dispatchState.selectedText]);
|
|
308
|
-
var closeSelect =
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
});
|
|
313
|
-
};
|
|
321
|
+
var closeSelect = () => dispatch({
|
|
322
|
+
payload: 'mouse',
|
|
323
|
+
type: 'close'
|
|
324
|
+
});
|
|
314
325
|
index$1.useClickOutside(selectRef, portalRef, 'mousedown', closeSelect);
|
|
315
326
|
return /*#__PURE__*/React__namespace.createElement("div", _rollupPluginBabelHelpers.extends({}, attributes, theRest, !dispatchState.disabled && !dispatchState.readOnly && {
|
|
316
327
|
onClick: handleOpen
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MrlLegacySelect.js","sources":["../../../../../../src/components/form/legacy-select/MrlLegacySelect/MrlLegacySelect.tsx"],"sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport { chevronDownFilled, chevronUpFilled } from '@muraldevkit/ds-icons';\nimport { MrlPortal, MrlSvg } from '../../../';\nimport { SelectStates, selectDefaults, InputKinds, InputSizes } from '../../constants';\nimport { useSelect } from '../context/SelectContext';\nimport { getActionFromKey, actions, getUpdatedIndex } from '../../utils';\nimport { AttrsObject, setAttributes } from '../../../../utils';\nimport { useCoordinate } from '../../../../hooks';\nimport { PORTAL_LAYERS } from '../../../../utils/layers';\nimport { useClickOutside } from '../../../../hooks/useClickOutside';\n\nimport styles from './MrlLegacySelect.module.scss';\n\nexport interface MrlLegacySelectProptypes extends React.HTMLAttributes<HTMLDivElement> {\n\t/** Additional function to be run when the value of the select changes */\n\thookChange?: (newValue?: string) => void | undefined;\n\n\t/** State of the select element based on user actions or permissions */\n\tstate?: SelectStates;\n\n\t/**\n\t * By default, we will select the first item in the list.\n\t * To select a different option by default, pass that item’s value as the defaultValue to the mrlSelect element.\n\t */\n\tdefaultValue?: string;\n\n\t/**\n\t * Because this is a custom element, we can't use a standard \"for\" attribute setup. The label\n\t * element needs to have an id and then we reference via the select with aria\n\t */\n\tlabelId: string;\n\n\t/**\n\t * Changes the visual style of the select trigger; Use 'inline when your select is inline\n\t * with other content\n\t */\n\tkind?: InputKinds;\n\n\t/**\n\t * Changes the visual size of the select trigger; Currently only supported when kind=\"inline\"\n\t */\n\tsize?: InputSizes;\n\n\t/**\n\t * Applies additional HTML attributes to the `mrl-select` element after the\n\t * hydration process. It is recommended only to use when overwriting an attribute\n\t * assigned internally by the design system.\n\t * When using in a framework wrapper (e.g., React), treat it as an object and don't stringify.\n\t * Otherwise, the value object needs to be stringified to not receive `\"[Object object]\"`.\n\t * Example: `attrs='{ \"tabindex\": \"1\" }'`\n\t */\n\tattrs?: AttrsObject;\n\n\t/**\n\t * menu - list of options for the user to chose from; expects an `MrlLegacySelectMenu` component\n\t */\n\tchildren?: React.ReactNode;\n\n\t/**\n\t * optional id - we will generate a unique one if it isn't given.\n\t * ID will be decorated with `${id}-mrl-select` to not conflict with aria controls.\n\t */\n\tid?: string;\n\n\t/**\n\t * optional value - control which item is selected by passing an `MrlLegacySelectItem` value (overrides `defaultValue`)\n\t * Can be used in conjunction with `hookChange` to create a controlled component.\n\t */\n\tvalue?: string;\n}\n\n/**\n * Creates and exports component class for Mural Select\n *\n * @param {MrlLegacySelectProptypes} props the props for your MrlLink\n * @returns {React.ReactElement} an a element containing the text you pass\n */\nexport const MrlLegacySelect = ({\n\tattrs = {},\n\tchildren,\n\tkind = selectDefaults.kind,\n\tlabelId,\n\tsize = selectDefaults.size,\n\t...theRest\n}: MrlLegacySelectProptypes): React.ReactElement => {\n\tconst selectRef = React.useRef<HTMLDivElement>(null);\n\tconst portalRef = React.useRef<HTMLDivElement>(null);\n\tconst { dispatch, state: dispatchState } = useSelect();\n\tconst coords = useCoordinate<HTMLDivElement | null>(selectRef.current, false, dispatchState.open);\n\n\tconst handleOpen = React.useCallback(\n\t\t(e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n\t\t\te.stopPropagation();\n\n\t\t\tif (dispatchState.open) {\n\t\t\t\tdispatch({ payload: 'mouse', type: 'close' });\n\t\t\t} else {\n\t\t\t\tdispatch({ type: 'open' });\n\t\t\t}\n\t\t\ttheRest.onClick?.(e);\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[dispatchState.open]\n\t);\n\n\tconst handleKeyPress = React.useCallback(\n\t\t(event: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\t// trap tab when we are open\n\t\t\tif (dispatchState.open && event.key === 'Tab') {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst action = getActionFromKey(event, dispatchState.open);\n\t\t\tswitch (action) {\n\t\t\t\tcase actions.Last:\n\t\t\t\tcase actions.First:\n\t\t\t\t\tdispatch({ type: 'open' });\n\t\t\t\t\tbreak;\n\t\t\t\tcase actions.Type:\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tdispatch({ type: 'open' });\n\t\t\t\t\tbreak;\n\t\t\t\tcase actions.Open:\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tdispatch({ type: 'open' });\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\ttheRest.onKeyDown?.(event);\n\t\t},\n\t\t// only want to rereun this when our keydown changes or our state changes.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[dispatchState, theRest.onKeyDown]\n\t);\n\n\t/**\n\t * @TODO: move menu key handling to MrlLegacySelectMenu\n\t */\n\tconst handleGlobalKeyPress = React.useCallback(\n\t\t(event: KeyboardEvent) => {\n\t\t\tconst action = getActionFromKey(event as unknown as React.KeyboardEvent, dispatchState.open);\n\t\t\tconst items = portalRef?.current?.querySelectorAll('.mrl-selectItem') || [];\n\t\t\tconst lastItemIndex = items?.length - 1;\n\t\t\tconst firstItemIndex = 0;\n\t\t\tconst focusIndex = dispatchState.focusIndex || 0;\n\n\t\t\tswitch (action) {\n\t\t\t\tcase actions.PageDown:\n\t\t\t\tcase actions.Last:\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\tpayload: getUpdatedIndex(focusIndex, lastItemIndex, action),\n\t\t\t\t\t\ttype: 'focus'\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase actions.PageUp:\n\t\t\t\tcase actions.First:\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\tpayload: getUpdatedIndex(focusIndex, lastItemIndex, action),\n\t\t\t\t\t\ttype: 'focus'\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase actions.Previous:\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t// if not our first item then focus next.\n\t\t\t\t\tif (firstItemIndex !== focusIndex) {\n\t\t\t\t\t\tdispatch({\n\t\t\t\t\t\t\tpayload: focusIndex - 1,\n\t\t\t\t\t\t\ttype: 'focus'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase actions.Next:\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t// if not our last item then focus next.\n\t\t\t\t\tif (lastItemIndex !== focusIndex) {\n\t\t\t\t\t\tdispatch({\n\t\t\t\t\t\t\tpayload: focusIndex + 1,\n\t\t\t\t\t\t\ttype: 'focus'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase actions.CloseSelect:\n\t\t\t\tcase actions.Close:\n\t\t\t\t\tdispatch({ payload: 'keyboard', type: 'close' });\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t// only want to change when state changes or we have different children.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[dispatchState, children]\n\t);\n\n\t/**\n\t * Detects if the select element has moved and closes the menu if it has\n\t *\n\t * We are using requestAnimationFrame to check the position of the select element\n\t * and compare it to the last known position. If the position has changed, we close\n\t * the menu.\n\t */\n\tconst lastPosition = React.useRef<DOMRect | null>(null);\n\tconst animationFrameRef = React.useRef<number | null>(null);\n\n\tReact.useEffect(() => {\n\t\tconst checkPositionChange = () => {\n\t\t\tif (selectRef.current && dispatchState.open) {\n\t\t\t\tconst currentPosition = selectRef.current.getBoundingClientRect();\n\n\t\t\t\t// If the last position is different than the current position, we know that the\n\t\t\t\t// menu has scrolled and we should close it.\n\t\t\t\tif (lastPosition.current && lastPosition.current.y !== currentPosition.y) {\n\t\t\t\t\tlastPosition.current = null;\n\t\t\t\t\tdispatch({ payload: 'mouse', type: 'close' });\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlastPosition.current = currentPosition;\n\t\t\t}\n\t\t\tanimationFrameRef.current = requestAnimationFrame(checkPositionChange);\n\t\t};\n\n\t\tif (dispatchState.open) {\n\t\t\tanimationFrameRef.current = requestAnimationFrame(checkPositionChange);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (animationFrameRef.current) {\n\t\t\t\tcancelAnimationFrame(animationFrameRef.current);\n\t\t\t}\n\t\t};\n\t}, [dispatch, dispatchState.open]);\n\n\t/**\n\t * Sets focus to select element when it is closed\n\t */\n\tReact.useEffect(() => {\n\t\tif (!dispatchState.open && dispatchState.actionType === 'keyboard') {\n\t\t\tselectRef.current?.focus();\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [dispatchState.open]);\n\n\t/**\n\t * @TODO: move menu key handling to MrlLegacySelectMenu\n\t */\n\tReact.useEffect(() => {\n\t\tif (dispatchState.disabled || dispatchState.readOnly) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument?.addEventListener('keydown', handleGlobalKeyPress);\n\n\t\treturn () => {\n\t\t\tdocument?.removeEventListener('keydown', handleGlobalKeyPress);\n\t\t};\n\t}, [handleGlobalKeyPress, dispatchState.disabled, dispatchState.readOnly]);\n\n\t/**\n\t * This useEffect is responsible for setting the value if it passed in or changed\n\t * when the select is being used as a controlled component\n\t */\n\tReact.useEffect(() => {\n\t\tconst value = dispatchState.controlledValue;\n\n\t\tif (value && value !== dispatchState.selectedItem) {\n\t\t\tdispatch({ payload: value, type: 'select' });\n\n\t\t\tif (children) {\n\t\t\t\t// The first child is an instance of MrlLegacySelectMenu, so let's grab that\n\t\t\t\t// because we are looking to match the value against the children passed\n\t\t\t\t// into the MrlLegacySelectMenu component\n\t\t\t\tconst selectMenu = React.Children.toArray(children)[0];\n\n\t\t\t\tif (React.isValidElement(selectMenu)) {\n\t\t\t\t\t// Now let's grab the children of the array\n\t\t\t\t\tconst menuChildren = React.Children.toArray(selectMenu.props.children);\n\n\t\t\t\t\t// Once we have the children, we want to iterate over them to check to see if\n\t\t\t\t\t// the controlled value passed to the component matches any of the items in the menu\n\t\t\t\t\tconst matchedItem = menuChildren.find(\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\tReact.isValidElement(item) && (item as any).props.value === value\n\t\t\t\t\t);\n\n\t\t\t\t\t// If we found a match, we want to set the selected text to the value of the item's children\n\t\t\t\t\tif (matchedItem && React.isValidElement(matchedItem)) {\n\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\tconst selectedText = (matchedItem as any).props.children;\n\t\t\t\t\t\tdispatch({ payload: selectedText, type: 'selectedText' });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [children, dispatchState.controlledValue, dispatchState.selectedItem]);\n\n\tconst attributes = setAttributes(attrs, {\n\t\t'aria-controls': dispatchState.id,\n\t\t'aria-disabled': dispatchState.disabled ? 'true' : 'false',\n\t\t'aria-expanded': dispatchState.open.toString(),\n\t\t'aria-haspopup': 'listbox',\n\t\t'aria-labelledby': labelId,\n\t\trole: 'combobox',\n\t\t...(!dispatchState.disabled && { tabIndex: '0' })\n\t});\n\n\tconst allClasses = classnames('mrl-select', attributes.className, theRest.className, {\n\t\t[styles['mrl-select']]: true,\n\t\t[styles['mrl-select--disabled']]: dispatchState.disabled,\n\t\t[styles['mrl-select--read-only']]: dispatchState.readOnly\n\t});\n\n\tconst selectClasses = classnames('mrl-select-trigger', {\n\t\t[styles['mrl-select-trigger']]: true,\n\t\t[styles['mrl-select-trigger--border']]: kind === 'default',\n\t\t[styles[`mrl-select-trigger--${kind}`]]: kind !== 'default',\n\t\t[styles[`mrl-select-trigger--${size}`]]: size !== 'default'\n\t});\n\n\tconst svgClasses = classnames({\n\t\t[styles['mrl-is--open']]: dispatchState.open,\n\t\t[styles['mrl-select-trigger-indicator']]: true\n\t});\n\n\tconst selectedText = React.useMemo(() => {\n\t\tif (dispatchState.selectedText) {\n\t\t\treturn dispatchState.selectedText;\n\t\t}\n\n\t\tif (children) {\n\t\t\treturn React.Children.toArray(children)[0];\n\t\t}\n\n\t\treturn 'loading...';\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [dispatchState.selectedText]);\n\n\tconst closeSelect = () => dispatch({ payload: 'mouse', type: 'close' });\n\tuseClickOutside(selectRef, portalRef, 'mousedown', closeSelect);\n\n\treturn (\n\t\t<div\n\t\t\t{...attributes}\n\t\t\t{...theRest}\n\t\t\t{...(!dispatchState.disabled && !dispatchState.readOnly && { onClick: handleOpen })}\n\t\t\t{...(!dispatchState.disabled && !dispatchState.readOnly && { onKeyDown: handleKeyPress })}\n\t\t\tdata-value={dispatchState.selectedItem}\n\t\t\tid={dispatchState.id}\n\t\t\tclassName={allClasses}\n\t\t\tref={selectRef}\n\t\t>\n\t\t\t<div className={selectClasses}>\n\t\t\t\t<span>{selectedText}</span>\n\t\t\t\t{!dispatchState.readOnly && (\n\t\t\t\t\t<MrlSvg\n\t\t\t\t\t\tsvg={dispatchState.open ? chevronUpFilled : chevronDownFilled}\n\t\t\t\t\t\tclassName={svgClasses}\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{dispatchState.open && (\n\t\t\t\t<MrlPortal id=\"mrl-select-portal\" layer={PORTAL_LAYERS.SELECT}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={portalRef}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tleft: coords.left,\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\ttop: coords.top + coords.height,\n\t\t\t\t\t\t\twidth: `${coords.width}px`\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</MrlPortal>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"names":["MrlLegacySelect","_ref","_ref$attrs","attrs","children","_ref$kind","kind","selectDefaults","labelId","_ref$size","size","theRest","_objectWithoutProperties","_excluded","selectRef","React","useRef","portalRef","_useSelect","useSelect","dispatch","dispatchState","state","coords","useCoordinate","current","open","handleOpen","useCallback","e","_theRest$onClick","stopPropagation","payload","type","onClick","call","handleKeyPress","event","_theRest$onKeyDown","key","preventDefault","action","getActionFromKey","actions","Last","First","Type","Open","onKeyDown","handleGlobalKeyPress","_portalRef$current","items","querySelectorAll","lastItemIndex","length","firstItemIndex","focusIndex","PageDown","getUpdatedIndex","PageUp","Previous","Next","CloseSelect","Close","lastPosition","animationFrameRef","useEffect","checkPositionChange","currentPosition","getBoundingClientRect","y","requestAnimationFrame","cancelAnimationFrame","actionType","_selectRef$current","focus","_document","disabled","readOnly","document","addEventListener","_document2","removeEventListener","value","controlledValue","selectedItem","selectMenu","Children","toArray","isValidElement","menuChildren","props","matchedItem","find","item","selectedText","attributes","setAttributes","_objectSpread","id","toString","role","tabIndex","allClasses","classnames","className","_defineProperty","styles","selectClasses","concat","svgClasses","useMemo","closeSelect","useClickOutside","createElement","_extends","ref","MrlSvg","svg","chevronUpFilled","chevronDownFilled","MrlPortal","layer","PORTAL_LAYERS","SELECT","style","left","position","top","height","width"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwEA;AACA;AACA;AACA;AACA;AACA;IACaA,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAOwB;AAAA,EAAA,IAAAC,UAAA,GAAAD,IAAA,CANnDE,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,UAAA;IACVE,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAAC,SAAA,GAAAJ,IAAA,CACRK,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAGE,wBAAc,CAACD,IAAI,GAAAD,SAAA;IAC1BG,OAAO,GAAAP,IAAA,CAAPO,OAAO;IAAAC,SAAA,GAAAR,IAAA,CACPS,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAGF,wBAAc,CAACG,IAAI,GAAAD,SAAA;AACvBE,IAAAA,OAAO,GAAAC,iDAAA,CAAAX,IAAA,EAAAY,SAAA,CAAA;AAEV,EAAA,IAAMC,SAAS,GAAGC,gBAAK,CAACC,MAAM,CAAiB,IAAI,CAAC;AACpD,EAAA,IAAMC,SAAS,GAAGF,gBAAK,CAACC,MAAM,CAAiB,IAAI,CAAC;AACpD,EAAA,IAAAE,UAAA,GAA2CC,uBAAS,EAAE;IAA9CC,QAAQ,GAAAF,UAAA,CAARE,QAAQ;IAASC,aAAa,GAAAH,UAAA,CAApBI,KAAK;AACvB,EAAA,IAAMC,MAAM,GAAGC,mBAAa,CAAwBV,SAAS,CAACW,OAAO,EAAE,KAAK,EAAEJ,aAAa,CAACK,IAAI,CAAC;EAEjG,IAAMC,UAAU,GAAGZ,gBAAK,CAACa,WAAW,CACnC,UAACC,CAA+C,EAAK;AAAA,IAAA,IAAAC,gBAAA;IACpDD,CAAC,CAACE,eAAe,EAAE;IAEnB,IAAIV,aAAa,CAACK,IAAI,EAAE;AACvBN,MAAAA,QAAQ,CAAC;AAAEY,QAAAA,OAAO,EAAE,OAAO;AAAEC,QAAAA,IAAI,EAAE;AAAQ,OAAC,CAAC;AAC9C,IAAA,CAAC,MAAM;AACNb,MAAAA,QAAQ,CAAC;AAAEa,QAAAA,IAAI,EAAE;AAAO,OAAC,CAAC;AAC3B,IAAA;AACA,IAAA,CAAAH,gBAAA,GAAAnB,OAAO,CAACuB,OAAO,MAAA,IAAA,IAAAJ,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAfA,gBAAA,CAAAK,IAAA,CAAAxB,OAAO,EAAWkB,CAAC,CAAC;EACrB,CAAC;AACD;AACA,EAAA,CAACR,aAAa,CAACK,IAAI,CACpB,CAAC;EAED,IAAMU,cAAc,GAAGrB,gBAAK,CAACa,WAAW,CACvC,UAACS,KAA0C,EAAK;AAAA,IAAA,IAAAC,kBAAA;AAC/C;IACA,IAAIjB,aAAa,CAACK,IAAI,IAAIW,KAAK,CAACE,GAAG,KAAK,KAAK,EAAE;MAC9CF,KAAK,CAACG,cAAc,EAAE;MACtBH,KAAK,CAACN,eAAe,EAAE;AACvB,MAAA;AACD,IAAA;IAEA,IAAMU,MAAM,GAAGC,sBAAgB,CAACL,KAAK,EAAEhB,aAAa,CAACK,IAAI,CAAC;AAC1D,IAAA,QAAQe,MAAM;MACb,KAAKE,aAAO,CAACC,IAAI;MACjB,KAAKD,aAAO,CAACE,KAAK;AACjBzB,QAAAA,QAAQ,CAAC;AAAEa,UAAAA,IAAI,EAAE;AAAO,SAAC,CAAC;AAC1B,QAAA;MACD,KAAKU,aAAO,CAACG,IAAI;QAChBT,KAAK,CAACG,cAAc,EAAE;QACtBH,KAAK,CAACN,eAAe,EAAE;AACvBX,QAAAA,QAAQ,CAAC;AAAEa,UAAAA,IAAI,EAAE;AAAO,SAAC,CAAC;AAC1B,QAAA;MACD,KAAKU,aAAO,CAACI,IAAI;QAChBV,KAAK,CAACG,cAAc,EAAE;QACtBH,KAAK,CAACN,eAAe,EAAE;AACvBX,QAAAA,QAAQ,CAAC;AAAEa,UAAAA,IAAI,EAAE;AAAO,SAAC,CAAC;AAC1B,QAAA;AACF;AAEA,IAAA,CAAAK,kBAAA,GAAA3B,OAAO,CAACqC,SAAS,MAAA,IAAA,IAAAV,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAjBA,kBAAA,CAAAH,IAAA,CAAAxB,OAAO,EAAa0B,KAAK,CAAC;EAC3B,CAAC;AACD;AACA;AACA,EAAA,CAAChB,aAAa,EAAEV,OAAO,CAACqC,SAAS,CAClC,CAAC;;AAED;AACD;AACA;EACC,IAAMC,oBAAoB,GAAGlC,gBAAK,CAACa,WAAW,CAC7C,UAACS,KAAoB,EAAK;AAAA,IAAA,IAAAa,kBAAA;IACzB,IAAMT,MAAM,GAAGC,sBAAgB,CAACL,KAAK,EAAoChB,aAAa,CAACK,IAAI,CAAC;IAC5F,IAAMyB,KAAK,GAAG,CAAAlC,SAAS,aAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAAA,CAAAiC,kBAAA,GAATjC,SAAS,CAAEQ,OAAO,MAAA,IAAA,IAAAyB,kBAAA,uBAAlBA,kBAAA,CAAoBE,gBAAgB,CAAC,iBAAiB,CAAC,KAAI,EAAE;IAC3E,IAAMC,aAAa,GAAG,CAAAF,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEG,MAAM,IAAG,CAAC;IACvC,IAAMC,cAAc,GAAG,CAAC;AACxB,IAAA,IAAMC,UAAU,GAAGnC,aAAa,CAACmC,UAAU,IAAI,CAAC;AAEhD,IAAA,QAAQf,MAAM;MACb,KAAKE,aAAO,CAACc,QAAQ;MACrB,KAAKd,aAAO,CAACC,IAAI;QAChBP,KAAK,CAACN,eAAe,EAAE;QACvBM,KAAK,CAACG,cAAc,EAAE;AACtBpB,QAAAA,QAAQ,CAAC;UACRY,OAAO,EAAE0B,qBAAe,CAACF,UAAU,EAAEH,aAAa,EAAEZ,MAAM,CAAC;AAC3DR,UAAAA,IAAI,EAAE;AACP,SAAC,CAAC;AACF,QAAA;MACD,KAAKU,aAAO,CAACgB,MAAM;MACnB,KAAKhB,aAAO,CAACE,KAAK;QACjBR,KAAK,CAACN,eAAe,EAAE;QACvBM,KAAK,CAACG,cAAc,EAAE;AACtBpB,QAAAA,QAAQ,CAAC;UACRY,OAAO,EAAE0B,qBAAe,CAACF,UAAU,EAAEH,aAAa,EAAEZ,MAAM,CAAC;AAC3DR,UAAAA,IAAI,EAAE;AACP,SAAC,CAAC;AACF,QAAA;MACD,KAAKU,aAAO,CAACiB,QAAQ;QACpBvB,KAAK,CAACN,eAAe,EAAE;QACvBM,KAAK,CAACG,cAAc,EAAE;AACtB;QACA,IAAIe,cAAc,KAAKC,UAAU,EAAE;AAClCpC,UAAAA,QAAQ,CAAC;YACRY,OAAO,EAAEwB,UAAU,GAAG,CAAC;AACvBvB,YAAAA,IAAI,EAAE;AACP,WAAC,CAAC;AACH,QAAA;AAEA,QAAA;MACD,KAAKU,aAAO,CAACkB,IAAI;QAChBxB,KAAK,CAACN,eAAe,EAAE;QACvBM,KAAK,CAACG,cAAc,EAAE;AACtB;QACA,IAAIa,aAAa,KAAKG,UAAU,EAAE;AACjCpC,UAAAA,QAAQ,CAAC;YACRY,OAAO,EAAEwB,UAAU,GAAG,CAAC;AACvBvB,YAAAA,IAAI,EAAE;AACP,WAAC,CAAC;AACH,QAAA;AACA,QAAA;MACD,KAAKU,aAAO,CAACmB,WAAW;MACxB,KAAKnB,aAAO,CAACoB,KAAK;AACjB3C,QAAAA,QAAQ,CAAC;AAAEY,UAAAA,OAAO,EAAE,UAAU;AAAEC,UAAAA,IAAI,EAAE;AAAQ,SAAC,CAAC;AAChD,QAAA;AACF;EACD,CAAC;AACD;AACA;AACA,EAAA,CAACZ,aAAa,EAAEjB,QAAQ,CACzB,CAAC;;AAED;AACD;AACA;AACA;AACA;AACA;AACA;AACC,EAAA,IAAM4D,YAAY,GAAGjD,gBAAK,CAACC,MAAM,CAAiB,IAAI,CAAC;AACvD,EAAA,IAAMiD,iBAAiB,GAAGlD,gBAAK,CAACC,MAAM,CAAgB,IAAI,CAAC;EAE3DD,gBAAK,CAACmD,SAAS,CAAC,YAAM;AACrB,IAAA,IAAMC,oBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;AACjC,MAAA,IAAIrD,SAAS,CAACW,OAAO,IAAIJ,aAAa,CAACK,IAAI,EAAE;QAC5C,IAAM0C,eAAe,GAAGtD,SAAS,CAACW,OAAO,CAAC4C,qBAAqB,EAAE;;AAEjE;AACA;AACA,QAAA,IAAIL,YAAY,CAACvC,OAAO,IAAIuC,YAAY,CAACvC,OAAO,CAAC6C,CAAC,KAAKF,eAAe,CAACE,CAAC,EAAE;UACzEN,YAAY,CAACvC,OAAO,GAAG,IAAI;AAC3BL,UAAAA,QAAQ,CAAC;AAAEY,YAAAA,OAAO,EAAE,OAAO;AAAEC,YAAAA,IAAI,EAAE;AAAQ,WAAC,CAAC;AAC7C,UAAA;AACD,QAAA;QACA+B,YAAY,CAACvC,OAAO,GAAG2C,eAAe;AACvC,MAAA;AACAH,MAAAA,iBAAiB,CAACxC,OAAO,GAAG8C,qBAAqB,CAACJ,oBAAmB,CAAC;IACvE,CAAC;IAED,IAAI9C,aAAa,CAACK,IAAI,EAAE;AACvBuC,MAAAA,iBAAiB,CAACxC,OAAO,GAAG8C,qBAAqB,CAACJ,oBAAmB,CAAC;AACvE,IAAA;AAEA,IAAA,OAAO,YAAM;MACZ,IAAIF,iBAAiB,CAACxC,OAAO,EAAE;AAC9B+C,QAAAA,oBAAoB,CAACP,iBAAiB,CAACxC,OAAO,CAAC;AAChD,MAAA;IACD,CAAC;EACF,CAAC,EAAE,CAACL,QAAQ,EAAEC,aAAa,CAACK,IAAI,CAAC,CAAC;;AAElC;AACD;AACA;EACCX,gBAAK,CAACmD,SAAS,CAAC,YAAM;IACrB,IAAI,CAAC7C,aAAa,CAACK,IAAI,IAAIL,aAAa,CAACoD,UAAU,KAAK,UAAU,EAAE;AAAA,MAAA,IAAAC,kBAAA;AACnE,MAAA,CAAAA,kBAAA,GAAA5D,SAAS,CAACW,OAAO,MAAA,IAAA,IAAAiD,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAjBA,kBAAA,CAAmBC,KAAK,EAAE;AAC3B,IAAA;AACA;AACD,EAAA,CAAC,EAAE,CAACtD,aAAa,CAACK,IAAI,CAAC,CAAC;;AAExB;AACD;AACA;EACCX,gBAAK,CAACmD,SAAS,CAAC,YAAM;AAAA,IAAA,IAAAU,SAAA;AACrB,IAAA,IAAIvD,aAAa,CAACwD,QAAQ,IAAIxD,aAAa,CAACyD,QAAQ,EAAE;AACrD,MAAA;AACD,IAAA;AAEA,IAAA,CAAAF,SAAA,GAAAG,QAAQ,MAAA,IAAA,IAAAH,SAAA,KAAA,MAAA,GAAA,MAAA,GAARA,SAAA,CAAUI,gBAAgB,CAAC,SAAS,EAAE/B,oBAAoB,CAAC;AAE3D,IAAA,OAAO,YAAM;AAAA,MAAA,IAAAgC,UAAA;AACZ,MAAA,CAAAA,UAAA,GAAAF,QAAQ,MAAA,IAAA,IAAAE,UAAA,KAAA,MAAA,GAAA,MAAA,GAARA,UAAA,CAAUC,mBAAmB,CAAC,SAAS,EAAEjC,oBAAoB,CAAC;IAC/D,CAAC;AACF,EAAA,CAAC,EAAE,CAACA,oBAAoB,EAAE5B,aAAa,CAACwD,QAAQ,EAAExD,aAAa,CAACyD,QAAQ,CAAC,CAAC;;AAE1E;AACD;AACA;AACA;EACC/D,gBAAK,CAACmD,SAAS,CAAC,YAAM;AACrB,IAAA,IAAMiB,KAAK,GAAG9D,aAAa,CAAC+D,eAAe;AAE3C,IAAA,IAAID,KAAK,IAAIA,KAAK,KAAK9D,aAAa,CAACgE,YAAY,EAAE;AAClDjE,MAAAA,QAAQ,CAAC;AAAEY,QAAAA,OAAO,EAAEmD,KAAK;AAAElD,QAAAA,IAAI,EAAE;AAAS,OAAC,CAAC;AAE5C,MAAA,IAAI7B,QAAQ,EAAE;AACb;AACA;AACA;AACA,QAAA,IAAMkF,UAAU,GAAGvE,gBAAK,CAACwE,QAAQ,CAACC,OAAO,CAACpF,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEtD,QAAA,iBAAIW,gBAAK,CAAC0E,cAAc,CAACH,UAAU,CAAC,EAAE;AACrC;AACA,UAAA,IAAMI,YAAY,GAAG3E,gBAAK,CAACwE,QAAQ,CAACC,OAAO,CAACF,UAAU,CAACK,KAAK,CAACvF,QAAQ,CAAC;;AAEtE;AACA;AACA,UAAA,IAAMwF,WAAW,GAAGF,YAAY,CAACG,IAAI,CACpC,UAACC,IAAI,EAAA;AAAA,YAAA;AACJ;AACA,2BAAA/E,gBAAK,CAAC0E,cAAc,CAACK,IAAI,CAAC,IAAKA,IAAI,CAASH,KAAK,CAACR,KAAK,KAAKA;AAAK;AAAA,UAAA,CACnE,CAAC;;AAED;UACA,IAAIS,WAAW,iBAAI7E,gBAAK,CAAC0E,cAAc,CAACG,WAAW,CAAC,EAAE;AACrD;AACA,YAAA,IAAMG,aAAY,GAAIH,WAAW,CAASD,KAAK,CAACvF,QAAQ;AACxDgB,YAAAA,QAAQ,CAAC;AAAEY,cAAAA,OAAO,EAAE+D,aAAY;AAAE9D,cAAAA,IAAI,EAAE;AAAe,aAAC,CAAC;AAC1D,UAAA;AACD,QAAA;AACD,MAAA;AACD,IAAA;AACA;AACD,EAAA,CAAC,EAAE,CAAC7B,QAAQ,EAAEiB,aAAa,CAAC+D,eAAe,EAAE/D,aAAa,CAACgE,YAAY,CAAC,CAAC;AAEzE,EAAA,IAAMW,UAAU,GAAGC,2BAAa,CAAC9F,KAAK,EAAA+F,uCAAA,CAAA;IACrC,eAAe,EAAE7E,aAAa,CAAC8E,EAAE;AACjC,IAAA,eAAe,EAAE9E,aAAa,CAACwD,QAAQ,GAAG,MAAM,GAAG,OAAO;AAC1D,IAAA,eAAe,EAAExD,aAAa,CAACK,IAAI,CAAC0E,QAAQ,EAAE;AAC9C,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,iBAAiB,EAAE5F,OAAO;AAC1B6F,IAAAA,IAAI,EAAE;AAAU,GAAA,EACZ,CAAChF,aAAa,CAACwD,QAAQ,IAAI;AAAEyB,IAAAA,QAAQ,EAAE;AAAI,GAAC,CAChD,CAAC;EAEF,IAAMC,UAAU,GAAGC,UAAU,CAAC,YAAY,EAAER,UAAU,CAACS,SAAS,EAAE9F,OAAO,CAAC8F,SAAS,EAAAC,wCAAA,CAAAA,wCAAA,CAAAA,wCAAA,KACjFC,8BAAM,CAAC,YAAY,CAAC,EAAG,IAAI,CAAA,EAC3BA,8BAAM,CAAC,sBAAsB,CAAC,EAAGtF,aAAa,CAACwD,QAAQ,CAAA,EACvD8B,8BAAM,CAAC,uBAAuB,CAAC,EAAGtF,aAAa,CAACyD,QAAQ,CACzD,CAAC;EAEF,IAAM8B,aAAa,GAAGJ,UAAU,CAAC,oBAAoB,EAAAE,wCAAA,CAAAA,wCAAA,CAAAA,wCAAA,CAAAA,wCAAA,CAAA,EAAA,EACnDC,8BAAM,CAAC,oBAAoB,CAAC,EAAG,IAAI,CAAA,EACnCA,8BAAM,CAAC,4BAA4B,CAAC,EAAGrG,IAAI,KAAK,SAAS,CAAA,EACzDqG,8BAAM,CAAA,sBAAA,CAAAE,MAAA,CAAwBvG,IAAI,CAAA,CAAG,EAAGA,IAAI,KAAK,SAAS,GAC1DqG,8BAAM,CAAA,sBAAA,CAAAE,MAAA,CAAwBnG,IAAI,CAAA,CAAG,EAAGA,IAAI,KAAK,SAAS,CAC3D,CAAC;EAEF,IAAMoG,UAAU,GAAGN,UAAU,CAAAE,wCAAA,CAAAA,wCAAA,CAAA,EAAA,EAC3BC,8BAAM,CAAC,cAAc,CAAC,EAAGtF,aAAa,CAACK,IAAI,CAAA,EAC3CiF,8BAAM,CAAC,8BAA8B,CAAC,EAAG,IAAI,CAC9C,CAAC;AAEF,EAAA,IAAMZ,YAAY,GAAGhF,gBAAK,CAACgG,OAAO,CAAC,YAAM;IACxC,IAAI1F,aAAa,CAAC0E,YAAY,EAAE;MAC/B,OAAO1E,aAAa,CAAC0E,YAAY;AAClC,IAAA;AAEA,IAAA,IAAI3F,QAAQ,EAAE;MACb,OAAOW,gBAAK,CAACwE,QAAQ,CAACC,OAAO,CAACpF,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3C,IAAA;AAEA,IAAA,OAAO,YAAY;AACnB;AACD,EAAA,CAAC,EAAE,CAACiB,aAAa,CAAC0E,YAAY,CAAC,CAAC;AAEhC,EAAA,IAAMiB,WAAW,GAAG,SAAdA,WAAWA,GAAA;AAAA,IAAA,OAAS5F,QAAQ,CAAC;AAAEY,MAAAA,OAAO,EAAE,OAAO;AAAEC,MAAAA,IAAI,EAAE;AAAQ,KAAC,CAAC;AAAA,EAAA,CAAA;EACvEgF,uBAAe,CAACnG,SAAS,EAAEG,SAAS,EAAE,WAAW,EAAE+F,WAAW,CAAC;AAE/D,EAAA,oBACCjG,gBAAA,CAAAmG,aAAA,QAAAC,iCAAA,CAAA,EAAA,EACKnB,UAAU,EACVrF,OAAO,EACN,CAACU,aAAa,CAACwD,QAAQ,IAAI,CAACxD,aAAa,CAACyD,QAAQ,IAAI;AAAE5C,IAAAA,OAAO,EAAEP;GAAY,EAC7E,CAACN,aAAa,CAACwD,QAAQ,IAAI,CAACxD,aAAa,CAACyD,QAAQ,IAAI;AAAE9B,IAAAA,SAAS,EAAEZ;GAAgB,EAAA;IACxF,YAAA,EAAYf,aAAa,CAACgE,YAAa;IACvCc,EAAE,EAAE9E,aAAa,CAAC8E,EAAG;AACrBM,IAAAA,SAAS,EAAEF,UAAW;AACtBa,IAAAA,GAAG,EAAEtG;GAAU,CAAA,eAEfC,gBAAA,CAAAmG,aAAA,CAAA,KAAA,EAAA;AAAKT,IAAAA,SAAS,EAAEG;AAAc,GAAA,eAC7B7F,gBAAA,CAAAmG,aAAA,CAAA,MAAA,EAAA,IAAA,EAAOnB,YAAmB,CAAC,EAC1B,CAAC1E,aAAa,CAACyD,QAAQ,iBACvB/D,gBAAA,CAAAmG,aAAA,CAACG,aAAM,EAAA;AACNC,IAAAA,GAAG,EAAEjG,aAAa,CAACK,IAAI,GAAG6F,uBAAe,GAAGC,yBAAkB;AAC9Df,IAAAA,SAAS,EAAEK,UAAW;AACtBpG,IAAAA,IAAI,EAAC;GACL,CAEE,CAAC,EACLW,aAAa,CAACK,IAAI,iBAClBX,gBAAA,CAAAmG,aAAA,CAACO,mBAAS,EAAA;AAACtB,IAAAA,EAAE,EAAC,mBAAmB;IAACuB,KAAK,EAAEC,qBAAa,CAACC;GAAO,eAC7D7G,gBAAA,CAAAmG,aAAA,CAAA,KAAA,EAAA;AACCE,IAAAA,GAAG,EAAEnG,SAAU;AACf4G,IAAAA,KAAK,EAAE;MACNC,IAAI,EAAEvG,MAAM,CAACuG,IAAI;AACjBC,MAAAA,QAAQ,EAAE,UAAU;AACpBC,MAAAA,GAAG,EAAEzG,MAAM,CAACyG,GAAG,GAAGzG,MAAM,CAAC0G,MAAM;AAC/BC,MAAAA,KAAK,EAAA,EAAA,CAAArB,MAAA,CAAKtF,MAAM,CAAC2G,KAAK,EAAA,IAAA;AACvB;GAAE,EAED9H,QACG,CACK,CAER,CAAC;AAER;;;;"}
|
|
1
|
+
{"version":3,"file":"MrlLegacySelect.js","sources":["../../../../../../src/components/form/legacy-select/MrlLegacySelect/MrlLegacySelect.tsx"],"sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport { chevronDownFilled, chevronUpFilled } from '@muraldevkit/ds-icons';\nimport { MrlPortal, MrlSvg } from '../../../';\nimport { SelectStates, selectDefaults, InputKinds, InputSizes } from '../../constants';\nimport { useSelect } from '../context/SelectContext';\nimport { getActionFromKey, actions, getUpdatedIndex } from '../../utils';\nimport { AttrsObject, setAttributes } from '../../../../utils';\nimport { useCoordinate } from '../../../../hooks';\nimport { PORTAL_LAYERS } from '../../../../utils/layers';\nimport { useClickOutside } from '../../../../hooks/useClickOutside';\n\nimport styles from './MrlLegacySelect.module.scss';\n\nexport interface MrlLegacySelectProptypes extends React.HTMLAttributes<HTMLDivElement> {\n\t/** Additional function to be run when the value of the select changes */\n\thookChange?: (newValue?: string) => void | undefined;\n\n\t/** State of the select element based on user actions or permissions */\n\tstate?: SelectStates;\n\n\t/**\n\t * By default, we will select the first item in the list.\n\t * To select a different option by default, pass that item’s value as the defaultValue to the mrlSelect element.\n\t */\n\tdefaultValue?: string;\n\n\t/**\n\t * Because this is a custom element, we can't use a standard \"for\" attribute setup. The label\n\t * element needs to have an id and then we reference via the select with aria\n\t */\n\tlabelId: string;\n\n\t/**\n\t * Changes the visual style of the select trigger; Use 'inline when your select is inline\n\t * with other content\n\t */\n\tkind?: InputKinds;\n\n\t/**\n\t * Changes the visual size of the select trigger; Currently only supported when kind=\"inline\"\n\t */\n\tsize?: InputSizes;\n\n\t/**\n\t * Applies additional HTML attributes to the `mrl-select` element after the\n\t * hydration process. It is recommended only to use when overwriting an attribute\n\t * assigned internally by the design system.\n\t * When using in a framework wrapper (e.g., React), treat it as an object and don't stringify.\n\t * Otherwise, the value object needs to be stringified to not receive `\"[Object object]\"`.\n\t * Example: `attrs='{ \"tabindex\": \"1\" }'`\n\t */\n\tattrs?: AttrsObject;\n\n\t/**\n\t * menu - list of options for the user to chose from; expects an `MrlLegacySelectMenu` component\n\t */\n\tchildren?: React.ReactNode;\n\n\t/**\n\t * optional id - we will generate a unique one if it isn't given.\n\t * ID will be decorated with `${id}-mrl-select` to not conflict with aria controls.\n\t */\n\tid?: string;\n\n\t/**\n\t * optional value - control which item is selected by passing an `MrlLegacySelectItem` value (overrides `defaultValue`)\n\t * Can be used in conjunction with `hookChange` to create a controlled component.\n\t */\n\tvalue?: string;\n}\n\n/**\n * Creates and exports component class for Mural Select\n *\n * @param {MrlLegacySelectProptypes} props the props for your MrlLink\n * @returns {React.ReactElement} an a element containing the text you pass\n */\nexport const MrlLegacySelect = ({\n\tattrs = {},\n\tchildren,\n\tkind = selectDefaults.kind,\n\tlabelId,\n\tsize = selectDefaults.size,\n\t...theRest\n}: MrlLegacySelectProptypes): React.ReactElement => {\n\tconst selectRef = React.useRef<HTMLDivElement>(null);\n\tconst portalRef = React.useRef<HTMLDivElement>(null);\n\tconst { dispatch, state: dispatchState } = useSelect();\n\tconst coords = useCoordinate<HTMLDivElement | null>(selectRef.current, false, dispatchState.open);\n\n\tconst handleOpen = React.useCallback(\n\t\t(e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n\t\t\te.stopPropagation();\n\n\t\t\tif (dispatchState.open) {\n\t\t\t\tdispatch({ payload: 'mouse', type: 'close' });\n\t\t\t} else {\n\t\t\t\tdispatch({ type: 'open' });\n\t\t\t}\n\t\t\ttheRest.onClick?.(e);\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[dispatchState.open]\n\t);\n\n\tconst handleKeyPress = React.useCallback(\n\t\t(event: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\t// trap tab when we are open\n\t\t\tif (dispatchState.open && event.key === 'Tab') {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst action = getActionFromKey(event, dispatchState.open);\n\t\t\tswitch (action) {\n\t\t\t\tcase actions.Last:\n\t\t\t\tcase actions.First:\n\t\t\t\t\tdispatch({ type: 'open' });\n\t\t\t\t\tbreak;\n\t\t\t\tcase actions.Type:\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tdispatch({ type: 'open' });\n\t\t\t\t\tbreak;\n\t\t\t\tcase actions.Open:\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tdispatch({ type: 'open' });\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\ttheRest.onKeyDown?.(event);\n\t\t},\n\t\t// only want to rereun this when our keydown changes or our state changes.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[dispatchState, theRest.onKeyDown]\n\t);\n\n\t/**\n\t * @TODO: move menu key handling to MrlLegacySelectMenu\n\t */\n\tconst handleGlobalKeyPress = React.useCallback(\n\t\t(event: KeyboardEvent) => {\n\t\t\tconst action = getActionFromKey(event as unknown as React.KeyboardEvent, dispatchState.open);\n\t\t\tconst items = portalRef?.current?.querySelectorAll('.mrl-selectItem') || [];\n\t\t\tconst lastItemIndex = items?.length - 1;\n\t\t\tconst firstItemIndex = 0;\n\t\t\tconst focusIndex = dispatchState.focusIndex || 0;\n\n\t\t\tswitch (action) {\n\t\t\t\tcase actions.PageDown:\n\t\t\t\tcase actions.Last:\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\tpayload: getUpdatedIndex(focusIndex, lastItemIndex, action),\n\t\t\t\t\t\ttype: 'focus'\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase actions.PageUp:\n\t\t\t\tcase actions.First:\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\tpayload: getUpdatedIndex(focusIndex, lastItemIndex, action),\n\t\t\t\t\t\ttype: 'focus'\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase actions.Previous:\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t// if not our first item then focus next.\n\t\t\t\t\tif (firstItemIndex !== focusIndex) {\n\t\t\t\t\t\tdispatch({\n\t\t\t\t\t\t\tpayload: focusIndex - 1,\n\t\t\t\t\t\t\ttype: 'focus'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase actions.Next:\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t// if not our last item then focus next.\n\t\t\t\t\tif (lastItemIndex !== focusIndex) {\n\t\t\t\t\t\tdispatch({\n\t\t\t\t\t\t\tpayload: focusIndex + 1,\n\t\t\t\t\t\t\ttype: 'focus'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase actions.CloseSelect:\n\t\t\t\tcase actions.Close:\n\t\t\t\t\tdispatch({ payload: 'keyboard', type: 'close' });\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t// only want to change when state changes or we have different children.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[dispatchState, children]\n\t);\n\n\t/**\n\t * Detects if the select element has moved and closes the menu if it has\n\t *\n\t * We are using requestAnimationFrame to check the position of the select element\n\t * and compare it to the last known position. If the position has changed, we close\n\t * the menu.\n\t */\n\tconst lastPosition = React.useRef<DOMRect | null>(null);\n\tconst animationFrameRef = React.useRef<number | null>(null);\n\n\tReact.useEffect(() => {\n\t\tconst checkPositionChange = () => {\n\t\t\tif (selectRef.current && dispatchState.open) {\n\t\t\t\tconst currentPosition = selectRef.current.getBoundingClientRect();\n\n\t\t\t\t// If the last position is different than the current position, we know that the\n\t\t\t\t// menu has scrolled and we should close it.\n\t\t\t\tif (lastPosition.current && lastPosition.current.y !== currentPosition.y) {\n\t\t\t\t\tlastPosition.current = null;\n\t\t\t\t\tdispatch({ payload: 'mouse', type: 'close' });\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlastPosition.current = currentPosition;\n\t\t\t}\n\t\t\tanimationFrameRef.current = requestAnimationFrame(checkPositionChange);\n\t\t};\n\n\t\tif (dispatchState.open) {\n\t\t\tanimationFrameRef.current = requestAnimationFrame(checkPositionChange);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (animationFrameRef.current) {\n\t\t\t\tcancelAnimationFrame(animationFrameRef.current);\n\t\t\t}\n\t\t};\n\t}, [dispatch, dispatchState.open]);\n\n\t/**\n\t * Sets focus to select element when it is closed\n\t */\n\tReact.useEffect(() => {\n\t\tif (!dispatchState.open && dispatchState.actionType === 'keyboard') {\n\t\t\tselectRef.current?.focus();\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [dispatchState.open]);\n\n\t/**\n\t * @TODO: move menu key handling to MrlLegacySelectMenu\n\t */\n\tReact.useEffect(() => {\n\t\tif (dispatchState.disabled || dispatchState.readOnly) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument?.addEventListener('keydown', handleGlobalKeyPress);\n\n\t\treturn () => {\n\t\t\tdocument?.removeEventListener('keydown', handleGlobalKeyPress);\n\t\t};\n\t}, [handleGlobalKeyPress, dispatchState.disabled, dispatchState.readOnly]);\n\n\t/**\n\t * This useEffect is responsible for setting the value if it passed in or changed\n\t * when the select is being used as a controlled component\n\t */\n\tReact.useEffect(() => {\n\t\tconst value = dispatchState.controlledValue;\n\n\t\tif (value && value !== dispatchState.selectedItem) {\n\t\t\tdispatch({ payload: value, type: 'select' });\n\n\t\t\tif (children) {\n\t\t\t\t// The first child is an instance of MrlLegacySelectMenu, so let's grab that\n\t\t\t\t// because we are looking to match the value against the children passed\n\t\t\t\t// into the MrlLegacySelectMenu component\n\t\t\t\tconst selectMenu = React.Children.toArray(children)[0];\n\n\t\t\t\tif (React.isValidElement(selectMenu)) {\n\t\t\t\t\t// Now let's grab the children of the array\n\t\t\t\t\tconst menuChildren = React.Children.toArray(selectMenu.props.children);\n\n\t\t\t\t\t// Once we have the children, we want to iterate over them to check to see if\n\t\t\t\t\t// the controlled value passed to the component matches any of the items in the menu\n\t\t\t\t\tconst matchedItem = menuChildren.find(\n\t\t\t\t\t\t(item) =>\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\t\tReact.isValidElement(item) && (item as any).props.value === value\n\t\t\t\t\t);\n\n\t\t\t\t\t// If we found a match, we want to set the selected text to the value of the item's children\n\t\t\t\t\tif (matchedItem && React.isValidElement(matchedItem)) {\n\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\t\t\t\tconst selectedText = (matchedItem as any).props.children;\n\t\t\t\t\t\tdispatch({ payload: selectedText, type: 'selectedText' });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [children, dispatchState.controlledValue, dispatchState.selectedItem]);\n\n\tconst attributes = setAttributes(attrs, {\n\t\t'aria-controls': dispatchState.id,\n\t\t'aria-disabled': dispatchState.disabled ? 'true' : 'false',\n\t\t'aria-expanded': dispatchState.open.toString(),\n\t\t'aria-haspopup': 'listbox',\n\t\t'aria-labelledby': labelId,\n\t\trole: 'combobox',\n\t\t...(!dispatchState.disabled && { tabIndex: '0' })\n\t});\n\n\tconst allClasses = classnames('mrl-select', attributes.className, theRest.className, {\n\t\t[styles['mrl-select']]: true,\n\t\t[styles['mrl-select--disabled']]: dispatchState.disabled,\n\t\t[styles['mrl-select--read-only']]: dispatchState.readOnly\n\t});\n\n\tconst selectClasses = classnames('mrl-select-trigger', {\n\t\t[styles['mrl-select-trigger']]: true,\n\t\t[styles['mrl-select-trigger--border']]: kind === 'default',\n\t\t[styles[`mrl-select-trigger--${kind}`]]: kind !== 'default',\n\t\t[styles[`mrl-select-trigger--${size}`]]: size !== 'default'\n\t});\n\n\tconst svgClasses = classnames({\n\t\t[styles['mrl-is--open']]: dispatchState.open,\n\t\t[styles['mrl-select-trigger-indicator']]: true\n\t});\n\n\tconst selectedText = React.useMemo(() => {\n\t\tif (dispatchState.selectedText) {\n\t\t\treturn dispatchState.selectedText;\n\t\t}\n\n\t\tif (children) {\n\t\t\treturn React.Children.toArray(children)[0];\n\t\t}\n\n\t\treturn 'loading...';\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [dispatchState.selectedText]);\n\n\tconst closeSelect = () => dispatch({ payload: 'mouse', type: 'close' });\n\tuseClickOutside(selectRef, portalRef, 'mousedown', closeSelect);\n\n\treturn (\n\t\t<div\n\t\t\t{...attributes}\n\t\t\t{...theRest}\n\t\t\t{...(!dispatchState.disabled && !dispatchState.readOnly && { onClick: handleOpen })}\n\t\t\t{...(!dispatchState.disabled && !dispatchState.readOnly && { onKeyDown: handleKeyPress })}\n\t\t\tdata-value={dispatchState.selectedItem}\n\t\t\tid={dispatchState.id}\n\t\t\tclassName={allClasses}\n\t\t\tref={selectRef}\n\t\t>\n\t\t\t<div className={selectClasses}>\n\t\t\t\t<span>{selectedText}</span>\n\t\t\t\t{!dispatchState.readOnly && (\n\t\t\t\t\t<MrlSvg\n\t\t\t\t\t\tsvg={dispatchState.open ? chevronUpFilled : chevronDownFilled}\n\t\t\t\t\t\tclassName={svgClasses}\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{dispatchState.open && (\n\t\t\t\t<MrlPortal id=\"mrl-select-portal\" layer={PORTAL_LAYERS.SELECT}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={portalRef}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tleft: coords.left,\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\ttop: coords.top + coords.height,\n\t\t\t\t\t\t\twidth: `${coords.width}px`\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</MrlPortal>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"names":["MrlLegacySelect","_ref","_ref$attrs","attrs","children","_ref$kind","kind","selectDefaults","labelId","_ref$size","size","theRest","_objectWithoutProperties","_excluded","selectRef","React","useRef","portalRef","_useSelect","useSelect","dispatch","dispatchState","state","coords","useCoordinate","current","open","handleOpen","useCallback","e","_theRest$onClick","stopPropagation","payload","type","onClick","call","handleKeyPress","event","_theRest$onKeyDown","key","preventDefault","action","getActionFromKey","actions","Last","First","Type","Open","onKeyDown","handleGlobalKeyPress","_portalRef$current","items","querySelectorAll","lastItemIndex","length","firstItemIndex","focusIndex","PageDown","getUpdatedIndex","PageUp","Previous","Next","CloseSelect","Close","lastPosition","animationFrameRef","useEffect","checkPositionChange","currentPosition","getBoundingClientRect","y","requestAnimationFrame","cancelAnimationFrame","actionType","_selectRef$current","focus","_document","disabled","readOnly","document","addEventListener","_document2","removeEventListener","value","controlledValue","selectedItem","selectMenu","Children","toArray","isValidElement","menuChildren","props","matchedItem","find","item","selectedText","attributes","setAttributes","_objectSpread","id","toString","role","tabIndex","allClasses","classnames","className","styles","selectClasses","concat","svgClasses","useMemo","closeSelect","useClickOutside","createElement","_extends","ref","MrlSvg","svg","chevronUpFilled","chevronDownFilled","MrlPortal","layer","PORTAL_LAYERS","SELECT","style","left","position","top","height","width"],"mappings":"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"}
|
|
@@ -9,7 +9,10 @@ var MrlLegacySelectItem_module = require('./MrlLegacySelectItem.module.scss.js')
|
|
|
9
9
|
var setAttributes = require('../../../../utils/setAttributes/setAttributes.js');
|
|
10
10
|
var MrlSvg = require('../../../svg/MrlSvg/MrlSvg.js');
|
|
11
11
|
|
|
12
|
-
function
|
|
12
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
|
|
14
|
+
function _interopNamespace(e) {
|
|
15
|
+
if (e && e.__esModule) return e;
|
|
13
16
|
var n = Object.create(null);
|
|
14
17
|
if (e) {
|
|
15
18
|
Object.keys(e).forEach(function (k) {
|
|
@@ -26,15 +29,16 @@ function _interopNamespaceDefault(e) {
|
|
|
26
29
|
return Object.freeze(n);
|
|
27
30
|
}
|
|
28
31
|
|
|
29
|
-
var React__namespace = /*#__PURE__*/
|
|
32
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
33
|
+
var classnames__default = /*#__PURE__*/_interopDefault(classnames);
|
|
30
34
|
|
|
31
35
|
var _excluded = ["attrs", "children", "index", "value", "isDisabled"];
|
|
32
|
-
var getChildText =
|
|
36
|
+
var getChildText = children => {
|
|
33
37
|
var textContent = '';
|
|
34
38
|
|
|
35
39
|
// Iterate through the children, in the event someone passes
|
|
36
40
|
// multiple HTML and or components into the select item
|
|
37
|
-
React__namespace.Children.forEach(children,
|
|
41
|
+
React__namespace.Children.forEach(children, child => {
|
|
38
42
|
// concatenate any text content we get if they are strings
|
|
39
43
|
if (typeof child === 'string') {
|
|
40
44
|
textContent += child;
|
|
@@ -57,7 +61,7 @@ var getChildText = function getChildText(children) {
|
|
|
57
61
|
* @param {MrlLegacySelectItemProptypes} props the props for your MrlLink
|
|
58
62
|
* @returns {React.ReactElement} an a element containing the text you pass
|
|
59
63
|
*/
|
|
60
|
-
var MrlLegacySelectItem =
|
|
64
|
+
var MrlLegacySelectItem = _ref => {
|
|
61
65
|
var _ref$attrs = _ref.attrs,
|
|
62
66
|
attrs = _ref$attrs === void 0 ? {} : _ref$attrs,
|
|
63
67
|
children = _ref.children,
|
|
@@ -71,7 +75,7 @@ var MrlLegacySelectItem = function MrlLegacySelectItem(_ref) {
|
|
|
71
75
|
dispatchState = _useSelect.state;
|
|
72
76
|
var disabled = dispatchState.disabled || isDisabled;
|
|
73
77
|
var childText = getChildText(children);
|
|
74
|
-
var setSelectedItem =
|
|
78
|
+
var setSelectedItem = () => {
|
|
75
79
|
dispatch({
|
|
76
80
|
payload: value,
|
|
77
81
|
type: 'select'
|
|
@@ -85,7 +89,7 @@ var MrlLegacySelectItem = function MrlLegacySelectItem(_ref) {
|
|
|
85
89
|
type: 'focus'
|
|
86
90
|
});
|
|
87
91
|
};
|
|
88
|
-
var handleClick =
|
|
92
|
+
var handleClick = e => {
|
|
89
93
|
var _theRest$onClick;
|
|
90
94
|
setSelectedItem();
|
|
91
95
|
dispatch({
|
|
@@ -94,7 +98,7 @@ var MrlLegacySelectItem = function MrlLegacySelectItem(_ref) {
|
|
|
94
98
|
});
|
|
95
99
|
(_theRest$onClick = theRest.onClick) === null || _theRest$onClick === void 0 ? void 0 : _theRest$onClick.call(theRest, e);
|
|
96
100
|
};
|
|
97
|
-
var handleEnter =
|
|
101
|
+
var handleEnter = event => {
|
|
98
102
|
var key = event.key;
|
|
99
103
|
|
|
100
104
|
// Selects the item on enter or spacebar and closes the select
|
|
@@ -114,7 +118,7 @@ var MrlLegacySelectItem = function MrlLegacySelectItem(_ref) {
|
|
|
114
118
|
/**
|
|
115
119
|
* Sets focus to select item if it's active when the select is opened
|
|
116
120
|
*/
|
|
117
|
-
React__namespace.useEffect(
|
|
121
|
+
React__namespace.useEffect(() => {
|
|
118
122
|
if (index === dispatchState.focusIndex) {
|
|
119
123
|
var _focusRef$current;
|
|
120
124
|
focusRef === null || focusRef === void 0 ? void 0 : (_focusRef$current = focusRef.current) === null || _focusRef$current === void 0 ? void 0 : _focusRef$current.focus();
|
|
@@ -124,7 +128,7 @@ var MrlLegacySelectItem = function MrlLegacySelectItem(_ref) {
|
|
|
124
128
|
/**
|
|
125
129
|
* Sets up default state of selectbox based on the value of the select item
|
|
126
130
|
*/
|
|
127
|
-
React__namespace.useEffect(
|
|
131
|
+
React__namespace.useEffect(() => {
|
|
128
132
|
var isSelectedValue = dispatchState.selectedItem === value;
|
|
129
133
|
var isDefaultValue = dispatchState.defaultValue === value && !dispatchState.selectedItem;
|
|
130
134
|
var isFirstItem = !dispatchState.defaultValue && !dispatchState.selectedItem && index === 0;
|
|
@@ -158,7 +162,12 @@ var MrlLegacySelectItem = function MrlLegacySelectItem(_ref) {
|
|
|
158
162
|
role: 'option',
|
|
159
163
|
tabIndex: '-1'
|
|
160
164
|
});
|
|
161
|
-
var allClasses =
|
|
165
|
+
var allClasses = classnames__default.default(attrs.className, theRest.className, 'mrl-selectItem', {
|
|
166
|
+
[MrlLegacySelectItem_module.default['mrl-is--selected']]: dispatchState.selectedItem === value,
|
|
167
|
+
[MrlLegacySelectItem_module.default['mrl-is--focused']]: dispatchState.focusIndex === index,
|
|
168
|
+
[MrlLegacySelectItem_module.default['mrl-is--hidden']]: !dispatchState.open,
|
|
169
|
+
[MrlLegacySelectItem_module.default['mrl-selectItem']]: true
|
|
170
|
+
});
|
|
162
171
|
return (
|
|
163
172
|
/*#__PURE__*/
|
|
164
173
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
@@ -175,7 +184,7 @@ var MrlLegacySelectItem = function MrlLegacySelectItem(_ref) {
|
|
|
175
184
|
size: "small",
|
|
176
185
|
attrs: {
|
|
177
186
|
'aria-hidden': 'true',
|
|
178
|
-
|
|
187
|
+
class: MrlLegacySelectItem_module.default['mrl-selectItem-selectedIcon']
|
|
179
188
|
}
|
|
180
189
|
}) : '')
|
|
181
190
|
);
|
package/dist/cjs/components/form/legacy-select/MrlLegacySelectItem/MrlLegacySelectItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MrlLegacySelectItem.js","sources":["../../../../../../src/components/form/legacy-select/MrlLegacySelectItem/MrlLegacySelectItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport { useSelect } from '../context/SelectContext';\nimport { AttrsObject, setAttributes } from '../../../../utils';\nimport { MrlSvg } from '../../../';\nimport { check } from '@muraldevkit/ds-icons';\n\nimport styles from './MrlLegacySelectItem.module.scss';\n\nexport interface MrlLegacySelectItemProptypes extends React.HTMLAttributes<HTMLDivElement> {\n\t/**\n\t * value of the select item that is stored as the selected value of the select input\n\t */\n\tvalue: string;\n\n\t/**\n\t * index of the select item starting at 0\n\t */\n\tindex?: number;\n\n\t/**\n\t * Applies additional HTML attributes to the `mrl-select-item` element after the\n\t * hydration process. It is recommended only to use when overwriting an attribute\n\t * assigned internally by the design system.\n\t * When using in a framework wrapper (e.g., React), treat it as an object and don't stringify.\n\t * Otherwise, the value object needs to be stringified to not receive `\"[Object object]\"`.\n\t * Example: `attrs='{ \"aria-disabled\": \"true\" }'`\n\t */\n\tattrs?: AttrsObject;\n\n\t/**\n\t * Set the item to disabled, this will prevent click and enter events.\n\t */\n\tisDisabled?: boolean;\n\n\t/**\n\t * content for the item\n\t */\n\tchildren: React.ReactNode;\n}\n\nconst getChildText = (children: React.ReactNode) => {\n\tlet textContent = '';\n\n\t// Iterate through the children, in the event someone passes\n\t// multiple HTML and or components into the select item\n\tReact.Children.forEach(children, (child) => {\n\t\t// concatenate any text content we get if they are strings\n\t\tif (typeof child === 'string') {\n\t\t\ttextContent += child;\n\t\t\treturn;\n\t\t}\n\n\t\t// but if the child is an HTML element, we need to handle it a bit differently\n\t\tif (React.isValidElement(child) && typeof child.props.children === 'string') {\n\t\t\ttextContent += child.props.children;\n\t\t}\n\t});\n\n\t// we also want to remove any whitespace from the beginning or end.\n\treturn textContent.trim();\n};\n\n/**\n * Renders a select component\n *\n * @param {MrlLegacySelectItemProptypes} props the props for your MrlLink\n * @returns {React.ReactElement} an a element containing the text you pass\n */\nexport const MrlLegacySelectItem = ({\n\tattrs = {},\n\tchildren,\n\tindex,\n\tvalue,\n\tisDisabled,\n\t...theRest\n}: MrlLegacySelectItemProptypes): React.ReactElement => {\n\tconst focusRef = React.useRef<HTMLDivElement>(null);\n\tconst { dispatch, state: dispatchState } = useSelect();\n\tconst disabled = dispatchState.disabled || isDisabled;\n\tconst childText = getChildText(children);\n\tconst setSelectedItem = () => {\n\t\tdispatch({ payload: value, type: 'select' });\n\t\tdispatch({ payload: children, type: 'selectedText' });\n\t\tdispatch({ payload: index as number, type: 'focus' });\n\t};\n\n\tconst handleClick = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n\t\tsetSelectedItem();\n\t\tdispatch({ payload: 'mouse', type: 'close' });\n\t\ttheRest.onClick?.(e);\n\t};\n\n\tconst handleEnter = (event: React.KeyboardEvent<HTMLDivElement>) => {\n\t\tconst { key } = event;\n\n\t\t// Selects the item on enter or spacebar and closes the select\n\t\tif (key === 'Enter' || key === ' ') {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\n\t\t\tsetSelectedItem();\n\t\t\tdispatch({ payload: 'keyboard', type: 'close' });\n\n\t\t\ttheRest.onKeyDown?.(event);\n\t\t}\n\t};\n\n\t/**\n\t * Sets focus to select item if it's active when the select is opened\n\t */\n\tReact.useEffect(() => {\n\t\tif (index === dispatchState.focusIndex) {\n\t\t\tfocusRef?.current?.focus();\n\t\t}\n\t}, [index, dispatchState, focusRef]);\n\n\t/**\n\t * Sets up default state of selectbox based on the value of the select item\n\t */\n\tReact.useEffect(() => {\n\t\tconst isSelectedValue = dispatchState.selectedItem === value;\n\t\tconst isDefaultValue = dispatchState.defaultValue === value && !dispatchState.selectedItem;\n\t\tconst isFirstItem = !dispatchState.defaultValue && !dispatchState.selectedItem && index === 0;\n\n\t\tif (isSelectedValue || isDefaultValue || isFirstItem) {\n\t\t\tdispatch({ payload: value, type: 'select' });\n\t\t\tdispatch({ payload: children, type: 'selectedText' });\n\n\t\t\t// sets focus to defaultValue when select is opened\n\t\t\tif (index) dispatch({ payload: index, type: 'focus' });\n\t\t}\n\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [dispatchState.defaultValue, dispatchState.selectedText, index]);\n\n\tconst attributes = setAttributes(attrs, {\n\t\t// Note, the ID of this component if not set by the developer, is\n\t\t// programmatically applied by the mrl-select component\n\t\t'aria-disabled': disabled,\n\t\t'aria-label': childText,\n\t\t'aria-selected': dispatchState.selectedItem === value,\n\t\t'auto-focus': 'true',\n\t\t'data-value': value,\n\t\trole: 'option',\n\t\ttabIndex: '-1'\n\t});\n\n\tconst allClasses = classnames(attrs.className, theRest.className, 'mrl-selectItem', {\n\t\t[styles['mrl-is--selected']]: dispatchState.selectedItem === value,\n\t\t[styles['mrl-is--focused']]: dispatchState.focusIndex === index,\n\t\t[styles['mrl-is--hidden']]: !dispatchState.open,\n\t\t[styles['mrl-selectItem']]: true\n\t});\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\t{...attributes}\n\t\t\t{...theRest}\n\t\t\tref={focusRef}\n\t\t\tclassName={allClasses}\n\t\t\t{...(!disabled && { onClick: handleClick })}\n\t\t\t{...(!disabled && { onKeyDown: handleEnter })}\n\t\t>\n\t\t\t{children}\n\t\t\t{dispatchState.selectedItem === value ? (\n\t\t\t\t<MrlSvg\n\t\t\t\t\tsvg={check}\n\t\t\t\t\tclassName={styles['mrl-selectItem-selectedIcon']}\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tattrs={{\n\t\t\t\t\t\t'aria-hidden': 'true',\n\t\t\t\t\t\tclass: styles['mrl-selectItem-selectedIcon']\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t''\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"names":["getChildText","children","textContent","React","Children","forEach","child","isValidElement","props","trim","MrlLegacySelectItem","_ref","_ref$attrs","attrs","index","value","isDisabled","theRest","_objectWithoutProperties","_excluded","focusRef","useRef","_useSelect","useSelect","dispatch","dispatchState","state","disabled","childText","setSelectedItem","payload","type","handleClick","e","_theRest$onClick","onClick","call","handleEnter","event","key","_theRest$onKeyDown","stopPropagation","preventDefault","onKeyDown","useEffect","focusIndex","_focusRef$current","current","focus","isSelectedValue","selectedItem","isDefaultValue","defaultValue","isFirstItem","selectedText","attributes","setAttributes","role","tabIndex","allClasses","classnames","className","_defineProperty","styles","open","createElement","_extends","ref","MrlSvg","svg","check","size"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MrlLegacySelectItem.js","sources":["../../../../../../src/components/form/legacy-select/MrlLegacySelectItem/MrlLegacySelectItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport { useSelect } from '../context/SelectContext';\nimport { AttrsObject, setAttributes } from '../../../../utils';\nimport { MrlSvg } from '../../../';\nimport { check } from '@muraldevkit/ds-icons';\n\nimport styles from './MrlLegacySelectItem.module.scss';\n\nexport interface MrlLegacySelectItemProptypes extends React.HTMLAttributes<HTMLDivElement> {\n\t/**\n\t * value of the select item that is stored as the selected value of the select input\n\t */\n\tvalue: string;\n\n\t/**\n\t * index of the select item starting at 0\n\t */\n\tindex?: number;\n\n\t/**\n\t * Applies additional HTML attributes to the `mrl-select-item` element after the\n\t * hydration process. It is recommended only to use when overwriting an attribute\n\t * assigned internally by the design system.\n\t * When using in a framework wrapper (e.g., React), treat it as an object and don't stringify.\n\t * Otherwise, the value object needs to be stringified to not receive `\"[Object object]\"`.\n\t * Example: `attrs='{ \"aria-disabled\": \"true\" }'`\n\t */\n\tattrs?: AttrsObject;\n\n\t/**\n\t * Set the item to disabled, this will prevent click and enter events.\n\t */\n\tisDisabled?: boolean;\n\n\t/**\n\t * content for the item\n\t */\n\tchildren: React.ReactNode;\n}\n\nconst getChildText = (children: React.ReactNode) => {\n\tlet textContent = '';\n\n\t// Iterate through the children, in the event someone passes\n\t// multiple HTML and or components into the select item\n\tReact.Children.forEach(children, (child) => {\n\t\t// concatenate any text content we get if they are strings\n\t\tif (typeof child === 'string') {\n\t\t\ttextContent += child;\n\t\t\treturn;\n\t\t}\n\n\t\t// but if the child is an HTML element, we need to handle it a bit differently\n\t\tif (React.isValidElement(child) && typeof child.props.children === 'string') {\n\t\t\ttextContent += child.props.children;\n\t\t}\n\t});\n\n\t// we also want to remove any whitespace from the beginning or end.\n\treturn textContent.trim();\n};\n\n/**\n * Renders a select component\n *\n * @param {MrlLegacySelectItemProptypes} props the props for your MrlLink\n * @returns {React.ReactElement} an a element containing the text you pass\n */\nexport const MrlLegacySelectItem = ({\n\tattrs = {},\n\tchildren,\n\tindex,\n\tvalue,\n\tisDisabled,\n\t...theRest\n}: MrlLegacySelectItemProptypes): React.ReactElement => {\n\tconst focusRef = React.useRef<HTMLDivElement>(null);\n\tconst { dispatch, state: dispatchState } = useSelect();\n\tconst disabled = dispatchState.disabled || isDisabled;\n\tconst childText = getChildText(children);\n\tconst setSelectedItem = () => {\n\t\tdispatch({ payload: value, type: 'select' });\n\t\tdispatch({ payload: children, type: 'selectedText' });\n\t\tdispatch({ payload: index as number, type: 'focus' });\n\t};\n\n\tconst handleClick = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n\t\tsetSelectedItem();\n\t\tdispatch({ payload: 'mouse', type: 'close' });\n\t\ttheRest.onClick?.(e);\n\t};\n\n\tconst handleEnter = (event: React.KeyboardEvent<HTMLDivElement>) => {\n\t\tconst { key } = event;\n\n\t\t// Selects the item on enter or spacebar and closes the select\n\t\tif (key === 'Enter' || key === ' ') {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\n\t\t\tsetSelectedItem();\n\t\t\tdispatch({ payload: 'keyboard', type: 'close' });\n\n\t\t\ttheRest.onKeyDown?.(event);\n\t\t}\n\t};\n\n\t/**\n\t * Sets focus to select item if it's active when the select is opened\n\t */\n\tReact.useEffect(() => {\n\t\tif (index === dispatchState.focusIndex) {\n\t\t\tfocusRef?.current?.focus();\n\t\t}\n\t}, [index, dispatchState, focusRef]);\n\n\t/**\n\t * Sets up default state of selectbox based on the value of the select item\n\t */\n\tReact.useEffect(() => {\n\t\tconst isSelectedValue = dispatchState.selectedItem === value;\n\t\tconst isDefaultValue = dispatchState.defaultValue === value && !dispatchState.selectedItem;\n\t\tconst isFirstItem = !dispatchState.defaultValue && !dispatchState.selectedItem && index === 0;\n\n\t\tif (isSelectedValue || isDefaultValue || isFirstItem) {\n\t\t\tdispatch({ payload: value, type: 'select' });\n\t\t\tdispatch({ payload: children, type: 'selectedText' });\n\n\t\t\t// sets focus to defaultValue when select is opened\n\t\t\tif (index) dispatch({ payload: index, type: 'focus' });\n\t\t}\n\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [dispatchState.defaultValue, dispatchState.selectedText, index]);\n\n\tconst attributes = setAttributes(attrs, {\n\t\t// Note, the ID of this component if not set by the developer, is\n\t\t// programmatically applied by the mrl-select component\n\t\t'aria-disabled': disabled,\n\t\t'aria-label': childText,\n\t\t'aria-selected': dispatchState.selectedItem === value,\n\t\t'auto-focus': 'true',\n\t\t'data-value': value,\n\t\trole: 'option',\n\t\ttabIndex: '-1'\n\t});\n\n\tconst allClasses = classnames(attrs.className, theRest.className, 'mrl-selectItem', {\n\t\t[styles['mrl-is--selected']]: dispatchState.selectedItem === value,\n\t\t[styles['mrl-is--focused']]: dispatchState.focusIndex === index,\n\t\t[styles['mrl-is--hidden']]: !dispatchState.open,\n\t\t[styles['mrl-selectItem']]: true\n\t});\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\t{...attributes}\n\t\t\t{...theRest}\n\t\t\tref={focusRef}\n\t\t\tclassName={allClasses}\n\t\t\t{...(!disabled && { onClick: handleClick })}\n\t\t\t{...(!disabled && { onKeyDown: handleEnter })}\n\t\t>\n\t\t\t{children}\n\t\t\t{dispatchState.selectedItem === value ? (\n\t\t\t\t<MrlSvg\n\t\t\t\t\tsvg={check}\n\t\t\t\t\tclassName={styles['mrl-selectItem-selectedIcon']}\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tattrs={{\n\t\t\t\t\t\t'aria-hidden': 'true',\n\t\t\t\t\t\tclass: styles['mrl-selectItem-selectedIcon']\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t''\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"names":["getChildText","children","textContent","React","Children","forEach","child","isValidElement","props","trim","MrlLegacySelectItem","_ref","_ref$attrs","attrs","index","value","isDisabled","theRest","_objectWithoutProperties","_excluded","focusRef","useRef","_useSelect","useSelect","dispatch","dispatchState","state","disabled","childText","setSelectedItem","payload","type","handleClick","e","_theRest$onClick","onClick","call","handleEnter","event","key","_theRest$onKeyDown","stopPropagation","preventDefault","onKeyDown","useEffect","focusIndex","_focusRef$current","current","focus","isSelectedValue","selectedItem","isDefaultValue","defaultValue","isFirstItem","selectedText","attributes","setAttributes","role","tabIndex","allClasses","classnames","className","styles","open","createElement","_extends","ref","MrlSvg","svg","check","size","class"],"mappings":"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"}
|