@para-ui/core 5.0.0-beta.11 → 5.0.0-beta.13

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 (650) 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/FieldForm/component.json +196 -0
  36. package/Form/component.json +161 -0
  37. package/FormItem/component.json +171 -0
  38. package/FunctionModal/component.json +197 -0
  39. package/Help/component.json +118 -0
  40. package/HelperText/component.json +126 -0
  41. package/Image/component.json +165 -0
  42. package/InputCode/component.json +191 -0
  43. package/InputLang/component.json +205 -0
  44. package/InputNumber/component.json +162 -0
  45. package/Label/component.json +126 -0
  46. package/Loading/component.json +91 -0
  47. package/Menu/component.json +180 -0
  48. package/Message/component.json +246 -0
  49. package/Modal/component.json +277 -0
  50. package/MultiBox/component.json +216 -0
  51. package/Notification/component.json +184 -0
  52. package/OperateBtn/component.json +134 -0
  53. package/PageHeader/component.json +112 -0
  54. package/Pagination/component.json +181 -0
  55. package/PasswordRules/component.json +105 -0
  56. package/PopConfirm/component.json +227 -0
  57. package/PopMenu/component.json +131 -0
  58. package/Popover/component.json +165 -0
  59. package/Progress/component.json +161 -0
  60. package/Prompt/component.json +144 -0
  61. package/Querying/component.json +96 -0
  62. package/QuickReply/component.json +129 -0
  63. package/Radio/component.json +136 -0
  64. package/RadioGroup/component.json +149 -0
  65. package/RangeInput/component.json +198 -0
  66. package/Result/component.json +104 -0
  67. package/ScrollBar/component.json +115 -0
  68. package/Search/component.json +177 -0
  69. package/Select/component.json +244 -0
  70. package/SelectInput/component.json +184 -0
  71. package/Selector/component.json +203 -0
  72. package/SelectorPicker/component.json +179 -0
  73. package/SingleBox/component.json +151 -0
  74. package/Slider/component.json +181 -0
  75. package/SortBox/component.json +108 -0
  76. package/Status/component.json +104 -0
  77. package/Stepper/component.json +129 -0
  78. package/Switch/component.json +207 -0
  79. package/Table/component.json +547 -0
  80. package/Tabs/component.json +227 -0
  81. package/Tag/component.json +221 -0
  82. package/TextEditor/component.json +186 -0
  83. package/TextField/component.json +290 -0
  84. package/TimePicker/component.json +176 -0
  85. package/Timeline/component.json +110 -0
  86. package/Title/component.json +156 -0
  87. package/ToggleButton/component.json +153 -0
  88. package/Tooltip/component.json +176 -0
  89. package/Transfer/component.json +157 -0
  90. package/Tree/component.json +512 -0
  91. package/Upload/component.json +450 -0
  92. package/ai-workflows/01-crud-list-multi-drawer.md +278 -0
  93. package/ai-workflows/02-rbac-operation-buttons.md +290 -0
  94. package/ai-workflows/03-complex-form-async-cascade.md +350 -0
  95. package/ai-workflows/04-array-field-form.md +281 -0
  96. package/ai-workflows/05-popconfirm-async-message-queue.md +333 -0
  97. package/ai-workflows/06-modal-drawer-form-workflow.md +385 -0
  98. package/ai-workflows/07-search-filter-table-trio.md +387 -0
  99. package/ai-workflows/08-table-advanced-features.md +365 -0
  100. package/ai-workflows/09-batch-operation-export-progress.md +367 -0
  101. package/ai-workflows/10-cross-component-state-coordination.md +412 -0
  102. package/es/AlignBox/component.json +89 -0
  103. package/es/AlignBox/index.css +1 -1
  104. package/es/AlignBox/index.d.ts +6 -2
  105. package/es/AlignBox/index.js +1 -1
  106. package/es/AlignBox/style/index.css +1 -1
  107. package/es/Anchor/anchorMenu/index.d.ts +2 -1
  108. package/es/Anchor/anchorMenu/index.js +36 -33
  109. package/es/Anchor/component.json +130 -0
  110. package/es/Anchor/index.js +52 -49
  111. package/es/Anchor/type.d.ts +8 -4
  112. package/es/Argv/component.json +216 -0
  113. package/es/Argv/dataGenerator/index.js +1 -1
  114. package/es/Argv/index.d.ts +5 -6
  115. package/es/Argv/index.js +1 -1
  116. package/es/AutoBox/component.json +133 -0
  117. package/es/AutoBox/index.d.ts +3 -3
  118. package/es/AutoBox/index.js +1 -1
  119. package/es/AutoBox/protal.d.ts +2 -2
  120. package/es/AutoBox/protal.js +33 -30
  121. package/es/AutoButton/component.json +109 -0
  122. package/es/AutoButton/index.js +1 -1
  123. package/es/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  124. package/es/AutoTips/autoTipsMultiline/index.js +1 -1
  125. package/es/AutoTips/component.json +121 -0
  126. package/es/AutoTips/index.js +1 -1
  127. package/es/Badge/component.json +92 -0
  128. package/es/Breadcrumbs/component.json +142 -0
  129. package/es/Breadcrumbs/index.js +1 -1
  130. package/es/Button/SplitButton.d.ts +2 -2
  131. package/es/Button/component.json +168 -0
  132. package/es/Button/index.js +44 -44
  133. package/es/ButtonGroup/component.json +132 -0
  134. package/es/ButtonGroup/index.d.ts +1 -1
  135. package/es/Card/component.json +162 -0
  136. package/es/Card/index.d.ts +2 -2
  137. package/es/Card/index.js +2 -2
  138. package/es/Carousel/component.json +142 -0
  139. package/es/Carousel/index.d.ts +1 -1
  140. package/es/Cascader/Cascader.js +1 -1
  141. package/es/Cascader/OptionList/Column.js +1 -1
  142. package/es/Cascader/OptionList/index.js +1 -1
  143. package/es/Cascader/component.json +196 -0
  144. package/es/Cascader/hooks/useEntities.js +7 -7
  145. package/es/Cascader/interface.d.ts +1 -0
  146. package/es/Cascader/utils/commonUtil.d.ts +1 -1
  147. package/es/Cascader/utils/commonUtil.js +16 -16
  148. package/es/Cascader/utils/treeUtil.d.ts +14 -5
  149. package/es/Cascader/utils/treeUtil.js +1 -1
  150. package/es/Checkbox/component.json +138 -0
  151. package/es/CheckboxGroup/component.json +152 -0
  152. package/es/CheckboxGroup/index.js +1 -1
  153. package/es/CodeEditor/component.json +189 -0
  154. package/es/CodeEditor/index.d.ts +11 -10
  155. package/es/CodeEditor/index.js +19 -19
  156. package/es/Collapse/component.json +166 -0
  157. package/es/Collapse/index.d.ts +1 -1
  158. package/es/Collapse/index.js +23 -22
  159. package/es/CollapseBox/component.json +84 -0
  160. package/es/CollapseLayout/component.json +155 -0
  161. package/es/ColorPicker/component.json +142 -0
  162. package/es/ComboSelect/component.json +181 -0
  163. package/es/ComboSelect/index.js +115 -109
  164. package/es/ComboSelect/interface.d.ts +2 -2
  165. package/es/ComboSelect/utils.d.ts +3 -3
  166. package/es/ComboSelect/utils.js +1 -1
  167. package/es/Container/component.json +111 -0
  168. package/es/ContentBox/component.json +81 -0
  169. package/es/CopyText/component.json +118 -0
  170. package/es/CycleSelector/component.json +98 -0
  171. package/es/CycleSelector/index.js +14 -13
  172. package/es/DatePicker/component.json +192 -0
  173. package/es/DatePicker/generatePicker/generateRangePicker.js +11 -11
  174. package/es/DatePicker/generatePicker/generateSinglePicker.js +2 -2
  175. package/es/Descriptions/component.json +142 -0
  176. package/es/Descriptions/index.d.ts +1 -1
  177. package/es/Desktop/component.json +171 -0
  178. package/es/Desktop/index.js +1 -1
  179. package/es/DragVerify/component.json +114 -0
  180. package/es/DragVerify/index.js +19 -19
  181. package/es/Drawer/component.json +200 -0
  182. package/es/Drawer/index.js +86 -86
  183. package/es/Drawer/interface.d.ts +1 -1
  184. package/es/Drawer/util.d.ts +1 -6
  185. package/es/Drawer/util.js +9 -6
  186. package/es/Dropdown/component.json +147 -0
  187. package/es/Dropdown/index.js +1 -1
  188. package/es/DynamicMultiBox/component.json +278 -0
  189. package/es/DynamicMultiBox/formItem.d.ts +1 -1
  190. package/es/DynamicMultiBox/index.js +1 -1
  191. package/es/DynamicMultiBox/rowForm.d.ts +2 -2
  192. package/es/Empty/component.json +123 -0
  193. package/es/Empty/index.css +1 -1
  194. package/es/Empty/index.d.ts +2 -2
  195. package/es/Empty/index.js +27 -26
  196. package/es/Empty/style/index.css +1 -1
  197. package/es/FieldForm/FieldFormItem/ItemHolder.js +1 -1
  198. package/es/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  199. package/es/FieldForm/FieldFormItem/StatusProvider.js +1 -1
  200. package/es/FieldForm/FieldFormItem/index.d.ts +6 -6
  201. package/es/FieldForm/Form.d.ts +2 -2
  202. package/es/FieldForm/Form.js +1 -1
  203. package/es/FieldForm/FormItemInput.js +1 -1
  204. package/es/FieldForm/FormItemLabel.js +1 -1
  205. package/es/FieldForm/FormList.d.ts +2 -2
  206. package/es/FieldForm/component.json +196 -0
  207. package/es/FieldForm/context.d.ts +5 -1
  208. package/es/FieldForm/context.js +2 -2
  209. package/es/FieldForm/hooks/useForm.d.ts +4 -3
  210. package/es/FieldForm/hooks/useFormInstance.d.ts +1 -1
  211. package/es/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  212. package/es/FieldForm/hooks/useFormItemStatus.js +2 -2
  213. package/es/FieldForm/hooks/useItemRef.d.ts +1 -1
  214. package/es/FieldForm/hooks/useItemRef.js +6 -6
  215. package/es/Form/component.json +161 -0
  216. package/es/Form/index.d.ts +52 -49
  217. package/es/Form/index.js +1 -1
  218. package/es/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  219. package/es/FormItem/compoments/defaultCompoments/index.js +12 -11
  220. package/es/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  221. package/es/FormItem/compoments/formFile/index.js +8 -8
  222. package/es/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  223. package/es/FormItem/compoments/formSelect/index.d.ts +1 -1
  224. package/es/FormItem/component.json +171 -0
  225. package/es/FormItem/index.d.ts +5 -5
  226. package/es/FormItem/index.js +23 -23
  227. package/es/FormItem/itemType.js +1 -1
  228. package/es/FunctionModal/component.json +197 -0
  229. package/es/FunctionModal/dialog.d.ts +1 -1
  230. package/es/FunctionModal/modalContext.d.ts +4 -1
  231. package/es/GlobalContext/confirmLocale.js +1 -1
  232. package/es/GlobalContext/index.js +1 -1
  233. package/es/Help/component.json +118 -0
  234. package/es/HelperText/component.json +126 -0
  235. package/es/Image/PreviewGroup.js +1 -1
  236. package/es/Image/component.json +165 -0
  237. package/es/Image/index.js +1 -1
  238. package/es/InputCode/component.json +191 -0
  239. package/es/InputCode/index.d.ts +2 -2
  240. package/es/InputLang/component.json +205 -0
  241. package/es/InputLang/index.js +2 -2
  242. package/es/InputNumber/component.json +162 -0
  243. package/es/Label/component.json +126 -0
  244. package/es/Label/index.d.ts +2 -2
  245. package/es/Loading/component.json +91 -0
  246. package/es/Menu/component.json +180 -0
  247. package/es/Menu/verticalMenuList.js +1 -1
  248. package/es/Message/component.json +246 -0
  249. package/es/Message/index.d.ts +2 -2
  250. package/es/Message/index.js +2 -2
  251. package/es/Modal/Confirm/index.d.ts +1 -1
  252. package/es/Modal/Confirm/index.js +1 -1
  253. package/es/Modal/component.json +277 -0
  254. package/es/Modal/index.d.ts +85 -5
  255. package/es/Modal/index.js +159 -122
  256. package/es/Modal/interface.d.ts +1 -0
  257. package/es/MultiBox/component.json +216 -0
  258. package/es/MultiBox/index.js +19 -14
  259. package/es/Notification/component.json +184 -0
  260. package/es/OperateBtn/component.json +134 -0
  261. package/es/OperateBtn/index.d.ts +3 -3
  262. package/es/PageHeader/component.json +112 -0
  263. package/es/PageHeader/horizontalMeun.js +1 -1
  264. package/es/PageHeader/horizontalMeunRight.js +1 -1
  265. package/es/Pagination/component.json +181 -0
  266. package/es/Pagination/index.js +15 -15
  267. package/es/ParauiProvider/index.js +1 -1
  268. package/es/PasswordRules/component.json +105 -0
  269. package/es/PasswordRules/index.d.ts +4 -4
  270. package/es/PopConfirm/component.json +227 -0
  271. package/es/PopConfirm/index.d.ts +1 -1
  272. package/es/PopConfirm/index.js +1 -1
  273. package/es/PopMenu/component.json +131 -0
  274. package/es/PopMenu/hooks.d.ts +1 -1
  275. package/es/PopMenu/index.js +8 -8
  276. package/es/Popover/component.json +165 -0
  277. package/es/Popover/index.js +1 -1
  278. package/es/Progress/component.json +161 -0
  279. package/es/Prompt/component.json +144 -0
  280. package/es/Querying/component.json +96 -0
  281. package/es/Querying/index.css +1 -1
  282. package/es/Querying/index.d.ts +2 -2
  283. package/es/Querying/index.js +20 -19
  284. package/es/Querying/style/index.css +1 -1
  285. package/es/QuickReply/QuickReplyCode/index.js +1 -1
  286. package/es/QuickReply/component.json +129 -0
  287. package/es/QuickReply/index.d.ts +1 -1
  288. package/es/Radio/component.json +136 -0
  289. package/es/RadioGroup/component.json +149 -0
  290. package/es/RangeInput/component.json +198 -0
  291. package/es/RangeInput/index.js +20 -20
  292. package/es/Result/component.json +104 -0
  293. package/es/ScrollBar/component.json +115 -0
  294. package/es/Search/component.json +177 -0
  295. package/es/Search/index.d.ts +1 -1
  296. package/es/Select/component.json +244 -0
  297. package/es/Select/index.js +114 -114
  298. package/es/SelectInput/component.json +184 -0
  299. package/es/Selector/component.json +203 -0
  300. package/es/Selector/index.js +56 -50
  301. package/es/Selector/interface.d.ts +2 -2
  302. package/es/Selector/selectorData/index.js +1 -1
  303. package/es/Selector/selectorMain/index.js +3 -3
  304. package/es/Selector/selectorNode/index.js +1 -1
  305. package/es/Selector/util.d.ts +3 -3
  306. package/es/Selector/util.js +6 -12
  307. package/es/SelectorPicker/component.json +179 -0
  308. package/es/SelectorPicker/index.d.ts +5 -5
  309. package/es/SelectorPicker/index.js +15 -15
  310. package/es/SingleBox/component.json +151 -0
  311. package/es/SingleBox/index.d.ts +2 -2
  312. package/es/Slider/component.json +181 -0
  313. package/es/SortBox/component.json +108 -0
  314. package/es/Status/component.json +104 -0
  315. package/es/Stepper/component.json +129 -0
  316. package/es/Stepper/index.d.ts +2 -2
  317. package/es/Switch/component.json +207 -0
  318. package/es/Switch/index.css +1 -1
  319. package/es/Switch/index.d.ts +3 -2
  320. package/es/Switch/index.js +60 -59
  321. package/es/Switch/style/index.css +1 -1
  322. package/es/Table/component.json +547 -0
  323. package/es/Table/index.d.ts +2 -2
  324. package/es/Table/index.js +385 -382
  325. package/es/Table/interface.d.ts +30 -0
  326. package/es/Table/tableHead.js +1 -1
  327. package/es/Table/util.d.ts +1 -1
  328. package/es/Table/util.js +3 -12
  329. package/es/Tabs/component.json +227 -0
  330. package/es/Tag/component.json +221 -0
  331. package/es/Tag/index.css +1 -1
  332. package/es/Tag/index.d.ts +1 -1
  333. package/es/Tag/index.js +20 -20
  334. package/es/Tag/style/index.css +1 -1
  335. package/es/TextEditor/component.json +186 -0
  336. package/es/TextEditor/index.d.ts +5 -5
  337. package/es/TextEditor/index.js +1 -1
  338. package/es/TextField/component.json +290 -0
  339. package/es/TextField/index.d.ts +2 -2
  340. package/es/TextField/index.js +1 -1
  341. package/es/TimePicker/component.json +176 -0
  342. package/es/Timeline/component.json +110 -0
  343. package/es/Title/component.json +156 -0
  344. package/es/ToggleButton/component.json +153 -0
  345. package/es/ToggleButton/index.js +1 -1
  346. package/es/Tooltip/component.json +176 -0
  347. package/es/Tooltip/index.js +58 -53
  348. package/es/Tooltip/interface.d.ts +14 -1
  349. package/es/Tooltip/utils.js +6 -6
  350. package/es/Transfer/component.json +157 -0
  351. package/es/Tree/OperateBar/index.js +1 -1
  352. package/es/Tree/Tree.js +3 -3
  353. package/es/Tree/component.json +512 -0
  354. package/es/Tree/interface.d.ts +1 -1
  355. package/es/Upload/component.json +450 -0
  356. package/es/Upload/util.js +1 -1
  357. package/es/Utils/snack-kit-shims.d.ts +18 -0
  358. package/es/Utils/snack-kit-shims.js +19 -0
  359. package/es/Utils/type.d.ts +0 -2
  360. package/es/_virtual/index.js +5 -3
  361. package/es/_virtual/index2.js +2 -5
  362. package/es/index.d.ts +2 -0
  363. package/es/index.js +1 -1
  364. package/es/locale/en_US.d.ts +361 -0
  365. package/es/locale/en_US.js +364 -0
  366. package/es/locale/index.d.ts +1 -723
  367. package/es/locale/index2.js +10 -0
  368. package/es/locale/zh_CN.d.ts +361 -0
  369. package/es/locale/zh_CN.js +364 -0
  370. package/es/node_modules/classnames/index.js +1 -1
  371. package/lib/AlignBox/component.json +89 -0
  372. package/lib/AlignBox/index.css +1 -1
  373. package/lib/AlignBox/index.d.ts +6 -2
  374. package/lib/AlignBox/index.js +1 -1
  375. package/lib/AlignBox/style/index.css +1 -1
  376. package/lib/Anchor/anchorMenu/index.d.ts +2 -1
  377. package/lib/Anchor/anchorMenu/index.js +1 -1
  378. package/lib/Anchor/component.json +130 -0
  379. package/lib/Anchor/index.js +1 -1
  380. package/lib/Anchor/type.d.ts +8 -4
  381. package/lib/Argv/component.json +216 -0
  382. package/lib/Argv/dataGenerator/index.js +1 -1
  383. package/lib/Argv/index.d.ts +5 -6
  384. package/lib/Argv/index.js +1 -1
  385. package/lib/AutoBox/component.json +133 -0
  386. package/lib/AutoBox/index.d.ts +3 -3
  387. package/lib/AutoBox/index.js +1 -1
  388. package/lib/AutoBox/protal.d.ts +2 -2
  389. package/lib/AutoBox/protal.js +1 -1
  390. package/lib/AutoButton/component.json +109 -0
  391. package/lib/AutoButton/index.js +1 -1
  392. package/lib/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  393. package/lib/AutoTips/autoTipsMultiline/index.js +1 -1
  394. package/lib/AutoTips/component.json +121 -0
  395. package/lib/AutoTips/index.js +1 -1
  396. package/lib/Badge/component.json +92 -0
  397. package/lib/Breadcrumbs/component.json +142 -0
  398. package/lib/Breadcrumbs/index.js +1 -1
  399. package/lib/Button/SplitButton.d.ts +2 -2
  400. package/lib/Button/component.json +168 -0
  401. package/lib/Button/index.js +1 -1
  402. package/lib/ButtonGroup/component.json +132 -0
  403. package/lib/ButtonGroup/index.d.ts +1 -1
  404. package/lib/Card/component.json +162 -0
  405. package/lib/Card/index.d.ts +2 -2
  406. package/lib/Card/index.js +1 -1
  407. package/lib/Carousel/component.json +142 -0
  408. package/lib/Carousel/index.d.ts +1 -1
  409. package/lib/Cascader/Cascader.js +1 -1
  410. package/lib/Cascader/OptionList/Column.js +1 -1
  411. package/lib/Cascader/OptionList/index.js +1 -1
  412. package/lib/Cascader/component.json +196 -0
  413. package/lib/Cascader/hooks/useEntities.js +1 -1
  414. package/lib/Cascader/interface.d.ts +1 -0
  415. package/lib/Cascader/utils/commonUtil.d.ts +1 -1
  416. package/lib/Cascader/utils/commonUtil.js +1 -1
  417. package/lib/Cascader/utils/treeUtil.d.ts +14 -5
  418. package/lib/Cascader/utils/treeUtil.js +1 -1
  419. package/lib/Checkbox/component.json +138 -0
  420. package/lib/CheckboxGroup/component.json +152 -0
  421. package/lib/CheckboxGroup/index.js +1 -1
  422. package/lib/CodeEditor/component.json +189 -0
  423. package/lib/CodeEditor/index.d.ts +11 -10
  424. package/lib/CodeEditor/index.js +1 -1
  425. package/lib/Collapse/component.json +166 -0
  426. package/lib/Collapse/index.d.ts +1 -1
  427. package/lib/Collapse/index.js +1 -1
  428. package/lib/CollapseBox/component.json +84 -0
  429. package/lib/CollapseLayout/component.json +155 -0
  430. package/lib/ColorPicker/component.json +142 -0
  431. package/lib/ComboSelect/component.json +181 -0
  432. package/lib/ComboSelect/index.js +1 -1
  433. package/lib/ComboSelect/interface.d.ts +2 -2
  434. package/lib/ComboSelect/utils.d.ts +3 -3
  435. package/lib/ComboSelect/utils.js +1 -1
  436. package/lib/Container/component.json +111 -0
  437. package/lib/ContentBox/component.json +81 -0
  438. package/lib/CopyText/component.json +118 -0
  439. package/lib/CycleSelector/component.json +98 -0
  440. package/lib/CycleSelector/index.js +1 -1
  441. package/lib/DatePicker/component.json +192 -0
  442. package/lib/DatePicker/generatePicker/generateRangePicker.js +1 -1
  443. package/lib/DatePicker/generatePicker/generateSinglePicker.js +1 -1
  444. package/lib/Descriptions/component.json +142 -0
  445. package/lib/Descriptions/index.d.ts +1 -1
  446. package/lib/Desktop/component.json +171 -0
  447. package/lib/Desktop/index.js +1 -1
  448. package/lib/DragVerify/component.json +114 -0
  449. package/lib/DragVerify/index.js +1 -1
  450. package/lib/Drawer/component.json +200 -0
  451. package/lib/Drawer/index.js +1 -1
  452. package/lib/Drawer/interface.d.ts +1 -1
  453. package/lib/Drawer/util.d.ts +1 -6
  454. package/lib/Drawer/util.js +1 -1
  455. package/lib/Dropdown/component.json +147 -0
  456. package/lib/Dropdown/index.js +1 -1
  457. package/lib/DynamicMultiBox/component.json +278 -0
  458. package/lib/DynamicMultiBox/formItem.d.ts +1 -1
  459. package/lib/DynamicMultiBox/index.js +1 -1
  460. package/lib/DynamicMultiBox/rowForm.d.ts +2 -2
  461. package/lib/Empty/component.json +123 -0
  462. package/lib/Empty/index.css +1 -1
  463. package/lib/Empty/index.d.ts +2 -2
  464. package/lib/Empty/index.js +1 -1
  465. package/lib/Empty/style/index.css +1 -1
  466. package/lib/FieldForm/FieldFormItem/ItemHolder.js +1 -1
  467. package/lib/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  468. package/lib/FieldForm/FieldFormItem/StatusProvider.js +1 -1
  469. package/lib/FieldForm/FieldFormItem/index.d.ts +6 -6
  470. package/lib/FieldForm/Form.d.ts +2 -2
  471. package/lib/FieldForm/Form.js +1 -1
  472. package/lib/FieldForm/FormItemInput.js +1 -1
  473. package/lib/FieldForm/FormItemLabel.js +1 -1
  474. package/lib/FieldForm/FormList.d.ts +2 -2
  475. package/lib/FieldForm/component.json +196 -0
  476. package/lib/FieldForm/context.d.ts +5 -1
  477. package/lib/FieldForm/context.js +1 -1
  478. package/lib/FieldForm/hooks/useForm.d.ts +4 -3
  479. package/lib/FieldForm/hooks/useFormInstance.d.ts +1 -1
  480. package/lib/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  481. package/lib/FieldForm/hooks/useFormItemStatus.js +1 -1
  482. package/lib/FieldForm/hooks/useItemRef.d.ts +1 -1
  483. package/lib/FieldForm/hooks/useItemRef.js +1 -1
  484. package/lib/Form/component.json +161 -0
  485. package/lib/Form/index.d.ts +52 -49
  486. package/lib/Form/index.js +1 -1
  487. package/lib/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  488. package/lib/FormItem/compoments/defaultCompoments/index.js +1 -1
  489. package/lib/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  490. package/lib/FormItem/compoments/formFile/index.js +1 -1
  491. package/lib/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  492. package/lib/FormItem/compoments/formSelect/index.d.ts +1 -1
  493. package/lib/FormItem/component.json +171 -0
  494. package/lib/FormItem/index.d.ts +5 -5
  495. package/lib/FormItem/index.js +1 -1
  496. package/lib/FormItem/itemType.js +1 -1
  497. package/lib/FunctionModal/component.json +197 -0
  498. package/lib/FunctionModal/dialog.d.ts +1 -1
  499. package/lib/FunctionModal/modalContext.d.ts +4 -1
  500. package/lib/GlobalContext/confirmLocale.js +1 -1
  501. package/lib/GlobalContext/index.js +1 -1
  502. package/lib/Help/component.json +118 -0
  503. package/lib/HelperText/component.json +126 -0
  504. package/lib/Image/PreviewGroup.js +1 -1
  505. package/lib/Image/component.json +165 -0
  506. package/lib/Image/index.js +1 -1
  507. package/lib/InputCode/component.json +191 -0
  508. package/lib/InputCode/index.d.ts +2 -2
  509. package/lib/InputLang/component.json +205 -0
  510. package/lib/InputLang/index.js +1 -1
  511. package/lib/InputNumber/component.json +162 -0
  512. package/lib/Label/component.json +126 -0
  513. package/lib/Label/index.d.ts +2 -2
  514. package/lib/Loading/component.json +91 -0
  515. package/lib/Menu/component.json +180 -0
  516. package/lib/Menu/verticalMenuList.js +1 -1
  517. package/lib/Message/component.json +246 -0
  518. package/lib/Message/index.d.ts +2 -2
  519. package/lib/Message/index.js +1 -1
  520. package/lib/Modal/Confirm/index.d.ts +1 -1
  521. package/lib/Modal/Confirm/index.js +1 -1
  522. package/lib/Modal/component.json +277 -0
  523. package/lib/Modal/index.d.ts +85 -5
  524. package/lib/Modal/index.js +1 -1
  525. package/lib/Modal/interface.d.ts +1 -0
  526. package/lib/MultiBox/component.json +216 -0
  527. package/lib/MultiBox/index.js +1 -1
  528. package/lib/Notification/component.json +184 -0
  529. package/lib/OperateBtn/component.json +134 -0
  530. package/lib/OperateBtn/index.d.ts +3 -3
  531. package/lib/PageHeader/component.json +112 -0
  532. package/lib/PageHeader/horizontalMeun.js +1 -1
  533. package/lib/PageHeader/horizontalMeunRight.js +1 -1
  534. package/lib/Pagination/component.json +181 -0
  535. package/lib/Pagination/index.js +1 -1
  536. package/lib/ParauiProvider/index.js +1 -1
  537. package/lib/PasswordRules/component.json +105 -0
  538. package/lib/PasswordRules/index.d.ts +4 -4
  539. package/lib/PopConfirm/component.json +227 -0
  540. package/lib/PopConfirm/index.d.ts +1 -1
  541. package/lib/PopConfirm/index.js +1 -1
  542. package/lib/PopMenu/component.json +131 -0
  543. package/lib/PopMenu/hooks.d.ts +1 -1
  544. package/lib/PopMenu/index.js +1 -1
  545. package/lib/Popover/component.json +165 -0
  546. package/lib/Popover/index.js +1 -1
  547. package/lib/Progress/component.json +161 -0
  548. package/lib/Prompt/component.json +144 -0
  549. package/lib/Querying/component.json +96 -0
  550. package/lib/Querying/index.css +1 -1
  551. package/lib/Querying/index.d.ts +2 -2
  552. package/lib/Querying/index.js +1 -1
  553. package/lib/Querying/style/index.css +1 -1
  554. package/lib/QuickReply/QuickReplyCode/index.js +1 -1
  555. package/lib/QuickReply/component.json +129 -0
  556. package/lib/QuickReply/index.d.ts +1 -1
  557. package/lib/Radio/component.json +136 -0
  558. package/lib/RadioGroup/component.json +149 -0
  559. package/lib/RangeInput/component.json +198 -0
  560. package/lib/RangeInput/index.js +1 -1
  561. package/lib/Result/component.json +104 -0
  562. package/lib/ScrollBar/component.json +115 -0
  563. package/lib/Search/component.json +177 -0
  564. package/lib/Search/index.d.ts +1 -1
  565. package/lib/Select/component.json +244 -0
  566. package/lib/Select/index.js +1 -1
  567. package/lib/SelectInput/component.json +184 -0
  568. package/lib/Selector/component.json +203 -0
  569. package/lib/Selector/index.js +1 -1
  570. package/lib/Selector/interface.d.ts +2 -2
  571. package/lib/Selector/selectorData/index.js +1 -1
  572. package/lib/Selector/selectorMain/index.js +1 -1
  573. package/lib/Selector/selectorNode/index.js +1 -1
  574. package/lib/Selector/util.d.ts +3 -3
  575. package/lib/Selector/util.js +1 -1
  576. package/lib/SelectorPicker/component.json +179 -0
  577. package/lib/SelectorPicker/index.d.ts +5 -5
  578. package/lib/SelectorPicker/index.js +1 -1
  579. package/lib/SingleBox/component.json +151 -0
  580. package/lib/SingleBox/index.d.ts +2 -2
  581. package/lib/Slider/component.json +181 -0
  582. package/lib/SortBox/component.json +108 -0
  583. package/lib/Status/component.json +104 -0
  584. package/lib/Stepper/component.json +129 -0
  585. package/lib/Stepper/index.d.ts +2 -2
  586. package/lib/Switch/component.json +207 -0
  587. package/lib/Switch/index.css +1 -1
  588. package/lib/Switch/index.d.ts +3 -2
  589. package/lib/Switch/index.js +1 -1
  590. package/lib/Switch/style/index.css +1 -1
  591. package/lib/Table/component.json +547 -0
  592. package/lib/Table/index.d.ts +2 -2
  593. package/lib/Table/index.js +1 -1
  594. package/lib/Table/interface.d.ts +30 -0
  595. package/lib/Table/tableHead.js +1 -1
  596. package/lib/Table/util.d.ts +1 -1
  597. package/lib/Table/util.js +1 -1
  598. package/lib/Tabs/component.json +227 -0
  599. package/lib/Tag/component.json +221 -0
  600. package/lib/Tag/index.css +1 -1
  601. package/lib/Tag/index.d.ts +1 -1
  602. package/lib/Tag/index.js +1 -1
  603. package/lib/Tag/style/index.css +1 -1
  604. package/lib/TextEditor/component.json +186 -0
  605. package/lib/TextEditor/index.d.ts +5 -5
  606. package/lib/TextEditor/index.js +1 -1
  607. package/lib/TextField/component.json +290 -0
  608. package/lib/TextField/index.d.ts +2 -2
  609. package/lib/TextField/index.js +1 -1
  610. package/lib/TimePicker/component.json +176 -0
  611. package/lib/Timeline/component.json +110 -0
  612. package/lib/Title/component.json +156 -0
  613. package/lib/ToggleButton/component.json +153 -0
  614. package/lib/ToggleButton/index.js +1 -1
  615. package/lib/Tooltip/component.json +176 -0
  616. package/lib/Tooltip/index.js +1 -1
  617. package/lib/Tooltip/interface.d.ts +14 -1
  618. package/lib/Tooltip/utils.js +1 -1
  619. package/lib/Transfer/component.json +157 -0
  620. package/lib/Tree/OperateBar/index.js +2 -2
  621. package/lib/Tree/Tree.js +1 -1
  622. package/lib/Tree/component.json +512 -0
  623. package/lib/Tree/interface.d.ts +1 -1
  624. package/lib/Upload/component.json +450 -0
  625. package/lib/Upload/util.js +1 -1
  626. package/lib/Utils/snack-kit-shims.d.ts +18 -0
  627. package/lib/Utils/snack-kit-shims.js +2 -0
  628. package/lib/Utils/type.d.ts +0 -2
  629. package/lib/_virtual/index.js +1 -1
  630. package/lib/_virtual/index2.js +1 -1
  631. package/lib/index.d.ts +2 -0
  632. package/lib/index.js +1 -1
  633. package/lib/locale/en_US.d.ts +361 -0
  634. package/lib/locale/en_US.js +2 -0
  635. package/lib/locale/index.d.ts +1 -723
  636. package/lib/locale/index2.js +2 -0
  637. package/lib/locale/zh_CN.d.ts +361 -0
  638. package/lib/locale/zh_CN.js +2 -0
  639. package/lib/node_modules/classnames/index.js +1 -1
  640. package/package.json +11 -4
  641. package/es/_virtual/index3.js +0 -5
  642. package/es/_virtual/index4.js +0 -5
  643. package/es/node_modules/@para-snack/core/dist/index.js +0 -5231
  644. package/lib/_virtual/index3.js +0 -2
  645. package/lib/_virtual/index4.js +0 -2
  646. package/lib/node_modules/@para-snack/core/dist/index.js +0 -20
  647. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  648. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
  649. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  650. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
@@ -1,54 +1,57 @@
1
1
  import { j as e } from "../../_virtual/jsx-runtime.js";
2
- import { useEffect as k, useMemo as p, createElement as A } from "react";
2
+ import { useEffect as k, useMemo as u, createElement as A } from "react";
3
3
  import C from "clsx";
4
4
  import { Down as E } from "../../node_modules/@para-ui/icons/Down/index.js";
5
5
  import './index.css';/* empty css */
6
6
  import w from "../../AutoTips/index.js";
7
- const P = (a) => {
7
+ const y = (l) => {
8
8
  const {
9
- data: c,
10
- currentAnchorId: u,
11
- handleClick: l,
12
- level: o = 0,
13
- isTree: m = !1,
14
- anchorMap: i = {},
15
- setAnchorMap: j,
16
- customPrefixIcon: r,
17
- onlyOneLevel: v
18
- } = a, { id: d } = c, f = String(d) === String(u);
9
+ data: s,
10
+ currentAnchorId: j,
11
+ handleClick: m,
12
+ level: r = 0,
13
+ isTree: x = !1,
14
+ anchorMap: c = {},
15
+ setAnchorMap: v,
16
+ customPrefixIcon: i,
17
+ onlyOneLevel: f
18
+ } = l, { id: d } = s, a = String(d) === String(j);
19
19
  k(() => {
20
20
  }, []);
21
- const N = p(() => {
21
+ const N = u(() => {
22
22
  const n = [];
23
- for (let s = 0; s < o; s++)
23
+ for (let t = 0; t < r; t++)
24
24
  n.push(
25
25
  /* @__PURE__ */ e.jsx(
26
26
  "div",
27
27
  {
28
28
  className: "indent"
29
29
  },
30
- s
30
+ t
31
31
  )
32
32
  );
33
33
  return n;
34
- }, [o]), x = (n, s) => {
34
+ }, [r]), h = (n, t) => {
35
35
  n.stopPropagation();
36
- const t = i[s];
37
- t.expanded = !t.expanded, j?.({ ...i });
38
- }, M = p(() => {
39
- const { name: n, id: s } = c, t = c.children && c.children.length > 0, g = m ? t ? /* @__PURE__ */ e.jsx(
36
+ const o = c[t];
37
+ o.expanded = !o.expanded, v?.({ ...c });
38
+ }, M = u(() => {
39
+ const { name: n, id: t } = s, o = s.children && s.children.length > 0, g = x ? o ? /* @__PURE__ */ e.jsx(
40
40
  "div",
41
41
  {
42
42
  className: "btn-down",
43
- onClick: (h) => x(h, s),
43
+ onClick: (p) => h(p, t),
44
44
  children: /* @__PURE__ */ e.jsx("div", { className: "icon icon-down", children: /* @__PURE__ */ e.jsx(E, {}) })
45
45
  }
46
- ) : /* @__PURE__ */ e.jsx("div", { className: "icon mr-6" }) : r || /* @__PURE__ */ e.jsx(y, {});
46
+ ) : /* @__PURE__ */ e.jsx("div", { className: "icon mr-6" }) : i ? (
47
+ // R6 §6 类型放宽:函数形式按 isActive 返回不同 ReactNode(墨水点指示器等激活态联动);静态 ReactNode 直接渲染
48
+ typeof i == "function" ? i(s, a) : i
49
+ ) : /* @__PURE__ */ e.jsx(P, {});
47
50
  return /* @__PURE__ */ e.jsxs(
48
51
  "div",
49
52
  {
50
53
  className: "item-content",
51
- onClick: (h) => {
54
+ onClick: (p) => {
52
55
  },
53
56
  children: [
54
57
  g,
@@ -56,21 +59,21 @@ const P = (a) => {
56
59
  "div",
57
60
  {
58
61
  className: "title",
59
- onClick: () => l?.(s),
62
+ onClick: () => m?.(t),
60
63
  children: /* @__PURE__ */ e.jsx(w, { children: n || "" })
61
64
  }
62
65
  )
63
66
  ]
64
67
  }
65
68
  );
66
- }, [c, i, x, l, r, m]);
69
+ }, [s, c, h, m, i, x, a]);
67
70
  return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
68
71
  /* @__PURE__ */ e.jsxs(
69
72
  "div",
70
73
  {
71
74
  className: C("anchor-menu-item", {
72
- active: f,
73
- expanded: i?.[d]?.expanded
75
+ active: a,
76
+ expanded: c?.[d]?.expanded
74
77
  }),
75
78
  children: [
76
79
  N,
@@ -78,18 +81,18 @@ const P = (a) => {
78
81
  ]
79
82
  }
80
83
  ),
81
- c.children && i?.[d]?.expanded && !v && c.children.map((n) => /* @__PURE__ */ A(
82
- P,
84
+ s.children && c?.[d]?.expanded && !f && s.children.map((n) => /* @__PURE__ */ A(
85
+ y,
83
86
  {
84
- ...a,
87
+ ...l,
85
88
  data: n,
86
89
  key: n?.id,
87
- level: o + 1
90
+ level: r + 1
88
91
  }
89
92
  ))
90
93
  ] });
91
- }, y = () => /* @__PURE__ */ e.jsx("div", { className: "icon mr-6", children: /* @__PURE__ */ e.jsx("div", { className: "icon-point" }) });
94
+ }, P = () => /* @__PURE__ */ e.jsx("div", { className: "icon mr-6", children: /* @__PURE__ */ e.jsx("div", { className: "icon-point" }) });
92
95
  export {
93
- P as default
96
+ y as default
94
97
  };
95
98
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,130 @@
1
+ {
2
+ "name": "Anchor",
3
+ "category": "Navigation",
4
+ "description": "页面内锚点导航——自动生成目录侧栏并监听内容区滚动高亮目录项,点击目录项内置滚动定位行为。高度约束写在 Anchor 直接父 div 上,无限高度时内部不产生滚动。",
5
+ "semantic": {
6
+ "intent": [
7
+ "快速定位",
8
+ "内容索引"
9
+ ],
10
+ "useCases": [
11
+ "长文档",
12
+ "API 文档",
13
+ "单页应用"
14
+ ],
15
+ "riskLevel": "low"
16
+ },
17
+ "variants": {
18
+ "default": {
19
+ "meaning": "标准锚点"
20
+ }
21
+ },
22
+ "states": [
23
+ "active",
24
+ "default"
25
+ ],
26
+ "idealProps": {
27
+ "children": {
28
+ "type": "ReactNode",
29
+ "description": "内容区,放置带 `id` 属性的各章节 div;Anchor 通过监听滚动位置高亮左侧目录。⚠️ children 是必需的,缺少会导致锚点无法定位",
30
+ "required": true
31
+ },
32
+ "list": {
33
+ "type": "AnchorItem[]",
34
+ "typeDefinition": "interface AnchorItem { name: string; id: string; children?: AnchorItem[]; expanded?: boolean }",
35
+ "description": "目录数据源。**AnchorItem 字段一览(仅 name + id 必填)**:① name: string — 侧栏显示文案;② id: string — 对应 children 内章节 `<div id={item.id}>` 的 DOM id(Anchor 内部用 id 定位高亮,大小写必须精确一致;建议仅用字母/数字/-/_,避免 CSS 选择器特殊字符;若业务数据字段是 href='#intro',映射时去掉 # 前缀:`id: s.href.replace(/^#/, '')`);③ children?: AnchorItem[] — 多级嵌套(自动渲染为缩进树,建议 ≤3 级;递归时复用同一映射函数);④ expanded?: boolean — 该项初始展开态(default false;⚠️ 与 allExpanded prop 完全独立:allExpanded 控制顶部「全部展开」按钮可见性,不等于初始全展开;初始全展开需对每个含 children 的 AnchorItem 设 expanded:true)。完整 TS 定义:interface AnchorItem { name: string; id: string; children?: AnchorItem[]; expanded?: boolean }(parentId 是 Anchor 内部字段,业务传 list 时无需提供)。"
36
+ },
37
+ "scrollId": {
38
+ "type": "string",
39
+ "default": "\"paraui-v4-anchor-scroll-id\"",
40
+ "description": "**Anchor 内部自动创建的滚动容器 DOM id**——业务方只需传一个全局唯一字符串,Anchor 会在渲染时自动创建 `<div id={scrollId}>` 并把 children 放入其中;**不需要在 children 外部或内部手动创建该 div**。Anchor 对此 div 监听 scroll 事件 + 用 `[id]` 选择器定位高亮目录项。单页只有一个 Anchor 时可省略(默认 'paraui-v4-anchor-scroll-id');同页多个 Anchor 实例必须各自传不同的 scrollId 以隔离滚动监听。scrollId 查找:Anchor 内部用 `document.getElementById(scrollId)` 获取滚动容器——正常渲染后此 div 必然存在,无需业务方手动创建。"
41
+ },
42
+ "title": {
43
+ "type": "ReactNode",
44
+ "description": "目录标题;只有传 title 才显示折叠按钮 / 全部展开按钮 / search 搜索框。**(R6 §6 类型放宽:从 string → ReactNode)**——支持嵌入徽标 / 计数 / 动态状态文本(如 `<span>目录<Tag>当前: intro</Tag></span>`)。string 是 ReactNode 子集,完全向后兼容旧 string 用法。详见 BREAKING-CHANGES §维护规则边界(类型 widening 不入档)+ discussions/Anchor-title-reactnode.md"
45
+ },
46
+ "placement": {
47
+ "type": "'left' | 'right'",
48
+ "values": ["left", "right"],
49
+ "default": "'right'",
50
+ "description": "目录位于内容的左侧还是右侧。⚠️ 默认 'right'(目录在右侧);要实现左侧目录须显式传 placement='left'"
51
+ },
52
+ "search": {
53
+ "type": "boolean",
54
+ "default": false,
55
+ "description": "目录是否带搜索框(按 name 模糊匹配)。需配合 title 使用。"
56
+ },
57
+ "allExpanded": {
58
+ "type": "boolean",
59
+ "default": true,
60
+ "description": "顶部『全部展开』按钮是否启用(控制按钮可见性,不影响 `list[].expanded` 的初始值)。仅在 list 含 children 且传了 title 时生效。\n\n**⚠️ 命名歧义警告(R15+R16 双轮再现 · 3/6 sub-agent 混淆)**:allExpanded 命名容易被理解为「初始全展开」(类似 defaultExpandAll),但实际含义是「全部展开」**按钮**的可见性控制开关:\n- `allExpanded=true`(默认)→ 顶部出现「全部展开」按钮,用户**点击按钮后**才展开全部目录项\n- `allExpanded=false` → 隐藏「全部展开」按钮\n- **若要初始全展开(组件挂载即全展开)**:对 list[] 中每个含 children 的 AnchorItem 设置 `expanded: true`,与 allExpanded prop 无关\n\n**R17 路线图**:正在评审 src rename `allExpanded → expandedAll`(BREAKING,更准确地表达「控制展开按钮」含义),详见 `discussions/Anchor-allExpanded-naming-epic.md`;R17 拍板前 allExpanded 继续有效,0 BREAKING。"
61
+ },
62
+ "listWidth": {
63
+ "type": "number",
64
+ "description": "目录列表宽度(px);不传时默认 140px。"
65
+ },
66
+ "customPrefixIcon": {
67
+ "type": "ReactNode | ((item: AnchorItem, isActive: boolean) => ReactNode)",
68
+ "description": "自定义目录每项的前缀图标。**(R6 §6 类型放宽:从 ReactNode → ReactNode | function)**:<br>- **静态 ReactNode** — 所有目录项共用同一前缀图标(原行为,完全向后兼容)<br>- **函数形式 `(item, isActive) => ReactNode`** — 按当前激活态返回不同 ReactNode(墨水点指示器 / 激活态指示符 / 复选框联动等);函数版每次激活变化触发 list 重渲染,内部 AnchorListMemo 已优化。<br>**初始激活态说明**:页面 mount 时 Anchor 不主动激活任何目录项——需要用户滚动(或点击)触发第一次 scroll 事件后才会激活;初始激活项由滚动位置决定(内部算法:找第一个 offsetTop >= scrollTop 的 [id] 元素)。若需要初始激活特定项,可在 mount 后手动调用 `document.getElementById(SCROLL_ID)?.dispatchEvent(new Event('scroll'))` 触发一次。<br>**业务方仍可走激活态 CSS 联动**(向后兼容):Anchor 内部对激活目录项加 className `.anchor-menu-item.active`(无 prefixCls 前缀,见 src/Anchor/anchorMenu/index.scss:14);可在外层 style 选择器 `:global(.anchor-menu-item.active) [data-ink-dot] { visibility: visible }` 联动。但函数形式更直接、类型安全。详见 discussions/Anchor-customPrefixIcon-function.md(R6 实施选项 B 类型 widening)"
69
+ }
70
+ },
71
+ "do": [
72
+ "在长页面(如文档)右侧提供 Anchor",
73
+ "Anchor 标题应简洁",
74
+ "把章节 DOM 作为 children 直接传入:`<Anchor list={list} scrollId='xxx'>{sections.map(s => <div id={s.id}>...</div>)}</Anchor>`",
75
+ "list[].id 必须与 children 中对应章节 div 的 id 完全一致(含大小写);建议仅使用 CSS selector 安全字符",
76
+ "业务侧 `{ href, title }` 数据派生 list 时使用 `sections.map(s => ({ name: s.title, id: s.href.replace(/^#/, '') }))` 映射;多级数据写递归映射函数(参见 docs/view/anchor/codeString.ts hrefMappingDemo / nestedMappingDemo)",
77
+ "Anchor 内部滚动容器需要由父级提供有限高度(如 `style={{ height: 400 }}` 或外层 wrapper 设 `height: 100vh`)才能产生滚动;外层高度无限时内容不会滚动,stickyDemo 也无法体现『内容滚动而目录吸顶』效果",
78
+ "需要把激活 id 还原成业务 href 时:用 useEffect 监听 activeId 变化 + 业务侧维护 id->href 反向 map(参见 codeString.ts notifyParentDemo)",
79
+ "需要『吸顶 / 滚动偏移头部 / 激活回调』时:用外层 div 包 `position: sticky; top: 0` 实现吸顶(**前置条件:外层必须有滚动祖先——body 高度 > 视口、或某 wrapper 设了 `overflow:auto/scroll`;⚠️ `overflow:auto/scroll` 是合法滚动祖先,不会导致 sticky 失效——仅 `overflow:hidden` 的祖先会使 sticky 退化为 relative;flex 容器中配合 `alignSelf: flex-start` 避免 stretch 拉满高度**;缺少任一条件则 sticky 退化为 relative);用 `<section style={{ scrollMarginTop: headerOffset }}>` **写在每个章节元素自身** 实现偏移;用容器自定义 `addEventListener('scroll', ...)` 计算激活章节并 onChange 通知父组件——这些不是 Anchor 内置能力"
80
+ ],
81
+ "dont": [
82
+ "Anchor 嵌套层级过深 (>3级) —— 设计/视觉建议;src 实现层 formatList 递归无硬限制,违反仅触发缩进过深视觉异常",
83
+ "内容过少的页面使用 Anchor",
84
+ "不要传 `targetOffset` / `affix` / `showInkInFixed` / `onChange` / `items` / `onClick` 等 prop——这些 prop 在 AnchorProps 中不存在,传入会被 React 忽略且能力不会生效",
85
+ "不要在 children 内再包一层 `<div id={scrollId}>` 自管理滚动——Anchor 已内部包了 `<div id={scrollId}>`",
86
+ "不要把 `scrollPaddingTop` 写在 children 内的 wrapper 上——`scrollPaddingTop` 仅对滚动容器生效(即 Anchor 内部 `<div id={scrollId}>`,外部无法直接访问);偏移请用 `scrollMarginTop` 写在**每个章节元素自身**上"
87
+ ],
88
+ "events": {
89
+ "onClickItem (via AnchorMenu internal)": {
90
+ "signature": "内部点击目录项时调用 handleClick(id: string),无外部事件 prop",
91
+ "asyncSupported": false,
92
+ "examples": [
93
+ "点击目录项时 Anchor 内部调用 scrollTo 滚动到对应章节,无需业务方处理",
94
+ "需要监听激活变化时,用外层 wrapper 的 addEventListener('scroll', ...) 计算当前 id",
95
+ "需要把 activeId 回传父组件:用 useEffect 监听 scrollId 容器的 scroll 事件 + 业务侧 id→href 反向 map"
96
+ ],
97
+ "commonMistakes": [
98
+ "传 onChange prop 期望激活目录项变化时被回调——Anchor 不存在 onChange prop",
99
+ "传 onClick prop 期望拦截目录项点击——AnchorProps 无此 prop,传入会被 React 忽略",
100
+ "期望 customPrefixIcon 在点击瞬间触发回调——它只是渲染函数,激活态变化驱动重渲染"
101
+ ]
102
+ }
103
+ },
104
+ "typescriptPitfalls": [
105
+ {
106
+ "issue": "AnchorItem 无法从 @para-ui/core/Anchor 直接命名导出——Anchor/index.tsx 只有默认导出,AnchorItem 定义在 Anchor/type.ts",
107
+ "wrong": "import type { AnchorItem } from '@para-ui/core/Anchor'; // TS2614: 无此命名导出",
108
+ "right": "import type { AnchorItem } from '@para-ui/core/Anchor/type'; // 从 type.ts 子路径导入"
109
+ },
110
+ {
111
+ "issue": "AnchorItem 的 id 必须与 children 内章节 div 的 DOM id 完全一致(大小写敏感)",
112
+ "wrong": "// list: [{ name: '介绍', id: 'Introduction' }]\n// children: <div id='introduction'> // 大小写不同,无法高亮",
113
+ "right": "// 保持一致且使用 CSS selector 安全字符\n// list: [{ name: '介绍', id: 'introduction' }]\n// children: <div id='introduction'>..."
114
+ },
115
+ {
116
+ "issue": "title prop 从 string 扩宽到 ReactNode,但 allExpanded 是控制按钮可见性,不是初始全展开",
117
+ "wrong": "// 以为 allExpanded=true 会初始展开所有目录项\n<Anchor allExpanded={true} list={tree} /> // 实际只是显示'全部展开'按钮",
118
+ "right": "// 初始全展开需要对每个含 children 的 AnchorItem 设 expanded: true\nconst tree = data.map(item => ({ ...item, expanded: true, children: item.children?.map(c => ({ ...c, expanded: true })) }))"
119
+ },
120
+ {
121
+ "issue": "customPrefixIcon 函数形式的参数类型必须显式标注,避免 noImplicitAny 报错",
122
+ "wrong": "// 内联函数不标注类型\n<Anchor customPrefixIcon={(item, isActive) => <span />} /> // TS7006: item 隐式 any",
123
+ "right": "import type { AnchorItem } from '@para-ui/core/Anchor';\n<Anchor customPrefixIcon={(item: AnchorItem, isActive: boolean) => <span style={{ color: isActive ? 'blue' : 'gray' }}>•</span>} />"
124
+ }
125
+ ],
126
+ "mapping": {
127
+ "realComponent": "Anchor",
128
+ "adapter": null
129
+ }
130
+ }
@@ -1,59 +1,62 @@
1
1
  import { j as r } from "../_virtual/jsx-runtime.js";
2
- import { useState as f, useRef as X, useEffect as q, useMemo as E } from "react";
2
+ import { useState as f, useRef as Y, useEffect as D, useMemo as E } from "react";
3
3
  import L from "clsx";
4
4
  import { $prefixCls as C } from "../GlobalContext/constant.js";
5
- import Y from "./anchorMenu/index.js";
5
+ import Z from "./anchorMenu/index.js";
6
6
  import { ToRight as W } from "../node_modules/@para-ui/icons/ToRight/index.js";
7
7
  import { ToLeft as z } from "../node_modules/@para-ui/icons/ToLeft/index.js";
8
- import { PreviewOpen as Z } from "../node_modules/@para-ui/icons/PreviewOpen/index.js";
9
- import { Search as _ } from "../Search/index.js";
10
- import ee from "../GlobalContext/useFormatMessage.js";
11
- import re from "./lang/index.js";
12
- import { throttle as ne, debounce as se } from "@paraview/lib";
8
+ import { PreviewOpen as _ } from "../node_modules/@para-ui/icons/PreviewOpen/index.js";
9
+ import { Search as ee } from "../Search/index.js";
10
+ import re from "../GlobalContext/useFormatMessage.js";
11
+ import ne from "./lang/index.js";
12
+ import { Throttle as se, Debounce as oe } from "@snack-kit/lib";
13
13
  import './index.css';/* empty css */
14
- const ge = (N) => {
14
+ const Te = (N) => {
15
15
  const {
16
- style: D,
17
- className: J,
18
- title: j = "",
19
- scrollId: T = `${C}-anchor-scroll-id`,
16
+ style: J,
17
+ className: G,
18
+ title: T = "",
19
+ scrollId: j = `${C}-anchor-scroll-id`,
20
20
  list: d = [],
21
21
  listClassName: M,
22
- scrollClassName: G,
22
+ scrollClassName: H,
23
23
  placement: a = "right",
24
- allExpanded: H = !0,
25
- search: K = !1,
24
+ allExpanded: K = !0,
25
+ search: Q = !1,
26
26
  customPrefixIcon: S,
27
27
  listWidth: m
28
- } = N, Q = ee("Anchor", re), [V, O] = f(""), [x, U] = f(!1), [u, A] = f({}), [v, R] = f(!1), [$, k] = f(""), [p, y] = f(null), o = X({
28
+ } = N, U = re("Anchor", ne), [V, O] = f(""), [x, X] = f(!1), [u, A] = f({}), [v, R] = f(!1), [$, k] = f(""), [p, y] = f(null), o = Y({
29
29
  currentAnchorId: "",
30
30
  anchorList: d,
31
31
  anchorMap: {},
32
32
  searchValue: "",
33
33
  scrolling: !1
34
34
  }), w = v ? "50px" : m ? `${m + 20}px` : "160px";
35
- q(() => {
35
+ D(() => {
36
36
  o.current.anchorList = d;
37
37
  const e = {};
38
38
  let n = !1;
39
- const t = (h, l = "") => {
39
+ const t = (h, c = "") => {
40
40
  h.forEach((s) => {
41
- (s?.expanded === void 0 || s?.expanded === null) && (s.expanded = !1), l && (s.parentId = l), e[s.id] = s, s.children && (n = !0, t(s.children, s.id));
41
+ (s?.expanded === void 0 || s?.expanded === null) && (s.expanded = !1), c && (s.parentId = c), e[s.id] = s, s.children && (n = !0, t(s.children, s.id));
42
42
  });
43
43
  };
44
- t(d), U(n), o.current.anchorMap = e, A(e);
45
- }, [d]), q(() => {
46
- const e = document.getElementById(T), n = ne(async () => {
44
+ t(d), X(n), o.current.anchorMap = e, A(e);
45
+ }, [d]), D(() => {
46
+ const e = document.getElementById(j), n = se(async () => {
47
47
  if (o.current.scrolling) return;
48
- const t = e?.querySelectorAll("[id]") || [], l = Array.from(t).map((c) => ({
49
- id: c.id,
50
- offsetTop: c.offsetTop - (e?.offsetTop || 0)
51
- }));
48
+ const t = e?.querySelectorAll("[id]") || [], c = Array.from(t).map((l) => {
49
+ const q = l;
50
+ return {
51
+ id: q.id,
52
+ offsetTop: q.offsetTop - (e?.offsetTop || 0)
53
+ };
54
+ });
52
55
  let s = 0, i = "";
53
- const I = l.find((c) => (s < c.offsetTop && (s = c.offsetTop, i = c.id), c.offsetTop >= (e?.scrollTop || 0)));
56
+ const I = c.find((l) => (s < l.offsetTop && (s = l.offsetTop, i = l.id), l.offsetTop >= (e?.scrollTop || 0)));
54
57
  if (I?.id !== o.current.currentAnchorId) {
55
- let c = I?.id || "";
56
- e?.scrollTop && !I?.id && (c = i), O(c);
58
+ let l = I?.id || "";
59
+ e?.scrollTop && !I?.id && (l = i), O(l);
57
60
  }
58
61
  }, 300);
59
62
  return n(), e?.addEventListener("scroll", n, { passive: !0 }), () => {
@@ -61,11 +64,11 @@ const ge = (N) => {
61
64
  };
62
65
  }, []);
63
66
  const b = (e) => {
64
- const n = document.getElementById(T), t = n?.querySelectorAll("[id]") || [], h = Array.from(t).findIndex((s) => String(s.id) === String(e)), l = t[h];
65
- l && (O(e), o.current.currentAnchorId = e, o.current.scrolling = !0, setTimeout(() => {
67
+ const n = document.getElementById(j), t = n?.querySelectorAll("[id]") || [], h = Array.from(t).findIndex((s) => String(s.id) === String(e)), c = t[h];
68
+ c && (O(e), o.current.currentAnchorId = e, o.current.scrolling = !0, setTimeout(() => {
66
69
  o.current.scrolling = !1;
67
70
  }, 1e3), n?.scrollTo({
68
- top: l?.offsetTop || 0 - (n?.offsetTop || 0),
71
+ top: c?.offsetTop || 0 - (n?.offsetTop || 0),
69
72
  behavior: "smooth"
70
73
  }));
71
74
  }, B = () => {
@@ -73,33 +76,33 @@ const ge = (N) => {
73
76
  u[e].expanded = !0;
74
77
  }), A({ ...u });
75
78
  }, g = E(
76
- () => se(async () => {
79
+ () => oe(async () => {
77
80
  const e = o.current.searchValue;
78
81
  if (!e) {
79
82
  y(null);
80
83
  return;
81
84
  }
82
- const n = o.current.anchorList || [], t = [], h = (l, s = "") => {
83
- l.forEach((i) => {
85
+ const n = o.current.anchorList || [], t = [], h = (c, s = "") => {
86
+ c.forEach((i) => {
84
87
  i?.name?.indexOf(e) > -1 && t.push(i), i.children && h(i.children, i.id);
85
88
  });
86
89
  };
87
90
  h(n), y(t);
88
91
  }, 200),
89
92
  []
90
- ), F = E(() => j ? /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
93
+ ), F = E(() => T ? /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
91
94
  /* @__PURE__ */ r.jsxs("div", { className: "anchor-menu-title", children: [
92
- /* @__PURE__ */ r.jsx("div", { className: "title", children: j }),
95
+ /* @__PURE__ */ r.jsx("div", { className: "title", children: T }),
93
96
  /* @__PURE__ */ r.jsxs("div", { className: "opera-area", children: [
94
- x && H && /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
95
- /* @__PURE__ */ r.jsx(Z, { onClick: B }),
97
+ x && K && /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
98
+ /* @__PURE__ */ r.jsx(_, { onClick: B }),
96
99
  /* @__PURE__ */ r.jsx("div", { className: "split-line" })
97
100
  ] }),
98
101
  /* @__PURE__ */ r.jsx("div", { onClick: () => R(!0), children: a === "left" ? /* @__PURE__ */ r.jsx(z, {}) : /* @__PURE__ */ r.jsx(W, {}) })
99
102
  ] })
100
103
  ] }),
101
- K && /* @__PURE__ */ r.jsx(
102
- _,
104
+ Q && /* @__PURE__ */ r.jsx(
105
+ ee,
103
106
  {
104
107
  size: "small",
105
108
  value: $,
@@ -111,11 +114,11 @@ const ge = (N) => {
111
114
  onClear: () => {
112
115
  k(""), o.current.searchValue = "", y(null);
113
116
  },
114
- placeholder: Q("pleaseEnter"),
117
+ placeholder: U("pleaseEnter"),
115
118
  style: { padding: "0 4px", marginBottom: "6px" }
116
119
  }
117
120
  )
118
- ] }) : null, [j, x, $, B, g]), P = E(() => {
121
+ ] }) : null, [T, x, $, B, g]), P = E(() => {
119
122
  if (!d?.length) return null;
120
123
  if (v)
121
124
  return /* @__PURE__ */ r.jsx(
@@ -137,7 +140,7 @@ const ge = (N) => {
137
140
  children: [
138
141
  F,
139
142
  e.map((n, t) => /* @__PURE__ */ r.jsx(
140
- Y,
143
+ Z,
141
144
  {
142
145
  data: n,
143
146
  currentAnchorId: V,
@@ -168,17 +171,17 @@ const ge = (N) => {
168
171
  return /* @__PURE__ */ r.jsxs(
169
172
  "div",
170
173
  {
171
- className: L(`${C}-anchor`, J, {
174
+ className: L(`${C}-anchor`, G, {
172
175
  [`${C}-anchor-${a}`]: a
173
176
  }),
174
- style: D,
177
+ style: J,
175
178
  children: [
176
179
  a === "left" && P,
177
180
  /* @__PURE__ */ r.jsx(
178
181
  "div",
179
182
  {
180
- id: T,
181
- className: L("anchor-scroll", G),
183
+ id: j,
184
+ className: L("anchor-scroll", H),
182
185
  style: {
183
186
  paddingLeft: a === "left" ? w : "0",
184
187
  paddingRight: a === "right" ? w : "0"
@@ -192,6 +195,6 @@ const ge = (N) => {
192
195
  );
193
196
  };
194
197
  export {
195
- ge as default
198
+ Te as default
196
199
  };
197
200
  //# sourceMappingURL=index.js.map
@@ -18,8 +18,8 @@ export interface AnchorProps {
18
18
  style?: React.CSSProperties;
19
19
  /** 类名 */
20
20
  className?: string;
21
- /** 标题 */
22
- title?: string;
21
+ /** 标题(R6 §6 类型放宽:string → ReactNode,支持嵌入徽标/计数/动态状态文本;string 是 ReactNode 子集,完全向后兼容) */
22
+ title?: ReactNode;
23
23
  /** 滚动盒子Id */
24
24
  scrollId?: string;
25
25
  /** 子元素 */
@@ -31,8 +31,12 @@ export interface AnchorProps {
31
31
  /** 位置 */
32
32
  placement?: 'left' | 'right';
33
33
  /** 默认展示的锚点 */
34
- /** 自定义前缀符号 */
35
- customPrefixIcon?: ReactNode;
34
+ /**
35
+ * 自定义前缀符号(R6 §6 类型放宽):
36
+ * - 静态 ReactNode — 所有目录项共用同一前缀图标(原行为)
37
+ * - 函数形式 `(item, isActive) => ReactNode` — 按当前激活态返回不同 ReactNode(墨水点指示器等激活态联动场景);函数版本每次激活变化触发 list 重渲染,内部 AnchorListMemo 已优化
38
+ */
39
+ customPrefixIcon?: ReactNode | ((item: AnchorItem, isActive: boolean) => ReactNode);
36
40
  /** 全部展开功能是否开启 */
37
41
  allExpanded?: boolean;
38
42
  /** 是否带目录搜索 */