@hkyhy/marsun-components-core 0.1.99 → 0.1.101

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 (213) hide show
  1. package/dist/components/Editor/RichTextEditor/RichTextEditor.js +36 -45
  2. package/dist/components/Editor/RichTextEditor/RichTextEditor.js.map +1 -1
  3. package/dist/components/Editor/msgVarTokenPlugin.js +14 -19
  4. package/dist/components/Editor/msgVarTokenPlugin.js.map +1 -1
  5. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.d.ts +1 -1
  6. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.js +3 -3
  7. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.js.map +1 -1
  8. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/MessageTemplateAdmin.js +209 -146
  9. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/MessageTemplateAdmin.js.map +1 -1
  10. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/PushRulesPanel/index.d.ts +18 -0
  11. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/PushRulesPanel/index.js +324 -0
  12. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/PushRulesPanel/index.js.map +1 -0
  13. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/VariablesPanel/index.d.ts +14 -0
  14. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/VariablesPanel/index.js +183 -0
  15. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/VariablesPanel/index.js.map +1 -0
  16. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/index.d.ts +2 -2
  17. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.d.ts +52 -0
  18. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.js +47 -17
  19. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.js.map +1 -1
  20. package/dist/components/Tools/MessageCenter/index.d.ts +2 -1
  21. package/dist/components/Tools/MessageCenter/utils/adminGuards.d.ts +14 -0
  22. package/dist/components/Tools/MessageCenter/utils/adminGuards.js +12 -0
  23. package/dist/components/Tools/MessageCenter/utils/adminGuards.js.map +1 -0
  24. package/dist/components/Tools/index.d.ts +2 -2
  25. package/dist/index.js +229 -227
  26. package/dist/index.js.map +1 -1
  27. package/package.json +1 -1
  28. package/dist/node_modules/@ckeditor/ckeditor5-basic-styles/dist/index.js +0 -301
  29. package/dist/node_modules/@ckeditor/ckeditor5-basic-styles/dist/index.js.map +0 -1
  30. package/dist/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js +0 -1256
  31. package/dist/node_modules/@ckeditor/ckeditor5-clipboard/dist/index.js.map +0 -1
  32. package/dist/node_modules/@ckeditor/ckeditor5-core/dist/index.js +0 -2107
  33. package/dist/node_modules/@ckeditor/ckeditor5-core/dist/index.js.map +0 -1
  34. package/dist/node_modules/@ckeditor/ckeditor5-editor-classic/dist/index.js +0 -259
  35. package/dist/node_modules/@ckeditor/ckeditor5-editor-classic/dist/index.js.map +0 -1
  36. package/dist/node_modules/@ckeditor/ckeditor5-engine/dist/index.js +0 -23990
  37. package/dist/node_modules/@ckeditor/ckeditor5-engine/dist/index.js.map +0 -1
  38. package/dist/node_modules/@ckeditor/ckeditor5-enter/dist/index.js +0 -249
  39. package/dist/node_modules/@ckeditor/ckeditor5-enter/dist/index.js.map +0 -1
  40. package/dist/node_modules/@ckeditor/ckeditor5-essentials/dist/index.js +0 -47
  41. package/dist/node_modules/@ckeditor/ckeditor5-essentials/dist/index.js.map +0 -1
  42. package/dist/node_modules/@ckeditor/ckeditor5-font/dist/index.js +0 -100
  43. package/dist/node_modules/@ckeditor/ckeditor5-font/dist/index.js.map +0 -1
  44. package/dist/node_modules/@ckeditor/ckeditor5-icons/dist/index.js +0 -31
  45. package/dist/node_modules/@ckeditor/ckeditor5-icons/dist/index.js.map +0 -1
  46. package/dist/node_modules/@ckeditor/ckeditor5-integrations-common/dist/index.js +0 -194
  47. package/dist/node_modules/@ckeditor/ckeditor5-integrations-common/dist/index.js.map +0 -1
  48. package/dist/node_modules/@ckeditor/ckeditor5-list/dist/index.js +0 -2042
  49. package/dist/node_modules/@ckeditor/ckeditor5-list/dist/index.js.map +0 -1
  50. package/dist/node_modules/@ckeditor/ckeditor5-mention/dist/index.js +0 -9
  51. package/dist/node_modules/@ckeditor/ckeditor5-mention/dist/index.js.map +0 -1
  52. package/dist/node_modules/@ckeditor/ckeditor5-paragraph/dist/index.js +0 -167
  53. package/dist/node_modules/@ckeditor/ckeditor5-paragraph/dist/index.js.map +0 -1
  54. package/dist/node_modules/@ckeditor/ckeditor5-react/dist/index.js +0 -471
  55. package/dist/node_modules/@ckeditor/ckeditor5-react/dist/index.js.map +0 -1
  56. package/dist/node_modules/@ckeditor/ckeditor5-select-all/dist/index.js +0 -139
  57. package/dist/node_modules/@ckeditor/ckeditor5-select-all/dist/index.js.map +0 -1
  58. package/dist/node_modules/@ckeditor/ckeditor5-typing/dist/index.js +0 -755
  59. package/dist/node_modules/@ckeditor/ckeditor5-typing/dist/index.js.map +0 -1
  60. package/dist/node_modules/@ckeditor/ckeditor5-ui/dist/index.js +0 -7838
  61. package/dist/node_modules/@ckeditor/ckeditor5-ui/dist/index.js.map +0 -1
  62. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/conversions.js +0 -422
  63. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/conversions.js.map +0 -1
  64. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/index.js +0 -33
  65. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/index.js.map +0 -1
  66. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/route.js +0 -47
  67. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-convert/route.js.map +0 -1
  68. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-name/index.js +0 -156
  69. package/dist/node_modules/@ckeditor/ckeditor5-ui/node_modules/color-name/index.js.map +0 -1
  70. package/dist/node_modules/@ckeditor/ckeditor5-undo/dist/index.js +0 -313
  71. package/dist/node_modules/@ckeditor/ckeditor5-undo/dist/index.js.map +0 -1
  72. package/dist/node_modules/@ckeditor/ckeditor5-utils/dist/index.js +0 -2942
  73. package/dist/node_modules/@ckeditor/ckeditor5-utils/dist/index.js.map +0 -1
  74. package/dist/node_modules/@ckeditor/ckeditor5-watchdog/dist/index.js +0 -892
  75. package/dist/node_modules/@ckeditor/ckeditor5-watchdog/dist/index.js.map +0 -1
  76. package/dist/node_modules/@ckeditor/ckeditor5-widget/dist/index.js +0 -1047
  77. package/dist/node_modules/@ckeditor/ckeditor5-widget/dist/index.js.map +0 -1
  78. package/dist/node_modules/color-parse/node_modules/color-name/index.js +0 -153
  79. package/dist/node_modules/color-parse/node_modules/color-name/index.js.map +0 -1
  80. package/dist/node_modules/es-toolkit/dist/_internal/globalThis.js +0 -7
  81. package/dist/node_modules/es-toolkit/dist/_internal/globalThis.js.map +0 -1
  82. package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js +0 -7
  83. package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js.map +0 -1
  84. package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeToWriteProperty.js +0 -7
  85. package/dist/node_modules/es-toolkit/dist/_internal/isUnsafeToWriteProperty.js.map +0 -1
  86. package/dist/node_modules/es-toolkit/dist/compat/_internal/assignValue.js +0 -9
  87. package/dist/node_modules/es-toolkit/dist/compat/_internal/assignValue.js.map +0 -1
  88. package/dist/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js +0 -7
  89. package/dist/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js.map +0 -1
  90. package/dist/node_modules/es-toolkit/dist/compat/_internal/getTag.js +0 -7
  91. package/dist/node_modules/es-toolkit/dist/compat/_internal/getTag.js.map +0 -1
  92. package/dist/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js +0 -16
  93. package/dist/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js.map +0 -1
  94. package/dist/node_modules/es-toolkit/dist/compat/_internal/isIndex.js +0 -15
  95. package/dist/node_modules/es-toolkit/dist/compat/_internal/isIndex.js.map +0 -1
  96. package/dist/node_modules/es-toolkit/dist/compat/_internal/isKey.js +0 -9
  97. package/dist/node_modules/es-toolkit/dist/compat/_internal/isKey.js.map +0 -1
  98. package/dist/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js +0 -8
  99. package/dist/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js.map +0 -1
  100. package/dist/node_modules/es-toolkit/dist/compat/_internal/tags.js +0 -30
  101. package/dist/node_modules/es-toolkit/dist/compat/_internal/tags.js.map +0 -1
  102. package/dist/node_modules/es-toolkit/dist/compat/_internal/toKey.js +0 -8
  103. package/dist/node_modules/es-toolkit/dist/compat/_internal/toKey.js.map +0 -1
  104. package/dist/node_modules/es-toolkit/dist/compat/function/debounce.js +0 -17
  105. package/dist/node_modules/es-toolkit/dist/compat/function/debounce.js.map +0 -1
  106. package/dist/node_modules/es-toolkit/dist/compat/function/throttle.js +0 -13
  107. package/dist/node_modules/es-toolkit/dist/compat/function/throttle.js.map +0 -1
  108. package/dist/node_modules/es-toolkit/dist/compat/object/assignIn.js +0 -17
  109. package/dist/node_modules/es-toolkit/dist/compat/object/assignIn.js.map +0 -1
  110. package/dist/node_modules/es-toolkit/dist/compat/object/clone.js +0 -102
  111. package/dist/node_modules/es-toolkit/dist/compat/object/clone.js.map +0 -1
  112. package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeep.js +0 -8
  113. package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeep.js.map +0 -1
  114. package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js +0 -33
  115. package/dist/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js.map +0 -1
  116. package/dist/node_modules/es-toolkit/dist/compat/object/get.js +0 -39
  117. package/dist/node_modules/es-toolkit/dist/compat/object/get.js.map +0 -1
  118. package/dist/node_modules/es-toolkit/dist/compat/object/has.js +0 -21
  119. package/dist/node_modules/es-toolkit/dist/compat/object/has.js.map +0 -1
  120. package/dist/node_modules/es-toolkit/dist/compat/object/keysIn.js +0 -33
  121. package/dist/node_modules/es-toolkit/dist/compat/object/keysIn.js.map +0 -1
  122. package/dist/node_modules/es-toolkit/dist/compat/object/mapValues.js +0 -10
  123. package/dist/node_modules/es-toolkit/dist/compat/object/mapValues.js.map +0 -1
  124. package/dist/node_modules/es-toolkit/dist/compat/object/merge.js +0 -9
  125. package/dist/node_modules/es-toolkit/dist/compat/object/merge.js.map +0 -1
  126. package/dist/node_modules/es-toolkit/dist/compat/object/mergeWith.js +0 -53
  127. package/dist/node_modules/es-toolkit/dist/compat/object/mergeWith.js.map +0 -1
  128. package/dist/node_modules/es-toolkit/dist/compat/object/property.js +0 -10
  129. package/dist/node_modules/es-toolkit/dist/compat/object/property.js.map +0 -1
  130. package/dist/node_modules/es-toolkit/dist/compat/object/set.js +0 -9
  131. package/dist/node_modules/es-toolkit/dist/compat/object/set.js.map +0 -1
  132. package/dist/node_modules/es-toolkit/dist/compat/object/updateWith.js +0 -31
  133. package/dist/node_modules/es-toolkit/dist/compat/object/updateWith.js.map +0 -1
  134. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArguments.js +0 -8
  135. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArguments.js.map +0 -1
  136. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArray.js +0 -7
  137. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArray.js.map +0 -1
  138. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js +0 -8
  139. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js.map +0 -1
  140. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js +0 -9
  141. package/dist/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js.map +0 -1
  142. package/dist/node_modules/es-toolkit/dist/compat/predicate/isElement.js +0 -9
  143. package/dist/node_modules/es-toolkit/dist/compat/predicate/isElement.js.map +0 -1
  144. package/dist/node_modules/es-toolkit/dist/compat/predicate/isEqualWith.js +0 -15
  145. package/dist/node_modules/es-toolkit/dist/compat/predicate/isEqualWith.js.map +0 -1
  146. package/dist/node_modules/es-toolkit/dist/compat/predicate/isFunction.js +0 -7
  147. package/dist/node_modules/es-toolkit/dist/compat/predicate/isFunction.js.map +0 -1
  148. package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatch.js +0 -9
  149. package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatch.js.map +0 -1
  150. package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js +0 -81
  151. package/dist/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js.map +0 -1
  152. package/dist/node_modules/es-toolkit/dist/compat/predicate/isObject.js +0 -7
  153. package/dist/node_modules/es-toolkit/dist/compat/predicate/isObject.js.map +0 -1
  154. package/dist/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js +0 -7
  155. package/dist/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js.map +0 -1
  156. package/dist/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js +0 -16
  157. package/dist/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js.map +0 -1
  158. package/dist/node_modules/es-toolkit/dist/compat/predicate/isString.js +0 -7
  159. package/dist/node_modules/es-toolkit/dist/compat/predicate/isString.js.map +0 -1
  160. package/dist/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js +0 -7
  161. package/dist/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js.map +0 -1
  162. package/dist/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js +0 -8
  163. package/dist/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js.map +0 -1
  164. package/dist/node_modules/es-toolkit/dist/compat/predicate/matches.js +0 -9
  165. package/dist/node_modules/es-toolkit/dist/compat/predicate/matches.js.map +0 -1
  166. package/dist/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js +0 -23
  167. package/dist/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js.map +0 -1
  168. package/dist/node_modules/es-toolkit/dist/compat/util/eq.js +0 -7
  169. package/dist/node_modules/es-toolkit/dist/compat/util/eq.js.map +0 -1
  170. package/dist/node_modules/es-toolkit/dist/compat/util/iteratee.js +0 -19
  171. package/dist/node_modules/es-toolkit/dist/compat/util/iteratee.js.map +0 -1
  172. package/dist/node_modules/es-toolkit/dist/compat/util/times.js +0 -11
  173. package/dist/node_modules/es-toolkit/dist/compat/util/times.js.map +0 -1
  174. package/dist/node_modules/es-toolkit/dist/compat/util/toFinite.js +0 -8
  175. package/dist/node_modules/es-toolkit/dist/compat/util/toFinite.js.map +0 -1
  176. package/dist/node_modules/es-toolkit/dist/compat/util/toInteger.js +0 -9
  177. package/dist/node_modules/es-toolkit/dist/compat/util/toInteger.js.map +0 -1
  178. package/dist/node_modules/es-toolkit/dist/compat/util/toNumber.js +0 -8
  179. package/dist/node_modules/es-toolkit/dist/compat/util/toNumber.js.map +0 -1
  180. package/dist/node_modules/es-toolkit/dist/compat/util/toPath.js +0 -37
  181. package/dist/node_modules/es-toolkit/dist/compat/util/toPath.js.map +0 -1
  182. package/dist/node_modules/es-toolkit/dist/compat/util/toString.js +0 -15
  183. package/dist/node_modules/es-toolkit/dist/compat/util/toString.js.map +0 -1
  184. package/dist/node_modules/es-toolkit/dist/function/after.js +0 -11
  185. package/dist/node_modules/es-toolkit/dist/function/after.js.map +0 -1
  186. package/dist/node_modules/es-toolkit/dist/function/debounce.js +0 -30
  187. package/dist/node_modules/es-toolkit/dist/function/debounce.js.map +0 -1
  188. package/dist/node_modules/es-toolkit/dist/function/identity.js +0 -7
  189. package/dist/node_modules/es-toolkit/dist/function/identity.js.map +0 -1
  190. package/dist/node_modules/es-toolkit/dist/function/noop.js +0 -6
  191. package/dist/node_modules/es-toolkit/dist/function/noop.js.map +0 -1
  192. package/dist/node_modules/es-toolkit/dist/object/clone.js +0 -27
  193. package/dist/node_modules/es-toolkit/dist/object/clone.js.map +0 -1
  194. package/dist/node_modules/es-toolkit/dist/object/cloneDeep.js +0 -8
  195. package/dist/node_modules/es-toolkit/dist/object/cloneDeep.js.map +0 -1
  196. package/dist/node_modules/es-toolkit/dist/object/cloneDeepWith.js +0 -121
  197. package/dist/node_modules/es-toolkit/dist/object/cloneDeepWith.js.map +0 -1
  198. package/dist/node_modules/es-toolkit/dist/object/mapValues.js +0 -12
  199. package/dist/node_modules/es-toolkit/dist/object/mapValues.js.map +0 -1
  200. package/dist/node_modules/es-toolkit/dist/predicate/isBuffer.js +0 -8
  201. package/dist/node_modules/es-toolkit/dist/predicate/isBuffer.js.map +0 -1
  202. package/dist/node_modules/es-toolkit/dist/predicate/isEqual.js +0 -9
  203. package/dist/node_modules/es-toolkit/dist/predicate/isEqual.js.map +0 -1
  204. package/dist/node_modules/es-toolkit/dist/predicate/isEqualWith.js +0 -110
  205. package/dist/node_modules/es-toolkit/dist/predicate/isEqualWith.js.map +0 -1
  206. package/dist/node_modules/es-toolkit/dist/predicate/isLength.js +0 -7
  207. package/dist/node_modules/es-toolkit/dist/predicate/isLength.js.map +0 -1
  208. package/dist/node_modules/es-toolkit/dist/predicate/isPlainObject.js +0 -9
  209. package/dist/node_modules/es-toolkit/dist/predicate/isPlainObject.js.map +0 -1
  210. package/dist/node_modules/es-toolkit/dist/predicate/isPrimitive.js +0 -7
  211. package/dist/node_modules/es-toolkit/dist/predicate/isPrimitive.js.map +0 -1
  212. package/dist/node_modules/es-toolkit/dist/predicate/isTypedArray.js +0 -7
  213. package/dist/node_modules/es-toolkit/dist/predicate/isTypedArray.js.map +0 -1
@@ -1,4 +1,21 @@
1
1
  import { ReactNode } from 'react';
2
+ export type MessageCrudFlags = {
3
+ create: boolean;
4
+ read: boolean;
5
+ update: boolean;
6
+ delete: boolean;
7
+ };
8
+ export type MessageAdminPermissions = {
9
+ template?: Partial<MessageCrudFlags>;
10
+ push?: Partial<MessageCrudFlags>;
11
+ variable?: Partial<MessageCrudFlags>;
12
+ };
13
+ /** 解析 Admin 门禁:有 permissions 用细粒度;否则 canWrite 作 Showcase 全开/全关。 */
14
+ export declare function resolveMessageAdminPermissions(permissions: MessageAdminPermissions | undefined, canWrite: boolean | undefined): {
15
+ template: MessageCrudFlags;
16
+ push: MessageCrudFlags;
17
+ variable: MessageCrudFlags;
18
+ };
2
19
  export type MessageTemplateAdminItem = {
3
20
  id?: string;
4
21
  code?: string;
@@ -40,6 +57,24 @@ export type MessageTemplateVariable = {
40
57
  /** 可选中文说明;无则下拉只显示 code */
41
58
  label?: string;
42
59
  type?: string;
60
+ source?: 'catalog' | 'tenant';
61
+ baseline?: boolean;
62
+ };
63
+ /** 变量管理行 */
64
+ export type MessageTemplateVariableAdmin = MessageTemplateVariable;
65
+ export type PushRuleAdminItem = {
66
+ id?: string;
67
+ code?: string;
68
+ label?: string;
69
+ eventKey?: string;
70
+ levels?: string[];
71
+ templateCode?: string;
72
+ audienceRoles?: string[];
73
+ audienceUserIds?: string[];
74
+ channels?: string[];
75
+ slaHours?: number;
76
+ scanLookbackDays?: number;
77
+ enabled?: boolean;
43
78
  };
44
79
  export type MessageTemplateAdminProps = {
45
80
  fetchTemplates: () => Promise<MessageTemplateAdminItem[]>;
@@ -61,12 +96,29 @@ export type MessageTemplateAdminProps = {
61
96
  templateVariables?: MessageTemplateVariable[];
62
97
  /** 预览用示例值;未传则按 variables 生成 */
63
98
  previewVars?: Record<string, string>;
99
+ /**
100
+ * Showcase 快捷:true→十二项全开,false→全关。
101
+ * 业务仓须传 permissions,禁止只靠 canWrite 当真门禁。
102
+ */
64
103
  canWrite?: boolean;
104
+ /**
105
+ * 细粒度 CRUD 门禁(模板 / 推送 / 变量 × create|read|update|delete)。
106
+ * 传入后优先于 canWrite。
107
+ */
108
+ permissions?: MessageAdminPermissions;
65
109
  renderAudienceField?: (ctx: {
66
110
  roles: string[];
67
111
  onChange: (roles: string[]) => void;
68
112
  }) => ReactNode;
113
+ /** @deprecated 优先传 fetchPushRules */
69
114
  pushRulesSlot?: ReactNode;
115
+ fetchPushRules?: () => Promise<PushRuleAdminItem[]>;
116
+ savePushRule?: (item: PushRuleAdminItem) => Promise<void>;
117
+ setPushRuleEnabled?: (item: PushRuleAdminItem, enabled: boolean) => Promise<void>;
118
+ deletePushRule?: (item: PushRuleAdminItem) => Promise<void>;
119
+ fetchVariables?: () => Promise<MessageTemplateVariableAdmin[]>;
120
+ saveVariable?: (item: MessageTemplateVariableAdmin) => Promise<void>;
121
+ deleteVariable?: (item: MessageTemplateVariableAdmin) => Promise<void>;
70
122
  emptyText?: string;
71
123
  className?: string;
72
124
  /** 自动编号前缀,默认 MEQ */
@@ -1,26 +1,56 @@
1
- function i(t) {
2
- if (!t) return [];
3
- if (Array.isArray(t.variables) && t.variables.length)
4
- return t.variables.map((e) => ({
5
- key: String(e.key || "").trim(),
6
- label: e.label,
7
- type: e.type
8
- })).filter((e) => e.key);
9
- const r = t.contextSchema;
10
- return !r || typeof r != "object" ? [] : Object.entries(r).map(([e, n]) => typeof n == "string" ? { key: e, type: n } : n && typeof n == "object" ? {
11
- key: e,
1
+ const u = {
2
+ create: !1,
3
+ read: !1,
4
+ update: !1,
5
+ delete: !1
6
+ }, c = {
7
+ create: !0,
8
+ read: !0,
9
+ update: !0,
10
+ delete: !0
11
+ };
12
+ function s(e, r) {
13
+ return {
14
+ create: (e == null ? void 0 : e.create) ?? r.create,
15
+ read: (e == null ? void 0 : e.read) ?? r.read,
16
+ update: (e == null ? void 0 : e.update) ?? r.update,
17
+ delete: (e == null ? void 0 : e.delete) ?? r.delete
18
+ };
19
+ }
20
+ function o(e, r) {
21
+ const t = r ? c : u;
22
+ return e ? {
23
+ template: s(e.template, u),
24
+ push: s(e.push, u),
25
+ variable: s(e.variable, u)
26
+ } : { template: t, push: t, variable: t };
27
+ }
28
+ function f(e) {
29
+ if (!e) return [];
30
+ if (Array.isArray(e.variables) && e.variables.length)
31
+ return e.variables.map((t) => ({
32
+ key: String(t.key || "").trim(),
33
+ label: t.label,
34
+ type: t.type,
35
+ source: t.source,
36
+ baseline: t.baseline
37
+ })).filter((t) => t.key);
38
+ const r = e.contextSchema;
39
+ return !r || typeof r != "object" ? [] : Object.entries(r).map(([t, n]) => typeof n == "string" ? { key: t, type: n } : n && typeof n == "object" ? {
40
+ key: t,
12
41
  type: n.type || "string",
13
42
  label: n.label
14
- } : { key: e }).filter((e) => e.key);
43
+ } : { key: t }).filter((t) => t.key);
15
44
  }
16
- function l(t) {
45
+ function b(e) {
17
46
  const r = {};
18
- for (const e of t)
19
- r[e.key] = e.type === "number" ? "1" : e.label || e.key;
47
+ for (const t of e)
48
+ r[t.key] = t.type === "number" ? "1" : t.label || t.key;
20
49
  return r;
21
50
  }
22
51
  export {
23
- l as previewVarsFromVariables,
24
- i as variablesFromCatalog
52
+ b as previewVarsFromVariables,
53
+ o as resolveMessageAdminPermissions,
54
+ f as variablesFromCatalog
25
55
  };
26
56
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../src/components/Tools/MessageCenter/MessageTemplateAdmin/types.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nexport type MessageTemplateAdminItem = {\n id?: string;\n code?: string;\n eventKey?: string;\n scenario?: string;\n label?: string;\n messageType?: string;\n titleTemplate?: string;\n titlePreview?: string;\n bodyTemplate?: string;\n audienceRoles?: string[];\n roles?: string[];\n enabled?: boolean;\n channel?: string;\n};\n\nexport type MessageEventCatalogItem = {\n eventKey: string;\n label: string;\n messageType?: string;\n};\n\n/** catalog API 完整载荷(含变量 SSOT) */\nexport type MessageEventCatalogPayload = {\n events: MessageEventCatalogItem[];\n /** 原始 schema;优先用 variables */\n contextSchema?: Record<string, string | { type?: string; label?: string }>;\n variables?: MessageTemplateVariable[];\n};\n\nexport type MessageAudienceRoleOption = {\n /** 写入模板的角色码 */\n code: string;\n /** 展示名(来自 SSO / fixture) */\n name: string;\n};\n\nexport type MessageTemplateVariable = {\n key: string;\n /** 可选中文说明;无则下拉只显示 code */\n label?: string;\n type?: string;\n};\n\nexport type MessageTemplateAdminProps = {\n fetchTemplates: () => Promise<MessageTemplateAdminItem[]>;\n saveTemplate?: (item: MessageTemplateAdminItem) => Promise<void>;\n /**\n * 事件目录。可返回数组(仅 events)或完整 payload(含 variables / contextSchema)。\n * 变量优先取 payload.variables,否则从 contextSchema 推导;**禁止** FE 平行 DEFAULT_VARS。\n */\n fetchEventCatalog?: () => Promise<MessageEventCatalogItem[] | MessageEventCatalogPayload>;\n /** 列表行切换启用(不经新建表单) */\n setTemplateEnabled?: (item: MessageTemplateAdminItem, enabled: boolean) => Promise<void>;\n /**\n * 受众角色选项(SSO 本系统角色)。未传且无 renderAudienceField 时用空 Select(禁 tags 手输码)。\n */\n fetchAudienceRoles?: () => Promise<MessageAudienceRoleOption[]>;\n /**\n * @deprecated 变量须来自 catalog;仅联调 fixture 可传。业务页勿硬编码平行表。\n */\n templateVariables?: MessageTemplateVariable[];\n /** 预览用示例值;未传则按 variables 生成 */\n previewVars?: Record<string, string>;\n canWrite?: boolean;\n renderAudienceField?: (ctx: {\n roles: string[];\n onChange: (roles: string[]) => void;\n }) => ReactNode;\n pushRulesSlot?: ReactNode;\n emptyText?: string;\n className?: string;\n /** 自动编号前缀,默认 MEQ */\n codePrefix?: string;\n};\n\nexport function variablesFromCatalog(\n payload: MessageEventCatalogPayload | null | undefined,\n): MessageTemplateVariable[] {\n if (!payload) return [];\n if (Array.isArray(payload.variables) && payload.variables.length) {\n return payload.variables\n .map((v) => ({\n key: String(v.key || '').trim(),\n label: v.label,\n type: v.type,\n }))\n .filter((v) => v.key);\n }\n const schema = payload.contextSchema;\n if (!schema || typeof schema !== 'object') return [];\n return Object.entries(schema)\n .map(([key, raw]) => {\n if (typeof raw === 'string') return { key, type: raw };\n if (raw && typeof raw === 'object') {\n return {\n key,\n type: raw.type || 'string',\n label: raw.label,\n };\n }\n return { key };\n })\n .filter((v) => v.key);\n}\n\nexport function previewVarsFromVariables(vars: MessageTemplateVariable[]): Record<string, string> {\n const out: Record<string, string> = {};\n for (const v of vars) {\n out[v.key] = v.type === 'number' ? '1' : v.label || v.key;\n }\n return out;\n}\n"],"names":["variablesFromCatalog","payload","v","schema","key","raw","previewVarsFromVariables","vars","out"],"mappings":"AA8EO,SAASA,EACdC,GAC2B;AAC3B,MAAI,CAACA,EAAS,QAAO,CAAA;AACrB,MAAI,MAAM,QAAQA,EAAQ,SAAS,KAAKA,EAAQ,UAAU;AACxD,WAAOA,EAAQ,UACZ,IAAI,CAACC,OAAO;AAAA,MACX,KAAK,OAAOA,EAAE,OAAO,EAAE,EAAE,KAAA;AAAA,MACzB,OAAOA,EAAE;AAAA,MACT,MAAMA,EAAE;AAAA,IAAA,EACR,EACD,OAAO,CAACA,MAAMA,EAAE,GAAG;AAExB,QAAMC,IAASF,EAAQ;AACvB,SAAI,CAACE,KAAU,OAAOA,KAAW,WAAiB,CAAA,IAC3C,OAAO,QAAQA,CAAM,EACzB,IAAI,CAAC,CAACC,GAAKC,CAAG,MACT,OAAOA,KAAQ,WAAiB,EAAE,KAAAD,GAAK,MAAMC,EAAA,IAC7CA,KAAO,OAAOA,KAAQ,WACjB;AAAA,IACL,KAAAD;AAAA,IACA,MAAMC,EAAI,QAAQ;AAAA,IAClB,OAAOA,EAAI;AAAA,EAAA,IAGR,EAAE,KAAAD,EAAA,CACV,EACA,OAAO,CAACF,MAAMA,EAAE,GAAG;AACxB;AAEO,SAASI,EAAyBC,GAAyD;AAChG,QAAMC,IAA8B,CAAA;AACpC,aAAWN,KAAKK;AACd,IAAAC,EAAIN,EAAE,GAAG,IAAIA,EAAE,SAAS,WAAW,MAAMA,EAAE,SAASA,EAAE;AAExD,SAAOM;AACT;"}
1
+ {"version":3,"file":"types.js","sources":["../../../../../src/components/Tools/MessageCenter/MessageTemplateAdmin/types.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nexport type MessageCrudFlags = {\n create: boolean;\n read: boolean;\n update: boolean;\n delete: boolean;\n};\n\nexport type MessageAdminPermissions = {\n template?: Partial<MessageCrudFlags>;\n push?: Partial<MessageCrudFlags>;\n variable?: Partial<MessageCrudFlags>;\n};\n\nconst ALL_CRUD_OFF: MessageCrudFlags = {\n create: false,\n read: false,\n update: false,\n delete: false,\n};\n\nconst ALL_CRUD_ON: MessageCrudFlags = {\n create: true,\n read: true,\n update: true,\n delete: true,\n};\n\nfunction mergeCrud(\n partial: Partial<MessageCrudFlags> | undefined,\n fallback: MessageCrudFlags,\n): MessageCrudFlags {\n return {\n create: partial?.create ?? fallback.create,\n read: partial?.read ?? fallback.read,\n update: partial?.update ?? fallback.update,\n delete: partial?.delete ?? fallback.delete,\n };\n}\n\n/** 解析 Admin 门禁:有 permissions 用细粒度;否则 canWrite 作 Showcase 全开/全关。 */\nexport function resolveMessageAdminPermissions(\n permissions: MessageAdminPermissions | undefined,\n canWrite: boolean | undefined,\n): { template: MessageCrudFlags; push: MessageCrudFlags; variable: MessageCrudFlags } {\n const fallback = canWrite ? ALL_CRUD_ON : ALL_CRUD_OFF;\n if (!permissions) {\n return { template: fallback, push: fallback, variable: fallback };\n }\n return {\n template: mergeCrud(permissions.template, ALL_CRUD_OFF),\n push: mergeCrud(permissions.push, ALL_CRUD_OFF),\n variable: mergeCrud(permissions.variable, ALL_CRUD_OFF),\n };\n}\n\nexport type MessageTemplateAdminItem = {\n id?: string;\n code?: string;\n eventKey?: string;\n scenario?: string;\n label?: string;\n messageType?: string;\n titleTemplate?: string;\n titlePreview?: string;\n bodyTemplate?: string;\n audienceRoles?: string[];\n roles?: string[];\n enabled?: boolean;\n channel?: string;\n};\n\nexport type MessageEventCatalogItem = {\n eventKey: string;\n label: string;\n messageType?: string;\n};\n\n/** catalog API 完整载荷(含变量 SSOT) */\nexport type MessageEventCatalogPayload = {\n events: MessageEventCatalogItem[];\n /** 原始 schema;优先用 variables */\n contextSchema?: Record<string, string | { type?: string; label?: string }>;\n variables?: MessageTemplateVariable[];\n};\n\nexport type MessageAudienceRoleOption = {\n /** 写入模板的角色码 */\n code: string;\n /** 展示名(来自 SSO / fixture) */\n name: string;\n};\n\nexport type MessageTemplateVariable = {\n key: string;\n /** 可选中文说明;无则下拉只显示 code */\n label?: string;\n type?: string;\n source?: 'catalog' | 'tenant';\n baseline?: boolean;\n};\n\n/** 变量管理行 */\nexport type MessageTemplateVariableAdmin = MessageTemplateVariable;\n\nexport type PushRuleAdminItem = {\n id?: string;\n code?: string;\n label?: string;\n eventKey?: string;\n levels?: string[];\n templateCode?: string;\n audienceRoles?: string[];\n audienceUserIds?: string[];\n channels?: string[];\n slaHours?: number;\n scanLookbackDays?: number;\n enabled?: boolean;\n};\n\nexport type MessageTemplateAdminProps = {\n fetchTemplates: () => Promise<MessageTemplateAdminItem[]>;\n saveTemplate?: (item: MessageTemplateAdminItem) => Promise<void>;\n /**\n * 事件目录。可返回数组(仅 events)或完整 payload(含 variables / contextSchema)。\n * 变量优先取 payload.variables,否则从 contextSchema 推导;**禁止** FE 平行 DEFAULT_VARS。\n */\n fetchEventCatalog?: () => Promise<MessageEventCatalogItem[] | MessageEventCatalogPayload>;\n /** 列表行切换启用(不经新建表单) */\n setTemplateEnabled?: (item: MessageTemplateAdminItem, enabled: boolean) => Promise<void>;\n /**\n * 受众角色选项(SSO 本系统角色)。未传且无 renderAudienceField 时用空 Select(禁 tags 手输码)。\n */\n fetchAudienceRoles?: () => Promise<MessageAudienceRoleOption[]>;\n /**\n * @deprecated 变量须来自 catalog;仅联调 fixture 可传。业务页勿硬编码平行表。\n */\n templateVariables?: MessageTemplateVariable[];\n /** 预览用示例值;未传则按 variables 生成 */\n previewVars?: Record<string, string>;\n /**\n * Showcase 快捷:true→十二项全开,false→全关。\n * 业务仓须传 permissions,禁止只靠 canWrite 当真门禁。\n */\n canWrite?: boolean;\n /**\n * 细粒度 CRUD 门禁(模板 / 推送 / 变量 × create|read|update|delete)。\n * 传入后优先于 canWrite。\n */\n permissions?: MessageAdminPermissions;\n renderAudienceField?: (ctx: {\n roles: string[];\n onChange: (roles: string[]) => void;\n }) => ReactNode;\n /** @deprecated 优先传 fetchPushRules */\n pushRulesSlot?: ReactNode;\n fetchPushRules?: () => Promise<PushRuleAdminItem[]>;\n savePushRule?: (item: PushRuleAdminItem) => Promise<void>;\n setPushRuleEnabled?: (item: PushRuleAdminItem, enabled: boolean) => Promise<void>;\n deletePushRule?: (item: PushRuleAdminItem) => Promise<void>;\n fetchVariables?: () => Promise<MessageTemplateVariableAdmin[]>;\n saveVariable?: (item: MessageTemplateVariableAdmin) => Promise<void>;\n deleteVariable?: (item: MessageTemplateVariableAdmin) => Promise<void>;\n emptyText?: string;\n className?: string;\n /** 自动编号前缀,默认 MEQ */\n codePrefix?: string;\n};\n\nexport function variablesFromCatalog(\n payload: MessageEventCatalogPayload | null | undefined,\n): MessageTemplateVariable[] {\n if (!payload) return [];\n if (Array.isArray(payload.variables) && payload.variables.length) {\n return payload.variables\n .map((v) => ({\n key: String(v.key || '').trim(),\n label: v.label,\n type: v.type,\n source: v.source,\n baseline: v.baseline,\n }))\n .filter((v) => v.key);\n }\n const schema = payload.contextSchema;\n if (!schema || typeof schema !== 'object') return [];\n return Object.entries(schema)\n .map(([key, raw]) => {\n if (typeof raw === 'string') return { key, type: raw };\n if (raw && typeof raw === 'object') {\n return {\n key,\n type: raw.type || 'string',\n label: raw.label,\n };\n }\n return { key };\n })\n .filter((v) => v.key);\n}\n\nexport function previewVarsFromVariables(vars: MessageTemplateVariable[]): Record<string, string> {\n const out: Record<string, string> = {};\n for (const v of vars) {\n out[v.key] = v.type === 'number' ? '1' : v.label || v.key;\n }\n return out;\n}\n"],"names":["ALL_CRUD_OFF","ALL_CRUD_ON","mergeCrud","partial","fallback","resolveMessageAdminPermissions","permissions","canWrite","variablesFromCatalog","payload","v","schema","key","raw","previewVarsFromVariables","vars","out"],"mappings":"AAeA,MAAMA,IAAiC;AAAA,EACrC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AACV,GAEMC,IAAgC;AAAA,EACpC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AACV;AAEA,SAASC,EACPC,GACAC,GACkB;AAClB,SAAO;AAAA,IACL,SAAQD,KAAA,gBAAAA,EAAS,WAAUC,EAAS;AAAA,IACpC,OAAMD,KAAA,gBAAAA,EAAS,SAAQC,EAAS;AAAA,IAChC,SAAQD,KAAA,gBAAAA,EAAS,WAAUC,EAAS;AAAA,IACpC,SAAQD,KAAA,gBAAAA,EAAS,WAAUC,EAAS;AAAA,EAAA;AAExC;AAGO,SAASC,EACdC,GACAC,GACoF;AACpF,QAAMH,IAAWG,IAAWN,IAAcD;AAC1C,SAAKM,IAGE;AAAA,IACL,UAAUJ,EAAUI,EAAY,UAAUN,CAAY;AAAA,IACtD,MAAME,EAAUI,EAAY,MAAMN,CAAY;AAAA,IAC9C,UAAUE,EAAUI,EAAY,UAAUN,CAAY;AAAA,EAAA,IAL/C,EAAE,UAAUI,GAAU,MAAMA,GAAU,UAAUA,EAAA;AAO3D;AAmHO,SAASI,EACdC,GAC2B;AAC3B,MAAI,CAACA,EAAS,QAAO,CAAA;AACrB,MAAI,MAAM,QAAQA,EAAQ,SAAS,KAAKA,EAAQ,UAAU;AACxD,WAAOA,EAAQ,UACZ,IAAI,CAACC,OAAO;AAAA,MACX,KAAK,OAAOA,EAAE,OAAO,EAAE,EAAE,KAAA;AAAA,MACzB,OAAOA,EAAE;AAAA,MACT,MAAMA,EAAE;AAAA,MACR,QAAQA,EAAE;AAAA,MACV,UAAUA,EAAE;AAAA,IAAA,EACZ,EACD,OAAO,CAACA,MAAMA,EAAE,GAAG;AAExB,QAAMC,IAASF,EAAQ;AACvB,SAAI,CAACE,KAAU,OAAOA,KAAW,WAAiB,CAAA,IAC3C,OAAO,QAAQA,CAAM,EACzB,IAAI,CAAC,CAACC,GAAKC,CAAG,MACT,OAAOA,KAAQ,WAAiB,EAAE,KAAAD,GAAK,MAAMC,EAAA,IAC7CA,KAAO,OAAOA,KAAQ,WACjB;AAAA,IACL,KAAAD;AAAA,IACA,MAAMC,EAAI,QAAQ;AAAA,IAClB,OAAOA,EAAI;AAAA,EAAA,IAGR,EAAE,KAAAD,EAAA,CACV,EACA,OAAO,CAACF,MAAMA,EAAE,GAAG;AACxB;AAEO,SAASI,EAAyBC,GAAyD;AAChG,QAAMC,IAA8B,CAAA;AACpC,aAAWN,KAAKK;AACd,IAAAC,EAAIN,EAAE,GAAG,IAAIA,EAAE,SAAS,WAAW,MAAMA,EAAE,SAASA,EAAE;AAExD,SAAOM;AACT;"}
@@ -1,3 +1,4 @@
1
1
  export { MessageTemplateAdmin } from './MessageTemplateAdmin';
2
- export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageEventCatalogPayload, MessageAudienceRoleOption, MessageTemplateVariable, } from './MessageTemplateAdmin';
2
+ export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageEventCatalogPayload, MessageAudienceRoleOption, MessageTemplateVariable, MessageTemplateVariableAdmin, PushRuleAdminItem, MessageCrudFlags, MessageAdminPermissions, } from './MessageTemplateAdmin';
3
3
  export { generateTemplateCode, normalizeTemplatePlaceholders, applyTemplateVars, stripHtmlToText, } from './utils/templateCode';
4
+ export { resolveMessageAdminPermissions } from './MessageTemplateAdmin';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 推送规则:切换 eventKey 后解析关联 templateCode(§4.8a 清脏)。
3
+ * 仅当旧 code 仍属于新事件的模板 options 时保留,否则清空。
4
+ */
5
+ export declare function resolveTemplateCodeAfterEventChange(prevCode: string | undefined, options: Array<{
6
+ value: string;
7
+ }>): string;
8
+ /**
9
+ * 租户变量:基线(catalog / baseline)不可删。
10
+ */
11
+ export declare function canDeleteTenantVariable(r: {
12
+ source?: string;
13
+ baseline?: boolean;
14
+ }): boolean;
@@ -0,0 +1,12 @@
1
+ function a(e, n) {
2
+ const t = String(e || "").trim();
3
+ return t && n.some((r) => r.value === t) ? t : "";
4
+ }
5
+ function o(e) {
6
+ return !(e.source === "catalog" || e.baseline);
7
+ }
8
+ export {
9
+ o as canDeleteTenantVariable,
10
+ a as resolveTemplateCodeAfterEventChange
11
+ };
12
+ //# sourceMappingURL=adminGuards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adminGuards.js","sources":["../../../../../src/components/Tools/MessageCenter/utils/adminGuards.ts"],"sourcesContent":["/**\n * 推送规则:切换 eventKey 后解析关联 templateCode(§4.8a 清脏)。\n * 仅当旧 code 仍属于新事件的模板 options 时保留,否则清空。\n */\nexport function resolveTemplateCodeAfterEventChange(\n prevCode: string | undefined,\n options: Array<{ value: string }>,\n): string {\n const prev = String(prevCode || '').trim();\n if (prev && options.some((o) => o.value === prev)) return prev;\n return '';\n}\n\n/**\n * 租户变量:基线(catalog / baseline)不可删。\n */\nexport function canDeleteTenantVariable(r: { source?: string; baseline?: boolean }): boolean {\n if (r.source === 'catalog' || r.baseline) return false;\n return true;\n}\n"],"names":["resolveTemplateCodeAfterEventChange","prevCode","options","prev","o","canDeleteTenantVariable","r"],"mappings":"AAIO,SAASA,EACdC,GACAC,GACQ;AACR,QAAMC,IAAO,OAAOF,KAAY,EAAE,EAAE,KAAA;AACpC,SAAIE,KAAQD,EAAQ,KAAK,CAACE,MAAMA,EAAE,UAAUD,CAAI,IAAUA,IACnD;AACT;AAKO,SAASE,EAAwBC,GAAqD;AAC3F,SAAI,EAAAA,EAAE,WAAW,aAAaA,EAAE;AAElC;"}
@@ -1,5 +1,5 @@
1
1
  export { InboxBell } from './Inbox';
2
2
  export type { InboxBellItem, InboxBellListResult, InboxBellListParams, InboxBellProps, InboxBellMessageType, } from './Inbox';
3
3
  export { MessageTemplateAdmin } from './MessageCenter';
4
- export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageAudienceRoleOption, MessageTemplateVariable, } from './MessageCenter';
5
- export { generateTemplateCode, normalizeTemplatePlaceholders, applyTemplateVars, } from './MessageCenter';
4
+ export type { MessageTemplateAdminProps, MessageTemplateAdminItem, MessageEventCatalogItem, MessageEventCatalogPayload, MessageAudienceRoleOption, MessageTemplateVariable, MessageTemplateVariableAdmin, PushRuleAdminItem, MessageCrudFlags, MessageAdminPermissions, } from './MessageCenter';
5
+ export { generateTemplateCode, normalizeTemplatePlaceholders, applyTemplateVars, resolveMessageAdminPermissions, } from './MessageCenter';