ablok-components 0.3.120 → 0.3.121

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.
@@ -5,25 +5,25 @@ import r from "../input-dropdown/input-dropdown.js";
5
5
  import { useCameraFilter as i } from "../../../composables/useCameraFilter.js";
6
6
  import a from "../../atoms/zoom-slider/zoom-slider.js";
7
7
  import o from "../../../assets/img/guide.js";
8
- import { computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createVNode as f, defineComponent as p, nextTick as ee, normalizeClass as m, normalizeStyle as h, onBeforeUnmount as te, onMounted as ne, openBlock as g, ref as _, toDisplayString as v, vShow as re, watch as ie, withCtx as ae, withDirectives as oe, withModifiers as se } from "vue";
9
- import ce from "lodash";
8
+ import { computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createVNode as f, defineComponent as p, nextTick as ee, normalizeClass as m, normalizeStyle as te, onBeforeUnmount as ne, onMounted as re, openBlock as h, ref as g, toDisplayString as _, vShow as ie, watch as ae, withCtx as oe, withDirectives as se, withModifiers as ce } from "vue";
9
+ import le from "lodash";
10
10
  //#region src/components/molecules/base-camera/base-camera.vue?vue&type=script&async=true&setup=true&lang.ts
11
- var le = { class: "camera__preview" }, ue = {
11
+ var ue = { class: "camera__preview" }, de = {
12
12
  key: 0,
13
13
  class: "camera__bg-notification"
14
- }, de = ["innerHTML"], fe = ["width", "height"], pe = {
14
+ }, fe = ["innerHTML"], pe = ["width", "height"], me = {
15
15
  key: 1,
16
16
  class: "camera__countdown-overlay"
17
- }, me = ["innerHTML", "data-countdown"], he = ["src"], ge = {
17
+ }, he = ["innerHTML", "data-countdown"], ge = ["src"], _e = {
18
18
  key: 3,
19
19
  class: "camera__zoom-slider"
20
- }, _e = { class: "camera__controls" }, ve = { class: "container" }, ye = { class: "row" }, be = { class: "col" }, xe = { class: "btn-group" }, Se = { key: 0 }, Ce = { key: 1 }, we = {
20
+ }, ve = { class: "camera__controls" }, ye = { class: "container" }, be = { class: "row" }, xe = { class: "col" }, Se = { class: "btn-group" }, Ce = { key: 0 }, we = { key: 1 }, Te = {
21
21
  key: 0,
22
22
  class: "camera__select-device"
23
- }, Te = { class: "col" }, Ee = { class: "" }, De = {
23
+ }, Ee = { class: "col" }, De = { class: "" }, Oe = {
24
24
  name: "BaseCamera",
25
25
  inheritAttrs: !1
26
- }, Oe = {
26
+ }, ke = {
27
27
  "1x1": {
28
28
  width: 720,
29
29
  height: 720
@@ -60,8 +60,8 @@ var le = { class: "camera__preview" }, ue = {
60
60
  width: 720,
61
61
  height: 1280
62
62
  }
63
- }, ke = /*@__PURE__*/ p({
64
- ...De,
63
+ }, Ae = /*@__PURE__*/ p({
64
+ ...Oe,
65
65
  props: {
66
66
  modelValue: { type: null },
67
67
  enableSwitchCamera: {
@@ -123,7 +123,7 @@ var le = { class: "camera__preview" }, ue = {
123
123
  },
124
124
  resolutions: {
125
125
  type: Object,
126
- default: () => Oe
126
+ default: () => ke
127
127
  },
128
128
  zoom: {
129
129
  type: Number,
@@ -139,20 +139,20 @@ var le = { class: "camera__preview" }, ue = {
139
139
  }
140
140
  },
141
141
  emits: ["update:modelValue"],
142
- setup(o, { expose: p, emit: De }) {
143
- let { debounce: ke } = ce, y = o, Ae = De, b = _(), x = _(), je = _(!1), S = _([]), C = _(), w = _(), T = _(), E = _(), D = _(!1), O = _(!1), k = _(0), A = _(0), j = _(), M = _(y.zoom || 1), Me = _(!1), N = _(!1), P = _(null), F = _(!1), I, L, Ne = typeof window < "u" && "DeviceMotionEvent" in window && (window.matchMedia?.("(pointer: coarse)")?.matches || "ontouchstart" in window), Pe = s(() => y.correctOrientation && Ne), R = s(() => je.value && (!Pe.value || F.value));
144
- function z() {
145
- L &&= (window.removeEventListener("pointerdown", L, !0), window.removeEventListener("touchend", L, !0), void 0);
142
+ setup(o, { expose: p, emit: Oe }) {
143
+ let { debounce: Ae } = le, v = o, je = Oe, y = g(), b = g(), Me = g(!1), x = g([]), S = g(), C = g(), w = g(), T = g(), E = g(), D = g(!1), O = g(!1), k = g(0), A = g(0), j = g(), M = g(v.zoom || 1), Ne = g(!1), N = g(!1), P = g(null), Pe = g(!1), F, I, Fe = typeof window < "u" && "DeviceMotionEvent" in window && (window.matchMedia?.("(pointer: coarse)")?.matches || "ontouchstart" in window), Ie = s(() => v.correctOrientation && Fe), L = s(() => Me.value && (!Ie.value || Pe.value));
144
+ function R() {
145
+ I &&= (window.removeEventListener("pointerdown", I, !0), window.removeEventListener("touchend", I, !0), void 0);
146
146
  }
147
- function B() {
148
- F.value = !0, I &&= (clearTimeout(I), void 0), z();
147
+ function z() {
148
+ Pe.value = !0, F &&= (clearTimeout(F), void 0), R();
149
149
  }
150
- function Fe() {
151
- L || (L = () => {
152
- V();
153
- }, window.addEventListener("pointerdown", L, !0), window.addEventListener("touchend", L, !0));
150
+ function Le() {
151
+ I || (I = () => {
152
+ B();
153
+ }, window.addEventListener("pointerdown", I, !0), window.addEventListener("touchend", I, !0));
154
154
  }
155
- function Ie(e) {
155
+ function Re(e) {
156
156
  let t = e.accelerationIncludingGravity;
157
157
  if (!t || t.x == null || t.y == null) return;
158
158
  let n = Math.round(Math.atan2(t.x, t.y) * 180 / Math.PI);
@@ -161,91 +161,91 @@ var le = { class: "camera__preview" }, ue = {
161
161
  let e = Math.abs(Math.abs(n) - 90);
162
162
  !N.value && e < 40 ? N.value = !0 : N.value && e > 50 && (N.value = !1);
163
163
  }
164
- F.value || B();
164
+ Pe.value || z();
165
165
  }
166
- async function V() {
167
- if (!(!y.correctOrientation || Me.value)) try {
166
+ async function B() {
167
+ if (!(!v.correctOrientation || Ne.value)) try {
168
168
  let e = window.DeviceOrientationEvent, t = window.DeviceMotionEvent;
169
169
  if (e && typeof e.requestPermission == "function" && await e.requestPermission() !== "granted") {
170
- B();
170
+ z();
171
171
  return;
172
172
  }
173
- t && typeof t.requestPermission == "function" && await t.requestPermission().catch(() => {}), window.addEventListener("devicemotion", Ie, !0), Me.value = !0, z();
173
+ t && typeof t.requestPermission == "function" && await t.requestPermission().catch(() => {}), window.addEventListener("devicemotion", Re, !0), Ne.value = !0, R();
174
174
  } catch (e) {
175
- console.error(e, "enableMotion: failed"), B();
175
+ console.error(e, "enableMotion: failed"), z();
176
176
  }
177
177
  }
178
- let H = s(() => ({
179
- ...Oe,
180
- ...y.resolutions
181
- })), Le = s(() => Object.values(H.value)[0]);
182
- function Re(e) {
178
+ let V = s(() => ({
179
+ ...ke,
180
+ ...v.resolutions
181
+ })), ze = s(() => Object.values(V.value)[0]);
182
+ function Be(e) {
183
183
  return String(e || "").trim().toLowerCase().replace(/\s+/g, "").replace(/[:/]/g, "x");
184
184
  }
185
- let U = s(() => {
186
- if (H.value[y.ratio]) return y.ratio;
187
- let e = Re(y.ratio);
188
- if (H.value[e]) return e;
189
- }), W = s(() => U.value ? H.value[U.value] : Le.value), ze = s(() => {
190
- let e = U.value ? H.value[U.value] : void 0;
185
+ let H = s(() => {
186
+ if (V.value[v.ratio]) return v.ratio;
187
+ let e = Be(v.ratio);
188
+ if (V.value[e]) return e;
189
+ }), U = s(() => H.value ? V.value[H.value] : ze.value), Ve = s(() => {
190
+ let e = H.value ? V.value[H.value] : void 0;
191
191
  return e ? `${e.width} / ${e.height}` : void 0;
192
- }), G = s(() => S.value.filter((e) => e.kind === "videoinput")), Be = s(() => S.value.filter((e) => e.kind === "audioinput")), K = _([]), Ve = s(() => G.value.filter((e) => !K.value.includes(e.deviceId)));
193
- function He(e) {
194
- e && !K.value.includes(e) && (K.value = [...K.value, e]);
195
- }
192
+ }), W = s(() => x.value.filter((e) => e.kind === "videoinput")), He = s(() => x.value.filter((e) => e.kind === "audioinput")), G = g([]), K = s(() => W.value.filter((e) => !G.value.includes(e.deviceId)));
196
193
  function Ue(e) {
197
- let t = G.value;
194
+ e && !G.value.includes(e) && (G.value = [...G.value, e]);
195
+ }
196
+ function We(e) {
197
+ let t = W.value;
198
198
  if (!t.length) return;
199
199
  let n = t.findIndex((t) => t.deviceId === e);
200
200
  for (let e = 1; e <= t.length; e++) {
201
201
  let r = t[(Math.max(n, 0) + e) % t.length];
202
- if (r && !K.value.includes(r.deviceId)) return r;
202
+ if (r && !G.value.includes(r.deviceId)) return r;
203
203
  }
204
204
  }
205
- let We = s(() => Ve.value.map((e, t) => ({
205
+ let Ge = s(() => K.value.map((e, t) => ({
206
206
  text: e.label.slice(0, e.label.indexOf("(")) || `Camera ${t + 1}`,
207
207
  value: e.deviceId
208
- }))), Ge = s({
208
+ }))), Ke = s({
209
209
  get() {
210
- return C.value && C.value.deviceId;
210
+ return S.value && S.value.deviceId;
211
211
  },
212
212
  set(e) {
213
- C.value = G.value.find((t) => t.deviceId === e), T.value = void 0;
213
+ S.value = W.value.find((t) => t.deviceId === e), w.value = void 0;
214
214
  }
215
215
  });
216
216
  s({
217
217
  get() {
218
- return w.value && w.value.deviceId;
218
+ return C.value && C.value.deviceId;
219
219
  },
220
220
  set(e) {
221
- w.value = Be.value.find((t) => t.deviceId === e);
221
+ C.value = He.value.find((t) => t.deviceId === e);
222
222
  }
223
223
  });
224
- let q = s(() => y.enableMirrorCamera ? E.value ? E.value === "user" ? "mirror-cam" : "" : T.value ? T.value === "user" ? "mirror-cam" : "" : (C.value && G.value.findIndex((e) => e.deviceId === C.value?.deviceId)) === 0 ? "mirror-cam" : "" : ""), Ke = s(() => {
225
- let e = C.value && S.value.findIndex((e) => e.deviceId === C.value?.deviceId);
224
+ let q = s(() => v.enableMirrorCamera ? T.value ? T.value === "user" ? "mirror-cam" : "" : w.value ? w.value === "user" ? "mirror-cam" : "" : (S.value && W.value.findIndex((e) => e.deviceId === S.value?.deviceId)) === 0 ? "mirror-cam" : "" : ""), qe = s(() => {
225
+ let e = S.value && x.value.findIndex((e) => e.deviceId === S.value?.deviceId);
226
226
  return q.value ? `${q.value} mirror-device-${e}` : "";
227
- }), { tintRgb: qe, applyFilterToCanvas: Je } = i(y);
228
- function Ye() {
229
- if (U.value && W.value) {
230
- k.value = W.value.width, A.value = W.value.height;
227
+ }), { tintRgb: Je, applyFilterToCanvas: Ye } = i(v);
228
+ function Xe() {
229
+ if (H.value && U.value) {
230
+ k.value = U.value.width, A.value = U.value.height;
231
231
  return;
232
232
  }
233
- k.value = b.value.parentElement && b.value.parentElement.clientWidth, A.value = b.value.parentElement && b.value.parentElement.clientHeight;
233
+ k.value = y.value.parentElement && y.value.parentElement.clientWidth, A.value = y.value.parentElement && y.value.parentElement.clientHeight;
234
234
  }
235
- let Xe = ke(() => {
236
- Ye();
235
+ let Ze = Ae(() => {
236
+ Xe();
237
237
  }, 300, {
238
238
  trailing: !0,
239
239
  leading: !1
240
240
  });
241
- function Ze(e) {
241
+ function J(e) {
242
242
  return new Promise((t) => setTimeout(t, e));
243
243
  }
244
244
  async function Qe() {
245
- let e = W.value ? {
246
- width: W.value.width,
247
- height: W.value.height
248
- } : void 0, t = e ? Math.max(e.width, e.height) : void 0, n = e ? Math.min(e.width, e.height) : void 0, r = y.enableAudio && { ...w.value ? { deviceId: w.value.deviceId } : {} }, i = C.value && C.value.deviceId, a = T.value, o = [];
245
+ let e = U.value ? {
246
+ width: U.value.width,
247
+ height: U.value.height
248
+ } : void 0, t = e ? Math.max(e.width, e.height) : void 0, n = e ? Math.min(e.width, e.height) : void 0, r = v.enableAudio && { ...C.value ? { deviceId: C.value.deviceId } : {} }, i = S.value && S.value.deviceId, a = w.value, o = [];
249
249
  i ? (t && n && o.push({
250
250
  deviceId: { exact: i },
251
251
  width: { ideal: t },
@@ -269,233 +269,235 @@ var le = { class: "camera__preview" }, ue = {
269
269
  } catch (e) {
270
270
  let t = e && e.name;
271
271
  if (t === "NotReadableError" || t === "AbortError") {
272
- await Ze(500);
272
+ await J(500);
273
273
  continue;
274
274
  }
275
275
  break;
276
276
  }
277
277
  }
278
- function J() {
279
- b.value && b.value.srcObject && (b.value.srcObject.getTracks().forEach((e) => {
278
+ function Y() {
279
+ y.value && y.value.srcObject && (y.value.srcObject.getTracks().forEach((e) => {
280
280
  e.stop();
281
- }), b.value.srcObject = null);
281
+ }), y.value.srcObject = null);
282
282
  }
283
- let Y = 0, X, $e;
284
- function Z() {
285
- X &&= (clearTimeout(X), void 0), $e &&= ($e(), void 0);
283
+ let X = 0, Z, $e;
284
+ function Q() {
285
+ Z &&= (clearTimeout(Z), void 0), $e &&= ($e(), void 0);
286
286
  }
287
287
  function et(e) {
288
- He(e);
289
- let t = Ue(e);
290
- t && t.deviceId !== e && (C.value = t);
288
+ Ue(e);
289
+ let t = We(e);
290
+ t && t.deviceId !== e && (S.value = t);
291
291
  }
292
292
  function tt(e) {
293
- Z();
294
- let t = C.value && C.value.deviceId, n = b.value;
293
+ Q();
294
+ let t = S.value && S.value.deviceId, n = y.value;
295
295
  if (!t || !n) return;
296
296
  let r = n.srcObject && n.srcObject.getVideoTracks?.()[0];
297
297
  if (!r || typeof r.addEventListener != "function" || n.videoWidth > 0) return;
298
298
  let i = () => {
299
- if (Z(), e !== Y || !b.value) return;
300
- let n = Ue(t);
301
- n && n.deviceId !== t && (J(), et(t));
299
+ if (Q(), e !== X || !y.value) return;
300
+ let n = We(t);
301
+ n && n.deviceId !== t && (Y(), et(t));
302
302
  }, a = () => {
303
- e === Y && b.value && b.value.videoWidth > 0 && Z();
303
+ e === X && y.value && y.value.videoWidth > 0 && Q();
304
304
  }, o = () => {
305
305
  i();
306
306
  };
307
307
  r.addEventListener("unmute", a), r.addEventListener("ended", o), $e = () => {
308
308
  r.removeEventListener("unmute", a), r.removeEventListener("ended", o);
309
- }, X = setTimeout(() => {
310
- X = void 0, !(e !== Y || !b.value) && (b.value.videoWidth === 0 ? i() : Z());
309
+ }, Z = setTimeout(() => {
310
+ Z = void 0, !(e !== X || !y.value) && (y.value.videoWidth === 0 ? i() : Q());
311
311
  }, 8e3);
312
312
  }
313
313
  let nt = 0;
314
- async function Q() {
315
- let e = ++Y;
316
- Z();
317
- let t = !!(b.value && b.value.srcObject);
318
- if (J(), t && (await Ze(350), e !== Y)) return;
314
+ async function $() {
315
+ let e = ++X;
316
+ Q();
317
+ let t = !!(y.value && y.value.srcObject);
318
+ if (Y(), E.value = void 0, t && (await J(350), e !== X)) return;
319
319
  let n = await Qe();
320
- if (e !== Y) {
320
+ if (e !== X) {
321
321
  n?.getTracks?.().forEach((e) => e.stop());
322
322
  return;
323
323
  }
324
- if (n && b.value) {
325
- nt = 0, b.value.srcObject = n, E.value = n.getVideoTracks?.()[0]?.getSettings?.().facingMode, b.value.muted = !0;
324
+ if (n && y.value) {
325
+ nt = 0, y.value.srcObject = n;
326
+ let t = n.getVideoTracks?.()[0]?.getSettings?.();
327
+ T.value = t?.facingMode, E.value = t?.deviceId, y.value.muted = !0;
326
328
  try {
327
- await b.value.play?.();
329
+ await y.value.play?.();
328
330
  } catch {}
329
331
  tt(e);
330
- } else if (!n && C.value) {
331
- nt < 2 && (nt++, await Ze(600), e === Y && await Q());
332
+ } else if (!n && S.value) {
333
+ nt < 2 && (nt++, await J(600), e === X && await $());
332
334
  return;
333
335
  }
334
- return S.value = await navigator.mediaDevices.enumerateDevices(), {
335
- stream: b.value && b.value.srcObject,
336
- devices: S.value
336
+ return x.value = await navigator.mediaDevices.enumerateDevices(), {
337
+ stream: y.value && y.value.srcObject,
338
+ devices: x.value
337
339
  };
338
340
  }
339
341
  function rt() {
340
- D.value ? (D.value = !1, O.value = !1, J()) : (D.value = !0, Q());
342
+ D.value ? (D.value = !1, O.value = !1, Y()) : (D.value = !0, $());
341
343
  }
342
344
  function it() {
343
- C.value = void 0, T.value = T.value === "user" ? "environment" : "user", Q();
345
+ S.value = void 0, w.value = w.value === "user" ? "environment" : "user", $();
344
346
  }
345
347
  async function at(e, t) {
346
- e && (!t || e.deviceId !== t.deviceId) && await Q();
348
+ e && e.deviceId === E.value || e && (!t || e.deviceId !== t.deviceId) && await $();
347
349
  }
348
- ie(() => C.value, at), ie(() => w.value, at);
349
- function $() {
350
- y.countdown ? (j.value = j.value ? j.value - 1 : y.countdown, j.value ? setTimeout($, 1e3) : ct()) : ct();
350
+ ae(() => S.value, at), ae(() => C.value, at);
351
+ function ot() {
352
+ v.countdown ? (j.value = j.value ? j.value - 1 : v.countdown, j.value ? setTimeout(ot, 1e3) : lt()) : lt();
351
353
  }
352
354
  p({
353
- onCapture: $,
354
- enableMotion: V,
355
- camera: b.value,
355
+ onCapture: ot,
356
+ enableMotion: B,
357
+ camera: y.value,
356
358
  zoom: M
357
359
  });
358
- function ot() {
359
- if (!y.correctOrientation || P.value == null) return 0;
360
+ function st() {
361
+ if (!v.correctOrientation || P.value == null) return 0;
360
362
  let e = ((P.value - 180) % 360 + 360) % 360;
361
363
  return (-1 * (Math.round(e / 90) * 90 % 360) % 360 + 360) % 360;
362
364
  }
363
- function st(e, t, n, r, i) {
364
- let a = x.value.width, o = x.value.height;
365
+ function ct(e, t, n, r, i) {
366
+ let a = b.value.width, o = b.value.height;
365
367
  e.translate(a / 2, o / 2), q.value && e.scale(-1, 1), e.rotate(n * Math.PI / 180);
366
368
  let s = o, c = a, l = Math.max(s / r, c / i) * (M.value && M.value > 0 ? M.value : 1), u = r * l, d = i * l;
367
369
  e.drawImage(t, -u / 2, -d / 2, u, d);
368
370
  }
369
- function ct() {
371
+ function lt() {
370
372
  O.value = !0;
371
- let e = x.value.getContext("2d"), t = b.value, n = t && t.srcObject && t.srcObject.getTracks(), { aspectRatio: r, width: i, height: a } = n.length && n[0].getSettings(), o = t?.videoWidth || i || k.value, s = t?.videoHeight || a || A.value, c = o && s ? o / s : r, l = W.value || {
373
+ let e = b.value.getContext("2d"), t = y.value, n = t && t.srcObject && t.srcObject.getTracks(), { aspectRatio: r, width: i, height: a } = n.length && n[0].getSettings(), o = t?.videoWidth || i || k.value, s = t?.videoHeight || a || A.value, c = o && s ? o / s : r, l = U.value || {
372
374
  width: o,
373
375
  height: s
374
- }, u = l?.width || o, d = U.value ? l?.height || s : Math.round(u / c), f = u / d;
375
- if (x.value.width = u, x.value.height = d, !o || !s || !c) return;
376
- let p = ot();
376
+ }, u = l?.width || o, d = H.value ? l?.height || s : Math.round(u / c), f = u / d;
377
+ if (b.value.width = u, b.value.height = d, !o || !s || !c) return;
378
+ let p = st();
377
379
  if (e.save(), p === 90 || p === 270) {
378
- st(e, t, p, o, s), e.restore(), Je(e, x.value.width, x.value.height), lt(x.value.toDataURL("image/png"));
380
+ ct(e, t, p, o, s), e.restore(), Ye(e, b.value.width, b.value.height), ut(b.value.toDataURL("image/png"));
379
381
  return;
380
382
  }
381
- if (p === 180 && (e.translate(x.value.width, x.value.height), e.scale(-1, -1)), q.value && (e.translate(x.value.width, 0), e.scale(-1, 1)), y.enableCropImage) {
383
+ if (p === 180 && (e.translate(b.value.width, b.value.height), e.scale(-1, -1)), q.value && (e.translate(b.value.width, 0), e.scale(-1, 1)), v.enableCropImage) {
382
384
  let n = 0, r = 0, i = o, a = s;
383
385
  if (c > f ? (i = s * f, n = (o - i) / 2) : c < f && (a = o / f, r = (s - a) / 2), M.value && M.value !== 1) {
384
386
  let e = i / M.value, t = a / M.value;
385
387
  n += (i - e) / 2, r += (a - t) / 2, i = e, a = t;
386
388
  }
387
- e.drawImage(t, n, r, i, a, 0, 0, x.value.width, x.value.height);
389
+ e.drawImage(t, n, r, i, a, 0, 0, b.value.width, b.value.height);
388
390
  } else {
389
- let n = x.value.width, r = x.value.height, i = 0, a = 0;
390
- if (c > f ? (r = x.value.width / c, a = (x.value.height - r) / 2) : c < f && (n = x.value.height * c, i = (x.value.width - n) / 2), M.value && M.value !== 1) {
391
+ let n = b.value.width, r = b.value.height, i = 0, a = 0;
392
+ if (c > f ? (r = b.value.width / c, a = (b.value.height - r) / 2) : c < f && (n = b.value.height * c, i = (b.value.width - n) / 2), M.value && M.value !== 1) {
391
393
  let c = o / M.value, l = s / M.value, u = (o - c) / 2, d = (s - l) / 2;
392
- q.value && (i = x.value.width - i - n), e.drawImage(t, u, d, c, l, i, a, n, r);
393
- } else q.value && (i = x.value.width - i - n), e.drawImage(t, 0, 0, o, s, i, a, n, r);
394
+ q.value && (i = b.value.width - i - n), e.drawImage(t, u, d, c, l, i, a, n, r);
395
+ } else q.value && (i = b.value.width - i - n), e.drawImage(t, 0, 0, o, s, i, a, n, r);
394
396
  }
395
- e.restore(), Je(e, x.value.width, x.value.height), lt(x.value.toDataURL("image/png"));
397
+ e.restore(), Ye(e, b.value.width, b.value.height), ut(b.value.toDataURL("image/png"));
396
398
  }
397
- function lt(e) {
399
+ function ut(e) {
398
400
  let t = n(e);
399
- Ae("update:modelValue", {
401
+ je("update:modelValue", {
400
402
  name: `cam-pic-${(/* @__PURE__ */ new Date()).toISOString()}`,
401
403
  id: `cam-pic-${(/* @__PURE__ */ new Date()).toISOString()}`,
402
404
  blob: t,
403
405
  size: t.size
404
406
  });
405
407
  }
406
- return ne(async () => {
407
- await Q(), D.value = !0, T.value = y.defaultRearCamera ? "environment" : "user";
408
- let e = y.defaultRearCamera && G.value.length > 1 ? G.value[G.value.length - 1] : G.value[0];
409
- if (C.value = e, y.enableAudio && (w.value = Be.value[0]), navigator.mediaDevices.addEventListener("devicechange", async (e) => {
410
- await Q();
411
- }), window.addEventListener("resize", Xe), Ye(), Pe.value) {
412
- I = setTimeout(B, 3e3);
408
+ return re(async () => {
409
+ w.value = v.defaultRearCamera ? "environment" : "user", await $(), D.value = !0;
410
+ let e = W.value.find((e) => e.deviceId === E.value), t = v.defaultRearCamera && W.value.length > 1 ? W.value[W.value.length - 1] : e || W.value[0];
411
+ if (S.value = t, v.enableAudio && (C.value = He.value[0]), navigator.mediaDevices.addEventListener("devicechange", async (e) => {
412
+ await $();
413
+ }), window.addEventListener("resize", Ze), Xe(), Ie.value) {
414
+ F = setTimeout(z, 3e3);
413
415
  let e = window.DeviceOrientationEvent;
414
- e && typeof e.requestPermission == "function" ? Fe() : V();
416
+ e && typeof e.requestPermission == "function" ? Le() : B();
415
417
  }
416
- await ee(), je.value = !0;
417
- }), te(() => {
418
- D.value = !1, O.value = !1, Z(), J(), window.removeEventListener("resize", Xe), window.removeEventListener("devicemotion", Ie, !0), I && clearTimeout(I), z();
419
- }), (n, i) => (g(), u("div", { class: m(["camera", Ke.value]) }, [
420
- d("div", le, [
421
- R.value ? l("", !0) : (g(), u("div", ue, [f(t, { color: "#000" }, {
422
- default: ae(() => [d("span", {
418
+ await ee(), Me.value = !0;
419
+ }), ne(() => {
420
+ D.value = !1, O.value = !1, Q(), Y(), window.removeEventListener("resize", Ze), window.removeEventListener("devicemotion", Re, !0), F && clearTimeout(F), R();
421
+ }), (n, i) => (h(), u("div", { class: m(["camera", qe.value]) }, [
422
+ d("div", ue, [
423
+ L.value ? l("", !0) : (h(), u("div", de, [f(t, { color: "#000" }, {
424
+ default: oe(() => [d("span", {
423
425
  class: m("d-block text-center"),
424
426
  innerHTML: n.$t("camera.waitForCameraNotification")
425
- }, null, 8, de)]),
427
+ }, null, 8, fe)]),
426
428
  _: 1
427
429
  })])),
428
- oe(d("div", {
429
- class: m(["camera__video-wrapper", U.value ? `aspect-ratio--${U.value}` : ""]),
430
- style: h({
431
- aspectRatio: ze.value || void 0,
430
+ se(d("div", {
431
+ class: m(["camera__video-wrapper", H.value ? `aspect-ratio--${H.value}` : ""]),
432
+ style: te({
433
+ aspectRatio: Ve.value || void 0,
432
434
  transform: M.value === 1 ? void 0 : `scale(${M.value})`
433
435
  })
434
436
  }, [d("video", {
435
437
  ref_key: "camera",
436
- ref: b,
438
+ ref: y,
437
439
  class: "camera__video",
438
- style: h({
439
- filter: y.filter === "grayscale" ? "grayscale(100%)" : y.filter === "sepia" ? "sepia(100%)" : "none",
440
+ style: te({
441
+ filter: v.filter === "grayscale" ? "grayscale(100%)" : v.filter === "sepia" ? "sepia(100%)" : "none",
440
442
  transform: o.correctOrientation && N.value ? "rotate(180deg)" : void 0
441
443
  }),
442
444
  autoplay: "",
443
445
  muted: "",
444
446
  playsinline: ""
445
- }, null, 4), o.tintColor ? (g(), u("div", {
447
+ }, null, 4), o.tintColor ? (h(), u("div", {
446
448
  key: 0,
447
449
  class: "camera__tint-overlay",
448
- style: h({
450
+ style: te({
449
451
  backgroundColor: o.tintColor,
450
452
  opacity: o.tintIntensity,
451
453
  mixBlendMode: "multiply"
452
454
  })
453
- }, null, 4)) : l("", !0)], 6), [[re, R.value]]),
454
- oe(d("canvas", {
455
+ }, null, 4)) : l("", !0)], 6), [[ie, L.value]]),
456
+ se(d("canvas", {
455
457
  ref_key: "canvas",
456
- ref: x,
458
+ ref: b,
457
459
  class: "camera__canvas",
458
460
  width: k.value,
459
461
  height: A.value
460
- }, null, 8, fe), [[re, O.value]]),
461
- j.value ? (g(), u("div", pe, [(g(), u("p", {
462
+ }, null, 8, pe), [[ie, O.value]]),
463
+ j.value ? (h(), u("div", me, [(h(), u("p", {
462
464
  class: "countdown",
463
465
  key: j.value,
464
466
  innerHTML: j.value,
465
467
  "data-countdown": j.value
466
- }, null, 8, me))])) : l("", !0),
467
- o.enableGuide && D.value && R.value ? (g(), u("img", {
468
+ }, null, 8, he))])) : l("", !0),
469
+ o.enableGuide && D.value && L.value ? (h(), u("img", {
468
470
  key: 2,
469
471
  class: "camera__guide",
470
472
  src: o.guideSrc
471
- }, null, 8, he)) : l("", !0),
472
- o.enableZoomSlider ? (g(), u("div", ge, [f(a, {
473
+ }, null, 8, ge)) : l("", !0),
474
+ o.enableZoomSlider ? (h(), u("div", _e, [f(a, {
473
475
  modelValue: M.value,
474
476
  "onUpdate:modelValue": i[0] ||= (e) => M.value = e
475
477
  }, null, 8, ["modelValue"])])) : l("", !0)
476
478
  ]),
477
- d("div", _e, [d("div", ve, [d("div", ye, [d("div", be, [d("div", xe, [d("button", {
479
+ d("div", ve, [d("div", ye, [d("div", be, [d("div", xe, [d("div", Se, [d("button", {
478
480
  type: "button",
479
481
  class: "camera__toggle btn btn-primary",
480
482
  onClick: rt
481
- }, [D.value ? (g(), u("span", Ce, v(n.$t("common.pause")), 1)) : (g(), u("span", Se, v(n.$t("common.play")), 1))]), d("button", {
483
+ }, [D.value ? (h(), u("span", we, _(n.$t("common.pause")), 1)) : (h(), u("span", Ce, _(n.$t("common.play")), 1))]), d("button", {
482
484
  type: "button",
483
485
  class: "camera__capture btn btn-primary",
484
- onClick: $
485
- }, v(n.$t("camera.capture")), 1)])])])])]),
486
- (o.enableSwitchCamera || o.enableSelectDevice) && Ve.value && Ve.value.length > 1 ? (g(), u("div", we, [d("div", Te, [o.enableSelectDevice ? (g(), c(r, {
486
+ onClick: ot
487
+ }, _(n.$t("camera.capture")), 1)])])])])]),
488
+ (o.enableSwitchCamera || o.enableSelectDevice) && K.value && K.value.length > 1 ? (h(), u("div", Te, [d("div", Ee, [o.enableSelectDevice ? (h(), c(r, {
487
489
  key: 0,
488
- modelValue: Ge.value,
489
- "onUpdate:modelValue": i[1] ||= (e) => Ge.value = e,
490
- options: We.value,
490
+ modelValue: Ke.value,
491
+ "onUpdate:modelValue": i[1] ||= (e) => Ke.value = e,
492
+ options: Ge.value,
491
493
  class: "w-100"
492
- }, null, 8, ["modelValue", "options"])) : l("", !0)]), d("div", Ee, [o.enableSwitchCamera ? (g(), u("button", {
494
+ }, null, 8, ["modelValue", "options"])) : l("", !0)]), d("div", De, [o.enableSwitchCamera ? (h(), u("button", {
493
495
  key: 0,
494
496
  class: "btn",
495
- onClick: se(it, ["prevent"])
497
+ onClick: ce(it, ["prevent"])
496
498
  }, [f(e, { symbol: "switch-camera" })])) : l("", !0)])])) : l("", !0)
497
499
  ], 2));
498
500
  }
499
501
  });
500
502
  //#endregion
501
- export { ke as default };
503
+ export { Ae as default };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ablok-components",
3
3
  "private": false,
4
- "version": "0.3.120",
4
+ "version": "0.3.121",
5
5
  "type": "module",
6
6
  "dependencies": {
7
7
  "@tiptap/core": "^3.30.0",