ablok-photobooth 0.2.31 → 0.2.33

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,5 +1,5 @@
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";
1
+ import { defineComponent as AA, getCurrentInstance as QA, computed as F, ref as D, watch as X, onMounted as wA, openBlock as f, createElementBlock as w, normalizeClass as Y, normalizeStyle as G, createVNode as L, unref as B, createCommentVNode as E, createBlock as R, Transition as IA, withCtx as _, createElementVNode as C, withModifiers as q, toDisplayString as P, withDirectives as iA, vShow as cA, Fragment as kA, renderList as SA, createTextVNode as J, renderSlot as bA, onBeforeMount as hA } from "vue";
2
+ import { BaseCamera as MA, BaseImage as CA, LoadingSpinner as BA, BaseButton as lA, SvgIcon as Z, InputFile as PA, useCameraFilter as UA, MediaThumbnails as EA, TouchWrapper as OA, ColorPalette as jA } from "ablok-components";
3
3
  import { useI18n as LA } from "vue-i18n";
4
4
  import { debounce as TA } from "lodash";
5
5
  async function FA(A) {
@@ -123,7 +123,7 @@ async function xA(A) {
123
123
  const r = await RA(A);
124
124
  return await VA(r);
125
125
  }
126
- async function _A(A, r) {
126
+ async function GA(A, r) {
127
127
  const a = await HA(A), s = document.createElement("canvas"), c = s.getContext("2d");
128
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
  }
@@ -156,10 +156,10 @@ const DA = {
156
156
  body: s
157
157
  }).then((o) => o.json()).catch((o) => [o])).dataUrl;
158
158
  }
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 = {
159
+ }, _A = "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
- }, XA = { key: 0 }, ZA = { class: "photo-app__errors mt-2" }, KA = { class: "error--text" }, qA = {
162
+ }, ZA = { key: 0 }, XA = { class: "photo-app__errors mt-2" }, KA = { class: "error--text" }, qA = {
163
163
  key: 1,
164
164
  class: "photo-app__file-list"
165
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 = {
@@ -252,7 +252,7 @@ const DA = {
252
252
  },
253
253
  guideSrc: {
254
254
  type: String,
255
- default: GA
255
+ default: _A
256
256
  },
257
257
  acceptButton: {
258
258
  type: Boolean,
@@ -326,7 +326,7 @@ const DA = {
326
326
  zoom: Number,
327
327
  enableZoomSlider: {
328
328
  type: Boolean,
329
- default: !1
329
+ default: !0
330
330
  }
331
331
  },
332
332
  emits: ["update:modelValue"],
@@ -340,14 +340,14 @@ const DA = {
340
340
  }));
341
341
  F(() => !!(l.value && l.value.length));
342
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) => {
343
+ X(eA, async (n, p) => {
344
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();
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 GA(z, T), x = await (await fetch($)).blob();
346
346
  l.value.push(new File([x], `${n.id}.${I}`, {
347
347
  type: x.type
348
348
  })), H.value = !1, dA();
349
349
  }
350
- }, { deep: !0 }), Z(l, async (n, p) => {
350
+ }, { deep: !0 }), X(l, async (n, p) => {
351
351
  if (o.enableInstantUpload)
352
352
  n.find((I) => !I.response.path) && (m.value.active = !0);
353
353
  else {
@@ -359,9 +359,9 @@ const DA = {
359
359
  }));
360
360
  U.value = I[0];
361
361
  }
362
- }, { deep: !0 }), Z(y, async (n, p) => {
362
+ }, { deep: !0 }), X(y, async (n, p) => {
363
363
  n && !p && (U.value = o.enableInstantUpload ? h.value : await yA(k.value));
364
- }, { deep: !0 }), Z(U, async (n, p) => {
364
+ }, { deep: !0 }), X(U, async (n, p) => {
365
365
  o.enableAutoSave && U !== p && rA();
366
366
  });
367
367
  function nA() {
@@ -442,7 +442,7 @@ const DA = {
442
442
  A.enableCamera ? (f(), w("div", {
443
443
  key: 0,
444
444
  class: "photo-app__canvas media-container",
445
- style: _({
445
+ style: G({
446
446
  color: A.color,
447
447
  backgroundColor: A.backgroundColor
448
448
  })
@@ -450,7 +450,7 @@ const DA = {
450
450
  M.value ? (f(), w("div", {
451
451
  key: 0,
452
452
  class: Y(["photo-app__camera", `${A.ratio ? `aspect-ratio--${A.ratio}` : ""}`]),
453
- style: _({ borderColor: A.color })
453
+ style: G({ borderColor: A.color })
454
454
  }, [
455
455
  L(B(MA), {
456
456
  ref_key: "camera",
@@ -474,15 +474,17 @@ const DA = {
474
474
  resolutions: A.resolutions,
475
475
  filter: A.filter,
476
476
  "tint-color": A.tint?.color,
477
- "tint-intensity": A.tint?.intensity
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"])
477
+ "tint-intensity": A.tint?.intensity,
478
+ zoom: A.zoom,
479
+ "enable-zoom-slider": A.enableZoomSlider
480
+ }, 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", "zoom", "enable-zoom-slider"])
479
481
  ], 6)) : E("", !0),
480
482
  l.value && l.value.length && !M.value ? (f(), w("div", {
481
483
  key: 1,
482
484
  class: "photo-app__preview",
483
- style: _({ borderColor: A.color })
485
+ style: G({ borderColor: A.color })
484
486
  }, [
485
- U.value ? (f(), R(B(bA), {
487
+ U.value ? (f(), R(B(CA), {
486
488
  key: 0,
487
489
  src: k.value || U.value
488
490
  }, null, 8, ["src"])) : E("", !0),
@@ -490,7 +492,7 @@ const DA = {
490
492
  name: "fade",
491
493
  mode: "out-in"
492
494
  }, {
493
- default: G(() => [
495
+ default: _(() => [
494
496
  H.value ? (f(), R(B(BA), { key: 0 })) : E("", !0)
495
497
  ]),
496
498
  _: 1
@@ -498,11 +500,11 @@ const DA = {
498
500
  ], 4)) : M.value ? E("", !0) : (f(), w("div", {
499
501
  key: 2,
500
502
  class: Y(["photo-app__drop-target", `${A.ratio ? `aspect-ratio--${A.ratio}` : ""}`]),
501
- style: _({ borderColor: A.color })
503
+ style: G({ borderColor: A.color })
502
504
  }, [
503
- b("div", zA, [
504
- b("div", NA, [
505
- b("p", {
505
+ C("div", zA, [
506
+ C("div", NA, [
507
+ C("p", {
506
508
  class: "headline h2 font-weight-bold",
507
509
  innerHTML: d.value.title || n.$t("fileInput.coverTitle")
508
510
  }, null, 8, $A),
@@ -510,71 +512,71 @@ const DA = {
510
512
  key: 0,
511
513
  type: "button",
512
514
  onClick: q(K, ["prevent"]),
513
- style: _({ color: A.color }),
515
+ style: G({ color: A.color }),
514
516
  icon: "camera",
515
517
  class: "rounded-pill"
516
518
  }, {
517
- default: G(() => [
518
- L(B(X), { symbol: "camera" }),
519
- b("span", WA, P(d.value.launchCamera || n.$t("fileInput.coverLaunchCta")), 1)
519
+ default: _(() => [
520
+ L(B(Z), { symbol: "camera" }),
521
+ C("span", WA, P(d.value.launchCamera || n.$t("fileInput.coverLaunchCta")), 1)
520
522
  ]),
521
523
  _: 1
522
524
  }, 8, ["style"])) : E("", !0)
523
525
  ]),
524
526
  A.enableLocalFileUpload ? (f(), w("div", JA, [
525
- b("p", {
527
+ C("p", {
526
528
  class: "subtitle fw-bold ma-0",
527
- style: _({ color: A.color })
529
+ style: G({ color: A.color })
528
530
  }, P(d.value.localFileTitle || n.$t("fileInput.coverLocalSelectTitle")), 5),
529
- b("p", {
531
+ C("p", {
530
532
  class: "text-body-1",
531
- style: _({ color: A.color })
533
+ style: G({ color: A.color })
532
534
  }, [
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", {
535
+ A.enableDragDrop ? (f(), w("span", ZA, P(d.value.dropTarget || n.$t("fileInput.coverDropTarget")) + " " + P(A.enableLocalFileUpload && A.enableDragDrop ? d.value.or || n.$t("common.or") : "") + " " + P(), 1)) : E("", !0),
536
+ C("label", {
535
537
  for: "fileUpload",
536
538
  role: "button",
537
539
  class: "d-inline link",
538
- style: _({ color: A.color })
540
+ style: G({ color: A.color })
539
541
  }, P(d.value.coverSelectFileCta || n.$t("fileInput.coverLocalFileCta")), 5)
540
542
  ], 4)
541
543
  ])) : E("", !0)
542
544
  ])
543
545
  ], 6))
544
546
  ], 4)) : E("", !0),
545
- iA(b("div", {
547
+ iA(C("div", {
546
548
  class: "photo-app__drop-overlay",
547
549
  ref_key: "dropArea",
548
550
  ref: u
549
551
  }, [
550
- b("h3", null, P(d.value.dropTarget || n.$t("fileInput.dropTargetLabel")), 1)
552
+ C("h3", null, P(d.value.dropTarget || n.$t("fileInput.dropTargetLabel")), 1)
551
553
  ], 512), [
552
554
  [cA, A.enableLocalFileUpload && A.enableDragDrop && N.value]
553
555
  ]),
554
- iA(b("div", ZA, [
555
- b("p", KA, P(tA.value), 1)
556
+ iA(C("div", XA, [
557
+ C("p", KA, P(tA.value), 1)
556
558
  ], 512), [
557
559
  [cA, tA.value]
558
560
  ]),
559
561
  A.enableFileList && l.value.length ? (f(), w("div", qA, [
560
- b("div", Ae, [
562
+ C("div", Ae, [
561
563
  (f(!0), w(kA, null, SA(l.value, (I) => (f(), w("div", {
562
564
  key: I.id,
563
565
  class: "col col-12"
564
566
  }, [
565
- b("span", null, P(I.name), 1),
567
+ C("span", null, P(I.name), 1),
566
568
  p[2] || (p[2] = J(" - ", -1)),
567
- b("span", null, P(I.size), 1),
569
+ C("span", null, P(I.size), 1),
568
570
  p[3] || (p[3] = J(" - ", -1)),
569
571
  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))
570
572
  ]))), 128))
571
573
  ])
572
574
  ])) : E("", !0),
573
- iA(b("div", le, [
574
- b("div", ne, [
575
- b("div", re, [
576
- b("div", se, [
577
- CA(n.$slots, "headline", {}, () => [
575
+ iA(C("div", le, [
576
+ C("div", ne, [
577
+ C("div", re, [
578
+ C("div", se, [
579
+ bA(n.$slots, "headline", {}, () => [
578
580
  A.enableTitle && (M.value || l.value.length) ? (f(), w("p", {
579
581
  key: 0,
580
582
  class: "headline",
@@ -582,15 +584,15 @@ const DA = {
582
584
  }, null, 8, ie)) : E("", !0)
583
585
  ]),
584
586
  !A.enableLegacyInput && (M.value || l.value.length) ? (f(), w("div", ce, [
585
- b("div", ue, [
587
+ C("div", ue, [
586
588
  M.value || l.value.length && (!m.value || !m.value.active) ? (f(), R(B(lA), {
587
589
  key: 0,
588
590
  type: "button",
589
591
  class: Y(["btn btn-primary-outline rounded-circle", `theme--${A.variant}`]),
590
592
  onClick: p[1] || (p[1] = q((I) => M.value ? K() : nA(), ["prevent"]))
591
593
  }, {
592
- default: G(() => [
593
- L(B(X), {
594
+ default: _(() => [
595
+ L(B(Z), {
594
596
  symbol: "x",
595
597
  "base-path": B(c).iconSprite,
596
598
  class: "primary"
@@ -607,8 +609,8 @@ const DA = {
607
609
  onClick: q(sA, ["prevent"]),
608
610
  disabled: H.value
609
611
  }, {
610
- default: G(() => [
611
- L(B(X), {
612
+ default: _(() => [
613
+ L(B(Z), {
612
614
  symbol: "camera",
613
615
  "base-path": B(c).iconSprite
614
616
  }, null, 8, ["base-path"]),
@@ -626,25 +628,25 @@ const DA = {
626
628
  onClick: q(rA, ["prevent"]),
627
629
  disabled: H.value
628
630
  }, {
629
- default: G(() => [
630
- L(B(X), { symbol: "check" }),
631
+ default: _(() => [
632
+ L(B(Z), { symbol: "check" }),
631
633
  J(" " + P(A.enableButtonCaptions ? d.value.accept || n.$t("common.accept") : ""), 1)
632
634
  ]),
633
635
  _: 1
634
636
  }, 8, ["class", "disabled"])
635
637
  ])) : E("", !0)
636
638
  ])) : E("", !0),
637
- iA(b("div", {
639
+ iA(C("div", {
638
640
  class: Y(["justify-center col-10 mx-auto", {
639
641
  "d-flex": A.enableLegacyInput && (M.value || l.value.length)
640
642
  }])
641
643
  }, [
642
- b("button", {
644
+ C("button", {
643
645
  type: "button",
644
646
  class: Y(["btn btn-primary", `theme--${A.variant}`]),
645
647
  onClick: q(K, ["prevent"])
646
648
  }, [
647
- A.enableButtonIcons ? (f(), R(B(X), {
649
+ A.enableButtonIcons ? (f(), R(B(Z), {
648
650
  key: 0,
649
651
  symbol: "camera"
650
652
  })) : E("", !0),
@@ -657,8 +659,8 @@ const DA = {
657
659
  onClick: q(sA, ["prevent"]),
658
660
  disabled: H.value
659
661
  }, {
660
- default: G(() => [
661
- A.enableButtonIcons ? (f(), R(B(X), {
662
+ default: _(() => [
663
+ A.enableButtonIcons ? (f(), R(B(Z), {
662
664
  key: 0,
663
665
  symbol: "camera"
664
666
  })) : E("", !0),
@@ -674,14 +676,14 @@ const DA = {
674
676
  "onUpdate:modelValue": gA,
675
677
  name: "fileUpload"
676
678
  }, {
677
- default: G(() => [
678
- CA(n.$slots, "label", {}, () => [
679
- b("label", {
679
+ default: _(() => [
680
+ bA(n.$slots, "label", {}, () => [
681
+ C("label", {
680
682
  for: "fileUpload",
681
683
  type: "button",
682
684
  class: Y(["btn btn-primary", `theme--${A.variant}`])
683
685
  }, [
684
- A.enableButtonIcons ? (f(), R(B(X), {
686
+ A.enableButtonIcons ? (f(), R(B(Z), {
685
687
  key: 0,
686
688
  symbol: "camera"
687
689
  })) : E("", !0)
@@ -729,10 +731,10 @@ function vA() {
729
731
  function pe(A, r = vA()) {
730
732
  return r("readonly", (a) => uA(a.get(A)));
731
733
  }
732
- function Ce(A, r, a = vA()) {
734
+ function be(A, r, a = vA()) {
733
735
  return a("readwrite", (s) => (s.put(r, A), uA(s.transaction)));
734
736
  }
735
- function be(A, r = vA()) {
737
+ function Ce(A, r = vA()) {
736
738
  return r("readwrite", (a) => (a.delete(A), uA(a.transaction)));
737
739
  }
738
740
  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 = {
@@ -791,7 +793,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
791
793
  let u, N = !1;
792
794
  const M = D();
793
795
  async function eA(e, t) {
794
- return new Promise(async (C) => {
796
+ return new Promise(async (b) => {
795
797
  const O = JSON.parse(t);
796
798
  if (O.backgroundImage) {
797
799
  const j = await U(O.backgroundImage.src || O.backgroundImage.filename);
@@ -813,27 +815,27 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
813
815
  reviver: void 0
814
816
  })).forEach((j) => {
815
817
  e.add(j);
816
- }), C(e);
818
+ }), b(e);
817
819
  });
818
820
  }
819
821
  async function U(e) {
820
822
  const t = await V(e);
821
823
  e.includes("data:image") || (t.filename = e);
822
- const C = g.findScaleToCover(t, u), O = t instanceof c;
824
+ const b = g.findScaleToCover(t, u), O = t instanceof c;
823
825
  return t.set({
824
826
  left: 0,
825
827
  top: 0,
826
828
  opacity: O && v.animationDuration > 0 ? 0 : 1,
827
- scaleX: C,
828
- scaleY: C,
829
+ scaleX: b,
830
+ scaleY: b,
829
831
  src: e
830
832
  }), t;
831
833
  }
832
834
  async function H(e) {
833
- !(e instanceof c) || v.animationDuration === 0 || (v.emitPending && d("update:pending", !0), await new Promise((C) => {
835
+ !(e instanceof c) || v.animationDuration === 0 || (v.emitPending && d("update:pending", !0), await new Promise((b) => {
834
836
  const O = v.animationDuration, aA = Date.now(), j = () => {
835
837
  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());
838
+ e.set("opacity", W), u.renderAll(), W < 1 ? requestAnimationFrame(j) : (v.emitPending && d("update:pending", !1), b());
837
839
  };
838
840
  requestAnimationFrame(j);
839
841
  }));
@@ -866,7 +868,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
866
868
  u.discardActiveObject();
867
869
  const t = await V(e.src);
868
870
  t.filename = e.src;
869
- const C = m.value / 3, O = S.value / 3, aA = C / t.width, j = O / t.height, oA = Math.min(aA, j);
871
+ const b = m.value / 3, O = S.value / 3, aA = b / t.width, j = O / t.height, oA = Math.min(aA, j);
870
872
  t.set({
871
873
  scaleX: oA,
872
874
  scaleY: oA,
@@ -876,8 +878,8 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
876
878
  }
877
879
  function rA(e, t) {
878
880
  t.target.id;
879
- const C = t.target;
880
- return u.remove(C), u.requestRenderAll(), !0;
881
+ const b = t.target;
882
+ return u.remove(b), u.requestRenderAll(), !0;
881
883
  }
882
884
  function fA() {
883
885
  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) {
@@ -895,8 +897,8 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
895
897
  fA();
896
898
  }, 200, { trailing: !0, leading: !1 });
897
899
  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);
900
+ return (t, b, O, aA, j) => {
901
+ t.save(), t.translate(b, O), t.rotate(g.degreesToRadians(j.angle)), t.fillStyle = v.options.themeData?.colors?.primary, t.fillRect(-24 / 2, -24 / 2, 24, 24);
900
902
  const W = 20;
901
903
  t.drawImage(e, -W / 2, -W / 2, W, W), t.restore();
902
904
  };
@@ -905,8 +907,8 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
905
907
  const e = document.createElement("img");
906
908
  e.src = ve;
907
909
  const t = document.createElement("img");
908
- t.src = ye, u.on("object:added", (C) => {
909
- C.target && C.target.controls && (C.target.set({
910
+ t.src = ye, u.on("object:added", (b) => {
911
+ b.target && b.target.controls && (b.target.set({
910
912
  transparentCorners: !1,
911
913
  cornerSize: 16,
912
914
  cornerStyle: "circle",
@@ -915,7 +917,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
915
917
  cornerStrokeColor: v.options.themeData?.colors?.primary,
916
918
  borderColor: v.options.themeData?.colors?.primary
917
919
  } : {}
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({
920
+ }), 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({
919
921
  x: 0.5,
920
922
  y: -0.5,
921
923
  offsetX: 32,
@@ -925,7 +927,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
925
927
  actionHandler: k.rotationWithSnapping,
926
928
  cursorStyleHandler: k.rotationStyleHandler,
927
929
  render: n(e)
928
- }), C.target.controls.delete = new o({
930
+ }), b.target.controls.delete = new o({
929
931
  x: 0.5,
930
932
  y: -0.5,
931
933
  offsetX: 32,
@@ -947,7 +949,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
947
949
  function Q() {
948
950
  setTimeout(async () => {
949
951
  const e = u.toDatalessJSON(["selectable", "assetType", "filename"]);
950
- await Ce("fabric-canvas", JSON.stringify(e));
952
+ await be("fabric-canvas", JSON.stringify(e));
951
953
  let t = !0;
952
954
  if (v.required)
953
955
  switch (t = !1, v.feature) {
@@ -965,8 +967,8 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
965
967
  }
966
968
  if (t) {
967
969
  N = !0;
968
- const C = await I();
969
- d("update:modelValue", C), d("update:jsonModel", e);
970
+ const b = await I();
971
+ d("update:modelValue", b), d("update:jsonModel", e);
970
972
  }
971
973
  }, 120);
972
974
  }
@@ -978,12 +980,12 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
978
980
  }
979
981
  }
980
982
  async function z(e) {
981
- const { objects: t, options: C } = await i(e);
982
- return g.groupSVGElements(t, C);
983
+ const { objects: t, options: b } = await i(e);
984
+ return g.groupSVGElements(t, b);
983
985
  }
984
986
  async function $(e) {
985
- const { objects: t, options: C } = await y(e);
986
- return g.groupSVGElements(t, C);
987
+ const { objects: t, options: b } = await y(e);
988
+ return g.groupSVGElements(t, b);
987
989
  }
988
990
  async function V(e) {
989
991
  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);
@@ -991,14 +993,14 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
991
993
  async function x(e, t) {
992
994
  e && !t && !N && dA({ src: e });
993
995
  }
994
- return Z(() => v.modelValue, async (e, t) => {
996
+ return X(() => v.modelValue, async (e, t) => {
995
997
  x(e, t);
996
998
  }), wA(async () => {
997
999
  ({ 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;
998
1000
  const e = s.prototype._onTouchStart;
999
1001
  s.prototype._onTouchStart = function(t) {
1000
- const C = this.findTarget(t);
1001
- this.allowTouchScrolling && C.assetType && !this.isDrawingMode || e.call(this, t);
1002
+ const b = this.findTarget(t);
1003
+ this.allowTouchScrolling && b.assetType && !this.isDrawingMode || e.call(this, t);
1002
1004
  }, u = new s("fabricCanvas", {
1003
1005
  width: m.value,
1004
1006
  height: S.value,
@@ -1007,7 +1009,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1007
1009
  // devicePixelRatio: 4,
1008
1010
  allowTouchScrolling: !0
1009
1011
  // backstoreOnly: true
1010
- }), v.resetState && await be("fabric-canvas"), M.value = await pe("fabric-canvas"), M.value ? (await eA(u, M.value), u.requestRenderAll(), requestAnimationFrame(() => {
1012
+ }), v.resetState && await Ce("fabric-canvas"), M.value = await pe("fabric-canvas"), M.value ? (await eA(u, M.value), u.requestRenderAll(), requestAnimationFrame(() => {
1011
1013
  u.renderAll();
1012
1014
  })) : 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
1015
  }), (e, t) => (f(), w("div", {
@@ -1015,10 +1017,10 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1015
1017
  ref_key: "root",
1016
1018
  ref: l
1017
1019
  }, [
1018
- b("div", we, [
1019
- b("canvas", Ie, null, 512)
1020
+ C("div", we, [
1021
+ C("canvas", Ie, null, 512)
1020
1022
  ]),
1021
- CA(e.$slots, "default")
1023
+ bA(e.$slots, "default")
1022
1024
  ], 512));
1023
1025
  }
1024
1026
  }), Be = { class: "creative-booth" }, Ee = { class: "media-container" }, De = ["innerHTML"], Qe = { class: "creative-booth__thumbnails" }, ke = [
@@ -1065,7 +1067,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1065
1067
  mediaType: "svg",
1066
1068
  filters: ["asset-01", "asset-02"]
1067
1069
  }
1068
- ], _e = /* @__PURE__ */ AA({
1070
+ ], Ge = /* @__PURE__ */ AA({
1069
1071
  __name: "creative-booth",
1070
1072
  props: {
1071
1073
  modelValue: {
@@ -1163,7 +1165,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1163
1165
  a.ready && s("update:pending", l);
1164
1166
  }
1165
1167
  });
1166
- Z(o, async (l, m) => {
1168
+ X(o, async (l, m) => {
1167
1169
  l && l !== m && s("update:modelValue", l);
1168
1170
  }, { deep: !0 });
1169
1171
  function d(l) {
@@ -1189,7 +1191,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1189
1191
  s("update:ready", !0);
1190
1192
  });
1191
1193
  return (l, m) => (f(), w("div", Be, [
1192
- b("div", Ee, [
1194
+ C("div", Ee, [
1193
1195
  L(he, {
1194
1196
  modelValue: y.value,
1195
1197
  "onUpdate:modelValue": m[0] || (m[0] = (S) => y.value = S),
@@ -1214,7 +1216,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1214
1216
  class: "headline",
1215
1217
  innerHTML: A.messages.headline
1216
1218
  }, null, 8, De)) : E("", !0),
1217
- b("div", Qe, [
1219
+ C("div", Qe, [
1218
1220
  g.value ? (f(), R(B(EA), {
1219
1221
  key: 0,
1220
1222
  assets: i.value,
@@ -1329,7 +1331,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1329
1331
  mediaType: "image",
1330
1332
  filters: []
1331
1333
  }
1332
- ], Ge = /* @__PURE__ */ AA({
1334
+ ], _e = /* @__PURE__ */ AA({
1333
1335
  __name: "face-swap",
1334
1336
  props: {
1335
1337
  modelValue: {
@@ -1377,7 +1379,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1377
1379
  }
1378
1380
  });
1379
1381
  const y = F(() => g.value || c.value && c.value.src || o.value);
1380
- Z(g, async (d, v) => {
1382
+ X(g, async (d, v) => {
1381
1383
  d && d !== v && s("update:modelValue", d);
1382
1384
  }, { deep: !0 });
1383
1385
  function h(d) {
@@ -1399,17 +1401,17 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1399
1401
  return hA(() => {
1400
1402
  o.value = a.modelValue;
1401
1403
  }), (d, v) => (f(), w("div", Se, [
1402
- b("div", Me, [
1403
- b("div", {
1404
+ C("div", Me, [
1405
+ C("div", {
1404
1406
  class: Y(["media-container", `${A.ratio ? `ratio ratio-${A.ratio}` : ""}`])
1405
1407
  }, [
1406
1408
  L(IA, {
1407
1409
  name: "fade",
1408
1410
  mode: "out-in"
1409
1411
  }, {
1410
- default: G(() => [
1412
+ default: _(() => [
1411
1413
  (f(), w("div", { key: y.value }, [
1412
- L(B(bA), { src: y.value }, null, 8, ["src"])
1414
+ L(B(CA), { src: y.value }, null, 8, ["src"])
1413
1415
  ]))
1414
1416
  ]),
1415
1417
  _: 1
@@ -1421,7 +1423,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1421
1423
  class: "btn face-swap__swap-face",
1422
1424
  onClick: k
1423
1425
  }, [
1424
- o.value && !g.value && !i.value ? (f(), R(B(bA), {
1426
+ o.value && !g.value && !i.value ? (f(), R(B(CA), {
1425
1427
  key: 0,
1426
1428
  src: o.value,
1427
1429
  class: "img-thumbnail"
@@ -1434,7 +1436,7 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1434
1436
  class: "headline",
1435
1437
  innerHTML: A.messages.headline
1436
1438
  }, null, 8, Pe)) : E("", !0),
1437
- b("div", Ue, [
1439
+ C("div", Ue, [
1438
1440
  L(B(EA), {
1439
1441
  assets: A.assets,
1440
1442
  onSelect: h
@@ -1475,12 +1477,12 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1475
1477
  return (g, i) => (f(), w("div", {
1476
1478
  class: Y(["svg-canvas", `${A.scale > 1 ? "overflow-scroll" : ""}`])
1477
1479
  }, [
1478
- b("div", {
1480
+ C("div", {
1479
1481
  ref_key: "svg",
1480
1482
  ref: c,
1481
1483
  class: "svg-wrapper",
1482
1484
  innerHTML: A.modelValue,
1483
- style: _({ transform: `scale(${A.scale})` }),
1485
+ style: G({ transform: `scale(${A.scale})` }),
1484
1486
  onClick: i[0] || (i[0] = (y) => o(y))
1485
1487
  }, null, 12, je)
1486
1488
  ], 2));
@@ -1508,12 +1510,12 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1508
1510
  return hA(() => {
1509
1511
  c.value = a.colors?.length ? a.colors[0] : "";
1510
1512
  }), (i, y) => (f(), w("div", Te, [
1511
- b("div", Fe, [
1513
+ C("div", Fe, [
1512
1514
  L(B(OA), {
1513
1515
  modelValue: o.value,
1514
1516
  "onUpdate:modelValue": y[1] || (y[1] = (h) => o.value = h)
1515
1517
  }, {
1516
- default: G(() => [
1518
+ default: _(() => [
1517
1519
  L(Le, {
1518
1520
  modelValue: g.value,
1519
1521
  "onUpdate:modelValue": y[0] || (y[0] = (h) => g.value = h),
@@ -1536,8 +1538,8 @@ const ve = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20wid
1536
1538
  });
1537
1539
  export {
1538
1540
  ze as ColorBooth,
1539
- _e as CreativeBooth,
1541
+ Ge as CreativeBooth,
1540
1542
  he as FabricCanvas,
1541
- Ge as FaceSwap,
1543
+ _e as FaceSwap,
1542
1544
  xe as PhotoApp
1543
1545
  };
@@ -1 +1 @@
1
- (function(M,A){typeof exports=="object"&&typeof module<"u"?A(exports,require("vue"),require("ablok-components"),require("vue-i18n"),require("lodash")):typeof define=="function"&&define.amd?define(["exports","vue","ablok-components","vue-i18n","lodash"],A):(M=typeof globalThis<"u"?globalThis:M||self,A(M.AblokPhotobooth={},M.Vue,M.AblokComponents,M.VueI18n,M._))})(this,(function(M,A,h,aA,oA){"use strict";async function nA(e){let s=await fetch(e,{mode:"no-cors"}).then(o=>o.blob());return await new Promise(o=>{let i=new FileReader;i.onload=()=>o(i.result),i.readAsDataURL(s)})}async function W(e){return await new Promise(s=>{let o=new FileReader;o.onload=()=>s(o.result),o.readAsDataURL(e)})}function lA(e){return new Promise((s,o)=>{const i=new Image;i.onload=()=>s(i),i.onerror=o,i.src=e})}function rA(e,s=0,o=0){return new Promise((i,d)=>{const n=new Image;n.crossOrigin="anonymous",n.naturalWidth,n.naturalHeight,n.onload=()=>{const m=document.createElement("canvas"),c=m.getContext("2d");m.width=s,m.height=n.height*s/n.width,c.drawImage(n,0,0,m.width,m.height);const y=m.toDataURL();i(y)},n.src=e})}function AA(e,s=1){return new Promise((o,i)=>{const d=new Image;d.crossOrigin="anonymous",d.onload=()=>{const n=d.naturalWidth,m=d.naturalHeight,c=n/m;let y=n,B=m;c>s?y=m*s:c<s&&(B=n/s);const E=document.createElement("canvas");E.width=y,E.height=B,E.getContext("2d").drawImage(d,E.width/2-d.width/2,E.height/2-d.height/2),o(E.toDataURL())},d.src=e})}const sA=e=>{const s=new FileReader;return new Promise(o=>{s.onload=i=>{if(!i.target)return o(0);const d=i.target,n=new DataView(d.result);if(n.getUint16(0,!1)!=65496)return o(-2);const m=n.byteLength;let c=2;for(;c<m;){if(n.getUint16(c+2,!1)<=8)return o(-1);let y=n.getUint16(c,!1);if(c+=2,y==65505){if(n.getUint32(c+=2,!1)!=1165519206)return o(-1);let B=n.getUint16(c+=6,!1)==18761;c+=n.getUint32(c+4,B);let E=n.getUint16(c,B);c+=2;for(let f=0;f<E;f++)if(n.getUint16(c+f*12,B)==274)return o(n.getUint16(c+f*12+8,B))}else{if((y&65280)!=65280)break;c+=n.getUint16(c,!1)}}return o(-1)},s.readAsArrayBuffer(e)})};function iA(e){let s=0;switch(e){case 3:s=180;break;case 6:s=90;break;case 8:s=270;break;default:s=0}return s}async function cA(e){const s=await sA(e);return await iA(s)}async function dA(e,s){const o=await lA(e),i=document.createElement("canvas"),d=i.getContext("2d");return i.width=o.width,i.height=o.height,d.setTransform(1,0,0,1,i.width/2,i.height/2),d.rotate(s),d.drawImage(o,-o.width/2,-o.height/2),i.toDataURL()}const eA={processImage:async(e,s,o="/media")=>{const i=JSON.stringify({...s});return await(await fetch(e,{headers:{"Content-Type":"application/json"},method:"POST",body:i}).then(n=>n.json()).catch(n=>[n])).dataUrl}},gA="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABAAAAAQACAYAAAB/HSuDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAHkJJREFUeNrs3Q1u8zaXgNHS8JK4/xVwTyzytgnS1HZsixR/7jlAgZkMBl+hT6Z1H1FyqrX+BQAAAOzt4hAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAEA0V4cAANaTc64j//NLKcl/CwCwllRrdRQAwJDfjDgAAHPyCAAAGP79uwOAAAAAAAAIAAAAAIAAAAAAAAgAAAAAwEn8CgAATOq3l+mNetv+rP9eAIAAAAAAAOF5BAAAAAAEAAAAAEAAAAAAAJZwdQgA2N2tl9Z5UZ1zwjkBQDReAghAmAHPwIdzA4DI7AAAINxwB8+eR0IAADuxAwCA0IO/Ac954jwBQAAAgE2HOUOd88Z5A0BEHgEAINwABy3OPyEAgNXYAQBAyMHf8OZcci4BIAAAwKbDmkEN5xcAAgAAGMxwvjnfABAAAGC1QcwQhnMQAAQAAAxd4JwEQAAAAEMWOEcBEAAAYKrBylCF8xUABAAANh2kDFE4hwFAAADA0ATOaQC44eIQAGBQgvcdOTdb/fQgADzDDgAADP7gXAdAAACAMQORYQjnPQAIAAAYgMDnAAAEAAAMPLD+58JnAgABAADDP/h8AIAAAMA6w43BBp8VnxUABAAADDPgs+OzA0BDF4cAgDMZYMBnAYAxrg4BAIYdGPu5ePf9AADwCjsAADD8g88IAAHYAQCAoQYm+rzYDQBAL3YAAGD4B58dAALwKwAANPF519LwAj5XAAgAAAAAwCAeAQAAAAABAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAiyznXj38cCcA6A8AjqVZrOcCqF+S3/l5KSY4OYJ0B4Cc7AAA2uigHsAYBIAAAuDAHsJYACAAAuCgHsBYBCAAALHPB7dlcoIVn1hIRAEAAAGDQ8A9gbQJAAAAIcIHt7j/Q0rNriggAIAAAMOGFOoC1BUAAAGBCnvsHVogAdgEACAAAGP4BEQAAAQAAAAAQAAACc/cfmI1dAAACAACGf0AEEAEABAAADP+ACACAAAAAAAAIAACRuPsPrMIuAAABAADDPyACiAAAAgAAAAAgAAAE5e4/sCq7AAAEAAAM/4AIIAIACAAAAACAAAAQhLv/wC7sAgAQAADofEENYM0CQAAAmJg7YYC1DwABAMAFsDtpwJI8CgAgAADQ+AIawBoGgAAAMDF3vgCshQACAADunAHWMgAEAIDVueMFYE0EEAAAXOi6YwZsxQsBAQQAAAz/gLUNAAEAYD/ucAFYIwEEAADcIQOscQAIAACrc2cLwFoJIAAA4M4YYK0DQAAAWJ07WgDWTAABAAB3xABrHgACAMDq3MkCsHYCCAAAuBMGWPsAEAAAVvfbHSwXwIAI8P4aCoAAAAAAAAgAAHNw9x/AWgggAAAAAAACAMDq3PECsCYCCAAAAABAN6lWL1kF6OXzTdbucgFYLwEEAAAAAKA7jwAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAACgEMAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAIAAAAAAAAgAAJHknOvHP44EgHUaYGWpVmslwL0Lyp9/K6UkRwbAWg2wIjsAAJ68oHz0dwCs1QACAAAAACAAAAAAAAIAwOlsHQWwlgMIAADBebEUAAACAAAAnEiUBRAAAAAAAAEA4D7PjAJY0wEEAAAAAEAAANidZ00BrM0AAgAAAAAgAAAAAAACAMAUvCwKwNoOIAAAAAAAAgDA7rxkCsAaDSAAAAAAAAIAAAAAIAAATMFLogCs8QACAAAAACAAAOzOy6UArNUAAgAAAAAgAAAAAAACAAAAACAAAJzD26EBrPUAAgAAAAAgAADszlulAazZAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAEAjfhYKwJoPIAAAAAAAAgDA7vycFIC1G0AAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAPiSc66OAoC1H0AAAAjM70gDWMMBBAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAAAQAAAAAAABACCMUkpyFACs5QACAICLQwCs/QDLSbVWRwEAAAA2ZwcAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAAAgADgEAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAABAc1eHAIgs51x//q2UkhwZAGs8wG7sAABcGD75dwCs8QACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAAAgAAFH5nWgAaziAAACwiVJKchQArP0AAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAIAAAMC/cs7VUQCwdgMIAAAbKKUkRwHAmg8gAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAA04fekAazZAAIAwCb8LjSAtR5AAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAABoxu9KA1irAQQAgE34fWgAAAQAAABYmMgLIAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAMBu/Lw1gjQYQAAA24WeiAKztAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAwEv8XBSANR1AAABwEQmANRpgWanW6igAAADA5uwAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAABACHAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAgLNdHQKA1+Wc6+f/XEpJjgiAtRdgdqnW6igAvHHx+Z0LUQDrL8DsPAIA0PHCFABrLIAAAAAAAAgAAAAAgAAAAAAACAAAAOzA8/8AAgCAi1QAABAAAPrwc1MA1mQAAQAAAAAQAAAAAAABAAAAABAAANbgRYAA1lQAAQBgE146BWAtBhAAAAAAAAEAAAAAEAAAtuCZVQBrKYAAAAAAAAgAAKvw8ikAazCAAAAAAAAIAAAAAIAAALAFL68CsIYCCAAAAACAAACwCi+hArD2AggAAAAAgAAAAAAACAAAW/ASKwBrJ4AAALAJz6ICWHMBBAAAAABAAAAAAAAEAIAteJYVwJoJIAAAAAAAAgDAKryUCsBaCyAAAAAAAAIAQASeaQWwVgIIAAAAAIAAALAKz6YCWGMBBAAAAABAAACIwLOtAAAIAAAAhCaSAggAAEvxjCqAtRVAAAAAAAAEAAAAAEAAANiCZ1wBrI0AAgDAJjyrCmBNBRAAAAAAAAEAIAJbXQGsiQACAAAAACAAAKzCM6sA1lIAAQAAAAAQAAAAAAABAGAZ97au2tIKYK0EEAAANr+wdUELYK0EGCnV6tdXAAAAYHd2AAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAKAQwAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAgAAAAAAACAAAAACAAADAQTnn+vGPIwFYvwBoJdVqfQaY6cL51t9LKcnRAaxfABxhBwAAAAAIAADMwHZawBoFgAAAAAAACAAAu3CHDbA2ASAAAAAAAAIAwCq8LRuwpgEgAABgqy1gTQJAAAAAAAAEAIBl2DILWMsAEAAAsOUWsBYBIAAAAAAAAgDAMn7bOuvOGzDSb2uQ7f8AAgAAAAAgAAAAAAACAEAwHgMAZmT7P4AAAAAAAAgAALzDnTTAmgWAAACAxwAAaw4AAgAAAAAgAAAsw8sAgRl4+R+AAAAAAAAIAAC04M4aYI0CQAAAwGMAgDUGAAEAAAAAEAAAluFlgMAIXv4HIAAAAAAAAgAAPdgFAJzJ3X8AAQAAAAAQAAAAAAABAIBDPAYAnMH2fwABAAAAABAAADiDXQBAT+7+AwgAAAAAgAAAwJnsAgB6cPcfQAAAAAAABAAAAABAAACgC48BAC3Z/g8gAAAAAAACAAAj2QUAtODuP4AAAAAAAAgAAMzALgDgCHf/AQQAAAAAQAAAYCZ2AQDvcPcfQAAAAAAABAAAZuROHWBNAUAAAAAAAAEAAAAAEAAAWIYtu4C1BIBbUq1eCg0AAAC7swMAAAAABAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAAAQABwCAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAEAAD4JudcP/5xJMDnE4B1pVp9XwBwf7D4+bdSSnJkwGcUgPXYAQDA04PFo78DPqMACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAAAgAAQfkZMfAZBkAAAAAAAAQAAHZXSkmOAvgsAiAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAABAHDnn6igAIAAAYGgAABAAAOA2vzsOPpMACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAfMk5V0cBfKYBEAAACMzvjYPPJgACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAABf/F44+GwDIAAAAAAAAgAAuyulJEcBfEYBEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAAEAAA+CPnXB0F8BkHQAAAIDC/Lw4+qwAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAA8xc+Kgc8sAAIAAAAAsJBUa3UUAPgj5/z1peBOIvgsAyAAAAAAAIvxCAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAADAIVeHAGAeOef682+llOTIANYwAI5KtVZHAWCSC+V7XEAD1jQAjrIDAGCyC2OAiGuiKAAgAAAY9AECr5/CAIAAAGDQBwi83goDAAIAgCEfIPgaLQ4A3OYlgICLyMkHfReygPXUegogAABsdGHqAhWw7lp3AQQAABeeANZl6zKAAACwykWmi0qANdZs6zWwIy8BBHDhCDDdmulFrAACAIAhHyD4GisOAAgAAAZ9gMDrsjAAIAAAGPQBAq/jwgDAP7wEENjWvQs+gz4AvicAAQAAAADY0sUhAAAAAAEAAAAAEAAAAACAFfgVAOBXt16S5AVJAOC7GViLlwACT11U3OJCAwB8TwPrsAMA8PvIABDg+10QAAQAcEEAAAgCgAAAGPgBAEEAEAAAAz8AIAgAS/ASQDD0v8VFAQD43gcEAGDDL35f/gDgmsA1AQgAgC93AMA1AyAAAL68AQDXFIAAAPhyBgBccwACAPjy9eULALgmAQQA8CXryxUAcK0CCAAQ6wvVlygA4PoFuOfqEMC6fGECAGdfb4x4ZAAQAMDADwAgCAACABj4AQAEAeCTdwDAyR59KRr4AQDXPoAAAAAAALzt4hAAAACAAAAAAAAIAAAAAIAAACf4eLGMt80CAOB6Ex7zEkCWXIAf/d+9TRYAANed8H9Xh4AdFl8AABh5jSoGIACAoR8AADEABAAw9AMAIAaAAIChHwAAxAAQADD0AwCAGADP8isAbDH0W0ABAHAtCwIAFkoAAHCNiwAgALDSomhBBADAdS8IAFj8AADA9TAIAKy00FnkAABwjewaGQGATRc1CxoAAK6bXTcjAGDxAgAA19OupxEAWGmhskgBAIBrbAQALEoAAOCa2zU3AgCrLUIWIAAAcB2OAIAFBwAAcF2OAMBqi4zFBQAAXKczr6tDwFEWFAAA6H+93foXBBAAwOAPAABCAAIAGPwBAEAIYEXeAcB/3FtEDP0AAOA6HgGAjRcPCwYAALiWRwAAAAAAFnFxCAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAAACAG64OwRg55/r5P5dSkiMCAACYgegp1VodhUEn/Xc+AAAAgDmInjwCMMFJDwAAYEaiN48AOKkBAACGz0t2A/RnB4DhHwAAwOwkAOAEBgAAMEMJADQ5cW11AQAAdvbKzCMC9ONXAAYO/oZ/AADAvGReOosdAE5mAACAU7w6A9kNIAAY/gEAAEQAXuQRgJOHf4M/AACAWWoEOwCcsAAAAEN4OaAAYPgHAAAQAUQAAcDwDwAAIALwKu8A6Dj4G/4BAADMWwLA5iejExEAAMDsNROPADgBAQAApuKRAAHA8A8AACACiAACgOEfAABABEAAMPwDAACIAAIAhn8AAAARQAAw/Bv+AQAARAABwPAPAACACCAAGP4BAAAQAQQAwz8AAAAigABg+AcAAEAEEAAM/wAAACKACCAAGP4BAABEABEgcgAw/AMAAIgAAgCGfwAAALObALC6Z4uPEwgAAGC/CBB1F0C4AGD4BwAAEAEiRoBQAcDwDwAAIAJEjQBhAoDhHwAAQASIHAG8BNDwDwAAYMYTAJwYAAAAmPUEACcEAAAAZj4BwIkAAACA2U8AGP5fthMAAAAgdgSINBemWquzAAAAADbnHQAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAACAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAAAgAAAAAgAAAAAAACAAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAIAA4BAAAACAAAAAAAAIAAAAAIAAAAAAAAgAAAAAgAAAAAAANHId/S+Qc64//1ZKSf6rAQAAYFUzzrqX2Q7Io78DAADAisP/DLOuRwAAAAAggGEBwF1+AAAAohk5C9sBAAAAAAEMCQC/FQ8vAQQAAGBXo3YB2AEAAAAADc16U/v0AODuPwAAANEjwIhdAHYAAAAAQACnBgB3/wEAAIhitl0AdgAAAABAAKcFAHf/AQAAiGamXQB2AAAAAEAApwQAd/8BAACIapZdAHYAAAAAQADdA8CI3zYEAACAlZwxOw/fAWD7PwAAALubYfb1CAAAAAAE0DUAePkfAAAAPDcD934MwA4AAAAACKBbAHD3HwAAAF6bhXvuArADAAAAAAIYEgDc/QcAACCqUTNxlwBwxu8XAgAAwI56zdQeAQAAAIAAmgcAL/8DAACAx0a8DNAOAAAAAAjg1ADg7j8AAACMmZGbBgAv/wMAAIA5Z2yPAAAAAEAApwUA2/8BAABg3KzcLADY/g8AAABttZy1PQIAAAAAAZwSAGz/BwAAgLEzc5MAYPs/AAAA9NFq5vYIAAAAAATQPQDY/g8AAADjZ+fDAcD2fwAAAOirxeztEQAAAAAIoGsAsP0fAAAA5pihDwUA2/8BAADgHEdncI8AAAAAQADdAoDt/wAAADDPLG0HAAAAAATwdgDw/D8AAACc68gsbgcAAAAABNAlAHj+HwAAAOaaqe0AAAAAgADeDgD3ioS7/wAAAHBMj5n70vJfyPAPAAAAfSLA0Zk71epl/gAAALA77wAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAEAIcAAAAABAAAAABAAAAAAAAEAAAAAEAAAAAAAAQAAAAAQAAAAAAABAAAAABAAAAAAAABAAAAABAAAAAAAAEAAAAAEAAAAACAs13f+X/KOdfv/3spJTmUAAAA0EeLOfxy9D/03t8AAACA9sP/u3O4RwAAAAAggJcCgDv9AAAAMIdXZ3Q7AAAAACAAAQAAAAAEAAAAAEAAAADgb3bsWAAAAABgkL/1IPYWRgAgAAAAAAABAAAAAAgAAAAAQAAAAAAAAgAAAAAQAAAAACAAAAAAAAEAAAAACAAAAABAAAAAAAACAAAAABAAAAAAgAAAAAAABAAAAAAIAAAAAEAAAAAAAAIAAAAAEAAAAACAAAAAAAAEAAAAALAkwACd6iSVhnRezwAAAABJRU5ErkJggg==",fA={class:"photo-app__drop-target__canvas"},mA={class:"flex-grow-1 text-center"},uA=["innerHTML"],pA={class:"ml-2"},CA={key:0,class:"d-flex flex-column align-center justify-center"},bA={key:0},yA={class:"photo-app__errors mt-2"},wA={class:"error--text"},BA={key:1,class:"photo-app__file-list"},hA={class:"row"},IA={key:0},EA={key:1},DA={key:2},QA={key:3},kA={class:"photo-app__form-input text-center"},SA={class:"photo-app__controls"},VA={class:"row"},NA={class:"col col-12"},MA=["innerHTML"],vA={key:0,class:"d-flex justify-center col-8 mx-auto"},TA={class:"col"},PA={key:0,class:"col"},OA={key:1,class:"col"},UA=["required","value"],jA=A.defineComponent({__name:"photo-app",props:{modelValue:{type:String,default:""},enableDragDrop:{type:Boolean,default:!0},enableLocalFileUpload:{type:Boolean,default:!0},enableCamera:{type:Boolean,default:!0},enableSwitchCamera:{type:Boolean,default:!1},defaultRearCamera:{type:Boolean,default:!1},enableFileList:{type:Boolean,default:!1},enableTogglePlay:{type:Boolean,default:!1},enableButtonIcons:{type:Boolean,default:!1},enableButtonCaptions:{type:Boolean,default:!1},enableLegacyInput:{type:Boolean,default:!1},enableInstantUpload:{type:Boolean,default:!1},enableAutoSave:{type:Boolean,default:!1},enableMirrorCamera:{type:Boolean,default:!1},enableCropImage:{type:Boolean,default:!0},enableGuide:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!0},enableReview:{type:Boolean,default:!0},downScaleImages:{type:Boolean,default:!1},guideSrc:{type:String,default:gA},acceptButton:{type:Boolean,default:""},captureCountdown:{type:Number,default:3},backgroundColor:{type:String,default:""},color:{type:String,default:""},i18n:{},messages:{default:()=>({})},apiEndpoint:{type:String,default:""},apiEndpointSuffix:{type:String,default:""},required:{type:Boolean,default:!1},variant:{type:String,default:"light"},maxFileSize:{type:Number,default:1024*1024},fixedResolution:{type:Number,default:1024},ratio:{type:String,default:"3x4"},enableAudio:{type:Boolean,default:!1},enableSelectDevice:{type:Boolean,default:!1},enableProcessImage:{type:Boolean,default:!1},processImage:null,filter:String,tint:Object,resolutions:Object,zoom:Number,enableZoomSlider:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:s}){const{tm:o}=aA.useI18n(),i=A.getCurrentInstance(),d=i&&i.appContext.config.globalProperties.$config,n=e,m=s,c=A.computed(()=>d.baseMediaPath),y=A.computed(()=>l.value&&l.value.length&&l.value.filter(r=>r.response&&Object.keys(r.response).length).length===l.value.length),B=A.computed(()=>{const r=l.value.find(p=>p.response&&p.response.path);return r&&r.response.path}),E=A.computed(()=>B.value?`${c.value}${B.value}`:""),f=A.computed(()=>({...n.i18n?n.i18n.messages:{},...n.messages}));A.computed(()=>!!(l.value&&l.value.length));const b=A.computed(()=>l.value.length?f.value.reviewTitle:f.value.captureTitle),l=A.ref([]),u=A.ref(),D=A.ref(),g=A.ref(),U=A.ref(!1),Q=A.ref(!1),H=A.ref(),k=A.ref(),v=A.ref(!1),x=A.ref("");A.watch(H,async(r,p)=>{if(r){const w=r.blob&&r.blob.type.split("/")[1],I=new File([r.blob],`${r.id}.${w}`),N=await cA(I),O=await W(I),j=await dA(O,N),P=await(await fetch(j)).blob();l.value.push(new File([P],`${r.id}.${w}`,{type:P.type})),v.value=!1,Z()}},{deep:!0}),A.watch(l,async(r,p)=>{if(n.enableInstantUpload)r.find(w=>!w.response.path)&&(u.value.active=!0);else{const w=await Promise.all(r.map(async I=>{let N=await W(I);n.downScaleImages&&Number(n.maxFileSize)&&I.size>Number(n.maxFileSize)&&(N=await rA(N,800,800));const O=n.ratio.split("x");return await AA(N,Number(O[0])/Number(O[1]))}));k.value=w[0]}},{deep:!0}),A.watch(y,async(r,p)=>{r&&!p&&(k.value=n.enableInstantUpload?B.value:await AA(E.value))},{deep:!0}),A.watch(k,async(r,p)=>{n.enableAutoSave&&k!==p&&G()});function _(){k.value="",l.value=[]}function Z(){Q.value=!1}function F(){_(),Q.value=!Q.value}async function K(r){if(!n.filter){l.value=r;return}const{applyFilterToImageBlob:p}=h.useCameraFilter({...n,tintColor:n.tint?.color,tintIntensity:n.tint?.intensity}),w=await Promise.all((r||[]).map(async I=>{const N=I?.file instanceof File?I.file:I instanceof File?I:null;if(!N)return I;const O=await W(N),j=await p(O),T=new File([j],N.name,{type:j.type||N.type,lastModified:N.lastModified});if(I?.file instanceof File){const P=window.URL||window.webkitURL;return{...I,file:T,size:T.size,type:T.type,name:T.name,blob:P&&P.createObjectURL?P.createObjectURL(T):I.blob}}return T}));l.value=w}const G=(async()=>{v.value=!0,n.enableProcessImage&&n.processImage&&(k.value=await n.processImage.reduce(async(r,p)=>{const w=await r;return await q(w,p)},Promise.resolve(k.value))),m("update:modelValue",k.value)}),q=(async(r,p)=>`${await eA.processImage(`${p.endpoint}${p.search?`?${p.search}`:""}`,{...p.body,dataUrl:r,resolution:n.fixedResolution},p.basePath)}`);function $(){v.value=!0,D.value?.onCapture()}return A.onMounted(()=>{["dragenter","dragover"].forEach(r=>{document.body.addEventListener(r,p=>{p.preventDefault(),U.value=!0},!1)}),["dragleave","drop"].forEach(r=>{g.value.addEventListener(r,p=>{p.preventDefault(),U.value=!1},!1)}),["drop"].forEach(r=>{g.value.addEventListener(r,p=>{p.preventDefault(),U.value=!1;const w=p.dataTransfer;(w&&Array.from(w.files||[]))?.forEach(N=>{l.value.push(N)})},!1)})}),(r,p)=>(A.openBlock(),A.createElementBlock("div",{class:A.normalizeClass(["photo-app",e.variant==="dark"&&"theme--dark"])},[e.enableCamera?(A.openBlock(),A.createElementBlock("div",{key:0,class:"photo-app__canvas media-container",style:A.normalizeStyle({color:e.color,backgroundColor:e.backgroundColor})},[Q.value?(A.openBlock(),A.createElementBlock("div",{key:0,class:A.normalizeClass(["photo-app__camera",`${e.ratio?`aspect-ratio--${e.ratio}`:""}`]),style:A.normalizeStyle({borderColor:e.color})},[A.createVNode(A.unref(h.BaseCamera),{ref_key:"camera",ref:D,modelValue:H.value,"onUpdate:modelValue":p[0]||(p[0]=w=>H.value=w),"enable-toggle-play":e.enableTogglePlay,countdown:e.captureCountdown,"enable-mirror-camera":e.enableMirrorCamera,"enable-switch-camera":e.enableSwitchCamera,"default-rear-camera":e.defaultRearCamera,"enable-guide":e.enableGuide,"guide-src":e.guideSrc,"fixed-resolution":e.fixedResolution,"enable-audio":e.enableAudio,"enable-select-device":e.enableSelectDevice,"enable-crop-image":e.enableCropImage,onOnStopped:F,"text-color":e.color,ratio:e.ratio,resolutions:e.resolutions,filter:e.filter,"tint-color":e.tint?.color,"tint-intensity":e.tint?.intensity},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"])],6)):A.createCommentVNode("",!0),l.value&&l.value.length&&!Q.value?(A.openBlock(),A.createElementBlock("div",{key:1,class:"photo-app__preview",style:A.normalizeStyle({borderColor:e.color})},[k.value?(A.openBlock(),A.createBlock(A.unref(h.BaseImage),{key:0,src:E.value||k.value},null,8,["src"])):A.createCommentVNode("",!0),A.createVNode(A.Transition,{name:"fade",mode:"out-in"},{default:A.withCtx(()=>[v.value?(A.openBlock(),A.createBlock(A.unref(h.LoadingSpinner),{key:0})):A.createCommentVNode("",!0)]),_:1})],4)):Q.value?A.createCommentVNode("",!0):(A.openBlock(),A.createElementBlock("div",{key:2,class:A.normalizeClass(["photo-app__drop-target",`${e.ratio?`aspect-ratio--${e.ratio}`:""}`]),style:A.normalizeStyle({borderColor:e.color})},[A.createElementVNode("div",fA,[A.createElementVNode("div",mA,[A.createElementVNode("p",{class:"headline h2 font-weight-bold",innerHTML:f.value.title||r.$t("fileInput.coverTitle")},null,8,uA),e.enableCamera?(A.openBlock(),A.createBlock(A.unref(h.BaseButton),{key:0,type:"button",onClick:A.withModifiers(F,["prevent"]),style:A.normalizeStyle({color:e.color}),icon:"camera",class:"rounded-pill"},{default:A.withCtx(()=>[A.createVNode(A.unref(h.SvgIcon),{symbol:"camera"}),A.createElementVNode("span",pA,A.toDisplayString(f.value.launchCamera||r.$t("fileInput.coverLaunchCta")),1)]),_:1},8,["style"])):A.createCommentVNode("",!0)]),e.enableLocalFileUpload?(A.openBlock(),A.createElementBlock("div",CA,[A.createElementVNode("p",{class:"subtitle fw-bold ma-0",style:A.normalizeStyle({color:e.color})},A.toDisplayString(f.value.localFileTitle||r.$t("fileInput.coverLocalSelectTitle")),5),A.createElementVNode("p",{class:"text-body-1",style:A.normalizeStyle({color:e.color})},[e.enableDragDrop?(A.openBlock(),A.createElementBlock("span",bA,A.toDisplayString(f.value.dropTarget||r.$t("fileInput.coverDropTarget"))+" "+A.toDisplayString(e.enableLocalFileUpload&&e.enableDragDrop?f.value.or||r.$t("common.or"):"")+" "+A.toDisplayString(),1)):A.createCommentVNode("",!0),A.createElementVNode("label",{for:"fileUpload",role:"button",class:"d-inline link",style:A.normalizeStyle({color:e.color})},A.toDisplayString(f.value.coverSelectFileCta||r.$t("fileInput.coverLocalFileCta")),5)],4)])):A.createCommentVNode("",!0)])],6))],4)):A.createCommentVNode("",!0),A.withDirectives(A.createElementVNode("div",{class:"photo-app__drop-overlay",ref_key:"dropArea",ref:g},[A.createElementVNode("h3",null,A.toDisplayString(f.value.dropTarget||r.$t("fileInput.dropTargetLabel")),1)],512),[[A.vShow,e.enableLocalFileUpload&&e.enableDragDrop&&U.value]]),A.withDirectives(A.createElementVNode("div",yA,[A.createElementVNode("p",wA,A.toDisplayString(x.value),1)],512),[[A.vShow,x.value]]),e.enableFileList&&l.value.length?(A.openBlock(),A.createElementBlock("div",BA,[A.createElementVNode("div",hA,[(A.openBlock(!0),A.createElementBlock(A.Fragment,null,A.renderList(l.value,w=>(A.openBlock(),A.createElementBlock("div",{key:w.id,class:"col col-12"},[A.createElementVNode("span",null,A.toDisplayString(w.name),1),p[2]||(p[2]=A.createTextVNode(" - ",-1)),A.createElementVNode("span",null,A.toDisplayString(w.size),1),p[3]||(p[3]=A.createTextVNode(" - ",-1)),w.error?(A.openBlock(),A.createElementBlock("span",IA,A.toDisplayString(w.error),1)):w.success?(A.openBlock(),A.createElementBlock("span",EA,A.toDisplayString(r.$t("common.success")),1)):w.active?(A.openBlock(),A.createElementBlock("span",DA,A.toDisplayString(r.$t("common.active")),1)):(A.openBlock(),A.createElementBlock("span",QA))]))),128))])])):A.createCommentVNode("",!0),A.withDirectives(A.createElementVNode("div",kA,[A.createElementVNode("div",SA,[A.createElementVNode("div",VA,[A.createElementVNode("div",NA,[A.renderSlot(r.$slots,"headline",{},()=>[e.enableTitle&&(Q.value||l.value.length)?(A.openBlock(),A.createElementBlock("p",{key:0,class:"headline",innerHTML:b.value},null,8,MA)):A.createCommentVNode("",!0)]),!e.enableLegacyInput&&(Q.value||l.value.length)?(A.openBlock(),A.createElementBlock("div",vA,[A.createElementVNode("div",TA,[Q.value||l.value.length&&(!u.value||!u.value.active)?(A.openBlock(),A.createBlock(A.unref(h.BaseButton),{key:0,type:"button",class:A.normalizeClass(["btn btn-primary-outline rounded-circle",`theme--${e.variant}`]),onClick:p[1]||(p[1]=A.withModifiers(w=>Q.value?F():_(),["prevent"]))},{default:A.withCtx(()=>[A.createVNode(A.unref(h.SvgIcon),{symbol:"x","base-path":A.unref(d).iconSprite,class:"primary"},null,8,["base-path"]),A.createTextVNode(" "+A.toDisplayString(e.enableButtonCaptions?f.value.cancel||r.$t("fileInput.cancel"):""),1)]),_:1},8,["class"])):A.createCommentVNode("",!0)]),Q.value?(A.openBlock(),A.createElementBlock("div",PA,[A.createVNode(A.unref(h.BaseButton),{type:"button",class:A.normalizeClass(["btn btn-primary rounded-circle",`theme--${e.variant}`]),onClick:A.withModifiers($,["prevent"]),disabled:v.value},{default:A.withCtx(()=>[A.createVNode(A.unref(h.SvgIcon),{symbol:"camera","base-path":A.unref(d).iconSprite},null,8,["base-path"]),A.createTextVNode(" "+A.toDisplayString(e.enableButtonCaptions?f.value.shoot||r.$t("fileInput.shoot"):""),1)]),_:1},8,["class","disabled"])])):e.enableReview?(A.openBlock(),A.createElementBlock("div",OA,[A.createVNode(A.unref(h.BaseButton),{type:"button",class:A.normalizeClass(["btn btn-primary rounded-circle",{[`theme--${e.variant}`]:e.variant,"btn-success":v.value}]),onClick:A.withModifiers(G,["prevent"]),disabled:v.value},{default:A.withCtx(()=>[A.createVNode(A.unref(h.SvgIcon),{symbol:"check"}),A.createTextVNode(" "+A.toDisplayString(e.enableButtonCaptions?f.value.accept||r.$t("common.accept"):""),1)]),_:1},8,["class","disabled"])])):A.createCommentVNode("",!0)])):A.createCommentVNode("",!0),A.withDirectives(A.createElementVNode("div",{class:A.normalizeClass(["justify-center col-10 mx-auto",{"d-flex":e.enableLegacyInput&&(Q.value||l.value.length)}])},[A.createElementVNode("button",{type:"button",class:A.normalizeClass(["btn btn-primary",`theme--${e.variant}`]),onClick:A.withModifiers(F,["prevent"])},[e.enableButtonIcons?(A.openBlock(),A.createBlock(A.unref(h.SvgIcon),{key:0,symbol:"camera"})):A.createCommentVNode("",!0),A.createTextVNode(" "+A.toDisplayString(e.enableButtonCaptions?Q.value?f.value.cancel||r.$t("common.cancel"):f.value.camera||r.$t("fileInput.selectCameraCta"):""),1)],2),Q.value&&(!r.$refs.upload||u.value.active)?(A.openBlock(),A.createBlock(A.unref(h.BaseButton),{key:0,type:"button",class:A.normalizeClass(["btn btn-primary",`theme--${e.variant}`]),onClick:A.withModifiers($,["prevent"]),disabled:v.value},{default:A.withCtx(()=>[e.enableButtonIcons?(A.openBlock(),A.createBlock(A.unref(h.SvgIcon),{key:0,symbol:"camera"})):A.createCommentVNode("",!0),A.createTextVNode(" "+A.toDisplayString(e.enableButtonCaptions?f.value.shoot||r.$t("fileInput.shoot"):""),1)]),_:1},8,["class","disabled"])):A.createCommentVNode("",!0),A.createVNode(A.unref(h.InputFile),{ref_key:"upload",ref:u,"model-value":l.value,id:"fileUpload","onUpdate:modelValue":K,name:"fileUpload"},{default:A.withCtx(()=>[A.renderSlot(r.$slots,"label",{},()=>[A.createElementVNode("label",{for:"fileUpload",type:"button",class:A.normalizeClass(["btn btn-primary",`theme--${e.variant}`])},[e.enableButtonIcons?(A.openBlock(),A.createBlock(A.unref(h.SvgIcon),{key:0,symbol:"camera"})):A.createCommentVNode("",!0)],2)])]),_:3},8,["model-value"])],2),[[A.vShow,e.enableLegacyInput&&(Q.value||l.value.length)]]),e.required?(A.openBlock(),A.createElementBlock("input",{key:1,ref:"hiddenInput",required:e.required,value:k.value,style:{display:"none"}},null,8,UA)):A.createCommentVNode("",!0)])])])],512),[[A.vShow,Q.value||l.value.length]])],2))}});function R(e){return new Promise((s,o)=>{e.oncomplete=e.onsuccess=()=>s(e.result),e.onabort=e.onerror=()=>o(e.error)})}function LA(e,s){const o=indexedDB.open(e);o.onupgradeneeded=()=>o.result.createObjectStore(s);const i=R(o);return(d,n)=>i.then(m=>n(m.transaction(s,d).objectStore(s)))}let J;function X(){return J||(J=LA("keyval-store","keyval")),J}function FA(e,s=X()){return s("readonly",o=>R(o.get(e)))}function HA(e,s,o=X()){return o("readwrite",i=>(i.put(s,e),R(i.transaction)))}function xA(e,s=X()){return s("readwrite",o=>(o.delete(e),R(o.transaction)))}const zA="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",YA="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",RA={class:"fabric-canvas__canvas"},_A={id:"fabricCanvas",ref:"canvasRef"},tA=A.defineComponent({__name:"fabric-canvas",props:{modelValue:{type:String,default:""},jsonModel:{type:null,default:void 0},exportToSvg:{type:Boolean,default:!1},resetState:{type:Boolean,default:!1},options:{type:Object,default:()=>({})},feature:{type:String,default:""},required:{type:Boolean,default:!1},pending:{type:Boolean,default:!1},emitPending:{type:Boolean,default:!1},animationDuration:{type:Number,default:0}},emits:["update:modelValue","update:jsonModel","update:pending","on-ready"],setup(e,{expose:s,emit:o}){let i,d,n,m,c,y,B,E;const f=o;s({setBackgroundImage:_,setOverlayImage:F,addCanvasObject:K});const b=e,l=A.ref(),u=A.ref(0),D=A.ref(0);let g,U=!1;const Q=A.ref();async function H(t,a){return new Promise(async C=>{const S=JSON.parse(a);if(S.backgroundImage){const V=await k(S.backgroundImage.src||S.backgroundImage.filename);V.set({opacity:1}),t.backgroundImage=V,t.centerObject(V)}if(S.overlayImage){const V=await k(S.overlayImage.src||S.overlayImage.filename);V.set({opacity:1,left:u.value/2,top:D.value/2,scaleX:u.value/V.width,scaleY:D.value/V.height}),t.overlayImage=V}(await m.enlivenObjects(S.objects,{reviver:void 0})).forEach(V=>{t.add(V)}),C(t)})}async function k(t){const a=await T(t);t.includes("data:image")||(a.filename=t);const C=m.findScaleToCover(a,g),S=a instanceof d;return a.set({left:0,top:0,opacity:S&&b.animationDuration>0?0:1,scaleX:C,scaleY:C,src:t}),a}async function v(t){!(t instanceof d)||b.animationDuration===0||(b.emitPending&&f("update:pending",!0),await new Promise(C=>{const S=b.animationDuration,z=Date.now(),V=()=>{const Y=Date.now()-z,L=Math.min(Y/S,1);t.set("opacity",L),g.renderAll(),L<1?requestAnimationFrame(V):(b.emitPending&&f("update:pending",!1),C())};requestAnimationFrame(V)}))}function x(t){const a=m.findScaleToCover(t,g);return t.set({scaleX:a,scaleY:a}),t}async function _(t){const a=await k(t.src);g.backgroundImage=a,g.centerObject(a),g.renderAll(),await v(a),I()}async function Z(t){const a=await k(t.src);a.selectable=!1,a.assetType="foreground",g.add(a),g.centerObject(a),g.renderAll(),await v(a),I()}async function F(t){const a=await k(t.src);a.set({left:u.value/2,top:D.value/2,scaleX:u.value/a.width,scaleY:D.value/a.height}),g.overlayImage=a,g.renderAll(),await v(a),I()}async function K(t){g.discardActiveObject();const a=await T(t.src);a.filename=t.src;const C=u.value/3,S=D.value/3,z=C/a.width,V=S/a.height,Y=Math.min(z,V);a.set({scaleX:Y,scaleY:Y,left:u.value/2,top:D.value/2}),a.id=t.id,a.padding=8,g.add(a),g.setActiveObject(a),await v(a),g.renderAll()}function G(t,a){a.target.id;const C=a.target;return g.remove(C),g.requestRenderAll(),!0}function q(){if(u.value=l.value.offsetWidth,D.value=l.value.offsetHeight,g.setDimensions({width:u.value,height:D.value}),g.backgroundImage&&(g.backgroundImage=x(g.backgroundImage),g.centerObject(g.backgroundImage)),g.overlayImage){const t=g.overlayImage;t.set({scaleX:u.value/t.width,scaleY:D.value/t.height})}g.getObjects().forEach(t=>{t.assetType==="foreground"&&(t=x(t),g.centerObject(t))}),g.renderAll()}const $=oA.debounce(()=>{q()},200,{trailing:!0,leading:!1});function r(t){return(a,C,S,z,V)=>{a.save(),a.translate(C,S),a.rotate(m.degreesToRadians(V.angle)),a.fillStyle=b.options.themeData?.colors?.primary,a.fillRect(-24/2,-24/2,24,24);const L=20;a.drawImage(t,-L/2,-L/2,L,L),a.restore()}}function p(){const t=document.createElement("img");t.src=zA;const a=document.createElement("img");a.src=YA,g.on("object:added",C=>{C.target&&C.target.controls&&(C.target.set({transparentCorners:!1,cornerSize:16,cornerStyle:"circle",...b.options.themeData?.colors?.primary?{cornerColor:b.options.themeData?.colors?.primary,cornerStrokeColor:b.options.themeData?.colors?.primary,borderColor:b.options.themeData?.colors?.primary}:{}}),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 n({x:.5,y:-.5,offsetX:32,offsetY:0,cursorStyle:"pointer",actionName:"rotate",actionHandler:E.rotationWithSnapping,cursorStyleHandler:E.rotationStyleHandler,render:r(t)}),C.target.controls.delete=new n({x:.5,y:-.5,offsetX:32,offsetY:32,cursorStyle:"pointer",mouseUpHandler:G,render:r(a)}))})}async function w(){return await new Promise(t=>{setTimeout(()=>{const a=b.exportToSvg?g.toSVG():g.toDataURL({multiplier:2});t(a)},200)})}function I(){setTimeout(async()=>{const t=g.toDatalessJSON(["selectable","assetType","filename"]);await HA("fabric-canvas",JSON.stringify(t));let a=!0;if(b.required)switch(a=!1,b.feature){case"overlay":t.overlayImage&&(a=!0);break;case"background":t.backgroundImage&&(a=!0);break;case"stickers":t.objects.length>1&&(a=!0);break;default:(t.objects.length>1||t.backgroundImage||t.overlayImage)&&(a=!0)}if(a){U=!0;const C=await w();f("update:modelValue",C),f("update:jsonModel",t)}},120)}async function N(t){try{return await d.fromURL(t)}catch(a){throw console.error("Error loading image:",a),a}}async function O(t){const{objects:a,options:C}=await c(t);return m.groupSVGElements(a,C)}async function j(t){const{objects:a,options:C}=await y(t);return m.groupSVGElements(a,C)}async function T(t){return t&&typeof t=="string"&&t.trim().startsWith("<")?await j(t):t&&new RegExp(/([\w_/-]*\.svg$)|(image\/svg\+xml)/gi).test(t)?await O(t):await N(t)}async function P(t,a){t&&!a&&!U&&Z({src:t})}return A.watch(()=>b.modelValue,async(t,a)=>{P(t,a)}),A.onMounted(async()=>{({Canvas:i,FabricImage:d,Control:n,util:m,loadSVGFromURL:c,loadSVGFromString:y,config:B,controlsUtils:E}=await import("fabric")),u.value=l.value.offsetWidth,D.value=l.value.offsetHeight,window.addEventListener("resize",$),B.NUM_FRACTION_DIGITS=8;const t=i.prototype._onTouchStart;i.prototype._onTouchStart=function(a){const C=this.findTarget(a);this.allowTouchScrolling&&C.assetType&&!this.isDrawingMode||t.call(this,a)},g=new i("fabricCanvas",{width:u.value,height:D.value,skipOffscreen:!0,allowTouchScrolling:!0}),b.resetState&&await xA("fabric-canvas"),Q.value=await FA("fabric-canvas"),Q.value?(await H(g,Q.value),g.requestRenderAll(),requestAnimationFrame(()=>{g.renderAll()})):b.modelValue&&P(b.modelValue,""),g.on("object:added",I),g.on("object:removed",I),g.on("object:modified",I),p(),g.renderAll(),f("on-ready",g)}),(t,a)=>(A.openBlock(),A.createElementBlock("div",{class:"fabric-canvas",ref_key:"root",ref:l},[A.createElementVNode("div",RA,[A.createElementVNode("canvas",_A,null,512)]),A.renderSlot(t.$slots,"default")],512))}}),GA={class:"creative-booth"},$A={class:"media-container"},WA=["innerHTML"],JA={class:"creative-booth__thumbnails"},XA=[{type:"background",thumbnail:"/themes/corp/backgrounds/corporate-your-background-1024x1024.jpg",src:"/themes/corp/backgrounds/corporate-your-background-1024x1024.jpg",mediaType:"image",filters:["asset-01","asset-02"]},{type:"background",thumbnail:"/themes/corp/backgrounds/corp-background-09-white.jpg",src:"/themes/corp/backgrounds/corp-background-09-white.jpg",mediaType:"image",filters:["asset-01","asset-02"]},{type:"overlay",src:"/themes/corp/overlays/corporate-your-overlay-1024x1024.png",mediaType:"image",filters:["asset-01"]},{type:"overlay",src:"/themes/corp/overlays/corp-overlay-02-white.png",mediaType:"image",filters:["asset-01"]},{type:"object",src:"/themes/corp/stickers/corporate-your-sticker-512x512.svg",mediaType:"svg",filters:["asset-02"]},{type:"object",src:"/themes/corp/stickers/corp-sticker-01.svg",mediaType:"svg"},{type:"object",src:"/themes/corp/stickers/corp-sticker-02.svg",mediaType:"svg",filters:["asset-01","asset-02"]}],ZA=A.defineComponent({__name:"creative-booth",props:{modelValue:{default:null},jsonModel:{type:null,default:void 0},config:{type:Object,default:null},feature:{type:String,default:""},required:{type:Boolean,default:!1},variant:{type:String,default:"light"},messages:{type:Object,default:{}},assets:{type:Array,default:()=>XA},assetFilters:{type:Array,default:()=>[]},exportToSvg:{type:Boolean,default:!1},resetState:{type:Boolean,default:!1},ratio:{type:String,default:"4x3"},themeData:{type:Object,default:()=>({})},autoSelect:Number,ready:{type:Boolean,default:!1},pending:{type:Boolean,default:!1},emitPending:{type:Boolean,default:!1},animationDuration:{type:Number,default:320}},emits:["update:modelValue","update:jsonModel","update:ready","update:pending"],setup(e,{emit:s}){const o=e,i=s,d=A.ref(),n=A.ref(),m=A.ref(!1),c=A.computed(()=>o.assetFilters&&o.assetFilters.length>0?o.assets.filter(l=>!l.filters||l.filters.length==0||o.assetFilters.some(u=>l.filters.includes(u))):o.assets),y=A.computed({get(){return o.modelValue},set(l){i("update:modelValue",l)}}),B=A.computed({get(){return o.jsonModel},set(l){i("update:jsonModel",l)}}),E=A.computed({get(){return o.pending},set(l){o.ready&&i("update:pending",l)}});A.watch(n,async(l,u)=>{l&&l!==u&&i("update:modelValue",l)},{deep:!0});function f(l){if(typeof l<"u"){const u=c.value[l];switch(u.type){case"background":d.value?.setBackgroundImage(u);break;case"overlay":d.value.setOverlayImage(u);break;default:d.value.addCanvasObject(u)}}}const b=(async()=>{if(m.value=!0,o.autoSelect!==void 0){const l=o.autoSelect>=0?o.autoSelect:Math.floor(Math.random()*c.value.length);f(l)}i("update:ready",!0)});return(l,u)=>(A.openBlock(),A.createElementBlock("div",GA,[A.createElementVNode("div",$A,[A.createVNode(tA,{modelValue:y.value,"onUpdate:modelValue":u[0]||(u[0]=D=>y.value=D),"json-model":B.value,"onUpdate:jsonModel":u[1]||(u[1]=D=>B.value=D),pending:E.value,"onUpdate:pending":u[2]||(u[2]=D=>E.value=D),ref_key:"canvas",ref:d,"reset-state":e.resetState,options:{themeData:e.themeData},feature:e.feature,required:e.required,class:A.normalizeClass(`${e.ratio?`aspect-ratio aspect-ratio--${e.ratio}`:""}`),onOnReady:b,"emit-pending":e.emitPending,"animation-duration":e.animationDuration},null,8,["modelValue","json-model","pending","reset-state","options","feature","required","class","emit-pending","animation-duration"])]),e.messages.headline?(A.openBlock(),A.createElementBlock("p",{key:0,class:"headline",innerHTML:e.messages.headline},null,8,WA)):A.createCommentVNode("",!0),A.createElementVNode("div",JA,[m.value?(A.openBlock(),A.createBlock(A.unref(h.MediaThumbnails),{key:0,assets:c.value,onSelect:f},null,8,["assets"])):A.createCommentVNode("",!0)])]))}}),KA={class:"face-swap"},qA={class:"position-relative"},Ae=["innerHTML"],ee={class:"face-swap__thumbnails"},te=[{type:"target",thumbnail:"/faceswap/robotroll._avengers_black_widow_fbe3e886-525d-4c8b-b46c-b32856fae2bf.png",src:"/faceswap/robotroll._avengers_black_widow_fbe3e886-525d-4c8b-b46c-b32856fae2bf.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._batmans_joker_04afa7d0-430d-43f2-a7ce-815c6875a793.png",src:"/faceswap/robotroll._batmans_joker_04afa7d0-430d-43f2-a7ce-815c6875a793.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._catwoman_922f1bfa-9197-4e9a-aaeb-bce5d413a9b9.png",src:"/faceswap/robotroll._catwoman_922f1bfa-9197-4e9a-aaeb-bce5d413a9b9.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._christian_bale_as_american_psycho_abe2d5ab-58e8-4f21-94f9-b2b117af3d89.png",src:"/faceswap/robotroll._christian_bale_as_american_psycho_abe2d5ab-58e8-4f21-94f9-b2b117af3d89.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._dirty_harry_7ce45595-edba-4ef8-a513-39b179d94f57.png",src:"/faceswap/robotroll._dirty_harry_7ce45595-edba-4ef8-a513-39b179d94f57.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._evil_santa_claus_pointing_a_double_barrel_shotgun_at_bf603686-4980-449b-ad88-e8f362850aab.png",src:"/faceswap/robotroll._evil_santa_claus_pointing_a_double_barrel_shotgun_at_bf603686-4980-449b-ad88-e8f362850aab.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._homer_simpson_as_real_person_b14628bf-5a5a-45fe-b35a-e56960de4ad4.png",src:"/faceswap/robotroll._homer_simpson_as_real_person_b14628bf-5a5a-45fe-b35a-e56960de4ad4.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._james_bond_caa0af54-16b2-4d15-9e4d-45cc395c021b.png",src:"/faceswap/robotroll._james_bond_caa0af54-16b2-4d15-9e4d-45cc395c021b.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._neil_gaimans_sandman_d3ca51cd-2ef8-46d5-b1db-1474789783a4.png",src:"/faceswap/robotroll._neil_gaimans_sandman_d3ca51cd-2ef8-46d5-b1db-1474789783a4.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._pennywise_3f4c5997-9fd2-43e0-ab9b-17384fb58da9.png",src:"/faceswap/robotroll._pennywise_3f4c5997-9fd2-43e0-ab9b-17384fb58da9.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._queen_of_hearts_8de84ac6-3f61-4981-ac92-c63d90d63890.png",src:"/faceswap/robotroll._queen_of_hearts_8de84ac6-3f61-4981-ac92-c63d90d63890.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._red_dead_redemptions_arthur_morgan_portrait_36f8a066-6c2b-4a23-9c5e-a2a3964b0d3b.png",src:"/faceswap/robotroll._red_dead_redemptions_arthur_morgan_portrait_36f8a066-6c2b-4a23-9c5e-a2a3964b0d3b.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._thanos_38adb80e-08ac-49d4-95e0-d4d11cb5a11d.png",src:"/faceswap/robotroll._thanos_38adb80e-08ac-49d4-95e0-d4d11cb5a11d.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._the_godfather_062db832-61ce-4d18-a09d-045cadd4e281.png",src:"/faceswap/robotroll._the_godfather_062db832-61ce-4d18-a09d-045cadd4e281.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._wolverine_3f9cece6-e490-4be8-a5f9-d6e6abf0440f.png",src:"/faceswap/robotroll._wolverine_3f9cece6-e490-4be8-a5f9-d6e6abf0440f.png",mediaType:"image",filters:[]}],ae=A.defineComponent({__name:"face-swap",props:{modelValue:{default:null},config:{type:Object,default:null},variant:{type:String,default:"light"},messages:{type:Object,default:{}},assets:{type:Array,default:()=>te},resetState:{type:Boolean,default:!1},ratio:{type:String,default:"4x3"},endpoint:{type:String,default:"/faceswap-json"},autoSelect:Number},emits:["update:modelValue"],setup(e,{emit:s}){const o=e,i=s,d=A.ref(),n=A.ref(),m=A.ref(),c=A.ref(!1);A.computed({get(){return o.modelValue},set(f){i("update:modelValue",f)}});const y=A.computed(()=>m.value||d.value&&d.value.src||n.value);A.watch(m,async(f,b)=>{f&&f!==b&&i("update:modelValue",f)},{deep:!0});function B(f){if(typeof f<"u"){const b=o.assets[f];d.value=b,m.value=null}}async function E(){const f=await nA(d.value.src),l={dataUrl:o.modelValue,targetDataUrl:f};c.value=!0;const u=eA;m.value=await u.processImage(o.endpoint,l,""),c.value=!1}return A.onBeforeMount(()=>{n.value=o.modelValue}),(f,b)=>(A.openBlock(),A.createElementBlock("div",KA,[A.createElementVNode("div",qA,[A.createElementVNode("div",{class:A.normalizeClass(["media-container",`${e.ratio?`ratio ratio-${e.ratio}`:""}`])},[A.createVNode(A.Transition,{name:"fade",mode:"out-in"},{default:A.withCtx(()=>[(A.openBlock(),A.createElementBlock("div",{key:y.value},[A.createVNode(A.unref(h.BaseImage),{src:y.value},null,8,["src"])]))]),_:1})],2),d.value?(A.openBlock(),A.createElementBlock("button",{key:0,type:"button",class:"btn face-swap__swap-face",onClick:E},[n.value&&!m.value&&!c.value?(A.openBlock(),A.createBlock(A.unref(h.BaseImage),{key:0,src:n.value,class:"img-thumbnail"},null,8,["src"])):A.createCommentVNode("",!0)])):A.createCommentVNode("",!0),c.value?(A.openBlock(),A.createBlock(A.unref(h.LoadingSpinner),{key:1})):A.createCommentVNode("",!0)]),e.messages.headline?(A.openBlock(),A.createElementBlock("p",{key:0,class:"headline",innerHTML:e.messages.headline},null,8,Ae)):A.createCommentVNode("",!0),A.createElementVNode("div",ee,[A.createVNode(A.unref(h.MediaThumbnails),{assets:e.assets,onSelect:B},null,8,["assets"])])]))}}),oe=["innerHTML"],ne=A.defineComponent({__name:"svg-canvas",props:{modelValue:{default:'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>',type:String},scale:{type:Number,default:1},fillColor:String,groupedFill:Boolean},emits:["update:modelValue"],setup(e,{emit:s}){const o=e,i=s,d=A.ref();function n(m){const c=m.target;if(!c.closest(".read-only")){if(o.groupedFill&&o.fillColor){const b=c.closest("[data-group-class]").dataset.groupClass,l=c.closest("svg")?.querySelectorAll(`.${b}`);l&&Array.from(l).forEach(u=>{u.setAttribute("fill",o.fillColor),u.setAttribute("fill-opacity","1")})}else o.fillColor&&(c.setAttribute("fill",o.fillColor),c.setAttribute("fill-opacity","1"));const E=c.closest(".svg-canvas").querySelector("svg").outerHTML;i("update:modelValue",E)}}return(m,c)=>(A.openBlock(),A.createElementBlock("div",{class:A.normalizeClass(["svg-canvas",`${e.scale>1?"overflow-scroll":""}`])},[A.createElementVNode("div",{ref_key:"svg",ref:d,class:"svg-wrapper",innerHTML:e.modelValue,style:A.normalizeStyle({transform:`scale(${e.scale})`}),onClick:c[0]||(c[0]=y=>n(y))},null,12,oe)],2))}}),le={class:"svg-editor"},re={class:"svg-editor__frame"},se=A.defineComponent({__name:"color-booth",props:{modelValue:String,name:String,src:String,required:Boolean,colors:Array,groupedFill:Boolean},emits:["update:modelValue"],setup(e,{emit:s}){const o=e,i=s,d=A.ref(""),n=A.ref(1),m=A.computed({get(){return o.modelValue},set(c){i("update:modelValue",c)}});return A.onBeforeMount(()=>{d.value=o.colors?.length?o.colors[0]:""}),(c,y)=>(A.openBlock(),A.createElementBlock("div",le,[A.createElementVNode("div",re,[A.createVNode(A.unref(h.TouchWrapper),{modelValue:n.value,"onUpdate:modelValue":y[1]||(y[1]=B=>n.value=B)},{default:A.withCtx(()=>[A.createVNode(ne,{modelValue:m.value,"onUpdate:modelValue":y[0]||(y[0]=B=>m.value=B),fillColor:d.value,scale:n.value,"grouped-fill":e.groupedFill},null,8,["modelValue","fillColor","scale","grouped-fill"])]),_:1},8,["modelValue"]),A.createVNode(A.unref(h.ColorPalette),{modelValue:d.value,"onUpdate:modelValue":y[2]||(y[2]=B=>d.value=B),colors:e.colors,class:"mt-2"},null,8,["modelValue","colors"])])]))}});M.ColorBooth=se,M.CreativeBooth=ZA,M.FabricCanvas=tA,M.FaceSwap=ae,M.PhotoApp=jA,Object.defineProperty(M,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(M,A){typeof exports=="object"&&typeof module<"u"?A(exports,require("vue"),require("ablok-components"),require("vue-i18n"),require("lodash")):typeof define=="function"&&define.amd?define(["exports","vue","ablok-components","vue-i18n","lodash"],A):(M=typeof globalThis<"u"?globalThis:M||self,A(M.AblokPhotobooth={},M.Vue,M.AblokComponents,M.VueI18n,M._))})(this,(function(M,A,h,aA,oA){"use strict";async function nA(e){let s=await fetch(e,{mode:"no-cors"}).then(o=>o.blob());return await new Promise(o=>{let i=new FileReader;i.onload=()=>o(i.result),i.readAsDataURL(s)})}async function W(e){return await new Promise(s=>{let o=new FileReader;o.onload=()=>s(o.result),o.readAsDataURL(e)})}function lA(e){return new Promise((s,o)=>{const i=new Image;i.onload=()=>s(i),i.onerror=o,i.src=e})}function rA(e,s=0,o=0){return new Promise((i,d)=>{const n=new Image;n.crossOrigin="anonymous",n.naturalWidth,n.naturalHeight,n.onload=()=>{const m=document.createElement("canvas"),c=m.getContext("2d");m.width=s,m.height=n.height*s/n.width,c.drawImage(n,0,0,m.width,m.height);const y=m.toDataURL();i(y)},n.src=e})}function AA(e,s=1){return new Promise((o,i)=>{const d=new Image;d.crossOrigin="anonymous",d.onload=()=>{const n=d.naturalWidth,m=d.naturalHeight,c=n/m;let y=n,B=m;c>s?y=m*s:c<s&&(B=n/s);const E=document.createElement("canvas");E.width=y,E.height=B,E.getContext("2d").drawImage(d,E.width/2-d.width/2,E.height/2-d.height/2),o(E.toDataURL())},d.src=e})}const sA=e=>{const s=new FileReader;return new Promise(o=>{s.onload=i=>{if(!i.target)return o(0);const d=i.target,n=new DataView(d.result);if(n.getUint16(0,!1)!=65496)return o(-2);const m=n.byteLength;let c=2;for(;c<m;){if(n.getUint16(c+2,!1)<=8)return o(-1);let y=n.getUint16(c,!1);if(c+=2,y==65505){if(n.getUint32(c+=2,!1)!=1165519206)return o(-1);let B=n.getUint16(c+=6,!1)==18761;c+=n.getUint32(c+4,B);let E=n.getUint16(c,B);c+=2;for(let f=0;f<E;f++)if(n.getUint16(c+f*12,B)==274)return o(n.getUint16(c+f*12+8,B))}else{if((y&65280)!=65280)break;c+=n.getUint16(c,!1)}}return o(-1)},s.readAsArrayBuffer(e)})};function iA(e){let s=0;switch(e){case 3:s=180;break;case 6:s=90;break;case 8:s=270;break;default:s=0}return s}async function cA(e){const s=await sA(e);return await iA(s)}async function dA(e,s){const o=await lA(e),i=document.createElement("canvas"),d=i.getContext("2d");return i.width=o.width,i.height=o.height,d.setTransform(1,0,0,1,i.width/2,i.height/2),d.rotate(s),d.drawImage(o,-o.width/2,-o.height/2),i.toDataURL()}const eA={processImage:async(e,s,o="/media")=>{const i=JSON.stringify({...s});return await(await fetch(e,{headers:{"Content-Type":"application/json"},method:"POST",body:i}).then(n=>n.json()).catch(n=>[n])).dataUrl}},gA="data:image/png;base64,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",fA={class:"photo-app__drop-target__canvas"},mA={class:"flex-grow-1 text-center"},uA=["innerHTML"],pA={class:"ml-2"},CA={key:0,class:"d-flex flex-column align-center justify-center"},bA={key:0},yA={class:"photo-app__errors mt-2"},wA={class:"error--text"},BA={key:1,class:"photo-app__file-list"},hA={class:"row"},IA={key:0},EA={key:1},DA={key:2},QA={key:3},kA={class:"photo-app__form-input text-center"},SA={class:"photo-app__controls"},VA={class:"row"},NA={class:"col col-12"},MA=["innerHTML"],vA={key:0,class:"d-flex justify-center col-8 mx-auto"},TA={class:"col"},PA={key:0,class:"col"},OA={key:1,class:"col"},UA=["required","value"],jA=A.defineComponent({__name:"photo-app",props:{modelValue:{type:String,default:""},enableDragDrop:{type:Boolean,default:!0},enableLocalFileUpload:{type:Boolean,default:!0},enableCamera:{type:Boolean,default:!0},enableSwitchCamera:{type:Boolean,default:!1},defaultRearCamera:{type:Boolean,default:!1},enableFileList:{type:Boolean,default:!1},enableTogglePlay:{type:Boolean,default:!1},enableButtonIcons:{type:Boolean,default:!1},enableButtonCaptions:{type:Boolean,default:!1},enableLegacyInput:{type:Boolean,default:!1},enableInstantUpload:{type:Boolean,default:!1},enableAutoSave:{type:Boolean,default:!1},enableMirrorCamera:{type:Boolean,default:!1},enableCropImage:{type:Boolean,default:!0},enableGuide:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!0},enableReview:{type:Boolean,default:!0},downScaleImages:{type:Boolean,default:!1},guideSrc:{type:String,default:gA},acceptButton:{type:Boolean,default:""},captureCountdown:{type:Number,default:3},backgroundColor:{type:String,default:""},color:{type:String,default:""},i18n:{},messages:{default:()=>({})},apiEndpoint:{type:String,default:""},apiEndpointSuffix:{type:String,default:""},required:{type:Boolean,default:!1},variant:{type:String,default:"light"},maxFileSize:{type:Number,default:1024*1024},fixedResolution:{type:Number,default:1024},ratio:{type:String,default:"3x4"},enableAudio:{type:Boolean,default:!1},enableSelectDevice:{type:Boolean,default:!1},enableProcessImage:{type:Boolean,default:!1},processImage:null,filter:String,tint:Object,resolutions:Object,zoom:Number,enableZoomSlider:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{emit:s}){const{tm:o}=aA.useI18n(),i=A.getCurrentInstance(),d=i&&i.appContext.config.globalProperties.$config,n=e,m=s,c=A.computed(()=>d.baseMediaPath),y=A.computed(()=>l.value&&l.value.length&&l.value.filter(r=>r.response&&Object.keys(r.response).length).length===l.value.length),B=A.computed(()=>{const r=l.value.find(p=>p.response&&p.response.path);return r&&r.response.path}),E=A.computed(()=>B.value?`${c.value}${B.value}`:""),f=A.computed(()=>({...n.i18n?n.i18n.messages:{},...n.messages}));A.computed(()=>!!(l.value&&l.value.length));const b=A.computed(()=>l.value.length?f.value.reviewTitle:f.value.captureTitle),l=A.ref([]),u=A.ref(),D=A.ref(),g=A.ref(),U=A.ref(!1),Q=A.ref(!1),H=A.ref(),k=A.ref(),v=A.ref(!1),z=A.ref("");A.watch(H,async(r,p)=>{if(r){const w=r.blob&&r.blob.type.split("/")[1],I=new File([r.blob],`${r.id}.${w}`),N=await cA(I),O=await W(I),j=await dA(O,N),P=await(await fetch(j)).blob();l.value.push(new File([P],`${r.id}.${w}`,{type:P.type})),v.value=!1,X()}},{deep:!0}),A.watch(l,async(r,p)=>{if(n.enableInstantUpload)r.find(w=>!w.response.path)&&(u.value.active=!0);else{const w=await Promise.all(r.map(async I=>{let N=await W(I);n.downScaleImages&&Number(n.maxFileSize)&&I.size>Number(n.maxFileSize)&&(N=await rA(N,800,800));const O=n.ratio.split("x");return await AA(N,Number(O[0])/Number(O[1]))}));k.value=w[0]}},{deep:!0}),A.watch(y,async(r,p)=>{r&&!p&&(k.value=n.enableInstantUpload?B.value:await AA(E.value))},{deep:!0}),A.watch(k,async(r,p)=>{n.enableAutoSave&&k!==p&&_()});function G(){k.value="",l.value=[]}function X(){Q.value=!1}function F(){G(),Q.value=!Q.value}async function K(r){if(!n.filter){l.value=r;return}const{applyFilterToImageBlob:p}=h.useCameraFilter({...n,tintColor:n.tint?.color,tintIntensity:n.tint?.intensity}),w=await Promise.all((r||[]).map(async I=>{const N=I?.file instanceof File?I.file:I instanceof File?I:null;if(!N)return I;const O=await W(N),j=await p(O),T=new File([j],N.name,{type:j.type||N.type,lastModified:N.lastModified});if(I?.file instanceof File){const P=window.URL||window.webkitURL;return{...I,file:T,size:T.size,type:T.type,name:T.name,blob:P&&P.createObjectURL?P.createObjectURL(T):I.blob}}return T}));l.value=w}const _=(async()=>{v.value=!0,n.enableProcessImage&&n.processImage&&(k.value=await n.processImage.reduce(async(r,p)=>{const w=await r;return await q(w,p)},Promise.resolve(k.value))),m("update:modelValue",k.value)}),q=(async(r,p)=>`${await eA.processImage(`${p.endpoint}${p.search?`?${p.search}`:""}`,{...p.body,dataUrl:r,resolution:n.fixedResolution},p.basePath)}`);function $(){v.value=!0,D.value?.onCapture()}return A.onMounted(()=>{["dragenter","dragover"].forEach(r=>{document.body.addEventListener(r,p=>{p.preventDefault(),U.value=!0},!1)}),["dragleave","drop"].forEach(r=>{g.value.addEventListener(r,p=>{p.preventDefault(),U.value=!1},!1)}),["drop"].forEach(r=>{g.value.addEventListener(r,p=>{p.preventDefault(),U.value=!1;const w=p.dataTransfer;(w&&Array.from(w.files||[]))?.forEach(N=>{l.value.push(N)})},!1)})}),(r,p)=>(A.openBlock(),A.createElementBlock("div",{class:A.normalizeClass(["photo-app",e.variant==="dark"&&"theme--dark"])},[e.enableCamera?(A.openBlock(),A.createElementBlock("div",{key:0,class:"photo-app__canvas media-container",style:A.normalizeStyle({color:e.color,backgroundColor:e.backgroundColor})},[Q.value?(A.openBlock(),A.createElementBlock("div",{key:0,class:A.normalizeClass(["photo-app__camera",`${e.ratio?`aspect-ratio--${e.ratio}`:""}`]),style:A.normalizeStyle({borderColor:e.color})},[A.createVNode(A.unref(h.BaseCamera),{ref_key:"camera",ref:D,modelValue:H.value,"onUpdate:modelValue":p[0]||(p[0]=w=>H.value=w),"enable-toggle-play":e.enableTogglePlay,countdown:e.captureCountdown,"enable-mirror-camera":e.enableMirrorCamera,"enable-switch-camera":e.enableSwitchCamera,"default-rear-camera":e.defaultRearCamera,"enable-guide":e.enableGuide,"guide-src":e.guideSrc,"fixed-resolution":e.fixedResolution,"enable-audio":e.enableAudio,"enable-select-device":e.enableSelectDevice,"enable-crop-image":e.enableCropImage,onOnStopped:F,"text-color":e.color,ratio:e.ratio,resolutions:e.resolutions,filter:e.filter,"tint-color":e.tint?.color,"tint-intensity":e.tint?.intensity,zoom:e.zoom,"enable-zoom-slider":e.enableZoomSlider},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","zoom","enable-zoom-slider"])],6)):A.createCommentVNode("",!0),l.value&&l.value.length&&!Q.value?(A.openBlock(),A.createElementBlock("div",{key:1,class:"photo-app__preview",style:A.normalizeStyle({borderColor:e.color})},[k.value?(A.openBlock(),A.createBlock(A.unref(h.BaseImage),{key:0,src:E.value||k.value},null,8,["src"])):A.createCommentVNode("",!0),A.createVNode(A.Transition,{name:"fade",mode:"out-in"},{default:A.withCtx(()=>[v.value?(A.openBlock(),A.createBlock(A.unref(h.LoadingSpinner),{key:0})):A.createCommentVNode("",!0)]),_:1})],4)):Q.value?A.createCommentVNode("",!0):(A.openBlock(),A.createElementBlock("div",{key:2,class:A.normalizeClass(["photo-app__drop-target",`${e.ratio?`aspect-ratio--${e.ratio}`:""}`]),style:A.normalizeStyle({borderColor:e.color})},[A.createElementVNode("div",fA,[A.createElementVNode("div",mA,[A.createElementVNode("p",{class:"headline h2 font-weight-bold",innerHTML:f.value.title||r.$t("fileInput.coverTitle")},null,8,uA),e.enableCamera?(A.openBlock(),A.createBlock(A.unref(h.BaseButton),{key:0,type:"button",onClick:A.withModifiers(F,["prevent"]),style:A.normalizeStyle({color:e.color}),icon:"camera",class:"rounded-pill"},{default:A.withCtx(()=>[A.createVNode(A.unref(h.SvgIcon),{symbol:"camera"}),A.createElementVNode("span",pA,A.toDisplayString(f.value.launchCamera||r.$t("fileInput.coverLaunchCta")),1)]),_:1},8,["style"])):A.createCommentVNode("",!0)]),e.enableLocalFileUpload?(A.openBlock(),A.createElementBlock("div",CA,[A.createElementVNode("p",{class:"subtitle fw-bold ma-0",style:A.normalizeStyle({color:e.color})},A.toDisplayString(f.value.localFileTitle||r.$t("fileInput.coverLocalSelectTitle")),5),A.createElementVNode("p",{class:"text-body-1",style:A.normalizeStyle({color:e.color})},[e.enableDragDrop?(A.openBlock(),A.createElementBlock("span",bA,A.toDisplayString(f.value.dropTarget||r.$t("fileInput.coverDropTarget"))+" "+A.toDisplayString(e.enableLocalFileUpload&&e.enableDragDrop?f.value.or||r.$t("common.or"):"")+" "+A.toDisplayString(),1)):A.createCommentVNode("",!0),A.createElementVNode("label",{for:"fileUpload",role:"button",class:"d-inline link",style:A.normalizeStyle({color:e.color})},A.toDisplayString(f.value.coverSelectFileCta||r.$t("fileInput.coverLocalFileCta")),5)],4)])):A.createCommentVNode("",!0)])],6))],4)):A.createCommentVNode("",!0),A.withDirectives(A.createElementVNode("div",{class:"photo-app__drop-overlay",ref_key:"dropArea",ref:g},[A.createElementVNode("h3",null,A.toDisplayString(f.value.dropTarget||r.$t("fileInput.dropTargetLabel")),1)],512),[[A.vShow,e.enableLocalFileUpload&&e.enableDragDrop&&U.value]]),A.withDirectives(A.createElementVNode("div",yA,[A.createElementVNode("p",wA,A.toDisplayString(z.value),1)],512),[[A.vShow,z.value]]),e.enableFileList&&l.value.length?(A.openBlock(),A.createElementBlock("div",BA,[A.createElementVNode("div",hA,[(A.openBlock(!0),A.createElementBlock(A.Fragment,null,A.renderList(l.value,w=>(A.openBlock(),A.createElementBlock("div",{key:w.id,class:"col col-12"},[A.createElementVNode("span",null,A.toDisplayString(w.name),1),p[2]||(p[2]=A.createTextVNode(" - ",-1)),A.createElementVNode("span",null,A.toDisplayString(w.size),1),p[3]||(p[3]=A.createTextVNode(" - ",-1)),w.error?(A.openBlock(),A.createElementBlock("span",IA,A.toDisplayString(w.error),1)):w.success?(A.openBlock(),A.createElementBlock("span",EA,A.toDisplayString(r.$t("common.success")),1)):w.active?(A.openBlock(),A.createElementBlock("span",DA,A.toDisplayString(r.$t("common.active")),1)):(A.openBlock(),A.createElementBlock("span",QA))]))),128))])])):A.createCommentVNode("",!0),A.withDirectives(A.createElementVNode("div",kA,[A.createElementVNode("div",SA,[A.createElementVNode("div",VA,[A.createElementVNode("div",NA,[A.renderSlot(r.$slots,"headline",{},()=>[e.enableTitle&&(Q.value||l.value.length)?(A.openBlock(),A.createElementBlock("p",{key:0,class:"headline",innerHTML:b.value},null,8,MA)):A.createCommentVNode("",!0)]),!e.enableLegacyInput&&(Q.value||l.value.length)?(A.openBlock(),A.createElementBlock("div",vA,[A.createElementVNode("div",TA,[Q.value||l.value.length&&(!u.value||!u.value.active)?(A.openBlock(),A.createBlock(A.unref(h.BaseButton),{key:0,type:"button",class:A.normalizeClass(["btn btn-primary-outline rounded-circle",`theme--${e.variant}`]),onClick:p[1]||(p[1]=A.withModifiers(w=>Q.value?F():G(),["prevent"]))},{default:A.withCtx(()=>[A.createVNode(A.unref(h.SvgIcon),{symbol:"x","base-path":A.unref(d).iconSprite,class:"primary"},null,8,["base-path"]),A.createTextVNode(" "+A.toDisplayString(e.enableButtonCaptions?f.value.cancel||r.$t("fileInput.cancel"):""),1)]),_:1},8,["class"])):A.createCommentVNode("",!0)]),Q.value?(A.openBlock(),A.createElementBlock("div",PA,[A.createVNode(A.unref(h.BaseButton),{type:"button",class:A.normalizeClass(["btn btn-primary rounded-circle",`theme--${e.variant}`]),onClick:A.withModifiers($,["prevent"]),disabled:v.value},{default:A.withCtx(()=>[A.createVNode(A.unref(h.SvgIcon),{symbol:"camera","base-path":A.unref(d).iconSprite},null,8,["base-path"]),A.createTextVNode(" "+A.toDisplayString(e.enableButtonCaptions?f.value.shoot||r.$t("fileInput.shoot"):""),1)]),_:1},8,["class","disabled"])])):e.enableReview?(A.openBlock(),A.createElementBlock("div",OA,[A.createVNode(A.unref(h.BaseButton),{type:"button",class:A.normalizeClass(["btn btn-primary rounded-circle",{[`theme--${e.variant}`]:e.variant,"btn-success":v.value}]),onClick:A.withModifiers(_,["prevent"]),disabled:v.value},{default:A.withCtx(()=>[A.createVNode(A.unref(h.SvgIcon),{symbol:"check"}),A.createTextVNode(" "+A.toDisplayString(e.enableButtonCaptions?f.value.accept||r.$t("common.accept"):""),1)]),_:1},8,["class","disabled"])])):A.createCommentVNode("",!0)])):A.createCommentVNode("",!0),A.withDirectives(A.createElementVNode("div",{class:A.normalizeClass(["justify-center col-10 mx-auto",{"d-flex":e.enableLegacyInput&&(Q.value||l.value.length)}])},[A.createElementVNode("button",{type:"button",class:A.normalizeClass(["btn btn-primary",`theme--${e.variant}`]),onClick:A.withModifiers(F,["prevent"])},[e.enableButtonIcons?(A.openBlock(),A.createBlock(A.unref(h.SvgIcon),{key:0,symbol:"camera"})):A.createCommentVNode("",!0),A.createTextVNode(" "+A.toDisplayString(e.enableButtonCaptions?Q.value?f.value.cancel||r.$t("common.cancel"):f.value.camera||r.$t("fileInput.selectCameraCta"):""),1)],2),Q.value&&(!r.$refs.upload||u.value.active)?(A.openBlock(),A.createBlock(A.unref(h.BaseButton),{key:0,type:"button",class:A.normalizeClass(["btn btn-primary",`theme--${e.variant}`]),onClick:A.withModifiers($,["prevent"]),disabled:v.value},{default:A.withCtx(()=>[e.enableButtonIcons?(A.openBlock(),A.createBlock(A.unref(h.SvgIcon),{key:0,symbol:"camera"})):A.createCommentVNode("",!0),A.createTextVNode(" "+A.toDisplayString(e.enableButtonCaptions?f.value.shoot||r.$t("fileInput.shoot"):""),1)]),_:1},8,["class","disabled"])):A.createCommentVNode("",!0),A.createVNode(A.unref(h.InputFile),{ref_key:"upload",ref:u,"model-value":l.value,id:"fileUpload","onUpdate:modelValue":K,name:"fileUpload"},{default:A.withCtx(()=>[A.renderSlot(r.$slots,"label",{},()=>[A.createElementVNode("label",{for:"fileUpload",type:"button",class:A.normalizeClass(["btn btn-primary",`theme--${e.variant}`])},[e.enableButtonIcons?(A.openBlock(),A.createBlock(A.unref(h.SvgIcon),{key:0,symbol:"camera"})):A.createCommentVNode("",!0)],2)])]),_:3},8,["model-value"])],2),[[A.vShow,e.enableLegacyInput&&(Q.value||l.value.length)]]),e.required?(A.openBlock(),A.createElementBlock("input",{key:1,ref:"hiddenInput",required:e.required,value:k.value,style:{display:"none"}},null,8,UA)):A.createCommentVNode("",!0)])])])],512),[[A.vShow,Q.value||l.value.length]])],2))}});function R(e){return new Promise((s,o)=>{e.oncomplete=e.onsuccess=()=>s(e.result),e.onabort=e.onerror=()=>o(e.error)})}function LA(e,s){const o=indexedDB.open(e);o.onupgradeneeded=()=>o.result.createObjectStore(s);const i=R(o);return(d,n)=>i.then(m=>n(m.transaction(s,d).objectStore(s)))}let J;function Z(){return J||(J=LA("keyval-store","keyval")),J}function FA(e,s=Z()){return s("readonly",o=>R(o.get(e)))}function HA(e,s,o=Z()){return o("readwrite",i=>(i.put(s,e),R(i.transaction)))}function zA(e,s=Z()){return s("readwrite",o=>(o.delete(e),R(o.transaction)))}const xA="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",YA="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",RA={class:"fabric-canvas__canvas"},GA={id:"fabricCanvas",ref:"canvasRef"},tA=A.defineComponent({__name:"fabric-canvas",props:{modelValue:{type:String,default:""},jsonModel:{type:null,default:void 0},exportToSvg:{type:Boolean,default:!1},resetState:{type:Boolean,default:!1},options:{type:Object,default:()=>({})},feature:{type:String,default:""},required:{type:Boolean,default:!1},pending:{type:Boolean,default:!1},emitPending:{type:Boolean,default:!1},animationDuration:{type:Number,default:0}},emits:["update:modelValue","update:jsonModel","update:pending","on-ready"],setup(e,{expose:s,emit:o}){let i,d,n,m,c,y,B,E;const f=o;s({setBackgroundImage:G,setOverlayImage:F,addCanvasObject:K});const b=e,l=A.ref(),u=A.ref(0),D=A.ref(0);let g,U=!1;const Q=A.ref();async function H(t,a){return new Promise(async C=>{const S=JSON.parse(a);if(S.backgroundImage){const V=await k(S.backgroundImage.src||S.backgroundImage.filename);V.set({opacity:1}),t.backgroundImage=V,t.centerObject(V)}if(S.overlayImage){const V=await k(S.overlayImage.src||S.overlayImage.filename);V.set({opacity:1,left:u.value/2,top:D.value/2,scaleX:u.value/V.width,scaleY:D.value/V.height}),t.overlayImage=V}(await m.enlivenObjects(S.objects,{reviver:void 0})).forEach(V=>{t.add(V)}),C(t)})}async function k(t){const a=await T(t);t.includes("data:image")||(a.filename=t);const C=m.findScaleToCover(a,g),S=a instanceof d;return a.set({left:0,top:0,opacity:S&&b.animationDuration>0?0:1,scaleX:C,scaleY:C,src:t}),a}async function v(t){!(t instanceof d)||b.animationDuration===0||(b.emitPending&&f("update:pending",!0),await new Promise(C=>{const S=b.animationDuration,x=Date.now(),V=()=>{const Y=Date.now()-x,L=Math.min(Y/S,1);t.set("opacity",L),g.renderAll(),L<1?requestAnimationFrame(V):(b.emitPending&&f("update:pending",!1),C())};requestAnimationFrame(V)}))}function z(t){const a=m.findScaleToCover(t,g);return t.set({scaleX:a,scaleY:a}),t}async function G(t){const a=await k(t.src);g.backgroundImage=a,g.centerObject(a),g.renderAll(),await v(a),I()}async function X(t){const a=await k(t.src);a.selectable=!1,a.assetType="foreground",g.add(a),g.centerObject(a),g.renderAll(),await v(a),I()}async function F(t){const a=await k(t.src);a.set({left:u.value/2,top:D.value/2,scaleX:u.value/a.width,scaleY:D.value/a.height}),g.overlayImage=a,g.renderAll(),await v(a),I()}async function K(t){g.discardActiveObject();const a=await T(t.src);a.filename=t.src;const C=u.value/3,S=D.value/3,x=C/a.width,V=S/a.height,Y=Math.min(x,V);a.set({scaleX:Y,scaleY:Y,left:u.value/2,top:D.value/2}),a.id=t.id,a.padding=8,g.add(a),g.setActiveObject(a),await v(a),g.renderAll()}function _(t,a){a.target.id;const C=a.target;return g.remove(C),g.requestRenderAll(),!0}function q(){if(u.value=l.value.offsetWidth,D.value=l.value.offsetHeight,g.setDimensions({width:u.value,height:D.value}),g.backgroundImage&&(g.backgroundImage=z(g.backgroundImage),g.centerObject(g.backgroundImage)),g.overlayImage){const t=g.overlayImage;t.set({scaleX:u.value/t.width,scaleY:D.value/t.height})}g.getObjects().forEach(t=>{t.assetType==="foreground"&&(t=z(t),g.centerObject(t))}),g.renderAll()}const $=oA.debounce(()=>{q()},200,{trailing:!0,leading:!1});function r(t){return(a,C,S,x,V)=>{a.save(),a.translate(C,S),a.rotate(m.degreesToRadians(V.angle)),a.fillStyle=b.options.themeData?.colors?.primary,a.fillRect(-24/2,-24/2,24,24);const L=20;a.drawImage(t,-L/2,-L/2,L,L),a.restore()}}function p(){const t=document.createElement("img");t.src=xA;const a=document.createElement("img");a.src=YA,g.on("object:added",C=>{C.target&&C.target.controls&&(C.target.set({transparentCorners:!1,cornerSize:16,cornerStyle:"circle",...b.options.themeData?.colors?.primary?{cornerColor:b.options.themeData?.colors?.primary,cornerStrokeColor:b.options.themeData?.colors?.primary,borderColor:b.options.themeData?.colors?.primary}:{}}),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 n({x:.5,y:-.5,offsetX:32,offsetY:0,cursorStyle:"pointer",actionName:"rotate",actionHandler:E.rotationWithSnapping,cursorStyleHandler:E.rotationStyleHandler,render:r(t)}),C.target.controls.delete=new n({x:.5,y:-.5,offsetX:32,offsetY:32,cursorStyle:"pointer",mouseUpHandler:_,render:r(a)}))})}async function w(){return await new Promise(t=>{setTimeout(()=>{const a=b.exportToSvg?g.toSVG():g.toDataURL({multiplier:2});t(a)},200)})}function I(){setTimeout(async()=>{const t=g.toDatalessJSON(["selectable","assetType","filename"]);await HA("fabric-canvas",JSON.stringify(t));let a=!0;if(b.required)switch(a=!1,b.feature){case"overlay":t.overlayImage&&(a=!0);break;case"background":t.backgroundImage&&(a=!0);break;case"stickers":t.objects.length>1&&(a=!0);break;default:(t.objects.length>1||t.backgroundImage||t.overlayImage)&&(a=!0)}if(a){U=!0;const C=await w();f("update:modelValue",C),f("update:jsonModel",t)}},120)}async function N(t){try{return await d.fromURL(t)}catch(a){throw console.error("Error loading image:",a),a}}async function O(t){const{objects:a,options:C}=await c(t);return m.groupSVGElements(a,C)}async function j(t){const{objects:a,options:C}=await y(t);return m.groupSVGElements(a,C)}async function T(t){return t&&typeof t=="string"&&t.trim().startsWith("<")?await j(t):t&&new RegExp(/([\w_/-]*\.svg$)|(image\/svg\+xml)/gi).test(t)?await O(t):await N(t)}async function P(t,a){t&&!a&&!U&&X({src:t})}return A.watch(()=>b.modelValue,async(t,a)=>{P(t,a)}),A.onMounted(async()=>{({Canvas:i,FabricImage:d,Control:n,util:m,loadSVGFromURL:c,loadSVGFromString:y,config:B,controlsUtils:E}=await import("fabric")),u.value=l.value.offsetWidth,D.value=l.value.offsetHeight,window.addEventListener("resize",$),B.NUM_FRACTION_DIGITS=8;const t=i.prototype._onTouchStart;i.prototype._onTouchStart=function(a){const C=this.findTarget(a);this.allowTouchScrolling&&C.assetType&&!this.isDrawingMode||t.call(this,a)},g=new i("fabricCanvas",{width:u.value,height:D.value,skipOffscreen:!0,allowTouchScrolling:!0}),b.resetState&&await zA("fabric-canvas"),Q.value=await FA("fabric-canvas"),Q.value?(await H(g,Q.value),g.requestRenderAll(),requestAnimationFrame(()=>{g.renderAll()})):b.modelValue&&P(b.modelValue,""),g.on("object:added",I),g.on("object:removed",I),g.on("object:modified",I),p(),g.renderAll(),f("on-ready",g)}),(t,a)=>(A.openBlock(),A.createElementBlock("div",{class:"fabric-canvas",ref_key:"root",ref:l},[A.createElementVNode("div",RA,[A.createElementVNode("canvas",GA,null,512)]),A.renderSlot(t.$slots,"default")],512))}}),_A={class:"creative-booth"},$A={class:"media-container"},WA=["innerHTML"],JA={class:"creative-booth__thumbnails"},ZA=[{type:"background",thumbnail:"/themes/corp/backgrounds/corporate-your-background-1024x1024.jpg",src:"/themes/corp/backgrounds/corporate-your-background-1024x1024.jpg",mediaType:"image",filters:["asset-01","asset-02"]},{type:"background",thumbnail:"/themes/corp/backgrounds/corp-background-09-white.jpg",src:"/themes/corp/backgrounds/corp-background-09-white.jpg",mediaType:"image",filters:["asset-01","asset-02"]},{type:"overlay",src:"/themes/corp/overlays/corporate-your-overlay-1024x1024.png",mediaType:"image",filters:["asset-01"]},{type:"overlay",src:"/themes/corp/overlays/corp-overlay-02-white.png",mediaType:"image",filters:["asset-01"]},{type:"object",src:"/themes/corp/stickers/corporate-your-sticker-512x512.svg",mediaType:"svg",filters:["asset-02"]},{type:"object",src:"/themes/corp/stickers/corp-sticker-01.svg",mediaType:"svg"},{type:"object",src:"/themes/corp/stickers/corp-sticker-02.svg",mediaType:"svg",filters:["asset-01","asset-02"]}],XA=A.defineComponent({__name:"creative-booth",props:{modelValue:{default:null},jsonModel:{type:null,default:void 0},config:{type:Object,default:null},feature:{type:String,default:""},required:{type:Boolean,default:!1},variant:{type:String,default:"light"},messages:{type:Object,default:{}},assets:{type:Array,default:()=>ZA},assetFilters:{type:Array,default:()=>[]},exportToSvg:{type:Boolean,default:!1},resetState:{type:Boolean,default:!1},ratio:{type:String,default:"4x3"},themeData:{type:Object,default:()=>({})},autoSelect:Number,ready:{type:Boolean,default:!1},pending:{type:Boolean,default:!1},emitPending:{type:Boolean,default:!1},animationDuration:{type:Number,default:320}},emits:["update:modelValue","update:jsonModel","update:ready","update:pending"],setup(e,{emit:s}){const o=e,i=s,d=A.ref(),n=A.ref(),m=A.ref(!1),c=A.computed(()=>o.assetFilters&&o.assetFilters.length>0?o.assets.filter(l=>!l.filters||l.filters.length==0||o.assetFilters.some(u=>l.filters.includes(u))):o.assets),y=A.computed({get(){return o.modelValue},set(l){i("update:modelValue",l)}}),B=A.computed({get(){return o.jsonModel},set(l){i("update:jsonModel",l)}}),E=A.computed({get(){return o.pending},set(l){o.ready&&i("update:pending",l)}});A.watch(n,async(l,u)=>{l&&l!==u&&i("update:modelValue",l)},{deep:!0});function f(l){if(typeof l<"u"){const u=c.value[l];switch(u.type){case"background":d.value?.setBackgroundImage(u);break;case"overlay":d.value.setOverlayImage(u);break;default:d.value.addCanvasObject(u)}}}const b=(async()=>{if(m.value=!0,o.autoSelect!==void 0){const l=o.autoSelect>=0?o.autoSelect:Math.floor(Math.random()*c.value.length);f(l)}i("update:ready",!0)});return(l,u)=>(A.openBlock(),A.createElementBlock("div",_A,[A.createElementVNode("div",$A,[A.createVNode(tA,{modelValue:y.value,"onUpdate:modelValue":u[0]||(u[0]=D=>y.value=D),"json-model":B.value,"onUpdate:jsonModel":u[1]||(u[1]=D=>B.value=D),pending:E.value,"onUpdate:pending":u[2]||(u[2]=D=>E.value=D),ref_key:"canvas",ref:d,"reset-state":e.resetState,options:{themeData:e.themeData},feature:e.feature,required:e.required,class:A.normalizeClass(`${e.ratio?`aspect-ratio aspect-ratio--${e.ratio}`:""}`),onOnReady:b,"emit-pending":e.emitPending,"animation-duration":e.animationDuration},null,8,["modelValue","json-model","pending","reset-state","options","feature","required","class","emit-pending","animation-duration"])]),e.messages.headline?(A.openBlock(),A.createElementBlock("p",{key:0,class:"headline",innerHTML:e.messages.headline},null,8,WA)):A.createCommentVNode("",!0),A.createElementVNode("div",JA,[m.value?(A.openBlock(),A.createBlock(A.unref(h.MediaThumbnails),{key:0,assets:c.value,onSelect:f},null,8,["assets"])):A.createCommentVNode("",!0)])]))}}),KA={class:"face-swap"},qA={class:"position-relative"},Ae=["innerHTML"],ee={class:"face-swap__thumbnails"},te=[{type:"target",thumbnail:"/faceswap/robotroll._avengers_black_widow_fbe3e886-525d-4c8b-b46c-b32856fae2bf.png",src:"/faceswap/robotroll._avengers_black_widow_fbe3e886-525d-4c8b-b46c-b32856fae2bf.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._batmans_joker_04afa7d0-430d-43f2-a7ce-815c6875a793.png",src:"/faceswap/robotroll._batmans_joker_04afa7d0-430d-43f2-a7ce-815c6875a793.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._catwoman_922f1bfa-9197-4e9a-aaeb-bce5d413a9b9.png",src:"/faceswap/robotroll._catwoman_922f1bfa-9197-4e9a-aaeb-bce5d413a9b9.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._christian_bale_as_american_psycho_abe2d5ab-58e8-4f21-94f9-b2b117af3d89.png",src:"/faceswap/robotroll._christian_bale_as_american_psycho_abe2d5ab-58e8-4f21-94f9-b2b117af3d89.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._dirty_harry_7ce45595-edba-4ef8-a513-39b179d94f57.png",src:"/faceswap/robotroll._dirty_harry_7ce45595-edba-4ef8-a513-39b179d94f57.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._evil_santa_claus_pointing_a_double_barrel_shotgun_at_bf603686-4980-449b-ad88-e8f362850aab.png",src:"/faceswap/robotroll._evil_santa_claus_pointing_a_double_barrel_shotgun_at_bf603686-4980-449b-ad88-e8f362850aab.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._homer_simpson_as_real_person_b14628bf-5a5a-45fe-b35a-e56960de4ad4.png",src:"/faceswap/robotroll._homer_simpson_as_real_person_b14628bf-5a5a-45fe-b35a-e56960de4ad4.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._james_bond_caa0af54-16b2-4d15-9e4d-45cc395c021b.png",src:"/faceswap/robotroll._james_bond_caa0af54-16b2-4d15-9e4d-45cc395c021b.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._neil_gaimans_sandman_d3ca51cd-2ef8-46d5-b1db-1474789783a4.png",src:"/faceswap/robotroll._neil_gaimans_sandman_d3ca51cd-2ef8-46d5-b1db-1474789783a4.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._pennywise_3f4c5997-9fd2-43e0-ab9b-17384fb58da9.png",src:"/faceswap/robotroll._pennywise_3f4c5997-9fd2-43e0-ab9b-17384fb58da9.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._queen_of_hearts_8de84ac6-3f61-4981-ac92-c63d90d63890.png",src:"/faceswap/robotroll._queen_of_hearts_8de84ac6-3f61-4981-ac92-c63d90d63890.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._red_dead_redemptions_arthur_morgan_portrait_36f8a066-6c2b-4a23-9c5e-a2a3964b0d3b.png",src:"/faceswap/robotroll._red_dead_redemptions_arthur_morgan_portrait_36f8a066-6c2b-4a23-9c5e-a2a3964b0d3b.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._thanos_38adb80e-08ac-49d4-95e0-d4d11cb5a11d.png",src:"/faceswap/robotroll._thanos_38adb80e-08ac-49d4-95e0-d4d11cb5a11d.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._the_godfather_062db832-61ce-4d18-a09d-045cadd4e281.png",src:"/faceswap/robotroll._the_godfather_062db832-61ce-4d18-a09d-045cadd4e281.png",mediaType:"image",filters:[]},{type:"target",thumbnail:"/faceswap/robotroll._wolverine_3f9cece6-e490-4be8-a5f9-d6e6abf0440f.png",src:"/faceswap/robotroll._wolverine_3f9cece6-e490-4be8-a5f9-d6e6abf0440f.png",mediaType:"image",filters:[]}],ae=A.defineComponent({__name:"face-swap",props:{modelValue:{default:null},config:{type:Object,default:null},variant:{type:String,default:"light"},messages:{type:Object,default:{}},assets:{type:Array,default:()=>te},resetState:{type:Boolean,default:!1},ratio:{type:String,default:"4x3"},endpoint:{type:String,default:"/faceswap-json"},autoSelect:Number},emits:["update:modelValue"],setup(e,{emit:s}){const o=e,i=s,d=A.ref(),n=A.ref(),m=A.ref(),c=A.ref(!1);A.computed({get(){return o.modelValue},set(f){i("update:modelValue",f)}});const y=A.computed(()=>m.value||d.value&&d.value.src||n.value);A.watch(m,async(f,b)=>{f&&f!==b&&i("update:modelValue",f)},{deep:!0});function B(f){if(typeof f<"u"){const b=o.assets[f];d.value=b,m.value=null}}async function E(){const f=await nA(d.value.src),l={dataUrl:o.modelValue,targetDataUrl:f};c.value=!0;const u=eA;m.value=await u.processImage(o.endpoint,l,""),c.value=!1}return A.onBeforeMount(()=>{n.value=o.modelValue}),(f,b)=>(A.openBlock(),A.createElementBlock("div",KA,[A.createElementVNode("div",qA,[A.createElementVNode("div",{class:A.normalizeClass(["media-container",`${e.ratio?`ratio ratio-${e.ratio}`:""}`])},[A.createVNode(A.Transition,{name:"fade",mode:"out-in"},{default:A.withCtx(()=>[(A.openBlock(),A.createElementBlock("div",{key:y.value},[A.createVNode(A.unref(h.BaseImage),{src:y.value},null,8,["src"])]))]),_:1})],2),d.value?(A.openBlock(),A.createElementBlock("button",{key:0,type:"button",class:"btn face-swap__swap-face",onClick:E},[n.value&&!m.value&&!c.value?(A.openBlock(),A.createBlock(A.unref(h.BaseImage),{key:0,src:n.value,class:"img-thumbnail"},null,8,["src"])):A.createCommentVNode("",!0)])):A.createCommentVNode("",!0),c.value?(A.openBlock(),A.createBlock(A.unref(h.LoadingSpinner),{key:1})):A.createCommentVNode("",!0)]),e.messages.headline?(A.openBlock(),A.createElementBlock("p",{key:0,class:"headline",innerHTML:e.messages.headline},null,8,Ae)):A.createCommentVNode("",!0),A.createElementVNode("div",ee,[A.createVNode(A.unref(h.MediaThumbnails),{assets:e.assets,onSelect:B},null,8,["assets"])])]))}}),oe=["innerHTML"],ne=A.defineComponent({__name:"svg-canvas",props:{modelValue:{default:'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>',type:String},scale:{type:Number,default:1},fillColor:String,groupedFill:Boolean},emits:["update:modelValue"],setup(e,{emit:s}){const o=e,i=s,d=A.ref();function n(m){const c=m.target;if(!c.closest(".read-only")){if(o.groupedFill&&o.fillColor){const b=c.closest("[data-group-class]").dataset.groupClass,l=c.closest("svg")?.querySelectorAll(`.${b}`);l&&Array.from(l).forEach(u=>{u.setAttribute("fill",o.fillColor),u.setAttribute("fill-opacity","1")})}else o.fillColor&&(c.setAttribute("fill",o.fillColor),c.setAttribute("fill-opacity","1"));const E=c.closest(".svg-canvas").querySelector("svg").outerHTML;i("update:modelValue",E)}}return(m,c)=>(A.openBlock(),A.createElementBlock("div",{class:A.normalizeClass(["svg-canvas",`${e.scale>1?"overflow-scroll":""}`])},[A.createElementVNode("div",{ref_key:"svg",ref:d,class:"svg-wrapper",innerHTML:e.modelValue,style:A.normalizeStyle({transform:`scale(${e.scale})`}),onClick:c[0]||(c[0]=y=>n(y))},null,12,oe)],2))}}),le={class:"svg-editor"},re={class:"svg-editor__frame"},se=A.defineComponent({__name:"color-booth",props:{modelValue:String,name:String,src:String,required:Boolean,colors:Array,groupedFill:Boolean},emits:["update:modelValue"],setup(e,{emit:s}){const o=e,i=s,d=A.ref(""),n=A.ref(1),m=A.computed({get(){return o.modelValue},set(c){i("update:modelValue",c)}});return A.onBeforeMount(()=>{d.value=o.colors?.length?o.colors[0]:""}),(c,y)=>(A.openBlock(),A.createElementBlock("div",le,[A.createElementVNode("div",re,[A.createVNode(A.unref(h.TouchWrapper),{modelValue:n.value,"onUpdate:modelValue":y[1]||(y[1]=B=>n.value=B)},{default:A.withCtx(()=>[A.createVNode(ne,{modelValue:m.value,"onUpdate:modelValue":y[0]||(y[0]=B=>m.value=B),fillColor:d.value,scale:n.value,"grouped-fill":e.groupedFill},null,8,["modelValue","fillColor","scale","grouped-fill"])]),_:1},8,["modelValue"]),A.createVNode(A.unref(h.ColorPalette),{modelValue:d.value,"onUpdate:modelValue":y[2]||(y[2]=B=>d.value=B),colors:e.colors,class:"mt-2"},null,8,["modelValue","colors"])])]))}});M.ColorBooth=se,M.CreativeBooth=XA,M.FabricCanvas=tA,M.FaceSwap=ae,M.PhotoApp=jA,Object.defineProperty(M,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ablok-photobooth",
3
3
  "private": false,
4
- "version": "0.2.31",
4
+ "version": "0.2.33",
5
5
  "scripts": {
6
6
  "dev": "vite --host",
7
7
  "build": "vue-tsc --noEmit && vite build",
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "@popperjs/core": "^2.11.6",
20
- "ablok-components": "^0.3.43",
20
+ "ablok-components": "^0.3.44",
21
21
  "bootstrap": "^5.3.8",
22
22
  "fabric": "^7.1.0",
23
23
  "lodash": "^4.17.23",