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