@arco-design/mobile-react 2.24.2 → 2.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +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 +6 -1
- package/cjs/checkbox/index.js +6 -11
- 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 +5 -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 +33 -72
- package/cjs/ellipsis/components/native-ellipsis.js +9 -15
- package/cjs/ellipsis/index.js +19 -32
- package/cjs/ellipsis/style/css/index.js +0 -1
- package/cjs/ellipsis/style/index.js +0 -1
- package/cjs/ellipsis/utils/dom.js +0 -8
- package/cjs/ellipsis/utils/is.js +1 -5
- package/cjs/form/form-item-context.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 +5 -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 +5 -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 +5 -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 +5 -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 +6 -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 +5 -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 +5 -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 +5 -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 +5 -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 +5 -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 +21030 -20541
- package/dist/index.min.js +12 -3
- package/dist/style.css +823 -741
- 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 +6 -1
- package/esm/checkbox/index.js +6 -4
- 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 +5 -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 +33 -63
- package/esm/ellipsis/components/native-ellipsis.js +9 -11
- package/esm/ellipsis/index.js +20 -21
- package/esm/ellipsis/utils/dom.js +0 -7
- package/esm/ellipsis/utils/is.js +1 -1
- package/esm/form/form-item-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 +5 -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 +5 -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 +5 -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 +5 -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 +6 -1
- package/esm/radio/index.js +5 -3
- package/esm/rate/index.d.ts +5 -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 +5 -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 +5 -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 +5 -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 +5 -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/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 +6 -1
- package/umd/checkbox/index.js +6 -6
- 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 +5 -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 +33 -69
- package/umd/ellipsis/components/native-ellipsis.js +9 -13
- package/umd/ellipsis/index.js +19 -24
- package/umd/ellipsis/utils/dom.js +0 -8
- package/umd/ellipsis/utils/is.js +1 -5
- package/umd/form/form-item-context.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 +5 -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 +5 -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 +5 -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 +5 -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 +6 -1
- package/umd/radio/index.js +5 -5
- package/umd/radio/radio.js +0 -5
- package/umd/rate/index.d.ts +5 -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 +5 -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 +5 -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 +5 -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 +5 -2
- package/umd/textarea/index.js +45 -58
- package/umd/textarea/style/css/index.css +1 -1
- package/umd/toast/index.d.ts +12 -12
- package/umd/toast/index.js +26 -49
- package/umd/toast/methods.js +2 -13
- package/umd/transition/index.js +10 -12
package/esm/count-down/util.js
CHANGED
@@ -3,9 +3,10 @@
|
|
3
3
|
var SECOND = 1000;
|
4
4
|
var MINUTE = 60 * SECOND;
|
5
5
|
var HOUR = 60 * MINUTE;
|
6
|
-
var DAY = 24 * HOUR;
|
7
|
-
// @en Parse milliseconds into TimeDataType format
|
6
|
+
var DAY = 24 * HOUR;
|
8
7
|
|
8
|
+
// 把毫秒解析成TimeDataType格式
|
9
|
+
// @en Parse milliseconds into TimeDataType format
|
9
10
|
export function parseTime(time) {
|
10
11
|
var days = Math.floor(time / DAY);
|
11
12
|
var hours = Math.floor(time % DAY / HOUR);
|
@@ -19,106 +20,96 @@ export function parseTime(time) {
|
|
19
20
|
seconds: seconds,
|
20
21
|
milliseconds: milliseconds
|
21
22
|
};
|
22
|
-
}
|
23
|
+
}
|
24
|
+
// 把TimeDataType解析成毫秒
|
23
25
|
// @en Parse TimeDataType into milliseconds
|
24
|
-
|
25
26
|
export function unParseTime(time) {
|
26
27
|
var _time$days = time.days,
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
28
|
+
days = _time$days === void 0 ? 0 : _time$days,
|
29
|
+
_time$hours = time.hours,
|
30
|
+
hours = _time$hours === void 0 ? 0 : _time$hours,
|
31
|
+
_time$minutes = time.minutes,
|
32
|
+
minutes = _time$minutes === void 0 ? 0 : _time$minutes,
|
33
|
+
_time$seconds = time.seconds,
|
34
|
+
seconds = _time$seconds === void 0 ? 0 : _time$seconds,
|
35
|
+
_time$milliseconds = time.milliseconds,
|
36
|
+
milliseconds = _time$milliseconds === void 0 ? 0 : _time$milliseconds;
|
36
37
|
return days * DAY + hours * HOUR + minutes * MINUTE + seconds * SECOND + milliseconds;
|
37
|
-
}
|
38
|
+
}
|
39
|
+
// 判断是否在浏览器中运行
|
38
40
|
// @en Determine if it is running in the browser
|
39
|
-
|
40
|
-
|
41
|
+
export var inBrowser = typeof window !== 'undefined';
|
42
|
+
// 判断根元素
|
41
43
|
// @en Determine the root element
|
42
|
-
|
43
|
-
|
44
|
+
var root = inBrowser ? window : global;
|
45
|
+
// 根据id清除对应的animationFrame
|
44
46
|
// @en Clear the corresponding animationFrame according to the id
|
45
|
-
|
46
47
|
export function cancelRaf(id) {
|
47
48
|
var cancelAnimationFrame = root.cancelAnimationFrame || root.clearTimeout;
|
48
49
|
cancelAnimationFrame.call(root, id);
|
49
|
-
}
|
50
|
+
}
|
51
|
+
// 计算现在时间
|
50
52
|
// @en Calculate the current time
|
51
|
-
|
52
|
-
|
53
|
+
var prev = Date.now();
|
54
|
+
// requestAnimationFrame不存在时用setTimeout代替,得出id
|
53
55
|
// @en When requestAnimationFrame does not exist, use setTimeout instead to get the id
|
54
|
-
|
55
56
|
function rafPolyfill(fn) {
|
56
57
|
var curr = Date.now();
|
57
58
|
var ms = Math.max(0, 16 - (curr - prev));
|
58
59
|
var id = setTimeout(fn, ms);
|
59
60
|
prev = curr + ms;
|
60
61
|
return id;
|
61
|
-
}
|
62
|
+
}
|
63
|
+
// 得到animationFrame的id
|
62
64
|
// @en Get the id of animationFrame
|
63
|
-
|
64
|
-
|
65
65
|
export function raf(fn) {
|
66
66
|
var requestAnimationFrame = root.requestAnimationFrame || rafPolyfill;
|
67
67
|
return requestAnimationFrame.call(root, fn);
|
68
|
-
}
|
68
|
+
}
|
69
|
+
// 补0成需要的格式
|
69
70
|
// @en Fill 0 into the required format
|
70
|
-
|
71
71
|
export function padZero(num, targetLength) {
|
72
72
|
if (targetLength === void 0) {
|
73
73
|
targetLength = 2;
|
74
74
|
}
|
75
|
-
|
76
75
|
var str = "" + num;
|
77
|
-
|
78
76
|
while (str.length < targetLength) {
|
79
77
|
str = "0" + str;
|
80
78
|
}
|
81
|
-
|
82
79
|
return str;
|
83
|
-
}
|
80
|
+
}
|
81
|
+
// 根据传入的格式解析时间成特定格式
|
84
82
|
// @en Parse the time into a specific format according to the inputing format
|
85
|
-
|
86
83
|
export function parseFormat(formatArg, currentTime) {
|
87
84
|
var days = currentTime.days;
|
88
85
|
var format = formatArg;
|
89
86
|
var hours = currentTime.hours,
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
87
|
+
minutes = currentTime.minutes,
|
88
|
+
seconds = currentTime.seconds,
|
89
|
+
milliseconds = currentTime.milliseconds;
|
94
90
|
if (format.includes('D')) {
|
95
91
|
format = format.replace('DD', padZero(days)).replace('D', "" + days);
|
96
92
|
} else {
|
97
93
|
hours += days * 24;
|
98
94
|
}
|
99
|
-
|
100
95
|
if (format.includes('H')) {
|
101
96
|
format = format.replace('HH', padZero(hours)).replace('H', "" + hours);
|
102
97
|
} else {
|
103
98
|
minutes += hours * 60;
|
104
99
|
}
|
105
|
-
|
106
100
|
if (format.includes('m')) {
|
107
101
|
format = format.replace('mm', padZero(minutes)).replace('m', "" + minutes);
|
108
102
|
} else {
|
109
103
|
seconds += minutes * 60;
|
110
104
|
}
|
111
|
-
|
112
105
|
if (format.includes('s')) {
|
113
106
|
format = format.replace('ss', padZero(seconds)).replace('s', "" + seconds);
|
114
107
|
} else {
|
115
108
|
milliseconds += seconds * 1000;
|
116
109
|
}
|
117
|
-
|
118
110
|
if (format.includes('S')) {
|
119
111
|
var ms = padZero(milliseconds, 3);
|
120
112
|
format = format.replace(/S{3}/, ms).replace(/S{2}/, ms.slice(0, 2)).replace(/S{1}/, ms.charAt(0));
|
121
113
|
}
|
122
|
-
|
123
114
|
return format;
|
124
115
|
}
|
@@ -14,19 +14,17 @@ export function convertObjToTs(obj, defaultTs, utc) {
|
|
14
14
|
if (obj === void 0) {
|
15
15
|
obj = {};
|
16
16
|
}
|
17
|
-
|
18
17
|
var date = new DateWithUTC(defaultTs, utc);
|
19
18
|
var defaultDate = date.getDate();
|
20
|
-
!isNaN(obj.year) && date.setFullYear(obj.year);
|
19
|
+
!isNaN(obj.year) && date.setFullYear(obj.year);
|
20
|
+
// bugfix: setMonth后如果日期超限则会自动顺延到下月,此时返回月份就不准了,因此先设置date为1再设置month
|
21
21
|
// @en bugfix: After setMonth, if the date exceeds the limit, it will be automatically extended to the next month. At this time, the return month is not allowed, so first set date to 1 and then set month
|
22
|
-
|
23
22
|
if (!isNaN(obj.month)) {
|
24
23
|
date.setDate(1);
|
25
24
|
date.setMonth(obj.month - 1);
|
26
|
-
}
|
25
|
+
}
|
26
|
+
// date的值可能被修改,需要被还原
|
27
27
|
// @en The value of date may be modified and needs to be restored
|
28
|
-
|
29
|
-
|
30
28
|
date.setDate(isNaN(obj.date) ? defaultDate : obj.date);
|
31
29
|
!isNaN(obj.hour) && date.setHours(obj.hour);
|
32
30
|
!isNaN(obj.minute) && date.setMinutes(obj.minute);
|
@@ -35,14 +33,14 @@ export function convertObjToTs(obj, defaultTs, utc) {
|
|
35
33
|
}
|
36
34
|
export function oneOf(value, validList) {
|
37
35
|
return validList.indexOf(value) !== -1;
|
38
|
-
}
|
39
|
-
// @en Check whether the values in the keys in the two obj are consistent
|
36
|
+
}
|
40
37
|
|
38
|
+
// 查看两个obj中的keys里的各个值是否都一致
|
39
|
+
// @en Check whether the values in the keys in the two obj are consistent
|
41
40
|
export function judgeObj(dateObj1, dateObj2, keys) {
|
42
41
|
if (keys === void 0) {
|
43
42
|
keys = [];
|
44
43
|
}
|
45
|
-
|
46
44
|
return !keys.some(function (key) {
|
47
45
|
return dateObj1[key] !== dateObj2[key];
|
48
46
|
});
|
@@ -9,6 +9,9 @@ export interface DatePickerRef {
|
|
9
9
|
*/
|
10
10
|
dom: HTMLDivElement | null;
|
11
11
|
}
|
12
|
+
declare const _default: React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<DatePickerRef>> & {
|
13
|
+
displayName?: string | undefined;
|
14
|
+
};
|
12
15
|
/**
|
13
16
|
* 日期时间选择器,基于`Picker`组件扩展,支持指定范围,单位可精确到秒。
|
14
17
|
* @en Date picker, based on the `Picker` component, supports the specified range, the unit can be accurate to seconds.
|
@@ -16,6 +19,6 @@ export interface DatePickerRef {
|
|
16
19
|
* @type_en Data Entry
|
17
20
|
* @name 日期时间选择器
|
18
21
|
* @name_en DatePicker
|
22
|
+
* @displayName DatePicker
|
19
23
|
*/
|
20
|
-
|
21
|
-
export default DatePicker;
|
24
|
+
export default _default;
|
package/esm/date-picker/index.js
CHANGED
@@ -2,70 +2,55 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
|
3
3
|
var _excluded = ["currentTs", "className", "visible", "onOk", "onChange", "onValueChange", "mode", "typeArr", "minTs", "maxTs", "formatter", "valueFilter", "columnsProcessor", "touchToStop", "useUTC"];
|
4
4
|
import React, { useEffect, useRef, useState, useMemo, forwardRef, useImperativeHandle } from 'react';
|
5
|
-
import { cls } from '@arco-design/mobile-utils';
|
5
|
+
import { cls, componentWrapper } from '@arco-design/mobile-utils';
|
6
6
|
import Picker from '../picker';
|
7
7
|
import { ContextLayout } from '../context-provider';
|
8
8
|
import { convertTsToDateObj, oneOf, judgeObj, convertObjToTs } from './helper';
|
9
9
|
export * from './type';
|
10
10
|
var allTypes = ['year', 'month', 'date', 'hour', 'minute', 'second'];
|
11
|
-
|
12
11
|
var defaultFormatter = function defaultFormatter(value) {
|
13
12
|
return value < 10 ? "0" + value : String(value);
|
14
13
|
};
|
15
|
-
|
16
14
|
export var YEAR = 12 * 30 * 24 * 60 * 60 * 1000;
|
17
15
|
var initMinDate = Date.now() - 10 * YEAR;
|
18
16
|
var initMaxDate = Date.now() + 10 * YEAR;
|
19
17
|
var initDate = Date.now();
|
20
|
-
|
21
|
-
/**
|
22
|
-
* 日期时间选择器,基于`Picker`组件扩展,支持指定范围,单位可精确到秒。
|
23
|
-
* @en Date picker, based on the `Picker` component, supports the specified range, the unit can be accurate to seconds.
|
24
|
-
* @type 数据录入
|
25
|
-
* @type_en Data Entry
|
26
|
-
* @name 日期时间选择器
|
27
|
-
* @name_en DatePicker
|
28
|
-
*/
|
29
18
|
var DatePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
30
19
|
var _props$currentTs = props.currentTs,
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
20
|
+
userSetCurrentTs = _props$currentTs === void 0 ? initDate : _props$currentTs,
|
21
|
+
_props$className = props.className,
|
22
|
+
className = _props$className === void 0 ? '' : _props$className,
|
23
|
+
_props$visible = props.visible,
|
24
|
+
visible = _props$visible === void 0 ? false : _props$visible,
|
25
|
+
onOk = props.onOk,
|
26
|
+
onChange = props.onChange,
|
27
|
+
onValueChange = props.onValueChange,
|
28
|
+
_props$mode = props.mode,
|
29
|
+
mode = _props$mode === void 0 ? 'datetime' : _props$mode,
|
30
|
+
_props$typeArr = props.typeArr,
|
31
|
+
typeArr = _props$typeArr === void 0 ? [] : _props$typeArr,
|
32
|
+
_props$minTs = props.minTs,
|
33
|
+
minTs = _props$minTs === void 0 ? initMinDate : _props$minTs,
|
34
|
+
_props$maxTs = props.maxTs,
|
35
|
+
maxTs = _props$maxTs === void 0 ? initMaxDate : _props$maxTs,
|
36
|
+
_props$formatter = props.formatter,
|
37
|
+
formatter = _props$formatter === void 0 ? defaultFormatter : _props$formatter,
|
38
|
+
_props$valueFilter = props.valueFilter,
|
39
|
+
valueFilter = _props$valueFilter === void 0 ? function () {
|
40
|
+
return true;
|
41
|
+
} : _props$valueFilter,
|
42
|
+
columnsProcessor = props.columnsProcessor,
|
43
|
+
touchToStop = props.touchToStop,
|
44
|
+
_props$useUTC = props.useUTC,
|
45
|
+
useUTC = _props$useUTC === void 0 ? false : _props$useUTC,
|
46
|
+
otherProps = _objectWithoutPropertiesLoose(props, _excluded);
|
59
47
|
var currentTs = Math.min(maxTs, Math.max(minTs, userSetCurrentTs));
|
60
|
-
|
61
48
|
var _useState = useState([[]]),
|
62
|
-
|
63
|
-
|
64
|
-
|
49
|
+
data = _useState[0],
|
50
|
+
setData = _useState[1];
|
65
51
|
var _useState2 = useState([]),
|
66
|
-
|
67
|
-
|
68
|
-
|
52
|
+
value = _useState2[0],
|
53
|
+
setValue = _useState2[1];
|
69
54
|
var currentDateObjRef = useRef(_convertTsToDateObj(currentTs));
|
70
55
|
var minDateObjRef = useRef(_convertTsToDateObj(minTs));
|
71
56
|
var maxDateObjRef = useRef(_convertTsToDateObj(maxTs));
|
@@ -78,7 +63,6 @@ var DatePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
78
63
|
dom: pickerRef.current ? pickerRef.current.dom : null
|
79
64
|
};
|
80
65
|
});
|
81
|
-
|
82
66
|
function _getColumns() {
|
83
67
|
var dateObj = {};
|
84
68
|
allTypes.forEach(function (type) {
|
@@ -87,21 +71,17 @@ var DatePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
87
71
|
var columns = keyOptions.map(function (opt) {
|
88
72
|
return dateObj[opt];
|
89
73
|
});
|
90
|
-
|
91
74
|
if (columnsProcessor) {
|
92
75
|
columns = columnsProcessor(columns, currentDateObjRef.current);
|
93
76
|
}
|
94
|
-
|
95
77
|
return {
|
96
78
|
columns: columns,
|
97
79
|
dateObj: dateObj
|
98
80
|
};
|
99
81
|
}
|
100
|
-
|
101
82
|
function _getSelectValue(columns) {
|
102
83
|
var val = keyOptions.map(function (opt, index) {
|
103
84
|
var _curCol$Math$max;
|
104
|
-
|
105
85
|
var curCol = columns[index] || [];
|
106
86
|
var selectIndex = curCol.findIndex(function (col) {
|
107
87
|
return col.value === currentDateObjRef.current[opt];
|
@@ -110,58 +90,47 @@ var DatePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
110
90
|
});
|
111
91
|
return val;
|
112
92
|
}
|
113
|
-
|
114
93
|
function _initData() {
|
115
94
|
var _getColumns2 = _getColumns(),
|
116
|
-
|
117
|
-
|
95
|
+
columns = _getColumns2.columns;
|
118
96
|
var val = _getSelectValue(columns);
|
119
|
-
|
120
97
|
setData(function () {
|
121
98
|
return columns;
|
122
99
|
});
|
123
100
|
setValue(function () {
|
124
101
|
return val;
|
125
102
|
});
|
126
|
-
}
|
127
|
-
// @en Dynamically change the options of other columns based on the currently selected date
|
128
|
-
|
103
|
+
}
|
129
104
|
|
105
|
+
// 根据当前选中的日期动态改变其他列的options
|
106
|
+
// @en Dynamically change the options of other columns based on the currently selected date
|
130
107
|
function _getActualArray(type, nowDateObj) {
|
131
108
|
var normalRange = _getNormalRange(type, nowDateObj);
|
132
|
-
|
133
109
|
var range = [];
|
134
|
-
|
135
110
|
switch (type) {
|
136
111
|
case 'year':
|
137
112
|
range = [minDateObjRef.current.year, maxDateObjRef.current.year];
|
138
113
|
break;
|
139
|
-
|
140
114
|
default:
|
141
115
|
{
|
142
116
|
var checkKeys = allTypes.slice(0, allTypes.indexOf(type));
|
143
117
|
range = normalRange;
|
144
|
-
|
145
118
|
if (judgeObj(nowDateObj, minDateObjRef.current, checkKeys)) {
|
146
119
|
range[0] = minDateObjRef.current[type];
|
147
120
|
}
|
148
|
-
|
149
121
|
if (judgeObj(nowDateObj, maxDateObjRef.current, checkKeys)) {
|
150
122
|
range[range.length - 1] = maxDateObjRef.current[type];
|
151
123
|
}
|
152
124
|
}
|
153
125
|
}
|
154
|
-
|
155
126
|
return _convertRangeToArr(type, range);
|
156
127
|
}
|
157
|
-
|
158
128
|
function _convertRangeToArr(type, range) {
|
159
129
|
var _range$ = range[0],
|
160
|
-
|
161
|
-
|
162
|
-
|
130
|
+
start = _range$ === void 0 ? 0 : _range$,
|
131
|
+
_range$2 = range[1],
|
132
|
+
end = _range$2 === void 0 ? 0 : _range$2;
|
163
133
|
var arr = [];
|
164
|
-
|
165
134
|
for (var i = start; i <= end; i += 1) {
|
166
135
|
if (valueFilter(type, i)) {
|
167
136
|
var text = formatter(i, type);
|
@@ -171,60 +140,48 @@ var DatePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
171
140
|
});
|
172
141
|
}
|
173
142
|
}
|
174
|
-
|
175
143
|
return arr;
|
176
144
|
}
|
177
|
-
|
178
145
|
function _getNormalRange(type, nowDateObj) {
|
179
146
|
switch (type) {
|
180
147
|
case 'month':
|
181
148
|
return [1, 12];
|
182
|
-
|
183
149
|
case 'date':
|
184
150
|
if (nowDateObj.month === 2) {
|
185
151
|
// 闰年2月29天
|
186
152
|
// @en February 29th in leap year
|
187
153
|
return nowDateObj.year % 4 === 0 ? [1, 29] : [1, 28];
|
188
154
|
}
|
189
|
-
|
190
155
|
return oneOf(nowDateObj.month, [1, 3, 5, 7, 8, 10, 12]) ? [1, 31] : [1, 30];
|
191
|
-
|
192
156
|
case 'hour':
|
193
157
|
return [0, 23];
|
194
|
-
|
195
158
|
case 'minute':
|
196
159
|
case 'second':
|
197
160
|
return [0, 59];
|
198
|
-
|
199
161
|
default:
|
200
162
|
return [];
|
201
163
|
}
|
202
164
|
}
|
203
|
-
|
204
165
|
function _convertObjToTs(obj, defaultTs) {
|
205
166
|
return convertObjToTs(obj, defaultTs, useUTC);
|
206
167
|
}
|
207
|
-
|
208
168
|
function _convertTsToDateObj(ts) {
|
209
169
|
return convertTsToDateObj(ts, useUTC);
|
210
170
|
}
|
211
|
-
|
212
171
|
function _handlePickerChange(values, index) {
|
213
172
|
var type = keyOptions[index];
|
214
173
|
var nowDateObj = {};
|
215
174
|
values.forEach(function (i, keyIndex) {
|
216
175
|
nowDateObj[keyOptions[keyIndex]] = i;
|
217
176
|
});
|
218
|
-
|
219
177
|
if (~keyOptions.slice(0, keyOptions.length - 1).indexOf(type)) {
|
220
178
|
currentDateObjRef.current = nowDateObj;
|
221
|
-
|
222
179
|
var _getColumns3 = _getColumns(),
|
223
|
-
|
224
|
-
|
225
|
-
// @en Calibration selected date, For example, if you first select 2020-02-29 and change the year to 2019, there will be no 29th in February; calibration is required
|
226
|
-
|
180
|
+
columns = _getColumns3.columns,
|
181
|
+
dateObj = _getColumns3.dateObj;
|
227
182
|
|
183
|
+
// 校准选中日期,比如先选中2020-02-29 年份改为2019,则2月没有29日;需要校准
|
184
|
+
// @en Calibration selected date, For example, if you first select 2020-02-29 and change the year to 2019, there will be no 29th in February; calibration is required
|
228
185
|
keyOptions.forEach(function (key) {
|
229
186
|
if (dateObj[key].findIndex(function (item) {
|
230
187
|
return item.value === nowDateObj[key];
|
@@ -232,69 +189,53 @@ var DatePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
232
189
|
nowDateObj[key] = dateObj[key][dateObj[key].length - 1].value;
|
233
190
|
}
|
234
191
|
});
|
235
|
-
|
236
192
|
var val = _getSelectValue(columns);
|
237
|
-
|
238
193
|
setData(columns);
|
239
194
|
setValue(val);
|
240
195
|
}
|
241
|
-
|
242
196
|
if (onValueChange) {
|
243
197
|
onValueChange(_convertObjToTs(nowDateObj, currentTs), nowDateObj, index);
|
244
198
|
}
|
245
199
|
}
|
246
|
-
|
247
200
|
function _handlePickerConfirm(values) {
|
248
201
|
var nowDateObj = {};
|
249
202
|
values.forEach(function (index, keyIndex) {
|
250
203
|
nowDateObj[keyOptions[keyIndex]] = index;
|
251
204
|
});
|
252
|
-
|
253
205
|
var newTs = _convertObjToTs(nowDateObj, currentTs);
|
254
|
-
|
255
206
|
if (onOk) {
|
256
207
|
onOk(newTs, nowDateObj);
|
257
208
|
}
|
258
|
-
|
259
209
|
if (onChange) {
|
260
210
|
onChange(newTs, nowDateObj);
|
261
211
|
}
|
262
212
|
}
|
263
|
-
|
264
213
|
function _getKeyOptions() {
|
265
214
|
if (typeArr && typeArr.length) {
|
266
215
|
return typeArr;
|
267
216
|
}
|
268
|
-
|
269
217
|
var options = [];
|
270
|
-
|
271
218
|
switch (mode) {
|
272
219
|
case 'date':
|
273
220
|
options = allTypes.slice(0, 3);
|
274
221
|
break;
|
275
|
-
|
276
222
|
case 'time':
|
277
223
|
options = allTypes.slice(3);
|
278
224
|
break;
|
279
|
-
|
280
225
|
default:
|
281
226
|
options = allTypes;
|
282
227
|
}
|
283
|
-
|
284
228
|
return options;
|
285
229
|
}
|
286
|
-
|
287
230
|
useEffect(function () {
|
288
231
|
minDateObjRef.current = _convertTsToDateObj(minTs);
|
289
232
|
currentDateObjRef.current = _convertTsToDateObj(currentTs);
|
290
233
|
maxDateObjRef.current = _convertTsToDateObj(maxTs);
|
291
|
-
|
292
234
|
_initData();
|
293
235
|
}, [currentTs, minTs, maxTs, useUTC]);
|
294
236
|
useEffect(function () {
|
295
237
|
if (visible) {
|
296
238
|
currentDateObjRef.current = _convertTsToDateObj(currentTs);
|
297
|
-
|
298
239
|
_initData();
|
299
240
|
}
|
300
241
|
}, [visible]);
|
@@ -313,4 +254,13 @@ var DatePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
313
254
|
}));
|
314
255
|
});
|
315
256
|
});
|
316
|
-
|
257
|
+
/**
|
258
|
+
* 日期时间选择器,基于`Picker`组件扩展,支持指定范围,单位可精确到秒。
|
259
|
+
* @en Date picker, based on the `Picker` component, supports the specified range, the unit can be accurate to seconds.
|
260
|
+
* @type 数据录入
|
261
|
+
* @type_en Data Entry
|
262
|
+
* @name 日期时间选择器
|
263
|
+
* @name_en DatePicker
|
264
|
+
* @displayName DatePicker
|
265
|
+
*/
|
266
|
+
export default componentWrapper(DatePicker, 'DatePicker');
|