@arco-design/mobile-react 2.38.4 → 2.39.1
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 +24 -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.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.js +66 -167
- package/cjs/date-picker/style/css/index.js +0 -2
- package/cjs/date-picker/style/index.js +0 -2
- 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.js +74 -163
- 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 +11 -1
- package/cjs/form/type.js +0 -5
- 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.js +56 -95
- package/cjs/pull-refresh/hooks.js +11 -32
- package/cjs/pull-refresh/index.js +3 -14
- package/cjs/pull-refresh/ios-pull-refresh.js +53 -81
- 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.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/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-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.js +9 -45
- package/dist/index.js +3838 -6455
- package/dist/index.min.js +2 -2
- 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.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.js +66 -155
- 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.js +74 -147
- package/esm/form/index.js +18 -23
- package/esm/form/linked-container.js +5 -14
- package/esm/form/type.d.ts +11 -1
- package/esm/form/type.js +0 -5
- package/esm/form/useForm.js +10 -74
- 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.js +56 -83
- package/esm/pull-refresh/hooks.js +11 -23
- package/esm/pull-refresh/index.js +3 -5
- package/esm/pull-refresh/ios-pull-refresh.js +53 -68
- package/esm/pull-refresh/model.js +0 -1
- package/esm/radio/group.js +20 -24
- package/esm/radio/index.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.js +9 -12
- package/esm/stepper/index.js +84 -84
- 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-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.js +9 -38
- package/esnext/form/form-item.js +12 -7
- package/esnext/form/type.d.ts +11 -1
- package/esnext/uploader/index.d.ts +1 -1
- package/esnext/uploader/index.js +1 -1
- package/esnext/uploader/upload/upload.js +1 -1
- 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.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.js +66 -158
- 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.js +74 -151
- package/umd/form/index.js +18 -28
- package/umd/form/linked-container.js +5 -19
- package/umd/form/type.d.ts +11 -1
- package/umd/form/type.js +0 -5
- 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.js +56 -86
- package/umd/pull-refresh/hooks.js +11 -29
- package/umd/pull-refresh/index.js +3 -7
- package/umd/pull-refresh/ios-pull-refresh.js +53 -72
- package/umd/pull-refresh/model.js +0 -1
- package/umd/radio/group.js +20 -30
- package/umd/radio/index.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.js +9 -13
- package/umd/stepper/index.js +84 -89
- 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-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.js +9 -43
|
@@ -14,43 +14,36 @@
|
|
|
14
14
|
"use strict";
|
|
15
15
|
|
|
16
16
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
17
|
-
|
|
18
17
|
_exports.__esModule = true;
|
|
19
18
|
_exports.default = void 0;
|
|
20
19
|
_react = _interopRequireWildcard(_react);
|
|
21
20
|
_lodash = _interopRequireDefault(_lodash);
|
|
22
|
-
|
|
23
21
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
24
|
-
|
|
25
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
26
|
-
|
|
27
23
|
var LISTEN_FLAG = 'data-show-listened';
|
|
28
24
|
/**
|
|
29
25
|
* 父 dom 节点集合
|
|
30
26
|
* @en Parent dom node collection
|
|
31
27
|
*/
|
|
32
|
-
|
|
33
28
|
var wrapperNodeList = [];
|
|
34
29
|
/**
|
|
35
30
|
* 同一父节点下监听队列
|
|
36
31
|
* @en Listening queue under the same parent node
|
|
37
32
|
*/
|
|
38
|
-
|
|
39
33
|
var listeners = {};
|
|
40
34
|
var onOnceEmittedListeners = {};
|
|
41
35
|
/**
|
|
42
36
|
* Intersection Observer 同一 root 节点下的监听队列
|
|
43
37
|
* @en Intersection Observer Listening queue under the same root node
|
|
44
38
|
*/
|
|
45
|
-
|
|
46
39
|
var ioListeners = [];
|
|
47
40
|
/**
|
|
48
41
|
* Intersection Observer 监听 visible 状态队列
|
|
49
42
|
* @en Intersection Observer listens to the visible status queue
|
|
50
43
|
*/
|
|
51
|
-
|
|
52
44
|
var ioVisibleList = [];
|
|
53
45
|
var throttlingVisibleChange;
|
|
46
|
+
|
|
54
47
|
/**
|
|
55
48
|
* 通过滚动事件监测 children 是否进入视口或离开视口。
|
|
56
49
|
* @en Use scroll events to monitor whether children enter or leave the viewport.
|
|
@@ -59,61 +52,55 @@
|
|
|
59
52
|
* @name 滚动视口监听
|
|
60
53
|
* @name_en ShowMonitor
|
|
61
54
|
*/
|
|
62
|
-
|
|
63
55
|
var ShowMonitor = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
64
56
|
var className = props.className,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
57
|
+
style = props.style,
|
|
58
|
+
getScrollContainer = props.getScrollContainer,
|
|
59
|
+
_props$throttle = props.throttle,
|
|
60
|
+
throttle = _props$throttle === void 0 ? 300 : _props$throttle,
|
|
61
|
+
_props$listenResize = props.listenResize,
|
|
62
|
+
listenResize = _props$listenResize === void 0 ? true : _props$listenResize,
|
|
63
|
+
_props$listenScroll = props.listenScroll,
|
|
64
|
+
listenScroll = _props$listenScroll === void 0 ? true : _props$listenScroll,
|
|
65
|
+
_props$overflow = props.overflow,
|
|
66
|
+
overflow = _props$overflow === void 0 ? false : _props$overflow,
|
|
67
|
+
_props$offset = props.offset,
|
|
68
|
+
offset = _props$offset === void 0 ? 0 : _props$offset,
|
|
69
|
+
_props$threshold = props.threshold,
|
|
70
|
+
threshold = _props$threshold === void 0 ? 0 : _props$threshold,
|
|
71
|
+
_props$once = props.once,
|
|
72
|
+
once = _props$once === void 0 ? false : _props$once,
|
|
73
|
+
_props$children = props.children,
|
|
74
|
+
children = _props$children === void 0 ? null : _props$children,
|
|
75
|
+
_props$disabled = props.disabled,
|
|
76
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
77
|
+
onVisibleChange = props.onVisibleChange,
|
|
78
|
+
onClick = props.onClick;
|
|
87
79
|
var domRef = (0, _react.useRef)(null);
|
|
88
80
|
/**
|
|
89
81
|
* 滚动容器父级元素
|
|
90
82
|
* @en Scroll container parent element
|
|
91
83
|
*/
|
|
92
|
-
|
|
93
84
|
var scrollPort = (0, _react.useRef)(null);
|
|
94
85
|
/**
|
|
95
86
|
* 局部滚动元素父节点
|
|
96
87
|
* @en Parent node of the local scroll element
|
|
97
88
|
*/
|
|
98
|
-
|
|
99
89
|
var domRefParent = (0, _react.useRef)(null);
|
|
100
90
|
/**
|
|
101
91
|
* 保存当前节点信息,类似于 class component 中 this
|
|
102
92
|
* @en Save current node information, similar to this in class component
|
|
103
93
|
*/
|
|
104
|
-
|
|
105
94
|
var listener = (0, _react.useRef)(null);
|
|
106
95
|
/**
|
|
107
96
|
* Intersection Observer 实例化对象
|
|
108
97
|
* @en Instantiated object of Intersection Observer
|
|
109
98
|
*/
|
|
110
|
-
|
|
111
99
|
var io = (0, _react.useRef)(null);
|
|
112
100
|
/**
|
|
113
101
|
* 父容器唯一 key(wrapperNodeList index)
|
|
114
102
|
* @en The unique key of the parent container (wrapperNodeList index)
|
|
115
103
|
*/
|
|
116
|
-
|
|
117
104
|
var wrapperKey = (0, _react.useRef)(-1);
|
|
118
105
|
var isChildrenExist = (0, _react.useRef)(Boolean(children));
|
|
119
106
|
var isSupportNativeApi = (0, _react.useMemo)(function () {
|
|
@@ -123,7 +110,6 @@
|
|
|
123
110
|
(0, _react.useImperativeHandle)(ref, function () {
|
|
124
111
|
return {
|
|
125
112
|
dom: domRef.current,
|
|
126
|
-
|
|
127
113
|
/**
|
|
128
114
|
* 提供检查元素是否可见的api
|
|
129
115
|
* @en Provides an api to check whether the element is visible
|
|
@@ -137,7 +123,6 @@
|
|
|
137
123
|
threshold: threshold
|
|
138
124
|
}, true);
|
|
139
125
|
},
|
|
140
|
-
|
|
141
126
|
/**
|
|
142
127
|
* 重置元素初始可见态为false,并重新对元素可见度发起检测,优先级低于disabled(通常用在对ShowMonitor内部元素变化时发起的重新监听)
|
|
143
128
|
* @en Reset the initial visible state of the element to false, and re-detect the visibility of the element, the priority is lower than 'disabled'(Usually used to re-listen when elements inside ShowMonitor change)
|
|
@@ -147,58 +132,48 @@
|
|
|
147
132
|
disabled ? ioUnobserve() : ioObserve();
|
|
148
133
|
} else if (listener.current) {
|
|
149
134
|
var _key = wrapperKey.current;
|
|
150
|
-
|
|
151
135
|
if (once && onOnceEmittedListeners != null && onOnceEmittedListeners[_key]) {
|
|
152
136
|
onOnceEmittedListeners[_key] = onOnceEmittedListeners[_key].filter(function (emitListener) {
|
|
153
137
|
return emitListener !== listener.current;
|
|
154
138
|
});
|
|
155
139
|
}
|
|
156
|
-
|
|
157
140
|
if (!disabled && !listeners[_key].find(function (_listener) {
|
|
158
141
|
return _listener === listener.current;
|
|
159
142
|
})) {
|
|
160
143
|
listeners[_key].push(listener.current);
|
|
161
144
|
}
|
|
162
|
-
|
|
163
145
|
!disabled && _checkVisible(listener.current);
|
|
164
146
|
}
|
|
165
147
|
}
|
|
166
148
|
};
|
|
167
149
|
});
|
|
168
|
-
|
|
169
150
|
function _checkVisible(component, ignoreCheckPreVisibleStatus) {
|
|
170
151
|
if (ignoreCheckPreVisibleStatus === void 0) {
|
|
171
152
|
ignoreCheckPreVisibleStatus = false;
|
|
172
153
|
}
|
|
173
|
-
|
|
174
154
|
var node = component.node,
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
155
|
+
compOverflow = component.overflow,
|
|
156
|
+
compOnce = component.once,
|
|
157
|
+
onCompVisibleChange = component.onVisibleChange,
|
|
158
|
+
preVisible = component.isVisible;
|
|
180
159
|
if (!(node instanceof HTMLElement)) {
|
|
181
160
|
return;
|
|
182
161
|
}
|
|
183
|
-
|
|
184
162
|
var parent = (0, _mobileUtils.scrollParent)(node);
|
|
185
163
|
/**
|
|
186
164
|
* 当前元素为非 document 元素,即为局部滚动
|
|
187
165
|
* @en If the current element is a non-document element, it's local scrolling
|
|
188
166
|
*/
|
|
189
|
-
|
|
190
167
|
var isOverflow = compOverflow && [node.ownerDocument, document, document.documentElement].indexOf(parent) === -1;
|
|
191
168
|
/**
|
|
192
169
|
* 检查元素是否可见
|
|
193
170
|
* @en Check if element is visible
|
|
194
171
|
*/
|
|
195
|
-
|
|
196
172
|
var curVisible = isOverflow ? (0, _mobileUtils.checkOverflowVisible)(component, parent) : (0, _mobileUtils.checkNormalVisible)(component);
|
|
197
173
|
/**
|
|
198
174
|
* 忽略前后可见状态判断
|
|
199
175
|
* @en Ignore the visible state judgment before and after
|
|
200
176
|
*/
|
|
201
|
-
|
|
202
177
|
if (ignoreCheckPreVisibleStatus) {
|
|
203
178
|
return curVisible;
|
|
204
179
|
}
|
|
@@ -206,8 +181,6 @@
|
|
|
206
181
|
* 当前元素 visible 对比之前发生改变,触发回调函数
|
|
207
182
|
* @en The current element visible is changed before the comparison, and the callback function is triggered
|
|
208
183
|
*/
|
|
209
|
-
|
|
210
|
-
|
|
211
184
|
curVisible !== preVisible && handleCheckChildrenExist() && onCompVisibleChange(curVisible, node);
|
|
212
185
|
component.isVisible = curVisible;
|
|
213
186
|
var key = wrapperKey.current;
|
|
@@ -215,7 +188,6 @@
|
|
|
215
188
|
* 监听一次后加入 pendingList 队列,随后被 listeners 过滤掉
|
|
216
189
|
* @en After listening once, it is added to the pendingList queue, and then filtered out by listeners
|
|
217
190
|
*/
|
|
218
|
-
|
|
219
191
|
if (!onOnceEmittedListeners[key]) {
|
|
220
192
|
onOnceEmittedListeners[key] = [];
|
|
221
193
|
}
|
|
@@ -223,11 +195,8 @@
|
|
|
223
195
|
* 当前元素不可见 -> 可见,且 once, 触发回调函数
|
|
224
196
|
* @en The current element is invisible -> visible, and once, triggers the callback function
|
|
225
197
|
*/
|
|
226
|
-
|
|
227
|
-
|
|
228
198
|
curVisible && !preVisible && compOnce && onOnceEmittedListeners[key].push(component);
|
|
229
199
|
}
|
|
230
|
-
|
|
231
200
|
var checkVisibleHandler = (0, _react.useCallback)(function () {
|
|
232
201
|
var key = wrapperKey.current;
|
|
233
202
|
var curListeners = listeners[key] || [];
|
|
@@ -239,59 +208,51 @@
|
|
|
239
208
|
});
|
|
240
209
|
onOnceEmittedListeners[key] = [];
|
|
241
210
|
}, []);
|
|
242
|
-
|
|
243
211
|
function handleCheckChildrenExist(target) {
|
|
244
212
|
var dom = target || domRef.current;
|
|
245
213
|
return isChildrenExist.current && (dom == null ? void 0 : dom.children.length);
|
|
246
214
|
}
|
|
247
|
-
|
|
248
215
|
function handleObserverStatusChange(entries) {
|
|
249
216
|
entries.forEach(function (entry) {
|
|
250
217
|
var isIntersecting = entry.isIntersecting,
|
|
251
|
-
|
|
218
|
+
target = entry.target;
|
|
252
219
|
var visibleItem = ioVisibleList.find(function (item) {
|
|
253
220
|
return item.node === target;
|
|
254
221
|
});
|
|
255
|
-
|
|
256
222
|
if (visibleItem) {
|
|
257
223
|
var curVisible = visibleItem.isVisible,
|
|
258
|
-
|
|
259
|
-
|
|
224
|
+
onCompVisibleChange = visibleItem.onVisibleChange,
|
|
225
|
+
onceEmit = visibleItem.once;
|
|
260
226
|
/**
|
|
261
227
|
* 当前元素 visible 对比之前发生改变,触发回调函数
|
|
262
228
|
* @en Callback when the visible status of current element changes before the comparison
|
|
263
229
|
*/
|
|
264
|
-
|
|
265
230
|
isIntersecting !== curVisible && handleCheckChildrenExist(target) && onCompVisibleChange(isIntersecting, target);
|
|
266
231
|
/**
|
|
267
232
|
* 当前元素状态由不可见变为可见,且只触发一次
|
|
268
233
|
* @en The current element is invisible -> visible, and once, triggers the callback
|
|
269
234
|
*/
|
|
270
|
-
|
|
271
235
|
isIntersecting && !curVisible && onceEmit && target && ioUnobserve(target);
|
|
272
236
|
visibleItem.isVisible = isIntersecting;
|
|
273
237
|
}
|
|
274
238
|
});
|
|
275
239
|
}
|
|
240
|
+
|
|
276
241
|
/**
|
|
277
242
|
* 获取 io 单例
|
|
278
243
|
* @en Get the io singleton
|
|
279
244
|
*/
|
|
280
|
-
|
|
281
|
-
|
|
282
245
|
function getIOSingleton(ioOptions) {
|
|
283
246
|
var root = ioOptions.root,
|
|
284
|
-
|
|
285
|
-
|
|
247
|
+
rootMargin = ioOptions.rootMargin,
|
|
248
|
+
ioThreshold = ioOptions.threshold;
|
|
286
249
|
var ioKey = JSON.stringify({
|
|
287
250
|
rootMargin: rootMargin,
|
|
288
251
|
threshold: ioThreshold
|
|
289
252
|
});
|
|
290
|
-
|
|
291
253
|
var _ioListener = ioListeners.find(function (ioListener) {
|
|
292
254
|
return ioListener.root === root && ioListener.key === ioKey;
|
|
293
255
|
});
|
|
294
|
-
|
|
295
256
|
if (!_ioListener) {
|
|
296
257
|
ioListeners.push({
|
|
297
258
|
root: root,
|
|
@@ -302,13 +263,11 @@
|
|
|
302
263
|
io.current = _ioListener.listener;
|
|
303
264
|
}
|
|
304
265
|
}
|
|
305
|
-
|
|
306
266
|
function ioObserve() {
|
|
307
267
|
if (domRef.current && io.current) {
|
|
308
268
|
var curIdx = ioVisibleList.findIndex(function (ioVisibleItem) {
|
|
309
269
|
return ioVisibleItem.node === domRef.current;
|
|
310
270
|
});
|
|
311
|
-
|
|
312
271
|
if (curIdx !== -1) {
|
|
313
272
|
ioVisibleList[curIdx].isVisible = false;
|
|
314
273
|
} else {
|
|
@@ -319,32 +278,26 @@
|
|
|
319
278
|
onVisibleChange: onVisibleChange
|
|
320
279
|
});
|
|
321
280
|
}
|
|
322
|
-
|
|
323
281
|
io.current.observe(domRef.current);
|
|
324
282
|
}
|
|
325
283
|
}
|
|
326
|
-
|
|
327
284
|
function ioUnobserve(target) {
|
|
328
285
|
var targetNode = target || domRef.current;
|
|
329
|
-
|
|
330
286
|
if (io.current && targetNode) {
|
|
331
287
|
var curIdx = ioVisibleList.findIndex(function (ioVisibleItem) {
|
|
332
288
|
return ioVisibleItem.node === targetNode;
|
|
333
289
|
});
|
|
334
|
-
|
|
335
290
|
if (curIdx !== -1) {
|
|
336
291
|
ioVisibleList.splice(curIdx, 1);
|
|
337
292
|
}
|
|
338
|
-
|
|
339
293
|
io.current.unobserve(targetNode);
|
|
340
294
|
}
|
|
341
295
|
}
|
|
296
|
+
|
|
342
297
|
/**
|
|
343
298
|
* 非首次下disabled变化时,重新监听元素
|
|
344
299
|
* @en Re-listen to the element when it is not the first time that the disabled status changes,
|
|
345
300
|
*/
|
|
346
|
-
|
|
347
|
-
|
|
348
301
|
(0, _react.useEffect)(function () {
|
|
349
302
|
if (isSupportNativeApi) {
|
|
350
303
|
// 非首次 render 下
|
|
@@ -360,7 +313,6 @@
|
|
|
360
313
|
var isExist = listeners[wrapperKey.current].findIndex(function (item) {
|
|
361
314
|
return item.node === domRef.current;
|
|
362
315
|
});
|
|
363
|
-
|
|
364
316
|
if (isExist !== -1) {
|
|
365
317
|
listeners[wrapperKey.current].splice(0, 1);
|
|
366
318
|
}
|
|
@@ -379,7 +331,6 @@
|
|
|
379
331
|
scrollPort.current = getScrollContainer ? getScrollContainer() : window;
|
|
380
332
|
if (!scrollPort.current) return;
|
|
381
333
|
var wrapperNodeIndex = wrapperNodeList.indexOf(scrollPort.current);
|
|
382
|
-
|
|
383
334
|
if (wrapperNodeIndex === -1) {
|
|
384
335
|
// 当前滚动视口元素不在 wrapperNodeList 中, 入队列
|
|
385
336
|
// @en The current scroll viewport element is not in the wrapperNodeList, push it into the list
|
|
@@ -390,9 +341,7 @@
|
|
|
390
341
|
// @en Take the current index as the key
|
|
391
342
|
wrapperKey.current = wrapperNodeIndex;
|
|
392
343
|
}
|
|
393
|
-
|
|
394
344
|
var curWrapperKey = wrapperKey.current;
|
|
395
|
-
|
|
396
345
|
if (isSupportNativeApi) {
|
|
397
346
|
if (domRef.current) {
|
|
398
347
|
domRefParent.current = (0, _mobileUtils.scrollParent)(domRef.current);
|
|
@@ -401,7 +350,6 @@
|
|
|
401
350
|
var overflowRoot = isHTMLElement ? parent : null;
|
|
402
351
|
var root = overflow ? overflowRoot : scrollPort.current === window ? null : scrollPort.current;
|
|
403
352
|
var rootMargin = '';
|
|
404
|
-
|
|
405
353
|
if (Array.isArray(offset)) {
|
|
406
354
|
if (offset.length === 2) {
|
|
407
355
|
rootMargin = offset[0] + "px 0px " + offset[1] + "px";
|
|
@@ -414,7 +362,6 @@
|
|
|
414
362
|
} else {
|
|
415
363
|
rootMargin = offset + "px";
|
|
416
364
|
}
|
|
417
|
-
|
|
418
365
|
getIOSingleton({
|
|
419
366
|
root: root,
|
|
420
367
|
rootMargin: rootMargin,
|
|
@@ -427,29 +374,25 @@
|
|
|
427
374
|
// @en Callback after throttling
|
|
428
375
|
throttlingVisibleChange = checkVisibleHandler;
|
|
429
376
|
throttle && (throttlingVisibleChange = (0, _lodash.default)(throttlingVisibleChange, throttle));
|
|
430
|
-
|
|
431
377
|
if (overflow) {
|
|
432
378
|
if (domRef.current) {
|
|
433
379
|
domRefParent.current = (0, _mobileUtils.scrollParent)(domRef.current);
|
|
434
380
|
var _parent = domRefParent.current;
|
|
435
|
-
|
|
436
381
|
if (_parent && _parent instanceof HTMLElement && typeof _parent.getAttribute === 'function') {
|
|
437
382
|
var listenerCount = 1 + Number(_parent.getAttribute(LISTEN_FLAG));
|
|
438
|
-
|
|
439
383
|
if (!listeners[curWrapperKey]) {
|
|
440
384
|
listeners[curWrapperKey] = [];
|
|
441
385
|
}
|
|
442
|
-
|
|
443
386
|
if (listenerCount === 1) {
|
|
444
387
|
// listener 数量为1时监听事件(列表中插入 ShowMonitor 时做判断)
|
|
445
388
|
// @en Listen when the number of listeners is 1 (judging when ShowMonitor is inserted into the list)
|
|
446
389
|
_parent.addEventListener('scroll', throttlingVisibleChange);
|
|
447
390
|
}
|
|
448
|
-
|
|
449
391
|
_parent.setAttribute(LISTEN_FLAG, String(listenerCount));
|
|
450
392
|
}
|
|
451
393
|
}
|
|
452
|
-
} else if (!listeners[curWrapperKey] || listeners[curWrapperKey].length === 0 ||
|
|
394
|
+
} else if (!listeners[curWrapperKey] || listeners[curWrapperKey].length === 0 ||
|
|
395
|
+
// 相同curWrapperKey内全部为overflow场景,需要单独注册scroll事件
|
|
453
396
|
// @en It need to register the scroll event separately when all values in the same curWrapperKey are overflow
|
|
454
397
|
listeners[curWrapperKey] && listeners[curWrapperKey].every(function (it) {
|
|
455
398
|
return it.overflow;
|
|
@@ -457,11 +400,9 @@
|
|
|
457
400
|
if (!listeners[curWrapperKey]) {
|
|
458
401
|
listeners[curWrapperKey] = [];
|
|
459
402
|
}
|
|
460
|
-
|
|
461
403
|
listenScroll && scrollPort.current.addEventListener('scroll', throttlingVisibleChange);
|
|
462
404
|
listenResize && scrollPort.current.addEventListener('resize', throttlingVisibleChange);
|
|
463
405
|
}
|
|
464
|
-
|
|
465
406
|
listener.current = {
|
|
466
407
|
node: domRef.current,
|
|
467
408
|
isVisible: false,
|
|
@@ -470,8 +411,8 @@
|
|
|
470
411
|
offset: offset,
|
|
471
412
|
threshold: threshold,
|
|
472
413
|
onVisibleChange: onVisibleChange
|
|
473
|
-
};
|
|
474
|
-
|
|
414
|
+
};
|
|
415
|
+
// 将当前 listener 存入 listeners
|
|
475
416
|
!disabled && listeners[curWrapperKey].push(listener.current);
|
|
476
417
|
(0, _mobileUtils.nextTick)(function () {
|
|
477
418
|
!disabled && _checkVisible(listener.current);
|
|
@@ -485,10 +426,8 @@
|
|
|
485
426
|
} else {
|
|
486
427
|
if (overflow) {
|
|
487
428
|
var parent = domRefParent.current;
|
|
488
|
-
|
|
489
429
|
if (parent && parent instanceof HTMLElement && typeof parent.getAttribute === 'function') {
|
|
490
430
|
var listenerCount = Number(parent.getAttribute(LISTEN_FLAG) || 0) - 1;
|
|
491
|
-
|
|
492
431
|
if (listenerCount === 0) {
|
|
493
432
|
// 如果监听队列中无节点,解绑事件
|
|
494
433
|
// @en If there is no node in the listening queue, unbind the event
|
|
@@ -500,20 +439,17 @@
|
|
|
500
439
|
}
|
|
501
440
|
}
|
|
502
441
|
}
|
|
503
|
-
|
|
504
442
|
var _key2 = wrapperKey.current;
|
|
505
443
|
var curListeners = listeners[_key2];
|
|
506
|
-
|
|
507
444
|
if (curListeners) {
|
|
508
445
|
// 不在监听队列中,移除
|
|
509
446
|
// @en Not in the listening queue, remove it
|
|
510
447
|
var index = curListeners.indexOf(listener.current);
|
|
511
|
-
index !== -1 && curListeners.splice(index, 1);
|
|
448
|
+
index !== -1 && curListeners.splice(index, 1);
|
|
449
|
+
// 监听队列为空,解绑 scroll、resize 事件
|
|
512
450
|
// @en When the listening queue is empty, unbind scroll and resize events
|
|
513
|
-
|
|
514
451
|
if (curListeners.length === 0) {
|
|
515
452
|
delete listeners[_key2];
|
|
516
|
-
|
|
517
453
|
if (scrollPort.current) {
|
|
518
454
|
scrollPort.current.removeEventListener('scroll', throttlingVisibleChange);
|
|
519
455
|
scrollPort.current.removeEventListener('resize', throttlingVisibleChange);
|