@vibe/core 4.0.0 → 4.0.1-alpha-649fd.0
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/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.d.ts +4 -0
- package/dist/hooks/useEventListener/index.d.ts +2 -8
- package/dist/hooks/useKeyEvent/index.d.ts +2 -56
- package/dist/mocked_classnames/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.d.ts +4 -0
- package/dist/mocked_classnames/hooks/useEventListener/index.d.ts +2 -8
- package/dist/mocked_classnames/hooks/useKeyEvent/index.d.ts +2 -56
- package/dist/mocked_classnames/src/components/Accordion/Accordion/Accordion.js +1 -1
- package/dist/mocked_classnames/src/components/Accordion/Accordion/Accordion.js.map +1 -1
- package/dist/mocked_classnames/src/components/Accordion/AccordionItem/AccordionItem.js +1 -1
- package/dist/mocked_classnames/src/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/dist/mocked_classnames/src/components/AlertBanner/AlertBanner.js +1 -1
- package/dist/mocked_classnames/src/components/AlertBanner/AlertBanner.js.map +1 -1
- package/dist/mocked_classnames/src/components/Avatar/Avatar.js +1 -1
- package/dist/mocked_classnames/src/components/Avatar/Avatar.js.map +1 -1
- package/dist/mocked_classnames/src/components/Avatar/AvatarBadge.js +1 -1
- package/dist/mocked_classnames/src/components/Avatar/AvatarBadge.js.map +1 -1
- package/dist/mocked_classnames/src/components/Avatar/AvatarContent.js +1 -1
- package/dist/mocked_classnames/src/components/Avatar/AvatarContent.js.map +1 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounter.js +1 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounter.js.map +1 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js +1 -1
- package/dist/mocked_classnames/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js.map +1 -1
- package/dist/mocked_classnames/src/components/Badge/Badge.js +1 -1
- package/dist/mocked_classnames/src/components/Badge/Badge.js.map +1 -1
- package/dist/mocked_classnames/src/components/BaseItem/BaseItem.js +1 -1
- package/dist/mocked_classnames/src/components/BaseItem/BaseItem.js.map +1 -1
- package/dist/mocked_classnames/src/components/BaseList/BaseList.js +1 -1
- package/dist/mocked_classnames/src/components/BaseList/BaseList.js.map +1 -1
- package/dist/mocked_classnames/src/components/BaseList/context/BaseListContext.js +1 -1
- package/dist/mocked_classnames/src/components/BaseList/context/BaseListContext.js.map +1 -1
- package/dist/mocked_classnames/src/components/BaseList/hooks/useBaseListKeyboard.js +1 -1
- package/dist/mocked_classnames/src/components/BaseList/hooks/useBaseListKeyboard.js.map +1 -1
- package/dist/mocked_classnames/src/components/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/mocked_classnames/src/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/mocked_classnames/src/components/Checkbox/Checkbox.js +1 -1
- package/dist/mocked_classnames/src/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/mocked_classnames/src/components/Checkbox/hooks/useSupportFirefoxLabelClick.js +1 -1
- package/dist/mocked_classnames/src/components/Checkbox/hooks/useSupportFirefoxLabelClick.js.map +1 -1
- package/dist/mocked_classnames/src/components/Chips/Chips.js +1 -1
- package/dist/mocked_classnames/src/components/Chips/Chips.js.map +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/ColorPicker.js +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js.map +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js.map +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js +1 -1
- package/dist/mocked_classnames/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js.map +1 -1
- package/dist/mocked_classnames/src/components/Combobox/Combobox.js +1 -1
- package/dist/mocked_classnames/src/components/Combobox/Combobox.js.map +1 -1
- package/dist/mocked_classnames/src/components/Counter/Counter.js +1 -1
- package/dist/mocked_classnames/src/components/Counter/Counter.js.map +1 -1
- package/dist/mocked_classnames/src/components/Divider/Divider.js +1 -1
- package/dist/mocked_classnames/src/components/Divider/Divider.js.map +1 -1
- package/dist/mocked_classnames/src/components/Dropdown/Dropdown.js +1 -1
- package/dist/mocked_classnames/src/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/mocked_classnames/src/components/Dropdown/components/Trigger/MultiSelectTrigger.js +1 -1
- package/dist/mocked_classnames/src/components/Dropdown/components/Trigger/MultiSelectTrigger.js.map +1 -1
- package/dist/mocked_classnames/src/components/Dropdown/components/Trigger/SingleSelectTrigger.js +1 -1
- package/dist/mocked_classnames/src/components/Dropdown/components/Trigger/SingleSelectTrigger.js.map +1 -1
- package/dist/mocked_classnames/src/components/EditableHeading/EditableHeading.js +1 -1
- package/dist/mocked_classnames/src/components/EditableHeading/EditableHeading.js.map +1 -1
- package/dist/mocked_classnames/src/components/EditableText/EditableText.js +1 -1
- package/dist/mocked_classnames/src/components/EditableText/EditableText.js.map +1 -1
- package/dist/mocked_classnames/src/components/EditableTypography/EditableTypography.js +1 -1
- package/dist/mocked_classnames/src/components/EditableTypography/EditableTypography.js.map +1 -1
- package/dist/mocked_classnames/src/components/EmptyState/EmptyState.js +1 -1
- package/dist/mocked_classnames/src/components/EmptyState/EmptyState.js.map +1 -1
- package/dist/mocked_classnames/src/components/ExpandCollapse/ExpandCollapse.js +1 -1
- package/dist/mocked_classnames/src/components/ExpandCollapse/ExpandCollapse.js.map +1 -1
- package/dist/mocked_classnames/src/components/GridKeyboardNavigationContext/GridKeyboardNavigationContext.js +1 -1
- package/dist/mocked_classnames/src/components/GridKeyboardNavigationContext/GridKeyboardNavigationContext.js.map +1 -1
- package/dist/mocked_classnames/src/components/HiddenText/HiddenText.js +1 -1
- package/dist/mocked_classnames/src/components/HiddenText/HiddenText.js.map +1 -1
- package/dist/mocked_classnames/src/components/Info/Info.js +1 -1
- package/dist/mocked_classnames/src/components/Info/Info.js.map +1 -1
- package/dist/mocked_classnames/src/components/Label/Label.js +1 -1
- package/dist/mocked_classnames/src/components/Label/Label.js.map +1 -1
- package/dist/mocked_classnames/src/components/Link/Link.js +1 -1
- package/dist/mocked_classnames/src/components/Link/Link.js.map +1 -1
- package/dist/mocked_classnames/src/components/List/List.js +1 -1
- package/dist/mocked_classnames/src/components/List/List.js.map +1 -1
- package/dist/mocked_classnames/src/components/List/utils/ListContext.js +1 -1
- package/dist/mocked_classnames/src/components/List/utils/ListContext.js.map +1 -1
- package/dist/mocked_classnames/src/components/List/utils/ListUtils.js +1 -1
- package/dist/mocked_classnames/src/components/List/utils/ListUtils.js.map +1 -1
- package/dist/mocked_classnames/src/components/ListItem/ListItem.js +1 -1
- package/dist/mocked_classnames/src/components/ListItem/ListItem.js.map +1 -1
- package/dist/mocked_classnames/src/components/ListItemAvatar/ListItemAvatar.js +1 -1
- package/dist/mocked_classnames/src/components/ListItemAvatar/ListItemAvatar.js.map +1 -1
- package/dist/mocked_classnames/src/components/ListItemIcon/ListItemIcon.js +1 -1
- package/dist/mocked_classnames/src/components/ListItemIcon/ListItemIcon.js.map +1 -1
- package/dist/mocked_classnames/src/components/ListTitle/ListTitle.js +1 -1
- package/dist/mocked_classnames/src/components/ListTitle/ListTitle.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/Menu/Menu.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/Menu/Menu.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useCloseMenuOnKeyEvent.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useCloseMenuOnKeyEvent.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useLastNavigationDirection.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useLastNavigationDirection.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useMenuId.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useMenuId.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useMenuKeyboardNavigation.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useMenuKeyboardNavigation.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useMouseLeave.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/Menu/hooks/useMouseLeave.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuGridItem/MenuGridItem.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuGridItem/MenuGridItem.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuItem/hooks/useMenuItemKeyboardEvents.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuItem/hooks/useMenuItemKeyboardEvents.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuItem/hooks/useMenuItemMouseEvents.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuItem/hooks/useMenuItemMouseEvents.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuItemButton/MenuItemButton.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuItemButton/MenuItemButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuTitle/MenuTitle.js +1 -1
- package/dist/mocked_classnames/src/components/Menu/MenuTitle/MenuTitle.js.map +1 -1
- package/dist/mocked_classnames/src/components/MenuButton/MenuButton.js +1 -1
- package/dist/mocked_classnames/src/components/MenuButton/MenuButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Modal/Modal/Modal.js +1 -1
- package/dist/mocked_classnames/src/components/Modal/Modal/Modal.js.map +1 -1
- package/dist/mocked_classnames/src/components/MultiStepIndicator/MultiStepIndicator.js +1 -1
- package/dist/mocked_classnames/src/components/MultiStepIndicator/MultiStepIndicator.js.map +1 -1
- package/dist/mocked_classnames/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js +1 -1
- package/dist/mocked_classnames/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js.map +1 -1
- package/dist/mocked_classnames/src/components/NumberField/NumberField.js +1 -1
- package/dist/mocked_classnames/src/components/NumberField/NumberField.js.map +1 -1
- package/dist/mocked_classnames/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.js +1 -1
- package/dist/mocked_classnames/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/ProgressBars/ProgressBar/Bar/Bar.js +1 -1
- package/dist/mocked_classnames/src/components/ProgressBars/ProgressBar/Bar/Bar.js.map +1 -1
- package/dist/mocked_classnames/src/components/ProgressBars/ProgressBar/ProgressBar.js +1 -1
- package/dist/mocked_classnames/src/components/ProgressBars/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/mocked_classnames/src/components/RadioButton/RadioButton.js +1 -1
- package/dist/mocked_classnames/src/components/RadioButton/RadioButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Search/Search.js +1 -1
- package/dist/mocked_classnames/src/components/Search/Search.js.map +1 -1
- package/dist/mocked_classnames/src/components/Skeleton/Skeleton.js +1 -1
- package/dist/mocked_classnames/src/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/Slider.js +1 -1
- package/dist/mocked_classnames/src/components/Slider/Slider.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderBase.js +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderBase.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderFilledTrack.js +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderFilledTrack.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderRail.js +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderRail.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderThumb.js +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderThumb.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderTrack.js +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderBase/SliderTrack.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderContext.js +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderContext.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderHooks.js +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderHooks.js.map +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderInfix.js +1 -1
- package/dist/mocked_classnames/src/components/Slider/SliderInfix.js.map +1 -1
- package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js +1 -1
- package/dist/mocked_classnames/src/components/SplitButton/SplitButton.js.map +1 -1
- package/dist/mocked_classnames/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js +1 -1
- package/dist/mocked_classnames/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js.map +1 -1
- package/dist/mocked_classnames/src/components/Steps/Steps.js +1 -1
- package/dist/mocked_classnames/src/components/Steps/Steps.js.map +1 -1
- package/dist/mocked_classnames/src/components/Steps/StepsCommand.js +1 -1
- package/dist/mocked_classnames/src/components/Steps/StepsCommand.js.map +1 -1
- package/dist/mocked_classnames/src/components/Steps/StepsDot.js +1 -1
- package/dist/mocked_classnames/src/components/Steps/StepsDot.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/Table/Table.js +1 -1
- package/dist/mocked_classnames/src/components/Table/Table/Table.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/TableCellSkeleton/TableCellSkeleton.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableCellSkeleton/TableCellSkeleton.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/TableHeader/TableHeader.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/TableHeaderCell/TableHeaderCell.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableHeaderCell/TableHeaderCell.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/TableRow/TableRow.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableRow/TableRow.js.map +1 -1
- package/dist/mocked_classnames/src/components/Table/TableRowMenu/TableRowMenu.js +1 -1
- package/dist/mocked_classnames/src/components/Table/TableRowMenu/TableRowMenu.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tabs/Tab/Tab.js +1 -1
- package/dist/mocked_classnames/src/components/Tabs/Tab/Tab.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tabs/TabList/TabList.js +1 -1
- package/dist/mocked_classnames/src/components/Tabs/TabList/TabList.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tabs/TabPanel/TabPanel.js +1 -1
- package/dist/mocked_classnames/src/components/Tabs/TabPanel/TabPanel.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tabs/TabPanels/TabPanels.js +1 -1
- package/dist/mocked_classnames/src/components/Tabs/TabPanels/TabPanels.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tabs/TabsContext/TabsContext.js +1 -1
- package/dist/mocked_classnames/src/components/Tabs/TabsContext/TabsContext.js.map +1 -1
- package/dist/mocked_classnames/src/components/TextField/TextField.js +1 -1
- package/dist/mocked_classnames/src/components/TextField/TextField.js.map +1 -1
- package/dist/mocked_classnames/src/components/TextWithHighlight/TextWithHighlight.js +1 -1
- package/dist/mocked_classnames/src/components/TextWithHighlight/TextWithHighlight.js.map +1 -1
- package/dist/mocked_classnames/src/components/ThemeProvider/ThemeProvider.js +1 -1
- package/dist/mocked_classnames/src/components/ThemeProvider/ThemeProvider.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tipseen/Tipseen.js +1 -1
- package/dist/mocked_classnames/src/components/Tipseen/Tipseen.js.map +1 -1
- package/dist/mocked_classnames/src/components/Tipseen/TipseenMedia/TipseenMedia.js +1 -1
- package/dist/mocked_classnames/src/components/Tipseen/TipseenMedia/TipseenMedia.js.map +1 -1
- package/dist/mocked_classnames/src/components/Toast/Toast.js +1 -1
- package/dist/mocked_classnames/src/components/Toast/Toast.js.map +1 -1
- package/dist/mocked_classnames/src/components/Toggle/MockToggle.js +1 -1
- package/dist/mocked_classnames/src/components/Toggle/MockToggle.js.map +1 -1
- package/dist/mocked_classnames/src/components/VirtualizedGrid/VirtualizedGrid.js +1 -1
- package/dist/mocked_classnames/src/components/VirtualizedGrid/VirtualizedGrid.js.map +1 -1
- package/dist/mocked_classnames/src/components/VirtualizedList/VirtualizedList.js +1 -1
- package/dist/mocked_classnames/src/components/VirtualizedList/VirtualizedList.js.map +1 -1
- package/dist/mocked_classnames/src/helpers/textManipulations.js +1 -1
- package/dist/mocked_classnames/src/helpers/textManipulations.js.map +1 -1
- package/dist/mocked_classnames/src/hooks/useActiveDescendantListFocus/useActiveDescendantListFocusHooks.js +1 -1
- package/dist/mocked_classnames/src/hooks/useActiveDescendantListFocus/useActiveDescendantListFocusHooks.js.map +1 -1
- package/dist/mocked_classnames/src/hooks/useFullKeyboardListeners.js +1 -1
- package/dist/mocked_classnames/src/hooks/useFullKeyboardListeners.js.map +1 -1
- package/dist/mocked_classnames/src/hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.js +1 -1
- package/dist/mocked_classnames/src/hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.js.map +1 -1
- package/dist/mocked_classnames/src/hooks/useIsMouseEnter.js +1 -1
- package/dist/mocked_classnames/src/hooks/useIsMouseEnter.js.map +1 -1
- package/dist/mocked_classnames/src/hooks/useIsMouseOver.js +1 -1
- package/dist/mocked_classnames/src/hooks/useIsMouseOver.js.map +1 -1
- package/dist/mocked_classnames/src/hooks/useItemsOverflow/useItemsOverflow.js +1 -1
- package/dist/mocked_classnames/src/hooks/useItemsOverflow/useItemsOverflow.js.map +1 -1
- package/dist/mocked_classnames/src/hooks/useListenFocusTriggers/index.js +1 -1
- package/dist/mocked_classnames/src/hooks/useListenFocusTriggers/index.js.map +1 -1
- package/dist/mocked_classnames/src/hooks/useMediaQuery/index.js +1 -1
- package/dist/mocked_classnames/src/hooks/useMediaQuery/index.js.map +1 -1
- package/dist/mocked_classnames/src/hooks/usePrevious/index.js +1 -1
- package/dist/mocked_classnames/src/hooks/usePrevious/index.js.map +1 -1
- package/dist/mocked_classnames/src/hooks/useSetFocus/index.js +1 -1
- package/dist/mocked_classnames/src/hooks/useSetFocus/index.js.map +1 -1
- package/dist/mocked_classnames/src/hooks/useVibeMediaQuery/index.js +1 -1
- package/dist/mocked_classnames/src/hooks/useVibeMediaQuery/index.js.map +1 -1
- package/dist/mocked_classnames/src/index.js +1 -1
- package/dist/shared/dist/utils/dom-event-utils.js.map +1 -0
- package/dist/shared/dist/utils/media-query-utils.js +2 -0
- package/dist/shared/dist/utils/media-query-utils.js.map +1 -0
- package/dist/shared/dist/utils/testid-helper.js.map +1 -0
- package/dist/shared/dist/utils/user-agent-utils.js.map +1 -0
- package/dist/shared/dist/utils/warn-deprecated.js.map +1 -0
- package/dist/src/components/Accordion/Accordion/Accordion.js +1 -1
- package/dist/src/components/Accordion/Accordion/Accordion.js.map +1 -1
- package/dist/src/components/Accordion/AccordionItem/AccordionItem.js +1 -1
- package/dist/src/components/Accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/dist/src/components/AlertBanner/AlertBanner.js +1 -1
- package/dist/src/components/AlertBanner/AlertBanner.js.map +1 -1
- package/dist/src/components/Avatar/Avatar.js +1 -1
- package/dist/src/components/Avatar/Avatar.js.map +1 -1
- package/dist/src/components/Avatar/AvatarBadge.js +1 -1
- package/dist/src/components/Avatar/AvatarBadge.js.map +1 -1
- package/dist/src/components/Avatar/AvatarContent.js +1 -1
- package/dist/src/components/Avatar/AvatarContent.js.map +1 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounter.js +1 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounter.js.map +1 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js +1 -1
- package/dist/src/components/AvatarGroup/AvatarGroupCounterTooltipHelper.js.map +1 -1
- package/dist/src/components/Badge/Badge.js +1 -1
- package/dist/src/components/Badge/Badge.js.map +1 -1
- package/dist/src/components/BaseItem/BaseItem.js +1 -1
- package/dist/src/components/BaseItem/BaseItem.js.map +1 -1
- package/dist/src/components/BaseList/BaseList.js +1 -1
- package/dist/src/components/BaseList/BaseList.js.map +1 -1
- package/dist/src/components/BaseList/context/BaseListContext.js +1 -1
- package/dist/src/components/BaseList/context/BaseListContext.js.map +1 -1
- package/dist/src/components/BaseList/hooks/useBaseListKeyboard.js +1 -1
- package/dist/src/components/BaseList/hooks/useBaseListKeyboard.js.map +1 -1
- package/dist/src/components/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/src/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/src/components/Checkbox/Checkbox.js +1 -1
- package/dist/src/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/src/components/Checkbox/hooks/useSupportFirefoxLabelClick.js +1 -1
- package/dist/src/components/Checkbox/hooks/useSupportFirefoxLabelClick.js.map +1 -1
- package/dist/src/components/Chips/Chips.js +1 -1
- package/dist/src/components/Chips/Chips.js.map +1 -1
- package/dist/src/components/ColorPicker/ColorPicker.js +1 -1
- package/dist/src/components/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js +1 -1
- package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerClearButton.js.map +1 -1
- package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js +1 -1
- package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerColorsGrid.js.map +1 -1
- package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js +1 -1
- package/dist/src/components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js.map +1 -1
- package/dist/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js +1 -1
- package/dist/src/components/ColorPicker/components/ColorPickerItemComponent/ColorPickerItemComponent.js.map +1 -1
- package/dist/src/components/Combobox/Combobox.js +1 -1
- package/dist/src/components/Combobox/Combobox.js.map +1 -1
- package/dist/src/components/Counter/Counter.js +1 -1
- package/dist/src/components/Counter/Counter.js.map +1 -1
- package/dist/src/components/Divider/Divider.js +1 -1
- package/dist/src/components/Divider/Divider.js.map +1 -1
- package/dist/src/components/Dropdown/Dropdown.js +1 -1
- package/dist/src/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/src/components/Dropdown/components/Trigger/MultiSelectTrigger.js +1 -1
- package/dist/src/components/Dropdown/components/Trigger/MultiSelectTrigger.js.map +1 -1
- package/dist/src/components/Dropdown/components/Trigger/SingleSelectTrigger.js +1 -1
- package/dist/src/components/Dropdown/components/Trigger/SingleSelectTrigger.js.map +1 -1
- package/dist/src/components/EditableHeading/EditableHeading.js +1 -1
- package/dist/src/components/EditableHeading/EditableHeading.js.map +1 -1
- package/dist/src/components/EditableText/EditableText.js +1 -1
- package/dist/src/components/EditableText/EditableText.js.map +1 -1
- package/dist/src/components/EditableTypography/EditableTypography.js +1 -1
- package/dist/src/components/EditableTypography/EditableTypography.js.map +1 -1
- package/dist/src/components/EmptyState/EmptyState.js +1 -1
- package/dist/src/components/EmptyState/EmptyState.js.map +1 -1
- package/dist/src/components/ExpandCollapse/ExpandCollapse.js +1 -1
- package/dist/src/components/ExpandCollapse/ExpandCollapse.js.map +1 -1
- package/dist/src/components/GridKeyboardNavigationContext/GridKeyboardNavigationContext.js +1 -1
- package/dist/src/components/GridKeyboardNavigationContext/GridKeyboardNavigationContext.js.map +1 -1
- package/dist/src/components/HiddenText/HiddenText.js +1 -1
- package/dist/src/components/HiddenText/HiddenText.js.map +1 -1
- package/dist/src/components/Info/Info.js +1 -1
- package/dist/src/components/Info/Info.js.map +1 -1
- package/dist/src/components/Label/Label.js +1 -1
- package/dist/src/components/Label/Label.js.map +1 -1
- package/dist/src/components/Link/Link.js +1 -1
- package/dist/src/components/Link/Link.js.map +1 -1
- package/dist/src/components/List/List.js +1 -1
- package/dist/src/components/List/List.js.map +1 -1
- package/dist/src/components/List/utils/ListContext.js +1 -1
- package/dist/src/components/List/utils/ListContext.js.map +1 -1
- package/dist/src/components/List/utils/ListUtils.js +1 -1
- package/dist/src/components/List/utils/ListUtils.js.map +1 -1
- package/dist/src/components/ListItem/ListItem.js +1 -1
- package/dist/src/components/ListItem/ListItem.js.map +1 -1
- package/dist/src/components/ListItemAvatar/ListItemAvatar.js +1 -1
- package/dist/src/components/ListItemAvatar/ListItemAvatar.js.map +1 -1
- package/dist/src/components/ListItemIcon/ListItemIcon.js +1 -1
- package/dist/src/components/ListItemIcon/ListItemIcon.js.map +1 -1
- package/dist/src/components/ListTitle/ListTitle.js +1 -1
- package/dist/src/components/ListTitle/ListTitle.js.map +1 -1
- package/dist/src/components/Menu/Menu/Menu.js +1 -1
- package/dist/src/components/Menu/Menu/Menu.js.map +1 -1
- package/dist/src/components/Menu/Menu/hooks/useCloseMenuOnKeyEvent.js +1 -1
- package/dist/src/components/Menu/Menu/hooks/useCloseMenuOnKeyEvent.js.map +1 -1
- package/dist/src/components/Menu/Menu/hooks/useLastNavigationDirection.js +1 -1
- package/dist/src/components/Menu/Menu/hooks/useLastNavigationDirection.js.map +1 -1
- package/dist/src/components/Menu/Menu/hooks/useMenuId.js +1 -1
- package/dist/src/components/Menu/Menu/hooks/useMenuId.js.map +1 -1
- package/dist/src/components/Menu/Menu/hooks/useMenuKeyboardNavigation.js +1 -1
- package/dist/src/components/Menu/Menu/hooks/useMenuKeyboardNavigation.js.map +1 -1
- package/dist/src/components/Menu/Menu/hooks/useMouseLeave.js +1 -1
- package/dist/src/components/Menu/Menu/hooks/useMouseLeave.js.map +1 -1
- package/dist/src/components/Menu/MenuGridItem/MenuGridItem.js +1 -1
- package/dist/src/components/Menu/MenuGridItem/MenuGridItem.js.map +1 -1
- package/dist/src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.js +1 -1
- package/dist/src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.js.map +1 -1
- package/dist/src/components/Menu/MenuItem/components/MenuItemSubMenu/MenuItemSubMenu.js +1 -1
- package/dist/src/components/Menu/MenuItem/hooks/useMenuItemKeyboardEvents.js +1 -1
- package/dist/src/components/Menu/MenuItem/hooks/useMenuItemKeyboardEvents.js.map +1 -1
- package/dist/src/components/Menu/MenuItem/hooks/useMenuItemMouseEvents.js +1 -1
- package/dist/src/components/Menu/MenuItem/hooks/useMenuItemMouseEvents.js.map +1 -1
- package/dist/src/components/Menu/MenuItemButton/MenuItemButton.js +1 -1
- package/dist/src/components/Menu/MenuItemButton/MenuItemButton.js.map +1 -1
- package/dist/src/components/Menu/MenuTitle/MenuTitle.js +1 -1
- package/dist/src/components/Menu/MenuTitle/MenuTitle.js.map +1 -1
- package/dist/src/components/MenuButton/MenuButton.js +1 -1
- package/dist/src/components/MenuButton/MenuButton.js.map +1 -1
- package/dist/src/components/Modal/Modal/Modal.js +1 -1
- package/dist/src/components/Modal/Modal/Modal.js.map +1 -1
- package/dist/src/components/MultiStepIndicator/MultiStepIndicator.js +1 -1
- package/dist/src/components/MultiStepIndicator/MultiStepIndicator.js.map +1 -1
- package/dist/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js +1 -1
- package/dist/src/components/MultiStepIndicator/components/StepIndicator/StepIndicator.js.map +1 -1
- package/dist/src/components/NumberField/NumberField.js +1 -1
- package/dist/src/components/NumberField/NumberField.js.map +1 -1
- package/dist/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.js +1 -1
- package/dist/src/components/NumberField/components/NumberFieldSpinButton/NumberFieldSpinButton.js.map +1 -1
- package/dist/src/components/ProgressBars/ProgressBar/Bar/Bar.js +1 -1
- package/dist/src/components/ProgressBars/ProgressBar/Bar/Bar.js.map +1 -1
- package/dist/src/components/ProgressBars/ProgressBar/ProgressBar.js +1 -1
- package/dist/src/components/ProgressBars/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/src/components/RadioButton/RadioButton.js +1 -1
- package/dist/src/components/RadioButton/RadioButton.js.map +1 -1
- package/dist/src/components/Search/Search.js +1 -1
- package/dist/src/components/Search/Search.js.map +1 -1
- package/dist/src/components/Skeleton/Skeleton.js +1 -1
- package/dist/src/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/src/components/Slider/Slider.js +1 -1
- package/dist/src/components/Slider/Slider.js.map +1 -1
- package/dist/src/components/Slider/SliderBase/SliderBase.js +1 -1
- package/dist/src/components/Slider/SliderBase/SliderBase.js.map +1 -1
- package/dist/src/components/Slider/SliderBase/SliderFilledTrack.js +1 -1
- package/dist/src/components/Slider/SliderBase/SliderFilledTrack.js.map +1 -1
- package/dist/src/components/Slider/SliderBase/SliderRail.js +1 -1
- package/dist/src/components/Slider/SliderBase/SliderRail.js.map +1 -1
- package/dist/src/components/Slider/SliderBase/SliderThumb.js +1 -1
- package/dist/src/components/Slider/SliderBase/SliderThumb.js.map +1 -1
- package/dist/src/components/Slider/SliderBase/SliderTrack.js +1 -1
- package/dist/src/components/Slider/SliderBase/SliderTrack.js.map +1 -1
- package/dist/src/components/Slider/SliderContext.js +1 -1
- package/dist/src/components/Slider/SliderContext.js.map +1 -1
- package/dist/src/components/Slider/SliderHooks.js +1 -1
- package/dist/src/components/Slider/SliderHooks.js.map +1 -1
- package/dist/src/components/Slider/SliderInfix.js +1 -1
- package/dist/src/components/Slider/SliderInfix.js.map +1 -1
- package/dist/src/components/SplitButton/SplitButton.js +1 -1
- package/dist/src/components/SplitButton/SplitButton.js.map +1 -1
- package/dist/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js +1 -1
- package/dist/src/components/SplitButton/SplitButtonMenu/SplitButtonMenu.js.map +1 -1
- package/dist/src/components/Steps/Steps.js +1 -1
- package/dist/src/components/Steps/Steps.js.map +1 -1
- package/dist/src/components/Steps/StepsCommand.js +1 -1
- package/dist/src/components/Steps/StepsCommand.js.map +1 -1
- package/dist/src/components/Steps/StepsDot.js +1 -1
- package/dist/src/components/Steps/StepsDot.js.map +1 -1
- package/dist/src/components/Table/Table/Table.js +1 -1
- package/dist/src/components/Table/Table/Table.js.map +1 -1
- package/dist/src/components/Table/TableCellSkeleton/TableCellSkeleton.js +1 -1
- package/dist/src/components/Table/TableCellSkeleton/TableCellSkeleton.js.map +1 -1
- package/dist/src/components/Table/TableHeader/TableHeader.js +1 -1
- package/dist/src/components/Table/TableHeader/TableHeader.js.map +1 -1
- package/dist/src/components/Table/TableHeaderCell/TableHeaderCell.js +1 -1
- package/dist/src/components/Table/TableHeaderCell/TableHeaderCell.js.map +1 -1
- package/dist/src/components/Table/TableRow/TableRow.js +1 -1
- package/dist/src/components/Table/TableRow/TableRow.js.map +1 -1
- package/dist/src/components/Table/TableRowMenu/TableRowMenu.js +1 -1
- package/dist/src/components/Table/TableRowMenu/TableRowMenu.js.map +1 -1
- package/dist/src/components/Tabs/Tab/Tab.js +1 -1
- package/dist/src/components/Tabs/Tab/Tab.js.map +1 -1
- package/dist/src/components/Tabs/TabList/TabList.js +1 -1
- package/dist/src/components/Tabs/TabList/TabList.js.map +1 -1
- package/dist/src/components/Tabs/TabPanel/TabPanel.js +1 -1
- package/dist/src/components/Tabs/TabPanel/TabPanel.js.map +1 -1
- package/dist/src/components/Tabs/TabPanels/TabPanels.js +1 -1
- package/dist/src/components/Tabs/TabPanels/TabPanels.js.map +1 -1
- package/dist/src/components/Tabs/TabsContext/TabsContext.js +1 -1
- package/dist/src/components/Tabs/TabsContext/TabsContext.js.map +1 -1
- package/dist/src/components/TextField/TextField.js +1 -1
- package/dist/src/components/TextField/TextField.js.map +1 -1
- package/dist/src/components/TextWithHighlight/TextWithHighlight.js +1 -1
- package/dist/src/components/TextWithHighlight/TextWithHighlight.js.map +1 -1
- package/dist/src/components/ThemeProvider/ThemeProvider.js +1 -1
- package/dist/src/components/ThemeProvider/ThemeProvider.js.map +1 -1
- package/dist/src/components/Tipseen/Tipseen.js +1 -1
- package/dist/src/components/Tipseen/Tipseen.js.map +1 -1
- package/dist/src/components/Tipseen/TipseenMedia/TipseenMedia.js +1 -1
- package/dist/src/components/Tipseen/TipseenMedia/TipseenMedia.js.map +1 -1
- package/dist/src/components/Toast/Toast.js +1 -1
- package/dist/src/components/Toast/Toast.js.map +1 -1
- package/dist/src/components/Toggle/MockToggle.js +1 -1
- package/dist/src/components/Toggle/MockToggle.js.map +1 -1
- package/dist/src/components/VirtualizedGrid/VirtualizedGrid.js +1 -1
- package/dist/src/components/VirtualizedGrid/VirtualizedGrid.js.map +1 -1
- package/dist/src/components/VirtualizedList/VirtualizedList.js +1 -1
- package/dist/src/components/VirtualizedList/VirtualizedList.js.map +1 -1
- package/dist/src/helpers/textManipulations.js +1 -1
- package/dist/src/helpers/textManipulations.js.map +1 -1
- package/dist/src/hooks/useActiveDescendantListFocus/useActiveDescendantListFocusHooks.js +1 -1
- package/dist/src/hooks/useActiveDescendantListFocus/useActiveDescendantListFocusHooks.js.map +1 -1
- package/dist/src/hooks/useFullKeyboardListeners.js +1 -1
- package/dist/src/hooks/useFullKeyboardListeners.js.map +1 -1
- package/dist/src/hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.js +1 -1
- package/dist/src/hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.js.map +1 -1
- package/dist/src/hooks/useIsMouseEnter.js +1 -1
- package/dist/src/hooks/useIsMouseEnter.js.map +1 -1
- package/dist/src/hooks/useIsMouseOver.js +1 -1
- package/dist/src/hooks/useIsMouseOver.js.map +1 -1
- package/dist/src/hooks/useItemsOverflow/useItemsOverflow.js +1 -1
- package/dist/src/hooks/useItemsOverflow/useItemsOverflow.js.map +1 -1
- package/dist/src/hooks/useListenFocusTriggers/index.js +1 -1
- package/dist/src/hooks/useListenFocusTriggers/index.js.map +1 -1
- package/dist/src/hooks/useMediaQuery/index.js +1 -1
- package/dist/src/hooks/useMediaQuery/index.js.map +1 -1
- package/dist/src/hooks/usePrevious/index.js +1 -1
- package/dist/src/hooks/usePrevious/index.js.map +1 -1
- package/dist/src/hooks/useSetFocus/index.js +1 -1
- package/dist/src/hooks/useSetFocus/index.js.map +1 -1
- package/dist/src/hooks/useVibeMediaQuery/index.js +1 -1
- package/dist/src/hooks/useVibeMediaQuery/index.js.map +1 -1
- package/dist/src/index.js +1 -1
- package/package.json +15 -15
- package/dist/helpers/screenReaderAccessHelper.d.ts +0 -31
- package/dist/helpers/testid-helper.d.ts +0 -1
- package/dist/helpers/typesciptCssModulesHelper.d.ts +0 -6
- package/dist/hooks/ssr/useIsMounted.d.ts +0 -1
- package/dist/hooks/ssr/useIsomorphicLayoutEffect.d.ts +0 -3
- package/dist/hooks/useMergeRef.d.ts +0 -7
- package/dist/mocked_classnames/helpers/screenReaderAccessHelper.d.ts +0 -31
- package/dist/mocked_classnames/helpers/testid-helper.d.ts +0 -1
- package/dist/mocked_classnames/helpers/typesciptCssModulesHelper.d.ts +0 -6
- package/dist/mocked_classnames/hooks/ssr/useIsMounted.d.ts +0 -1
- package/dist/mocked_classnames/hooks/ssr/useIsomorphicLayoutEffect.d.ts +0 -3
- package/dist/mocked_classnames/hooks/useMergeRef.d.ts +0 -7
- package/dist/mocked_classnames/src/helpers/testid-helper.js.map +0 -1
- package/dist/mocked_classnames/src/helpers/typesciptCssModulesHelper.js +0 -2
- package/dist/mocked_classnames/src/helpers/typesciptCssModulesHelper.js.map +0 -1
- package/dist/mocked_classnames/src/hooks/ssr/useIsomorphicLayoutEffect.js +0 -2
- package/dist/mocked_classnames/src/hooks/ssr/useIsomorphicLayoutEffect.js.map +0 -1
- package/dist/mocked_classnames/src/hooks/useEventListener/index.js +0 -2
- package/dist/mocked_classnames/src/hooks/useEventListener/index.js.map +0 -1
- package/dist/mocked_classnames/src/hooks/useKeyEvent/index.js +0 -2
- package/dist/mocked_classnames/src/hooks/useKeyEvent/index.js.map +0 -1
- package/dist/mocked_classnames/src/hooks/useMergeRef.js +0 -2
- package/dist/mocked_classnames/src/hooks/useMergeRef.js.map +0 -1
- package/dist/mocked_classnames/src/utils/dom-event-utils.js.map +0 -1
- package/dist/mocked_classnames/src/utils/dom-utils.js +0 -2
- package/dist/mocked_classnames/src/utils/dom-utils.js.map +0 -1
- package/dist/mocked_classnames/src/utils/function-utils.js +0 -2
- package/dist/mocked_classnames/src/utils/function-utils.js.map +0 -1
- package/dist/mocked_classnames/src/utils/media-query-utils.js +0 -2
- package/dist/mocked_classnames/src/utils/media-query-utils.js.map +0 -1
- package/dist/mocked_classnames/src/utils/ssr-utils.js +0 -2
- package/dist/mocked_classnames/src/utils/ssr-utils.js.map +0 -1
- package/dist/mocked_classnames/src/utils/user-agent-utils.js.map +0 -1
- package/dist/mocked_classnames/src/utils/warn-deprecated.js.map +0 -1
- package/dist/mocked_classnames/utils/dom-event-utils.d.ts +0 -16
- package/dist/mocked_classnames/utils/dom-utils.d.ts +0 -2
- package/dist/mocked_classnames/utils/function-utils.d.ts +0 -5
- package/dist/mocked_classnames/utils/media-query-utils.d.ts +0 -23
- package/dist/mocked_classnames/utils/ssr-utils.d.ts +0 -2
- package/dist/mocked_classnames/utils/user-agent-utils.d.ts +0 -2
- package/dist/mocked_classnames/utils/warn-deprecated.d.ts +0 -10
- package/dist/src/helpers/testid-helper.js +0 -2
- package/dist/src/helpers/testid-helper.js.map +0 -1
- package/dist/src/helpers/typesciptCssModulesHelper.js +0 -2
- package/dist/src/helpers/typesciptCssModulesHelper.js.map +0 -1
- package/dist/src/hooks/ssr/useIsomorphicLayoutEffect.js +0 -2
- package/dist/src/hooks/ssr/useIsomorphicLayoutEffect.js.map +0 -1
- package/dist/src/hooks/useEventListener/index.js +0 -2
- package/dist/src/hooks/useEventListener/index.js.map +0 -1
- package/dist/src/hooks/useKeyEvent/index.js +0 -2
- package/dist/src/hooks/useKeyEvent/index.js.map +0 -1
- package/dist/src/hooks/useMergeRef.js +0 -2
- package/dist/src/hooks/useMergeRef.js.map +0 -1
- package/dist/src/utils/dom-event-utils.js +0 -2
- package/dist/src/utils/dom-event-utils.js.map +0 -1
- package/dist/src/utils/dom-utils.js +0 -2
- package/dist/src/utils/dom-utils.js.map +0 -1
- package/dist/src/utils/function-utils.js +0 -2
- package/dist/src/utils/function-utils.js.map +0 -1
- package/dist/src/utils/media-query-utils.js +0 -2
- package/dist/src/utils/media-query-utils.js.map +0 -1
- package/dist/src/utils/ssr-utils.js +0 -2
- package/dist/src/utils/ssr-utils.js.map +0 -1
- package/dist/src/utils/user-agent-utils.js +0 -2
- package/dist/src/utils/user-agent-utils.js.map +0 -1
- package/dist/src/utils/warn-deprecated.js +0 -2
- package/dist/src/utils/warn-deprecated.js.map +0 -1
- package/dist/utils/dom-event-utils.d.ts +0 -16
- package/dist/utils/dom-utils.d.ts +0 -2
- package/dist/utils/function-utils.d.ts +0 -5
- package/dist/utils/media-query-utils.d.ts +0 -23
- package/dist/utils/ssr-utils.d.ts +0 -2
- package/dist/utils/user-agent-utils.d.ts +0 -2
- package/dist/utils/warn-deprecated.d.ts +0 -10
- /package/dist/{mocked_classnames/src → shared/dist}/utils/dom-event-utils.js +0 -0
- /package/dist/{mocked_classnames/src/helpers → shared/dist/utils}/testid-helper.js +0 -0
- /package/dist/{mocked_classnames/src → shared/dist}/utils/user-agent-utils.js +0 -0
- /package/dist/{mocked_classnames/src → shared/dist}/utils/warn-deprecated.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"classnames";import o,{forwardRef as
|
|
1
|
+
import e from"classnames";import o,{forwardRef as s,useRef as t}from"react";import r from"./ListItemIcon.module.scss.js";import i from"../../../components/icon/dist/Icon/Icon.js";import{useMergeRef as m}from"../../../shared/dist/hooks/useMergeRef.js";import{getStyle as n}from"../../../shared/dist/utils/typesciptCssModulesHelper.js";var a=18,c=s((function(s,a){var c=s.className,d=s.id,l=s.icon,p=s.margin,f=void 0===p?"start":p,u=s.component,I=void 0===u?"div":u,v=t(null),h=m(a,v);return o.createElement(I,{ref:h,className:e(r.listItemIcon,n(r,f),c),id:d,"aria-hidden":"true"},o.createElement(i,{icon:l,ignoreFocusStyle:!0,size:18}))}));export{a as LIST_ITEM_ICON_SIZE,c as default};
|
|
2
2
|
//# sourceMappingURL=ListItemIcon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemIcon.js","sources":["../../../../src/components/ListItemIcon/ListItemIcon.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { forwardRef, useRef } from \"react\";\nimport useMergeRef from \"
|
|
1
|
+
{"version":3,"file":"ListItemIcon.js","sources":["../../../../src/components/ListItemIcon/ListItemIcon.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { forwardRef, useRef } from \"react\";\nimport { useMergeRef, getStyle } from \"@vibe/shared\";\nimport { Icon, type SubIcon } from \"@vibe/icon\";\nimport { type ListItemElement } from \"../ListItem\";\nimport { type VibeComponentProps } from \"../../types\";\n\nimport styles from \"./ListItemIcon.module.scss\";\nimport { type ListItemIconMargin } from \"./ListItemIcon.types\";\n\nexport const LIST_ITEM_ICON_SIZE = 18;\n\nexport interface ListItemIconProps extends VibeComponentProps {\n /**\n * The HTML element used for the list item icon.\n */\n component?: ListItemElement;\n /**\n * The icon displayed inside the list item.\n */\n icon?: SubIcon;\n /**\n * The position of the icon inside the list item, determining its margins.\n */\n margin?: ListItemIconMargin;\n}\n\nconst ListItemIcon = forwardRef(\n (\n { className, id, icon, margin = \"start\", component: Component = \"div\" }: ListItemIconProps,\n ref: React.ForwardedRef<HTMLElement>\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n return (\n <Component\n ref={mergedRef}\n className={cx(styles.listItemIcon, getStyle(styles, margin), className)}\n id={id}\n aria-hidden=\"true\"\n >\n <Icon icon={icon} ignoreFocusStyle size={LIST_ITEM_ICON_SIZE} />\n </Component>\n );\n }\n);\n\nexport default ListItemIcon;\n"],"names":["LIST_ITEM_ICON_SIZE","ListItemIcon","forwardRef","_ref","ref","className","id","icon","_ref$margin","margin","_ref$component","component","Component","componentRef","useRef","mergedRef","useMergeRef","React","createElement","cx","styles","listItemIcon","getStyle","Icon","ignoreFocusStyle","size"],"mappings":"8UAUO,IAAMA,EAAsB,GAiB7BC,EAAeC,GACnB,SAAAC,EAEEC,GACE,IAFAC,EAASF,EAATE,UAAWC,EAAEH,EAAFG,GAAIC,EAAIJ,EAAJI,KAAIC,EAAAL,EAAEM,OAAAA,OAAS,IAAHD,EAAG,QAAOA,EAAAE,EAAAP,EAAEQ,UAAWC,OAAY,IAAHF,EAAG,MAAKA,EAG/DG,EAAeC,EAAO,MACtBC,EAAYC,EAAYZ,EAAKS,GAEnC,OACEI,EAAAC,cAACN,EAAS,CACRR,IAAKW,EACLV,UAAWc,EAAGC,EAAOC,aAAcC,EAASF,EAAQX,GAASJ,GAC7DC,GAAIA,gBACQ,QAEZW,EAAAC,cAACK,EAAI,CAAChB,KAAMA,EAAMiB,kBAAiB,EAAAC,KAhCR,KAmCjC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"classnames";import t,{forwardRef as s,useRef as a}from"react";import i from"
|
|
1
|
+
import e from"classnames";import t,{forwardRef as s,useRef as a}from"react";import i from"./ListTitle.module.scss.js";import r from"../../../components/typography/dist/Text/Text.js";import{useMergeRef as m}from"../../../shared/dist/hooks/useMergeRef.js";var o=s((function(s,o){var d=s.className,l=s.id,n=s.children,p=s.tabIndex,c=s["data-testid"],f=a(null),u=m(o,f);return t.createElement(r,{type:"text1",weight:"medium","data-testid":c||l,"aria-level":3,tabIndex:p,role:"heading",ref:u,className:e(i.listTitle,d),id:l},n)}));Object.assign(o,{displayName:"ListTitle"});export{o as default};
|
|
2
2
|
//# sourceMappingURL=ListTitle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListTitle.js","sources":["../../../../src/components/ListTitle/ListTitle.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { forwardRef, useRef } from \"react\";\nimport useMergeRef from \"
|
|
1
|
+
{"version":3,"file":"ListTitle.js","sources":["../../../../src/components/ListTitle/ListTitle.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport React, { forwardRef, useRef } from \"react\";\nimport { useMergeRef } from \"@vibe/shared\";\nimport type VibeComponentProps from \"../../types/VibeComponentProps\";\nimport { Text } from \"@vibe/typography\";\nimport styles from \"./ListTitle.module.scss\";\n\nexport interface ListTitleProps extends VibeComponentProps {\n /**\n * The tab index for keyboard navigation.\n */\n tabIndex?: number;\n /**\n * The title text.\n */\n children?: string;\n}\n\nconst ListTitle: React.FC<ListTitleProps> = forwardRef(\n ({ className, id, children, tabIndex, \"data-testid\": dataTestId }, ref) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n\n return (\n <Text\n type=\"text1\"\n weight=\"medium\"\n data-testid={dataTestId || id}\n aria-level={3}\n tabIndex={tabIndex}\n role=\"heading\"\n ref={mergedRef}\n className={cx(styles.listTitle, className)}\n id={id}\n >\n {children}\n </Text>\n );\n }\n);\n\nObject.assign(ListTitle, {\n // Used by VirtualizedListItems\n displayName: \"ListTitle\"\n});\n\nexport default ListTitle;\n"],"names":["ListTitle","forwardRef","_ref","ref","className","id","children","tabIndex","dataTestId","componentRef","useRef","mergedRef","useMergeRef","React","Text","type","weight","role","cx","styles","listTitle","Object","assign","displayName"],"mappings":"8PAkBMA,IAAAA,EAAsCC,GAC1C,SAAAC,EAAmEC,GAAO,IAAvEC,EAASF,EAATE,UAAWC,EAAEH,EAAFG,GAAIC,EAAQJ,EAARI,SAAUC,EAAQL,EAARK,SAAyBC,EAAUN,EAAzB,eAC9BO,EAAeC,EAAO,MACtBC,EAAYC,EAAYT,EAAKM,GAEnC,OACEI,gBAACC,EAAI,CACHC,KAAK,QACLC,OAAO,uBACMR,GAAcH,EACf,aAAA,EACZE,SAAUA,EACVU,KAAK,UACLd,IAAKQ,EACLP,UAAWc,EAAGC,EAAOC,UAAWhB,GAChCC,GAAIA,GAEHC,EAGP,IAGFe,OAAOC,OAAOtB,EAAW,CAEvBuB,YAAa"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import n from"classnames";import{SIZES as t}from"../../../constants/sizes.js";import
|
|
1
|
+
import{slicedToArray as e}from"../../../../_virtual/_rollupPluginBabelHelpers.js";import n from"classnames";import{SIZES as t}from"../../../constants/sizes.js";import s,{forwardRef as o,useRef as u,useState as i,useMemo as r,useCallback as l,useEffect as d}from"react";import a from"./hooks/useSubMenuIndex.js";import c from"./hooks/useOnCloseMenu.js";import m from"./hooks/useCloseMenuOnKeyEvent.js";import v from"./hooks/useMenuKeyboardNavigation.js";import p from"./hooks/useMouseLeave.js";import{useAdjacentSelectableMenuIndex as f}from"./hooks/useAdjacentSelectableMenuIndex.js";import{useFocusWithin as I}from"../../../hooks/useFocusWithin.js";import M from"../../../hooks/usePrevious/index.js";import{getTestId as b}from"../../../tests/testIds.js";import{ComponentDefaultTestId as h,ComponentVibeId as x}from"../../../tests/constants.js";import{useFocusOnMount as S}from"./hooks/useFocusOnMount.js";import{useMenuId as O}from"./hooks/useMenuId.js";import{generateMenuItemId as j}from"./utils/utils.js";import k from"./Menu.module.scss.js";import g from"../../../../hooks/dist/useClickOutside/index.js";import{useMergeRef as C}from"../../../../shared/dist/hooks/useMergeRef.js";import{useIsomorphicLayoutEffect as E}from"../../../../shared/dist/hooks/ssr/useIsomorphicLayoutEffect.js";import{getStyle as y}from"../../../../shared/dist/utils/typesciptCssModulesHelper.js";var A=o((function(o,A){var N=o.id,F=o.className,B=o.size,P=void 0===B?t.MEDIUM:B,D=o.tabIndex,L=void 0===D?0:D,V=o["aria-label"],U=void 0===V?"Menu":V,R=o["aria-describedby"],T=o.children,W=o.isVisible,z=void 0===W||W,H=o.onClose,K=o.onItemFocus,_=o.focusOnMount,q=void 0!==_&&_,w=o.focusItemIndex,G=void 0===w?-1:w,J=o.focusItemIndexOnMount,Q=void 0===J?-1:J,X=o.isSubMenu,Y=void 0!==X&&X,Z=o.useDocumentEventListeners,$=void 0!==Z&&Z,ee=o.shouldScrollMenu,ne=void 0!==ee&&ee,te=o["data-testid"],se=u(null),oe=C(se,A),ue=O(N),ie=u(null),re=i(G),le=e(re,2),de=le[0],ae=le[1],ce=i(!1),me=e(ce,2),ve=me[0],pe=me[1],fe=r((function(){return s.Children.toArray(T).filter((function(e){return!!e.type.isMenuChild||(console.error("Menu child must be a menuChild item (such as MenuItem, MenuDivider, MenuTitle, etc). This child is not supported: ",e),!1)}))}),[T]),Ie=l((function(e){var n,t,o;ae(e);var u=fe[e],i=s.isValidElement(u)?(null===(n=null==u?void 0:u.props)||void 0===n?void 0:n.id)||"".concat(ue,"-item-").concat(e):void 0;i?null===(t=null==se?void 0:se.current)||void 0===t||t.setAttribute("aria-activedescendant",i):null===(o=null==se?void 0:se.current)||void 0===o||o.removeAttribute("aria-activedescendant")}),[fe,ue]),Me=l((function(e){K&&K(e),Ie(e),pe(!1)}),[Ie,K]),be=a(),he=be.setSubMenuIsOpenByIndex,xe=be.hasOpenSubMenu,Se=be.openSubMenuIndex,Oe=be.resetOpenSubMenuIndex,je=c({setActiveItemIndex:Me,setOpenSubMenuIndex:be.setOpenSubMenuIndex,onClose:H});g({ref:se,callback:function(){return je()}}),m({hasOpenSubMenu:xe,onCloseMenu:je,ref:se,onClose:H,isSubMenu:Y,useDocumentEventListeners:$});var ke=f({children:fe}),ge=ke.getNextSelectableIndex,Ce=ke.getPreviousSelectableIndex;v({hasOpenSubMenu:xe,getNextSelectableIndex:ge,getPreviousSelectableIndex:Ce,activeItemIndex:de,setActiveItemIndex:Me,isVisible:z,ref:se,useDocumentEventListeners:$}),p({resetOpenSubMenuIndex:Oe,hasOpenSubMenu:xe,ref:se,setActiveItemIndex:Me}),S({focusItemIndexOnMount:Q,focusChildOnMount:fe[Q],getNextSelectableIndex:ge,updateActiveItemIndex:Ie,setIsInitialFocusSet:pe});var Ee=l((function(){pe(!0)}),[pe]),ye=M(xe);d((function(){var e;xe||$||de>-1&&ye&&(null===(e=null==se?void 0:se.current)||void 0===e||e.focus())}),[de,xe,ye,$]),E((function(){q&&!$&&requestAnimationFrame((function(){se&&se.current&&se.current.focus()}))}),[se,q,$]);var Ae=I({onBlurWithin:function(){je&&je()}}).focusWithinProps;return s.createElement("ul",{onFocus:null==Ae?void 0:Ae.onFocus,onBlur:null==Ae?void 0:Ae.onBlur,id:ue,"data-testid":te||b(h.MENU,N),"data-vibe":x.MENU,className:n(k.menu,y(k,P),F),ref:oe,tabIndex:L,"aria-label":U,role:"menu","aria-describedby":R,onMouseOver:Ee},fe&&s.Children.map(fe,(function(e,n){return s.isValidElement(e)?s.cloneElement(e,Object.assign(Object.assign({},null==e?void 0:e.props),{activeItemIndex:de,index:n,setActiveItemIndex:Ie,menuRef:se,resetOpenSubMenuIndex:Oe,isParentMenuVisible:z,setSubMenuIsOpenByIndex:he,hasOpenSubMenu:n===Se,closeMenu:je,id:j(ue,e,n),useDocumentEventListeners:$,isInitialSelectedState:ve,shouldScrollMenu:ne,getNextSelectableIndex:ge,getPreviousSelectableIndex:Ce,isUnderSubMenu:Y,splitMenuItemIconButtonRef:ie})):null})))}));Object.assign(A,{isMenu:!0,supportFocusOnMount:!0});export{A as default};
|
|
2
2
|
//# sourceMappingURL=Menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sources":["../../../../../src/components/Menu/Menu/Menu.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport { SIZES } from \"../../../constants\";\nimport React, { forwardRef, type ReactElement, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport useMergeRef from \"../../../hooks/useMergeRef\";\nimport useIsomorphicLayoutEffect from \"../../../hooks/ssr/useIsomorphicLayoutEffect\";\nimport { useClickOutside } from \"@vibe/hooks\";\nimport useSubMenuIndex from \"./hooks/useSubMenuIndex\";\nimport useOnCloseMenu from \"./hooks/useOnCloseMenu\";\nimport useCloseMenuOnKeyEvent from \"./hooks/useCloseMenuOnKeyEvent\";\nimport useMenuKeyboardNavigation from \"./hooks/useMenuKeyboardNavigation\";\nimport useMouseLeave from \"./hooks/useMouseLeave\";\nimport { useAdjacentSelectableMenuIndex } from \"./hooks/useAdjacentSelectableMenuIndex\";\nimport { useFocusWithin } from \"../../../hooks/useFocusWithin\";\nimport usePrevious from \"../../../hooks/usePrevious\";\nimport { type ElementContent, type VibeComponentProps } from \"../../../types\";\nimport { getStyle } from \"../../../helpers/typesciptCssModulesHelper\";\nimport { getTestId } from \"../../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId, ComponentVibeId } from \"../../../tests/constants\";\nimport { useFocusOnMount } from \"./hooks/useFocusOnMount\";\nimport { useMenuId } from \"./hooks/useMenuId\";\nimport { type CloseMenuOption, type MenuChild } from \"./MenuConstants\";\nimport { generateMenuItemId } from \"./utils/utils\";\nimport styles from \"./Menu.module.scss\";\n\nexport interface MenuProps extends VibeComponentProps {\n /**\n * Size of the menu.\n */\n size?: (typeof SIZES)[keyof typeof SIZES];\n /**\n * The tab index of the menu.\n */\n tabIndex?: number;\n /**\n * ARIA label for accessibility.\n */\n \"aria-label\"?: string;\n /**\n * ARIA description ID.\n */\n \"aria-describedby\"?: string;\n /**\n * If true, the menu will automatically focus on mount.\n */\n focusOnMount?: boolean;\n /**\n * Callback when a menu item gains focus.\n */\n onItemFocus?: (index: number) => void;\n /**\n * Controls the visibility of the menu.\n */\n isVisible?: boolean;\n /**\n * Callback triggered when the menu closes.\n */\n onClose?: (option: CloseMenuOption) => void;\n /**\n * Index of the focused menu item.\n */\n focusItemIndex?: number;\n /**\n * If true, this menu is a submenu.\n */\n isSubMenu?: boolean;\n /**\n * If true, event listeners will be attached to the document.\n */\n useDocumentEventListeners?: boolean;\n /**\n * Index of the item that should be focused when the menu mounts.\n */\n focusItemIndexOnMount?: number;\n /**\n * If true, enables scrolling within the menu.\n */\n shouldScrollMenu?: boolean;\n /**\n * The menu items.\n */\n children?: ElementContent;\n}\n\nconst Menu = forwardRef(\n (\n {\n id,\n className,\n size = SIZES.MEDIUM,\n tabIndex = 0,\n \"aria-label\": ariaLabel = \"Menu\",\n \"aria-describedby\": ariaDescribedBy,\n children: originalChildren,\n isVisible = true,\n onClose,\n onItemFocus,\n focusOnMount = false,\n focusItemIndex = -1,\n focusItemIndexOnMount = -1,\n isSubMenu = false,\n useDocumentEventListeners = false,\n shouldScrollMenu = false,\n \"data-testid\": dataTestId\n }: MenuProps,\n forwardedRef: React.ForwardedRef<HTMLElement>\n ) => {\n const ref = useRef(null);\n const mergedRef = useMergeRef(ref, forwardedRef);\n\n const overrideId = useMenuId(id);\n const splitMenuItemIconButtonRef = useRef<HTMLElement>(null);\n\n const [activeItemIndex, setActiveItemIndex] = useState(focusItemIndex);\n const [isInitialSelectedState, setIsInitialSelectedState] = useState(false);\n\n const children = useMemo(() => {\n const allChildren = React.Children.toArray(originalChildren) as MenuChild[];\n return allChildren.filter(child => {\n if (child.type.isMenuChild) return true;\n console.error(\n \"Menu child must be a menuChild item (such as MenuItem, MenuDivider, MenuTitle, etc). This child is not supported: \",\n child\n );\n return false;\n });\n }, [originalChildren]);\n\n const updateActiveItemIndex = useCallback(\n (index: number) => {\n setActiveItemIndex(index);\n\n const activeChild = children[index];\n const ariaActiveDescendant = React.isValidElement(activeChild)\n ? activeChild?.props?.id || `${overrideId}-item-${index}`\n : undefined;\n if (ariaActiveDescendant) {\n ref?.current?.setAttribute(\"aria-activedescendant\", ariaActiveDescendant);\n } else {\n ref?.current?.removeAttribute(\"aria-activedescendant\");\n }\n },\n [children, overrideId]\n );\n\n const onSetActiveItemIndexCallback = useCallback(\n (index: number) => {\n onItemFocus && onItemFocus(index);\n updateActiveItemIndex(index);\n setIsInitialSelectedState(false);\n },\n [updateActiveItemIndex, onItemFocus]\n );\n\n const { setSubMenuIsOpenByIndex, hasOpenSubMenu, openSubMenuIndex, setOpenSubMenuIndex, resetOpenSubMenuIndex } =\n useSubMenuIndex();\n\n const onCloseMenu = useOnCloseMenu({\n setActiveItemIndex: onSetActiveItemIndexCallback,\n setOpenSubMenuIndex,\n onClose\n });\n\n useClickOutside({ ref, callback: () => onCloseMenu() });\n useCloseMenuOnKeyEvent({ hasOpenSubMenu, onCloseMenu, ref, onClose, isSubMenu, useDocumentEventListeners });\n\n const { getNextSelectableIndex, getPreviousSelectableIndex } = useAdjacentSelectableMenuIndex({\n children: children as ReactElement[]\n });\n useMenuKeyboardNavigation({\n hasOpenSubMenu,\n getNextSelectableIndex,\n getPreviousSelectableIndex,\n activeItemIndex,\n setActiveItemIndex: onSetActiveItemIndexCallback,\n isVisible,\n ref,\n useDocumentEventListeners\n });\n useMouseLeave({\n resetOpenSubMenuIndex,\n hasOpenSubMenu,\n ref,\n setActiveItemIndex: onSetActiveItemIndexCallback\n });\n useFocusOnMount({\n focusItemIndexOnMount,\n focusChildOnMount: children[focusItemIndexOnMount] as ReactElement,\n getNextSelectableIndex,\n updateActiveItemIndex,\n setIsInitialFocusSet: setIsInitialSelectedState\n });\n\n const onMouseMove = useCallback(() => {\n setIsInitialSelectedState(true);\n }, [setIsInitialSelectedState]);\n\n const previousHasOpenSubMenu = usePrevious(hasOpenSubMenu);\n useEffect(() => {\n if (hasOpenSubMenu || useDocumentEventListeners) return;\n if (activeItemIndex > -1 && previousHasOpenSubMenu) {\n // the submenu was just closed, so we want to focus the menu to capture keyboard events\n ref?.current?.focus();\n }\n }, [activeItemIndex, hasOpenSubMenu, previousHasOpenSubMenu, useDocumentEventListeners]);\n\n useIsomorphicLayoutEffect(() => {\n if (!focusOnMount || useDocumentEventListeners) return;\n requestAnimationFrame(() => {\n ref && ref.current && ref.current.focus();\n });\n }, [ref, focusOnMount, useDocumentEventListeners]);\n\n const { focusWithinProps } = useFocusWithin({\n onBlurWithin: () => {\n onCloseMenu && onCloseMenu();\n }\n });\n\n return (\n <ul\n onFocus={focusWithinProps?.onFocus}\n onBlur={focusWithinProps?.onBlur}\n id={overrideId}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MENU, id)}\n data-vibe={ComponentVibeId.MENU}\n className={cx(styles.menu, getStyle(styles, size), className)}\n ref={mergedRef}\n tabIndex={tabIndex}\n aria-label={ariaLabel}\n role=\"menu\"\n aria-describedby={ariaDescribedBy}\n onMouseOver={onMouseMove}\n >\n {children &&\n React.Children.map(children, (child, index) => {\n return React.isValidElement(child)\n ? React.cloneElement(child, {\n ...child?.props,\n activeItemIndex,\n index,\n setActiveItemIndex: updateActiveItemIndex,\n menuRef: ref,\n resetOpenSubMenuIndex,\n isParentMenuVisible: isVisible,\n setSubMenuIsOpenByIndex,\n hasOpenSubMenu: index === openSubMenuIndex,\n closeMenu: onCloseMenu,\n id: generateMenuItemId(overrideId, child, index),\n useDocumentEventListeners,\n isInitialSelectedState,\n shouldScrollMenu,\n getNextSelectableIndex,\n getPreviousSelectableIndex,\n isUnderSubMenu: isSubMenu,\n splitMenuItemIconButtonRef\n })\n : null;\n })}\n </ul>\n );\n }\n);\n\nObject.assign(Menu, {\n isMenu: true,\n supportFocusOnMount: true\n});\n\nexport default Menu;\n"],"names":["Menu","forwardRef","_ref","forwardedRef","id","className","_ref$size","size","SIZES","MEDIUM","_ref$tabIndex","tabIndex","_ref$ariaLabel","ariaLabel","ariaDescribedBy","originalChildren","children","_ref$isVisible","isVisible","onClose","onItemFocus","_ref$focusOnMount","focusOnMount","_ref$focusItemIndex","focusItemIndex","_ref$focusItemIndexOn","focusItemIndexOnMount","_ref$isSubMenu","isSubMenu","_ref$useDocumentEvent","useDocumentEventListeners","_ref$shouldScrollMenu","shouldScrollMenu","dataTestId","ref","useRef","mergedRef","useMergeRef","overrideId","useMenuId","splitMenuItemIconButtonRef","_useState","useState","_useState2","_slicedToArray","activeItemIndex","setActiveItemIndex","_useState3","_useState4","isInitialSelectedState","setIsInitialSelectedState","useMemo","React","Children","toArray","filter","child","type","isMenuChild","console","error","updateActiveItemIndex","useCallback","index","activeChild","ariaActiveDescendant","isValidElement","_a","props","concat","undefined","_b","current","setAttribute","_c","removeAttribute","onSetActiveItemIndexCallback","_useSubMenuIndex","useSubMenuIndex","setSubMenuIsOpenByIndex","hasOpenSubMenu","openSubMenuIndex","resetOpenSubMenuIndex","onCloseMenu","useOnCloseMenu","setOpenSubMenuIndex","useClickOutside","callback","useCloseMenuOnKeyEvent","_useAdjacentSelectabl","useAdjacentSelectableMenuIndex","getNextSelectableIndex","getPreviousSelectableIndex","useMenuKeyboardNavigation","useMouseLeave","useFocusOnMount","focusChildOnMount","setIsInitialFocusSet","onMouseMove","previousHasOpenSubMenu","usePrevious","useEffect","focus","useIsomorphicLayoutEffect","requestAnimationFrame","focusWithinProps","useFocusWithin","onBlurWithin","createElement","onFocus","onBlur","getTestId","ComponentDefaultTestId","MENU","ComponentVibeId","cx","styles","menu","getStyle","role","onMouseOver","map","cloneElement","Object","assign","menuRef","isParentMenuVisible","closeMenu","generateMenuItemId","isUnderSubMenu","isMenu","supportFocusOnMount"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","sources":["../../../../../src/components/Menu/Menu/Menu.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport { SIZES } from \"../../../constants\";\nimport React, { forwardRef, type ReactElement, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useMergeRef, useIsomorphicLayoutEffect, getStyle } from \"@vibe/shared\";\n\nimport { useClickOutside } from \"@vibe/hooks\";\nimport useSubMenuIndex from \"./hooks/useSubMenuIndex\";\nimport useOnCloseMenu from \"./hooks/useOnCloseMenu\";\nimport useCloseMenuOnKeyEvent from \"./hooks/useCloseMenuOnKeyEvent\";\nimport useMenuKeyboardNavigation from \"./hooks/useMenuKeyboardNavigation\";\nimport useMouseLeave from \"./hooks/useMouseLeave\";\nimport { useAdjacentSelectableMenuIndex } from \"./hooks/useAdjacentSelectableMenuIndex\";\nimport { useFocusWithin } from \"../../../hooks/useFocusWithin\";\nimport usePrevious from \"../../../hooks/usePrevious\";\nimport { type ElementContent, type VibeComponentProps } from \"../../../types\";\n\nimport { getTestId } from \"../../../tests/test-ids-utils\";\nimport { ComponentDefaultTestId, ComponentVibeId } from \"../../../tests/constants\";\nimport { useFocusOnMount } from \"./hooks/useFocusOnMount\";\nimport { useMenuId } from \"./hooks/useMenuId\";\nimport { type CloseMenuOption, type MenuChild } from \"./MenuConstants\";\nimport { generateMenuItemId } from \"./utils/utils\";\nimport styles from \"./Menu.module.scss\";\n\nexport interface MenuProps extends VibeComponentProps {\n /**\n * Size of the menu.\n */\n size?: (typeof SIZES)[keyof typeof SIZES];\n /**\n * The tab index of the menu.\n */\n tabIndex?: number;\n /**\n * ARIA label for accessibility.\n */\n \"aria-label\"?: string;\n /**\n * ARIA description ID.\n */\n \"aria-describedby\"?: string;\n /**\n * If true, the menu will automatically focus on mount.\n */\n focusOnMount?: boolean;\n /**\n * Callback when a menu item gains focus.\n */\n onItemFocus?: (index: number) => void;\n /**\n * Controls the visibility of the menu.\n */\n isVisible?: boolean;\n /**\n * Callback triggered when the menu closes.\n */\n onClose?: (option: CloseMenuOption) => void;\n /**\n * Index of the focused menu item.\n */\n focusItemIndex?: number;\n /**\n * If true, this menu is a submenu.\n */\n isSubMenu?: boolean;\n /**\n * If true, event listeners will be attached to the document.\n */\n useDocumentEventListeners?: boolean;\n /**\n * Index of the item that should be focused when the menu mounts.\n */\n focusItemIndexOnMount?: number;\n /**\n * If true, enables scrolling within the menu.\n */\n shouldScrollMenu?: boolean;\n /**\n * The menu items.\n */\n children?: ElementContent;\n}\n\nconst Menu = forwardRef(\n (\n {\n id,\n className,\n size = SIZES.MEDIUM,\n tabIndex = 0,\n \"aria-label\": ariaLabel = \"Menu\",\n \"aria-describedby\": ariaDescribedBy,\n children: originalChildren,\n isVisible = true,\n onClose,\n onItemFocus,\n focusOnMount = false,\n focusItemIndex = -1,\n focusItemIndexOnMount = -1,\n isSubMenu = false,\n useDocumentEventListeners = false,\n shouldScrollMenu = false,\n \"data-testid\": dataTestId\n }: MenuProps,\n forwardedRef: React.ForwardedRef<HTMLElement>\n ) => {\n const ref = useRef(null);\n const mergedRef = useMergeRef(ref, forwardedRef);\n\n const overrideId = useMenuId(id);\n const splitMenuItemIconButtonRef = useRef<HTMLElement>(null);\n\n const [activeItemIndex, setActiveItemIndex] = useState(focusItemIndex);\n const [isInitialSelectedState, setIsInitialSelectedState] = useState(false);\n\n const children = useMemo(() => {\n const allChildren = React.Children.toArray(originalChildren) as MenuChild[];\n return allChildren.filter(child => {\n if (child.type.isMenuChild) return true;\n console.error(\n \"Menu child must be a menuChild item (such as MenuItem, MenuDivider, MenuTitle, etc). This child is not supported: \",\n child\n );\n return false;\n });\n }, [originalChildren]);\n\n const updateActiveItemIndex = useCallback(\n (index: number) => {\n setActiveItemIndex(index);\n\n const activeChild = children[index];\n const ariaActiveDescendant = React.isValidElement(activeChild)\n ? activeChild?.props?.id || `${overrideId}-item-${index}`\n : undefined;\n if (ariaActiveDescendant) {\n ref?.current?.setAttribute(\"aria-activedescendant\", ariaActiveDescendant);\n } else {\n ref?.current?.removeAttribute(\"aria-activedescendant\");\n }\n },\n [children, overrideId]\n );\n\n const onSetActiveItemIndexCallback = useCallback(\n (index: number) => {\n onItemFocus && onItemFocus(index);\n updateActiveItemIndex(index);\n setIsInitialSelectedState(false);\n },\n [updateActiveItemIndex, onItemFocus]\n );\n\n const { setSubMenuIsOpenByIndex, hasOpenSubMenu, openSubMenuIndex, setOpenSubMenuIndex, resetOpenSubMenuIndex } =\n useSubMenuIndex();\n\n const onCloseMenu = useOnCloseMenu({\n setActiveItemIndex: onSetActiveItemIndexCallback,\n setOpenSubMenuIndex,\n onClose\n });\n\n useClickOutside({ ref, callback: () => onCloseMenu() });\n useCloseMenuOnKeyEvent({ hasOpenSubMenu, onCloseMenu, ref, onClose, isSubMenu, useDocumentEventListeners });\n\n const { getNextSelectableIndex, getPreviousSelectableIndex } = useAdjacentSelectableMenuIndex({\n children: children as ReactElement[]\n });\n useMenuKeyboardNavigation({\n hasOpenSubMenu,\n getNextSelectableIndex,\n getPreviousSelectableIndex,\n activeItemIndex,\n setActiveItemIndex: onSetActiveItemIndexCallback,\n isVisible,\n ref,\n useDocumentEventListeners\n });\n useMouseLeave({\n resetOpenSubMenuIndex,\n hasOpenSubMenu,\n ref,\n setActiveItemIndex: onSetActiveItemIndexCallback\n });\n useFocusOnMount({\n focusItemIndexOnMount,\n focusChildOnMount: children[focusItemIndexOnMount] as ReactElement,\n getNextSelectableIndex,\n updateActiveItemIndex,\n setIsInitialFocusSet: setIsInitialSelectedState\n });\n\n const onMouseMove = useCallback(() => {\n setIsInitialSelectedState(true);\n }, [setIsInitialSelectedState]);\n\n const previousHasOpenSubMenu = usePrevious(hasOpenSubMenu);\n useEffect(() => {\n if (hasOpenSubMenu || useDocumentEventListeners) return;\n if (activeItemIndex > -1 && previousHasOpenSubMenu) {\n // the submenu was just closed, so we want to focus the menu to capture keyboard events\n ref?.current?.focus();\n }\n }, [activeItemIndex, hasOpenSubMenu, previousHasOpenSubMenu, useDocumentEventListeners]);\n\n useIsomorphicLayoutEffect(() => {\n if (!focusOnMount || useDocumentEventListeners) return;\n requestAnimationFrame(() => {\n ref && ref.current && ref.current.focus();\n });\n }, [ref, focusOnMount, useDocumentEventListeners]);\n\n const { focusWithinProps } = useFocusWithin({\n onBlurWithin: () => {\n onCloseMenu && onCloseMenu();\n }\n });\n\n return (\n <ul\n onFocus={focusWithinProps?.onFocus}\n onBlur={focusWithinProps?.onBlur}\n id={overrideId}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MENU, id)}\n data-vibe={ComponentVibeId.MENU}\n className={cx(styles.menu, getStyle(styles, size), className)}\n ref={mergedRef}\n tabIndex={tabIndex}\n aria-label={ariaLabel}\n role=\"menu\"\n aria-describedby={ariaDescribedBy}\n onMouseOver={onMouseMove}\n >\n {children &&\n React.Children.map(children, (child, index) => {\n return React.isValidElement(child)\n ? React.cloneElement(child, {\n ...child?.props,\n activeItemIndex,\n index,\n setActiveItemIndex: updateActiveItemIndex,\n menuRef: ref,\n resetOpenSubMenuIndex,\n isParentMenuVisible: isVisible,\n setSubMenuIsOpenByIndex,\n hasOpenSubMenu: index === openSubMenuIndex,\n closeMenu: onCloseMenu,\n id: generateMenuItemId(overrideId, child, index),\n useDocumentEventListeners,\n isInitialSelectedState,\n shouldScrollMenu,\n getNextSelectableIndex,\n getPreviousSelectableIndex,\n isUnderSubMenu: isSubMenu,\n splitMenuItemIconButtonRef\n })\n : null;\n })}\n </ul>\n );\n }\n);\n\nObject.assign(Menu, {\n isMenu: true,\n supportFocusOnMount: true\n});\n\nexport default Menu;\n"],"names":["Menu","forwardRef","_ref","forwardedRef","id","className","_ref$size","size","SIZES","MEDIUM","_ref$tabIndex","tabIndex","_ref$ariaLabel","ariaLabel","ariaDescribedBy","originalChildren","children","_ref$isVisible","isVisible","onClose","onItemFocus","_ref$focusOnMount","focusOnMount","_ref$focusItemIndex","focusItemIndex","_ref$focusItemIndexOn","focusItemIndexOnMount","_ref$isSubMenu","isSubMenu","_ref$useDocumentEvent","useDocumentEventListeners","_ref$shouldScrollMenu","shouldScrollMenu","dataTestId","ref","useRef","mergedRef","useMergeRef","overrideId","useMenuId","splitMenuItemIconButtonRef","_useState","useState","_useState2","_slicedToArray","activeItemIndex","setActiveItemIndex","_useState3","_useState4","isInitialSelectedState","setIsInitialSelectedState","useMemo","React","Children","toArray","filter","child","type","isMenuChild","console","error","updateActiveItemIndex","useCallback","index","activeChild","ariaActiveDescendant","isValidElement","_a","props","concat","undefined","_b","current","setAttribute","_c","removeAttribute","onSetActiveItemIndexCallback","_useSubMenuIndex","useSubMenuIndex","setSubMenuIsOpenByIndex","hasOpenSubMenu","openSubMenuIndex","resetOpenSubMenuIndex","onCloseMenu","useOnCloseMenu","setOpenSubMenuIndex","useClickOutside","callback","useCloseMenuOnKeyEvent","_useAdjacentSelectabl","useAdjacentSelectableMenuIndex","getNextSelectableIndex","getPreviousSelectableIndex","useMenuKeyboardNavigation","useMouseLeave","useFocusOnMount","focusChildOnMount","setIsInitialFocusSet","onMouseMove","previousHasOpenSubMenu","usePrevious","useEffect","focus","useIsomorphicLayoutEffect","requestAnimationFrame","focusWithinProps","useFocusWithin","onBlurWithin","createElement","onFocus","onBlur","getTestId","ComponentDefaultTestId","MENU","ComponentVibeId","cx","styles","menu","getStyle","role","onMouseOver","map","cloneElement","Object","assign","menuRef","isParentMenuVisible","closeMenu","generateMenuItemId","isUnderSubMenu","isMenu","supportFocusOnMount"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useCallback as e}from"react";import
|
|
1
|
+
import{useCallback as e}from"react";import{keyCodes as o}from"../../../../constants/keyCodes.js";import"../../../../constants/sizes.js";import{useKeyEvent as s}from"../../../../../shared/dist/hooks/useKeyEvent.js";var t=[o.ESCAPE,o.LEFT_ARROW,o.TAB];function n(n){var r=n.hasOpenSubMenu,a=n.onCloseMenu,i=n.ref,p=n.onClose,u=n.isSubMenu,c=n.useDocumentEventListeners,f=e((function(e){var s=e.key;r||(s!==o.LEFT_ARROW||u)&&[o.ESCAPE,o.LEFT_ARROW,o.TAB].includes(s)&&(a({propagate:!1}),p&&(p({propagate:!1},s),e.preventDefault(),e.stopPropagation()))}),[p,r,a,u]);s({keys:t,callback:f,ref:c?void 0:i})}export{n as default};
|
|
2
2
|
//# sourceMappingURL=useCloseMenuOnKeyEvent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCloseMenuOnKeyEvent.js","sources":["../../../../../../src/components/Menu/Menu/hooks/useCloseMenuOnKeyEvent.tsx"],"sourcesContent":["import type React from \"react\";\nimport { useCallback } from \"react\";\nimport useKeyEvent from \"../../../../hooks/useKeyEvent\";\nimport { type CloseMenuOption } from \"../MenuConstants\";\nimport { keyCodes } from \"../../../../constants\";\n\nconst KEYS = [keyCodes.ESCAPE, keyCodes.LEFT_ARROW, keyCodes.TAB];\n\nexport default function useCloseMenuOnKeyEvent({\n hasOpenSubMenu,\n onCloseMenu,\n ref,\n onClose,\n isSubMenu,\n useDocumentEventListeners\n}: {\n hasOpenSubMenu: boolean;\n onCloseMenu: (option: CloseMenuOption) => void;\n ref: React.RefObject<HTMLElement>;\n onClose: (option: CloseMenuOption, key?: string) => void;\n isSubMenu: boolean;\n useDocumentEventListeners: boolean;\n}) {\n const onKeyEvent = useCallback(\n (event: React.KeyboardEvent) => {\n const key = event.key;\n\n if (hasOpenSubMenu) return;\n\n if (key === keyCodes.LEFT_ARROW && !isSubMenu) {\n return;\n }\n if (![keyCodes.ESCAPE, keyCodes.LEFT_ARROW, keyCodes.TAB].includes(key)) {\n return;\n }\n\n onCloseMenu({ propagate: false });\n\n if (onClose) {\n onClose({ propagate: false }, key);\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [onClose, hasOpenSubMenu, onCloseMenu, isSubMenu]\n );\n\n useKeyEvent({\n keys: KEYS,\n callback: onKeyEvent,\n ref: useDocumentEventListeners ? undefined : ref\n });\n}\n"],"names":["KEYS","keyCodes","ESCAPE","LEFT_ARROW","TAB","useCloseMenuOnKeyEvent","_ref","hasOpenSubMenu","onCloseMenu","ref","onClose","isSubMenu","useDocumentEventListeners","onKeyEvent","useCallback","event","key","includes","propagate","preventDefault","stopPropagation","useKeyEvent","keys","callback","undefined"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useCloseMenuOnKeyEvent.js","sources":["../../../../../../src/components/Menu/Menu/hooks/useCloseMenuOnKeyEvent.tsx"],"sourcesContent":["import type React from \"react\";\nimport { useCallback } from \"react\";\nimport useKeyEvent from \"../../../../hooks/useKeyEvent\";\nimport { type CloseMenuOption } from \"../MenuConstants\";\nimport { keyCodes } from \"../../../../constants\";\n\nconst KEYS = [keyCodes.ESCAPE, keyCodes.LEFT_ARROW, keyCodes.TAB];\n\nexport default function useCloseMenuOnKeyEvent({\n hasOpenSubMenu,\n onCloseMenu,\n ref,\n onClose,\n isSubMenu,\n useDocumentEventListeners\n}: {\n hasOpenSubMenu: boolean;\n onCloseMenu: (option: CloseMenuOption) => void;\n ref: React.RefObject<HTMLElement>;\n onClose: (option: CloseMenuOption, key?: string) => void;\n isSubMenu: boolean;\n useDocumentEventListeners: boolean;\n}) {\n const onKeyEvent = useCallback(\n (event: React.KeyboardEvent) => {\n const key = event.key;\n\n if (hasOpenSubMenu) return;\n\n if (key === keyCodes.LEFT_ARROW && !isSubMenu) {\n return;\n }\n if (![keyCodes.ESCAPE, keyCodes.LEFT_ARROW, keyCodes.TAB].includes(key)) {\n return;\n }\n\n onCloseMenu({ propagate: false });\n\n if (onClose) {\n onClose({ propagate: false }, key);\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [onClose, hasOpenSubMenu, onCloseMenu, isSubMenu]\n );\n\n useKeyEvent({\n keys: KEYS,\n callback: onKeyEvent,\n ref: useDocumentEventListeners ? undefined : ref\n });\n}\n"],"names":["KEYS","keyCodes","ESCAPE","LEFT_ARROW","TAB","useCloseMenuOnKeyEvent","_ref","hasOpenSubMenu","onCloseMenu","ref","onClose","isSubMenu","useDocumentEventListeners","onKeyEvent","useCallback","event","key","includes","propagate","preventDefault","stopPropagation","useKeyEvent","keys","callback","undefined"],"mappings":"sNAMA,IAAMA,EAAO,CAACC,EAASC,OAAQD,EAASE,WAAYF,EAASG,KAE/C,SAAUC,EAAsBC,GAc7C,IAbCC,EAAcD,EAAdC,eACAC,EAAWF,EAAXE,YACAC,EAAGH,EAAHG,IACAC,EAAOJ,EAAPI,QACAC,EAASL,EAATK,UACAC,EAAyBN,EAAzBM,0BASMC,EAAaC,GACjB,SAACC,GACC,IAAMC,EAAMD,EAAMC,IAEdT,IAEAS,IAAQf,EAASE,YAAeQ,IAG/B,CAACV,EAASC,OAAQD,EAASE,WAAYF,EAASG,KAAKa,SAASD,KAInER,EAAY,CAAEU,WAAW,IAErBR,IACFA,EAAQ,CAAEQ,WAAW,GAASF,GAC9BD,EAAMI,iBACNJ,EAAMK,mBAET,GACD,CAACV,EAASH,EAAgBC,EAAaG,IAGzCU,EAAY,CACVC,KAAMtB,EACNuB,SAAUV,EACVJ,IAAKG,OAA4BY,EAAYf,GAEjD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{toConsumableArray as e}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import{useRef as r,useCallback as o}from"react";import
|
|
1
|
+
import{toConsumableArray as e}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import{useRef as r,useCallback as o}from"react";import{ARROW_UP_KEYS as t,NavDirections as n,ARROW_RIGHT_KEYS as s,ARROW_DOWN_KEYS as i,ARROW_LEFT_KEYS as a}from"../../../../hooks/useFullKeyboardListeners.js";import{useKeyEvent as u}from"../../../../../shared/dist/hooks/useKeyEvent.js";import{useEventListener as c}from"../../../../../shared/dist/hooks/useEventListener.js";var l=[].concat(e(t),e(s),e(i),e(a)),m=function(){var e=r(document),m=r(),d=o((function(e){m.current=e}),[]),f=o((function(e){var r=e.key;t.includes(r)?d(n.UP):s.includes(r)?d(n.RIGHT):i.includes(r)?d(n.DOWN):a.includes(r)&&d(n.LEFT)}),[d]),p=o((function(){m.current=void 0}),[m]);return u({ref:e,capture:!0,keys:l,callback:f}),c({eventName:"mousedown",ref:e,capture:!0,callback:p}),{lastNavigationDirectionRef:m}};export{m as useLastNavigationDirection};
|
|
2
2
|
//# sourceMappingURL=useLastNavigationDirection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLastNavigationDirection.js","sources":["../../../../../../src/components/Menu/Menu/hooks/useLastNavigationDirection.tsx"],"sourcesContent":["import { useCallback, useRef } from \"react\";\nimport useEventListener from \"../../../../hooks/useEventListener\";\nimport {\n ARROW_DOWN_KEYS,\n ARROW_LEFT_KEYS,\n ARROW_RIGHT_KEYS,\n ARROW_UP_KEYS,\n NavDirections\n} from \"../../../../hooks/useFullKeyboardListeners\";\nimport useKeyEvent from \"../../../../hooks/useKeyEvent\";\n\nconst NAVIGATION_KEYS = [...ARROW_UP_KEYS, ...ARROW_RIGHT_KEYS, ...ARROW_DOWN_KEYS, ...ARROW_LEFT_KEYS];\n\nexport const useLastNavigationDirection = () => {\n const documentRef = useRef(document);\n\n const lastNavigationDirectionRef = useRef<NavDirections>();\n\n const setLastNavigationDirection = useCallback((dir: NavDirections) => {\n lastNavigationDirectionRef.current = dir;\n }, []);\n\n const onKeyEvent = useCallback(\n ({ key }: KeyboardEvent) => {\n if (ARROW_UP_KEYS.includes(key)) {\n setLastNavigationDirection(NavDirections.UP);\n } else if (ARROW_RIGHT_KEYS.includes(key)) {\n setLastNavigationDirection(NavDirections.RIGHT);\n } else if (ARROW_DOWN_KEYS.includes(key)) {\n setLastNavigationDirection(NavDirections.DOWN);\n } else if (ARROW_LEFT_KEYS.includes(key)) {\n setLastNavigationDirection(NavDirections.LEFT);\n }\n },\n [setLastNavigationDirection]\n );\n\n const onMousedownAnywhere = useCallback(() => {\n lastNavigationDirectionRef.current = undefined;\n }, [lastNavigationDirectionRef]);\n\n useKeyEvent({ ref: documentRef, capture: true, keys: NAVIGATION_KEYS, callback: onKeyEvent });\n useEventListener({ eventName: \"mousedown\", ref: documentRef, capture: true, callback: onMousedownAnywhere });\n\n return { lastNavigationDirectionRef };\n};\n"],"names":["NAVIGATION_KEYS","concat","_toConsumableArray","ARROW_UP_KEYS","ARROW_RIGHT_KEYS","ARROW_DOWN_KEYS","ARROW_LEFT_KEYS","useLastNavigationDirection","documentRef","useRef","document","lastNavigationDirectionRef","setLastNavigationDirection","useCallback","dir","current","onKeyEvent","_ref","key","includes","NavDirections","UP","RIGHT","DOWN","LEFT","onMousedownAnywhere","undefined","useKeyEvent","ref","capture","keys","callback","useEventListener","eventName"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useLastNavigationDirection.js","sources":["../../../../../../src/components/Menu/Menu/hooks/useLastNavigationDirection.tsx"],"sourcesContent":["import { useCallback, useRef } from \"react\";\nimport useEventListener from \"../../../../hooks/useEventListener\";\nimport {\n ARROW_DOWN_KEYS,\n ARROW_LEFT_KEYS,\n ARROW_RIGHT_KEYS,\n ARROW_UP_KEYS,\n NavDirections\n} from \"../../../../hooks/useFullKeyboardListeners\";\nimport useKeyEvent from \"../../../../hooks/useKeyEvent\";\n\nconst NAVIGATION_KEYS = [...ARROW_UP_KEYS, ...ARROW_RIGHT_KEYS, ...ARROW_DOWN_KEYS, ...ARROW_LEFT_KEYS];\n\nexport const useLastNavigationDirection = () => {\n const documentRef = useRef(document);\n\n const lastNavigationDirectionRef = useRef<NavDirections>();\n\n const setLastNavigationDirection = useCallback((dir: NavDirections) => {\n lastNavigationDirectionRef.current = dir;\n }, []);\n\n const onKeyEvent = useCallback(\n ({ key }: KeyboardEvent) => {\n if (ARROW_UP_KEYS.includes(key)) {\n setLastNavigationDirection(NavDirections.UP);\n } else if (ARROW_RIGHT_KEYS.includes(key)) {\n setLastNavigationDirection(NavDirections.RIGHT);\n } else if (ARROW_DOWN_KEYS.includes(key)) {\n setLastNavigationDirection(NavDirections.DOWN);\n } else if (ARROW_LEFT_KEYS.includes(key)) {\n setLastNavigationDirection(NavDirections.LEFT);\n }\n },\n [setLastNavigationDirection]\n );\n\n const onMousedownAnywhere = useCallback(() => {\n lastNavigationDirectionRef.current = undefined;\n }, [lastNavigationDirectionRef]);\n\n useKeyEvent({ ref: documentRef, capture: true, keys: NAVIGATION_KEYS, callback: onKeyEvent });\n useEventListener({ eventName: \"mousedown\", ref: documentRef, capture: true, callback: onMousedownAnywhere });\n\n return { lastNavigationDirectionRef };\n};\n"],"names":["NAVIGATION_KEYS","concat","_toConsumableArray","ARROW_UP_KEYS","ARROW_RIGHT_KEYS","ARROW_DOWN_KEYS","ARROW_LEFT_KEYS","useLastNavigationDirection","documentRef","useRef","document","lastNavigationDirectionRef","setLastNavigationDirection","useCallback","dir","current","onKeyEvent","_ref","key","includes","NavDirections","UP","RIGHT","DOWN","LEFT","onMousedownAnywhere","undefined","useKeyEvent","ref","capture","keys","callback","useEventListener","eventName"],"mappings":"gdAWA,IAAMA,EAAeC,GAAAA,OAAAC,EAAOC,GAAaD,EAAKE,GAAgBF,EAAKG,GAAeH,EAAKI,IAE1EC,EAA6B,WACxC,IAAMC,EAAcC,EAAOC,UAErBC,EAA6BF,IAE7BG,EAA6BC,GAAY,SAACC,GAC9CH,EAA2BI,QAAUD,CACtC,GAAE,IAEGE,EAAaH,GACjB,SAAAI,GAA2B,IAAxBC,EAAGD,EAAHC,IACGf,EAAcgB,SAASD,GACzBN,EAA2BQ,EAAcC,IAChCjB,EAAiBe,SAASD,GACnCN,EAA2BQ,EAAcE,OAChCjB,EAAgBc,SAASD,GAClCN,EAA2BQ,EAAcG,MAChCjB,EAAgBa,SAASD,IAClCN,EAA2BQ,EAAcI,KAE7C,GACA,CAACZ,IAGGa,EAAsBZ,GAAY,WACtCF,EAA2BI,aAAUW,CACvC,GAAG,CAACf,IAKJ,OAHAgB,EAAY,CAAEC,IAAKpB,EAAaqB,SAAS,EAAMC,KAAM9B,EAAiB+B,SAAUf,IAChFgB,EAAiB,CAAEC,UAAW,YAAaL,IAAKpB,EAAaqB,SAAS,EAAME,SAAUN,IAE/E,CAAEd,2BAAAA,EACX"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as r}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as o}from"react";import t
|
|
1
|
+
import{slicedToArray as r}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as o}from"react";import{useIsomorphicLayoutEffect as t}from"../../../../../shared/dist/hooks/ssr/useIsomorphicLayoutEffect.js";var e=0,s=function(){return"menu-".concat(e++)},i=function(e){var i=o(),n=r(i,2),u=n[0],a=n[1];return t((function(){a(e||s())}),[e]),u};export{s as generateMenuId,i as useMenuId};
|
|
2
2
|
//# sourceMappingURL=useMenuId.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuId.js","sources":["../../../../../../src/components/Menu/Menu/hooks/useMenuId.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport useIsomorphicLayoutEffect from \"
|
|
1
|
+
{"version":3,"file":"useMenuId.js","sources":["../../../../../../src/components/Menu/Menu/hooks/useMenuId.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"@vibe/shared\";\n\nlet menuIdCounter = 0;\nexport const generateMenuId = () => {\n return `menu-${menuIdCounter++}`;\n};\n\nexport const useMenuId = (id: string) => {\n const [menuId, setMenuId] = useState<string>();\n useIsomorphicLayoutEffect(() => {\n setMenuId(id || generateMenuId());\n }, [id]);\n return menuId;\n};\n"],"names":["menuIdCounter","generateMenuId","concat","useMenuId","id","_useState","useState","_useState2","_slicedToArray","menuId","setMenuId","useIsomorphicLayoutEffect"],"mappings":"oOAGA,IAAIA,EAAgB,EACPC,EAAiB,WAC5B,MAAAC,QAAAA,OAAeF,IACjB,EAEaG,EAAY,SAACC,GACxB,IAAAC,EAA4BC,IAAkBC,EAAAC,EAAAH,EAAA,GAAvCI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAIxB,OAHAI,GAA0B,WACxBD,EAAUN,GAAMH,IAClB,GAAG,CAACG,IACGK,CACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useCallback as e,useMemo as t}from"react";import{NavDirections as n,ARROW_DOWN_KEYS as s,ARROW_UP_KEYS as a,ENTER_KEYS as i,HOME_KEYS as c,END_KEYS as o}from"../../../../hooks/useFullKeyboardListeners.js";import r
|
|
1
|
+
import{useCallback as e,useMemo as t}from"react";import{NavDirections as n,ARROW_DOWN_KEYS as s,ARROW_UP_KEYS as a,ENTER_KEYS as i,HOME_KEYS as c,END_KEYS as o}from"../../../../hooks/useFullKeyboardListeners.js";import{useKeyEvent as r}from"../../../../../shared/dist/hooks/useKeyEvent.js";function u(u){var f=u.hasOpenSubMenu,l=u.getNextSelectableIndex,b=u.getPreviousSelectableIndex,k=u.activeItemIndex,v=u.setActiveItemIndex,m=u.isVisible,d=u.ref,g=u.useDocumentEventListeners,p=e((function(e){var t;if(f)return!1;e===n.DOWN?t=l(k):e===n.UP&&(t=b(k)),(t||0===t)&&v(t)}),[k,l,b,f,v]),O=e((function(){p(n.UP)}),[p]),j=e((function(){p(n.DOWN)}),[p]),y=e((function(e){m&&-1===k&&v(0)}),[v,k,m]),x=e((function(){if(!f){var e=l(-1);-1!==e&&v(e)}}),[f,l,v]),I=e((function(){if(!f){var e=b(0);-1!==e&&v(e)}}),[f,b,v]),h=t((function(){if(!g)return{ref:d,preventDefault:!0,stopPropagation:!0}}),[g,d]);r(Object.assign({keys:s,callback:j},h)),r(Object.assign({keys:a,callback:O},h)),r(Object.assign({keys:i,callback:y},h)),r(Object.assign({keys:c,callback:x},h)),r(Object.assign({keys:o,callback:I},h))}export{u as default};
|
|
2
2
|
//# sourceMappingURL=useMenuKeyboardNavigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuKeyboardNavigation.js","sources":["../../../../../../src/components/Menu/Menu/hooks/useMenuKeyboardNavigation.tsx"],"sourcesContent":["import type React from \"react\";\nimport { useCallback, useMemo } from \"react\";\nimport {\n ARROW_DOWN_KEYS,\n ARROW_UP_KEYS,\n ENTER_KEYS,\n HOME_KEYS,\n END_KEYS,\n NavDirections\n} from \"../../../../hooks/useFullKeyboardListeners\";\nimport useKeyEvent from \"../../../../hooks/useKeyEvent\";\n\nexport default function useMenuKeyboardNavigation({\n hasOpenSubMenu,\n getNextSelectableIndex,\n getPreviousSelectableIndex,\n activeItemIndex,\n setActiveItemIndex,\n isVisible,\n ref,\n useDocumentEventListeners\n}: {\n hasOpenSubMenu: boolean;\n getNextSelectableIndex: (index: number) => number;\n getPreviousSelectableIndex: (index: number) => number;\n activeItemIndex: number;\n setActiveItemIndex: (index: number) => void;\n isVisible: boolean;\n ref: React.RefObject<HTMLElement>;\n useDocumentEventListeners: boolean;\n}) {\n const onArrowKeyEvent = useCallback(\n (direction: NavDirections) => {\n let newIndex;\n\n if (hasOpenSubMenu) return false;\n\n if (direction === NavDirections.DOWN) {\n newIndex = getNextSelectableIndex(activeItemIndex);\n } else if (direction === NavDirections.UP) {\n newIndex = getPreviousSelectableIndex(activeItemIndex);\n }\n\n if (newIndex || newIndex === 0) setActiveItemIndex(newIndex);\n },\n [activeItemIndex, getNextSelectableIndex, getPreviousSelectableIndex, hasOpenSubMenu, setActiveItemIndex]\n );\n const onArrowUp = useCallback(() => {\n onArrowKeyEvent(NavDirections.UP);\n }, [onArrowKeyEvent]);\n\n const onArrowDown = useCallback(() => {\n onArrowKeyEvent(NavDirections.DOWN);\n }, [onArrowKeyEvent]);\n\n const onEnterClickCallback = useCallback(\n (_event: React.KeyboardEvent) => {\n if (!isVisible) return;\n\n if (activeItemIndex === -1) {\n setActiveItemIndex(0);\n }\n },\n [setActiveItemIndex, activeItemIndex, isVisible]\n );\n\n const onHomeKey = useCallback(() => {\n if (hasOpenSubMenu) return;\n const firstIndex = getNextSelectableIndex(-1);\n if (firstIndex !== -1) {\n setActiveItemIndex(firstIndex);\n }\n }, [hasOpenSubMenu, getNextSelectableIndex, setActiveItemIndex]);\n\n const onEndKey = useCallback(() => {\n if (hasOpenSubMenu) return;\n const lastIndex = getPreviousSelectableIndex(0);\n if (lastIndex !== -1) {\n setActiveItemIndex(lastIndex);\n }\n }, [hasOpenSubMenu, getPreviousSelectableIndex, setActiveItemIndex]);\n\n const listenerOptions = useMemo(() => {\n if (useDocumentEventListeners) return undefined;\n\n return {\n ref,\n preventDefault: true,\n stopPropagation: true\n };\n }, [useDocumentEventListeners, ref]);\n\n useKeyEvent({\n keys: ARROW_DOWN_KEYS,\n callback: onArrowDown,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: ARROW_UP_KEYS,\n callback: onArrowUp,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: ENTER_KEYS,\n callback: onEnterClickCallback,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: HOME_KEYS,\n callback: onHomeKey,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: END_KEYS,\n callback: onEndKey,\n ...listenerOptions\n });\n}\n"],"names":["useMenuKeyboardNavigation","_ref","hasOpenSubMenu","getNextSelectableIndex","getPreviousSelectableIndex","activeItemIndex","setActiveItemIndex","isVisible","ref","useDocumentEventListeners","onArrowKeyEvent","useCallback","direction","newIndex","NavDirections","DOWN","UP","onArrowUp","onArrowDown","onEnterClickCallback","_event","onHomeKey","firstIndex","onEndKey","lastIndex","listenerOptions","useMemo","preventDefault","stopPropagation","useKeyEvent","Object","assign","keys","ARROW_DOWN_KEYS","callback","ARROW_UP_KEYS","ENTER_KEYS","HOME_KEYS","END_KEYS"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMenuKeyboardNavigation.js","sources":["../../../../../../src/components/Menu/Menu/hooks/useMenuKeyboardNavigation.tsx"],"sourcesContent":["import type React from \"react\";\nimport { useCallback, useMemo } from \"react\";\nimport {\n ARROW_DOWN_KEYS,\n ARROW_UP_KEYS,\n ENTER_KEYS,\n HOME_KEYS,\n END_KEYS,\n NavDirections\n} from \"../../../../hooks/useFullKeyboardListeners\";\nimport useKeyEvent from \"../../../../hooks/useKeyEvent\";\n\nexport default function useMenuKeyboardNavigation({\n hasOpenSubMenu,\n getNextSelectableIndex,\n getPreviousSelectableIndex,\n activeItemIndex,\n setActiveItemIndex,\n isVisible,\n ref,\n useDocumentEventListeners\n}: {\n hasOpenSubMenu: boolean;\n getNextSelectableIndex: (index: number) => number;\n getPreviousSelectableIndex: (index: number) => number;\n activeItemIndex: number;\n setActiveItemIndex: (index: number) => void;\n isVisible: boolean;\n ref: React.RefObject<HTMLElement>;\n useDocumentEventListeners: boolean;\n}) {\n const onArrowKeyEvent = useCallback(\n (direction: NavDirections) => {\n let newIndex;\n\n if (hasOpenSubMenu) return false;\n\n if (direction === NavDirections.DOWN) {\n newIndex = getNextSelectableIndex(activeItemIndex);\n } else if (direction === NavDirections.UP) {\n newIndex = getPreviousSelectableIndex(activeItemIndex);\n }\n\n if (newIndex || newIndex === 0) setActiveItemIndex(newIndex);\n },\n [activeItemIndex, getNextSelectableIndex, getPreviousSelectableIndex, hasOpenSubMenu, setActiveItemIndex]\n );\n const onArrowUp = useCallback(() => {\n onArrowKeyEvent(NavDirections.UP);\n }, [onArrowKeyEvent]);\n\n const onArrowDown = useCallback(() => {\n onArrowKeyEvent(NavDirections.DOWN);\n }, [onArrowKeyEvent]);\n\n const onEnterClickCallback = useCallback(\n (_event: React.KeyboardEvent) => {\n if (!isVisible) return;\n\n if (activeItemIndex === -1) {\n setActiveItemIndex(0);\n }\n },\n [setActiveItemIndex, activeItemIndex, isVisible]\n );\n\n const onHomeKey = useCallback(() => {\n if (hasOpenSubMenu) return;\n const firstIndex = getNextSelectableIndex(-1);\n if (firstIndex !== -1) {\n setActiveItemIndex(firstIndex);\n }\n }, [hasOpenSubMenu, getNextSelectableIndex, setActiveItemIndex]);\n\n const onEndKey = useCallback(() => {\n if (hasOpenSubMenu) return;\n const lastIndex = getPreviousSelectableIndex(0);\n if (lastIndex !== -1) {\n setActiveItemIndex(lastIndex);\n }\n }, [hasOpenSubMenu, getPreviousSelectableIndex, setActiveItemIndex]);\n\n const listenerOptions = useMemo(() => {\n if (useDocumentEventListeners) return undefined;\n\n return {\n ref,\n preventDefault: true,\n stopPropagation: true\n };\n }, [useDocumentEventListeners, ref]);\n\n useKeyEvent({\n keys: ARROW_DOWN_KEYS,\n callback: onArrowDown,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: ARROW_UP_KEYS,\n callback: onArrowUp,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: ENTER_KEYS,\n callback: onEnterClickCallback,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: HOME_KEYS,\n callback: onHomeKey,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: END_KEYS,\n callback: onEndKey,\n ...listenerOptions\n });\n}\n"],"names":["useMenuKeyboardNavigation","_ref","hasOpenSubMenu","getNextSelectableIndex","getPreviousSelectableIndex","activeItemIndex","setActiveItemIndex","isVisible","ref","useDocumentEventListeners","onArrowKeyEvent","useCallback","direction","newIndex","NavDirections","DOWN","UP","onArrowUp","onArrowDown","onEnterClickCallback","_event","onHomeKey","firstIndex","onEndKey","lastIndex","listenerOptions","useMemo","preventDefault","stopPropagation","useKeyEvent","Object","assign","keys","ARROW_DOWN_KEYS","callback","ARROW_UP_KEYS","ENTER_KEYS","HOME_KEYS","END_KEYS"],"mappings":"kSAYwB,SAAAA,EAAyBC,GAkBhD,IAjBCC,EAAcD,EAAdC,eACAC,EAAsBF,EAAtBE,uBACAC,EAA0BH,EAA1BG,2BACAC,EAAeJ,EAAfI,gBACAC,EAAkBL,EAAlBK,mBACAC,EAASN,EAATM,UACAC,EAAGP,EAAHO,IACAC,EAAyBR,EAAzBQ,0BAWMC,EAAkBC,GACtB,SAACC,GACC,IAAIC,EAEJ,GAAIX,EAAgB,OAAO,EAEvBU,IAAcE,EAAcC,KAC9BF,EAAWV,EAAuBE,GACzBO,IAAcE,EAAcE,KACrCH,EAAWT,EAA2BC,KAGpCQ,GAAyB,IAAbA,IAAgBP,EAAmBO,EACrD,GACA,CAACR,EAAiBF,EAAwBC,EAA4BF,EAAgBI,IAElFW,EAAYN,GAAY,WAC5BD,EAAgBI,EAAcE,GAChC,GAAG,CAACN,IAEEQ,EAAcP,GAAY,WAC9BD,EAAgBI,EAAcC,KAChC,GAAG,CAACL,IAEES,EAAuBR,GAC3B,SAACS,GACMb,IAEoB,IAArBF,GACFC,EAAmB,EAEtB,GACD,CAACA,EAAoBD,EAAiBE,IAGlCc,EAAYV,GAAY,WAC5B,IAAIT,EAAJ,CACA,IAAMoB,EAAanB,GAAwB,IACvB,IAAhBmB,GACFhB,EAAmBgB,EAHD,CAKrB,GAAE,CAACpB,EAAgBC,EAAwBG,IAEtCiB,EAAWZ,GAAY,WAC3B,IAAIT,EAAJ,CACA,IAAMsB,EAAYpB,EAA2B,IAC1B,IAAfoB,GACFlB,EAAmBkB,EAHD,CAKrB,GAAE,CAACtB,EAAgBE,EAA4BE,IAE1CmB,EAAkBC,GAAQ,WAC9B,IAAIjB,EAEJ,MAAO,CACLD,IAAAA,EACAmB,gBAAgB,EAChBC,iBAAiB,EAErB,GAAG,CAACnB,EAA2BD,IAE/BqB,EAAWC,OAAAC,OAAA,CACTC,KAAMC,EACNC,SAAUhB,GACPO,IAGLI,EAAWC,OAAAC,OAAA,CACTC,KAAMG,EACND,SAAUjB,GACPQ,IAGLI,EAAWC,OAAAC,OAAA,CACTC,KAAMI,EACNF,SAAUf,GACPM,IAGLI,EAAWC,OAAAC,OAAA,CACTC,KAAMK,EACNH,SAAUb,GACPI,IAGLI,EAAWC,OAAAC,OAAA,CACTC,KAAMM,EACNJ,SAAUX,GACPE,GAEP"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"../../../../hooks/useIsMouseEnter.js";import
|
|
1
|
+
import e from"../../../../hooks/useIsMouseEnter.js";import s from"../../../../hooks/usePrevious/index.js";import{useIsomorphicLayoutEffect as o}from"../../../../../shared/dist/hooks/ssr/useIsomorphicLayoutEffect.js";function r(r){var t=r.resetOpenSubMenuIndex,u=r.hasOpenSubMenu,n=r.ref,f=r.setActiveItemIndex,i=e({ref:n}),m=s(i);return o((function(){i||i!==m&&(u||(t(),f(-1)))}),[t,n,m,i,u,f]),i}export{r as default};
|
|
2
2
|
//# sourceMappingURL=useMouseLeave.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMouseLeave.js","sources":["../../../../../../src/components/Menu/Menu/hooks/useMouseLeave.tsx"],"sourcesContent":["import type React from \"react\";\nimport useIsMouseEnter from \"../../../../hooks/useIsMouseEnter\";\nimport usePrevious from \"../../../../hooks/usePrevious\";\nimport useIsomorphicLayoutEffect from \"
|
|
1
|
+
{"version":3,"file":"useMouseLeave.js","sources":["../../../../../../src/components/Menu/Menu/hooks/useMouseLeave.tsx"],"sourcesContent":["import type React from \"react\";\nimport useIsMouseEnter from \"../../../../hooks/useIsMouseEnter\";\nimport usePrevious from \"../../../../hooks/usePrevious\";\nimport { useIsomorphicLayoutEffect } from \"@vibe/shared\";\n\nexport default function useMouseLeave({\n resetOpenSubMenuIndex,\n hasOpenSubMenu,\n ref,\n setActiveItemIndex\n}: {\n resetOpenSubMenuIndex: () => void;\n hasOpenSubMenu: boolean;\n ref: React.RefObject<HTMLElement>;\n setActiveItemIndex: (index: number) => void;\n}) {\n const isMouseEnter = useIsMouseEnter({ ref });\n const prevIsMouseEnter = usePrevious(isMouseEnter);\n\n useIsomorphicLayoutEffect(() => {\n if (isMouseEnter) return;\n if (isMouseEnter === prevIsMouseEnter) return;\n if (hasOpenSubMenu) return;\n resetOpenSubMenuIndex();\n setActiveItemIndex(-1);\n }, [resetOpenSubMenuIndex, ref, prevIsMouseEnter, isMouseEnter, hasOpenSubMenu, setActiveItemIndex]);\n\n return isMouseEnter;\n}\n"],"names":["useMouseLeave","_ref","resetOpenSubMenuIndex","hasOpenSubMenu","ref","setActiveItemIndex","isMouseEnter","useIsMouseEnter","prevIsMouseEnter","usePrevious","useIsomorphicLayoutEffect"],"mappings":"wNAKwB,SAAAA,EAAaC,GAUpC,IATCC,EAAqBD,EAArBC,sBACAC,EAAcF,EAAdE,eACAC,EAAGH,EAAHG,IACAC,EAAkBJ,EAAlBI,mBAOMC,EAAeC,EAAgB,CAAEH,IAAAA,IACjCI,EAAmBC,EAAYH,GAUrC,OARAI,GAA0B,WACpBJ,GACAA,IAAiBE,IACjBL,IACJD,IACAG,GAAoB,IACtB,GAAG,CAACH,EAAuBE,EAAKI,EAAkBF,EAAcH,EAAgBE,IAEzEC,CACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{forwardRef as t,useRef as i,useCallback as
|
|
1
|
+
import e,{forwardRef as t,useRef as i,useCallback as s}from"react";import{GridKeyboardNavigationContext as n}from"../../GridKeyboardNavigationContext/GridKeyboardNavigationContext.js";import{useMenuGridItemNavContext as r}from"./useMenuGridItemNavContext.js";import{useFocusGridItemByActiveStatus as o}from"./useFocusGridItemByActiveStatus.js";import{useFocusWithin as a}from"../../../hooks/useFocusWithin.js";import{getTestId as d,ComponentDefaultTestId as l}from"../../../tests/testIds.js";import{useMergeRef as c}from"../../../../shared/dist/hooks/useMergeRef.js";var u=t((function(t,u){var m=t.className,v=t.id,I=t.children,x=t.index,f=t.activeItemIndex,b=void 0===f?-1:f,p=t.closeMenu,g=t.getNextSelectableIndex,h=t.getPreviousSelectableIndex,M=t.setActiveItemIndex,j=t.setSubMenuIsOpenByIndex,S=t.isUnderSubMenu,N=void 0!==S&&S,E=t.disabled,y=void 0!==E&&E,C=t.useDocumentEventListeners,G=void 0!==C&&C,O=t["data-testid"],R=i(null),P=c(u,R),A=i(),D=I&&e.Children.only(I);D||console.error("MenuGridItem can accept only a single element as first level child, this element is not valid: ",D);var F=s((function(e){j(x,e),e&&M(x)}),[x,M,j]),U=a({onFocusWithinChange:F}).focusWithinProps;o({wrapperRef:R,childRef:A,activeItemIndex:b,index:x,useDocumentEventListeners:G});var W=r({wrapperRef:R,setActiveItemIndex:M,getPreviousSelectableIndex:h,getNextSelectableIndex:g,activeItemIndex:b,isUnderSubMenu:N,closeMenu:p});return e.createElement("section",Object.assign({ref:P,className:m,id:v,"data-testid":O||d(l.MENU_GRID_ITEM,v),tabIndex:-1,role:"grid"},U),e.createElement(n.Provider,{value:W},e.cloneElement(D,Object.assign(Object.assign({},null==D?void 0:D.props),{disabled:y,ref:A}))))}));Object.assign(u,{isMenuChild:!0,isSelectable:!0});export{u as default};
|
|
2
2
|
//# sourceMappingURL=MenuGridItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuGridItem.js","sources":["../../../../../src/components/Menu/MenuGridItem/MenuGridItem.tsx"],"sourcesContent":["import React, { forwardRef, type ReactElement, useCallback, useRef } from \"react\";\nimport useMergeRef from \"
|
|
1
|
+
{"version":3,"file":"MenuGridItem.js","sources":["../../../../../src/components/Menu/MenuGridItem/MenuGridItem.tsx"],"sourcesContent":["import React, { forwardRef, type ReactElement, useCallback, useRef } from \"react\";\nimport { useMergeRef } from \"@vibe/shared\";\nimport { GridKeyboardNavigationContext } from \"../../GridKeyboardNavigationContext\";\nimport { useMenuGridItemNavContext } from \"./useMenuGridItemNavContext\";\nimport { useFocusGridItemByActiveStatus } from \"./useFocusGridItemByActiveStatus\";\nimport { useFocusWithin } from \"../../../hooks/useFocusWithin\";\nimport { type VibeComponentProps } from \"../../../types\";\nimport { type CloseMenuOption } from \"../Menu/MenuConstants\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../tests/test-ids-utils\";\n\nexport interface MenuGridItemProps extends VibeComponentProps {\n /**\n * The content of the menu grid item.\n */\n children?: ReactElement | ReactElement[];\n /**\n * If true, keyboard navigation will skip this item. This prop is also passed to the child.\n */\n disabled?: boolean;\n /**\n * A callback function to close the wrapping menu.\n */\n closeMenu?: (option: CloseMenuOption) => void;\n /**\n * The currently active index of the wrapping menu.\n */\n activeItemIndex?: number;\n /**\n * Callback function to set the active item index.\n */\n setActiveItemIndex?: (index: number) => void;\n /**\n * Function to get the next selectable index.\n */\n getNextSelectableIndex?: (activeItemIndex: number) => number;\n /**\n * Function to get the previous selectable index.\n */\n getPreviousSelectableIndex?: (activeItemIndex: number) => number;\n /**\n * The index of this menu grid item.\n */\n index?: number;\n /**\n * If true, this item is under a submenu instead of a top-level menu.\n */\n isUnderSubMenu?: boolean;\n /**\n * Callback function to open or close a submenu by its index.\n */\n setSubMenuIsOpenByIndex?: (index: number, isOpen: boolean) => void;\n /**\n * If true, event listeners will be attached to the document.\n */\n useDocumentEventListeners?: boolean;\n}\n\nconst MenuGridItem = forwardRef(\n (\n {\n className,\n id,\n children,\n index,\n activeItemIndex = -1,\n closeMenu,\n getNextSelectableIndex,\n getPreviousSelectableIndex,\n setActiveItemIndex,\n setSubMenuIsOpenByIndex,\n isUnderSubMenu = false,\n disabled = false,\n useDocumentEventListeners = false,\n \"data-testid\": dataTestId\n }: MenuGridItemProps,\n ref: React.ForwardedRef<HTMLElement>\n ) => {\n const componentRef = useRef(null);\n const mergedRef = useMergeRef(ref, componentRef);\n const childRef = useRef();\n\n const child = children && React.Children.only(children);\n if (!child) {\n console.error(\n \"MenuGridItem can accept only a single element as first level child, this element is not valid: \",\n child\n );\n }\n\n const onFocusWithinChange = useCallback(\n (isFocusWithin: boolean) => {\n setSubMenuIsOpenByIndex(index, isFocusWithin);\n if (isFocusWithin) {\n setActiveItemIndex(index);\n }\n },\n [index, setActiveItemIndex, setSubMenuIsOpenByIndex]\n );\n const { focusWithinProps } = useFocusWithin({ onFocusWithinChange });\n\n useFocusGridItemByActiveStatus({\n wrapperRef: componentRef,\n childRef,\n activeItemIndex,\n index,\n useDocumentEventListeners\n });\n\n const keyboardContext = useMenuGridItemNavContext({\n wrapperRef: componentRef,\n setActiveItemIndex,\n getPreviousSelectableIndex,\n getNextSelectableIndex,\n activeItemIndex,\n isUnderSubMenu,\n closeMenu\n });\n\n return (\n <section\n ref={mergedRef}\n className={className}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MENU_GRID_ITEM, id)}\n tabIndex={-1}\n role=\"grid\"\n {...focusWithinProps}\n >\n <GridKeyboardNavigationContext.Provider value={keyboardContext}>\n {React.cloneElement(child, {\n ...child?.props,\n disabled,\n ref: childRef\n })}\n </GridKeyboardNavigationContext.Provider>\n </section>\n );\n }\n);\n\nObject.assign(MenuGridItem, {\n isMenuChild: true,\n isSelectable: true\n});\n\nexport default MenuGridItem;\n"],"names":["MenuGridItem","forwardRef","_ref","ref","className","id","children","index","_ref$activeItemIndex","activeItemIndex","closeMenu","getNextSelectableIndex","getPreviousSelectableIndex","setActiveItemIndex","setSubMenuIsOpenByIndex","_ref$isUnderSubMenu","isUnderSubMenu","_ref$disabled","disabled","_ref$useDocumentEvent","useDocumentEventListeners","dataTestId","componentRef","useRef","mergedRef","useMergeRef","childRef","child","React","Children","only","console","error","onFocusWithinChange","useCallback","isFocusWithin","focusWithinProps","useFocusWithin","useFocusGridItemByActiveStatus","wrapperRef","keyboardContext","useMenuGridItemNavContext","createElement","Object","assign","getTestId","ComponentDefaultTestId","MENU_GRID_ITEM","tabIndex","role","GridKeyboardNavigationContext","Provider","value","cloneElement","props","isMenuChild","isSelectable"],"mappings":"ujBAyDMA,IAAAA,EAAeC,GACnB,SAAAC,EAiBEC,GACE,IAhBAC,EAASF,EAATE,UACAC,EAAEH,EAAFG,GACAC,EAAQJ,EAARI,SACAC,EAAKL,EAALK,MAAKC,EAAAN,EACLO,gBAAAA,OAAe,IAAAD,GAAI,EAACA,EACpBE,EAASR,EAATQ,UACAC,EAAsBT,EAAtBS,uBACAC,EAA0BV,EAA1BU,2BACAC,EAAkBX,EAAlBW,mBACAC,EAAuBZ,EAAvBY,wBAAuBC,EAAAb,EACvBc,eAAAA,OAAiB,IAAHD,GAAQA,EAAAE,EAAAf,EACtBgB,SAAAA,OAAW,IAAHD,GAAQA,EAAAE,EAAAjB,EAChBkB,0BAAAA,OAA4B,IAAHD,GAAQA,EAClBE,EAAUnB,EAAzB,eAIIoB,EAAeC,EAAO,MACtBC,EAAYC,EAAYtB,EAAKmB,GAC7BI,EAAWH,IAEXI,EAAQrB,GAAYsB,EAAMC,SAASC,KAAKxB,GACzCqB,GACHI,QAAQC,MACN,kGACAL,GAIJ,IAAMM,EAAsBC,GAC1B,SAACC,GACCrB,EAAwBP,EAAO4B,GAC3BA,GACFtB,EAAmBN,EAEtB,GACD,CAACA,EAAOM,EAAoBC,IAEtBsB,EAAqBC,EAAe,CAAEJ,oBAAAA,IAAtCG,iBAERE,EAA+B,CAC7BC,WAAYjB,EACZI,SAAAA,EACAjB,gBAAAA,EACAF,MAAAA,EACAa,0BAAAA,IAGF,IAAMoB,EAAkBC,EAA0B,CAChDF,WAAYjB,EACZT,mBAAAA,EACAD,2BAAAA,EACAD,uBAAAA,EACAF,gBAAAA,EACAO,eAAAA,EACAN,UAAAA,IAGF,OACEkB,EAAAc,cAAA,UAAAC,OAAAC,OAAA,CACEzC,IAAKqB,EACLpB,UAAWA,EACXC,GAAIA,EAAE,cACOgB,GAAcwB,EAAUC,EAAuBC,eAAgB1C,GAC5E2C,UAAW,EACXC,KAAK,QACDb,GAEJR,EAAAc,cAACQ,EAA8BC,SAAQ,CAACC,MAAOZ,GAC5CZ,EAAMyB,aAAa1B,EACfgB,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAjB,aAAA,EAAAA,EAAO2B,QACVpC,SAAAA,EACAf,IAAKuB,MAKf,IAGFiB,OAAOC,OAAO5C,EAAc,CAC1BuD,aAAa,EACbC,cAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineProperty as e}from"../../../../../../_virtual/_rollupPluginBabelHelpers.js";import t,{forwardRef as n,useRef as o,useEffect as s,useCallback as u}from"react";import{getTestId as i,ComponentDefaultTestId as r}from"../../../../../tests/testIds.js";import l from"classnames";import{TAB_INDEX_FOCUS_WITH_JS_ONLY as a}from"../../MenuItemConstants.js";import
|
|
1
|
+
import{defineProperty as e}from"../../../../../../_virtual/_rollupPluginBabelHelpers.js";import t,{forwardRef as n,useRef as o,useEffect as s,useCallback as u}from"react";import{getTestId as i,ComponentDefaultTestId as r}from"../../../../../tests/testIds.js";import l from"classnames";import{TAB_INDEX_FOCUS_WITH_JS_ONLY as a}from"../../MenuItemConstants.js";import d from"../MenuItemSubMenuIcon/MenuItemSubMenuIcon.js";import m from"../MenuItemSubMenu/MenuItemSubMenu.js";import c from"../../hooks/useMenuItemMouseEvents.js";import M from"../../hooks/useMenuItemKeyboardEvents.js";import I from"../../../../../hooks/useIsMouseEnter.js";import p from"./BaseMenuItem.module.scss.js";import v from"../../../../../../components/typography/dist/Text/Text.js";import{useMergeRef as f}from"../../../../../../shared/dist/hooks/useMergeRef.js";var b=n((function(n,b){var h=n.subMenu,S=n.className,x=n.menuRef,E=n.disabled,j=void 0!==E&&E,C=n.selected,k=void 0!==C&&C,O=n.onClick,y=n.activeItemIndex,g=n.setActiveItemIndex,A=n.index,B=n.id,R=n.isParentMenuVisible,w=n.resetOpenSubMenuIndex,N=n.hasOpenSubMenu,P=n.setSubMenuIsOpenByIndex,L=n.closeMenu,T=n.useDocumentEventListeners,V=void 0!==T&&T,_=n.isInitialSelectedState,z=n.onMouseEnter,D=n.onMouseLeave,F=n.shouldScrollMenu,H=n["data-testid"],K=n.splitMenuItem,U=void 0!==K&&K,q=n.children,G=n.submenuPosition,J=void 0===G?"right":G,Q=n.autoAdjustOnSubMenuContentResize,W=(void 0===y?-1:y)===A,X=!j&&!!h&&(void 0!==R&&R)&&(W&&(void 0!==N&&N)),Y=o(null),Z=o(null),$=f(b,Y),ee=I({ref:Y}),te=I({ref:Z});s((function(){var e,t=Y.current;W&&F&&t&&(t.scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded({behaviour:"smooth"}):null===(e=t.scrollIntoView)||void 0===e||e.call(t,{behavior:"smooth",block:"center"}))}),[W,F]),s((function(){var e=Y.current;V||W&&(null==e||e.focus())}),[W,V]);var ne=c({ref:Y,splitMenuItemIconButtonRef:Z,resetOpenSubMenuIndex:w,setSubMenuIsOpenByIndex:P,isActive:W,setActiveItemIndex:g,index:A,hasChildren:!!h,splitMenuItem:U}),oe=M({onClick:O,disabled:j,isActive:W,index:A,setActiveItemIndex:g,hasChildren:!!h,shouldShowSubMenu:X,setSubMenuIsOpenByIndex:P,menuRef:x,isMouseEnter:ne,closeMenu:L,useDocumentEventListeners:V,splitMenuItem:U,isMouseEnterMenuItem:ee,isMouseEnterIconButton:te}).onClickCallback,se=u((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};P(A,!1),e.propagate&&L(e)}),[P,A,L]);return t.createElement(v,{id:B,element:"li",type:"text2","aria-haspopup":!!h||void 0,"aria-expanded":h?X:void 0,"data-testid":H||i(r.MENU_ITEM,A),className:l(p.item,S,e(e(e(e(e({},p.disabled,j),p.focused,W),p.selected,k),p.initialSelected,_),p.splitMenuItem,U)),ref:$,onClick:oe,role:"menuitem","aria-selected":W,onMouseLeave:D,onMouseEnter:z,tabIndex:a,withoutTooltip:!0},q,!!h&&t.createElement(t.Fragment,null,t.createElement(d,{ref:Z,isSplit:U,active:X,disabled:j}),t.createElement(m,{anchorRef:Y,open:X,onClose:se,autoFocusOnMount:!V,submenuPosition:J,autoAdjustOnSubMenuContentResize:Q},h)))}));export{b as default};
|
|
2
2
|
//# sourceMappingURL=BaseMenuItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMenuItem.js","sources":["../../../../../../../src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useRef } from \"react\";\nimport { Text } from \"@vibe/typography\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { TAB_INDEX_FOCUS_WITH_JS_ONLY } from \"../../MenuItemConstants\";\nimport MenuItemSubMenuIcon from \"../MenuItemSubMenuIcon/MenuItemSubMenuIcon\";\nimport MenuItemSubMenu from \"../MenuItemSubMenu/MenuItemSubMenu\";\nimport { type CloseMenuOption } from \"../../../Menu/MenuConstants\";\nimport useMenuItemMouseEvents from \"../../hooks/useMenuItemMouseEvents\";\nimport useMenuItemKeyboardEvents from \"../../hooks/useMenuItemKeyboardEvents\";\nimport useMergeRef from \"
|
|
1
|
+
{"version":3,"file":"BaseMenuItem.js","sources":["../../../../../../../src/components/Menu/MenuItem/components/BaseMenuItem/BaseMenuItem.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useRef } from \"react\";\nimport { Text } from \"@vibe/typography\";\nimport { ComponentDefaultTestId, getTestId } from \"../../../../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { TAB_INDEX_FOCUS_WITH_JS_ONLY } from \"../../MenuItemConstants\";\nimport MenuItemSubMenuIcon from \"../MenuItemSubMenuIcon/MenuItemSubMenuIcon\";\nimport MenuItemSubMenu from \"../MenuItemSubMenu/MenuItemSubMenu\";\nimport { type CloseMenuOption } from \"../../../Menu/MenuConstants\";\nimport useMenuItemMouseEvents from \"../../hooks/useMenuItemMouseEvents\";\nimport useMenuItemKeyboardEvents from \"../../hooks/useMenuItemKeyboardEvents\";\nimport { useMergeRef } from \"@vibe/shared\";\nimport useIsMouseEnter from \"../../../../../hooks/useIsMouseEnter\";\nimport styles from \"./BaseMenuItem.module.scss\";\nimport { type BaseMenuItemProps } from \"./BaseMenuItem.types\";\n\nconst BaseMenuItem = forwardRef(\n (\n {\n subMenu,\n className,\n menuRef,\n disabled = false,\n selected = false,\n onClick,\n activeItemIndex = -1,\n setActiveItemIndex,\n index,\n id,\n isParentMenuVisible = false,\n resetOpenSubMenuIndex,\n hasOpenSubMenu = false,\n setSubMenuIsOpenByIndex,\n closeMenu,\n useDocumentEventListeners = false,\n isInitialSelectedState,\n onMouseEnter,\n onMouseLeave,\n shouldScrollMenu,\n \"data-testid\": dataTestId,\n splitMenuItem = false,\n children,\n submenuPosition = \"right\",\n autoAdjustOnSubMenuContentResize\n }: BaseMenuItemProps,\n ref: React.ForwardedRef<HTMLElement>\n ) => {\n const isActive = activeItemIndex === index;\n const isSubMenuOpen = isActive && hasOpenSubMenu;\n const shouldShowSubMenu = !disabled && Boolean(subMenu) && isParentMenuVisible && isSubMenuOpen;\n\n const anchorRef = useRef(null);\n const splitMenuItemIconButtonRef = useRef(null);\n\n const mergedRef = useMergeRef(ref, anchorRef);\n\n const isMouseEnterMenuItem = useIsMouseEnter({ ref: anchorRef });\n const isMouseEnterIconButton = useIsMouseEnter({ ref: splitMenuItemIconButtonRef });\n\n useEffect(() => {\n const anchorElement = anchorRef.current;\n if (!isActive || !shouldScrollMenu || !anchorElement) {\n return;\n }\n if (anchorElement.scrollIntoViewIfNeeded) {\n anchorElement.scrollIntoViewIfNeeded({ behaviour: \"smooth\" });\n return;\n }\n anchorElement.scrollIntoView?.({ behavior: \"smooth\", block: \"center\" });\n }, [isActive, shouldScrollMenu]);\n\n useEffect(() => {\n const anchorElement = anchorRef.current;\n if (useDocumentEventListeners) return;\n if (isActive) {\n anchorElement?.focus();\n }\n }, [isActive, useDocumentEventListeners]);\n\n const isMouseEnter = useMenuItemMouseEvents({\n ref: anchorRef,\n splitMenuItemIconButtonRef,\n resetOpenSubMenuIndex,\n setSubMenuIsOpenByIndex,\n isActive,\n setActiveItemIndex,\n index,\n hasChildren: Boolean(subMenu),\n splitMenuItem\n });\n\n const { onClickCallback } = useMenuItemKeyboardEvents({\n onClick,\n disabled,\n isActive,\n index,\n setActiveItemIndex,\n hasChildren: Boolean(subMenu),\n shouldShowSubMenu,\n setSubMenuIsOpenByIndex,\n menuRef,\n isMouseEnter,\n closeMenu,\n useDocumentEventListeners,\n splitMenuItem,\n isMouseEnterMenuItem,\n isMouseEnterIconButton\n });\n\n const closeSubMenu = useCallback(\n (option: CloseMenuOption = {}) => {\n setSubMenuIsOpenByIndex(index, false);\n if (option.propagate) {\n closeMenu(option);\n }\n },\n [setSubMenuIsOpenByIndex, index, closeMenu]\n );\n\n return (\n <Text\n id={id}\n element=\"li\"\n type=\"text2\"\n aria-haspopup={subMenu ? true : undefined}\n aria-expanded={subMenu ? shouldShowSubMenu : undefined}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.MENU_ITEM, index)}\n className={cx(styles.item, className, {\n [styles.disabled]: disabled,\n [styles.focused]: isActive,\n [styles.selected]: selected,\n [styles.initialSelected]: isInitialSelectedState,\n [styles.splitMenuItem]: splitMenuItem\n })}\n ref={mergedRef}\n onClick={onClickCallback}\n role=\"menuitem\"\n aria-selected={isActive}\n onMouseLeave={onMouseLeave}\n onMouseEnter={onMouseEnter}\n tabIndex={TAB_INDEX_FOCUS_WITH_JS_ONLY}\n withoutTooltip\n >\n {children}\n {Boolean(subMenu) && (\n <>\n <MenuItemSubMenuIcon\n ref={splitMenuItemIconButtonRef}\n isSplit={splitMenuItem}\n active={shouldShowSubMenu}\n disabled={disabled}\n />\n <MenuItemSubMenu\n anchorRef={anchorRef}\n open={shouldShowSubMenu}\n onClose={closeSubMenu}\n autoFocusOnMount={!useDocumentEventListeners}\n submenuPosition={submenuPosition}\n autoAdjustOnSubMenuContentResize={autoAdjustOnSubMenuContentResize}\n >\n {subMenu}\n </MenuItemSubMenu>\n </>\n )}\n </Text>\n );\n }\n);\n\nexport default BaseMenuItem;\n"],"names":["BaseMenuItem","forwardRef","_ref","ref","subMenu","className","menuRef","_ref$disabled","disabled","_ref$selected","selected","onClick","_ref$activeItemIndex","activeItemIndex","setActiveItemIndex","index","id","_ref$isParentMenuVisi","isParentMenuVisible","resetOpenSubMenuIndex","_ref$hasOpenSubMenu","hasOpenSubMenu","setSubMenuIsOpenByIndex","closeMenu","_ref$useDocumentEvent","useDocumentEventListeners","isInitialSelectedState","onMouseEnter","onMouseLeave","shouldScrollMenu","dataTestId","_ref$splitMenuItem","splitMenuItem","children","_ref$submenuPosition","submenuPosition","autoAdjustOnSubMenuContentResize","isActive","shouldShowSubMenu","anchorRef","useRef","splitMenuItemIconButtonRef","mergedRef","useMergeRef","isMouseEnterMenuItem","useIsMouseEnter","isMouseEnterIconButton","useEffect","anchorElement","current","scrollIntoViewIfNeeded","behaviour","_a","scrollIntoView","call","behavior","block","focus","isMouseEnter","useMenuItemMouseEvents","hasChildren","onClickCallback","useMenuItemKeyboardEvents","closeSubMenu","useCallback","option","arguments","length","undefined","propagate","React","createElement","Text","element","type","getTestId","ComponentDefaultTestId","MENU_ITEM","cx","styles","item","_defineProperty","focused","initialSelected","role","tabIndex","TAB_INDEX_FOCUS_WITH_JS_ONLY","withoutTooltip","Fragment","MenuItemSubMenuIcon","isSplit","active","MenuItemSubMenu","open","onClose","autoFocusOnMount"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{useRef as t,useMemo as n}from"react";import{useFloating as o,flip as i}from"@floating-ui/react-dom";import
|
|
1
|
+
import e,{useRef as t,useMemo as n}from"react";import{useFloating as o,flip as i}from"@floating-ui/react-dom";import l from"../../../../../../components/dialog/dist/DialogContentContainer/DialogContentContainer.js";import{useIsomorphicLayoutEffect as r}from"../../../../../../shared/dist/hooks/ssr/useIsomorphicLayoutEffect.js";var s=["right-end","left-start","left-end"],a=function(a){var c,u=a.anchorRef,m=a.open,f=a.autoFocusOnMount,d=a.onClose,p=a.children,v=a.submenuPosition,g=t(null);r((function(){f&&m&&(null==g?void 0:g.current)&&requestAnimationFrame((function(){g.current.focus()}))}),[f,m]);var h=n((function(){return"left"===v?"left-start":"right-start"}),[v]),b=o({placement:h,middleware:[i({fallbackPlacements:s})],elements:{reference:null==u?void 0:u.current}}),y=b.refs,C=b.floatingStyles,j=b.placement,E=p&&e.Children.only(p);return(null===(c=null==E?void 0:E.type)||void 0===c?void 0:c.isMenu)?e.createElement("div",{style:Object.assign(Object.assign({},C),{visibility:m?"visible":"hidden"}),ref:y.setFloating,"data-popper-placement":j},E&&m&&e.createElement(l,null,e.cloneElement(E,Object.assign(Object.assign({},null==E?void 0:E.props),{isVisible:m,isSubMenu:!0,onClose:d,ref:g,useDocumentEventListeners:!f})))):(console.error("MenuItem can accept only Menu element as first level child, this element is not valid: ",E),null)};export{a as default};
|
|
2
2
|
//# sourceMappingURL=MenuItemSubMenu.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useCallback as e}from"react";import
|
|
1
|
+
import{useCallback as e}from"react";import{keyCodes as n}from"../../../../constants/keyCodes.js";import"../../../../constants/sizes.js";import{useKeyEvent as t}from"../../../../../shared/dist/hooks/useKeyEvent.js";var s=[n.ENTER,n.RIGHT_ARROW];function o(n){var o=n.onClick,i=n.disabled,r=n.isActive,u=n.index,a=n.setActiveItemIndex,c=n.hasChildren,f=n.shouldShowSubMenu,l=n.setSubMenuIsOpenByIndex,m=n.menuRef,d=n.isMouseEnter,v=n.closeMenu,p=n.useDocumentEventListeners,I=n.splitMenuItem,M=n.isMouseEnterMenuItem,h=n.isMouseEnterIconButton,k=e((function(e){if(r||d)if(a&&l){var n=e instanceof KeyboardEvent;if(r&&c&&(a(u),!I||h))l(u,!0);else if(n&&I&&l(u,!0),!f){var t=function(){e.preventDefault(),o(e),v({propagate:!0})};if(n&&o&&!i&&r){if("ArrowRight"===e.key)return;t()}!n&&o&&!i&&d&&(r||(a(u),c&&l(u,!0)),(I&&M&&!h||!c)&&requestAnimationFrame((function(){requestAnimationFrame((function(){t()}))})))}}else console.error("MenuItem must be a first level child of a menu")}),[r,d,a,l,c,I,f,o,i,u,v,M,h]),E=e((function(e){return k(e)}),[k]);return t({keys:s,callback:E,ref:p?void 0:m}),{onClickCallback:k}}export{o as default};
|
|
2
2
|
//# sourceMappingURL=useMenuItemKeyboardEvents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItemKeyboardEvents.js","sources":["../../../../../../src/components/Menu/MenuItem/hooks/useMenuItemKeyboardEvents.ts"],"sourcesContent":["import type React from \"react\";\nimport { useCallback } from \"react\";\nimport useKeyEvent from \"../../../../hooks/useKeyEvent\";\nimport { keyCodes } from \"../../../../constants\";\nimport { type CloseMenuOption } from \"../../Menu/MenuConstants\";\n\nconst KEYS = [keyCodes.ENTER, keyCodes.RIGHT_ARROW];\n\nexport default function useMenuItemKeyboardEvents({\n onClick,\n disabled,\n isActive,\n index,\n setActiveItemIndex,\n hasChildren,\n shouldShowSubMenu,\n setSubMenuIsOpenByIndex,\n menuRef,\n isMouseEnter,\n closeMenu,\n useDocumentEventListeners,\n splitMenuItem,\n isMouseEnterMenuItem,\n isMouseEnterIconButton\n}: {\n onClick: (event: React.MouseEvent | React.KeyboardEvent) => void;\n disabled: boolean;\n isActive: boolean;\n index: number;\n hasChildren: boolean;\n shouldShowSubMenu: boolean;\n setSubMenuIsOpenByIndex: (index: number, isOpen: boolean) => void;\n setActiveItemIndex: (index: number) => void;\n menuRef: React.RefObject<HTMLElement>;\n isMouseEnter: boolean;\n closeMenu: (option: CloseMenuOption) => void;\n useDocumentEventListeners: boolean;\n splitMenuItem?: boolean;\n isMouseEnterMenuItem?: boolean;\n isMouseEnterIconButton?: boolean;\n}) {\n const onClickCallback = useCallback(\n (event: React.MouseEvent | React.KeyboardEvent) => {\n if (!isActive && !isMouseEnter) return;\n if (!setActiveItemIndex || !setSubMenuIsOpenByIndex) {\n console.error(\"MenuItem must be a first level child of a menu\");\n return;\n }\n\n const isKeyEvent = event instanceof KeyboardEvent;\n\n if (isActive && hasChildren) {\n setActiveItemIndex(index);\n if (!splitMenuItem || isMouseEnterIconButton) {\n setSubMenuIsOpenByIndex(index, true);\n return;\n }\n }\n\n if (isKeyEvent && splitMenuItem) {\n setSubMenuIsOpenByIndex(index, true);\n }\n\n if (shouldShowSubMenu) return;\n\n const clickCallback = () => {\n event.preventDefault();\n onClick(event);\n closeMenu({ propagate: true });\n };\n\n if (isKeyEvent && onClick && !disabled && isActive) {\n if ((event as React.KeyboardEvent).key === \"ArrowRight\") {\n return;\n }\n clickCallback();\n }\n\n if (!isKeyEvent && onClick && !disabled && isMouseEnter) {\n if (!isActive) {\n setActiveItemIndex(index);\n if (hasChildren) {\n setSubMenuIsOpenByIndex(index, true);\n }\n }\n\n if ((splitMenuItem && isMouseEnterMenuItem && !isMouseEnterIconButton) || !hasChildren) {\n // wait for background of menu item to change before trigger click\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n clickCallback();\n });\n });\n }\n }\n },\n [\n isActive,\n isMouseEnter,\n setActiveItemIndex,\n setSubMenuIsOpenByIndex,\n hasChildren,\n splitMenuItem,\n shouldShowSubMenu,\n onClick,\n disabled,\n index,\n closeMenu,\n isMouseEnterMenuItem,\n isMouseEnterIconButton\n ]\n );\n\n const onKeyboardClick = useCallback((event: React.KeyboardEvent) => onClickCallback(event), [onClickCallback]);\n\n useKeyEvent({\n keys: KEYS,\n callback: onKeyboardClick,\n ref: useDocumentEventListeners ? undefined : menuRef\n });\n\n return { onClickCallback };\n}\n"],"names":["KEYS","keyCodes","ENTER","RIGHT_ARROW","useMenuItemKeyboardEvents","_ref","onClick","disabled","isActive","index","setActiveItemIndex","hasChildren","shouldShowSubMenu","setSubMenuIsOpenByIndex","menuRef","isMouseEnter","closeMenu","useDocumentEventListeners","splitMenuItem","isMouseEnterMenuItem","isMouseEnterIconButton","onClickCallback","useCallback","event","isKeyEvent","KeyboardEvent","clickCallback","preventDefault","propagate","key","requestAnimationFrame","console","error","onKeyboardClick","useKeyEvent","keys","callback","ref","undefined"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMenuItemKeyboardEvents.js","sources":["../../../../../../src/components/Menu/MenuItem/hooks/useMenuItemKeyboardEvents.ts"],"sourcesContent":["import type React from \"react\";\nimport { useCallback } from \"react\";\nimport useKeyEvent from \"../../../../hooks/useKeyEvent\";\nimport { keyCodes } from \"../../../../constants\";\nimport { type CloseMenuOption } from \"../../Menu/MenuConstants\";\n\nconst KEYS = [keyCodes.ENTER, keyCodes.RIGHT_ARROW];\n\nexport default function useMenuItemKeyboardEvents({\n onClick,\n disabled,\n isActive,\n index,\n setActiveItemIndex,\n hasChildren,\n shouldShowSubMenu,\n setSubMenuIsOpenByIndex,\n menuRef,\n isMouseEnter,\n closeMenu,\n useDocumentEventListeners,\n splitMenuItem,\n isMouseEnterMenuItem,\n isMouseEnterIconButton\n}: {\n onClick: (event: React.MouseEvent | React.KeyboardEvent) => void;\n disabled: boolean;\n isActive: boolean;\n index: number;\n hasChildren: boolean;\n shouldShowSubMenu: boolean;\n setSubMenuIsOpenByIndex: (index: number, isOpen: boolean) => void;\n setActiveItemIndex: (index: number) => void;\n menuRef: React.RefObject<HTMLElement>;\n isMouseEnter: boolean;\n closeMenu: (option: CloseMenuOption) => void;\n useDocumentEventListeners: boolean;\n splitMenuItem?: boolean;\n isMouseEnterMenuItem?: boolean;\n isMouseEnterIconButton?: boolean;\n}) {\n const onClickCallback = useCallback(\n (event: React.MouseEvent | React.KeyboardEvent) => {\n if (!isActive && !isMouseEnter) return;\n if (!setActiveItemIndex || !setSubMenuIsOpenByIndex) {\n console.error(\"MenuItem must be a first level child of a menu\");\n return;\n }\n\n const isKeyEvent = event instanceof KeyboardEvent;\n\n if (isActive && hasChildren) {\n setActiveItemIndex(index);\n if (!splitMenuItem || isMouseEnterIconButton) {\n setSubMenuIsOpenByIndex(index, true);\n return;\n }\n }\n\n if (isKeyEvent && splitMenuItem) {\n setSubMenuIsOpenByIndex(index, true);\n }\n\n if (shouldShowSubMenu) return;\n\n const clickCallback = () => {\n event.preventDefault();\n onClick(event);\n closeMenu({ propagate: true });\n };\n\n if (isKeyEvent && onClick && !disabled && isActive) {\n if ((event as React.KeyboardEvent).key === \"ArrowRight\") {\n return;\n }\n clickCallback();\n }\n\n if (!isKeyEvent && onClick && !disabled && isMouseEnter) {\n if (!isActive) {\n setActiveItemIndex(index);\n if (hasChildren) {\n setSubMenuIsOpenByIndex(index, true);\n }\n }\n\n if ((splitMenuItem && isMouseEnterMenuItem && !isMouseEnterIconButton) || !hasChildren) {\n // wait for background of menu item to change before trigger click\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n clickCallback();\n });\n });\n }\n }\n },\n [\n isActive,\n isMouseEnter,\n setActiveItemIndex,\n setSubMenuIsOpenByIndex,\n hasChildren,\n splitMenuItem,\n shouldShowSubMenu,\n onClick,\n disabled,\n index,\n closeMenu,\n isMouseEnterMenuItem,\n isMouseEnterIconButton\n ]\n );\n\n const onKeyboardClick = useCallback((event: React.KeyboardEvent) => onClickCallback(event), [onClickCallback]);\n\n useKeyEvent({\n keys: KEYS,\n callback: onKeyboardClick,\n ref: useDocumentEventListeners ? undefined : menuRef\n });\n\n return { onClickCallback };\n}\n"],"names":["KEYS","keyCodes","ENTER","RIGHT_ARROW","useMenuItemKeyboardEvents","_ref","onClick","disabled","isActive","index","setActiveItemIndex","hasChildren","shouldShowSubMenu","setSubMenuIsOpenByIndex","menuRef","isMouseEnter","closeMenu","useDocumentEventListeners","splitMenuItem","isMouseEnterMenuItem","isMouseEnterIconButton","onClickCallback","useCallback","event","isKeyEvent","KeyboardEvent","clickCallback","preventDefault","propagate","key","requestAnimationFrame","console","error","onKeyboardClick","useKeyEvent","keys","callback","ref","undefined"],"mappings":"sNAMA,IAAMA,EAAO,CAACC,EAASC,MAAOD,EAASE,aAEf,SAAAC,EAAyBC,GAgChD,IA/BCC,EAAOD,EAAPC,QACAC,EAAQF,EAARE,SACAC,EAAQH,EAARG,SACAC,EAAKJ,EAALI,MACAC,EAAkBL,EAAlBK,mBACAC,EAAWN,EAAXM,YACAC,EAAiBP,EAAjBO,kBACAC,EAAuBR,EAAvBQ,wBACAC,EAAOT,EAAPS,QACAC,EAAYV,EAAZU,aACAC,EAASX,EAATW,UACAC,EAAyBZ,EAAzBY,0BACAC,EAAab,EAAba,cACAC,EAAoBd,EAApBc,qBACAC,EAAsBf,EAAtBe,uBAkBMC,EAAkBC,GACtB,SAACC,GACC,GAAKf,GAAaO,EAClB,GAAKL,GAAuBG,EAA5B,CAKA,IAAMW,EAAaD,aAAiBE,cAEpC,GAAIjB,GAAYG,IACdD,EAAmBD,IACdS,GAAiBE,GACpBP,EAAwBJ,GAAO,QASnC,GAJIe,GAAcN,GAChBL,EAAwBJ,GAAO,IAG7BG,EAAJ,CAEA,IAAMc,EAAgB,WACpBH,EAAMI,iBACNrB,EAAQiB,GACRP,EAAU,CAAEY,WAAW,KAGzB,GAAIJ,GAAclB,IAAYC,GAAYC,EAAU,CAClD,GAA2C,eAAtCe,EAA8BM,IACjC,OAEFH,GACF,EAEKF,GAAclB,IAAYC,GAAYQ,IACpCP,IACHE,EAAmBD,GACfE,GACFE,EAAwBJ,GAAO,KAI9BS,GAAiBC,IAAyBC,IAA4BT,IAEzEmB,uBAAsB,WACpBA,uBAAsB,WACpBJ,GACF,GACF,IA7BmB,CAhBvB,MAFEK,QAAQC,MAAM,iDAkDlB,GACA,CACExB,EACAO,EACAL,EACAG,EACAF,EACAO,EACAN,EACAN,EACAC,EACAE,EACAO,EACAG,EACAC,IAIEa,EAAkBX,GAAY,SAACC,GAA0B,OAAKF,EAAgBE,KAAQ,CAACF,IAQ7F,OANAa,EAAY,CACVC,KAAMnC,EACNoC,SAAUH,EACVI,IAAKpB,OAA4BqB,EAAYxB,IAGxC,CAAEO,gBAAAA,EACX"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"../../../../hooks/useIsMouseEnter.js";import
|
|
1
|
+
import e from"../../../../hooks/useIsMouseEnter.js";import s from"../../../../hooks/usePrevious/index.js";import{useIsomorphicLayoutEffect as o}from"../../../../../shared/dist/hooks/ssr/useIsomorphicLayoutEffect.js";function t(t){var n=t.resetOpenSubMenuIndex,r=t.setSubMenuIsOpenByIndex,u=t.isActive,i=t.setActiveItemIndex,f=t.index,m=t.hasChildren,d=t.splitMenuItemIconButtonRef,I=t.splitMenuItem,c=void 0!==I&&I,p=e({ref:t.ref}),a=e({ref:d}),h=s(p),l=s(a);return o((function(){a&&a!==l&&(u?r(f,!0):n())}),[r,f,a,l,u,n]),o((function(){p&&p!==h&&(r&&n?(n(),u||c||(i(f),m?r(f,!0):n()),u&&m&&r(f,!!p),!u&&c&&(i(f),a&&r(f,!0))):console.error("MenuItem must be a first level child of a menu"))}),[n,h,p,a,r,u,i,f,m,c]),p}export{t as default};
|
|
2
2
|
//# sourceMappingURL=useMenuItemMouseEvents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItemMouseEvents.js","sources":["../../../../../../src/components/Menu/MenuItem/hooks/useMenuItemMouseEvents.ts"],"sourcesContent":["import { type RefObject } from \"react\";\nimport useIsMouseEnter from \"../../../../hooks/useIsMouseEnter\";\nimport usePrevious from \"../../../../hooks/usePrevious\";\nimport useIsomorphicLayoutEffect from \"
|
|
1
|
+
{"version":3,"file":"useMenuItemMouseEvents.js","sources":["../../../../../../src/components/Menu/MenuItem/hooks/useMenuItemMouseEvents.ts"],"sourcesContent":["import { type RefObject } from \"react\";\nimport useIsMouseEnter from \"../../../../hooks/useIsMouseEnter\";\nimport usePrevious from \"../../../../hooks/usePrevious\";\nimport { useIsomorphicLayoutEffect } from \"@vibe/shared\";\n\nexport default function useMenuItemMouseEvents({\n ref,\n resetOpenSubMenuIndex,\n setSubMenuIsOpenByIndex,\n isActive,\n setActiveItemIndex,\n index,\n hasChildren,\n splitMenuItemIconButtonRef,\n splitMenuItem = false\n}: {\n ref: RefObject<HTMLElement>;\n resetOpenSubMenuIndex: () => void;\n setSubMenuIsOpenByIndex: (index: number, isOpen: boolean) => void;\n isActive: boolean;\n setActiveItemIndex: (index: number) => void;\n index: number;\n hasChildren: boolean;\n splitMenuItemIconButtonRef?: React.RefObject<HTMLElement>;\n splitMenuItem?: boolean;\n}) {\n const isMouseEnter = useIsMouseEnter({ ref });\n const isMouseEnterOnIconButton = useIsMouseEnter({ ref: splitMenuItemIconButtonRef });\n const prevIsMouseEnter = usePrevious(isMouseEnter);\n const prevIsMouseEnterOnIconButton = usePrevious(isMouseEnterOnIconButton);\n\n useIsomorphicLayoutEffect(() => {\n if (!isMouseEnterOnIconButton) return;\n\n if (isMouseEnterOnIconButton === prevIsMouseEnterOnIconButton) return;\n\n if (isActive) {\n setSubMenuIsOpenByIndex(index, true);\n } else {\n resetOpenSubMenuIndex();\n }\n }, [\n setSubMenuIsOpenByIndex,\n index,\n isMouseEnterOnIconButton,\n prevIsMouseEnterOnIconButton,\n isActive,\n resetOpenSubMenuIndex\n ]);\n\n useIsomorphicLayoutEffect(() => {\n if (!isMouseEnter) return;\n if (isMouseEnter === prevIsMouseEnter) return;\n\n if (!setSubMenuIsOpenByIndex || !resetOpenSubMenuIndex) {\n console.error(\"MenuItem must be a first level child of a menu\");\n return;\n }\n\n resetOpenSubMenuIndex();\n\n if (!isActive && !splitMenuItem) {\n setActiveItemIndex(index);\n if (hasChildren) {\n setSubMenuIsOpenByIndex(index, true);\n } else {\n resetOpenSubMenuIndex();\n }\n }\n\n if (isActive && hasChildren) {\n setSubMenuIsOpenByIndex(index, !!isMouseEnter);\n }\n\n if (!isActive && splitMenuItem) {\n setActiveItemIndex(index);\n\n if (isMouseEnterOnIconButton) {\n setSubMenuIsOpenByIndex(index, true);\n }\n }\n }, [\n resetOpenSubMenuIndex,\n prevIsMouseEnter,\n isMouseEnter,\n isMouseEnterOnIconButton,\n setSubMenuIsOpenByIndex,\n isActive,\n setActiveItemIndex,\n index,\n hasChildren,\n splitMenuItem\n ]);\n\n return isMouseEnter;\n}\n"],"names":["useMenuItemMouseEvents","_ref","resetOpenSubMenuIndex","setSubMenuIsOpenByIndex","isActive","setActiveItemIndex","index","hasChildren","splitMenuItemIconButtonRef","_ref$splitMenuItem","splitMenuItem","isMouseEnter","useIsMouseEnter","ref","isMouseEnterOnIconButton","prevIsMouseEnter","usePrevious","prevIsMouseEnterOnIconButton","useIsomorphicLayoutEffect","console","error"],"mappings":"wNAKc,SAAUA,EAAsBC,GAoB7C,IAlBCC,EAAqBD,EAArBC,sBACAC,EAAuBF,EAAvBE,wBACAC,EAAQH,EAARG,SACAC,EAAkBJ,EAAlBI,mBACAC,EAAKL,EAALK,MACAC,EAAWN,EAAXM,YACAC,EAA0BP,EAA1BO,2BAA0BC,EAAAR,EAC1BS,cAAAA,OAAgB,IAAHD,GAAQA,EAYfE,EAAeC,EAAgB,CAAEC,IApBpCZ,EAAHY,MAqBMC,EAA2BF,EAAgB,CAAEC,IAAKL,IAClDO,EAAmBC,EAAYL,GAC/BM,EAA+BD,EAAYF,GAiEjD,OA/DAI,GAA0B,WACnBJ,GAEDA,IAA6BG,IAE7Bb,EACFD,EAAwBG,GAAO,GAE/BJ,IAEJ,GAAG,CACDC,EACAG,EACAQ,EACAG,EACAb,EACAF,IAGFgB,GAA0B,WACnBP,GACDA,IAAiBI,IAEhBZ,GAA4BD,GAKjCA,IAEKE,GAAaM,IAChBL,EAAmBC,GACfC,EACFJ,EAAwBG,GAAO,GAE/BJ,KAIAE,GAAYG,GACdJ,EAAwBG,IAASK,IAG9BP,GAAYM,IACfL,EAAmBC,GAEfQ,GACFX,EAAwBG,GAAO,KAvBjCa,QAAQC,MAAM,kDA0BjB,GAAE,CACDlB,EACAa,EACAJ,EACAG,EACAX,EACAC,EACAC,EACAC,EACAC,EACAG,IAGKC,CACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"classnames";import t,{useRef as n}from"react";import{getTestId as o,ComponentDefaultTestId as s}from"../../../tests/testIds.js";import i from"
|
|
1
|
+
import e from"classnames";import t,{useRef as n}from"react";import{getTestId as o,ComponentDefaultTestId as s}from"../../../tests/testIds.js";import i from"../MenuItem/hooks/useMenuItemMouseEvents.js";import l from"../MenuItem/hooks/useMenuItemKeyboardEvents.js";import r from"./MenuItemButton.module.scss.js";import m from"../../../../components/tooltip/dist/Tooltip/Tooltip.js";import u from"../../../../components/typography/dist/Text/Text.js";import d from"../../../../components/button/dist/Button/Button.js";import{useMergeRef as a}from"../../../../shared/dist/hooks/useMergeRef.js";var c=function(c){var p=c.className,I=c.kind,v=void 0===I?"primary":I,M=c.leftIcon,f=void 0===M?null:M,h=c.rightIcon,b=void 0===h?null:h,x=c.disabled,E=void 0!==x&&x,k=c.disableReason,y=c.index,j=c.activeItemIndex,C=void 0===j?-1:j,S=c.onClick,B=c.tooltipPosition,O=void 0===B?"right":B,T=c.tooltipShowDelay,g=void 0===T?300:T,N=c.children,A=c.resetOpenSubMenuIndex,D=c.setSubMenuIsOpenByIndex,R=c.setActiveItemIndex,w=c.menuRef,U=c.closeMenu,L=c.useDocumentEventListeners,_=c.id,z=c["data-testid"],K=n(null),P=n(null),q=a(K,P),F=E&&k,G=k,H=C===y,J=i({ref:K,resetOpenSubMenuIndex:A,setSubMenuIsOpenByIndex:D,isActive:H,setActiveItemIndex:R,index:y,hasChildren:!1}),Q=l({onClick:S,disabled:E,isActive:H,index:y,setActiveItemIndex:R,hasChildren:!1,shouldShowSubMenu:!1,setSubMenuIsOpenByIndex:D,menuRef:w,isMouseEnter:J,closeMenu:U,useDocumentEventListeners:L}).onClickCallback;return t.createElement(m,{content:F?G:null,position:O,showDelay:g},t.createElement(u,{type:"text2",element:"li","data-testid":z||o(s.MENU_ITEM_BUTTON,_),id:_,className:e(r.itemButton,p),ref:q,role:"menuitem","aria-current":H},t.createElement(d,{className:r.buttonComponent,active:H,disabled:E,leftIcon:f,rightIcon:b,onClick:Q,kind:v,size:"small",blurOnMouseUp:!1},t.createElement("div",{className:r.content},N))))};Object.assign(c,{isSelectable:!0,isMenuChild:!0});export{c as default};
|
|
2
2
|
//# sourceMappingURL=MenuItemButton.js.map
|