@arco-design/mobile-react 2.25.4 → 2.26.0
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/CHANGELOG.md +21 -0
- package/README.en-US.md +2 -2
- package/README.md +2 -2
- package/cjs/_helpers/hooks.js +124 -43
- package/cjs/_helpers/index.js +13 -2
- package/cjs/_helpers/react-dom.js +12 -0
- package/cjs/_helpers/render.js +12 -0
- package/cjs/action-sheet/index.d.ts +2 -2
- package/cjs/action-sheet/index.js +30 -10
- package/cjs/action-sheet/methods.js +2 -0
- package/cjs/action-sheet/style/css/index.js +2 -0
- package/cjs/action-sheet/style/index.js +2 -0
- package/cjs/avatar/group.js +24 -12
- package/cjs/avatar/index.js +77 -51
- package/cjs/avatar/style/css/index.js +2 -0
- package/cjs/avatar/style/index.js +2 -0
- package/cjs/badge/index.js +29 -18
- package/cjs/badge/style/css/index.js +1 -0
- package/cjs/badge/style/index.js +1 -0
- package/cjs/button/hooks.js +20 -15
- package/cjs/button/index.js +67 -46
- package/cjs/button/style/css/index.js +2 -0
- package/cjs/button/style/index.js +2 -0
- package/cjs/carousel/index.d.ts +6 -0
- package/cjs/carousel/index.js +342 -184
- package/cjs/carousel/style/css/index.css +50 -15
- package/cjs/carousel/style/css/index.js +1 -0
- package/cjs/carousel/style/index.js +1 -0
- package/cjs/carousel/style/index.less +19 -14
- package/cjs/cell/arrow.js +3 -0
- package/cjs/cell/cell.js +23 -14
- package/cjs/cell/demo/style/css/mobile.css +8 -0
- package/cjs/cell/demo/style/mobile.less +2 -2
- package/cjs/cell/group.js +21 -9
- package/cjs/cell/index.js +7 -1
- package/cjs/cell/style/css/index.css +16 -0
- package/cjs/cell/style/css/index.js +1 -0
- package/cjs/cell/style/index.js +1 -0
- package/cjs/cell/style/index.less +6 -4
- package/cjs/checkbox/checkbox.js +57 -31
- package/cjs/checkbox/group.js +38 -24
- package/cjs/checkbox/hooks/index.js +2 -0
- package/cjs/checkbox/hooks/useMergeProps.js +14 -7
- package/cjs/checkbox/index.js +8 -1
- package/cjs/checkbox/style/css/index.js +1 -0
- package/cjs/checkbox/style/index.js +1 -0
- package/cjs/checkbox/type.js +2 -0
- package/cjs/circle-progress/index.js +57 -37
- package/cjs/circle-progress/style/css/index.js +1 -0
- package/cjs/circle-progress/style/index.js +1 -0
- package/cjs/collapse/collapse.js +56 -27
- package/cjs/collapse/group.js +44 -20
- package/cjs/collapse/index.js +9 -0
- package/cjs/collapse/style/css/index.js +1 -0
- package/cjs/collapse/style/index.js +1 -0
- package/cjs/collapse/utils.js +7 -0
- package/cjs/context-provider/index.d.ts +6 -0
- package/cjs/context-provider/index.js +30 -11
- package/cjs/context-provider/style/css/index.js +1 -0
- package/cjs/context-provider/style/index.js +1 -0
- package/cjs/count-down/hooks.js +43 -24
- package/cjs/count-down/index.js +37 -29
- package/cjs/count-down/singleton.js +12 -2
- package/cjs/count-down/style/css/index.js +1 -0
- package/cjs/count-down/style/index.js +1 -0
- package/cjs/count-down/util.js +47 -33
- package/cjs/date-picker/helper.js +14 -7
- package/cjs/date-picker/index.js +106 -42
- package/cjs/date-picker/style/css/index.js +2 -0
- package/cjs/date-picker/style/index.js +2 -0
- package/cjs/dialog/index.d.ts +2 -2
- package/cjs/dialog/index.js +54 -28
- package/cjs/dialog/methods.js +22 -9
- package/cjs/dialog/style/css/index.js +2 -0
- package/cjs/dialog/style/index.js +2 -0
- package/cjs/divider/demo/style/css/mobile.css +7 -0
- package/cjs/divider/demo/style/mobile.less +12 -0
- package/cjs/divider/index.d.ts +49 -0
- package/cjs/divider/index.js +65 -0
- package/cjs/divider/style/css/index.css +69 -0
- package/cjs/divider/style/css/index.d.ts +2 -0
- package/cjs/divider/style/css/index.js +5 -0
- package/cjs/divider/style/index.d.ts +2 -0
- package/cjs/divider/style/index.js +5 -0
- package/cjs/divider/style/index.less +66 -0
- package/cjs/dropdown/dropdown.js +113 -74
- package/cjs/dropdown/index.js +8 -1
- package/cjs/dropdown/options.js +28 -12
- package/cjs/dropdown/style/css/index.js +1 -0
- package/cjs/dropdown/style/index.js +1 -0
- package/cjs/dropdown-menu/dropdown-menu.js +84 -49
- package/cjs/dropdown-menu/helper.js +27 -6
- package/cjs/dropdown-menu/index.js +6 -0
- package/cjs/dropdown-menu/style/css/index.js +2 -0
- package/cjs/dropdown-menu/style/index.js +2 -0
- package/cjs/ellipsis/components/js-ellipsis.js +72 -33
- package/cjs/ellipsis/components/native-ellipsis.js +15 -9
- package/cjs/ellipsis/index.js +32 -19
- package/cjs/ellipsis/style/css/index.js +1 -0
- package/cjs/ellipsis/style/index.js +1 -0
- package/cjs/ellipsis/utils/dom.js +8 -0
- package/cjs/ellipsis/utils/is.js +5 -1
- package/cjs/form/form-item-context.js +5 -0
- package/cjs/form/form-item.js +124 -42
- package/cjs/form/index.js +35 -17
- package/cjs/form/style/css/index.js +1 -0
- package/cjs/form/style/index.js +1 -0
- package/cjs/form/type.js +3 -0
- package/cjs/form/useForm.js +76 -18
- package/cjs/form/utils.js +10 -3
- package/cjs/grid/index.js +41 -21
- package/cjs/grid/style/css/index.js +1 -0
- package/cjs/grid/style/index.js +1 -0
- package/cjs/icon/IconAdd/index.js +12 -5
- package/cjs/icon/IconArrowBack/index.js +12 -5
- package/cjs/icon/IconArrowDown/index.js +12 -5
- package/cjs/icon/IconArrowIn/index.js +12 -5
- package/cjs/icon/IconArrowUp/index.js +12 -5
- package/cjs/icon/IconCheck/index.js +12 -5
- package/cjs/icon/IconCheckBold/index.js +12 -5
- package/cjs/icon/IconCircleChecked/index.js +12 -5
- package/cjs/icon/IconCircleDisabled/index.js +12 -5
- package/cjs/icon/IconCircleUnchecked/index.js +12 -5
- package/cjs/icon/IconClear/index.js +12 -5
- package/cjs/icon/IconClose/index.js +12 -5
- package/cjs/icon/IconCloseBold/index.js +12 -5
- package/cjs/icon/IconDelete/index.js +12 -5
- package/cjs/icon/IconEdit/index.js +12 -5
- package/cjs/icon/IconErrorCircle/index.js +12 -5
- package/cjs/icon/IconEyeInvisible/index.js +12 -5
- package/cjs/icon/IconEyeVisible/index.js +12 -5
- package/cjs/icon/IconEyelashInvisible/index.js +12 -5
- package/cjs/icon/IconGift/index.js +12 -5
- package/cjs/icon/IconHeart/index.js +12 -5
- package/cjs/icon/IconHome/index.js +12 -5
- package/cjs/icon/IconLikeCircle/index.js +12 -5
- package/cjs/icon/IconMinus/index.js +12 -5
- package/cjs/icon/IconMore/index.js +12 -5
- package/cjs/icon/IconNotice/index.js +12 -5
- package/cjs/icon/IconNoticeOff/index.js +12 -5
- package/cjs/icon/IconPicture/index.js +12 -5
- package/cjs/icon/IconPlay/index.js +12 -5
- package/cjs/icon/IconQuestionCircle/index.js +12 -5
- package/cjs/icon/IconRefresh/index.js +12 -5
- package/cjs/icon/IconSad/index.js +12 -5
- package/cjs/icon/IconScan/index.js +12 -5
- package/cjs/icon/IconSearch/index.js +12 -5
- package/cjs/icon/IconSetting/index.js +12 -5
- package/cjs/icon/IconShop/index.js +12 -5
- package/cjs/icon/IconShopping/index.js +12 -5
- package/cjs/icon/IconSmileFill/index.js +12 -5
- package/cjs/icon/IconSound/index.js +12 -5
- package/cjs/icon/IconSquareChecked/index.js +12 -5
- package/cjs/icon/IconSquareDisabled/index.js +12 -5
- package/cjs/icon/IconSquareUnchecked/index.js +12 -5
- package/cjs/icon/IconStar/index.js +12 -5
- package/cjs/icon/IconStarFill/index.js +12 -5
- package/cjs/icon/IconStarHalf/index.js +12 -5
- package/cjs/icon/IconSubway/index.js +12 -5
- package/cjs/icon/IconSuccessCircle/index.js +12 -5
- package/cjs/icon/IconTriDown/index.js +12 -5
- package/cjs/icon/IconTriUp/index.js +12 -5
- package/cjs/icon/IconUpload/index.js +12 -5
- package/cjs/icon/IconUser/index.js +12 -5
- package/cjs/icon/IconUserFill/index.js +12 -5
- package/cjs/icon/IconWarnCircle/index.js +12 -5
- package/cjs/icon/IconWarnCircleFill/index.js +12 -5
- package/cjs/icon/index.js +111 -0
- package/cjs/image/index.js +92 -56
- package/cjs/image/style/css/index.css +1 -0
- package/cjs/image/style/css/index.js +2 -0
- package/cjs/image/style/index.js +2 -0
- package/cjs/image/style/index.less +1 -0
- package/cjs/image-picker/add-icon.js +3 -0
- package/cjs/image-picker/index.js +96 -52
- package/cjs/image-picker/style/css/index.js +2 -0
- package/cjs/image-picker/style/index.js +2 -0
- package/cjs/image-preview/index.d.ts +2 -2
- package/cjs/image-preview/index.js +239 -119
- package/cjs/image-preview/methods.js +18 -5
- package/cjs/image-preview/style/css/index.js +4 -0
- package/cjs/image-preview/style/index.js +4 -0
- package/cjs/index.d.ts +10 -9
- package/cjs/index.js +132 -19
- package/cjs/input/demo/style/css/mobile.css +5 -1
- package/cjs/input/demo/style/mobile.less +2 -2
- package/cjs/input/hooks.js +104 -42
- package/cjs/input/index.js +40 -26
- package/cjs/input/props.d.ts +6 -0
- package/cjs/input/style/css/index.css +9 -0
- package/cjs/input/style/css/index.js +1 -0
- package/cjs/input/style/index.js +1 -0
- package/cjs/input/style/index.less +2 -2
- package/cjs/load-more/index.js +56 -29
- package/cjs/load-more/style/css/index.js +1 -0
- package/cjs/load-more/style/index.js +1 -0
- package/cjs/loading/index.js +48 -19
- package/cjs/loading/style/css/index.js +1 -0
- package/cjs/loading/style/index.js +1 -0
- package/cjs/masking/index.d.ts +2 -2
- package/cjs/masking/index.js +79 -46
- package/cjs/masking/methods.js +19 -4
- package/cjs/masking/style/css/index.js +2 -0
- package/cjs/masking/style/index.js +2 -0
- package/cjs/nav-bar/back-icon.js +5 -1
- package/cjs/nav-bar/index.js +61 -37
- package/cjs/nav-bar/style/css/index.js +1 -0
- package/cjs/nav-bar/style/index.js +1 -0
- package/cjs/notice-bar/index.js +61 -33
- package/cjs/notice-bar/style/css/index.css +33 -0
- package/cjs/notice-bar/style/css/index.js +1 -0
- package/cjs/notice-bar/style/index.js +1 -0
- package/cjs/notice-bar/style/index.less +16 -3
- package/cjs/notify/index.d.ts +8 -8
- package/cjs/notify/index.js +49 -20
- package/cjs/notify/methods.js +17 -2
- package/cjs/notify/style/css/index.js +1 -0
- package/cjs/notify/style/index.js +1 -0
- package/cjs/pagination/arrow.js +3 -0
- package/cjs/pagination/index.js +58 -27
- package/cjs/pagination/style/css/index.js +1 -0
- package/cjs/pagination/style/index.js +1 -0
- package/cjs/picker/index.js +81 -40
- package/cjs/picker/style/css/index.js +3 -0
- package/cjs/picker/style/index.js +3 -0
- package/cjs/picker-view/components/cascader.js +31 -14
- package/cjs/picker-view/components/multi-picker.js +20 -6
- package/cjs/picker-view/components/picker-cell.js +97 -45
- package/cjs/picker-view/index.js +71 -25
- package/cjs/picker-view/style/css/index.js +1 -0
- package/cjs/picker-view/style/index.js +1 -0
- package/cjs/popover/hooks/index.js +4 -0
- package/cjs/popover/hooks/useEvent.js +49 -25
- package/cjs/popover/hooks/usePosition.js +151 -94
- package/cjs/popover/index.js +8 -1
- package/cjs/popover/menu.js +51 -32
- package/cjs/popover/popover-inner.js +47 -30
- package/cjs/popover/popover.js +101 -69
- package/cjs/popover/style/css/index.js +2 -0
- package/cjs/popover/style/index.js +2 -0
- package/cjs/popup/index.d.ts +2 -2
- package/cjs/popup/index.js +39 -22
- package/cjs/popup/methods.js +2 -0
- package/cjs/popup/style/css/index.js +2 -0
- package/cjs/popup/style/index.js +2 -0
- package/cjs/popup-swiper/index.d.ts +2 -2
- package/cjs/popup-swiper/index.js +80 -38
- package/cjs/popup-swiper/methods.js +2 -0
- package/cjs/popup-swiper/style/css/index.js +2 -0
- package/cjs/popup-swiper/style/index.js +2 -0
- package/cjs/portal/index.js +8 -3
- package/cjs/portal/style/css/index.js +1 -0
- package/cjs/portal/style/index.js +1 -0
- package/cjs/progress/index.js +44 -27
- package/cjs/progress/style/css/index.js +1 -0
- package/cjs/progress/style/index.js +1 -0
- package/cjs/pull-refresh/android-pull-refresh.js +100 -58
- package/cjs/pull-refresh/hooks.js +32 -11
- package/cjs/pull-refresh/index.js +14 -3
- package/cjs/pull-refresh/ios-pull-refresh.js +80 -53
- package/cjs/pull-refresh/model.js +1 -0
- package/cjs/pull-refresh/style/css/index.js +2 -0
- package/cjs/pull-refresh/style/index.js +2 -0
- package/cjs/radio/group.js +34 -20
- package/cjs/radio/index.js +8 -1
- package/cjs/radio/radio.js +10 -0
- package/cjs/radio/style/css/index.js +1 -0
- package/cjs/radio/style/index.js +1 -0
- package/cjs/rate/index.js +50 -24
- package/cjs/rate/style/css/index.js +1 -0
- package/cjs/rate/style/index.js +1 -0
- package/cjs/search-bar/association.js +32 -14
- package/cjs/search-bar/cancel-button.js +16 -8
- package/cjs/search-bar/highlight.js +25 -14
- package/cjs/search-bar/index.js +97 -77
- package/cjs/search-bar/style/css/index.js +1 -0
- package/cjs/search-bar/style/index.js +1 -0
- package/cjs/show-monitor/index.js +93 -34
- package/cjs/show-monitor/style/css/index.js +1 -0
- package/cjs/show-monitor/style/index.js +1 -0
- package/cjs/slider/hooks/index.js +13 -0
- package/cjs/slider/hooks/useSliderEvents.js +55 -26
- package/cjs/slider/hooks/useSliderIcon.js +20 -6
- package/cjs/slider/hooks/useSliderInit.js +52 -32
- package/cjs/slider/hooks/useSliderStyle.js +24 -12
- package/cjs/slider/index.js +72 -46
- package/cjs/slider/marks.js +26 -12
- package/cjs/slider/popover.js +13 -4
- package/cjs/slider/style/css/index.js +2 -0
- package/cjs/slider/style/index.js +2 -0
- package/cjs/slider/thumb.js +23 -8
- package/cjs/stepper/hooks/useButtonClick.js +28 -19
- package/cjs/stepper/hooks/useInputEvent.js +18 -9
- package/cjs/stepper/hooks/useValue.js +14 -9
- package/cjs/stepper/index.js +96 -82
- package/cjs/stepper/style/css/index.js +1 -0
- package/cjs/stepper/style/index.js +1 -0
- package/cjs/steps/index.js +40 -22
- package/cjs/steps/step.js +27 -10
- package/cjs/steps/style/css/index.js +1 -0
- package/cjs/steps/style/index.js +1 -0
- package/cjs/sticky/index.js +65 -36
- package/cjs/sticky/style/css/index.js +1 -0
- package/cjs/sticky/style/index.js +1 -0
- package/cjs/style.d.ts +9 -8
- package/cjs/style.js +64 -8
- package/cjs/swipe-action/index.js +92 -40
- package/cjs/swipe-action/item.js +17 -9
- package/cjs/swipe-action/style/css/index.js +1 -0
- package/cjs/swipe-action/style/index.js +1 -0
- package/cjs/swipe-load/index.js +83 -55
- package/cjs/swipe-load/style/css/index.js +1 -0
- package/cjs/swipe-load/style/index.js +1 -0
- package/cjs/switch/index.js +47 -27
- package/cjs/switch/style/css/index.js +1 -0
- package/cjs/switch/style/index.js +1 -0
- package/cjs/tab-bar/index.js +7 -0
- package/cjs/tab-bar/item.js +24 -6
- package/cjs/tab-bar/style/css/index.js +1 -0
- package/cjs/tab-bar/style/index.js +1 -0
- package/cjs/tab-bar/tab-bar.js +31 -15
- package/cjs/tabs/index.js +195 -129
- package/cjs/tabs/style/css/index.js +1 -0
- package/cjs/tabs/style/index.js +1 -0
- package/cjs/tabs/tab-cell-underline.js +111 -38
- package/cjs/tabs/tab-cell.js +124 -70
- package/cjs/tabs/tab-pane.js +94 -49
- package/cjs/tabs/type.d.ts +18 -2
- package/cjs/tag/index.js +8 -1
- package/cjs/tag/list.js +26 -11
- package/cjs/tag/style/css/index.js +1 -0
- package/cjs/tag/style/index.js +1 -0
- package/cjs/tag/tag.js +32 -20
- package/cjs/textarea/index.js +56 -35
- package/cjs/textarea/style/css/index.js +2 -0
- package/cjs/textarea/style/index.js +2 -0
- package/cjs/toast/index.d.ts +12 -12
- package/cjs/toast/index.js +61 -26
- package/cjs/toast/methods.js +16 -2
- package/cjs/toast/style/css/index.js +3 -0
- package/cjs/toast/style/index.js +3 -0
- package/cjs/transition/index.js +18 -10
- package/cjs/transition/style/css/index.js +1 -0
- package/cjs/transition/style/index.js +1 -0
- package/dist/index.js +21588 -19198
- package/dist/index.min.js +4 -4
- package/dist/style.css +3637 -3501
- package/dist/style.min.css +1 -1
- package/esm/_helpers/hooks.js +103 -42
- package/esm/_helpers/index.js +3 -2
- package/esm/_helpers/react-dom.js +10 -0
- package/esm/_helpers/render.js +7 -0
- package/esm/action-sheet/index.d.ts +2 -2
- package/esm/action-sheet/index.js +16 -10
- package/esm/avatar/group.js +16 -12
- package/esm/avatar/index.js +62 -51
- package/esm/badge/index.js +22 -18
- package/esm/button/hooks.js +18 -15
- package/esm/button/index.js +57 -46
- package/esm/carousel/index.d.ts +6 -0
- package/esm/carousel/index.js +336 -186
- package/esm/carousel/style/css/index.css +50 -15
- package/esm/carousel/style/index.less +19 -14
- package/esm/cell/cell.js +14 -14
- package/esm/cell/demo/style/css/mobile.css +8 -0
- package/esm/cell/demo/style/mobile.less +2 -2
- package/esm/cell/group.js +11 -9
- package/esm/cell/index.js +1 -1
- package/esm/cell/style/css/index.css +16 -0
- package/esm/cell/style/index.less +6 -4
- package/esm/checkbox/checkbox.js +42 -31
- package/esm/checkbox/group.js +28 -24
- package/esm/checkbox/hooks/useMergeProps.js +9 -7
- package/esm/checkbox/index.js +2 -2
- package/esm/checkbox/type.js +1 -0
- package/esm/circle-progress/index.js +49 -37
- package/esm/collapse/collapse.js +46 -27
- package/esm/collapse/group.js +34 -20
- package/esm/collapse/index.js +1 -1
- package/esm/collapse/utils.js +1 -0
- package/esm/context-provider/index.d.ts +6 -0
- package/esm/context-provider/index.js +20 -11
- package/esm/count-down/hooks.js +37 -24
- package/esm/count-down/index.js +29 -30
- package/esm/count-down/singleton.js +5 -2
- package/esm/count-down/util.js +42 -33
- package/esm/date-picker/helper.js +9 -7
- package/esm/date-picker/index.js +93 -42
- package/esm/dialog/index.d.ts +2 -2
- package/esm/dialog/index.js +39 -28
- package/esm/dialog/methods.js +11 -9
- package/esm/divider/demo/style/css/mobile.css +7 -0
- package/esm/divider/demo/style/mobile.less +12 -0
- package/esm/divider/index.d.ts +49 -0
- package/esm/divider/index.js +49 -0
- package/esm/divider/style/css/index.css +69 -0
- package/esm/divider/style/css/index.d.ts +2 -0
- package/esm/divider/style/css/index.js +2 -0
- package/esm/divider/style/index.d.ts +2 -0
- package/esm/divider/style/index.js +2 -0
- package/esm/divider/style/index.less +66 -0
- package/esm/dropdown/dropdown.js +102 -74
- package/esm/dropdown/index.js +1 -1
- package/esm/dropdown/options.js +20 -12
- package/esm/dropdown-menu/dropdown-menu.js +74 -49
- package/esm/dropdown-menu/helper.js +16 -6
- package/esm/dropdown-menu/index.js +1 -1
- package/esm/ellipsis/components/js-ellipsis.js +63 -33
- package/esm/ellipsis/components/native-ellipsis.js +11 -9
- package/esm/ellipsis/index.js +21 -20
- package/esm/ellipsis/utils/dom.js +7 -0
- package/esm/ellipsis/utils/is.js +1 -1
- package/esm/form/form-item.js +110 -42
- package/esm/form/index.js +20 -17
- package/esm/form/type.js +3 -0
- package/esm/form/useForm.js +71 -17
- package/esm/form/utils.js +6 -3
- package/esm/grid/index.js +34 -21
- package/esm/icon/IconAdd/index.js +6 -5
- package/esm/icon/IconArrowBack/index.js +6 -5
- package/esm/icon/IconArrowDown/index.js +6 -5
- package/esm/icon/IconArrowIn/index.js +6 -5
- package/esm/icon/IconArrowUp/index.js +6 -5
- package/esm/icon/IconCheck/index.js +6 -5
- package/esm/icon/IconCheckBold/index.js +6 -5
- package/esm/icon/IconCircleChecked/index.js +6 -5
- package/esm/icon/IconCircleDisabled/index.js +6 -5
- package/esm/icon/IconCircleUnchecked/index.js +6 -5
- package/esm/icon/IconClear/index.js +6 -5
- package/esm/icon/IconClose/index.js +6 -5
- package/esm/icon/IconCloseBold/index.js +6 -5
- package/esm/icon/IconDelete/index.js +6 -5
- package/esm/icon/IconEdit/index.js +6 -5
- package/esm/icon/IconErrorCircle/index.js +6 -5
- package/esm/icon/IconEyeInvisible/index.js +6 -5
- package/esm/icon/IconEyeVisible/index.js +6 -5
- package/esm/icon/IconEyelashInvisible/index.js +6 -5
- package/esm/icon/IconGift/index.js +6 -5
- package/esm/icon/IconHeart/index.js +6 -5
- package/esm/icon/IconHome/index.js +6 -5
- package/esm/icon/IconLikeCircle/index.js +6 -5
- package/esm/icon/IconMinus/index.js +6 -5
- package/esm/icon/IconMore/index.js +6 -5
- package/esm/icon/IconNotice/index.js +6 -5
- package/esm/icon/IconNoticeOff/index.js +6 -5
- package/esm/icon/IconPicture/index.js +6 -5
- package/esm/icon/IconPlay/index.js +6 -5
- package/esm/icon/IconQuestionCircle/index.js +6 -5
- package/esm/icon/IconRefresh/index.js +6 -5
- package/esm/icon/IconSad/index.js +6 -5
- package/esm/icon/IconScan/index.js +6 -5
- package/esm/icon/IconSearch/index.js +6 -5
- package/esm/icon/IconSetting/index.js +6 -5
- package/esm/icon/IconShop/index.js +6 -5
- package/esm/icon/IconShopping/index.js +6 -5
- package/esm/icon/IconSmileFill/index.js +6 -5
- package/esm/icon/IconSound/index.js +6 -5
- package/esm/icon/IconSquareChecked/index.js +6 -5
- package/esm/icon/IconSquareDisabled/index.js +6 -5
- package/esm/icon/IconSquareUnchecked/index.js +6 -5
- package/esm/icon/IconStar/index.js +6 -5
- package/esm/icon/IconStarFill/index.js +6 -5
- package/esm/icon/IconStarHalf/index.js +6 -5
- package/esm/icon/IconSubway/index.js +6 -5
- package/esm/icon/IconSuccessCircle/index.js +6 -5
- package/esm/icon/IconTriDown/index.js +6 -5
- package/esm/icon/IconTriUp/index.js +6 -5
- package/esm/icon/IconUpload/index.js +6 -5
- package/esm/icon/IconUser/index.js +6 -5
- package/esm/icon/IconUserFill/index.js +6 -5
- package/esm/icon/IconWarnCircle/index.js +6 -5
- package/esm/icon/IconWarnCircleFill/index.js +6 -5
- package/esm/image/index.js +84 -57
- package/esm/image/style/css/index.css +1 -0
- package/esm/image/style/index.less +1 -0
- package/esm/image-picker/index.js +80 -52
- package/esm/image-preview/index.d.ts +2 -2
- package/esm/image-preview/index.js +217 -119
- package/esm/image-preview/methods.js +14 -4
- package/esm/index.d.ts +10 -9
- package/esm/index.js +10 -9
- package/esm/input/demo/style/css/mobile.css +5 -1
- package/esm/input/demo/style/mobile.less +2 -2
- package/esm/input/hooks.js +96 -42
- package/esm/input/index.js +30 -26
- package/esm/input/props.d.ts +6 -0
- package/esm/input/style/css/index.css +9 -0
- package/esm/input/style/index.less +2 -2
- package/esm/load-more/index.js +48 -29
- package/esm/loading/index.js +40 -19
- package/esm/masking/index.d.ts +2 -2
- package/esm/masking/index.js +64 -46
- package/esm/masking/methods.js +15 -4
- package/esm/nav-bar/back-icon.js +3 -1
- package/esm/nav-bar/index.js +52 -37
- package/esm/notice-bar/index.js +56 -35
- package/esm/notice-bar/style/css/index.css +33 -0
- package/esm/notice-bar/style/index.less +16 -3
- package/esm/notify/index.d.ts +8 -8
- package/esm/notify/index.js +33 -20
- package/esm/notify/methods.js +13 -2
- package/esm/pagination/index.js +50 -27
- package/esm/picker/index.js +66 -40
- package/esm/picker-view/components/cascader.js +23 -14
- package/esm/picker-view/components/multi-picker.js +16 -6
- package/esm/picker-view/components/picker-cell.js +89 -45
- package/esm/picker-view/index.js +54 -25
- package/esm/popover/hooks/useEvent.js +41 -26
- package/esm/popover/hooks/usePosition.js +144 -94
- package/esm/popover/index.js +2 -2
- package/esm/popover/menu.js +41 -32
- package/esm/popover/popover-inner.js +38 -30
- package/esm/popover/popover.js +90 -69
- package/esm/popup/index.d.ts +2 -2
- package/esm/popup/index.js +25 -22
- package/esm/popup-swiper/index.d.ts +2 -2
- package/esm/popup-swiper/index.js +64 -38
- package/esm/portal/index.js +5 -3
- package/esm/progress/index.js +36 -27
- package/esm/pull-refresh/android-pull-refresh.js +90 -58
- package/esm/pull-refresh/hooks.js +23 -11
- package/esm/pull-refresh/index.js +5 -3
- package/esm/pull-refresh/ios-pull-refresh.js +68 -53
- package/esm/pull-refresh/model.js +1 -0
- package/esm/radio/group.js +24 -20
- package/esm/radio/index.js +2 -2
- package/esm/rate/index.js +39 -24
- package/esm/search-bar/association.js +27 -14
- package/esm/search-bar/cancel-button.js +11 -8
- package/esm/search-bar/highlight.js +20 -14
- package/esm/search-bar/index.js +86 -77
- package/esm/show-monitor/index.js +85 -34
- package/esm/slider/hooks/useSliderEvents.js +51 -26
- package/esm/slider/hooks/useSliderIcon.js +13 -6
- package/esm/slider/hooks/useSliderInit.js +46 -32
- package/esm/slider/hooks/useSliderStyle.js +20 -12
- package/esm/slider/index.js +62 -46
- package/esm/slider/marks.js +18 -12
- package/esm/slider/popover.js +6 -4
- package/esm/slider/thumb.js +15 -8
- package/esm/stepper/hooks/useButtonClick.js +27 -19
- package/esm/stepper/hooks/useInputEvent.js +16 -9
- package/esm/stepper/hooks/useValue.js +12 -9
- package/esm/stepper/index.js +82 -82
- package/esm/steps/index.js +27 -22
- package/esm/steps/step.js +19 -10
- package/esm/sticky/index.js +56 -36
- package/esm/style.d.ts +9 -8
- package/esm/style.js +9 -8
- package/esm/swipe-action/index.js +80 -40
- package/esm/swipe-action/item.js +12 -9
- package/esm/swipe-load/index.js +75 -56
- package/esm/switch/index.js +39 -27
- package/esm/tab-bar/index.js +1 -0
- package/esm/tab-bar/item.js +13 -6
- package/esm/tab-bar/tab-bar.js +21 -15
- package/esm/tabs/index.js +183 -130
- package/esm/tabs/tab-cell-underline.js +103 -38
- package/esm/tabs/tab-cell.js +114 -70
- package/esm/tabs/tab-pane.js +85 -49
- package/esm/tabs/type.d.ts +18 -2
- package/esm/tag/index.js +2 -2
- package/esm/tag/list.js +16 -11
- package/esm/tag/tag.js +22 -20
- package/esm/textarea/index.js +46 -35
- package/esm/toast/index.d.ts +12 -12
- package/esm/toast/index.js +42 -26
- package/esm/toast/methods.js +12 -2
- package/esm/transition/index.js +12 -10
- package/package.json +3 -3
- package/tokens/app/arcodesign/default/css-variables.less +8 -0
- package/tokens/app/arcodesign/default/index.d.ts +8 -0
- package/tokens/app/arcodesign/default/index.js +11 -1
- package/tokens/app/arcodesign/default/index.json +94 -0
- package/tokens/app/arcodesign/default/index.less +8 -0
- package/tokens/mixin/index.less +19 -1
- package/umd/_helpers/hooks.js +121 -43
- package/umd/_helpers/index.js +6 -2
- package/umd/_helpers/react-dom.js +11 -0
- package/umd/_helpers/render.js +9 -0
- package/umd/action-sheet/index.d.ts +2 -2
- package/umd/action-sheet/index.js +22 -10
- package/umd/action-sheet/methods.js +1 -0
- package/umd/avatar/group.js +20 -12
- package/umd/avatar/index.js +68 -51
- package/umd/badge/index.js +25 -18
- package/umd/button/hooks.js +19 -15
- package/umd/button/index.js +60 -46
- package/umd/carousel/index.d.ts +6 -0
- package/umd/carousel/index.js +337 -184
- package/umd/carousel/style/css/index.css +50 -15
- package/umd/carousel/style/index.less +19 -14
- package/umd/cell/arrow.js +2 -0
- package/umd/cell/cell.js +18 -14
- package/umd/cell/demo/style/css/mobile.css +8 -0
- package/umd/cell/demo/style/mobile.less +2 -2
- package/umd/cell/group.js +17 -9
- package/umd/cell/index.js +2 -1
- package/umd/cell/style/css/index.css +16 -0
- package/umd/cell/style/index.less +6 -4
- package/umd/checkbox/checkbox.js +45 -31
- package/umd/checkbox/group.js +34 -24
- package/umd/checkbox/hooks/useMergeProps.js +12 -7
- package/umd/checkbox/index.js +3 -1
- package/umd/checkbox/type.js +2 -0
- package/umd/circle-progress/index.js +52 -37
- package/umd/collapse/collapse.js +50 -27
- package/umd/collapse/group.js +38 -20
- package/umd/collapse/index.js +3 -0
- package/umd/collapse/utils.js +5 -0
- package/umd/context-provider/index.d.ts +6 -0
- package/umd/context-provider/index.js +25 -11
- package/umd/count-down/hooks.js +39 -24
- package/umd/count-down/index.js +31 -29
- package/umd/count-down/singleton.js +10 -2
- package/umd/count-down/util.js +47 -33
- package/umd/date-picker/helper.js +13 -7
- package/umd/date-picker/index.js +97 -42
- package/umd/dialog/index.d.ts +2 -2
- package/umd/dialog/index.js +44 -28
- package/umd/dialog/methods.js +18 -9
- package/umd/divider/demo/style/css/mobile.css +7 -0
- package/umd/divider/demo/style/mobile.less +12 -0
- package/umd/divider/index.d.ts +49 -0
- package/umd/divider/index.js +71 -0
- package/umd/divider/style/css/index.css +69 -0
- package/umd/divider/style/css/index.d.ts +2 -0
- package/umd/divider/style/css/index.js +15 -0
- package/umd/divider/style/index.d.ts +2 -0
- package/umd/divider/style/index.js +15 -0
- package/umd/divider/style/index.less +66 -0
- package/umd/dropdown/dropdown.js +106 -74
- package/umd/dropdown/index.js +3 -1
- package/umd/dropdown/options.js +24 -12
- package/umd/dropdown-menu/dropdown-menu.js +78 -49
- package/umd/dropdown-menu/helper.js +25 -6
- package/umd/dropdown-menu/index.js +2 -0
- package/umd/ellipsis/components/js-ellipsis.js +69 -33
- package/umd/ellipsis/components/native-ellipsis.js +13 -9
- package/umd/ellipsis/index.js +24 -19
- package/umd/ellipsis/utils/dom.js +8 -0
- package/umd/ellipsis/utils/is.js +5 -1
- package/umd/form/form-item-context.js +3 -0
- package/umd/form/form-item.js +114 -42
- package/umd/form/index.js +25 -17
- package/umd/form/type.js +3 -0
- package/umd/form/useForm.js +72 -18
- package/umd/form/utils.js +10 -3
- package/umd/grid/index.js +37 -21
- package/umd/icon/IconAdd/index.js +7 -5
- package/umd/icon/IconArrowBack/index.js +7 -5
- package/umd/icon/IconArrowDown/index.js +7 -5
- package/umd/icon/IconArrowIn/index.js +7 -5
- package/umd/icon/IconArrowUp/index.js +7 -5
- package/umd/icon/IconCheck/index.js +7 -5
- package/umd/icon/IconCheckBold/index.js +7 -5
- package/umd/icon/IconCircleChecked/index.js +7 -5
- package/umd/icon/IconCircleDisabled/index.js +7 -5
- package/umd/icon/IconCircleUnchecked/index.js +7 -5
- package/umd/icon/IconClear/index.js +7 -5
- package/umd/icon/IconClose/index.js +7 -5
- package/umd/icon/IconCloseBold/index.js +7 -5
- package/umd/icon/IconDelete/index.js +7 -5
- package/umd/icon/IconEdit/index.js +7 -5
- package/umd/icon/IconErrorCircle/index.js +7 -5
- package/umd/icon/IconEyeInvisible/index.js +7 -5
- package/umd/icon/IconEyeVisible/index.js +7 -5
- package/umd/icon/IconEyelashInvisible/index.js +7 -5
- package/umd/icon/IconGift/index.js +7 -5
- package/umd/icon/IconHeart/index.js +7 -5
- package/umd/icon/IconHome/index.js +7 -5
- package/umd/icon/IconLikeCircle/index.js +7 -5
- package/umd/icon/IconMinus/index.js +7 -5
- package/umd/icon/IconMore/index.js +7 -5
- package/umd/icon/IconNotice/index.js +7 -5
- package/umd/icon/IconNoticeOff/index.js +7 -5
- package/umd/icon/IconPicture/index.js +7 -5
- package/umd/icon/IconPlay/index.js +7 -5
- package/umd/icon/IconQuestionCircle/index.js +7 -5
- package/umd/icon/IconRefresh/index.js +7 -5
- package/umd/icon/IconSad/index.js +7 -5
- package/umd/icon/IconScan/index.js +7 -5
- package/umd/icon/IconSearch/index.js +7 -5
- package/umd/icon/IconSetting/index.js +7 -5
- package/umd/icon/IconShop/index.js +7 -5
- package/umd/icon/IconShopping/index.js +7 -5
- package/umd/icon/IconSmileFill/index.js +7 -5
- package/umd/icon/IconSound/index.js +7 -5
- package/umd/icon/IconSquareChecked/index.js +7 -5
- package/umd/icon/IconSquareDisabled/index.js +7 -5
- package/umd/icon/IconSquareUnchecked/index.js +7 -5
- package/umd/icon/IconStar/index.js +7 -5
- package/umd/icon/IconStarFill/index.js +7 -5
- package/umd/icon/IconStarHalf/index.js +7 -5
- package/umd/icon/IconSubway/index.js +7 -5
- package/umd/icon/IconSuccessCircle/index.js +7 -5
- package/umd/icon/IconTriDown/index.js +7 -5
- package/umd/icon/IconTriUp/index.js +7 -5
- package/umd/icon/IconUpload/index.js +7 -5
- package/umd/icon/IconUser/index.js +7 -5
- package/umd/icon/IconUserFill/index.js +7 -5
- package/umd/icon/IconWarnCircle/index.js +7 -5
- package/umd/icon/IconWarnCircleFill/index.js +7 -5
- package/umd/icon/index.js +1 -0
- package/umd/image/index.js +86 -56
- package/umd/image/style/css/index.css +1 -0
- package/umd/image/style/index.less +1 -0
- package/umd/image-picker/add-icon.js +2 -0
- package/umd/image-picker/index.js +85 -52
- package/umd/image-preview/index.d.ts +2 -2
- package/umd/image-preview/index.js +224 -119
- package/umd/image-preview/methods.js +15 -5
- package/umd/index.d.ts +10 -9
- package/umd/index.js +26 -23
- package/umd/input/demo/style/css/mobile.css +5 -1
- package/umd/input/demo/style/mobile.less +2 -2
- package/umd/input/hooks.js +100 -42
- package/umd/input/index.js +35 -26
- package/umd/input/props.d.ts +6 -0
- package/umd/input/style/css/index.css +9 -0
- package/umd/input/style/index.less +2 -2
- package/umd/load-more/index.js +51 -29
- package/umd/loading/index.js +43 -19
- package/umd/masking/index.d.ts +2 -2
- package/umd/masking/index.js +71 -46
- package/umd/masking/methods.js +16 -4
- package/umd/nav-bar/back-icon.js +4 -1
- package/umd/nav-bar/index.js +55 -37
- package/umd/notice-bar/index.js +57 -33
- package/umd/notice-bar/style/css/index.css +33 -0
- package/umd/notice-bar/style/index.less +16 -3
- package/umd/notify/index.d.ts +8 -8
- package/umd/notify/index.js +40 -20
- package/umd/notify/methods.js +14 -2
- package/umd/pagination/arrow.js +2 -0
- package/umd/pagination/index.js +53 -27
- package/umd/picker/index.js +70 -40
- package/umd/picker-view/components/cascader.js +27 -14
- package/umd/picker-view/components/multi-picker.js +19 -6
- package/umd/picker-view/components/picker-cell.js +93 -45
- package/umd/picker-view/index.js +58 -25
- package/umd/popover/hooks/useEvent.js +44 -25
- package/umd/popover/hooks/usePosition.js +145 -94
- package/umd/popover/index.js +3 -1
- package/umd/popover/menu.js +45 -32
- package/umd/popover/popover-inner.js +42 -30
- package/umd/popover/popover.js +94 -69
- package/umd/popup/index.d.ts +2 -2
- package/umd/popup/index.js +31 -22
- package/umd/popup/methods.js +1 -0
- package/umd/popup-swiper/index.d.ts +2 -2
- package/umd/popup-swiper/index.js +71 -38
- package/umd/popup-swiper/methods.js +1 -0
- package/umd/portal/index.js +6 -3
- package/umd/progress/index.js +39 -27
- package/umd/pull-refresh/android-pull-refresh.js +93 -58
- package/umd/pull-refresh/hooks.js +29 -11
- package/umd/pull-refresh/index.js +7 -3
- package/umd/pull-refresh/ios-pull-refresh.js +72 -53
- package/umd/pull-refresh/model.js +1 -0
- package/umd/radio/group.js +30 -20
- package/umd/radio/index.js +3 -1
- package/umd/radio/radio.js +5 -0
- package/umd/rate/index.js +44 -24
- package/umd/search-bar/association.js +29 -14
- package/umd/search-bar/cancel-button.js +14 -8
- package/umd/search-bar/highlight.js +21 -14
- package/umd/search-bar/index.js +87 -77
- package/umd/show-monitor/index.js +89 -34
- package/umd/slider/hooks/index.js +4 -0
- package/umd/slider/hooks/useSliderEvents.js +52 -26
- package/umd/slider/hooks/useSliderIcon.js +17 -6
- package/umd/slider/hooks/useSliderInit.js +50 -32
- package/umd/slider/hooks/useSliderStyle.js +22 -12
- package/umd/slider/index.js +65 -46
- package/umd/slider/marks.js +21 -12
- package/umd/slider/popover.js +10 -4
- package/umd/slider/thumb.js +18 -8
- package/umd/stepper/hooks/useButtonClick.js +27 -19
- package/umd/stepper/hooks/useInputEvent.js +17 -9
- package/umd/stepper/hooks/useValue.js +13 -9
- package/umd/stepper/index.js +87 -82
- package/umd/steps/index.js +32 -22
- package/umd/steps/step.js +22 -10
- package/umd/sticky/index.js +59 -36
- package/umd/style.d.ts +9 -8
- package/umd/style.js +4 -4
- package/umd/swipe-action/index.js +84 -40
- package/umd/swipe-action/item.js +14 -9
- package/umd/swipe-load/index.js +77 -55
- package/umd/switch/index.js +43 -27
- package/umd/tab-bar/index.js +2 -0
- package/umd/tab-bar/item.js +19 -6
- package/umd/tab-bar/tab-bar.js +26 -15
- package/umd/tabs/index.js +186 -129
- package/umd/tabs/tab-cell-underline.js +107 -38
- package/umd/tabs/tab-cell.js +119 -70
- package/umd/tabs/tab-pane.js +89 -49
- package/umd/tabs/type.d.ts +18 -2
- package/umd/tag/index.js +3 -1
- package/umd/tag/list.js +20 -11
- package/umd/tag/tag.js +26 -20
- package/umd/textarea/index.js +51 -35
- package/umd/toast/index.d.ts +12 -12
- package/umd/toast/index.js +49 -26
- package/umd/toast/methods.js +13 -2
- package/umd/transition/index.js +12 -10
package/umd/carousel/index.js
CHANGED
@@ -14,12 +14,16 @@
|
|
14
14
|
"use strict";
|
15
15
|
|
16
16
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
17
|
+
|
17
18
|
_exports.__esModule = true;
|
18
19
|
_exports.default = void 0;
|
19
20
|
_extends3 = _interopRequireDefault(_extends3);
|
20
21
|
_react = _interopRequireWildcard(_react);
|
22
|
+
|
21
23
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
24
|
+
|
22
25
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
26
|
+
|
23
27
|
/**
|
24
28
|
* 轮播组件,支持自定义轮播索引样式及滑块宽度。**需要注意的是,如果正使用`fastclick`,需要为 touchstart 的 target 添加`needsclick`类**(<a href="https://github.com/ftlabs/fastclick#ignore-certain-elements-with-needsclick" target="_blank">详情戳这里</a>),以规避`fastclick`逻辑与组件内部的手势冲突。(如果使用了`list`属性则无需额外添加)
|
25
29
|
* @en Carousel component, supports custom carousel index style and slider width. **Note that if you are using `fastclick`, you need to add a `needsclick` class to the touchstart target ** (<a href="https://github.com/ftlabs/fastclick#ignore-certain-elements- with-needsclick" target="_blank">click here for details</a>) to avoid `fastclick` logic conflicts with gestures inside the component. (no need to add if `list` is set)
|
@@ -30,90 +34,97 @@
|
|
30
34
|
*/
|
31
35
|
var Carousel = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
32
36
|
var className = props.className,
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
37
|
+
wrapStyle = props.wrapStyle,
|
38
|
+
style = props.style,
|
39
|
+
children = props.children,
|
40
|
+
_props$list = props.list,
|
41
|
+
list = _props$list === void 0 ? [] : _props$list,
|
42
|
+
_props$animateDuratio = props.animateDuration,
|
43
|
+
animateDuration = _props$animateDuratio === void 0 ? 500 : _props$animateDuratio,
|
44
|
+
_props$animateDuratio2 = props.animateDurationSlide,
|
45
|
+
animateDurationSlide = _props$animateDuratio2 === void 0 ? 300 : _props$animateDuratio2,
|
46
|
+
_props$loop = props.loop,
|
47
|
+
loop = _props$loop === void 0 ? true : _props$loop,
|
48
|
+
_props$autoPlay = props.autoPlay,
|
49
|
+
autoPlay = _props$autoPlay === void 0 ? true : _props$autoPlay,
|
50
|
+
_props$autoPlayDirect = props.autoPlayDirection,
|
51
|
+
autoPlayDirection = _props$autoPlayDirect === void 0 ? 'normal' : _props$autoPlayDirect,
|
52
|
+
_props$swipeable = props.swipeable,
|
53
|
+
swipeable = _props$swipeable === void 0 ? true : _props$swipeable,
|
54
|
+
_props$stayDuration = props.stayDuration,
|
55
|
+
stayDuration = _props$stayDuration === void 0 ? 4000 : _props$stayDuration,
|
56
|
+
boxWidth = props.boxWidth,
|
57
|
+
boxHeight = props.boxHeight,
|
58
|
+
baseBoxWidth = props.baseBoxWidth,
|
59
|
+
baseBoxHeight = props.baseBoxHeight,
|
60
|
+
_props$width = props.width,
|
61
|
+
width = _props$width === void 0 ? 0 : _props$width,
|
62
|
+
height = props.height,
|
63
|
+
_props$initialIndex = props.initialIndex,
|
64
|
+
initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,
|
65
|
+
renderIndicator = props.renderIndicator,
|
66
|
+
_props$indicatorPos = props.indicatorPos,
|
67
|
+
indicatorPos = _props$indicatorPos === void 0 ? 'center' : _props$indicatorPos,
|
68
|
+
_props$indicatorVerti = props.indicatorVerticalPos,
|
69
|
+
indicatorVerticalPos = _props$indicatorVerti === void 0 ? 'left' : _props$indicatorVerti,
|
70
|
+
indicatorOutside = props.indicatorOutside,
|
71
|
+
_props$showIndicator = props.showIndicator,
|
72
|
+
showIndicator = _props$showIndicator === void 0 ? true : _props$showIndicator,
|
73
|
+
_props$hideSingleIndi = props.hideSingleIndicator,
|
74
|
+
hideSingleIndicator = _props$hideSingleIndi === void 0 ? true : _props$hideSingleIndi,
|
75
|
+
_props$indicatorType = props.indicatorType,
|
76
|
+
indicatorType = _props$indicatorType === void 0 ? 'square' : _props$indicatorType,
|
77
|
+
_props$indicatorClass = props.indicatorClass,
|
78
|
+
indicatorClass = _props$indicatorClass === void 0 ? '' : _props$indicatorClass,
|
79
|
+
indicatorInverse = props.indicatorInverse,
|
80
|
+
_props$spaceBetween = props.spaceBetween,
|
81
|
+
spaceBetween = _props$spaceBetween === void 0 ? 0 : _props$spaceBetween,
|
82
|
+
_props$offsetBetween = props.offsetBetween,
|
83
|
+
offsetBetween = _props$offsetBetween === void 0 ? 0 : _props$offsetBetween,
|
84
|
+
currentIndex = props.currentIndex,
|
85
|
+
_props$autoHeight = props.autoHeight,
|
86
|
+
autoHeight = _props$autoHeight === void 0 ? false : _props$autoHeight,
|
87
|
+
_props$percentToChang = props.percentToChange,
|
88
|
+
percentToChange = _props$percentToChang === void 0 ? 0.3 : _props$percentToChang,
|
89
|
+
_props$distanceToChan = props.distanceToChange,
|
90
|
+
distanceToChange = _props$distanceToChan === void 0 ? 10 : _props$distanceToChan,
|
91
|
+
_props$speedToChange = props.speedToChange,
|
92
|
+
speedToChange = _props$speedToChange === void 0 ? 100 : _props$speedToChange,
|
93
|
+
vertical = props.vertical,
|
94
|
+
lazyloadCount = props.lazyloadCount,
|
95
|
+
_props$inactiveScale = props.inactiveScale,
|
96
|
+
inactiveScale = _props$inactiveScale === void 0 ? 1 : _props$inactiveScale,
|
97
|
+
_props$stopPropagatio = props.stopPropagation,
|
98
|
+
stopPropagation = _props$stopPropagatio === void 0 ? true : _props$stopPropagatio,
|
99
|
+
_props$fakeItem = props.fakeItem,
|
100
|
+
fakeItem = _props$fakeItem === void 0 ? false : _props$fakeItem,
|
101
|
+
_props$allowEndBlank = props.allowEndBlank,
|
102
|
+
allowEndBlank = _props$allowEndBlank === void 0 ? false : _props$allowEndBlank,
|
103
|
+
_props$bounceWhenNoLo = props.bounceWhenNoLoop,
|
104
|
+
bounceWhenNoLoop = _props$bounceWhenNoLo === void 0 ? false : _props$bounceWhenNoLo,
|
105
|
+
_props$bounceDampRate = props.bounceDampRate,
|
106
|
+
bounceDampRate = _props$bounceDampRate === void 0 ? 3 : _props$bounceDampRate,
|
107
|
+
_props$iOSVisibleOpti = props.iOSVisibleOptimize,
|
108
|
+
iOSVisibleOptimize = _props$iOSVisibleOpti === void 0 ? true : _props$iOSVisibleOpti,
|
109
|
+
distanceProcessor = props.distanceProcessor,
|
110
|
+
getInnerScrollContainer = props.getInnerScrollContainer,
|
111
|
+
onChange = props.onChange,
|
112
|
+
onAfterChange = props.onAfterChange,
|
113
|
+
onTouchStart = props.onTouchStart,
|
114
|
+
onTouchMove = props.onTouchMove,
|
115
|
+
onTouchEnd = props.onTouchEnd,
|
116
|
+
onTransitionStart = props.onTransitionStart,
|
117
|
+
onTransitionEnd = props.onTransitionEnd,
|
118
|
+
onDistanceChange = props.onDistanceChange,
|
119
|
+
_props$stopTouchThres = props.stopTouchThreshold,
|
120
|
+
stopTouchThreshold = _props$stopTouchThres === void 0 ? 0 : _props$stopTouchThres,
|
121
|
+
onTouchStopped = props.onTouchStopped,
|
122
|
+
onPageVisibleChange = props.onPageVisibleChange;
|
123
|
+
|
124
|
+
var _useContext = (0, _react.useContext)(_contextProvider.GlobalContext),
|
125
|
+
useRtl = _useContext.useRtl;
|
126
|
+
|
127
|
+
var horizontalUseRtl = !vertical && useRtl;
|
117
128
|
var domRef = (0, _react.useRef)(null);
|
118
129
|
var wrapRef = (0, _react.useRef)(null);
|
119
130
|
var innerRef = (0, _react.useRef)(null);
|
@@ -124,57 +135,75 @@
|
|
124
135
|
var touchStartTimeRef = (0, _react.useRef)(0);
|
125
136
|
var touchStartedRef = (0, _react.useRef)(false);
|
126
137
|
var touchMovedRef = (0, _react.useRef)(false);
|
138
|
+
|
127
139
|
var _useState = (0, _react.useState)(baseBoxWidth || 0),
|
128
|
-
|
129
|
-
|
140
|
+
wrapWidth = _useState[0],
|
141
|
+
setWrapWidth = _useState[1];
|
142
|
+
|
130
143
|
var _useState2 = (0, _react.useState)(baseBoxHeight || 0),
|
131
|
-
|
132
|
-
|
144
|
+
wrapHeight = _useState2[0],
|
145
|
+
setWrapHeight = _useState2[1];
|
146
|
+
|
133
147
|
var touchStartXRef = (0, _react.useRef)(0);
|
134
148
|
var touchStartYRef = (0, _react.useRef)(0);
|
135
149
|
var scrollingRef = (0, _react.useRef)(null);
|
136
150
|
var touchStoppedRef = (0, _react.useRef)(false);
|
137
151
|
var bouncingRef = (0, _react.useRef)(false);
|
152
|
+
|
138
153
|
var _useState3 = (0, _react.useState)('auto'),
|
139
|
-
|
140
|
-
|
154
|
+
currentItemHeight = _useState3[0],
|
155
|
+
setCurrentItemHeight = _useState3[1];
|
156
|
+
|
141
157
|
var _useRefState = (0, _helpers.useRefState)(false),
|
142
|
-
|
143
|
-
|
144
|
-
|
158
|
+
posAdjusting = _useRefState[0],
|
159
|
+
posAdjustingRef = _useRefState[1],
|
160
|
+
setPosAdjusting = _useRefState[2];
|
161
|
+
|
145
162
|
var _useRefState2 = (0, _helpers.useRefState)(0),
|
146
|
-
|
147
|
-
|
148
|
-
|
163
|
+
distance = _useRefState2[0],
|
164
|
+
distanceRef = _useRefState2[1],
|
165
|
+
setDistance = _useRefState2[2];
|
166
|
+
|
149
167
|
var _useState4 = (0, _react.useState)(true),
|
150
|
-
|
151
|
-
|
168
|
+
isAutoJump = _useState4[0],
|
169
|
+
setIsAutoJump = _useState4[1];
|
170
|
+
|
152
171
|
var _useRefState3 = (0, _helpers.useRefState)(currentIndex !== void 0 ? currentIndex : initialIndex),
|
153
|
-
|
154
|
-
|
155
|
-
|
172
|
+
index = _useRefState3[0],
|
173
|
+
indexRef = _useRefState3[1],
|
174
|
+
setIndex = _useRefState3[2];
|
175
|
+
|
156
176
|
var _useRefState4 = (0, _helpers.useRefState)([]),
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
177
|
+
transforms = _useRefState4[0],
|
178
|
+
transformsRef = _useRefState4[1],
|
179
|
+
setTransforms = _useRefState4[2];
|
180
|
+
|
181
|
+
var _useRefState5 = (0, _helpers.useRefState)((autoPlayDirection === 'reverse' || horizontalUseRtl) && autoPlay ? 'right' : 'left'),
|
182
|
+
direction = _useRefState5[0],
|
183
|
+
directionRef = _useRefState5[1],
|
184
|
+
setStateDirection = _useRefState5[2];
|
185
|
+
|
164
186
|
var lastDirectionRef = (0, _react.useRef)('');
|
165
187
|
var lastShownIndexRef = (0, _react.useRef)(-1);
|
188
|
+
|
166
189
|
var _getAllChildren = getAllChildren(),
|
167
|
-
|
168
|
-
|
190
|
+
allChildren = _getAllChildren.allChildren,
|
191
|
+
fakeTwoChildren = _getAllChildren.fakeTwoChildren;
|
192
|
+
|
169
193
|
var total = allChildren.length;
|
170
194
|
var shownTotal = fakeTwoChildren ? 2 : total;
|
171
195
|
var indicatorArr = (0, _react.useMemo)(function () {
|
172
196
|
var arr = [];
|
197
|
+
|
173
198
|
for (var i = 0; i < shownTotal; i += 1) {
|
174
199
|
arr.push(i);
|
175
200
|
}
|
201
|
+
|
176
202
|
return arr;
|
177
203
|
}, [shownTotal]);
|
204
|
+
var rtlRatio = horizontalUseRtl ? -1 : 1;
|
205
|
+
var leftDirec = horizontalUseRtl ? 'right' : 'left';
|
206
|
+
var rightDirec = horizontalUseRtl ? 'left' : 'right';
|
178
207
|
var leftOffset = typeof offsetBetween === 'number' ? offsetBetween : offsetBetween.left || 0;
|
179
208
|
var rightOffset = typeof offsetBetween === 'number' ? offsetBetween : offsetBetween.right || 0;
|
180
209
|
var wrapSize = vertical ? wrapHeight : wrapWidth;
|
@@ -193,13 +222,15 @@
|
|
193
222
|
var inactiveValidScale = (0, _react.useMemo)(function () {
|
194
223
|
return Math.max(0, Math.min(inactiveScale, 1));
|
195
224
|
}, [inactiveScale]);
|
225
|
+
|
196
226
|
var _useState5 = (0, _react.useState)([]),
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
// 开启自动循环时iOS会有渲染问题需要强刷dom,但不需要autoPlay的不用强刷,这里判断下
|
227
|
+
fakeIndexes = _useState5[0],
|
228
|
+
setFakeIndexes = _useState5[1];
|
229
|
+
|
230
|
+
var system = (0, _helpers.useSystem)(); // 开启自动循环时iOS会有渲染问题需要强刷dom,但不需要autoPlay的不用强刷,这里判断下
|
201
231
|
// @en When the automatic loop is turned on, there will be rendering problems in iOS. Need to brush the dom, but if you don't need autoPlay, don't need to brush.
|
202
|
-
|
232
|
+
|
233
|
+
var needRefreshDom = !noInterval && system === 'ios' && iOSVisibleOptimize;
|
203
234
|
var setDirection = (0, _react.useCallback)(function (newDirec) {
|
204
235
|
setStateDirection(function (direc) {
|
205
236
|
lastDirectionRef.current = direc;
|
@@ -213,9 +244,11 @@
|
|
213
244
|
if (onTouchStart && onTouchStart(e, shownTotal, getShownIndex(indexRef.current))) {
|
214
245
|
return;
|
215
246
|
}
|
247
|
+
|
216
248
|
if (posAdjustingRef.current) {
|
217
249
|
return;
|
218
250
|
}
|
251
|
+
|
219
252
|
touchStartedRef.current = true;
|
220
253
|
touchMovedRef.current = false;
|
221
254
|
clear();
|
@@ -229,20 +262,25 @@
|
|
229
262
|
}, [shownTotal, onTouchStart]);
|
230
263
|
var triggerTouchStopped = (0, _react.useCallback)(function (posDis) {
|
231
264
|
var needStop = Math.abs(posDis) > stopTouchThreshold;
|
265
|
+
|
232
266
|
if (!touchStoppedRef.current && needStop) {
|
233
267
|
onTouchStopped && onTouchStopped(posDis >= 0 ? -1 : 1);
|
234
268
|
}
|
269
|
+
|
235
270
|
touchStoppedRef.current = needStop;
|
236
271
|
}, [stopTouchThreshold, onTouchStopped]);
|
237
272
|
var handleTouchMove = (0, _react.useCallback)(function (e) {
|
238
273
|
if (onTouchMove && onTouchMove(e, shownTotal, getShownIndex(indexRef.current))) {
|
239
274
|
return;
|
240
275
|
}
|
276
|
+
|
241
277
|
stopPropagation && e.stopPropagation();
|
278
|
+
|
242
279
|
if (!touchStartedRef.current || posAdjustingRef.current) {
|
243
280
|
e.cancelable && e.preventDefault();
|
244
281
|
return;
|
245
282
|
}
|
283
|
+
|
246
284
|
touchMovedRef.current = true;
|
247
285
|
var evt = e.changedTouches[0];
|
248
286
|
var touchMoveX = Math.max(0, evt.clientX || 0);
|
@@ -252,32 +290,41 @@
|
|
252
290
|
var absDisX = Math.abs(posDisX);
|
253
291
|
var absDisY = Math.abs(posDisY);
|
254
292
|
var originDis = vertical ? posDisY : posDisX;
|
293
|
+
|
255
294
|
var processor = distanceProcessor || function (dis, size, child) {
|
256
295
|
return child * (dis / size);
|
257
296
|
};
|
297
|
+
|
258
298
|
var posDis = processor(originDis, wrapSizeRef.current, childSize);
|
299
|
+
|
259
300
|
if (total < 2) {
|
260
301
|
triggerTouchStopped(posDis);
|
261
302
|
return;
|
262
303
|
}
|
304
|
+
|
263
305
|
if (scrollingRef.current === null) {
|
264
306
|
scrollingRef.current = vertical ? absDisY < absDisX : absDisX < absDisY;
|
265
|
-
}
|
266
|
-
// 如果是在滚动页面则禁用轮播图手势
|
307
|
+
} // 如果是在滚动页面则禁用轮播图手势
|
267
308
|
// @en Disable carousel gestures if scrolling
|
309
|
+
|
310
|
+
|
268
311
|
if (scrollingRef.current) {
|
269
|
-
setDistance(0);
|
270
|
-
// bugfix: 未触发横滑就不触发touchend逻辑,且这个场景不需要触发onTouchStopped,因此直接设置touchStoppedRef
|
312
|
+
setDistance(0); // bugfix: 未触发横滑就不触发touchend逻辑,且这个场景不需要触发onTouchStopped,因此直接设置touchStoppedRef
|
271
313
|
// @en bugfix: The touchend event will not be triggered if the horizontal swipe is not triggered, and this scene does not need to trigger onTouchStopped.
|
272
|
-
|
273
|
-
// 不会触发jumpTo,但touchstart时clear了,所以要手动设置一次interval
|
314
|
+
|
315
|
+
touchStoppedRef.current = true; // 不会触发jumpTo,但touchstart时clear了,所以要手动设置一次interval
|
274
316
|
// @en JumpTo will not be triggered, but it is cleared in touchstart event, so need to manually set interval once
|
317
|
+
|
275
318
|
setPlayIntervalRef.current();
|
276
319
|
return;
|
277
320
|
}
|
321
|
+
|
278
322
|
setDirection(posDis >= 0 ? 'right' : 'left');
|
279
|
-
|
323
|
+
var comparedPos = posDis * rtlRatio;
|
324
|
+
|
325
|
+
if (noLoop && (indexRef.current === 0 && comparedPos > 0 || indexRef.current === total - 1 && comparedPos < 0)) {
|
280
326
|
triggerTouchStopped(posDis);
|
327
|
+
|
281
328
|
if (bounceWhenNoLoop && bounceDampRate) {
|
282
329
|
e.cancelable && e.preventDefault();
|
283
330
|
bouncingRef.current = true;
|
@@ -285,13 +332,15 @@
|
|
285
332
|
} else {
|
286
333
|
setDistance(0);
|
287
334
|
}
|
335
|
+
|
288
336
|
return;
|
289
337
|
}
|
338
|
+
|
290
339
|
e.cancelable && e.preventDefault();
|
291
340
|
touchStoppedRef.current = false;
|
292
341
|
var maxDis = childSize;
|
293
342
|
setDistance(posDis > 0 ? Math.min(maxDis, posDis) : Math.max(-1 * maxDis, posDis));
|
294
|
-
}, [shownTotal, noLoop, vertical, childSize, stopPropagation, bounceWhenNoLoop, bounceDampRate, onTouchMove, triggerTouchStopped]);
|
343
|
+
}, [shownTotal, noLoop, vertical, childSize, stopPropagation, bounceWhenNoLoop, bounceDampRate, horizontalUseRtl, onTouchMove, triggerTouchStopped]);
|
295
344
|
(0, _react.useImperativeHandle)(ref, function () {
|
296
345
|
return {
|
297
346
|
dom: domRef.current,
|
@@ -306,13 +355,14 @@
|
|
306
355
|
(0, _helpers.useSwiperInnerScroll)(getInnerScrollContainer);
|
307
356
|
var updateWhenVisible = (0, _react.useCallback)(function () {
|
308
357
|
fakeWrapRef.current && (fakeWrapRef.current.style.display = 'none');
|
309
|
-
wrapRef.current && (wrapRef.current.style.display = '');
|
310
|
-
// 部分情况下页面隐藏后容器宽度变成0,因此页面返回后需重新取一次容器尺寸
|
358
|
+
wrapRef.current && (wrapRef.current.style.display = ''); // 部分情况下页面隐藏后容器宽度变成0,因此页面返回后需重新取一次容器尺寸
|
311
359
|
// @en In some cases, the width of the container becomes 0 after the page is invisible, so the container size needs to be resized after the page is visible.
|
360
|
+
|
312
361
|
updateDataRef.current();
|
313
362
|
}, []);
|
314
363
|
var updateWhenInvisible = (0, _react.useCallback)(function () {
|
315
364
|
clear();
|
365
|
+
|
316
366
|
if (wrapRef.current && fakeWrapRef.current) {
|
317
367
|
fakeWrapRef.current.style.height = (wrapRef.current.offsetHeight || 0) + "px";
|
318
368
|
fakeWrapRef.current.style.display = 'block';
|
@@ -322,9 +372,10 @@
|
|
322
372
|
(0, _react.useEffect)(function () {
|
323
373
|
if (onPageVisibleChange) {
|
324
374
|
return onPageVisibleChange(updateWhenVisible, updateWhenInvisible);
|
325
|
-
}
|
326
|
-
// ios 在页面隐藏后返回时会有dom结构正确但渲染错乱的情况,因此在页面隐藏时先用占位符,返回后重新渲染一次dom
|
375
|
+
} // ios 在页面隐藏后返回时会有dom结构正确但渲染错乱的情况,因此在页面隐藏时先用占位符,返回后重新渲染一次dom
|
327
376
|
// @en In iOS, When the page is invisible, the DOM will be correct but the rendering is disordered. So use a placeholder when the page is invisible, and re-render the DOM after it is visible.
|
377
|
+
|
378
|
+
|
328
379
|
var update = function update() {
|
329
380
|
if (document.visibilityState === 'visible') {
|
330
381
|
updateWhenVisible();
|
@@ -332,6 +383,7 @@
|
|
332
383
|
updateWhenInvisible();
|
333
384
|
}
|
334
385
|
};
|
386
|
+
|
335
387
|
document.addEventListener('visibilitychange', update);
|
336
388
|
return function () {
|
337
389
|
document.removeEventListener('visibilitychange', update);
|
@@ -352,6 +404,7 @@
|
|
352
404
|
wrapRef.current.addEventListener('touchstart', handleTouchStart);
|
353
405
|
wrapRef.current.addEventListener('touchmove', handleTouchMove);
|
354
406
|
}
|
407
|
+
|
355
408
|
return function () {
|
356
409
|
if (wrapRef.current && needTouchEvent) {
|
357
410
|
wrapRef.current.removeEventListener('touchstart', handleTouchStart);
|
@@ -394,7 +447,7 @@
|
|
394
447
|
} else {
|
395
448
|
getFakeChild();
|
396
449
|
}
|
397
|
-
}, [index, direction, childSize, total]);
|
450
|
+
}, [index, direction, childSize, total, horizontalUseRtl]);
|
398
451
|
(0, _react.useEffect)(function () {
|
399
452
|
(0, _mobileUtils.nextTick)(function () {
|
400
453
|
updateLayoutData();
|
@@ -414,34 +467,43 @@
|
|
414
467
|
if (!fakeItem || posAdjusting) {
|
415
468
|
return;
|
416
469
|
}
|
470
|
+
|
417
471
|
setCurrentFakeIndex();
|
418
|
-
}, [posAdjusting, index, direction, total, childSize]);
|
472
|
+
}, [posAdjusting, index, direction, total, childSize, horizontalUseRtl]);
|
473
|
+
|
419
474
|
function getShownIndex(nowIndex) {
|
420
475
|
var validIndex = nowIndex === total ? 0 : nowIndex;
|
421
476
|
var shownInd = nowIndex === -1 ? total - 1 : validIndex;
|
422
477
|
return fakeTwoChildren ? shownInd % 2 : shownInd;
|
423
478
|
}
|
479
|
+
|
424
480
|
function getDynamicDuration(autoJump) {
|
425
481
|
return autoJump ? animateDuration : animateDurationSlide;
|
426
482
|
}
|
483
|
+
|
427
484
|
function setCurrentHeight() {
|
428
485
|
if (!innerRef.current || !autoHeight || vertical) {
|
429
486
|
return;
|
430
487
|
}
|
488
|
+
|
431
489
|
var allItemDom = itemsRef.current;
|
432
490
|
var nowIndex = getShownIndex(indexRef.current);
|
433
491
|
var currentHeight = (allItemDom[nowIndex] || {}).offsetHeight || 'auto';
|
434
492
|
setCurrentItemHeight(currentHeight);
|
435
493
|
}
|
494
|
+
|
436
495
|
function getAllChildren() {
|
437
496
|
var allChild = [];
|
438
497
|
var fakeTwo = false;
|
498
|
+
|
439
499
|
if (list && list.length) {
|
440
500
|
var actualList = list;
|
501
|
+
|
441
502
|
if (list.length === 2 && fakeItem) {
|
442
503
|
fakeTwo = true;
|
443
504
|
actualList = list.concat(list);
|
444
505
|
}
|
506
|
+
|
445
507
|
allChild = actualList.map(function (item, i) {
|
446
508
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("img", {
|
447
509
|
key: i,
|
@@ -455,6 +517,7 @@
|
|
455
517
|
});
|
456
518
|
} else if (children && Object.prototype.toString.call(children) === '[object Array]') {
|
457
519
|
allChild = children;
|
520
|
+
|
458
521
|
if (allChild.length === 2 && fakeItem) {
|
459
522
|
fakeTwo = true;
|
460
523
|
allChild = [].concat(allChild, allChild);
|
@@ -462,26 +525,39 @@
|
|
462
525
|
} else {
|
463
526
|
allChild = children ? [children] : [];
|
464
527
|
}
|
528
|
+
|
465
529
|
return {
|
466
530
|
allChildren: allChild,
|
467
531
|
fakeTwoChildren: fakeTwo
|
468
532
|
};
|
469
533
|
}
|
534
|
+
|
470
535
|
function getDefaultDirection() {
|
471
536
|
var nowIndex = indexRef.current;
|
537
|
+
|
472
538
|
if (nowIndex === total - 1) {
|
473
|
-
return 'left';
|
539
|
+
return horizontalUseRtl ? 'right' : 'left';
|
474
540
|
}
|
541
|
+
|
475
542
|
if (nowIndex === 0) {
|
476
|
-
return 'right';
|
543
|
+
return horizontalUseRtl ? 'left' : 'right';
|
477
544
|
}
|
545
|
+
|
478
546
|
return '';
|
479
547
|
}
|
480
|
-
|
548
|
+
|
549
|
+
function changeIndex(newIndex, rightNow, userSetDirec) {
|
481
550
|
if (posAdjustingRef.current) {
|
482
551
|
return;
|
483
552
|
}
|
484
|
-
|
553
|
+
|
554
|
+
if (userSetDirec) {
|
555
|
+
// rtl 模式取反
|
556
|
+
var direcMap = {
|
557
|
+
left: leftDirec,
|
558
|
+
right: rightDirec
|
559
|
+
};
|
560
|
+
var direc = direcMap[userSetDirec];
|
485
561
|
setDirection(direc);
|
486
562
|
(0, _mobileUtils.nextTick)(function () {
|
487
563
|
jumpTo(newIndex, true, rightNow, direc);
|
@@ -490,21 +566,25 @@
|
|
490
566
|
jumpTo(newIndex, true, rightNow);
|
491
567
|
}
|
492
568
|
}
|
569
|
+
|
493
570
|
function jumpTo(newIndex, autoJump, rightNow, direc) {
|
494
571
|
if (autoJump === void 0) {
|
495
572
|
autoJump = true;
|
496
573
|
}
|
574
|
+
|
497
575
|
var oldIndex = getShownIndex(indexRef.current);
|
498
576
|
var changedIndex = newIndex !== oldIndex ? getShownIndex(newIndex) : -1;
|
577
|
+
|
499
578
|
if (direc) {
|
500
579
|
setDirection(direc);
|
501
580
|
} else if (autoJump) {
|
502
|
-
setDirection(autoPlayDirection === 'reverse' ? 'right' : 'left');
|
581
|
+
setDirection(autoPlayDirection === 'reverse' || horizontalUseRtl ? 'right' : 'left');
|
503
582
|
} else if (newIndex === indexRef.current) {
|
504
583
|
setDirection(distanceRef.current > 0 ? 'right' : 'left');
|
505
584
|
} else {
|
506
585
|
setDirection('');
|
507
586
|
}
|
587
|
+
|
508
588
|
setPosAdjusting(true);
|
509
589
|
setIsAutoJump(autoJump);
|
510
590
|
setDistance(0);
|
@@ -517,6 +597,7 @@
|
|
517
597
|
setDirection(getDefaultDirection());
|
518
598
|
var newTransform = transformsRef.current.slice();
|
519
599
|
var transChanged = false;
|
600
|
+
|
520
601
|
if (newIndex === -1 && movedChildRef.current >= 0) {
|
521
602
|
newTransform[movedChildRef.current] = 0;
|
522
603
|
transChanged = true;
|
@@ -526,12 +607,15 @@
|
|
526
607
|
transChanged = true;
|
527
608
|
setIndex(0);
|
528
609
|
}
|
610
|
+
|
529
611
|
transChanged && setTransforms(newTransform);
|
530
612
|
setIsAutoJump(true);
|
531
613
|
onTransitionEnd && onTransitionEnd();
|
614
|
+
|
532
615
|
if (changedIndex >= 0) {
|
533
616
|
onAfterChange && onAfterChange(changedIndex, oldIndex);
|
534
617
|
}
|
618
|
+
|
535
619
|
(0, _mobileUtils.nextTick)(function () {
|
536
620
|
setPlayIntervalRef.current();
|
537
621
|
});
|
@@ -539,111 +623,137 @@
|
|
539
623
|
}, rightNow ? 0 : getDynamicDuration(autoJump));
|
540
624
|
autoJump && setDirection('');
|
541
625
|
}
|
626
|
+
|
542
627
|
function setPlayInterval() {
|
543
628
|
clear();
|
629
|
+
|
544
630
|
if (noInterval) {
|
545
631
|
return;
|
546
632
|
}
|
633
|
+
|
547
634
|
timerRef.current = delayTimeout(function () {
|
548
635
|
jumpTo(autoPlayDirection === 'reverse' ? indexRef.current - 1 : indexRef.current + 1);
|
549
636
|
}, stayDuration);
|
550
637
|
}
|
638
|
+
|
551
639
|
function updateLayoutData() {
|
552
640
|
if (wrapRef.current) {
|
553
641
|
setWrapWidth(wrapRef.current.offsetWidth);
|
554
642
|
setWrapHeight(wrapRef.current.offsetHeight);
|
555
643
|
}
|
644
|
+
|
556
645
|
setCurrentHeight();
|
557
646
|
}
|
647
|
+
|
558
648
|
function updateData() {
|
559
649
|
updateLayoutData();
|
560
650
|
setPlayIntervalRef.current();
|
561
651
|
}
|
652
|
+
|
562
653
|
function clear() {
|
563
654
|
if (timerRef.current) {
|
564
655
|
clearTimeout(timerRef.current);
|
565
656
|
timerRef.current = null;
|
566
657
|
}
|
567
658
|
}
|
659
|
+
|
568
660
|
function getFakeChild() {
|
569
661
|
if (noLoop) {
|
570
662
|
return;
|
571
663
|
}
|
664
|
+
|
572
665
|
var nowIndex = indexRef.current;
|
573
666
|
var newTransform = transformsRef.current.slice();
|
574
667
|
var dis = Math.max(0, childSize);
|
575
668
|
allChildren.forEach(function (_, childIndex) {
|
576
|
-
if (nowIndex === 0 && directionRef.current ===
|
669
|
+
if (nowIndex === 0 && directionRef.current === rightDirec && childIndex === total - 1) {
|
577
670
|
movedChildRef.current = childIndex;
|
578
|
-
newTransform[childIndex] = -1 * total * dis;
|
579
|
-
} else if (nowIndex === total - 1 && directionRef.current ===
|
671
|
+
newTransform[childIndex] = -1 * total * dis * rtlRatio;
|
672
|
+
} else if (nowIndex === total - 1 && directionRef.current === leftDirec && childIndex === 0) {
|
580
673
|
movedChildRef.current = childIndex;
|
581
|
-
newTransform[childIndex] = total * dis;
|
674
|
+
newTransform[childIndex] = total * dis * rtlRatio;
|
582
675
|
} else if (nowIndex >= 0 && nowIndex < total) {
|
583
676
|
newTransform[childIndex] = 0;
|
584
677
|
}
|
585
678
|
});
|
586
679
|
setTransforms(newTransform);
|
587
680
|
}
|
681
|
+
|
588
682
|
function delayTimeout(callback, timeout) {
|
589
683
|
return setTimeout(callback, timeout);
|
590
684
|
}
|
685
|
+
|
591
686
|
function handleTouchEnd(e) {
|
592
687
|
if (!needTouchEvent) {
|
593
688
|
return;
|
594
689
|
}
|
690
|
+
|
595
691
|
if (onTouchEnd && onTouchEnd(e.nativeEvent, shownTotal, getShownIndex(indexRef.current))) {
|
596
692
|
return;
|
597
693
|
}
|
694
|
+
|
598
695
|
stopPropagation && e.stopPropagation();
|
696
|
+
|
599
697
|
if (bouncingRef.current) {
|
600
698
|
bouncingRef.current = false;
|
601
699
|
jumpTo(index, false);
|
602
700
|
return;
|
603
701
|
}
|
702
|
+
|
604
703
|
if (!touchStartedRef.current || !touchMovedRef.current || posAdjustingRef.current || touchStoppedRef.current) {
|
605
704
|
return;
|
606
705
|
}
|
706
|
+
|
607
707
|
touchStartedRef.current = false;
|
608
708
|
touchMovedRef.current = false;
|
609
709
|
var touchEndTime = new Date().getTime();
|
610
|
-
var speed = distance / (touchEndTime - touchStartTimeRef.current) * 1000;
|
611
|
-
var maxSlice = childSize * percentToChange;
|
612
710
|
var dis = Math.abs(distance);
|
613
|
-
var
|
614
|
-
|
711
|
+
var speed = dis / (touchEndTime - touchStartTimeRef.current) * 1000;
|
712
|
+
var maxSlice = childSize * percentToChange;
|
713
|
+
var needJump = dis > maxSlice && dis > distanceToChange || speed > speedToChange;
|
714
|
+
var comparedDis = distance * rtlRatio;
|
715
|
+
|
716
|
+
if (comparedDis > 0 && needJump) {
|
615
717
|
jumpTo(index - 1, false);
|
616
|
-
} else if (
|
718
|
+
} else if (comparedDis < 0 && needJump) {
|
617
719
|
jumpTo(index + 1, false);
|
618
720
|
} else {
|
619
721
|
jumpTo(index, false);
|
620
722
|
}
|
621
723
|
}
|
724
|
+
|
622
725
|
function getSlideTransitionStyle() {
|
623
726
|
return {
|
624
727
|
transitionProperty: posAdjusting ? 'transform' : 'none',
|
625
728
|
transitionDuration: posAdjusting ? dynamicAnimateDuration + "ms" : '0ms'
|
626
729
|
};
|
627
730
|
}
|
731
|
+
|
628
732
|
function getInnerStyle() {
|
629
733
|
var transitionStyle = (0, _helpers.getStyleWithVendor)(getSlideTransitionStyle());
|
630
734
|
var innerSize = childSize * total;
|
631
|
-
var dis = index * childSize * -1 + distance + leftOffset;
|
632
|
-
var
|
633
|
-
var
|
634
|
-
var
|
635
|
-
|
735
|
+
var dis = index * childSize * -1 * rtlRatio + distance + rtlRatio * leftOffset;
|
736
|
+
var min = childSize > 0 ? leftOffset : 0;
|
737
|
+
var max = allowEndBlank ? dis * rtlRatio : -1 * innerSize + wrapSize - rightOffset;
|
738
|
+
var minTransform = horizontalUseRtl ? -1 * max : min;
|
739
|
+
var maxTransform = horizontalUseRtl ? -1 * min : max;
|
740
|
+
var comparedDis = rtlRatio * distance;
|
741
|
+
var noLoopDis = bounceWhenNoLoop && (index === 0 && comparedDis > 0 || index === total - 1 && comparedDis < 0) ? Math.min(minTransform + distance, Math.max(maxTransform + distance, dis)) : Math.min(minTransform, Math.max(maxTransform, dis)); // noLoop时需要在最后也露出spaceBetween的空白,所以当滑到最后一个时transform向左移动相应宽度
|
636
742
|
// @en When noLoop is used, the blank space of spaceBetween needs to be exposed at the end, so when sliding to the last one, the transform value moves to the left by the corresponding width
|
637
|
-
|
743
|
+
|
744
|
+
var translateDis = noLoop ? noLoopDis - (total > 1 && index === total - 1 ? spaceBetween : 0) * rtlRatio : dis;
|
638
745
|
var transStr = childSize > 0 ? translateDis + "px" : "-" + index * 100 + "%";
|
746
|
+
|
639
747
|
if (vertical) {
|
640
748
|
var _translateStyle = (0, _helpers.getStyleWithVendor)({
|
641
749
|
transform: "translateY(" + transStr + ") translateZ(0)"
|
642
750
|
});
|
751
|
+
|
643
752
|
return (0, _extends3.default)({}, transitionStyle, _translateStyle, {
|
644
753
|
width: '100%'
|
645
754
|
});
|
646
755
|
}
|
756
|
+
|
647
757
|
var translateStyle = (0, _helpers.getStyleWithVendor)({
|
648
758
|
transform: "translateX(" + transStr + ") translateZ(0)"
|
649
759
|
});
|
@@ -652,36 +762,41 @@
|
|
652
762
|
height: height
|
653
763
|
}, transitionStyle, translateStyle);
|
654
764
|
}
|
765
|
+
|
655
766
|
function getCarouselStyle() {
|
656
767
|
if (vertical) {
|
657
768
|
return (0, _extends3.default)({
|
658
769
|
height: userSetBoxHeight
|
659
770
|
}, style || {});
|
660
771
|
}
|
772
|
+
|
661
773
|
var heightStyle = currentItemHeight && currentItemHeight !== 'auto' ? {
|
662
774
|
height: currentItemHeight
|
663
775
|
} : {};
|
664
776
|
return (0, _extends3.default)({
|
665
777
|
width: userSetBoxWidth
|
666
778
|
}, heightStyle, style || {});
|
667
|
-
}
|
668
|
-
|
669
|
-
// 当最前或最后的滑块通过transform手动被放置到最后或最前时,在展示层可以认为是第total个或第-1个模块
|
779
|
+
} // 当最前或最后的滑块通过transform手动被放置到最后或最前时,在展示层可以认为是第total个或第-1个模块
|
670
780
|
// @en When the front or last slider is manually placed to the rear or the front through transform, it can be considered as the total or -1 module in the display layer
|
781
|
+
|
782
|
+
|
671
783
|
function getShownChildIndex(curIndex) {
|
672
784
|
var childIndex = curIndex;
|
673
|
-
|
785
|
+
|
786
|
+
if (transforms[childIndex] * rtlRatio > 0) {
|
674
787
|
childIndex = total;
|
675
|
-
} else if (transforms[childIndex] < 0) {
|
788
|
+
} else if (transforms[childIndex] * rtlRatio < 0) {
|
676
789
|
childIndex = -1;
|
677
790
|
}
|
678
|
-
return childIndex;
|
679
|
-
}
|
680
791
|
|
681
|
-
|
792
|
+
return childIndex;
|
793
|
+
} // 当两侧有露出内容时,为了循环衔接上需要fake前后的dom来做视觉填充
|
682
794
|
// @en When there is exposed content on both sides, it is necessary to fake the front and rear dom to make visual filling in order to connect circularly.
|
795
|
+
|
796
|
+
|
683
797
|
function setCurrentFakeIndex() {
|
684
798
|
var newIndexes = fakeIndexes.slice();
|
799
|
+
|
685
800
|
if (childSize <= 0) {
|
686
801
|
if (index === 0) {
|
687
802
|
newIndexes[0] = {
|
@@ -689,72 +804,88 @@
|
|
689
804
|
side: 'left'
|
690
805
|
};
|
691
806
|
}
|
807
|
+
|
692
808
|
if (index === total - 1) {
|
693
809
|
newIndexes[2] = {
|
694
810
|
index: 0,
|
695
811
|
side: 'right'
|
696
812
|
};
|
697
813
|
}
|
814
|
+
|
698
815
|
setFakeIndexes(newIndexes);
|
699
816
|
return;
|
700
817
|
}
|
701
|
-
|
818
|
+
|
819
|
+
if (index === 1 && direction === rightDirec || index === 0 && direction !== rightDirec) {
|
702
820
|
newIndexes[0] = {
|
703
821
|
index: total - 1,
|
704
822
|
side: 'left'
|
705
823
|
};
|
706
824
|
}
|
707
|
-
|
825
|
+
|
826
|
+
if (index === 0 && direction === rightDirec || index === -1) {
|
708
827
|
newIndexes[1] = {
|
709
828
|
index: total - 2,
|
710
829
|
side: 'left'
|
711
830
|
};
|
712
831
|
}
|
713
|
-
|
832
|
+
|
833
|
+
if (index === total - 2 && direction === leftDirec || index === total - 1 && direction !== leftDirec) {
|
714
834
|
newIndexes[2] = {
|
715
835
|
index: 0,
|
716
836
|
side: 'right'
|
717
837
|
};
|
718
838
|
}
|
719
|
-
|
839
|
+
|
840
|
+
if (index === total - 1 && direction === leftDirec || index === total) {
|
720
841
|
newIndexes[3] = {
|
721
842
|
index: 1,
|
722
843
|
side: 'right'
|
723
844
|
};
|
724
845
|
}
|
846
|
+
|
725
847
|
setFakeIndexes(newIndexes);
|
726
848
|
}
|
849
|
+
|
727
850
|
function getItemTranslateStyle(childIndex, ratio) {
|
728
851
|
var dis = index - childIndex;
|
729
852
|
var prefix = dis > 0 ? 1 : -1;
|
730
853
|
var transPercent = 1 - inactiveValidScale;
|
854
|
+
var ratioWithRtl = ratio * rtlRatio;
|
731
855
|
var trans = 0;
|
856
|
+
|
732
857
|
if (Math.abs(dis) > 1) {
|
733
|
-
trans = (prefix * (Math.abs(dis) - 1) -
|
734
|
-
} else if (dis === -1 &&
|
858
|
+
trans = (prefix * (Math.abs(dis) - 1) - ratioWithRtl) * transPercent * rtlRatio;
|
859
|
+
} else if (dis === -1 && ratioWithRtl > 0 || dis === 1 && ratioWithRtl < 0) {
|
735
860
|
trans = -1 * ratio * transPercent;
|
736
861
|
}
|
862
|
+
|
737
863
|
return "translate" + (vertical ? 'Y' : 'X') + "(" + trans * 100 + "%)";
|
738
864
|
}
|
865
|
+
|
739
866
|
function getItemScaleStyle(childIndex, ratio) {
|
740
|
-
var originScale = inactiveValidScale;
|
741
|
-
// active滑块前后两侧的滑块,根据滑动距离等比放大
|
867
|
+
var originScale = inactiveValidScale; // active滑块前后两侧的滑块,根据滑动距离等比放大
|
742
868
|
// @en The front and rear sides of the active slider, and zoom in proportionally according to the sliding distance
|
743
|
-
|
869
|
+
|
870
|
+
if (childIndex === index - 1 && direction === rightDirec || childIndex === index + 1 && direction === leftDirec) {
|
744
871
|
return originScale + (1 - originScale) * Math.abs(ratio);
|
745
|
-
}
|
746
|
-
// active的滑块,根据滑动距离等比缩小
|
872
|
+
} // active的滑块,根据滑动距离等比缩小
|
747
873
|
// @en The active slider, zoom out proportionally according to the sliding distance
|
874
|
+
|
875
|
+
|
748
876
|
if (childIndex === index) {
|
749
877
|
return 1 - (1 - originScale) * Math.abs(ratio);
|
750
|
-
}
|
751
|
-
// 其他保持inactiveScale即可
|
878
|
+
} // 其他保持inactiveScale即可
|
752
879
|
// @en Others remain inactiveScale
|
880
|
+
|
881
|
+
|
753
882
|
return originScale;
|
754
883
|
}
|
884
|
+
|
755
885
|
function getItemOriginStyle(childIndex) {
|
756
886
|
var origin = 0.5;
|
757
887
|
var dis = childIndex - index;
|
888
|
+
|
758
889
|
if (dis === 0) {
|
759
890
|
// 当前active的卡片,随滑动方向切换origin
|
760
891
|
// @en The currently active card, switch origin with the sliding direction
|
@@ -762,25 +893,27 @@
|
|
762
893
|
} else if (dis <= -1) {
|
763
894
|
// 当前active之前的卡片,origin均靠最右
|
764
895
|
// @en The cards in front of the currently active card, the origin is on the far right
|
765
|
-
origin = 1;
|
896
|
+
origin = horizontalUseRtl ? 0 : 1;
|
766
897
|
} else if (dis >= 1) {
|
767
898
|
// 当前active之后的卡片,origin均靠最左
|
768
899
|
// @en The cards after the currently active card, the origin is on the far left
|
769
|
-
origin = 0;
|
900
|
+
origin = horizontalUseRtl ? 1 : 0;
|
770
901
|
}
|
902
|
+
|
771
903
|
var originStr = origin * 100 + "%";
|
772
904
|
return vertical ? "center " + originStr : originStr + " center";
|
773
905
|
}
|
906
|
+
|
774
907
|
function getItemInnerStyle(curIndex) {
|
775
908
|
var transitionStyle = getSlideTransitionStyle();
|
776
909
|
var childIndex = getShownChildIndex(curIndex);
|
777
|
-
var ratio = distance / childSize || 0;
|
778
|
-
// 有放大效果的item,随着distance变化而变化scale和transform-origin
|
910
|
+
var ratio = distance / childSize || 0; // 有放大效果的item,随着distance变化而变化scale和transform-origin
|
779
911
|
// @en Item with magnification effect, scale and transform-origin change with distance
|
780
912
|
// transform效果与fake dom时item的transform需隔离,且scale后会影响item的padding展示
|
781
913
|
// @en The transform effect of the item needs to be isolated from the fake dom, and the padding display of the item will be affected after scale.
|
782
914
|
// 因此需要缩放时多包裹一层item-inner,单独处理缩放逻辑
|
783
915
|
// @en Therefore, need to wrap an additional layer of item-inner when scaling, and handle the scaling logic separately
|
916
|
+
|
784
917
|
var scale = getItemScaleStyle(childIndex, ratio);
|
785
918
|
var transformStyle = {
|
786
919
|
transform: getItemTranslateStyle(childIndex, ratio) + " scale(" + scale + ")",
|
@@ -788,45 +921,54 @@
|
|
788
921
|
};
|
789
922
|
return (0, _helpers.getStyleWithVendor)((0, _extends3.default)({}, transitionStyle, transformStyle));
|
790
923
|
}
|
924
|
+
|
791
925
|
function getItemFakeStyle(childIndex) {
|
792
926
|
var _extends2, _ref, _ref2;
|
927
|
+
|
793
928
|
var styleMap = {
|
794
|
-
leftDirec: vertical ? '
|
795
|
-
rightDirec: vertical ? '
|
929
|
+
leftDirec: vertical ? 'top' : leftDirec,
|
930
|
+
rightDirec: vertical ? 'bottom' : rightDirec,
|
796
931
|
otherDirec: vertical ? 'left' : 'top',
|
797
932
|
trans: vertical ? 'Y' : 'X'
|
798
933
|
};
|
799
934
|
return (0, _extends3.default)((_extends2 = {
|
800
935
|
position: 'absolute'
|
801
|
-
}, _extends2[styleMap.otherDirec] = 0, _extends2), childIndex >= 0 ? (_ref = {}, _ref[styleMap.
|
936
|
+
}, _extends2[styleMap.otherDirec] = 0, _extends2), childIndex >= 0 ? (_ref = {}, _ref[styleMap.leftDirec] = childSize > 0 ? '100%' : total * 100 + "%", _ref.transform = "translate" + styleMap.trans + "(" + (childIndex - total) * rtlRatio * 100 + "%)", _ref) : (_ref2 = {}, _ref2[styleMap.rightDirec] = '100%', _ref2.transform = "translate" + styleMap.trans + "(" + (childIndex + 1) * rtlRatio * 100 + "%)", _ref2));
|
802
937
|
}
|
938
|
+
|
803
939
|
function getItemStyle(childIndex, isFake) {
|
804
940
|
var _ref3, _ref4;
|
941
|
+
|
805
942
|
var initialStartSpace = spaceBetween + leftOffset;
|
806
943
|
var initialEndSpace = spaceBetween + rightOffset;
|
807
944
|
var initalSize = vertical ? userSetBoxHeight : '100%';
|
945
|
+
var horizontalPaddingStart = horizontalUseRtl ? 'paddingRight' : 'paddingLeft';
|
946
|
+
var horizontalPaddingEnd = horizontalUseRtl ? 'paddingLeft' : 'paddingRight';
|
808
947
|
var styleMap = {
|
809
948
|
size: vertical ? 'height' : 'width',
|
810
|
-
paddingStart: vertical ? 'paddingTop' :
|
811
|
-
paddingEnd: vertical ? 'paddingBottom' :
|
949
|
+
paddingStart: vertical ? 'paddingTop' : horizontalPaddingStart,
|
950
|
+
paddingEnd: vertical ? 'paddingBottom' : horizontalPaddingEnd,
|
812
951
|
translate: vertical ? 'translateY' : 'translateX'
|
813
|
-
};
|
814
|
-
// bugfix: item 为半透明状态下 fakeItem 和普通 item 重叠露馅问题
|
952
|
+
}; // bugfix: item 为半透明状态下 fakeItem 和普通 item 重叠露馅问题
|
815
953
|
// @en bugfix: Solve the problem of overlapping fakeItem and the normal item when item is translucent
|
954
|
+
|
816
955
|
var transformStyle = isFake ? {
|
817
956
|
visibility: childIndex === total && transforms[0] > 0 || childIndex === -1 && transforms[total - 1] < 0 ? 'hidden' : 'initial'
|
818
957
|
} : {
|
819
958
|
transform: styleMap.translate + "(" + (transforms[childIndex] || 0) + "px)"
|
820
|
-
};
|
821
|
-
// childSize <= 0 说明是未全部加载完成的首屏情况 做一下特殊处理
|
959
|
+
}; // childSize <= 0 说明是未全部加载完成的首屏情况 做一下特殊处理
|
822
960
|
// @en childSize <= 0 indicates that the first screen is not fully loaded, so do some special treatment
|
961
|
+
|
823
962
|
var layoutStyle = childSize > 0 ? (_ref3 = {}, _ref3[styleMap.size] = childSize - spaceBetween, _ref3[styleMap.paddingStart] = spaceBetween, _ref3.boxSizing = 'content-box', _ref3) : (_ref4 = {}, _ref4[styleMap.size] = initalSize, _ref4[styleMap.paddingStart] = initialStartSpace, _ref4[styleMap.paddingEnd] = initialEndSpace, _ref4.boxSizing = 'border-box', _ref4.transform = styleMap.translate + "(" + (childIndex === index ? 0 : (index - childIndex) * (spaceBetween + leftOffset + rightOffset)) + "px)", _ref4);
|
824
963
|
var fakeStyle = isFake ? getItemFakeStyle(childIndex) : {};
|
964
|
+
|
825
965
|
if (isFake && childSize < 0) {
|
826
966
|
delete fakeStyle.transform;
|
827
967
|
}
|
968
|
+
|
828
969
|
return (0, _helpers.getStyleWithVendor)((0, _extends3.default)({}, transformStyle, layoutStyle, fakeStyle));
|
829
970
|
}
|
971
|
+
|
830
972
|
function renderChild(child, childIndex, prefix) {
|
831
973
|
// 兼容线上逻辑,不需要切换放大效果的,不包裹item-inner
|
832
974
|
// @en No need to switch the magnification effect, do not wrap item-inner
|
@@ -835,26 +977,33 @@
|
|
835
977
|
style: getItemInnerStyle(childIndex)
|
836
978
|
}, child);
|
837
979
|
}
|
980
|
+
|
838
981
|
function renderFakeItem(prefix, fakeIndex, side) {
|
839
982
|
if (!fakeItem || fakeIndex === void 0) {
|
840
983
|
return null;
|
841
984
|
}
|
985
|
+
|
842
986
|
var posIndex = side === 'left' ? fakeIndex - total : fakeIndex + total;
|
843
987
|
return /*#__PURE__*/_react.default.createElement("div", {
|
844
988
|
key: "" + fakeIndex + posIndex,
|
989
|
+
"data-fake-index": fakeIndex,
|
990
|
+
"data-index": posIndex,
|
845
991
|
className: (0, _mobileUtils.cls)(prefix + "-item carousel-item fake-item fake-" + side, {
|
846
992
|
vertical: vertical
|
847
993
|
}),
|
848
994
|
style: getItemStyle(posIndex, true)
|
849
995
|
}, renderChild(allChildren[fakeIndex], posIndex, prefix));
|
850
996
|
}
|
997
|
+
|
851
998
|
function renderAllFakeItem(prefix) {
|
852
999
|
return fakeIndexes.map(function (fakeIndex) {
|
853
1000
|
return renderFakeItem(prefix, fakeIndex.index, fakeIndex.side);
|
854
1001
|
});
|
855
1002
|
}
|
1003
|
+
|
856
1004
|
function renderCarousel(_ref5) {
|
857
1005
|
var _cls;
|
1006
|
+
|
858
1007
|
var prefixCls = _ref5.prefixCls;
|
859
1008
|
var prefix = prefixCls + "-carousel";
|
860
1009
|
return /*#__PURE__*/_react.default.createElement("div", {
|
@@ -862,9 +1011,11 @@
|
|
862
1011
|
style: wrapStyle,
|
863
1012
|
ref: domRef
|
864
1013
|
}, needRefreshDom ? /*#__PURE__*/_react.default.createElement("div", {
|
1014
|
+
key: "fake-carousel",
|
865
1015
|
className: prefix + " wrap-placeholder",
|
866
1016
|
ref: fakeWrapRef
|
867
1017
|
}) : null, /*#__PURE__*/_react.default.createElement("div", {
|
1018
|
+
key: "carousel",
|
868
1019
|
className: prefix,
|
869
1020
|
onTouchEnd: handleTouchEnd,
|
870
1021
|
onTouchCancel: handleTouchEnd,
|
@@ -891,7 +1042,8 @@
|
|
891
1042
|
}
|
892
1043
|
}, inView || transforms[childIndex] ? renderChild(child, childIndex, prefix) : null);
|
893
1044
|
}), renderAllFakeItem(prefix))), showIndicator && (total > 1 || !hideSingleIndicator) ? /*#__PURE__*/_react.default.createElement("div", {
|
894
|
-
|
1045
|
+
key: "carousel-indicator",
|
1046
|
+
className: (0, _mobileUtils.cls)(prefix + "-indicator pos-" + indicatorPos + " " + prefix + "-indicator-" + (vertical ? 'vertical' : 'horizontal'), (_cls = {}, _cls["vertical ver-pos-" + indicatorVerticalPos] = vertical, _cls), {
|
895
1047
|
inverse: indicatorInverse === void 0 ? indicatorOutside : indicatorInverse
|
896
1048
|
}, {
|
897
1049
|
outside: indicatorOutside
|
@@ -905,6 +1057,7 @@
|
|
905
1057
|
});
|
906
1058
|
})) : null);
|
907
1059
|
}
|
1060
|
+
|
908
1061
|
return /*#__PURE__*/_react.default.createElement(_contextProvider.ContextLayout, null, renderCarousel);
|
909
1062
|
});
|
910
1063
|
var _default = Carousel;
|