@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,177 @@
|
|
1
|
+
@import "../../../style/mixin.less";
|
2
|
+
|
3
|
+
.@{prefix}-dropdown {
|
4
|
+
position: fixed;
|
5
|
+
overflow: hidden;
|
6
|
+
left: 0;
|
7
|
+
right: 0;
|
8
|
+
z-index: @full-screen-z-index;
|
9
|
+
|
10
|
+
&-options {
|
11
|
+
position: absolute;
|
12
|
+
left: 0;
|
13
|
+
right: 0;
|
14
|
+
z-index: @full-screen-z-index + 1;
|
15
|
+
will-change: transform;
|
16
|
+
|
17
|
+
.drop-up & {
|
18
|
+
bottom: 0;
|
19
|
+
}
|
20
|
+
.use-var(background-color, dropdown-options-background-color);
|
21
|
+
|
22
|
+
&-container {
|
23
|
+
height: auto;
|
24
|
+
}
|
25
|
+
|
26
|
+
&-wrap {
|
27
|
+
&.use-column {
|
28
|
+
display: flex;
|
29
|
+
flex-wrap: wrap;
|
30
|
+
.use-var(padding, dropdown-multi-rows-options-container-padding);
|
31
|
+
.use-var(margin, dropdown-multi-rows-options-container-margin);
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
&-item {
|
36
|
+
.use-var(padding, dropdown-options-item-padding);
|
37
|
+
.use-var(font-size, dropdown-options-item-font-size);
|
38
|
+
.use-var(line-height, dropdown-options-item-line-height);
|
39
|
+
.use-var(color, dropdown-options-item-color);
|
40
|
+
.set-value-with-rtl(text-align, left);
|
41
|
+
position: relative;
|
42
|
+
|
43
|
+
&.selected {
|
44
|
+
.use-var(color, dropdown-options-item-selected-color);
|
45
|
+
}
|
46
|
+
|
47
|
+
&.selected &-icon {
|
48
|
+
.use-var(color, dropdown-options-item-selected-color);
|
49
|
+
}
|
50
|
+
|
51
|
+
&.disabled {
|
52
|
+
.use-var(color, dropdown-options-item-disabled-color);
|
53
|
+
}
|
54
|
+
|
55
|
+
&-icon {
|
56
|
+
position: absolute;
|
57
|
+
top: 50%;
|
58
|
+
transform: translateY(-50%);
|
59
|
+
.use-var-with-rtl(right, dropdown-options-item-icon-right);
|
60
|
+
color: transparent;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
|
64
|
+
&-item-fake-col,
|
65
|
+
&-item-col {
|
66
|
+
flex: 1;
|
67
|
+
.use-var(margin-right, dropdown-multi-rows-options-gutter);
|
68
|
+
.use-var(margin-bottom, dropdown-multi-rows-options-gutter);
|
69
|
+
.use-var(padding, dropdown-multi-rows-options-item-padding);
|
70
|
+
}
|
71
|
+
|
72
|
+
&-item-col {
|
73
|
+
text-align: center;
|
74
|
+
.use-var(font-size, dropdown-multi-rows-options-item-font-size);
|
75
|
+
.use-var(line-height, dropdown-multi-rows-options-item-line-height);
|
76
|
+
.use-var(color, dropdown-multi-rows-options-item-color);
|
77
|
+
.use-var(border-radius, dropdown-multi-rows-options-item-border-radius);
|
78
|
+
.use-var(background, dropdown-multi-rows-options-item-background);
|
79
|
+
|
80
|
+
&.selected {
|
81
|
+
.use-var(color, dropdown-multi-rows-options-item-selected-color);
|
82
|
+
.use-var(background, dropdown-multi-rows-options-item-selected-background);
|
83
|
+
}
|
84
|
+
|
85
|
+
&.disabled {
|
86
|
+
.use-var(color, dropdown-options-item-disabled-color);
|
87
|
+
}
|
88
|
+
}
|
89
|
+
|
90
|
+
&-item-col &-item-icon {
|
91
|
+
display: none;
|
92
|
+
}
|
93
|
+
}
|
94
|
+
|
95
|
+
&-mask {
|
96
|
+
position: absolute;
|
97
|
+
opacity: 0;
|
98
|
+
left: 0;
|
99
|
+
top: 0;
|
100
|
+
width: 100%;
|
101
|
+
height: 100%;
|
102
|
+
.use-var(background-color, dropdown-mask-background-color);
|
103
|
+
|
104
|
+
&.is-show {
|
105
|
+
opacity: 1;
|
106
|
+
}
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
/***************************************************
|
111
|
+
* *
|
112
|
+
* Arco Theme Style *
|
113
|
+
* *
|
114
|
+
***************************************************/
|
115
|
+
& when (@use-dark-mode = 1) {
|
116
|
+
|
117
|
+
.process-bg-color-with-config,
|
118
|
+
.process-custom-icon-bg-color-with-config {
|
119
|
+
@{arco-dark-mode-selector} & {
|
120
|
+
.use-var(color, dark-steps-process-with-config-item-icon-color);
|
121
|
+
.use-var(color, dark-steps-process-with-config-item-icon-color);
|
122
|
+
}
|
123
|
+
}
|
124
|
+
.wait-custom-icon-bg-color-with-config {
|
125
|
+
@{arco-dark-mode-selector} & {
|
126
|
+
.use-var(background, dark-steps-wait-icon-num-background);
|
127
|
+
.use-var(color, dark-sub-info-font-color);
|
128
|
+
.use-var(background, dark-steps-wait-icon-num-background);
|
129
|
+
.use-var(color, dark-sub-info-font-color);
|
130
|
+
}
|
131
|
+
}
|
132
|
+
.@{prefix}-dropdown {
|
133
|
+
&-options {
|
134
|
+
@{arco-dark-mode-selector} & {
|
135
|
+
.use-var(background-color, dark-dropdown-options-background-color);
|
136
|
+
}
|
137
|
+
&-item {
|
138
|
+
@{arco-dark-mode-selector} & {
|
139
|
+
.use-var(color, dark-dropdown-options-item-color);
|
140
|
+
}
|
141
|
+
&.selected {
|
142
|
+
@{arco-dark-mode-selector} & {
|
143
|
+
.use-var(color, dark-dropdown-options-item-selected-color);
|
144
|
+
}
|
145
|
+
}
|
146
|
+
&.selected &-icon {
|
147
|
+
@{arco-dark-mode-selector} & {
|
148
|
+
.use-var(color, dark-dropdown-options-item-selected-color);
|
149
|
+
}
|
150
|
+
}
|
151
|
+
&.disabled {
|
152
|
+
@{arco-dark-mode-selector} & {
|
153
|
+
.use-var(color, dark-dropdown-options-item-disabled-color);
|
154
|
+
}
|
155
|
+
}
|
156
|
+
}
|
157
|
+
&-item-col {
|
158
|
+
@{arco-dark-mode-selector} & {
|
159
|
+
.use-var(color, dark-dropdown-multi-rows-options-item-color);
|
160
|
+
.use-var(background, dark-dropdown-multi-rows-options-item-background);
|
161
|
+
}
|
162
|
+
&.selected {
|
163
|
+
@{arco-dark-mode-selector} & {
|
164
|
+
.use-var(color, dark-dropdown-multi-rows-options-item-selected-color);
|
165
|
+
.use-var(background, dark-dropdown-multi-rows-options-item-selected-background);
|
166
|
+
}
|
167
|
+
}
|
168
|
+
&.disabled {
|
169
|
+
@{arco-dark-mode-selector} & {
|
170
|
+
.use-var(color, dark-dropdown-options-item-disabled-color);
|
171
|
+
}
|
172
|
+
}
|
173
|
+
}
|
174
|
+
}
|
175
|
+
}
|
176
|
+
}
|
177
|
+
/********************* End *************************/
|
@@ -0,0 +1,269 @@
|
|
1
|
+
import { CSSProperties, ReactNode } from 'react';
|
2
|
+
export declare type OptionValueType = number | string;
|
3
|
+
export interface OptionsItem {
|
4
|
+
/**
|
5
|
+
* 选项名称
|
6
|
+
* @en option label
|
7
|
+
* */
|
8
|
+
label: ReactNode;
|
9
|
+
/**
|
10
|
+
* 选项标识
|
11
|
+
* @en option value
|
12
|
+
* */
|
13
|
+
value: OptionValueType;
|
14
|
+
/**
|
15
|
+
* 选项是否可用,默认false表示可用
|
16
|
+
* @en Whether the option is available, the default false means available
|
17
|
+
* */
|
18
|
+
disabled?: boolean;
|
19
|
+
}
|
20
|
+
/**
|
21
|
+
* 暴露给DropdownMenu组件的使用方
|
22
|
+
* @en Expose to the consumer of the DropdownMenu component
|
23
|
+
*/
|
24
|
+
export interface DropdownCommonProps {
|
25
|
+
/**
|
26
|
+
* 自定义类名
|
27
|
+
* @en Custom classname
|
28
|
+
* */
|
29
|
+
className?: string;
|
30
|
+
/**
|
31
|
+
* 自定义样式
|
32
|
+
* @en Custom stylesheet
|
33
|
+
*/
|
34
|
+
style?: CSSProperties;
|
35
|
+
/**
|
36
|
+
* 下拉框底部元素
|
37
|
+
* @en Dropdown bottom element
|
38
|
+
* */
|
39
|
+
extraNode?: ReactNode;
|
40
|
+
/**
|
41
|
+
* 定位下拉框出现的位置
|
42
|
+
* @en Position where the dropDown box appears
|
43
|
+
* */
|
44
|
+
top?: number;
|
45
|
+
/**
|
46
|
+
* 向上展开时下拉框出现的位置
|
47
|
+
* @en Position Where the drop-down box appears when expanding upwards
|
48
|
+
* */
|
49
|
+
bottom?: number;
|
50
|
+
/**
|
51
|
+
* 展开方向
|
52
|
+
* @en Expand direction
|
53
|
+
* @default "down"
|
54
|
+
*/
|
55
|
+
direction?: 'up' | 'down';
|
56
|
+
/**
|
57
|
+
* 受控模式,下拉框高度
|
58
|
+
* @en Dropdown box height in controlled mode
|
59
|
+
* */
|
60
|
+
height?: number;
|
61
|
+
/**
|
62
|
+
* 下拉框最大的高度
|
63
|
+
* @en The maximum height of the dropdown
|
64
|
+
* @default 500
|
65
|
+
*/
|
66
|
+
maxHeight?: number;
|
67
|
+
/**
|
68
|
+
* 点击其他区域是否取消选择
|
69
|
+
* @en Click on other areas to cancel the selection
|
70
|
+
* @default true
|
71
|
+
*/
|
72
|
+
clickOtherToClose?: boolean;
|
73
|
+
/**
|
74
|
+
* 是否在触发touchstart时就取消选择,否则在click之后再取消选择
|
75
|
+
* @en Whether to cancel the selection when touchstart is triggered, otherwise cancel the selection after the click
|
76
|
+
* @default true
|
77
|
+
*/
|
78
|
+
touchToClose?: boolean;
|
79
|
+
/**
|
80
|
+
* 展开收起动画的时间
|
81
|
+
* @en Expand and collapse animation duration
|
82
|
+
* @default 300
|
83
|
+
*/
|
84
|
+
dropdownAnimationTimeout?: number;
|
85
|
+
/**
|
86
|
+
* 展开收起动画曲线函数
|
87
|
+
* @en Expand and collapse animation curve function
|
88
|
+
* @default "cubic-bezier(0.32, 0.96, 0.6, 1)"
|
89
|
+
*/
|
90
|
+
dropdownAnimationFunction?: string;
|
91
|
+
/**
|
92
|
+
* 是否展示遮罩层
|
93
|
+
* @en Whether to show the mask layer
|
94
|
+
* @default true
|
95
|
+
*/
|
96
|
+
showMask?: boolean;
|
97
|
+
/**
|
98
|
+
* 蒙层动画时长
|
99
|
+
* @en Mask animation duration
|
100
|
+
* @default 500
|
101
|
+
*/
|
102
|
+
maskAnimationTimeout?: number;
|
103
|
+
/**
|
104
|
+
* 蒙层动画函数
|
105
|
+
* @en Mask animation function
|
106
|
+
* @default "cubic-bezier(0.32, 0.96, 0.6, 1)"
|
107
|
+
*/
|
108
|
+
maskAnimationFunction?: string;
|
109
|
+
/**
|
110
|
+
* 使用多列标签样式,传 true 为 4 列,传数字为指定 n 列
|
111
|
+
* @en Use multi-column label style, input true, it's 4 columns, and input number n, it will be n columns
|
112
|
+
* @default false
|
113
|
+
*/
|
114
|
+
useColumn?: boolean | number;
|
115
|
+
/**
|
116
|
+
* 选项附带图标
|
117
|
+
* @en Icon in each option
|
118
|
+
*/
|
119
|
+
optionIcon?: ReactNode;
|
120
|
+
/**
|
121
|
+
* 是否在打开下拉框时再加载内容
|
122
|
+
* @en Whether to reload the content when the dropdown box is opened
|
123
|
+
* @default true
|
124
|
+
*/
|
125
|
+
mountOnEnter?: boolean;
|
126
|
+
/**
|
127
|
+
* 是否在退出时卸载内容
|
128
|
+
* @en Whether to unmount content on exit
|
129
|
+
* @default true
|
130
|
+
*/
|
131
|
+
unmountOnExit?: boolean;
|
132
|
+
/**
|
133
|
+
* 弹窗打开时是否禁止body的滚动
|
134
|
+
* @en Whether to prohibit the scrolling of the body when the dropdown box is opened
|
135
|
+
* @default true
|
136
|
+
*/
|
137
|
+
preventBodyScroll?: boolean;
|
138
|
+
/**
|
139
|
+
* 页面初始 overflow 状态,即关闭弹窗时 overflow 应该还原的状态
|
140
|
+
* @en The initial overflow state of the page, that is, the state in which overflow should be restored when the dropdown box is closed
|
141
|
+
* @default 第一个全屏组件(弹窗、toast等)打开时页面overflow值
|
142
|
+
* @default_en The page overflow value when the first fullscreen component (popup, toast, etc.) is opened
|
143
|
+
*/
|
144
|
+
initialBodyOverflow?: string;
|
145
|
+
/**
|
146
|
+
* 用于定位的元素,优先级低于top/bottom
|
147
|
+
* @en Element used for positioning, with lower priority than top/bottom
|
148
|
+
* @default 当前DOM所在位置的父元素
|
149
|
+
* @default_en The parent element of the current DOM
|
150
|
+
*/
|
151
|
+
getAnchorElement?: () => HTMLElement;
|
152
|
+
/**
|
153
|
+
* 点击某元素时是否阻止关闭面板, 优先级高于`getStopTouchElement`,当 clickOtherToClose=true 时有效
|
154
|
+
* @en Whether to prevent the panel from closing when an element is clicked, the priority is higher than `getStopTouchElement`, valid when clickOtherToClose=true
|
155
|
+
* */
|
156
|
+
isStopTouchEl?: (el: HTMLElement) => boolean;
|
157
|
+
/**
|
158
|
+
* 可阻止关闭面板的元素,当 clickOtherToClose=true 时有效
|
159
|
+
* @en Element that prevents the panel from closing, valid when clickOtherToClose=true
|
160
|
+
* @default 当前组件的父元素
|
161
|
+
* @default_en The parent element of the current component
|
162
|
+
*/
|
163
|
+
getStopTouchElements?: () => HTMLElement[];
|
164
|
+
/**
|
165
|
+
* 内容内部滚动区域容器,在该容器中未滚动到顶部或底部时会释放滚动
|
166
|
+
* @en Content inner scroll container, scrolling will be releases when it is not scrolled to the top or bottom
|
167
|
+
* */
|
168
|
+
getScrollContainer?: () => HTMLElement[] | HTMLElement | null;
|
169
|
+
/**
|
170
|
+
* 获取挂载容器
|
171
|
+
* @en Get mounted container
|
172
|
+
* */
|
173
|
+
getPortalContainer?: () => HTMLElement;
|
174
|
+
}
|
175
|
+
export interface SingleOptionProps {
|
176
|
+
/**
|
177
|
+
* 是否支持多选
|
178
|
+
* @en Whether to support multiple selection
|
179
|
+
* @default false
|
180
|
+
*/
|
181
|
+
multiple?: false;
|
182
|
+
/**
|
183
|
+
* 默认选中值
|
184
|
+
* @en Default checked value
|
185
|
+
* */
|
186
|
+
defaultSelectedValue?: OptionValueType;
|
187
|
+
/**
|
188
|
+
* 当前选择的选项标识
|
189
|
+
* @en The currently selected option value
|
190
|
+
* */
|
191
|
+
selectedValue?: OptionValueType;
|
192
|
+
/**
|
193
|
+
* 点击选项时触发的回调函数
|
194
|
+
* @en Callback when clicking option
|
195
|
+
* */
|
196
|
+
onOptionClick?: (val: OptionValueType, op: OptionsItem) => void;
|
197
|
+
/**
|
198
|
+
* 当选项改变时触发的回调函数
|
199
|
+
* @en Callback when the option changes
|
200
|
+
* */
|
201
|
+
onOptionChange?: (val: OptionValueType, op: OptionsItem) => void;
|
202
|
+
}
|
203
|
+
export interface MultipleOptionProps {
|
204
|
+
multiple: true;
|
205
|
+
defaultSelectedValue?: OptionValueType[];
|
206
|
+
selectedValue?: OptionValueType[];
|
207
|
+
onOptionClick?: (selected: boolean, val: OptionValueType, op: OptionsItem) => void;
|
208
|
+
onOptionChange?: (vals: OptionValueType[], op: OptionsItem) => void;
|
209
|
+
}
|
210
|
+
export declare type OptionProps = SingleOptionProps | MultipleOptionProps;
|
211
|
+
export interface DropdownBasicProps extends DropdownCommonProps {
|
212
|
+
/**
|
213
|
+
* 是否展开下拉框
|
214
|
+
* @en Whether to expand the dropdown box
|
215
|
+
* @default false
|
216
|
+
*/
|
217
|
+
showDropdown: boolean;
|
218
|
+
/**
|
219
|
+
* 展示的选项,优先级低于dropdownNode
|
220
|
+
* @en Displayed options, lower priority than dropdownNode
|
221
|
+
* @default []
|
222
|
+
*/
|
223
|
+
options?: OptionsItem[];
|
224
|
+
/**
|
225
|
+
* 自定义下拉框元素
|
226
|
+
* @en Custom dropdown element
|
227
|
+
* */
|
228
|
+
children?: ReactNode;
|
229
|
+
/**
|
230
|
+
* 取消选择
|
231
|
+
* @en Cancel selection
|
232
|
+
* */
|
233
|
+
onCancel: () => void;
|
234
|
+
}
|
235
|
+
export declare type DropdownProps = DropdownBasicProps & OptionProps;
|
236
|
+
export declare type ValueType = NonNullable<OptionProps['selectedValue']>;
|
237
|
+
export interface DropdownRef {
|
238
|
+
/**
|
239
|
+
* 最外层元素 DOM
|
240
|
+
* @en The outermost element DOM
|
241
|
+
*/
|
242
|
+
dom: HTMLDivElement | null;
|
243
|
+
}
|
244
|
+
export interface DropdownOptionsBasicProps {
|
245
|
+
/**
|
246
|
+
* 展示的选项列表
|
247
|
+
* @en Displayed list of options
|
248
|
+
* */
|
249
|
+
options: OptionsItem[];
|
250
|
+
/**
|
251
|
+
* 使用多列标签样式,传 true 为 4 列,传数字为指定 n 列
|
252
|
+
* @en Use multi-column label style, input true, it's 4 columns, and input number n, it will be n columns
|
253
|
+
* @default false
|
254
|
+
*/
|
255
|
+
useColumn?: DropdownCommonProps['useColumn'];
|
256
|
+
/**
|
257
|
+
* 选项列表右侧图标
|
258
|
+
* @en Icon on the right side of the options list
|
259
|
+
*/
|
260
|
+
icon?: ReactNode;
|
261
|
+
}
|
262
|
+
export declare type DropdownOptionsProps = DropdownOptionsBasicProps & OptionProps;
|
263
|
+
export interface DropdownOptionsRef {
|
264
|
+
/**
|
265
|
+
* 最外层元素 DOM
|
266
|
+
* @en The outermost element DOM
|
267
|
+
*/
|
268
|
+
dom: HTMLDivElement | null;
|
269
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { DropdownMenuRef } from './type';
|
3
|
+
import { DropdownProps, DropdownRef } from '../dropdown';
|
4
|
+
export declare function componentGenerator<P extends DropdownProps = DropdownProps, R extends DropdownRef = DropdownRef>(Comp: React.ForwardRefExoticComponent<P & React.RefAttributes<R>>): React.ForwardRefExoticComponent<(import("./type").DropdownMenuBasicProps & import("./type").SingleOptionProps & React.RefAttributes<DropdownMenuRef>) | (import("./type").DropdownMenuBasicProps & import("./type").MultipleOptionProps & React.RefAttributes<DropdownMenuRef>)>;
|
@@ -0,0 +1,161 @@
|
|
1
|
+
import React, { useRef, useState, forwardRef, useImperativeHandle, useMemo, useEffect, useContext, } from 'react';
|
2
|
+
import { cls } from '@arco-design/mobile-utils';
|
3
|
+
import { GlobalContext } from '../context-provider';
|
4
|
+
import { getFormattedOptions as defaultFormatFunc, isCascadeArray, isClassNameDom, isRefDom, } from './helper';
|
5
|
+
import IconTriDown from '../icon/IconTriDown';
|
6
|
+
export function componentGenerator(Comp) {
|
7
|
+
return forwardRef((props, ref) => {
|
8
|
+
const { className = '', style = {}, options = [], disabled = [], selectTips = [], values, defaultValues = [], icon, chooseAndClose = true, selectIndex, defaultSelectIndex = 0, showDropdown, defaultShowDropdown = false, onValuesChange, onSelectChange, onDropdownChange, getFormattedOptions = defaultFormatFunc, getContainer, children, extraForDropdown, } = props;
|
9
|
+
const { prefixCls, locale } = useContext(GlobalContext);
|
10
|
+
const [innerValues, setInnerValues] = useState(defaultValues);
|
11
|
+
const [defaultTop, setDefaultTop] = useState(0);
|
12
|
+
const currentValues = values !== void 0 ? values : innerValues;
|
13
|
+
const [innerShowDropdown, setInnerShowDropdown] = useState(defaultShowDropdown);
|
14
|
+
const dropdownShown = showDropdown !== void 0 ? showDropdown : innerShowDropdown;
|
15
|
+
const [innerSelectedIndex, setInnerSelectedIndex] = useState(defaultSelectIndex);
|
16
|
+
const selectedIndex = selectIndex !== void 0 ? selectIndex : innerSelectedIndex;
|
17
|
+
const selectWrapper = useRef(null);
|
18
|
+
const domRef = useRef(null);
|
19
|
+
const defaultOpItem = {
|
20
|
+
label: locale?.DropdownMenu.select,
|
21
|
+
value: -1,
|
22
|
+
};
|
23
|
+
/**
|
24
|
+
* 更新选项数组和选择情况
|
25
|
+
* @en Update options list and selection
|
26
|
+
*/
|
27
|
+
const { formattedOptions } = useMemo(() => {
|
28
|
+
return getFormattedOptions(options, currentValues);
|
29
|
+
}, [options, currentValues]);
|
30
|
+
const selectedOptions = useMemo(() => formattedOptions.map((ops, index) => {
|
31
|
+
if (props.multiple) {
|
32
|
+
const value = currentValues[index] || [];
|
33
|
+
const opItems = ops.reduce((acc, op) => [...acc, ...(value.includes(op.value) ? [op] : [])], []);
|
34
|
+
return opItems.length ? opItems : [defaultOpItem];
|
35
|
+
}
|
36
|
+
const value = currentValues[index];
|
37
|
+
return ops.find(op => op.value === value) || ops[0];
|
38
|
+
}), [formattedOptions, currentValues, props.multiple]);
|
39
|
+
/**
|
40
|
+
* 当下拉框的状态变化
|
41
|
+
* @en When the state of the dropdown box changes
|
42
|
+
*/
|
43
|
+
const handleShowDropdownChange = (show, index) => {
|
44
|
+
onDropdownChange && onDropdownChange(show, index);
|
45
|
+
setInnerShowDropdown(show);
|
46
|
+
};
|
47
|
+
const handleSelectedIndexChange = (idx) => {
|
48
|
+
setInnerSelectedIndex(idx);
|
49
|
+
onSelectChange?.(idx);
|
50
|
+
};
|
51
|
+
const handleValuesChange = (val) => {
|
52
|
+
let newValue = [...currentValues];
|
53
|
+
// 级联情况下 selectedIndex 之后的选项值重置
|
54
|
+
// @en Option values are reset after selectedIndex in case of cascade
|
55
|
+
if (isCascadeArray(options)) {
|
56
|
+
newValue = newValue.slice(0, selectedIndex);
|
57
|
+
}
|
58
|
+
newValue[selectedIndex] = val;
|
59
|
+
newValue = getFormattedOptions(options, newValue).formattedValue;
|
60
|
+
setInnerValues(newValue);
|
61
|
+
onValuesChange?.(newValue);
|
62
|
+
};
|
63
|
+
/**
|
64
|
+
* 处理选择框的点击事件
|
65
|
+
* @en Handle click event of dropdown box
|
66
|
+
*/
|
67
|
+
const handleSelectClick = idx => {
|
68
|
+
if (disabled[idx])
|
69
|
+
return;
|
70
|
+
if (Number(idx) === selectedIndex) {
|
71
|
+
handleShowDropdownChange(!dropdownShown, idx);
|
72
|
+
}
|
73
|
+
else {
|
74
|
+
handleSelectedIndexChange(idx);
|
75
|
+
if (!dropdownShown)
|
76
|
+
handleShowDropdownChange(true, idx);
|
77
|
+
}
|
78
|
+
};
|
79
|
+
/**
|
80
|
+
* 判断是否为当前实例下的选择框
|
81
|
+
* @en Determine whether it is the dropdown box under the current instance
|
82
|
+
*/
|
83
|
+
const isCurrentSelectEl = (target) => {
|
84
|
+
const { isStopTouchEl } = extraForDropdown || {};
|
85
|
+
return ((isRefDom(target, selectWrapper) && isClassNameDom(target, 'select-item')) ||
|
86
|
+
isStopTouchEl?.(target) ||
|
87
|
+
false);
|
88
|
+
};
|
89
|
+
useImperativeHandle(ref, () => ({
|
90
|
+
dom: domRef.current,
|
91
|
+
}));
|
92
|
+
useEffect(() => {
|
93
|
+
const defaultContainer = selectWrapper.current;
|
94
|
+
const container = getContainer ? getContainer() || defaultContainer : defaultContainer;
|
95
|
+
setDefaultTop(container?.getBoundingClientRect().bottom || 0);
|
96
|
+
}, [getContainer, dropdownShown]);
|
97
|
+
const onCancel = props.onCancel || (() => handleShowDropdownChange(false));
|
98
|
+
const dropdownCommonProps = {
|
99
|
+
showDropdown: dropdownShown,
|
100
|
+
top: extraForDropdown?.top || defaultTop,
|
101
|
+
onCancel,
|
102
|
+
...(extraForDropdown || {}),
|
103
|
+
isStopTouchEl: isCurrentSelectEl,
|
104
|
+
};
|
105
|
+
const renderSelectedLabel = (op, index) => {
|
106
|
+
if (props.multiple === true) {
|
107
|
+
const multipleOp = op || [];
|
108
|
+
return props.renderSelectLabel ? (props.renderSelectLabel(multipleOp, index)) : (React.createElement("div", { className: cls(`${prefixCls}-select-item-label-text`) }, multipleOp.map(item => item.label).join(',')));
|
109
|
+
}
|
110
|
+
const singleOp = op || [];
|
111
|
+
return props.renderSelectLabel ? (props.renderSelectLabel(singleOp, index)) : (React.createElement("div", { className: cls(`${prefixCls}-select-item-label-text`) }, singleOp.label));
|
112
|
+
};
|
113
|
+
return (React.createElement("div", { ref: domRef, className: cls(`${prefixCls}-dropdown-menu all-border-box`, className, {
|
114
|
+
show: dropdownShown,
|
115
|
+
}), style: style },
|
116
|
+
React.createElement("div", { className: cls(`${prefixCls}-select`), ref: selectWrapper },
|
117
|
+
selectedOptions.map((op, index) => {
|
118
|
+
const tip = selectTips[index] || '';
|
119
|
+
return (React.createElement("div", { className: cls(`${prefixCls}-select-item`, {
|
120
|
+
'is-disabled': disabled[index],
|
121
|
+
'is-selected': dropdownShown && selectedIndex === index,
|
122
|
+
}), key: index, "data-idx": index, onClick: () => handleSelectClick(index) },
|
123
|
+
tip.length > 0 && (React.createElement("span", { className: cls(`${prefixCls}-select-item-tip`) }, tip)),
|
124
|
+
React.createElement("div", { className: cls(`${prefixCls}-select-item-label`) },
|
125
|
+
renderSelectedLabel(op, index),
|
126
|
+
icon === void 0 ? (React.createElement(IconTriDown, { className: cls(`${prefixCls}-select-item-icon`, {
|
127
|
+
'is-show': dropdownShown && selectedIndex === index,
|
128
|
+
}) })) : (icon))));
|
129
|
+
}),
|
130
|
+
props.multiple === true ? (React.createElement(Comp, Object.assign({}, {
|
131
|
+
multiple: true,
|
132
|
+
options: formattedOptions[selectedIndex] || [],
|
133
|
+
selectedValue: currentValues[selectedIndex] || [],
|
134
|
+
onOptionClick: (selected, val, op) => {
|
135
|
+
props.onOptionClick?.(selected, val, op, selectedIndex);
|
136
|
+
},
|
137
|
+
onOptionChange: (val, op) => {
|
138
|
+
props.onOptionChange?.(val, op, selectedIndex);
|
139
|
+
handleValuesChange(val);
|
140
|
+
},
|
141
|
+
...dropdownCommonProps,
|
142
|
+
children,
|
143
|
+
}))) : (React.createElement(Comp, Object.assign({}, {
|
144
|
+
multiple: props.multiple,
|
145
|
+
options: formattedOptions[selectedIndex] || [],
|
146
|
+
selectedValue: currentValues[selectedIndex] || 0,
|
147
|
+
onOptionClick: (val, op) => {
|
148
|
+
props.onOptionClick?.(val, op, selectedIndex);
|
149
|
+
if (chooseAndClose) {
|
150
|
+
handleShowDropdownChange(false, selectedIndex);
|
151
|
+
}
|
152
|
+
},
|
153
|
+
onOptionChange: (val, op) => {
|
154
|
+
props.onOptionChange?.(val, op, selectedIndex);
|
155
|
+
handleValuesChange(val);
|
156
|
+
},
|
157
|
+
...dropdownCommonProps,
|
158
|
+
children,
|
159
|
+
}))))));
|
160
|
+
});
|
161
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { OptionsItem } from '../dropdown';
|
3
|
+
import { CascadeOptions, ValueType } from './type';
|
4
|
+
/**
|
5
|
+
* 判断是否为string数组
|
6
|
+
* @en Determine whether it is a string array
|
7
|
+
* */
|
8
|
+
export declare function isStringArray(options: string[] | OptionsItem[][] | CascadeOptions[]): options is string[];
|
9
|
+
/**
|
10
|
+
* 判断是否为嵌套数组
|
11
|
+
* @en Determine if it is a nested array
|
12
|
+
* */
|
13
|
+
export declare function isCascadeArray(options: string[] | OptionsItem[][] | CascadeOptions[]): options is CascadeOptions[];
|
14
|
+
/**
|
15
|
+
* 格式化传入的数组
|
16
|
+
* @en format the input array
|
17
|
+
* @param {OptionsItem[][] | string[] | CascadeOptions[]} options 上层传入的选择项数组
|
18
|
+
* @param {OptionsItem[][] | string[] | CascadeOptions[]} options {en} Array of options from the upper layer
|
19
|
+
* @param {ValueType} currentValues Current selected value
|
20
|
+
* */
|
21
|
+
export declare const getFormattedOptions: (options: OptionsItem[][] | string[] | CascadeOptions[], currentValues: ValueType) => {
|
22
|
+
formattedOptions: OptionsItem[][];
|
23
|
+
formattedValue: (string | number | (string | number)[])[];
|
24
|
+
};
|
25
|
+
/**
|
26
|
+
* 判断是否为指定ref内的元素
|
27
|
+
* @en Determine whether it is an element within the specified ref
|
28
|
+
*/
|
29
|
+
export declare const isRefDom: (dom: any, ref: React.RefObject<HTMLDivElement>) => boolean;
|
30
|
+
/**
|
31
|
+
* 判断是否为指定类名下的元素
|
32
|
+
* @en Determine whether it is an element under the specified classname
|
33
|
+
*/
|
34
|
+
export declare const isClassNameDom: (dom: any, className: string) => boolean;
|