@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
package/es/Empty/index.js CHANGED
@@ -1,56 +1,57 @@
1
1
  import { j as e } from "../_virtual/jsx-runtime.js";
2
- import u from "clsx";
3
- import { SmallNull as N, LargeNull as $ } from "./images/index.js";
2
+ import N from "clsx";
3
+ import { SmallNull as $, LargeNull as n } from "./images/index.js";
4
4
  import E from "../GlobalContext/useFormatMessage.js";
5
5
  import k from "./lang/index.js";
6
6
  import v from "../Hooks/useGlobalProps.js";
7
- import { $prefixCls as n } from "../GlobalContext/constant.js";
7
+ import { $prefixCls as c } from "../GlobalContext/constant.js";
8
8
  import './index.css';/* empty css */
9
9
  const C = {
10
- large: /* @__PURE__ */ e.jsx($, {}),
11
- small: /* @__PURE__ */ e.jsx(N, {})
10
+ large: /* @__PURE__ */ e.jsx(n, {}),
11
+ medium: /* @__PURE__ */ e.jsx(n, {}),
12
+ small: /* @__PURE__ */ e.jsx($, {})
12
13
  }, G = (l) => {
13
14
  const {
14
- className: c,
15
- style: p,
15
+ className: p,
16
+ style: d,
16
17
  size: t = "large",
17
- imageStyle: d,
18
- image: r = C[t],
18
+ imageStyle: f,
19
+ image: m = C[t],
19
20
  description: o,
20
- showRefresh: f = !1,
21
- onRefresh: y,
21
+ showRefresh: y = !1,
22
+ onRefresh: g,
22
23
  customEmpty: a
23
- } = v(l, "Empty"), i = E("Empty", k), g = (j) => {
24
- y?.(j);
25
- }, s = typeof o < "u" ? o : i({ id: "noData" }), x = typeof s == "string" ? s : "empty";
26
- let m = null;
27
- const h = f ? /* @__PURE__ */ e.jsxs("span", { className: "empty-description-refresh", children: [
24
+ } = v(l, "Empty"), i = E("Empty", k), x = (u) => {
25
+ g?.(u);
26
+ }, s = typeof o < "u" ? o : i({ id: "noData" }), h = typeof s == "string" ? s : "empty";
27
+ let r = null;
28
+ const j = y ? /* @__PURE__ */ e.jsxs("span", { className: "empty-description-refresh", children: [
28
29
  i({ id: "click" }),
29
- /* @__PURE__ */ e.jsx("span", { onClick: g, children: i({ id: "refresh" }) })
30
+ /* @__PURE__ */ e.jsx("span", { onClick: x, children: i({ id: "refresh" }) })
30
31
  ] }) : null;
31
- return typeof r == "string" ? m = /* @__PURE__ */ e.jsx(
32
+ return typeof m == "string" ? r = /* @__PURE__ */ e.jsx(
32
33
  "img",
33
34
  {
34
- src: r,
35
- alt: x
35
+ src: m,
36
+ alt: h
36
37
  }
37
- ) : m = r, /* @__PURE__ */ e.jsx(
38
+ ) : r = m, /* @__PURE__ */ e.jsx(
38
39
  "div",
39
40
  {
40
- className: u(`${n}-empty`, c, `${n}-empty-${t}`),
41
- style: p,
41
+ className: N(`${c}-empty`, p, `${c}-empty-${t}`),
42
+ style: d,
42
43
  children: a || /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
43
44
  /* @__PURE__ */ e.jsx(
44
45
  "div",
45
46
  {
46
47
  className: `empty-image ${l?.image ? "" : `empty-image-${t}`}`,
47
- style: d,
48
- children: m
48
+ style: f,
49
+ children: r
49
50
  }
50
51
  ),
51
52
  s && /* @__PURE__ */ e.jsxs("div", { className: "empty-description", children: [
52
53
  /* @__PURE__ */ e.jsx(e.Fragment, { children: s }),
53
- h
54
+ j
54
55
  ] })
55
56
  ] })
56
57
  }
@@ -1 +1 @@
1
- .paraui-v4-empty{display:inline-flex;flex-direction:column;align-items:center}.paraui-v4-empty>.empty-image{line-height:0;overflow:hidden}.paraui-v4-empty>.empty-image img{width:100%}.paraui-v4-empty .empty-image-large{width:334px;height:238px}.paraui-v4-empty .empty-image-small{width:120px;height:120px}.paraui-v4-empty>.empty-description{line-height:17px;font-size:14px;font-weight:400;color:#5c6573}.paraui-v4-empty>.empty-description>.empty-description-refresh{display:inline-block}.paraui-v4-empty>.empty-description>.empty-description-refresh span{color:#2e65e6;cursor:pointer}.paraui-v4-empty>.empty-description>.empty-description-refresh span:hover{color:#5783eb}.paraui-v4-empty.paraui-v4-empty-large>.empty-description{margin-top:20px}.paraui-v4-empty.paraui-v4-empty-small>.empty-description{margin-top:10px;font-size:14px}
1
+ .paraui-v4-empty{display:inline-flex;flex-direction:column;align-items:center}.paraui-v4-empty>.empty-image{overflow:hidden;line-height:0}.paraui-v4-empty>.empty-image img{width:100%}.paraui-v4-empty .empty-image-large{width:334px;height:238px}.paraui-v4-empty .empty-image-medium{width:220px;height:180px}.paraui-v4-empty .empty-image-small{width:120px;height:120px}.paraui-v4-empty>.empty-description{font-size:14px;font-weight:400;line-height:17px;color:#5c6573}.paraui-v4-empty>.empty-description>.empty-description-refresh{display:inline-block}.paraui-v4-empty>.empty-description>.empty-description-refresh span{color:#2e65e6;cursor:pointer}.paraui-v4-empty>.empty-description>.empty-description-refresh span:hover{color:#5783eb}.paraui-v4-empty.paraui-v4-empty-large>.empty-description{margin-top:20px}.paraui-v4-empty.paraui-v4-empty-medium>.empty-description{margin-top:15px;font-size:14px}.paraui-v4-empty.paraui-v4-empty-small>.empty-description{margin-top:10px;font-size:14px}
@@ -0,0 +1,8 @@
1
+ import { HighlightSegment } from './highlightSegments';
2
+ import * as React from 'react';
3
+ export interface HighlightOverlayProps {
4
+ segments: HighlightSegment[];
5
+ style?: React.CSSProperties;
6
+ }
7
+ declare const HighlightOverlay: React.ForwardRefExoticComponent<HighlightOverlayProps & React.RefAttributes<HTMLDivElement>>;
8
+ export default HighlightOverlay;
@@ -0,0 +1,27 @@
1
+ import { j as r } from "../_virtual/jsx-runtime.js";
2
+ import * as e from "react";
3
+ import { $prefixCls as t } from "../GlobalContext/constant.js";
4
+ const o = e.forwardRef(({ segments: s, style: l }, h) => /* @__PURE__ */ r.jsx(
5
+ "div",
6
+ {
7
+ ref: h,
8
+ "aria-hidden": "true",
9
+ className: `${t}-expression-input-overlay`,
10
+ style: l,
11
+ children: s.map(
12
+ (i, a) => i.highlight ? /* @__PURE__ */ r.jsx(
13
+ "span",
14
+ {
15
+ className: `${t}-expression-input-overlay-highlight`,
16
+ children: i.text
17
+ },
18
+ a
19
+ ) : /* @__PURE__ */ r.jsx(e.Fragment, { children: i.text }, a)
20
+ )
21
+ }
22
+ ));
23
+ o.displayName = "HighlightOverlay";
24
+ export {
25
+ o as default
26
+ };
27
+ //# sourceMappingURL=HighlightOverlay.js.map
@@ -0,0 +1,19 @@
1
+ import { ExprCandidate } from './interface';
2
+ import * as React from 'react';
3
+ export interface PopupRect {
4
+ top: number;
5
+ left: number;
6
+ width: number;
7
+ }
8
+ export interface PopupProps {
9
+ instanceClass: string;
10
+ visible: boolean;
11
+ rect: PopupRect;
12
+ header: React.ReactNode;
13
+ candidates: ExprCandidate[];
14
+ highlight: number;
15
+ virtualizeThreshold: number;
16
+ onSelect: (candidate: ExprCandidate) => void;
17
+ onHighlightChange: (index: number) => void;
18
+ }
19
+ export declare const Popup: React.ForwardRefExoticComponent<PopupProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,93 @@
1
+ import { j as t } from "../_virtual/jsx-runtime.js";
2
+ import * as p from "react";
3
+ import { Lock as S } from "../node_modules/@para-ui/icons/Lock/index.js";
4
+ import { $prefixCls as o } from "../GlobalContext/constant.js";
5
+ const i = 30, d = 240, m = 4, b = p.forwardRef((v, g) => {
6
+ const {
7
+ instanceClass: T,
8
+ visible: $,
9
+ rect: a,
10
+ header: j,
11
+ candidates: s,
12
+ highlight: h,
13
+ virtualizeThreshold: w,
14
+ onSelect: N,
15
+ onHighlightChange: E
16
+ } = v, [H, x] = p.useState(0), c = p.useRef(null);
17
+ if (p.useEffect(() => {
18
+ x(0), c.current && (c.current.scrollTop = 0);
19
+ }, [s]), p.useEffect(() => {
20
+ const e = c.current;
21
+ if (!e)
22
+ return;
23
+ const n = h * i, r = e.scrollTop, f = r + e.clientHeight;
24
+ n < r ? e.scrollTop = n : n + i > f && (e.scrollTop = n + i - e.clientHeight);
25
+ }, [h]), !$ || s.length === 0)
26
+ return null;
27
+ const l = s.length > w, u = l ? Math.max(0, Math.floor(H / i) - m) : 0, M = l ? Math.ceil(d / i) + m * 2 : s.length, R = l ? Math.min(s.length, u + M) : s.length, y = s.slice(u, R), C = u * i;
28
+ return /* @__PURE__ */ t.jsxs(
29
+ "div",
30
+ {
31
+ ref: g,
32
+ className: `${o}-expression-input-popup ${T}`,
33
+ style: { position: "fixed", top: a.top, left: a.left, width: a.width },
34
+ children: [
35
+ /* @__PURE__ */ t.jsx("div", { className: `${o}-expression-input-popup-header`, children: j }),
36
+ /* @__PURE__ */ t.jsx(
37
+ "div",
38
+ {
39
+ ref: c,
40
+ className: `${o}-expression-input-popup-list`,
41
+ style: { maxHeight: d, overflowY: "auto" },
42
+ onScroll: (e) => {
43
+ l && x(e.currentTarget.scrollTop);
44
+ },
45
+ children: /* @__PURE__ */ t.jsx("div", { style: { height: l ? s.length * i : void 0, position: "relative" }, children: /* @__PURE__ */ t.jsx(
46
+ "div",
47
+ {
48
+ style: {
49
+ position: l ? "absolute" : void 0,
50
+ top: l ? C : void 0,
51
+ left: 0,
52
+ right: 0
53
+ },
54
+ children: y.map((e, n) => {
55
+ const r = u + n, f = r === h;
56
+ return /* @__PURE__ */ t.jsxs(
57
+ "div",
58
+ {
59
+ "data-testid": `expr-candidate-row-${e.value}`,
60
+ className: `${o}-expression-input-popup-item${f ? ` ${o}-expression-input-popup-item-active` : ""}`,
61
+ style: { height: i },
62
+ onMouseEnter: () => E(r),
63
+ onMouseDown: (I) => {
64
+ I.preventDefault(), N(e);
65
+ },
66
+ children: [
67
+ /* @__PURE__ */ t.jsx("span", { className: `${o}-expression-input-popup-item-value`, children: e.label ?? e.value }),
68
+ e.desc && /* @__PURE__ */ t.jsx("span", { className: `${o}-expression-input-popup-item-desc`, children: e.desc }),
69
+ e.sensitive && /* @__PURE__ */ t.jsx(
70
+ S,
71
+ {
72
+ "data-testid": `expr-candidate-lock-${e.value}`,
73
+ className: `${o}-expression-input-popup-item-lock`
74
+ }
75
+ )
76
+ ]
77
+ },
78
+ e.value
79
+ );
80
+ })
81
+ }
82
+ ) })
83
+ }
84
+ )
85
+ ]
86
+ }
87
+ );
88
+ });
89
+ b.displayName = "Popup";
90
+ export {
91
+ b as Popup
92
+ };
93
+ //# sourceMappingURL=Popup.js.map
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "ExpressionInput",
3
+ "category": "数据录入",
4
+ "description": "单行表达式变量自动补全输入框,默认要求 {{ }} 包裹触发,候选数据完全由业务方通过 resolveCandidates 注入。",
5
+ "semantic": {
6
+ "intent": ["在文本中输入引用变量的表达式", "按命名空间层级下钻选择变量"],
7
+ "useCases": ["脚本/配置里引用运行时变量", "低代码画布属性面板里的表达式绑定"],
8
+ "riskLevel": "low"
9
+ },
10
+ "variants": {
11
+ "braces": { "meaning": "默认触发模式,要求光标位于 {{ }} 区间内才弹出候选" },
12
+ "bare": { "meaning": "不要求大括号包裹,任意位置匹配 triggerPrefix 即弹出候选" }
13
+ },
14
+ "states": ["default", "focus", "disabled", "readOnly", "popup-open"],
15
+ "idealProps": {
16
+ "value": { "type": "string", "description": "受控值", "required": false },
17
+ "onChange": { "type": "function", "description": "值变化回调", "signature": "(value: string) => void" },
18
+ "resolveCandidates": {
19
+ "type": "function",
20
+ "description": "按命名空间路径返回该层级的完整候选列表,组件内部按 parts 缓存",
21
+ "signature": "(parts: string[]) => ExprCandidate[]",
22
+ "required": true
23
+ },
24
+ "triggerMode": {
25
+ "type": "string",
26
+ "description": "触发匹配机制",
27
+ "values": ["braces", "bare"],
28
+ "default": "braces"
29
+ },
30
+ "triggerPrefix": { "type": "string", "description": "触发前缀符号", "default": "$" },
31
+ "virtualizeThreshold": { "type": "number", "description": "候选数超过该阈值启用虚拟滚动", "default": "50" },
32
+ "renderPopupHeader": {
33
+ "type": "function",
34
+ "description": "自定义浮层 header 文案",
35
+ "signature": "(ctx: ExprChainCtx, count: number) => React.ReactNode",
36
+ "required": false
37
+ },
38
+ "expressionTooltip": {
39
+ "type": "ReactNode",
40
+ "description": "表达式说明 tooltip 文案,不传则不展示;仅当 value 命中表达式格式(braces/bare)时 hover/focus 才弹出",
41
+ "required": false
42
+ }
43
+ },
44
+ "commonMisconceptions": [
45
+ "以为 resolveCandidates 每次按键都会被调用——实际只有下钻/回退到新的命名空间层级时才调用,同层级内逐字过滤是客户端完成的",
46
+ "以为默认触发不需要 {{ }} 包裹——默认 triggerMode 是 'braces',裸写 $.xxx 不会触发,需要显式传 triggerMode='bare' 才对齐 Ditto 原始行为",
47
+ "以为传入的 candidate.value 可以是任意字符串——实际必须是合法标识符字符([A-Za-z0-9_$]),否则插入后再次解析会被截断",
48
+ "以为 expressionTooltip 会随打字实时弹出/消失——实际是否命中只在 hover/focus 触发那一刻判定,光标停留期间继续输入使 value 从未命中变为命中不会自动弹出,需要重新 hover/focus",
49
+ "以为花括号着色和 expressionTooltip 用同一套判定标准——实际着色只看 {{ }} 是否配对闭合,不校验内容合法性,门槛比 expressionTooltip 低,{{$.}} 这类值会着色但不会弹出 tooltip,两者可能不一致,这是预期行为"
50
+ ],
51
+ "do": [
52
+ "为需要继续下钻子级的候选项设置 chain: true,让选中后自动追加 . 方便连续输入",
53
+ "为敏感字段设置 sensitive: true,组件会自动展示锁图标",
54
+ "在 Modal/Drawer 中使用时无需额外处理,组件内部已对接 usePopupContainer 自动寻找最近可滚动祖先容器"
55
+ ],
56
+ "dont": [
57
+ "不要在 resolveCandidates 内部做未做缓存的重量级计算并假设组件会防抖——组件只在 parts 变化时调用一次,但单次调用本身仍需业务方保证足够快",
58
+ "不要给多个实例传相同的 DOM id 或手动操作 document.body 上的浮层 — 组件已经用 UUID 做了实例隔离"
59
+ ],
60
+ "events": {
61
+ "onChange": {
62
+ "signature": "(value: string) => void",
63
+ "asyncSupported": false,
64
+ "examples": ["受控更新 value 状态"],
65
+ "commonMistakes": ["忘记把新 value 传回 props.value,导致组件表现为不可编辑"]
66
+ }
67
+ },
68
+ "typescriptPitfalls": [
69
+ {
70
+ "issue": "resolveCandidates 类型签名从 ChainCtx 变成了 parts: string[]",
71
+ "wrong": "resolveCandidates={(ctx) => ctx.partial ? [] : rootCandidates}",
72
+ "right": "resolveCandidates={(parts) => parts.length === 0 ? rootCandidates : []}"
73
+ }
74
+ ],
75
+ "mapping": {
76
+ "realComponent": "ExpressionInput",
77
+ "adapter": "无,直接使用"
78
+ }
79
+ }
@@ -0,0 +1,17 @@
1
+ /** partial 片段本身允许出现的字符(不含 .) */
2
+ export declare const ID_TAIL: RegExp;
3
+ export interface DetectChainOptions {
4
+ triggerPrefix: string;
5
+ triggerMode: 'braces' | 'bare';
6
+ }
7
+ export interface ChainResult {
8
+ /** 链路在原文本中的起始下标(含前缀符号) */
9
+ startIdx: number;
10
+ /** 链路在原文本中的结束下标(即光标位置) */
11
+ endIdx: number;
12
+ /** 已确定的上级片段 */
13
+ parts: string[];
14
+ /** 正在输入的片段 */
15
+ partial: string;
16
+ }
17
+ export declare function detectChainAtCursor(text: string, cursor: number, options: DetectChainOptions): ChainResult | null;
@@ -0,0 +1,31 @@
1
+ const x = /[A-Za-z0-9_$]/;
2
+ function g(t) {
3
+ const e = t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4
+ return new RegExp(`[A-Za-z0-9_.${e}]`);
5
+ }
6
+ function h(t, e) {
7
+ const i = t.slice(0, e), r = i.lastIndexOf("{{");
8
+ if (r === -1 || i.lastIndexOf("}}") > r)
9
+ return !1;
10
+ const o = t.slice(e), n = o.indexOf("}}"), s = o.indexOf("{{");
11
+ return n === -1 ? !0 : !(s !== -1 && s < n);
12
+ }
13
+ function I(t, e, i) {
14
+ const { triggerPrefix: r, triggerMode: c } = i;
15
+ if (c === "braces" && !h(t, e))
16
+ return null;
17
+ const o = g(r);
18
+ let n = e;
19
+ for (; n > 0 && o.test(t[n - 1]); )
20
+ n -= 1;
21
+ const s = t.slice(n, e), f = `${r}.`;
22
+ if (!s.startsWith(f))
23
+ return null;
24
+ const a = s.slice(f.length), u = a.length > 0 ? a.split(".") : [""], l = u.pop(), d = u;
25
+ return l.length > 0 && !l.split("").every((p) => x.test(p)) ? null : { startIdx: n, endIdx: e, parts: d, partial: l };
26
+ }
27
+ export {
28
+ x as ID_TAIL,
29
+ I as detectChainAtCursor
30
+ };
31
+ //# sourceMappingURL=detectChainAtCursor.js.map
@@ -0,0 +1,2 @@
1
+ import { ExprCandidate } from './interface';
2
+ export declare function filterCandidatesByPartial(candidates: ExprCandidate[], partial: string): ExprCandidate[];
@@ -0,0 +1,15 @@
1
+ function n(e, r) {
2
+ if (!r)
3
+ return e;
4
+ const t = r.toLowerCase();
5
+ return e.filter((o) => {
6
+ if (o.value.toLowerCase().startsWith(t))
7
+ return !0;
8
+ const l = o.label?.toLowerCase();
9
+ return !!l && l.includes(t);
10
+ });
11
+ }
12
+ export {
13
+ n as filterCandidatesByPartial
14
+ };
15
+ //# sourceMappingURL=filterCandidatesByPartial.js.map
@@ -0,0 +1,9 @@
1
+ export interface HighlightSegment {
2
+ text: string;
3
+ highlight: boolean;
4
+ }
5
+ /**
6
+ * 按 {{ }} 配对闭合切分 value,不校验内容合法性,不处理嵌套。
7
+ * 用于表达式片段着色,判定门槛低于 isExpressionValue。
8
+ */
9
+ export declare function highlightSegments(value: string): HighlightSegment[];
@@ -0,0 +1,14 @@
1
+ const n = /\{\{[^{}]*\}\}/g;
2
+ function s(e) {
3
+ if (!e)
4
+ return [];
5
+ const i = [];
6
+ let h = 0, t;
7
+ for (n.lastIndex = 0; (t = n.exec(e)) !== null; )
8
+ t.index > h && i.push({ text: e.slice(h, t.index), highlight: !1 }), i.push({ text: t[0], highlight: !0 }), h = t.index + t[0].length;
9
+ return h < e.length && i.push({ text: e.slice(h), highlight: !1 }), i;
10
+ }
11
+ export {
12
+ s as highlightSegments
13
+ };
14
+ //# sourceMappingURL=highlightSegments.js.map
@@ -0,0 +1 @@
1
+ @charset "UTF-8";.paraui-v4-expression-input{display:inline-block;width:100%}.paraui-v4-expression-input input{position:relative;z-index:1;color:transparent!important;caret-color:#1d2126!important}.paraui-v4-expression-input-overlay{position:absolute;inset:0;z-index:0;overflow:hidden;color:#1d2126;white-space:pre;pointer-events:none}.paraui-v4-expression-input-overlay-highlight{color:#2e65e6}.paraui-v4-expression-input-popup{z-index:1500;min-width:280px;overflow:hidden;background:#fff;border:1px solid rgb(212,218,227);border-radius:4px;box-shadow:0 2px 8px #d4dae366}.paraui-v4-expression-input-popup-header{padding:6px 12px;font-size:12px;color:#a1a8b3;border-bottom:1px solid rgb(234,236,241)}.paraui-v4-expression-input-popup-list{padding:4px 0}.paraui-v4-expression-input-popup-item{display:flex;align-items:center;padding:0 12px;font-size:14px;color:#1d2126;white-space:nowrap;cursor:pointer}.paraui-v4-expression-input-popup-item-active{color:#2e65e6;background:#f0f5ff}.paraui-v4-expression-input-popup-item-value{flex:0 0 auto;margin-right:8px}.paraui-v4-expression-input-popup-item-desc{flex:1 1 auto;overflow:hidden;font-size:12px;color:#a1a8b3;text-overflow:ellipsis}.paraui-v4-expression-input-popup-item-lock{flex:0 0 auto;margin-left:8px;font-size:16px;color:#a1a8b3}
@@ -0,0 +1,5 @@
1
+ import { ExpressionInputProps } from './interface';
2
+ import * as React from 'react';
3
+ declare const ExpressionInput: React.FunctionComponent<ExpressionInputProps>;
4
+ export default ExpressionInput;
5
+ export * from './interface';
@@ -0,0 +1,178 @@
1
+ import { j as a } from "../_virtual/jsx-runtime.js";
2
+ import './index.css';/* empty css */
3
+ import * as r from "react";
4
+ import * as b from "react-dom";
5
+ import { UUID as X } from "@snack-kit/lib";
6
+ import { TextField as Z } from "../TextField/index.js";
7
+ import { Tooltip as Q } from "../Tooltip/index.js";
8
+ import Y from "../GlobalContext/usePopupContainer.js";
9
+ import ee from "../GlobalContext/useFormatMessage.js";
10
+ import { $prefixCls as T } from "../GlobalContext/constant.js";
11
+ import { useExpressionInput as te } from "./useExpressionInput.js";
12
+ import { Popup as re } from "./Popup.js";
13
+ import { isExpressionValue as ne } from "./isExpressionValue.js";
14
+ import { highlightSegments as oe } from "./highlightSegments.js";
15
+ import ie from "./HighlightOverlay.js";
16
+ import se from "./lang/index.js";
17
+ const le = 50, ae = "$", Re = (j) => {
18
+ const {
19
+ value: o,
20
+ onChange: z,
21
+ resolveCandidates: D,
22
+ triggerMode: h = "braces",
23
+ triggerPrefix: d = ae,
24
+ virtualizeThreshold: F = le,
25
+ renderPopupHeader: v,
26
+ expressionTooltip: p,
27
+ disabled: E,
28
+ readOnly: I,
29
+ className: x,
30
+ ...y
31
+ } = j, H = ee("ExpressionInput", se), [f] = r.useState(() => `${T}-expression-input-${X()}`), n = r.useRef(null), S = r.useRef(null), O = r.useRef({ getRootDomNode: () => n.current }), P = Y(O), [$, M] = r.useState({ top: 0, left: 0, width: 0 }), l = r.useRef(null), [w, q] = r.useState(null), [U, W] = r.useState({}), _ = r.useMemo(() => oe(o ?? ""), [o]), {
32
+ open: i,
33
+ ctx: c,
34
+ candidates: g,
35
+ highlight: A,
36
+ setHighlight: B,
37
+ handleValueChange: K,
38
+ handleKeyDown: N,
39
+ handleSelect: V,
40
+ close: R,
41
+ pendingCursorRef: m
42
+ } = te({
43
+ value: o ?? "",
44
+ onChange: z,
45
+ resolveCandidates: D,
46
+ triggerMode: h,
47
+ triggerPrefix: d,
48
+ disabled: E,
49
+ readOnly: I
50
+ }), s = r.useCallback(() => {
51
+ const e = n.current?.querySelector("input, textarea");
52
+ if (!e)
53
+ return;
54
+ const t = e.getBoundingClientRect();
55
+ M({ top: t.bottom + 4, left: t.left, width: Math.max(t.width, 280) });
56
+ }, []), u = r.useCallback(() => {
57
+ const e = n.current?.querySelector("input, textarea");
58
+ if (!e)
59
+ return;
60
+ q(e.parentElement);
61
+ const t = window.getComputedStyle(e);
62
+ W({
63
+ paddingTop: t.paddingTop,
64
+ paddingRight: t.paddingRight,
65
+ paddingBottom: t.paddingBottom,
66
+ paddingLeft: t.paddingLeft,
67
+ fontFamily: t.fontFamily,
68
+ fontSize: t.fontSize,
69
+ fontWeight: t.fontWeight,
70
+ lineHeight: t.lineHeight,
71
+ letterSpacing: t.letterSpacing,
72
+ boxSizing: t.boxSizing,
73
+ borderWidth: t.borderWidth,
74
+ borderStyle: t.borderStyle,
75
+ borderColor: "transparent"
76
+ });
77
+ }, []);
78
+ r.useLayoutEffect(() => (u(), window.addEventListener("resize", u), () => window.removeEventListener("resize", u)), [u]), r.useEffect(() => {
79
+ const e = n.current?.querySelector("input, textarea");
80
+ if (!e)
81
+ return;
82
+ const t = () => {
83
+ l.current && (l.current.scrollLeft = e.scrollLeft);
84
+ };
85
+ return e.addEventListener("scroll", t), () => e.removeEventListener("scroll", t);
86
+ }, []), r.useEffect(() => {
87
+ const e = n.current?.querySelector("input, textarea");
88
+ e && l.current && (l.current.scrollLeft = e.scrollLeft);
89
+ }, [o]), r.useEffect(() => {
90
+ const e = m.current;
91
+ if (e === null)
92
+ return;
93
+ const t = n.current?.querySelector("input, textarea");
94
+ t && (t.focus(), t.setSelectionRange(e, e)), m.current = null;
95
+ }, [o, m]), r.useEffect(() => {
96
+ if (i)
97
+ return s(), window.addEventListener("scroll", s, !0), window.addEventListener("resize", s), () => {
98
+ window.removeEventListener("scroll", s, !0), window.removeEventListener("resize", s);
99
+ };
100
+ }, [i, s]), r.useEffect(() => {
101
+ if (!i)
102
+ return;
103
+ const e = (t) => {
104
+ const C = t.target;
105
+ n.current?.contains(C) || S.current?.contains(C) || R();
106
+ };
107
+ return document.addEventListener("mousedown", e, !0), () => document.removeEventListener("mousedown", e, !0);
108
+ }, [i, R, f]);
109
+ const k = (e) => {
110
+ const t = e.target.selectionStart ?? e.target.value.length;
111
+ K(e.target.value, t);
112
+ }, G = c ? v ? v(c, g.length) : H(
113
+ { id: "header" },
114
+ { path: c.parts.length ? c.parts.join(".") : d, count: g.length }
115
+ ) : null, J = !!p && ne(o ?? "", d, h), L = /* @__PURE__ */ a.jsx(
116
+ Z,
117
+ {
118
+ ...y,
119
+ value: o,
120
+ disabled: E,
121
+ onChange: k,
122
+ onKeydown: (e) => {
123
+ N(e), y.onKeydown?.(e);
124
+ }
125
+ }
126
+ );
127
+ return /* @__PURE__ */ a.jsxs(
128
+ "div",
129
+ {
130
+ ref: n,
131
+ className: `${T}-expression-input ${f}${x ? ` ${x}` : ""}`,
132
+ children: [
133
+ p ? /* @__PURE__ */ a.jsx(
134
+ Q,
135
+ {
136
+ title: p,
137
+ trigger: ["hover", "focus"],
138
+ ...J ? {} : { visible: !1 },
139
+ children: L
140
+ }
141
+ ) : L,
142
+ w && b.createPortal(
143
+ /* @__PURE__ */ a.jsx(
144
+ ie,
145
+ {
146
+ ref: l,
147
+ segments: _,
148
+ style: U
149
+ }
150
+ ),
151
+ w
152
+ ),
153
+ i && n.current && b.createPortal(
154
+ /* @__PURE__ */ a.jsx(
155
+ re,
156
+ {
157
+ ref: S,
158
+ instanceClass: f,
159
+ visible: i,
160
+ rect: $,
161
+ header: G,
162
+ candidates: g,
163
+ highlight: A,
164
+ virtualizeThreshold: F,
165
+ onSelect: V,
166
+ onHighlightChange: B
167
+ }
168
+ ),
169
+ P(n.current)
170
+ )
171
+ ]
172
+ }
173
+ );
174
+ };
175
+ export {
176
+ Re as default
177
+ };
178
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,52 @@
1
+ import { TextFieldProps } from '../TextField';
2
+ import * as React from 'react';
3
+ export interface ExprCandidate {
4
+ /** 插入表达式时使用的实际值 */
5
+ value: string;
6
+ /** 展示用名称,不传则显示 value */
7
+ label?: string;
8
+ /** 右侧描述文案 */
9
+ desc?: string;
10
+ /** 选中后是否自动追加 `.` 以便继续下钻子级 */
11
+ chain?: boolean;
12
+ /** 是否为敏感字段,展示锁图标 */
13
+ sensitive?: boolean;
14
+ }
15
+ export interface ExprChainCtx {
16
+ /** 当前光标所在链路中,已确定的上级片段(不含正在输入的部分) */
17
+ parts: string[];
18
+ /** 当前正在输入、尚未确定的片段 */
19
+ partial: string;
20
+ }
21
+ export interface ExpressionInputProps extends Omit<TextFieldProps, 'value' | 'onChange'> {
22
+ value?: string;
23
+ onChange?: (value: string) => void;
24
+ /**
25
+ * 只读态,输入触发前缀时不弹出候选浮层。
26
+ * 注:仓库现有 TextField 无 readOnly 能力,该态仅影响候选弹出逻辑,不改变输入框本身的可编辑外观。
27
+ */
28
+ readOnly?: boolean;
29
+ /**
30
+ * 按当前命名空间路径(不含正在输入的 partial)返回该层级的完整候选列表。
31
+ * 仅在 parts 变化(下钻/回退层级)时调用,组件内部按 parts 缓存结果;
32
+ * 同层级内继续输入 partial 只做客户端过滤,不会重复调用。
33
+ */
34
+ resolveCandidates: (parts: string[]) => ExprCandidate[];
35
+ /**
36
+ * 触发匹配机制,默认 'braces':仅当光标位于 `{{ }}` 区间内且内容匹配
37
+ * `{prefix}.xxx` 才弹窗。'bare':不要求大括号包裹,对齐 Ditto 原始行为。
38
+ */
39
+ triggerMode?: 'braces' | 'bare';
40
+ /** 触发表达式补全的前缀符号,默认 '$' */
41
+ triggerPrefix?: string;
42
+ /** 候选数量超过该阈值时启用虚拟滚动,默认 50 */
43
+ virtualizeThreshold?: number;
44
+ /** 自定义浮层 header 文案(面包屑 + 数量 + 快捷键提示),不传则使用默认 i18n 文案 */
45
+ renderPopupHeader?: (ctx: ExprChainCtx, count: number) => React.ReactNode;
46
+ /**
47
+ * 表达式说明 tooltip 文案,不传则不展示;仅当 value 命中表达式格式(braces/bare)时,hover/focus 输入框才会真正弹出。
48
+ * 注:是否命中只在触发 hover/focus 那一刻判定,若光标停留期间继续输入使 value 从未命中变为命中,
49
+ * 不会自动弹出,需要重新 hover/focus 才会展示——这是已知的边界行为,非 bug。
50
+ */
51
+ expressionTooltip?: React.ReactNode;
52
+ }