@guodun/antdv 1.4.4 → 1.4.5

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 (93) hide show
  1. package/dist/es/components/contract-signing-location/src/ContractSigningLocation.vue.mjs +85 -85
  2. package/dist/es/components/dept-selector/src/dept.mjs +170 -142
  3. package/dist/es/components/index.mjs +1 -0
  4. package/dist/es/components/pro-contract-template-designer/index.mjs +1 -0
  5. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.mjs +372 -185
  6. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.mjs +59 -42
  7. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.mjs +218 -85
  8. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.mjs +5 -0
  9. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.vue.mjs +97 -0
  10. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +914 -853
  11. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.mjs +550 -245
  12. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +214 -139
  13. package/dist/es/components/pro-contract-template-designer/src/extensions/template-variable.mjs +53 -35
  14. package/dist/es/components/pro-contract-template-designer/src/types.mjs +15 -2
  15. package/dist/es/components/pro-contract-template-designer/src/utils/advanced-controls.mjs +91 -0
  16. package/dist/es/components/pro-contract-template-designer/src/utils/template-renderer.mjs +96 -65
  17. package/dist/es/components/pro-contract-template-designer/src/utils/template-tool-icons.mjs +23 -16
  18. package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
  19. package/dist/es/components/pro-selector/src/components/org-tree.mjs +130 -89
  20. package/dist/es/components/pro-selector/src/components/user.mjs +34 -26
  21. package/dist/es/components/pro-selector/src/pro-user.mjs +86 -72
  22. package/dist/es/components/pro-selector/src/types.mjs +4 -1
  23. package/dist/es/components/pro-selector/src/utils/orgTree.mjs +5 -2
  24. package/dist/es/components/pro-selector-group/src/compoents/dept-tree.vue.mjs +92 -65
  25. package/dist/es/components/pro-selector-group/src/compoents/dept.vue.mjs +3 -3
  26. package/dist/es/components/pro-selector-group/src/compoents/role.vue.mjs +98 -73
  27. package/dist/es/components/pro-selector-group/src/compoents/select-box.vue.mjs +12 -9
  28. package/dist/es/components/pro-selector-group/src/compoents/user.vue.mjs +101 -72
  29. package/dist/es/components/pro-selector-group/src/hooks/useApi.mjs +39 -22
  30. package/dist/es/components/pro-selector-group/src/index.vue.mjs +105 -83
  31. package/dist/es/components/pro-selector-group/src/utils/index.mjs +36 -0
  32. package/dist/es/components/role-selector/src/role.mjs +134 -120
  33. package/dist/es/index.mjs +50 -49
  34. package/dist/lib/components/contract-signing-location/src/ContractSigningLocation.vue.cjs +1 -1
  35. package/dist/lib/components/dept-selector/src/dept.cjs +1 -1
  36. package/dist/lib/components/index.cjs +1 -1
  37. package/dist/lib/components/pro-contract-template-designer/index.cjs +1 -1
  38. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.cjs +2 -1
  39. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.cjs +1 -1
  40. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.cjs +1 -1
  41. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.cjs +1 -0
  42. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.vue.cjs +1 -0
  43. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
  44. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.cjs +1 -1
  45. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +4 -4
  46. package/dist/lib/components/pro-contract-template-designer/src/extensions/template-variable.cjs +1 -1
  47. package/dist/lib/components/pro-contract-template-designer/src/types.cjs +1 -1
  48. package/dist/lib/components/pro-contract-template-designer/src/utils/advanced-controls.cjs +1 -0
  49. package/dist/lib/components/pro-contract-template-designer/src/utils/template-renderer.cjs +3 -3
  50. package/dist/lib/components/pro-contract-template-designer/src/utils/template-tool-icons.cjs +1 -1
  51. package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
  52. package/dist/lib/components/pro-selector/src/components/org-tree.cjs +1 -1
  53. package/dist/lib/components/pro-selector/src/components/user.cjs +1 -1
  54. package/dist/lib/components/pro-selector/src/pro-user.cjs +1 -1
  55. package/dist/lib/components/pro-selector/src/types.cjs +1 -1
  56. package/dist/lib/components/pro-selector/src/utils/orgTree.cjs +1 -1
  57. package/dist/lib/components/pro-selector-group/src/compoents/dept-tree.vue.cjs +1 -1
  58. package/dist/lib/components/pro-selector-group/src/compoents/dept.vue.cjs +1 -1
  59. package/dist/lib/components/pro-selector-group/src/compoents/role.vue.cjs +1 -1
  60. package/dist/lib/components/pro-selector-group/src/compoents/select-box.vue.cjs +1 -1
  61. package/dist/lib/components/pro-selector-group/src/compoents/user.vue.cjs +1 -1
  62. package/dist/lib/components/pro-selector-group/src/hooks/useApi.cjs +1 -1
  63. package/dist/lib/components/pro-selector-group/src/index.vue.cjs +1 -1
  64. package/dist/lib/components/pro-selector-group/src/utils/index.cjs +1 -0
  65. package/dist/lib/components/role-selector/src/role.cjs +1 -1
  66. package/dist/lib/index.cjs +1 -1
  67. package/dist/theme/dept-selector.css +1 -1
  68. package/dist/theme/icon.css +1 -1
  69. package/dist/theme/index.css +1 -1
  70. package/dist/theme/pro-selector-group.css +1 -1
  71. package/dist/theme/pro-selector.css +1 -1
  72. package/dist/theme/role-selector.css +1 -1
  73. package/dist/types/components/contract-signing-location/src/ContractSigningLocation.vue.d.ts +3 -3
  74. package/dist/types/components/pro-contract-template-designer/index.d.ts +1 -0
  75. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.d.ts +1 -0
  76. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.d.ts +3 -0
  77. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.d.ts +7 -1
  78. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateVariableDataModal.vue.d.ts +14 -0
  79. package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +13 -1
  80. package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.d.ts +11 -1
  81. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-designer.d.ts +4 -0
  82. package/dist/types/components/pro-contract-template-designer/src/extensions/template-variable.d.ts +11 -1
  83. package/dist/types/components/pro-contract-template-designer/src/types.d.ts +131 -2
  84. package/dist/types/components/pro-contract-template-designer/src/utils/advanced-controls.d.ts +15 -0
  85. package/dist/types/components/pro-contract-template-designer/src/utils/template-renderer.d.ts +10 -2
  86. package/dist/types/components/pro-selector/index.d.ts +9 -0
  87. package/dist/types/components/pro-selector/src/components/user.d.ts +9 -0
  88. package/dist/types/components/pro-selector/src/types.d.ts +2 -0
  89. package/dist/types/components/pro-selector/src/utils/orgTree.d.ts +4 -1
  90. package/dist/types/components/pro-selector-group/src/compoents/select-box.vue.d.ts +4 -4
  91. package/dist/types/components/pro-selector-group/src/hooks/useApi.d.ts +6 -1
  92. package/dist/types/components/pro-selector-group/src/utils/index.d.ts +8 -0
  93. package/package.json +3 -1
@@ -4,8 +4,9 @@ import { resolveTemplateVariablePresentation as ee } from "../utils/template-var
4
4
  import { buildPageDecorationClassNames as te, buildPageDecorationsHtml as d, collectPageDecorationVariableKeys as f, normalizePageDecorations as p, validatePageDecorations as m } from "../utils/page-decorations.mjs";
5
5
  import { isContractTemplateFieldType as ne } from "../types.mjs";
6
6
  import { normalizeSigningPlacements as re, scaleSigningPlacementToPage as ie, validateSigningPlacements as ae } from "../utils/signing-placement.mjs";
7
+ import { decodeContractTemplateJsonAttribute as h } from "../utils/advanced-controls.mjs";
7
8
  //#region src/components/pro-contract-template-designer/src/composables/use-template-designer.ts
8
- var h = [
9
+ var g = [
9
10
  {
10
11
  format: "A0",
11
12
  width: 3178,
@@ -54,7 +55,7 @@ var h = [
54
55
  height: 1344,
55
56
  label: "Legal"
56
57
  }
57
- ], g = { ...h[4] }, _ = {
58
+ ], _ = { ...g[4] }, v = {
58
59
  color: "#1f2937",
59
60
  background: "transparent",
60
61
  fontSize: 14,
@@ -64,20 +65,20 @@ var h = [
64
65
  textAlign: "left",
65
66
  borderStyle: "solid",
66
67
  objectFit: "contain"
67
- }, oe = 3, se = 28, v = "contract-template-renderer-1.0.0", y = "contract-render-css-1.0.0", b = /^[A-Za-z][A-Za-z0-9_]{1,63}$/, x = new Set([
68
+ }, oe = 3, se = 28, ce = "contract-template-renderer-1.0.0", le = "contract-render-css-1.0.0", ue = /^[A-Za-z][A-Za-z0-9_]{1,63}$/, de = new Set([
68
69
  "pageNumber",
69
70
  "totalPages",
70
71
  "rendererVersion"
71
72
  ]);
72
- function S(e, t, n) {
73
+ function y(e, t, n) {
73
74
  let r = typeof e == "string" ? e.trim() : "";
74
- return r ? b.test(r) ? x.has(r) ? `${r} 是系统保留标识` : t.some((e) => e.id !== n && e.key.trim() === r) ? `变量标识 ${r} 已存在` : "" : "变量标识需以字母开头,仅包含字母、数字和下划线,长度为 2~64 位" : "请输入变量标识";
75
+ return r ? ue.test(r) ? de.has(r) ? `${r} 是系统保留标识` : t.some((e) => e.id !== n && e.key.trim() === r) ? `变量标识 ${r} 已存在` : "" : "变量标识需以字母开头,仅包含字母、数字和下划线,长度为 2~64 位" : "请输入变量标识";
75
76
  }
76
- function ce(e) {
77
+ function fe(e) {
77
78
  let t = Number(e);
78
79
  return Number.isFinite(t) && t >= 1 ? Math.max(1, Math.floor(t)) : 20;
79
80
  }
80
- var C = [
81
+ var b = [
81
82
  {
82
83
  type: "text",
83
84
  label: "输入框",
@@ -108,11 +109,56 @@ var C = [
108
109
  defaultWidth: 96,
109
110
  defaultHeight: 28
110
111
  }
111
- ], w = 0;
112
- function T(e) {
113
- return w += 1, `${e}-${Date.now().toString(36)}-${w.toString(36)}`;
112
+ ], x = [{
113
+ type: "select",
114
+ label: "下拉框",
115
+ defaultWidth: 180,
116
+ defaultHeight: 32
117
+ }, {
118
+ type: "radio",
119
+ label: "单选框",
120
+ defaultWidth: 220,
121
+ defaultHeight: 32
122
+ }], S = [
123
+ {
124
+ type: "user-selector",
125
+ label: "用户选择器",
126
+ defaultWidth: 240,
127
+ defaultHeight: 36
128
+ },
129
+ {
130
+ type: "dept-selector",
131
+ label: "部门选择器",
132
+ defaultWidth: 240,
133
+ defaultHeight: 36
134
+ },
135
+ {
136
+ type: "role-selector",
137
+ label: "角色选择器",
138
+ defaultWidth: 240,
139
+ defaultHeight: 36
140
+ },
141
+ {
142
+ type: "org-selector",
143
+ label: "组织架构",
144
+ defaultWidth: 240,
145
+ defaultHeight: 36
146
+ }
147
+ ], C = [{
148
+ type: "custom",
149
+ label: "自定义控件",
150
+ defaultWidth: 200,
151
+ defaultHeight: 36
152
+ }], w = [
153
+ ...b,
154
+ ...x,
155
+ ...S,
156
+ ...C
157
+ ], T = 0;
158
+ function E(e) {
159
+ return T += 1, `${e}-${Date.now().toString(36)}-${T.toString(36)}`;
114
160
  }
115
- function le(e) {
161
+ function D(e) {
116
162
  let t = JSON.parse(JSON.stringify(e));
117
163
  return Array.isArray(t.signingPlacements) && (t.signingPlacements = t.signingPlacements.map((e) => ({
118
164
  id: e.id,
@@ -126,14 +172,14 @@ function le(e) {
126
172
  ...e.sealTypes?.length ? { sealTypes: [...e.sealTypes] } : {}
127
173
  }))), t;
128
174
  }
129
- function E(e) {
130
- return h.find((t) => t.format === e);
175
+ function O(e) {
176
+ return g.find((t) => t.format === e);
131
177
  }
132
- function D(e) {
133
- if (e) return e.format && e.format !== "Custom" ? e.format : h.find((t) => t.width === e.width && t.height === e.height)?.format;
178
+ function k(e) {
179
+ if (e) return e.format && e.format !== "Custom" ? e.format : g.find((t) => t.width === e.width && t.height === e.height)?.format;
134
180
  }
135
- function O(e, t = g) {
136
- let n = D(t) ?? t.format, r = e?.format ?? D(e) ?? n ?? "Custom", i = r === "Custom" ? void 0 : E(r), a = M(i?.width ?? e?.width, t.width), o = M(i?.height ?? e?.height, t.height);
181
+ function A(e, t = _) {
182
+ let n = k(t) ?? t.format, r = e?.format ?? k(e) ?? n ?? "Custom", i = r === "Custom" ? void 0 : O(r), a = P(i?.width ?? e?.width, t.width), o = P(i?.height ?? e?.height, t.height);
137
183
  return {
138
184
  format: i?.format ?? r,
139
185
  width: a,
@@ -141,22 +187,22 @@ function O(e, t = g) {
141
187
  label: e?.label ?? i?.label ?? t.label ?? r
142
188
  };
143
189
  }
144
- function k(e) {
190
+ function j(e) {
145
191
  return `${e.format ?? "Custom"}:${e.width}:${e.height}`;
146
192
  }
147
- function A(e) {
148
- let t = (Array.isArray(e) ? e : h).map((e) => {
193
+ function M(e) {
194
+ let t = (Array.isArray(e) ? e : g).map((e) => {
149
195
  let t = Number(e?.width), n = Number(e?.height);
150
196
  if (!Number.isFinite(t) || t <= 0 || !Number.isFinite(n) || n <= 0) return;
151
197
  let r = e?.format;
152
198
  if (r && r !== "Custom") {
153
- let t = E(r);
199
+ let t = O(r);
154
200
  return t ? {
155
201
  ...t,
156
202
  label: e.label ?? t.label
157
203
  } : void 0;
158
204
  }
159
- let i = r ? void 0 : D(e), a = i ? E(i) : void 0;
205
+ let i = r ? void 0 : k(e), a = i ? O(i) : void 0;
160
206
  if (a) return {
161
207
  ...a,
162
208
  label: e.label ?? a.label
@@ -170,19 +216,19 @@ function A(e) {
170
216
  label: e.label ?? "Custom"
171
217
  };
172
218
  }).filter(Boolean), n = /* @__PURE__ */ new Set(), r = t.filter((e) => {
173
- let t = k(e);
219
+ let t = j(e);
174
220
  return n.has(t) ? !1 : (n.add(t), !0);
175
221
  });
176
- return (r.length ? r : h).map((e) => ({ ...e }));
222
+ return (r.length ? r : g).map((e) => ({ ...e }));
177
223
  }
178
- function j(e, t) {
179
- let n = k(e);
180
- return t.find((e) => k(e) === n);
224
+ function N(e, t) {
225
+ let n = j(e);
226
+ return t.find((e) => j(e) === n);
181
227
  }
182
- function ue(e, t) {
183
- let n = A(t), r = n[0], i = O(e.pageSize, r), a = j(i, n) ?? r, o = /* @__PURE__ */ new Map(), s = e.pages.map((e) => {
184
- let t = O(e.pageSize, i), a = j(t, n) ?? r;
185
- return k(t) !== k(a) && o.set(e.id, {
228
+ function pe(e, t) {
229
+ let n = M(t), r = n[0], i = A(e.pageSize, r), a = N(i, n) ?? r, o = /* @__PURE__ */ new Map(), s = e.pages.map((e) => {
230
+ let t = A(e.pageSize, i), a = N(t, n) ?? r;
231
+ return j(t) !== j(a) && o.set(e.id, {
186
232
  source: t,
187
233
  target: a
188
234
  }), {
@@ -203,52 +249,52 @@ function ue(e, t) {
203
249
  resizedSigningPlacementIds: c
204
250
  };
205
251
  }
206
- function M(e, t) {
252
+ function P(e, t) {
207
253
  let n = Number(e);
208
254
  return !Number.isFinite(n) || n <= 0 ? t : Math.round(n);
209
255
  }
210
- function N(e = 1, t) {
256
+ function F(e = 1, t) {
211
257
  return {
212
- id: T("page"),
258
+ id: E("page"),
213
259
  title: `第 ${e} 页`,
214
- pageSize: t ? O(t) : void 0,
260
+ pageSize: t ? A(t) : void 0,
215
261
  contentHtml: "<p>请输入合同正文。</p>"
216
262
  };
217
263
  }
218
- function P(e = 1, t, n = "<p></p>", r) {
264
+ function I(e = 1, t, n = "<p></p>", r) {
219
265
  return {
220
- id: T("page"),
266
+ id: E("page"),
221
267
  title: `第 ${e} 页`,
222
- pageSize: t ? O(t) : void 0,
268
+ pageSize: t ? A(t) : void 0,
223
269
  contentHtml: n,
224
270
  contentJson: r
225
271
  };
226
272
  }
227
- function F(e = g) {
228
- let t = O(e);
273
+ function L(e = _) {
274
+ let t = A(e);
229
275
  return {
230
- pages: [N(1, t)],
276
+ pages: [F(1, t)],
231
277
  variables: [],
232
278
  pageSize: t,
233
279
  signingPlacements: []
234
280
  };
235
281
  }
236
- function de(e = g) {
237
- let t = O(e);
282
+ function me(e = _) {
283
+ let t = A(e);
238
284
  return {
239
- pages: [P(1, t, "<p></p>")],
285
+ pages: [I(1, t, "<p></p>")],
240
286
  variables: [],
241
287
  pageSize: t,
242
288
  signingPlacements: []
243
289
  };
244
290
  }
245
- function I(e, t = C) {
246
- return t.find((t) => t.type === e) ?? C[0];
291
+ function R(e, t = b) {
292
+ return t.find((t) => t.type === e) ?? w.find((t) => t.type === e) ?? b[0];
247
293
  }
248
- function L(e, t = C, n = {}) {
249
- let r = e.type === void 0 ? "text" : e.type, i = I(r, t), a = fe(r);
294
+ function z(e, t = b, n = {}) {
295
+ let r = e.type === void 0 ? "text" : e.type, i = R(r, t), a = he(r);
250
296
  return {
251
- id: e.id ?? T("variable"),
297
+ id: e.id ?? E("variable"),
252
298
  key: e.key,
253
299
  label: e.label ?? i.label ?? e.key,
254
300
  type: r,
@@ -262,18 +308,23 @@ function L(e, t = C, n = {}) {
262
308
  useGrouping: e.useGrouping ?? a.useGrouping,
263
309
  checkedText: e.checkedText ?? a.checkedText ?? "",
264
310
  uncheckedText: e.uncheckedText ?? a.uncheckedText ?? "",
311
+ options: Array.isArray(e.options) ? e.options.map((e) => ({ ...e })) : [],
312
+ dataSource: e.dataSource ? { ...e.dataSource } : void 0,
313
+ multiple: e.multiple ?? !1,
314
+ componentKey: e.componentKey ?? "",
315
+ componentConfig: e.componentConfig ? { ...e.componentConfig } : {},
265
316
  multiline: e.multiline ?? !1,
266
317
  rows: Math.max(1, Math.round(e.rows ?? 3)),
267
318
  lineHeight: Math.max(18, Math.round(e.lineHeight ?? 28)),
268
319
  style: {
269
- ..._,
320
+ ...v,
270
321
  ...a.style,
271
322
  ...n,
272
323
  ...e.style
273
324
  }
274
325
  };
275
326
  }
276
- function fe(e) {
327
+ function he(e) {
277
328
  return e === "date" ? {
278
329
  placeholder: "年 月 日",
279
330
  format: "YYYY年MM月DD日",
@@ -310,40 +361,54 @@ function fe(e) {
310
361
  border: !1,
311
362
  underline: !1
312
363
  }
364
+ } : e === "select" || e === "radio" ? {
365
+ placeholder: e === "select" ? "请选择" : "请选择一项",
366
+ multiple: !1,
367
+ style: {
368
+ border: !0,
369
+ underline: !1
370
+ }
371
+ } : e === "user-selector" || e === "dept-selector" || e === "role-selector" || e === "org-selector" || e === "custom" ? {
372
+ placeholder: "请选择",
373
+ multiple: !1,
374
+ style: {
375
+ border: !0,
376
+ underline: !1
377
+ }
313
378
  } : { style: {
314
379
  border: !1,
315
380
  underline: !0
316
381
  } };
317
382
  }
318
- function R(e) {
383
+ function B(e) {
319
384
  return e !== void 0 && !ne(e);
320
385
  }
321
- function pe(e, t = g) {
322
- if (!e) return F(t);
323
- let n = O(e.pageSize, t), r = (e.pages?.length ? e.pages : [N(1, n)]).map((e, t) => ({
324
- id: e.id || T("page"),
386
+ function ge(e, t = _) {
387
+ if (!e) return L(t);
388
+ let n = A(e.pageSize, t), r = (e.pages?.length ? e.pages : [F(1, n)]).map((e, t) => ({
389
+ id: e.id || E("page"),
325
390
  title: e.title || `第 ${t + 1} 页`,
326
- pageSize: O(e.pageSize, n),
391
+ pageSize: A(e.pageSize, n),
327
392
  contentHtml: e.contentHtml || "<p></p>",
328
393
  contentJson: e.contentJson
329
- })), i = [], a = /* @__PURE__ */ new Map(), o = Object.fromEntries(r.map((e) => [e.id, O(e.pageSize, n)]));
394
+ })), i = [], a = /* @__PURE__ */ new Map(), o = Object.fromEntries(r.map((e) => [e.id, A(e.pageSize, n)]));
330
395
  return (e.variables ?? []).forEach((e) => {
331
- let t = L({
396
+ let t = z({
332
397
  ...e,
333
- id: e.id || T("variable")
398
+ id: e.id || E("variable")
334
399
  });
335
400
  i.push(t), t.key && a.set(t.key, t);
336
401
  }), r.forEach((e) => {
337
- xe(e).forEach((e) => {
402
+ we(e).forEach((e) => {
338
403
  if (!e.key) return;
339
404
  let t = a.get(e.key);
340
405
  if (!t) {
341
- let t = L(e);
406
+ let t = z(e);
342
407
  i.push(t), a.set(e.key, t);
343
408
  return;
344
409
  }
345
- if (R(e.type)) {
346
- let n = L({
410
+ if (B(e.type)) {
411
+ let n = z({
347
412
  ...t,
348
413
  type: e.type
349
414
  });
@@ -360,26 +425,26 @@ function pe(e, t = g) {
360
425
  ...e.pageDecorations ? { pageDecorations: p(e.pageDecorations) } : {}
361
426
  };
362
427
  }
363
- function me(e) {
364
- return e.pages.map((t, n) => G(e, t, n, t.contentHtml, {})).join("\n");
428
+ function _e(e) {
429
+ return e.pages.map((t, n) => q(e, t, n, t.contentHtml, {})).join("\n");
365
430
  }
366
- function z(e) {
367
- return e.pages.map((t, n) => G(e, t, n, Ae(t.contentHtml))).join("\n");
431
+ function V(e) {
432
+ return e.pages.map((t, n) => q(e, t, n, Fe(t.contentHtml))).join("\n");
368
433
  }
369
- function he(e) {
370
- return B(e).map(({ page: t, contentHtml: n }, r) => {
371
- let i = O(t.pageSize, e.pageSize), a = d(e.pageDecorations, r + 1, e.pages.length, e.variables, {});
372
- return `<section ${K(t, e.pageSize, e.pageDecorations, r + 1)} style="width:${i.width}px;min-height:${i.height}px">${a}<div class="gd-contract-template-page__content">${n}</div></section>`;
434
+ function ve(e) {
435
+ return H(e).map(({ page: t, contentHtml: n }, r) => {
436
+ let i = A(t.pageSize, e.pageSize), a = d(e.pageDecorations, r + 1, e.pages.length, e.variables, {});
437
+ return `<section ${J(t, e.pageSize, e.pageDecorations, r + 1)} style="width:${i.width}px;min-height:${i.height}px">${a}<div class="gd-contract-template-page__content">${n}</div></section>`;
373
438
  }).join("\n");
374
439
  }
375
- function B(e) {
440
+ function H(e) {
376
441
  let t = new Map(e.variables.map((e) => [e.key, e])), n = Array.isArray(e.signingPlacements) ? e.signingPlacements : [];
377
442
  return e.pages.map((e) => ({
378
443
  page: {
379
444
  ...e,
380
445
  ...e.pageSize ? { pageSize: { ...e.pageSize } } : {}
381
446
  },
382
- contentHtml: Ce(e.contentHtml, t),
447
+ contentHtml: Ee(e.contentHtml, t),
383
448
  signingPlacements: n.filter((t) => t.pageId === e.id).map((e) => ({
384
449
  id: e.id,
385
450
  pageId: e.pageId,
@@ -393,23 +458,23 @@ function B(e) {
393
458
  }))
394
459
  }));
395
460
  }
396
- var V = class extends Error {
461
+ var U = class extends Error {
397
462
  constructor(e) {
398
463
  super(e[0]?.message || "页面装饰配置无效"), this.errors = e, this.name = "ContractTemplatePageDecorationValidationError";
399
464
  }
400
465
  };
401
- function ge(e) {
466
+ function ye(e) {
402
467
  let t = m(e.pageDecorations, e.variables);
403
- if (t.length) throw new V(t);
404
- let n = le(e);
468
+ if (t.length) throw new U(t);
469
+ let n = D(e);
405
470
  return n.pageDecorations &&= p(n.pageDecorations), {
406
471
  ...n,
407
- rendererVersion: v,
408
- styleVersion: y,
409
- html: z(n)
472
+ rendererVersion: ce,
473
+ styleVersion: le,
474
+ html: V(n)
410
475
  };
411
476
  }
412
- function H(e, t = {}) {
477
+ function W(e, t = {}) {
413
478
  let n = [], r = /* @__PURE__ */ new Set();
414
479
  typeof t.maxPages == "number" && e.pages.length > t.maxPages && n.push({
415
480
  type: "page",
@@ -418,7 +483,7 @@ function H(e, t = {}) {
418
483
  code: "PAGE_LIMIT_EXCEEDED",
419
484
  message: `合同共 ${e.pages.length} 页,超过最多 ${t.maxPages} 页限制`
420
485
  }), e.variables.forEach((t) => {
421
- let i = S(t.key, e.variables, t.id), a = !!t.key?.trim() && e.variables.some((e) => e.id !== t.id && e.key.trim() === t.key.trim());
486
+ let i = y(t.key, e.variables, t.id), a = !!t.key?.trim() && e.variables.some((e) => e.id !== t.id && e.key.trim() === t.key.trim());
422
487
  i && (!a || t.key !== t.key.trim()) && n.push({
423
488
  type: "variable",
424
489
  id: t.id,
@@ -431,7 +496,7 @@ function H(e, t = {}) {
431
496
  variableKey: t.key,
432
497
  message: `变量标识 ${t.key} 重复`,
433
498
  code: "VARIABLE_KEY_DUPLICATED"
434
- }), r.add(t.key)), R(t.type) && n.push({
499
+ }), r.add(t.key)), B(t.type) && n.push({
435
500
  type: "variable",
436
501
  id: t.id,
437
502
  variableKey: t.key,
@@ -441,7 +506,7 @@ function H(e, t = {}) {
441
506
  });
442
507
  let i = new Set(e.variables.map((e) => e.key).filter(Boolean)), a = /* @__PURE__ */ new Set(), o = f(e.pageDecorations);
443
508
  return e.pages.forEach((e) => {
444
- U(e).forEach((t) => {
509
+ G(e).forEach((t) => {
445
510
  a.add(t), i.has(t) || n.push({
446
511
  type: "variable",
447
512
  id: e.id,
@@ -456,12 +521,12 @@ function H(e, t = {}) {
456
521
  });
457
522
  }), n.push(...m(e.pageDecorations, e.variables)), n.push(...ae(e)), n;
458
523
  }
459
- function U(e) {
524
+ function G(e) {
460
525
  let t = /* @__PURE__ */ new Set();
461
526
  function n(e) {
462
527
  if (!e || typeof e != "object") return;
463
528
  let r = e;
464
- _e(r.type) && r.attrs?.key && t.add(r.attrs.key), r.content?.forEach(n);
529
+ be(r.type) && r.attrs?.key && t.add(r.attrs.key), r.content?.forEach(n);
465
530
  }
466
531
  n(e.contentJson);
467
532
  let r = e.contentHtml || "", i = /data-template-variable=["']true["'][^>]*data-key=["']([^"']+)["']|data-key=["']([^"']+)["'][^>]*data-template-variable=["']true["']/g, a = i.exec(r);
@@ -471,23 +536,23 @@ function U(e) {
471
536
  }
472
537
  return t;
473
538
  }
474
- function _e(e) {
539
+ function be(e) {
475
540
  return e === "templateVariable" || e === "templateField";
476
541
  }
477
- function W(e) {
542
+ function K(e) {
478
543
  let t = /* @__PURE__ */ new Set();
479
544
  return e.pages.forEach((e) => {
480
- U(e).forEach((e) => t.add(e));
545
+ G(e).forEach((e) => t.add(e));
481
546
  }), t;
482
547
  }
483
- function ve(e) {
484
- let t = W(e), n = f(e.pageDecorations);
548
+ function xe(e) {
549
+ let t = K(e), n = f(e.pageDecorations);
485
550
  return {
486
551
  ...e,
487
- variables: e.variables.filter((r) => S(r.key, e.variables, r.id) ? !0 : t.has(r.key) || n.has(r.key))
552
+ variables: e.variables.filter((r) => y(r.key, e.variables, r.id) ? !0 : t.has(r.key) || n.has(r.key))
488
553
  };
489
554
  }
490
- function ye(e, t, n) {
555
+ function Se(e, t, n) {
491
556
  let r = e ?? [];
492
557
  if (r.length <= 1 || n <= 0) return;
493
558
  let i = Math.min(r.length, t.length), a = -1;
@@ -504,12 +569,12 @@ function ye(e, t, n) {
504
569
  overflowContent: r.slice(a)
505
570
  };
506
571
  }
507
- function G(e, t, n, r, i) {
572
+ function q(e, t, n, r, i) {
508
573
  let a = d(e.pageDecorations, n + 1, e.pages.length, e.variables, i);
509
- return `<section ${K(t, e.pageSize, e.pageDecorations, n + 1)}>${a}<div class="gd-contract-template-page__content">${r}</div></section>`;
574
+ return `<section ${J(t, e.pageSize, e.pageDecorations, n + 1)}>${a}<div class="gd-contract-template-page__content">${r}</div></section>`;
510
575
  }
511
- function K(e, t, n, r = 1) {
512
- let a = O(e.pageSize, t);
576
+ function J(e, t, n, r = 1) {
577
+ let a = A(e.pageSize, t);
513
578
  return [
514
579
  `class="${te(n, r)}"`,
515
580
  `data-page-id="${i(e.id)}"`,
@@ -519,28 +584,28 @@ function K(e, t, n, r = 1) {
519
584
  `data-page-height="${a.height}"`
520
585
  ].join(" ");
521
586
  }
522
- var be = /<span\b[^>]*data-template-variable=["']true["'][^>]*>/g;
523
- function xe(e) {
587
+ var Ce = /<span\b[^>]*data-template-variable=["']true["'][^>]*>/g;
588
+ function we(e) {
524
589
  let i = /* @__PURE__ */ new Map();
525
590
  function a(e) {
526
591
  if (!e.key) return;
527
592
  let t = i.get(e.key);
528
- (!t || R(e.type) && !R(t.type)) && i.set(e.key, e);
593
+ (!t || B(e.type) && !B(t.type)) && i.set(e.key, e);
529
594
  }
530
595
  function s(e) {
531
596
  if (!e || typeof e != "object") return;
532
597
  let t = e;
533
- t.type === "templateVariable" && typeof t.attrs?.key == "string" && a(Se(t.attrs, t.attrs.key)), t.content?.forEach(s);
598
+ t.type === "templateVariable" && typeof t.attrs?.key == "string" && a(Te(t.attrs, t.attrs.key)), t.content?.forEach(s);
534
599
  }
535
600
  s(e.contentJson);
536
601
  let c = e.contentHtml || "";
537
602
  return t() ? new DOMParser().parseFromString(c, "text/html").querySelectorAll("[data-template-variable]").forEach((e) => {
538
- a(q(n(e)));
539
- }) : o(c, be, (e) => {
540
- a(q(r(e)));
603
+ a(Y(n(e)));
604
+ }) : o(c, Ce, (e) => {
605
+ a(Y(r(e)));
541
606
  }), Array.from(i.values());
542
607
  }
543
- function q(e) {
608
+ function Y(e) {
544
609
  let t = e("data-key") ?? "", n = e("data-variable-type"), r = e("data-precision"), i = e("data-use-grouping");
545
610
  return {
546
611
  key: t,
@@ -556,6 +621,11 @@ function q(e) {
556
621
  useGrouping: i ? i === "true" : void 0,
557
622
  checkedText: e("data-checked-text") ?? "",
558
623
  uncheckedText: e("data-unchecked-text") ?? "",
624
+ options: h(e("data-control-options")) ?? [],
625
+ dataSource: h(e("data-control-source")),
626
+ multiple: e("data-multiple") === "true",
627
+ componentKey: e("data-component-key") ?? "",
628
+ componentConfig: h(e("data-component-config")) ?? {},
559
629
  multiline: e("data-multiline") === "true",
560
630
  rows: s(e("data-rows"), 3),
561
631
  lineHeight: s(e("data-line-height"), 28),
@@ -574,7 +644,7 @@ function q(e) {
574
644
  }
575
645
  };
576
646
  }
577
- function Se(e, t) {
647
+ function Te(e, t) {
578
648
  let n = (t) => typeof e[t] == "string" ? e[t] : void 0;
579
649
  return {
580
650
  key: t,
@@ -590,6 +660,11 @@ function Se(e, t) {
590
660
  useGrouping: typeof e.useGrouping == "boolean" ? e.useGrouping : void 0,
591
661
  checkedText: n("checkedText") ?? "",
592
662
  uncheckedText: n("uncheckedText") ?? "",
663
+ options: Array.isArray(e.options) ? e.options : [],
664
+ dataSource: e.dataSource,
665
+ multiple: e.multiple === !0,
666
+ componentKey: n("componentKey") ?? "",
667
+ componentConfig: e.componentConfig,
593
668
  multiline: e.multiline === !0,
594
669
  rows: s(e.rows, 3),
595
670
  lineHeight: s(e.lineHeight, 28),
@@ -608,20 +683,20 @@ function Se(e, t) {
608
683
  }
609
684
  };
610
685
  }
611
- function Ce(e, n) {
686
+ function Ee(e, n) {
612
687
  if (!e) return e;
613
688
  if (t()) {
614
689
  let t = new DOMParser().parseFromString(e, "text/html");
615
- return we(t), t.querySelectorAll("[data-template-variable]").forEach((e) => {
616
- Te(e, n);
690
+ return De(t), t.querySelectorAll("[data-template-variable]").forEach((e) => {
691
+ ke(e, n);
617
692
  }), t.body.innerHTML;
618
693
  }
619
- return u(De(e), (e, t) => {
694
+ return u(je(e), (e, t) => {
620
695
  let i = r(t);
621
- return i("data-key") ? Ee(i, n) : e;
696
+ return i("data-key") ? Ae(i, n) : e;
622
697
  });
623
698
  }
624
- function we(e) {
699
+ function De(e) {
625
700
  e.querySelectorAll("script,style,meta,link").forEach((e) => e.remove()), e.querySelectorAll("*").forEach((e) => {
626
701
  Array.from(e.attributes).forEach((t) => {
627
702
  let n = t.name.toLowerCase(), r = t.value;
@@ -629,16 +704,16 @@ function we(e) {
629
704
  e.removeAttribute(t.name);
630
705
  return;
631
706
  }
632
- if ((n === "href" || n === "src") && Y(r)) {
707
+ if ((n === "href" || n === "src") && X(r)) {
633
708
  e.removeAttribute(t.name);
634
709
  return;
635
710
  }
636
- n === "style" && X(r) && e.removeAttribute(t.name);
711
+ n === "style" && Pe(r) && e.removeAttribute(t.name);
637
712
  });
638
713
  });
639
714
  }
640
- function J(e, t) {
641
- let n = e("data-key") ?? "", r = t.get(n), i = r?.type ?? e("data-variable-type") ?? "text", a = ke(i, r?.defaultValue ?? e("data-default-value") ?? ""), o = ee({
715
+ function Oe(e, t) {
716
+ let n = e("data-key") ?? "", r = t.get(n), i = r?.type ?? e("data-variable-type") ?? "text", a = Ne(i, r?.defaultValue ?? e("data-default-value") ?? ""), o = ee({
642
717
  type: i,
643
718
  width: r?.width ?? e("data-width"),
644
719
  height: r?.height ?? e("data-height"),
@@ -652,7 +727,7 @@ function J(e, t) {
652
727
  multiline: r?.multiline ?? c(e("data-multiline")) ?? !1,
653
728
  rows: r?.rows ?? e("data-rows"),
654
729
  lineHeight: r?.lineHeight ?? e("data-line-height"),
655
- style: Oe(r, e)
730
+ style: Me(r, e)
656
731
  });
657
732
  return {
658
733
  key: n,
@@ -661,18 +736,18 @@ function J(e, t) {
661
736
  text: o.type === "image" && o.hasDefaultValue ? " " : o.displayText || " "
662
737
  };
663
738
  }
664
- function Te(e, t) {
665
- let { key: r, label: i, presentation: a, text: o } = J(n(e), t);
739
+ function ke(e, t) {
740
+ let { key: r, label: i, presentation: a, text: o } = Oe(n(e), t);
666
741
  e.setAttribute("data-template-variable", "true"), e.setAttribute("data-key", r), e.setAttribute("data-label", i), e.setAttribute("data-variable-type", a.type), e.setAttribute("data-width", String(a.width)), e.setAttribute("data-height", String(a.height)), e.setAttribute("data-border", String(a.border)), e.setAttribute("data-underline", String(a.underline)), e.setAttribute("data-color", a.color), e.setAttribute("data-background", a.background), e.setAttribute("data-font-size", String(a.fontSize)), e.setAttribute("data-font-family", a.fontFamily), e.setAttribute("data-placeholder-color", a.placeholderColor), e.setAttribute("data-line-color", a.lineColor), e.setAttribute("data-text-align", a.textAlign), e.setAttribute("data-border-style", a.borderStyle), e.setAttribute("data-object-fit", a.objectFit), e.className = a.classes.join(" "), e.setAttribute("style", a.styleText), e.textContent = o;
667
742
  }
668
- function Ee(e, t) {
669
- let { key: n, label: r, presentation: o, text: s } = J(e, t);
743
+ function Ae(e, t) {
744
+ let { key: n, label: r, presentation: o, text: s } = Oe(e, t);
670
745
  return `<span data-template-variable="true" data-key="${i(n)}" data-label="${i(r)}" data-variable-type="${i(o.type)}" data-width="${o.width}" data-height="${o.height}" data-border="${o.border}" data-underline="${o.underline}" data-font-family="${i(o.fontFamily)}" class="${i(o.classes.join(" "))}" style="${i(o.styleText)}">${a(s)}</span>`;
671
746
  }
672
- function De(e) {
673
- return e.replace(/<\s*(script|style|meta|link)\b[\s\S]*?<\s*\/\s*\1\s*>/gi, "").replace(/<\s*(meta|link)\b[^>]*>/gi, "").replace(/\s+on[a-z]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi, "").replace(/\s+srcdoc\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi, "").replace(/\s+(href|src)\s*=\s*(["'])(.*?)\2/gi, (e, t, n, r) => Y(r) ? "" : ` ${t}=${n}${r}${n}`).replace(/\s+style\s*=\s*(["'])(.*?)\1/gi, (e, t, n) => X(n) ? "" : ` style=${t}${n}${t}`);
747
+ function je(e) {
748
+ return e.replace(/<\s*(script|style|meta|link)\b[\s\S]*?<\s*\/\s*\1\s*>/gi, "").replace(/<\s*(meta|link)\b[^>]*>/gi, "").replace(/\s+on[a-z]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi, "").replace(/\s+srcdoc\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi, "").replace(/\s+(href|src)\s*=\s*(["'])(.*?)\2/gi, (e, t, n, r) => X(r) ? "" : ` ${t}=${n}${r}${n}`).replace(/\s+style\s*=\s*(["'])(.*?)\1/gi, (e, t, n) => Pe(n) ? "" : ` style=${t}${n}${t}`);
674
749
  }
675
- function Oe(e, t) {
750
+ function Me(e, t) {
676
751
  return {
677
752
  border: e?.style?.border ?? c(t("data-border")),
678
753
  underline: e?.style?.underline ?? c(t("data-underline")),
@@ -687,17 +762,17 @@ function Oe(e, t) {
687
762
  objectFit: e?.style?.objectFit ?? $(t("data-object-fit"))
688
763
  };
689
764
  }
690
- function ke(e, t) {
691
- return e === "image" && Y(t) ? "" : t;
765
+ function Ne(e, t) {
766
+ return e === "image" && X(t) ? "" : t;
692
767
  }
693
- function Y(e) {
768
+ function X(e) {
694
769
  let t = e.trim().replace(/[\u0000-\u001F\s]+/g, "").toLowerCase();
695
770
  return t.startsWith("javascript:") || t.startsWith("vbscript:") || t.startsWith("data:") && !t.startsWith("data:image/");
696
771
  }
697
- function X(e) {
772
+ function Pe(e) {
698
773
  return /expression\s*\(|javascript:|vbscript:/i.test(e);
699
774
  }
700
- function Ae(e) {
775
+ function Fe(e) {
701
776
  if (!e) return e;
702
777
  if (t()) {
703
778
  let t = new DOMParser().parseFromString(e, "text/html");
@@ -711,30 +786,30 @@ function Ae(e) {
711
786
  return n ? `<span${t}>\${{${n}}}</span>` : e;
712
787
  });
713
788
  }
714
- function je(e) {
789
+ function Ie(e) {
715
790
  return e === "left" || e === "center" || e === "right";
716
791
  }
717
- function Me(e) {
792
+ function Le(e) {
718
793
  return e === "solid" || e === "dashed";
719
794
  }
720
- function Ne(e) {
795
+ function Re(e) {
721
796
  return e === "contain" || e === "cover" || e === "fill";
722
797
  }
723
798
  function Z(e) {
724
- return je(e) ? e : void 0;
799
+ return Ie(e) ? e : void 0;
725
800
  }
726
801
  function Q(e) {
727
- return Me(e) ? e : void 0;
802
+ return Le(e) ? e : void 0;
728
803
  }
729
804
  function $(e) {
730
- return Ne(e) ? e : void 0;
805
+ return Re(e) ? e : void 0;
731
806
  }
732
- function Pe(e, t = []) {
733
- let n = [...t, ...H(e)], r = /* @__PURE__ */ new Set();
807
+ function ze(e, t = []) {
808
+ let n = [...t, ...W(e)], r = /* @__PURE__ */ new Set();
734
809
  return n.filter((e) => {
735
810
  let t = `${e.code ?? ""}|${e.id}|${e.pageId ?? ""}|${e.message}`;
736
811
  return r.has(t) ? !1 : (r.add(t), !0);
737
812
  });
738
813
  }
739
814
  //#endregion
740
- export { v as CONTRACT_TEMPLATE_RENDERER_VERSION, x as CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS, y as CONTRACT_TEMPLATE_STYLE_VERSION, b as CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN, V as ContractTemplatePageDecorationValidationError, _ as DEFAULT_FIELD_STYLE, C as DEFAULT_FIELD_TYPES, se as DEFAULT_MULTILINE_LINE_HEIGHT, oe as DEFAULT_MULTILINE_ROWS, g as DEFAULT_PAGE_SIZE, h as PAGE_SIZE_OPTIONS, z as buildTemplateExpressionHtml, me as buildTemplateHtml, he as buildTemplatePreviewHtml, B as buildTemplatePreviewPages, le as cloneTemplateValue, Pe as collectTemplateLocationRuleExportErrors, W as collectTemplateValueVariableKeys, U as collectTemplateVariableKeys, ue as constrainTemplatePageSizes, P as createBlankPage, de as createBlankTemplate, N as createDefaultPage, F as createDefaultTemplate, T as createDesignerId, L as createTemplateVariable, ge as exportTemplateValue, j as findPageSizeOption, I as getFieldOption, k as getPageSizeKey, E as getPageSizeOption, D as inferPageFormat, ce as normalizeContractTemplateMaxPages, A as normalizePageSizeOptions, pe as normalizeTemplateValue, O as resolvePageSize, ye as splitPageContentByMeasurements, ve as syncTemplateVariablesWithPages, S as validateContractTemplateVariableKey, H as validateTemplateValue };
815
+ export { w as ALL_DEFAULT_FIELD_TYPES, ce as CONTRACT_TEMPLATE_RENDERER_VERSION, de as CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS, le as CONTRACT_TEMPLATE_STYLE_VERSION, ue as CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN, U as ContractTemplatePageDecorationValidationError, x as DEFAULT_ADVANCED_CHOICE_FIELD_TYPES, S as DEFAULT_BUILTIN_SELECTOR_FIELD_TYPES, C as DEFAULT_CUSTOM_FIELD_TYPES, v as DEFAULT_FIELD_STYLE, b as DEFAULT_FIELD_TYPES, se as DEFAULT_MULTILINE_LINE_HEIGHT, oe as DEFAULT_MULTILINE_ROWS, _ as DEFAULT_PAGE_SIZE, g as PAGE_SIZE_OPTIONS, V as buildTemplateExpressionHtml, _e as buildTemplateHtml, ve as buildTemplatePreviewHtml, H as buildTemplatePreviewPages, D as cloneTemplateValue, ze as collectTemplateLocationRuleExportErrors, K as collectTemplateValueVariableKeys, G as collectTemplateVariableKeys, pe as constrainTemplatePageSizes, I as createBlankPage, me as createBlankTemplate, F as createDefaultPage, L as createDefaultTemplate, E as createDesignerId, z as createTemplateVariable, ye as exportTemplateValue, N as findPageSizeOption, R as getFieldOption, j as getPageSizeKey, O as getPageSizeOption, k as inferPageFormat, fe as normalizeContractTemplateMaxPages, M as normalizePageSizeOptions, ge as normalizeTemplateValue, A as resolvePageSize, Se as splitPageContentByMeasurements, xe as syncTemplateVariablesWithPages, y as validateContractTemplateVariableKey, W as validateTemplateValue };