@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textManipulations.js","sources":["../../../src/helpers/textManipulations.ts"],"sourcesContent":["import { convertToArray } from \"
|
|
1
|
+
{"version":3,"file":"textManipulations.js","sources":["../../../src/helpers/textManipulations.ts"],"sourcesContent":["import { convertToArray } from \"@vibe/shared\";\n\nconst MIN_PRECISION = 0;\nconst MAX_PRECISION = 20;\nconst DEFAULT_LOCAL = \"en-US\";\n\nfunction validateLocalSupported(local: string) {\n let isLocalSupported;\n try {\n const options = { localeMatcher: \"lookup\" as const };\n isLocalSupported = !!Intl.NumberFormat.supportedLocalesOf(convertToArray(local), options).length;\n } catch (err) {\n isLocalSupported = false;\n }\n\n return isLocalSupported;\n}\n\nfunction validatePrecision(precision: number) {\n if (precision < MIN_PRECISION) return MIN_PRECISION;\n if (precision > MAX_PRECISION) return MAX_PRECISION;\n return precision;\n}\n\nexport const formatNumberConsts = Object.freeze({\n MIN_PRECISION,\n MAX_PRECISION,\n DEFAULT_LOCAL\n});\n\nexport function formatNumber(\n value: number,\n {\n local = DEFAULT_LOCAL,\n isCompact = true,\n precision = 2\n }: { local?: Intl.Locale[\"language\"]; isCompact?: boolean; precision?: number } = {}\n) {\n if (value === undefined || value === null) return;\n const isLocalSupported = validateLocalSupported(local);\n const normalizedPrecision = validatePrecision(precision);\n const selectedLocal = isLocalSupported ? local : DEFAULT_LOCAL;\n return new Intl.NumberFormat(selectedLocal, {\n ...(isCompact && { notation: \"compact\" }),\n maximumFractionDigits: normalizedPrecision\n }).format(value);\n}\n"],"names":["MIN_PRECISION","MAX_PRECISION","DEFAULT_LOCAL","formatNumberConsts","Object","freeze","formatNumber","value","_ref","arguments","length","undefined","_ref$local","local","_ref$isCompact","isCompact","_ref$precision","precision","isLocalSupported","Intl","NumberFormat","supportedLocalesOf","convertToArray","localeMatcher","err","validateLocalSupported","normalizedPrecision","validatePrecision","assign","notation","maximumFractionDigits","format"],"mappings":"2EAEA,IAAMA,EAAgB,EAChBC,EAAgB,GAChBC,EAAgB,YAoBTC,EAAqBC,OAAOC,OAAO,CAC9CL,cAAAA,EACAC,cAAAA,EACAC,cAAAA,aAGcI,EACdC,GAKoF,IAAAC,EAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAF,CAAE,EAAAG,EAAAJ,EAHlFK,MAAAA,OAAQX,IAAHU,EAAGV,EAAaU,EAAAE,EAAAN,EACrBO,UAAAA,OAAY,IAAHD,GAAOA,EAAAE,EAAAR,EAChBS,UAAAA,OAAY,IAAHD,EAAG,EAACA,EAGf,GAAIT,QAAJ,CACA,IAAMW,EAjCR,SAAgCL,GAC9B,IAAIK,EACJ,IAEEA,IAAqBC,KAAKC,aAAaC,mBAAmBC,EAAeT,GADzD,CAAEU,cAAe,WACyDb,MAC3F,CAAC,MAAOc,GACPN,GAAmB,CACrB,CAEA,OAAOA,CACT,CAuB2BO,CAAuBZ,GAC1Ca,EAtBR,SAA2BT,GACzB,OAAgBjB,EAAZiB,EAAkCjB,EAClCiB,EAAYhB,EAAsBA,EAC/BgB,CACT,CAkB8BU,CAAkBV,GAE9C,OAAO,IAAIE,KAAKC,aADMF,EAAmBL,EAAQX,EACPE,OAAAwB,OAAAxB,OAAAwB,OAAA,CAAA,EACpCb,GAAa,CAAEc,SAAU,YAC7B,CAAAC,sBAAuBJ,KACtBK,OAAOxB,EAPiC,CAQ7C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useCallback as e,useMemo as t,useEffect as n,useRef as s}from"react";import i from"../
|
|
1
|
+
import{useCallback as e,useMemo as t,useEffect as n,useRef as s}from"react";import i from"../usePrevious/index.js";import{getNextSelectableIndex as o,getPreviousSelectableIndex as u}from"./useActiveDescendantListFocusHelpers.js";import c from"../useListenFocusTriggers/index.js";import{useKeyEvent as r}from"../../../shared/dist/hooks/useKeyEvent.js";import{useEventListener as l}from"../../../shared/dist/hooks/useEventListener.js";var a;!function(e){e.UP="ArrowUp",e.DOWN="ArrowDown",e.RIGHT="ArrowRight",e.LEFT="ArrowLeft"}(a||(a={}));var m="Enter";function d(t){var n=t.itemsCount,s=t.focusedElementRef,i=t.visualFocusItemIndex,c=t.setVisualFocusItemIndex,l=t.isHorizontalList,m=t.isItemSelectable,d=t.listenerOptions,I=t.triggeredByKeyboard,f=l?a.RIGHT:a.DOWN,v=l?a.LEFT:a.UP,F=e((function(e){var t;document.activeElement===s.current&&(!I.current&&(I.current=!0,i>-1)||(e===f?t=o({isItemSelectable:m,visualFocusItemIndex:i,itemsCount:n}):e===v&&(t=u({isItemSelectable:m,visualFocusItemIndex:i,itemsCount:n})),t>-1&&t!==i&&c(t)))}),[s,I,f,v,i,c,m,n]),b=e((function(){F(v)}),[v,F]),x=e((function(){F(f)}),[f,F]);r(Object.assign({keys:[f],callback:x},d)),r(Object.assign({keys:[v],callback:b},d))}function I(n){var s=n.visualFocusItemIndex,i=n.focusedElementRef,o=n.itemsCount,u=n.setVisualFocusItemIndex,c=n.onItemClick,l=n.isItemSelectable,a=n.listenerOptions,d=void 0===a?void 0:a,I=n.isIgnoreSpaceAsItemSelection,f=void 0!==I&&I,v=t((function(){return f?[m]:[m," "]}),[f]),F=e((function(e,t){c&&(t>=0&&o>t)&&l(t)&&(s!==t&&u(t),c(e,t))}),[o,c,l,s,u]),b=e((function(e){i.current.contains(document.activeElement)&&F(e,s)}),[F,i,s]);r(Object.assign({keys:v,callback:b},d))}function f(t){var s=t.focusedElementRef,o=t.visualFocusItemIndex,u=t.setVisualFocusItemIndex,c=i(s),r=e((function(){-1!==o&&u(-1)}),[u,o]);n((function(){null===(null==s?void 0:s.current)&&null!==(null==c?void 0:c.current)&&r()}),[s.current,c,r]),l({eventName:"blur",ref:s,callback:r})}function v(t){var n=t.focusedElementRef,i=t.isItemSelectable,u=t.visualFocusItemIndex,r=t.setVisualFocusItemIndex,l=t.itemsCount,a=t.defaultVisualFocusItemIndex,m=void 0===a?-1:a,d=s(!1),I=e((function(){var e;(d.current=!0,u!==m)&&(e=i(m)?m:o({isItemSelectable:i,itemsCount:l,visualFocusItemIndex:m}),r(e))}),[m,i,l,r,d,u]),f=e((function(){d.current=!1}),[d]);return c({ref:n,onFocusByKeyboard:I,onFocusByMouse:f}),{triggeredByKeyboard:d}}function F(e){var t=e.visualFocusItemIndex,s=e.itemsIds,u=e.isItemSelectable,c=e.setVisualFocusItemIndex,r=i(s);n((function(){var e;void 0!==r&&r!==s&&void 0!==r&&-1!==t?e=s.indexOf(r[t]):e=t;if(e!==t)if(u(e))c(e);else{var n=o({isItemSelectable:u,visualFocusItemIndex:e,itemsCount:s.length});c(n)}}),[t,s,u,c,r])}export{f as useCleanVisualFocusOnBlur,F as useKeepFocusOnItemWhenListChanged,v as useSetDefaultItemOnFocusEvent,d as useSupportArrowsKeyboardNavigation,I as useSupportPressItemKeyboardNavigation};
|
|
2
2
|
//# sourceMappingURL=useActiveDescendantListFocusHooks.js.map
|
package/dist/src/hooks/useActiveDescendantListFocus/useActiveDescendantListFocusHooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActiveDescendantListFocusHooks.js","sources":["../../../../src/hooks/useActiveDescendantListFocus/useActiveDescendantListFocusHooks.ts"],"sourcesContent":["import { type MutableRefObject } from \"react\";\nimport type React from \"react\";\nimport { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport useKeyEvent, { type UseKeyEventArgs } from \"../useKeyEvent\";\nimport useEventListener from \"../useEventListener\";\nimport usePrevious from \"../usePrevious\";\nimport { getNextSelectableIndex, getPreviousSelectableIndex } from \"./useActiveDescendantListFocusHelpers\";\nimport useListenFocusTriggers from \"../useListenFocusTriggers\";\n\nenum ArrowDirection {\n UP = \"ArrowUp\",\n DOWN = \"ArrowDown\",\n RIGHT = \"ArrowRight\",\n LEFT = \"ArrowLeft\"\n}\n\nconst ENTER_KEY = \"Enter\";\nconst SPACE_KEY = \" \";\n\nexport function useSupportArrowsKeyboardNavigation({\n itemsCount,\n focusedElementRef,\n visualFocusItemIndex,\n setVisualFocusItemIndex,\n isHorizontalList,\n isItemSelectable,\n listenerOptions,\n triggeredByKeyboard\n}: {\n itemsCount: number;\n focusedElementRef: MutableRefObject<HTMLElement>;\n visualFocusItemIndex: number;\n setVisualFocusItemIndex: (index: number) => void;\n isHorizontalList: boolean;\n isItemSelectable: (index: number) => boolean;\n triggeredByKeyboard: MutableRefObject<boolean>;\n listenerOptions: Omit<UseKeyEventArgs, \"keys\" | \"callback\">;\n}) {\n const nextArrow = isHorizontalList ? ArrowDirection.RIGHT : ArrowDirection.DOWN;\n const backArrow = isHorizontalList ? ArrowDirection.LEFT : ArrowDirection.UP;\n\n const onArrowKeyEvent = useCallback(\n (direction: ArrowDirection) => {\n // we desire to change the visual focus item only if the user pressed on the keyboard arrows keys while\n // the focusedElementRef is naturally focus\n if (document.activeElement !== focusedElementRef.current) {\n return;\n }\n\n // If the focusedElementRef is naturally focus but this is the first keyboard interaction of the user, we will mark future user interactions as trigger by keyboard (until the next mouse interaction)\n // that from now on the interactions are trigger by keyboard (until the next mouse interaction)\n if (!triggeredByKeyboard.current) {\n triggeredByKeyboard.current = true;\n\n // If the focusedElementRef is naturally focus but this is the first keyboard interaction of the user, we want only to display the item\n // which right now visually focus without changing it.\n if (visualFocusItemIndex > -1) {\n return;\n }\n }\n\n let newIndex;\n\n // We will change the visual focused item index according to the direction of the pressed arrow\n if (direction === nextArrow) {\n newIndex = getNextSelectableIndex({ isItemSelectable, visualFocusItemIndex, itemsCount });\n } else if (direction === backArrow) {\n newIndex = getPreviousSelectableIndex({ isItemSelectable, visualFocusItemIndex, itemsCount });\n }\n\n if (newIndex > -1 && newIndex !== visualFocusItemIndex) setVisualFocusItemIndex(newIndex);\n },\n [\n focusedElementRef,\n triggeredByKeyboard,\n nextArrow,\n backArrow,\n visualFocusItemIndex,\n setVisualFocusItemIndex,\n isItemSelectable,\n itemsCount\n ]\n );\n const onArrowBack = useCallback(() => {\n onArrowKeyEvent(backArrow);\n }, [backArrow, onArrowKeyEvent]);\n\n const onArrowNext = useCallback(() => {\n onArrowKeyEvent(nextArrow);\n }, [nextArrow, onArrowKeyEvent]);\n\n useKeyEvent({\n keys: [nextArrow],\n callback: onArrowNext,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: [backArrow],\n callback: onArrowBack,\n ...listenerOptions\n });\n}\n\nexport function useSupportPressItemKeyboardNavigation({\n visualFocusItemIndex,\n focusedElementRef,\n itemsCount,\n setVisualFocusItemIndex,\n onItemClick,\n isItemSelectable,\n listenerOptions = undefined,\n isIgnoreSpaceAsItemSelection = false\n}: {\n visualFocusItemIndex: number;\n focusedElementRef: MutableRefObject<HTMLElement>;\n itemsCount: number;\n setVisualFocusItemIndex: (index: number) => void;\n onItemClick: (event: React.MouseEvent | React.KeyboardEvent, index: number) => void;\n isItemSelectable: (index: number) => boolean;\n listenerOptions: Omit<UseKeyEventArgs, \"keys\" | \"callback\">;\n isIgnoreSpaceAsItemSelection: boolean;\n}) {\n const pressKeys = useMemo(\n () => (isIgnoreSpaceAsItemSelection ? [ENTER_KEY] : [ENTER_KEY, SPACE_KEY]),\n [isIgnoreSpaceAsItemSelection]\n );\n\n const baseOnClickCallback = useCallback(\n (event: React.KeyboardEvent, itemIndex: number) => {\n const hasValidIndex = itemIndex >= 0 && itemIndex < itemsCount;\n if (!onItemClick || !hasValidIndex || !isItemSelectable(itemIndex)) return;\n if (visualFocusItemIndex !== itemIndex) setVisualFocusItemIndex(itemIndex);\n onItemClick(event, itemIndex);\n },\n [itemsCount, onItemClick, isItemSelectable, visualFocusItemIndex, setVisualFocusItemIndex]\n );\n\n const keyboardOnSelectCallback = useCallback(\n (event: React.KeyboardEvent) => {\n // we desire to change the trigger the active item on click callback only if the user pressed on the keyboard arrows keys while\n // the focusedElementRef is naturally focus\n if (focusedElementRef.current.contains(document.activeElement)) {\n baseOnClickCallback(event, visualFocusItemIndex);\n }\n },\n [baseOnClickCallback, focusedElementRef, visualFocusItemIndex]\n );\n\n useKeyEvent({\n keys: pressKeys,\n callback: keyboardOnSelectCallback,\n ...listenerOptions\n });\n}\n\nexport function useCleanVisualFocusOnBlur({\n focusedElementRef,\n visualFocusItemIndex,\n setVisualFocusItemIndex\n}: {\n focusedElementRef: MutableRefObject<HTMLElement>;\n visualFocusItemIndex: number;\n setVisualFocusItemIndex: (index: number) => void;\n}) {\n const previousFocusedElementRef = usePrevious(focusedElementRef);\n\n const onBlurCallback = useCallback(() => {\n if (visualFocusItemIndex !== -1) {\n setVisualFocusItemIndex(-1);\n }\n }, [setVisualFocusItemIndex, visualFocusItemIndex]);\n\n // if element unmount act like element got blur event\n useEffect(() => {\n // if element unmount\n if (focusedElementRef?.current === null && previousFocusedElementRef?.current !== null) {\n onBlurCallback();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focusedElementRef.current, previousFocusedElementRef, onBlurCallback]);\n\n useEventListener({\n eventName: \"blur\",\n ref: focusedElementRef,\n callback: onBlurCallback\n });\n}\n\nexport function useSetDefaultItemOnFocusEvent({\n focusedElementRef,\n isItemSelectable,\n visualFocusItemIndex,\n setVisualFocusItemIndex,\n itemsCount,\n defaultVisualFocusItemIndex = -1\n}: {\n focusedElementRef: MutableRefObject<HTMLElement>;\n isItemSelectable: (index: number) => boolean;\n visualFocusItemIndex: number;\n setVisualFocusItemIndex: (index: number) => void;\n itemsCount: number;\n defaultVisualFocusItemIndex: number;\n}) {\n const triggeredByKeyboard = useRef(false);\n\n const onFocusByKeyboard = useCallback(() => {\n triggeredByKeyboard.current = true;\n if (visualFocusItemIndex !== defaultVisualFocusItemIndex) {\n let newVisualFocusIndex;\n if (isItemSelectable(defaultVisualFocusItemIndex)) {\n newVisualFocusIndex = defaultVisualFocusItemIndex;\n } else {\n newVisualFocusIndex = getNextSelectableIndex({\n isItemSelectable,\n itemsCount,\n visualFocusItemIndex: defaultVisualFocusItemIndex\n });\n }\n setVisualFocusItemIndex(newVisualFocusIndex);\n }\n }, [\n defaultVisualFocusItemIndex,\n isItemSelectable,\n itemsCount,\n setVisualFocusItemIndex,\n triggeredByKeyboard,\n visualFocusItemIndex\n ]);\n const onFocusByMouse = useCallback(() => {\n triggeredByKeyboard.current = false;\n }, [triggeredByKeyboard]);\n useListenFocusTriggers({ ref: focusedElementRef, onFocusByKeyboard, onFocusByMouse });\n\n return { triggeredByKeyboard };\n}\n\nexport function useKeepFocusOnItemWhenListChanged({\n visualFocusItemIndex,\n itemsIds,\n isItemSelectable,\n setVisualFocusItemIndex\n}: {\n visualFocusItemIndex: number;\n itemsIds: string[];\n isItemSelectable: (index: number) => boolean;\n setVisualFocusItemIndex: (index: number) => void;\n}) {\n const prevItemIds = usePrevious(itemsIds);\n\n // When item list changed, keep the focus on the same item\n useEffect(() => {\n // When the list is changing the index of the focused item is point to a different item then before and\n // this is why we want to search for the new index of the item and change the index to point to it.\n let overrideIndexAfterListChanged;\n const isListChanged = prevItemIds !== undefined && prevItemIds !== itemsIds;\n if (isListChanged && prevItemIds !== undefined && visualFocusItemIndex !== -1) {\n const focusedItemId = prevItemIds[visualFocusItemIndex];\n overrideIndexAfterListChanged = itemsIds.indexOf(focusedItemId);\n } else {\n overrideIndexAfterListChanged = visualFocusItemIndex;\n }\n\n if (overrideIndexAfterListChanged !== visualFocusItemIndex) {\n if (isItemSelectable(overrideIndexAfterListChanged)) {\n setVisualFocusItemIndex(overrideIndexAfterListChanged);\n } else {\n const closestSelectableIndex = getNextSelectableIndex({\n isItemSelectable,\n visualFocusItemIndex: overrideIndexAfterListChanged,\n itemsCount: itemsIds.length\n });\n setVisualFocusItemIndex(closestSelectableIndex);\n }\n }\n }, [visualFocusItemIndex, itemsIds, isItemSelectable, setVisualFocusItemIndex, prevItemIds]);\n}\n"],"names":["ArrowDirection","ENTER_KEY","useSupportArrowsKeyboardNavigation","_ref","itemsCount","focusedElementRef","visualFocusItemIndex","setVisualFocusItemIndex","isHorizontalList","isItemSelectable","listenerOptions","triggeredByKeyboard","nextArrow","RIGHT","DOWN","backArrow","LEFT","UP","onArrowKeyEvent","useCallback","direction","newIndex","document","activeElement","current","getNextSelectableIndex","getPreviousSelectableIndex","onArrowBack","onArrowNext","useKeyEvent","Object","assign","keys","callback","useSupportPressItemKeyboardNavigation","_ref2","onItemClick","_ref2$listenerOptions","undefined","_ref2$isIgnoreSpaceAs","isIgnoreSpaceAsItemSelection","pressKeys","useMemo","baseOnClickCallback","event","itemIndex","keyboardOnSelectCallback","contains","useCleanVisualFocusOnBlur","_ref3","previousFocusedElementRef","usePrevious","onBlurCallback","useEffect","useEventListener","eventName","ref","useSetDefaultItemOnFocusEvent","_ref4","_ref4$defaultVisualFo","defaultVisualFocusItemIndex","useRef","onFocusByKeyboard","newVisualFocusIndex","onFocusByMouse","useListenFocusTriggers","useKeepFocusOnItemWhenListChanged","_ref5","itemsIds","prevItemIds","overrideIndexAfterListChanged","indexOf","closestSelectableIndex","length"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useActiveDescendantListFocusHooks.js","sources":["../../../../src/hooks/useActiveDescendantListFocus/useActiveDescendantListFocusHooks.ts"],"sourcesContent":["import { type MutableRefObject } from \"react\";\nimport type React from \"react\";\nimport { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport useKeyEvent, { type UseKeyEventArgs } from \"../useKeyEvent\";\nimport useEventListener from \"../useEventListener\";\nimport usePrevious from \"../usePrevious\";\nimport { getNextSelectableIndex, getPreviousSelectableIndex } from \"./useActiveDescendantListFocusHelpers\";\nimport useListenFocusTriggers from \"../useListenFocusTriggers\";\n\nenum ArrowDirection {\n UP = \"ArrowUp\",\n DOWN = \"ArrowDown\",\n RIGHT = \"ArrowRight\",\n LEFT = \"ArrowLeft\"\n}\n\nconst ENTER_KEY = \"Enter\";\nconst SPACE_KEY = \" \";\n\nexport function useSupportArrowsKeyboardNavigation({\n itemsCount,\n focusedElementRef,\n visualFocusItemIndex,\n setVisualFocusItemIndex,\n isHorizontalList,\n isItemSelectable,\n listenerOptions,\n triggeredByKeyboard\n}: {\n itemsCount: number;\n focusedElementRef: MutableRefObject<HTMLElement>;\n visualFocusItemIndex: number;\n setVisualFocusItemIndex: (index: number) => void;\n isHorizontalList: boolean;\n isItemSelectable: (index: number) => boolean;\n triggeredByKeyboard: MutableRefObject<boolean>;\n listenerOptions: Omit<UseKeyEventArgs, \"keys\" | \"callback\">;\n}) {\n const nextArrow = isHorizontalList ? ArrowDirection.RIGHT : ArrowDirection.DOWN;\n const backArrow = isHorizontalList ? ArrowDirection.LEFT : ArrowDirection.UP;\n\n const onArrowKeyEvent = useCallback(\n (direction: ArrowDirection) => {\n // we desire to change the visual focus item only if the user pressed on the keyboard arrows keys while\n // the focusedElementRef is naturally focus\n if (document.activeElement !== focusedElementRef.current) {\n return;\n }\n\n // If the focusedElementRef is naturally focus but this is the first keyboard interaction of the user, we will mark future user interactions as trigger by keyboard (until the next mouse interaction)\n // that from now on the interactions are trigger by keyboard (until the next mouse interaction)\n if (!triggeredByKeyboard.current) {\n triggeredByKeyboard.current = true;\n\n // If the focusedElementRef is naturally focus but this is the first keyboard interaction of the user, we want only to display the item\n // which right now visually focus without changing it.\n if (visualFocusItemIndex > -1) {\n return;\n }\n }\n\n let newIndex;\n\n // We will change the visual focused item index according to the direction of the pressed arrow\n if (direction === nextArrow) {\n newIndex = getNextSelectableIndex({ isItemSelectable, visualFocusItemIndex, itemsCount });\n } else if (direction === backArrow) {\n newIndex = getPreviousSelectableIndex({ isItemSelectable, visualFocusItemIndex, itemsCount });\n }\n\n if (newIndex > -1 && newIndex !== visualFocusItemIndex) setVisualFocusItemIndex(newIndex);\n },\n [\n focusedElementRef,\n triggeredByKeyboard,\n nextArrow,\n backArrow,\n visualFocusItemIndex,\n setVisualFocusItemIndex,\n isItemSelectable,\n itemsCount\n ]\n );\n const onArrowBack = useCallback(() => {\n onArrowKeyEvent(backArrow);\n }, [backArrow, onArrowKeyEvent]);\n\n const onArrowNext = useCallback(() => {\n onArrowKeyEvent(nextArrow);\n }, [nextArrow, onArrowKeyEvent]);\n\n useKeyEvent({\n keys: [nextArrow],\n callback: onArrowNext,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: [backArrow],\n callback: onArrowBack,\n ...listenerOptions\n });\n}\n\nexport function useSupportPressItemKeyboardNavigation({\n visualFocusItemIndex,\n focusedElementRef,\n itemsCount,\n setVisualFocusItemIndex,\n onItemClick,\n isItemSelectable,\n listenerOptions = undefined,\n isIgnoreSpaceAsItemSelection = false\n}: {\n visualFocusItemIndex: number;\n focusedElementRef: MutableRefObject<HTMLElement>;\n itemsCount: number;\n setVisualFocusItemIndex: (index: number) => void;\n onItemClick: (event: React.MouseEvent | React.KeyboardEvent, index: number) => void;\n isItemSelectable: (index: number) => boolean;\n listenerOptions: Omit<UseKeyEventArgs, \"keys\" | \"callback\">;\n isIgnoreSpaceAsItemSelection: boolean;\n}) {\n const pressKeys = useMemo(\n () => (isIgnoreSpaceAsItemSelection ? [ENTER_KEY] : [ENTER_KEY, SPACE_KEY]),\n [isIgnoreSpaceAsItemSelection]\n );\n\n const baseOnClickCallback = useCallback(\n (event: React.KeyboardEvent, itemIndex: number) => {\n const hasValidIndex = itemIndex >= 0 && itemIndex < itemsCount;\n if (!onItemClick || !hasValidIndex || !isItemSelectable(itemIndex)) return;\n if (visualFocusItemIndex !== itemIndex) setVisualFocusItemIndex(itemIndex);\n onItemClick(event, itemIndex);\n },\n [itemsCount, onItemClick, isItemSelectable, visualFocusItemIndex, setVisualFocusItemIndex]\n );\n\n const keyboardOnSelectCallback = useCallback(\n (event: React.KeyboardEvent) => {\n // we desire to change the trigger the active item on click callback only if the user pressed on the keyboard arrows keys while\n // the focusedElementRef is naturally focus\n if (focusedElementRef.current.contains(document.activeElement)) {\n baseOnClickCallback(event, visualFocusItemIndex);\n }\n },\n [baseOnClickCallback, focusedElementRef, visualFocusItemIndex]\n );\n\n useKeyEvent({\n keys: pressKeys,\n callback: keyboardOnSelectCallback,\n ...listenerOptions\n });\n}\n\nexport function useCleanVisualFocusOnBlur({\n focusedElementRef,\n visualFocusItemIndex,\n setVisualFocusItemIndex\n}: {\n focusedElementRef: MutableRefObject<HTMLElement>;\n visualFocusItemIndex: number;\n setVisualFocusItemIndex: (index: number) => void;\n}) {\n const previousFocusedElementRef = usePrevious(focusedElementRef);\n\n const onBlurCallback = useCallback(() => {\n if (visualFocusItemIndex !== -1) {\n setVisualFocusItemIndex(-1);\n }\n }, [setVisualFocusItemIndex, visualFocusItemIndex]);\n\n // if element unmount act like element got blur event\n useEffect(() => {\n // if element unmount\n if (focusedElementRef?.current === null && previousFocusedElementRef?.current !== null) {\n onBlurCallback();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focusedElementRef.current, previousFocusedElementRef, onBlurCallback]);\n\n useEventListener({\n eventName: \"blur\",\n ref: focusedElementRef,\n callback: onBlurCallback\n });\n}\n\nexport function useSetDefaultItemOnFocusEvent({\n focusedElementRef,\n isItemSelectable,\n visualFocusItemIndex,\n setVisualFocusItemIndex,\n itemsCount,\n defaultVisualFocusItemIndex = -1\n}: {\n focusedElementRef: MutableRefObject<HTMLElement>;\n isItemSelectable: (index: number) => boolean;\n visualFocusItemIndex: number;\n setVisualFocusItemIndex: (index: number) => void;\n itemsCount: number;\n defaultVisualFocusItemIndex: number;\n}) {\n const triggeredByKeyboard = useRef(false);\n\n const onFocusByKeyboard = useCallback(() => {\n triggeredByKeyboard.current = true;\n if (visualFocusItemIndex !== defaultVisualFocusItemIndex) {\n let newVisualFocusIndex;\n if (isItemSelectable(defaultVisualFocusItemIndex)) {\n newVisualFocusIndex = defaultVisualFocusItemIndex;\n } else {\n newVisualFocusIndex = getNextSelectableIndex({\n isItemSelectable,\n itemsCount,\n visualFocusItemIndex: defaultVisualFocusItemIndex\n });\n }\n setVisualFocusItemIndex(newVisualFocusIndex);\n }\n }, [\n defaultVisualFocusItemIndex,\n isItemSelectable,\n itemsCount,\n setVisualFocusItemIndex,\n triggeredByKeyboard,\n visualFocusItemIndex\n ]);\n const onFocusByMouse = useCallback(() => {\n triggeredByKeyboard.current = false;\n }, [triggeredByKeyboard]);\n useListenFocusTriggers({ ref: focusedElementRef, onFocusByKeyboard, onFocusByMouse });\n\n return { triggeredByKeyboard };\n}\n\nexport function useKeepFocusOnItemWhenListChanged({\n visualFocusItemIndex,\n itemsIds,\n isItemSelectable,\n setVisualFocusItemIndex\n}: {\n visualFocusItemIndex: number;\n itemsIds: string[];\n isItemSelectable: (index: number) => boolean;\n setVisualFocusItemIndex: (index: number) => void;\n}) {\n const prevItemIds = usePrevious(itemsIds);\n\n // When item list changed, keep the focus on the same item\n useEffect(() => {\n // When the list is changing the index of the focused item is point to a different item then before and\n // this is why we want to search for the new index of the item and change the index to point to it.\n let overrideIndexAfterListChanged;\n const isListChanged = prevItemIds !== undefined && prevItemIds !== itemsIds;\n if (isListChanged && prevItemIds !== undefined && visualFocusItemIndex !== -1) {\n const focusedItemId = prevItemIds[visualFocusItemIndex];\n overrideIndexAfterListChanged = itemsIds.indexOf(focusedItemId);\n } else {\n overrideIndexAfterListChanged = visualFocusItemIndex;\n }\n\n if (overrideIndexAfterListChanged !== visualFocusItemIndex) {\n if (isItemSelectable(overrideIndexAfterListChanged)) {\n setVisualFocusItemIndex(overrideIndexAfterListChanged);\n } else {\n const closestSelectableIndex = getNextSelectableIndex({\n isItemSelectable,\n visualFocusItemIndex: overrideIndexAfterListChanged,\n itemsCount: itemsIds.length\n });\n setVisualFocusItemIndex(closestSelectableIndex);\n }\n }\n }, [visualFocusItemIndex, itemsIds, isItemSelectable, setVisualFocusItemIndex, prevItemIds]);\n}\n"],"names":["ArrowDirection","ENTER_KEY","useSupportArrowsKeyboardNavigation","_ref","itemsCount","focusedElementRef","visualFocusItemIndex","setVisualFocusItemIndex","isHorizontalList","isItemSelectable","listenerOptions","triggeredByKeyboard","nextArrow","RIGHT","DOWN","backArrow","LEFT","UP","onArrowKeyEvent","useCallback","direction","newIndex","document","activeElement","current","getNextSelectableIndex","getPreviousSelectableIndex","onArrowBack","onArrowNext","useKeyEvent","Object","assign","keys","callback","useSupportPressItemKeyboardNavigation","_ref2","onItemClick","_ref2$listenerOptions","undefined","_ref2$isIgnoreSpaceAs","isIgnoreSpaceAsItemSelection","pressKeys","useMemo","baseOnClickCallback","event","itemIndex","keyboardOnSelectCallback","contains","useCleanVisualFocusOnBlur","_ref3","previousFocusedElementRef","usePrevious","onBlurCallback","useEffect","useEventListener","eventName","ref","useSetDefaultItemOnFocusEvent","_ref4","_ref4$defaultVisualFo","defaultVisualFocusItemIndex","useRef","onFocusByKeyboard","newVisualFocusIndex","onFocusByMouse","useListenFocusTriggers","useKeepFocusOnItemWhenListChanged","_ref5","itemsIds","prevItemIds","overrideIndexAfterListChanged","indexOf","closestSelectableIndex","length"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useMemo as n,useCallback as e,useEffect as o}from"react";import{noop as t}from"es-toolkit";import r
|
|
1
|
+
import{useMemo as n,useCallback as e,useEffect as o}from"react";import{noop as t}from"es-toolkit";import{useKeyEvent as r}from"../../shared/dist/hooks/useKeyEvent.js";var c;!function(n){n.UP="up",n.DOWN="down",n.LEFT="left",n.RIGHT="right"}(c||(c={}));var a=["ArrowDown"],s=["ArrowUp"],i=["ArrowRight"],l=["ArrowLeft"],u=["Enter"," "],f=["Enter"],k=["Escape"],v=["End"],b=["Home"];function d(f){var d=f.ref,g=f.onSelectionKey,p=void 0===g?t:g,O=f.onArrowNavigation,y=void 0===O?t:O,E=f.onEscape,j=void 0===E?t:E,m=f.onHome,w=void 0===m?t:m,A=f.onEnd,D=void 0===A?t:A,h=f.useDocumentEventListeners,H=void 0!==h&&h,L=f.focusOnMount,T=void 0!==L&&L,N=n((function(){if(!H)return{ref:d,preventDefault:!0,stopPropagation:!0}}),[H,d]),P=e((function(){return y(c.DOWN)}),[y]),R=e((function(){return y(c.UP)}),[y]),U=e((function(){return y(c.RIGHT)}),[y]),F=e((function(){return y(c.LEFT)}),[y]);r(Object.assign({keys:a,callback:P},N)),r(Object.assign({keys:s,callback:R},N)),r(Object.assign({keys:i,callback:U},N)),r(Object.assign({keys:l,callback:F},N)),r(Object.assign({keys:u,callback:p},N)),r(Object.assign({keys:k,callback:j},N)),r(Object.assign({keys:b,callback:w},N)),r(Object.assign({keys:v,callback:D},N)),o((function(){var n;T&&!H&&(null===(n=null==d?void 0:d.current)||void 0===n||n.focus())}),[T,d,H])}export{a as ARROW_DOWN_KEYS,l as ARROW_LEFT_KEYS,i as ARROW_RIGHT_KEYS,s as ARROW_UP_KEYS,v as END_KEYS,f as ENTER_KEYS,k as ESCAPE_KEYS,b as HOME_KEYS,c as NavDirections,u as SELECTION_KEYS,d as default};
|
|
2
2
|
//# sourceMappingURL=useFullKeyboardListeners.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFullKeyboardListeners.js","sources":["../../../src/hooks/useFullKeyboardListeners.ts"],"sourcesContent":["import { type MutableRefObject, useCallback, useEffect, useMemo } from \"react\";\nimport { noop } from \"es-toolkit\";\nimport useKeyEvent from \"./useKeyEvent\";\nimport { type KeyboardEventCallback } from \"../types/events\";\n\nexport enum NavDirections {\n UP = \"up\",\n DOWN = \"down\",\n LEFT = \"left\",\n RIGHT = \"right\"\n}\n\nexport const ARROW_DOWN_KEYS = [\"ArrowDown\"];\nexport const ARROW_UP_KEYS = [\"ArrowUp\"];\nexport const ARROW_RIGHT_KEYS = [\"ArrowRight\"];\nexport const ARROW_LEFT_KEYS = [\"ArrowLeft\"];\nexport const SELECTION_KEYS = [\"Enter\", \" \"];\nexport const ENTER_KEYS = [\"Enter\"];\nexport const ESCAPE_KEYS = [\"Escape\"];\nexport const END_KEYS = [\"End\"];\nexport const HOME_KEYS = [\"Home\"];\n\nexport default function useFullKeyboardListeners({\n ref, // the reference for the component that listens to keyboard\n onSelectionKey = noop,\n onArrowNavigation = noop,\n onEscape = noop,\n onHome = noop,\n onEnd = noop,\n useDocumentEventListeners = false,\n focusOnMount = false\n}: {\n ref: MutableRefObject<HTMLElement>;\n onSelectionKey: KeyboardEventCallback;\n onArrowNavigation: (type: NavDirections) => void;\n onEscape: KeyboardEventCallback;\n onHome?: KeyboardEventCallback;\n onEnd?: KeyboardEventCallback;\n useDocumentEventListeners?: boolean;\n focusOnMount: boolean;\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 const onArrowDown = useCallback(() => onArrowNavigation(NavDirections.DOWN), [onArrowNavigation]);\n const onArrowUp = useCallback(() => onArrowNavigation(NavDirections.UP), [onArrowNavigation]);\n const onArrowRight = useCallback(() => onArrowNavigation(NavDirections.RIGHT), [onArrowNavigation]);\n const onArrowLeft = useCallback(() => onArrowNavigation(NavDirections.LEFT), [onArrowNavigation]);\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: ARROW_RIGHT_KEYS,\n callback: onArrowRight,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: ARROW_LEFT_KEYS,\n callback: onArrowLeft,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: SELECTION_KEYS,\n callback: onSelectionKey,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: ESCAPE_KEYS,\n callback: onEscape,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: HOME_KEYS,\n callback: onHome,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: END_KEYS,\n callback: onEnd,\n ...listenerOptions\n });\n\n useEffect(() => {\n if (!focusOnMount || useDocumentEventListeners) return;\n ref?.current?.focus();\n }, [focusOnMount, ref, useDocumentEventListeners]);\n}\n"],"names":["NavDirections","ARROW_DOWN_KEYS","ARROW_UP_KEYS","ARROW_RIGHT_KEYS","ARROW_LEFT_KEYS","SELECTION_KEYS","ENTER_KEYS","ESCAPE_KEYS","END_KEYS","HOME_KEYS","useFullKeyboardListeners","_ref","ref","_ref$onSelectionKey","onSelectionKey","noop","_ref$onArrowNavigatio","onArrowNavigation","_ref$onEscape","onEscape","_ref$onHome","onHome","_ref$onEnd","onEnd","_ref$useDocumentEvent","useDocumentEventListeners","_ref$focusOnMount","focusOnMount","listenerOptions","useMemo","preventDefault","stopPropagation","onArrowDown","useCallback","DOWN","onArrowUp","UP","onArrowRight","RIGHT","onArrowLeft","LEFT","useKeyEvent","Object","assign","keys","callback","useEffect","_a","current","focus"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFullKeyboardListeners.js","sources":["../../../src/hooks/useFullKeyboardListeners.ts"],"sourcesContent":["import { type MutableRefObject, useCallback, useEffect, useMemo } from \"react\";\nimport { noop } from \"es-toolkit\";\nimport useKeyEvent from \"./useKeyEvent\";\nimport { type KeyboardEventCallback } from \"../types/events\";\n\nexport enum NavDirections {\n UP = \"up\",\n DOWN = \"down\",\n LEFT = \"left\",\n RIGHT = \"right\"\n}\n\nexport const ARROW_DOWN_KEYS = [\"ArrowDown\"];\nexport const ARROW_UP_KEYS = [\"ArrowUp\"];\nexport const ARROW_RIGHT_KEYS = [\"ArrowRight\"];\nexport const ARROW_LEFT_KEYS = [\"ArrowLeft\"];\nexport const SELECTION_KEYS = [\"Enter\", \" \"];\nexport const ENTER_KEYS = [\"Enter\"];\nexport const ESCAPE_KEYS = [\"Escape\"];\nexport const END_KEYS = [\"End\"];\nexport const HOME_KEYS = [\"Home\"];\n\nexport default function useFullKeyboardListeners({\n ref, // the reference for the component that listens to keyboard\n onSelectionKey = noop,\n onArrowNavigation = noop,\n onEscape = noop,\n onHome = noop,\n onEnd = noop,\n useDocumentEventListeners = false,\n focusOnMount = false\n}: {\n ref: MutableRefObject<HTMLElement>;\n onSelectionKey: KeyboardEventCallback;\n onArrowNavigation: (type: NavDirections) => void;\n onEscape: KeyboardEventCallback;\n onHome?: KeyboardEventCallback;\n onEnd?: KeyboardEventCallback;\n useDocumentEventListeners?: boolean;\n focusOnMount: boolean;\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 const onArrowDown = useCallback(() => onArrowNavigation(NavDirections.DOWN), [onArrowNavigation]);\n const onArrowUp = useCallback(() => onArrowNavigation(NavDirections.UP), [onArrowNavigation]);\n const onArrowRight = useCallback(() => onArrowNavigation(NavDirections.RIGHT), [onArrowNavigation]);\n const onArrowLeft = useCallback(() => onArrowNavigation(NavDirections.LEFT), [onArrowNavigation]);\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: ARROW_RIGHT_KEYS,\n callback: onArrowRight,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: ARROW_LEFT_KEYS,\n callback: onArrowLeft,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: SELECTION_KEYS,\n callback: onSelectionKey,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: ESCAPE_KEYS,\n callback: onEscape,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: HOME_KEYS,\n callback: onHome,\n ...listenerOptions\n });\n\n useKeyEvent({\n keys: END_KEYS,\n callback: onEnd,\n ...listenerOptions\n });\n\n useEffect(() => {\n if (!focusOnMount || useDocumentEventListeners) return;\n ref?.current?.focus();\n }, [focusOnMount, ref, useDocumentEventListeners]);\n}\n"],"names":["NavDirections","ARROW_DOWN_KEYS","ARROW_UP_KEYS","ARROW_RIGHT_KEYS","ARROW_LEFT_KEYS","SELECTION_KEYS","ENTER_KEYS","ESCAPE_KEYS","END_KEYS","HOME_KEYS","useFullKeyboardListeners","_ref","ref","_ref$onSelectionKey","onSelectionKey","noop","_ref$onArrowNavigatio","onArrowNavigation","_ref$onEscape","onEscape","_ref$onHome","onHome","_ref$onEnd","onEnd","_ref$useDocumentEvent","useDocumentEventListeners","_ref$focusOnMount","focusOnMount","listenerOptions","useMemo","preventDefault","stopPropagation","onArrowDown","useCallback","DOWN","onArrowUp","UP","onArrowRight","RIGHT","onArrowLeft","LEFT","useKeyEvent","Object","assign","keys","callback","useEffect","_a","current","focus"],"mappings":"2KAKYA,GAAZ,SAAYA,GACVA,EAAA,GAAA,KACAA,EAAA,KAAA,OACAA,EAAA,KAAA,OACAA,EAAA,MAAA,OACD,CALD,CAAYA,IAAAA,EAKX,CAAA,IAEYC,IAAAA,EAAkB,CAAC,aACnBC,EAAgB,CAAC,WACjBC,EAAmB,CAAC,cACpBC,EAAkB,CAAC,aACnBC,EAAiB,CAAC,QAAS,KAC3BC,EAAa,CAAC,SACdC,EAAc,CAAC,UACfC,EAAW,CAAC,OACZC,EAAY,CAAC,QAEF,SAAAC,EAAwBC,GAkB/C,IAjBCC,EAAGD,EAAHC,IAAGC,EAAAF,EACHG,eAAAA,OAAiBC,IAAHF,EAAGE,EAAIF,EAAAG,EAAAL,EACrBM,kBAAAA,OAAoBF,IAAHC,EAAGD,EAAIC,EAAAE,EAAAP,EACxBQ,SAAAA,OAAWJ,IAAHG,EAAGH,EAAIG,EAAAE,EAAAT,EACfU,OAAAA,OAASN,IAAHK,EAAGL,EAAIK,EAAAE,EAAAX,EACbY,MAAAA,OAAQR,IAAHO,EAAGP,EAAIO,EAAAE,EAAAb,EACZc,0BAAAA,OAA4B,IAAHD,GAAQA,EAAAE,EAAAf,EACjCgB,aAAAA,OAAe,IAAHD,GAAQA,EAWdE,EAAkBC,GAAQ,WAC9B,IAAIJ,EAEJ,MAAO,CACLb,IAAAA,EACAkB,gBAAgB,EAChBC,iBAAiB,EAErB,GAAG,CAACN,EAA2Bb,IAEzBoB,EAAcC,GAAY,WAAA,OAAMhB,EAAkBjB,EAAckC,QAAO,CAACjB,IACxEkB,EAAYF,GAAY,WAAA,OAAMhB,EAAkBjB,EAAcoC,MAAK,CAACnB,IACpEoB,EAAeJ,GAAY,WAAA,OAAMhB,EAAkBjB,EAAcsC,SAAQ,CAACrB,IAC1EsB,EAAcN,GAAY,WAAA,OAAMhB,EAAkBjB,EAAcwC,QAAO,CAACvB,IAE9EwB,EAAWC,OAAAC,OAAA,CACTC,KAAM3C,EACN4C,SAAUb,GACPJ,IAGLa,EAAWC,OAAAC,OAAA,CACTC,KAAM1C,EACN2C,SAAUV,GACPP,IAGLa,EAAWC,OAAAC,OAAA,CACTC,KAAMzC,EACN0C,SAAUR,GACPT,IAGLa,EAAWC,OAAAC,OAAA,CACTC,KAAMxC,EACNyC,SAAUN,GACPX,IAGLa,EAAWC,OAAAC,OAAA,CACTC,KAAMvC,EACNwC,SAAU/B,GACPc,IAGLa,EAAWC,OAAAC,OAAA,CACTC,KAAMrC,EACNsC,SAAU1B,GACPS,IAGLa,EAAWC,OAAAC,OAAA,CACTC,KAAMnC,EACNoC,SAAUxB,GACPO,IAGLa,EAAWC,OAAAC,OAAA,CACTC,KAAMpC,EACNqC,SAAUtB,GACPK,IAGLkB,GAAU,iBACHnB,IAAgBF,IACT,QAAZsB,EAAAnC,aAAA,EAAAA,EAAKoC,eAAO,IAAAD,GAAAA,EAAEE,QACf,GAAE,CAACtB,EAAcf,EAAKa,GACzB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as n}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as e,useRef as
|
|
1
|
+
import{slicedToArray as n}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as e,useRef as o,useContext as t,useCallback as i,useEffect as r}from"react";import{GridKeyboardNavigationContext as u}from"../../components/GridKeyboardNavigationContext/GridKeyboardNavigationContext.js";import a from"../useFullKeyboardListeners.js";import{getActiveIndexFromInboundNavigation as c,calcActiveIndexAfterArrowNavigation as l}from"./gridKeyboardNavigationHelper.js";import{useLastNavigationDirection as s}from"../../components/Menu/Menu/hooks/useLastNavigationDirection.js";import{useEventListener as d}from"../../../shared/dist/hooks/useEventListener.js";var f=-1;function v(v){var m=v.ref,g=v.itemsCount,b=v.numberOfItemsInLine,I=v.onItemClicked,p=v.entryFocusStrategy,N=void 0===p?"directional":p,x=v.getItemByIndex,y=void 0===x?function(n){}:x,h=v.focusOnMount,O=void 0!==h&&h,j=v.focusItemIndexOnMount,k=void 0===j?f:j,A=v.disabledIndexes,C=void 0===A?[]:A,L=v.circularNavigation,K=void 0!==L&&L,M=e(O&&k!==f),S=n(M,2),E=S[0],H=S[1],w=o(!1),B=e(E?k:f),D=n(B,2),F=D[0],G=D[1],_=e(!0),P=n(_,2),R=P[0],T=P[1],q=t(u),z=i((function(){var n;T(!0);var e=C.includes(0)&&g>C.length&&null!==(n=Array.from({length:g},(function(n,e){return e})).find((function(n){return!C.includes(n)})))&&void 0!==n?n:0;G(e)}),[C,g]),J=i((function(){var n;T(!0);var e=C.includes(g-1)&&g>C.length&&null!==(n=Array.from({length:g},(function(n,e){return g-1-e})).find((function(n){return!C.includes(n)})))&&void 0!==n?n:g-1;G(e)}),[C,g]);r((function(){w.current?H(!1):w.current=!0}),[F]);var Q=i((function(){var n;return null===(n=m.current)||void 0===n?void 0:n.blur()}),[m]),U=s().lastNavigationDirectionRef,V=i((function(){if(F===f){var n=U.current;G("directional"===N&&n?c({direction:n,numberOfItemsInLine:b,itemsCount:g}):0),T(!0)}else T(!0)}),[F,N,g,U,b,G,T]),W=i((function(){T(!1)}),[T]),X=i((function(){T(!0),G(f)}),[G]);d({eventName:"focus",callback:V,ref:m}),d({eventName:"mousedown",callback:W,ref:m}),d({eventName:"blur",callback:X,ref:m}),r((function(){var n;F>-1&&(null===(n=m.current)||void 0===n||n.focus())}),[F,m]);var Y=i((function(n){T(arguments.length>1&&void 0!==arguments[1]&&arguments[1]),G(n),I(y(n),n)}),[G,I,y]),Z=i((function(){if(R)return Y(F,!0)}),[R,Y,F]);return a({ref:m,onSelectionKey:Z,onArrowNavigation:function(n){if(T(!0),F!==f){var e=l({activeIndex:F,itemsCount:g,numberOfItemsInLine:b,direction:n,disabledIndexes:C,circularNavigation:K}),o=e.nextIndex;e.isOutbound?null==q||q.onOutboundNavigation(m,n):G(o)}else G(0)},onEscape:Q,onHome:z,onEnd:J,focusOnMount:O}),{activeIndex:R?F:f,onSelectionAction:Y,isInitialActiveState:E}}export{v as default};
|
|
2
2
|
//# sourceMappingURL=useGridKeyboardNavigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGridKeyboardNavigation.js","sources":["../../../../src/hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.ts"],"sourcesContent":["import { type MutableRefObject, type ReactElement, useCallback, useContext, useEffect, useRef, useState } from \"react\";\nimport { GridKeyboardNavigationContext } from \"../../components/GridKeyboardNavigationContext/GridKeyboardNavigationContext\";\nimport useFullKeyboardListeners, { type NavDirections } from \"../../hooks/useFullKeyboardListeners\";\nimport useEventListener from \"../../hooks/useEventListener\";\nimport {\n calcActiveIndexAfterArrowNavigation,\n getActiveIndexFromInboundNavigation\n} from \"./gridKeyboardNavigationHelper\";\nimport { useLastNavigationDirection } from \"../../components/Menu/Menu/hooks/useLastNavigationDirection\";\n\nconst NO_ACTIVE_INDEX = -1;\n\n/**\n * A hook which is used for accessible keyboard navigation. Useful for components rendering a list of items that can be navigated and selected with a keyboard.\n * @param {Object} options\n * @param {React.MutableRefObject} options.ref - the reference for the component that listens to keyboard\n * @param {number} options.itemsCount - the number of items\n * @param {number} options.numberOfItemsInLine - the number of items on each line of the grid\n * @param {function} options.onItemClicked - the callback for selecting an item. It will be called when an active item is selected, for example with \"Enter\".\n * @param {function} options.getItemByIndex - a function which gets an index as a param, and returns the item on that index\n * @param {\"directional\" | \"first\"} options.entryFocusStrategy - Determines how the first item is focused when entering the grid via keyboard.\n * - \"directional\": Tries to focus based on the entry direction (Tab vs Shift+Tab). This is the default.\n * - \"first\": Always focuses the first item.\n * @param {boolean=} options.focusOnMount - if true, the referenced element will be focused when mounted\n * @param {number=} options.focusItemIndexOnMount - optional item index to focus when mounted. Only works with \"options.focusOnMount\".\n * @param {number[]=} options.disabledIndexes - optional array of disabled indices, which will be skipped while navigating.\n * @param {boolean=} options.circularNavigation - if true, the navigation will wrap around the grid\n * @returns {useGridKeyboardNavigationResult}\n *\n * @typedef useGridKeyboardNavigationResult\n * @property {number} activeIndex - the currently active index\n * @property {boolean} isInitialActiveState - if true, the currently active element was due to an initial mounting index option. See \"options.focusItemIndexOnMount\".\n * @property {(index: number, isKeyboardAction?: boolean) => void} onSelectionAction - the callback which should be used to select an item.\n * It should be called with the selected item's index. Use this callback for onClick handlers, for example.\n * The \"isKeyboardAction\" can be used to indicate a keyboard selection, which will affect the currently active index.\n */\nexport default function useGridKeyboardNavigation({\n ref,\n itemsCount,\n numberOfItemsInLine,\n onItemClicked, // the callback to call when an item is selected\n entryFocusStrategy = \"directional\",\n getItemByIndex = (_index: number) => {},\n focusOnMount = false,\n focusItemIndexOnMount = NO_ACTIVE_INDEX,\n disabledIndexes = [],\n circularNavigation = false\n}: {\n ref: MutableRefObject<HTMLElement>;\n itemsCount: number;\n numberOfItemsInLine: number;\n onItemClicked: (element: HTMLElement | ReactElement | void | string, index: number) => void;\n entryFocusStrategy?: \"directional\" | \"first\";\n getItemByIndex: (index: number | void) => HTMLElement | ReactElement | void | string;\n focusOnMount?: boolean;\n focusItemIndexOnMount?: number;\n disabledIndexes?: number[];\n circularNavigation?: boolean;\n}) {\n const [isInitialActiveState, setIsInitialActiveState] = useState(\n focusOnMount && focusItemIndexOnMount !== NO_ACTIVE_INDEX\n );\n const skippedInitialActiveIndexChange = useRef(false);\n const [activeIndex, setActiveIndex] = useState(isInitialActiveState ? focusItemIndexOnMount : NO_ACTIVE_INDEX);\n const [isUsingKeyboardNav, setIsUsingKeyboardNav] = useState(true);\n\n const keyboardContext = useContext(GridKeyboardNavigationContext);\n\n const onArrowNavigation = (direction: NavDirections) => {\n setIsUsingKeyboardNav(true);\n if (activeIndex === NO_ACTIVE_INDEX) {\n setActiveIndex(0);\n return;\n }\n\n const { isOutbound, nextIndex } = calcActiveIndexAfterArrowNavigation({\n activeIndex,\n itemsCount,\n numberOfItemsInLine,\n direction,\n disabledIndexes,\n circularNavigation\n });\n if (isOutbound) {\n keyboardContext?.onOutboundNavigation(ref, direction);\n } else {\n setActiveIndex(nextIndex);\n }\n };\n\n const onHomeNavigation = useCallback(() => {\n setIsUsingKeyboardNav(true);\n const firstEnabledIndex = disabledIndexes.includes(0)\n ? disabledIndexes.length < itemsCount\n ? Array.from({ length: itemsCount }, (_, i) => i).find(i => !disabledIndexes.includes(i)) ?? 0\n : 0\n : 0;\n setActiveIndex(firstEnabledIndex);\n }, [disabledIndexes, itemsCount]);\n\n const onEndNavigation = useCallback(() => {\n setIsUsingKeyboardNav(true);\n const lastEnabledIndex = disabledIndexes.includes(itemsCount - 1)\n ? disabledIndexes.length < itemsCount\n ? Array.from({ length: itemsCount }, (_, i) => itemsCount - 1 - i).find(i => !disabledIndexes.includes(i)) ??\n itemsCount - 1\n : itemsCount - 1\n : itemsCount - 1;\n setActiveIndex(lastEnabledIndex);\n }, [disabledIndexes, itemsCount]);\n\n useEffect(() => {\n if (!skippedInitialActiveIndexChange.current) {\n skippedInitialActiveIndexChange.current = true;\n return;\n }\n // if the active state changes, this is no longer the initial active state\n setIsInitialActiveState(false);\n }, [activeIndex]);\n\n const blurTargetElement = useCallback(() => ref.current?.blur(), [ref]);\n\n const { lastNavigationDirectionRef } = useLastNavigationDirection();\n const onFocus = useCallback(() => {\n if (activeIndex !== NO_ACTIVE_INDEX) {\n setIsUsingKeyboardNav(true);\n return;\n }\n\n const direction = lastNavigationDirectionRef.current;\n setActiveIndex(\n entryFocusStrategy === \"directional\" && direction\n ? getActiveIndexFromInboundNavigation({ direction, numberOfItemsInLine, itemsCount })\n : 0\n );\n setIsUsingKeyboardNav(true);\n }, [\n activeIndex,\n entryFocusStrategy,\n itemsCount,\n lastNavigationDirectionRef,\n numberOfItemsInLine,\n setActiveIndex,\n setIsUsingKeyboardNav\n ]);\n\n const onMouseDown = useCallback(() => {\n // If the user clicked on the grid element we assume that that what will caused the focus\n setIsUsingKeyboardNav(false);\n }, [setIsUsingKeyboardNav]);\n\n const onBlur = useCallback(() => {\n // If we lose focus we will return to isUsingKeyboardNav default mode which is that any interaction\n // with the grid always done by keyboard, unless we clicked on the grid element before that with a mouse\n setIsUsingKeyboardNav(true);\n setActiveIndex(NO_ACTIVE_INDEX);\n }, [setActiveIndex]);\n\n useEventListener({ eventName: \"focus\", callback: onFocus, ref });\n useEventListener({ eventName: \"mousedown\", callback: onMouseDown, ref });\n useEventListener({ eventName: \"blur\", callback: onBlur, ref });\n\n useEffect(() => {\n if (activeIndex > -1) {\n ref.current?.focus();\n }\n }, [activeIndex, ref]);\n\n const onSelectionAction = useCallback(\n (index: number, isKeyboardAction = false) => {\n setIsUsingKeyboardNav(isKeyboardAction);\n setActiveIndex(index);\n\n onItemClicked(getItemByIndex(index), index);\n },\n [setActiveIndex, onItemClicked, getItemByIndex]\n );\n\n const onKeyboardSelection = useCallback(() => {\n if (!isUsingKeyboardNav) {\n return;\n }\n return onSelectionAction(activeIndex, true);\n }, [isUsingKeyboardNav, onSelectionAction, activeIndex]);\n\n useFullKeyboardListeners({\n ref,\n onSelectionKey: onKeyboardSelection,\n onArrowNavigation,\n onEscape: blurTargetElement,\n onHome: onHomeNavigation,\n onEnd: onEndNavigation,\n focusOnMount\n });\n\n // if the user is not using keyboard nav, the consumers should not treat the index as active\n const externalActiveIndex = isUsingKeyboardNav ? activeIndex : NO_ACTIVE_INDEX;\n return {\n activeIndex: externalActiveIndex,\n onSelectionAction,\n isInitialActiveState\n };\n}\n"],"names":["NO_ACTIVE_INDEX","useGridKeyboardNavigation","_ref","ref","itemsCount","numberOfItemsInLine","onItemClicked","_ref$entryFocusStrate","entryFocusStrategy","_ref$getItemByIndex","getItemByIndex","_index","_ref$focusOnMount","focusOnMount","_ref$focusItemIndexOn","focusItemIndexOnMount","_ref$disabledIndexes","disabledIndexes","_ref$circularNavigati","circularNavigation","_useState","useState","_useState2","_slicedToArray","isInitialActiveState","setIsInitialActiveState","skippedInitialActiveIndexChange","useRef","_useState3","_useState4","activeIndex","setActiveIndex","_useState5","_useState6","isUsingKeyboardNav","setIsUsingKeyboardNav","keyboardContext","useContext","GridKeyboardNavigationContext","onHomeNavigation","useCallback","firstEnabledIndex","includes","length","_a","Array","from","_","i","find","onEndNavigation","lastEnabledIndex","useEffect","current","blurTargetElement","blur","lastNavigationDirectionRef","useLastNavigationDirection","onFocus","direction","getActiveIndexFromInboundNavigation","onMouseDown","onBlur","useEventListener","eventName","callback","focus","onSelectionAction","index","arguments","undefined","onKeyboardSelection","useFullKeyboardListeners","onSelectionKey","onArrowNavigation","_calcActiveIndexAfter","calcActiveIndexAfterArrowNavigation","nextIndex","isOutbound","onOutboundNavigation","onEscape","onHome","onEnd"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useGridKeyboardNavigation.js","sources":["../../../../src/hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.ts"],"sourcesContent":["import { type MutableRefObject, type ReactElement, useCallback, useContext, useEffect, useRef, useState } from \"react\";\nimport { GridKeyboardNavigationContext } from \"../../components/GridKeyboardNavigationContext/GridKeyboardNavigationContext\";\nimport useFullKeyboardListeners, { type NavDirections } from \"../../hooks/useFullKeyboardListeners\";\nimport { useEventListener } from \"@vibe/shared\";\nimport {\n calcActiveIndexAfterArrowNavigation,\n getActiveIndexFromInboundNavigation\n} from \"./gridKeyboardNavigationHelper\";\nimport { useLastNavigationDirection } from \"../../components/Menu/Menu/hooks/useLastNavigationDirection\";\n\nconst NO_ACTIVE_INDEX = -1;\n\n/**\n * A hook which is used for accessible keyboard navigation. Useful for components rendering a list of items that can be navigated and selected with a keyboard.\n * @param {Object} options\n * @param {React.MutableRefObject} options.ref - the reference for the component that listens to keyboard\n * @param {number} options.itemsCount - the number of items\n * @param {number} options.numberOfItemsInLine - the number of items on each line of the grid\n * @param {function} options.onItemClicked - the callback for selecting an item. It will be called when an active item is selected, for example with \"Enter\".\n * @param {function} options.getItemByIndex - a function which gets an index as a param, and returns the item on that index\n * @param {\"directional\" | \"first\"} options.entryFocusStrategy - Determines how the first item is focused when entering the grid via keyboard.\n * - \"directional\": Tries to focus based on the entry direction (Tab vs Shift+Tab). This is the default.\n * - \"first\": Always focuses the first item.\n * @param {boolean=} options.focusOnMount - if true, the referenced element will be focused when mounted\n * @param {number=} options.focusItemIndexOnMount - optional item index to focus when mounted. Only works with \"options.focusOnMount\".\n * @param {number[]=} options.disabledIndexes - optional array of disabled indices, which will be skipped while navigating.\n * @param {boolean=} options.circularNavigation - if true, the navigation will wrap around the grid\n * @returns {useGridKeyboardNavigationResult}\n *\n * @typedef useGridKeyboardNavigationResult\n * @property {number} activeIndex - the currently active index\n * @property {boolean} isInitialActiveState - if true, the currently active element was due to an initial mounting index option. See \"options.focusItemIndexOnMount\".\n * @property {(index: number, isKeyboardAction?: boolean) => void} onSelectionAction - the callback which should be used to select an item.\n * It should be called with the selected item's index. Use this callback for onClick handlers, for example.\n * The \"isKeyboardAction\" can be used to indicate a keyboard selection, which will affect the currently active index.\n */\nexport default function useGridKeyboardNavigation({\n ref,\n itemsCount,\n numberOfItemsInLine,\n onItemClicked, // the callback to call when an item is selected\n entryFocusStrategy = \"directional\",\n getItemByIndex = (_index: number) => {},\n focusOnMount = false,\n focusItemIndexOnMount = NO_ACTIVE_INDEX,\n disabledIndexes = [],\n circularNavigation = false\n}: {\n ref: MutableRefObject<HTMLElement>;\n itemsCount: number;\n numberOfItemsInLine: number;\n onItemClicked: (element: HTMLElement | ReactElement | void | string, index: number) => void;\n entryFocusStrategy?: \"directional\" | \"first\";\n getItemByIndex: (index: number | void) => HTMLElement | ReactElement | void | string;\n focusOnMount?: boolean;\n focusItemIndexOnMount?: number;\n disabledIndexes?: number[];\n circularNavigation?: boolean;\n}) {\n const [isInitialActiveState, setIsInitialActiveState] = useState(\n focusOnMount && focusItemIndexOnMount !== NO_ACTIVE_INDEX\n );\n const skippedInitialActiveIndexChange = useRef(false);\n const [activeIndex, setActiveIndex] = useState(isInitialActiveState ? focusItemIndexOnMount : NO_ACTIVE_INDEX);\n const [isUsingKeyboardNav, setIsUsingKeyboardNav] = useState(true);\n\n const keyboardContext = useContext(GridKeyboardNavigationContext);\n\n const onArrowNavigation = (direction: NavDirections) => {\n setIsUsingKeyboardNav(true);\n if (activeIndex === NO_ACTIVE_INDEX) {\n setActiveIndex(0);\n return;\n }\n\n const { isOutbound, nextIndex } = calcActiveIndexAfterArrowNavigation({\n activeIndex,\n itemsCount,\n numberOfItemsInLine,\n direction,\n disabledIndexes,\n circularNavigation\n });\n if (isOutbound) {\n keyboardContext?.onOutboundNavigation(ref, direction);\n } else {\n setActiveIndex(nextIndex);\n }\n };\n\n const onHomeNavigation = useCallback(() => {\n setIsUsingKeyboardNav(true);\n const firstEnabledIndex = disabledIndexes.includes(0)\n ? disabledIndexes.length < itemsCount\n ? Array.from({ length: itemsCount }, (_, i) => i).find(i => !disabledIndexes.includes(i)) ?? 0\n : 0\n : 0;\n setActiveIndex(firstEnabledIndex);\n }, [disabledIndexes, itemsCount]);\n\n const onEndNavigation = useCallback(() => {\n setIsUsingKeyboardNav(true);\n const lastEnabledIndex = disabledIndexes.includes(itemsCount - 1)\n ? disabledIndexes.length < itemsCount\n ? Array.from({ length: itemsCount }, (_, i) => itemsCount - 1 - i).find(i => !disabledIndexes.includes(i)) ??\n itemsCount - 1\n : itemsCount - 1\n : itemsCount - 1;\n setActiveIndex(lastEnabledIndex);\n }, [disabledIndexes, itemsCount]);\n\n useEffect(() => {\n if (!skippedInitialActiveIndexChange.current) {\n skippedInitialActiveIndexChange.current = true;\n return;\n }\n // if the active state changes, this is no longer the initial active state\n setIsInitialActiveState(false);\n }, [activeIndex]);\n\n const blurTargetElement = useCallback(() => ref.current?.blur(), [ref]);\n\n const { lastNavigationDirectionRef } = useLastNavigationDirection();\n const onFocus = useCallback(() => {\n if (activeIndex !== NO_ACTIVE_INDEX) {\n setIsUsingKeyboardNav(true);\n return;\n }\n\n const direction = lastNavigationDirectionRef.current;\n setActiveIndex(\n entryFocusStrategy === \"directional\" && direction\n ? getActiveIndexFromInboundNavigation({ direction, numberOfItemsInLine, itemsCount })\n : 0\n );\n setIsUsingKeyboardNav(true);\n }, [\n activeIndex,\n entryFocusStrategy,\n itemsCount,\n lastNavigationDirectionRef,\n numberOfItemsInLine,\n setActiveIndex,\n setIsUsingKeyboardNav\n ]);\n\n const onMouseDown = useCallback(() => {\n // If the user clicked on the grid element we assume that that what will caused the focus\n setIsUsingKeyboardNav(false);\n }, [setIsUsingKeyboardNav]);\n\n const onBlur = useCallback(() => {\n // If we lose focus we will return to isUsingKeyboardNav default mode which is that any interaction\n // with the grid always done by keyboard, unless we clicked on the grid element before that with a mouse\n setIsUsingKeyboardNav(true);\n setActiveIndex(NO_ACTIVE_INDEX);\n }, [setActiveIndex]);\n\n useEventListener({ eventName: \"focus\", callback: onFocus, ref });\n useEventListener({ eventName: \"mousedown\", callback: onMouseDown, ref });\n useEventListener({ eventName: \"blur\", callback: onBlur, ref });\n\n useEffect(() => {\n if (activeIndex > -1) {\n ref.current?.focus();\n }\n }, [activeIndex, ref]);\n\n const onSelectionAction = useCallback(\n (index: number, isKeyboardAction = false) => {\n setIsUsingKeyboardNav(isKeyboardAction);\n setActiveIndex(index);\n\n onItemClicked(getItemByIndex(index), index);\n },\n [setActiveIndex, onItemClicked, getItemByIndex]\n );\n\n const onKeyboardSelection = useCallback(() => {\n if (!isUsingKeyboardNav) {\n return;\n }\n return onSelectionAction(activeIndex, true);\n }, [isUsingKeyboardNav, onSelectionAction, activeIndex]);\n\n useFullKeyboardListeners({\n ref,\n onSelectionKey: onKeyboardSelection,\n onArrowNavigation,\n onEscape: blurTargetElement,\n onHome: onHomeNavigation,\n onEnd: onEndNavigation,\n focusOnMount\n });\n\n // if the user is not using keyboard nav, the consumers should not treat the index as active\n const externalActiveIndex = isUsingKeyboardNav ? activeIndex : NO_ACTIVE_INDEX;\n return {\n activeIndex: externalActiveIndex,\n onSelectionAction,\n isInitialActiveState\n };\n}\n"],"names":["NO_ACTIVE_INDEX","useGridKeyboardNavigation","_ref","ref","itemsCount","numberOfItemsInLine","onItemClicked","_ref$entryFocusStrate","entryFocusStrategy","_ref$getItemByIndex","getItemByIndex","_index","_ref$focusOnMount","focusOnMount","_ref$focusItemIndexOn","focusItemIndexOnMount","_ref$disabledIndexes","disabledIndexes","_ref$circularNavigati","circularNavigation","_useState","useState","_useState2","_slicedToArray","isInitialActiveState","setIsInitialActiveState","skippedInitialActiveIndexChange","useRef","_useState3","_useState4","activeIndex","setActiveIndex","_useState5","_useState6","isUsingKeyboardNav","setIsUsingKeyboardNav","keyboardContext","useContext","GridKeyboardNavigationContext","onHomeNavigation","useCallback","firstEnabledIndex","includes","length","_a","Array","from","_","i","find","onEndNavigation","lastEnabledIndex","useEffect","current","blurTargetElement","blur","lastNavigationDirectionRef","useLastNavigationDirection","onFocus","direction","getActiveIndexFromInboundNavigation","onMouseDown","onBlur","useEventListener","eventName","callback","focus","onSelectionAction","index","arguments","undefined","onKeyboardSelection","useFullKeyboardListeners","onSelectionKey","onArrowNavigation","_calcActiveIndexAfter","calcActiveIndexAfterArrowNavigation","nextIndex","isOutbound","onOutboundNavigation","onEscape","onHome","onEnd"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e}from"../../_virtual/_rollupPluginBabelHelpers.js";import{useState as r,useCallback as t}from"react";import a
|
|
1
|
+
import{slicedToArray as e}from"../../_virtual/_rollupPluginBabelHelpers.js";import{useState as r,useCallback as t}from"react";import{useEventListener as a}from"../../shared/dist/hooks/useEventListener.js";function o(o){var n=o.ref,l=r(!1),s=e(l,2),u=s[0],i=s[1],c=t((function(e){i(e.target===(n&&n.current))}),[i,n]),f=t((function(){return i(!1)}),[i]);return a({eventName:"mouseenter",callback:c,ref:n}),a({eventName:"mouseleave",callback:f,ref:n}),u}export{o as default};
|
|
2
2
|
//# sourceMappingURL=useIsMouseEnter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsMouseEnter.js","sources":["../../../src/hooks/useIsMouseEnter.ts"],"sourcesContent":["import { useCallback, useState, type RefObject } from \"react\";\nimport useEventListener from \"./useEventListener\";\n\n// TODO can be replaced with useIsMouseOver\nexport default function useIsMouseEnter({ ref }: { ref: RefObject<HTMLElement> }) {\n const [isHovered, setIsHover] = useState<boolean>(false);\n\n const setHovered = useCallback(\n (event: MouseEvent) => {\n const element = ref && ref.current;\n const isEventHover = event.target === element;\n setIsHover(isEventHover);\n },\n [setIsHover, ref]\n );\n const setNotHovered = useCallback(() => setIsHover(false), [setIsHover]);\n\n useEventListener({ eventName: \"mouseenter\", callback: setHovered, ref });\n useEventListener({ eventName: \"mouseleave\", callback: setNotHovered, ref });\n\n return isHovered;\n}\n"],"names":["useIsMouseEnter","_ref","ref","_useState","useState","_useState2","_slicedToArray","isHovered","setIsHover","setHovered","useCallback","event","target","current","setNotHovered","useEventListener","eventName","callback"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useIsMouseEnter.js","sources":["../../../src/hooks/useIsMouseEnter.ts"],"sourcesContent":["import { useCallback, useState, type RefObject } from \"react\";\nimport useEventListener from \"./useEventListener\";\n\n// TODO can be replaced with useIsMouseOver\nexport default function useIsMouseEnter({ ref }: { ref: RefObject<HTMLElement> }) {\n const [isHovered, setIsHover] = useState<boolean>(false);\n\n const setHovered = useCallback(\n (event: MouseEvent) => {\n const element = ref && ref.current;\n const isEventHover = event.target === element;\n setIsHover(isEventHover);\n },\n [setIsHover, ref]\n );\n const setNotHovered = useCallback(() => setIsHover(false), [setIsHover]);\n\n useEventListener({ eventName: \"mouseenter\", callback: setHovered, ref });\n useEventListener({ eventName: \"mouseleave\", callback: setNotHovered, ref });\n\n return isHovered;\n}\n"],"names":["useIsMouseEnter","_ref","ref","_useState","useState","_useState2","_slicedToArray","isHovered","setIsHover","setHovered","useCallback","event","target","current","setNotHovered","useEventListener","eventName","callback"],"mappings":"6MAIc,SAAUA,EAAeC,GAAyC,IAAtCC,EAAGD,EAAHC,IACxCC,EAAgCC,GAAkB,GAAMC,EAAAC,EAAAH,EAAA,GAAjDI,EAASF,EAAA,GAAEG,EAAUH,EAAA,GAEtBI,EAAaC,GACjB,SAACC,GAGCH,EADqBG,EAAMC,UADXV,GAAOA,EAAIW,SAG7B,GACA,CAACL,EAAYN,IAETY,EAAgBJ,GAAY,WAAA,OAAMF,GAAW,KAAQ,CAACA,IAK5D,OAHAO,EAAiB,CAAEC,UAAW,aAAcC,SAAUR,EAAYP,IAAAA,IAClEa,EAAiB,CAAEC,UAAW,aAAcC,SAAUH,EAAeZ,IAAAA,IAE9DK,CACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e}from"../../_virtual/_rollupPluginBabelHelpers.js";import{useState as r,useCallback as t}from"react";import o
|
|
1
|
+
import{slicedToArray as e}from"../../_virtual/_rollupPluginBabelHelpers.js";import{useState as r,useCallback as t}from"react";import{useEventListener as o}from"../../shared/dist/hooks/useEventListener.js";function a(a){var n=a.ref,u=r(!1),s=e(u,2),l=s[0],i=s[1],c=n&&n.current,f=t((function(e){i(e.target===c)}),[i,c]),m=t((function(e){return i(!1)}),[i]);return o({eventName:"mouseover",callback:f,ref:n}),o({eventName:"mouseout",callback:m,ref:n}),l}export{a as default};
|
|
2
2
|
//# sourceMappingURL=useIsMouseOver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsMouseOver.js","sources":["../../../src/hooks/useIsMouseOver.ts"],"sourcesContent":["import { type RefObject, useCallback, useState } from \"react\";\nimport useEventListener from \"./useEventListener\";\nimport { type GeneralEventType } from \"../types/events\";\n\nexport default function useIsMouseOver({ ref }: { ref: RefObject<HTMLElement> }): boolean {\n const [isHovered, setIsHover] = useState<boolean>(false);\n\n const element = ref && ref.current;\n const setHovered = useCallback(\n (event: GeneralEventType) => {\n const isEventHover = event.target === element;\n setIsHover(isEventHover);\n },\n [setIsHover, element]\n );\n const setNotHovered = useCallback((_event: GeneralEventType) => setIsHover(false), [setIsHover]);\n\n useEventListener({ eventName: \"mouseover\", callback: setHovered, ref });\n useEventListener({ eventName: \"mouseout\", callback: setNotHovered, ref });\n\n return isHovered;\n}\n"],"names":["useIsMouseOver","_ref","ref","_useState","useState","_useState2","_slicedToArray","isHovered","setIsHover","element","current","setHovered","useCallback","event","target","setNotHovered","_event","useEventListener","eventName","callback"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useIsMouseOver.js","sources":["../../../src/hooks/useIsMouseOver.ts"],"sourcesContent":["import { type RefObject, useCallback, useState } from \"react\";\nimport useEventListener from \"./useEventListener\";\nimport { type GeneralEventType } from \"../types/events\";\n\nexport default function useIsMouseOver({ ref }: { ref: RefObject<HTMLElement> }): boolean {\n const [isHovered, setIsHover] = useState<boolean>(false);\n\n const element = ref && ref.current;\n const setHovered = useCallback(\n (event: GeneralEventType) => {\n const isEventHover = event.target === element;\n setIsHover(isEventHover);\n },\n [setIsHover, element]\n );\n const setNotHovered = useCallback((_event: GeneralEventType) => setIsHover(false), [setIsHover]);\n\n useEventListener({ eventName: \"mouseover\", callback: setHovered, ref });\n useEventListener({ eventName: \"mouseout\", callback: setNotHovered, ref });\n\n return isHovered;\n}\n"],"names":["useIsMouseOver","_ref","ref","_useState","useState","_useState2","_slicedToArray","isHovered","setIsHover","element","current","setHovered","useCallback","event","target","setNotHovered","_event","useEventListener","eventName","callback"],"mappings":"6MAIc,SAAUA,EAAcC,GAAyC,IAAtCC,EAAGD,EAAHC,IACvCC,EAAgCC,GAAkB,GAAMC,EAAAC,EAAAH,EAAA,GAAjDI,EAASF,EAAA,GAAEG,EAAUH,EAAA,GAEtBI,EAAUP,GAAOA,EAAIQ,QACrBC,EAAaC,GACjB,SAACC,GAECL,EADqBK,EAAMC,SAAWL,EAExC,GACA,CAACD,EAAYC,IAETM,EAAgBH,GAAY,SAACI,GAAwB,OAAKR,GAAW,KAAQ,CAACA,IAKpF,OAHAS,EAAiB,CAAEC,UAAW,YAAaC,SAAUR,EAAYT,IAAAA,IACjEe,EAAiB,CAAEC,UAAW,WAAYC,SAAUJ,EAAeb,IAAAA,IAE5DK,CACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as r}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as n,useRef as e,useCallback as t}from"react";import u
|
|
1
|
+
import{slicedToArray as r}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as n,useRef as e,useCallback as t}from"react";import{useIsomorphicLayoutEffect as u}from"../../../shared/dist/hooks/ssr/useIsomorphicLayoutEffect.js";function i(i){var c=i.containerRef,o=i.gap,l=i.deductedSpaceRef,f=i.deductedWidth,a=void 0===f?0:f,s=i.itemRefs,d=i.minVisibleCount,h=void 0===d?0:d,v=n(0),g=r(v,2),m=g[0],p=g[1],b=n(!1),R=r(b,2),y=R[0],C=R[1],M=e([]),w=e(0),B=e(!1),j=t((function(){var r=null==c?void 0:c.current;if(r&&s.length){for(var n=r.offsetWidth,e=n-w.current-(n>0?a:0),t=0,u=0,i=Math.min(s.length,M.current.length),l=0;i>l;l++){var f=M.current[l],d=l>0?f+o:f;if(t+d>e)break;t+=d,u++}p(Math.max(u,Math.min(h,i)))}else p(s.length)}),[c,s,o,h,a]),k=t((function(){w.current=(null==l?void 0:l.current)?l.current.getBoundingClientRect().width:0}),[l]),x=t((function(){if(!c.current||!s.length)return p(s.length),void C(!0);k();var r=s.map((function(r){return r.current})).filter((function(r){return null!==r}));if(0===r.length)return p(0),M.current=[],void C(!0);M.current=r.map((function(r){return r.getBoundingClientRect().width})),j(),C(!0)}),[c,s,j,k]),A=t((function(){B.current||(B.current=!0,requestAnimationFrame((function(){try{x()}finally{B.current=!1}})))}),[x]);return u((function(){if(c.current){var r=new ResizeObserver((function(){s.length>0?M.current.length?(k(),j()):A():(p(0),M.current=[])}));return r.observe(c.current),(null==l?void 0:l.current)&&r.observe(l.current),function(){return r.disconnect()}}}),[c,l,k,j,A,s]),u((function(){s.length>0?(C(!1),x()):(p(0),M.current=[],C(!0))}),[s,x]),{visibleCount:m,hasMeasured:y}}export{i as default};
|
|
2
2
|
//# sourceMappingURL=useItemsOverflow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useItemsOverflow.js","sources":["../../../../src/hooks/useItemsOverflow/useItemsOverflow.ts"],"sourcesContent":["import { type RefObject, useCallback, useState, useRef } from \"react\";\nimport useIsomorphicLayoutEffect from \"
|
|
1
|
+
{"version":3,"file":"useItemsOverflow.js","sources":["../../../../src/hooks/useItemsOverflow/useItemsOverflow.ts"],"sourcesContent":["import { type RefObject, useCallback, useState, useRef } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"@vibe/shared\";\n\n/**\n * Custom hook that calculates how many items can fit in a container without overflowing\n */\nexport default function useItemsOverflow({\n containerRef,\n gap,\n deductedSpaceRef,\n deductedWidth = 0,\n itemRefs,\n minVisibleCount = 0\n}: {\n containerRef: RefObject<HTMLElement>;\n gap: number;\n deductedSpaceRef?: RefObject<HTMLElement>;\n deductedWidth?: number;\n itemRefs: RefObject<HTMLElement>[];\n minVisibleCount?: number;\n}) {\n const [visibleCount, setVisibleCount] = useState<number>(0);\n const [hasMeasured, setHasMeasured] = useState<boolean>(false);\n const itemWidthsRef = useRef<number[]>([]);\n const deductedWidthRef = useRef<number>(0);\n const isCalculatingRef = useRef(false);\n\n const calculateFromCachedWidths = useCallback(() => {\n const container = containerRef?.current;\n if (!container || !itemRefs.length) {\n setVisibleCount(itemRefs.length);\n return;\n }\n\n const containerWidth = container.offsetWidth;\n const deductedRefWidth = deductedWidthRef.current;\n // Only apply fixed deductedWidth when container has measurable width (avoids issues in test environments)\n const availableWidth = containerWidth - deductedRefWidth - (containerWidth > 0 ? deductedWidth : 0);\n\n let totalItemsWidth = 0;\n let count = 0;\n\n const maxIter = Math.min(itemRefs.length, itemWidthsRef.current.length);\n\n for (let i = 0; i < maxIter; i++) {\n const itemWidth = itemWidthsRef.current[i];\n const itemWidthWithGap = i > 0 ? itemWidth + gap : itemWidth;\n\n if (totalItemsWidth + itemWidthWithGap <= availableWidth) {\n totalItemsWidth += itemWidthWithGap;\n count++;\n } else {\n break;\n }\n }\n\n // Ensure at least minVisibleCount items are visible\n const finalCount = Math.max(count, Math.min(minVisibleCount, maxIter));\n setVisibleCount(finalCount);\n }, [containerRef, itemRefs, gap, minVisibleCount, deductedWidth]);\n\n const measureDeductedWidth = useCallback(() => {\n if (deductedSpaceRef?.current) {\n deductedWidthRef.current = deductedSpaceRef.current.getBoundingClientRect().width;\n } else {\n deductedWidthRef.current = 0;\n }\n }, [deductedSpaceRef]);\n\n const measureAndCacheItemsSync = useCallback(() => {\n const container = containerRef.current;\n if (!container || !itemRefs.length) {\n setVisibleCount(itemRefs.length);\n setHasMeasured(true);\n return;\n }\n\n measureDeductedWidth();\n\n const itemElements = itemRefs.map(ref => ref.current).filter(el => el !== null) as HTMLElement[];\n\n if (itemElements.length === 0) {\n setVisibleCount(0);\n itemWidthsRef.current = [];\n setHasMeasured(true);\n return;\n }\n\n itemWidthsRef.current = itemElements.map(item => item.getBoundingClientRect().width);\n calculateFromCachedWidths();\n setHasMeasured(true);\n }, [containerRef, itemRefs, calculateFromCachedWidths, measureDeductedWidth]);\n\n const measureAndCacheItems = useCallback(() => {\n if (isCalculatingRef.current) return;\n isCalculatingRef.current = true;\n\n requestAnimationFrame(() => {\n try {\n measureAndCacheItemsSync();\n } finally {\n isCalculatingRef.current = false;\n }\n });\n }, [measureAndCacheItemsSync]);\n\n useIsomorphicLayoutEffect(() => {\n if (!containerRef.current) return;\n\n const resizeObserver = new ResizeObserver(() => {\n if (itemRefs.length > 0) {\n if (itemWidthsRef.current.length) {\n measureDeductedWidth();\n calculateFromCachedWidths();\n } else {\n measureAndCacheItems();\n }\n } else {\n setVisibleCount(0);\n itemWidthsRef.current = [];\n }\n });\n\n resizeObserver.observe(containerRef.current);\n\n if (deductedSpaceRef?.current) {\n resizeObserver.observe(deductedSpaceRef.current);\n }\n\n return () => resizeObserver.disconnect();\n }, [containerRef, deductedSpaceRef, measureDeductedWidth, calculateFromCachedWidths, measureAndCacheItems, itemRefs]);\n\n useIsomorphicLayoutEffect(() => {\n if (itemRefs.length > 0) {\n setHasMeasured(false);\n // Use synchronous measurement for initial render to prevent delay\n measureAndCacheItemsSync();\n } else {\n setVisibleCount(0);\n itemWidthsRef.current = [];\n setHasMeasured(true);\n }\n }, [itemRefs, measureAndCacheItemsSync]);\n\n return { visibleCount, hasMeasured };\n}\n"],"names":["useItemsOverflow","_ref","containerRef","gap","deductedSpaceRef","_ref$deductedWidth","deductedWidth","itemRefs","_ref$minVisibleCount","minVisibleCount","_useState","useState","_useState2","_slicedToArray","visibleCount","setVisibleCount","_useState3","_useState4","hasMeasured","setHasMeasured","itemWidthsRef","useRef","deductedWidthRef","isCalculatingRef","calculateFromCachedWidths","useCallback","container","current","length","containerWidth","offsetWidth","availableWidth","totalItemsWidth","count","maxIter","Math","min","i","itemWidth","itemWidthWithGap","max","measureDeductedWidth","getBoundingClientRect","width","measureAndCacheItemsSync","itemElements","map","ref","filter","el","item","measureAndCacheItems","requestAnimationFrame","useIsomorphicLayoutEffect","resizeObserver","ResizeObserver","observe","disconnect"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"
|
|
1
|
+
import{useRef as e,useCallback as n}from"react";import{useEventListener as o}from"../../../shared/dist/hooks/useEventListener.js";function r(r){var t=r.ref,u=r.onFocusByKeyboard,c=r.onFocusByMouse,a=e(!1),s=n((function(){a.current=!0}),[a]),f=n((function(e){a.current?null==c||c(e):null==u||u(e)}),[u,c]),l=n((function(){a.current=!1}),[a]);o({eventName:"mousedown",ref:t,callback:s}),o({eventName:"focus",ref:t,callback:f}),o({eventName:"mouseup",ref:t,callback:l})}export{r as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/hooks/useListenFocusTriggers/index.ts"],"sourcesContent":["import useEventListener from \"../useEventListener\";\nimport { type RefObject, useCallback, useRef } from \"react\";\n\nexport default function useListenFocusTriggers({\n ref,\n onFocusByKeyboard,\n onFocusByMouse\n}: {\n ref: RefObject<HTMLElement>;\n onFocusByKeyboard?: (event: FocusEvent) => void;\n onFocusByMouse?: (event: FocusEvent) => void;\n}) {\n const isElementMouseDown = useRef(false);\n\n const onMouseDown = useCallback(() => {\n isElementMouseDown.current = true;\n }, [isElementMouseDown]);\n\n const onFocus = useCallback(\n (e: FocusEvent) => {\n // if focus triggered by mouse down, call onFocusByMouse\n if (isElementMouseDown.current) {\n onFocusByMouse?.(e);\n } else {\n onFocusByKeyboard?.(e);\n }\n },\n [onFocusByKeyboard, onFocusByMouse]\n );\n const onMouseUp = useCallback(() => {\n isElementMouseDown.current = false;\n }, [isElementMouseDown]);\n\n useEventListener({\n eventName: \"mousedown\",\n ref,\n callback: onMouseDown\n });\n\n useEventListener({\n eventName: \"focus\",\n ref,\n callback: onFocus\n });\n\n useEventListener({\n eventName: \"mouseup\",\n ref,\n callback: onMouseUp\n });\n}\n"],"names":["useListenFocusTriggers","_ref","ref","onFocusByKeyboard","onFocusByMouse","isElementMouseDown","useRef","onMouseDown","useCallback","current","onFocus","e","onMouseUp","useEventListener","eventName","callback"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/hooks/useListenFocusTriggers/index.ts"],"sourcesContent":["import useEventListener from \"../useEventListener\";\nimport { type RefObject, useCallback, useRef } from \"react\";\n\nexport default function useListenFocusTriggers({\n ref,\n onFocusByKeyboard,\n onFocusByMouse\n}: {\n ref: RefObject<HTMLElement>;\n onFocusByKeyboard?: (event: FocusEvent) => void;\n onFocusByMouse?: (event: FocusEvent) => void;\n}) {\n const isElementMouseDown = useRef(false);\n\n const onMouseDown = useCallback(() => {\n isElementMouseDown.current = true;\n }, [isElementMouseDown]);\n\n const onFocus = useCallback(\n (e: FocusEvent) => {\n // if focus triggered by mouse down, call onFocusByMouse\n if (isElementMouseDown.current) {\n onFocusByMouse?.(e);\n } else {\n onFocusByKeyboard?.(e);\n }\n },\n [onFocusByKeyboard, onFocusByMouse]\n );\n const onMouseUp = useCallback(() => {\n isElementMouseDown.current = false;\n }, [isElementMouseDown]);\n\n useEventListener({\n eventName: \"mousedown\",\n ref,\n callback: onMouseDown\n });\n\n useEventListener({\n eventName: \"focus\",\n ref,\n callback: onFocus\n });\n\n useEventListener({\n eventName: \"mouseup\",\n ref,\n callback: onMouseUp\n });\n}\n"],"names":["useListenFocusTriggers","_ref","ref","onFocusByKeyboard","onFocusByMouse","isElementMouseDown","useRef","onMouseDown","useCallback","current","onFocus","e","onMouseUp","useEventListener","eventName","callback"],"mappings":"kIAGc,SAAUA,EAAsBC,GAQ7C,IAPCC,EAAGD,EAAHC,IACAC,EAAiBF,EAAjBE,kBACAC,EAAcH,EAAdG,eAMMC,EAAqBC,GAAO,GAE5BC,EAAcC,GAAY,WAC9BH,EAAmBI,SAAU,CAC/B,GAAG,CAACJ,IAEEK,EAAUF,GACd,SAACG,GAEKN,EAAmBI,QACrBL,SAAAA,EAAiBO,GAEjBR,SAAAA,EAAoBQ,EAExB,GACA,CAACR,EAAmBC,IAEhBQ,EAAYJ,GAAY,WAC5BH,EAAmBI,SAAU,CAC/B,GAAG,CAACJ,IAEJQ,EAAiB,CACfC,UAAW,YACXZ,IAAAA,EACAa,SAAUR,IAGZM,EAAiB,CACfC,UAAW,QACXZ,IAAAA,EACAa,SAAUL,IAGZG,EAAiB,CACfC,UAAW,UACXZ,IAAAA,EACAa,SAAUH,GAEd"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as r,toConsumableArray as n}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{useMemo as t,useState as a}from"react";import e
|
|
1
|
+
import{slicedToArray as r,toConsumableArray as n}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{useMemo as t,useState as a}from"react";import{useIsomorphicLayoutEffect as e}from"../../../shared/dist/hooks/ssr/useIsomorphicLayoutEffect.js";function o(o){var i=t((function(){return Array.isArray(o)?o:[o]}),[o]),u=a(i.map((function(r){return!!window.matchMedia(r).matches}))),c=r(u,2),s=c[0],f=c[1];return e((function(){var t=i.map((function(r){return window.matchMedia(r)})),a=t.map((function(r,t){var a=function(r){f((function(a){var e=n(a);return e[t]=r.matches,e}))};return r.addEventListener("change",a),[r,a]}));return function(){a.forEach((function(n){var t=r(n,2);t[0].removeEventListener("change",t[1])}))}}),[i,f]),s}export{o as default,o as useMediaQuery};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/hooks/useMediaQuery/index.ts"],"sourcesContent":["import { useState, useMemo } from \"react\";\nimport useIsomorphicLayoutEffect from \"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/hooks/useMediaQuery/index.ts"],"sourcesContent":["import { useState, useMemo } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"@vibe/shared\";\n\nexport function useMediaQuery(query: string | string[]) {\n const queries = useMemo(() => {\n return Array.isArray(query) ? query : [query];\n }, [query]);\n\n const [matches, setMatches] = useState(queries.map(query => !!window.matchMedia(query).matches));\n\n useIsomorphicLayoutEffect(() => {\n const mediaQueryList = queries.map(query => window.matchMedia(query));\n const updated: [MediaQueryList, (event: MediaQueryListEvent) => void][] = mediaQueryList.map((query, index) => {\n // we save the callback function so when we unmount we could remove the listener\n const callback = (event: MediaQueryListEvent) => {\n setMatches(prevState => {\n const newQueries = [...prevState];\n newQueries[index] = event.matches;\n return newQueries;\n });\n };\n query.addEventListener(\"change\", callback);\n return [query, callback];\n });\n return () => {\n updated.forEach(([query, callback]) => {\n query.removeEventListener(\"change\", callback);\n });\n };\n }, [queries, setMatches]);\n return matches;\n}\nexport default useMediaQuery;\n"],"names":["useMediaQuery","query","queries","useMemo","Array","isArray","_useState","useState","map","window","matchMedia","matches","_useState2","_slicedToArray","setMatches","useIsomorphicLayoutEffect","mediaQueryList","updated","index","callback","event","prevState","newQueries","_toConsumableArray","addEventListener","forEach","_ref","_ref2","removeEventListener"],"mappings":"4PAGM,SAAUA,EAAcC,GAC5B,IAAMC,EAAUC,GAAQ,WACtB,OAAOC,MAAMC,QAAQJ,GAASA,EAAQ,CAACA,EACzC,GAAG,CAACA,IAEJK,EAA8BC,EAASL,EAAQM,KAAI,SAAAP,GAAK,QAAMQ,OAAOC,WAAWT,GAAOU,OAAO,KAAEC,EAAAC,EAAAP,EAAA,GAAzFK,EAAOC,EAAA,GAAEE,EAAUF,EAAA,GAsB1B,OApBAG,GAA0B,WACxB,IAAMC,EAAiBd,EAAQM,KAAI,SAAAP,GAAK,OAAIQ,OAAOC,WAAWT,MACxDgB,EAAoED,EAAeR,KAAI,SAACP,EAAOiB,GAEnG,IAAMC,EAAW,SAACC,GAChBN,GAAW,SAAAO,GACT,IAAMC,EAAUC,EAAOF,GAEvB,OADAC,EAAWJ,GAASE,EAAMT,QACnBW,CACT,KAGF,OADArB,EAAMuB,iBAAiB,SAAUL,GAC1B,CAAClB,EAAOkB,EACjB,IACA,OAAO,WACLF,EAAQQ,SAAQ,SAAAC,GAAsB,IAAAC,EAAAd,EAAAa,EAAA,GAAfC,EAAA,GACfC,oBAAoB,SADKD,EAAA,GAEjC,IAEJ,GAAG,CAACzB,EAASY,IACNH,CACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useRef as r}from"react";import
|
|
1
|
+
import{useRef as r}from"react";import{useIsomorphicLayoutEffect as o}from"../../../shared/dist/hooks/ssr/useIsomorphicLayoutEffect.js";function t(t){var e=r(void 0);return o((function(){e.current=t})),e.current}export{t as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/hooks/usePrevious/index.ts"],"sourcesContent":["import { useRef } from \"react\";\nimport useIsomorphicLayoutEffect from \"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/hooks/usePrevious/index.ts"],"sourcesContent":["import { useRef } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"@vibe/shared\";\n\nexport default function usePrevious<Type>(value: Type): Type {\n const ref = useRef(undefined);\n useIsomorphicLayoutEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n"],"names":["usePrevious","value","ref","useRef","undefined","useIsomorphicLayoutEffect","current"],"mappings":"uIAGwB,SAAAA,EAAkBC,GACxC,IAAMC,EAAMC,OAAOC,GAInB,OAHAC,GAA0B,WACxBH,EAAII,QAAUL,CAChB,IACOC,EAAII,OACb"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as r}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as e,useEffect as
|
|
1
|
+
import{slicedToArray as r}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as e,useEffect as o,useCallback as u}from"react";import t from"../usePrevious/index.js";import{useEventListener as c}from"../../../shared/dist/hooks/useEventListener.js";function n(n){var a=n.ref,l=n.focusCallback,s=n.blurCallback,i=e(!1),f=r(i,2),m=f[0],b=f[1],v=t(m);o((function(){void 0!==v&&(m?l&&l():s&&s())}),[s,l,m,v]);var d=u((function(){a.current.focus()}),[a]),p=u((function(){a.current.blur()}),[a]);return c({eventName:"focus",ref:a,callback:function(){b(!0)}}),c({eventName:"blur",ref:a,callback:function(){b(!1)}}),{isFocused:m,focus:d,blur:p}}export{n as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/hooks/useSetFocus/index.ts"],"sourcesContent":["import { type RefObject, useCallback, useEffect, useState } from \"react\";\nimport useEventListener from \"../useEventListener\";\nimport usePrevious from \"../../hooks/usePrevious\";\n\n// TODO: [breaking] rename to useFocus? and maybe change signature to be like useHover?\nexport default function useSetFocus({\n ref,\n focusCallback,\n blurCallback\n}: {\n ref: RefObject<HTMLElement>;\n focusCallback?: () => void;\n blurCallback?: () => void;\n}) {\n const [isFocused, setIsFocused] = useState(false);\n const isFocusedPrev = usePrevious(isFocused);\n\n useEffect(() => {\n if (isFocusedPrev === undefined) {\n // Don't call callback on first render\n return;\n }\n\n // Calling back from here to be sure that isFocused value have already been updated\n if (isFocused) {\n focusCallback && focusCallback();\n } else {\n blurCallback && blurCallback();\n }\n }, [blurCallback, focusCallback, isFocused, isFocusedPrev]);\n\n const focus = useCallback(() => {\n ref.current.focus();\n }, [ref]);\n\n const blur = useCallback(() => {\n ref.current.blur();\n }, [ref]);\n\n const onFocus = () => {\n setIsFocused(true);\n };\n\n const onBlur = () => {\n setIsFocused(false);\n };\n\n useEventListener({\n eventName: \"focus\",\n ref,\n callback: onFocus\n });\n\n useEventListener({\n eventName: \"blur\",\n ref,\n callback: onBlur\n });\n\n return { isFocused, focus, blur };\n}\n"],"names":["useSetFocus","_ref","ref","focusCallback","blurCallback","_useState","useState","_useState2","_slicedToArray","isFocused","setIsFocused","isFocusedPrev","usePrevious","useEffect","undefined","focus","useCallback","current","blur","useEventListener","eventName","callback"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/hooks/useSetFocus/index.ts"],"sourcesContent":["import { type RefObject, useCallback, useEffect, useState } from \"react\";\nimport useEventListener from \"../useEventListener\";\nimport usePrevious from \"../../hooks/usePrevious\";\n\n// TODO: [breaking] rename to useFocus? and maybe change signature to be like useHover?\nexport default function useSetFocus({\n ref,\n focusCallback,\n blurCallback\n}: {\n ref: RefObject<HTMLElement>;\n focusCallback?: () => void;\n blurCallback?: () => void;\n}) {\n const [isFocused, setIsFocused] = useState(false);\n const isFocusedPrev = usePrevious(isFocused);\n\n useEffect(() => {\n if (isFocusedPrev === undefined) {\n // Don't call callback on first render\n return;\n }\n\n // Calling back from here to be sure that isFocused value have already been updated\n if (isFocused) {\n focusCallback && focusCallback();\n } else {\n blurCallback && blurCallback();\n }\n }, [blurCallback, focusCallback, isFocused, isFocusedPrev]);\n\n const focus = useCallback(() => {\n ref.current.focus();\n }, [ref]);\n\n const blur = useCallback(() => {\n ref.current.blur();\n }, [ref]);\n\n const onFocus = () => {\n setIsFocused(true);\n };\n\n const onBlur = () => {\n setIsFocused(false);\n };\n\n useEventListener({\n eventName: \"focus\",\n ref,\n callback: onFocus\n });\n\n useEventListener({\n eventName: \"blur\",\n ref,\n callback: onBlur\n });\n\n return { isFocused, focus, blur };\n}\n"],"names":["useSetFocus","_ref","ref","focusCallback","blurCallback","_useState","useState","_useState2","_slicedToArray","isFocused","setIsFocused","isFocusedPrev","usePrevious","useEffect","undefined","focus","useCallback","current","blur","useEventListener","eventName","callback"],"mappings":"yQAKc,SAAUA,EAAWC,GAQlC,IAPCC,EAAGD,EAAHC,IACAC,EAAaF,EAAbE,cACAC,EAAYH,EAAZG,aAMAC,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GACxBI,EAAgBC,EAAYH,GAElCI,GAAU,gBACcC,IAAlBH,IAMAF,EACFN,GAAiBA,IAEjBC,GAAgBA,IAEnB,GAAE,CAACA,EAAcD,EAAeM,EAAWE,IAE5C,IAAMI,EAAQC,GAAY,WACxBd,EAAIe,QAAQF,OACd,GAAG,CAACb,IAEEgB,EAAOF,GAAY,WACvBd,EAAIe,QAAQC,MACd,GAAG,CAAChB,IAsBJ,OAZAiB,EAAiB,CACfC,UAAW,QACXlB,IAAAA,EACAmB,SAXc,WACdX,GAAa,MAafS,EAAiB,CACfC,UAAW,OACXlB,IAAAA,EACAmB,SAba,WACbX,GAAa,MAeR,CAAED,UAAAA,EAAWM,MAAAA,EAAOG,KAAAA,EAC7B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as r}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as
|
|
1
|
+
import{slicedToArray as r}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{useState as s}from"react";import{useMediaQuery as o}from"../useMediaQuery/index.js";import{SMALL1 as e,SMALL2 as i,MEDIUM1 as t,MEDIUM2 as u,LARGE as a,XLARGE as m,VIBE_MEDIA_QUERIES as f,MEDIA_QUERY_SIZES as l}from"../../../shared/dist/utils/media-query-utils.js";import{useIsomorphicLayoutEffect as d}from"../../../shared/dist/hooks/ssr/useIsomorphicLayoutEffect.js";function p(){var l=s(e),p=r(l,2),n=p[0],c=p[1],h=o(f),j=r(h,6),y=j[0],v=j[1],x=j[2],_=j[3],b=j[4],g=j[5];return d((function(){y&&c(e),v&&c(i),x&&c(t),_&&c(u),b&&c(a),g&&c(m)}),[y,v,x,_,b,g,c]),n}p.sizes=l;export{p as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/hooks/useVibeMediaQuery/index.ts"],"sourcesContent":["import { useState } from \"react\";\nimport
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/hooks/useVibeMediaQuery/index.ts"],"sourcesContent":["import { useState } from \"react\";\nimport {\n useIsomorphicLayoutEffect,\n VIBE_MEDIA_QUERIES,\n LARGE,\n SMALL1,\n XLARGE,\n MEDIUM1,\n MEDIUM2,\n SMALL2,\n MEDIA_QUERY_SIZES\n} from \"@vibe/shared\";\nimport useMediaQuery from \"../useMediaQuery\";\n\nexport default function useVibeMediaQuery() {\n const [mediaSize, setMediaSize] = useState(SMALL1);\n const [isSmall1, isSmall2, isMedium1, isMedium2, isLarge, isXLarge] = useMediaQuery(VIBE_MEDIA_QUERIES);\n\n useIsomorphicLayoutEffect(() => {\n if (isSmall1) setMediaSize(SMALL1);\n if (isSmall2) setMediaSize(SMALL2);\n if (isMedium1) setMediaSize(MEDIUM1);\n if (isMedium2) setMediaSize(MEDIUM2);\n if (isLarge) setMediaSize(LARGE);\n if (isXLarge) setMediaSize(XLARGE);\n }, [isSmall1, isSmall2, isMedium1, isMedium2, isLarge, isXLarge, setMediaSize]);\n\n return mediaSize;\n}\n\nuseVibeMediaQuery.sizes = MEDIA_QUERY_SIZES;\n"],"names":["useVibeMediaQuery","_useState","useState","SMALL1","_useState2","_slicedToArray","mediaSize","setMediaSize","_useMediaQuery","useMediaQuery","VIBE_MEDIA_QUERIES","_useMediaQuery2","isSmall1","isSmall2","isMedium1","isMedium2","isLarge","isXLarge","useIsomorphicLayoutEffect","SMALL2","MEDIUM1","MEDIUM2","LARGE","XLARGE","sizes","MEDIA_QUERY_SIZES"],"mappings":"ucAcc,SAAUA,IACtB,IAAAC,EAAkCC,EAASC,GAAOC,EAAAC,EAAAJ,EAAA,GAA3CK,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAAsEC,EAAcC,GAAmBC,EAAAN,EAAAG,EAAA,GAAhGI,EAAQD,EAAA,GAAEE,EAAQF,EAAA,GAAEG,EAASH,EAAA,GAAEI,EAASJ,EAAA,GAAEK,EAAOL,EAAA,GAAEM,EAAQN,EAAA,GAWlE,OATAO,GAA0B,WACpBN,GAAUL,EAAaJ,GACvBU,GAAUN,EAAaY,GACvBL,GAAWP,EAAaa,GACxBL,GAAWR,EAAac,GACxBL,GAAST,EAAae,GACtBL,GAAUV,EAAagB,EAC7B,GAAG,CAACX,EAAUC,EAAUC,EAAWC,EAAWC,EAASC,EAAUV,IAE1DD,CACT,CAEAN,EAAkBwB,MAAQC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../style/dist/index.min.css.js";export{default as Accordion}from"./components/Accordion/Accordion/Accordion.js";export{default as AccordionItem}from"./components/Accordion/AccordionItem/AccordionItem.js";export{default as AlertBanner}from"./components/AlertBanner/AlertBanner.js";export{default as AlertBannerButton}from"./components/AlertBanner/AlertBannerButton/AlertBannerButton.js";export{default as AlertBannerLink}from"./components/AlertBanner/AlertBannerLink/AlertBannerLink.js";export{default as AlertBannerText}from"./components/AlertBanner/AlertBannerText/AlertBannerText.js";export{default as AttentionBox}from"./components/AttentionBox/AttentionBox.js";export{default as Avatar}from"./components/Avatar/Avatar.js";export{default as AvatarGroup}from"./components/AvatarGroup/AvatarGroup.js";export{default as Badge}from"./components/Badge/Badge.js";export{default as BreadcrumbsBar}from"./components/BreadcrumbsBar/BreadcrumbsBar.js";export{default as BreadcrumbItem}from"./components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.js";export{default as BreadcrumbMenu}from"./components/BreadcrumbsBar/BreadcrumbMenu/BreadcrumbMenu.js";export{default as BreadcrumbMenuItem}from"./components/BreadcrumbsBar/BreadcrumbMenu/BreadcrumbMenuItem/BreadcrumbMenuItem.js";export{default as ButtonGroup}from"./components/ButtonGroup/ButtonGroup.js";export{default as Checkbox}from"./components/Checkbox/Checkbox.js";export{default as Chips}from"./components/Chips/Chips.js";export{default as ColorPicker}from"./components/ColorPicker/ColorPicker.js";export{default as ColorPickerContent}from"./components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js";export{default as Combobox}from"./components/Combobox/Combobox.js";export{default as Counter}from"./components/Counter/Counter.js";export{default as DatePicker}from"./components/DatePicker/DatePicker.js";export{default as Divider}from"./components/Divider/Divider.js";export{default as Dropdown}from"./components/Dropdown/Dropdown.js";export{default as EditableHeading}from"./components/EditableHeading/EditableHeading.js";export{default as EditableText}from"./components/EditableText/EditableText.js";export{default as EmptyState}from"./components/EmptyState/EmptyState.js";export{default as ExpandCollapse}from"./components/ExpandCollapse/ExpandCollapse.js";export{default as FormattedNumber}from"./components/FormattedNumber/FormattedNumber.js";export{GridKeyboardNavigationContext,useGridKeyboardNavigationContext}from"./components/GridKeyboardNavigationContext/GridKeyboardNavigationContext.js";export{default as HiddenText}from"./components/HiddenText/HiddenText.js";export{default as Info}from"./components/Info/Info.js";export{default as Label}from"./components/Label/Label.js";export{default as Link}from"./components/Link/Link.js";export{default as List}from"./components/List/List.js";export{default as ListItem}from"./components/ListItem/ListItem.js";export{default as ListItemAvatar}from"./components/ListItemAvatar/ListItemAvatar.js";export{default as ListItemIcon}from"./components/ListItemIcon/ListItemIcon.js";export{default as ListTitle}from"./components/ListTitle/ListTitle.js";export{default as Menu}from"./components/Menu/Menu/Menu.js";export{default as MenuItem}from"./components/Menu/MenuItem/MenuItem.js";export{default as MenuItemButton}from"./components/Menu/MenuItemButton/MenuItemButton.js";export{default as MenuDivider}from"./components/Menu/MenuDivider/MenuDivider.js";export{default as MenuTitle}from"./components/Menu/MenuTitle/MenuTitle.js";export{default as MenuGridItem}from"./components/Menu/MenuGridItem/MenuGridItem.js";export{default as MenuButton}from"./components/MenuButton/MenuButton.js";export{default as NumberField}from"./components/NumberField/NumberField.js";export{default as ModalFooter}from"./components/Modal/footers/ModalFooter/ModalFooter.js";export{default as ModalFooterWizard}from"./components/Modal/footers/ModalFooterWizard/ModalFooterWizard.js";export{default as ModalBasicLayout}from"./components/Modal/layouts/ModalBasicLayout/ModalBasicLayout.js";export{default as ModalMediaLayout}from"./components/Modal/layouts/ModalMediaLayout/ModalMediaLayout.js";export{default as ModalSideBySideLayout}from"./components/Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.js";export{default as Modal}from"./components/Modal/Modal/Modal.js";export{default as ModalHeader}from"./components/Modal/ModalHeader/ModalHeader.js";export{default as ModalContent}from"./components/Modal/ModalContent/ModalContent.js";export{default as ModalMedia}from"./components/Modal/ModalMedia/ModalMedia.js";export{default as MultiStepIndicator}from"./components/MultiStepIndicator/MultiStepIndicator.js";export{default as ProgressBar}from"./components/ProgressBars/ProgressBar/ProgressBar.js";export{default as RadioButton}from"./components/RadioButton/RadioButton.js";export{default as Search}from"./components/Search/Search.js";export{default as Skeleton}from"./components/Skeleton/Skeleton.js";export{default as Slider}from"./components/Slider/Slider.js";export{default as SplitButton}from"./components/SplitButton/SplitButton.js";export{default as SplitButtonMenu}from"./components/SplitButton/SplitButtonMenu/SplitButtonMenu.js";export{default as Steps}from"./components/Steps/Steps.js";export{default as Table}from"./components/Table/Table/Table.js";export{default as TableContainer}from"./components/Table/TableContainer/TableContainer.js";export{default as TableHeader}from"./components/Table/TableHeader/TableHeader.js";export{default as TableHeaderCell}from"./components/Table/TableHeaderCell/TableHeaderCell.js";export{default as TableBody}from"./components/Table/TableBody/TableBody.js";export{default as TableVirtualizedBody}from"./components/Table/TableVirtualizedBody/TableVirtualizedBody.js";export{default as TableRow}from"./components/Table/TableRow/TableRow.js";export{default as TableRowMenu}from"./components/Table/TableRowMenu/TableRowMenu.js";export{default as TableCell}from"./components/Table/TableCell/TableCell.js";export{default as Tab}from"./components/Tabs/Tab/Tab.js";export{default as TabList}from"./components/Tabs/TabList/TabList.js";export{default as TabPanel}from"./components/Tabs/TabPanel/TabPanel.js";export{default as TabsContext}from"./components/Tabs/TabsContext/TabsContext.js";export{default as TabPanels}from"./components/Tabs/TabPanels/TabPanels.js";export{default as TextArea}from"./components/TextArea/TextArea.js";export{default as TextField}from"./components/TextField/TextField.js";export{default as TextWithHighlight}from"./components/TextWithHighlight/TextWithHighlight.js";export{default as ThemeProvider}from"./components/ThemeProvider/ThemeProvider.js";export{default as Tipseen}from"./components/Tipseen/Tipseen.js";export{default as TipseenContent}from"./components/Tipseen/TipseenContent.js";export{default as TipseenWizard}from"./components/Tipseen/TipseenWizard.js";export{default as TipseenMedia}from"./components/Tipseen/TipseenMedia/TipseenMedia.js";export{default as Toast}from"./components/Toast/Toast.js";export{default as ToastButton}from"./components/Toast/ToastButton/ToastButton.js";export{default as ToastLink}from"./components/Toast/ToastLink/ToastLink.js";export{default as Toggle}from"./components/Toggle/Toggle.js";export{default as TransitionView}from"./components/TransitionView/TransitionView.js";export{default as VirtualizedGrid}from"./components/VirtualizedGrid/VirtualizedGrid.js";export{default as VirtualizedList}from"./components/VirtualizedList/VirtualizedList.js";export{default as ColorUtils}from"./utils/colors-utils.js";export{default as useKeyEvent}from"./hooks/useKeyEvent/index.js";export{default as useEventListener}from"./hooks/useEventListener/index.js";export{default as useDebounceEvent}from"./hooks/useDebounceEvent/index.js";export{default as useAfterFirstRender}from"./hooks/useAfterFirstRender/index.js";export{default as useTimeout}from"./hooks/useTimeout/index.js";export{default as usePrevious}from"./hooks/usePrevious/index.js";export{default as useSetFocus}from"./hooks/useSetFocus/index.js";export{default as useIsMouseOver}from"./hooks/useIsMouseOver.js";export{default as useHover}from"./hooks/useHover/useHover.js";export{default as useGridKeyboardNavigation}from"./hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.js";export{default as useActiveDescendantListFocus}from"./hooks/useActiveDescendantListFocus/index.js";export{useMediaQuery}from"./hooks/useMediaQuery/index.js";export{default as useVibeMediaQuery}from"./hooks/useVibeMediaQuery/index.js";export{default as useSwitch}from"./hooks/useSwitch/index.js";export{default as useElementsOverflowingIndex}from"./hooks/useElementsOverflowingIndex.js";export{default as useWizard}from"./hooks/useWizard/useWizard.js";export{getElementColor}from"./types/Colors.js";export{default as Clickable}from"../components/clickable/dist/Clickable/Clickable.js";export{default as useClickableProps}from"../components/clickable/dist/useClickableProps/useClickableProps.js";export{default as Dialog}from"../components/dialog/dist/Dialog/Dialog.js";export{default as DialogContentContainer}from"../components/dialog/dist/DialogContentContainer/DialogContentContainer.js";export{default as Heading}from"../components/typography/dist/Heading/Heading.js";export{default as LayerProvider}from"../components/layer/dist/LayerProvider/LayerProvider.js";export{default as Text}from"../components/typography/dist/Text/Text.js";export{default as Tooltip}from"../components/tooltip/dist/Tooltip/Tooltip.js";export{default as Button}from"../components/button/dist/Button/Button.js";export{default as Flex}from"../components/layout/dist/Flex/Flex.js";export{default as Box}from"../components/layout/dist/Box/Box.js";export{default as Icon}from"../components/icon/dist/Icon/Icon.js";export{default as CustomSvgIcon}from"../components/icon/dist/Icon/CustomSvgIcon/CustomSvgIcon.js";export{default as IconButton}from"../components/icon-button/dist/IconButton/IconButton.js";export{default as Loader}from"../components/loader/dist/Loader/Loader.js";export{default as useClickOutside}from"../hooks/dist/useClickOutside/index.js";export{default as useIsOverflowing}from"../hooks/dist/useIsOverflowing/index.js";export{default as useResizeObserver}from"../hooks/dist/useResizeObserver/index.js";
|
|
1
|
+
import"../style/dist/index.min.css.js";export{default as Accordion}from"./components/Accordion/Accordion/Accordion.js";export{default as AccordionItem}from"./components/Accordion/AccordionItem/AccordionItem.js";export{default as AlertBanner}from"./components/AlertBanner/AlertBanner.js";export{default as AlertBannerButton}from"./components/AlertBanner/AlertBannerButton/AlertBannerButton.js";export{default as AlertBannerLink}from"./components/AlertBanner/AlertBannerLink/AlertBannerLink.js";export{default as AlertBannerText}from"./components/AlertBanner/AlertBannerText/AlertBannerText.js";export{default as AttentionBox}from"./components/AttentionBox/AttentionBox.js";export{default as Avatar}from"./components/Avatar/Avatar.js";export{default as AvatarGroup}from"./components/AvatarGroup/AvatarGroup.js";export{default as Badge}from"./components/Badge/Badge.js";export{default as BreadcrumbsBar}from"./components/BreadcrumbsBar/BreadcrumbsBar.js";export{default as BreadcrumbItem}from"./components/BreadcrumbsBar/BreadcrumbItem/BreadcrumbItem.js";export{default as BreadcrumbMenu}from"./components/BreadcrumbsBar/BreadcrumbMenu/BreadcrumbMenu.js";export{default as BreadcrumbMenuItem}from"./components/BreadcrumbsBar/BreadcrumbMenu/BreadcrumbMenuItem/BreadcrumbMenuItem.js";export{default as ButtonGroup}from"./components/ButtonGroup/ButtonGroup.js";export{default as Checkbox}from"./components/Checkbox/Checkbox.js";export{default as Chips}from"./components/Chips/Chips.js";export{default as ColorPicker}from"./components/ColorPicker/ColorPicker.js";export{default as ColorPickerContent}from"./components/ColorPicker/components/ColorPickerContent/ColorPickerContent.js";export{default as Combobox}from"./components/Combobox/Combobox.js";export{default as Counter}from"./components/Counter/Counter.js";export{default as DatePicker}from"./components/DatePicker/DatePicker.js";export{default as Divider}from"./components/Divider/Divider.js";export{default as Dropdown}from"./components/Dropdown/Dropdown.js";export{default as EditableHeading}from"./components/EditableHeading/EditableHeading.js";export{default as EditableText}from"./components/EditableText/EditableText.js";export{default as EmptyState}from"./components/EmptyState/EmptyState.js";export{default as ExpandCollapse}from"./components/ExpandCollapse/ExpandCollapse.js";export{default as FormattedNumber}from"./components/FormattedNumber/FormattedNumber.js";export{GridKeyboardNavigationContext,useGridKeyboardNavigationContext}from"./components/GridKeyboardNavigationContext/GridKeyboardNavigationContext.js";export{default as HiddenText}from"./components/HiddenText/HiddenText.js";export{default as Info}from"./components/Info/Info.js";export{default as Label}from"./components/Label/Label.js";export{default as Link}from"./components/Link/Link.js";export{default as List}from"./components/List/List.js";export{default as ListItem}from"./components/ListItem/ListItem.js";export{default as ListItemAvatar}from"./components/ListItemAvatar/ListItemAvatar.js";export{default as ListItemIcon}from"./components/ListItemIcon/ListItemIcon.js";export{default as ListTitle}from"./components/ListTitle/ListTitle.js";export{default as Menu}from"./components/Menu/Menu/Menu.js";export{default as MenuItem}from"./components/Menu/MenuItem/MenuItem.js";export{default as MenuItemButton}from"./components/Menu/MenuItemButton/MenuItemButton.js";export{default as MenuDivider}from"./components/Menu/MenuDivider/MenuDivider.js";export{default as MenuTitle}from"./components/Menu/MenuTitle/MenuTitle.js";export{default as MenuGridItem}from"./components/Menu/MenuGridItem/MenuGridItem.js";export{default as MenuButton}from"./components/MenuButton/MenuButton.js";export{default as NumberField}from"./components/NumberField/NumberField.js";export{default as ModalFooter}from"./components/Modal/footers/ModalFooter/ModalFooter.js";export{default as ModalFooterWizard}from"./components/Modal/footers/ModalFooterWizard/ModalFooterWizard.js";export{default as ModalBasicLayout}from"./components/Modal/layouts/ModalBasicLayout/ModalBasicLayout.js";export{default as ModalMediaLayout}from"./components/Modal/layouts/ModalMediaLayout/ModalMediaLayout.js";export{default as ModalSideBySideLayout}from"./components/Modal/layouts/ModalSideBySideLayout/ModalSideBySideLayout.js";export{default as Modal}from"./components/Modal/Modal/Modal.js";export{default as ModalHeader}from"./components/Modal/ModalHeader/ModalHeader.js";export{default as ModalContent}from"./components/Modal/ModalContent/ModalContent.js";export{default as ModalMedia}from"./components/Modal/ModalMedia/ModalMedia.js";export{default as MultiStepIndicator}from"./components/MultiStepIndicator/MultiStepIndicator.js";export{default as ProgressBar}from"./components/ProgressBars/ProgressBar/ProgressBar.js";export{default as RadioButton}from"./components/RadioButton/RadioButton.js";export{default as Search}from"./components/Search/Search.js";export{default as Skeleton}from"./components/Skeleton/Skeleton.js";export{default as Slider}from"./components/Slider/Slider.js";export{default as SplitButton}from"./components/SplitButton/SplitButton.js";export{default as SplitButtonMenu}from"./components/SplitButton/SplitButtonMenu/SplitButtonMenu.js";export{default as Steps}from"./components/Steps/Steps.js";export{default as Table}from"./components/Table/Table/Table.js";export{default as TableContainer}from"./components/Table/TableContainer/TableContainer.js";export{default as TableHeader}from"./components/Table/TableHeader/TableHeader.js";export{default as TableHeaderCell}from"./components/Table/TableHeaderCell/TableHeaderCell.js";export{default as TableBody}from"./components/Table/TableBody/TableBody.js";export{default as TableVirtualizedBody}from"./components/Table/TableVirtualizedBody/TableVirtualizedBody.js";export{default as TableRow}from"./components/Table/TableRow/TableRow.js";export{default as TableRowMenu}from"./components/Table/TableRowMenu/TableRowMenu.js";export{default as TableCell}from"./components/Table/TableCell/TableCell.js";export{default as Tab}from"./components/Tabs/Tab/Tab.js";export{default as TabList}from"./components/Tabs/TabList/TabList.js";export{default as TabPanel}from"./components/Tabs/TabPanel/TabPanel.js";export{default as TabsContext}from"./components/Tabs/TabsContext/TabsContext.js";export{default as TabPanels}from"./components/Tabs/TabPanels/TabPanels.js";export{default as TextArea}from"./components/TextArea/TextArea.js";export{default as TextField}from"./components/TextField/TextField.js";export{default as TextWithHighlight}from"./components/TextWithHighlight/TextWithHighlight.js";export{default as ThemeProvider}from"./components/ThemeProvider/ThemeProvider.js";export{default as Tipseen}from"./components/Tipseen/Tipseen.js";export{default as TipseenContent}from"./components/Tipseen/TipseenContent.js";export{default as TipseenWizard}from"./components/Tipseen/TipseenWizard.js";export{default as TipseenMedia}from"./components/Tipseen/TipseenMedia/TipseenMedia.js";export{default as Toast}from"./components/Toast/Toast.js";export{default as ToastButton}from"./components/Toast/ToastButton/ToastButton.js";export{default as ToastLink}from"./components/Toast/ToastLink/ToastLink.js";export{default as Toggle}from"./components/Toggle/Toggle.js";export{default as TransitionView}from"./components/TransitionView/TransitionView.js";export{default as VirtualizedGrid}from"./components/VirtualizedGrid/VirtualizedGrid.js";export{default as VirtualizedList}from"./components/VirtualizedList/VirtualizedList.js";export{default as ColorUtils}from"./utils/colors-utils.js";export{default as useDebounceEvent}from"./hooks/useDebounceEvent/index.js";export{default as useAfterFirstRender}from"./hooks/useAfterFirstRender/index.js";export{default as useTimeout}from"./hooks/useTimeout/index.js";export{default as usePrevious}from"./hooks/usePrevious/index.js";export{default as useSetFocus}from"./hooks/useSetFocus/index.js";export{default as useIsMouseOver}from"./hooks/useIsMouseOver.js";export{default as useHover}from"./hooks/useHover/useHover.js";export{default as useGridKeyboardNavigation}from"./hooks/useGridKeyboardNavigation/useGridKeyboardNavigation.js";export{default as useActiveDescendantListFocus}from"./hooks/useActiveDescendantListFocus/index.js";export{useMediaQuery}from"./hooks/useMediaQuery/index.js";export{default as useVibeMediaQuery}from"./hooks/useVibeMediaQuery/index.js";export{default as useSwitch}from"./hooks/useSwitch/index.js";export{default as useElementsOverflowingIndex}from"./hooks/useElementsOverflowingIndex.js";export{default as useWizard}from"./hooks/useWizard/useWizard.js";export{getElementColor}from"./types/Colors.js";export{default as Clickable}from"../components/clickable/dist/Clickable/Clickable.js";export{default as useClickableProps}from"../components/clickable/dist/useClickableProps/useClickableProps.js";export{default as Dialog}from"../components/dialog/dist/Dialog/Dialog.js";export{default as DialogContentContainer}from"../components/dialog/dist/DialogContentContainer/DialogContentContainer.js";export{default as Heading}from"../components/typography/dist/Heading/Heading.js";export{default as LayerProvider}from"../components/layer/dist/LayerProvider/LayerProvider.js";export{default as Text}from"../components/typography/dist/Text/Text.js";export{default as Tooltip}from"../components/tooltip/dist/Tooltip/Tooltip.js";export{default as Button}from"../components/button/dist/Button/Button.js";export{default as Flex}from"../components/layout/dist/Flex/Flex.js";export{default as Box}from"../components/layout/dist/Box/Box.js";export{default as Icon}from"../components/icon/dist/Icon/Icon.js";export{default as CustomSvgIcon}from"../components/icon/dist/Icon/CustomSvgIcon/CustomSvgIcon.js";export{default as IconButton}from"../components/icon-button/dist/IconButton/IconButton.js";export{default as Loader}from"../components/loader/dist/Loader/Loader.js";export{useKeyEvent}from"../shared/dist/hooks/useKeyEvent.js";export{useEventListener}from"../shared/dist/hooks/useEventListener.js";export{default as useClickOutside}from"../hooks/dist/useClickOutside/index.js";export{default as useIsOverflowing}from"../hooks/dist/useIsOverflowing/index.js";export{default as useResizeObserver}from"../hooks/dist/useResizeObserver/index.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|