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