@basic-ui/core 0.0.54 → 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/README.md +3 -3
- package/build/cjs/index.js +364 -591
- package/build/cjs/index.js.map +1 -1
- package/build/esm/Accordion/Accordion.d.ts +9 -9
- package/build/esm/Accordion/Accordion.js +20 -29
- package/build/esm/Accordion/Accordion.js.map +1 -1
- package/build/esm/Accordion/AccordionBody.d.ts +6 -6
- package/build/esm/Accordion/AccordionBody.js +18 -32
- package/build/esm/Accordion/AccordionBody.js.map +1 -1
- package/build/esm/Accordion/AccordionHeader.d.ts +7 -7
- package/build/esm/Accordion/AccordionHeader.js +37 -74
- package/build/esm/Accordion/AccordionHeader.js.map +1 -1
- package/build/esm/Accordion/AccordionItem.d.ts +9 -9
- package/build/esm/Accordion/AccordionItem.js +19 -22
- package/build/esm/Accordion/AccordionItem.js.map +1 -1
- package/build/esm/Accordion/context.d.ts +19 -19
- package/build/esm/Accordion/context.js +16 -13
- package/build/esm/Accordion/context.js.map +1 -1
- package/build/esm/Accordion/index.d.ts +4 -4
- package/build/esm/Accordion/index.js.map +1 -1
- package/build/esm/Accordion/scopeQuery.d.ts +2 -2
- package/build/esm/Accordion/scopeQuery.js.map +1 -1
- package/build/esm/CheckBox/CheckBox.d.ts +7 -7
- package/build/esm/CheckBox/CheckBox.js +15 -25
- package/build/esm/CheckBox/CheckBox.js.map +1 -1
- package/build/esm/CheckBox/index.d.ts +1 -1
- package/build/esm/CheckBox/index.js.map +1 -1
- package/build/esm/ComboBox/Combobox.d.ts +18 -18
- package/build/esm/ComboBox/Combobox.js +52 -59
- package/build/esm/ComboBox/Combobox.js.map +1 -1
- package/build/esm/ComboBox/ComboboxButton.d.ts +9 -9
- package/build/esm/ComboBox/ComboboxButton.js +23 -28
- package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
- package/build/esm/ComboBox/ComboboxInput.d.ts +17 -17
- package/build/esm/ComboBox/ComboboxInput.js +67 -70
- package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
- package/build/esm/ComboBox/ComboboxLabel.d.ts +7 -7
- package/build/esm/ComboBox/ComboboxLabel.js +15 -17
- package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
- package/build/esm/ComboBox/ComboboxList.d.ts +8 -8
- package/build/esm/ComboBox/ComboboxList.js +19 -20
- package/build/esm/ComboBox/ComboboxList.js.map +1 -1
- package/build/esm/ComboBox/ComboboxOption.d.ts +11 -11
- package/build/esm/ComboBox/ComboboxOption.js +41 -45
- package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
- package/build/esm/ComboBox/ComboboxPopover.d.ts +9 -9
- package/build/esm/ComboBox/ComboboxPopover.js +22 -21
- package/build/esm/ComboBox/ComboboxPopover.js.map +1 -1
- package/build/esm/ComboBox/cities.d.ts +5 -5
- package/build/esm/ComboBox/cities.js.map +1 -1
- package/build/esm/ComboBox/context.d.ts +30 -30
- package/build/esm/ComboBox/context.js +5 -6
- package/build/esm/ComboBox/context.js.map +1 -1
- package/build/esm/ComboBox/hooks.d.ts +37 -37
- package/build/esm/ComboBox/hooks.js +175 -148
- package/build/esm/ComboBox/hooks.js.map +1 -1
- package/build/esm/ComboBox/index.d.ts +8 -8
- package/build/esm/ComboBox/index.js.map +1 -1
- package/build/esm/ComboBox/makeHash.d.ts +1 -1
- package/build/esm/ComboBox/makeHash.js +3 -6
- package/build/esm/ComboBox/makeHash.js.map +1 -1
- package/build/esm/ComboBox/scopeQuery.d.ts +1 -1
- package/build/esm/ComboBox/scopeQuery.js.map +1 -1
- package/build/esm/FocusLock/FocusLock.d.ts +9 -9
- package/build/esm/FocusLock/FocusLock.js +26 -32
- package/build/esm/FocusLock/FocusLock.js.map +1 -1
- package/build/esm/FocusLock/index.d.ts +1 -1
- package/build/esm/FocusLock/index.js.map +1 -1
- package/build/esm/FocusLock/tabUtils.d.ts +3 -3
- package/build/esm/FocusLock/tabUtils.js +5 -7
- package/build/esm/FocusLock/tabUtils.js.map +1 -1
- package/build/esm/FocusLock/useFocusLock.d.ts +7 -7
- package/build/esm/FocusLock/useFocusLock.js +14 -19
- package/build/esm/FocusLock/useFocusLock.js.map +1 -1
- package/build/esm/List/List.d.ts +7 -7
- package/build/esm/List/List.js +9 -11
- package/build/esm/List/List.js.map +1 -1
- package/build/esm/List/ListItem.d.ts +7 -7
- package/build/esm/List/ListItem.js +9 -11
- package/build/esm/List/ListItem.js.map +1 -1
- package/build/esm/List/context.d.ts +4 -4
- package/build/esm/List/context.js +6 -6
- package/build/esm/List/context.js.map +1 -1
- package/build/esm/List/index.d.ts +2 -2
- package/build/esm/List/index.js.map +1 -1
- package/build/esm/Menu/ContextMenuTrigger.d.ts +11 -11
- package/build/esm/Menu/ContextMenuTrigger.js +32 -37
- package/build/esm/Menu/ContextMenuTrigger.js.map +1 -1
- package/build/esm/Menu/Menu.d.ts +10 -10
- package/build/esm/Menu/Menu.js +33 -49
- package/build/esm/Menu/Menu.js.map +1 -1
- package/build/esm/Menu/MenuButton.d.ts +11 -11
- package/build/esm/Menu/MenuButton.js +28 -44
- package/build/esm/Menu/MenuButton.js.map +1 -1
- package/build/esm/Menu/MenuItem.d.ts +8 -8
- package/build/esm/Menu/MenuItem.js +29 -38
- package/build/esm/Menu/MenuItem.js.map +1 -1
- package/build/esm/Menu/MenuList.d.ts +7 -7
- package/build/esm/Menu/MenuList.js +61 -116
- package/build/esm/Menu/MenuList.js.map +1 -1
- package/build/esm/Menu/MenuPopover.d.ts +8 -8
- package/build/esm/Menu/MenuPopover.js +16 -19
- package/build/esm/Menu/MenuPopover.js.map +1 -1
- package/build/esm/Menu/context.d.ts +25 -25
- package/build/esm/Menu/context.js +14 -12
- package/build/esm/Menu/context.js.map +1 -1
- package/build/esm/Menu/fixtures/countryList.d.ts +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.d.ts +6 -6
- package/build/esm/Menu/index.js.map +1 -1
- package/build/esm/Menu/scope.d.ts +1 -1
- package/build/esm/Menu/scope.js.map +1 -1
- package/build/esm/Modal/Modal.d.ts +9 -9
- package/build/esm/Modal/Modal.js +13 -18
- package/build/esm/Modal/Modal.js.map +1 -1
- package/build/esm/Modal/ModalBackdrop.d.ts +10 -10
- package/build/esm/Modal/ModalBackdrop.js +24 -33
- package/build/esm/Modal/ModalBackdrop.js.map +1 -1
- package/build/esm/Modal/index.d.ts +2 -2
- package/build/esm/Modal/index.js.map +1 -1
- package/build/esm/Popper/Popper.d.ts +35 -35
- package/build/esm/Popper/Popper.js +44 -60
- package/build/esm/Popper/Popper.js.map +1 -1
- package/build/esm/Popper/PopperArrow.d.ts +6 -6
- package/build/esm/Popper/PopperArrow.js +11 -16
- package/build/esm/Popper/PopperArrow.js.map +1 -1
- package/build/esm/Popper/context.d.ts +6 -6
- package/build/esm/Popper/context.js +3 -5
- package/build/esm/Popper/context.js.map +1 -1
- package/build/esm/Popper/index.d.ts +3 -3
- package/build/esm/Popper/index.js.map +1 -1
- package/build/esm/Portal/Portal.d.ts +7 -7
- package/build/esm/Portal/Portal.js +9 -11
- package/build/esm/Portal/Portal.js.map +1 -1
- package/build/esm/Portal/PortalSelectorProvider.d.ts +8 -8
- package/build/esm/Portal/PortalSelectorProvider.js +6 -4
- package/build/esm/Portal/PortalSelectorProvider.js.map +1 -1
- package/build/esm/Portal/index.d.ts +2 -2
- package/build/esm/Portal/index.js.map +1 -1
- package/build/esm/RadioButton/RadioButton.d.ts +10 -10
- package/build/esm/RadioButton/RadioButton.js +17 -23
- package/build/esm/RadioButton/RadioButton.js.map +1 -1
- package/build/esm/RadioButton/RadioGroup.d.ts +12 -12
- package/build/esm/RadioButton/RadioGroup.js +19 -28
- package/build/esm/RadioButton/RadioGroup.js.map +1 -1
- package/build/esm/RadioButton/context.d.ts +9 -9
- package/build/esm/RadioButton/context.js +8 -6
- package/build/esm/RadioButton/context.js.map +1 -1
- package/build/esm/RadioButton/index.d.ts +2 -2
- package/build/esm/RadioButton/index.js.map +1 -1
- package/build/esm/SkipNav/SkipNav.d.ts +7 -7
- package/build/esm/SkipNav/SkipNav.js +9 -11
- package/build/esm/SkipNav/SkipNav.js.map +1 -1
- package/build/esm/SkipNav/index.d.ts +1 -1
- package/build/esm/SkipNav/index.js.map +1 -1
- package/build/esm/Slider/Slider.d.ts +197 -197
- package/build/esm/Slider/Slider.js +422 -489
- package/build/esm/Slider/Slider.js.map +1 -1
- package/build/esm/Slider/index.d.ts +1 -1
- package/build/esm/Slider/index.js.map +1 -1
- package/build/esm/Spinner/Spinner.d.ts +12 -12
- package/build/esm/Spinner/Spinner.js +31 -59
- package/build/esm/Spinner/Spinner.js.map +1 -1
- package/build/esm/Spinner/SpinnerButton.d.ts +8 -8
- package/build/esm/Spinner/SpinnerButton.js +14 -19
- package/build/esm/Spinner/SpinnerButton.js.map +1 -1
- package/build/esm/Spinner/context.d.ts +12 -12
- package/build/esm/Spinner/context.js +8 -7
- package/build/esm/Spinner/context.js.map +1 -1
- package/build/esm/Spinner/index.d.ts +2 -2
- package/build/esm/Spinner/index.js.map +1 -1
- package/build/esm/Tabs/Tab.d.ts +7 -7
- package/build/esm/Tabs/Tab.js +32 -50
- package/build/esm/Tabs/Tab.js.map +1 -1
- package/build/esm/Tabs/TabList.d.ts +9 -9
- package/build/esm/Tabs/TabList.js +24 -34
- package/build/esm/Tabs/TabList.js.map +1 -1
- package/build/esm/Tabs/TabPanel.d.ts +8 -8
- package/build/esm/Tabs/TabPanel.js +16 -23
- package/build/esm/Tabs/TabPanel.js.map +1 -1
- package/build/esm/Tabs/TabPanels.d.ts +8 -8
- package/build/esm/Tabs/TabPanels.js +15 -20
- package/build/esm/Tabs/TabPanels.js.map +1 -1
- package/build/esm/Tabs/Tabs.d.ts +10 -10
- package/build/esm/Tabs/Tabs.js +17 -33
- package/build/esm/Tabs/Tabs.js.map +1 -1
- package/build/esm/Tabs/context.d.ts +17 -17
- package/build/esm/Tabs/context.js +16 -13
- package/build/esm/Tabs/context.js.map +1 -1
- package/build/esm/Tabs/index.d.ts +5 -5
- package/build/esm/Tabs/index.js.map +1 -1
- package/build/esm/Tabs/scopeQuery.d.ts +1 -1
- package/build/esm/Tabs/scopeQuery.js.map +1 -1
- package/build/esm/Tooltip/Tooltip.d.ts +10 -10
- package/build/esm/Tooltip/Tooltip.js +20 -30
- package/build/esm/Tooltip/Tooltip.js.map +1 -1
- package/build/esm/Tooltip/index.d.ts +1 -1
- package/build/esm/Tooltip/index.js.map +1 -1
- package/build/esm/Tooltip/stateMachine.d.ts +28 -28
- package/build/esm/Tooltip/stateMachine.js +95 -81
- package/build/esm/Tooltip/stateMachine.js.map +1 -1
- package/build/esm/Tooltip/useTooltip.d.ts +10 -10
- package/build/esm/Tooltip/useTooltip.js +38 -50
- package/build/esm/Tooltip/useTooltip.js.map +1 -1
- package/build/esm/hooks/index.d.ts +13 -13
- package/build/esm/hooks/index.js.map +1 -1
- package/build/esm/hooks/useAutoFocus.d.ts +2 -2
- package/build/esm/hooks/useAutoFocus.js +3 -3
- package/build/esm/hooks/useAutoFocus.js.map +1 -1
- package/build/esm/hooks/useChildrenCounter.d.ts +7 -7
- package/build/esm/hooks/useChildrenCounter.js +6 -8
- package/build/esm/hooks/useChildrenCounter.js.map +1 -1
- package/build/esm/hooks/useControlledState.d.ts +3 -3
- package/build/esm/hooks/useControlledState.js +6 -16
- package/build/esm/hooks/useControlledState.js.map +1 -1
- package/build/esm/hooks/useFocusReturn.d.ts +2 -2
- package/build/esm/hooks/useFocusReturn.js +8 -12
- package/build/esm/hooks/useFocusReturn.js.map +1 -1
- package/build/esm/hooks/useFocusState.d.ts +11 -11
- package/build/esm/hooks/useFocusState.js +9 -15
- package/build/esm/hooks/useFocusState.js.map +1 -1
- package/build/esm/hooks/useGestureHandlers.d.ts +52 -52
- package/build/esm/hooks/useGestureHandlers.js +80 -100
- package/build/esm/hooks/useGestureHandlers.js.map +1 -1
- package/build/esm/hooks/useMeasure.d.ts +7 -7
- package/build/esm/hooks/useMeasure.js +7 -15
- package/build/esm/hooks/useMeasure.js.map +1 -1
- package/build/esm/hooks/useOnClickOutside.d.ts +2 -2
- package/build/esm/hooks/useOnClickOutside.js +4 -6
- package/build/esm/hooks/useOnClickOutside.js.map +1 -1
- package/build/esm/hooks/useOnKeyDown.d.ts +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 +24 -24
- package/build/esm/hooks/useReducerMachine.js +15 -26
- package/build/esm/hooks/useReducerMachine.js.map +1 -1
- package/build/esm/hooks/useRemoveBodyScroll.d.ts +2 -2
- package/build/esm/hooks/useRemoveBodyScroll.js +9 -14
- package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
- package/build/esm/hooks/useScope.d.ts +11 -11
- package/build/esm/hooks/useScope.js +12 -14
- package/build/esm/hooks/useScope.js.map +1 -1
- package/build/esm/hooks/useThrottle.d.ts +1 -1
- package/build/esm/hooks/useThrottle.js +5 -10
- package/build/esm/hooks/useThrottle.js.map +1 -1
- package/build/esm/index.d.ts +15 -15
- 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.d.ts +3 -3
- 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.d.ts +1 -1
- package/build/esm/utils/can-use-dom.js.map +1 -1
- package/build/esm/utils/clamp.d.ts +1 -1
- package/build/esm/utils/clamp.js.map +1 -1
- package/build/esm/utils/context.d.ts +7 -7
- package/build/esm/utils/context.js +13 -20
- package/build/esm/utils/context.js.map +1 -1
- package/build/esm/utils/create-subscription.d.ts +4 -4
- 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.d.ts +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.d.ts +10 -10
- package/build/esm/utils/index.js.map +1 -1
- package/build/esm/utils/is-right-click.d.ts +6 -6
- package/build/esm/utils/is-right-click.js +4 -4
- package/build/esm/utils/is-right-click.js.map +1 -1
- package/build/esm/utils/owner-document.d.ts +7 -7
- package/build/esm/utils/owner-document.js +6 -6
- package/build/esm/utils/owner-document.js.map +1 -1
- package/build/esm/utils/polymorphic.d.ts +39 -39
- package/build/esm/utils/polymorphic.js.map +1 -1
- package/build/esm/utils/rubber-band-clamp.d.ts +2 -2
- 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.d.ts +16 -16
- package/build/esm/utils/use-stable-callback.js +24 -26
- package/build/esm/utils/use-stable-callback.js.map +1 -1
- package/build/esm/utils/wrap-event.d.ts +3 -3
- 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.story.tsx +74 -74
- package/src/Accordion/Accordion.tsx +59 -59
- package/src/Accordion/AccordionBody.tsx +52 -52
- package/src/Accordion/AccordionHeader.tsx +166 -167
- package/src/Accordion/AccordionItem.tsx +50 -50
- package/src/Accordion/context.ts +37 -37
- package/src/Accordion/index.ts +4 -4
- package/src/Accordion/scopeQuery.ts +7 -7
- package/src/Accordion/styles.css +21 -21
- package/src/CheckBox/CheckBox.tsx +41 -41
- package/src/CheckBox/index.ts +1 -1
- package/src/ComboBox/ComboBox.story.tsx +120 -120
- package/src/ComboBox/Combobox.tsx +148 -148
- package/src/ComboBox/ComboboxButton.tsx +61 -61
- package/src/ComboBox/ComboboxInput.tsx +187 -187
- package/src/ComboBox/ComboboxLabel.tsx +33 -33
- package/src/ComboBox/ComboboxList.tsx +47 -47
- package/src/ComboBox/ComboboxOption.tsx +110 -111
- package/src/ComboBox/ComboboxPopover.tsx +64 -64
- package/src/ComboBox/cities.ts +23194 -23194
- package/src/ComboBox/context.ts +35 -35
- package/src/ComboBox/hooks.tsx +448 -451
- package/src/ComboBox/index.ts +8 -8
- package/src/ComboBox/makeHash.ts +19 -19
- package/src/ComboBox/scopeQuery.ts +6 -6
- package/src/ComboBox/styles.css +32 -32
- package/src/FocusLock/FocusLock.tsx +66 -66
- package/src/FocusLock/index.ts +1 -1
- package/src/FocusLock/tabUtils.ts +40 -40
- package/src/FocusLock/useFocusLock.ts +55 -56
- package/src/List/List.story.tsx +18 -18
- package/src/List/List.tsx +17 -17
- package/src/List/ListItem.tsx +23 -23
- package/src/List/context.ts +19 -19
- package/src/List/index.ts +2 -2
- package/src/Menu/ContextMenu.story.tsx +73 -73
- package/src/Menu/ContextMenuTrigger.tsx +76 -76
- package/src/Menu/Menu.story.tsx +160 -160
- package/src/Menu/Menu.tsx +82 -83
- package/src/Menu/MenuButton.tsx +83 -83
- package/src/Menu/MenuComplex.story.tsx +58 -58
- package/src/Menu/MenuItem.tsx +87 -88
- package/src/Menu/MenuList.tsx +254 -254
- package/src/Menu/MenuPopover.tsx +35 -35
- package/src/Menu/context.ts +44 -44
- package/src/Menu/fixtures/countryList.ts +198 -198
- package/src/Menu/index.ts +6 -6
- package/src/Menu/scope.ts +7 -7
- package/src/Menu/styles.css +42 -42
- package/src/Modal/Modal.story.tsx +262 -258
- package/src/Modal/Modal.tsx +48 -48
- package/src/Modal/ModalBackdrop.tsx +78 -78
- package/src/Modal/NavDrawer.story.tsx +161 -158
- package/src/Modal/index.ts +2 -2
- package/src/Modal/styles.css +46 -46
- package/src/Popper/Popper.story.tsx +279 -263
- package/src/Popper/Popper.tsx +1 -1
- package/src/Popper/PopperArrow.tsx +35 -35
- package/src/Popper/context.ts +10 -10
- package/src/Popper/index.ts +3 -3
- package/src/Popper/styles.css +60 -60
- package/src/RadioButton/RadioButton.story.tsx +78 -77
- package/src/RadioButton/RadioButton.tsx +55 -55
- package/src/RadioButton/RadioGroup.tsx +60 -60
- package/src/RadioButton/context.ts +17 -17
- package/src/RadioButton/index.ts +2 -2
- package/src/SkipNav/SkipNav.tsx +16 -16
- package/src/SkipNav/index.tsx +1 -1
- package/src/Slider/Slider.story.tsx +45 -45
- package/src/Slider/Slider.tsx +1115 -1120
- package/src/Slider/index.ts +1 -1
- package/src/Slider/styles.css +131 -131
- package/src/Spinner/Spinner.story.tsx +31 -31
- package/src/Spinner/Spinner.tsx +117 -117
- package/src/Spinner/SpinnerButton.tsx +54 -54
- package/src/Spinner/context.ts +20 -20
- package/src/Spinner/index.ts +2 -2
- package/src/Spinner/styles.css +23 -23
- package/src/Tabs/Tab.story.tsx +80 -80
- package/src/Tabs/Tab.tsx +136 -136
- package/src/Tabs/TabList.tsx +71 -71
- package/src/Tabs/TabPanel.tsx +53 -53
- package/src/Tabs/TabPanels.tsx +30 -30
- package/src/Tabs/Tabs.tsx +46 -46
- package/src/Tabs/context.ts +30 -30
- package/src/Tabs/index.tsx +5 -5
- package/src/Tabs/scopeQuery.ts +6 -6
- package/src/Tooltip/Tooltip.story.tsx +61 -61
- package/src/Tooltip/Tooltip.tsx +53 -50
- package/src/Tooltip/index.ts +1 -1
- package/src/Tooltip/stateMachine.ts +192 -192
- package/src/Tooltip/styles.css +17 -17
- package/src/Tooltip/useTooltip.ts +136 -136
- package/src/hooks/index.ts +13 -13
- package/src/hooks/useAutoFocus.ts +22 -22
- package/src/hooks/useChildrenCounter.ts +51 -51
- package/src/hooks/useControlledState.ts +1 -6
- package/src/hooks/useFocusReturn.ts +43 -43
- package/src/hooks/useFocusState.ts +30 -30
- package/src/hooks/useGestureHandlers.ts +282 -286
- package/src/hooks/useMeasure.ts +33 -33
- package/src/hooks/useOnClickOutside.ts +32 -32
- package/src/hooks/useOnKeyDown.ts +19 -19
- package/src/hooks/useReducerMachine.ts +60 -60
- package/src/hooks/useRemoveBodyScroll.ts +38 -39
- package/src/hooks/useScope.ts +52 -52
- package/src/hooks/useThrottle.ts +19 -19
- package/src/index.ts +20 -20
- package/src/styles.d.ts +1 -0
- package/src/utils/assign-ref.ts +27 -27
- package/src/utils/can-use-dom.ts +7 -7
- package/src/utils/clamp.ts +3 -3
- package/src/utils/context.tsx +48 -48
- package/src/utils/create-subscription.ts +16 -16
- package/src/utils/get-circular-index.ts +7 -7
- package/src/utils/index.ts +10 -10
- package/src/utils/is-right-click.ts +14 -14
- package/src/utils/owner-document.ts +13 -13
- package/src/utils/polymorphic.ts +82 -78
- package/src/utils/rubber-band-clamp.ts +25 -25
- package/src/utils/use-stable-callback.ts +57 -58
- package/src/utils/wrap-event.ts +22 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"countryList.js","names":["countryList"],"sources":["../../../../src/Menu/fixtures/countryList.ts"],"sourcesContent":["export const countryList = [\
|
|
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,MAAMA,WAAW,GAAG,CACzB,aAAa,EACb,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,EACR,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,cAAc,EACd,SAAS,EACT,eAAe,EACf,YAAY,EACZ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,0BAA0B,EAC1B,2BAA2B,EAC3B,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,2BAA2B,EAC3B,YAAY,EACZ,SAAS,EACT,MAAM,EACN,QAAQ,EACR,0BAA0B,EAC1B,kCAAkC,EAClC,SAAS,EACT,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,6BAA6B,EAC7B,UAAU,EACV,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,EACT,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,OAAO,EACP,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,OAAO,EACP,WAAW,EACX,MAAM,EACN,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,SAAS,EACT,SAAS,EACT,SAAS,EACT,OAAO,EACP,eAAe,EACf,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,0BAA0B,EAC1B,SAAS,EACT,OAAO,EACP,OAAO,EACP,aAAa,EACb,aAAa,EACb,WAAW,EACX,OAAO,EACP,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,MAAM,EACN,aAAa,EACb,QAAQ,EACR,UAAU,EACV,OAAO,EACP,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,uBAAuB,EACvB,aAAa,EACb,kCAAkC,EAClC,OAAO,EACP,YAAY,EACZ,uBAAuB,EACvB,cAAc,EACd,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,WAAW,EACX,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EACb,aAAa,EACb,OAAO,EACP,WAAW,EACX,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,OAAO,EACP,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,EACb,MAAM,EACN,OAAO,EACP,qBAAqB,EACrB,SAAS,EACT,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,gBAAgB,EAChB,0BAA0B,EAC1B,SAAS,EACT,YAAY,EACZ,SAAS,EACT,WAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,EACR,UAAU,CACX","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './Menu';
|
|
2
|
-
export * from './MenuButton';
|
|
3
|
-
export * from './ContextMenuTrigger';
|
|
4
|
-
export * from './MenuItem';
|
|
5
|
-
export * from './MenuList';
|
|
6
|
-
export * from './MenuPopover';
|
|
1
|
+
export * from './Menu';
|
|
2
|
+
export * from './MenuButton';
|
|
3
|
+
export * from './ContextMenuTrigger';
|
|
4
|
+
export * from './MenuItem';
|
|
5
|
+
export * from './MenuList';
|
|
6
|
+
export * from './MenuPopover';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/Menu/index.ts"],"sourcesContent":["export * from './Menu';\
|
|
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
|
-
export declare function queryScope(type: string, props: Record<string, unknown>): boolean;
|
|
1
|
+
export declare function queryScope(type: string, props: Record<string, unknown>): boolean;
|
|
@@ -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>) {\
|
|
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":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { CSSProperties, ElementType, HTMLAttributes, ReactNode } from 'react';
|
|
2
|
-
export interface ModalProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
-
as?: ElementType<any>;
|
|
4
|
-
innerAs?: ElementType<any>;
|
|
5
|
-
children?: ReactNode;
|
|
6
|
-
style?: CSSProperties;
|
|
7
|
-
trapFocus?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare const Modal: import("react").ForwardRefExoticComponent<ModalProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
1
|
+
import type { CSSProperties, ElementType, HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface ModalProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
as?: ElementType<any>;
|
|
4
|
+
innerAs?: ElementType<any>;
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
style?: CSSProperties;
|
|
7
|
+
trapFocus?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const Modal: import("react").ForwardRefExoticComponent<ModalProps & import("react").RefAttributes<HTMLDivElement>>;
|
package/build/esm/Modal/Modal.js
CHANGED
|
@@ -1,38 +1,33 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["as", "children", "trapFocus", "style"];
|
|
4
1
|
import { forwardRef, useRef } from 'react';
|
|
5
2
|
import { useAutoFocus, useFocusReturn, useRemoveBodyScroll } from '../hooks';
|
|
6
3
|
import { FocusLock } from '../FocusLock';
|
|
7
4
|
import { assignMultipleRefs } from '../utils';
|
|
8
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
var modalRef = useRef(null);
|
|
6
|
+
export const Modal = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
7
|
+
let {
|
|
8
|
+
as: Comp = 'div',
|
|
9
|
+
children,
|
|
10
|
+
trapFocus = true,
|
|
11
|
+
style = {},
|
|
12
|
+
...otherProps
|
|
13
|
+
} = _ref;
|
|
14
|
+
const modalRef = useRef(null);
|
|
20
15
|
useFocusReturn(trapFocus, modalRef);
|
|
21
16
|
useRemoveBodyScroll(trapFocus, modalRef);
|
|
22
17
|
useAutoFocus(trapFocus, modalRef);
|
|
23
18
|
return /*#__PURE__*/_jsx(FocusLock, {
|
|
24
19
|
childRef: modalRef,
|
|
25
20
|
enabled: trapFocus,
|
|
26
|
-
children: /*#__PURE__*/_jsx(Comp,
|
|
21
|
+
children: /*#__PURE__*/_jsx(Comp, {
|
|
27
22
|
ref: assignMultipleRefs(ref, modalRef),
|
|
28
23
|
"data-modal-container": "",
|
|
29
24
|
role: "dialog",
|
|
30
25
|
"aria-modal": "true",
|
|
31
26
|
style: style,
|
|
32
|
-
tabIndex: -1
|
|
33
|
-
|
|
27
|
+
tabIndex: -1,
|
|
28
|
+
...otherProps,
|
|
34
29
|
children: children
|
|
35
|
-
})
|
|
30
|
+
})
|
|
36
31
|
});
|
|
37
32
|
});
|
|
38
33
|
//# sourceMappingURL=Modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["forwardRef","useRef","useAutoFocus","useFocusReturn","useRemoveBodyScroll","FocusLock","assignMultipleRefs","Modal","ref","as","Comp","children","trapFocus","style","otherProps","modalRef"],"sources":["../../../src/Modal/Modal.tsx"],"sourcesContent":["import type {\
|
|
1
|
+
{"version":3,"file":"Modal.js","names":["forwardRef","useRef","useAutoFocus","useFocusReturn","useRemoveBodyScroll","FocusLock","assignMultipleRefs","jsx","_jsx","Modal","_ref","ref","as","Comp","children","trapFocus","style","otherProps","modalRef","childRef","enabled","role","tabIndex"],"sources":["../../../src/Modal/Modal.tsx"],"sourcesContent":["import type {\n CSSProperties,\n ElementType,\n HTMLAttributes,\n ReactNode,\n} from 'react';\nimport { forwardRef, useRef } from 'react';\n\nimport { useAutoFocus, useFocusReturn, useRemoveBodyScroll } from '../hooks';\nimport { FocusLock } from '../FocusLock';\nimport { assignMultipleRefs } from '../utils';\n\nexport interface ModalProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n style?: CSSProperties;\n trapFocus?: boolean;\n}\n\nexport const Modal = forwardRef<HTMLDivElement, ModalProps>(\n (\n { as: Comp = 'div', children, trapFocus = true, style = {}, ...otherProps },\n ref\n ) => {\n const modalRef = useRef<HTMLDivElement>(null);\n\n useFocusReturn(trapFocus, modalRef);\n useRemoveBodyScroll(trapFocus, modalRef);\n useAutoFocus(trapFocus, modalRef);\n\n return (\n <FocusLock childRef={modalRef} enabled={trapFocus}>\n <Comp\n ref={assignMultipleRefs(ref, modalRef)}\n data-modal-container=\"\"\n role=\"dialog\"\n aria-modal=\"true\"\n style={style}\n tabIndex={-1}\n {...otherProps}\n >\n {children}\n </Comp>\n </FocusLock>\n );\n }\n);\n"],"mappings":"AAMA,SAASA,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAE1C,SAASC,YAAY,EAAEC,cAAc,EAAEC,mBAAmB,QAAQ,UAAU;AAC5E,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,kBAAkB,QAAQ,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAU9C,OAAO,MAAMC,KAAK,gBAAGT,UAAU,CAC7B,CAAAU,IAAA,EAEEC,GAAG,KACA;EAAA,IAFH;IAAEC,EAAE,EAAEC,IAAI,GAAG,KAAK;IAAEC,QAAQ;IAAEC,SAAS,GAAG,IAAI;IAAEC,KAAK,GAAG,CAAC,CAAC;IAAE,GAAGC;EAAW,CAAC,GAAAP,IAAA;EAG3E,MAAMQ,QAAQ,GAAGjB,MAAM,CAAiB,IAAI,CAAC;EAE7CE,cAAc,CAACY,SAAS,EAAEG,QAAQ,CAAC;EACnCd,mBAAmB,CAACW,SAAS,EAAEG,QAAQ,CAAC;EACxChB,YAAY,CAACa,SAAS,EAAEG,QAAQ,CAAC;EAEjC,oBACEV,IAAA,CAACH,SAAS;IAACc,QAAQ,EAAED,QAAS;IAACE,OAAO,EAAEL,SAAU;IAAAD,QAAA,eAChDN,IAAA,CAACK,IAAI;MACHF,GAAG,EAAEL,kBAAkB,CAACK,GAAG,EAAEO,QAAQ,CAAE;MACvC,wBAAqB,EAAE;MACvBG,IAAI,EAAC,QAAQ;MACb,cAAW,MAAM;MACjBL,KAAK,EAAEA,KAAM;MACbM,QAAQ,EAAE,CAAC,CAAE;MAAA,GACTL,UAAU;MAAAH,QAAA,EAEbA;IAAQ,CACL;EAAC,CACE,CAAC;AAEhB,CACF,CAAC","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { HTMLAttributes, ElementType, CSSProperties } from 'react';
|
|
2
|
-
export interface ModalBackdropProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
-
as?: ElementType<any>;
|
|
4
|
-
innerAs?: ElementType<any>;
|
|
5
|
-
onClose?: () => void;
|
|
6
|
-
style?: CSSProperties;
|
|
7
|
-
disableCloseOnClick?: boolean;
|
|
8
|
-
disableEscapeKeyDown?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare const ModalBackdrop: import("react").ForwardRefExoticComponent<ModalBackdropProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
1
|
+
import type { HTMLAttributes, ElementType, CSSProperties } from 'react';
|
|
2
|
+
export interface ModalBackdropProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
as?: ElementType<any>;
|
|
4
|
+
innerAs?: ElementType<any>;
|
|
5
|
+
onClose?: () => void;
|
|
6
|
+
style?: CSSProperties;
|
|
7
|
+
disableCloseOnClick?: boolean;
|
|
8
|
+
disableEscapeKeyDown?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const ModalBackdrop: import("react").ForwardRefExoticComponent<ModalBackdropProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,60 +1,51 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["as", "onClose", "onClick", "onMouseDown", "onKeyDown", "disableCloseOnClick", "disableEscapeKeyDown"];
|
|
4
1
|
import { useRef, forwardRef } from 'react';
|
|
5
2
|
import { assignMultipleRefs } from '../utils/assign-ref';
|
|
6
3
|
import { wrapEvent } from '../utils/wrap-event';
|
|
7
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
var mouseDownTargetRef = useRef(null);
|
|
23
|
-
|
|
24
|
-
var handleClick = function handleClick(e) {
|
|
5
|
+
export const ModalBackdrop = /*#__PURE__*/forwardRef((_ref, forwardedRef) => {
|
|
6
|
+
let {
|
|
7
|
+
as: Comp = 'div',
|
|
8
|
+
onClose,
|
|
9
|
+
onClick,
|
|
10
|
+
onMouseDown,
|
|
11
|
+
onKeyDown,
|
|
12
|
+
disableCloseOnClick = false,
|
|
13
|
+
disableEscapeKeyDown = false,
|
|
14
|
+
...otherProps
|
|
15
|
+
} = _ref;
|
|
16
|
+
const ref = useRef(null);
|
|
17
|
+
const mouseDownTargetRef = useRef(null);
|
|
18
|
+
const handleClick = e => {
|
|
25
19
|
// Ignore the events not coming from the "backdrop"
|
|
26
20
|
// We don't want to close the dialog when clicking the dialog content.
|
|
27
21
|
if (e.target !== e.currentTarget) {
|
|
28
22
|
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
23
|
+
}
|
|
31
24
|
|
|
25
|
+
// Make sure the event starts and ends on the same DOM element.
|
|
32
26
|
if (e.target !== mouseDownTargetRef.current) {
|
|
33
27
|
return;
|
|
34
28
|
}
|
|
35
|
-
|
|
36
29
|
mouseDownTargetRef.current = null;
|
|
37
|
-
!disableCloseOnClick &&
|
|
30
|
+
!disableCloseOnClick && onClose?.();
|
|
38
31
|
e.stopPropagation();
|
|
39
32
|
};
|
|
40
|
-
|
|
41
|
-
var handleMouseDown = function handleMouseDown(e) {
|
|
33
|
+
const handleMouseDown = e => {
|
|
42
34
|
mouseDownTargetRef.current = e.target;
|
|
43
35
|
};
|
|
44
|
-
|
|
45
|
-
var handleKeyDown = function handleKeyDown(e) {
|
|
36
|
+
const handleKeyDown = e => {
|
|
46
37
|
if (e.key === 'Escape') {
|
|
47
|
-
!disableEscapeKeyDown &&
|
|
38
|
+
!disableEscapeKeyDown && onClose?.();
|
|
48
39
|
e.stopPropagation();
|
|
49
40
|
}
|
|
50
41
|
};
|
|
51
|
-
|
|
52
|
-
return /*#__PURE__*/_jsx(Comp, _extends({
|
|
42
|
+
return /*#__PURE__*/_jsx(Comp, {
|
|
53
43
|
ref: assignMultipleRefs(ref, forwardedRef),
|
|
54
44
|
"data-modal-root": "",
|
|
55
45
|
onClick: wrapEvent(onClick, handleClick),
|
|
56
46
|
onMouseDown: wrapEvent(onMouseDown, handleMouseDown),
|
|
57
|
-
onKeyDown: wrapEvent(onKeyDown, handleKeyDown)
|
|
58
|
-
|
|
47
|
+
onKeyDown: wrapEvent(onKeyDown, handleKeyDown),
|
|
48
|
+
...otherProps
|
|
49
|
+
});
|
|
59
50
|
});
|
|
60
51
|
//# sourceMappingURL=ModalBackdrop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalBackdrop.js","names":["useRef","forwardRef","assignMultipleRefs","wrapEvent","ModalBackdrop","forwardedRef","as","Comp","onClose","onClick","onMouseDown","onKeyDown","disableCloseOnClick","disableEscapeKeyDown","otherProps","ref","mouseDownTargetRef","handleClick","e","target","currentTarget","current","stopPropagation","handleMouseDown","handleKeyDown","key"],"sources":["../../../src/Modal/ModalBackdrop.tsx"],"sourcesContent":["import type {\
|
|
1
|
+
{"version":3,"file":"ModalBackdrop.js","names":["useRef","forwardRef","assignMultipleRefs","wrapEvent","jsx","_jsx","ModalBackdrop","_ref","forwardedRef","as","Comp","onClose","onClick","onMouseDown","onKeyDown","disableCloseOnClick","disableEscapeKeyDown","otherProps","ref","mouseDownTargetRef","handleClick","e","target","currentTarget","current","stopPropagation","handleMouseDown","handleKeyDown","key"],"sources":["../../../src/Modal/ModalBackdrop.tsx"],"sourcesContent":["import type {\n HTMLAttributes,\n ElementType,\n CSSProperties,\n MouseEvent,\n KeyboardEvent,\n} from 'react';\nimport { useRef, forwardRef } from 'react';\n\nimport { assignMultipleRefs } from '../utils/assign-ref';\nimport { wrapEvent } from '../utils/wrap-event';\n\nexport interface ModalBackdropProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n onClose?: () => void;\n style?: CSSProperties;\n disableCloseOnClick?: boolean;\n disableEscapeKeyDown?: boolean;\n}\n\nexport const ModalBackdrop = forwardRef<HTMLDivElement, ModalBackdropProps>(\n (\n {\n as: Comp = 'div',\n onClose,\n onClick,\n onMouseDown,\n onKeyDown,\n disableCloseOnClick = false,\n disableEscapeKeyDown = false,\n ...otherProps\n },\n forwardedRef\n ) => {\n const ref = useRef(null);\n const mouseDownTargetRef = useRef<EventTarget | null>(null);\n\n const handleClick = (e: MouseEvent<HTMLDivElement>) => {\n // Ignore the events not coming from the \"backdrop\"\n // We don't want to close the dialog when clicking the dialog content.\n if (e.target !== e.currentTarget) {\n return;\n }\n\n // Make sure the event starts and ends on the same DOM element.\n if (e.target !== mouseDownTargetRef.current) {\n return;\n }\n\n mouseDownTargetRef.current = null;\n !disableCloseOnClick && onClose?.();\n e.stopPropagation();\n };\n\n const handleMouseDown = (e: MouseEvent<HTMLDivElement>) => {\n mouseDownTargetRef.current = e.target;\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Escape') {\n !disableEscapeKeyDown && onClose?.();\n e.stopPropagation();\n }\n };\n\n return (\n <Comp\n ref={assignMultipleRefs(ref, forwardedRef)}\n data-modal-root=\"\"\n onClick={wrapEvent(onClick, handleClick)}\n onMouseDown={wrapEvent(onMouseDown, handleMouseDown)}\n onKeyDown={wrapEvent(onKeyDown, handleKeyDown)}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":"AAOA,SAASA,MAAM,EAAEC,UAAU,QAAQ,OAAO;AAE1C,SAASC,kBAAkB,QAAQ,qBAAqB;AACxD,SAASC,SAAS,QAAQ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAWhD,OAAO,MAAMC,aAAa,gBAAGL,UAAU,CACrC,CAAAM,IAAA,EAWEC,YAAY,KACT;EAAA,IAXH;IACEC,EAAE,EAAEC,IAAI,GAAG,KAAK;IAChBC,OAAO;IACPC,OAAO;IACPC,WAAW;IACXC,SAAS;IACTC,mBAAmB,GAAG,KAAK;IAC3BC,oBAAoB,GAAG,KAAK;IAC5B,GAAGC;EACL,CAAC,GAAAV,IAAA;EAGD,MAAMW,GAAG,GAAGlB,MAAM,CAAC,IAAI,CAAC;EACxB,MAAMmB,kBAAkB,GAAGnB,MAAM,CAAqB,IAAI,CAAC;EAE3D,MAAMoB,WAAW,GAAIC,CAA6B,IAAK;IACrD;IACA;IACA,IAAIA,CAAC,CAACC,MAAM,KAAKD,CAAC,CAACE,aAAa,EAAE;MAChC;IACF;;IAEA;IACA,IAAIF,CAAC,CAACC,MAAM,KAAKH,kBAAkB,CAACK,OAAO,EAAE;MAC3C;IACF;IAEAL,kBAAkB,CAACK,OAAO,GAAG,IAAI;IACjC,CAACT,mBAAmB,IAAIJ,OAAO,GAAG,CAAC;IACnCU,CAAC,CAACI,eAAe,CAAC,CAAC;EACrB,CAAC;EAED,MAAMC,eAAe,GAAIL,CAA6B,IAAK;IACzDF,kBAAkB,CAACK,OAAO,GAAGH,CAAC,CAACC,MAAM;EACvC,CAAC;EAED,MAAMK,aAAa,GAAIN,CAAgC,IAAK;IAC1D,IAAIA,CAAC,CAACO,GAAG,KAAK,QAAQ,EAAE;MACtB,CAACZ,oBAAoB,IAAIL,OAAO,GAAG,CAAC;MACpCU,CAAC,CAACI,eAAe,CAAC,CAAC;IACrB;EACF,CAAC;EAED,oBACEpB,IAAA,CAACK,IAAI;IACHQ,GAAG,EAAEhB,kBAAkB,CAACgB,GAAG,EAAEV,YAAY,CAAE;IAC3C,mBAAgB,EAAE;IAClBI,OAAO,EAAET,SAAS,CAACS,OAAO,EAAEQ,WAAW,CAAE;IACzCP,WAAW,EAAEV,SAAS,CAACU,WAAW,EAAEa,eAAe,CAAE;IACrDZ,SAAS,EAAEX,SAAS,CAACW,SAAS,EAAEa,aAAa,CAAE;IAAA,GAC3CV;EAAU,CACf,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './Modal';
|
|
2
|
-
export * from './ModalBackdrop';
|
|
1
|
+
export * from './Modal';
|
|
2
|
+
export * from './ModalBackdrop';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/Modal/index.ts"],"sourcesContent":["export * from './Modal';\
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/Modal/index.ts"],"sourcesContent":["export * from './Modal';\nexport * from './ModalBackdrop';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,iBAAiB","ignoreList":[]}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import type { HTMLAttributes, ElementType, RefObject, ReactNode } from 'react';
|
|
2
|
-
import type { Placement, Modifier, PositioningStrategy, Rect } from '@popperjs/core';
|
|
3
|
-
export
|
|
4
|
-
popper: Rect;
|
|
5
|
-
reference: Rect;
|
|
6
|
-
placement: Placement;
|
|
7
|
-
}) => [number | null | undefined, number | null | undefined];
|
|
8
|
-
export interface PopperProps extends HTMLAttributes<HTMLDivElement> {
|
|
9
|
-
as?: ElementType<any>;
|
|
10
|
-
innerAs?: ElementType<any>;
|
|
11
|
-
anchorEl: RefObject<HTMLElement>;
|
|
12
|
-
children?: ReactNode;
|
|
13
|
-
placement?: Placement;
|
|
14
|
-
strategy?: PositioningStrategy;
|
|
15
|
-
modifiers?: Array<Partial<Modifier<any, any>>>;
|
|
16
|
-
usePortal?: boolean;
|
|
17
|
-
portalSelector?: string;
|
|
18
|
-
/**
|
|
19
|
-
* Displaces the popper along the reference element.
|
|
20
|
-
*/
|
|
21
|
-
skidding?: number;
|
|
22
|
-
/**
|
|
23
|
-
* Displaces the popper away from, or toward, the reference element in the direction of its placement. A positive number displaces it further away, while a negative number lets it overlap the reference.
|
|
24
|
-
*/
|
|
25
|
-
distance?: number;
|
|
26
|
-
/**
|
|
27
|
-
* An optional function that must return a pair of [skidding, padding]. Useful for doing things like, displace the popper by 100%.
|
|
28
|
-
*/
|
|
29
|
-
offsetFn?: OffsetsFunction;
|
|
30
|
-
/**
|
|
31
|
-
* If you don't want the arrow to reach the very edge of the popper (this is common if your popper has rounded corners using border-radius), you can apply some padding to it.
|
|
32
|
-
*/
|
|
33
|
-
arrowPadding?: number;
|
|
34
|
-
}
|
|
35
|
-
export declare const Popper: import("react").
|
|
1
|
+
import type { HTMLAttributes, ElementType, RefObject, ReactNode } from 'react';
|
|
2
|
+
import type { Placement, Modifier, PositioningStrategy, Rect } from '@popperjs/core';
|
|
3
|
+
export type OffsetsFunction = (arg0: {
|
|
4
|
+
popper: Rect;
|
|
5
|
+
reference: Rect;
|
|
6
|
+
placement: Placement;
|
|
7
|
+
}) => [number | null | undefined, number | null | undefined];
|
|
8
|
+
export interface PopperProps extends HTMLAttributes<HTMLDivElement> {
|
|
9
|
+
as?: ElementType<any>;
|
|
10
|
+
innerAs?: ElementType<any>;
|
|
11
|
+
anchorEl: RefObject<HTMLElement | null>;
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
placement?: Placement;
|
|
14
|
+
strategy?: PositioningStrategy;
|
|
15
|
+
modifiers?: Array<Partial<Modifier<any, any>>>;
|
|
16
|
+
usePortal?: boolean;
|
|
17
|
+
portalSelector?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Displaces the popper along the reference element.
|
|
20
|
+
*/
|
|
21
|
+
skidding?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Displaces the popper away from, or toward, the reference element in the direction of its placement. A positive number displaces it further away, while a negative number lets it overlap the reference.
|
|
24
|
+
*/
|
|
25
|
+
distance?: number;
|
|
26
|
+
/**
|
|
27
|
+
* An optional function that must return a pair of [skidding, padding]. Useful for doing things like, displace the popper by 100%.
|
|
28
|
+
*/
|
|
29
|
+
offsetFn?: OffsetsFunction;
|
|
30
|
+
/**
|
|
31
|
+
* If you don't want the arrow to reach the very edge of the popper (this is common if your popper has rounded corners using border-radius), you can apply some padding to it.
|
|
32
|
+
*/
|
|
33
|
+
arrowPadding?: number;
|
|
34
|
+
}
|
|
35
|
+
export declare const Popper: import("react").NamedExoticComponent<PopperProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,104 +1,88 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["placement", "strategy", "as", "innerAs", "anchorEl", "children", "modifiers", "usePortal", "style", "portalSelector", "distance", "skidding", "arrowPadding", "offsetFn"];
|
|
5
1
|
import { forwardRef, useRef, useEffect, useLayoutEffect, useMemo, memo } from 'react';
|
|
6
2
|
import { createPopper } from '@popperjs/core';
|
|
7
3
|
import { assignMultipleRefs } from '../utils/assign-ref';
|
|
8
4
|
import { PopperProvider } from './context';
|
|
9
5
|
import { Portal } from '../Portal';
|
|
10
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
offsetFn = _ref.offsetFn,
|
|
37
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
|
38
|
-
|
|
39
|
-
var arrowRef = useRef(null);
|
|
40
|
-
var popperRef = useRef(null);
|
|
41
|
-
var popperEngineInstance = useRef(null);
|
|
42
|
-
var defaultModifiers = useMemo(function () {
|
|
43
|
-
var arrowModifier = {
|
|
7
|
+
const useEnhancedEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
|
|
8
|
+
const emptyModifiers = [];
|
|
9
|
+
export const Popper = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Popper(_ref, forwardedRef) {
|
|
10
|
+
let {
|
|
11
|
+
placement = 'bottom',
|
|
12
|
+
strategy = 'absolute',
|
|
13
|
+
as: Comp = 'div',
|
|
14
|
+
innerAs,
|
|
15
|
+
anchorEl,
|
|
16
|
+
children,
|
|
17
|
+
modifiers = emptyModifiers,
|
|
18
|
+
usePortal = false,
|
|
19
|
+
style = {},
|
|
20
|
+
portalSelector,
|
|
21
|
+
distance = 0,
|
|
22
|
+
skidding = 0,
|
|
23
|
+
arrowPadding = 5,
|
|
24
|
+
offsetFn,
|
|
25
|
+
...props
|
|
26
|
+
} = _ref;
|
|
27
|
+
const arrowRef = useRef(null);
|
|
28
|
+
const popperRef = useRef(null);
|
|
29
|
+
const popperEngineInstance = useRef(null);
|
|
30
|
+
const defaultModifiers = useMemo(() => {
|
|
31
|
+
const arrowModifier = {
|
|
44
32
|
name: 'arrow',
|
|
45
33
|
options: {
|
|
46
34
|
element: '[data-popper-arrow]',
|
|
47
35
|
padding: arrowPadding
|
|
48
36
|
}
|
|
49
37
|
};
|
|
50
|
-
|
|
38
|
+
const offsetModifier = {
|
|
51
39
|
name: 'offset',
|
|
52
40
|
options: {
|
|
53
|
-
offset: offsetFn
|
|
41
|
+
offset: offsetFn ?? [skidding, distance]
|
|
54
42
|
}
|
|
55
43
|
};
|
|
56
44
|
return [arrowModifier, offsetModifier];
|
|
57
45
|
}, [arrowPadding, distance, skidding, offsetFn]);
|
|
58
|
-
useEnhancedEffect(
|
|
46
|
+
useEnhancedEffect(() => {
|
|
59
47
|
if (anchorEl && anchorEl.current && popperRef.current) {
|
|
60
48
|
popperEngineInstance.current = createPopper(anchorEl.current, popperRef.current, {
|
|
61
|
-
placement
|
|
62
|
-
strategy
|
|
63
|
-
modifiers: [
|
|
49
|
+
placement,
|
|
50
|
+
strategy,
|
|
51
|
+
modifiers: [...defaultModifiers, ...modifiers]
|
|
64
52
|
});
|
|
65
53
|
}
|
|
66
|
-
|
|
67
|
-
return function () {
|
|
54
|
+
return () => {
|
|
68
55
|
popperEngineInstance.current && popperEngineInstance.current.destroy();
|
|
69
56
|
popperEngineInstance.current = null;
|
|
70
57
|
};
|
|
71
58
|
}, [anchorEl, modifiers, placement, strategy, defaultModifiers]);
|
|
72
|
-
useEnhancedEffect(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
(_popperEngineInstance = popperEngineInstance.current) === null || _popperEngineInstance === void 0 ? void 0 : _popperEngineInstance.forceUpdate();
|
|
59
|
+
useEnhancedEffect(() => {
|
|
60
|
+
popperEngineInstance.current?.forceUpdate();
|
|
76
61
|
}, [props.hidden || props['aria-hidden']]);
|
|
77
|
-
|
|
78
|
-
arrowRef
|
|
62
|
+
const contextValue = {
|
|
63
|
+
arrowRef
|
|
79
64
|
};
|
|
80
|
-
|
|
81
|
-
var ret = /*#__PURE__*/_jsx(PopperProvider, {
|
|
65
|
+
const ret = /*#__PURE__*/_jsx(PopperProvider, {
|
|
82
66
|
value: contextValue,
|
|
83
|
-
children: /*#__PURE__*/_jsx(Comp,
|
|
67
|
+
children: /*#__PURE__*/_jsx(Comp, {
|
|
68
|
+
...props,
|
|
84
69
|
as: innerAs,
|
|
85
70
|
ref: assignMultipleRefs(popperRef, forwardedRef),
|
|
86
|
-
style:
|
|
71
|
+
style: {
|
|
87
72
|
position: 'fixed',
|
|
88
73
|
left: -5000,
|
|
89
|
-
top: -5000
|
|
90
|
-
|
|
74
|
+
top: -5000,
|
|
75
|
+
...style
|
|
76
|
+
},
|
|
91
77
|
children: children
|
|
92
|
-
})
|
|
78
|
+
})
|
|
93
79
|
});
|
|
94
|
-
|
|
95
80
|
if (usePortal) {
|
|
96
81
|
return /*#__PURE__*/_jsx(Portal, {
|
|
97
82
|
selector: portalSelector,
|
|
98
83
|
children: ret
|
|
99
84
|
});
|
|
100
85
|
}
|
|
101
|
-
|
|
102
86
|
return ret;
|
|
103
87
|
}));
|
|
104
88
|
//# sourceMappingURL=Popper.js.map
|