@basic-ui/core 0.0.53 → 0.0.56
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/build/cjs/index.js +278 -505
- package/build/cjs/index.js.map +1 -1
- package/build/esm/Accordion/Accordion.js +20 -29
- package/build/esm/Accordion/Accordion.js.map +1 -1
- package/build/esm/Accordion/AccordionBody.js +18 -32
- package/build/esm/Accordion/AccordionBody.js.map +1 -1
- package/build/esm/Accordion/AccordionHeader.js +37 -74
- package/build/esm/Accordion/AccordionHeader.js.map +1 -1
- package/build/esm/Accordion/AccordionItem.js +19 -22
- package/build/esm/Accordion/AccordionItem.js.map +1 -1
- package/build/esm/Accordion/context.js +16 -13
- package/build/esm/Accordion/context.js.map +1 -1
- package/build/esm/Accordion/index.js.map +1 -1
- package/build/esm/Accordion/scopeQuery.js.map +1 -1
- package/build/esm/CheckBox/CheckBox.js +15 -25
- package/build/esm/CheckBox/CheckBox.js.map +1 -1
- package/build/esm/CheckBox/index.js.map +1 -1
- package/build/esm/ComboBox/Combobox.d.ts +7 -7
- package/build/esm/ComboBox/Combobox.js +52 -59
- package/build/esm/ComboBox/Combobox.js.map +1 -1
- package/build/esm/ComboBox/ComboboxButton.js +23 -28
- package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
- package/build/esm/ComboBox/ComboboxInput.js +67 -70
- package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
- package/build/esm/ComboBox/ComboboxLabel.js +15 -17
- package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
- package/build/esm/ComboBox/ComboboxList.js +19 -20
- package/build/esm/ComboBox/ComboboxList.js.map +1 -1
- package/build/esm/ComboBox/ComboboxOption.js +41 -45
- package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
- package/build/esm/ComboBox/ComboboxPopover.js +22 -21
- package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
- package/build/esm/ComboBox/cities.js.map +1 -1
- package/build/esm/ComboBox/context.js +5 -6
- package/build/esm/ComboBox/context.js.map +1 -1
- package/build/esm/ComboBox/hooks.d.ts +2 -2
- package/build/esm/ComboBox/hooks.js +175 -148
- package/build/esm/ComboBox/hooks.js.map +1 -1
- package/build/esm/ComboBox/index.js.map +1 -1
- package/build/esm/ComboBox/makeHash.js +3 -6
- package/build/esm/ComboBox/makeHash.js.map +1 -1
- package/build/esm/ComboBox/scopeQuery.js.map +1 -1
- package/build/esm/FocusLock/FocusLock.js +26 -32
- package/build/esm/FocusLock/FocusLock.js.map +1 -1
- package/build/esm/FocusLock/index.js.map +1 -1
- package/build/esm/FocusLock/tabUtils.js +5 -7
- package/build/esm/FocusLock/tabUtils.js.map +1 -1
- package/build/esm/FocusLock/useFocusLock.js +14 -19
- package/build/esm/FocusLock/useFocusLock.js.map +1 -1
- package/build/esm/List/List.js +9 -11
- package/build/esm/List/List.js.map +1 -1
- package/build/esm/List/ListItem.js +9 -11
- package/build/esm/List/ListItem.js.map +1 -1
- package/build/esm/List/context.js +6 -6
- package/build/esm/List/context.js.map +1 -1
- package/build/esm/List/index.js.map +1 -1
- package/build/esm/Menu/ContextMenuTrigger.d.ts +4 -4
- package/build/esm/Menu/ContextMenuTrigger.js +32 -37
- package/build/esm/Menu/ContextMenuTrigger.js.map +1 -1
- package/build/esm/Menu/Menu.js +33 -49
- package/build/esm/Menu/Menu.js.map +1 -1
- package/build/esm/Menu/MenuButton.d.ts +4 -4
- package/build/esm/Menu/MenuButton.js +28 -44
- package/build/esm/Menu/MenuButton.js.map +1 -1
- package/build/esm/Menu/MenuItem.js +29 -38
- package/build/esm/Menu/MenuItem.js.map +1 -1
- package/build/esm/Menu/MenuList.js +61 -116
- package/build/esm/Menu/MenuList.js.map +1 -1
- package/build/esm/Menu/MenuPopover.js +16 -19
- package/build/esm/Menu/MenuPopover.js.map +1 -1
- package/build/esm/Menu/context.d.ts +1 -1
- package/build/esm/Menu/context.js +14 -12
- package/build/esm/Menu/context.js.map +1 -1
- package/build/esm/Menu/fixtures/countryList.js +1 -1
- package/build/esm/Menu/fixtures/countryList.js.map +1 -1
- package/build/esm/Menu/index.js.map +1 -1
- package/build/esm/Menu/scope.js.map +1 -1
- package/build/esm/Modal/Modal.js +13 -18
- package/build/esm/Modal/Modal.js.map +1 -1
- package/build/esm/Modal/ModalBackdrop.js +24 -33
- package/build/esm/Modal/ModalBackdrop.js.map +1 -1
- package/build/esm/Modal/index.js.map +1 -1
- package/build/esm/Popper/Popper.d.ts +3 -3
- package/build/esm/Popper/Popper.js +44 -61
- package/build/esm/Popper/Popper.js.map +1 -1
- package/build/esm/Popper/PopperArrow.js +11 -16
- package/build/esm/Popper/PopperArrow.js.map +1 -1
- package/build/esm/Popper/context.js +3 -5
- package/build/esm/Popper/context.js.map +1 -1
- package/build/esm/Popper/index.js.map +1 -1
- package/build/esm/Portal/Portal.js +9 -11
- package/build/esm/Portal/Portal.js.map +1 -1
- package/build/esm/Portal/PortalSelectorProvider.d.ts +3 -3
- package/build/esm/Portal/PortalSelectorProvider.js +6 -4
- package/build/esm/Portal/PortalSelectorProvider.js.map +1 -1
- package/build/esm/Portal/index.js.map +1 -1
- package/build/esm/RadioButton/RadioButton.js +17 -23
- package/build/esm/RadioButton/RadioButton.js.map +1 -1
- package/build/esm/RadioButton/RadioGroup.js +19 -28
- package/build/esm/RadioButton/RadioGroup.js.map +1 -1
- package/build/esm/RadioButton/context.d.ts +1 -1
- package/build/esm/RadioButton/context.js +8 -6
- package/build/esm/RadioButton/context.js.map +1 -1
- package/build/esm/RadioButton/index.js.map +1 -1
- package/build/esm/SkipNav/SkipNav.js +9 -11
- package/build/esm/SkipNav/SkipNav.js.map +1 -1
- package/build/esm/SkipNav/index.js.map +1 -1
- package/build/esm/Slider/Slider.d.ts +7 -7
- package/build/esm/Slider/Slider.js +340 -407
- package/build/esm/Slider/Slider.js.map +1 -1
- package/build/esm/Slider/index.js.map +1 -1
- package/build/esm/Spinner/Spinner.js +31 -59
- package/build/esm/Spinner/Spinner.js.map +1 -1
- package/build/esm/Spinner/SpinnerButton.js +14 -19
- package/build/esm/Spinner/SpinnerButton.js.map +1 -1
- package/build/esm/Spinner/context.js +8 -7
- package/build/esm/Spinner/context.js.map +1 -1
- package/build/esm/Spinner/index.js.map +1 -1
- package/build/esm/Tabs/Tab.js +32 -50
- package/build/esm/Tabs/Tab.js.map +1 -1
- package/build/esm/Tabs/TabList.js +24 -34
- package/build/esm/Tabs/TabList.js.map +1 -1
- package/build/esm/Tabs/TabPanel.js +16 -23
- package/build/esm/Tabs/TabPanel.js.map +1 -1
- package/build/esm/Tabs/TabPanels.js +15 -20
- package/build/esm/Tabs/TabPanels.js.map +1 -1
- package/build/esm/Tabs/Tabs.js +17 -33
- package/build/esm/Tabs/Tabs.js.map +1 -1
- package/build/esm/Tabs/context.js +16 -13
- package/build/esm/Tabs/context.js.map +1 -1
- package/build/esm/Tabs/index.js.map +1 -1
- package/build/esm/Tabs/scopeQuery.js.map +1 -1
- package/build/esm/Tooltip/Tooltip.d.ts +2 -2
- package/build/esm/Tooltip/Tooltip.js +20 -30
- package/build/esm/Tooltip/Tooltip.js.map +1 -1
- package/build/esm/Tooltip/index.js.map +1 -1
- package/build/esm/Tooltip/stateMachine.d.ts +2 -2
- package/build/esm/Tooltip/stateMachine.js +95 -81
- package/build/esm/Tooltip/stateMachine.js.map +1 -1
- package/build/esm/Tooltip/useTooltip.d.ts +2 -2
- package/build/esm/Tooltip/useTooltip.js +38 -50
- package/build/esm/Tooltip/useTooltip.js.map +1 -1
- package/build/esm/hooks/index.js.map +1 -1
- package/build/esm/hooks/useAutoFocus.js +3 -3
- package/build/esm/hooks/useAutoFocus.js.map +1 -1
- package/build/esm/hooks/useChildrenCounter.js +6 -8
- package/build/esm/hooks/useChildrenCounter.js.map +1 -1
- package/build/esm/hooks/useControlledState.js +6 -16
- package/build/esm/hooks/useControlledState.js.map +1 -1
- package/build/esm/hooks/useFocusReturn.js +8 -12
- package/build/esm/hooks/useFocusReturn.js.map +1 -1
- package/build/esm/hooks/useFocusState.d.ts +2 -2
- package/build/esm/hooks/useFocusState.js +9 -15
- package/build/esm/hooks/useFocusState.js.map +1 -1
- package/build/esm/hooks/useGestureHandlers.d.ts +1 -1
- package/build/esm/hooks/useGestureHandlers.js +80 -100
- package/build/esm/hooks/useGestureHandlers.js.map +1 -1
- package/build/esm/hooks/useMeasure.js +7 -15
- package/build/esm/hooks/useMeasure.js.map +1 -1
- package/build/esm/hooks/useOnClickOutside.js +4 -6
- package/build/esm/hooks/useOnClickOutside.js.map +1 -1
- package/build/esm/hooks/useOnKeyDown.js +3 -4
- package/build/esm/hooks/useOnKeyDown.js.map +1 -1
- package/build/esm/hooks/useReducerMachine.d.ts +1 -1
- package/build/esm/hooks/useReducerMachine.js +15 -26
- package/build/esm/hooks/useReducerMachine.js.map +1 -1
- package/build/esm/hooks/useRemoveBodyScroll.js +9 -14
- package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
- package/build/esm/hooks/useScope.d.ts +2 -2
- package/build/esm/hooks/useScope.js +12 -14
- package/build/esm/hooks/useScope.js.map +1 -1
- package/build/esm/hooks/useThrottle.js +5 -10
- package/build/esm/hooks/useThrottle.js.map +1 -1
- package/build/esm/index.js +4 -2
- package/build/esm/index.js.map +1 -1
- package/build/esm/styles.d.js +2 -0
- package/build/esm/styles.d.js.map +1 -0
- package/build/esm/utils/assign-ref.js +3 -5
- package/build/esm/utils/assign-ref.js.map +1 -1
- package/build/esm/utils/can-use-dom.js.map +1 -1
- package/build/esm/utils/clamp.js.map +1 -1
- package/build/esm/utils/context.d.ts +1 -1
- package/build/esm/utils/context.js +13 -20
- package/build/esm/utils/context.js.map +1 -1
- package/build/esm/utils/create-subscription.js +5 -10
- package/build/esm/utils/create-subscription.js.map +1 -1
- package/build/esm/utils/get-circular-index.js +0 -1
- package/build/esm/utils/get-circular-index.js.map +1 -1
- package/build/esm/utils/index.js.map +1 -1
- package/build/esm/utils/is-right-click.js.map +1 -1
- package/build/esm/utils/owner-document.js +1 -1
- package/build/esm/utils/owner-document.js.map +1 -1
- package/build/esm/utils/polymorphic.d.ts +10 -10
- package/build/esm/utils/polymorphic.js.map +1 -1
- package/build/esm/utils/rubber-band-clamp.js +2 -5
- package/build/esm/utils/rubber-band-clamp.js.map +1 -1
- package/build/esm/utils/use-stable-callback.js +8 -10
- package/build/esm/utils/use-stable-callback.js.map +1 -1
- package/build/esm/utils/wrap-event.d.ts +1 -1
- package/build/esm/utils/wrap-event.js +2 -5
- package/build/esm/utils/wrap-event.js.map +1 -1
- package/build/tsconfig-build.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/src/Accordion/Accordion.tsx +1 -1
- package/src/Accordion/AccordionBody.tsx +1 -1
- package/src/Accordion/AccordionHeader.tsx +1 -2
- package/src/ComboBox/Combobox.tsx +2 -2
- package/src/ComboBox/ComboboxList.tsx +1 -1
- package/src/ComboBox/ComboboxOption.tsx +0 -1
- package/src/ComboBox/hooks.tsx +0 -3
- package/src/FocusLock/useFocusLock.ts +0 -1
- package/src/Menu/Menu.tsx +2 -3
- package/src/Menu/MenuItem.tsx +1 -2
- package/src/Menu/MenuList.tsx +4 -4
- package/src/Modal/Modal.story.tsx +11 -7
- package/src/Modal/ModalBackdrop.tsx +1 -1
- package/src/Modal/NavDrawer.story.tsx +9 -6
- package/src/Popper/Popper.story.tsx +23 -7
- package/src/Popper/Popper.tsx +2 -2
- package/src/RadioButton/RadioButton.story.tsx +2 -1
- package/src/Slider/Slider.tsx +6 -11
- package/src/Spinner/Spinner.tsx +1 -1
- package/src/Tabs/TabList.tsx +1 -1
- package/src/Tooltip/Tooltip.tsx +8 -5
- package/src/Tooltip/useTooltip.ts +1 -1
- package/src/hooks/useControlledState.ts +1 -6
- package/src/hooks/useGestureHandlers.ts +0 -4
- package/src/hooks/useRemoveBodyScroll.ts +0 -1
- package/src/hooks/useScope.ts +1 -1
- package/src/styles.d.ts +1 -0
- package/src/utils/polymorphic.ts +14 -10
- package/src/utils/use-stable-callback.ts +0 -1
- package/build/esm/Carousel/Carousel.d.ts +0 -9
- package/build/esm/Carousel/Carousel.js +0 -38
- package/build/esm/Carousel/Carousel.js.map +0 -1
- package/build/esm/Carousel/Fader.d.ts +0 -14
- package/build/esm/Carousel/Fader.js +0 -76
- package/build/esm/Carousel/Fader.js.map +0 -1
- package/build/esm/Carousel/FaderItem.d.ts +0 -5
- package/build/esm/Carousel/FaderItem.js +0 -16
- package/build/esm/Carousel/FaderItem.js.map +0 -1
- package/build/esm/Carousel/Preloader.d.ts +0 -7
- package/build/esm/Carousel/Preloader.js +0 -70
- package/build/esm/Carousel/Preloader.js.map +0 -1
- package/build/esm/Carousel/Slider.d.ts +0 -14
- package/build/esm/Carousel/Slider.js +0 -212
- package/build/esm/Carousel/Slider.js.map +0 -1
- package/build/esm/Carousel/SliderItem.d.ts +0 -12
- package/build/esm/Carousel/SliderItem.js +0 -41
- package/build/esm/Carousel/SliderItem.js.map +0 -1
- package/build/esm/Carousel/context.d.ts +0 -10
- package/build/esm/Carousel/context.js +0 -8
- package/build/esm/Carousel/context.js.map +0 -1
- package/build/esm/Carousel/getSliderParams.d.ts +0 -9
- package/build/esm/Carousel/getSliderParams.js +0 -85
- package/build/esm/Carousel/getSliderParams.js.map +0 -1
- package/build/esm/Carousel/index.d.ts +0 -7
- package/build/esm/Carousel/index.js +0 -8
- package/build/esm/Carousel/index.js.map +0 -1
- package/build/esm/Carousel/useCarouselGestures.d.ts +0 -30
- package/build/esm/Carousel/useCarouselGestures.js +0 -33
- package/build/esm/Carousel/useCarouselGestures.js.map +0 -1
- package/build/esm/DatePicker/DatePicker.d.ts +0 -24
- package/build/esm/DatePicker/DatePicker.js +0 -101
- package/build/esm/DatePicker/DatePicker.js.map +0 -1
- package/build/esm/DatePicker/DatePickerSelect.d.ts +0 -8
- package/build/esm/DatePicker/DatePickerSelect.js +0 -201
- package/build/esm/DatePicker/DatePickerSelect.js.map +0 -1
- package/build/esm/DatePicker/RangeDatePicker.d.ts +0 -28
- package/build/esm/DatePicker/RangeDatePicker.js +0 -94
- package/build/esm/DatePicker/RangeDatePicker.js.map +0 -1
- package/build/esm/DatePicker/adjustDates.d.ts +0 -4
- package/build/esm/DatePicker/adjustDates.js +0 -18
- package/build/esm/DatePicker/adjustDates.js.map +0 -1
- package/build/esm/DatePicker/contexts.d.ts +0 -31
- package/build/esm/DatePicker/contexts.js +0 -15
- package/build/esm/DatePicker/contexts.js.map +0 -1
- package/build/esm/DatePicker/dateTypes.d.ts +0 -2
- package/build/esm/DatePicker/dateTypes.js +0 -2
- package/build/esm/DatePicker/dateTypes.js.map +0 -1
- package/build/esm/DatePicker/hooks.d.ts +0 -36
- package/build/esm/DatePicker/hooks.js +0 -98
- package/build/esm/DatePicker/hooks.js.map +0 -1
- package/build/esm/DatePicker/index.d.ts +0 -5
- package/build/esm/DatePicker/index.js +0 -6
- package/build/esm/DatePicker/index.js.map +0 -1
- package/build/esm/hooks/useId.d.ts +0 -1
- package/build/esm/hooks/useId.js +0 -25
- package/build/esm/hooks/useId.js.map +0 -1
- package/build/esm/utils/assignRef.d.ts +0 -3
- package/build/esm/utils/assignRef.js +0 -25
- package/build/esm/utils/assignRef.js.map +0 -1
- package/build/esm/utils/getCircularIndex.d.ts +0 -1
- package/build/esm/utils/getCircularIndex.js +0 -8
- package/build/esm/utils/getCircularIndex.js.map +0 -1
- package/build/esm/utils/rubberBandClamp.d.ts +0 -2
- package/build/esm/utils/rubberBandClamp.js +0 -20
- package/build/esm/utils/rubberBandClamp.js.map +0 -1
- package/build/esm/utils/wrapEvent.d.ts +0 -3
- package/build/esm/utils/wrapEvent.js +0 -16
- package/build/esm/utils/wrapEvent.js.map +0 -1
- package/build/tsconfig.tsbuildinfo +0 -7270
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["as", "innerAs", "onKeyDown", "id", "defaultActiveItemValue"];
|
|
5
1
|
import { useCallback, forwardRef, useEffect, useRef, useState, useLayoutEffect } from 'react';
|
|
6
2
|
import { useMenuContext, MenuListProvider } from './context';
|
|
7
3
|
import { assignMultipleRefs } from '../utils/assign-ref';
|
|
@@ -10,85 +6,67 @@ import { useScope } from '../hooks';
|
|
|
10
6
|
import { queryScope } from './scope';
|
|
11
7
|
import { getCircularIndex, wrapEvent } from '../utils';
|
|
12
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
navigationItem = _useState2[0],
|
|
40
|
-
setNavigationItem = _useState2[1];
|
|
41
|
-
|
|
42
|
-
var _useState3 = useState(false),
|
|
43
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
44
|
-
mounted = _useState4[0],
|
|
45
|
-
setMounted = _useState4[1];
|
|
46
|
-
|
|
47
|
-
var menuListRef = useRef();
|
|
48
|
-
var scope = useScope(menuListRef);
|
|
49
|
-
|
|
50
|
-
var onNavigate = function onNavigate(el) {
|
|
9
|
+
const useEnhancedEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
|
|
10
|
+
export const MenuList = /*#__PURE__*/forwardRef(function MenuList(props, forwardedRef) {
|
|
11
|
+
const {
|
|
12
|
+
as: Comp = 'ul',
|
|
13
|
+
innerAs,
|
|
14
|
+
onKeyDown,
|
|
15
|
+
id: preferredId,
|
|
16
|
+
defaultActiveItemValue,
|
|
17
|
+
...otherProps
|
|
18
|
+
} = props;
|
|
19
|
+
const interactedOutside = useRef(false);
|
|
20
|
+
const itemSearchStr = useRef('');
|
|
21
|
+
const itemSearchClearTimeout = useRef(undefined);
|
|
22
|
+
const {
|
|
23
|
+
menuListIdRef,
|
|
24
|
+
buttonRef,
|
|
25
|
+
onChange,
|
|
26
|
+
openWithArrowKeyRef,
|
|
27
|
+
open,
|
|
28
|
+
isContextMenu
|
|
29
|
+
} = useMenuContext();
|
|
30
|
+
const [navigationItem, setNavigationItem] = useState();
|
|
31
|
+
const [mounted, setMounted] = useState(false);
|
|
32
|
+
const menuListRef = useRef(null);
|
|
33
|
+
const scope = useScope(menuListRef);
|
|
34
|
+
const onNavigate = el => {
|
|
51
35
|
el.focus();
|
|
52
36
|
setNavigationItem(el);
|
|
53
37
|
};
|
|
54
|
-
|
|
55
38
|
menuListIdRef.current = preferredId || menuListIdRef.current;
|
|
56
|
-
useEnhancedEffect(
|
|
39
|
+
useEnhancedEffect(() => {
|
|
57
40
|
if (!mounted) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
41
|
+
const allItems = scope.current.queryAllNodes(queryScope);
|
|
42
|
+
let index = getCircularIndex(openWithArrowKeyRef.current === 'ArrowUp' ? -1 : 0, allItems.length);
|
|
61
43
|
if (defaultActiveItemValue) {
|
|
62
44
|
if (typeof defaultActiveItemValue === 'string') {
|
|
63
|
-
for (
|
|
45
|
+
for (let i = 0; i < allItems.length; i++) {
|
|
64
46
|
if (allItems[i].dataset.value === defaultActiveItemValue) {
|
|
65
47
|
index = i;
|
|
66
48
|
break;
|
|
67
49
|
}
|
|
68
50
|
}
|
|
69
51
|
} else if (Array.isArray(defaultActiveItemValue)) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
var val = allItems[_i].dataset.value;
|
|
74
|
-
|
|
52
|
+
const set = new Set(defaultActiveItemValue);
|
|
53
|
+
for (let i = 0; i < allItems.length; i++) {
|
|
54
|
+
const val = allItems[i].dataset.value;
|
|
75
55
|
if (val && set.has(val)) {
|
|
76
|
-
index =
|
|
56
|
+
index = i;
|
|
77
57
|
break;
|
|
78
58
|
}
|
|
79
59
|
}
|
|
80
60
|
}
|
|
81
61
|
}
|
|
82
|
-
|
|
83
62
|
if (index !== null) {
|
|
84
63
|
onNavigate && onNavigate(allItems[index]);
|
|
85
64
|
}
|
|
86
65
|
}
|
|
87
|
-
|
|
88
66
|
openWithArrowKeyRef.current = null;
|
|
89
67
|
setMounted(true);
|
|
90
68
|
}, [mounted, navigationItem, onNavigate, openWithArrowKeyRef, scope, defaultActiveItemValue]);
|
|
91
|
-
|
|
69
|
+
const handleClickOutside = useCallback(e => {
|
|
92
70
|
if (isContextMenu.current) {
|
|
93
71
|
if (!interactedOutside.current && e.pointerType === 'touch') {
|
|
94
72
|
// First interaction should be ignored, because
|
|
@@ -96,143 +74,110 @@ export var MenuList = /*#__PURE__*/forwardRef(function MenuList(props, forwarded
|
|
|
96
74
|
interactedOutside.current = true;
|
|
97
75
|
return;
|
|
98
76
|
}
|
|
99
|
-
|
|
100
77
|
if (e.button === 0) {
|
|
101
78
|
onChange(e, false);
|
|
102
79
|
}
|
|
103
80
|
} else {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
if (e.target instanceof HTMLElement && e.target !== buttonRef.current && !((_buttonRef$current = buttonRef.current) !== null && _buttonRef$current !== void 0 && _buttonRef$current.contains(e.target))) {
|
|
81
|
+
if (e.target instanceof HTMLElement && e.target !== buttonRef.current && !buttonRef.current?.contains(e.target)) {
|
|
107
82
|
onChange(e, false);
|
|
108
83
|
}
|
|
109
84
|
}
|
|
110
|
-
|
|
111
85
|
e.preventDefault();
|
|
112
86
|
}, [buttonRef, isContextMenu, onChange]);
|
|
113
87
|
useOnClickOutside(menuListRef, handleClickOutside, open);
|
|
114
|
-
|
|
115
88
|
function handleKeyDown(e) {
|
|
116
89
|
switch (e.key) {
|
|
117
90
|
case 'Escape':
|
|
118
91
|
case 'Tab':
|
|
119
92
|
{
|
|
120
|
-
var _buttonRef$current2;
|
|
121
|
-
|
|
122
93
|
onChange(e, false);
|
|
123
94
|
e.preventDefault(); // prevents focusing on next element, because we will be handling it
|
|
124
|
-
|
|
125
95
|
itemSearchStr.current = '';
|
|
126
|
-
|
|
96
|
+
buttonRef.current?.focus();
|
|
127
97
|
break;
|
|
128
98
|
}
|
|
129
|
-
|
|
130
99
|
case 'Home':
|
|
131
100
|
case 'End':
|
|
132
101
|
case 'ArrowDown':
|
|
133
102
|
case 'ArrowUp':
|
|
134
103
|
e.preventDefault();
|
|
135
104
|
itemSearchStr.current = '';
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
return e === navigationItem;
|
|
139
|
-
});
|
|
140
|
-
|
|
105
|
+
const allItems = scope ? scope.current.queryAllNodes(queryScope) : [];
|
|
106
|
+
const currentIndex = allItems.findIndex(e => e === navigationItem);
|
|
141
107
|
if (allItems.length === 0) {
|
|
142
108
|
return;
|
|
143
109
|
}
|
|
144
|
-
|
|
145
|
-
var nextIndex = currentIndex;
|
|
146
|
-
|
|
110
|
+
let nextIndex = currentIndex;
|
|
147
111
|
switch (e.key) {
|
|
148
112
|
case 'ArrowUp':
|
|
149
113
|
nextIndex += -1;
|
|
150
114
|
break;
|
|
151
|
-
|
|
152
115
|
case 'ArrowDown':
|
|
153
116
|
nextIndex += 1;
|
|
154
117
|
break;
|
|
155
|
-
|
|
156
118
|
case 'Home':
|
|
157
119
|
nextIndex = 0;
|
|
158
120
|
break;
|
|
159
|
-
|
|
160
121
|
case 'End':
|
|
161
122
|
nextIndex = -1;
|
|
162
123
|
break;
|
|
163
|
-
}
|
|
164
|
-
//
|
|
165
|
-
|
|
166
|
-
|
|
124
|
+
}
|
|
125
|
+
// We already checked if allItems.length = 0 above
|
|
167
126
|
nextIndex = getCircularIndex(nextIndex, allItems.length);
|
|
168
127
|
onNavigate && onNavigate(allItems[nextIndex]);
|
|
169
128
|
break;
|
|
170
|
-
|
|
171
129
|
default:
|
|
172
130
|
{
|
|
173
131
|
if (e.key.length === 1 && !e.ctrlKey && !e.altKey) {
|
|
174
132
|
// A-Z
|
|
175
133
|
e.preventDefault();
|
|
176
|
-
|
|
177
134
|
if (itemSearchStr.current.length === 0 || itemSearchStr.current.slice(-1) !== e.key) {
|
|
178
135
|
itemSearchStr.current = itemSearchStr.current + e.key;
|
|
179
136
|
}
|
|
180
|
-
|
|
181
137
|
clearTimeout(itemSearchClearTimeout.current);
|
|
182
|
-
itemSearchClearTimeout.current = setTimeout(
|
|
138
|
+
itemSearchClearTimeout.current = setTimeout(() => {
|
|
183
139
|
itemSearchStr.current = '';
|
|
184
140
|
}, 500);
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
var _nextIndex = -1;
|
|
195
|
-
|
|
196
|
-
for (var i = searchStr.length === 1 ? 1 : 0; i < _allItems.length; i++) {
|
|
197
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
198
|
-
var idx = getCircularIndex(_currentIndex + i, _allItems.length);
|
|
199
|
-
var dom = _allItems[idx];
|
|
200
|
-
var domText = dom.innerText.toLowerCase();
|
|
201
|
-
|
|
141
|
+
const allItems = scope ? scope.current.queryAllNodes(queryScope) : [];
|
|
142
|
+
const currentIndex = allItems.findIndex(e => e === navigationItem);
|
|
143
|
+
const searchStr = itemSearchStr.current;
|
|
144
|
+
let nextIndex = -1;
|
|
145
|
+
for (let i = searchStr.length === 1 ? 1 : 0; i < allItems.length; i++) {
|
|
146
|
+
const idx = getCircularIndex(currentIndex + i, allItems.length);
|
|
147
|
+
const dom = allItems[idx];
|
|
148
|
+
const domText = dom.innerText.toLowerCase();
|
|
202
149
|
if (domText.length > 0 && domText.startsWith(searchStr)) {
|
|
203
|
-
|
|
150
|
+
nextIndex = idx;
|
|
204
151
|
break;
|
|
205
152
|
}
|
|
206
153
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
onNavigate && onNavigate(_allItems[_nextIndex]);
|
|
154
|
+
if (nextIndex >= 0 && nextIndex < allItems.length) {
|
|
155
|
+
onNavigate && onNavigate(allItems[nextIndex]);
|
|
210
156
|
}
|
|
211
157
|
}
|
|
212
158
|
}
|
|
213
159
|
}
|
|
214
160
|
}
|
|
215
|
-
|
|
216
161
|
if (!open) {
|
|
217
162
|
interactedOutside.current = false;
|
|
218
163
|
return null;
|
|
219
164
|
}
|
|
220
|
-
|
|
221
165
|
return /*#__PURE__*/_jsx(MenuListProvider, {
|
|
222
166
|
value: {
|
|
223
|
-
navigationItem
|
|
224
|
-
onNavigate
|
|
167
|
+
navigationItem,
|
|
168
|
+
onNavigate
|
|
225
169
|
},
|
|
226
|
-
children: /*#__PURE__*/_jsx(Comp,
|
|
170
|
+
children: /*#__PURE__*/_jsx(Comp, {
|
|
227
171
|
ref: assignMultipleRefs(forwardedRef, menuListRef),
|
|
228
172
|
as: innerAs,
|
|
229
173
|
id: menuListIdRef.current,
|
|
230
174
|
role: "menu",
|
|
231
|
-
"aria-labelledby":
|
|
175
|
+
"aria-labelledby": buttonRef.current?.id,
|
|
232
176
|
"data-menu-list": "",
|
|
233
177
|
tabIndex: "-1",
|
|
234
|
-
onKeyDown: wrapEvent(onKeyDown, handleKeyDown)
|
|
235
|
-
|
|
178
|
+
onKeyDown: wrapEvent(onKeyDown, handleKeyDown),
|
|
179
|
+
...otherProps
|
|
180
|
+
})
|
|
236
181
|
});
|
|
237
182
|
});
|
|
238
183
|
//# sourceMappingURL=MenuList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.js","names":["useCallback","forwardRef","useEffect","useRef","useState","useLayoutEffect","useMenuContext","MenuListProvider","assignMultipleRefs","useOnClickOutside","useScope","queryScope","getCircularIndex","wrapEvent","useEnhancedEffect","window","MenuList","props","forwardedRef","as","Comp","innerAs","onKeyDown","preferredId","id","defaultActiveItemValue","otherProps","interactedOutside","itemSearchStr","itemSearchClearTimeout","menuListIdRef","buttonRef","onChange","openWithArrowKeyRef","open","isContextMenu","navigationItem","setNavigationItem","mounted","setMounted","menuListRef","scope","onNavigate","el","focus","current","allItems","queryAllNodes","index","length","i","dataset","value","Array","isArray","set","Set","val","has","handleClickOutside","e","pointerType","button","target","HTMLElement","contains","preventDefault","handleKeyDown","key","currentIndex","findIndex","nextIndex","ctrlKey","altKey","slice","clearTimeout","setTimeout","searchStr","idx","dom","domText","innerText","toLowerCase","startsWith"],"sources":["../../../src/Menu/MenuList.tsx"],"sourcesContent":["import type { HTMLAttributes, ElementType, KeyboardEvent } from 'react';\nimport {\n useCallback,\n forwardRef,\n useEffect,\n useRef,\n useState,\n useLayoutEffect,\n} from 'react';\n\nimport { useMenuContext, MenuListProvider } from './context';\nimport { assignMultipleRefs } from '../utils/assign-ref';\nimport { useOnClickOutside } from '../hooks/useOnClickOutside';\nimport { useScope } from '../hooks';\nimport { queryScope } from './scope';\nimport { getCircularIndex, wrapEvent } from '../utils';\n\nconst useEnhancedEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nexport interface MenuListProps extends HTMLAttributes<HTMLUListElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n defaultActiveItemValue?: string | string[];\n}\n\nexport const MenuList = forwardRef<HTMLUListElement, MenuListProps>(\n function MenuList(props, forwardedRef) {\n const {\n as: Comp = 'ul',\n innerAs,\n onKeyDown,\n id: preferredId,\n defaultActiveItemValue,\n ...otherProps\n } = props;\n\n const interactedOutside = useRef(false);\n const itemSearchStr = useRef('');\n const itemSearchClearTimeout = useRef<ReturnType<typeof setTimeout>>();\n\n const {\n menuListIdRef,\n buttonRef,\n onChange,\n openWithArrowKeyRef,\n open,\n isContextMenu,\n } = useMenuContext();\n\n const [navigationItem, setNavigationItem] = useState<\n HTMLElement | undefined\n >();\n\n const [mounted, setMounted] = useState(false);\n\n const menuListRef = useRef<HTMLUListElement>();\n\n const scope = useScope<HTMLLIElement, HTMLUListElement>(menuListRef);\n\n const onNavigate = (el: HTMLElement) => {\n el.focus();\n setNavigationItem(el);\n };\n\n menuListIdRef.current = preferredId || menuListIdRef.current;\n\n useEnhancedEffect(() => {\n if (!mounted) {\n const allItems = scope.current.queryAllNodes(queryScope);\n let index = getCircularIndex(\n openWithArrowKeyRef.current === 'ArrowUp' ? -1 : 0,\n allItems.length\n );\n\n if (defaultActiveItemValue) {\n if (typeof defaultActiveItemValue === 'string') {\n for (let i = 0; i < allItems.length; i++) {\n if (allItems[i].dataset.value === defaultActiveItemValue) {\n index = i;\n break;\n }\n }\n } else if (Array.isArray(defaultActiveItemValue)) {\n const set = new Set(defaultActiveItemValue);\n for (let i = 0; i < allItems.length; i++) {\n const val = allItems[i].dataset.value;\n if (val && set.has(val)) {\n index = i;\n break;\n }\n }\n }\n }\n\n if (index !== null) {\n onNavigate && onNavigate(allItems[index]);\n }\n }\n\n openWithArrowKeyRef.current = null;\n setMounted(true);\n }, [\n mounted,\n navigationItem,\n onNavigate,\n openWithArrowKeyRef,\n scope,\n defaultActiveItemValue,\n ]);\n\n const handleClickOutside = useCallback(\n (e: PointerEvent) => {\n if (isContextMenu.current) {\n if (!interactedOutside.current && e.pointerType === 'touch') {\n // First interaction should be ignored, because\n // this is what triggered the context menu to open\n interactedOutside.current = true;\n return;\n }\n\n if (e.button === 0) {\n onChange(e as any, false);\n }\n } else {\n if (\n e.target instanceof HTMLElement &&\n e.target !== buttonRef.current &&\n !buttonRef.current?.contains(e.target)\n ) {\n onChange(e as any, false);\n }\n }\n e.preventDefault();\n },\n [buttonRef, isContextMenu, onChange]\n );\n\n useOnClickOutside(menuListRef, handleClickOutside, open);\n\n function handleKeyDown(e: KeyboardEvent<HTMLUListElement>) {\n switch (e.key) {\n case 'Escape':\n case 'Tab': {\n onChange(e, false);\n e.preventDefault(); // prevents focusing on next element, because we will be handling it\n itemSearchStr.current = '';\n buttonRef.current?.focus();\n break;\n }\n case 'Home':\n case 'End':\n case 'ArrowDown':\n case 'ArrowUp':\n e.preventDefault();\n itemSearchStr.current = '';\n const allItems = scope ? scope.current.queryAllNodes(queryScope) : [];\n const currentIndex = allItems.findIndex((e) => e === navigationItem);\n if (allItems.length === 0) {\n return;\n }\n let nextIndex: number = currentIndex;\n switch (e.key) {\n case 'ArrowUp':\n nextIndex += -1;\n break;\n case 'ArrowDown':\n nextIndex += 1;\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = -1;\n break;\n }\n // We already checked if allItems.length = 0 above\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n nextIndex = getCircularIndex(nextIndex, allItems.length)!;\n onNavigate && onNavigate(allItems[nextIndex]);\n break;\n default: {\n if (e.key.length === 1 && !e.ctrlKey && !e.altKey) {\n // A-Z\n e.preventDefault();\n\n if (\n itemSearchStr.current.length === 0 ||\n itemSearchStr.current.slice(-1) !== e.key\n ) {\n itemSearchStr.current = itemSearchStr.current + e.key;\n }\n clearTimeout(itemSearchClearTimeout.current as any);\n itemSearchClearTimeout.current = setTimeout(() => {\n itemSearchStr.current = '';\n }, 500);\n\n const allItems = scope\n ? scope.current.queryAllNodes(queryScope)\n : [];\n const currentIndex = allItems.findIndex(\n (e) => e === navigationItem\n );\n const searchStr = itemSearchStr.current;\n let nextIndex = -1;\n for (\n let i = searchStr.length === 1 ? 1 : 0;\n i < allItems.length;\n i++\n ) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const idx = getCircularIndex(currentIndex + i, allItems.length)!;\n const dom = allItems[idx];\n const domText = dom.innerText.toLowerCase();\n if (domText.length > 0 && domText.startsWith(searchStr)) {\n nextIndex = idx;\n break;\n }\n }\n if (nextIndex >= 0 && nextIndex < allItems.length) {\n onNavigate && onNavigate(allItems[nextIndex]);\n }\n }\n }\n }\n }\n\n if (!open) {\n interactedOutside.current = false;\n return null;\n }\n\n return (\n <MenuListProvider\n value={{\n navigationItem,\n onNavigate,\n }}\n >\n <Comp\n ref={assignMultipleRefs(forwardedRef, menuListRef)}\n as={innerAs}\n id={menuListIdRef.current}\n role=\"menu\"\n aria-labelledby={buttonRef.current?.id}\n data-menu-list=\"\"\n tabIndex=\"-1\"\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n {...otherProps}\n />\n </MenuListProvider>\n );\n }\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MenuList.js","names":["useCallback","forwardRef","useEffect","useRef","useState","useLayoutEffect","useMenuContext","MenuListProvider","assignMultipleRefs","useOnClickOutside","useScope","queryScope","getCircularIndex","wrapEvent","jsx","_jsx","useEnhancedEffect","window","MenuList","props","forwardedRef","as","Comp","innerAs","onKeyDown","id","preferredId","defaultActiveItemValue","otherProps","interactedOutside","itemSearchStr","itemSearchClearTimeout","undefined","menuListIdRef","buttonRef","onChange","openWithArrowKeyRef","open","isContextMenu","navigationItem","setNavigationItem","mounted","setMounted","menuListRef","scope","onNavigate","el","focus","current","allItems","queryAllNodes","index","length","i","dataset","value","Array","isArray","set","Set","val","has","handleClickOutside","e","pointerType","button","target","HTMLElement","contains","preventDefault","handleKeyDown","key","currentIndex","findIndex","nextIndex","ctrlKey","altKey","slice","clearTimeout","setTimeout","searchStr","idx","dom","domText","innerText","toLowerCase","startsWith","children","ref","role","tabIndex"],"sources":["../../../src/Menu/MenuList.tsx"],"sourcesContent":["import type { HTMLAttributes, ElementType, KeyboardEvent } from 'react';\nimport {\n useCallback,\n forwardRef,\n useEffect,\n useRef,\n useState,\n useLayoutEffect,\n} from 'react';\n\nimport { useMenuContext, MenuListProvider } from './context';\nimport { assignMultipleRefs } from '../utils/assign-ref';\nimport { useOnClickOutside } from '../hooks/useOnClickOutside';\nimport { useScope } from '../hooks';\nimport { queryScope } from './scope';\nimport { getCircularIndex, wrapEvent } from '../utils';\n\nconst useEnhancedEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nexport interface MenuListProps extends HTMLAttributes<HTMLUListElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n defaultActiveItemValue?: string | string[];\n}\n\nexport const MenuList = forwardRef<HTMLUListElement, MenuListProps>(\n function MenuList(props, forwardedRef) {\n const {\n as: Comp = 'ul',\n innerAs,\n onKeyDown,\n id: preferredId,\n defaultActiveItemValue,\n ...otherProps\n } = props;\n\n const interactedOutside = useRef(false);\n const itemSearchStr = useRef('');\n const itemSearchClearTimeout = useRef<\n ReturnType<typeof setTimeout> | undefined\n >(undefined);\n\n const {\n menuListIdRef,\n buttonRef,\n onChange,\n openWithArrowKeyRef,\n open,\n isContextMenu,\n } = useMenuContext();\n\n const [navigationItem, setNavigationItem] = useState<\n HTMLElement | undefined\n >();\n\n const [mounted, setMounted] = useState(false);\n\n const menuListRef = useRef<HTMLUListElement | null>(null);\n\n const scope = useScope<HTMLLIElement, HTMLUListElement>(menuListRef);\n\n const onNavigate = (el: HTMLElement) => {\n el.focus();\n setNavigationItem(el);\n };\n\n menuListIdRef.current = preferredId || menuListIdRef.current;\n\n useEnhancedEffect(() => {\n if (!mounted) {\n const allItems = scope.current.queryAllNodes(queryScope);\n let index = getCircularIndex(\n openWithArrowKeyRef.current === 'ArrowUp' ? -1 : 0,\n allItems.length\n );\n\n if (defaultActiveItemValue) {\n if (typeof defaultActiveItemValue === 'string') {\n for (let i = 0; i < allItems.length; i++) {\n if (allItems[i].dataset.value === defaultActiveItemValue) {\n index = i;\n break;\n }\n }\n } else if (Array.isArray(defaultActiveItemValue)) {\n const set = new Set(defaultActiveItemValue);\n for (let i = 0; i < allItems.length; i++) {\n const val = allItems[i].dataset.value;\n if (val && set.has(val)) {\n index = i;\n break;\n }\n }\n }\n }\n\n if (index !== null) {\n onNavigate && onNavigate(allItems[index]);\n }\n }\n\n openWithArrowKeyRef.current = null;\n setMounted(true);\n }, [\n mounted,\n navigationItem,\n onNavigate,\n openWithArrowKeyRef,\n scope,\n defaultActiveItemValue,\n ]);\n\n const handleClickOutside = useCallback(\n (e: PointerEvent) => {\n if (isContextMenu.current) {\n if (!interactedOutside.current && e.pointerType === 'touch') {\n // First interaction should be ignored, because\n // this is what triggered the context menu to open\n interactedOutside.current = true;\n return;\n }\n\n if (e.button === 0) {\n onChange(e as any, false);\n }\n } else {\n if (\n e.target instanceof HTMLElement &&\n e.target !== buttonRef.current &&\n !buttonRef.current?.contains(e.target)\n ) {\n onChange(e as any, false);\n }\n }\n e.preventDefault();\n },\n [buttonRef, isContextMenu, onChange]\n );\n\n useOnClickOutside(menuListRef, handleClickOutside, open);\n\n function handleKeyDown(e: KeyboardEvent<HTMLUListElement>) {\n switch (e.key) {\n case 'Escape':\n case 'Tab': {\n onChange(e, false);\n e.preventDefault(); // prevents focusing on next element, because we will be handling it\n itemSearchStr.current = '';\n buttonRef.current?.focus();\n break;\n }\n case 'Home':\n case 'End':\n case 'ArrowDown':\n case 'ArrowUp':\n e.preventDefault();\n itemSearchStr.current = '';\n const allItems = scope ? scope.current.queryAllNodes(queryScope) : [];\n const currentIndex = allItems.findIndex((e) => e === navigationItem);\n if (allItems.length === 0) {\n return;\n }\n let nextIndex: number = currentIndex;\n switch (e.key) {\n case 'ArrowUp':\n nextIndex += -1;\n break;\n case 'ArrowDown':\n nextIndex += 1;\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = -1;\n break;\n }\n // We already checked if allItems.length = 0 above\n nextIndex = getCircularIndex(nextIndex, allItems.length)!;\n onNavigate && onNavigate(allItems[nextIndex]);\n break;\n default: {\n if (e.key.length === 1 && !e.ctrlKey && !e.altKey) {\n // A-Z\n e.preventDefault();\n\n if (\n itemSearchStr.current.length === 0 ||\n itemSearchStr.current.slice(-1) !== e.key\n ) {\n itemSearchStr.current = itemSearchStr.current + e.key;\n }\n clearTimeout(itemSearchClearTimeout.current as any);\n itemSearchClearTimeout.current = setTimeout(() => {\n itemSearchStr.current = '';\n }, 500);\n\n const allItems = scope\n ? scope.current.queryAllNodes(queryScope)\n : [];\n const currentIndex = allItems.findIndex(\n (e) => e === navigationItem\n );\n const searchStr = itemSearchStr.current;\n let nextIndex = -1;\n for (\n let i = searchStr.length === 1 ? 1 : 0;\n i < allItems.length;\n i++\n ) {\n const idx = getCircularIndex(currentIndex + i, allItems.length)!;\n const dom = allItems[idx];\n const domText = dom.innerText.toLowerCase();\n if (domText.length > 0 && domText.startsWith(searchStr)) {\n nextIndex = idx;\n break;\n }\n }\n if (nextIndex >= 0 && nextIndex < allItems.length) {\n onNavigate && onNavigate(allItems[nextIndex]);\n }\n }\n }\n }\n }\n\n if (!open) {\n interactedOutside.current = false;\n return null;\n }\n\n return (\n <MenuListProvider\n value={{\n navigationItem,\n onNavigate,\n }}\n >\n <Comp\n ref={assignMultipleRefs(forwardedRef, menuListRef)}\n as={innerAs}\n id={menuListIdRef.current}\n role=\"menu\"\n aria-labelledby={buttonRef.current?.id}\n data-menu-list=\"\"\n tabIndex=\"-1\"\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n {...otherProps}\n />\n </MenuListProvider>\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,33 +1,30 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["as", "innerAs"];
|
|
4
1
|
import { forwardRef } from 'react';
|
|
5
2
|
import { Popper } from '../Popper';
|
|
6
3
|
import { useMenuContext } from './context';
|
|
7
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
5
|
+
export const MenuPopover = /*#__PURE__*/forwardRef(function MenuPopover(props, forwardedRef) {
|
|
6
|
+
const {
|
|
7
|
+
as = 'div',
|
|
8
|
+
innerAs,
|
|
9
|
+
...otherProps
|
|
10
|
+
} = props;
|
|
11
|
+
const {
|
|
12
|
+
buttonRef,
|
|
13
|
+
open,
|
|
14
|
+
offsetFn,
|
|
15
|
+
isContextMenu
|
|
16
|
+
} = useMenuContext();
|
|
20
17
|
if (!open) {
|
|
21
18
|
return null;
|
|
22
19
|
}
|
|
23
|
-
|
|
24
|
-
return /*#__PURE__*/_jsx(Popper, _extends({
|
|
20
|
+
return /*#__PURE__*/_jsx(Popper, {
|
|
25
21
|
as: as,
|
|
26
22
|
innerAs: innerAs,
|
|
27
23
|
ref: forwardedRef,
|
|
28
24
|
anchorEl: buttonRef,
|
|
29
25
|
offsetFn: offsetFn,
|
|
30
|
-
placement: isContextMenu.current ? 'bottom-start' : undefined
|
|
31
|
-
|
|
26
|
+
placement: isContextMenu.current ? 'bottom-start' : undefined,
|
|
27
|
+
...otherProps
|
|
28
|
+
});
|
|
32
29
|
});
|
|
33
30
|
//# sourceMappingURL=MenuPopover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPopover.js","names":["forwardRef","Popper","useMenuContext","MenuPopover","props","forwardedRef","as","innerAs","otherProps","buttonRef","open","offsetFn","isContextMenu","current","undefined"],"sources":["../../../src/Menu/MenuPopover.tsx"],"sourcesContent":["import type { ElementType, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { PopperProps } from '../Popper';\nimport { Popper } from '../Popper';\nimport { useMenuContext } from './context';\n\nexport interface MenuPopoverProps extends Omit<PopperProps, 'anchorEl'> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n}\n\nexport const MenuPopover = forwardRef<HTMLDivElement, MenuPopoverProps>(\n function MenuPopover(props, forwardedRef) {\n const { as = 'div', innerAs, ...otherProps } = props;\n const { buttonRef, open, offsetFn, isContextMenu } = useMenuContext();\n\n if (!open) {\n return null;\n }\n\n return (\n <Popper\n as={as}\n innerAs={innerAs}\n ref={forwardedRef}\n anchorEl={buttonRef}\n offsetFn={offsetFn}\n placement={isContextMenu.current ? 'bottom-start' : undefined}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MenuPopover.js","names":["forwardRef","Popper","useMenuContext","jsx","_jsx","MenuPopover","props","forwardedRef","as","innerAs","otherProps","buttonRef","open","offsetFn","isContextMenu","ref","anchorEl","placement","current","undefined"],"sources":["../../../src/Menu/MenuPopover.tsx"],"sourcesContent":["import type { ElementType, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport type { PopperProps } from '../Popper';\nimport { Popper } from '../Popper';\nimport { useMenuContext } from './context';\n\nexport interface MenuPopoverProps extends Omit<PopperProps, 'anchorEl'> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n}\n\nexport const MenuPopover = forwardRef<HTMLDivElement, MenuPopoverProps>(\n function MenuPopover(props, forwardedRef) {\n const { as = 'div', innerAs, ...otherProps } = props;\n const { buttonRef, open, offsetFn, isContextMenu } = useMenuContext();\n\n if (!open) {\n return null;\n }\n\n return (\n <Popper\n as={as}\n innerAs={innerAs}\n ref={forwardedRef}\n anchorEl={buttonRef}\n offsetFn={offsetFn}\n placement={isContextMenu.current ? 'bottom-start' : undefined}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,OAAO;AAGlC,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,cAAc,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQ3C,OAAO,MAAMC,WAAW,gBAAGL,UAAU,CACnC,SAASK,WAAWA,CAACC,KAAK,EAAEC,YAAY,EAAE;EACxC,MAAM;IAAEC,EAAE,GAAG,KAAK;IAAEC,OAAO;IAAE,GAAGC;EAAW,CAAC,GAAGJ,KAAK;EACpD,MAAM;IAAEK,SAAS;IAAEC,IAAI;IAAEC,QAAQ;IAAEC;EAAc,CAAC,GAAGZ,cAAc,CAAC,CAAC;EAErE,IAAI,CAACU,IAAI,EAAE;IACT,OAAO,IAAI;EACb;EAEA,oBACER,IAAA,CAACH,MAAM;IACLO,EAAE,EAAEA,EAAG;IACPC,OAAO,EAAEA,OAAQ;IACjBM,GAAG,EAAER,YAAa;IAClBS,QAAQ,EAAEL,SAAU;IACpBE,QAAQ,EAAEA,QAAS;IACnBI,SAAS,EAAEH,aAAa,CAACI,OAAO,GAAG,cAAc,GAAGC,SAAU;IAAA,GAC1DT;EAAU,CACf,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { OffsetsFunction } from '@popperjs/core/lib/modifiers/offset';
|
|
2
2
|
import type { Dispatch, KeyboardEvent, MouseEvent, MutableRefObject, PointerEvent, SetStateAction } from 'react';
|
|
3
|
-
export
|
|
3
|
+
export type ItemObject = {
|
|
4
4
|
text: string;
|
|
5
5
|
value: any;
|
|
6
6
|
id: string | undefined;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { createContext, useContext } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
|
|
3
|
+
// MenuRoot
|
|
4
|
+
|
|
5
|
+
const menuContext = /*#__PURE__*/createContext(null);
|
|
6
|
+
export const {
|
|
7
|
+
Provider: MenuProvider
|
|
8
|
+
} = menuContext;
|
|
9
|
+
export const useMenuContext = () => useContext(menuContext);
|
|
10
|
+
|
|
11
|
+
// MenuList
|
|
12
|
+
|
|
13
|
+
const menuListContext = /*#__PURE__*/createContext(null);
|
|
14
|
+
export const MenuListProvider = menuListContext.Provider;
|
|
15
|
+
export const useMenuListContext = () => useContext(menuListContext);
|
|
14
16
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["createContext","useContext","menuContext","
|
|
1
|
+
{"version":3,"file":"context.js","names":["createContext","useContext","menuContext","Provider","MenuProvider","useMenuContext","menuListContext","MenuListProvider","useMenuListContext"],"sources":["../../../src/Menu/context.ts"],"sourcesContent":["import type { OffsetsFunction } from '@popperjs/core/lib/modifiers/offset';\nimport type {\n Dispatch,\n KeyboardEvent,\n MouseEvent,\n MutableRefObject,\n PointerEvent,\n SetStateAction,\n} from 'react';\nimport { createContext, useContext } from 'react';\n\nexport type ItemObject = { text: string; value: any; id: string | undefined };\n\n// MenuRoot\nexport interface MenuContextProps {\n buttonRef: MutableRefObject<HTMLElement | null>;\n menuListIdRef: MutableRefObject<undefined | string>;\n openWithArrowKeyRef: MutableRefObject<string | null>;\n onChange: (\n e:\n | KeyboardEvent<HTMLElement>\n | MouseEvent<HTMLElement>\n | PointerEvent<HTMLElement>,\n isOpen: boolean\n ) => void;\n open: boolean;\n offsetFn: OffsetsFunction | undefined;\n setOffsetFn: Dispatch<SetStateAction<OffsetsFunction | undefined>>;\n isContextMenu: MutableRefObject<boolean>;\n}\n\nconst menuContext = createContext<MenuContextProps>(null as any);\nexport const { Provider: MenuProvider } = menuContext;\nexport const useMenuContext = () => useContext(menuContext);\n\n// MenuList\nexport interface MenuListContextProps {\n navigationItem: HTMLElement | undefined;\n onNavigate: undefined | ((idx: HTMLElement) => void);\n}\n\nconst menuListContext = createContext<MenuListContextProps>(null as any);\nexport const MenuListProvider = menuListContext.Provider;\nexport const useMenuListContext = () => useContext(menuListContext);\n"],"mappings":"AASA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;;AAIjD;;AAkBA,MAAMC,WAAW,gBAAGF,aAAa,CAAmB,IAAW,CAAC;AAChE,OAAO,MAAM;EAAEG,QAAQ,EAAEC;AAAa,CAAC,GAAGF,WAAW;AACrD,OAAO,MAAMG,cAAc,GAAGA,CAAA,KAAMJ,UAAU,CAACC,WAAW,CAAC;;AAE3D;;AAMA,MAAMI,eAAe,gBAAGN,aAAa,CAAuB,IAAW,CAAC;AACxE,OAAO,MAAMO,gBAAgB,GAAGD,eAAe,CAACH,QAAQ;AACxD,OAAO,MAAMK,kBAAkB,GAAGA,CAAA,KAAMP,UAAU,CAACK,eAAe,CAAC","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export const countryList = ['Afghanistan', 'Albania', 'Algeria', 'Andorra', 'Angola', 'Antigua and Barbuda', 'Argentina', 'Armenia', 'Australia', 'Austria', 'Azerbaijan', 'Bahamas', 'Bahrain', 'Bangladesh', 'Barbados', 'Belarus', 'Belgium', 'Belize', 'Benin', 'Bhutan', 'Bolivia', 'Bosnia and Herzegovina', 'Botswana', 'Brazil', 'Brunei', 'Bulgaria', 'Burkina Faso', 'Burundi', "Côte d'Ivoire", 'Cabo Verde', 'Cambodia', 'Cameroon', 'Canada', 'Central African Republic', 'Central American Republic', 'Chad', 'Chile', 'China', 'Colombia', 'Comoros', 'Congo (Congo-Brazzaville)', 'Costa Rica', 'Croatia', 'Cuba', 'Cyprus', 'Czechia (Czech Republic)', 'Democratic Republic of the Congo', 'Denmark', 'Djibouti', 'Dominica', 'Dominican Republic', 'Ecuador', 'Egypt', 'El Salvador', 'Equatorial Guinea', 'Eritrea', 'Estonia', 'Eswatini (fmr. "Swaziland")', 'Ethiopia', 'Fiji', 'Finland', 'France', 'Gabon', 'Gambia', 'Georgia', 'Germany', 'Ghana', 'Greece', 'Grenada', 'Guatemala', 'Guinea', 'Guinea-Bissau', 'Guyana', 'Haiti', 'Holy See', 'Honduras', 'Hungary', 'Iceland', 'India', 'Indonesia', 'Iran', 'Iraq', 'Ireland', 'Israel', 'Italy', 'Jamaica', 'Japan', 'Jordan', 'Kazakhstan', 'Kenya', 'Kiribati', 'Kuwait', 'Kyrgyzstan', 'Laos', 'Latvia', 'Lebanon', 'Lesotho', 'Liberia', 'Libya', 'Liechtenstein', 'Lithuania', 'Luxembourg', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Marshall Islands', 'Mauritania', 'Mauritius', 'Mexico', 'Micronesia', 'Moldova', 'Monaco', 'Mongolia', 'Montenegro', 'Morocco', 'Mozambique', 'Myanmar (formerly Burma)', 'Namibia', 'Nauru', 'Nepal', 'Netherlands', 'New Zealand', 'Nicaragua', 'Niger', 'Nigeria', 'North Korea', 'North Macedonia', 'Norway', 'Oman', 'Pakistan', 'Palau', 'Palestine State', 'Panama', 'Papua New Guinea', 'Paraguay', 'Peru', 'Philippines', 'Poland', 'Portugal', 'Qatar', 'Romania', 'Russia', 'Rwanda', 'Saint Kitts and Nevis', 'Saint Lucia', 'Saint Vincent and the Grenadines', 'Samoa', 'San Marino', 'Sao Tome and Principe', 'Saudi Arabia', 'Senegal', 'Serbia', 'Seychelles', 'Sierra Leone', 'Singapore', 'Slovakia', 'Slovenia', 'Solomon Islands', 'Somalia', 'South Africa', 'South Korea', 'South Sudan', 'Spain', 'Sri Lanka', 'Sudan', 'Suriname', 'Sweden', 'Switzerland', 'Syria', 'Tajikistan', 'Tanzania', 'Thailand', 'Timor-Leste', 'Togo', 'Tonga', 'Trinidad and Tobago', 'Tunisia', 'Turkey', 'Turkmenistan', 'Tuvalu', 'Uganda', 'Ukraine', 'United Arab Emirates', 'United Kingdom', 'United States of America', 'Uruguay', 'Uzbekistan', 'Vanuatu', 'Venezuela', 'Vietnam', 'Yemen', 'Zambia', 'Zimbabwe'];
|
|
2
2
|
//# sourceMappingURL=countryList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"countryList.js","names":["countryList"],"sources":["../../../../src/Menu/fixtures/countryList.ts"],"sourcesContent":["export const countryList = [\n 'Afghanistan',\n 'Albania',\n 'Algeria',\n 'Andorra',\n 'Angola',\n 'Antigua and Barbuda',\n 'Argentina',\n 'Armenia',\n 'Australia',\n 'Austria',\n 'Azerbaijan',\n 'Bahamas',\n 'Bahrain',\n 'Bangladesh',\n 'Barbados',\n 'Belarus',\n 'Belgium',\n 'Belize',\n 'Benin',\n 'Bhutan',\n 'Bolivia',\n 'Bosnia and Herzegovina',\n 'Botswana',\n 'Brazil',\n 'Brunei',\n 'Bulgaria',\n 'Burkina Faso',\n 'Burundi',\n \"Côte d'Ivoire\",\n 'Cabo Verde',\n 'Cambodia',\n 'Cameroon',\n 'Canada',\n 'Central African Republic',\n 'Central American Republic',\n 'Chad',\n 'Chile',\n 'China',\n 'Colombia',\n 'Comoros',\n 'Congo (Congo-Brazzaville)',\n 'Costa Rica',\n 'Croatia',\n 'Cuba',\n 'Cyprus',\n 'Czechia (Czech Republic)',\n 'Democratic Republic of the Congo',\n 'Denmark',\n 'Djibouti',\n 'Dominica',\n 'Dominican Republic',\n 'Ecuador',\n 'Egypt',\n 'El Salvador',\n 'Equatorial Guinea',\n 'Eritrea',\n 'Estonia',\n 'Eswatini (fmr. \"Swaziland\")',\n 'Ethiopia',\n 'Fiji',\n 'Finland',\n 'France',\n 'Gabon',\n 'Gambia',\n 'Georgia',\n 'Germany',\n 'Ghana',\n 'Greece',\n 'Grenada',\n 'Guatemala',\n 'Guinea',\n 'Guinea-Bissau',\n 'Guyana',\n 'Haiti',\n 'Holy See',\n 'Honduras',\n 'Hungary',\n 'Iceland',\n 'India',\n 'Indonesia',\n 'Iran',\n 'Iraq',\n 'Ireland',\n 'Israel',\n 'Italy',\n 'Jamaica',\n 'Japan',\n 'Jordan',\n 'Kazakhstan',\n 'Kenya',\n 'Kiribati',\n 'Kuwait',\n 'Kyrgyzstan',\n 'Laos',\n 'Latvia',\n 'Lebanon',\n 'Lesotho',\n 'Liberia',\n 'Libya',\n 'Liechtenstein',\n 'Lithuania',\n 'Luxembourg',\n 'Madagascar',\n 'Malawi',\n 'Malaysia',\n 'Maldives',\n 'Mali',\n 'Malta',\n 'Marshall Islands',\n 'Mauritania',\n 'Mauritius',\n 'Mexico',\n 'Micronesia',\n 'Moldova',\n 'Monaco',\n 'Mongolia',\n 'Montenegro',\n 'Morocco',\n 'Mozambique',\n 'Myanmar (formerly Burma)',\n 'Namibia',\n 'Nauru',\n 'Nepal',\n 'Netherlands',\n 'New Zealand',\n 'Nicaragua',\n 'Niger',\n 'Nigeria',\n 'North Korea',\n 'North Macedonia',\n 'Norway',\n 'Oman',\n 'Pakistan',\n 'Palau',\n 'Palestine State',\n 'Panama',\n 'Papua New Guinea',\n 'Paraguay',\n 'Peru',\n 'Philippines',\n 'Poland',\n 'Portugal',\n 'Qatar',\n 'Romania',\n 'Russia',\n 'Rwanda',\n 'Saint Kitts and Nevis',\n 'Saint Lucia',\n 'Saint Vincent and the Grenadines',\n 'Samoa',\n 'San Marino',\n 'Sao Tome and Principe',\n 'Saudi Arabia',\n 'Senegal',\n 'Serbia',\n 'Seychelles',\n 'Sierra Leone',\n 'Singapore',\n 'Slovakia',\n 'Slovenia',\n 'Solomon Islands',\n 'Somalia',\n 'South Africa',\n 'South Korea',\n 'South Sudan',\n 'Spain',\n 'Sri Lanka',\n 'Sudan',\n 'Suriname',\n 'Sweden',\n 'Switzerland',\n 'Syria',\n 'Tajikistan',\n 'Tanzania',\n 'Thailand',\n 'Timor-Leste',\n 'Togo',\n 'Tonga',\n 'Trinidad and Tobago',\n 'Tunisia',\n 'Turkey',\n 'Turkmenistan',\n 'Tuvalu',\n 'Uganda',\n 'Ukraine',\n 'United Arab Emirates',\n 'United Kingdom',\n 'United States of America',\n 'Uruguay',\n 'Uzbekistan',\n 'Vanuatu',\n 'Venezuela',\n 'Vietnam',\n 'Yemen',\n 'Zambia',\n 'Zimbabwe',\n];\n"],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"countryList.js","names":["countryList"],"sources":["../../../../src/Menu/fixtures/countryList.ts"],"sourcesContent":["export const countryList = [\n 'Afghanistan',\n 'Albania',\n 'Algeria',\n 'Andorra',\n 'Angola',\n 'Antigua and Barbuda',\n 'Argentina',\n 'Armenia',\n 'Australia',\n 'Austria',\n 'Azerbaijan',\n 'Bahamas',\n 'Bahrain',\n 'Bangladesh',\n 'Barbados',\n 'Belarus',\n 'Belgium',\n 'Belize',\n 'Benin',\n 'Bhutan',\n 'Bolivia',\n 'Bosnia and Herzegovina',\n 'Botswana',\n 'Brazil',\n 'Brunei',\n 'Bulgaria',\n 'Burkina Faso',\n 'Burundi',\n \"Côte d'Ivoire\",\n 'Cabo Verde',\n 'Cambodia',\n 'Cameroon',\n 'Canada',\n 'Central African Republic',\n 'Central American Republic',\n 'Chad',\n 'Chile',\n 'China',\n 'Colombia',\n 'Comoros',\n 'Congo (Congo-Brazzaville)',\n 'Costa Rica',\n 'Croatia',\n 'Cuba',\n 'Cyprus',\n 'Czechia (Czech Republic)',\n 'Democratic Republic of the Congo',\n 'Denmark',\n 'Djibouti',\n 'Dominica',\n 'Dominican Republic',\n 'Ecuador',\n 'Egypt',\n 'El Salvador',\n 'Equatorial Guinea',\n 'Eritrea',\n 'Estonia',\n 'Eswatini (fmr. \"Swaziland\")',\n 'Ethiopia',\n 'Fiji',\n 'Finland',\n 'France',\n 'Gabon',\n 'Gambia',\n 'Georgia',\n 'Germany',\n 'Ghana',\n 'Greece',\n 'Grenada',\n 'Guatemala',\n 'Guinea',\n 'Guinea-Bissau',\n 'Guyana',\n 'Haiti',\n 'Holy See',\n 'Honduras',\n 'Hungary',\n 'Iceland',\n 'India',\n 'Indonesia',\n 'Iran',\n 'Iraq',\n 'Ireland',\n 'Israel',\n 'Italy',\n 'Jamaica',\n 'Japan',\n 'Jordan',\n 'Kazakhstan',\n 'Kenya',\n 'Kiribati',\n 'Kuwait',\n 'Kyrgyzstan',\n 'Laos',\n 'Latvia',\n 'Lebanon',\n 'Lesotho',\n 'Liberia',\n 'Libya',\n 'Liechtenstein',\n 'Lithuania',\n 'Luxembourg',\n 'Madagascar',\n 'Malawi',\n 'Malaysia',\n 'Maldives',\n 'Mali',\n 'Malta',\n 'Marshall Islands',\n 'Mauritania',\n 'Mauritius',\n 'Mexico',\n 'Micronesia',\n 'Moldova',\n 'Monaco',\n 'Mongolia',\n 'Montenegro',\n 'Morocco',\n 'Mozambique',\n 'Myanmar (formerly Burma)',\n 'Namibia',\n 'Nauru',\n 'Nepal',\n 'Netherlands',\n 'New Zealand',\n 'Nicaragua',\n 'Niger',\n 'Nigeria',\n 'North Korea',\n 'North Macedonia',\n 'Norway',\n 'Oman',\n 'Pakistan',\n 'Palau',\n 'Palestine State',\n 'Panama',\n 'Papua New Guinea',\n 'Paraguay',\n 'Peru',\n 'Philippines',\n 'Poland',\n 'Portugal',\n 'Qatar',\n 'Romania',\n 'Russia',\n 'Rwanda',\n 'Saint Kitts and Nevis',\n 'Saint Lucia',\n 'Saint Vincent and the Grenadines',\n 'Samoa',\n 'San Marino',\n 'Sao Tome and Principe',\n 'Saudi Arabia',\n 'Senegal',\n 'Serbia',\n 'Seychelles',\n 'Sierra Leone',\n 'Singapore',\n 'Slovakia',\n 'Slovenia',\n 'Solomon Islands',\n 'Somalia',\n 'South Africa',\n 'South Korea',\n 'South Sudan',\n 'Spain',\n 'Sri Lanka',\n 'Sudan',\n 'Suriname',\n 'Sweden',\n 'Switzerland',\n 'Syria',\n 'Tajikistan',\n 'Tanzania',\n 'Thailand',\n 'Timor-Leste',\n 'Togo',\n 'Tonga',\n 'Trinidad and Tobago',\n 'Tunisia',\n 'Turkey',\n 'Turkmenistan',\n 'Tuvalu',\n 'Uganda',\n 'Ukraine',\n 'United Arab Emirates',\n 'United Kingdom',\n 'United States of America',\n 'Uruguay',\n 'Uzbekistan',\n 'Vanuatu',\n 'Venezuela',\n 'Vietnam',\n 'Yemen',\n 'Zambia',\n 'Zimbabwe',\n];\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/Menu/index.ts"],"sourcesContent":["export * from './Menu';\nexport * from './MenuButton';\nexport * from './ContextMenuTrigger';\nexport * from './MenuItem';\nexport * from './MenuList';\nexport * from './MenuPopover';\n"],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/Menu/index.ts"],"sourcesContent":["export * from './Menu';\nexport * from './MenuButton';\nexport * from './ContextMenuTrigger';\nexport * from './MenuItem';\nexport * from './MenuList';\nexport * from './MenuPopover';\n"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,sBAAsB;AACpC,cAAc,YAAY;AAC1B,cAAc,YAAY;AAC1B,cAAc,eAAe","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","names":["queryScope","type","props"],"sources":["../../../src/Menu/scope.ts"],"sourcesContent":["export function queryScope(type: string, props: Record<string, unknown>) {\n return (\n props['data-menu-item'] === '' &&\n props['data-disabled'] !== '' &&\n props['data-disabled'] !== true\n );\n}\n"],"mappings":"AAAA,OAAO,SAASA,
|
|
1
|
+
{"version":3,"file":"scope.js","names":["queryScope","type","props"],"sources":["../../../src/Menu/scope.ts"],"sourcesContent":["export function queryScope(type: string, props: Record<string, unknown>) {\n return (\n props['data-menu-item'] === '' &&\n props['data-disabled'] !== '' &&\n props['data-disabled'] !== true\n );\n}\n"],"mappings":"AAAA,OAAO,SAASA,UAAUA,CAACC,IAAY,EAAEC,KAA8B,EAAE;EACvE,OACEA,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAC9BA,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,IAC7BA,KAAK,CAAC,eAAe,CAAC,KAAK,IAAI;AAEnC","ignoreList":[]}
|