@para-ui/core 5.0.0-beta.9 → 5.0.0

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 (730) hide show
  1. package/AGENTS.md +315 -0
  2. package/AlignBox/component.json +89 -0
  3. package/Anchor/component.json +130 -0
  4. package/Argv/component.json +216 -0
  5. package/AutoBox/component.json +133 -0
  6. package/AutoButton/component.json +109 -0
  7. package/AutoTips/component.json +121 -0
  8. package/Badge/component.json +92 -0
  9. package/Breadcrumbs/component.json +142 -0
  10. package/Button/component.json +168 -0
  11. package/ButtonGroup/component.json +132 -0
  12. package/Card/component.json +162 -0
  13. package/Carousel/component.json +142 -0
  14. package/Cascader/component.json +196 -0
  15. package/Checkbox/component.json +138 -0
  16. package/CheckboxGroup/component.json +152 -0
  17. package/CodeEditor/component.json +189 -0
  18. package/Collapse/component.json +166 -0
  19. package/CollapseBox/component.json +84 -0
  20. package/CollapseLayout/component.json +155 -0
  21. package/ColorPicker/component.json +142 -0
  22. package/ComboSelect/component.json +181 -0
  23. package/Container/component.json +111 -0
  24. package/ContentBox/component.json +81 -0
  25. package/CopyText/component.json +118 -0
  26. package/CycleSelector/component.json +98 -0
  27. package/DatePicker/component.json +192 -0
  28. package/Descriptions/component.json +142 -0
  29. package/Desktop/component.json +171 -0
  30. package/DragVerify/component.json +114 -0
  31. package/Drawer/component.json +200 -0
  32. package/Dropdown/component.json +147 -0
  33. package/DynamicMultiBox/component.json +278 -0
  34. package/Empty/component.json +123 -0
  35. package/ExpressionInput/component.json +79 -0
  36. package/FieldForm/component.json +196 -0
  37. package/Form/component.json +161 -0
  38. package/FormItem/component.json +171 -0
  39. package/FunctionModal/component.json +197 -0
  40. package/Help/component.json +118 -0
  41. package/HelperText/component.json +126 -0
  42. package/Image/component.json +165 -0
  43. package/InputCode/component.json +191 -0
  44. package/InputLang/component.json +205 -0
  45. package/InputNumber/component.json +162 -0
  46. package/Label/component.json +126 -0
  47. package/Loading/component.json +91 -0
  48. package/Menu/component.json +180 -0
  49. package/Message/component.json +246 -0
  50. package/Modal/component.json +277 -0
  51. package/MultiBox/component.json +216 -0
  52. package/Notification/component.json +184 -0
  53. package/OperateBtn/component.json +134 -0
  54. package/PageHeader/component.json +112 -0
  55. package/Pagination/component.json +181 -0
  56. package/PasswordRules/component.json +105 -0
  57. package/PopConfirm/component.json +227 -0
  58. package/PopMenu/component.json +131 -0
  59. package/Popover/component.json +165 -0
  60. package/Progress/component.json +161 -0
  61. package/Prompt/component.json +144 -0
  62. package/Querying/component.json +96 -0
  63. package/QuickReply/component.json +129 -0
  64. package/Radio/component.json +136 -0
  65. package/RadioGroup/component.json +149 -0
  66. package/RangeInput/component.json +198 -0
  67. package/Result/component.json +104 -0
  68. package/ScrollBar/component.json +115 -0
  69. package/Search/component.json +177 -0
  70. package/Select/component.json +244 -0
  71. package/SelectInput/component.json +184 -0
  72. package/Selector/component.json +203 -0
  73. package/SelectorPicker/component.json +179 -0
  74. package/SingleBox/component.json +151 -0
  75. package/Slider/component.json +181 -0
  76. package/SortBox/component.json +108 -0
  77. package/Status/component.json +104 -0
  78. package/Stepper/component.json +129 -0
  79. package/Switch/component.json +207 -0
  80. package/Table/component.json +547 -0
  81. package/Tabs/component.json +227 -0
  82. package/Tag/component.json +221 -0
  83. package/TextEditor/component.json +186 -0
  84. package/TextField/component.json +290 -0
  85. package/TimePicker/component.json +176 -0
  86. package/Timeline/component.json +110 -0
  87. package/Title/component.json +156 -0
  88. package/ToggleButton/component.json +153 -0
  89. package/Tooltip/component.json +176 -0
  90. package/Transfer/component.json +157 -0
  91. package/Tree/component.json +512 -0
  92. package/Upload/component.json +450 -0
  93. package/ai-workflows/01-crud-list-multi-drawer.md +278 -0
  94. package/ai-workflows/02-rbac-operation-buttons.md +290 -0
  95. package/ai-workflows/03-complex-form-async-cascade.md +350 -0
  96. package/ai-workflows/04-array-field-form.md +281 -0
  97. package/ai-workflows/05-popconfirm-async-message-queue.md +333 -0
  98. package/ai-workflows/06-modal-drawer-form-workflow.md +385 -0
  99. package/ai-workflows/07-search-filter-table-trio.md +387 -0
  100. package/ai-workflows/08-table-advanced-features.md +365 -0
  101. package/ai-workflows/09-batch-operation-export-progress.md +367 -0
  102. package/ai-workflows/10-cross-component-state-coordination.md +412 -0
  103. package/es/AlignBox/component.json +89 -0
  104. package/es/AlignBox/index.css +1 -1
  105. package/es/AlignBox/index.d.ts +6 -2
  106. package/es/AlignBox/index.js +1 -1
  107. package/es/AlignBox/style/index.css +1 -1
  108. package/es/Anchor/anchorMenu/index.d.ts +2 -1
  109. package/es/Anchor/anchorMenu/index.js +36 -33
  110. package/es/Anchor/component.json +130 -0
  111. package/es/Anchor/index.js +52 -49
  112. package/es/Anchor/type.d.ts +8 -4
  113. package/es/Argv/batchEdit/index.js +1 -1
  114. package/es/Argv/component.json +216 -0
  115. package/es/Argv/dataGenerator/index.js +1 -1
  116. package/es/Argv/index.d.ts +5 -6
  117. package/es/Argv/index.js +1 -1
  118. package/es/AutoBox/component.json +133 -0
  119. package/es/AutoBox/index.d.ts +3 -3
  120. package/es/AutoBox/index.js +1 -1
  121. package/es/AutoBox/protal.d.ts +2 -2
  122. package/es/AutoBox/protal.js +33 -30
  123. package/es/AutoButton/component.json +109 -0
  124. package/es/AutoButton/index.js +1 -1
  125. package/es/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  126. package/es/AutoTips/autoTipsMultiline/index.js +1 -1
  127. package/es/AutoTips/component.json +121 -0
  128. package/es/AutoTips/index.js +1 -1
  129. package/es/Badge/component.json +92 -0
  130. package/es/Breadcrumbs/component.json +142 -0
  131. package/es/Breadcrumbs/index.js +1 -1
  132. package/es/Button/SplitButton.d.ts +2 -2
  133. package/es/Button/component.json +168 -0
  134. package/es/Button/index.js +44 -44
  135. package/es/ButtonGroup/component.json +132 -0
  136. package/es/ButtonGroup/index.d.ts +1 -1
  137. package/es/Card/component.json +162 -0
  138. package/es/Card/index.d.ts +2 -2
  139. package/es/Card/index.js +2 -2
  140. package/es/Carousel/component.json +142 -0
  141. package/es/Carousel/index.d.ts +1 -1
  142. package/es/Cascader/Cascader.js +1 -1
  143. package/es/Cascader/OptionList/Column.js +1 -1
  144. package/es/Cascader/OptionList/index.js +1 -1
  145. package/es/Cascader/component.json +196 -0
  146. package/es/Cascader/hooks/useEntities.js +7 -7
  147. package/es/Cascader/interface.d.ts +1 -0
  148. package/es/Cascader/utils/commonUtil.d.ts +1 -1
  149. package/es/Cascader/utils/commonUtil.js +16 -16
  150. package/es/Cascader/utils/treeUtil.d.ts +14 -5
  151. package/es/Cascader/utils/treeUtil.js +1 -1
  152. package/es/Checkbox/component.json +138 -0
  153. package/es/CheckboxGroup/component.json +152 -0
  154. package/es/CheckboxGroup/index.js +1 -1
  155. package/es/CodeEditor/component.json +189 -0
  156. package/es/CodeEditor/index.d.ts +11 -10
  157. package/es/CodeEditor/index.js +25 -25
  158. package/es/Collapse/component.json +166 -0
  159. package/es/Collapse/index.d.ts +1 -1
  160. package/es/Collapse/index.js +23 -22
  161. package/es/CollapseBox/component.json +84 -0
  162. package/es/CollapseLayout/component.json +155 -0
  163. package/es/ColorPicker/component.json +142 -0
  164. package/es/ComboSelect/component.json +181 -0
  165. package/es/ComboSelect/index.js +115 -109
  166. package/es/ComboSelect/interface.d.ts +2 -2
  167. package/es/ComboSelect/utils.d.ts +3 -3
  168. package/es/ComboSelect/utils.js +1 -1
  169. package/es/Container/component.json +111 -0
  170. package/es/ContentBox/component.json +81 -0
  171. package/es/CopyText/component.json +118 -0
  172. package/es/CycleSelector/component.json +98 -0
  173. package/es/CycleSelector/index.js +14 -13
  174. package/es/DatePicker/component.json +192 -0
  175. package/es/DatePicker/generatePicker/generateRangePicker.js +11 -11
  176. package/es/DatePicker/generatePicker/generateSinglePicker.js +2 -2
  177. package/es/Descriptions/component.json +142 -0
  178. package/es/Descriptions/index.d.ts +1 -1
  179. package/es/Desktop/component.json +171 -0
  180. package/es/Desktop/index.js +1 -1
  181. package/es/DragVerify/component.json +114 -0
  182. package/es/DragVerify/index.js +19 -19
  183. package/es/Drawer/component.json +200 -0
  184. package/es/Drawer/index.js +86 -86
  185. package/es/Drawer/interface.d.ts +1 -1
  186. package/es/Drawer/util.d.ts +1 -6
  187. package/es/Drawer/util.js +9 -6
  188. package/es/Dropdown/component.json +147 -0
  189. package/es/Dropdown/index.js +1 -1
  190. package/es/DynamicMultiBox/component.json +278 -0
  191. package/es/DynamicMultiBox/formItem.d.ts +1 -1
  192. package/es/DynamicMultiBox/index.js +1 -1
  193. package/es/DynamicMultiBox/rowForm.d.ts +2 -2
  194. package/es/Empty/component.json +123 -0
  195. package/es/Empty/index.css +1 -1
  196. package/es/Empty/index.d.ts +2 -2
  197. package/es/Empty/index.js +27 -26
  198. package/es/Empty/style/index.css +1 -1
  199. package/es/ExpressionInput/HighlightOverlay.d.ts +8 -0
  200. package/es/ExpressionInput/HighlightOverlay.js +27 -0
  201. package/es/ExpressionInput/Popup.d.ts +19 -0
  202. package/es/ExpressionInput/Popup.js +93 -0
  203. package/es/ExpressionInput/component.json +79 -0
  204. package/es/ExpressionInput/detectChainAtCursor.d.ts +17 -0
  205. package/es/ExpressionInput/detectChainAtCursor.js +31 -0
  206. package/es/ExpressionInput/filterCandidatesByPartial.d.ts +2 -0
  207. package/es/ExpressionInput/filterCandidatesByPartial.js +15 -0
  208. package/es/ExpressionInput/highlightSegments.d.ts +9 -0
  209. package/es/ExpressionInput/highlightSegments.js +14 -0
  210. package/es/ExpressionInput/index.css +1 -0
  211. package/es/ExpressionInput/index.d.ts +5 -0
  212. package/es/ExpressionInput/index.js +178 -0
  213. package/es/ExpressionInput/interface.d.ts +52 -0
  214. package/es/ExpressionInput/isExpressionValue.d.ts +5 -0
  215. package/es/ExpressionInput/isExpressionValue.js +18 -0
  216. package/es/ExpressionInput/lang/en_US.d.ts +4 -0
  217. package/es/ExpressionInput/lang/en_US.js +7 -0
  218. package/es/ExpressionInput/lang/index.d.ts +9 -0
  219. package/es/ExpressionInput/lang/index.js +10 -0
  220. package/es/ExpressionInput/lang/zh_CN.d.ts +4 -0
  221. package/es/ExpressionInput/lang/zh_CN.js +7 -0
  222. package/es/ExpressionInput/style/css.js +1 -0
  223. package/es/ExpressionInput/style/index.css +1 -0
  224. package/es/ExpressionInput/style/index.js +1 -0
  225. package/es/ExpressionInput/useExpressionInput.d.ts +26 -0
  226. package/es/ExpressionInput/useExpressionInput.js +59 -0
  227. package/es/FieldForm/FieldFormItem/ItemHolder.js +1 -1
  228. package/es/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  229. package/es/FieldForm/FieldFormItem/StatusProvider.js +1 -1
  230. package/es/FieldForm/FieldFormItem/index.d.ts +6 -6
  231. package/es/FieldForm/Form.d.ts +2 -2
  232. package/es/FieldForm/Form.js +1 -1
  233. package/es/FieldForm/FormItemInput.js +1 -1
  234. package/es/FieldForm/FormItemLabel.js +1 -1
  235. package/es/FieldForm/FormList.d.ts +2 -2
  236. package/es/FieldForm/component.json +196 -0
  237. package/es/FieldForm/context.d.ts +5 -1
  238. package/es/FieldForm/context.js +2 -2
  239. package/es/FieldForm/hooks/useForm.d.ts +4 -3
  240. package/es/FieldForm/hooks/useFormInstance.d.ts +1 -1
  241. package/es/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  242. package/es/FieldForm/hooks/useFormItemStatus.js +2 -2
  243. package/es/FieldForm/hooks/useItemRef.d.ts +1 -1
  244. package/es/FieldForm/hooks/useItemRef.js +6 -6
  245. package/es/Form/component.json +161 -0
  246. package/es/Form/index.d.ts +52 -49
  247. package/es/Form/index.js +1 -1
  248. package/es/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  249. package/es/FormItem/compoments/defaultCompoments/index.js +12 -11
  250. package/es/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  251. package/es/FormItem/compoments/formFile/index.js +8 -8
  252. package/es/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  253. package/es/FormItem/compoments/formSelect/index.d.ts +1 -1
  254. package/es/FormItem/component.json +171 -0
  255. package/es/FormItem/index.d.ts +5 -5
  256. package/es/FormItem/index.js +23 -23
  257. package/es/FormItem/itemType.js +1 -1
  258. package/es/FunctionModal/component.json +197 -0
  259. package/es/FunctionModal/dialog.d.ts +1 -1
  260. package/es/FunctionModal/modalContext.d.ts +4 -1
  261. package/es/GlobalContext/confirmLocale.js +1 -1
  262. package/es/GlobalContext/index.js +1 -1
  263. package/es/Help/component.json +118 -0
  264. package/es/HelperText/component.json +126 -0
  265. package/es/Image/PreviewGroup.js +1 -1
  266. package/es/Image/component.json +165 -0
  267. package/es/Image/index.js +1 -1
  268. package/es/InputCode/component.json +191 -0
  269. package/es/InputCode/index.d.ts +2 -2
  270. package/es/InputCode/index.js +1 -1
  271. package/es/InputLang/component.json +205 -0
  272. package/es/InputLang/index.js +2 -2
  273. package/es/InputNumber/component.json +162 -0
  274. package/es/InputNumber/index.d.ts +13 -7
  275. package/es/InputNumber/index.js +152 -144
  276. package/es/Label/component.json +126 -0
  277. package/es/Label/index.d.ts +2 -2
  278. package/es/Loading/component.json +91 -0
  279. package/es/Menu/component.json +180 -0
  280. package/es/Menu/verticalMenuList.js +1 -1
  281. package/es/Message/component.json +246 -0
  282. package/es/Message/index.d.ts +2 -2
  283. package/es/Message/index.js +19 -19
  284. package/es/Modal/Confirm/index.d.ts +1 -1
  285. package/es/Modal/Confirm/index.js +1 -1
  286. package/es/Modal/component.json +277 -0
  287. package/es/Modal/index.d.ts +85 -5
  288. package/es/Modal/index.js +159 -122
  289. package/es/Modal/interface.d.ts +1 -0
  290. package/es/MultiBox/component.json +216 -0
  291. package/es/MultiBox/index.js +19 -14
  292. package/es/Notification/component.json +184 -0
  293. package/es/OperateBtn/component.json +134 -0
  294. package/es/OperateBtn/index.d.ts +3 -3
  295. package/es/PageHeader/component.json +112 -0
  296. package/es/PageHeader/horizontalMeun.js +1 -1
  297. package/es/PageHeader/horizontalMeunRight.js +1 -1
  298. package/es/Pagination/component.json +181 -0
  299. package/es/Pagination/index.js +15 -15
  300. package/es/ParauiProvider/index.js +1 -1
  301. package/es/PasswordRules/component.json +105 -0
  302. package/es/PasswordRules/index.d.ts +4 -4
  303. package/es/PopConfirm/component.json +227 -0
  304. package/es/PopConfirm/index.d.ts +1 -1
  305. package/es/PopConfirm/index.js +1 -1
  306. package/es/PopMenu/component.json +131 -0
  307. package/es/PopMenu/hooks.d.ts +1 -1
  308. package/es/PopMenu/index.js +8 -8
  309. package/es/Popover/component.json +165 -0
  310. package/es/Popover/index.js +1 -1
  311. package/es/Progress/component.json +161 -0
  312. package/es/Prompt/component.json +144 -0
  313. package/es/Querying/component.json +96 -0
  314. package/es/Querying/index.css +1 -1
  315. package/es/Querying/index.d.ts +2 -2
  316. package/es/Querying/index.js +20 -19
  317. package/es/Querying/style/index.css +1 -1
  318. package/es/QuickReply/QuickReplyCode/index.js +1 -1
  319. package/es/QuickReply/component.json +129 -0
  320. package/es/QuickReply/index.d.ts +1 -1
  321. package/es/Radio/component.json +136 -0
  322. package/es/RadioGroup/component.json +149 -0
  323. package/es/RangeInput/component.json +198 -0
  324. package/es/RangeInput/index.d.ts +15 -7
  325. package/es/RangeInput/index.js +120 -103
  326. package/es/Result/component.json +104 -0
  327. package/es/ScrollBar/component.json +115 -0
  328. package/es/Search/component.json +177 -0
  329. package/es/Search/index.d.ts +1 -1
  330. package/es/Select/component.json +244 -0
  331. package/es/Select/index.d.ts +11 -8
  332. package/es/Select/index.js +441 -438
  333. package/es/SelectInput/component.json +184 -0
  334. package/es/SelectInput/index.d.ts +4 -4
  335. package/es/SelectInput/index.js +8 -8
  336. package/es/Selector/component.json +203 -0
  337. package/es/Selector/index.js +56 -50
  338. package/es/Selector/interface.d.ts +2 -2
  339. package/es/Selector/selectorData/index.js +1 -1
  340. package/es/Selector/selectorMain/index.js +3 -3
  341. package/es/Selector/selectorNode/index.js +1 -1
  342. package/es/Selector/util.d.ts +3 -3
  343. package/es/Selector/util.js +6 -12
  344. package/es/SelectorPicker/component.json +179 -0
  345. package/es/SelectorPicker/index.d.ts +5 -5
  346. package/es/SelectorPicker/index.js +15 -15
  347. package/es/SingleBox/component.json +151 -0
  348. package/es/SingleBox/index.d.ts +2 -2
  349. package/es/Slider/component.json +181 -0
  350. package/es/SortBox/component.json +108 -0
  351. package/es/Status/component.json +104 -0
  352. package/es/Stepper/component.json +129 -0
  353. package/es/Stepper/index.d.ts +2 -2
  354. package/es/Switch/component.json +207 -0
  355. package/es/Switch/index.css +1 -1
  356. package/es/Switch/index.d.ts +3 -2
  357. package/es/Switch/index.js +60 -59
  358. package/es/Switch/style/index.css +1 -1
  359. package/es/Table/component.json +547 -0
  360. package/es/Table/index.d.ts +2 -2
  361. package/es/Table/index.js +385 -382
  362. package/es/Table/interface.d.ts +30 -0
  363. package/es/Table/tableHead.js +1 -1
  364. package/es/Table/util.d.ts +1 -1
  365. package/es/Table/util.js +3 -12
  366. package/es/Tabs/component.json +227 -0
  367. package/es/Tag/component.json +221 -0
  368. package/es/Tag/index.css +1 -1
  369. package/es/Tag/index.d.ts +1 -1
  370. package/es/Tag/index.js +20 -20
  371. package/es/Tag/style/index.css +1 -1
  372. package/es/TextEditor/component.json +186 -0
  373. package/es/TextEditor/index.d.ts +5 -5
  374. package/es/TextEditor/index.js +1 -1
  375. package/es/TextField/component.json +290 -0
  376. package/es/TextField/index.d.ts +2 -2
  377. package/es/TextField/index.js +1 -1
  378. package/es/TimePicker/component.json +176 -0
  379. package/es/Timeline/component.json +110 -0
  380. package/es/Title/component.json +156 -0
  381. package/es/ToggleButton/component.json +153 -0
  382. package/es/ToggleButton/index.js +1 -1
  383. package/es/Tooltip/component.json +176 -0
  384. package/es/Tooltip/index.js +58 -53
  385. package/es/Tooltip/interface.d.ts +14 -1
  386. package/es/Tooltip/utils.js +6 -6
  387. package/es/Transfer/component.json +157 -0
  388. package/es/Tree/OperateBar/index.js +1 -1
  389. package/es/Tree/Tree.js +3 -3
  390. package/es/Tree/component.json +512 -0
  391. package/es/Tree/interface.d.ts +1 -1
  392. package/es/Upload/component.json +450 -0
  393. package/es/Upload/util.js +1 -1
  394. package/es/Utils/snack-kit-shims.d.ts +18 -0
  395. package/es/Utils/snack-kit-shims.js +19 -0
  396. package/es/Utils/type.d.ts +0 -6
  397. package/es/_virtual/index.js +5 -3
  398. package/es/_virtual/index2.js +2 -5
  399. package/es/index.d.ts +4 -0
  400. package/es/index.js +152 -150
  401. package/es/locale/en-US.d.ts +3 -0
  402. package/es/locale/en-US.js +3 -0
  403. package/es/locale/en_US.d.ts +361 -0
  404. package/es/locale/en_US.js +364 -0
  405. package/es/locale/index.d.ts +1 -723
  406. package/es/locale/index2.js +10 -0
  407. package/es/locale/zh-CN.d.ts +3 -0
  408. package/es/locale/zh-CN.js +3 -0
  409. package/es/locale/zh_CN.d.ts +361 -0
  410. package/es/locale/zh_CN.js +364 -0
  411. package/es/node_modules/classnames/index.js +1 -1
  412. package/lib/AlignBox/component.json +89 -0
  413. package/lib/AlignBox/index.css +1 -1
  414. package/lib/AlignBox/index.d.ts +6 -2
  415. package/lib/AlignBox/index.js +1 -1
  416. package/lib/AlignBox/style/index.css +1 -1
  417. package/lib/Anchor/anchorMenu/index.d.ts +2 -1
  418. package/lib/Anchor/anchorMenu/index.js +1 -1
  419. package/lib/Anchor/component.json +130 -0
  420. package/lib/Anchor/index.js +1 -1
  421. package/lib/Anchor/type.d.ts +8 -4
  422. package/lib/Argv/component.json +216 -0
  423. package/lib/Argv/dataGenerator/index.js +1 -1
  424. package/lib/Argv/index.d.ts +5 -6
  425. package/lib/Argv/index.js +1 -1
  426. package/lib/AutoBox/component.json +133 -0
  427. package/lib/AutoBox/index.d.ts +3 -3
  428. package/lib/AutoBox/index.js +1 -1
  429. package/lib/AutoBox/protal.d.ts +2 -2
  430. package/lib/AutoBox/protal.js +1 -1
  431. package/lib/AutoButton/component.json +109 -0
  432. package/lib/AutoButton/index.js +1 -1
  433. package/lib/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  434. package/lib/AutoTips/autoTipsMultiline/index.js +1 -1
  435. package/lib/AutoTips/component.json +121 -0
  436. package/lib/AutoTips/index.js +1 -1
  437. package/lib/Badge/component.json +92 -0
  438. package/lib/Breadcrumbs/component.json +142 -0
  439. package/lib/Breadcrumbs/index.js +1 -1
  440. package/lib/Button/SplitButton.d.ts +2 -2
  441. package/lib/Button/component.json +168 -0
  442. package/lib/Button/index.js +1 -1
  443. package/lib/ButtonGroup/component.json +132 -0
  444. package/lib/ButtonGroup/index.d.ts +1 -1
  445. package/lib/Card/component.json +162 -0
  446. package/lib/Card/index.d.ts +2 -2
  447. package/lib/Card/index.js +1 -1
  448. package/lib/Carousel/component.json +142 -0
  449. package/lib/Carousel/index.d.ts +1 -1
  450. package/lib/Cascader/Cascader.js +1 -1
  451. package/lib/Cascader/OptionList/Column.js +1 -1
  452. package/lib/Cascader/OptionList/index.js +1 -1
  453. package/lib/Cascader/component.json +196 -0
  454. package/lib/Cascader/hooks/useEntities.js +1 -1
  455. package/lib/Cascader/interface.d.ts +1 -0
  456. package/lib/Cascader/utils/commonUtil.d.ts +1 -1
  457. package/lib/Cascader/utils/commonUtil.js +1 -1
  458. package/lib/Cascader/utils/treeUtil.d.ts +14 -5
  459. package/lib/Cascader/utils/treeUtil.js +1 -1
  460. package/lib/Checkbox/component.json +138 -0
  461. package/lib/CheckboxGroup/component.json +152 -0
  462. package/lib/CheckboxGroup/index.js +1 -1
  463. package/lib/CodeEditor/component.json +189 -0
  464. package/lib/CodeEditor/index.d.ts +11 -10
  465. package/lib/CodeEditor/index.js +1 -1
  466. package/lib/Collapse/component.json +166 -0
  467. package/lib/Collapse/index.d.ts +1 -1
  468. package/lib/Collapse/index.js +1 -1
  469. package/lib/CollapseBox/component.json +84 -0
  470. package/lib/CollapseLayout/component.json +155 -0
  471. package/lib/ColorPicker/component.json +142 -0
  472. package/lib/ComboSelect/component.json +181 -0
  473. package/lib/ComboSelect/index.js +1 -1
  474. package/lib/ComboSelect/interface.d.ts +2 -2
  475. package/lib/ComboSelect/utils.d.ts +3 -3
  476. package/lib/ComboSelect/utils.js +1 -1
  477. package/lib/Container/component.json +111 -0
  478. package/lib/ContentBox/component.json +81 -0
  479. package/lib/CopyText/component.json +118 -0
  480. package/lib/CycleSelector/component.json +98 -0
  481. package/lib/CycleSelector/index.js +1 -1
  482. package/lib/DatePicker/component.json +192 -0
  483. package/lib/DatePicker/generatePicker/generateRangePicker.js +1 -1
  484. package/lib/DatePicker/generatePicker/generateSinglePicker.js +1 -1
  485. package/lib/Descriptions/component.json +142 -0
  486. package/lib/Descriptions/index.d.ts +1 -1
  487. package/lib/Desktop/component.json +171 -0
  488. package/lib/Desktop/index.js +1 -1
  489. package/lib/DragVerify/component.json +114 -0
  490. package/lib/DragVerify/index.js +1 -1
  491. package/lib/Drawer/component.json +200 -0
  492. package/lib/Drawer/index.js +1 -1
  493. package/lib/Drawer/interface.d.ts +1 -1
  494. package/lib/Drawer/util.d.ts +1 -6
  495. package/lib/Drawer/util.js +1 -1
  496. package/lib/Dropdown/component.json +147 -0
  497. package/lib/Dropdown/index.js +1 -1
  498. package/lib/DynamicMultiBox/component.json +278 -0
  499. package/lib/DynamicMultiBox/formItem.d.ts +1 -1
  500. package/lib/DynamicMultiBox/index.js +1 -1
  501. package/lib/DynamicMultiBox/rowForm.d.ts +2 -2
  502. package/lib/Empty/component.json +123 -0
  503. package/lib/Empty/index.css +1 -1
  504. package/lib/Empty/index.d.ts +2 -2
  505. package/lib/Empty/index.js +1 -1
  506. package/lib/Empty/style/index.css +1 -1
  507. package/lib/ExpressionInput/HighlightOverlay.d.ts +8 -0
  508. package/lib/ExpressionInput/HighlightOverlay.js +2 -0
  509. package/lib/ExpressionInput/Popup.d.ts +19 -0
  510. package/lib/ExpressionInput/Popup.js +2 -0
  511. package/lib/ExpressionInput/component.json +79 -0
  512. package/lib/ExpressionInput/detectChainAtCursor.d.ts +17 -0
  513. package/lib/ExpressionInput/detectChainAtCursor.js +2 -0
  514. package/lib/ExpressionInput/filterCandidatesByPartial.d.ts +2 -0
  515. package/lib/ExpressionInput/filterCandidatesByPartial.js +2 -0
  516. package/lib/ExpressionInput/highlightSegments.d.ts +9 -0
  517. package/lib/ExpressionInput/highlightSegments.js +2 -0
  518. package/lib/ExpressionInput/index.css +1 -0
  519. package/lib/ExpressionInput/index.d.ts +5 -0
  520. package/lib/ExpressionInput/index.js +2 -0
  521. package/lib/ExpressionInput/interface.d.ts +52 -0
  522. package/lib/ExpressionInput/isExpressionValue.d.ts +5 -0
  523. package/lib/ExpressionInput/isExpressionValue.js +2 -0
  524. package/lib/ExpressionInput/lang/en_US.d.ts +4 -0
  525. package/lib/ExpressionInput/lang/en_US.js +2 -0
  526. package/lib/ExpressionInput/lang/index.d.ts +9 -0
  527. package/lib/ExpressionInput/lang/index.js +2 -0
  528. package/lib/ExpressionInput/lang/zh_CN.d.ts +4 -0
  529. package/lib/ExpressionInput/lang/zh_CN.js +2 -0
  530. package/lib/ExpressionInput/style/css.js +1 -0
  531. package/lib/ExpressionInput/style/index.css +1 -0
  532. package/lib/ExpressionInput/style/index.js +1 -0
  533. package/lib/ExpressionInput/useExpressionInput.d.ts +26 -0
  534. package/lib/ExpressionInput/useExpressionInput.js +2 -0
  535. package/lib/FieldForm/FieldFormItem/ItemHolder.js +1 -1
  536. package/lib/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  537. package/lib/FieldForm/FieldFormItem/StatusProvider.js +1 -1
  538. package/lib/FieldForm/FieldFormItem/index.d.ts +6 -6
  539. package/lib/FieldForm/Form.d.ts +2 -2
  540. package/lib/FieldForm/Form.js +1 -1
  541. package/lib/FieldForm/FormItemInput.js +1 -1
  542. package/lib/FieldForm/FormItemLabel.js +1 -1
  543. package/lib/FieldForm/FormList.d.ts +2 -2
  544. package/lib/FieldForm/component.json +196 -0
  545. package/lib/FieldForm/context.d.ts +5 -1
  546. package/lib/FieldForm/context.js +1 -1
  547. package/lib/FieldForm/hooks/useForm.d.ts +4 -3
  548. package/lib/FieldForm/hooks/useFormInstance.d.ts +1 -1
  549. package/lib/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  550. package/lib/FieldForm/hooks/useFormItemStatus.js +1 -1
  551. package/lib/FieldForm/hooks/useItemRef.d.ts +1 -1
  552. package/lib/FieldForm/hooks/useItemRef.js +1 -1
  553. package/lib/Form/component.json +161 -0
  554. package/lib/Form/index.d.ts +52 -49
  555. package/lib/Form/index.js +1 -1
  556. package/lib/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  557. package/lib/FormItem/compoments/defaultCompoments/index.js +1 -1
  558. package/lib/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  559. package/lib/FormItem/compoments/formFile/index.js +1 -1
  560. package/lib/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  561. package/lib/FormItem/compoments/formSelect/index.d.ts +1 -1
  562. package/lib/FormItem/component.json +171 -0
  563. package/lib/FormItem/index.d.ts +5 -5
  564. package/lib/FormItem/index.js +1 -1
  565. package/lib/FormItem/itemType.js +1 -1
  566. package/lib/FunctionModal/component.json +197 -0
  567. package/lib/FunctionModal/dialog.d.ts +1 -1
  568. package/lib/FunctionModal/modalContext.d.ts +4 -1
  569. package/lib/GlobalContext/confirmLocale.js +1 -1
  570. package/lib/GlobalContext/index.js +1 -1
  571. package/lib/Help/component.json +118 -0
  572. package/lib/HelperText/component.json +126 -0
  573. package/lib/Image/PreviewGroup.js +1 -1
  574. package/lib/Image/component.json +165 -0
  575. package/lib/Image/index.js +1 -1
  576. package/lib/InputCode/component.json +191 -0
  577. package/lib/InputCode/index.d.ts +2 -2
  578. package/lib/InputLang/component.json +205 -0
  579. package/lib/InputLang/index.js +1 -1
  580. package/lib/InputNumber/component.json +162 -0
  581. package/lib/InputNumber/index.d.ts +13 -7
  582. package/lib/InputNumber/index.js +1 -1
  583. package/lib/Label/component.json +126 -0
  584. package/lib/Label/index.d.ts +2 -2
  585. package/lib/Loading/component.json +91 -0
  586. package/lib/Menu/component.json +180 -0
  587. package/lib/Menu/verticalMenuList.js +1 -1
  588. package/lib/Message/component.json +246 -0
  589. package/lib/Message/index.d.ts +2 -2
  590. package/lib/Message/index.js +1 -1
  591. package/lib/Modal/Confirm/index.d.ts +1 -1
  592. package/lib/Modal/Confirm/index.js +1 -1
  593. package/lib/Modal/component.json +277 -0
  594. package/lib/Modal/index.d.ts +85 -5
  595. package/lib/Modal/index.js +1 -1
  596. package/lib/Modal/interface.d.ts +1 -0
  597. package/lib/MultiBox/component.json +216 -0
  598. package/lib/MultiBox/index.js +1 -1
  599. package/lib/Notification/component.json +184 -0
  600. package/lib/OperateBtn/component.json +134 -0
  601. package/lib/OperateBtn/index.d.ts +3 -3
  602. package/lib/PageHeader/component.json +112 -0
  603. package/lib/PageHeader/horizontalMeun.js +1 -1
  604. package/lib/PageHeader/horizontalMeunRight.js +1 -1
  605. package/lib/Pagination/component.json +181 -0
  606. package/lib/Pagination/index.js +1 -1
  607. package/lib/ParauiProvider/index.js +1 -1
  608. package/lib/PasswordRules/component.json +105 -0
  609. package/lib/PasswordRules/index.d.ts +4 -4
  610. package/lib/PopConfirm/component.json +227 -0
  611. package/lib/PopConfirm/index.d.ts +1 -1
  612. package/lib/PopConfirm/index.js +1 -1
  613. package/lib/PopMenu/component.json +131 -0
  614. package/lib/PopMenu/hooks.d.ts +1 -1
  615. package/lib/PopMenu/index.js +1 -1
  616. package/lib/Popover/component.json +165 -0
  617. package/lib/Popover/index.js +1 -1
  618. package/lib/Progress/component.json +161 -0
  619. package/lib/Prompt/component.json +144 -0
  620. package/lib/Querying/component.json +96 -0
  621. package/lib/Querying/index.css +1 -1
  622. package/lib/Querying/index.d.ts +2 -2
  623. package/lib/Querying/index.js +1 -1
  624. package/lib/Querying/style/index.css +1 -1
  625. package/lib/QuickReply/QuickReplyCode/index.js +1 -1
  626. package/lib/QuickReply/component.json +129 -0
  627. package/lib/QuickReply/index.d.ts +1 -1
  628. package/lib/Radio/component.json +136 -0
  629. package/lib/RadioGroup/component.json +149 -0
  630. package/lib/RangeInput/component.json +198 -0
  631. package/lib/RangeInput/index.d.ts +15 -7
  632. package/lib/RangeInput/index.js +1 -1
  633. package/lib/Result/component.json +104 -0
  634. package/lib/ScrollBar/component.json +115 -0
  635. package/lib/Search/component.json +177 -0
  636. package/lib/Search/index.d.ts +1 -1
  637. package/lib/Select/component.json +244 -0
  638. package/lib/Select/index.d.ts +11 -8
  639. package/lib/Select/index.js +1 -1
  640. package/lib/SelectInput/component.json +184 -0
  641. package/lib/SelectInput/index.d.ts +4 -4
  642. package/lib/SelectInput/index.js +1 -1
  643. package/lib/Selector/component.json +203 -0
  644. package/lib/Selector/index.js +1 -1
  645. package/lib/Selector/interface.d.ts +2 -2
  646. package/lib/Selector/selectorData/index.js +1 -1
  647. package/lib/Selector/selectorMain/index.js +1 -1
  648. package/lib/Selector/selectorNode/index.js +1 -1
  649. package/lib/Selector/util.d.ts +3 -3
  650. package/lib/Selector/util.js +1 -1
  651. package/lib/SelectorPicker/component.json +179 -0
  652. package/lib/SelectorPicker/index.d.ts +5 -5
  653. package/lib/SelectorPicker/index.js +1 -1
  654. package/lib/SingleBox/component.json +151 -0
  655. package/lib/SingleBox/index.d.ts +2 -2
  656. package/lib/Slider/component.json +181 -0
  657. package/lib/SortBox/component.json +108 -0
  658. package/lib/Status/component.json +104 -0
  659. package/lib/Stepper/component.json +129 -0
  660. package/lib/Stepper/index.d.ts +2 -2
  661. package/lib/Switch/component.json +207 -0
  662. package/lib/Switch/index.css +1 -1
  663. package/lib/Switch/index.d.ts +3 -2
  664. package/lib/Switch/index.js +1 -1
  665. package/lib/Switch/style/index.css +1 -1
  666. package/lib/Table/component.json +547 -0
  667. package/lib/Table/index.d.ts +2 -2
  668. package/lib/Table/index.js +1 -1
  669. package/lib/Table/interface.d.ts +30 -0
  670. package/lib/Table/tableHead.js +1 -1
  671. package/lib/Table/util.d.ts +1 -1
  672. package/lib/Table/util.js +1 -1
  673. package/lib/Tabs/component.json +227 -0
  674. package/lib/Tag/component.json +221 -0
  675. package/lib/Tag/index.css +1 -1
  676. package/lib/Tag/index.d.ts +1 -1
  677. package/lib/Tag/index.js +1 -1
  678. package/lib/Tag/style/index.css +1 -1
  679. package/lib/TextEditor/component.json +186 -0
  680. package/lib/TextEditor/index.d.ts +5 -5
  681. package/lib/TextEditor/index.js +1 -1
  682. package/lib/TextField/component.json +290 -0
  683. package/lib/TextField/index.d.ts +2 -2
  684. package/lib/TextField/index.js +1 -1
  685. package/lib/TimePicker/component.json +176 -0
  686. package/lib/Timeline/component.json +110 -0
  687. package/lib/Title/component.json +156 -0
  688. package/lib/ToggleButton/component.json +153 -0
  689. package/lib/ToggleButton/index.js +1 -1
  690. package/lib/Tooltip/component.json +176 -0
  691. package/lib/Tooltip/index.js +1 -1
  692. package/lib/Tooltip/interface.d.ts +14 -1
  693. package/lib/Tooltip/utils.js +1 -1
  694. package/lib/Transfer/component.json +157 -0
  695. package/lib/Tree/OperateBar/index.js +2 -2
  696. package/lib/Tree/Tree.js +1 -1
  697. package/lib/Tree/component.json +512 -0
  698. package/lib/Tree/interface.d.ts +1 -1
  699. package/lib/Upload/component.json +450 -0
  700. package/lib/Upload/util.js +1 -1
  701. package/lib/Utils/snack-kit-shims.d.ts +18 -0
  702. package/lib/Utils/snack-kit-shims.js +2 -0
  703. package/lib/Utils/type.d.ts +0 -6
  704. package/lib/_virtual/index.js +1 -1
  705. package/lib/_virtual/index2.js +1 -1
  706. package/lib/index.d.ts +4 -0
  707. package/lib/index.js +1 -1
  708. package/lib/locale/en-US.d.ts +3 -0
  709. package/lib/locale/en-US.js +1 -1
  710. package/lib/locale/en_US.d.ts +361 -0
  711. package/lib/locale/en_US.js +2 -0
  712. package/lib/locale/index.d.ts +1 -723
  713. package/lib/locale/index2.js +2 -0
  714. package/lib/locale/zh-CN.d.ts +3 -0
  715. package/lib/locale/zh-CN.js +1 -1
  716. package/lib/locale/zh_CN.d.ts +361 -0
  717. package/lib/locale/zh_CN.js +2 -0
  718. package/lib/node_modules/classnames/index.js +1 -1
  719. package/package.json +24 -4
  720. package/es/_virtual/index3.js +0 -5
  721. package/es/_virtual/index4.js +0 -5
  722. package/es/node_modules/@para-snack/core/dist/index.js +0 -5231
  723. package/lib/_virtual/index3.js +0 -2
  724. package/lib/_virtual/index4.js +0 -2
  725. package/lib/node_modules/@para-snack/core/dist/index.js +0 -20
  726. /package/es/{InputCode → CodeEditor}/index.css +0 -0
  727. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  728. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
  729. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  730. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
@@ -3,5 +3,5 @@
3
3
  <div class="msg-text"></div>
4
4
  ${l?'<div class="msg-close"></div>':""}
5
5
  </div>
6
- `;const u=t.querySelector(".msg-wrapper"),a=t.querySelector(".msg-text");if(!a||!u)return t;if(n?a.innerHTML=s:a.textContent=s,c){const r=document.createElement("span");r.className="msg-desc",r.textContent=c||"",a.classList.add("msg-text--title"),u.classList.add("msg-wrapper-title"),a.appendChild(r)}d&&a.classList.add("msg-text--noicon");const g=t.querySelector(".msg-close");return g&&g.addEventListener("click",()=>{document.querySelector(`#${o}`)&&(t?.parentNode?.removeChild(t),t=null)}),t},B=e=>{const{className:s,style:o,type:i}=e,n=q(),l=_();let c=M(e.className||"");return s&&(c+=` ${s}`),I.useEffect(()=>{const d=document.getElementById(n);return E(d,{...e,id:l,icon:$[i]},0,!1,!0),()=>{const t=document.querySelector(`#${l}`);t&&d?.removeChild(t)}},[...Object.values(e)]),f.jsxRuntimeExports.jsx("div",{id:n,className:c,style:o})},q=()=>`msgbox_${String(Math.random()*1e5|0+new Date().getTime())}`,x=q(),D=()=>f.jsxRuntimeExports.jsx("div",{className:`${w.$prefixCls}-message-box`,id:x}),E=(e,{icon:s,text:o,id:i,type:n,html:l,close:c,desc:d,hideIcon:t},u,a,g)=>{const r=T({id:i,text:o,icon:s,type:n,html:l,close:c,desc:d,hideIcon:t});g&&r&&r.classList.add("msg-item-fill"),e?.appendChild(r);const C=document.querySelector(`#${i} .msg-icon`);C&&s&&!t&&y.render(s,C);const p=document.querySelector(`#${i} .msg-close`);p&&y.render(f.jsxRuntimeExports.jsx(R.Close,{}),p),a&&setTimeout(()=>{document.querySelector(`#${r.id}`)&&e?.removeChild(r)},u)},h=(e,s,o,i)=>{const n=()=>N().__msg_conf__||{};let l=$[o],c="",d="",t=!1,u,a=!1,g=n().maxCount??1/0,r=n().duration??s,C="";const p=!isNaN(r)&&r>0;typeof e=="string"?c=e:typeof e=="object"&&(c=e.text||"",d=e.desc,l=e.icon||$[o],t=e.html||!1,a=e.hideIcon||!1,e.maxCount>0&&(g=e.maxCount||1/0)),typeof e=="object"&&typeof e.close=="boolean"?u=e.close:u=!p;let m=document.getElementById(i);m||(m=document.createElement("div"),m.id=i,document.body.appendChild(m)),m.className=M(C),m.className+=` ${w.$prefixCls}-message-box--message-float`;const S=_();E(m,{id:S,text:c,icon:l,type:o,html:t,close:u,desc:d,hideIcon:a},r,p),F(m,g)},M=e=>`${w.$prefixCls}-message-box${e?` ${e}`:""}`,_=()=>`msgitem_${String(Math.random()*1e5|0+new Date().getTime())}`,F=(e,s)=>{if(!e||!e.children?.length)return;const o=e.children,i=o.length;if(i>s)for(let n=0;n<i;n++)n<s&&o[n]&&o[n].parentNode?.removeChild(o[n])},j=e=>{const s=document.getElementById(e);s&&(s.innerHTML="")},W=(e={})=>{const s=N();s.__msg_conf__=e},H={info:(e,s=5e3)=>h(e,s,"info",x),warn:(e,s=5e3)=>h(e,s,"warn",x),error:(e,s=5e3)=>h(e,s,"error",x),success:(e,s=5e3)=>h(e,s,"success",x),clear:()=>j(x),destroyAll:()=>j(x),config:e=>W(e)};exports.Message=H;exports.MessageBar=B;exports.default=D;
6
+ `;const u=t.querySelector(".msg-wrapper"),a=t.querySelector(".msg-text");if(!a||!u)return t;if(n?a.innerHTML=s:a.textContent=s,c){const r=document.createElement("span");r.className="msg-desc",r.textContent=c||"",a.classList.add("msg-text--title"),u.classList.add("msg-wrapper-title"),a.appendChild(r)}d&&a.classList.add("msg-text--noicon");const g=t.querySelector(".msg-close");return g&&g.addEventListener("click",()=>{document.querySelector(`#${o}`)&&(t?.parentNode?.removeChild(t),t=null)}),t},B=e=>{const{className:s,style:o,type:i}=e,n=q(),l=_();let c=M(e.className||"");return s&&(c+=` ${s}`),I.useEffect(()=>{const d=document.getElementById(n);return E(d,{...e,id:l,icon:$[i]},0,!1,!0),()=>{const t=document.querySelector(`#${l}`);t&&d?.removeChild(t)}},[...Object.values(e)]),f.jsxRuntimeExports.jsx("div",{id:n,className:c,style:o})},q=()=>`msgbox_${String(Math.random()*1e5|0+new Date().getTime())}`,x=q(),D=()=>f.jsxRuntimeExports.jsx("div",{className:`${w.$prefixCls}-message-box`,id:x}),E=(e,{icon:s,text:o,id:i,type:n,html:l,close:c,desc:d,hideIcon:t},u,a,g)=>{const r=T({id:i,text:o,icon:s,type:n,html:l,close:c,desc:d,hideIcon:t});g&&r&&r.classList.add("msg-item-fill"),e?.appendChild(r);const C=document.querySelector(`#${i} .msg-icon`);C&&s&&!t&&y.render(s,C);const p=document.querySelector(`#${i} .msg-close`);p&&y.render(f.jsxRuntimeExports.jsx(R.Close,{}),p),a&&setTimeout(()=>{document.querySelector(`#${r.id}`)&&e?.removeChild(r)},u)},h=(e,s,o,i)=>{const n=()=>N()?.__msg_conf__||{};let l=$[o],c="",d="",t=!1,u,a=!1,g=n().maxCount??1/0,r=n().duration??s,C="";const p=!isNaN(r)&&r>0;typeof e=="string"?c=e:typeof e=="object"&&(c=e.text||"",d=e.desc,l=e.icon||$[o],t=e.html||!1,a=e.hideIcon||!1,e.maxCount>0&&(g=e.maxCount||1/0)),typeof e=="object"&&typeof e.close=="boolean"?u=e.close:u=!p;let m=document.getElementById(i);m||(m=document.createElement("div"),m.id=i,document.body.appendChild(m)),m.className=M(C),m.className+=` ${w.$prefixCls}-message-box--message-float`;const S=_();E(m,{id:S,text:c,icon:l,type:o,html:t,close:u,desc:d,hideIcon:a},r,p),F(m,g)},M=e=>`${w.$prefixCls}-message-box${e?` ${e}`:""}`,_=()=>`msgitem_${String(Math.random()*1e5|0+new Date().getTime())}`,F=(e,s)=>{if(!e||!e.children?.length)return;const o=e.children,i=o.length;if(i>s)for(let n=0;n<i;n++)n<s&&o[n]&&o[n].parentNode?.removeChild(o[n])},j=e=>{const s=document.getElementById(e);s&&(s.innerHTML="")},W=(e={})=>{const s=N();s&&(s.__msg_conf__=e)},H={info:(e,s=5e3)=>h(e,s,"info",x),warn:(e,s=5e3)=>h(e,s,"warn",x),error:(e,s=5e3)=>h(e,s,"error",x),success:(e,s=5e3)=>h(e,s,"success",x),clear:()=>j(x),destroyAll:()=>j(x),config:e=>W(e)};exports.Message=H;exports.MessageBar=B;exports.default=D;
7
7
  //# sourceMappingURL=index.js.map
@@ -51,7 +51,7 @@ type ConfirmProps = Omit<ConfirmDialogProps, 'open' | 'resolveFn' | 'destroy' |
51
51
  uuid?: string;
52
52
  };
53
53
  interface ConfirmFn {
54
- (config: ConfirmProps | string, callback?: Function): void | Promise<any>;
54
+ (config: ConfirmProps | string, callback?: Function): void | Promise<unknown>;
55
55
  }
56
56
  export interface ConfirmObject {
57
57
  info: ConfirmFn;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./index.css');const t=require("../../_virtual/jsx-runtime.js"),C=require("react-dom"),T=require("../index.js"),A=require("../../node_modules/@para-ui/icons/Close/index.js"),B=require("../../node_modules/@para-ui/icons/CheckCircleF/index.js"),x=require("../../node_modules/@para-ui/icons/WarningCircleF/index.js"),M=require("../../node_modules/@para-ui/icons/CloseCircleF/index.js"),h=require("clsx"),m=require("../../Button/index.js"),O=require("@paraview/lib");require("../../GlobalContext/index.js");const P=require("../../GlobalContext/constant.js");;/* empty css */const z=require("../../GlobalContext/confirmLocale.js"),D={success:t.jsxRuntimeExports.jsx(B.CheckCircleF,{}),warn:t.jsxRuntimeExports.jsx(x.WarningCircleF,{}),warning:t.jsxRuntimeExports.jsx(x.WarningCircleF,{}),error:t.jsxRuntimeExports.jsx(M.CloseCircleF,{}),info:t.jsxRuntimeExports.jsx(x.WarningCircleF,{})},L=e=>{const{type:n="warning",title:o,content:s,icon:r,okText:l,cancelText:c,onOk:R,onCancel:E,className:q,showCancel:y=!0,closable:N=!1,okButtonProps:k,cancelButtonProps:v,resolveFn:d,callback:b,destroy:j,actions:f,showActions:w=!0,...g}=e,$=`${P.$prefixCls}-confirm`,u=()=>{E?.(),d?.(!1),j?.()},p=()=>{R?.(),d?.(!0),b?.(),j?.()},F=()=>w?f?t.jsxRuntimeExports.jsx("div",{className:"confirm-content-actions",children:f}):t.jsxRuntimeExports.jsxs("div",{className:"confirm-content-actions",children:[y&&t.jsxRuntimeExports.jsx(m.Button,{variant:"outlined",size:"small",onClick:u,...v,children:c}),t.jsxRuntimeExports.jsx(m.Button,{variant:"contained",size:"small",onClick:p,...k,children:l})]}):null;return t.jsxRuntimeExports.jsx(T.Modal,{bodyStyle:{minHeight:"auto"},...g,onOk:p,onCancel:u,title:"",footer:"",size:"auto",hideHeader:!0,showActions:!1,className:h($,q),children:t.jsxRuntimeExports.jsx("div",{className:"confirm-wrapper",children:t.jsxRuntimeExports.jsxs("div",{className:"confirm-content",children:[N&&t.jsxRuntimeExports.jsx(m.Button.IconButton,{variant:"outlined",size:"small",className:"confirm-content-close",onClick:u,children:t.jsxRuntimeExports.jsx(A.Close,{})}),t.jsxRuntimeExports.jsx("span",{className:h("confirm-content-icon",`confirm-content-icon--${n}`),children:r||D[n]}),t.jsxRuntimeExports.jsxs("div",{className:"confirm-content-body",children:[o&&t.jsxRuntimeExports.jsx("span",{className:"confirm-body-title",children:o}),t.jsxRuntimeExports.jsx("div",{className:"confirm-body-desc",children:s})]}),F()]})})})},i=new Map,S=(e,n,o)=>{const s=document.createElement("div"),r=e.uuid||O.UUID();e.uuid&&s.setAttribute("data-confirm-cid",e.uuid),document.body.appendChild(s);const l=()=>{C.unmountComponentAtNode(s)&&s.parentNode&&s.parentNode.removeChild(s),i.delete(r)};i.set(r,l),setTimeout(()=>{const c=z.getConfirmLocale();C.render(t.jsxRuntimeExports.jsx(L,{...e,okText:e.okText??c.ok,cancelText:e.cancelText??c.cancel,open:!0,resolveFn:n,callback:o,destroy:l}),s)})},a=(e,n,o)=>{let s={type:n};return typeof e=="string"?s.content=e:s={...e,type:n},new Promise(r=>{S(s,r,o)})},W=e=>{if(e){const n=i.get(e);n&&n(),i.delete(e);return}i.forEach(n=>{n&&n()}),i.clear()},H={info:(e,n)=>a(e,"info",n),warn:(e,n)=>a(e,"warn",n),error:(e,n)=>a(e,"error",n),success:(e,n)=>a(e,"success",n),destroyAll:W};exports.Confirm=H;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./index.css');const t=require("../../_virtual/jsx-runtime.js"),C=require("react-dom"),A=require("../index.js"),B=require("../../node_modules/@para-ui/icons/Close/index.js"),M=require("../../node_modules/@para-ui/icons/CheckCircleF/index.js"),x=require("../../node_modules/@para-ui/icons/WarningCircleF/index.js"),$=require("../../node_modules/@para-ui/icons/CloseCircleF/index.js"),h=require("clsx"),m=require("../../Button/index.js"),O=require("@snack-kit/lib");require("../../GlobalContext/index.js");const P=require("../../GlobalContext/constant.js");;/* empty css */const z=require("../../GlobalContext/confirmLocale.js"),D={success:t.jsxRuntimeExports.jsx(M.CheckCircleF,{}),warn:t.jsxRuntimeExports.jsx(x.WarningCircleF,{}),warning:t.jsxRuntimeExports.jsx(x.WarningCircleF,{}),error:t.jsxRuntimeExports.jsx($.CloseCircleF,{}),info:t.jsxRuntimeExports.jsx(x.WarningCircleF,{})},L=e=>{const{type:n="warning",title:o,content:s,icon:r,okText:l,cancelText:c,onOk:R,onCancel:E,className:y,showCancel:q=!0,closable:N=!1,okButtonProps:k,cancelButtonProps:v,resolveFn:d,callback:b,destroy:j,actions:f,showActions:w=!0,...g}=e,F=`${P.$prefixCls}-confirm`,u=()=>{E?.(),d?.(!1),j?.()},p=()=>{R?.(),d?.(!0),b?.(),j?.()},T=()=>w?f?t.jsxRuntimeExports.jsx("div",{className:"confirm-content-actions",children:f}):t.jsxRuntimeExports.jsxs("div",{className:"confirm-content-actions",children:[q&&t.jsxRuntimeExports.jsx(m.Button,{variant:"outlined",size:"small",onClick:u,...v,children:c}),t.jsxRuntimeExports.jsx(m.Button,{variant:"contained",size:"small",onClick:p,...k,children:l})]}):null;return t.jsxRuntimeExports.jsx(A.Modal,{bodyStyle:{minHeight:"auto"},...g,onOk:p,onCancel:u,title:"",footer:"",size:"auto",hideHeader:!0,showActions:!1,className:h(F,y),children:t.jsxRuntimeExports.jsx("div",{className:"confirm-wrapper",children:t.jsxRuntimeExports.jsxs("div",{className:"confirm-content",children:[N&&t.jsxRuntimeExports.jsx(m.Button.IconButton,{variant:"outlined",size:"small",className:"confirm-content-close",onClick:u,children:t.jsxRuntimeExports.jsx(B.Close,{})}),t.jsxRuntimeExports.jsx("span",{className:h("confirm-content-icon",`confirm-content-icon--${n}`),children:r||D[n]}),t.jsxRuntimeExports.jsxs("div",{className:"confirm-content-body",children:[o&&t.jsxRuntimeExports.jsx("span",{className:"confirm-body-title",children:o}),t.jsxRuntimeExports.jsx("div",{className:"confirm-body-desc",children:s})]}),T()]})})})},i=new Map,S=(e,n,o)=>{const s=document.createElement("div"),r=e.uuid||O.UUID();e.uuid&&s.setAttribute("data-confirm-cid",e.uuid),document.body.appendChild(s);const l=()=>{C.unmountComponentAtNode(s)&&s.parentNode&&s.parentNode.removeChild(s),i.delete(r)};i.set(r,l),setTimeout(()=>{const c=z.getConfirmLocale();C.render(t.jsxRuntimeExports.jsx(L,{...e,okText:e.okText??c.ok,cancelText:e.cancelText??c.cancel,open:!0,resolveFn:n,callback:o,destroy:l}),s)})},a=(e,n,o)=>{let s={type:n};return typeof e=="string"?s.content=e:s={...e,type:n},new Promise(r=>{S(s,r,o)})},W=e=>{if(e){const n=i.get(e);n&&n(),i.delete(e);return}i.forEach(n=>{n&&n()}),i.clear()},H={info:(e,n)=>a(e,"info",n),warn:(e,n)=>a(e,"warn",n),error:(e,n)=>a(e,"error",n),success:(e,n)=>a(e,"success",n),destroyAll:W};exports.Confirm=H;
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,277 @@
1
+ {
2
+ "name": "Modal",
3
+ "category": "Feedback",
4
+ "description": "模态对话框,用于需用户处理事务,又不希望跳转页面的场景",
5
+ "semantic": {
6
+ "intent": [
7
+ "通知",
8
+ "确认",
9
+ "复杂输入",
10
+ "详情查看"
11
+ ],
12
+ "useCases": [
13
+ "删除确认",
14
+ "表单填写",
15
+ "信息详情",
16
+ "重要预警"
17
+ ],
18
+ "riskLevel": "high"
19
+ },
20
+ "variants": {
21
+ "confirm": {
22
+ "meaning": "确认框,通常只包含文本和确定/取消按钮"
23
+ },
24
+ "info": {
25
+ "meaning": "信息框,展示详情或通知"
26
+ }
27
+ },
28
+ "states": [
29
+ "open",
30
+ "loading"
31
+ ],
32
+ "idealProps": {
33
+ "open": {
34
+ "type": "boolean",
35
+ "default": false,
36
+ "description": "模态框是否可见。**`visible` 是同义旧别名**(src:33-35 二者都存在),新代码推荐用 open。**Modal 完全受控**(DEFECT-008):src/Modal/index.tsx:160-167 handleCancel/handleOk **不修改 open 内部状态**,只调 props.onCancel/onOk;父组件必须自行 setOpen(false) 才会关闭。不存在\"非受控自动关闭\"模式。未传 `open` 时可用 `defaultOpen` 启用非受控模式(v5.x.next 议题 #2 新增)"
37
+ },
38
+ "defaultOpen": {
39
+ "type": "boolean",
40
+ "description": "**(v5.x.next 议题 #2 引入)** 非受控模式初始 open 值。未传 `open` 时启用非受控 — Modal 内部维护 open state,关闭路径自动 setOpen(false),业务方不需要手动管理 open state(公告类/一次性 Modal 推荐)。与 React `<input defaultValue>` 惯例一致。同时传 open + defaultOpen → open 优先,dev warn 提示"
41
+ },
42
+ "visible": {
43
+ "type": "boolean",
44
+ "default": false,
45
+ "description": "**@deprecated v5.x.next 改用 `open`(命名对齐业界 antd5/Chakra/Radix/MUI);v6.0 移除(BREAKING-CHANGES §B-Modal-props-rework 子条 #3-A)。** `open` 的旧别名;与 open 二选一即可,新代码推荐用 open"
46
+ },
47
+ "title": {
48
+ "type": "ReactNode",
49
+ "description": "标题"
50
+ },
51
+ "onOk": {
52
+ "type": "function",
53
+ "signature": "() => void",
54
+ "description": "**@deprecated v5.x.next 改用 `onSubmit`(语义更清晰:submit 比 ok 更准确表达\"确认提交\"行为,对齐表单语义);v6.0 移除(BREAKING-CHANGES §B-Modal-props-rework)。** 点击确定回调(旧名)"
55
+ },
56
+ "onSubmit": {
57
+ "type": "function",
58
+ "signature": "(e?: React.MouseEvent) => void | Promise<void>",
59
+ "description": "**(v5.x.next 议题 #M1 引入)** 点击确定回调(推荐新 API,语义清晰)。与 `onOk` 同义但 submit 比 ok 更准确表达\"确认提交\"行为。同时传 `onOk + onSubmit` → `onSubmit` 优先调用,`onOk` 跳过(避免业务函数重复触发);仅传 `onOk` → 旧行为不变(onOk 仍触发)。dev 环境若检测到只传 `onOk` 会 console.warn 1 次提示迁移"
60
+ },
61
+ "onCancel": {
62
+ "type": "function",
63
+ "signature": "() => boolean | void",
64
+ "description": "点击取消、ESC、遮罩、右上角叉的回调;返回 false 阻止关闭"
65
+ },
66
+ "onClose": {
67
+ "type": "function",
68
+ "signature": "(reason: 'cancel' | 'ok' | 'esc' | 'mask' | 'x') => void",
69
+ "description": "@deprecated v5.x.next 改用 onDismiss + onOk + onCancel 三回调;v6.0 移除。**(R6 §B3 阶段 1 引入,最低支持版本 5.x.next)** 任意路径关闭统一回调,reason 字面联合区分关闭来源。**与 onCancel/onOk 共存为叠加触发**(src 实证):取消按钮 → onCancel + onClose('cancel');确定按钮 → onOk + onClose('ok');ESC/蒙层/X → onCancel + onClose('esc'|'mask'|'x')。**推荐写法** — 业务方在 onClose 里统一 setOpen(false) + reason 分支(埋点 / 重置 state),不再写 `onCancel={fn} onOk={fn}` 双绑兜底;若旧代码 onOk + onClose 共存,onOk 应只处理 'ok' 路径(submit),onClose 处理其他 4 种,避免业务函数重复触发(R3 4/9 + R5 5/9 sub-agent 持续踩坑)。**X 按钮在 showCancel=false 时仍显示并触发 reason='x'**(X 由 hideHeader 控制,不受 showCancel 影响);**Modal 完全受控** — onClose 未传或未在 onClose 内 setOpen(false),Modal 不会自动关闭。阶段 3 v6 移除单独 onCancel/onOk(BREAKING)。详见 BREAKING-CHANGES §B3 + discussions/Modal-unified-onClose.md"
70
+ },
71
+ "onDismiss": {
72
+ "type": "function",
73
+ "signature": "(reason: ModalDismissReason) => void",
74
+ "description": "**(v5.x.next γ 方案 议题 #1 引入)** 非按钮关闭路径(X/ESC/蒙层)的专用回调。仅传 onDismiss(不传 onClose)时走新单触发行为:X 按钮仅调 `onDismiss('x')`,ESC 仅调 `onDismiss('esc')`,蒙层仅调 `onDismiss('mask')`。**onOk/onCancel/onDismiss 三回调职责互斥**(对比旧 onClose 5 路径统一触发会导致双触发)。推荐迁移路径:删 onClose,改用 onDismiss 处理非按钮路径。详见 BREAKING-CHANGES §B-Modal-props-rework"
75
+ },
76
+ "showCancel": {
77
+ "type": "boolean",
78
+ "default": true,
79
+ "description": "是否显示取消按钮。**仅控制取消按钮显隐**,不影响右上角 X 按钮(X 由 hideHeader 控制;showCancel=false 时 X 仍显示并仍可点击触发关闭走 onClose reason='x' / onCancel 路径)。showCancel=false 时 onCancel 可省略(走 onClose 统一处理)"
80
+ },
81
+ "showActions": {
82
+ "type": "boolean",
83
+ "default": true,
84
+ "description": "是否显示底部 actions 按钮区(确定 + 取消按钮统一区域)。**典型场景**:登录/复杂表单内嵌时设为 false 隐藏默认底部,业务自行在 children 内放置提交按钮"
85
+ },
86
+ "confirmLoading": {
87
+ "type": "boolean",
88
+ "default": false,
89
+ "description": "确定按钮 loading 状态(顶层快捷方式,等价于 okButtonProps={{ loading }})。**loading 期间确定按钮自动 disabled 不响应点击**(src/Modal/index.tsx:258 透传 Button.loading,Button 自身已 `disabled={disabled \\|\\| hasLoading}`,见 BREAKING-CHANGES §A2)——业务无需再叠 okButtonProps.disabled。"
90
+ },
91
+ "destroyOnClose": {
92
+ "type": "boolean",
93
+ "default": false,
94
+ "description": "关闭时销毁子元素;下次打开重建。表单类内嵌内容用此 prop 重置状态"
95
+ },
96
+ "maskClosable": {
97
+ "type": "boolean",
98
+ "default": false,
99
+ "description": "点击蒙层是否允许关闭。**与 disableBackdropClick 是同一能力的双 prop(DEFECT-001)**,src 实际:`!disableBackdropClick \\|\\| maskClosable`。**强烈推荐用 disableBackdropClick 替代 maskClosable**——后者是冗余且易混淆"
100
+ },
101
+ "closeOnBackdrop": {
102
+ "type": "boolean",
103
+ "description": "**(R6 §B6 阶段 1 引入)** 是否允许蒙层点击关闭(正向命名,业界对齐 antd `maskClosable` / chakra `closeOnOverlayClick`)。显式传值优先 — 未传时 fallback 旧 `disableBackdropClick`(默认 true 即禁用,反业界直觉)。**推荐用 closeOnBackdrop={true}** 替代 `disableBackdropClick={false}` 双重否定写法。阶段 3 v6 移除 disableBackdropClick 后默认 true。详见 BREAKING-CHANGES §B6"
104
+ },
105
+ "disableBackdropClick": {
106
+ "type": "boolean",
107
+ "default": true,
108
+ "description": "**@deprecated v5.x.next 改用 `closeOnBackdrop`(正向命名,业界对齐);v6 移除(BREAKING-CHANGES §B6 阶段 3)**。⚠️ 默认 true(即默认禁用蒙层点击关闭)——与多数 Modal 库默认允许的直觉相反(DEFECT-002,R5 9/9 sub-agent 全部明确感知反业界直觉)。需要允许点击遮罩关闭推荐显式传 `closeOnBackdrop={true}`(新 prop) 或旧写法 `disableBackdropClick={false}`(deprecated)"
109
+ },
110
+ "closeOnEsc": {
111
+ "type": "boolean",
112
+ "description": "**(R6 §B6 阶段 1 引入)** 是否允许 Escape 键关闭(正向命名,业界对齐 antd `keyboard` / chakra `closeOnEsc`)。显式传值优先 — 未传时 fallback 旧 `disableEscapeKeyDown`(默认 true 即禁用,反业界直觉)。**推荐用 closeOnEsc={true}** 替代 `disableEscapeKeyDown={false}` 双重否定。阶段 3 v6 移除 disableEscapeKeyDown 后默认 true。详见 BREAKING-CHANGES §B6"
113
+ },
114
+ "disableEscapeKeyDown": {
115
+ "type": "boolean",
116
+ "default": true,
117
+ "description": "**@deprecated v5.x.next 改用 `closeOnEsc`(正向命名,业界对齐);v6 移除(BREAKING-CHANGES §B6 阶段 3)**。⚠️ 默认 true(即默认禁用 ESC 关闭)——同样与多数库直觉相反"
118
+ },
119
+ "restoreFocusOnClose": {
120
+ "type": "boolean",
121
+ "description": "**(R6 §B6 阶段 1 引入)** 关闭后是否将焦点恢复到原触发元素(正向命名,业界对齐 mui `restoreFocus`)。等价 `focusTriggerAfterClose` 的正向 alias — 显式传值优先,未传时 fallback `focusTriggerAfterClose`(默认 true)。**推荐用 restoreFocusOnClose** 命名;v6 路径只保留 restoreFocusOnClose。详见 BREAKING-CHANGES §B6"
122
+ },
123
+ "size": {
124
+ "type": "enum",
125
+ "values": [
126
+ "sm",
127
+ "md",
128
+ "lg",
129
+ "auto",
130
+ "fullScreen"
131
+ ],
132
+ "default": "md",
133
+ "description": "尺寸枚举。**`size='fullScreen'` 与独立 prop `fullScreen={true}` 是同一能力的双 prop(DEFECT-003)**——src 实际 `fullScreen \\|\\| size === 'fullScreen'`。**推荐用 size='fullScreen'**(与其他尺寸取值同 prop,更一致)"
134
+ },
135
+ "fullScreen": {
136
+ "type": "boolean",
137
+ "default": false,
138
+ "description": "全屏开关;与 size='fullScreen' 同义,推荐用 size='fullScreen'。**全屏模式内容区高度行为**:启用时 dialog 容器追加 `.{prefix}-fullscreen` 类,内容区自动 height: 100vh + overflow: auto;contentStyle padding 由父级控制,无需业务方再写 style 撑高"
139
+ },
140
+ "centered": {
141
+ "type": "boolean",
142
+ "default": true,
143
+ "description": "**Modal 默认垂直居中**(DEFECT-004:src/Modal/index.tsx:64+129+301 实证,默认值 true,启用时根容器追加 `.{prefix}-centered` 类)。无需 style transform 等 hack 实现居中——直接使用默认即可。如需顶部对齐请显式传 `centered={false}`。"
144
+ },
145
+ "style": {
146
+ "type": "React.CSSProperties",
147
+ "description": "落在 Modal **dialog 外层容器**(DEFECT-007:与 contentStyle 区分,后者仅作用于内容区 DOM)。常用于覆盖整体边距 / z-index / position 等容器级属性。"
148
+ },
149
+ "contentStyle": {
150
+ "type": "React.CSSProperties",
151
+ "description": "落在 Modal **内容区 DOM 节点**(DEFECT-007:src/Modal/index.tsx:224 实证)。覆盖 contentHeight 等内容区限定样式。需要整体 dialog 样式请用 style。"
152
+ },
153
+ "width": {
154
+ "type": "string | number",
155
+ "description": "Modal dialog 容器整体宽度。与 `contentWidth` 区分:contentWidth 仅控制内容区,width 控制整体——业务侧『自定义宽度』优先用 width"
156
+ },
157
+ "okText": {
158
+ "type": "string",
159
+ "description": "确认按钮文字"
160
+ },
161
+ "cancelText": {
162
+ "type": "string",
163
+ "description": "取消按钮文字"
164
+ },
165
+ "actions": {
166
+ "type": "function | ReactNode",
167
+ "signature": "((buttons: ReactNode[]) => ReactNode[]) | ReactNode",
168
+ "description": "⚠️ **完全自定义底部操作栏**(src/Modal/index.tsx:69 实证)。两种用法:① 传 `ReactNode` 完全替换底部按钮区(隐藏默认确定/取消按钮,渲染自定义内容);② 传函数 `(buttons) => ReactNode[]` 接收默认按钮数组后按需增删/改造再返回。**与 `footer` 区分**:`footer` 语义相同但 actions 是更语义化的命名(两者 src 并存,任选一即可)。**与 `showActions` 区分**:showActions=false 是整体隐藏,actions 是替换内容——需要完全自定义按钮组合时用 actions,需要隐藏整个底部区域时用 showActions=false"
169
+ }
170
+ },
171
+ "do": [
172
+ "保持模态框内容简洁,避免过于复杂的流程",
173
+ "**新代码统一用 `open` 而非 `visible`**——visible 是旧别名",
174
+ "**`onDismiss` + `onOk` + `onCancel` 三回调首推(v5.x.next γ 方案)**:`onDismiss` 处理非按钮路径(X/ESC/蒙层),`onOk` 处理确定按钮,`onCancel` 处理取消按钮,三者职责互斥,无双触发问题",
175
+ "**旧写法(不推荐)**:`onClose(reason)` 顶层回调在任意路径关闭时触发,v5.x.next 已标 @deprecated,v6.0 移除。如仍使用,在 onClose 里统一 setOpen(false) + reason 分支(reason ∈ 'cancel'|'ok'|'esc'|'mask'|'x')",
176
+ "**全屏模态用 `size='fullScreen'`**——与其他尺寸取值同 prop;fullScreen={true} 是冗余别名",
177
+ "**点击蒙层关闭:用 `closeOnBackdrop={true}`(R6 §B6 阶段 1 推荐,正向命名,业界对齐)** — 替代旧 `disableBackdropClick={false}` 双重否定写法;`maskClosable` 仍是冗余双 prop,推荐用 closeOnBackdrop。同理 `closeOnEsc={true}` 替代 `disableEscapeKeyDown={false}`;`restoreFocusOnClose` 替代旧 `focusTriggerAfterClose` 正向 alias",
178
+ "**Modal 默认垂直居中**(centered=true)——无需 style transform 居中 hack。需要顶部对齐显式传 centered={false}",
179
+ "整体 dialog 样式用 `style`,内容区限定样式用 `contentStyle`——两者作用 DOM 节点不同(DEFECT-007)",
180
+ "整体宽度自定义用 `width`(不是 contentWidth——后者仅控制内容区)",
181
+ "重要操作(如不可逆删除)应使 ESC + 蒙层都不能关闭——保留默认 `closeOnEsc=undefined / closeOnBackdrop=undefined`(fallback 旧 disable* 默认 true 即锁定);旧写法 `disableEscapeKeyDown=true / disableBackdropClick=true` 仍工作但不推荐",
182
+ "需要关闭后重置内嵌表单状态时使用 `destroyOnClose={true}`",
183
+ "确定按钮 loading 状态用 `confirmLoading={true}`——loading 期间按钮自动 disabled,业务无需再叠 okButtonProps.disabled"
184
+ ],
185
+ "dont": [
186
+ "在模态框上再叠加模态框(多层嵌套)",
187
+ "在模态框中放置过长的表单(应考虑独立页面)",
188
+ "不要混用 visible 与 open 双 prop——只传一个",
189
+ "不要既传 fullScreen 又传 size='fullScreen'——只传一个,推荐 size",
190
+ "不要既传 disableBackdropClick 又传 maskClosable——只传一个,推荐 closeOnBackdrop(R6 §B6 阶段 1 引入正向命名)",
191
+ "不要假设 disableBackdropClick / disableEscapeKeyDown 默认值是 false——它们默认 true(即默认禁用),与多数库直觉相反;v6 路径已 rename 为 closeOnBackdrop / closeOnEsc / restoreFocusOnClose 正向 prop"
192
+ ],
193
+ "events": {
194
+ "onSubmit": {
195
+ "signature": "(e?: React.MouseEvent<HTMLElement>) => void | Promise<void>",
196
+ "asyncSupported": true,
197
+ "examples": [
198
+ "推荐新写法:async onSubmit 处理异步提交,confirmLoading 配合显示 loading 状态",
199
+ "onSubmit 与 onOk 同义,同时传时 onSubmit 优先,onOk 被跳过(src/Modal/index.tsx:230-234 实证)",
200
+ "表单提交场景:onSubmit 内调 formRef.current.check?.(),失败 return,成功后关闭 Modal"
201
+ ],
202
+ "commonMistakes": [
203
+ "同时传 onOk + onSubmit,期望两者都执行 → src 优先调 onSubmit,onOk 被跳过",
204
+ "假设 async onSubmit 执行完成后 Modal 自动关闭 → Modal 完全受控,必须在 onSubmit 内手动 setOpen(false)",
205
+ "传 onOk 而不传 onSubmit 时触发 dev warn → src 检测到仅有 onOk 会 console.warn 一次提示迁移到 onSubmit"
206
+ ]
207
+ },
208
+ "onCancel": {
209
+ "signature": "(e?: React.MouseEvent<HTMLElement>) => boolean | void",
210
+ "asyncSupported": false,
211
+ "examples": [
212
+ "点击取消按钮触发,业务方在回调里 setOpen(false) 关闭 Modal",
213
+ "返回 false 阻止关闭(src/Modal/index.tsx:interface 签名实证)",
214
+ "showCancel=false 时用户无法触发 onCancel,X/ESC/蒙层改走 onDismiss"
215
+ ],
216
+ "commonMistakes": [
217
+ "假设 onCancel 在 X 按钮/ESC/蒙层点击时也触发 → v5.x.next 新模式下传了 onDismiss 且不传 onClose 时,X/ESC/mask 仅调 onDismiss,不双触发 onCancel",
218
+ "不在 onCancel 内 setOpen(false) → Modal 是完全受控组件,不自动关闭",
219
+ "假设 onCancel 和 onClose 等价 → onClose 是 deprecated 的统一路径回调(v6 移除),onCancel 只绑取消按钮"
220
+ ]
221
+ },
222
+ "onDismiss": {
223
+ "signature": "(reason: 'esc' | 'mask' | 'x') => void",
224
+ "asyncSupported": false,
225
+ "examples": [
226
+ "推荐新写法(v5.x.next):`onDismiss={(r) => { if (r !== 'esc') setOpen(false); }}` 区分关闭来源",
227
+ "仅传 onDismiss 不传 onClose → 新单触发行为:X/ESC/mask 只调 onDismiss,不再同时触发 onCancel",
228
+ "同时传 onClose(无论是否传 onDismiss)→ 旧兼容行为:维持 R6 双触发(onCancel + onClose)"
229
+ ],
230
+ "commonMistakes": [
231
+ "假设 onDismiss 的 reason 包含 'cancel' 或 'ok' → ModalDismissReason 只有 'esc' | 'mask' | 'x',按钮路径不走这里",
232
+ "同时传 onClose + onDismiss 并期望单触发 → 同时传 onClose 时维持旧双触发行为,只有删 onClose 才能用新单触发",
233
+ "在 onDismiss 内不 setOpen(false) → Modal 完全受控,必须手动关闭"
234
+ ]
235
+ },
236
+ "onClose": {
237
+ "signature": "(reason: 'cancel' | 'ok' | 'esc' | 'mask' | 'x') => void",
238
+ "asyncSupported": false,
239
+ "examples": [
240
+ "(旧写法,已 @deprecated)统一处理所有关闭路径,reason 区分来源",
241
+ "迁移示例:删 onClose 改用 onDismiss + onOk + onCancel 三回调",
242
+ "如仍使用:`onClose={(r) => { setOpen(false); if (r==='ok') submit(); }}` 在 onClose 里统一 setOpen + 分支处理"
243
+ ],
244
+ "commonMistakes": [
245
+ "传了 onClose 后期望 onOk + onClose('ok') 不重复触发业务逻辑 → 两者叠加触发(src:230-237 实证),需在 onOk 只做提交,在 onClose 里判断 reason='ok' 再 setOpen(false)",
246
+ "在 v6 前就依赖 onClose 的确定/取消路径 → v6.0 移除 onClose,应迁移到新三回调模式",
247
+ "假设 onClose 在 Modal 组件 unmount 时触发 → onClose 仅在用户主动关闭时触发,不是生命周期回调"
248
+ ]
249
+ }
250
+ },
251
+ "typescriptPitfalls": [
252
+ {
253
+ "issue": "ModalCloseReason 和 ModalDismissReason 是不同的类型,不能混用",
254
+ "wrong": "onDismiss={(reason: 'cancel' | 'ok' | 'esc' | 'mask' | 'x') => ...} // onDismiss 参数是 ModalDismissReason,无 'cancel'/'ok'",
255
+ "right": "import { ModalDismissReason } from '@para-ui/core'; onDismiss={(reason: ModalDismissReason) => ...} // ModalDismissReason = 'esc' | 'mask' | 'x'"
256
+ },
257
+ {
258
+ "issue": "disableBackdropClick / disableEscapeKeyDown 默认值是 true(禁用),与多数库默认允许的直觉相反",
259
+ "wrong": "// 期望默认允许点击蒙层关闭 → 实际默认 disableBackdropClick=true 即禁用蒙层关闭",
260
+ "right": "<Modal closeOnBackdrop={true} closeOnEsc={true} /> // 正向命名,明确允许蒙层和ESC关闭(src/Modal/index.tsx:201-204 实证)"
261
+ },
262
+ {
263
+ "issue": "onSubmit 支持 async,onOk 的旧签名不明确支持 Promise",
264
+ "wrong": "onOk={async () => { await doSubmit(); setOpen(false); }} // onOk 已 deprecated,且类型签名不含 Promise",
265
+ "right": "onSubmit={async (e) => { await doSubmit(); setOpen(false); }} // onSubmit 签名: (e?) => void | Promise<void>"
266
+ },
267
+ {
268
+ "issue": "actions prop 接受函数形式时返回值类型是 ReactNode[] 不是 ReactNode",
269
+ "wrong": "actions={(btns) => <div>{btns}</div>} // 返回 ReactNode,TS 报类型不匹配",
270
+ "right": "actions={(btns) => [...btns, <Button key='extra'>额外按钮</Button>]} // 返回 ReactNode[] 数组"
271
+ }
272
+ ],
273
+ "mapping": {
274
+ "realComponent": "Modal",
275
+ "adapter": null
276
+ }
277
+ }
@@ -1,12 +1,33 @@
1
1
  import { default as React, ReactNode } from 'react';
2
2
  import { ButtonProps } from '../Button';
3
3
  import { Confirm, ConfirmObject } from './Confirm';
4
+ import { ModalDismissReason } from './interface';
4
5
  type ModalSize = 'sm' | 'md' | 'lg' | 'auto' | 'fullScreen';
6
+ /**
7
+ * Modal onClose 关闭路径标识(R6 §B3 阶段 1 引入,见 BREAKING-CHANGES §B3 + discussions/Modal-unified-onClose.md)
8
+ * - 'cancel' = 取消按钮
9
+ * - 'ok' = 确定按钮
10
+ * - 'esc' = 键盘 Escape 关闭(若 keyboard 启用)
11
+ * - 'mask' = 蒙层点击关闭(若 maskClosable 启用)
12
+ * - 'x' = 右上角 X 按钮
13
+ */
14
+ export type ModalCloseReason = 'cancel' | 'ok' | 'esc' | 'mask' | 'x';
5
15
  export interface ModalProps {
6
- /** 对话框是否可见 */
16
+ /**
17
+ * @deprecated v5.x.next 改用 `open`(命名对齐业界 antd5/Chakra/Radix/MUI);v6.0 移除 visible prop + fallback。详见 BREAKING-CHANGES §B-Modal-props-rework 子条 #3-A
18
+ * `open` 的旧别名;与 open 二选一即可,新代码推荐用 open
19
+ */
7
20
  visible?: boolean;
8
21
  /** 打开 */
9
22
  open?: boolean;
23
+ /**
24
+ * **(v5.x.next 议题 #2 引入)** 非受控模式初始 open 值。
25
+ * 未传 `open`(且未传 `visible`)时启用非受控 — Modal 内部维护 open state,
26
+ * 关闭路径自动 setOpen(false),业务方不需要手动管理 open state。
27
+ * 与 React `<input defaultValue>` 惯例一致。
28
+ * 同时传 open + defaultOpen → open 优先(受控模式),dev warn 提示。
29
+ */
30
+ defaultOpen?: boolean;
10
31
  /** 确定按钮 loading */
11
32
  confirmLoading?: boolean;
12
33
  /** 标题 */
@@ -27,10 +48,48 @@ export interface ModalProps {
27
48
  showCancel?: boolean;
28
49
  /** 是否显示右上角的关闭按钮 */
29
50
  closable?: boolean;
30
- /** 点击确定回调 */
51
+ /**
52
+ * @deprecated v5.x.next 改用 `onSubmit`(语义更清晰:submit 比 ok 更准确表达"确认提交"行为,对齐表单语义);v6.0 移除 onOk。详见 BREAKING-CHANGES §B-Modal-props-rework
53
+ * 点击确定回调(旧名)
54
+ */
31
55
  onOk?: (e?: React.MouseEvent<HTMLElement>) => void;
56
+ /**
57
+ * **(v5.x.next 议题 #M1 引入)** 点击确定回调(推荐新 API,语义清晰)。
58
+ * 与 `onOk` 同义但 submit 比 ok 更准确表达"确认提交"行为。同时传 `onOk + onSubmit` → `onSubmit` 优先调用,`onOk` 跳过(避免业务函数重复触发);
59
+ * 仅传 `onOk` → 旧行为不变(onOk 仍触发)。dev 环境若检测到只传 `onOk` 会 console.warn 1 次提示迁移。
60
+ */
61
+ onSubmit?: (e?: React.MouseEvent<HTMLElement>) => void | Promise<void>;
32
62
  /** 点击模态框右上角叉、取消按钮,return false 不关闭 */
33
63
  onCancel?: (e?: React.MouseEvent<HTMLElement>) => boolean | void;
64
+ /**
65
+ * @deprecated v5.x.next 改用 onDismiss(X/ESC/mask)+ onOk(确定)+ onCancel(取消)三回调职责互斥;v6.0 移除 onClose。详见 BREAKING-CHANGES §B-Modal-props-rework
66
+ *
67
+ * **(R6 §B3 阶段 1 引入)** 任意路径关闭都触发的统一回调,reason 区分关闭来源(`'cancel' | 'ok' | 'esc' | 'mask' | 'x'`)。
68
+ *
69
+ * 与 onCancel/onOk 共存(阶段 3 v6 移除单独 onCancel/onOk → BREAKING):
70
+ * - 取消按钮关闭 → 同时调 onCancel + onClose('cancel')
71
+ * - 确定按钮关闭 → 同时调 onOk + onClose('ok')
72
+ * - ESC 关闭 → 同时调 onCancel + onClose('esc')
73
+ * - 蒙层关闭 → 同时调 onCancel + onClose('mask')
74
+ * - X 按钮关闭 → 同时调 onCancel + onClose('x')
75
+ *
76
+ * 推荐写法 — 业务方在 onClose 里统一 setOpen(false) + reason 分支(埋点 / 重置 state 等),不再写双绑 `onCancel={fn} onOk={fn}` 兜底。
77
+ * 详见 BREAKING-CHANGES §B3 + discussions/Modal-unified-onClose.md
78
+ */
79
+ onClose?: (reason: ModalCloseReason) => void;
80
+ /**
81
+ * **(v5.x.next γ 方案 议题 #1 引入)** 非按钮关闭路径(X / ESC / 蒙层)的专用回调。
82
+ * 职责显式互斥:
83
+ * - onOk = 仅确定按钮
84
+ * - onCancel = 仅取消按钮
85
+ * - onDismiss = 仅 X / ESC / mask 三种"非按钮关闭"
86
+ *
87
+ * 仅传 onDismiss(不传 onClose)→ 新单触发行为:3 个非按钮路径仅调 onDismiss,不双触发。
88
+ * 同时传 onClose(无论是否也传 onDismiss)→ 旧兼容行为:维持 R6 双触发(onCancel + onClose)。
89
+ * 迁移时推荐:删 onClose,改用 onDismiss(理由见 discussions/Modal-props-rework.md §3.1)。
90
+ * 详见 BREAKING-CHANGES §B-Modal-props-rework。
91
+ */
92
+ onDismiss?: (reason: ModalDismissReason) => void;
34
93
  afterClose?: () => void;
35
94
  /** 大小 */
36
95
  size?: ModalSize;
@@ -40,13 +99,20 @@ export interface ModalProps {
40
99
  width?: string | number;
41
100
  /** 确认按钮文字 */
42
101
  okText?: ReactNode;
43
- /** 确认按钮类型 */
44
- okType?: string;
45
102
  /** 取消按钮文字 */
46
103
  cancelText?: ReactNode;
47
104
  /** 点击蒙层是否允许关闭 */
48
105
  maskClosable?: boolean;
106
+ /**
107
+ * @deprecated v5.x.next 改用 `closeOnBackdrop`(正向命名,业界对齐 antd `maskClosable` / chakra `closeOnOverlayClick`);v6 移除。
108
+ * 默认 `true`(即默认禁用蒙层关闭),与多数 Modal 库默认开放的直觉相反。详见 BREAKING-CHANGES §B6。
109
+ */
49
110
  disableBackdropClick?: boolean;
111
+ /**
112
+ * **(R6 §B6 阶段 1 引入)** 是否允许蒙层点击关闭(正向命名,业界对齐)。显式传值优先 — 未传时 fallback 旧 `disableBackdropClick`(默认 true 即禁用)。
113
+ * 阶段 3 v6 移除 `disableBackdropClick` 后默认 `true`(允许蒙层关闭)。详见 BREAKING-CHANGES §B6
114
+ */
115
+ closeOnBackdrop?: boolean;
50
116
  /** 强制渲染 Modal */
51
117
  forceRender?: boolean;
52
118
  /** 确定按钮属性 */
@@ -73,7 +139,21 @@ export interface ModalProps {
73
139
  mask?: boolean;
74
140
  /** 是否支持键盘esc关闭 */
75
141
  keyboard?: boolean;
142
+ /**
143
+ * @deprecated v5.x.next 改用 `closeOnEsc`(正向命名,业界对齐 antd `keyboard` / chakra `closeOnEsc`);v6 移除。
144
+ * 默认 `true`(即默认禁用 ESC 关闭),与多数 Modal 库默认开放的直觉相反。详见 BREAKING-CHANGES §B6。
145
+ */
76
146
  disableEscapeKeyDown?: boolean;
147
+ /**
148
+ * **(R6 §B6 阶段 1 引入)** 是否允许 Escape 键关闭(正向命名,业界对齐)。显式传值优先 — 未传时 fallback 旧 `disableEscapeKeyDown`(默认 true 即禁用)。
149
+ * 阶段 3 v6 移除 `disableEscapeKeyDown` 后默认 `true`(允许 ESC 关闭)。详见 BREAKING-CHANGES §B6
150
+ */
151
+ closeOnEsc?: boolean;
152
+ /**
153
+ * **(R6 §B6 阶段 1 引入)** 关闭后是否将焦点恢复到原触发元素(正向命名,业界对齐 mui `restoreFocus`)。等价 `focusTriggerAfterClose` 的正向 alias — 显式传值优先,未传时 fallback `focusTriggerAfterClose`(默认 true)。
154
+ * 注:`disableEnforceFocus` 仅 component.json/api.ts 文档层警示词,src 实际控制由 `focusTriggerAfterClose` 反向承担;v6 路径只保留 `restoreFocusOnClose`。详见 BREAKING-CHANGES §B6
155
+ */
156
+ restoreFocusOnClose?: boolean;
77
157
  /** 右上角关闭图标 */
78
158
  closeIcon?: ReactNode;
79
159
  /** 自定义渲染对话框 */
@@ -90,7 +170,7 @@ export interface ModalProps {
90
170
  contentHeight?: number | string;
91
171
  /** 内容样式 */
92
172
  contentStyle?: React.CSSProperties;
93
- [name: string]: any;
173
+ [name: string]: unknown;
94
174
  }
95
175
  export declare const Modal: React.FC<ModalProps>;
96
176
  export { Confirm };
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const t=require("../_virtual/jsx-runtime.js"),p=require("react"),le=require("rc-dialog"),u=require("../Button/index.js"),ae=require("../node_modules/@para-ui/icons/Close/index.js"),ce=require("../GlobalContext/useFormatMessage.js"),ue=require("./lang/index.js"),me=require("./Confirm/index.js"),C=require("clsx"),k=require("../GlobalContext/constant.js"),de=require("../AutoTips/index.js");;/* empty css */let m;const xe=s=>{m={x:s.pageX,y:s.pageY},setTimeout(()=>{m=null},100)};window.document.documentElement&&document.documentElement.addEventListener("click",xe,!0);const $=s=>{const{open:y,visible:E=!1,closeIcon:b,centered:S=!0,focusTriggerAfterClose:R=!0,title:w,footer:q,showActions:z=!0,actions:N,header:d,hideHeader:B=!1,showCancel:M=!0,maskClosable:v=!1,disableBackdropClick:F=!0,keyboard:H=!1,disableEscapeKeyDown:T=!0,fullScreen:A,customizeSize:P,style:_,bodyStyle:I,contentWidth:O,contentHeight:x,contentStyle:f,size:o="md",children:D,closable:L=!0,mask:h=!0,...W}=s,K=A||o==="fullScreen",g=ce.default("Modal",ue.default),e=`${k.$prefixCls}-modal`,l=n=>{s.onCancel?.(n)},X=n=>{s.onOk?.(n)},Y=()=>{const n={sm:`${e}-sm`,md:`${e}-md`,lg:`${e}-lg`,auto:`${e}-auto`,fullScreen:`${e}-fullscreen`};if(!f)return K?n.fullScreen:n[o]},G=()=>!o||o==="fullScreen"||o==="auto"?void 0:{sm:{width:430,maxHeight:118},md:{width:486,maxHeight:478},lg:{width:948,maxHeight:478}}[o],J=()=>h?`${e}-with-mask`:`${e}-without-mask`,Q=()=>({...P,..._}),U=()=>{const{maxHeight:n,width:a}=G()||{};return{maxHeight:x||n||"calc(100vh - 142px)",width:O||a,height:x,...I,...f}},V=()=>{if(B)return null;if(d)return d;const n=L&&t.jsxRuntimeExports.jsx(u.Button.IconButton,{onClick:l,className:`${e}-close`,variant:"outlined",size:"small",children:b||t.jsxRuntimeExports.jsx(ae.Close,{className:`${e}-close-icon`})});return t.jsxRuntimeExports.jsxs(t.jsxRuntimeExports.Fragment,{children:[t.jsxRuntimeExports.jsx(de.default,{className:`${e}-title-text`,children:w}),n]})},Z=()=>{if(!z)return null;const{okText:n,cancelText:a,okButtonProps:ne,cancelButtonProps:se,confirmLoading:oe=!1}=s,re=t.jsxRuntimeExports.jsx(u.Button,{variant:"contained",size:"large",loading:oe,onClick:X,...ne,children:n??g({id:"ok"})}),j=[M&&t.jsxRuntimeExports.jsx(u.Button,{variant:"outlined",size:"large",onClick:l,...se,children:a??g({id:"cancel"})}),re],i=N??q;if(typeof i=="function"){const r=i(j);return t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{children:Array.isArray(r)?r.map((c,ie)=>t.jsxRuntimeExports.jsx(p.Fragment,{children:c},ie)):r})}else if(i)return i;return t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{children:j.map((r,c)=>t.jsxRuntimeExports.jsx(p.Fragment,{children:r},c))})},ee=C(s.wrapClassName,{[`${e}-centered`]:S}),te=C(s.className,`${k.$prefixCls}-scrollbar-small`,Y(),J());return t.jsxRuntimeExports.jsx(le,{...W,mask:h,visible:y??E,title:V(),footer:Z(),style:Q(),bodyStyle:U(),prefixCls:e,className:te,wrapClassName:ee,mousePosition:m,onClose:l,closable:!1,closeIcon:null,maskClosable:!F||v,keyboard:!T||H,focusTriggerAfterClose:R,transitionName:`${e}-zoom`,maskTransitionName:`${e}-fade`,children:D})};exports.Confirm=me.Confirm;exports.Modal=$;exports.default=$;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const o=require("../_virtual/jsx-runtime.js"),s=require("react"),ye=require("rc-dialog"),x=require("../Button/index.js"),Me=require("../node_modules/@para-ui/icons/Close/index.js"),$e=require("../GlobalContext/useFormatMessage.js"),Ae=require("./lang/index.js"),qe=require("./Confirm/index.js"),D=require("clsx"),H=require("../GlobalContext/constant.js"),ze=require("../AutoTips/index.js");;/* empty css */let C;const De=e=>{C={x:e.pageX,y:e.pageY},setTimeout(()=>{C=null},100)};window.document.documentElement&&document.documentElement.addEventListener("click",De,!0);const F=e=>{const{open:d,visible:f,defaultOpen:E,closeIcon:_,centered:G=!0,focusTriggerAfterClose:I=!0,title:T,footer:P,showActions:V=!0,actions:K,header:h,hideHeader:W=!1,showCancel:X=!0,maskClosable:L=!1,disableBackdropClick:Y=!0,closeOnBackdrop:k,keyboard:J=!1,disableEscapeKeyDown:Q=!0,closeOnEsc:p,restoreFocusOnClose:v,fullScreen:U,customizeSize:Z,style:ee,bodyStyle:ne,contentWidth:te,contentHeight:g,contentStyle:N,size:r="md",children:oe,closable:se=!0,mask:R=!0,...le}=e,O=$e.default("Modal",Ae.default),S=e.onClose!==void 0,j=s.useRef(!1);s.useEffect(()=>{process.env.NODE_ENV!=="production"&&S&&!j.current&&(j.current=!0,console.warn("[Modal] onClose 已在 v5.x.next 标记为 @deprecated,将在 v6.0 移除。请迁移到 onDismiss(处理 X/ESC/mask 关闭)+ onOk(确定按钮)+ onCancel(取消按钮)三回调模式。详见 BREAKING-CHANGES §B-Modal-props-rework。"))},[S]);const w=f!==void 0,b=s.useRef(!1);s.useEffect(()=>{process.env.NODE_ENV!=="production"&&w&&!b.current&&(b.current=!0,console.warn("[Modal] visible 已在 v5.x.next 标记为 @deprecated,将在 v6.0 移除。请改用 open prop。详见 BREAKING-CHANGES §B-Modal-props-rework 子条 #3-A"))},[w]);const B=e.onOk!==void 0,y=e.onSubmit!==void 0,M=s.useRef(!1);s.useEffect(()=>{process.env.NODE_ENV!=="production"&&B&&!y&&!M.current&&(M.current=!0,console.warn("[Modal] onOk 已在 v5.x.next 标记为 @deprecated,将在 v6.0 移除。请改用 onSubmit prop(语义更清晰)。详见 BREAKING-CHANGES §B-Modal-props-rework"))},[B,y]);const l=d!==void 0||f!==void 0,[re,a]=s.useState(E??!1),ie=l?d??f??!1:re,$=E!==void 0,A=d!==void 0;s.useEffect(()=>{process.env.NODE_ENV!=="production"&&A&&$&&console.warn("[Modal] 同时传 open + defaultOpen,defaultOpen 被忽略(open 优先,受控模式)。详见 BREAKING-CHANGES §B-Modal-props-rework 子条 #2")},[A,$]);const q=s.useRef(l);s.useEffect(()=>{q.current!==l&&(process.env.NODE_ENV!=="production"&&console.warn("[Modal] open 受控/非受控状态运行时切换,React 不支持此模式,请保持一致。"),q.current=l)},[l]);const ce=U||r==="fullScreen",t=`${H.$prefixCls}-modal`,ae=p!==void 0?p:!Q,ue=k!==void 0?k:!Y,de=v!==void 0?v:I,fe=n=>{e.onCancel?.(n),e.onClose?.("cancel"),l||a(!1)},me=n=>{e.onClose!==void 0?(e.onCancel?.(n),e.onClose("x")):e.onDismiss?.("x"),l||a(!1)},xe=n=>{const i=n&&n.type==="keydown"?"esc":"mask";e.onClose!==void 0?(e.onCancel?.(n),e.onClose(i)):e.onDismiss?.(i),l||a(!1)},Ce=n=>{e.onSubmit?e.onSubmit(n):e.onOk?.(n),e.onClose?.("ok"),l||a(!1)},Ee=()=>{const n={sm:`${t}-sm`,md:`${t}-md`,lg:`${t}-lg`,auto:`${t}-auto`,fullScreen:`${t}-fullscreen`};if(!N)return ce?n.fullScreen:n[r]},he=()=>!r||r==="fullScreen"||r==="auto"?void 0:{sm:{width:430,maxHeight:118},md:{width:486,maxHeight:478},lg:{width:948,maxHeight:478}}[r],ke=()=>R?`${t}-with-mask`:`${t}-without-mask`,pe=()=>({...Z,...ee}),ve=()=>{const{maxHeight:n,width:i}=he()||{};return{maxHeight:g||n||"calc(100vh - 142px)",width:te||i,height:g,...ne,...N}},ge=()=>{if(W)return null;if(h)return h;const n=se&&o.jsxRuntimeExports.jsx(x.Button.IconButton,{onClick:me,className:`${t}-close`,variant:"outlined",size:"small",children:_||o.jsxRuntimeExports.jsx(Me.Close,{className:`${t}-close-icon`})});return o.jsxRuntimeExports.jsxs(o.jsxRuntimeExports.Fragment,{children:[o.jsxRuntimeExports.jsx(ze.default,{className:`${t}-title-text`,children:T}),n]})},Ne=()=>{if(!V)return null;const{okText:n,cancelText:i,okButtonProps:Se,cancelButtonProps:je,confirmLoading:we=!1}=e,be=o.jsxRuntimeExports.jsx(x.Button,{variant:"contained",size:"large",loading:we,onClick:Ce,...Se,children:n??O({id:"ok"})}),z=[X&&o.jsxRuntimeExports.jsx(x.Button,{variant:"outlined",size:"large",onClick:fe,...je,children:i??O({id:"cancel"})}),be],u=K??P;if(typeof u=="function"){const c=u(z);return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:Array.isArray(c)?c.map((m,Be)=>o.jsxRuntimeExports.jsx(s.Fragment,{children:m},Be)):c})}else if(u)return u;return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:z.map((c,m)=>o.jsxRuntimeExports.jsx(s.Fragment,{children:c},m))})},Re=D(e.wrapClassName,{[`${t}-centered`]:G}),Oe=D(e.className,`${H.$prefixCls}-scrollbar-small`,Ee(),ke());return o.jsxRuntimeExports.jsx(ye,{...le,mask:R,visible:ie,title:ge(),footer:Ne(),style:pe(),bodyStyle:ve(),prefixCls:t,className:Oe,wrapClassName:Re,mousePosition:C,onClose:xe,closable:!1,closeIcon:null,maskClosable:ue||L,keyboard:ae||J,focusTriggerAfterClose:de,transitionName:`${t}-zoom`,maskTransitionName:`${t}-fade`,children:oe})};exports.Confirm=qe.Confirm;exports.Modal=F;exports.default=F;
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ export type ModalDismissReason = 'esc' | 'mask' | 'x';