@guodun/antdv 1.3.0 → 1.3.1

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 (36) hide show
  1. package/dist/es/components/contract-signing-location/src/ContractSigningLocation.vue.mjs +241 -236
  2. package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.vue.mjs +22 -19
  3. package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowInspector.vue.mjs +173 -147
  4. package/dist/es/components/pro-contract-signing-flow/src/ProContractSigningFlow.vue.mjs +83 -74
  5. package/dist/es/components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.mjs +32 -32
  6. package/dist/es/components/pro-contract-signing-flow/style/index.css +1 -1
  7. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +8 -4
  8. package/dist/es/components/pro-contract-template-designer/src/extensions/word-paste.mjs +24 -20
  9. package/dist/es/components/pro-contract-template-designer/src/utils/word-paste.mjs +112 -112
  10. package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
  11. package/dist/lib/components/contract-signing-location/src/ContractSigningLocation.vue.cjs +1 -1
  12. package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.vue.cjs +1 -1
  13. package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowInspector.vue.cjs +1 -1
  14. package/dist/lib/components/pro-contract-signing-flow/src/ProContractSigningFlow.vue.cjs +1 -1
  15. package/dist/lib/components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.cjs +1 -1
  16. package/dist/lib/components/pro-contract-signing-flow/style/index.css +1 -1
  17. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
  18. package/dist/lib/components/pro-contract-template-designer/src/extensions/word-paste.cjs +1 -1
  19. package/dist/lib/components/pro-contract-template-designer/src/utils/word-paste.cjs +2 -2
  20. package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
  21. package/dist/theme/icon.css +1 -1
  22. package/dist/theme/index.css +1 -1
  23. package/dist/theme/pro-contract-signing-flow.css +1 -1
  24. package/dist/types/components/contract-signing-location/src/ContractSigningLocation.vue.d.ts +1 -0
  25. package/dist/types/components/contract-signing-location/src/types.d.ts +5 -0
  26. package/dist/types/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.vue.d.ts +24 -1
  27. package/dist/types/components/pro-contract-signing-flow/src/ContractSigningFlowInspector.vue.d.ts +1 -0
  28. package/dist/types/components/pro-contract-signing-flow/src/ProContractSigningFlow.vue.d.ts +25 -1
  29. package/dist/types/components/pro-contract-signing-flow/src/composables/use-contract-signing-flow.d.ts +6 -2
  30. package/dist/types/components/pro-contract-signing-flow/src/types.d.ts +5 -0
  31. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.vue.d.ts +1 -1
  32. package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.d.ts +1 -1
  33. package/dist/types/components/pro-contract-template-designer/src/extensions/word-paste.d.ts +1 -1
  34. package/dist/types/components/pro-contract-template-designer/src/types.d.ts +1 -1
  35. package/dist/types/components/pro-contract-template-designer/src/utils/word-paste.d.ts +2 -0
  36. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
1
  import e from "./ContractSigningFlowCanvas.mjs";
2
2
  import t from "./ContractSigningFlowInspector.mjs";
3
3
  import { normalizeContractSigningFlow as n, useContractSigningFlow as r } from "./composables/use-contract-signing-flow.mjs";
4
- import { computed as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, normalizeClass as l, normalizeStyle as u, openBlock as d, unref as f, watch as p } from "vue";
4
+ import { computed as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, guardReactiveProps as l, normalizeClass as u, normalizeProps as d, normalizeStyle as f, openBlock as p, renderSlot as m, unref as h, watch as g, withCtx as _ } from "vue";
5
5
  //#region src/components/pro-contract-signing-flow/src/ProContractSigningFlow.vue?vue&type=script&setup=true&lang.ts
6
- var m = { class: "gd-contract-signing-flow__layout" }, h = /* @__PURE__ */ c({
6
+ var v = { class: "gd-contract-signing-flow__layout" }, y = /* @__PURE__ */ c({
7
7
  name: "ProContractSigningFlow",
8
8
  __name: "ProContractSigningFlow",
9
9
  props: {
@@ -16,7 +16,11 @@ var m = { class: "gd-contract-signing-flow__layout" }, h = /* @__PURE__ */ c({
16
16
  type: Boolean,
17
17
  default: !1
18
18
  },
19
- height: { default: 720 }
19
+ height: { default: 720 },
20
+ requireSigningLocation: {
21
+ type: Boolean,
22
+ default: !0
23
+ }
20
24
  },
21
25
  emits: [
22
26
  "update:modelValue",
@@ -29,115 +33,120 @@ var m = { class: "gd-contract-signing-flow__layout" }, h = /* @__PURE__ */ c({
29
33
  "node-select",
30
34
  "placement-request"
31
35
  ],
32
- setup(c, { expose: h, emit: g }) {
33
- let _ = c, v = g, y = r(_.modelValue), b = i(() => ({ height: typeof _.height == "number" ? `${_.height}px` : _.height }));
34
- function x(e) {
36
+ setup(c, { expose: y, emit: b }) {
37
+ let x = c, S = b, C = r(x.modelValue), w = i(() => ({ height: typeof x.height == "number" ? `${x.height}px` : x.height }));
38
+ function T(e) {
35
39
  return JSON.parse(JSON.stringify(e));
36
40
  }
37
- function S() {
38
- y.value.value.nodeList.some((e) => e.key === y.selectedKey.value) || (y.selectedKey.value = y.value.value.nodeList.find((e) => e.type === "sign")?.key || y.value.value.nodeList[0]?.key);
41
+ function E() {
42
+ C.value.value.nodeList.some((e) => e.key === C.selectedKey.value) || (C.selectedKey.value = C.value.value.nodeList.find((e) => e.type === "sign")?.key || C.value.value.nodeList[0]?.key);
39
43
  }
40
- p(() => _.modelValue, (e) => {
41
- y.replace(e), S();
44
+ g(() => x.modelValue, (e) => {
45
+ C.replace(e), E();
42
46
  }, { deep: !0 });
43
- function C() {
44
- return n(y.value.value);
47
+ function D() {
48
+ return n(C.value.value);
45
49
  }
46
- function w() {
47
- let e = C();
48
- v("update:modelValue", e), v("change", e);
50
+ function O() {
51
+ let e = D();
52
+ S("update:modelValue", e), S("change", e);
49
53
  }
50
- function T(e) {
51
- _.disabled || (y.selectedKey.value = e?.key, v("node-select", e ? x(e) : void 0));
54
+ function k(e) {
55
+ x.disabled || (C.selectedKey.value = e?.key, S("node-select", e ? T(e) : void 0));
52
56
  }
53
- function E() {
54
- if (_.readonly || _.disabled) return x(y.value.value.nodeList.find((e) => e.type === "sign"));
55
- let e = y.addSignNode();
56
- return w(), v("node-add", x(e)), v("node-select", x(e)), x(e);
57
+ function A() {
58
+ if (x.readonly || x.disabled) return T(C.value.value.nodeList.find((e) => e.type === "sign"));
59
+ let e = C.addSignNode();
60
+ return O(), S("node-add", T(e)), S("node-select", T(e)), T(e);
57
61
  }
58
- function D(e) {
59
- _.readonly || _.disabled || (y.removeSignNode(e), w(), v("node-remove", e), v("node-select", y.selectedNode.value ? x(y.selectedNode.value) : void 0));
62
+ function j(e) {
63
+ x.readonly || x.disabled || (C.removeSignNode(e), O(), S("node-remove", e), S("node-select", C.selectedNode.value ? T(C.selectedNode.value) : void 0));
60
64
  }
61
- function O(e, t) {
62
- _.readonly || _.disabled || (y.moveSignNode(e, t), w(), v("node-move", e, t));
65
+ function M(e, t) {
66
+ x.readonly || x.disabled || (C.moveSignNode(e, t), O(), S("node-move", e, t));
63
67
  }
64
- function k(e) {
65
- if (_.readonly || _.disabled) return;
66
- let t = y.value.value.nodeList.findIndex((t) => t.key === e.key);
67
- t < 0 || (y.value.value.nodeList[t] = n({
68
+ function N(e) {
69
+ if (x.readonly || x.disabled) return;
70
+ let t = C.value.value.nodeList.findIndex((t) => t.key === e.key);
71
+ t < 0 || (C.value.value.nodeList[t] = n({
68
72
  key: null,
69
73
  name: null,
70
74
  description: null,
71
75
  nodeList: [e],
72
76
  connectList: []
73
- }).nodeList[0], w(), v("node-change", x(y.value.value.nodeList[t])));
77
+ }).nodeList[0], O(), S("node-change", T(C.value.value.nodeList[t])));
74
78
  }
75
- function A(e, t) {
76
- O(e.key, t);
79
+ function P(e, t) {
80
+ M(e.key, t);
77
81
  }
78
- function j() {
79
- let e = y.selectedNode.value;
80
- !e || e.type !== "sign" || _.disabled || v("placement-request", {
81
- node: x(e),
82
- locationRules: x(e.config.locationRules || [])
82
+ function F() {
83
+ let e = C.selectedNode.value;
84
+ !e || e.type !== "sign" || x.disabled || S("placement-request", {
85
+ node: T(e),
86
+ locationRules: T(e.config.locationRules || [])
83
87
  });
84
88
  }
85
- function M(e, t) {
86
- if (_.readonly || _.disabled) return;
87
- y.setNodeLocationRules(e, t), w();
88
- let n = y.value.value.nodeList.find((t) => t.key === e);
89
- n && v("node-change", x(n));
89
+ function I(e, t) {
90
+ if (x.readonly || x.disabled) return;
91
+ C.setNodeLocationRules(e, t), O();
92
+ let n = C.value.value.nodeList.find((t) => t.key === e);
93
+ n && S("node-change", T(n));
90
94
  }
91
- function N() {
92
- return C();
95
+ function L() {
96
+ return D();
93
97
  }
94
- function P(e) {
95
- y.replace(e), S(), w();
98
+ function R(e) {
99
+ C.replace(e), E(), O();
96
100
  }
97
- function F() {
98
- let e = y.validate();
99
- return v("validate", e), e;
100
- }
101
- return h({
102
- getValue: N,
103
- setValue: P,
104
- validate: F,
105
- addSignNode: E,
106
- removeSignNode: D,
107
- moveSignNode: O,
108
- setNodeLocationRules: M
109
- }), (n, r) => (d(), a("div", {
110
- class: l(["gd-contract-signing-flow", {
101
+ function z() {
102
+ let e = C.validate({ requireLocation: x.requireSigningLocation });
103
+ return S("validate", e), e;
104
+ }
105
+ return y({
106
+ getValue: L,
107
+ setValue: R,
108
+ validate: z,
109
+ addSignNode: A,
110
+ removeSignNode: j,
111
+ moveSignNode: M,
112
+ setNodeLocationRules: I
113
+ }), (n, r) => (p(), a("div", {
114
+ class: u(["gd-contract-signing-flow", {
111
115
  "is-readonly": c.readonly,
112
116
  "is-disabled": c.disabled
113
117
  }]),
114
- style: u(b.value)
115
- }, [o("div", m, [s(e, {
116
- nodes: f(y).value.value.nodeList,
117
- "selected-key": f(y).selectedKey.value,
118
+ style: f(w.value)
119
+ }, [o("div", v, [s(e, {
120
+ nodes: h(C).value.value.nodeList,
121
+ "selected-key": h(C).selectedKey.value,
118
122
  readonly: c.readonly,
119
123
  disabled: c.disabled,
120
- onSelect: T,
121
- onAdd: E,
122
- onRemove: r[0] ||= (e) => D(e.key),
123
- onMove: A
124
- }, null, 8, [
124
+ onSelect: k,
125
+ onAdd: A,
126
+ onRemove: r[0] ||= (e) => j(e.key),
127
+ onMove: P
128
+ }, {
129
+ headerExtra: _((e) => [m(n.$slots, "headerExtra", d(l(e)))]),
130
+ _: 3
131
+ }, 8, [
125
132
  "nodes",
126
133
  "selected-key",
127
134
  "readonly",
128
135
  "disabled"
129
136
  ]), s(t, {
130
- node: f(y).selectedNode.value,
137
+ node: h(C).selectedNode.value,
131
138
  readonly: c.readonly,
132
139
  disabled: c.disabled,
133
- onChange: k,
134
- onPlacementRequest: j
140
+ "show-placement": c.requireSigningLocation,
141
+ onChange: N,
142
+ onPlacementRequest: F
135
143
  }, null, 8, [
136
144
  "node",
137
145
  "readonly",
138
- "disabled"
146
+ "disabled",
147
+ "show-placement"
139
148
  ])])], 6));
140
149
  }
141
150
  });
142
151
  //#endregion
143
- export { h as default };
152
+ export { y as default };
@@ -155,116 +155,116 @@ function h(e) {
155
155
  function g(e) {
156
156
  return e === "start" ? 0 : e === "sign" ? 1 : e === "end" ? 3 : 2;
157
157
  }
158
- function _(e) {
159
- let t = [], n = e.nodeList || [], r = n.filter((e) => e.type === "start"), i = n.filter((e) => e.type === "end"), a = n.filter((e) => e.type === "sign");
160
- r.length !== 1 && t.push({
158
+ function _(e, t) {
159
+ let n = [], r = e.nodeList || [], i = r.filter((e) => e.type === "start"), a = r.filter((e) => e.type === "end"), o = r.filter((e) => e.type === "sign");
160
+ i.length !== 1 && n.push({
161
161
  type: "flow",
162
162
  code: "FLOW_START_COUNT_INVALID",
163
163
  message: "流程必须包含一个开始节点"
164
- }), i.length !== 1 && t.push({
164
+ }), a.length !== 1 && n.push({
165
165
  type: "flow",
166
166
  code: "FLOW_END_COUNT_INVALID",
167
167
  message: "流程必须包含一个结束节点"
168
- }), a.length || t.push({
168
+ }), o.length || n.push({
169
169
  type: "flow",
170
170
  code: "FLOW_SIGN_NODE_REQUIRED",
171
171
  message: "流程至少需要一个签署节点"
172
- }), n[0]?.type !== "start" && t.push({
172
+ }), r[0]?.type !== "start" && n.push({
173
173
  type: "flow",
174
174
  code: "FLOW_START_NOT_FIRST",
175
175
  message: "开始节点必须位于首位"
176
- }), n.length && n[n.length - 1]?.type !== "end" && t.push({
176
+ }), r.length && r[r.length - 1]?.type !== "end" && n.push({
177
177
  type: "flow",
178
178
  code: "FLOW_END_NOT_LAST",
179
179
  message: "结束节点必须位于末位"
180
180
  });
181
- let o = /* @__PURE__ */ new Set(), s = /* @__PURE__ */ new Set();
182
- for (let e of n) {
183
- if (o.has(e.key) && t.push({
181
+ let s = /* @__PURE__ */ new Set(), c = /* @__PURE__ */ new Set();
182
+ for (let e of r) {
183
+ if (s.has(e.key) && n.push({
184
184
  type: "flow",
185
185
  code: "FLOW_NODE_KEY_DUPLICATE",
186
186
  nodeKey: e.key,
187
187
  message: "节点 key 不能重复"
188
- }), o.add(e.key), e.type !== "start" && e.type !== "sign" && e.type !== "end" && t.push({
188
+ }), s.add(e.key), e.type !== "start" && e.type !== "sign" && e.type !== "end" && n.push({
189
189
  type: "node",
190
190
  code: "FLOW_NODE_TYPE_UNSUPPORTED",
191
191
  nodeKey: e.key,
192
192
  message: "不支持的节点类型"
193
- }), e.customKey && (s.has(e.customKey) && t.push({
193
+ }), e.customKey && (c.has(e.customKey) && n.push({
194
194
  type: "flow",
195
195
  code: "FLOW_CUSTOM_KEY_DUPLICATE",
196
196
  nodeKey: e.key,
197
197
  message: "节点标识不能重复"
198
- }), s.add(e.customKey)), e.type !== "sign") continue;
199
- let n = e.identity;
200
- e.name.trim() || t.push({
198
+ }), c.add(e.customKey)), e.type !== "sign") continue;
199
+ let r = e.identity;
200
+ e.name.trim() || n.push({
201
201
  type: "node",
202
202
  code: "FLOW_NODE_NAME_REQUIRED",
203
203
  nodeKey: e.key,
204
204
  message: "签署节点名称不能为空"
205
- }), e.customKey?.trim() || t.push({
205
+ }), e.customKey?.trim() || n.push({
206
206
  type: "node",
207
207
  code: "FLOW_NODE_CUSTOM_KEY_REQUIRED",
208
208
  nodeKey: e.key,
209
209
  message: "签署节点标识不能为空"
210
- }), n !== "person" && n !== "company" && t.push({
210
+ }), r !== "person" && r !== "company" && n.push({
211
211
  type: "node",
212
212
  code: "FLOW_NODE_IDENTITY_INVALID",
213
213
  nodeKey: e.key,
214
214
  message: "签署主体必须是个人或企业"
215
215
  });
216
- let r = e.config.signRule;
217
- r ? (r.mustSeal && r.cannotSeal && t.push({
216
+ let i = e.config.signRule;
217
+ i ? (i.mustSeal && i.cannotSeal && n.push({
218
218
  type: "node",
219
219
  code: "FLOW_SIGN_RULE_CONFLICT",
220
220
  nodeKey: e.key,
221
221
  message: "印章规则不能同时必选和禁止"
222
- }), r.mustSignature && r.cannotSignature && t.push({
222
+ }), i.mustSignature && i.cannotSignature && n.push({
223
223
  type: "node",
224
224
  code: "FLOW_SIGN_RULE_CONFLICT",
225
225
  nodeKey: e.key,
226
226
  message: "签名规则不能同时必选和禁止"
227
- }), r.mustSeal && !r.sealType.length && t.push({
227
+ }), i.mustSeal && !i.sealType.length && n.push({
228
228
  type: "node",
229
229
  code: "FLOW_SIGN_RULE_SEAL_TYPE_REQUIRED",
230
230
  nodeKey: e.key,
231
231
  message: "必须盖章时至少选择一种印章类型"
232
- }), r.cannotSeal && r.sealType.length && t.push({
232
+ }), i.cannotSeal && i.sealType.length && n.push({
233
233
  type: "node",
234
234
  code: "FLOW_SIGN_RULE_SEAL_TYPE_FORBIDDEN",
235
235
  nodeKey: e.key,
236
236
  message: "禁止盖章时不能指定印章类型"
237
- }), r.noneVerify && (r.smsVerify || r.faceVerify || r.passwordVerify) && t.push({
237
+ }), i.noneVerify && (i.smsVerify || i.faceVerify || i.passwordVerify) && n.push({
238
238
  type: "node",
239
239
  code: "FLOW_VERIFY_RULE_CONFLICT",
240
240
  nodeKey: e.key,
241
241
  message: "免验证不能与短信、人脸或密码验证同时启用"
242
- }), n === "person" && (r.mustSeal || r.sealType.length || r.perforationSealEnable) && t.push({
242
+ }), r === "person" && (i.mustSeal || i.sealType.length || i.perforationSealEnable) && n.push({
243
243
  type: "node",
244
244
  code: "FLOW_PERSON_SEAL_FORBIDDEN",
245
245
  nodeKey: e.key,
246
246
  message: "个人节点不能配置印章或骑缝章"
247
- })) : t.push({
247
+ })) : n.push({
248
248
  type: "node",
249
249
  code: "FLOW_SIGN_RULE_REQUIRED",
250
250
  nodeKey: e.key,
251
251
  message: "签署规则不能为空"
252
252
  });
253
- let i = e.config.locationRules || [];
254
- i.length || t.push({
253
+ let a = e.config.locationRules || [];
254
+ !a.length && t?.requireLocation !== !1 && n.push({
255
255
  type: "node",
256
256
  code: "FLOW_LOCATION_REQUIRED",
257
257
  nodeKey: e.key,
258
258
  message: "请至少设置一个签署位置"
259
259
  });
260
- for (let n of i) y(t, e, n, r);
260
+ for (let t of a) y(n, e, t, i);
261
261
  }
262
- let c = v(n);
263
- return (e.connectList.length !== c.length || e.connectList.some((e, t) => e.sourceKey !== c[t].sourceKey || e.targetKey !== c[t].targetKey)) && t.push({
262
+ let l = v(r);
263
+ return (e.connectList.length !== l.length || e.connectList.some((e, t) => e.sourceKey !== l[t].sourceKey || e.targetKey !== l[t].targetKey)) && n.push({
264
264
  type: "flow",
265
265
  code: "FLOW_CONNECT_INVALID",
266
266
  message: "流程连接必须与节点顺序一致"
267
- }), t;
267
+ }), n;
268
268
  }
269
269
  function v(e) {
270
270
  return e.slice(0, -1).map((t, n) => ({
@@ -358,7 +358,7 @@ function b(r) {
358
358
  let n = i.value.nodeList.find((t) => t.key === e);
359
359
  !n || n.type !== "sign" || (n.config.locationRules = o(t));
360
360
  },
361
- validate: () => _(i.value)
361
+ validate: (e) => _(i.value, e)
362
362
  };
363
363
  }
364
364
  //#endregion
@@ -1 +1 @@
1
- :root{--gdant-primary-50:var(--primary-50,#f4f9ff);--gdant-primary-100:var(--primary-100,#e9f1f6);--gdant-primary-200:var(--primary-200,#bcd7ff);--gdant-primary-300:var(--primary-300,#7fb0ff);--gdant-primary-400:var(--primary-400,#3b87ff);--gdant-primary-500:var(--primary-500,#1161ff);--gdant-primary-600:var(--primary-600,#0d4ed1);--gdant-primary-700:var(--primary-700,#0a3da5);--gdant-primary-800:var(--primary-800,#082c79);--gdant-primary-900:var(--primary-900,#05204d);--gdant-neutral-0:var(--neutral-0,#fff);--gdant-neutral-50:var(--neutral-50,#fafbfc);--gdant-neutral-100:var(--neutral-100,#f5f6f8);--gdant-neutral-200:var(--neutral-200,#eaecef);--gdant-neutral-300:var(--neutral-300,#d9dce0);--gdant-neutral-400:var(--neutral-400,#aab0b7);--gdant-neutral-500:var(--neutral-500,#7a818b);--gdant-neutral-600:var(--neutral-600,#565b66);--gdant-neutral-700:var(--neutral-700,#383d47);--gdant-neutral-800:var(--neutral-800,#262a33);--gdant-neutral-900:var(--neutral-900,#0f131a);--gdant-success-50:var(--success-50,#e8f9ed);--gdant-success-500:var(--success-500,#00b42a);--gdant-success-600:var(--success-600,#009023);--gdant-warning-50:var(--warning-50,#fff3e8);--gdant-warning-100:var(--warning-100,#ffe4cc);--gdant-warning-500:var(--warning-500,#f58634);--gdant-warning-600:var(--warning-600,#d96c1c);--gdant-warning-700:var(--warning-700,#b35316);--gdant-error-50:var(--error-50,#fde9e9);--gdant-error-100:var(--error-100,#fcd4d4);--gdant-error-300:var(--error-300,#f47070);--gdant-error-500:var(--error-500,#ee3939);--gdant-error-600:var(--error-600,#c92626);--gdant-error-700:var(--error-700,#a31c1c);--gdant-radius-xs:var(--radius-xs,2px);--gdant-radius-sm:var(--radius-sm,4px);--gdant-radius-md:var(--radius-md,6px);--gdant-radius-lg:var(--radius-lg,8px);--gdant-radius-xl:var(--radius-xl,12px);--gdant-radius-pill:var(--radius-pill,9999px);--gdant-shadow-raised:var(--shadow-raised,0 1px 2px #0f172a0a, 0 1px 4px #0f172a0f);--gdant-shadow-overlay:var(--shadow-overlay,0 4px 12px #0f172a14, 0 2px 6px #0f172a0a);--gdant-shadow-modal:var(--shadow-modal,0 16px 48px #0f172a29, 0 4px 12px #0f172a14);--gdant-spacing-xs:var(--spacing-xs,4px);--gdant-spacing-sm:var(--spacing-sm,8px);--gdant-spacing-md:var(--spacing-md,12px);--gdant-spacing-base:var(--spacing-base,16px);--gdant-spacing-lg:var(--spacing-lg,20px);--gdant-spacing-xl:var(--spacing-xl,24px);--gdant-text-body:var(--text-body,14px);--gdant-text-body-sm:var(--text-body-sm,12px);--gdant-text-h3:var(--text-h3,16px);--gdant-font-medium:var(--font-medium,500);--gdant-font-semibold:var(--font-semibold,600);--gdant-duration-normal:var(--duration-normal,.2s);--gdant-duration-slow:var(--duration-slow,.3s);--gdant-easing-default:var(--easing-default,cubic-bezier(.2, 0, 0, 1));--gdant-overlay-bg:#ffffffb8;--gdant-z-overlay:var(--z-overlay,1040);--gdant-z-modal:var(--z-modal,1050)}.gd-contract-signing-flow{box-sizing:border-box;border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-100);width:100%;min-width:0;min-height:560px;color:var(--gdant-neutral-800);font-family:var(--gdant-font-family);font-size:14px;overflow:hidden;container-type:inline-size}.gd-contract-signing-flow__layout{grid-template-columns:minmax(0,1fr) 336px;width:100%;height:100%;min-height:0;display:grid}.gd-contract-signing-flow__canvas-panel{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.gd-contract-signing-flow__canvas-header,.gd-contract-signing-flow__inspector-header{border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:12px 16px;display:flex}.gd-contract-signing-flow__canvas-header h2,.gd-contract-signing-flow__inspector-header h2{color:var(--gdant-neutral-800);margin:0;font-size:16px;line-height:1.4}.gd-contract-signing-flow__canvas-header p,.gd-contract-signing-flow__inspector-header p{color:var(--gdant-neutral-500);margin:3px 0 0;font-size:12px}.gd-contract-signing-flow__canvas-scroll{background-color:var(--gdant-neutral-50);background-image:radial-gradient(var(--gdant-neutral-300) .7px, transparent .7px);background-size:18px 18px;flex:1;min-height:0;overflow:auto}.gd-contract-signing-flow__canvas{flex-direction:column;align-items:center;min-width:300px;min-height:100%;padding:28px 20px 36px;display:flex}.gd-contract-signing-flow__step{flex-direction:column;align-items:center;display:flex}.gd-contract-signing-flow__node{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);width:min(520px,100cqw - 420px);min-width:280px;min-height:64px;box-shadow:var(--gdant-shadow-raised);cursor:pointer;transition:border-color var(--gdant-duration-fast), box-shadow var(--gdant-duration-fast);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid;position:relative}.gd-contract-signing-flow__node:hover{border-color:var(--gdant-primary-300)}.gd-contract-signing-flow__node.is-selected{border-color:var(--gdant-primary-500);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 12%, transparent), var(--gdant-shadow-raised)}.gd-contract-signing-flow__node.is-unknown{border-color:var(--gdant-warning-400)}.gd-contract-signing-flow__node-icon{border-radius:var(--gdant-radius-md);background:var(--gdant-primary-50);width:32px;height:32px;color:var(--gdant-primary-600);justify-content:center;align-items:center;font-size:15px;display:flex}.gd-contract-signing-flow__node-icon.is-start{background:var(--gdant-success-50);color:var(--gdant-success-600)}.gd-contract-signing-flow__node-icon.is-end{background:var(--gdant-neutral-100);color:var(--gdant-neutral-600)}.gd-contract-signing-flow__node-body{min-width:0}.gd-contract-signing-flow__node-title-row{align-items:center;gap:7px;min-width:0;display:flex}.gd-contract-signing-flow__node-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.gd-contract-signing-flow__node-title-row .ant-tag{flex:none;margin-inline-end:0;line-height:18px}.gd-contract-signing-flow__node-meta{color:var(--gdant-neutral-500);white-space:nowrap;gap:10px;margin-top:5px;font-size:11px;display:flex;overflow:hidden}.gd-contract-signing-flow__node-meta span{text-overflow:ellipsis;align-items:center;gap:3px;min-width:0;display:inline-flex;overflow:hidden}.gd-contract-signing-flow__node-description{color:var(--gdant-neutral-500);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:11px;overflow:hidden}.gd-contract-signing-flow__node-actions{align-items:center;gap:0;display:flex}.gd-contract-signing-flow__node-actions .ant-btn{width:26px;height:26px;padding:0}.gd-contract-signing-flow__connector{width:24px;height:34px;position:relative}.gd-contract-signing-flow__connector span{background:var(--gdant-neutral-400);width:1px;height:24px;position:absolute;top:0;left:50%}.gd-contract-signing-flow__connector i{border-right:1px solid var(--gdant-neutral-500);border-bottom:1px solid var(--gdant-neutral-500);width:8px;height:8px;position:absolute;bottom:3px;left:calc(50% - 4px);transform:rotate(45deg)}.gd-contract-signing-flow__add-node{margin-top:14px}.gd-contract-signing-flow__inspector{border-left:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);flex-direction:column;min-width:0;min-height:0;display:flex}.gd-contract-signing-flow__inspector-header .ant-tag{margin-inline-end:0}.gd-contract-signing-flow__inspector-scroll{min-height:0;overflow:auto}.gd-contract-signing-flow__form-section{border-bottom:1px solid var(--gdant-neutral-200);padding:14px 16px}.gd-contract-signing-flow__form-section.is-placement{background:var(--gdant-neutral-50)}.gd-contract-signing-flow__section-heading{justify-content:space-between;align-items:center;gap:8px;min-height:24px;margin-bottom:11px;display:flex}.gd-contract-signing-flow__section-heading h3{margin:0;font-size:13px}.gd-contract-signing-flow__section-heading p{color:var(--gdant-neutral-500);margin:3px 0 0;font-size:11px}.gd-contract-signing-flow__section-heading .ant-tag{margin-inline-end:0}.gd-contract-signing-flow__form .ant-form-item{margin-bottom:10px}.gd-contract-signing-flow__form .ant-form-item:last-child{margin-bottom:0}.gd-contract-signing-flow__form .ant-form-item-label,.gd-contract-signing-flow__rule-grid .ant-form-item-label,.gd-contract-signing-flow__inline-form-item .ant-form-item-label{padding-bottom:4px}.gd-contract-signing-flow__form .ant-form-item-label>label,.gd-contract-signing-flow__rule-grid .ant-form-item-label>label,.gd-contract-signing-flow__inline-form-item .ant-form-item-label>label{color:var(--gdant-neutral-600);font-size:12px}.gd-contract-signing-flow__form .ant-input,.gd-contract-signing-flow__form .ant-input-affix-wrapper,.gd-contract-signing-flow__form .ant-select-selector,.gd-contract-signing-flow__rule-grid .ant-select-selector,.gd-contract-signing-flow__inline-form-item .ant-select-selector{border-radius:var(--gdant-radius-md)}.gd-contract-signing-flow__setting-list{gap:10px;margin-top:13px;display:grid}.gd-contract-signing-flow__setting-list.is-compact{gap:0;margin-top:0}.gd-contract-signing-flow__setting-row{min-height:30px;color:var(--gdant-neutral-700);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.gd-contract-signing-flow__setting-row>div{gap:2px;display:grid}.gd-contract-signing-flow__setting-row strong{font-size:12px;font-weight:600}.gd-contract-signing-flow__setting-row span{color:var(--gdant-neutral-700)}.gd-contract-signing-flow__setting-row div span{color:var(--gdant-neutral-500);font-size:11px}.gd-contract-signing-flow__setting-list.is-compact .gd-contract-signing-flow__setting-row{border-bottom:1px solid var(--gdant-neutral-100);min-height:32px}.gd-contract-signing-flow__setting-list.is-compact .gd-contract-signing-flow__setting-row:last-child{border-bottom:0}.gd-contract-signing-flow__rule-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gd-contract-signing-flow__rule-grid .ant-form-item{margin-bottom:0}.gd-contract-signing-flow__inline-form-item{margin:0}.gd-contract-signing-flow__inline-form-item .ant-form-item-control-input{min-height:32px}.gd-contract-signing-flow__field-label{color:var(--gdant-neutral-600);margin:13px 0 7px;font-size:12px;display:block}.gd-contract-signing-flow__seal-list{grid-template-columns:1fr 1fr;gap:7px 12px;display:grid}.gd-contract-signing-flow__seal-list .ant-checkbox-wrapper{color:var(--gdant-neutral-600);font-size:11px}.gd-contract-signing-flow__node-overview{text-align:center;place-items:center;gap:8px;min-height:260px;padding:28px;display:grid}.gd-contract-signing-flow__node-overview-icon{background:var(--gdant-primary-50);width:42px;height:42px;color:var(--gdant-primary-600);border-radius:50%;place-items:center;font-weight:700;display:grid}.gd-contract-signing-flow__node-overview h3{margin:0;font-size:15px}.gd-contract-signing-flow__node-overview p{max-width:220px;color:var(--gdant-neutral-500);margin:0;font-size:12px;line-height:1.6}.gd-contract-signing-flow__node-overview .ant-tag{margin:0}.gd-contract-signing-flow__empty-inspector{flex:1;min-height:260px}.gd-contract-signing-flow.is-disabled{filter:saturate(.75)}@container (width<=820px){.gd-contract-signing-flow__layout{grid-template-rows:minmax(420px,1fr) auto;grid-template-columns:1fr;overflow:auto}.gd-contract-signing-flow__inspector{border-top:1px solid var(--gdant-neutral-200);border-left:0;max-height:none}.gd-contract-signing-flow__node{width:min(520px,100cqw - 40px)}}@container (width<=460px){.gd-contract-signing-flow__canvas-header,.gd-contract-signing-flow__inspector-header{padding:10px 12px}.gd-contract-signing-flow__canvas-header .ant-btn{padding-inline:9px}.gd-contract-signing-flow__canvas{min-width:0;padding-inline:12px}.gd-contract-signing-flow__node{grid-template-columns:30px minmax(0,1fr) auto;width:calc(100cqw - 24px);min-width:0;padding-inline:9px}.gd-contract-signing-flow__node-icon{width:30px;height:30px}.gd-contract-signing-flow__node-meta{gap:7px}.gd-contract-signing-flow__node-meta span:nth-child(3){display:none}.gd-contract-signing-flow__node-actions .ant-btn{width:23px}.gd-contract-signing-flow__form-section{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.gd-contract-signing-flow *{transition:none!important}}
1
+ :root{--gdant-primary-50:var(--primary-50,#f4f9ff);--gdant-primary-100:var(--primary-100,#e9f1f6);--gdant-primary-200:var(--primary-200,#bcd7ff);--gdant-primary-300:var(--primary-300,#7fb0ff);--gdant-primary-400:var(--primary-400,#3b87ff);--gdant-primary-500:var(--primary-500,#1161ff);--gdant-primary-600:var(--primary-600,#0d4ed1);--gdant-primary-700:var(--primary-700,#0a3da5);--gdant-primary-800:var(--primary-800,#082c79);--gdant-primary-900:var(--primary-900,#05204d);--gdant-neutral-0:var(--neutral-0,#fff);--gdant-neutral-50:var(--neutral-50,#fafbfc);--gdant-neutral-100:var(--neutral-100,#f5f6f8);--gdant-neutral-200:var(--neutral-200,#eaecef);--gdant-neutral-300:var(--neutral-300,#d9dce0);--gdant-neutral-400:var(--neutral-400,#aab0b7);--gdant-neutral-500:var(--neutral-500,#7a818b);--gdant-neutral-600:var(--neutral-600,#565b66);--gdant-neutral-700:var(--neutral-700,#383d47);--gdant-neutral-800:var(--neutral-800,#262a33);--gdant-neutral-900:var(--neutral-900,#0f131a);--gdant-success-50:var(--success-50,#e8f9ed);--gdant-success-500:var(--success-500,#00b42a);--gdant-success-600:var(--success-600,#009023);--gdant-warning-50:var(--warning-50,#fff3e8);--gdant-warning-100:var(--warning-100,#ffe4cc);--gdant-warning-500:var(--warning-500,#f58634);--gdant-warning-600:var(--warning-600,#d96c1c);--gdant-warning-700:var(--warning-700,#b35316);--gdant-error-50:var(--error-50,#fde9e9);--gdant-error-100:var(--error-100,#fcd4d4);--gdant-error-300:var(--error-300,#f47070);--gdant-error-500:var(--error-500,#ee3939);--gdant-error-600:var(--error-600,#c92626);--gdant-error-700:var(--error-700,#a31c1c);--gdant-radius-xs:var(--radius-xs,2px);--gdant-radius-sm:var(--radius-sm,4px);--gdant-radius-md:var(--radius-md,6px);--gdant-radius-lg:var(--radius-lg,8px);--gdant-radius-xl:var(--radius-xl,12px);--gdant-radius-pill:var(--radius-pill,9999px);--gdant-shadow-raised:var(--shadow-raised,0 1px 2px #0f172a0a, 0 1px 4px #0f172a0f);--gdant-shadow-overlay:var(--shadow-overlay,0 4px 12px #0f172a14, 0 2px 6px #0f172a0a);--gdant-shadow-modal:var(--shadow-modal,0 16px 48px #0f172a29, 0 4px 12px #0f172a14);--gdant-spacing-xs:var(--spacing-xs,4px);--gdant-spacing-sm:var(--spacing-sm,8px);--gdant-spacing-md:var(--spacing-md,12px);--gdant-spacing-base:var(--spacing-base,16px);--gdant-spacing-lg:var(--spacing-lg,20px);--gdant-spacing-xl:var(--spacing-xl,24px);--gdant-text-body:var(--text-body,14px);--gdant-text-body-sm:var(--text-body-sm,12px);--gdant-text-h3:var(--text-h3,16px);--gdant-font-medium:var(--font-medium,500);--gdant-font-semibold:var(--font-semibold,600);--gdant-duration-normal:var(--duration-normal,.2s);--gdant-duration-slow:var(--duration-slow,.3s);--gdant-easing-default:var(--easing-default,cubic-bezier(.2, 0, 0, 1));--gdant-overlay-bg:#ffffffb8;--gdant-z-overlay:var(--z-overlay,1040);--gdant-z-modal:var(--z-modal,1050)}.gd-contract-signing-flow{box-sizing:border-box;border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-100);width:100%;min-width:0;min-height:560px;color:var(--gdant-neutral-800);font-family:var(--gdant-font-family);font-size:14px;overflow:hidden;container-type:inline-size}.gd-contract-signing-flow__layout{grid-template-columns:minmax(0,1fr) 336px;width:100%;height:100%;min-height:0;display:grid}.gd-contract-signing-flow__canvas-panel{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.gd-contract-signing-flow__canvas-header,.gd-contract-signing-flow__inspector-header{border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:12px 16px;display:flex}.gd-contract-signing-flow__canvas-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.gd-contract-signing-flow__canvas-header h2,.gd-contract-signing-flow__inspector-header h2{color:var(--gdant-neutral-800);margin:0;font-size:16px;line-height:1.4}.gd-contract-signing-flow__canvas-header p,.gd-contract-signing-flow__inspector-header p{color:var(--gdant-neutral-500);margin:3px 0 0;font-size:12px}.gd-contract-signing-flow__canvas-scroll{background-color:var(--gdant-neutral-50);background-image:radial-gradient(var(--gdant-neutral-300) .7px, transparent .7px);background-size:18px 18px;flex:1;min-height:0;overflow:auto}.gd-contract-signing-flow__canvas{flex-direction:column;align-items:center;min-width:300px;min-height:100%;padding:28px 20px 36px;display:flex}.gd-contract-signing-flow__step{flex-direction:column;align-items:center;display:flex}.gd-contract-signing-flow__node{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);width:min(520px,100cqw - 420px);min-width:280px;min-height:64px;box-shadow:var(--gdant-shadow-raised);cursor:pointer;transition:border-color var(--gdant-duration-fast), box-shadow var(--gdant-duration-fast);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid;position:relative}.gd-contract-signing-flow__node:hover{border-color:var(--gdant-primary-300)}.gd-contract-signing-flow__node.is-selected{border-color:var(--gdant-primary-500);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 12%, transparent), var(--gdant-shadow-raised)}.gd-contract-signing-flow__node.is-unknown{border-color:var(--gdant-warning-400)}.gd-contract-signing-flow__node-icon{border-radius:var(--gdant-radius-md);background:var(--gdant-primary-50);width:32px;height:32px;color:var(--gdant-primary-600);justify-content:center;align-items:center;font-size:15px;display:flex}.gd-contract-signing-flow__node-icon.is-start{background:var(--gdant-success-50);color:var(--gdant-success-600)}.gd-contract-signing-flow__node-icon.is-end{background:var(--gdant-neutral-100);color:var(--gdant-neutral-600)}.gd-contract-signing-flow__node-body{min-width:0}.gd-contract-signing-flow__node-title-row{align-items:center;gap:7px;min-width:0;display:flex}.gd-contract-signing-flow__node-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.gd-contract-signing-flow__node-title-row .ant-tag{flex:none;margin-inline-end:0;line-height:18px}.gd-contract-signing-flow__node-meta{color:var(--gdant-neutral-500);white-space:nowrap;gap:10px;margin-top:5px;font-size:11px;display:flex;overflow:hidden}.gd-contract-signing-flow__node-meta span{text-overflow:ellipsis;align-items:center;gap:3px;min-width:0;display:inline-flex;overflow:hidden}.gd-contract-signing-flow__node-description{color:var(--gdant-neutral-500);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:11px;overflow:hidden}.gd-contract-signing-flow__node-actions{align-items:center;gap:0;display:flex}.gd-contract-signing-flow__node-actions .ant-btn{width:26px;height:26px;padding:0}.gd-contract-signing-flow__connector{width:24px;height:34px;position:relative}.gd-contract-signing-flow__connector span{background:var(--gdant-neutral-400);width:1px;height:24px;position:absolute;top:0;left:50%}.gd-contract-signing-flow__connector i{border-right:1px solid var(--gdant-neutral-500);border-bottom:1px solid var(--gdant-neutral-500);width:8px;height:8px;position:absolute;bottom:3px;left:calc(50% - 4px);transform:rotate(45deg)}.gd-contract-signing-flow__add-node{margin-top:14px}.gd-contract-signing-flow__inspector{border-left:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);flex-direction:column;min-width:0;min-height:0;display:flex}.gd-contract-signing-flow__inspector-header .ant-tag{margin-inline-end:0}.gd-contract-signing-flow__inspector-scroll{min-height:0;overflow:auto}.gd-contract-signing-flow__form-section{border-bottom:1px solid var(--gdant-neutral-200);padding:14px 16px}.gd-contract-signing-flow__form-section.is-collapsed .gd-contract-signing-flow__section-heading{margin-bottom:0}.gd-contract-signing-flow__form-section.is-placement{background:var(--gdant-neutral-50)}.gd-contract-signing-flow__section-heading{justify-content:space-between;align-items:center;gap:8px;min-height:24px;margin-bottom:11px;display:flex}.gd-contract-signing-flow__section-heading.is-toggle{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;padding:0}.gd-contract-signing-flow__section-heading-meta{color:var(--gdant-neutral-500);align-items:center;gap:6px;font-size:12px;display:inline-flex}.gd-contract-signing-flow__section-heading-meta .anticon{color:var(--gdant-neutral-500);transition:transform var(--gdant-duration-fast);font-size:12px}.gd-contract-signing-flow__section-heading h3{margin:0;font-size:13px}.gd-contract-signing-flow__section-heading p{color:var(--gdant-neutral-500);margin:3px 0 0;font-size:11px}.gd-contract-signing-flow__section-heading .ant-tag{margin-inline-end:0}.gd-contract-signing-flow__form .ant-form-item{margin-bottom:10px}.gd-contract-signing-flow__form .ant-form-item:last-child{margin-bottom:0}.gd-contract-signing-flow__form .ant-form-item-label,.gd-contract-signing-flow__rule-grid .ant-form-item-label,.gd-contract-signing-flow__inline-form-item .ant-form-item-label{padding-bottom:4px}.gd-contract-signing-flow__form .ant-form-item-label>label,.gd-contract-signing-flow__rule-grid .ant-form-item-label>label,.gd-contract-signing-flow__inline-form-item .ant-form-item-label>label{color:var(--gdant-neutral-600);font-size:12px}.gd-contract-signing-flow__form .ant-input,.gd-contract-signing-flow__form .ant-input-affix-wrapper,.gd-contract-signing-flow__form .ant-select-selector,.gd-contract-signing-flow__rule-grid .ant-select-selector,.gd-contract-signing-flow__inline-form-item .ant-select-selector{border-radius:var(--gdant-radius-md)}.gd-contract-signing-flow__setting-list{gap:10px;margin-top:13px;display:grid}.gd-contract-signing-flow__setting-list.is-compact{gap:0;margin-top:0}.gd-contract-signing-flow__setting-row{min-height:30px;color:var(--gdant-neutral-700);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.gd-contract-signing-flow__setting-row>div{gap:2px;display:grid}.gd-contract-signing-flow__setting-row strong{font-size:12px;font-weight:600}.gd-contract-signing-flow__setting-row span{color:var(--gdant-neutral-700)}.gd-contract-signing-flow__setting-row div span{color:var(--gdant-neutral-500);font-size:11px}.gd-contract-signing-flow__setting-list.is-compact .gd-contract-signing-flow__setting-row{border-bottom:1px solid var(--gdant-neutral-100);min-height:32px}.gd-contract-signing-flow__setting-list.is-compact .gd-contract-signing-flow__setting-row:last-child{border-bottom:0}.gd-contract-signing-flow__rule-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gd-contract-signing-flow__rule-grid .ant-form-item{margin-bottom:0}.gd-contract-signing-flow__inline-form-item{margin:0}.gd-contract-signing-flow__inline-form-item .ant-form-item-control-input{min-height:32px}.gd-contract-signing-flow__field-label{color:var(--gdant-neutral-600);margin:13px 0 7px;font-size:12px;display:block}.gd-contract-signing-flow__seal-list{grid-template-columns:1fr 1fr;gap:7px 12px;display:grid}.gd-contract-signing-flow__seal-list .ant-checkbox-wrapper{color:var(--gdant-neutral-600);font-size:11px}.gd-contract-signing-flow__node-overview{text-align:center;place-items:center;gap:8px;min-height:260px;padding:28px;display:grid}.gd-contract-signing-flow__node-overview-icon{background:var(--gdant-primary-50);width:42px;height:42px;color:var(--gdant-primary-600);border-radius:50%;place-items:center;font-weight:700;display:grid}.gd-contract-signing-flow__node-overview h3{margin:0;font-size:15px}.gd-contract-signing-flow__node-overview p{max-width:220px;color:var(--gdant-neutral-500);margin:0;font-size:12px;line-height:1.6}.gd-contract-signing-flow__node-overview .ant-tag{margin:0}.gd-contract-signing-flow__empty-inspector{flex:1;min-height:260px}.gd-contract-signing-flow.is-disabled{filter:saturate(.75)}@container (width<=820px){.gd-contract-signing-flow__layout{grid-template-rows:minmax(420px,1fr) auto;grid-template-columns:1fr;overflow:auto}.gd-contract-signing-flow__inspector{border-top:1px solid var(--gdant-neutral-200);border-left:0;max-height:none}.gd-contract-signing-flow__node{width:min(520px,100cqw - 40px)}}@container (width<=460px){.gd-contract-signing-flow__canvas-header,.gd-contract-signing-flow__inspector-header{padding:10px 12px}.gd-contract-signing-flow__canvas-header .ant-btn{padding-inline:9px}.gd-contract-signing-flow__canvas-actions{flex-wrap:nowrap}.gd-contract-signing-flow__canvas{min-width:0;padding-inline:12px}.gd-contract-signing-flow__node{grid-template-columns:30px minmax(0,1fr) auto;width:calc(100cqw - 24px);min-width:0;padding-inline:9px}.gd-contract-signing-flow__node-icon{width:30px;height:30px}.gd-contract-signing-flow__node-meta{gap:7px}.gd-contract-signing-flow__node-meta span:nth-child(3){display:none}.gd-contract-signing-flow__node-actions .ant-btn{width:23px}.gd-contract-signing-flow__form-section{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.gd-contract-signing-flow *{transition:none!important}}
@@ -53,7 +53,10 @@ import { useElementSize as Jt } from "@vueuse/core";
53
53
  var Yt = ["aria-label", "aria-expanded"], Xt = { class: "gd-contract-template-designer__panel-stack" }, Zt = { class: "gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation" }, Qt = { class: "gd-contract-template-designer__panel-head" }, $t = { class: "gd-contract-template-designer__panel-actions" }, en = ["onClick"], tn = { class: "gd-contract-template-designer__page-nav-actions" }, nn = {
54
54
  key: 0,
55
55
  class: "gd-contract-template-designer__page-config"
56
- }, rn = { class: "gd-contract-template-designer__form-row" }, an = { class: "gd-contract-template-designer__page-size-note" }, on = { class: "gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation" }, sn = { class: "gd-contract-template-designer__panel-head" }, cn = ["onClick"], ln = { class: "gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation" }, un = { class: "gd-contract-template-designer__panel-head" }, dn = ["onClick"], fn = { class: "gd-contract-template-designer__workspace-header" }, pn = { class: "gd-contract-template-designer__workspace-meta" }, mn = { class: "gd-contract-template-designer__workspace-actions" }, hn = { class: "gd-contract-template-designer__workspace-controls" }, gn = { class: "gd-contract-template-designer__zoom" }, _n = { class: "gd-contract-template-designer__workspace-buttons" }, vn = { class: "gd-contract-template-designer__toolbar" }, yn = { class: "gd-contract-template-designer__toolbar-group" }, bn = { class: "gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--style" }, xn = { class: "gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--format" }, Sn = { class: "gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--insert" }, Cn = { class: "gd-contract-template-designer__popover gd-contract-template-designer__control-insert-popover" }, wn = { class: "gd-contract-template-designer__text-menu-control-options" }, Tn = ["aria-label", "onClick"], En = { class: "gd-contract-template-designer__popover gd-contract-template-designer__image-insert-popover" }, Dn = {
56
+ }, rn = { class: "gd-contract-template-designer__form-row" }, an = { class: "gd-contract-template-designer__page-size-note" }, on = { class: "gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation" }, sn = { class: "gd-contract-template-designer__panel-head" }, cn = ["onClick"], ln = {
57
+ key: 0,
58
+ class: "gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation"
59
+ }, un = { class: "gd-contract-template-designer__panel-head" }, dn = ["onClick"], fn = { class: "gd-contract-template-designer__workspace-header" }, pn = { class: "gd-contract-template-designer__workspace-meta" }, mn = { class: "gd-contract-template-designer__workspace-actions" }, hn = { class: "gd-contract-template-designer__workspace-controls" }, gn = { class: "gd-contract-template-designer__zoom" }, _n = { class: "gd-contract-template-designer__workspace-buttons" }, vn = { class: "gd-contract-template-designer__toolbar" }, yn = { class: "gd-contract-template-designer__toolbar-group" }, bn = { class: "gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--style" }, xn = { class: "gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--format" }, Sn = { class: "gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--insert" }, Cn = { class: "gd-contract-template-designer__popover gd-contract-template-designer__control-insert-popover" }, wn = { class: "gd-contract-template-designer__text-menu-control-options" }, Tn = ["aria-label", "onClick"], En = { class: "gd-contract-template-designer__popover gd-contract-template-designer__image-insert-popover" }, Dn = {
57
60
  class: "gd-contract-template-designer__image-size-fields",
58
61
  role: "group",
59
62
  "aria-label": "图片尺寸"
@@ -502,6 +505,7 @@ var Yt = ["aria-label", "aria-expanded"], Xt = { class: "gd-contract-template-de
502
505
  return oo([...U.value, i]), P.value = t, Z(i.id), _("signing-placement-add", X(i)), i;
503
506
  }
504
507
  function co(e, t, n, r) {
508
+ if (!c.showSigningPlacementTools) return;
505
509
  let i = qe(t.type);
506
510
  so(t.type, e, {
507
511
  x: n - i.width / 2,
@@ -1533,7 +1537,7 @@ var Yt = ["aria-label", "aria-expanded"], Xt = { class: "gd-contract-template-de
1533
1537
  onClick: (t) => Is(e)
1534
1538
  }, [m("span", null, C(e.label), 1), m("small", null, C(e.type || "text") + " · " + C(e.key), 1)], 10, cn))), 128))
1535
1539
  ]),
1536
- m("section", ln, [
1540
+ c.showSigningPlacementTools ? (b(), p("section", ln, [
1537
1541
  m("div", un, [s[84] ||= m("strong", null, "签署位置", -1), g(w(qt), null, {
1538
1542
  default: T(() => [h(C(oa.value.length), 1)]),
1539
1543
  _: 1
@@ -1549,7 +1553,7 @@ var Yt = ["aria-label", "aria-expanded"], Xt = { class: "gd-contract-template-de
1549
1553
  class: y(["gd-contract-template-designer__nav-item", { "is-active": N.value === e.placement.id }]),
1550
1554
  onClick: (t) => Rs(e.placement.id)
1551
1555
  }, [m("span", null, C(e.label), 1), m("small", null, C(e.detail) + " · x" + C(e.placement.x) + " y" + C(e.placement.y), 1)], 10, dn))), 128))
1552
- ])
1556
+ ])) : f("", !0)
1553
1557
  ])], 2),
1554
1558
  m("main", {
1555
1559
  ref_key: "workspaceElement",
@@ -2315,7 +2319,7 @@ var Yt = ["aria-label", "aria-expanded"], Xt = { class: "gd-contract-template-de
2315
2319
  onDragstart: (t) => uo(t, e),
2316
2320
  onClick: (t) => lo(e)
2317
2321
  }, [m("span", Zn, [(b(), d(It(w(jt)(e.type))))]), m("span", Qn, [m("span", $n, C(e.label), 1), m("small", null, C(w(Be)[e.type]) + " · 页面坐标", 1)])], 40, Xn))), 128))])) : f("", !0),
2318
- aa.value ? (b(), d(kt, {
2322
+ c.showSigningPlacementTools && aa.value ? (b(), d(kt, {
2319
2323
  key: 1,
2320
2324
  placement: aa.value,
2321
2325
  "page-size": sa.value,
@@ -1,4 +1,4 @@
1
- import { detectClipboardHtmlSource as e, hasLocalOfficeImageSource as t, normalizeWordClipboardHtml as n, plainTextToSafeHtml as r, readClipboardImageFiles as i } from "../utils/word-paste.mjs";
1
+ import { detectClipboardHtmlSource as e, extractRtfImageDataUrls as t, normalizeWordClipboardHtml as n, plainTextToSafeHtml as r, readClipboardImageFiles as i } from "../utils/word-paste.mjs";
2
2
  import { escapeHtmlAttribute as a } from "../utils/html.mjs";
3
3
  import { Extension as o } from "@tiptap/core";
4
4
  import { Plugin as s, PluginKey as c } from "@tiptap/pm/state";
@@ -21,7 +21,7 @@ var l = 0, u = "application/x-gd-contract-template", d = `contract-template-${Da
21
21
  return t && (t.source = r.source, t.recoveredRtfImages = r.recoveredImageCount), r.html;
22
22
  },
23
23
  addProseMirrorPlugins() {
24
- let o = this.editor, c = this.storage, p = this.options.processImageFile;
24
+ let t = this.editor, o = this.storage, c = this.options.processImageFile;
25
25
  return [new s({
26
26
  key: f,
27
27
  state: {
@@ -62,40 +62,41 @@ var l = 0, u = "application/x-gd-contract-template", d = `contract-template-${Da
62
62
  recoveredRtfImages: 0,
63
63
  trustedInternal: r.getData(u) === d || i.includes(`data-gd-contract-copy="${d}"`) || i.includes(`data-gd-contract-copy='${d}'`)
64
64
  };
65
- return c.pending = a, queueMicrotask(() => {
66
- c.pending === a && (c.pending = void 0);
65
+ return o.pending = a, queueMicrotask(() => {
66
+ o.pending === a && (o.pending = void 0);
67
67
  }), !1;
68
68
  }
69
69
  },
70
70
  handlePaste: (e, s) => {
71
- let u = c.pending;
71
+ let u = o.pending;
72
72
  if (!u) return !1;
73
- let d = u.files.length ? u.files : _(s.clipboardData), m = u.source !== "generic" && u.source !== "internal", v = /<(?:img|v:imagedata)\b/i.test(u.html), y = d.length > 0 && u.recoveredRtfImages === 0 && (!u.html || m && (t(u.html) || !v));
74
- if (c.pending = void 0, !y) return !1;
73
+ let d = u.files.length ? u.files : _(s.clipboardData), p = u.recoveredRtfImages || v(u.rtf), m = d.length > 0 && p === 0 && !u.trustedInternal;
74
+ if (o.pending = void 0, !m) return !1;
75
75
  s.preventDefault();
76
- let b = `word-paste-${++l}`, x = {
77
- token: b,
76
+ let y = `word-paste-${++l}`, b = {
77
+ token: y,
78
78
  from: e.state.selection.from,
79
79
  to: e.state.selection.to
80
80
  };
81
81
  return e.dispatch(e.state.tr.setMeta(f, {
82
82
  type: "set",
83
- ...x
84
- }).setMeta("addToHistory", !1)), i(d, p).then((e) => {
85
- if (o.isDestroyed) return;
86
- let t = f.getState(o.state)?.get(b);
87
- if (!t) return;
88
- let i = e.filter((e) => !!e);
89
- g(o, t, (u.html ? n(u.html, {
83
+ ...b
84
+ }).setMeta("addToHistory", !1)), i(d, c).then((e) => {
85
+ if (t.isDestroyed) return;
86
+ let i = f.getState(t.state)?.get(y);
87
+ if (!i) return;
88
+ let o = e.filter((e) => !!e);
89
+ g(t, i, (u.html ? n(u.html, {
90
90
  plainText: u.plainText,
91
91
  rtf: u.rtf,
92
92
  clipboardImages: e,
93
+ preferClipboardImages: !0,
93
94
  trustedInternal: u.trustedInternal
94
- }).html : i.length ? `<p>${i.map((e) => `<img src="${a(e)}" alt="">`).join("")}</p>` : r(u.plainText)) || r(u.plainText));
95
+ }).html : o.length ? `<p>${o.map((e) => `<img src="${a(e)}" alt="">`).join("")}</p>` : r(u.plainText)) || r(u.plainText));
95
96
  }).catch(() => {
96
- if (o.isDestroyed) return;
97
- let e = f.getState(o.state)?.get(b);
98
- e ? g(o, e, r(u.plainText)) : h(o, b);
97
+ if (t.isDestroyed) return;
98
+ let e = f.getState(t.state)?.get(y);
99
+ e ? g(t, e, r(u.plainText)) : h(t, y);
99
100
  }), !0;
100
101
  }
101
102
  }
@@ -137,5 +138,8 @@ function _(e) {
137
138
  if (!t.length) for (let n of Array.from(e.files)) n.type.toLowerCase().startsWith("image/") && t.push(n);
138
139
  return t;
139
140
  }
141
+ function v(e) {
142
+ return t(e).length;
143
+ }
140
144
  //#endregion
141
145
  export { p as WordPaste };