ablok-photobooth 0.2.30 → 0.2.32

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,53 +1,53 @@
1
- import { defineComponent as AA, getCurrentInstance as DA, computed as F, ref as D, watch as Z, onMounted as yA, createElementBlock as I, openBlock as f, normalizeClass as H, createCommentVNode as E, withDirectives as sA, normalizeStyle as _, createVNode as L, unref as B, createBlock as R, Transition as wA, withCtx as G, createElementVNode as v, withModifiers as q, toDisplayString as P, vShow as iA, Fragment as QA, renderList as kA, createTextVNode as J, renderSlot as pA, onBeforeMount as IA } from "vue";
2
- import { BaseCamera as SA, BaseImage as CA, LoadingSpinner as hA, BaseButton as oA, SvgIcon as X, InputFile as MA, useCameraFilter as PA, MediaThumbnails as BA, TouchWrapper as UA, ColorPalette as OA } from "ablok-components";
3
- import { useI18n as jA } from "vue-i18n";
4
- import { debounce as LA } from "lodash";
5
- async function TA(A) {
6
- let n = await fetch(A, { mode: "no-cors" }).then((a) => a.blob());
1
+ import { defineComponent as AA, getCurrentInstance as QA, computed as F, ref as D, watch as Z, onMounted as wA, openBlock as f, createElementBlock as w, normalizeClass as Y, normalizeStyle as _, createVNode as L, unref as B, createCommentVNode as E, createBlock as R, Transition as IA, withCtx as G, createElementVNode as b, withModifiers as q, toDisplayString as P, withDirectives as iA, vShow as cA, Fragment as kA, renderList as SA, createTextVNode as J, renderSlot as CA, onBeforeMount as hA } from "vue";
2
+ import { BaseCamera as MA, BaseImage as bA, LoadingSpinner as BA, BaseButton as lA, SvgIcon as X, InputFile as PA, useCameraFilter as UA, MediaThumbnails as EA, TouchWrapper as OA, ColorPalette as jA } from "ablok-components";
3
+ import { useI18n as LA } from "vue-i18n";
4
+ import { debounce as TA } from "lodash";
5
+ async function FA(A) {
6
+ let r = await fetch(A, { mode: "no-cors" }).then((a) => a.blob());
7
7
  return await new Promise((a) => {
8
8
  let s = new FileReader();
9
- s.onload = () => a(s.result), s.readAsDataURL(n);
9
+ s.onload = () => a(s.result), s.readAsDataURL(r);
10
10
  });
11
11
  }
12
- async function fA(A) {
13
- return await new Promise((n) => {
12
+ async function mA(A) {
13
+ return await new Promise((r) => {
14
14
  let a = new FileReader();
15
- a.onload = () => n(a.result), a.readAsDataURL(A);
15
+ a.onload = () => r(a.result), a.readAsDataURL(A);
16
16
  });
17
17
  }
18
- function FA(A) {
19
- return new Promise((n, a) => {
18
+ function HA(A) {
19
+ return new Promise((r, a) => {
20
20
  const s = new Image();
21
- s.onload = () => n(s), s.onerror = a, s.src = A;
21
+ s.onload = () => r(s), s.onerror = a, s.src = A;
22
22
  });
23
23
  }
24
- function HA(A, n = 0, a = 0) {
24
+ function YA(A, r = 0, a = 0) {
25
25
  return new Promise((s, c) => {
26
26
  const o = new Image();
27
27
  o.crossOrigin = "anonymous", o.naturalWidth, o.naturalHeight, o.onload = () => {
28
28
  const g = document.createElement("canvas"), i = g.getContext("2d");
29
- g.width = n, g.height = o.height * n / o.width, i.drawImage(o, 0, 0, g.width, g.height);
30
- const w = g.toDataURL();
31
- s(w);
29
+ g.width = r, g.height = o.height * r / o.width, i.drawImage(o, 0, 0, g.width, g.height);
30
+ const y = g.toDataURL();
31
+ s(y);
32
32
  }, o.src = A;
33
33
  });
34
34
  }
35
- function vA(A, n = 1) {
35
+ function yA(A, r = 1) {
36
36
  return new Promise((a, s) => {
37
37
  const c = new Image();
38
38
  c.crossOrigin = "anonymous", c.onload = () => {
39
39
  const o = c.naturalWidth, g = c.naturalHeight, i = o / g;
40
- let w = o, h = g;
41
- i > n ? w = g * n : i < n && (h = o / n);
42
- const Q = document.createElement("canvas");
43
- Q.width = w, Q.height = h, Q.getContext("2d").drawImage(c, Q.width / 2 - c.width / 2, Q.height / 2 - c.height / 2), a(Q.toDataURL());
40
+ let y = o, h = g;
41
+ i > r ? y = g * r : i < r && (h = o / r);
42
+ const k = document.createElement("canvas");
43
+ k.width = y, k.height = h, k.getContext("2d").drawImage(c, k.width / 2 - c.width / 2, k.height / 2 - c.height / 2), a(k.toDataURL());
44
44
  }, c.src = A;
45
45
  });
46
46
  }
47
- const YA = (A) => {
48
- const n = new FileReader();
47
+ const RA = (A) => {
48
+ const r = new FileReader();
49
49
  return new Promise((a) => {
50
- n.onload = (s) => {
50
+ r.onload = (s) => {
51
51
  if (!s.target)
52
52
  return a(0);
53
53
  const c = s.target, o = new DataView(c.result);
@@ -57,29 +57,29 @@ const YA = (A) => {
57
57
  let i = 2;
58
58
  for (; i < g; ) {
59
59
  if (o.getUint16(i + 2, !1) <= 8) return a(-1);
60
- let w = o.getUint16(i, !1);
61
- if (i += 2, w == 65505) {
60
+ let y = o.getUint16(i, !1);
61
+ if (i += 2, y == 65505) {
62
62
  if (o.getUint32(i += 2, !1) != 1165519206)
63
63
  return a(-1);
64
64
  let h = o.getUint16(i += 6, !1) == 18761;
65
65
  i += o.getUint32(i + 4, h);
66
- let Q = o.getUint16(i, h);
66
+ let k = o.getUint16(i, h);
67
67
  i += 2;
68
- for (let d = 0; d < Q; d++)
68
+ for (let d = 0; d < k; d++)
69
69
  if (o.getUint16(i + d * 12, h) == 274)
70
70
  return a(o.getUint16(i + d * 12 + 8, h));
71
71
  } else {
72
- if ((w & 65280) != 65280)
72
+ if ((y & 65280) != 65280)
73
73
  break;
74
74
  i += o.getUint16(i, !1);
75
75
  }
76
76
  }
77
77
  return a(-1);
78
- }, n.readAsArrayBuffer(A);
78
+ }, r.readAsArrayBuffer(A);
79
79
  });
80
80
  };
81
- function RA(A) {
82
- let n = 0;
81
+ function VA(A) {
82
+ let r = 0;
83
83
  switch (A) {
84
84
  // case 1:
85
85
  // degree = 0;
@@ -106,28 +106,28 @@ function RA(A) {
106
106
  // degree = 270;
107
107
  // break;
108
108
  case 3:
109
- n = 180;
109
+ r = 180;
110
110
  break;
111
111
  case 6:
112
- n = 90;
112
+ r = 90;
113
113
  break;
114
114
  case 8:
115
- n = 270;
115
+ r = 270;
116
116
  break;
117
117
  default:
118
- n = 0;
118
+ r = 0;
119
119
  }
120
- return n;
120
+ return r;
121
121
  }
122
- async function VA(A) {
123
- const n = await YA(A);
124
- return await RA(n);
122
+ async function xA(A) {
123
+ const r = await RA(A);
124
+ return await VA(r);
125
125
  }
126
- async function xA(A, n) {
127
- const a = await FA(A), s = document.createElement("canvas"), c = s.getContext("2d");
128
- return s.width = a.width, s.height = a.height, c.setTransform(1, 0, 0, 1, s.width / 2, s.height / 2), c.rotate(n), c.drawImage(a, -a.width / 2, -a.height / 2), s.toDataURL();
126
+ async function _A(A, r) {
127
+ const a = await HA(A), s = document.createElement("canvas"), c = s.getContext("2d");
128
+ return s.width = a.width, s.height = a.height, c.setTransform(1, 0, 0, 1, s.width / 2, s.height / 2), c.rotate(r), c.drawImage(a, -a.width / 2, -a.height / 2), s.toDataURL();
129
129
  }
130
- const EA = {
130
+ const DA = {
131
131
  // removeBg: async (endpoint: string, file: { dataUrl: string, resolution?: number }, basePath: string = '/media') => {
132
132
  // const body = JSON.stringify({
133
133
  // dataUrl: file.dataUrl,
@@ -144,9 +144,9 @@ const EA = {
144
144
  // .catch((error) => [ error ]);
145
145
  // return await response.dataUrl;
146
146
  // },
147
- processImage: async (A, n, a = "/media") => {
147
+ processImage: async (A, r, a = "/media") => {
148
148
  const s = JSON.stringify({
149
- ...n
149
+ ...r
150
150
  });
151
151
  return await (await fetch(A, {
152
152
  headers: {
@@ -156,22 +156,22 @@ const EA = {
156
156
  body: s
157
157
  }).then((o) => o.json()).catch((o) => [o])).dataUrl;
158
158
  }
159
- }, _A = "data:image/png;base64,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", GA = { class: "photo-app__drop-target__canvas" }, zA = { class: "flex-grow-1 text-center" }, NA = ["innerHTML"], $A = { class: "ml-2" }, WA = {
159
+ }, GA = "data:image/png;base64,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", zA = { class: "photo-app__drop-target__canvas" }, NA = { class: "flex-grow-1 text-center" }, $A = ["innerHTML"], WA = { class: "ml-2" }, JA = {
160
160
  key: 0,
161
161
  class: "d-flex flex-column align-center justify-center"
162
- }, JA = { key: 0 }, XA = { class: "photo-app__errors mt-2" }, ZA = { class: "error--text" }, KA = {
162
+ }, XA = { key: 0 }, ZA = { class: "photo-app__errors mt-2" }, KA = { class: "error--text" }, qA = {
163
163
  key: 1,
164
164
  class: "photo-app__file-list"
165
- }, qA = { class: "row" }, Ae = { key: 0 }, ee = { key: 1 }, te = { key: 2 }, ae = { key: 3 }, oe = { class: "photo-app__form-input text-center" }, le = { class: "photo-app__controls" }, ne = { class: "row" }, re = { class: "col col-12" }, se = ["innerHTML"], ie = {
165
+ }, Ae = { class: "row" }, ee = { key: 0 }, te = { key: 1 }, ae = { key: 2 }, oe = { key: 3 }, le = { class: "photo-app__form-input text-center" }, ne = { class: "photo-app__controls" }, re = { class: "row" }, se = { class: "col col-12" }, ie = ["innerHTML"], ce = {
166
166
  key: 0,
167
167
  class: "d-flex justify-center col-8 mx-auto"
168
- }, ce = { class: "col" }, ue = {
168
+ }, ue = { class: "col" }, de = {
169
169
  key: 0,
170
170
  class: "col"
171
- }, de = {
171
+ }, ge = {
172
172
  key: 1,
173
173
  class: "col"
174
- }, ge = ["required", "value"], Ve = /* @__PURE__ */ AA({
174
+ }, fe = ["required", "value"], xe = /* @__PURE__ */ AA({
175
175
  __name: "photo-app",
176
176
  props: {
177
177
  modelValue: {
@@ -252,7 +252,7 @@ const EA = {
252
252
  },
253
253
  guideSrc: {
254
254
  type: String,
255
- default: _A
255
+ default: GA
256
256
  },
257
257
  acceptButton: {
258
258
  type: Boolean,
@@ -322,119 +322,124 @@ const EA = {
322
322
  processImage: null,
323
323
  filter: String,
324
324
  tint: Object,
325
- resolutions: Object
325
+ resolutions: Object,
326
+ zoom: Number,
327
+ enableZoomSlider: {
328
+ type: Boolean,
329
+ default: !1
330
+ }
326
331
  },
327
332
  emits: ["update:modelValue"],
328
- setup(A, { emit: n }) {
329
- const { tm: a } = jA(), s = DA(), c = s && s.appContext.config.globalProperties.$config, o = A, g = n, i = F(() => c.baseMediaPath), w = F(() => l.value && l.value.length && l.value.filter((r) => r.response && Object.keys(r.response).length).length === l.value.length), h = F(() => {
330
- const r = l.value.find((p) => p.response && p.response.path);
331
- return r && r.response.path;
332
- }), Q = F(() => h.value ? `${i.value}${h.value}` : ""), d = F(() => ({
333
+ setup(A, { emit: r }) {
334
+ const { tm: a } = LA(), s = QA(), c = s && s.appContext.config.globalProperties.$config, o = A, g = r, i = F(() => c.baseMediaPath), y = F(() => l.value && l.value.length && l.value.filter((n) => n.response && Object.keys(n.response).length).length === l.value.length), h = F(() => {
335
+ const n = l.value.find((p) => p.response && p.response.path);
336
+ return n && n.response.path;
337
+ }), k = F(() => h.value ? `${i.value}${h.value}` : ""), d = F(() => ({
333
338
  ...o.i18n ? o.i18n.messages : {},
334
339
  ...o.messages
335
340
  }));
336
341
  F(() => !!(l.value && l.value.length));
337
- const y = F(() => l.value.length ? d.value.reviewTitle : d.value.captureTitle), l = D([]), m = D(), k = D(), u = D(), z = D(!1), S = D(!1), x = D(), j = D(), Y = D(!1), lA = D("");
338
- Z(x, async (r, p) => {
339
- if (r) {
340
- const C = r.blob && r.blob.type.split("/")[1], M = new File([r.blob], `${r.id}.${C}`), T = await VA(M), N = await fA(M), $ = await xA(N, T), e = await (await fetch($)).blob();
341
- l.value.push(new File([e], `${r.id}.${C}`, {
342
- type: e.type
343
- })), Y.value = !1, uA();
342
+ const v = F(() => l.value.length ? d.value.reviewTitle : d.value.captureTitle), l = D([]), m = D(), S = D(), u = D(), N = D(!1), M = D(!1), eA = D(), U = D(), H = D(!1), tA = D("");
343
+ Z(eA, async (n, p) => {
344
+ if (n) {
345
+ const I = n.blob && n.blob.type.split("/")[1], Q = new File([n.blob], `${n.id}.${I}`), T = await xA(Q), z = await mA(Q), $ = await _A(z, T), x = await (await fetch($)).blob();
346
+ l.value.push(new File([x], `${n.id}.${I}`, {
347
+ type: x.type
348
+ })), H.value = !1, dA();
344
349
  }
345
- }, { deep: !0 }), Z(l, async (r, p) => {
350
+ }, { deep: !0 }), Z(l, async (n, p) => {
346
351
  if (o.enableInstantUpload)
347
- r.find((C) => !C.response.path) && (m.value.active = !0);
352
+ n.find((I) => !I.response.path) && (m.value.active = !0);
348
353
  else {
349
- const C = await Promise.all(r.map(async (M) => {
350
- let T = await fA(M);
351
- o.downScaleImages && Number(o.maxFileSize) && M.size > Number(o.maxFileSize) && (T = await HA(T, 800, 800));
352
- const N = o.ratio.split("x");
353
- return await vA(T, Number(N[0]) / Number(N[1]));
354
+ const I = await Promise.all(n.map(async (Q) => {
355
+ let T = await mA(Q);
356
+ o.downScaleImages && Number(o.maxFileSize) && Q.size > Number(o.maxFileSize) && (T = await YA(T, 800, 800));
357
+ const z = o.ratio.split("x");
358
+ return await yA(T, Number(z[0]) / Number(z[1]));
354
359
  }));
355
- j.value = C[0];
360
+ U.value = I[0];
356
361
  }
357
- }, { deep: !0 }), Z(w, async (r, p) => {
358
- r && !p && (j.value = o.enableInstantUpload ? h.value : await vA(Q.value));
359
- }, { deep: !0 }), Z(j, async (r, p) => {
360
- o.enableAutoSave && j !== p && rA();
362
+ }, { deep: !0 }), Z(y, async (n, p) => {
363
+ n && !p && (U.value = o.enableInstantUpload ? h.value : await yA(k.value));
364
+ }, { deep: !0 }), Z(U, async (n, p) => {
365
+ o.enableAutoSave && U !== p && rA();
361
366
  });
362
367
  function nA() {
363
- j.value = "", l.value = [];
368
+ U.value = "", l.value = [];
364
369
  }
365
- function uA() {
366
- S.value = !1;
370
+ function dA() {
371
+ M.value = !1;
367
372
  }
368
373
  function K() {
369
- nA(), S.value = !S.value;
374
+ nA(), M.value = !M.value;
370
375
  }
371
- async function dA(r) {
376
+ async function gA(n) {
372
377
  if (!o.filter) {
373
- l.value = r;
378
+ l.value = n;
374
379
  return;
375
380
  }
376
- const { applyFilterToImageBlob: p } = PA({
381
+ const { applyFilterToImageBlob: p } = UA({
377
382
  ...o,
378
383
  tintColor: o.tint?.color,
379
384
  tintIntensity: o.tint?.intensity
380
- }), C = await Promise.all((r || []).map(async (M) => {
381
- const T = M?.file instanceof File ? M.file : M instanceof File ? M : null;
385
+ }), I = await Promise.all((n || []).map(async (Q) => {
386
+ const T = Q?.file instanceof File ? Q.file : Q instanceof File ? Q : null;
382
387
  if (!T)
383
- return M;
384
- const N = await fA(T), $ = await p(N), V = new File([$], T.name, {
388
+ return Q;
389
+ const z = await mA(T), $ = await p(z), V = new File([$], T.name, {
385
390
  type: $.type || T.type,
386
391
  lastModified: T.lastModified
387
392
  });
388
- if (M?.file instanceof File) {
389
- const e = window.URL || window.webkitURL;
393
+ if (Q?.file instanceof File) {
394
+ const x = window.URL || window.webkitURL;
390
395
  return {
391
- ...M,
396
+ ...Q,
392
397
  file: V,
393
398
  size: V.size,
394
399
  type: V.type,
395
400
  name: V.name,
396
- blob: e && e.createObjectURL ? e.createObjectURL(V) : M.blob
401
+ blob: x && x.createObjectURL ? x.createObjectURL(V) : Q.blob
397
402
  };
398
403
  }
399
404
  return V;
400
405
  }));
401
- l.value = C;
406
+ l.value = I;
402
407
  }
403
408
  const rA = (async () => {
404
- Y.value = !0, o.enableProcessImage && o.processImage && (j.value = await o.processImage.reduce(async (r, p) => {
405
- const C = await r;
406
- return await gA(C, p);
407
- }, Promise.resolve(j.value))), g("update:modelValue", j.value);
408
- }), gA = (async (r, p) => `${await EA.processImage(
409
+ H.value = !0, o.enableProcessImage && o.processImage && (U.value = await o.processImage.reduce(async (n, p) => {
410
+ const I = await n;
411
+ return await fA(I, p);
412
+ }, Promise.resolve(U.value))), g("update:modelValue", U.value);
413
+ }), fA = (async (n, p) => `${await DA.processImage(
409
414
  `${p.endpoint}${p.search ? `?${p.search}` : ""}`,
410
- { ...p.body, dataUrl: r, resolution: o.fixedResolution },
415
+ { ...p.body, dataUrl: n, resolution: o.fixedResolution },
411
416
  p.basePath
412
417
  )}`);
413
- function eA() {
414
- Y.value = !0, k.value?.onCapture();
418
+ function sA() {
419
+ H.value = !0, S.value?.onCapture();
415
420
  }
416
- return yA(() => {
417
- ["dragenter", "dragover"].forEach((r) => {
418
- document.body.addEventListener(r, (p) => {
419
- p.preventDefault(), z.value = !0;
421
+ return wA(() => {
422
+ ["dragenter", "dragover"].forEach((n) => {
423
+ document.body.addEventListener(n, (p) => {
424
+ p.preventDefault(), N.value = !0;
420
425
  }, !1);
421
- }), ["dragleave", "drop"].forEach((r) => {
422
- u.value.addEventListener(r, (p) => {
423
- p.preventDefault(), z.value = !1;
426
+ }), ["dragleave", "drop"].forEach((n) => {
427
+ u.value.addEventListener(n, (p) => {
428
+ p.preventDefault(), N.value = !1;
424
429
  }, !1);
425
- }), ["drop"].forEach((r) => {
426
- u.value.addEventListener(r, (p) => {
427
- p.preventDefault(), z.value = !1;
428
- const C = p.dataTransfer;
429
- (C && Array.from(C.files || []))?.forEach((T) => {
430
+ }), ["drop"].forEach((n) => {
431
+ u.value.addEventListener(n, (p) => {
432
+ p.preventDefault(), N.value = !1;
433
+ const I = p.dataTransfer;
434
+ (I && Array.from(I.files || []))?.forEach((T) => {
430
435
  l.value.push(T);
431
436
  });
432
437
  }, !1);
433
438
  });
434
- }), (r, p) => (f(), I("div", {
435
- class: H(["photo-app", A.variant === "dark" && "theme--dark"])
439
+ }), (n, p) => (f(), w("div", {
440
+ class: Y(["photo-app", A.variant === "dark" && "theme--dark"])
436
441
  }, [
437
- A.enableCamera ? (f(), I("div", {
442
+ A.enableCamera ? (f(), w("div", {
438
443
  key: 0,
439
444
  class: "photo-app__canvas media-container",
440
445
  style: _({
@@ -442,16 +447,16 @@ const EA = {
442
447
  backgroundColor: A.backgroundColor
443
448
  })
444
449
  }, [
445
- S.value ? (f(), I("div", {
450
+ M.value ? (f(), w("div", {
446
451
  key: 0,
447
- class: H(["photo-app__camera", `${A.ratio ? `aspect-ratio--${A.ratio}` : ""}`]),
452
+ class: Y(["photo-app__camera", `${A.ratio ? `aspect-ratio--${A.ratio}` : ""}`]),
448
453
  style: _({ borderColor: A.color })
449
454
  }, [
450
- L(B(SA), {
455
+ L(B(MA), {
451
456
  ref_key: "camera",
452
- ref: k,
453
- modelValue: x.value,
454
- "onUpdate:modelValue": p[0] || (p[0] = (C) => x.value = C),
457
+ ref: S,
458
+ modelValue: eA.value,
459
+ "onUpdate:modelValue": p[0] || (p[0] = (I) => eA.value = I),
455
460
  "enable-toggle-play": A.enableTogglePlay,
456
461
  countdown: A.captureCountdown,
457
462
  "enable-mirror-camera": A.enableMirrorCamera,
@@ -472,36 +477,36 @@ const EA = {
472
477
  "tint-intensity": A.tint?.intensity
473
478
  }, null, 8, ["modelValue", "enable-toggle-play", "countdown", "enable-mirror-camera", "enable-switch-camera", "default-rear-camera", "enable-guide", "guide-src", "fixed-resolution", "enable-audio", "enable-select-device", "enable-crop-image", "text-color", "ratio", "resolutions", "filter", "tint-color", "tint-intensity"])
474
479
  ], 6)) : E("", !0),
475
- l.value && l.value.length && !S.value ? (f(), I("div", {
480
+ l.value && l.value.length && !M.value ? (f(), w("div", {
476
481
  key: 1,
477
482
  class: "photo-app__preview",
478
483
  style: _({ borderColor: A.color })
479
484
  }, [
480
- j.value ? (f(), R(B(CA), {
485
+ U.value ? (f(), R(B(bA), {
481
486
  key: 0,
482
- src: Q.value || j.value
487
+ src: k.value || U.value
483
488
  }, null, 8, ["src"])) : E("", !0),
484
- L(wA, {
489
+ L(IA, {
485
490
  name: "fade",
486
491
  mode: "out-in"
487
492
  }, {
488
493
  default: G(() => [
489
- Y.value ? (f(), R(B(hA), { key: 0 })) : E("", !0)
494
+ H.value ? (f(), R(B(BA), { key: 0 })) : E("", !0)
490
495
  ]),
491
496
  _: 1
492
497
  })
493
- ], 4)) : S.value ? E("", !0) : (f(), I("div", {
498
+ ], 4)) : M.value ? E("", !0) : (f(), w("div", {
494
499
  key: 2,
495
- class: H(["photo-app__drop-target", `${A.ratio ? `aspect-ratio--${A.ratio}` : ""}`]),
500
+ class: Y(["photo-app__drop-target", `${A.ratio ? `aspect-ratio--${A.ratio}` : ""}`]),
496
501
  style: _({ borderColor: A.color })
497
502
  }, [
498
- v("div", GA, [
499
- v("div", zA, [
500
- v("p", {
503
+ b("div", zA, [
504
+ b("div", NA, [
505
+ b("p", {
501
506
  class: "headline h2 font-weight-bold",
502
- innerHTML: d.value.title || r.$t("fileInput.coverTitle")
503
- }, null, 8, NA),
504
- A.enableCamera ? (f(), R(B(oA), {
507
+ innerHTML: d.value.title || n.$t("fileInput.coverTitle")
508
+ }, null, 8, $A),
509
+ A.enableCamera ? (f(), R(B(lA), {
505
510
  key: 0,
506
511
  type: "button",
507
512
  onClick: q(K, ["prevent"]),
@@ -511,78 +516,78 @@ const EA = {
511
516
  }, {
512
517
  default: G(() => [
513
518
  L(B(X), { symbol: "camera" }),
514
- v("span", $A, P(d.value.launchCamera || r.$t("fileInput.coverLaunchCta")), 1)
519
+ b("span", WA, P(d.value.launchCamera || n.$t("fileInput.coverLaunchCta")), 1)
515
520
  ]),
516
521
  _: 1
517
522
  }, 8, ["style"])) : E("", !0)
518
523
  ]),
519
- A.enableLocalFileUpload ? (f(), I("div", WA, [
520
- v("p", {
524
+ A.enableLocalFileUpload ? (f(), w("div", JA, [
525
+ b("p", {
521
526
  class: "subtitle fw-bold ma-0",
522
527
  style: _({ color: A.color })
523
- }, P(d.value.localFileTitle || r.$t("fileInput.coverLocalSelectTitle")), 5),
524
- v("p", {
528
+ }, P(d.value.localFileTitle || n.$t("fileInput.coverLocalSelectTitle")), 5),
529
+ b("p", {
525
530
  class: "text-body-1",
526
531
  style: _({ color: A.color })
527
532
  }, [
528
- A.enableDragDrop ? (f(), I("span", JA, P(d.value.dropTarget || r.$t("fileInput.coverDropTarget")) + " " + P(A.enableLocalFileUpload && A.enableDragDrop ? d.value.or || r.$t("common.or") : "") + " " + P(), 1)) : E("", !0),
529
- v("label", {
533
+ A.enableDragDrop ? (f(), w("span", XA, P(d.value.dropTarget || n.$t("fileInput.coverDropTarget")) + " " + P(A.enableLocalFileUpload && A.enableDragDrop ? d.value.or || n.$t("common.or") : "") + " " + P(), 1)) : E("", !0),
534
+ b("label", {
530
535
  for: "fileUpload",
531
536
  role: "button",
532
537
  class: "d-inline link",
533
538
  style: _({ color: A.color })
534
- }, P(d.value.coverSelectFileCta || r.$t("fileInput.coverLocalFileCta")), 5)
539
+ }, P(d.value.coverSelectFileCta || n.$t("fileInput.coverLocalFileCta")), 5)
535
540
  ], 4)
536
541
  ])) : E("", !0)
537
542
  ])
538
543
  ], 6))
539
544
  ], 4)) : E("", !0),
540
- sA(v("div", {
545
+ iA(b("div", {
541
546
  class: "photo-app__drop-overlay",
542
547
  ref_key: "dropArea",
543
548
  ref: u
544
549
  }, [
545
- v("h3", null, P(d.value.dropTarget || r.$t("fileInput.dropTargetLabel")), 1)
550
+ b("h3", null, P(d.value.dropTarget || n.$t("fileInput.dropTargetLabel")), 1)
546
551
  ], 512), [
547
- [iA, A.enableLocalFileUpload && A.enableDragDrop && z.value]
552
+ [cA, A.enableLocalFileUpload && A.enableDragDrop && N.value]
548
553
  ]),
549
- sA(v("div", XA, [
550
- v("p", ZA, P(lA.value), 1)
554
+ iA(b("div", ZA, [
555
+ b("p", KA, P(tA.value), 1)
551
556
  ], 512), [
552
- [iA, lA.value]
557
+ [cA, tA.value]
553
558
  ]),
554
- A.enableFileList && l.value.length ? (f(), I("div", KA, [
555
- v("div", qA, [
556
- (f(!0), I(QA, null, kA(l.value, (C) => (f(), I("div", {
557
- key: C.id,
559
+ A.enableFileList && l.value.length ? (f(), w("div", qA, [
560
+ b("div", Ae, [
561
+ (f(!0), w(kA, null, SA(l.value, (I) => (f(), w("div", {
562
+ key: I.id,
558
563
  class: "col col-12"
559
564
  }, [
560
- v("span", null, P(C.name), 1),
565
+ b("span", null, P(I.name), 1),
561
566
  p[2] || (p[2] = J(" - ", -1)),
562
- v("span", null, P(C.size), 1),
567
+ b("span", null, P(I.size), 1),
563
568
  p[3] || (p[3] = J(" - ", -1)),
564
- C.error ? (f(), I("span", Ae, P(C.error), 1)) : C.success ? (f(), I("span", ee, P(r.$t("common.success")), 1)) : C.active ? (f(), I("span", te, P(r.$t("common.active")), 1)) : (f(), I("span", ae))
569
+ I.error ? (f(), w("span", ee, P(I.error), 1)) : I.success ? (f(), w("span", te, P(n.$t("common.success")), 1)) : I.active ? (f(), w("span", ae, P(n.$t("common.active")), 1)) : (f(), w("span", oe))
565
570
  ]))), 128))
566
571
  ])
567
572
  ])) : E("", !0),
568
- sA(v("div", oe, [
569
- v("div", le, [
570
- v("div", ne, [
571
- v("div", re, [
572
- pA(r.$slots, "headline", {}, () => [
573
- A.enableTitle && (S.value || l.value.length) ? (f(), I("p", {
573
+ iA(b("div", le, [
574
+ b("div", ne, [
575
+ b("div", re, [
576
+ b("div", se, [
577
+ CA(n.$slots, "headline", {}, () => [
578
+ A.enableTitle && (M.value || l.value.length) ? (f(), w("p", {
574
579
  key: 0,
575
580
  class: "headline",
576
- innerHTML: y.value
577
- }, null, 8, se)) : E("", !0)
581
+ innerHTML: v.value
582
+ }, null, 8, ie)) : E("", !0)
578
583
  ]),
579
- !A.enableLegacyInput && (S.value || l.value.length) ? (f(), I("div", ie, [
580
- v("div", ce, [
581
- S.value || l.value.length && (!m.value || !m.value.active) ? (f(), R(B(oA), {
584
+ !A.enableLegacyInput && (M.value || l.value.length) ? (f(), w("div", ce, [
585
+ b("div", ue, [
586
+ M.value || l.value.length && (!m.value || !m.value.active) ? (f(), R(B(lA), {
582
587
  key: 0,
583
588
  type: "button",
584
- class: H(["btn btn-primary-outline rounded-circle", `theme--${A.variant}`]),
585
- onClick: p[1] || (p[1] = q((C) => S.value ? K() : nA(), ["prevent"]))
589
+ class: Y(["btn btn-primary-outline rounded-circle", `theme--${A.variant}`]),
590
+ onClick: p[1] || (p[1] = q((I) => M.value ? K() : nA(), ["prevent"]))
586
591
  }, {
587
592
  default: G(() => [
588
593
  L(B(X), {
@@ -590,91 +595,91 @@ const EA = {
590
595
  "base-path": B(c).iconSprite,
591
596
  class: "primary"
592
597
  }, null, 8, ["base-path"]),
593
- J(" " + P(A.enableButtonCaptions ? d.value.cancel || r.$t("fileInput.cancel") : ""), 1)
598
+ J(" " + P(A.enableButtonCaptions ? d.value.cancel || n.$t("fileInput.cancel") : ""), 1)
594
599
  ]),
595
600
  _: 1
596
601
  }, 8, ["class"])) : E("", !0)
597
602
  ]),
598
- S.value ? (f(), I("div", ue, [
599
- L(B(oA), {
603
+ M.value ? (f(), w("div", de, [
604
+ L(B(lA), {
600
605
  type: "button",
601
- class: H(["btn btn-primary rounded-circle", `theme--${A.variant}`]),
602
- onClick: q(eA, ["prevent"]),
603
- disabled: Y.value
606
+ class: Y(["btn btn-primary rounded-circle", `theme--${A.variant}`]),
607
+ onClick: q(sA, ["prevent"]),
608
+ disabled: H.value
604
609
  }, {
605
610
  default: G(() => [
606
611
  L(B(X), {
607
612
  symbol: "camera",
608
613
  "base-path": B(c).iconSprite
609
614
  }, null, 8, ["base-path"]),
610
- J(" " + P(A.enableButtonCaptions ? d.value.shoot || r.$t("fileInput.shoot") : ""), 1)
615
+ J(" " + P(A.enableButtonCaptions ? d.value.shoot || n.$t("fileInput.shoot") : ""), 1)
611
616
  ]),
612
617
  _: 1
613
618
  }, 8, ["class", "disabled"])
614
- ])) : A.enableReview ? (f(), I("div", de, [
615
- L(B(oA), {
619
+ ])) : A.enableReview ? (f(), w("div", ge, [
620
+ L(B(lA), {
616
621
  type: "button",
617
- class: H(["btn btn-primary rounded-circle", {
622
+ class: Y(["btn btn-primary rounded-circle", {
618
623
  [`theme--${A.variant}`]: A.variant,
619
- "btn-success": Y.value
624
+ "btn-success": H.value
620
625
  }]),
621
626
  onClick: q(rA, ["prevent"]),
622
- disabled: Y.value
627
+ disabled: H.value
623
628
  }, {
624
629
  default: G(() => [
625
630
  L(B(X), { symbol: "check" }),
626
- J(" " + P(A.enableButtonCaptions ? d.value.accept || r.$t("common.accept") : ""), 1)
631
+ J(" " + P(A.enableButtonCaptions ? d.value.accept || n.$t("common.accept") : ""), 1)
627
632
  ]),
628
633
  _: 1
629
634
  }, 8, ["class", "disabled"])
630
635
  ])) : E("", !0)
631
636
  ])) : E("", !0),
632
- sA(v("div", {
633
- class: H(["justify-center col-10 mx-auto", {
634
- "d-flex": A.enableLegacyInput && (S.value || l.value.length)
637
+ iA(b("div", {
638
+ class: Y(["justify-center col-10 mx-auto", {
639
+ "d-flex": A.enableLegacyInput && (M.value || l.value.length)
635
640
  }])
636
641
  }, [
637
- v("button", {
642
+ b("button", {
638
643
  type: "button",
639
- class: H(["btn btn-primary", `theme--${A.variant}`]),
644
+ class: Y(["btn btn-primary", `theme--${A.variant}`]),
640
645
  onClick: q(K, ["prevent"])
641
646
  }, [
642
647
  A.enableButtonIcons ? (f(), R(B(X), {
643
648
  key: 0,
644
649
  symbol: "camera"
645
650
  })) : E("", !0),
646
- J(" " + P(A.enableButtonCaptions ? S.value ? d.value.cancel || r.$t("common.cancel") : d.value.camera || r.$t("fileInput.selectCameraCta") : ""), 1)
651
+ J(" " + P(A.enableButtonCaptions ? M.value ? d.value.cancel || n.$t("common.cancel") : d.value.camera || n.$t("fileInput.selectCameraCta") : ""), 1)
647
652
  ], 2),
648
- S.value && (!r.$refs.upload || m.value.active) ? (f(), R(B(oA), {
653
+ M.value && (!n.$refs.upload || m.value.active) ? (f(), R(B(lA), {
649
654
  key: 0,
650
655
  type: "button",
651
- class: H(["btn btn-primary", `theme--${A.variant}`]),
652
- onClick: q(eA, ["prevent"]),
653
- disabled: Y.value
656
+ class: Y(["btn btn-primary", `theme--${A.variant}`]),
657
+ onClick: q(sA, ["prevent"]),
658
+ disabled: H.value
654
659
  }, {
655
660
  default: G(() => [
656
661
  A.enableButtonIcons ? (f(), R(B(X), {
657
662
  key: 0,
658
663
  symbol: "camera"
659
664
  })) : E("", !0),
660
- J(" " + P(A.enableButtonCaptions ? d.value.shoot || r.$t("fileInput.shoot") : ""), 1)
665
+ J(" " + P(A.enableButtonCaptions ? d.value.shoot || n.$t("fileInput.shoot") : ""), 1)
661
666
  ]),
662
667
  _: 1
663
668
  }, 8, ["class", "disabled"])) : E("", !0),
664
- L(B(MA), {
669
+ L(B(PA), {
665
670
  ref_key: "upload",
666
671
  ref: m,
667
672
  "model-value": l.value,
668
673
  id: "fileUpload",
669
- "onUpdate:modelValue": dA,
674
+ "onUpdate:modelValue": gA,
670
675
  name: "fileUpload"
671
676
  }, {
672
677
  default: G(() => [
673
- pA(r.$slots, "label", {}, () => [
674
- v("label", {
678
+ CA(n.$slots, "label", {}, () => [
679
+ b("label", {
675
680
  for: "fileUpload",
676
681
  type: "button",
677
- class: H(["btn btn-primary", `theme--${A.variant}`])
682
+ class: Y(["btn btn-primary", `theme--${A.variant}`])
678
683
  }, [
679
684
  A.enableButtonIcons ? (f(), R(B(X), {
680
685
  key: 0,
@@ -686,54 +691,54 @@ const EA = {
686
691
  _: 3
687
692
  }, 8, ["model-value"])
688
693
  ], 2), [
689
- [iA, A.enableLegacyInput && (S.value || l.value.length)]
694
+ [cA, A.enableLegacyInput && (M.value || l.value.length)]
690
695
  ]),
691
- A.required ? (f(), I("input", {
696
+ A.required ? (f(), w("input", {
692
697
  key: 1,
693
698
  ref: "hiddenInput",
694
699
  required: A.required,
695
- value: j.value,
700
+ value: U.value,
696
701
  style: { display: "none" }
697
- }, null, 8, ge)) : E("", !0)
702
+ }, null, 8, fe)) : E("", !0)
698
703
  ])
699
704
  ])
700
705
  ])
701
706
  ], 512), [
702
- [iA, S.value || l.value.length]
707
+ [cA, M.value || l.value.length]
703
708
  ])
704
709
  ], 2));
705
710
  }
706
711
  });
707
- function cA(A) {
708
- return new Promise((n, a) => {
709
- A.oncomplete = A.onsuccess = () => n(A.result), A.onabort = A.onerror = () => a(A.error);
712
+ function uA(A) {
713
+ return new Promise((r, a) => {
714
+ A.oncomplete = A.onsuccess = () => r(A.result), A.onabort = A.onerror = () => a(A.error);
710
715
  });
711
716
  }
712
- function fe(A, n) {
717
+ function me(A, r) {
713
718
  const a = indexedDB.open(A);
714
- a.onupgradeneeded = () => a.result.createObjectStore(n);
715
- const s = cA(a);
719
+ a.onupgradeneeded = () => a.result.createObjectStore(r);
720
+ const s = uA(a);
716
721
  return (c, o) => s.then(
717
- (g) => o(g.transaction(n, c).objectStore(n))
722
+ (g) => o(g.transaction(r, c).objectStore(r))
718
723
  );
719
724
  }
720
- let mA;
721
- function bA() {
722
- return mA || (mA = fe("keyval-store", "keyval")), mA;
725
+ let pA;
726
+ function vA() {
727
+ return pA || (pA = me("keyval-store", "keyval")), pA;
723
728
  }
724
- function me(A, n = bA()) {
725
- return n("readonly", (a) => cA(a.get(A)));
729
+ function pe(A, r = vA()) {
730
+ return r("readonly", (a) => uA(a.get(A)));
726
731
  }
727
- function pe(A, n, a = bA()) {
728
- return a("readwrite", (s) => (s.put(n, A), cA(s.transaction)));
732
+ function Ce(A, r, a = vA()) {
733
+ return a("readwrite", (s) => (s.put(r, A), uA(s.transaction)));
729
734
  }
730
- function Ce(A, n = bA()) {
731
- return n("readwrite", (a) => (a.delete(A), cA(a.transaction)));
735
+ function be(A, r = vA()) {
736
+ return r("readwrite", (a) => (a.delete(A), uA(a.transaction)));
732
737
  }
733
- const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffffCC'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='feather%20feather-rotate-cw'%3e%3cpolyline%20points='23%204%2023%2010%2017%2010'%3e%3c/polyline%3e%3cpath%20d='M20.49%2015a9%209%200%201%201-2.12-9.36L23%2010'%3e%3c/path%3e%3c/svg%3e", ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffffCC'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='feather%20feather-x-circle'%3e%3ccircle%20cx='12'%20cy='12'%20r='10'%20fill='none'%3e%3c/circle%3e%3cline%20x1='15'%20y1='9'%20x2='9'%20y2='15'%20fill='none'%3e%3c/line%3e%3cline%20x1='9'%20y1='9'%20x2='15'%20y2='15'%20fill='none'%3e%3c/line%3e%3c/svg%3e", ye = { class: "fabric-canvas__canvas" }, we = {
738
+ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffffCC'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='feather%20feather-rotate-cw'%3e%3cpolyline%20points='23%204%2023%2010%2017%2010'%3e%3c/polyline%3e%3cpath%20d='M20.49%2015a9%209%200%201%201-2.12-9.36L23%2010'%3e%3c/path%3e%3c/svg%3e", ye = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffffCC'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%20class='feather%20feather-x-circle'%3e%3ccircle%20cx='12'%20cy='12'%20r='10'%20fill='none'%3e%3c/circle%3e%3cline%20x1='15'%20y1='9'%20x2='9'%20y2='15'%20fill='none'%3e%3c/line%3e%3cline%20x1='9'%20y1='9'%20x2='15'%20y2='15'%20fill='none'%3e%3c/line%3e%3c/svg%3e", we = { class: "fabric-canvas__canvas" }, Ie = {
734
739
  id: "fabricCanvas",
735
740
  ref: "canvasRef"
736
- }, Ie = /* @__PURE__ */ AA({
741
+ }, he = /* @__PURE__ */ AA({
737
742
  __name: "fabric-canvas",
738
743
  props: {
739
744
  modelValue: {
@@ -778,174 +783,174 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
778
783
  }
779
784
  },
780
785
  emits: ["update:modelValue", "update:jsonModel", "update:pending", "on-ready"],
781
- setup(A, { expose: n, emit: a }) {
782
- let s, c, o, g, i, w, h, Q;
786
+ setup(A, { expose: r, emit: a }) {
787
+ let s, c, o, g, i, y, h, k;
783
788
  const d = a;
784
- n({ setBackgroundImage: lA, setOverlayImage: uA, addCanvasObject: K });
785
- const y = A, l = D(), m = D(0), k = D(0);
786
- let u;
787
- const z = D();
788
- async function S(e, t) {
789
- return new Promise(async (b) => {
790
- const U = JSON.parse(t);
791
- if (U.backgroundImage) {
792
- const O = await x(U.backgroundImage.src || U.backgroundImage.filename);
793
- O.set({
789
+ r({ setBackgroundImage: nA, setOverlayImage: K, addCanvasObject: gA });
790
+ const v = A, l = D(), m = D(0), S = D(0);
791
+ let u, N = !1;
792
+ const M = D();
793
+ async function eA(e, t) {
794
+ return new Promise(async (C) => {
795
+ const O = JSON.parse(t);
796
+ if (O.backgroundImage) {
797
+ const j = await U(O.backgroundImage.src || O.backgroundImage.filename);
798
+ j.set({
794
799
  opacity: 1
795
- }), e.backgroundImage = O, e.centerObject(O);
800
+ }), e.backgroundImage = j, e.centerObject(j);
796
801
  }
797
- if (U.overlayImage) {
798
- const O = await x(U.overlayImage.src || U.overlayImage.filename);
799
- O.set({
802
+ if (O.overlayImage) {
803
+ const j = await U(O.overlayImage.src || O.overlayImage.filename);
804
+ j.set({
800
805
  opacity: 1,
801
806
  left: m.value / 2,
802
- top: k.value / 2,
803
- scaleX: m.value / O.width,
804
- scaleY: k.value / O.height
805
- }), e.overlayImage = O;
807
+ top: S.value / 2,
808
+ scaleX: m.value / j.width,
809
+ scaleY: S.value / j.height
810
+ }), e.overlayImage = j;
806
811
  }
807
- (await g.enlivenObjects(U.objects, {
812
+ (await g.enlivenObjects(O.objects, {
808
813
  reviver: void 0
809
- })).forEach((O) => {
810
- e.add(O);
811
- }), b(e);
814
+ })).forEach((j) => {
815
+ e.add(j);
816
+ }), C(e);
812
817
  });
813
818
  }
814
- async function x(e) {
815
- const t = await $(e);
819
+ async function U(e) {
820
+ const t = await V(e);
816
821
  e.includes("data:image") || (t.filename = e);
817
- const b = g.findScaleToCover(t, u), U = t instanceof c;
822
+ const C = g.findScaleToCover(t, u), O = t instanceof c;
818
823
  return t.set({
819
824
  left: 0,
820
825
  top: 0,
821
- opacity: U && y.animationDuration > 0 ? 0 : 1,
822
- scaleX: b,
823
- scaleY: b,
826
+ opacity: O && v.animationDuration > 0 ? 0 : 1,
827
+ scaleX: C,
828
+ scaleY: C,
824
829
  src: e
825
830
  }), t;
826
831
  }
827
- async function j(e) {
828
- !(e instanceof c) || y.animationDuration === 0 || (y.emitPending && d("update:pending", !0), await new Promise((b) => {
829
- const U = y.animationDuration, tA = Date.now(), O = () => {
830
- const aA = Date.now() - tA, W = Math.min(aA / U, 1);
831
- e.set("opacity", W), u.renderAll(), W < 1 ? requestAnimationFrame(O) : (y.emitPending && d("update:pending", !1), b());
832
+ async function H(e) {
833
+ !(e instanceof c) || v.animationDuration === 0 || (v.emitPending && d("update:pending", !0), await new Promise((C) => {
834
+ const O = v.animationDuration, aA = Date.now(), j = () => {
835
+ const oA = Date.now() - aA, W = Math.min(oA / O, 1);
836
+ e.set("opacity", W), u.renderAll(), W < 1 ? requestAnimationFrame(j) : (v.emitPending && d("update:pending", !1), C());
832
837
  };
833
- requestAnimationFrame(O);
838
+ requestAnimationFrame(j);
834
839
  }));
835
840
  }
836
- function Y(e) {
841
+ function tA(e) {
837
842
  const t = g.findScaleToCover(e, u);
838
843
  return e.set({
839
844
  scaleX: t,
840
845
  scaleY: t
841
846
  }), e;
842
847
  }
843
- async function lA(e) {
844
- const t = await x(e.src);
845
- u.backgroundImage = t, u.centerObject(t), u.renderAll(), await j(t), C();
846
- }
847
848
  async function nA(e) {
848
- const t = await x(e.src);
849
- t.selectable = !1, t.assetType = "foreground", u.add(t), u.centerObject(t), u.renderAll(), await j(t), C();
849
+ const t = await U(e.src);
850
+ u.backgroundImage = t, u.centerObject(t), u.renderAll(), await H(t), Q();
850
851
  }
851
- async function uA(e) {
852
- const t = await x(e.src);
852
+ async function dA(e) {
853
+ const t = await U(e.src);
854
+ t.selectable = !1, t.assetType = "foreground", u.add(t), u.centerObject(t), u.renderAll(), await H(t), Q();
855
+ }
856
+ async function K(e) {
857
+ const t = await U(e.src);
853
858
  t.set({
854
859
  left: m.value / 2,
855
- top: k.value / 2,
860
+ top: S.value / 2,
856
861
  scaleX: m.value / t.width,
857
- scaleY: k.value / t.height
858
- }), u.overlayImage = t, u.renderAll(), await j(t), C();
862
+ scaleY: S.value / t.height
863
+ }), u.overlayImage = t, u.renderAll(), await H(t), Q();
859
864
  }
860
- async function K(e) {
865
+ async function gA(e) {
861
866
  u.discardActiveObject();
862
- const t = await $(e.src);
867
+ const t = await V(e.src);
863
868
  t.filename = e.src;
864
- const b = m.value / 3, U = k.value / 3, tA = b / t.width, O = U / t.height, aA = Math.min(tA, O);
869
+ const C = m.value / 3, O = S.value / 3, aA = C / t.width, j = O / t.height, oA = Math.min(aA, j);
865
870
  t.set({
866
- scaleX: aA,
867
- scaleY: aA,
871
+ scaleX: oA,
872
+ scaleY: oA,
868
873
  left: m.value / 2,
869
- top: k.value / 2
870
- }), t.id = e.id, t.padding = 8, u.add(t), u.setActiveObject(t), await j(t), u.renderAll();
874
+ top: S.value / 2
875
+ }), t.id = e.id, t.padding = 8, u.add(t), u.setActiveObject(t), await H(t), u.renderAll();
871
876
  }
872
- function dA(e, t) {
877
+ function rA(e, t) {
873
878
  t.target.id;
874
- const b = t.target;
875
- return u.remove(b), u.requestRenderAll(), !0;
879
+ const C = t.target;
880
+ return u.remove(C), u.requestRenderAll(), !0;
876
881
  }
877
- function rA() {
878
- if (m.value = l.value.offsetWidth, k.value = l.value.offsetHeight, u.setDimensions({ width: m.value, height: k.value }), u.backgroundImage && (u.backgroundImage = Y(u.backgroundImage), u.centerObject(u.backgroundImage)), u.overlayImage) {
882
+ function fA() {
883
+ if (m.value = l.value.offsetWidth, S.value = l.value.offsetHeight, u.setDimensions({ width: m.value, height: S.value }), u.backgroundImage && (u.backgroundImage = tA(u.backgroundImage), u.centerObject(u.backgroundImage)), u.overlayImage) {
879
884
  const e = u.overlayImage;
880
885
  e.set({
881
886
  scaleX: m.value / e.width,
882
- scaleY: k.value / e.height
887
+ scaleY: S.value / e.height
883
888
  });
884
889
  }
885
890
  u.getObjects().forEach((e) => {
886
- e.assetType === "foreground" && (e = Y(e), u.centerObject(e));
891
+ e.assetType === "foreground" && (e = tA(e), u.centerObject(e));
887
892
  }), u.renderAll();
888
893
  }
889
- const gA = LA(() => {
890
- rA();
894
+ const sA = TA(() => {
895
+ fA();
891
896
  }, 200, { trailing: !0, leading: !1 });
892
- function eA(e) {
893
- return (t, b, U, tA, O) => {
894
- t.save(), t.translate(b, U), t.rotate(g.degreesToRadians(O.angle)), t.fillStyle = y.options.themeData?.colors?.primary, t.fillRect(-24 / 2, -24 / 2, 24, 24);
897
+ function n(e) {
898
+ return (t, C, O, aA, j) => {
899
+ t.save(), t.translate(C, O), t.rotate(g.degreesToRadians(j.angle)), t.fillStyle = v.options.themeData?.colors?.primary, t.fillRect(-24 / 2, -24 / 2, 24, 24);
895
900
  const W = 20;
896
901
  t.drawImage(e, -W / 2, -W / 2, W, W), t.restore();
897
902
  };
898
903
  }
899
- function r() {
904
+ function p() {
900
905
  const e = document.createElement("img");
901
- e.src = be;
906
+ e.src = ve;
902
907
  const t = document.createElement("img");
903
- t.src = ve, u.on("object:added", (b) => {
904
- b.target && b.target.controls && (b.target.set({
908
+ t.src = ye, u.on("object:added", (C) => {
909
+ C.target && C.target.controls && (C.target.set({
905
910
  transparentCorners: !1,
906
911
  cornerSize: 16,
907
912
  cornerStyle: "circle",
908
- ...y.options.themeData?.colors?.primary ? {
909
- cornerColor: y.options.themeData?.colors?.primary,
910
- cornerStrokeColor: y.options.themeData?.colors?.primary,
911
- borderColor: y.options.themeData?.colors?.primary
913
+ ...v.options.themeData?.colors?.primary ? {
914
+ cornerColor: v.options.themeData?.colors?.primary,
915
+ cornerStrokeColor: v.options.themeData?.colors?.primary,
916
+ borderColor: v.options.themeData?.colors?.primary
912
917
  } : {}
913
- }), b.target.controls.ml.visible = !1, b.target.controls.mr.visible = !1, b.target.controls.mb.visible = !1, b.target.controls.mt.visible = !1, b.target.controls.mtr.visible = !1, b.target.controls.rotate = new o({
918
+ }), C.target.controls.ml.visible = !1, C.target.controls.mr.visible = !1, C.target.controls.mb.visible = !1, C.target.controls.mt.visible = !1, C.target.controls.mtr.visible = !1, C.target.controls.rotate = new o({
914
919
  x: 0.5,
915
920
  y: -0.5,
916
921
  offsetX: 32,
917
922
  offsetY: 0,
918
923
  cursorStyle: "pointer",
919
924
  actionName: "rotate",
920
- actionHandler: Q.rotationWithSnapping,
921
- cursorStyleHandler: Q.rotationStyleHandler,
922
- render: eA(e)
923
- }), b.target.controls.delete = new o({
925
+ actionHandler: k.rotationWithSnapping,
926
+ cursorStyleHandler: k.rotationStyleHandler,
927
+ render: n(e)
928
+ }), C.target.controls.delete = new o({
924
929
  x: 0.5,
925
930
  y: -0.5,
926
931
  offsetX: 32,
927
932
  offsetY: 32,
928
933
  cursorStyle: "pointer",
929
- mouseUpHandler: dA,
930
- render: eA(t)
934
+ mouseUpHandler: rA,
935
+ render: n(t)
931
936
  }));
932
937
  });
933
938
  }
934
- async function p() {
939
+ async function I() {
935
940
  return await new Promise((e) => {
936
941
  setTimeout(() => {
937
- const t = y.exportToSvg ? u.toSVG() : u.toDataURL({ multiplier: 2 });
942
+ const t = v.exportToSvg ? u.toSVG() : u.toDataURL({ multiplier: 2 });
938
943
  e(t);
939
944
  }, 200);
940
945
  });
941
946
  }
942
- function C() {
947
+ function Q() {
943
948
  setTimeout(async () => {
944
949
  const e = u.toDatalessJSON(["selectable", "assetType", "filename"]);
945
- await pe("fabric-canvas", JSON.stringify(e));
950
+ await Ce("fabric-canvas", JSON.stringify(e));
946
951
  let t = !0;
947
- if (y.required)
948
- switch (t = !1, y.feature) {
952
+ if (v.required)
953
+ switch (t = !1, v.feature) {
949
954
  case "overlay":
950
955
  e.overlayImage && (t = !0);
951
956
  break;
@@ -959,63 +964,64 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
959
964
  (e.objects.length > 1 || e.backgroundImage || e.overlayImage) && (t = !0);
960
965
  }
961
966
  if (t) {
962
- const b = await p();
963
- d("update:modelValue", b), d("update:jsonModel", e);
967
+ N = !0;
968
+ const C = await I();
969
+ d("update:modelValue", C), d("update:jsonModel", e);
964
970
  }
965
971
  }, 120);
966
972
  }
967
- async function M(e) {
973
+ async function T(e) {
968
974
  try {
969
975
  return await c.fromURL(e);
970
976
  } catch (t) {
971
977
  throw console.error("Error loading image:", t), t;
972
978
  }
973
979
  }
974
- async function T(e) {
975
- const { objects: t, options: b } = await i(e);
976
- return g.groupSVGElements(t, b);
977
- }
978
- async function N(e) {
979
- const { objects: t, options: b } = await w(e);
980
- return g.groupSVGElements(t, b);
980
+ async function z(e) {
981
+ const { objects: t, options: C } = await i(e);
982
+ return g.groupSVGElements(t, C);
981
983
  }
982
984
  async function $(e) {
983
- return e && typeof e == "string" && e.trim().startsWith("<") ? await N(e) : e && new RegExp(/([\w_/-]*\.svg$)|(image\/svg\+xml)/gi).test(e) ? await T(e) : await M(e);
985
+ const { objects: t, options: C } = await y(e);
986
+ return g.groupSVGElements(t, C);
984
987
  }
985
- async function V(e, t) {
986
- e && !t && nA({ src: e });
988
+ async function V(e) {
989
+ return e && typeof e == "string" && e.trim().startsWith("<") ? await $(e) : e && new RegExp(/([\w_/-]*\.svg$)|(image\/svg\+xml)/gi).test(e) ? await z(e) : await T(e);
987
990
  }
988
- return Z(() => y.modelValue, async (e, t) => {
989
- V(e, t);
990
- }), yA(async () => {
991
- ({ Canvas: s, FabricImage: c, Control: o, util: g, loadSVGFromURL: i, loadSVGFromString: w, config: h, controlsUtils: Q } = await import("fabric")), m.value = l.value.offsetWidth, k.value = l.value.offsetHeight, window.addEventListener("resize", gA), h.NUM_FRACTION_DIGITS = 8;
991
+ async function x(e, t) {
992
+ e && !t && !N && dA({ src: e });
993
+ }
994
+ return Z(() => v.modelValue, async (e, t) => {
995
+ x(e, t);
996
+ }), wA(async () => {
997
+ ({ Canvas: s, FabricImage: c, Control: o, util: g, loadSVGFromURL: i, loadSVGFromString: y, config: h, controlsUtils: k } = await import("fabric")), m.value = l.value.offsetWidth, S.value = l.value.offsetHeight, window.addEventListener("resize", sA), h.NUM_FRACTION_DIGITS = 8;
992
998
  const e = s.prototype._onTouchStart;
993
999
  s.prototype._onTouchStart = function(t) {
994
- const b = this.findTarget(t);
995
- this.allowTouchScrolling && b.assetType && !this.isDrawingMode || e.call(this, t);
1000
+ const C = this.findTarget(t);
1001
+ this.allowTouchScrolling && C.assetType && !this.isDrawingMode || e.call(this, t);
996
1002
  }, u = new s("fabricCanvas", {
997
1003
  width: m.value,
998
- height: k.value,
1004
+ height: S.value,
999
1005
  // enableRetinaScaling: false,
1000
1006
  skipOffscreen: !0,
1001
1007
  // devicePixelRatio: 4,
1002
1008
  allowTouchScrolling: !0
1003
1009
  // backstoreOnly: true
1004
- }), y.resetState && await Ce("fabric-canvas"), z.value = await me("fabric-canvas"), z.value ? (await S(u, z.value), u.requestRenderAll(), requestAnimationFrame(() => {
1010
+ }), v.resetState && await be("fabric-canvas"), M.value = await pe("fabric-canvas"), M.value ? (await eA(u, M.value), u.requestRenderAll(), requestAnimationFrame(() => {
1005
1011
  u.renderAll();
1006
- })) : y.modelValue && V(y.modelValue, ""), u.on("object:added", C), u.on("object:removed", C), u.on("object:modified", C), r(), u.renderAll(), d("on-ready", u);
1007
- }), (e, t) => (f(), I("div", {
1012
+ })) : v.modelValue && x(v.modelValue, ""), u.on("object:added", Q), u.on("object:removed", Q), u.on("object:modified", Q), p(), u.renderAll(), d("on-ready", u);
1013
+ }), (e, t) => (f(), w("div", {
1008
1014
  class: "fabric-canvas",
1009
1015
  ref_key: "root",
1010
1016
  ref: l
1011
1017
  }, [
1012
- v("div", ye, [
1013
- v("canvas", we, null, 512)
1018
+ b("div", we, [
1019
+ b("canvas", Ie, null, 512)
1014
1020
  ]),
1015
- pA(e.$slots, "default")
1021
+ CA(e.$slots, "default")
1016
1022
  ], 512));
1017
1023
  }
1018
- }), he = { class: "creative-booth" }, Be = { class: "media-container" }, Ee = ["innerHTML"], De = { class: "creative-booth__thumbnails" }, Qe = [
1024
+ }), Be = { class: "creative-booth" }, Ee = { class: "media-container" }, De = ["innerHTML"], Qe = { class: "creative-booth__thumbnails" }, ke = [
1019
1025
  {
1020
1026
  type: "background",
1021
1027
  thumbnail: "/themes/corp/backgrounds/corporate-your-background-1024x1024.jpg",
@@ -1059,7 +1065,7 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1059
1065
  mediaType: "svg",
1060
1066
  filters: ["asset-01", "asset-02"]
1061
1067
  }
1062
- ], xe = /* @__PURE__ */ AA({
1068
+ ], _e = /* @__PURE__ */ AA({
1063
1069
  __name: "creative-booth",
1064
1070
  props: {
1065
1071
  modelValue: {
@@ -1091,7 +1097,7 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1091
1097
  },
1092
1098
  assets: {
1093
1099
  type: Array,
1094
- default: () => Qe
1100
+ default: () => ke
1095
1101
  },
1096
1102
  assetFilters: {
1097
1103
  type: Array,
@@ -1132,10 +1138,10 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1132
1138
  }
1133
1139
  },
1134
1140
  emits: ["update:modelValue", "update:jsonModel", "update:ready", "update:pending"],
1135
- setup(A, { emit: n }) {
1136
- const a = A, s = n, c = D(), o = D(), g = D(!1), i = F(
1141
+ setup(A, { emit: r }) {
1142
+ const a = A, s = r, c = D(), o = D(), g = D(!1), i = F(
1137
1143
  () => a.assetFilters && a.assetFilters.length > 0 ? a.assets.filter((l) => !l.filters || l.filters.length == 0 || a.assetFilters.some((m) => l.filters.includes(m))) : a.assets
1138
- ), w = F({
1144
+ ), y = F({
1139
1145
  get() {
1140
1146
  return a.modelValue;
1141
1147
  },
@@ -1149,7 +1155,7 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1149
1155
  set(l) {
1150
1156
  s("update:jsonModel", l);
1151
1157
  }
1152
- }), Q = F({
1158
+ }), k = F({
1153
1159
  get() {
1154
1160
  return a.pending;
1155
1161
  },
@@ -1175,41 +1181,41 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1175
1181
  }
1176
1182
  }
1177
1183
  }
1178
- const y = (async () => {
1184
+ const v = (async () => {
1179
1185
  if (g.value = !0, a.autoSelect !== void 0) {
1180
1186
  const l = a.autoSelect >= 0 ? a.autoSelect : Math.floor(Math.random() * i.value.length);
1181
1187
  d(l);
1182
1188
  }
1183
1189
  s("update:ready", !0);
1184
1190
  });
1185
- return (l, m) => (f(), I("div", he, [
1186
- v("div", Be, [
1187
- L(Ie, {
1188
- modelValue: w.value,
1189
- "onUpdate:modelValue": m[0] || (m[0] = (k) => w.value = k),
1191
+ return (l, m) => (f(), w("div", Be, [
1192
+ b("div", Ee, [
1193
+ L(he, {
1194
+ modelValue: y.value,
1195
+ "onUpdate:modelValue": m[0] || (m[0] = (S) => y.value = S),
1190
1196
  "json-model": h.value,
1191
- "onUpdate:jsonModel": m[1] || (m[1] = (k) => h.value = k),
1192
- pending: Q.value,
1193
- "onUpdate:pending": m[2] || (m[2] = (k) => Q.value = k),
1197
+ "onUpdate:jsonModel": m[1] || (m[1] = (S) => h.value = S),
1198
+ pending: k.value,
1199
+ "onUpdate:pending": m[2] || (m[2] = (S) => k.value = S),
1194
1200
  ref_key: "canvas",
1195
1201
  ref: c,
1196
1202
  "reset-state": A.resetState,
1197
1203
  options: { themeData: A.themeData },
1198
1204
  feature: A.feature,
1199
1205
  required: A.required,
1200
- class: H(`${A.ratio ? `aspect-ratio aspect-ratio--${A.ratio}` : ""}`),
1201
- onOnReady: y,
1206
+ class: Y(`${A.ratio ? `aspect-ratio aspect-ratio--${A.ratio}` : ""}`),
1207
+ onOnReady: v,
1202
1208
  "emit-pending": A.emitPending,
1203
1209
  "animation-duration": A.animationDuration
1204
1210
  }, null, 8, ["modelValue", "json-model", "pending", "reset-state", "options", "feature", "required", "class", "emit-pending", "animation-duration"])
1205
1211
  ]),
1206
- A.messages.headline ? (f(), I("p", {
1212
+ A.messages.headline ? (f(), w("p", {
1207
1213
  key: 0,
1208
1214
  class: "headline",
1209
1215
  innerHTML: A.messages.headline
1210
- }, null, 8, Ee)) : E("", !0),
1211
- v("div", De, [
1212
- g.value ? (f(), R(B(BA), {
1216
+ }, null, 8, De)) : E("", !0),
1217
+ b("div", Qe, [
1218
+ g.value ? (f(), R(B(EA), {
1213
1219
  key: 0,
1214
1220
  assets: i.value,
1215
1221
  onSelect: d
@@ -1217,7 +1223,7 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1217
1223
  ])
1218
1224
  ]));
1219
1225
  }
1220
- }), ke = { class: "face-swap" }, Se = { class: "position-relative" }, Me = ["innerHTML"], Pe = { class: "face-swap__thumbnails" }, Ue = [
1226
+ }), Se = { class: "face-swap" }, Me = { class: "position-relative" }, Pe = ["innerHTML"], Ue = { class: "face-swap__thumbnails" }, Oe = [
1221
1227
  {
1222
1228
  type: "target",
1223
1229
  thumbnail: "/faceswap/robotroll._avengers_black_widow_fbe3e886-525d-4c8b-b46c-b32856fae2bf.png",
@@ -1323,7 +1329,7 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1323
1329
  mediaType: "image",
1324
1330
  filters: []
1325
1331
  }
1326
- ], _e = /* @__PURE__ */ AA({
1332
+ ], Ge = /* @__PURE__ */ AA({
1327
1333
  __name: "face-swap",
1328
1334
  props: {
1329
1335
  modelValue: {
@@ -1343,7 +1349,7 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1343
1349
  },
1344
1350
  assets: {
1345
1351
  type: Array,
1346
- default: () => Ue
1352
+ default: () => Oe
1347
1353
  },
1348
1354
  resetState: {
1349
1355
  type: Boolean,
@@ -1360,8 +1366,8 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1360
1366
  autoSelect: Number
1361
1367
  },
1362
1368
  emits: ["update:modelValue"],
1363
- setup(A, { emit: n }) {
1364
- const a = A, s = n, c = D(), o = D(), g = D(), i = D(!1);
1369
+ setup(A, { emit: r }) {
1370
+ const a = A, s = r, c = D(), o = D(), g = D(), i = D(!1);
1365
1371
  F({
1366
1372
  get() {
1367
1373
  return a.modelValue;
@@ -1370,73 +1376,73 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1370
1376
  s("update:modelValue", d);
1371
1377
  }
1372
1378
  });
1373
- const w = F(() => g.value || c.value && c.value.src || o.value);
1374
- Z(g, async (d, y) => {
1375
- d && d !== y && s("update:modelValue", d);
1379
+ const y = F(() => g.value || c.value && c.value.src || o.value);
1380
+ Z(g, async (d, v) => {
1381
+ d && d !== v && s("update:modelValue", d);
1376
1382
  }, { deep: !0 });
1377
1383
  function h(d) {
1378
1384
  if (typeof d < "u") {
1379
- const y = a.assets[d];
1380
- c.value = y, g.value = null;
1385
+ const v = a.assets[d];
1386
+ c.value = v, g.value = null;
1381
1387
  }
1382
1388
  }
1383
- async function Q() {
1384
- const d = await TA(c.value.src), l = { dataUrl: a.modelValue, targetDataUrl: d };
1389
+ async function k() {
1390
+ const d = await FA(c.value.src), l = { dataUrl: a.modelValue, targetDataUrl: d };
1385
1391
  i.value = !0;
1386
- const m = EA;
1392
+ const m = DA;
1387
1393
  g.value = await m.processImage(
1388
1394
  a.endpoint,
1389
1395
  l,
1390
1396
  ""
1391
1397
  ), i.value = !1;
1392
1398
  }
1393
- return IA(() => {
1399
+ return hA(() => {
1394
1400
  o.value = a.modelValue;
1395
- }), (d, y) => (f(), I("div", ke, [
1396
- v("div", Se, [
1397
- v("div", {
1398
- class: H(["media-container", `${A.ratio ? `ratio ratio-${A.ratio}` : ""}`])
1401
+ }), (d, v) => (f(), w("div", Se, [
1402
+ b("div", Me, [
1403
+ b("div", {
1404
+ class: Y(["media-container", `${A.ratio ? `ratio ratio-${A.ratio}` : ""}`])
1399
1405
  }, [
1400
- L(wA, {
1406
+ L(IA, {
1401
1407
  name: "fade",
1402
1408
  mode: "out-in"
1403
1409
  }, {
1404
1410
  default: G(() => [
1405
- (f(), I("div", { key: w.value }, [
1406
- L(B(CA), { src: w.value }, null, 8, ["src"])
1411
+ (f(), w("div", { key: y.value }, [
1412
+ L(B(bA), { src: y.value }, null, 8, ["src"])
1407
1413
  ]))
1408
1414
  ]),
1409
1415
  _: 1
1410
1416
  })
1411
1417
  ], 2),
1412
- c.value ? (f(), I("button", {
1418
+ c.value ? (f(), w("button", {
1413
1419
  key: 0,
1414
1420
  type: "button",
1415
1421
  class: "btn face-swap__swap-face",
1416
- onClick: Q
1422
+ onClick: k
1417
1423
  }, [
1418
- o.value && !g.value && !i.value ? (f(), R(B(CA), {
1424
+ o.value && !g.value && !i.value ? (f(), R(B(bA), {
1419
1425
  key: 0,
1420
1426
  src: o.value,
1421
1427
  class: "img-thumbnail"
1422
1428
  }, null, 8, ["src"])) : E("", !0)
1423
1429
  ])) : E("", !0),
1424
- i.value ? (f(), R(B(hA), { key: 1 })) : E("", !0)
1430
+ i.value ? (f(), R(B(BA), { key: 1 })) : E("", !0)
1425
1431
  ]),
1426
- A.messages.headline ? (f(), I("p", {
1432
+ A.messages.headline ? (f(), w("p", {
1427
1433
  key: 0,
1428
1434
  class: "headline",
1429
1435
  innerHTML: A.messages.headline
1430
- }, null, 8, Me)) : E("", !0),
1431
- v("div", Pe, [
1432
- L(B(BA), {
1436
+ }, null, 8, Pe)) : E("", !0),
1437
+ b("div", Ue, [
1438
+ L(B(EA), {
1433
1439
  assets: A.assets,
1434
1440
  onSelect: h
1435
1441
  }, null, 8, ["assets"])
1436
1442
  ])
1437
1443
  ]));
1438
1444
  }
1439
- }), Oe = ["innerHTML"], je = /* @__PURE__ */ AA({
1445
+ }), je = ["innerHTML"], Le = /* @__PURE__ */ AA({
1440
1446
  __name: "svg-canvas",
1441
1447
  props: {
1442
1448
  modelValue: {
@@ -1451,35 +1457,35 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1451
1457
  groupedFill: Boolean
1452
1458
  },
1453
1459
  emits: ["update:modelValue"],
1454
- setup(A, { emit: n }) {
1455
- const a = A, s = n, c = D();
1460
+ setup(A, { emit: r }) {
1461
+ const a = A, s = r, c = D();
1456
1462
  function o(g) {
1457
1463
  const i = g.target;
1458
1464
  if (!i.closest(".read-only")) {
1459
1465
  if (a.groupedFill && a.fillColor) {
1460
- const y = i.closest("[data-group-class]").dataset.groupClass, l = i.closest("svg")?.querySelectorAll(`.${y}`);
1466
+ const v = i.closest("[data-group-class]").dataset.groupClass, l = i.closest("svg")?.querySelectorAll(`.${v}`);
1461
1467
  l && Array.from(l).forEach((m) => {
1462
1468
  m.setAttribute("fill", a.fillColor), m.setAttribute("fill-opacity", "1");
1463
1469
  });
1464
1470
  } else a.fillColor && (i.setAttribute("fill", a.fillColor), i.setAttribute("fill-opacity", "1"));
1465
- const Q = i.closest(".svg-canvas").querySelector("svg").outerHTML;
1466
- s("update:modelValue", Q);
1471
+ const k = i.closest(".svg-canvas").querySelector("svg").outerHTML;
1472
+ s("update:modelValue", k);
1467
1473
  }
1468
1474
  }
1469
- return (g, i) => (f(), I("div", {
1470
- class: H(["svg-canvas", `${A.scale > 1 ? "overflow-scroll" : ""}`])
1475
+ return (g, i) => (f(), w("div", {
1476
+ class: Y(["svg-canvas", `${A.scale > 1 ? "overflow-scroll" : ""}`])
1471
1477
  }, [
1472
- v("div", {
1478
+ b("div", {
1473
1479
  ref_key: "svg",
1474
1480
  ref: c,
1475
1481
  class: "svg-wrapper",
1476
1482
  innerHTML: A.modelValue,
1477
1483
  style: _({ transform: `scale(${A.scale})` }),
1478
- onClick: i[0] || (i[0] = (w) => o(w))
1479
- }, null, 12, Oe)
1484
+ onClick: i[0] || (i[0] = (y) => o(y))
1485
+ }, null, 12, je)
1480
1486
  ], 2));
1481
1487
  }
1482
- }), Le = { class: "svg-editor" }, Te = { class: "svg-editor__frame" }, Ge = /* @__PURE__ */ AA({
1488
+ }), Te = { class: "svg-editor" }, Fe = { class: "svg-editor__frame" }, ze = /* @__PURE__ */ AA({
1483
1489
  __name: "color-booth",
1484
1490
  props: {
1485
1491
  modelValue: String,
@@ -1490,8 +1496,8 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1490
1496
  groupedFill: Boolean
1491
1497
  },
1492
1498
  emits: ["update:modelValue"],
1493
- setup(A, { emit: n }) {
1494
- const a = A, s = n, c = D(""), o = D(1), g = F({
1499
+ setup(A, { emit: r }) {
1500
+ const a = A, s = r, c = D(""), o = D(1), g = F({
1495
1501
  get() {
1496
1502
  return a.modelValue;
1497
1503
  },
@@ -1499,18 +1505,18 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1499
1505
  s("update:modelValue", i);
1500
1506
  }
1501
1507
  });
1502
- return IA(() => {
1508
+ return hA(() => {
1503
1509
  c.value = a.colors?.length ? a.colors[0] : "";
1504
- }), (i, w) => (f(), I("div", Le, [
1505
- v("div", Te, [
1506
- L(B(UA), {
1510
+ }), (i, y) => (f(), w("div", Te, [
1511
+ b("div", Fe, [
1512
+ L(B(OA), {
1507
1513
  modelValue: o.value,
1508
- "onUpdate:modelValue": w[1] || (w[1] = (h) => o.value = h)
1514
+ "onUpdate:modelValue": y[1] || (y[1] = (h) => o.value = h)
1509
1515
  }, {
1510
1516
  default: G(() => [
1511
- L(je, {
1517
+ L(Le, {
1512
1518
  modelValue: g.value,
1513
- "onUpdate:modelValue": w[0] || (w[0] = (h) => g.value = h),
1519
+ "onUpdate:modelValue": y[0] || (y[0] = (h) => g.value = h),
1514
1520
  fillColor: c.value,
1515
1521
  scale: o.value,
1516
1522
  "grouped-fill": A.groupedFill
@@ -1518,9 +1524,9 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1518
1524
  ]),
1519
1525
  _: 1
1520
1526
  }, 8, ["modelValue"]),
1521
- L(B(OA), {
1527
+ L(B(jA), {
1522
1528
  modelValue: c.value,
1523
- "onUpdate:modelValue": w[2] || (w[2] = (h) => c.value = h),
1529
+ "onUpdate:modelValue": y[2] || (y[2] = (h) => c.value = h),
1524
1530
  colors: A.colors,
1525
1531
  class: "mt-2"
1526
1532
  }, null, 8, ["modelValue", "colors"])
@@ -1529,9 +1535,9 @@ const be = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1529
1535
  }
1530
1536
  });
1531
1537
  export {
1532
- Ge as ColorBooth,
1533
- xe as CreativeBooth,
1534
- Ie as FabricCanvas,
1535
- _e as FaceSwap,
1536
- Ve as PhotoApp
1538
+ ze as ColorBooth,
1539
+ _e as CreativeBooth,
1540
+ he as FabricCanvas,
1541
+ Ge as FaceSwap,
1542
+ xe as PhotoApp
1537
1543
  };