@arco-design/mobile-react 2.24.1 → 2.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/README.en-US.md +2 -2
- package/README.md +2 -2
- package/cjs/_helpers/hooks.js +42 -120
- package/cjs/_helpers/index.js +2 -13
- package/cjs/_helpers/react-dom.js +0 -12
- package/cjs/_helpers/render.js +0 -12
- package/cjs/action-sheet/index.js +10 -30
- package/cjs/action-sheet/methods.js +0 -2
- package/cjs/action-sheet/style/css/index.css +1 -1
- package/cjs/action-sheet/style/css/index.js +0 -2
- package/cjs/action-sheet/style/index.js +0 -2
- package/cjs/avatar/group.js +12 -24
- package/cjs/avatar/index.js +51 -77
- package/cjs/avatar/style/css/index.js +0 -2
- package/cjs/avatar/style/index.js +0 -2
- package/cjs/badge/index.js +18 -29
- package/cjs/badge/style/css/index.css +3 -2
- package/cjs/badge/style/css/index.js +0 -1
- package/cjs/badge/style/index.js +0 -1
- package/cjs/button/hooks.js +15 -20
- package/cjs/button/index.js +46 -67
- package/cjs/button/style/css/index.js +0 -2
- package/cjs/button/style/index.js +0 -2
- package/cjs/carousel/demo/style/css/mobile.css +12 -0
- package/cjs/carousel/demo/style/mobile.less +8 -0
- package/cjs/carousel/index.d.ts +1 -1
- package/cjs/carousel/index.js +159 -275
- package/cjs/carousel/style/css/index.js +0 -1
- package/cjs/carousel/style/index.js +0 -1
- package/cjs/cell/arrow.js +0 -3
- package/cjs/cell/cell.js +14 -23
- package/cjs/cell/group.js +9 -21
- package/cjs/cell/index.js +1 -7
- package/cjs/cell/style/css/index.js +0 -1
- package/cjs/cell/style/index.js +0 -1
- package/cjs/checkbox/checkbox.js +31 -57
- package/cjs/checkbox/group.js +24 -38
- package/cjs/checkbox/hooks/index.js +0 -2
- package/cjs/checkbox/hooks/useMergeProps.js +7 -14
- package/cjs/checkbox/index.d.ts +4 -1
- package/cjs/checkbox/index.js +5 -10
- package/cjs/checkbox/style/css/index.js +0 -1
- package/cjs/checkbox/style/index.js +0 -1
- package/cjs/checkbox/type.js +0 -2
- package/cjs/circle-progress/index.js +37 -57
- package/cjs/circle-progress/style/css/index.js +0 -1
- package/cjs/circle-progress/style/index.js +0 -1
- package/cjs/collapse/collapse.js +27 -56
- package/cjs/collapse/group.js +20 -44
- package/cjs/collapse/index.js +0 -9
- package/cjs/collapse/style/css/index.js +0 -1
- package/cjs/collapse/style/index.js +0 -1
- package/cjs/collapse/utils.js +0 -7
- package/cjs/context-provider/index.js +10 -28
- package/cjs/context-provider/style/css/index.js +0 -1
- package/cjs/context-provider/style/index.js +0 -1
- package/cjs/count-down/hooks.js +24 -43
- package/cjs/count-down/index.js +29 -37
- package/cjs/count-down/singleton.js +2 -12
- package/cjs/count-down/style/css/index.js +0 -1
- package/cjs/count-down/style/index.js +0 -1
- package/cjs/count-down/util.js +33 -47
- package/cjs/date-picker/helper.js +7 -14
- package/cjs/date-picker/index.d.ts +3 -2
- package/cjs/date-picker/index.js +52 -114
- package/cjs/date-picker/style/css/index.js +0 -2
- package/cjs/date-picker/style/index.js +0 -2
- package/cjs/dialog/index.js +28 -54
- package/cjs/dialog/methods.js +9 -22
- package/cjs/dialog/style/css/index.css +2 -1
- package/cjs/dialog/style/css/index.js +0 -2
- package/cjs/dialog/style/index.js +0 -2
- package/cjs/dropdown/dropdown.js +74 -113
- package/cjs/dropdown/index.js +1 -8
- package/cjs/dropdown/options.js +12 -28
- package/cjs/dropdown/style/css/index.js +0 -1
- package/cjs/dropdown/style/index.js +0 -1
- package/cjs/dropdown-menu/dropdown-menu.js +49 -84
- package/cjs/dropdown-menu/helper.js +6 -27
- package/cjs/dropdown-menu/index.js +0 -6
- package/cjs/dropdown-menu/style/css/index.js +0 -2
- package/cjs/dropdown-menu/style/index.js +0 -2
- package/cjs/ellipsis/components/js-ellipsis.js +35 -71
- package/cjs/ellipsis/components/native-ellipsis.js +9 -15
- package/cjs/ellipsis/index.js +19 -32
- package/cjs/ellipsis/style/css/index.css +3 -0
- package/cjs/ellipsis/style/css/index.js +0 -1
- package/cjs/ellipsis/style/index.js +0 -1
- package/cjs/ellipsis/style/index.less +4 -0
- package/cjs/ellipsis/utils/dom.js +0 -8
- package/cjs/ellipsis/utils/is.js +1 -5
- package/cjs/form/form-item-context.d.ts +3 -0
- package/cjs/form/form-item-context.js +12 -0
- package/cjs/form/form-item.d.ts +4 -0
- package/cjs/form/form-item.js +313 -0
- package/cjs/form/index.d.ts +16 -0
- package/cjs/form/index.js +96 -0
- package/cjs/form/style/css/index.css +92 -0
- package/cjs/form/style/css/index.d.ts +2 -0
- package/cjs/form/style/css/index.js +4 -0
- package/cjs/form/style/index.d.ts +2 -0
- package/cjs/form/style/index.js +4 -0
- package/cjs/form/style/index.less +91 -0
- package/cjs/form/type.d.ts +371 -0
- package/cjs/form/type.js +30 -0
- package/cjs/form/useForm.d.ts +18 -0
- package/cjs/form/useForm.js +225 -0
- package/cjs/form/utils.d.ts +6 -0
- package/cjs/form/utils.js +36 -0
- package/cjs/grid/index.js +21 -41
- package/cjs/grid/style/css/index.js +0 -1
- package/cjs/grid/style/index.js +0 -1
- package/cjs/icon/IconAdd/index.js +5 -12
- package/cjs/icon/IconArrowBack/index.js +5 -12
- package/cjs/icon/IconArrowDown/index.js +5 -12
- package/cjs/icon/IconArrowIn/index.js +5 -12
- package/cjs/icon/IconArrowUp/index.js +5 -12
- package/cjs/icon/IconCheck/index.js +5 -12
- package/cjs/icon/IconCheckBold/index.js +5 -12
- package/cjs/icon/IconCircleChecked/index.js +5 -12
- package/cjs/icon/IconCircleDisabled/index.js +5 -12
- package/cjs/icon/IconCircleUnchecked/index.js +5 -12
- package/cjs/icon/IconClear/index.js +5 -12
- package/cjs/icon/IconClose/index.js +5 -12
- package/cjs/icon/IconCloseBold/index.js +5 -12
- package/cjs/icon/IconDelete/index.js +5 -12
- package/cjs/icon/IconEdit/index.js +5 -12
- package/cjs/icon/IconErrorCircle/index.js +5 -12
- package/cjs/icon/IconEyeInvisible/index.js +5 -12
- package/cjs/icon/IconEyeVisible/index.js +5 -12
- package/cjs/icon/IconEyelashInvisible/index.js +5 -12
- package/cjs/icon/IconGift/index.js +5 -12
- package/cjs/icon/IconHeart/index.js +5 -12
- package/cjs/icon/IconHome/index.js +5 -12
- package/cjs/icon/IconLikeCircle/index.js +5 -12
- package/cjs/icon/IconMinus/index.js +5 -12
- package/cjs/icon/IconMore/index.js +5 -12
- package/cjs/icon/IconNotice/index.js +5 -12
- package/cjs/icon/IconNoticeOff/index.js +5 -12
- package/cjs/icon/IconPicture/index.js +5 -12
- package/cjs/icon/IconPlay/index.js +5 -12
- package/cjs/icon/IconQuestionCircle/index.js +5 -12
- package/cjs/icon/IconRefresh/index.js +5 -12
- package/cjs/icon/IconSad/index.js +5 -12
- package/cjs/icon/IconScan/index.js +5 -12
- package/cjs/icon/IconSearch/index.js +5 -12
- package/cjs/icon/IconSetting/index.js +5 -12
- package/cjs/icon/IconShop/index.js +5 -12
- package/cjs/icon/IconShopping/index.js +5 -12
- package/cjs/icon/IconSmileFill/index.js +5 -12
- package/cjs/icon/IconSound/index.js +5 -12
- package/cjs/icon/IconSquareChecked/index.js +5 -12
- package/cjs/icon/IconSquareDisabled/index.js +5 -12
- package/cjs/icon/IconSquareUnchecked/index.js +5 -12
- package/cjs/icon/IconStar/index.js +5 -12
- package/cjs/icon/IconStarFill/index.js +5 -12
- package/cjs/icon/IconStarHalf/index.js +5 -12
- package/cjs/icon/IconSubway/index.js +5 -12
- package/cjs/icon/IconSuccessCircle/index.js +5 -12
- package/cjs/icon/IconTriDown/index.js +5 -12
- package/cjs/icon/IconTriUp/index.js +5 -12
- package/cjs/icon/IconUpload/index.js +5 -12
- package/cjs/icon/IconUser/index.js +5 -12
- package/cjs/icon/IconUserFill/index.js +5 -12
- package/cjs/icon/IconWarnCircle/index.js +5 -12
- package/cjs/icon/IconWarnCircleFill/index.js +5 -12
- package/cjs/icon/index.js +0 -111
- package/cjs/image/index.js +53 -92
- package/cjs/image/style/css/index.js +0 -2
- package/cjs/image/style/index.js +0 -2
- package/cjs/image-picker/add-icon.js +0 -3
- package/cjs/image-picker/index.d.ts +3 -2
- package/cjs/image-picker/index.js +62 -103
- package/cjs/image-picker/style/css/index.js +0 -2
- package/cjs/image-picker/style/index.js +0 -2
- package/cjs/image-preview/demo/style/css/mobile.css +10 -0
- package/cjs/image-preview/demo/style/mobile.less +11 -0
- package/cjs/image-preview/index.d.ts +5 -0
- package/cjs/image-preview/index.js +124 -239
- package/cjs/image-preview/methods.js +5 -18
- package/cjs/image-preview/style/css/index.css +1 -0
- package/cjs/image-preview/style/css/index.js +0 -4
- package/cjs/image-preview/style/index.js +0 -4
- package/cjs/image-preview/style/index.less +1 -1
- package/cjs/index.d.ts +7 -6
- package/cjs/index.js +15 -120
- package/cjs/input/hooks.js +42 -75
- package/cjs/input/index.d.ts +3 -2
- package/cjs/input/index.js +36 -47
- package/cjs/input/style/css/index.css +1 -1
- package/cjs/input/style/css/index.js +0 -1
- package/cjs/input/style/index.js +0 -1
- package/cjs/load-more/index.js +29 -56
- package/cjs/load-more/style/css/index.js +0 -1
- package/cjs/load-more/style/index.js +0 -1
- package/cjs/loading/index.js +19 -48
- package/cjs/loading/style/css/index.js +0 -1
- package/cjs/loading/style/index.js +0 -1
- package/cjs/masking/index.js +46 -79
- package/cjs/masking/methods.js +4 -19
- package/cjs/masking/style/css/index.js +0 -2
- package/cjs/masking/style/index.js +0 -2
- package/cjs/nav-bar/back-icon.js +1 -5
- package/cjs/nav-bar/index.js +36 -60
- package/cjs/nav-bar/style/css/index.js +0 -1
- package/cjs/nav-bar/style/index.js +0 -1
- package/cjs/notice-bar/index.js +31 -54
- package/cjs/notice-bar/style/css/index.js +0 -1
- package/cjs/notice-bar/style/index.js +0 -1
- package/cjs/notify/index.d.ts +8 -8
- package/cjs/notify/index.js +20 -49
- package/cjs/notify/methods.js +2 -17
- package/cjs/notify/style/css/index.css +2 -2
- package/cjs/notify/style/css/index.js +0 -1
- package/cjs/notify/style/index.js +0 -1
- package/cjs/pagination/arrow.js +0 -3
- package/cjs/pagination/index.js +27 -58
- package/cjs/pagination/style/css/index.js +0 -1
- package/cjs/pagination/style/index.js +0 -1
- package/cjs/picker/index.d.ts +3 -2
- package/cjs/picker/index.js +50 -89
- package/cjs/picker/style/css/index.js +0 -3
- package/cjs/picker/style/index.js +0 -3
- package/cjs/picker-view/components/cascader.js +14 -31
- package/cjs/picker-view/components/multi-picker.js +6 -20
- package/cjs/picker-view/components/picker-cell.js +45 -97
- package/cjs/picker-view/index.d.ts +3 -2
- package/cjs/picker-view/index.js +36 -77
- package/cjs/picker-view/style/css/index.js +0 -1
- package/cjs/picker-view/style/index.js +0 -1
- package/cjs/popover/hooks/index.js +0 -4
- package/cjs/popover/hooks/useEvent.js +25 -49
- package/cjs/popover/hooks/usePosition.js +94 -151
- package/cjs/popover/index.js +1 -8
- package/cjs/popover/menu.js +32 -51
- package/cjs/popover/popover-inner.js +30 -47
- package/cjs/popover/popover.js +69 -101
- package/cjs/popover/style/css/index.js +0 -2
- package/cjs/popover/style/index.js +0 -2
- package/cjs/popup/index.js +22 -39
- package/cjs/popup/methods.js +0 -2
- package/cjs/popup/style/css/index.js +0 -2
- package/cjs/popup/style/index.js +0 -2
- package/cjs/popup-swiper/index.js +38 -80
- package/cjs/popup-swiper/methods.js +0 -2
- package/cjs/popup-swiper/style/css/index.js +0 -2
- package/cjs/popup-swiper/style/index.js +0 -2
- package/cjs/portal/index.js +3 -8
- package/cjs/portal/style/css/index.js +0 -1
- package/cjs/portal/style/index.js +0 -1
- package/cjs/progress/index.js +27 -44
- package/cjs/progress/style/css/index.js +0 -1
- package/cjs/progress/style/index.js +0 -1
- package/cjs/pull-refresh/android-pull-refresh.js +58 -100
- package/cjs/pull-refresh/hooks.js +11 -32
- package/cjs/pull-refresh/index.d.ts +9 -3
- package/cjs/pull-refresh/index.js +5 -15
- package/cjs/pull-refresh/ios-pull-refresh.js +53 -80
- package/cjs/pull-refresh/model.js +0 -1
- package/cjs/pull-refresh/style/css/index.js +0 -2
- package/cjs/pull-refresh/style/index.js +0 -2
- package/cjs/radio/group.js +20 -34
- package/cjs/radio/index.d.ts +4 -1
- package/cjs/radio/index.js +5 -10
- package/cjs/radio/radio.js +0 -10
- package/cjs/radio/style/css/index.js +0 -1
- package/cjs/radio/style/index.js +0 -1
- package/cjs/rate/index.d.ts +3 -2
- package/cjs/rate/index.js +34 -57
- package/cjs/rate/style/css/index.js +0 -1
- package/cjs/rate/style/index.js +0 -1
- package/cjs/search-bar/association.js +14 -32
- package/cjs/search-bar/cancel-button.js +8 -16
- package/cjs/search-bar/highlight.js +14 -25
- package/cjs/search-bar/index.js +77 -97
- package/cjs/search-bar/style/css/index.js +0 -1
- package/cjs/search-bar/style/index.js +0 -1
- package/cjs/show-monitor/index.js +34 -93
- package/cjs/show-monitor/style/css/index.js +0 -1
- package/cjs/show-monitor/style/index.js +0 -1
- package/cjs/slider/hooks/index.js +0 -13
- package/cjs/slider/hooks/useSliderEvents.js +26 -55
- package/cjs/slider/hooks/useSliderIcon.js +6 -20
- package/cjs/slider/hooks/useSliderInit.js +32 -52
- package/cjs/slider/hooks/useSliderStyle.js +12 -24
- package/cjs/slider/index.d.ts +3 -2
- package/cjs/slider/index.js +56 -80
- package/cjs/slider/marks.js +12 -26
- package/cjs/slider/popover.js +4 -13
- package/cjs/slider/style/css/index.js +0 -2
- package/cjs/slider/style/index.js +0 -2
- package/cjs/slider/thumb.js +8 -23
- package/cjs/stepper/hooks/useButtonClick.js +19 -28
- package/cjs/stepper/hooks/useInputEvent.js +9 -18
- package/cjs/stepper/hooks/useValue.js +9 -14
- package/cjs/stepper/index.d.ts +3 -2
- package/cjs/stepper/index.js +92 -103
- package/cjs/stepper/style/css/index.js +0 -1
- package/cjs/stepper/style/index.js +0 -1
- package/cjs/steps/index.js +22 -40
- package/cjs/steps/step.js +10 -27
- package/cjs/steps/style/css/index.css +2 -2
- package/cjs/steps/style/css/index.js +0 -1
- package/cjs/steps/style/index.js +0 -1
- package/cjs/sticky/index.js +37 -66
- package/cjs/sticky/style/css/index.js +0 -1
- package/cjs/sticky/style/index.js +0 -1
- package/cjs/style.d.ts +7 -6
- package/cjs/style.js +7 -59
- package/cjs/swipe-action/index.js +40 -92
- package/cjs/swipe-action/item.js +9 -17
- package/cjs/swipe-action/style/css/index.js +0 -1
- package/cjs/swipe-action/style/index.js +0 -1
- package/cjs/swipe-load/index.js +55 -83
- package/cjs/swipe-load/style/css/index.js +0 -1
- package/cjs/swipe-load/style/index.js +0 -1
- package/cjs/switch/index.d.ts +3 -2
- package/cjs/switch/index.js +37 -54
- package/cjs/switch/style/css/index.js +0 -1
- package/cjs/switch/style/index.js +0 -1
- package/cjs/tab-bar/index.js +0 -7
- package/cjs/tab-bar/item.js +6 -24
- package/cjs/tab-bar/style/css/index.js +0 -1
- package/cjs/tab-bar/style/index.js +0 -1
- package/cjs/tab-bar/tab-bar.js +15 -31
- package/cjs/tabs/index.js +129 -192
- package/cjs/tabs/style/css/index.js +0 -1
- package/cjs/tabs/style/index.js +0 -1
- package/cjs/tabs/tab-cell-underline.js +25 -64
- package/cjs/tabs/tab-cell.js +66 -108
- package/cjs/tabs/tab-pane.js +49 -94
- package/cjs/tag/index.js +1 -8
- package/cjs/tag/list.js +11 -26
- package/cjs/tag/style/css/index.js +0 -1
- package/cjs/tag/style/index.js +0 -1
- package/cjs/tag/tag.js +20 -32
- package/cjs/textarea/index.d.ts +3 -2
- package/cjs/textarea/index.js +45 -63
- package/cjs/textarea/style/css/index.css +1 -1
- package/cjs/textarea/style/css/index.js +0 -2
- package/cjs/textarea/style/index.js +0 -2
- package/cjs/toast/index.d.ts +12 -12
- package/cjs/toast/index.js +26 -61
- package/cjs/toast/methods.js +2 -16
- package/cjs/toast/style/css/index.js +0 -3
- package/cjs/toast/style/index.js +0 -3
- package/cjs/transition/index.js +10 -18
- package/cjs/transition/style/css/index.js +0 -1
- package/cjs/transition/style/index.js +0 -1
- package/dist/index.js +21033 -20542
- package/dist/index.min.js +12 -3
- package/dist/style.css +826 -740
- package/dist/style.min.css +1 -1
- package/esm/_helpers/hooks.js +41 -99
- package/esm/_helpers/index.js +2 -3
- package/esm/_helpers/react-dom.js +0 -10
- package/esm/_helpers/render.js +0 -7
- package/esm/action-sheet/index.js +10 -16
- package/esm/action-sheet/style/css/index.css +1 -1
- package/esm/avatar/group.js +12 -16
- package/esm/avatar/index.js +51 -62
- package/esm/badge/index.js +18 -22
- package/esm/badge/style/css/index.css +3 -2
- package/esm/button/hooks.js +15 -18
- package/esm/button/index.js +46 -57
- package/esm/carousel/demo/style/css/mobile.css +12 -0
- package/esm/carousel/demo/style/mobile.less +8 -0
- package/esm/carousel/index.d.ts +1 -1
- package/esm/carousel/index.js +159 -267
- package/esm/cell/cell.js +14 -14
- package/esm/cell/group.js +9 -11
- package/esm/cell/index.js +1 -1
- package/esm/checkbox/checkbox.js +31 -42
- package/esm/checkbox/group.js +24 -28
- package/esm/checkbox/hooks/useMergeProps.js +7 -9
- package/esm/checkbox/index.d.ts +4 -1
- package/esm/checkbox/index.js +5 -3
- package/esm/checkbox/type.js +0 -1
- package/esm/circle-progress/index.js +37 -49
- package/esm/collapse/collapse.js +27 -46
- package/esm/collapse/group.js +20 -34
- package/esm/collapse/index.js +1 -1
- package/esm/collapse/utils.js +0 -1
- package/esm/context-provider/index.js +10 -18
- package/esm/count-down/hooks.js +24 -37
- package/esm/count-down/index.js +30 -29
- package/esm/count-down/singleton.js +2 -5
- package/esm/count-down/util.js +33 -42
- package/esm/date-picker/helper.js +7 -9
- package/esm/date-picker/index.d.ts +3 -2
- package/esm/date-picker/index.js +53 -103
- package/esm/dialog/index.js +28 -39
- package/esm/dialog/methods.js +9 -11
- package/esm/dialog/style/css/index.css +2 -1
- package/esm/dropdown/dropdown.js +74 -102
- package/esm/dropdown/index.js +1 -1
- package/esm/dropdown/options.js +12 -20
- package/esm/dropdown-menu/dropdown-menu.js +49 -74
- package/esm/dropdown-menu/helper.js +6 -16
- package/esm/dropdown-menu/index.js +1 -1
- package/esm/ellipsis/components/js-ellipsis.js +35 -62
- package/esm/ellipsis/components/native-ellipsis.js +9 -11
- package/esm/ellipsis/index.js +20 -21
- package/esm/ellipsis/style/css/index.css +3 -0
- package/esm/ellipsis/style/index.less +4 -0
- package/esm/ellipsis/utils/dom.js +0 -7
- package/esm/ellipsis/utils/is.js +1 -1
- package/esm/form/form-item-context.d.ts +3 -0
- package/esm/form/form-item-context.js +6 -0
- package/esm/form/form-item.d.ts +4 -0
- package/esm/form/form-item.js +306 -0
- package/esm/form/index.d.ts +16 -0
- package/esm/form/index.js +79 -0
- package/esm/form/style/css/index.css +92 -0
- package/esm/form/style/css/index.d.ts +2 -0
- package/esm/form/style/css/index.js +2 -0
- package/esm/form/style/index.d.ts +2 -0
- package/esm/form/style/index.js +2 -0
- package/esm/form/style/index.less +91 -0
- package/esm/form/type.d.ts +371 -0
- package/esm/form/type.js +24 -0
- package/esm/form/useForm.d.ts +18 -0
- package/esm/form/useForm.js +217 -0
- package/esm/form/utils.d.ts +6 -0
- package/esm/form/utils.js +30 -0
- package/esm/grid/index.js +21 -34
- package/esm/icon/IconAdd/index.js +5 -6
- package/esm/icon/IconArrowBack/index.js +5 -6
- package/esm/icon/IconArrowDown/index.js +5 -6
- package/esm/icon/IconArrowIn/index.js +5 -6
- package/esm/icon/IconArrowUp/index.js +5 -6
- package/esm/icon/IconCheck/index.js +5 -6
- package/esm/icon/IconCheckBold/index.js +5 -6
- package/esm/icon/IconCircleChecked/index.js +5 -6
- package/esm/icon/IconCircleDisabled/index.js +5 -6
- package/esm/icon/IconCircleUnchecked/index.js +5 -6
- package/esm/icon/IconClear/index.js +5 -6
- package/esm/icon/IconClose/index.js +5 -6
- package/esm/icon/IconCloseBold/index.js +5 -6
- package/esm/icon/IconDelete/index.js +5 -6
- package/esm/icon/IconEdit/index.js +5 -6
- package/esm/icon/IconErrorCircle/index.js +5 -6
- package/esm/icon/IconEyeInvisible/index.js +5 -6
- package/esm/icon/IconEyeVisible/index.js +5 -6
- package/esm/icon/IconEyelashInvisible/index.js +5 -6
- package/esm/icon/IconGift/index.js +5 -6
- package/esm/icon/IconHeart/index.js +5 -6
- package/esm/icon/IconHome/index.js +5 -6
- package/esm/icon/IconLikeCircle/index.js +5 -6
- package/esm/icon/IconMinus/index.js +5 -6
- package/esm/icon/IconMore/index.js +5 -6
- package/esm/icon/IconNotice/index.js +5 -6
- package/esm/icon/IconNoticeOff/index.js +5 -6
- package/esm/icon/IconPicture/index.js +5 -6
- package/esm/icon/IconPlay/index.js +5 -6
- package/esm/icon/IconQuestionCircle/index.js +5 -6
- package/esm/icon/IconRefresh/index.js +5 -6
- package/esm/icon/IconSad/index.js +5 -6
- package/esm/icon/IconScan/index.js +5 -6
- package/esm/icon/IconSearch/index.js +5 -6
- package/esm/icon/IconSetting/index.js +5 -6
- package/esm/icon/IconShop/index.js +5 -6
- package/esm/icon/IconShopping/index.js +5 -6
- package/esm/icon/IconSmileFill/index.js +5 -6
- package/esm/icon/IconSound/index.js +5 -6
- package/esm/icon/IconSquareChecked/index.js +5 -6
- package/esm/icon/IconSquareDisabled/index.js +5 -6
- package/esm/icon/IconSquareUnchecked/index.js +5 -6
- package/esm/icon/IconStar/index.js +5 -6
- package/esm/icon/IconStarFill/index.js +5 -6
- package/esm/icon/IconStarHalf/index.js +5 -6
- package/esm/icon/IconSubway/index.js +5 -6
- package/esm/icon/IconSuccessCircle/index.js +5 -6
- package/esm/icon/IconTriDown/index.js +5 -6
- package/esm/icon/IconTriUp/index.js +5 -6
- package/esm/icon/IconUpload/index.js +5 -6
- package/esm/icon/IconUser/index.js +5 -6
- package/esm/icon/IconUserFill/index.js +5 -6
- package/esm/icon/IconWarnCircle/index.js +5 -6
- package/esm/icon/IconWarnCircleFill/index.js +5 -6
- package/esm/image/index.js +53 -83
- package/esm/image-picker/index.d.ts +3 -2
- package/esm/image-picker/index.js +63 -90
- package/esm/image-preview/demo/style/css/mobile.css +10 -0
- package/esm/image-preview/demo/style/mobile.less +11 -0
- package/esm/image-preview/index.d.ts +5 -0
- package/esm/image-preview/index.js +124 -218
- package/esm/image-preview/methods.js +4 -14
- package/esm/image-preview/style/css/index.css +1 -0
- package/esm/image-preview/style/index.less +1 -1
- package/esm/index.d.ts +7 -6
- package/esm/index.js +7 -6
- package/esm/input/hooks.js +42 -67
- package/esm/input/index.d.ts +3 -2
- package/esm/input/index.js +37 -40
- package/esm/input/style/css/index.css +1 -1
- package/esm/load-more/index.js +29 -48
- package/esm/loading/index.js +19 -40
- package/esm/masking/index.js +46 -64
- package/esm/masking/methods.js +4 -15
- package/esm/nav-bar/back-icon.js +1 -3
- package/esm/nav-bar/index.js +36 -51
- package/esm/notice-bar/index.js +31 -47
- package/esm/notify/index.d.ts +8 -8
- package/esm/notify/index.js +20 -33
- package/esm/notify/methods.js +2 -13
- package/esm/notify/style/css/index.css +2 -2
- package/esm/pagination/index.js +27 -50
- package/esm/picker/index.d.ts +3 -2
- package/esm/picker/index.js +51 -76
- package/esm/picker-view/components/cascader.js +14 -23
- package/esm/picker-view/components/multi-picker.js +6 -16
- package/esm/picker-view/components/picker-cell.js +45 -89
- package/esm/picker-view/index.d.ts +3 -2
- package/esm/picker-view/index.js +36 -63
- package/esm/popover/hooks/useEvent.js +26 -41
- package/esm/popover/hooks/usePosition.js +94 -144
- package/esm/popover/index.js +2 -2
- package/esm/popover/menu.js +32 -41
- package/esm/popover/popover-inner.js +30 -38
- package/esm/popover/popover.js +69 -90
- package/esm/popup/index.js +22 -25
- package/esm/popup-swiper/index.js +38 -64
- package/esm/portal/index.js +3 -5
- package/esm/progress/index.js +27 -36
- package/esm/pull-refresh/android-pull-refresh.js +58 -90
- package/esm/pull-refresh/hooks.js +11 -23
- package/esm/pull-refresh/index.d.ts +9 -3
- package/esm/pull-refresh/index.js +5 -6
- package/esm/pull-refresh/ios-pull-refresh.js +53 -68
- package/esm/pull-refresh/model.js +0 -1
- package/esm/radio/group.js +20 -24
- package/esm/radio/index.d.ts +4 -1
- package/esm/radio/index.js +5 -3
- package/esm/rate/index.d.ts +3 -2
- package/esm/rate/index.js +35 -49
- package/esm/search-bar/association.js +14 -27
- package/esm/search-bar/cancel-button.js +8 -11
- package/esm/search-bar/highlight.js +14 -20
- package/esm/search-bar/index.js +77 -86
- package/esm/show-monitor/index.js +34 -85
- package/esm/slider/hooks/useSliderEvents.js +26 -51
- package/esm/slider/hooks/useSliderIcon.js +6 -13
- package/esm/slider/hooks/useSliderInit.js +32 -46
- package/esm/slider/hooks/useSliderStyle.js +12 -20
- package/esm/slider/index.d.ts +3 -2
- package/esm/slider/index.js +57 -72
- package/esm/slider/marks.js +12 -18
- package/esm/slider/popover.js +4 -6
- package/esm/slider/thumb.js +8 -15
- package/esm/stepper/hooks/useButtonClick.js +19 -27
- package/esm/stepper/hooks/useInputEvent.js +9 -16
- package/esm/stepper/hooks/useValue.js +9 -12
- package/esm/stepper/index.d.ts +3 -2
- package/esm/stepper/index.js +93 -92
- package/esm/steps/index.js +22 -27
- package/esm/steps/step.js +10 -19
- package/esm/steps/style/css/index.css +2 -2
- package/esm/sticky/index.js +37 -57
- package/esm/style.d.ts +7 -6
- package/esm/style.js +7 -6
- package/esm/swipe-action/index.js +40 -80
- package/esm/swipe-action/item.js +9 -12
- package/esm/swipe-load/index.js +56 -75
- package/esm/switch/index.d.ts +3 -2
- package/esm/switch/index.js +38 -49
- package/esm/tab-bar/index.js +0 -1
- package/esm/tab-bar/item.js +6 -13
- package/esm/tab-bar/tab-bar.js +15 -21
- package/esm/tabs/index.js +130 -180
- package/esm/tabs/tab-cell-underline.js +25 -56
- package/esm/tabs/tab-cell.js +66 -98
- package/esm/tabs/tab-pane.js +49 -85
- package/esm/tag/index.js +2 -2
- package/esm/tag/list.js +11 -16
- package/esm/tag/tag.js +20 -22
- package/esm/textarea/index.d.ts +3 -2
- package/esm/textarea/index.js +46 -56
- package/esm/textarea/style/css/index.css +1 -1
- package/esm/toast/index.d.ts +12 -12
- package/esm/toast/index.js +26 -42
- package/esm/toast/methods.js +2 -12
- package/esm/transition/index.js +10 -12
- package/package.json +3 -4
- package/style/css/public.css +1 -0
- package/tokens/app/arcodesign/default/css-variables.less +17 -7
- package/tokens/app/arcodesign/default/index.d.ts +10 -0
- package/tokens/app/arcodesign/default/index.js +18 -10
- package/tokens/app/arcodesign/default/index.json +139 -23
- package/tokens/app/arcodesign/default/index.less +17 -7
- package/umd/_helpers/hooks.js +42 -117
- package/umd/_helpers/index.js +2 -6
- package/umd/_helpers/react-dom.js +0 -11
- package/umd/_helpers/render.js +0 -9
- package/umd/action-sheet/index.js +10 -22
- package/umd/action-sheet/methods.js +0 -1
- package/umd/action-sheet/style/css/index.css +1 -1
- package/umd/avatar/group.js +12 -20
- package/umd/avatar/index.js +51 -68
- package/umd/badge/index.js +18 -25
- package/umd/badge/style/css/index.css +3 -2
- package/umd/button/hooks.js +15 -19
- package/umd/button/index.js +46 -60
- package/umd/carousel/demo/style/css/mobile.css +12 -0
- package/umd/carousel/demo/style/mobile.less +8 -0
- package/umd/carousel/index.d.ts +1 -1
- package/umd/carousel/index.js +159 -270
- package/umd/cell/arrow.js +0 -2
- package/umd/cell/cell.js +14 -18
- package/umd/cell/group.js +9 -17
- package/umd/cell/index.js +1 -2
- package/umd/checkbox/checkbox.js +31 -45
- package/umd/checkbox/group.js +24 -34
- package/umd/checkbox/hooks/useMergeProps.js +7 -12
- package/umd/checkbox/index.d.ts +4 -1
- package/umd/checkbox/index.js +5 -5
- package/umd/checkbox/type.js +0 -2
- package/umd/circle-progress/index.js +37 -52
- package/umd/collapse/collapse.js +27 -50
- package/umd/collapse/group.js +20 -38
- package/umd/collapse/index.js +0 -3
- package/umd/collapse/utils.js +0 -5
- package/umd/context-provider/index.js +10 -23
- package/umd/count-down/hooks.js +24 -39
- package/umd/count-down/index.js +29 -31
- package/umd/count-down/singleton.js +2 -10
- package/umd/count-down/util.js +33 -47
- package/umd/date-picker/helper.js +7 -13
- package/umd/date-picker/index.d.ts +3 -2
- package/umd/date-picker/index.js +52 -105
- package/umd/dialog/index.js +28 -44
- package/umd/dialog/methods.js +9 -18
- package/umd/dialog/style/css/index.css +2 -1
- package/umd/dropdown/dropdown.js +74 -106
- package/umd/dropdown/index.js +1 -3
- package/umd/dropdown/options.js +12 -24
- package/umd/dropdown-menu/dropdown-menu.js +49 -78
- package/umd/dropdown-menu/helper.js +6 -25
- package/umd/dropdown-menu/index.js +0 -2
- package/umd/ellipsis/components/js-ellipsis.js +35 -68
- package/umd/ellipsis/components/native-ellipsis.js +9 -13
- package/umd/ellipsis/index.js +19 -24
- package/umd/ellipsis/style/css/index.css +3 -0
- package/umd/ellipsis/style/index.less +4 -0
- package/umd/ellipsis/utils/dom.js +0 -8
- package/umd/ellipsis/utils/is.js +1 -5
- package/umd/form/form-item-context.d.ts +3 -0
- package/umd/form/form-item-context.js +25 -0
- package/umd/form/form-item.d.ts +4 -0
- package/umd/form/form-item.js +322 -0
- package/umd/form/index.d.ts +16 -0
- package/umd/form/index.js +106 -0
- package/umd/form/style/css/index.css +92 -0
- package/umd/form/style/css/index.d.ts +2 -0
- package/umd/form/style/css/index.js +15 -0
- package/umd/form/style/index.d.ts +2 -0
- package/umd/form/style/index.js +15 -0
- package/umd/form/style/index.less +91 -0
- package/umd/form/type.d.ts +371 -0
- package/umd/form/type.js +44 -0
- package/umd/form/useForm.d.ts +18 -0
- package/umd/form/useForm.js +238 -0
- package/umd/form/utils.d.ts +6 -0
- package/umd/form/utils.js +50 -0
- package/umd/grid/index.js +21 -37
- package/umd/icon/IconAdd/index.js +5 -7
- package/umd/icon/IconArrowBack/index.js +5 -7
- package/umd/icon/IconArrowDown/index.js +5 -7
- package/umd/icon/IconArrowIn/index.js +5 -7
- package/umd/icon/IconArrowUp/index.js +5 -7
- package/umd/icon/IconCheck/index.js +5 -7
- package/umd/icon/IconCheckBold/index.js +5 -7
- package/umd/icon/IconCircleChecked/index.js +5 -7
- package/umd/icon/IconCircleDisabled/index.js +5 -7
- package/umd/icon/IconCircleUnchecked/index.js +5 -7
- package/umd/icon/IconClear/index.js +5 -7
- package/umd/icon/IconClose/index.js +5 -7
- package/umd/icon/IconCloseBold/index.js +5 -7
- package/umd/icon/IconDelete/index.js +5 -7
- package/umd/icon/IconEdit/index.js +5 -7
- package/umd/icon/IconErrorCircle/index.js +5 -7
- package/umd/icon/IconEyeInvisible/index.js +5 -7
- package/umd/icon/IconEyeVisible/index.js +5 -7
- package/umd/icon/IconEyelashInvisible/index.js +5 -7
- package/umd/icon/IconGift/index.js +5 -7
- package/umd/icon/IconHeart/index.js +5 -7
- package/umd/icon/IconHome/index.js +5 -7
- package/umd/icon/IconLikeCircle/index.js +5 -7
- package/umd/icon/IconMinus/index.js +5 -7
- package/umd/icon/IconMore/index.js +5 -7
- package/umd/icon/IconNotice/index.js +5 -7
- package/umd/icon/IconNoticeOff/index.js +5 -7
- package/umd/icon/IconPicture/index.js +5 -7
- package/umd/icon/IconPlay/index.js +5 -7
- package/umd/icon/IconQuestionCircle/index.js +5 -7
- package/umd/icon/IconRefresh/index.js +5 -7
- package/umd/icon/IconSad/index.js +5 -7
- package/umd/icon/IconScan/index.js +5 -7
- package/umd/icon/IconSearch/index.js +5 -7
- package/umd/icon/IconSetting/index.js +5 -7
- package/umd/icon/IconShop/index.js +5 -7
- package/umd/icon/IconShopping/index.js +5 -7
- package/umd/icon/IconSmileFill/index.js +5 -7
- package/umd/icon/IconSound/index.js +5 -7
- package/umd/icon/IconSquareChecked/index.js +5 -7
- package/umd/icon/IconSquareDisabled/index.js +5 -7
- package/umd/icon/IconSquareUnchecked/index.js +5 -7
- package/umd/icon/IconStar/index.js +5 -7
- package/umd/icon/IconStarFill/index.js +5 -7
- package/umd/icon/IconStarHalf/index.js +5 -7
- package/umd/icon/IconSubway/index.js +5 -7
- package/umd/icon/IconSuccessCircle/index.js +5 -7
- package/umd/icon/IconTriDown/index.js +5 -7
- package/umd/icon/IconTriUp/index.js +5 -7
- package/umd/icon/IconUpload/index.js +5 -7
- package/umd/icon/IconUser/index.js +5 -7
- package/umd/icon/IconUserFill/index.js +5 -7
- package/umd/icon/IconWarnCircle/index.js +5 -7
- package/umd/icon/IconWarnCircleFill/index.js +5 -7
- package/umd/icon/index.js +0 -1
- package/umd/image/index.js +53 -86
- package/umd/image-picker/add-icon.js +0 -2
- package/umd/image-picker/index.d.ts +3 -2
- package/umd/image-picker/index.js +62 -92
- package/umd/image-preview/demo/style/css/mobile.css +10 -0
- package/umd/image-preview/demo/style/mobile.less +11 -0
- package/umd/image-preview/index.d.ts +5 -0
- package/umd/image-preview/index.js +124 -224
- package/umd/image-preview/methods.js +5 -15
- package/umd/image-preview/style/css/index.css +1 -0
- package/umd/image-preview/style/index.less +1 -1
- package/umd/index.d.ts +7 -6
- package/umd/index.js +19 -18
- package/umd/input/hooks.js +42 -71
- package/umd/input/index.d.ts +3 -2
- package/umd/input/index.js +36 -42
- package/umd/input/style/css/index.css +1 -1
- package/umd/load-more/index.js +29 -51
- package/umd/loading/index.js +19 -43
- package/umd/masking/index.js +46 -71
- package/umd/masking/methods.js +4 -16
- package/umd/nav-bar/back-icon.js +1 -4
- package/umd/nav-bar/index.js +36 -54
- package/umd/notice-bar/index.js +31 -50
- package/umd/notify/index.d.ts +8 -8
- package/umd/notify/index.js +20 -40
- package/umd/notify/methods.js +2 -14
- package/umd/notify/style/css/index.css +2 -2
- package/umd/pagination/arrow.js +0 -2
- package/umd/pagination/index.js +27 -53
- package/umd/picker/index.d.ts +3 -2
- package/umd/picker/index.js +50 -78
- package/umd/picker-view/components/cascader.js +14 -27
- package/umd/picker-view/components/multi-picker.js +6 -19
- package/umd/picker-view/components/picker-cell.js +45 -93
- package/umd/picker-view/index.d.ts +3 -2
- package/umd/picker-view/index.js +39 -69
- package/umd/popover/hooks/useEvent.js +25 -44
- package/umd/popover/hooks/usePosition.js +94 -145
- package/umd/popover/index.js +1 -3
- package/umd/popover/menu.js +32 -45
- package/umd/popover/popover-inner.js +30 -42
- package/umd/popover/popover.js +69 -94
- package/umd/popup/index.js +22 -31
- package/umd/popup/methods.js +0 -1
- package/umd/popup-swiper/index.js +38 -71
- package/umd/popup-swiper/methods.js +0 -1
- package/umd/portal/index.js +3 -6
- package/umd/progress/index.js +27 -39
- package/umd/pull-refresh/android-pull-refresh.js +58 -93
- package/umd/pull-refresh/hooks.js +11 -29
- package/umd/pull-refresh/index.d.ts +9 -3
- package/umd/pull-refresh/index.js +5 -8
- package/umd/pull-refresh/ios-pull-refresh.js +53 -72
- package/umd/pull-refresh/model.js +0 -1
- package/umd/radio/group.js +20 -30
- package/umd/radio/index.d.ts +4 -1
- package/umd/radio/index.js +5 -5
- package/umd/radio/radio.js +0 -5
- package/umd/rate/index.d.ts +3 -2
- package/umd/rate/index.js +34 -51
- package/umd/search-bar/association.js +14 -29
- package/umd/search-bar/cancel-button.js +8 -14
- package/umd/search-bar/highlight.js +14 -21
- package/umd/search-bar/index.js +77 -87
- package/umd/show-monitor/index.js +34 -89
- package/umd/slider/hooks/index.js +0 -4
- package/umd/slider/hooks/useSliderEvents.js +26 -52
- package/umd/slider/hooks/useSliderIcon.js +6 -17
- package/umd/slider/hooks/useSliderInit.js +32 -50
- package/umd/slider/hooks/useSliderStyle.js +12 -22
- package/umd/slider/index.d.ts +3 -2
- package/umd/slider/index.js +56 -73
- package/umd/slider/marks.js +12 -21
- package/umd/slider/popover.js +4 -10
- package/umd/slider/thumb.js +8 -18
- package/umd/stepper/hooks/useButtonClick.js +19 -27
- package/umd/stepper/hooks/useInputEvent.js +9 -17
- package/umd/stepper/hooks/useValue.js +9 -13
- package/umd/stepper/index.d.ts +3 -2
- package/umd/stepper/index.js +92 -94
- package/umd/steps/index.js +22 -32
- package/umd/steps/step.js +10 -22
- package/umd/steps/style/css/index.css +2 -2
- package/umd/sticky/index.js +37 -60
- package/umd/style.d.ts +7 -6
- package/umd/style.js +4 -4
- package/umd/swipe-action/index.js +40 -84
- package/umd/swipe-action/item.js +9 -14
- package/umd/swipe-load/index.js +55 -77
- package/umd/switch/index.d.ts +3 -2
- package/umd/switch/index.js +37 -50
- package/umd/tab-bar/index.js +0 -2
- package/umd/tab-bar/item.js +6 -19
- package/umd/tab-bar/tab-bar.js +15 -26
- package/umd/tabs/index.js +129 -183
- package/umd/tabs/tab-cell-underline.js +25 -60
- package/umd/tabs/tab-cell.js +66 -103
- package/umd/tabs/tab-pane.js +49 -89
- package/umd/tag/index.js +1 -3
- package/umd/tag/list.js +11 -20
- package/umd/tag/tag.js +20 -26
- package/umd/textarea/index.d.ts +3 -2
- package/umd/textarea/index.js +45 -58
- package/umd/textarea/style/css/index.css +1 -1
- package/umd/toast/index.d.ts +12 -12
- package/umd/toast/index.js +26 -49
- package/umd/toast/methods.js +2 -13
- package/umd/transition/index.js +10 -12
package/umd/search-bar/index.js
CHANGED
@@ -14,18 +14,14 @@
|
|
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
|
_extends2 = _interopRequireDefault(_extends2);
|
21
20
|
_objectWithoutPropertiesLoose2 = _interopRequireDefault(_objectWithoutPropertiesLoose2);
|
22
21
|
_react = _interopRequireWildcard(_react);
|
23
22
|
var _excluded = ["inputClass", "inputStyle", "type", "nativeProps", "id", "name", "maxLength", "placeholder", "readOnly", "onKeyUp", "onKeyPress", "disabled", "pattern", "prefix", "append", "textAlign", "actionButton", "clearable", "clearShowType", "shape", "className", "enableAssociation", "associationVisible", "associationShowType", "associationItems", "highlightClassName", "highlightMode", "highlightStyle", "onCancel", "onAssociationClick", "onAssociationItemClick", "renderAssociation", "renderAssociationItem"];
|
24
|
-
|
25
23
|
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); }
|
26
|
-
|
27
24
|
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; }
|
28
|
-
|
29
25
|
/**
|
30
26
|
* 搜索栏组件
|
31
27
|
* @en SearchBar component
|
@@ -36,72 +32,70 @@
|
|
36
32
|
*/
|
37
33
|
var SearchBar = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
38
34
|
var _useContext = (0, _react.useContext)(_contextProvider.GlobalContext),
|
39
|
-
|
40
|
-
|
41
|
-
|
35
|
+
prefixCls = _useContext.prefixCls,
|
36
|
+
locale = _useContext.locale;
|
42
37
|
var searchBarPrefixCls = prefixCls + "-search-bar";
|
43
38
|
var inputClass = props.inputClass,
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
39
|
+
inputStyle = props.inputStyle,
|
40
|
+
_props$type = props.type,
|
41
|
+
type = _props$type === void 0 ? 'search' : _props$type,
|
42
|
+
nativeProps = props.nativeProps,
|
43
|
+
id = props.id,
|
44
|
+
name = props.name,
|
45
|
+
maxLength = props.maxLength,
|
46
|
+
_props$placeholder = props.placeholder,
|
47
|
+
placeholder = _props$placeholder === void 0 ? locale == null ? void 0 : locale.SearchBar.placeholder : _props$placeholder,
|
48
|
+
readOnly = props.readOnly,
|
49
|
+
onKeyUp = props.onKeyUp,
|
50
|
+
onKeyPress = props.onKeyPress,
|
51
|
+
disabled = props.disabled,
|
52
|
+
pattern = props.pattern,
|
53
|
+
_props$prefix = props.prefix,
|
54
|
+
prefix = _props$prefix === void 0 ? /*#__PURE__*/_react.default.createElement(_icon.IconSearch, {
|
55
|
+
className: searchBarPrefixCls + "-search-icon"
|
56
|
+
}) : _props$prefix,
|
57
|
+
append = props.append,
|
58
|
+
_props$textAlign = props.textAlign,
|
59
|
+
textAlign = _props$textAlign === void 0 ? 'left' : _props$textAlign,
|
60
|
+
actionButton = props.actionButton,
|
61
|
+
_props$clearable = props.clearable,
|
62
|
+
clearable = _props$clearable === void 0 ? true : _props$clearable,
|
63
|
+
_props$clearShowType = props.clearShowType,
|
64
|
+
clearShowType = _props$clearShowType === void 0 ? 'value' : _props$clearShowType,
|
65
|
+
_props$shape = props.shape,
|
66
|
+
shape = _props$shape === void 0 ? 'square' : _props$shape,
|
67
|
+
className = props.className,
|
68
|
+
_props$enableAssociat = props.enableAssociation,
|
69
|
+
enableAssociation = _props$enableAssociat === void 0 ? false : _props$enableAssociat,
|
70
|
+
associationVisible = props.associationVisible,
|
71
|
+
_props$associationSho = props.associationShowType,
|
72
|
+
associationShowType = _props$associationSho === void 0 ? 'default' : _props$associationSho,
|
73
|
+
associationItems = props.associationItems,
|
74
|
+
highlightClassName = props.highlightClassName,
|
75
|
+
highlightMode = props.highlightMode,
|
76
|
+
highlightStyle = props.highlightStyle,
|
77
|
+
onCancel = props.onCancel,
|
78
|
+
onAssociationClick = props.onAssociationClick,
|
79
|
+
onAssociationItemClick = props.onAssociationItemClick,
|
80
|
+
renderAssociation = props.renderAssociation,
|
81
|
+
renderAssociationItem = props.renderAssociationItem,
|
82
|
+
inputProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
88
83
|
var inputRef = (0, _react.useRef)(null);
|
84
|
+
|
89
85
|
/**
|
90
86
|
* 格式化搜索输入框尾部要插入的内容
|
91
87
|
* @en Format the content to be inserted at the end of the search input box
|
92
88
|
*/
|
93
|
-
|
94
89
|
var formatAppendProp = function formatAppendProp(focusing, currentInputValue) {
|
95
90
|
var appendNode = null;
|
96
|
-
|
97
91
|
if (typeof append === 'function') {
|
98
92
|
appendNode = append(focusing, currentInputValue);
|
99
93
|
} else {
|
100
94
|
appendNode = append;
|
101
|
-
}
|
102
|
-
// @en By default inserts a cancelBtn on activation or when there is content
|
103
|
-
|
95
|
+
}
|
104
96
|
|
97
|
+
// 默认情况下,在激活时或有内容时插入一个cancelBtn
|
98
|
+
// @en By default inserts a cancelBtn on activation or when there is content
|
105
99
|
var formatActionButton = typeof actionButton === 'undefined' ? /*#__PURE__*/_react.default.createElement(_cancelButton.CancelButton, {
|
106
100
|
focusing: focusing,
|
107
101
|
currentInputValue: currentInputValue,
|
@@ -111,7 +105,8 @@
|
|
111
105
|
}) : actionButton;
|
112
106
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, appendNode, formatActionButton, enableAssociation ? /*#__PURE__*/_react.default.createElement(_association.SearchBarAssociation, {
|
113
107
|
prefixCls: searchBarPrefixCls,
|
114
|
-
keyword: currentInputValue
|
108
|
+
keyword: currentInputValue
|
109
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
115
110
|
,
|
116
111
|
visible: actualVisible,
|
117
112
|
associationItems: associationItems,
|
@@ -124,30 +119,27 @@
|
|
124
119
|
renderAssociationItem: renderAssociationItem
|
125
120
|
}) : null);
|
126
121
|
};
|
127
|
-
|
128
122
|
var _useInputLogic = (0, _hooks.useInputLogic)((0, _extends2.default)({
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
123
|
+
className: (0, _mobileUtils.cls)(className, searchBarPrefixCls + "-" + shape),
|
124
|
+
prefix: prefix,
|
125
|
+
clearable: clearable,
|
126
|
+
append: formatAppendProp,
|
127
|
+
clearShowType: clearShowType
|
128
|
+
}, inputProps), inputRef),
|
129
|
+
inputValue = _useInputLogic.inputValue,
|
130
|
+
handleChange = _useInputLogic.handleChange,
|
131
|
+
handleInput = _useInputLogic.handleInput,
|
132
|
+
handleKeyDown = _useInputLogic.handleKeyDown,
|
133
|
+
handleFocus = _useInputLogic.handleFocus,
|
134
|
+
handleBlur = _useInputLogic.handleBlur,
|
135
|
+
handleClick = _useInputLogic.handleClick,
|
136
|
+
renderWrapper = _useInputLogic.renderWrapper,
|
137
|
+
wrapRef = _useInputLogic.wrapRef;
|
145
138
|
var _useState = (0, _react.useState)(associationShowType === 'always' || (associationShowType === 'value' || associationShowType === 'default') && Boolean(inputValue)),
|
146
|
-
|
147
|
-
|
139
|
+
visible = _useState[0],
|
140
|
+
setVisible = _useState[1];
|
141
|
+
// 真实的控制搜索联想框显隐,受控模式优先生效
|
148
142
|
// @en Control the display and hide of the search association box, and the controlled mode takes effect first
|
149
|
-
|
150
|
-
|
151
143
|
var actualVisible = associationVisible != null ? associationVisible : visible;
|
152
144
|
(0, _react.useImperativeHandle)(ref, function () {
|
153
145
|
return {
|
@@ -158,6 +150,7 @@
|
|
158
150
|
}
|
159
151
|
};
|
160
152
|
});
|
153
|
+
|
161
154
|
/**
|
162
155
|
* 处理非受控逻辑下,搜索联想框的显隐状态
|
163
156
|
* @en Handle the display state of the search association box under uncontrolled logic
|
@@ -165,38 +158,36 @@
|
|
165
158
|
* @param {boolean} newVisible 新的visible
|
166
159
|
* @param {string} newValue 新的输入框值
|
167
160
|
*/
|
168
|
-
|
169
161
|
var formatSetAssociationVisible = function formatSetAssociationVisible(newVisible, newValue) {
|
170
162
|
if (associationShowType === 'always') {
|
171
|
-
setVisible(true);
|
163
|
+
setVisible(true);
|
164
|
+
// 聚焦模式下,直接把visible和newVisible对齐即可
|
172
165
|
// @en In focus mode, just align visible and newVisible directly
|
173
166
|
} else if (associationShowType === 'focus') {
|
174
|
-
setVisible(newVisible);
|
167
|
+
setVisible(newVisible);
|
168
|
+
// 聚焦 + 有值模式下,需要newVisible为true和newValue.length > 0同时满足
|
175
169
|
// @en In focus + valued mode, newVisible is required to be true and newValue.length > 0 to be satisfied at the same time
|
176
170
|
} else if (associationShowType === 'default') {
|
177
|
-
setVisible(newVisible && Boolean(newValue));
|
171
|
+
setVisible(newVisible && Boolean(newValue));
|
172
|
+
// 仅有值模式下,visible需要newValue.length > 0
|
178
173
|
// @en In value-only mode, visible requires newValue.length > 0
|
179
174
|
} else if (associationShowType === 'value') {
|
180
175
|
setVisible(Boolean(newValue));
|
181
176
|
}
|
182
177
|
};
|
183
|
-
|
184
178
|
var handleInputFocus = function handleInputFocus(e) {
|
185
179
|
formatSetAssociationVisible(true, e.target.value);
|
186
180
|
handleFocus(e);
|
187
181
|
};
|
188
|
-
|
189
182
|
var handleInputBlur = function handleInputBlur(e) {
|
190
183
|
formatSetAssociationVisible(false, e.target.value);
|
191
184
|
handleBlur(e);
|
192
185
|
};
|
193
|
-
|
194
186
|
var handleInputChange = function handleInputChange(e) {
|
195
187
|
var newValue = e.target.value;
|
196
188
|
formatSetAssociationVisible(Boolean(newValue), newValue);
|
197
189
|
handleChange(e);
|
198
190
|
};
|
199
|
-
|
200
191
|
var renderSearchBar = function renderSearchBar() {
|
201
192
|
return renderWrapper(searchBarPrefixCls, type, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({}, nativeProps, {
|
202
193
|
id: id,
|
@@ -221,7 +212,6 @@
|
|
221
212
|
onClick: handleClick
|
222
213
|
})));
|
223
214
|
};
|
224
|
-
|
225
215
|
return /*#__PURE__*/_react.default.createElement(_contextProvider.ContextLayout, null, renderSearchBar);
|
226
216
|
});
|
227
217
|
var _default = SearchBar;
|
@@ -14,31 +14,26 @@
|
|
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
|
var throttlingVisibleChange;
|
36
|
+
|
42
37
|
/**
|
43
38
|
* 通过滚动事件监测 children 是否进入视口或离开视口。
|
44
39
|
* @en Use scroll events to monitor whether children enter or leave the viewport.
|
@@ -47,67 +42,60 @@
|
|
47
42
|
* @name 滚动视口监听
|
48
43
|
* @name_en ShowMonitor
|
49
44
|
*/
|
50
|
-
|
51
45
|
var ShowMonitor = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
52
46
|
var className = props.className,
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
47
|
+
style = props.style,
|
48
|
+
getScrollContainer = props.getScrollContainer,
|
49
|
+
_props$throttle = props.throttle,
|
50
|
+
throttle = _props$throttle === void 0 ? 300 : _props$throttle,
|
51
|
+
_props$listenResize = props.listenResize,
|
52
|
+
listenResize = _props$listenResize === void 0 ? true : _props$listenResize,
|
53
|
+
_props$listenScroll = props.listenScroll,
|
54
|
+
listenScroll = _props$listenScroll === void 0 ? true : _props$listenScroll,
|
55
|
+
_props$overflow = props.overflow,
|
56
|
+
overflow = _props$overflow === void 0 ? false : _props$overflow,
|
57
|
+
_props$offset = props.offset,
|
58
|
+
offset = _props$offset === void 0 ? 0 : _props$offset,
|
59
|
+
_props$threshold = props.threshold,
|
60
|
+
threshold = _props$threshold === void 0 ? 0 : _props$threshold,
|
61
|
+
_props$once = props.once,
|
62
|
+
once = _props$once === void 0 ? false : _props$once,
|
63
|
+
_props$children = props.children,
|
64
|
+
children = _props$children === void 0 ? null : _props$children,
|
65
|
+
_props$disabled = props.disabled,
|
66
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
67
|
+
onVisibleChange = props.onVisibleChange,
|
68
|
+
onClick = props.onClick;
|
75
69
|
var domRef = (0, _react.useRef)(null);
|
76
70
|
/**
|
77
71
|
* 滚动容器父级元素
|
78
72
|
* @en Scroll container parent element
|
79
73
|
*/
|
80
|
-
|
81
74
|
var scrollPort = (0, _react.useRef)(null);
|
82
75
|
/**
|
83
76
|
* 局部滚动元素父节点
|
84
77
|
* @en Parent node of the local scroll element
|
85
78
|
*/
|
86
|
-
|
87
79
|
var domRefParent = (0, _react.useRef)(null);
|
88
80
|
/**
|
89
81
|
* 当前元素是否在可视区域内
|
90
82
|
* @en Whether the current element is in the visible area
|
91
83
|
*/
|
92
|
-
|
93
84
|
var isVisible = (0, _react.useRef)(false);
|
94
85
|
/**
|
95
86
|
* 保存当前节点信息,类似于 class component 中 this
|
96
87
|
* @en Save current node information, similar to this in class component
|
97
88
|
*/
|
98
|
-
|
99
89
|
var listener = (0, _react.useRef)(null);
|
100
90
|
/**
|
101
91
|
* Intersection Observer 实例化对象
|
102
92
|
* @en Instantiated object of Intersection Observer
|
103
93
|
*/
|
104
|
-
|
105
94
|
var io = (0, _react.useRef)(null);
|
106
95
|
/**
|
107
96
|
* 父容器唯一 key(wrapperNodeList index)
|
108
97
|
* @en The unique key of the parent container (wrapperNodeList index)
|
109
98
|
*/
|
110
|
-
|
111
99
|
var wrapperKey = (0, _react.useRef)(-1);
|
112
100
|
var isChildrenExist = (0, _react.useRef)(Boolean(children));
|
113
101
|
var isSupportNativeApi = (0, _react.useMemo)(function () {
|
@@ -117,7 +105,6 @@
|
|
117
105
|
(0, _react.useImperativeHandle)(ref, function () {
|
118
106
|
return {
|
119
107
|
dom: domRef.current,
|
120
|
-
|
121
108
|
/**
|
122
109
|
* 提供检查元素是否可见的api
|
123
110
|
* @en Provides an api to check whether the element is visible
|
@@ -131,70 +118,58 @@
|
|
131
118
|
threshold: threshold
|
132
119
|
}, true);
|
133
120
|
},
|
134
|
-
|
135
121
|
/**
|
136
122
|
* 重置元素初始可见态为false,并重新对元素可见度发起检测,优先级低于disabled(通常用在对ShowMonitor内部元素变化时发起的重新监听)
|
137
123
|
* @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)
|
138
124
|
*/
|
139
125
|
flushVisibleStatus: function flushVisibleStatus() {
|
140
126
|
isVisible.current = false;
|
141
|
-
|
142
127
|
if (isSupportNativeApi && io.current && domRef.current) {
|
143
128
|
disabled ? io.current.unobserve(domRef.current) : io.current.observe(domRef.current);
|
144
129
|
} else if (listener.current) {
|
145
130
|
var _key = wrapperKey.current;
|
146
|
-
|
147
131
|
if (once && onOnceEmittedListeners != null && onOnceEmittedListeners[_key]) {
|
148
132
|
onOnceEmittedListeners[_key] = onOnceEmittedListeners[_key].filter(function (emitListener) {
|
149
133
|
return emitListener !== listener.current;
|
150
134
|
});
|
151
135
|
}
|
152
|
-
|
153
136
|
if (!disabled && !listeners[_key].find(function (_listener) {
|
154
137
|
return _listener === listener.current;
|
155
138
|
})) {
|
156
139
|
listeners[_key].push(listener.current);
|
157
140
|
}
|
158
|
-
|
159
141
|
!disabled && _checkVisible(listener.current);
|
160
142
|
}
|
161
143
|
}
|
162
144
|
};
|
163
145
|
});
|
164
|
-
|
165
146
|
function _checkVisible(component, ignoreCheckPreVisibleStatus) {
|
166
147
|
if (ignoreCheckPreVisibleStatus === void 0) {
|
167
148
|
ignoreCheckPreVisibleStatus = false;
|
168
149
|
}
|
169
|
-
|
170
150
|
var node = component.node,
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
151
|
+
compOverflow = component.overflow,
|
152
|
+
compOnce = component.once,
|
153
|
+
onCompVisibleChange = component.onVisibleChange,
|
154
|
+
preVisible = component.isVisible;
|
176
155
|
if (!(node instanceof HTMLElement)) {
|
177
156
|
return;
|
178
157
|
}
|
179
|
-
|
180
158
|
var parent = (0, _mobileUtils.scrollParent)(node);
|
181
159
|
/**
|
182
160
|
* 当前元素为非 document 元素,即为局部滚动
|
183
161
|
* @en If the current element is a non-document element, it's local scrolling
|
184
162
|
*/
|
185
|
-
|
186
163
|
var isOverflow = compOverflow && [node.ownerDocument, document, document.documentElement].indexOf(parent) === -1;
|
187
164
|
/**
|
188
165
|
* 检查元素是否可见
|
189
166
|
* @en Check if element is visible
|
190
167
|
*/
|
191
|
-
|
192
168
|
var curVisible = isOverflow ? (0, _mobileUtils.checkOverflowVisible)(component, parent) : (0, _mobileUtils.checkNormalVisible)(component);
|
193
169
|
/**
|
194
170
|
* 忽略前后可见状态判断
|
195
171
|
* @en Ignore the visible state judgment before and after
|
196
172
|
*/
|
197
|
-
|
198
173
|
if (ignoreCheckPreVisibleStatus) {
|
199
174
|
return curVisible;
|
200
175
|
}
|
@@ -202,15 +177,12 @@
|
|
202
177
|
* 当前元素 visible 对比之前发生改变,触发回调函数
|
203
178
|
* @en The current element visible is changed before the comparison, and the callback function is triggered
|
204
179
|
*/
|
205
|
-
|
206
|
-
|
207
180
|
curVisible !== preVisible.current && handleCheckChildrenExist() && onCompVisibleChange(curVisible, node);
|
208
181
|
var key = wrapperKey.current;
|
209
182
|
/**
|
210
183
|
* 监听一次后加入 pendingList 队列,随后被 listeners 过滤掉
|
211
184
|
* @en After listening once, it is added to the pendingList queue, and then filtered out by listeners
|
212
185
|
*/
|
213
|
-
|
214
186
|
if (!onOnceEmittedListeners[key]) {
|
215
187
|
onOnceEmittedListeners[key] = [];
|
216
188
|
}
|
@@ -218,12 +190,9 @@
|
|
218
190
|
* 当前元素不可见 -> 可见,且 once, 触发回调函数
|
219
191
|
* @en The current element is invisible -> visible, and once, triggers the callback function
|
220
192
|
*/
|
221
|
-
|
222
|
-
|
223
193
|
curVisible && !preVisible.current && compOnce && onOnceEmittedListeners[key].push(component);
|
224
194
|
preVisible.current = curVisible;
|
225
195
|
}
|
226
|
-
|
227
196
|
var checkVisibleHandler = (0, _react.useCallback)(function () {
|
228
197
|
var key = wrapperKey.current;
|
229
198
|
var curListeners = listeners[key] || [];
|
@@ -235,35 +204,29 @@
|
|
235
204
|
});
|
236
205
|
onOnceEmittedListeners[key] = [];
|
237
206
|
}, []);
|
238
|
-
|
239
207
|
function handleCheckChildrenExist() {
|
240
208
|
return isChildrenExist.current && domRef.current && domRef.current.children.length;
|
241
209
|
}
|
242
|
-
|
243
210
|
function handleObserverStatusChange(entries) {
|
244
211
|
var _io$current;
|
245
|
-
|
246
212
|
var isIntersecting = entries[0].isIntersecting;
|
247
213
|
/**
|
248
214
|
* 当前元素 visible 对比之前发生改变,触发回调函数
|
249
215
|
* @en Callback when the visible status of current element changes before the comparison
|
250
216
|
*/
|
251
|
-
|
252
217
|
isIntersecting !== isVisible.current && handleCheckChildrenExist() && onVisibleChange(isIntersecting, domRef.current);
|
253
218
|
/**
|
254
219
|
* 当前元素不可见 -> 可见,且 once, 触发回调函数
|
255
220
|
* @en The current element is invisible -> visible, and once, triggers the callback
|
256
221
|
*/
|
257
|
-
|
258
222
|
isIntersecting && !isVisible.current && once && domRef.current && ((_io$current = io.current) == null ? void 0 : _io$current.unobserve(domRef.current));
|
259
223
|
isVisible.current = isIntersecting;
|
260
224
|
}
|
225
|
+
|
261
226
|
/**
|
262
227
|
* 非首次下disabled变化时,重新监听元素
|
263
228
|
* @en Re-listen to the element when it is not the first time that the disabled status changes,
|
264
229
|
*/
|
265
|
-
|
266
|
-
|
267
230
|
(0, _react.useEffect)(function () {
|
268
231
|
if (isSupportNativeApi) {
|
269
232
|
// 非首次下
|
@@ -282,7 +245,6 @@
|
|
282
245
|
var isExist = listeners[wrapperKey.current].findIndex(function (item) {
|
283
246
|
return item.node === domRef.current;
|
284
247
|
});
|
285
|
-
|
286
248
|
if (isExist !== -1) {
|
287
249
|
listeners[wrapperKey.current].splice(0, 1);
|
288
250
|
}
|
@@ -301,7 +263,6 @@
|
|
301
263
|
scrollPort.current = getScrollContainer ? getScrollContainer() : window;
|
302
264
|
if (!scrollPort.current) return;
|
303
265
|
var wrapperNodeIndex = wrapperNodeList.indexOf(scrollPort.current);
|
304
|
-
|
305
266
|
if (wrapperNodeIndex === -1) {
|
306
267
|
// 当前滚动视口元素不在 wrapperNodeList 中, 入队列
|
307
268
|
// @en The current scroll viewport element is not in the wrapperNodeList, push it into the list
|
@@ -312,9 +273,7 @@
|
|
312
273
|
// @en Take the current index as the key
|
313
274
|
wrapperKey.current = wrapperNodeIndex;
|
314
275
|
}
|
315
|
-
|
316
276
|
var curWrapperKey = wrapperKey.current;
|
317
|
-
|
318
277
|
if (isSupportNativeApi) {
|
319
278
|
if (domRef.current) {
|
320
279
|
domRefParent.current = (0, _mobileUtils.scrollParent)(domRef.current);
|
@@ -323,7 +282,6 @@
|
|
323
282
|
var overflowRoot = isHTMLElement ? parent : null;
|
324
283
|
var root = overflow ? overflowRoot : scrollPort.current === window ? null : scrollPort.current;
|
325
284
|
var rootMargin = '';
|
326
|
-
|
327
285
|
if (Array.isArray(offset)) {
|
328
286
|
if (offset.length === 2) {
|
329
287
|
rootMargin = offset[0] + "px 0px " + offset[1] + "px";
|
@@ -336,7 +294,6 @@
|
|
336
294
|
} else {
|
337
295
|
rootMargin = offset + "px";
|
338
296
|
}
|
339
|
-
|
340
297
|
io.current = new IntersectionObserver(handleObserverStatusChange, {
|
341
298
|
root: root,
|
342
299
|
rootMargin: rootMargin,
|
@@ -349,29 +306,25 @@
|
|
349
306
|
// @en Callback after throttling
|
350
307
|
throttlingVisibleChange = checkVisibleHandler;
|
351
308
|
throttle && (throttlingVisibleChange = (0, _lodash.default)(throttlingVisibleChange, throttle));
|
352
|
-
|
353
309
|
if (overflow) {
|
354
310
|
if (domRef.current) {
|
355
311
|
domRefParent.current = (0, _mobileUtils.scrollParent)(domRef.current);
|
356
312
|
var _parent = domRefParent.current;
|
357
|
-
|
358
313
|
if (_parent && _parent instanceof HTMLElement && typeof _parent.getAttribute === 'function') {
|
359
314
|
var listenerCount = 1 + Number(_parent.getAttribute(LISTEN_FLAG));
|
360
|
-
|
361
315
|
if (!listeners[curWrapperKey]) {
|
362
316
|
listeners[curWrapperKey] = [];
|
363
317
|
}
|
364
|
-
|
365
318
|
if (listenerCount === 1) {
|
366
319
|
// listener 数量为1时监听事件(列表中插入 ShowMonitor 时做判断)
|
367
320
|
// @en Listen when the number of listeners is 1 (judging when ShowMonitor is inserted into the list)
|
368
321
|
_parent.addEventListener('scroll', throttlingVisibleChange);
|
369
322
|
}
|
370
|
-
|
371
323
|
_parent.setAttribute(LISTEN_FLAG, String(listenerCount));
|
372
324
|
}
|
373
325
|
}
|
374
|
-
} else if (!listeners[curWrapperKey] || listeners[curWrapperKey].length === 0 ||
|
326
|
+
} else if (!listeners[curWrapperKey] || listeners[curWrapperKey].length === 0 ||
|
327
|
+
// 相同curWrapperKey内全部为overflow场景,需要单独注册scroll事件
|
375
328
|
// @en It need to register the scroll event separately when all values in the same curWrapperKey are overflow
|
376
329
|
listeners[curWrapperKey] && listeners[curWrapperKey].every(function (it) {
|
377
330
|
return it.overflow;
|
@@ -379,11 +332,9 @@
|
|
379
332
|
if (!listeners[curWrapperKey]) {
|
380
333
|
listeners[curWrapperKey] = [];
|
381
334
|
}
|
382
|
-
|
383
335
|
listenScroll && scrollPort.current.addEventListener('scroll', throttlingVisibleChange);
|
384
336
|
listenResize && scrollPort.current.addEventListener('resize', throttlingVisibleChange);
|
385
337
|
}
|
386
|
-
|
387
338
|
listener.current = {
|
388
339
|
node: domRef.current,
|
389
340
|
isVisible: isVisible,
|
@@ -392,8 +343,8 @@
|
|
392
343
|
offset: offset,
|
393
344
|
threshold: threshold,
|
394
345
|
onVisibleChange: onVisibleChange
|
395
|
-
};
|
396
|
-
|
346
|
+
};
|
347
|
+
// 将当前 listener 存入 listeners
|
397
348
|
!disabled && listeners[curWrapperKey].push(listener.current);
|
398
349
|
(0, _mobileUtils.nextTick)(function () {
|
399
350
|
!disabled && _checkVisible(listener.current);
|
@@ -404,15 +355,12 @@
|
|
404
355
|
return function () {
|
405
356
|
if (isSupportNativeApi) {
|
406
357
|
var _io$current2;
|
407
|
-
|
408
358
|
domRef.current && ((_io$current2 = io.current) == null ? void 0 : _io$current2.unobserve(domRef.current));
|
409
359
|
} else {
|
410
360
|
if (overflow) {
|
411
361
|
var parent = domRefParent.current;
|
412
|
-
|
413
362
|
if (parent && parent instanceof HTMLElement && typeof parent.getAttribute === 'function') {
|
414
363
|
var listenerCount = Number(parent.getAttribute(LISTEN_FLAG) || 0) - 1;
|
415
|
-
|
416
364
|
if (listenerCount === 0) {
|
417
365
|
// 如果监听队列中无节点,解绑事件
|
418
366
|
// @en If there is no node in the listening queue, unbind the event
|
@@ -424,20 +372,17 @@
|
|
424
372
|
}
|
425
373
|
}
|
426
374
|
}
|
427
|
-
|
428
375
|
var _key2 = wrapperKey.current;
|
429
376
|
var curListeners = listeners[_key2];
|
430
|
-
|
431
377
|
if (curListeners) {
|
432
378
|
// 不在监听队列中,移除
|
433
379
|
// @en Not in the listening queue, remove it
|
434
380
|
var index = curListeners.indexOf(listener.current);
|
435
|
-
index !== -1 && curListeners.splice(index, 1);
|
381
|
+
index !== -1 && curListeners.splice(index, 1);
|
382
|
+
// 监听队列为空,解绑 scroll、resize 事件
|
436
383
|
// @en When the listening queue is empty, unbind scroll and resize events
|
437
|
-
|
438
384
|
if (curListeners.length === 0) {
|
439
385
|
delete listeners[_key2];
|
440
|
-
|
441
386
|
if (scrollPort.current) {
|
442
387
|
scrollPort.current.removeEventListener('scroll', throttlingVisibleChange);
|
443
388
|
scrollPort.current.removeEventListener('resize', throttlingVisibleChange);
|