@arco-design/mobile-react 2.31.6 → 2.32.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 +12 -0
- package/LICENSE +21 -0
- package/README.en-US.md +2 -2
- package/README.md +2 -2
- package/cjs/_helpers/index.d.ts +1 -0
- package/cjs/_helpers/index.js +9 -0
- package/cjs/_helpers/react-dom.js +18 -10
- package/dist/index.js +91 -66
- package/dist/index.min.js +4 -4
- package/esm/_helpers/index.d.ts +1 -0
- package/esm/_helpers/index.js +1 -0
- package/esm/_helpers/react-dom.js +15 -11
- package/esnext/_helpers/hooks.d.ts +290 -0
- package/esnext/_helpers/hooks.js +660 -0
- package/esnext/_helpers/index.d.ts +93 -0
- package/esnext/_helpers/index.js +110 -0
- package/esnext/_helpers/react-dom.d.ts +13 -0
- package/esnext/_helpers/react-dom.js +51 -0
- package/esnext/_helpers/render.d.ts +17 -0
- package/esnext/_helpers/render.js +38 -0
- package/esnext/_helpers/type.d.ts +30 -0
- package/esnext/_helpers/type.js +1 -0
- package/esnext/action-sheet/index.d.ts +106 -0
- package/esnext/action-sheet/index.js +53 -0
- package/esnext/action-sheet/methods.d.ts +10 -0
- package/esnext/action-sheet/methods.js +4 -0
- package/esnext/action-sheet/style/css/index.css +741 -0
- package/esnext/action-sheet/style/css/index.d.ts +3 -0
- package/esnext/action-sheet/style/css/index.js +3 -0
- package/esnext/action-sheet/style/index.d.ts +3 -0
- package/esnext/action-sheet/style/index.js +3 -0
- package/esnext/action-sheet/style/index.less +119 -0
- package/esnext/avatar/group.d.ts +9 -0
- package/esnext/avatar/group.js +35 -0
- package/esnext/avatar/index.d.ts +17 -0
- package/esnext/avatar/index.js +87 -0
- package/esnext/avatar/style/css/index.css +792 -0
- package/esnext/avatar/style/css/index.d.ts +3 -0
- package/esnext/avatar/style/css/index.js +3 -0
- package/esnext/avatar/style/index.d.ts +3 -0
- package/esnext/avatar/style/index.js +3 -0
- package/esnext/avatar/style/index.less +201 -0
- package/esnext/avatar/type.d.ts +126 -0
- package/esnext/avatar/type.js +1 -0
- package/esnext/badge/index.d.ts +80 -0
- package/esnext/badge/index.js +29 -0
- package/esnext/badge/style/css/index.css +640 -0
- package/esnext/badge/style/css/index.d.ts +2 -0
- package/esnext/badge/style/css/index.js +2 -0
- package/esnext/badge/style/index.d.ts +2 -0
- package/esnext/badge/style/index.js +2 -0
- package/esnext/badge/style/index.less +109 -0
- package/esnext/button/hooks.d.ts +8 -0
- package/esnext/button/hooks.js +45 -0
- package/esnext/button/index.d.ts +141 -0
- package/esnext/button/index.js +61 -0
- package/esnext/button/style/css/index.css +816 -0
- package/esnext/button/style/css/index.d.ts +3 -0
- package/esnext/button/style/css/index.js +3 -0
- package/esnext/button/style/index.d.ts +3 -0
- package/esnext/button/style/index.js +3 -0
- package/esnext/button/style/index.less +242 -0
- package/esnext/carousel/index.d.ts +383 -0
- package/esnext/carousel/index.js +840 -0
- package/esnext/carousel/style/css/index.css +748 -0
- package/esnext/carousel/style/css/index.d.ts +2 -0
- package/esnext/carousel/style/css/index.js +2 -0
- package/esnext/carousel/style/index.d.ts +2 -0
- package/esnext/carousel/style/index.js +2 -0
- package/esnext/carousel/style/index.less +263 -0
- package/esnext/cell/arrow.d.ts +2 -0
- package/esnext/cell/arrow.js +5 -0
- package/esnext/cell/cell.d.ts +3 -0
- package/esnext/cell/cell.js +24 -0
- package/esnext/cell/group.d.ts +7 -0
- package/esnext/cell/group.js +26 -0
- package/esnext/cell/index.d.ts +14 -0
- package/esnext/cell/index.js +16 -0
- package/esnext/cell/style/css/index.css +1008 -0
- package/esnext/cell/style/css/index.d.ts +2 -0
- package/esnext/cell/style/css/index.js +2 -0
- package/esnext/cell/style/index.d.ts +2 -0
- package/esnext/cell/style/index.js +2 -0
- package/esnext/cell/style/index.less +214 -0
- package/esnext/cell/type.d.ts +125 -0
- package/esnext/cell/type.js +1 -0
- package/esnext/checkbox/checkbox.d.ts +3 -0
- package/esnext/checkbox/checkbox.js +106 -0
- package/esnext/checkbox/group.d.ts +4 -0
- package/esnext/checkbox/group.js +54 -0
- package/esnext/checkbox/hooks/index.d.ts +1 -0
- package/esnext/checkbox/hooks/index.js +1 -0
- package/esnext/checkbox/hooks/useMergeProps.d.ts +3 -0
- package/esnext/checkbox/hooks/useMergeProps.js +20 -0
- package/esnext/checkbox/index.d.ts +19 -0
- package/esnext/checkbox/index.js +22 -0
- package/esnext/checkbox/style/css/index.css +613 -0
- package/esnext/checkbox/style/css/index.d.ts +2 -0
- package/esnext/checkbox/style/css/index.js +2 -0
- package/esnext/checkbox/style/index.d.ts +2 -0
- package/esnext/checkbox/style/index.js +2 -0
- package/esnext/checkbox/style/index.less +119 -0
- package/esnext/checkbox/type.d.ts +162 -0
- package/esnext/checkbox/type.js +27 -0
- package/esnext/circle-progress/index.d.ts +141 -0
- package/esnext/circle-progress/index.js +75 -0
- package/esnext/circle-progress/style/css/index.css +582 -0
- package/esnext/circle-progress/style/css/index.d.ts +2 -0
- package/esnext/circle-progress/style/css/index.js +2 -0
- package/esnext/circle-progress/style/index.d.ts +2 -0
- package/esnext/circle-progress/style/index.js +2 -0
- package/esnext/circle-progress/style/index.less +101 -0
- package/esnext/collapse/collapse.d.ts +3 -0
- package/esnext/collapse/collapse.js +111 -0
- package/esnext/collapse/group.d.ts +21 -0
- package/esnext/collapse/group.js +80 -0
- package/esnext/collapse/index.d.ts +23 -0
- package/esnext/collapse/index.js +14 -0
- package/esnext/collapse/style/css/index.css +662 -0
- package/esnext/collapse/style/css/index.d.ts +2 -0
- package/esnext/collapse/style/css/index.js +2 -0
- package/esnext/collapse/style/index.d.ts +2 -0
- package/esnext/collapse/style/index.js +2 -0
- package/esnext/collapse/style/index.less +106 -0
- package/esnext/collapse/type.d.ts +139 -0
- package/esnext/collapse/type.js +1 -0
- package/esnext/collapse/utils.d.ts +8 -0
- package/esnext/collapse/utils.js +16 -0
- package/esnext/context-provider/index.d.ts +74 -0
- package/esnext/context-provider/index.js +99 -0
- package/esnext/context-provider/style/css/index.css +0 -0
- package/esnext/context-provider/style/css/index.d.ts +2 -0
- package/esnext/context-provider/style/css/index.js +2 -0
- package/esnext/context-provider/style/index.d.ts +2 -0
- package/esnext/context-provider/style/index.js +2 -0
- package/esnext/context-provider/style/index.less +1 -0
- package/esnext/count-down/hooks.d.ts +10 -0
- package/esnext/count-down/hooks.js +107 -0
- package/esnext/count-down/index.d.ts +13 -0
- package/esnext/count-down/index.js +37 -0
- package/esnext/count-down/singleton.d.ts +15 -0
- package/esnext/count-down/singleton.js +52 -0
- package/esnext/count-down/style/css/index.css +534 -0
- package/esnext/count-down/style/css/index.d.ts +2 -0
- package/esnext/count-down/style/css/index.js +2 -0
- package/esnext/count-down/style/index.d.ts +2 -0
- package/esnext/count-down/style/index.js +2 -0
- package/esnext/count-down/style/index.less +37 -0
- package/esnext/count-down/type.d.ts +112 -0
- package/esnext/count-down/type.js +1 -0
- package/esnext/count-down/util.d.ts +8 -0
- package/esnext/count-down/util.js +106 -0
- package/esnext/date-picker/helper.d.ts +5 -0
- package/esnext/date-picker/helper.js +38 -0
- package/esnext/date-picker/index.d.ts +24 -0
- package/esnext/date-picker/index.js +217 -0
- package/esnext/date-picker/style/css/index.css +526 -0
- package/esnext/date-picker/style/css/index.d.ts +3 -0
- package/esnext/date-picker/style/css/index.js +3 -0
- package/esnext/date-picker/style/index.d.ts +3 -0
- package/esnext/date-picker/style/index.js +3 -0
- package/esnext/date-picker/style/index.less +30 -0
- package/esnext/date-picker/type.d.ts +114 -0
- package/esnext/date-picker/type.js +1 -0
- package/esnext/dialog/index.d.ts +213 -0
- package/esnext/dialog/index.js +87 -0
- package/esnext/dialog/methods.d.ts +20 -0
- package/esnext/dialog/methods.js +42 -0
- package/esnext/dialog/style/css/index.css +1111 -0
- package/esnext/dialog/style/css/index.d.ts +3 -0
- package/esnext/dialog/style/css/index.js +3 -0
- package/esnext/dialog/style/index.d.ts +3 -0
- package/esnext/dialog/style/index.js +3 -0
- package/esnext/dialog/style/index.less +376 -0
- package/esnext/divider/index.d.ts +49 -0
- package/esnext/divider/index.js +32 -0
- package/esnext/divider/style/css/index.css +609 -0
- package/esnext/divider/style/css/index.d.ts +2 -0
- package/esnext/divider/style/css/index.js +2 -0
- package/esnext/divider/style/index.d.ts +2 -0
- package/esnext/divider/style/index.js +2 -0
- package/esnext/divider/style/index.less +101 -0
- package/esnext/dropdown/dropdown.d.ts +3 -0
- package/esnext/dropdown/dropdown.js +196 -0
- package/esnext/dropdown/index.d.ts +14 -0
- package/esnext/dropdown/index.js +16 -0
- package/esnext/dropdown/options.d.ts +4 -0
- package/esnext/dropdown/options.js +61 -0
- package/esnext/dropdown/style/css/index.css +653 -0
- package/esnext/dropdown/style/css/index.d.ts +2 -0
- package/esnext/dropdown/style/css/index.js +2 -0
- package/esnext/dropdown/style/index.d.ts +2 -0
- package/esnext/dropdown/style/index.js +2 -0
- package/esnext/dropdown/style/index.less +177 -0
- package/esnext/dropdown/type.d.ts +269 -0
- package/esnext/dropdown/type.js +1 -0
- package/esnext/dropdown-menu/dropdown-menu.d.ts +4 -0
- package/esnext/dropdown-menu/dropdown-menu.js +161 -0
- package/esnext/dropdown-menu/helper.d.ts +34 -0
- package/esnext/dropdown-menu/helper.js +88 -0
- package/esnext/dropdown-menu/index.d.ts +12 -0
- package/esnext/dropdown-menu/index.js +13 -0
- package/esnext/dropdown-menu/style/css/index.css +705 -0
- package/esnext/dropdown-menu/style/css/index.d.ts +3 -0
- package/esnext/dropdown-menu/style/css/index.js +3 -0
- package/esnext/dropdown-menu/style/index.d.ts +3 -0
- package/esnext/dropdown-menu/style/index.js +3 -0
- package/esnext/dropdown-menu/style/index.less +122 -0
- package/esnext/dropdown-menu/type.d.ts +168 -0
- package/esnext/dropdown-menu/type.js +1 -0
- package/esnext/ellipsis/components/js-ellipsis.d.ts +6 -0
- package/esnext/ellipsis/components/js-ellipsis.js +178 -0
- package/esnext/ellipsis/components/native-ellipsis.d.ts +5 -0
- package/esnext/ellipsis/components/native-ellipsis.js +15 -0
- package/esnext/ellipsis/index.d.ts +13 -0
- package/esnext/ellipsis/index.js +31 -0
- package/esnext/ellipsis/style/css/index.css +556 -0
- package/esnext/ellipsis/style/css/index.d.ts +2 -0
- package/esnext/ellipsis/style/css/index.js +2 -0
- package/esnext/ellipsis/style/index.d.ts +2 -0
- package/esnext/ellipsis/style/index.js +2 -0
- package/esnext/ellipsis/style/index.less +63 -0
- package/esnext/ellipsis/type.d.ts +107 -0
- package/esnext/ellipsis/type.js +1 -0
- package/esnext/ellipsis/utils/dom.d.ts +2 -0
- package/esnext/ellipsis/utils/dom.js +35 -0
- package/esnext/ellipsis/utils/is.d.ts +3 -0
- package/esnext/ellipsis/utils/is.js +3 -0
- package/esnext/form/form-item-context.d.ts +3 -0
- package/esnext/form/form-item-context.js +6 -0
- package/esnext/form/form-item.d.ts +4 -0
- package/esnext/form/form-item.js +218 -0
- package/esnext/form/index.d.ts +16 -0
- package/esnext/form/index.js +50 -0
- package/esnext/form/linked-container.d.ts +8 -0
- package/esnext/form/linked-container.js +29 -0
- package/esnext/form/style/css/index.css +670 -0
- package/esnext/form/style/css/index.d.ts +2 -0
- package/esnext/form/style/css/index.js +2 -0
- package/esnext/form/style/index.d.ts +2 -0
- package/esnext/form/style/index.js +2 -0
- package/esnext/form/style/index.less +172 -0
- package/esnext/form/type.d.ts +373 -0
- package/esnext/form/type.js +26 -0
- package/esnext/form/useForm.d.ts +18 -0
- package/esnext/form/useForm.js +203 -0
- package/esnext/form/utils.d.ts +7 -0
- package/esnext/form/utils.js +21 -0
- package/esnext/grid/index.d.ts +112 -0
- package/esnext/grid/index.js +79 -0
- package/esnext/grid/style/css/index.css +661 -0
- package/esnext/grid/style/css/index.d.ts +2 -0
- package/esnext/grid/style/css/index.js +2 -0
- package/esnext/grid/style/index.d.ts +2 -0
- package/esnext/grid/style/index.js +2 -0
- package/esnext/grid/style/index.less +157 -0
- package/esnext/icon/IconAdd/index.d.ts +7 -0
- package/esnext/icon/IconAdd/index.js +7 -0
- package/esnext/icon/IconArrowBack/index.d.ts +7 -0
- package/esnext/icon/IconArrowBack/index.js +7 -0
- package/esnext/icon/IconArrowDown/index.d.ts +7 -0
- package/esnext/icon/IconArrowDown/index.js +7 -0
- package/esnext/icon/IconArrowIn/index.d.ts +7 -0
- package/esnext/icon/IconArrowIn/index.js +7 -0
- package/esnext/icon/IconArrowUp/index.d.ts +7 -0
- package/esnext/icon/IconArrowUp/index.js +7 -0
- package/esnext/icon/IconCheck/index.d.ts +7 -0
- package/esnext/icon/IconCheck/index.js +7 -0
- package/esnext/icon/IconCheckBold/index.d.ts +7 -0
- package/esnext/icon/IconCheckBold/index.js +8 -0
- package/esnext/icon/IconCircleChecked/index.d.ts +7 -0
- package/esnext/icon/IconCircleChecked/index.js +7 -0
- package/esnext/icon/IconCircleDisabled/index.d.ts +7 -0
- package/esnext/icon/IconCircleDisabled/index.js +7 -0
- package/esnext/icon/IconCircleUnchecked/index.d.ts +7 -0
- package/esnext/icon/IconCircleUnchecked/index.js +7 -0
- package/esnext/icon/IconClear/index.d.ts +7 -0
- package/esnext/icon/IconClear/index.js +7 -0
- package/esnext/icon/IconClose/index.d.ts +7 -0
- package/esnext/icon/IconClose/index.js +7 -0
- package/esnext/icon/IconCloseBold/index.d.ts +7 -0
- package/esnext/icon/IconCloseBold/index.js +8 -0
- package/esnext/icon/IconDelete/index.d.ts +7 -0
- package/esnext/icon/IconDelete/index.js +7 -0
- package/esnext/icon/IconDownload/index.d.ts +7 -0
- package/esnext/icon/IconDownload/index.js +7 -0
- package/esnext/icon/IconEdit/index.d.ts +7 -0
- package/esnext/icon/IconEdit/index.js +7 -0
- package/esnext/icon/IconErrorCircle/index.d.ts +7 -0
- package/esnext/icon/IconErrorCircle/index.js +8 -0
- package/esnext/icon/IconEyeInvisible/index.d.ts +7 -0
- package/esnext/icon/IconEyeInvisible/index.js +7 -0
- package/esnext/icon/IconEyeVisible/index.d.ts +7 -0
- package/esnext/icon/IconEyeVisible/index.js +7 -0
- package/esnext/icon/IconEyelashInvisible/index.d.ts +7 -0
- package/esnext/icon/IconEyelashInvisible/index.js +7 -0
- package/esnext/icon/IconFile/index.d.ts +7 -0
- package/esnext/icon/IconFile/index.js +7 -0
- package/esnext/icon/IconGift/index.d.ts +7 -0
- package/esnext/icon/IconGift/index.js +8 -0
- package/esnext/icon/IconHeart/index.d.ts +7 -0
- package/esnext/icon/IconHeart/index.js +8 -0
- package/esnext/icon/IconHome/index.d.ts +7 -0
- package/esnext/icon/IconHome/index.js +7 -0
- package/esnext/icon/IconKeyboard/index.d.ts +7 -0
- package/esnext/icon/IconKeyboard/index.js +8 -0
- package/esnext/icon/IconKeyboardDelete/index.d.ts +7 -0
- package/esnext/icon/IconKeyboardDelete/index.js +8 -0
- package/esnext/icon/IconLikeCircle/index.d.ts +7 -0
- package/esnext/icon/IconLikeCircle/index.js +7 -0
- package/esnext/icon/IconMinus/index.d.ts +7 -0
- package/esnext/icon/IconMinus/index.js +8 -0
- package/esnext/icon/IconMore/index.d.ts +7 -0
- package/esnext/icon/IconMore/index.js +7 -0
- package/esnext/icon/IconNotice/index.d.ts +7 -0
- package/esnext/icon/IconNotice/index.js +8 -0
- package/esnext/icon/IconNoticeOff/index.d.ts +7 -0
- package/esnext/icon/IconNoticeOff/index.js +8 -0
- package/esnext/icon/IconPicture/index.d.ts +7 -0
- package/esnext/icon/IconPicture/index.js +7 -0
- package/esnext/icon/IconPlay/index.d.ts +7 -0
- package/esnext/icon/IconPlay/index.js +8 -0
- package/esnext/icon/IconQuestionCircle/index.d.ts +7 -0
- package/esnext/icon/IconQuestionCircle/index.js +7 -0
- package/esnext/icon/IconRefresh/index.d.ts +7 -0
- package/esnext/icon/IconRefresh/index.js +7 -0
- package/esnext/icon/IconSad/index.d.ts +7 -0
- package/esnext/icon/IconSad/index.js +7 -0
- package/esnext/icon/IconScan/index.d.ts +7 -0
- package/esnext/icon/IconScan/index.js +7 -0
- package/esnext/icon/IconSearch/index.d.ts +7 -0
- package/esnext/icon/IconSearch/index.js +7 -0
- package/esnext/icon/IconSetting/index.d.ts +7 -0
- package/esnext/icon/IconSetting/index.js +8 -0
- package/esnext/icon/IconShop/index.d.ts +7 -0
- package/esnext/icon/IconShop/index.js +8 -0
- package/esnext/icon/IconShopping/index.d.ts +7 -0
- package/esnext/icon/IconShopping/index.js +8 -0
- package/esnext/icon/IconSmileFill/index.d.ts +7 -0
- package/esnext/icon/IconSmileFill/index.js +7 -0
- package/esnext/icon/IconSound/index.d.ts +7 -0
- package/esnext/icon/IconSound/index.js +8 -0
- package/esnext/icon/IconSquareChecked/index.d.ts +7 -0
- package/esnext/icon/IconSquareChecked/index.js +7 -0
- package/esnext/icon/IconSquareDisabled/index.d.ts +7 -0
- package/esnext/icon/IconSquareDisabled/index.js +7 -0
- package/esnext/icon/IconSquareUnchecked/index.d.ts +7 -0
- package/esnext/icon/IconSquareUnchecked/index.js +7 -0
- package/esnext/icon/IconStar/index.d.ts +7 -0
- package/esnext/icon/IconStar/index.js +7 -0
- package/esnext/icon/IconStarFill/index.d.ts +7 -0
- package/esnext/icon/IconStarFill/index.js +8 -0
- package/esnext/icon/IconStarHalf/index.d.ts +7 -0
- package/esnext/icon/IconStarHalf/index.js +7 -0
- package/esnext/icon/IconSubway/index.d.ts +7 -0
- package/esnext/icon/IconSubway/index.js +8 -0
- package/esnext/icon/IconSuccessCircle/index.d.ts +7 -0
- package/esnext/icon/IconSuccessCircle/index.js +8 -0
- package/esnext/icon/IconTriDown/index.d.ts +7 -0
- package/esnext/icon/IconTriDown/index.js +8 -0
- package/esnext/icon/IconTriUp/index.d.ts +7 -0
- package/esnext/icon/IconTriUp/index.js +8 -0
- package/esnext/icon/IconUpload/index.d.ts +7 -0
- package/esnext/icon/IconUpload/index.js +7 -0
- package/esnext/icon/IconUser/index.d.ts +7 -0
- package/esnext/icon/IconUser/index.js +7 -0
- package/esnext/icon/IconUserFill/index.d.ts +7 -0
- package/esnext/icon/IconUserFill/index.js +7 -0
- package/esnext/icon/IconWarnCircle/index.d.ts +7 -0
- package/esnext/icon/IconWarnCircle/index.js +8 -0
- package/esnext/icon/IconWarnCircleFill/index.d.ts +7 -0
- package/esnext/icon/IconWarnCircleFill/index.js +8 -0
- package/esnext/icon/index.d.ts +59 -0
- package/esnext/icon/index.js +59 -0
- package/esnext/icon/type.d.ts +10 -0
- package/esnext/icon/type.js +1 -0
- package/esnext/image/index.d.ts +186 -0
- package/esnext/image/index.js +223 -0
- package/esnext/image/style/css/index.css +734 -0
- package/esnext/image/style/css/index.d.ts +3 -0
- package/esnext/image/style/css/index.js +3 -0
- package/esnext/image/style/index.d.ts +3 -0
- package/esnext/image/style/index.js +3 -0
- package/esnext/image/style/index.less +198 -0
- package/esnext/image-picker/add-icon.d.ts +2 -0
- package/esnext/image-picker/add-icon.js +5 -0
- package/esnext/image-picker/index.d.ts +16 -0
- package/esnext/image-picker/index.js +77 -0
- package/esnext/image-picker/style/css/index.css +688 -0
- package/esnext/image-picker/style/css/index.d.ts +4 -0
- package/esnext/image-picker/style/css/index.js +4 -0
- package/esnext/image-picker/style/index.d.ts +4 -0
- package/esnext/image-picker/style/index.js +4 -0
- package/esnext/image-picker/style/index.less +170 -0
- package/esnext/image-picker/type.d.ts +115 -0
- package/esnext/image-picker/type.js +1 -0
- package/esnext/image-preview/index.d.ts +296 -0
- package/esnext/image-preview/index.js +794 -0
- package/esnext/image-preview/methods.d.ts +13 -0
- package/esnext/image-preview/methods.js +46 -0
- package/esnext/image-preview/style/css/index.css +664 -0
- package/esnext/image-preview/style/css/index.d.ts +5 -0
- package/esnext/image-preview/style/css/index.js +5 -0
- package/esnext/image-preview/style/index.d.ts +5 -0
- package/esnext/image-preview/style/index.js +5 -0
- package/esnext/image-preview/style/index.less +140 -0
- package/esnext/index-bar/context.d.ts +3 -0
- package/esnext/index-bar/context.js +6 -0
- package/esnext/index-bar/group.d.ts +3 -0
- package/esnext/index-bar/group.js +33 -0
- package/esnext/index-bar/index.d.ts +15 -0
- package/esnext/index-bar/index.js +151 -0
- package/esnext/index-bar/side-bar.d.ts +3 -0
- package/esnext/index-bar/side-bar.js +44 -0
- package/esnext/index-bar/style/css/index.css +767 -0
- package/esnext/index-bar/style/css/index.d.ts +3 -0
- package/esnext/index-bar/style/css/index.js +3 -0
- package/esnext/index-bar/style/index.d.ts +3 -0
- package/esnext/index-bar/style/index.js +3 -0
- package/esnext/index-bar/style/index.less +189 -0
- package/esnext/index-bar/type.d.ts +195 -0
- package/esnext/index-bar/type.js +1 -0
- package/esnext/index-bar/utils.d.ts +6 -0
- package/esnext/index-bar/utils.js +44 -0
- package/esnext/index.d.ts +59 -0
- package/esnext/index.js +59 -0
- package/esnext/input/hooks.d.ts +14 -0
- package/esnext/input/hooks.js +174 -0
- package/esnext/input/index.d.ts +60 -0
- package/esnext/input/index.js +28 -0
- package/esnext/input/props.d.ts +182 -0
- package/esnext/input/props.js +1 -0
- package/esnext/input/style/css/index.css +759 -0
- package/esnext/input/style/css/index.d.ts +2 -0
- package/esnext/input/style/css/index.js +2 -0
- package/esnext/input/style/index.d.ts +2 -0
- package/esnext/input/style/index.js +2 -0
- package/esnext/input/style/index.less +195 -0
- package/esnext/keyboard/index.d.ts +13 -0
- package/esnext/keyboard/index.js +159 -0
- package/esnext/keyboard/style/css/index.css +633 -0
- package/esnext/keyboard/style/css/index.d.ts +3 -0
- package/esnext/keyboard/style/css/index.js +3 -0
- package/esnext/keyboard/style/index.d.ts +3 -0
- package/esnext/keyboard/style/index.js +3 -0
- package/esnext/keyboard/style/index.less +131 -0
- package/esnext/keyboard/type.d.ts +102 -0
- package/esnext/keyboard/type.js +1 -0
- package/esnext/load-more/index.d.ts +158 -0
- package/esnext/load-more/index.js +150 -0
- package/esnext/load-more/style/css/index.css +534 -0
- package/esnext/load-more/style/css/index.d.ts +2 -0
- package/esnext/load-more/style/css/index.js +2 -0
- package/esnext/load-more/style/index.d.ts +2 -0
- package/esnext/load-more/style/index.js +2 -0
- package/esnext/load-more/style/index.less +37 -0
- package/esnext/loading/index.d.ts +76 -0
- package/esnext/loading/index.js +123 -0
- package/esnext/loading/style/css/index.css +648 -0
- package/esnext/loading/style/css/index.d.ts +2 -0
- package/esnext/loading/style/css/index.js +2 -0
- package/esnext/loading/style/index.d.ts +2 -0
- package/esnext/loading/style/index.js +2 -0
- package/esnext/loading/style/index.less +147 -0
- package/esnext/masking/index.d.ts +225 -0
- package/esnext/masking/index.js +114 -0
- package/esnext/masking/methods.d.ts +23 -0
- package/esnext/masking/methods.js +56 -0
- package/esnext/masking/style/css/index.css +552 -0
- package/esnext/masking/style/css/index.d.ts +3 -0
- package/esnext/masking/style/css/index.js +3 -0
- package/esnext/masking/style/index.d.ts +3 -0
- package/esnext/masking/style/index.js +3 -0
- package/esnext/masking/style/index.less +55 -0
- package/esnext/nav-bar/back-icon.d.ts +5 -0
- package/esnext/nav-bar/back-icon.js +9 -0
- package/esnext/nav-bar/index.d.ts +135 -0
- package/esnext/nav-bar/index.js +96 -0
- package/esnext/nav-bar/style/css/index.css +706 -0
- package/esnext/nav-bar/style/css/index.d.ts +2 -0
- package/esnext/nav-bar/style/css/index.js +2 -0
- package/esnext/nav-bar/style/index.d.ts +2 -0
- package/esnext/nav-bar/style/index.js +2 -0
- package/esnext/nav-bar/style/index.less +150 -0
- package/esnext/notice-bar/index.d.ts +107 -0
- package/esnext/notice-bar/index.js +126 -0
- package/esnext/notice-bar/style/css/index.css +685 -0
- package/esnext/notice-bar/style/css/index.d.ts +2 -0
- package/esnext/notice-bar/style/css/index.js +2 -0
- package/esnext/notice-bar/style/index.d.ts +2 -0
- package/esnext/notice-bar/style/index.js +2 -0
- package/esnext/notice-bar/style/index.less +160 -0
- package/esnext/notify/index.d.ts +97 -0
- package/esnext/notify/index.js +123 -0
- package/esnext/notify/methods.d.ts +14 -0
- package/esnext/notify/methods.js +63 -0
- package/esnext/notify/style/css/index.css +591 -0
- package/esnext/notify/style/css/index.d.ts +2 -0
- package/esnext/notify/style/css/index.js +2 -0
- package/esnext/notify/style/index.d.ts +2 -0
- package/esnext/notify/style/index.js +2 -0
- package/esnext/notify/style/index.less +90 -0
- package/esnext/notify/type.d.ts +70 -0
- package/esnext/notify/type.js +1 -0
- package/esnext/pagination/arrow.d.ts +2 -0
- package/esnext/pagination/arrow.js +5 -0
- package/esnext/pagination/index.d.ts +124 -0
- package/esnext/pagination/index.js +104 -0
- package/esnext/pagination/style/css/index.css +708 -0
- package/esnext/pagination/style/css/index.d.ts +2 -0
- package/esnext/pagination/style/css/index.js +2 -0
- package/esnext/pagination/style/index.d.ts +2 -0
- package/esnext/pagination/style/index.js +2 -0
- package/esnext/pagination/style/index.less +176 -0
- package/esnext/picker/index.d.ts +50 -0
- package/esnext/picker/index.js +93 -0
- package/esnext/picker/style/css/index.css +592 -0
- package/esnext/picker/style/css/index.d.ts +4 -0
- package/esnext/picker/style/css/index.js +4 -0
- package/esnext/picker/style/index.d.ts +4 -0
- package/esnext/picker/style/index.js +4 -0
- package/esnext/picker/style/index.less +95 -0
- package/esnext/picker/type.d.ts +131 -0
- package/esnext/picker/type.js +1 -0
- package/esnext/picker-view/components/cascader.d.ts +25 -0
- package/esnext/picker-view/components/cascader.js +54 -0
- package/esnext/picker-view/components/multi-picker.d.ts +11 -0
- package/esnext/picker-view/components/multi-picker.js +32 -0
- package/esnext/picker-view/components/picker-cell.d.ts +28 -0
- package/esnext/picker-view/components/picker-cell.js +284 -0
- package/esnext/picker-view/index.d.ts +62 -0
- package/esnext/picker-view/index.js +135 -0
- package/esnext/picker-view/style/css/index.css +750 -0
- package/esnext/picker-view/style/css/index.d.ts +2 -0
- package/esnext/picker-view/style/css/index.js +2 -0
- package/esnext/picker-view/style/index.d.ts +2 -0
- package/esnext/picker-view/style/index.js +2 -0
- package/esnext/picker-view/style/index.less +125 -0
- package/esnext/picker-view/type.d.ts +89 -0
- package/esnext/picker-view/type.js +1 -0
- package/esnext/popover/hooks/index.d.ts +2 -0
- package/esnext/popover/hooks/index.js +2 -0
- package/esnext/popover/hooks/useEvent.d.ts +8 -0
- package/esnext/popover/hooks/useEvent.js +148 -0
- package/esnext/popover/hooks/usePosition.d.ts +18 -0
- package/esnext/popover/hooks/usePosition.js +419 -0
- package/esnext/popover/index.d.ts +14 -0
- package/esnext/popover/index.js +20 -0
- package/esnext/popover/menu.d.ts +3 -0
- package/esnext/popover/menu.js +80 -0
- package/esnext/popover/popover-inner.d.ts +3 -0
- package/esnext/popover/popover-inner.js +79 -0
- package/esnext/popover/popover.d.ts +3 -0
- package/esnext/popover/popover.js +132 -0
- package/esnext/popover/style/css/index.css +993 -0
- package/esnext/popover/style/css/index.d.ts +3 -0
- package/esnext/popover/style/css/index.js +3 -0
- package/esnext/popover/style/css/menu.css +673 -0
- package/esnext/popover/style/index.d.ts +3 -0
- package/esnext/popover/style/index.js +3 -0
- package/esnext/popover/style/index.less +353 -0
- package/esnext/popover/style/menu.less +163 -0
- package/esnext/popover/type.d.ts +447 -0
- package/esnext/popover/type.js +1 -0
- package/esnext/popup/index.d.ts +86 -0
- package/esnext/popup/index.js +39 -0
- package/esnext/popup/methods.d.ts +10 -0
- package/esnext/popup/methods.js +4 -0
- package/esnext/popup/style/css/index.css +638 -0
- package/esnext/popup/style/css/index.d.ts +3 -0
- package/esnext/popup/style/css/index.js +3 -0
- package/esnext/popup/style/index.d.ts +3 -0
- package/esnext/popup/style/index.js +3 -0
- package/esnext/popup/style/index.less +114 -0
- package/esnext/popup-swiper/index.d.ts +93 -0
- package/esnext/popup-swiper/index.js +192 -0
- package/esnext/popup-swiper/methods.d.ts +10 -0
- package/esnext/popup-swiper/methods.js +4 -0
- package/esnext/popup-swiper/style/css/index.css +531 -0
- package/esnext/popup-swiper/style/css/index.d.ts +3 -0
- package/esnext/popup-swiper/style/css/index.js +3 -0
- package/esnext/popup-swiper/style/index.d.ts +3 -0
- package/esnext/popup-swiper/style/index.js +3 -0
- package/esnext/popup-swiper/style/index.less +35 -0
- package/esnext/portal/index.d.ts +23 -0
- package/esnext/portal/index.js +18 -0
- package/esnext/portal/style/css/index.css +0 -0
- package/esnext/portal/style/css/index.d.ts +2 -0
- package/esnext/portal/style/css/index.js +2 -0
- package/esnext/portal/style/index.d.ts +2 -0
- package/esnext/portal/style/index.js +2 -0
- package/esnext/portal/style/index.less +1 -0
- package/esnext/progress/index.d.ts +126 -0
- package/esnext/progress/index.js +66 -0
- package/esnext/progress/style/css/index.css +692 -0
- package/esnext/progress/style/css/index.d.ts +2 -0
- package/esnext/progress/style/css/index.js +2 -0
- package/esnext/progress/style/index.d.ts +2 -0
- package/esnext/progress/style/index.js +2 -0
- package/esnext/progress/style/index.less +205 -0
- package/esnext/pull-refresh/android-pull-refresh.d.ts +3 -0
- package/esnext/pull-refresh/android-pull-refresh.js +168 -0
- package/esnext/pull-refresh/hooks.d.ts +30 -0
- package/esnext/pull-refresh/hooks.js +73 -0
- package/esnext/pull-refresh/index.d.ts +28 -0
- package/esnext/pull-refresh/index.js +21 -0
- package/esnext/pull-refresh/ios-pull-refresh.d.ts +3 -0
- package/esnext/pull-refresh/ios-pull-refresh.js +137 -0
- package/esnext/pull-refresh/model.d.ts +111 -0
- package/esnext/pull-refresh/model.js +8 -0
- package/esnext/pull-refresh/style/css/index.css +650 -0
- package/esnext/pull-refresh/style/css/index.d.ts +3 -0
- package/esnext/pull-refresh/style/css/index.js +3 -0
- package/esnext/pull-refresh/style/index.d.ts +3 -0
- package/esnext/pull-refresh/style/index.js +3 -0
- package/esnext/pull-refresh/style/index.less +131 -0
- package/esnext/radio/group.d.ts +5 -0
- package/esnext/radio/group.js +50 -0
- package/esnext/radio/index.d.ts +19 -0
- package/esnext/radio/index.js +22 -0
- package/esnext/radio/radio.d.ts +5 -0
- package/esnext/radio/radio.js +13 -0
- package/esnext/radio/style/css/index.css +604 -0
- package/esnext/radio/style/css/index.d.ts +2 -0
- package/esnext/radio/style/css/index.js +2 -0
- package/esnext/radio/style/index.d.ts +2 -0
- package/esnext/radio/style/index.js +2 -0
- package/esnext/radio/style/index.less +114 -0
- package/esnext/radio/type.d.ts +31 -0
- package/esnext/radio/type.js +1 -0
- package/esnext/rate/index.d.ts +109 -0
- package/esnext/rate/index.js +87 -0
- package/esnext/rate/style/css/index.css +595 -0
- package/esnext/rate/style/css/index.d.ts +2 -0
- package/esnext/rate/style/css/index.js +2 -0
- package/esnext/rate/style/index.d.ts +2 -0
- package/esnext/rate/style/index.js +2 -0
- package/esnext/rate/style/index.less +106 -0
- package/esnext/search-bar/association.d.ts +3 -0
- package/esnext/search-bar/association.js +51 -0
- package/esnext/search-bar/cancel-button.d.ts +10 -0
- package/esnext/search-bar/cancel-button.js +18 -0
- package/esnext/search-bar/highlight.d.ts +12 -0
- package/esnext/search-bar/highlight.js +46 -0
- package/esnext/search-bar/index.d.ts +13 -0
- package/esnext/search-bar/index.js +109 -0
- package/esnext/search-bar/style/css/index.css +765 -0
- package/esnext/search-bar/style/css/index.d.ts +2 -0
- package/esnext/search-bar/style/css/index.js +2 -0
- package/esnext/search-bar/style/index.d.ts +2 -0
- package/esnext/search-bar/style/index.js +2 -0
- package/esnext/search-bar/style/index.less +198 -0
- package/esnext/search-bar/type.d.ts +163 -0
- package/esnext/search-bar/type.js +1 -0
- package/esnext/show-monitor/index.d.ts +115 -0
- package/esnext/show-monitor/index.js +416 -0
- package/esnext/show-monitor/style/css/index.css +0 -0
- package/esnext/show-monitor/style/css/index.d.ts +2 -0
- package/esnext/show-monitor/style/css/index.js +2 -0
- package/esnext/show-monitor/style/index.d.ts +2 -0
- package/esnext/show-monitor/style/index.js +2 -0
- package/esnext/show-monitor/style/index.less +1 -0
- package/esnext/skeleton/elements.d.ts +7 -0
- package/esnext/skeleton/elements.js +117 -0
- package/esnext/skeleton/index.d.ts +19 -0
- package/esnext/skeleton/index.js +50 -0
- package/esnext/skeleton/skeleton-context.d.ts +3 -0
- package/esnext/skeleton/skeleton-context.js +5 -0
- package/esnext/skeleton/style/css/index.css +712 -0
- package/esnext/skeleton/style/css/index.d.ts +3 -0
- package/esnext/skeleton/style/css/index.js +3 -0
- package/esnext/skeleton/style/index.d.ts +3 -0
- package/esnext/skeleton/style/index.js +3 -0
- package/esnext/skeleton/style/index.less +182 -0
- package/esnext/skeleton/type.d.ts +105 -0
- package/esnext/skeleton/type.js +1 -0
- package/esnext/slider/hooks/index.d.ts +12 -0
- package/esnext/slider/hooks/index.js +33 -0
- package/esnext/slider/hooks/useSliderEvents.d.ts +17 -0
- package/esnext/slider/hooks/useSliderEvents.js +128 -0
- package/esnext/slider/hooks/useSliderIcon.d.ts +7 -0
- package/esnext/slider/hooks/useSliderIcon.js +41 -0
- package/esnext/slider/hooks/useSliderInit.d.ts +14 -0
- package/esnext/slider/hooks/useSliderInit.js +146 -0
- package/esnext/slider/hooks/useSliderStyle.d.ts +13 -0
- package/esnext/slider/hooks/useSliderStyle.js +39 -0
- package/esnext/slider/index.d.ts +163 -0
- package/esnext/slider/index.js +120 -0
- package/esnext/slider/marks.d.ts +11 -0
- package/esnext/slider/marks.js +17 -0
- package/esnext/slider/popover.d.ts +6 -0
- package/esnext/slider/popover.js +13 -0
- package/esnext/slider/style/css/index.css +863 -0
- package/esnext/slider/style/css/index.d.ts +3 -0
- package/esnext/slider/style/css/index.js +3 -0
- package/esnext/slider/style/index.d.ts +3 -0
- package/esnext/slider/style/index.js +3 -0
- package/esnext/slider/style/index.less +366 -0
- package/esnext/slider/thumb.d.ts +9 -0
- package/esnext/slider/thumb.js +21 -0
- package/esnext/stepper/hooks/useButtonClick.d.ts +11 -0
- package/esnext/stepper/hooks/useButtonClick.js +46 -0
- package/esnext/stepper/hooks/useInputEvent.d.ts +10 -0
- package/esnext/stepper/hooks/useInputEvent.js +41 -0
- package/esnext/stepper/hooks/useValue.d.ts +7 -0
- package/esnext/stepper/hooks/useValue.js +33 -0
- package/esnext/stepper/index.d.ts +16 -0
- package/esnext/stepper/index.js +81 -0
- package/esnext/stepper/style/css/index.css +636 -0
- package/esnext/stepper/style/css/index.d.ts +2 -0
- package/esnext/stepper/style/css/index.js +2 -0
- package/esnext/stepper/style/index.d.ts +2 -0
- package/esnext/stepper/style/index.js +2 -0
- package/esnext/stepper/style/index.less +161 -0
- package/esnext/stepper/type.d.ts +159 -0
- package/esnext/stepper/type.js +1 -0
- package/esnext/steps/index.d.ts +19 -0
- package/esnext/steps/index.js +50 -0
- package/esnext/steps/step.d.ts +4 -0
- package/esnext/steps/step.js +43 -0
- package/esnext/steps/style/css/index.css +877 -0
- package/esnext/steps/style/css/index.d.ts +2 -0
- package/esnext/steps/style/css/index.js +2 -0
- package/esnext/steps/style/index.d.ts +2 -0
- package/esnext/steps/style/index.js +2 -0
- package/esnext/steps/style/index.less +407 -0
- package/esnext/steps/type.d.ts +110 -0
- package/esnext/steps/type.js +1 -0
- package/esnext/sticky/index.d.ts +141 -0
- package/esnext/sticky/index.js +165 -0
- package/esnext/sticky/style/css/index.css +526 -0
- package/esnext/sticky/style/css/index.d.ts +2 -0
- package/esnext/sticky/style/css/index.js +2 -0
- package/esnext/sticky/style/index.d.ts +2 -0
- package/esnext/sticky/style/index.js +2 -0
- package/esnext/sticky/style/index.less +30 -0
- package/esnext/style.d.ts +60 -0
- package/esnext/style.js +60 -0
- package/esnext/swipe-action/index.d.ts +13 -0
- package/esnext/swipe-action/index.js +220 -0
- package/esnext/swipe-action/item.d.ts +11 -0
- package/esnext/swipe-action/item.js +20 -0
- package/esnext/swipe-action/style/css/index.css +620 -0
- package/esnext/swipe-action/style/css/index.d.ts +2 -0
- package/esnext/swipe-action/style/css/index.js +2 -0
- package/esnext/swipe-action/style/index.d.ts +2 -0
- package/esnext/swipe-action/style/index.js +2 -0
- package/esnext/swipe-action/style/index.less +132 -0
- package/esnext/swipe-action/type.d.ts +123 -0
- package/esnext/swipe-action/type.js +1 -0
- package/esnext/swipe-load/index.d.ts +13 -0
- package/esnext/swipe-load/index.js +255 -0
- package/esnext/swipe-load/style/css/index.css +561 -0
- package/esnext/swipe-load/style/css/index.d.ts +2 -0
- package/esnext/swipe-load/style/css/index.js +2 -0
- package/esnext/swipe-load/style/index.d.ts +2 -0
- package/esnext/swipe-load/style/index.js +2 -0
- package/esnext/swipe-load/style/index.less +66 -0
- package/esnext/swipe-load/type.d.ts +152 -0
- package/esnext/swipe-load/type.js +1 -0
- package/esnext/switch/index.d.ts +105 -0
- package/esnext/switch/index.js +83 -0
- package/esnext/switch/style/css/index.css +765 -0
- package/esnext/switch/style/css/index.d.ts +2 -0
- package/esnext/switch/style/css/index.js +2 -0
- package/esnext/switch/style/index.d.ts +2 -0
- package/esnext/switch/style/index.js +2 -0
- package/esnext/switch/style/index.less +217 -0
- package/esnext/tab-bar/index.d.ts +14 -0
- package/esnext/tab-bar/index.js +16 -0
- package/esnext/tab-bar/item.d.ts +3 -0
- package/esnext/tab-bar/item.js +31 -0
- package/esnext/tab-bar/style/css/index.css +617 -0
- package/esnext/tab-bar/style/css/index.d.ts +2 -0
- package/esnext/tab-bar/style/css/index.js +2 -0
- package/esnext/tab-bar/style/index.d.ts +2 -0
- package/esnext/tab-bar/style/index.js +2 -0
- package/esnext/tab-bar/style/index.less +96 -0
- package/esnext/tab-bar/tab-bar.d.ts +11 -0
- package/esnext/tab-bar/tab-bar.js +40 -0
- package/esnext/tab-bar/type.d.ts +95 -0
- package/esnext/tab-bar/type.js +1 -0
- package/esnext/tabs/index.d.ts +13 -0
- package/esnext/tabs/index.js +340 -0
- package/esnext/tabs/style/css/index.css +1162 -0
- package/esnext/tabs/style/css/index.d.ts +2 -0
- package/esnext/tabs/style/css/index.js +2 -0
- package/esnext/tabs/style/index.d.ts +2 -0
- package/esnext/tabs/style/index.js +2 -0
- package/esnext/tabs/style/index.less +559 -0
- package/esnext/tabs/tab-cell-underline.d.ts +4 -0
- package/esnext/tabs/tab-cell-underline.js +237 -0
- package/esnext/tabs/tab-cell.d.ts +4 -0
- package/esnext/tabs/tab-cell.js +258 -0
- package/esnext/tabs/tab-pane.d.ts +4 -0
- package/esnext/tabs/tab-pane.js +241 -0
- package/esnext/tabs/type.d.ts +629 -0
- package/esnext/tabs/type.js +1 -0
- package/esnext/tag/index.d.ts +14 -0
- package/esnext/tag/index.js +20 -0
- package/esnext/tag/list.d.ts +3 -0
- package/esnext/tag/list.js +47 -0
- package/esnext/tag/style/css/index.css +738 -0
- package/esnext/tag/style/css/index.d.ts +2 -0
- package/esnext/tag/style/css/index.js +2 -0
- package/esnext/tag/style/index.d.ts +2 -0
- package/esnext/tag/style/index.js +2 -0
- package/esnext/tag/style/index.less +188 -0
- package/esnext/tag/tag.d.ts +3 -0
- package/esnext/tag/tag.js +32 -0
- package/esnext/tag/type.d.ts +159 -0
- package/esnext/tag/type.js +1 -0
- package/esnext/textarea/index.d.ts +96 -0
- package/esnext/textarea/index.js +88 -0
- package/esnext/textarea/style/css/index.css +572 -0
- package/esnext/textarea/style/css/index.d.ts +3 -0
- package/esnext/textarea/style/css/index.js +3 -0
- package/esnext/textarea/style/index.d.ts +3 -0
- package/esnext/textarea/style/index.js +3 -0
- package/esnext/textarea/style/index.less +84 -0
- package/esnext/toast/index.d.ts +257 -0
- package/esnext/toast/index.js +142 -0
- package/esnext/toast/methods.d.ts +16 -0
- package/esnext/toast/methods.js +61 -0
- package/esnext/toast/style/css/index.css +658 -0
- package/esnext/toast/style/css/index.d.ts +4 -0
- package/esnext/toast/style/css/index.js +4 -0
- package/esnext/toast/style/index.d.ts +4 -0
- package/esnext/toast/style/index.js +4 -0
- package/esnext/toast/style/index.less +130 -0
- package/esnext/transition/index.d.ts +49 -0
- package/esnext/transition/index.js +15 -0
- package/esnext/transition/style/css/index.css +549 -0
- package/esnext/transition/style/css/index.d.ts +2 -0
- package/esnext/transition/style/css/index.js +2 -0
- package/esnext/transition/style/index.d.ts +2 -0
- package/esnext/transition/style/index.js +2 -0
- package/esnext/transition/style/index.less +53 -0
- package/esnext/uploader/index.d.ts +16 -0
- package/esnext/uploader/index.js +75 -0
- package/esnext/uploader/style/css/index.css +666 -0
- package/esnext/uploader/style/css/index.d.ts +4 -0
- package/esnext/uploader/style/css/index.js +4 -0
- package/esnext/uploader/style/index.d.ts +4 -0
- package/esnext/uploader/style/index.js +4 -0
- package/esnext/uploader/style/index.less +161 -0
- package/esnext/uploader/type.d.ts +108 -0
- package/esnext/uploader/type.js +1 -0
- package/esnext/uploader/upload/index.d.ts +2 -0
- package/esnext/uploader/upload/index.js +2 -0
- package/esnext/uploader/upload/type.d.ts +107 -0
- package/esnext/uploader/upload/type.js +1 -0
- package/esnext/uploader/upload/upload.d.ts +20 -0
- package/esnext/uploader/upload/upload.js +123 -0
- package/esnext-tsconfig.json +23 -0
- package/package.json +3 -3
- package/umd/_helpers/index.d.ts +1 -0
- package/umd/_helpers/index.js +10 -4
- package/umd/_helpers/react-dom.js +21 -14
@@ -0,0 +1,205 @@
|
|
1
|
+
@import "../../../style/mixin.less";
|
2
|
+
|
3
|
+
.@{prefix}-progress {
|
4
|
+
|
5
|
+
&.progress-fixed {
|
6
|
+
position: fixed;
|
7
|
+
width: 100%;
|
8
|
+
.set-prop-with-rtl(left, 0);
|
9
|
+
z-index: @full-screen-z-index + 1;;
|
10
|
+
}
|
11
|
+
|
12
|
+
.progress-wrapper {
|
13
|
+
position: relative;
|
14
|
+
width: 100%;
|
15
|
+
display: flex;
|
16
|
+
align-items: center;
|
17
|
+
|
18
|
+
.progress-track {
|
19
|
+
width: 100%;
|
20
|
+
display: flex;
|
21
|
+
align-items: center;
|
22
|
+
.use-var(background-color, progress-track-color);
|
23
|
+
.use-var(height, progress-track-height);
|
24
|
+
|
25
|
+
&.position-innerLeft {
|
26
|
+
.use-var(height, progress-inner-track-height);
|
27
|
+
}
|
28
|
+
|
29
|
+
&.nav-mode {
|
30
|
+
.use-var(background-color, progress-nav-track-color);
|
31
|
+
.use-var(height, progress-nav-track-height);
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
.progress-bar {
|
36
|
+
height: 100%;
|
37
|
+
position: relative;
|
38
|
+
.use-var(background-color, progress-primary-color);
|
39
|
+
|
40
|
+
.wrapper {
|
41
|
+
position: absolute;
|
42
|
+
.set-prop-with-rtl(right, 0);
|
43
|
+
top: 50%;
|
44
|
+
transform: translateY(-50%);
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
.filleted {
|
49
|
+
border-radius: 100PX;
|
50
|
+
}
|
51
|
+
|
52
|
+
.text {
|
53
|
+
.use-var(font-size, progress-text-font-size);
|
54
|
+
.use-var-with-rtl(margin-left, progress-text-gutter);
|
55
|
+
.use-var(color, progress-primary-color);
|
56
|
+
}
|
57
|
+
|
58
|
+
.text-left {
|
59
|
+
.set-prop-with-rtl(margin-left, 0);
|
60
|
+
.use-var-with-rtl(margin-right, progress-text-gutter);
|
61
|
+
}
|
62
|
+
|
63
|
+
.text-innerLeft {
|
64
|
+
position: absolute;
|
65
|
+
z-index: 1;
|
66
|
+
.use-var(color, progress-text-inner-color);
|
67
|
+
}
|
68
|
+
|
69
|
+
.text-center {
|
70
|
+
position: absolute;
|
71
|
+
left: 50%;
|
72
|
+
top: 50%;
|
73
|
+
z-index: 1;
|
74
|
+
transform: translate(-50%, -50%);
|
75
|
+
.use-var(color, progress-text-inner-color);
|
76
|
+
}
|
77
|
+
|
78
|
+
.text-follow {
|
79
|
+
display: flex;
|
80
|
+
justify-content: center;
|
81
|
+
align-items: center;
|
82
|
+
.use-var(width, progress-text-follow-width);
|
83
|
+
.use-var(height, progress-text-follow-height);
|
84
|
+
.use-var(border-radius, progress-text-follow-border-radius);
|
85
|
+
.use-var(font-size, progress-text-follow-font-size);
|
86
|
+
.use-var(color, progress-text-inner-color);
|
87
|
+
.use-var(background-color, progress-primary-color);
|
88
|
+
}
|
89
|
+
|
90
|
+
.track-color {
|
91
|
+
.use-var(background-color, progress-track-color); }
|
92
|
+
|
93
|
+
.color {
|
94
|
+
.use-var(stroke, progress-primary-color);
|
95
|
+
.use-var(color, progress-primary-color);
|
96
|
+
}
|
97
|
+
|
98
|
+
.bar-disabled {
|
99
|
+
.use-var(background-color, progress-disabled-color);
|
100
|
+
}
|
101
|
+
|
102
|
+
.text-disabled {
|
103
|
+
.use-var(color, progress-disabled-text-color);
|
104
|
+
}
|
105
|
+
|
106
|
+
.inner-disabled {
|
107
|
+
.use-var(color, progress-text-inner-color);
|
108
|
+
|
109
|
+
&.inner-block-disabled {
|
110
|
+
.use-var(background-color, progress-disabled-color);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
}
|
114
|
+
}
|
115
|
+
|
116
|
+
/***************************************************
|
117
|
+
* *
|
118
|
+
* Arco Theme Style *
|
119
|
+
* *
|
120
|
+
***************************************************/
|
121
|
+
& when (@use-dark-mode = 1) {
|
122
|
+
|
123
|
+
.process-bg-color-with-config,
|
124
|
+
.process-custom-icon-bg-color-with-config {
|
125
|
+
@{arco-dark-mode-selector} & {
|
126
|
+
.use-var(color, dark-steps-process-with-config-item-icon-color);
|
127
|
+
.use-var(color, dark-steps-process-with-config-item-icon-color);
|
128
|
+
}
|
129
|
+
}
|
130
|
+
.wait-custom-icon-bg-color-with-config {
|
131
|
+
@{arco-dark-mode-selector} & {
|
132
|
+
.use-var(background, dark-steps-wait-icon-num-background);
|
133
|
+
.use-var(color, dark-sub-info-font-color);
|
134
|
+
.use-var(background, dark-steps-wait-icon-num-background);
|
135
|
+
.use-var(color, dark-sub-info-font-color);
|
136
|
+
}
|
137
|
+
}
|
138
|
+
.@{prefix}-progress {
|
139
|
+
.progress-wrapper {
|
140
|
+
.progress-track {
|
141
|
+
@{arco-dark-mode-selector} & {
|
142
|
+
.use-var(background-color, dark-progress-track-color);
|
143
|
+
}
|
144
|
+
}
|
145
|
+
.progress-bar {
|
146
|
+
@{arco-dark-mode-selector} & {
|
147
|
+
.use-var(background-color, dark-progress-primary-color);
|
148
|
+
}
|
149
|
+
}
|
150
|
+
.text {
|
151
|
+
@{arco-dark-mode-selector} & {
|
152
|
+
.use-var(color, dark-progress-primary-color);
|
153
|
+
}
|
154
|
+
}
|
155
|
+
.text-innerLeft {
|
156
|
+
@{arco-dark-mode-selector} & {
|
157
|
+
.use-var(color, dark-progress-text-inner-color);
|
158
|
+
}
|
159
|
+
}
|
160
|
+
.text-center {
|
161
|
+
@{arco-dark-mode-selector} & {
|
162
|
+
.use-var(color, dark-progress-text-inner-color);
|
163
|
+
}
|
164
|
+
}
|
165
|
+
.text-follow {
|
166
|
+
@{arco-dark-mode-selector} & {
|
167
|
+
.use-var(color, dark-progress-text-inner-color);
|
168
|
+
.use-var(background-color, dark-progress-primary-color);
|
169
|
+
}
|
170
|
+
}
|
171
|
+
.track-color {
|
172
|
+
@{arco-dark-mode-selector} & {
|
173
|
+
.use-var(background-color, dark-progress-track-color);
|
174
|
+
}
|
175
|
+
}
|
176
|
+
.color {
|
177
|
+
@{arco-dark-mode-selector} & {
|
178
|
+
.use-var(stroke, dark-progress-primary-color);
|
179
|
+
.use-var(color, dark-progress-primary-color);
|
180
|
+
}
|
181
|
+
}
|
182
|
+
.bar-disabled {
|
183
|
+
@{arco-dark-mode-selector} & {
|
184
|
+
.use-var(background-color, dark-progress-disabled-color);
|
185
|
+
}
|
186
|
+
}
|
187
|
+
.text-disabled {
|
188
|
+
@{arco-dark-mode-selector} & {
|
189
|
+
.use-var(color, dark-progress-disabled-text-color);
|
190
|
+
}
|
191
|
+
}
|
192
|
+
.inner-disabled {
|
193
|
+
@{arco-dark-mode-selector} & {
|
194
|
+
.use-var(color, dark-progress-text-inner-color);
|
195
|
+
}
|
196
|
+
&.inner-block-disabled {
|
197
|
+
@{arco-dark-mode-selector} & {
|
198
|
+
.use-var(background-color, dark-progress-disabled-color);
|
199
|
+
}
|
200
|
+
}
|
201
|
+
}
|
202
|
+
}
|
203
|
+
}
|
204
|
+
}
|
205
|
+
/********************* End *************************/
|
@@ -0,0 +1,168 @@
|
|
1
|
+
import React, { useRef, forwardRef, useCallback, useMemo, useContext, useEffect, useImperativeHandle, } from 'react';
|
2
|
+
import { cls, nextTick, defaultLocale } from '@arco-design/mobile-utils';
|
3
|
+
import Loading from '../loading';
|
4
|
+
import { GlobalContext } from '../context-provider';
|
5
|
+
import { PullRefreshStatus } from './model';
|
6
|
+
import { useCommonState, useAddScrollEvents, useCheckAsStart } from './hooks';
|
7
|
+
import { setStyleWithVendor } from '../_helpers';
|
8
|
+
const dampRateCalculate = (val, tipsHeight, dampRate) => val > tipsHeight ? tipsHeight + (val - tipsHeight) / dampRate : val;
|
9
|
+
export const PullRefresh = forwardRef((props, ref) => {
|
10
|
+
const { prefixCls, locale = defaultLocale } = useContext(GlobalContext);
|
11
|
+
const { className, style, children, loosingText = (React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-label-text`) },
|
12
|
+
React.createElement("span", null, locale.PullRefresh.loosingText))), loadingText = (React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-label-text`) },
|
13
|
+
React.createElement(Loading, { type: "circle", radius: 4 }),
|
14
|
+
React.createElement("span", null, locale.PullRefresh.loadingText))), pullingText = (React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-label-text`) },
|
15
|
+
React.createElement("span", null, locale.PullRefresh.pullingText))), finishText = (React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-label-text`) },
|
16
|
+
React.createElement("span", null, locale.PullRefresh.finishText))), initialText, finishDelay = 300, loosingMinHeight, dampRate = 4, disabled = false, useHideAsNestedScroll = true, onRefresh, allowPullWhenNotTop = false, } = props;
|
17
|
+
const placeRef = useRef(null);
|
18
|
+
const touchRef = useRef(null);
|
19
|
+
const currentTranslateYRef = useRef(0);
|
20
|
+
const onTouching = useRef(false);
|
21
|
+
const { loadingRef, status, setStatus, labelRef, domRef, touching, setTouching, loosingHeight, handleRefresh, tipsHeight, } = useCommonState({ loosingMinHeight, onRefresh });
|
22
|
+
const { ifShouldHandle } = useCheckAsStart({ domRef, allowPullWhenNotTop });
|
23
|
+
const currentLabelStyle = useMemo(() => {
|
24
|
+
return useHideAsNestedScroll &&
|
25
|
+
!touching &&
|
26
|
+
status === PullRefreshStatus.Pulling &&
|
27
|
+
(domRef?.current?.scrollTop ?? 0) > 0
|
28
|
+
? { opacity: 0 }
|
29
|
+
: {};
|
30
|
+
}, [useHideAsNestedScroll, touching]);
|
31
|
+
const pullTextConfig = {
|
32
|
+
[PullRefreshStatus.Static]: initialText === void 0 ? pullingText : initialText,
|
33
|
+
[PullRefreshStatus.Pulling]: pullingText,
|
34
|
+
[PullRefreshStatus.Loosing]: loosingText || pullingText,
|
35
|
+
[PullRefreshStatus.Loading]: loadingText,
|
36
|
+
[PullRefreshStatus.Finish]: finishText,
|
37
|
+
};
|
38
|
+
const scroll = (y, ms, callback) => {
|
39
|
+
if (y < 5) {
|
40
|
+
if (y < 0 || ms === 0) {
|
41
|
+
currentTranslateYRef.current = 0;
|
42
|
+
return;
|
43
|
+
}
|
44
|
+
}
|
45
|
+
const translateY = dampRateCalculate(y, loosingHeight, dampRate);
|
46
|
+
currentTranslateYRef.current = translateY;
|
47
|
+
placeRef.current &&
|
48
|
+
setStyleWithVendor(placeRef.current, {
|
49
|
+
transform: translateY ? `translateY(${translateY}px) translateZ(0)` : '',
|
50
|
+
...(ms ? { transition: `all ${ms / 1000}s` } : {}),
|
51
|
+
});
|
52
|
+
setTimeout(() => {
|
53
|
+
callback?.();
|
54
|
+
}, ms);
|
55
|
+
};
|
56
|
+
const reset = (callback = () => { }) => {
|
57
|
+
scroll(0, 300, () => {
|
58
|
+
if (domRef.current && domRef.current.scrollTop < 0) {
|
59
|
+
domRef.current.scrollTop = 0;
|
60
|
+
}
|
61
|
+
loadingRef.current = false;
|
62
|
+
setStatus(PullRefreshStatus.Static);
|
63
|
+
placeRef.current && setStyleWithVendor(placeRef.current, { transition: '' });
|
64
|
+
callback();
|
65
|
+
});
|
66
|
+
};
|
67
|
+
const handleTouchStart = useCallback((e) => {
|
68
|
+
if (disabled || touchRef.current || loadingRef.current || !domRef.current)
|
69
|
+
return;
|
70
|
+
if (!ifShouldHandle())
|
71
|
+
return;
|
72
|
+
setTouching(true);
|
73
|
+
if (domRef.current.scrollTop === 0) {
|
74
|
+
domRef.current.scrollTop = 1;
|
75
|
+
}
|
76
|
+
const { pageX, pageY } = e.touches[0];
|
77
|
+
if (pageX && pageY) {
|
78
|
+
touchRef.current = { start: domRef.current?.scrollTop, x: pageX, y: pageY };
|
79
|
+
}
|
80
|
+
setStatus(PullRefreshStatus.Pulling);
|
81
|
+
}, [disabled, ifShouldHandle]);
|
82
|
+
const refresh = () => new Promise(resolve => {
|
83
|
+
setStatus(PullRefreshStatus.Loading);
|
84
|
+
nextTick(() => {
|
85
|
+
scroll(tipsHeight, 300);
|
86
|
+
handleRefresh().then(() => {
|
87
|
+
if (pullTextConfig[PullRefreshStatus.Finish]) {
|
88
|
+
setStatus(PullRefreshStatus.Finish);
|
89
|
+
setTimeout(() => {
|
90
|
+
reset(resolve);
|
91
|
+
}, finishDelay);
|
92
|
+
}
|
93
|
+
else {
|
94
|
+
reset(resolve);
|
95
|
+
}
|
96
|
+
});
|
97
|
+
});
|
98
|
+
});
|
99
|
+
const handleTouchEnd = useCallback(() => {
|
100
|
+
if (currentTranslateYRef.current === 0 && !ifShouldHandle()) {
|
101
|
+
return;
|
102
|
+
}
|
103
|
+
onTouching.current = false;
|
104
|
+
setTouching(false);
|
105
|
+
if (disabled || !touchRef.current || loadingRef.current)
|
106
|
+
return;
|
107
|
+
touchRef.current = null;
|
108
|
+
if (status === PullRefreshStatus.Loosing) {
|
109
|
+
refresh();
|
110
|
+
}
|
111
|
+
else {
|
112
|
+
reset();
|
113
|
+
}
|
114
|
+
}, [disabled, status, tipsHeight, ifShouldHandle]);
|
115
|
+
const handleTouchMove = useCallback((e) => {
|
116
|
+
onTouching.current = true;
|
117
|
+
if (disabled || loadingRef.current || !domRef.current)
|
118
|
+
return;
|
119
|
+
if (!touchRef.current)
|
120
|
+
return;
|
121
|
+
const { pageY } = e.touches[0];
|
122
|
+
const pullY = pageY - touchRef.current.y - touchRef.current.start;
|
123
|
+
if (currentTranslateYRef.current === 0 && domRef.current.scrollTop > 0) {
|
124
|
+
return;
|
125
|
+
}
|
126
|
+
if (currentTranslateYRef.current === 0 && pullY < 0) {
|
127
|
+
return;
|
128
|
+
}
|
129
|
+
setStatus(() => pullY > loosingHeight ? PullRefreshStatus.Loosing : PullRefreshStatus.Pulling);
|
130
|
+
scroll(pullY, 0);
|
131
|
+
e.stopPropagation();
|
132
|
+
e.cancelable && e.preventDefault();
|
133
|
+
}, [disabled, loosingHeight]);
|
134
|
+
useEffect(() => {
|
135
|
+
const onScroll = () => {
|
136
|
+
if (onTouching.current &&
|
137
|
+
domRef.current &&
|
138
|
+
(domRef.current.scrollTop < 0 || currentTranslateYRef.current)) {
|
139
|
+
// 禁止 ios 负 scrollTop 和双层滚动
|
140
|
+
domRef.current.scrollTop = 0;
|
141
|
+
}
|
142
|
+
};
|
143
|
+
domRef.current?.addEventListener('scroll', onScroll);
|
144
|
+
return () => {
|
145
|
+
domRef.current?.removeEventListener('scroll', onScroll);
|
146
|
+
};
|
147
|
+
}, []);
|
148
|
+
useImperativeHandle(ref, () => ({
|
149
|
+
dom: domRef.current,
|
150
|
+
refresh,
|
151
|
+
updateIOSHeight() {
|
152
|
+
console.warn('updateIOSHeight 仅在 type="ios" 时可用');
|
153
|
+
},
|
154
|
+
}));
|
155
|
+
useAddScrollEvents({ domRef, handleTouchStart, handleTouchMove, handleTouchEnd });
|
156
|
+
return (React.createElement("div", { className: cls(`${prefixCls}-pull-refresh all-border-box is-android`, className, {
|
157
|
+
'is-disabled': (disabled || (!touching && useHideAsNestedScroll)) &&
|
158
|
+
status !== PullRefreshStatus.Loading,
|
159
|
+
}), style: style, ref: domRef },
|
160
|
+
React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-place`), ref: placeRef },
|
161
|
+
React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-label`), ref: labelRef, style: currentLabelStyle }, pullTextConfig[status]),
|
162
|
+
React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-content`, {
|
163
|
+
'is-loading': [
|
164
|
+
PullRefreshStatus.Loading,
|
165
|
+
PullRefreshStatus.Finish,
|
166
|
+
].includes(status),
|
167
|
+
}) }, children))));
|
168
|
+
});
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import type { RefObject } from 'react';
|
2
|
+
import { Promise } from 'es6-promise';
|
3
|
+
import { PullRefreshStatus } from './model';
|
4
|
+
export declare const useCommonState: ({ onRefresh, loosingMinHeight, }: {
|
5
|
+
onRefresh?: (() => Promise<void>) | undefined;
|
6
|
+
loosingMinHeight?: number | undefined;
|
7
|
+
}) => {
|
8
|
+
status: PullRefreshStatus;
|
9
|
+
setStatus: import("react").Dispatch<import("react").SetStateAction<PullRefreshStatus>>;
|
10
|
+
touching: boolean;
|
11
|
+
setTouching: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
12
|
+
loadingRef: import("react").MutableRefObject<boolean>;
|
13
|
+
labelRef: RefObject<HTMLDivElement>;
|
14
|
+
domRef: RefObject<HTMLDivElement>;
|
15
|
+
loosingHeight: number;
|
16
|
+
handleRefresh: () => Promise<[void | undefined, unknown]>;
|
17
|
+
tipsHeight: number;
|
18
|
+
};
|
19
|
+
export declare const useAddScrollEvents: ({ domRef, handleTouchStart, handleTouchMove, handleTouchEnd, }: {
|
20
|
+
domRef: RefObject<HTMLDivElement>;
|
21
|
+
handleTouchStart: (evt: HTMLElementEventMap['touchstart']) => void;
|
22
|
+
handleTouchMove: (evt: HTMLElementEventMap['touchmove']) => void;
|
23
|
+
handleTouchEnd: (evt: HTMLElementEventMap['touchend']) => void;
|
24
|
+
}) => void;
|
25
|
+
export declare const useCheckAsStart: ({ allowPullWhenNotTop, domRef, }: {
|
26
|
+
allowPullWhenNotTop: boolean;
|
27
|
+
domRef: RefObject<HTMLDivElement>;
|
28
|
+
}) => {
|
29
|
+
ifShouldHandle: () => boolean | null;
|
30
|
+
};
|
@@ -0,0 +1,73 @@
|
|
1
|
+
import { useState, useRef, useMemo, useEffect, useCallback } from 'react';
|
2
|
+
import { Promise } from 'es6-promise';
|
3
|
+
import { PullRefreshStatus } from './model';
|
4
|
+
export const useCommonState = ({ onRefresh, loosingMinHeight, }) => {
|
5
|
+
const [status, setStatus] = useState(PullRefreshStatus.Static);
|
6
|
+
const loadingRef = useRef(false);
|
7
|
+
const labelRef = useRef(null);
|
8
|
+
const domRef = useRef(null);
|
9
|
+
const [touching, setTouching] = useState(false);
|
10
|
+
const tipsHeight = useMemo(() => {
|
11
|
+
return labelRef.current?.getBoundingClientRect().height ?? 40;
|
12
|
+
}, [status]);
|
13
|
+
const loosingHeight = useMemo(() => loosingMinHeight || tipsHeight, [tipsHeight, loosingMinHeight]);
|
14
|
+
const handleRefresh = useCallback(() => {
|
15
|
+
loadingRef.current = true;
|
16
|
+
// 避免动画过快,最短加载时间
|
17
|
+
// @en Minimum load time, avoid animation too fast
|
18
|
+
return Promise.all([
|
19
|
+
onRefresh?.(),
|
20
|
+
new Promise(resolve => {
|
21
|
+
// 最少加载一秒
|
22
|
+
// @en Load at least one second
|
23
|
+
setTimeout(() => {
|
24
|
+
resolve();
|
25
|
+
}, 500);
|
26
|
+
}),
|
27
|
+
]);
|
28
|
+
}, [onRefresh]);
|
29
|
+
return {
|
30
|
+
status,
|
31
|
+
setStatus,
|
32
|
+
touching,
|
33
|
+
setTouching,
|
34
|
+
loadingRef,
|
35
|
+
labelRef,
|
36
|
+
domRef,
|
37
|
+
loosingHeight,
|
38
|
+
handleRefresh,
|
39
|
+
tipsHeight,
|
40
|
+
};
|
41
|
+
};
|
42
|
+
export const useAddScrollEvents = ({ domRef, handleTouchStart, handleTouchMove, handleTouchEnd, }) => {
|
43
|
+
useEffect(() => {
|
44
|
+
domRef.current?.addEventListener('touchstart', handleTouchStart, { passive: false });
|
45
|
+
return () => {
|
46
|
+
domRef.current?.removeEventListener('touchstart', handleTouchStart);
|
47
|
+
};
|
48
|
+
}, [handleTouchMove]);
|
49
|
+
useEffect(() => {
|
50
|
+
domRef.current?.addEventListener('touchmove', handleTouchMove, { passive: false });
|
51
|
+
return () => {
|
52
|
+
domRef.current?.removeEventListener('touchmove', handleTouchMove);
|
53
|
+
};
|
54
|
+
}, [handleTouchMove]);
|
55
|
+
useEffect(() => {
|
56
|
+
domRef.current?.addEventListener('touchend', handleTouchEnd);
|
57
|
+
domRef.current?.addEventListener('touchcancel', handleTouchEnd);
|
58
|
+
return () => {
|
59
|
+
domRef.current?.removeEventListener('touchend', handleTouchEnd);
|
60
|
+
domRef.current?.removeEventListener('touchcancel', handleTouchEnd);
|
61
|
+
};
|
62
|
+
}, [handleTouchEnd]);
|
63
|
+
};
|
64
|
+
export const useCheckAsStart = ({ allowPullWhenNotTop, domRef, }) => {
|
65
|
+
const ifShouldHandle = useCallback(() => {
|
66
|
+
const domRefHeight = domRef.current?.offsetHeight ?? 0;
|
67
|
+
return (domRef.current &&
|
68
|
+
!(!allowPullWhenNotTop &&
|
69
|
+
(domRef.current.scrollTop < 0 ||
|
70
|
+
domRef.current.scrollTop > domRef.current.scrollHeight - domRefHeight)));
|
71
|
+
}, [allowPullWhenNotTop]);
|
72
|
+
return { ifShouldHandle };
|
73
|
+
};
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { PullRefreshBasicProps, PullRefreshRef } from './model';
|
3
|
+
export type { PullRefreshRef } from './model';
|
4
|
+
export interface PullRefreshProps extends PullRefreshBasicProps {
|
5
|
+
/**
|
6
|
+
* 下拉刷新组件不同的实现方式,android - 常规的外层容器 transform,ios - 利用 ios scrollTop 负值实现下拉及回弹(性能优于transform),仅ios可用。指定该属性值后优先级高于 useIosOptimize
|
7
|
+
* @en Different implementation methods of PullRefresh, android - conventional outer container transform, ios - use ios scrollTop negative value to achieve pull-down and rebound (performance is better than transform), only available for ios. After specifying value, the priority is higher than useIosOptimize
|
8
|
+
* @default 跟随系统
|
9
|
+
* @default_en Follow the system
|
10
|
+
*/
|
11
|
+
type?: 'ios' | 'android';
|
12
|
+
/**
|
13
|
+
* 在 ios 上是否使用 scrollTop 负值实现下拉及回弹,而不是 transform,关闭后所有机型都使用 transform 的方式
|
14
|
+
* @en Whether to use the negative value of scrollTop on ios to achieve pull-down and rebound instead of transform. After closing, all models use transform
|
15
|
+
* @default false
|
16
|
+
*/
|
17
|
+
useIosOptimize?: boolean;
|
18
|
+
}
|
19
|
+
/**
|
20
|
+
* 下拉刷新数据组件。
|
21
|
+
* @en PullRefresh component that pulls down to refresh data.
|
22
|
+
* @name 下拉刷新
|
23
|
+
* @name_en PullRefresh
|
24
|
+
* @type 其他
|
25
|
+
* @type_en Others
|
26
|
+
*/
|
27
|
+
declare const PullRefresh: React.ForwardRefExoticComponent<PullRefreshProps & React.RefAttributes<PullRefreshRef>>;
|
28
|
+
export default PullRefresh;
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import React, { forwardRef } from 'react';
|
2
|
+
import { PullRefresh as IOSPullRefresh } from './ios-pull-refresh';
|
3
|
+
import { PullRefresh as AndroidPullRefresh } from './android-pull-refresh';
|
4
|
+
import { useSystem } from '../_helpers';
|
5
|
+
/**
|
6
|
+
* 下拉刷新数据组件。
|
7
|
+
* @en PullRefresh component that pulls down to refresh data.
|
8
|
+
* @name 下拉刷新
|
9
|
+
* @name_en PullRefresh
|
10
|
+
* @type 其他
|
11
|
+
* @type_en Others
|
12
|
+
*/
|
13
|
+
const PullRefresh = forwardRef((props, ref) => {
|
14
|
+
const { type, useIosOptimize, children, ...rest } = props;
|
15
|
+
const system = useSystem();
|
16
|
+
const Container = type === 'ios' || (useIosOptimize && (type || system) === 'ios')
|
17
|
+
? IOSPullRefresh
|
18
|
+
: AndroidPullRefresh;
|
19
|
+
return React.createElement(Container, Object.assign({}, { ...rest, ref }), children);
|
20
|
+
});
|
21
|
+
export default PullRefresh;
|
@@ -0,0 +1,137 @@
|
|
1
|
+
import React, { useState, useRef, forwardRef, useCallback, useContext, useEffect, useMemo, useImperativeHandle, } from 'react';
|
2
|
+
import { cls, defaultLocale } from '@arco-design/mobile-utils';
|
3
|
+
import Loading from '../loading';
|
4
|
+
import { GlobalContext } from '../context-provider';
|
5
|
+
import { PullRefreshStatus } from './model';
|
6
|
+
import { useCommonState, useAddScrollEvents, useCheckAsStart } from './hooks';
|
7
|
+
import { useListenResize } from '../_helpers';
|
8
|
+
export const PullRefresh = forwardRef((props, ref) => {
|
9
|
+
const { prefixCls, locale = defaultLocale } = useContext(GlobalContext);
|
10
|
+
const animationRef = useRef(0);
|
11
|
+
const { className, style, children, loadingText = (React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-label-text`) },
|
12
|
+
React.createElement(Loading, { type: "circle", radius: 4 }),
|
13
|
+
React.createElement("span", null, locale.PullRefresh.loadingText))), pullingText = (React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-label-text`) },
|
14
|
+
React.createElement("span", null, locale.PullRefresh.pullingText))), finishText = (React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-label-text`) },
|
15
|
+
React.createElement("span", null, locale.PullRefresh.finishText))), initialText, finishDelay = 300, disabled = false, loosingMinHeight, useHideAsNestedScroll = true, allowPullWhenNotTop = false, onRefresh, } = props;
|
16
|
+
const lastScrollTop = useRef(0);
|
17
|
+
const statusRef = useRef(PullRefreshStatus.Static);
|
18
|
+
const [labelStyle, setLabelStyle] = useState({});
|
19
|
+
const [contentHeight, setContentHeight] = useState(0);
|
20
|
+
const { loadingRef, status, setStatus, labelRef, domRef, touching, setTouching, loosingHeight, tipsHeight, handleRefresh, } = useCommonState({ loosingMinHeight, onRefresh });
|
21
|
+
const { ifShouldHandle } = useCheckAsStart({ domRef, allowPullWhenNotTop });
|
22
|
+
const currentLabelStyle = useMemo(() => {
|
23
|
+
return (useHideAsNestedScroll &&
|
24
|
+
!touching &&
|
25
|
+
status === PullRefreshStatus.Pulling &&
|
26
|
+
(domRef?.current?.scrollTop ?? 0) > 0) ||
|
27
|
+
disabled
|
28
|
+
? { ...labelStyle, opacity: 0 }
|
29
|
+
: labelStyle;
|
30
|
+
}, [labelStyle, useHideAsNestedScroll, touching, disabled]);
|
31
|
+
const pullTextConfig = {
|
32
|
+
[PullRefreshStatus.Static]: initialText === void 0 ? pullingText : initialText,
|
33
|
+
[PullRefreshStatus.Pulling]: pullingText,
|
34
|
+
[PullRefreshStatus.Loading]: loadingText,
|
35
|
+
[PullRefreshStatus.Finish]: finishText,
|
36
|
+
};
|
37
|
+
const reset = useCallback((animationKey, callback = () => { }) => {
|
38
|
+
if (animationRef.current === animationKey) {
|
39
|
+
setLabelStyle({
|
40
|
+
position: 'relative',
|
41
|
+
height: '0px',
|
42
|
+
top: 0,
|
43
|
+
transition: 'height .45s',
|
44
|
+
});
|
45
|
+
}
|
46
|
+
setTimeout(() => {
|
47
|
+
if (animationRef.current === animationKey) {
|
48
|
+
if (domRef.current)
|
49
|
+
domRef.current.style.overflow = 'auto';
|
50
|
+
setStatus(PullRefreshStatus.Pulling);
|
51
|
+
setLabelStyle({
|
52
|
+
position: 'absolute',
|
53
|
+
top: `-${tipsHeight}px`,
|
54
|
+
height: `${tipsHeight}px`,
|
55
|
+
transition: 'height 0s',
|
56
|
+
});
|
57
|
+
statusRef.current = PullRefreshStatus.Static;
|
58
|
+
loadingRef.current = false;
|
59
|
+
callback();
|
60
|
+
}
|
61
|
+
}, 450);
|
62
|
+
}, [tipsHeight]);
|
63
|
+
const handleTouchStart = useCallback(() => {
|
64
|
+
if (disabled || loadingRef.current || !domRef.current || !ifShouldHandle())
|
65
|
+
return;
|
66
|
+
setTouching(true);
|
67
|
+
if (domRef.current && domRef.current.scrollTop === 0) {
|
68
|
+
domRef.current.scrollTop = 1;
|
69
|
+
}
|
70
|
+
}, [disabled, ifShouldHandle]);
|
71
|
+
const refresh = () => new Promise(resolve => {
|
72
|
+
if (domRef.current) {
|
73
|
+
domRef.current.style.overflow = 'hidden';
|
74
|
+
const animationKey = new Date().getTime();
|
75
|
+
setStatus(PullRefreshStatus.Loading);
|
76
|
+
setLabelStyle({
|
77
|
+
position: 'relative',
|
78
|
+
top: 0,
|
79
|
+
height: `${tipsHeight}px`,
|
80
|
+
transition: 'height 0s',
|
81
|
+
});
|
82
|
+
animationRef.current = animationKey;
|
83
|
+
handleRefresh().then(() => {
|
84
|
+
if (pullTextConfig[PullRefreshStatus.Finish]) {
|
85
|
+
setStatus(PullRefreshStatus.Finish);
|
86
|
+
setTimeout(() => {
|
87
|
+
reset(animationKey, resolve);
|
88
|
+
}, finishDelay);
|
89
|
+
}
|
90
|
+
else {
|
91
|
+
reset(animationKey, resolve);
|
92
|
+
}
|
93
|
+
});
|
94
|
+
}
|
95
|
+
});
|
96
|
+
const handleTouchEnd = useCallback(() => {
|
97
|
+
if (disabled || loadingRef.current || !domRef.current)
|
98
|
+
return;
|
99
|
+
setTouching(false);
|
100
|
+
if (statusRef.current === PullRefreshStatus.Loosing)
|
101
|
+
refresh();
|
102
|
+
}, [disabled, tipsHeight]);
|
103
|
+
const handleTouchMove = useCallback(() => {
|
104
|
+
if (disabled || loadingRef.current || !domRef.current)
|
105
|
+
return;
|
106
|
+
setTimeout(() => {
|
107
|
+
const isLoosing = -(domRef.current?.scrollTop ?? 0) > loosingHeight;
|
108
|
+
if (isLoosing)
|
109
|
+
lastScrollTop.current = domRef.current?.scrollTop ?? 0;
|
110
|
+
statusRef.current = isLoosing ? PullRefreshStatus.Loosing : PullRefreshStatus.Pulling;
|
111
|
+
});
|
112
|
+
}, [disabled, loosingHeight]);
|
113
|
+
const updateIOSHeight = useCallback(() => {
|
114
|
+
if (domRef.current) {
|
115
|
+
const { height } = domRef.current.getBoundingClientRect();
|
116
|
+
setContentHeight(height);
|
117
|
+
}
|
118
|
+
}, []);
|
119
|
+
useListenResize(updateIOSHeight);
|
120
|
+
useImperativeHandle(ref, () => ({
|
121
|
+
dom: domRef.current,
|
122
|
+
refresh,
|
123
|
+
updateIOSHeight,
|
124
|
+
}));
|
125
|
+
useEffect(() => {
|
126
|
+
updateIOSHeight();
|
127
|
+
reset(animationRef.current);
|
128
|
+
}, []);
|
129
|
+
useAddScrollEvents({ domRef, handleTouchStart, handleTouchMove, handleTouchEnd });
|
130
|
+
return (React.createElement("div", { className: cls(`${prefixCls}-pull-refresh all-border-box is-ios`, className, {
|
131
|
+
'is-disabled': disabled || (!touching && useHideAsNestedScroll),
|
132
|
+
}), ref: domRef, style: contentHeight > 0 ? { height: contentHeight, ...(style || {}) } : style },
|
133
|
+
React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-content-wrapper`) },
|
134
|
+
React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-label-wrapper`), style: currentLabelStyle },
|
135
|
+
React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-label`), ref: labelRef }, pullTextConfig[status])),
|
136
|
+
React.createElement("div", { className: cls(`${prefixCls}-pull-refresh-content`), style: contentHeight > 0 ? { minHeight: `${contentHeight + 1}px` } : {} }, children))));
|
137
|
+
});
|