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