@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
@@ -1,104 +1,84 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
5
4
|
exports.__esModule = true;
|
6
5
|
var _exportNames = {
|
7
6
|
methodsGenerator: true
|
8
7
|
};
|
9
8
|
exports.default = void 0;
|
10
9
|
exports.methodsGenerator = methodsGenerator;
|
11
|
-
|
12
10
|
var _extends5 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
13
|
-
|
14
11
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
15
|
-
|
16
12
|
var _react = _interopRequireWildcard(require("react"));
|
17
|
-
|
18
13
|
var _mobileUtils = require("@arco-design/mobile-utils");
|
19
|
-
|
20
14
|
var _transformable = _interopRequireDefault(require("@arco-design/transformable"));
|
21
|
-
|
22
15
|
var _contextProvider = require("../context-provider");
|
23
|
-
|
24
16
|
var _carousel = _interopRequireDefault(require("../carousel"));
|
25
|
-
|
26
17
|
var _transition = _interopRequireDefault(require("../transition"));
|
27
|
-
|
28
18
|
var _image = _interopRequireDefault(require("../image"));
|
29
|
-
|
30
19
|
var _helpers = require("../_helpers");
|
31
|
-
|
32
20
|
var _portal = _interopRequireDefault(require("../portal"));
|
33
|
-
|
34
21
|
var _methods = require("./methods");
|
35
|
-
|
36
22
|
Object.keys(_methods).forEach(function (key) {
|
37
23
|
if (key === "default" || key === "__esModule") return;
|
38
24
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
39
25
|
if (key in exports && exports[key] === _methods[key]) return;
|
40
26
|
exports[key] = _methods[key];
|
41
27
|
});
|
42
|
-
|
43
28
|
var _loading = _interopRequireDefault(require("../loading"));
|
44
|
-
|
45
29
|
var _excluded = ["style", "className", "images", "loop", "openIndex", "fit", "noselect", "displayDuration", "spaceBetween", "showLoading", "loadingArea", "errorArea", "showError", "retryTime", "staticLabel", "replaceFallbackWhenLoaded", "scrollBezier", "lazyloadCount", "swipeToClose", "getMinScale", "getMaxScale", "getDoubleClickScale", "getContainer", "getThumbBounds", "renderIndicator", "onChange", "onAfterChange", "onImageClick", "onImageDoubleClick", "onImageLongTap", "close", "onClose", "onTouchStart", "onTouchMove", "onTouchEnd", "indicatorPos"];
|
46
|
-
|
47
30
|
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); }
|
48
|
-
|
49
31
|
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; }
|
50
|
-
|
51
32
|
var MAX_ZOOM = 5;
|
52
33
|
var MIN_ZOOM = 0.7;
|
53
34
|
var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
54
35
|
var _imagesStatus$openInd, _imagesStatus$openInd2;
|
55
|
-
|
56
36
|
var style = props.style,
|
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
|
-
|
37
|
+
className = props.className,
|
38
|
+
images = props.images,
|
39
|
+
_props$loop = props.loop,
|
40
|
+
loop = _props$loop === void 0 ? false : _props$loop,
|
41
|
+
openIndex = props.openIndex,
|
42
|
+
fit = props.fit,
|
43
|
+
_props$noselect = props.noselect,
|
44
|
+
noselect = _props$noselect === void 0 ? true : _props$noselect,
|
45
|
+
_props$displayDuratio = props.displayDuration,
|
46
|
+
displayDuration = _props$displayDuratio === void 0 ? 350 : _props$displayDuratio,
|
47
|
+
_props$spaceBetween = props.spaceBetween,
|
48
|
+
spaceBetween = _props$spaceBetween === void 0 ? 0 : _props$spaceBetween,
|
49
|
+
_props$showLoading = props.showLoading,
|
50
|
+
showLoading = _props$showLoading === void 0 ? true : _props$showLoading,
|
51
|
+
loadingArea = props.loadingArea,
|
52
|
+
errorArea = props.errorArea,
|
53
|
+
_props$showError = props.showError,
|
54
|
+
showError = _props$showError === void 0 ? true : _props$showError,
|
55
|
+
retryTime = props.retryTime,
|
56
|
+
staticLabel = props.staticLabel,
|
57
|
+
replaceFallbackWhenLoaded = props.replaceFallbackWhenLoaded,
|
58
|
+
scrollBezier = props.scrollBezier,
|
59
|
+
_props$lazyloadCount = props.lazyloadCount,
|
60
|
+
lazyloadCount = _props$lazyloadCount === void 0 ? 1 : _props$lazyloadCount,
|
61
|
+
_props$swipeToClose = props.swipeToClose,
|
62
|
+
swipeToClose = _props$swipeToClose === void 0 ? true : _props$swipeToClose,
|
63
|
+
getMinScale = props.getMinScale,
|
64
|
+
getMaxScale = props.getMaxScale,
|
65
|
+
getDoubleClickScale = props.getDoubleClickScale,
|
66
|
+
getContainer = props.getContainer,
|
67
|
+
getThumbBounds = props.getThumbBounds,
|
68
|
+
renderIndicator = props.renderIndicator,
|
69
|
+
_onChange = props.onChange,
|
70
|
+
_onAfterChange = props.onAfterChange,
|
71
|
+
onImageClick = props.onImageClick,
|
72
|
+
onImageDoubleClick = props.onImageDoubleClick,
|
73
|
+
onImageLongTap = props.onImageLongTap,
|
74
|
+
close = props.close,
|
75
|
+
onClose = props.onClose,
|
76
|
+
onTouchStart = props.onTouchStart,
|
77
|
+
onTouchMove = props.onTouchMove,
|
78
|
+
onTouchEnd = props.onTouchEnd,
|
79
|
+
_props$indicatorPos = props.indicatorPos,
|
80
|
+
indicatorPos = _props$indicatorPos === void 0 ? 'start' : _props$indicatorPos,
|
81
|
+
otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
102
82
|
var system = (0, _helpers.useSystem)();
|
103
83
|
var domRef = (0, _react.useRef)(null);
|
104
84
|
var imagesRef = (0, _react.useRef)([]);
|
@@ -118,28 +98,22 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
118
98
|
var lastScaleRef = (0, _react.useRef)(0);
|
119
99
|
var closingRef = (0, _react.useRef)(false);
|
120
100
|
var isInitialMount = (0, _react.useRef)(false);
|
121
|
-
|
122
101
|
var _useState = (0, _react.useState)({}),
|
123
|
-
|
124
|
-
|
125
|
-
|
102
|
+
showPlaceholders = _useState[0],
|
103
|
+
setPlaceholders = _useState[1];
|
126
104
|
var _useRefState = (0, _helpers.useRefState)([]),
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
105
|
+
imagesStatus = _useRefState[0],
|
106
|
+
imagesStatusRef = _useRefState[1],
|
107
|
+
setImagesStatus = _useRefState[2];
|
131
108
|
var _useState2 = (0, _react.useState)(null),
|
132
|
-
|
133
|
-
|
134
|
-
|
109
|
+
transImageInfo = _useState2[0],
|
110
|
+
setTransImageInfo = _useState2[1];
|
135
111
|
var openLoaded = (_imagesStatus$openInd = imagesStatus[openIndex]) == null ? void 0 : _imagesStatus$openInd.loaded;
|
136
112
|
var openAnimated = (_imagesStatus$openInd2 = imagesStatus[openIndex]) == null ? void 0 : _imagesStatus$openInd2.animated;
|
137
113
|
var visible = openIndex >= 0 && openIndex < images.length;
|
138
|
-
|
139
114
|
var _useWindowSize = (0, _helpers.useWindowSize)(true),
|
140
|
-
|
141
|
-
|
142
|
-
|
115
|
+
windowWidth = _useWindowSize.windowWidth,
|
116
|
+
windowHeight = _useWindowSize.windowHeight;
|
143
117
|
(0, _react.useImperativeHandle)(ref, function () {
|
144
118
|
return {
|
145
119
|
dom: domRef.current,
|
@@ -156,7 +130,6 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
156
130
|
carouselRef.current && carouselRef.current.changeIndex(openIndex, true);
|
157
131
|
setImagesStatus(images.map(function (_, index) {
|
158
132
|
var _imagesStatusRef$curr;
|
159
|
-
|
160
133
|
return {
|
161
134
|
firstLoaded: ((_imagesStatusRef$curr = imagesStatusRef.current[index]) == null ? void 0 : _imagesStatusRef$curr.firstLoaded) || false,
|
162
135
|
animated: index !== openIndex
|
@@ -167,18 +140,18 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
167
140
|
// 移除长按事件监听
|
168
141
|
// @en Remove long press event listener
|
169
142
|
longTimerRef.current && clearTimeout(longTimerRef.current);
|
170
|
-
longTapCheckingRef.current = false;
|
143
|
+
longTapCheckingRef.current = false;
|
144
|
+
// 图片状态重置
|
171
145
|
// @en Reset image state
|
172
|
-
|
173
146
|
setImagesStatus(imagesStatusRef.current.map(function (status) {
|
174
147
|
return (0, _extends5.default)({}, status, {
|
175
148
|
animated: false,
|
176
149
|
loaded: false
|
177
150
|
});
|
178
151
|
}));
|
179
|
-
transformersRef.current = [];
|
152
|
+
transformersRef.current = [];
|
153
|
+
// 移除过渡图片
|
180
154
|
// @en Remove transition image
|
181
|
-
|
182
155
|
removeChild(document.querySelector('.image-preview-fake-trans-image'));
|
183
156
|
setTransImageInfo(null);
|
184
157
|
setPlaceholders({});
|
@@ -187,7 +160,6 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
187
160
|
mounted && onClose && onClose();
|
188
161
|
}, displayDuration);
|
189
162
|
}
|
190
|
-
|
191
163
|
isInitialMount.current = true;
|
192
164
|
}, [visible]);
|
193
165
|
(0, _react.useEffect)(function () {
|
@@ -219,36 +191,31 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
219
191
|
transformer && transformer.setMaxScale(getImageMaxScale(index));
|
220
192
|
});
|
221
193
|
}, [getMaxScale]);
|
222
|
-
|
223
194
|
function removeChild(child) {
|
224
195
|
try {
|
225
196
|
child && document.body.removeChild(child);
|
226
197
|
} catch (e) {}
|
227
|
-
}
|
228
|
-
// @en Monitor the operation of sliding out after sliding to the upper and lower edges, then close the popup
|
229
|
-
|
198
|
+
}
|
230
199
|
|
200
|
+
// 监听滑动到上下边缘后还在往外滑动的操作,则关闭弹窗
|
201
|
+
// @en Monitor the operation of sliding out after sliding to the upper and lower edges, then close the popup
|
231
202
|
function handlePreventCallback(_, dir) {
|
232
203
|
if (!isTransforming() && dir === 'y') {
|
233
204
|
touchingSideDisRef.current += 1;
|
234
205
|
}
|
235
206
|
}
|
207
|
+
|
236
208
|
/**
|
237
209
|
* 缩放插件初始化
|
238
210
|
* @en Zoom plugin initialization
|
239
211
|
*/
|
240
|
-
|
241
|
-
|
242
212
|
function initTransformer(index) {
|
243
213
|
var _imagesRef$current$in;
|
244
|
-
|
245
214
|
var imageDom = (_imagesRef$current$in = imagesRef.current[index]) == null ? void 0 : _imagesRef$current$in.dom;
|
246
215
|
var wrapDom = imageDom == null ? void 0 : imageDom.parentElement;
|
247
|
-
|
248
216
|
if (!imageDom || !wrapDom) {
|
249
217
|
return;
|
250
218
|
}
|
251
|
-
|
252
219
|
if (transformersRef.current[index]) {
|
253
220
|
transformersRef.current[index].setDom(wrapDom);
|
254
221
|
} else {
|
@@ -267,16 +234,15 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
267
234
|
},
|
268
235
|
onTransform: function onTransform() {
|
269
236
|
var _transformersRef$curr, _imagesStatusRef$curr2, _imagesStatusRef$curr3;
|
270
|
-
|
271
237
|
// 图片放大再缩小,解决ios图片放大后模糊的问题
|
272
238
|
// @en The image is zoomed in and then zoomed out to solve the problem of blurring after zooming in on ios images
|
273
239
|
var img = imageDomsRef.current[index];
|
274
240
|
var trans = ((_transformersRef$curr = transformersRef.current[index]) == null ? void 0 : _transformersRef$curr.getTransform == null ? void 0 : _transformersRef$curr.getTransform()) || {};
|
275
241
|
var width = (_imagesStatusRef$curr2 = imagesStatusRef.current[index]) == null ? void 0 : _imagesStatusRef$curr2.originWidth;
|
276
242
|
var height = (_imagesStatusRef$curr3 = imagesStatusRef.current[index]) == null ? void 0 : _imagesStatusRef$curr3.originHeight;
|
277
|
-
var scale = trans.scale || 1;
|
243
|
+
var scale = trans.scale || 1;
|
244
|
+
// 判断下只有图片缩放发生改变时重写图片样式
|
278
245
|
// @en It is judged that only the image style is rewritten when the zoom of the image changes.
|
279
|
-
|
280
246
|
if (img && width && height && lastScaleRef.current !== scale) {
|
281
247
|
lastScaleRef.current = scale;
|
282
248
|
var atCenter = !imageHasOverflow(img) ? ' translateY(-50%)' : '';
|
@@ -295,23 +261,18 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
295
261
|
onZoomEnd: function onZoomEnd(_1, _2, pinchStartCenter) {
|
296
262
|
setPlaceholders(function (holders) {
|
297
263
|
var _extends2;
|
298
|
-
|
299
264
|
return (0, _extends5.default)({}, holders, (_extends2 = {}, _extends2[index] = false, _extends2));
|
300
265
|
});
|
301
266
|
var image = imageDomsRef.current[index];
|
302
267
|
var transformer = transformersRef.current[index];
|
303
|
-
|
304
268
|
if (!image || !transformer || transformer.getTransform().scale < 1) {
|
305
269
|
return;
|
306
270
|
}
|
307
|
-
|
308
271
|
var imageRect = image.getBoundingClientRect();
|
309
|
-
|
310
272
|
if (imageRect.width > windowWidth && imageRect.height > windowHeight) {
|
311
273
|
if (pinchStartCenter && pinchStartCenter.length) {
|
312
274
|
transformer.setCenter.apply(transformer, pinchStartCenter);
|
313
275
|
}
|
314
|
-
|
315
276
|
transformer.setFixedX(false);
|
316
277
|
transformer.setFixedY(false);
|
317
278
|
} else if (imageRect.height <= windowHeight) {
|
@@ -330,24 +291,19 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
330
291
|
maxScale: getImageMaxScale(index)
|
331
292
|
});
|
332
293
|
}
|
333
|
-
|
334
294
|
setOriginBoundary(index);
|
335
295
|
}
|
336
|
-
|
337
296
|
function imageHasOverflow(img) {
|
338
297
|
return Boolean(img && !img.classList.contains('preview-fit-contain-y'));
|
339
298
|
}
|
340
|
-
|
341
299
|
function setOriginBoundary(index) {
|
342
300
|
var imageEle = imagesRef.current[index];
|
343
|
-
var imageDom = imageEle == null ? void 0 : imageEle.dom;
|
301
|
+
var imageDom = imageEle == null ? void 0 : imageEle.dom;
|
302
|
+
// 边界范围变为图片范围和容器范围的并集
|
344
303
|
// @en The bounding range becomes the union of the image range and the container range
|
345
|
-
|
346
304
|
if (imageDom != null && imageDom.parentElement && imageEle != null && imageEle.image) {
|
347
305
|
var _rect = imageEle.image.getBoundingClientRect();
|
348
|
-
|
349
306
|
var eleRect = imageDom.parentElement.getBoundingClientRect();
|
350
|
-
|
351
307
|
if (transformersRef.current[index]) {
|
352
308
|
transformersRef.current[index].setBoundary({
|
353
309
|
left: Math.min(_rect.left, eleRect.left),
|
@@ -358,137 +314,111 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
358
314
|
}
|
359
315
|
}
|
360
316
|
}
|
317
|
+
|
361
318
|
/**
|
362
319
|
* 获取最小缩放倍数
|
363
320
|
* @en Get the minimum zoom factor
|
364
321
|
*/
|
365
|
-
|
366
|
-
|
367
322
|
function getImageMinScale(index) {
|
368
323
|
var currentIndex = index === void 0 ? innerIndexRef.current : index;
|
369
324
|
var imageDom = imageDomsRef.current[currentIndex];
|
370
|
-
|
371
325
|
if (!imageDom) {
|
372
326
|
return 1;
|
373
327
|
}
|
374
|
-
|
375
328
|
if (getMinScale) {
|
376
329
|
return getMinScale(imageDom, currentIndex);
|
377
330
|
}
|
378
|
-
|
379
331
|
return MIN_ZOOM;
|
380
332
|
}
|
333
|
+
|
381
334
|
/**
|
382
335
|
* 获取最大缩放倍数
|
383
336
|
* @en Get the maximum zoom factor
|
384
337
|
*/
|
385
|
-
|
386
|
-
|
387
338
|
function getImageMaxScale(index) {
|
388
339
|
var currentIndex = index === void 0 ? innerIndexRef.current : index;
|
389
340
|
var imageDom = imageDomsRef.current[currentIndex];
|
390
|
-
|
391
341
|
if (!imageDom) {
|
392
342
|
return 1;
|
393
343
|
}
|
394
|
-
|
395
344
|
if (getMaxScale) {
|
396
345
|
return getMaxScale(imageDom, currentIndex);
|
397
346
|
}
|
398
|
-
|
399
347
|
var imageWidth = imageDom.naturalWidth;
|
400
348
|
var imageHeight = imageDom.naturalHeight;
|
401
349
|
var maxScale = 1;
|
402
|
-
|
403
350
|
if (imageWidth > imageHeight) {
|
404
351
|
maxScale = imageWidth / windowWidth * MAX_ZOOM;
|
405
352
|
} else {
|
406
353
|
maxScale = Math.max(MAX_ZOOM, imageWidth / windowWidth);
|
407
354
|
}
|
408
|
-
|
409
355
|
return maxScale;
|
410
356
|
}
|
357
|
+
|
411
358
|
/**
|
412
359
|
* 计算双击时图片缩放倍数
|
413
360
|
* @en Calculate the zoom factor of the image when double-clicking
|
414
361
|
*/
|
415
|
-
|
416
|
-
|
417
362
|
function getImageDoubleClickScale(currentScale) {
|
418
363
|
var index = innerIndexRef.current;
|
419
364
|
var imageDom = imageDomsRef.current[index];
|
420
|
-
|
421
365
|
if (!imageDom) {
|
422
366
|
return 1;
|
423
367
|
}
|
424
|
-
|
425
368
|
var maxScale = getImageMaxScale(index);
|
426
|
-
|
427
369
|
if (getDoubleClickScale) {
|
428
370
|
return getDoubleClickScale(currentScale, maxScale, imageDom, index);
|
429
371
|
}
|
430
|
-
|
431
372
|
var imageWidth = imageDom.naturalWidth;
|
432
373
|
var imageHeight = imageDom.naturalHeight;
|
433
374
|
var fitScale = imageWidth > imageHeight ? imageWidth / windowWidth * windowHeight / imageHeight : 1;
|
434
375
|
var dblScale = 2;
|
435
|
-
|
436
376
|
if (fitScale >= 2) {
|
437
377
|
dblScale = Math.min(maxScale, fitScale);
|
438
378
|
}
|
439
|
-
|
440
379
|
var current = Number(currentScale.toFixed(3));
|
441
380
|
var dbl = Number(dblScale.toFixed(3));
|
442
381
|
return current >= 1 && current < dbl ? dbl : 1;
|
443
382
|
}
|
383
|
+
|
444
384
|
/**
|
445
385
|
* 还原缩放至原始位置
|
446
386
|
* @en Revert zoom to original position
|
447
387
|
*/
|
448
|
-
|
449
|
-
|
450
388
|
function restoreTransformer(index) {
|
451
389
|
var transformer = transformersRef.current[index];
|
452
|
-
|
453
390
|
if (transformer) {
|
454
391
|
transformer.restore();
|
455
392
|
}
|
456
393
|
}
|
394
|
+
|
457
395
|
/**
|
458
396
|
* 是否正处于缩放状态
|
459
397
|
* @en Whether it is zooming
|
460
398
|
*/
|
461
|
-
|
462
|
-
|
463
399
|
function isTransforming(index) {
|
464
400
|
var _transformersRef$curr2;
|
465
|
-
|
466
401
|
var currentIndex = index === void 0 ? innerIndexRef.current : index;
|
467
402
|
return (_transformersRef$curr2 = transformersRef.current[currentIndex]) == null ? void 0 : _transformersRef$curr2.busy == null ? void 0 : _transformersRef$curr2.busy();
|
468
403
|
}
|
404
|
+
|
469
405
|
/**
|
470
406
|
* 是否已经放大过
|
471
407
|
* @en Whether is has been zoomed in
|
472
408
|
*/
|
473
|
-
|
474
|
-
|
475
409
|
function isTransformed() {
|
476
410
|
var _transformersRef$curr3;
|
477
|
-
|
478
411
|
return (_transformersRef$curr3 = transformersRef.current[innerIndexRef.current]) == null ? void 0 : _transformersRef$curr3.dirty == null ? void 0 : _transformersRef$curr3.dirty();
|
479
412
|
}
|
480
|
-
|
481
413
|
function isTapStop() {
|
482
414
|
var _transformersRef$curr4;
|
483
|
-
|
484
415
|
return (_transformersRef$curr4 = transformersRef.current[innerIndexRef.current]) == null ? void 0 : _transformersRef$curr4.isTapStop == null ? void 0 : _transformersRef$curr4.isTapStop();
|
485
416
|
}
|
417
|
+
|
486
418
|
/**
|
487
419
|
* 计算距离左右侧的距离,如果为0说明到边缘了,可以进行正常轮播操作
|
488
420
|
* @en Calculate the distance from the left and right sides. If it is 0, it means that the edge is reached, and the normal rotation operation can be performed.
|
489
421
|
*/
|
490
|
-
|
491
|
-
|
492
422
|
function transformTouchSide() {
|
493
423
|
var transformer = transformersRef.current[innerIndexRef.current];
|
494
424
|
var toLeft = transformer == null ? void 0 : transformer.toLeft == null ? void 0 : transformer.toLeft();
|
@@ -499,23 +429,20 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
499
429
|
right: !toRight
|
500
430
|
};
|
501
431
|
}
|
502
|
-
|
503
432
|
function handleImageWrapTouchStart(e) {
|
504
433
|
if (onTouchStart && onTouchStart(e, innerIndexRef.current)) {
|
505
434
|
return true;
|
506
435
|
}
|
507
|
-
|
508
436
|
var touches = e.touches;
|
509
437
|
touchStartXRef.current = e.touches && e.touches[0] ? e.touches[0].clientX : 0;
|
510
438
|
movedRef.current = false;
|
511
|
-
dblClickingRef.current = false;
|
439
|
+
dblClickingRef.current = false;
|
440
|
+
// 单点长按才触发长按
|
512
441
|
// @en A single long press triggers a long press
|
513
|
-
|
514
442
|
if (touches.length === 1) {
|
515
443
|
if (!closingRef.current) {
|
516
444
|
longTapCheckingRef.current = true;
|
517
445
|
}
|
518
|
-
|
519
446
|
longTimerRef.current = window.setTimeout(function () {
|
520
447
|
if (longTapCheckingRef.current) {
|
521
448
|
longTapCheckingRef.current = false;
|
@@ -526,72 +453,61 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
526
453
|
} else {
|
527
454
|
longTapCheckingRef.current = false;
|
528
455
|
}
|
529
|
-
|
530
456
|
if (isTapStop()) {
|
531
457
|
movedRef.current = true;
|
532
|
-
}
|
458
|
+
}
|
459
|
+
// 缩放状态下,未到边缘时不触发轮播手势
|
533
460
|
// @en In the zoomed state, the carousel gesture is not triggered when the edge is not reached
|
534
|
-
|
535
|
-
|
536
461
|
if (isTransforming()) {
|
537
462
|
startTouchingSideRef.current = transformTouchSide().side;
|
538
463
|
return !startTouchingSideRef.current;
|
539
464
|
}
|
540
465
|
}
|
541
|
-
|
542
466
|
function handleImageWrapTouchMove(e) {
|
543
467
|
movedRef.current = true;
|
544
468
|
longTapCheckingRef.current = false;
|
545
469
|
longTimerRef.current && clearTimeout(longTimerRef.current);
|
546
|
-
|
547
470
|
if (onTouchMove && onTouchMove(e, innerIndexRef.current)) {
|
548
471
|
return true;
|
549
472
|
}
|
550
|
-
|
551
473
|
var evt = e.changedTouches[0];
|
552
474
|
var touchMoveX = evt.clientX || 0;
|
553
|
-
var posDisX = touchMoveX - touchStartXRef.current;
|
475
|
+
var posDisX = touchMoveX - touchStartXRef.current;
|
476
|
+
// 缩放状态下,到边缘时如果还在往外滑动,则触发轮播手势
|
554
477
|
// @en In the zoomed state, if it is still swiped out when reaching the edge, the carousel gesture is triggered
|
555
|
-
|
556
478
|
if (isTransforming()) {
|
557
479
|
var sideInfo = transformTouchSide();
|
558
480
|
return !startTouchingSideRef.current || !(sideInfo.left && posDisX > 0 || sideInfo.right && posDisX < 0);
|
559
481
|
}
|
560
482
|
}
|
561
|
-
|
562
483
|
function handleImageWrapTouchEnd(e) {
|
563
484
|
if (onTouchEnd && onTouchEnd(e, innerIndexRef.current)) {
|
564
485
|
return true;
|
565
|
-
}
|
486
|
+
}
|
487
|
+
// 滑动到上下边缘后还在往外滑动,则关闭弹窗
|
566
488
|
// @en After sliding to the upper and lower edges and still sliding outwards, close the popup box
|
567
489
|
// needClose为触发touchmove的次数,6和3是相对值,表示判断在往外滑动的敏感度,当未放大时对向外滑动手势更敏感
|
568
490
|
// @en needClose is the number of times the touchmove is triggered, 6 and 3 are relative values, indicating the sensitivity of judging the outward sliding, and it is more sensitive to the outward sliding gesture when it is not zoomed in
|
569
|
-
|
570
|
-
|
571
491
|
var needClose = swipeToClose && touchingSideDisRef.current >= (isTransformed() ? 6 : 3);
|
572
492
|
touchingSideDisRef.current = 0;
|
573
493
|
longTapCheckingRef.current = false;
|
574
494
|
longTimerRef.current && clearTimeout(longTimerRef.current);
|
575
|
-
|
576
495
|
if (needClose) {
|
577
496
|
goClose(e);
|
578
497
|
return true;
|
579
|
-
}
|
498
|
+
}
|
499
|
+
// 缩放状态下,未到边缘时不触发轮播手势
|
580
500
|
// @en In the zoomed state, the carousel gesture is not triggered when the edge is not reached
|
581
|
-
|
582
|
-
|
583
501
|
if (isTransforming() && !transformTouchSide().side) {
|
584
502
|
return true;
|
585
503
|
}
|
586
504
|
}
|
587
|
-
|
588
505
|
function handleImageClick(e) {
|
589
506
|
if (movedRef.current) {
|
590
507
|
return;
|
591
|
-
}
|
508
|
+
}
|
509
|
+
// 300ms内再次点击则触发doubleClick,否则触发click
|
592
510
|
// @en Click again within 300ms to trigger doubleClick, otherwise trigger click
|
593
|
-
|
594
|
-
|
595
511
|
dblTimerRef.current = window.setTimeout(function () {
|
596
512
|
if (!dblClickingRef.current) {
|
597
513
|
if (!onImageClick || !onImageClick(innerIndexRef.current, e)) {
|
@@ -600,35 +516,29 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
600
516
|
}
|
601
517
|
}, 300);
|
602
518
|
}
|
603
|
-
|
604
519
|
function handleImageDoubleClick(e) {
|
605
520
|
if (dblClickingRef.current) {
|
606
521
|
// 防止重复触发dblclick
|
607
522
|
return;
|
608
523
|
}
|
609
|
-
|
610
524
|
dblClickingRef.current = true;
|
611
|
-
|
612
525
|
if (dblTimerRef.current) {
|
613
526
|
clearTimeout(dblTimerRef.current);
|
614
527
|
dblTimerRef.current = null;
|
615
528
|
}
|
616
|
-
|
617
529
|
var index = innerIndexRef.current;
|
618
|
-
onImageDoubleClick && onImageDoubleClick(index, e);
|
530
|
+
onImageDoubleClick && onImageDoubleClick(index, e);
|
531
|
+
// 双击时根据配置放大或缩小
|
619
532
|
// @en Zoom in or out according to configuration when double-clicking
|
620
|
-
|
621
533
|
var transformer = transformersRef.current[index];
|
622
|
-
|
623
534
|
if (transformer) {
|
624
535
|
var trans = transformer.getTransform();
|
625
536
|
var rate = trans.scale || 1;
|
626
537
|
var dblScale = getImageDoubleClickScale(rate);
|
627
|
-
|
628
538
|
if (dblScale === 1) {
|
629
|
-
var img = imageDomsRef.current[index];
|
539
|
+
var img = imageDomsRef.current[index];
|
540
|
+
// 长图双击还原缩放特殊处理,因为transform和scroll不能完全同步,所以先zoomTo到原点再restore
|
630
541
|
// @en Double-click the long image to restore zoom special processing, because transform and scroll cannot be completely synchronized, so first zoomTo to the origin and then restore
|
631
|
-
|
632
542
|
if (imageHasOverflow(img)) {
|
633
543
|
transformer.zoomToScreenCenter(1, [windowWidth / 2, windowHeight / 2], {
|
634
544
|
duration: 200,
|
@@ -648,57 +558,48 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
648
558
|
}
|
649
559
|
}
|
650
560
|
}
|
651
|
-
|
652
561
|
var handleClick = (0, _helpers.useSingleAndDoubleClick)(handleImageClick, handleImageDoubleClick);
|
653
|
-
|
654
562
|
function goClose(e) {
|
655
563
|
if (closingRef.current) {
|
656
564
|
return;
|
657
565
|
}
|
658
|
-
|
659
566
|
closingRef.current = true;
|
660
567
|
close(e);
|
661
568
|
}
|
569
|
+
|
662
570
|
/**
|
663
571
|
* 更改指定图片状态
|
664
572
|
* @en Change specified image status
|
665
573
|
*/
|
666
|
-
|
667
|
-
|
668
574
|
function setImagesStatusByIndex(index, data) {
|
669
575
|
var newStatus = imagesStatusRef.current.slice();
|
670
576
|
newStatus[index] = (0, _extends5.default)({}, newStatus[index] || {}, data);
|
671
577
|
setImagesStatus(newStatus);
|
672
578
|
}
|
579
|
+
|
673
580
|
/**
|
674
581
|
* 缩略图放大过渡动画设置
|
675
582
|
* @en Set thumbnail zoom transition animation
|
676
583
|
*/
|
677
|
-
|
678
|
-
|
679
584
|
function setDisplayAnimation(index) {
|
680
585
|
var _imagesStatusRef$curr4;
|
681
|
-
|
682
586
|
var firstLoaded = (_imagesStatusRef$curr4 = imagesStatusRef.current[index]) == null ? void 0 : _imagesStatusRef$curr4.firstLoaded;
|
683
|
-
var fallbackSrc = replaceFallbackWhenLoaded && firstLoaded ? images[index].src : images[index].fallbackSrc;
|
587
|
+
var fallbackSrc = replaceFallbackWhenLoaded && firstLoaded ? images[index].src : images[index].fallbackSrc;
|
588
|
+
// 用户设置了getThumbBounds和images的fallbackSrc属性才有放大过渡效果
|
684
589
|
// @en Set the fallbackSrc attribute of getThumbBounds and images to have a zoom-in transition effect
|
685
|
-
|
686
590
|
if (!getThumbBounds || !images[index] || !fallbackSrc) {
|
687
591
|
resetAnimation(index);
|
688
592
|
return;
|
689
|
-
}
|
593
|
+
}
|
594
|
+
// 获取缩略图的rect,如果没获取到就取消放大过渡效果
|
690
595
|
// @en Get the rect of the thumbnail, if it is gotten, cancel the zoom transition effect
|
691
|
-
|
692
|
-
|
693
596
|
var thumbBounds = getThumbBounds(index);
|
694
|
-
|
695
597
|
if (!thumbBounds || !thumbBounds.width || !thumbBounds.height) {
|
696
598
|
resetAnimation(index);
|
697
599
|
return;
|
698
|
-
}
|
600
|
+
}
|
601
|
+
// 伪造一个fixed的图做小图放大效果
|
699
602
|
// @en Forge a fixed image to make a small image enlargement effect
|
700
|
-
|
701
|
-
|
702
603
|
var transImage = new Image();
|
703
604
|
transImageRef.current = transImage;
|
704
605
|
transImage.classList.add('image-preview-fake-trans-image');
|
@@ -708,25 +609,23 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
708
609
|
transImage.style.opacity = '0';
|
709
610
|
transImage.style.transitionDuration = displayDuration + "ms";
|
710
611
|
transImage.style.webkitTransitionDuration = displayDuration + "ms";
|
711
|
-
document.body.appendChild(transImage);
|
612
|
+
document.body.appendChild(transImage);
|
613
|
+
// 拿到放大之后的位置rect,没拿到就取消小图放大效果
|
712
614
|
// @en Get the zoomed-in position rect, and cancel the zoom-in effect if not getting it
|
713
|
-
|
714
615
|
getNewImageBounds(index, fallbackSrc, transImage, function (rect) {
|
715
616
|
if (!rect || !rect.width || !rect.height) {
|
716
617
|
removeChild(transImage);
|
717
618
|
resetAnimation(index);
|
718
619
|
return;
|
719
|
-
}
|
620
|
+
}
|
621
|
+
// 通过小图rect变换到大图rect加transition做放大效果
|
720
622
|
// @en Transform the small image rect to the large image rect and add transition to make a magnification effect
|
721
|
-
|
722
|
-
|
723
623
|
(0, _mobileUtils.nextTick)(function () {
|
724
624
|
transImage.style.opacity = '1';
|
725
625
|
setImageBounds(transImage, rect, thumbBounds);
|
726
626
|
setTimeout(function () {
|
727
627
|
setPlaceholders(function (holders) {
|
728
628
|
var _extends3;
|
729
|
-
|
730
629
|
return (0, _extends5.default)({}, holders, (_extends3 = {}, _extends3[index] = true, _extends3));
|
731
630
|
});
|
732
631
|
}, Math.max(0, displayDuration - 80));
|
@@ -736,24 +635,22 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
736
635
|
});
|
737
636
|
});
|
738
637
|
}
|
638
|
+
|
739
639
|
/**
|
740
640
|
* 取消小图放大过渡效果
|
741
641
|
* @en Cancel the thumbnail zoom transition effect
|
742
642
|
*/
|
743
|
-
|
744
|
-
|
745
643
|
function resetAnimation(index) {
|
746
644
|
setImagesStatusByIndex(index, {
|
747
645
|
animated: true
|
748
646
|
});
|
749
647
|
setTransImageInfo(null);
|
750
648
|
}
|
649
|
+
|
751
650
|
/**
|
752
651
|
* 根据rect设置图片的位置
|
753
652
|
* @en Set the position of the image according to the rect
|
754
653
|
*/
|
755
|
-
|
756
|
-
|
757
654
|
function setImageBounds(image, rect, thumbRect) {
|
758
655
|
// 这里为保持原有比例,只设置宽度变化,高度会随宽度等比变化
|
759
656
|
image.style.width = thumbRect.width + "px";
|
@@ -763,18 +660,16 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
763
660
|
image.style.transformOrigin = 'left top';
|
764
661
|
image.style.webkitTransformOrigin = 'left top';
|
765
662
|
}
|
663
|
+
|
766
664
|
/**
|
767
665
|
* 计算放大之后的位置rect
|
768
666
|
* @en Calculate the position rect after zooming in
|
769
667
|
*/
|
770
|
-
|
771
|
-
|
772
668
|
function getNewImageBounds(index, transSrc, transImage, callback) {
|
773
669
|
if (!transSrc) {
|
774
670
|
callback(null);
|
775
671
|
return;
|
776
672
|
}
|
777
|
-
|
778
673
|
setTransImageInfo({
|
779
674
|
src: transSrc,
|
780
675
|
fit: images[index].fit,
|
@@ -790,19 +685,18 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
790
685
|
}
|
791
686
|
});
|
792
687
|
}
|
688
|
+
|
793
689
|
/**
|
794
690
|
* @en 渲染轮播+图片展示
|
795
691
|
* Rendering carousel + displaying image
|
796
692
|
*/
|
797
|
-
|
798
|
-
|
799
693
|
function renderContent(carouselProps, allImages, getImageProps) {
|
800
694
|
return /*#__PURE__*/_react.default.createElement(_carousel.default, (0, _extends5.default)({
|
801
695
|
autoPlay: false,
|
802
696
|
loop: loop,
|
803
697
|
lazyloadCount: lazyloadCount
|
804
698
|
}, carouselProps), (allImages || []).map(function (image, index) {
|
805
|
-
|
699
|
+
var innerNode = /*#__PURE__*/_react.default.createElement("div", {
|
806
700
|
key: index,
|
807
701
|
className: "preview-image-wrap",
|
808
702
|
style: {
|
@@ -815,24 +709,25 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
815
709
|
boxHeight: windowHeight,
|
816
710
|
bottomOverlap: null
|
817
711
|
}, getImageProps(image, index))));
|
712
|
+
return image.extraNode ? /*#__PURE__*/_react.default.createElement("div", {
|
713
|
+
className: "preview-image-wrap-container",
|
714
|
+
key: "outer-" + index
|
715
|
+
}, innerNode, image.extraNode) : innerNode;
|
818
716
|
}));
|
819
717
|
}
|
820
|
-
|
821
718
|
function getImageClass(index) {
|
822
719
|
var _ref = imagesStatus[index] || {},
|
823
|
-
|
824
|
-
|
825
|
-
|
720
|
+
loaded = _ref.loaded,
|
721
|
+
animated = _ref.animated;
|
826
722
|
return (0, _mobileUtils.cls)('preview-image', {
|
827
723
|
'preview-hidden': index === openIndex && (!loaded || !animated)
|
828
724
|
});
|
829
725
|
}
|
726
|
+
|
830
727
|
/**
|
831
728
|
* 每张图片的样式
|
832
729
|
* @en style of each image
|
833
730
|
*/
|
834
|
-
|
835
|
-
|
836
731
|
function getImageStyle() {
|
837
732
|
// 因为缩放的容器必须是没有transform和transition的纯净元素
|
838
733
|
// @en Because the scaled container must be a pure element without transform and transition
|
@@ -841,31 +736,29 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
841
736
|
return {
|
842
737
|
overflow: 'visible'
|
843
738
|
};
|
844
|
-
}
|
845
|
-
|
739
|
+
}
|
846
740
|
|
741
|
+
// 渲染轮播指引器
|
847
742
|
function renderPreviewIndicator(currentIndex, total, lastIndex) {
|
848
743
|
if (renderIndicator) {
|
849
744
|
return renderIndicator(currentIndex, total, lastIndex);
|
850
745
|
}
|
851
|
-
|
852
746
|
return openLoaded ? /*#__PURE__*/_react.default.createElement(_portal.default, null, /*#__PURE__*/_react.default.createElement("div", {
|
853
747
|
className: "image-preview-indicator"
|
854
748
|
}, currentIndex + 1, "/", total)) : null;
|
855
|
-
}
|
749
|
+
}
|
750
|
+
|
751
|
+
// ios在重设style时图片会消失一下造成闪动,因此在底下垫一张图
|
856
752
|
// @en In iOS when resetting the style, the image will disappear and cause flickering, so put a image at the bottom
|
857
753
|
// 优先过渡图,其次用原图
|
858
754
|
// @en Prioritize the transition image, followed by the original image
|
859
|
-
|
860
|
-
|
861
755
|
function renderImagePlaceholder(src, index) {
|
862
756
|
var _ref2 = imagesStatus[index] || {},
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
|
757
|
+
originWidth = _ref2.originWidth,
|
758
|
+
originHeight = _ref2.originHeight,
|
759
|
+
originLeft = _ref2.originLeft,
|
760
|
+
originTop = _ref2.originTop,
|
761
|
+
hasOverflow = _ref2.hasOverflow;
|
869
762
|
var trans = hasOverflow ? {} : (0, _helpers.getStyleWithVendor)({
|
870
763
|
transform: 'translateY(-50%)'
|
871
764
|
});
|
@@ -880,7 +773,6 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
880
773
|
}, trans)
|
881
774
|
}) : null;
|
882
775
|
}
|
883
|
-
|
884
776
|
function renderLoadingArea(index) {
|
885
777
|
// loadingArea提出来,放到过渡图上层
|
886
778
|
// @en The loadingArea is extracted and placed on the upper layer of the transition image
|
@@ -892,7 +784,6 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
892
784
|
radius: 7
|
893
785
|
}))) : loadingArea;
|
894
786
|
}
|
895
|
-
|
896
787
|
return /*#__PURE__*/_react.default.createElement(_contextProvider.ContextLayout, null, function (_ref3) {
|
897
788
|
var prefixCls = _ref3.prefixCls;
|
898
789
|
return /*#__PURE__*/_react.default.createElement(_portal.default, {
|
@@ -957,20 +848,17 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
957
848
|
originLeft: imageEle.offsetLeft,
|
958
849
|
hasOverflow: imageHasOverflow(imageEle)
|
959
850
|
});
|
960
|
-
|
961
851
|
if (index === openIndex) {
|
962
852
|
initTransformer(index);
|
963
853
|
} else {
|
964
854
|
setPlaceholders(function (holders) {
|
965
855
|
var _extends4;
|
966
|
-
|
967
856
|
return (0, _extends5.default)({}, holders, (_extends4 = {}, _extends4[index] = true, _extends4));
|
968
857
|
});
|
969
858
|
}
|
970
859
|
},
|
971
860
|
onError: function onError() {
|
972
861
|
imageDomsRef.current[index] = null;
|
973
|
-
|
974
862
|
if (index === openIndex) {
|
975
863
|
var transImage = transImageInfo == null ? void 0 : transImageInfo.movingImage;
|
976
864
|
removeChild(transImage);
|
@@ -1003,7 +891,6 @@ var ImagePreview = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
1003
891
|
}) : null);
|
1004
892
|
});
|
1005
893
|
});
|
1006
|
-
|
1007
894
|
function methodsGenerator(Comp) {
|
1008
895
|
return {
|
1009
896
|
/**
|
@@ -1015,8 +902,8 @@ function methodsGenerator(Comp) {
|
|
1015
902
|
open: (0, _methods.open)(Comp)
|
1016
903
|
};
|
1017
904
|
}
|
1018
|
-
|
1019
905
|
var ImagePreviewWithGlobalContext = (0, _contextProvider.CompWithGlobalContext)(ImagePreview);
|
906
|
+
|
1020
907
|
/**
|
1021
908
|
* 图片预览组件,支持循环轮播、双指/双击缩放、缩略图放大效果。
|
1022
909
|
* @en The image preview, supports circular rotation, two-finger/double-tap zoom, and thumbnail zoom effects.
|
@@ -1025,7 +912,5 @@ var ImagePreviewWithGlobalContext = (0, _contextProvider.CompWithGlobalContext)(
|
|
1025
912
|
* @name 图片预览
|
1026
913
|
* @name_en ImagePreview
|
1027
914
|
*/
|
1028
|
-
|
1029
915
|
var _default = (0, _mobileUtils.componentWrapper)(ImagePreview, methodsGenerator(ImagePreviewWithGlobalContext));
|
1030
|
-
|
1031
916
|
exports.default = _default;
|