tdesign-react 0.35.0-alpha.1 → 0.35.0-alpha.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.
Files changed (517) hide show
  1. package/dist/tdesign.css +70 -53
  2. package/dist/tdesign.css.map +1 -1
  3. package/dist/tdesign.js +1681 -1041
  4. package/dist/tdesign.js.map +1 -1
  5. package/dist/tdesign.min.css +1 -1
  6. package/dist/tdesign.min.css.map +1 -1
  7. package/dist/tdesign.min.js +4 -4
  8. package/dist/tdesign.min.js.map +1 -1
  9. package/{esm/_chunks/dep-22976878.js → es/_chunks/dep-2ed7eef7.js} +2 -2
  10. package/{esm/_chunks/dep-22976878.js.map → es/_chunks/dep-2ed7eef7.js.map} +1 -1
  11. package/es/_chunks/{dep-a1ce2324.js → dep-3a109495.js} +1 -1
  12. package/es/_chunks/{dep-a1ce2324.js.map → dep-3a109495.js.map} +1 -1
  13. package/es/_chunks/{dep-619d2589.js → dep-aec4b56c.js} +1 -1
  14. package/es/_chunks/{dep-619d2589.js.map → dep-aec4b56c.js.map} +1 -1
  15. package/es/addon/Addon.js +1 -1
  16. package/es/addon/Addon.js.map +1 -1
  17. package/es/calendar/Calendar.js +1 -1
  18. package/es/calendar/index.js +1 -1
  19. package/es/card/Card.js +1 -1
  20. package/es/card/Card.js.map +1 -1
  21. package/es/cascader/Cascader.js +1 -1
  22. package/es/cascader/components/Item.js +1 -1
  23. package/es/cascader/components/Panel.js +1 -1
  24. package/es/cascader/index.js +1 -1
  25. package/es/checkbox/Checkbox.js +1 -1
  26. package/es/checkbox/CheckboxGroup.js +1 -1
  27. package/es/checkbox/index.js +1 -1
  28. package/es/color-picker/ColorPicker.js +1 -1
  29. package/es/color-picker/ColorPickerPanel.js +1 -1
  30. package/es/color-picker/components/panel/header.js +1 -1
  31. package/es/color-picker/components/panel/index.js +1 -1
  32. package/es/color-picker/index.js +1 -1
  33. package/es/comment/Comment.js +1 -1
  34. package/es/comment/Comment.js.map +1 -1
  35. package/es/common/Check.js +1 -1
  36. package/es/common/Check.js.map +1 -1
  37. package/es/date-picker/DatePicker.js +23 -30
  38. package/es/date-picker/DatePicker.js.map +1 -1
  39. package/es/date-picker/DatePickerPanel.d.ts +7 -0
  40. package/es/date-picker/DatePickerPanel.js +349 -0
  41. package/es/date-picker/DatePickerPanel.js.map +1 -0
  42. package/es/date-picker/DateRangePicker.js +22 -15
  43. package/es/date-picker/DateRangePicker.js.map +1 -1
  44. package/es/date-picker/DateRangePickerPanel.d.ts +7 -0
  45. package/es/date-picker/DateRangePickerPanel.js +457 -0
  46. package/es/date-picker/DateRangePickerPanel.js.map +1 -0
  47. package/es/date-picker/base/Cell.d.ts +1 -1
  48. package/es/date-picker/base/Cell.js +5 -5
  49. package/es/date-picker/base/Cell.js.map +1 -1
  50. package/es/date-picker/base/Footer.js +3 -2
  51. package/es/date-picker/base/Footer.js.map +1 -1
  52. package/es/date-picker/base/Header.js +2 -2
  53. package/es/date-picker/base/Header.js.map +1 -1
  54. package/es/date-picker/base/Table.d.ts +3 -3
  55. package/es/date-picker/base/Table.js +2 -2
  56. package/es/date-picker/base/Table.js.map +1 -1
  57. package/es/date-picker/defaultProps.js +0 -2
  58. package/es/date-picker/defaultProps.js.map +1 -1
  59. package/es/date-picker/hooks/useFormat.d.ts +4 -1
  60. package/es/date-picker/hooks/useFormat.js +31 -19
  61. package/es/date-picker/hooks/useFormat.js.map +1 -1
  62. package/es/date-picker/hooks/useRange.d.ts +2 -2
  63. package/es/date-picker/hooks/useRange.js +52 -113
  64. package/es/date-picker/hooks/useRange.js.map +1 -1
  65. package/es/date-picker/hooks/useRangeValue.d.ts +24 -0
  66. package/es/date-picker/hooks/useRangeValue.js +156 -0
  67. package/es/date-picker/hooks/useRangeValue.js.map +1 -0
  68. package/es/date-picker/hooks/useSingle.d.ts +6 -10
  69. package/es/date-picker/hooks/useSingle.js +52 -72
  70. package/es/date-picker/hooks/useSingle.js.map +1 -1
  71. package/es/date-picker/hooks/useSingleValue.d.ts +14 -0
  72. package/es/date-picker/hooks/useSingleValue.js +101 -0
  73. package/es/date-picker/hooks/useSingleValue.js.map +1 -0
  74. package/es/date-picker/{panel → hooks}/useTableData.d.ts +2 -2
  75. package/es/date-picker/{panel → hooks}/useTableData.js +0 -0
  76. package/es/date-picker/hooks/useTableData.js.map +1 -0
  77. package/es/date-picker/index.d.ts +4 -20
  78. package/es/date-picker/index.js +19 -15
  79. package/es/date-picker/index.js.map +1 -1
  80. package/es/date-picker/panel/ExtraContent.d.ts +2 -2
  81. package/es/date-picker/panel/ExtraContent.js +1 -1
  82. package/es/date-picker/panel/ExtraContent.js.map +1 -1
  83. package/es/date-picker/panel/PanelContent.d.ts +17 -17
  84. package/es/date-picker/panel/PanelContent.js +7 -6
  85. package/es/date-picker/panel/PanelContent.js.map +1 -1
  86. package/{lib/date-picker/panel/DateRangePickerPanel.d.ts → es/date-picker/panel/RangePanel.d.ts} +4 -12
  87. package/es/date-picker/panel/{DateRangePickerPanel.js → RangePanel.js} +23 -17
  88. package/es/date-picker/panel/RangePanel.js.map +1 -0
  89. package/es/date-picker/panel/{DatePickerPanel.d.ts → SinglePanel.d.ts} +5 -13
  90. package/es/date-picker/panel/{DatePickerPanel.js → SinglePanel.js} +33 -27
  91. package/es/date-picker/panel/SinglePanel.js.map +1 -0
  92. package/es/date-picker/style/index.css +4 -4
  93. package/es/date-picker/type.d.ts +138 -9
  94. package/es/dialog/Dialog.js +1 -0
  95. package/es/dialog/Dialog.js.map +1 -1
  96. package/es/dialog/RenderDialog.js +44 -34
  97. package/es/dialog/RenderDialog.js.map +1 -1
  98. package/es/dialog/index.js +1 -0
  99. package/es/dialog/index.js.map +1 -1
  100. package/es/dialog/plugin.js +1 -0
  101. package/es/dialog/plugin.js.map +1 -1
  102. package/es/dialog/style/index.css +34 -23
  103. package/es/form/Form.js +6 -5
  104. package/es/form/Form.js.map +1 -1
  105. package/es/form/FormItem.js +5 -4
  106. package/es/form/FormItem.js.map +1 -1
  107. package/es/form/hooks/useFormItemStyle.js +5 -4
  108. package/es/form/hooks/useFormItemStyle.js.map +1 -1
  109. package/es/form/index.js +5 -4
  110. package/es/form/index.js.map +1 -1
  111. package/es/form/useInitialData.js +4 -3
  112. package/es/form/useInitialData.js.map +1 -1
  113. package/es/index.js +11 -6
  114. package/es/index.js.map +1 -1
  115. package/es/input/Input.js +1 -1
  116. package/es/input/Input.js.map +1 -1
  117. package/es/input/InputGroup.js +1 -1
  118. package/es/input/InputGroup.js.map +1 -1
  119. package/es/input-number/InputNumber.js +1 -1
  120. package/es/input-number/InputNumber.js.map +1 -1
  121. package/es/input-number/style/index.css +26 -26
  122. package/es/list/List.js +1 -1
  123. package/es/list/List.js.map +1 -1
  124. package/es/list/ListItem.js +1 -1
  125. package/es/list/ListItem.js.map +1 -1
  126. package/es/menu/HeadMenu.js +1 -1
  127. package/es/menu/HeadMenu.js.map +1 -1
  128. package/es/menu/Menu.js +1 -1
  129. package/es/menu/Menu.js.map +1 -1
  130. package/es/menu/MenuItem.js +1 -1
  131. package/es/menu/MenuItem.js.map +1 -1
  132. package/es/menu/SubMenu.js +2 -2
  133. package/es/menu/SubMenu.js.map +1 -1
  134. package/es/radio/Radio.js +1 -1
  135. package/es/radio/RadioGroup.js +1 -1
  136. package/es/radio/index.js +1 -1
  137. package/es/slider/Slider.js +1 -1
  138. package/es/slider/Slider.js.map +1 -1
  139. package/es/table/BaseTable.js +1 -0
  140. package/es/table/BaseTable.js.map +1 -1
  141. package/es/table/EnhancedTable.js +3 -2
  142. package/es/table/EnhancedTable.js.map +1 -1
  143. package/es/table/FilterController.js +2 -2
  144. package/es/table/PrimaryTable.js +3 -2
  145. package/es/table/PrimaryTable.js.map +1 -1
  146. package/es/table/TBody.js +6 -23
  147. package/es/table/TBody.js.map +1 -1
  148. package/es/table/TR.d.ts +2 -2
  149. package/es/table/TR.js +4 -14
  150. package/es/table/TR.js.map +1 -1
  151. package/es/table/hooks/useColumnController.js +1 -1
  152. package/es/table/hooks/useFilter.js +2 -2
  153. package/es/table/hooks/useRowSelect.js +2 -2
  154. package/es/table/hooks/useRowspanAndColspan.d.ts +10 -0
  155. package/es/table/hooks/useRowspanAndColspan.js +74 -0
  156. package/es/table/hooks/useRowspanAndColspan.js.map +1 -0
  157. package/es/table/index.js +3 -2
  158. package/es/table/index.js.map +1 -1
  159. package/es/table/style/index.css +6 -0
  160. package/es/textarea/Textarea.js +2 -2
  161. package/es/textarea/Textarea.js.map +1 -1
  162. package/es/transfer/Transfer.js +1 -1
  163. package/es/transfer/TransferList.js +1 -1
  164. package/es/transfer/index.js +1 -1
  165. package/es/tree/Tree.js +1 -1
  166. package/es/tree/TreeItem.js +1 -1
  167. package/es/tree/index.js +1 -1
  168. package/es/tree-select/TreeSelect.js +1 -1
  169. package/es/tree-select/index.js +1 -1
  170. package/es/upload/index.js +1 -0
  171. package/es/upload/index.js.map +1 -1
  172. package/es/upload/themes/image-card.js +1 -0
  173. package/es/upload/themes/image-card.js.map +1 -1
  174. package/es/upload/upload.js +1 -0
  175. package/es/upload/upload.js.map +1 -1
  176. package/{es/_chunks/dep-6e402ba5.js → esm/_chunks/dep-04427594.js} +2 -2
  177. package/{es/_chunks/dep-6e402ba5.js.map → esm/_chunks/dep-04427594.js.map} +1 -1
  178. package/esm/_chunks/{dep-a1ce2324.js → dep-3a109495.js} +1 -1
  179. package/esm/_chunks/{dep-a1ce2324.js.map → dep-3a109495.js.map} +1 -1
  180. package/esm/_chunks/{dep-619d2589.js → dep-aec4b56c.js} +1 -1
  181. package/esm/_chunks/{dep-619d2589.js.map → dep-aec4b56c.js.map} +1 -1
  182. package/esm/_common/style/web/components/date-picker-new/_index.less +4 -4
  183. package/esm/_common/style/web/components/dialog/_index.less +36 -23
  184. package/esm/_common/style/web/components/input-number/_index.less +4 -4
  185. package/esm/_common/style/web/components/table/_index.less +7 -0
  186. package/esm/addon/Addon.js +1 -1
  187. package/esm/addon/Addon.js.map +1 -1
  188. package/esm/calendar/Calendar.js +1 -1
  189. package/esm/calendar/index.js +1 -1
  190. package/esm/card/Card.js +1 -1
  191. package/esm/card/Card.js.map +1 -1
  192. package/esm/cascader/Cascader.js +1 -1
  193. package/esm/cascader/components/Item.js +1 -1
  194. package/esm/cascader/components/Panel.js +1 -1
  195. package/esm/cascader/index.js +1 -1
  196. package/esm/checkbox/Checkbox.js +1 -1
  197. package/esm/checkbox/CheckboxGroup.js +1 -1
  198. package/esm/checkbox/index.js +1 -1
  199. package/esm/color-picker/ColorPicker.js +1 -1
  200. package/esm/color-picker/ColorPickerPanel.js +1 -1
  201. package/esm/color-picker/components/panel/header.js +1 -1
  202. package/esm/color-picker/components/panel/index.js +1 -1
  203. package/esm/color-picker/index.js +1 -1
  204. package/esm/comment/Comment.js +1 -1
  205. package/esm/comment/Comment.js.map +1 -1
  206. package/esm/common/Check.js +1 -1
  207. package/esm/common/Check.js.map +1 -1
  208. package/esm/date-picker/DatePicker.js +23 -30
  209. package/esm/date-picker/DatePicker.js.map +1 -1
  210. package/esm/date-picker/DatePickerPanel.d.ts +7 -0
  211. package/esm/date-picker/DatePickerPanel.js +356 -0
  212. package/esm/date-picker/DatePickerPanel.js.map +1 -0
  213. package/esm/date-picker/DateRangePicker.js +22 -15
  214. package/esm/date-picker/DateRangePicker.js.map +1 -1
  215. package/esm/date-picker/DateRangePickerPanel.d.ts +7 -0
  216. package/esm/date-picker/DateRangePickerPanel.js +464 -0
  217. package/esm/date-picker/DateRangePickerPanel.js.map +1 -0
  218. package/esm/date-picker/base/Cell.d.ts +1 -1
  219. package/esm/date-picker/base/Cell.js +5 -5
  220. package/esm/date-picker/base/Cell.js.map +1 -1
  221. package/esm/date-picker/base/Footer.js +3 -2
  222. package/esm/date-picker/base/Footer.js.map +1 -1
  223. package/esm/date-picker/base/Header.js +2 -2
  224. package/esm/date-picker/base/Header.js.map +1 -1
  225. package/esm/date-picker/base/Table.d.ts +3 -3
  226. package/esm/date-picker/base/Table.js +2 -2
  227. package/esm/date-picker/base/Table.js.map +1 -1
  228. package/esm/date-picker/defaultProps.js +0 -2
  229. package/esm/date-picker/defaultProps.js.map +1 -1
  230. package/esm/date-picker/hooks/useFormat.d.ts +4 -1
  231. package/esm/date-picker/hooks/useFormat.js +31 -19
  232. package/esm/date-picker/hooks/useFormat.js.map +1 -1
  233. package/esm/date-picker/hooks/useRange.d.ts +2 -2
  234. package/esm/date-picker/hooks/useRange.js +52 -113
  235. package/esm/date-picker/hooks/useRange.js.map +1 -1
  236. package/esm/date-picker/hooks/useRangeValue.d.ts +24 -0
  237. package/esm/date-picker/hooks/useRangeValue.js +156 -0
  238. package/esm/date-picker/hooks/useRangeValue.js.map +1 -0
  239. package/esm/date-picker/hooks/useSingle.d.ts +6 -10
  240. package/esm/date-picker/hooks/useSingle.js +52 -72
  241. package/esm/date-picker/hooks/useSingle.js.map +1 -1
  242. package/esm/date-picker/hooks/useSingleValue.d.ts +14 -0
  243. package/esm/date-picker/hooks/useSingleValue.js +101 -0
  244. package/esm/date-picker/hooks/useSingleValue.js.map +1 -0
  245. package/esm/date-picker/{panel → hooks}/useTableData.d.ts +2 -2
  246. package/esm/date-picker/{panel → hooks}/useTableData.js +0 -0
  247. package/esm/date-picker/hooks/useTableData.js.map +1 -0
  248. package/esm/date-picker/index.d.ts +4 -20
  249. package/esm/date-picker/index.js +20 -16
  250. package/esm/date-picker/index.js.map +1 -1
  251. package/esm/date-picker/panel/ExtraContent.d.ts +2 -2
  252. package/esm/date-picker/panel/ExtraContent.js +1 -1
  253. package/esm/date-picker/panel/ExtraContent.js.map +1 -1
  254. package/esm/date-picker/panel/PanelContent.d.ts +17 -17
  255. package/esm/date-picker/panel/PanelContent.js +7 -6
  256. package/esm/date-picker/panel/PanelContent.js.map +1 -1
  257. package/{es/date-picker/panel/DateRangePickerPanel.d.ts → esm/date-picker/panel/RangePanel.d.ts} +4 -12
  258. package/esm/date-picker/panel/{DateRangePickerPanel.js → RangePanel.js} +23 -17
  259. package/esm/date-picker/panel/RangePanel.js.map +1 -0
  260. package/{lib/date-picker/panel/DatePickerPanel.d.ts → esm/date-picker/panel/SinglePanel.d.ts} +5 -13
  261. package/esm/date-picker/panel/{DatePickerPanel.js → SinglePanel.js} +33 -27
  262. package/esm/date-picker/panel/SinglePanel.js.map +1 -0
  263. package/esm/date-picker/type.d.ts +138 -9
  264. package/esm/dialog/Dialog.js +1 -0
  265. package/esm/dialog/Dialog.js.map +1 -1
  266. package/esm/dialog/RenderDialog.js +44 -34
  267. package/esm/dialog/RenderDialog.js.map +1 -1
  268. package/esm/dialog/index.js +1 -0
  269. package/esm/dialog/index.js.map +1 -1
  270. package/esm/dialog/plugin.js +1 -0
  271. package/esm/dialog/plugin.js.map +1 -1
  272. package/esm/form/Form.js +6 -5
  273. package/esm/form/Form.js.map +1 -1
  274. package/esm/form/FormItem.js +5 -4
  275. package/esm/form/FormItem.js.map +1 -1
  276. package/esm/form/hooks/useFormItemStyle.js +5 -4
  277. package/esm/form/hooks/useFormItemStyle.js.map +1 -1
  278. package/esm/form/index.js +5 -4
  279. package/esm/form/index.js.map +1 -1
  280. package/esm/form/useInitialData.js +4 -3
  281. package/esm/form/useInitialData.js.map +1 -1
  282. package/esm/index.js +11 -6
  283. package/esm/index.js.map +1 -1
  284. package/esm/input/Input.js +1 -1
  285. package/esm/input/Input.js.map +1 -1
  286. package/esm/input/InputGroup.js +1 -1
  287. package/esm/input/InputGroup.js.map +1 -1
  288. package/esm/input-number/InputNumber.js +1 -1
  289. package/esm/input-number/InputNumber.js.map +1 -1
  290. package/esm/list/List.js +1 -1
  291. package/esm/list/List.js.map +1 -1
  292. package/esm/list/ListItem.js +1 -1
  293. package/esm/list/ListItem.js.map +1 -1
  294. package/esm/menu/HeadMenu.js +1 -1
  295. package/esm/menu/HeadMenu.js.map +1 -1
  296. package/esm/menu/Menu.js +1 -1
  297. package/esm/menu/Menu.js.map +1 -1
  298. package/esm/menu/MenuItem.js +1 -1
  299. package/esm/menu/MenuItem.js.map +1 -1
  300. package/esm/menu/SubMenu.js +2 -2
  301. package/esm/menu/SubMenu.js.map +1 -1
  302. package/esm/radio/Radio.js +1 -1
  303. package/esm/radio/RadioGroup.js +1 -1
  304. package/esm/radio/index.js +1 -1
  305. package/esm/slider/Slider.js +1 -1
  306. package/esm/slider/Slider.js.map +1 -1
  307. package/esm/table/BaseTable.js +1 -0
  308. package/esm/table/BaseTable.js.map +1 -1
  309. package/esm/table/EnhancedTable.js +3 -2
  310. package/esm/table/EnhancedTable.js.map +1 -1
  311. package/esm/table/FilterController.js +2 -2
  312. package/esm/table/PrimaryTable.js +3 -2
  313. package/esm/table/PrimaryTable.js.map +1 -1
  314. package/esm/table/TBody.js +6 -23
  315. package/esm/table/TBody.js.map +1 -1
  316. package/esm/table/TR.d.ts +2 -2
  317. package/esm/table/TR.js +4 -14
  318. package/esm/table/TR.js.map +1 -1
  319. package/esm/table/hooks/useColumnController.js +1 -1
  320. package/esm/table/hooks/useFilter.js +2 -2
  321. package/esm/table/hooks/useRowSelect.js +2 -2
  322. package/esm/table/hooks/useRowspanAndColspan.d.ts +10 -0
  323. package/esm/table/hooks/useRowspanAndColspan.js +74 -0
  324. package/esm/table/hooks/useRowspanAndColspan.js.map +1 -0
  325. package/esm/table/index.js +3 -2
  326. package/esm/table/index.js.map +1 -1
  327. package/esm/textarea/Textarea.js +2 -2
  328. package/esm/textarea/Textarea.js.map +1 -1
  329. package/esm/transfer/Transfer.js +1 -1
  330. package/esm/transfer/TransferList.js +1 -1
  331. package/esm/transfer/index.js +1 -1
  332. package/esm/tree/Tree.js +1 -1
  333. package/esm/tree/TreeItem.js +1 -1
  334. package/esm/tree/index.js +1 -1
  335. package/esm/tree-select/TreeSelect.js +1 -1
  336. package/esm/tree-select/index.js +1 -1
  337. package/esm/upload/index.js +1 -0
  338. package/esm/upload/index.js.map +1 -1
  339. package/esm/upload/themes/image-card.js +1 -0
  340. package/esm/upload/themes/image-card.js.map +1 -1
  341. package/esm/upload/upload.js +1 -0
  342. package/esm/upload/upload.js.map +1 -1
  343. package/lib/_chunks/{dep-6f4603f8.js → dep-92e2ca45.js} +2 -2
  344. package/lib/_chunks/{dep-6f4603f8.js.map → dep-92e2ca45.js.map} +1 -1
  345. package/lib/_chunks/{dep-1b0236bc.js → dep-b8f2445b.js} +1 -1
  346. package/lib/_chunks/{dep-1b0236bc.js.map → dep-b8f2445b.js.map} +1 -1
  347. package/lib/_chunks/{dep-202d2d2a.js → dep-cd7ea040.js} +1 -1
  348. package/lib/_chunks/{dep-202d2d2a.js.map → dep-cd7ea040.js.map} +1 -1
  349. package/lib/addon/Addon.js +1 -1
  350. package/lib/addon/Addon.js.map +1 -1
  351. package/lib/calendar/Calendar.js +1 -1
  352. package/lib/calendar/index.js +1 -1
  353. package/lib/card/Card.js +1 -1
  354. package/lib/card/Card.js.map +1 -1
  355. package/lib/cascader/Cascader.js +1 -1
  356. package/lib/cascader/components/Item.js +1 -1
  357. package/lib/cascader/components/Panel.js +1 -1
  358. package/lib/cascader/index.js +1 -1
  359. package/lib/checkbox/Checkbox.js +1 -1
  360. package/lib/checkbox/CheckboxGroup.js +1 -1
  361. package/lib/checkbox/index.js +1 -1
  362. package/lib/color-picker/ColorPicker.js +1 -1
  363. package/lib/color-picker/ColorPickerPanel.js +1 -1
  364. package/lib/color-picker/components/panel/header.js +1 -1
  365. package/lib/color-picker/components/panel/index.js +1 -1
  366. package/lib/color-picker/index.js +1 -1
  367. package/lib/comment/Comment.js +1 -1
  368. package/lib/comment/Comment.js.map +1 -1
  369. package/lib/common/Check.js +1 -1
  370. package/lib/common/Check.js.map +1 -1
  371. package/lib/date-picker/DatePicker.js +21 -28
  372. package/lib/date-picker/DatePicker.js.map +1 -1
  373. package/lib/date-picker/DatePickerPanel.d.ts +7 -0
  374. package/lib/date-picker/DatePickerPanel.js +343 -0
  375. package/lib/date-picker/DatePickerPanel.js.map +1 -0
  376. package/lib/date-picker/DateRangePicker.js +22 -15
  377. package/lib/date-picker/DateRangePicker.js.map +1 -1
  378. package/lib/date-picker/DateRangePickerPanel.d.ts +7 -0
  379. package/lib/date-picker/DateRangePickerPanel.js +451 -0
  380. package/lib/date-picker/DateRangePickerPanel.js.map +1 -0
  381. package/lib/date-picker/base/Cell.d.ts +1 -1
  382. package/lib/date-picker/base/Cell.js +5 -5
  383. package/lib/date-picker/base/Cell.js.map +1 -1
  384. package/lib/date-picker/base/Footer.js +3 -2
  385. package/lib/date-picker/base/Footer.js.map +1 -1
  386. package/lib/date-picker/base/Header.js +2 -2
  387. package/lib/date-picker/base/Header.js.map +1 -1
  388. package/lib/date-picker/base/Table.d.ts +3 -3
  389. package/lib/date-picker/base/Table.js +2 -2
  390. package/lib/date-picker/base/Table.js.map +1 -1
  391. package/lib/date-picker/defaultProps.js +0 -2
  392. package/lib/date-picker/defaultProps.js.map +1 -1
  393. package/lib/date-picker/hooks/useFormat.d.ts +4 -1
  394. package/lib/date-picker/hooks/useFormat.js +31 -19
  395. package/lib/date-picker/hooks/useFormat.js.map +1 -1
  396. package/lib/date-picker/hooks/useRange.d.ts +2 -2
  397. package/lib/date-picker/hooks/useRange.js +52 -113
  398. package/lib/date-picker/hooks/useRange.js.map +1 -1
  399. package/lib/date-picker/hooks/useRangeValue.d.ts +24 -0
  400. package/lib/date-picker/hooks/useRangeValue.js +162 -0
  401. package/lib/date-picker/hooks/useRangeValue.js.map +1 -0
  402. package/lib/date-picker/hooks/useSingle.d.ts +6 -10
  403. package/lib/date-picker/hooks/useSingle.js +52 -72
  404. package/lib/date-picker/hooks/useSingle.js.map +1 -1
  405. package/lib/date-picker/hooks/useSingleValue.d.ts +14 -0
  406. package/lib/date-picker/hooks/useSingleValue.js +106 -0
  407. package/lib/date-picker/hooks/useSingleValue.js.map +1 -0
  408. package/lib/date-picker/{panel → hooks}/useTableData.d.ts +2 -2
  409. package/lib/date-picker/{panel → hooks}/useTableData.js +0 -0
  410. package/lib/date-picker/hooks/useTableData.js.map +1 -0
  411. package/lib/date-picker/index.d.ts +4 -20
  412. package/lib/date-picker/index.js +20 -16
  413. package/lib/date-picker/index.js.map +1 -1
  414. package/lib/date-picker/panel/ExtraContent.d.ts +2 -2
  415. package/lib/date-picker/panel/ExtraContent.js +1 -1
  416. package/lib/date-picker/panel/ExtraContent.js.map +1 -1
  417. package/lib/date-picker/panel/PanelContent.d.ts +17 -17
  418. package/lib/date-picker/panel/PanelContent.js +7 -6
  419. package/lib/date-picker/panel/PanelContent.js.map +1 -1
  420. package/{esm/date-picker/panel/DateRangePickerPanel.d.ts → lib/date-picker/panel/RangePanel.d.ts} +4 -12
  421. package/lib/date-picker/panel/{DateRangePickerPanel.js → RangePanel.js} +24 -18
  422. package/lib/date-picker/panel/RangePanel.js.map +1 -0
  423. package/{esm/date-picker/panel/DatePickerPanel.d.ts → lib/date-picker/panel/SinglePanel.d.ts} +5 -13
  424. package/lib/date-picker/panel/{DatePickerPanel.js → SinglePanel.js} +33 -27
  425. package/lib/date-picker/panel/SinglePanel.js.map +1 -0
  426. package/lib/date-picker/type.d.ts +138 -9
  427. package/lib/dialog/Dialog.js +1 -0
  428. package/lib/dialog/Dialog.js.map +1 -1
  429. package/lib/dialog/RenderDialog.js +43 -33
  430. package/lib/dialog/RenderDialog.js.map +1 -1
  431. package/lib/dialog/index.js +1 -0
  432. package/lib/dialog/index.js.map +1 -1
  433. package/lib/dialog/plugin.js +1 -0
  434. package/lib/dialog/plugin.js.map +1 -1
  435. package/lib/form/Form.js +6 -5
  436. package/lib/form/Form.js.map +1 -1
  437. package/lib/form/FormItem.js +5 -4
  438. package/lib/form/FormItem.js.map +1 -1
  439. package/lib/form/hooks/useFormItemStyle.js +5 -4
  440. package/lib/form/hooks/useFormItemStyle.js.map +1 -1
  441. package/lib/form/index.js +5 -4
  442. package/lib/form/index.js.map +1 -1
  443. package/lib/form/useInitialData.js +4 -3
  444. package/lib/form/useInitialData.js.map +1 -1
  445. package/lib/index-lib.js +11 -6
  446. package/lib/index-lib.js.map +1 -1
  447. package/lib/index.js +11 -6
  448. package/lib/index.js.map +1 -1
  449. package/lib/input/Input.js +1 -1
  450. package/lib/input/Input.js.map +1 -1
  451. package/lib/input/InputGroup.js +1 -1
  452. package/lib/input/InputGroup.js.map +1 -1
  453. package/lib/input-number/InputNumber.js +1 -1
  454. package/lib/input-number/InputNumber.js.map +1 -1
  455. package/lib/list/List.js +1 -1
  456. package/lib/list/List.js.map +1 -1
  457. package/lib/list/ListItem.js +1 -1
  458. package/lib/list/ListItem.js.map +1 -1
  459. package/lib/menu/HeadMenu.js +1 -1
  460. package/lib/menu/HeadMenu.js.map +1 -1
  461. package/lib/menu/Menu.js +1 -1
  462. package/lib/menu/Menu.js.map +1 -1
  463. package/lib/menu/MenuItem.js +1 -1
  464. package/lib/menu/MenuItem.js.map +1 -1
  465. package/lib/menu/SubMenu.js +2 -2
  466. package/lib/menu/SubMenu.js.map +1 -1
  467. package/lib/radio/Radio.js +1 -1
  468. package/lib/radio/RadioGroup.js +1 -1
  469. package/lib/radio/index.js +1 -1
  470. package/lib/slider/Slider.js +1 -1
  471. package/lib/slider/Slider.js.map +1 -1
  472. package/lib/table/BaseTable.js +1 -0
  473. package/lib/table/BaseTable.js.map +1 -1
  474. package/lib/table/EnhancedTable.js +3 -2
  475. package/lib/table/EnhancedTable.js.map +1 -1
  476. package/lib/table/FilterController.js +2 -2
  477. package/lib/table/PrimaryTable.js +3 -2
  478. package/lib/table/PrimaryTable.js.map +1 -1
  479. package/lib/table/TBody.js +6 -23
  480. package/lib/table/TBody.js.map +1 -1
  481. package/lib/table/TR.d.ts +2 -2
  482. package/lib/table/TR.js +4 -14
  483. package/lib/table/TR.js.map +1 -1
  484. package/lib/table/hooks/useColumnController.js +1 -1
  485. package/lib/table/hooks/useFilter.js +2 -2
  486. package/lib/table/hooks/useRowSelect.js +2 -2
  487. package/lib/table/hooks/useRowspanAndColspan.d.ts +10 -0
  488. package/lib/table/hooks/useRowspanAndColspan.js +78 -0
  489. package/lib/table/hooks/useRowspanAndColspan.js.map +1 -0
  490. package/lib/table/index.js +3 -2
  491. package/lib/table/index.js.map +1 -1
  492. package/lib/textarea/Textarea.js +2 -2
  493. package/lib/textarea/Textarea.js.map +1 -1
  494. package/lib/transfer/Transfer.js +1 -1
  495. package/lib/transfer/TransferList.js +1 -1
  496. package/lib/transfer/index.js +1 -1
  497. package/lib/tree/Tree.js +1 -1
  498. package/lib/tree/TreeItem.js +1 -1
  499. package/lib/tree/index.js +1 -1
  500. package/lib/tree-select/TreeSelect.js +1 -1
  501. package/lib/tree-select/index.js +1 -1
  502. package/lib/upload/index.js +1 -0
  503. package/lib/upload/index.js.map +1 -1
  504. package/lib/upload/themes/image-card.js +1 -0
  505. package/lib/upload/themes/image-card.js.map +1 -1
  506. package/lib/upload/upload.js +1 -0
  507. package/lib/upload/upload.js.map +1 -1
  508. package/package.json +1 -1
  509. package/es/date-picker/panel/DatePickerPanel.js.map +0 -1
  510. package/es/date-picker/panel/DateRangePickerPanel.js.map +0 -1
  511. package/es/date-picker/panel/useTableData.js.map +0 -1
  512. package/esm/date-picker/panel/DatePickerPanel.js.map +0 -1
  513. package/esm/date-picker/panel/DateRangePickerPanel.js.map +0 -1
  514. package/esm/date-picker/panel/useTableData.js.map +0 -1
  515. package/lib/date-picker/panel/DatePickerPanel.js.map +0 -1
  516. package/lib/date-picker/panel/DateRangePickerPanel.js.map +0 -1
  517. package/lib/date-picker/panel/useTableData.js.map +0 -1
@@ -39,6 +39,7 @@ export interface TdDatePickerProps {
39
39
  firstDayOfWeek?: number;
40
40
  /**
41
41
  * 用于格式化日期,全局配置默认为:'YYYY-MM-DD',[详细文档](https://day.js.org/docs/en/display/format)
42
+ * @default ''
42
43
  */
43
44
  format?: string;
44
45
  /**
@@ -71,11 +72,6 @@ export interface TdDatePickerProps {
71
72
  * @default bottom
72
73
  */
73
74
  presetsPlacement?: 'left' | 'top' | 'right' | 'bottom';
74
- /**
75
- * 是否呈现为日期范围选择器(临时 API,后期将调整为是 DateRangePicker 组件)
76
- * @default false
77
- */
78
- range?: boolean;
79
75
  /**
80
76
  * 用于自定义组件后置图标
81
77
  */
@@ -86,15 +82,17 @@ export interface TdDatePickerProps {
86
82
  timePickerProps?: TimePickerProps;
87
83
  /**
88
84
  * 选中值
85
+ * @default ''
89
86
  */
90
87
  value?: DateValue;
91
88
  /**
92
89
  * 选中值,非受控属性
90
+ * @default ''
93
91
  */
94
92
  defaultValue?: DateValue;
95
93
  /**
96
94
  * 用于格式化日期,默认为:'YYYY-MM-DD',可选值:'date/time-stamp/YYY-MM-DD' 等,[更多可选值见 Dayjs 详细文档](https://day.js.org/docs/en/display/format)。<br /> 其中 `valueType=date` 表示 `value` 数据类型为 `Date`;`valueType='time-stamp'` 表示 `value` 数据类型为时间戳
97
- * @default YYYY-MM-DD
95
+ * @default ''
98
96
  */
99
97
  valueType?: string;
100
98
  /**
@@ -146,7 +144,7 @@ export interface TdDateRangePickerProps {
146
144
  * 是否禁用组件,值为数组表示可分别控制开始日期和结束日期是否禁用
147
145
  * @default false
148
146
  */
149
- disabled?: boolean | Array<boolean>;
147
+ disabled?: boolean;
150
148
  /**
151
149
  * 禁用日期,示例:['A', 'B'] 表示日期 A 和日期 B 会被禁用。{ from: 'A', to: 'B' } 表示在 A 到 B 之间的日期会被禁用。{ before: 'A', after: 'B' } 表示在 A 之前和在 B 之后的日期都会被禁用。其中 A = '2021-01-01',B = '2021-02-01'。值类型为 Function 则表示返回值为 true 的日期会被禁用
152
150
  */
@@ -162,7 +160,7 @@ export interface TdDateRangePickerProps {
162
160
  firstDayOfWeek?: number;
163
161
  /**
164
162
  * 用于格式化日期,[详细文档](https://day.js.org/docs/en/display/format)
165
- * @default 'YYYY-MM-DD'
163
+ * @default ''
166
164
  */
167
165
  format?: string;
168
166
  /**
@@ -210,15 +208,17 @@ export interface TdDateRangePickerProps {
210
208
  timePickerProps?: TimePickerProps;
211
209
  /**
212
210
  * 选中值
211
+ * @default []
213
212
  */
214
213
  value?: DateRangeValue;
215
214
  /**
216
215
  * 选中值,非受控属性
216
+ * @default []
217
217
  */
218
218
  defaultValue?: DateRangeValue;
219
219
  /**
220
220
  * 用于格式化日期,默认为:'YYYY-MM-DD',可选值:'date/time-stamp/YYY-MM-DD' 等,[更多可选值见 Dayjs 详细文档](https://day.js.org/docs/en/display/format)。<br /> 其中 `valueType=date` 表示 `value` 数据类型为 `Date`;`valueType='time-stamp'` 表示 `value` 数据类型为时间戳
221
- * @default YYYY-MM-DD
221
+ * @default ''
222
222
  */
223
223
  valueType?: string;
224
224
  /**
@@ -258,6 +258,132 @@ export interface TdDateRangePickerProps {
258
258
  */
259
259
  onPick?: (value: DateValue, context: PickContext) => void;
260
260
  }
261
+ export interface TdDatePickerPanelProps extends Pick<TdDatePickerProps, 'value' | 'defaultValue' | 'valueType' | 'disabled' | 'disableDate' | 'enableTimePicker' | 'firstDayOfWeek' | 'format' | 'mode' | 'presets' | 'presetsPlacement' | 'timePickerProps'> {
262
+ /**
263
+ * 点击日期单元格时触发
264
+ */
265
+ onCellClick?: (context: {
266
+ date: Date;
267
+ e: MouseEvent<HTMLDivElement>;
268
+ }) => void;
269
+ /**
270
+ * 选中值发生变化时触发。参数 `context.trigger` 表示触发当前事件的来源,不同的模式触发来源也会不同
271
+ */
272
+ onChange?: (value: DateValue, context: {
273
+ dayjsValue?: Dayjs;
274
+ e?: MouseEvent<HTMLDivElement>;
275
+ trigger?: DatePickerTriggerSource;
276
+ }) => void;
277
+ /**
278
+ * 如果存在“确认”按钮,则点击“确认”按钮时触发
279
+ */
280
+ onConfirm?: (context: {
281
+ date: Date;
282
+ e: MouseEvent<HTMLDivElement>;
283
+ }) => void;
284
+ /**
285
+ * 月份切换发生变化时触发
286
+ */
287
+ onMonthChange?: (context: {
288
+ month: number;
289
+ date: Date;
290
+ e?: MouseEvent<HTMLDivElement>;
291
+ trigger: DatePickerMonthChangeTrigger;
292
+ }) => void;
293
+ /**
294
+ * 点击面板时触发
295
+ */
296
+ onPanelClick?: (context: {
297
+ e: MouseEvent<HTMLDivElement>;
298
+ }) => void;
299
+ /**
300
+ * 如果存在“确认”按钮,则点击“确认”按钮时触发
301
+ */
302
+ onPresetClick?: (context: {
303
+ preset: PresetDate;
304
+ e: MouseEvent<HTMLDivElement>;
305
+ }) => void;
306
+ /**
307
+ * 时间切换发生变化时触发
308
+ */
309
+ onTimeChange?: (context: {
310
+ time: string;
311
+ date: Date;
312
+ trigger: DatePickerTimeChangeTrigger;
313
+ e?: MouseEvent<HTMLDivElement>;
314
+ }) => void;
315
+ /**
316
+ * 年份切换发生变化时触发
317
+ */
318
+ onYearChange?: (context: {
319
+ year: number;
320
+ date: Date;
321
+ trigger: DatePickerYearChangeTrigger;
322
+ e?: MouseEvent<HTMLDivElement>;
323
+ }) => void;
324
+ }
325
+ export interface TdDateRangePickerPanelProps extends Pick<TdDateRangePickerProps, 'value' | 'defaultValue' | 'valueType' | 'disabled' | 'disableDate' | 'enableTimePicker' | 'firstDayOfWeek' | 'format' | 'mode' | 'presets' | 'presetsPlacement' | 'timePickerProps'> {
326
+ /**
327
+ * 点击日期单元格时触发
328
+ */
329
+ onCellClick?: (context: {
330
+ date: Date[];
331
+ partial: DateRangePickerPartial;
332
+ e: MouseEvent<HTMLDivElement>;
333
+ }) => void;
334
+ /**
335
+ * 选中值发生变化时触发。参数 `context.trigger` 表示触发当前事件的来源,不同的模式触发来源也会不同
336
+ */
337
+ onChange?: (value: DateRangeValue, context: {
338
+ dayjsValue?: Dayjs[];
339
+ partial: DateRangePickerPartial;
340
+ e?: MouseEvent<HTMLDivElement>;
341
+ trigger?: DatePickerTriggerSource;
342
+ }) => void;
343
+ /**
344
+ * 如果存在“确认”按钮,则点击“确认”按钮时触发
345
+ */
346
+ onConfirm?: (context: {
347
+ date: Date[];
348
+ e: MouseEvent<HTMLDivElement>;
349
+ }) => void;
350
+ /**
351
+ * 月份切换发生变化时触发
352
+ */
353
+ onMonthChange?: (context: {
354
+ month: number;
355
+ date: Date[];
356
+ partial: DateRangePickerPartial;
357
+ e?: MouseEvent<HTMLDivElement>;
358
+ trigger: DatePickerMonthChangeTrigger;
359
+ }) => void;
360
+ /**
361
+ * 点击面板时触发
362
+ */
363
+ onPanelClick?: (context: {
364
+ e: MouseEvent<HTMLDivElement>;
365
+ }) => void;
366
+ /**
367
+ * 时间切换发生变化时触发
368
+ */
369
+ onTimeChange?: (context: {
370
+ time: string;
371
+ date: Date[];
372
+ partial: DateRangePickerPartial;
373
+ trigger: DatePickerTimeChangeTrigger;
374
+ e?: MouseEvent<HTMLDivElement>;
375
+ }) => void;
376
+ /**
377
+ * 年份切换发生变化时触发
378
+ */
379
+ onYearChange?: (context: {
380
+ year: number;
381
+ date: Date[];
382
+ partial: DateRangePickerPartial;
383
+ trigger: DatePickerYearChangeTrigger;
384
+ e?: MouseEvent<HTMLDivElement>;
385
+ }) => void;
386
+ }
261
387
  export declare type DisableDate = Array<DateValue> | DisableDateObj | ((date: DateValue) => boolean);
262
388
  export interface DisableDateObj {
263
389
  from?: string;
@@ -284,3 +410,6 @@ export interface PickContext {
284
410
  e: MouseEvent<HTMLDivElement>;
285
411
  partial: DateRangePickerPartial;
286
412
  }
413
+ export declare type DatePickerMonthChangeTrigger = 'month-select' | 'month-arrow-next' | 'month-arrow-previous';
414
+ export declare type DatePickerTimeChangeTrigger = 'time-hour' | 'time-minute' | 'time-second';
415
+ export declare type DatePickerYearChangeTrigger = 'year-select' | 'year-arrow-next' | 'year-arrow-previous';
@@ -63,6 +63,7 @@ require('../_common/js/utils/helper.js');
63
63
  require('../loading/defaultProps.js');
64
64
  require('../loading/plugin.js');
65
65
  require('../button/defaultProps.js');
66
+ require('../_chunks/dep-bc80a1a5.js');
66
67
  require('react-transition-group');
67
68
  require('../_util/useLayoutEffect.js');
68
69
  require('../_util/useDialogEsc.js');
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sources":["../../src/dialog/Dialog.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useMemo, useRef, isValidElement } from 'react';\nimport isString from 'lodash/isString';\nimport isObject from 'lodash/isObject';\nimport isFunction from 'lodash/isFunction';\nimport { CloseIcon, InfoCircleFilledIcon, CheckCircleFilledIcon } from 'tdesign-icons-react';\nimport { useLocaleReceiver } from '../locale/LocalReceiver';\nimport Button, { ButtonProps } from '../button';\nimport { TdDialogProps, DialogInstance } from './type';\nimport { StyledProps } from '../common';\nimport noop from '../_util/noop';\nimport RenderDialog from './RenderDialog';\nimport useSetState from '../_util/useSetState';\nimport useConfig from '../_util/useConfig';\nimport { dialogDefaultProps } from './defaultProps';\n\nexport interface DialogProps extends TdDialogProps, StyledProps {\n /**\n * 是否以插件形式调用\n */\n isPlugin?: boolean;\n}\n\nconst renderDialogButton = (btn: TdDialogProps['cancelBtn'], defaultProps: ButtonProps) => {\n let result = null;\n\n if (isString(btn)) {\n result = <Button {...defaultProps}>{btn}</Button>;\n } else if (isValidElement(btn)) {\n result = btn;\n } else if (isObject(btn)) {\n result = <Button {...defaultProps} {...(btn as {})} />;\n } else if (isFunction(btn)) {\n result = btn();\n }\n\n return result;\n};\n\nconst Dialog = forwardRef((props: DialogProps, ref: React.Ref<DialogInstance>) => {\n const { classPrefix } = useConfig();\n const dialogDom = useRef<HTMLDivElement>();\n const [state, setState] = useSetState<DialogProps>({\n width: 520,\n visible: false,\n zIndex: 2500,\n placement: 'center',\n mode: 'modal',\n showOverlay: true,\n destroyOnClose: false,\n draggable: false,\n preventScrollThrough: true,\n isPlugin: false,\n ...props,\n });\n\n const [local, t] = useLocaleReceiver('dialog');\n const confirmText = t(local.confirm);\n const cancelText = t(local.cancel);\n\n const {\n visible,\n attach = 'body',\n closeBtn,\n footer,\n onCancel = noop,\n onConfirm = noop,\n cancelBtn = cancelText,\n confirmBtn = confirmText,\n onClose = noop,\n isPlugin = false,\n ...restState\n } = state;\n\n useEffect(() => {\n // 插件式调用不会更新props, 只有组件式调用才会更新props\n if (!isPlugin) {\n setState((prevState) => ({\n ...prevState,\n ...props,\n }));\n }\n }, [props, setState, isPlugin]);\n\n const prefixCls = `${classPrefix}-dialog`;\n const renderCloseIcon = () => {\n if (closeBtn === false) return null;\n if (closeBtn === true) return <CloseIcon style={{ verticalAlign: 'unset' }} />;\n return closeBtn || <CloseIcon style={{ verticalAlign: 'unset' }} />;\n };\n\n React.useImperativeHandle(ref, () => ({\n show() {\n setState({ visible: true });\n },\n hide() {\n setState({ visible: false });\n },\n destroy() {\n setState({ visible: false, destroyOnClose: true });\n },\n update(newOptions) {\n setState((prevState) => ({\n ...prevState,\n ...(newOptions as DialogProps),\n }));\n },\n }));\n\n const renderHeader = useMemo(() => {\n if (!state.header) return null;\n\n const iconMap = {\n info: <InfoCircleFilledIcon className={`${classPrefix}-is-info`} />,\n warning: <InfoCircleFilledIcon className={`${classPrefix}-is-warning`} />,\n error: <InfoCircleFilledIcon className={`${classPrefix}-is-error`} />,\n success: <CheckCircleFilledIcon className={`${classPrefix}-is-success`} />,\n };\n return (\n <div className={`${prefixCls}__header`}>\n {iconMap[state.theme]}\n {state.header}\n </div>\n );\n }, [state.header, state.theme, prefixCls, classPrefix]);\n\n const handleCancel = (e: React.MouseEvent<HTMLButtonElement>) => {\n onCancel({ e });\n onClose({ e, trigger: 'cancel' });\n };\n\n const handleConfirm = (e: React.MouseEvent<HTMLButtonElement>) => {\n onConfirm({ e });\n };\n\n const defaultFooter = () => {\n const renderCancelBtn = renderDialogButton(cancelBtn, { variant: 'outline' });\n const renderConfirmBtn = renderDialogButton(confirmBtn, { theme: 'primary' });\n\n return (\n <>\n {renderCancelBtn &&\n React.cloneElement(renderCancelBtn, {\n onClick: handleCancel,\n ...renderCancelBtn.props,\n })}\n {renderConfirmBtn &&\n React.cloneElement(renderConfirmBtn, {\n onClick: handleConfirm,\n ...renderConfirmBtn.props,\n })}\n </>\n );\n };\n\n return (\n <RenderDialog\n {...restState}\n visible={visible}\n prefixCls={prefixCls}\n header={renderHeader}\n attach={attach}\n closeBtn={renderCloseIcon()}\n classPrefix={classPrefix}\n onClose={onClose}\n footer={footer === undefined ? defaultFooter() : footer}\n ref={dialogDom}\n />\n );\n});\n\nDialog.displayName = 'Dialog';\nDialog.defaultProps = dialogDefaultProps;\n\nexport default Dialog;\n"],"names":["renderDialogButton","btn","defaultProps","result","isString","React","createElement","Button","isValidElement","isObject","isFunction","Dialog","forwardRef","props","ref","useConfig","classPrefix","dialogDom","useRef","useSetState","width","visible","zIndex","placement","mode","showOverlay","destroyOnClose","draggable","preventScrollThrough","isPlugin","_slicedToArray","state","setState","useLocaleReceiver","local","t","confirmText","confirm","cancelText","cancel","attach","closeBtn","footer","onCancel","noop","onConfirm","cancelBtn","confirmBtn","onClose","restState","useEffect","prevState","prefixCls","renderCloseIcon","CloseIcon","style","verticalAlign","useImperativeHandle","show","hide","destroy","update","newOptions","renderHeader","useMemo","header","iconMap","info","InfoCircleFilledIcon","className","warning","error","success","CheckCircleFilledIcon","theme","handleCancel","e","trigger","handleConfirm","defaultFooter","renderCancelBtn","variant","renderConfirmBtn","Fragment","cloneElement","onClick","RenderDialog","displayName","dialogDefaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.js","sources":["../../src/dialog/Dialog.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useMemo, useRef, isValidElement } from 'react';\nimport isString from 'lodash/isString';\nimport isObject from 'lodash/isObject';\nimport isFunction from 'lodash/isFunction';\nimport { CloseIcon, InfoCircleFilledIcon, CheckCircleFilledIcon } from 'tdesign-icons-react';\nimport { useLocaleReceiver } from '../locale/LocalReceiver';\nimport Button, { ButtonProps } from '../button';\nimport { TdDialogProps, DialogInstance } from './type';\nimport { StyledProps } from '../common';\nimport noop from '../_util/noop';\nimport RenderDialog from './RenderDialog';\nimport useSetState from '../_util/useSetState';\nimport useConfig from '../_util/useConfig';\nimport { dialogDefaultProps } from './defaultProps';\n\nexport interface DialogProps extends TdDialogProps, StyledProps {\n /**\n * 是否以插件形式调用\n */\n isPlugin?: boolean;\n}\n\nconst renderDialogButton = (btn: TdDialogProps['cancelBtn'], defaultProps: ButtonProps) => {\n let result = null;\n\n if (isString(btn)) {\n result = <Button {...defaultProps}>{btn}</Button>;\n } else if (isValidElement(btn)) {\n result = btn;\n } else if (isObject(btn)) {\n result = <Button {...defaultProps} {...(btn as {})} />;\n } else if (isFunction(btn)) {\n result = btn();\n }\n\n return result;\n};\n\nconst Dialog = forwardRef((props: DialogProps, ref: React.Ref<DialogInstance>) => {\n const { classPrefix } = useConfig();\n const dialogDom = useRef<HTMLDivElement>();\n const [state, setState] = useSetState<DialogProps>({\n width: 520,\n visible: false,\n zIndex: 2500,\n placement: 'center',\n mode: 'modal',\n showOverlay: true,\n destroyOnClose: false,\n draggable: false,\n preventScrollThrough: true,\n isPlugin: false,\n ...props,\n });\n\n const [local, t] = useLocaleReceiver('dialog');\n const confirmText = t(local.confirm);\n const cancelText = t(local.cancel);\n\n const {\n visible,\n attach = 'body',\n closeBtn,\n footer,\n onCancel = noop,\n onConfirm = noop,\n cancelBtn = cancelText,\n confirmBtn = confirmText,\n onClose = noop,\n isPlugin = false,\n ...restState\n } = state;\n\n useEffect(() => {\n // 插件式调用不会更新props, 只有组件式调用才会更新props\n if (!isPlugin) {\n setState((prevState) => ({\n ...prevState,\n ...props,\n }));\n }\n }, [props, setState, isPlugin]);\n\n const prefixCls = `${classPrefix}-dialog`;\n const renderCloseIcon = () => {\n if (closeBtn === false) return null;\n if (closeBtn === true) return <CloseIcon style={{ verticalAlign: 'unset' }} />;\n return closeBtn || <CloseIcon style={{ verticalAlign: 'unset' }} />;\n };\n\n React.useImperativeHandle(ref, () => ({\n show() {\n setState({ visible: true });\n },\n hide() {\n setState({ visible: false });\n },\n destroy() {\n setState({ visible: false, destroyOnClose: true });\n },\n update(newOptions) {\n setState((prevState) => ({\n ...prevState,\n ...(newOptions as DialogProps),\n }));\n },\n }));\n\n const renderHeader = useMemo(() => {\n if (!state.header) return null;\n\n const iconMap = {\n info: <InfoCircleFilledIcon className={`${classPrefix}-is-info`} />,\n warning: <InfoCircleFilledIcon className={`${classPrefix}-is-warning`} />,\n error: <InfoCircleFilledIcon className={`${classPrefix}-is-error`} />,\n success: <CheckCircleFilledIcon className={`${classPrefix}-is-success`} />,\n };\n return (\n <div className={`${prefixCls}__header`}>\n {iconMap[state.theme]}\n {state.header}\n </div>\n );\n }, [state.header, state.theme, prefixCls, classPrefix]);\n\n const handleCancel = (e: React.MouseEvent<HTMLButtonElement>) => {\n onCancel({ e });\n onClose({ e, trigger: 'cancel' });\n };\n\n const handleConfirm = (e: React.MouseEvent<HTMLButtonElement>) => {\n onConfirm({ e });\n };\n\n const defaultFooter = () => {\n const renderCancelBtn = renderDialogButton(cancelBtn, { variant: 'outline' });\n const renderConfirmBtn = renderDialogButton(confirmBtn, { theme: 'primary' });\n\n return (\n <>\n {renderCancelBtn &&\n React.cloneElement(renderCancelBtn, {\n onClick: handleCancel,\n ...renderCancelBtn.props,\n })}\n {renderConfirmBtn &&\n React.cloneElement(renderConfirmBtn, {\n onClick: handleConfirm,\n ...renderConfirmBtn.props,\n })}\n </>\n );\n };\n\n return (\n <RenderDialog\n {...restState}\n visible={visible}\n prefixCls={prefixCls}\n header={renderHeader}\n attach={attach}\n closeBtn={renderCloseIcon()}\n classPrefix={classPrefix}\n onClose={onClose}\n footer={footer === undefined ? defaultFooter() : footer}\n ref={dialogDom}\n />\n );\n});\n\nDialog.displayName = 'Dialog';\nDialog.defaultProps = dialogDefaultProps;\n\nexport default Dialog;\n"],"names":["renderDialogButton","btn","defaultProps","result","isString","React","createElement","Button","isValidElement","isObject","isFunction","Dialog","forwardRef","props","ref","useConfig","classPrefix","dialogDom","useRef","useSetState","width","visible","zIndex","placement","mode","showOverlay","destroyOnClose","draggable","preventScrollThrough","isPlugin","_slicedToArray","state","setState","useLocaleReceiver","local","t","confirmText","confirm","cancelText","cancel","attach","closeBtn","footer","onCancel","noop","onConfirm","cancelBtn","confirmBtn","onClose","restState","useEffect","prevState","prefixCls","renderCloseIcon","CloseIcon","style","verticalAlign","useImperativeHandle","show","hide","destroy","update","newOptions","renderHeader","useMemo","header","iconMap","info","InfoCircleFilledIcon","className","warning","error","success","CheckCircleFilledIcon","theme","handleCancel","e","trigger","handleConfirm","defaultFooter","renderCancelBtn","variant","renderConfirmBtn","Fragment","cloneElement","onClick","RenderDialog","displayName","dialogDefaultProps"],"mappings":"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"}
@@ -9,6 +9,8 @@
9
9
  Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var defineProperty = require('../_chunks/dep-a1655de1.js');
12
+ var _typeof = require('../_chunks/dep-3405bda4.js');
13
+ var isNumber = require('../_chunks/dep-bc80a1a5.js');
12
14
  var React = require('react');
13
15
  var reactTransitionGroup = require('react-transition-group');
14
16
  var classNames = require('classnames');
@@ -17,14 +19,13 @@ var _util_noop = require('../_util/noop.js');
17
19
  var _util_useLayoutEffect = require('../_util/useLayoutEffect.js');
18
20
  var _util_useDialogEsc = require('../_util/useDialogEsc.js');
19
21
  var dialog_defaultProps = require('./defaultProps.js');
20
- require('../_chunks/dep-3405bda4.js');
22
+ require('../_chunks/dep-fcf32c81.js');
23
+ require('../_chunks/dep-b1a67107.js');
21
24
  require('react-dom');
22
25
  require('../_util/dom.js');
23
26
  require('raf');
24
27
  require('../_chunks/dep-1d819290.js');
25
- require('../_chunks/dep-fcf32c81.js');
26
28
  require('../_chunks/dep-c90cc28f.js');
27
- require('../_chunks/dep-b1a67107.js');
28
29
  require('../_util/easing.js');
29
30
  require('../_util/useConfig.js');
30
31
  require('../_chunks/dep-b15f51d2.js');
@@ -184,14 +185,17 @@ var RenderDialog = /*#__PURE__*/React.forwardRef(function (props, ref) {
184
185
 
185
186
  if (!isModal) {
186
187
  var style = dialog.current.style;
187
- style.left = "50%";
188
- style.top = "50%";
188
+ style.position = "relative";
189
+ style.left = "unset";
190
+ style.top = "unset";
189
191
  }
190
192
 
191
193
  onClosed && onClosed();
192
194
  };
193
195
 
194
196
  var onMaskClick = function onMaskClick(e) {
197
+ if (mode !== "modal") return;
198
+
195
199
  if (e.target === e.currentTarget && closeOnOverlayClick) {
196
200
  onOverlayClick({
197
201
  e: e
@@ -233,7 +237,7 @@ var RenderDialog = /*#__PURE__*/React.forwardRef(function (props, ref) {
233
237
  }
234
238
  };
235
239
 
236
- var renderDialog = function renderDialog(classNames) {
240
+ var renderDialog = function renderDialog() {
237
241
  var dest = {};
238
242
 
239
243
  if (props.width !== void 0) {
@@ -251,6 +255,9 @@ var RenderDialog = /*#__PURE__*/React.forwardRef(function (props, ref) {
251
255
  onClick: handleCloseBtnClick,
252
256
  className: "".concat(prefixCls, "__close")
253
257
  }, closeBtn);
258
+ var validWindow = (typeof window === "undefined" ? "undefined" : _typeof._typeof(window)) === "object";
259
+ var screenHeight = validWindow ? window.innerHeight || document.documentElement.clientHeight : void 0;
260
+ var screenWidth = validWindow ? window.innerWidth || document.documentElement.clientWidth : void 0;
254
261
 
255
262
  var style = _objectSpread(_objectSpread({}, dest), props.style);
256
263
 
@@ -263,30 +270,14 @@ var RenderDialog = /*#__PURE__*/React.forwardRef(function (props, ref) {
263
270
  var _dialog$current = dialog.current,
264
271
  style2 = _dialog$current.style,
265
272
  offsetWidth = _dialog$current.offsetWidth,
266
- offsetHeight = _dialog$current.offsetHeight,
267
- clientHeight = _dialog$current.clientHeight,
268
- clientWidth = _dialog$current.clientWidth;
269
- var halfHeight = clientHeight / 2;
270
- var halfWidth = clientWidth / 2;
273
+ offsetHeight = _dialog$current.offsetHeight;
271
274
  var diffX = e.clientX - dialogOffset.x;
272
275
  var diffY = e.clientY - dialogOffset.y;
273
-
274
- if (diffX < halfWidth) {
275
- diffX = halfWidth;
276
- }
277
-
278
- if (diffX > window.innerWidth - offsetWidth + halfWidth) {
279
- diffX = window.innerWidth - offsetWidth + halfWidth;
280
- }
281
-
282
- if (diffY < halfHeight) {
283
- diffY = halfHeight;
284
- }
285
-
286
- if (diffY > window.innerHeight - offsetHeight + halfHeight) {
287
- diffY = window.innerHeight - offsetHeight + halfHeight;
288
- }
289
-
276
+ if (diffX < 0) diffX = 0;
277
+ if (diffY < 0) diffY = 0;
278
+ if (screenWidth - offsetWidth - diffX < 0) diffX = screenWidth - offsetWidth;
279
+ if (screenHeight - offsetHeight - diffY < 0) diffY = screenHeight - offsetHeight;
280
+ style2.position = "absolute";
290
281
  style2.left = "".concat(diffX, "px");
291
282
  style2.top = "".concat(diffY, "px");
292
283
  };
@@ -301,7 +292,10 @@ var RenderDialog = /*#__PURE__*/React.forwardRef(function (props, ref) {
301
292
  if (canDraggable) {
302
293
  var _dialog$current2 = dialog.current,
303
294
  offsetLeft = _dialog$current2.offsetLeft,
304
- offsetTop = _dialog$current2.offsetTop;
295
+ offsetTop = _dialog$current2.offsetTop,
296
+ offsetHeight = _dialog$current2.offsetHeight,
297
+ offsetWidth = _dialog$current2.offsetWidth;
298
+ if (offsetWidth > screenWidth || offsetHeight > screenHeight) return;
305
299
  dialog.current.style.cursor = "move";
306
300
  var diffX = e.clientX - offsetLeft;
307
301
  var diffY = e.clientY - offsetTop;
@@ -314,12 +308,29 @@ var RenderDialog = /*#__PURE__*/React.forwardRef(function (props, ref) {
314
308
  }
315
309
  };
316
310
 
311
+ var positionStyle = {};
312
+
313
+ if (props.top !== void 0) {
314
+ if (isNumber.isNumber_1(props.top) && props.top < 0) {
315
+ positionStyle.paddingTop = "".concat(props.top, "px");
316
+ } else {
317
+ positionStyle.paddingTop = props.top;
318
+ }
319
+ }
320
+
321
+ var classNames = classNames__default["default"]("".concat(prefixCls, "__position"), defineProperty._defineProperty({}, "".concat(prefixCls, "--top"), !!props.top), "".concat(props.placement && !props.top ? "".concat(prefixCls, "--").concat(props.placement) : ""));
317
322
  var dialogElement = /* @__PURE__ */React__default["default"].createElement("div", {
323
+ className: "".concat(prefixCls, "__wrap"),
324
+ onClick: onMaskClick
325
+ }, /* @__PURE__ */React__default["default"].createElement("div", {
326
+ className: classNames,
327
+ style: positionStyle
328
+ }, /* @__PURE__ */React__default["default"].createElement("div", {
318
329
  ref: dialog,
319
330
  style: style,
320
- className: classNames__default["default"]("".concat(prefixCls), "".concat(prefixCls, "--default"), classNames),
331
+ className: classNames__default["default"]("".concat(prefixCls), "".concat(prefixCls, "--default")),
321
332
  onMouseDown: onDialogMoveStart
322
- }, closer, header, body, footer);
333
+ }, closer, header, body, footer)));
323
334
  return /* @__PURE__ */React__default["default"].createElement(reactTransitionGroup.CSSTransition, {
324
335
  "in": props.visible,
325
336
  appear: true,
@@ -347,7 +358,6 @@ var RenderDialog = /*#__PURE__*/React.forwardRef(function (props, ref) {
347
358
  nodeRef: maskRef
348
359
  }, /* @__PURE__ */React__default["default"].createElement("div", {
349
360
  ref: maskRef,
350
- onClick: onMaskClick,
351
361
  className: "".concat(prefixCls, "__mask")
352
362
  }));
353
363
  }
@@ -366,7 +376,7 @@ var RenderDialog = /*#__PURE__*/React.forwardRef(function (props, ref) {
366
376
  zIndex: zIndex
367
377
  });
368
378
 
369
- var dialogBody = renderDialog("".concat(props.placement ? "".concat(prefixCls, "--").concat(props.placement) : ""));
379
+ var dialogBody = renderDialog();
370
380
  var wrapClass = classNames__default["default"](props.className, "".concat(prefixCls, "__ctx"), "".concat(prefixCls, "__ctx--fixed"), visible ? dialogOpenClass : "");
371
381
  var dialog2 = /* @__PURE__ */React__default["default"].createElement("div", {
372
382
  ref: wrap,
@@ -1 +1 @@
1
- {"version":3,"file":"RenderDialog.js","sources":["../../src/dialog/RenderDialog.tsx"],"sourcesContent":["import React, { useRef, CSSProperties, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport classnames from 'classnames';\nimport Portal from '../common/Portal';\nimport noop from '../_util/noop';\nimport useLayoutEffect from '../_util/useLayoutEffect';\nimport { DialogProps } from './Dialog';\nimport useDialogEsc from '../_util/useDialogEsc';\nimport { dialogDefaultProps } from './defaultProps';\n\nenum KeyCode {\n ESC = 27,\n}\n\nexport interface RenderDialogProps extends DialogProps {\n prefixCls?: string;\n classPrefix: string;\n}\n\nconst transitionTime = 300;\nlet mousePosition: { x: number; y: number } | null;\nconst getClickPosition = (e: MouseEvent) => {\n mousePosition = {\n x: e.clientX,\n y: e.clientY,\n };\n setTimeout(() => {\n mousePosition = null;\n }, 100);\n};\nif (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n document.documentElement.addEventListener('click', getClickPosition, true);\n}\nconst RenderDialog = forwardRef((props: RenderDialogProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n prefixCls,\n attach,\n visible,\n mode,\n zIndex,\n showOverlay,\n onEscKeydown = noop,\n onClosed = noop,\n onClose = noop,\n onCloseBtnClick = noop,\n onOverlayClick = noop,\n preventScrollThrough,\n closeBtn,\n closeOnEscKeydown,\n closeOnOverlayClick,\n destroyOnClose,\n } = props;\n const wrap = useRef<HTMLDivElement>();\n const dialog = useRef<HTMLDivElement>();\n const maskRef = useRef<HTMLDivElement>();\n const portalRef = useRef<HTMLDivElement>();\n const bodyOverflow = useRef<string>();\n const bodyCssTextRef = useRef<string>();\n const isModal = mode === 'modal';\n const canDraggable = props.draggable && mode === 'modeless';\n const dialogOpenClass = `${prefixCls}__open`;\n useDialogEsc(visible, wrap);\n useImperativeHandle(ref, () => wrap.current);\n useLayoutEffect(() => {\n bodyOverflow.current = document.body.style.overflow;\n bodyCssTextRef.current = document.body.style.cssText;\n }, []);\n\n useLayoutEffect(() => {\n if (visible) {\n if (isModal && bodyOverflow.current !== 'hidden' && preventScrollThrough) {\n const scrollWidth = window.innerWidth - document.body.offsetWidth;\n // 减少回流\n if (bodyCssTextRef.current === '') {\n let bodyCssText = 'overflow: hidden;';\n if (scrollWidth > 0) {\n bodyCssText += `position: relative;width: calc(100% - ${scrollWidth}px);`;\n }\n document.body.style.cssText = bodyCssText;\n } else {\n if (scrollWidth > 0) {\n document.body.style.width = `calc(100% - ${scrollWidth}px)`;\n document.body.style.position = 'relative';\n }\n document.body.style.overflow = 'hidden';\n }\n }\n if (wrap.current) {\n wrap.current.focus();\n }\n } else if (isModal) {\n const openDialogDom = document.querySelectorAll(`.${dialogOpenClass}`);\n if (openDialogDom.length < 1) {\n document.body.style.cssText = bodyCssTextRef.current;\n }\n }\n\n // 组件销毁后重置 body 样式\n return () => {\n if (isModal) {\n const openDialogDom = document.querySelectorAll(`.${dialogOpenClass}`);\n if (openDialogDom.length < 1) {\n document.body.style.cssText = bodyCssTextRef.current;\n document.body.style.overflow = bodyOverflow.current;\n }\n } else {\n document.body.style.cssText = bodyCssTextRef.current;\n document.body.style.overflow = bodyOverflow.current;\n }\n };\n }, [preventScrollThrough, attach, visible, mode, isModal, dialogOpenClass]);\n\n useEffect(() => {\n if (visible) {\n if (mousePosition && dialog.current) {\n dialog.current.style.transformOrigin = `${mousePosition.x - dialog.current.offsetLeft}px ${\n mousePosition.y - dialog.current.offsetTop\n }px`;\n }\n }\n }, [visible]);\n\n const onAnimateLeave = () => {\n if (wrap.current) {\n wrap.current.style.display = 'none';\n }\n if (isModal && preventScrollThrough) {\n // 还原body的滚动条\n const openDialogDom = document.querySelectorAll(`.${dialogOpenClass}`);\n if (isModal && openDialogDom.length < 1) {\n document.body.style.overflow = bodyOverflow.current;\n }\n }\n if (!isModal) {\n const { style } = dialog.current;\n style.left = '50%';\n style.top = '50%';\n }\n onClosed && onClosed();\n };\n\n const onMaskClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (e.target === e.currentTarget && closeOnOverlayClick) {\n onOverlayClick({ e });\n onClose({ e, trigger: 'overlay' });\n }\n };\n\n const handleCloseBtnClick = (e: React.MouseEvent<HTMLDivElement>) => {\n onCloseBtnClick({ e });\n onClose({ e, trigger: 'close-btn' });\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n // https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode\n if (+e.code === KeyCode.ESC || e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n onEscKeydown({ e });\n if (closeOnEscKeydown) {\n onClose({ e, trigger: 'esc' });\n }\n }\n };\n\n const renderDialog = (classNames) => {\n const dest: any = {};\n if (props.width !== undefined) {\n dest.width = props.width;\n }\n\n const footer = props.footer ? <div className={`${prefixCls}__footer`}>{props.footer}</div> : null;\n\n const { header } = props;\n\n const body = <div className={`${prefixCls}__body`}>{props.body || props.children}</div>;\n\n const closer = closeBtn && (\n <span onClick={handleCloseBtnClick} className={`${prefixCls}__close`}>\n {closeBtn}\n </span>\n );\n\n const style = { ...dest, ...props.style };\n let dialogOffset = { x: 0, y: 0 };\n const onDialogMove = (e: MouseEvent) => {\n const { style, offsetWidth, offsetHeight, clientHeight, clientWidth } = dialog.current;\n const halfHeight = clientHeight / 2;\n const halfWidth = clientWidth / 2;\n\n let diffX = e.clientX - dialogOffset.x;\n let diffY = e.clientY - dialogOffset.y;\n\n if (diffX < halfWidth) {\n diffX = halfWidth;\n }\n if (diffX > window.innerWidth - offsetWidth + halfWidth) {\n diffX = window.innerWidth - offsetWidth + halfWidth;\n }\n\n if (diffY < halfHeight) {\n diffY = halfHeight;\n }\n\n if (diffY > window.innerHeight - offsetHeight + halfHeight) {\n diffY = window.innerHeight - offsetHeight + halfHeight;\n }\n style.left = `${diffX}px`;\n style.top = `${diffY}px`;\n };\n\n const onDialogMoveEnd = () => {\n dialog.current.style.cursor = 'default';\n document.removeEventListener('mousemove', onDialogMove);\n document.removeEventListener('mouseup', onDialogMoveEnd);\n };\n\n const onDialogMoveStart = (e: React.MouseEvent<HTMLDivElement>) => {\n if (canDraggable) {\n const { offsetLeft, offsetTop } = dialog.current;\n dialog.current.style.cursor = 'move';\n const diffX = e.clientX - offsetLeft;\n const diffY = e.clientY - offsetTop;\n dialogOffset = {\n x: diffX,\n y: diffY,\n };\n\n document.addEventListener('mousemove', onDialogMove);\n document.addEventListener('mouseup', onDialogMoveEnd);\n }\n };\n\n const dialogElement = (\n <div\n ref={dialog}\n style={style}\n className={classnames(`${prefixCls}`, `${prefixCls}--default`, classNames)}\n onMouseDown={onDialogMoveStart}\n >\n {closer}\n {header}\n {body}\n {footer}\n </div>\n );\n\n return (\n <CSSTransition\n in={props.visible}\n appear\n mountOnEnter\n unmountOnExit={destroyOnClose}\n timeout={transitionTime}\n classNames={`${prefixCls}-zoom`}\n onEntered={props.onOpened}\n onExited={onAnimateLeave}\n nodeRef={dialog}\n >\n {dialogElement}\n </CSSTransition>\n );\n };\n\n const renderMask = () => {\n let maskElement;\n if (showOverlay) {\n maskElement = (\n <CSSTransition\n in={visible}\n appear\n timeout={transitionTime}\n classNames={`${prefixCls}-fade`}\n mountOnEnter\n unmountOnExit\n nodeRef={maskRef}\n >\n <div ref={maskRef} onClick={onMaskClick} className={`${prefixCls}__mask`} />\n </CSSTransition>\n );\n }\n return maskElement;\n };\n\n const render = () => {\n const style: CSSProperties = {};\n if (visible) {\n style.display = 'block';\n }\n const wrapStyle = {\n ...style,\n zIndex,\n };\n\n const dialogBody = renderDialog(`${props.placement ? `${prefixCls}--${props.placement}` : ''}`);\n const wrapClass = classnames(\n props.className,\n `${prefixCls}__ctx`,\n `${prefixCls}__ctx--fixed`,\n visible ? dialogOpenClass : '',\n );\n const dialog = (\n <div ref={wrap} className={wrapClass} style={wrapStyle} onKeyDown={handleKeyDown} tabIndex={0}>\n {mode === 'modal' && renderMask()}\n {dialogBody}\n </div>\n );\n\n let dom = null;\n\n if (visible || wrap.current) {\n if (!attach) {\n dom = dialog;\n } else {\n dom = (\n <CSSTransition\n in={visible}\n appear\n timeout={transitionTime}\n mountOnEnter\n unmountOnExit={destroyOnClose}\n nodeRef={portalRef}\n >\n <Portal attach={attach} ref={portalRef}>\n {dialog}\n </Portal>\n </CSSTransition>\n );\n }\n }\n return dom;\n };\n\n return render();\n});\n\nRenderDialog.defaultProps = dialogDefaultProps;\n\nexport default RenderDialog;\n"],"names":["transitionTime","mousePosition","getClickPosition","e","x","clientX","y","clientY","setTimeout","window","document","documentElement","addEventListener","RenderDialog","forwardRef","props","ref","prefixCls","attach","visible","mode","zIndex","showOverlay","onEscKeydown","noop","onClosed","onClose","onCloseBtnClick","onOverlayClick","preventScrollThrough","closeBtn","closeOnEscKeydown","closeOnOverlayClick","destroyOnClose","wrap","useRef","dialog","maskRef","portalRef","bodyOverflow","bodyCssTextRef","isModal","canDraggable","draggable","dialogOpenClass","useDialogEsc","useImperativeHandle","current","useLayoutEffect","body","style","overflow","cssText","scrollWidth","innerWidth","offsetWidth","bodyCssText","width","position","focus","openDialogDom","querySelectorAll","length","useEffect","transformOrigin","offsetLeft","offsetTop","onAnimateLeave","display","left","top","onMaskClick","target","currentTarget","trigger","handleCloseBtnClick","handleKeyDown","code","keyCode","stopPropagation","renderDialog","classNames","dest","footer","React","createElement","className","header","children","closer","onClick","dialogOffset","onDialogMove","style2","offsetHeight","clientHeight","clientWidth","halfHeight","halfWidth","diffX","diffY","innerHeight","onDialogMoveEnd","cursor","removeEventListener","onDialogMoveStart","dialogElement","classnames","onMouseDown","CSSTransition","appear","mountOnEnter","unmountOnExit","timeout","onEntered","onOpened","onExited","nodeRef","renderMask","maskElement","render","wrapStyle","dialogBody","placement","wrapClass","dialog2","onKeyDown","tabIndex","dom","Portal","defaultProps","dialogDefaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"RenderDialog.js","sources":["../../src/dialog/RenderDialog.tsx"],"sourcesContent":["import isNumber from 'lodash/isNumber';\nimport React, { useRef, CSSProperties, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport classnames from 'classnames';\nimport Portal from '../common/Portal';\nimport noop from '../_util/noop';\nimport useLayoutEffect from '../_util/useLayoutEffect';\nimport { DialogProps } from './Dialog';\nimport useDialogEsc from '../_util/useDialogEsc';\nimport { dialogDefaultProps } from './defaultProps';\n\nenum KeyCode {\n ESC = 27,\n}\n\nexport interface RenderDialogProps extends DialogProps {\n prefixCls?: string;\n classPrefix: string;\n}\n\nconst transitionTime = 300;\nlet mousePosition: { x: number; y: number } | null;\nconst getClickPosition = (e: MouseEvent) => {\n mousePosition = {\n x: e.clientX,\n y: e.clientY,\n };\n setTimeout(() => {\n mousePosition = null;\n }, 100);\n};\nif (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n document.documentElement.addEventListener('click', getClickPosition, true);\n}\nconst RenderDialog = forwardRef((props: RenderDialogProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n prefixCls,\n attach,\n visible,\n mode,\n zIndex,\n showOverlay,\n onEscKeydown = noop,\n onClosed = noop,\n onClose = noop,\n onCloseBtnClick = noop,\n onOverlayClick = noop,\n preventScrollThrough,\n closeBtn,\n closeOnEscKeydown,\n closeOnOverlayClick,\n destroyOnClose,\n } = props;\n const wrap = useRef<HTMLDivElement>();\n const dialog = useRef<HTMLDivElement>();\n const maskRef = useRef<HTMLDivElement>();\n const portalRef = useRef<HTMLDivElement>();\n const bodyOverflow = useRef<string>();\n const bodyCssTextRef = useRef<string>();\n const isModal = mode === 'modal';\n const canDraggable = props.draggable && mode === 'modeless';\n const dialogOpenClass = `${prefixCls}__open`;\n useDialogEsc(visible, wrap);\n useImperativeHandle(ref, () => wrap.current);\n useLayoutEffect(() => {\n bodyOverflow.current = document.body.style.overflow;\n bodyCssTextRef.current = document.body.style.cssText;\n }, []);\n\n useLayoutEffect(() => {\n if (visible) {\n if (isModal && bodyOverflow.current !== 'hidden' && preventScrollThrough) {\n const scrollWidth = window.innerWidth - document.body.offsetWidth;\n // 减少回流\n if (bodyCssTextRef.current === '') {\n let bodyCssText = 'overflow: hidden;';\n if (scrollWidth > 0) {\n bodyCssText += `position: relative;width: calc(100% - ${scrollWidth}px);`;\n }\n document.body.style.cssText = bodyCssText;\n } else {\n if (scrollWidth > 0) {\n document.body.style.width = `calc(100% - ${scrollWidth}px)`;\n document.body.style.position = 'relative';\n }\n document.body.style.overflow = 'hidden';\n }\n }\n if (wrap.current) {\n wrap.current.focus();\n }\n } else if (isModal) {\n const openDialogDom = document.querySelectorAll(`.${dialogOpenClass}`);\n if (openDialogDom.length < 1) {\n document.body.style.cssText = bodyCssTextRef.current;\n }\n }\n\n // 组件销毁后重置 body 样式\n return () => {\n if (isModal) {\n const openDialogDom = document.querySelectorAll(`.${dialogOpenClass}`);\n if (openDialogDom.length < 1) {\n document.body.style.cssText = bodyCssTextRef.current;\n document.body.style.overflow = bodyOverflow.current;\n }\n } else {\n document.body.style.cssText = bodyCssTextRef.current;\n document.body.style.overflow = bodyOverflow.current;\n }\n };\n }, [preventScrollThrough, attach, visible, mode, isModal, dialogOpenClass]);\n\n useEffect(() => {\n // 动画渲染初始位置\n if (visible) {\n if (mousePosition && dialog.current) {\n dialog.current.style.transformOrigin = `${mousePosition.x - dialog.current.offsetLeft}px ${\n mousePosition.y - dialog.current.offsetTop\n }px`;\n }\n }\n }, [visible]);\n\n const onAnimateLeave = () => {\n if (wrap.current) {\n wrap.current.style.display = 'none';\n }\n if (isModal && preventScrollThrough) {\n // 还原body的滚动条\n const openDialogDom = document.querySelectorAll(`.${dialogOpenClass}`);\n if (isModal && openDialogDom.length < 1) {\n document.body.style.overflow = bodyOverflow.current;\n }\n }\n if (!isModal) {\n // 关闭弹窗 清空拖拽设置的相关css\n const { style } = dialog.current;\n style.position = 'relative';\n style.left = 'unset';\n style.top = 'unset';\n }\n onClosed && onClosed();\n };\n\n const onMaskClick = (e: React.MouseEvent<HTMLDivElement>) => {\n // 如果不是modal模式 默认没有mask 也就没有相关点击事件\n if (mode !== 'modal') return;\n if (e.target === e.currentTarget && closeOnOverlayClick) {\n onOverlayClick({ e });\n onClose({ e, trigger: 'overlay' });\n }\n };\n\n const handleCloseBtnClick = (e: React.MouseEvent<HTMLDivElement>) => {\n onCloseBtnClick({ e });\n onClose({ e, trigger: 'close-btn' });\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n // https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode\n if (+e.code === KeyCode.ESC || e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n onEscKeydown({ e });\n if (closeOnEscKeydown) {\n onClose({ e, trigger: 'esc' });\n }\n }\n };\n\n const renderDialog = () => {\n const dest: any = {};\n if (props.width !== undefined) {\n dest.width = props.width;\n }\n\n const footer = props.footer ? <div className={`${prefixCls}__footer`}>{props.footer}</div> : null;\n\n const { header } = props;\n\n const body = <div className={`${prefixCls}__body`}>{props.body || props.children}</div>;\n\n const closer = closeBtn && (\n <span onClick={handleCloseBtnClick} className={`${prefixCls}__close`}>\n {closeBtn}\n </span>\n );\n const validWindow = typeof window === 'object';\n\n const screenHeight = validWindow ? window.innerHeight || document.documentElement.clientHeight : undefined;\n const screenWidth = validWindow ? window.innerWidth || document.documentElement.clientWidth : undefined;\n\n const style = { ...dest, ...props.style };\n let dialogOffset = { x: 0, y: 0 };\n // 拖拽代码实现部分\n const onDialogMove = (e: MouseEvent) => {\n const { style, offsetWidth, offsetHeight } = dialog.current;\n \n let diffX = e.clientX - dialogOffset.x;\n let diffY = e.clientY - dialogOffset.y;\n // 拖拽上左边界限制\n if (diffX < 0) diffX = 0;\n if (diffY < 0) diffY = 0;\n if (screenWidth - offsetWidth - diffX < 0) diffX = screenWidth - offsetWidth;\n if (screenHeight - offsetHeight - diffY < 0) diffY = screenHeight - offsetHeight;\n style.position = 'absolute';\n style.left = `${diffX}px`;\n style.top = `${diffY}px`;\n };\n\n const onDialogMoveEnd = () => {\n dialog.current.style.cursor = 'default';\n document.removeEventListener('mousemove', onDialogMove);\n document.removeEventListener('mouseup', onDialogMoveEnd);\n };\n\n const onDialogMoveStart = (e: React.MouseEvent<HTMLDivElement>) => {\n if (canDraggable) {\n const { offsetLeft, offsetTop, offsetHeight, offsetWidth } = dialog.current;\n // 如果弹出框超出屏幕范围 不能进行拖拽\n if (offsetWidth > screenWidth || offsetHeight > screenHeight) return;\n dialog.current.style.cursor = 'move';\n // 计算鼠标\n const diffX = e.clientX - offsetLeft;\n const diffY = e.clientY - offsetTop;\n dialogOffset = {\n x: diffX,\n y: diffY,\n };\n\n document.addEventListener('mousemove', onDialogMove);\n document.addEventListener('mouseup', onDialogMoveEnd);\n }\n };\n const positionStyle: any = {};\n if (props.top !== undefined) {\n // 判断是否时数字\n if (isNumber(props.top) && props.top < 0) {\n positionStyle.paddingTop = `${props.top}px`;\n } else {\n positionStyle.paddingTop = props.top;\n }\n \n }\n // 此处获取定位方式 top 优先级较高 存在时 默认使用top定位\n const classNames = classnames(\n `${prefixCls}__position`,\n { [`${prefixCls}--top`]: !!props.top },\n `${props.placement && !props.top ? `${prefixCls}--${props.placement}` : ''}`,\n );\n const dialogElement = (\n <div className={`${prefixCls}__wrap`} onClick={onMaskClick}>\n <div className={classNames} style={positionStyle}>\n <div\n ref={dialog}\n style={style}\n className={classnames(`${prefixCls}`, `${prefixCls}--default`)}\n onMouseDown={onDialogMoveStart}\n >\n {closer}\n {header}\n {body}\n {footer}\n </div>\n </div>\n </div>\n );\n\n return (\n <CSSTransition\n in={props.visible}\n appear\n mountOnEnter\n unmountOnExit={destroyOnClose}\n timeout={transitionTime}\n classNames={`${prefixCls}-zoom`}\n onEntered={props.onOpened}\n onExited={onAnimateLeave}\n nodeRef={dialog}\n >\n {dialogElement}\n </CSSTransition>\n );\n };\n\n const renderMask = () => {\n let maskElement;\n if (showOverlay) {\n maskElement = (\n <CSSTransition\n in={visible}\n appear\n timeout={transitionTime}\n classNames={`${prefixCls}-fade`}\n mountOnEnter\n unmountOnExit\n nodeRef={maskRef}\n >\n <div ref={maskRef} className={`${prefixCls}__mask`} />\n </CSSTransition>\n );\n }\n return maskElement;\n };\n\n const render = () => {\n const style: CSSProperties = {};\n if (visible) {\n style.display = 'block';\n }\n const wrapStyle = {\n ...style,\n zIndex,\n };\n\n const dialogBody = renderDialog();\n const wrapClass = classnames(\n props.className,\n `${prefixCls}__ctx`,\n `${prefixCls}__ctx--fixed`,\n visible ? dialogOpenClass : '',\n );\n const dialog = (\n <div ref={wrap} className={wrapClass} style={wrapStyle} onKeyDown={handleKeyDown} tabIndex={0}>\n {mode === 'modal' && renderMask()}\n {dialogBody}\n </div>\n );\n\n let dom = null;\n\n if (visible || wrap.current) {\n if (!attach) {\n dom = dialog;\n } else {\n dom = (\n <CSSTransition\n in={visible}\n appear\n timeout={transitionTime}\n mountOnEnter\n unmountOnExit={destroyOnClose}\n nodeRef={portalRef}\n >\n <Portal attach={attach} ref={portalRef}>\n {dialog}\n </Portal>\n </CSSTransition>\n );\n }\n }\n return dom;\n };\n\n return render();\n});\n\nRenderDialog.defaultProps = dialogDefaultProps;\n\nexport default RenderDialog;\n"],"names":["transitionTime","mousePosition","getClickPosition","e","x","clientX","y","clientY","setTimeout","window","document","documentElement","addEventListener","RenderDialog","forwardRef","props","ref","prefixCls","attach","visible","mode","zIndex","showOverlay","onEscKeydown","noop","onClosed","onClose","onCloseBtnClick","onOverlayClick","preventScrollThrough","closeBtn","closeOnEscKeydown","closeOnOverlayClick","destroyOnClose","wrap","useRef","dialog","maskRef","portalRef","bodyOverflow","bodyCssTextRef","isModal","canDraggable","draggable","dialogOpenClass","useDialogEsc","useImperativeHandle","current","useLayoutEffect","body","style","overflow","cssText","scrollWidth","innerWidth","offsetWidth","bodyCssText","width","position","focus","openDialogDom","querySelectorAll","length","useEffect","transformOrigin","offsetLeft","offsetTop","onAnimateLeave","display","left","top","onMaskClick","target","currentTarget","trigger","handleCloseBtnClick","handleKeyDown","code","keyCode","stopPropagation","renderDialog","dest","footer","React","createElement","className","header","children","closer","onClick","validWindow","screenHeight","innerHeight","clientHeight","screenWidth","clientWidth","dialogOffset","onDialogMove","style2","offsetHeight","diffX","diffY","onDialogMoveEnd","cursor","removeEventListener","onDialogMoveStart","positionStyle","isNumber","paddingTop","classNames","classnames","_defineProperty","placement","dialogElement","onMouseDown","CSSTransition","appear","mountOnEnter","unmountOnExit","timeout","onEntered","onOpened","onExited","nodeRef","renderMask","maskElement","render","wrapStyle","dialogBody","wrapClass","dialog2","onKeyDown","tabIndex","dom","Portal","defaultProps","dialogDefaultProps"],"mappings":"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"}
@@ -63,6 +63,7 @@ require('../loading/plugin.js');
63
63
  require('../button/defaultProps.js');
64
64
  require('../_util/noop.js');
65
65
  require('./RenderDialog.js');
66
+ require('../_chunks/dep-bc80a1a5.js');
66
67
  require('react-transition-group');
67
68
  require('../_util/useLayoutEffect.js');
68
69
  require('../_util/useDialogEsc.js');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/dialog/index.tsx"],"sourcesContent":["import _Dialog from './Dialog';\nimport { DialogPlugin as _DialogPlugin } from './plugin';\n\nimport './style/index.js';\n\nexport type { DialogProps } from './Dialog';\nexport * from './type';\n\nexport const Dialog = _Dialog;\nexport const dialog = _DialogPlugin;\nexport const DialogPlugin = _DialogPlugin;\n\nexport default Dialog;\n"],"names":["Dialog","_Dialog","dialog","_DialogPlugin","DialogPlugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAMA,MAAM,GAAGC,yBAAf;AACA,IAAMC,MAAM,GAAGC,2BAAf;AACA,IAAMC,YAAY,GAAGD;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/dialog/index.tsx"],"sourcesContent":["import _Dialog from './Dialog';\nimport { DialogPlugin as _DialogPlugin } from './plugin';\n\nimport './style/index.js';\n\nexport type { DialogProps } from './Dialog';\nexport * from './type';\n\nexport const Dialog = _Dialog;\nexport const dialog = _DialogPlugin;\nexport const DialogPlugin = _DialogPlugin;\n\nexport default Dialog;\n"],"names":["Dialog","_Dialog","dialog","_DialogPlugin","DialogPlugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAMA,MAAM,GAAGC,yBAAf;AACA,IAAMC,MAAM,GAAGC,2BAAf;AACA,IAAMC,YAAY,GAAGD;;;;;;;"}
@@ -62,6 +62,7 @@ require('../loading/plugin.js');
62
62
  require('../button/defaultProps.js');
63
63
  require('../_util/noop.js');
64
64
  require('./RenderDialog.js');
65
+ require('../_chunks/dep-bc80a1a5.js');
65
66
  require('react-transition-group');
66
67
  require('../_util/useLayoutEffect.js');
67
68
  require('../_util/useDialogEsc.js');
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["../../src/dialog/plugin.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport DialogComponent, { DialogProps } from './Dialog';\n\nimport { getAttach } from '../_util/dom';\nimport { DialogOptions, DialogMethod, DialogConfirmMethod, DialogAlertMethod, DialogInstance } from './type';\n\nexport interface DialogPluginType extends DialogMethod {\n alert?: DialogAlertMethod;\n confirm?: DialogConfirmMethod;\n}\n\nconst createDialog: DialogPluginType = (props: DialogOptions): DialogInstance => {\n const dialogRef = React.createRef<DialogInstance>();\n const options = { ...props };\n const fragment = document.createDocumentFragment();\n\n ReactDOM.render(\n <DialogComponent {...(options as DialogProps)} visible={true} ref={dialogRef} isPlugin />,\n fragment,\n () => {\n (document.activeElement as HTMLElement).blur();\n },\n );\n const container = getAttach(options.attach);\n if (container) {\n container.appendChild(fragment);\n } else {\n console.error('attach is not exist');\n }\n\n const dialogNode: DialogInstance = {\n show: () => {\n container.appendChild(fragment);\n dialogRef.current?.show();\n },\n hide: () => {\n dialogRef.current?.destroy();\n },\n update: (updateOptions: DialogOptions) => {\n dialogRef.current?.update(updateOptions);\n },\n destroy: () => {\n dialogRef.current?.destroy();\n },\n };\n return dialogNode;\n};\n\nconst confirm: DialogConfirmMethod = (props: DialogOptions) => createDialog(props);\n\nconst alert: DialogAlertMethod = (props: Omit<DialogOptions, 'confirmBtn'>) => {\n const options = { ...props };\n options.cancelBtn = null;\n return createDialog(options);\n};\n\ncreateDialog.alert = alert;\ncreateDialog.confirm = confirm;\n\nexport const DialogPlugin = createDialog;\n"],"names":["createDialog","props","dialogRef","React","createRef","options","fragment","document","createDocumentFragment","ReactDOM","render","createElement","DialogComponent","visible","ref","isPlugin","activeElement","blur","container","getAttach","attach","appendChild","console","error","dialogNode","show","current","hide","destroy","update","updateOptions","confirm","alert","cancelBtn","DialogPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sources":["../../src/dialog/plugin.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport DialogComponent, { DialogProps } from './Dialog';\n\nimport { getAttach } from '../_util/dom';\nimport { DialogOptions, DialogMethod, DialogConfirmMethod, DialogAlertMethod, DialogInstance } from './type';\n\nexport interface DialogPluginType extends DialogMethod {\n alert?: DialogAlertMethod;\n confirm?: DialogConfirmMethod;\n}\n\nconst createDialog: DialogPluginType = (props: DialogOptions): DialogInstance => {\n const dialogRef = React.createRef<DialogInstance>();\n const options = { ...props };\n const fragment = document.createDocumentFragment();\n\n ReactDOM.render(\n <DialogComponent {...(options as DialogProps)} visible={true} ref={dialogRef} isPlugin />,\n fragment,\n () => {\n (document.activeElement as HTMLElement).blur();\n },\n );\n const container = getAttach(options.attach);\n if (container) {\n container.appendChild(fragment);\n } else {\n console.error('attach is not exist');\n }\n\n const dialogNode: DialogInstance = {\n show: () => {\n container.appendChild(fragment);\n dialogRef.current?.show();\n },\n hide: () => {\n dialogRef.current?.destroy();\n },\n update: (updateOptions: DialogOptions) => {\n dialogRef.current?.update(updateOptions);\n },\n destroy: () => {\n dialogRef.current?.destroy();\n },\n };\n return dialogNode;\n};\n\nconst confirm: DialogConfirmMethod = (props: DialogOptions) => createDialog(props);\n\nconst alert: DialogAlertMethod = (props: Omit<DialogOptions, 'confirmBtn'>) => {\n const options = { ...props };\n options.cancelBtn = null;\n return createDialog(options);\n};\n\ncreateDialog.alert = alert;\ncreateDialog.confirm = confirm;\n\nexport const DialogPlugin = createDialog;\n"],"names":["createDialog","props","dialogRef","React","createRef","options","fragment","document","createDocumentFragment","ReactDOM","render","createElement","DialogComponent","visible","ref","isPlugin","activeElement","blur","container","getAttach","attach","appendChild","console","error","dialogNode","show","current","hide","destroy","update","updateOptions","confirm","alert","cancelBtn","DialogPlugin"],"mappings":"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"}