@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":"NotifyContext.js","sources":["../../../components/notification/NotifyContext.tsx"],"sourcesContent":["import React, { createContext, useState, useRef, useCallback, useContext } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport NotifyContainer from \"./NotifyContainer\";\n\n// 1. 定义类型\ntype NotificationType = \"success\" | \"error\" | \"warning\" | \"info\";\n\ninterface Notification {\n id: string;\n type: NotificationType;\n message: string;\n createdAt: number;\n isRemoved: boolean;\n title: string;\n}\n\n// 2. 定义 Context 类型\ninterface NotificationContextType {\n notify: (type: NotificationType, message: Message) => void;\n success: (message: Message) => void;\n error: (message: Message) => void;\n warning: (message: Message) => void;\n info: (message: Message) => void;\n removeNotification: (id: string) => void;\n}\n\n// 3. 创建 Context\nconst NotificationContext = createContext<NotificationContextType | null>(null);\n\n// 4. 生成唯一 ID 的辅助函数\nconst generateId = () => Math.random().toString(36).substr(2, 9);\n\n// 5. Provider 组件\ninterface NotificationProviderProps {\n children: React.ReactNode;\n maxStack?: number;\n displayDuration?: number;\n position?: string;\n}\n\ntype Message = {\n title: string;\n message: string;\n};\nexport const NotificationProvider: React.FC<NotificationProviderProps> = ({\n children,\n maxStack = 5,\n displayDuration = 3000,\n position = \"top-right\"\n}) => {\n const [notifications, setNotifications] = useState<Notification[]>([]);\n const timersRef = useRef<Map<string, NodeJS.Timeout>>(new Map());\n const pausedAtRef = useRef<Map<string, number>>(new Map());\n\n // 定时器相关函数\n const clearNotificationTimer = useCallback((id: string) => {\n const timer = timersRef.current.get(id);\n if (timer) {\n clearTimeout(timer);\n timersRef.current.delete(id);\n }\n }, []);\n\n const startTimer = useCallback(\n (notification: Notification, remainingTime?: number) => {\n const duration = remainingTime ?? displayDuration;\n const timer = setTimeout(() => {\n setNotifications((prev) => prev.map((n) => (n.id === notification.id ? { ...n, isRemoved: true } : n)));\n setTimeout(() => {\n setNotifications((prev) => prev.filter((t) => t.id !== notification.id));\n clearNotificationTimer(notification.id);\n pausedAtRef.current.delete(notification.id);\n }, 400);\n }, duration);\n timersRef.current.set(notification.id, timer);\n },\n [displayDuration, clearNotificationTimer]\n );\n\n // 6. 核心通知函数\n const addNotification = useCallback(\n (type: NotificationType, message: Message) => {\n const newNotification: Notification = {\n id: generateId(),\n type,\n title: message.title,\n message: message.message,\n createdAt: Date.now(),\n isRemoved: false\n };\n\n setNotifications((prev) => {\n const newNotifications = [newNotification, ...prev];\n const removedNotifications = newNotifications.slice(maxStack);\n\n removedNotifications.forEach((notification) => {\n clearNotificationTimer(notification.id);\n pausedAtRef.current.delete(notification.id);\n });\n\n return newNotifications.slice(0, maxStack);\n });\n\n startTimer(newNotification);\n },\n [maxStack, startTimer, clearNotificationTimer]\n );\n\n // 7. 提供的 Context 值\n const contextValue = React.useMemo(\n () => ({\n notify: addNotification,\n success: (message: Message) => addNotification(\"success\", message),\n error: (message: Message) => addNotification(\"error\", message),\n warning: (message: Message) => addNotification(\"warning\", message),\n info: (message: Message) => addNotification(\"info\", message),\n removeNotification: (id: string) => {\n setNotifications((prev) => prev.filter((t) => t.id !== id));\n clearNotificationTimer(id);\n pausedAtRef.current.delete(id);\n }\n }),\n [addNotification, clearNotificationTimer]\n );\n\n // 悬停处理\n const clearAllTimers = useCallback(() => {\n const now = Date.now();\n notifications.forEach((notification) => {\n pausedAtRef.current.set(notification.id, now);\n clearNotificationTimer(notification.id);\n });\n }, [notifications, clearNotificationTimer]);\n\n const restartAllTimers = useCallback(() => {\n notifications.forEach((notification) => {\n const pausedAt = pausedAtRef.current.get(notification.id);\n if (pausedAt) {\n const elapsedTime = pausedAt - notification.createdAt;\n const remainingTime = Math.max(0, displayDuration - elapsedTime);\n startTimer(notification, remainingTime);\n pausedAtRef.current.delete(notification.id);\n }\n });\n }, [notifications, displayDuration, startTimer]);\n\n return (\n <NotificationContext.Provider value={contextValue}>\n {children}\n {createPortal(\n <NotifyContainer\n notifications={notifications as unknown as TdNotificationProps[]}\n onRemove={(id) => contextValue.removeNotification(id)}\n onHoverStart={clearAllTimers}\n onHoverEnd={restartAllTimers}\n data-testid=\"notification-container\"\n maxStack={maxStack}\n position={position}\n />,\n document.body\n )}\n </NotificationContext.Provider>\n );\n};\n\n// 8. 创建自定义 Hook\nexport const useNotification = () => {\n const context = useContext(NotificationContext);\n if (!context) {\n throw new Error(\"useNotification must be used within a NotificationProvider\");\n }\n return context;\n};\n"],"names":["NotificationContext","createContext","generateId","Math","random","toString","substr","NotificationProvider","children","_ref","_ref$maxStack","maxStack","_ref$displayDuration","displayDuration","_ref$position","position","_useState","useState","_useState2","_slicedToArray","notifications","setNotifications","timersRef","useRef","Map","pausedAtRef","clearNotificationTimer","useCallback","id","timer","current","get","clearTimeout","startTimer","notification","remainingTime","duration","setTimeout","prev","map","n","_objectSpread","isRemoved","filter","t","set","addNotification","type","message","newNotification","title","createdAt","Date","now","newNotifications","concat","_toConsumableArray","removedNotifications","slice","forEach","contextValue","React","useMemo","notify","success","error","warning","info","removeNotification","clearAllTimers","restartAllTimers","pausedAt","elapsedTime","max","Provider","value","createPortal","createElement","NotifyContainer","onRemove","onHoverStart","onHoverEnd","document","body","useNotification","context","useContext","Error"],"mappings":";;;;;;;;;;;;;;AA2BA,IAAMA,mBAAA,gBAAsBC,cAA8C,IAAI,CAAA;AAG9E,IAAMC,UAAA,GAAa,SAAbA,UAAAA,GAAA;AAAA,EAAA,OAAmBC,IAAA,CAAKC,MAAA,EAAO,CAAEC,SAAS,EAAE,CAAA,CAAEC,MAAA,CAAO,CAAA,EAAG,CAAC,CAAA;AAAA,CAAA;IAclDC,uBAA4D,SAA5DA,2BAKP;AAAA,EAAA,IAJJC,QAAA,GAAAC,IAAA,CAAAD,QAAA;IAAAE,aAAA,GAAAD,IAAA,CACAE,QAAA;AAAAA,IAAAA,QAAA,GAAAD,aAAA,KAAA,KAAA,CAAA,GAAW,CAAA,GAAAA,aAAA;IAAAE,oBAAA,GAAAH,IAAA,CACXI,eAAA;AAAAA,IAAAA,eAAA,GAAAD,oBAAA,KAAA,KAAA,CAAA,GAAkB,GAAA,GAAAA,oBAAA;IAAAE,aAAA,GAAAL,IAAA,CAClBM,QAAA;AAAAA,IAAAA,QAAA,GAAAD,aAAA,KAAA,KAAA,CAAA,GAAW,WAAA,GAAAA,aAAA;AAEX,EAAA,IAAAE,SAAA,GAA0CC,QAAA,CAAyB,EAAE,CAAA;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9DI,IAAAA,aAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAeG,IAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA;EACtC,IAAMI,SAAA,GAAYC,MAAA,gBAAoC,IAAIC,GAAA,EAAK,CAAA;EAC/D,IAAMC,WAAA,GAAcF,MAAA,gBAA4B,IAAIC,GAAA,EAAK,CAAA;AAGzD,EAAA,IAAME,sBAAA,GAAyBC,WAAA,CAAY,UAACC,EAAA,EAAe;IACzD,IAAMC,KAAA,GAAQP,SAAA,CAAUQ,OAAA,CAAQC,GAAA,CAAIH,EAAE,CAAA;AACtC,IAAA,IAAIC,KAAA,EAAO;MACTG,YAAA,CAAaH,KAAK,CAAA;AAClBP,MAAAA,SAAA,CAAUQ,OAAA,CAAA,QAAA,EAAeF,EAAE,CAAA;AAC7B,IAAA;EACF,CAAA,EAAG,EAAE,CAAA;EAEL,IAAMK,UAAA,GAAaN,WAAA,CACjB,UAACO,cAA4BC,aAAA,EAA2B;IACtD,IAAMC,WAAWD,aAAA,KAAA,IAAA,IAAAA,aAAA,KAAA,KAAA,CAAA,GAAAA,aAAA,GAAiBtB,eAAA;AAClC,IAAA,IAAMgB,KAAA,GAAQQ,WAAW,YAAM;MAC7BhB,gBAAA,CAAiB,UAACiB,IAAA,EAAA;AAAA,QAAA,OAASA,IAAA,CAAKC,GAAA,CAAI,UAACC;iBAAOA,CAAA,CAAEZ,EAAA,KAAOM,YAAA,CAAaN,EAAA,GAAAa,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAUD,CAAA,CAAA,EAAA,EAAA,EAAA;AAAGE,YAAAA,WAAW;AAAA,WAAA,CAAA,GAASF,CAAE;QAAA,CAAA,CAAC;MAAA,CAAA,CAAA;AACtGH,MAAAA,UAAA,CAAW,YAAM;QACfhB,gBAAA,CAAiB,UAACiB,IAAA,EAAA;AAAA,UAAA,OAASA,IAAA,CAAKK,MAAA,CAAO,UAACC;mBAAMA,CAAA,CAAEhB,EAAA,KAAOM,YAAA,CAAaN,EAAE;UAAA,CAAA,CAAC;QAAA,CAAA,CAAA;AACvEF,QAAAA,sBAAA,CAAuBQ,aAAaN,EAAE,CAAA;AACtCH,QAAAA,WAAA,CAAYK,OAAA,CAAA,QAAA,CAAQ,CAAOI,YAAA,CAAaN,EAAE,CAAA;MAC5C,GAAG,GAAG,CAAA;IACR,GAAGQ,QAAQ,CAAA;IACXd,SAAA,CAAUQ,OAAA,CAAQe,GAAA,CAAIX,YAAA,CAAaN,EAAA,EAAIC,KAAK,CAAA;AAC9C,EAAA,CAAA,EACA,CAAChB,iBAAiBa,sBAAsB,CAC1C,CAAA;EAGA,IAAMoB,eAAA,GAAkBnB,WAAA,CACtB,UAACoB,MAAwBC,OAAA,EAAqB;AAC5C,IAAA,IAAMC,eAAA,GAAgC;MACpCrB,IAAI1B,UAAA,EAAW;AACf6C,MAAAA,IAAA,EAAAA,IAAA;MACAG,OAAOF,OAAA,CAAQE,KAAA;MACfF,SAASA,OAAA,CAAQA,OAAA;AACjBG,MAAAA,SAAA,EAAWC,KAAKC,GAAA,EAAI;AACpBX,MAAAA,SAAA,EAAW;KACb;IAEArB,gBAAA,CAAiB,UAACiB,IAAA,EAAS;MACzB,IAAMgB,gBAAA,IAAoBL,eAAA,CAAA,CAAAM,MAAA,CAAAC,kBAAA,CAAoBlB,IAAI,CAAA,CAAA;AAClD,MAAA,IAAMmB,oBAAA,GAAuBH,gBAAA,CAAiBI,KAAA,CAAM/C,QAAQ,CAAA;AAE5D8C,MAAAA,oBAAA,CAAqBE,OAAA,CAAQ,UAACzB,YAAA,EAAiB;AAC7CR,QAAAA,sBAAA,CAAuBQ,aAAaN,EAAE,CAAA;AACtCH,QAAAA,WAAA,CAAYK,OAAA,CAAA,QAAA,CAAQ,CAAOI,YAAA,CAAaN,EAAE,CAAA;AAC5C,MAAA,CAAC,CAAA;AAED,MAAA,OAAO0B,gBAAA,CAAiBI,KAAA,CAAM,CAAA,EAAG/C,QAAQ,CAAA;AAC3C,IAAA,CAAC,CAAA;IAEDsB,UAAA,CAAWgB,eAAe,CAAA;EAC5B,CAAA,EACA,CAACtC,QAAA,EAAUsB,UAAA,EAAYP,sBAAsB,CAC/C,CAAA;AAGA,EAAA,IAAMkC,eAAeC,KAAA,CAAMC,OAAA,CACzB,YAAA;IAAA,OAAO;AACLC,MAAAA,MAAA,EAAQjB,eAAA;AACRkB,MAAAA,OAAA,EAAS,SAATA,OAAAA,CAAUhB,OAAA,EAAA;AAAA,QAAA,OAAqBF,eAAA,CAAgB,WAAWE,OAAO,CAAA;AAAA,MAAA,CAAA;AACjEiB,MAAAA,KAAA,EAAO,SAAPA,KAAAA,CAAQjB,OAAA,EAAA;AAAA,QAAA,OAAqBF,eAAA,CAAgB,SAASE,OAAO,CAAA;AAAA,MAAA,CAAA;AAC7DkB,MAAAA,OAAA,EAAS,SAATA,OAAAA,CAAUlB,OAAA,EAAA;AAAA,QAAA,OAAqBF,eAAA,CAAgB,WAAWE,OAAO,CAAA;AAAA,MAAA,CAAA;AACjEmB,MAAAA,IAAA,EAAM,SAANA,IAAAA,CAAOnB,OAAA,EAAA;AAAA,QAAA,OAAqBF,eAAA,CAAgB,QAAQE,OAAO,CAAA;AAAA,MAAA,CAAA;AAC3DoB,MAAAA,kBAAA,EAAoB,SAApBA,kBAAAA,CAAqBxC,EAAA,EAAe;QAClCP,gBAAA,CAAiB,UAACiB;iBAASA,IAAA,CAAKK,MAAA,CAAO,UAACC,CAAA,EAAA;AAAA,YAAA,OAAMA,CAAA,CAAEhB,EAAA,KAAOA,EAAE;UAAA,CAAA,CAAC;QAAA,CAAA,CAAA;QAC1DF,sBAAA,CAAuBE,EAAE,CAAA;AACzBH,QAAAA,WAAA,CAAYK,OAAA,CAAA,QAAA,EAAeF,EAAE,CAAA;AAC/B,MAAA;KACF;AAAA,EAAA,CAAA,EACA,CAACkB,iBAAiBpB,sBAAsB,CAC1C,CAAA;AAGA,EAAA,IAAM2C,cAAA,GAAiB1C,YAAY,YAAM;AACvC,IAAA,IAAM0B,GAAA,GAAMD,KAAKC,GAAA,EAAI;AACrBjC,IAAAA,aAAA,CAAcuC,OAAA,CAAQ,UAACzB,YAAA,EAAiB;MACtCT,WAAA,CAAYK,OAAA,CAAQe,GAAA,CAAIX,YAAA,CAAaN,EAAA,EAAIyB,GAAG,CAAA;AAC5C3B,MAAAA,sBAAA,CAAuBQ,aAAaN,EAAE,CAAA;AACxC,IAAA,CAAC,CAAA;AACH,EAAA,CAAA,EAAG,CAACR,aAAA,EAAeM,sBAAsB,CAAC,CAAA;AAE1C,EAAA,IAAM4C,gBAAA,GAAmB3C,YAAY,YAAM;AACzCP,IAAAA,aAAA,CAAcuC,OAAA,CAAQ,UAACzB,YAAA,EAAiB;MACtC,IAAMqC,QAAA,GAAW9C,WAAA,CAAYK,OAAA,CAAQC,GAAA,CAAIG,aAAaN,EAAE,CAAA;AACxD,MAAA,IAAI2C,QAAA,EAAU;AACZ,QAAA,IAAMC,WAAA,GAAcD,WAAWrC,YAAA,CAAaiB,SAAA;QAC5C,IAAMhB,aAAA,GAAgBhC,IAAA,CAAKsE,GAAA,CAAI,CAAA,EAAG5D,kBAAkB2D,WAAW,CAAA;AAC/DvC,QAAAA,UAAA,CAAWC,cAAcC,aAAa,CAAA;AACtCV,QAAAA,WAAA,CAAYK,OAAA,CAAA,QAAA,CAAQ,CAAOI,YAAA,CAAaN,EAAE,CAAA;AAC5C,MAAA;AACF,IAAA,CAAC,CAAA;EACH,CAAA,EAAG,CAACR,aAAA,EAAeP,eAAA,EAAiBoB,UAAU,CAAC,CAAA;EAE/C,0CACGjC,mBAAA,CAAoB0E,QAAA,EAApB;AAA6BC,IAAAA,KAAA,EAAOf;KAClCpD,QAAA,eACAoE,YAAA,gBACCf,KAAA,CAAAgB,aAAA,CAACC,qBAAA,EAAA;AACC1D,IAAAA,aAAA,EAAAA,aAAA;AACA2D,IAAAA,QAAA,EAAU,SAAVA,QAAAA,CAAWnD,EAAA,EAAA;AAAA,MAAA,OAAOgC,YAAA,CAAaQ,mBAAmBxC,EAAE,CAAA;AAAA,IAAA,CAAA;AACpDoD,IAAAA,YAAA,EAAcX,cAAA;AACdY,IAAAA,UAAA,EAAYX,gBAAA;AACZ,IAAA,aAAA,EAAY,wBAAA;AACZ3D,IAAAA,QAAA,EAAAA,QAAA;AACAI,IAAAA,QAAA,EAAAA;AAAA,GACF,CAAA,EACAmE,QAAA,CAASC,IACX,CACF,CAAA;AAEJ;IAGaC,kBAAkB,SAAlBA,kBAAwB;AACnC,EAAA,IAAMC,OAAA,GAAUC,WAAWtF,mBAAmB,CAAA;EAC9C,IAAI,CAACqF,OAAA,EAAS;AACZ,IAAA,MAAM,IAAIE,MAAM,4DAA4D,CAAA;AAC9E,EAAA;AACA,EAAA,OAAOF,OAAA;AACT;;;;"}
|
|
1
|
+
{"version":3,"file":"NotifyContext.js","sources":["../../../components/notification/NotifyContext.tsx"],"sourcesContent":["import React, { createContext, useState, useRef, useCallback, useContext } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport NotifyContainer from \"./NotifyContainer\";\nimport { TdNotificationProps } from \"./type\";\n\n// 1. 定义类型\ntype NotificationType = \"success\" | \"error\" | \"warning\" | \"info\";\n\ninterface Notification {\n id: string;\n type: NotificationType;\n message: string;\n createdAt: number;\n isRemoved: boolean;\n title: string;\n}\n\n// 2. 定义 Context 类型\ninterface NotificationContextType {\n notify: (type: NotificationType, message: Message) => void;\n success: (message: Message) => void;\n error: (message: Message) => void;\n warning: (message: Message) => void;\n info: (message: Message) => void;\n removeNotification: (id: string) => void;\n}\n\n// 3. 创建 Context\nconst NotificationContext = createContext<NotificationContextType | null>(null);\n\n// 4. 生成唯一 ID 的辅助函数\nconst generateId = () => Math.random().toString(36).substr(2, 9);\n\n// 5. Provider 组件\ninterface NotificationProviderProps {\n children: React.ReactNode;\n maxStack?: number;\n displayDuration?: number;\n position?: string;\n}\n\ntype Message = {\n title: string;\n message: string;\n};\nexport const NotificationProvider: React.FC<NotificationProviderProps> = ({\n children,\n maxStack = 5,\n displayDuration = 3000,\n position = \"top-right\"\n}) => {\n const [notifications, setNotifications] = useState<Notification[]>([]);\n const timersRef = useRef<Map<string, NodeJS.Timeout>>(new Map());\n const pausedAtRef = useRef<Map<string, number>>(new Map());\n\n // 定时器相关函数\n const clearNotificationTimer = useCallback((id: string) => {\n const timer = timersRef.current.get(id);\n if (timer) {\n clearTimeout(timer);\n timersRef.current.delete(id);\n }\n }, []);\n\n const startTimer = useCallback(\n (notification: Notification, remainingTime?: number) => {\n const duration = remainingTime ?? displayDuration;\n const timer = setTimeout(() => {\n setNotifications((prev) => prev.map((n) => (n.id === notification.id ? { ...n, isRemoved: true } : n)));\n setTimeout(() => {\n setNotifications((prev) => prev.filter((t) => t.id !== notification.id));\n clearNotificationTimer(notification.id);\n pausedAtRef.current.delete(notification.id);\n }, 400);\n }, duration);\n timersRef.current.set(notification.id, timer);\n },\n [displayDuration, clearNotificationTimer]\n );\n\n // 6. 核心通知函数\n const addNotification = useCallback(\n (type: NotificationType, message: Message) => {\n const newNotification: Notification = {\n id: generateId(),\n type,\n title: message.title,\n message: message.message,\n createdAt: Date.now(),\n isRemoved: false\n };\n\n setNotifications((prev) => {\n const newNotifications = [newNotification, ...prev];\n const removedNotifications = newNotifications.slice(maxStack);\n\n removedNotifications.forEach((notification) => {\n clearNotificationTimer(notification.id);\n pausedAtRef.current.delete(notification.id);\n });\n\n return newNotifications.slice(0, maxStack);\n });\n\n startTimer(newNotification);\n },\n [maxStack, startTimer, clearNotificationTimer]\n );\n\n // 7. 提供的 Context 值\n const contextValue = React.useMemo(\n () => ({\n notify: addNotification,\n success: (message: Message) => addNotification(\"success\", message),\n error: (message: Message) => addNotification(\"error\", message),\n warning: (message: Message) => addNotification(\"warning\", message),\n info: (message: Message) => addNotification(\"info\", message),\n removeNotification: (id: string) => {\n setNotifications((prev) => prev.filter((t) => t.id !== id));\n clearNotificationTimer(id);\n pausedAtRef.current.delete(id);\n }\n }),\n [addNotification, clearNotificationTimer]\n );\n\n // 悬停处理\n const clearAllTimers = useCallback(() => {\n const now = Date.now();\n notifications.forEach((notification) => {\n pausedAtRef.current.set(notification.id, now);\n clearNotificationTimer(notification.id);\n });\n }, [notifications, clearNotificationTimer]);\n\n const restartAllTimers = useCallback(() => {\n notifications.forEach((notification) => {\n const pausedAt = pausedAtRef.current.get(notification.id);\n if (pausedAt) {\n const elapsedTime = pausedAt - notification.createdAt;\n const remainingTime = Math.max(0, displayDuration - elapsedTime);\n startTimer(notification, remainingTime);\n pausedAtRef.current.delete(notification.id);\n }\n });\n }, [notifications, displayDuration, startTimer]);\n\n return (\n <NotificationContext.Provider value={contextValue}>\n {children}\n {createPortal(\n <NotifyContainer\n notifications={notifications as unknown as TdNotificationProps[]}\n onRemove={(id) => contextValue.removeNotification(id)}\n onHoverStart={clearAllTimers}\n onHoverEnd={restartAllTimers}\n data-testid=\"notification-container\"\n maxStack={maxStack}\n position={position}\n />,\n document.body\n )}\n </NotificationContext.Provider>\n );\n};\n\n// 8. 创建自定义 Hook\nexport const useNotification = () => {\n const context = useContext(NotificationContext);\n if (!context) {\n throw new Error(\"useNotification must be used within a NotificationProvider\");\n }\n return context;\n};\n"],"names":["NotificationContext","createContext","generateId","Math","random","toString","substr","NotificationProvider","children","_ref","_ref$maxStack","maxStack","_ref$displayDuration","displayDuration","_ref$position","position","_useState","useState","_useState2","_slicedToArray","notifications","setNotifications","timersRef","useRef","Map","pausedAtRef","clearNotificationTimer","useCallback","id","timer","current","get","clearTimeout","startTimer","notification","remainingTime","duration","setTimeout","prev","map","n","_objectSpread","isRemoved","filter","t","set","addNotification","type","message","newNotification","title","createdAt","Date","now","newNotifications","concat","_toConsumableArray","removedNotifications","slice","forEach","contextValue","React","useMemo","notify","success","error","warning","info","removeNotification","clearAllTimers","restartAllTimers","pausedAt","elapsedTime","max","Provider","value","createPortal","createElement","NotifyContainer","onRemove","onHoverStart","onHoverEnd","document","body","useNotification","context","useContext","Error"],"mappings":"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"}
|
|
@@ -3,9 +3,10 @@ import { _ as _toConsumableArray } from '../_chunks/dep-CgyDw_YI.js';
|
|
|
3
3
|
import { _ as _slicedToArray } from '../_chunks/dep-CzLhKWCf.js';
|
|
4
4
|
import React, { useState, useRef, useLayoutEffect } from 'react';
|
|
5
5
|
import { IconCheckCircleStroked, IconClose, IconInfoCircle, IconAlertTriangle } from '@tendaui/icons';
|
|
6
|
-
import { u as useConfig } from '../_chunks/dep-
|
|
6
|
+
import { u as useConfig } from '../_chunks/dep-gy8uvBaS.js';
|
|
7
7
|
import '../_chunks/dep-D-UKOauR.js';
|
|
8
|
-
import '../
|
|
8
|
+
import '../_chunks/dep-5U9UjDaf.js';
|
|
9
|
+
import 'dayjs';
|
|
9
10
|
|
|
10
11
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
12
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotifyItem.js","sources":["../../../components/notification/NotifyItem.tsx"],"sourcesContent":["import React, { useLayoutEffect, useRef, useState } from \"react\";\nimport { TdNotificationProps, HeightItem } from \"./type\";\nimport { IconClose, IconInfoCircle, IconCheckCircleStroked, IconAlertTriangle } from \"@tendaui/icons\";\nimport useConfig from \"../hooks/useConfig\";\n\nconst NotificationItem: React.FC<TdNotificationProps> = ({\n message,\n type,\n heights,\n setHeights,\n id,\n gap,\n isExpanded,\n isRemoved,\n title\n}) => {\n const [initialHeight, setInitialHeight] = useState(0);\n const [isMounted, setIsMounted] = useState(false);\n const nofityItem = useRef<HTMLDivElement>(null);\n const { classPrefix: prefix } = useConfig();\n React.useEffect(() => {\n setIsMounted(true);\n }, []);\n\n React.useEffect(() => {\n const notifyNode = nofityItem.current;\n if (notifyNode) {\n const height = notifyNode.getBoundingClientRect().height;\n setInitialHeight(height);\n setHeights((h: HeightItem[]) => {\n // 如果不存在,则添加\n return [{ toastId: id, height, message, type }, ...h];\n });\n return () => {\n setHeights((h: HeightItem[]) => h.filter((h) => h.toastId !== id));\n };\n }\n }, [setHeights, id, message, type]);\n\n useLayoutEffect(() => {\n if (!isMounted) return;\n const notifyNode = nofityItem.current;\n if (notifyNode) {\n const originalHeight = notifyNode.style.height;\n notifyNode.style.height = \"auto\";\n const newHeight = notifyNode.getBoundingClientRect().height;\n notifyNode.style.height = originalHeight;\n setInitialHeight(newHeight);\n setHeights((heights) => {\n const isExist = heights.some((h) => h.toastId === id);\n if (isExist) {\n // 如果存在,则更新高度\n return heights.map((h) => (h.toastId === id ? { ...h, height: newHeight, message, type } : h));\n }\n // 如果不存在,则添加\n return [{ toastId: id, height: newHeight, message, type }, ...heights];\n });\n }\n }, [isMounted, initialHeight, setHeights, id, message, type]);\n const heightIndex = React.useMemo(() => {\n return heights.findIndex((h) => h.toastId === id);\n }, [heights, id]);\n const toastHeightBefore = React.useMemo(() => {\n return heights.reduce((acc, h, reduceIndex) => {\n if (reduceIndex < heightIndex) {\n return acc + h.height;\n }\n return acc;\n }, 0);\n }, [heightIndex, heights]);\n\n const offset = React.useMemo(() => heightIndex * gap + toastHeightBefore, [toastHeightBefore, heightIndex, gap]);\n\n return (\n <div\n className={`${prefix}-notify__item`}\n ref={nofityItem}\n style={\n {\n position: \"absolute\",\n height: isExpanded ? `auto` : `var(--front-toast-height)`,\n width: `var(--toast-width)`,\n \"--offset\": offset + \"px\",\n \"--index\": heightIndex,\n \"--gap\": gap + \"px\",\n \"--z-index\": heights.length - heightIndex\n } as React.CSSProperties\n }\n data-toast\n data-mounted={isMounted}\n data-expanded={isExpanded}\n data-removed={isRemoved}\n data-front={heightIndex === 0}\n >\n <div className={`${prefix}-notify__content`}>\n <div className={`${prefix}-notify__header`}>\n <div className={`${prefix}-notify__icon`}>\n {type === \"success\" && <IconCheckCircleStroked className=\"t-icon t-is-success\" />}\n {type === \"error\" && <IconClose className=\"t-icon t-is-error\" />}\n {type === \"info\" && <IconInfoCircle className=\"t-icon t-is-info\" />}\n {type === \"warning\" && <IconAlertTriangle className=\"t-icon t-is-warning\" />}\n {type === \"default\" && <IconInfoCircle className=\"t-icon t-is-info\" />}\n </div>\n\n <div className={`${prefix}-notify__title`}>{title}</div>\n </div>\n </div>\n <p\n className={`${prefix}-notify__detail`}\n style={{\n opacity: heightIndex === 0 || isExpanded ? 1 : 0,\n transition: `opacity 400ms`\n }}\n >\n {message}\n </p>\n </div>\n );\n};\n\nexport default NotificationItem;\n"],"names":["NotificationItem","message","_ref","type","heights","setHeights","id","gap","isExpanded","isRemoved","title","_useState","useState","_useState2","_slicedToArray","initialHeight","setInitialHeight","_useState3","_useState4","isMounted","setIsMounted","nofityItem","useRef","_useConfig","useConfig","prefix","classPrefix","React","useEffect","notifyNode","current","height","getBoundingClientRect","h","toastId","concat","_toConsumableArray","filter","useLayoutEffect","originalHeight","style","newHeight","isExist","some","map","_objectSpread","heightIndex","useMemo","findIndex","toastHeightBefore","reduce","acc","reduceIndex","offset","createElement","className","ref","position","width","length","IconCheckCircleStroked","IconClose","IconInfoCircle","IconAlertTriangle","opacity","transition"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NotifyItem.js","sources":["../../../components/notification/NotifyItem.tsx"],"sourcesContent":["import React, { useLayoutEffect, useRef, useState } from \"react\";\nimport { TdNotificationProps, HeightItem } from \"./type\";\nimport { IconClose, IconInfoCircle, IconCheckCircleStroked, IconAlertTriangle } from \"@tendaui/icons\";\nimport useConfig from \"../hooks/useConfig\";\n\nconst NotificationItem: React.FC<TdNotificationProps> = ({\n message,\n type,\n heights,\n setHeights,\n id,\n gap,\n isExpanded,\n isRemoved,\n title\n}) => {\n const [initialHeight, setInitialHeight] = useState(0);\n const [isMounted, setIsMounted] = useState(false);\n const nofityItem = useRef<HTMLDivElement>(null);\n const { classPrefix: prefix } = useConfig();\n React.useEffect(() => {\n setIsMounted(true);\n }, []);\n\n React.useEffect(() => {\n const notifyNode = nofityItem.current;\n if (notifyNode) {\n const height = notifyNode.getBoundingClientRect().height;\n setInitialHeight(height);\n setHeights((h: HeightItem[]) => {\n // 如果不存在,则添加\n return [{ toastId: id, height, message, type }, ...h];\n });\n return () => {\n setHeights((h: HeightItem[]) => h.filter((h) => h.toastId !== id));\n };\n }\n }, [setHeights, id, message, type]);\n\n useLayoutEffect(() => {\n if (!isMounted) return;\n const notifyNode = nofityItem.current;\n if (notifyNode) {\n const originalHeight = notifyNode.style.height;\n notifyNode.style.height = \"auto\";\n const newHeight = notifyNode.getBoundingClientRect().height;\n notifyNode.style.height = originalHeight;\n setInitialHeight(newHeight);\n setHeights((heights) => {\n const isExist = heights.some((h) => h.toastId === id);\n if (isExist) {\n // 如果存在,则更新高度\n return heights.map((h) => (h.toastId === id ? { ...h, height: newHeight, message, type } : h));\n }\n // 如果不存在,则添加\n return [{ toastId: id, height: newHeight, message, type }, ...heights];\n });\n }\n }, [isMounted, initialHeight, setHeights, id, message, type]);\n const heightIndex = React.useMemo(() => {\n return heights.findIndex((h) => h.toastId === id);\n }, [heights, id]);\n const toastHeightBefore = React.useMemo(() => {\n return heights.reduce((acc, h, reduceIndex) => {\n if (reduceIndex < heightIndex) {\n return acc + h.height;\n }\n return acc;\n }, 0);\n }, [heightIndex, heights]);\n\n const offset = React.useMemo(() => heightIndex * gap + toastHeightBefore, [toastHeightBefore, heightIndex, gap]);\n\n return (\n <div\n className={`${prefix}-notify__item`}\n ref={nofityItem}\n style={\n {\n position: \"absolute\",\n height: isExpanded ? `auto` : `var(--front-toast-height)`,\n width: `var(--toast-width)`,\n \"--offset\": offset + \"px\",\n \"--index\": heightIndex,\n \"--gap\": gap + \"px\",\n \"--z-index\": heights.length - heightIndex\n } as React.CSSProperties\n }\n data-toast\n data-mounted={isMounted}\n data-expanded={isExpanded}\n data-removed={isRemoved}\n data-front={heightIndex === 0}\n >\n <div className={`${prefix}-notify__content`}>\n <div className={`${prefix}-notify__header`}>\n <div className={`${prefix}-notify__icon`}>\n {type === \"success\" && <IconCheckCircleStroked className=\"t-icon t-is-success\" />}\n {type === \"error\" && <IconClose className=\"t-icon t-is-error\" />}\n {type === \"info\" && <IconInfoCircle className=\"t-icon t-is-info\" />}\n {type === \"warning\" && <IconAlertTriangle className=\"t-icon t-is-warning\" />}\n {type === \"default\" && <IconInfoCircle className=\"t-icon t-is-info\" />}\n </div>\n\n <div className={`${prefix}-notify__title`}>{title}</div>\n </div>\n </div>\n <p\n className={`${prefix}-notify__detail`}\n style={{\n opacity: heightIndex === 0 || isExpanded ? 1 : 0,\n transition: `opacity 400ms`\n }}\n >\n {message}\n </p>\n </div>\n );\n};\n\nexport default NotificationItem;\n"],"names":["NotificationItem","message","_ref","type","heights","setHeights","id","gap","isExpanded","isRemoved","title","_useState","useState","_useState2","_slicedToArray","initialHeight","setInitialHeight","_useState3","_useState4","isMounted","setIsMounted","nofityItem","useRef","_useConfig","useConfig","prefix","classPrefix","React","useEffect","notifyNode","current","height","getBoundingClientRect","h","toastId","concat","_toConsumableArray","filter","useLayoutEffect","originalHeight","style","newHeight","isExist","some","map","_objectSpread","heightIndex","useMemo","findIndex","toastHeightBefore","reduce","acc","reduceIndex","offset","createElement","className","ref","position","width","length","IconCheckCircleStroked","IconClose","IconInfoCircle","IconAlertTriangle","opacity","transition"],"mappings":"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"}
|
package/es/notification/index.js
CHANGED
|
@@ -9,8 +9,9 @@ import 'react-dom';
|
|
|
9
9
|
import './NotifyContainer.js';
|
|
10
10
|
import './NotifyItem.js';
|
|
11
11
|
import '@tendaui/icons';
|
|
12
|
-
import '../_chunks/dep-
|
|
13
|
-
import '../
|
|
12
|
+
import '../_chunks/dep-gy8uvBaS.js';
|
|
13
|
+
import '../_chunks/dep-5U9UjDaf.js';
|
|
14
|
+
import 'dayjs';
|
|
14
15
|
|
|
15
16
|
var addNotification = function addNotification() {};
|
|
16
17
|
function notification(message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../components/notification/Notify.ts"],"sourcesContent":["// notification.ts\ntype NotificationType = \"default\" | \"success\" | \"error\" | \"info\" | \"warning\";\ntype NotificationMessage = {\n id: string;\n type: NotificationType;\n message: string;\n title: string;\n};\n\nlet addNotification: (notification: NotificationMessage) => void = () => {};\n\nexport function notification(message: string, type: NotificationType = \"default\", title: string) {\n const id = new Date().getTime().toString();\n addNotification({\n id,\n message,\n type,\n title\n });\n}\n\nexport function registerNotificationHandler(cb: typeof addNotification) {\n addNotification = cb;\n}\n"],"names":["addNotification","notification","message","type","arguments","length","undefined","title","id","Date","getTime","toString","registerNotificationHandler","cb"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../components/notification/Notify.ts"],"sourcesContent":["// notification.ts\ntype NotificationType = \"default\" | \"success\" | \"error\" | \"info\" | \"warning\";\ntype NotificationMessage = {\n id: string;\n type: NotificationType;\n message: string;\n title: string;\n};\n\nlet addNotification: (notification: NotificationMessage) => void = () => {};\n\nexport function notification(message: string, type: NotificationType = \"default\", title: string) {\n const id = new Date().getTime().toString();\n addNotification({\n id,\n message,\n type,\n title\n });\n}\n\nexport function registerNotificationHandler(cb: typeof addNotification) {\n addNotification = cb;\n}\n"],"names":["addNotification","notification","message","type","arguments","length","undefined","title","id","Date","getTime","toString","registerNotificationHandler","cb"],"mappings":";;;;;;;;;;;;;;;AASA,IAAIA,kBAA+D,SAA/DA,kBAAqE,CAAC,CAAA;AAEnE,SAASC,YAAAA,CAAaC,OAAA,EAAoE;AAAA,EAAA,IAAnDC,IAAA,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAyB,SAAA;EAAA,IAAWG,KAAA,GAAAH,SAAA,CAAAC,MAAA,GAAA,CAAA,GAAAD,SAAA,MAAAE,SAAA;AAChF,EAAA,IAAME,qBAAK,IAAIC,IAAA,EAAK,EAAEC,OAAA,GAAUC,QAAA,EAAS;AACzCX,EAAAA,eAAA,CAAgB;AACdQ,IAAAA,EAAA,EAAAA,EAAA;AACAN,IAAAA,OAAA,EAAAA,OAAA;AACAC,IAAAA,IAAA,EAAAA,IAAA;AACAI,IAAAA,KAAA,EAAAA;AACF,GAAC,CAAA;AACH;AAEO,SAASK,4BAA4BC,EAAA,EAA4B;AACtEb,EAAAA,eAAA,GAAkBa,EAAA;AACpB;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface TdNotificationProps {
|
|
2
|
+
id: string;
|
|
3
|
+
type: string;
|
|
4
|
+
message: string;
|
|
5
|
+
title: string;
|
|
6
|
+
onRemove?: (id: string) => void;
|
|
7
|
+
onHoverStart?: () => void;
|
|
8
|
+
onHoverEnd?: () => void;
|
|
9
|
+
maxStack?: number;
|
|
10
|
+
position?: string;
|
|
11
|
+
heights?: HeightItem[];
|
|
12
|
+
setHeights?: React.Dispatch<React.SetStateAction<HeightItem[]>>;
|
|
13
|
+
gap?: number;
|
|
14
|
+
isExpanded?: boolean;
|
|
15
|
+
isRemoved?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface HeightItem {
|
|
18
|
+
toastId: string;
|
|
19
|
+
height: number;
|
|
20
|
+
message: string;
|
|
21
|
+
type: string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { TdPopupProps } from "./type";
|
|
3
|
+
import usePopper from "../hooks/usePopper";
|
|
4
|
+
export interface PopupProps extends TdPopupProps {
|
|
5
|
+
expandAnimation?: boolean;
|
|
6
|
+
updateScrollTop?: (content: HTMLDivElement) => void;
|
|
7
|
+
}
|
|
8
|
+
export interface PopupRef {
|
|
9
|
+
/** 获取 popper 实例 */
|
|
10
|
+
getPopper: () => ReturnType<typeof usePopper>;
|
|
11
|
+
/** 获取 Popup dom 元素 */
|
|
12
|
+
getPopupElement: () => HTMLDivElement;
|
|
13
|
+
/** 获取 portal dom 元素 */
|
|
14
|
+
getPortalElement: () => HTMLDivElement;
|
|
15
|
+
/** 获取内容区域 dom 元素 */
|
|
16
|
+
getPopupContentElement: () => HTMLDivElement;
|
|
17
|
+
/** 设置 popup 显示隐藏 */
|
|
18
|
+
setVisible: (visible: boolean) => void;
|
|
19
|
+
}
|
|
20
|
+
declare const Popup: React.ForwardRefExoticComponent<PopupProps & React.RefAttributes<PopupRef>>;
|
|
21
|
+
export default Popup;
|
package/es/popup/Popup.js
CHANGED
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
import { _ as _defineProperty } from '../_chunks/dep-Cwish4GD.js';
|
|
2
2
|
import { _ as _objectWithoutProperties } from '../_chunks/dep-DN7d1SzH.js';
|
|
3
3
|
import { _ as _slicedToArray } from '../_chunks/dep-CzLhKWCf.js';
|
|
4
|
-
import {
|
|
5
|
-
import React, {
|
|
4
|
+
import { debounce, isFunction } from 'lodash-es';
|
|
5
|
+
import React, { useState, useEffect, isValidElement, useRef, useMemo, useCallback, forwardRef, useImperativeHandle } from 'react';
|
|
6
6
|
import { _ as _typeof } from '../_chunks/dep-D-UKOauR.js';
|
|
7
7
|
import Portal from '../portal/Portal.js';
|
|
8
8
|
import { u as useControlled } from '../_chunks/dep-DwWrhxkd.js';
|
|
9
9
|
import { u as useDefaultProps } from '../_chunks/dep-DGvfel3I.js';
|
|
10
|
-
import {
|
|
10
|
+
import { u as useMutationObservable } from '../_chunks/dep-CkmtEv0Y.js';
|
|
11
|
+
import { g as getWindowSize } from '../_chunks/dep-DRwijJcv.js';
|
|
11
12
|
import { isMemo, ForwardRef, isFragment as isFragment$1 } from 'react-is';
|
|
12
13
|
import { c as composeRefs } from '../_chunks/dep-C1XcmShP.js';
|
|
14
|
+
import { o as on, a as off } from '../_chunks/dep-Ccktr_jk.js';
|
|
13
15
|
import classNames from 'classnames';
|
|
14
16
|
import { _ as _toConsumableArray } from '../_chunks/dep-CgyDw_YI.js';
|
|
15
17
|
import { flushSync } from 'react-dom';
|
|
16
18
|
import { createPopper } from '@popperjs/core';
|
|
17
|
-
import isEqual
|
|
19
|
+
import isEqual from 'react-fast-compare';
|
|
20
|
+
import { u as useIsomorphicLayoutEffect } from '../_chunks/dep-BRbJGDI9.js';
|
|
18
21
|
import { CSSTransition } from 'react-transition-group';
|
|
19
|
-
import { g as getCssVarsValue } from '../_chunks/dep-
|
|
20
|
-
import { u as useConfig } from '../_chunks/dep-
|
|
21
|
-
import '../
|
|
22
|
+
import { g as getCssVarsValue } from '../_chunks/dep-DbVHGoUC.js';
|
|
23
|
+
import { u as useConfig } from '../_chunks/dep-gy8uvBaS.js';
|
|
24
|
+
import '../_chunks/dep-5U9UjDaf.js';
|
|
25
|
+
import 'dayjs';
|
|
22
26
|
|
|
23
27
|
function getRefDom$1(domRef) {
|
|
24
28
|
if (domRef.current && _typeof(domRef.current) === "object" && "currentElement" in domRef.current) {
|
|
@@ -27,58 +31,6 @@ function getRefDom$1(domRef) {
|
|
|
27
31
|
return domRef.current;
|
|
28
32
|
}
|
|
29
33
|
|
|
30
|
-
var useLatest = function useLatest(value) {
|
|
31
|
-
var ref = useRef(value);
|
|
32
|
-
useEffect(function () {
|
|
33
|
-
ref.current = value;
|
|
34
|
-
});
|
|
35
|
-
return ref;
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
var DEFAULT_OPTIONS = {
|
|
39
|
-
debounceTime: 0,
|
|
40
|
-
config: {
|
|
41
|
-
attributes: true,
|
|
42
|
-
childList: true,
|
|
43
|
-
characterData: true,
|
|
44
|
-
subtree: true
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
function useMutationObservable(targetEl, cb) {
|
|
48
|
-
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_OPTIONS;
|
|
49
|
-
var optionsRef = useRef(null);
|
|
50
|
-
var signalRef = useRef(0);
|
|
51
|
-
var callbackRef = useLatest(cb);
|
|
52
|
-
if (!isEqual(options, optionsRef.current)) {
|
|
53
|
-
signalRef.current += 1;
|
|
54
|
-
}
|
|
55
|
-
optionsRef.current = options;
|
|
56
|
-
useEffect(function () {
|
|
57
|
-
if (!targetEl || !(targetEl !== null && targetEl !== void 0 && targetEl.nodeType)) return;
|
|
58
|
-
var observer = null;
|
|
59
|
-
try {
|
|
60
|
-
if (optionsRef.current !== null) {
|
|
61
|
-
var _optionsRef$current = optionsRef.current,
|
|
62
|
-
debounceTime = _optionsRef$current.debounceTime,
|
|
63
|
-
config = _optionsRef$current.config;
|
|
64
|
-
var mutationCallback = function mutationCallback() {
|
|
65
|
-
callbackRef.current.apply(callbackRef, arguments);
|
|
66
|
-
};
|
|
67
|
-
observer = new MutationObserver(debounceTime > 0 ? debounce(mutationCallback, debounceTime) : mutationCallback);
|
|
68
|
-
observer.observe(targetEl, config);
|
|
69
|
-
}
|
|
70
|
-
} catch (e) {
|
|
71
|
-
console.error(e);
|
|
72
|
-
}
|
|
73
|
-
return function () {
|
|
74
|
-
if (observer) {
|
|
75
|
-
observer.disconnect();
|
|
76
|
-
observer = null;
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
}, [targetEl, signalRef.current]);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
34
|
function useWindowSize() {
|
|
83
35
|
var _useState = useState(getWindowSize),
|
|
84
36
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -102,13 +54,13 @@ var REACT_ELEMENT_TYPE_18 = Symbol["for"]("react.element");
|
|
|
102
54
|
var REACT_ELEMENT_TYPE_19 = Symbol["for"]("react.transitional.element");
|
|
103
55
|
var REACT_FRAGMENT_TYPE = Symbol["for"]("react.fragment");
|
|
104
56
|
function isFragment(object) {
|
|
57
|
+
if (!object || _typeof(object) !== "object") return false;
|
|
58
|
+
var obj = object;
|
|
105
59
|
return (
|
|
106
|
-
// Base object type
|
|
107
|
-
object && _typeof(object) === "object" && (
|
|
108
60
|
// React Element type
|
|
109
|
-
|
|
61
|
+
(obj.$$typeof === REACT_ELEMENT_TYPE_18 || obj.$$typeof === REACT_ELEMENT_TYPE_19) &&
|
|
110
62
|
// React Fragment type
|
|
111
|
-
|
|
63
|
+
obj.type === REACT_FRAGMENT_TYPE
|
|
112
64
|
);
|
|
113
65
|
}
|
|
114
66
|
|
|
@@ -149,35 +101,6 @@ var getNodeRef = function getNodeRef(node) {
|
|
|
149
101
|
return null;
|
|
150
102
|
};
|
|
151
103
|
|
|
152
|
-
var on = function () {
|
|
153
|
-
if (canUseDocument && document.addEventListener) {
|
|
154
|
-
return function (element, event, handler) {
|
|
155
|
-
if (element && event && handler) {
|
|
156
|
-
element.addEventListener(event, handler, false);
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
return function (element, event, handler) {
|
|
161
|
-
if (element && event && handler) {
|
|
162
|
-
element.attachEvent("on".concat(event), handler);
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
}();
|
|
166
|
-
var off = function () {
|
|
167
|
-
if (canUseDocument && document.removeEventListener) {
|
|
168
|
-
return function (element, event, handler) {
|
|
169
|
-
if (element && event) {
|
|
170
|
-
element.removeEventListener(event, handler, false);
|
|
171
|
-
}
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
return function (element, event, handler) {
|
|
175
|
-
if (element && event) {
|
|
176
|
-
element.detachEvent("on".concat(event), handler);
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
}();
|
|
180
|
-
|
|
181
104
|
var ESC_KEY = "Escape";
|
|
182
105
|
function useTrigger(_ref) {
|
|
183
106
|
var content = _ref.content,
|
|
@@ -517,7 +440,7 @@ var usePopper = function usePopper(referenceElement, popperElement) {
|
|
|
517
440
|
}])
|
|
518
441
|
};
|
|
519
442
|
setTimeout(function () {
|
|
520
|
-
if (!isEqual
|
|
443
|
+
if (!isEqual(prevOptions.current, newOptions)) {
|
|
521
444
|
prevOptions.current = newOptions;
|
|
522
445
|
}
|
|
523
446
|
}, 0);
|
|
@@ -600,10 +523,21 @@ var Popup = /*#__PURE__*/forwardRef(function (originalProps, ref) {
|
|
|
600
523
|
var _useWindowSize = useWindowSize(),
|
|
601
524
|
windowHeight = _useWindowSize.height,
|
|
602
525
|
windowWidth = _useWindowSize.width;
|
|
603
|
-
var
|
|
526
|
+
var handleVisibleChange = function handleVisibleChange(visible2, context) {
|
|
527
|
+
var _props$onVisibleChang;
|
|
528
|
+
(_props$onVisibleChang = props.onVisibleChange) === null || _props$onVisibleChang === void 0 || _props$onVisibleChang.call(props, visible2, context);
|
|
529
|
+
};
|
|
530
|
+
var _useControlled = useControlled(props, "visible", handleVisibleChange),
|
|
604
531
|
_useControlled2 = _slicedToArray(_useControlled, 2),
|
|
605
532
|
visible = _useControlled2[0],
|
|
606
|
-
|
|
533
|
+
onVisibleChangeInternal = _useControlled2[1];
|
|
534
|
+
var onVisibleChangeForTrigger = function onVisibleChangeForTrigger(visible2, context) {
|
|
535
|
+
var popupContext = {
|
|
536
|
+
e: context.e,
|
|
537
|
+
trigger: context.trigger
|
|
538
|
+
};
|
|
539
|
+
onVisibleChangeInternal(visible2, popupContext);
|
|
540
|
+
};
|
|
607
541
|
var _useState = useState(null),
|
|
608
542
|
_useState2 = _slicedToArray(_useState, 2),
|
|
609
543
|
popupElement = _useState2[0],
|
|
@@ -635,7 +569,7 @@ var Popup = /*#__PURE__*/forwardRef(function (originalProps, ref) {
|
|
|
635
569
|
trigger: trigger,
|
|
636
570
|
visible: visible,
|
|
637
571
|
delay: delay,
|
|
638
|
-
onVisibleChange:
|
|
572
|
+
onVisibleChange: onVisibleChangeForTrigger
|
|
639
573
|
}),
|
|
640
574
|
getTriggerNode = _useTrigger.getTriggerNode,
|
|
641
575
|
getPopupProps = _useTrigger.getPopupProps,
|
|
@@ -659,7 +593,8 @@ var Popup = /*#__PURE__*/forwardRef(function (originalProps, ref) {
|
|
|
659
593
|
})) : getTriggerNode(children);
|
|
660
594
|
var updateTimeRef = useRef(null);
|
|
661
595
|
useMutationObservable(getRefDom$1(triggerRef), function () {
|
|
662
|
-
var
|
|
596
|
+
var triggerDom = getRefDom$1(triggerRef);
|
|
597
|
+
var isDisplayNone = triggerDom ? getCssVarsValue("display", triggerDom) === "none" : true;
|
|
663
598
|
if (visible && !isDisplayNone) {
|
|
664
599
|
clearTimeout(updateTimeRef.current);
|
|
665
600
|
updateTimeRef.current = setTimeout(function () {
|
|
@@ -715,8 +650,9 @@ var Popup = /*#__PURE__*/forwardRef(function (originalProps, ref) {
|
|
|
715
650
|
}
|
|
716
651
|
}
|
|
717
652
|
function getOverlayStyle(overlayStyle2) {
|
|
718
|
-
|
|
719
|
-
|
|
653
|
+
var triggerDom = getRefDom$1(triggerRef);
|
|
654
|
+
if (triggerDom && popupRef.current && typeof overlayStyle2 === "function") {
|
|
655
|
+
return _objectSpread({}, overlayStyle2(triggerDom, popupRef.current));
|
|
720
656
|
}
|
|
721
657
|
return _objectSpread({}, overlayStyle2);
|
|
722
658
|
}
|
|
@@ -776,7 +712,7 @@ var Popup = /*#__PURE__*/forwardRef(function (originalProps, ref) {
|
|
|
776
712
|
return contentRef.current;
|
|
777
713
|
},
|
|
778
714
|
setVisible: function setVisible(visible2) {
|
|
779
|
-
return
|
|
715
|
+
return onVisibleChangeInternal(visible2, {
|
|
780
716
|
trigger: "document"
|
|
781
717
|
});
|
|
782
718
|
}
|