@tendaui/react 1.1.1 → 1.1.3
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/es/_chunks/{dep-D7LanWes.js → dep-4LYjB3c6.js} +3 -18
- package/es/_chunks/dep-4LYjB3c6.js.map +1 -0
- package/es/_chunks/dep-5U9UjDaf.js +345 -0
- package/es/_chunks/dep-5U9UjDaf.js.map +1 -0
- package/es/_chunks/{dep-B7HmDtze.js → dep-B4_O1Vgv.js} +2 -2
- package/es/_chunks/{dep-B7HmDtze.js.map → dep-B4_O1Vgv.js.map} +1 -1
- package/es/_chunks/dep-BP0-apUT.js.map +1 -1
- package/es/_chunks/dep-BRbJGDI9.js +7 -0
- package/es/_chunks/dep-BRbJGDI9.js.map +1 -0
- package/es/_chunks/{dep-EcrDKDlu.js → dep-BYlJzn45.js} +10 -9
- package/es/_chunks/dep-BYlJzn45.js.map +1 -0
- package/es/_chunks/dep-BbeHB7S3.js +116 -0
- package/es/_chunks/dep-BbeHB7S3.js.map +1 -0
- package/es/_chunks/{dep-DB5wmwh1.js → dep-Bjfn7Zv_.js} +2 -2
- package/es/_chunks/{dep-DB5wmwh1.js.map → dep-Bjfn7Zv_.js.map} +1 -1
- package/es/_chunks/{dep-C36au4Ip.js → dep-BuIAffJt.js} +2 -2
- package/es/_chunks/{dep-C36au4Ip.js.map → dep-BuIAffJt.js.map} +1 -1
- package/es/_chunks/{dep-bWaVq_y3.js → dep-ByzdZjUR.js} +2 -2
- package/es/_chunks/dep-ByzdZjUR.js.map +1 -0
- package/es/_chunks/dep-CD_4-1Xb.js +103 -0
- package/es/_chunks/dep-CD_4-1Xb.js.map +1 -0
- package/es/_chunks/{dep-Dk2xX8lh.js → dep-CJCt0IS0.js} +5 -212
- package/es/_chunks/dep-CJCt0IS0.js.map +1 -0
- package/es/_chunks/dep-CMPsNAXF.js +52 -0
- package/es/_chunks/dep-CMPsNAXF.js.map +1 -0
- package/es/_chunks/dep-COy5g3FT.js +512 -0
- package/es/_chunks/dep-COy5g3FT.js.map +1 -0
- package/es/_chunks/{dep-CoIiHOgo.js → dep-CRURwzDj.js} +3 -3
- package/es/_chunks/{dep-CoIiHOgo.js.map → dep-CRURwzDj.js.map} +1 -1
- package/es/_chunks/dep-C_wPqvpm.js +36 -0
- package/es/_chunks/dep-C_wPqvpm.js.map +1 -0
- package/es/_chunks/dep-Ccktr_jk.js +33 -0
- package/es/_chunks/dep-Ccktr_jk.js.map +1 -0
- package/es/_chunks/dep-Chz4ZJCb.js +20 -0
- package/es/_chunks/dep-Chz4ZJCb.js.map +1 -0
- package/es/_chunks/dep-CkmtEv0Y.js +55 -0
- package/es/_chunks/dep-CkmtEv0Y.js.map +1 -0
- package/es/_chunks/dep-DJmE940f.js +764 -0
- package/es/_chunks/dep-DJmE940f.js.map +1 -0
- package/es/_chunks/{dep-DHWwZ2Nj.js → dep-DQ6kXoi8.js} +2 -2
- package/es/_chunks/{dep-DHWwZ2Nj.js.map → dep-DQ6kXoi8.js.map} +1 -1
- package/es/_chunks/{dep-0QH2Ee4R.js → dep-DRwijJcv.js} +5 -5
- package/es/_chunks/dep-DRwijJcv.js.map +1 -0
- package/es/_chunks/dep-DTlQ2dCA.js +46 -0
- package/es/_chunks/dep-DTlQ2dCA.js.map +1 -0
- package/es/_chunks/dep-DURB9x8g.js +170 -0
- package/es/_chunks/dep-DURB9x8g.js.map +1 -0
- package/es/_chunks/{dep-DZ_0EvBk.js → dep-DX65P8M9.js} +4 -45
- package/es/_chunks/dep-DX65P8M9.js.map +1 -0
- package/es/_chunks/{dep-BH5n5r1M.js → dep-DbVHGoUC.js} +2 -2
- package/es/_chunks/dep-DbVHGoUC.js.map +1 -0
- package/es/_chunks/dep-Dlppf0JU.js +214 -0
- package/es/_chunks/dep-Dlppf0JU.js.map +1 -0
- package/es/_chunks/dep-Dr5wkz0z.js +266 -0
- package/es/_chunks/dep-Dr5wkz0z.js.map +1 -0
- package/es/_chunks/dep-DwWrhxkd.js.map +1 -1
- package/es/_chunks/dep-Tshfumgl.js +31 -0
- package/es/_chunks/dep-Tshfumgl.js.map +1 -0
- package/es/_chunks/{dep-u1x3x6MJ.js → dep-gy8uvBaS.js} +2 -2
- package/es/_chunks/{dep-u1x3x6MJ.js.map → dep-gy8uvBaS.js.map} +1 -1
- package/es/_chunks/dep-oUgTcXgm.js +11 -0
- package/es/_chunks/dep-oUgTcXgm.js.map +1 -0
- package/es/_chunks/dep-zOZQ0R9g.js +1181 -0
- package/es/_chunks/dep-zOZQ0R9g.js.map +1 -0
- package/es/alert/Alert.d.ts +7 -0
- package/es/alert/Alert.js +4 -3
- package/es/alert/Alert.js.map +1 -1
- package/es/alert/defaultProps.d.ts +2 -0
- package/es/alert/index.d.ts +5 -0
- package/es/alert/index.js +4 -3
- package/es/alert/index.js.map +1 -1
- package/es/alert/style/css.d.ts +1 -0
- package/es/alert/style/index.d.ts +1 -0
- package/es/alert/type.d.ts +45 -0
- package/es/badge/Badge.d.ts +7 -0
- package/es/badge/Badge.js +3 -2
- package/es/badge/Badge.js.map +1 -1
- package/es/badge/defaultProps.d.ts +2 -0
- package/es/badge/index.d.ts +5 -0
- package/es/badge/index.js +3 -2
- package/es/badge/index.js.map +1 -1
- package/es/badge/style/css.d.ts +1 -0
- package/es/badge/style/index.d.ts +1 -0
- package/es/badge/type.d.ts +50 -0
- package/es/button/Button.d.ts +6 -0
- package/es/button/Button.js +7 -5
- package/es/button/Button.js.map +1 -1
- package/es/button/_example/base.js +171 -0
- package/es/button/_example/base.js.map +1 -0
- package/es/button/_example/icon.js +181 -0
- package/es/button/_example/icon.js.map +1 -0
- package/es/button/defaultProps.d.ts +2 -0
- package/es/button/index.d.ts +5 -0
- package/es/button/index.js +7 -5
- package/es/button/index.js.map +1 -1
- package/es/button/style/css.d.ts +1 -0
- package/es/button/style/index.d.ts +1 -0
- package/es/button/type.d.ts +81 -0
- package/es/checkbox/Checkbox.d.ts +10 -0
- package/es/checkbox/Checkbox.js +5 -4
- package/es/checkbox/Checkbox.js.map +1 -1
- package/es/checkbox/CheckboxGroup.d.ts +14 -0
- package/es/checkbox/CheckboxGroup.js +5 -4
- package/es/checkbox/CheckboxGroup.js.map +1 -1
- package/es/checkbox/defaultProps.d.ts +3 -0
- package/es/checkbox/index.d.ts +11 -0
- package/es/checkbox/index.js +5 -4
- package/es/checkbox/index.js.map +1 -1
- package/es/checkbox/style/css.d.ts +1 -0
- package/es/checkbox/style/index.d.ts +1 -0
- package/es/checkbox/type.d.ts +115 -0
- package/es/color-picker/ColorPickPanel.d.ts +4 -0
- package/es/color-picker/ColorPickPanel.js +44 -0
- package/es/color-picker/ColorPickPanel.js.map +1 -0
- package/es/color-picker/ColorPicker.d.ts +4 -0
- package/es/color-picker/ColorPicker.js +118 -0
- package/es/color-picker/ColorPicker.js.map +1 -0
- package/es/color-picker/components/panel/alpha.d.ts +4 -0
- package/es/color-picker/components/panel/alpha.js +44 -0
- package/es/color-picker/components/panel/alpha.js.map +1 -0
- package/es/color-picker/components/panel/format/index.d.ts +10 -0
- package/es/color-picker/components/panel/format/index.js +128 -0
- package/es/color-picker/components/panel/format/index.js.map +1 -0
- package/es/color-picker/components/panel/format/inputs.d.ts +4 -0
- package/es/color-picker/components/panel/format/inputs.js +147 -0
- package/es/color-picker/components/panel/format/inputs.js.map +1 -0
- package/es/color-picker/components/panel/header.d.ts +13 -0
- package/es/color-picker/components/panel/header.js +60 -0
- package/es/color-picker/components/panel/header.js.map +1 -0
- package/es/color-picker/components/panel/hue.d.ts +4 -0
- package/es/color-picker/components/panel/hue.js +33 -0
- package/es/color-picker/components/panel/hue.js.map +1 -0
- package/es/color-picker/components/panel/index.d.ts +4 -0
- package/es/color-picker/components/panel/index.js +32 -0
- package/es/color-picker/components/panel/index.js.map +1 -0
- package/es/color-picker/components/panel/saturation.d.ts +4 -0
- package/es/color-picker/components/panel/saturation.js +101 -0
- package/es/color-picker/components/panel/saturation.js.map +1 -0
- package/es/color-picker/components/panel/slider.d.ts +11 -0
- package/es/color-picker/components/panel/slider.js +121 -0
- package/es/color-picker/components/panel/slider.js.map +1 -0
- package/es/color-picker/components/panel/swatches.d.ts +11 -0
- package/es/color-picker/components/panel/swatches.js +100 -0
- package/es/color-picker/components/panel/swatches.js.map +1 -0
- package/es/color-picker/components/trigger.d.ts +9 -0
- package/es/color-picker/components/trigger.js +73 -0
- package/es/color-picker/components/trigger.js.map +1 -0
- package/es/color-picker/defaultProps.d.ts +2 -0
- package/es/color-picker/helpers.d.ts +5 -0
- package/es/color-picker/hooks/useClassNames.d.ts +2 -0
- package/es/color-picker/hooks/useStyles.d.ts +14 -0
- package/es/color-picker/index.d.ts +6 -0
- package/es/color-picker/index.js +62 -0
- package/es/color-picker/index.js.map +1 -0
- package/es/color-picker/style/index.css +597 -0
- package/es/color-picker/style/index.d.ts +1 -0
- package/es/color-picker/style/index.js +2 -0
- package/es/color-picker/style/index.js.map +1 -0
- package/es/color-picker/type.d.ts +135 -0
- package/es/color-picker/utils/color-picker/cmyk.d.ts +27 -0
- package/es/color-picker/utils/color-picker/color.d.ts +144 -0
- package/es/color-picker/utils/color-picker/constants.d.ts +30 -0
- package/es/color-picker/utils/color-picker/draggable.d.ts +23 -0
- package/es/color-picker/utils/color-picker/format.d.ts +64 -0
- package/es/color-picker/utils/color-picker/gradient.d.ts +22 -0
- package/es/color-picker/utils/color-picker/index.d.ts +7 -0
- package/es/color-picker/utils/color-picker/index.js +147 -0
- package/es/color-picker/utils/color-picker/index.js.map +1 -0
- package/es/color-picker/utils/color-picker/types.d.ts +28 -0
- package/es/common/Check.d.ts +22 -0
- package/es/common/Check.js +4 -3
- package/es/common/Check.js.map +1 -1
- package/es/common/FakeArrow.d.ts +9 -0
- package/es/common/FakeArrow.js +3 -2
- package/es/common/FakeArrow.js.map +1 -1
- package/es/common/PluginContainer.d.ts +9 -0
- package/es/common/PluginContainer.js +2 -1
- package/es/common/PluginContainer.js.map +1 -1
- package/es/common/Portal.d.ts +16 -0
- package/es/common/Portal.js +6 -3
- package/es/common/Portal.js.map +1 -1
- package/es/common/observe.d.ts +1 -0
- package/es/common.d.ts +81 -0
- package/es/config-provider/ConfigContext.d.ts +13 -0
- package/es/config-provider/ConfigContext.js +5 -16
- package/es/config-provider/ConfigContext.js.map +1 -1
- package/es/config-provider/ConfigProvider.d.ts +25 -0
- package/es/config-provider/ConfigProvider.js +2 -1
- package/es/config-provider/ConfigProvider.js.map +1 -1
- package/es/config-provider/index.d.ts +7 -0
- package/es/config-provider/index.js +2 -1
- package/es/config-provider/index.js.map +1 -1
- package/es/config-provider/type.d.ts +1029 -0
- package/es/dialog/Dialog.d.ts +8 -0
- package/es/dialog/Dialog.js +12 -149
- package/es/dialog/Dialog.js.map +1 -1
- package/es/dialog/DialogCard.d.ts +8 -0
- package/es/dialog/DialogCard.js +9 -7
- package/es/dialog/DialogCard.js.map +1 -1
- package/es/dialog/defaultProps.d.ts +6 -0
- package/es/dialog/hooks/useDialogDrag.d.ts +7 -0
- package/es/dialog/hooks/useDialogEsc.d.ts +3 -0
- package/es/dialog/hooks/useDialogPosition.d.ts +2 -0
- package/es/dialog/hooks/useLockStyle.d.ts +2 -0
- package/es/dialog/index.d.ts +8 -0
- package/es/dialog/index.js +12 -8
- package/es/dialog/index.js.map +1 -1
- package/es/dialog/plugin.d.ts +6 -0
- package/es/dialog/plugin.js +15 -10
- package/es/dialog/plugin.js.map +1 -1
- package/es/dialog/style/css.d.ts +1 -0
- package/es/dialog/style/index.d.ts +1 -0
- package/es/dialog/type.d.ts +227 -0
- package/es/dialog/utils.d.ts +1 -0
- package/es/drawer/Drawer.d.ts +11 -0
- package/es/drawer/Drawer.js +458 -0
- package/es/drawer/Drawer.js.map +1 -0
- package/es/drawer/defaultProps.d.ts +2 -0
- package/es/drawer/hooks/useDrag.d.ts +8 -0
- package/es/drawer/hooks/useLockStyle.d.ts +1 -0
- package/es/drawer/index.d.ts +4 -0
- package/es/drawer/index.js +39 -0
- package/es/drawer/index.js.map +1 -0
- package/es/drawer/style/css.d.ts +1 -0
- package/es/drawer/style/css.js +1 -0
- package/es/drawer/style/index.css +231 -0
- package/es/drawer/style/index.d.ts +1 -0
- package/es/drawer/style/index.js +2 -0
- package/es/drawer/style/index.js.map +1 -0
- package/es/drawer/type.d.ts +199 -0
- package/es/drawer/utils/index.d.ts +23 -0
- package/es/drawer/utils/index.js +46 -0
- package/es/drawer/utils/index.js.map +1 -0
- package/es/fireworks/Fireworks.d.ts +7 -0
- package/es/fireworks/Fireworks.js +139 -0
- package/es/fireworks/Fireworks.js.map +1 -0
- package/es/fireworks/index.d.ts +5 -0
- package/es/fireworks/index.js +16 -0
- package/es/fireworks/index.js.map +1 -0
- package/es/fireworks/style/css.d.ts +1 -0
- package/es/fireworks/style/css.js +2 -0
- package/es/fireworks/style/index.css +121 -0
- package/es/fireworks/style/index.d.ts +1 -0
- package/es/fireworks/style/index.js +2 -0
- package/es/fireworks/style/index.js.map +1 -0
- package/es/fireworks/type.d.ts +69 -0
- package/es/form/Form.d.ts +8 -0
- package/es/form/Form.js +14 -10
- package/es/form/Form.js.map +1 -1
- package/es/form/FormContext.d.ts +59 -0
- package/es/form/FormItem.d.ts +23 -0
- package/es/form/FormItem.js +14 -10
- package/es/form/FormItem.js.map +1 -1
- package/es/form/FormList.d.ts +4 -0
- package/es/form/FormList.js +2 -1
- package/es/form/FormList.js.map +1 -1
- package/es/form/const.d.ts +6 -0
- package/es/form/defaultProps.d.ts +3 -0
- package/es/form/easing.d.ts +2 -0
- package/es/form/formModel.d.ts +37 -0
- package/es/form/hooks/interface.d.ts +16 -0
- package/es/form/hooks/useForm.d.ts +3 -0
- package/es/form/hooks/useFormItemInitialData.d.ts +9 -0
- package/es/form/hooks/useFormItemStyle.d.ts +10 -0
- package/es/form/hooks/useFormItemStyle.js +4 -3
- package/es/form/hooks/useFormItemStyle.js.map +1 -1
- package/es/form/hooks/useInstance.d.ts +16 -0
- package/es/form/hooks/useInstance.js +5 -4
- package/es/form/hooks/useInstance.js.map +1 -1
- package/es/form/hooks/useWatch.d.ts +3 -0
- package/es/form/index.d.ts +7 -0
- package/es/form/index.js +14 -10
- package/es/form/index.js.map +1 -1
- package/es/form/scroll.d.ts +39 -0
- package/es/form/style/css.d.ts +1 -0
- package/es/form/style/index.d.ts +1 -0
- package/es/form/type.d.ts +486 -0
- package/es/form/utils/index.d.ts +5 -0
- package/es/global-config/default-config.d.ts +84 -0
- package/es/global-config/locale/ar_KW.d.ts +239 -0
- package/es/global-config/locale/en_US.d.ts +263 -0
- package/es/global-config/locale/it_IT.d.ts +263 -0
- package/es/global-config/locale/ja_JP.d.ts +263 -0
- package/es/global-config/locale/ko_KR.d.ts +263 -0
- package/es/global-config/locale/ru_RU.d.ts +263 -0
- package/es/global-config/locale/zh_CN.d.ts +263 -0
- package/es/global-config/locale/zh_TW.d.ts +263 -0
- package/es/global-config/mobile/default-config.d.ts +7 -0
- package/es/global-config/mobile/locale/ar_KW.d.ts +98 -0
- package/es/global-config/mobile/locale/en_US.d.ts +99 -0
- package/es/global-config/mobile/locale/it_IT.d.ts +99 -0
- package/es/global-config/mobile/locale/ja_JP.d.ts +99 -0
- package/es/global-config/mobile/locale/ko_KR.d.ts +99 -0
- package/es/global-config/mobile/locale/ru_RU.d.ts +99 -0
- package/es/global-config/mobile/locale/zh_CN.d.ts +99 -0
- package/es/global-config/mobile/locale/zh_TW.d.ts +99 -0
- package/es/global-config/t.d.ts +25 -0
- package/es/hooks/useAttach.d.ts +10 -0
- package/es/hooks/useCommonClassName.d.ts +54 -0
- package/es/hooks/useConfig.d.ts +2 -0
- package/es/hooks/useControlled.d.ts +9 -0
- package/es/hooks/useDeepEffect.d.ts +7 -0
- package/es/hooks/useDefaultProps.d.ts +1 -0
- package/es/hooks/useDomCallback.d.ts +1 -0
- package/es/hooks/useDomRefCallback.d.ts +1 -0
- package/es/hooks/useDragSorter.d.ts +28 -0
- package/es/hooks/useEventCallback.d.ts +9 -0
- package/es/hooks/useGlobalConfig.d.ts +1 -0
- package/es/hooks/useGlobalIcon.d.ts +5 -0
- package/es/hooks/useLastest.d.ts +2 -0
- package/es/hooks/useLayoutEffect.d.ts +3 -0
- package/es/hooks/useMouseEvent.d.ts +25 -0
- package/es/hooks/useMutationObserver.d.ts +4 -0
- package/es/hooks/usePopper.d.ts +19 -0
- package/es/hooks/useResizeObserve.d.ts +1 -0
- package/es/hooks/useRipple.d.ts +0 -0
- package/es/hooks/useSetState.d.ts +7 -0
- package/es/hooks/useVirtualScroll.d.ts +30 -0
- package/es/hooks/useWindowSize.d.ts +6 -0
- package/es/index.d.ts +25 -0
- package/es/index.js +68 -14
- package/es/index.js.map +1 -1
- package/es/input/Input.d.ts +16 -0
- package/es/input/Input.js +5 -5
- package/es/input/Input.js.map +1 -1
- package/es/input/InputGroup.d.ts +10 -0
- package/es/input/defaultProps.d.ts +17 -0
- package/es/input/index.d.ts +6 -0
- package/es/input/index.js +5 -3
- package/es/input/index.js.map +1 -1
- package/es/input/style/css.d.ts +1 -0
- package/es/input/style/index.d.ts +1 -0
- package/es/input/type.d.ts +237 -0
- package/es/input-number/InputNumber.d.ts +17 -0
- package/es/input-number/InputNumber.js +139 -0
- package/es/input-number/InputNumber.js.map +1 -0
- package/es/input-number/defaultProps.d.ts +2 -0
- package/es/input-number/index.d.ts +5 -0
- package/es/input-number/index.js +43 -0
- package/es/input-number/index.js.map +1 -0
- package/es/input-number/style/css.d.ts +1 -0
- package/es/input-number/style/css.js +1 -0
- package/es/input-number/style/index.css +331 -0
- package/es/input-number/style/index.d.ts +1 -0
- package/es/input-number/style/index.js +2 -0
- package/es/input-number/style/index.js.map +1 -0
- package/es/input-number/type.d.ts +156 -0
- package/es/input-number/useInputNumber.d.ts +51 -0
- package/es/input-number/useInputNumber.js +809 -0
- package/es/input-number/useInputNumber.js.map +1 -0
- package/es/ip-input/IPInput.d.ts +5 -0
- package/es/ip-input/IPInput.js +16 -0
- package/es/ip-input/IPInput.js.map +1 -0
- package/es/ip-input/defaultProps.d.ts +2 -0
- package/es/ip-input/index.d.ts +3 -0
- package/es/ip-input/index.js +16 -0
- package/es/ip-input/index.js.map +1 -0
- package/es/ip-input/style/index.css +323 -0
- package/es/ip-input/style/index.d.ts +1 -0
- package/es/ip-input/style/index.js +2 -0
- package/es/ip-input/style/index.js.map +1 -0
- package/es/ip-input/type.d.ts +113 -0
- package/es/ip-input/utils.d.ts +35 -0
- package/es/layout/Aside.d.ts +11 -0
- package/es/layout/Aside.js +41 -0
- package/es/layout/Aside.js.map +1 -0
- package/es/layout/Layout.d.ts +26 -0
- package/es/layout/Layout.js +106 -0
- package/es/layout/Layout.js.map +1 -0
- package/es/layout/defaultProps.d.ts +5 -0
- package/es/layout/index.d.ts +10 -0
- package/es/layout/index.js +19 -0
- package/es/layout/index.js.map +1 -0
- package/es/layout/style/index.css +56 -0
- package/es/layout/style/index.d.ts +1 -0
- package/es/layout/style/index.js +2 -0
- package/es/layout/style/index.js.map +1 -0
- package/es/layout/type.d.ts +38 -0
- package/es/list/List.d.ts +17 -0
- package/es/list/List.js +217 -0
- package/es/list/List.js.map +1 -0
- package/es/list/ListItem.d.ts +15 -0
- package/es/list/ListItem.js +31 -0
- package/es/list/ListItem.js.map +1 -0
- package/es/list/ListItemMeta.d.ts +10 -0
- package/es/list/ListItemMeta.js +45 -0
- package/es/list/ListItemMeta.js.map +1 -0
- package/es/list/defaultProps.d.ts +7 -0
- package/es/list/hooks/useListVirtualScroll.d.ts +24 -0
- package/es/list/index.d.ts +10 -0
- package/es/list/index.js +40 -0
- package/es/list/index.js.map +1 -0
- package/es/list/style/css.d.ts +1 -0
- package/es/list/style/css.js +1 -0
- package/es/list/style/index.css +172 -0
- package/es/list/style/index.d.ts +1 -0
- package/es/list/style/index.js +2 -0
- package/es/list/style/index.js.map +1 -0
- package/es/list/type.d.ts +92 -0
- package/es/loading/Gradient.d.ts +6 -0
- package/es/loading/Gradient.js +4 -3
- package/es/loading/Gradient.js.map +1 -1
- package/es/loading/Loading.d.ts +7 -0
- package/es/loading/Loading.js +7 -5
- package/es/loading/Loading.js.map +1 -1
- package/es/loading/circleAdapter.d.ts +1 -0
- package/es/loading/defaultProps.d.ts +2 -0
- package/es/loading/index.d.ts +5 -0
- package/es/loading/index.js +7 -5
- package/es/loading/index.js.map +1 -1
- package/es/loading/style/css.d.ts +1 -0
- package/es/loading/style/index.d.ts +1 -0
- package/es/loading/type.d.ts +68 -0
- package/es/loading/utils/setStyle.d.ts +7 -0
- package/es/locale/LocalReceiver.d.ts +6 -0
- package/es/locale/ar_KW.d.ts +3 -0
- package/es/locale/en_US.d.ts +3 -0
- package/es/locale/it_IT.d.ts +3 -0
- package/es/locale/ja_JP.d.ts +3 -0
- package/es/locale/ko_KR.d.ts +3 -0
- package/es/locale/ru_RU.d.ts +3 -0
- package/es/locale/zh_CN.d.ts +3 -0
- package/es/locale/zh_TW.d.ts +3 -0
- package/es/myform/index.d.ts +0 -0
- package/es/notification/Notify.d.ts +11 -0
- package/es/notification/NotifyContainer.d.ts +13 -0
- package/es/notification/NotifyContainer.js +3 -2
- package/es/notification/NotifyContainer.js.map +1 -1
- package/es/notification/NotifyContext.d.ts +23 -0
- package/es/notification/NotifyContext.js +3 -2
- package/es/notification/NotifyContext.js.map +1 -1
- package/es/notification/NotifyItem.d.ts +4 -0
- package/es/notification/NotifyItem.js +3 -2
- package/es/notification/NotifyItem.js.map +1 -1
- package/es/notification/index.d.ts +3 -0
- package/es/notification/index.js +3 -2
- package/es/notification/index.js.map +1 -1
- package/es/notification/style/css.d.ts +1 -0
- package/es/notification/style/index.d.ts +1 -0
- package/es/notification/type.d.ts +22 -0
- package/es/popup/Popup.d.ts +21 -0
- package/es/popup/Popup.js +36 -100
- package/es/popup/Popup.js.map +1 -1
- package/es/popup/defaultProps.d.ts +5 -0
- package/es/popup/hooks/useTrigger.d.ts +20 -0
- package/es/popup/index.d.ts +5 -0
- package/es/popup/index.js +8 -4
- package/es/popup/index.js.map +1 -1
- package/es/popup/style/css.d.ts +1 -0
- package/es/popup/style/index.d.ts +1 -0
- package/es/popup/type.d.ts +109 -0
- package/es/portal/Portal.d.ts +16 -0
- package/es/portal/Portal.js +2 -1
- package/es/portal/Portal.js.map +1 -1
- package/es/portal/index.d.ts +1 -0
- package/es/portal/index.js +2 -1
- package/es/portal/index.js.map +1 -1
- package/es/radio/Radio.d.ts +8 -0
- package/es/radio/Radio.js +22 -0
- package/es/radio/Radio.js.map +1 -0
- package/es/radio/RadioGroup.d.ts +14 -0
- package/es/radio/RadioGroup.js +22 -0
- package/es/radio/RadioGroup.js.map +1 -0
- package/es/radio/defaultProps.d.ts +3 -0
- package/es/radio/index.d.ts +10 -0
- package/es/radio/index.js +28 -0
- package/es/radio/index.js.map +1 -0
- package/es/radio/style/css.d.ts +0 -0
- package/es/radio/style/css.js +0 -0
- package/es/radio/style/index.css +333 -0
- package/es/radio/style/index.d.ts +1 -0
- package/es/radio/style/index.js +2 -0
- package/es/radio/style/index.js.map +1 -0
- package/es/radio/type.d.ts +117 -0
- package/es/radio/useKeyboard.d.ts +4 -0
- package/es/select/Option.d.ts +24 -0
- package/es/select/Option.js +3 -2
- package/es/select/Option.js.map +1 -1
- package/es/select/OptionGroup.d.ts +7 -0
- package/es/select/OptionGroup.js +4 -3
- package/es/select/OptionGroup.js.map +1 -1
- package/es/select/PopupContent.d.ts +24 -0
- package/es/select/PopupContent.js +6 -4
- package/es/select/PopupContent.js.map +1 -1
- package/es/select/Select.d.ts +13 -0
- package/es/select/Select.js +21 -12
- package/es/select/Select.js.map +1 -1
- package/es/select/defaultProps.d.ts +4 -0
- package/es/select/hooks/useOptions.d.ts +16 -0
- package/es/select/hooks/usePanelVirtualScroll.d.ts +24 -0
- package/es/select/index.d.ts +8 -0
- package/es/select/index.js +14 -8
- package/es/select/index.js.map +1 -1
- package/es/select/style/css.d.ts +1 -0
- package/es/select/style/index.d.ts +1 -0
- package/es/select/type.d.ts +344 -0
- package/es/select/utils/helper.d.ts +18 -0
- package/es/select-input/SelectInput.d.ts +11 -0
- package/es/select-input/SelectInput.js +10 -5
- package/es/select-input/SelectInput.js.map +1 -1
- package/es/select-input/defaultProps.d.ts +2 -0
- package/es/select-input/hook/useMultiple.d.ts +23 -0
- package/es/select-input/hook/useMultiple.js +7 -4
- package/es/select-input/hook/useMultiple.js.map +1 -1
- package/es/select-input/hook/useOverlayInnerStyle.d.ts +11 -0
- package/es/select-input/hook/useSingle.d.ts +16 -0
- package/es/select-input/hook/useSingle.js +5 -3
- package/es/select-input/hook/useSingle.js.map +1 -1
- package/es/select-input/index.d.ts +5 -0
- package/es/select-input/index.js +10 -5
- package/es/select-input/index.js.map +1 -1
- package/es/select-input/interface.d.ts +17 -0
- package/es/select-input/style/css.d.ts +1 -0
- package/es/select-input/style/index.d.ts +1 -0
- package/es/select-input/type.d.ts +243 -0
- package/es/slider/Slider.d.ts +7 -0
- package/es/slider/Slider.js +668 -0
- package/es/slider/Slider.js.map +1 -0
- package/es/slider/SliderHandleButton.d.ts +11 -0
- package/es/slider/SliderHandleButton.js +48 -0
- package/es/slider/SliderHandleButton.js.map +1 -0
- package/es/slider/defaultProps.d.ts +5 -0
- package/es/slider/index.d.ts +5 -0
- package/es/slider/index.js +46 -0
- package/es/slider/index.js.map +1 -0
- package/es/slider/style/css.d.ts +1 -0
- package/es/slider/style/css.js +1 -0
- package/es/slider/style/index.css +252 -0
- package/es/slider/style/index.d.ts +1 -0
- package/es/slider/style/index.js +2 -0
- package/es/slider/style/index.js.map +1 -0
- package/es/slider/type.d.ts +78 -0
- package/es/space/defaultProps.d.ts +0 -0
- package/es/space/index.d.ts +0 -0
- package/es/space/type.d.ts +0 -0
- package/es/style/index.css +24 -34
- package/es/style/index.d.ts +1 -0
- package/es/switch/Switch.d.ts +9 -0
- package/es/switch/Switch.js +9 -47
- package/es/switch/Switch.js.map +1 -1
- package/es/switch/defaultProps.d.ts +2 -0
- package/es/switch/index.d.ts +4 -0
- package/es/switch/index.js +8 -5
- package/es/switch/index.js.map +1 -1
- package/es/switch/style/css.d.ts +1 -0
- package/es/switch/style/index.d.ts +1 -0
- package/es/switch/type.d.ts +48 -0
- package/es/tab/TabBar.d.ts +9 -0
- package/es/tab/TabBar.js +109 -0
- package/es/tab/TabBar.js.map +1 -0
- package/es/tab/TabNav.d.ts +10 -0
- package/es/tab/TabNav.js +123 -0
- package/es/tab/TabNav.js.map +1 -0
- package/es/tab/TabNavItem.d.ts +15 -0
- package/es/tab/TabNavItem.js +65 -0
- package/es/tab/TabNavItem.js.map +1 -0
- package/es/tab/TabPanel.d.ts +9 -0
- package/es/tab/TabPanel.js +11 -0
- package/es/tab/TabPanel.js.map +1 -0
- package/es/tab/Tabs.d.ts +10 -0
- package/es/tab/Tabs.js +95 -0
- package/es/tab/Tabs.js.map +1 -0
- package/es/tab/defaultProps.d.ts +3 -0
- package/es/tab/index.d.ts +8 -0
- package/es/tab/index.js +31 -0
- package/es/tab/index.js.map +1 -0
- package/es/tab/style/index.css +159 -0
- package/es/tab/style/index.d.ts +1 -0
- package/es/tab/style/index.js +2 -0
- package/es/tab/style/index.js.map +1 -0
- package/es/tab/type.d.ts +130 -0
- package/es/tab/useTabClass.d.ts +8 -0
- package/es/table/Cell.d.ts +18 -0
- package/es/table/Cell.js +73 -0
- package/es/table/Cell.js.map +1 -0
- package/es/table/TBody.d.ts +28 -0
- package/es/table/TBody.js +70 -0
- package/es/table/TBody.js.map +1 -0
- package/es/table/THead.d.ts +10 -0
- package/es/table/THead.js +56 -0
- package/es/table/THead.js.map +1 -0
- package/es/table/TR.d.ts +28 -0
- package/es/table/TR.js +76 -0
- package/es/table/TR.js.map +1 -0
- package/es/table/Table.d.ts +6 -0
- package/es/table/Table.js +98 -0
- package/es/table/Table.js.map +1 -0
- package/es/table/defaultProps.d.ts +2 -0
- package/es/table/hooks/index.d.ts +4 -0
- package/es/table/hooks/index.js +98 -0
- package/es/table/hooks/index.js.map +1 -0
- package/es/table/hooks/useTableClassName.d.ts +26 -0
- package/es/table/hooks/useTableStyle.d.ts +11 -0
- package/es/table/index.d.ts +5 -0
- package/es/table/index.js +22 -0
- package/es/table/index.js.map +1 -0
- package/es/table/style/css.d.ts +1 -0
- package/es/table/style/css.js +1 -0
- package/es/table/style/index.css +139 -0
- package/es/table/style/index.d.ts +1 -0
- package/es/table/style/index.js +2 -0
- package/es/table/style/index.js.map +1 -0
- package/es/table/type.d.ts +195 -0
- package/es/tag/Tag.d.ts +14 -0
- package/es/tag/Tag.js +5 -1182
- package/es/tag/Tag.js.map +1 -1
- package/es/tag/defaultProps.d.ts +7 -0
- package/es/tag/index.d.ts +4 -0
- package/es/tag/index.js +5 -3
- package/es/tag/index.js.map +1 -1
- package/es/tag/style/css.d.ts +1 -0
- package/es/tag/style/index.d.ts +1 -0
- package/es/tag/type.d.ts +169 -0
- package/es/tag-input/TagInput.d.ts +9 -0
- package/es/tag-input/TagInput.js +7 -4
- package/es/tag-input/TagInput.js.map +1 -1
- package/es/tag-input/defaultProps.d.ts +2 -0
- package/es/tag-input/hooks/useHover.d.ts +17 -0
- package/es/tag-input/hooks/useTagList.d.ts +30 -0
- package/es/tag-input/hooks/useTagList.js +5 -3
- package/es/tag-input/hooks/useTagList.js.map +1 -1
- package/es/tag-input/hooks/useTagScroll.d.ts +25 -0
- package/es/tag-input/index.d.ts +5 -0
- package/es/tag-input/index.js +7 -4
- package/es/tag-input/index.js.map +1 -1
- package/es/tag-input/style/css.d.ts +1 -0
- package/es/tag-input/style/index.d.ts +1 -0
- package/es/tag-input/type.d.ts +235 -0
- package/es/tag-input/useTagList.d.ts +30 -0
- package/es/tag-input/useTagList.js +5 -3
- package/es/tag-input/useTagList.js.map +1 -1
- package/es/utils/composeRefs.d.ts +2 -0
- package/es/utils/dom.d.ts +7 -0
- package/es/utils/forwardRefWithStatics.d.ts +2 -0
- package/es/utils/getScrollbarWidth.d.ts +6 -0
- package/es/utils/helper.d.ts +46 -0
- package/es/utils/input-number/large-number.d.ts +85 -0
- package/es/utils/input-number/number.d.ts +81 -0
- package/es/utils/isFragment.d.ts +4 -0
- package/es/utils/listener.d.ts +4 -0
- package/es/utils/log/index.d.ts +2 -0
- package/es/utils/log/index.js +27 -0
- package/es/utils/log/index.js.map +1 -0
- package/es/utils/log/log.d.ts +3 -0
- package/es/utils/log/types.d.ts +8 -0
- package/es/utils/noop.d.ts +2 -0
- package/es/utils/number.d.ts +7 -0
- package/es/utils/parentTNode.d.ts +10 -0
- package/es/utils/parseTNode.d.ts +10 -0
- package/es/utils/react-render.d.ts +16 -0
- package/es/utils/ref.d.ts +1 -0
- package/es/utils/refs.d.ts +13 -0
- package/es/utils/scroll.d.ts +3 -0
- package/es/utils/style.d.ts +4 -0
- package/es/utils/transition.d.ts +20 -0
- package/package.json +59 -59
- package/LICENSE +0 -21
- package/es/_chunks/dep-0QH2Ee4R.js.map +0 -1
- package/es/_chunks/dep-BH5n5r1M.js.map +0 -1
- package/es/_chunks/dep-D7LanWes.js.map +0 -1
- package/es/_chunks/dep-DZ_0EvBk.js.map +0 -1
- package/es/_chunks/dep-Dk2xX8lh.js.map +0 -1
- package/es/_chunks/dep-EcrDKDlu.js.map +0 -1
- package/es/_chunks/dep-bWaVq_y3.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagInput.js","sources":["../../../components/tag-input/hooks/useTagScroll.ts","../../../components/tag-input/hooks/useHover.ts","../../../components/tag-input/defaultProps.ts","../../../components/tag-input/TagInput.tsx"],"sourcesContent":["/**\n * 当标签数量过多时,输入框显示不下,则需要滚动查看,以下为滚动逻辑\n * 如果标签过多时的处理方式,是标签省略,则不需要此功能\n */\n\nimport { isFunction } from \"lodash-es\";\nimport { useRef, useEffect, useState, WheelEvent } from \"react\";\nimport { TdTagInputProps } from \"../type\";\n\nlet mouseEnterTimer: ReturnType<typeof setTimeout> | null = null;\n\nexport default function useTagScroll(props: TdTagInputProps) {\n const tagInputRef = useRef<{ currentElement: HTMLDivElement }>(null);\n const { excessTagsDisplayType = \"scroll\", readonly, disabled } = props;\n // 允许向右滚动的最大距离\n const [scrollDistance, setScrollDistance] = useState(0);\n const [scrollElement, setScrollElement] = useState<HTMLDivElement>();\n\n const updateScrollElement = (element: HTMLDivElement) => {\n const scrollElement = element.children[0] as HTMLDivElement;\n setScrollElement(scrollElement);\n };\n\n const updateScrollDistance = () => {\n if (!scrollElement) return;\n setScrollDistance(scrollElement.scrollWidth - scrollElement.clientWidth);\n };\n\n const scrollTo = (distance: number) => {\n if (isFunction(scrollElement?.scroll)) {\n scrollElement.scroll({ left: distance, behavior: \"smooth\" });\n }\n };\n\n const scrollToRight = () => {\n updateScrollDistance();\n scrollTo(scrollDistance);\n };\n\n const scrollToLeft = () => {\n scrollTo(0);\n };\n\n // TODO:MAC 电脑横向滚动,Windows 纵向滚动。当前只处理了横向滚动\n const onWheel = ({ e }: { e: WheelEvent<HTMLDivElement> }) => {\n if (readonly || disabled) return;\n if (!scrollElement) return;\n if (e.deltaX > 0) {\n const distance = Math.min(scrollElement.scrollLeft + 120, scrollDistance);\n scrollTo(distance);\n } else {\n const distance = Math.max(scrollElement.scrollLeft - 120, 0);\n scrollTo(distance);\n }\n };\n\n // 鼠标 hover,自动滑动到最右侧,以便输入新标签\n const scrollToRightOnEnter = () => {\n if (excessTagsDisplayType !== \"scroll\") return;\n // 一闪而过的 mousenter 不需要执行\n mouseEnterTimer = setTimeout(() => {\n scrollToRight();\n if (mouseEnterTimer) clearTimeout(mouseEnterTimer);\n }, 100);\n };\n\n const scrollToLeftOnLeave = () => {\n if (excessTagsDisplayType !== \"scroll\") return;\n scrollTo(0);\n if (mouseEnterTimer) {\n clearTimeout(mouseEnterTimer);\n }\n };\n\n const clearScroll = () => {\n if (mouseEnterTimer) clearTimeout(mouseEnterTimer);\n };\n\n const initScroll = (element: HTMLDivElement) => {\n if (!element) return;\n updateScrollElement(element);\n };\n\n useEffect(() => {\n if (tagInputRef.current) initScroll(tagInputRef?.current?.currentElement);\n return clearScroll;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return {\n initScroll,\n clearScroll,\n tagInputRef,\n scrollElement,\n scrollDistance,\n scrollTo,\n scrollToRight,\n scrollToLeft,\n updateScrollElement,\n updateScrollDistance,\n onWheel,\n scrollToRightOnEnter,\n scrollToLeftOnLeave\n };\n}\n","import { useState, MouseEvent } from \"react\";\nimport { TdTagInputProps } from \"../type\";\n\nexport interface UseHoverParams {\n readonly: boolean;\n disabled: boolean;\n onMouseenter: (context: { e: MouseEvent<HTMLDivElement> }) => void;\n onMouseleave: (context: { e: MouseEvent<HTMLDivElement> }) => void;\n}\n\nexport default function useHover(props: TdTagInputProps) {\n const { readonly, disabled, onMouseenter, onMouseleave } = props;\n const [isHover, setIsHover] = useState<boolean>(false);\n\n const addHover = (context: Parameters<UseHoverParams[\"onMouseenter\"]>[0]) => {\n if (readonly || disabled) return;\n setIsHover(true);\n onMouseenter?.(context);\n };\n\n const cancelHover = (context: Parameters<UseHoverParams[\"onMouseleave\"]>[0]) => {\n if (readonly || disabled) return;\n setIsHover(false);\n onMouseleave?.(context);\n };\n\n return { isHover, addHover, cancelHover };\n}\n","import { TdTagInputProps } from \"./type\";\n\nexport const tagInputDefaultProps: TdTagInputProps = {\n autoWidth: false,\n borderless: false,\n clearable: false,\n dragSort: false,\n excessTagsDisplayType: \"break-line\",\n defaultInputValue: \"\",\n minCollapsedNum: 0,\n placeholder: undefined,\n readonly: false,\n size: \"medium\",\n defaultValue: []\n};\n","import React, { CompositionEvent, KeyboardEvent, useRef, useImperativeHandle, forwardRef, MouseEvent } from \"react\";\nimport { IconClear } from \"@tendaui/icons\";\nimport { isFunction } from \"lodash-es\";\nimport classnames from \"classnames\";\nimport useConfig from \"../hooks/useConfig\";\nimport TInput, { InputValue, InputRef } from \"../input\";\nimport { InputValueChangeContext, TdTagInputProps } from \"./type\";\nimport useTagList from \"./hooks/useTagList\";\nimport useTagScroll from \"./hooks/useTagScroll\";\nimport useHover from \"./hooks/useHover\";\nimport useControlled from \"../hooks/useControlled\";\nimport { StyledProps } from \"../common\";\nimport { tagInputDefaultProps } from \"./defaultProps\";\nimport useDefaultProps from \"../hooks/useDefaultProps\";\nimport useGlobalIcon from \"../hooks/useGlobalIcon\";\nimport useDragSorter from \"../hooks/useDragSorter\";\n\nexport interface TagInputProps extends TdTagInputProps, StyledProps {\n options?: unknown[]; // 参数穿透options, 给SelectInput/SelectInput 自定义选中项呈现的内容和多选状态下设置折叠项内容\n}\n\nconst TagInput = forwardRef<InputRef, TagInputProps>((originalProps, ref) => {\n const props = useDefaultProps<TagInputProps>(originalProps, tagInputDefaultProps);\n const { classPrefix: prefix } = useConfig();\n\n const { CloseCircleFilledIcon } = useGlobalIcon({\n CloseCircleFilledIcon: IconClear\n });\n\n const {\n excessTagsDisplayType,\n autoWidth,\n borderless,\n readonly,\n disabled,\n clearable,\n placeholder,\n valueDisplay,\n label,\n inputProps,\n size,\n tips,\n status,\n suffixIcon,\n suffix,\n prefixIcon,\n maxRows,\n onClick,\n onPaste,\n onFocus,\n onBlur\n } = props;\n\n const [tInputValue, setTInputValue] = useControlled(props, \"inputValue\", props.onInputChange);\n\n const { isHover, addHover, cancelHover } = useHover(props);\n const { getDragProps } = useDragSorter({\n ...props,\n sortOnDraggable: props.dragSort,\n onDragOverCheck: {\n x: true,\n targetClassNameRegExp: new RegExp(`^${prefix}-tag`)\n }\n });\n const isCompositionRef = useRef(false);\n\n const { scrollToRight, onWheel, scrollToRightOnEnter, scrollToLeftOnLeave, tagInputRef } = useTagScroll(props);\n // handle tag add and remove\n const { tagValue, onClose, onInnerEnter, onInputBackspaceKeyUp, clearAll, renderLabel, onInputBackspaceKeyDown } =\n useTagList({\n ...props,\n getDragProps\n });\n const NAME_CLASS = `${prefix}-tag-input`;\n const WITH_SUFFIX_ICON_CLASS = `${prefix}-tag-input__with-suffix-icon`;\n const CLEAR_CLASS = `${prefix}-tag-input__suffix-clear ${prefix}-icon`;\n const BREAK_LINE_CLASS = `${prefix}-tag-input--break-line`;\n\n const tagInputPlaceholder = !tagValue?.length ? placeholder : \"\";\n\n const showClearIcon = Boolean(!readonly && !disabled && clearable && isHover && tagValue?.length);\n\n useImperativeHandle(ref as InputRef, () => ({\n ...(tagInputRef.current || {})\n }));\n\n const onInputCompositionstart = (value: InputValue, context: { e: CompositionEvent<HTMLInputElement> }) => {\n isCompositionRef.current = true;\n inputProps?.onCompositionstart?.(value, context);\n };\n\n const onInputCompositionend = (value: InputValue, context: { e: CompositionEvent<HTMLInputElement> }) => {\n isCompositionRef.current = false;\n inputProps?.onCompositionend?.(value, context);\n };\n\n const onInputEnter = (value: InputValue, context: { e: KeyboardEvent<HTMLInputElement> }) => {\n setTInputValue(\"\", { e: context.e, trigger: \"enter\" });\n if (!isCompositionRef.current) {\n onInnerEnter(value, context);\n }\n scrollToRight();\n };\n\n const onInnerClick = (context: { e: MouseEvent<HTMLDivElement> }) => {\n if (!props.disabled && !props.readonly) {\n tagInputRef.current?.currentElement?.focus?.();\n }\n onClick?.(context);\n };\n\n const onClearClick = (e: React.MouseEvent<SVGSVGElement>) => {\n clearAll({ e });\n setTInputValue(\"\", { e, trigger: \"clear\" });\n props.onClear?.({ e });\n };\n\n const suffixIconNode = showClearIcon ? (\n <CloseCircleFilledIcon\n className={CLEAR_CLASS}\n onClick={onClearClick as unknown as React.MouseEventHandler<HTMLSpanElement>}\n />\n ) : (\n suffixIcon\n );\n\n // 自定义 Tag 节点\n const displayNode = isFunction(valueDisplay)\n ? valueDisplay({\n value: tagValue,\n onClose: (index) => onClose({ index })\n })\n : valueDisplay;\n\n const isEmpty = !(Array.isArray(tagValue) && tagValue.length);\n\n const classes = [\n NAME_CLASS,\n {\n [BREAK_LINE_CLASS]: excessTagsDisplayType === \"break-line\",\n [WITH_SUFFIX_ICON_CLASS]: !!suffixIconNode,\n [`${prefix}-is-empty`]: isEmpty,\n [`${prefix}-tag-input--with-tag`]: !isEmpty,\n [`${prefix}-tag-input--max-rows`]: excessTagsDisplayType === \"break-line\" && maxRows,\n [`${prefix}-tag-input--drag-sort`]: props.dragSort && !disabled && !readonly\n },\n props.className\n ];\n\n const maxRowsStyle = maxRows\n ? ({\n \"--max-rows\": maxRows,\n \"--tag-input-size\": size\n } as React.CSSProperties)\n : {};\n\n return (\n <TInput\n ref={tagInputRef as unknown as React.Ref<HTMLInputElement>}\n value={tInputValue}\n onChange={(val, context) => {\n setTInputValue(val, { ...context, trigger: \"input\" } as InputValueChangeContext);\n }}\n autoWidth={true} // 控制input_inner的宽度 设置为true让内部input不会提前换行\n onWheel={onWheel}\n size={size}\n borderless={borderless}\n readonly={readonly}\n disabled={disabled}\n label={renderLabel({ displayNode, label })}\n className={classnames(classes)}\n style={{\n ...props.style,\n ...maxRowsStyle\n }}\n tips={tips}\n status={status}\n placeholder={tagInputPlaceholder}\n suffix={suffix}\n prefixIcon={prefixIcon}\n suffixIcon={suffixIconNode}\n showInput={!inputProps?.readonly || !tagValue || !tagValue?.length}\n keepWrapperWidth={!autoWidth}\n onPaste={onPaste}\n onClick={onInnerClick}\n onEnter={onInputEnter}\n onKeydown={onInputBackspaceKeyDown}\n onKeyup={onInputBackspaceKeyUp}\n onMouseenter={(context) => {\n addHover(context);\n scrollToRightOnEnter();\n }}\n onMouseleave={(context) => {\n cancelHover(context);\n scrollToLeftOnLeave();\n }}\n onFocus={(inputValue, context) => {\n onFocus?.(tagValue, { e: context.e, inputValue });\n }}\n onBlur={(inputValue, context) => {\n if (tInputValue) {\n setTInputValue(\"\", { e: context.e, trigger: \"blur\" });\n }\n onBlur?.(tagValue, { e: context.e, inputValue: \"\" });\n }}\n onCompositionstart={onInputCompositionstart}\n onCompositionend={onInputCompositionend}\n {...inputProps}\n />\n );\n});\n\nTagInput.displayName = \"TagInput\";\n\nexport default TagInput;\n"],"names":["mouseEnterTimer","useTagScroll","props","tagInputRef","useRef","_props$excessTagsDisp","excessTagsDisplayType","readonly","disabled","_useState","useState","_useState2","_slicedToArray","scrollDistance","setScrollDistance","_useState3","_useState4","scrollElement","setScrollElement","updateScrollElement","element","children","updateScrollDistance","scrollWidth","clientWidth","scrollTo","distance","isFunction","scroll","left","behavior","scrollToRight","scrollToLeft","onWheel","_ref","e","deltaX","Math","min","scrollLeft","max","scrollToRightOnEnter","setTimeout","scrollToLeftOnLeave","clearTimeout","clearScroll","initScroll","useEffect","_tagInputRef$current","current","currentElement","useHover","onMouseenter","onMouseleave","isHover","setIsHover","addHover","context","cancelHover","tagInputDefaultProps","autoWidth","borderless","clearable","dragSort","defaultInputValue","minCollapsedNum","placeholder","size","defaultValue","TagInput","forwardRef","originalProps","ref","useDefaultProps","_useConfig","useConfig","prefix","classPrefix","_useGlobalIcon","useGlobalIcon","CloseCircleFilledIcon","IconClear","valueDisplay","label","inputProps","tips","status","suffixIcon","suffix","prefixIcon","maxRows","onClick","onPaste","onFocus","onBlur","_useControlled","useControlled","onInputChange","_useControlled2","tInputValue","setTInputValue","_useHover","_useDragSorter","useDragSorter","_objectSpread","sortOnDraggable","onDragOverCheck","x","targetClassNameRegExp","RegExp","concat","getDragProps","isCompositionRef","_useTagScroll","_useTagList","useTagList","tagValue","onClose","onInnerEnter","onInputBackspaceKeyUp","clearAll","renderLabel","onInputBackspaceKeyDown","NAME_CLASS","WITH_SUFFIX_ICON_CLASS","CLEAR_CLASS","BREAK_LINE_CLASS","tagInputPlaceholder","length","showClearIcon","Boolean","useImperativeHandle","onInputCompositionstart","value","_inputProps$onComposi","onCompositionstart","call","onInputCompositionend","_inputProps$onComposi2","onCompositionend","onInputEnter","trigger","onInnerClick","_tagInputRef$current$","focus","onClearClick","_props$onClear","onClear","suffixIconNode","React","createElement","className","displayNode","index","isEmpty","Array","isArray","classes","_defineProperty","maxRowsStyle","TInput","onChange","val","classnames","style","showInput","keepWrapperWidth","onEnter","onKeydown","onKeyup","inputValue","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TagInput.js","sources":["../../../components/tag-input/hooks/useTagScroll.ts","../../../components/tag-input/hooks/useHover.ts","../../../components/tag-input/defaultProps.ts","../../../components/tag-input/TagInput.tsx"],"sourcesContent":["/**\n * 当标签数量过多时,输入框显示不下,则需要滚动查看,以下为滚动逻辑\n * 如果标签过多时的处理方式,是标签省略,则不需要此功能\n */\n\nimport { isFunction } from \"lodash-es\";\nimport { useRef, useEffect, useState, WheelEvent } from \"react\";\nimport { TdTagInputProps } from \"../type\";\n\nlet mouseEnterTimer: ReturnType<typeof setTimeout> | null = null;\n\nexport default function useTagScroll(props: TdTagInputProps) {\n const tagInputRef = useRef<{ currentElement: HTMLDivElement }>(null);\n const { excessTagsDisplayType = \"scroll\", readonly, disabled } = props;\n // 允许向右滚动的最大距离\n const [scrollDistance, setScrollDistance] = useState(0);\n const [scrollElement, setScrollElement] = useState<HTMLDivElement>();\n\n const updateScrollElement = (element: HTMLDivElement) => {\n const scrollElement = element.children[0] as HTMLDivElement;\n setScrollElement(scrollElement);\n };\n\n const updateScrollDistance = () => {\n if (!scrollElement) return;\n setScrollDistance(scrollElement.scrollWidth - scrollElement.clientWidth);\n };\n\n const scrollTo = (distance: number) => {\n if (isFunction(scrollElement?.scroll)) {\n scrollElement.scroll({ left: distance, behavior: \"smooth\" });\n }\n };\n\n const scrollToRight = () => {\n updateScrollDistance();\n scrollTo(scrollDistance);\n };\n\n const scrollToLeft = () => {\n scrollTo(0);\n };\n\n // TODO:MAC 电脑横向滚动,Windows 纵向滚动。当前只处理了横向滚动\n const onWheel = ({ e }: { e: WheelEvent<HTMLDivElement> }) => {\n if (readonly || disabled) return;\n if (!scrollElement) return;\n if (e.deltaX > 0) {\n const distance = Math.min(scrollElement.scrollLeft + 120, scrollDistance);\n scrollTo(distance);\n } else {\n const distance = Math.max(scrollElement.scrollLeft - 120, 0);\n scrollTo(distance);\n }\n };\n\n // 鼠标 hover,自动滑动到最右侧,以便输入新标签\n const scrollToRightOnEnter = () => {\n if (excessTagsDisplayType !== \"scroll\") return;\n // 一闪而过的 mousenter 不需要执行\n mouseEnterTimer = setTimeout(() => {\n scrollToRight();\n if (mouseEnterTimer) clearTimeout(mouseEnterTimer);\n }, 100);\n };\n\n const scrollToLeftOnLeave = () => {\n if (excessTagsDisplayType !== \"scroll\") return;\n scrollTo(0);\n if (mouseEnterTimer) {\n clearTimeout(mouseEnterTimer);\n }\n };\n\n const clearScroll = () => {\n if (mouseEnterTimer) clearTimeout(mouseEnterTimer);\n };\n\n const initScroll = (element: HTMLDivElement) => {\n if (!element) return;\n updateScrollElement(element);\n };\n\n useEffect(() => {\n if (tagInputRef.current) initScroll(tagInputRef?.current?.currentElement);\n return clearScroll;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return {\n initScroll,\n clearScroll,\n tagInputRef,\n scrollElement,\n scrollDistance,\n scrollTo,\n scrollToRight,\n scrollToLeft,\n updateScrollElement,\n updateScrollDistance,\n onWheel,\n scrollToRightOnEnter,\n scrollToLeftOnLeave\n };\n}\n","import { useState, MouseEvent } from \"react\";\nimport { TdTagInputProps } from \"../type\";\n\nexport interface UseHoverParams {\n readonly: boolean;\n disabled: boolean;\n onMouseenter: (context: { e: MouseEvent<HTMLDivElement> }) => void;\n onMouseleave: (context: { e: MouseEvent<HTMLDivElement> }) => void;\n}\n\nexport default function useHover(props: TdTagInputProps) {\n const { readonly, disabled, onMouseenter, onMouseleave } = props;\n const [isHover, setIsHover] = useState<boolean>(false);\n\n const addHover = (context: Parameters<UseHoverParams[\"onMouseenter\"]>[0]) => {\n if (readonly || disabled) return;\n setIsHover(true);\n onMouseenter?.(context);\n };\n\n const cancelHover = (context: Parameters<UseHoverParams[\"onMouseleave\"]>[0]) => {\n if (readonly || disabled) return;\n setIsHover(false);\n onMouseleave?.(context);\n };\n\n return { isHover, addHover, cancelHover };\n}\n","import { TdTagInputProps } from \"./type\";\n\nexport const tagInputDefaultProps: TdTagInputProps = {\n autoWidth: false,\n borderless: false,\n clearable: false,\n dragSort: false,\n excessTagsDisplayType: \"break-line\",\n defaultInputValue: \"\",\n minCollapsedNum: 0,\n placeholder: undefined,\n readonly: false,\n size: \"medium\",\n defaultValue: []\n};\n","import React, { CompositionEvent, KeyboardEvent, useRef, useImperativeHandle, forwardRef, MouseEvent } from \"react\";\nimport { IconClear } from \"@tendaui/icons\";\nimport { isFunction } from \"lodash-es\";\nimport classnames from \"classnames\";\nimport useConfig from \"../hooks/useConfig\";\nimport TInput, { InputValue, InputRef } from \"../input\";\nimport { InputValueChangeContext, TdTagInputProps } from \"./type\";\nimport useTagList from \"./hooks/useTagList\";\nimport useTagScroll from \"./hooks/useTagScroll\";\nimport useHover from \"./hooks/useHover\";\nimport useControlled from \"../hooks/useControlled\";\nimport { StyledProps } from \"../common\";\nimport { tagInputDefaultProps } from \"./defaultProps\";\nimport useDefaultProps from \"../hooks/useDefaultProps\";\nimport useGlobalIcon from \"../hooks/useGlobalIcon\";\nimport useDragSorter from \"../hooks/useDragSorter\";\n\nexport interface TagInputProps extends TdTagInputProps, StyledProps {\n options?: unknown[]; // 参数穿透options, 给SelectInput/SelectInput 自定义选中项呈现的内容和多选状态下设置折叠项内容\n}\n\nconst TagInput = forwardRef<InputRef, TagInputProps>((originalProps, ref) => {\n const props = useDefaultProps<TagInputProps>(originalProps, tagInputDefaultProps);\n const { classPrefix: prefix } = useConfig();\n\n const { CloseCircleFilledIcon } = useGlobalIcon({\n CloseCircleFilledIcon: IconClear\n });\n\n const {\n excessTagsDisplayType,\n autoWidth,\n borderless,\n readonly,\n disabled,\n clearable,\n placeholder,\n valueDisplay,\n label,\n inputProps,\n size,\n tips,\n status,\n suffixIcon,\n suffix,\n prefixIcon,\n maxRows,\n onClick,\n onPaste,\n onFocus,\n onBlur\n } = props;\n\n const [tInputValue, setTInputValue] = useControlled(props, \"inputValue\", props.onInputChange);\n\n const { isHover, addHover, cancelHover } = useHover(props);\n const { getDragProps } = useDragSorter({\n ...props,\n sortOnDraggable: props.dragSort,\n onDragOverCheck: {\n x: true,\n targetClassNameRegExp: new RegExp(`^${prefix}-tag`)\n }\n });\n const isCompositionRef = useRef(false);\n\n const { scrollToRight, onWheel, scrollToRightOnEnter, scrollToLeftOnLeave, tagInputRef } = useTagScroll(props);\n // handle tag add and remove\n const { tagValue, onClose, onInnerEnter, onInputBackspaceKeyUp, clearAll, renderLabel, onInputBackspaceKeyDown } =\n useTagList({\n ...props,\n getDragProps\n });\n const NAME_CLASS = `${prefix}-tag-input`;\n const WITH_SUFFIX_ICON_CLASS = `${prefix}-tag-input__with-suffix-icon`;\n const CLEAR_CLASS = `${prefix}-tag-input__suffix-clear ${prefix}-icon`;\n const BREAK_LINE_CLASS = `${prefix}-tag-input--break-line`;\n\n const tagInputPlaceholder = !tagValue?.length ? placeholder : \"\";\n\n const showClearIcon = Boolean(!readonly && !disabled && clearable && isHover && tagValue?.length);\n\n useImperativeHandle(ref as InputRef, () => ({\n ...(tagInputRef.current || {})\n }));\n\n const onInputCompositionstart = (value: InputValue, context: { e: CompositionEvent<HTMLInputElement> }) => {\n isCompositionRef.current = true;\n inputProps?.onCompositionstart?.(value, context);\n };\n\n const onInputCompositionend = (value: InputValue, context: { e: CompositionEvent<HTMLInputElement> }) => {\n isCompositionRef.current = false;\n inputProps?.onCompositionend?.(value, context);\n };\n\n const onInputEnter = (value: InputValue, context: { e: KeyboardEvent<HTMLInputElement> }) => {\n setTInputValue(\"\", { e: context.e, trigger: \"enter\" });\n if (!isCompositionRef.current) {\n onInnerEnter(value, context);\n }\n scrollToRight();\n };\n\n const onInnerClick = (context: { e: MouseEvent<HTMLDivElement> }) => {\n if (!props.disabled && !props.readonly) {\n tagInputRef.current?.currentElement?.focus?.();\n }\n onClick?.(context);\n };\n\n const onClearClick = (e: React.MouseEvent<SVGSVGElement>) => {\n clearAll({ e });\n setTInputValue(\"\", { e, trigger: \"clear\" });\n props.onClear?.({ e });\n };\n\n const suffixIconNode = showClearIcon ? (\n <CloseCircleFilledIcon\n className={CLEAR_CLASS}\n onClick={onClearClick as unknown as React.MouseEventHandler<HTMLSpanElement>}\n />\n ) : (\n suffixIcon\n );\n\n // 自定义 Tag 节点\n const displayNode = isFunction(valueDisplay)\n ? valueDisplay({\n value: tagValue,\n onClose: (index) => onClose({ index })\n })\n : valueDisplay;\n\n const isEmpty = !(Array.isArray(tagValue) && tagValue.length);\n\n const classes = [\n NAME_CLASS,\n {\n [BREAK_LINE_CLASS]: excessTagsDisplayType === \"break-line\",\n [WITH_SUFFIX_ICON_CLASS]: !!suffixIconNode,\n [`${prefix}-is-empty`]: isEmpty,\n [`${prefix}-tag-input--with-tag`]: !isEmpty,\n [`${prefix}-tag-input--max-rows`]: excessTagsDisplayType === \"break-line\" && maxRows,\n [`${prefix}-tag-input--drag-sort`]: props.dragSort && !disabled && !readonly\n },\n props.className\n ];\n\n const maxRowsStyle = maxRows\n ? ({\n \"--max-rows\": maxRows,\n \"--tag-input-size\": size\n } as React.CSSProperties)\n : {};\n\n return (\n <TInput\n ref={tagInputRef as unknown as React.Ref<HTMLInputElement>}\n value={tInputValue}\n onChange={(val, context) => {\n setTInputValue(val, { ...context, trigger: \"input\" } as InputValueChangeContext);\n }}\n autoWidth={true} // 控制input_inner的宽度 设置为true让内部input不会提前换行\n onWheel={onWheel}\n size={size}\n borderless={borderless}\n readonly={readonly}\n disabled={disabled}\n label={renderLabel({ displayNode, label })}\n className={classnames(classes)}\n style={{\n ...props.style,\n ...maxRowsStyle\n }}\n tips={tips}\n status={status}\n placeholder={tagInputPlaceholder}\n suffix={suffix}\n prefixIcon={prefixIcon}\n suffixIcon={suffixIconNode}\n showInput={!inputProps?.readonly || !tagValue || !tagValue?.length}\n keepWrapperWidth={!autoWidth}\n onPaste={onPaste}\n onClick={onInnerClick}\n onEnter={onInputEnter}\n onKeydown={onInputBackspaceKeyDown}\n onKeyup={onInputBackspaceKeyUp}\n onMouseenter={(context) => {\n addHover(context);\n scrollToRightOnEnter();\n }}\n onMouseleave={(context) => {\n cancelHover(context);\n scrollToLeftOnLeave();\n }}\n onFocus={(inputValue, context) => {\n onFocus?.(tagValue, { e: context.e, inputValue });\n }}\n onBlur={(inputValue, context) => {\n if (tInputValue) {\n setTInputValue(\"\", { e: context.e, trigger: \"blur\" });\n }\n onBlur?.(tagValue, { e: context.e, inputValue: \"\" });\n }}\n onCompositionstart={onInputCompositionstart}\n onCompositionend={onInputCompositionend}\n {...inputProps}\n />\n );\n});\n\nTagInput.displayName = \"TagInput\";\n\nexport default TagInput;\n"],"names":["mouseEnterTimer","useTagScroll","props","tagInputRef","useRef","_props$excessTagsDisp","excessTagsDisplayType","readonly","disabled","_useState","useState","_useState2","_slicedToArray","scrollDistance","setScrollDistance","_useState3","_useState4","scrollElement","setScrollElement","updateScrollElement","element","children","updateScrollDistance","scrollWidth","clientWidth","scrollTo","distance","isFunction","scroll","left","behavior","scrollToRight","scrollToLeft","onWheel","_ref","e","deltaX","Math","min","scrollLeft","max","scrollToRightOnEnter","setTimeout","scrollToLeftOnLeave","clearTimeout","clearScroll","initScroll","useEffect","_tagInputRef$current","current","currentElement","useHover","onMouseenter","onMouseleave","isHover","setIsHover","addHover","context","cancelHover","tagInputDefaultProps","autoWidth","borderless","clearable","dragSort","defaultInputValue","minCollapsedNum","placeholder","size","defaultValue","TagInput","forwardRef","originalProps","ref","useDefaultProps","_useConfig","useConfig","prefix","classPrefix","_useGlobalIcon","useGlobalIcon","CloseCircleFilledIcon","IconClear","valueDisplay","label","inputProps","tips","status","suffixIcon","suffix","prefixIcon","maxRows","onClick","onPaste","onFocus","onBlur","_useControlled","useControlled","onInputChange","_useControlled2","tInputValue","setTInputValue","_useHover","_useDragSorter","useDragSorter","_objectSpread","sortOnDraggable","onDragOverCheck","x","targetClassNameRegExp","RegExp","concat","getDragProps","isCompositionRef","_useTagScroll","_useTagList","useTagList","tagValue","onClose","onInnerEnter","onInputBackspaceKeyUp","clearAll","renderLabel","onInputBackspaceKeyDown","NAME_CLASS","WITH_SUFFIX_ICON_CLASS","CLEAR_CLASS","BREAK_LINE_CLASS","tagInputPlaceholder","length","showClearIcon","Boolean","useImperativeHandle","onInputCompositionstart","value","_inputProps$onComposi","onCompositionstart","call","onInputCompositionend","_inputProps$onComposi2","onCompositionend","onInputEnter","trigger","onInnerClick","_tagInputRef$current$","focus","onClearClick","_props$onClear","onClear","suffixIconNode","React","createElement","className","displayNode","index","isEmpty","Array","isArray","classes","_defineProperty","maxRowsStyle","TInput","onChange","val","classnames","style","showInput","keepWrapperWidth","onEnter","onKeydown","onKeyup","inputValue","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MouseEvent } from "react";
|
|
2
|
+
import { TdTagInputProps } from "../type";
|
|
3
|
+
export interface UseHoverParams {
|
|
4
|
+
readonly: boolean;
|
|
5
|
+
disabled: boolean;
|
|
6
|
+
onMouseenter: (context: {
|
|
7
|
+
e: MouseEvent<HTMLDivElement>;
|
|
8
|
+
}) => void;
|
|
9
|
+
onMouseleave: (context: {
|
|
10
|
+
e: MouseEvent<HTMLDivElement>;
|
|
11
|
+
}) => void;
|
|
12
|
+
}
|
|
13
|
+
export default function useHover(props: TdTagInputProps): {
|
|
14
|
+
isHover: boolean;
|
|
15
|
+
addHover: (context: Parameters<UseHoverParams["onMouseenter"]>[0]) => void;
|
|
16
|
+
cancelHover: (context: Parameters<UseHoverParams["onMouseleave"]>[0]) => void;
|
|
17
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React, { MouseEvent, KeyboardEvent, ReactNode } from "react";
|
|
2
|
+
import { TagInputChangeContext, TagInputValue, TdTagInputProps } from "../type";
|
|
3
|
+
import { InputValue } from "../../input";
|
|
4
|
+
import { DragSortInnerProps } from "../../hooks/useDragSorter";
|
|
5
|
+
export type ChangeParams = [TagInputChangeContext];
|
|
6
|
+
interface TagInputProps extends TdTagInputProps, DragSortInnerProps {
|
|
7
|
+
options?: unknown[];
|
|
8
|
+
}
|
|
9
|
+
export default function useTagList(props: TagInputProps): {
|
|
10
|
+
tagValue: TagInputValue;
|
|
11
|
+
clearAll: (context: {
|
|
12
|
+
e: MouseEvent<SVGSVGElement>;
|
|
13
|
+
}) => void;
|
|
14
|
+
onClose: (p: {
|
|
15
|
+
e?: MouseEvent<SVGSVGElement>;
|
|
16
|
+
index: number;
|
|
17
|
+
}) => void;
|
|
18
|
+
onInnerEnter: (value: InputValue, context: {
|
|
19
|
+
e: KeyboardEvent<HTMLInputElement>;
|
|
20
|
+
}) => void;
|
|
21
|
+
onInputBackspaceKeyDown: (value: InputValue, context: {
|
|
22
|
+
e: KeyboardEvent<HTMLInputElement>;
|
|
23
|
+
}) => void;
|
|
24
|
+
onInputBackspaceKeyUp: (_value: InputValue) => void;
|
|
25
|
+
renderLabel: ({ displayNode, label }: {
|
|
26
|
+
displayNode: ReactNode;
|
|
27
|
+
label: ReactNode;
|
|
28
|
+
}) => React.JSX.Element[];
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
@@ -4,17 +4,19 @@ import { _ as _slicedToArray } from '../../_chunks/dep-CzLhKWCf.js';
|
|
|
4
4
|
import React, { Fragment } from 'react';
|
|
5
5
|
import { isFunction } from 'lodash-es';
|
|
6
6
|
import { Tag } from '../../tag/index.js';
|
|
7
|
-
import { u as useConfig } from '../../_chunks/dep-
|
|
7
|
+
import { u as useConfig } from '../../_chunks/dep-gy8uvBaS.js';
|
|
8
8
|
import { u as useControlled } from '../../_chunks/dep-DwWrhxkd.js';
|
|
9
9
|
import '../../_chunks/dep-D-UKOauR.js';
|
|
10
10
|
import '../../tag/Tag.js';
|
|
11
11
|
import '../../_chunks/dep-DN7d1SzH.js';
|
|
12
12
|
import 'classnames';
|
|
13
13
|
import '@tendaui/icons';
|
|
14
|
+
import '../../_chunks/dep-zOZQ0R9g.js';
|
|
14
15
|
import '../../_chunks/dep-U1T8CQY9.js';
|
|
15
|
-
import '../../_chunks/dep-
|
|
16
|
+
import '../../_chunks/dep-ByzdZjUR.js';
|
|
16
17
|
import '../../_chunks/dep-DGvfel3I.js';
|
|
17
|
-
import '../../
|
|
18
|
+
import '../../_chunks/dep-5U9UjDaf.js';
|
|
19
|
+
import 'dayjs';
|
|
18
20
|
import '../../_chunks/dep-BP0-apUT.js';
|
|
19
21
|
import 'hoist-non-react-statics';
|
|
20
22
|
import '../../tag/style/css.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTagList.js","sources":["../../../../components/tag-input/hooks/useTagList.tsx"],"sourcesContent":["import React, { MouseEvent, KeyboardEvent, ReactNode, Fragment } from \"react\";\nimport { isFunction } from \"lodash-es\";\nimport { TagInputChangeContext, TagInputValue, TdTagInputProps } from \"../type\";\nimport { InputValue } from \"../../input\";\nimport { Tag } from \"../../tag\";\nimport useConfig from \"../../hooks/useConfig\";\nimport useControlled from \"../../hooks/useControlled\";\nimport { DragSortInnerProps } from \"../../hooks/useDragSorter\";\n\nexport type ChangeParams = [TagInputChangeContext];\n\ninterface TagInputProps extends TdTagInputProps, DragSortInnerProps {\n options?: unknown[]; // 参数穿透options, 给SelectInput/SelectInput 自定义选中项呈现的内容和多选状态下设置折叠项内容\n}\n\nexport default function useTagList(props: TagInputProps) {\n const { classPrefix: prefix } = useConfig();\n const { onRemove, max, minCollapsedNum, size, disabled, readonly, tagProps, tag, collapsedItems, getDragProps } =\n props;\n const [tagValue, setTagValue] = useControlled(props, \"value\", props.onChange);\n\n const onClose = (p: { e?: MouseEvent<SVGSVGElement>; index: number }) => {\n const arr = [...tagValue];\n const [item] = arr.splice(p.index, 1);\n setTagValue(arr, { trigger: \"tag-remove\", ...p, item });\n onRemove?.({ ...p, item, trigger: \"tag-remove\", value: arr });\n };\n\n const clearAll = (context: { e: MouseEvent<SVGSVGElement> }) => {\n setTagValue([], { trigger: \"clear\", e: context.e });\n };\n\n // 按下 Enter 键,新增标签\n const onInnerEnter = (value: InputValue, context: { e: KeyboardEvent<HTMLInputElement> }) => {\n const valueStr = value ? String(value).trim() : \"\";\n let newValue: TagInputValue = tagValue;\n const isLimitExceeded = max && tagValue?.length >= max;\n if (valueStr && !isLimitExceeded) {\n newValue = tagValue instanceof Array ? tagValue.concat(String(valueStr)) : [valueStr];\n setTagValue(newValue, {\n trigger: \"enter\",\n index: newValue.length - 1,\n item: valueStr,\n e: context.e\n });\n }\n props?.onEnter?.(newValue, { ...context, inputValue: value });\n };\n\n const onInputBackspaceKeyUp = (_value: InputValue) => {\n if (!tagValue || !tagValue.length) return;\n };\n\n // 按下回退键,删除标签\n const onInputBackspaceKeyDown = (value: InputValue, context: { e: KeyboardEvent<HTMLInputElement> }) => {\n const { e } = context;\n if (!tagValue || !tagValue.length || readonly) return;\n // 回车键删除,输入框值为空时,才允许 Backspace 删除标签\n if (!value && [\"Backspace\", \"NumpadDelete\"].includes(e.key)) {\n const index = tagValue.length - 1;\n const item = tagValue[index];\n const trigger = \"backspace\";\n const newValue = tagValue.slice(0, -1);\n setTagValue(newValue, { e, index, item, trigger });\n onRemove?.({ e, index, item, trigger, value: newValue });\n }\n };\n\n const renderLabel = ({ displayNode, label }: { displayNode: ReactNode; label: ReactNode }) => {\n const newList = minCollapsedNum ? tagValue.slice(0, minCollapsedNum) : tagValue;\n\n const list = displayNode\n ? [<Fragment key=\"display-node\">{displayNode}</Fragment>]\n : newList?.map((item, index) => {\n const tagContent = isFunction(tag) ? tag({ value: item }) : tag;\n return (\n <Tag\n key={index}\n size={size}\n disabled={disabled}\n onClose={(context) => onClose({ e: context.e, index })}\n closable={!readonly && !disabled}\n {...getDragProps?.(index, item)}\n {...tagProps}\n >\n {tagContent ?? item}\n </Tag>\n );\n });\n if (label) {\n list?.unshift(\n <div className={`${prefix}-tag-input__prefix`} key=\"label\">\n {label}\n </div>\n );\n }\n // 超出省略\n if (newList.length !== tagValue.length) {\n const len = tagValue.length - newList.length;\n // 这里会从selectInput/SelectInput中传递options参数,用于自定义选中项呈现的内容和多选状态下设置折叠项内容\n const options = Array.isArray(props?.options) ? props.options : tagValue;\n const params = {\n value: tagValue,\n count: tagValue.length - minCollapsedNum,\n collapsedTags: tagValue.slice(minCollapsedNum, tagValue.length),\n collapsedSelectedItems: options.slice(minCollapsedNum, tagValue.length),\n onClose\n };\n const more = isFunction(collapsedItems) ? collapsedItems(params) : collapsedItems;\n list.push(\n <Fragment key=\"more\">\n {more ?? (\n <Tag size={size} {...tagProps}>\n +{len}\n </Tag>\n )}\n </Fragment>\n );\n }\n return list;\n };\n return {\n tagValue,\n clearAll,\n onClose,\n onInnerEnter,\n onInputBackspaceKeyDown,\n onInputBackspaceKeyUp,\n renderLabel\n };\n}\n"],"names":["useTagList","props","_useConfig","useConfig","prefix","classPrefix","onRemove","max","minCollapsedNum","size","disabled","readonly","tagProps","tag","collapsedItems","getDragProps","_useControlled","useControlled","onChange","_useControlled2","_slicedToArray","tagValue","setTagValue","onClose","p","arr","_toConsumableArray","_arr$splice","splice","index","_arr$splice2","item","trigger","_objectSpread","value","clearAll","context","e","onInnerEnter","_props$onEnter","valueStr","String","trim","newValue","isLimitExceeded","length","Array","concat","onEnter","call","inputValue","onInputBackspaceKeyUp","_value","onInputBackspaceKeyDown","includes","key","slice","renderLabel","_ref","displayNode","label","newList","list","React","createElement","Fragment","map","tagContent","isFunction","Tag","closable","unshift","className","len","options","isArray","params","count","collapsedTags","collapsedSelectedItems","more","push"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTagList.js","sources":["../../../../components/tag-input/hooks/useTagList.tsx"],"sourcesContent":["import React, { MouseEvent, KeyboardEvent, ReactNode, Fragment } from \"react\";\nimport { isFunction } from \"lodash-es\";\nimport { TagInputChangeContext, TagInputValue, TdTagInputProps } from \"../type\";\nimport { InputValue } from \"../../input\";\nimport { Tag } from \"../../tag\";\nimport useConfig from \"../../hooks/useConfig\";\nimport useControlled from \"../../hooks/useControlled\";\nimport { DragSortInnerProps } from \"../../hooks/useDragSorter\";\n\nexport type ChangeParams = [TagInputChangeContext];\n\ninterface TagInputProps extends TdTagInputProps, DragSortInnerProps {\n options?: unknown[]; // 参数穿透options, 给SelectInput/SelectInput 自定义选中项呈现的内容和多选状态下设置折叠项内容\n}\n\nexport default function useTagList(props: TagInputProps) {\n const { classPrefix: prefix } = useConfig();\n const { onRemove, max, minCollapsedNum, size, disabled, readonly, tagProps, tag, collapsedItems, getDragProps } =\n props;\n const [tagValue, setTagValue] = useControlled(props, \"value\", props.onChange);\n\n const onClose = (p: { e?: MouseEvent<SVGSVGElement>; index: number }) => {\n const arr = [...tagValue];\n const [item] = arr.splice(p.index, 1);\n setTagValue(arr, { trigger: \"tag-remove\", ...p, item });\n onRemove?.({ ...p, item, trigger: \"tag-remove\", value: arr });\n };\n\n const clearAll = (context: { e: MouseEvent<SVGSVGElement> }) => {\n setTagValue([], { trigger: \"clear\", e: context.e });\n };\n\n // 按下 Enter 键,新增标签\n const onInnerEnter = (value: InputValue, context: { e: KeyboardEvent<HTMLInputElement> }) => {\n const valueStr = value ? String(value).trim() : \"\";\n let newValue: TagInputValue = tagValue;\n const isLimitExceeded = max && tagValue?.length >= max;\n if (valueStr && !isLimitExceeded) {\n newValue = tagValue instanceof Array ? tagValue.concat(String(valueStr)) : [valueStr];\n setTagValue(newValue, {\n trigger: \"enter\",\n index: newValue.length - 1,\n item: valueStr,\n e: context.e\n });\n }\n props?.onEnter?.(newValue, { ...context, inputValue: value });\n };\n\n const onInputBackspaceKeyUp = (_value: InputValue) => {\n if (!tagValue || !tagValue.length) return;\n };\n\n // 按下回退键,删除标签\n const onInputBackspaceKeyDown = (value: InputValue, context: { e: KeyboardEvent<HTMLInputElement> }) => {\n const { e } = context;\n if (!tagValue || !tagValue.length || readonly) return;\n // 回车键删除,输入框值为空时,才允许 Backspace 删除标签\n if (!value && [\"Backspace\", \"NumpadDelete\"].includes(e.key)) {\n const index = tagValue.length - 1;\n const item = tagValue[index];\n const trigger = \"backspace\";\n const newValue = tagValue.slice(0, -1);\n setTagValue(newValue, { e, index, item, trigger });\n onRemove?.({ e, index, item, trigger, value: newValue });\n }\n };\n\n const renderLabel = ({ displayNode, label }: { displayNode: ReactNode; label: ReactNode }) => {\n const newList = minCollapsedNum ? tagValue.slice(0, minCollapsedNum) : tagValue;\n\n const list = displayNode\n ? [<Fragment key=\"display-node\">{displayNode}</Fragment>]\n : newList?.map((item, index) => {\n const tagContent = isFunction(tag) ? tag({ value: item }) : tag;\n return (\n <Tag\n key={index}\n size={size}\n disabled={disabled}\n onClose={(context) => onClose({ e: context.e, index })}\n closable={!readonly && !disabled}\n {...getDragProps?.(index, item)}\n {...tagProps}\n >\n {tagContent ?? item}\n </Tag>\n );\n });\n if (label) {\n list?.unshift(\n <div className={`${prefix}-tag-input__prefix`} key=\"label\">\n {label}\n </div>\n );\n }\n // 超出省略\n if (newList.length !== tagValue.length) {\n const len = tagValue.length - newList.length;\n // 这里会从selectInput/SelectInput中传递options参数,用于自定义选中项呈现的内容和多选状态下设置折叠项内容\n const options = Array.isArray(props?.options) ? props.options : tagValue;\n const params = {\n value: tagValue,\n count: tagValue.length - minCollapsedNum,\n collapsedTags: tagValue.slice(minCollapsedNum, tagValue.length),\n collapsedSelectedItems: (options.slice(minCollapsedNum, tagValue.length) as TagInputValue),\n onClose\n };\n const more = isFunction(collapsedItems) ? collapsedItems(params) : collapsedItems;\n list.push(\n <Fragment key=\"more\">\n {more ?? (\n <Tag size={size} {...tagProps}>\n +{len}\n </Tag>\n )}\n </Fragment>\n );\n }\n return list;\n };\n return {\n tagValue,\n clearAll,\n onClose,\n onInnerEnter,\n onInputBackspaceKeyDown,\n onInputBackspaceKeyUp,\n renderLabel\n };\n}\n"],"names":["useTagList","props","_useConfig","useConfig","prefix","classPrefix","onRemove","max","minCollapsedNum","size","disabled","readonly","tagProps","tag","collapsedItems","getDragProps","_useControlled","useControlled","onChange","_useControlled2","_slicedToArray","tagValue","setTagValue","onClose","p","arr","_toConsumableArray","_arr$splice","splice","index","_arr$splice2","item","trigger","_objectSpread","value","clearAll","context","e","onInnerEnter","_props$onEnter","valueStr","String","trim","newValue","isLimitExceeded","length","Array","concat","onEnter","call","inputValue","onInputBackspaceKeyUp","_value","onInputBackspaceKeyDown","includes","key","slice","renderLabel","_ref","displayNode","label","newList","list","React","createElement","Fragment","map","tagContent","isFunction","Tag","closable","unshift","className","len","options","isArray","params","count","collapsedTags","collapsedSelectedItems","more","push"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAeA,SAAwBA,WAAWC,KAAA,EAAsB;AACvD,EAAA,IAAAC,UAAA,GAAgCC,SAAA,EAAU;IAArBC,MAAA,GAAAF,UAAA,CAAbG,WAAA;AACR,EAAA,IAAQC,QAAA,GACNL,KAAA,CADMK,QAAA;IAAUC,GAAA,GAChBN,KAAA,CADgBM,GAAA;IAAKC,eAAA,GACrBP,KAAA,CADqBO,eAAA;IAAiBC,IAAA,GACtCR,KAAA,CADsCQ,IAAA;IAAMC,QAAA,GAC5CT,KAAA,CAD4CS,QAAA;IAAUC,QAAA,GACtDV,KAAA,CADsDU,QAAA;IAAUC,QAAA,GAChEX,KAAA,CADgEW,QAAA;IAAUC,GAAA,GAC1EZ,KAAA,CAD0EY,GAAA;IAAKC,cAAA,GAC/Eb,KAAA,CAD+Ea,cAAA;IAAgBC,YAAA,GAC/Fd,KAAA,CAD+Fc,YAAA;EAEjG,IAAAC,cAAA,GAAgCC,cAAchB,KAAA,EAAO,OAAA,EAASA,MAAMiB,QAAQ,CAAA;IAAAC,eAAA,GAAAC,cAAA,CAAAJ,cAAA,EAAA,CAAA,CAAA;AAArEK,IAAAA;AAAUC,IAAAA,WAAW,GAAAH,eAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAMI,QAAA,GAAU,SAAVA,OAAAA,CAAWC,CAAA,EAAwD;AACvE,IAAA,IAAMC,GAAA,GAAAC,kBAAA,CAAUL,QAAQ,CAAA;IACxB,IAAAM,WAAA,GAAeF,IAAIG,MAAA,CAAOJ,CAAA,CAAEK,OAAO,CAAC,CAAA;MAAAC,YAAA,GAAAV,cAAA,CAAAO,WAAA,EAAA,CAAA,CAAA;AAA7BI,MAAAA,IAAI,GAAAD,YAAA,CAAA,CAAA,CAAA;AACXR,IAAAA,WAAA,CAAYG;AAAOO,MAAAA,OAAA,EAAS;OAAiBR,CAAA,CAAA,EAAA,EAAA,EAAA;AAAGO,MAAAA,MAAAA;MAAM,CAAA;IACtDzB,QAAA,KAAA,IAAA,IAAAA,QAAA,KAAA,KAAA,CAAA,IAAAA,QAAA,CAAA2B,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAgBT,CAAA,CAAA,EAAA,EAAA,EAAA;AAAGO,MAAAA,IAAA,EAAAA,IAAA;AAAMC,MAAAA,SAAS,YAAA;AAAcE,MAAAA,KAAA,EAAOT;MAAK,CAAA;EAC9D,CAAA;AAEA,EAAA,IAAMU,QAAA,GAAW,SAAXA,QAAAA,CAAYC,OAAA,EAA8C;IAC9Dd,WAAA,CAAY,IAAI;AAAEU,MAAAA,OAAA,EAAS;MAASK,CAAA,EAAGD,OAAA,CAAQC;AAAE,KAAC,CAAA;EACpD,CAAA;EAGA,IAAMC,YAAA,GAAe,SAAfA,YAAAA,CAAgBJ,KAAA,EAAmBE,OAAA,EAAoD;AAAA,IAAA,IAAAG,cAAA;AAC3F,IAAA,IAAMC,WAAWN,KAAA,GAAQO,MAAA,CAAOP,KAAK,CAAA,CAAEQ,MAAK,GAAI,EAAA;IAChD,IAAIC,QAAA,GAA0BtB,QAAA;AAC9B,IAAA,IAAMuB,eAAA,GAAkBrC,GAAA,IAAO,CAAAc,QAAA,KAAA,IAAA,IAAAA,QAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,QAAA,CAAUwB,MAAA,KAAUtC,GAAA;AACnD,IAAA,IAAIiC,QAAA,IAAY,CAACI,eAAA,EAAiB;AAChCD,MAAAA,QAAA,GAAWtB,QAAA,YAAoByB,QAAQzB,QAAA,CAAS0B,MAAA,CAAON,OAAOD,QAAQ,CAAC,CAAA,GAAI,CAACA,QAAQ,CAAA;MACpFlB,WAAA,CAAYqB,QAAA,EAAU;AACpBX,QAAAA,OAAA,EAAS,OAAA;AACTH,QAAAA,KAAA,EAAOc,SAASE,MAAA,GAAS,CAAA;AACzBd,QAAAA,IAAA,EAAMS,QAAA;QACNH,GAAGD,OAAA,CAAQC;AACb,OAAC,CAAA;AACH,IAAA;IACApC,KAAA,KAAA,IAAA,IAAAA,KAAA,KAAA,KAAA,CAAA,IAAA,CAAAsC,cAAA,GAAAtC,KAAA,CAAO+C,kDAAPT,cAAA,CAAAU,IAAA,CAAAhD,KAAA,EAAiB0C,QAAA,EAAAV,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAeG,OAAA,CAAA,EAAA,EAAA,EAAA;AAASc,MAAAA,UAAA,EAAYhB;MAAO,CAAA;EAC9D,CAAA;AAEA,EAAA,IAAMiB,qBAAA,GAAwB,SAAxBA,qBAAAA,CAAyBC,MAAA,EAAuB;AACpD,IAAA,IAAI,CAAC/B,QAAA,IAAY,CAACA,QAAA,CAASwB,MAAA,EAAQ;EACrC,CAAA;EAGA,IAAMQ,uBAAA,GAA0B,SAA1BA,uBAAAA,CAA2BnB,KAAA,EAAmBE,OAAA,EAAoD;AACtG,IAAA,IAAQC,IAAMD,OAAA,CAANC;IACR,IAAI,CAAChB,QAAA,IAAY,CAACA,QAAA,CAASwB,UAAUlC,QAAA,EAAU;AAE/C,IAAA,IAAI,CAACuB,SAAS,CAAC,WAAA,EAAa,cAAc,CAAA,CAAEoB,QAAA,CAASjB,CAAA,CAAEkB,GAAG,CAAA,EAAG;AAC3D,MAAA,IAAM1B,KAAA,GAAQR,SAASwB,MAAA,GAAS,CAAA;AAChC,MAAA,IAAMd,IAAA,GAAOV,SAASQ,KAAK,CAAA;MAC3B,IAAMG,OAAA,GAAU,WAAA;MAChB,IAAMW,QAAA,GAAWtB,QAAA,CAASmC,KAAA,CAAM,CAAA,EAAG,CAAA,CAAE,CAAA;MACrClC,WAAA,CAAYqB,UAAU;AAAEN,QAAAA,CAAA,EAAAA,CAAA;AAAGR,QAAAA,KAAA,EAAAA,KAAA;AAAOE,QAAAA,IAAA,EAAAA,IAAA;AAAMC,QAAAA,SAAAA;AAAQ,OAAC,CAAA;AACjD1B,MAAAA,QAAA,KAAA,IAAA,IAAAA,QAAA,KAAA,KAAA,CAAA,IAAAA,QAAA,CAAW;AAAE+B,QAAAA,CAAA,EAAAA,CAAA;AAAGR,QAAAA,KAAA,EAAAA,KAAA;AAAOE,QAAAA,MAAAA;AAAMC,QAAAA,OAAA,EAAAA,OAAA;AAASE,QAAAA,KAAA,EAAOS;AAAS,OAAC,CAAA;AACzD,IAAA;EACF,CAAA;AAEA,EAAA,IAAMc,WAAA,GAAc,SAAdA,WAAAA,CAAAC,IAAA,EAAwF;AAAA,IAAA,IAAvEC,WAAA,GAAAD,IAAA,CAAAC,WAAA;MAAaC,aAAAA;AAClC,IAAA,IAAMC,UAAUrD,eAAA,GAAkBa,QAAA,CAASmC,KAAA,CAAM,CAAA,EAAGhD,eAAe,CAAA,GAAIa,QAAA;IAEvE,IAAMyC,IAAA,GAAOH,WAAA,GACT,gBAACI,KAAA,CAAAC,aAAA,CAACC;AAASV,MAAAA,GAAA,EAAI;AAAA,KAAA,EAAgBI,WAAY,CAAW,CAAA,GACtDE,OAAA,KAAA,IAAA,IAAAA,OAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAA,CAASK,GAAA,CAAI,UAACnC,MAAMF,KAAA,EAAU;MAC5B,IAAMsC,UAAA,GAAaC,WAAWvD,GAAG,CAAA,GAAIA,IAAI;AAAEqB,QAAAA,KAAA,EAAOH;OAAM,CAAA,GAAIlB,GAAA;MAC5D,sBACEkD,KAAA,CAAAC,aAAA,CAACK,GAAA,EAAApC,aAAA,CAAAA,aAAA,CAAA;AACCsB,QAAAA,GAAA,EAAK1B,KAAA;AACLpB,QAAAA,IAAA,EAAAA,IAAA;AACAC,QAAAA,QAAA,EAAAA,QAAA;AACAa,QAAAA,OAAA,EAAS,SAATA,OAAAA,CAAUa,OAAA,EAAA;AAAA,UAAA,OAAYb,QAAA,CAAQ;YAAEc,CAAA,EAAGD,OAAA,CAAQC,CAAA;AAAGR,YAAAA,KAAA,EAAAA;AAAM,WAAC,CAAA;AAAA,QAAA,CAAA;AACrDyC,QAAAA,QAAA,EAAU,CAAC3D,QAAA,IAAY,CAACD;OAAA,EACpBK,YAAA,aAAAA,YAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,YAAA,CAAec,KAAA,EAAOE,IAAI,CAAA,GAC1BnB,QAAA,CAAA,EAEHuD,UAAA,KAAA,IAAA,IAAAA,UAAA,cAAAA,UAAA,GAAcpC,IACjB,CAAA;AAEJ,IAAA,CAAC,CAAA;AACL,IAAA,IAAI6B,KAAA,EAAO;AACTE,MAAAA,IAAA,KAAA,IAAA,IAAAA,IAAA,KAAA,KAAA,CAAA,IAAAA,IAAA,CAAMS,OAAA,gBACJR,KAAA,CAAAC,aAAA,CAAC;AAAIQ,QAAAA,SAAA,EAAA,EAAA,CAAAzB,MAAA,CAAc3C,MAAM,EAAA,oBAAA,CAAA;AAAsBmD,QAAAA,GAAA,EAAI;SAChDK,KACH,CACF,CAAA;AACF,IAAA;AAEA,IAAA,IAAIC,OAAA,CAAQhB,MAAA,KAAWxB,QAAA,CAASwB,MAAA,EAAQ;MACtC,IAAM4B,GAAA,GAAMpD,QAAA,CAASwB,MAAA,GAASgB,OAAA,CAAQhB,MAAA;AAEtC,MAAA,IAAM6B,UAAU5B,KAAA,CAAM6B,OAAA,CAAQ1E,kBAAAA,4BAAAA,MAAOyE,OAAO,CAAA,GAAIzE,MAAMyE,OAAA,GAAUrD,QAAA;AAChE,MAAA,IAAMuD,MAAA,GAAS;AACb1C,QAAAA,KAAA,EAAOb,QAAA;AACPwD,QAAAA,KAAA,EAAOxD,SAASwB,MAAA,GAASrC,eAAA;QACzBsE,aAAA,EAAezD,QAAA,CAASmC,KAAA,CAAMhD,eAAA,EAAiBa,SAASwB,MAAM,CAAA;QAC9DkC,sBAAA,EAAyBL,OAAA,CAAQlB,KAAA,CAAMhD,eAAA,EAAiBa,SAASwB,MAAM,CAAA;AACvEtB,QAAAA,OAAA,EAAAA;OACF;AACA,MAAA,IAAMyD,OAAOZ,UAAA,CAAWtD,cAAc,CAAA,GAAIA,cAAA,CAAe8D,MAAM,CAAA,GAAI9D,cAAA;MACnEgD,IAAA,CAAKmB,IAAA,gBACHlB,KAAA,CAAAC,aAAA,CAACC,QAAA,EAAA;AAASV,QAAAA,GAAA,EAAI;AAAA,OAAA,EACXyB,IAAA,KAAA,IAAA,IAAAA,IAAA,cAAAA,IAAA,kBACCjB,KAAA,CAAAC,aAAA,CAACK,GAAA,EAAApC,aAAA,CAAA;AAAIxB,QAAAA,IAAA,EAAAA;AAAA,OAAA,EAAgBG,QAAA,CAAA,EAAU,GAAA,EAC3B6D,GACJ,CAEJ,CACF,CAAA;AACF,IAAA;AACA,IAAA,OAAOX,IAAA;EACT,CAAA;EACA,OAAO;AACLzC,IAAAA,QAAA,EAAAA,QAAA;AACAc,IAAAA,QAAA,EAAAA,QAAA;AACAZ,IAAAA,OAAA,EAAAA,QAAA;AACAe,IAAAA,YAAA,EAAAA,YAAA;AACAe,IAAAA,uBAAA,EAAAA,uBAAA;AACAF,IAAAA,qBAAA,EAAAA,qBAAA;AACAM,IAAAA,WAAA,EAAAA;GACF;AACF;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 当标签数量过多时,输入框显示不下,则需要滚动查看,以下为滚动逻辑
|
|
3
|
+
* 如果标签过多时的处理方式,是标签省略,则不需要此功能
|
|
4
|
+
*/
|
|
5
|
+
import { WheelEvent } from "react";
|
|
6
|
+
import { TdTagInputProps } from "../type";
|
|
7
|
+
export default function useTagScroll(props: TdTagInputProps): {
|
|
8
|
+
initScroll: (element: HTMLDivElement) => void;
|
|
9
|
+
clearScroll: () => void;
|
|
10
|
+
tagInputRef: import("react").MutableRefObject<{
|
|
11
|
+
currentElement: HTMLDivElement;
|
|
12
|
+
}>;
|
|
13
|
+
scrollElement: HTMLDivElement;
|
|
14
|
+
scrollDistance: number;
|
|
15
|
+
scrollTo: (distance: number) => void;
|
|
16
|
+
scrollToRight: () => void;
|
|
17
|
+
scrollToLeft: () => void;
|
|
18
|
+
updateScrollElement: (element: HTMLDivElement) => void;
|
|
19
|
+
updateScrollDistance: () => void;
|
|
20
|
+
onWheel: ({ e }: {
|
|
21
|
+
e: WheelEvent<HTMLDivElement>;
|
|
22
|
+
}) => void;
|
|
23
|
+
scrollToRightOnEnter: () => void;
|
|
24
|
+
scrollToLeftOnLeave: () => void;
|
|
25
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import "./style/index.js";
|
|
2
|
+
export * from "./type";
|
|
3
|
+
export type { TagInputProps } from "./TagInput";
|
|
4
|
+
export declare const TagInput: import("react").ForwardRefExoticComponent<import("./TagInput").TagInputProps & import("react").RefAttributes<import("..").InputRef>>;
|
|
5
|
+
export default TagInput;
|
package/es/tag-input/index.js
CHANGED
|
@@ -7,12 +7,14 @@ import 'react';
|
|
|
7
7
|
import '@tendaui/icons';
|
|
8
8
|
import 'lodash-es';
|
|
9
9
|
import 'classnames';
|
|
10
|
-
import '../_chunks/dep-
|
|
11
|
-
import '../
|
|
10
|
+
import '../_chunks/dep-gy8uvBaS.js';
|
|
11
|
+
import '../_chunks/dep-5U9UjDaf.js';
|
|
12
|
+
import 'dayjs';
|
|
12
13
|
import '../input/index.js';
|
|
13
14
|
import '../input/Input.js';
|
|
14
15
|
import '../_chunks/dep-DN7d1SzH.js';
|
|
15
|
-
import '../_chunks/dep-
|
|
16
|
+
import '../_chunks/dep-BRbJGDI9.js';
|
|
17
|
+
import '../_chunks/dep-DRwijJcv.js';
|
|
16
18
|
import '../_chunks/dep-DwWrhxkd.js';
|
|
17
19
|
import '../_chunks/dep-D6YxJv-F.js';
|
|
18
20
|
import '../_chunks/dep-DGvfel3I.js';
|
|
@@ -22,8 +24,9 @@ import './hooks/useTagList.js';
|
|
|
22
24
|
import '../_chunks/dep-CgyDw_YI.js';
|
|
23
25
|
import '../tag/index.js';
|
|
24
26
|
import '../tag/Tag.js';
|
|
27
|
+
import '../_chunks/dep-zOZQ0R9g.js';
|
|
25
28
|
import '../_chunks/dep-U1T8CQY9.js';
|
|
26
|
-
import '../_chunks/dep-
|
|
29
|
+
import '../_chunks/dep-ByzdZjUR.js';
|
|
27
30
|
import '../_chunks/dep-BP0-apUT.js';
|
|
28
31
|
import 'hoist-non-react-statics';
|
|
29
32
|
import '../tag/style/css.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../components/tag-input/index.ts"],"sourcesContent":["import _TagInput from \"./TagInput\";\nimport \"./style/index.js\";\n\nexport * from \"./type\";\n\nexport type { TagInputProps } from \"./TagInput\";\n\nexport const TagInput = _TagInput;\nexport default TagInput;\n"],"names":["TagInput","_TagInput"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../components/tag-input/index.ts"],"sourcesContent":["import _TagInput from \"./TagInput\";\nimport \"./style/index.js\";\n\nexport * from \"./type\";\n\nexport type { TagInputProps } from \"./TagInput\";\n\nexport const TagInput = _TagInput;\nexport default TagInput;\n"],"names":["TagInput","_TagInput"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,IAAMA,QAAA,GAAWC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { InputProps } from "../input";
|
|
2
|
+
import { TagProps } from "../tag";
|
|
3
|
+
import { TNode, TElement, SizeEnum } from "../common";
|
|
4
|
+
import { MouseEvent, KeyboardEvent, ClipboardEvent, FocusEvent, FormEvent, CompositionEvent } from "react";
|
|
5
|
+
export interface TdTagInputProps {
|
|
6
|
+
/**
|
|
7
|
+
* 宽度随内容自适应
|
|
8
|
+
* @default false
|
|
9
|
+
*/
|
|
10
|
+
autoWidth?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* 无边框模式
|
|
13
|
+
* @default false
|
|
14
|
+
*/
|
|
15
|
+
borderless?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* 是否可清空
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
clearable?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* 标签过多的情况下,折叠项内容,默认为 `+N`。如果需要悬浮就显示其他内容,可以使用 collapsedItems 自定义。`value` 表示当前存在的所有标签,`collapsedSelectedItems` 表示折叠的标签,`count` 表示折叠的数量,`onClose` 表示移除标签的事件回调
|
|
23
|
+
*/
|
|
24
|
+
collapsedItems?: TNode<{
|
|
25
|
+
value: TagInputValue;
|
|
26
|
+
collapsedSelectedItems: TagInputValue;
|
|
27
|
+
count: number;
|
|
28
|
+
onClose: (context: {
|
|
29
|
+
index: number;
|
|
30
|
+
e?: MouseEvent;
|
|
31
|
+
}) => void;
|
|
32
|
+
}>;
|
|
33
|
+
/**
|
|
34
|
+
* 是否禁用标签输入框
|
|
35
|
+
*/
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* 拖拽调整标签顺序
|
|
39
|
+
* @default false
|
|
40
|
+
*/
|
|
41
|
+
dragSort?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* 标签超出时的呈现方式,有两种:横向滚动显示 和 换行显示
|
|
44
|
+
* @default break-line
|
|
45
|
+
*/
|
|
46
|
+
excessTagsDisplayType?: "scroll" | "break-line";
|
|
47
|
+
/**
|
|
48
|
+
* 标签最大换行数
|
|
49
|
+
* @default 1
|
|
50
|
+
*/
|
|
51
|
+
maxRows?: number;
|
|
52
|
+
/**
|
|
53
|
+
* 透传 Input 输入框组件全部属性
|
|
54
|
+
*/
|
|
55
|
+
inputProps?: InputProps;
|
|
56
|
+
/**
|
|
57
|
+
* 输入框的值
|
|
58
|
+
* @default ''
|
|
59
|
+
*/
|
|
60
|
+
inputValue?: string;
|
|
61
|
+
/**
|
|
62
|
+
* 输入框的值,非受控属性
|
|
63
|
+
* @default ''
|
|
64
|
+
*/
|
|
65
|
+
defaultInputValue?: string;
|
|
66
|
+
/**
|
|
67
|
+
* 左侧文本
|
|
68
|
+
*/
|
|
69
|
+
label?: TNode;
|
|
70
|
+
/**
|
|
71
|
+
* 最大允许输入的标签数量
|
|
72
|
+
*/
|
|
73
|
+
max?: number;
|
|
74
|
+
/**
|
|
75
|
+
* 最小折叠数量,用于标签数量过多的情况下折叠选中项,超出该数值的选中项折叠。值为 0 则表示不折叠
|
|
76
|
+
* @default 0
|
|
77
|
+
*/
|
|
78
|
+
minCollapsedNum?: number;
|
|
79
|
+
/**
|
|
80
|
+
* 占位符
|
|
81
|
+
*/
|
|
82
|
+
placeholder?: string;
|
|
83
|
+
/**
|
|
84
|
+
* 组件前置图标
|
|
85
|
+
*/
|
|
86
|
+
prefixIcon?: TElement;
|
|
87
|
+
/**
|
|
88
|
+
* 只读状态,值为真会隐藏标签移除按钮和输入框
|
|
89
|
+
* @default false
|
|
90
|
+
*/
|
|
91
|
+
readonly?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* 组件尺寸
|
|
94
|
+
* @default medium
|
|
95
|
+
*/
|
|
96
|
+
size?: SizeEnum;
|
|
97
|
+
/**
|
|
98
|
+
* 输入框状态
|
|
99
|
+
*/
|
|
100
|
+
status?: "default" | "success" | "warning" | "error";
|
|
101
|
+
/**
|
|
102
|
+
* 后置图标前的后置内容
|
|
103
|
+
*/
|
|
104
|
+
suffix?: TNode;
|
|
105
|
+
/**
|
|
106
|
+
* 组件后置图标
|
|
107
|
+
*/
|
|
108
|
+
suffixIcon?: TElement;
|
|
109
|
+
/**
|
|
110
|
+
* 自定义标签的内部内容,每一个标签的当前值。注意和 `valueDisplay` 区分,`valueDisplay` 是用来定义全部标签内容,而非某一个标签
|
|
111
|
+
*/
|
|
112
|
+
tag?: string | TNode<{
|
|
113
|
+
value: string | number;
|
|
114
|
+
}>;
|
|
115
|
+
/**
|
|
116
|
+
* 透传 Tag 组件全部属性
|
|
117
|
+
*/
|
|
118
|
+
tagProps?: TagProps;
|
|
119
|
+
/**
|
|
120
|
+
* 输入框下方提示文本,会根据不同的 `status` 呈现不同的样式
|
|
121
|
+
*/
|
|
122
|
+
tips?: TNode;
|
|
123
|
+
/**
|
|
124
|
+
* 值
|
|
125
|
+
* @default []
|
|
126
|
+
*/
|
|
127
|
+
value?: TagInputValue;
|
|
128
|
+
/**
|
|
129
|
+
* 值,非受控属性
|
|
130
|
+
* @default []
|
|
131
|
+
*/
|
|
132
|
+
defaultValue?: TagInputValue;
|
|
133
|
+
/**
|
|
134
|
+
* 自定义值呈现的全部内容,参数为所有标签的值
|
|
135
|
+
*/
|
|
136
|
+
valueDisplay?: string | TNode<{
|
|
137
|
+
value: TagInputValue;
|
|
138
|
+
onClose: (index: number, item?: string | number) => void;
|
|
139
|
+
}>;
|
|
140
|
+
/**
|
|
141
|
+
* 失去焦点时触发
|
|
142
|
+
*/
|
|
143
|
+
onBlur?: (value: TagInputValue, context: {
|
|
144
|
+
inputValue: string;
|
|
145
|
+
e: FocusEvent<HTMLInputElement>;
|
|
146
|
+
}) => void;
|
|
147
|
+
/**
|
|
148
|
+
* 值变化时触发,参数 `context.trigger` 表示数据变化的触发来源;`context.index` 指当前变化项的下标;`context.item` 指当前变化项;`context.e` 表示事件参数
|
|
149
|
+
*/
|
|
150
|
+
onChange?: (value: TagInputValue, context: TagInputChangeContext) => void;
|
|
151
|
+
/**
|
|
152
|
+
* 清空按钮点击时触发
|
|
153
|
+
*/
|
|
154
|
+
onClear?: (context: {
|
|
155
|
+
e: MouseEvent<SVGSVGElement>;
|
|
156
|
+
}) => void;
|
|
157
|
+
/**
|
|
158
|
+
* 点击组件时触发
|
|
159
|
+
*/
|
|
160
|
+
onClick?: (context: {
|
|
161
|
+
e: MouseEvent<HTMLDivElement>;
|
|
162
|
+
}) => void;
|
|
163
|
+
/**
|
|
164
|
+
* 【开发中】拖拽排序时触发
|
|
165
|
+
*/
|
|
166
|
+
onDragSort?: (context: TagInputDragSortContext) => void;
|
|
167
|
+
/**
|
|
168
|
+
* 按键按下 Enter 时触发
|
|
169
|
+
*/
|
|
170
|
+
onEnter?: (value: TagInputValue, context: {
|
|
171
|
+
e: KeyboardEvent<HTMLDivElement>;
|
|
172
|
+
inputValue: string;
|
|
173
|
+
}) => void;
|
|
174
|
+
/**
|
|
175
|
+
* 聚焦时触发
|
|
176
|
+
*/
|
|
177
|
+
onFocus?: (value: TagInputValue, context: {
|
|
178
|
+
inputValue: string;
|
|
179
|
+
e: FocusEvent<HTMLInputElement>;
|
|
180
|
+
}) => void;
|
|
181
|
+
/**
|
|
182
|
+
* 输入框值发生变化时触发,`context.trigger` 表示触发输入框值变化的来源:文本输入触发、清除按钮触发、回车键触发等
|
|
183
|
+
*/
|
|
184
|
+
onInputChange?: (value: string, context?: InputValueChangeContext) => void;
|
|
185
|
+
/**
|
|
186
|
+
* 进入输入框时触发
|
|
187
|
+
*/
|
|
188
|
+
onMouseenter?: (context: {
|
|
189
|
+
e: MouseEvent<HTMLDivElement>;
|
|
190
|
+
}) => void;
|
|
191
|
+
/**
|
|
192
|
+
* 离开输入框时触发
|
|
193
|
+
*/
|
|
194
|
+
onMouseleave?: (context: {
|
|
195
|
+
e: MouseEvent<HTMLDivElement>;
|
|
196
|
+
}) => void;
|
|
197
|
+
/**
|
|
198
|
+
* 粘贴事件,`pasteValue` 表示粘贴板的内容
|
|
199
|
+
*/
|
|
200
|
+
onPaste?: (context: {
|
|
201
|
+
e: ClipboardEvent<HTMLDivElement>;
|
|
202
|
+
pasteValue: string;
|
|
203
|
+
}) => void;
|
|
204
|
+
/**
|
|
205
|
+
* 移除单个标签时触发
|
|
206
|
+
*/
|
|
207
|
+
onRemove?: (context: TagInputRemoveContext) => void;
|
|
208
|
+
}
|
|
209
|
+
export type TagInputValue = Array<string | number>;
|
|
210
|
+
export interface TagInputChangeContext {
|
|
211
|
+
trigger: TagInputTriggerSource;
|
|
212
|
+
index?: number;
|
|
213
|
+
item?: string | number;
|
|
214
|
+
e?: MouseEvent<SVGSVGElement> | KeyboardEvent<HTMLInputElement>;
|
|
215
|
+
}
|
|
216
|
+
export type TagInputTriggerSource = "enter" | "tag-remove" | "backspace" | "clear";
|
|
217
|
+
export interface TagInputDragSortContext {
|
|
218
|
+
newTags: TagInputValue;
|
|
219
|
+
currentIndex: number;
|
|
220
|
+
current: string | number;
|
|
221
|
+
targetIndex: number;
|
|
222
|
+
target: string | number;
|
|
223
|
+
}
|
|
224
|
+
export interface InputValueChangeContext {
|
|
225
|
+
e?: FormEvent<HTMLInputElement> | MouseEvent<HTMLElement | SVGElement> | CompositionEvent<HTMLDivElement> | KeyboardEvent<HTMLInputElement>;
|
|
226
|
+
trigger: "input" | "clear" | "enter" | "blur";
|
|
227
|
+
}
|
|
228
|
+
export interface TagInputRemoveContext {
|
|
229
|
+
value: TagInputValue;
|
|
230
|
+
index: number;
|
|
231
|
+
item: string | number;
|
|
232
|
+
e?: MouseEvent<SVGSVGElement> | KeyboardEvent<HTMLInputElement>;
|
|
233
|
+
trigger: TagInputRemoveTrigger;
|
|
234
|
+
}
|
|
235
|
+
export type TagInputRemoveTrigger = "tag-remove" | "backspace";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React, { MouseEvent, KeyboardEvent, ReactNode } from "react";
|
|
2
|
+
import { TagInputChangeContext, TagInputValue, TdTagInputProps } from "./type";
|
|
3
|
+
import { InputValue } from "../input";
|
|
4
|
+
import { DragSortInnerProps } from "../hooks/useDragSorter";
|
|
5
|
+
export type ChangeParams = [TagInputChangeContext];
|
|
6
|
+
interface TagInputProps extends TdTagInputProps, DragSortInnerProps {
|
|
7
|
+
options?: unknown[];
|
|
8
|
+
}
|
|
9
|
+
export default function useTagList(props: TagInputProps): {
|
|
10
|
+
tagValue: TagInputValue;
|
|
11
|
+
clearAll: (context: {
|
|
12
|
+
e: MouseEvent<SVGSVGElement>;
|
|
13
|
+
}) => void;
|
|
14
|
+
onClose: (p: {
|
|
15
|
+
e?: MouseEvent<SVGSVGElement>;
|
|
16
|
+
index: number;
|
|
17
|
+
}) => void;
|
|
18
|
+
onInnerEnter: (value: InputValue, context: {
|
|
19
|
+
e: KeyboardEvent<HTMLInputElement>;
|
|
20
|
+
}) => void;
|
|
21
|
+
onInputBackspaceKeyDown: (value: InputValue, context: {
|
|
22
|
+
e: KeyboardEvent<HTMLInputElement>;
|
|
23
|
+
}) => void;
|
|
24
|
+
onInputBackspaceKeyUp: () => void;
|
|
25
|
+
renderLabel: ({ displayNode, label }: {
|
|
26
|
+
displayNode: ReactNode;
|
|
27
|
+
label: ReactNode;
|
|
28
|
+
}) => React.JSX.Element[];
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
@@ -4,17 +4,19 @@ import { _ as _slicedToArray } from '../_chunks/dep-CzLhKWCf.js';
|
|
|
4
4
|
import React, { Fragment } from 'react';
|
|
5
5
|
import { isFunction } from 'lodash-es';
|
|
6
6
|
import { Tag } from '../tag/index.js';
|
|
7
|
-
import { u as useConfig } from '../_chunks/dep-
|
|
7
|
+
import { u as useConfig } from '../_chunks/dep-gy8uvBaS.js';
|
|
8
8
|
import { u as useControlled } from '../_chunks/dep-DwWrhxkd.js';
|
|
9
9
|
import '../_chunks/dep-D-UKOauR.js';
|
|
10
10
|
import '../tag/Tag.js';
|
|
11
11
|
import '../_chunks/dep-DN7d1SzH.js';
|
|
12
12
|
import 'classnames';
|
|
13
13
|
import '@tendaui/icons';
|
|
14
|
+
import '../_chunks/dep-zOZQ0R9g.js';
|
|
14
15
|
import '../_chunks/dep-U1T8CQY9.js';
|
|
15
|
-
import '../_chunks/dep-
|
|
16
|
+
import '../_chunks/dep-ByzdZjUR.js';
|
|
16
17
|
import '../_chunks/dep-DGvfel3I.js';
|
|
17
|
-
import '../
|
|
18
|
+
import '../_chunks/dep-5U9UjDaf.js';
|
|
19
|
+
import 'dayjs';
|
|
18
20
|
import '../_chunks/dep-BP0-apUT.js';
|
|
19
21
|
import 'hoist-non-react-statics';
|
|
20
22
|
import '../tag/style/css.js';
|