@alfakit/vue 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/components/actions/ActionButton.js.map +1 -1
  3. package/dist/components/actions/ActionButton.vue.d.ts.map +1 -1
  4. package/dist/components/actions/ActionButton.vue_vue_type_script_setup_true_lang.js +160 -159
  5. package/dist/components/actions/ActionButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  6. package/dist/components/actions/ActionModal.js.map +1 -1
  7. package/dist/components/actions/ActionModal.vue.d.ts.map +1 -1
  8. package/dist/components/actions/ActionModal.vue_vue_type_script_setup_true_lang.js +214 -214
  9. package/dist/components/actions/ActionModal.vue_vue_type_script_setup_true_lang.js.map +1 -1
  10. package/dist/components/cms/CmsLinkButton.vue.d.ts +1 -1
  11. package/dist/components/fields/ColorPickerField.js.map +1 -1
  12. package/dist/components/fields/ColorPickerField.vue.d.ts.map +1 -1
  13. package/dist/components/fields/ColorPickerField.vue_vue_type_script_setup_true_lang.js +1 -0
  14. package/dist/components/fields/ColorPickerField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  15. package/dist/components/fields/ComboboxSelect.js.map +1 -1
  16. package/dist/components/fields/ComboboxSelect.vue.d.ts.map +1 -1
  17. package/dist/components/fields/ComboboxSelect.vue_vue_type_script_setup_true_lang.js +1 -1
  18. package/dist/components/fields/ComboboxSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  19. package/dist/components/fields/FileUploadField.js.map +1 -1
  20. package/dist/components/fields/FileUploadField.vue.d.ts.map +1 -1
  21. package/dist/components/fields/FileUploadField.vue_vue_type_script_setup_true_lang.js +183 -183
  22. package/dist/components/fields/FileUploadField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  23. package/dist/components/fields/OneTimeCodeInputField.js.map +1 -1
  24. package/dist/components/fields/OneTimeCodeInputField.vue_vue_type_script_setup_true_lang.js +1 -2
  25. package/dist/components/fields/OneTimeCodeInputField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  26. package/dist/components/fields/SelectField.js.map +1 -1
  27. package/dist/components/fields/SelectField.vue.d.ts.map +1 -1
  28. package/dist/components/fields/SelectField.vue_vue_type_script_setup_true_lang.js +2 -2
  29. package/dist/components/fields/SelectField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  30. package/dist/components/fields/TableColumnHeaders.js.map +1 -1
  31. package/dist/components/fields/TableColumnHeaders.vue.d.ts.map +1 -1
  32. package/dist/components/fields/TableColumnHeaders.vue_vue_type_script_setup_true_lang.js +6 -3
  33. package/dist/components/fields/TableColumnHeaders.vue_vue_type_script_setup_true_lang.js.map +1 -1
  34. package/dist/components/file-manager/FileManagerView.js.map +1 -1
  35. package/dist/components/file-manager/FileManagerView.vue_vue_type_script_setup_true_lang.js +1 -1
  36. package/dist/components/file-manager/FileManagerView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  37. package/dist/components/form/FormBlock.js.map +1 -1
  38. package/dist/components/form/FormBlock.vue.d.ts.map +1 -1
  39. package/dist/components/form/FormBlock.vue_vue_type_script_setup_true_lang.js +81 -77
  40. package/dist/components/form/FormBlock.vue_vue_type_script_setup_true_lang.js.map +1 -1
  41. package/dist/components/form/form-context.js +25 -25
  42. package/dist/components/form/form-context.js.map +1 -1
  43. package/dist/components/layout/FusedGroupComponent.js.map +1 -1
  44. package/dist/components/layout/FusedGroupComponent.vue.d.ts.map +1 -1
  45. package/dist/components/layout/FusedGroupComponent.vue_vue_type_script_setup_true_lang.js +1 -0
  46. package/dist/components/layout/FusedGroupComponent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  47. package/dist/components/layout/TabsComponent.js.map +1 -1
  48. package/dist/components/layout/TabsComponent.vue.d.ts.map +1 -1
  49. package/dist/components/layout/TabsComponent.vue_vue_type_script_setup_true_lang.js +76 -55
  50. package/dist/components/layout/TabsComponent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  51. package/dist/components/notifications/NotificationsMenu.js.map +1 -1
  52. package/dist/components/notifications/NotificationsMenu.vue.d.ts.map +1 -1
  53. package/dist/components/notifications/NotificationsMenu.vue_vue_type_script_setup_true_lang.js +44 -42
  54. package/dist/components/notifications/NotificationsMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  55. package/dist/components/panel/GlobalSearch.js.map +1 -1
  56. package/dist/components/panel/GlobalSearch.vue.d.ts.map +1 -1
  57. package/dist/components/panel/GlobalSearch.vue_vue_type_script_setup_true_lang.js +1 -0
  58. package/dist/components/panel/GlobalSearch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  59. package/dist/components/panel/ShortcutKeys.js.map +1 -1
  60. package/dist/components/panel/ShortcutKeys.vue.d.ts.map +1 -1
  61. package/dist/components/panel/ShortcutKeys.vue_vue_type_script_setup_true_lang.js +4 -1
  62. package/dist/components/panel/ShortcutKeys.vue_vue_type_script_setup_true_lang.js.map +1 -1
  63. package/dist/components/panel/TenantMenu.js.map +1 -1
  64. package/dist/components/panel/TenantMenu.vue_vue_type_script_setup_true_lang.js +2 -2
  65. package/dist/components/panel/TenantMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  66. package/dist/components/table/GroupHeaderRow.js.map +1 -1
  67. package/dist/components/table/GroupHeaderRow.vue.d.ts.map +1 -1
  68. package/dist/components/table/GroupHeaderRow.vue_vue_type_script_setup_true_lang.js +55 -34
  69. package/dist/components/table/GroupHeaderRow.vue_vue_type_script_setup_true_lang.js.map +1 -1
  70. package/dist/components/table/SelectCell.js.map +1 -1
  71. package/dist/components/table/SelectCell.vue.d.ts.map +1 -1
  72. package/dist/components/table/SelectCell.vue_vue_type_script_setup_true_lang.js +24 -19
  73. package/dist/components/table/SelectCell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  74. package/dist/components/table/TextInputCell.js.map +1 -1
  75. package/dist/components/table/TextInputCell.vue.d.ts.map +1 -1
  76. package/dist/components/table/TextInputCell.vue_vue_type_script_setup_true_lang.js +38 -33
  77. package/dist/components/table/TextInputCell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  78. package/dist/components.css +347 -0
  79. package/dist/eject-manifest.json +2 -2
  80. package/dist/lib/Icon.js.map +1 -1
  81. package/dist/lib/Icon.vue.d.ts.map +1 -1
  82. package/dist/lib/Icon.vue_vue_type_script_setup_true_lang.js +18 -19
  83. package/dist/lib/Icon.vue_vue_type_script_setup_true_lang.js.map +1 -1
  84. package/dist/lib/hydration.d.ts +9 -0
  85. package/dist/lib/hydration.d.ts.map +1 -0
  86. package/dist/lib/hydration.js +17 -0
  87. package/dist/lib/hydration.js.map +1 -0
  88. package/dist/lib/icons.d.ts +3 -5
  89. package/dist/lib/icons.d.ts.map +1 -1
  90. package/dist/lib/icons.js +19 -22
  91. package/dist/lib/icons.js.map +1 -1
  92. package/dist/lib/lazy.d.ts +1 -1
  93. package/dist/lib/lazy.d.ts.map +1 -1
  94. package/dist/lib/lazy.js +12 -11
  95. package/dist/lib/lazy.js.map +1 -1
  96. package/dist/standalone/AlfakitToaster.js.map +1 -1
  97. package/dist/standalone/AlfakitToaster.vue.d.ts.map +1 -1
  98. package/dist/standalone/AlfakitToaster.vue_vue_type_script_setup_true_lang.js +23 -15
  99. package/dist/standalone/AlfakitToaster.vue_vue_type_script_setup_true_lang.js.map +1 -1
  100. package/dist/standalone.css +47 -0
  101. package/dist/starter-kit/widgets/SearchTrigger.js.map +1 -1
  102. package/dist/starter-kit/widgets/SearchTrigger.vue.d.ts.map +1 -1
  103. package/dist/starter-kit/widgets/SearchTrigger.vue_vue_type_script_setup_true_lang.js +1 -0
  104. package/dist/starter-kit/widgets/SearchTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  105. package/dist/starter-kit/widgets/TenantChooser.js.map +1 -1
  106. package/dist/starter-kit/widgets/TenantChooser.vue_vue_type_script_setup_true_lang.js +1 -1
  107. package/dist/starter-kit/widgets/TenantChooser.vue_vue_type_script_setup_true_lang.js.map +1 -1
  108. package/dist/themes.css +2 -334
  109. package/package.json +3 -3
  110. package/src/components/actions/ActionButton.vue +14 -6
  111. package/src/components/actions/ActionModal.vue +3 -1
  112. package/src/components/fields/ColorPickerField.vue +1 -0
  113. package/src/components/fields/ComboboxSelect.vue +1 -1
  114. package/src/components/fields/FileUploadField.vue +14 -11
  115. package/src/components/fields/OneTimeCodeInputField.vue +1 -1
  116. package/src/components/fields/SelectField.vue +4 -2
  117. package/src/components/fields/TableColumnHeaders.vue +6 -1
  118. package/src/components/file-manager/FileManagerView.vue +1 -1
  119. package/src/components/form/FormBlock.vue +24 -0
  120. package/src/components/form/form-context.ts +2 -2
  121. package/src/components/layout/FusedGroupComponent.vue +1 -0
  122. package/src/components/layout/TabsComponent.vue +61 -5
  123. package/src/components/notifications/NotificationsMenu.vue +11 -0
  124. package/src/components/panel/GlobalSearch.vue +1 -0
  125. package/src/components/panel/ShortcutKeys.vue +1 -0
  126. package/src/components/panel/TenantMenu.vue +2 -2
  127. package/src/components/table/GroupHeaderRow.vue +27 -0
  128. package/src/components/table/SelectCell.vue +5 -2
  129. package/src/components/table/TextInputCell.vue +11 -5
  130. package/src/lib/Icon.vue +6 -5
  131. package/src/lib/hydration.ts +35 -0
  132. package/src/lib/icons.ts +6 -11
  133. package/src/lib/lazy.ts +5 -6
  134. package/src/standalone/AlfakitToaster.vue +12 -2
  135. package/src/starter-kit/widgets/SearchTrigger.vue +1 -0
  136. package/src/starter-kit/widgets/TenantChooser.vue +1 -1
@@ -1,26 +1,26 @@
1
- import { useChoice as e, usePanel as t, useT as n } from "../../context.js";
2
- import { cn as r } from "../../lib/utils.js";
3
- import { useStore as i } from "../../composables/use-store.js";
4
- import a from "../ui/Button2.js";
5
- import o from "../ui/Spinner.js";
6
- import { useField as s, useFormStore as c } from "../form/form-context.js";
7
- import { lazyComponent as ee } from "../../lib/lazy.js";
8
- import te from "../schema/FieldWrapper.js";
9
- import { canEditImage as ne, concurrencyLimiter as re, cssAspectRatio as ie, editableImageName as l, fetchEditableImage as ae, fieldMemory as u, fileUploadAccept as oe, fileUploadPaths as se, filesFromClipboard as ce, formatBytes as le, insertUploadedFile as ue, moveRepeaterItem as de, panelUploadOptions as fe, requestJson as pe, transformImage as me, uploadTemporaryFile as he, uploadedFileLinks as d } from "@alfakit/core";
10
- import { Fragment as f, computed as p, createBlock as m, createCommentVNode as h, createElementBlock as g, createElementVNode as _, createVNode as v, defineComponent as y, normalizeClass as b, normalizeStyle as ge, openBlock as x, ref as S, renderList as _e, shallowRef as ve, toDisplayString as C, unref as w, watch as ye, withCtx as T, withKeys as be, withModifiers as E } from "vue";
11
- import { ChevronDownIcon as xe, ChevronUpIcon as Se, DownloadIcon as Ce, ExternalLinkIcon as we, FileIcon as Te, PencilIcon as Ee, UploadCloudIcon as De, XIcon as D } from "@lucide/vue";
1
+ import { useChoice as e, useFormatter as t, usePanel as n, useT as r } from "../../context.js";
2
+ import { cn as i } from "../../lib/utils.js";
3
+ import { useStore as a } from "../../composables/use-store.js";
4
+ import o from "../ui/Button2.js";
5
+ import s from "../ui/Spinner.js";
6
+ import { useField as c, useFormStore as ee } from "../form/form-context.js";
7
+ import { lazyComponent as te } from "../../lib/lazy.js";
8
+ import ne from "../schema/FieldWrapper.js";
9
+ import { canEditImage as re, concurrencyLimiter as ie, cssAspectRatio as ae, editableImageName as oe, fetchEditableImage as se, fieldMemory as l, fileManagerSize as u, fileUploadAccept as ce, fileUploadPaths as le, filesFromClipboard as ue, insertUploadedFile as de, moveRepeaterItem as fe, panelUploadOptions as pe, requestJson as me, transformImage as he, uploadTemporaryFile as ge, uploadedFileLinks as d } from "@alfakit/core";
10
+ import { Fragment as _e, computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createVNode as _, defineComponent as v, normalizeClass as y, normalizeStyle as ve, openBlock as b, ref as x, renderList as ye, shallowRef as be, toDisplayString as S, unref as C, watch as xe, withCtx as w, withKeys as T, withModifiers as E } from "vue";
11
+ import { ChevronDownIcon as Se, ChevronUpIcon as Ce, DownloadIcon as we, ExternalLinkIcon as Te, FileIcon as Ee, PencilIcon as De, UploadCloudIcon as Oe, XIcon as ke } from "@lucide/vue";
12
12
  //#region src/components/fields/FileUploadField.vue?vue&type=script&setup=true&lang.ts
13
- var Oe = ["data-layout"], ke = [
13
+ var Ae = ["data-layout"], je = [
14
14
  "draggable",
15
15
  "onDragstart",
16
16
  "onDrop"
17
- ], Ae = ["src", "onError"], je = {
17
+ ], Me = ["src", "onError"], Ne = {
18
18
  key: 4,
19
19
  class: "min-w-0 flex-1"
20
- }, Me = { class: "truncate font-medium" }, Ne = ["href", "aria-label"], Pe = ["href", "aria-label"], Fe = ["data-align", "aria-describedby"], Ie = { key: 0 }, Le = {
20
+ }, Pe = { class: "truncate font-medium" }, Fe = ["href", "aria-label"], Ie = ["href", "aria-label"], Le = ["data-align", "aria-describedby"], Re = { key: 0 }, ze = {
21
21
  key: 1,
22
22
  class: "text-muted-foreground text-xs"
23
- }, Re = [
23
+ }, Be = [
24
24
  "id",
25
25
  "aria-invalid",
26
26
  "aria-describedby",
@@ -28,70 +28,70 @@ var Oe = ["data-layout"], ke = [
28
28
  "multiple",
29
29
  "accept",
30
30
  "disabled"
31
- ], ze = ee("ImageEditorDialog", () => import("./ImageEditorDialog.js").then((e) => e.default), y({
31
+ ], Ve = te("ImageEditorDialog", () => import("./ImageEditorDialog.js").then((e) => e.default), v({
32
32
  name: "ImageEditorDialogLoading",
33
33
  render: () => null
34
- })), O = /*@__PURE__*/ y({
34
+ })), D = /*@__PURE__*/ v({
35
35
  __name: "FileUploadField",
36
36
  props: { component: {} },
37
- setup(ee) {
38
- let y = ee, O = n(), Be = e(), k = t(), { value: Ve, setValue: He, error: Ue, id: A, disabled: We, readOnly: Ge, aria: j } = s(() => y.component), M = p(() => We.value || Ge.value), N = c(), P = u(N, `${y.component.statePath}:uploading`, () => []), F = u(N, `${y.component.statePath}:uploaded`, () => []), Ke = i(P), qe = i(F), I = p({
39
- get: () => Ke.value,
37
+ setup(te) {
38
+ let v = te, D = r(), O = t(), He = e(), k = n(), { value: Ue, setValue: We, error: Ge, id: Ke, disabled: qe, readOnly: Je, aria: A } = c(() => v.component), j = f(() => qe.value || Je.value), M = ee(), N = l(M, `${v.component.statePath}:uploading`, () => []), P = l(M, `${v.component.statePath}:uploaded`, () => []), Ye = a(N), Xe = a(P), F = f({
39
+ get: () => Ye.value,
40
+ set: (e) => N.set(e)
41
+ }), I = f({
42
+ get: () => Xe.value,
40
43
  set: (e) => P.set(e)
41
- }), L = p({
42
- get: () => qe.value,
43
- set: (e) => F.set(e)
44
- }), R = S(!1), z = S(null), B = S(null), V = ve(null), Je = S(!1);
45
- ye(V, (e) => {
46
- e && (Je.value = !0);
44
+ }), L = x(!1), R = x(null), z = x(null), B = be(null), Ze = x(!1);
45
+ xe(B, (e) => {
46
+ e && (Ze.value = !0);
47
47
  });
48
- let Ye = (e) => new Promise((t) => {
49
- V.value = {
48
+ let V = (e) => new Promise((t) => {
49
+ B.value = {
50
50
  file: e,
51
51
  resolve: (e) => {
52
- V.value = null, t(e);
52
+ B.value = null, t(e);
53
53
  }
54
54
  };
55
- }), Xe = u(N, `${y.component.statePath}:previews`, () => /* @__PURE__ */ new Set()).get(), Ze = (e) => {
56
- e && Xe.delete(e) && URL.revokeObjectURL(e);
57
- }, H = p(() => se(Ve.value)), U = p(() => H.value.map((e) => [...y.component.files, ...L.value].find((t) => t.path === e) ?? {
55
+ }), H = l(M, `${v.component.statePath}:previews`, () => /* @__PURE__ */ new Set()).get(), U = (e) => {
56
+ e && H.delete(e) && URL.revokeObjectURL(e);
57
+ }, W = f(() => le(Ue.value)), G = f(() => W.value.map((e) => [...v.component.files, ...I.value].find((t) => t.path === e) ?? {
58
58
  path: e,
59
59
  name: e.replace(/^tmp:/, "")
60
- })), W = p(() => y.component.multiple ? y.component.maxFiles ?? Infinity : 1), Qe = p(() => U.value.length + I.value.length < W.value), G = p(() => y.component.panelLayout === "circle" || y.component.avatar), $e = p(() => y.component.panelLayout === "integrated" && !G.value), et = p(() => y.component.positions?.removeButton === "start"), tt = p(() => y.component.positions?.progressIndicator === "start"), K = p(() => y.component.positions?.uploadButton ?? "center"), q = (e) => He(y.component.multiple ? e : e[0] ?? null), J = async (e) => {
60
+ })), K = f(() => v.component.multiple ? v.component.maxFiles ?? Infinity : 1), Qe = f(() => G.value.length + F.value.length < K.value), q = f(() => v.component.panelLayout === "circle" || v.component.avatar), $e = f(() => v.component.panelLayout === "integrated" && !q.value), et = f(() => v.component.positions?.removeButton === "start"), tt = f(() => v.component.positions?.progressIndicator === "start"), J = f(() => v.component.positions?.uploadButton ?? "center"), Y = (e) => We(v.component.multiple ? e : e[0] ?? null), X = async (e) => {
61
61
  let t = k.value.endpoints.upload;
62
62
  if (!t) return;
63
- let n = Array.from(e).slice(0, Math.max(0, W.value - U.value.length - I.value.length)), r = re(y.component.maxParallelUploads ?? 1), i = [];
63
+ let n = Array.from(e).slice(0, Math.max(0, K.value - G.value.length - F.value.length)), r = ie(v.component.maxParallelUploads ?? 1), i = [];
64
64
  for (let [e, a] of n.entries()) {
65
- let n = a, o = !!(y.component.imageEditor && ne(a));
65
+ let n = a, o = !!(v.component.imageEditor && re(a));
66
66
  if (o) {
67
- let e = await Ye(a);
67
+ let e = await V(a);
68
68
  if (!e) continue;
69
69
  n = e;
70
70
  }
71
71
  let s = await nt(n, o);
72
72
  if (!s) continue;
73
73
  let c = rt(s, e);
74
- I.value = [...I.value, c], i.push(r(() => Y(t, s, c)));
74
+ F.value = [...F.value, c], i.push(r(() => ot(t, s, c)));
75
75
  }
76
76
  await Promise.all(i);
77
77
  }, nt = async (e, t) => {
78
- let n = y.component.imageCropAspectRatio || y.component.imageResizeTargetWidth || y.component.imageResizeTargetHeight || y.component.orientImagesFromExif ? await me(e, {
79
- aspectRatio: t ? null : y.component.imageCropAspectRatio,
80
- mode: y.component.imageResizeMode,
81
- width: y.component.imageResizeTargetWidth,
82
- height: y.component.imageResizeTargetHeight,
83
- orient: y.component.orientImagesFromExif
78
+ let n = v.component.imageCropAspectRatio || v.component.imageResizeTargetWidth || v.component.imageResizeTargetHeight || v.component.orientImagesFromExif ? await he(e, {
79
+ aspectRatio: t ? null : v.component.imageCropAspectRatio,
80
+ mode: v.component.imageResizeMode,
81
+ width: v.component.imageResizeTargetWidth,
82
+ height: v.component.imageResizeTargetHeight,
83
+ orient: v.component.orientImagesFromExif
84
84
  }) : e;
85
- return y.component.minSize && n.size < y.component.minSize * 1024 ? (I.value = [...I.value, {
85
+ return v.component.minSize && n.size < v.component.minSize * 1024 ? (F.value = [...F.value, {
86
86
  path: n.name,
87
87
  name: n.name,
88
88
  size: n.size,
89
- error: O("form.file_too_small", {}, "This file is too small.")
90
- }], null) : y.component.maxSize && n.size > y.component.maxSize * 1024 ? (I.value = [...I.value, {
89
+ error: D("form.file_too_small", {}, "This file is too small.")
90
+ }], null) : v.component.maxSize && n.size > v.component.maxSize * 1024 ? (F.value = [...F.value, {
91
91
  path: n.name,
92
92
  name: n.name,
93
93
  size: n.size,
94
- error: O("form.file_too_large", {}, "This file is too large.")
94
+ error: D("form.file_too_large", {}, "This file is too large.")
95
95
  }], null) : n;
96
96
  }, rt = (e, t) => {
97
97
  let n = {
@@ -101,177 +101,177 @@ var Oe = ["data-layout"], ke = [
101
101
  progress: 0,
102
102
  preview: e.type.startsWith("image/") ? URL.createObjectURL(e) : void 0
103
103
  };
104
- return n.preview && Xe.add(n.preview), n;
105
- }, it = (e, t) => !!y.component.imageEditor && !M.value && t < U.value.length && !e.missing && !!(e.url ?? e.preview) && l(e) !== null, at = async (e) => {
106
- let t = k.value.endpoints.upload, n = e.url ?? e.preview, r = l(e);
104
+ return n.preview && H.add(n.preview), n;
105
+ }, it = (e, t) => !!v.component.imageEditor && !j.value && t < G.value.length && !e.missing && !!(e.url ?? e.preview) && oe(e) !== null, at = async (e) => {
106
+ let t = k.value.endpoints.upload, n = e.url ?? e.preview, r = oe(e);
107
107
  if (!t || !n || !r) return;
108
- let i = await ae(n, r);
108
+ let i = await se(n, r);
109
109
  if (!i) {
110
- I.value = [...I.value, {
110
+ F.value = [...F.value, {
111
111
  path: `failed:${e.path}`,
112
112
  name: e.name,
113
- error: O("image_editor.load_failed", {}, "The image could not be opened.")
113
+ error: D("image_editor.load_failed", {}, "The image could not be opened.")
114
114
  }];
115
115
  return;
116
116
  }
117
- let a = await Ye(i);
117
+ let a = await V(i);
118
118
  if (!a || a === i) return;
119
119
  let o = await nt(a, !0);
120
120
  if (!o) return;
121
121
  let s = rt(o, `edit:${e.path}`);
122
- I.value = [...I.value, s], await Y(t, o, s, e.path);
123
- }, Y = async (e, t, n, r) => {
122
+ F.value = [...F.value, s], await ot(t, o, s, e.path);
123
+ }, ot = async (e, t, n, r) => {
124
124
  try {
125
- let i = await he(e, t, {
126
- ...fe(k.value, y.component.uploadPolicy),
125
+ let i = await ge(e, t, {
126
+ ...pe(k.value, v.component.uploadPolicy),
127
127
  onProgress: (e) => {
128
- I.value = I.value.map((t) => t.path === n.path ? {
128
+ F.value = F.value.map((t) => t.path === n.path ? {
129
129
  ...t,
130
130
  progress: e
131
131
  } : t);
132
132
  }
133
133
  });
134
- L.value = [...L.value, {
134
+ I.value = [...I.value, {
135
135
  path: i.key,
136
136
  name: i.name,
137
137
  size: i.size,
138
138
  temporary: !0,
139
139
  url: n.preview
140
- }], I.value = I.value.filter((e) => e.path !== n.path);
141
- let a = se(N.getValue(y.component.statePath, null));
142
- r !== void 0 && a.includes(r) ? (q(a.map((e) => e === r ? i.key : e)), st(r)) : q(ue(a, i.key, y.component, W.value));
140
+ }], F.value = F.value.filter((e) => e.path !== n.path);
141
+ let a = le(M.getValue(v.component.statePath, null));
142
+ r !== void 0 && a.includes(r) ? (Y(a.map((e) => e === r ? i.key : e)), ct(r)) : Y(de(a, i.key, v.component, K.value));
143
143
  } catch (e) {
144
144
  let t = e.errors?.file?.[0] ?? e.message;
145
- I.value = I.value.map((e) => e.path === n.path ? {
145
+ F.value = F.value.map((e) => e.path === n.path ? {
146
146
  ...e,
147
147
  error: t,
148
148
  progress: void 0
149
149
  } : e);
150
150
  }
151
- }, ot = (e) => {
152
- q(H.value.filter((t) => t !== e)), st(e);
153
151
  }, st = (e) => {
154
- Ze(F.get().find((t) => t.path === e)?.url), e.startsWith("tmp:") && k.value.endpoints.uploadDestroy && pe(k.value.endpoints.uploadDestroy, {
152
+ Y(W.value.filter((t) => t !== e)), ct(e);
153
+ }, ct = (e) => {
154
+ U(P.get().find((t) => t.path === e)?.url), e.startsWith("tmp:") && k.value.endpoints.uploadDestroy && me(k.value.endpoints.uploadDestroy, {
155
155
  method: "DELETE",
156
156
  body: { key: e }
157
157
  }).catch(() => void 0);
158
- }, ct = (e) => {
159
- e.error || e.progress !== void 0 ? (Ze(e.preview), I.value = I.value.filter((t) => t.path !== e.path)) : ot(e.path);
160
158
  }, lt = (e) => {
161
- e.preventDefault(), R.value = !1, !M.value && e.dataTransfer && e.dataTransfer.files.length > 0 && J(e.dataTransfer.files);
159
+ e.error || e.progress !== void 0 ? (U(e.preview), F.value = F.value.filter((t) => t.path !== e.path)) : st(e.path);
162
160
  }, ut = (e) => {
163
- if (M.value || y.component.pasteable === !1) return;
164
- let t = ce(e.clipboardData);
165
- t.length > 0 && (e.preventDefault(), J(t));
161
+ e.preventDefault(), L.value = !1, !j.value && e.dataTransfer && e.dataTransfer.files.length > 0 && X(e.dataTransfer.files);
166
162
  }, dt = (e) => {
163
+ if (j.value || v.component.pasteable === !1) return;
164
+ let t = ue(e.clipboardData);
165
+ t.length > 0 && (e.preventDefault(), X(t));
166
+ }, ft = (e) => {
167
167
  let t = e.target, n = t.files ? Array.from(t.files) : [];
168
- t.value = "", J(n);
169
- }, X = (e, t) => q(de(H.value, e, t)), Z = p(() => !!(y.component.reorderable && y.component.multiple && !M.value)), ft = (e, t) => {
170
- if (!Z.value || B.value === null) return;
168
+ t.value = "", X(n);
169
+ }, Z = (e, t) => Y(fe(W.value, e, t)), Q = f(() => !!(v.component.reorderable && v.component.multiple && !j.value)), pt = (e, t) => {
170
+ if (!Q.value || z.value === null) return;
171
171
  e.preventDefault(), e.stopPropagation();
172
- let n = H.value.indexOf(B.value);
173
- n !== -1 && t < U.value.length && X(n, t), B.value = null;
174
- }, Q = p(() => [
175
- y.component.acceptedFileTypes?.join(", "),
176
- y.component.maxSize ? `≤ ${le(y.component.maxSize * 1024, 0)}` : null,
177
- y.component.minFiles ? Be("form.min_files", y.component.minFiles, {}, "At least :count file|At least :count files") : null
178
- ].filter(Boolean).join(" · ")), pt = (e) => y.component.previewable !== !1 && (y.component.image || /\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e.name)), $ = S(/* @__PURE__ */ new Set());
179
- function mt(e) {
172
+ let n = W.value.indexOf(z.value);
173
+ n !== -1 && t < G.value.length && Z(n, t), z.value = null;
174
+ }, mt = f(() => [
175
+ v.component.acceptedFileTypes?.join(", "),
176
+ v.component.maxSize ? `≤ ${u(v.component.maxSize * 1024, O.value)}` : null,
177
+ v.component.minFiles ? He("form.min_files", v.component.minFiles, {}, "At least :count file|At least :count files") : null
178
+ ].filter(Boolean).join(" · ")), ht = (e) => v.component.previewable !== !1 && (v.component.image || /\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e.name)), $ = x(/* @__PURE__ */ new Set());
179
+ function gt(e) {
180
180
  return typeof e == "number" || /^\d+(\.\d+)?$/.test(e) ? `${e}px` : e;
181
181
  }
182
- return (e, t) => (x(), m(te, {
183
- field: y.component,
184
- "html-for": w(A),
185
- error: w(Ue)
182
+ return (e, t) => (b(), p(ne, {
183
+ field: v.component,
184
+ "html-for": C(Ke),
185
+ error: C(Ge)
186
186
  }, {
187
- default: T(() => [_("div", {
187
+ default: w(() => [g("div", {
188
188
  "data-slot": "file-upload",
189
- "data-layout": y.component.panelLayout,
190
- class: b(w(r)("flex flex-col gap-3", $e.value && "rounded-md border p-2"))
189
+ "data-layout": v.component.panelLayout,
190
+ class: y(C(i)("flex flex-col gap-3", $e.value && "rounded-md border p-2"))
191
191
  }, [
192
- U.value.length > 0 || I.value.length > 0 ? (x(), g("ul", {
192
+ G.value.length > 0 || F.value.length > 0 ? (b(), h("ul", {
193
193
  key: 0,
194
- class: b(w(r)("grid gap-2", y.component.panelLayout === "grid" && "grid-cols-2 sm:grid-cols-3 md:grid-cols-4", G.value && "justify-items-center"))
195
- }, [(x(!0), g(f, null, _e([...U.value, ...I.value], (e, n) => (x(), g("li", {
194
+ class: y(C(i)("grid gap-2", v.component.panelLayout === "grid" && "grid-cols-2 sm:grid-cols-3 md:grid-cols-4", q.value && "justify-items-center"))
195
+ }, [(b(!0), h(_e, null, ye([...G.value, ...F.value], (e, n) => (b(), h("li", {
196
196
  key: e.path,
197
- draggable: Z.value && n < U.value.length,
198
- class: b(w(r)(B.value === e.path && "opacity-50", "bg-muted/30 relative flex min-w-0 items-center gap-3 overflow-hidden rounded-md border p-2 text-sm", G.value && "size-28 justify-center rounded-full border-0 p-0", e.error && "border-destructive")),
199
- onDragstart: (t) => B.value = e.path,
200
- onDragover: t[0] ||= (e) => Z.value && e.preventDefault(),
201
- onDrop: (e) => ft(e, n),
202
- onDragend: t[1] ||= (e) => B.value = null
197
+ draggable: Q.value && n < G.value.length,
198
+ class: y(C(i)(z.value === e.path && "opacity-50", "bg-muted/30 relative flex min-w-0 items-center gap-3 overflow-hidden rounded-md border p-2 text-sm", q.value && "size-28 justify-center rounded-full border-0 p-0", e.error && "border-destructive")),
199
+ onDragstart: (t) => z.value = e.path,
200
+ onDragover: t[0] ||= (e) => Q.value && e.preventDefault(),
201
+ onDrop: (e) => pt(e, n),
202
+ onDragend: t[1] ||= (e) => z.value = null
203
203
  }, [
204
- !G.value && et.value && y.component.deletable && !M.value ? (x(), m(a, {
204
+ !q.value && et.value && v.component.deletable && !j.value ? (b(), p(o, {
205
205
  key: 0,
206
206
  type: "button",
207
207
  variant: "ghost",
208
208
  size: "icon-xs",
209
- "aria-label": w(O)("remove", {}, "Remove"),
210
- onClick: (t) => ct(e)
209
+ "aria-label": C(D)("file_upload.remove", { name: e.name }, "Remove :name"),
210
+ onClick: (t) => lt(e)
211
211
  }, {
212
- default: T(() => [v(w(D))]),
212
+ default: w(() => [_(C(ke))]),
213
213
  _: 1
214
- }, 8, ["aria-label", "onClick"])) : h("", !0),
215
- !G.value && tt.value && e.progress !== void 0 && !e.error ? (x(), m(o, { key: 1 })) : h("", !0),
216
- pt(e) && (e.url || e.preview) && !$.value.has(e.path) ? (x(), g("img", {
214
+ }, 8, ["aria-label", "onClick"])) : m("", !0),
215
+ !q.value && tt.value && e.progress !== void 0 && !e.error ? (b(), p(s, { key: 1 })) : m("", !0),
216
+ ht(e) && (e.url || e.preview) && !$.value.has(e.path) ? (b(), h("img", {
217
217
  key: 2,
218
218
  src: e.url ?? e.preview,
219
219
  alt: "",
220
- class: b(w(r)("size-12 shrink-0 rounded object-cover", G.value && "size-28 rounded-full")),
221
- style: ge(!G.value && y.component.imagePreviewHeight ? {
222
- height: mt(y.component.imagePreviewHeight),
220
+ class: y(C(i)("size-12 shrink-0 rounded object-cover", q.value && "size-28 rounded-full")),
221
+ style: ve(!q.value && v.component.imagePreviewHeight ? {
222
+ height: gt(v.component.imagePreviewHeight),
223
223
  width: "auto",
224
224
  maxWidth: "50%"
225
225
  } : void 0),
226
226
  onError: (t) => $.value = new Set($.value).add(e.path)
227
- }, null, 46, Ae)) : G.value ? h("", !0) : (x(), m(w(Te), {
227
+ }, null, 46, Me)) : q.value ? m("", !0) : (b(), p(C(Ee), {
228
228
  key: 3,
229
229
  class: "text-muted-foreground size-6 shrink-0"
230
230
  })),
231
- G.value ? h("", !0) : (x(), g("div", je, [_("p", Me, C(e.name), 1), _("p", { class: b(w(r)("text-muted-foreground text-xs", e.missing && "text-destructive")) }, C(e.error ?? (e.missing ? w(O)("form.file_missing", {}, "This file no longer exists.") : e.progress !== void 0 && !e.error ? y.component.uploadingMessage ?? w(O)("form.uploading", {}, "Uploading…") : e.size ? w(le)(e.size) : e.temporary ? w(O)("form.uploading", {}, "Pending") : "")), 3)])),
232
- _("div", { class: b(w(r)("flex items-center gap-1", G.value && "absolute -end-1 -bottom-1")) }, [
233
- (G.value || !tt.value) && e.progress !== void 0 && !e.error ? (x(), m(o, { key: 0 })) : h("", !0),
234
- Z.value && n < U.value.length ? (x(), g(f, { key: 1 }, [v(a, {
231
+ q.value ? m("", !0) : (b(), h("div", Ne, [g("p", Pe, S(e.name), 1), g("p", { class: y(C(i)("text-muted-foreground text-xs", e.missing && "text-destructive")) }, S(e.error ?? (e.missing ? C(D)("form.file_missing", {}, "This file no longer exists.") : e.progress !== void 0 && !e.error ? v.component.uploadingMessage ?? C(D)("form.uploading", {}, "Uploading…") : e.size ? C(u)(e.size, C(O)) : e.temporary ? C(D)("form.uploading", {}, "Pending") : "")), 3)])),
232
+ g("div", { class: y(C(i)("flex items-center gap-1", q.value && "absolute -end-1 -bottom-1")) }, [
233
+ (q.value || !tt.value) && e.progress !== void 0 && !e.error ? (b(), p(s, { key: 0 })) : m("", !0),
234
+ Q.value && n < G.value.length ? (b(), h(_e, { key: 1 }, [_(o, {
235
235
  type: "button",
236
236
  variant: "ghost",
237
237
  size: "icon-xs",
238
- "aria-label": w(O)("form.move_up", {}, "Move up"),
238
+ "aria-label": C(D)("file_upload.move_up", { name: e.name }, "Move :name up"),
239
239
  disabled: n === 0,
240
- onClick: (e) => X(n, n - 1)
240
+ onClick: (e) => Z(n, n - 1)
241
241
  }, {
242
- default: T(() => [v(w(Se))]),
242
+ default: w(() => [_(C(Ce))]),
243
243
  _: 1
244
244
  }, 8, [
245
245
  "aria-label",
246
246
  "disabled",
247
247
  "onClick"
248
- ]), v(a, {
248
+ ]), _(o, {
249
249
  type: "button",
250
250
  variant: "ghost",
251
251
  size: "icon-xs",
252
- "aria-label": w(O)("form.move_down", {}, "Move down"),
253
- disabled: n === U.value.length - 1,
254
- onClick: (e) => X(n, n + 1)
252
+ "aria-label": C(D)("file_upload.move_down", { name: e.name }, "Move :name down"),
253
+ disabled: n === G.value.length - 1,
254
+ onClick: (e) => Z(n, n + 1)
255
255
  }, {
256
- default: T(() => [v(w(xe))]),
256
+ default: w(() => [_(C(Se))]),
257
257
  _: 1
258
258
  }, 8, [
259
259
  "aria-label",
260
260
  "disabled",
261
261
  "onClick"
262
- ])], 64)) : h("", !0),
263
- it(e, n) ? (x(), m(a, {
262
+ ])], 64)) : m("", !0),
263
+ it(e, n) ? (b(), p(o, {
264
264
  key: 2,
265
265
  type: "button",
266
- variant: G.value ? "secondary" : "ghost",
266
+ variant: q.value ? "secondary" : "ghost",
267
267
  size: "icon-xs",
268
- class: b(w(r)(G.value && "rounded-full shadow")),
269
- "aria-label": w(O)("image_editor.title", {}, "Edit image"),
270
- title: w(O)("image_editor.title", {}, "Edit image"),
268
+ class: y(C(i)(q.value && "rounded-full shadow")),
269
+ "aria-label": C(D)("file_upload.edit", { name: e.name }, "Edit :name"),
270
+ title: C(D)("image_editor.title", {}, "Edit image"),
271
271
  "data-action": "edit-image",
272
272
  onClick: (t) => void at(e)
273
273
  }, {
274
- default: T(() => [v(w(Ee))]),
274
+ default: w(() => [_(C(De))]),
275
275
  _: 1
276
276
  }, 8, [
277
277
  "variant",
@@ -279,95 +279,95 @@ var Oe = ["data-layout"], ke = [
279
279
  "aria-label",
280
280
  "title",
281
281
  "onClick"
282
- ])) : h("", !0),
283
- y.component.openable && w(d)(e).open ? (x(), m(a, {
282
+ ])) : m("", !0),
283
+ v.component.openable && C(d)(e).open ? (b(), p(o, {
284
284
  key: 3,
285
285
  "as-child": "",
286
286
  type: "button",
287
287
  variant: "ghost",
288
288
  size: "icon-xs"
289
289
  }, {
290
- default: T(() => [_("a", {
291
- href: w(d)(e).open,
290
+ default: w(() => [g("a", {
291
+ href: C(d)(e).open,
292
292
  target: "_blank",
293
293
  rel: "noopener noreferrer",
294
- "aria-label": `${w(O)("open", {}, "Open")} ${w(O)("opens_in_new_tab", {}, "(opens in a new tab)")}`
295
- }, [v(w(we))], 8, Ne)]),
294
+ "aria-label": `${C(D)("file_upload.open", { name: e.name }, "Open :name")} ${C(D)("opens_in_new_tab", {}, "(opens in a new tab)")}`
295
+ }, [_(C(Te))], 8, Fe)]),
296
296
  _: 2
297
- }, 1024)) : h("", !0),
298
- y.component.downloadable && w(d)(e).download ? (x(), m(a, {
297
+ }, 1024)) : m("", !0),
298
+ v.component.downloadable && C(d)(e).download ? (b(), p(o, {
299
299
  key: 4,
300
300
  "as-child": "",
301
301
  type: "button",
302
302
  variant: "ghost",
303
303
  size: "icon-xs"
304
304
  }, {
305
- default: T(() => [_("a", {
306
- href: w(d)(e).download,
305
+ default: w(() => [g("a", {
306
+ href: C(d)(e).download,
307
307
  download: "",
308
- "aria-label": w(O)("download", {}, "Download")
309
- }, [v(w(Ce))], 8, Pe)]),
308
+ "aria-label": C(D)("file_upload.download", { name: e.name }, "Download :name")
309
+ }, [_(C(we))], 8, Ie)]),
310
310
  _: 2
311
- }, 1024)) : h("", !0),
312
- y.component.deletable && !M.value && (G.value || !et.value) ? (x(), m(a, {
311
+ }, 1024)) : m("", !0),
312
+ v.component.deletable && !j.value && (q.value || !et.value) ? (b(), p(o, {
313
313
  key: 5,
314
314
  type: "button",
315
- variant: G.value ? "secondary" : "ghost",
315
+ variant: q.value ? "secondary" : "ghost",
316
316
  size: "icon-xs",
317
- class: b(w(r)(G.value && "rounded-full shadow")),
318
- "aria-label": w(O)("remove", {}, "Remove"),
319
- onClick: (t) => ct(e)
317
+ class: y(C(i)(q.value && "rounded-full shadow")),
318
+ "aria-label": C(D)("file_upload.remove", { name: e.name }, "Remove :name"),
319
+ onClick: (t) => lt(e)
320
320
  }, {
321
- default: T(() => [v(w(D))]),
321
+ default: w(() => [_(C(ke))]),
322
322
  _: 1
323
323
  }, 8, [
324
324
  "variant",
325
325
  "class",
326
326
  "aria-label",
327
327
  "onClick"
328
- ])) : h("", !0)
328
+ ])) : m("", !0)
329
329
  ], 2)
330
- ], 42, ke))), 128))], 2)) : h("", !0),
331
- Qe.value && !M.value ? (x(), g("div", {
330
+ ], 42, je))), 128))], 2)) : m("", !0),
331
+ Qe.value && !j.value ? (b(), h("div", {
332
332
  key: 1,
333
333
  role: "button",
334
334
  tabindex: "0",
335
- "data-align": K.value,
336
- style: ge(!G.value && y.component.panelAspectRatio ? { aspectRatio: w(ie)(y.component.panelAspectRatio) } : void 0),
337
- class: b(w(r)("text-muted-foreground hover:border-ring flex cursor-pointer flex-col justify-center gap-1 rounded-md border border-dashed px-4 py-6 text-sm transition-colors", K.value === "start" ? "items-start text-start" : K.value === "end" ? "items-end text-end" : "items-center text-center", $e.value && "border-transparent", R.value && "border-ring bg-accent", G.value && "size-28 items-center rounded-full py-0")),
338
- "aria-describedby": w(j)["aria-describedby"],
339
- onClick: t[2] ||= (e) => z.value?.click(),
340
- onKeydown: [t[3] ||= be(E((e) => z.value?.click(), ["prevent"]), ["enter"]), t[4] ||= be(E((e) => z.value?.click(), ["prevent"]), ["space"])],
341
- onDragover: t[5] ||= E((e) => R.value = !0, ["prevent"]),
342
- onDragleave: t[6] ||= (e) => R.value = !1,
343
- onDrop: lt,
344
- onPaste: ut
335
+ "data-align": J.value,
336
+ style: ve(!q.value && v.component.panelAspectRatio ? { aspectRatio: C(ae)(v.component.panelAspectRatio) } : void 0),
337
+ class: y(C(i)("text-muted-foreground hover:border-ring flex cursor-pointer flex-col justify-center gap-1 rounded-md border border-dashed px-4 py-6 text-sm transition-colors", J.value === "start" ? "items-start text-start" : J.value === "end" ? "items-end text-end" : "items-center text-center", $e.value && "border-transparent", L.value && "border-ring bg-accent", q.value && "size-28 items-center rounded-full py-0")),
338
+ "aria-describedby": C(A)["aria-describedby"],
339
+ onClick: t[2] ||= (e) => R.value?.click(),
340
+ onKeydown: [t[3] ||= T(E((e) => R.value?.click(), ["prevent"]), ["enter"]), t[4] ||= T(E((e) => R.value?.click(), ["prevent"]), ["space"])],
341
+ onDragover: t[5] ||= E((e) => L.value = !0, ["prevent"]),
342
+ onDragleave: t[6] ||= (e) => L.value = !1,
343
+ onDrop: ut,
344
+ onPaste: dt
345
345
  }, [
346
- v(w(De), { class: "size-5" }),
347
- G.value ? h("", !0) : (x(), g("span", Ie, C(y.component.placeholder ?? w(O)("form.drop_files", {}, "Drop files here or click to browse")), 1)),
348
- !G.value && Q.value ? (x(), g("span", Le, C(Q.value), 1)) : h("", !0)
349
- ], 46, Fe)) : h("", !0),
350
- _("input", {
351
- id: w(A),
346
+ _(C(Oe), { class: "size-5" }),
347
+ q.value ? m("", !0) : (b(), h("span", Re, S(v.component.placeholder ?? C(D)("form.drop_files", {}, "Drop files here or click to browse")), 1)),
348
+ !q.value && mt.value ? (b(), h("span", ze, S(mt.value), 1)) : m("", !0)
349
+ ], 46, Le)) : m("", !0),
350
+ g("input", {
351
+ id: C(Ke),
352
352
  ref_key: "inputRef",
353
- ref: z,
353
+ ref: R,
354
354
  type: "file",
355
355
  class: "sr-only",
356
356
  tabindex: "-1",
357
- "aria-invalid": w(j)["aria-invalid"],
358
- "aria-describedby": w(j)["aria-describedby"],
359
- "aria-required": w(j)["aria-required"],
360
- multiple: y.component.multiple,
361
- accept: w(oe)(y.component),
362
- disabled: M.value,
363
- onChange: dt
364
- }, null, 40, Re),
365
- y.component.imageEditor && (V.value || Je.value) ? (x(), m(w(ze), {
357
+ "aria-invalid": C(A)["aria-invalid"],
358
+ "aria-describedby": C(A)["aria-describedby"],
359
+ "aria-required": C(A)["aria-required"],
360
+ multiple: v.component.multiple,
361
+ accept: C(ce)(v.component),
362
+ disabled: j.value,
363
+ onChange: ft
364
+ }, null, 40, Be),
365
+ v.component.imageEditor && (B.value || Ze.value) ? (b(), p(C(Ve), {
366
366
  key: 2,
367
- request: V.value,
368
- options: y.component.imageEditor
369
- }, null, 8, ["request", "options"])) : h("", !0)
370
- ], 10, Oe)]),
367
+ request: B.value,
368
+ options: v.component.imageEditor
369
+ }, null, 8, ["request", "options"])) : m("", !0)
370
+ ], 10, Ae)]),
371
371
  _: 1
372
372
  }, 8, [
373
373
  "field",
@@ -377,6 +377,6 @@ var Oe = ["data-layout"], ke = [
377
377
  }
378
378
  });
379
379
  //#endregion
380
- export { O as default };
380
+ export { D as default };
381
381
 
382
382
  //# sourceMappingURL=FileUploadField.vue_vue_type_script_setup_true_lang.js.map