@tendaui/react 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/es/_chunks/{dep-D7LanWes.js → dep-4LYjB3c6.js} +3 -18
  2. package/es/_chunks/dep-4LYjB3c6.js.map +1 -0
  3. package/es/_chunks/dep-5U9UjDaf.js +345 -0
  4. package/es/_chunks/dep-5U9UjDaf.js.map +1 -0
  5. package/es/_chunks/{dep-B7HmDtze.js → dep-B4_O1Vgv.js} +2 -2
  6. package/es/_chunks/{dep-B7HmDtze.js.map → dep-B4_O1Vgv.js.map} +1 -1
  7. package/es/_chunks/dep-BP0-apUT.js.map +1 -1
  8. package/es/_chunks/dep-BRbJGDI9.js +7 -0
  9. package/es/_chunks/dep-BRbJGDI9.js.map +1 -0
  10. package/es/_chunks/{dep-EcrDKDlu.js → dep-BYlJzn45.js} +10 -9
  11. package/es/_chunks/dep-BYlJzn45.js.map +1 -0
  12. package/es/_chunks/dep-BbeHB7S3.js +116 -0
  13. package/es/_chunks/dep-BbeHB7S3.js.map +1 -0
  14. package/es/_chunks/{dep-DB5wmwh1.js → dep-Bjfn7Zv_.js} +2 -2
  15. package/es/_chunks/{dep-DB5wmwh1.js.map → dep-Bjfn7Zv_.js.map} +1 -1
  16. package/es/_chunks/{dep-C36au4Ip.js → dep-BuIAffJt.js} +2 -2
  17. package/es/_chunks/{dep-C36au4Ip.js.map → dep-BuIAffJt.js.map} +1 -1
  18. package/es/_chunks/{dep-bWaVq_y3.js → dep-ByzdZjUR.js} +2 -2
  19. package/es/_chunks/dep-ByzdZjUR.js.map +1 -0
  20. package/es/_chunks/dep-CD_4-1Xb.js +103 -0
  21. package/es/_chunks/dep-CD_4-1Xb.js.map +1 -0
  22. package/es/_chunks/{dep-Dk2xX8lh.js → dep-CJCt0IS0.js} +5 -212
  23. package/es/_chunks/dep-CJCt0IS0.js.map +1 -0
  24. package/es/_chunks/dep-CMPsNAXF.js +52 -0
  25. package/es/_chunks/dep-CMPsNAXF.js.map +1 -0
  26. package/es/_chunks/dep-COy5g3FT.js +512 -0
  27. package/es/_chunks/dep-COy5g3FT.js.map +1 -0
  28. package/es/_chunks/{dep-CoIiHOgo.js → dep-CRURwzDj.js} +3 -3
  29. package/es/_chunks/{dep-CoIiHOgo.js.map → dep-CRURwzDj.js.map} +1 -1
  30. package/es/_chunks/dep-C_wPqvpm.js +36 -0
  31. package/es/_chunks/dep-C_wPqvpm.js.map +1 -0
  32. package/es/_chunks/dep-Ccktr_jk.js +33 -0
  33. package/es/_chunks/dep-Ccktr_jk.js.map +1 -0
  34. package/es/_chunks/dep-Chz4ZJCb.js +20 -0
  35. package/es/_chunks/dep-Chz4ZJCb.js.map +1 -0
  36. package/es/_chunks/dep-CkmtEv0Y.js +55 -0
  37. package/es/_chunks/dep-CkmtEv0Y.js.map +1 -0
  38. package/es/_chunks/dep-DJmE940f.js +764 -0
  39. package/es/_chunks/dep-DJmE940f.js.map +1 -0
  40. package/es/_chunks/{dep-DHWwZ2Nj.js → dep-DQ6kXoi8.js} +2 -2
  41. package/es/_chunks/{dep-DHWwZ2Nj.js.map → dep-DQ6kXoi8.js.map} +1 -1
  42. package/es/_chunks/{dep-0QH2Ee4R.js → dep-DRwijJcv.js} +5 -5
  43. package/es/_chunks/dep-DRwijJcv.js.map +1 -0
  44. package/es/_chunks/dep-DTlQ2dCA.js +46 -0
  45. package/es/_chunks/dep-DTlQ2dCA.js.map +1 -0
  46. package/es/_chunks/dep-DURB9x8g.js +170 -0
  47. package/es/_chunks/dep-DURB9x8g.js.map +1 -0
  48. package/es/_chunks/{dep-DZ_0EvBk.js → dep-DX65P8M9.js} +4 -45
  49. package/es/_chunks/dep-DX65P8M9.js.map +1 -0
  50. package/es/_chunks/{dep-BH5n5r1M.js → dep-DbVHGoUC.js} +2 -2
  51. package/es/_chunks/dep-DbVHGoUC.js.map +1 -0
  52. package/es/_chunks/dep-Dlppf0JU.js +214 -0
  53. package/es/_chunks/dep-Dlppf0JU.js.map +1 -0
  54. package/es/_chunks/dep-Dr5wkz0z.js +266 -0
  55. package/es/_chunks/dep-Dr5wkz0z.js.map +1 -0
  56. package/es/_chunks/dep-DwWrhxkd.js.map +1 -1
  57. package/es/_chunks/dep-Tshfumgl.js +31 -0
  58. package/es/_chunks/dep-Tshfumgl.js.map +1 -0
  59. package/es/_chunks/{dep-u1x3x6MJ.js → dep-gy8uvBaS.js} +2 -2
  60. package/es/_chunks/{dep-u1x3x6MJ.js.map → dep-gy8uvBaS.js.map} +1 -1
  61. package/es/_chunks/dep-oUgTcXgm.js +11 -0
  62. package/es/_chunks/dep-oUgTcXgm.js.map +1 -0
  63. package/es/_chunks/dep-zOZQ0R9g.js +1181 -0
  64. package/es/_chunks/dep-zOZQ0R9g.js.map +1 -0
  65. package/es/alert/Alert.d.ts +7 -0
  66. package/es/alert/Alert.js +4 -3
  67. package/es/alert/Alert.js.map +1 -1
  68. package/es/alert/defaultProps.d.ts +2 -0
  69. package/es/alert/index.d.ts +5 -0
  70. package/es/alert/index.js +4 -3
  71. package/es/alert/index.js.map +1 -1
  72. package/es/alert/style/css.d.ts +1 -0
  73. package/es/alert/style/index.d.ts +1 -0
  74. package/es/alert/type.d.ts +45 -0
  75. package/es/badge/Badge.d.ts +7 -0
  76. package/es/badge/Badge.js +3 -2
  77. package/es/badge/Badge.js.map +1 -1
  78. package/es/badge/defaultProps.d.ts +2 -0
  79. package/es/badge/index.d.ts +5 -0
  80. package/es/badge/index.js +3 -2
  81. package/es/badge/index.js.map +1 -1
  82. package/es/badge/style/css.d.ts +1 -0
  83. package/es/badge/style/index.d.ts +1 -0
  84. package/es/badge/type.d.ts +50 -0
  85. package/es/button/Button.d.ts +6 -0
  86. package/es/button/Button.js +7 -5
  87. package/es/button/Button.js.map +1 -1
  88. package/es/button/_example/base.js +171 -0
  89. package/es/button/_example/base.js.map +1 -0
  90. package/es/button/_example/icon.js +181 -0
  91. package/es/button/_example/icon.js.map +1 -0
  92. package/es/button/defaultProps.d.ts +2 -0
  93. package/es/button/index.d.ts +5 -0
  94. package/es/button/index.js +7 -5
  95. package/es/button/index.js.map +1 -1
  96. package/es/button/style/css.d.ts +1 -0
  97. package/es/button/style/index.d.ts +1 -0
  98. package/es/button/type.d.ts +81 -0
  99. package/es/checkbox/Checkbox.d.ts +10 -0
  100. package/es/checkbox/Checkbox.js +5 -4
  101. package/es/checkbox/Checkbox.js.map +1 -1
  102. package/es/checkbox/CheckboxGroup.d.ts +14 -0
  103. package/es/checkbox/CheckboxGroup.js +5 -4
  104. package/es/checkbox/CheckboxGroup.js.map +1 -1
  105. package/es/checkbox/defaultProps.d.ts +3 -0
  106. package/es/checkbox/index.d.ts +11 -0
  107. package/es/checkbox/index.js +5 -4
  108. package/es/checkbox/index.js.map +1 -1
  109. package/es/checkbox/style/css.d.ts +1 -0
  110. package/es/checkbox/style/index.d.ts +1 -0
  111. package/es/checkbox/type.d.ts +115 -0
  112. package/es/color-picker/ColorPickPanel.d.ts +4 -0
  113. package/es/color-picker/ColorPickPanel.js +44 -0
  114. package/es/color-picker/ColorPickPanel.js.map +1 -0
  115. package/es/color-picker/ColorPicker.d.ts +4 -0
  116. package/es/color-picker/ColorPicker.js +118 -0
  117. package/es/color-picker/ColorPicker.js.map +1 -0
  118. package/es/color-picker/components/panel/alpha.d.ts +4 -0
  119. package/es/color-picker/components/panel/alpha.js +44 -0
  120. package/es/color-picker/components/panel/alpha.js.map +1 -0
  121. package/es/color-picker/components/panel/format/index.d.ts +10 -0
  122. package/es/color-picker/components/panel/format/index.js +128 -0
  123. package/es/color-picker/components/panel/format/index.js.map +1 -0
  124. package/es/color-picker/components/panel/format/inputs.d.ts +4 -0
  125. package/es/color-picker/components/panel/format/inputs.js +147 -0
  126. package/es/color-picker/components/panel/format/inputs.js.map +1 -0
  127. package/es/color-picker/components/panel/header.d.ts +13 -0
  128. package/es/color-picker/components/panel/header.js +60 -0
  129. package/es/color-picker/components/panel/header.js.map +1 -0
  130. package/es/color-picker/components/panel/hue.d.ts +4 -0
  131. package/es/color-picker/components/panel/hue.js +33 -0
  132. package/es/color-picker/components/panel/hue.js.map +1 -0
  133. package/es/color-picker/components/panel/index.d.ts +4 -0
  134. package/es/color-picker/components/panel/index.js +32 -0
  135. package/es/color-picker/components/panel/index.js.map +1 -0
  136. package/es/color-picker/components/panel/saturation.d.ts +4 -0
  137. package/es/color-picker/components/panel/saturation.js +101 -0
  138. package/es/color-picker/components/panel/saturation.js.map +1 -0
  139. package/es/color-picker/components/panel/slider.d.ts +11 -0
  140. package/es/color-picker/components/panel/slider.js +121 -0
  141. package/es/color-picker/components/panel/slider.js.map +1 -0
  142. package/es/color-picker/components/panel/swatches.d.ts +11 -0
  143. package/es/color-picker/components/panel/swatches.js +100 -0
  144. package/es/color-picker/components/panel/swatches.js.map +1 -0
  145. package/es/color-picker/components/trigger.d.ts +9 -0
  146. package/es/color-picker/components/trigger.js +73 -0
  147. package/es/color-picker/components/trigger.js.map +1 -0
  148. package/es/color-picker/defaultProps.d.ts +2 -0
  149. package/es/color-picker/helpers.d.ts +5 -0
  150. package/es/color-picker/hooks/useClassNames.d.ts +2 -0
  151. package/es/color-picker/hooks/useStyles.d.ts +14 -0
  152. package/es/color-picker/index.d.ts +6 -0
  153. package/es/color-picker/index.js +62 -0
  154. package/es/color-picker/index.js.map +1 -0
  155. package/es/color-picker/style/index.css +597 -0
  156. package/es/color-picker/style/index.d.ts +1 -0
  157. package/es/color-picker/style/index.js +2 -0
  158. package/es/color-picker/style/index.js.map +1 -0
  159. package/es/color-picker/type.d.ts +135 -0
  160. package/es/color-picker/utils/color-picker/cmyk.d.ts +27 -0
  161. package/es/color-picker/utils/color-picker/color.d.ts +144 -0
  162. package/es/color-picker/utils/color-picker/constants.d.ts +30 -0
  163. package/es/color-picker/utils/color-picker/draggable.d.ts +23 -0
  164. package/es/color-picker/utils/color-picker/format.d.ts +64 -0
  165. package/es/color-picker/utils/color-picker/gradient.d.ts +22 -0
  166. package/es/color-picker/utils/color-picker/index.d.ts +7 -0
  167. package/es/color-picker/utils/color-picker/index.js +147 -0
  168. package/es/color-picker/utils/color-picker/index.js.map +1 -0
  169. package/es/color-picker/utils/color-picker/types.d.ts +28 -0
  170. package/es/common/Check.d.ts +22 -0
  171. package/es/common/Check.js +4 -3
  172. package/es/common/Check.js.map +1 -1
  173. package/es/common/FakeArrow.d.ts +9 -0
  174. package/es/common/FakeArrow.js +3 -2
  175. package/es/common/FakeArrow.js.map +1 -1
  176. package/es/common/PluginContainer.d.ts +9 -0
  177. package/es/common/PluginContainer.js +2 -1
  178. package/es/common/PluginContainer.js.map +1 -1
  179. package/es/common/Portal.d.ts +16 -0
  180. package/es/common/Portal.js +6 -3
  181. package/es/common/Portal.js.map +1 -1
  182. package/es/common/observe.d.ts +1 -0
  183. package/es/common.d.ts +81 -0
  184. package/es/config-provider/ConfigContext.d.ts +13 -0
  185. package/es/config-provider/ConfigContext.js +5 -16
  186. package/es/config-provider/ConfigContext.js.map +1 -1
  187. package/es/config-provider/ConfigProvider.d.ts +25 -0
  188. package/es/config-provider/ConfigProvider.js +2 -1
  189. package/es/config-provider/ConfigProvider.js.map +1 -1
  190. package/es/config-provider/index.d.ts +7 -0
  191. package/es/config-provider/index.js +2 -1
  192. package/es/config-provider/index.js.map +1 -1
  193. package/es/config-provider/type.d.ts +1029 -0
  194. package/es/dialog/Dialog.d.ts +8 -0
  195. package/es/dialog/Dialog.js +12 -149
  196. package/es/dialog/Dialog.js.map +1 -1
  197. package/es/dialog/DialogCard.d.ts +8 -0
  198. package/es/dialog/DialogCard.js +9 -7
  199. package/es/dialog/DialogCard.js.map +1 -1
  200. package/es/dialog/defaultProps.d.ts +6 -0
  201. package/es/dialog/hooks/useDialogDrag.d.ts +7 -0
  202. package/es/dialog/hooks/useDialogEsc.d.ts +3 -0
  203. package/es/dialog/hooks/useDialogPosition.d.ts +2 -0
  204. package/es/dialog/hooks/useLockStyle.d.ts +2 -0
  205. package/es/dialog/index.d.ts +8 -0
  206. package/es/dialog/index.js +12 -8
  207. package/es/dialog/index.js.map +1 -1
  208. package/es/dialog/plugin.d.ts +6 -0
  209. package/es/dialog/plugin.js +15 -10
  210. package/es/dialog/plugin.js.map +1 -1
  211. package/es/dialog/style/css.d.ts +1 -0
  212. package/es/dialog/style/index.d.ts +1 -0
  213. package/es/dialog/type.d.ts +227 -0
  214. package/es/dialog/utils.d.ts +1 -0
  215. package/es/drawer/Drawer.d.ts +11 -0
  216. package/es/drawer/Drawer.js +458 -0
  217. package/es/drawer/Drawer.js.map +1 -0
  218. package/es/drawer/defaultProps.d.ts +2 -0
  219. package/es/drawer/hooks/useDrag.d.ts +8 -0
  220. package/es/drawer/hooks/useLockStyle.d.ts +1 -0
  221. package/es/drawer/index.d.ts +4 -0
  222. package/es/drawer/index.js +39 -0
  223. package/es/drawer/index.js.map +1 -0
  224. package/es/drawer/style/css.d.ts +1 -0
  225. package/es/drawer/style/css.js +1 -0
  226. package/es/drawer/style/index.css +231 -0
  227. package/es/drawer/style/index.d.ts +1 -0
  228. package/es/drawer/style/index.js +2 -0
  229. package/es/drawer/style/index.js.map +1 -0
  230. package/es/drawer/type.d.ts +199 -0
  231. package/es/drawer/utils/index.d.ts +23 -0
  232. package/es/drawer/utils/index.js +46 -0
  233. package/es/drawer/utils/index.js.map +1 -0
  234. package/es/fireworks/Fireworks.d.ts +7 -0
  235. package/es/fireworks/Fireworks.js +139 -0
  236. package/es/fireworks/Fireworks.js.map +1 -0
  237. package/es/fireworks/index.d.ts +5 -0
  238. package/es/fireworks/index.js +16 -0
  239. package/es/fireworks/index.js.map +1 -0
  240. package/es/fireworks/style/css.d.ts +1 -0
  241. package/es/fireworks/style/css.js +2 -0
  242. package/es/fireworks/style/index.css +121 -0
  243. package/es/fireworks/style/index.d.ts +1 -0
  244. package/es/fireworks/style/index.js +2 -0
  245. package/es/fireworks/style/index.js.map +1 -0
  246. package/es/fireworks/type.d.ts +69 -0
  247. package/es/form/Form.d.ts +8 -0
  248. package/es/form/Form.js +14 -10
  249. package/es/form/Form.js.map +1 -1
  250. package/es/form/FormContext.d.ts +59 -0
  251. package/es/form/FormItem.d.ts +23 -0
  252. package/es/form/FormItem.js +14 -10
  253. package/es/form/FormItem.js.map +1 -1
  254. package/es/form/FormList.d.ts +4 -0
  255. package/es/form/FormList.js +2 -1
  256. package/es/form/FormList.js.map +1 -1
  257. package/es/form/const.d.ts +6 -0
  258. package/es/form/defaultProps.d.ts +3 -0
  259. package/es/form/easing.d.ts +2 -0
  260. package/es/form/formModel.d.ts +37 -0
  261. package/es/form/hooks/interface.d.ts +16 -0
  262. package/es/form/hooks/useForm.d.ts +3 -0
  263. package/es/form/hooks/useFormItemInitialData.d.ts +9 -0
  264. package/es/form/hooks/useFormItemStyle.d.ts +10 -0
  265. package/es/form/hooks/useFormItemStyle.js +4 -3
  266. package/es/form/hooks/useFormItemStyle.js.map +1 -1
  267. package/es/form/hooks/useInstance.d.ts +16 -0
  268. package/es/form/hooks/useInstance.js +5 -4
  269. package/es/form/hooks/useInstance.js.map +1 -1
  270. package/es/form/hooks/useWatch.d.ts +3 -0
  271. package/es/form/index.d.ts +7 -0
  272. package/es/form/index.js +14 -10
  273. package/es/form/index.js.map +1 -1
  274. package/es/form/scroll.d.ts +39 -0
  275. package/es/form/style/css.d.ts +1 -0
  276. package/es/form/style/index.d.ts +1 -0
  277. package/es/form/type.d.ts +486 -0
  278. package/es/form/utils/index.d.ts +5 -0
  279. package/es/global-config/default-config.d.ts +84 -0
  280. package/es/global-config/locale/ar_KW.d.ts +239 -0
  281. package/es/global-config/locale/en_US.d.ts +263 -0
  282. package/es/global-config/locale/it_IT.d.ts +263 -0
  283. package/es/global-config/locale/ja_JP.d.ts +263 -0
  284. package/es/global-config/locale/ko_KR.d.ts +263 -0
  285. package/es/global-config/locale/ru_RU.d.ts +263 -0
  286. package/es/global-config/locale/zh_CN.d.ts +263 -0
  287. package/es/global-config/locale/zh_TW.d.ts +263 -0
  288. package/es/global-config/mobile/default-config.d.ts +7 -0
  289. package/es/global-config/mobile/locale/ar_KW.d.ts +98 -0
  290. package/es/global-config/mobile/locale/en_US.d.ts +99 -0
  291. package/es/global-config/mobile/locale/it_IT.d.ts +99 -0
  292. package/es/global-config/mobile/locale/ja_JP.d.ts +99 -0
  293. package/es/global-config/mobile/locale/ko_KR.d.ts +99 -0
  294. package/es/global-config/mobile/locale/ru_RU.d.ts +99 -0
  295. package/es/global-config/mobile/locale/zh_CN.d.ts +99 -0
  296. package/es/global-config/mobile/locale/zh_TW.d.ts +99 -0
  297. package/es/global-config/t.d.ts +25 -0
  298. package/es/hooks/useAttach.d.ts +10 -0
  299. package/es/hooks/useCommonClassName.d.ts +54 -0
  300. package/es/hooks/useConfig.d.ts +2 -0
  301. package/es/hooks/useControlled.d.ts +9 -0
  302. package/es/hooks/useDeepEffect.d.ts +7 -0
  303. package/es/hooks/useDefaultProps.d.ts +1 -0
  304. package/es/hooks/useDomCallback.d.ts +1 -0
  305. package/es/hooks/useDomRefCallback.d.ts +1 -0
  306. package/es/hooks/useDragSorter.d.ts +28 -0
  307. package/es/hooks/useEventCallback.d.ts +9 -0
  308. package/es/hooks/useGlobalConfig.d.ts +1 -0
  309. package/es/hooks/useGlobalIcon.d.ts +5 -0
  310. package/es/hooks/useLastest.d.ts +2 -0
  311. package/es/hooks/useLayoutEffect.d.ts +3 -0
  312. package/es/hooks/useMouseEvent.d.ts +25 -0
  313. package/es/hooks/useMutationObserver.d.ts +4 -0
  314. package/es/hooks/usePopper.d.ts +19 -0
  315. package/es/hooks/useResizeObserve.d.ts +1 -0
  316. package/es/hooks/useRipple.d.ts +0 -0
  317. package/es/hooks/useSetState.d.ts +7 -0
  318. package/es/hooks/useVirtualScroll.d.ts +30 -0
  319. package/es/hooks/useWindowSize.d.ts +6 -0
  320. package/es/index.d.ts +25 -0
  321. package/es/index.js +68 -14
  322. package/es/index.js.map +1 -1
  323. package/es/input/Input.d.ts +16 -0
  324. package/es/input/Input.js +5 -5
  325. package/es/input/Input.js.map +1 -1
  326. package/es/input/InputGroup.d.ts +10 -0
  327. package/es/input/defaultProps.d.ts +17 -0
  328. package/es/input/index.d.ts +6 -0
  329. package/es/input/index.js +5 -3
  330. package/es/input/index.js.map +1 -1
  331. package/es/input/style/css.d.ts +1 -0
  332. package/es/input/style/index.d.ts +1 -0
  333. package/es/input/type.d.ts +237 -0
  334. package/es/input-number/InputNumber.d.ts +17 -0
  335. package/es/input-number/InputNumber.js +139 -0
  336. package/es/input-number/InputNumber.js.map +1 -0
  337. package/es/input-number/defaultProps.d.ts +2 -0
  338. package/es/input-number/index.d.ts +5 -0
  339. package/es/input-number/index.js +43 -0
  340. package/es/input-number/index.js.map +1 -0
  341. package/es/input-number/style/css.d.ts +1 -0
  342. package/es/input-number/style/css.js +1 -0
  343. package/es/input-number/style/index.css +331 -0
  344. package/es/input-number/style/index.d.ts +1 -0
  345. package/es/input-number/style/index.js +2 -0
  346. package/es/input-number/style/index.js.map +1 -0
  347. package/es/input-number/type.d.ts +156 -0
  348. package/es/input-number/useInputNumber.d.ts +51 -0
  349. package/es/input-number/useInputNumber.js +809 -0
  350. package/es/input-number/useInputNumber.js.map +1 -0
  351. package/es/ip-input/IPInput.d.ts +5 -0
  352. package/es/ip-input/IPInput.js +16 -0
  353. package/es/ip-input/IPInput.js.map +1 -0
  354. package/es/ip-input/defaultProps.d.ts +2 -0
  355. package/es/ip-input/index.d.ts +3 -0
  356. package/es/ip-input/index.js +16 -0
  357. package/es/ip-input/index.js.map +1 -0
  358. package/es/ip-input/style/index.css +323 -0
  359. package/es/ip-input/style/index.d.ts +1 -0
  360. package/es/ip-input/style/index.js +2 -0
  361. package/es/ip-input/style/index.js.map +1 -0
  362. package/es/ip-input/type.d.ts +113 -0
  363. package/es/ip-input/utils.d.ts +35 -0
  364. package/es/layout/Aside.d.ts +11 -0
  365. package/es/layout/Aside.js +41 -0
  366. package/es/layout/Aside.js.map +1 -0
  367. package/es/layout/Layout.d.ts +26 -0
  368. package/es/layout/Layout.js +106 -0
  369. package/es/layout/Layout.js.map +1 -0
  370. package/es/layout/defaultProps.d.ts +5 -0
  371. package/es/layout/index.d.ts +10 -0
  372. package/es/layout/index.js +19 -0
  373. package/es/layout/index.js.map +1 -0
  374. package/es/layout/style/index.css +56 -0
  375. package/es/layout/style/index.d.ts +1 -0
  376. package/es/layout/style/index.js +2 -0
  377. package/es/layout/style/index.js.map +1 -0
  378. package/es/layout/type.d.ts +38 -0
  379. package/es/list/List.d.ts +17 -0
  380. package/es/list/List.js +217 -0
  381. package/es/list/List.js.map +1 -0
  382. package/es/list/ListItem.d.ts +15 -0
  383. package/es/list/ListItem.js +31 -0
  384. package/es/list/ListItem.js.map +1 -0
  385. package/es/list/ListItemMeta.d.ts +10 -0
  386. package/es/list/ListItemMeta.js +45 -0
  387. package/es/list/ListItemMeta.js.map +1 -0
  388. package/es/list/defaultProps.d.ts +7 -0
  389. package/es/list/hooks/useListVirtualScroll.d.ts +24 -0
  390. package/es/list/index.d.ts +10 -0
  391. package/es/list/index.js +40 -0
  392. package/es/list/index.js.map +1 -0
  393. package/es/list/style/css.d.ts +1 -0
  394. package/es/list/style/css.js +1 -0
  395. package/es/list/style/index.css +172 -0
  396. package/es/list/style/index.d.ts +1 -0
  397. package/es/list/style/index.js +2 -0
  398. package/es/list/style/index.js.map +1 -0
  399. package/es/list/type.d.ts +92 -0
  400. package/es/loading/Gradient.d.ts +6 -0
  401. package/es/loading/Gradient.js +4 -3
  402. package/es/loading/Gradient.js.map +1 -1
  403. package/es/loading/Loading.d.ts +7 -0
  404. package/es/loading/Loading.js +7 -5
  405. package/es/loading/Loading.js.map +1 -1
  406. package/es/loading/circleAdapter.d.ts +1 -0
  407. package/es/loading/defaultProps.d.ts +2 -0
  408. package/es/loading/index.d.ts +5 -0
  409. package/es/loading/index.js +7 -5
  410. package/es/loading/index.js.map +1 -1
  411. package/es/loading/style/css.d.ts +1 -0
  412. package/es/loading/style/index.d.ts +1 -0
  413. package/es/loading/type.d.ts +68 -0
  414. package/es/loading/utils/setStyle.d.ts +7 -0
  415. package/es/locale/LocalReceiver.d.ts +6 -0
  416. package/es/locale/ar_KW.d.ts +3 -0
  417. package/es/locale/en_US.d.ts +3 -0
  418. package/es/locale/it_IT.d.ts +3 -0
  419. package/es/locale/ja_JP.d.ts +3 -0
  420. package/es/locale/ko_KR.d.ts +3 -0
  421. package/es/locale/ru_RU.d.ts +3 -0
  422. package/es/locale/zh_CN.d.ts +3 -0
  423. package/es/locale/zh_TW.d.ts +3 -0
  424. package/es/myform/index.d.ts +0 -0
  425. package/es/notification/Notify.d.ts +11 -0
  426. package/es/notification/NotifyContainer.d.ts +13 -0
  427. package/es/notification/NotifyContainer.js +3 -2
  428. package/es/notification/NotifyContainer.js.map +1 -1
  429. package/es/notification/NotifyContext.d.ts +23 -0
  430. package/es/notification/NotifyContext.js +3 -2
  431. package/es/notification/NotifyContext.js.map +1 -1
  432. package/es/notification/NotifyItem.d.ts +4 -0
  433. package/es/notification/NotifyItem.js +3 -2
  434. package/es/notification/NotifyItem.js.map +1 -1
  435. package/es/notification/index.d.ts +3 -0
  436. package/es/notification/index.js +3 -2
  437. package/es/notification/index.js.map +1 -1
  438. package/es/notification/style/css.d.ts +1 -0
  439. package/es/notification/style/index.d.ts +1 -0
  440. package/es/notification/type.d.ts +22 -0
  441. package/es/popup/Popup.d.ts +21 -0
  442. package/es/popup/Popup.js +36 -100
  443. package/es/popup/Popup.js.map +1 -1
  444. package/es/popup/defaultProps.d.ts +5 -0
  445. package/es/popup/hooks/useTrigger.d.ts +20 -0
  446. package/es/popup/index.d.ts +5 -0
  447. package/es/popup/index.js +8 -4
  448. package/es/popup/index.js.map +1 -1
  449. package/es/popup/style/css.d.ts +1 -0
  450. package/es/popup/style/index.d.ts +1 -0
  451. package/es/popup/type.d.ts +109 -0
  452. package/es/portal/Portal.d.ts +16 -0
  453. package/es/portal/Portal.js +2 -1
  454. package/es/portal/Portal.js.map +1 -1
  455. package/es/portal/index.d.ts +1 -0
  456. package/es/portal/index.js +2 -1
  457. package/es/portal/index.js.map +1 -1
  458. package/es/radio/Radio.d.ts +8 -0
  459. package/es/radio/Radio.js +22 -0
  460. package/es/radio/Radio.js.map +1 -0
  461. package/es/radio/RadioGroup.d.ts +14 -0
  462. package/es/radio/RadioGroup.js +22 -0
  463. package/es/radio/RadioGroup.js.map +1 -0
  464. package/es/radio/defaultProps.d.ts +3 -0
  465. package/es/radio/index.d.ts +10 -0
  466. package/es/radio/index.js +28 -0
  467. package/es/radio/index.js.map +1 -0
  468. package/es/radio/style/css.d.ts +0 -0
  469. package/es/radio/style/css.js +0 -0
  470. package/es/radio/style/index.css +333 -0
  471. package/es/radio/style/index.d.ts +1 -0
  472. package/es/radio/style/index.js +2 -0
  473. package/es/radio/style/index.js.map +1 -0
  474. package/es/radio/type.d.ts +117 -0
  475. package/es/radio/useKeyboard.d.ts +4 -0
  476. package/es/select/Option.d.ts +24 -0
  477. package/es/select/Option.js +3 -2
  478. package/es/select/Option.js.map +1 -1
  479. package/es/select/OptionGroup.d.ts +7 -0
  480. package/es/select/OptionGroup.js +4 -3
  481. package/es/select/OptionGroup.js.map +1 -1
  482. package/es/select/PopupContent.d.ts +24 -0
  483. package/es/select/PopupContent.js +6 -4
  484. package/es/select/PopupContent.js.map +1 -1
  485. package/es/select/Select.d.ts +13 -0
  486. package/es/select/Select.js +21 -12
  487. package/es/select/Select.js.map +1 -1
  488. package/es/select/defaultProps.d.ts +4 -0
  489. package/es/select/hooks/useOptions.d.ts +16 -0
  490. package/es/select/hooks/usePanelVirtualScroll.d.ts +24 -0
  491. package/es/select/index.d.ts +8 -0
  492. package/es/select/index.js +14 -8
  493. package/es/select/index.js.map +1 -1
  494. package/es/select/style/css.d.ts +1 -0
  495. package/es/select/style/index.d.ts +1 -0
  496. package/es/select/type.d.ts +344 -0
  497. package/es/select/utils/helper.d.ts +18 -0
  498. package/es/select-input/SelectInput.d.ts +11 -0
  499. package/es/select-input/SelectInput.js +10 -5
  500. package/es/select-input/SelectInput.js.map +1 -1
  501. package/es/select-input/defaultProps.d.ts +2 -0
  502. package/es/select-input/hook/useMultiple.d.ts +23 -0
  503. package/es/select-input/hook/useMultiple.js +7 -4
  504. package/es/select-input/hook/useMultiple.js.map +1 -1
  505. package/es/select-input/hook/useOverlayInnerStyle.d.ts +11 -0
  506. package/es/select-input/hook/useSingle.d.ts +16 -0
  507. package/es/select-input/hook/useSingle.js +5 -3
  508. package/es/select-input/hook/useSingle.js.map +1 -1
  509. package/es/select-input/index.d.ts +5 -0
  510. package/es/select-input/index.js +10 -5
  511. package/es/select-input/index.js.map +1 -1
  512. package/es/select-input/interface.d.ts +17 -0
  513. package/es/select-input/style/css.d.ts +1 -0
  514. package/es/select-input/style/index.d.ts +1 -0
  515. package/es/select-input/type.d.ts +243 -0
  516. package/es/slider/Slider.d.ts +7 -0
  517. package/es/slider/Slider.js +668 -0
  518. package/es/slider/Slider.js.map +1 -0
  519. package/es/slider/SliderHandleButton.d.ts +11 -0
  520. package/es/slider/SliderHandleButton.js +48 -0
  521. package/es/slider/SliderHandleButton.js.map +1 -0
  522. package/es/slider/defaultProps.d.ts +5 -0
  523. package/es/slider/index.d.ts +5 -0
  524. package/es/slider/index.js +46 -0
  525. package/es/slider/index.js.map +1 -0
  526. package/es/slider/style/css.d.ts +1 -0
  527. package/es/slider/style/css.js +1 -0
  528. package/es/slider/style/index.css +252 -0
  529. package/es/slider/style/index.d.ts +1 -0
  530. package/es/slider/style/index.js +2 -0
  531. package/es/slider/style/index.js.map +1 -0
  532. package/es/slider/type.d.ts +78 -0
  533. package/es/space/defaultProps.d.ts +0 -0
  534. package/es/space/index.d.ts +0 -0
  535. package/es/space/type.d.ts +0 -0
  536. package/es/style/index.css +24 -34
  537. package/es/style/index.d.ts +1 -0
  538. package/es/switch/Switch.d.ts +9 -0
  539. package/es/switch/Switch.js +9 -47
  540. package/es/switch/Switch.js.map +1 -1
  541. package/es/switch/defaultProps.d.ts +2 -0
  542. package/es/switch/index.d.ts +4 -0
  543. package/es/switch/index.js +8 -5
  544. package/es/switch/index.js.map +1 -1
  545. package/es/switch/style/css.d.ts +1 -0
  546. package/es/switch/style/index.d.ts +1 -0
  547. package/es/switch/type.d.ts +48 -0
  548. package/es/tab/TabBar.d.ts +9 -0
  549. package/es/tab/TabBar.js +109 -0
  550. package/es/tab/TabBar.js.map +1 -0
  551. package/es/tab/TabNav.d.ts +10 -0
  552. package/es/tab/TabNav.js +123 -0
  553. package/es/tab/TabNav.js.map +1 -0
  554. package/es/tab/TabNavItem.d.ts +15 -0
  555. package/es/tab/TabNavItem.js +65 -0
  556. package/es/tab/TabNavItem.js.map +1 -0
  557. package/es/tab/TabPanel.d.ts +9 -0
  558. package/es/tab/TabPanel.js +11 -0
  559. package/es/tab/TabPanel.js.map +1 -0
  560. package/es/tab/Tabs.d.ts +10 -0
  561. package/es/tab/Tabs.js +95 -0
  562. package/es/tab/Tabs.js.map +1 -0
  563. package/es/tab/defaultProps.d.ts +3 -0
  564. package/es/tab/index.d.ts +8 -0
  565. package/es/tab/index.js +31 -0
  566. package/es/tab/index.js.map +1 -0
  567. package/es/tab/style/index.css +159 -0
  568. package/es/tab/style/index.d.ts +1 -0
  569. package/es/tab/style/index.js +2 -0
  570. package/es/tab/style/index.js.map +1 -0
  571. package/es/tab/type.d.ts +130 -0
  572. package/es/tab/useTabClass.d.ts +8 -0
  573. package/es/table/Cell.d.ts +18 -0
  574. package/es/table/Cell.js +73 -0
  575. package/es/table/Cell.js.map +1 -0
  576. package/es/table/TBody.d.ts +28 -0
  577. package/es/table/TBody.js +70 -0
  578. package/es/table/TBody.js.map +1 -0
  579. package/es/table/THead.d.ts +10 -0
  580. package/es/table/THead.js +56 -0
  581. package/es/table/THead.js.map +1 -0
  582. package/es/table/TR.d.ts +28 -0
  583. package/es/table/TR.js +76 -0
  584. package/es/table/TR.js.map +1 -0
  585. package/es/table/Table.d.ts +6 -0
  586. package/es/table/Table.js +98 -0
  587. package/es/table/Table.js.map +1 -0
  588. package/es/table/defaultProps.d.ts +2 -0
  589. package/es/table/hooks/index.d.ts +4 -0
  590. package/es/table/hooks/index.js +98 -0
  591. package/es/table/hooks/index.js.map +1 -0
  592. package/es/table/hooks/useTableClassName.d.ts +26 -0
  593. package/es/table/hooks/useTableStyle.d.ts +11 -0
  594. package/es/table/index.d.ts +5 -0
  595. package/es/table/index.js +22 -0
  596. package/es/table/index.js.map +1 -0
  597. package/es/table/style/css.d.ts +1 -0
  598. package/es/table/style/css.js +1 -0
  599. package/es/table/style/index.css +139 -0
  600. package/es/table/style/index.d.ts +1 -0
  601. package/es/table/style/index.js +2 -0
  602. package/es/table/style/index.js.map +1 -0
  603. package/es/table/type.d.ts +195 -0
  604. package/es/tag/Tag.d.ts +14 -0
  605. package/es/tag/Tag.js +5 -1182
  606. package/es/tag/Tag.js.map +1 -1
  607. package/es/tag/defaultProps.d.ts +7 -0
  608. package/es/tag/index.d.ts +4 -0
  609. package/es/tag/index.js +5 -3
  610. package/es/tag/index.js.map +1 -1
  611. package/es/tag/style/css.d.ts +1 -0
  612. package/es/tag/style/index.d.ts +1 -0
  613. package/es/tag/type.d.ts +169 -0
  614. package/es/tag-input/TagInput.d.ts +9 -0
  615. package/es/tag-input/TagInput.js +7 -4
  616. package/es/tag-input/TagInput.js.map +1 -1
  617. package/es/tag-input/defaultProps.d.ts +2 -0
  618. package/es/tag-input/hooks/useHover.d.ts +17 -0
  619. package/es/tag-input/hooks/useTagList.d.ts +30 -0
  620. package/es/tag-input/hooks/useTagList.js +5 -3
  621. package/es/tag-input/hooks/useTagList.js.map +1 -1
  622. package/es/tag-input/hooks/useTagScroll.d.ts +25 -0
  623. package/es/tag-input/index.d.ts +5 -0
  624. package/es/tag-input/index.js +7 -4
  625. package/es/tag-input/index.js.map +1 -1
  626. package/es/tag-input/style/css.d.ts +1 -0
  627. package/es/tag-input/style/index.d.ts +1 -0
  628. package/es/tag-input/type.d.ts +235 -0
  629. package/es/tag-input/useTagList.d.ts +30 -0
  630. package/es/tag-input/useTagList.js +5 -3
  631. package/es/tag-input/useTagList.js.map +1 -1
  632. package/es/utils/composeRefs.d.ts +2 -0
  633. package/es/utils/dom.d.ts +7 -0
  634. package/es/utils/forwardRefWithStatics.d.ts +2 -0
  635. package/es/utils/getScrollbarWidth.d.ts +6 -0
  636. package/es/utils/helper.d.ts +46 -0
  637. package/es/utils/input-number/large-number.d.ts +85 -0
  638. package/es/utils/input-number/number.d.ts +81 -0
  639. package/es/utils/isFragment.d.ts +4 -0
  640. package/es/utils/listener.d.ts +4 -0
  641. package/es/utils/log/index.d.ts +2 -0
  642. package/es/utils/log/index.js +27 -0
  643. package/es/utils/log/index.js.map +1 -0
  644. package/es/utils/log/log.d.ts +3 -0
  645. package/es/utils/log/types.d.ts +8 -0
  646. package/es/utils/noop.d.ts +2 -0
  647. package/es/utils/number.d.ts +7 -0
  648. package/es/utils/parentTNode.d.ts +10 -0
  649. package/es/utils/parseTNode.d.ts +10 -0
  650. package/es/utils/react-render.d.ts +16 -0
  651. package/es/utils/ref.d.ts +1 -0
  652. package/es/utils/refs.d.ts +13 -0
  653. package/es/utils/scroll.d.ts +3 -0
  654. package/es/utils/style.d.ts +4 -0
  655. package/es/utils/transition.d.ts +20 -0
  656. package/package.json +59 -59
  657. package/LICENSE +0 -21
  658. package/es/_chunks/dep-0QH2Ee4R.js.map +0 -1
  659. package/es/_chunks/dep-BH5n5r1M.js.map +0 -1
  660. package/es/_chunks/dep-D7LanWes.js.map +0 -1
  661. package/es/_chunks/dep-DZ_0EvBk.js.map +0 -1
  662. package/es/_chunks/dep-Dk2xX8lh.js.map +0 -1
  663. package/es/_chunks/dep-EcrDKDlu.js.map +0 -1
  664. package/es/_chunks/dep-bWaVq_y3.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NotifyContext.js","sources":["../../../components/notification/NotifyContext.tsx"],"sourcesContent":["import React, { createContext, useState, useRef, useCallback, useContext } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport NotifyContainer from \"./NotifyContainer\";\n\n// 1. 定义类型\ntype NotificationType = \"success\" | \"error\" | \"warning\" | \"info\";\n\ninterface Notification {\n id: string;\n type: NotificationType;\n message: string;\n createdAt: number;\n isRemoved: boolean;\n title: string;\n}\n\n// 2. 定义 Context 类型\ninterface NotificationContextType {\n notify: (type: NotificationType, message: Message) => void;\n success: (message: Message) => void;\n error: (message: Message) => void;\n warning: (message: Message) => void;\n info: (message: Message) => void;\n removeNotification: (id: string) => void;\n}\n\n// 3. 创建 Context\nconst NotificationContext = createContext<NotificationContextType | null>(null);\n\n// 4. 生成唯一 ID 的辅助函数\nconst generateId = () => Math.random().toString(36).substr(2, 9);\n\n// 5. Provider 组件\ninterface NotificationProviderProps {\n children: React.ReactNode;\n maxStack?: number;\n displayDuration?: number;\n position?: string;\n}\n\ntype Message = {\n title: string;\n message: string;\n};\nexport const NotificationProvider: React.FC<NotificationProviderProps> = ({\n children,\n maxStack = 5,\n displayDuration = 3000,\n position = \"top-right\"\n}) => {\n const [notifications, setNotifications] = useState<Notification[]>([]);\n const timersRef = useRef<Map<string, NodeJS.Timeout>>(new Map());\n const pausedAtRef = useRef<Map<string, number>>(new Map());\n\n // 定时器相关函数\n const clearNotificationTimer = useCallback((id: string) => {\n const timer = timersRef.current.get(id);\n if (timer) {\n clearTimeout(timer);\n timersRef.current.delete(id);\n }\n }, []);\n\n const startTimer = useCallback(\n (notification: Notification, remainingTime?: number) => {\n const duration = remainingTime ?? displayDuration;\n const timer = setTimeout(() => {\n setNotifications((prev) => prev.map((n) => (n.id === notification.id ? { ...n, isRemoved: true } : n)));\n setTimeout(() => {\n setNotifications((prev) => prev.filter((t) => t.id !== notification.id));\n clearNotificationTimer(notification.id);\n pausedAtRef.current.delete(notification.id);\n }, 400);\n }, duration);\n timersRef.current.set(notification.id, timer);\n },\n [displayDuration, clearNotificationTimer]\n );\n\n // 6. 核心通知函数\n const addNotification = useCallback(\n (type: NotificationType, message: Message) => {\n const newNotification: Notification = {\n id: generateId(),\n type,\n title: message.title,\n message: message.message,\n createdAt: Date.now(),\n isRemoved: false\n };\n\n setNotifications((prev) => {\n const newNotifications = [newNotification, ...prev];\n const removedNotifications = newNotifications.slice(maxStack);\n\n removedNotifications.forEach((notification) => {\n clearNotificationTimer(notification.id);\n pausedAtRef.current.delete(notification.id);\n });\n\n return newNotifications.slice(0, maxStack);\n });\n\n startTimer(newNotification);\n },\n [maxStack, startTimer, clearNotificationTimer]\n );\n\n // 7. 提供的 Context 值\n const contextValue = React.useMemo(\n () => ({\n notify: addNotification,\n success: (message: Message) => addNotification(\"success\", message),\n error: (message: Message) => addNotification(\"error\", message),\n warning: (message: Message) => addNotification(\"warning\", message),\n info: (message: Message) => addNotification(\"info\", message),\n removeNotification: (id: string) => {\n setNotifications((prev) => prev.filter((t) => t.id !== id));\n clearNotificationTimer(id);\n pausedAtRef.current.delete(id);\n }\n }),\n [addNotification, clearNotificationTimer]\n );\n\n // 悬停处理\n const clearAllTimers = useCallback(() => {\n const now = Date.now();\n notifications.forEach((notification) => {\n pausedAtRef.current.set(notification.id, now);\n clearNotificationTimer(notification.id);\n });\n }, [notifications, clearNotificationTimer]);\n\n const restartAllTimers = useCallback(() => {\n notifications.forEach((notification) => {\n const pausedAt = pausedAtRef.current.get(notification.id);\n if (pausedAt) {\n const elapsedTime = pausedAt - notification.createdAt;\n const remainingTime = Math.max(0, displayDuration - elapsedTime);\n startTimer(notification, remainingTime);\n pausedAtRef.current.delete(notification.id);\n }\n });\n }, [notifications, displayDuration, startTimer]);\n\n return (\n <NotificationContext.Provider value={contextValue}>\n {children}\n {createPortal(\n <NotifyContainer\n notifications={notifications as unknown as TdNotificationProps[]}\n onRemove={(id) => contextValue.removeNotification(id)}\n onHoverStart={clearAllTimers}\n onHoverEnd={restartAllTimers}\n data-testid=\"notification-container\"\n maxStack={maxStack}\n position={position}\n />,\n document.body\n )}\n </NotificationContext.Provider>\n );\n};\n\n// 8. 创建自定义 Hook\nexport const useNotification = () => {\n const context = useContext(NotificationContext);\n if (!context) {\n throw new Error(\"useNotification must be used within a NotificationProvider\");\n }\n return context;\n};\n"],"names":["NotificationContext","createContext","generateId","Math","random","toString","substr","NotificationProvider","children","_ref","_ref$maxStack","maxStack","_ref$displayDuration","displayDuration","_ref$position","position","_useState","useState","_useState2","_slicedToArray","notifications","setNotifications","timersRef","useRef","Map","pausedAtRef","clearNotificationTimer","useCallback","id","timer","current","get","clearTimeout","startTimer","notification","remainingTime","duration","setTimeout","prev","map","n","_objectSpread","isRemoved","filter","t","set","addNotification","type","message","newNotification","title","createdAt","Date","now","newNotifications","concat","_toConsumableArray","removedNotifications","slice","forEach","contextValue","React","useMemo","notify","success","error","warning","info","removeNotification","clearAllTimers","restartAllTimers","pausedAt","elapsedTime","max","Provider","value","createPortal","createElement","NotifyContainer","onRemove","onHoverStart","onHoverEnd","document","body","useNotification","context","useContext","Error"],"mappings":"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"}
1
+ {"version":3,"file":"NotifyContext.js","sources":["../../../components/notification/NotifyContext.tsx"],"sourcesContent":["import React, { createContext, useState, useRef, useCallback, useContext } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport NotifyContainer from \"./NotifyContainer\";\nimport { TdNotificationProps } from \"./type\";\n\n// 1. 定义类型\ntype NotificationType = \"success\" | \"error\" | \"warning\" | \"info\";\n\ninterface Notification {\n id: string;\n type: NotificationType;\n message: string;\n createdAt: number;\n isRemoved: boolean;\n title: string;\n}\n\n// 2. 定义 Context 类型\ninterface NotificationContextType {\n notify: (type: NotificationType, message: Message) => void;\n success: (message: Message) => void;\n error: (message: Message) => void;\n warning: (message: Message) => void;\n info: (message: Message) => void;\n removeNotification: (id: string) => void;\n}\n\n// 3. 创建 Context\nconst NotificationContext = createContext<NotificationContextType | null>(null);\n\n// 4. 生成唯一 ID 的辅助函数\nconst generateId = () => Math.random().toString(36).substr(2, 9);\n\n// 5. Provider 组件\ninterface NotificationProviderProps {\n children: React.ReactNode;\n maxStack?: number;\n displayDuration?: number;\n position?: string;\n}\n\ntype Message = {\n title: string;\n message: string;\n};\nexport const NotificationProvider: React.FC<NotificationProviderProps> = ({\n children,\n maxStack = 5,\n displayDuration = 3000,\n position = \"top-right\"\n}) => {\n const [notifications, setNotifications] = useState<Notification[]>([]);\n const timersRef = useRef<Map<string, NodeJS.Timeout>>(new Map());\n const pausedAtRef = useRef<Map<string, number>>(new Map());\n\n // 定时器相关函数\n const clearNotificationTimer = useCallback((id: string) => {\n const timer = timersRef.current.get(id);\n if (timer) {\n clearTimeout(timer);\n timersRef.current.delete(id);\n }\n }, []);\n\n const startTimer = useCallback(\n (notification: Notification, remainingTime?: number) => {\n const duration = remainingTime ?? displayDuration;\n const timer = setTimeout(() => {\n setNotifications((prev) => prev.map((n) => (n.id === notification.id ? { ...n, isRemoved: true } : n)));\n setTimeout(() => {\n setNotifications((prev) => prev.filter((t) => t.id !== notification.id));\n clearNotificationTimer(notification.id);\n pausedAtRef.current.delete(notification.id);\n }, 400);\n }, duration);\n timersRef.current.set(notification.id, timer);\n },\n [displayDuration, clearNotificationTimer]\n );\n\n // 6. 核心通知函数\n const addNotification = useCallback(\n (type: NotificationType, message: Message) => {\n const newNotification: Notification = {\n id: generateId(),\n type,\n title: message.title,\n message: message.message,\n createdAt: Date.now(),\n isRemoved: false\n };\n\n setNotifications((prev) => {\n const newNotifications = [newNotification, ...prev];\n const removedNotifications = newNotifications.slice(maxStack);\n\n removedNotifications.forEach((notification) => {\n clearNotificationTimer(notification.id);\n pausedAtRef.current.delete(notification.id);\n });\n\n return newNotifications.slice(0, maxStack);\n });\n\n startTimer(newNotification);\n },\n [maxStack, startTimer, clearNotificationTimer]\n );\n\n // 7. 提供的 Context 值\n const contextValue = React.useMemo(\n () => ({\n notify: addNotification,\n success: (message: Message) => addNotification(\"success\", message),\n error: (message: Message) => addNotification(\"error\", message),\n warning: (message: Message) => addNotification(\"warning\", message),\n info: (message: Message) => addNotification(\"info\", message),\n removeNotification: (id: string) => {\n setNotifications((prev) => prev.filter((t) => t.id !== id));\n clearNotificationTimer(id);\n pausedAtRef.current.delete(id);\n }\n }),\n [addNotification, clearNotificationTimer]\n );\n\n // 悬停处理\n const clearAllTimers = useCallback(() => {\n const now = Date.now();\n notifications.forEach((notification) => {\n pausedAtRef.current.set(notification.id, now);\n clearNotificationTimer(notification.id);\n });\n }, [notifications, clearNotificationTimer]);\n\n const restartAllTimers = useCallback(() => {\n notifications.forEach((notification) => {\n const pausedAt = pausedAtRef.current.get(notification.id);\n if (pausedAt) {\n const elapsedTime = pausedAt - notification.createdAt;\n const remainingTime = Math.max(0, displayDuration - elapsedTime);\n startTimer(notification, remainingTime);\n pausedAtRef.current.delete(notification.id);\n }\n });\n }, [notifications, displayDuration, startTimer]);\n\n return (\n <NotificationContext.Provider value={contextValue}>\n {children}\n {createPortal(\n <NotifyContainer\n notifications={notifications as unknown as TdNotificationProps[]}\n onRemove={(id) => contextValue.removeNotification(id)}\n onHoverStart={clearAllTimers}\n onHoverEnd={restartAllTimers}\n data-testid=\"notification-container\"\n maxStack={maxStack}\n position={position}\n />,\n document.body\n )}\n </NotificationContext.Provider>\n );\n};\n\n// 8. 创建自定义 Hook\nexport const useNotification = () => {\n const context = useContext(NotificationContext);\n if (!context) {\n throw new Error(\"useNotification must be used within a NotificationProvider\");\n }\n return context;\n};\n"],"names":["NotificationContext","createContext","generateId","Math","random","toString","substr","NotificationProvider","children","_ref","_ref$maxStack","maxStack","_ref$displayDuration","displayDuration","_ref$position","position","_useState","useState","_useState2","_slicedToArray","notifications","setNotifications","timersRef","useRef","Map","pausedAtRef","clearNotificationTimer","useCallback","id","timer","current","get","clearTimeout","startTimer","notification","remainingTime","duration","setTimeout","prev","map","n","_objectSpread","isRemoved","filter","t","set","addNotification","type","message","newNotification","title","createdAt","Date","now","newNotifications","concat","_toConsumableArray","removedNotifications","slice","forEach","contextValue","React","useMemo","notify","success","error","warning","info","removeNotification","clearAllTimers","restartAllTimers","pausedAt","elapsedTime","max","Provider","value","createPortal","createElement","NotifyContainer","onRemove","onHoverStart","onHoverEnd","document","body","useNotification","context","useContext","Error"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { TdNotificationProps } from "./type";
3
+ declare const NotificationItem: React.FC<TdNotificationProps>;
4
+ export default NotificationItem;
@@ -3,9 +3,10 @@ import { _ as _toConsumableArray } from '../_chunks/dep-CgyDw_YI.js';
3
3
  import { _ as _slicedToArray } from '../_chunks/dep-CzLhKWCf.js';
4
4
  import React, { useState, useRef, useLayoutEffect } from 'react';
5
5
  import { IconCheckCircleStroked, IconClose, IconInfoCircle, IconAlertTriangle } from '@tendaui/icons';
6
- import { u as useConfig } from '../_chunks/dep-u1x3x6MJ.js';
6
+ import { u as useConfig } from '../_chunks/dep-gy8uvBaS.js';
7
7
  import '../_chunks/dep-D-UKOauR.js';
8
- import '../config-provider/ConfigContext.js';
8
+ import '../_chunks/dep-5U9UjDaf.js';
9
+ import 'dayjs';
9
10
 
10
11
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
12
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -1 +1 @@
1
- {"version":3,"file":"NotifyItem.js","sources":["../../../components/notification/NotifyItem.tsx"],"sourcesContent":["import React, { useLayoutEffect, useRef, useState } from \"react\";\nimport { TdNotificationProps, HeightItem } from \"./type\";\nimport { IconClose, IconInfoCircle, IconCheckCircleStroked, IconAlertTriangle } from \"@tendaui/icons\";\nimport useConfig from \"../hooks/useConfig\";\n\nconst NotificationItem: React.FC<TdNotificationProps> = ({\n message,\n type,\n heights,\n setHeights,\n id,\n gap,\n isExpanded,\n isRemoved,\n title\n}) => {\n const [initialHeight, setInitialHeight] = useState(0);\n const [isMounted, setIsMounted] = useState(false);\n const nofityItem = useRef<HTMLDivElement>(null);\n const { classPrefix: prefix } = useConfig();\n React.useEffect(() => {\n setIsMounted(true);\n }, []);\n\n React.useEffect(() => {\n const notifyNode = nofityItem.current;\n if (notifyNode) {\n const height = notifyNode.getBoundingClientRect().height;\n setInitialHeight(height);\n setHeights((h: HeightItem[]) => {\n // 如果不存在,则添加\n return [{ toastId: id, height, message, type }, ...h];\n });\n return () => {\n setHeights((h: HeightItem[]) => h.filter((h) => h.toastId !== id));\n };\n }\n }, [setHeights, id, message, type]);\n\n useLayoutEffect(() => {\n if (!isMounted) return;\n const notifyNode = nofityItem.current;\n if (notifyNode) {\n const originalHeight = notifyNode.style.height;\n notifyNode.style.height = \"auto\";\n const newHeight = notifyNode.getBoundingClientRect().height;\n notifyNode.style.height = originalHeight;\n setInitialHeight(newHeight);\n setHeights((heights) => {\n const isExist = heights.some((h) => h.toastId === id);\n if (isExist) {\n // 如果存在,则更新高度\n return heights.map((h) => (h.toastId === id ? { ...h, height: newHeight, message, type } : h));\n }\n // 如果不存在,则添加\n return [{ toastId: id, height: newHeight, message, type }, ...heights];\n });\n }\n }, [isMounted, initialHeight, setHeights, id, message, type]);\n const heightIndex = React.useMemo(() => {\n return heights.findIndex((h) => h.toastId === id);\n }, [heights, id]);\n const toastHeightBefore = React.useMemo(() => {\n return heights.reduce((acc, h, reduceIndex) => {\n if (reduceIndex < heightIndex) {\n return acc + h.height;\n }\n return acc;\n }, 0);\n }, [heightIndex, heights]);\n\n const offset = React.useMemo(() => heightIndex * gap + toastHeightBefore, [toastHeightBefore, heightIndex, gap]);\n\n return (\n <div\n className={`${prefix}-notify__item`}\n ref={nofityItem}\n style={\n {\n position: \"absolute\",\n height: isExpanded ? `auto` : `var(--front-toast-height)`,\n width: `var(--toast-width)`,\n \"--offset\": offset + \"px\",\n \"--index\": heightIndex,\n \"--gap\": gap + \"px\",\n \"--z-index\": heights.length - heightIndex\n } as React.CSSProperties\n }\n data-toast\n data-mounted={isMounted}\n data-expanded={isExpanded}\n data-removed={isRemoved}\n data-front={heightIndex === 0}\n >\n <div className={`${prefix}-notify__content`}>\n <div className={`${prefix}-notify__header`}>\n <div className={`${prefix}-notify__icon`}>\n {type === \"success\" && <IconCheckCircleStroked className=\"t-icon t-is-success\" />}\n {type === \"error\" && <IconClose className=\"t-icon t-is-error\" />}\n {type === \"info\" && <IconInfoCircle className=\"t-icon t-is-info\" />}\n {type === \"warning\" && <IconAlertTriangle className=\"t-icon t-is-warning\" />}\n {type === \"default\" && <IconInfoCircle className=\"t-icon t-is-info\" />}\n </div>\n\n <div className={`${prefix}-notify__title`}>{title}</div>\n </div>\n </div>\n <p\n className={`${prefix}-notify__detail`}\n style={{\n opacity: heightIndex === 0 || isExpanded ? 1 : 0,\n transition: `opacity 400ms`\n }}\n >\n {message}\n </p>\n </div>\n );\n};\n\nexport default NotificationItem;\n"],"names":["NotificationItem","message","_ref","type","heights","setHeights","id","gap","isExpanded","isRemoved","title","_useState","useState","_useState2","_slicedToArray","initialHeight","setInitialHeight","_useState3","_useState4","isMounted","setIsMounted","nofityItem","useRef","_useConfig","useConfig","prefix","classPrefix","React","useEffect","notifyNode","current","height","getBoundingClientRect","h","toastId","concat","_toConsumableArray","filter","useLayoutEffect","originalHeight","style","newHeight","isExist","some","map","_objectSpread","heightIndex","useMemo","findIndex","toastHeightBefore","reduce","acc","reduceIndex","offset","createElement","className","ref","position","width","length","IconCheckCircleStroked","IconClose","IconInfoCircle","IconAlertTriangle","opacity","transition"],"mappings":"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"}
1
+ {"version":3,"file":"NotifyItem.js","sources":["../../../components/notification/NotifyItem.tsx"],"sourcesContent":["import React, { useLayoutEffect, useRef, useState } from \"react\";\nimport { TdNotificationProps, HeightItem } from \"./type\";\nimport { IconClose, IconInfoCircle, IconCheckCircleStroked, IconAlertTriangle } from \"@tendaui/icons\";\nimport useConfig from \"../hooks/useConfig\";\n\nconst NotificationItem: React.FC<TdNotificationProps> = ({\n message,\n type,\n heights,\n setHeights,\n id,\n gap,\n isExpanded,\n isRemoved,\n title\n}) => {\n const [initialHeight, setInitialHeight] = useState(0);\n const [isMounted, setIsMounted] = useState(false);\n const nofityItem = useRef<HTMLDivElement>(null);\n const { classPrefix: prefix } = useConfig();\n React.useEffect(() => {\n setIsMounted(true);\n }, []);\n\n React.useEffect(() => {\n const notifyNode = nofityItem.current;\n if (notifyNode) {\n const height = notifyNode.getBoundingClientRect().height;\n setInitialHeight(height);\n setHeights((h: HeightItem[]) => {\n // 如果不存在,则添加\n return [{ toastId: id, height, message, type }, ...h];\n });\n return () => {\n setHeights((h: HeightItem[]) => h.filter((h) => h.toastId !== id));\n };\n }\n }, [setHeights, id, message, type]);\n\n useLayoutEffect(() => {\n if (!isMounted) return;\n const notifyNode = nofityItem.current;\n if (notifyNode) {\n const originalHeight = notifyNode.style.height;\n notifyNode.style.height = \"auto\";\n const newHeight = notifyNode.getBoundingClientRect().height;\n notifyNode.style.height = originalHeight;\n setInitialHeight(newHeight);\n setHeights((heights) => {\n const isExist = heights.some((h) => h.toastId === id);\n if (isExist) {\n // 如果存在,则更新高度\n return heights.map((h) => (h.toastId === id ? { ...h, height: newHeight, message, type } : h));\n }\n // 如果不存在,则添加\n return [{ toastId: id, height: newHeight, message, type }, ...heights];\n });\n }\n }, [isMounted, initialHeight, setHeights, id, message, type]);\n const heightIndex = React.useMemo(() => {\n return heights.findIndex((h) => h.toastId === id);\n }, [heights, id]);\n const toastHeightBefore = React.useMemo(() => {\n return heights.reduce((acc, h, reduceIndex) => {\n if (reduceIndex < heightIndex) {\n return acc + h.height;\n }\n return acc;\n }, 0);\n }, [heightIndex, heights]);\n\n const offset = React.useMemo(() => heightIndex * gap + toastHeightBefore, [toastHeightBefore, heightIndex, gap]);\n\n return (\n <div\n className={`${prefix}-notify__item`}\n ref={nofityItem}\n style={\n {\n position: \"absolute\",\n height: isExpanded ? `auto` : `var(--front-toast-height)`,\n width: `var(--toast-width)`,\n \"--offset\": offset + \"px\",\n \"--index\": heightIndex,\n \"--gap\": gap + \"px\",\n \"--z-index\": heights.length - heightIndex\n } as React.CSSProperties\n }\n data-toast\n data-mounted={isMounted}\n data-expanded={isExpanded}\n data-removed={isRemoved}\n data-front={heightIndex === 0}\n >\n <div className={`${prefix}-notify__content`}>\n <div className={`${prefix}-notify__header`}>\n <div className={`${prefix}-notify__icon`}>\n {type === \"success\" && <IconCheckCircleStroked className=\"t-icon t-is-success\" />}\n {type === \"error\" && <IconClose className=\"t-icon t-is-error\" />}\n {type === \"info\" && <IconInfoCircle className=\"t-icon t-is-info\" />}\n {type === \"warning\" && <IconAlertTriangle className=\"t-icon t-is-warning\" />}\n {type === \"default\" && <IconInfoCircle className=\"t-icon t-is-info\" />}\n </div>\n\n <div className={`${prefix}-notify__title`}>{title}</div>\n </div>\n </div>\n <p\n className={`${prefix}-notify__detail`}\n style={{\n opacity: heightIndex === 0 || isExpanded ? 1 : 0,\n transition: `opacity 400ms`\n }}\n >\n {message}\n </p>\n </div>\n );\n};\n\nexport default NotificationItem;\n"],"names":["NotificationItem","message","_ref","type","heights","setHeights","id","gap","isExpanded","isRemoved","title","_useState","useState","_useState2","_slicedToArray","initialHeight","setInitialHeight","_useState3","_useState4","isMounted","setIsMounted","nofityItem","useRef","_useConfig","useConfig","prefix","classPrefix","React","useEffect","notifyNode","current","height","getBoundingClientRect","h","toastId","concat","_toConsumableArray","filter","useLayoutEffect","originalHeight","style","newHeight","isExist","some","map","_objectSpread","heightIndex","useMemo","findIndex","toastHeightBefore","reduce","acc","reduceIndex","offset","createElement","className","ref","position","width","length","IconCheckCircleStroked","IconClose","IconInfoCircle","IconAlertTriangle","opacity","transition"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { notification } from "./Notify";
2
+ export { NotificationProvider, useNotification } from "./NotifyContext";
3
+ import "./style/index";
@@ -9,8 +9,9 @@ import 'react-dom';
9
9
  import './NotifyContainer.js';
10
10
  import './NotifyItem.js';
11
11
  import '@tendaui/icons';
12
- import '../_chunks/dep-u1x3x6MJ.js';
13
- import '../config-provider/ConfigContext.js';
12
+ import '../_chunks/dep-gy8uvBaS.js';
13
+ import '../_chunks/dep-5U9UjDaf.js';
14
+ import 'dayjs';
14
15
 
15
16
  var addNotification = function addNotification() {};
16
17
  function notification(message) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../components/notification/Notify.ts"],"sourcesContent":["// notification.ts\ntype NotificationType = \"default\" | \"success\" | \"error\" | \"info\" | \"warning\";\ntype NotificationMessage = {\n id: string;\n type: NotificationType;\n message: string;\n title: string;\n};\n\nlet addNotification: (notification: NotificationMessage) => void = () => {};\n\nexport function notification(message: string, type: NotificationType = \"default\", title: string) {\n const id = new Date().getTime().toString();\n addNotification({\n id,\n message,\n type,\n title\n });\n}\n\nexport function registerNotificationHandler(cb: typeof addNotification) {\n addNotification = cb;\n}\n"],"names":["addNotification","notification","message","type","arguments","length","undefined","title","id","Date","getTime","toString","registerNotificationHandler","cb"],"mappings":";;;;;;;;;;;;;;AASA,IAAIA,kBAA+D,SAA/DA,kBAAqE,CAAC,CAAA;AAEnE,SAASC,YAAAA,CAAaC,OAAA,EAAoE;AAAA,EAAA,IAAnDC,IAAA,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAyB,SAAA;EAAA,IAAWG,KAAA,GAAAH,SAAA,CAAAC,MAAA,GAAA,CAAA,GAAAD,SAAA,MAAAE,SAAA;AAChF,EAAA,IAAME,qBAAK,IAAIC,IAAA,EAAK,EAAEC,OAAA,GAAUC,QAAA,EAAS;AACzCX,EAAAA,eAAA,CAAgB;AACdQ,IAAAA,EAAA,EAAAA,EAAA;AACAN,IAAAA,OAAA,EAAAA,OAAA;AACAC,IAAAA,IAAA,EAAAA,IAAA;AACAI,IAAAA,KAAA,EAAAA;AACF,GAAC,CAAA;AACH;AAEO,SAASK,4BAA4BC,EAAA,EAA4B;AACtEb,EAAAA,eAAA,GAAkBa,EAAA;AACpB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../components/notification/Notify.ts"],"sourcesContent":["// notification.ts\ntype NotificationType = \"default\" | \"success\" | \"error\" | \"info\" | \"warning\";\ntype NotificationMessage = {\n id: string;\n type: NotificationType;\n message: string;\n title: string;\n};\n\nlet addNotification: (notification: NotificationMessage) => void = () => {};\n\nexport function notification(message: string, type: NotificationType = \"default\", title: string) {\n const id = new Date().getTime().toString();\n addNotification({\n id,\n message,\n type,\n title\n });\n}\n\nexport function registerNotificationHandler(cb: typeof addNotification) {\n addNotification = cb;\n}\n"],"names":["addNotification","notification","message","type","arguments","length","undefined","title","id","Date","getTime","toString","registerNotificationHandler","cb"],"mappings":";;;;;;;;;;;;;;;AASA,IAAIA,kBAA+D,SAA/DA,kBAAqE,CAAC,CAAA;AAEnE,SAASC,YAAAA,CAAaC,OAAA,EAAoE;AAAA,EAAA,IAAnDC,IAAA,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAyB,SAAA;EAAA,IAAWG,KAAA,GAAAH,SAAA,CAAAC,MAAA,GAAA,CAAA,GAAAD,SAAA,MAAAE,SAAA;AAChF,EAAA,IAAME,qBAAK,IAAIC,IAAA,EAAK,EAAEC,OAAA,GAAUC,QAAA,EAAS;AACzCX,EAAAA,eAAA,CAAgB;AACdQ,IAAAA,EAAA,EAAAA,EAAA;AACAN,IAAAA,OAAA,EAAAA,OAAA;AACAC,IAAAA,IAAA,EAAAA,IAAA;AACAI,IAAAA,KAAA,EAAAA;AACF,GAAC,CAAA;AACH;AAEO,SAASK,4BAA4BC,EAAA,EAA4B;AACtEb,EAAAA,eAAA,GAAkBa,EAAA;AACpB;;;;"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ export interface TdNotificationProps {
2
+ id: string;
3
+ type: string;
4
+ message: string;
5
+ title: string;
6
+ onRemove?: (id: string) => void;
7
+ onHoverStart?: () => void;
8
+ onHoverEnd?: () => void;
9
+ maxStack?: number;
10
+ position?: string;
11
+ heights?: HeightItem[];
12
+ setHeights?: React.Dispatch<React.SetStateAction<HeightItem[]>>;
13
+ gap?: number;
14
+ isExpanded?: boolean;
15
+ isRemoved?: boolean;
16
+ }
17
+ export interface HeightItem {
18
+ toastId: string;
19
+ height: number;
20
+ message: string;
21
+ type: string;
22
+ }
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ import type { TdPopupProps } from "./type";
3
+ import usePopper from "../hooks/usePopper";
4
+ export interface PopupProps extends TdPopupProps {
5
+ expandAnimation?: boolean;
6
+ updateScrollTop?: (content: HTMLDivElement) => void;
7
+ }
8
+ export interface PopupRef {
9
+ /** 获取 popper 实例 */
10
+ getPopper: () => ReturnType<typeof usePopper>;
11
+ /** 获取 Popup dom 元素 */
12
+ getPopupElement: () => HTMLDivElement;
13
+ /** 获取 portal dom 元素 */
14
+ getPortalElement: () => HTMLDivElement;
15
+ /** 获取内容区域 dom 元素 */
16
+ getPopupContentElement: () => HTMLDivElement;
17
+ /** 设置 popup 显示隐藏 */
18
+ setVisible: (visible: boolean) => void;
19
+ }
20
+ declare const Popup: React.ForwardRefExoticComponent<PopupProps & React.RefAttributes<PopupRef>>;
21
+ export default Popup;
package/es/popup/Popup.js CHANGED
@@ -1,24 +1,28 @@
1
1
  import { _ as _defineProperty } from '../_chunks/dep-Cwish4GD.js';
2
2
  import { _ as _objectWithoutProperties } from '../_chunks/dep-DN7d1SzH.js';
3
3
  import { _ as _slicedToArray } from '../_chunks/dep-CzLhKWCf.js';
4
- import { isEqual, debounce, isFunction } from 'lodash-es';
5
- import React, { useRef, useEffect, useState, isValidElement, useMemo, useCallback, forwardRef, useImperativeHandle } from 'react';
4
+ import { debounce, isFunction } from 'lodash-es';
5
+ import React, { useState, useEffect, isValidElement, useRef, useMemo, useCallback, forwardRef, useImperativeHandle } from 'react';
6
6
  import { _ as _typeof } from '../_chunks/dep-D-UKOauR.js';
7
7
  import Portal from '../portal/Portal.js';
8
8
  import { u as useControlled } from '../_chunks/dep-DwWrhxkd.js';
9
9
  import { u as useDefaultProps } from '../_chunks/dep-DGvfel3I.js';
10
- import { a as getWindowSize, c as canUseDocument, u as useIsomorphicLayoutEffect } from '../_chunks/dep-0QH2Ee4R.js';
10
+ import { u as useMutationObservable } from '../_chunks/dep-CkmtEv0Y.js';
11
+ import { g as getWindowSize } from '../_chunks/dep-DRwijJcv.js';
11
12
  import { isMemo, ForwardRef, isFragment as isFragment$1 } from 'react-is';
12
13
  import { c as composeRefs } from '../_chunks/dep-C1XcmShP.js';
14
+ import { o as on, a as off } from '../_chunks/dep-Ccktr_jk.js';
13
15
  import classNames from 'classnames';
14
16
  import { _ as _toConsumableArray } from '../_chunks/dep-CgyDw_YI.js';
15
17
  import { flushSync } from 'react-dom';
16
18
  import { createPopper } from '@popperjs/core';
17
- import isEqual$1 from 'react-fast-compare';
19
+ import isEqual from 'react-fast-compare';
20
+ import { u as useIsomorphicLayoutEffect } from '../_chunks/dep-BRbJGDI9.js';
18
21
  import { CSSTransition } from 'react-transition-group';
19
- import { g as getCssVarsValue } from '../_chunks/dep-BH5n5r1M.js';
20
- import { u as useConfig } from '../_chunks/dep-u1x3x6MJ.js';
21
- import '../config-provider/ConfigContext.js';
22
+ import { g as getCssVarsValue } from '../_chunks/dep-DbVHGoUC.js';
23
+ import { u as useConfig } from '../_chunks/dep-gy8uvBaS.js';
24
+ import '../_chunks/dep-5U9UjDaf.js';
25
+ import 'dayjs';
22
26
 
23
27
  function getRefDom$1(domRef) {
24
28
  if (domRef.current && _typeof(domRef.current) === "object" && "currentElement" in domRef.current) {
@@ -27,58 +31,6 @@ function getRefDom$1(domRef) {
27
31
  return domRef.current;
28
32
  }
29
33
 
30
- var useLatest = function useLatest(value) {
31
- var ref = useRef(value);
32
- useEffect(function () {
33
- ref.current = value;
34
- });
35
- return ref;
36
- };
37
-
38
- var DEFAULT_OPTIONS = {
39
- debounceTime: 0,
40
- config: {
41
- attributes: true,
42
- childList: true,
43
- characterData: true,
44
- subtree: true
45
- }
46
- };
47
- function useMutationObservable(targetEl, cb) {
48
- var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_OPTIONS;
49
- var optionsRef = useRef(null);
50
- var signalRef = useRef(0);
51
- var callbackRef = useLatest(cb);
52
- if (!isEqual(options, optionsRef.current)) {
53
- signalRef.current += 1;
54
- }
55
- optionsRef.current = options;
56
- useEffect(function () {
57
- if (!targetEl || !(targetEl !== null && targetEl !== void 0 && targetEl.nodeType)) return;
58
- var observer = null;
59
- try {
60
- if (optionsRef.current !== null) {
61
- var _optionsRef$current = optionsRef.current,
62
- debounceTime = _optionsRef$current.debounceTime,
63
- config = _optionsRef$current.config;
64
- var mutationCallback = function mutationCallback() {
65
- callbackRef.current.apply(callbackRef, arguments);
66
- };
67
- observer = new MutationObserver(debounceTime > 0 ? debounce(mutationCallback, debounceTime) : mutationCallback);
68
- observer.observe(targetEl, config);
69
- }
70
- } catch (e) {
71
- console.error(e);
72
- }
73
- return function () {
74
- if (observer) {
75
- observer.disconnect();
76
- observer = null;
77
- }
78
- };
79
- }, [targetEl, signalRef.current]);
80
- }
81
-
82
34
  function useWindowSize() {
83
35
  var _useState = useState(getWindowSize),
84
36
  _useState2 = _slicedToArray(_useState, 2),
@@ -102,13 +54,13 @@ var REACT_ELEMENT_TYPE_18 = Symbol["for"]("react.element");
102
54
  var REACT_ELEMENT_TYPE_19 = Symbol["for"]("react.transitional.element");
103
55
  var REACT_FRAGMENT_TYPE = Symbol["for"]("react.fragment");
104
56
  function isFragment(object) {
57
+ if (!object || _typeof(object) !== "object") return false;
58
+ var obj = object;
105
59
  return (
106
- // Base object type
107
- object && _typeof(object) === "object" && (
108
60
  // React Element type
109
- object.$$typeof === REACT_ELEMENT_TYPE_18 || object.$$typeof === REACT_ELEMENT_TYPE_19) &&
61
+ (obj.$$typeof === REACT_ELEMENT_TYPE_18 || obj.$$typeof === REACT_ELEMENT_TYPE_19) &&
110
62
  // React Fragment type
111
- object.type === REACT_FRAGMENT_TYPE
63
+ obj.type === REACT_FRAGMENT_TYPE
112
64
  );
113
65
  }
114
66
 
@@ -149,35 +101,6 @@ var getNodeRef = function getNodeRef(node) {
149
101
  return null;
150
102
  };
151
103
 
152
- var on = function () {
153
- if (canUseDocument && document.addEventListener) {
154
- return function (element, event, handler) {
155
- if (element && event && handler) {
156
- element.addEventListener(event, handler, false);
157
- }
158
- };
159
- }
160
- return function (element, event, handler) {
161
- if (element && event && handler) {
162
- element.attachEvent("on".concat(event), handler);
163
- }
164
- };
165
- }();
166
- var off = function () {
167
- if (canUseDocument && document.removeEventListener) {
168
- return function (element, event, handler) {
169
- if (element && event) {
170
- element.removeEventListener(event, handler, false);
171
- }
172
- };
173
- }
174
- return function (element, event, handler) {
175
- if (element && event) {
176
- element.detachEvent("on".concat(event), handler);
177
- }
178
- };
179
- }();
180
-
181
104
  var ESC_KEY = "Escape";
182
105
  function useTrigger(_ref) {
183
106
  var content = _ref.content,
@@ -517,7 +440,7 @@ var usePopper = function usePopper(referenceElement, popperElement) {
517
440
  }])
518
441
  };
519
442
  setTimeout(function () {
520
- if (!isEqual$1(prevOptions.current, newOptions)) {
443
+ if (!isEqual(prevOptions.current, newOptions)) {
521
444
  prevOptions.current = newOptions;
522
445
  }
523
446
  }, 0);
@@ -600,10 +523,21 @@ var Popup = /*#__PURE__*/forwardRef(function (originalProps, ref) {
600
523
  var _useWindowSize = useWindowSize(),
601
524
  windowHeight = _useWindowSize.height,
602
525
  windowWidth = _useWindowSize.width;
603
- var _useControlled = useControlled(props, "visible", props.onVisibleChange),
526
+ var handleVisibleChange = function handleVisibleChange(visible2, context) {
527
+ var _props$onVisibleChang;
528
+ (_props$onVisibleChang = props.onVisibleChange) === null || _props$onVisibleChang === void 0 || _props$onVisibleChang.call(props, visible2, context);
529
+ };
530
+ var _useControlled = useControlled(props, "visible", handleVisibleChange),
604
531
  _useControlled2 = _slicedToArray(_useControlled, 2),
605
532
  visible = _useControlled2[0],
606
- onVisibleChange = _useControlled2[1];
533
+ onVisibleChangeInternal = _useControlled2[1];
534
+ var onVisibleChangeForTrigger = function onVisibleChangeForTrigger(visible2, context) {
535
+ var popupContext = {
536
+ e: context.e,
537
+ trigger: context.trigger
538
+ };
539
+ onVisibleChangeInternal(visible2, popupContext);
540
+ };
607
541
  var _useState = useState(null),
608
542
  _useState2 = _slicedToArray(_useState, 2),
609
543
  popupElement = _useState2[0],
@@ -635,7 +569,7 @@ var Popup = /*#__PURE__*/forwardRef(function (originalProps, ref) {
635
569
  trigger: trigger,
636
570
  visible: visible,
637
571
  delay: delay,
638
- onVisibleChange: onVisibleChange
572
+ onVisibleChange: onVisibleChangeForTrigger
639
573
  }),
640
574
  getTriggerNode = _useTrigger.getTriggerNode,
641
575
  getPopupProps = _useTrigger.getPopupProps,
@@ -659,7 +593,8 @@ var Popup = /*#__PURE__*/forwardRef(function (originalProps, ref) {
659
593
  })) : getTriggerNode(children);
660
594
  var updateTimeRef = useRef(null);
661
595
  useMutationObservable(getRefDom$1(triggerRef), function () {
662
- var isDisplayNone = getCssVarsValue("display", getRefDom$1(triggerRef)) === "none";
596
+ var triggerDom = getRefDom$1(triggerRef);
597
+ var isDisplayNone = triggerDom ? getCssVarsValue("display", triggerDom) === "none" : true;
663
598
  if (visible && !isDisplayNone) {
664
599
  clearTimeout(updateTimeRef.current);
665
600
  updateTimeRef.current = setTimeout(function () {
@@ -715,8 +650,9 @@ var Popup = /*#__PURE__*/forwardRef(function (originalProps, ref) {
715
650
  }
716
651
  }
717
652
  function getOverlayStyle(overlayStyle2) {
718
- if (getRefDom$1(triggerRef) && popupRef.current && typeof overlayStyle2 === "function") {
719
- return _objectSpread({}, overlayStyle2(getRefDom$1(triggerRef), popupRef.current));
653
+ var triggerDom = getRefDom$1(triggerRef);
654
+ if (triggerDom && popupRef.current && typeof overlayStyle2 === "function") {
655
+ return _objectSpread({}, overlayStyle2(triggerDom, popupRef.current));
720
656
  }
721
657
  return _objectSpread({}, overlayStyle2);
722
658
  }
@@ -776,7 +712,7 @@ var Popup = /*#__PURE__*/forwardRef(function (originalProps, ref) {
776
712
  return contentRef.current;
777
713
  },
778
714
  setVisible: function setVisible(visible2) {
779
- return onVisibleChange(visible2, {
715
+ return onVisibleChangeInternal(visible2, {
780
716
  trigger: "document"
781
717
  });
782
718
  }