@trungkhai/dynamic-form 0.1.2 → 0.1.3

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.es.js CHANGED
@@ -1,9 +1,9 @@
1
- import { jsx as f, jsxs as Ue, Fragment as L } from "react/jsx-runtime";
2
- import { Select as Fe, Form as q, Upload as ke, Button as Ee, DatePicker as Ie, Checkbox as Be, Radio as We, InputNumber as Ge, Input as ve, Row as Ke, Col as $e, App as ze, Flex as ie, Spin as ae } from "antd";
3
- import { createContext as He, useContext as Re, memo as T, useState as D, useMemo as E, useEffect as C, useCallback as x, useRef as U, forwardRef as Ne, useImperativeHandle as Ye } from "react";
4
- import X from "dayjs";
5
- import { FileImageOutlined as Je, UploadOutlined as Qe } from "@ant-design/icons";
6
- const oe = He(
1
+ import { jsx as f, jsxs as Be, Fragment as x } from "react/jsx-runtime";
2
+ import { Select as Fe, Form as U, Upload as ke, Button as Ee, DatePicker as Ge, Checkbox as Ie, Radio as We, InputNumber as Ke, Input as ve, Row as $e, Col as ze, App as He, Flex as ie, Spin as ae } from "antd";
3
+ import { createContext as Ye, useContext as Re, memo as C, useState as P, useMemo as R, useEffect as V, useCallback as T, useRef as B, forwardRef as Ne, useImperativeHandle as Je } from "react";
4
+ import Z from "dayjs";
5
+ import { FileImageOutlined as Qe, UploadOutlined as Xe } from "@ant-design/icons";
6
+ const oe = Ye(
7
7
  null
8
8
  );
9
9
  function M() {
@@ -14,10 +14,10 @@ function M() {
14
14
  );
15
15
  return e;
16
16
  }
17
- function Xt() {
17
+ function en() {
18
18
  return Re(oe);
19
19
  }
20
- function Xe(e, t = []) {
20
+ function Ze(e, t = []) {
21
21
  for (const r of t) {
22
22
  if (typeof r == "function")
23
23
  continue;
@@ -32,10 +32,10 @@ function Xe(e, t = []) {
32
32
  for (const r of t)
33
33
  ;
34
34
  }
35
- function Ze(e, t = [], n = {}) {
36
- return Xe(e, t) ?? n[e.code] ?? n[e.field?.type?.code ?? ""];
35
+ function et(e, t = [], n = {}) {
36
+ return Ze(e, t) ?? n[e.code] ?? n[e.field?.type?.code ?? ""];
37
37
  }
38
- function et(e, t) {
38
+ function tt(e, t) {
39
39
  const n = t.option_config?.label_attr, r = t.option_config?.value_attr || "value";
40
40
  let i;
41
41
  if (n?.length) {
@@ -48,8 +48,8 @@ function et(e, t) {
48
48
  value: e[r]
49
49
  };
50
50
  }
51
- function tt(e, t) {
52
- return t.option_config && t.is_option_api ? e?.map((n) => et(n, t)) : t.metas?.map((n) => ({
51
+ function nt(e, t) {
52
+ return t.option_config && t.is_option_api ? e?.map((n) => tt(n, t)) : t.metas?.map((n) => ({
53
53
  label: n.label,
54
54
  value: n.value
55
55
  }));
@@ -60,12 +60,12 @@ function se(e, t) {
60
60
  n && clearTimeout(n), n = setTimeout(() => e(...r), t);
61
61
  };
62
62
  }
63
- const nt = ({
63
+ const rt = ({
64
64
  onSearchKeyword: e,
65
65
  searchDebounceMs: t = 500,
66
66
  ...n
67
67
  }) => {
68
- const [r, i] = D(""), a = E(
68
+ const [r, i] = P(""), a = R(
69
69
  () => se((o) => e?.(o), t),
70
70
  [e, t]
71
71
  );
@@ -82,13 +82,13 @@ const nt = ({
82
82
  ...n
83
83
  }
84
84
  );
85
- }, rt = T(nt), it = ({
85
+ }, it = C(rt), at = ({
86
86
  fieldName: e,
87
87
  formInstance: t,
88
88
  ...n
89
89
  }) => {
90
- const r = q.useWatch(e, t);
91
- return C(() => {
90
+ const r = U.useWatch(e, t);
91
+ return V(() => {
92
92
  if (r?.fileList?.length && r.fileList.some(
93
93
  (s) => !s.type?.startsWith("image/")
94
94
  )) {
@@ -108,45 +108,45 @@ const nt = ({
108
108
  {
109
109
  style: { border: 0, background: "none", cursor: "pointer" },
110
110
  type: "button",
111
- children: /* @__PURE__ */ f(Je, {})
111
+ children: /* @__PURE__ */ f(Qe, {})
112
112
  }
113
113
  ) });
114
- }, at = T(it), ot = ({
114
+ }, ot = C(at), st = ({
115
115
  fieldName: e,
116
116
  formInstance: t,
117
117
  ...n
118
118
  }) => {
119
- const r = q.useWatch(e, t);
120
- return /* @__PURE__ */ f(ke, { fileList: r?.fileList, ...n, children: /* @__PURE__ */ f(Ee, { icon: /* @__PURE__ */ f(Qe, {}) }) });
121
- }, st = T(ot), lt = ({
119
+ const r = U.useWatch(e, t);
120
+ return /* @__PURE__ */ f(ke, { fileList: r?.fileList, ...n, children: /* @__PURE__ */ f(Ee, { icon: /* @__PURE__ */ f(Xe, {}) }) });
121
+ }, lt = C(st), ct = ({
122
122
  formInstance: e,
123
123
  uploadUrl: t,
124
124
  setFieldState: n
125
125
  }) => {
126
- const { client: r, upload: i, i18n: a, renderers: s } = M(), { messages: o } = a, d = x(() => {
126
+ const { client: r, upload: i, i18n: a, renderers: s } = M(), { messages: o } = a, d = T(() => {
127
127
  if (i.upload) return i.upload;
128
128
  const l = t ?? i.uploadUrl;
129
129
  if (l)
130
- return async ({ file: p, signal: y, onProgress: u, fieldCode: v, fieldGroup: b, metadata: w }) => {
131
- const h = i.getPayload ? i.getPayload({
130
+ return async ({ file: p, signal: h, onProgress: u, fieldCode: v, fieldGroup: _, metadata: w }) => {
131
+ const b = i.getPayload ? i.getPayload({
132
132
  file: p,
133
133
  fieldCode: v,
134
- fieldGroup: b,
134
+ fieldGroup: _,
135
135
  uploadUrl: l,
136
- signal: y,
136
+ signal: h,
137
137
  onProgress: u,
138
138
  metadata: w
139
139
  }) : (() => {
140
140
  const g = new FormData();
141
- return g.append("file", p), w && Object.entries(w).forEach(([F, R]) => {
142
- g.append(F, String(R));
141
+ return g.append("file", p), w && Object.entries(w).forEach(([k, D]) => {
142
+ g.append(k, String(D));
143
143
  }), g;
144
144
  })(), A = (await r.request({
145
145
  method: "POST",
146
146
  url: l,
147
- data: h,
148
- headers: h instanceof FormData ? { "Content-Type": "multipart/form-data" } : void 0,
149
- signal: y,
147
+ data: b,
148
+ headers: b instanceof FormData ? { "Content-Type": "multipart/form-data" } : void 0,
149
+ signal: h,
150
150
  onUploadProgress: (g) => {
151
151
  u?.(
152
152
  Math.round(g.loaded * 100 / (g.total || 1))
@@ -159,67 +159,67 @@ const nt = ({
159
159
  path: String(A.path ?? "")
160
160
  };
161
161
  };
162
- }, [r, i, t]), c = x(
163
- (l, p) => (y) => {
164
- const { file: u, onProgress: v, onError: b, onSuccess: w } = y, h = new AbortController(), S = d();
162
+ }, [r, i, t]), c = T(
163
+ (l, p) => (h) => {
164
+ const { file: u, onProgress: v, onError: _, onSuccess: w } = h, b = new AbortController(), S = d();
165
165
  return S ? (S({
166
166
  file: u,
167
167
  fieldCode: l,
168
168
  fieldGroup: p,
169
169
  uploadUrl: t ?? i.uploadUrl,
170
- signal: h.signal,
170
+ signal: b.signal,
171
171
  onProgress: (A) => v?.({ percent: A })
172
172
  }).then(
173
173
  (A) => w?.({
174
174
  ...A,
175
175
  uid: A.uid ?? u.uid,
176
176
  path: A.path,
177
- upload_date: X().format("YYYY-MM-DD HH:mm:ss")
177
+ upload_date: Z().format("YYYY-MM-DD HH:mm:ss")
178
178
  })
179
- ).catch((A) => b?.(A)), { abort: () => h.abort() }) : (b?.(new Error(o.uploadError ?? "Upload not configured")), { abort() {
179
+ ).catch((A) => _?.(A)), { abort: () => b.abort() }) : (_?.(new Error(o.uploadError ?? "Upload not configured")), { abort() {
180
180
  } });
181
181
  },
182
182
  [o.uploadError, d, i.uploadUrl, t]
183
- ), _ = x(
184
- (l, p) => async (y) => {
185
- const u = y.response?.path;
183
+ ), y = T(
184
+ (l, p) => async (h) => {
185
+ const u = h.response?.path;
186
186
  return u ? i.remove({ path: u, fieldCode: l, fieldGroup: p }) : !0;
187
187
  },
188
188
  [i]
189
- ), m = x(
189
+ ), m = T(
190
190
  (l, {
191
191
  state: p,
192
- options: y,
192
+ options: h,
193
193
  optionsLoading: u,
194
194
  optionsError: v,
195
- onSearchKeyword: b,
195
+ onSearchKeyword: _,
196
196
  readOnly: w = !1
197
197
  }) => {
198
- const { additional_config: h, field: S } = l, A = S?.type?.code, g = w || l.is_readonly || p?.disabled, F = Ze(
198
+ const { additional_config: b, field: S } = l, A = S?.type?.code, g = w || l.is_readonly || p?.disabled, k = et(
199
199
  l,
200
200
  s.fields
201
201
  );
202
- if (F)
203
- return F(l, {
202
+ if (k)
203
+ return k(l, {
204
204
  state: p,
205
- options: y,
205
+ options: h,
206
206
  optionsLoading: u,
207
207
  optionsError: v,
208
- onSearchKeyword: b,
208
+ onSearchKeyword: _,
209
209
  readOnly: w,
210
210
  formInstance: e,
211
211
  disabled: !!g,
212
212
  setFieldState: n
213
213
  });
214
- const R = tt(y, l);
214
+ const D = nt(h, l);
215
215
  switch (A) {
216
216
  case "text":
217
- return h?.text?.textarea ? /* @__PURE__ */ f(
217
+ return b?.text?.textarea ? /* @__PURE__ */ f(
218
218
  ve.TextArea,
219
219
  {
220
220
  disabled: g,
221
221
  placeholder: o.inputPlaceholder(l.label),
222
- rows: h?.text?.rows
222
+ rows: b?.text?.rows
223
223
  }
224
224
  ) : /* @__PURE__ */ f(
225
225
  ve,
@@ -230,74 +230,74 @@ const nt = ({
230
230
  );
231
231
  case "number":
232
232
  return /* @__PURE__ */ f(
233
- Ge,
233
+ Ke,
234
234
  {
235
235
  style: { width: "100%" },
236
236
  disabled: g,
237
237
  placeholder: o.inputPlaceholder(l.label),
238
- min: h?.number?.min,
239
- max: h?.number?.max
238
+ min: b?.number?.min,
239
+ max: b?.number?.max
240
240
  }
241
241
  );
242
242
  case "select": {
243
243
  const j = {
244
244
  disabled: g,
245
- options: R,
245
+ options: D,
246
246
  placeholder: o.selectPlaceholder(l.label),
247
247
  allowClear: !0,
248
248
  loading: u,
249
- mode: h?.select?.multiple ? "multiple" : void 0,
249
+ mode: b?.select?.multiple ? "multiple" : void 0,
250
250
  notFoundContent: v ? o.optionError : u ? o.optionLoading : void 0
251
251
  };
252
- return b ? /* @__PURE__ */ f(
253
- rt,
252
+ return _ ? /* @__PURE__ */ f(
253
+ it,
254
254
  {
255
255
  ...j,
256
- onSearchKeyword: b,
257
- searchDebounceMs: h?.select?.searchDebounceMs ?? 500
256
+ onSearchKeyword: _,
257
+ searchDebounceMs: b?.select?.searchDebounceMs ?? 500
258
258
  }
259
259
  ) : /* @__PURE__ */ f(Fe, { ...j, showSearch: !0, optionFilterProp: "label" });
260
260
  }
261
261
  case "radio":
262
- return /* @__PURE__ */ f(We.Group, { disabled: g, options: R });
262
+ return /* @__PURE__ */ f(We.Group, { disabled: g, options: D });
263
263
  case "checkbox":
264
- return /* @__PURE__ */ f(Be.Group, { disabled: g, options: R });
264
+ return /* @__PURE__ */ f(Ie.Group, { disabled: g, options: D });
265
265
  case "datetime":
266
266
  return /* @__PURE__ */ f(
267
- Ie,
267
+ Ge,
268
268
  {
269
269
  style: { width: "100%" },
270
270
  disabled: g,
271
- showTime: h?.datetime?.showTime,
272
- format: h?.datetime?.format
271
+ showTime: b?.datetime?.showTime,
272
+ format: b?.datetime?.format
273
273
  }
274
274
  );
275
275
  case "file":
276
276
  return /* @__PURE__ */ f(
277
- st,
277
+ lt,
278
278
  {
279
279
  disabled: g,
280
280
  fieldName: l.code,
281
281
  formInstance: e,
282
- multiple: h?.file?.multiple || !1,
283
- maxCount: h?.file?.max,
284
- accept: h?.file?.accept,
282
+ multiple: b?.file?.multiple || !1,
283
+ maxCount: b?.file?.max,
284
+ accept: b?.file?.accept,
285
285
  customRequest: c(l.code, l),
286
- onRemove: _(l.code, l)
286
+ onRemove: y(l.code, l)
287
287
  }
288
288
  );
289
289
  case "image":
290
290
  return /* @__PURE__ */ f(
291
- at,
291
+ ot,
292
292
  {
293
293
  disabled: g,
294
294
  fieldName: l.code,
295
295
  formInstance: e,
296
- multiple: h?.image?.multiple || !1,
297
- maxCount: h?.image?.max,
298
- accept: h?.image?.accept ?? "image/*",
296
+ multiple: b?.image?.multiple || !1,
297
+ maxCount: b?.image?.max,
298
+ accept: b?.image?.accept ?? "image/*",
299
299
  customRequest: c(l.code, l),
300
- onRemove: _(l.code, l)
300
+ onRemove: y(l.code, l)
301
301
  }
302
302
  );
303
303
  default:
@@ -306,19 +306,19 @@ const nt = ({
306
306
  },
307
307
  [
308
308
  c,
309
- _,
309
+ y,
310
310
  e,
311
311
  o,
312
312
  s.fields,
313
313
  n
314
314
  ]
315
315
  );
316
- return E(() => ({ getDynamicField: m }), [m]);
316
+ return R(() => ({ getDynamicField: m }), [m]);
317
317
  };
318
318
  function le(e) {
319
319
  return JSON.stringify(e);
320
320
  }
321
- function ct(e, t) {
321
+ function dt(e, t) {
322
322
  const n = e.get(t);
323
323
  if (n) {
324
324
  if (Date.now() > n.expiresAt) {
@@ -328,48 +328,48 @@ function ct(e, t) {
328
328
  return n.data;
329
329
  }
330
330
  }
331
- function dt(e, t, n, r) {
331
+ function ut(e, t, n, r) {
332
332
  e.set(t, { data: n, expiresAt: Date.now() + r });
333
333
  }
334
334
  async function re(e, t, n, r, i) {
335
335
  const a = e[t];
336
336
  if (e.cache.enabled) {
337
- const c = ct(a, n);
337
+ const c = dt(a, n);
338
338
  if (c !== void 0) return c;
339
339
  }
340
340
  const s = new AbortController(), o = i ? AbortSignal.any([i, s.signal]) : s.signal, d = await r(o);
341
- return e.cache.enabled && dt(a, n, d, e.cache.ttlMs), d;
341
+ return e.cache.enabled && ut(a, n, d, e.cache.ttlMs), d;
342
342
  }
343
- function B(e, t) {
343
+ function I(e, t) {
344
344
  return t.split(".").reduce((n, r) => {
345
345
  if (n && typeof n == "object")
346
346
  return n[r];
347
347
  }, e);
348
348
  }
349
- function ut(e, t) {
349
+ function ft(e, t) {
350
350
  if (typeof e != "string") return e;
351
351
  const n = e.match(/^\{\{(.+?)\}\}$/);
352
352
  if (!n) return e;
353
- const r = n[1].trim(), i = B(t, r);
353
+ const r = n[1].trim(), i = I(t, r);
354
354
  return i !== void 0 ? i : e;
355
355
  }
356
- function ft(e, t) {
356
+ function mt(e, t) {
357
357
  const n = {};
358
358
  for (const r in e)
359
- n[r] = ut(
359
+ n[r] = ft(
360
360
  e[r],
361
361
  t
362
362
  );
363
363
  return n;
364
364
  }
365
- function Zt(e, t) {
365
+ function tn(e, t) {
366
366
  const n = { ...e };
367
367
  return t.forEach((r) => {
368
368
  const i = e[r.code];
369
369
  if (i == null) return;
370
370
  switch (r.field?.type?.code) {
371
371
  case "datetime": {
372
- const s = X(i);
372
+ const s = Z(i);
373
373
  s.isValid() && (n[r.code] = s);
374
374
  break;
375
375
  }
@@ -395,13 +395,13 @@ function Zt(e, t) {
395
395
  }
396
396
  }), n;
397
397
  }
398
- function mt(e) {
398
+ function pt(e) {
399
399
  const t = e.option_config?.api_options?.params || {}, n = e.option_config?.api_options?.data || {}, r = (i) => Object.values(i).filter(
400
400
  (a) => typeof a == "string" && a.startsWith("{{") && a.endsWith("}}")
401
401
  ).map((a) => a.slice(2, -2).trim());
402
402
  return Array.from(/* @__PURE__ */ new Set([...r(t), ...r(n)]));
403
403
  }
404
- function O(e, t) {
404
+ function q(e, t) {
405
405
  const n = {};
406
406
  for (const r in e) {
407
407
  const i = e[r];
@@ -413,21 +413,27 @@ function O(e, t) {
413
413
  }
414
414
  return n;
415
415
  }
416
- function J(e, t) {
416
+ function Q(e, t) {
417
417
  return e.replace(/\{\{\s*(\w+)\s*\}\}/g, (n, r) => {
418
418
  const i = t?.[r];
419
419
  return i != null ? String(i) : "";
420
420
  });
421
421
  }
422
- function pt(e, t) {
423
- const n = E(
424
- () => mt(e),
422
+ function ht(e, t, n) {
423
+ const i = t.find((a) => a.code === e)?.additional_config?.on_field_change?.clear ?? [];
424
+ return i.length === 0 ? [] : i.filter(
425
+ (a) => n?.[a] !== void 0 && n?.[a] !== null
426
+ );
427
+ }
428
+ function yt(e, t) {
429
+ const n = R(
430
+ () => pt(e),
425
431
  [e]
426
- ), r = q.useWatch(
432
+ ), r = U.useWatch(
427
433
  n.length > 0 ? n : void 0,
428
434
  t
429
435
  );
430
- return E(() => {
436
+ return R(() => {
431
437
  if (!n.length) return {};
432
438
  const i = {};
433
439
  return n.forEach((a, s) => {
@@ -435,67 +441,67 @@ function pt(e, t) {
435
441
  }), i;
436
442
  }, [n, r]);
437
443
  }
438
- function ht({
444
+ function bt({
439
445
  group: e,
440
446
  formInstance: t,
441
447
  searchKeyword: n = "",
442
448
  searchDebounceMs: r = 500
443
449
  }) {
444
- const i = M(), a = pt(e, t), [s, o] = D(), [d, c] = D(!1), [_, m] = D(), l = U(null), [p, y] = D(n), u = e.additional_config?.select?.search_keyword ?? !1, v = E(
445
- () => se((h) => y(h), r),
450
+ const i = M(), a = yt(e, t), [s, o] = P(), [d, c] = P(!1), [y, m] = P(), l = B(null), [p, h] = P(n), u = e.additional_config?.select?.search_keyword ?? !1, v = R(
451
+ () => se((b) => h(b), r),
446
452
  [r]
447
453
  );
448
- C(() => {
449
- u ? v(n) : y("");
454
+ V(() => {
455
+ u ? v(n) : h("");
450
456
  }, [n, u, v]);
451
- const b = E(() => {
452
- const h = e.option_config?.api_options?.params, S = e.option_config?.api_options?.data;
453
- if (!(!h && !S))
457
+ const _ = R(() => {
458
+ const b = e.option_config?.api_options?.params, S = e.option_config?.api_options?.data;
459
+ if (!(!b && !S))
454
460
  return {
455
- params: h ? O(h, a) : void 0,
456
- data: S ? O(S, a) : void 0
461
+ params: b ? q(b, a) : void 0,
462
+ data: S ? q(S, a) : void 0
457
463
  };
458
- }, [a, e]), w = x(async () => {
464
+ }, [a, e]), w = T(async () => {
459
465
  if (!e.option_config || !e.is_option_api || !e.option_config.url)
460
466
  return;
461
467
  l.current?.abort();
462
- const h = new AbortController();
463
- l.current = h;
468
+ const b = new AbortController();
469
+ l.current = b;
464
470
  const S = e.option_config.method?.toUpperCase() === "GET" || !e.option_config.method, A = u ? p : "", g = le([
465
471
  e.code,
466
472
  e.option_config.url,
467
473
  e.option_config.method,
468
- b,
474
+ _,
469
475
  A
470
476
  ]);
471
477
  c(!0), m(void 0);
472
478
  try {
473
- const F = await re(
479
+ const k = await re(
474
480
  i,
475
481
  "optionCache",
476
482
  g,
477
- async (R) => {
483
+ async (D) => {
478
484
  const j = await i.client.request({
479
485
  method: e.option_config?.method || "GET",
480
486
  url: e.option_config?.url,
481
- params: S && u ? { ...b?.params, keywords: A } : b?.params,
482
- data: !S && u ? { ...b?.data, keywords: A } : b?.data,
483
- signal: R
487
+ params: S && u ? { ..._?.params, keywords: A } : _?.params,
488
+ data: !S && u ? { ..._?.data, keywords: A } : _?.data,
489
+ signal: D
484
490
  });
485
491
  return i.parsers.optionResponse(j.data, e);
486
492
  },
487
- h.signal
493
+ b.signal
488
494
  );
489
- h.signal.aborted || o(F);
490
- } catch (F) {
491
- h.signal.aborted || m(F);
495
+ b.signal.aborted || o(k);
496
+ } catch (k) {
497
+ b.signal.aborted || m(k);
492
498
  } finally {
493
- h.signal.aborted || c(!1);
499
+ b.signal.aborted || c(!1);
494
500
  }
495
- }, [b, i, p, e, u]);
496
- return C(() => (e.option_config && e.is_option_api && w(), () => l.current?.abort()), [w, e]), { options: s, isLoading: d, error: _, refetch: w };
501
+ }, [_, i, p, e, u]);
502
+ return V(() => (e.option_config && e.is_option_api && w(), () => l.current?.abort()), [w, e]), { options: s, isLoading: d, error: y, refetch: w };
497
503
  }
498
- const yt = ({
504
+ const _t = ({
499
505
  group: e,
500
506
  formInstance: t,
501
507
  fieldState: n,
@@ -505,45 +511,37 @@ const yt = ({
505
511
  size: s = "middle",
506
512
  ...o
507
513
  }) => {
508
- const { getDynamicField: d } = lt({
514
+ const { getDynamicField: d } = ct({
509
515
  formInstance: t,
510
516
  uploadUrl: i,
511
517
  setFieldState: r
512
- }), c = q.useWatch(e.code, t), [_, m] = D(""), l = e.additional_config?.select?.search_keyword ?? !1, { options: p, isLoading: y, error: u } = ht({
518
+ }), c = U.useWatch(e.code, t), [y, m] = P(""), l = e.additional_config?.select?.search_keyword ?? !1, { options: p, isLoading: h, error: u } = bt({
513
519
  group: e,
514
520
  formInstance: t,
515
- searchKeyword: _,
521
+ searchKeyword: y,
516
522
  searchDebounceMs: e.additional_config?.select?.searchDebounceMs ?? 500
517
- }), v = x((w) => {
523
+ }), v = T((w) => {
518
524
  m(w);
519
525
  }, []);
520
- C(() => {
521
- if (e.additional_config?.on_field_change?.clear?.length) {
522
- const w = t.getFieldsValue(
523
- e.additional_config.on_field_change.clear
524
- ), h = e.additional_config.on_field_change.clear.filter(
525
- (S) => w?.[S]
526
- );
527
- h.length && t.resetFields(h);
528
- }
526
+ V(() => {
529
527
  e.additional_config?.on_field_empty?.disable?.length && e.additional_config.on_field_empty.disable.forEach((w) => {
530
528
  r(w, { disabled: !c });
531
529
  });
532
530
  }, [c, t, e, r]);
533
- const b = s === "small" ? 4 : 12;
531
+ const _ = s === "small" ? 4 : 12;
534
532
  return /* @__PURE__ */ f(
535
- q.Item,
533
+ U.Item,
536
534
  {
537
535
  label: e.label,
538
536
  name: e.code,
539
537
  hidden: n?.hidden,
540
538
  rules: [{ required: n?.required || !1 }],
541
- style: { marginBottom: b, ...o.style },
539
+ style: { marginBottom: _, ...o.style },
542
540
  ...o,
543
541
  children: d(e, {
544
542
  state: n,
545
543
  options: p,
546
- optionsLoading: y,
544
+ optionsLoading: h,
547
545
  optionsError: u,
548
546
  onSearchKeyword: l ? v : void 0,
549
547
  readOnly: a
@@ -551,24 +549,24 @@ const yt = ({
551
549
  }
552
550
  );
553
551
  };
554
- function _t(e, t) {
552
+ function vt(e, t) {
555
553
  return e.group.id === t.group.id && e.readOnly === t.readOnly && e.uploadUrl === t.uploadUrl && e.size === t.size && e.fieldState?.disabled === t.fieldState?.disabled && e.fieldState?.hidden === t.fieldState?.hidden && e.fieldState?.required === t.fieldState?.required;
556
554
  }
557
- const bt = T(yt, _t);
558
- function vt({
555
+ const wt = C(_t, vt);
556
+ function gt({
559
557
  fieldGroups: e,
560
558
  fieldStates: t,
561
559
  renderField: n,
562
560
  gutter: r,
563
561
  defaultColSpan: i
564
562
  }) {
565
- return /* @__PURE__ */ f(Ke, { gutter: r, children: e.map((a) => {
563
+ return /* @__PURE__ */ f($e, { gutter: r, children: e.map((a) => {
566
564
  const s = t[a.code]?.hidden ? 0 : Number(a.additional_config?.field_col_span) || i;
567
- return /* @__PURE__ */ f($e, { xs: s, children: n(a) }, a.id);
565
+ return /* @__PURE__ */ f(ze, { xs: s, children: n(a) }, a.id);
568
566
  }) });
569
567
  }
570
- function wt(e) {
571
- return E(() => {
568
+ function At(e) {
569
+ return R(() => {
572
570
  const t = e?.form?.field_groups ?? [], n = /* @__PURE__ */ new Map(), r = {};
573
571
  t.forEach((a) => {
574
572
  n.set(a.code, a), a.additional_config?.default !== void 0 && (r[a.code] = a.additional_config.default);
@@ -587,14 +585,14 @@ function we(e) {
587
585
  };
588
586
  }), t;
589
587
  }
590
- function gt(e) {
591
- const [t, n] = D(
588
+ function St(e) {
589
+ const [t, n] = P(
592
590
  () => we(e)
593
591
  );
594
- C(() => {
592
+ V(() => {
595
593
  n(we(e));
596
594
  }, [e]);
597
- const r = x((i, a) => {
595
+ const r = T((i, a) => {
598
596
  n((s) => ({
599
597
  ...s,
600
598
  [i]: { ...s[i], ...a }
@@ -602,23 +600,23 @@ function gt(e) {
602
600
  }, []);
603
601
  return { fieldStates: t, setFieldStates: n, setFieldState: r };
604
602
  }
605
- function At({
603
+ function Ft({
606
604
  formInstance: e,
607
605
  fieldByCode: t,
608
606
  relatedData: n,
609
607
  transformers: r
610
608
  }) {
611
- return { buildProcessedValues: x(async () => {
609
+ return { buildProcessedValues: T(async () => {
612
610
  await e.validateFields();
613
611
  const a = e.getFieldsValue(), s = {};
614
612
  for (const c of Object.keys(a)) {
615
- const _ = t.get(c);
616
- if (!_) continue;
613
+ const y = t.get(c);
614
+ if (!y) continue;
617
615
  let m;
618
- switch (_.field?.type?.code) {
616
+ switch (y.field?.type?.code) {
619
617
  case "datetime":
620
- m = a[c] ? X(a[c]).format(
621
- _.additional_config?.datetime?.format
618
+ m = a[c] ? Z(a[c]).format(
619
+ y.additional_config?.datetime?.format
622
620
  ) : null;
623
621
  break;
624
622
  case "image":
@@ -633,17 +631,17 @@ function At({
633
631
  default:
634
632
  m = a[c];
635
633
  }
636
- r.transformFieldValue && (m = r.transformFieldValue(c, m, _)), s[c] = m;
634
+ r.transformFieldValue && (m = r.transformFieldValue(c, m, y)), s[c] = m;
637
635
  }
638
636
  let o = s;
639
637
  return r.transformSubmitValues && (o = r.transformSubmitValues(
640
638
  o,
641
639
  Array.from(t.values()),
642
640
  n
643
- )), (r.parseRelatedDataTemplates ?? ft)(o, n ?? {});
641
+ )), (r.parseRelatedDataTemplates ?? mt)(o, n ?? {});
644
642
  }, [t, e, n, r]) };
645
643
  }
646
- const St = Ne(
644
+ const kt = Ne(
647
645
  ({
648
646
  formConfig: e,
649
647
  formInstance: t,
@@ -655,75 +653,75 @@ const St = Ne(
655
653
  onSubmitSuccess: o,
656
654
  onSubmitError: d,
657
655
  isRedirectAfterCreate: c,
658
- onRedirect: _,
656
+ onRedirect: y,
659
657
  size: m = "middle",
660
658
  manualSubmit: l = !1,
661
659
  onValuesChange: p,
662
- readOnly: y = !1,
660
+ readOnly: h = !1,
663
661
  submitDebounceMs: u,
664
662
  gutter: v = [8, 0],
665
- defaultColSpan: b = 12,
663
+ defaultColSpan: _ = 12,
666
664
  submitButtonLabel: w
667
- }, h) => {
668
- const { message: S } = ze.useApp(), A = M(), { i18n: g, client: F, parsers: R, redirectHandler: j, renderers: G, transformers: K } = A, ce = r ?? i, de = u ?? A.submitDebounceMs, ue = w ?? g.messages.submit, { fieldGroups: V, fieldByCode: Ce, initialValues: $ } = wt(e), { fieldStates: z, setFieldState: fe } = gt(V), { buildProcessedValues: H } = At({
665
+ }, b) => {
666
+ const { message: S } = He.useApp(), A = M(), { i18n: g, client: k, parsers: D, redirectHandler: j, renderers: K, transformers: $ } = A, ce = r ?? i, de = u ?? A.submitDebounceMs, ue = w ?? g.messages.submit, { fieldGroups: L, fieldByCode: Oe, initialValues: z } = At(e), { fieldStates: H, setFieldState: fe } = St(L), { buildProcessedValues: Y } = Ft({
669
667
  formInstance: t,
670
- fieldByCode: Ce,
668
+ fieldByCode: Oe,
671
669
  relatedData: n,
672
- transformers: K
673
- }), N = U(!1), [me, pe] = D(!1), [he, ye] = D(!1);
674
- C(() => {
675
- if (Object.keys($).length > 0) {
676
- const k = K.normalizeInitialValues ? K.normalizeInitialValues($, V) : $;
677
- t.setFieldsValue(k);
670
+ transformers: $
671
+ }), N = B(!1), [me, pe] = P(!1), [he, ye] = P(!1);
672
+ V(() => {
673
+ if (Object.keys(z).length > 0) {
674
+ const F = $.normalizeInitialValues ? $.normalizeInitialValues(z, L) : z;
675
+ t.setFieldsValue(F);
678
676
  }
679
- }, [V, t, $, K]);
680
- const Y = x(async () => {
677
+ }, [L, t, z, $]);
678
+ const J = T(async () => {
681
679
  if (!N.current) {
682
680
  N.current = !0, pe(!0);
683
681
  try {
684
- let k = await H();
682
+ let F = await Y();
685
683
  try {
686
- a && (ye(!0), await F.request({
684
+ a && (ye(!0), await k.request({
687
685
  method: "POST",
688
686
  url: a,
689
- data: k
687
+ data: F
690
688
  }));
691
- const P = await s?.(k);
692
- if (P === !1) return;
693
- P && typeof P == "object" && (k = P);
694
- } catch (P) {
695
- console.error(P);
689
+ const E = await s?.(F);
690
+ if (E === !1) return;
691
+ E && typeof E == "object" && (F = E);
692
+ } catch (E) {
693
+ console.error(E);
696
694
  return;
697
695
  } finally {
698
696
  ye(!1);
699
697
  }
700
- const W = await F.request({
698
+ const O = await k.request({
701
699
  method: e.method,
702
700
  url: e.action,
703
- data: k
701
+ data: F
704
702
  });
705
703
  t.resetFields(
706
- V.filter((P) => !P.is_hidden).map((P) => P.code)
704
+ L.filter((E) => !E.is_hidden).map((E) => E.code)
707
705
  );
708
- const ee = R.submitResponse(W.data);
709
- c && ee.redirectUrl && (_ ?? j)(ee.redirectUrl, "_blank"), o?.({
710
- values: k,
711
- response: W.data,
712
- data: ee.data ?? W.data
706
+ const W = D.submitResponse(O.data);
707
+ c && W.redirectUrl && (y ?? j)(W.redirectUrl, "_blank"), o?.({
708
+ values: F,
709
+ response: O.data,
710
+ data: W.data ?? O.data
713
711
  });
714
- } catch (k) {
715
- const W = k;
712
+ } catch (F) {
713
+ const O = F;
716
714
  S.error(
717
- W?.response?.data?.message ?? g.messages.submitError
718
- ), d?.(k);
715
+ O?.response?.data?.message ?? g.messages.submitError
716
+ ), d?.(F);
719
717
  } finally {
720
718
  N.current = !1, pe(!1);
721
719
  }
722
720
  }
723
721
  }, [
724
- H,
725
- F,
726
- V,
722
+ Y,
723
+ k,
724
+ L,
727
725
  e.action,
728
726
  e.method,
729
727
  t,
@@ -731,95 +729,107 @@ const St = Ne(
731
729
  c,
732
730
  S,
733
731
  s,
734
- _,
732
+ y,
735
733
  d,
736
734
  o,
737
- R,
735
+ D,
738
736
  j,
739
737
  a
740
738
  ]);
741
- Ye(
742
- h,
739
+ Je(
740
+ b,
743
741
  () => ({
744
- submit: Y,
745
- getProcessedValues: H,
742
+ submit: J,
743
+ getProcessedValues: Y,
746
744
  isSubmitting: () => N.current
747
745
  }),
748
- [H, Y]
746
+ [Y, J]
749
747
  );
750
- const _e = E(
748
+ const be = R(
751
749
  () => se(() => {
752
- Y();
750
+ J();
753
751
  }, de),
754
- [Y, de]
755
- ), be = x(
756
- (k) => /* @__PURE__ */ f(
757
- bt,
752
+ [J, de]
753
+ ), Ve = T(
754
+ (F, O) => {
755
+ Object.keys(F).forEach((W) => {
756
+ const E = ht(
757
+ W,
758
+ L,
759
+ t.getFieldsValue()
760
+ );
761
+ E.length > 0 && t.resetFields(E);
762
+ }), p?.(F, O);
763
+ },
764
+ [L, t, p]
765
+ ), _e = T(
766
+ (F) => /* @__PURE__ */ f(
767
+ wt,
758
768
  {
759
- group: k,
769
+ group: F,
760
770
  formInstance: t,
761
- fieldState: z[k.code],
771
+ fieldState: H[F.code],
762
772
  setFieldState: fe,
763
773
  uploadUrl: ce,
764
- readOnly: y,
774
+ readOnly: h,
765
775
  size: m
766
776
  },
767
- k.id
777
+ F.id
768
778
  ),
769
779
  [
770
- z,
780
+ H,
771
781
  t,
772
- y,
782
+ h,
773
783
  ce,
774
784
  fe,
775
785
  m
776
786
  ]
777
- ), Oe = G.layout ? G.layout({
778
- fieldGroups: V,
779
- fieldStates: z,
780
- renderField: be,
787
+ ), qe = K.layout ? K.layout({
788
+ fieldGroups: L,
789
+ fieldStates: H,
790
+ renderField: _e,
781
791
  gutter: v,
782
- defaultColSpan: b,
792
+ defaultColSpan: _,
783
793
  size: m
784
794
  }) : /* @__PURE__ */ f(
785
- vt,
795
+ gt,
786
796
  {
787
- fieldGroups: V,
788
- fieldStates: z,
789
- renderField: be,
797
+ fieldGroups: L,
798
+ fieldStates: H,
799
+ renderField: _e,
790
800
  gutter: v,
791
- defaultColSpan: b,
801
+ defaultColSpan: _,
792
802
  size: m
793
803
  }
794
- ), qe = !l && !y && (G.submitActions ? G.submitActions({
795
- onSubmit: _e,
804
+ ), Ue = !l && !h && (K.submitActions ? K.submitActions({
805
+ onSubmit: be,
796
806
  loading: me || he,
797
807
  label: ue
798
808
  }) : /* @__PURE__ */ f(ie, { justify: "flex-end", children: /* @__PURE__ */ f(
799
809
  Ee,
800
810
  {
801
811
  type: "primary",
802
- onClick: _e,
812
+ onClick: be,
803
813
  loading: me || he,
804
814
  children: ue
805
815
  }
806
816
  ) }));
807
- return /* @__PURE__ */ Ue(
808
- q,
817
+ return /* @__PURE__ */ Be(
818
+ U,
809
819
  {
810
820
  layout: "vertical",
811
821
  form: t,
812
822
  size: m,
813
- onValuesChange: p,
823
+ onValuesChange: Ve,
814
824
  children: [
815
- Oe,
816
- qe
825
+ qe,
826
+ Ue
817
827
  ]
818
828
  }
819
829
  );
820
830
  }
821
831
  );
822
- St.displayName = "DynamicForm";
832
+ kt.displayName = "DynamicForm";
823
833
  function De(e) {
824
834
  if (!e) return;
825
835
  const { mode: t } = e;
@@ -859,19 +869,19 @@ function ge(e) {
859
869
  id: e
860
870
  };
861
871
  }
862
- function Ft(e, t) {
872
+ function Et(e, t) {
863
873
  const n = t.method || "GET", r = n.toUpperCase() === "GET";
864
874
  if (t.url_template)
865
875
  return (Array.isArray(e) ? e.filter((d) => d != null && d !== "") : e != null && e !== "" ? [e] : []).map((d) => {
866
- const c = ge(d), _ = J(t.url, c), m = t.params ? O(t.params, c) : void 0, l = t.data ? O(t.data, c) : void 0;
876
+ const c = ge(d), y = Q(t.url, c), m = t.params ? q(t.params, c) : void 0, l = t.data ? q(t.data, c) : void 0;
867
877
  return {
868
878
  method: n,
869
- url: _,
879
+ url: y,
870
880
  params: r ? m : void 0,
871
881
  data: r ? void 0 : l
872
882
  };
873
883
  });
874
- const i = ge(e), a = t.params ? O(t.params, i) : void 0, s = t.data ? O(t.data, i) : void 0;
884
+ const i = ge(e), a = t.params ? q(t.params, i) : void 0, s = t.data ? q(t.data, i) : void 0;
875
885
  return [
876
886
  {
877
887
  method: n,
@@ -882,17 +892,17 @@ function Ft(e, t) {
882
892
  ];
883
893
  }
884
894
  function Pe(e, t) {
885
- const n = t.data_path ? B(e, t.data_path) : e;
895
+ const n = t.data_path ? I(e, t.data_path) : e;
886
896
  return (t.result_type ?? (Array.isArray(n) ? "array" : "object")) === "array" ? Array.isArray(n) ? n : n != null ? [n] : [] : Array.isArray(n) ? n.length ? [n[0]] : [] : n && typeof n == "object" ? [n] : [];
887
897
  }
888
- function xe(e, t) {
889
- return Tt(e, t.mapping_attr);
898
+ function Te(e, t) {
899
+ return Mt(e, t.mapping_attr);
890
900
  }
891
- function Le(e, t) {
892
- return Mt(t.link, e);
901
+ function xe(e, t) {
902
+ return jt(t.link, e);
893
903
  }
894
- async function kt(e, t, n, r) {
895
- const i = Ft(e, t);
904
+ async function Rt(e, t, n, r) {
905
+ const i = Et(e, t);
896
906
  if (!i.length) return [];
897
907
  const a = await Promise.all(
898
908
  i.map((o) => n({ ...o, signal: r }))
@@ -901,10 +911,10 @@ async function kt(e, t, n, r) {
901
911
  s.push(...Pe(o.data, t));
902
912
  return s;
903
913
  }
904
- function I(e) {
914
+ function G(e) {
905
915
  return !!(e == null || e === "" || Array.isArray(e) && e.length === 0);
906
916
  }
907
- function Et(e, t) {
917
+ function Dt(e, t) {
908
918
  const n = e.option_config?.api_options?.params, r = e.option_config?.api_options?.data;
909
919
  if (!n && !r) return;
910
920
  const i = (a) => {
@@ -922,7 +932,7 @@ function Et(e, t) {
922
932
  data: r ? i(r) : void 0
923
933
  };
924
934
  }
925
- function Rt(e, t) {
935
+ function Pt(e, t) {
926
936
  const n = t.option_config?.label_attr, r = t.option_config?.value_attr || "";
927
937
  if (n?.length) {
928
938
  const i = n.join(" - ");
@@ -930,33 +940,33 @@ function Rt(e, t) {
930
940
  }
931
941
  return String(e[r] ?? "");
932
942
  }
933
- function Dt(e, t) {
943
+ function Tt(e, t) {
934
944
  if (!t?.length) return null;
935
945
  const r = (Array.isArray(e) ? e : [e]).map((i) => t.find((a) => String(a.value) === String(i))?.label).filter((i) => !!i);
936
946
  return r.length ? r.join(", ") : null;
937
947
  }
938
- function Pt(e, t, n) {
939
- if (I(e)) return null;
948
+ function xt(e, t, n) {
949
+ if (G(e)) return null;
940
950
  const r = t.option_config?.value_attr || "value", i = Array.isArray(e) ? e : [e];
941
951
  if (t.is_option_api && n?.length) {
942
952
  const s = i.map((o) => {
943
953
  const d = n.find(
944
954
  (c) => String(c[r]) === String(o)
945
955
  );
946
- return d ? Rt(d, t) : String(o);
956
+ return d ? Pt(d, t) : String(o);
947
957
  }).filter(Boolean);
948
958
  return s.length ? s.join(", ") : null;
949
959
  }
950
- const a = Dt(e, t.metas);
960
+ const a = Tt(e, t.metas);
951
961
  return a || i.map(String).join(", ");
952
962
  }
953
- function xt(e, t) {
954
- if (I(e)) return null;
955
- const n = t.additional_config?.datetime?.format, r = X(e);
963
+ function Lt(e, t) {
964
+ if (G(e)) return null;
965
+ const n = t.additional_config?.datetime?.format, r = Z(e);
956
966
  return r.isValid() ? n ? r.format(n) : r.format("YYYY-MM-DD HH:mm:ss") : String(e);
957
967
  }
958
- function Lt(e) {
959
- if (I(e)) return null;
968
+ function Ct(e) {
969
+ if (G(e)) return null;
960
970
  if (Array.isArray(e)) {
961
971
  const t = e.map(
962
972
  (n) => typeof n == "object" && n && "name" in n ? String(n.name) : String(n)
@@ -965,20 +975,20 @@ function Lt(e) {
965
975
  }
966
976
  return String(e);
967
977
  }
968
- function Tt(e, t) {
978
+ function Mt(e, t) {
969
979
  return t?.length ? t.map((n) => {
970
- const r = B(e, n) ?? e[n];
980
+ const r = I(e, n) ?? e[n];
971
981
  return r != null ? String(r) : "";
972
982
  }).filter(Boolean).join(" - ") : JSON.stringify(e);
973
983
  }
974
- function Mt(e, t) {
984
+ function jt(e, t) {
975
985
  return e ? e.replace(/\{\{(.+?)\}\}/g, (n, r) => {
976
- const i = r.trim(), a = B(t, i) ?? t[i];
986
+ const i = r.trim(), a = I(t, i) ?? t[i];
977
987
  return a != null ? String(a) : "";
978
988
  }) : null;
979
989
  }
980
990
  function Ae(e, t, n) {
981
- if (I(e)) return null;
991
+ if (G(e)) return null;
982
992
  switch (t?.mode ?? "formatted") {
983
993
  case "raw":
984
994
  case "formatted":
@@ -991,7 +1001,7 @@ function Ae(e, t, n) {
991
1001
  return Array.isArray(e) ? e.map(String).join(", ") : String(e);
992
1002
  const a = Pe(n, i);
993
1003
  return a.length ? a.map((o) => {
994
- const d = xe(o, i), c = Le(o, i);
1004
+ const d = Te(o, i), c = xe(o, i);
995
1005
  return c ? `${d} (${c})` : d;
996
1006
  }).filter(Boolean).join(", ") || null : String(e);
997
1007
  }
@@ -999,7 +1009,7 @@ function Ae(e, t, n) {
999
1009
  return String(e);
1000
1010
  }
1001
1011
  }
1002
- function jt(e, t, n) {
1012
+ function Ot(e, t, n) {
1003
1013
  const r = e.additional_config?.view_value;
1004
1014
  if (r?.mode === "api" || r?.mode === "api_ids" || r?.mode === "api_detail")
1005
1015
  return Ae(
@@ -1010,83 +1020,83 @@ function jt(e, t, n) {
1010
1020
  switch (e.field?.type?.code) {
1011
1021
  case "text":
1012
1022
  case "number":
1013
- return I(t) ? null : String(t);
1023
+ return G(t) ? null : String(t);
1014
1024
  case "datetime":
1015
- return xt(t, e);
1025
+ return Lt(t, e);
1016
1026
  case "select":
1017
1027
  case "radio":
1018
1028
  case "checkbox":
1019
- return Pt(t, e, n.optionList);
1029
+ return xt(t, e, n.optionList);
1020
1030
  case "image":
1021
1031
  case "file":
1022
- return Lt(t);
1032
+ return Ct(t);
1023
1033
  default:
1024
1034
  return r ? Ae(
1025
1035
  t,
1026
1036
  r,
1027
1037
  n.viewValueFetched
1028
- ) : I(t) ? null : String(t);
1038
+ ) : G(t) ? null : String(t);
1029
1039
  }
1030
1040
  }
1031
- const Q = /* @__PURE__ */ new Map(), Vt = 3e4;
1032
- function Ct(e) {
1033
- const t = Q.get(e);
1041
+ const X = /* @__PURE__ */ new Map(), Vt = 3e4;
1042
+ function qt(e) {
1043
+ const t = X.get(e);
1034
1044
  if (t) {
1035
1045
  if (Date.now() > t.expiresAt) {
1036
- Q.delete(e);
1046
+ X.delete(e);
1037
1047
  return;
1038
1048
  }
1039
1049
  return t.error;
1040
1050
  }
1041
1051
  }
1042
1052
  function Se(e, t) {
1043
- Q.set(e, {
1053
+ X.set(e, {
1044
1054
  error: t,
1045
1055
  expiresAt: Date.now() + Vt
1046
1056
  });
1047
1057
  }
1048
- function Z(e, t, n = !0) {
1049
- const r = M(), [i, a] = D(), [s, o] = D(!1), [d, c] = D(), _ = U(t), m = U(r);
1050
- _.current = t, m.current = r;
1058
+ function ee(e, t, n = !0) {
1059
+ const r = M(), [i, a] = P(), [s, o] = P(!1), [d, c] = P(), y = B(t), m = B(r);
1060
+ y.current = t, m.current = r;
1051
1061
  const l = le(e);
1052
- return C(() => {
1062
+ return V(() => {
1053
1063
  if (!n) {
1054
1064
  a(void 0), c(void 0), o(!1);
1055
1065
  return;
1056
1066
  }
1057
- const y = Ct(l);
1058
- if (y !== void 0) {
1059
- c(y), o(!1);
1067
+ const h = qt(l);
1068
+ if (h !== void 0) {
1069
+ c(h), o(!1);
1060
1070
  return;
1061
1071
  }
1062
1072
  const u = new AbortController();
1063
1073
  return o(!0), c(void 0), (async () => {
1064
1074
  try {
1065
- const b = await re(
1075
+ const _ = await re(
1066
1076
  m.current,
1067
1077
  "viewCache",
1068
1078
  l,
1069
- (w) => _.current(w),
1079
+ (w) => y.current(w),
1070
1080
  u.signal
1071
1081
  );
1072
- u.signal.aborted || (a(b), c(void 0));
1073
- } catch (b) {
1074
- u.signal.aborted || (Se(l, b), c(b));
1082
+ u.signal.aborted || (a(_), c(void 0));
1083
+ } catch (_) {
1084
+ u.signal.aborted || (Se(l, _), c(_));
1075
1085
  } finally {
1076
1086
  u.signal.aborted || o(!1);
1077
1087
  }
1078
1088
  })(), () => u.abort();
1079
1089
  }, [n, l]), { data: i, isLoading: s, error: d, refetch: async () => {
1080
- if (Q.delete(l), !n) return;
1081
- const y = new AbortController();
1090
+ if (X.delete(l), !n) return;
1091
+ const h = new AbortController();
1082
1092
  o(!0), c(void 0);
1083
1093
  try {
1084
1094
  const u = await re(
1085
1095
  m.current,
1086
1096
  "viewCache",
1087
1097
  l,
1088
- (v) => _.current(v),
1089
- y.signal
1098
+ (v) => y.current(v),
1099
+ h.signal
1090
1100
  );
1091
1101
  return a(u), u;
1092
1102
  } catch (u) {
@@ -1096,19 +1106,19 @@ function Z(e, t, n = !0) {
1096
1106
  }
1097
1107
  } };
1098
1108
  }
1099
- const Ot = ({ value: e, code: t, modeConfig: n }) => {
1100
- const { client: r, renderers: i, i18n: a } = M(), s = E(
1109
+ const Ut = ({ value: e, code: t, modeConfig: n }) => {
1110
+ const { client: r, renderers: i, i18n: a } = M(), s = R(
1101
1111
  () => (Array.isArray(e) ? e : [e]).filter(Boolean),
1102
1112
  [e]
1103
1113
  ), {
1104
1114
  data: o,
1105
1115
  isLoading: d,
1106
1116
  error: c
1107
- } = Z(
1117
+ } = ee(
1108
1118
  ["api_detail", t, s, n?.url, n?.method],
1109
1119
  async (l) => (await Promise.all(
1110
- s.map(async (y) => {
1111
- const u = J(n?.url || "", { id: y });
1120
+ s.map(async (h) => {
1121
+ const u = Q(n?.url || "", { id: h });
1112
1122
  return (await r.request({
1113
1123
  method: n?.method,
1114
1124
  url: u,
@@ -1117,86 +1127,86 @@ const Ot = ({ value: e, code: t, modeConfig: n }) => {
1117
1127
  })
1118
1128
  )).filter(Boolean),
1119
1129
  !!(s.length && n?.url)
1120
- ), _ = (l, p, y) => i.link ? i.link({ url: l, label: p, data: y }) : /* @__PURE__ */ f("a", { href: l, target: "_blank", rel: "noreferrer", children: p }), m = (l) => {
1121
- const p = n?.mapping_attr?.map((y) => l?.[y]).join(" - ");
1130
+ ), y = (l, p, h) => i.link ? i.link({ url: l, label: p, data: h }) : /* @__PURE__ */ f("a", { href: l, target: "_blank", rel: "noreferrer", children: p }), m = (l) => {
1131
+ const p = n?.mapping_attr?.map((h) => l?.[h]).join(" - ");
1122
1132
  if (n?.link) {
1123
- const y = J(n.link, l);
1124
- return _(y, p, l);
1133
+ const h = Q(n.link, l);
1134
+ return y(h, p, l);
1125
1135
  }
1126
1136
  return p;
1127
1137
  };
1128
- return d ? /* @__PURE__ */ f(L, { children: i.viewLoading?.() ?? /* @__PURE__ */ f(ae, { size: "small" }) }) : c ? /* @__PURE__ */ f(L, { children: i.viewError?.(c) ?? a.messages.viewError }) : o?.length ? /* @__PURE__ */ f(L, { children: o.map((l, p) => /* @__PURE__ */ f("div", { children: m(l) }, p)) }) : /* @__PURE__ */ f(L, { children: i.viewEmpty?.() ?? a.messages.viewEmpty });
1129
- }, Te = T(Ot), qt = ({ value: e, code: t, modeConfig: n }) => {
1138
+ return d ? /* @__PURE__ */ f(x, { children: i.viewLoading?.() ?? /* @__PURE__ */ f(ae, { size: "small" }) }) : c ? /* @__PURE__ */ f(x, { children: i.viewError?.(c) ?? a.messages.viewError }) : o?.length ? /* @__PURE__ */ f(x, { children: o.map((l, p) => /* @__PURE__ */ f("div", { children: m(l) }, p)) }) : /* @__PURE__ */ f(x, { children: i.viewEmpty?.() ?? a.messages.viewEmpty });
1139
+ }, Le = C(Ut), Bt = ({ value: e, code: t, modeConfig: n }) => {
1130
1140
  const { client: r, renderers: i, i18n: a } = M(), {
1131
1141
  data: s,
1132
1142
  isLoading: o,
1133
1143
  error: d
1134
- } = Z(
1144
+ } = ee(
1135
1145
  ["api_ids", t, e, n?.url, n?.method],
1136
1146
  async (m) => {
1137
- const l = n?.method || "GET", p = l.toUpperCase() === "POST", y = Array.isArray(e) ? e : [e], v = (await r.request({
1147
+ const l = n?.method || "GET", p = l.toUpperCase() === "POST", h = Array.isArray(e) ? e : [e], v = (await r.request({
1138
1148
  method: l,
1139
1149
  url: n?.url || "",
1140
- data: p ? { ids: y } : void 0,
1141
- params: p ? void 0 : { ids: y },
1150
+ data: p ? { ids: h } : void 0,
1151
+ params: p ? void 0 : { ids: h },
1142
1152
  signal: m
1143
- })).data, b = n?.data_path ? B(v, n.data_path) : v;
1144
- return Array.isArray(b) ? b : v;
1153
+ })).data, _ = n?.data_path ? I(v, n.data_path) : v;
1154
+ return Array.isArray(_) ? _ : v;
1145
1155
  },
1146
1156
  !!(e && n?.url)
1147
- ), c = (m, l, p) => i.link ? i.link({ url: m, label: l, data: p }) : /* @__PURE__ */ f("a", { href: m, target: "_blank", rel: "noreferrer", children: l }), _ = (m) => {
1157
+ ), c = (m, l, p) => i.link ? i.link({ url: m, label: l, data: p }) : /* @__PURE__ */ f("a", { href: m, target: "_blank", rel: "noreferrer", children: l }), y = (m) => {
1148
1158
  const l = n?.mapping_attr?.map((p) => m?.[p]).join(" - ");
1149
1159
  if (n?.link) {
1150
- const p = J(n.link, m);
1160
+ const p = Q(n.link, m);
1151
1161
  return c(p, l, m);
1152
1162
  }
1153
1163
  return l;
1154
1164
  };
1155
- return o ? /* @__PURE__ */ f(L, { children: i.viewLoading?.() ?? /* @__PURE__ */ f(ae, { size: "small" }) }) : d ? /* @__PURE__ */ f(L, { children: i.viewError?.(d) ?? a.messages.viewError }) : s ? Array.isArray(e) ? /* @__PURE__ */ f(ie, { vertical: !0, children: (Array.isArray(s) ? s : [s]).map((m, l) => /* @__PURE__ */ f("div", { children: _(m) }, m.id ?? l)) }) : _(
1165
+ return o ? /* @__PURE__ */ f(x, { children: i.viewLoading?.() ?? /* @__PURE__ */ f(ae, { size: "small" }) }) : d ? /* @__PURE__ */ f(x, { children: i.viewError?.(d) ?? a.messages.viewError }) : s ? Array.isArray(e) ? /* @__PURE__ */ f(ie, { vertical: !0, children: (Array.isArray(s) ? s : [s]).map((m, l) => /* @__PURE__ */ f("div", { children: y(m) }, m.id ?? l)) }) : y(
1156
1166
  Array.isArray(s) ? s[0] : s
1157
- ) : /* @__PURE__ */ f(L, { children: i.viewEmpty?.() ?? a.messages.viewEmpty });
1158
- }, Me = T(qt), Ut = ({
1167
+ ) : /* @__PURE__ */ f(x, { children: i.viewEmpty?.() ?? a.messages.viewEmpty });
1168
+ }, Ce = C(Bt), Gt = ({
1159
1169
  value: e,
1160
1170
  code: t,
1161
1171
  modeConfig: n,
1162
1172
  viewConfig: r
1163
1173
  }) => {
1164
- const { client: i, renderers: a, i18n: s } = M(), o = E(
1174
+ const { client: i, renderers: a, i18n: s } = M(), o = R(
1165
1175
  () => n ?? (r ? De(r) : void 0),
1166
1176
  [n, r]
1167
- ), d = E(
1177
+ ), d = R(
1168
1178
  () => ["api_view", t, e, o?.url, o?.method, o?.data_path],
1169
1179
  [t, e, o?.url, o?.method, o?.data_path]
1170
- ), c = x(
1171
- async (u) => o ? kt(
1180
+ ), c = T(
1181
+ async (u) => o ? Rt(
1172
1182
  e,
1173
1183
  o,
1174
1184
  (v) => i.request({ ...v, signal: u })
1175
1185
  ) : [],
1176
1186
  [i, o, e]
1177
- ), { data: _, isLoading: m, error: l } = Z(d, c, !!(e && o?.url)), p = (u, v, b) => a.link ? a.link({ url: u, label: v, data: b }) : /* @__PURE__ */ f("a", { href: u, target: "_blank", rel: "noreferrer", children: v }), y = (u, v) => {
1187
+ ), { data: y, isLoading: m, error: l } = ee(d, c, !!(e && o?.url)), p = (u, v, _) => a.link ? a.link({ url: u, label: v, data: _ }) : /* @__PURE__ */ f("a", { href: u, target: "_blank", rel: "noreferrer", children: v }), h = (u, v) => {
1178
1188
  if (!o) return null;
1179
- const b = xe(u, o), w = Le(u, o), h = w ? p(w, b, u) : b;
1180
- return /* @__PURE__ */ f("div", { children: h }, u.id ?? v);
1189
+ const _ = Te(u, o), w = xe(u, o), b = w ? p(w, _, u) : _;
1190
+ return /* @__PURE__ */ f("div", { children: b }, u.id ?? v);
1181
1191
  };
1182
- return m ? /* @__PURE__ */ f(L, { children: a.viewLoading?.() ?? /* @__PURE__ */ f(ae, { size: "small" }) }) : l ? /* @__PURE__ */ f(L, { children: a.viewError?.(l) ?? s.messages.viewError }) : _?.length ? o?.result_type === "object" && _.length === 1 ? y(_[0], 0) : /* @__PURE__ */ f(ie, { vertical: !0, children: _.map(y) }) : /* @__PURE__ */ f(L, { children: a.viewEmpty?.() ?? s.messages.viewEmpty });
1183
- }, je = T(Ut);
1192
+ return m ? /* @__PURE__ */ f(x, { children: a.viewLoading?.() ?? /* @__PURE__ */ f(ae, { size: "small" }) }) : l ? /* @__PURE__ */ f(x, { children: a.viewError?.(l) ?? s.messages.viewError }) : y?.length ? o?.result_type === "object" && y.length === 1 ? h(y[0], 0) : /* @__PURE__ */ f(ie, { vertical: !0, children: y.map(h) }) : /* @__PURE__ */ f(x, { children: a.viewEmpty?.() ?? s.messages.viewEmpty });
1193
+ }, Me = C(Gt);
1184
1194
  function It(e) {
1185
1195
  return !!(e.option_config && e.is_option_api);
1186
1196
  }
1187
- function Bt(e, t) {
1197
+ function Wt(e, t) {
1188
1198
  const n = M(), r = le([
1189
1199
  "viewModeOptions",
1190
1200
  e.map((a) => a.code),
1191
1201
  t
1192
- ]), { data: i } = Z(
1202
+ ]), { data: i } = ee(
1193
1203
  [r],
1194
1204
  async (a) => {
1195
1205
  const s = {};
1196
1206
  return await Promise.all(
1197
1207
  e.map(async (o) => {
1198
1208
  if (!o.option_config?.url) return;
1199
- const d = Et(o, t), c = o.option_config.method?.toUpperCase() === "GET" || !o.option_config.method, _ = await n.client.request({
1209
+ const d = Dt(o, t), c = o.option_config.method?.toUpperCase() === "GET" || !o.option_config.method, y = await n.client.request({
1200
1210
  method: o.option_config.method || "GET",
1201
1211
  url: o.option_config.url,
1202
1212
  params: c ? d?.params : void 0,
@@ -1204,7 +1214,7 @@ function Bt(e, t) {
1204
1214
  signal: a
1205
1215
  });
1206
1216
  s[o.code] = {
1207
- optionList: n.parsers.optionResponse(_.data, o)
1217
+ optionList: n.parsers.optionResponse(y.data, o)
1208
1218
  };
1209
1219
  })
1210
1220
  ), s;
@@ -1213,15 +1223,15 @@ function Bt(e, t) {
1213
1223
  );
1214
1224
  return i ?? {};
1215
1225
  }
1216
- const en = ({
1226
+ const nn = ({
1217
1227
  formConfig: e,
1218
1228
  formValues: t
1219
1229
  }) => {
1220
- const n = e?.form?.field_groups ?? [], r = E(
1230
+ const n = e?.form?.field_groups ?? [], r = R(
1221
1231
  () => n.filter(It),
1222
1232
  [n]
1223
- ), i = Bt(r, t);
1224
- return E(() => n.filter((s) => !s.is_hidden).map((s) => {
1233
+ ), i = Wt(r, t);
1234
+ return R(() => n.filter((s) => !s.is_hidden).map((s) => {
1225
1235
  const o = t?.[s.code], d = s.additional_config?.view_value, c = d?.mode;
1226
1236
  if (c === "api" && d)
1227
1237
  return {
@@ -1229,7 +1239,7 @@ const en = ({
1229
1239
  label: s.label,
1230
1240
  rawValue: o,
1231
1241
  viewValue: /* @__PURE__ */ f(
1232
- je,
1242
+ Me,
1233
1243
  {
1234
1244
  code: s.code,
1235
1245
  value: o,
@@ -1244,7 +1254,7 @@ const en = ({
1244
1254
  label: s.label,
1245
1255
  rawValue: o,
1246
1256
  viewValue: /* @__PURE__ */ f(
1247
- Me,
1257
+ Ce,
1248
1258
  {
1249
1259
  code: s.code,
1250
1260
  value: o,
@@ -1259,7 +1269,7 @@ const en = ({
1259
1269
  label: s.label,
1260
1270
  rawValue: o,
1261
1271
  viewValue: /* @__PURE__ */ f(
1262
- Te,
1272
+ Le,
1263
1273
  {
1264
1274
  code: s.code,
1265
1275
  value: o,
@@ -1268,16 +1278,16 @@ const en = ({
1268
1278
  ),
1269
1279
  field_group: s
1270
1280
  };
1271
- const _ = i[s.code] ?? {};
1281
+ const y = i[s.code] ?? {};
1272
1282
  return {
1273
1283
  key: s.code,
1274
1284
  label: s.label,
1275
1285
  rawValue: o,
1276
- viewValue: jt(s, o, _),
1286
+ viewValue: Ot(s, o, y),
1277
1287
  field_group: s
1278
1288
  };
1279
1289
  }), [i, n, t]);
1280
- }, Wt = ({
1290
+ }, Kt = ({
1281
1291
  code: e,
1282
1292
  value: t,
1283
1293
  fieldGroup: n
@@ -1287,19 +1297,19 @@ const en = ({
1287
1297
  case "raw":
1288
1298
  return t;
1289
1299
  case "api":
1290
- return /* @__PURE__ */ f(je, { code: e, value: t, viewConfig: r });
1300
+ return /* @__PURE__ */ f(Me, { code: e, value: t, viewConfig: r });
1291
1301
  case "api_ids": {
1292
1302
  const i = r?.api_ids;
1293
- return /* @__PURE__ */ f(Me, { code: e, value: t, modeConfig: i });
1303
+ return /* @__PURE__ */ f(Ce, { code: e, value: t, modeConfig: i });
1294
1304
  }
1295
1305
  case "api_detail": {
1296
1306
  const i = r?.api_detail;
1297
- return /* @__PURE__ */ f(Te, { code: e, value: t, modeConfig: i });
1307
+ return /* @__PURE__ */ f(Le, { code: e, value: t, modeConfig: i });
1298
1308
  }
1299
1309
  default:
1300
1310
  return t;
1301
1311
  }
1302
- }, tn = T(Wt), Ve = {
1312
+ }, rn = C(Kt), je = {
1303
1313
  submit: "Save",
1304
1314
  submitError: "Failed to submit form",
1305
1315
  inputPlaceholder: (e) => `Enter ${e}`,
@@ -1310,9 +1320,9 @@ const en = ({
1310
1320
  viewLoading: "Loading...",
1311
1321
  viewEmpty: "-",
1312
1322
  viewError: "Failed to load"
1313
- }, nn = {
1314
- messages: Ve
1315
- }, Gt = (e) => {
1323
+ }, an = {
1324
+ messages: je
1325
+ }, $t = (e) => {
1316
1326
  if (Array.isArray(e)) return e;
1317
1327
  if (e && typeof e == "object" && "items" in e && Array.isArray(e.items))
1318
1328
  return e.items;
@@ -1321,14 +1331,14 @@ const en = ({
1321
1331
  return Array.isArray(t.items) ? t.items : [];
1322
1332
  }
1323
1333
  return [];
1324
- }, Kt = (e) => ({
1334
+ }, zt = (e) => ({
1325
1335
  redirectUrl: e?.redirect_after_create,
1326
1336
  data: e
1327
- }), $t = (e, t) => t?.dataPath ? B(e, t.dataPath) : e, te = {
1328
- optionResponse: Gt,
1329
- submitResponse: Kt,
1330
- viewResponse: $t
1331
- }, zt = (e, t = "_blank") => {
1337
+ }), Ht = (e, t) => t?.dataPath ? I(e, t.dataPath) : e, te = {
1338
+ optionResponse: $t,
1339
+ submitResponse: zt,
1340
+ viewResponse: Ht
1341
+ }, Yt = (e, t = "_blank") => {
1332
1342
  window.open(e, t);
1333
1343
  }, ne = {
1334
1344
  upload: async () => {
@@ -1336,7 +1346,7 @@ const en = ({
1336
1346
  },
1337
1347
  remove: async () => !1
1338
1348
  };
1339
- function rn({
1349
+ function on({
1340
1350
  children: e,
1341
1351
  client: t,
1342
1352
  upload: n,
@@ -1348,37 +1358,37 @@ function rn({
1348
1358
  submitDebounceMs: d = 200,
1349
1359
  redirectHandler: c,
1350
1360
  // legacy props
1351
- requestClient: _,
1361
+ requestClient: y,
1352
1362
  uploadAdapter: m,
1353
1363
  deleteUploadAdapter: l,
1354
1364
  messages: p,
1355
- optionResponseParser: y,
1365
+ optionResponseParser: h,
1356
1366
  customFieldRenderers: u
1357
1367
  }) {
1358
- const v = U(/* @__PURE__ */ new Map()), b = U(/* @__PURE__ */ new Map()), w = E(() => {
1359
- const h = t ?? {
1360
- request: _ ?? (() => {
1368
+ const v = B(/* @__PURE__ */ new Map()), _ = B(/* @__PURE__ */ new Map()), w = R(() => {
1369
+ const b = t ?? {
1370
+ request: y ?? (() => {
1361
1371
  throw new Error("DynamicFormProvider requires client or requestClient");
1362
1372
  })
1363
- }, S = u ? Object.entries(u).map(([F, R]) => ({
1364
- match: F,
1365
- render: R
1373
+ }, S = u ? Object.entries(u).map(([k, D]) => ({
1374
+ match: k,
1375
+ render: D
1366
1376
  })) : [], A = {
1367
- ...Ve,
1377
+ ...je,
1368
1378
  ...r?.messages,
1369
1379
  ...p
1370
1380
  }, g = {
1371
1381
  ...ne,
1372
1382
  ...n,
1373
1383
  upload: n?.upload ?? m ?? ne.upload,
1374
- remove: n?.remove ?? (l ? (F) => l(F.path) : ne.remove)
1384
+ remove: n?.remove ?? (l ? (k) => l(k.path) : ne.remove)
1375
1385
  };
1376
1386
  return {
1377
- client: h,
1387
+ client: b,
1378
1388
  upload: g,
1379
1389
  i18n: { messages: A },
1380
1390
  parsers: {
1381
- optionResponse: i?.optionResponse ?? y ?? te.optionResponse,
1391
+ optionResponse: i?.optionResponse ?? h ?? te.optionResponse,
1382
1392
  submitResponse: i?.submitResponse ?? te.submitResponse,
1383
1393
  viewResponse: i?.viewResponse ?? te.viewResponse
1384
1394
  },
@@ -1392,13 +1402,13 @@ function rn({
1392
1402
  ttlMs: o?.ttlMs ?? 6e4
1393
1403
  },
1394
1404
  submitDebounceMs: d,
1395
- redirectHandler: c ?? zt,
1405
+ redirectHandler: c ?? Yt,
1396
1406
  optionCache: v.current,
1397
- viewCache: b.current
1407
+ viewCache: _.current
1398
1408
  };
1399
1409
  }, [
1400
1410
  t,
1401
- _,
1411
+ y,
1402
1412
  n,
1403
1413
  m,
1404
1414
  l,
@@ -1407,7 +1417,7 @@ function rn({
1407
1417
  i?.optionResponse,
1408
1418
  i?.submitResponse,
1409
1419
  i?.viewResponse,
1410
- y,
1420
+ h,
1411
1421
  a,
1412
1422
  u,
1413
1423
  s,
@@ -1418,7 +1428,7 @@ function rn({
1418
1428
  ]);
1419
1429
  return /* @__PURE__ */ f(oe.Provider, { value: w, children: e });
1420
1430
  }
1421
- function an(e) {
1431
+ function sn(e) {
1422
1432
  return {
1423
1433
  request: async (t) => ({ data: (await e({
1424
1434
  method: t.method,
@@ -1432,55 +1442,55 @@ function an(e) {
1432
1442
  };
1433
1443
  }
1434
1444
  export {
1435
- Te as ApiDetailItem,
1436
- Me as ApiItem,
1437
- je as ApiViewItem,
1438
- vt as DefaultLayout,
1439
- St as DynamicForm,
1440
- rn as DynamicFormProvider,
1441
- bt as FormItem,
1442
- tn as MetaItemValue,
1443
- Ft as buildApiViewRequests,
1445
+ Le as ApiDetailItem,
1446
+ Ce as ApiItem,
1447
+ Me as ApiViewItem,
1448
+ gt as DefaultLayout,
1449
+ kt as DynamicForm,
1450
+ on as DynamicFormProvider,
1451
+ wt as FormItem,
1452
+ rn as MetaItemValue,
1453
+ Et as buildApiViewRequests,
1444
1454
  le as buildCacheKey,
1445
1455
  re as cachedRequest,
1446
- an as createAxiosDynamicFormClient,
1456
+ sn as createAxiosDynamicFormClient,
1447
1457
  se as debounce,
1448
- nn as defaultI18n,
1449
- Ve as defaultMessages,
1450
- Gt as defaultOptionResponseParser,
1458
+ an as defaultI18n,
1459
+ je as defaultMessages,
1460
+ $t as defaultOptionResponseParser,
1451
1461
  te as defaultParsers,
1452
- zt as defaultRedirectHandler,
1453
- Kt as defaultSubmitResponseParser,
1454
- $t as defaultViewResponseParser,
1455
- mt as extractDependencyFields,
1462
+ Yt as defaultRedirectHandler,
1463
+ zt as defaultSubmitResponseParser,
1464
+ Ht as defaultViewResponseParser,
1465
+ pt as extractDependencyFields,
1456
1466
  Pe as extractViewData,
1457
- kt as fetchApiViewItems,
1458
- J as fillTemplate,
1459
- B as getByPath,
1460
- ct as getCached,
1461
- xe as getMappedLabel,
1462
- Le as getMappedLink,
1463
- I as isEmptyValue,
1464
- et as mapOptionToSelectItem,
1465
- tt as mapOptions,
1467
+ Rt as fetchApiViewItems,
1468
+ Q as fillTemplate,
1469
+ I as getByPath,
1470
+ dt as getCached,
1471
+ Te as getMappedLabel,
1472
+ xe as getMappedLink,
1473
+ G as isEmptyValue,
1474
+ tt as mapOptionToSelectItem,
1475
+ nt as mapOptions,
1466
1476
  De as normalizeApiViewConfig,
1467
- Zt as normalizeMetaForForm,
1468
- ft as parseFormValues,
1469
- O as replaceTemplateInObject,
1470
- Et as resolveApiOptionMeta,
1471
- Xe as resolveFieldRenderer,
1472
- Ze as resolveFieldRendererFromMap,
1473
- jt as resolveFieldViewValue,
1477
+ tn as normalizeMetaForForm,
1478
+ mt as parseFormValues,
1479
+ q as replaceTemplateInObject,
1480
+ Dt as resolveApiOptionMeta,
1481
+ Ze as resolveFieldRenderer,
1482
+ et as resolveFieldRendererFromMap,
1483
+ Ot as resolveFieldViewValue,
1474
1484
  Ae as resolveViewValueConfig,
1475
- dt as setCache,
1476
- Z as useCachedViewRequest,
1477
- pt as useDependencyValues,
1478
- lt as useDynamicField,
1485
+ ut as setCache,
1486
+ ee as useCachedViewRequest,
1487
+ yt as useDependencyValues,
1488
+ ct as useDynamicField,
1479
1489
  M as useDynamicFormContext,
1480
- Xt as useDynamicFormContextOptional,
1481
- ht as useDynamicOptions,
1482
- wt as useFieldGroups,
1483
- gt as useFieldStates,
1484
- At as useProcessedValues,
1485
- en as useViewMode
1490
+ en as useDynamicFormContextOptional,
1491
+ bt as useDynamicOptions,
1492
+ At as useFieldGroups,
1493
+ St as useFieldStates,
1494
+ Ft as useProcessedValues,
1495
+ nn as useViewMode
1486
1496
  };