@skopon-cool/form-sdk 0.2.3 → 0.2.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.
package/dist/index.js CHANGED
@@ -1,31 +1,31 @@
1
1
  import './form-sdk.css';
2
- import { jsx as l, jsxs as I } from "react/jsx-runtime";
3
- import { createContext as De, useContext as He, useCallback as te, useSyncExternalStore as Gt, useMemo as B, useState as F, useRef as j, useEffect as R, forwardRef as Jt, useImperativeHandle as Yt } from "react";
4
- import { Spin as Ke, Button as be, Typography as L, Avatar as Wt, Tag as re, Select as we, Checkbox as Xt, Radio as Qt, Switch as Zt, TimePicker as en, DatePicker as tn, Upload as _e, Input as Me, InputNumber as nn, ConfigProvider as rn, Tooltip as ne } from "antd";
5
- import { ReloadOutlined as pt, FileTextOutlined as ft, UserOutlined as on, FileImageOutlined as an, FileExcelOutlined as sn, FileOutlined as ht, PictureOutlined as ln, SoundOutlined as cn, VideoCameraOutlined as un } from "@ant-design/icons";
6
- import { createBinderlessComponentImplementation as O, basicCatalog as fe, A2uiSurface as gt } from "@a2ui/react/v0_9";
2
+ import { jsx as c, jsxs as C } from "react/jsx-runtime";
3
+ import { createContext as He, useContext as Ke, useCallback as ne, useSyncExternalStore as en, useMemo as w, useState as P, useRef as O, useEffect as B, forwardRef as tn, useImperativeHandle as nn } from "react";
4
+ import { Spin as Ge, Button as ke, Typography as D, Avatar as rn, Tag as oe, Select as qe, Checkbox as on, Radio as an, Switch as sn, TimePicker as ln, DatePicker as cn, Upload as Ne, Input as Me, InputNumber as un, ConfigProvider as mn, Tooltip as re } from "antd";
5
+ import { ReloadOutlined as yt, FileTextOutlined as vt, UserOutlined as dn, FileImageOutlined as pn, FileExcelOutlined as fn, FileOutlined as bt, PictureOutlined as hn, SoundOutlined as gn, VideoCameraOutlined as yn } from "@ant-design/icons";
6
+ import { createBinderlessComponentImplementation as j, basicCatalog as ge, A2uiSurface as St } from "@a2ui/react/v0_9";
7
7
  import { z as f } from "zod";
8
- import { Catalog as mn, MessageProcessor as yt } from "@a2ui/web_core/v0_9";
9
- import { injectBasicCatalogStyles as vt } from "@a2ui/web_core/v0_9/basic_catalog";
10
- import { injectStyles as bt } from "@a2ui/react/styles";
11
- import at from "dayjs";
12
- const Lo = "v0.9", dn = [
8
+ import { Catalog as vn, MessageProcessor as kt } from "@a2ui/web_core/v0_9";
9
+ import { injectBasicCatalogStyles as At } from "@a2ui/web_core/v0_9/basic_catalog";
10
+ import { injectStyles as Ct } from "@a2ui/react/styles";
11
+ import ut from "dayjs";
12
+ const Zo = "v0.9", bn = [
13
13
  "huge",
14
14
  "large",
15
15
  "medium",
16
16
  "small",
17
17
  "icon"
18
18
  ];
19
- function he(e) {
19
+ function ye(e) {
20
20
  return e === "image" || e === "video" || e === "audio";
21
21
  }
22
- function Se(e) {
22
+ function Ae(e) {
23
23
  return e === "heading" || e === "paragraph";
24
24
  }
25
- function Y(e) {
26
- return !Se(e) && !he(e);
25
+ function W(e) {
26
+ return !Ae(e) && !ye(e);
27
27
  }
28
- function pn() {
28
+ function Sn() {
29
29
  if (typeof crypto < "u" && typeof crypto.randomUUID == "function")
30
30
  return crypto.randomUUID();
31
31
  if (typeof crypto < "u" && typeof crypto.getRandomValues == "function") {
@@ -39,11 +39,11 @@ function pn() {
39
39
  return (e === "x" ? t : t & 3 | 8).toString(16);
40
40
  });
41
41
  }
42
- function ie(e) {
43
- const t = pn().replace(/-/g, "").slice(0, 8);
42
+ function ae(e) {
43
+ const t = Sn().replace(/-/g, "").slice(0, 8);
44
44
  return `${e}${t}`;
45
45
  }
46
- const St = [
46
+ const xt = [
47
47
  { value: "image/*", label: "图片" },
48
48
  { value: "video/*", label: "视频" },
49
49
  { value: "audio/*", label: "音频" },
@@ -54,7 +54,7 @@ const St = [
54
54
  { value: "text/plain", label: "纯文本" },
55
55
  { value: "application/zip", label: "ZIP 压缩包" },
56
56
  { value: "application/x-rar-compressed", label: "RAR 压缩包" }
57
- ], fn = {
57
+ ], kn = {
58
58
  "image/*": ["image/*"],
59
59
  "video/*": ["video/*"],
60
60
  "audio/*": ["audio/*"],
@@ -74,7 +74,7 @@ const St = [
74
74
  "text/plain": ["text/plain"],
75
75
  "application/zip": ["application/zip"],
76
76
  "application/x-rar-compressed": ["application/x-rar-compressed"]
77
- }, hn = {
77
+ }, An = {
78
78
  "image/*": [".jpg", ".jpeg", ".png", ".gif", ".webp", ".svg"],
79
79
  "video/*": [".mp4", ".mov", ".avi", ".webm"],
80
80
  "audio/*": [".mp3", ".wav", ".ogg", ".m4a"],
@@ -85,14 +85,14 @@ const St = [
85
85
  "text/plain": [".txt"],
86
86
  "application/zip": [".zip", ".7z"],
87
87
  "application/x-rar-compressed": [".rar"]
88
- }, gn = {
88
+ }, Cn = {
89
89
  "application/msword": "office/word",
90
90
  "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "office/word",
91
91
  "application/vnd.ms-excel": "office/excel",
92
92
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "office/excel",
93
93
  "application/vnd.ms-powerpoint": "office/ppt",
94
94
  "application/vnd.openxmlformats-officedocument.presentationml.presentation": "office/ppt"
95
- }, Ge = [
95
+ }, Je = [
96
96
  { value: ".jpg", label: ".jpg" },
97
97
  { value: ".jpeg", label: ".jpeg" },
98
98
  { value: ".png", label: ".png" },
@@ -118,124 +118,124 @@ const St = [
118
118
  { value: ".zip", label: ".zip" },
119
119
  { value: ".rar", label: ".rar" },
120
120
  { value: ".7z", label: ".7z" }
121
- ], yn = Object.fromEntries(
122
- St.map((e) => [e.value, e.label])
123
- ), vn = Object.fromEntries(
124
- Ge.map((e) => [e.value, e.label])
125
- ), bn = new Set(St.map((e) => e.value)), Sn = new Set(
126
- Ge.map((e) => e.value)
121
+ ], xn = Object.fromEntries(
122
+ xt.map((e) => [e.value, e.label])
123
+ ), _n = Object.fromEntries(
124
+ Je.map((e) => [e.value, e.label])
125
+ ), Tn = new Set(xt.map((e) => e.value)), In = new Set(
126
+ Je.map((e) => e.value)
127
127
  );
128
- function kn(e) {
128
+ function Nn(e) {
129
129
  const t = e.trim();
130
- return t ? bn.has(t) ? t : gn[t] ?? null : null;
130
+ return t ? Tn.has(t) ? t : Cn[t] ?? null : null;
131
131
  }
132
- function Cn(e) {
132
+ function Mn(e) {
133
133
  return Array.isArray(e) ? e.map((t) => {
134
134
  const n = t.trim().toLowerCase();
135
135
  return n ? n.startsWith(".") ? n : `.${n}` : "";
136
136
  }).filter(Boolean) : [];
137
137
  }
138
- function ae(e) {
138
+ function se(e) {
139
139
  if (!Array.isArray(e)) return [];
140
140
  const t = [], n = /* @__PURE__ */ new Set();
141
141
  for (const r of e) {
142
- const o = kn(r);
142
+ const o = Nn(r);
143
143
  o && !n.has(o) && (n.add(o), t.push(o));
144
144
  }
145
145
  return t;
146
146
  }
147
- function xn(e) {
148
- const t = ae(e), n = [];
147
+ function Fn(e) {
148
+ const t = se(e), n = [];
149
149
  for (const r of t)
150
- n.push(...fn[r] ?? [r]);
150
+ n.push(...kn[r] ?? [r]);
151
151
  return n;
152
152
  }
153
- function An(e) {
154
- const t = ae(e);
153
+ function Un(e) {
154
+ const t = se(e);
155
155
  if (t.length === 0) return [];
156
156
  const n = /* @__PURE__ */ new Set();
157
157
  for (const r of t)
158
- for (const o of hn[r] ?? [])
158
+ for (const o of An[r] ?? [])
159
159
  n.add(o);
160
- return Ge.filter((r) => n.has(r.value));
160
+ return Je.filter((r) => n.has(r.value));
161
161
  }
162
- function Je(e, t) {
163
- const n = Cn(t), r = ae(e);
162
+ function Ye(e, t) {
163
+ const n = Mn(t), r = se(e);
164
164
  if (r.length === 0)
165
- return n.filter((i) => Sn.has(i));
165
+ return n.filter((i) => In.has(i));
166
166
  const o = new Set(
167
- An(r).map((i) => i.value)
167
+ Un(r).map((i) => i.value)
168
168
  );
169
169
  return n.filter((i) => o.has(i));
170
170
  }
171
- function Tn(e, t) {
172
- const n = xn(e), r = Je(e, t), o = [...n, ...r];
171
+ function Pn(e, t) {
172
+ const n = Fn(e), r = Ye(e, t), o = [...n, ...r];
173
173
  return o.length > 0 ? o.join(",") : void 0;
174
174
  }
175
- function In(e, t) {
176
- const n = ae(e), r = Je(
175
+ function En(e, t) {
176
+ const n = se(e), r = Ye(
177
177
  n,
178
178
  t
179
179
  ), o = [
180
- ...n.map((i) => yn[i] ?? i),
181
- ...r.map((i) => vn[i] ?? i)
180
+ ...n.map((i) => xn[i] ?? i),
181
+ ...r.map((i) => _n[i] ?? i)
182
182
  ];
183
183
  return o.length === 0 ? null : o.join("、");
184
184
  }
185
- const _n = [
185
+ const zn = [
186
186
  "video",
187
187
  "audio",
188
188
  "image",
189
189
  "file",
190
190
  "spreadsheet",
191
191
  "document"
192
- ], Mn = new Set(_n);
193
- function Nn(e) {
194
- return e && Mn.has(e) ? e : "file";
192
+ ], Rn = new Set(zn);
193
+ function wn(e) {
194
+ return e && Rn.has(e) ? e : "file";
195
195
  }
196
- function se(e) {
197
- return typeof e == "string" && dn.includes(e) ? e : "medium";
196
+ function le(e) {
197
+ return typeof e == "string" && bn.includes(e) ? e : "medium";
198
198
  }
199
- function Fn(e, t) {
199
+ function Bn(e, t) {
200
200
  var o;
201
201
  const n = Math.max(1, t);
202
202
  let r = [];
203
203
  return Array.isArray(e.mediaUrls) ? r = e.mediaUrls.map((i) => String(i).trim()) : (o = e.mediaUrl) != null && o.trim() && (r = [e.mediaUrl.trim()]), r.length === 0 ? [""] : r.slice(0, n);
204
204
  }
205
- function Un(e) {
205
+ function qn(e) {
206
206
  var t;
207
207
  return Array.isArray(e.mediaUrls) ? e.mediaUrls.map((n) => n.trim()).filter(Boolean) : (t = e.mediaUrl) != null && t.trim() ? [e.mediaUrl.trim()] : [];
208
208
  }
209
- function Pn(e) {
210
- return `form-media-size-${se(e)}`;
209
+ function On(e) {
210
+ return `form-media-size-${le(e)}`;
211
211
  }
212
- function En(e) {
213
- return `form-media-preview form-media-list ${Pn(e)}`;
212
+ function Ln(e) {
213
+ return `form-media-preview form-media-list ${On(e)}`;
214
214
  }
215
- const zn = 10;
216
- function Ye(e) {
215
+ const jn = 10;
216
+ function We(e) {
217
217
  return e && typeof e == "object" && !Array.isArray(e) ? e : {};
218
218
  }
219
- function le(e) {
219
+ function ce(e) {
220
220
  return e === !0 || e === "true" || e === 1 || e === "1";
221
221
  }
222
- function st(e, t = 1) {
222
+ function mt(e, t = 1) {
223
223
  const n = typeof e == "number" ? e : Number(e);
224
224
  return Number.isFinite(n) ? Math.max(0, Math.floor(n)) : t;
225
225
  }
226
- function me(e, t = 1) {
226
+ function pe(e, t = 1) {
227
227
  const n = typeof e == "number" ? e : Number(e);
228
228
  return Number.isFinite(n) ? Math.max(1, Math.floor(n)) : t;
229
229
  }
230
- function Rn(e, t) {
230
+ function Vn(e, t) {
231
231
  if (t !== void 0)
232
- return e === "toggle" ? le(t) : e === "multiselect" || e === "checkbox" || e === "resume_multiselect" || e === "case_multiselect" ? Array.isArray(t) ? t.map(String) : typeof t == "string" && t ? [t] : [] : typeof t == "boolean" ? t ? "true" : "false" : Array.isArray(t) ? t.map(String) : String(t);
232
+ return e === "toggle" ? ce(t) : e === "multiselect" || e === "checkbox" || e === "resume_multiselect" || e === "case_multiselect" ? Array.isArray(t) ? t.map(String) : typeof t == "string" && t ? [t] : [] : typeof t == "boolean" ? t ? "true" : "false" : Array.isArray(t) ? t.map(String) : String(t);
233
233
  }
234
- function Bn(e) {
234
+ function $n(e) {
235
235
  const t = typeof (e == null ? void 0 : e.pageSize) == "number" ? e.pageSize : Number(e == null ? void 0 : e.pageSize), n = Number.isFinite(t) && t >= 1 && t <= 100 ? Math.floor(t) : 20, r = typeof (e == null ? void 0 : e.agentKind) == "string" && e.agentKind.trim() ? e.agentKind.trim() : void 0, o = typeof (e == null ? void 0 : e.agentUniqueId) == "string" && e.agentUniqueId.trim() ? e.agentUniqueId.trim() : void 0, i = typeof (e == null ? void 0 : e.flowType) == "string" && e.flowType.trim() ? e.flowType.trim() : void 0, a = typeof (e == null ? void 0 : e.category) == "string" && e.category.trim() ? e.category.trim() : void 0, s = Array.isArray(e == null ? void 0 : e.flowUniqueIds) ? e.flowUniqueIds.map(String).filter(Boolean) : [];
236
236
  return { agentKind: r, agentUniqueId: o, flowType: i, category: a, flowUniqueIds: s, pageSize: n };
237
237
  }
238
- function wn(e) {
238
+ function Dn(e) {
239
239
  const t = typeof (e == null ? void 0 : e.pageSize) == "number" ? e.pageSize : Number(e == null ? void 0 : e.pageSize), n = Number.isFinite(t) && t >= 1 && t <= 100 ? Math.floor(t) : 20;
240
240
  return {
241
241
  names: Array.isArray(e == null ? void 0 : e.names) ? e.names.map(String).filter(Boolean) : [],
@@ -244,51 +244,51 @@ function wn(e) {
244
244
  pageSize: n
245
245
  };
246
246
  }
247
- function qn(e) {
247
+ function Hn(e) {
248
248
  if (e.type !== "case_singleselect") return e;
249
249
  const t = typeof e.defaultValue == "string" && e.defaultValue.trim() ? [e.defaultValue.trim()] : Array.isArray(e.defaultValue) ? e.defaultValue.map(String).filter(Boolean) : [];
250
250
  return { ...e, type: "case_multiselect", defaultValue: t };
251
251
  }
252
- function On(e) {
252
+ function Kn(e) {
253
253
  var o, i;
254
- const t = qn(e), n = ae(t.fileAcceptTypes), r = t.type;
254
+ const t = Hn(e), n = se(t.fileAcceptTypes), r = t.type;
255
255
  return {
256
- id: ((o = t.id) == null ? void 0 : o.trim()) || ie("block-"),
256
+ id: ((o = t.id) == null ? void 0 : o.trim()) || ae("block-"),
257
257
  type: r,
258
258
  name: ((i = t.name) == null ? void 0 : i.trim()) || void 0,
259
259
  label: t.label ?? "",
260
260
  placeholder: t.placeholder ?? "",
261
261
  help: t.help ?? "",
262
262
  required: t.required === !0,
263
- mediaUrls: he(r) ? Fn(t, zn) : void 0,
264
- mediaSize: he(r) ? se(t.mediaSize) : void 0,
263
+ mediaUrls: ye(r) ? Bn(t, jn) : void 0,
264
+ mediaSize: ye(r) ? le(t.mediaSize) : void 0,
265
265
  fileAcceptTypes: n,
266
- fileAcceptExtensions: Je(
266
+ fileAcceptExtensions: Ye(
267
267
  n,
268
268
  t.fileAcceptExtensions
269
269
  ),
270
- filePlaceholderIcon: Nn(t.filePlaceholderIcon),
271
- fileMinCount: r === "file" ? st(t.fileMinCount, 1) : void 0,
272
- fileMaxCount: r === "file" ? st(t.fileMaxCount, 1) : void 0,
273
- defaultValue: Rn(r, t.defaultValue),
270
+ filePlaceholderIcon: wn(t.filePlaceholderIcon),
271
+ fileMinCount: r === "file" ? mt(t.fileMinCount, 1) : void 0,
272
+ fileMaxCount: r === "file" ? mt(t.fileMaxCount, 1) : void 0,
273
+ defaultValue: Vn(r, t.defaultValue),
274
274
  options: Array.isArray(t.options) ? t.options.map((a, s) => {
275
- var c, u;
275
+ var l, u;
276
276
  return {
277
- value: ((c = a.value) == null ? void 0 : c.trim()) || `option_${s + 1}`,
277
+ value: ((l = a.value) == null ? void 0 : l.trim()) || `option_${s + 1}`,
278
278
  label: ((u = a.label) == null ? void 0 : u.trim()) || `选项 ${s + 1}`
279
279
  };
280
280
  }) : void 0,
281
281
  resumeEnableRefresh: r === "resume_multiselect" ? t.resumeEnableRefresh !== !1 : void 0,
282
- resumeMinCount: r === "resume_multiselect" && t.resumeMinCount != null ? me(t.resumeMinCount, 1) : void 0,
283
- resumeMaxCount: r === "resume_multiselect" && t.resumeMaxCount != null ? me(t.resumeMaxCount, 1) : void 0,
284
- resumeFilter: r === "resume_multiselect" ? wn(t.resumeFilter) : void 0,
282
+ resumeMinCount: r === "resume_multiselect" && t.resumeMinCount != null ? pe(t.resumeMinCount, 1) : void 0,
283
+ resumeMaxCount: r === "resume_multiselect" && t.resumeMaxCount != null ? pe(t.resumeMaxCount, 1) : void 0,
284
+ resumeFilter: r === "resume_multiselect" ? Dn(t.resumeFilter) : void 0,
285
285
  caseEnableRefresh: r === "case_multiselect" ? t.caseEnableRefresh !== !1 : void 0,
286
- caseMinCount: r === "case_multiselect" && t.caseMinCount != null ? me(t.caseMinCount, 1) : void 0,
287
- caseMaxCount: r === "case_multiselect" && t.caseMaxCount != null ? me(t.caseMaxCount, 1) : void 0,
288
- caseFilter: r === "case_multiselect" ? Bn(t.caseFilter) : void 0
286
+ caseMinCount: r === "case_multiselect" && t.caseMinCount != null ? pe(t.caseMinCount, 1) : void 0,
287
+ caseMaxCount: r === "case_multiselect" && t.caseMaxCount != null ? pe(t.caseMaxCount, 1) : void 0,
288
+ caseFilter: r === "case_multiselect" ? $n(t.caseFilter) : void 0
289
289
  };
290
290
  }
291
- function ge(e) {
291
+ function ve(e) {
292
292
  return {
293
293
  title: e.title ?? "",
294
294
  description: e.description ?? "",
@@ -296,18 +296,18 @@ function ge(e) {
296
296
  jsonSchema: e.jsonSchema ?? {}
297
297
  };
298
298
  }
299
- function W(e) {
299
+ function Q(e) {
300
300
  if (!e || !Array.isArray(e.blocks))
301
- return ge({ title: "", description: "", blocks: [], jsonSchema: {} });
302
- const t = e.blocks.map(On);
303
- return ge({
301
+ return ve({ title: "", description: "", blocks: [], jsonSchema: {} });
302
+ const t = e.blocks.map(Kn);
303
+ return ve({
304
304
  title: typeof e.title == "string" ? e.title : "",
305
305
  description: typeof e.description == "string" ? e.description : "",
306
306
  blocks: t,
307
- jsonSchema: Ye(e.jsonSchema)
307
+ jsonSchema: We(e.jsonSchema)
308
308
  });
309
309
  }
310
- function jn(e) {
310
+ function Gn(e) {
311
311
  const t = typeof e.pageSize == "number" ? e.pageSize : Number(e.pageSize), n = typeof e.agentKind == "string" && e.agentKind.trim() ? e.agentKind.trim() : void 0, r = typeof e.agentUniqueId == "string" && e.agentUniqueId.trim() ? e.agentUniqueId.trim() : void 0, o = typeof e.flowType == "string" && e.flowType.trim() ? e.flowType.trim() : void 0, i = typeof e.category == "string" && e.category.trim() ? e.category.trim() : void 0, a = Array.isArray(e.flowUniqueIds) ? e.flowUniqueIds.map(String).filter(Boolean) : [];
312
312
  return {
313
313
  agentKind: n,
@@ -318,14 +318,14 @@ function jn(e) {
318
318
  pageSize: Number.isFinite(t) && t >= 1 && t <= 100 ? Math.floor(t) : 20
319
319
  };
320
320
  }
321
- function lt(e) {
321
+ function dt(e) {
322
322
  if (e == null) return;
323
323
  const t = typeof e == "number" ? e : Number(e);
324
324
  if (!(!Number.isFinite(t) || t < 1))
325
325
  return Math.floor(t);
326
326
  }
327
- function Vn(e, t) {
328
- var a, s, c, u, d, m;
327
+ function Jn(e, t) {
328
+ var a, s, l, u, m, d;
329
329
  const { id: n, label: r, path: o, withData: i } = t;
330
330
  return i({
331
331
  id: n,
@@ -337,17 +337,17 @@ function Vn(e, t) {
337
337
  caseFilter: {
338
338
  agentKind: (a = e.caseFilter) == null ? void 0 : a.agentKind,
339
339
  agentUniqueId: (s = e.caseFilter) == null ? void 0 : s.agentUniqueId,
340
- flowType: (c = e.caseFilter) == null ? void 0 : c.flowType,
340
+ flowType: (l = e.caseFilter) == null ? void 0 : l.flowType,
341
341
  category: (u = e.caseFilter) == null ? void 0 : u.category,
342
- flowUniqueIds: ((d = e.caseFilter) == null ? void 0 : d.flowUniqueIds) ?? [],
343
- pageSize: ((m = e.caseFilter) == null ? void 0 : m.pageSize) ?? 20
342
+ flowUniqueIds: ((m = e.caseFilter) == null ? void 0 : m.flowUniqueIds) ?? [],
343
+ pageSize: ((d = e.caseFilter) == null ? void 0 : d.pageSize) ?? 20
344
344
  },
345
345
  ...e.caseMinCount !== void 0 ? { minCount: e.caseMinCount } : {},
346
346
  ...e.caseMaxCount !== void 0 ? { maxCount: e.caseMaxCount } : {},
347
347
  value: { path: o }
348
348
  });
349
349
  }
350
- function Ln(e, t, n) {
350
+ function Yn(e, t, n) {
351
351
  const r = n.nameFromValue(e.value), o = {
352
352
  ...t("case_multiselect"),
353
353
  name: r,
@@ -355,109 +355,109 @@ function Ln(e, t, n) {
355
355
  }, i = n.asLiteral(e.placeholder);
356
356
  i && (o.placeholder = i);
357
357
  const a = n.asLiteral(e.help);
358
- a && (o.help = a), e.caseFilter && typeof e.caseFilter == "object" && (o.caseFilter = jn(e.caseFilter));
359
- const s = lt(e.minCount);
358
+ a && (o.help = a), e.caseFilter && typeof e.caseFilter == "object" && (o.caseFilter = Gn(e.caseFilter));
359
+ const s = dt(e.minCount);
360
360
  s !== void 0 && (o.caseMinCount = s);
361
- const c = lt(e.maxCount);
362
- return c !== void 0 && (o.caseMaxCount = c), o;
361
+ const l = dt(e.maxCount);
362
+ return l !== void 0 && (o.caseMaxCount = l), o;
363
363
  }
364
- const kt = De({ interactive: !0 });
365
- function qe({
364
+ const _t = He({ interactive: !0 });
365
+ function Oe({
366
366
  interactive: e,
367
367
  children: t
368
368
  }) {
369
- return /* @__PURE__ */ l(kt.Provider, { value: { interactive: e }, children: t });
369
+ return /* @__PURE__ */ c(_t.Provider, { value: { interactive: e }, children: t });
370
370
  }
371
- function H() {
372
- return He(kt);
371
+ function K() {
372
+ return Ke(_t);
373
373
  }
374
- function Ct(e) {
374
+ function Tt(e) {
375
375
  return e && typeof e == "object" && "path" in e && String(e.path ?? "").trim() || null;
376
376
  }
377
- function ct(e, t = "value") {
377
+ function pt(e, t = "value") {
378
378
  const r = e.componentModel.properties[t];
379
- if (!(!Ct(r) || r === void 0))
379
+ if (!(!Tt(r) || r === void 0))
380
380
  return e.dataContext.resolveDynamicValue(r);
381
381
  }
382
- function K(e, t = "value") {
383
- const r = e.componentModel.properties[t], o = Ct(r), i = te(
382
+ function G(e, t = "value") {
383
+ const r = e.componentModel.properties[t], o = Tt(r), i = ne(
384
384
  (u) => {
385
385
  if (!o || r === void 0) return () => {
386
386
  };
387
- const d = e.dataContext.subscribeDynamicValue(r, () => u());
388
- return () => d.unsubscribe();
387
+ const m = e.dataContext.subscribeDynamicValue(r, () => u());
388
+ return () => m.unsubscribe();
389
389
  },
390
390
  [e, r, o]
391
- ), a = te(() => {
391
+ ), a = ne(() => {
392
392
  if (!(!o || r === void 0))
393
393
  return e.dataContext.resolveDynamicValue(r);
394
- }, [e, r, o]), s = Gt(i, a, a), c = te(
394
+ }, [e, r, o]), s = en(i, a, a), l = ne(
395
395
  (u) => {
396
396
  !o || !r || typeof r != "object" || !("path" in r) || e.dataContext.set(String(r.path), u);
397
397
  },
398
398
  [e, r, o]
399
399
  );
400
- return { value: s, setValue: c, hasBinding: !!o };
400
+ return { value: s, setValue: l, hasBinding: !!o };
401
401
  }
402
- function oe(e) {
402
+ function ie(e) {
403
403
  if (typeof e == "string") return e || void 0;
404
404
  if (typeof e == "number") return String(e);
405
405
  }
406
- function q(e) {
406
+ function L(e) {
407
407
  return Array.isArray(e) ? e.map(String) : typeof e == "string" && e ? [e] : [];
408
408
  }
409
- function xt(e, t) {
410
- return t ? Array.isArray(e) ? null : q(e) : Array.isArray(e) ? e.length > 0 ? String(e[0]) : "" : e == null || typeof e == "string" || typeof e == "number" ? null : "";
409
+ function It(e, t) {
410
+ return t ? Array.isArray(e) ? null : L(e) : Array.isArray(e) ? e.length > 0 ? String(e[0]) : "" : e == null || typeof e == "string" || typeof e == "number" ? null : "";
411
411
  }
412
- function ye(e) {
412
+ function be(e) {
413
413
  if (e == null) return;
414
414
  const t = typeof e == "number" ? e : Number(e);
415
415
  if (!(!Number.isFinite(t) || t < 1))
416
416
  return Math.floor(t);
417
417
  }
418
- function At(e, t, n, r) {
418
+ function Nt(e, t, n, r) {
419
419
  if (e.includes(t)) {
420
420
  const i = e.filter((a) => a !== t);
421
421
  return n !== void 0 && i.length < n ? null : i;
422
422
  }
423
423
  return r !== void 0 && e.length >= r ? null : [...e, t];
424
424
  }
425
- function Tt(e, t, n, r, o) {
425
+ function Mt(e, t, n, r, o) {
426
426
  if (!n) return !0;
427
427
  const i = e.includes(t);
428
428
  return !!(!i && o !== void 0 && e.length >= o || i && r !== void 0 && e.length <= r);
429
429
  }
430
- function It(e, t) {
430
+ function Ft(e, t) {
431
431
  return t === void 0 || e.length <= t ? null : e.slice(0, t);
432
432
  }
433
- const _t = De(null);
434
- function Oe({
433
+ const Ut = He(null);
434
+ function Le({
435
435
  caseSearch: e,
436
436
  children: t
437
437
  }) {
438
- return /* @__PURE__ */ l(_t.Provider, { value: e ?? null, children: t });
438
+ return /* @__PURE__ */ c(Ut.Provider, { value: e ?? null, children: t });
439
439
  }
440
- function $n() {
441
- return He(_t);
440
+ function Wn() {
441
+ return Ke(Ut);
442
442
  }
443
- function Ne(e) {
443
+ function Fe(e) {
444
444
  return typeof e == "string" ? e : "";
445
445
  }
446
- function Fe(e) {
446
+ function Ue(e) {
447
447
  if (!e || typeof e != "object")
448
448
  return { flowUniqueIds: [], pageSize: 20 };
449
- const t = e, n = typeof t.pageSize == "number" ? t.pageSize : Number(t.pageSize), r = Number.isFinite(n) && n >= 1 && n <= 100 ? Math.floor(n) : 20, o = typeof t.agentKind == "string" && t.agentKind.trim() ? t.agentKind.trim() : void 0, i = typeof t.agentUniqueId == "string" && t.agentUniqueId.trim() ? t.agentUniqueId.trim() : void 0, a = typeof t.flowType == "string" && t.flowType.trim() ? t.flowType.trim() : void 0, s = typeof t.category == "string" && t.category.trim() ? t.category.trim() : void 0, c = Array.isArray(t.flowUniqueIds) ? t.flowUniqueIds.map(String).filter(Boolean) : [];
450
- return { agentKind: o, agentUniqueId: i, flowType: a, category: s, flowUniqueIds: c, pageSize: r };
449
+ const t = e, n = typeof t.pageSize == "number" ? t.pageSize : Number(t.pageSize), r = Number.isFinite(n) && n >= 1 && n <= 100 ? Math.floor(n) : 20, o = typeof t.agentKind == "string" && t.agentKind.trim() ? t.agentKind.trim() : void 0, i = typeof t.agentUniqueId == "string" && t.agentUniqueId.trim() ? t.agentUniqueId.trim() : void 0, a = typeof t.flowType == "string" && t.flowType.trim() ? t.flowType.trim() : void 0, s = typeof t.category == "string" && t.category.trim() ? t.category.trim() : void 0, l = Array.isArray(t.flowUniqueIds) ? t.flowUniqueIds.map(String).filter(Boolean) : [];
450
+ return { agentKind: o, agentUniqueId: i, flowType: a, category: s, flowUniqueIds: l, pageSize: r };
451
451
  }
452
- function Ue(e) {
452
+ function Pe(e) {
453
453
  var r;
454
454
  const t = !!((r = e.flowUniqueIds) != null && r.length), n = !!(e.agentUniqueId && e.flowType && e.category);
455
455
  return t || n;
456
456
  }
457
- function Dn(e) {
457
+ function Xn(e) {
458
458
  return JSON.stringify(e);
459
459
  }
460
- const Hn = {
460
+ const Qn = {
461
461
  name: "SkoponCaseSelect",
462
462
  schema: f.object({
463
463
  label: f.any().optional(),
@@ -470,13 +470,13 @@ const Hn = {
470
470
  value: f.any().optional()
471
471
  }).passthrough()
472
472
  };
473
- function Kn({
473
+ function Zn({
474
474
  item: e,
475
475
  selected: t,
476
476
  disabled: n,
477
477
  onToggle: r
478
478
  }) {
479
- return /* @__PURE__ */ I(
479
+ return /* @__PURE__ */ C(
480
480
  "button",
481
481
  {
482
482
  type: "button",
@@ -484,11 +484,11 @@ function Kn({
484
484
  disabled: n,
485
485
  onClick: r,
486
486
  children: [
487
- /* @__PURE__ */ l("div", { className: "skopon-resume-select-card-avatar", children: /* @__PURE__ */ l(ft, { style: { fontSize: 24, color: "var(--color-primary, #208368)" } }) }),
488
- /* @__PURE__ */ I("div", { className: "skopon-resume-select-card-body", children: [
489
- /* @__PURE__ */ l("div", { className: "skopon-resume-select-card-name", children: e.name }),
490
- e.description ? /* @__PURE__ */ l("div", { className: "skopon-resume-select-card-desc", children: e.description }) : null,
491
- /* @__PURE__ */ I("div", { className: "skopon-resume-select-card-meta", children: [
487
+ /* @__PURE__ */ c("div", { className: "skopon-resume-select-card-avatar", children: /* @__PURE__ */ c(vt, { style: { fontSize: 24, color: "var(--color-primary, #208368)" } }) }),
488
+ /* @__PURE__ */ C("div", { className: "skopon-resume-select-card-body", children: [
489
+ /* @__PURE__ */ c("div", { className: "skopon-resume-select-card-name", children: e.name }),
490
+ e.description ? /* @__PURE__ */ c("div", { className: "skopon-resume-select-card-desc", children: e.description }) : null,
491
+ /* @__PURE__ */ C("div", { className: "skopon-resume-select-card-meta", children: [
492
492
  e.caseUniqueId,
493
493
  e.platform ? ` · ${e.platform}` : "",
494
494
  e.link ? ` · ${e.link}` : ""
@@ -498,105 +498,105 @@ function Kn({
498
498
  }
499
499
  );
500
500
  }
501
- function Gn({ context: e }) {
502
- const { interactive: t } = H(), n = $n(), { value: r, setValue: o } = K(e), i = e.componentModel.properties, a = Ne(i.label), s = Ne(i.placeholder), c = Ne(i.help), u = i.enableRefresh !== !1, d = ye(i.minCount), m = ye(i.maxCount), v = B(() => Fe(i.caseFilter), [i.caseFilter]), h = Dn(v), [x, N] = F(1), [k, p] = F(!1), [b, g] = F(""), [C, U] = F([]), [S, A] = F(0), [X, V] = F(v.pageSize ?? 20), P = j(0), w = q(r);
503
- R(() => {
504
- const y = It(w, m);
505
- y !== null && o(y);
506
- }, [m, w, o]);
507
- const $ = B(() => n ? Ue(v) ? b || s || "暂无匹配的案例" : "未配置案例列表筛选条件" : "未配置案例搜索服务", [n, v, b, s]), G = te(
508
- async (y) => {
509
- const T = Fe(JSON.parse(h)), E = ++P.current;
510
- if (!n || !Ue(T)) {
511
- U([]), A(0), g(""), p(!1);
501
+ function er({ context: e }) {
502
+ const { interactive: t } = K(), n = Wn(), { value: r, setValue: o } = G(e), i = e.componentModel.properties, a = Fe(i.label), s = Fe(i.placeholder), l = Fe(i.help), u = i.enableRefresh !== !1, m = be(i.minCount), d = be(i.maxCount), b = w(() => Ue(i.caseFilter), [i.caseFilter]), h = Xn(b), [x, _] = P(1), [y, p] = P(!1), [v, A] = P(""), [g, I] = P([]), [U, V] = P(0), [M, F] = P(b.pageSize ?? 20), $ = O(0), E = L(r);
503
+ B(() => {
504
+ const k = Ft(E, d);
505
+ k !== null && o(k);
506
+ }, [d, E, o]);
507
+ const q = w(() => n ? Pe(b) ? v || s || "暂无匹配的案例" : "未配置案例列表筛选条件" : "未配置案例搜索服务", [n, b, v, s]), J = ne(
508
+ async (k) => {
509
+ const R = Ue(JSON.parse(h)), T = ++$.current;
510
+ if (!n || !Pe(R)) {
511
+ I([]), V(0), A(""), p(!1);
512
512
  return;
513
513
  }
514
- p(!0), g("");
514
+ p(!0), A("");
515
515
  try {
516
- const M = await n({ filter: T, page: y });
517
- if (E !== P.current) return;
518
- U(M.list), A(M.total), N(M.page), V(M.pageSize);
519
- } catch (M) {
520
- if (E !== P.current) return;
521
- U([]), A(0), g(M instanceof Error ? M.message : "加载案例列表失败");
516
+ const S = await n({ filter: R, page: k });
517
+ if (T !== $.current) return;
518
+ I(S.list), V(S.total), _(S.page), F(S.pageSize);
519
+ } catch (S) {
520
+ if (T !== $.current) return;
521
+ I([]), V(0), A(S instanceof Error ? S.message : "加载案例列表失败");
522
522
  } finally {
523
- E === P.current && p(!1);
523
+ T === $.current && p(!1);
524
524
  }
525
525
  },
526
526
  [n, h]
527
527
  );
528
- R(() => {
529
- N(1), G(1);
530
- }, [h, G]);
531
- const Q = (y) => {
528
+ B(() => {
529
+ _(1), J(1);
530
+ }, [h, J]);
531
+ const X = (k) => {
532
532
  if (!t) return;
533
- const T = At(
534
- w,
535
- y,
536
- d,
537
- m
533
+ const R = Nt(
534
+ E,
535
+ k,
536
+ m,
537
+ d
538
538
  );
539
- T !== null && o(T);
539
+ R !== null && o(R);
540
540
  }, Z = () => {
541
- const y = Fe(JSON.parse(h)), T = X || y.pageSize || 20, E = Math.max(1, Math.ceil(S / T)), M = x >= E ? 1 : x + 1;
542
- G(M);
541
+ const k = Ue(JSON.parse(h)), R = M || k.pageSize || 20, T = Math.max(1, Math.ceil(U / R)), S = x >= T ? 1 : x + 1;
542
+ J(S);
543
543
  };
544
- return /* @__PURE__ */ I("div", { className: "form-block-preview skopon-resume-select", children: [
545
- a ? /* @__PURE__ */ l("div", { className: "form-block-preview-label", children: a }) : null,
546
- k && C.length === 0 ? /* @__PURE__ */ I("div", { className: "skopon-resume-select-status", children: [
547
- /* @__PURE__ */ l(Ke, { size: "small" }),
544
+ return /* @__PURE__ */ C("div", { className: "form-block-preview skopon-resume-select", children: [
545
+ a ? /* @__PURE__ */ c("div", { className: "form-block-preview-label", children: a }) : null,
546
+ y && g.length === 0 ? /* @__PURE__ */ C("div", { className: "skopon-resume-select-status", children: [
547
+ /* @__PURE__ */ c(Ge, { size: "small" }),
548
548
  " 加载案例…"
549
549
  ] }) : null,
550
- !k && C.length === 0 ? /* @__PURE__ */ l("div", { className: "skopon-resume-select-empty", children: $ }) : null,
551
- C.length > 0 ? /* @__PURE__ */ l("div", { className: "skopon-resume-select-list", children: C.map((y) => /* @__PURE__ */ l(
552
- Kn,
550
+ !y && g.length === 0 ? /* @__PURE__ */ c("div", { className: "skopon-resume-select-empty", children: q }) : null,
551
+ g.length > 0 ? /* @__PURE__ */ c("div", { className: "skopon-resume-select-list", children: g.map((k) => /* @__PURE__ */ c(
552
+ Zn,
553
553
  {
554
- item: y,
555
- selected: w.includes(y.caseUniqueId),
556
- disabled: Tt(
557
- w,
558
- y.caseUniqueId,
554
+ item: k,
555
+ selected: E.includes(k.caseUniqueId),
556
+ disabled: Mt(
557
+ E,
558
+ k.caseUniqueId,
559
559
  t,
560
- d,
561
- m
560
+ m,
561
+ d
562
562
  ),
563
- onToggle: () => Q(y.caseUniqueId)
563
+ onToggle: () => X(k.caseUniqueId)
564
564
  },
565
- y.caseUniqueId
565
+ k.caseUniqueId
566
566
  )) }) : null,
567
- u && n && Ue(v) ? /* @__PURE__ */ l("div", { className: "skopon-resume-select-actions", children: /* @__PURE__ */ l(
568
- be,
567
+ u && n && Pe(b) ? /* @__PURE__ */ c("div", { className: "skopon-resume-select-actions", children: /* @__PURE__ */ c(
568
+ ke,
569
569
  {
570
570
  type: "default",
571
571
  size: "small",
572
- icon: /* @__PURE__ */ l(pt, {}),
573
- loading: k,
572
+ icon: /* @__PURE__ */ c(yt, {}),
573
+ loading: y,
574
574
  disabled: !t,
575
575
  onClick: Z,
576
576
  children: "换一批"
577
577
  }
578
578
  ) }) : null,
579
- c ? /* @__PURE__ */ l(L.Text, { type: "secondary", className: "form-block-preview-help", children: c }) : null
579
+ l ? /* @__PURE__ */ c(D.Text, { type: "secondary", className: "form-block-preview-help", children: l }) : null
580
580
  ] });
581
581
  }
582
- const Jn = O(
583
- Hn,
584
- Gn
585
- ), Yn = {
582
+ const tr = j(
583
+ Qn,
584
+ er
585
+ ), nr = {
586
586
  type: "case_multiselect",
587
587
  componentName: "SkoponCaseSelect",
588
- toComponent: Vn,
589
- fromComponent: Ln,
590
- catalogComponents: [Jn]
588
+ toComponent: Jn,
589
+ fromComponent: Yn,
590
+ catalogComponents: [tr]
591
591
  };
592
- function ut(e) {
592
+ function ft(e) {
593
593
  if (e == null) return;
594
594
  const t = typeof e == "number" ? e : Number(e);
595
595
  if (!(!Number.isFinite(t) || t < 1))
596
596
  return Math.floor(t);
597
597
  }
598
- function Wn(e, t) {
599
- var a, s, c, u;
598
+ function rr(e, t) {
599
+ var a, s, l, u;
600
600
  const { id: n, label: r, path: o, withData: i } = t;
601
601
  return i({
602
602
  id: n,
@@ -608,7 +608,7 @@ function Wn(e, t) {
608
608
  resumeFilter: {
609
609
  names: ((a = e.resumeFilter) == null ? void 0 : a.names) ?? [],
610
610
  agentUniqueIds: ((s = e.resumeFilter) == null ? void 0 : s.agentUniqueIds) ?? [],
611
- resumeUniqueIds: ((c = e.resumeFilter) == null ? void 0 : c.resumeUniqueIds) ?? [],
611
+ resumeUniqueIds: ((l = e.resumeFilter) == null ? void 0 : l.resumeUniqueIds) ?? [],
612
612
  pageSize: ((u = e.resumeFilter) == null ? void 0 : u.pageSize) ?? 20
613
613
  },
614
614
  ...e.resumeMinCount !== void 0 ? { minCount: e.resumeMinCount } : {},
@@ -616,7 +616,7 @@ function Wn(e, t) {
616
616
  value: { path: o }
617
617
  });
618
618
  }
619
- function Xn(e, t, n) {
619
+ function or(e, t, n) {
620
620
  const r = n.nameFromValue(e.value), o = {
621
621
  ...t("resume_multiselect"),
622
622
  name: r,
@@ -633,34 +633,34 @@ function Xn(e, t, n) {
633
633
  pageSize: typeof u.pageSize == "number" ? u.pageSize : 20
634
634
  };
635
635
  }
636
- const s = ut(e.minCount);
636
+ const s = ft(e.minCount);
637
637
  s !== void 0 && (o.resumeMinCount = s);
638
- const c = ut(e.maxCount);
639
- return c !== void 0 && (o.resumeMaxCount = c), o;
638
+ const l = ft(e.maxCount);
639
+ return l !== void 0 && (o.resumeMaxCount = l), o;
640
640
  }
641
- const Mt = De(null);
641
+ const Pt = He(null);
642
642
  function je({
643
643
  resumeSearch: e,
644
644
  children: t
645
645
  }) {
646
- return /* @__PURE__ */ l(Mt.Provider, { value: e ?? null, children: t });
646
+ return /* @__PURE__ */ c(Pt.Provider, { value: e ?? null, children: t });
647
647
  }
648
- function Qn() {
649
- return He(Mt);
648
+ function ir() {
649
+ return Ke(Pt);
650
650
  }
651
- function Pe(e) {
651
+ function Ee(e) {
652
652
  return typeof e == "string" ? e : "";
653
653
  }
654
- function Ee(e) {
654
+ function ze(e) {
655
655
  if (!e || typeof e != "object")
656
656
  return { names: [], agentUniqueIds: [], resumeUniqueIds: [], pageSize: 20 };
657
657
  const t = e, n = Array.isArray(t.names) ? t.names.map(String).filter(Boolean) : [], r = Array.isArray(t.agentUniqueIds) ? t.agentUniqueIds.map(String).filter(Boolean) : [], o = Array.isArray(t.resumeUniqueIds) ? t.resumeUniqueIds.map(String).filter(Boolean) : [], i = typeof t.pageSize == "number" ? t.pageSize : Number(t.pageSize), a = Number.isFinite(i) && i >= 1 && i <= 100 ? Math.floor(i) : 20;
658
658
  return { names: n, agentUniqueIds: r, resumeUniqueIds: o, pageSize: a };
659
659
  }
660
- function Zn(e) {
660
+ function ar(e) {
661
661
  return JSON.stringify(e);
662
662
  }
663
- const er = {
663
+ const sr = {
664
664
  name: "SkoponResumeSelect",
665
665
  schema: f.object({
666
666
  label: f.any().optional(),
@@ -672,40 +672,40 @@ const er = {
672
672
  maxCount: f.any().optional(),
673
673
  value: f.any().optional()
674
674
  }).passthrough()
675
- }, tr = 3, nr = 2;
676
- function ze(e, t) {
677
- const n = (t ?? []).filter(Boolean), r = n.slice(0, tr), o = n.length - r.length;
678
- return /* @__PURE__ */ I("div", { className: "skopon-resume-select-card-tags", children: [
679
- /* @__PURE__ */ l("span", { className: "skopon-resume-select-card-tags-label", children: e }),
680
- n.length > 0 ? /* @__PURE__ */ I("div", { className: "skopon-resume-select-card-tags-list", children: [
681
- r.map((i) => /* @__PURE__ */ l(re, { className: "skopon-resume-select-card-tag", children: i }, i)),
682
- o > 0 ? /* @__PURE__ */ I(re, { className: "skopon-resume-select-card-tag", children: [
675
+ }, lr = 3, cr = 2;
676
+ function Re(e, t) {
677
+ const n = (t ?? []).filter(Boolean), r = n.slice(0, lr), o = n.length - r.length;
678
+ return /* @__PURE__ */ C("div", { className: "skopon-resume-select-card-tags", children: [
679
+ /* @__PURE__ */ c("span", { className: "skopon-resume-select-card-tags-label", children: e }),
680
+ n.length > 0 ? /* @__PURE__ */ C("div", { className: "skopon-resume-select-card-tags-list", children: [
681
+ r.map((i) => /* @__PURE__ */ c(oe, { className: "skopon-resume-select-card-tag", children: i }, i)),
682
+ o > 0 ? /* @__PURE__ */ C(oe, { className: "skopon-resume-select-card-tag", children: [
683
683
  "+",
684
684
  o
685
685
  ] }) : null
686
- ] }) : /* @__PURE__ */ l("span", { className: "skopon-resume-select-card-tags-empty", children: "暂无" })
686
+ ] }) : /* @__PURE__ */ c("span", { className: "skopon-resume-select-card-tags-empty", children: "暂无" })
687
687
  ] });
688
688
  }
689
- function rr(e) {
690
- return /* @__PURE__ */ I("div", { className: "skopon-resume-select-card-field", children: [
691
- /* @__PURE__ */ l("span", { className: "skopon-resume-select-card-tags-label", children: "满意度" }),
692
- /* @__PURE__ */ l("span", { className: "skopon-resume-select-card-field-value", children: typeof e == "number" ? `${e}%` : "暂无" })
689
+ function ur(e) {
690
+ return /* @__PURE__ */ C("div", { className: "skopon-resume-select-card-field", children: [
691
+ /* @__PURE__ */ c("span", { className: "skopon-resume-select-card-tags-label", children: "满意度" }),
692
+ /* @__PURE__ */ c("span", { className: "skopon-resume-select-card-field-value", children: typeof e == "number" ? `${e}%` : "暂无" })
693
693
  ] });
694
694
  }
695
- function or({ work: e }) {
696
- return /* @__PURE__ */ I("div", { className: "skopon-resume-select-card-work", children: [
697
- /* @__PURE__ */ l("div", { className: "skopon-resume-select-card-work-cover", children: e.coverUrl ? /* @__PURE__ */ l("img", { src: e.coverUrl, alt: "", className: "skopon-resume-select-card-work-img" }) : /* @__PURE__ */ l(an, { className: "skopon-resume-select-card-work-placeholder" }) }),
698
- /* @__PURE__ */ l("div", { className: "skopon-resume-select-card-work-title", children: e.title || "未命名作品" })
695
+ function mr({ work: e }) {
696
+ return /* @__PURE__ */ C("div", { className: "skopon-resume-select-card-work", children: [
697
+ /* @__PURE__ */ c("div", { className: "skopon-resume-select-card-work-cover", children: e.coverUrl ? /* @__PURE__ */ c("img", { src: e.coverUrl, alt: "", className: "skopon-resume-select-card-work-img" }) : /* @__PURE__ */ c(pn, { className: "skopon-resume-select-card-work-placeholder" }) }),
698
+ /* @__PURE__ */ c("div", { className: "skopon-resume-select-card-work-title", children: e.title || "未命名作品" })
699
699
  ] });
700
700
  }
701
- function ir({
701
+ function dr({
702
702
  item: e,
703
703
  selected: t,
704
704
  disabled: n,
705
705
  onToggle: r
706
706
  }) {
707
- const o = (e.works ?? []).slice(0, nr);
708
- return /* @__PURE__ */ I(
707
+ const o = (e.works ?? []).slice(0, cr);
708
+ return /* @__PURE__ */ C(
709
709
  "button",
710
710
  {
711
711
  type: "button",
@@ -713,183 +713,183 @@ function ir({
713
713
  disabled: n,
714
714
  onClick: r,
715
715
  children: [
716
- /* @__PURE__ */ l(
717
- Wt,
716
+ /* @__PURE__ */ c(
717
+ rn,
718
718
  {
719
719
  size: 48,
720
720
  src: e.avatarUrl || void 0,
721
- icon: e.avatarUrl ? void 0 : /* @__PURE__ */ l(on, {}),
721
+ icon: e.avatarUrl ? void 0 : /* @__PURE__ */ c(dn, {}),
722
722
  className: "skopon-resume-select-card-avatar"
723
723
  }
724
724
  ),
725
- /* @__PURE__ */ l("div", { className: "skopon-resume-select-card-name", children: e.name || "未命名简历" }),
726
- /* @__PURE__ */ I("div", { className: "skopon-resume-select-card-body", children: [
727
- rr(e.satisfaction),
728
- ze("性格", e.personality),
729
- ze("专长", e.specialties),
730
- ze("擅长领域", e.traits),
731
- /* @__PURE__ */ I("div", { className: "skopon-resume-select-card-works", children: [
732
- /* @__PURE__ */ l("span", { className: "skopon-resume-select-card-works-label", children: "过往作品" }),
733
- o.length > 0 ? /* @__PURE__ */ l("div", { className: "skopon-resume-select-card-works-list", children: o.map((i, a) => /* @__PURE__ */ l(or, { work: i }, `${i.title}-${a}`)) }) : /* @__PURE__ */ l("div", { className: "skopon-resume-select-card-works-empty", children: "暂无作品" })
725
+ /* @__PURE__ */ c("div", { className: "skopon-resume-select-card-name", children: e.name || "未命名简历" }),
726
+ /* @__PURE__ */ C("div", { className: "skopon-resume-select-card-body", children: [
727
+ ur(e.satisfaction),
728
+ Re("性格", e.personality),
729
+ Re("专长", e.specialties),
730
+ Re("擅长领域", e.traits),
731
+ /* @__PURE__ */ C("div", { className: "skopon-resume-select-card-works", children: [
732
+ /* @__PURE__ */ c("span", { className: "skopon-resume-select-card-works-label", children: "过往作品" }),
733
+ o.length > 0 ? /* @__PURE__ */ c("div", { className: "skopon-resume-select-card-works-list", children: o.map((i, a) => /* @__PURE__ */ c(mr, { work: i }, `${i.title}-${a}`)) }) : /* @__PURE__ */ c("div", { className: "skopon-resume-select-card-works-empty", children: "暂无作品" })
734
734
  ] })
735
735
  ] })
736
736
  ]
737
737
  }
738
738
  );
739
739
  }
740
- function ar({ context: e }) {
741
- const { interactive: t } = H(), n = Qn(), { value: r, setValue: o } = K(e), i = e.componentModel.properties, a = Pe(i.label), s = Pe(i.placeholder), c = Pe(i.help), u = i.enableRefresh !== !1, d = ye(i.minCount), m = ye(i.maxCount), v = B(() => Ee(i.resumeFilter), [i.resumeFilter]), h = Zn(v), [x, N] = F(1), [k, p] = F(!1), [b, g] = F(""), [C, U] = F([]), [S, A] = F(0), [X, V] = F(v.pageSize ?? 20), P = j(0), w = q(r);
742
- R(() => {
743
- const y = It(w, m);
744
- y !== null && o(y);
745
- }, [m, w, o]);
746
- const $ = te(
747
- async (y) => {
748
- const T = Ee(JSON.parse(h)), E = ++P.current;
740
+ function pr({ context: e }) {
741
+ const { interactive: t } = K(), n = ir(), { value: r, setValue: o } = G(e), i = e.componentModel.properties, a = Ee(i.label), s = Ee(i.placeholder), l = Ee(i.help), u = i.enableRefresh !== !1, m = be(i.minCount), d = be(i.maxCount), b = w(() => ze(i.resumeFilter), [i.resumeFilter]), h = ar(b), [x, _] = P(1), [y, p] = P(!1), [v, A] = P(""), [g, I] = P([]), [U, V] = P(0), [M, F] = P(b.pageSize ?? 20), $ = O(0), E = L(r);
742
+ B(() => {
743
+ const k = Ft(E, d);
744
+ k !== null && o(k);
745
+ }, [d, E, o]);
746
+ const q = ne(
747
+ async (k) => {
748
+ const R = ze(JSON.parse(h)), T = ++$.current;
749
749
  if (!n) {
750
- U([]), A(0), g("未配置简历搜索服务"), p(!1);
750
+ I([]), V(0), A("未配置简历搜索服务"), p(!1);
751
751
  return;
752
752
  }
753
- p(!0), g("");
753
+ p(!0), A("");
754
754
  try {
755
- const M = await n({ filter: T, page: y });
756
- if (E !== P.current) return;
757
- U(M.list), A(M.total), N(M.page), V(M.pageSize);
758
- } catch (M) {
759
- if (E !== P.current) return;
760
- U([]), A(0), g(M instanceof Error ? M.message : "加载简历列表失败");
755
+ const S = await n({ filter: R, page: k });
756
+ if (T !== $.current) return;
757
+ I(S.list), V(S.total), _(S.page), F(S.pageSize);
758
+ } catch (S) {
759
+ if (T !== $.current) return;
760
+ I([]), V(0), A(S instanceof Error ? S.message : "加载简历列表失败");
761
761
  } finally {
762
- E === P.current && p(!1);
762
+ T === $.current && p(!1);
763
763
  }
764
764
  },
765
765
  [n, h]
766
766
  );
767
- R(() => {
768
- N(1), $(1);
769
- }, [h, $]);
770
- const G = (y) => {
767
+ B(() => {
768
+ _(1), q(1);
769
+ }, [h, q]);
770
+ const J = (k) => {
771
771
  if (!t) return;
772
- const T = At(
773
- w,
774
- y,
775
- d,
776
- m
772
+ const R = Nt(
773
+ E,
774
+ k,
775
+ m,
776
+ d
777
777
  );
778
- T !== null && o(T);
779
- }, Q = () => {
780
- const y = Ee(JSON.parse(h)), T = X || y.pageSize || 20, E = Math.max(1, Math.ceil(S / T)), M = x >= E ? 1 : x + 1;
781
- $(M);
778
+ R !== null && o(R);
779
+ }, X = () => {
780
+ const k = ze(JSON.parse(h)), R = M || k.pageSize || 20, T = Math.max(1, Math.ceil(U / R)), S = x >= T ? 1 : x + 1;
781
+ q(S);
782
782
  }, Z = s || "暂无匹配的简历";
783
- return /* @__PURE__ */ I("div", { className: "form-block-preview skopon-resume-select", children: [
784
- a ? /* @__PURE__ */ l("div", { className: "form-block-preview-label", children: a }) : null,
785
- k && C.length === 0 ? /* @__PURE__ */ I("div", { className: "skopon-resume-select-status", children: [
786
- /* @__PURE__ */ l(Ke, { size: "small" }),
783
+ return /* @__PURE__ */ C("div", { className: "form-block-preview skopon-resume-select", children: [
784
+ a ? /* @__PURE__ */ c("div", { className: "form-block-preview-label", children: a }) : null,
785
+ y && g.length === 0 ? /* @__PURE__ */ C("div", { className: "skopon-resume-select-status", children: [
786
+ /* @__PURE__ */ c(Ge, { size: "small" }),
787
787
  " 加载简历…"
788
788
  ] }) : null,
789
- !k && b ? /* @__PURE__ */ l(L.Text, { type: "danger", className: "skopon-resume-select-status", children: b }) : null,
790
- !k && !b && C.length === 0 ? /* @__PURE__ */ l("div", { className: "skopon-resume-select-empty", children: Z }) : null,
791
- C.length > 0 ? /* @__PURE__ */ l("div", { className: "skopon-resume-select-list", children: C.map((y) => /* @__PURE__ */ l(
792
- ir,
789
+ !y && v ? /* @__PURE__ */ c(D.Text, { type: "danger", className: "skopon-resume-select-status", children: v }) : null,
790
+ !y && !v && g.length === 0 ? /* @__PURE__ */ c("div", { className: "skopon-resume-select-empty", children: Z }) : null,
791
+ g.length > 0 ? /* @__PURE__ */ c("div", { className: "skopon-resume-select-list", children: g.map((k) => /* @__PURE__ */ c(
792
+ dr,
793
793
  {
794
- item: y,
795
- selected: w.includes(y.resumeUniqueId),
796
- disabled: Tt(
797
- w,
798
- y.resumeUniqueId,
794
+ item: k,
795
+ selected: E.includes(k.resumeUniqueId),
796
+ disabled: Mt(
797
+ E,
798
+ k.resumeUniqueId,
799
799
  t,
800
- d,
801
- m
800
+ m,
801
+ d
802
802
  ),
803
- onToggle: () => G(y.resumeUniqueId)
803
+ onToggle: () => J(k.resumeUniqueId)
804
804
  },
805
- y.resumeUniqueId
805
+ k.resumeUniqueId
806
806
  )) }) : null,
807
- u && n ? /* @__PURE__ */ l("div", { className: "skopon-resume-select-actions", children: /* @__PURE__ */ l(
808
- be,
807
+ u && n ? /* @__PURE__ */ c("div", { className: "skopon-resume-select-actions", children: /* @__PURE__ */ c(
808
+ ke,
809
809
  {
810
810
  type: "default",
811
811
  size: "small",
812
- icon: /* @__PURE__ */ l(pt, {}),
813
- loading: k,
812
+ icon: /* @__PURE__ */ c(yt, {}),
813
+ loading: y,
814
814
  disabled: !t,
815
- onClick: Q,
815
+ onClick: X,
816
816
  children: "换一批"
817
817
  }
818
818
  ) }) : null,
819
- c ? /* @__PURE__ */ l(L.Text, { type: "secondary", className: "form-block-preview-help", children: c }) : null
819
+ l ? /* @__PURE__ */ c(D.Text, { type: "secondary", className: "form-block-preview-help", children: l }) : null
820
820
  ] });
821
821
  }
822
- const sr = O(
823
- er,
824
- ar
825
- ), lr = {
822
+ const fr = j(
823
+ sr,
824
+ pr
825
+ ), hr = {
826
826
  type: "resume_multiselect",
827
827
  componentName: "SkoponResumeSelect",
828
- toComponent: Wn,
829
- fromComponent: Xn,
830
- catalogComponents: [sr]
831
- }, ke = [lr, Yn], cr = new Map(
832
- ke.map((e) => [e.type, e])
833
- ), ur = new Map(
834
- ke.map((e) => [e.componentName, e])
828
+ toComponent: rr,
829
+ fromComponent: or,
830
+ catalogComponents: [fr]
831
+ }, Ce = [hr, nr], gr = new Map(
832
+ Ce.map((e) => [e.type, e])
833
+ ), yr = new Map(
834
+ Ce.map((e) => [e.componentName, e])
835
835
  );
836
- function mr(e) {
837
- return cr.get(e);
836
+ function vr(e) {
837
+ return gr.get(e);
838
838
  }
839
- function dr(e) {
840
- return ur.get(e);
839
+ function br(e) {
840
+ return yr.get(e);
841
841
  }
842
- function pr() {
843
- return ke.flatMap((e) => e.catalogComponents);
842
+ function Sr() {
843
+ return Ce.flatMap((e) => e.catalogComponents);
844
844
  }
845
- function fr() {
846
- return ke.map((e) => e.componentName);
845
+ function kr() {
846
+ return Ce.map((e) => e.componentName);
847
847
  }
848
- const ve = "root", Ve = "__title__", Le = "__desc__", We = "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$";
849
- function hr(e) {
848
+ const Se = "root", Ve = "__title__", $e = "__desc__", Xe = "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$";
849
+ function Ar(e) {
850
850
  return `/${e}`;
851
851
  }
852
- function mt(e) {
852
+ function ht(e) {
853
853
  return e && typeof e == "object" && "path" in e ? String(e.path ?? "").replace(/^\//, "") : "";
854
854
  }
855
855
  function z(e) {
856
856
  if (typeof e == "string") return e;
857
857
  }
858
- function gr(e) {
859
- const t = e.id || ie("a2-"), n = e.type === "video" ? "video" : e.type === "audio" ? "audio" : "image";
858
+ function Cr(e) {
859
+ const t = e.id || ae("a2-"), n = e.type === "video" ? "video" : e.type === "audio" ? "audio" : "image";
860
860
  return {
861
861
  id: t,
862
862
  component: "SkoponMedia",
863
863
  mediaType: n,
864
- urls: Un(e),
865
- mediaSize: se(e.mediaSize),
864
+ urls: qn(e),
865
+ mediaSize: le(e.mediaSize),
866
866
  label: e.label ?? "",
867
867
  help: e.help ?? "",
868
868
  placeholder: e.placeholder ?? ""
869
869
  };
870
870
  }
871
- function yr(e) {
871
+ function xr(e) {
872
872
  if (Array.isArray(e.urls))
873
873
  return e.urls.map((n) => String(n).trim()).filter(Boolean);
874
874
  const t = z(e.url);
875
875
  return t != null && t.trim() ? [t.trim()] : [];
876
876
  }
877
- function de(e, t, n) {
878
- const r = typeof e.id == "string" ? e.id : ie("block-"), o = yr(e), i = z(e.label) ?? z(e.description) ?? n, a = z(e.help), s = z(e.placeholder), c = se(e.mediaSize);
877
+ function fe(e, t, n) {
878
+ const r = typeof e.id == "string" ? e.id : ae("block-"), o = xr(e), i = z(e.label) ?? z(e.description) ?? n, a = z(e.help), s = z(e.placeholder), l = le(e.mediaSize);
879
879
  return {
880
880
  id: r,
881
881
  type: t,
882
882
  label: i,
883
883
  ...a ? { help: a } : {},
884
884
  ...s ? { placeholder: s } : {},
885
- mediaSize: c,
885
+ mediaSize: l,
886
886
  mediaUrls: o.length > 0 ? o : [""]
887
887
  };
888
888
  }
889
- function vr(e) {
889
+ function _r(e) {
890
890
  switch (e.type) {
891
891
  case "toggle":
892
- return le(e.defaultValue);
892
+ return ce(e.defaultValue);
893
893
  case "multiselect":
894
894
  case "checkbox":
895
895
  case "resume_multiselect":
@@ -903,11 +903,11 @@ function vr(e) {
903
903
  return typeof e.defaultValue == "string" ? e.defaultValue : "";
904
904
  }
905
905
  }
906
- function br(e) {
906
+ function Tr(e) {
907
907
  var u;
908
- const t = e.id || ie("a2-"), n = e.label ?? "", r = ((u = e.name) == null ? void 0 : u.trim()) || "", o = r ? hr(r) : void 0, i = (e.options ?? []).map((d) => ({ label: d.label, value: d.value })), a = (d) => r ? { node: d, dataKey: r, dataValue: vr(e) } : { node: d }, s = { id: t, label: n, name: r, path: o, withData: a }, c = mr(e.type);
909
- if (c)
910
- return c.toComponent(e, s);
908
+ const t = e.id || ae("a2-"), n = e.label ?? "", r = ((u = e.name) == null ? void 0 : u.trim()) || "", o = r ? Ar(r) : void 0, i = (e.options ?? []).map((m) => ({ label: m.label, value: m.value })), a = (m) => r ? { node: m, dataKey: r, dataValue: _r(e) } : { node: m }, s = { id: t, label: n, name: r, path: o, withData: a }, l = vr(e.type);
909
+ if (l)
910
+ return l.toComponent(e, s);
911
911
  switch (e.type) {
912
912
  case "heading":
913
913
  return { node: { id: t, component: "Text", text: n, variant: "h3" } };
@@ -930,7 +930,7 @@ function br(e) {
930
930
  component: "TextField",
931
931
  label: n,
932
932
  variant: "shortText",
933
- validationRegexp: We,
933
+ validationRegexp: Xe,
934
934
  ...e.placeholder ? { placeholder: e.placeholder } : {},
935
935
  value: { path: o }
936
936
  });
@@ -1016,7 +1016,7 @@ function br(e) {
1016
1016
  case "image":
1017
1017
  case "video":
1018
1018
  case "audio":
1019
- return { node: gr(e) };
1019
+ return { node: Cr(e) };
1020
1020
  case "file":
1021
1021
  return a({
1022
1022
  id: t,
@@ -1033,31 +1033,31 @@ function br(e) {
1033
1033
  return { node: null };
1034
1034
  }
1035
1035
  }
1036
- function $e(e) {
1036
+ function De(e) {
1037
1037
  if (!e || !Array.isArray(e.components) || e.components.length === 0) return !0;
1038
- const t = e.components.find((r) => r.id === ve);
1038
+ const t = e.components.find((r) => r.id === Se);
1039
1039
  if (!t) return e.components.length === 0;
1040
1040
  const n = t.children;
1041
1041
  return !Array.isArray(n) || n.length === 0;
1042
1042
  }
1043
- function Nt(e, t) {
1043
+ function Et(e, t) {
1044
1044
  const n = [], r = [], o = {}, i = (t == null ? void 0 : t.includeHeader) !== !1, a = (e.title ?? "").trim(), s = (e.description ?? "").trim();
1045
- i && a && (n.push({ id: Ve, component: "Text", text: a, variant: "h2" }), r.push(Ve)), i && s && (n.push({ id: Le, component: "Text", text: s, variant: "body" }), r.push(Le));
1046
- for (const d of e.blocks ?? []) {
1047
- const { node: m, dataKey: v, dataValue: h } = br(d);
1048
- m && (n.push(m), r.push(m.id), v && (o[v] = h));
1045
+ i && a && (n.push({ id: Ve, component: "Text", text: a, variant: "h2" }), r.push(Ve)), i && s && (n.push({ id: $e, component: "Text", text: s, variant: "body" }), r.push($e));
1046
+ for (const m of e.blocks ?? []) {
1047
+ const { node: d, dataKey: b, dataValue: h } = Tr(m);
1048
+ d && (n.push(d), r.push(d.id), b && (o[b] = h));
1049
1049
  }
1050
- n.unshift({ id: ve, component: "Column", children: r });
1051
- const c = { root: ve, components: n, dataModel: o }, u = t == null ? void 0 : t.styleId;
1052
- return u !== void 0 && (c.surfaceProperties = { styleId: u ?? null }), c;
1050
+ n.unshift({ id: Se, component: "Column", children: r });
1051
+ const l = { root: Se, components: n, dataModel: o }, u = t == null ? void 0 : t.styleId;
1052
+ return u !== void 0 && (l.surfaceProperties = { styleId: u ?? null }), l;
1053
1053
  }
1054
- function Sr(e) {
1054
+ function Ir(e) {
1055
1055
  const t = /* @__PURE__ */ new Map();
1056
1056
  for (const n of e.components ?? [])
1057
1057
  n && typeof n.id == "string" && t.set(n.id, n);
1058
1058
  return t;
1059
1059
  }
1060
- function Re(e) {
1060
+ function we(e) {
1061
1061
  const t = e.options;
1062
1062
  return Array.isArray(t) ? t.map((n) => {
1063
1063
  if (!n || typeof n != "object") return null;
@@ -1068,68 +1068,68 @@ function Re(e) {
1068
1068
  };
1069
1069
  }).filter((n) => !!n) : [];
1070
1070
  }
1071
- function kr(e) {
1072
- const t = typeof e.id == "string" ? e.id : ie("block-"), n = String(e.component ?? ""), r = z(e.label) ?? z(e.text) ?? "", o = mt(e.value), i = (s) => ({ id: t, type: s, label: r }), a = dr(n);
1071
+ function Nr(e) {
1072
+ const t = typeof e.id == "string" ? e.id : ae("block-"), n = String(e.component ?? ""), r = z(e.label) ?? z(e.text) ?? "", o = ht(e.value), i = (s) => ({ id: t, type: s, label: r }), a = br(n);
1073
1073
  if (a)
1074
- return a.fromComponent(e, i, { asLiteral: z, nameFromValue: mt });
1074
+ return a.fromComponent(e, i, { asLiteral: z, nameFromValue: ht });
1075
1075
  switch (n) {
1076
1076
  case "Text": {
1077
- const s = String(e.variant ?? "body"), c = /^h[1-6]$/i.test(s) || s === "title" || s === "subtitle";
1078
- return { id: t, type: c ? "heading" : "paragraph", label: r };
1077
+ const s = String(e.variant ?? "body"), l = /^h[1-6]$/i.test(s) || s === "title" || s === "subtitle";
1078
+ return { id: t, type: l ? "heading" : "paragraph", label: r };
1079
1079
  }
1080
1080
  case "TextField": {
1081
1081
  const s = String(e.variant ?? "shortText");
1082
- let c = "text";
1083
- s === "longText" ? c = "textarea" : s === "number" ? c = "number" : z(e.validationRegexp) === We && (c = "email");
1084
- const u = { ...i(c), name: o }, d = z(e.placeholder);
1085
- return d && (u.placeholder = d), u;
1082
+ let l = "text";
1083
+ s === "longText" ? l = "textarea" : s === "number" ? l = "number" : z(e.validationRegexp) === Xe && (l = "email");
1084
+ const u = { ...i(l), name: o }, m = z(e.placeholder);
1085
+ return m && (u.placeholder = m), u;
1086
1086
  }
1087
1087
  case "CheckBox":
1088
1088
  return { ...i("toggle"), name: o };
1089
1089
  case "SkoponSelect": {
1090
- const c = String(e.mode ?? "single") === "multiple" ? "multiselect" : "select", u = {
1091
- ...i(c),
1090
+ const l = String(e.mode ?? "single") === "multiple" ? "multiselect" : "select", u = {
1091
+ ...i(l),
1092
1092
  name: o,
1093
- options: Re(e)
1094
- }, d = z(e.placeholder);
1095
- return d && (u.placeholder = d), u;
1093
+ options: we(e)
1094
+ }, m = z(e.placeholder);
1095
+ return m && (u.placeholder = m), u;
1096
1096
  }
1097
1097
  case "ChoicePicker": {
1098
1098
  const s = z(e.skoponPickerType);
1099
1099
  if (s === "select" || s === "multiselect" || s === "radio" || s === "checkbox") {
1100
- const d = {
1100
+ const m = {
1101
1101
  ...i(s),
1102
1102
  name: o,
1103
- options: Re(e)
1104
- }, m = z(e.placeholder);
1105
- return m && (d.placeholder = m), d;
1103
+ options: we(e)
1104
+ }, d = z(e.placeholder);
1105
+ return d && (m.placeholder = d), m;
1106
1106
  }
1107
1107
  const u = String(e.variant ?? "mutuallyExclusive") === "multipleSelection" ? "checkbox" : "radio";
1108
- return { ...i(u), name: o, options: Re(e) };
1108
+ return { ...i(u), name: o, options: we(e) };
1109
1109
  }
1110
1110
  case "DateTimeInput": {
1111
- const s = e.enableDate === !0, c = e.enableTime === !0, d = { ...i(!s && c ? "time" : "datetime"), name: o }, m = z(e.placeholder);
1112
- return m && (d.placeholder = m), d;
1111
+ const s = e.enableDate === !0, l = e.enableTime === !0, m = { ...i(!s && l ? "time" : "datetime"), name: o }, d = z(e.placeholder);
1112
+ return d && (m.placeholder = d), m;
1113
1113
  }
1114
1114
  case "SkoponMedia": {
1115
1115
  const s = String(e.mediaType ?? "image");
1116
- return de(e, s === "video" ? "video" : s === "audio" ? "audio" : "image", r);
1116
+ return fe(e, s === "video" ? "video" : s === "audio" ? "audio" : "image", r);
1117
1117
  }
1118
1118
  case "Image":
1119
- return de(e, "image", r);
1119
+ return fe(e, "image", r);
1120
1120
  case "Video":
1121
- return de(e, "video", r);
1121
+ return fe(e, "video", r);
1122
1122
  case "AudioPlayer":
1123
- return de(e, "audio", r);
1123
+ return fe(e, "audio", r);
1124
1124
  case "FileUpload": {
1125
- const s = z(e.accept) ?? "", c = { ...i("file"), name: o };
1126
- return s && (c.fileAcceptExtensions = s.split(",").map((u) => u.trim()).filter(Boolean)), Array.isArray(e.fileAcceptTypes) && (c.fileAcceptTypes = e.fileAcceptTypes.map(String)), typeof e.filePlaceholderIcon == "string" && (c.filePlaceholderIcon = e.filePlaceholderIcon), typeof e.minCount == "number" && (c.fileMinCount = e.minCount), typeof e.maxCount == "number" && (c.fileMaxCount = e.maxCount), c;
1125
+ const s = z(e.accept) ?? "", l = { ...i("file"), name: o };
1126
+ return s && (l.fileAcceptExtensions = s.split(",").map((u) => u.trim()).filter(Boolean)), Array.isArray(e.fileAcceptTypes) && (l.fileAcceptTypes = e.fileAcceptTypes.map(String)), typeof e.filePlaceholderIcon == "string" && (l.filePlaceholderIcon = e.filePlaceholderIcon), typeof e.minCount == "number" && (l.fileMinCount = e.minCount), typeof e.maxCount == "number" && (l.fileMaxCount = e.maxCount), l;
1127
1127
  }
1128
1128
  default:
1129
1129
  return null;
1130
1130
  }
1131
1131
  }
1132
- function Ft(e, t, n, r) {
1132
+ function zt(e, t, n, r) {
1133
1133
  if (n.has(e)) return;
1134
1134
  n.add(e);
1135
1135
  const o = t.get(e);
@@ -1137,25 +1137,25 @@ function Ft(e, t, n, r) {
1137
1137
  const i = String(o.component ?? "");
1138
1138
  if ((i === "Column" || i === "Row") && Array.isArray(o.children)) {
1139
1139
  for (const a of o.children)
1140
- typeof a == "string" && Ft(a, t, n, r);
1140
+ typeof a == "string" && zt(a, t, n, r);
1141
1141
  return;
1142
1142
  }
1143
1143
  r.push(o);
1144
1144
  }
1145
- function Cr(e, t) {
1145
+ function Mr(e, t) {
1146
1146
  return t ? e.map((n) => {
1147
1147
  var i;
1148
1148
  const r = (i = n.name) == null ? void 0 : i.trim();
1149
1149
  if (!r || !(r in t)) return n;
1150
1150
  const o = t[r];
1151
- return o === void 0 ? n : n.type === "toggle" ? { ...n, defaultValue: le(o) } : { ...n, defaultValue: o };
1151
+ return o === void 0 ? n : n.type === "toggle" ? { ...n, defaultValue: ce(o) } : { ...n, defaultValue: o };
1152
1152
  }) : e;
1153
1153
  }
1154
- function xr(e) {
1154
+ function Fr(e) {
1155
1155
  if (!e || !Array.isArray(e.components))
1156
- return ge({ title: "", description: "", blocks: [], jsonSchema: {} });
1157
- const t = Sr(e), n = [];
1158
- Ft(e.root ?? ve, t, /* @__PURE__ */ new Set(), n);
1156
+ return ve({ title: "", description: "", blocks: [], jsonSchema: {} });
1157
+ const t = Ir(e), n = [];
1158
+ zt(e.root ?? Se, t, /* @__PURE__ */ new Set(), n);
1159
1159
  let r = "", o = "";
1160
1160
  const i = [];
1161
1161
  for (const a of n) {
@@ -1163,21 +1163,21 @@ function xr(e) {
1163
1163
  r = z(a.text) ?? r;
1164
1164
  continue;
1165
1165
  }
1166
- if (a.id === Le) {
1166
+ if (a.id === $e) {
1167
1167
  o = z(a.text) ?? o;
1168
1168
  continue;
1169
1169
  }
1170
- const s = kr(a);
1170
+ const s = Nr(a);
1171
1171
  s && i.push(s);
1172
1172
  }
1173
- return ge({
1173
+ return ve({
1174
1174
  title: r,
1175
1175
  description: o,
1176
- blocks: Cr(i, e.dataModel),
1176
+ blocks: Mr(i, e.dataModel),
1177
1177
  jsonSchema: {}
1178
1178
  });
1179
1179
  }
1180
- function Ar(e, t) {
1180
+ function Ur(e, t) {
1181
1181
  const { surfaceId: n, catalogId: r } = t, o = [
1182
1182
  { version: "v0.9", createSurface: { surfaceId: n, catalogId: r } },
1183
1183
  {
@@ -1190,25 +1190,25 @@ function Ar(e, t) {
1190
1190
  updateDataModel: { surfaceId: n, path: "/", value: e.dataModel }
1191
1191
  }), o;
1192
1192
  }
1193
- function Ut(e) {
1193
+ function Rt(e) {
1194
1194
  return !!e && typeof e == "object" && !Array.isArray(e) && Array.isArray(e.components);
1195
1195
  }
1196
- function Tr(e, t) {
1196
+ function Pr(e, t) {
1197
1197
  if (!e || typeof e != "object") return null;
1198
- const n = e, r = Ut(n.a2ui) ? n.a2ui : void 0;
1199
- if (r && !$e(r)) return r;
1198
+ const n = e, r = Rt(n.a2ui) ? n.a2ui : void 0;
1199
+ if (r && !De(r)) return r;
1200
1200
  const o = Array.isArray(n.blocks) ? n.blocks : [];
1201
1201
  if (o.length === 0) return null;
1202
- const i = W({
1202
+ const i = Q({
1203
1203
  title: typeof n.title == "string" ? n.title : "",
1204
1204
  description: typeof n.description == "string" ? n.description : "",
1205
1205
  blocks: o,
1206
- jsonSchema: Ye(n.jsonSchema ?? n.json_schema)
1207
- }), a = Nt(i, t);
1208
- return $e(a) ? null : a;
1206
+ jsonSchema: We(n.jsonSchema ?? n.json_schema)
1207
+ }), a = Et(i, t);
1208
+ return De(a) ? null : a;
1209
1209
  }
1210
- function Ir(e, t, n) {
1211
- return Nt(
1210
+ function Er(e, t, n) {
1211
+ return Et(
1212
1212
  {
1213
1213
  title: e.title,
1214
1214
  description: e.description,
@@ -1217,18 +1217,18 @@ function Ir(e, t, n) {
1217
1217
  n
1218
1218
  );
1219
1219
  }
1220
- function _r(e) {
1220
+ function zr(e) {
1221
1221
  if (!e || typeof e != "object" || Array.isArray(e))
1222
1222
  return;
1223
1223
  const t = e;
1224
- return !(Array.isArray(t.blocks) && t.blocks.length > 0) && Ut(t.a2ui) ? xr(t.a2ui) : W({
1224
+ return !(Array.isArray(t.blocks) && t.blocks.length > 0) && Rt(t.a2ui) ? Fr(t.a2ui) : Q({
1225
1225
  title: typeof t.title == "string" ? t.title : "",
1226
1226
  description: typeof t.description == "string" ? t.description : "",
1227
1227
  blocks: Array.isArray(t.blocks) ? t.blocks : [],
1228
- jsonSchema: Ye(t.jsonSchema ?? t.json_schema)
1228
+ jsonSchema: We(t.jsonSchema ?? t.json_schema)
1229
1229
  });
1230
1230
  }
1231
- function Mr(e, t, n) {
1231
+ function Rr(e, t, n) {
1232
1232
  const r = e.model.surfacesMap.get(t);
1233
1233
  if (!r) return {};
1234
1234
  const o = {};
@@ -1238,15 +1238,15 @@ function Mr(e, t, n) {
1238
1238
  }
1239
1239
  return o;
1240
1240
  }
1241
- function Nr(e) {
1242
- return W({
1241
+ function wr(e) {
1242
+ return Q({
1243
1243
  title: "",
1244
1244
  description: "",
1245
1245
  blocks: [e],
1246
1246
  jsonSchema: {}
1247
1247
  }).blocks[0];
1248
1248
  }
1249
- function Fr(e, t) {
1249
+ function Br(e, t) {
1250
1250
  var o, i;
1251
1251
  const n = /* @__PURE__ */ new Map();
1252
1252
  for (const a of t) {
@@ -1255,57 +1255,57 @@ function Fr(e, t) {
1255
1255
  }
1256
1256
  const r = [];
1257
1257
  for (const a of e.blocks) {
1258
- if (Se(a.type)) {
1259
- r.push(Nr(a));
1258
+ if (Ae(a.type)) {
1259
+ r.push(wr(a));
1260
1260
  continue;
1261
1261
  }
1262
- if (!Y(a.type)) continue;
1262
+ if (!W(a.type)) continue;
1263
1263
  const s = (i = a.name) == null ? void 0 : i.trim();
1264
1264
  if (!s) continue;
1265
- const c = n.get(s);
1266
- c && r.push(c);
1265
+ const l = n.get(s);
1266
+ l && r.push(l);
1267
1267
  }
1268
1268
  return r;
1269
1269
  }
1270
- function Ur(e, t) {
1270
+ function qr(e, t) {
1271
1271
  var r;
1272
1272
  const n = {
1273
1273
  ...e,
1274
1274
  name: ((r = e.name) == null ? void 0 : r.trim()) || t.name
1275
1275
  };
1276
- return t.defaultValue !== void 0 && (n.defaultValue = t.defaultValue), W({
1276
+ return t.defaultValue !== void 0 && (n.defaultValue = t.defaultValue), Q({
1277
1277
  title: "",
1278
1278
  description: "",
1279
1279
  blocks: [n],
1280
1280
  jsonSchema: {}
1281
1281
  }).blocks[0];
1282
1282
  }
1283
- function Ce(e) {
1283
+ function xe(e) {
1284
1284
  if (!e || typeof e != "object" || Array.isArray(e)) return null;
1285
1285
  const t = e;
1286
- return Array.isArray(t.blocks) ? W({
1286
+ return Array.isArray(t.blocks) ? Q({
1287
1287
  title: typeof t.title == "string" ? t.title : "",
1288
1288
  description: typeof t.description == "string" ? t.description : "",
1289
1289
  blocks: t.blocks,
1290
1290
  jsonSchema: {}
1291
1291
  }) : null;
1292
1292
  }
1293
- function Pr(e, t) {
1294
- var i, a, s, c, u, d;
1293
+ function Or(e, t) {
1294
+ var i, a, s, l, u, m;
1295
1295
  const n = /* @__PURE__ */ new Map();
1296
- for (const m of (t == null ? void 0 : t.blocks) ?? [])
1297
- Y(m.type) && ((i = m.name) != null && i.trim()) && n.set(m.name.trim(), m);
1296
+ for (const d of (t == null ? void 0 : t.blocks) ?? [])
1297
+ W(d.type) && ((i = d.name) != null && i.trim()) && n.set(d.name.trim(), d);
1298
1298
  const r = [], o = [];
1299
- for (const m of e.blocks) {
1300
- if (!Y(m.type)) continue;
1301
- const v = (a = m.name) == null ? void 0 : a.trim();
1302
- if (!v) continue;
1303
- const h = n.get(v);
1304
- h ? r.push(Ur(h, m)) : o.push(
1305
- W({
1299
+ for (const d of e.blocks) {
1300
+ if (!W(d.type)) continue;
1301
+ const b = (a = d.name) == null ? void 0 : a.trim();
1302
+ if (!b) continue;
1303
+ const h = n.get(b);
1304
+ h ? r.push(qr(h, d)) : o.push(
1305
+ Q({
1306
1306
  title: "",
1307
1307
  description: "",
1308
- blocks: [m],
1308
+ blocks: [d],
1309
1309
  jsonSchema: {}
1310
1310
  }).blocks[0]
1311
1311
  );
@@ -1313,80 +1313,88 @@ function Pr(e, t) {
1313
1313
  return {
1314
1314
  matchedBlocks: r,
1315
1315
  extraBlocks: o,
1316
- renderBlocks: Fr(e, r),
1317
- title: ((s = e.title) == null ? void 0 : s.trim()) || ((c = t == null ? void 0 : t.title) == null ? void 0 : c.trim()) || "",
1318
- description: ((u = e.description) == null ? void 0 : u.trim()) || ((d = t == null ? void 0 : t.description) == null ? void 0 : d.trim()) || ""
1316
+ renderBlocks: Br(e, r),
1317
+ title: ((s = e.title) == null ? void 0 : s.trim()) || ((l = t == null ? void 0 : t.title) == null ? void 0 : l.trim()) || "",
1318
+ description: ((u = e.description) == null ? void 0 : u.trim()) || ((m = t == null ? void 0 : t.description) == null ? void 0 : m.trim()) || ""
1319
1319
  };
1320
1320
  }
1321
- function Er(e) {
1321
+ function Lr(e) {
1322
1322
  const { type: t, defaultValue: n } = e;
1323
1323
  return n !== void 0 ? t === "toggle" ? n === !0 || n === "true" : t === "multiselect" || t === "checkbox" || t === "resume_multiselect" || t === "case_multiselect" ? Array.isArray(n) ? n.map(String) : typeof n == "string" && n ? [n] : [] : n : t === "toggle" ? !1 : t === "multiselect" || t === "checkbox" || t === "resume_multiselect" || t === "case_multiselect" ? [] : t === "number" ? null : "";
1324
1324
  }
1325
- function Xe(e) {
1325
+ function Qe(e) {
1326
1326
  var n;
1327
1327
  const t = {};
1328
1328
  for (const r of e) {
1329
- if (!Y(r.type)) continue;
1329
+ if (!W(r.type)) continue;
1330
1330
  const o = (n = r.name) == null ? void 0 : n.trim();
1331
- o && (t[o] = Er(r));
1331
+ o && (t[o] = Lr(r));
1332
1332
  }
1333
1333
  return t;
1334
1334
  }
1335
- function zr(e) {
1335
+ function jr(e) {
1336
1336
  return e.blocks.some(
1337
1337
  (t) => {
1338
1338
  var n;
1339
- return Y(t.type) && !!((n = t.name) != null && n.trim());
1339
+ return W(t.type) && !!((n = t.name) != null && n.trim());
1340
1340
  }
1341
1341
  );
1342
1342
  }
1343
- function Rr(e) {
1343
+ function Vr(e) {
1344
1344
  return e.blocks.filter((t) => {
1345
1345
  var n;
1346
- return Se(t.type) ? !0 : Y(t.type) && !!((n = t.name) != null && n.trim());
1346
+ return Ae(t.type) ? !0 : W(t.type) && !!((n = t.name) != null && n.trim());
1347
1347
  });
1348
1348
  }
1349
- function Br(e) {
1349
+ function $r(e) {
1350
1350
  return e.blocks.filter((t) => {
1351
1351
  var n;
1352
- return Y(t.type) && ((n = t.name) == null ? void 0 : n.trim());
1352
+ return W(t.type) && ((n = t.name) == null ? void 0 : n.trim());
1353
1353
  }).map((t) => t.name.trim());
1354
1354
  }
1355
- function Pt(e) {
1355
+ function Ze(e) {
1356
1356
  return e.replace(/'/g, "'\\''");
1357
1357
  }
1358
- function Et(e, t) {
1359
- const n = (t ?? "").trim() || "<callback_url>", r = JSON.stringify(e ?? {}, null, 2);
1358
+ function wt(e) {
1359
+ var n;
1360
+ const t = (n = e == null ? void 0 : e.Authorization) == null ? void 0 : n.trim();
1361
+ return t ? ` -H 'Authorization: ${Ze(t)}' \\` : " -H 'Authorization: Bearer <token>' \\";
1362
+ }
1363
+ function Bt(e, t, n) {
1364
+ const r = (t ?? "").trim() || "<callback_url>", o = JSON.stringify(e ?? {}, null, 2);
1360
1365
  return [
1361
- `curl -X POST '${n}' \\`,
1366
+ `curl -X POST '${r}' \\`,
1362
1367
  " -H 'Content-Type: application/json' \\",
1363
- ` -d '${Pt(r)}'`
1368
+ wt(n),
1369
+ ` -d '${Ze(o)}'`
1364
1370
  ].join(`
1365
1371
  `);
1366
1372
  }
1367
- function wr(e, t) {
1373
+ function Dr(e, t) {
1368
1374
  return JSON.stringify({ ...e, ...t }, null, 2);
1369
1375
  }
1370
- function qr({
1376
+ function Hr({
1371
1377
  cardValues: e,
1372
1378
  extraValues: t = {},
1373
- callbackUrl: n
1379
+ callbackUrl: n,
1380
+ headers: r
1374
1381
  }) {
1375
- const r = (n ?? "").trim() || "<callback_url>", o = wr(e, t);
1382
+ const o = (n ?? "").trim() || "<callback_url>", i = Dr(e, t);
1376
1383
  return [
1377
- `curl -X POST '${r}' \\`,
1384
+ `curl -X POST '${o}' \\`,
1378
1385
  " -H 'Content-Type: application/json' \\",
1379
- ` -d '${Pt(o)}'`
1386
+ wt(r),
1387
+ ` -d '${Ze(i)}'`
1380
1388
  ].join(`
1381
1389
  `);
1382
1390
  }
1383
- function $o(e, t) {
1384
- const n = Ce(e);
1385
- if (!n) return Et(e, t);
1386
- const r = Xe(n.blocks);
1387
- return qr({ cardValues: r, callbackUrl: t });
1391
+ function ei(e, t, n) {
1392
+ const r = xe(e);
1393
+ if (!r) return Bt(e, t, n);
1394
+ const o = Qe(r.blocks);
1395
+ return Hr({ cardValues: o, callbackUrl: t, headers: n });
1388
1396
  }
1389
- async function zt(e, t, n) {
1397
+ async function qt(e, t, n) {
1390
1398
  const r = e.trim();
1391
1399
  if (!r)
1392
1400
  throw new Error("callback_url 为空");
@@ -1413,7 +1421,7 @@ async function zt(e, t, n) {
1413
1421
  }
1414
1422
  return { ok: i.ok, status: i.status, body: a };
1415
1423
  }
1416
- async function Do(e) {
1424
+ async function ti(e) {
1417
1425
  var n;
1418
1426
  if (typeof navigator < "u" && ((n = navigator.clipboard) != null && n.writeText)) {
1419
1427
  await navigator.clipboard.writeText(e);
@@ -1429,7 +1437,7 @@ async function Do(e) {
1429
1437
  document.body.removeChild(t);
1430
1438
  }
1431
1439
  }
1432
- async function Qe(e) {
1440
+ async function et(e) {
1433
1441
  let t;
1434
1442
  try {
1435
1443
  t = await e.json();
@@ -1442,8 +1450,8 @@ async function Qe(e) {
1442
1450
  throw new Error(t.message || `响应缺少 data (${e.status})`);
1443
1451
  return t.data;
1444
1452
  }
1445
- const Rt = "auth_user", Or = "token", jr = "answer_agent_callback_url";
1446
- function Bt(e) {
1453
+ const Ot = "auth_user", Kr = "token", Gr = "answer_agent_callback_url", Jr = "/api/v1/mock/ask_user_answer_mock";
1454
+ function Lt(e) {
1447
1455
  if (typeof window > "u") return null;
1448
1456
  try {
1449
1457
  return e === "localStorage" ? window.localStorage : window.sessionStorage;
@@ -1451,7 +1459,7 @@ function Bt(e) {
1451
1459
  return null;
1452
1460
  }
1453
1461
  }
1454
- function wt(e) {
1462
+ function jt(e) {
1455
1463
  try {
1456
1464
  const t = JSON.parse(e);
1457
1465
  return !t || typeof t != "object" || Array.isArray(t) ? null : t;
@@ -1459,34 +1467,40 @@ function wt(e) {
1459
1467
  return null;
1460
1468
  }
1461
1469
  }
1462
- function Vr(e, t) {
1463
- const n = wt(e);
1470
+ function Yr(e, t) {
1471
+ const n = jt(e);
1464
1472
  if (!n) return "";
1465
1473
  const r = n[t];
1466
1474
  return typeof r == "string" ? r.trim().replace(/^bearer\s+/i, "").trim() : "";
1467
1475
  }
1468
- function Lr(e = {}) {
1469
- const t = e.storage ?? "sessionStorage", n = e.storageKey ?? Rt, r = e.answerAgentCallbackUrlField ?? jr, o = Bt(t);
1476
+ function Wr(e = {}) {
1477
+ const t = e.storage ?? "sessionStorage", n = e.storageKey ?? Ot, r = e.answerAgentCallbackUrlField ?? Gr, o = Lt(t);
1470
1478
  if (!o) return "";
1471
1479
  const i = o.getItem(n);
1472
1480
  if (!i) return "";
1473
- const a = wt(i);
1481
+ const a = jt(i);
1474
1482
  if (!a) return "";
1475
1483
  const s = a[r];
1476
- return typeof s == "string" ? s.trim() : "";
1484
+ return (typeof s == "string" ? s.trim() : "") || Jr;
1477
1485
  }
1478
- function qt(e = {}) {
1479
- const t = e.storage ?? "sessionStorage", n = e.storageKey ?? Rt, r = e.tokenField ?? Or, o = Bt(t);
1486
+ function tt(e, t) {
1487
+ return {
1488
+ ...Vt(t),
1489
+ ...e ?? {}
1490
+ };
1491
+ }
1492
+ function Vt(e = {}) {
1493
+ const t = e.storage ?? "sessionStorage", n = e.storageKey ?? Ot, r = e.tokenField ?? Kr, o = Lt(t);
1480
1494
  if (!o) return {};
1481
1495
  const i = o.getItem(n);
1482
1496
  if (!i) return {};
1483
- const a = Vr(i, r);
1497
+ const a = Yr(i, r);
1484
1498
  return a ? { Authorization: `Bearer ${a}` } : {};
1485
1499
  }
1486
- async function Ze(e = {}) {
1487
- return e.getHeaders ? await e.getHeaders() ?? {} : qt(e.authStorage);
1500
+ async function nt(e = {}) {
1501
+ return e.getHeaders ? await e.getHeaders() ?? {} : Vt(e.authStorage);
1488
1502
  }
1489
- function $r(e = {}) {
1503
+ function Xr(e = {}) {
1490
1504
  const t = (e.baseUrl ?? "/api/v1").replace(/\/$/, ""), n = e.detailPath ?? "/dev/form/detail", r = e.fetch ?? fetch;
1491
1505
  async function o(i) {
1492
1506
  const a = new URLSearchParams();
@@ -1496,21 +1510,21 @@ function $r(e = {}) {
1496
1510
  a.set("form_unique_id", i.formUniqueId);
1497
1511
  else
1498
1512
  throw new Error("form_id 或 form_unique_id 至少传一个");
1499
- const s = await Ze(e), c = await r(`${t}${n}?${a.toString()}`, {
1513
+ const s = await nt(e), l = await r(`${t}${n}?${a.toString()}`, {
1500
1514
  method: "GET",
1501
1515
  headers: s
1502
- }), u = await Qe(c), d = _r(u.form_definition);
1516
+ }), u = await et(l), m = zr(u.form_definition);
1503
1517
  return {
1504
1518
  formUniqueId: u.form_unique_id,
1505
1519
  formId: u.form_id,
1506
1520
  disabled: u.disabled === 1,
1507
- formDefinition: d,
1508
- a2ui: Tr(u.form_definition) ?? void 0
1521
+ formDefinition: m,
1522
+ a2ui: Pr(u.form_definition) ?? void 0
1509
1523
  };
1510
1524
  }
1511
1525
  return { fetchDetail: o };
1512
1526
  }
1513
- function Dr(e) {
1527
+ function Qr(e) {
1514
1528
  if (!e || typeof e != "object" || Array.isArray(e))
1515
1529
  return e ?? null;
1516
1530
  const t = e;
@@ -1520,13 +1534,13 @@ function Dr(e) {
1520
1534
  blocks: t.blocks
1521
1535
  } : e;
1522
1536
  }
1523
- function Ot({
1537
+ function rt({
1524
1538
  context: e,
1525
1539
  payload: t,
1526
1540
  form: n,
1527
1541
  answer: r
1528
1542
  }) {
1529
- const o = Ce(t) ?? t, i = n ? Dr(n) : o;
1543
+ const o = xe(t) ?? t, i = n ? Qr(n) : o;
1530
1544
  return {
1531
1545
  mission_id: e.missionId ?? null,
1532
1546
  tenant_id: e.tenantId ?? null,
@@ -1539,20 +1553,77 @@ function Ot({
1539
1553
  answer: r
1540
1554
  };
1541
1555
  }
1542
- async function jt(e, t) {
1543
- const n = ((t == null ? void 0 : t.answerAgentCallbackUrl) ?? Lr(t == null ? void 0 : t.authStorage)).trim();
1544
- if (!n)
1545
- throw new Error("answer_agent_callback_url 未配置,无法提交");
1546
- const r = qt(t == null ? void 0 : t.authStorage);
1547
- return zt(n, e, {
1556
+ function $t(e) {
1557
+ const t = e.callback_url;
1558
+ if (typeof t != "string" || !t.trim())
1559
+ return "callback_url 为空,无法提交";
1560
+ if (e.tenant_id == null)
1561
+ return "tenant_id 缺失,无法提交";
1562
+ const n = e.tenant_user_id;
1563
+ if (typeof n != "string" || !n.trim())
1564
+ return "tenant_user_id 缺失,无法提交";
1565
+ const r = e.request_id;
1566
+ if (typeof r != "string" || !r.trim())
1567
+ return "request_id 缺失,无法提交";
1568
+ const o = e.mission_id;
1569
+ return o == null || o === "" ? "mission_id 缺失,无法提交" : null;
1570
+ }
1571
+ function ni(e) {
1572
+ return $t(
1573
+ rt({
1574
+ context: e,
1575
+ payload: {},
1576
+ answer: {}
1577
+ })
1578
+ );
1579
+ }
1580
+ const gt = "answer_agent_callback_url 未配置,无法提交";
1581
+ function Zr(e) {
1582
+ if ((e == null ? void 0 : e.answerAgentCallbackUrl) != null) {
1583
+ const n = e.answerAgentCallbackUrl.trim();
1584
+ if (!n)
1585
+ throw new Error(gt);
1586
+ return n;
1587
+ }
1588
+ const t = Wr(e == null ? void 0 : e.authStorage).trim();
1589
+ if (!t)
1590
+ throw new Error(gt);
1591
+ return t;
1592
+ }
1593
+ function Dt(e) {
1594
+ if (!e || typeof e != "object" || Array.isArray(e)) return null;
1595
+ const n = e.data;
1596
+ return !n || typeof n != "object" || Array.isArray(n) ? null : n;
1597
+ }
1598
+ function eo(e, t) {
1599
+ if (t && typeof t == "object" && t !== null && "message" in t) {
1600
+ const n = t.message;
1601
+ if (typeof n == "string" && n.trim())
1602
+ return `提交失败 (${e}): ${n.trim()}`;
1603
+ }
1604
+ return typeof t == "string" && t.trim() ? `提交失败 (${e}): ${t.trim()}` : `提交失败 (${e})`;
1605
+ }
1606
+ function to(e) {
1607
+ return `提交失败:${typeof e.error == "string" && e.error.trim() ? e.error.trim() : `回调 HTTP ${e.callback_status ?? "失败"}`}`;
1608
+ }
1609
+ function Ht(e) {
1610
+ const t = Dt(e.body);
1611
+ return (t == null ? void 0 : t.callback_ok) === !1 ? { type: "error", message: to(t) } : e.ok ? { type: "success", message: "提交成功" } : {
1612
+ type: "error",
1613
+ message: eo(e.status, e.body)
1614
+ };
1615
+ }
1616
+ async function Kt(e, t) {
1617
+ const n = $t(e);
1618
+ if (n)
1619
+ throw new Error(n);
1620
+ const r = Zr(t), o = await qt(r, e, {
1548
1621
  ...t,
1549
- headers: {
1550
- ...r,
1551
- ...(t == null ? void 0 : t.headers) ?? {}
1552
- }
1553
- });
1622
+ headers: tt(t == null ? void 0 : t.headers, t == null ? void 0 : t.authStorage)
1623
+ }), i = Dt(o.body);
1624
+ return o.ok && (i == null ? void 0 : i.callback_ok) === !1 ? { ok: !1, status: o.status, body: o.body } : o;
1554
1625
  }
1555
- function Hr(e) {
1626
+ function no(e) {
1556
1627
  return {
1557
1628
  resumeUniqueId: e.resume_unique_id,
1558
1629
  resumeId: e.resume_id,
@@ -1573,7 +1644,7 @@ function Hr(e) {
1573
1644
  }))
1574
1645
  };
1575
1646
  }
1576
- function Kr(e, t) {
1647
+ function ro(e, t) {
1577
1648
  const n = new URLSearchParams();
1578
1649
  n.set("page", String(t)), n.set("page_size", String(e.pageSize ?? 20));
1579
1650
  for (const r of e.names ?? [])
@@ -1584,27 +1655,27 @@ function Kr(e, t) {
1584
1655
  r && n.append("resume_unique_id", r);
1585
1656
  return n;
1586
1657
  }
1587
- function Gr(e = {}) {
1658
+ function oo(e = {}) {
1588
1659
  const t = (e.baseUrl ?? "/api/v1").replace(/\/$/, ""), n = e.searchPath ?? "/univ/resume/search", r = e.fetch ?? fetch;
1589
1660
  return async ({ filter: o, page: i }) => {
1590
- const a = await Ze(e), s = Kr(o, i), c = await r(`${t}${n}?${s.toString()}`, {
1661
+ const a = await nt(e), s = ro(o, i), l = await r(`${t}${n}?${s.toString()}`, {
1591
1662
  method: "GET",
1592
1663
  headers: a
1593
- }), u = await Qe(c);
1664
+ }), u = await et(l);
1594
1665
  return {
1595
- list: (u.list ?? []).map(Hr),
1666
+ list: (u.list ?? []).map(no),
1596
1667
  total: u.total ?? 0,
1597
1668
  page: u.page ?? i,
1598
1669
  pageSize: u.page_size ?? o.pageSize ?? 20
1599
1670
  };
1600
1671
  };
1601
1672
  }
1602
- function Jr(e) {
1673
+ function io(e) {
1603
1674
  var r, o, i, a;
1604
1675
  const t = !!((r = e.flowUniqueIds) != null && r.length), n = !!((o = e.agentUniqueId) != null && o.trim() && ((i = e.flowType) != null && i.trim()) && ((a = e.category) != null && a.trim()));
1605
1676
  return t || n;
1606
1677
  }
1607
- function Yr(e) {
1678
+ function ao(e) {
1608
1679
  return {
1609
1680
  caseUniqueId: e.case_unique_id,
1610
1681
  caseId: e.case_id,
@@ -1615,7 +1686,7 @@ function Yr(e) {
1615
1686
  description: e.description ?? void 0
1616
1687
  };
1617
1688
  }
1618
- function Wr(e, t, n) {
1689
+ function so(e, t, n) {
1619
1690
  var o, i, a;
1620
1691
  const r = new URLSearchParams();
1621
1692
  r.set("page", String(t)), r.set("page_size", String(e.pageSize ?? 20)), r.set("published", String(n)), (o = e.agentUniqueId) != null && o.trim() && r.set("agent_unique_id", e.agentUniqueId.trim()), (i = e.flowType) != null && i.trim() && r.set("flow_type", e.flowType.trim()), (a = e.category) != null && a.trim() && r.set("category_unique_id", e.category.trim());
@@ -1623,24 +1694,24 @@ function Wr(e, t, n) {
1623
1694
  s && r.append("flow_unique_ids", s);
1624
1695
  return r;
1625
1696
  }
1626
- function Xr(e = {}) {
1697
+ function lo(e = {}) {
1627
1698
  const t = (e.baseUrl ?? "/api/v1").replace(/\/$/, ""), n = e.listPath ?? "/univ/case/list", r = e.fetch ?? fetch, o = e.published ?? 1;
1628
1699
  return async ({ filter: i, page: a }) => {
1629
- if (!Jr(i))
1700
+ if (!io(i))
1630
1701
  return { list: [], total: 0, page: 1, pageSize: i.pageSize ?? 20 };
1631
- const s = await Ze(e), c = Wr(i, a, o), u = await r(`${t}${n}?${c.toString()}`, {
1702
+ const s = await nt(e), l = so(i, a, o), u = await r(`${t}${n}?${l.toString()}`, {
1632
1703
  method: "GET",
1633
1704
  headers: s
1634
- }), d = await Qe(u);
1705
+ }), m = await et(u);
1635
1706
  return {
1636
- list: (d.list ?? []).map(Yr),
1637
- total: d.total ?? 0,
1638
- page: d.page ?? a,
1639
- pageSize: d.page_size ?? i.pageSize ?? 20
1707
+ list: (m.list ?? []).map(ao),
1708
+ total: m.total ?? 0,
1709
+ page: m.page ?? a,
1710
+ pageSize: m.page_size ?? i.pageSize ?? 20
1640
1711
  };
1641
1712
  };
1642
1713
  }
1643
- function Ho(e = {}) {
1714
+ function ri(e = {}) {
1644
1715
  var r, o, i, a;
1645
1716
  const t = {
1646
1717
  baseUrl: e.baseUrl,
@@ -1649,22 +1720,22 @@ function Ho(e = {}) {
1649
1720
  authStorage: e.authStorage
1650
1721
  };
1651
1722
  return {
1652
- fetchDetail: $r({
1723
+ fetchDetail: Xr({
1653
1724
  ...t,
1654
1725
  detailPath: (r = e.form) == null ? void 0 : r.detailPath
1655
1726
  }).fetchDetail,
1656
- resumeSearch: Gr({
1727
+ resumeSearch: oo({
1657
1728
  ...t,
1658
1729
  searchPath: (o = e.resume) == null ? void 0 : o.searchPath
1659
1730
  }),
1660
- caseSearch: Xr({
1731
+ caseSearch: lo({
1661
1732
  ...t,
1662
1733
  listPath: (i = e.case) == null ? void 0 : i.listPath,
1663
1734
  published: (a = e.case) == null ? void 0 : a.published
1664
1735
  })
1665
1736
  };
1666
1737
  }
1667
- function Vt(e, t) {
1738
+ function Gt(e, t) {
1668
1739
  if (!t.trim()) return !0;
1669
1740
  try {
1670
1741
  return new RegExp(t).test(e);
@@ -1672,86 +1743,86 @@ function Vt(e, t) {
1672
1743
  return !0;
1673
1744
  }
1674
1745
  }
1675
- function Lt(e) {
1746
+ function Jt(e) {
1676
1747
  return e == null ? !0 : typeof e == "string" ? !e.trim() : !1;
1677
1748
  }
1678
- function Qr(e, t) {
1749
+ function co(e, t) {
1679
1750
  switch (e.type) {
1680
1751
  case "multiselect":
1681
1752
  case "checkbox":
1682
1753
  case "file":
1683
1754
  case "resume_multiselect":
1684
1755
  case "case_multiselect":
1685
- return q(t).length === 0;
1756
+ return L(t).length === 0;
1686
1757
  case "toggle":
1687
- return !le(t);
1758
+ return !ce(t);
1688
1759
  case "number":
1689
1760
  return t == null || t === "";
1690
1761
  default:
1691
- return Lt(t);
1762
+ return Jt(t);
1692
1763
  }
1693
1764
  }
1694
1765
  function Be(e, t) {
1695
1766
  return e.required === !0 || t > 0;
1696
1767
  }
1697
- function Zr(e, t) {
1768
+ function uo(e, t) {
1698
1769
  var n, r;
1699
1770
  for (const o of e) {
1700
1771
  const i = (n = o.name) == null ? void 0 : n.trim();
1701
- if (!i || Se(o.type) || he(o.type)) continue;
1772
+ if (!i || Ae(o.type) || ye(o.type)) continue;
1702
1773
  const a = t[i], s = ((r = o.label) == null ? void 0 : r.trim()) || i;
1703
- if (o.required && Qr(o, a))
1774
+ if (o.required && co(o, a))
1704
1775
  return { fieldName: i, label: s, message: `请填写「${s}」` };
1705
- if (o.type === "email" && !Lt(a)) {
1706
- const c = String(a).trim();
1707
- if (!Vt(c, We))
1776
+ if (o.type === "email" && !Jt(a)) {
1777
+ const l = String(a).trim();
1778
+ if (!Gt(l, Xe))
1708
1779
  return { fieldName: i, label: s, message: `「${s}」格式不正确` };
1709
1780
  }
1710
1781
  if (o.type === "file") {
1711
- const c = o.fileMinCount ?? 0, u = q(a).length;
1712
- if (c > 0 && u < c && Be(o, u))
1782
+ const l = o.fileMinCount ?? 0, u = L(a).length;
1783
+ if (l > 0 && u < l && Be(o, u))
1713
1784
  return {
1714
1785
  fieldName: i,
1715
1786
  label: s,
1716
- message: `「${s}」至少需要 ${c} 个文件`
1787
+ message: `「${s}」至少需要 ${l} 个文件`
1717
1788
  };
1718
1789
  }
1719
1790
  if (o.type === "resume_multiselect") {
1720
- const c = o.resumeMinCount, u = q(a).length;
1721
- if (c !== void 0 && u < c && Be(o, u))
1791
+ const l = o.resumeMinCount, u = L(a).length;
1792
+ if (l !== void 0 && u < l && Be(o, u))
1722
1793
  return {
1723
1794
  fieldName: i,
1724
1795
  label: s,
1725
- message: `「${s}」至少选择 ${c} 项`
1796
+ message: `「${s}」至少选择 ${l} 项`
1726
1797
  };
1727
1798
  }
1728
1799
  if (o.type === "case_multiselect") {
1729
- const c = o.caseMinCount, u = q(a).length;
1730
- if (c !== void 0 && u < c && Be(o, u))
1800
+ const l = o.caseMinCount, u = L(a).length;
1801
+ if (l !== void 0 && u < l && Be(o, u))
1731
1802
  return {
1732
1803
  fieldName: i,
1733
1804
  label: s,
1734
- message: `「${s}」至少选择 ${c} 项`
1805
+ message: `「${s}」至少选择 ${l} 项`
1735
1806
  };
1736
1807
  }
1737
1808
  }
1738
1809
  return null;
1739
1810
  }
1740
- const eo = {
1741
- video: un,
1742
- audio: cn,
1743
- image: ln,
1744
- file: ht,
1745
- spreadsheet: sn,
1746
- document: ft
1811
+ const mo = {
1812
+ video: yn,
1813
+ audio: gn,
1814
+ image: hn,
1815
+ file: bt,
1816
+ spreadsheet: fn,
1817
+ document: vt
1747
1818
  };
1748
- function to({
1819
+ function po({
1749
1820
  type: e,
1750
1821
  size: t = 40,
1751
1822
  className: n
1752
1823
  }) {
1753
- const r = eo[e] ?? ht;
1754
- return /* @__PURE__ */ l(
1824
+ const r = mo[e] ?? bt;
1825
+ return /* @__PURE__ */ c(
1755
1826
  r,
1756
1827
  {
1757
1828
  className: n ?? "skopon-form-file-placeholder-icon",
@@ -1760,7 +1831,7 @@ function to({
1760
1831
  }
1761
1832
  );
1762
1833
  }
1763
- const $t = "skopon-form-v0_9", no = /* @__PURE__ */ new Set([
1834
+ const Yt = "skopon-form-v0_9", fo = /* @__PURE__ */ new Set([
1764
1835
  "SkoponMedia",
1765
1836
  "SkoponSelect",
1766
1837
  "Image",
@@ -1772,24 +1843,24 @@ const $t = "skopon-form-v0_9", no = /* @__PURE__ */ new Set([
1772
1843
  "FileUpload",
1773
1844
  "TextField",
1774
1845
  "Text",
1775
- ...fr()
1776
- ]), ro = /* @__PURE__ */ new Set(["h1", "h2", "h3", "h4", "h5", "caption"]);
1777
- function ce(e) {
1778
- const t = [...fe.components.values()].find((n) => n.name === e);
1846
+ ...kr()
1847
+ ]), ho = /* @__PURE__ */ new Set(["h1", "h2", "h3", "h4", "h5", "caption"]);
1848
+ function ue(e) {
1849
+ const t = [...ge.components.values()].find((n) => n.name === e);
1779
1850
  if (!t) throw new Error(`Missing basic catalog component: ${e}`);
1780
1851
  return t.schema;
1781
1852
  }
1782
- function _(e) {
1853
+ function N(e) {
1783
1854
  return typeof e == "string" ? e : "";
1784
1855
  }
1785
- function Dt(e) {
1856
+ function Wt(e) {
1786
1857
  return Array.isArray(e) ? e.map((t) => {
1787
1858
  if (!t || typeof t != "object") return null;
1788
1859
  const n = t, r = String(n.value ?? n.label ?? ""), o = String(n.label ?? n.value ?? "");
1789
1860
  return { value: r, label: o };
1790
1861
  }).filter((t) => !!t) : [];
1791
1862
  }
1792
- function xe({
1863
+ function _e({
1793
1864
  mediaType: e,
1794
1865
  urls: t,
1795
1866
  mediaSize: n,
@@ -1797,49 +1868,49 @@ function xe({
1797
1868
  help: o,
1798
1869
  placeholder: i
1799
1870
  }) {
1800
- const a = r == null ? void 0 : r.trim(), s = o == null ? void 0 : o.trim(), c = En(n), u = (i == null ? void 0 : i.trim()) || (e === "image" ? "未设置图片 URL" : e === "video" ? "未设置视频 URL" : "未设置音频 URL");
1801
- return /* @__PURE__ */ I("div", { className: "form-block-preview", children: [
1802
- a ? /* @__PURE__ */ l("div", { className: "form-block-preview-label", children: a }) : null,
1803
- t.length === 0 ? /* @__PURE__ */ l("div", { className: "form-media-preview form-media-preview--empty", children: u }) : /* @__PURE__ */ l("div", { className: c, children: t.map((d, m) => e === "image" ? /* @__PURE__ */ l(
1871
+ const a = r == null ? void 0 : r.trim(), s = o == null ? void 0 : o.trim(), l = Ln(n), u = (i == null ? void 0 : i.trim()) || (e === "image" ? "未设置图片 URL" : e === "video" ? "未设置视频 URL" : "未设置音频 URL");
1872
+ return /* @__PURE__ */ C("div", { className: "form-block-preview", children: [
1873
+ a ? /* @__PURE__ */ c("div", { className: "form-block-preview-label", children: a }) : null,
1874
+ t.length === 0 ? /* @__PURE__ */ c("div", { className: "form-media-preview form-media-preview--empty", children: u }) : /* @__PURE__ */ c("div", { className: l, children: t.map((m, d) => e === "image" ? /* @__PURE__ */ c(
1804
1875
  "img",
1805
1876
  {
1806
- src: d,
1877
+ src: m,
1807
1878
  alt: a || "图片",
1808
1879
  className: "form-media-item"
1809
1880
  },
1810
- `media-${m}`
1811
- ) : e === "video" ? /* @__PURE__ */ l(
1881
+ `media-${d}`
1882
+ ) : e === "video" ? /* @__PURE__ */ c(
1812
1883
  "video",
1813
1884
  {
1814
- src: d,
1885
+ src: m,
1815
1886
  controls: !0,
1816
1887
  className: "form-media-item"
1817
1888
  },
1818
- `media-${m}`
1819
- ) : /* @__PURE__ */ l(
1889
+ `media-${d}`
1890
+ ) : /* @__PURE__ */ c(
1820
1891
  "audio",
1821
1892
  {
1822
- src: d,
1893
+ src: m,
1823
1894
  controls: !0,
1824
1895
  className: "form-media-item form-media-item--audio"
1825
1896
  },
1826
- `media-${m}`
1897
+ `media-${d}`
1827
1898
  )) }),
1828
- s ? /* @__PURE__ */ l(L.Text, { type: "secondary", className: "form-block-preview-help", children: s }) : null
1899
+ s ? /* @__PURE__ */ c(D.Text, { type: "secondary", className: "form-block-preview-help", children: s }) : null
1829
1900
  ] });
1830
1901
  }
1831
- function Ae(e, t) {
1832
- const n = Array.isArray(e.urls) ? e.urls.map((r) => String(r).trim()).filter(Boolean) : _(e.url).trim() ? [_(e.url).trim()] : [];
1902
+ function Te(e, t) {
1903
+ const n = Array.isArray(e.urls) ? e.urls.map((r) => String(r).trim()).filter(Boolean) : N(e.url).trim() ? [N(e.url).trim()] : [];
1833
1904
  return {
1834
1905
  mediaType: t,
1835
1906
  urls: n,
1836
- mediaSize: se(e.mediaSize),
1837
- label: _(e.label) || _(e.description),
1838
- help: _(e.help),
1839
- placeholder: _(e.placeholder)
1907
+ mediaSize: le(e.mediaSize),
1908
+ label: N(e.label) || N(e.description),
1909
+ help: N(e.help),
1910
+ placeholder: N(e.placeholder)
1840
1911
  };
1841
1912
  }
1842
- const oo = {
1913
+ const go = {
1843
1914
  name: "SkoponMedia",
1844
1915
  schema: f.object({
1845
1916
  mediaType: f.any().optional(),
@@ -1849,19 +1920,19 @@ const oo = {
1849
1920
  help: f.any().optional(),
1850
1921
  placeholder: f.any().optional()
1851
1922
  }).passthrough()
1852
- }, io = O(oo, ({ context: e }) => {
1853
- const t = e.componentModel.properties, n = _(t.mediaType);
1854
- return /* @__PURE__ */ l(xe, { ...Ae(t, n === "video" ? "video" : n === "audio" ? "audio" : "image") });
1855
- }), ao = O(
1856
- { name: "Image", schema: ce("Image") },
1857
- ({ context: e }) => /* @__PURE__ */ l(xe, { ...Ae(e.componentModel.properties, "image") })
1858
- ), so = O(
1859
- { name: "Video", schema: ce("Video") },
1860
- ({ context: e }) => /* @__PURE__ */ l(xe, { ...Ae(e.componentModel.properties, "video") })
1861
- ), lo = O(
1862
- { name: "AudioPlayer", schema: ce("AudioPlayer") },
1863
- ({ context: e }) => /* @__PURE__ */ l(xe, { ...Ae(e.componentModel.properties, "audio") })
1864
- ), co = {
1923
+ }, yo = j(go, ({ context: e }) => {
1924
+ const t = e.componentModel.properties, n = N(t.mediaType);
1925
+ return /* @__PURE__ */ c(_e, { ...Te(t, n === "video" ? "video" : n === "audio" ? "audio" : "image") });
1926
+ }), vo = j(
1927
+ { name: "Image", schema: ue("Image") },
1928
+ ({ context: e }) => /* @__PURE__ */ c(_e, { ...Te(e.componentModel.properties, "image") })
1929
+ ), bo = j(
1930
+ { name: "Video", schema: ue("Video") },
1931
+ ({ context: e }) => /* @__PURE__ */ c(_e, { ...Te(e.componentModel.properties, "video") })
1932
+ ), So = j(
1933
+ { name: "AudioPlayer", schema: ue("AudioPlayer") },
1934
+ ({ context: e }) => /* @__PURE__ */ c(_e, { ...Te(e.componentModel.properties, "audio") })
1935
+ ), ko = {
1865
1936
  name: "SkoponSelect",
1866
1937
  schema: f.object({
1867
1938
  label: f.any().optional(),
@@ -1871,87 +1942,87 @@ const oo = {
1871
1942
  value: f.any().optional()
1872
1943
  }).passthrough()
1873
1944
  };
1874
- function uo({ context: e }) {
1875
- const { interactive: t } = H(), { value: n, setValue: r } = K(e), o = e.componentModel.properties, i = _(o.label), a = _(o.placeholder), s = Dt(o.options), c = _(o.mode) === "multiple";
1876
- return R(() => {
1877
- const u = xt(n, c);
1945
+ function Ao({ context: e }) {
1946
+ const { interactive: t } = K(), { value: n, setValue: r } = G(e), o = e.componentModel.properties, i = N(o.label), a = N(o.placeholder), s = Wt(o.options), l = N(o.mode) === "multiple";
1947
+ return B(() => {
1948
+ const u = It(n, l);
1878
1949
  u !== null && r(u);
1879
- }, [c, n, r]), /* @__PURE__ */ I("div", { className: "form-block-preview", children: [
1880
- i ? /* @__PURE__ */ l("div", { className: "form-block-preview-label", children: i }) : null,
1881
- /* @__PURE__ */ l(
1882
- we,
1950
+ }, [l, n, r]), /* @__PURE__ */ C("div", { className: "form-block-preview", children: [
1951
+ i ? /* @__PURE__ */ c("div", { className: "form-block-preview-label", children: i }) : null,
1952
+ /* @__PURE__ */ c(
1953
+ qe,
1883
1954
  {
1884
- mode: c ? "multiple" : void 0,
1955
+ mode: l ? "multiple" : void 0,
1885
1956
  disabled: !t,
1886
1957
  allowClear: !0,
1887
1958
  className: "form-block-preview-control",
1888
1959
  style: { width: "100%" },
1889
- placeholder: a || (c ? "请选择多项" : "请选择"),
1960
+ placeholder: a || (l ? "请选择多项" : "请选择"),
1890
1961
  options: s,
1891
- value: c ? q(n) : oe(n),
1892
- onChange: (u) => r(c ? u ?? [] : u ?? "")
1962
+ value: l ? L(n) : ie(n),
1963
+ onChange: (u) => r(l ? u ?? [] : u ?? "")
1893
1964
  }
1894
1965
  )
1895
1966
  ] });
1896
1967
  }
1897
- const mo = O(
1898
- co,
1899
- uo
1968
+ const Co = j(
1969
+ ko,
1970
+ Ao
1900
1971
  );
1901
- function po({ context: e }) {
1902
- const { interactive: t } = H(), { value: n, setValue: r } = K(e), o = e.componentModel.properties, i = _(o.label), a = _(o.variant) || "mutuallyExclusive", s = _(o.skoponPickerType), c = _(o.placeholder), u = Dt(o.options), m = s === "select" || s === "multiselect" || s === "radio" || s === "checkbox" ? s : a === "multipleSelection" ? "checkbox" : "radio", v = m === "multiselect" || m === "checkbox";
1903
- return R(() => {
1904
- const h = xt(n, v);
1972
+ function xo({ context: e }) {
1973
+ const { interactive: t } = K(), { value: n, setValue: r } = G(e), o = e.componentModel.properties, i = N(o.label), a = N(o.variant) || "mutuallyExclusive", s = N(o.skoponPickerType), l = N(o.placeholder), u = Wt(o.options), d = s === "select" || s === "multiselect" || s === "radio" || s === "checkbox" ? s : a === "multipleSelection" ? "checkbox" : "radio", b = d === "multiselect" || d === "checkbox";
1974
+ return B(() => {
1975
+ const h = It(n, b);
1905
1976
  h !== null && r(h);
1906
- }, [v, n, r]), /* @__PURE__ */ I("div", { className: "form-block-preview", children: [
1907
- i ? /* @__PURE__ */ l("div", { className: "form-block-preview-label", children: i }) : null,
1908
- m === "select" ? /* @__PURE__ */ l(
1909
- we,
1977
+ }, [b, n, r]), /* @__PURE__ */ C("div", { className: "form-block-preview", children: [
1978
+ i ? /* @__PURE__ */ c("div", { className: "form-block-preview-label", children: i }) : null,
1979
+ d === "select" ? /* @__PURE__ */ c(
1980
+ qe,
1910
1981
  {
1911
1982
  disabled: !t,
1912
1983
  allowClear: !0,
1913
1984
  className: "form-block-preview-control",
1914
1985
  style: { width: "100%" },
1915
- placeholder: c || "请选择",
1986
+ placeholder: l || "请选择",
1916
1987
  options: u,
1917
- value: oe(n),
1988
+ value: ie(n),
1918
1989
  onChange: (h) => r(h ?? "")
1919
1990
  }
1920
- ) : m === "multiselect" ? /* @__PURE__ */ l(
1921
- we,
1991
+ ) : d === "multiselect" ? /* @__PURE__ */ c(
1992
+ qe,
1922
1993
  {
1923
1994
  mode: "multiple",
1924
1995
  disabled: !t,
1925
1996
  allowClear: !0,
1926
1997
  className: "form-block-preview-control",
1927
1998
  style: { width: "100%" },
1928
- placeholder: c || "请选择多项",
1999
+ placeholder: l || "请选择多项",
1929
2000
  options: u,
1930
- value: q(n),
2001
+ value: L(n),
1931
2002
  onChange: (h) => r(h ?? [])
1932
2003
  }
1933
- ) : m === "checkbox" ? /* @__PURE__ */ l(
1934
- Xt.Group,
2004
+ ) : d === "checkbox" ? /* @__PURE__ */ c(
2005
+ on.Group,
1935
2006
  {
1936
2007
  disabled: !t,
1937
2008
  className: "form-block-preview-control",
1938
2009
  options: u,
1939
- value: q(n),
2010
+ value: L(n),
1940
2011
  onChange: (h) => r(h)
1941
2012
  }
1942
- ) : /* @__PURE__ */ l(
1943
- Qt.Group,
2013
+ ) : /* @__PURE__ */ c(
2014
+ an.Group,
1944
2015
  {
1945
2016
  disabled: !t,
1946
2017
  className: "form-block-preview-control",
1947
2018
  options: u,
1948
- value: oe(n),
2019
+ value: ie(n),
1949
2020
  onChange: (h) => r(h.target.value)
1950
2021
  }
1951
2022
  )
1952
2023
  ] });
1953
2024
  }
1954
- const fo = O(
2025
+ const _o = j(
1955
2026
  {
1956
2027
  name: "ChoicePicker",
1957
2028
  schema: f.object({
@@ -1963,80 +2034,80 @@ const fo = O(
1963
2034
  placeholder: f.any().optional()
1964
2035
  }).passthrough()
1965
2036
  },
1966
- po
2037
+ xo
1967
2038
  );
1968
- function ho({ context: e }) {
1969
- const { interactive: t } = H(), { value: n, setValue: r } = K(e), o = e.componentModel.properties, i = _(o.label);
1970
- return /* @__PURE__ */ I("div", { className: "form-block-preview", children: [
1971
- i ? /* @__PURE__ */ l("div", { className: "form-block-preview-label", children: i }) : null,
1972
- /* @__PURE__ */ l(
1973
- Zt,
2039
+ function To({ context: e }) {
2040
+ const { interactive: t } = K(), { value: n, setValue: r } = G(e), o = e.componentModel.properties, i = N(o.label);
2041
+ return /* @__PURE__ */ C("div", { className: "form-block-preview", children: [
2042
+ i ? /* @__PURE__ */ c("div", { className: "form-block-preview-label", children: i }) : null,
2043
+ /* @__PURE__ */ c(
2044
+ sn,
1974
2045
  {
1975
2046
  disabled: !t,
1976
2047
  className: "form-block-preview-control",
1977
- checked: le(n),
2048
+ checked: ce(n),
1978
2049
  onChange: (a) => r(a)
1979
2050
  }
1980
2051
  )
1981
2052
  ] });
1982
2053
  }
1983
- const go = O(
1984
- { name: "CheckBox", schema: ce("CheckBox") },
1985
- ho
2054
+ const Io = j(
2055
+ { name: "CheckBox", schema: ue("CheckBox") },
2056
+ To
1986
2057
  );
1987
- function yo(e, t, n) {
1988
- const r = oe(e);
2058
+ function No(e, t, n) {
2059
+ const r = ie(e);
1989
2060
  if (!r) return;
1990
2061
  if (!t && n) {
1991
- const i = at(r, "HH:mm", !0);
2062
+ const i = ut(r, "HH:mm", !0);
1992
2063
  return i.isValid() ? i : void 0;
1993
2064
  }
1994
- const o = at(r);
2065
+ const o = ut(r);
1995
2066
  return o.isValid() ? o : void 0;
1996
2067
  }
1997
- function vo({ context: e }) {
1998
- const { interactive: t } = H(), { value: n, setValue: r } = K(e), o = e.componentModel.properties, i = _(o.label), a = _(o.placeholder), s = o.enableDate === !0, c = o.enableTime === !0, u = yo(n, s, c), d = (m) => {
1999
- if (!m) {
2068
+ function Mo({ context: e }) {
2069
+ const { interactive: t } = K(), { value: n, setValue: r } = G(e), o = e.componentModel.properties, i = N(o.label), a = N(o.placeholder), s = o.enableDate === !0, l = o.enableTime === !0, u = No(n, s, l), m = (d) => {
2070
+ if (!d) {
2000
2071
  r("");
2001
2072
  return;
2002
2073
  }
2003
- if (!s && c) {
2004
- r(m.format("HH:mm"));
2074
+ if (!s && l) {
2075
+ r(d.format("HH:mm"));
2005
2076
  return;
2006
2077
  }
2007
- if (s && c) {
2008
- r(m.format("YYYY-MM-DDTHH:mm"));
2078
+ if (s && l) {
2079
+ r(d.format("YYYY-MM-DDTHH:mm"));
2009
2080
  return;
2010
2081
  }
2011
- r(m.format("YYYY-MM-DD"));
2082
+ r(d.format("YYYY-MM-DD"));
2012
2083
  };
2013
- return /* @__PURE__ */ I("div", { className: "form-block-preview", children: [
2014
- i ? /* @__PURE__ */ l("div", { className: "form-block-preview-label", children: i }) : null,
2015
- !s && c ? /* @__PURE__ */ l(
2016
- en,
2084
+ return /* @__PURE__ */ C("div", { className: "form-block-preview", children: [
2085
+ i ? /* @__PURE__ */ c("div", { className: "form-block-preview-label", children: i }) : null,
2086
+ !s && l ? /* @__PURE__ */ c(
2087
+ ln,
2017
2088
  {
2018
2089
  disabled: !t,
2019
2090
  className: "form-block-preview-control",
2020
2091
  style: { width: "100%" },
2021
2092
  placeholder: a || "选择时间",
2022
2093
  value: u,
2023
- onChange: d
2094
+ onChange: m
2024
2095
  }
2025
- ) : /* @__PURE__ */ l(
2026
- tn,
2096
+ ) : /* @__PURE__ */ c(
2097
+ cn,
2027
2098
  {
2028
- showTime: s && c,
2099
+ showTime: s && l,
2029
2100
  disabled: !t,
2030
2101
  className: "form-block-preview-control",
2031
2102
  style: { width: "100%" },
2032
- placeholder: a || (s && c ? "选择日期时间" : "选择日期"),
2103
+ placeholder: a || (s && l ? "选择日期时间" : "选择日期"),
2033
2104
  value: u,
2034
- onChange: d
2105
+ onChange: m
2035
2106
  }
2036
2107
  )
2037
2108
  ] });
2038
2109
  }
2039
- const bo = O(
2110
+ const Fo = j(
2040
2111
  {
2041
2112
  name: "DateTimeInput",
2042
2113
  schema: f.object({
@@ -2049,8 +2120,8 @@ const bo = O(
2049
2120
  max: f.any().optional()
2050
2121
  }).passthrough()
2051
2122
  },
2052
- vo
2053
- ), So = {
2123
+ Mo
2124
+ ), Uo = {
2054
2125
  name: "FileUpload",
2055
2126
  schema: f.object({
2056
2127
  label: f.any().optional(),
@@ -2062,130 +2133,130 @@ const bo = O(
2062
2133
  value: f.any().optional()
2063
2134
  }).passthrough()
2064
2135
  };
2065
- function ko({ context: e }) {
2066
- const { interactive: t } = H(), { value: n, setValue: r } = K(e), o = e.componentModel.properties, i = _(o.label), a = _(o.accept), s = Array.isArray(o.fileAcceptTypes) ? o.fileAcceptTypes.map(String) : void 0, c = a ? a.split(",").map((p) => p.trim()).filter(Boolean) : void 0, u = In(s, c), d = typeof o.filePlaceholderIcon == "string" && ["video", "audio", "image", "file", "spreadsheet", "document"].includes(
2136
+ function Po({ context: e }) {
2137
+ const { interactive: t } = K(), { value: n, setValue: r } = G(e), o = e.componentModel.properties, i = N(o.label), a = N(o.accept), s = Array.isArray(o.fileAcceptTypes) ? o.fileAcceptTypes.map(String) : void 0, l = a ? a.split(",").map((p) => p.trim()).filter(Boolean) : void 0, u = En(s, l), m = typeof o.filePlaceholderIcon == "string" && ["video", "audio", "image", "file", "spreadsheet", "document"].includes(
2067
2138
  o.filePlaceholderIcon
2068
- ) ? o.filePlaceholderIcon : "document", m = typeof o.minCount == "number" ? Math.max(0, o.minCount) : 0, v = typeof o.maxCount == "number" ? o.maxCount : 1, h = v > 0, x = q(n), N = h && x.length >= v, k = x.length < m;
2069
- return /* @__PURE__ */ I("div", { className: "form-block-preview", children: [
2070
- i ? /* @__PURE__ */ l("div", { className: "form-block-preview-label", children: i }) : null,
2071
- /* @__PURE__ */ I(
2072
- _e.Dragger,
2139
+ ) ? o.filePlaceholderIcon : "document", d = typeof o.minCount == "number" ? Math.max(0, o.minCount) : 0, b = typeof o.maxCount == "number" ? o.maxCount : 1, h = b > 0, x = L(n), _ = h && x.length >= b, y = x.length < d;
2140
+ return /* @__PURE__ */ C("div", { className: "form-block-preview", children: [
2141
+ i ? /* @__PURE__ */ c("div", { className: "form-block-preview-label", children: i }) : null,
2142
+ /* @__PURE__ */ C(
2143
+ Ne.Dragger,
2073
2144
  {
2074
- disabled: !t || N,
2075
- accept: Tn(s, c),
2145
+ disabled: !t || _,
2146
+ accept: Pn(s, l),
2076
2147
  className: "form-file-upload-preview",
2077
2148
  showUploadList: t && x.length > 0,
2078
- fileList: t ? x.map((p, b) => ({
2079
- uid: `${b}-${p}`,
2149
+ fileList: t ? x.map((p, v) => ({
2150
+ uid: `${v}-${p}`,
2080
2151
  name: p,
2081
2152
  status: "done"
2082
2153
  })) : [],
2083
2154
  beforeUpload: (p) => {
2084
- if (!t) return _e.LIST_IGNORE;
2085
- const b = q(ct(e));
2086
- if (h && b.length >= v) return _e.LIST_IGNORE;
2087
- const g = h ? [...b, p.name].slice(0, v) : [...b, p.name];
2088
- return r(g), !1;
2155
+ if (!t) return Ne.LIST_IGNORE;
2156
+ const v = L(pt(e));
2157
+ if (h && v.length >= b) return Ne.LIST_IGNORE;
2158
+ const A = h ? [...v, p.name].slice(0, b) : [...v, p.name];
2159
+ return r(A), !1;
2089
2160
  },
2090
2161
  onRemove: (p) => {
2091
- const b = q(ct(e)), g = /^(\d+)-/.exec(p.uid ?? ""), C = g ? Number(g[1]) : -1, U = C >= 0 && C < b.length ? b.filter((S, A) => A !== C) : b.filter((S) => S !== p.name);
2092
- if (U.length < m) return !1;
2093
- r(U);
2162
+ const v = L(pt(e)), A = /^(\d+)-/.exec(p.uid ?? ""), g = A ? Number(A[1]) : -1, I = g >= 0 && g < v.length ? v.filter((U, V) => V !== g) : v.filter((U) => U !== p.name);
2163
+ if (I.length < d) return !1;
2164
+ r(I);
2094
2165
  },
2095
2166
  children: [
2096
- /* @__PURE__ */ l("p", { className: "form-file-upload-preview-icon", children: /* @__PURE__ */ l(to, { type: d, size: 40 }) }),
2097
- /* @__PURE__ */ l("p", { className: "form-file-upload-preview-text", children: "点击或拖拽文件到此处上传" })
2167
+ /* @__PURE__ */ c("p", { className: "form-file-upload-preview-icon", children: /* @__PURE__ */ c(po, { type: m, size: 40 }) }),
2168
+ /* @__PURE__ */ c("p", { className: "form-file-upload-preview-text", children: "点击或拖拽文件到此处上传" })
2098
2169
  ]
2099
2170
  }
2100
2171
  ),
2101
- /* @__PURE__ */ I(L.Text, { type: "secondary", className: "form-block-preview-help", children: [
2172
+ /* @__PURE__ */ C(D.Text, { type: "secondary", className: "form-block-preview-help", children: [
2102
2173
  "允许:",
2103
2174
  u ?? "全部类型",
2104
- m > 0 ? `;至少 ${m} 个文件` : "",
2105
- h ? `;最多 ${v} 个文件` : "",
2175
+ d > 0 ? `;至少 ${d} 个文件` : "",
2176
+ h ? `;最多 ${b} 个文件` : "",
2106
2177
  ";当前仅收集文件名(不含文件内容,需宿主另行上传)",
2107
- k && t ? `(当前 ${x.length} 个,未达下限)` : ""
2178
+ y && t ? `(当前 ${x.length} 个,未达下限)` : ""
2108
2179
  ] })
2109
2180
  ] });
2110
2181
  }
2111
- const Co = O(
2112
- So,
2113
- ko
2182
+ const Eo = j(
2183
+ Uo,
2184
+ Po
2114
2185
  );
2115
- function xo({ context: e }) {
2116
- const { interactive: t } = H(), { value: n, setValue: r } = K(e), o = e.componentModel.properties, i = _(o.label), a = _(o.placeholder), s = _(o.variant) || "shortText", c = _(o.validationRegexp), u = oe(n) ?? "", d = !t, [m, v] = F(""), h = (k) => {
2117
- if (!c || !k.trim()) {
2118
- v("");
2186
+ function zo({ context: e }) {
2187
+ const { interactive: t } = K(), { value: n, setValue: r } = G(e), o = e.componentModel.properties, i = N(o.label), a = N(o.placeholder), s = N(o.variant) || "shortText", l = N(o.validationRegexp), u = ie(n) ?? "", m = !t, [d, b] = P(""), h = (y) => {
2188
+ if (!l || !y.trim()) {
2189
+ b("");
2119
2190
  return;
2120
2191
  }
2121
- v(Vt(k, c) ? "" : "格式不正确");
2192
+ b(Gt(y, l) ? "" : "格式不正确");
2122
2193
  };
2123
- R(() => {
2194
+ B(() => {
2124
2195
  h(u);
2125
- }, [c, u]);
2196
+ }, [l, u]);
2126
2197
  const x = "form-block-preview-control";
2127
- let N;
2198
+ let _;
2128
2199
  if (s === "longText")
2129
- N = /* @__PURE__ */ l(
2200
+ _ = /* @__PURE__ */ c(
2130
2201
  Me.TextArea,
2131
2202
  {
2132
- disabled: d,
2203
+ disabled: m,
2133
2204
  className: x,
2134
2205
  placeholder: a || "长文本回答...",
2135
2206
  autoSize: { minRows: 2, maxRows: 6 },
2136
2207
  value: u,
2137
- status: m ? "error" : void 0,
2138
- onChange: (k) => {
2139
- const p = k.target.value;
2208
+ status: d ? "error" : void 0,
2209
+ onChange: (y) => {
2210
+ const p = y.target.value;
2140
2211
  r(p), h(p);
2141
2212
  },
2142
- onBlur: (k) => h(k.target.value)
2213
+ onBlur: (y) => h(y.target.value)
2143
2214
  }
2144
2215
  );
2145
2216
  else if (s === "number") {
2146
- const k = u && Number.isFinite(Number(u)) ? Number(u) : void 0;
2147
- N = /* @__PURE__ */ l(
2148
- nn,
2217
+ const y = u && Number.isFinite(Number(u)) ? Number(u) : void 0;
2218
+ _ = /* @__PURE__ */ c(
2219
+ un,
2149
2220
  {
2150
- disabled: d,
2221
+ disabled: m,
2151
2222
  className: x,
2152
2223
  style: { width: "100%" },
2153
2224
  placeholder: a || "数字",
2154
- value: k,
2225
+ value: y,
2155
2226
  onChange: (p) => r(p == null ? "" : String(p))
2156
2227
  }
2157
2228
  );
2158
- } else s === "obscured" ? N = /* @__PURE__ */ l(
2229
+ } else s === "obscured" ? _ = /* @__PURE__ */ c(
2159
2230
  Me.Password,
2160
2231
  {
2161
- disabled: d,
2232
+ disabled: m,
2162
2233
  className: x,
2163
2234
  placeholder: a,
2164
2235
  value: u,
2165
- onChange: (k) => r(k.target.value)
2236
+ onChange: (y) => r(y.target.value)
2166
2237
  }
2167
- ) : N = /* @__PURE__ */ l(
2238
+ ) : _ = /* @__PURE__ */ c(
2168
2239
  Me,
2169
2240
  {
2170
- disabled: d,
2241
+ disabled: m,
2171
2242
  className: x,
2172
2243
  placeholder: a,
2173
2244
  value: u,
2174
- status: m ? "error" : void 0,
2175
- onChange: (k) => {
2176
- const p = k.target.value;
2245
+ status: d ? "error" : void 0,
2246
+ onChange: (y) => {
2247
+ const p = y.target.value;
2177
2248
  r(p), h(p);
2178
2249
  },
2179
- onBlur: (k) => h(k.target.value)
2250
+ onBlur: (y) => h(y.target.value)
2180
2251
  }
2181
2252
  );
2182
- return /* @__PURE__ */ I("div", { className: "form-block-preview", children: [
2183
- i ? /* @__PURE__ */ l("div", { className: "form-block-preview-label", children: i }) : null,
2184
- N,
2185
- m ? /* @__PURE__ */ l(L.Text, { type: "danger", className: "form-block-preview-help", children: m }) : null
2253
+ return /* @__PURE__ */ C("div", { className: "form-block-preview", children: [
2254
+ i ? /* @__PURE__ */ c("div", { className: "form-block-preview-label", children: i }) : null,
2255
+ _,
2256
+ d ? /* @__PURE__ */ c(D.Text, { type: "danger", className: "form-block-preview-help", children: d }) : null
2186
2257
  ] });
2187
2258
  }
2188
- const Ao = O(
2259
+ const Ro = j(
2189
2260
  {
2190
2261
  name: "TextField",
2191
2262
  schema: f.object({
@@ -2196,37 +2267,37 @@ const Ao = O(
2196
2267
  value: f.any().optional()
2197
2268
  }).passthrough()
2198
2269
  },
2199
- xo
2270
+ zo
2200
2271
  );
2201
- function To({ context: e }) {
2202
- const t = e.componentModel.properties, n = _(t.text), r = _(t.variant) || "body";
2203
- return ro.has(r) ? r === "caption" ? /* @__PURE__ */ l(L.Text, { type: "secondary", className: "form-block-preview-paragraph", children: /* @__PURE__ */ l("em", { children: n }) }) : /* @__PURE__ */ l(r, { className: "form-block-preview-heading", children: n }) : /* @__PURE__ */ l(L.Paragraph, { className: "form-block-preview-paragraph", children: n });
2272
+ function wo({ context: e }) {
2273
+ const t = e.componentModel.properties, n = N(t.text), r = N(t.variant) || "body";
2274
+ return ho.has(r) ? r === "caption" ? /* @__PURE__ */ c(D.Text, { type: "secondary", className: "form-block-preview-paragraph", children: /* @__PURE__ */ c("em", { children: n }) }) : /* @__PURE__ */ c(r, { className: "form-block-preview-heading", children: n }) : /* @__PURE__ */ c(D.Paragraph, { className: "form-block-preview-paragraph", children: n });
2204
2275
  }
2205
- const Io = O(
2206
- { name: "Text", schema: ce("Text") },
2207
- To
2276
+ const Bo = j(
2277
+ { name: "Text", schema: ue("Text") },
2278
+ wo
2208
2279
  );
2209
- function Ht() {
2280
+ function Xt() {
2210
2281
  const t = [
2211
- ...[...fe.components.values()].filter(
2212
- (r) => !no.has(r.name)
2282
+ ...[...ge.components.values()].filter(
2283
+ (r) => !fo.has(r.name)
2213
2284
  ),
2214
- io,
2215
- mo,
2216
- ao,
2217
- so,
2218
- lo,
2219
- fo,
2220
- go,
2221
- bo,
2285
+ yo,
2222
2286
  Co,
2223
- Ao,
2287
+ vo,
2288
+ bo,
2289
+ So,
2290
+ _o,
2224
2291
  Io,
2225
- ...pr()
2226
- ], n = [...fe.functions.values()];
2227
- return new mn($t, t, n, fe.themeSchema);
2228
- }
2229
- const D = {
2292
+ Fo,
2293
+ Eo,
2294
+ Ro,
2295
+ Bo,
2296
+ ...Sr()
2297
+ ], n = [...ge.functions.values()];
2298
+ return new vn(Yt, t, n, ge.themeSchema);
2299
+ }
2300
+ const H = {
2230
2301
  jade9: "#29a383",
2231
2302
  jade10: "#26997b",
2232
2303
  jade11: "#208368",
@@ -2238,20 +2309,20 @@ const D = {
2238
2309
  primaryHover: "#26997b",
2239
2310
  primaryActive: "#1d3b31",
2240
2311
  onPrimary: "#ffffff"
2241
- }, _o = {
2312
+ }, qo = {
2242
2313
  cssVar: { key: "vidtempl" },
2243
2314
  token: {
2244
- colorPrimary: D.primarySolid,
2245
- colorPrimaryHover: D.primaryHover,
2246
- colorPrimaryActive: D.primaryActive,
2247
- colorLink: D.primary,
2248
- colorLinkHover: D.primaryHover,
2249
- colorSuccess: D.jade9,
2315
+ colorPrimary: H.primarySolid,
2316
+ colorPrimaryHover: H.primaryHover,
2317
+ colorPrimaryActive: H.primaryActive,
2318
+ colorLink: H.primary,
2319
+ colorLinkHover: H.primaryHover,
2320
+ colorSuccess: H.jade9,
2250
2321
  colorWarning: "#f5a623",
2251
2322
  gold6: "#f5a623",
2252
2323
  gold7: "#e6951a",
2253
2324
  colorError: "#e5484d",
2254
- colorInfo: D.primary,
2325
+ colorInfo: H.primary,
2255
2326
  colorBgLayout: "#f9f9f9",
2256
2327
  colorBgContainer: "#ffffff",
2257
2328
  colorBgElevated: "#ffffff",
@@ -2311,7 +2382,7 @@ const D = {
2311
2382
  },
2312
2383
  Tag: {
2313
2384
  defaultBg: "#e6f7ed",
2314
- defaultColor: D.primary,
2385
+ defaultColor: H.primary,
2315
2386
  fontSizeSM: 13
2316
2387
  },
2317
2388
  Form: {
@@ -2323,14 +2394,14 @@ const D = {
2323
2394
  }
2324
2395
  }
2325
2396
  };
2326
- function J({
2397
+ function Y({
2327
2398
  children: e,
2328
2399
  locale: t,
2329
2400
  theme: n
2330
2401
  }) {
2331
- return /* @__PURE__ */ l(rn, { theme: n ?? _o, locale: t, children: e });
2402
+ return /* @__PURE__ */ c(mn, { theme: n ?? qo, locale: t, children: e });
2332
2403
  }
2333
- const Mo = Jt(
2404
+ const Oo = tn(
2334
2405
  function({
2335
2406
  doc: t,
2336
2407
  surfaceId: n = "skopon-form",
@@ -2339,59 +2410,59 @@ const Mo = Jt(
2339
2410
  fieldNames: i = [],
2340
2411
  resumeSearch: a = null,
2341
2412
  caseSearch: s = null,
2342
- wrapProvider: c = !0
2413
+ wrapProvider: l = !0
2343
2414
  }, u) {
2344
- R(() => {
2345
- bt(), vt();
2415
+ B(() => {
2416
+ Ct(), At();
2346
2417
  }, []);
2347
- const d = j(null), m = j(i);
2348
- m.current = i;
2349
- const v = B(() => {
2350
- if ($e(t)) return "";
2418
+ const m = O(null), d = O(i);
2419
+ d.current = i;
2420
+ const b = w(() => {
2421
+ if (De(t)) return "";
2351
2422
  try {
2352
2423
  return JSON.stringify(t);
2353
2424
  } catch {
2354
2425
  return String(t);
2355
2426
  }
2356
- }, [t]), h = B(() => {
2357
- if (!v)
2427
+ }, [t]), h = w(() => {
2428
+ if (!b)
2358
2429
  return { surfaces: [], processor: null };
2359
2430
  try {
2360
- const p = JSON.parse(v), b = new yt([Ht()]), g = Ar(p, {
2431
+ const p = JSON.parse(b), v = new kt([Xt()]), A = Ur(p, {
2361
2432
  surfaceId: n,
2362
- catalogId: $t
2433
+ catalogId: Yt
2363
2434
  });
2364
- return b.processMessages(g), {
2365
- surfaces: Array.from(b.model.surfacesMap.values()),
2366
- processor: b
2435
+ return v.processMessages(A), {
2436
+ surfaces: Array.from(v.model.surfacesMap.values()),
2437
+ processor: v
2367
2438
  };
2368
2439
  } catch (p) {
2369
2440
  return console.error("[SkoponFormRenderer] 渲染 A2UI surface 失败", p), { surfaces: [], processor: null };
2370
2441
  }
2371
- }, [v, n]), { surfaces: x, processor: N } = h;
2372
- if (d.current = N, Yt(
2442
+ }, [b, n]), { surfaces: x, processor: _ } = h;
2443
+ if (m.current = _, nn(
2373
2444
  u,
2374
2445
  () => ({
2375
2446
  getValues(p) {
2376
- const b = d.current;
2377
- if (!b) return {};
2378
- const g = (p ?? m.current).map((C) => C.trim()).filter(Boolean);
2379
- return Mr(b, n, g);
2447
+ const v = m.current;
2448
+ if (!v) return {};
2449
+ const A = (p ?? d.current).map((g) => g.trim()).filter(Boolean);
2450
+ return Rr(v, n, A);
2380
2451
  }
2381
2452
  }),
2382
2453
  [n]
2383
2454
  ), x.length === 0) {
2384
- const p = /* @__PURE__ */ l(je, { resumeSearch: a, children: /* @__PURE__ */ l(Oe, { caseSearch: s, children: /* @__PURE__ */ l(qe, { interactive: o, children: r }) }) });
2385
- return c ? /* @__PURE__ */ l(J, { children: p }) : p;
2455
+ const p = /* @__PURE__ */ c(je, { resumeSearch: a, children: /* @__PURE__ */ c(Le, { caseSearch: s, children: /* @__PURE__ */ c(Oe, { interactive: o, children: r }) }) });
2456
+ return l ? /* @__PURE__ */ c(Y, { children: p }) : p;
2386
2457
  }
2387
- const k = /* @__PURE__ */ l(je, { resumeSearch: a, children: /* @__PURE__ */ l(Oe, { caseSearch: s, children: /* @__PURE__ */ l(qe, { interactive: o, children: /* @__PURE__ */ l("div", { className: "a2ui-surface a2ui-container", children: x.map((p) => /* @__PURE__ */ l(gt, { surface: p }, p.id)) }) }) }) });
2388
- return c ? /* @__PURE__ */ l(J, { children: k }) : k;
2458
+ const y = /* @__PURE__ */ c(je, { resumeSearch: a, children: /* @__PURE__ */ c(Le, { caseSearch: s, children: /* @__PURE__ */ c(Oe, { interactive: o, children: /* @__PURE__ */ c("div", { className: "a2ui-surface a2ui-container", children: x.map((p) => /* @__PURE__ */ c(St, { surface: p }, p.id)) }) }) }) });
2459
+ return l ? /* @__PURE__ */ c(Y, { children: y }) : y;
2389
2460
  }
2390
2461
  );
2391
- function pe() {
2392
- return new yt([Ht()]);
2462
+ function he() {
2463
+ return new kt([Xt()]);
2393
2464
  }
2394
- function Ko({
2465
+ function oi({
2395
2466
  messages: e,
2396
2467
  surfaceId: t = "skopon-form-stream",
2397
2468
  emptyHint: n = null,
@@ -2399,149 +2470,154 @@ function Ko({
2399
2470
  resumeSearch: o = null,
2400
2471
  caseSearch: i = null
2401
2472
  }) {
2402
- R(() => {
2403
- bt(), vt();
2473
+ B(() => {
2474
+ Ct(), At();
2404
2475
  }, []);
2405
- const a = j(null);
2406
- a.current === null && (a.current = pe());
2407
- const s = j(0), c = j(""), u = j(!0), d = j(t);
2408
- function m(p, b) {
2409
- a.current = p, s.current = b.length, c.current = JSON.stringify(b), u.current && (x(p), k(Array.from(p.model.surfacesMap.values())));
2476
+ const a = O(null);
2477
+ a.current === null && (a.current = he());
2478
+ const s = O(0), l = O(""), u = O(!0), m = O(t);
2479
+ function d(p, v) {
2480
+ a.current = p, s.current = v.length, l.current = JSON.stringify(v), u.current && (x(p), y(Array.from(p.model.surfacesMap.values())));
2410
2481
  }
2411
- function v(p, b) {
2412
- if (b <= 0) return !1;
2413
- const g = JSON.stringify(p.slice(0, b)), C = c.current;
2414
- if (!C) return !0;
2482
+ function b(p, v) {
2483
+ if (v <= 0) return !1;
2484
+ const A = JSON.stringify(p.slice(0, v)), g = l.current;
2485
+ if (!g) return !0;
2415
2486
  try {
2416
- const U = JSON.parse(C);
2417
- return JSON.stringify(U.slice(0, b)) !== g;
2487
+ const I = JSON.parse(g);
2488
+ return JSON.stringify(I.slice(0, v)) !== A;
2418
2489
  } catch {
2419
2490
  return !0;
2420
2491
  }
2421
2492
  }
2422
- const [h, x] = F(
2493
+ const [h, x] = P(
2423
2494
  () => a.current
2424
- ), [N, k] = F(
2495
+ ), [_, y] = P(
2425
2496
  () => Array.from(
2426
2497
  a.current.model.surfacesMap.values()
2427
2498
  )
2428
2499
  );
2429
- return R(() => (u.current = !0, () => {
2500
+ return B(() => (u.current = !0, () => {
2430
2501
  u.current = !1;
2431
- }), []), R(() => {
2502
+ }), []), B(() => {
2432
2503
  a.current = h;
2433
- }, [h]), R(() => {
2504
+ }, [h]), B(() => {
2434
2505
  const p = () => {
2435
- u.current && k(Array.from(h.model.surfacesMap.values()));
2436
- }, b = h.onSurfaceCreated(p), g = h.onSurfaceDeleted(p);
2506
+ u.current && y(Array.from(h.model.surfacesMap.values()));
2507
+ }, v = h.onSurfaceCreated(p), A = h.onSurfaceDeleted(p);
2437
2508
  return () => {
2438
- b.unsubscribe(), g.unsubscribe();
2509
+ v.unsubscribe(), A.unsubscribe();
2439
2510
  };
2440
- }, [h]), R(() => {
2511
+ }, [h]), B(() => {
2441
2512
  let p = !1;
2442
- const b = d.current !== t;
2443
- if (d.current = t, b) {
2444
- const S = pe();
2445
- return Array.isArray(e) && e.length > 0 ? (S.processMessages(e), p || m(S, e)) : (a.current = S, s.current = 0, c.current = "", p || (x(S), k([]))), () => {
2513
+ const v = m.current !== t;
2514
+ if (m.current = t, v) {
2515
+ const U = he();
2516
+ return Array.isArray(e) && e.length > 0 ? (U.processMessages(e), p || d(U, e)) : (a.current = U, s.current = 0, l.current = "", p || (x(U), y([]))), () => {
2446
2517
  p = !0;
2447
2518
  };
2448
2519
  }
2449
2520
  if (!Array.isArray(e) || e.length === 0) {
2450
2521
  if (s.current > 0) {
2451
- const S = pe();
2452
- a.current = S, s.current = 0, c.current = "", p || (x(S), k([]));
2522
+ const U = he();
2523
+ a.current = U, s.current = 0, l.current = "", p || (x(U), y([]));
2453
2524
  }
2454
2525
  return () => {
2455
2526
  p = !0;
2456
2527
  };
2457
2528
  }
2458
- const g = a.current, C = s.current;
2459
- if (e.length < C || v(e, C)) {
2460
- const S = pe();
2461
- return S.processMessages(e), p || m(S, e), () => {
2529
+ const A = a.current, g = s.current;
2530
+ if (e.length < g || b(e, g)) {
2531
+ const U = he();
2532
+ return U.processMessages(e), p || d(U, e), () => {
2462
2533
  p = !0;
2463
2534
  };
2464
2535
  }
2465
- const U = e.slice(C);
2466
- return U.length === 0 ? () => {
2536
+ const I = e.slice(g);
2537
+ return I.length === 0 ? () => {
2467
2538
  p = !0;
2468
- } : (g.processMessages(U), s.current = e.length, c.current = JSON.stringify(e), p || k(Array.from(g.model.surfacesMap.values())), () => {
2539
+ } : (A.processMessages(I), s.current = e.length, l.current = JSON.stringify(e), p || y(Array.from(A.model.surfacesMap.values())), () => {
2469
2540
  p = !0;
2470
2541
  });
2471
- }, [e, t]), N.length === 0 ? /* @__PURE__ */ l(J, { children: n }) : /* @__PURE__ */ l(J, { children: /* @__PURE__ */ l(je, { resumeSearch: o, children: /* @__PURE__ */ l(Oe, { caseSearch: i, children: /* @__PURE__ */ l(qe, { interactive: r, children: /* @__PURE__ */ l("div", { className: "a2ui-surface a2ui-container", children: N.map((p) => /* @__PURE__ */ l(gt, { surface: p }, p.id)) }) }) }) }) });
2472
- }
2473
- function No(e, t) {
2474
- if (t && typeof t == "object" && t !== null && "message" in t) {
2475
- const n = t.message;
2476
- if (typeof n == "string" && n.trim())
2477
- return `提交失败 (${e}): ${n.trim()}`;
2478
- }
2479
- return typeof t == "string" && t.trim() ? `提交失败 (${e}): ${t.trim()}` : `提交失败 (${e})`;
2542
+ }, [e, t]), _.length === 0 ? /* @__PURE__ */ c(Y, { children: n }) : /* @__PURE__ */ c(Y, { children: /* @__PURE__ */ c(je, { resumeSearch: o, children: /* @__PURE__ */ c(Le, { caseSearch: i, children: /* @__PURE__ */ c(Oe, { interactive: r, children: /* @__PURE__ */ c("div", { className: "a2ui-surface a2ui-container", children: _.map((p) => /* @__PURE__ */ c(St, { surface: p }, p.id)) }) }) }) }) });
2480
2543
  }
2481
- function Fo(e) {
2482
- const t = Ce(e);
2483
- return t ? Xe(t.blocks) : e && typeof e == "object" && !Array.isArray(e) ? e : {};
2544
+ function Lo(e) {
2545
+ const t = xe(e);
2546
+ return t ? Qe(t.blocks) : e && typeof e == "object" && !Array.isArray(e) ? e : {};
2484
2547
  }
2485
- function Uo({
2548
+ function jo({
2486
2549
  payload: e,
2487
2550
  callbackUrl: t,
2488
2551
  title: n,
2489
2552
  unpublishedFormId: r,
2490
2553
  incompleteFormId: o,
2491
2554
  answerAgentContext: i,
2492
- onNotify: a
2555
+ submitHeaders: a,
2556
+ onNotify: s
2493
2557
  }) {
2494
- const [s, c] = F(!1), u = B(
2495
- () => Et(e, t),
2496
- [e, t]
2497
- ), d = B(
2558
+ const [l, u] = P(!1), m = O(!0);
2559
+ B(() => (m.current = !0, () => {
2560
+ m.current = !1;
2561
+ }), []);
2562
+ const d = w(
2563
+ () => tt(a),
2564
+ [a]
2565
+ ), b = w(
2566
+ () => Bt(e, t, d),
2567
+ [e, t, d]
2568
+ ), h = w(
2498
2569
  () => ({
2499
2570
  ...i,
2500
2571
  callbackUrl: (i == null ? void 0 : i.callbackUrl) ?? t ?? null
2501
2572
  }),
2502
2573
  [i, t]
2503
2574
  );
2504
- async function m() {
2505
- if (!s) {
2506
- c(!0);
2575
+ async function x() {
2576
+ if (!l) {
2577
+ u(!0);
2507
2578
  try {
2508
- const v = Fo(e), h = Ot({
2509
- context: d,
2579
+ const _ = Lo(e), y = rt({
2580
+ context: h,
2510
2581
  payload: e,
2511
- answer: v
2512
- }), x = await jt(h);
2513
- x.ok ? a == null || a("success", "提交成功") : a == null || a("error", No(x.status, x.body));
2514
- } catch (v) {
2515
- const h = v instanceof Error ? v.message : "提交失败";
2516
- a == null || a("error", h);
2582
+ answer: _
2583
+ }), p = await Kt(y, {
2584
+ headers: d
2585
+ });
2586
+ if (!m.current) return;
2587
+ const v = Ht(p);
2588
+ s == null || s(v.type, v.message);
2589
+ } catch (_) {
2590
+ if (!m.current) return;
2591
+ const y = _ instanceof Error ? _.message : "提交失败";
2592
+ s == null || s("error", y);
2517
2593
  } finally {
2518
- c(!1);
2594
+ m.current && u(!1);
2519
2595
  }
2520
2596
  }
2521
2597
  }
2522
- return /* @__PURE__ */ I("div", { className: "ask-user-curl-card", children: [
2523
- /* @__PURE__ */ I("div", { className: "ask-user-curl-card-header", children: [
2524
- /* @__PURE__ */ I("div", { className: "ask-user-curl-card-header-title", children: [
2525
- /* @__PURE__ */ l(L.Text, { type: "secondary", children: n ?? "curl 命令" }),
2526
- r ? /* @__PURE__ */ l(ne, { title: r, children: /* @__PURE__ */ l(re, { className: "ask-user-curl-unpublished-tag", children: "卡片 ID 未发布" }) }) : null,
2527
- o ? /* @__PURE__ */ l(ne, { title: o, children: /* @__PURE__ */ l(re, { className: "ask-user-curl-incomplete-tag", children: "卡片 ID 待补足" }) }) : null
2598
+ return /* @__PURE__ */ C("div", { className: "ask-user-curl-card", children: [
2599
+ /* @__PURE__ */ C("div", { className: "ask-user-curl-card-header", children: [
2600
+ /* @__PURE__ */ C("div", { className: "ask-user-curl-card-header-title", children: [
2601
+ /* @__PURE__ */ c(D.Text, { type: "secondary", children: n ?? "curl 命令" }),
2602
+ r ? /* @__PURE__ */ c(re, { title: r, children: /* @__PURE__ */ c(oe, { className: "ask-user-curl-unpublished-tag", children: "卡片 ID 未发布" }) }) : null,
2603
+ o ? /* @__PURE__ */ c(re, { title: o, children: /* @__PURE__ */ c(oe, { className: "ask-user-curl-incomplete-tag", children: "卡片 ID 待补足" }) }) : null
2528
2604
  ] }),
2529
- /* @__PURE__ */ l(ne, { title: "提交到 answer_agent_callback_url", children: /* @__PURE__ */ l(
2530
- be,
2605
+ /* @__PURE__ */ c(re, { title: "提交到 answer_agent_callback_url", children: /* @__PURE__ */ c(
2606
+ ke,
2531
2607
  {
2532
2608
  size: "small",
2533
2609
  type: "text",
2534
- loading: s,
2535
- disabled: s,
2536
- onClick: () => void m(),
2610
+ loading: l,
2611
+ disabled: l,
2612
+ onClick: () => void x(),
2537
2613
  children: "提交"
2538
2614
  }
2539
2615
  ) })
2540
2616
  ] }),
2541
- /* @__PURE__ */ l("pre", { className: "skopon-form-curl-json", children: u })
2617
+ /* @__PURE__ */ c("pre", { className: "skopon-form-curl-json", children: b })
2542
2618
  ] });
2543
2619
  }
2544
- function dt(e, t) {
2620
+ function Vo(e, t) {
2545
2621
  if (t && typeof t == "object" && t !== null && "message" in t) {
2546
2622
  const n = t.message;
2547
2623
  if (typeof n == "string" && n.trim())
@@ -2549,137 +2625,147 @@ function dt(e, t) {
2549
2625
  }
2550
2626
  return typeof t == "string" && t.trim() ? `提交失败 (${e}): ${t.trim()}` : `提交失败 (${e})`;
2551
2627
  }
2552
- function Go({
2628
+ function ii({
2553
2629
  payload: e,
2554
2630
  formUniqueId: t,
2555
2631
  callbackUrl: n,
2556
2632
  submitMode: r = "curl",
2557
2633
  answerAgentContext: o,
2558
- fetchFormDetail: i,
2559
- onNotify: a,
2560
- resumeSearch: s = null,
2561
- caseSearch: c = null
2634
+ submitHeaders: i,
2635
+ fetchFormDetail: a,
2636
+ onNotify: s,
2637
+ resumeSearch: l = null,
2638
+ caseSearch: u = null
2562
2639
  }) {
2563
- const [u, d] = F(null), [m, v] = F(!1), [h, x] = F(!0), [N, k] = F(!1), p = j(null), b = j(!0), g = j(a);
2564
- g.current = a;
2565
- const C = (t == null ? void 0 : t.trim()) ?? "", U = B(
2640
+ const [m, d] = P(null), [b, h] = P(!1), [x, _] = P(!0), [y, p] = P(!1), v = O(null), A = O(!0), g = O(s);
2641
+ g.current = s;
2642
+ const I = (t == null ? void 0 : t.trim()) ?? "", U = w(
2643
+ () => tt(i),
2644
+ [i]
2645
+ ), V = w(
2566
2646
  () => ({
2567
2647
  ...o,
2568
2648
  callbackUrl: (o == null ? void 0 : o.callbackUrl) ?? n ?? null
2569
2649
  }),
2570
2650
  [o, n]
2571
2651
  );
2572
- R(() => (b.current = !0, () => {
2573
- b.current = !1;
2574
- }), []), R(() => {
2575
- let y = !1;
2576
- return C ? (x(!0), v(!1), i({ formUniqueId: C }).then((T) => {
2577
- y || (v(!!T.disabled), d(T.formDefinition ?? null));
2578
- }).catch((T) => {
2579
- var E;
2580
- if (!y) {
2581
- v(!1), d(null);
2582
- const M = T instanceof Error ? T.message : "获取表单定义失败";
2583
- (E = g.current) == null || E.call(g, "error", M);
2652
+ B(() => (A.current = !0, () => {
2653
+ A.current = !1;
2654
+ }), []), B(() => {
2655
+ let T = !1;
2656
+ return I ? (_(!0), h(!1), a({ formUniqueId: I }).then((S) => {
2657
+ T || (h(!!S.disabled), d(S.formDefinition ?? null));
2658
+ }).catch((S) => {
2659
+ var ee;
2660
+ if (!T) {
2661
+ h(!1), d(null);
2662
+ const me = S instanceof Error ? S.message : "获取表单定义失败";
2663
+ (ee = g.current) == null || ee.call(g, "error", me);
2584
2664
  }
2585
2665
  }).finally(() => {
2586
- y || x(!1);
2666
+ T || _(!1);
2587
2667
  }), () => {
2588
- y = !0;
2589
- }) : (x(!1), v(!1), d(null), () => {
2590
- y = !0;
2668
+ T = !0;
2669
+ }) : (_(!1), h(!1), d(null), () => {
2670
+ T = !0;
2591
2671
  });
2592
- }, [C, i]);
2593
- const S = B(() => Ce(e), [e]), A = B(() => S ? Pr(S, u ?? void 0) : null, [S, u]), X = (A == null ? void 0 : A.matchedBlocks) ?? [], V = !!(S && zr(S) && X.length === 0), P = B(() => V && S ? Rr(S) : A && A.renderBlocks.length > 0 ? A.renderBlocks : [], [A, V, S]), w = B(
2594
- () => V ? {} : Xe((A == null ? void 0 : A.extraBlocks) ?? []),
2595
- [V, A]
2596
- ), $ = B(() => V && S ? Br(S) : P.filter((y) => {
2597
- var T;
2598
- return (T = y.name) == null ? void 0 : T.trim();
2599
- }).map((y) => y.name.trim()), [V, S, P]), G = B(() => {
2600
- if (P.length === 0) return null;
2601
- const y = (A == null ? void 0 : A.title) ?? (S == null ? void 0 : S.title) ?? "", T = (A == null ? void 0 : A.description) ?? (S == null ? void 0 : S.description) ?? "";
2602
- return Ir({ title: y, description: T }, P);
2603
- }, [A, S, P]), Q = C ? `ask-user-${C}` : "ask-user-payload";
2604
- if (h)
2605
- return /* @__PURE__ */ l(J, { children: /* @__PURE__ */ l("div", { className: "ask-user-form-card", children: /* @__PURE__ */ l(Ke, { size: "small" }) }) });
2606
- if (!S || P.length === 0)
2607
- return /* @__PURE__ */ l(J, { children: /* @__PURE__ */ l(
2608
- Uo,
2672
+ }, [I, a]);
2673
+ const M = w(() => xe(e), [e]), F = w(() => M ? Or(M, m ?? void 0) : null, [M, m]), $ = (F == null ? void 0 : F.matchedBlocks) ?? [], E = !!(M && jr(M) && $.length === 0), q = w(() => E && M ? Vr(M) : F && F.renderBlocks.length > 0 ? F.renderBlocks : [], [F, E, M]), J = w(
2674
+ () => E ? {} : Qe((F == null ? void 0 : F.extraBlocks) ?? []),
2675
+ [E, F]
2676
+ ), X = w(() => E && M ? $r(M) : q.filter((T) => {
2677
+ var S;
2678
+ return (S = T.name) == null ? void 0 : S.trim();
2679
+ }).map((T) => T.name.trim()), [E, M, q]), Z = w(() => {
2680
+ if (q.length === 0) return null;
2681
+ const T = (F == null ? void 0 : F.title) ?? (M == null ? void 0 : M.title) ?? "", S = (F == null ? void 0 : F.description) ?? (M == null ? void 0 : M.description) ?? "";
2682
+ return Er({ title: T, description: S }, q);
2683
+ }, [F, M, q]), k = I ? `ask-user-${I}` : "ask-user-payload";
2684
+ if (x)
2685
+ return /* @__PURE__ */ c(Y, { children: /* @__PURE__ */ c("div", { className: "ask-user-form-card", children: /* @__PURE__ */ c(Ge, { size: "small" }) }) });
2686
+ if (!M || q.length === 0)
2687
+ return /* @__PURE__ */ c(Y, { children: /* @__PURE__ */ c(
2688
+ jo,
2609
2689
  {
2610
2690
  payload: e,
2611
2691
  callbackUrl: n,
2612
- answerAgentContext: U,
2613
- unpublishedFormId: m && C ? C : void 0,
2614
- onNotify: a
2692
+ answerAgentContext: V,
2693
+ submitHeaders: i,
2694
+ unpublishedFormId: b && I ? I : void 0,
2695
+ onNotify: s
2615
2696
  }
2616
2697
  ) });
2617
- async function Z() {
2618
- var y, T, E, M, et, tt, nt, rt;
2619
- if (!N) {
2620
- k(!0);
2698
+ async function R() {
2699
+ var T, S, ee, me, ot, it, at;
2700
+ if (!y) {
2701
+ p(!0);
2621
2702
  try {
2622
- const ee = ((y = p.current) == null ? void 0 : y.getValues($)) ?? {}, ue = Zr(P, ee);
2623
- if (ue) {
2624
- (T = g.current) == null || T.call(g, "error", ue.message);
2703
+ const te = ((T = v.current) == null ? void 0 : T.getValues(X)) ?? {}, de = uo(q, te);
2704
+ if (de) {
2705
+ (S = g.current) == null || S.call(g, "error", de.message);
2625
2706
  return;
2626
2707
  }
2627
- const ot = { ...ee, ...w };
2708
+ const st = { ...te, ...J };
2628
2709
  if (r === "post") {
2629
- const it = (n ?? "").trim();
2630
- if (!it) {
2631
- (E = g.current) == null || E.call(g, "error", "callback_url 为空,无法提交");
2710
+ const ct = (n ?? "").trim();
2711
+ if (!ct) {
2712
+ (ee = g.current) == null || ee.call(g, "error", "callback_url 为空,无法提交");
2632
2713
  return;
2633
2714
  }
2634
- const Ie = await zt(it, ot);
2635
- if (!b.current) return;
2636
- Ie.ok ? (M = g.current) == null || M.call(g, "success", "提交成功") : (et = g.current) == null || et.call(g, "error", dt(Ie.status, Ie.body));
2715
+ const Ie = await qt(ct, st, {
2716
+ headers: U
2717
+ });
2718
+ if (!A.current) return;
2719
+ Ie.ok ? (me = g.current) == null || me.call(g, "success", "提交成功") : (ot = g.current) == null || ot.call(g, "error", Vo(Ie.status, Ie.body));
2637
2720
  return;
2638
2721
  }
2639
- const Kt = Ot({
2640
- context: U,
2722
+ const Qt = rt({
2723
+ context: V,
2641
2724
  payload: e,
2642
- form: u ?? S,
2643
- answer: ot
2644
- }), Te = await jt(Kt);
2645
- if (!b.current) return;
2646
- Te.ok ? (tt = g.current) == null || tt.call(g, "success", "提交成功") : (nt = g.current) == null || nt.call(g, "error", dt(Te.status, Te.body));
2647
- } catch (ee) {
2648
- if (!b.current) return;
2649
- const ue = ee instanceof Error ? ee.message : "提交失败";
2650
- (rt = g.current) == null || rt.call(g, "error", ue);
2725
+ form: m ?? M,
2726
+ answer: st
2727
+ }), Zt = await Kt(Qt, {
2728
+ headers: U
2729
+ });
2730
+ if (!A.current) return;
2731
+ const lt = Ht(Zt);
2732
+ (it = g.current) == null || it.call(g, lt.type, lt.message);
2733
+ } catch (te) {
2734
+ if (!A.current) return;
2735
+ const de = te instanceof Error ? te.message : "提交失败";
2736
+ (at = g.current) == null || at.call(g, "error", de);
2651
2737
  } finally {
2652
- b.current && k(!1);
2738
+ A.current && p(!1);
2653
2739
  }
2654
2740
  }
2655
2741
  }
2656
- return /* @__PURE__ */ l(J, { children: /* @__PURE__ */ I("div", { className: "ask-user-form-card", children: [
2657
- m && C ? /* @__PURE__ */ l("div", { className: "ask-user-form-card-status", children: /* @__PURE__ */ l(ne, { title: C, children: /* @__PURE__ */ l(re, { className: "ask-user-curl-unpublished-tag", children: "卡片 ID 未发布" }) }) }) : null,
2658
- /* @__PURE__ */ l(
2659
- Mo,
2742
+ return /* @__PURE__ */ c(Y, { children: /* @__PURE__ */ C("div", { className: "ask-user-form-card", children: [
2743
+ b && I ? /* @__PURE__ */ c("div", { className: "ask-user-form-card-status", children: /* @__PURE__ */ c(re, { title: I, children: /* @__PURE__ */ c(oe, { className: "ask-user-curl-unpublished-tag", children: "卡片 ID 未发布" }) }) }) : null,
2744
+ /* @__PURE__ */ c(
2745
+ Oo,
2660
2746
  {
2661
- ref: p,
2662
- doc: G,
2663
- surfaceId: Q,
2664
- fieldNames: $,
2747
+ ref: v,
2748
+ doc: Z,
2749
+ surfaceId: k,
2750
+ fieldNames: X,
2665
2751
  interactive: !0,
2666
2752
  wrapProvider: !1,
2667
- resumeSearch: s,
2668
- caseSearch: c
2753
+ resumeSearch: l,
2754
+ caseSearch: u
2669
2755
  }
2670
2756
  ),
2671
- /* @__PURE__ */ l("div", { className: "ask-user-form-actions", children: /* @__PURE__ */ l(
2672
- ne,
2757
+ /* @__PURE__ */ c("div", { className: "ask-user-form-actions", children: /* @__PURE__ */ c(
2758
+ re,
2673
2759
  {
2674
2760
  title: r === "post" ? "提交 JSON 到 callback_url" : "提交到 answer_agent_callback_url",
2675
- children: /* @__PURE__ */ l(
2676
- be,
2761
+ children: /* @__PURE__ */ c(
2762
+ ke,
2677
2763
  {
2678
2764
  type: "primary",
2679
2765
  size: "small",
2680
- loading: N,
2681
- disabled: N,
2682
- onClick: () => void Z(),
2766
+ loading: y,
2767
+ disabled: y,
2768
+ onClick: () => void R(),
2683
2769
  children: "提交"
2684
2770
  }
2685
2771
  )
@@ -2688,54 +2774,59 @@ function Go({
2688
2774
  ] }) });
2689
2775
  }
2690
2776
  export {
2691
- Lo as A2UI_PROTOCOL_VERSION,
2692
- Go as AskUserFormCard,
2693
- Oe as CaseSearchProvider,
2694
- Uo as CurlSubmitBlock,
2695
- jr as DEFAULT_AUTH_ANSWER_AGENT_CALLBACK_URL_FIELD,
2696
- Rt as DEFAULT_AUTH_STORAGE_KEY,
2697
- Or as DEFAULT_AUTH_TOKEN_FIELD,
2698
- dn as FORM_MEDIA_SIZES,
2777
+ Zo as A2UI_PROTOCOL_VERSION,
2778
+ ii as AskUserFormCard,
2779
+ Le as CaseSearchProvider,
2780
+ jo as CurlSubmitBlock,
2781
+ Jr as DEFAULT_ANSWER_AGENT_CALLBACK_URL,
2782
+ Gr as DEFAULT_AUTH_ANSWER_AGENT_CALLBACK_URL_FIELD,
2783
+ Ot as DEFAULT_AUTH_STORAGE_KEY,
2784
+ Kr as DEFAULT_AUTH_TOKEN_FIELD,
2785
+ bn as FORM_MEDIA_SIZES,
2699
2786
  je as ResumeSearchProvider,
2700
- Ko as SkoponA2uiStreamRenderer,
2701
- J as SkoponFormProvider,
2702
- Mo as SkoponFormRenderer,
2703
- xr as a2uiToBlocks,
2704
- Nt as blocksToA2ui,
2705
- Ot as buildAnswerAgentBody,
2706
- wr as buildAskUserCurlBodyJson,
2707
- qr as buildAskUserCurlStatement,
2708
- $o as buildAskUserSubmitCurlFromPayload,
2709
- Ir as buildAskUserSurface,
2710
- Et as buildCurlStatement,
2711
- Do as copyTextToClipboard,
2712
- Xr as createCaseSearchClient,
2713
- $r as createFormClient,
2714
- Gr as createResumeSearchClient,
2715
- Ho as createSkoponSdkClients,
2716
- Xe as extractExtraBlockValues,
2717
- Mr as extractSurfaceValues,
2718
- Br as getPayloadInputFieldNames,
2719
- Rr as getPayloadRenderableBlocks,
2720
- Pr as intersectPayloadBlocksWithForm,
2721
- $e as isA2uiSurfaceEmpty,
2722
- Y as isInputBlockType,
2723
- Se as isLayoutBlockType,
2724
- he as isMediaBlockType,
2725
- _r as mapFormDefinitionFromDto,
2726
- W as normalizeFormDefinition,
2727
- Ce as parsePayloadBlocksJson,
2728
- zr as payloadHasInputBlocks,
2729
- Lr as resolveAnswerAgentCallbackUrl,
2730
- Ze as resolveClientHeaders,
2731
- qt as resolveSkoponAuthHeaders,
2732
- Tr as resolveSurfaceFromFormDefinition,
2733
- _o as skoponAntdTheme,
2734
- D as skoponBrandColors,
2735
- jt as submitAnswerAgent,
2736
- zt as submitFormJson,
2737
- Ar as surfaceDocToMessages,
2738
- ge as syncFormDefinition,
2739
- $n as useCaseSearch,
2740
- Qn as useResumeSearch
2787
+ oi as SkoponA2uiStreamRenderer,
2788
+ Y as SkoponFormProvider,
2789
+ Oo as SkoponFormRenderer,
2790
+ Fr as a2uiToBlocks,
2791
+ Et as blocksToA2ui,
2792
+ rt as buildAnswerAgentBody,
2793
+ Dr as buildAskUserCurlBodyJson,
2794
+ Hr as buildAskUserCurlStatement,
2795
+ ei as buildAskUserSubmitCurlFromPayload,
2796
+ Er as buildAskUserSurface,
2797
+ Bt as buildCurlStatement,
2798
+ ti as copyTextToClipboard,
2799
+ lo as createCaseSearchClient,
2800
+ Xr as createFormClient,
2801
+ oo as createResumeSearchClient,
2802
+ ri as createSkoponSdkClients,
2803
+ Qe as extractExtraBlockValues,
2804
+ Rr as extractSurfaceValues,
2805
+ Ht as formatAnswerAgentSubmitMessage,
2806
+ $r as getPayloadInputFieldNames,
2807
+ Vr as getPayloadRenderableBlocks,
2808
+ Or as intersectPayloadBlocksWithForm,
2809
+ De as isA2uiSurfaceEmpty,
2810
+ W as isInputBlockType,
2811
+ Ae as isLayoutBlockType,
2812
+ ye as isMediaBlockType,
2813
+ zr as mapFormDefinitionFromDto,
2814
+ Q as normalizeFormDefinition,
2815
+ xe as parsePayloadBlocksJson,
2816
+ jr as payloadHasInputBlocks,
2817
+ Wr as resolveAnswerAgentCallbackUrl,
2818
+ nt as resolveClientHeaders,
2819
+ Vt as resolveSkoponAuthHeaders,
2820
+ tt as resolveSubmitAuthHeaders,
2821
+ Pr as resolveSurfaceFromFormDefinition,
2822
+ qo as skoponAntdTheme,
2823
+ H as skoponBrandColors,
2824
+ Kt as submitAnswerAgent,
2825
+ qt as submitFormJson,
2826
+ Ur as surfaceDocToMessages,
2827
+ ve as syncFormDefinition,
2828
+ Wn as useCaseSearch,
2829
+ ir as useResumeSearch,
2830
+ $t as validateAnswerAgentBody,
2831
+ ni as validateAnswerAgentContext
2741
2832
  };