@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":"Popper.js","names":["forwardRef","useRef","useEffect","useLayoutEffect","useMemo","memo","createPopper","assignMultipleRefs","PopperProvider","Portal","useEnhancedEffect","window","emptyModifiers","Popper","forwardedRef","placement","strategy","as","Comp","innerAs","anchorEl","children","modifiers","usePortal","style","portalSelector","distance","skidding","arrowPadding","offsetFn","props","arrowRef","popperRef","popperEngineInstance","defaultModifiers","arrowModifier","name","options","element","padding","offsetModifier","offset","current","destroy","forceUpdate","hidden","contextValue","ret","position","left","top"],"sources":["../../../src/Popper/Popper.tsx"],"sourcesContent":["import type { HTMLAttributes, ElementType, RefObject, ReactNode } from 'react';\nimport {\n forwardRef,\n useRef,\n useEffect,\n useLayoutEffect,\n useMemo,\n memo,\n} from 'react';\nimport type {\n Placement,\n Modifier,\n PositioningStrategy,\n Instance,\n Rect,\n} from '@popperjs/core';\nimport { createPopper } from '@popperjs/core';\nimport type { OffsetModifier } from '@popperjs/core/lib/modifiers/offset';\nimport type { ArrowModifier } from '@popperjs/core/lib/modifiers/arrow';\n\nimport { assignMultipleRefs } from '../utils/assign-ref';\nimport type { PopperContextProps } from './context';\nimport { PopperProvider } from './context';\nimport { Portal } from '../Portal';\n\nconst useEnhancedEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nexport type OffsetsFunction = (arg0: {\n popper: Rect;\n reference: Rect;\n placement: Placement;\n}) => [number | null | undefined, number | null | undefined];\n\nexport interface PopperProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n anchorEl: RefObject<HTMLElement>;\n children?: ReactNode;\n placement?: Placement;\n strategy?: PositioningStrategy;\n modifiers?: Array<Partial<Modifier<any, any>>>;\n usePortal?: boolean;\n portalSelector?: string;\n /**\n * Displaces the popper along the reference element.\n */\n skidding?: number;\n /**\n * 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.\n */\n distance?: number;\n /**\n * An optional function that must return a pair of [skidding, padding]. Useful for doing things like, displace the popper by 100%.\n */\n offsetFn?: OffsetsFunction;\n /**\n * 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.\n */\n arrowPadding?: number;\n}\n\nconst emptyModifiers: Array<Partial<Modifier<any, any>>> = [];\nexport const Popper = memo(\n forwardRef<HTMLDivElement, PopperProps>(function Popper(\n {\n placement = 'bottom',\n strategy = 'absolute',\n as: Comp = 'div',\n innerAs,\n anchorEl,\n children,\n modifiers = emptyModifiers,\n usePortal = false,\n style = {},\n portalSelector,\n distance = 0,\n skidding = 0,\n arrowPadding = 5,\n offsetFn,\n ...props\n },\n forwardedRef\n ) {\n const arrowRef = useRef<HTMLSpanElement>(null);\n\n const popperRef = useRef<HTMLDivElement | null>(null);\n const popperEngineInstance = useRef<null | Instance>(null);\n\n const defaultModifiers: Array<Partial<Modifier<any, any>>> = useMemo(() => {\n const arrowModifier: Omit<ArrowModifier, 'enabled' | 'fn' | 'phase'> = {\n name: 'arrow',\n options: {\n element: '[data-popper-arrow]',\n padding: arrowPadding,\n },\n };\n const offsetModifier: Omit<OffsetModifier, 'enabled' | 'fn' | 'phase'> = {\n name: 'offset',\n options: {\n offset: offsetFn ?? [skidding, distance],\n },\n };\n\n return [arrowModifier, offsetModifier];\n }, [arrowPadding, distance, skidding, offsetFn]);\n\n useEnhancedEffect(() => {\n if (anchorEl && anchorEl.current && popperRef.current) {\n popperEngineInstance.current = createPopper(\n anchorEl.current,\n popperRef.current,\n {\n placement,\n strategy,\n modifiers: [...defaultModifiers, ...modifiers],\n }\n );\n }\n\n return () => {\n popperEngineInstance.current && popperEngineInstance.current.destroy();\n popperEngineInstance.current = null;\n };\n }, [anchorEl, modifiers, placement, strategy, defaultModifiers]);\n\n useEnhancedEffect(() => {\n popperEngineInstance.current?.forceUpdate();\n }, [props.hidden || props['aria-hidden']]);\n\n const contextValue: PopperContextProps = {\n arrowRef,\n };\n\n const ret = (\n <PopperProvider value={contextValue}>\n <Comp\n {...props}\n as={innerAs}\n ref={assignMultipleRefs(popperRef, forwardedRef)}\n style={{ position: 'fixed', left: -5000, top: -5000, ...style }}\n >\n {children}\n </Comp>\n </PopperProvider>\n );\n\n if (usePortal) {\n return <Portal selector={portalSelector}>{ret}</Portal>;\n }\n\n return ret;\n })\n);\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Popper.js","names":["forwardRef","useRef","useEffect","useLayoutEffect","useMemo","memo","createPopper","assignMultipleRefs","PopperProvider","Portal","jsx","_jsx","useEnhancedEffect","window","emptyModifiers","Popper","_ref","forwardedRef","placement","strategy","as","Comp","innerAs","anchorEl","children","modifiers","usePortal","style","portalSelector","distance","skidding","arrowPadding","offsetFn","props","arrowRef","popperRef","popperEngineInstance","defaultModifiers","arrowModifier","name","options","element","padding","offsetModifier","offset","current","destroy","forceUpdate","hidden","contextValue","ret","value","ref","position","left","top","selector"],"sources":["../../../src/Popper/Popper.tsx"],"sourcesContent":["import type { HTMLAttributes, ElementType, RefObject, ReactNode } from 'react';\nimport {\n forwardRef,\n useRef,\n useEffect,\n useLayoutEffect,\n useMemo,\n memo,\n} from 'react';\nimport type {\n Placement,\n Modifier,\n PositioningStrategy,\n Instance,\n Rect,\n} from '@popperjs/core';\nimport { createPopper } from '@popperjs/core';\nimport type { OffsetModifier } from '@popperjs/core/lib/modifiers/offset';\nimport type { ArrowModifier } from '@popperjs/core/lib/modifiers/arrow';\n\nimport { assignMultipleRefs } from '../utils/assign-ref';\nimport type { PopperContextProps } from './context';\nimport { PopperProvider } from './context';\nimport { Portal } from '../Portal';\n\nconst useEnhancedEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nexport type OffsetsFunction = (arg0: {\n popper: Rect;\n reference: Rect;\n placement: Placement;\n}) => [number | null | undefined, number | null | undefined];\n\nexport interface PopperProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n anchorEl: RefObject<HTMLElement | null>;\n children?: ReactNode;\n placement?: Placement;\n strategy?: PositioningStrategy;\n modifiers?: Array<Partial<Modifier<any, any>>>;\n usePortal?: boolean;\n portalSelector?: string;\n /**\n * Displaces the popper along the reference element.\n */\n skidding?: number;\n /**\n * 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.\n */\n distance?: number;\n /**\n * An optional function that must return a pair of [skidding, padding]. Useful for doing things like, displace the popper by 100%.\n */\n offsetFn?: OffsetsFunction;\n /**\n * 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.\n */\n arrowPadding?: number;\n}\n\nconst emptyModifiers: Array<Partial<Modifier<any, any>>> = [];\nexport const Popper = memo(\n forwardRef<HTMLDivElement, PopperProps>(function Popper(\n {\n placement = 'bottom',\n strategy = 'absolute',\n as: Comp = 'div',\n innerAs,\n anchorEl,\n children,\n modifiers = emptyModifiers,\n usePortal = false,\n style = {},\n portalSelector,\n distance = 0,\n skidding = 0,\n arrowPadding = 5,\n offsetFn,\n ...props\n },\n forwardedRef\n ) {\n const arrowRef = useRef<HTMLSpanElement>(null);\n\n const popperRef = useRef<HTMLDivElement | null>(null);\n const popperEngineInstance = useRef<null | Instance>(null);\n\n const defaultModifiers: Array<Partial<Modifier<any, any>>> = useMemo(() => {\n const arrowModifier: Omit<ArrowModifier, 'enabled' | 'fn' | 'phase'> = {\n name: 'arrow',\n options: {\n element: '[data-popper-arrow]',\n padding: arrowPadding,\n },\n };\n const offsetModifier: Omit<OffsetModifier, 'enabled' | 'fn' | 'phase'> = {\n name: 'offset',\n options: {\n offset: offsetFn ?? [skidding, distance],\n },\n };\n\n return [arrowModifier, offsetModifier];\n }, [arrowPadding, distance, skidding, offsetFn]);\n\n useEnhancedEffect(() => {\n if (anchorEl && anchorEl.current && popperRef.current) {\n popperEngineInstance.current = createPopper(\n anchorEl.current,\n popperRef.current,\n {\n placement,\n strategy,\n modifiers: [...defaultModifiers, ...modifiers],\n }\n );\n }\n\n return () => {\n popperEngineInstance.current && popperEngineInstance.current.destroy();\n popperEngineInstance.current = null;\n };\n }, [anchorEl, modifiers, placement, strategy, defaultModifiers]);\n\n useEnhancedEffect(() => {\n popperEngineInstance.current?.forceUpdate();\n }, [props.hidden || props['aria-hidden']]);\n\n const contextValue: PopperContextProps = {\n arrowRef,\n };\n\n const ret = (\n <PopperProvider value={contextValue}>\n <Comp\n {...props}\n as={innerAs}\n ref={assignMultipleRefs(popperRef, forwardedRef)}\n style={{ position: 'fixed', left: -5000, top: -5000, ...style }}\n >\n {children}\n </Comp>\n </PopperProvider>\n );\n\n if (usePortal) {\n return <Portal selector={portalSelector}>{ret}</Portal>;\n }\n\n return ret;\n })\n);\n"],"mappings":"AACA,SACEA,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,eAAe,EACfC,OAAO,EACPC,IAAI,QACC,OAAO;AAQd,SAASC,YAAY,QAAQ,gBAAgB;AAI7C,SAASC,kBAAkB,QAAQ,qBAAqB;AAExD,SAASC,cAAc,QAAQ,WAAW;AAC1C,SAASC,MAAM,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnC,MAAMC,iBAAiB,GACrB,OAAOC,MAAM,KAAK,WAAW,GAAGV,eAAe,GAAGD,SAAS;AAoC7D,MAAMY,cAAkD,GAAG,EAAE;AAC7D,OAAO,MAAMC,MAAM,gBAAGV,IAAI,cACxBL,UAAU,CAA8B,SAASe,MAAMA,CAAAC,IAAA,EAkBrDC,YAAY,EACZ;EAAA,IAlBA;IACEC,SAAS,GAAG,QAAQ;IACpBC,QAAQ,GAAG,UAAU;IACrBC,EAAE,EAAEC,IAAI,GAAG,KAAK;IAChBC,OAAO;IACPC,QAAQ;IACRC,QAAQ;IACRC,SAAS,GAAGX,cAAc;IAC1BY,SAAS,GAAG,KAAK;IACjBC,KAAK,GAAG,CAAC,CAAC;IACVC,cAAc;IACdC,QAAQ,GAAG,CAAC;IACZC,QAAQ,GAAG,CAAC;IACZC,YAAY,GAAG,CAAC;IAChBC,QAAQ;IACR,GAAGC;EACL,CAAC,GAAAjB,IAAA;EAGD,MAAMkB,QAAQ,GAAGjC,MAAM,CAAkB,IAAI,CAAC;EAE9C,MAAMkC,SAAS,GAAGlC,MAAM,CAAwB,IAAI,CAAC;EACrD,MAAMmC,oBAAoB,GAAGnC,MAAM,CAAkB,IAAI,CAAC;EAE1D,MAAMoC,gBAAoD,GAAGjC,OAAO,CAAC,MAAM;IACzE,MAAMkC,aAA8D,GAAG;MACrEC,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE;QACPC,OAAO,EAAE,qBAAqB;QAC9BC,OAAO,EAAEX;MACX;IACF,CAAC;IACD,MAAMY,cAAgE,GAAG;MACvEJ,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE;QACPI,MAAM,EAAEZ,QAAQ,IAAI,CAACF,QAAQ,EAAED,QAAQ;MACzC;IACF,CAAC;IAED,OAAO,CAACS,aAAa,EAAEK,cAAc,CAAC;EACxC,CAAC,EAAE,CAACZ,YAAY,EAAEF,QAAQ,EAAEC,QAAQ,EAAEE,QAAQ,CAAC,CAAC;EAEhDpB,iBAAiB,CAAC,MAAM;IACtB,IAAIW,QAAQ,IAAIA,QAAQ,CAACsB,OAAO,IAAIV,SAAS,CAACU,OAAO,EAAE;MACrDT,oBAAoB,CAACS,OAAO,GAAGvC,YAAY,CACzCiB,QAAQ,CAACsB,OAAO,EAChBV,SAAS,CAACU,OAAO,EACjB;QACE3B,SAAS;QACTC,QAAQ;QACRM,SAAS,EAAE,CAAC,GAAGY,gBAAgB,EAAE,GAAGZ,SAAS;MAC/C,CACF,CAAC;IACH;IAEA,OAAO,MAAM;MACXW,oBAAoB,CAACS,OAAO,IAAIT,oBAAoB,CAACS,OAAO,CAACC,OAAO,CAAC,CAAC;MACtEV,oBAAoB,CAACS,OAAO,GAAG,IAAI;IACrC,CAAC;EACH,CAAC,EAAE,CAACtB,QAAQ,EAAEE,SAAS,EAAEP,SAAS,EAAEC,QAAQ,EAAEkB,gBAAgB,CAAC,CAAC;EAEhEzB,iBAAiB,CAAC,MAAM;IACtBwB,oBAAoB,CAACS,OAAO,EAAEE,WAAW,CAAC,CAAC;EAC7C,CAAC,EAAE,CAACd,KAAK,CAACe,MAAM,IAAIf,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;EAE1C,MAAMgB,YAAgC,GAAG;IACvCf;EACF,CAAC;EAED,MAAMgB,GAAG,gBACPvC,IAAA,CAACH,cAAc;IAAC2C,KAAK,EAAEF,YAAa;IAAAzB,QAAA,eAClCb,IAAA,CAACU,IAAI;MAAA,GACCY,KAAK;MACTb,EAAE,EAAEE,OAAQ;MACZ8B,GAAG,EAAE7C,kBAAkB,CAAC4B,SAAS,EAAElB,YAAY,CAAE;MACjDU,KAAK,EAAE;QAAE0B,QAAQ,EAAE,OAAO;QAAEC,IAAI,EAAE,CAAC,IAAI;QAAEC,GAAG,EAAE,CAAC,IAAI;QAAE,GAAG5B;MAAM,CAAE;MAAAH,QAAA,EAE/DA;IAAQ,CACL;EAAC,CACO,CACjB;EAED,IAAIE,SAAS,EAAE;IACb,oBAAOf,IAAA,CAACF,MAAM;MAAC+C,QAAQ,EAAE5B,cAAe;MAAAJ,QAAA,EAAE0B;IAAG,CAAS,CAAC;EACzD;EAEA,OAAOA,GAAG;AACZ,CAAC,CACH,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ElementType, HTMLAttributes } from 'react';
|
|
2
|
-
export interface PopperArrowProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
-
as?: ElementType<any>;
|
|
4
|
-
innerAs?: ElementType<any>;
|
|
5
|
-
}
|
|
6
|
-
export declare const PopperArrow: import("react").ForwardRefExoticComponent<PopperArrowProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
1
|
+
import type { ElementType, HTMLAttributes } from 'react';
|
|
2
|
+
export interface PopperArrowProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
as?: ElementType<any>;
|
|
4
|
+
innerAs?: ElementType<any>;
|
|
5
|
+
}
|
|
6
|
+
export declare const PopperArrow: import("react").ForwardRefExoticComponent<PopperArrowProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,30 +1,25 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["as"];
|
|
4
1
|
import { forwardRef } from 'react';
|
|
5
2
|
import { usePopperContext } from './context';
|
|
6
3
|
import { assignMultipleRefs } from '../utils/assign-ref';
|
|
7
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
export const PopperArrow = /*#__PURE__*/forwardRef(function PopperArrow(_ref, ref) {
|
|
6
|
+
let {
|
|
7
|
+
as: Comp = 'div',
|
|
8
|
+
...props
|
|
9
|
+
} = _ref;
|
|
10
|
+
const ctx = usePopperContext();
|
|
15
11
|
if (ctx === null) {
|
|
16
12
|
return null;
|
|
17
13
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
ref:
|
|
14
|
+
return /*#__PURE__*/_jsx(Comp, {
|
|
15
|
+
...props,
|
|
16
|
+
ref: node => {
|
|
21
17
|
if (node && ctx.arrowRef.current && ctx.arrowRef.current !== node) {
|
|
22
18
|
throw new Error('You can only render one <PopperArrow /> per <Popper> component');
|
|
23
19
|
}
|
|
24
|
-
|
|
25
|
-
assignMultipleRefs(_ref2, ctx.arrowRef)(node);
|
|
20
|
+
assignMultipleRefs(ref, ctx.arrowRef)(node);
|
|
26
21
|
},
|
|
27
22
|
"data-popper-arrow": ""
|
|
28
|
-
})
|
|
23
|
+
});
|
|
29
24
|
});
|
|
30
25
|
//# sourceMappingURL=PopperArrow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopperArrow.js","names":["forwardRef","usePopperContext","assignMultipleRefs","PopperArrow","ref","as","Comp","props","ctx","node","arrowRef","current","Error"],"sources":["../../../src/Popper/PopperArrow.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes } from 'react';\
|
|
1
|
+
{"version":3,"file":"PopperArrow.js","names":["forwardRef","usePopperContext","assignMultipleRefs","jsx","_jsx","PopperArrow","_ref","ref","as","Comp","props","ctx","node","arrowRef","current","Error"],"sources":["../../../src/Popper/PopperArrow.tsx"],"sourcesContent":["import type { ElementType, HTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { usePopperContext } from './context';\nimport { assignMultipleRefs } from '../utils/assign-ref';\n\nexport interface PopperArrowProps extends HTMLAttributes<HTMLDivElement> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n}\n\nexport const PopperArrow = forwardRef<HTMLDivElement, PopperArrowProps>(\n function PopperArrow({ as: Comp = 'div', ...props }, ref) {\n const ctx = usePopperContext();\n\n if (ctx === null) {\n return null;\n }\n\n return (\n <Comp\n {...props}\n ref={(node: HTMLDivElement | null) => {\n if (node && ctx.arrowRef.current && ctx.arrowRef.current !== node) {\n throw new Error(\n 'You can only render one <PopperArrow /> per <Popper> component'\n );\n }\n assignMultipleRefs(ref, ctx.arrowRef)(node);\n }}\n data-popper-arrow=\"\"\n />\n );\n }\n);\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,OAAO;AAElC,SAASC,gBAAgB,QAAQ,WAAW;AAC5C,SAASC,kBAAkB,QAAQ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOzD,OAAO,MAAMC,WAAW,gBAAGL,UAAU,CACnC,SAASK,WAAWA,CAAAC,IAAA,EAAiCC,GAAG,EAAE;EAAA,IAArC;IAAEC,EAAE,EAAEC,IAAI,GAAG,KAAK;IAAE,GAAGC;EAAM,CAAC,GAAAJ,IAAA;EACjD,MAAMK,GAAG,GAAGV,gBAAgB,CAAC,CAAC;EAE9B,IAAIU,GAAG,KAAK,IAAI,EAAE;IAChB,OAAO,IAAI;EACb;EAEA,oBACEP,IAAA,CAACK,IAAI;IAAA,GACCC,KAAK;IACTH,GAAG,EAAGK,IAA2B,IAAK;MACpC,IAAIA,IAAI,IAAID,GAAG,CAACE,QAAQ,CAACC,OAAO,IAAIH,GAAG,CAACE,QAAQ,CAACC,OAAO,KAAKF,IAAI,EAAE;QACjE,MAAM,IAAIG,KAAK,CACb,gEACF,CAAC;MACH;MACAb,kBAAkB,CAACK,GAAG,EAAEI,GAAG,CAACE,QAAQ,CAAC,CAACD,IAAI,CAAC;IAC7C,CAAE;IACF,qBAAkB;EAAE,CACrB,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { MutableRefObject } from 'react';
|
|
2
|
-
export interface PopperContextProps {
|
|
3
|
-
arrowRef: MutableRefObject<HTMLSpanElement | null>;
|
|
4
|
-
}
|
|
5
|
-
export declare const PopperProvider: import("react").Provider<PopperContextProps | null>;
|
|
6
|
-
export declare const usePopperContext: () => PopperContextProps | null;
|
|
1
|
+
import type { MutableRefObject } from 'react';
|
|
2
|
+
export interface PopperContextProps {
|
|
3
|
+
arrowRef: MutableRefObject<HTMLSpanElement | null>;
|
|
4
|
+
}
|
|
5
|
+
export declare const PopperProvider: import("react").Provider<PopperContextProps | null>;
|
|
6
|
+
export declare const usePopperContext: () => PopperContextProps | null;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { createContext, useContext } from 'react';
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
return useContext(context);
|
|
6
|
-
};
|
|
2
|
+
const context = /*#__PURE__*/createContext(null);
|
|
3
|
+
export const PopperProvider = context.Provider;
|
|
4
|
+
export const usePopperContext = () => useContext(context);
|
|
7
5
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["createContext","useContext","context","PopperProvider","Provider","usePopperContext"],"sources":["../../../src/Popper/context.ts"],"sourcesContent":["import type { MutableRefObject } from 'react';\
|
|
1
|
+
{"version":3,"file":"context.js","names":["createContext","useContext","context","PopperProvider","Provider","usePopperContext"],"sources":["../../../src/Popper/context.ts"],"sourcesContent":["import type { MutableRefObject } from 'react';\nimport { createContext, useContext } from 'react';\n\nexport interface PopperContextProps {\n arrowRef: MutableRefObject<HTMLSpanElement | null>;\n}\n\nconst context = createContext<PopperContextProps | null>(null);\nexport const PopperProvider = context.Provider;\nexport const usePopperContext = () => useContext(context);\n"],"mappings":"AACA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAMjD,MAAMC,OAAO,gBAAGF,aAAa,CAA4B,IAAI,CAAC;AAC9D,OAAO,MAAMG,cAAc,GAAGD,OAAO,CAACE,QAAQ;AAC9C,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAMJ,UAAU,CAACC,OAAO,CAAC","ignoreList":[]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './Popper';
|
|
2
|
-
export * from './PopperArrow';
|
|
3
|
-
export * from './context';
|
|
1
|
+
export * from './Popper';
|
|
2
|
+
export * from './PopperArrow';
|
|
3
|
+
export * from './context';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/Popper/index.ts"],"sourcesContent":["export * from './Popper';\
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/Popper/index.ts"],"sourcesContent":["export * from './Popper';\nexport * from './PopperArrow';\nexport * from './context';\n"],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,WAAW","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { type FC, type ReactNode } from 'react';
|
|
2
|
-
import type { PortalSelectorFn } from './PortalSelectorProvider';
|
|
3
|
-
export interface PortalProps {
|
|
4
|
-
children?: ReactNode;
|
|
5
|
-
selector?: PortalSelectorFn;
|
|
6
|
-
}
|
|
7
|
-
export declare const Portal: FC<PortalProps>;
|
|
1
|
+
import { type FC, type ReactNode } from 'react';
|
|
2
|
+
import type { PortalSelectorFn } from './PortalSelectorProvider';
|
|
3
|
+
export interface PortalProps {
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
selector?: PortalSelectorFn;
|
|
6
|
+
}
|
|
7
|
+
export declare const Portal: FC<PortalProps>;
|
|
@@ -2,25 +2,23 @@ import { useContext } from 'react';
|
|
|
2
2
|
import { createPortal } from 'react-dom';
|
|
3
3
|
import { PortalSelectorContext } from './PortalSelectorProvider';
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
export const Portal = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
children,
|
|
8
|
+
selector: selectorProp
|
|
9
|
+
} = _ref;
|
|
10
|
+
const selectorCtx = useContext(PortalSelectorContext);
|
|
10
11
|
if (typeof window === 'undefined') {
|
|
11
12
|
return null;
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
var dom = typeof selector === 'string' ? document.querySelector(selector) : selector();
|
|
16
|
-
|
|
14
|
+
const selector = selectorProp || selectorCtx || 'body';
|
|
15
|
+
const dom = typeof selector === 'string' ? document.querySelector(selector) : selector();
|
|
17
16
|
if (dom) {
|
|
18
|
-
return /*#__PURE__*/createPortal(
|
|
17
|
+
return /*#__PURE__*/createPortal(/*#__PURE__*/_jsx("div", {
|
|
19
18
|
"data-portal": "",
|
|
20
19
|
children: children
|
|
21
20
|
}), dom);
|
|
22
21
|
}
|
|
23
|
-
|
|
24
22
|
return null;
|
|
25
23
|
};
|
|
26
24
|
//# sourceMappingURL=Portal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Portal.js","names":["useContext","createPortal","PortalSelectorContext","Portal","
|
|
1
|
+
{"version":3,"file":"Portal.js","names":["useContext","createPortal","PortalSelectorContext","jsx","_jsx","Portal","_ref","children","selector","selectorProp","selectorCtx","window","dom","document","querySelector"],"sources":["../../../src/Portal/Portal.tsx"],"sourcesContent":["import { useContext, type FC, type ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport type { PortalSelectorFn } from './PortalSelectorProvider';\nimport { PortalSelectorContext } from './PortalSelectorProvider';\n\nexport interface PortalProps {\n children?: ReactNode;\n selector?: PortalSelectorFn;\n}\n\nexport const Portal: FC<PortalProps> = ({\n children,\n selector: selectorProp,\n}) => {\n const selectorCtx = useContext(PortalSelectorContext);\n if (typeof window === 'undefined') {\n return null;\n }\n\n const selector = selectorProp || selectorCtx || 'body';\n const dom =\n typeof selector === 'string'\n ? document.querySelector(selector)\n : selector();\n if (dom) {\n return createPortal(<div data-portal=\"\">{children}</div>, dom);\n }\n\n return null;\n};\n"],"mappings":"AAAA,SAASA,UAAU,QAAiC,OAAO;AAC3D,SAASC,YAAY,QAAQ,WAAW;AAGxC,SAASC,qBAAqB,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOjE,OAAO,MAAMC,MAAuB,GAAGC,IAAA,IAGjC;EAAA,IAHkC;IACtCC,QAAQ;IACRC,QAAQ,EAAEC;EACZ,CAAC,GAAAH,IAAA;EACC,MAAMI,WAAW,GAAGV,UAAU,CAACE,qBAAqB,CAAC;EACrD,IAAI,OAAOS,MAAM,KAAK,WAAW,EAAE;IACjC,OAAO,IAAI;EACb;EAEA,MAAMH,QAAQ,GAAGC,YAAY,IAAIC,WAAW,IAAI,MAAM;EACtD,MAAME,GAAG,GACP,OAAOJ,QAAQ,KAAK,QAAQ,GACxBK,QAAQ,CAACC,aAAa,CAACN,QAAQ,CAAC,GAChCA,QAAQ,CAAC,CAAC;EAChB,IAAII,GAAG,EAAE;IACP,oBAAOX,YAAY,cAACG,IAAA;MAAK,eAAY,EAAE;MAAAG,QAAA,EAAEA;IAAQ,CAAM,CAAC,EAAEK,GAAG,CAAC;EAChE;EAEA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
export
|
|
3
|
-
export declare const PortalSelectorContext: import("react").Context<PortalSelectorFn | null>;
|
|
4
|
-
export
|
|
5
|
-
selector: PortalSelectorFn;
|
|
6
|
-
children?: ReactNode | ReactNode[];
|
|
7
|
-
};
|
|
8
|
-
export declare const PortalSelectorProvider: ({ selector, children, }: PortalSelectorProviderProps) => JSX.Element;
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export type PortalSelectorFn = string | (() => Element | null);
|
|
3
|
+
export declare const PortalSelectorContext: import("react").Context<PortalSelectorFn | null>;
|
|
4
|
+
export type PortalSelectorProviderProps = {
|
|
5
|
+
selector: PortalSelectorFn;
|
|
6
|
+
children?: ReactNode | ReactNode[];
|
|
7
|
+
};
|
|
8
|
+
export declare const PortalSelectorProvider: ({ selector, children, }: PortalSelectorProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { createContext } from 'react';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
export
|
|
3
|
+
export const PortalSelectorContext = /*#__PURE__*/createContext(null);
|
|
4
4
|
PortalSelectorContext.displayName = 'PortalSelectorContext';
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export const PortalSelectorProvider = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
selector,
|
|
8
|
+
children
|
|
9
|
+
} = _ref;
|
|
8
10
|
return /*#__PURE__*/_jsx(PortalSelectorContext.Provider, {
|
|
9
11
|
value: selector,
|
|
10
12
|
children: children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PortalSelectorProvider.js","names":["createContext","PortalSelectorContext","displayName","PortalSelectorProvider","selector","children"],"sources":["../../../src/Portal/PortalSelectorProvider.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport type { ReactNode } from 'react';\n\nexport type PortalSelectorFn = string | (() => Element | null);\nexport const PortalSelectorContext = createContext<PortalSelectorFn | null>(\n null\n);\nPortalSelectorContext.displayName = 'PortalSelectorContext';\n\nexport type PortalSelectorProviderProps = {\n selector: PortalSelectorFn;\n children?: ReactNode | ReactNode[];\n};\n\nexport const PortalSelectorProvider = ({\n selector,\n children,\n}: PortalSelectorProviderProps) => {\n return (\n <PortalSelectorContext.Provider value={selector}>\n {children}\n </PortalSelectorContext.Provider>\n );\n};\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"file":"PortalSelectorProvider.js","names":["createContext","jsx","_jsx","PortalSelectorContext","displayName","PortalSelectorProvider","_ref","selector","children","Provider","value"],"sources":["../../../src/Portal/PortalSelectorProvider.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport type { ReactNode } from 'react';\n\nexport type PortalSelectorFn = string | (() => Element | null);\nexport const PortalSelectorContext = createContext<PortalSelectorFn | null>(\n null\n);\nPortalSelectorContext.displayName = 'PortalSelectorContext';\n\nexport type PortalSelectorProviderProps = {\n selector: PortalSelectorFn;\n children?: ReactNode | ReactNode[];\n};\n\nexport const PortalSelectorProvider = ({\n selector,\n children,\n}: PortalSelectorProviderProps) => {\n return (\n <PortalSelectorContext.Provider value={selector}>\n {children}\n </PortalSelectorContext.Provider>\n );\n};\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAItC,OAAO,MAAMC,qBAAqB,gBAAGH,aAAa,CAChD,IACF,CAAC;AACDG,qBAAqB,CAACC,WAAW,GAAG,uBAAuB;AAO3D,OAAO,MAAMC,sBAAsB,GAAGC,IAAA,IAGH;EAAA,IAHI;IACrCC,QAAQ;IACRC;EAC2B,CAAC,GAAAF,IAAA;EAC5B,oBACEJ,IAAA,CAACC,qBAAqB,CAACM,QAAQ;IAACC,KAAK,EAAEH,QAAS;IAAAC,QAAA,EAC7CA;EAAQ,CACqB,CAAC;AAErC,CAAC","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './Portal';
|
|
2
|
-
export { PortalSelectorProvider, type PortalSelectorProviderProps, type PortalSelectorFn, } from './PortalSelectorProvider';
|
|
1
|
+
export * from './Portal';
|
|
2
|
+
export { PortalSelectorProvider, type PortalSelectorProviderProps, type PortalSelectorFn, } from './PortalSelectorProvider';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["PortalSelectorProvider"],"sources":["../../../src/Portal/index.ts"],"sourcesContent":["export * from './Portal';\nexport {\n PortalSelectorProvider,\n type PortalSelectorProviderProps,\n type PortalSelectorFn,\n} from './PortalSelectorProvider';\n"],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","names":["PortalSelectorProvider"],"sources":["../../../src/Portal/index.ts"],"sourcesContent":["export * from './Portal';\nexport {\n PortalSelectorProvider,\n type PortalSelectorProviderProps,\n type PortalSelectorFn,\n} from './PortalSelectorProvider';\n"],"mappings":"AAAA,cAAc,UAAU;AACxB,SACEA,sBAAsB,QAGjB,0BAA0B","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { ElementType, InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
-
import type { RadioValue } from './context';
|
|
3
|
-
export interface RadioButtonProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value'> {
|
|
4
|
-
as?: ElementType<any>;
|
|
5
|
-
innerAs?: ElementType<any>;
|
|
6
|
-
children?: ReactNode;
|
|
7
|
-
checked?: boolean;
|
|
8
|
-
value: RadioValue;
|
|
9
|
-
}
|
|
10
|
-
export declare const RadioButton: import("react").ForwardRefExoticComponent<RadioButtonProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
1
|
+
import type { ElementType, InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import type { RadioValue } from './context';
|
|
3
|
+
export interface RadioButtonProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value'> {
|
|
4
|
+
as?: ElementType<any>;
|
|
5
|
+
innerAs?: ElementType<any>;
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
checked?: boolean;
|
|
8
|
+
value: RadioValue;
|
|
9
|
+
}
|
|
10
|
+
export declare const RadioButton: import("react").ForwardRefExoticComponent<RadioButtonProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -1,36 +1,30 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["as", "value", "onChange", "checked", "name"];
|
|
4
1
|
import { forwardRef } from 'react';
|
|
5
2
|
import { useRadioGroupContext } from './context';
|
|
6
3
|
import { wrapEvent } from '../utils';
|
|
7
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var _radioGroupContext$on;
|
|
21
|
-
|
|
22
|
-
radioGroupContext === null || radioGroupContext === void 0 ? void 0 : (_radioGroupContext$on = radioGroupContext.onChange) === null || _radioGroupContext$on === void 0 ? void 0 : _radioGroupContext$on.call(radioGroupContext, e, valueProp);
|
|
5
|
+
export const RadioButton = /*#__PURE__*/forwardRef(function RadioButton(props, forwardedRef) {
|
|
6
|
+
const {
|
|
7
|
+
as: Comp = 'input',
|
|
8
|
+
value: valueProp,
|
|
9
|
+
onChange: onChangeProp,
|
|
10
|
+
checked: checkedProp,
|
|
11
|
+
name: nameProp,
|
|
12
|
+
...otherProps
|
|
13
|
+
} = props;
|
|
14
|
+
const radioGroupContext = useRadioGroupContext();
|
|
15
|
+
const handleChange = e => {
|
|
16
|
+
radioGroupContext?.onChange?.(e, valueProp);
|
|
23
17
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return /*#__PURE__*/_jsx(Comp, _extends({
|
|
18
|
+
const checked = radioGroupContext ? radioGroupContext.value === valueProp : checkedProp;
|
|
19
|
+
return /*#__PURE__*/_jsx(Comp, {
|
|
27
20
|
ref: forwardedRef,
|
|
28
21
|
type: "radio",
|
|
29
22
|
checked: checked,
|
|
30
23
|
"aria-checked": String(checked),
|
|
31
24
|
name: radioGroupContext ? radioGroupContext.name : nameProp,
|
|
32
25
|
onChange: wrapEvent(onChangeProp, handleChange),
|
|
33
|
-
value: valueProp
|
|
34
|
-
|
|
26
|
+
value: valueProp,
|
|
27
|
+
...otherProps
|
|
28
|
+
});
|
|
35
29
|
});
|
|
36
30
|
//# sourceMappingURL=RadioButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioButton.js","names":["forwardRef","useRadioGroupContext","wrapEvent","RadioButton","props","forwardedRef","as","Comp","valueProp","
|
|
1
|
+
{"version":3,"file":"RadioButton.js","names":["forwardRef","useRadioGroupContext","wrapEvent","jsx","_jsx","RadioButton","props","forwardedRef","as","Comp","value","valueProp","onChange","onChangeProp","checked","checkedProp","name","nameProp","otherProps","radioGroupContext","handleChange","e","ref","type","String"],"sources":["../../../src/RadioButton/RadioButton.tsx"],"sourcesContent":["import type {\n ChangeEvent,\n ElementType,\n InputHTMLAttributes,\n ReactNode,\n} from 'react';\nimport { forwardRef } from 'react';\n\nimport type { RadioValue } from './context';\nimport { useRadioGroupContext } from './context';\nimport { wrapEvent } from '../utils';\n\nexport interface RadioButtonProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value'> {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n checked?: boolean;\n value: RadioValue;\n}\n\nexport const RadioButton = forwardRef<HTMLInputElement, RadioButtonProps>(\n function RadioButton(props, forwardedRef) {\n const {\n as: Comp = 'input',\n value: valueProp,\n onChange: onChangeProp,\n checked: checkedProp,\n name: nameProp,\n ...otherProps\n } = props;\n const radioGroupContext = useRadioGroupContext();\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n radioGroupContext?.onChange?.(e, valueProp);\n };\n\n const checked = radioGroupContext\n ? radioGroupContext.value === valueProp\n : checkedProp;\n\n return (\n <Comp\n ref={forwardedRef}\n type=\"radio\"\n checked={checked}\n aria-checked={String(checked)}\n name={radioGroupContext ? radioGroupContext.name : nameProp}\n onChange={wrapEvent(onChangeProp, handleChange)}\n value={valueProp}\n {...otherProps}\n />\n );\n }\n);\n"],"mappings":"AAMA,SAASA,UAAU,QAAQ,OAAO;AAGlC,SAASC,oBAAoB,QAAQ,WAAW;AAChD,SAASC,SAAS,QAAQ,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAWrC,OAAO,MAAMC,WAAW,gBAAGL,UAAU,CACnC,SAASK,WAAWA,CAACC,KAAK,EAAEC,YAAY,EAAE;EACxC,MAAM;IACJC,EAAE,EAAEC,IAAI,GAAG,OAAO;IAClBC,KAAK,EAAEC,SAAS;IAChBC,QAAQ,EAAEC,YAAY;IACtBC,OAAO,EAAEC,WAAW;IACpBC,IAAI,EAAEC,QAAQ;IACd,GAAGC;EACL,CAAC,GAAGZ,KAAK;EACT,MAAMa,iBAAiB,GAAGlB,oBAAoB,CAAC,CAAC;EAEhD,MAAMmB,YAAY,GAAIC,CAAgC,IAAK;IACzDF,iBAAiB,EAAEP,QAAQ,GAAGS,CAAC,EAAEV,SAAS,CAAC;EAC7C,CAAC;EAED,MAAMG,OAAO,GAAGK,iBAAiB,GAC7BA,iBAAiB,CAACT,KAAK,KAAKC,SAAS,GACrCI,WAAW;EAEf,oBACEX,IAAA,CAACK,IAAI;IACHa,GAAG,EAAEf,YAAa;IAClBgB,IAAI,EAAC,OAAO;IACZT,OAAO,EAAEA,OAAQ;IACjB,gBAAcU,MAAM,CAACV,OAAO,CAAE;IAC9BE,IAAI,EAAEG,iBAAiB,GAAGA,iBAAiB,CAACH,IAAI,GAAGC,QAAS;IAC5DL,QAAQ,EAAEV,SAAS,CAACW,YAAY,EAAEO,YAAY,CAAE;IAChDV,KAAK,EAAEC,SAAU;IAAA,GACbO;EAAU,CACf,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { ChangeEvent, ElementType, HTMLAttributes, ReactNode } from 'react';
|
|
2
|
-
import type { RadioValue } from './context';
|
|
3
|
-
export interface RadioGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'value' | 'defaultValue'> {
|
|
4
|
-
as?: ElementType<any>;
|
|
5
|
-
innerAs?: ElementType<any>;
|
|
6
|
-
children?: ReactNode;
|
|
7
|
-
value?: RadioValue;
|
|
8
|
-
defaultValue?: RadioValue;
|
|
9
|
-
name?: string;
|
|
10
|
-
onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;
|
|
11
|
-
}
|
|
12
|
-
export declare const RadioGroup: import("react").ForwardRefExoticComponent<RadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
1
|
+
import type { ChangeEvent, ElementType, HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import type { RadioValue } from './context';
|
|
3
|
+
export interface RadioGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'value' | 'defaultValue'> {
|
|
4
|
+
as?: ElementType<any>;
|
|
5
|
+
innerAs?: ElementType<any>;
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
value?: RadioValue;
|
|
8
|
+
defaultValue?: RadioValue;
|
|
9
|
+
name?: string;
|
|
10
|
+
onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const RadioGroup: import("react").ForwardRefExoticComponent<RadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,40 +1,31 @@
|
|
|
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", "onChange", "value", "name", "defaultValue"];
|
|
5
1
|
import { forwardRef, useId } from 'react';
|
|
6
2
|
import { RadioGroupProvider } from './context';
|
|
7
3
|
import { useControlledState } from '../hooks';
|
|
8
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}),
|
|
23
|
-
_useControlledState2 = _slicedToArray(_useControlledState, 2),
|
|
24
|
-
value = _useControlledState2[0],
|
|
25
|
-
onChange = _useControlledState2[1];
|
|
26
|
-
|
|
27
|
-
var fallbackId = useId();
|
|
5
|
+
export const RadioGroup = /*#__PURE__*/forwardRef(function RadioGroup(props, forwardedRef) {
|
|
6
|
+
const {
|
|
7
|
+
as: Comp = 'div',
|
|
8
|
+
onChange: onChangeProp,
|
|
9
|
+
value: valueProp,
|
|
10
|
+
name: nameProp,
|
|
11
|
+
defaultValue,
|
|
12
|
+
...otherProps
|
|
13
|
+
} = props;
|
|
14
|
+
const [value, onChange] = useControlledState(valueProp, onChangeProp, defaultValue, setValue => (e, value) => {
|
|
15
|
+
setValue(value);
|
|
16
|
+
});
|
|
17
|
+
const fallbackId = useId();
|
|
28
18
|
return /*#__PURE__*/_jsx(RadioGroupProvider, {
|
|
29
19
|
value: {
|
|
30
|
-
value
|
|
31
|
-
onChange
|
|
20
|
+
value,
|
|
21
|
+
onChange,
|
|
32
22
|
name: nameProp || fallbackId
|
|
33
23
|
},
|
|
34
|
-
children: /*#__PURE__*/_jsx(Comp,
|
|
24
|
+
children: /*#__PURE__*/_jsx(Comp, {
|
|
35
25
|
ref: forwardedRef,
|
|
36
|
-
role: "radiogroup"
|
|
37
|
-
|
|
26
|
+
role: "radiogroup",
|
|
27
|
+
...otherProps
|
|
28
|
+
})
|
|
38
29
|
});
|
|
39
30
|
});
|
|
40
31
|
//# sourceMappingURL=RadioGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroup.js","names":["forwardRef","useId","RadioGroupProvider","useControlledState","RadioGroup","props","forwardedRef","as","Comp","onChangeProp","
|
|
1
|
+
{"version":3,"file":"RadioGroup.js","names":["forwardRef","useId","RadioGroupProvider","useControlledState","jsx","_jsx","RadioGroup","props","forwardedRef","as","Comp","onChange","onChangeProp","value","valueProp","name","nameProp","defaultValue","otherProps","setValue","e","fallbackId","children","ref","role"],"sources":["../../../src/RadioButton/RadioGroup.tsx"],"sourcesContent":["import type {\n ChangeEvent,\n ElementType,\n HTMLAttributes,\n ReactNode,\n} from 'react';\nimport { forwardRef, useId } from 'react';\n\nimport type { RadioValue } from './context';\nimport { RadioGroupProvider } from './context';\nimport { useControlledState } from '../hooks';\n\nexport interface RadioGroupProps\n extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'onChange' | 'value' | 'defaultValue'\n > {\n as?: ElementType<any>;\n innerAs?: ElementType<any>;\n children?: ReactNode;\n value?: RadioValue;\n defaultValue?: RadioValue;\n name?: string;\n onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;\n}\n\nexport const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(\n function RadioGroup(props, forwardedRef) {\n const {\n as: Comp = 'div',\n onChange: onChangeProp,\n value: valueProp,\n name: nameProp,\n defaultValue,\n ...otherProps\n } = props;\n const [value, onChange] = useControlledState(\n valueProp,\n onChangeProp,\n defaultValue,\n (setValue) => (e, value) => {\n setValue(value);\n }\n );\n\n const fallbackId = useId();\n\n return (\n <RadioGroupProvider\n value={{\n value,\n onChange,\n name: nameProp || fallbackId,\n }}\n >\n <Comp ref={forwardedRef} role=\"radiogroup\" {...otherProps} />\n </RadioGroupProvider>\n );\n }\n);\n"],"mappings":"AAMA,SAASA,UAAU,EAAEC,KAAK,QAAQ,OAAO;AAGzC,SAASC,kBAAkB,QAAQ,WAAW;AAC9C,SAASC,kBAAkB,QAAQ,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAgB9C,OAAO,MAAMC,UAAU,gBAAGN,UAAU,CAClC,SAASM,UAAUA,CAACC,KAAK,EAAEC,YAAY,EAAE;EACvC,MAAM;IACJC,EAAE,EAAEC,IAAI,GAAG,KAAK;IAChBC,QAAQ,EAAEC,YAAY;IACtBC,KAAK,EAAEC,SAAS;IAChBC,IAAI,EAAEC,QAAQ;IACdC,YAAY;IACZ,GAAGC;EACL,CAAC,GAAGX,KAAK;EACT,MAAM,CAACM,KAAK,EAAEF,QAAQ,CAAC,GAAGR,kBAAkB,CAC1CW,SAAS,EACTF,YAAY,EACZK,YAAY,EACXE,QAAQ,IAAK,CAACC,CAAC,EAAEP,KAAK,KAAK;IAC1BM,QAAQ,CAACN,KAAK,CAAC;EACjB,CACF,CAAC;EAED,MAAMQ,UAAU,GAAGpB,KAAK,CAAC,CAAC;EAE1B,oBACEI,IAAA,CAACH,kBAAkB;IACjBW,KAAK,EAAE;MACLA,KAAK;MACLF,QAAQ;MACRI,IAAI,EAAEC,QAAQ,IAAIK;IACpB,CAAE;IAAAC,QAAA,eAEFjB,IAAA,CAACK,IAAI;MAACa,GAAG,EAAEf,YAAa;MAACgB,IAAI,EAAC,YAAY;MAAA,GAAKN;IAAU,CAAG;EAAC,CAC3C,CAAC;AAEzB,CACF,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { ChangeEvent } from 'react';
|
|
2
|
-
export
|
|
3
|
-
export interface RadioGroupContextProps {
|
|
4
|
-
value: RadioValue | undefined;
|
|
5
|
-
onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;
|
|
6
|
-
name: string | undefined;
|
|
7
|
-
}
|
|
8
|
-
export declare const RadioGroupProvider: import("react").Provider<RadioGroupContextProps | undefined>;
|
|
9
|
-
export declare const useRadioGroupContext: () => RadioGroupContextProps | undefined;
|
|
1
|
+
import type { ChangeEvent } from 'react';
|
|
2
|
+
export type RadioValue = string | number | boolean;
|
|
3
|
+
export interface RadioGroupContextProps {
|
|
4
|
+
value: RadioValue | undefined;
|
|
5
|
+
onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;
|
|
6
|
+
name: string | undefined;
|
|
7
|
+
}
|
|
8
|
+
export declare const RadioGroupProvider: import("react").Provider<RadioGroupContextProps | undefined>;
|
|
9
|
+
export declare const useRadioGroupContext: () => RadioGroupContextProps | undefined;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { createContext, useContext } from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
|
|
3
|
+
// RadioGroup Component
|
|
4
|
+
|
|
5
|
+
const RadioGroupContext = /*#__PURE__*/createContext(undefined);
|
|
6
|
+
export const {
|
|
7
|
+
Provider: RadioGroupProvider
|
|
8
|
+
} = RadioGroupContext;
|
|
9
|
+
export const useRadioGroupContext = () => useContext(RadioGroupContext);
|
|
8
10
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["createContext","useContext","RadioGroupContext","undefined","
|
|
1
|
+
{"version":3,"file":"context.js","names":["createContext","useContext","RadioGroupContext","undefined","Provider","RadioGroupProvider","useRadioGroupContext"],"sources":["../../../src/RadioButton/context.ts"],"sourcesContent":["import type { ChangeEvent } from 'react';\nimport { createContext, useContext } from 'react';\n\nexport type RadioValue = string | number | boolean;\n\n// RadioGroup Component\nexport interface RadioGroupContextProps {\n value: RadioValue | undefined;\n onChange?: (e: ChangeEvent<HTMLInputElement>, value: RadioValue) => void;\n name: string | undefined;\n}\n\nconst RadioGroupContext = createContext<RadioGroupContextProps | undefined>(\n undefined\n);\nexport const { Provider: RadioGroupProvider } = RadioGroupContext;\nexport const useRadioGroupContext = () => useContext(RadioGroupContext);\n"],"mappings":"AACA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;;AAIjD;;AAOA,MAAMC,iBAAiB,gBAAGF,aAAa,CACrCG,SACF,CAAC;AACD,OAAO,MAAM;EAAEC,QAAQ,EAAEC;AAAmB,CAAC,GAAGH,iBAAiB;AACjE,OAAO,MAAMI,oBAAoB,GAAGA,CAAA,KAAML,UAAU,CAACC,iBAAiB,CAAC","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './RadioButton';
|
|
2
|
-
export * from './RadioGroup';
|
|
1
|
+
export * from './RadioButton';
|
|
2
|
+
export * from './RadioGroup';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/RadioButton/index.ts"],"sourcesContent":["export * from './RadioButton';\
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/RadioButton/index.ts"],"sourcesContent":["export * from './RadioButton';\nexport * from './RadioGroup';\n"],"mappings":"AAAA,cAAc,eAAe;AAC7B,cAAc,cAAc","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ElementType, HTMLAttributes, ReactNode } from 'react';
|
|
2
|
-
export interface SkipNavProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
-
as?: ElementType<any>;
|
|
4
|
-
innerAs?: ElementType<any>;
|
|
5
|
-
children?: ReactNode;
|
|
6
|
-
}
|
|
7
|
-
export declare const SkipNav: import("react").ForwardRefExoticComponent<SkipNavProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
1
|
+
import type { ElementType, HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface SkipNavProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
as?: ElementType<any>;
|
|
4
|
+
innerAs?: ElementType<any>;
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare const SkipNav: import("react").ForwardRefExoticComponent<SkipNavProps & import("react").RefAttributes<HTMLDivElement>>;
|