@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/esm/_helpers/hooks.js
CHANGED
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
import { useState, useRef, useEffect, useCallback, useContext } from 'react';
|
|
7
7
|
import { getSystem, scrollWithAnimation, safeGetComputedStyle } from '@arco-design/mobile-utils';
|
|
8
8
|
import { GlobalContext } from '../context-provider';
|
|
9
|
-
|
|
10
9
|
/**
|
|
11
10
|
* 监听页面resize事件的统一封装
|
|
12
11
|
* @desc {en} Unified encapsulation for monitoring page resize events
|
|
@@ -27,17 +26,14 @@ export function useListenResize(resizeHandler, deps, needListen) {
|
|
|
27
26
|
if (deps === void 0) {
|
|
28
27
|
deps = [];
|
|
29
28
|
}
|
|
30
|
-
|
|
31
29
|
if (needListen === void 0) {
|
|
32
30
|
needListen = true;
|
|
33
31
|
}
|
|
34
|
-
|
|
35
32
|
useEffect(function () {
|
|
36
33
|
if (needListen) {
|
|
37
34
|
window.addEventListener('resize', resizeHandler);
|
|
38
35
|
window.addEventListener('orientationchange', resizeHandler);
|
|
39
36
|
}
|
|
40
|
-
|
|
41
37
|
return function () {
|
|
42
38
|
if (needListen) {
|
|
43
39
|
window.removeEventListener('resize', resizeHandler);
|
|
@@ -46,6 +42,7 @@ export function useListenResize(resizeHandler, deps, needListen) {
|
|
|
46
42
|
};
|
|
47
43
|
}, [].concat(deps, [needListen]));
|
|
48
44
|
}
|
|
45
|
+
|
|
49
46
|
/**
|
|
50
47
|
* useState自定义封装,统一处理在组件卸载后还使用setState的行为
|
|
51
48
|
* tips:在unmount后有异步处理未完成的场景使用,不推荐无脑替换useState
|
|
@@ -61,18 +58,15 @@ export function useListenResize(resizeHandler, deps, needListen) {
|
|
|
61
58
|
* const [scrollValue, setScrollValue] = useMountedState(value);
|
|
62
59
|
* ```
|
|
63
60
|
*/
|
|
64
|
-
|
|
65
61
|
export function useMountedState(initialState) {
|
|
66
62
|
var _useState = useState(initialState),
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
63
|
+
state = _useState[0],
|
|
64
|
+
setState = _useState[1];
|
|
70
65
|
var leavingRef = useRef(false);
|
|
71
66
|
var setValidState = useCallback(function (value) {
|
|
72
67
|
if (leavingRef.current) {
|
|
73
68
|
return;
|
|
74
69
|
}
|
|
75
|
-
|
|
76
70
|
setState(value);
|
|
77
71
|
}, []);
|
|
78
72
|
useEffect(function () {
|
|
@@ -85,6 +79,7 @@ export function useMountedState(initialState) {
|
|
|
85
79
|
var result = [state, setValidState];
|
|
86
80
|
return result;
|
|
87
81
|
}
|
|
82
|
+
|
|
88
83
|
/**
|
|
89
84
|
* 用useState管理状态,且在状态更新之前同步至ref,并返回ref
|
|
90
85
|
* @desc {en} Use useState to manage the state, and synchronize to ref before the state is updated, and return ref
|
|
@@ -98,21 +93,18 @@ export function useMountedState(initialState) {
|
|
|
98
93
|
* const [opened, openedRef, setOpened] = useSameRefState(false);
|
|
99
94
|
* ```
|
|
100
95
|
*/
|
|
101
|
-
|
|
102
96
|
export function useSameRefState(initialValue) {
|
|
103
97
|
var _useState2 = useState(initialValue),
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
98
|
+
state = _useState2[0],
|
|
99
|
+
setState = _useState2[1];
|
|
107
100
|
var stateRef = useRef(state);
|
|
108
|
-
|
|
109
101
|
var setStateProxy = function setStateProxy(data) {
|
|
110
102
|
stateRef.current = data;
|
|
111
103
|
setState(data);
|
|
112
104
|
};
|
|
113
|
-
|
|
114
105
|
return [state, stateRef, setStateProxy];
|
|
115
106
|
}
|
|
107
|
+
|
|
116
108
|
/**
|
|
117
109
|
* 用useState管理状态,且在状态更新后同步至ref,并返回ref
|
|
118
110
|
* @desc {en} Use useState to manage the state, and synchronize to ref after the state is updated, and return ref
|
|
@@ -126,18 +118,17 @@ export function useSameRefState(initialValue) {
|
|
|
126
118
|
* const [index, indexRef, setIndex] = useRefState(currentIndex);
|
|
127
119
|
* ```
|
|
128
120
|
*/
|
|
129
|
-
|
|
130
121
|
export function useRefState(initialValue) {
|
|
131
122
|
var _useState3 = useState(initialValue),
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
123
|
+
state = _useState3[0],
|
|
124
|
+
setState = _useState3[1];
|
|
135
125
|
var stateRef = useRef(state);
|
|
136
126
|
useEffect(function () {
|
|
137
127
|
stateRef.current = state;
|
|
138
128
|
}, [state]);
|
|
139
129
|
return [state, stateRef, setState];
|
|
140
130
|
}
|
|
131
|
+
|
|
141
132
|
/**
|
|
142
133
|
* 用useState管理状态,且在状态更新后同步至ref,并返回ref,统一处理在组件卸载后还使用setState的行为
|
|
143
134
|
* @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
|
|
@@ -151,18 +142,17 @@ export function useRefState(initialValue) {
|
|
|
151
142
|
* const [active, activeRef, setActive] = useRefMountedState(false);
|
|
152
143
|
* ```
|
|
153
144
|
*/
|
|
154
|
-
|
|
155
145
|
export function useRefMountedState(initialValue) {
|
|
156
146
|
var _useMountedState = useMountedState(initialValue),
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
147
|
+
state = _useMountedState[0],
|
|
148
|
+
setState = _useMountedState[1];
|
|
160
149
|
var stateRef = useRef(state);
|
|
161
150
|
useEffect(function () {
|
|
162
151
|
stateRef.current = state;
|
|
163
152
|
}, [state]);
|
|
164
153
|
return [state, stateRef, setState];
|
|
165
154
|
}
|
|
155
|
+
|
|
166
156
|
/**
|
|
167
157
|
* useEffect特殊封装,仅在非首次依赖更新时触发回调
|
|
168
158
|
* @desc {en} Special encapsulation of useEffect, which only triggers the callback when the dependency is not updated for the first time
|
|
@@ -179,12 +169,10 @@ export function useRefMountedState(initialValue) {
|
|
|
179
169
|
* }, [index]);
|
|
180
170
|
* ```
|
|
181
171
|
*/
|
|
182
|
-
|
|
183
172
|
export function useUpdateEffect(effect, dependencies) {
|
|
184
173
|
if (dependencies === void 0) {
|
|
185
174
|
dependencies = [];
|
|
186
175
|
}
|
|
187
|
-
|
|
188
176
|
var isInitialMount = useRef(true);
|
|
189
177
|
useEffect(function () {
|
|
190
178
|
if (isInitialMount.current) {
|
|
@@ -194,6 +182,7 @@ export function useUpdateEffect(effect, dependencies) {
|
|
|
194
182
|
}
|
|
195
183
|
}, dependencies);
|
|
196
184
|
}
|
|
185
|
+
|
|
197
186
|
/**
|
|
198
187
|
* 手动触发一次组件的rerender
|
|
199
188
|
* @desc {en} Manually trigger the rerender of the component once
|
|
@@ -208,11 +197,9 @@ export function useUpdateEffect(effect, dependencies) {
|
|
|
208
197
|
* }
|
|
209
198
|
* ```
|
|
210
199
|
*/
|
|
211
|
-
|
|
212
200
|
export function useForceUpdate() {
|
|
213
201
|
var _useState4 = useState(0),
|
|
214
|
-
|
|
215
|
-
|
|
202
|
+
setTick = _useState4[1];
|
|
216
203
|
var update = useCallback(function () {
|
|
217
204
|
setTick(function (tick) {
|
|
218
205
|
return tick + 1;
|
|
@@ -220,6 +207,7 @@ export function useForceUpdate() {
|
|
|
220
207
|
}, []);
|
|
221
208
|
return update;
|
|
222
209
|
}
|
|
210
|
+
|
|
223
211
|
/**
|
|
224
212
|
* 获取任意变量的最新ref值(用于监听属性、方法等非state变量)
|
|
225
213
|
* @desc {en} Get the latest ref value of any variable (used to monitor non-state variables such as properties and methods)
|
|
@@ -234,7 +222,6 @@ export function useForceUpdate() {
|
|
|
234
222
|
* const wrapSizeRef = useLatestRef(wrapSize);
|
|
235
223
|
* ```
|
|
236
224
|
*/
|
|
237
|
-
|
|
238
225
|
export function useLatestRef(variable) {
|
|
239
226
|
var variableRef = useRef(variable);
|
|
240
227
|
useEffect(function () {
|
|
@@ -260,22 +247,20 @@ export function useLatestRef(variable) {
|
|
|
260
247
|
* const systemWithHarmony = useSystem({ detectHarmony: true });
|
|
261
248
|
* ```
|
|
262
249
|
*/
|
|
263
|
-
|
|
264
250
|
export function useSystem(options) {
|
|
265
251
|
var _useContext = useContext(GlobalContext),
|
|
266
|
-
|
|
267
|
-
|
|
252
|
+
currentSystem = _useContext.system;
|
|
268
253
|
var _useState5 = useState(function () {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
254
|
+
return currentSystem || getSystem(options);
|
|
255
|
+
}),
|
|
256
|
+
system = _useState5[0],
|
|
257
|
+
setSystem = _useState5[1];
|
|
274
258
|
useEffect(function () {
|
|
275
259
|
setSystem(currentSystem || getSystem(options));
|
|
276
260
|
}, [currentSystem, options]);
|
|
277
261
|
return system;
|
|
278
262
|
}
|
|
263
|
+
|
|
279
264
|
/**
|
|
280
265
|
* 获取页面视口宽高大小,并在页面有resize时更新大小
|
|
281
266
|
* @desc {en} Get the width and height of the page viewport, and update the size when the page is resized
|
|
@@ -289,21 +274,17 @@ export function useSystem(options) {
|
|
|
289
274
|
* const { windowHeight, windowWidth } = useWindowSize();
|
|
290
275
|
* ```
|
|
291
276
|
*/
|
|
292
|
-
|
|
293
277
|
export function useWindowSize(listenResize) {
|
|
294
278
|
var _useState6 = useState(typeof window !== 'undefined' ? window.innerWidth : 0),
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
279
|
+
windowWidth = _useState6[0],
|
|
280
|
+
setWindowWidth = _useState6[1];
|
|
298
281
|
var _useState7 = useState(typeof window !== 'undefined' ? window.innerHeight : 0),
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
282
|
+
windowHeight = _useState7[0],
|
|
283
|
+
setWindowHeight = _useState7[1];
|
|
302
284
|
function setSize() {
|
|
303
285
|
setWindowWidth(window.innerWidth);
|
|
304
286
|
setWindowHeight(window.innerHeight);
|
|
305
287
|
}
|
|
306
|
-
|
|
307
288
|
useListenResize(setSize, [], listenResize);
|
|
308
289
|
useEffect(function () {
|
|
309
290
|
setSize();
|
|
@@ -313,7 +294,6 @@ export function useWindowSize(listenResize) {
|
|
|
313
294
|
windowHeight: windowHeight
|
|
314
295
|
};
|
|
315
296
|
}
|
|
316
|
-
|
|
317
297
|
/**
|
|
318
298
|
* 弹窗中滚动统一处理,防止滚动穿透
|
|
319
299
|
* @desc {en} Unified processing of scrolling in pop-up windows to prevent scrolling penetration
|
|
@@ -342,7 +322,6 @@ export function usePopupScroll(visible, popupDom, getScrollContainer, orientatio
|
|
|
342
322
|
if (orientationDirection === void 0) {
|
|
343
323
|
orientationDirection = 'top';
|
|
344
324
|
}
|
|
345
|
-
|
|
346
325
|
var scrollRef = useRef([]);
|
|
347
326
|
var touchingRef = useRef({
|
|
348
327
|
dom: null,
|
|
@@ -356,11 +335,9 @@ export function usePopupScroll(visible, popupDom, getScrollContainer, orientatio
|
|
|
356
335
|
if (gestureOutOfControl) {
|
|
357
336
|
return;
|
|
358
337
|
}
|
|
359
|
-
|
|
360
338
|
touchStartXRef.current = e.touches && e.touches[0] ? e.touches[0].clientX : 0;
|
|
361
339
|
touchStartYRef.current = e.touches && e.touches[0] ? e.touches[0].clientY : 0;
|
|
362
340
|
var ele = getScrollContainer ? getScrollContainer() : null;
|
|
363
|
-
|
|
364
341
|
if (ele) {
|
|
365
342
|
var actualEle = Array.isArray(ele) ? ele : [ele];
|
|
366
343
|
scrollRef.current = actualEle.reduce(function (acc, nowEle) {
|
|
@@ -373,19 +350,15 @@ export function usePopupScroll(visible, popupDom, getScrollContainer, orientatio
|
|
|
373
350
|
} else {
|
|
374
351
|
scrollRef.current = [];
|
|
375
352
|
}
|
|
376
|
-
|
|
377
353
|
touchingRef.current = {
|
|
378
354
|
dom: null,
|
|
379
355
|
inScrollIndexes: []
|
|
380
356
|
};
|
|
381
357
|
}, [getScrollContainer, gestureOutOfControl, orientationDirection]);
|
|
382
|
-
|
|
383
358
|
function judgeInScroll(originNode, scroll) {
|
|
384
359
|
var inScrollIndexes = [];
|
|
385
|
-
|
|
386
360
|
for (var i = 0; i < scroll.length; i += 1) {
|
|
387
361
|
var node = originNode;
|
|
388
|
-
|
|
389
362
|
while (node && scroll[i]) {
|
|
390
363
|
if (node === scroll[i].ele) {
|
|
391
364
|
inScrollIndexes.push(i);
|
|
@@ -395,66 +368,54 @@ export function usePopupScroll(visible, popupDom, getScrollContainer, orientatio
|
|
|
395
368
|
}
|
|
396
369
|
}
|
|
397
370
|
}
|
|
398
|
-
|
|
399
371
|
touchingRef.current = {
|
|
400
372
|
dom: originNode,
|
|
401
373
|
inScrollIndexes: inScrollIndexes
|
|
402
374
|
};
|
|
403
375
|
return inScrollIndexes;
|
|
404
376
|
}
|
|
405
|
-
|
|
406
377
|
var handleTouchMove = useCallback(function (e) {
|
|
407
378
|
function getScrollTop(scroll) {
|
|
408
379
|
var ele = scroll.ele,
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
380
|
+
maxScrollX = scroll.maxScrollX,
|
|
381
|
+
maxScrollY = scroll.maxScrollY;
|
|
412
382
|
switch (orientationDirection) {
|
|
413
383
|
case 'left':
|
|
414
384
|
return maxScrollY - ele.scrollLeft;
|
|
415
|
-
|
|
416
385
|
case 'right':
|
|
417
386
|
return ele.scrollLeft;
|
|
418
|
-
|
|
419
387
|
case 'bottom':
|
|
420
388
|
return maxScrollX - ele.scrollTop;
|
|
421
|
-
|
|
422
389
|
case 'top':
|
|
423
390
|
default:
|
|
424
391
|
return ele.scrollTop;
|
|
425
392
|
}
|
|
426
393
|
}
|
|
427
|
-
|
|
428
394
|
function getScrollLeft(scroll) {
|
|
429
395
|
var ele = scroll.ele,
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
396
|
+
maxScrollX = scroll.maxScrollX,
|
|
397
|
+
maxScrollY = scroll.maxScrollY;
|
|
433
398
|
switch (orientationDirection) {
|
|
434
399
|
case 'left':
|
|
435
400
|
return ele.scrollTop;
|
|
436
|
-
|
|
437
401
|
case 'right':
|
|
438
402
|
return maxScrollX - ele.scrollTop;
|
|
439
|
-
|
|
440
403
|
case 'bottom':
|
|
441
404
|
return maxScrollY - ele.scrollLeft;
|
|
442
|
-
|
|
443
405
|
case 'top':
|
|
444
406
|
default:
|
|
445
407
|
return ele.scrollLeft;
|
|
446
408
|
}
|
|
447
409
|
}
|
|
448
|
-
|
|
449
410
|
var touchMoveX = e.changedTouches && e.changedTouches[0] ? e.changedTouches[0].clientX : 0;
|
|
450
411
|
var touchMoveY = e.changedTouches && e.changedTouches[0] ? e.changedTouches[0].clientY : 0;
|
|
451
412
|
var scroll = scrollRef.current;
|
|
452
413
|
var node = e.target;
|
|
453
414
|
var _touchingRef$current = touchingRef.current,
|
|
454
|
-
|
|
455
|
-
|
|
415
|
+
touchingDom = _touchingRef$current.dom,
|
|
416
|
+
touchingIndexes = _touchingRef$current.inScrollIndexes;
|
|
417
|
+
// target一样就取缓存结果,不取dom判断了
|
|
456
418
|
// @en If the target is the same, the cached result is taken, and the dom judgment is not taken.
|
|
457
|
-
|
|
458
419
|
var inScrollIndexes = touchingDom === node ? touchingIndexes : judgeInScroll(node, scroll);
|
|
459
420
|
var distanceX = touchMoveX - touchStartXRef.current;
|
|
460
421
|
var distanceY = touchMoveY - touchStartYRef.current;
|
|
@@ -462,35 +423,28 @@ export function usePopupScroll(visible, popupDom, getScrollContainer, orientatio
|
|
|
462
423
|
var absY = Math.abs(distanceY);
|
|
463
424
|
var direc = absY > absX ? 'y' : 'x';
|
|
464
425
|
var prevented = false;
|
|
465
|
-
|
|
466
426
|
if (gestureOutOfControl) {
|
|
467
427
|
onTouchMoveRef.current == null ? void 0 : onTouchMoveRef.current(e, prevented, direc);
|
|
468
428
|
return;
|
|
469
429
|
}
|
|
470
|
-
|
|
471
430
|
if (scroll.length && inScrollIndexes.length) {
|
|
472
431
|
var needPrevents = [];
|
|
473
|
-
|
|
474
432
|
for (var i = 0; i < inScrollIndexes.length; i += 1) {
|
|
475
433
|
var touchingScroll = scroll[inScrollIndexes[i]];
|
|
476
434
|
var scrollTop = getScrollTop(touchingScroll);
|
|
477
435
|
var scrollLeft = getScrollLeft(touchingScroll);
|
|
478
|
-
|
|
479
436
|
if (distanceY > 0 && absY > absX && scrollTop === 0 || distanceX > 0 && absX > absY && scrollLeft === 0) {
|
|
480
437
|
needPrevents.push(true);
|
|
481
438
|
continue;
|
|
482
439
|
}
|
|
483
|
-
|
|
484
440
|
if (distanceY < 0 && absY > absX && scrollTop + 1 >= touchingScroll.maxScrollY || distanceX < 0 && absX > absY && scrollLeft + 1 >= touchingScroll.maxScrollX) {
|
|
485
441
|
needPrevents.push(true);
|
|
486
442
|
continue;
|
|
487
443
|
}
|
|
488
|
-
|
|
489
444
|
needPrevents.push(false);
|
|
490
|
-
}
|
|
445
|
+
}
|
|
446
|
+
// 满足一个不prevent的条件就停止prevent,否则prevent
|
|
491
447
|
// @en Stop prevent if a non-prevent condition is met, otherwise prevent.
|
|
492
|
-
|
|
493
|
-
|
|
494
448
|
if (needPrevents.indexOf(false) < 0) {
|
|
495
449
|
preventCallbackRef.current == null ? void 0 : preventCallbackRef.current(e, direc);
|
|
496
450
|
e.cancelable && e.preventDefault();
|
|
@@ -501,14 +455,12 @@ export function usePopupScroll(visible, popupDom, getScrollContainer, orientatio
|
|
|
501
455
|
e.cancelable && e.preventDefault();
|
|
502
456
|
prevented = true;
|
|
503
457
|
}
|
|
504
|
-
|
|
505
458
|
onTouchMoveRef.current == null ? void 0 : onTouchMoveRef.current(e, prevented, direc);
|
|
506
459
|
}, [orientationDirection, gestureOutOfControl]);
|
|
507
460
|
useEffect(function () {
|
|
508
461
|
if (!visible || !popupDom) {
|
|
509
462
|
return function () {};
|
|
510
463
|
}
|
|
511
|
-
|
|
512
464
|
popupDom.addEventListener('touchstart', handleTouchStart);
|
|
513
465
|
popupDom.addEventListener('touchmove', handleTouchMove, {
|
|
514
466
|
passive: false
|
|
@@ -519,6 +471,7 @@ export function usePopupScroll(visible, popupDom, getScrollContainer, orientatio
|
|
|
519
471
|
};
|
|
520
472
|
}, [visible, popupDom, handleTouchStart, handleTouchMove]);
|
|
521
473
|
}
|
|
474
|
+
|
|
522
475
|
/**
|
|
523
476
|
* 在滑动类组件中,如果有内部可滚动区域,则在内部滚动区域滚动时禁用滑动事件
|
|
524
477
|
* @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
|
|
@@ -531,7 +484,6 @@ export function usePopupScroll(visible, popupDom, getScrollContainer, orientatio
|
|
|
531
484
|
* useSwiperInnerScroll(getInnerScrollContainer);
|
|
532
485
|
* ```
|
|
533
486
|
*/
|
|
534
|
-
|
|
535
487
|
export function useSwiperInnerScroll(getInnerScrollContainer) {
|
|
536
488
|
var stopFunc = useCallback(function (e) {
|
|
537
489
|
return e.stopPropagation();
|
|
@@ -540,7 +492,6 @@ export function useSwiperInnerScroll(getInnerScrollContainer) {
|
|
|
540
492
|
if (!getInnerScrollContainer) {
|
|
541
493
|
return;
|
|
542
494
|
}
|
|
543
|
-
|
|
544
495
|
var containers = getInnerScrollContainer();
|
|
545
496
|
var validContainers = Array.isArray(containers) ? containers : [containers];
|
|
546
497
|
validContainers.forEach(function (container) {
|
|
@@ -559,6 +510,7 @@ export function useSwiperInnerScroll(getInnerScrollContainer) {
|
|
|
559
510
|
};
|
|
560
511
|
}, [getInnerScrollContainer]);
|
|
561
512
|
}
|
|
513
|
+
|
|
562
514
|
/**
|
|
563
515
|
* 事件绑定统一封装
|
|
564
516
|
* @desc {en} Unified encapsulation of event binding
|
|
@@ -578,21 +530,17 @@ export function useSwiperInnerScroll(getInnerScrollContainer) {
|
|
|
578
530
|
* useAddListener(domRef.current, 'touchend', onTouchEnd);
|
|
579
531
|
* ```
|
|
580
532
|
*/
|
|
581
|
-
|
|
582
533
|
export function useAddListener(dom, event, handler, options) {
|
|
583
534
|
if (options === void 0) {
|
|
584
535
|
options = {
|
|
585
536
|
capture: true
|
|
586
537
|
};
|
|
587
538
|
}
|
|
588
|
-
|
|
589
539
|
useEffect(function () {
|
|
590
540
|
if (!dom) return;
|
|
591
|
-
|
|
592
541
|
if (handler) {
|
|
593
542
|
dom.addEventListener(event, handler, options);
|
|
594
543
|
}
|
|
595
|
-
|
|
596
544
|
return function () {
|
|
597
545
|
if (handler) {
|
|
598
546
|
dom.removeEventListener(event, handler, options);
|
|
@@ -600,13 +548,14 @@ export function useAddListener(dom, event, handler, options) {
|
|
|
600
548
|
};
|
|
601
549
|
}, [handler]);
|
|
602
550
|
}
|
|
551
|
+
|
|
603
552
|
/**
|
|
604
553
|
* 统计同时出现的全屏组件
|
|
605
554
|
* @en Count simultaneous full-screen components
|
|
606
555
|
*/
|
|
607
|
-
|
|
608
556
|
var arcoFullScreenCount = 0;
|
|
609
557
|
var arcoFullScreenOriginOverflow = '';
|
|
558
|
+
|
|
610
559
|
/**
|
|
611
560
|
* 在全屏组件出现时,将body的overflow设置为hidden,防止滚动穿透
|
|
612
561
|
* @desc {en} When the full screen component appears, set the overflow of the body to hidden to prevent scrolling penetration
|
|
@@ -623,22 +572,19 @@ var arcoFullScreenOriginOverflow = '';
|
|
|
623
572
|
* usePreventBodyScroll(visible, preventBodyScroll, initialBodyOverflow);
|
|
624
573
|
* ```
|
|
625
574
|
*/
|
|
626
|
-
|
|
627
575
|
export function usePreventBodyScroll(visible, preventBodyScroll, initialBodyOverflow) {
|
|
628
576
|
if (preventBodyScroll === void 0) {
|
|
629
577
|
preventBodyScroll = true;
|
|
630
578
|
}
|
|
631
|
-
|
|
632
579
|
// 新出现一个全屏组件则计数+1,并设置body hidden样式
|
|
633
580
|
// @en When a new full-screen component appears, count + 1 and set the body hidden style
|
|
634
581
|
var addFullScreen = useCallback(function () {
|
|
635
|
-
var count = arcoFullScreenCount;
|
|
582
|
+
var count = arcoFullScreenCount;
|
|
583
|
+
// 在当前没有全屏组件出现时,记下body overflow的初始值
|
|
636
584
|
// @en Note the initial value of body overflow when no full-screen components are currently present
|
|
637
|
-
|
|
638
585
|
if (!count) {
|
|
639
586
|
arcoFullScreenOriginOverflow = initialBodyOverflow !== void 0 ? initialBodyOverflow : document.body.style.overflow;
|
|
640
587
|
}
|
|
641
|
-
|
|
642
588
|
arcoFullScreenCount += 1;
|
|
643
589
|
document.body.style.overflow = 'hidden';
|
|
644
590
|
}, []);
|
|
@@ -646,11 +592,9 @@ export function usePreventBodyScroll(visible, preventBodyScroll, initialBodyOver
|
|
|
646
592
|
* 移除一个全屏组件时,根据剩余是否还有全屏组件判断是否需要还原overflow样式
|
|
647
593
|
* @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.
|
|
648
594
|
*/
|
|
649
|
-
|
|
650
595
|
var removeFullScreen = useCallback(function () {
|
|
651
596
|
var newCount = arcoFullScreenCount - 1;
|
|
652
597
|
arcoFullScreenCount = newCount;
|
|
653
|
-
|
|
654
598
|
if (!newCount) {
|
|
655
599
|
document.body.style.overflow = arcoFullScreenOriginOverflow;
|
|
656
600
|
}
|
|
@@ -658,14 +602,12 @@ export function usePreventBodyScroll(visible, preventBodyScroll, initialBodyOver
|
|
|
658
602
|
useEffect(function () {
|
|
659
603
|
if (!preventBodyScroll) {
|
|
660
604
|
return function () {};
|
|
661
|
-
}
|
|
605
|
+
}
|
|
606
|
+
// 如果一开始就是visible=true则加上样式
|
|
662
607
|
// @en If it is visible=true at the beginning, add the style.
|
|
663
|
-
|
|
664
|
-
|
|
665
608
|
if (visible) {
|
|
666
609
|
addFullScreen();
|
|
667
610
|
}
|
|
668
|
-
|
|
669
611
|
return function () {
|
|
670
612
|
// 如果这里visible为true,则说明即将隐藏组件或在展示时卸载组件
|
|
671
613
|
// @en If visible here is true, it means that the component is about to be hidden or unloaded when displayed.
|
|
@@ -675,6 +617,7 @@ export function usePreventBodyScroll(visible, preventBodyScroll, initialBodyOver
|
|
|
675
617
|
};
|
|
676
618
|
}, [visible]);
|
|
677
619
|
}
|
|
620
|
+
|
|
678
621
|
/**
|
|
679
622
|
* 进度条计算公共逻辑,根据传入的参数计算出当前百分比和过渡效果开关,进度类组件内部使用
|
|
680
623
|
* @desc {en} Progress bar calculation common logic, used internally by the progress class component
|
|
@@ -686,20 +629,16 @@ export function usePreventBodyScroll(visible, preventBodyScroll, initialBodyOver
|
|
|
686
629
|
* const [currentPercentage, transitionControl] = useProgress(mountedTransition, percentage, duration, mountedBezier, step);
|
|
687
630
|
* ```
|
|
688
631
|
*/
|
|
689
|
-
|
|
690
632
|
export function useProgress(mountedTransition, percentage, duration, mountedBezier, step) {
|
|
691
633
|
var _useState8 = useState(0),
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
634
|
+
currentPercentage = _useState8[0],
|
|
635
|
+
setCurrentPercentage = _useState8[1];
|
|
695
636
|
var _useState9 = useState(false),
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
setCount = _useState10[1];
|
|
702
|
-
|
|
637
|
+
transitionControl = _useState9[0],
|
|
638
|
+
setTransitionControl = _useState9[1];
|
|
639
|
+
var _useState0 = useState(0),
|
|
640
|
+
count = _useState0[0],
|
|
641
|
+
setCount = _useState0[1];
|
|
703
642
|
var latestPercentage = useRef(percentage);
|
|
704
643
|
useEffect(function () {
|
|
705
644
|
mountedTransition ? scrollWithAnimation(0, percentage, function (progress) {
|
|
@@ -722,6 +661,7 @@ export function useProgress(mountedTransition, percentage, duration, mountedBezi
|
|
|
722
661
|
}, [count, percentage, step]);
|
|
723
662
|
return [currentPercentage, transitionControl];
|
|
724
663
|
}
|
|
664
|
+
|
|
725
665
|
/**
|
|
726
666
|
* 单击和双击事件统一处理
|
|
727
667
|
* @desc {en} Unified processing of single and double click events
|
|
@@ -739,16 +679,13 @@ export function useProgress(mountedTransition, percentage, duration, mountedBezi
|
|
|
739
679
|
* const handleClick = useSingleAndDoubleClick(handleImageClick, handleImageDoubleClick);
|
|
740
680
|
* ```
|
|
741
681
|
*/
|
|
742
|
-
|
|
743
682
|
export function useSingleAndDoubleClick(onClick, onDoubleClick, delay) {
|
|
744
683
|
if (delay === void 0) {
|
|
745
684
|
delay = 200;
|
|
746
685
|
}
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
setClickTimes = _useState11[1];
|
|
751
|
-
|
|
686
|
+
var _useState1 = useState(0),
|
|
687
|
+
clickTimes = _useState1[0],
|
|
688
|
+
setClickTimes = _useState1[1];
|
|
752
689
|
var eventRef = useRef(undefined);
|
|
753
690
|
useEffect(function () {
|
|
754
691
|
var timer = setTimeout(function () {
|
|
@@ -768,6 +705,7 @@ export function useSingleAndDoubleClick(onClick, onDoubleClick, delay) {
|
|
|
768
705
|
};
|
|
769
706
|
}
|
|
770
707
|
var arcoSvgKeyCount = 0;
|
|
708
|
+
|
|
771
709
|
/**
|
|
772
710
|
* 自动生成svg <def>标签的唯一标识,用于区分不同svg的<def>内容
|
|
773
711
|
* @desc {en} Automatically generate the unique identifier of the svg <def> tag, which is used to distinguish the <def> content of different svg
|
|
@@ -785,12 +723,10 @@ var arcoSvgKeyCount = 0;
|
|
|
785
723
|
* const { svgKey } = useGenSvgKey(userSetSvgKey);
|
|
786
724
|
* ```
|
|
787
725
|
*/
|
|
788
|
-
|
|
789
726
|
export function useGenSvgKey(userSetSvgKey) {
|
|
790
|
-
var
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
727
|
+
var _useState10 = useState(''),
|
|
728
|
+
innerSvgKey = _useState10[0],
|
|
729
|
+
setInnerSvgKey = _useState10[1];
|
|
794
730
|
var svgKey = userSetSvgKey || innerSvgKey;
|
|
795
731
|
useEffect(function () {
|
|
796
732
|
setInnerSvgKey("inner-" + arcoSvgKeyCount);
|
package/esm/_helpers/index.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
|
|
3
2
|
/**
|
|
4
3
|
* @type utils
|
|
5
4
|
* @name componentUtils
|
|
6
5
|
*/
|
|
6
|
+
|
|
7
7
|
export * from './hooks';
|
|
8
8
|
export * from './react-dom';
|
|
9
9
|
export * from './render';
|
|
10
10
|
export * from './type';
|
|
11
|
+
|
|
11
12
|
/**
|
|
12
13
|
* 获取带浏览器前缀的样式
|
|
13
14
|
* @desc {en} Get style with browser vendor prefix
|
|
@@ -39,12 +40,10 @@ export * from './type';
|
|
|
39
40
|
* // }
|
|
40
41
|
* ```
|
|
41
42
|
*/
|
|
42
|
-
|
|
43
43
|
export function getStyleWithVendor(style) {
|
|
44
44
|
var allowReg = /(transform|transition|animation)/i;
|
|
45
45
|
var newStyle = Object.keys(style).reduce(function (acc, key) {
|
|
46
46
|
var _ref, _extends2;
|
|
47
|
-
|
|
48
47
|
var webkitStyle = allowReg.test(key) ? (_ref = {}, _ref["Webkit" + key.replace(/^(.)/, function (_, p1) {
|
|
49
48
|
return p1.toUpperCase();
|
|
50
49
|
})] = style[key], _ref) : {};
|
|
@@ -52,6 +51,7 @@ export function getStyleWithVendor(style) {
|
|
|
52
51
|
}, {});
|
|
53
52
|
return newStyle;
|
|
54
53
|
}
|
|
54
|
+
|
|
55
55
|
/**
|
|
56
56
|
* 给元素设置带浏览器前缀的样式
|
|
57
57
|
* @desc {en} Set element style with browser vendor prefix
|
|
@@ -82,14 +82,13 @@ export function getStyleWithVendor(style) {
|
|
|
82
82
|
* console.log(computedStyle.getPropertyValue('border-radius')); // Output: The borderRadius style without a vendor prefix
|
|
83
83
|
* ```
|
|
84
84
|
*/
|
|
85
|
-
|
|
86
85
|
export function setStyleWithVendor(dom, style) {
|
|
87
86
|
var vendorStyle = getStyleWithVendor(style);
|
|
88
|
-
|
|
89
87
|
for (var key in vendorStyle) {
|
|
90
88
|
dom.style[key] = vendorStyle[key];
|
|
91
89
|
}
|
|
92
90
|
}
|
|
91
|
+
|
|
93
92
|
/**
|
|
94
93
|
* 计算默认值,仅未定义时使用默认值
|
|
95
94
|
* @desc {en} Calculate the default value, use default value only if undefined
|
|
@@ -110,7 +109,6 @@ export function setStyleWithVendor(dom, style) {
|
|
|
110
109
|
* console.log(result2); // Output: 100
|
|
111
110
|
* ```
|
|
112
111
|
*/
|
|
113
|
-
|
|
114
112
|
export var getDefaultValue = function getDefaultValue(value, defaultValue) {
|
|
115
113
|
return value === void 0 ? defaultValue : value;
|
|
116
114
|
};
|