@tendaui/react 1.1.1 → 1.1.2
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 +60 -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
package/es/popup/Popup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popup.js","sources":["../../../components/utils/ref.ts","../../../components/hooks/useLastest.ts","../../../components/hooks/useMutationObserver.ts","../../../components/hooks/useWindowSize.ts","../../../components/utils/isFragment.ts","../../../components/utils/refs.ts","../../../components/utils/listener.ts","../../../components/popup/hooks/useTrigger.ts","../../../components/hooks/usePopper.ts","../../../components/popup/defaultProps.ts","../../../components/popup/Popup.tsx"],"sourcesContent":["export function getRefDom<T = HTMLElement>(domRef: React.RefObject<T>) {\n if (domRef.current && typeof domRef.current === \"object\" && \"currentElement\" in domRef.current) {\n return domRef.current.currentElement;\n }\n return domRef.current;\n}\n","import { useRef, useEffect } from \"react\";\n\nconst useLatest = <T>(value: T) => {\n const ref = useRef(value);\n\n useEffect(() => {\n ref.current = value;\n });\n\n return ref;\n};\n\nexport default useLatest;\n","import { useRef, useEffect } from \"react\";\nimport { debounce, isEqual } from \"lodash-es\";\nimport useLatest from \"./useLastest\";\n\nconst DEFAULT_OPTIONS = {\n debounceTime: 0,\n config: {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n } as MutationObserverInit\n};\n\ntype Options = typeof DEFAULT_OPTIONS;\n\nexport default function useMutationObservable(\n targetEl: HTMLElement | null,\n cb: MutationCallback,\n options = DEFAULT_OPTIONS\n) {\n const optionsRef = useRef<Options>(null);\n const signalRef = useRef(0);\n const callbackRef = useLatest(cb);\n\n if (!isEqual(options, optionsRef.current)) {\n signalRef.current += 1;\n }\n\n optionsRef.current = options;\n\n useEffect(() => {\n if (!targetEl || !targetEl?.nodeType) return;\n let observer: MutationObserver | null = null;\n try {\n if (optionsRef.current !== null) {\n const { debounceTime, config } = optionsRef.current;\n const mutationCallback: MutationCallback = (...args) => {\n callbackRef.current(...args);\n };\n observer = new MutationObserver(debounceTime > 0 ? debounce(mutationCallback, debounceTime) : mutationCallback);\n observer.observe(targetEl, config);\n }\n } catch (e) {\n console.error(e);\n }\n\n return () => {\n if (observer) {\n observer.disconnect();\n observer = null;\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [targetEl, signalRef.current]);\n}\n","import { useEffect, useState } from \"react\";\nimport { debounce } from \"lodash-es\";\nimport { getWindowSize } from \"../utils/dom\";\n\nexport interface WindowSize {\n width: number;\n height: number;\n}\n\nfunction useWindowSize(): WindowSize {\n const [size, setSize] = useState(getWindowSize);\n\n useEffect(() => {\n function handleResize() {\n setSize(getWindowSize());\n }\n\n const debounceResize = debounce(handleResize, 400);\n\n window.addEventListener(\"resize\", debounceResize);\n\n return () => {\n window.removeEventListener(\"resize\", debounceResize);\n debounceResize.cancel();\n };\n }, []);\n\n return size;\n}\n\nexport default useWindowSize;\n","// Source from:\n// https://github.com/react-component/util/blob/master/src/React/isFragment.ts\n\nconst REACT_ELEMENT_TYPE_18 = Symbol.for(\"react.element\");\nconst REACT_ELEMENT_TYPE_19 = Symbol.for(\"react.transitional.element\");\nconst REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\n\n/**\n * Compatible with React 18 or 19 to check if node is a Fragment.\n */\nexport default function isFragment(object: React.ReactElement | null | undefined): boolean {\n return (\n // Base object type\n object &&\n typeof object === \"object\" &&\n // React Element type\n ((object as { $$typeof: symbol }).$$typeof === REACT_ELEMENT_TYPE_18 ||\n (object as { $$typeof: symbol }).$$typeof === REACT_ELEMENT_TYPE_19) &&\n // React Fragment type\n (object as { type: symbol }).type === REACT_FRAGMENT_TYPE\n );\n}\n","// Source from:\n// https://github.com/react-component/util/blob/master/src/ref.ts\n\nimport { isValidElement } from \"react\";\nimport { ForwardRef, isMemo } from \"react-is\";\nimport isFragment from \"./isFragment\";\n\n// 判断是否支持 ref 透传\nexport const supportRef = (nodeOrComponent: unknown): boolean => {\n if (!nodeOrComponent) {\n return false;\n }\n\n // React 19 no need `forwardRef` anymore. So just pass if is a React element.\n\n if (\n isReactElement(nodeOrComponent as React.ReactNode) &&\n Object.prototype.propertyIsEnumerable.call((nodeOrComponent as React.ReactElement).props, \"ref\")\n ) {\n return true;\n }\n\n const type = isMemo(nodeOrComponent)\n ? (nodeOrComponent as { type: { type: unknown } }).type.type\n : (nodeOrComponent as { type: unknown }).type;\n\n // Function component node\n if (\n typeof type === \"function\" &&\n !(type as { prototype?: { render?: unknown } }).prototype?.render &&\n (type as { $$typeof?: symbol }).$$typeof !== ForwardRef\n ) {\n return false;\n }\n\n // Class component\n if (\n typeof nodeOrComponent === \"function\" &&\n !(nodeOrComponent as { prototype?: { render?: unknown } }).prototype?.render &&\n (nodeOrComponent as { $$typeof?: symbol }).$$typeof !== ForwardRef\n ) {\n return false;\n }\n return true;\n};\n\n// 获取 ref 中的 dom 元素\nexport function getRefDom<T = HTMLElement>(domRef: React.RefObject<T>) {\n if (domRef.current && typeof domRef.current === \"object\" && \"currentElement\" in domRef.current) {\n return (domRef.current as { currentElement: HTMLElement }).currentElement;\n }\n return domRef.current;\n}\n\ninterface RefAttributes<T> extends React.Attributes {\n ref: React.Ref<T>;\n}\n\nfunction isReactElement(node: React.ReactNode) {\n return isValidElement(node) && !isFragment(node);\n}\n\nexport const supportNodeRef = <T = HTMLElement>(node: React.ReactNode): node is React.ReactElement & RefAttributes<T> =>\n isReactElement(node) && supportRef(node);\n\n/**\n * In React 19. `ref` is not a property from node.\n * But a property from `props.ref`.\n * To check if `props.ref` exist or fallback to `ref`.\n */\nexport const getNodeRef = <T = HTMLElement>(node: React.ReactNode): React.Ref<T> | null => {\n if (node && isReactElement(node)) {\n const ele = node as React.ReactElement & { ref?: React.Ref<T> };\n\n // Source from:\n // https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/getReactNodeRef/getReactNodeRef.ts\n\n return Object.prototype.propertyIsEnumerable.call(ele.props, \"ref\") ? ele.props.ref : ele.ref;\n }\n return null;\n};\n","import { canUseDocument } from \"./dom\";\n\ntype EventHandler = (element: Node, event: string, handler: EventListenerOrEventListenerObject) => void;\n\nexport const on = ((): EventHandler => {\n if (canUseDocument && document.addEventListener) {\n return (element: Node, event: string, handler: EventListenerOrEventListenerObject): void => {\n if (element && event && handler) {\n element.addEventListener(event, handler, false);\n }\n };\n }\n return (element: Node, event: string, handler: EventListenerOrEventListenerObject): void => {\n if (element && event && handler) {\n (\n element as unknown as { attachEvent: (event: string, handler: EventListenerOrEventListenerObject) => void }\n ).attachEvent(`on${event}`, handler);\n }\n };\n})();\n\nexport const off = ((): EventHandler => {\n if (canUseDocument && document.removeEventListener) {\n return (element: Node, event: string, handler: EventListenerOrEventListenerObject): void => {\n if (element && event) {\n element.removeEventListener(event, handler, false);\n }\n };\n }\n return (element: Node, event: string, handler: EventListenerOrEventListenerObject): void => {\n if (element && event) {\n (\n element as unknown as { detachEvent: (event: string, handler: EventListenerOrEventListenerObject) => void }\n ).detachEvent(`on${event}`, handler);\n }\n };\n})();\n","import React, { useRef, useEffect, isValidElement, useCallback, useMemo } from \"react\";\nimport { isFragment } from \"react-is\";\nimport { supportRef, getRefDom, getNodeRef } from \"../../utils/refs\";\nimport composeRefs from \"../../utils/composeRefs\";\nimport { off, on } from \"../../utils/listener\";\nimport classNames from \"classnames\";\nimport { TNode } from \"../../common\";\nconst ESC_KEY = \"Escape\";\n\ninterface UseTriggerProps {\n content: TNode;\n disabled?: boolean;\n trigger: \"hover\" | \"click\" | \"mousedown\" | \"focus\" | \"context-menu\" | undefined;\n visible: boolean | undefined;\n onVisibleChange: (\n visible: boolean,\n context: {\n e?:\n | React.MouseEvent<HTMLElement>\n | React.TouchEvent<HTMLElement>\n | React.FocusEvent<HTMLElement>\n | React.KeyboardEvent<HTMLElement>;\n trigger: string;\n }\n ) => void;\n triggerRef: React.RefObject<HTMLElement>;\n delay?: number | [number, number] | number[];\n}\n\nexport default function useTrigger({\n content,\n disabled,\n trigger,\n visible,\n onVisibleChange,\n triggerRef,\n delay\n}: UseTriggerProps) {\n const hasPopupMouseDown = useRef(false);\n const mouseDownTimer = useRef(0);\n const visibleTimer = useRef(null);\n const triggerDataKey = useRef<string>(\"\");\n const leaveFlag = useRef(false); // 防止多次触发显隐\n\n // 在 effect 中初始化 triggerDataKey,避免在渲染期间调用不纯函数\n useEffect(() => {\n if (!triggerDataKey.current) {\n triggerDataKey.current = `t-popup--${Math.random().toFixed(10)}`;\n }\n }, []);\n\n // 禁用和无内容时不展示\n const shouldToggle = useMemo(() => {\n if (disabled) return false; // 禁用\n return !disabled && content === 0 ? true : content; // 无内容时\n }, [disabled, content]);\n\n // 解析 delay 数据类型\n const [appearDelay = 0, exitDelay = 0] = useMemo(() => {\n if (Array.isArray(delay)) return delay;\n return [delay, delay];\n }, [delay]);\n\n function callFuncWithDelay({ delay, callback }: { delay?: number; callback: () => void }) {\n if (delay) {\n clearTimeout(visibleTimer.current);\n visibleTimer.current = setTimeout(callback, delay);\n } else {\n callback();\n }\n }\n\n // 点击 trigger overlay 以外的元素关闭\n useEffect(() => {\n if (!shouldToggle) return;\n\n const handleDocumentClick = (e: MouseEvent | TouchEvent) => {\n if (getRefDom(triggerRef)?.contains?.(e.target as Node) || hasPopupMouseDown.current) {\n return;\n }\n if (visible) {\n onVisibleChange(false, { trigger: \"document\" });\n }\n };\n on(document, \"mousedown\", handleDocumentClick);\n on(document, \"touchend\", handleDocumentClick);\n\n // 清理事件监听\n return () => {\n off(document, \"mousedown\", handleDocumentClick);\n off(document, \"touchend\", handleDocumentClick);\n };\n }, [shouldToggle, visible, onVisibleChange, triggerRef]);\n\n // 弹出内容交互处理\n function getPopupProps(): React.HTMLAttributes<HTMLElement> {\n if (!shouldToggle) return {};\n\n return {\n onMouseEnter: (e: React.MouseEvent<HTMLElement>) => {\n console.log(\"popup mouse enter\");\n // leaveFlag表示是从 trigger 元素 hover 过来的,避免频繁显示隐藏\n if (trigger === \"hover\" && !leaveFlag.current) {\n // 清除延迟显示定时器\n clearTimeout(visibleTimer.current);\n // 立即显示\n onVisibleChange(true, { e, trigger: \"trigger-element-hover\" });\n }\n },\n onMouseLeave: (e: React.MouseEvent<HTMLElement>) => {\n console.log(\"popup mouse leave\");\n if (trigger === \"hover\") {\n // 防止 鼠标移出后,马上移入 popup 元素,导致 popup 重新显示 特别是有延迟显示时 是一个防抖标志\n leaveFlag.current = true;\n\n // 清除延迟显示定时器\n clearTimeout(visibleTimer.current);\n // 立即隐藏\n onVisibleChange(false, { e, trigger: \"trigger-element-hover\" });\n }\n },\n onMouseDown: () => {\n // 清除鼠标按下定时器\n clearTimeout(mouseDownTimer.current);\n // 鼠标按下时,触发 useEffect 中的 document click 事件,点击trigger和popup元素 不需要隐藏\n hasPopupMouseDown.current = true;\n mouseDownTimer.current = window.setTimeout(() => {\n // 事件处理完毕后,重置标志\n hasPopupMouseDown.current = false;\n });\n },\n // 触摸结束时,和mouseDown 类似\n\n onTouchEnd: () => {\n clearTimeout(mouseDownTimer.current);\n hasPopupMouseDown.current = true;\n mouseDownTimer.current = window.setTimeout(() => {\n hasPopupMouseDown.current = false;\n });\n }\n };\n }\n\n // 整理 trigger props\n function getTriggerProps(triggerNode: React.ReactElement<React.HTMLAttributes<HTMLElement>>) {\n if (!shouldToggle) return {};\n\n const triggerProps: React.HTMLAttributes<HTMLElement> & { ref?: React.Ref<HTMLElement> } = {\n className: visible ? classNames(triggerNode.props.className, `t-popup-open`) : triggerNode.props.className,\n onMouseDown: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"mousedown\") {\n callFuncWithDelay({\n delay: visible ? appearDelay : exitDelay,\n callback: () =>\n onVisibleChange(!visible, {\n e,\n trigger: \"trigger-element-mousedown\"\n })\n });\n }\n triggerNode.props.onMouseDown?.(e);\n },\n onClick: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"click\") {\n callFuncWithDelay({\n // appearDelay 和 exitDelay 分别表示点击时的延迟显示和隐藏\n delay: visible ? appearDelay : exitDelay,\n callback: () =>\n onVisibleChange(!visible, {\n e,\n trigger: \"trigger-element-click\"\n })\n });\n }\n triggerNode.props.onClick?.(e);\n },\n onTouchStart: (e: React.TouchEvent<HTMLElement>) => {\n if (trigger === \"hover\" || trigger === \"mousedown\") {\n // leaveFlag 表示是从 trigger 元素 hover 过来的,避免频繁显示隐藏\n leaveFlag.current = false;\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(true, { e, trigger: \"trigger-element-hover\" })\n });\n }\n triggerNode.props.onTouchStart?.(e);\n },\n onMouseEnter: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"hover\") {\n leaveFlag.current = false;\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(true, { e, trigger: \"trigger-element-hover\" })\n });\n }\n triggerNode.props.onMouseEnter?.(e);\n },\n onMouseLeave: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"hover\") {\n leaveFlag.current = false;\n callFuncWithDelay({\n delay: exitDelay,\n callback: () => onVisibleChange(false, { e, trigger: \"trigger-element-hover\" })\n });\n }\n triggerNode.props.onMouseLeave?.(e);\n },\n onFocus: (e: React.FocusEvent<HTMLElement>) => {\n if (trigger === \"focus\") {\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(true, { e, trigger: \"trigger-element-focus\" })\n });\n }\n triggerNode.props.onFocus?.(e);\n },\n onBlur: (e: React.FocusEvent<HTMLElement>) => {\n if (trigger === \"focus\") {\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(false, { e, trigger: \"trigger-element-blur\" })\n });\n }\n triggerNode.props.onBlur?.(e);\n },\n onContextMenu: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"context-menu\") {\n e.preventDefault();\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(true, { e, trigger: \"context-menu\" })\n });\n }\n triggerNode.props.onContextMenu?.(e);\n },\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => {\n if (e?.key === ESC_KEY) {\n callFuncWithDelay({\n delay: exitDelay,\n callback: () => onVisibleChange(false, { e, trigger: \"keydown-esc\" })\n });\n }\n triggerNode.props.onKeyDown?.(e);\n }\n };\n // 如果支持 ref 透传,composeRefs 返回一个函数,当组件挂载时,执行函数,triggerRef 和 tiggerNode 指向触发元素的dom\n if (supportRef(triggerNode)) {\n triggerProps.ref = composeRefs(triggerRef, getNodeRef(triggerNode));\n } else {\n // 标记 trigger 元素\n triggerProps[\"data-popup\"] = triggerDataKey.current;\n }\n\n return triggerProps;\n }\n\n // 整理 trigger 元素\n function getTriggerNode(children: React.ReactNode) {\n const triggerNode =\n isValidElement(children) && !isFragment(children) ? children : React.createElement(\"span\", {}, children);\n\n return React.cloneElement(triggerNode, getTriggerProps(triggerNode));\n }\n\n // ref 透传失败时使用 dom 查找\n const getTriggerDom = useCallback(() => {\n if (typeof document === \"undefined\") return {};\n return document.querySelector(`[data-popup=\"${triggerDataKey.current}\"]`);\n }, []);\n\n return {\n getTriggerNode,\n getPopupProps,\n getTriggerDom\n };\n}\n","// https://github.com/floating-ui/react-popper/blob/master/src/usePopper.js\n// React popper was archived by the owner on Dec 6, 2024.\n// to maintain this hook in the repo since upgrading to support React 19.0\nimport { useMemo, useRef, useState } from \"react\";\nimport { flushSync } from \"react-dom\";\nimport {\n createPopper as defaultCreatePopper,\n type Options as PopperOptions,\n type VirtualElement,\n type State as PopperState,\n type Instance as PopperInstance\n} from \"@popperjs/core\";\n\nimport isEqual from \"react-fast-compare\";\nimport useIsomorphicLayoutEffect from \"./useLayoutEffect\";\nimport type { Styles } from \"../common\";\n\ntype Options = Partial<\n PopperOptions & {\n createPopper: typeof defaultCreatePopper;\n }\n>;\n\ntype Attributes = {\n [key: string]: { [key: string]: string };\n};\n\ntype State = {\n styles: Record<string, Styles>;\n attributes: Attributes;\n};\n\nimport type { ModifierPhases } from \"@popperjs/core\";\n\ninterface Modifier {\n name: string;\n enabled?: boolean;\n phase?: ModifierPhases;\n fn?: (data: { state: PopperState }) => void;\n requires?: string[];\n}\n\nconst EMPTY_MODIFIERS: Modifier[] = [];\n\ntype UsePopperResult = {\n state?: PopperState;\n styles: Record<string, Styles>;\n attributes: Attributes;\n update: PopperInstance[\"update\"] | null;\n forceUpdate: PopperInstance[\"forceUpdate\"] | null;\n};\n\nconst fromEntries = <T>(entries: Array<[string, T]>): Record<string, T> =>\n entries.reduce(\n (acc, [key, value]) => {\n acc[key] = value;\n return acc;\n },\n {} as Record<string, T>\n );\n\nconst usePopper = (\n referenceElement?: Element | VirtualElement,\n popperElement?: HTMLElement,\n options: Options = {}\n): UsePopperResult => {\n const prevOptions = useRef<PopperOptions>(null);\n\n const optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || \"bottom\",\n strategy: options.strategy || \"absolute\",\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n const [state, setState] = useState<State>({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: \"0\",\n top: \"0\"\n },\n arrow: {\n position: \"absolute\"\n }\n },\n attributes: {}\n });\n\n const updateStateModifier = useMemo(\n () => ({\n name: \"updateState\",\n enabled: true,\n phase: \"write\" as ModifierPhases,\n fn: ({ state }: { state: PopperState }) => {\n const elements = Object.keys(state.elements);\n\n flushSync(() => {\n setState({\n styles: fromEntries(elements.map((element) => [element, state.styles[element] || {}])) as Record<\n string,\n Styles\n >,\n attributes: fromEntries(elements.map((element) => [element, state.attributes[element]])) as Attributes\n });\n });\n },\n requires: [\"computeStyles\"]\n }),\n []\n );\n\n const popperOptions = useMemo(() => {\n const newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [\n ...optionsWithDefaults.modifiers,\n updateStateModifier,\n {\n name: \"applyStyles\",\n enabled: false,\n phase: \"write\" as ModifierPhases\n }\n ]\n };\n\n // 使用 setTimeout 避免在渲染期间访问 ref\n setTimeout(() => {\n if (!isEqual(prevOptions.current, newOptions)) {\n prevOptions.current = newOptions;\n }\n }, 0);\n\n return newOptions;\n }, [\n optionsWithDefaults.onFirstUpdate,\n optionsWithDefaults.placement,\n optionsWithDefaults.strategy,\n optionsWithDefaults.modifiers,\n updateStateModifier\n ]);\n\n const popperInstanceRef = useRef<PopperInstance | null>(null);\n\n useIsomorphicLayoutEffect(() => {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n\n useIsomorphicLayoutEffect(() => {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n const createPopper = options.createPopper || defaultCreatePopper;\n const popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n\n popperInstanceRef.current = popperInstance;\n\n return () => {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n\n const getPopperInstance = () => popperInstanceRef.current;\n\n return {\n get state() {\n const instance = getPopperInstance();\n return instance ? instance.state : undefined;\n },\n styles: state.styles,\n attributes: state.attributes,\n get update() {\n const instance = getPopperInstance();\n return instance ? instance.update : null;\n },\n get forceUpdate() {\n const instance = getPopperInstance();\n return instance ? instance.forceUpdate : null;\n }\n };\n};\n\nexport default usePopper;\n","/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport { TdPopupProps } from \"./type\";\n\nexport const popupDefaultProps: TdPopupProps = {\n destroyOnClose: false,\n hideEmptyPopup: false,\n placement: \"top\",\n showArrow: false,\n trigger: \"hover\"\n};\n","import { Placement, type Options } from \"@popperjs/core\";\nimport { debounce, isFunction } from \"lodash-es\";\nimport React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from \"react\";\nimport { getRefDom } from \"../utils/ref\";\nimport Portal from \"../portal/Portal\";\nimport useControlled from \"../hooks/useControlled\";\nimport useDefaultProps from \"../hooks/useDefaultProps\";\nimport useMutationObserver from \"../hooks/useMutationObserver\";\nimport useWindowSize from \"../hooks/useWindowSize\";\nimport useTrigger from \"./hooks/useTrigger\";\nimport type { TdPopupProps } from \"./type\";\nimport usePopper from \"../hooks/usePopper\";\nimport { popupDefaultProps } from \"./defaultProps\";\nimport classNames from \"classnames\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { getCssVarsValue } from \"../utils/style\";\nimport useConfig from \"../hooks/useConfig\";\n\nexport interface PopupProps extends TdPopupProps {\n // 是否触发展开收起动画,内部下拉式组件使用\n expandAnimation?: boolean;\n // 更新内容区域滚动条\n updateScrollTop?: (content: HTMLDivElement) => void;\n}\n\nexport interface PopupRef {\n /** 获取 popper 实例 */\n getPopper: () => ReturnType<typeof usePopper>;\n /** 获取 Popup dom 元素 */\n getPopupElement: () => HTMLDivElement;\n /** 获取 portal dom 元素 */\n getPortalElement: () => HTMLDivElement;\n /** 获取内容区域 dom 元素 */\n getPopupContentElement: () => HTMLDivElement;\n /** 设置 popup 显示隐藏 */\n setVisible: (visible: boolean) => void;\n}\n\nconst Popup = forwardRef<PopupRef, PopupProps>((originalProps, ref) => {\n const props = useDefaultProps<PopupProps>(originalProps, popupDefaultProps);\n const { classPrefix } = useConfig();\n const {\n trigger,\n content,\n placement,\n showArrow,\n destroyOnClose,\n overlayClassName,\n overlayInnerClassName,\n overlayStyle,\n overlayInnerStyle,\n triggerElement,\n children = triggerElement,\n disabled,\n zIndex,\n onScroll,\n onScrollToBottom,\n delay,\n hideEmptyPopup,\n updateScrollTop\n } = props;\n\n // 全局配置\n const { height: windowHeight, width: windowWidth } = useWindowSize();\n const [visible, onVisibleChange] = useControlled(props, \"visible\", props.onVisibleChange);\n // 记录 popup 元素\n // 如果内容为 null 或 undefined,且 hideEmptyPopup 为 true,则不展示 popup\n const [popupElement, setPopupElement] = useState(null);\n const triggerRef = useRef(null); // 记录 trigger 元素\n const popupRef = useRef(null); // popup dom 元素,css transition 需要用\n const portalRef = useRef(null); // portal dom 元素\n const contentRef = useRef(null); // 内容部分\n const popperRef = useRef<ReturnType<typeof usePopper> | null>(null); // 保存 popper 实例\n\n // 默认动画时长\n const DEFAULT_TRANSITION_TIMEOUT = 180;\n\n // 处理切换 panel 为 null 和正常内容动态切换的情况\n useEffect(() => {\n if (!content && hideEmptyPopup) {\n requestAnimationFrame(() => setPopupElement(null));\n }\n }, [content, hideEmptyPopup]);\n\n // 判断展示浮层\n const showOverlay = useMemo(() => {\n if (hideEmptyPopup && !content) return false;\n return visible || popupElement;\n }, [hideEmptyPopup, content, visible, popupElement]);\n\n // 转化 placement\n const popperPlacement = useMemo(\n () => placement && (placement.replace(/-(left|top)$/, \"-start\").replace(/-(right|bottom)$/, \"-end\") as Placement),\n [placement]\n );\n // 获取 triggerNode\n const { getTriggerNode, getPopupProps, getTriggerDom } = useTrigger({\n triggerRef,\n content,\n disabled,\n trigger,\n visible,\n delay,\n onVisibleChange\n });\n // 传入popperjs 配置选项\n const popperOptions = props.popperOptions as Options;\n const { placement: _ignored, ...restPopperOptions } = popperOptions || {};\n // Suppress unused variable warning\n void _ignored;\n\n // popperRef 表示 popper 实例\n popperRef.current = usePopper(getRefDom(triggerRef), popupElement, {\n placement: popperPlacement as Placement,\n ...restPopperOptions\n });\n\n // arrow modifier 用于显示箭头\n const hasArrowModifier = popperOptions?.modifiers?.some((modifier) => modifier.name === \"arrow\");\n const { styles, attributes } = popperRef.current;\n // 获取 triggerNode\n // 如果 children 是函数,则调用函数获取 triggerNode\n // getTriggerNode 设置触发元素的事件\n const triggerNode = isFunction(children) ? getTriggerNode(children({ visible })) : getTriggerNode(children);\n\n const updateTimeRef = useRef(null);\n // 监听 trigger 节点或内容变化动态更新 popup 定位\n useMutationObserver(getRefDom(triggerRef), () => {\n const isDisplayNone = getCssVarsValue(\"display\", getRefDom(triggerRef)) === \"none\";\n if (visible && !isDisplayNone) {\n clearTimeout(updateTimeRef.current);\n updateTimeRef.current = setTimeout(() => popperRef.current?.update?.(), 0);\n }\n });\n // 清理定时器\n useEffect(() => () => clearTimeout(updateTimeRef.current), []);\n\n // 窗口尺寸变化时调整位置\n useEffect(() => {\n if (visible) {\n requestAnimationFrame(() => popperRef.current?.update?.());\n }\n }, [visible, content, windowHeight, windowWidth]);\n\n // 下拉展开时更新内部滚动条\n useEffect(() => {\n if (!triggerRef.current) triggerRef.current = getTriggerDom();\n if (visible) {\n updateScrollTop?.(contentRef.current);\n }\n }, [visible, updateScrollTop, getTriggerDom]);\n\n function handleExited() {\n if (!destroyOnClose && popupElement) {\n (popupElement as HTMLElement).style.display = \"none\";\n }\n }\n function handleEnter() {\n if (!destroyOnClose && popupElement) {\n popupElement.style.display = \"block\";\n }\n }\n\n function handleScroll(e: React.WheelEvent<HTMLDivElement>) {\n onScroll?.({ e });\n\n // 防止多次触发添加截流\n const debounceOnScrollBottom = debounce((e) => onScrollToBottom?.({ e }), 100);\n\n const { scrollTop, clientHeight, scrollHeight } = e.target as HTMLDivElement;\n // windows 下滚动会出现小数,所以这里取整\n if (clientHeight + Math.floor(scrollTop) === scrollHeight) {\n // touch bottom\n debounceOnScrollBottom(e);\n }\n }\n\n // 整理浮层样式\n function getOverlayStyle(overlayStyle: TdPopupProps[\"overlayStyle\"]) {\n if (getRefDom(triggerRef) && popupRef.current && typeof overlayStyle === \"function\") {\n return { ...overlayStyle(getRefDom(triggerRef), popupRef.current) };\n }\n return { ...overlayStyle };\n }\n\n const overlay = showOverlay && (\n <CSSTransition\n appear\n in={visible}\n timeout={DEFAULT_TRANSITION_TIMEOUT}\n nodeRef={portalRef}\n unmountOnExit={destroyOnClose}\n onEnter={handleEnter}\n onExited={handleExited}\n classNames={`${classPrefix}-portal`}\n >\n <Portal triggerNode={getRefDom(triggerRef)} attach=\"body\" ref={portalRef}>\n <CSSTransition appear timeout={0} in={visible} nodeRef={popupRef} classNames={`${classPrefix}-popup`}>\n <div\n ref={(node) => {\n if (node) {\n popupRef.current = node;\n setPopupElement(node);\n }\n }}\n style={{\n ...styles.popper,\n zIndex,\n ...getOverlayStyle(overlayStyle)\n }}\n className={classNames(`${classPrefix}-popup`, overlayClassName, \"\")}\n {...attributes.popper}\n {...getPopupProps()}\n >\n <div\n ref={contentRef}\n className={classNames(\n `${classPrefix}-popup__content`,\n {\n [`${classPrefix}-popup__content--arrow`]: showArrow\n },\n overlayInnerClassName\n )}\n style={getOverlayStyle(overlayInnerStyle)}\n onScroll={handleScroll}\n >\n {content}\n {showArrow && (\n <div\n style={styles.arrow}\n className={`${classPrefix}-popup__arrow`}\n {...(hasArrowModifier && { \"data-popper-arrow\": \"\" })}\n />\n )}\n </div>\n </div>\n </CSSTransition>\n </Portal>\n </CSSTransition>\n );\n // 使用 useImperativeHandle 暴露给父组件\n // 这样父组件可以通过 ref 获取 popper 实例、popup 元素\n // portal 元素和内容区域元素\n // 以及设置 popup 的显示隐藏状态\n useImperativeHandle(ref, () => ({\n getPopper: () => popperRef.current,\n getPopupElement: () => popupRef.current,\n getPortalElement: () => portalRef.current,\n getPopupContentElement: () => contentRef.current,\n setVisible: (visible: boolean) => onVisibleChange(visible, { trigger: \"document\" })\n }));\n // 这里使用 React.Fragment 包裹 triggerNode 和 overlay,确保返回一个单一的父节点\n // 这样可以避免在渲染时出现多个根节点的错误\n return (\n <React.Fragment>\n {triggerNode}\n {overlay}\n </React.Fragment>\n );\n});\n\nPopup.displayName = \"Popup\";\n\nexport default Popup;\n"],"names":["getRefDom","domRef","current","_typeof","currentElement","useLatest","value","ref","useRef","useEffect","DEFAULT_OPTIONS","debounceTime","config","attributes","childList","characterData","subtree","useMutationObservable","targetEl","cb","options","arguments","length","undefined","optionsRef","signalRef","callbackRef","isEqual","nodeType","observer","_optionsRef$current","mutationCallback","apply","MutationObserver","debounce","observe","e","console","error","disconnect","useWindowSize","_useState","useState","getWindowSize","_useState2","_slicedToArray","size","setSize","handleResize","debounceResize","window","addEventListener","removeEventListener","cancel","REACT_ELEMENT_TYPE_18","Symbol","REACT_ELEMENT_TYPE_19","REACT_FRAGMENT_TYPE","isFragment","object","$$typeof","type","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","isReactElement","Object","prototype","propertyIsEnumerable","call","props","isMemo","render","ForwardRef","node","isValidElement","supportNodeRef","getNodeRef","ele","on","canUseDocument","document","element","event","handler","attachEvent","concat","off","detachEvent","ESC_KEY","useTrigger","_ref","content","disabled","trigger","visible","onVisibleChange","triggerRef","delay","hasPopupMouseDown","mouseDownTimer","visibleTimer","triggerDataKey","leaveFlag","Math","random","toFixed","shouldToggle","useMemo","_useMemo","Array","isArray","_useMemo2","_useMemo2$","appearDelay","_useMemo2$2","exitDelay","callFuncWithDelay","_ref2","callback","clearTimeout","setTimeout","handleDocumentClick","_getRefDom","_getRefDom$contains","contains","target","getPopupProps","onMouseEnter","log","onMouseLeave","onMouseDown","onTouchEnd","getTriggerProps","triggerNode","triggerProps","className","classNames","_triggerNode$props$on","_triggerNode$props","onClick","_triggerNode$props$on2","_triggerNode$props2","onTouchStart","_triggerNode$props$on3","_triggerNode$props3","_triggerNode$props$on4","_triggerNode$props4","_triggerNode$props$on5","_triggerNode$props5","onFocus","_triggerNode$props$on6","_triggerNode$props6","onBlur","_triggerNode$props$on7","_triggerNode$props7","onContextMenu","_triggerNode$props$on8","_triggerNode$props8","preventDefault","onKeyDown","_triggerNode$props$on9","_triggerNode$props9","key","composeRefs","getTriggerNode","children","React","createElement","cloneElement","getTriggerDom","useCallback","querySelector","EMPTY_MODIFIERS","fromEntries","entries","reduce","acc","usePopper","referenceElement","popperElement","prevOptions","optionsWithDefaults","onFirstUpdate","placement","strategy","modifiers","styles","popper","position","left","top","arrow","state","setState","updateStateModifier","name","enabled","phase","fn","_ref3","elements","keys","flushSync","map","requires","popperOptions","newOptions","_toConsumableArray","popperInstanceRef","useIsomorphicLayoutEffect","setOptions","createPopper","defaultCreatePopper","popperInstance","destroy","getPopperInstance","instance","update","forceUpdate","popupDefaultProps","destroyOnClose","hideEmptyPopup","showArrow","Popup","forwardRef","originalProps","_popperOptions$modifi","useDefaultProps","_useConfig","useConfig","classPrefix","overlayClassName","overlayInnerClassName","overlayStyle","overlayInnerStyle","triggerElement","_props$children","zIndex","onScroll","onScrollToBottom","updateScrollTop","_useWindowSize","windowHeight","height","windowWidth","width","_useControlled","useControlled","_useControlled2","popupElement","setPopupElement","popupRef","portalRef","contentRef","popperRef","DEFAULT_TRANSITION_TIMEOUT","requestAnimationFrame","showOverlay","popperPlacement","replace","_useTrigger","_ignored","restPopperOptions","_objectWithoutProperties","_excluded","_objectSpread","hasArrowModifier","some","modifier","_popperRef$current","isFunction","updateTimeRef","useMutationObserver","isDisplayNone","getCssVarsValue","_popperRef$current2","_popperRef$current2$u","_popperRef$current3","_popperRef$current3$u","handleExited","style","display","handleEnter","handleScroll","debounceOnScrollBottom","_e$target","scrollTop","clientHeight","scrollHeight","floor","getOverlayStyle","overlay","CSSTransition","appear","timeout","nodeRef","unmountOnExit","onEnter","onExited","Portal","attach","_defineProperty","useImperativeHandle","getPopper","getPopupElement","getPortalElement","getPopupContentElement","setVisible","Fragment","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Popup.js","sources":["../../../components/utils/ref.ts","../../../components/hooks/useWindowSize.ts","../../../components/utils/isFragment.ts","../../../components/utils/refs.ts","../../../components/popup/hooks/useTrigger.ts","../../../components/hooks/usePopper.ts","../../../components/popup/defaultProps.ts","../../../components/popup/Popup.tsx"],"sourcesContent":["export function getRefDom<T = HTMLElement>(domRef: React.RefObject<T>) {\n if (domRef.current && typeof domRef.current === \"object\" && \"currentElement\" in domRef.current) {\n return domRef.current.currentElement;\n }\n return domRef.current;\n}\n","import { useEffect, useState } from \"react\";\nimport { debounce } from \"lodash-es\";\nimport { getWindowSize } from \"../utils/dom\";\n\nexport interface WindowSize {\n width: number;\n height: number;\n}\n\nfunction useWindowSize(): WindowSize {\n const [size, setSize] = useState(getWindowSize);\n\n useEffect(() => {\n function handleResize() {\n setSize(getWindowSize());\n }\n\n const debounceResize = debounce(handleResize, 400);\n\n window.addEventListener(\"resize\", debounceResize);\n\n return () => {\n window.removeEventListener(\"resize\", debounceResize);\n debounceResize.cancel();\n };\n }, []);\n\n return size;\n}\n\nexport default useWindowSize;\n","// Source from:\n// https://github.com/react-component/util/blob/master/src/React/isFragment.ts\n\nconst REACT_ELEMENT_TYPE_18 = Symbol.for(\"react.element\");\nconst REACT_ELEMENT_TYPE_19 = Symbol.for(\"react.transitional.element\");\nconst REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\n\n/**\n * Compatible with React 18 or 19 to check if node is a Fragment.\n */\nexport default function isFragment(object: React.ReactElement | null | undefined): boolean {\n if (!object || typeof object !== \"object\") return false;\n\n const obj = object as unknown as { $$typeof?: symbol; type?: symbol | React.ElementType };\n\n return (\n // React Element type\n (obj.$$typeof === REACT_ELEMENT_TYPE_18 || obj.$$typeof === REACT_ELEMENT_TYPE_19) &&\n // React Fragment type\n obj.type === REACT_FRAGMENT_TYPE\n );\n}\n","// Source from:\n// https://github.com/react-component/util/blob/master/src/ref.ts\n\nimport { isValidElement } from \"react\";\nimport { ForwardRef, isMemo } from \"react-is\";\nimport isFragment from \"./isFragment\";\n\n// 判断是否支持 ref 透传\nexport const supportRef = (nodeOrComponent: unknown): boolean => {\n if (!nodeOrComponent) {\n return false;\n }\n\n // React 19 no need `forwardRef` anymore. So just pass if is a React element.\n\n if (\n isReactElement(nodeOrComponent as React.ReactNode) &&\n Object.prototype.propertyIsEnumerable.call((nodeOrComponent as React.ReactElement).props, \"ref\")\n ) {\n return true;\n }\n\n const type = isMemo(nodeOrComponent)\n ? (nodeOrComponent as { type: { type: unknown } }).type.type\n : (nodeOrComponent as { type: unknown }).type;\n\n // Function component node\n if (\n typeof type === \"function\" &&\n !(type as { prototype?: { render?: unknown } }).prototype?.render &&\n (type as { $$typeof?: symbol }).$$typeof !== ForwardRef\n ) {\n return false;\n }\n\n // Class component\n if (\n typeof nodeOrComponent === \"function\" &&\n !(nodeOrComponent as { prototype?: { render?: unknown } }).prototype?.render &&\n (nodeOrComponent as { $$typeof?: symbol }).$$typeof !== ForwardRef\n ) {\n return false;\n }\n return true;\n};\n\n// 获取 ref 中的 dom 元素\nexport function getRefDom<T = HTMLElement>(domRef: React.RefObject<T>) {\n if (domRef.current && typeof domRef.current === \"object\" && \"currentElement\" in domRef.current) {\n return (domRef.current as { currentElement: HTMLElement }).currentElement;\n }\n return domRef.current;\n}\n\ninterface RefAttributes<T> extends React.Attributes {\n ref: React.Ref<T>;\n}\n\nfunction isReactElement(node: React.ReactNode) {\n return isValidElement(node) && !isFragment(node);\n}\n\nexport const supportNodeRef = <T = HTMLElement>(node: React.ReactNode): node is React.ReactElement & RefAttributes<T> =>\n isReactElement(node) && supportRef(node);\n\n/**\n * In React 19. `ref` is not a property from node.\n * But a property from `props.ref`.\n * To check if `props.ref` exist or fallback to `ref`.\n */\nexport const getNodeRef = <T = HTMLElement>(node: React.ReactNode): React.Ref<T> | null => {\n if (node && isReactElement(node)) {\n const ele = node as React.ReactElement & { ref?: React.Ref<T> };\n\n // Source from:\n // https://github.com/mui/material-ui/blob/master/packages/mui-utils/src/getReactNodeRef/getReactNodeRef.ts\n\n return Object.prototype.propertyIsEnumerable.call(ele.props, \"ref\") ? ele.props.ref : ele.ref;\n }\n return null;\n};\n","import React, { useRef, useEffect, isValidElement, useCallback, useMemo } from \"react\";\nimport { isFragment } from \"react-is\";\nimport { supportRef, getRefDom, getNodeRef } from \"../../utils/refs\";\nimport composeRefs from \"../../utils/composeRefs\";\nimport { off, on } from \"../../utils/listener\";\nimport classNames from \"classnames\";\nimport { TNode } from \"../../common\";\nconst ESC_KEY = \"Escape\";\n\ninterface UseTriggerProps {\n content: TNode;\n disabled?: boolean;\n trigger: \"hover\" | \"click\" | \"mousedown\" | \"focus\" | \"context-menu\" | undefined;\n visible: boolean | undefined;\n onVisibleChange: (\n visible: boolean,\n context: {\n e?:\n | React.MouseEvent<HTMLElement>\n | React.TouchEvent<HTMLElement>\n | React.FocusEvent<HTMLElement>\n | React.KeyboardEvent<HTMLElement>;\n trigger: string;\n }\n ) => void;\n triggerRef: React.RefObject<HTMLElement>;\n delay?: number | [number, number] | number[];\n}\n\nexport default function useTrigger({\n content,\n disabled,\n trigger,\n visible,\n onVisibleChange,\n triggerRef,\n delay\n}: UseTriggerProps) {\n const hasPopupMouseDown = useRef(false);\n const mouseDownTimer = useRef(0);\n const visibleTimer = useRef(null);\n const triggerDataKey = useRef<string>(\"\");\n const leaveFlag = useRef(false); // 防止多次触发显隐\n\n // 在 effect 中初始化 triggerDataKey,避免在渲染期间调用不纯函数\n useEffect(() => {\n if (!triggerDataKey.current) {\n triggerDataKey.current = `t-popup--${Math.random().toFixed(10)}`;\n }\n }, []);\n\n // 禁用和无内容时不展示\n const shouldToggle = useMemo(() => {\n if (disabled) return false; // 禁用\n return !disabled && content === 0 ? true : content; // 无内容时\n }, [disabled, content]);\n\n // 解析 delay 数据类型\n const [appearDelay = 0, exitDelay = 0] = useMemo(() => {\n if (Array.isArray(delay)) return delay;\n return [delay, delay];\n }, [delay]);\n\n function callFuncWithDelay({ delay, callback }: { delay?: number; callback: () => void }) {\n if (delay) {\n clearTimeout(visibleTimer.current);\n visibleTimer.current = setTimeout(callback, delay);\n } else {\n callback();\n }\n }\n\n // 点击 trigger overlay 以外的元素关闭\n useEffect(() => {\n if (!shouldToggle) return;\n\n const handleDocumentClick = (e: MouseEvent | TouchEvent) => {\n if (getRefDom(triggerRef)?.contains?.(e.target as Node) || hasPopupMouseDown.current) {\n return;\n }\n if (visible) {\n onVisibleChange(false, { trigger: \"document\" });\n }\n };\n on(document, \"mousedown\", handleDocumentClick);\n on(document, \"touchend\", handleDocumentClick);\n\n // 清理事件监听\n return () => {\n off(document, \"mousedown\", handleDocumentClick);\n off(document, \"touchend\", handleDocumentClick);\n };\n }, [shouldToggle, visible, onVisibleChange, triggerRef]);\n\n // 弹出内容交互处理\n function getPopupProps(): React.HTMLAttributes<HTMLElement> {\n if (!shouldToggle) return {};\n\n return {\n onMouseEnter: (e: React.MouseEvent<HTMLElement>) => {\n console.log(\"popup mouse enter\");\n // leaveFlag表示是从 trigger 元素 hover 过来的,避免频繁显示隐藏\n if (trigger === \"hover\" && !leaveFlag.current) {\n // 清除延迟显示定时器\n clearTimeout(visibleTimer.current);\n // 立即显示\n onVisibleChange(true, { e, trigger: \"trigger-element-hover\" });\n }\n },\n onMouseLeave: (e: React.MouseEvent<HTMLElement>) => {\n console.log(\"popup mouse leave\");\n if (trigger === \"hover\") {\n // 防止 鼠标移出后,马上移入 popup 元素,导致 popup 重新显示 特别是有延迟显示时 是一个防抖标志\n leaveFlag.current = true;\n\n // 清除延迟显示定时器\n clearTimeout(visibleTimer.current);\n // 立即隐藏\n onVisibleChange(false, { e, trigger: \"trigger-element-hover\" });\n }\n },\n onMouseDown: () => {\n // 清除鼠标按下定时器\n clearTimeout(mouseDownTimer.current);\n // 鼠标按下时,触发 useEffect 中的 document click 事件,点击trigger和popup元素 不需要隐藏\n hasPopupMouseDown.current = true;\n mouseDownTimer.current = window.setTimeout(() => {\n // 事件处理完毕后,重置标志\n hasPopupMouseDown.current = false;\n });\n },\n // 触摸结束时,和mouseDown 类似\n\n onTouchEnd: () => {\n clearTimeout(mouseDownTimer.current);\n hasPopupMouseDown.current = true;\n mouseDownTimer.current = window.setTimeout(() => {\n hasPopupMouseDown.current = false;\n });\n }\n };\n }\n\n // 整理 trigger props\n function getTriggerProps(triggerNode: React.ReactElement<React.HTMLAttributes<HTMLElement>>) {\n if (!shouldToggle) return {};\n\n const triggerProps: React.HTMLAttributes<HTMLElement> & { ref?: React.Ref<HTMLElement> } = {\n className: visible ? classNames(triggerNode.props.className, `t-popup-open`) : triggerNode.props.className,\n onMouseDown: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"mousedown\") {\n callFuncWithDelay({\n delay: visible ? appearDelay : exitDelay,\n callback: () =>\n onVisibleChange(!visible, {\n e,\n trigger: \"trigger-element-mousedown\"\n })\n });\n }\n triggerNode.props.onMouseDown?.(e);\n },\n onClick: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"click\") {\n callFuncWithDelay({\n // appearDelay 和 exitDelay 分别表示点击时的延迟显示和隐藏\n delay: visible ? appearDelay : exitDelay,\n callback: () =>\n onVisibleChange(!visible, {\n e,\n trigger: \"trigger-element-click\"\n })\n });\n }\n triggerNode.props.onClick?.(e);\n },\n onTouchStart: (e: React.TouchEvent<HTMLElement>) => {\n if (trigger === \"hover\" || trigger === \"mousedown\") {\n // leaveFlag 表示是从 trigger 元素 hover 过来的,避免频繁显示隐藏\n leaveFlag.current = false;\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(true, { e, trigger: \"trigger-element-hover\" })\n });\n }\n triggerNode.props.onTouchStart?.(e);\n },\n onMouseEnter: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"hover\") {\n leaveFlag.current = false;\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(true, { e, trigger: \"trigger-element-hover\" })\n });\n }\n triggerNode.props.onMouseEnter?.(e);\n },\n onMouseLeave: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"hover\") {\n leaveFlag.current = false;\n callFuncWithDelay({\n delay: exitDelay,\n callback: () => onVisibleChange(false, { e, trigger: \"trigger-element-hover\" })\n });\n }\n triggerNode.props.onMouseLeave?.(e);\n },\n onFocus: (e: React.FocusEvent<HTMLElement>) => {\n if (trigger === \"focus\") {\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(true, { e, trigger: \"trigger-element-focus\" })\n });\n }\n triggerNode.props.onFocus?.(e);\n },\n onBlur: (e: React.FocusEvent<HTMLElement>) => {\n if (trigger === \"focus\") {\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(false, { e, trigger: \"trigger-element-blur\" })\n });\n }\n triggerNode.props.onBlur?.(e);\n },\n onContextMenu: (e: React.MouseEvent<HTMLElement>) => {\n if (trigger === \"context-menu\") {\n e.preventDefault();\n callFuncWithDelay({\n delay: appearDelay,\n callback: () => onVisibleChange(true, { e, trigger: \"context-menu\" })\n });\n }\n triggerNode.props.onContextMenu?.(e);\n },\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => {\n if (e?.key === ESC_KEY) {\n callFuncWithDelay({\n delay: exitDelay,\n callback: () => onVisibleChange(false, { e, trigger: \"keydown-esc\" })\n });\n }\n triggerNode.props.onKeyDown?.(e);\n }\n };\n // 如果支持 ref 透传,composeRefs 返回一个函数,当组件挂载时,执行函数,triggerRef 和 tiggerNode 指向触发元素的dom\n if (supportRef(triggerNode)) {\n triggerProps.ref = composeRefs(triggerRef, getNodeRef(triggerNode));\n } else {\n // 标记 trigger 元素\n triggerProps[\"data-popup\"] = triggerDataKey.current;\n }\n\n return triggerProps;\n }\n\n // 整理 trigger 元素\n function getTriggerNode(children: React.ReactNode) {\n const triggerNode =\n isValidElement(children) && !isFragment(children) ? children : React.createElement(\"span\", {}, children);\n\n return React.cloneElement(triggerNode, getTriggerProps(triggerNode));\n }\n\n // ref 透传失败时使用 dom 查找\n const getTriggerDom = useCallback(() => {\n if (typeof document === \"undefined\") return {};\n return document.querySelector(`[data-popup=\"${triggerDataKey.current}\"]`);\n }, []);\n\n return {\n getTriggerNode,\n getPopupProps,\n getTriggerDom\n };\n}\n","// https://github.com/floating-ui/react-popper/blob/master/src/usePopper.js\n// React popper was archived by the owner on Dec 6, 2024.\n// to maintain this hook in the repo since upgrading to support React 19.0\nimport { useMemo, useRef, useState } from \"react\";\nimport { flushSync } from \"react-dom\";\nimport {\n createPopper as defaultCreatePopper,\n type Options as PopperOptions,\n type VirtualElement,\n type State as PopperState,\n type Instance as PopperInstance\n} from \"@popperjs/core\";\n\nimport isEqual from \"react-fast-compare\";\nimport useIsomorphicLayoutEffect from \"./useLayoutEffect\";\nimport type { Styles } from \"../common\";\n\ntype Options = Partial<\n PopperOptions & {\n createPopper: typeof defaultCreatePopper;\n }\n>;\n\ntype Attributes = {\n [key: string]: { [key: string]: string };\n};\n\ntype State = {\n styles: Record<string, Styles>;\n attributes: Attributes;\n};\n\nimport type { ModifierPhases } from \"@popperjs/core\";\n\ninterface Modifier {\n name: string;\n enabled?: boolean;\n phase?: ModifierPhases;\n fn?: (data: { state: PopperState }) => void;\n requires?: string[];\n}\n\nconst EMPTY_MODIFIERS: Modifier[] = [];\n\ntype UsePopperResult = {\n state?: PopperState;\n styles: Record<string, Styles>;\n attributes: Attributes;\n update: PopperInstance[\"update\"] | null;\n forceUpdate: PopperInstance[\"forceUpdate\"] | null;\n};\n\nconst fromEntries = <T>(entries: Array<[string, T]>): Record<string, T> =>\n entries.reduce(\n (acc, [key, value]) => {\n acc[key] = value;\n return acc;\n },\n {} as Record<string, T>\n );\n\nconst usePopper = (\n referenceElement?: Element | VirtualElement,\n popperElement?: HTMLElement,\n options: Options = {}\n): UsePopperResult => {\n const prevOptions = useRef<PopperOptions>(null);\n\n const optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || \"bottom\",\n strategy: options.strategy || \"absolute\",\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n const [state, setState] = useState<State>({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: \"0\",\n top: \"0\"\n },\n arrow: {\n position: \"absolute\"\n }\n },\n attributes: {}\n });\n\n const updateStateModifier = useMemo(\n () => ({\n name: \"updateState\",\n enabled: true,\n phase: \"write\" as ModifierPhases,\n fn: ({ state }: { state: PopperState }) => {\n const elements = Object.keys(state.elements);\n\n flushSync(() => {\n setState({\n styles: fromEntries(elements.map((element) => [element, state.styles[element] || {}])) as Record<\n string,\n Styles\n >,\n attributes: fromEntries(elements.map((element) => [element, state.attributes[element]])) as Attributes\n });\n });\n },\n requires: [\"computeStyles\"]\n }),\n []\n );\n\n const popperOptions = useMemo(() => {\n const newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [\n ...optionsWithDefaults.modifiers,\n updateStateModifier,\n {\n name: \"applyStyles\",\n enabled: false,\n phase: \"write\" as ModifierPhases\n }\n ]\n };\n\n // 使用 setTimeout 避免在渲染期间访问 ref\n setTimeout(() => {\n if (!isEqual(prevOptions.current, newOptions)) {\n prevOptions.current = newOptions;\n }\n }, 0);\n\n return newOptions;\n }, [\n optionsWithDefaults.onFirstUpdate,\n optionsWithDefaults.placement,\n optionsWithDefaults.strategy,\n optionsWithDefaults.modifiers,\n updateStateModifier\n ]);\n\n const popperInstanceRef = useRef<PopperInstance | null>(null);\n\n useIsomorphicLayoutEffect(() => {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n\n useIsomorphicLayoutEffect(() => {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n const createPopper = options.createPopper || defaultCreatePopper;\n const popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n\n popperInstanceRef.current = popperInstance;\n\n return () => {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n\n const getPopperInstance = () => popperInstanceRef.current;\n\n return {\n get state() {\n const instance = getPopperInstance();\n return instance ? instance.state : undefined;\n },\n styles: state.styles,\n attributes: state.attributes,\n get update() {\n const instance = getPopperInstance();\n return instance ? instance.update : null;\n },\n get forceUpdate() {\n const instance = getPopperInstance();\n return instance ? instance.forceUpdate : null;\n }\n };\n};\n\nexport default usePopper;\n","/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport { TdPopupProps } from \"./type\";\n\nexport const popupDefaultProps: TdPopupProps = {\n destroyOnClose: false,\n hideEmptyPopup: false,\n placement: \"top\",\n showArrow: false,\n trigger: \"hover\"\n};\n","import { Placement, type Options } from \"@popperjs/core\";\nimport { debounce, isFunction } from \"lodash-es\";\nimport React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from \"react\";\nimport { getRefDom } from \"../utils/ref\";\nimport Portal from \"../portal/Portal\";\nimport useControlled from \"../hooks/useControlled\";\nimport useDefaultProps from \"../hooks/useDefaultProps\";\nimport useMutationObserver from \"../hooks/useMutationObserver\";\nimport useWindowSize from \"../hooks/useWindowSize\";\nimport useTrigger from \"./hooks/useTrigger\";\nimport type { TdPopupProps, PopupVisibleChangeContext } from \"./type\";\nimport usePopper from \"../hooks/usePopper\";\nimport { popupDefaultProps } from \"./defaultProps\";\nimport classNames from \"classnames\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { getCssVarsValue } from \"../utils/style\";\nimport useConfig from \"../hooks/useConfig\";\n\nexport interface PopupProps extends TdPopupProps {\n // 是否触发展开收起动画,内部下拉式组件使用\n expandAnimation?: boolean;\n // 更新内容区域滚动条\n updateScrollTop?: (content: HTMLDivElement) => void;\n}\n\nexport interface PopupRef {\n /** 获取 popper 实例 */\n getPopper: () => ReturnType<typeof usePopper>;\n /** 获取 Popup dom 元素 */\n getPopupElement: () => HTMLDivElement;\n /** 获取 portal dom 元素 */\n getPortalElement: () => HTMLDivElement;\n /** 获取内容区域 dom 元素 */\n getPopupContentElement: () => HTMLDivElement;\n /** 设置 popup 显示隐藏 */\n setVisible: (visible: boolean) => void;\n}\n\nconst Popup = forwardRef<PopupRef, PopupProps>((originalProps, ref) => {\n const props = useDefaultProps<PopupProps>(originalProps, popupDefaultProps);\n const { classPrefix } = useConfig();\n const {\n trigger,\n content,\n placement,\n showArrow,\n destroyOnClose,\n overlayClassName,\n overlayInnerClassName,\n overlayStyle,\n overlayInnerStyle,\n triggerElement,\n children = triggerElement,\n disabled,\n zIndex,\n onScroll,\n onScrollToBottom,\n delay,\n hideEmptyPopup,\n updateScrollTop\n } = props;\n\n // 全局配置\n const { height: windowHeight, width: windowWidth } = useWindowSize();\n const handleVisibleChange = (visible: boolean, context: PopupVisibleChangeContext) => {\n props.onVisibleChange?.(visible, context);\n };\n const [visible, onVisibleChangeInternal] = useControlled(props, \"visible\", handleVisibleChange);\n // 适配 useTrigger 的类型\n const onVisibleChangeForTrigger = (\n visible: boolean,\n context: {\n e?:\n | React.MouseEvent<HTMLElement>\n | React.TouchEvent<HTMLElement>\n | React.FocusEvent<HTMLElement>\n | React.KeyboardEvent<HTMLElement>;\n trigger: string;\n }\n ) => {\n const popupContext: PopupVisibleChangeContext = {\n e: context.e as any,\n trigger: context.trigger as any\n };\n onVisibleChangeInternal(visible, popupContext);\n };\n // 记录 popup 元素\n // 如果内容为 null 或 undefined,且 hideEmptyPopup 为 true,则不展示 popup\n const [popupElement, setPopupElement] = useState(null);\n const triggerRef = useRef(null); // 记录 trigger 元素\n const popupRef = useRef(null); // popup dom 元素,css transition 需要用\n const portalRef = useRef(null); // portal dom 元素\n const contentRef = useRef(null); // 内容部分\n const popperRef = useRef<ReturnType<typeof usePopper> | null>(null); // 保存 popper 实例\n\n // 默认动画时长\n const DEFAULT_TRANSITION_TIMEOUT = 180;\n\n // 处理切换 panel 为 null 和正常内容动态切换的情况\n useEffect(() => {\n if (!content && hideEmptyPopup) {\n requestAnimationFrame(() => setPopupElement(null));\n }\n }, [content, hideEmptyPopup]);\n\n // 判断展示浮层\n const showOverlay = useMemo(() => {\n if (hideEmptyPopup && !content) return false;\n return visible || popupElement;\n }, [hideEmptyPopup, content, visible, popupElement]);\n\n // 转化 placement\n const popperPlacement = useMemo(\n () => placement && (placement.replace(/-(left|top)$/, \"-start\").replace(/-(right|bottom)$/, \"-end\") as Placement),\n [placement]\n );\n // 获取 triggerNode\n const { getTriggerNode, getPopupProps, getTriggerDom } = useTrigger({\n triggerRef,\n content,\n disabled,\n trigger,\n visible,\n delay,\n onVisibleChange: onVisibleChangeForTrigger\n });\n // 传入popperjs 配置选项\n const popperOptions = props.popperOptions as Options;\n const { placement: _ignored, ...restPopperOptions } = popperOptions || {};\n // Suppress unused variable warning\n void _ignored;\n\n // popperRef 表示 popper 实例\n popperRef.current = usePopper(getRefDom(triggerRef) as HTMLElement | null, popupElement, {\n placement: popperPlacement as Placement,\n ...restPopperOptions\n });\n\n // arrow modifier 用于显示箭头\n const hasArrowModifier = popperOptions?.modifiers?.some((modifier) => modifier.name === \"arrow\");\n const { styles, attributes } = popperRef.current;\n // 获取 triggerNode\n // 如果 children 是函数,则调用函数获取 triggerNode\n // getTriggerNode 设置触发元素的事件\n const triggerNode = isFunction(children) ? getTriggerNode(children({ visible })) : getTriggerNode(children);\n\n const updateTimeRef = useRef(null);\n // 监听 trigger 节点或内容变化动态更新 popup 定位\n useMutationObserver(getRefDom(triggerRef) as HTMLElement | null, () => {\n const triggerDom = getRefDom(triggerRef) as HTMLElement | null;\n const isDisplayNone = triggerDom ? getCssVarsValue(\"display\", triggerDom) === \"none\" : true;\n if (visible && !isDisplayNone) {\n clearTimeout(updateTimeRef.current);\n updateTimeRef.current = setTimeout(() => popperRef.current?.update?.(), 0);\n }\n });\n // 清理定时器\n useEffect(() => () => clearTimeout(updateTimeRef.current), []);\n\n // 窗口尺寸变化时调整位置\n useEffect(() => {\n if (visible) {\n requestAnimationFrame(() => popperRef.current?.update?.());\n }\n }, [visible, content, windowHeight, windowWidth]);\n\n // 下拉展开时更新内部滚动条\n useEffect(() => {\n if (!triggerRef.current) triggerRef.current = getTriggerDom();\n if (visible) {\n updateScrollTop?.(contentRef.current);\n }\n }, [visible, updateScrollTop, getTriggerDom]);\n\n function handleExited() {\n if (!destroyOnClose && popupElement) {\n (popupElement as HTMLElement).style.display = \"none\";\n }\n }\n function handleEnter() {\n if (!destroyOnClose && popupElement) {\n popupElement.style.display = \"block\";\n }\n }\n\n function handleScroll(e: React.WheelEvent<HTMLDivElement>) {\n onScroll?.({ e });\n\n // 防止多次触发添加截流\n const debounceOnScrollBottom = debounce((e) => onScrollToBottom?.({ e }), 100);\n\n const { scrollTop, clientHeight, scrollHeight } = e.target as HTMLDivElement;\n // windows 下滚动会出现小数,所以这里取整\n if (clientHeight + Math.floor(scrollTop) === scrollHeight) {\n // touch bottom\n debounceOnScrollBottom(e);\n }\n }\n\n // 整理浮层样式\n function getOverlayStyle(overlayStyle: TdPopupProps[\"overlayStyle\"]) {\n const triggerDom = getRefDom(triggerRef) as HTMLElement | null;\n if (triggerDom && popupRef.current && typeof overlayStyle === \"function\") {\n return { ...overlayStyle(triggerDom, popupRef.current) };\n }\n return { ...overlayStyle };\n }\n\n const overlay = showOverlay && (\n <CSSTransition\n appear\n in={visible}\n timeout={DEFAULT_TRANSITION_TIMEOUT}\n nodeRef={portalRef}\n unmountOnExit={destroyOnClose}\n onEnter={handleEnter}\n onExited={handleExited}\n classNames={`${classPrefix}-portal`}\n >\n <Portal triggerNode={getRefDom(triggerRef) as HTMLElement | null} attach=\"body\" ref={portalRef}>\n <CSSTransition appear timeout={0} in={visible} nodeRef={popupRef} classNames={`${classPrefix}-popup`}>\n <div\n ref={(node) => {\n if (node) {\n popupRef.current = node;\n setPopupElement(node);\n }\n }}\n style={{\n ...styles.popper,\n zIndex,\n ...getOverlayStyle(overlayStyle)\n }}\n className={classNames(`${classPrefix}-popup`, overlayClassName, \"\")}\n {...attributes.popper}\n {...getPopupProps()}\n >\n <div\n ref={contentRef}\n className={classNames(\n `${classPrefix}-popup__content`,\n {\n [`${classPrefix}-popup__content--arrow`]: showArrow\n },\n overlayInnerClassName\n )}\n style={getOverlayStyle(overlayInnerStyle)}\n onScroll={handleScroll}\n >\n {content}\n {showArrow && (\n <div\n style={styles.arrow}\n className={`${classPrefix}-popup__arrow`}\n {...(hasArrowModifier && { \"data-popper-arrow\": \"\" })}\n />\n )}\n </div>\n </div>\n </CSSTransition>\n </Portal>\n </CSSTransition>\n );\n // 使用 useImperativeHandle 暴露给父组件\n // 这样父组件可以通过 ref 获取 popper 实例、popup 元素\n // portal 元素和内容区域元素\n // 以及设置 popup 的显示隐藏状态\n useImperativeHandle(ref, () => ({\n getPopper: () => popperRef.current,\n getPopupElement: () => popupRef.current,\n getPortalElement: () => portalRef.current,\n getPopupContentElement: () => contentRef.current,\n setVisible: (visible: boolean) =>\n onVisibleChangeInternal(visible, { trigger: \"document\" } as PopupVisibleChangeContext)\n }));\n // 这里使用 React.Fragment 包裹 triggerNode 和 overlay,确保返回一个单一的父节点\n // 这样可以避免在渲染时出现多个根节点的错误\n return (\n <React.Fragment>\n {triggerNode}\n {overlay}\n </React.Fragment>\n );\n});\n\nPopup.displayName = \"Popup\";\n\nexport default Popup;\n"],"names":["getRefDom","domRef","current","_typeof","currentElement","useWindowSize","_useState","useState","getWindowSize","_useState2","_slicedToArray","size","setSize","useEffect","handleResize","debounceResize","debounce","window","addEventListener","removeEventListener","cancel","REACT_ELEMENT_TYPE_18","Symbol","REACT_ELEMENT_TYPE_19","REACT_FRAGMENT_TYPE","isFragment","object","obj","$$typeof","type","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","isReactElement","Object","prototype","propertyIsEnumerable","call","props","isMemo","render","ForwardRef","node","isValidElement","supportNodeRef","getNodeRef","ele","ref","ESC_KEY","useTrigger","_ref","content","disabled","trigger","visible","onVisibleChange","triggerRef","delay","hasPopupMouseDown","useRef","mouseDownTimer","visibleTimer","triggerDataKey","leaveFlag","Math","random","toFixed","shouldToggle","useMemo","_useMemo","Array","isArray","_useMemo2","_useMemo2$","appearDelay","_useMemo2$2","exitDelay","callFuncWithDelay","_ref2","callback","clearTimeout","setTimeout","handleDocumentClick","e","_getRefDom","_getRefDom$contains","contains","target","on","document","off","getPopupProps","onMouseEnter","console","log","onMouseLeave","onMouseDown","onTouchEnd","getTriggerProps","triggerNode","triggerProps","className","classNames","_triggerNode$props$on","_triggerNode$props","onClick","_triggerNode$props$on2","_triggerNode$props2","onTouchStart","_triggerNode$props$on3","_triggerNode$props3","_triggerNode$props$on4","_triggerNode$props4","_triggerNode$props$on5","_triggerNode$props5","onFocus","_triggerNode$props$on6","_triggerNode$props6","onBlur","_triggerNode$props$on7","_triggerNode$props7","onContextMenu","_triggerNode$props$on8","_triggerNode$props8","preventDefault","onKeyDown","_triggerNode$props$on9","_triggerNode$props9","key","composeRefs","getTriggerNode","children","React","createElement","cloneElement","getTriggerDom","useCallback","querySelector","concat","EMPTY_MODIFIERS","fromEntries","entries","reduce","acc","value","usePopper","referenceElement","popperElement","options","arguments","length","undefined","prevOptions","optionsWithDefaults","onFirstUpdate","placement","strategy","modifiers","styles","popper","position","left","top","arrow","attributes","state","setState","updateStateModifier","name","enabled","phase","fn","_ref3","elements","keys","flushSync","map","element","requires","popperOptions","newOptions","_toConsumableArray","isEqual","popperInstanceRef","useIsomorphicLayoutEffect","setOptions","createPopper","defaultCreatePopper","popperInstance","destroy","getPopperInstance","instance","update","forceUpdate","popupDefaultProps","destroyOnClose","hideEmptyPopup","showArrow","Popup","forwardRef","originalProps","_popperOptions$modifi","useDefaultProps","_useConfig","useConfig","classPrefix","overlayClassName","overlayInnerClassName","overlayStyle","overlayInnerStyle","triggerElement","_props$children","zIndex","onScroll","onScrollToBottom","updateScrollTop","_useWindowSize","windowHeight","height","windowWidth","width","handleVisibleChange","context","_props$onVisibleChang","_useControlled","useControlled","_useControlled2","onVisibleChangeInternal","onVisibleChangeForTrigger","popupContext","popupElement","setPopupElement","popupRef","portalRef","contentRef","popperRef","DEFAULT_TRANSITION_TIMEOUT","requestAnimationFrame","showOverlay","popperPlacement","replace","_useTrigger","_ignored","restPopperOptions","_objectWithoutProperties","_excluded","_objectSpread","hasArrowModifier","some","modifier","_popperRef$current","isFunction","updateTimeRef","useMutationObserver","triggerDom","isDisplayNone","getCssVarsValue","_popperRef$current2","_popperRef$current2$u","_popperRef$current3","_popperRef$current3$u","handleExited","style","display","handleEnter","handleScroll","debounceOnScrollBottom","_e$target","scrollTop","clientHeight","scrollHeight","floor","getOverlayStyle","overlay","CSSTransition","appear","timeout","nodeRef","unmountOnExit","onEnter","onExited","Portal","attach","_defineProperty","useImperativeHandle","getPopper","getPopupElement","getPortalElement","getPopupContentElement","setVisible","Fragment","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TNode } from "../../common";
|
|
3
|
+
interface UseTriggerProps {
|
|
4
|
+
content: TNode;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
trigger: "hover" | "click" | "mousedown" | "focus" | "context-menu" | undefined;
|
|
7
|
+
visible: boolean | undefined;
|
|
8
|
+
onVisibleChange: (visible: boolean, context: {
|
|
9
|
+
e?: React.MouseEvent<HTMLElement> | React.TouchEvent<HTMLElement> | React.FocusEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>;
|
|
10
|
+
trigger: string;
|
|
11
|
+
}) => void;
|
|
12
|
+
triggerRef: React.RefObject<HTMLElement>;
|
|
13
|
+
delay?: number | [number, number] | number[];
|
|
14
|
+
}
|
|
15
|
+
export default function useTrigger({ content, disabled, trigger, visible, onVisibleChange, triggerRef, delay }: UseTriggerProps): {
|
|
16
|
+
getTriggerNode: (children: React.ReactNode) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
17
|
+
getPopupProps: () => React.HTMLAttributes<HTMLElement>;
|
|
18
|
+
getTriggerDom: () => {};
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import "./style/index";
|
|
2
|
+
export type { PopupProps, PopupRef } from "./Popup";
|
|
3
|
+
export * from "./type";
|
|
4
|
+
export declare const Popup: import("react").ForwardRefExoticComponent<import("./Popup").PopupProps & import("react").RefAttributes<import("./Popup").PopupRef>>;
|
|
5
|
+
export default Popup;
|
package/es/popup/index.js
CHANGED
|
@@ -8,19 +8,23 @@ import 'lodash-es';
|
|
|
8
8
|
import 'react';
|
|
9
9
|
import '../portal/Portal.js';
|
|
10
10
|
import 'react-dom';
|
|
11
|
-
import '../_chunks/dep-
|
|
11
|
+
import '../_chunks/dep-DRwijJcv.js';
|
|
12
|
+
import '../_chunks/dep-BRbJGDI9.js';
|
|
12
13
|
import '../_chunks/dep-DwWrhxkd.js';
|
|
13
14
|
import '../_chunks/dep-DGvfel3I.js';
|
|
15
|
+
import '../_chunks/dep-CkmtEv0Y.js';
|
|
14
16
|
import 'react-is';
|
|
15
17
|
import '../_chunks/dep-C1XcmShP.js';
|
|
18
|
+
import '../_chunks/dep-Ccktr_jk.js';
|
|
16
19
|
import 'classnames';
|
|
17
20
|
import '../_chunks/dep-CgyDw_YI.js';
|
|
18
21
|
import '@popperjs/core';
|
|
19
22
|
import 'react-fast-compare';
|
|
20
23
|
import 'react-transition-group';
|
|
21
|
-
import '../_chunks/dep-
|
|
22
|
-
import '../_chunks/dep-
|
|
23
|
-
import '../
|
|
24
|
+
import '../_chunks/dep-DbVHGoUC.js';
|
|
25
|
+
import '../_chunks/dep-gy8uvBaS.js';
|
|
26
|
+
import '../_chunks/dep-5U9UjDaf.js';
|
|
27
|
+
import 'dayjs';
|
|
24
28
|
|
|
25
29
|
var Popup = Popup$1;
|
|
26
30
|
|
package/es/popup/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../components/popup/index.ts"],"sourcesContent":["import _Popup from \"./Popup\";\nimport \"./style/index\";\nexport type { PopupProps, PopupRef } from \"./Popup\";\nexport * from \"./type\";\nexport const Popup = _Popup;\nexport default Popup;\n"],"names":["Popup","_Popup"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../components/popup/index.ts"],"sourcesContent":["import _Popup from \"./Popup\";\nimport \"./style/index\";\nexport type { PopupProps, PopupRef } from \"./Popup\";\nexport * from \"./type\";\nexport const Popup = _Popup;\nexport default Popup;\n"],"names":["Popup","_Popup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAMA,KAAA,GAAQC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { TNode, ClassName, Styles, AttachNode } from "../common";
|
|
2
|
+
import { MouseEvent, KeyboardEvent, FocusEvent, WheelEvent } from "react";
|
|
3
|
+
export interface TdPopupProps {
|
|
4
|
+
/**
|
|
5
|
+
* 制定挂载节点。数据类型为 String 时,会被当作选择器处理,进行节点查询。示例:'body' 或 () => document.body
|
|
6
|
+
* @default 'body'
|
|
7
|
+
*/
|
|
8
|
+
attach?: AttachNode;
|
|
9
|
+
/**
|
|
10
|
+
* 触发元素,同 triggerElement
|
|
11
|
+
*/
|
|
12
|
+
children?: TNode;
|
|
13
|
+
/**
|
|
14
|
+
* 浮层里面的内容
|
|
15
|
+
*/
|
|
16
|
+
content?: TNode;
|
|
17
|
+
/**
|
|
18
|
+
* 延时显示或隐藏浮层,[延迟显示的时间,延迟隐藏的时间],单位:毫秒。如果只有一个时间,则表示显示和隐藏的延迟时间相同。示例 `'300'` 或者 `[200, 200]`。默认为:[250, 150]
|
|
19
|
+
*/
|
|
20
|
+
delay?: number | Array<number>;
|
|
21
|
+
/**
|
|
22
|
+
* 是否在关闭浮层时销毁浮层
|
|
23
|
+
* @default false
|
|
24
|
+
*/
|
|
25
|
+
destroyOnClose?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* 是否禁用组件
|
|
28
|
+
*/
|
|
29
|
+
disabled?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* 浮层是否隐藏空内容,默认不隐藏
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
34
|
+
hideEmptyPopup?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* 浮层类名,示例:'name1 name2 name3' 或 `['name1', 'name2']` 或 `[{ 'name1': true }]`
|
|
37
|
+
*/
|
|
38
|
+
overlayClassName?: ClassName;
|
|
39
|
+
/**
|
|
40
|
+
* 浮层内容部分类名,示例:'name1 name2 name3' 或 `['name1', 'name2']` 或 `[{ 'name1': true }]`
|
|
41
|
+
*/
|
|
42
|
+
overlayInnerClassName?: ClassName;
|
|
43
|
+
/**
|
|
44
|
+
* 浮层内容部分样式,第一个参数 `triggerElement` 表示触发元素 DOM 节点,第二个参数 `popupElement` 表示浮层元素 DOM 节点
|
|
45
|
+
*/
|
|
46
|
+
overlayInnerStyle?: Styles | ((triggerElement: HTMLElement, popupElement: HTMLElement) => Styles);
|
|
47
|
+
/**
|
|
48
|
+
* 浮层样式,第一个参数 `triggerElement` 表示触发元素 DOM 节点,第二个参数 `popupElement` 表示浮层元素 DOM 节点
|
|
49
|
+
*/
|
|
50
|
+
overlayStyle?: Styles | ((triggerElement: HTMLElement, popupElement: HTMLElement) => Styles);
|
|
51
|
+
/**
|
|
52
|
+
* 浮层出现位置
|
|
53
|
+
* @default top
|
|
54
|
+
*/
|
|
55
|
+
placement?: PopupPlacement;
|
|
56
|
+
/**
|
|
57
|
+
* popper 初始化配置,详情参考 https://popper.js.org/docs/
|
|
58
|
+
*/
|
|
59
|
+
popperOptions?: object;
|
|
60
|
+
/**
|
|
61
|
+
* 是否显示浮层箭头
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
showArrow?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* 触发浮层出现的方式
|
|
67
|
+
* @default hover
|
|
68
|
+
*/
|
|
69
|
+
trigger?: "hover" | "click" | "focus" | "mousedown" | "context-menu";
|
|
70
|
+
/**
|
|
71
|
+
* 触发元素。值类型为字符串表示元素选择器
|
|
72
|
+
*/
|
|
73
|
+
triggerElement?: TNode;
|
|
74
|
+
/**
|
|
75
|
+
* 是否显示浮层
|
|
76
|
+
*/
|
|
77
|
+
visible?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* 是否显示浮层,非受控属性
|
|
80
|
+
*/
|
|
81
|
+
defaultVisible?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* 组件层级,Web 侧样式默认为 5500,移动端和小程序样式默认为 1500
|
|
84
|
+
*/
|
|
85
|
+
zIndex?: number;
|
|
86
|
+
/**
|
|
87
|
+
* 下拉选项滚动事件
|
|
88
|
+
*/
|
|
89
|
+
onScroll?: (context: {
|
|
90
|
+
e: WheelEvent<HTMLDivElement>;
|
|
91
|
+
}) => void;
|
|
92
|
+
/**
|
|
93
|
+
* 下拉滚动触底事件,常用于滚动到底执行具体业务逻辑
|
|
94
|
+
*/
|
|
95
|
+
onScrollToBottom?: (context: {
|
|
96
|
+
e: WheelEvent<HTMLDivElement>;
|
|
97
|
+
}) => void;
|
|
98
|
+
/**
|
|
99
|
+
* 当浮层隐藏或显示时触发,`trigger=document` 表示点击非浮层元素触发;`trigger=context-menu` 表示右击触发
|
|
100
|
+
*/
|
|
101
|
+
onVisibleChange?: (visible: boolean, context: PopupVisibleChangeContext) => void;
|
|
102
|
+
}
|
|
103
|
+
export type PopupPlacement = "top" | "left" | "right" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
|
|
104
|
+
export interface PopupVisibleChangeContext {
|
|
105
|
+
e?: PopupTriggerEvent;
|
|
106
|
+
trigger?: PopupTriggerSource;
|
|
107
|
+
}
|
|
108
|
+
export type PopupTriggerEvent = MouseEvent<HTMLDivElement> | FocusEvent<HTMLDivElement> | KeyboardEvent<HTMLDivElement>;
|
|
109
|
+
export type PopupTriggerSource = "document" | "trigger-element-click" | "trigger-element-hover" | "trigger-element-blur" | "trigger-element-focus" | "trigger-element-mousedown" | "context-menu" | "keydown-esc";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AttachNode, AttachNodeReturnValue } from "../common";
|
|
3
|
+
export interface PortalProps {
|
|
4
|
+
/**
|
|
5
|
+
* 指定挂载的 HTML 节点, false 为挂载在 body
|
|
6
|
+
*/
|
|
7
|
+
attach?: React.ReactElement | AttachNode | boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 触发元素
|
|
10
|
+
*/
|
|
11
|
+
triggerNode?: HTMLElement;
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export declare function getAttach(attach: PortalProps["attach"], triggerNode?: HTMLElement): AttachNodeReturnValue;
|
|
15
|
+
declare const Portal: React.ForwardRefExoticComponent<PortalProps & React.RefAttributes<unknown>>;
|
|
16
|
+
export default Portal;
|
package/es/portal/Portal.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { _ as _typeof } from '../_chunks/dep-D-UKOauR.js';
|
|
2
2
|
import { forwardRef, useMemo, useImperativeHandle } from 'react';
|
|
3
3
|
import { createPortal } from 'react-dom';
|
|
4
|
-
import { c as canUseDocument
|
|
4
|
+
import { c as canUseDocument } from '../_chunks/dep-DRwijJcv.js';
|
|
5
|
+
import { u as useIsomorphicLayoutEffect } from '../_chunks/dep-BRbJGDI9.js';
|
|
5
6
|
import 'lodash-es';
|
|
6
7
|
|
|
7
8
|
function getAttach(attach, triggerNode) {
|
package/es/portal/Portal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Portal.js","sources":["../../../components/portal/Portal.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useImperativeHandle } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { canUseDocument } from \"../utils/dom\";\nimport { AttachNode, AttachNodeReturnValue } from \"../common\";\nimport useIsomorphicLayoutEffect from \"../hooks/useLayoutEffect\";\n\nexport interface PortalProps {\n /**\n * 指定挂载的 HTML 节点, false 为挂载在 body\n */\n attach?: React.ReactElement | AttachNode | boolean;\n /**\n * 触发元素\n */\n triggerNode?: HTMLElement;\n children: React.ReactNode;\n}\n// 获取挂载的 HTML 节点\n\nexport function getAttach(attach: PortalProps[\"attach\"], triggerNode?: HTMLElement): AttachNodeReturnValue {\n if (!canUseDocument) return null;\n\n let el: AttachNodeReturnValue = null;\n if (typeof attach === \"string\") {\n el = document.querySelector(attach);\n }\n if (typeof attach === \"function\") {\n el = attach(triggerNode);\n }\n if (typeof attach === \"object\" && attach instanceof window.HTMLElement) {\n el = attach;\n }\n\n // fix el in iframe\n if (el && el.nodeType === 1) return el;\n\n return document.body;\n}\n\nconst Portal = forwardRef((props: PortalProps, ref) => {\n const { attach, children, triggerNode } = props;\n const container = useMemo(() => {\n const div = document.createElement(\"div\");\n div.className = \"portal-container bg-primary\";\n return div;\n }, []);\n // 兼容 SSR 环境\n useIsomorphicLayoutEffect(() => {\n const parentElement = getAttach(attach, triggerNode);\n parentElement?.appendChild?.(container);\n // Clean up the container when the component unmounts\n return () => {\n parentElement?.removeChild?.(container);\n };\n }, [container, attach, triggerNode]);\n // 自定义暴露给父组件的ref是container\n useImperativeHandle(ref, () => container);\n\n return canUseDocument ? createPortal(children, container) : null;\n});\n\nPortal.displayName = \"Portal\";\nexport default Portal;\n"],"names":["getAttach","attach","triggerNode","canUseDocument","el","document","querySelector","_typeof","window","HTMLElement","nodeType","body","Portal","forwardRef","props","ref","children","container","useMemo","div","createElement","className","useIsomorphicLayoutEffect","_parentElement$append","parentElement","appendChild","call","_parentElement$remove","removeChild","useImperativeHandle","createPortal","displayName"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Portal.js","sources":["../../../components/portal/Portal.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useImperativeHandle } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { canUseDocument } from \"../utils/dom\";\nimport { AttachNode, AttachNodeReturnValue } from \"../common\";\nimport useIsomorphicLayoutEffect from \"../hooks/useLayoutEffect\";\n\nexport interface PortalProps {\n /**\n * 指定挂载的 HTML 节点, false 为挂载在 body\n */\n attach?: React.ReactElement | AttachNode | boolean;\n /**\n * 触发元素\n */\n triggerNode?: HTMLElement;\n children: React.ReactNode;\n}\n// 获取挂载的 HTML 节点\n\nexport function getAttach(attach: PortalProps[\"attach\"], triggerNode?: HTMLElement): AttachNodeReturnValue {\n if (!canUseDocument) return null;\n\n let el: AttachNodeReturnValue = null;\n if (typeof attach === \"string\") {\n el = document.querySelector(attach);\n }\n if (typeof attach === \"function\") {\n el = attach(triggerNode);\n }\n if (typeof attach === \"object\" && attach instanceof window.HTMLElement) {\n el = attach;\n }\n\n // fix el in iframe\n if (el && el.nodeType === 1) return el;\n\n return document.body;\n}\n\nconst Portal = forwardRef((props: PortalProps, ref) => {\n const { attach, children, triggerNode } = props;\n const container = useMemo(() => {\n const div = document.createElement(\"div\");\n div.className = \"portal-container bg-primary\";\n return div;\n }, []);\n // 兼容 SSR 环境\n useIsomorphicLayoutEffect(() => {\n const parentElement = getAttach(attach, triggerNode);\n parentElement?.appendChild?.(container);\n // Clean up the container when the component unmounts\n return () => {\n parentElement?.removeChild?.(container);\n };\n }, [container, attach, triggerNode]);\n // 自定义暴露给父组件的ref是container\n useImperativeHandle(ref, () => container);\n\n return canUseDocument ? createPortal(children, container) : null;\n});\n\nPortal.displayName = \"Portal\";\nexport default Portal;\n"],"names":["getAttach","attach","triggerNode","canUseDocument","el","document","querySelector","_typeof","window","HTMLElement","nodeType","body","Portal","forwardRef","props","ref","children","container","useMemo","div","createElement","className","useIsomorphicLayoutEffect","_parentElement$append","parentElement","appendChild","call","_parentElement$remove","removeChild","useImperativeHandle","createPortal","displayName"],"mappings":";;;;;;;AAmBO,SAASA,SAAAA,CAAUC,QAA+BC,WAAA,EAAkD;AACzG,EAAA,IAAI,CAACC,gBAAgB,OAAO,IAAA;EAE5B,IAAIC,EAAA,GAA4B,IAAA;AAChC,EAAA,IAAI,OAAOH,WAAW,QAAA,EAAU;AAC9BG,IAAAA,EAAA,GAAKC,QAAA,CAASC,cAAcL,MAAM,CAAA;AACpC,EAAA;AACA,EAAA,IAAI,OAAOA,WAAW,UAAA,EAAY;AAChCG,IAAAA,EAAA,GAAKH,OAAOC,WAAW,CAAA;AACzB,EAAA;EACA,IAAIK,OAAA,CAAON,MAAA,CAAA,KAAW,QAAA,IAAYA,MAAA,YAAkBO,OAAOC,WAAA,EAAa;AACtEL,IAAAA,EAAA,GAAKH,MAAA;AACP,EAAA;EAGA,IAAIG,EAAA,IAAMA,EAAA,CAAGM,QAAA,KAAa,CAAA,EAAG,OAAON,EAAA;EAEpC,OAAOC,QAAA,CAASM,IAAA;AAClB;AAEA,IAAMC,MAAA,gBAASC,UAAA,CAAW,UAACC,KAAA,EAAoBC,GAAA,EAAQ;AACrD,EAAA,IAAQd,MAAA,GAAkCa,KAAA,CAAlCb,MAAA;IAAQe,QAAA,GAA0BF,KAAA,CAA1BE,QAAA;IAAUd,WAAA,GAAgBY,KAAA,CAAhBZ,WAAA;AAC1B,EAAA,IAAMe,SAAA,GAAYC,QAAQ,YAAM;AAC9B,IAAA,IAAMC,GAAA,GAAMd,QAAA,CAASe,aAAA,CAAc,KAAK,CAAA;IACxCD,GAAA,CAAIE,SAAA,GAAY,6BAAA;AAChB,IAAA,OAAOF,GAAA;EACT,CAAA,EAAG,EAAE,CAAA;AAELG,EAAAA,yBAAA,CAA0B,YAAM;AAAA,IAAA,IAAAC,qBAAA;AAC9B,IAAA,IAAMC,aAAA,GAAgBxB,SAAA,CAAUC,MAAA,EAAQC,WAAW,CAAA;AACnDsB,IAAAA,aAAA,aAAAA,aAAA,KAAA,KAAA,CAAA,IAAA,CAAAD,qBAAA,GAAAC,aAAA,CAAeC,6DAAfF,qBAAA,CAAAG,IAAA,CAAAF,aAAA,EAA6BP,SAAS,CAAA;AAEtC,IAAA,OAAO,YAAM;AAAA,MAAA,IAAAU,qBAAA;AACXH,MAAAA,aAAA,aAAAA,aAAA,KAAA,KAAA,CAAA,IAAA,CAAAG,qBAAA,GAAAH,aAAA,CAAeI,6DAAfD,qBAAA,CAAAD,IAAA,CAAAF,aAAA,EAA6BP,SAAS,CAAA;IACxC,CAAA;EACF,CAAA,EAAG,CAACA,SAAA,EAAWhB,MAAA,EAAQC,WAAW,CAAC,CAAA;EAEnC2B,mBAAA,CAAoBd,GAAA,EAAK,YAAA;AAAA,IAAA,OAAME,SAAS;EAAA,CAAA,CAAA;EAExC,OAAOd,cAAA,gBAAiB2B,YAAA,CAAad,QAAA,EAAUC,SAAS,CAAA,GAAI,IAAA;AAC9D,CAAC;AAEDL,MAAA,CAAOmB,WAAA,GAAc,QAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Portal";
|
package/es/portal/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export { getAttach } from './Portal.js';
|
|
|
2
2
|
import '../_chunks/dep-D-UKOauR.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-dom';
|
|
5
|
-
import '../_chunks/dep-
|
|
5
|
+
import '../_chunks/dep-DRwijJcv.js';
|
|
6
6
|
import 'lodash-es';
|
|
7
|
+
import '../_chunks/dep-BRbJGDI9.js';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/es/portal/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CheckProps } from "../common/Check";
|
|
3
|
+
export type RadioProps = Omit<CheckProps, "type">;
|
|
4
|
+
declare const Radio: React.FunctionComponent<RadioProps & React.RefAttributes<HTMLLabelElement>> & {
|
|
5
|
+
Group: React.FC<import("./RadioGroup").RadioGroupProps>;
|
|
6
|
+
Button: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLLabelElement>>;
|
|
7
|
+
};
|
|
8
|
+
export default Radio;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import '../_chunks/dep-Cwish4GD.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
import '../_chunks/dep-BP0-apUT.js';
|
|
4
|
+
import '../common/Check.js';
|
|
5
|
+
export { R as default } from '../_chunks/dep-Dr5wkz0z.js';
|
|
6
|
+
import '../_chunks/dep-DGvfel3I.js';
|
|
7
|
+
import '../_chunks/dep-D-UKOauR.js';
|
|
8
|
+
import 'hoist-non-react-statics';
|
|
9
|
+
import '../_chunks/dep-CzLhKWCf.js';
|
|
10
|
+
import '../_chunks/dep-DN7d1SzH.js';
|
|
11
|
+
import 'classnames';
|
|
12
|
+
import 'lodash-es';
|
|
13
|
+
import '../_chunks/dep-DQ6kXoi8.js';
|
|
14
|
+
import '../_chunks/dep-gy8uvBaS.js';
|
|
15
|
+
import '../_chunks/dep-5U9UjDaf.js';
|
|
16
|
+
import 'dayjs';
|
|
17
|
+
import '../_chunks/dep-DwWrhxkd.js';
|
|
18
|
+
import '../_chunks/dep-DTlQ2dCA.js';
|
|
19
|
+
import '../_chunks/dep-CkmtEv0Y.js';
|
|
20
|
+
import '../_chunks/dep-Ccktr_jk.js';
|
|
21
|
+
import '../_chunks/dep-DRwijJcv.js';
|
|
22
|
+
//# sourceMappingURL=Radio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Radio.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|