@basic-ui/core 0.0.53 → 0.0.54
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 +88 -88
- package/build/cjs/index.js.map +1 -1
- package/build/esm/Accordion/Accordion.d.ts +9 -9
- package/build/esm/Accordion/Accordion.js.map +1 -1
- package/build/esm/Accordion/AccordionBody.d.ts +6 -6
- package/build/esm/Accordion/AccordionBody.js.map +1 -1
- package/build/esm/Accordion/AccordionHeader.d.ts +7 -7
- package/build/esm/Accordion/AccordionHeader.js.map +1 -1
- package/build/esm/Accordion/AccordionItem.d.ts +9 -9
- package/build/esm/Accordion/AccordionItem.js.map +1 -1
- package/build/esm/Accordion/context.d.ts +19 -19
- 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.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.map +1 -1
- package/build/esm/ComboBox/ComboboxButton.d.ts +9 -9
- package/build/esm/ComboBox/ComboboxButton.js.map +1 -1
- package/build/esm/ComboBox/ComboboxInput.d.ts +17 -17
- package/build/esm/ComboBox/ComboboxInput.js.map +1 -1
- package/build/esm/ComboBox/ComboboxLabel.d.ts +7 -7
- package/build/esm/ComboBox/ComboboxLabel.js.map +1 -1
- package/build/esm/ComboBox/ComboboxList.d.ts +8 -8
- package/build/esm/ComboBox/ComboboxList.js.map +1 -1
- package/build/esm/ComboBox/ComboboxOption.d.ts +11 -11
- package/build/esm/ComboBox/ComboboxOption.js.map +1 -1
- package/build/esm/ComboBox/ComboboxPopover.d.ts +9 -9
- 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.map +1 -1
- package/build/esm/ComboBox/hooks.d.ts +37 -37
- 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.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.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.map +1 -1
- package/build/esm/FocusLock/useFocusLock.d.ts +7 -7
- package/build/esm/FocusLock/useFocusLock.js.map +1 -1
- package/build/esm/List/List.d.ts +7 -7
- package/build/esm/List/List.js.map +1 -1
- package/build/esm/List/ListItem.d.ts +7 -7
- package/build/esm/List/ListItem.js.map +1 -1
- package/build/esm/List/context.d.ts +4 -4
- 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.map +1 -1
- package/build/esm/Menu/Menu.d.ts +10 -10
- package/build/esm/Menu/Menu.js.map +1 -1
- package/build/esm/Menu/MenuButton.d.ts +11 -11
- package/build/esm/Menu/MenuButton.js.map +1 -1
- package/build/esm/Menu/MenuItem.d.ts +8 -8
- package/build/esm/Menu/MenuItem.js.map +1 -1
- package/build/esm/Menu/MenuList.d.ts +7 -7
- package/build/esm/Menu/MenuList.js.map +1 -1
- package/build/esm/Menu/MenuPopover.d.ts +8 -8
- package/build/esm/Menu/MenuPopover.js.map +1 -1
- package/build/esm/Menu/context.d.ts +25 -25
- 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.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.map +1 -1
- package/build/esm/Modal/ModalBackdrop.d.ts +10 -10
- 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 +1 -2
- package/build/esm/Popper/Popper.js.map +1 -1
- package/build/esm/Popper/PopperArrow.d.ts +6 -6
- package/build/esm/Popper/PopperArrow.js.map +1 -1
- package/build/esm/Popper/context.d.ts +6 -6
- 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/PortalSelectorProvider.d.ts +8 -8
- package/build/esm/Portal/index.d.ts +2 -2
- package/build/esm/RadioButton/RadioButton.d.ts +10 -10
- package/build/esm/RadioButton/RadioButton.js.map +1 -1
- package/build/esm/RadioButton/RadioGroup.d.ts +12 -12
- package/build/esm/RadioButton/RadioGroup.js.map +1 -1
- package/build/esm/RadioButton/context.d.ts +9 -9
- 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.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 +82 -82
- 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.map +1 -1
- package/build/esm/Spinner/SpinnerButton.d.ts +8 -8
- package/build/esm/Spinner/SpinnerButton.js.map +1 -1
- package/build/esm/Spinner/context.d.ts +12 -12
- 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.map +1 -1
- package/build/esm/Tabs/TabList.d.ts +9 -9
- package/build/esm/Tabs/TabList.js.map +1 -1
- package/build/esm/Tabs/TabPanel.d.ts +8 -8
- package/build/esm/Tabs/TabPanel.js.map +1 -1
- package/build/esm/Tabs/TabPanels.d.ts +8 -8
- package/build/esm/Tabs/TabPanels.js.map +1 -1
- package/build/esm/Tabs/Tabs.d.ts +10 -10
- package/build/esm/Tabs/Tabs.js.map +1 -1
- package/build/esm/Tabs/context.d.ts +17 -17
- 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.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.map +1 -1
- package/build/esm/Tooltip/useTooltip.d.ts +10 -10
- 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.map +1 -1
- package/build/esm/hooks/useChildrenCounter.d.ts +7 -7
- package/build/esm/hooks/useChildrenCounter.js.map +1 -1
- package/build/esm/hooks/useControlledState.d.ts +3 -3
- package/build/esm/hooks/useFocusReturn.d.ts +2 -2
- package/build/esm/hooks/useFocusReturn.js.map +1 -1
- package/build/esm/hooks/useFocusState.d.ts +11 -11
- package/build/esm/hooks/useFocusState.js.map +1 -1
- package/build/esm/hooks/useGestureHandlers.d.ts +52 -52
- package/build/esm/hooks/useGestureHandlers.js.map +1 -1
- package/build/esm/hooks/useMeasure.d.ts +7 -7
- package/build/esm/hooks/useMeasure.js.map +1 -1
- package/build/esm/hooks/useOnClickOutside.d.ts +2 -2
- package/build/esm/hooks/useOnClickOutside.js.map +1 -1
- package/build/esm/hooks/useOnKeyDown.d.ts +1 -1
- package/build/esm/hooks/useOnKeyDown.js.map +1 -1
- package/build/esm/hooks/useReducerMachine.d.ts +24 -24
- package/build/esm/hooks/useReducerMachine.js.map +1 -1
- package/build/esm/hooks/useRemoveBodyScroll.d.ts +2 -2
- package/build/esm/hooks/useRemoveBodyScroll.js.map +1 -1
- package/build/esm/hooks/useScope.d.ts +11 -11
- package/build/esm/hooks/useScope.js.map +1 -1
- package/build/esm/hooks/useThrottle.d.ts +1 -1
- package/build/esm/hooks/useThrottle.js.map +1 -1
- package/build/esm/index.d.ts +15 -15
- package/build/esm/index.js.map +1 -1
- package/build/esm/utils/assign-ref.d.ts +3 -3
- 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.map +1 -1
- package/build/esm/utils/create-subscription.d.ts +4 -4
- 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.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 +5 -5
- 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.map +1 -1
- package/build/esm/utils/use-stable-callback.d.ts +16 -16
- package/build/esm/utils/use-stable-callback.js +16 -16
- 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.map +1 -1
- package/build/tsconfig-build.tsbuildinfo +1 -1
- package/package.json +2 -2
- 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 +167 -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 +111 -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 +451 -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 +56 -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 +83 -83
- package/src/Menu/MenuButton.tsx +83 -83
- package/src/Menu/MenuComplex.story.tsx +58 -58
- package/src/Menu/MenuItem.tsx +88 -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 +258 -258
- package/src/Modal/Modal.tsx +48 -48
- package/src/Modal/ModalBackdrop.tsx +78 -78
- package/src/Modal/NavDrawer.story.tsx +158 -158
- package/src/Modal/index.ts +2 -2
- package/src/Modal/styles.css +46 -46
- package/src/Popper/Popper.story.tsx +263 -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 +77 -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 +1120 -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 +50 -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/useFocusReturn.ts +43 -43
- package/src/hooks/useFocusState.ts +30 -30
- package/src/hooks/useGestureHandlers.ts +286 -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 +39 -39
- package/src/hooks/useScope.ts +52 -52
- package/src/hooks/useThrottle.ts +19 -19
- package/src/index.ts +20 -20
- 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 +78 -78
- package/src/utils/rubber-band-clamp.ts +25 -25
- package/src/utils/use-stable-callback.ts +58 -58
- package/src/utils/wrap-event.ts +22 -22
- package/build/esm/Carousel/Carousel.d.ts +0 -9
- package/build/esm/Carousel/Carousel.js +0 -38
- package/build/esm/Carousel/Carousel.js.map +0 -1
- package/build/esm/Carousel/Fader.d.ts +0 -14
- package/build/esm/Carousel/Fader.js +0 -76
- package/build/esm/Carousel/Fader.js.map +0 -1
- package/build/esm/Carousel/FaderItem.d.ts +0 -5
- package/build/esm/Carousel/FaderItem.js +0 -16
- package/build/esm/Carousel/FaderItem.js.map +0 -1
- package/build/esm/Carousel/Preloader.d.ts +0 -7
- package/build/esm/Carousel/Preloader.js +0 -70
- package/build/esm/Carousel/Preloader.js.map +0 -1
- package/build/esm/Carousel/Slider.d.ts +0 -14
- package/build/esm/Carousel/Slider.js +0 -212
- package/build/esm/Carousel/Slider.js.map +0 -1
- package/build/esm/Carousel/SliderItem.d.ts +0 -12
- package/build/esm/Carousel/SliderItem.js +0 -41
- package/build/esm/Carousel/SliderItem.js.map +0 -1
- package/build/esm/Carousel/context.d.ts +0 -10
- package/build/esm/Carousel/context.js +0 -8
- package/build/esm/Carousel/context.js.map +0 -1
- package/build/esm/Carousel/getSliderParams.d.ts +0 -9
- package/build/esm/Carousel/getSliderParams.js +0 -85
- package/build/esm/Carousel/getSliderParams.js.map +0 -1
- package/build/esm/Carousel/index.d.ts +0 -7
- package/build/esm/Carousel/index.js +0 -8
- package/build/esm/Carousel/index.js.map +0 -1
- package/build/esm/Carousel/useCarouselGestures.d.ts +0 -30
- package/build/esm/Carousel/useCarouselGestures.js +0 -33
- package/build/esm/Carousel/useCarouselGestures.js.map +0 -1
- package/build/esm/DatePicker/DatePicker.d.ts +0 -24
- package/build/esm/DatePicker/DatePicker.js +0 -101
- package/build/esm/DatePicker/DatePicker.js.map +0 -1
- package/build/esm/DatePicker/DatePickerSelect.d.ts +0 -8
- package/build/esm/DatePicker/DatePickerSelect.js +0 -201
- package/build/esm/DatePicker/DatePickerSelect.js.map +0 -1
- package/build/esm/DatePicker/RangeDatePicker.d.ts +0 -28
- package/build/esm/DatePicker/RangeDatePicker.js +0 -94
- package/build/esm/DatePicker/RangeDatePicker.js.map +0 -1
- package/build/esm/DatePicker/adjustDates.d.ts +0 -4
- package/build/esm/DatePicker/adjustDates.js +0 -18
- package/build/esm/DatePicker/adjustDates.js.map +0 -1
- package/build/esm/DatePicker/contexts.d.ts +0 -31
- package/build/esm/DatePicker/contexts.js +0 -15
- package/build/esm/DatePicker/contexts.js.map +0 -1
- package/build/esm/DatePicker/dateTypes.d.ts +0 -2
- package/build/esm/DatePicker/dateTypes.js +0 -2
- package/build/esm/DatePicker/dateTypes.js.map +0 -1
- package/build/esm/DatePicker/hooks.d.ts +0 -36
- package/build/esm/DatePicker/hooks.js +0 -98
- package/build/esm/DatePicker/hooks.js.map +0 -1
- package/build/esm/DatePicker/index.d.ts +0 -5
- package/build/esm/DatePicker/index.js +0 -6
- package/build/esm/DatePicker/index.js.map +0 -1
- package/build/esm/hooks/useId.d.ts +0 -1
- package/build/esm/hooks/useId.js +0 -25
- package/build/esm/hooks/useId.js.map +0 -1
- package/build/esm/utils/assignRef.d.ts +0 -3
- package/build/esm/utils/assignRef.js +0 -25
- package/build/esm/utils/assignRef.js.map +0 -1
- package/build/esm/utils/getCircularIndex.d.ts +0 -1
- package/build/esm/utils/getCircularIndex.js +0 -8
- package/build/esm/utils/getCircularIndex.js.map +0 -1
- package/build/esm/utils/rubberBandClamp.d.ts +0 -2
- package/build/esm/utils/rubberBandClamp.js +0 -20
- package/build/esm/utils/rubberBandClamp.js.map +0 -1
- package/build/esm/utils/wrapEvent.d.ts +0 -3
- package/build/esm/utils/wrapEvent.js +0 -16
- package/build/esm/utils/wrapEvent.js.map +0 -1
- package/build/tsconfig.tsbuildinfo +0 -7270
|
@@ -1,197 +1,197 @@
|
|
|
1
|
-
import type { ReactNode, KeyboardEvent } from 'react';
|
|
2
|
-
import type * as Polymorphic from '../utils/polymorphic';
|
|
3
|
-
declare type SliderOrientation = 'horizontal' | 'vertical';
|
|
4
|
-
declare type SliderHandleAlignment = 'center' | 'contain';
|
|
5
|
-
/**
|
|
6
|
-
* Slider
|
|
7
|
-
*
|
|
8
|
-
* @see Docs https://reach.tech/slider#slider
|
|
9
|
-
*/
|
|
10
|
-
declare const Slider: Polymorphic.ForwardRefComponent<"div", SliderProps>;
|
|
11
|
-
/**
|
|
12
|
-
* @see Docs https://reach.tech/slider#slider-props
|
|
13
|
-
*/
|
|
14
|
-
interface SliderProps {
|
|
15
|
-
/**
|
|
16
|
-
* `Slider` can accept `SliderMarker` children to enhance display of specific
|
|
17
|
-
* values along the track.
|
|
18
|
-
*
|
|
19
|
-
* @see Docs https://reach.tech/slider#slider-children
|
|
20
|
-
*/
|
|
21
|
-
children?: ReactNode;
|
|
22
|
-
/**
|
|
23
|
-
* The defaultValue is used to set an initial value for an uncontrolled
|
|
24
|
-
* Slider.
|
|
25
|
-
*
|
|
26
|
-
* @see Docs https://reach.tech/slider#slider-defaultvalue
|
|
27
|
-
*/
|
|
28
|
-
defaultValue?: number;
|
|
29
|
-
/**
|
|
30
|
-
* @see Docs https://reach.tech/slider#slider-disabled
|
|
31
|
-
*/
|
|
32
|
-
disabled?: boolean;
|
|
33
|
-
/**
|
|
34
|
-
* Whether or not the slider should be disabled from user interaction.
|
|
35
|
-
*
|
|
36
|
-
* @see Docs https://reach.tech/slider#slider-value
|
|
37
|
-
*/
|
|
38
|
-
value?: number;
|
|
39
|
-
/**
|
|
40
|
-
* A function used to set a human-readable name for the slider.
|
|
41
|
-
*
|
|
42
|
-
* @see Docs https://reach.tech/slider#slider-getarialabel
|
|
43
|
-
*/
|
|
44
|
-
getAriaLabel?(value: number): string;
|
|
45
|
-
/**
|
|
46
|
-
* A function used to set a human-readable value text based on the slider's
|
|
47
|
-
* current value.
|
|
48
|
-
*
|
|
49
|
-
* @see Docs https://reach.tech/slider#slider-getariavaluetext
|
|
50
|
-
*/
|
|
51
|
-
getAriaValueText?(value: number): string;
|
|
52
|
-
/**
|
|
53
|
-
* When set to `center`, the slider's handle will be positioned directly
|
|
54
|
-
* centered over the slider's curremt value on the track. This means that when
|
|
55
|
-
* the slider is at its min or max value, a visiable slider handle will extend
|
|
56
|
-
* beyond the width (or height in vertical mode) of the slider track. When set
|
|
57
|
-
* to `contain`, the slider handle will always be contained within the bounds
|
|
58
|
-
* of the track, meaning its position will be slightly offset from the actual
|
|
59
|
-
* value depending on where it sits on the track.
|
|
60
|
-
*
|
|
61
|
-
* @see Docs https://reach.tech/slider#slider-handlealignment
|
|
62
|
-
*/
|
|
63
|
-
handleAlignment?: SliderHandleAlignment;
|
|
64
|
-
/**
|
|
65
|
-
* The maximum value of the slider. Defaults to `100`.
|
|
66
|
-
*
|
|
67
|
-
* @see Docs https://reach.tech/slider#slider-max
|
|
68
|
-
*/
|
|
69
|
-
max?: number;
|
|
70
|
-
/**
|
|
71
|
-
* The minimum value of the slider. Defaults to `0`.
|
|
72
|
-
*
|
|
73
|
-
* @see Docs https://reach.tech/slider#slider-min
|
|
74
|
-
*/
|
|
75
|
-
min?: number;
|
|
76
|
-
/**
|
|
77
|
-
* If the slider is used as a form input, it should accept a `name` prop to
|
|
78
|
-
* identify its value in context of the form.
|
|
79
|
-
*
|
|
80
|
-
* @see Docs https://reach.tech/slider#slider-name
|
|
81
|
-
*/
|
|
82
|
-
name?: string;
|
|
83
|
-
/**
|
|
84
|
-
* Callback that fires when the slider value changes. When the `value` prop is
|
|
85
|
-
* set, the Slider state becomes controlled and `onChange` must be used to
|
|
86
|
-
* update the value in response to user interaction.
|
|
87
|
-
*
|
|
88
|
-
* @see Docs https://reach.tech/slider#slider-onchange
|
|
89
|
-
*/
|
|
90
|
-
onChange?(e: SomePointerEvent | KeyboardEvent, newValue: number, props?: {
|
|
91
|
-
min?: number;
|
|
92
|
-
max?: number;
|
|
93
|
-
handlePosition?: string;
|
|
94
|
-
}): void;
|
|
95
|
-
onMouseDown?(event: MouseEvent): void;
|
|
96
|
-
onMouseMove?(event: MouseEvent): void;
|
|
97
|
-
onMouseUp?(event: MouseEvent): void;
|
|
98
|
-
onPointerDown?(event: PointerEvent): void;
|
|
99
|
-
onPointerUp?(event: PointerEvent): void;
|
|
100
|
-
onTouchEnd?(event: TouchEvent): void;
|
|
101
|
-
onTouchMove?(event: TouchEvent): void;
|
|
102
|
-
onTouchStart?(event: TouchEvent): void;
|
|
103
|
-
/**
|
|
104
|
-
* Sets the slider to horizontal or vertical mode.
|
|
105
|
-
*
|
|
106
|
-
* @see Docs https://reach.tech/slider#slider-orientation
|
|
107
|
-
*/
|
|
108
|
-
orientation?: SliderOrientation;
|
|
109
|
-
/**
|
|
110
|
-
* The step attribute is a number that specifies the granularity that the
|
|
111
|
-
* value must adhere to as it changes. Step sets minimum intervals of change,
|
|
112
|
-
* creating a "snap" effect when the handle is moved along the track.
|
|
113
|
-
*
|
|
114
|
-
* @see Docs https://reach.tech/slider#slider-step
|
|
115
|
-
*/
|
|
116
|
-
step?: number;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* SliderInput
|
|
120
|
-
*
|
|
121
|
-
* The parent component of the slider interface. This is a lower level component
|
|
122
|
-
* if you need more control over styles or rendering the slider's inner
|
|
123
|
-
* components.
|
|
124
|
-
*
|
|
125
|
-
* @see Docs https://reach.tech/slider#sliderinput
|
|
126
|
-
*/
|
|
127
|
-
declare const SliderInput: Polymorphic.ForwardRefComponent<"div", SliderInputProps>;
|
|
128
|
-
/**
|
|
129
|
-
* @see Docs https://reach.tech/slider#sliderinput-props
|
|
130
|
-
*/
|
|
131
|
-
declare type SliderInputProps = Omit<SliderProps, 'children'> & {
|
|
132
|
-
/**
|
|
133
|
-
* Slider expects `<SliderTrack>` as its child; The track will accept all
|
|
134
|
-
* additional slider sub-components as children. It can also accept a
|
|
135
|
-
* function/render prop as its child to expose some of its internal state
|
|
136
|
-
* variables.
|
|
137
|
-
*
|
|
138
|
-
* @see Docs https://reach.tech/slider#sliderinput-children
|
|
139
|
-
*/
|
|
140
|
-
children: ReactNode | SliderChildrenRender;
|
|
141
|
-
};
|
|
142
|
-
declare const SliderTrack: Polymorphic.MemoComponent<"div", SliderTrackProps>;
|
|
143
|
-
/**
|
|
144
|
-
* @see Docs https://reach.tech/slider#slidertrack-props
|
|
145
|
-
*/
|
|
146
|
-
interface SliderTrackProps {
|
|
147
|
-
/**
|
|
148
|
-
* `SliderTrack` expects `<SliderHandle>`, at minimum, for the Slider to
|
|
149
|
-
* function. All other Slider subcomponents should be passed as children
|
|
150
|
-
* inside the `SliderTrack`.
|
|
151
|
-
*
|
|
152
|
-
* @see Docs https://reach.tech/slider#slidertrack-children
|
|
153
|
-
*/
|
|
154
|
-
children: ReactNode;
|
|
155
|
-
}
|
|
156
|
-
declare const SliderRange: Polymorphic.MemoComponent<"div", SliderRangeProps>;
|
|
157
|
-
/**
|
|
158
|
-
* `SliderRange` accepts any props that a HTML div component accepts.
|
|
159
|
-
* `SliderRange` will not accept or render any children.
|
|
160
|
-
*
|
|
161
|
-
* @see Docs https://reach.tech/slider#sliderrange-props
|
|
162
|
-
*/
|
|
163
|
-
interface SliderRangeProps {
|
|
164
|
-
}
|
|
165
|
-
declare const SliderHandle: Polymorphic.MemoComponent<"div", SliderHandleProps>;
|
|
166
|
-
/**
|
|
167
|
-
* `SliderRange` accepts any props that a HTML div component accepts.
|
|
168
|
-
*
|
|
169
|
-
* @see Docs https://reach.tech/slider#sliderhandle-props
|
|
170
|
-
*/
|
|
171
|
-
interface SliderHandleProps {
|
|
172
|
-
}
|
|
173
|
-
declare const SliderMarker: Polymorphic.MemoComponent<"div", SliderMarkerProps>;
|
|
174
|
-
/**
|
|
175
|
-
* @see Docs https://reach.tech/slider#slidermarker-props
|
|
176
|
-
*/
|
|
177
|
-
interface SliderMarkerProps {
|
|
178
|
-
/**
|
|
179
|
-
* The value to denote where the marker should appear along the track.
|
|
180
|
-
*
|
|
181
|
-
* @see Docs https://reach.tech/slider#slidermarker-value
|
|
182
|
-
*/
|
|
183
|
-
value: number;
|
|
184
|
-
}
|
|
185
|
-
declare type SomePointerEvent = TouchEvent | MouseEvent;
|
|
186
|
-
declare type SliderChildrenRender = (props: {
|
|
187
|
-
ariaValueText?: string | undefined;
|
|
188
|
-
hasFocus?: boolean;
|
|
189
|
-
id?: string | undefined;
|
|
190
|
-
sliderId?: string | undefined;
|
|
191
|
-
max?: number;
|
|
192
|
-
min?: number;
|
|
193
|
-
value?: number;
|
|
194
|
-
}) => JSX.Element;
|
|
195
|
-
export default Slider;
|
|
196
|
-
export type { SliderHandleProps, SliderInputProps, SliderMarkerProps, SliderProps, SliderRangeProps, SliderTrackProps, SliderHandleAlignment, SliderOrientation, };
|
|
197
|
-
export { Slider, SliderHandle, SliderInput, SliderMarker, SliderTrack, SliderRange, };
|
|
1
|
+
import type { ReactNode, KeyboardEvent } from 'react';
|
|
2
|
+
import type * as Polymorphic from '../utils/polymorphic';
|
|
3
|
+
declare type SliderOrientation = 'horizontal' | 'vertical';
|
|
4
|
+
declare type SliderHandleAlignment = 'center' | 'contain';
|
|
5
|
+
/**
|
|
6
|
+
* Slider
|
|
7
|
+
*
|
|
8
|
+
* @see Docs https://reach.tech/slider#slider
|
|
9
|
+
*/
|
|
10
|
+
declare const Slider: Polymorphic.ForwardRefComponent<"div", SliderProps>;
|
|
11
|
+
/**
|
|
12
|
+
* @see Docs https://reach.tech/slider#slider-props
|
|
13
|
+
*/
|
|
14
|
+
interface SliderProps {
|
|
15
|
+
/**
|
|
16
|
+
* `Slider` can accept `SliderMarker` children to enhance display of specific
|
|
17
|
+
* values along the track.
|
|
18
|
+
*
|
|
19
|
+
* @see Docs https://reach.tech/slider#slider-children
|
|
20
|
+
*/
|
|
21
|
+
children?: ReactNode;
|
|
22
|
+
/**
|
|
23
|
+
* The defaultValue is used to set an initial value for an uncontrolled
|
|
24
|
+
* Slider.
|
|
25
|
+
*
|
|
26
|
+
* @see Docs https://reach.tech/slider#slider-defaultvalue
|
|
27
|
+
*/
|
|
28
|
+
defaultValue?: number;
|
|
29
|
+
/**
|
|
30
|
+
* @see Docs https://reach.tech/slider#slider-disabled
|
|
31
|
+
*/
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Whether or not the slider should be disabled from user interaction.
|
|
35
|
+
*
|
|
36
|
+
* @see Docs https://reach.tech/slider#slider-value
|
|
37
|
+
*/
|
|
38
|
+
value?: number;
|
|
39
|
+
/**
|
|
40
|
+
* A function used to set a human-readable name for the slider.
|
|
41
|
+
*
|
|
42
|
+
* @see Docs https://reach.tech/slider#slider-getarialabel
|
|
43
|
+
*/
|
|
44
|
+
getAriaLabel?(value: number): string;
|
|
45
|
+
/**
|
|
46
|
+
* A function used to set a human-readable value text based on the slider's
|
|
47
|
+
* current value.
|
|
48
|
+
*
|
|
49
|
+
* @see Docs https://reach.tech/slider#slider-getariavaluetext
|
|
50
|
+
*/
|
|
51
|
+
getAriaValueText?(value: number): string;
|
|
52
|
+
/**
|
|
53
|
+
* When set to `center`, the slider's handle will be positioned directly
|
|
54
|
+
* centered over the slider's curremt value on the track. This means that when
|
|
55
|
+
* the slider is at its min or max value, a visiable slider handle will extend
|
|
56
|
+
* beyond the width (or height in vertical mode) of the slider track. When set
|
|
57
|
+
* to `contain`, the slider handle will always be contained within the bounds
|
|
58
|
+
* of the track, meaning its position will be slightly offset from the actual
|
|
59
|
+
* value depending on where it sits on the track.
|
|
60
|
+
*
|
|
61
|
+
* @see Docs https://reach.tech/slider#slider-handlealignment
|
|
62
|
+
*/
|
|
63
|
+
handleAlignment?: SliderHandleAlignment;
|
|
64
|
+
/**
|
|
65
|
+
* The maximum value of the slider. Defaults to `100`.
|
|
66
|
+
*
|
|
67
|
+
* @see Docs https://reach.tech/slider#slider-max
|
|
68
|
+
*/
|
|
69
|
+
max?: number;
|
|
70
|
+
/**
|
|
71
|
+
* The minimum value of the slider. Defaults to `0`.
|
|
72
|
+
*
|
|
73
|
+
* @see Docs https://reach.tech/slider#slider-min
|
|
74
|
+
*/
|
|
75
|
+
min?: number;
|
|
76
|
+
/**
|
|
77
|
+
* If the slider is used as a form input, it should accept a `name` prop to
|
|
78
|
+
* identify its value in context of the form.
|
|
79
|
+
*
|
|
80
|
+
* @see Docs https://reach.tech/slider#slider-name
|
|
81
|
+
*/
|
|
82
|
+
name?: string;
|
|
83
|
+
/**
|
|
84
|
+
* Callback that fires when the slider value changes. When the `value` prop is
|
|
85
|
+
* set, the Slider state becomes controlled and `onChange` must be used to
|
|
86
|
+
* update the value in response to user interaction.
|
|
87
|
+
*
|
|
88
|
+
* @see Docs https://reach.tech/slider#slider-onchange
|
|
89
|
+
*/
|
|
90
|
+
onChange?(e: SomePointerEvent | KeyboardEvent, newValue: number, props?: {
|
|
91
|
+
min?: number;
|
|
92
|
+
max?: number;
|
|
93
|
+
handlePosition?: string;
|
|
94
|
+
}): void;
|
|
95
|
+
onMouseDown?(event: MouseEvent): void;
|
|
96
|
+
onMouseMove?(event: MouseEvent): void;
|
|
97
|
+
onMouseUp?(event: MouseEvent): void;
|
|
98
|
+
onPointerDown?(event: PointerEvent): void;
|
|
99
|
+
onPointerUp?(event: PointerEvent): void;
|
|
100
|
+
onTouchEnd?(event: TouchEvent): void;
|
|
101
|
+
onTouchMove?(event: TouchEvent): void;
|
|
102
|
+
onTouchStart?(event: TouchEvent): void;
|
|
103
|
+
/**
|
|
104
|
+
* Sets the slider to horizontal or vertical mode.
|
|
105
|
+
*
|
|
106
|
+
* @see Docs https://reach.tech/slider#slider-orientation
|
|
107
|
+
*/
|
|
108
|
+
orientation?: SliderOrientation;
|
|
109
|
+
/**
|
|
110
|
+
* The step attribute is a number that specifies the granularity that the
|
|
111
|
+
* value must adhere to as it changes. Step sets minimum intervals of change,
|
|
112
|
+
* creating a "snap" effect when the handle is moved along the track.
|
|
113
|
+
*
|
|
114
|
+
* @see Docs https://reach.tech/slider#slider-step
|
|
115
|
+
*/
|
|
116
|
+
step?: number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* SliderInput
|
|
120
|
+
*
|
|
121
|
+
* The parent component of the slider interface. This is a lower level component
|
|
122
|
+
* if you need more control over styles or rendering the slider's inner
|
|
123
|
+
* components.
|
|
124
|
+
*
|
|
125
|
+
* @see Docs https://reach.tech/slider#sliderinput
|
|
126
|
+
*/
|
|
127
|
+
declare const SliderInput: Polymorphic.ForwardRefComponent<"div", SliderInputProps>;
|
|
128
|
+
/**
|
|
129
|
+
* @see Docs https://reach.tech/slider#sliderinput-props
|
|
130
|
+
*/
|
|
131
|
+
declare type SliderInputProps = Omit<SliderProps, 'children'> & {
|
|
132
|
+
/**
|
|
133
|
+
* Slider expects `<SliderTrack>` as its child; The track will accept all
|
|
134
|
+
* additional slider sub-components as children. It can also accept a
|
|
135
|
+
* function/render prop as its child to expose some of its internal state
|
|
136
|
+
* variables.
|
|
137
|
+
*
|
|
138
|
+
* @see Docs https://reach.tech/slider#sliderinput-children
|
|
139
|
+
*/
|
|
140
|
+
children: ReactNode | SliderChildrenRender;
|
|
141
|
+
};
|
|
142
|
+
declare const SliderTrack: Polymorphic.MemoComponent<"div", SliderTrackProps>;
|
|
143
|
+
/**
|
|
144
|
+
* @see Docs https://reach.tech/slider#slidertrack-props
|
|
145
|
+
*/
|
|
146
|
+
interface SliderTrackProps {
|
|
147
|
+
/**
|
|
148
|
+
* `SliderTrack` expects `<SliderHandle>`, at minimum, for the Slider to
|
|
149
|
+
* function. All other Slider subcomponents should be passed as children
|
|
150
|
+
* inside the `SliderTrack`.
|
|
151
|
+
*
|
|
152
|
+
* @see Docs https://reach.tech/slider#slidertrack-children
|
|
153
|
+
*/
|
|
154
|
+
children: ReactNode;
|
|
155
|
+
}
|
|
156
|
+
declare const SliderRange: Polymorphic.MemoComponent<"div", SliderRangeProps>;
|
|
157
|
+
/**
|
|
158
|
+
* `SliderRange` accepts any props that a HTML div component accepts.
|
|
159
|
+
* `SliderRange` will not accept or render any children.
|
|
160
|
+
*
|
|
161
|
+
* @see Docs https://reach.tech/slider#sliderrange-props
|
|
162
|
+
*/
|
|
163
|
+
interface SliderRangeProps {
|
|
164
|
+
}
|
|
165
|
+
declare const SliderHandle: Polymorphic.MemoComponent<"div", SliderHandleProps>;
|
|
166
|
+
/**
|
|
167
|
+
* `SliderRange` accepts any props that a HTML div component accepts.
|
|
168
|
+
*
|
|
169
|
+
* @see Docs https://reach.tech/slider#sliderhandle-props
|
|
170
|
+
*/
|
|
171
|
+
interface SliderHandleProps {
|
|
172
|
+
}
|
|
173
|
+
declare const SliderMarker: Polymorphic.MemoComponent<"div", SliderMarkerProps>;
|
|
174
|
+
/**
|
|
175
|
+
* @see Docs https://reach.tech/slider#slidermarker-props
|
|
176
|
+
*/
|
|
177
|
+
interface SliderMarkerProps {
|
|
178
|
+
/**
|
|
179
|
+
* The value to denote where the marker should appear along the track.
|
|
180
|
+
*
|
|
181
|
+
* @see Docs https://reach.tech/slider#slidermarker-value
|
|
182
|
+
*/
|
|
183
|
+
value: number;
|
|
184
|
+
}
|
|
185
|
+
declare type SomePointerEvent = TouchEvent | MouseEvent;
|
|
186
|
+
declare type SliderChildrenRender = (props: {
|
|
187
|
+
ariaValueText?: string | undefined;
|
|
188
|
+
hasFocus?: boolean;
|
|
189
|
+
id?: string | undefined;
|
|
190
|
+
sliderId?: string | undefined;
|
|
191
|
+
max?: number;
|
|
192
|
+
min?: number;
|
|
193
|
+
value?: number;
|
|
194
|
+
}) => JSX.Element;
|
|
195
|
+
export default Slider;
|
|
196
|
+
export type { SliderHandleProps, SliderInputProps, SliderMarkerProps, SliderProps, SliderRangeProps, SliderTrackProps, SliderHandleAlignment, SliderOrientation, };
|
|
197
|
+
export { Slider, SliderHandle, SliderInput, SliderMarker, SliderTrack, SliderRange, };
|
|
@@ -12,26 +12,26 @@ var _excluded = ["children"],
|
|
|
12
12
|
|
|
13
13
|
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
14
14
|
|
|
15
|
-
/**
|
|
16
|
-
* Welcome to @reach/slider!
|
|
17
|
-
*
|
|
18
|
-
* A UI input component where the user selects a value from within a given
|
|
19
|
-
* range. A Slider has a handle that can be moved along a track to change its
|
|
20
|
-
* value. When the user's mouse or focus is on the Slider's handle, the value
|
|
21
|
-
* can be incremented with keyboard controls.
|
|
22
|
-
*
|
|
23
|
-
* Random thoughts/notes:
|
|
24
|
-
* - Currently testing this against the behavior of the native input range
|
|
25
|
-
* element to get our slider on par. We'll explore animated and multi-handle
|
|
26
|
-
* sliders next.
|
|
27
|
-
* - We may want to research some use cases for reversed sliders in RTL
|
|
28
|
-
* languages if that's a thing
|
|
29
|
-
*
|
|
30
|
-
* @see Docs https://reach.tech/slider
|
|
31
|
-
* @see Source https://github.com/reach/reach-ui/tree/main/packages/slider
|
|
32
|
-
* @see WAI-ARIA https://www.w3.org/TR/wai-aria-practices-1.2/#slider
|
|
33
|
-
* @see Example https://github.com/Stanko/aria-progress-range-slider
|
|
34
|
-
* @see Example http://www.oaa-accessibility.org/examplep/slider1/
|
|
15
|
+
/**
|
|
16
|
+
* Welcome to @reach/slider!
|
|
17
|
+
*
|
|
18
|
+
* A UI input component where the user selects a value from within a given
|
|
19
|
+
* range. A Slider has a handle that can be moved along a track to change its
|
|
20
|
+
* value. When the user's mouse or focus is on the Slider's handle, the value
|
|
21
|
+
* can be incremented with keyboard controls.
|
|
22
|
+
*
|
|
23
|
+
* Random thoughts/notes:
|
|
24
|
+
* - Currently testing this against the behavior of the native input range
|
|
25
|
+
* element to get our slider on par. We'll explore animated and multi-handle
|
|
26
|
+
* sliders next.
|
|
27
|
+
* - We may want to research some use cases for reversed sliders in RTL
|
|
28
|
+
* languages if that's a thing
|
|
29
|
+
*
|
|
30
|
+
* @see Docs https://reach.tech/slider
|
|
31
|
+
* @see Source https://github.com/reach/reach-ui/tree/main/packages/slider
|
|
32
|
+
* @see WAI-ARIA https://www.w3.org/TR/wai-aria-practices-1.2/#slider
|
|
33
|
+
* @see Example https://github.com/Stanko/aria-progress-range-slider
|
|
34
|
+
* @see Example http://www.oaa-accessibility.org/examplep/slider1/
|
|
35
35
|
*/
|
|
36
36
|
import { forwardRef, memo, useRef, useState, useCallback, useEffect, useLayoutEffect, useId } from 'react';
|
|
37
37
|
import { createContext } from '../utils/context';
|
|
@@ -52,10 +52,10 @@ var _createContext = createContext('Slider'),
|
|
|
52
52
|
SliderProvider = _createContext2[0],
|
|
53
53
|
useSliderContext = _createContext2[1]; ////////////////////////////////////////////////////////////////////////////////
|
|
54
54
|
|
|
55
|
-
/**
|
|
56
|
-
* Slider
|
|
57
|
-
*
|
|
58
|
-
* @see Docs https://reach.tech/slider#slider
|
|
55
|
+
/**
|
|
56
|
+
* Slider
|
|
57
|
+
*
|
|
58
|
+
* @see Docs https://reach.tech/slider#slider
|
|
59
59
|
*/
|
|
60
60
|
|
|
61
61
|
|
|
@@ -71,20 +71,20 @@ var Slider = /*#__PURE__*/forwardRef(function Slider(_ref, forwardedRef) {
|
|
|
71
71
|
})
|
|
72
72
|
}));
|
|
73
73
|
});
|
|
74
|
-
/**
|
|
75
|
-
* @see Docs https://reach.tech/slider#slider-props
|
|
74
|
+
/**
|
|
75
|
+
* @see Docs https://reach.tech/slider#slider-props
|
|
76
76
|
*/
|
|
77
77
|
|
|
78
78
|
////////////////////////////////////////////////////////////////////////////////
|
|
79
79
|
|
|
80
|
-
/**
|
|
81
|
-
* SliderInput
|
|
82
|
-
*
|
|
83
|
-
* The parent component of the slider interface. This is a lower level component
|
|
84
|
-
* if you need more control over styles or rendering the slider's inner
|
|
85
|
-
* components.
|
|
86
|
-
*
|
|
87
|
-
* @see Docs https://reach.tech/slider#sliderinput
|
|
80
|
+
/**
|
|
81
|
+
* SliderInput
|
|
82
|
+
*
|
|
83
|
+
* The parent component of the slider interface. This is a lower level component
|
|
84
|
+
* if you need more control over styles or rendering the slider's inner
|
|
85
|
+
* components.
|
|
86
|
+
*
|
|
87
|
+
* @see Docs https://reach.tech/slider#sliderinput
|
|
88
88
|
*/
|
|
89
89
|
var SliderInput = /*#__PURE__*/forwardRef(function SliderInput(_ref2, forwardedRef) {
|
|
90
90
|
var ariaLabel = _ref2['aria-label'],
|
|
@@ -473,16 +473,16 @@ var SliderInput = /*#__PURE__*/forwardRef(function SliderInput(_ref2, forwardedR
|
|
|
473
473
|
}))
|
|
474
474
|
});
|
|
475
475
|
});
|
|
476
|
-
/**
|
|
477
|
-
* @see Docs https://reach.tech/slider#sliderinput-props
|
|
476
|
+
/**
|
|
477
|
+
* @see Docs https://reach.tech/slider#sliderinput-props
|
|
478
478
|
*/
|
|
479
479
|
|
|
480
480
|
////////////////////////////////////////////////////////////////////////////////
|
|
481
481
|
|
|
482
|
-
/**
|
|
483
|
-
* SliderTrack
|
|
484
|
-
*
|
|
485
|
-
* @see Docs https://reach.tech/slider#slidertrack
|
|
482
|
+
/**
|
|
483
|
+
* SliderTrack
|
|
484
|
+
*
|
|
485
|
+
* @see Docs https://reach.tech/slider#slidertrack
|
|
486
486
|
*/
|
|
487
487
|
var SliderTrackImpl = /*#__PURE__*/forwardRef(function SliderTrack(_ref3, forwardedRef) {
|
|
488
488
|
var _ref3$as = _ref3.as,
|
|
@@ -513,19 +513,19 @@ var SliderTrackImpl = /*#__PURE__*/forwardRef(function SliderTrack(_ref3, forwar
|
|
|
513
513
|
}));
|
|
514
514
|
});
|
|
515
515
|
var SliderTrack = /*#__PURE__*/memo(SliderTrackImpl);
|
|
516
|
-
/**
|
|
517
|
-
* @see Docs https://reach.tech/slider#slidertrack-props
|
|
516
|
+
/**
|
|
517
|
+
* @see Docs https://reach.tech/slider#slidertrack-props
|
|
518
518
|
*/
|
|
519
519
|
|
|
520
520
|
////////////////////////////////////////////////////////////////////////////////
|
|
521
521
|
|
|
522
|
-
/**
|
|
523
|
-
* SliderRange
|
|
524
|
-
*
|
|
525
|
-
* The (typically) highlighted portion of the track that represents the space
|
|
526
|
-
* between the slider's `min` value and its current value.
|
|
527
|
-
*
|
|
528
|
-
* @see Docs https://reach.tech/slider#sliderrange
|
|
522
|
+
/**
|
|
523
|
+
* SliderRange
|
|
524
|
+
*
|
|
525
|
+
* The (typically) highlighted portion of the track that represents the space
|
|
526
|
+
* between the slider's `min` value and its current value.
|
|
527
|
+
*
|
|
528
|
+
* @see Docs https://reach.tech/slider#sliderrange
|
|
529
529
|
*/
|
|
530
530
|
var SliderRangeImpl = /*#__PURE__*/forwardRef(function SliderRange(_ref4, forwardedRef) {
|
|
531
531
|
var _ref4$as = _ref4.as,
|
|
@@ -555,22 +555,22 @@ var SliderRangeImpl = /*#__PURE__*/forwardRef(function SliderRange(_ref4, forwar
|
|
|
555
555
|
}));
|
|
556
556
|
});
|
|
557
557
|
var SliderRange = /*#__PURE__*/memo(SliderRangeImpl);
|
|
558
|
-
/**
|
|
559
|
-
* `SliderRange` accepts any props that a HTML div component accepts.
|
|
560
|
-
* `SliderRange` will not accept or render any children.
|
|
561
|
-
*
|
|
562
|
-
* @see Docs https://reach.tech/slider#sliderrange-props
|
|
558
|
+
/**
|
|
559
|
+
* `SliderRange` accepts any props that a HTML div component accepts.
|
|
560
|
+
* `SliderRange` will not accept or render any children.
|
|
561
|
+
*
|
|
562
|
+
* @see Docs https://reach.tech/slider#sliderrange-props
|
|
563
563
|
*/
|
|
564
564
|
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
565
565
|
|
|
566
566
|
////////////////////////////////////////////////////////////////////////////////
|
|
567
567
|
|
|
568
|
-
/**
|
|
569
|
-
* SliderHandle
|
|
570
|
-
*
|
|
571
|
-
* The handle that the user drags along the track to set the slider value.
|
|
572
|
-
*
|
|
573
|
-
* @see Docs https://reach.tech/slider#sliderhandle
|
|
568
|
+
/**
|
|
569
|
+
* SliderHandle
|
|
570
|
+
*
|
|
571
|
+
* The handle that the user drags along the track to set the slider value.
|
|
572
|
+
*
|
|
573
|
+
* @see Docs https://reach.tech/slider#sliderhandle
|
|
574
574
|
*/
|
|
575
575
|
var SliderHandleImpl = /*#__PURE__*/forwardRef(function SliderHandle(_ref5, forwardedRef) {
|
|
576
576
|
var _ref5$as = _ref5.as,
|
|
@@ -656,22 +656,22 @@ var SliderHandleImpl = /*#__PURE__*/forwardRef(function SliderHandle(_ref5, forw
|
|
|
656
656
|
}));
|
|
657
657
|
});
|
|
658
658
|
var SliderHandle = /*#__PURE__*/memo(SliderHandleImpl);
|
|
659
|
-
/**
|
|
660
|
-
* `SliderRange` accepts any props that a HTML div component accepts.
|
|
661
|
-
*
|
|
662
|
-
* @see Docs https://reach.tech/slider#sliderhandle-props
|
|
659
|
+
/**
|
|
660
|
+
* `SliderRange` accepts any props that a HTML div component accepts.
|
|
661
|
+
*
|
|
662
|
+
* @see Docs https://reach.tech/slider#sliderhandle-props
|
|
663
663
|
*/
|
|
664
664
|
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
665
665
|
|
|
666
666
|
////////////////////////////////////////////////////////////////////////////////
|
|
667
667
|
|
|
668
|
-
/**
|
|
669
|
-
* SliderMarker
|
|
670
|
-
*
|
|
671
|
-
* A fixed value marker. These can be used to illustrate a range of steps or
|
|
672
|
-
* highlight important points along the slider track.
|
|
673
|
-
*
|
|
674
|
-
* @see Docs https://reach.tech/slider#slidermarker
|
|
668
|
+
/**
|
|
669
|
+
* SliderMarker
|
|
670
|
+
*
|
|
671
|
+
* A fixed value marker. These can be used to illustrate a range of steps or
|
|
672
|
+
* highlight important points along the slider track.
|
|
673
|
+
*
|
|
674
|
+
* @see Docs https://reach.tech/slider#slidermarker
|
|
675
675
|
*/
|
|
676
676
|
var SliderMarkerImpl = /*#__PURE__*/forwardRef(function SliderMarker(_ref6, forwardedRef) {
|
|
677
677
|
var _ref6$as = _ref6.as,
|
|
@@ -715,21 +715,21 @@ var SliderMarkerImpl = /*#__PURE__*/forwardRef(function SliderMarker(_ref6, forw
|
|
|
715
715
|
})) : null;
|
|
716
716
|
});
|
|
717
717
|
var SliderMarker = /*#__PURE__*/memo(SliderMarkerImpl);
|
|
718
|
-
/**
|
|
719
|
-
* @see Docs https://reach.tech/slider#slidermarker-props
|
|
718
|
+
/**
|
|
719
|
+
* @see Docs https://reach.tech/slider#slidermarker-props
|
|
720
720
|
*/
|
|
721
721
|
|
|
722
722
|
////////////////////////////////////////////////////////////////////////////////
|
|
723
723
|
function clamp(val, min, max) {
|
|
724
724
|
return val > max ? max : val < min ? min : val;
|
|
725
725
|
}
|
|
726
|
-
/**
|
|
727
|
-
* This handles the case when num is very small (0.00000001), js will turn
|
|
728
|
-
* this into 1e-8. When num is bigger than 1 or less than -1 it won't get
|
|
729
|
-
* converted to this notation so it's fine.
|
|
730
|
-
*
|
|
731
|
-
* @param num
|
|
732
|
-
* @see https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/Slider/Slider.js#L69
|
|
726
|
+
/**
|
|
727
|
+
* This handles the case when num is very small (0.00000001), js will turn
|
|
728
|
+
* this into 1e-8. When num is bigger than 1 or less than -1 it won't get
|
|
729
|
+
* converted to this notation so it's fine.
|
|
730
|
+
*
|
|
731
|
+
* @param num
|
|
732
|
+
* @see https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/Slider/Slider.js#L69
|
|
733
733
|
*/
|
|
734
734
|
|
|
735
735
|
|
|
@@ -813,8 +813,8 @@ function useDimensions(ref) {
|
|
|
813
813
|
// check for any conflicts with box sizing first and only use
|
|
814
814
|
// `getComputedStyle` if neccessary.
|
|
815
815
|
|
|
816
|
-
/* const { width, height } = ref.current
|
|
817
|
-
? ref.current.getBoundingClientRect()
|
|
816
|
+
/* const { width, height } = ref.current
|
|
817
|
+
? ref.current.getBoundingClientRect()
|
|
818
818
|
: 0; */
|
|
819
819
|
|
|
820
820
|
|