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