@feedmepos/mf-media 1.0.0 → 1.0.1-dev.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.
@@ -1,30 +1,30 @@
1
- import { defineComponent as de, computed as C, ref as s, onMounted as ce, watch as M, resolveComponent as k, openBlock as w, createElementBlock as S, createElementVNode as c, toDisplayString as _, unref as t, createVNode as u, createBlock as ve, createCommentVNode as J, withCtx as U } from "vue";
1
+ import { defineComponent as de, computed as C, ref as n, onMounted as ce, watch as U, resolveComponent as k, openBlock as w, createElementBlock as S, createElementVNode as c, toDisplayString as _, unref as t, createVNode as u, createBlock as ve, createCommentVNode as J, withCtx as N } from "vue";
2
2
  import { useCoreStore as me, useI18n as fe } from "@feedmepos/mf-common";
3
3
  import { useDialog as pe } from "@feedmepos/ui-library";
4
- import { _ as ge, a as ye, M as be, C as we, T as N, A as _e, x as xe, q as he, v as Be, L as Ce, H as ke, e as K, E as Se } from "./media-picker-cf281640.js";
5
- const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-center justify-between mb-8" }, Ae = { class: "fm-typo-en-title-md-600 fm-step-title line-clamp-2" }, Ie = { class: "flex gap-8" }, Te = { class: "flex flex-col gap-12 mb-16" }, ze = { class: "flex items-center gap-12" }, Pe = { class: "flex-1 text-xs text-fm-color-typo-secondary" }, Fe = {
4
+ import { o as ge, I as ye, g as be, f as we, c as O, m as _e, e as xe, d as he, U as Be, h as Ce, a as ke, E as Se, T as K, b as Ie } from "./media-picker-40af065f.js";
5
+ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-center justify-between mb-8" }, Te = { class: "fm-typo-en-title-md-600 fm-step-title line-clamp-2" }, ze = { class: "flex gap-8" }, Pe = { class: "flex flex-col gap-12 mb-16" }, Ae = { class: "flex items-center gap-12" }, Fe = { class: "flex-1 text-xs text-fm-color-typo-secondary" }, Re = {
6
6
  key: 0,
7
7
  class: "text-fm-color-typo-primary font-semibold"
8
- }, Re = { key: 1 }, Me = {
8
+ }, Ue = { key: 1 }, Ne = {
9
9
  key: 0,
10
10
  class: "fixed bottom-24 left-1/2 -translate-x-1/2 flex items-center gap-12 bg-white border rounded-lg shadow-lg px-16 py-8 z-30"
11
- }, Ue = { class: "text-sm font-semibold" }, Ne = { class: "flex justify-end gap-8 w-full" }, qe = /* @__PURE__ */ de({
11
+ }, Oe = { class: "text-sm font-semibold" }, Me = { class: "flex justify-end gap-8 w-full" }, qe = /* @__PURE__ */ de({
12
12
  __name: "AssetLibrary",
13
- setup(Oe) {
14
- const O = me(), { t: l } = fe(), r = C(() => {
13
+ setup(Ee) {
14
+ const M = me(), { t: l } = fe(), r = C(() => {
15
15
  var e;
16
- return ((e = O.currentBusiness.value) == null ? void 0 : e.id) ?? "";
16
+ return ((e = M.currentBusiness.value) == null ? void 0 : e.id) ?? "";
17
17
  }), E = C(() => {
18
18
  var e;
19
- return (e = O.currentRestaurant.value) == null ? void 0 : e._id;
20
- }), x = pe(), h = s(""), g = s([]), p = s([]), y = s([]), V = s(!1), v = s(1), D = s(0), A = s(0), I = s(!1), L = s("recent"), Q = {
19
+ return (e = M.currentRestaurant.value) == null ? void 0 : e._id;
20
+ }), x = pe(), h = n(""), g = n([]), p = n([]), y = n([]), I = n(!1), v = n(1), V = n(0), D = n(0), T = n(!1), $ = n("recent"), Q = {
21
21
  recent: { sortBy: "createdAt", descending: !0 },
22
22
  name: { sortBy: "fileName", descending: !1 },
23
23
  size: { sortBy: "fileSizeBytes", descending: !0 }
24
- }, $ = [{ icon: "grid_view" }, { icon: "view_list" }], T = s($[0]), W = C(() => T.value.icon === "grid_view" ? "grid" : "list"), z = ge(() => r.value);
24
+ }, j = [{ icon: "grid_view" }, { icon: "view_list" }], z = n(j[0]), W = C(() => z.value.icon === "grid_view" ? "grid" : "list"), P = ge(() => r.value);
25
25
  async function m() {
26
26
  if (r.value) {
27
- p.value.length === 0 && (V.value = !0), I.value = !0;
27
+ p.value.length === 0 && (I.value = !0), T.value = !0;
28
28
  try {
29
29
  const [e, a] = await Promise.all([
30
30
  he({
@@ -36,47 +36,49 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
36
36
  // their URL could not render — so the library hides them until "save to the asset
37
37
  // centre" removes this tag.
38
38
  excludeTags: [Be],
39
- skip: Ce(v.value, N),
40
- limit: N,
41
- ...Q[L.value]
39
+ skip: Ce(v.value, O),
40
+ limit: O,
41
+ ...Q[$.value]
42
42
  }),
43
43
  ke(r.value)
44
44
  ]);
45
- p.value = e.resources, D.value = e.meta.totalResources, A.value = e.meta.totalPages, y.value = a, await z.load(e.resources.map((i) => i.refId).filter((i) => !!i));
45
+ p.value = e.resources, V.value = e.meta.totalResources, D.value = e.meta.totalPages, y.value = a, await P.load(
46
+ e.resources.filter((s) => !Se(s)).map((s) => s.refId).filter((s) => !!s)
47
+ );
46
48
  } finally {
47
- V.value = !1, I.value = !1;
49
+ I.value = !1, T.value = !1;
48
50
  }
49
51
  }
50
52
  }
51
- async function P() {
53
+ async function A() {
52
54
  v.value = 1, B(), await m();
53
55
  }
54
56
  async function F() {
55
57
  await m();
56
- const e = Se(v.value, A.value);
58
+ const e = Ie(v.value, D.value);
57
59
  e !== v.value && (v.value = e, await m());
58
60
  }
59
61
  async function X(e) {
60
62
  e !== v.value && (v.value = e, B(), await m());
61
63
  }
62
- ce(m), M(r, P), M([g, L], P);
63
- let j;
64
- M(h, () => {
65
- clearTimeout(j), j = setTimeout(P, 250);
64
+ ce(m), U(r, A), U([g, $], A);
65
+ let G;
66
+ U(h, () => {
67
+ clearTimeout(G), G = setTimeout(A, 250);
66
68
  });
67
- const n = s(/* @__PURE__ */ new Set());
69
+ const i = n(/* @__PURE__ */ new Set());
68
70
  function Y(e) {
69
- const a = new Set(n.value);
70
- a.has(e.id) ? a.delete(e.id) : a.add(e.id), n.value = a;
71
+ const a = new Set(i.value);
72
+ a.has(e.id) ? a.delete(e.id) : a.add(e.id), i.value = a;
71
73
  }
72
74
  function B() {
73
- n.value = /* @__PURE__ */ new Set();
75
+ i.value = /* @__PURE__ */ new Set();
74
76
  }
75
77
  function Z() {
76
- n.value = new Set(p.value.map((e) => e.id));
78
+ i.value = new Set(p.value.map((e) => e.id));
77
79
  }
78
80
  function ee() {
79
- const e = n.value.size;
81
+ const e = i.value.size;
80
82
  x.open({
81
83
  title: l("media.library.deleteBulkTitle"),
82
84
  message: l("media.library.deleteBulkMessage", { count: e, disclaimer: l("media.library.deleteDisclaimer") }),
@@ -84,9 +86,9 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
84
86
  secondaryActions: { text: l("media.library.cancelButton"), close: !0 }
85
87
  }).onPrimary(async () => {
86
88
  await Promise.all(
87
- [...n.value].map((a) => {
88
- const i = p.value.find((R) => R.id === a);
89
- return i ? K(r.value, i) : Promise.resolve();
89
+ [...i.value].map((a) => {
90
+ const s = p.value.find((R) => R.id === a);
91
+ return s ? K(r.value, s) : Promise.resolve();
90
92
  })
91
93
  ), B(), await F(), x.close();
92
94
  });
@@ -99,20 +101,20 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
99
101
  secondaryActions: { text: l("media.library.cancelButton"), close: !0 }
100
102
  }).onPrimary(async () => {
101
103
  await K(r.value, e);
102
- const a = new Set(n.value);
103
- a.delete(e.id), n.value = a, await F(), x.close();
104
+ const a = new Set(i.value);
105
+ a.delete(e.id), i.value = a, await F(), x.close();
104
106
  });
105
107
  }
106
- const d = s(null), le = C(
108
+ const d = n(null), le = C(
107
109
  () => {
108
110
  var e;
109
- return (e = d.value) != null && e.refId ? z.byRefId.value.get(d.value.refId) ?? null : null;
111
+ return (e = d.value) != null && e.refId ? P.byRefId.value.get(d.value.refId) ?? null : null;
110
112
  }
111
113
  );
112
114
  function te(e) {
113
115
  d.value = e;
114
116
  }
115
- async function q() {
117
+ async function L() {
116
118
  await m(), d.value && (d.value = p.value.find((e) => {
117
119
  var a;
118
120
  return e.id === ((a = d.value) == null ? void 0 : a.id);
@@ -121,7 +123,7 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
121
123
  async function se() {
122
124
  d.value = null, await F();
123
125
  }
124
- const b = s(!1), f = s(null);
126
+ const b = n(!1), f = n(null);
125
127
  function ne() {
126
128
  var e;
127
129
  (e = f.value) == null || e.reset(), b.value = !0;
@@ -131,12 +133,12 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
131
133
  (e = f.value) != null && e.stagedCount || (b.value = !1), await m();
132
134
  }
133
135
  return (e, a) => {
134
- const i = k("FmButton"), R = k("FmSearch"), oe = k("FmButtonGroup"), ue = k("FmDialog");
136
+ const s = k("FmButton"), R = k("FmSearch"), oe = k("FmButtonGroup"), ue = k("FmDialog");
135
137
  return w(), S("div", Ve, [
136
138
  c("div", De, [
137
- c("h1", Ae, _(t(l)("media.title")), 1),
138
- c("div", Ie, [
139
- u(i, {
139
+ c("h1", Te, _(t(l)("media.title")), 1),
140
+ c("div", ze, [
141
+ u(s, {
140
142
  label: t(l)("media.library.uploadButton"),
141
143
  "prepend-icon": "add",
142
144
  variant: "primary",
@@ -144,7 +146,7 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
144
146
  }, null, 8, ["label"])
145
147
  ])
146
148
  ]),
147
- c("div", Te, [
149
+ c("div", Pe, [
148
150
  u(R, {
149
151
  modelValue: h.value,
150
152
  "onUpdate:modelValue": a[0] || (a[0] = (o) => h.value = o),
@@ -157,51 +159,51 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
157
159
  "onUpdate:modelValue": a[1] || (a[1] = (o) => g.value = o),
158
160
  tags: y.value
159
161
  }, null, 8, ["modelValue", "tags"])) : J("", !0),
160
- c("div", ze, [
161
- c("div", Pe, [
162
- n.value.size > 0 ? (w(), S("span", Fe, _(t(l)("media.library.selectedCount", { count: n.value.size })), 1)) : (w(), S("span", Re, _(t(l)("media.library.totalSummary", { count: D.value })), 1))
162
+ c("div", Ae, [
163
+ c("div", Fe, [
164
+ i.value.size > 0 ? (w(), S("span", Re, _(t(l)("media.library.selectedCount", { count: i.value.size })), 1)) : (w(), S("span", Ue, _(t(l)("media.library.totalSummary", { count: V.value })), 1))
163
165
  ]),
164
- u(i, {
166
+ u(s, {
165
167
  label: t(l)("media.library.selectAllButton"),
166
168
  variant: "tertiary",
167
169
  size: "md",
168
170
  onClick: Z
169
171
  }, null, 8, ["label"]),
170
172
  u(oe, {
171
- modelValue: T.value,
172
- "onUpdate:modelValue": a[2] || (a[2] = (o) => T.value = o),
173
- items: $
173
+ modelValue: z.value,
174
+ "onUpdate:modelValue": a[2] || (a[2] = (o) => z.value = o),
175
+ items: j
174
176
  }, null, 8, ["modelValue"])
175
177
  ])
176
178
  ]),
177
179
  u(t(be), {
178
180
  assets: p.value,
179
- loading: V.value,
181
+ loading: I.value,
180
182
  view: W.value,
181
183
  selectable: "",
182
- "selected-ids": n.value,
183
- "variants-by-ref-id": t(z).byRefId.value,
184
+ "selected-ids": i.value,
185
+ "variants-by-ref-id": t(P).byRefId.value,
184
186
  onOpen: te,
185
187
  onToggle: Y,
186
188
  onDelete: ae
187
189
  }, null, 8, ["assets", "loading", "view", "selected-ids", "variants-by-ref-id"]),
188
190
  u(t(we), {
189
191
  page: v.value,
190
- "page-size": t(N),
191
- "total-resources": D.value,
192
- "total-pages": A.value,
193
- disabled: I.value,
192
+ "page-size": t(O),
193
+ "total-resources": V.value,
194
+ "total-pages": D.value,
195
+ disabled: T.value,
194
196
  "onUpdate:page": X
195
197
  }, null, 8, ["page", "page-size", "total-resources", "total-pages", "disabled"]),
196
- n.value.size > 0 ? (w(), S("div", Me, [
197
- c("span", Ue, _(t(l)("media.library.selectedCount", { count: n.value.size })), 1),
198
- u(i, {
198
+ i.value.size > 0 ? (w(), S("div", Ne, [
199
+ c("span", Oe, _(t(l)("media.library.selectedCount", { count: i.value.size })), 1),
200
+ u(s, {
199
201
  label: t(l)("media.library.cancelButton"),
200
202
  variant: "tertiary",
201
203
  size: "md",
202
204
  onClick: B
203
205
  }, null, 8, ["label"]),
204
- u(i, {
206
+ u(s, {
205
207
  label: t(l)("media.library.deleteSelectedButton"),
206
208
  variant: "destructive",
207
209
  size: "md",
@@ -214,31 +216,31 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
214
216
  image: le.value,
215
217
  "business-id": r.value,
216
218
  onClose: a[3] || (a[3] = (o) => d.value = null),
217
- onRenamed: q,
219
+ onRenamed: L,
218
220
  onDeleted: se,
219
- onChanged: q
221
+ onChanged: L
220
222
  }, null, 8, ["asset", "image", "business-id"]),
221
223
  u(ue, {
222
224
  modelValue: b.value,
223
225
  "onUpdate:modelValue": a[7] || (a[7] = (o) => b.value = o),
224
226
  "max-width": 480
225
227
  }, {
226
- "dialog-header": U(() => [
228
+ "dialog-header": N(() => [
227
229
  c("div", null, _(t(l)("media.library.uploadDialogTitle")), 1)
228
230
  ]),
229
- "dialog-footer": U(() => {
230
- var o, G;
231
+ "dialog-footer": N(() => {
232
+ var o, q;
231
233
  return [
232
- c("div", Ne, [
233
- u(i, {
234
+ c("div", Me, [
235
+ u(s, {
234
236
  label: t(l)("media.library.cancelButton"),
235
237
  variant: "tertiary",
236
238
  onClick: a[5] || (a[5] = (re) => b.value = !1)
237
239
  }, null, 8, ["label"]),
238
- u(i, {
240
+ u(s, {
239
241
  label: t(l)("media.library.uploadSubmitButton", { count: ((o = f.value) == null ? void 0 : o.stagedCount) ?? 0 }),
240
242
  variant: "primary",
241
- disabled: !((G = f.value) != null && G.stagedCount) || f.value.uploading,
243
+ disabled: !((q = f.value) != null && q.stagedCount) || f.value.uploading,
242
244
  onClick: a[6] || (a[6] = (re) => {
243
245
  var H;
244
246
  return (H = f.value) == null ? void 0 : H.upload();
@@ -247,7 +249,7 @@ const Ve = { class: "p-24 relative min-h-full" }, De = { class: "flex items-cent
247
249
  ])
248
250
  ];
249
251
  }),
250
- default: U(() => [
252
+ default: N(() => [
251
253
  u(t(xe), {
252
254
  ref_key: "uploadPanelRef",
253
255
  ref: f,
package/dist/app.js CHANGED
@@ -90,7 +90,7 @@ const _e = {
90
90
  }
91
91
  },
92
92
  library: {
93
- uploadButton: "Upload Images",
93
+ uploadButton: "Upload Media",
94
94
  testPickerButton: "Test Picker Dialog",
95
95
  searchPlaceholder: "Search file name…",
96
96
  selectAllButton: "Select All",
@@ -100,7 +100,7 @@ const _e = {
100
100
  deleteSelectedButton: "Delete Selected",
101
101
  uploadDialogTitle: "Upload Assets",
102
102
  uploadSubmitButton: "Upload {count}",
103
- deleteDisclaimer: "If any business module is still using this image, it will show as broken wherever it's referenced after deletion — make sure it's no longer needed.",
103
+ deleteDisclaimer: "If any business module is still using this asset, it will show as broken wherever it's referenced after deletion — make sure it's no longer needed.",
104
104
  deleteOneTitle: "Delete Asset",
105
105
  deleteOneMessage: 'Delete "{fileName}"? {disclaimer}',
106
106
  deleteBulkTitle: "Delete Selected Assets",
@@ -198,7 +198,7 @@ const _e = {
198
198
  }
199
199
  },
200
200
  library: {
201
- uploadButton: "Importer des images",
201
+ uploadButton: "Importer des médias",
202
202
  testPickerButton: "Tester la fenêtre de sélection",
203
203
  searchPlaceholder: "Rechercher un nom de fichier…",
204
204
  selectAllButton: "Tout sélectionner",
@@ -208,7 +208,7 @@ const _e = {
208
208
  deleteSelectedButton: "Supprimer la sélection",
209
209
  uploadDialogTitle: "Importer un média",
210
210
  uploadSubmitButton: "Importer {count}",
211
- deleteDisclaimer: "Après suppression, si un module métier utilise encore cette image, elle apparaîtra comme cassée à l'endroit où elle est référencée. Assurez-vous qu'elle n'est plus nécessaire.",
211
+ deleteDisclaimer: "Après suppression, si un module métier utilise encore cet élément, il apparaîtra comme cassé à l'endroit où il est référencé. Assurez-vous qu'il n'est plus nécessaire.",
212
212
  deleteOneTitle: "Supprimer le média",
213
213
  deleteOneMessage: "Supprimer « {fileName} » ? {disclaimer}",
214
214
  deleteBulkTitle: "Supprimer les médias sélectionnés",
@@ -306,7 +306,7 @@ const _e = {
306
306
  }
307
307
  },
308
308
  library: {
309
- uploadButton: "Unggah Gambar",
309
+ uploadButton: "Unggah Media",
310
310
  testPickerButton: "Uji Dialog Pemilih",
311
311
  searchPlaceholder: "Cari nama file…",
312
312
  selectAllButton: "Pilih Semua",
@@ -316,7 +316,7 @@ const _e = {
316
316
  deleteSelectedButton: "Hapus yang Dipilih",
317
317
  uploadDialogTitle: "Unggah Media",
318
318
  uploadSubmitButton: "Unggah {count}",
319
- deleteDisclaimer: "Setelah dihapus, jika ada modul bisnis yang masih menggunakan gambar ini, gambar akan tampil rusak di tempat penggunaannya. Pastikan gambar ini sudah tidak diperlukan lagi.",
319
+ deleteDisclaimer: "Setelah dihapus, jika ada modul bisnis yang masih menggunakan aset ini, aset akan tampil rusak di tempat penggunaannya. Pastikan aset ini sudah tidak diperlukan lagi.",
320
320
  deleteOneTitle: "Hapus Media",
321
321
  deleteOneMessage: 'Hapus "{fileName}"? {disclaimer}',
322
322
  deleteBulkTitle: "Hapus Media yang Dipilih",
@@ -414,7 +414,7 @@ const _e = {
414
414
  }
415
415
  },
416
416
  library: {
417
- uploadButton: "画像をアップロード",
417
+ uploadButton: "メディアをアップロード",
418
418
  testPickerButton: "画像選択ダイアログのテスト",
419
419
  searchPlaceholder: "ファイル名で検索…",
420
420
  selectAllButton: "すべて選択",
@@ -424,7 +424,7 @@ const _e = {
424
424
  deleteSelectedButton: "選択した項目を削除",
425
425
  uploadDialogTitle: "素材をアップロード",
426
426
  uploadSubmitButton: "{count} 件をアップロード",
427
- deleteDisclaimer: "削除後、この画像を使用している業務モジュールがある場合、参照元では画像が表示されなくなります。不要であることを確認してください。",
427
+ deleteDisclaimer: "削除後、この素材を使用している業務モジュールがある場合、参照元では表示されなくなります。不要であることを確認してください。",
428
428
  deleteOneTitle: "素材を削除",
429
429
  deleteOneMessage: "「{fileName}」を削除しますか?{disclaimer}",
430
430
  deleteBulkTitle: "選択した素材を削除",
@@ -522,7 +522,7 @@ const _e = {
522
522
  }
523
523
  },
524
524
  library: {
525
- uploadButton: "อัปโหลดรูปภาพ",
525
+ uploadButton: "อัปโหลดสื่อ",
526
526
  testPickerButton: "ทดสอบหน้าต่างเลือกรูป",
527
527
  searchPlaceholder: "ค้นหาชื่อไฟล์…",
528
528
  selectAllButton: "เลือกทั้งหมด",
@@ -532,7 +532,7 @@ const _e = {
532
532
  deleteSelectedButton: "ลบที่เลือก",
533
533
  uploadDialogTitle: "อัปโหลดสื่อ",
534
534
  uploadSubmitButton: "อัปโหลด {count} รายการ",
535
- deleteDisclaimer: "หลังลบแล้ว หากมีโมดูลธุรกิจใดกำลังใช้รูปนี้อยู่ รูปจะแสดงเป็นลิงก์เสียในตำแหน่งที่ถูกใช้งาน กรุณายืนยันว่าไม่จำเป็นต้องใช้แล้ว",
535
+ deleteDisclaimer: "หลังลบแล้ว หากมีโมดูลธุรกิจใดกำลังใช้สื่อนี้อยู่ สื่อจะแสดงเป็นลิงก์เสียในตำแหน่งที่ถูกใช้งาน กรุณายืนยันว่าไม่จำเป็นต้องใช้แล้ว",
536
536
  deleteOneTitle: "ลบสื่อ",
537
537
  deleteOneMessage: "ยืนยันลบ “{fileName}” ใช่หรือไม่? {disclaimer}",
538
538
  deleteBulkTitle: "ลบสื่อที่เลือก",
@@ -630,7 +630,7 @@ const _e = {
630
630
  }
631
631
  },
632
632
  library: {
633
- uploadButton: "上传图片",
633
+ uploadButton: "上传素材",
634
634
  testPickerButton: "测试选图弹窗",
635
635
  searchPlaceholder: "搜索文件名…",
636
636
  selectAllButton: "全选",
@@ -639,8 +639,8 @@ const _e = {
639
639
  cancelButton: "取消",
640
640
  deleteSelectedButton: "删除所选",
641
641
  uploadDialogTitle: "上传素材",
642
- uploadSubmitButton: "上传 {count} ",
643
- deleteDisclaimer: "删除后如有业务模块正在使用这张图,图片会在原处显示失效,请确认已不再需要。",
642
+ uploadSubmitButton: "上传 {count} ",
643
+ deleteDisclaimer: "删除后如有业务模块正在使用这个素材,引用处会显示失效,请确认已不再需要。",
644
644
  deleteOneTitle: "删除素材",
645
645
  deleteOneMessage: "确定删除「{fileName}」吗?{disclaimer}",
646
646
  deleteBulkTitle: "删除所选素材",
@@ -738,7 +738,7 @@ const _e = {
738
738
  }
739
739
  },
740
740
  library: {
741
- uploadButton: "上傳圖片",
741
+ uploadButton: "上傳素材",
742
742
  testPickerButton: "測試選圖彈窗",
743
743
  searchPlaceholder: "搜尋檔案名稱…",
744
744
  selectAllButton: "全選",
@@ -747,8 +747,8 @@ const _e = {
747
747
  cancelButton: "取消",
748
748
  deleteSelectedButton: "刪除所選",
749
749
  uploadDialogTitle: "上傳素材",
750
- uploadSubmitButton: "上傳 {count} ",
751
- deleteDisclaimer: "刪除後如有業務模組正在使用這張圖,圖片會在原處顯示失效,請確認已不再需要。",
750
+ uploadSubmitButton: "上傳 {count} ",
751
+ deleteDisclaimer: "刪除後如有業務模組正在使用這個素材,引用處會顯示失效,請確認已不再需要。",
752
752
  deleteOneTitle: "刪除素材",
753
753
  deleteOneMessage: "確定刪除「{fileName}」嗎?{disclaimer}",
754
754
  deleteBulkTitle: "刪除所選素材",
@@ -2531,7 +2531,7 @@ const ka = [
2531
2531
  {
2532
2532
  path: "/library",
2533
2533
  name: "$media-library",
2534
- component: Ae(S(() => import("./AssetLibrary-7609684b.js"))),
2534
+ component: Ae(S(() => import("./AssetLibrary-e042670f.js"))),
2535
2535
  meta: {
2536
2536
  validationManifest: {
2537
2537
  requiredCaslPermissions: [
@@ -2546,7 +2546,7 @@ const ka = [
2546
2546
  {
2547
2547
  path: "/studio",
2548
2548
  name: "$media-studio",
2549
- component: Ae(S(() => import("./AiStudio-9f9c1203.js"))),
2549
+ component: Ae(S(() => import("./AiStudio-4e54cdff.js"))),
2550
2550
  meta: {
2551
2551
  validationManifest: {
2552
2552
  requiredCaslPermissions: [