@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Carousel/Fader.tsx"],"names":["React","forwardRef","Children","useMemo","useTransition","animated","getCircularIndex","useCarouselGestures","useCarouselContext","faderConfig","tension","friction","clamp","Fader","ref","as","Comp","maybeSingleChildren","children","springConfig","mouseSwipe","touchSwipe","onSwipeLeft","onSwipeRight","otherProps","isRTL","currentSlide","nextSlideIndex","containerRef","toArray","transitions","config","from","opacity","enter","leave","handlers","onTouchStart","undefined","onMouseDown","style","item","idx","length"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,EAA4BC,QAA5B,EAAsCC,OAAtC,QAAqD,OAArD;AACA,SAASC,aAAT,EAAsCC,QAAtC,QAAsD,cAAtD;AACA,SAASC,gBAAT,QAAiC,2BAAjC;AACA,SAASC,mBAAT,QAAoC,uBAApC;AACA,SAASC,kBAAT,QAAmC,WAAnC;AAGA,OAAO,IAAMC,WAAyB,GAAG;AACvCC,EAAAA,OAAO,EAAE,GAD8B;AAEvCC,EAAAA,QAAQ,EAAE,EAF6B;AAGvCC,EAAAA,KAAK,EAAE;AAHgC,CAAlC;AAgBP,OAAO,IAAMC,KAAK,GAAGZ,UAAU,CAAC,SAASY,KAAT,OAW9BC,GAX8B,EAY9B;AAAA,qBAVEC,EAUF;AAAA,MAVMC,IAUN,wBAVa,KAUb;AAAA,MATYC,mBASZ,QATEC,QASF;AAAA,+BAREC,YAQF;AAAA,MAREA,YAQF,kCARiBV,WAQjB;AAAA,6BAPEW,UAOF;AAAA,MAPEA,UAOF,gCAPe,KAOf;AAAA,6BANEC,UAMF;AAAA,MANEA,UAMF,gCANe,KAMf;AAAA,MALEC,WAKF,QALEA,WAKF;AAAA,MAJEC,YAIF,QAJEA,YAIF;AAAA,MAHKC,UAGL;;AAAA,4BAKIhB,kBAAkB,EALtB;AAAA,kDAEEiB,KAFF;AAAA,MAEEA,KAFF,sCAEU,KAFV;AAAA,kDAGEC,YAHF;AAAA,MAGgBC,cAHhB,sCAGiC,CAHjC;AAAA,MAIEC,YAJF,uBAIEA,YAJF;;AAMA,MAAMV,QAAQ,GAAGf,OAAO,CAAC;AAAA,WAAMD,QAAQ,CAAC2B,OAAT,CAAiBZ,mBAAjB,CAAN;AAAA,GAAD,EAA8C,CACpEA,mBADoE,CAA9C,CAAxB;AAIA,MAAMa,WAAW,GAAG1B,aAAa,CAACuB,cAAD,EAAiB;AAChDI,IAAAA,MAAM,EAAEZ,YADwC;AAEhDa,IAAAA,IAAI,EAAE;AAAEC,MAAAA,OAAO,EAAE;AAAX,KAF0C;AAGhDC,IAAAA,KAAK,EAAE;AAAED,MAAAA,OAAO,EAAE;AAAX,KAHyC;AAIhDE,IAAAA,KAAK,EAAE;AAAEF,MAAAA,OAAO,EAAE;AAAX;AAJyC,GAAjB,CAAjC;;AAVA,6BAiBqB1B,mBAAmB,CAAC;AACvCe,IAAAA,WAAW,EAAXA,WADuC;AAEvCC,IAAAA,YAAY,EAAZA,YAFuC;AAGvCE,IAAAA,KAAK,EAALA,KAHuC;AAIvCG,IAAAA,YAAY,EAAZA;AAJuC,GAAD,CAjBxC;AAAA,MAiBQQ,QAjBR,wBAiBQA,QAjBR;;AAwBA,sBACE,oBAAC,IAAD;AACE,IAAA,YAAY,EAAEf,UAAU,GAAGe,QAAQ,CAACC,YAAZ,GAA2BC,SADrD;AAEE,IAAA,WAAW,EAAElB,UAAU,GAAGgB,QAAQ,CAACG,WAAZ,GAA0BD,SAFnD;AAGE,iBAAU,QAHZ;AAIE,4BAAqB,EAJvB;AAKE,IAAA,GAAG,EAAExB;AALP,KAMMU,UANN,GAQGM,WAAW,CAAC,UAACU,KAAD,EAAQC,IAAR,EAAiB;AAC5B,QAAMC,GAAG,GAAGpC,gBAAgB,CAACmC,IAAD,EAAOvB,QAAQ,CAACyB,MAAhB,CAA5B;;AACA,QAAID,GAAG,KAAK,IAAZ,EAAkB;AAChB,0BAAO,oBAAC,QAAD,CAAU,IAAV;AAAe,QAAA,KAAK,EAAEF;AAAtB,SAA8BtB,QAAQ,CAACwB,GAAD,CAAtC,CAAP;AACD;;AAED,WAAO,IAAP;AACD,GAPW,CARd,CADF;AAmBD,CAvD8B,CAAxB","sourcesContent":["import React, { forwardRef, Children, useMemo } from 'react';\nimport { useTransition, SpringConfig, animated } from 'react-spring';\nimport { getCircularIndex } from '../utils/getCircularIndex';\nimport { useCarouselGestures } from './useCarouselGestures';\nimport { useCarouselContext } from './context';\nimport { GestureHandlersState } from '../hooks';\n\nexport const faderConfig: SpringConfig = {\n tension: 280,\n friction: 75,\n clamp: true,\n};\n\nexport interface FaderProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n mouseSwipe?: boolean;\n touchSwipe?: boolean;\n onSwipeRight?: (s: Partial<GestureHandlersState>) => void;\n onSwipeLeft?: (s: Partial<GestureHandlersState>) => void;\n springConfig?: SpringConfig;\n children?: React.ReactNode[] | React.ReactNode;\n}\n\nexport const Fader = forwardRef(function Fader(\n {\n as: Comp = 'div',\n children: maybeSingleChildren,\n springConfig = faderConfig,\n mouseSwipe = false,\n touchSwipe = false,\n onSwipeLeft,\n onSwipeRight,\n ...otherProps\n }: FaderProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const {\n isRTL = false,\n currentSlide: nextSlideIndex = 0,\n containerRef,\n } = useCarouselContext();\n const children = useMemo(() => Children.toArray(maybeSingleChildren), [\n maybeSingleChildren,\n ]);\n\n const transitions = useTransition(nextSlideIndex, {\n config: springConfig,\n from: { opacity: 0 },\n enter: { opacity: 1 },\n leave: { opacity: 0 },\n });\n\n const { handlers } = useCarouselGestures({\n onSwipeLeft,\n onSwipeRight,\n isRTL,\n containerRef,\n });\n\n return (\n <Comp\n onTouchStart={touchSwipe ? handlers.onTouchStart : undefined}\n onMouseDown={mouseSwipe ? handlers.onMouseDown : undefined}\n aria-live=\"polite\"\n data-carousel-slider=\"\"\n ref={ref}\n {...otherProps}\n >\n {transitions((style, item) => {\n const idx = getCircularIndex(item, children.length);\n if (idx !== null) {\n return <animated.span style={style}>{children[idx]}</animated.span>;\n }\n\n return null;\n })}\n </Comp>\n );\n});\n"],"file":"Fader.js"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
import React, { forwardRef } from 'react';
|
|
4
|
-
export var FaderItem = forwardRef(function FaderItem(_ref, ref) {
|
|
5
|
-
var _ref$as = _ref.as,
|
|
6
|
-
Comp = _ref$as === void 0 ? 'div' : _ref$as,
|
|
7
|
-
props = _objectWithoutProperties(_ref, ["as"]);
|
|
8
|
-
|
|
9
|
-
return /*#__PURE__*/React.createElement(Comp, _extends({
|
|
10
|
-
role: "group",
|
|
11
|
-
"aria-roledescription": "slide",
|
|
12
|
-
"data-carousel-fader-item": "",
|
|
13
|
-
ref: ref
|
|
14
|
-
}, props));
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=FaderItem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Carousel/FaderItem.tsx"],"names":["React","forwardRef","FaderItem","ref","as","Comp","props"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AAMA,OAAO,IAAMC,SAAS,GAAGD,UAAU,CACjC,SAASC,SAAT,OAAmDC,GAAnD,EAAwD;AAAA,qBAAnCC,EAAmC;AAAA,MAA/BC,IAA+B,wBAAxB,KAAwB;AAAA,MAAdC,KAAc;;AACtD,sBACE,oBAAC,IAAD;AACE,IAAA,IAAI,EAAC,OADP;AAEE,4BAAqB,OAFvB;AAGE,gCAAyB,EAH3B;AAIE,IAAA,GAAG,EAAEH;AAJP,KAKMG,KALN,EADF;AASD,CAXgC,CAA5B","sourcesContent":["import React, { forwardRef } from 'react';\n\nexport interface FaderItemProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n}\n\nexport const FaderItem = forwardRef<HTMLDivElement, FaderItemProps>(\n function FaderItem({ as: Comp = 'div', ...props }, ref) {\n return (\n <Comp\n role=\"group\"\n aria-roledescription=\"slide\"\n data-carousel-fader-item=\"\"\n ref={ref}\n {...props}\n />\n );\n }\n);\n"],"file":"FaderItem.js"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface PreloaderProps {
|
|
3
|
-
children: React.ReactNode[] | React.ReactNode;
|
|
4
|
-
preloadNextCount?: number;
|
|
5
|
-
preloadPrevCount?: number;
|
|
6
|
-
}
|
|
7
|
-
export declare const Preloader: React.ForwardRefExoticComponent<PreloaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import React, { Children, forwardRef, cloneElement, useEffect, useRef } from 'react';
|
|
2
|
-
import { useCarouselContext } from './context';
|
|
3
|
-
import { getCircularIndex } from '../utils/getCircularIndex';
|
|
4
|
-
export var Preloader = forwardRef(function Preloader(_ref, ref) {
|
|
5
|
-
var maybeSingleChildren = _ref.children,
|
|
6
|
-
_ref$preloadNextCount = _ref.preloadNextCount,
|
|
7
|
-
preloadNextCount = _ref$preloadNextCount === void 0 ? 0 : _ref$preloadNextCount,
|
|
8
|
-
_ref$preloadPrevCount = _ref.preloadPrevCount,
|
|
9
|
-
preloadPrevCount = _ref$preloadPrevCount === void 0 ? 0 : _ref$preloadPrevCount;
|
|
10
|
-
|
|
11
|
-
var _useCarouselContext = useCarouselContext(),
|
|
12
|
-
currentSlide = _useCarouselContext.currentSlide,
|
|
13
|
-
slidesToShow = _useCarouselContext.slidesToShow;
|
|
14
|
-
|
|
15
|
-
var preloadedImagesCache = useRef({});
|
|
16
|
-
var childrenRef = useRef(maybeSingleChildren);
|
|
17
|
-
useEffect(function () {
|
|
18
|
-
if (maybeSingleChildren !== childrenRef.current) {
|
|
19
|
-
// clear cache
|
|
20
|
-
childrenRef.current = maybeSingleChildren;
|
|
21
|
-
preloadedImagesCache.current = {};
|
|
22
|
-
}
|
|
23
|
-
}, [maybeSingleChildren]);
|
|
24
|
-
var children = Children.toArray(maybeSingleChildren);
|
|
25
|
-
|
|
26
|
-
if (preloadNextCount > 0 && preloadPrevCount > 0 && children.length > 0) {
|
|
27
|
-
var ret = [];
|
|
28
|
-
|
|
29
|
-
for (var i = currentSlide - preloadPrevCount; i <= currentSlide + (slidesToShow - 1) + preloadNextCount; i += 1) {
|
|
30
|
-
var idx = getCircularIndex(i, children.length);
|
|
31
|
-
|
|
32
|
-
if (!idx) {
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
if ( // ignore images currently rendered in carousel
|
|
37
|
-
i >= currentSlide && i <= currentSlide + (slidesToShow - 1) || // ignore images we've already preloaded first
|
|
38
|
-
preloadedImagesCache.current[idx]) {
|
|
39
|
-
// set images rendered as already preloaded
|
|
40
|
-
preloadedImagesCache.current[idx] = true;
|
|
41
|
-
continue;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
preloadedImagesCache.current[idx] = true;
|
|
45
|
-
ret.push(cloneElement(children[idx], {
|
|
46
|
-
'data-carousel-preload': idx
|
|
47
|
-
}));
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (ret.length > 0) {
|
|
51
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
52
|
-
ref: ref,
|
|
53
|
-
"data-carousel-preloader": true,
|
|
54
|
-
"aria-hidden": true,
|
|
55
|
-
style: {
|
|
56
|
-
width: '1px',
|
|
57
|
-
height: '0px',
|
|
58
|
-
padding: '0',
|
|
59
|
-
overflow: 'hidden',
|
|
60
|
-
position: 'fixed',
|
|
61
|
-
top: '1px',
|
|
62
|
-
left: '1px'
|
|
63
|
-
}
|
|
64
|
-
}, ret);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return null;
|
|
69
|
-
});
|
|
70
|
-
//# sourceMappingURL=Preloader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Carousel/Preloader.tsx"],"names":["React","Children","forwardRef","cloneElement","useEffect","useRef","useCarouselContext","getCircularIndex","Preloader","ref","maybeSingleChildren","children","preloadNextCount","preloadPrevCount","currentSlide","slidesToShow","preloadedImagesCache","childrenRef","current","toArray","length","ret","i","idx","push","width","height","padding","overflow","position","top","left"],"mappings":"AAAA,OAAOA,KAAP,IACEC,QADF,EAEEC,UAFF,EAGEC,YAHF,EAIEC,SAJF,EAKEC,MALF,QAMO,OANP;AAOA,SAASC,kBAAT,QAAmC,WAAnC;AACA,SAASC,gBAAT,QAAiC,2BAAjC;AAQA,OAAO,IAAMC,SAAS,GAAGN,UAAU,CACjC,SAASM,SAAT,OAMEC,GANF,EAOE;AAAA,MALYC,mBAKZ,QALEC,QAKF;AAAA,mCAJEC,gBAIF;AAAA,MAJEA,gBAIF,sCAJqB,CAIrB;AAAA,mCAHEC,gBAGF;AAAA,MAHEA,gBAGF,sCAHqB,CAGrB;;AAAA,4BACuCP,kBAAkB,EADzD;AAAA,MACQQ,YADR,uBACQA,YADR;AAAA,MACsBC,YADtB,uBACsBA,YADtB;;AAEA,MAAMC,oBAAoB,GAAGX,MAAM,CAAC,EAAD,CAAnC;AACA,MAAMY,WAAW,GAAGZ,MAAM,CAACK,mBAAD,CAA1B;AAEAN,EAAAA,SAAS,CAAC,YAAM;AACd,QAAIM,mBAAmB,KAAKO,WAAW,CAACC,OAAxC,EAAiD;AAC/C;AACAD,MAAAA,WAAW,CAACC,OAAZ,GAAsBR,mBAAtB;AACAM,MAAAA,oBAAoB,CAACE,OAArB,GAA+B,EAA/B;AACD;AACF,GANQ,EAMN,CAACR,mBAAD,CANM,CAAT;AAQA,MAAMC,QAAQ,GAAGV,QAAQ,CAACkB,OAAT,CAAiBT,mBAAjB,CAAjB;;AAEA,MAAIE,gBAAgB,GAAG,CAAnB,IAAwBC,gBAAgB,GAAG,CAA3C,IAAgDF,QAAQ,CAACS,MAAT,GAAkB,CAAtE,EAAyE;AACvE,QAAMC,GAAyB,GAAG,EAAlC;;AACA,SACE,IAAIC,CAAC,GAAGR,YAAY,GAAGD,gBADzB,EAEES,CAAC,IAAIR,YAAY,IAAIC,YAAY,GAAG,CAAnB,CAAZ,GAAoCH,gBAF3C,EAGEU,CAAC,IAAI,CAHP,EAIE;AACA,UAAMC,GAAG,GAAGhB,gBAAgB,CAACe,CAAD,EAAIX,QAAQ,CAACS,MAAb,CAA5B;;AACA,UAAI,CAACG,GAAL,EAAU;AACR;AACD;;AAED,WACE;AACCD,MAAAA,CAAC,IAAIR,YAAL,IAAqBQ,CAAC,IAAIR,YAAY,IAAIC,YAAY,GAAG,CAAnB,CAAvC,IACA;AACAC,MAAAA,oBAAoB,CAACE,OAArB,CAA6BK,GAA7B,CAJF,EAKE;AACA;AACAP,QAAAA,oBAAoB,CAACE,OAArB,CAA6BK,GAA7B,IAAoC,IAApC;AACA;AACD;;AAEDP,MAAAA,oBAAoB,CAACE,OAArB,CAA6BK,GAA7B,IAAoC,IAApC;AACAF,MAAAA,GAAG,CAACG,IAAJ,CACErB,YAAY,CAACQ,QAAQ,CAACY,GAAD,CAAT,EAA2C;AACrD,iCAAyBA;AAD4B,OAA3C,CADd;AAKD;;AAED,QAAIF,GAAG,CAACD,MAAJ,GAAa,CAAjB,EAAoB;AAClB,0BACE;AACE,QAAA,GAAG,EAAEX,GADP;AAEE,uCAFF;AAGE,2BAHF;AAIE,QAAA,KAAK,EAAE;AACLgB,UAAAA,KAAK,EAAE,KADF;AAELC,UAAAA,MAAM,EAAE,KAFH;AAGLC,UAAAA,OAAO,EAAE,GAHJ;AAILC,UAAAA,QAAQ,EAAE,QAJL;AAKLC,UAAAA,QAAQ,EAAE,OALL;AAMLC,UAAAA,GAAG,EAAE,KANA;AAOLC,UAAAA,IAAI,EAAE;AAPD;AAJT,SAcGV,GAdH,CADF;AAkBD;AACF;;AAED,SAAO,IAAP;AACD,CA7EgC,CAA5B","sourcesContent":["import React, {\n Children,\n forwardRef,\n cloneElement,\n useEffect,\n useRef,\n} from 'react';\nimport { useCarouselContext } from './context';\nimport { getCircularIndex } from '../utils/getCircularIndex';\n\nexport interface PreloaderProps {\n children: React.ReactNode[] | React.ReactNode;\n preloadNextCount?: number;\n preloadPrevCount?: number;\n}\n\nexport const Preloader = forwardRef<HTMLDivElement, PreloaderProps>(\n function Preloader(\n {\n children: maybeSingleChildren,\n preloadNextCount = 0,\n preloadPrevCount = 0,\n },\n ref\n ) {\n const { currentSlide, slidesToShow } = useCarouselContext();\n const preloadedImagesCache = useRef({});\n const childrenRef = useRef(maybeSingleChildren);\n\n useEffect(() => {\n if (maybeSingleChildren !== childrenRef.current) {\n // clear cache\n childrenRef.current = maybeSingleChildren;\n preloadedImagesCache.current = {};\n }\n }, [maybeSingleChildren]);\n\n const children = Children.toArray(maybeSingleChildren);\n\n if (preloadNextCount > 0 && preloadPrevCount > 0 && children.length > 0) {\n const ret: React.ReactElement[] = [];\n for (\n let i = currentSlide - preloadPrevCount;\n i <= currentSlide + (slidesToShow - 1) + preloadNextCount;\n i += 1\n ) {\n const idx = getCircularIndex(i, children.length);\n if (!idx) {\n continue;\n }\n\n if (\n // ignore images currently rendered in carousel\n (i >= currentSlide && i <= currentSlide + (slidesToShow - 1)) ||\n // ignore images we've already preloaded first\n preloadedImagesCache.current[idx]\n ) {\n // set images rendered as already preloaded\n preloadedImagesCache.current[idx] = true;\n continue;\n }\n\n preloadedImagesCache.current[idx] = true;\n ret.push(\n cloneElement(children[idx] as React.ReactElement<any>, {\n 'data-carousel-preload': idx,\n })\n );\n }\n\n if (ret.length > 0) {\n return (\n <div\n ref={ref}\n data-carousel-preloader\n aria-hidden\n style={{\n width: '1px',\n height: '0px',\n padding: '0',\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px',\n }}\n >\n {ret}\n </div>\n );\n }\n }\n\n return null;\n }\n);\n"],"file":"Preloader.js"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { SpringConfig } from 'react-spring';
|
|
3
|
-
import { GestureHandlersState } from '../hooks';
|
|
4
|
-
export declare const sliderConfig: SpringConfig;
|
|
5
|
-
export interface SliderProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
6
|
-
as?: React.ElementType<any>;
|
|
7
|
-
mouseSwipe?: boolean;
|
|
8
|
-
touchSwipe?: boolean;
|
|
9
|
-
onSwipeRight?: (s: Partial<GestureHandlersState>) => void;
|
|
10
|
-
onSwipeLeft?: (s: Partial<GestureHandlersState>) => void;
|
|
11
|
-
springConfig?: SpringConfig;
|
|
12
|
-
children?: React.ReactNode[] | React.ReactNode;
|
|
13
|
-
}
|
|
14
|
-
export declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
-
import React, { useRef, useReducer, useEffect, useMemo, Children, forwardRef } from 'react';
|
|
5
|
-
import { useSpring, animated } from 'react-spring';
|
|
6
|
-
import { SliderItemRenderer } from './SliderItem';
|
|
7
|
-
import { useCarouselContext } from './context';
|
|
8
|
-
import { getSliderParams } from './getSliderParams';
|
|
9
|
-
import { useCarouselGestures } from './useCarouselGestures';
|
|
10
|
-
export var sliderConfig = {
|
|
11
|
-
tension: 230,
|
|
12
|
-
friction: 20,
|
|
13
|
-
clamp: true
|
|
14
|
-
};
|
|
15
|
-
var SET_CURRENT_SLIDER_INDEX = 'setCurrentSlideIndex';
|
|
16
|
-
var SET_SHOULD_ANIMATE_TO_REST = 'setShouldAnimateToRest';
|
|
17
|
-
var TRIGGER_RERENDER = 'triggerRerender';
|
|
18
|
-
|
|
19
|
-
function reducer(prevState, action) {
|
|
20
|
-
switch (action.type) {
|
|
21
|
-
case SET_CURRENT_SLIDER_INDEX:
|
|
22
|
-
return _extends(_extends({}, prevState), {}, {
|
|
23
|
-
currentSlideIndex: action.payload,
|
|
24
|
-
shouldAnimateToRest: false
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
case SET_SHOULD_ANIMATE_TO_REST:
|
|
28
|
-
return _extends(_extends({}, prevState), {}, {
|
|
29
|
-
shouldAnimateToRest: action.payload
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
case TRIGGER_RERENDER:
|
|
33
|
-
return _extends({}, prevState);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
var noop = function noop() {
|
|
38
|
-
/* null function to be used on onRest and onFrame */
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
export var Slider = forwardRef(function Slider(_ref, ref) {
|
|
42
|
-
var _ref$as = _ref.as,
|
|
43
|
-
Comp = _ref$as === void 0 ? animated.div : _ref$as,
|
|
44
|
-
maybeSingleChildren = _ref.children,
|
|
45
|
-
_ref$springConfig = _ref.springConfig,
|
|
46
|
-
springConfig = _ref$springConfig === void 0 ? sliderConfig : _ref$springConfig,
|
|
47
|
-
mouseSwipe = _ref.mouseSwipe,
|
|
48
|
-
touchSwipe = _ref.touchSwipe,
|
|
49
|
-
onSwipeLeft = _ref.onSwipeLeft,
|
|
50
|
-
onSwipeRight = _ref.onSwipeRight,
|
|
51
|
-
style = _ref.style,
|
|
52
|
-
otherProps = _objectWithoutProperties(_ref, ["as", "children", "springConfig", "mouseSwipe", "touchSwipe", "onSwipeLeft", "onSwipeRight", "style"]);
|
|
53
|
-
|
|
54
|
-
var _useCarouselContext = useCarouselContext(),
|
|
55
|
-
_useCarouselContext$i = _useCarouselContext.isRTL,
|
|
56
|
-
isRTL = _useCarouselContext$i === void 0 ? false : _useCarouselContext$i,
|
|
57
|
-
_useCarouselContext$s = _useCarouselContext.slidesToShow,
|
|
58
|
-
slidesToShow = _useCarouselContext$s === void 0 ? 1 : _useCarouselContext$s,
|
|
59
|
-
_useCarouselContext$c = _useCarouselContext.currentSlide,
|
|
60
|
-
nextSlideIndex = _useCarouselContext$c === void 0 ? 0 : _useCarouselContext$c,
|
|
61
|
-
containerRef = _useCarouselContext.containerRef,
|
|
62
|
-
itemWidth = _useCarouselContext.itemWidth;
|
|
63
|
-
|
|
64
|
-
var _useReducer = useReducer(reducer, {
|
|
65
|
-
currentSlideIndex: nextSlideIndex,
|
|
66
|
-
shouldAnimateToRest: false
|
|
67
|
-
}),
|
|
68
|
-
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
69
|
-
_useReducer2$ = _useReducer2[0],
|
|
70
|
-
currentSlideIndex = _useReducer2$.currentSlideIndex,
|
|
71
|
-
shouldAnimateToRest = _useReducer2$.shouldAnimateToRest,
|
|
72
|
-
dispatch = _useReducer2[1]; // Convert children from possibly empty, or 1 child, to array of nodes
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
var children = useMemo(function () {
|
|
76
|
-
return Children.toArray(maybeSingleChildren);
|
|
77
|
-
}, [maybeSingleChildren]); // Keep record of animation frames
|
|
78
|
-
|
|
79
|
-
var lastAnimationX = useRef(0); // Keep record of drag positioning, to forceUpdate when dragging slides
|
|
80
|
-
|
|
81
|
-
var lastDragX = useRef(NaN); // Animation properties... will be update via setAnimationProps
|
|
82
|
-
|
|
83
|
-
var _useSpring = useSpring({
|
|
84
|
-
to: {
|
|
85
|
-
x: 0
|
|
86
|
-
},
|
|
87
|
-
config: springConfig
|
|
88
|
-
}, []),
|
|
89
|
-
_useSpring2 = _slicedToArray(_useSpring, 2),
|
|
90
|
-
animationProps = _useSpring2[0],
|
|
91
|
-
setAnimationProps = _useSpring2[1]; // Keep track of animation values, to allow
|
|
92
|
-
// us to pause animation with mouse click
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
var onChange = function onChange(e) {
|
|
96
|
-
lastAnimationX.current = e.x || 0;
|
|
97
|
-
}; // Called when the next slide animation is complete
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
var onNextSlideComplete = function onNextSlideComplete() {
|
|
101
|
-
// need this to stay in sync with setAnimationProps
|
|
102
|
-
requestAnimationFrame(function () {
|
|
103
|
-
dispatch({
|
|
104
|
-
type: SET_CURRENT_SLIDER_INDEX,
|
|
105
|
-
payload: nextSlideIndex
|
|
106
|
-
});
|
|
107
|
-
lastAnimationX.current = 0;
|
|
108
|
-
setAnimationProps({
|
|
109
|
-
x: 0,
|
|
110
|
-
immediate: true,
|
|
111
|
-
onRest: noop,
|
|
112
|
-
onChange: noop
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
}; // Called when you started dragging, but didn't drag long enough,
|
|
116
|
-
// so it will rest back to zero
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
var onRestAnimationComplete = function onRestAnimationComplete() {
|
|
120
|
-
lastAnimationX.current = 0;
|
|
121
|
-
dispatch({
|
|
122
|
-
type: SET_SHOULD_ANIMATE_TO_REST,
|
|
123
|
-
payload: false
|
|
124
|
-
});
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
var onDrag = function onDrag(s) {
|
|
128
|
-
if (s.down) {
|
|
129
|
-
var x = lastAnimationX.current + s.xDeltaPercent;
|
|
130
|
-
setAnimationProps({
|
|
131
|
-
x: x,
|
|
132
|
-
immediate: true,
|
|
133
|
-
onRest: noop,
|
|
134
|
-
onChange: noop
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
if (x === 0) {
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
if (s.xDeltaPercent !== 0 && !Object.is(Math.trunc(lastDragX.current / itemWidth), Math.trunc(x / itemWidth))) {
|
|
142
|
-
// flipping signal, or adding more async slides
|
|
143
|
-
requestAnimationFrame(function () {
|
|
144
|
-
dispatch({
|
|
145
|
-
type: SET_SHOULD_ANIMATE_TO_REST,
|
|
146
|
-
payload: true
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
lastDragX.current = x;
|
|
152
|
-
} else {
|
|
153
|
-
setAnimationProps({
|
|
154
|
-
x: 0,
|
|
155
|
-
onRest: onRestAnimationComplete,
|
|
156
|
-
onChange: onChange,
|
|
157
|
-
immediate: false
|
|
158
|
-
});
|
|
159
|
-
lastDragX.current = NaN; // force a rerender to make sure it will still work
|
|
160
|
-
// when you pause in the middle of a slide transition
|
|
161
|
-
|
|
162
|
-
dispatch({
|
|
163
|
-
type: TRIGGER_RERENDER
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
var _useCarouselGestures = useCarouselGestures({
|
|
169
|
-
isRTL: isRTL,
|
|
170
|
-
onSwipeRight: onSwipeRight,
|
|
171
|
-
onSwipeLeft: onSwipeLeft,
|
|
172
|
-
onDrag: onDrag,
|
|
173
|
-
containerRef: containerRef,
|
|
174
|
-
slidesToShow: slidesToShow
|
|
175
|
-
}),
|
|
176
|
-
handlers = _useCarouselGestures.handlers,
|
|
177
|
-
gestureState = _useCarouselGestures.state;
|
|
178
|
-
|
|
179
|
-
var deltaX = gestureState.down || shouldAnimateToRest ? lastAnimationX.current + gestureState.xDeltaPercent : 0;
|
|
180
|
-
/* Slide animation parameters */
|
|
181
|
-
|
|
182
|
-
var params = getSliderParams(children.length, currentSlideIndex, nextSlideIndex, slidesToShow, gestureState.down, deltaX, isRTL);
|
|
183
|
-
useEffect(function () {
|
|
184
|
-
if (nextSlideIndex !== currentSlideIndex) {
|
|
185
|
-
setAnimationProps({
|
|
186
|
-
x: params.targetX,
|
|
187
|
-
onRest: onNextSlideComplete,
|
|
188
|
-
onChange: onChange,
|
|
189
|
-
immediate: false
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
return /*#__PURE__*/React.createElement(Comp, _extends({
|
|
194
|
-
ref: ref,
|
|
195
|
-
onTouchStart: touchSwipe ? handlers.onTouchStart : undefined,
|
|
196
|
-
onMouseDown: mouseSwipe ? handlers.onMouseDown : undefined,
|
|
197
|
-
"aria-live": "polite",
|
|
198
|
-
"data-carousel-slider": "",
|
|
199
|
-
dir: isRTL ? 'rtl' : undefined,
|
|
200
|
-
style: _extends({
|
|
201
|
-
left: params.left,
|
|
202
|
-
paddingRight: params.paddingRight,
|
|
203
|
-
transform: animationProps.x.to(function (t) {
|
|
204
|
-
return "translateX(".concat(t, "%)");
|
|
205
|
-
})
|
|
206
|
-
}, style)
|
|
207
|
-
}, otherProps), /*#__PURE__*/React.createElement(SliderItemRenderer, {
|
|
208
|
-
startingIndex: params.startingIndex,
|
|
209
|
-
count: params.count
|
|
210
|
-
}, children));
|
|
211
|
-
});
|
|
212
|
-
//# sourceMappingURL=Slider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Carousel/Slider.tsx"],"names":["React","useRef","useReducer","useEffect","useMemo","Children","forwardRef","useSpring","animated","SliderItemRenderer","useCarouselContext","getSliderParams","useCarouselGestures","sliderConfig","tension","friction","clamp","SET_CURRENT_SLIDER_INDEX","SET_SHOULD_ANIMATE_TO_REST","TRIGGER_RERENDER","reducer","prevState","action","type","currentSlideIndex","payload","shouldAnimateToRest","noop","Slider","ref","as","Comp","div","maybeSingleChildren","children","springConfig","mouseSwipe","touchSwipe","onSwipeLeft","onSwipeRight","style","otherProps","isRTL","slidesToShow","currentSlide","nextSlideIndex","containerRef","itemWidth","dispatch","toArray","lastAnimationX","lastDragX","NaN","to","x","config","animationProps","setAnimationProps","onChange","e","current","onNextSlideComplete","requestAnimationFrame","immediate","onRest","onRestAnimationComplete","onDrag","s","down","xDeltaPercent","Object","is","Math","trunc","handlers","gestureState","state","deltaX","params","length","targetX","onTouchStart","undefined","onMouseDown","left","paddingRight","transform","t","startingIndex","count"],"mappings":"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","sourcesContent":["import React, {\n useRef,\n useReducer,\n useEffect,\n useMemo,\n Children,\n forwardRef,\n} from 'react';\nimport { useSpring, SpringConfig, animated } from 'react-spring';\nimport { SliderItemRenderer } from './SliderItem';\nimport { useCarouselContext } from './context';\nimport { getSliderParams } from './getSliderParams';\nimport { useCarouselGestures } from './useCarouselGestures';\nimport { GestureHandlersState } from '../hooks';\n\nexport const sliderConfig: SpringConfig = {\n tension: 230,\n friction: 20,\n clamp: true,\n};\n\nexport interface SliderProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n mouseSwipe?: boolean;\n touchSwipe?: boolean;\n onSwipeRight?: (s: Partial<GestureHandlersState>) => void;\n onSwipeLeft?: (s: Partial<GestureHandlersState>) => void;\n springConfig?: SpringConfig;\n children?: React.ReactNode[] | React.ReactNode;\n}\n\ninterface SliderState {\n currentSlideIndex: number;\n shouldAnimateToRest: boolean;\n}\n\nconst SET_CURRENT_SLIDER_INDEX = 'setCurrentSlideIndex';\nconst SET_SHOULD_ANIMATE_TO_REST = 'setShouldAnimateToRest';\nconst TRIGGER_RERENDER = 'triggerRerender';\n\ninterface SliderSetPreviousSlideIndex {\n type: typeof SET_CURRENT_SLIDER_INDEX;\n payload: number;\n}\n\ninterface SlideSetRestAnimating {\n type: typeof SET_SHOULD_ANIMATE_TO_REST;\n payload: boolean;\n}\n\ninterface SlideTriggerRerender {\n type: typeof TRIGGER_RERENDER;\n}\n\ntype SliderAction =\n | SliderSetPreviousSlideIndex\n | SlideSetRestAnimating\n | SlideTriggerRerender;\n\nfunction reducer<T>(\n prevState: Readonly<SliderState>,\n action: SliderAction\n): SliderState {\n switch (action.type) {\n case SET_CURRENT_SLIDER_INDEX:\n return {\n ...prevState,\n currentSlideIndex: action.payload,\n shouldAnimateToRest: false,\n };\n case SET_SHOULD_ANIMATE_TO_REST:\n return { ...prevState, shouldAnimateToRest: action.payload };\n case TRIGGER_RERENDER:\n return { ...prevState };\n }\n}\n\nconst noop = () => {\n /* null function to be used on onRest and onFrame */\n};\n\nexport const Slider = forwardRef<HTMLDivElement, SliderProps>(function Slider(\n {\n as: Comp = animated.div,\n children: maybeSingleChildren,\n springConfig = sliderConfig,\n mouseSwipe,\n touchSwipe,\n onSwipeLeft,\n onSwipeRight,\n style,\n ...otherProps\n },\n ref\n) {\n const {\n isRTL = false,\n slidesToShow = 1,\n currentSlide: nextSlideIndex = 0,\n containerRef,\n itemWidth,\n } = useCarouselContext();\n\n const [{ currentSlideIndex, shouldAnimateToRest }, dispatch] = useReducer(\n reducer,\n {\n currentSlideIndex: nextSlideIndex,\n shouldAnimateToRest: false,\n }\n );\n\n // Convert children from possibly empty, or 1 child, to array of nodes\n const children = useMemo(() => Children.toArray(maybeSingleChildren), [\n maybeSingleChildren,\n ]);\n\n // Keep record of animation frames\n const lastAnimationX = useRef(0);\n\n // Keep record of drag positioning, to forceUpdate when dragging slides\n const lastDragX = useRef(NaN);\n\n // Animation properties... will be update via setAnimationProps\n const [animationProps, setAnimationProps] = useSpring<{ x: number }>(\n {\n to: { x: 0 },\n config: springConfig,\n },\n []\n );\n\n // Keep track of animation values, to allow\n // us to pause animation with mouse click\n const onChange = (e: { x: number }) => {\n lastAnimationX.current = e.x || 0;\n };\n\n // Called when the next slide animation is complete\n const onNextSlideComplete = () => {\n // need this to stay in sync with setAnimationProps\n requestAnimationFrame(() => {\n dispatch({ type: SET_CURRENT_SLIDER_INDEX, payload: nextSlideIndex });\n lastAnimationX.current = 0;\n setAnimationProps({\n x: 0,\n immediate: true,\n onRest: noop,\n onChange: noop,\n });\n });\n };\n\n // Called when you started dragging, but didn't drag long enough,\n // so it will rest back to zero\n const onRestAnimationComplete = () => {\n lastAnimationX.current = 0;\n dispatch({ type: SET_SHOULD_ANIMATE_TO_REST, payload: false });\n };\n\n const onDrag = (s: GestureHandlersState) => {\n if (s.down) {\n const x = lastAnimationX.current + s.xDeltaPercent;\n setAnimationProps({\n x,\n immediate: true,\n onRest: noop,\n onChange: noop,\n });\n\n if (x === 0) {\n return;\n }\n\n if (\n s.xDeltaPercent !== 0 &&\n !Object.is(\n Math.trunc(lastDragX.current / itemWidth),\n Math.trunc(x / itemWidth)\n )\n ) {\n // flipping signal, or adding more async slides\n requestAnimationFrame(() => {\n dispatch({ type: SET_SHOULD_ANIMATE_TO_REST, payload: true });\n });\n }\n\n lastDragX.current = x;\n } else {\n setAnimationProps({\n x: 0,\n onRest: onRestAnimationComplete,\n onChange: onChange,\n immediate: false,\n });\n\n lastDragX.current = NaN;\n\n // force a rerender to make sure it will still work\n // when you pause in the middle of a slide transition\n dispatch({ type: TRIGGER_RERENDER });\n }\n };\n\n const { handlers, state: gestureState } = useCarouselGestures({\n isRTL,\n onSwipeRight,\n onSwipeLeft,\n onDrag,\n containerRef,\n slidesToShow,\n });\n\n const deltaX =\n gestureState.down || shouldAnimateToRest\n ? lastAnimationX.current + gestureState.xDeltaPercent\n : 0;\n\n /* Slide animation parameters */\n const params = getSliderParams(\n children.length,\n currentSlideIndex,\n nextSlideIndex,\n slidesToShow,\n gestureState.down,\n deltaX,\n isRTL\n );\n\n useEffect(() => {\n if (nextSlideIndex !== currentSlideIndex) {\n setAnimationProps({\n x: params.targetX,\n onRest: onNextSlideComplete,\n onChange,\n immediate: false,\n });\n }\n });\n\n return (\n <Comp\n ref={ref}\n onTouchStart={touchSwipe ? handlers.onTouchStart : undefined}\n onMouseDown={mouseSwipe ? handlers.onMouseDown : undefined}\n aria-live=\"polite\"\n data-carousel-slider=\"\"\n dir={isRTL ? 'rtl' : undefined}\n style={{\n left: params.left,\n paddingRight: params.paddingRight,\n transform: animationProps.x.to((t) => {\n return `translateX(${t}%)`;\n }),\n ...(style as any),\n }}\n {...otherProps}\n >\n <SliderItemRenderer\n startingIndex={params.startingIndex}\n count={params.count}\n >\n {children}\n </SliderItemRenderer>\n </Comp>\n );\n});\n"],"file":"Slider.js"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface SliderItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
-
as?: React.ElementType<any>;
|
|
4
|
-
}
|
|
5
|
-
export declare const SliderItem: React.ForwardRefExoticComponent<SliderItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
-
interface SliderItemRendererProps {
|
|
7
|
-
children: React.ReactNode[];
|
|
8
|
-
startingIndex: number;
|
|
9
|
-
count: number;
|
|
10
|
-
}
|
|
11
|
-
export declare const SliderItemRenderer: ({ children, startingIndex, count, }: SliderItemRendererProps) => JSX.Element;
|
|
12
|
-
export default SliderItem;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
import React, { forwardRef } from 'react';
|
|
4
|
-
import { getCircularIndex } from '../utils/getCircularIndex';
|
|
5
|
-
export var SliderItem = forwardRef(function SliderItem(_ref, ref) {
|
|
6
|
-
var _ref$as = _ref.as,
|
|
7
|
-
Comp = _ref$as === void 0 ? 'div' : _ref$as,
|
|
8
|
-
props = _objectWithoutProperties(_ref, ["as"]);
|
|
9
|
-
|
|
10
|
-
return /*#__PURE__*/React.createElement(Comp, _extends({
|
|
11
|
-
ref: ref,
|
|
12
|
-
role: "group",
|
|
13
|
-
"aria-roledescription": "slide",
|
|
14
|
-
"data-carousel-slider-item": ""
|
|
15
|
-
}, props));
|
|
16
|
-
});
|
|
17
|
-
export var SliderItemRenderer = function SliderItemRenderer(_ref2) {
|
|
18
|
-
var children = _ref2.children,
|
|
19
|
-
startingIndex = _ref2.startingIndex,
|
|
20
|
-
count = _ref2.count;
|
|
21
|
-
var ret = [];
|
|
22
|
-
var itemsLen = children.length;
|
|
23
|
-
var finalIndex = startingIndex + count;
|
|
24
|
-
var counter = 0;
|
|
25
|
-
|
|
26
|
-
for (var i = startingIndex; i < finalIndex; i += 1, counter += 1) {
|
|
27
|
-
if (counter % itemsLen === 0) {
|
|
28
|
-
ret.push([]);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
var index = getCircularIndex(i, itemsLen);
|
|
32
|
-
|
|
33
|
-
if (index !== null) {
|
|
34
|
-
ret[ret.length - 1].push(children[index]);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, ret);
|
|
39
|
-
};
|
|
40
|
-
export default SliderItem;
|
|
41
|
-
//# sourceMappingURL=SliderItem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Carousel/SliderItem.tsx"],"names":["React","forwardRef","getCircularIndex","SliderItem","ref","as","Comp","props","SliderItemRenderer","children","startingIndex","count","ret","itemsLen","length","finalIndex","counter","i","push","index"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,SAASC,gBAAT,QAAiC,2BAAjC;AAMA,OAAO,IAAMC,UAAU,GAAGF,UAAU,CAClC,SAASE,UAAT,OAEEC,GAFF,EAGE;AAAA,qBAFEC,EAEF;AAAA,MAFMC,IAEN,wBAFa,KAEb;AAAA,MAFuBC,KAEvB;;AACA,sBACE,oBAAC,IAAD;AACE,IAAA,GAAG,EAAEH,GADP;AAEE,IAAA,IAAI,EAAC,OAFP;AAGE,4BAAqB,OAHvB;AAIE,iCAA0B;AAJ5B,KAKMG,KALN,EADF;AASD,CAdiC,CAA7B;AAuBP,OAAO,IAAMC,kBAAkB,GAAG,SAASA,kBAAT,QAIN;AAAA,MAH1BC,QAG0B,SAH1BA,QAG0B;AAAA,MAF1BC,aAE0B,SAF1BA,aAE0B;AAAA,MAD1BC,KAC0B,SAD1BA,KAC0B;AAC1B,MAAMC,GAAwB,GAAG,EAAjC;AACA,MAAMC,QAAQ,GAAGJ,QAAQ,CAACK,MAA1B;AACA,MAAMC,UAAU,GAAGL,aAAa,GAAGC,KAAnC;AAEA,MAAIK,OAAO,GAAG,CAAd;;AACA,OAAK,IAAIC,CAAC,GAAGP,aAAb,EAA4BO,CAAC,GAAGF,UAAhC,EAA4CE,CAAC,IAAI,CAAL,EAAQD,OAAO,IAAI,CAA/D,EAAkE;AAChE,QAAIA,OAAO,GAAGH,QAAV,KAAuB,CAA3B,EAA8B;AAC5BD,MAAAA,GAAG,CAACM,IAAJ,CAAS,EAAT;AACD;;AACD,QAAMC,KAAK,GAAGjB,gBAAgB,CAACe,CAAD,EAAIJ,QAAJ,CAA9B;;AACA,QAAIM,KAAK,KAAK,IAAd,EAAoB;AAClBP,MAAAA,GAAG,CAACA,GAAG,CAACE,MAAJ,GAAa,CAAd,CAAH,CAAoBI,IAApB,CAAyBT,QAAQ,CAACU,KAAD,CAAjC;AACD;AACF;;AAED,sBAAO,oBAAC,KAAD,CAAO,QAAP,QAAiBP,GAAjB,CAAP;AACD,CArBM;AAuBP,eAAeT,UAAf","sourcesContent":["import React, { forwardRef } from 'react';\nimport { getCircularIndex } from '../utils/getCircularIndex';\n\nexport interface SliderItemProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType<any>;\n}\n\nexport const SliderItem = forwardRef<HTMLDivElement, SliderItemProps>(\n function SliderItem(\n { as: Comp = 'div', ...props },\n ref: React.Ref<HTMLDivElement>\n ) {\n return (\n <Comp\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n data-carousel-slider-item=\"\"\n {...props}\n />\n );\n }\n);\n\ninterface SliderItemRendererProps {\n children: React.ReactNode[];\n startingIndex: number;\n count: number;\n}\n\nexport const SliderItemRenderer = function SliderItemRenderer({\n children,\n startingIndex,\n count,\n}: SliderItemRendererProps) {\n const ret: React.ReactNode[][] = [];\n const itemsLen = children.length;\n const finalIndex = startingIndex + count;\n\n let counter = 0;\n for (let i = startingIndex; i < finalIndex; i += 1, counter += 1) {\n if (counter % itemsLen === 0) {\n ret.push([]);\n }\n const index = getCircularIndex(i, itemsLen);\n if (index !== null) {\n ret[ret.length - 1].push(children[index]);\n }\n }\n\n return <React.Fragment>{ret}</React.Fragment>;\n};\n\nexport default SliderItem;\n"],"file":"SliderItem.js"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
export interface CarouselContextProps {
|
|
3
|
-
slidesToShow: number;
|
|
4
|
-
isRTL: boolean;
|
|
5
|
-
currentSlide: number;
|
|
6
|
-
itemWidth: number;
|
|
7
|
-
containerRef: React.MutableRefObject<HTMLElement | null>;
|
|
8
|
-
}
|
|
9
|
-
export declare const CarouselProvider: import("react").Provider<CarouselContextProps>;
|
|
10
|
-
export declare const useCarouselContext: () => CarouselContextProps;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { createContext, useContext } from 'react';
|
|
2
|
-
var carouselContext = createContext(null);
|
|
3
|
-
var CarouselProvider = carouselContext.Provider;
|
|
4
|
-
export { CarouselProvider };
|
|
5
|
-
export var useCarouselContext = function useCarouselContext() {
|
|
6
|
-
return useContext(carouselContext);
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Carousel/context.ts"],"names":["createContext","useContext","carouselContext","CarouselProvider","Provider","useCarouselContext"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,UAAxB,QAA0C,OAA1C;AAUA,IAAMC,eAAe,GAAGF,aAAa,CAAuB,IAAvB,CAArC;IACyBG,gB,GAAqBD,e,CAA/BE,Q;;AACf,OAAO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,SAAMJ,UAAU,CAACC,eAAD,CAAhB;AAAA,CAA3B","sourcesContent":["import { createContext, useContext } from 'react';\n\nexport interface CarouselContextProps {\n slidesToShow: number;\n isRTL: boolean;\n currentSlide: number;\n itemWidth: number;\n containerRef: React.MutableRefObject<HTMLElement | null>;\n}\n\nconst carouselContext = createContext<CarouselContextProps>(null as any);\nexport const { Provider: CarouselProvider } = carouselContext;\nexport const useCarouselContext = () => useContext(carouselContext);\n"],"file":"context.js"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare function getSlidesToScroll(curSlide: number, nextSlide: number, deltaX: number, itemWidth: number): number;
|
|
2
|
-
export declare function getSliderParams(numAvailableSlides: number, curSlide: number, nextSlide: number, slidesToShow: number, dragging: boolean, deltaX: number, isRTL: boolean): {
|
|
3
|
-
startingIndex: number;
|
|
4
|
-
count: number;
|
|
5
|
-
left: string | undefined;
|
|
6
|
-
targetX: number;
|
|
7
|
-
itemWidth: number;
|
|
8
|
-
paddingRight: string | undefined;
|
|
9
|
-
};
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
var AnimationState;
|
|
2
|
-
|
|
3
|
-
(function (AnimationState) {
|
|
4
|
-
AnimationState[AnimationState["LEFT"] = -1] = "LEFT";
|
|
5
|
-
AnimationState[AnimationState["NONE"] = 0] = "NONE";
|
|
6
|
-
AnimationState[AnimationState["RIGHT"] = 1] = "RIGHT";
|
|
7
|
-
})(AnimationState || (AnimationState = {}));
|
|
8
|
-
|
|
9
|
-
function getAnimationState(animationEnabled, nextSlide, currentSlide, deltaX, isRTL) {
|
|
10
|
-
if (deltaX === 0 && (!animationEnabled || nextSlide === currentSlide)) {
|
|
11
|
-
return AnimationState.NONE;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (deltaX < 0 || nextSlide > currentSlide && !isRTL || nextSlide < currentSlide && isRTL) {
|
|
15
|
-
return AnimationState.RIGHT;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return AnimationState.LEFT;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function getSlideIndex(curSlide, nextSlide, deltaX, slidesToScroll, isRTL) {
|
|
22
|
-
if (deltaX > 0 && !isRTL || deltaX < 0 && isRTL) {
|
|
23
|
-
return curSlide - slidesToScroll;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return Math.min(curSlide, nextSlide);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function getLeftOffset(animationState, itemWidth, slidesToScroll, isRTL) {
|
|
30
|
-
if (animationState === AnimationState.LEFT && !isRTL) {
|
|
31
|
-
return "".concat(-itemWidth * slidesToScroll, "%");
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (animationState === AnimationState.RIGHT && isRTL) {
|
|
35
|
-
return "".concat(itemWidth * slidesToScroll, "%");
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return undefined;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function getSpringTarget(drag, deltaX, animationState, itemWidth, slidesToScroll) {
|
|
42
|
-
if (drag) {
|
|
43
|
-
return deltaX;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (animationState === AnimationState.LEFT) {
|
|
47
|
-
return itemWidth * slidesToScroll;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (animationState === AnimationState.RIGHT) {
|
|
51
|
-
return -itemWidth * slidesToScroll;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return 0;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export function getSlidesToScroll(curSlide, nextSlide, deltaX, itemWidth) {
|
|
58
|
-
var dragSlideCount = deltaX !== 0 ? 1 + Math.floor(Math.abs(deltaX) / itemWidth) : 0;
|
|
59
|
-
var slideCount = Math.abs(nextSlide - curSlide);
|
|
60
|
-
return Math.max(dragSlideCount, slideCount);
|
|
61
|
-
}
|
|
62
|
-
export function getSliderParams(numAvailableSlides, curSlide, nextSlide, slidesToShow, dragging, deltaX, isRTL) {
|
|
63
|
-
// The size in percentage that each slide will ocupy
|
|
64
|
-
var itemWidth = 100 / slidesToShow;
|
|
65
|
-
var animationEnabled = numAvailableSlides >= slidesToShow; // if we don't have enough children to animate, we will fulfill
|
|
66
|
-
// the remaining space with a padding to the right
|
|
67
|
-
|
|
68
|
-
var paddingRight = animationEnabled ? undefined : "".concat(itemWidth * (slidesToShow - numAvailableSlides), "%");
|
|
69
|
-
var animationState = getAnimationState(animationEnabled, nextSlide, curSlide, deltaX, isRTL);
|
|
70
|
-
var slidesToScroll = getSlidesToScroll(curSlide, nextSlide, deltaX, itemWidth);
|
|
71
|
-
var startingIndex = getSlideIndex(curSlide, nextSlide, deltaX, slidesToScroll, isRTL);
|
|
72
|
-
var count = slidesToShow + (animationState !== AnimationState.NONE ? slidesToScroll : 0); // shift items to the left for animation effect
|
|
73
|
-
|
|
74
|
-
var left = getLeftOffset(animationState, itemWidth, slidesToScroll, isRTL);
|
|
75
|
-
var targetX = getSpringTarget(dragging, deltaX, nextSlide !== curSlide ? animationState : AnimationState.NONE, itemWidth, Math.abs(nextSlide - curSlide));
|
|
76
|
-
return {
|
|
77
|
-
startingIndex: startingIndex,
|
|
78
|
-
count: count,
|
|
79
|
-
left: left,
|
|
80
|
-
targetX: targetX,
|
|
81
|
-
itemWidth: itemWidth,
|
|
82
|
-
paddingRight: paddingRight
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=getSliderParams.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Carousel/getSliderParams.ts"],"names":["AnimationState","getAnimationState","animationEnabled","nextSlide","currentSlide","deltaX","isRTL","NONE","RIGHT","LEFT","getSlideIndex","curSlide","slidesToScroll","Math","min","getLeftOffset","animationState","itemWidth","undefined","getSpringTarget","drag","getSlidesToScroll","dragSlideCount","floor","abs","slideCount","max","getSliderParams","numAvailableSlides","slidesToShow","dragging","paddingRight","startingIndex","count","left","targetX"],"mappings":"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","sourcesContent":["enum AnimationState {\n LEFT = -1,\n NONE = 0,\n RIGHT = 1,\n}\n\nfunction getAnimationState(\n animationEnabled: boolean,\n nextSlide: number,\n currentSlide: number,\n deltaX: number,\n isRTL: boolean\n): AnimationState {\n if (deltaX === 0 && (!animationEnabled || nextSlide === currentSlide)) {\n return AnimationState.NONE;\n }\n\n if (\n deltaX < 0 ||\n (nextSlide > currentSlide && !isRTL) ||\n (nextSlide < currentSlide && isRTL)\n ) {\n return AnimationState.RIGHT;\n }\n\n return AnimationState.LEFT;\n}\n\nfunction getSlideIndex(\n curSlide: number,\n nextSlide: number,\n deltaX: number,\n slidesToScroll: number,\n isRTL: boolean\n) {\n if ((deltaX > 0 && !isRTL) || (deltaX < 0 && isRTL)) {\n return curSlide - slidesToScroll;\n }\n\n return Math.min(curSlide, nextSlide);\n}\n\nfunction getLeftOffset(\n animationState: AnimationState,\n itemWidth: number,\n slidesToScroll: number,\n isRTL: boolean\n) {\n if (animationState === AnimationState.LEFT && !isRTL) {\n return `${-itemWidth * slidesToScroll}%`;\n }\n if (animationState === AnimationState.RIGHT && isRTL) {\n return `${itemWidth * slidesToScroll}%`;\n }\n\n return undefined;\n}\n\nfunction getSpringTarget(\n drag: boolean,\n deltaX: number,\n animationState: AnimationState,\n itemWidth: number,\n slidesToScroll: number\n) {\n if (drag) {\n return deltaX;\n }\n if (animationState === AnimationState.LEFT) {\n return itemWidth * slidesToScroll;\n }\n if (animationState === AnimationState.RIGHT) {\n return -itemWidth * slidesToScroll;\n }\n\n return 0;\n}\n\nexport function getSlidesToScroll(\n curSlide: number,\n nextSlide: number,\n deltaX: number,\n itemWidth: number\n) {\n const dragSlideCount =\n deltaX !== 0 ? 1 + Math.floor(Math.abs(deltaX) / itemWidth) : 0;\n const slideCount = Math.abs(nextSlide - curSlide);\n\n return Math.max(dragSlideCount, slideCount);\n}\n\nexport function getSliderParams(\n numAvailableSlides: number,\n curSlide: number,\n nextSlide: number,\n slidesToShow: number,\n dragging: boolean,\n deltaX: number,\n isRTL: boolean\n) {\n // The size in percentage that each slide will ocupy\n const itemWidth = 100 / slidesToShow;\n\n const animationEnabled = numAvailableSlides >= slidesToShow;\n // if we don't have enough children to animate, we will fulfill\n // the remaining space with a padding to the right\n const paddingRight = animationEnabled\n ? undefined\n : `${itemWidth * (slidesToShow - numAvailableSlides)}%`;\n\n const animationState = getAnimationState(\n animationEnabled,\n nextSlide,\n curSlide,\n deltaX,\n isRTL\n );\n\n const slidesToScroll = getSlidesToScroll(\n curSlide,\n nextSlide,\n deltaX,\n itemWidth\n );\n\n const startingIndex = getSlideIndex(\n curSlide,\n nextSlide,\n deltaX,\n slidesToScroll,\n isRTL\n );\n const count =\n slidesToShow +\n (animationState !== AnimationState.NONE ? slidesToScroll : 0);\n\n // shift items to the left for animation effect\n const left = getLeftOffset(animationState, itemWidth, slidesToScroll, isRTL);\n\n const targetX = getSpringTarget(\n dragging,\n deltaX,\n nextSlide !== curSlide ? animationState : AnimationState.NONE,\n itemWidth,\n Math.abs(nextSlide - curSlide)\n );\n\n return { startingIndex, count, left, targetX, itemWidth, paddingRight };\n}\n"],"file":"getSliderParams.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Carousel/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAd;AACA,cAAc,UAAd;AACA,cAAc,SAAd;AACA,cAAc,cAAd;AACA,cAAc,aAAd;AACA,cAAc,aAAd;AACA,cAAc,WAAd","sourcesContent":["export * from './Carousel';\nexport * from './Slider';\nexport * from './Fader';\nexport * from './SliderItem';\nexport * from './FaderItem';\nexport * from './Preloader';\nexport * from './context';\n"],"file":"index.js"}
|