@hkyhy/marsun-components-core 0.1.82 → 0.1.98

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 (285) hide show
  1. package/dist/components/Audit/AuditLogList.d.ts +27 -0
  2. package/dist/components/Audit/AuditLogList.js +272 -0
  3. package/dist/components/Audit/AuditLogList.js.map +1 -0
  4. package/dist/components/Audit/formatAuditCurl.d.ts +27 -0
  5. package/dist/components/Audit/formatAuditCurl.js +115 -0
  6. package/dist/components/Audit/formatAuditCurl.js.map +1 -0
  7. package/dist/components/Audit/formatAuditJson.d.ts +15 -0
  8. package/dist/components/Audit/formatAuditJson.js +135 -0
  9. package/dist/components/Audit/formatAuditJson.js.map +1 -0
  10. package/dist/components/Audit/index.d.ts +3 -0
  11. package/dist/components/Audit/style.module.scss.js +30 -0
  12. package/dist/components/Audit/style.module.scss.js.map +1 -0
  13. package/dist/components/Audit/types.d.ts +39 -0
  14. package/dist/components/Editor/RichTextEditor/RichTextEditor.d.ts +24 -0
  15. package/dist/components/Editor/RichTextEditor/RichTextEditor.js +93 -0
  16. package/dist/components/Editor/RichTextEditor/RichTextEditor.js.map +1 -0
  17. package/dist/components/Editor/RichTextEditor/index.d.ts +2 -0
  18. package/dist/components/Editor/RichTextEditor/style.module.scss.js +11 -0
  19. package/dist/components/Editor/RichTextEditor/style.module.scss.js.map +1 -0
  20. package/dist/components/Editor/VariablePicker.d.ts +19 -0
  21. package/dist/components/Editor/VariablePicker.js +55 -0
  22. package/dist/components/Editor/VariablePicker.js.map +1 -0
  23. package/dist/components/Editor/index.d.ts +7 -0
  24. package/dist/components/Editor/index.js +21 -0
  25. package/dist/components/Editor/index.js.map +1 -0
  26. package/dist/components/Editor/msgVarTokenPlugin.d.ts +13 -0
  27. package/dist/components/Editor/msgVarTokenPlugin.js +94 -0
  28. package/dist/components/Editor/msgVarTokenPlugin.js.map +1 -0
  29. package/dist/components/Editor/variableMention.d.ts +37 -0
  30. package/dist/components/Editor/variableMention.js +64 -0
  31. package/dist/components/Editor/variableMention.js.map +1 -0
  32. package/dist/components/FormInfo/RichTextField/index.d.ts +21 -0
  33. package/dist/components/FormInfo/RichTextField/index.js +82 -0
  34. package/dist/components/FormInfo/RichTextField/index.js.map +1 -0
  35. package/dist/components/FormInfo/RichTextField/style.module.scss.js +9 -0
  36. package/dist/components/FormInfo/RichTextField/style.module.scss.js.map +1 -0
  37. package/dist/components/FormInfo/VariableMentionInput/index.d.ts +17 -0
  38. package/dist/components/FormInfo/VariableMentionInput/index.js +73 -0
  39. package/dist/components/FormInfo/VariableMentionInput/index.js.map +1 -0
  40. package/dist/components/FormInfo/VariableMentionInput/style.module.scss.js +11 -0
  41. package/dist/components/FormInfo/VariableMentionInput/style.module.scss.js.map +1 -0
  42. package/dist/components/FormInfo/fields.d.ts +5 -0
  43. package/dist/components/FormInfo/fields.js +32 -23
  44. package/dist/components/FormInfo/fields.js.map +1 -1
  45. package/dist/components/FormInfo/index.d.ts +4 -0
  46. package/dist/components/StateBar/StateBar.d.ts +19 -6
  47. package/dist/components/StateBar/StateBar.js +87 -50
  48. package/dist/components/StateBar/StateBar.js.map +1 -1
  49. package/dist/components/StateBar/style.module.scss.js +13 -10
  50. package/dist/components/StateBar/style.module.scss.js.map +1 -1
  51. package/dist/components/Table/ResizableHeaderCell.js +37 -38
  52. package/dist/components/Table/ResizableHeaderCell.js.map +1 -1
  53. package/dist/components/Table/Table.js +88 -89
  54. package/dist/components/Table/Table.js.map +1 -1
  55. package/dist/components/Table/columnConfigUtils.d.ts +1 -1
  56. package/dist/components/Table/columnConfigUtils.js.map +1 -1
  57. package/dist/components/Table/style.module.scss.js +34 -34
  58. package/dist/components/Tools/Inbox/InboxBell/InboxBell.d.ts +45 -0
  59. package/dist/components/Tools/Inbox/InboxBell/InboxBell.js +156 -0
  60. package/dist/components/Tools/Inbox/InboxBell/InboxBell.js.map +1 -0
  61. package/dist/components/Tools/Inbox/InboxBell/index.d.ts +2 -0
  62. package/dist/components/Tools/Inbox/InboxBell/style.module.scss.js +30 -0
  63. package/dist/components/Tools/Inbox/InboxBell/style.module.scss.js.map +1 -0
  64. package/dist/components/Tools/Inbox/index.d.ts +2 -0
  65. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.d.ts +8 -0
  66. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.js +56 -0
  67. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.js.map +1 -0
  68. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/MessageTemplateAdmin.d.ts +8 -0
  69. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/MessageTemplateAdmin.js +216 -0
  70. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/MessageTemplateAdmin.js.map +1 -0
  71. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/Modal/TemplateFormModal.d.ts +26 -0
  72. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/Modal/TemplateFormModal.js +190 -0
  73. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/Modal/TemplateFormModal.js.map +1 -0
  74. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/index.d.ts +3 -0
  75. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/style.module.scss.js +12 -0
  76. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/style.module.scss.js.map +1 -0
  77. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.d.ts +76 -0
  78. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.js +26 -0
  79. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.js.map +1 -0
  80. package/dist/components/Tools/MessageCenter/index.d.ts +3 -0
  81. package/dist/components/Tools/MessageCenter/utils/templateCode.d.ts +8 -0
  82. package/dist/components/Tools/MessageCenter/utils/templateCode.js +25 -0
  83. package/dist/components/Tools/MessageCenter/utils/templateCode.js.map +1 -0
  84. package/dist/components/Tools/index.d.ts +5 -0
  85. package/dist/components/index.d.ts +3 -0
  86. package/dist/editor.d.ts +5 -0
  87. package/dist/editor.js +21 -0
  88. package/dist/editor.js.map +1 -0
  89. package/dist/form-info.js +33 -29
  90. package/dist/form-info.js.map +1 -1
  91. package/dist/index.d.ts +5 -0
  92. package/dist/index.js +805 -773
  93. package/dist/index.js.map +1 -1
  94. package/dist/marsun-components-core.css +4 -1
  95. package/dist/node_modules/@ckeditor/ckeditor5-basic-styles/dist/index.js +301 -0
  96. package/dist/node_modules/@ckeditor/ckeditor5-basic-styles/dist/index.js.map +1 -0
  97. package/dist/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js +1256 -0
  98. package/dist/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js.map +1 -0
  99. package/dist/node_modules/@ckeditor/ckeditor5-core/dist/index.js +2107 -0
  100. package/dist/node_modules/@ckeditor/ckeditor5-core/dist/index.js.map +1 -0
  101. package/dist/node_modules/@ckeditor/ckeditor5-editor-classic/dist/index.js +259 -0
  102. package/dist/node_modules/@ckeditor/ckeditor5-editor-classic/dist/index.js.map +1 -0
  103. package/dist/node_modules/@ckeditor/ckeditor5-engine/dist/index.js +23990 -0
  104. package/dist/node_modules/@ckeditor/ckeditor5-engine/dist/index.js.map +1 -0
  105. package/dist/node_modules/@ckeditor/ckeditor5-enter/dist/index.js +249 -0
  106. package/dist/node_modules/@ckeditor/ckeditor5-enter/dist/index.js.map +1 -0
  107. package/dist/node_modules/@ckeditor/ckeditor5-essentials/dist/index.js +47 -0
  108. package/dist/node_modules/@ckeditor/ckeditor5-essentials/dist/index.js.map +1 -0
  109. package/dist/node_modules/@ckeditor/ckeditor5-font/dist/index.js +100 -0
  110. package/dist/node_modules/@ckeditor/ckeditor5-font/dist/index.js.map +1 -0
  111. package/dist/node_modules/@ckeditor/ckeditor5-icons/dist/index.js +31 -0
  112. package/dist/node_modules/@ckeditor/ckeditor5-icons/dist/index.js.map +1 -0
  113. package/dist/node_modules/@ckeditor/ckeditor5-integrations-common/dist/index.js +194 -0
  114. package/dist/node_modules/@ckeditor/ckeditor5-integrations-common/dist/index.js.map +1 -0
  115. package/dist/node_modules/@ckeditor/ckeditor5-list/dist/index.js +2042 -0
  116. package/dist/node_modules/@ckeditor/ckeditor5-list/dist/index.js.map +1 -0
  117. package/dist/node_modules/@ckeditor/ckeditor5-mention/dist/index.js +9 -0
  118. package/dist/node_modules/@ckeditor/ckeditor5-mention/dist/index.js.map +1 -0
  119. package/dist/node_modules/@ckeditor/ckeditor5-paragraph/dist/index.js +167 -0
  120. package/dist/node_modules/@ckeditor/ckeditor5-paragraph/dist/index.js.map +1 -0
  121. package/dist/node_modules/@ckeditor/ckeditor5-react/dist/index.js +471 -0
  122. package/dist/node_modules/@ckeditor/ckeditor5-react/dist/index.js.map +1 -0
  123. package/dist/node_modules/@ckeditor/ckeditor5-select-all/dist/index.js +139 -0
  124. package/dist/node_modules/@ckeditor/ckeditor5-select-all/dist/index.js.map +1 -0
  125. package/dist/node_modules/@ckeditor/ckeditor5-typing/dist/index.js +755 -0
  126. package/dist/node_modules/@ckeditor/ckeditor5-typing/dist/index.js.map +1 -0
  127. package/dist/node_modules/@ckeditor/ckeditor5-ui/dist/index.js +7838 -0
  128. package/dist/node_modules/@ckeditor/ckeditor5-ui/dist/index.js.map +1 -0
  129. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/conversions.js +422 -0
  130. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/conversions.js.map +1 -0
  131. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/index.js +33 -0
  132. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/index.js.map +1 -0
  133. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/route.js +47 -0
  134. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/route.js.map +1 -0
  135. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-name/index.js +156 -0
  136. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-name/index.js.map +1 -0
  137. package/dist/node_modules/@ckeditor/ckeditor5-undo/dist/index.js +313 -0
  138. package/dist/node_modules/@ckeditor/ckeditor5-undo/dist/index.js.map +1 -0
  139. package/dist/node_modules/@ckeditor/ckeditor5-utils/dist/index.js +2942 -0
  140. package/dist/node_modules/@ckeditor/ckeditor5-utils/dist/index.js.map +1 -0
  141. package/dist/node_modules/@ckeditor/ckeditor5-watchdog/dist/index.js +892 -0
  142. package/dist/node_modules/@ckeditor/ckeditor5-watchdog/dist/index.js.map +1 -0
  143. package/dist/node_modules/@ckeditor/ckeditor5-widget/dist/index.js +1047 -0
  144. package/dist/node_modules/@ckeditor/ckeditor5-widget/dist/index.js.map +1 -0
  145. package/dist/node_modules/color-parse/node_modules/color-name/index.js +153 -0
  146. package/dist/node_modules/color-parse/node_modules/color-name/index.js.map +1 -0
  147. package/dist/node_modules/es-toolkit/dist/_internal/globalThis.js +7 -0
  148. package/dist/node_modules/es-toolkit/dist/_internal/globalThis.js.map +1 -0
  149. package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js +7 -0
  150. package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js.map +1 -0
  151. package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeToWriteProperty.js +7 -0
  152. package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeToWriteProperty.js.map +1 -0
  153. package/dist/node_modules/es-toolkit/dist/compat/_internal/assignValue.js +9 -0
  154. package/dist/node_modules/es-toolkit/dist/compat/_internal/assignValue.js.map +1 -0
  155. package/dist/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js +7 -0
  156. package/dist/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js.map +1 -0
  157. package/dist/node_modules/es-toolkit/dist/compat/_internal/getTag.js +7 -0
  158. package/dist/node_modules/es-toolkit/dist/compat/_internal/getTag.js.map +1 -0
  159. package/dist/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js +16 -0
  160. package/dist/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js.map +1 -0
  161. package/dist/node_modules/es-toolkit/dist/compat/_internal/isIndex.js +15 -0
  162. package/dist/node_modules/es-toolkit/dist/compat/_internal/isIndex.js.map +1 -0
  163. package/dist/node_modules/es-toolkit/dist/compat/_internal/isKey.js +9 -0
  164. package/dist/node_modules/es-toolkit/dist/compat/_internal/isKey.js.map +1 -0
  165. package/dist/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js +8 -0
  166. package/dist/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js.map +1 -0
  167. package/dist/node_modules/es-toolkit/dist/compat/_internal/tags.js +30 -0
  168. package/dist/node_modules/es-toolkit/dist/compat/_internal/tags.js.map +1 -0
  169. package/dist/node_modules/es-toolkit/dist/compat/_internal/toKey.js +8 -0
  170. package/dist/node_modules/es-toolkit/dist/compat/_internal/toKey.js.map +1 -0
  171. package/dist/node_modules/es-toolkit/dist/compat/function/debounce.js +17 -0
  172. package/dist/node_modules/es-toolkit/dist/compat/function/debounce.js.map +1 -0
  173. package/dist/node_modules/es-toolkit/dist/compat/function/throttle.js +13 -0
  174. package/dist/node_modules/es-toolkit/dist/compat/function/throttle.js.map +1 -0
  175. package/dist/node_modules/es-toolkit/dist/compat/object/assignIn.js +17 -0
  176. package/dist/node_modules/es-toolkit/dist/compat/object/assignIn.js.map +1 -0
  177. package/dist/node_modules/es-toolkit/dist/compat/object/clone.js +102 -0
  178. package/dist/node_modules/es-toolkit/dist/compat/object/clone.js.map +1 -0
  179. package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +8 -0
  180. package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeep.js.map +1 -0
  181. package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js +33 -0
  182. package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js.map +1 -0
  183. package/dist/node_modules/es-toolkit/dist/compat/object/get.js +39 -0
  184. package/dist/node_modules/es-toolkit/dist/compat/object/get.js.map +1 -0
  185. package/dist/node_modules/es-toolkit/dist/compat/object/has.js +21 -0
  186. package/dist/node_modules/es-toolkit/dist/compat/object/has.js.map +1 -0
  187. package/dist/node_modules/es-toolkit/dist/compat/object/keysIn.js +33 -0
  188. package/dist/node_modules/es-toolkit/dist/compat/object/keysIn.js.map +1 -0
  189. package/dist/node_modules/es-toolkit/dist/compat/object/mapValues.js +10 -0
  190. package/dist/node_modules/es-toolkit/dist/compat/object/mapValues.js.map +1 -0
  191. package/dist/node_modules/es-toolkit/dist/compat/object/merge.js +9 -0
  192. package/dist/node_modules/es-toolkit/dist/compat/object/merge.js.map +1 -0
  193. package/dist/node_modules/es-toolkit/dist/compat/object/mergeWith.js +53 -0
  194. package/dist/node_modules/es-toolkit/dist/compat/object/mergeWith.js.map +1 -0
  195. package/dist/node_modules/es-toolkit/dist/compat/object/property.js +10 -0
  196. package/dist/node_modules/es-toolkit/dist/compat/object/property.js.map +1 -0
  197. package/dist/node_modules/es-toolkit/dist/compat/object/set.js +9 -0
  198. package/dist/node_modules/es-toolkit/dist/compat/object/set.js.map +1 -0
  199. package/dist/node_modules/es-toolkit/dist/compat/object/updateWith.js +31 -0
  200. package/dist/node_modules/es-toolkit/dist/compat/object/updateWith.js.map +1 -0
  201. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArguments.js +8 -0
  202. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArguments.js.map +1 -0
  203. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArray.js +7 -0
  204. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArray.js.map +1 -0
  205. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js +8 -0
  206. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js.map +1 -0
  207. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js +9 -0
  208. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js.map +1 -0
  209. package/dist/node_modules/es-toolkit/dist/compat/predicate/isElement.js +9 -0
  210. package/dist/node_modules/es-toolkit/dist/compat/predicate/isElement.js.map +1 -0
  211. package/dist/node_modules/es-toolkit/dist/compat/predicate/isEqualWith.js +15 -0
  212. package/dist/node_modules/es-toolkit/dist/compat/predicate/isEqualWith.js.map +1 -0
  213. package/dist/node_modules/es-toolkit/dist/compat/predicate/isFunction.js +7 -0
  214. package/dist/node_modules/es-toolkit/dist/compat/predicate/isFunction.js.map +1 -0
  215. package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatch.js +9 -0
  216. package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatch.js.map +1 -0
  217. package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js +81 -0
  218. package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js.map +1 -0
  219. package/dist/node_modules/es-toolkit/dist/compat/predicate/isObject.js +7 -0
  220. package/dist/node_modules/es-toolkit/dist/compat/predicate/isObject.js.map +1 -0
  221. package/dist/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js +7 -0
  222. package/dist/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js.map +1 -0
  223. package/dist/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js +16 -0
  224. package/dist/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js.map +1 -0
  225. package/dist/node_modules/es-toolkit/dist/compat/predicate/isString.js +7 -0
  226. package/dist/node_modules/es-toolkit/dist/compat/predicate/isString.js.map +1 -0
  227. package/dist/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js +7 -0
  228. package/dist/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js.map +1 -0
  229. package/dist/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js +8 -0
  230. package/dist/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js.map +1 -0
  231. package/dist/node_modules/es-toolkit/dist/compat/predicate/matches.js +9 -0
  232. package/dist/node_modules/es-toolkit/dist/compat/predicate/matches.js.map +1 -0
  233. package/dist/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js +23 -0
  234. package/dist/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js.map +1 -0
  235. package/dist/node_modules/es-toolkit/dist/compat/util/eq.js +7 -0
  236. package/dist/node_modules/es-toolkit/dist/compat/util/eq.js.map +1 -0
  237. package/dist/node_modules/es-toolkit/dist/compat/util/iteratee.js +19 -0
  238. package/dist/node_modules/es-toolkit/dist/compat/util/iteratee.js.map +1 -0
  239. package/dist/node_modules/es-toolkit/dist/compat/util/times.js +11 -0
  240. package/dist/node_modules/es-toolkit/dist/compat/util/times.js.map +1 -0
  241. package/dist/node_modules/es-toolkit/dist/compat/util/toFinite.js +8 -0
  242. package/dist/node_modules/es-toolkit/dist/compat/util/toFinite.js.map +1 -0
  243. package/dist/node_modules/es-toolkit/dist/compat/util/toInteger.js +9 -0
  244. package/dist/node_modules/es-toolkit/dist/compat/util/toInteger.js.map +1 -0
  245. package/dist/node_modules/es-toolkit/dist/compat/util/toNumber.js +8 -0
  246. package/dist/node_modules/es-toolkit/dist/compat/util/toNumber.js.map +1 -0
  247. package/dist/node_modules/es-toolkit/dist/compat/util/toPath.js +37 -0
  248. package/dist/node_modules/es-toolkit/dist/compat/util/toPath.js.map +1 -0
  249. package/dist/node_modules/es-toolkit/dist/compat/util/toString.js +15 -0
  250. package/dist/node_modules/es-toolkit/dist/compat/util/toString.js.map +1 -0
  251. package/dist/node_modules/es-toolkit/dist/function/after.js +11 -0
  252. package/dist/node_modules/es-toolkit/dist/function/after.js.map +1 -0
  253. package/dist/node_modules/es-toolkit/dist/function/debounce.js +30 -0
  254. package/dist/node_modules/es-toolkit/dist/function/debounce.js.map +1 -0
  255. package/dist/node_modules/es-toolkit/dist/function/identity.js +7 -0
  256. package/dist/node_modules/es-toolkit/dist/function/identity.js.map +1 -0
  257. package/dist/node_modules/es-toolkit/dist/function/noop.js +6 -0
  258. package/dist/node_modules/es-toolkit/dist/function/noop.js.map +1 -0
  259. package/dist/node_modules/es-toolkit/dist/object/clone.js +27 -0
  260. package/dist/node_modules/es-toolkit/dist/object/clone.js.map +1 -0
  261. package/dist/node_modules/es-toolkit/dist/object/cloneDeep.js +8 -0
  262. package/dist/node_modules/es-toolkit/dist/object/cloneDeep.js.map +1 -0
  263. package/dist/node_modules/es-toolkit/dist/object/cloneDeepWith.js +121 -0
  264. package/dist/node_modules/es-toolkit/dist/object/cloneDeepWith.js.map +1 -0
  265. package/dist/node_modules/es-toolkit/dist/object/mapValues.js +12 -0
  266. package/dist/node_modules/es-toolkit/dist/object/mapValues.js.map +1 -0
  267. package/dist/node_modules/es-toolkit/dist/predicate/isBuffer.js +8 -0
  268. package/dist/node_modules/es-toolkit/dist/predicate/isBuffer.js.map +1 -0
  269. package/dist/node_modules/es-toolkit/dist/predicate/isEqual.js +9 -0
  270. package/dist/node_modules/es-toolkit/dist/predicate/isEqual.js.map +1 -0
  271. package/dist/node_modules/es-toolkit/dist/predicate/isEqualWith.js +110 -0
  272. package/dist/node_modules/es-toolkit/dist/predicate/isEqualWith.js.map +1 -0
  273. package/dist/node_modules/es-toolkit/dist/predicate/isLength.js +7 -0
  274. package/dist/node_modules/es-toolkit/dist/predicate/isLength.js.map +1 -0
  275. package/dist/node_modules/es-toolkit/dist/predicate/isPlainObject.js +9 -0
  276. package/dist/node_modules/es-toolkit/dist/predicate/isPlainObject.js.map +1 -0
  277. package/dist/node_modules/es-toolkit/dist/predicate/isPrimitive.js +7 -0
  278. package/dist/node_modules/es-toolkit/dist/predicate/isPrimitive.js.map +1 -0
  279. package/dist/node_modules/es-toolkit/dist/predicate/isTypedArray.js +7 -0
  280. package/dist/node_modules/es-toolkit/dist/predicate/isTypedArray.js.map +1 -0
  281. package/dist/styles/global.css +4 -1
  282. package/dist/utils/copyText.d.ts +4 -0
  283. package/dist/utils/copyText.js +21 -0
  284. package/dist/utils/copyText.js.map +1 -0
  285. package/package.json +9 -2
@@ -0,0 +1,37 @@
1
+ /**
2
+ * 变量占位工具:存盘 `{{key}}`(与 marsun_msg_center render 对齐)。
3
+ * 插入走「插入变量」按钮(VariablePicker);正文为原子 widget。
4
+ * 禁止 FE DEFAULT_VARS。
5
+ */
6
+ export type VariableMentionItem = {
7
+ key: string;
8
+ label?: string;
9
+ type?: string;
10
+ };
11
+ /** 编辑区色块 class(RTE content + Input 展示) */
12
+ export declare const MSG_VAR_TOKEN_CLASS = "msg-var-token";
13
+ /** 双花括号占位 */
14
+ export declare const VAR_PLACEHOLDER_RE: RegExp;
15
+ export declare function toVarToken(key: string): string;
16
+ /** 下拉展示:中文 label + code(无前导 /) */
17
+ export declare function formatVariableOptionLabel(v: VariableMentionItem): string;
18
+ export declare function filterVariableFeed(variables: VariableMentionItem[] | undefined, query: string): VariableMentionItem[];
19
+ /** CKEditor Mention feed item:id 须以 marker 开头;text 为插入的 {{key}} */
20
+ export declare function toMentionFeedItem(v: VariableMentionItem): {
21
+ id: string;
22
+ text: string;
23
+ key: string;
24
+ label?: string;
25
+ };
26
+ /**
27
+ * 将 CKEditor mention 节点规范为字面 `{{key}}` 色块 span(存盘/预览用)。
28
+ */
29
+ export declare function normalizeMentionHtmlToVarTokens(html: string): string;
30
+ /**
31
+ * 读入编辑器前:裸 `{{key}}` / 旧色块 → 带 data-var 的 span,供 MsgVarWidget upcast。
32
+ */
33
+ export declare function wrapVarTokensForDisplay(html: string): string;
34
+ /** @deprecated 兼容旧名;等同 wrapVarTokensForDisplay */
35
+ export declare function upliftVarTokensToMentions(html: string): string;
36
+ /** 在纯文本光标处插入 `{{key}}` */
37
+ export declare function insertVarTokenAt(text: string, key: string, caret?: number): string;
@@ -0,0 +1,64 @@
1
+ const i = "msg-var-token", g = /\{\{(\w+)\}\}/g;
2
+ function c(n) {
3
+ return `{{${String(n || "").trim()}}}`;
4
+ }
5
+ function f(n) {
6
+ const t = String(n.key || "").trim(), r = String(n.label || "").trim();
7
+ return r && r !== t ? `${r} ${t}` : t;
8
+ }
9
+ function S(n, t) {
10
+ const r = Array.isArray(n) ? n : [], a = String(t || "").replace(/^\//, "").trim().toLowerCase();
11
+ return a ? r.filter((e) => {
12
+ const s = String(e.key || "").toLowerCase(), o = String(e.label || "").toLowerCase();
13
+ return s.includes(a) || o.includes(a);
14
+ }) : r;
15
+ }
16
+ function m(n) {
17
+ const t = String(n.key || "").trim();
18
+ return {
19
+ id: `/${t}`,
20
+ text: c(t),
21
+ key: t,
22
+ label: n.label
23
+ };
24
+ }
25
+ function u(n) {
26
+ return String(n || "").replace(
27
+ /<span\b[^>]*\bdata-mention="\/(\w+)"[^>]*>[\s\S]*?<\/span>/gi,
28
+ (t, r) => `<span class="${i}" data-var="${r}">{{${r}}}</span>`
29
+ );
30
+ }
31
+ function p(n) {
32
+ let t = u(String(n || ""));
33
+ const r = new RegExp(
34
+ `<span\\b([^>]*\\bclass="[^"]*${i}[^"]*"[^>]*)>\\{\\{(\\w+)\\}\\}<\\/span>`,
35
+ "gi"
36
+ );
37
+ return t = t.replace(r, (a, e, s) => /\bdata-var=/.test(e) ? `<span${e}>{{${s}}}</span>` : `<span class="${i}" data-var="${s}">{{${s}}}</span>`), t = t.replace(/(^|>)([^<]*)/g, (a, e, s) => {
38
+ const o = s.replace(
39
+ /\{\{(\w+)\}\}/g,
40
+ ($, l) => `<span class="${i}" data-var="${l}">{{${l}}}</span>`
41
+ );
42
+ return `${e}${o}`;
43
+ }), t;
44
+ }
45
+ function b(n) {
46
+ return p(n);
47
+ }
48
+ function d(n, t, r = -1) {
49
+ const a = c(t), e = String(n || "");
50
+ return r < 0 || r > e.length ? `${e}${a}` : `${e.slice(0, r)}${a}${e.slice(r)}`;
51
+ }
52
+ export {
53
+ i as MSG_VAR_TOKEN_CLASS,
54
+ g as VAR_PLACEHOLDER_RE,
55
+ S as filterVariableFeed,
56
+ f as formatVariableOptionLabel,
57
+ d as insertVarTokenAt,
58
+ u as normalizeMentionHtmlToVarTokens,
59
+ m as toMentionFeedItem,
60
+ c as toVarToken,
61
+ b as upliftVarTokensToMentions,
62
+ p as wrapVarTokensForDisplay
63
+ };
64
+ //# sourceMappingURL=variableMention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variableMention.js","sources":["../../../src/components/Editor/variableMention.ts"],"sourcesContent":["/**\n * 变量占位工具:存盘 `{{key}}`(与 marsun_msg_center render 对齐)。\n * 插入走「插入变量」按钮(VariablePicker);正文为原子 widget。\n * 禁止 FE DEFAULT_VARS。\n */\n\nexport type VariableMentionItem = {\n key: string;\n label?: string;\n type?: string;\n};\n\n/** 编辑区色块 class(RTE content + Input 展示) */\nexport const MSG_VAR_TOKEN_CLASS = 'msg-var-token';\n\n/** 双花括号占位 */\nexport const VAR_PLACEHOLDER_RE = /\\{\\{(\\w+)\\}\\}/g;\n\nexport function toVarToken(key: string): string {\n return `{{${String(key || '').trim()}}}`;\n}\n\n/** 下拉展示:中文 label + code(无前导 /) */\nexport function formatVariableOptionLabel(v: VariableMentionItem): string {\n const key = String(v.key || '').trim();\n const label = String(v.label || '').trim();\n if (label && label !== key) return `${label} ${key}`;\n return key;\n}\n\nexport function filterVariableFeed(\n variables: VariableMentionItem[] | undefined,\n query: string,\n): VariableMentionItem[] {\n const list = Array.isArray(variables) ? variables : [];\n const q = String(query || '')\n .replace(/^\\//, '')\n .trim()\n .toLowerCase();\n if (!q) return list;\n return list.filter((v) => {\n const key = String(v.key || '').toLowerCase();\n const label = String(v.label || '').toLowerCase();\n return key.includes(q) || label.includes(q);\n });\n}\n\n/** CKEditor Mention feed item:id 须以 marker 开头;text 为插入的 {{key}} */\nexport function toMentionFeedItem(v: VariableMentionItem): {\n id: string;\n text: string;\n key: string;\n label?: string;\n} {\n const key = String(v.key || '').trim();\n return {\n id: `/${key}`,\n text: toVarToken(key),\n key,\n label: v.label,\n };\n}\n\n/**\n * 将 CKEditor mention 节点规范为字面 `{{key}}` 色块 span(存盘/预览用)。\n */\nexport function normalizeMentionHtmlToVarTokens(html: string): string {\n return String(html || '').replace(\n /<span\\b[^>]*\\bdata-mention=\"\\/(\\w+)\"[^>]*>[\\s\\S]*?<\\/span>/gi,\n (_m, key: string) => `<span class=\"${MSG_VAR_TOKEN_CLASS}\" data-var=\"${key}\">{{${key}}}</span>`,\n );\n}\n\n/**\n * 读入编辑器前:裸 `{{key}}` / 旧色块 → 带 data-var 的 span,供 MsgVarWidget upcast。\n */\nexport function wrapVarTokensForDisplay(html: string): string {\n let s = normalizeMentionHtmlToVarTokens(String(html || ''));\n const tokenSpanRe = new RegExp(\n `<span\\\\b([^>]*\\\\bclass=\"[^\"]*${MSG_VAR_TOKEN_CLASS}[^\"]*\"[^>]*)>\\\\{\\\\{(\\\\w+)\\\\}\\\\}<\\\\/span>`,\n 'gi',\n );\n s = s.replace(tokenSpanRe, (_m, attrs: string, key: string) => {\n if (/\\bdata-var=/.test(attrs)) return `<span${attrs}>{{${key}}}</span>`;\n return `<span class=\"${MSG_VAR_TOKEN_CLASS}\" data-var=\"${key}\">{{${key}}}</span>`;\n });\n s = s.replace(/(^|>)([^<]*)/g, (_full, prefix: string, text: string) => {\n const next = text.replace(\n /\\{\\{(\\w+)\\}\\}/g,\n (_m, key: string) =>\n `<span class=\"${MSG_VAR_TOKEN_CLASS}\" data-var=\"${key}\">{{${key}}}</span>`,\n );\n return `${prefix}${next}`;\n });\n return s;\n}\n\n/** @deprecated 兼容旧名;等同 wrapVarTokensForDisplay */\nexport function upliftVarTokensToMentions(html: string): string {\n return wrapVarTokensForDisplay(html);\n}\n\n/** 在纯文本光标处插入 `{{key}}` */\nexport function insertVarTokenAt(text: string, key: string, caret = -1): string {\n const token = toVarToken(key);\n const src = String(text || '');\n if (caret < 0 || caret > src.length) return `${src}${token}`;\n return `${src.slice(0, caret)}${token}${src.slice(caret)}`;\n}\n"],"names":["MSG_VAR_TOKEN_CLASS","VAR_PLACEHOLDER_RE","toVarToken","key","formatVariableOptionLabel","v","label","filterVariableFeed","variables","query","list","q","toMentionFeedItem","normalizeMentionHtmlToVarTokens","html","_m","wrapVarTokensForDisplay","s","tokenSpanRe","attrs","_full","prefix","text","next","upliftVarTokensToMentions","insertVarTokenAt","caret","token","src"],"mappings":"AAaO,MAAMA,IAAsB,iBAGtBC,IAAqB;AAE3B,SAASC,EAAWC,GAAqB;AAC9C,SAAO,KAAK,OAAOA,KAAO,EAAE,EAAE,MAAM;AACtC;AAGO,SAASC,EAA0BC,GAAgC;AACxE,QAAMF,IAAM,OAAOE,EAAE,OAAO,EAAE,EAAE,KAAA,GAC1BC,IAAQ,OAAOD,EAAE,SAAS,EAAE,EAAE,KAAA;AACpC,SAAIC,KAASA,MAAUH,IAAY,GAAGG,CAAK,KAAKH,CAAG,KAC5CA;AACT;AAEO,SAASI,EACdC,GACAC,GACuB;AACvB,QAAMC,IAAO,MAAM,QAAQF,CAAS,IAAIA,IAAY,CAAA,GAC9CG,IAAI,OAAOF,KAAS,EAAE,EACzB,QAAQ,OAAO,EAAE,EACjB,KAAA,EACA,YAAA;AACH,SAAKE,IACED,EAAK,OAAO,CAACL,MAAM;AACxB,UAAMF,IAAM,OAAOE,EAAE,OAAO,EAAE,EAAE,YAAA,GAC1BC,IAAQ,OAAOD,EAAE,SAAS,EAAE,EAAE,YAAA;AACpC,WAAOF,EAAI,SAASQ,CAAC,KAAKL,EAAM,SAASK,CAAC;AAAA,EAC5C,CAAC,IALcD;AAMjB;AAGO,SAASE,EAAkBP,GAKhC;AACA,QAAMF,IAAM,OAAOE,EAAE,OAAO,EAAE,EAAE,KAAA;AAChC,SAAO;AAAA,IACL,IAAI,IAAIF,CAAG;AAAA,IACX,MAAMD,EAAWC,CAAG;AAAA,IACpB,KAAAA;AAAA,IACA,OAAOE,EAAE;AAAA,EAAA;AAEb;AAKO,SAASQ,EAAgCC,GAAsB;AACpE,SAAO,OAAOA,KAAQ,EAAE,EAAE;AAAA,IACxB;AAAA,IACA,CAACC,GAAIZ,MAAgB,gBAAgBH,CAAmB,eAAeG,CAAG,OAAOA,CAAG;AAAA,EAAA;AAExF;AAKO,SAASa,EAAwBF,GAAsB;AAC5D,MAAIG,IAAIJ,EAAgC,OAAOC,KAAQ,EAAE,CAAC;AAC1D,QAAMI,IAAc,IAAI;AAAA,IACtB,gCAAgClB,CAAmB;AAAA,IACnD;AAAA,EAAA;AAEF,SAAAiB,IAAIA,EAAE,QAAQC,GAAa,CAACH,GAAII,GAAehB,MACzC,cAAc,KAAKgB,CAAK,IAAU,QAAQA,CAAK,MAAMhB,CAAG,cACrD,gBAAgBH,CAAmB,eAAeG,CAAG,OAAOA,CAAG,WACvE,GACDc,IAAIA,EAAE,QAAQ,iBAAiB,CAACG,GAAOC,GAAgBC,MAAiB;AACtE,UAAMC,IAAOD,EAAK;AAAA,MAChB;AAAA,MACA,CAACP,GAAIZ,MACH,gBAAgBH,CAAmB,eAAeG,CAAG,OAAOA,CAAG;AAAA,IAAA;AAEnE,WAAO,GAAGkB,CAAM,GAAGE,CAAI;AAAA,EACzB,CAAC,GACMN;AACT;AAGO,SAASO,EAA0BV,GAAsB;AAC9D,SAAOE,EAAwBF,CAAI;AACrC;AAGO,SAASW,EAAiBH,GAAcnB,GAAauB,IAAQ,IAAY;AAC9E,QAAMC,IAAQzB,EAAWC,CAAG,GACtByB,IAAM,OAAON,KAAQ,EAAE;AAC7B,SAAII,IAAQ,KAAKA,IAAQE,EAAI,SAAe,GAAGA,CAAG,GAAGD,CAAK,KACnD,GAAGC,EAAI,MAAM,GAAGF,CAAK,CAAC,GAAGC,CAAK,GAAGC,EAAI,MAAMF,CAAK,CAAC;AAC1D;"}
@@ -0,0 +1,21 @@
1
+ import { ComponentType, ReactNode } from 'react';
2
+ import { VariableMentionItem } from '../../Editor/variableMention';
3
+ export type RichTextFieldProps = {
4
+ name: string;
5
+ label?: ReactNode;
6
+ labelTips?: ReactNode | ((props: RichTextFieldProps) => ReactNode);
7
+ rule?: string;
8
+ disabled?: boolean;
9
+ readOnly?: boolean;
10
+ placeholder?: string;
11
+ minHeight?: number;
12
+ enableVariableMention?: boolean;
13
+ variables?: VariableMentionItem[];
14
+ catalogError?: string;
15
+ className?: string;
16
+ /** remount 键(换文档时传入) */
17
+ editorKey?: string;
18
+ [key: string]: unknown;
19
+ };
20
+ export declare const RichTextField: ComponentType<RichTextFieldProps>;
21
+ export default RichTextField;
@@ -0,0 +1,82 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import * as R from "@kne/react-form-antd";
3
+ import T from "classnames";
4
+ import { Suspense as N, lazy as u } from "react";
5
+ import h from "./style.module.scss.js";
6
+ const y = u(
7
+ () => import("../../Editor/index.js").then((e) => ({ default: e.RichTextEditor }))
8
+ ), b = ({
9
+ value: e = "",
10
+ onChange: i,
11
+ disabled: t,
12
+ readOnly: o,
13
+ placeholder: a,
14
+ minHeight: c = 140,
15
+ enableVariableMention: s,
16
+ variables: l,
17
+ catalogError: n,
18
+ className: d,
19
+ editorKey: m,
20
+ id: f
21
+ }) => /* @__PURE__ */ r(
22
+ "div",
23
+ {
24
+ className: T(
25
+ "marsun-form-rich-text",
26
+ h["form-rich-text"],
27
+ t && h["form-rich-text-disabled"],
28
+ d
29
+ ),
30
+ "data-field-id": f,
31
+ children: /* @__PURE__ */ r(N, { fallback: /* @__PURE__ */ r("div", { className: h["form-rich-text-loading"], children: "加载编辑器…" }), children: /* @__PURE__ */ r(
32
+ y,
33
+ {
34
+ value: e,
35
+ onChange: i,
36
+ disabled: t,
37
+ readOnly: o,
38
+ placeholder: a,
39
+ minHeight: c,
40
+ enableVariableMention: s,
41
+ variables: l,
42
+ catalogError: n
43
+ },
44
+ m || "rte"
45
+ ) })
46
+ }
47
+ ), x = (e) => {
48
+ const { useDecorator: i } = R.hooks, {
49
+ variables: t,
50
+ catalogError: o,
51
+ placeholder: a,
52
+ className: c,
53
+ enableVariableMention: s,
54
+ readOnly: l,
55
+ minHeight: n,
56
+ editorKey: d,
57
+ ...m
58
+ } = e;
59
+ return i({
60
+ fieldName: "richTextEditor",
61
+ ...m
62
+ })((p) => /* @__PURE__ */ r(
63
+ b,
64
+ {
65
+ ...p,
66
+ variables: t,
67
+ catalogError: o,
68
+ placeholder: a,
69
+ className: c,
70
+ enableVariableMention: s,
71
+ readOnly: l,
72
+ minHeight: n,
73
+ editorKey: d
74
+ }
75
+ ));
76
+ };
77
+ x.displayName = "RichTextField";
78
+ const k = x;
79
+ export {
80
+ k as RichTextField
81
+ };
82
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/FormInfo/RichTextField/index.tsx"],"sourcesContent":["import * as ReactFormAntd from '@kne/react-form-antd';\nimport classNames from 'classnames';\nimport type { ComponentType, FC, ReactNode } from 'react';\nimport { Suspense, lazy } from 'react';\nimport type { VariableMentionItem } from '@/components/Editor/variableMention';\nimport styles from './style.module.scss';\n\nconst RichTextEditor = lazy(() =>\n import('@/components/Editor').then((m) => ({ default: m.RichTextEditor })),\n);\n\nexport type RichTextFieldProps = {\n name: string;\n label?: ReactNode;\n labelTips?: ReactNode | ((props: RichTextFieldProps) => ReactNode);\n rule?: string;\n disabled?: boolean;\n readOnly?: boolean;\n placeholder?: string;\n minHeight?: number;\n enableVariableMention?: boolean;\n variables?: VariableMentionItem[];\n catalogError?: string;\n className?: string;\n /** remount 键(换文档时传入) */\n editorKey?: string;\n [key: string]: unknown;\n};\n\ntype FieldRenderProps = {\n value?: string;\n onChange?: (v: string) => void;\n disabled?: boolean;\n id?: string;\n};\n\ntype KneHooks = {\n useDecorator: (\n opts: Record<string, unknown>,\n ) => (Comp: ComponentType<FieldRenderProps>) => ReactNode;\n};\n\n/**\n * FormInfo 富文本字段:外观对齐 Input;L2 Editor 懒加载;「插入变量」+ 原子色块。\n */\nconst RichTextControl: FC<\n FieldRenderProps & {\n readOnly?: boolean;\n placeholder?: string;\n minHeight?: number;\n enableVariableMention?: boolean;\n variables?: VariableMentionItem[];\n catalogError?: string;\n className?: string;\n editorKey?: string;\n }\n> = ({\n value = '',\n onChange,\n disabled,\n readOnly,\n placeholder,\n minHeight = 140,\n enableVariableMention,\n variables,\n catalogError,\n className,\n editorKey,\n id,\n}) => (\n <div\n className={classNames(\n 'marsun-form-rich-text',\n styles['form-rich-text'],\n disabled && styles['form-rich-text-disabled'],\n className,\n )}\n data-field-id={id}\n >\n <Suspense fallback={<div className={styles['form-rich-text-loading']}>加载编辑器…</div>}>\n <RichTextEditor\n key={editorKey || 'rte'}\n value={value}\n onChange={onChange}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder}\n minHeight={minHeight}\n enableVariableMention={enableVariableMention}\n variables={variables}\n catalogError={catalogError}\n />\n </Suspense>\n </div>\n);\n\nconst RichTextFieldInner: FC<RichTextFieldProps> = (props) => {\n const { useDecorator } = (ReactFormAntd as unknown as { hooks: KneHooks }).hooks;\n const {\n variables,\n catalogError,\n placeholder,\n className,\n enableVariableMention,\n readOnly,\n minHeight,\n editorKey,\n ...rest\n } = props;\n const render = useDecorator({\n fieldName: 'richTextEditor',\n ...rest,\n });\n return render((fieldProps) => (\n <RichTextControl\n {...fieldProps}\n variables={variables}\n catalogError={catalogError}\n placeholder={placeholder}\n className={className}\n enableVariableMention={enableVariableMention}\n readOnly={readOnly}\n minHeight={minHeight}\n editorKey={editorKey}\n />\n ));\n};\n\nRichTextFieldInner.displayName = 'RichTextField';\n\nexport const RichTextField = RichTextFieldInner as ComponentType<RichTextFieldProps>;\n\nexport default RichTextField;\n"],"names":["RichTextEditor","lazy","m","RichTextControl","value","onChange","disabled","readOnly","placeholder","minHeight","enableVariableMention","variables","catalogError","className","editorKey","id","jsx","classNames","styles","Suspense","RichTextFieldInner","props","useDecorator","ReactFormAntd","rest","fieldProps","RichTextField"],"mappings":";;;;;AAOA,MAAMA,IAAiBC;AAAA,EAAK,MAC1B,OAAO,uBAAqB,EAAE,KAAK,CAACC,OAAO,EAAE,SAASA,EAAE,iBAAiB;AAC3E,GAoCMC,IAWF,CAAC;AAAA,EACH,OAAAC,IAAQ;AAAA,EACR,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,uBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,IAAAC;AACF,MACE,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAC,EAAO,gBAAgB;AAAA,MACvBZ,KAAYY,EAAO,yBAAyB;AAAA,MAC5CL;AAAA,IAAA;AAAA,IAEF,iBAAeE;AAAA,IAEf,UAAA,gBAAAC,EAACG,GAAA,EAAS,UAAU,gBAAAH,EAAC,OAAA,EAAI,WAAWE,EAAO,wBAAwB,GAAG,UAAA,SAAA,CAAM,GAC1E,UAAA,gBAAAF;AAAA,MAAChB;AAAA,MAAA;AAAA,QAEC,OAAAI;AAAA,QACA,UAAAC;AAAA,QACA,UAAAC;AAAA,QACA,UAAAC;AAAA,QACA,aAAAC;AAAA,QACA,WAAAC;AAAA,QACA,uBAAAC;AAAA,QACA,WAAAC;AAAA,QACA,cAAAC;AAAA,MAAA;AAAA,MATKE,KAAa;AAAA,IAAA,EAUpB,CACF;AAAA,EAAA;AACF,GAGIM,IAA6C,CAACC,MAAU;AAC5D,QAAM,EAAE,cAAAC,MAAkBC,EAAiD,OACrE;AAAA,IACJ,WAAAZ;AAAA,IACA,cAAAC;AAAA,IACA,aAAAJ;AAAA,IACA,WAAAK;AAAA,IACA,uBAAAH;AAAA,IACA,UAAAH;AAAA,IACA,WAAAE;AAAA,IACA,WAAAK;AAAA,IACA,GAAGU;AAAA,EAAA,IACDH;AAKJ,SAJeC,EAAa;AAAA,IAC1B,WAAW;AAAA,IACX,GAAGE;AAAA,EAAA,CACJ,EACa,CAACC,MACb,gBAAAT;AAAA,IAACb;AAAA,IAAA;AAAA,MACE,GAAGsB;AAAA,MACJ,WAAAd;AAAA,MACA,cAAAC;AAAA,MACA,aAAAJ;AAAA,MACA,WAAAK;AAAA,MACA,uBAAAH;AAAA,MACA,UAAAH;AAAA,MACA,WAAAE;AAAA,MACA,WAAAK;AAAA,IAAA;AAAA,EAAA,CAEH;AACH;AAEAM,EAAmB,cAAc;AAE1B,MAAMM,IAAgBN;"}
@@ -0,0 +1,9 @@
1
+ const r = {
2
+ "form-rich-text": "_form-rich-text_ryn8i_2",
3
+ "form-rich-text-disabled": "_form-rich-text-disabled_ryn8i_48",
4
+ "form-rich-text-loading": "_form-rich-text-loading_ryn8i_54"
5
+ };
6
+ export {
7
+ r as default
8
+ };
9
+ //# sourceMappingURL=style.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1,17 @@
1
+ import { ComponentType, ReactNode } from 'react';
2
+ import { VariableMentionItem } from '../../Editor/variableMention';
3
+ export type VariableMentionFieldProps = {
4
+ name: string;
5
+ label?: ReactNode;
6
+ labelTips?: ReactNode | ((props: VariableMentionFieldProps) => ReactNode);
7
+ rule?: string;
8
+ disabled?: boolean;
9
+ placeholder?: string;
10
+ enableVariableMention?: boolean;
11
+ variables?: VariableMentionItem[];
12
+ catalogError?: string;
13
+ className?: string;
14
+ [key: string]: unknown;
15
+ };
16
+ export declare const VariableMentionField: ComponentType<VariableMentionFieldProps>;
17
+ export default VariableMentionField;
@@ -0,0 +1,73 @@
1
+ import { jsx as i, jsxs as k } from "react/jsx-runtime";
2
+ import * as N from "@kne/react-form-antd";
3
+ import { Space as V, Input as v } from "antd";
4
+ import x from "classnames";
5
+ import { useRef as d } from "react";
6
+ import { insertVarTokenAt as y } from "../../Editor/variableMention.js";
7
+ import { VariablePicker as M } from "../../Editor/VariablePicker.js";
8
+ import f from "./style.module.scss.js";
9
+ const g = ({ value: o = "", onChange: n, disabled: c, variables: a, catalogError: s, placeholder: l, className: m, id: p }) => {
10
+ const e = d(String(o || "").length), u = d(null), b = (t) => {
11
+ const r = y(String(o || ""), t, e.current);
12
+ n == null || n(r), e.current = e.current + `{{${t}}}`.length;
13
+ };
14
+ return /* @__PURE__ */ i("div", { ref: u, className: f["var-mention-wrap"], children: /* @__PURE__ */ k(V.Compact, { style: { width: "100%" }, children: [
15
+ /* @__PURE__ */ i(
16
+ v,
17
+ {
18
+ id: p,
19
+ value: o,
20
+ disabled: c,
21
+ placeholder: l || "点右侧「插入变量」,或手打 {{key}}",
22
+ className: x("marsun-var-mention-input", f["var-mention-input"], m),
23
+ onChange: (t) => {
24
+ const r = t.target.value;
25
+ e.current = t.target.selectionStart ?? r.length, n == null || n(r);
26
+ },
27
+ onSelect: (t) => {
28
+ const r = t.target;
29
+ e.current = r.selectionStart ?? -1;
30
+ },
31
+ onClick: (t) => {
32
+ const r = t.target;
33
+ e.current = r.selectionStart ?? -1;
34
+ },
35
+ onKeyUp: (t) => {
36
+ const r = t.target;
37
+ e.current = r.selectionStart ?? -1;
38
+ }
39
+ }
40
+ ),
41
+ /* @__PURE__ */ i(
42
+ M,
43
+ {
44
+ variables: a,
45
+ catalogError: s,
46
+ disabled: c,
47
+ getPopupContainer: () => u.current || document.body,
48
+ onPick: b
49
+ }
50
+ )
51
+ ] }) });
52
+ }, S = (o) => {
53
+ const { useDecorator: n } = N.hooks, { variables: c, catalogError: a, placeholder: s, className: l, ...m } = o;
54
+ return n({
55
+ fieldName: "variableMentionInput",
56
+ ...m
57
+ })((e) => /* @__PURE__ */ i(
58
+ g,
59
+ {
60
+ ...e,
61
+ variables: c,
62
+ catalogError: a,
63
+ placeholder: s,
64
+ className: l
65
+ }
66
+ ));
67
+ };
68
+ S.displayName = "VariableMentionField";
69
+ const h = S;
70
+ export {
71
+ h as VariableMentionField
72
+ };
73
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/FormInfo/VariableMentionInput/index.tsx"],"sourcesContent":["import * as ReactFormAntd from '@kne/react-form-antd';\nimport { Input, Space } from 'antd';\nimport classNames from 'classnames';\nimport type { ComponentType, FC, ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { insertVarTokenAt, type VariableMentionItem } from '@/components/Editor/variableMention';\nimport { VariablePicker } from '@/components/Editor/VariablePicker';\nimport styles from './style.module.scss';\n\nexport type VariableMentionFieldProps = {\n name: string;\n label?: ReactNode;\n labelTips?: ReactNode | ((props: VariableMentionFieldProps) => ReactNode);\n rule?: string;\n disabled?: boolean;\n placeholder?: string;\n enableVariableMention?: boolean;\n variables?: VariableMentionItem[];\n catalogError?: string;\n className?: string;\n [key: string]: unknown;\n};\n\ntype FieldRenderProps = {\n value?: string;\n onChange?: (v: string) => void;\n disabled?: boolean;\n id?: string;\n};\n\ntype KneHooks = {\n useDecorator: (\n opts: Record<string, unknown>,\n ) => (Comp: ComponentType<FieldRenderProps>) => ReactNode;\n};\n\n/**\n * 标题变量:Input +「插入变量」按钮(明文 {{key}},可手改;无 `/` 触发)。\n */\nconst VariableMentionControl: FC<\n FieldRenderProps & {\n variables?: VariableMentionItem[];\n catalogError?: string;\n placeholder?: string;\n className?: string;\n }\n> = ({ value = '', onChange, disabled, variables, catalogError, placeholder, className, id }) => {\n const caretRef = useRef(String(value || '').length);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const pick = (key: string) => {\n const next = insertVarTokenAt(String(value || ''), key, caretRef.current);\n onChange?.(next);\n caretRef.current = caretRef.current + `{{${key}}}`.length;\n };\n\n return (\n <div ref={rootRef} className={styles['var-mention-wrap']}>\n <Space.Compact style={{ width: '100%' }}>\n <Input\n id={id}\n value={value}\n disabled={disabled}\n placeholder={placeholder || '点右侧「插入变量」,或手打 {{key}}'}\n className={classNames('marsun-var-mention-input', styles['var-mention-input'], className)}\n onChange={(e) => {\n const next = e.target.value;\n caretRef.current = e.target.selectionStart ?? next.length;\n onChange?.(next);\n }}\n onSelect={(e) => {\n const t = e.target as HTMLInputElement;\n caretRef.current = t.selectionStart ?? -1;\n }}\n onClick={(e) => {\n const t = e.target as HTMLInputElement;\n caretRef.current = t.selectionStart ?? -1;\n }}\n onKeyUp={(e) => {\n const t = e.target as HTMLInputElement;\n caretRef.current = t.selectionStart ?? -1;\n }}\n />\n <VariablePicker\n variables={variables}\n catalogError={catalogError}\n disabled={disabled}\n getPopupContainer={() => rootRef.current || document.body}\n onPick={pick}\n />\n </Space.Compact>\n </div>\n );\n};\n\nconst VariableMentionInner: FC<VariableMentionFieldProps> = (props) => {\n const { useDecorator } = (ReactFormAntd as unknown as { hooks: KneHooks }).hooks;\n const { variables, catalogError, placeholder, className, ...rest } = props;\n const render = useDecorator({\n fieldName: 'variableMentionInput',\n ...rest,\n });\n return render((fieldProps) => (\n <VariableMentionControl\n {...fieldProps}\n variables={variables}\n catalogError={catalogError}\n placeholder={placeholder}\n className={className}\n />\n ));\n};\n\nVariableMentionInner.displayName = 'VariableMentionField';\n\nexport const VariableMentionField =\n VariableMentionInner as ComponentType<VariableMentionFieldProps>;\n\nexport default VariableMentionField;\n"],"names":["VariableMentionControl","value","onChange","disabled","variables","catalogError","placeholder","className","id","caretRef","useRef","rootRef","pick","key","next","insertVarTokenAt","styles","jsxs","Space","jsx","Input","classNames","e","t","VariablePicker","VariableMentionInner","props","useDecorator","ReactFormAntd","rest","fieldProps","VariableMentionField"],"mappings":";;;;;;;;AAuCA,MAAMA,IAOF,CAAC,EAAE,OAAAC,IAAQ,IAAI,UAAAC,GAAU,UAAAC,GAAU,WAAAC,GAAW,cAAAC,GAAc,aAAAC,GAAa,WAAAC,GAAW,IAAAC,EAAA,MAAS;AAC/F,QAAMC,IAAWC,EAAO,OAAOT,KAAS,EAAE,EAAE,MAAM,GAC5CU,IAAUD,EAAuB,IAAI,GAErCE,IAAO,CAACC,MAAgB;AAC5B,UAAMC,IAAOC,EAAiB,OAAOd,KAAS,EAAE,GAAGY,GAAKJ,EAAS,OAAO;AACxE,IAAAP,KAAA,QAAAA,EAAWY,IACXL,EAAS,UAAUA,EAAS,UAAU,KAAKI,CAAG,KAAK;AAAA,EACrD;AAEA,2BACG,OAAA,EAAI,KAAKF,GAAS,WAAWK,EAAO,kBAAkB,GACrD,UAAA,gBAAAC,EAACC,EAAM,SAAN,EAAc,OAAO,EAAE,OAAO,UAC7B,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,IAAAZ;AAAA,QACA,OAAAP;AAAA,QACA,UAAAE;AAAA,QACA,aAAaG,KAAe;AAAA,QAC5B,WAAWe,EAAW,4BAA4BL,EAAO,mBAAmB,GAAGT,CAAS;AAAA,QACxF,UAAU,CAACe,MAAM;AACf,gBAAMR,IAAOQ,EAAE,OAAO;AACtB,UAAAb,EAAS,UAAUa,EAAE,OAAO,kBAAkBR,EAAK,QACnDZ,KAAA,QAAAA,EAAWY;AAAA,QACb;AAAA,QACA,UAAU,CAACQ,MAAM;AACf,gBAAMC,IAAID,EAAE;AACZ,UAAAb,EAAS,UAAUc,EAAE,kBAAkB;AAAA,QACzC;AAAA,QACA,SAAS,CAACD,MAAM;AACd,gBAAMC,IAAID,EAAE;AACZ,UAAAb,EAAS,UAAUc,EAAE,kBAAkB;AAAA,QACzC;AAAA,QACA,SAAS,CAACD,MAAM;AACd,gBAAMC,IAAID,EAAE;AACZ,UAAAb,EAAS,UAAUc,EAAE,kBAAkB;AAAA,QACzC;AAAA,MAAA;AAAA,IAAA;AAAA,IAEF,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,WAAApB;AAAA,QACA,cAAAC;AAAA,QACA,UAAAF;AAAA,QACA,mBAAmB,MAAMQ,EAAQ,WAAW,SAAS;AAAA,QACrD,QAAQC;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,EAAA,CACF,EAAA,CACF;AAEJ,GAEMa,IAAsD,CAACC,MAAU;AACrE,QAAM,EAAE,cAAAC,MAAkBC,EAAiD,OACrE,EAAE,WAAAxB,GAAW,cAAAC,GAAc,aAAAC,GAAa,WAAAC,GAAW,GAAGsB,MAASH;AAKrE,SAJeC,EAAa;AAAA,IAC1B,WAAW;AAAA,IACX,GAAGE;AAAA,EAAA,CACJ,EACa,CAACC,MACb,gBAAAX;AAAA,IAACnB;AAAA,IAAA;AAAA,MACE,GAAG8B;AAAA,MACJ,WAAA1B;AAAA,MACA,cAAAC;AAAA,MACA,aAAAC;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAAA,CAEH;AACH;AAEAkB,EAAqB,cAAc;AAE5B,MAAMM,IACXN;"}
@@ -0,0 +1,11 @@
1
+ const n = {
2
+ "var-mention-wrap": "_var-mention-wrap_11hxz_1",
3
+ "var-mention-input": "_var-mention-input_11hxz_6",
4
+ "var-mention-option": "_var-mention-option_11hxz_11",
5
+ "var-mention-token": "_var-mention-token_11hxz_17",
6
+ "var-mention-label": "_var-mention-label_11hxz_28"
7
+ };
8
+ export {
9
+ n as default
10
+ };
11
+ //# sourceMappingURL=style.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,4 +1,5 @@
1
1
  import { ComponentType, ReactNode } from 'react';
2
+ import { VariableMentionItem } from '../Editor/variableMention';
2
3
  type FieldProps = {
3
4
  name: string;
4
5
  label?: ReactNode;
@@ -9,6 +10,10 @@ type FieldProps = {
9
10
  block?: boolean;
10
11
  rows?: number;
11
12
  options?: unknown[];
13
+ /** 开启「插入变量」;与 variables 联用 */
14
+ enableVariableMention?: boolean;
15
+ variables?: VariableMentionItem[];
16
+ catalogError?: string;
12
17
  [key: string]: unknown;
13
18
  };
14
19
  type ButtonProps = {
@@ -1,30 +1,39 @@
1
- import { CancelButton as o, ResetButton as n, SubmitButton as s, Input as a, TextArea as u, Select as c, TreeSelect as r, InputNumber as p, Switch as i, RadioGroup as S } from "@kne/react-form-antd";
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { CancelButton as s, ResetButton as a, SubmitButton as u, Input as r, TextArea as c, Select as i, TreeSelect as l, InputNumber as m, Switch as p, RadioGroup as S } from "@kne/react-form-antd";
2
3
  import { withNormalizedLabelTips as t } from "../Form/normalizeLabelTips.js";
3
- const e = a, l = t(e), $ = Object.assign(l, {
4
- Password: t(e.Password)
5
- }), b = t(
6
- u
7
- ), I = t(
4
+ import { VariableMentionField as b } from "./VariableMentionInput/index.js";
5
+ const o = r;
6
+ function B(e) {
7
+ return e.enableVariableMention ? /* @__PURE__ */ n(b, { ...e }) : /* @__PURE__ */ n(o, { ...e });
8
+ }
9
+ const T = Object.assign(
10
+ t(B),
11
+ {
12
+ Password: t(o.Password)
13
+ }
14
+ ), f = t(
8
15
  c
9
- ), d = t(
10
- r
11
- ), T = t(
12
- p
13
- ), w = t(
14
- i
15
16
  ), R = t(
17
+ i
18
+ ), h = t(
19
+ l
20
+ ), x = t(
21
+ m
22
+ ), N = t(
23
+ p
24
+ ), A = t(
16
25
  S
17
- ), h = s, x = n, N = o;
26
+ ), C = u, G = a, j = s;
18
27
  export {
19
- N as CancelButton,
20
- $ as Input,
21
- T as InputNumber,
22
- R as RadioGroup,
23
- x as ResetButton,
24
- I as Select,
25
- h as SubmitButton,
26
- w as Switch,
27
- b as TextArea,
28
- d as TreeSelect
28
+ j as CancelButton,
29
+ T as Input,
30
+ x as InputNumber,
31
+ A as RadioGroup,
32
+ G as ResetButton,
33
+ R as Select,
34
+ C as SubmitButton,
35
+ N as Switch,
36
+ f as TextArea,
37
+ h as TreeSelect
29
38
  };
30
39
  //# sourceMappingURL=fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sources":["../../../src/components/FormInfo/fields.ts"],"sourcesContent":["/**\n * 字段包装:withNormalizedLabelTips;引擎按钮再导出。\n */\nimport {\n CancelButton as BaseCancelButton,\n Input as BaseInput,\n InputNumber as BaseInputNumber,\n RadioGroup as BaseRadioGroup,\n ResetButton as BaseResetButton,\n Select as BaseSelect,\n SubmitButton as BaseSubmitButton,\n Switch as BaseSwitch,\n TextArea as BaseTextArea,\n TreeSelect as BaseTreeSelect,\n} from '@kne/react-form-antd';\nimport type { ComponentType, ReactNode } from 'react';\nimport { withNormalizedLabelTips } from '@/components/Form/normalizeLabelTips';\n\ntype FieldProps = {\n name: string;\n label?: ReactNode;\n labelTips?: ReactNode | ((props: FieldProps) => ReactNode);\n rule?: string;\n placeholder?: string;\n disabled?: boolean;\n block?: boolean;\n rows?: number;\n options?: unknown[];\n [key: string]: unknown;\n};\n\ntype ButtonProps = {\n children?: ReactNode;\n type?: string;\n loading?: boolean;\n [key: string]: unknown;\n};\n\ntype InputType = ComponentType<FieldProps> & { Password: ComponentType<FieldProps> };\nconst InputBase = BaseInput as unknown as InputType;\nconst InputWrapped = withNormalizedLabelTips(InputBase);\nexport const Input = Object.assign(InputWrapped, {\n Password: withNormalizedLabelTips(InputBase.Password),\n}) as InputType;\n\nexport const TextArea = withNormalizedLabelTips(\n BaseTextArea as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\nexport const Select = withNormalizedLabelTips(\n BaseSelect as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\nexport const TreeSelect = withNormalizedLabelTips(\n BaseTreeSelect as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\n\nexport {\n SuperSelect,\n SUPER_SELECT_ALL_VALUE,\n isSuperSelectAllValue,\n} from '@/components/Form/SuperSelect';\nexport type { SuperSelectProps, SuperSelectOption } from '@/components/Form/SuperSelect';\nexport const InputNumber = withNormalizedLabelTips(\n BaseInputNumber as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\nexport const Switch = withNormalizedLabelTips(\n BaseSwitch as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\nexport const RadioGroup = withNormalizedLabelTips(\n BaseRadioGroup as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\n\nexport const SubmitButton = BaseSubmitButton as ComponentType<ButtonProps>;\nexport const ResetButton = BaseResetButton as ComponentType<ButtonProps>;\nexport const CancelButton = BaseCancelButton as ComponentType<ButtonProps>;\n"],"names":["InputBase","BaseInput","InputWrapped","withNormalizedLabelTips","Input","TextArea","BaseTextArea","Select","BaseSelect","TreeSelect","BaseTreeSelect","InputNumber","BaseInputNumber","Switch","BaseSwitch","RadioGroup","BaseRadioGroup","SubmitButton","BaseSubmitButton","ResetButton","BaseResetButton","CancelButton","BaseCancelButton"],"mappings":";;AAuCA,MAAMA,IAAYC,GACZC,IAAeC,EAAwBH,CAAS,GACzCI,IAAQ,OAAO,OAAOF,GAAc;AAAA,EAC/C,UAAUC,EAAwBH,EAAU,QAAQ;AACtD,CAAC,GAEYK,IAAWF;AAAA,EACtBG;AACF,GACaC,IAASJ;AAAA,EACpBK;AACF,GACaC,IAAaN;AAAA,EACxBO;AACF,GAQaC,IAAcR;AAAA,EACzBS;AACF,GACaC,IAASV;AAAA,EACpBW;AACF,GACaC,IAAaZ;AAAA,EACxBa;AACF,GAEaC,IAAeC,GACfC,IAAcC,GACdC,IAAeC;"}
1
+ {"version":3,"file":"fields.js","sources":["../../../src/components/FormInfo/fields.tsx"],"sourcesContent":["/**\n * FormInfo Input 扩展:enableVariableMention 时走 VariableMentionField(「插入变量」→ {{key}})。\n */\nimport {\n CancelButton as BaseCancelButton,\n Input as BaseInput,\n InputNumber as BaseInputNumber,\n RadioGroup as BaseRadioGroup,\n ResetButton as BaseResetButton,\n Select as BaseSelect,\n SubmitButton as BaseSubmitButton,\n Switch as BaseSwitch,\n TextArea as BaseTextArea,\n TreeSelect as BaseTreeSelect,\n} from '@kne/react-form-antd';\nimport { type ComponentType, type ReactNode } from 'react';\nimport { withNormalizedLabelTips } from '@/components/Form/normalizeLabelTips';\nimport { VariableMentionField } from './VariableMentionInput';\nimport type { VariableMentionItem } from '@/components/Editor/variableMention';\n\ntype FieldProps = {\n name: string;\n label?: ReactNode;\n labelTips?: ReactNode | ((props: FieldProps) => ReactNode);\n rule?: string;\n placeholder?: string;\n disabled?: boolean;\n block?: boolean;\n rows?: number;\n options?: unknown[];\n /** 开启「插入变量」;与 variables 联用 */\n enableVariableMention?: boolean;\n variables?: VariableMentionItem[];\n catalogError?: string;\n [key: string]: unknown;\n};\n\ntype ButtonProps = {\n children?: ReactNode;\n type?: string;\n loading?: boolean;\n [key: string]: unknown;\n};\n\ntype InputType = ComponentType<FieldProps> & { Password: ComponentType<FieldProps> };\n\nconst InputBase = BaseInput as unknown as InputType;\n\nfunction InputSwitch(props: FieldProps) {\n if (props.enableVariableMention) {\n return <VariableMentionField {...props} />;\n }\n return <InputBase {...props} />;\n}\n\nexport const Input = Object.assign(\n withNormalizedLabelTips(InputSwitch as ComponentType<FieldProps>),\n {\n Password: withNormalizedLabelTips(InputBase.Password),\n },\n) as InputType;\n\nexport const TextArea = withNormalizedLabelTips(\n BaseTextArea as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\nexport const Select = withNormalizedLabelTips(\n BaseSelect as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\nexport const TreeSelect = withNormalizedLabelTips(\n BaseTreeSelect as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\n\nexport {\n SuperSelect,\n SUPER_SELECT_ALL_VALUE,\n isSuperSelectAllValue,\n} from '@/components/Form/SuperSelect';\nexport type { SuperSelectProps, SuperSelectOption } from '@/components/Form/SuperSelect';\nexport const InputNumber = withNormalizedLabelTips(\n BaseInputNumber as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\nexport const Switch = withNormalizedLabelTips(\n BaseSwitch as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\nexport const RadioGroup = withNormalizedLabelTips(\n BaseRadioGroup as ComponentType<FieldProps>,\n) as ComponentType<FieldProps>;\n\nexport const SubmitButton = BaseSubmitButton as ComponentType<ButtonProps>;\nexport const ResetButton = BaseResetButton as ComponentType<ButtonProps>;\nexport const CancelButton = BaseCancelButton as ComponentType<ButtonProps>;\n"],"names":["InputBase","BaseInput","InputSwitch","props","jsx","VariableMentionField","Input","withNormalizedLabelTips","TextArea","BaseTextArea","Select","BaseSelect","TreeSelect","BaseTreeSelect","InputNumber","BaseInputNumber","Switch","BaseSwitch","RadioGroup","BaseRadioGroup","SubmitButton","BaseSubmitButton","ResetButton","BaseResetButton","CancelButton","BaseCancelButton"],"mappings":";;;;AA8CA,MAAMA,IAAYC;AAElB,SAASC,EAAYC,GAAmB;AACtC,SAAIA,EAAM,wBACD,gBAAAC,EAACC,GAAA,EAAsB,GAAGF,EAAA,CAAO,IAEnC,gBAAAC,EAACJ,GAAA,EAAW,GAAGG,EAAA,CAAO;AAC/B;AAEO,MAAMG,IAAQ,OAAO;AAAA,EAC1BC,EAAwBL,CAAwC;AAAA,EAChE;AAAA,IACE,UAAUK,EAAwBP,EAAU,QAAQ;AAAA,EAAA;AAExD,GAEaQ,IAAWD;AAAA,EACtBE;AACF,GACaC,IAASH;AAAA,EACpBI;AACF,GACaC,IAAaL;AAAA,EACxBM;AACF,GAQaC,IAAcP;AAAA,EACzBQ;AACF,GACaC,IAAST;AAAA,EACpBU;AACF,GACaC,IAAaX;AAAA,EACxBY;AACF,GAEaC,IAAeC,GACfC,IAAcC,GACdC,IAAeC;"}
@@ -19,4 +19,8 @@ export { default as FormStepsModal, useFormStepModal } from './FormStepsModal';
19
19
  export { buildFormOverlayProps } from './buildFormOverlayProps';
20
20
  export { Input, TextArea, Select, TreeSelect, InputNumber, Switch, RadioGroup, SubmitButton, ResetButton, CancelButton, SuperSelect, SUPER_SELECT_ALL_VALUE, isSuperSelectAllValue, } from './fields';
21
21
  export type { SuperSelectProps, SuperSelectOption } from './fields';
22
+ export { RichTextField } from './RichTextField';
23
+ export type { RichTextFieldProps } from './RichTextField';
24
+ export { VariableMentionField } from './VariableMentionInput';
25
+ export type { VariableMentionFieldProps } from './VariableMentionInput';
22
26
  export type { FormInfoProps, FormProps, FormModalProps, FormDrawerProps, FormItemProps, ErrorTipProps, FormApiButtonProps, ListProps, TableListProps, MultiFieldProps, StepsProps, StepsItem, FormStepsProps, FormStepsItem, FormStepsModalProps, FormOverlaySharedProps, } from './types';
@@ -1,19 +1,27 @@
1
- import { TabsProps } from 'antd';
1
+ import { TabsProps, ButtonProps } from 'antd';
2
2
  import { CSSProperties, MouseEvent, ReactNode } from 'react';
3
3
  import { IconName } from '../Icons';
4
4
  import { DescriptionItem } from '../Descriptions/CommonDescriptions';
5
5
  export type StateBarType = 'tab' | 'radio' | 'step';
6
- /** Tab 项旁操作(icon + 可选文案提示 + 点击) */
6
+ /** Tab 项旁 / 整体右侧操作 */
7
7
  export type StateBarActionItem = {
8
- /** Icons 注册表名,如 `Info` / `Plus` / `Pencil` */
9
- iconType: IconName;
10
- /** Tooltip 文案;缺省不包 Tooltip */
8
+ /**
9
+ * 展示形态:
10
+ * - `icon`:仅图标(默认,适合 Tab 旁轻操作)
11
+ * - `button`:antd Button(适合整体右侧主操作,如「新建模板」)
12
+ */
13
+ variant?: 'icon' | 'button';
14
+ /** Icons 注册表名;variant=icon 必填;button 时可作前缀图标 */
15
+ iconType?: IconName;
16
+ /** 文案:icon 时作 Tooltip;button 时作按钮文字 */
11
17
  label?: string;
12
18
  onClick?: (e: MouseEvent<HTMLElement>) => void;
13
19
  disabled?: boolean;
14
20
  className?: string;
15
21
  /** 图标尺寸,默认 14 */
16
22
  size?: number;
23
+ /** variant=button 时的 antd type,默认 primary */
24
+ buttonType?: ButtonProps['type'];
17
25
  };
18
26
  export type StateBarOption = {
19
27
  key: string;
@@ -22,7 +30,7 @@ export type StateBarOption = {
22
30
  label?: ReactNode;
23
31
  /** 标题旁 Info + TooltipInfo(对齐 Modal/InteractiveBlock);为空不展示 */
24
32
  info?: DescriptionItem[];
25
- /** 标题旁额外操作图标(可与 info 并存) */
33
+ /** 标题旁额外操作图标(可与 info 并存);仅同组切片 Tab 使用 */
26
34
  actions?: StateBarActionItem[];
27
35
  children?: ReactNode;
28
36
  disabled?: boolean;
@@ -37,6 +45,11 @@ export type StateBarProps = Omit<TabsProps, 'items' | 'type'> & {
37
45
  /** 底部线延展至容器全宽 */
38
46
  isInner?: boolean;
39
47
  className?: string;
48
+ /**
49
+ * 整体右侧操作(tabBarExtraContent)。
50
+ * 跨 Tab 的页面级操作放这里;仅当各 Tab 为同组切片(如模板1/2/3)时才用 option.actions。
51
+ */
52
+ actions?: StateBarActionItem[];
40
53
  };
41
54
  /**
42
55
  * 基于 antd Tabs 的状态栏(对齐 kne-union StateBar)。