@arco-design/mobile-react 2.38.4 → 2.39.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/README.en-US.md +2 -2
- package/README.md +2 -2
- package/cjs/_helpers/hooks.js +59 -141
- package/cjs/_helpers/index.js +2 -18
- package/cjs/_helpers/react-dom.js +0 -14
- package/cjs/_helpers/render.js +5 -21
- package/cjs/action-sheet/index.js +10 -30
- package/cjs/action-sheet/methods.js +0 -2
- package/cjs/action-sheet/style/css/index.js +0 -2
- package/cjs/action-sheet/style/index.js +0 -2
- package/cjs/avatar/group.js +12 -24
- package/cjs/avatar/index.js +53 -79
- package/cjs/avatar/style/css/index.js +0 -2
- package/cjs/avatar/style/index.js +0 -2
- package/cjs/badge/index.js +18 -29
- package/cjs/badge/style/css/index.js +0 -1
- package/cjs/badge/style/index.js +0 -1
- package/cjs/button/hooks.js +15 -20
- package/cjs/button/index.js +46 -67
- package/cjs/button/style/css/index.js +0 -2
- package/cjs/button/style/index.js +0 -2
- package/cjs/carousel/index.js +153 -288
- package/cjs/carousel/style/css/index.js +0 -1
- package/cjs/carousel/style/index.js +0 -1
- package/cjs/cell/arrow.js +0 -3
- package/cjs/cell/cell.js +18 -34
- package/cjs/cell/group.js +9 -21
- package/cjs/cell/index.js +1 -7
- package/cjs/cell/style/css/index.js +0 -1
- package/cjs/cell/style/index.js +0 -1
- package/cjs/checkbox/checkbox.js +31 -57
- package/cjs/checkbox/group.js +24 -38
- package/cjs/checkbox/hooks/index.js +0 -2
- package/cjs/checkbox/hooks/useMergeProps.js +7 -14
- package/cjs/checkbox/index.js +1 -8
- package/cjs/checkbox/style/css/index.js +0 -1
- package/cjs/checkbox/style/index.js +0 -1
- package/cjs/checkbox/type.js +0 -2
- package/cjs/circle-progress/index.js +37 -57
- package/cjs/circle-progress/style/css/index.js +0 -1
- package/cjs/circle-progress/style/index.js +0 -1
- package/cjs/collapse/collapse.js +30 -61
- package/cjs/collapse/group.js +20 -44
- package/cjs/collapse/index.js +0 -9
- package/cjs/collapse/style/css/index.js +0 -1
- package/cjs/collapse/style/index.js +0 -1
- package/cjs/collapse/utils.js +0 -7
- package/cjs/context-provider/index.js +18 -43
- package/cjs/context-provider/style/css/index.js +0 -1
- package/cjs/context-provider/style/index.js +0 -1
- package/cjs/count-down/hooks.js +24 -43
- package/cjs/count-down/index.js +29 -37
- package/cjs/count-down/singleton.js +2 -12
- package/cjs/count-down/style/css/index.js +0 -1
- package/cjs/count-down/style/index.js +0 -1
- package/cjs/count-down/util.js +33 -47
- package/cjs/date-picker/helper.js +7 -14
- package/cjs/date-picker/index.js +66 -167
- package/cjs/date-picker/style/css/index.js +0 -2
- package/cjs/date-picker/style/index.js +0 -2
- package/cjs/dialog/index.js +31 -57
- package/cjs/dialog/methods.js +9 -22
- package/cjs/dialog/style/css/index.js +0 -2
- package/cjs/dialog/style/index.js +0 -2
- package/cjs/divider/index.js +8 -20
- package/cjs/divider/style/css/index.js +0 -1
- package/cjs/divider/style/index.js +0 -1
- package/cjs/dropdown/dropdown.js +74 -113
- package/cjs/dropdown/index.js +1 -8
- package/cjs/dropdown/options.js +12 -28
- package/cjs/dropdown/style/css/index.js +0 -1
- package/cjs/dropdown/style/index.js +0 -1
- package/cjs/dropdown-menu/dropdown-menu.js +49 -84
- package/cjs/dropdown-menu/helper.js +4 -24
- package/cjs/dropdown-menu/index.js +0 -6
- package/cjs/dropdown-menu/style/css/index.js +0 -2
- package/cjs/dropdown-menu/style/index.js +0 -2
- package/cjs/ellipsis/components/js-ellipsis.js +32 -70
- package/cjs/ellipsis/components/native-ellipsis.js +9 -14
- package/cjs/ellipsis/index.js +19 -32
- package/cjs/ellipsis/style/css/index.js +0 -1
- package/cjs/ellipsis/style/index.js +0 -1
- package/cjs/ellipsis/utils/dom.js +0 -8
- package/cjs/ellipsis/utils/is.js +1 -5
- package/cjs/form/form-item-context.js +0 -5
- package/cjs/form/form-item.js +74 -163
- package/cjs/form/index.js +18 -38
- package/cjs/form/linked-container.js +5 -24
- package/cjs/form/style/css/index.js +0 -1
- package/cjs/form/style/index.js +0 -1
- package/cjs/form/type.d.ts +11 -1
- package/cjs/form/type.js +0 -5
- package/cjs/form/useForm.js +10 -79
- package/cjs/form/utils.js +4 -22
- package/cjs/grid/index.js +22 -45
- package/cjs/grid/style/css/index.js +0 -1
- package/cjs/grid/style/index.js +0 -1
- package/cjs/icon/IconAdd/index.js +5 -12
- package/cjs/icon/IconArrowBack/index.js +5 -12
- package/cjs/icon/IconArrowDown/index.js +5 -12
- package/cjs/icon/IconArrowIn/index.js +5 -12
- package/cjs/icon/IconArrowUp/index.js +5 -12
- package/cjs/icon/IconCheck/index.js +5 -12
- package/cjs/icon/IconCheckBold/index.js +5 -12
- package/cjs/icon/IconCircleChecked/index.js +5 -12
- package/cjs/icon/IconCircleDisabled/index.js +5 -12
- package/cjs/icon/IconCircleUnchecked/index.js +5 -12
- package/cjs/icon/IconClear/index.js +5 -12
- package/cjs/icon/IconClose/index.js +5 -12
- package/cjs/icon/IconCloseBold/index.js +5 -12
- package/cjs/icon/IconDelete/index.js +5 -12
- package/cjs/icon/IconDownload/index.js +5 -12
- package/cjs/icon/IconEdit/index.js +5 -12
- package/cjs/icon/IconErrorCircle/index.js +5 -12
- package/cjs/icon/IconEyeInvisible/index.js +5 -12
- package/cjs/icon/IconEyeVisible/index.js +5 -12
- package/cjs/icon/IconEyelashInvisible/index.js +5 -12
- package/cjs/icon/IconFile/index.js +5 -12
- package/cjs/icon/IconGift/index.js +5 -12
- package/cjs/icon/IconHeart/index.js +5 -12
- package/cjs/icon/IconHome/index.js +5 -12
- package/cjs/icon/IconKeyboard/index.js +5 -12
- package/cjs/icon/IconKeyboardDelete/index.js +5 -12
- package/cjs/icon/IconLikeCircle/index.js +5 -12
- package/cjs/icon/IconMinus/index.js +5 -12
- package/cjs/icon/IconMore/index.js +5 -12
- package/cjs/icon/IconNotice/index.js +5 -12
- package/cjs/icon/IconNoticeOff/index.js +5 -12
- package/cjs/icon/IconPicture/index.js +5 -12
- package/cjs/icon/IconPlay/index.js +5 -12
- package/cjs/icon/IconQuestionCircle/index.js +5 -12
- package/cjs/icon/IconRefresh/index.js +5 -12
- package/cjs/icon/IconSad/index.js +5 -12
- package/cjs/icon/IconScan/index.js +5 -12
- package/cjs/icon/IconSearch/index.js +5 -12
- package/cjs/icon/IconSetting/index.js +5 -12
- package/cjs/icon/IconShop/index.js +5 -12
- package/cjs/icon/IconShopping/index.js +5 -12
- package/cjs/icon/IconSmileFill/index.js +5 -12
- package/cjs/icon/IconSound/index.js +5 -12
- package/cjs/icon/IconSquareChecked/index.js +5 -12
- package/cjs/icon/IconSquareDisabled/index.js +5 -12
- package/cjs/icon/IconSquareUnchecked/index.js +5 -12
- package/cjs/icon/IconStar/index.js +5 -12
- package/cjs/icon/IconStarFill/index.js +5 -12
- package/cjs/icon/IconStarHalf/index.js +5 -12
- package/cjs/icon/IconSubway/index.js +5 -12
- package/cjs/icon/IconSuccessCircle/index.js +5 -12
- package/cjs/icon/IconTriDown/index.js +5 -12
- package/cjs/icon/IconTriUp/index.js +5 -12
- package/cjs/icon/IconUpload/index.js +5 -12
- package/cjs/icon/IconUser/index.js +5 -12
- package/cjs/icon/IconUserFill/index.js +5 -12
- package/cjs/icon/IconWarnCircle/index.js +5 -12
- package/cjs/icon/IconWarnCircleFill/index.js +5 -12
- package/cjs/icon/index.js +0 -119
- package/cjs/image/index.js +53 -94
- package/cjs/image/style/css/index.js +0 -2
- package/cjs/image/style/index.js +0 -2
- package/cjs/image-picker/add-icon.js +0 -3
- package/cjs/image-picker/index.js +32 -59
- package/cjs/image-picker/style/css/index.js +0 -3
- package/cjs/image-picker/style/index.js +0 -3
- package/cjs/image-preview/index.js +129 -254
- package/cjs/image-preview/methods.js +5 -18
- package/cjs/image-preview/style/css/index.js +0 -4
- package/cjs/image-preview/style/index.js +0 -4
- package/cjs/index-bar/context.js +0 -2
- package/cjs/index-bar/group.js +16 -35
- package/cjs/index-bar/index.js +55 -87
- package/cjs/index-bar/side-bar.js +15 -34
- package/cjs/index-bar/style/css/index.js +0 -2
- package/cjs/index-bar/style/index.js +0 -2
- package/cjs/index-bar/utils.js +3 -17
- package/cjs/index.js +0 -119
- package/cjs/input/hooks.js +45 -84
- package/cjs/input/index.js +26 -40
- package/cjs/input/style/css/index.js +0 -1
- package/cjs/input/style/index.js +0 -1
- package/cjs/keyboard/index.js +37 -73
- package/cjs/keyboard/style/css/index.js +0 -2
- package/cjs/keyboard/style/index.js +0 -2
- package/cjs/load-more/index.js +33 -65
- package/cjs/load-more/style/css/index.js +0 -1
- package/cjs/load-more/style/index.js +0 -1
- package/cjs/loading/index.js +19 -48
- package/cjs/loading/style/css/index.js +0 -1
- package/cjs/loading/style/index.js +0 -1
- package/cjs/masking/index.js +47 -80
- package/cjs/masking/methods.js +5 -21
- package/cjs/masking/style/css/index.js +0 -2
- package/cjs/masking/style/index.js +0 -2
- package/cjs/nav-bar/back-icon.js +2 -8
- package/cjs/nav-bar/index.js +37 -61
- package/cjs/nav-bar/style/css/index.js +0 -1
- package/cjs/nav-bar/style/index.js +0 -1
- package/cjs/notice-bar/index.js +34 -60
- package/cjs/notice-bar/style/css/index.js +0 -1
- package/cjs/notice-bar/style/index.js +0 -1
- package/cjs/notify/index.js +20 -49
- package/cjs/notify/methods.js +2 -17
- package/cjs/notify/style/css/index.js +0 -1
- package/cjs/notify/style/index.js +0 -1
- package/cjs/pagination/arrow.js +0 -3
- package/cjs/pagination/index.js +27 -58
- package/cjs/pagination/style/css/index.js +0 -1
- package/cjs/pagination/style/index.js +0 -1
- package/cjs/picker/index.js +48 -84
- package/cjs/picker/style/css/index.js +0 -3
- package/cjs/picker/style/index.js +0 -3
- package/cjs/picker-view/components/cascader.js +13 -32
- package/cjs/picker-view/components/multi-picker.js +8 -17
- package/cjs/picker-view/components/picker-cell.js +45 -101
- package/cjs/picker-view/index.js +30 -76
- package/cjs/picker-view/style/css/index.js +0 -1
- package/cjs/picker-view/style/index.js +0 -1
- package/cjs/popover/hooks/index.js +0 -4
- package/cjs/popover/hooks/useEvent.js +25 -49
- package/cjs/popover/hooks/usePosition.js +100 -159
- package/cjs/popover/index.js +1 -8
- package/cjs/popover/menu.js +32 -52
- package/cjs/popover/popover-inner.js +30 -48
- package/cjs/popover/popover.js +69 -101
- package/cjs/popover/style/css/index.js +0 -2
- package/cjs/popover/style/index.js +0 -2
- package/cjs/popup/index.js +22 -39
- package/cjs/popup/methods.js +0 -2
- package/cjs/popup/style/css/index.js +0 -2
- package/cjs/popup/style/index.js +0 -2
- package/cjs/popup-swiper/index.js +50 -92
- package/cjs/popup-swiper/methods.js +0 -2
- package/cjs/popup-swiper/style/css/index.js +0 -2
- package/cjs/popup-swiper/style/index.js +0 -2
- package/cjs/portal/index.js +3 -8
- package/cjs/portal/style/css/index.js +0 -1
- package/cjs/portal/style/index.js +0 -1
- package/cjs/progress/index.js +27 -44
- package/cjs/progress/style/css/index.js +0 -1
- package/cjs/progress/style/index.js +0 -1
- package/cjs/pull-refresh/android-pull-refresh.js +56 -95
- package/cjs/pull-refresh/hooks.js +11 -32
- package/cjs/pull-refresh/index.js +3 -14
- package/cjs/pull-refresh/ios-pull-refresh.js +53 -81
- package/cjs/pull-refresh/model.js +0 -1
- package/cjs/pull-refresh/style/css/index.js +0 -2
- package/cjs/pull-refresh/style/index.js +0 -2
- package/cjs/radio/group.js +20 -34
- package/cjs/radio/index.js +1 -8
- package/cjs/radio/radio.js +0 -10
- package/cjs/radio/style/css/index.js +0 -1
- package/cjs/radio/style/index.js +0 -1
- package/cjs/rate/index.js +28 -54
- package/cjs/rate/style/css/index.js +0 -1
- package/cjs/rate/style/index.js +0 -1
- package/cjs/search-bar/association.js +14 -32
- package/cjs/search-bar/cancel-button.js +8 -16
- package/cjs/search-bar/highlight.js +14 -25
- package/cjs/search-bar/index.js +77 -97
- package/cjs/search-bar/style/css/index.js +0 -1
- package/cjs/search-bar/style/index.js +0 -1
- package/cjs/show-monitor/index.js +40 -108
- package/cjs/show-monitor/style/css/index.js +0 -1
- package/cjs/show-monitor/style/index.js +0 -1
- package/cjs/skeleton/elements.js +47 -84
- package/cjs/skeleton/index.js +18 -36
- package/cjs/skeleton/skeleton-context.js +0 -4
- package/cjs/skeleton/style/css/index.js +0 -2
- package/cjs/skeleton/style/index.js +0 -2
- package/cjs/slider/hooks/index.js +0 -13
- package/cjs/slider/hooks/useSliderEvents.js +27 -59
- package/cjs/slider/hooks/useSliderIcon.js +6 -20
- package/cjs/slider/hooks/useSliderInit.js +32 -52
- package/cjs/slider/hooks/useSliderStyle.js +13 -27
- package/cjs/slider/index.js +47 -73
- package/cjs/slider/marks.js +13 -27
- package/cjs/slider/popover.js +4 -13
- package/cjs/slider/style/css/index.js +0 -2
- package/cjs/slider/style/index.js +0 -2
- package/cjs/slider/thumb.js +11 -22
- package/cjs/stepper/hooks/useButtonClick.js +15 -25
- package/cjs/stepper/hooks/useInputEvent.js +10 -19
- package/cjs/stepper/hooks/useValue.js +9 -15
- package/cjs/stepper/index.js +84 -98
- package/cjs/stepper/style/css/index.js +0 -1
- package/cjs/stepper/style/index.js +0 -1
- package/cjs/steps/index.js +25 -43
- package/cjs/steps/step.js +10 -27
- package/cjs/steps/style/css/index.js +0 -1
- package/cjs/steps/style/index.js +0 -1
- package/cjs/sticky/index.js +40 -74
- package/cjs/sticky/style/css/index.js +0 -1
- package/cjs/sticky/style/index.js +0 -1
- package/cjs/style.js +0 -59
- package/cjs/swipe-action/index.js +40 -92
- package/cjs/swipe-action/item.js +9 -17
- package/cjs/swipe-action/style/css/index.js +0 -1
- package/cjs/swipe-action/style/index.js +0 -1
- package/cjs/swipe-load/index.js +78 -113
- package/cjs/swipe-load/style/css/index.js +0 -1
- package/cjs/swipe-load/style/index.js +0 -1
- package/cjs/switch/index.js +28 -49
- package/cjs/switch/style/css/index.js +0 -1
- package/cjs/switch/style/index.js +0 -1
- package/cjs/tab-bar/index.js +0 -7
- package/cjs/tab-bar/item.js +6 -24
- package/cjs/tab-bar/style/css/index.js +0 -1
- package/cjs/tab-bar/style/index.js +0 -1
- package/cjs/tab-bar/tab-bar.js +16 -32
- package/cjs/tabs/index.js +136 -206
- package/cjs/tabs/style/css/index.js +0 -1
- package/cjs/tabs/style/index.js +0 -1
- package/cjs/tabs/tab-cell-underline.js +28 -76
- package/cjs/tabs/tab-cell.js +73 -128
- package/cjs/tabs/tab-pane.js +53 -103
- package/cjs/tag/index.js +1 -8
- package/cjs/tag/list.js +11 -26
- package/cjs/tag/style/css/index.js +0 -1
- package/cjs/tag/style/index.js +0 -1
- package/cjs/tag/tag.js +20 -32
- package/cjs/textarea/index.js +35 -56
- package/cjs/textarea/style/css/index.js +0 -2
- package/cjs/textarea/style/index.js +0 -2
- package/cjs/toast/index.js +26 -61
- package/cjs/toast/methods.js +2 -16
- package/cjs/toast/style/css/index.js +0 -3
- package/cjs/toast/style/index.js +0 -3
- package/cjs/transition/index.js +17 -29
- package/cjs/transition/style/css/index.js +0 -1
- package/cjs/transition/style/index.js +0 -1
- package/cjs/uploader/index.d.ts +1 -1
- package/cjs/uploader/index.js +28 -49
- package/cjs/uploader/style/css/index.js +0 -3
- package/cjs/uploader/style/index.js +0 -3
- package/cjs/uploader/upload/index.js +0 -4
- package/cjs/uploader/upload/upload.js +9 -45
- package/dist/index.js +3838 -6455
- package/dist/index.min.js +2 -2
- package/esm/_helpers/hooks.js +59 -123
- package/esm/_helpers/index.js +4 -6
- package/esm/_helpers/react-dom.js +0 -11
- package/esm/_helpers/render.js +5 -15
- package/esm/action-sheet/index.js +10 -16
- package/esm/avatar/group.js +12 -16
- package/esm/avatar/index.js +53 -64
- package/esm/badge/index.js +18 -22
- package/esm/button/hooks.js +15 -18
- package/esm/button/index.js +46 -57
- package/esm/carousel/index.js +153 -280
- package/esm/cell/cell.js +18 -25
- package/esm/cell/group.js +9 -11
- package/esm/cell/index.js +1 -1
- package/esm/checkbox/checkbox.js +31 -42
- package/esm/checkbox/group.js +24 -28
- package/esm/checkbox/hooks/useMergeProps.js +7 -9
- package/esm/checkbox/index.js +2 -2
- package/esm/checkbox/type.js +0 -1
- package/esm/circle-progress/index.js +37 -49
- package/esm/collapse/collapse.js +30 -51
- package/esm/collapse/group.js +20 -34
- package/esm/collapse/index.js +1 -1
- package/esm/collapse/utils.js +0 -1
- package/esm/context-provider/index.js +18 -33
- package/esm/count-down/hooks.js +24 -37
- package/esm/count-down/index.js +30 -29
- package/esm/count-down/singleton.js +2 -5
- package/esm/count-down/util.js +33 -42
- package/esm/date-picker/helper.js +7 -9
- package/esm/date-picker/index.js +66 -155
- package/esm/dialog/index.js +31 -42
- package/esm/dialog/methods.js +9 -11
- package/esm/divider/index.js +8 -12
- package/esm/dropdown/dropdown.js +74 -102
- package/esm/dropdown/index.js +1 -1
- package/esm/dropdown/options.js +12 -20
- package/esm/dropdown-menu/dropdown-menu.js +49 -74
- package/esm/dropdown-menu/helper.js +4 -14
- package/esm/dropdown-menu/index.js +1 -1
- package/esm/ellipsis/components/js-ellipsis.js +32 -60
- package/esm/ellipsis/components/native-ellipsis.js +9 -11
- package/esm/ellipsis/index.js +20 -21
- package/esm/ellipsis/utils/dom.js +0 -7
- package/esm/ellipsis/utils/is.js +1 -1
- package/esm/form/form-item.js +74 -147
- package/esm/form/index.js +18 -23
- package/esm/form/linked-container.js +5 -14
- package/esm/form/type.d.ts +11 -1
- package/esm/form/type.js +0 -5
- package/esm/form/useForm.js +10 -74
- package/esm/form/utils.js +4 -11
- package/esm/grid/index.js +22 -38
- package/esm/icon/IconAdd/index.js +5 -6
- package/esm/icon/IconArrowBack/index.js +5 -6
- package/esm/icon/IconArrowDown/index.js +5 -6
- package/esm/icon/IconArrowIn/index.js +5 -6
- package/esm/icon/IconArrowUp/index.js +5 -6
- package/esm/icon/IconCheck/index.js +5 -6
- package/esm/icon/IconCheckBold/index.js +5 -6
- package/esm/icon/IconCircleChecked/index.js +5 -6
- package/esm/icon/IconCircleDisabled/index.js +5 -6
- package/esm/icon/IconCircleUnchecked/index.js +5 -6
- package/esm/icon/IconClear/index.js +5 -6
- package/esm/icon/IconClose/index.js +5 -6
- package/esm/icon/IconCloseBold/index.js +5 -6
- package/esm/icon/IconDelete/index.js +5 -6
- package/esm/icon/IconDownload/index.js +5 -6
- package/esm/icon/IconEdit/index.js +5 -6
- package/esm/icon/IconErrorCircle/index.js +5 -6
- package/esm/icon/IconEyeInvisible/index.js +5 -6
- package/esm/icon/IconEyeVisible/index.js +5 -6
- package/esm/icon/IconEyelashInvisible/index.js +5 -6
- package/esm/icon/IconFile/index.js +5 -6
- package/esm/icon/IconGift/index.js +5 -6
- package/esm/icon/IconHeart/index.js +5 -6
- package/esm/icon/IconHome/index.js +5 -6
- package/esm/icon/IconKeyboard/index.js +5 -6
- package/esm/icon/IconKeyboardDelete/index.js +5 -6
- package/esm/icon/IconLikeCircle/index.js +5 -6
- package/esm/icon/IconMinus/index.js +5 -6
- package/esm/icon/IconMore/index.js +5 -6
- package/esm/icon/IconNotice/index.js +5 -6
- package/esm/icon/IconNoticeOff/index.js +5 -6
- package/esm/icon/IconPicture/index.js +5 -6
- package/esm/icon/IconPlay/index.js +5 -6
- package/esm/icon/IconQuestionCircle/index.js +5 -6
- package/esm/icon/IconRefresh/index.js +5 -6
- package/esm/icon/IconSad/index.js +5 -6
- package/esm/icon/IconScan/index.js +5 -6
- package/esm/icon/IconSearch/index.js +5 -6
- package/esm/icon/IconSetting/index.js +5 -6
- package/esm/icon/IconShop/index.js +5 -6
- package/esm/icon/IconShopping/index.js +5 -6
- package/esm/icon/IconSmileFill/index.js +5 -6
- package/esm/icon/IconSound/index.js +5 -6
- package/esm/icon/IconSquareChecked/index.js +5 -6
- package/esm/icon/IconSquareDisabled/index.js +5 -6
- package/esm/icon/IconSquareUnchecked/index.js +5 -6
- package/esm/icon/IconStar/index.js +5 -6
- package/esm/icon/IconStarFill/index.js +5 -6
- package/esm/icon/IconStarHalf/index.js +5 -6
- package/esm/icon/IconSubway/index.js +5 -6
- package/esm/icon/IconSuccessCircle/index.js +5 -6
- package/esm/icon/IconTriDown/index.js +5 -6
- package/esm/icon/IconTriUp/index.js +5 -6
- package/esm/icon/IconUpload/index.js +5 -6
- package/esm/icon/IconUser/index.js +5 -6
- package/esm/icon/IconUserFill/index.js +5 -6
- package/esm/icon/IconWarnCircle/index.js +5 -6
- package/esm/icon/IconWarnCircleFill/index.js +5 -6
- package/esm/image/index.js +53 -85
- package/esm/image-picker/index.js +32 -42
- package/esm/image-preview/index.js +129 -232
- package/esm/image-preview/methods.js +5 -14
- package/esm/index-bar/group.js +16 -25
- package/esm/index-bar/index.js +55 -74
- package/esm/index-bar/side-bar.js +15 -28
- package/esm/index-bar/utils.js +3 -10
- package/esm/input/hooks.js +45 -75
- package/esm/input/index.js +26 -30
- package/esm/keyboard/index.js +40 -63
- package/esm/load-more/index.js +33 -57
- package/esm/loading/index.js +19 -40
- package/esm/masking/index.js +47 -65
- package/esm/masking/methods.js +5 -16
- package/esm/nav-bar/back-icon.js +2 -4
- package/esm/nav-bar/index.js +37 -52
- package/esm/notice-bar/index.js +34 -53
- package/esm/notify/index.js +20 -33
- package/esm/notify/methods.js +2 -13
- package/esm/pagination/index.js +27 -50
- package/esm/picker/index.js +48 -69
- package/esm/picker-view/components/cascader.js +13 -24
- package/esm/picker-view/components/multi-picker.js +8 -14
- package/esm/picker-view/components/picker-cell.js +45 -93
- package/esm/picker-view/index.js +30 -60
- package/esm/popover/hooks/useEvent.js +26 -41
- package/esm/popover/hooks/usePosition.js +100 -152
- package/esm/popover/index.js +2 -2
- package/esm/popover/menu.js +32 -41
- package/esm/popover/popover-inner.js +30 -39
- package/esm/popover/popover.js +69 -90
- package/esm/popup/index.js +22 -25
- package/esm/popup-swiper/index.js +50 -76
- package/esm/portal/index.js +3 -5
- package/esm/progress/index.js +27 -36
- package/esm/pull-refresh/android-pull-refresh.js +56 -83
- package/esm/pull-refresh/hooks.js +11 -23
- package/esm/pull-refresh/index.js +3 -5
- package/esm/pull-refresh/ios-pull-refresh.js +53 -68
- package/esm/pull-refresh/model.js +0 -1
- package/esm/radio/group.js +20 -24
- package/esm/radio/index.js +2 -2
- package/esm/rate/index.js +28 -43
- package/esm/search-bar/association.js +14 -27
- package/esm/search-bar/cancel-button.js +8 -11
- package/esm/search-bar/highlight.js +14 -20
- package/esm/search-bar/index.js +77 -86
- package/esm/show-monitor/index.js +40 -100
- package/esm/skeleton/elements.js +47 -75
- package/esm/skeleton/index.js +18 -24
- package/esm/slider/hooks/useSliderEvents.js +27 -54
- package/esm/slider/hooks/useSliderIcon.js +6 -13
- package/esm/slider/hooks/useSliderInit.js +32 -46
- package/esm/slider/hooks/useSliderStyle.js +13 -22
- package/esm/slider/index.js +47 -63
- package/esm/slider/marks.js +13 -19
- package/esm/slider/popover.js +4 -6
- package/esm/slider/thumb.js +11 -16
- package/esm/stepper/hooks/useButtonClick.js +15 -24
- package/esm/stepper/hooks/useInputEvent.js +10 -17
- package/esm/stepper/hooks/useValue.js +9 -12
- package/esm/stepper/index.js +84 -84
- package/esm/steps/index.js +25 -30
- package/esm/steps/step.js +10 -19
- package/esm/sticky/index.js +40 -65
- package/esm/swipe-action/index.js +40 -80
- package/esm/swipe-action/item.js +9 -12
- package/esm/swipe-load/index.js +79 -104
- package/esm/switch/index.js +28 -41
- package/esm/tab-bar/index.js +0 -1
- package/esm/tab-bar/item.js +6 -13
- package/esm/tab-bar/tab-bar.js +16 -22
- package/esm/tabs/index.js +137 -194
- package/esm/tabs/tab-cell-underline.js +28 -67
- package/esm/tabs/tab-cell.js +73 -118
- package/esm/tabs/tab-pane.js +53 -95
- package/esm/tag/index.js +2 -2
- package/esm/tag/list.js +11 -16
- package/esm/tag/tag.js +20 -22
- package/esm/textarea/index.js +35 -46
- package/esm/toast/index.js +26 -42
- package/esm/toast/methods.js +2 -12
- package/esm/transition/index.js +17 -20
- package/esm/uploader/index.d.ts +1 -1
- package/esm/uploader/index.js +28 -34
- package/esm/uploader/upload/upload.js +9 -38
- package/esnext/form/form-item.js +12 -7
- package/esnext/form/type.d.ts +11 -1
- package/esnext/uploader/index.d.ts +1 -1
- package/esnext/uploader/index.js +1 -1
- package/esnext/uploader/upload/upload.js +1 -1
- package/package.json +5 -3
- package/tokens/app/arcodesign/default/index.js +0 -2
- package/umd/_helpers/hooks.js +59 -138
- package/umd/_helpers/index.js +2 -9
- package/umd/_helpers/react-dom.js +0 -13
- package/umd/_helpers/render.js +5 -17
- package/umd/action-sheet/index.js +10 -22
- package/umd/action-sheet/methods.js +0 -1
- package/umd/avatar/group.js +12 -20
- package/umd/avatar/index.js +53 -70
- package/umd/badge/index.js +18 -25
- package/umd/button/hooks.js +15 -19
- package/umd/button/index.js +46 -60
- package/umd/carousel/index.js +153 -283
- package/umd/cell/arrow.js +0 -2
- package/umd/cell/cell.js +18 -29
- package/umd/cell/group.js +9 -17
- package/umd/cell/index.js +1 -2
- package/umd/checkbox/checkbox.js +31 -45
- package/umd/checkbox/group.js +24 -34
- package/umd/checkbox/hooks/useMergeProps.js +7 -12
- package/umd/checkbox/index.js +1 -3
- package/umd/checkbox/type.js +0 -2
- package/umd/circle-progress/index.js +37 -52
- package/umd/collapse/collapse.js +30 -55
- package/umd/collapse/group.js +20 -38
- package/umd/collapse/index.js +0 -3
- package/umd/collapse/utils.js +0 -5
- package/umd/context-provider/index.js +18 -38
- package/umd/count-down/hooks.js +24 -39
- package/umd/count-down/index.js +29 -31
- package/umd/count-down/singleton.js +2 -10
- package/umd/count-down/util.js +33 -47
- package/umd/date-picker/helper.js +7 -13
- package/umd/date-picker/index.js +66 -158
- package/umd/dialog/index.js +31 -47
- package/umd/dialog/methods.js +9 -18
- package/umd/divider/index.js +8 -15
- package/umd/dropdown/dropdown.js +74 -106
- package/umd/dropdown/index.js +1 -3
- package/umd/dropdown/options.js +12 -24
- package/umd/dropdown-menu/dropdown-menu.js +49 -78
- package/umd/dropdown-menu/helper.js +4 -22
- package/umd/dropdown-menu/index.js +0 -2
- package/umd/ellipsis/components/js-ellipsis.js +32 -66
- package/umd/ellipsis/components/native-ellipsis.js +9 -12
- package/umd/ellipsis/index.js +19 -24
- package/umd/ellipsis/utils/dom.js +0 -8
- package/umd/ellipsis/utils/is.js +1 -5
- package/umd/form/form-item-context.js +0 -3
- package/umd/form/form-item.js +74 -151
- package/umd/form/index.js +18 -28
- package/umd/form/linked-container.js +5 -19
- package/umd/form/type.d.ts +11 -1
- package/umd/form/type.js +0 -5
- package/umd/form/useForm.js +10 -74
- package/umd/form/utils.js +4 -19
- package/umd/grid/index.js +22 -41
- package/umd/icon/IconAdd/index.js +5 -7
- package/umd/icon/IconArrowBack/index.js +5 -7
- package/umd/icon/IconArrowDown/index.js +5 -7
- package/umd/icon/IconArrowIn/index.js +5 -7
- package/umd/icon/IconArrowUp/index.js +5 -7
- package/umd/icon/IconCheck/index.js +5 -7
- package/umd/icon/IconCheckBold/index.js +5 -7
- package/umd/icon/IconCircleChecked/index.js +5 -7
- package/umd/icon/IconCircleDisabled/index.js +5 -7
- package/umd/icon/IconCircleUnchecked/index.js +5 -7
- package/umd/icon/IconClear/index.js +5 -7
- package/umd/icon/IconClose/index.js +5 -7
- package/umd/icon/IconCloseBold/index.js +5 -7
- package/umd/icon/IconDelete/index.js +5 -7
- package/umd/icon/IconDownload/index.js +5 -7
- package/umd/icon/IconEdit/index.js +5 -7
- package/umd/icon/IconErrorCircle/index.js +5 -7
- package/umd/icon/IconEyeInvisible/index.js +5 -7
- package/umd/icon/IconEyeVisible/index.js +5 -7
- package/umd/icon/IconEyelashInvisible/index.js +5 -7
- package/umd/icon/IconFile/index.js +5 -7
- package/umd/icon/IconGift/index.js +5 -7
- package/umd/icon/IconHeart/index.js +5 -7
- package/umd/icon/IconHome/index.js +5 -7
- package/umd/icon/IconKeyboard/index.js +5 -7
- package/umd/icon/IconKeyboardDelete/index.js +5 -7
- package/umd/icon/IconLikeCircle/index.js +5 -7
- package/umd/icon/IconMinus/index.js +5 -7
- package/umd/icon/IconMore/index.js +5 -7
- package/umd/icon/IconNotice/index.js +5 -7
- package/umd/icon/IconNoticeOff/index.js +5 -7
- package/umd/icon/IconPicture/index.js +5 -7
- package/umd/icon/IconPlay/index.js +5 -7
- package/umd/icon/IconQuestionCircle/index.js +5 -7
- package/umd/icon/IconRefresh/index.js +5 -7
- package/umd/icon/IconSad/index.js +5 -7
- package/umd/icon/IconScan/index.js +5 -7
- package/umd/icon/IconSearch/index.js +5 -7
- package/umd/icon/IconSetting/index.js +5 -7
- package/umd/icon/IconShop/index.js +5 -7
- package/umd/icon/IconShopping/index.js +5 -7
- package/umd/icon/IconSmileFill/index.js +5 -7
- package/umd/icon/IconSound/index.js +5 -7
- package/umd/icon/IconSquareChecked/index.js +5 -7
- package/umd/icon/IconSquareDisabled/index.js +5 -7
- package/umd/icon/IconSquareUnchecked/index.js +5 -7
- package/umd/icon/IconStar/index.js +5 -7
- package/umd/icon/IconStarFill/index.js +5 -7
- package/umd/icon/IconStarHalf/index.js +5 -7
- package/umd/icon/IconSubway/index.js +5 -7
- package/umd/icon/IconSuccessCircle/index.js +5 -7
- package/umd/icon/IconTriDown/index.js +5 -7
- package/umd/icon/IconTriUp/index.js +5 -7
- package/umd/icon/IconUpload/index.js +5 -7
- package/umd/icon/IconUser/index.js +5 -7
- package/umd/icon/IconUserFill/index.js +5 -7
- package/umd/icon/IconWarnCircle/index.js +5 -7
- package/umd/icon/IconWarnCircleFill/index.js +5 -7
- package/umd/icon/index.js +0 -1
- package/umd/image/index.js +53 -88
- package/umd/image-picker/add-icon.js +0 -2
- package/umd/image-picker/index.js +32 -47
- package/umd/image-preview/index.js +129 -239
- package/umd/image-preview/methods.js +5 -15
- package/umd/index-bar/group.js +16 -30
- package/umd/index-bar/index.js +55 -79
- package/umd/index-bar/side-bar.js +15 -32
- package/umd/index-bar/utils.js +3 -16
- package/umd/index.js +0 -1
- package/umd/input/hooks.js +45 -79
- package/umd/input/index.js +26 -35
- package/umd/keyboard/index.js +37 -64
- package/umd/load-more/index.js +33 -60
- package/umd/loading/index.js +19 -43
- package/umd/masking/index.js +47 -72
- package/umd/masking/methods.js +5 -18
- package/umd/nav-bar/back-icon.js +2 -5
- package/umd/nav-bar/index.js +37 -55
- package/umd/notice-bar/index.js +34 -56
- package/umd/notify/index.js +20 -40
- package/umd/notify/methods.js +2 -14
- package/umd/pagination/arrow.js +0 -2
- package/umd/pagination/index.js +27 -53
- package/umd/picker/index.js +48 -73
- package/umd/picker-view/components/cascader.js +13 -28
- package/umd/picker-view/components/multi-picker.js +8 -16
- package/umd/picker-view/components/picker-cell.js +45 -97
- package/umd/picker-view/index.js +30 -63
- package/umd/popover/hooks/useEvent.js +25 -44
- package/umd/popover/hooks/usePosition.js +100 -153
- package/umd/popover/index.js +1 -3
- package/umd/popover/menu.js +32 -45
- package/umd/popover/popover-inner.js +30 -43
- package/umd/popover/popover.js +69 -94
- package/umd/popup/index.js +22 -31
- package/umd/popup/methods.js +0 -1
- package/umd/popup-swiper/index.js +50 -83
- package/umd/popup-swiper/methods.js +0 -1
- package/umd/portal/index.js +3 -6
- package/umd/progress/index.js +27 -39
- package/umd/pull-refresh/android-pull-refresh.js +56 -86
- package/umd/pull-refresh/hooks.js +11 -29
- package/umd/pull-refresh/index.js +3 -7
- package/umd/pull-refresh/ios-pull-refresh.js +53 -72
- package/umd/pull-refresh/model.js +0 -1
- package/umd/radio/group.js +20 -30
- package/umd/radio/index.js +1 -3
- package/umd/radio/radio.js +0 -5
- package/umd/rate/index.js +28 -48
- package/umd/search-bar/association.js +14 -29
- package/umd/search-bar/cancel-button.js +8 -14
- package/umd/search-bar/highlight.js +14 -21
- package/umd/search-bar/index.js +77 -87
- package/umd/show-monitor/index.js +40 -104
- package/umd/skeleton/elements.js +47 -78
- package/umd/skeleton/index.js +18 -28
- package/umd/skeleton/skeleton-context.js +0 -3
- package/umd/slider/hooks/index.js +0 -4
- package/umd/slider/hooks/useSliderEvents.js +27 -55
- package/umd/slider/hooks/useSliderIcon.js +6 -17
- package/umd/slider/hooks/useSliderInit.js +32 -50
- package/umd/slider/hooks/useSliderStyle.js +13 -24
- package/umd/slider/index.js +47 -66
- package/umd/slider/marks.js +13 -22
- package/umd/slider/popover.js +4 -10
- package/umd/slider/thumb.js +11 -18
- package/umd/stepper/hooks/useButtonClick.js +15 -24
- package/umd/stepper/hooks/useInputEvent.js +10 -18
- package/umd/stepper/hooks/useValue.js +9 -13
- package/umd/stepper/index.js +84 -89
- package/umd/steps/index.js +25 -35
- package/umd/steps/step.js +10 -22
- package/umd/sticky/index.js +40 -68
- package/umd/style.js +1 -1
- package/umd/swipe-action/index.js +40 -84
- package/umd/swipe-action/item.js +9 -14
- package/umd/swipe-load/index.js +78 -106
- package/umd/switch/index.js +28 -45
- package/umd/tab-bar/index.js +0 -2
- package/umd/tab-bar/item.js +6 -19
- package/umd/tab-bar/tab-bar.js +16 -27
- package/umd/tabs/index.js +136 -197
- package/umd/tabs/tab-cell-underline.js +28 -71
- package/umd/tabs/tab-cell.js +73 -122
- package/umd/tabs/tab-pane.js +53 -98
- package/umd/tag/index.js +1 -3
- package/umd/tag/list.js +11 -20
- package/umd/tag/tag.js +20 -26
- package/umd/textarea/index.js +35 -51
- package/umd/toast/index.js +26 -49
- package/umd/toast/methods.js +2 -13
- package/umd/transition/index.js +16 -22
- package/umd/uploader/index.d.ts +1 -1
- package/umd/uploader/index.js +28 -39
- package/umd/uploader/upload/upload.js +9 -43
|
@@ -12,93 +12,87 @@ var defaultPosition = {
|
|
|
12
12
|
height: null,
|
|
13
13
|
arrowLeft: 0
|
|
14
14
|
};
|
|
15
|
+
|
|
15
16
|
/**
|
|
16
17
|
* 安全边界距离默认值
|
|
17
18
|
* @en Default safe boundary distance
|
|
18
19
|
*/
|
|
19
|
-
|
|
20
20
|
var defaultEdgeOffsetValue = 14;
|
|
21
|
+
|
|
21
22
|
/**
|
|
22
23
|
* 安全距离默认值
|
|
23
24
|
* @en Default safe distance
|
|
24
25
|
*/
|
|
25
|
-
|
|
26
26
|
var defaultEdgeOffset = {
|
|
27
27
|
top: defaultEdgeOffsetValue,
|
|
28
28
|
right: defaultEdgeOffsetValue,
|
|
29
29
|
bottom: defaultEdgeOffsetValue,
|
|
30
30
|
left: defaultEdgeOffsetValue
|
|
31
31
|
};
|
|
32
|
+
|
|
32
33
|
/**
|
|
33
34
|
* 自适应默认值
|
|
34
35
|
* @en Default autoDirection
|
|
35
36
|
*/
|
|
36
|
-
|
|
37
37
|
export var defaultAutoDirection = true;
|
|
38
38
|
export var usePosition = function usePosition(props, popoverRef, childRef, wrapperRef) {
|
|
39
39
|
var _props$direction = props.direction,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
40
|
+
direction = _props$direction === void 0 ? 'topRight' : _props$direction,
|
|
41
|
+
_props$verticalOffset = props.verticalOffset,
|
|
42
|
+
verticalOffset = _props$verticalOffset === void 0 ? 10 : _props$verticalOffset,
|
|
43
|
+
_props$horizontalOffs = props.horizontalOffset,
|
|
44
|
+
horizontalOffset = _props$horizontalOffs === void 0 ? 8 : _props$horizontalOffs,
|
|
45
|
+
_props$edgeOffset = props.edgeOffset,
|
|
46
|
+
edgeOffset = _props$edgeOffset === void 0 ? defaultEdgeOffsetValue : _props$edgeOffset,
|
|
47
|
+
_props$arrowWidth = props.arrowWidth,
|
|
48
|
+
arrowWidth = _props$arrowWidth === void 0 ? 9 : _props$arrowWidth,
|
|
49
|
+
_props$mode = props.mode,
|
|
50
|
+
mode = _props$mode === void 0 ? 'follow' : _props$mode,
|
|
51
|
+
_props$useAutoDirecti = props.useAutoDirection,
|
|
52
|
+
useAutoDirection = _props$useAutoDirecti === void 0 ? defaultAutoDirection : _props$useAutoDirecti;
|
|
53
|
+
|
|
53
54
|
/**
|
|
54
55
|
* 气泡的位置信息
|
|
55
56
|
* @en Position information of the bubbles
|
|
56
57
|
*/
|
|
57
|
-
|
|
58
58
|
var _useState = useState(defaultPosition),
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
position = _useState[0],
|
|
60
|
+
setPosition = _useState[1];
|
|
61
|
+
|
|
61
62
|
/**
|
|
62
63
|
* 是否在计算气泡位置
|
|
63
64
|
* @en Whether to calculate the bubble position
|
|
64
65
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
66
|
var isCalcPosition = useMemo(function () {
|
|
68
67
|
var top = position.top,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
68
|
+
bottom = position.bottom,
|
|
69
|
+
height = position.height,
|
|
70
|
+
left = position.left,
|
|
71
|
+
width = position.width;
|
|
74
72
|
if (left || width || top || height || bottom) {
|
|
75
73
|
return false;
|
|
76
74
|
}
|
|
77
|
-
|
|
78
75
|
return true;
|
|
79
76
|
}, [position]);
|
|
77
|
+
|
|
80
78
|
/**
|
|
81
79
|
* 缩放动画中心,尖角的顶部
|
|
82
80
|
* @en Scale animation center, top of sharp corners
|
|
83
81
|
*/
|
|
84
|
-
|
|
85
82
|
var _useState2 = useState({
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
83
|
+
x: '0',
|
|
84
|
+
y: '0'
|
|
85
|
+
}),
|
|
86
|
+
transformOrigin = _useState2[0],
|
|
87
|
+
setTransformOrigin = _useState2[1];
|
|
91
88
|
/**
|
|
92
89
|
* 气泡方向,可以会自适应变化
|
|
93
90
|
* @en Bubble direction, can be adaptively changed
|
|
94
91
|
*/
|
|
95
|
-
|
|
96
|
-
|
|
97
92
|
var _useRefState = useRefState(direction),
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
93
|
+
directionState = _useRefState[0],
|
|
94
|
+
directionStateRef = _useRefState[1],
|
|
95
|
+
setDirectionState = _useRefState[2];
|
|
102
96
|
var getOffset = useCallback(function (dir) {
|
|
103
97
|
return getDefaultValue(isObject(edgeOffset) ? edgeOffset[dir] : edgeOffset, defaultEdgeOffset[dir]);
|
|
104
98
|
}, [edgeOffset]);
|
|
@@ -108,108 +102,95 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
|
|
|
108
102
|
useEffect(function () {
|
|
109
103
|
setDirectionState(direction);
|
|
110
104
|
}, [direction]);
|
|
105
|
+
|
|
111
106
|
/**
|
|
112
107
|
* 调整尖角图标的位置
|
|
113
108
|
* @en Adjust the position of the sharp corner icon
|
|
114
109
|
*/
|
|
115
|
-
|
|
116
110
|
function adjustArrow(_ref) {
|
|
117
111
|
var childRect = _ref.childRect,
|
|
118
|
-
|
|
119
|
-
|
|
112
|
+
config = _ref.config;
|
|
120
113
|
if (directionState.indexOf('Left') !== -1 || directionState.indexOf('Right') !== -1) {
|
|
121
114
|
return (childRect.width - arrowWidth) / 2 + horizontalOffset;
|
|
122
115
|
}
|
|
123
|
-
|
|
124
116
|
return (config.width - arrowWidth) / 2;
|
|
125
117
|
}
|
|
118
|
+
|
|
126
119
|
/**
|
|
127
120
|
* 如果提示框超出屏幕,则向屏幕中间调整一下
|
|
128
121
|
* @en If the prompt box is beyond the screen, adjust it to the middle of the screen
|
|
129
122
|
*/
|
|
130
|
-
|
|
131
|
-
|
|
132
123
|
function adjustEdge(_ref2) {
|
|
133
124
|
var childRect = _ref2.childRect,
|
|
134
|
-
|
|
135
|
-
|
|
125
|
+
config = _ref2.config;
|
|
136
126
|
var newConfig = _extends({}, config, {
|
|
137
127
|
adjustOffset: 0
|
|
138
128
|
});
|
|
139
|
-
|
|
140
129
|
newConfig.arrowLeft = adjustArrow({
|
|
141
130
|
childRect: childRect,
|
|
142
131
|
config: config
|
|
143
132
|
});
|
|
144
133
|
var screenWidth = screen.availWidth;
|
|
145
134
|
var _ref3 = [getOffset('top'), getOffset('right'), getOffset('bottom'), getOffset('left')],
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
135
|
+
topOffset = _ref3[0],
|
|
136
|
+
rightOffset = _ref3[1],
|
|
137
|
+
bottomOffset = _ref3[2],
|
|
138
|
+
leftOffset = _ref3[3];
|
|
150
139
|
var _ref4 = [getAutoDirection('vertical'), getAutoDirection('horizontal')],
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
// @en Automatic adjustment of safety distance in horizontal direction
|
|
140
|
+
verticalAuto = _ref4[0],
|
|
141
|
+
horizontalAuto = _ref4[1];
|
|
154
142
|
|
|
143
|
+
// 水平方向安全距离自动调整
|
|
144
|
+
// @en Automatic adjustment of safety distance in horizontal direction
|
|
155
145
|
if (horizontalAuto) {
|
|
156
146
|
if (directionState.indexOf('Right') !== -1) {
|
|
157
|
-
var overflow = Number(config.width) - childRect.left - childRect.width;
|
|
147
|
+
var overflow = Number(config.width) - childRect.left - childRect.width;
|
|
148
|
+
// 左边是否溢出,向右平移安全距离
|
|
158
149
|
// @en Whether the left overflows, pan to the right by a safe distance
|
|
159
|
-
|
|
160
150
|
if (overflow > 0) {
|
|
161
151
|
var adjustOffset = overflow + leftOffset;
|
|
162
152
|
newConfig.left = Number(newConfig.left) + adjustOffset;
|
|
163
153
|
newConfig.arrowLeft += adjustOffset;
|
|
164
154
|
newConfig.adjustOffset = adjustOffset;
|
|
165
|
-
}
|
|
155
|
+
}
|
|
156
|
+
// 右边是否溢出,向左平移
|
|
166
157
|
// @en Whether to overflow on the right, pan to the left
|
|
167
|
-
|
|
168
|
-
|
|
169
158
|
if (screenWidth - childRect.right < rightOffset) {
|
|
170
159
|
overflow = rightOffset;
|
|
171
|
-
|
|
172
160
|
var _adjustOffset = -(overflow - (screenWidth - childRect.right));
|
|
173
|
-
|
|
174
161
|
newConfig.left = Number(newConfig.left) + _adjustOffset;
|
|
175
162
|
newConfig.adjustOffset = _adjustOffset;
|
|
176
163
|
}
|
|
177
164
|
} else if (directionState.indexOf('Center') !== -1) {
|
|
178
165
|
var beyondChildEdge = (Number(config.width) - childRect.width) / 2;
|
|
179
166
|
var rightOverflow = beyondChildEdge - (screenWidth - childRect.right);
|
|
180
|
-
var leftOverflow = beyondChildEdge - childRect.left;
|
|
167
|
+
var leftOverflow = beyondChildEdge - childRect.left;
|
|
168
|
+
// 右边是否溢出
|
|
181
169
|
// @en Whether to overflow on the right
|
|
182
|
-
|
|
183
170
|
if (rightOverflow > 0) {
|
|
184
171
|
var _adjustOffset2 = -(rightOverflow + rightOffset);
|
|
185
|
-
|
|
186
172
|
newConfig.left = Number(newConfig.left) + _adjustOffset2;
|
|
187
173
|
newConfig.arrowLeft -= _adjustOffset2;
|
|
188
174
|
newConfig.adjustOffset = _adjustOffset2;
|
|
189
|
-
}
|
|
175
|
+
}
|
|
176
|
+
// 左边是否溢出
|
|
190
177
|
// @en Whether the left overflow
|
|
191
|
-
|
|
192
|
-
|
|
193
178
|
if (leftOverflow > 0) {
|
|
194
179
|
var _adjustOffset3 = leftOverflow + leftOffset;
|
|
195
|
-
|
|
196
180
|
newConfig.left = Number(newConfig.left) + _adjustOffset3;
|
|
197
181
|
newConfig.arrowLeft -= _adjustOffset3;
|
|
198
182
|
newConfig.adjustOffset = _adjustOffset3;
|
|
199
183
|
}
|
|
200
184
|
} else if (directionState.indexOf('Left') !== -1) {
|
|
201
|
-
var _overflow = Number(config.width) - childRect.width - (screenWidth - childRect.right);
|
|
185
|
+
var _overflow = Number(config.width) - childRect.width - (screenWidth - childRect.right);
|
|
186
|
+
// 右边是否溢出
|
|
202
187
|
// @en Whether to overflow on the right
|
|
203
|
-
|
|
204
|
-
|
|
205
188
|
if (_overflow > 0) {
|
|
206
189
|
var _adjustOffset4 = -(_overflow + rightOffset);
|
|
207
|
-
|
|
208
190
|
newConfig.left = Number(newConfig.left) + _adjustOffset4;
|
|
209
191
|
newConfig.arrowLeft -= _adjustOffset4;
|
|
210
192
|
newConfig.adjustOffset = _adjustOffset4;
|
|
211
193
|
}
|
|
212
|
-
|
|
213
194
|
if (childRect.left < leftOffset) {
|
|
214
195
|
// 左边是否不够
|
|
215
196
|
// @en Whether the left is not enough
|
|
@@ -218,73 +199,67 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
|
|
|
218
199
|
newConfig.adjustOffset = leftOffset;
|
|
219
200
|
}
|
|
220
201
|
}
|
|
221
|
-
}
|
|
222
|
-
// @en Vertical safety distance adjustment
|
|
223
|
-
|
|
202
|
+
}
|
|
224
203
|
|
|
204
|
+
// 垂直方向安全距离调整
|
|
205
|
+
// @en Vertical safety distance adjustment
|
|
225
206
|
if (verticalAuto) {
|
|
226
207
|
var setToBottom = function setToBottom() {
|
|
227
208
|
newConfig.top = verticalOffset + childRect.height;
|
|
228
209
|
newConfig.bottom = null;
|
|
229
210
|
onAdjustDirection('bottom');
|
|
230
211
|
};
|
|
231
|
-
|
|
232
212
|
var setToTop = function setToTop() {
|
|
233
213
|
newConfig.top = null;
|
|
234
214
|
newConfig.bottom = verticalOffset + childRect.height;
|
|
235
215
|
onAdjustDirection('top');
|
|
236
|
-
};
|
|
237
|
-
// @en Determine whether there is insufficient space both above and below to display content
|
|
238
|
-
|
|
216
|
+
};
|
|
239
217
|
|
|
218
|
+
// 判断上下空间是否都不足以展示气泡内容
|
|
219
|
+
// @en Determine whether there is insufficient space both above and below to display content
|
|
240
220
|
var isPopoverTooTall = window.innerHeight - topOffset - bottomOffset < 2 * (newConfig.height || 0) + 2 * verticalOffset + childRect.height;
|
|
241
|
-
|
|
242
221
|
if (isPopoverTooTall) {
|
|
243
222
|
var spaceAbove = childRect.top;
|
|
244
223
|
var spaceBelow = window.innerHeight - childRect.bottom;
|
|
245
224
|
spaceAbove > spaceBelow ? setToTop() : setToBottom();
|
|
246
225
|
} else {
|
|
247
226
|
var popoverTop = childRect.bottom - (newConfig.bottom && newConfig.height ? newConfig.bottom + newConfig.height : 0);
|
|
248
|
-
var popoverBottom = childRect.top + (newConfig.top && newConfig.height ? newConfig.top + newConfig.height : 0);
|
|
227
|
+
var popoverBottom = childRect.top + (newConfig.top && newConfig.height ? newConfig.top + newConfig.height : 0);
|
|
228
|
+
// 顶部安全距离不够,调整到底部
|
|
249
229
|
// @en The top safety distance is not enough, adjust to the bottom
|
|
250
|
-
|
|
251
230
|
if (directionState.indexOf('top') !== -1 && popoverTop < topOffset) {
|
|
252
231
|
setToBottom();
|
|
253
|
-
} else if (
|
|
232
|
+
} else if (
|
|
233
|
+
// 底部安全距离不够,调整到顶部
|
|
254
234
|
// @en The bottom safety distance is not enough, adjust to the top
|
|
255
235
|
directionState.indexOf('bottom') !== -1 && popoverBottom + bottomOffset > window.innerHeight) {
|
|
256
236
|
setToTop();
|
|
257
237
|
}
|
|
258
238
|
}
|
|
259
|
-
}
|
|
260
|
-
// @en Bubble mounted in the global needs to calculate the position relative to the screen
|
|
261
|
-
|
|
239
|
+
}
|
|
262
240
|
|
|
241
|
+
// 挂载在全局的气泡需要计算相对屏幕的位置
|
|
242
|
+
// @en Bubble mounted in the global needs to calculate the position relative to the screen
|
|
263
243
|
if (mode === 'global') {
|
|
264
244
|
var wrapperEl = wrapperRef.current;
|
|
265
245
|
if (!wrapperEl) return newConfig;
|
|
266
|
-
|
|
267
246
|
var _wrapperEl$getBoundin = wrapperEl.getBoundingClientRect(),
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
247
|
+
top = _wrapperEl$getBoundin.top,
|
|
248
|
+
left = _wrapperEl$getBoundin.left,
|
|
249
|
+
bottom = _wrapperEl$getBoundin.bottom;
|
|
272
250
|
if (newConfig.left !== null) newConfig.left += left;
|
|
273
251
|
if (newConfig.top !== null) newConfig.top += top;
|
|
274
|
-
|
|
275
252
|
if (newConfig.bottom !== null) {
|
|
276
253
|
var windowInnerHeight = window.innerHeight || document.documentElement.clientHeight;
|
|
277
254
|
newConfig.bottom = windowInnerHeight - (bottom - newConfig.bottom);
|
|
278
255
|
}
|
|
279
256
|
}
|
|
280
|
-
|
|
281
257
|
return newConfig;
|
|
282
258
|
}
|
|
259
|
+
|
|
283
260
|
/**
|
|
284
261
|
* 计算缩放动画中心尖角顶部的位置
|
|
285
262
|
*/
|
|
286
|
-
|
|
287
|
-
|
|
288
263
|
function getOrigin(config, adjustOffset) {
|
|
289
264
|
var arrowLeft = config.arrowLeft;
|
|
290
265
|
var width = config.width || 0;
|
|
@@ -292,7 +267,6 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
|
|
|
292
267
|
var halfArrowWidth = arrowWidth / 2;
|
|
293
268
|
var x = width / 2 + "px";
|
|
294
269
|
var y = directionStateRef.current.indexOf('top') > -1 ? halfArrowWidth + height + "px" : "-" + halfArrowWidth + "px";
|
|
295
|
-
|
|
296
270
|
if (directionStateRef.current.indexOf('Left') > -1) {
|
|
297
271
|
x = arrowLeft + halfArrowWidth + "px";
|
|
298
272
|
} else if (directionStateRef.current.indexOf('Right') > -1) {
|
|
@@ -300,37 +274,33 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
|
|
|
300
274
|
} else {
|
|
301
275
|
x = width / 2 - adjustOffset + "px";
|
|
302
276
|
}
|
|
303
|
-
|
|
304
277
|
return {
|
|
305
278
|
x: x,
|
|
306
279
|
y: y
|
|
307
280
|
};
|
|
308
281
|
}
|
|
282
|
+
|
|
309
283
|
/**
|
|
310
284
|
* 调整边界并更新气泡位置
|
|
311
285
|
* @en Adjust bounds and update bubble position
|
|
312
286
|
*/
|
|
313
|
-
|
|
314
|
-
|
|
315
287
|
function judgeAndUpdatePosition(childRect, config) {
|
|
316
288
|
var _adjustEdge = adjustEdge({
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
289
|
+
childRect: childRect,
|
|
290
|
+
config: config
|
|
291
|
+
}),
|
|
292
|
+
adjustOffset = _adjustEdge.adjustOffset,
|
|
293
|
+
newConfig = _objectWithoutPropertiesLoose(_adjustEdge, _excluded);
|
|
323
294
|
var newTransformOrigin = getOrigin(newConfig, adjustOffset);
|
|
324
295
|
setTransformOrigin(newTransformOrigin);
|
|
325
296
|
setPosition(newConfig);
|
|
326
297
|
}
|
|
327
|
-
/* eslint-disable react-hooks/exhaustive-deps */
|
|
328
|
-
|
|
329
298
|
|
|
299
|
+
/* eslint-disable react-hooks/exhaustive-deps */
|
|
330
300
|
var setTopRightOffset = function setTopRightOffset(_ref5) {
|
|
331
301
|
var popoverWidth = _ref5.popoverWidth,
|
|
332
|
-
|
|
333
|
-
|
|
302
|
+
popoverHeight = _ref5.popoverHeight,
|
|
303
|
+
childRect = _ref5.childRect;
|
|
334
304
|
var left = -(popoverWidth - childRect.width - horizontalOffset);
|
|
335
305
|
var bottom = verticalOffset + childRect.height;
|
|
336
306
|
var config = {
|
|
@@ -343,11 +313,10 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
|
|
|
343
313
|
};
|
|
344
314
|
judgeAndUpdatePosition(childRect, config);
|
|
345
315
|
};
|
|
346
|
-
|
|
347
316
|
var setTopCenterOffset = function setTopCenterOffset(_ref6) {
|
|
348
317
|
var popoverWidth = _ref6.popoverWidth,
|
|
349
|
-
|
|
350
|
-
|
|
318
|
+
popoverHeight = _ref6.popoverHeight,
|
|
319
|
+
childRect = _ref6.childRect;
|
|
351
320
|
var left = -(popoverWidth - childRect.width) / 2;
|
|
352
321
|
var bottom = verticalOffset + childRect.height;
|
|
353
322
|
var config = {
|
|
@@ -360,11 +329,10 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
|
|
|
360
329
|
};
|
|
361
330
|
judgeAndUpdatePosition(childRect, config);
|
|
362
331
|
};
|
|
363
|
-
|
|
364
332
|
var setTopLeftOffset = function setTopLeftOffset(_ref7) {
|
|
365
333
|
var popoverWidth = _ref7.popoverWidth,
|
|
366
|
-
|
|
367
|
-
|
|
334
|
+
popoverHeight = _ref7.popoverHeight,
|
|
335
|
+
childRect = _ref7.childRect;
|
|
368
336
|
var left = -horizontalOffset;
|
|
369
337
|
var bottom = verticalOffset + childRect.height;
|
|
370
338
|
var config = {
|
|
@@ -377,11 +345,10 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
|
|
|
377
345
|
};
|
|
378
346
|
judgeAndUpdatePosition(childRect, config);
|
|
379
347
|
};
|
|
380
|
-
|
|
381
348
|
var setBottomRightOffset = function setBottomRightOffset(_ref8) {
|
|
382
349
|
var popoverWidth = _ref8.popoverWidth,
|
|
383
|
-
|
|
384
|
-
|
|
350
|
+
popoverHeight = _ref8.popoverHeight,
|
|
351
|
+
childRect = _ref8.childRect;
|
|
385
352
|
var left = -(popoverWidth - childRect.width - horizontalOffset);
|
|
386
353
|
var top = verticalOffset + childRect.height;
|
|
387
354
|
var config = {
|
|
@@ -394,11 +361,10 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
|
|
|
394
361
|
};
|
|
395
362
|
judgeAndUpdatePosition(childRect, config);
|
|
396
363
|
};
|
|
397
|
-
|
|
398
364
|
var setBottomCenterOffset = function setBottomCenterOffset(_ref9) {
|
|
399
365
|
var popoverWidth = _ref9.popoverWidth,
|
|
400
|
-
|
|
401
|
-
|
|
366
|
+
popoverHeight = _ref9.popoverHeight,
|
|
367
|
+
childRect = _ref9.childRect;
|
|
402
368
|
var left = -(popoverWidth - childRect.width) / 2;
|
|
403
369
|
var top = verticalOffset + childRect.height;
|
|
404
370
|
var config = {
|
|
@@ -411,11 +377,10 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
|
|
|
411
377
|
};
|
|
412
378
|
judgeAndUpdatePosition(childRect, config);
|
|
413
379
|
};
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
childRect = _ref10.childRect;
|
|
380
|
+
var setBottomLeftOffset = function setBottomLeftOffset(_ref0) {
|
|
381
|
+
var popoverWidth = _ref0.popoverWidth,
|
|
382
|
+
popoverHeight = _ref0.popoverHeight,
|
|
383
|
+
childRect = _ref0.childRect;
|
|
419
384
|
var left = -horizontalOffset;
|
|
420
385
|
var top = verticalOffset + childRect.height;
|
|
421
386
|
var config = {
|
|
@@ -428,73 +393,60 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
|
|
|
428
393
|
};
|
|
429
394
|
judgeAndUpdatePosition(childRect, config);
|
|
430
395
|
};
|
|
396
|
+
|
|
431
397
|
/**
|
|
432
398
|
* 计算气泡内容的位置
|
|
433
399
|
* @en Calculate the position of the content of the bubble
|
|
434
400
|
*/
|
|
435
|
-
|
|
436
|
-
|
|
437
401
|
var computedChildAndPopoverOffset = useCallback(function () {
|
|
438
402
|
var _popoverRef$current;
|
|
439
|
-
|
|
440
403
|
var popoverEle = (_popoverRef$current = popoverRef.current) == null ? void 0 : _popoverRef$current.content;
|
|
441
404
|
if (!popoverEle) return;
|
|
442
405
|
var popoverWidth = popoverEle.offsetWidth;
|
|
443
406
|
var popoverHeight = popoverEle.offsetHeight;
|
|
444
407
|
if (popoverWidth === 0 || popoverHeight === 0) return;
|
|
445
408
|
var childEle = childRef.current;
|
|
446
|
-
|
|
447
409
|
if (!childEle) {
|
|
448
410
|
return;
|
|
449
411
|
}
|
|
450
|
-
|
|
451
412
|
var childRect = childEle.getBoundingClientRect();
|
|
452
413
|
var config = {
|
|
453
414
|
popoverWidth: popoverWidth,
|
|
454
415
|
popoverHeight: popoverHeight,
|
|
455
416
|
childRect: childRect
|
|
456
417
|
};
|
|
457
|
-
|
|
458
418
|
switch (directionState) {
|
|
459
419
|
case 'topRight':
|
|
460
420
|
setTopRightOffset(config);
|
|
461
421
|
break;
|
|
462
|
-
|
|
463
422
|
case 'topCenter':
|
|
464
423
|
setTopCenterOffset(config);
|
|
465
424
|
break;
|
|
466
|
-
|
|
467
425
|
case 'topLeft':
|
|
468
426
|
setTopLeftOffset(config);
|
|
469
427
|
break;
|
|
470
|
-
|
|
471
428
|
case 'bottomRight':
|
|
472
429
|
setBottomRightOffset(config);
|
|
473
430
|
break;
|
|
474
|
-
|
|
475
431
|
case 'bottomCenter':
|
|
476
432
|
setBottomCenterOffset(config);
|
|
477
433
|
break;
|
|
478
|
-
|
|
479
434
|
case 'bottomLeft':
|
|
480
435
|
setBottomLeftOffset(config);
|
|
481
436
|
break;
|
|
482
|
-
|
|
483
437
|
default:
|
|
484
438
|
break;
|
|
485
439
|
}
|
|
486
440
|
}, [childRef, directionState, popoverRef, setTopRightOffset, setTopCenterOffset, setTopLeftOffset, setBottomRightOffset, setBottomCenterOffset, setBottomLeftOffset]);
|
|
487
|
-
|
|
488
441
|
var resetPosition = function resetPosition() {
|
|
489
442
|
setPosition(defaultPosition);
|
|
490
443
|
setDirectionState(direction);
|
|
491
444
|
};
|
|
445
|
+
|
|
492
446
|
/**
|
|
493
447
|
* 调整气泡垂直方向回调
|
|
494
448
|
* @en Callback when adjusting the vertical direction of the bubble
|
|
495
449
|
*/
|
|
496
|
-
|
|
497
|
-
|
|
498
450
|
var onAdjustDirection = function onAdjustDirection(vertical) {
|
|
499
451
|
if (directionState.indexOf(vertical) === -1) {
|
|
500
452
|
var newDirection = directionState.replace(/top|bottom/, vertical);
|
|
@@ -502,28 +454,24 @@ export var usePosition = function usePosition(props, popoverRef, childRef, wrapp
|
|
|
502
454
|
directionStateRef.current = newDirection;
|
|
503
455
|
}
|
|
504
456
|
};
|
|
457
|
+
|
|
505
458
|
/**
|
|
506
459
|
* 判断垂直方向是否需要调整
|
|
507
460
|
* @en Determine whether the vertical direction needs to be adjusted
|
|
508
461
|
*/
|
|
509
|
-
|
|
510
|
-
|
|
511
462
|
var adjustVerticalDirection = useCallback(function () {
|
|
512
463
|
var popover = popoverRef.current;
|
|
513
|
-
|
|
514
464
|
if (!popover) {
|
|
515
465
|
return;
|
|
516
466
|
}
|
|
517
|
-
|
|
518
467
|
var popoverEle = popover.content;
|
|
519
468
|
if (!popoverEle) return;
|
|
520
|
-
|
|
521
469
|
var _popoverEle$getBoundi = popoverEle.getBoundingClientRect(),
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
// @en The top safety distance is not enough, adjust to the bottom
|
|
525
|
-
|
|
470
|
+
top = _popoverEle$getBoundi.top,
|
|
471
|
+
bottom = _popoverEle$getBoundi.bottom;
|
|
526
472
|
|
|
473
|
+
// 顶部安全距离不够,调整到底部
|
|
474
|
+
// @en The top safety distance is not enough, adjust to the bottom
|
|
527
475
|
if (directionState.indexOf('top') !== -1 && top < getOffset('top') || directionState.indexOf('bottom') !== -1 && bottom + getOffset('bottom') > window.innerHeight) {
|
|
528
476
|
computedChildAndPopoverOffset();
|
|
529
477
|
}
|
package/esm/popover/index.js
CHANGED
|
@@ -2,12 +2,13 @@ import { componentWrapper } from '@arco-design/mobile-utils';
|
|
|
2
2
|
import { componentGenerator } from './menu';
|
|
3
3
|
import { Popover } from './popover';
|
|
4
4
|
export * from './type';
|
|
5
|
+
|
|
5
6
|
/**
|
|
6
7
|
* 气泡菜单
|
|
7
8
|
* @en Bubble menu
|
|
8
9
|
*/
|
|
9
|
-
|
|
10
10
|
var Menu = componentGenerator(Popover);
|
|
11
|
+
|
|
11
12
|
/**
|
|
12
13
|
* 气泡卡片,支持六个方向,小箭头在各个方向均基于挂载的子元素居中放置,支持受控和非受控模式。
|
|
13
14
|
* @en Bubble card, supports six directions, small arrows are centered in each direction based on the mounted sub-elements, and supports controlled and uncontrolled modes.
|
|
@@ -16,7 +17,6 @@ var Menu = componentGenerator(Popover);
|
|
|
16
17
|
* @type 信息展示
|
|
17
18
|
* @type_en Data Display
|
|
18
19
|
*/
|
|
19
|
-
|
|
20
20
|
export default componentWrapper(Popover, {
|
|
21
21
|
Menu: Menu
|
|
22
22
|
});
|