@arco-design/mobile-react 2.38.3 → 2.39.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 +28 -0
- package/README.en-US.md +2 -2
- package/README.md +2 -2
- package/cjs/_helpers/hooks.js +59 -141
- package/cjs/_helpers/index.js +2 -18
- package/cjs/_helpers/react-dom.js +0 -14
- package/cjs/_helpers/render.js +5 -21
- package/cjs/action-sheet/index.d.ts +0 -1
- package/cjs/action-sheet/index.js +10 -30
- package/cjs/action-sheet/methods.js +0 -2
- 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 +53 -79
- 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.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/index.js +153 -288
- 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 +18 -34
- 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.js +1 -8
- 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 +30 -61
- 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 +18 -43
- 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 +1 -1
- package/cjs/date-picker/index.js +69 -167
- package/cjs/date-picker/style/css/index.js +0 -2
- package/cjs/date-picker/style/index.js +0 -2
- package/cjs/dialog/index.d.ts +0 -1
- package/cjs/dialog/index.js +31 -57
- package/cjs/dialog/methods.js +9 -22
- package/cjs/dialog/style/css/index.js +0 -2
- package/cjs/dialog/style/index.js +0 -2
- package/cjs/divider/index.js +8 -20
- package/cjs/divider/style/css/index.js +0 -1
- package/cjs/divider/style/index.js +0 -1
- 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 +4 -24
- 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 +32 -70
- package/cjs/ellipsis/components/native-ellipsis.js +9 -14
- 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.js +0 -5
- package/cjs/form/form-item.d.ts +5 -4
- package/cjs/form/form-item.js +75 -164
- package/cjs/form/index.js +18 -38
- package/cjs/form/linked-container.js +5 -24
- package/cjs/form/style/css/index.js +0 -1
- package/cjs/form/style/index.js +0 -1
- package/cjs/form/type.d.ts +13 -4
- package/cjs/form/type.js +0 -5
- package/cjs/form/useForm.d.ts +1 -1
- package/cjs/form/useForm.js +10 -79
- package/cjs/form/utils.js +4 -22
- package/cjs/grid/index.js +22 -45
- 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/IconDownload/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/IconFile/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/IconKeyboard/index.js +5 -12
- package/cjs/icon/IconKeyboardDelete/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 -119
- package/cjs/image/index.js +53 -94
- 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.js +32 -59
- package/cjs/image-picker/style/css/index.js +0 -3
- package/cjs/image-picker/style/index.js +0 -3
- package/cjs/image-preview/index.js +129 -254
- package/cjs/image-preview/methods.js +5 -18
- package/cjs/image-preview/style/css/index.js +0 -4
- package/cjs/image-preview/style/index.js +0 -4
- package/cjs/index-bar/context.js +0 -2
- package/cjs/index-bar/group.js +16 -35
- package/cjs/index-bar/index.js +55 -87
- package/cjs/index-bar/side-bar.js +15 -34
- package/cjs/index-bar/style/css/index.js +0 -2
- package/cjs/index-bar/style/index.js +0 -2
- package/cjs/index-bar/utils.js +3 -17
- package/cjs/index.js +0 -119
- package/cjs/input/hooks.js +45 -84
- package/cjs/input/index.js +26 -40
- package/cjs/input/style/css/index.js +0 -1
- package/cjs/input/style/index.js +0 -1
- package/cjs/keyboard/index.js +37 -73
- package/cjs/keyboard/style/css/index.js +0 -2
- package/cjs/keyboard/style/index.js +0 -2
- package/cjs/load-more/index.js +33 -65
- 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 +47 -80
- package/cjs/masking/methods.js +5 -21
- package/cjs/masking/style/css/index.js +0 -2
- package/cjs/masking/style/index.js +0 -2
- package/cjs/nav-bar/back-icon.js +2 -8
- package/cjs/nav-bar/index.js +37 -61
- 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 +34 -60
- package/cjs/notice-bar/style/css/index.js +0 -1
- package/cjs/notice-bar/style/index.js +0 -1
- package/cjs/notify/index.js +20 -49
- package/cjs/notify/methods.js +2 -17
- 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.js +48 -84
- package/cjs/picker/style/css/index.js +0 -3
- package/cjs/picker/style/index.js +0 -3
- package/cjs/picker-view/components/cascader.js +13 -32
- package/cjs/picker-view/components/multi-picker.js +8 -17
- package/cjs/picker-view/components/picker-cell.js +45 -101
- package/cjs/picker-view/index.js +30 -76
- 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 +100 -159
- package/cjs/popover/index.js +1 -8
- package/cjs/popover/menu.js +32 -52
- package/cjs/popover/popover-inner.js +30 -48
- 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 +50 -92
- 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.d.ts +1 -1
- package/cjs/pull-refresh/android-pull-refresh.js +56 -95
- package/cjs/pull-refresh/hooks.d.ts +2 -2
- package/cjs/pull-refresh/hooks.js +11 -32
- package/cjs/pull-refresh/index.js +3 -14
- package/cjs/pull-refresh/ios-pull-refresh.d.ts +1 -1
- package/cjs/pull-refresh/ios-pull-refresh.js +55 -81
- package/cjs/pull-refresh/model.d.ts +0 -1
- 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.js +1 -8
- 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.js +28 -54
- 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 +40 -108
- package/cjs/show-monitor/style/css/index.js +0 -1
- package/cjs/show-monitor/style/index.js +0 -1
- package/cjs/skeleton/elements.js +47 -84
- package/cjs/skeleton/index.js +18 -36
- package/cjs/skeleton/skeleton-context.js +0 -4
- package/cjs/skeleton/style/css/index.js +0 -2
- package/cjs/skeleton/style/index.js +0 -2
- package/cjs/slider/hooks/index.js +0 -13
- package/cjs/slider/hooks/useSliderEvents.js +27 -59
- package/cjs/slider/hooks/useSliderIcon.js +6 -20
- package/cjs/slider/hooks/useSliderInit.js +32 -52
- package/cjs/slider/hooks/useSliderStyle.js +13 -27
- package/cjs/slider/index.js +47 -73
- package/cjs/slider/marks.js +13 -27
- 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 +11 -22
- package/cjs/stepper/hooks/useButtonClick.js +15 -25
- package/cjs/stepper/hooks/useInputEvent.js +10 -19
- package/cjs/stepper/hooks/useValue.d.ts +1 -1
- package/cjs/stepper/hooks/useValue.js +9 -15
- package/cjs/stepper/index.js +84 -98
- package/cjs/stepper/style/css/index.js +0 -1
- package/cjs/stepper/style/index.js +0 -1
- package/cjs/stepper/type.d.ts +1 -1
- package/cjs/steps/index.js +25 -43
- package/cjs/steps/step.js +10 -27
- package/cjs/steps/style/css/index.js +0 -1
- package/cjs/steps/style/index.js +0 -1
- package/cjs/sticky/index.js +40 -74
- package/cjs/sticky/style/css/index.js +0 -1
- package/cjs/sticky/style/index.js +0 -1
- package/cjs/style.js +0 -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-action/type.d.ts +1 -1
- package/cjs/swipe-load/index.js +78 -113
- package/cjs/swipe-load/style/css/index.js +0 -1
- package/cjs/swipe-load/style/index.js +0 -1
- package/cjs/switch/index.js +28 -49
- 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 +16 -32
- package/cjs/tabs/index.js +136 -206
- package/cjs/tabs/style/css/index.js +0 -1
- package/cjs/tabs/style/index.js +0 -1
- package/cjs/tabs/tab-cell-underline.js +28 -76
- package/cjs/tabs/tab-cell.js +73 -128
- package/cjs/tabs/tab-pane.js +53 -103
- 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.js +35 -56
- package/cjs/textarea/style/css/index.js +0 -2
- package/cjs/textarea/style/index.js +0 -2
- 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 +17 -29
- package/cjs/transition/style/css/index.js +0 -1
- package/cjs/transition/style/index.js +0 -1
- package/cjs/uploader/index.d.ts +1 -1
- package/cjs/uploader/index.js +28 -49
- package/cjs/uploader/style/css/index.js +0 -3
- package/cjs/uploader/style/index.js +0 -3
- package/cjs/uploader/upload/index.js +0 -4
- package/cjs/uploader/upload/upload.d.ts +4 -4
- package/cjs/uploader/upload/upload.js +9 -45
- package/dist/index.js +5078 -7692
- package/dist/index.min.js +4 -4
- package/esm/_helpers/hooks.js +59 -123
- package/esm/_helpers/index.js +4 -6
- package/esm/_helpers/react-dom.js +0 -11
- package/esm/_helpers/render.js +5 -15
- package/esm/action-sheet/index.d.ts +0 -1
- package/esm/action-sheet/index.js +10 -16
- package/esm/avatar/group.js +12 -16
- package/esm/avatar/index.js +53 -64
- package/esm/badge/index.js +18 -22
- package/esm/button/hooks.js +15 -18
- package/esm/button/index.js +46 -57
- package/esm/carousel/index.js +153 -280
- package/esm/cell/cell.js +18 -25
- 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.js +2 -2
- package/esm/checkbox/type.js +0 -1
- package/esm/circle-progress/index.js +37 -49
- package/esm/collapse/collapse.js +30 -51
- 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 +18 -33
- 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 +1 -1
- package/esm/date-picker/index.js +69 -155
- package/esm/dialog/index.d.ts +0 -1
- package/esm/dialog/index.js +31 -42
- package/esm/dialog/methods.js +9 -11
- package/esm/divider/index.js +8 -12
- 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 +4 -14
- package/esm/dropdown-menu/index.js +1 -1
- package/esm/ellipsis/components/js-ellipsis.js +32 -60
- 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.d.ts +5 -4
- package/esm/form/form-item.js +79 -152
- package/esm/form/index.js +18 -23
- package/esm/form/linked-container.js +5 -14
- package/esm/form/type.d.ts +13 -4
- package/esm/form/type.js +0 -5
- package/esm/form/useForm.d.ts +1 -1
- package/esm/form/useForm.js +13 -77
- package/esm/form/utils.js +4 -11
- package/esm/grid/index.js +22 -38
- 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/IconDownload/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/IconFile/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/IconKeyboard/index.js +5 -6
- package/esm/icon/IconKeyboardDelete/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 -85
- package/esm/image-picker/index.js +32 -42
- package/esm/image-preview/index.js +129 -232
- package/esm/image-preview/methods.js +5 -14
- package/esm/index-bar/group.js +16 -25
- package/esm/index-bar/index.js +55 -74
- package/esm/index-bar/side-bar.js +15 -28
- package/esm/index-bar/utils.js +3 -10
- package/esm/input/hooks.js +45 -75
- package/esm/input/index.js +26 -30
- package/esm/keyboard/index.js +40 -63
- package/esm/load-more/index.js +33 -57
- package/esm/loading/index.js +19 -40
- package/esm/masking/index.js +47 -65
- package/esm/masking/methods.js +5 -16
- package/esm/nav-bar/back-icon.js +2 -4
- package/esm/nav-bar/index.js +37 -52
- package/esm/notice-bar/index.js +34 -53
- package/esm/notify/index.js +20 -33
- package/esm/notify/methods.js +2 -13
- package/esm/pagination/index.js +27 -50
- package/esm/picker/index.js +48 -69
- package/esm/picker-view/components/cascader.js +13 -24
- package/esm/picker-view/components/multi-picker.js +8 -14
- package/esm/picker-view/components/picker-cell.js +45 -93
- package/esm/picker-view/index.js +30 -60
- package/esm/popover/hooks/useEvent.js +26 -41
- package/esm/popover/hooks/usePosition.js +100 -152
- package/esm/popover/index.js +2 -2
- package/esm/popover/menu.js +32 -41
- package/esm/popover/popover-inner.js +30 -39
- package/esm/popover/popover.js +69 -90
- package/esm/popup/index.js +22 -25
- package/esm/popup-swiper/index.js +50 -76
- package/esm/portal/index.js +3 -5
- package/esm/progress/index.js +27 -36
- package/esm/pull-refresh/android-pull-refresh.d.ts +1 -1
- package/esm/pull-refresh/android-pull-refresh.js +58 -85
- package/esm/pull-refresh/hooks.d.ts +2 -2
- package/esm/pull-refresh/hooks.js +13 -25
- package/esm/pull-refresh/index.js +3 -5
- package/esm/pull-refresh/ios-pull-refresh.d.ts +1 -1
- package/esm/pull-refresh/ios-pull-refresh.js +55 -69
- package/esm/pull-refresh/model.d.ts +0 -1
- package/esm/pull-refresh/model.js +0 -1
- package/esm/radio/group.js +20 -24
- package/esm/radio/index.js +2 -2
- package/esm/rate/index.js +28 -43
- 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 +40 -100
- package/esm/skeleton/elements.js +47 -75
- package/esm/skeleton/index.js +18 -24
- package/esm/slider/hooks/useSliderEvents.js +27 -54
- package/esm/slider/hooks/useSliderIcon.js +6 -13
- package/esm/slider/hooks/useSliderInit.js +32 -46
- package/esm/slider/hooks/useSliderStyle.js +13 -22
- package/esm/slider/index.js +47 -63
- package/esm/slider/marks.js +13 -19
- package/esm/slider/popover.js +4 -6
- package/esm/slider/thumb.js +11 -16
- package/esm/stepper/hooks/useButtonClick.js +15 -24
- package/esm/stepper/hooks/useInputEvent.js +10 -17
- package/esm/stepper/hooks/useValue.d.ts +1 -1
- package/esm/stepper/hooks/useValue.js +11 -14
- package/esm/stepper/index.js +84 -84
- package/esm/stepper/type.d.ts +1 -1
- package/esm/steps/index.js +25 -30
- package/esm/steps/step.js +10 -19
- package/esm/sticky/index.js +40 -65
- package/esm/swipe-action/index.js +40 -80
- package/esm/swipe-action/item.js +9 -12
- package/esm/swipe-action/type.d.ts +1 -1
- package/esm/swipe-load/index.js +79 -104
- package/esm/switch/index.js +28 -41
- package/esm/tab-bar/index.js +0 -1
- package/esm/tab-bar/item.js +6 -13
- package/esm/tab-bar/tab-bar.js +16 -22
- package/esm/tabs/index.js +137 -194
- package/esm/tabs/tab-cell-underline.js +28 -67
- package/esm/tabs/tab-cell.js +73 -118
- package/esm/tabs/tab-pane.js +53 -95
- 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.js +35 -46
- package/esm/toast/index.js +26 -42
- package/esm/toast/methods.js +2 -12
- package/esm/transition/index.js +17 -20
- package/esm/uploader/index.d.ts +1 -1
- package/esm/uploader/index.js +28 -34
- package/esm/uploader/upload/upload.d.ts +4 -4
- package/esm/uploader/upload/upload.js +12 -41
- package/esnext/action-sheet/index.d.ts +0 -1
- package/esnext/date-picker/index.d.ts +1 -1
- package/esnext/date-picker/index.js +5 -0
- package/esnext/dialog/index.d.ts +0 -1
- package/esnext/form/form-item.d.ts +5 -4
- package/esnext/form/form-item.js +23 -13
- package/esnext/form/type.d.ts +13 -4
- package/esnext/form/useForm.d.ts +1 -1
- package/esnext/form/useForm.js +4 -5
- package/esnext/pull-refresh/android-pull-refresh.d.ts +1 -1
- package/esnext/pull-refresh/android-pull-refresh.js +2 -2
- package/esnext/pull-refresh/hooks.d.ts +2 -2
- package/esnext/pull-refresh/hooks.js +3 -3
- package/esnext/pull-refresh/ios-pull-refresh.d.ts +1 -1
- package/esnext/pull-refresh/ios-pull-refresh.js +2 -1
- package/esnext/pull-refresh/model.d.ts +0 -1
- package/esnext/stepper/hooks/useValue.d.ts +1 -1
- package/esnext/stepper/hooks/useValue.js +2 -2
- package/esnext/stepper/type.d.ts +1 -1
- package/esnext/swipe-action/type.d.ts +1 -1
- package/esnext/uploader/index.d.ts +1 -1
- package/esnext/uploader/index.js +1 -1
- package/esnext/uploader/upload/upload.d.ts +4 -4
- package/esnext/uploader/upload/upload.js +4 -4
- package/package.json +5 -3
- package/tokens/app/arcodesign/default/index.js +0 -2
- package/umd/_helpers/hooks.js +59 -138
- package/umd/_helpers/index.js +2 -9
- package/umd/_helpers/react-dom.js +0 -13
- package/umd/_helpers/render.js +5 -17
- package/umd/action-sheet/index.d.ts +0 -1
- package/umd/action-sheet/index.js +10 -22
- package/umd/action-sheet/methods.js +0 -1
- package/umd/avatar/group.js +12 -20
- package/umd/avatar/index.js +53 -70
- package/umd/badge/index.js +18 -25
- package/umd/button/hooks.js +15 -19
- package/umd/button/index.js +46 -60
- package/umd/carousel/index.js +153 -283
- package/umd/cell/arrow.js +0 -2
- package/umd/cell/cell.js +18 -29
- 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.js +1 -3
- package/umd/checkbox/type.js +0 -2
- package/umd/circle-progress/index.js +37 -52
- package/umd/collapse/collapse.js +30 -55
- 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 +18 -38
- 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 +1 -1
- package/umd/date-picker/index.js +69 -158
- package/umd/dialog/index.d.ts +0 -1
- package/umd/dialog/index.js +31 -47
- package/umd/dialog/methods.js +9 -18
- package/umd/divider/index.js +8 -15
- 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 +4 -22
- package/umd/dropdown-menu/index.js +0 -2
- package/umd/ellipsis/components/js-ellipsis.js +32 -66
- package/umd/ellipsis/components/native-ellipsis.js +9 -12
- 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.js +0 -3
- package/umd/form/form-item.d.ts +5 -4
- package/umd/form/form-item.js +75 -152
- package/umd/form/index.js +18 -28
- package/umd/form/linked-container.js +5 -19
- package/umd/form/type.d.ts +13 -4
- package/umd/form/type.js +0 -5
- package/umd/form/useForm.d.ts +1 -1
- package/umd/form/useForm.js +10 -74
- package/umd/form/utils.js +4 -19
- package/umd/grid/index.js +22 -41
- 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/IconDownload/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/IconFile/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/IconKeyboard/index.js +5 -7
- package/umd/icon/IconKeyboardDelete/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 -88
- package/umd/image-picker/add-icon.js +0 -2
- package/umd/image-picker/index.js +32 -47
- package/umd/image-preview/index.js +129 -239
- package/umd/image-preview/methods.js +5 -15
- package/umd/index-bar/group.js +16 -30
- package/umd/index-bar/index.js +55 -79
- package/umd/index-bar/side-bar.js +15 -32
- package/umd/index-bar/utils.js +3 -16
- package/umd/index.js +0 -1
- package/umd/input/hooks.js +45 -79
- package/umd/input/index.js +26 -35
- package/umd/keyboard/index.js +37 -64
- package/umd/load-more/index.js +33 -60
- package/umd/loading/index.js +19 -43
- package/umd/masking/index.js +47 -72
- package/umd/masking/methods.js +5 -18
- package/umd/nav-bar/back-icon.js +2 -5
- package/umd/nav-bar/index.js +37 -55
- package/umd/notice-bar/index.js +34 -56
- package/umd/notify/index.js +20 -40
- package/umd/notify/methods.js +2 -14
- package/umd/pagination/arrow.js +0 -2
- package/umd/pagination/index.js +27 -53
- package/umd/picker/index.js +48 -73
- package/umd/picker-view/components/cascader.js +13 -28
- package/umd/picker-view/components/multi-picker.js +8 -16
- package/umd/picker-view/components/picker-cell.js +45 -97
- package/umd/picker-view/index.js +30 -63
- package/umd/popover/hooks/useEvent.js +25 -44
- package/umd/popover/hooks/usePosition.js +100 -153
- package/umd/popover/index.js +1 -3
- package/umd/popover/menu.js +32 -45
- package/umd/popover/popover-inner.js +30 -43
- 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 +50 -83
- 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.d.ts +1 -1
- package/umd/pull-refresh/android-pull-refresh.js +56 -86
- package/umd/pull-refresh/hooks.d.ts +2 -2
- package/umd/pull-refresh/hooks.js +11 -29
- package/umd/pull-refresh/index.js +3 -7
- package/umd/pull-refresh/ios-pull-refresh.d.ts +1 -1
- package/umd/pull-refresh/ios-pull-refresh.js +58 -77
- package/umd/pull-refresh/model.d.ts +0 -1
- package/umd/pull-refresh/model.js +0 -1
- package/umd/radio/group.js +20 -30
- package/umd/radio/index.js +1 -3
- package/umd/radio/radio.js +0 -5
- package/umd/rate/index.js +28 -48
- 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 +40 -104
- package/umd/skeleton/elements.js +47 -78
- package/umd/skeleton/index.js +18 -28
- package/umd/skeleton/skeleton-context.js +0 -3
- package/umd/slider/hooks/index.js +0 -4
- package/umd/slider/hooks/useSliderEvents.js +27 -55
- package/umd/slider/hooks/useSliderIcon.js +6 -17
- package/umd/slider/hooks/useSliderInit.js +32 -50
- package/umd/slider/hooks/useSliderStyle.js +13 -24
- package/umd/slider/index.js +47 -66
- package/umd/slider/marks.js +13 -22
- package/umd/slider/popover.js +4 -10
- package/umd/slider/thumb.js +11 -18
- package/umd/stepper/hooks/useButtonClick.js +15 -24
- package/umd/stepper/hooks/useInputEvent.js +10 -18
- package/umd/stepper/hooks/useValue.d.ts +1 -1
- package/umd/stepper/hooks/useValue.js +9 -13
- package/umd/stepper/index.js +84 -89
- package/umd/stepper/type.d.ts +1 -1
- package/umd/steps/index.js +25 -35
- package/umd/steps/step.js +10 -22
- package/umd/sticky/index.js +40 -68
- package/umd/style.js +1 -1
- package/umd/swipe-action/index.js +40 -84
- package/umd/swipe-action/item.js +9 -14
- package/umd/swipe-action/type.d.ts +1 -1
- package/umd/swipe-load/index.js +78 -106
- package/umd/switch/index.js +28 -45
- package/umd/tab-bar/index.js +0 -2
- package/umd/tab-bar/item.js +6 -19
- package/umd/tab-bar/tab-bar.js +16 -27
- package/umd/tabs/index.js +136 -197
- package/umd/tabs/tab-cell-underline.js +28 -71
- package/umd/tabs/tab-cell.js +73 -122
- package/umd/tabs/tab-pane.js +53 -98
- 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.js +35 -51
- package/umd/toast/index.js +26 -49
- package/umd/toast/methods.js +2 -13
- package/umd/transition/index.js +16 -22
- package/umd/uploader/index.d.ts +1 -1
- package/umd/uploader/index.js +28 -39
- package/umd/uploader/upload/upload.d.ts +4 -4
- package/umd/uploader/upload/upload.js +9 -43
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,34 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [2.39.0](https://github.com/arco-design/arco-design-mobile/compare/@arco-design/mobile-react@2.38.4...@arco-design/mobile-react@2.39.0) (2026-01-21)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* `ImagePicker` load error status, add demo of upload status for `Uploader` ([#364](https://github.com/arco-design/arco-design-mobile/issues/364)) ([0acf2ca](https://github.com/arco-design/arco-design-mobile/commit/0acf2cac5cddfdda536374e06a4e71a7446d1a2e))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* support custom label name for validation messages ([#365](https://github.com/arco-design/arco-design-mobile/issues/365)) ([3653ecc](https://github.com/arco-design/arco-design-mobile/commit/3653ecce076c87a95c9f4a02ef7fba4cb9d485ce))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [2.38.4](https://github.com/arco-design/arco-design-mobile/compare/@arco-design/mobile-react@2.38.3...@arco-design/mobile-react@2.38.4) (2025-12-10)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* `DatePicker` update data when currentTs change ([#360](https://github.com/arco-design/arco-design-mobile/issues/360)) ([fd9f6ed](https://github.com/arco-design/arco-design-mobile/commit/fd9f6eda15d49f9c9d5215f388b87ea45b9612f6))
|
|
28
|
+
* promise type ([#361](https://github.com/arco-design/arco-design-mobile/issues/361)) ([4409667](https://github.com/arco-design/arco-design-mobile/commit/4409667bad7e6dc7d8793bc2250814da55baeb68))
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
6
34
|
## [2.38.3](https://github.com/arco-design/arco-design-mobile/compare/@arco-design/mobile-react@2.38.2...@arco-design/mobile-react@2.38.3) (2025-12-05)
|
|
7
35
|
|
|
8
36
|
|
package/README.en-US.md
CHANGED
|
@@ -59,8 +59,8 @@ React & ReactDOM: **<a href="https://reactjs.org/docs/cdn-links.html" target="_b
|
|
|
59
59
|
React Transition Group: **<a href="https://reactcommunity.org/react-transition-group/" target="_blank">Click here</a>**
|
|
60
60
|
|
|
61
61
|
```
|
|
62
|
-
<link ref="stylesheet" href="https://unpkg.com/@arco-design/mobile-react@2.38.
|
|
63
|
-
<script src="https://unpkg.com/@arco-design/mobile-react@2.38.
|
|
62
|
+
<link ref="stylesheet" href="https://unpkg.com/@arco-design/mobile-react@2.38.4/dist/style.min.css">
|
|
63
|
+
<script src="https://unpkg.com/@arco-design/mobile-react@2.38.4/dist/index.min.js"></script>
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
## Full import
|
package/README.md
CHANGED
|
@@ -59,8 +59,8 @@ React & ReactDOM: **<a href="https://reactjs.org/docs/cdn-links.html" target="
|
|
|
59
59
|
React Transition Group: **<a href="https://reactcommunity.org/react-transition-group/" target="_blank">戳这里获取</a>**
|
|
60
60
|
|
|
61
61
|
```
|
|
62
|
-
<link ref="stylesheet" href="https://unpkg.com/@arco-design/mobile-react@2.38.
|
|
63
|
-
<script src="https://unpkg.com/@arco-design/mobile-react@2.38.
|
|
62
|
+
<link ref="stylesheet" href="https://unpkg.com/@arco-design/mobile-react@2.38.4/dist/style.min.css">
|
|
63
|
+
<script src="https://unpkg.com/@arco-design/mobile-react@2.38.4/dist/index.min.js"></script>
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
## 引入全部
|
package/cjs/_helpers/hooks.js
CHANGED
|
@@ -18,13 +18,9 @@ exports.useSwiperInnerScroll = useSwiperInnerScroll;
|
|
|
18
18
|
exports.useSystem = useSystem;
|
|
19
19
|
exports.useUpdateEffect = useUpdateEffect;
|
|
20
20
|
exports.useWindowSize = useWindowSize;
|
|
21
|
-
|
|
22
21
|
var _react = require("react");
|
|
23
|
-
|
|
24
22
|
var _mobileUtils = require("@arco-design/mobile-utils");
|
|
25
|
-
|
|
26
23
|
var _contextProvider = require("../context-provider");
|
|
27
|
-
|
|
28
24
|
/**
|
|
29
25
|
* @type hooks
|
|
30
26
|
* @name GeneralHooks
|
|
@@ -51,17 +47,14 @@ function useListenResize(resizeHandler, deps, needListen) {
|
|
|
51
47
|
if (deps === void 0) {
|
|
52
48
|
deps = [];
|
|
53
49
|
}
|
|
54
|
-
|
|
55
50
|
if (needListen === void 0) {
|
|
56
51
|
needListen = true;
|
|
57
52
|
}
|
|
58
|
-
|
|
59
53
|
(0, _react.useEffect)(function () {
|
|
60
54
|
if (needListen) {
|
|
61
55
|
window.addEventListener('resize', resizeHandler);
|
|
62
56
|
window.addEventListener('orientationchange', resizeHandler);
|
|
63
57
|
}
|
|
64
|
-
|
|
65
58
|
return function () {
|
|
66
59
|
if (needListen) {
|
|
67
60
|
window.removeEventListener('resize', resizeHandler);
|
|
@@ -70,6 +63,7 @@ function useListenResize(resizeHandler, deps, needListen) {
|
|
|
70
63
|
};
|
|
71
64
|
}, [].concat(deps, [needListen]));
|
|
72
65
|
}
|
|
66
|
+
|
|
73
67
|
/**
|
|
74
68
|
* useState自定义封装,统一处理在组件卸载后还使用setState的行为
|
|
75
69
|
* tips:在unmount后有异步处理未完成的场景使用,不推荐无脑替换useState
|
|
@@ -85,19 +79,15 @@ function useListenResize(resizeHandler, deps, needListen) {
|
|
|
85
79
|
* const [scrollValue, setScrollValue] = useMountedState(value);
|
|
86
80
|
* ```
|
|
87
81
|
*/
|
|
88
|
-
|
|
89
|
-
|
|
90
82
|
function useMountedState(initialState) {
|
|
91
83
|
var _useState = (0, _react.useState)(initialState),
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
84
|
+
state = _useState[0],
|
|
85
|
+
setState = _useState[1];
|
|
95
86
|
var leavingRef = (0, _react.useRef)(false);
|
|
96
87
|
var setValidState = (0, _react.useCallback)(function (value) {
|
|
97
88
|
if (leavingRef.current) {
|
|
98
89
|
return;
|
|
99
90
|
}
|
|
100
|
-
|
|
101
91
|
setState(value);
|
|
102
92
|
}, []);
|
|
103
93
|
(0, _react.useEffect)(function () {
|
|
@@ -110,6 +100,7 @@ function useMountedState(initialState) {
|
|
|
110
100
|
var result = [state, setValidState];
|
|
111
101
|
return result;
|
|
112
102
|
}
|
|
103
|
+
|
|
113
104
|
/**
|
|
114
105
|
* 用useState管理状态,且在状态更新之前同步至ref,并返回ref
|
|
115
106
|
* @desc {en} Use useState to manage the state, and synchronize to ref before the state is updated, and return ref
|
|
@@ -123,22 +114,18 @@ function useMountedState(initialState) {
|
|
|
123
114
|
* const [opened, openedRef, setOpened] = useSameRefState(false);
|
|
124
115
|
* ```
|
|
125
116
|
*/
|
|
126
|
-
|
|
127
|
-
|
|
128
117
|
function useSameRefState(initialValue) {
|
|
129
118
|
var _useState2 = (0, _react.useState)(initialValue),
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
119
|
+
state = _useState2[0],
|
|
120
|
+
setState = _useState2[1];
|
|
133
121
|
var stateRef = (0, _react.useRef)(state);
|
|
134
|
-
|
|
135
122
|
var setStateProxy = function setStateProxy(data) {
|
|
136
123
|
stateRef.current = data;
|
|
137
124
|
setState(data);
|
|
138
125
|
};
|
|
139
|
-
|
|
140
126
|
return [state, stateRef, setStateProxy];
|
|
141
127
|
}
|
|
128
|
+
|
|
142
129
|
/**
|
|
143
130
|
* 用useState管理状态,且在状态更新后同步至ref,并返回ref
|
|
144
131
|
* @desc {en} Use useState to manage the state, and synchronize to ref after the state is updated, and return ref
|
|
@@ -152,19 +139,17 @@ function useSameRefState(initialValue) {
|
|
|
152
139
|
* const [index, indexRef, setIndex] = useRefState(currentIndex);
|
|
153
140
|
* ```
|
|
154
141
|
*/
|
|
155
|
-
|
|
156
|
-
|
|
157
142
|
function useRefState(initialValue) {
|
|
158
143
|
var _useState3 = (0, _react.useState)(initialValue),
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
144
|
+
state = _useState3[0],
|
|
145
|
+
setState = _useState3[1];
|
|
162
146
|
var stateRef = (0, _react.useRef)(state);
|
|
163
147
|
(0, _react.useEffect)(function () {
|
|
164
148
|
stateRef.current = state;
|
|
165
149
|
}, [state]);
|
|
166
150
|
return [state, stateRef, setState];
|
|
167
151
|
}
|
|
152
|
+
|
|
168
153
|
/**
|
|
169
154
|
* 用useState管理状态,且在状态更新后同步至ref,并返回ref,统一处理在组件卸载后还使用setState的行为
|
|
170
155
|
* @desc {en} Use useState to manage the state, and synchronize to ref after the state is updated, and return ref, and uniformly handle the behavior of using setState after the component is uninstalled
|
|
@@ -178,19 +163,17 @@ function useRefState(initialValue) {
|
|
|
178
163
|
* const [active, activeRef, setActive] = useRefMountedState(false);
|
|
179
164
|
* ```
|
|
180
165
|
*/
|
|
181
|
-
|
|
182
|
-
|
|
183
166
|
function useRefMountedState(initialValue) {
|
|
184
167
|
var _useMountedState = useMountedState(initialValue),
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
168
|
+
state = _useMountedState[0],
|
|
169
|
+
setState = _useMountedState[1];
|
|
188
170
|
var stateRef = (0, _react.useRef)(state);
|
|
189
171
|
(0, _react.useEffect)(function () {
|
|
190
172
|
stateRef.current = state;
|
|
191
173
|
}, [state]);
|
|
192
174
|
return [state, stateRef, setState];
|
|
193
175
|
}
|
|
176
|
+
|
|
194
177
|
/**
|
|
195
178
|
* useEffect特殊封装,仅在非首次依赖更新时触发回调
|
|
196
179
|
* @desc {en} Special encapsulation of useEffect, which only triggers the callback when the dependency is not updated for the first time
|
|
@@ -207,13 +190,10 @@ function useRefMountedState(initialValue) {
|
|
|
207
190
|
* }, [index]);
|
|
208
191
|
* ```
|
|
209
192
|
*/
|
|
210
|
-
|
|
211
|
-
|
|
212
193
|
function useUpdateEffect(effect, dependencies) {
|
|
213
194
|
if (dependencies === void 0) {
|
|
214
195
|
dependencies = [];
|
|
215
196
|
}
|
|
216
|
-
|
|
217
197
|
var isInitialMount = (0, _react.useRef)(true);
|
|
218
198
|
(0, _react.useEffect)(function () {
|
|
219
199
|
if (isInitialMount.current) {
|
|
@@ -223,6 +203,7 @@ function useUpdateEffect(effect, dependencies) {
|
|
|
223
203
|
}
|
|
224
204
|
}, dependencies);
|
|
225
205
|
}
|
|
206
|
+
|
|
226
207
|
/**
|
|
227
208
|
* 手动触发一次组件的rerender
|
|
228
209
|
* @desc {en} Manually trigger the rerender of the component once
|
|
@@ -237,12 +218,9 @@ function useUpdateEffect(effect, dependencies) {
|
|
|
237
218
|
* }
|
|
238
219
|
* ```
|
|
239
220
|
*/
|
|
240
|
-
|
|
241
|
-
|
|
242
221
|
function useForceUpdate() {
|
|
243
222
|
var _useState4 = (0, _react.useState)(0),
|
|
244
|
-
|
|
245
|
-
|
|
223
|
+
setTick = _useState4[1];
|
|
246
224
|
var update = (0, _react.useCallback)(function () {
|
|
247
225
|
setTick(function (tick) {
|
|
248
226
|
return tick + 1;
|
|
@@ -250,6 +228,7 @@ function useForceUpdate() {
|
|
|
250
228
|
}, []);
|
|
251
229
|
return update;
|
|
252
230
|
}
|
|
231
|
+
|
|
253
232
|
/**
|
|
254
233
|
* 获取任意变量的最新ref值(用于监听属性、方法等非state变量)
|
|
255
234
|
* @desc {en} Get the latest ref value of any variable (used to monitor non-state variables such as properties and methods)
|
|
@@ -264,8 +243,6 @@ function useForceUpdate() {
|
|
|
264
243
|
* const wrapSizeRef = useLatestRef(wrapSize);
|
|
265
244
|
* ```
|
|
266
245
|
*/
|
|
267
|
-
|
|
268
|
-
|
|
269
246
|
function useLatestRef(variable) {
|
|
270
247
|
var variableRef = (0, _react.useRef)(variable);
|
|
271
248
|
(0, _react.useEffect)(function () {
|
|
@@ -291,23 +268,20 @@ function useLatestRef(variable) {
|
|
|
291
268
|
* const systemWithHarmony = useSystem({ detectHarmony: true });
|
|
292
269
|
* ```
|
|
293
270
|
*/
|
|
294
|
-
|
|
295
|
-
|
|
296
271
|
function useSystem(options) {
|
|
297
272
|
var _useContext = (0, _react.useContext)(_contextProvider.GlobalContext),
|
|
298
|
-
|
|
299
|
-
|
|
273
|
+
currentSystem = _useContext.system;
|
|
300
274
|
var _useState5 = (0, _react.useState)(function () {
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
275
|
+
return currentSystem || (0, _mobileUtils.getSystem)(options);
|
|
276
|
+
}),
|
|
277
|
+
system = _useState5[0],
|
|
278
|
+
setSystem = _useState5[1];
|
|
306
279
|
(0, _react.useEffect)(function () {
|
|
307
280
|
setSystem(currentSystem || (0, _mobileUtils.getSystem)(options));
|
|
308
281
|
}, [currentSystem, options]);
|
|
309
282
|
return system;
|
|
310
283
|
}
|
|
284
|
+
|
|
311
285
|
/**
|
|
312
286
|
* 获取页面视口宽高大小,并在页面有resize时更新大小
|
|
313
287
|
* @desc {en} Get the width and height of the page viewport, and update the size when the page is resized
|
|
@@ -321,22 +295,17 @@ function useSystem(options) {
|
|
|
321
295
|
* const { windowHeight, windowWidth } = useWindowSize();
|
|
322
296
|
* ```
|
|
323
297
|
*/
|
|
324
|
-
|
|
325
|
-
|
|
326
298
|
function useWindowSize(listenResize) {
|
|
327
299
|
var _useState6 = (0, _react.useState)(typeof window !== 'undefined' ? window.innerWidth : 0),
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
300
|
+
windowWidth = _useState6[0],
|
|
301
|
+
setWindowWidth = _useState6[1];
|
|
331
302
|
var _useState7 = (0, _react.useState)(typeof window !== 'undefined' ? window.innerHeight : 0),
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
303
|
+
windowHeight = _useState7[0],
|
|
304
|
+
setWindowHeight = _useState7[1];
|
|
335
305
|
function setSize() {
|
|
336
306
|
setWindowWidth(window.innerWidth);
|
|
337
307
|
setWindowHeight(window.innerHeight);
|
|
338
308
|
}
|
|
339
|
-
|
|
340
309
|
useListenResize(setSize, [], listenResize);
|
|
341
310
|
(0, _react.useEffect)(function () {
|
|
342
311
|
setSize();
|
|
@@ -346,7 +315,6 @@ function useWindowSize(listenResize) {
|
|
|
346
315
|
windowHeight: windowHeight
|
|
347
316
|
};
|
|
348
317
|
}
|
|
349
|
-
|
|
350
318
|
/**
|
|
351
319
|
* 弹窗中滚动统一处理,防止滚动穿透
|
|
352
320
|
* @desc {en} Unified processing of scrolling in pop-up windows to prevent scrolling penetration
|
|
@@ -375,7 +343,6 @@ function usePopupScroll(visible, popupDom, getScrollContainer, orientationDirect
|
|
|
375
343
|
if (orientationDirection === void 0) {
|
|
376
344
|
orientationDirection = 'top';
|
|
377
345
|
}
|
|
378
|
-
|
|
379
346
|
var scrollRef = (0, _react.useRef)([]);
|
|
380
347
|
var touchingRef = (0, _react.useRef)({
|
|
381
348
|
dom: null,
|
|
@@ -389,11 +356,9 @@ function usePopupScroll(visible, popupDom, getScrollContainer, orientationDirect
|
|
|
389
356
|
if (gestureOutOfControl) {
|
|
390
357
|
return;
|
|
391
358
|
}
|
|
392
|
-
|
|
393
359
|
touchStartXRef.current = e.touches && e.touches[0] ? e.touches[0].clientX : 0;
|
|
394
360
|
touchStartYRef.current = e.touches && e.touches[0] ? e.touches[0].clientY : 0;
|
|
395
361
|
var ele = getScrollContainer ? getScrollContainer() : null;
|
|
396
|
-
|
|
397
362
|
if (ele) {
|
|
398
363
|
var actualEle = Array.isArray(ele) ? ele : [ele];
|
|
399
364
|
scrollRef.current = actualEle.reduce(function (acc, nowEle) {
|
|
@@ -406,19 +371,15 @@ function usePopupScroll(visible, popupDom, getScrollContainer, orientationDirect
|
|
|
406
371
|
} else {
|
|
407
372
|
scrollRef.current = [];
|
|
408
373
|
}
|
|
409
|
-
|
|
410
374
|
touchingRef.current = {
|
|
411
375
|
dom: null,
|
|
412
376
|
inScrollIndexes: []
|
|
413
377
|
};
|
|
414
378
|
}, [getScrollContainer, gestureOutOfControl, orientationDirection]);
|
|
415
|
-
|
|
416
379
|
function judgeInScroll(originNode, scroll) {
|
|
417
380
|
var inScrollIndexes = [];
|
|
418
|
-
|
|
419
381
|
for (var i = 0; i < scroll.length; i += 1) {
|
|
420
382
|
var node = originNode;
|
|
421
|
-
|
|
422
383
|
while (node && scroll[i]) {
|
|
423
384
|
if (node === scroll[i].ele) {
|
|
424
385
|
inScrollIndexes.push(i);
|
|
@@ -428,66 +389,54 @@ function usePopupScroll(visible, popupDom, getScrollContainer, orientationDirect
|
|
|
428
389
|
}
|
|
429
390
|
}
|
|
430
391
|
}
|
|
431
|
-
|
|
432
392
|
touchingRef.current = {
|
|
433
393
|
dom: originNode,
|
|
434
394
|
inScrollIndexes: inScrollIndexes
|
|
435
395
|
};
|
|
436
396
|
return inScrollIndexes;
|
|
437
397
|
}
|
|
438
|
-
|
|
439
398
|
var handleTouchMove = (0, _react.useCallback)(function (e) {
|
|
440
399
|
function getScrollTop(scroll) {
|
|
441
400
|
var ele = scroll.ele,
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
401
|
+
maxScrollX = scroll.maxScrollX,
|
|
402
|
+
maxScrollY = scroll.maxScrollY;
|
|
445
403
|
switch (orientationDirection) {
|
|
446
404
|
case 'left':
|
|
447
405
|
return maxScrollY - ele.scrollLeft;
|
|
448
|
-
|
|
449
406
|
case 'right':
|
|
450
407
|
return ele.scrollLeft;
|
|
451
|
-
|
|
452
408
|
case 'bottom':
|
|
453
409
|
return maxScrollX - ele.scrollTop;
|
|
454
|
-
|
|
455
410
|
case 'top':
|
|
456
411
|
default:
|
|
457
412
|
return ele.scrollTop;
|
|
458
413
|
}
|
|
459
414
|
}
|
|
460
|
-
|
|
461
415
|
function getScrollLeft(scroll) {
|
|
462
416
|
var ele = scroll.ele,
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
417
|
+
maxScrollX = scroll.maxScrollX,
|
|
418
|
+
maxScrollY = scroll.maxScrollY;
|
|
466
419
|
switch (orientationDirection) {
|
|
467
420
|
case 'left':
|
|
468
421
|
return ele.scrollTop;
|
|
469
|
-
|
|
470
422
|
case 'right':
|
|
471
423
|
return maxScrollX - ele.scrollTop;
|
|
472
|
-
|
|
473
424
|
case 'bottom':
|
|
474
425
|
return maxScrollY - ele.scrollLeft;
|
|
475
|
-
|
|
476
426
|
case 'top':
|
|
477
427
|
default:
|
|
478
428
|
return ele.scrollLeft;
|
|
479
429
|
}
|
|
480
430
|
}
|
|
481
|
-
|
|
482
431
|
var touchMoveX = e.changedTouches && e.changedTouches[0] ? e.changedTouches[0].clientX : 0;
|
|
483
432
|
var touchMoveY = e.changedTouches && e.changedTouches[0] ? e.changedTouches[0].clientY : 0;
|
|
484
433
|
var scroll = scrollRef.current;
|
|
485
434
|
var node = e.target;
|
|
486
435
|
var _touchingRef$current = touchingRef.current,
|
|
487
|
-
|
|
488
|
-
|
|
436
|
+
touchingDom = _touchingRef$current.dom,
|
|
437
|
+
touchingIndexes = _touchingRef$current.inScrollIndexes;
|
|
438
|
+
// target一样就取缓存结果,不取dom判断了
|
|
489
439
|
// @en If the target is the same, the cached result is taken, and the dom judgment is not taken.
|
|
490
|
-
|
|
491
440
|
var inScrollIndexes = touchingDom === node ? touchingIndexes : judgeInScroll(node, scroll);
|
|
492
441
|
var distanceX = touchMoveX - touchStartXRef.current;
|
|
493
442
|
var distanceY = touchMoveY - touchStartYRef.current;
|
|
@@ -495,35 +444,28 @@ function usePopupScroll(visible, popupDom, getScrollContainer, orientationDirect
|
|
|
495
444
|
var absY = Math.abs(distanceY);
|
|
496
445
|
var direc = absY > absX ? 'y' : 'x';
|
|
497
446
|
var prevented = false;
|
|
498
|
-
|
|
499
447
|
if (gestureOutOfControl) {
|
|
500
448
|
onTouchMoveRef.current == null ? void 0 : onTouchMoveRef.current(e, prevented, direc);
|
|
501
449
|
return;
|
|
502
450
|
}
|
|
503
|
-
|
|
504
451
|
if (scroll.length && inScrollIndexes.length) {
|
|
505
452
|
var needPrevents = [];
|
|
506
|
-
|
|
507
453
|
for (var i = 0; i < inScrollIndexes.length; i += 1) {
|
|
508
454
|
var touchingScroll = scroll[inScrollIndexes[i]];
|
|
509
455
|
var scrollTop = getScrollTop(touchingScroll);
|
|
510
456
|
var scrollLeft = getScrollLeft(touchingScroll);
|
|
511
|
-
|
|
512
457
|
if (distanceY > 0 && absY > absX && scrollTop === 0 || distanceX > 0 && absX > absY && scrollLeft === 0) {
|
|
513
458
|
needPrevents.push(true);
|
|
514
459
|
continue;
|
|
515
460
|
}
|
|
516
|
-
|
|
517
461
|
if (distanceY < 0 && absY > absX && scrollTop + 1 >= touchingScroll.maxScrollY || distanceX < 0 && absX > absY && scrollLeft + 1 >= touchingScroll.maxScrollX) {
|
|
518
462
|
needPrevents.push(true);
|
|
519
463
|
continue;
|
|
520
464
|
}
|
|
521
|
-
|
|
522
465
|
needPrevents.push(false);
|
|
523
|
-
}
|
|
466
|
+
}
|
|
467
|
+
// 满足一个不prevent的条件就停止prevent,否则prevent
|
|
524
468
|
// @en Stop prevent if a non-prevent condition is met, otherwise prevent.
|
|
525
|
-
|
|
526
|
-
|
|
527
469
|
if (needPrevents.indexOf(false) < 0) {
|
|
528
470
|
preventCallbackRef.current == null ? void 0 : preventCallbackRef.current(e, direc);
|
|
529
471
|
e.cancelable && e.preventDefault();
|
|
@@ -534,14 +476,12 @@ function usePopupScroll(visible, popupDom, getScrollContainer, orientationDirect
|
|
|
534
476
|
e.cancelable && e.preventDefault();
|
|
535
477
|
prevented = true;
|
|
536
478
|
}
|
|
537
|
-
|
|
538
479
|
onTouchMoveRef.current == null ? void 0 : onTouchMoveRef.current(e, prevented, direc);
|
|
539
480
|
}, [orientationDirection, gestureOutOfControl]);
|
|
540
481
|
(0, _react.useEffect)(function () {
|
|
541
482
|
if (!visible || !popupDom) {
|
|
542
483
|
return function () {};
|
|
543
484
|
}
|
|
544
|
-
|
|
545
485
|
popupDom.addEventListener('touchstart', handleTouchStart);
|
|
546
486
|
popupDom.addEventListener('touchmove', handleTouchMove, {
|
|
547
487
|
passive: false
|
|
@@ -552,6 +492,7 @@ function usePopupScroll(visible, popupDom, getScrollContainer, orientationDirect
|
|
|
552
492
|
};
|
|
553
493
|
}, [visible, popupDom, handleTouchStart, handleTouchMove]);
|
|
554
494
|
}
|
|
495
|
+
|
|
555
496
|
/**
|
|
556
497
|
* 在滑动类组件中,如果有内部可滚动区域,则在内部滚动区域滚动时禁用滑动事件
|
|
557
498
|
* @desc {en} In the sliding class component, if there is an inner scrollable area, the sliding event is disabled when the inner scrolling area is scrolled
|
|
@@ -564,8 +505,6 @@ function usePopupScroll(visible, popupDom, getScrollContainer, orientationDirect
|
|
|
564
505
|
* useSwiperInnerScroll(getInnerScrollContainer);
|
|
565
506
|
* ```
|
|
566
507
|
*/
|
|
567
|
-
|
|
568
|
-
|
|
569
508
|
function useSwiperInnerScroll(getInnerScrollContainer) {
|
|
570
509
|
var stopFunc = (0, _react.useCallback)(function (e) {
|
|
571
510
|
return e.stopPropagation();
|
|
@@ -574,7 +513,6 @@ function useSwiperInnerScroll(getInnerScrollContainer) {
|
|
|
574
513
|
if (!getInnerScrollContainer) {
|
|
575
514
|
return;
|
|
576
515
|
}
|
|
577
|
-
|
|
578
516
|
var containers = getInnerScrollContainer();
|
|
579
517
|
var validContainers = Array.isArray(containers) ? containers : [containers];
|
|
580
518
|
validContainers.forEach(function (container) {
|
|
@@ -593,6 +531,7 @@ function useSwiperInnerScroll(getInnerScrollContainer) {
|
|
|
593
531
|
};
|
|
594
532
|
}, [getInnerScrollContainer]);
|
|
595
533
|
}
|
|
534
|
+
|
|
596
535
|
/**
|
|
597
536
|
* 事件绑定统一封装
|
|
598
537
|
* @desc {en} Unified encapsulation of event binding
|
|
@@ -612,22 +551,17 @@ function useSwiperInnerScroll(getInnerScrollContainer) {
|
|
|
612
551
|
* useAddListener(domRef.current, 'touchend', onTouchEnd);
|
|
613
552
|
* ```
|
|
614
553
|
*/
|
|
615
|
-
|
|
616
|
-
|
|
617
554
|
function useAddListener(dom, event, handler, options) {
|
|
618
555
|
if (options === void 0) {
|
|
619
556
|
options = {
|
|
620
557
|
capture: true
|
|
621
558
|
};
|
|
622
559
|
}
|
|
623
|
-
|
|
624
560
|
(0, _react.useEffect)(function () {
|
|
625
561
|
if (!dom) return;
|
|
626
|
-
|
|
627
562
|
if (handler) {
|
|
628
563
|
dom.addEventListener(event, handler, options);
|
|
629
564
|
}
|
|
630
|
-
|
|
631
565
|
return function () {
|
|
632
566
|
if (handler) {
|
|
633
567
|
dom.removeEventListener(event, handler, options);
|
|
@@ -635,14 +569,14 @@ function useAddListener(dom, event, handler, options) {
|
|
|
635
569
|
};
|
|
636
570
|
}, [handler]);
|
|
637
571
|
}
|
|
572
|
+
|
|
638
573
|
/**
|
|
639
574
|
* 统计同时出现的全屏组件
|
|
640
575
|
* @en Count simultaneous full-screen components
|
|
641
576
|
*/
|
|
642
|
-
|
|
643
|
-
|
|
644
577
|
var arcoFullScreenCount = 0;
|
|
645
578
|
var arcoFullScreenOriginOverflow = '';
|
|
579
|
+
|
|
646
580
|
/**
|
|
647
581
|
* 在全屏组件出现时,将body的overflow设置为hidden,防止滚动穿透
|
|
648
582
|
* @desc {en} When the full screen component appears, set the overflow of the body to hidden to prevent scrolling penetration
|
|
@@ -659,22 +593,19 @@ var arcoFullScreenOriginOverflow = '';
|
|
|
659
593
|
* usePreventBodyScroll(visible, preventBodyScroll, initialBodyOverflow);
|
|
660
594
|
* ```
|
|
661
595
|
*/
|
|
662
|
-
|
|
663
596
|
function usePreventBodyScroll(visible, preventBodyScroll, initialBodyOverflow) {
|
|
664
597
|
if (preventBodyScroll === void 0) {
|
|
665
598
|
preventBodyScroll = true;
|
|
666
599
|
}
|
|
667
|
-
|
|
668
600
|
// 新出现一个全屏组件则计数+1,并设置body hidden样式
|
|
669
601
|
// @en When a new full-screen component appears, count + 1 and set the body hidden style
|
|
670
602
|
var addFullScreen = (0, _react.useCallback)(function () {
|
|
671
|
-
var count = arcoFullScreenCount;
|
|
603
|
+
var count = arcoFullScreenCount;
|
|
604
|
+
// 在当前没有全屏组件出现时,记下body overflow的初始值
|
|
672
605
|
// @en Note the initial value of body overflow when no full-screen components are currently present
|
|
673
|
-
|
|
674
606
|
if (!count) {
|
|
675
607
|
arcoFullScreenOriginOverflow = initialBodyOverflow !== void 0 ? initialBodyOverflow : document.body.style.overflow;
|
|
676
608
|
}
|
|
677
|
-
|
|
678
609
|
arcoFullScreenCount += 1;
|
|
679
610
|
document.body.style.overflow = 'hidden';
|
|
680
611
|
}, []);
|
|
@@ -682,11 +613,9 @@ function usePreventBodyScroll(visible, preventBodyScroll, initialBodyOverflow) {
|
|
|
682
613
|
* 移除一个全屏组件时,根据剩余是否还有全屏组件判断是否需要还原overflow样式
|
|
683
614
|
* @en When removing a full-screen component, determine whether the overflow style needs to be restored according to whether there are any remaining full-screen components.
|
|
684
615
|
*/
|
|
685
|
-
|
|
686
616
|
var removeFullScreen = (0, _react.useCallback)(function () {
|
|
687
617
|
var newCount = arcoFullScreenCount - 1;
|
|
688
618
|
arcoFullScreenCount = newCount;
|
|
689
|
-
|
|
690
619
|
if (!newCount) {
|
|
691
620
|
document.body.style.overflow = arcoFullScreenOriginOverflow;
|
|
692
621
|
}
|
|
@@ -694,14 +623,12 @@ function usePreventBodyScroll(visible, preventBodyScroll, initialBodyOverflow) {
|
|
|
694
623
|
(0, _react.useEffect)(function () {
|
|
695
624
|
if (!preventBodyScroll) {
|
|
696
625
|
return function () {};
|
|
697
|
-
}
|
|
626
|
+
}
|
|
627
|
+
// 如果一开始就是visible=true则加上样式
|
|
698
628
|
// @en If it is visible=true at the beginning, add the style.
|
|
699
|
-
|
|
700
|
-
|
|
701
629
|
if (visible) {
|
|
702
630
|
addFullScreen();
|
|
703
631
|
}
|
|
704
|
-
|
|
705
632
|
return function () {
|
|
706
633
|
// 如果这里visible为true,则说明即将隐藏组件或在展示时卸载组件
|
|
707
634
|
// @en If visible here is true, it means that the component is about to be hidden or unloaded when displayed.
|
|
@@ -711,6 +638,7 @@ function usePreventBodyScroll(visible, preventBodyScroll, initialBodyOverflow) {
|
|
|
711
638
|
};
|
|
712
639
|
}, [visible]);
|
|
713
640
|
}
|
|
641
|
+
|
|
714
642
|
/**
|
|
715
643
|
* 进度条计算公共逻辑,根据传入的参数计算出当前百分比和过渡效果开关,进度类组件内部使用
|
|
716
644
|
* @desc {en} Progress bar calculation common logic, used internally by the progress class component
|
|
@@ -722,21 +650,16 @@ function usePreventBodyScroll(visible, preventBodyScroll, initialBodyOverflow) {
|
|
|
722
650
|
* const [currentPercentage, transitionControl] = useProgress(mountedTransition, percentage, duration, mountedBezier, step);
|
|
723
651
|
* ```
|
|
724
652
|
*/
|
|
725
|
-
|
|
726
|
-
|
|
727
653
|
function useProgress(mountedTransition, percentage, duration, mountedBezier, step) {
|
|
728
654
|
var _useState8 = (0, _react.useState)(0),
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
655
|
+
currentPercentage = _useState8[0],
|
|
656
|
+
setCurrentPercentage = _useState8[1];
|
|
732
657
|
var _useState9 = (0, _react.useState)(false),
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
setCount = _useState10[1];
|
|
739
|
-
|
|
658
|
+
transitionControl = _useState9[0],
|
|
659
|
+
setTransitionControl = _useState9[1];
|
|
660
|
+
var _useState0 = (0, _react.useState)(0),
|
|
661
|
+
count = _useState0[0],
|
|
662
|
+
setCount = _useState0[1];
|
|
740
663
|
var latestPercentage = (0, _react.useRef)(percentage);
|
|
741
664
|
(0, _react.useEffect)(function () {
|
|
742
665
|
mountedTransition ? (0, _mobileUtils.scrollWithAnimation)(0, percentage, function (progress) {
|
|
@@ -759,6 +682,7 @@ function useProgress(mountedTransition, percentage, duration, mountedBezier, ste
|
|
|
759
682
|
}, [count, percentage, step]);
|
|
760
683
|
return [currentPercentage, transitionControl];
|
|
761
684
|
}
|
|
685
|
+
|
|
762
686
|
/**
|
|
763
687
|
* 单击和双击事件统一处理
|
|
764
688
|
* @desc {en} Unified processing of single and double click events
|
|
@@ -776,17 +700,13 @@ function useProgress(mountedTransition, percentage, duration, mountedBezier, ste
|
|
|
776
700
|
* const handleClick = useSingleAndDoubleClick(handleImageClick, handleImageDoubleClick);
|
|
777
701
|
* ```
|
|
778
702
|
*/
|
|
779
|
-
|
|
780
|
-
|
|
781
703
|
function useSingleAndDoubleClick(onClick, onDoubleClick, delay) {
|
|
782
704
|
if (delay === void 0) {
|
|
783
705
|
delay = 200;
|
|
784
706
|
}
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
setClickTimes = _useState11[1];
|
|
789
|
-
|
|
707
|
+
var _useState1 = (0, _react.useState)(0),
|
|
708
|
+
clickTimes = _useState1[0],
|
|
709
|
+
setClickTimes = _useState1[1];
|
|
790
710
|
var eventRef = (0, _react.useRef)(undefined);
|
|
791
711
|
(0, _react.useEffect)(function () {
|
|
792
712
|
var timer = setTimeout(function () {
|
|
@@ -805,8 +725,8 @@ function useSingleAndDoubleClick(onClick, onDoubleClick, delay) {
|
|
|
805
725
|
});
|
|
806
726
|
};
|
|
807
727
|
}
|
|
808
|
-
|
|
809
728
|
var arcoSvgKeyCount = 0;
|
|
729
|
+
|
|
810
730
|
/**
|
|
811
731
|
* 自动生成svg <def>标签的唯一标识,用于区分不同svg的<def>内容
|
|
812
732
|
* @desc {en} Automatically generate the unique identifier of the svg <def> tag, which is used to distinguish the <def> content of different svg
|
|
@@ -824,12 +744,10 @@ var arcoSvgKeyCount = 0;
|
|
|
824
744
|
* const { svgKey } = useGenSvgKey(userSetSvgKey);
|
|
825
745
|
* ```
|
|
826
746
|
*/
|
|
827
|
-
|
|
828
747
|
function useGenSvgKey(userSetSvgKey) {
|
|
829
|
-
var
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
748
|
+
var _useState10 = (0, _react.useState)(''),
|
|
749
|
+
innerSvgKey = _useState10[0],
|
|
750
|
+
setInnerSvgKey = _useState10[1];
|
|
833
751
|
var svgKey = userSetSvgKey || innerSvgKey;
|
|
834
752
|
(0, _react.useEffect)(function () {
|
|
835
753
|
setInnerSvgKey("inner-" + arcoSvgKeyCount);
|