@arco-design/mobile-react 2.24.1 → 2.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/README.en-US.md +2 -2
- package/README.md +2 -2
- package/cjs/_helpers/hooks.js +42 -120
- package/cjs/_helpers/index.js +2 -13
- package/cjs/_helpers/react-dom.js +0 -12
- package/cjs/_helpers/render.js +0 -12
- package/cjs/action-sheet/index.js +10 -30
- package/cjs/action-sheet/methods.js +0 -2
- package/cjs/action-sheet/style/css/index.css +1 -1
- package/cjs/action-sheet/style/css/index.js +0 -2
- package/cjs/action-sheet/style/index.js +0 -2
- package/cjs/avatar/group.js +12 -24
- package/cjs/avatar/index.js +51 -77
- package/cjs/avatar/style/css/index.js +0 -2
- package/cjs/avatar/style/index.js +0 -2
- package/cjs/badge/index.js +18 -29
- package/cjs/badge/style/css/index.css +3 -2
- package/cjs/badge/style/css/index.js +0 -1
- package/cjs/badge/style/index.js +0 -1
- package/cjs/button/hooks.js +15 -20
- package/cjs/button/index.js +46 -67
- package/cjs/button/style/css/index.js +0 -2
- package/cjs/button/style/index.js +0 -2
- package/cjs/carousel/demo/style/css/mobile.css +12 -0
- package/cjs/carousel/demo/style/mobile.less +8 -0
- package/cjs/carousel/index.d.ts +1 -1
- package/cjs/carousel/index.js +159 -275
- package/cjs/carousel/style/css/index.js +0 -1
- package/cjs/carousel/style/index.js +0 -1
- package/cjs/cell/arrow.js +0 -3
- package/cjs/cell/cell.js +14 -23
- package/cjs/cell/group.js +9 -21
- package/cjs/cell/index.js +1 -7
- package/cjs/cell/style/css/index.js +0 -1
- package/cjs/cell/style/index.js +0 -1
- package/cjs/checkbox/checkbox.js +31 -57
- package/cjs/checkbox/group.js +24 -38
- package/cjs/checkbox/hooks/index.js +0 -2
- package/cjs/checkbox/hooks/useMergeProps.js +7 -14
- package/cjs/checkbox/index.d.ts +4 -1
- package/cjs/checkbox/index.js +5 -10
- package/cjs/checkbox/style/css/index.js +0 -1
- package/cjs/checkbox/style/index.js +0 -1
- package/cjs/checkbox/type.js +0 -2
- package/cjs/circle-progress/index.js +37 -57
- package/cjs/circle-progress/style/css/index.js +0 -1
- package/cjs/circle-progress/style/index.js +0 -1
- package/cjs/collapse/collapse.js +27 -56
- package/cjs/collapse/group.js +20 -44
- package/cjs/collapse/index.js +0 -9
- package/cjs/collapse/style/css/index.js +0 -1
- package/cjs/collapse/style/index.js +0 -1
- package/cjs/collapse/utils.js +0 -7
- package/cjs/context-provider/index.js +10 -28
- package/cjs/context-provider/style/css/index.js +0 -1
- package/cjs/context-provider/style/index.js +0 -1
- package/cjs/count-down/hooks.js +24 -43
- package/cjs/count-down/index.js +29 -37
- package/cjs/count-down/singleton.js +2 -12
- package/cjs/count-down/style/css/index.js +0 -1
- package/cjs/count-down/style/index.js +0 -1
- package/cjs/count-down/util.js +33 -47
- package/cjs/date-picker/helper.js +7 -14
- package/cjs/date-picker/index.d.ts +3 -2
- package/cjs/date-picker/index.js +52 -114
- package/cjs/date-picker/style/css/index.js +0 -2
- package/cjs/date-picker/style/index.js +0 -2
- package/cjs/dialog/index.js +28 -54
- package/cjs/dialog/methods.js +9 -22
- package/cjs/dialog/style/css/index.css +2 -1
- package/cjs/dialog/style/css/index.js +0 -2
- package/cjs/dialog/style/index.js +0 -2
- package/cjs/dropdown/dropdown.js +74 -113
- package/cjs/dropdown/index.js +1 -8
- package/cjs/dropdown/options.js +12 -28
- package/cjs/dropdown/style/css/index.js +0 -1
- package/cjs/dropdown/style/index.js +0 -1
- package/cjs/dropdown-menu/dropdown-menu.js +49 -84
- package/cjs/dropdown-menu/helper.js +6 -27
- package/cjs/dropdown-menu/index.js +0 -6
- package/cjs/dropdown-menu/style/css/index.js +0 -2
- package/cjs/dropdown-menu/style/index.js +0 -2
- package/cjs/ellipsis/components/js-ellipsis.js +35 -71
- package/cjs/ellipsis/components/native-ellipsis.js +9 -15
- package/cjs/ellipsis/index.js +19 -32
- package/cjs/ellipsis/style/css/index.css +3 -0
- package/cjs/ellipsis/style/css/index.js +0 -1
- package/cjs/ellipsis/style/index.js +0 -1
- package/cjs/ellipsis/style/index.less +4 -0
- package/cjs/ellipsis/utils/dom.js +0 -8
- package/cjs/ellipsis/utils/is.js +1 -5
- package/cjs/form/form-item-context.d.ts +3 -0
- package/cjs/form/form-item-context.js +12 -0
- package/cjs/form/form-item.d.ts +4 -0
- package/cjs/form/form-item.js +313 -0
- package/cjs/form/index.d.ts +16 -0
- package/cjs/form/index.js +96 -0
- package/cjs/form/style/css/index.css +92 -0
- package/cjs/form/style/css/index.d.ts +2 -0
- package/cjs/form/style/css/index.js +4 -0
- package/cjs/form/style/index.d.ts +2 -0
- package/cjs/form/style/index.js +4 -0
- package/cjs/form/style/index.less +91 -0
- package/cjs/form/type.d.ts +371 -0
- package/cjs/form/type.js +30 -0
- package/cjs/form/useForm.d.ts +18 -0
- package/cjs/form/useForm.js +225 -0
- package/cjs/form/utils.d.ts +6 -0
- package/cjs/form/utils.js +36 -0
- package/cjs/grid/index.js +21 -41
- package/cjs/grid/style/css/index.js +0 -1
- package/cjs/grid/style/index.js +0 -1
- package/cjs/icon/IconAdd/index.js +5 -12
- package/cjs/icon/IconArrowBack/index.js +5 -12
- package/cjs/icon/IconArrowDown/index.js +5 -12
- package/cjs/icon/IconArrowIn/index.js +5 -12
- package/cjs/icon/IconArrowUp/index.js +5 -12
- package/cjs/icon/IconCheck/index.js +5 -12
- package/cjs/icon/IconCheckBold/index.js +5 -12
- package/cjs/icon/IconCircleChecked/index.js +5 -12
- package/cjs/icon/IconCircleDisabled/index.js +5 -12
- package/cjs/icon/IconCircleUnchecked/index.js +5 -12
- package/cjs/icon/IconClear/index.js +5 -12
- package/cjs/icon/IconClose/index.js +5 -12
- package/cjs/icon/IconCloseBold/index.js +5 -12
- package/cjs/icon/IconDelete/index.js +5 -12
- package/cjs/icon/IconEdit/index.js +5 -12
- package/cjs/icon/IconErrorCircle/index.js +5 -12
- package/cjs/icon/IconEyeInvisible/index.js +5 -12
- package/cjs/icon/IconEyeVisible/index.js +5 -12
- package/cjs/icon/IconEyelashInvisible/index.js +5 -12
- package/cjs/icon/IconGift/index.js +5 -12
- package/cjs/icon/IconHeart/index.js +5 -12
- package/cjs/icon/IconHome/index.js +5 -12
- package/cjs/icon/IconLikeCircle/index.js +5 -12
- package/cjs/icon/IconMinus/index.js +5 -12
- package/cjs/icon/IconMore/index.js +5 -12
- package/cjs/icon/IconNotice/index.js +5 -12
- package/cjs/icon/IconNoticeOff/index.js +5 -12
- package/cjs/icon/IconPicture/index.js +5 -12
- package/cjs/icon/IconPlay/index.js +5 -12
- package/cjs/icon/IconQuestionCircle/index.js +5 -12
- package/cjs/icon/IconRefresh/index.js +5 -12
- package/cjs/icon/IconSad/index.js +5 -12
- package/cjs/icon/IconScan/index.js +5 -12
- package/cjs/icon/IconSearch/index.js +5 -12
- package/cjs/icon/IconSetting/index.js +5 -12
- package/cjs/icon/IconShop/index.js +5 -12
- package/cjs/icon/IconShopping/index.js +5 -12
- package/cjs/icon/IconSmileFill/index.js +5 -12
- package/cjs/icon/IconSound/index.js +5 -12
- package/cjs/icon/IconSquareChecked/index.js +5 -12
- package/cjs/icon/IconSquareDisabled/index.js +5 -12
- package/cjs/icon/IconSquareUnchecked/index.js +5 -12
- package/cjs/icon/IconStar/index.js +5 -12
- package/cjs/icon/IconStarFill/index.js +5 -12
- package/cjs/icon/IconStarHalf/index.js +5 -12
- package/cjs/icon/IconSubway/index.js +5 -12
- package/cjs/icon/IconSuccessCircle/index.js +5 -12
- package/cjs/icon/IconTriDown/index.js +5 -12
- package/cjs/icon/IconTriUp/index.js +5 -12
- package/cjs/icon/IconUpload/index.js +5 -12
- package/cjs/icon/IconUser/index.js +5 -12
- package/cjs/icon/IconUserFill/index.js +5 -12
- package/cjs/icon/IconWarnCircle/index.js +5 -12
- package/cjs/icon/IconWarnCircleFill/index.js +5 -12
- package/cjs/icon/index.js +0 -111
- package/cjs/image/index.js +53 -92
- package/cjs/image/style/css/index.js +0 -2
- package/cjs/image/style/index.js +0 -2
- package/cjs/image-picker/add-icon.js +0 -3
- package/cjs/image-picker/index.d.ts +3 -2
- package/cjs/image-picker/index.js +62 -103
- package/cjs/image-picker/style/css/index.js +0 -2
- package/cjs/image-picker/style/index.js +0 -2
- package/cjs/image-preview/demo/style/css/mobile.css +10 -0
- package/cjs/image-preview/demo/style/mobile.less +11 -0
- package/cjs/image-preview/index.d.ts +5 -0
- package/cjs/image-preview/index.js +124 -239
- package/cjs/image-preview/methods.js +5 -18
- package/cjs/image-preview/style/css/index.css +1 -0
- package/cjs/image-preview/style/css/index.js +0 -4
- package/cjs/image-preview/style/index.js +0 -4
- package/cjs/image-preview/style/index.less +1 -1
- package/cjs/index.d.ts +7 -6
- package/cjs/index.js +15 -120
- package/cjs/input/hooks.js +42 -75
- package/cjs/input/index.d.ts +3 -2
- package/cjs/input/index.js +36 -47
- package/cjs/input/style/css/index.css +1 -1
- package/cjs/input/style/css/index.js +0 -1
- package/cjs/input/style/index.js +0 -1
- package/cjs/load-more/index.js +29 -56
- package/cjs/load-more/style/css/index.js +0 -1
- package/cjs/load-more/style/index.js +0 -1
- package/cjs/loading/index.js +19 -48
- package/cjs/loading/style/css/index.js +0 -1
- package/cjs/loading/style/index.js +0 -1
- package/cjs/masking/index.js +46 -79
- package/cjs/masking/methods.js +4 -19
- package/cjs/masking/style/css/index.js +0 -2
- package/cjs/masking/style/index.js +0 -2
- package/cjs/nav-bar/back-icon.js +1 -5
- package/cjs/nav-bar/index.js +36 -60
- package/cjs/nav-bar/style/css/index.js +0 -1
- package/cjs/nav-bar/style/index.js +0 -1
- package/cjs/notice-bar/index.js +31 -54
- package/cjs/notice-bar/style/css/index.js +0 -1
- package/cjs/notice-bar/style/index.js +0 -1
- package/cjs/notify/index.d.ts +8 -8
- package/cjs/notify/index.js +20 -49
- package/cjs/notify/methods.js +2 -17
- package/cjs/notify/style/css/index.css +2 -2
- package/cjs/notify/style/css/index.js +0 -1
- package/cjs/notify/style/index.js +0 -1
- package/cjs/pagination/arrow.js +0 -3
- package/cjs/pagination/index.js +27 -58
- package/cjs/pagination/style/css/index.js +0 -1
- package/cjs/pagination/style/index.js +0 -1
- package/cjs/picker/index.d.ts +3 -2
- package/cjs/picker/index.js +50 -89
- package/cjs/picker/style/css/index.js +0 -3
- package/cjs/picker/style/index.js +0 -3
- package/cjs/picker-view/components/cascader.js +14 -31
- package/cjs/picker-view/components/multi-picker.js +6 -20
- package/cjs/picker-view/components/picker-cell.js +45 -97
- package/cjs/picker-view/index.d.ts +3 -2
- package/cjs/picker-view/index.js +36 -77
- package/cjs/picker-view/style/css/index.js +0 -1
- package/cjs/picker-view/style/index.js +0 -1
- package/cjs/popover/hooks/index.js +0 -4
- package/cjs/popover/hooks/useEvent.js +25 -49
- package/cjs/popover/hooks/usePosition.js +94 -151
- package/cjs/popover/index.js +1 -8
- package/cjs/popover/menu.js +32 -51
- package/cjs/popover/popover-inner.js +30 -47
- package/cjs/popover/popover.js +69 -101
- package/cjs/popover/style/css/index.js +0 -2
- package/cjs/popover/style/index.js +0 -2
- package/cjs/popup/index.js +22 -39
- package/cjs/popup/methods.js +0 -2
- package/cjs/popup/style/css/index.js +0 -2
- package/cjs/popup/style/index.js +0 -2
- package/cjs/popup-swiper/index.js +38 -80
- package/cjs/popup-swiper/methods.js +0 -2
- package/cjs/popup-swiper/style/css/index.js +0 -2
- package/cjs/popup-swiper/style/index.js +0 -2
- package/cjs/portal/index.js +3 -8
- package/cjs/portal/style/css/index.js +0 -1
- package/cjs/portal/style/index.js +0 -1
- package/cjs/progress/index.js +27 -44
- package/cjs/progress/style/css/index.js +0 -1
- package/cjs/progress/style/index.js +0 -1
- package/cjs/pull-refresh/android-pull-refresh.js +58 -100
- package/cjs/pull-refresh/hooks.js +11 -32
- package/cjs/pull-refresh/index.d.ts +9 -3
- package/cjs/pull-refresh/index.js +5 -15
- package/cjs/pull-refresh/ios-pull-refresh.js +53 -80
- package/cjs/pull-refresh/model.js +0 -1
- package/cjs/pull-refresh/style/css/index.js +0 -2
- package/cjs/pull-refresh/style/index.js +0 -2
- package/cjs/radio/group.js +20 -34
- package/cjs/radio/index.d.ts +4 -1
- package/cjs/radio/index.js +5 -10
- package/cjs/radio/radio.js +0 -10
- package/cjs/radio/style/css/index.js +0 -1
- package/cjs/radio/style/index.js +0 -1
- package/cjs/rate/index.d.ts +3 -2
- package/cjs/rate/index.js +34 -57
- package/cjs/rate/style/css/index.js +0 -1
- package/cjs/rate/style/index.js +0 -1
- package/cjs/search-bar/association.js +14 -32
- package/cjs/search-bar/cancel-button.js +8 -16
- package/cjs/search-bar/highlight.js +14 -25
- package/cjs/search-bar/index.js +77 -97
- package/cjs/search-bar/style/css/index.js +0 -1
- package/cjs/search-bar/style/index.js +0 -1
- package/cjs/show-monitor/index.js +34 -93
- package/cjs/show-monitor/style/css/index.js +0 -1
- package/cjs/show-monitor/style/index.js +0 -1
- package/cjs/slider/hooks/index.js +0 -13
- package/cjs/slider/hooks/useSliderEvents.js +26 -55
- package/cjs/slider/hooks/useSliderIcon.js +6 -20
- package/cjs/slider/hooks/useSliderInit.js +32 -52
- package/cjs/slider/hooks/useSliderStyle.js +12 -24
- package/cjs/slider/index.d.ts +3 -2
- package/cjs/slider/index.js +56 -80
- package/cjs/slider/marks.js +12 -26
- package/cjs/slider/popover.js +4 -13
- package/cjs/slider/style/css/index.js +0 -2
- package/cjs/slider/style/index.js +0 -2
- package/cjs/slider/thumb.js +8 -23
- package/cjs/stepper/hooks/useButtonClick.js +19 -28
- package/cjs/stepper/hooks/useInputEvent.js +9 -18
- package/cjs/stepper/hooks/useValue.js +9 -14
- package/cjs/stepper/index.d.ts +3 -2
- package/cjs/stepper/index.js +92 -103
- package/cjs/stepper/style/css/index.js +0 -1
- package/cjs/stepper/style/index.js +0 -1
- package/cjs/steps/index.js +22 -40
- package/cjs/steps/step.js +10 -27
- package/cjs/steps/style/css/index.css +2 -2
- package/cjs/steps/style/css/index.js +0 -1
- package/cjs/steps/style/index.js +0 -1
- package/cjs/sticky/index.js +37 -66
- package/cjs/sticky/style/css/index.js +0 -1
- package/cjs/sticky/style/index.js +0 -1
- package/cjs/style.d.ts +7 -6
- package/cjs/style.js +7 -59
- package/cjs/swipe-action/index.js +40 -92
- package/cjs/swipe-action/item.js +9 -17
- package/cjs/swipe-action/style/css/index.js +0 -1
- package/cjs/swipe-action/style/index.js +0 -1
- package/cjs/swipe-load/index.js +55 -83
- package/cjs/swipe-load/style/css/index.js +0 -1
- package/cjs/swipe-load/style/index.js +0 -1
- package/cjs/switch/index.d.ts +3 -2
- package/cjs/switch/index.js +37 -54
- package/cjs/switch/style/css/index.js +0 -1
- package/cjs/switch/style/index.js +0 -1
- package/cjs/tab-bar/index.js +0 -7
- package/cjs/tab-bar/item.js +6 -24
- package/cjs/tab-bar/style/css/index.js +0 -1
- package/cjs/tab-bar/style/index.js +0 -1
- package/cjs/tab-bar/tab-bar.js +15 -31
- package/cjs/tabs/index.js +129 -192
- package/cjs/tabs/style/css/index.js +0 -1
- package/cjs/tabs/style/index.js +0 -1
- package/cjs/tabs/tab-cell-underline.js +25 -64
- package/cjs/tabs/tab-cell.js +66 -108
- package/cjs/tabs/tab-pane.js +49 -94
- package/cjs/tag/index.js +1 -8
- package/cjs/tag/list.js +11 -26
- package/cjs/tag/style/css/index.js +0 -1
- package/cjs/tag/style/index.js +0 -1
- package/cjs/tag/tag.js +20 -32
- package/cjs/textarea/index.d.ts +3 -2
- package/cjs/textarea/index.js +45 -63
- package/cjs/textarea/style/css/index.css +1 -1
- package/cjs/textarea/style/css/index.js +0 -2
- package/cjs/textarea/style/index.js +0 -2
- package/cjs/toast/index.d.ts +12 -12
- package/cjs/toast/index.js +26 -61
- package/cjs/toast/methods.js +2 -16
- package/cjs/toast/style/css/index.js +0 -3
- package/cjs/toast/style/index.js +0 -3
- package/cjs/transition/index.js +10 -18
- package/cjs/transition/style/css/index.js +0 -1
- package/cjs/transition/style/index.js +0 -1
- package/dist/index.js +21033 -20542
- package/dist/index.min.js +12 -3
- package/dist/style.css +826 -740
- package/dist/style.min.css +1 -1
- package/esm/_helpers/hooks.js +41 -99
- package/esm/_helpers/index.js +2 -3
- package/esm/_helpers/react-dom.js +0 -10
- package/esm/_helpers/render.js +0 -7
- package/esm/action-sheet/index.js +10 -16
- package/esm/action-sheet/style/css/index.css +1 -1
- package/esm/avatar/group.js +12 -16
- package/esm/avatar/index.js +51 -62
- package/esm/badge/index.js +18 -22
- package/esm/badge/style/css/index.css +3 -2
- package/esm/button/hooks.js +15 -18
- package/esm/button/index.js +46 -57
- package/esm/carousel/demo/style/css/mobile.css +12 -0
- package/esm/carousel/demo/style/mobile.less +8 -0
- package/esm/carousel/index.d.ts +1 -1
- package/esm/carousel/index.js +159 -267
- package/esm/cell/cell.js +14 -14
- package/esm/cell/group.js +9 -11
- package/esm/cell/index.js +1 -1
- package/esm/checkbox/checkbox.js +31 -42
- package/esm/checkbox/group.js +24 -28
- package/esm/checkbox/hooks/useMergeProps.js +7 -9
- package/esm/checkbox/index.d.ts +4 -1
- package/esm/checkbox/index.js +5 -3
- package/esm/checkbox/type.js +0 -1
- package/esm/circle-progress/index.js +37 -49
- package/esm/collapse/collapse.js +27 -46
- package/esm/collapse/group.js +20 -34
- package/esm/collapse/index.js +1 -1
- package/esm/collapse/utils.js +0 -1
- package/esm/context-provider/index.js +10 -18
- package/esm/count-down/hooks.js +24 -37
- package/esm/count-down/index.js +30 -29
- package/esm/count-down/singleton.js +2 -5
- package/esm/count-down/util.js +33 -42
- package/esm/date-picker/helper.js +7 -9
- package/esm/date-picker/index.d.ts +3 -2
- package/esm/date-picker/index.js +53 -103
- package/esm/dialog/index.js +28 -39
- package/esm/dialog/methods.js +9 -11
- package/esm/dialog/style/css/index.css +2 -1
- package/esm/dropdown/dropdown.js +74 -102
- package/esm/dropdown/index.js +1 -1
- package/esm/dropdown/options.js +12 -20
- package/esm/dropdown-menu/dropdown-menu.js +49 -74
- package/esm/dropdown-menu/helper.js +6 -16
- package/esm/dropdown-menu/index.js +1 -1
- package/esm/ellipsis/components/js-ellipsis.js +35 -62
- package/esm/ellipsis/components/native-ellipsis.js +9 -11
- package/esm/ellipsis/index.js +20 -21
- package/esm/ellipsis/style/css/index.css +3 -0
- package/esm/ellipsis/style/index.less +4 -0
- package/esm/ellipsis/utils/dom.js +0 -7
- package/esm/ellipsis/utils/is.js +1 -1
- package/esm/form/form-item-context.d.ts +3 -0
- package/esm/form/form-item-context.js +6 -0
- package/esm/form/form-item.d.ts +4 -0
- package/esm/form/form-item.js +306 -0
- package/esm/form/index.d.ts +16 -0
- package/esm/form/index.js +79 -0
- package/esm/form/style/css/index.css +92 -0
- package/esm/form/style/css/index.d.ts +2 -0
- package/esm/form/style/css/index.js +2 -0
- package/esm/form/style/index.d.ts +2 -0
- package/esm/form/style/index.js +2 -0
- package/esm/form/style/index.less +91 -0
- package/esm/form/type.d.ts +371 -0
- package/esm/form/type.js +24 -0
- package/esm/form/useForm.d.ts +18 -0
- package/esm/form/useForm.js +217 -0
- package/esm/form/utils.d.ts +6 -0
- package/esm/form/utils.js +30 -0
- package/esm/grid/index.js +21 -34
- package/esm/icon/IconAdd/index.js +5 -6
- package/esm/icon/IconArrowBack/index.js +5 -6
- package/esm/icon/IconArrowDown/index.js +5 -6
- package/esm/icon/IconArrowIn/index.js +5 -6
- package/esm/icon/IconArrowUp/index.js +5 -6
- package/esm/icon/IconCheck/index.js +5 -6
- package/esm/icon/IconCheckBold/index.js +5 -6
- package/esm/icon/IconCircleChecked/index.js +5 -6
- package/esm/icon/IconCircleDisabled/index.js +5 -6
- package/esm/icon/IconCircleUnchecked/index.js +5 -6
- package/esm/icon/IconClear/index.js +5 -6
- package/esm/icon/IconClose/index.js +5 -6
- package/esm/icon/IconCloseBold/index.js +5 -6
- package/esm/icon/IconDelete/index.js +5 -6
- package/esm/icon/IconEdit/index.js +5 -6
- package/esm/icon/IconErrorCircle/index.js +5 -6
- package/esm/icon/IconEyeInvisible/index.js +5 -6
- package/esm/icon/IconEyeVisible/index.js +5 -6
- package/esm/icon/IconEyelashInvisible/index.js +5 -6
- package/esm/icon/IconGift/index.js +5 -6
- package/esm/icon/IconHeart/index.js +5 -6
- package/esm/icon/IconHome/index.js +5 -6
- package/esm/icon/IconLikeCircle/index.js +5 -6
- package/esm/icon/IconMinus/index.js +5 -6
- package/esm/icon/IconMore/index.js +5 -6
- package/esm/icon/IconNotice/index.js +5 -6
- package/esm/icon/IconNoticeOff/index.js +5 -6
- package/esm/icon/IconPicture/index.js +5 -6
- package/esm/icon/IconPlay/index.js +5 -6
- package/esm/icon/IconQuestionCircle/index.js +5 -6
- package/esm/icon/IconRefresh/index.js +5 -6
- package/esm/icon/IconSad/index.js +5 -6
- package/esm/icon/IconScan/index.js +5 -6
- package/esm/icon/IconSearch/index.js +5 -6
- package/esm/icon/IconSetting/index.js +5 -6
- package/esm/icon/IconShop/index.js +5 -6
- package/esm/icon/IconShopping/index.js +5 -6
- package/esm/icon/IconSmileFill/index.js +5 -6
- package/esm/icon/IconSound/index.js +5 -6
- package/esm/icon/IconSquareChecked/index.js +5 -6
- package/esm/icon/IconSquareDisabled/index.js +5 -6
- package/esm/icon/IconSquareUnchecked/index.js +5 -6
- package/esm/icon/IconStar/index.js +5 -6
- package/esm/icon/IconStarFill/index.js +5 -6
- package/esm/icon/IconStarHalf/index.js +5 -6
- package/esm/icon/IconSubway/index.js +5 -6
- package/esm/icon/IconSuccessCircle/index.js +5 -6
- package/esm/icon/IconTriDown/index.js +5 -6
- package/esm/icon/IconTriUp/index.js +5 -6
- package/esm/icon/IconUpload/index.js +5 -6
- package/esm/icon/IconUser/index.js +5 -6
- package/esm/icon/IconUserFill/index.js +5 -6
- package/esm/icon/IconWarnCircle/index.js +5 -6
- package/esm/icon/IconWarnCircleFill/index.js +5 -6
- package/esm/image/index.js +53 -83
- package/esm/image-picker/index.d.ts +3 -2
- package/esm/image-picker/index.js +63 -90
- package/esm/image-preview/demo/style/css/mobile.css +10 -0
- package/esm/image-preview/demo/style/mobile.less +11 -0
- package/esm/image-preview/index.d.ts +5 -0
- package/esm/image-preview/index.js +124 -218
- package/esm/image-preview/methods.js +4 -14
- package/esm/image-preview/style/css/index.css +1 -0
- package/esm/image-preview/style/index.less +1 -1
- package/esm/index.d.ts +7 -6
- package/esm/index.js +7 -6
- package/esm/input/hooks.js +42 -67
- package/esm/input/index.d.ts +3 -2
- package/esm/input/index.js +37 -40
- package/esm/input/style/css/index.css +1 -1
- package/esm/load-more/index.js +29 -48
- package/esm/loading/index.js +19 -40
- package/esm/masking/index.js +46 -64
- package/esm/masking/methods.js +4 -15
- package/esm/nav-bar/back-icon.js +1 -3
- package/esm/nav-bar/index.js +36 -51
- package/esm/notice-bar/index.js +31 -47
- package/esm/notify/index.d.ts +8 -8
- package/esm/notify/index.js +20 -33
- package/esm/notify/methods.js +2 -13
- package/esm/notify/style/css/index.css +2 -2
- package/esm/pagination/index.js +27 -50
- package/esm/picker/index.d.ts +3 -2
- package/esm/picker/index.js +51 -76
- package/esm/picker-view/components/cascader.js +14 -23
- package/esm/picker-view/components/multi-picker.js +6 -16
- package/esm/picker-view/components/picker-cell.js +45 -89
- package/esm/picker-view/index.d.ts +3 -2
- package/esm/picker-view/index.js +36 -63
- package/esm/popover/hooks/useEvent.js +26 -41
- package/esm/popover/hooks/usePosition.js +94 -144
- package/esm/popover/index.js +2 -2
- package/esm/popover/menu.js +32 -41
- package/esm/popover/popover-inner.js +30 -38
- package/esm/popover/popover.js +69 -90
- package/esm/popup/index.js +22 -25
- package/esm/popup-swiper/index.js +38 -64
- package/esm/portal/index.js +3 -5
- package/esm/progress/index.js +27 -36
- package/esm/pull-refresh/android-pull-refresh.js +58 -90
- package/esm/pull-refresh/hooks.js +11 -23
- package/esm/pull-refresh/index.d.ts +9 -3
- package/esm/pull-refresh/index.js +5 -6
- package/esm/pull-refresh/ios-pull-refresh.js +53 -68
- package/esm/pull-refresh/model.js +0 -1
- package/esm/radio/group.js +20 -24
- package/esm/radio/index.d.ts +4 -1
- package/esm/radio/index.js +5 -3
- package/esm/rate/index.d.ts +3 -2
- package/esm/rate/index.js +35 -49
- package/esm/search-bar/association.js +14 -27
- package/esm/search-bar/cancel-button.js +8 -11
- package/esm/search-bar/highlight.js +14 -20
- package/esm/search-bar/index.js +77 -86
- package/esm/show-monitor/index.js +34 -85
- package/esm/slider/hooks/useSliderEvents.js +26 -51
- package/esm/slider/hooks/useSliderIcon.js +6 -13
- package/esm/slider/hooks/useSliderInit.js +32 -46
- package/esm/slider/hooks/useSliderStyle.js +12 -20
- package/esm/slider/index.d.ts +3 -2
- package/esm/slider/index.js +57 -72
- package/esm/slider/marks.js +12 -18
- package/esm/slider/popover.js +4 -6
- package/esm/slider/thumb.js +8 -15
- package/esm/stepper/hooks/useButtonClick.js +19 -27
- package/esm/stepper/hooks/useInputEvent.js +9 -16
- package/esm/stepper/hooks/useValue.js +9 -12
- package/esm/stepper/index.d.ts +3 -2
- package/esm/stepper/index.js +93 -92
- package/esm/steps/index.js +22 -27
- package/esm/steps/step.js +10 -19
- package/esm/steps/style/css/index.css +2 -2
- package/esm/sticky/index.js +37 -57
- package/esm/style.d.ts +7 -6
- package/esm/style.js +7 -6
- package/esm/swipe-action/index.js +40 -80
- package/esm/swipe-action/item.js +9 -12
- package/esm/swipe-load/index.js +56 -75
- package/esm/switch/index.d.ts +3 -2
- package/esm/switch/index.js +38 -49
- package/esm/tab-bar/index.js +0 -1
- package/esm/tab-bar/item.js +6 -13
- package/esm/tab-bar/tab-bar.js +15 -21
- package/esm/tabs/index.js +130 -180
- package/esm/tabs/tab-cell-underline.js +25 -56
- package/esm/tabs/tab-cell.js +66 -98
- package/esm/tabs/tab-pane.js +49 -85
- package/esm/tag/index.js +2 -2
- package/esm/tag/list.js +11 -16
- package/esm/tag/tag.js +20 -22
- package/esm/textarea/index.d.ts +3 -2
- package/esm/textarea/index.js +46 -56
- package/esm/textarea/style/css/index.css +1 -1
- package/esm/toast/index.d.ts +12 -12
- package/esm/toast/index.js +26 -42
- package/esm/toast/methods.js +2 -12
- package/esm/transition/index.js +10 -12
- package/package.json +3 -4
- package/style/css/public.css +1 -0
- package/tokens/app/arcodesign/default/css-variables.less +17 -7
- package/tokens/app/arcodesign/default/index.d.ts +10 -0
- package/tokens/app/arcodesign/default/index.js +18 -10
- package/tokens/app/arcodesign/default/index.json +139 -23
- package/tokens/app/arcodesign/default/index.less +17 -7
- package/umd/_helpers/hooks.js +42 -117
- package/umd/_helpers/index.js +2 -6
- package/umd/_helpers/react-dom.js +0 -11
- package/umd/_helpers/render.js +0 -9
- package/umd/action-sheet/index.js +10 -22
- package/umd/action-sheet/methods.js +0 -1
- package/umd/action-sheet/style/css/index.css +1 -1
- package/umd/avatar/group.js +12 -20
- package/umd/avatar/index.js +51 -68
- package/umd/badge/index.js +18 -25
- package/umd/badge/style/css/index.css +3 -2
- package/umd/button/hooks.js +15 -19
- package/umd/button/index.js +46 -60
- package/umd/carousel/demo/style/css/mobile.css +12 -0
- package/umd/carousel/demo/style/mobile.less +8 -0
- package/umd/carousel/index.d.ts +1 -1
- package/umd/carousel/index.js +159 -270
- package/umd/cell/arrow.js +0 -2
- package/umd/cell/cell.js +14 -18
- package/umd/cell/group.js +9 -17
- package/umd/cell/index.js +1 -2
- package/umd/checkbox/checkbox.js +31 -45
- package/umd/checkbox/group.js +24 -34
- package/umd/checkbox/hooks/useMergeProps.js +7 -12
- package/umd/checkbox/index.d.ts +4 -1
- package/umd/checkbox/index.js +5 -5
- package/umd/checkbox/type.js +0 -2
- package/umd/circle-progress/index.js +37 -52
- package/umd/collapse/collapse.js +27 -50
- package/umd/collapse/group.js +20 -38
- package/umd/collapse/index.js +0 -3
- package/umd/collapse/utils.js +0 -5
- package/umd/context-provider/index.js +10 -23
- package/umd/count-down/hooks.js +24 -39
- package/umd/count-down/index.js +29 -31
- package/umd/count-down/singleton.js +2 -10
- package/umd/count-down/util.js +33 -47
- package/umd/date-picker/helper.js +7 -13
- package/umd/date-picker/index.d.ts +3 -2
- package/umd/date-picker/index.js +52 -105
- package/umd/dialog/index.js +28 -44
- package/umd/dialog/methods.js +9 -18
- package/umd/dialog/style/css/index.css +2 -1
- package/umd/dropdown/dropdown.js +74 -106
- package/umd/dropdown/index.js +1 -3
- package/umd/dropdown/options.js +12 -24
- package/umd/dropdown-menu/dropdown-menu.js +49 -78
- package/umd/dropdown-menu/helper.js +6 -25
- package/umd/dropdown-menu/index.js +0 -2
- package/umd/ellipsis/components/js-ellipsis.js +35 -68
- package/umd/ellipsis/components/native-ellipsis.js +9 -13
- package/umd/ellipsis/index.js +19 -24
- package/umd/ellipsis/style/css/index.css +3 -0
- package/umd/ellipsis/style/index.less +4 -0
- package/umd/ellipsis/utils/dom.js +0 -8
- package/umd/ellipsis/utils/is.js +1 -5
- package/umd/form/form-item-context.d.ts +3 -0
- package/umd/form/form-item-context.js +25 -0
- package/umd/form/form-item.d.ts +4 -0
- package/umd/form/form-item.js +322 -0
- package/umd/form/index.d.ts +16 -0
- package/umd/form/index.js +106 -0
- package/umd/form/style/css/index.css +92 -0
- package/umd/form/style/css/index.d.ts +2 -0
- package/umd/form/style/css/index.js +15 -0
- package/umd/form/style/index.d.ts +2 -0
- package/umd/form/style/index.js +15 -0
- package/umd/form/style/index.less +91 -0
- package/umd/form/type.d.ts +371 -0
- package/umd/form/type.js +44 -0
- package/umd/form/useForm.d.ts +18 -0
- package/umd/form/useForm.js +238 -0
- package/umd/form/utils.d.ts +6 -0
- package/umd/form/utils.js +50 -0
- package/umd/grid/index.js +21 -37
- package/umd/icon/IconAdd/index.js +5 -7
- package/umd/icon/IconArrowBack/index.js +5 -7
- package/umd/icon/IconArrowDown/index.js +5 -7
- package/umd/icon/IconArrowIn/index.js +5 -7
- package/umd/icon/IconArrowUp/index.js +5 -7
- package/umd/icon/IconCheck/index.js +5 -7
- package/umd/icon/IconCheckBold/index.js +5 -7
- package/umd/icon/IconCircleChecked/index.js +5 -7
- package/umd/icon/IconCircleDisabled/index.js +5 -7
- package/umd/icon/IconCircleUnchecked/index.js +5 -7
- package/umd/icon/IconClear/index.js +5 -7
- package/umd/icon/IconClose/index.js +5 -7
- package/umd/icon/IconCloseBold/index.js +5 -7
- package/umd/icon/IconDelete/index.js +5 -7
- package/umd/icon/IconEdit/index.js +5 -7
- package/umd/icon/IconErrorCircle/index.js +5 -7
- package/umd/icon/IconEyeInvisible/index.js +5 -7
- package/umd/icon/IconEyeVisible/index.js +5 -7
- package/umd/icon/IconEyelashInvisible/index.js +5 -7
- package/umd/icon/IconGift/index.js +5 -7
- package/umd/icon/IconHeart/index.js +5 -7
- package/umd/icon/IconHome/index.js +5 -7
- package/umd/icon/IconLikeCircle/index.js +5 -7
- package/umd/icon/IconMinus/index.js +5 -7
- package/umd/icon/IconMore/index.js +5 -7
- package/umd/icon/IconNotice/index.js +5 -7
- package/umd/icon/IconNoticeOff/index.js +5 -7
- package/umd/icon/IconPicture/index.js +5 -7
- package/umd/icon/IconPlay/index.js +5 -7
- package/umd/icon/IconQuestionCircle/index.js +5 -7
- package/umd/icon/IconRefresh/index.js +5 -7
- package/umd/icon/IconSad/index.js +5 -7
- package/umd/icon/IconScan/index.js +5 -7
- package/umd/icon/IconSearch/index.js +5 -7
- package/umd/icon/IconSetting/index.js +5 -7
- package/umd/icon/IconShop/index.js +5 -7
- package/umd/icon/IconShopping/index.js +5 -7
- package/umd/icon/IconSmileFill/index.js +5 -7
- package/umd/icon/IconSound/index.js +5 -7
- package/umd/icon/IconSquareChecked/index.js +5 -7
- package/umd/icon/IconSquareDisabled/index.js +5 -7
- package/umd/icon/IconSquareUnchecked/index.js +5 -7
- package/umd/icon/IconStar/index.js +5 -7
- package/umd/icon/IconStarFill/index.js +5 -7
- package/umd/icon/IconStarHalf/index.js +5 -7
- package/umd/icon/IconSubway/index.js +5 -7
- package/umd/icon/IconSuccessCircle/index.js +5 -7
- package/umd/icon/IconTriDown/index.js +5 -7
- package/umd/icon/IconTriUp/index.js +5 -7
- package/umd/icon/IconUpload/index.js +5 -7
- package/umd/icon/IconUser/index.js +5 -7
- package/umd/icon/IconUserFill/index.js +5 -7
- package/umd/icon/IconWarnCircle/index.js +5 -7
- package/umd/icon/IconWarnCircleFill/index.js +5 -7
- package/umd/icon/index.js +0 -1
- package/umd/image/index.js +53 -86
- package/umd/image-picker/add-icon.js +0 -2
- package/umd/image-picker/index.d.ts +3 -2
- package/umd/image-picker/index.js +62 -92
- package/umd/image-preview/demo/style/css/mobile.css +10 -0
- package/umd/image-preview/demo/style/mobile.less +11 -0
- package/umd/image-preview/index.d.ts +5 -0
- package/umd/image-preview/index.js +124 -224
- package/umd/image-preview/methods.js +5 -15
- package/umd/image-preview/style/css/index.css +1 -0
- package/umd/image-preview/style/index.less +1 -1
- package/umd/index.d.ts +7 -6
- package/umd/index.js +19 -18
- package/umd/input/hooks.js +42 -71
- package/umd/input/index.d.ts +3 -2
- package/umd/input/index.js +36 -42
- package/umd/input/style/css/index.css +1 -1
- package/umd/load-more/index.js +29 -51
- package/umd/loading/index.js +19 -43
- package/umd/masking/index.js +46 -71
- package/umd/masking/methods.js +4 -16
- package/umd/nav-bar/back-icon.js +1 -4
- package/umd/nav-bar/index.js +36 -54
- package/umd/notice-bar/index.js +31 -50
- package/umd/notify/index.d.ts +8 -8
- package/umd/notify/index.js +20 -40
- package/umd/notify/methods.js +2 -14
- package/umd/notify/style/css/index.css +2 -2
- package/umd/pagination/arrow.js +0 -2
- package/umd/pagination/index.js +27 -53
- package/umd/picker/index.d.ts +3 -2
- package/umd/picker/index.js +50 -78
- package/umd/picker-view/components/cascader.js +14 -27
- package/umd/picker-view/components/multi-picker.js +6 -19
- package/umd/picker-view/components/picker-cell.js +45 -93
- package/umd/picker-view/index.d.ts +3 -2
- package/umd/picker-view/index.js +39 -69
- package/umd/popover/hooks/useEvent.js +25 -44
- package/umd/popover/hooks/usePosition.js +94 -145
- package/umd/popover/index.js +1 -3
- package/umd/popover/menu.js +32 -45
- package/umd/popover/popover-inner.js +30 -42
- package/umd/popover/popover.js +69 -94
- package/umd/popup/index.js +22 -31
- package/umd/popup/methods.js +0 -1
- package/umd/popup-swiper/index.js +38 -71
- package/umd/popup-swiper/methods.js +0 -1
- package/umd/portal/index.js +3 -6
- package/umd/progress/index.js +27 -39
- package/umd/pull-refresh/android-pull-refresh.js +58 -93
- package/umd/pull-refresh/hooks.js +11 -29
- package/umd/pull-refresh/index.d.ts +9 -3
- package/umd/pull-refresh/index.js +5 -8
- package/umd/pull-refresh/ios-pull-refresh.js +53 -72
- package/umd/pull-refresh/model.js +0 -1
- package/umd/radio/group.js +20 -30
- package/umd/radio/index.d.ts +4 -1
- package/umd/radio/index.js +5 -5
- package/umd/radio/radio.js +0 -5
- package/umd/rate/index.d.ts +3 -2
- package/umd/rate/index.js +34 -51
- package/umd/search-bar/association.js +14 -29
- package/umd/search-bar/cancel-button.js +8 -14
- package/umd/search-bar/highlight.js +14 -21
- package/umd/search-bar/index.js +77 -87
- package/umd/show-monitor/index.js +34 -89
- package/umd/slider/hooks/index.js +0 -4
- package/umd/slider/hooks/useSliderEvents.js +26 -52
- package/umd/slider/hooks/useSliderIcon.js +6 -17
- package/umd/slider/hooks/useSliderInit.js +32 -50
- package/umd/slider/hooks/useSliderStyle.js +12 -22
- package/umd/slider/index.d.ts +3 -2
- package/umd/slider/index.js +56 -73
- package/umd/slider/marks.js +12 -21
- package/umd/slider/popover.js +4 -10
- package/umd/slider/thumb.js +8 -18
- package/umd/stepper/hooks/useButtonClick.js +19 -27
- package/umd/stepper/hooks/useInputEvent.js +9 -17
- package/umd/stepper/hooks/useValue.js +9 -13
- package/umd/stepper/index.d.ts +3 -2
- package/umd/stepper/index.js +92 -94
- package/umd/steps/index.js +22 -32
- package/umd/steps/step.js +10 -22
- package/umd/steps/style/css/index.css +2 -2
- package/umd/sticky/index.js +37 -60
- package/umd/style.d.ts +7 -6
- package/umd/style.js +4 -4
- package/umd/swipe-action/index.js +40 -84
- package/umd/swipe-action/item.js +9 -14
- package/umd/swipe-load/index.js +55 -77
- package/umd/switch/index.d.ts +3 -2
- package/umd/switch/index.js +37 -50
- package/umd/tab-bar/index.js +0 -2
- package/umd/tab-bar/item.js +6 -19
- package/umd/tab-bar/tab-bar.js +15 -26
- package/umd/tabs/index.js +129 -183
- package/umd/tabs/tab-cell-underline.js +25 -60
- package/umd/tabs/tab-cell.js +66 -103
- package/umd/tabs/tab-pane.js +49 -89
- package/umd/tag/index.js +1 -3
- package/umd/tag/list.js +11 -20
- package/umd/tag/tag.js +20 -26
- package/umd/textarea/index.d.ts +3 -2
- package/umd/textarea/index.js +45 -58
- package/umd/textarea/style/css/index.css +1 -1
- package/umd/toast/index.d.ts +12 -12
- package/umd/toast/index.js +26 -49
- package/umd/toast/methods.js +2 -13
- package/umd/transition/index.js +10 -12
@@ -2,37 +2,32 @@ import React, { useState, useEffect, useMemo, useContext, useCallback } from 're
|
|
2
2
|
import { SliderContext } from '.';
|
3
3
|
export var useSliderInit = function useSliderInit(_ref) {
|
4
4
|
var _ref2, _ctx$value;
|
5
|
-
|
6
5
|
var commonIsTouching = _ref.commonIsTouching;
|
7
6
|
var ctx = useContext(SliderContext);
|
8
7
|
var value = ctx.value,
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
8
|
+
min = ctx.min,
|
9
|
+
max = ctx.max,
|
10
|
+
onAfterChange = ctx.onAfterChange,
|
11
|
+
onChange = ctx.onChange,
|
12
|
+
useMarkOnly = ctx.useMarkOnly,
|
13
|
+
marks = ctx.marks,
|
14
|
+
useRange = ctx.useRange;
|
16
15
|
var baseValue = (_ref2 = (_ctx$value = ctx == null ? void 0 : ctx.value) != null ? _ctx$value : ctx == null ? void 0 : ctx.defaultValue) != null ? _ref2 : min;
|
17
|
-
|
18
16
|
var _useState = useState(baseValue),
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
valueGroup = _useState[0],
|
18
|
+
setValueGroup = _useState[1];
|
22
19
|
var _useState2 = useState(false),
|
23
|
-
|
24
|
-
|
25
|
-
|
20
|
+
firstRender = _useState2[0],
|
21
|
+
setFirstRender = _useState2[1];
|
26
22
|
var _useState3 = useState(false),
|
27
|
-
|
28
|
-
|
29
|
-
// @en Base mark list
|
30
|
-
|
23
|
+
firstTouch = _useState3[0],
|
24
|
+
setFirstTouch = _useState3[1];
|
31
25
|
|
26
|
+
// 基础标签数组
|
27
|
+
// @en Base mark list
|
32
28
|
var baseConfig = useMemo(function () {
|
33
29
|
if (marks === void 0) return [];
|
34
30
|
var res = [];
|
35
|
-
|
36
31
|
if (typeof marks === 'number') {
|
37
32
|
res = Array((max - min) / marks + 1).fill('').map(function (_, idx) {
|
38
33
|
return idx * marks;
|
@@ -44,7 +39,6 @@ export var useSliderInit = function useSliderInit(_ref) {
|
|
44
39
|
return parseInt(e);
|
45
40
|
});
|
46
41
|
}
|
47
|
-
|
48
42
|
return [].concat(res).filter(function (e) {
|
49
43
|
return e <= max && e >= min;
|
50
44
|
}).sort(function (a, b) {
|
@@ -53,17 +47,16 @@ export var useSliderInit = function useSliderInit(_ref) {
|
|
53
47
|
}, [marks, max, min]);
|
54
48
|
var validate = useCallback(function (newValue) {
|
55
49
|
if (typeof valueGroup === 'number') return newValue <= valueGroup;
|
56
|
-
|
57
50
|
var _sort = [].concat(valueGroup).sort(function (a, b) {
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
51
|
+
return a > b ? 1 : -1;
|
52
|
+
}),
|
53
|
+
small = _sort[0],
|
54
|
+
large = _sort[1];
|
63
55
|
return newValue >= small && newValue <= large;
|
64
|
-
}, [valueGroup]);
|
65
|
-
// @en Actual mark tags
|
56
|
+
}, [valueGroup]);
|
66
57
|
|
58
|
+
// 实际 mark 标签
|
59
|
+
// @en Actual mark tags
|
67
60
|
var runTimeConfig = useMemo(function () {
|
68
61
|
return baseConfig.map(function (e) {
|
69
62
|
var label = marks && !Array.isArray(marks) && marks[String(e)] && typeof marks !== 'number' ? marks[String(e)] : /*#__PURE__*/React.createElement("p", null, e);
|
@@ -73,12 +66,12 @@ export var useSliderInit = function useSliderInit(_ref) {
|
|
73
66
|
label: label
|
74
67
|
};
|
75
68
|
});
|
76
|
-
}, [baseConfig, valueGroup, validate, marks]);
|
77
|
-
// @en The mark value closest to the current value
|
69
|
+
}, [baseConfig, valueGroup, validate, marks]);
|
78
70
|
|
71
|
+
// 当前值最近的标签值
|
72
|
+
// @en The mark value closest to the current value
|
79
73
|
var formatMarksValue = useCallback(function (newValue) {
|
80
74
|
if (!useMarkOnly || marks === void 0) return newValue;
|
81
|
-
|
82
75
|
var format = function format(v) {
|
83
76
|
var idx;
|
84
77
|
baseConfig.forEach(function (e, i) {
|
@@ -86,72 +79,67 @@ export var useSliderInit = function useSliderInit(_ref) {
|
|
86
79
|
idx = i;
|
87
80
|
}
|
88
81
|
});
|
89
|
-
|
90
82
|
if (idx !== void 0) {
|
91
83
|
var largerIdx = idx + 1;
|
92
|
-
|
93
84
|
if (largerIdx < baseConfig.length && Math.abs(baseConfig[largerIdx] - v) < Math.abs(baseConfig[idx] - v)) {
|
94
85
|
return baseConfig[largerIdx];
|
95
86
|
}
|
96
|
-
|
97
87
|
return baseConfig[idx];
|
98
88
|
}
|
99
|
-
|
100
89
|
return baseConfig[0];
|
101
90
|
};
|
102
|
-
|
103
91
|
if (typeof newValue === 'number') return format(newValue);
|
104
92
|
return newValue.map(function (v) {
|
105
93
|
return format(v);
|
106
94
|
});
|
107
95
|
}, [useMarkOnly, marks, baseConfig]);
|
96
|
+
|
108
97
|
/**
|
109
98
|
* 标记第一次渲染,方便获取位置
|
110
99
|
* @en Mark the first render for easy location
|
111
100
|
*/
|
112
|
-
|
113
101
|
useEffect(function () {
|
114
102
|
if (commonIsTouching) setFirstTouch(true);
|
115
103
|
}, [commonIsTouching]);
|
104
|
+
|
116
105
|
/**
|
117
106
|
* 是否为 range,多个游标
|
118
107
|
* @en Whether it is range, multiple cursors
|
119
108
|
*/
|
120
|
-
|
121
109
|
var isMultiThumb = useMemo(function () {
|
122
110
|
return useRange || Array.isArray(baseValue);
|
123
111
|
}, [useRange, typeof baseValue === 'number']);
|
112
|
+
|
124
113
|
/**
|
125
114
|
* 为 range 组件初始化数据
|
126
115
|
* @en Initialize data for the range component
|
127
116
|
*/
|
128
|
-
|
129
117
|
useEffect(function () {
|
130
118
|
setFirstRender(true);
|
131
119
|
/**
|
132
120
|
* 初始化数据
|
133
121
|
* @en Initialize data
|
134
122
|
*/
|
135
|
-
|
136
123
|
var newValue = isMultiThumb && typeof valueGroup === 'number' ? formatMarksValue([valueGroup, valueGroup]) : formatMarksValue(valueGroup);
|
137
124
|
setValueGroup(newValue);
|
138
125
|
}, [isMultiThumb]);
|
126
|
+
|
139
127
|
/**
|
140
128
|
* 监听数据 value 变化
|
141
129
|
* @en Monitor data value changes
|
142
130
|
*/
|
143
|
-
|
144
131
|
useEffect(function () {
|
145
132
|
if (value === void 0 || !firstRender || commonIsTouching !== -1) return;
|
146
133
|
var newValue = isMultiThumb && typeof value === 'number' ? formatMarksValue([value, value]) : formatMarksValue(value);
|
147
|
-
setValueGroup(newValue);
|
134
|
+
setValueGroup(newValue);
|
135
|
+
// 如果受控需要还原
|
148
136
|
// @en If controlled, it needs to restore
|
149
137
|
}, [firstRender && value, commonIsTouching]);
|
138
|
+
|
150
139
|
/**
|
151
140
|
* 上报排序后的值
|
152
141
|
* @en report sorted value
|
153
142
|
*/
|
154
|
-
|
155
143
|
var formatValueGroup = useMemo(function () {
|
156
144
|
return typeof valueGroup === 'number' ? valueGroup : [].concat(valueGroup).sort(function (a, b) {
|
157
145
|
return a > b ? 1 : -1;
|
@@ -163,10 +151,8 @@ export var useSliderInit = function useSliderInit(_ref) {
|
|
163
151
|
}, [valueGroup]);
|
164
152
|
useEffect(function () {
|
165
153
|
if (!firstTouch) return;
|
166
|
-
|
167
154
|
if (commonIsTouching === -1) {
|
168
155
|
onAfterChange(formatMarksValue(formatValueGroup));
|
169
|
-
|
170
156
|
if (value === void 0) {
|
171
157
|
var newValue = formatMarksValue(valueGroup);
|
172
158
|
setValueGroup(newValue);
|
@@ -2,20 +2,17 @@ import { useContext, useMemo } from 'react';
|
|
2
2
|
import { SliderContext } from '.';
|
3
3
|
export var useSliderStyle = function useSliderStyle(_ref) {
|
4
4
|
var getLinePosition = _ref.getLinePosition,
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
commonIsTouching = _ref.commonIsTouching,
|
6
|
+
valueGroup = _ref.valueGroup;
|
8
7
|
var _useContext = useContext(SliderContext),
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
8
|
+
size = _useContext.size,
|
9
|
+
useAnimation = _useContext.useAnimation,
|
10
|
+
min = _useContext.min,
|
11
|
+
max = _useContext.max,
|
12
|
+
type = _useContext.type;
|
15
13
|
var isHorizontal = /^horizontal/g.test(type);
|
16
14
|
var heightStyle = useMemo(function () {
|
17
15
|
var _ref2;
|
18
|
-
|
19
16
|
if (size === void 0) return {};
|
20
17
|
var sizeCount = typeof size === 'string' ? parseInt(size) : size;
|
21
18
|
return _ref2 = {}, _ref2[isHorizontal ? 'height' : 'width'] = sizeCount + "px", _ref2;
|
@@ -25,25 +22,20 @@ export var useSliderStyle = function useSliderStyle(_ref) {
|
|
25
22
|
}, [commonIsTouching, useAnimation]);
|
26
23
|
var activeLineStyle = useMemo(function () {
|
27
24
|
var _ref3;
|
28
|
-
|
29
25
|
var _getLinePosition = getLinePosition(),
|
30
|
-
|
31
|
-
|
26
|
+
length = _getLinePosition.length;
|
32
27
|
var start = 0;
|
33
|
-
|
34
28
|
if (typeof valueGroup === 'number') {
|
35
29
|
length *= (valueGroup - min) / (max - min);
|
36
30
|
} else {
|
37
31
|
var _sort = [].concat(valueGroup).sort(function (a, b) {
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
32
|
+
return a > b ? 1 : -1;
|
33
|
+
}),
|
34
|
+
smaller = _sort[0],
|
35
|
+
larger = _sort[1];
|
43
36
|
start = (smaller - min) / (max - min) * length;
|
44
37
|
length = (larger - min) / (max - min) * length - start;
|
45
38
|
}
|
46
|
-
|
47
39
|
return _ref3 = {}, _ref3[isHorizontal ? 'left' : 'bottom'] = start + "px", _ref3[isHorizontal ? 'width' : 'height'] = Math.abs(length) + "px", _ref3;
|
48
40
|
}, [valueGroup, getLinePosition, min, max, isHorizontal]);
|
49
41
|
return {
|
package/esm/slider/index.d.ts
CHANGED
@@ -138,6 +138,7 @@ export interface SliderRef {
|
|
138
138
|
*/
|
139
139
|
dom: HTMLDivElement | null;
|
140
140
|
}
|
141
|
+
declare const _default: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<SliderRef>> & "Slider";
|
141
142
|
/**
|
142
143
|
* 滑动型输入器,展示当前值和可选范围。
|
143
144
|
* @en Slide input component, displays the current value and optional range.
|
@@ -145,6 +146,6 @@ export interface SliderRef {
|
|
145
146
|
* @name_en Slider
|
146
147
|
* @type 数据录入
|
147
148
|
* @type_en Data Entry
|
149
|
+
* @displayName Slider
|
148
150
|
*/
|
149
|
-
|
150
|
-
export default SliderWrapper;
|
151
|
+
export default _default;
|
package/esm/slider/index.js
CHANGED
@@ -1,79 +1,71 @@
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
2
2
|
import React, { useRef, forwardRef, useImperativeHandle, useContext, useState, useMemo, useCallback } from 'react';
|
3
|
-
import { cls } from '@arco-design/mobile-utils';
|
3
|
+
import { cls, componentWrapper } from '@arco-design/mobile-utils';
|
4
4
|
import { GlobalContext } from '../context-provider';
|
5
5
|
import { useSliderStyle, useSliderIcon, SliderContext, baseRenderThumb, useSliderInit, useSliderEvents } from './hooks';
|
6
6
|
import Thumb from './thumb';
|
7
7
|
import Marks from './marks';
|
8
8
|
var Slider = /*#__PURE__*/forwardRef(function (_, ref) {
|
9
9
|
var _useContext = useContext(GlobalContext),
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
_useContext$prefixCls = _useContext.prefixCls,
|
11
|
+
prefixCls = _useContext$prefixCls === void 0 ? '' : _useContext$prefixCls;
|
13
12
|
var _useContext2 = useContext(SliderContext),
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
13
|
+
className = _useContext2.className,
|
14
|
+
style = _useContext2.style,
|
15
|
+
disabled = _useContext2.disabled,
|
16
|
+
min = _useContext2.min,
|
17
|
+
max = _useContext2.max,
|
18
|
+
type = _useContext2.type,
|
19
|
+
showTooltip = _useContext2.showTooltip,
|
20
|
+
showMarks = _useContext2.showMarks;
|
23
21
|
var domRef = useRef(null);
|
24
|
-
var lineRef = useRef(null);
|
22
|
+
var lineRef = useRef(null);
|
23
|
+
// 拖动滑块的 index 为当前的 isTouching
|
25
24
|
// @en The index of the slider is the current isTouching
|
26
|
-
|
27
25
|
var _useState = useState(-1),
|
28
|
-
|
29
|
-
|
30
|
-
|
26
|
+
commonIsTouching = _useState[0],
|
27
|
+
setCommonIsTouching = _useState[1];
|
31
28
|
var isHorizontal = /^horizontal/g.test(type);
|
32
29
|
useImperativeHandle(ref, function () {
|
33
30
|
return {
|
34
31
|
dom: domRef.current
|
35
32
|
};
|
36
33
|
});
|
37
|
-
|
38
34
|
var _useSliderInit = useSliderInit({
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
35
|
+
commonIsTouching: commonIsTouching
|
36
|
+
}),
|
37
|
+
firstRender = _useSliderInit.firstRender,
|
38
|
+
valueGroup = _useSliderInit.valueGroup,
|
39
|
+
setValueGroup = _useSliderInit.setValueGroup,
|
40
|
+
runTimeConfig = _useSliderInit.runTimeConfig,
|
41
|
+
isMultiThumb = _useSliderInit.isMultiThumb;
|
47
42
|
|
43
|
+
// 最长线 div 位置
|
48
44
|
var getLinePosition = useCallback(function () {
|
49
45
|
var _lineRef$current$getB, _lineRef$current;
|
50
|
-
|
51
46
|
var _ref = (_lineRef$current$getB = (_lineRef$current = lineRef.current) == null ? void 0 : _lineRef$current.getBoundingClientRect()) != null ? _lineRef$current$getB : {
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
47
|
+
width: 0,
|
48
|
+
left: 0,
|
49
|
+
top: 0,
|
50
|
+
height: 0
|
51
|
+
},
|
52
|
+
width = _ref.width,
|
53
|
+
left = _ref.left,
|
54
|
+
top = _ref.top,
|
55
|
+
height = _ref.height;
|
62
56
|
return {
|
63
57
|
length: isHorizontal ? width : height,
|
64
58
|
start: isHorizontal ? left : top
|
65
59
|
};
|
66
60
|
}, [isHorizontal, firstRender]);
|
67
|
-
|
68
61
|
var _useSliderStyle = useSliderStyle({
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
62
|
+
getLinePosition: getLinePosition,
|
63
|
+
commonIsTouching: commonIsTouching,
|
64
|
+
valueGroup: valueGroup
|
65
|
+
}),
|
66
|
+
heightStyle = _useSliderStyle.heightStyle,
|
67
|
+
transitionClass = _useSliderStyle.transitionClass,
|
68
|
+
activeLineStyle = _useSliderStyle.activeLineStyle;
|
77
69
|
useSliderEvents({
|
78
70
|
lineRef: lineRef,
|
79
71
|
valueGroup: valueGroup,
|
@@ -81,36 +73,31 @@ var Slider = /*#__PURE__*/forwardRef(function (_, ref) {
|
|
81
73
|
getLinePosition: getLinePosition,
|
82
74
|
setCommonIsTouching: setCommonIsTouching
|
83
75
|
});
|
84
|
-
|
85
76
|
var _useSliderIcon = useSliderIcon({
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
77
|
+
valueGroup: valueGroup
|
78
|
+
}),
|
79
|
+
renderPrefixLabel = _useSliderIcon.renderPrefixLabel,
|
80
|
+
renderSuffixLabel = _useSliderIcon.renderSuffixLabel;
|
81
|
+
|
90
82
|
/**
|
91
83
|
* 为了减少 dom 元素计算,只改变激活 line 的样式,让对应的 thumb 附着在两边,所以需要实时调整 className
|
92
84
|
* @en In order to reduce the calculation of dom elements, only the style of the active line is changed, so that the corresponding thumb is attached to both sides, so the className needs to be adjusted in real time
|
93
85
|
*/
|
94
|
-
|
95
|
-
|
96
86
|
var thumbConfig = useMemo(function () {
|
97
87
|
if (isMultiThumb) {
|
98
88
|
var classNames = ['is-end', 'is-start'];
|
99
89
|
return Array(2).fill('').map(function (_, index) {
|
100
90
|
var childClassName = classNames[index];
|
101
|
-
|
102
91
|
if (valueGroup[index] > valueGroup[1 - index]) {
|
103
92
|
childClassName = classNames[0];
|
104
93
|
} else if (valueGroup[index] < valueGroup[1 - index]) {
|
105
94
|
childClassName = classNames[1];
|
106
95
|
}
|
107
|
-
|
108
96
|
return {
|
109
97
|
className: childClassName
|
110
98
|
};
|
111
99
|
});
|
112
100
|
}
|
113
|
-
|
114
101
|
return [{
|
115
102
|
className: 'is-end'
|
116
103
|
}];
|
@@ -155,30 +142,28 @@ var Slider = /*#__PURE__*/forwardRef(function (_, ref) {
|
|
155
142
|
}, cfg)));
|
156
143
|
})))), isHorizontal ? renderSuffixLabel : renderPrefixLabel);
|
157
144
|
});
|
158
|
-
/**
|
159
|
-
* 滑动型输入器,展示当前值和可选范围。
|
160
|
-
* @en Slide input component, displays the current value and optional range.
|
161
|
-
* @name 滑动输入条
|
162
|
-
* @name_en Slider
|
163
|
-
* @type 数据录入
|
164
|
-
* @type_en Data Entry
|
165
|
-
*/
|
166
|
-
|
167
145
|
var SliderWrapper = /*#__PURE__*/forwardRef(function (props, ref) {
|
168
146
|
var _useContext3 = useContext(GlobalContext),
|
169
|
-
|
170
|
-
|
171
|
-
|
147
|
+
_useContext3$prefixCl = _useContext3.prefixCls,
|
148
|
+
prefixCls = _useContext3$prefixCl === void 0 ? '' : _useContext3$prefixCl;
|
172
149
|
var defaultProps = useContext(SliderContext);
|
173
|
-
|
174
150
|
var newProps = _extends({}, defaultProps, {
|
175
151
|
renderThumb: baseRenderThumb(prefixCls)
|
176
152
|
}, props);
|
177
|
-
|
178
153
|
return /*#__PURE__*/React.createElement(SliderContext.Provider, {
|
179
154
|
value: newProps
|
180
155
|
}, /*#__PURE__*/React.createElement(Slider, {
|
181
156
|
ref: ref
|
182
157
|
}));
|
183
158
|
});
|
184
|
-
|
159
|
+
|
160
|
+
/**
|
161
|
+
* 滑动型输入器,展示当前值和可选范围。
|
162
|
+
* @en Slide input component, displays the current value and optional range.
|
163
|
+
* @name 滑动输入条
|
164
|
+
* @name_en Slider
|
165
|
+
* @type 数据录入
|
166
|
+
* @type_en Data Entry
|
167
|
+
* @displayName Slider
|
168
|
+
*/
|
169
|
+
export default componentWrapper(SliderWrapper, 'Slider');
|
package/esm/slider/marks.js
CHANGED
@@ -3,36 +3,31 @@ import React, { useContext, useCallback } from 'react';
|
|
3
3
|
import { cls } from '@arco-design/mobile-utils';
|
4
4
|
import { GlobalContext } from '../context-provider';
|
5
5
|
import { SliderContext } from './hooks';
|
6
|
-
|
7
6
|
function Marks(_ref) {
|
8
7
|
var runTimeConfig = _ref.runTimeConfig,
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
8
|
+
_ref$className = _ref.className,
|
9
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
10
|
+
_ref$style = _ref.style,
|
11
|
+
style = _ref$style === void 0 ? {} : _ref$style;
|
14
12
|
var _useContext = useContext(GlobalContext),
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
_useContext$prefixCls = _useContext.prefixCls,
|
14
|
+
prefixCls = _useContext$prefixCls === void 0 ? '' : _useContext$prefixCls;
|
18
15
|
var _useContext2 = useContext(SliderContext),
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
16
|
+
type = _useContext2.type,
|
17
|
+
showMarks = _useContext2.showMarks,
|
18
|
+
max = _useContext2.max,
|
19
|
+
min = _useContext2.min;
|
24
20
|
var isHorizontal = /^horizontal/g.test(type);
|
25
21
|
var genMarkStyle = useCallback(function (value) {
|
26
22
|
var _ref2;
|
27
|
-
|
28
23
|
return _ref2 = {}, _ref2[isHorizontal ? 'left' : 'bottom'] = (value - min) / (max - min) * 100 + "%", _ref2;
|
29
24
|
}, [isHorizontal, min, max]);
|
30
25
|
return /*#__PURE__*/React.createElement("div", {
|
31
26
|
className: prefixCls + "-slider-marks"
|
32
27
|
}, runTimeConfig.map(function (_ref3) {
|
33
28
|
var value = _ref3.value,
|
34
|
-
|
35
|
-
|
29
|
+
label = _ref3.label,
|
30
|
+
activated = _ref3.activated;
|
36
31
|
return /*#__PURE__*/React.createElement("div", {
|
37
32
|
key: value,
|
38
33
|
className: cls(prefixCls + "-slider-marks-item", {
|
@@ -44,5 +39,4 @@ function Marks(_ref) {
|
|
44
39
|
}, label));
|
45
40
|
}));
|
46
41
|
}
|
47
|
-
|
48
42
|
export default Marks;
|
package/esm/slider/popover.js
CHANGED
@@ -3,13 +3,11 @@ import Transition from '../transition';
|
|
3
3
|
import { GlobalContext } from '../context-provider';
|
4
4
|
export function Popover(_ref) {
|
5
5
|
var visible = _ref.visible,
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
content = _ref.content,
|
7
|
+
children = _ref.children;
|
9
8
|
var _useContext = useContext(GlobalContext),
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
_useContext$prefixCls = _useContext.prefixCls,
|
10
|
+
prefixCls = _useContext$prefixCls === void 0 ? '' : _useContext$prefixCls;
|
13
11
|
return /*#__PURE__*/React.createElement("div", {
|
14
12
|
className: prefixCls + "-slider-popover-wrapper"
|
15
13
|
}, /*#__PURE__*/React.createElement(Transition, {
|
package/esm/slider/thumb.js
CHANGED
@@ -3,22 +3,18 @@ import React, { useMemo, useContext } from 'react';
|
|
3
3
|
import { Popover } from './popover';
|
4
4
|
import { SliderContext } from './hooks';
|
5
5
|
import { GlobalContext } from '../context-provider';
|
6
|
-
|
7
6
|
var Thumb = function Thumb(_ref) {
|
8
7
|
var className = _ref.className,
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
value = _ref.value,
|
9
|
+
style = _ref.style,
|
10
|
+
isTouching = _ref.isTouching;
|
13
11
|
var _useContext = useContext(GlobalContext),
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
_useContext$prefixCls = _useContext.prefixCls,
|
13
|
+
prefixCls = _useContext$prefixCls === void 0 ? '' : _useContext$prefixCls;
|
17
14
|
var _useContext2 = useContext(SliderContext),
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
15
|
+
showTooltip = _useContext2.showTooltip,
|
16
|
+
renderThumb = _useContext2.renderThumb,
|
17
|
+
formatTooltip = _useContext2.formatTooltip;
|
22
18
|
var isHidden = showTooltip === 'never';
|
23
19
|
var renderValue = useMemo(function () {
|
24
20
|
return formatTooltip(value);
|
@@ -28,14 +24,12 @@ var Thumb = function Thumb(_ref) {
|
|
28
24
|
if (showTooltip === 'always') return true;
|
29
25
|
return isTouching;
|
30
26
|
}, [showTooltip, isTouching]);
|
31
|
-
|
32
27
|
var renderWrapper = function renderWrapper(el) {
|
33
28
|
return /*#__PURE__*/React.createElement("div", {
|
34
29
|
className: prefixCls + "-slider-thumb-wrapper " + className,
|
35
30
|
style: _extends({}, style)
|
36
31
|
}, el);
|
37
32
|
};
|
38
|
-
|
39
33
|
var thumbEl = typeof renderThumb === 'function' ? renderThumb(value) : renderThumb;
|
40
34
|
if (isHidden) return renderWrapper(thumbEl);
|
41
35
|
return renderWrapper( /*#__PURE__*/React.createElement(Popover, {
|
@@ -43,5 +37,4 @@ var Thumb = function Thumb(_ref) {
|
|
43
37
|
content: renderValue
|
44
38
|
}, thumbEl));
|
45
39
|
};
|
46
|
-
|
47
40
|
export default Thumb;
|
@@ -1,61 +1,53 @@
|
|
1
1
|
import { useEffect, useState } from 'react';
|
2
|
-
|
3
2
|
function correctCalculation(leftNumber, rightNumber, operator) {
|
4
3
|
var magnification = 1e17;
|
5
4
|
var left = leftNumber * magnification;
|
6
5
|
var right = rightNumber * magnification;
|
7
6
|
return operator === '-' ? (left - right) / magnification : (left + right) / magnification;
|
8
7
|
}
|
9
|
-
|
10
8
|
export default function useButtonClick(params) {
|
11
9
|
var actualInputValue = params.actualInputValue,
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
10
|
+
min = params.min,
|
11
|
+
max = params.max,
|
12
|
+
step = params.step,
|
13
|
+
disabled = params.disabled,
|
14
|
+
equalLimitDisabled = params.equalLimitDisabled,
|
15
|
+
updateValue = params.updateValue,
|
16
|
+
onAddButtonClick = params.onAddButtonClick,
|
17
|
+
onMinusButtonClick = params.onMinusButtonClick;
|
21
18
|
var _useState = useState(function () {
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
19
|
+
return actualInputValue === min || disabled;
|
20
|
+
}),
|
21
|
+
minusButtonDisable = _useState[0],
|
22
|
+
setMinusButtonDisable = _useState[1];
|
27
23
|
var _useState2 = useState(function () {
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
24
|
+
return actualInputValue === max || disabled;
|
25
|
+
}),
|
26
|
+
addButtonDisable = _useState2[0],
|
27
|
+
setAddButtonDisable = _useState2[1];
|
33
28
|
var handleMinusButtonClick = function handleMinusButtonClick(e) {
|
34
29
|
if (minusButtonDisable) {
|
35
30
|
return;
|
36
31
|
}
|
37
|
-
|
38
32
|
updateValue(function (oldValue) {
|
39
33
|
var result = correctCalculation(oldValue, step, '-');
|
40
34
|
return result < min ? equalLimitDisabled ? oldValue : min : result;
|
41
35
|
});
|
42
36
|
onMinusButtonClick && onMinusButtonClick(e);
|
43
37
|
};
|
44
|
-
|
45
38
|
var handleAddButtonClick = function handleAddButtonClick(e) {
|
46
39
|
if (addButtonDisable) {
|
47
40
|
return;
|
48
41
|
}
|
49
|
-
|
50
42
|
updateValue(function (oldValue) {
|
51
43
|
var result = correctCalculation(Number(oldValue), step, '+');
|
52
44
|
return result > max ? equalLimitDisabled ? oldValue : max : result;
|
53
45
|
});
|
54
46
|
onAddButtonClick && onAddButtonClick(e);
|
55
|
-
};
|
56
|
-
// Changes button status when value changed
|
57
|
-
|
47
|
+
};
|
58
48
|
|
49
|
+
// 当前值改变时,更新按钮状态
|
50
|
+
// Changes button status when value changed
|
59
51
|
useEffect(function () {
|
60
52
|
setMinusButtonDisable(actualInputValue <= min);
|
61
53
|
setAddButtonDisable(actualInputValue >= max);
|