@win2win/shared-ui 0.1.64 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/LinvermediaProductCard-CvgzTGtP.js +1355 -0
  2. package/dist/components/Common/Card.vue.d.ts +40 -0
  3. package/dist/components/Common/Card.vue.d.ts.map +1 -0
  4. package/dist/components/Common/DynamicCarousel.vue.d.ts +25 -0
  5. package/dist/components/Common/DynamicCarousel.vue.d.ts.map +1 -0
  6. package/dist/components/Common/GeneratingError.vue.d.ts +30 -0
  7. package/dist/components/Common/GeneratingError.vue.d.ts.map +1 -0
  8. package/dist/components/Common/GeneratingLoader.vue.d.ts +30 -0
  9. package/dist/components/Common/GeneratingLoader.vue.d.ts.map +1 -0
  10. package/dist/components/Common/IndicatorColor.vue.d.ts +16 -0
  11. package/dist/components/Common/IndicatorColor.vue.d.ts.map +1 -0
  12. package/dist/components/Common/SectionSpinner.vue.d.ts +37 -0
  13. package/dist/components/Common/SectionSpinner.vue.d.ts.map +1 -0
  14. package/dist/components/Common/StateIndicator.vue.d.ts +58 -0
  15. package/dist/components/Common/StateIndicator.vue.d.ts.map +1 -0
  16. package/dist/components/widgets/LinvermediaProductCard.vue.d.ts +61 -0
  17. package/dist/components/widgets/LinvermediaProductCard.vue.d.ts.map +1 -0
  18. package/dist/components/widgets/components/ProductProps.vue.d.ts +20 -0
  19. package/dist/components/widgets/components/ProductProps.vue.d.ts.map +1 -0
  20. package/dist/components/widgets/components/ProductTag.vue.d.ts +16 -0
  21. package/dist/components/widgets/components/ProductTag.vue.d.ts.map +1 -0
  22. package/dist/components/widgets/index.d.ts +13 -0
  23. package/dist/components/widgets/index.d.ts.map +1 -0
  24. package/dist/index-DRLyJSPb.js +11817 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/style.css +1 -1
  27. package/dist/w2w-shared-ui.js +5 -11748
  28. package/dist/w2w-shared-ui.umd.cjs +22 -22
  29. package/package.json +1 -1
@@ -0,0 +1,1355 @@
1
+ import { c as ie, h as se, Q as ze, _ as K, a as Te, b as W, n as Ie, l as Fe, d as te, p as re, e as ye, s as ce, f as Be, g as ue, i as Ae, v as Ne, u as Oe, j as Ee, k as Re, m as De, o as de, q as Me, r as H, t as Ve, w as Le, x as je, y as we, z as ne, A as $e } from "./index-DRLyJSPb.js";
2
+ import { computed as y, h as g, defineComponent as U, openBlock as u, createBlock as j, Transition as Pe, withCtx as L, withDirectives as Qe, createElementVNode as c, normalizeClass as Y, createVNode as S, createElementBlock as _, toDisplayString as b, createCommentVNode as w, vShow as Ue, ref as Q, renderSlot as oe, getCurrentInstance as ve, watch as X, nextTick as Ge, KeepAlive as He, onBeforeMount as Xe, onMounted as Se, onBeforeUnmount as qe, Fragment as Z, renderList as ae, normalizeStyle as ee, toRefs as me, unref as h, createTextVNode as z, reactive as Ye, pushScopeId as Ke, popScopeId as We } from "vue";
3
+ const Je = ie({
4
+ name: "QCardSection",
5
+ props: {
6
+ tag: {
7
+ type: String,
8
+ default: "div"
9
+ },
10
+ horizontal: Boolean
11
+ },
12
+ setup(e, { slots: t }) {
13
+ const o = y(
14
+ () => `q-card__section q-card__section--${e.horizontal === !0 ? "horiz row no-wrap" : "vert"}`
15
+ );
16
+ return () => g(e.tag, { class: o.value }, se(t.default));
17
+ }
18
+ }), Ze = { class: "text-center" }, et = {
19
+ key: 0,
20
+ class: "q-mt-md"
21
+ }, tt = /* @__PURE__ */ U({
22
+ __name: "SectionSpinner",
23
+ props: {
24
+ fixed: { type: Boolean, default: !1 },
25
+ loading: { type: Boolean, default: !1 },
26
+ text: {}
27
+ },
28
+ setup(e) {
29
+ return (t, o) => (u(), j(Pe, { name: "fade" }, {
30
+ default: L(() => [
31
+ Qe(c("div", {
32
+ class: Y(["spinner-container", { fixed: t.fixed }])
33
+ }, [
34
+ c("div", Ze, [
35
+ S(ze, {
36
+ size: "40px",
37
+ color: "black"
38
+ }),
39
+ t.text ? (u(), _("div", et, b(t.text), 1)) : w("", !0)
40
+ ])
41
+ ], 2), [
42
+ [Ue, t.loading]
43
+ ])
44
+ ]),
45
+ _: 1
46
+ }));
47
+ }
48
+ }), ot = /* @__PURE__ */ K(tt, [["__scopeId", "data-v-b2df9e74"]]), nt = {
49
+ key: 0,
50
+ class: "row-between q-mb-md"
51
+ }, at = { class: "float" }, it = {
52
+ key: 1,
53
+ class: "card-text"
54
+ }, st = /* @__PURE__ */ U({
55
+ __name: "Card",
56
+ props: {
57
+ title: {},
58
+ clickable: { type: Boolean },
59
+ hoverable: { type: Boolean },
60
+ section: { type: Boolean },
61
+ loading: { type: Boolean },
62
+ titleClass: {},
63
+ noPadding: { type: Boolean },
64
+ expandible: { type: Boolean }
65
+ },
66
+ setup(e) {
67
+ const t = e, o = Q(!t.expandible), l = y(() => String(t.title || ""));
68
+ return (i, n) => (u(), _("div", {
69
+ class: Y(["win-card card field-label", { clickable: i.clickable || i.expandible, hoverable: i.hoverable, section: i.section, "q-pa-md": !i.noPadding }]),
70
+ onClick: n[0] || (n[0] = (s) => i.expandible ? o.value = !o.value : null),
71
+ style: { height: "100%" }
72
+ }, [
73
+ S(ot, { loading: i.loading }, null, 8, ["loading"]),
74
+ l.value ? (u(), _("div", nt, [
75
+ c("div", {
76
+ class: Y(["text-accent-1 ww-semi-bold", i.titleClass])
77
+ }, b(l.value), 3),
78
+ oe(i.$slots, "indicator", {}, void 0, !0)
79
+ ])) : w("", !0),
80
+ oe(i.$slots, "title", {}, void 0, !0),
81
+ c("div", at, [
82
+ oe(i.$slots, "actions", {}, void 0, !0)
83
+ ]),
84
+ o.value ? (u(), _("div", it, [
85
+ oe(i.$slots, "default", {}, void 0, !0)
86
+ ])) : w("", !0)
87
+ ], 2));
88
+ }
89
+ }), lt = /* @__PURE__ */ K(st, [["__scopeId", "data-v-0bcb3ce1"]]), pe = {
90
+ left: !0,
91
+ right: !0,
92
+ up: !0,
93
+ down: !0,
94
+ horizontal: !0,
95
+ vertical: !0
96
+ }, rt = Object.keys(pe);
97
+ pe.all = !0;
98
+ function be(e) {
99
+ const t = {};
100
+ for (const o of rt)
101
+ e[o] === !0 && (t[o] = !0);
102
+ return Object.keys(t).length === 0 ? pe : (t.horizontal === !0 ? t.left = t.right = !0 : t.left === !0 && t.right === !0 && (t.horizontal = !0), t.vertical === !0 ? t.up = t.down = !0 : t.up === !0 && t.down === !0 && (t.vertical = !0), t.horizontal === !0 && t.vertical === !0 && (t.all = !0), t);
103
+ }
104
+ const ct = ["INPUT", "TEXTAREA"];
105
+ function xe(e, t) {
106
+ return t.event === void 0 && e.target !== void 0 && e.target.draggable !== !0 && typeof t.handler == "function" && ct.includes(e.target.nodeName.toUpperCase()) === !1 && (e.qClonedBy === void 0 || e.qClonedBy.indexOf(t.uid) === -1);
107
+ }
108
+ function ut(e) {
109
+ const t = [0.06, 6, 50];
110
+ return typeof e == "string" && e.length && e.split(":").forEach((o, l) => {
111
+ const i = parseFloat(o);
112
+ i && (t[l] = i);
113
+ }), t;
114
+ }
115
+ const dt = Te(
116
+ {
117
+ name: "touch-swipe",
118
+ beforeMount(e, { value: t, arg: o, modifiers: l }) {
119
+ if (l.mouse !== !0 && W.has.touch !== !0)
120
+ return;
121
+ const i = l.mouseCapture === !0 ? "Capture" : "", n = {
122
+ handler: t,
123
+ sensitivity: ut(o),
124
+ direction: be(l),
125
+ noop: Ie,
126
+ mouseStart(s) {
127
+ xe(s, n) && Fe(s) && (te(n, "temp", [
128
+ [document, "mousemove", "move", `notPassive${i}`],
129
+ [document, "mouseup", "end", "notPassiveCapture"]
130
+ ]), n.start(s, !0));
131
+ },
132
+ touchStart(s) {
133
+ if (xe(s, n)) {
134
+ const a = s.target;
135
+ te(n, "temp", [
136
+ [a, "touchmove", "move", "notPassiveCapture"],
137
+ [a, "touchcancel", "end", "notPassiveCapture"],
138
+ [a, "touchend", "end", "notPassiveCapture"]
139
+ ]), n.start(s);
140
+ }
141
+ },
142
+ start(s, a) {
143
+ W.is.firefox === !0 && re(e, !0);
144
+ const m = ye(s);
145
+ n.event = {
146
+ x: m.left,
147
+ y: m.top,
148
+ time: Date.now(),
149
+ mouse: a === !0,
150
+ dir: !1
151
+ };
152
+ },
153
+ move(s) {
154
+ if (n.event === void 0)
155
+ return;
156
+ if (n.event.dir !== !1) {
157
+ ce(s);
158
+ return;
159
+ }
160
+ const a = Date.now() - n.event.time;
161
+ if (a === 0)
162
+ return;
163
+ const m = ye(s), v = m.left - n.event.x, d = Math.abs(v), p = m.top - n.event.y, f = Math.abs(p);
164
+ if (n.event.mouse !== !0) {
165
+ if (d < n.sensitivity[1] && f < n.sensitivity[1]) {
166
+ n.end(s);
167
+ return;
168
+ }
169
+ } else if (window.getSelection().toString() !== "") {
170
+ n.end(s);
171
+ return;
172
+ } else if (d < n.sensitivity[2] && f < n.sensitivity[2])
173
+ return;
174
+ const k = d / a, P = f / a;
175
+ n.direction.vertical === !0 && d < f && d < 100 && P > n.sensitivity[0] && (n.event.dir = p < 0 ? "up" : "down"), n.direction.horizontal === !0 && d > f && f < 100 && k > n.sensitivity[0] && (n.event.dir = v < 0 ? "left" : "right"), n.direction.up === !0 && d < f && p < 0 && d < 100 && P > n.sensitivity[0] && (n.event.dir = "up"), n.direction.down === !0 && d < f && p > 0 && d < 100 && P > n.sensitivity[0] && (n.event.dir = "down"), n.direction.left === !0 && d > f && v < 0 && f < 100 && k > n.sensitivity[0] && (n.event.dir = "left"), n.direction.right === !0 && d > f && v > 0 && f < 100 && k > n.sensitivity[0] && (n.event.dir = "right"), n.event.dir !== !1 ? (ce(s), n.event.mouse === !0 && (document.body.classList.add("no-pointer-events--children"), document.body.classList.add("non-selectable"), Be(), n.styleCleanup = (A) => {
176
+ n.styleCleanup = void 0, document.body.classList.remove("non-selectable");
177
+ const T = () => {
178
+ document.body.classList.remove("no-pointer-events--children");
179
+ };
180
+ A === !0 ? setTimeout(T, 50) : T();
181
+ }), n.handler({
182
+ evt: s,
183
+ touch: n.event.mouse !== !0,
184
+ mouse: n.event.mouse,
185
+ direction: n.event.dir,
186
+ duration: a,
187
+ distance: {
188
+ x: d,
189
+ y: f
190
+ }
191
+ })) : n.end(s);
192
+ },
193
+ end(s) {
194
+ n.event !== void 0 && (ue(n, "temp"), W.is.firefox === !0 && re(e, !1), n.styleCleanup !== void 0 && n.styleCleanup(!0), s !== void 0 && n.event.dir !== !1 && ce(s), n.event = void 0);
195
+ }
196
+ };
197
+ if (e.__qtouchswipe = n, l.mouse === !0) {
198
+ const s = l.mouseCapture === !0 || l.mousecapture === !0 ? "Capture" : "";
199
+ te(n, "main", [
200
+ [e, "mousedown", "mouseStart", `passive${s}`]
201
+ ]);
202
+ }
203
+ W.has.touch === !0 && te(n, "main", [
204
+ [e, "touchstart", "touchStart", `passive${l.capture === !0 ? "Capture" : ""}`],
205
+ [e, "touchmove", "noop", "notPassiveCapture"]
206
+ // cannot be passive (ex: iOS scroll)
207
+ ]);
208
+ },
209
+ updated(e, t) {
210
+ const o = e.__qtouchswipe;
211
+ o !== void 0 && (t.oldValue !== t.value && (typeof t.value != "function" && o.end(), o.handler = t.value), o.direction = be(t.modifiers));
212
+ },
213
+ beforeUnmount(e) {
214
+ const t = e.__qtouchswipe;
215
+ t !== void 0 && (ue(t, "main"), ue(t, "temp"), W.is.firefox === !0 && re(e, !1), t.styleCleanup !== void 0 && t.styleCleanup(), delete e.__qtouchswipe);
216
+ }
217
+ }
218
+ );
219
+ function vt() {
220
+ let e = /* @__PURE__ */ Object.create(null);
221
+ return {
222
+ getCache: (t, o) => e[t] === void 0 ? e[t] = typeof o == "function" ? o() : o : e[t],
223
+ setCache(t, o) {
224
+ e[t] = o;
225
+ },
226
+ hasCache(t) {
227
+ return Object.hasOwnProperty.call(e, t);
228
+ },
229
+ clearCache(t) {
230
+ t !== void 0 ? delete e[t] : e = /* @__PURE__ */ Object.create(null);
231
+ }
232
+ };
233
+ }
234
+ const mt = {
235
+ name: { required: !0 },
236
+ disable: Boolean
237
+ }, ke = {
238
+ setup(e, { slots: t }) {
239
+ return () => g("div", {
240
+ class: "q-panel scroll",
241
+ role: "tabpanel"
242
+ }, se(t.default));
243
+ }
244
+ }, pt = {
245
+ modelValue: {
246
+ required: !0
247
+ },
248
+ animated: Boolean,
249
+ infinite: Boolean,
250
+ swipeable: Boolean,
251
+ vertical: Boolean,
252
+ transitionPrev: String,
253
+ transitionNext: String,
254
+ transitionDuration: {
255
+ type: [String, Number],
256
+ default: 300
257
+ },
258
+ keepAlive: Boolean,
259
+ keepAliveInclude: [String, Array, RegExp],
260
+ keepAliveExclude: [String, Array, RegExp],
261
+ keepAliveMax: Number
262
+ }, _t = ["update:modelValue", "beforeTransition", "transition"];
263
+ function ft() {
264
+ const { props: e, emit: t, proxy: o } = ve(), { getCache: l } = vt();
265
+ let i, n;
266
+ const s = Q(null), a = Q(null);
267
+ function m(r) {
268
+ const x = e.vertical === !0 ? "up" : "left";
269
+ q((o.$q.lang.rtl === !0 ? -1 : 1) * (r.direction === x ? 1 : -1));
270
+ }
271
+ const v = y(() => [[
272
+ dt,
273
+ m,
274
+ void 0,
275
+ {
276
+ horizontal: e.vertical !== !0,
277
+ vertical: e.vertical,
278
+ mouse: !0
279
+ }
280
+ ]]), d = y(
281
+ () => e.transitionPrev || `slide-${e.vertical === !0 ? "down" : "right"}`
282
+ ), p = y(
283
+ () => e.transitionNext || `slide-${e.vertical === !0 ? "up" : "left"}`
284
+ ), f = y(
285
+ () => `--q-transition-duration: ${e.transitionDuration}ms`
286
+ ), k = y(() => typeof e.modelValue == "string" || typeof e.modelValue == "number" ? e.modelValue : String(e.modelValue)), P = y(() => ({
287
+ include: e.keepAliveInclude,
288
+ exclude: e.keepAliveExclude,
289
+ max: e.keepAliveMax
290
+ })), A = y(
291
+ () => e.keepAliveInclude !== void 0 || e.keepAliveExclude !== void 0
292
+ );
293
+ X(() => e.modelValue, (r, x) => {
294
+ const I = F(r) === !0 ? N(r) : -1;
295
+ n !== !0 && C(
296
+ I === -1 ? 0 : I < N(x) ? -1 : 1
297
+ ), s.value !== I && (s.value = I, t("beforeTransition", r, x), Ge(() => {
298
+ t("transition", r, x);
299
+ }));
300
+ });
301
+ function T() {
302
+ q(1);
303
+ }
304
+ function O() {
305
+ q(-1);
306
+ }
307
+ function D(r) {
308
+ t("update:modelValue", r);
309
+ }
310
+ function F(r) {
311
+ return r != null && r !== "";
312
+ }
313
+ function N(r) {
314
+ return i.findIndex((x) => x.props.name === r && x.props.disable !== "" && x.props.disable !== !0);
315
+ }
316
+ function G() {
317
+ return i.filter((r) => r.props.disable !== "" && r.props.disable !== !0);
318
+ }
319
+ function C(r) {
320
+ const x = r !== 0 && e.animated === !0 && s.value !== -1 ? "q-transition--" + (r === -1 ? d.value : p.value) : null;
321
+ a.value !== x && (a.value = x);
322
+ }
323
+ function q(r, x = s.value) {
324
+ let I = x + r;
325
+ for (; I !== -1 && I < i.length; ) {
326
+ const V = i[I];
327
+ if (V !== void 0 && V.props.disable !== "" && V.props.disable !== !0) {
328
+ C(r), n = !0, t("update:modelValue", V.props.name), setTimeout(() => {
329
+ n = !1;
330
+ });
331
+ return;
332
+ }
333
+ I += r;
334
+ }
335
+ e.infinite === !0 && i.length !== 0 && x !== -1 && x !== i.length && q(r, r === -1 ? i.length : -1);
336
+ }
337
+ function E() {
338
+ const r = N(e.modelValue);
339
+ return s.value !== r && (s.value = r), !0;
340
+ }
341
+ function M() {
342
+ const r = F(e.modelValue) === !0 && E() && i[s.value];
343
+ return e.keepAlive === !0 ? [
344
+ g(He, P.value, [
345
+ g(
346
+ A.value === !0 ? l(k.value, () => ({ ...ke, name: k.value })) : ke,
347
+ { key: k.value, style: f.value },
348
+ () => r
349
+ )
350
+ ])
351
+ ] : [
352
+ g("div", {
353
+ class: "q-panel scroll",
354
+ style: f.value,
355
+ key: k.value,
356
+ role: "tabpanel"
357
+ }, [r])
358
+ ];
359
+ }
360
+ function $() {
361
+ if (i.length !== 0)
362
+ return e.animated === !0 ? [g(Pe, { name: a.value }, M)] : M();
363
+ }
364
+ function B(r) {
365
+ return i = Ae(
366
+ se(r.default, [])
367
+ ).filter(
368
+ (x) => x.props !== null && x.props.slot === void 0 && F(x.props.name) === !0
369
+ ), i.length;
370
+ }
371
+ function R() {
372
+ return i;
373
+ }
374
+ return Object.assign(o, {
375
+ next: T,
376
+ previous: O,
377
+ goTo: D
378
+ }), {
379
+ panelIndex: s,
380
+ panelDirectives: v,
381
+ updatePanelsList: B,
382
+ updatePanelIndex: E,
383
+ getPanelContent: $,
384
+ getEnabledPanels: G,
385
+ getPanels: R,
386
+ isValidPanelName: F,
387
+ keepAliveProps: P,
388
+ needsUniqueKeepAliveWrapper: A,
389
+ goToPanelByOffset: q,
390
+ goToPanel: D,
391
+ nextPanel: T,
392
+ previousPanel: O
393
+ };
394
+ }
395
+ const ht = ie({
396
+ name: "QCarouselSlide",
397
+ props: {
398
+ ...mt,
399
+ imgSrc: String
400
+ },
401
+ setup(e, { slots: t }) {
402
+ const o = y(() => e.imgSrc ? { backgroundImage: `url("${e.imgSrc}")` } : {});
403
+ return () => g("div", {
404
+ class: "q-carousel__slide",
405
+ style: o.value
406
+ }, se(t.default));
407
+ }
408
+ });
409
+ let J = 0;
410
+ const gt = {
411
+ fullscreen: Boolean,
412
+ noRouteFullscreenExit: Boolean
413
+ }, yt = ["update:fullscreen", "fullscreen"];
414
+ function bt() {
415
+ const e = ve(), { props: t, emit: o, proxy: l } = e;
416
+ let i, n;
417
+ const s = Q(!1);
418
+ Ne(e) === !0 && X(() => l.$route.fullPath, () => {
419
+ t.noRouteFullscreenExit !== !0 && v();
420
+ }), X(() => t.fullscreen, (d) => {
421
+ s.value !== d && a();
422
+ }), X(s, (d) => {
423
+ o("update:fullscreen", d), o("fullscreen", d);
424
+ });
425
+ function a() {
426
+ s.value === !0 ? v() : m();
427
+ }
428
+ function m() {
429
+ s.value !== !0 && (s.value = !0, n = l.$el.parentNode, n.replaceChild(i, l.$el), document.body.appendChild(l.$el), J++, J === 1 && document.body.classList.add("q-body--fullscreen-mixin"));
430
+ }
431
+ function v() {
432
+ s.value === !0 && (n.replaceChild(l.$el, i), s.value = !1, J = Math.max(0, J - 1), J === 0 && (document.body.classList.remove("q-body--fullscreen-mixin"), l.$el.scrollIntoView !== void 0 && setTimeout(() => {
433
+ l.$el.scrollIntoView();
434
+ })));
435
+ }
436
+ return Xe(() => {
437
+ i = document.createElement("span");
438
+ }), Se(() => {
439
+ t.fullscreen === !0 && m();
440
+ }), qe(v), Object.assign(l, {
441
+ toggleFullscreen: a,
442
+ setFullscreen: m,
443
+ exitFullscreen: v
444
+ }), {
445
+ inFullscreen: s,
446
+ toggleFullscreen: a
447
+ };
448
+ }
449
+ const xt = ["top", "right", "bottom", "left"], kt = ["regular", "flat", "outline", "push", "unelevated"], Ct = ie({
450
+ name: "QCarousel",
451
+ props: {
452
+ ...Oe,
453
+ ...pt,
454
+ ...gt,
455
+ transitionPrev: {
456
+ // usePanelParentProps override
457
+ type: String,
458
+ default: "fade"
459
+ },
460
+ transitionNext: {
461
+ // usePanelParentProps override
462
+ type: String,
463
+ default: "fade"
464
+ },
465
+ height: String,
466
+ padding: Boolean,
467
+ controlColor: String,
468
+ controlTextColor: String,
469
+ controlType: {
470
+ type: String,
471
+ validator: (e) => kt.includes(e),
472
+ default: "flat"
473
+ },
474
+ autoplay: [Number, Boolean],
475
+ arrows: Boolean,
476
+ prevIcon: String,
477
+ nextIcon: String,
478
+ navigation: Boolean,
479
+ navigationPosition: {
480
+ type: String,
481
+ validator: (e) => xt.includes(e)
482
+ },
483
+ navigationIcon: String,
484
+ navigationActiveIcon: String,
485
+ thumbnails: Boolean
486
+ },
487
+ emits: [
488
+ ...yt,
489
+ ..._t
490
+ ],
491
+ setup(e, { slots: t }) {
492
+ const { proxy: { $q: o } } = ve(), l = Ee(e, o);
493
+ let i = null, n;
494
+ const {
495
+ updatePanelsList: s,
496
+ getPanelContent: a,
497
+ panelDirectives: m,
498
+ goToPanel: v,
499
+ previousPanel: d,
500
+ nextPanel: p,
501
+ getEnabledPanels: f,
502
+ panelIndex: k
503
+ } = ft(), { inFullscreen: P } = bt(), A = y(() => P.value !== !0 && e.height !== void 0 ? { height: e.height } : {}), T = y(() => e.vertical === !0 ? "vertical" : "horizontal"), O = y(
504
+ () => e.navigationPosition || (e.vertical === !0 ? "right" : "bottom")
505
+ ), D = y(
506
+ () => `q-carousel q-panel-parent q-carousel--with${e.padding === !0 ? "" : "out"}-padding` + (P.value === !0 ? " fullscreen" : "") + (l.value === !0 ? " q-carousel--dark q-dark" : "") + (e.arrows === !0 ? ` q-carousel--arrows-${T.value}` : "") + (e.navigation === !0 ? ` q-carousel--navigation-${O.value}` : "")
507
+ ), F = y(() => {
508
+ const $ = [
509
+ e.prevIcon || o.iconSet.carousel[e.vertical === !0 ? "up" : "left"],
510
+ e.nextIcon || o.iconSet.carousel[e.vertical === !0 ? "down" : "right"]
511
+ ];
512
+ return e.vertical === !1 && o.lang.rtl === !0 ? $.reverse() : $;
513
+ }), N = y(() => e.navigationIcon || o.iconSet.carousel.navigationIcon), G = y(() => e.navigationActiveIcon || N.value), C = y(() => ({
514
+ color: e.controlColor,
515
+ textColor: e.controlTextColor,
516
+ round: !0,
517
+ [e.controlType]: !0,
518
+ dense: !0
519
+ }));
520
+ X(() => e.modelValue, () => {
521
+ e.autoplay && q();
522
+ }), X(() => e.autoplay, ($) => {
523
+ $ ? q() : i !== null && (clearTimeout(i), i = null);
524
+ });
525
+ function q() {
526
+ const $ = Re(e.autoplay) === !0 ? Math.abs(e.autoplay) : 5e3;
527
+ i !== null && clearTimeout(i), i = setTimeout(() => {
528
+ i = null, $ >= 0 ? p() : d();
529
+ }, $);
530
+ }
531
+ Se(() => {
532
+ e.autoplay && q();
533
+ }), qe(() => {
534
+ i !== null && clearTimeout(i);
535
+ });
536
+ function E($, B) {
537
+ return g("div", {
538
+ class: `q-carousel__control q-carousel__navigation no-wrap absolute flex q-carousel__navigation--${$} q-carousel__navigation--${O.value}` + (e.controlColor !== void 0 ? ` text-${e.controlColor}` : "")
539
+ }, [
540
+ g("div", {
541
+ class: "q-carousel__navigation-inner flex flex-center no-wrap"
542
+ }, f().map(B))
543
+ ]);
544
+ }
545
+ function M() {
546
+ const $ = [];
547
+ if (e.navigation === !0) {
548
+ const B = t["navigation-icon"] !== void 0 ? t["navigation-icon"] : (r) => g(de, {
549
+ key: "nav" + r.name,
550
+ class: `q-carousel__navigation-icon q-carousel__navigation-icon--${r.active === !0 ? "" : "in"}active`,
551
+ ...r.btnProps,
552
+ onClick: r.onClick
553
+ }), R = n - 1;
554
+ $.push(
555
+ E("buttons", (r, x) => {
556
+ const I = r.props.name, V = k.value === x;
557
+ return B({
558
+ index: x,
559
+ maxIndex: R,
560
+ name: I,
561
+ active: V,
562
+ btnProps: {
563
+ icon: V === !0 ? G.value : N.value,
564
+ size: "sm",
565
+ ...C.value
566
+ },
567
+ onClick: () => {
568
+ v(I);
569
+ }
570
+ });
571
+ })
572
+ );
573
+ } else if (e.thumbnails === !0) {
574
+ const B = e.controlColor !== void 0 ? ` text-${e.controlColor}` : "";
575
+ $.push(E("thumbnails", (R) => {
576
+ const r = R.props;
577
+ return g("img", {
578
+ key: "tmb#" + r.name,
579
+ class: `q-carousel__thumbnail q-carousel__thumbnail--${r.name === e.modelValue ? "" : "in"}active` + B,
580
+ src: r.imgSrc || r["img-src"],
581
+ onClick: () => {
582
+ v(r.name);
583
+ }
584
+ });
585
+ }));
586
+ }
587
+ return e.arrows === !0 && k.value >= 0 && ((e.infinite === !0 || k.value > 0) && $.push(
588
+ g("div", {
589
+ key: "prev",
590
+ class: `q-carousel__control q-carousel__arrow q-carousel__prev-arrow q-carousel__prev-arrow--${T.value} absolute flex flex-center`
591
+ }, [
592
+ g(de, {
593
+ icon: F.value[0],
594
+ ...C.value,
595
+ onClick: d
596
+ })
597
+ ])
598
+ ), (e.infinite === !0 || k.value < n - 1) && $.push(
599
+ g("div", {
600
+ key: "next",
601
+ class: `q-carousel__control q-carousel__arrow q-carousel__next-arrow q-carousel__next-arrow--${T.value} absolute flex flex-center`
602
+ }, [
603
+ g(de, {
604
+ icon: F.value[1],
605
+ ...C.value,
606
+ onClick: p
607
+ })
608
+ ])
609
+ )), Me(t.control, $);
610
+ }
611
+ return () => (n = s(t), g("div", {
612
+ class: D.value,
613
+ style: A.value
614
+ }, [
615
+ De(
616
+ "div",
617
+ { class: "q-carousel__slides-container" },
618
+ a(),
619
+ "sl-cont",
620
+ e.swipeable,
621
+ () => m.value
622
+ )
623
+ ].concat(M())));
624
+ }
625
+ }), wt = {
626
+ class: "q-pa-lg flex-center items-center",
627
+ style: { width: "100%", height: "100%" }
628
+ }, $t = { class: "stack flex-center" }, Pt = { class: "text-grey-8" }, St = /* @__PURE__ */ U({
629
+ __name: "GeneratingError",
630
+ props: {
631
+ text: { default: "Generación de imagen fallida" }
632
+ },
633
+ setup(e) {
634
+ return (t, o) => (u(), _("div", wt, [
635
+ c("div", $t, [
636
+ S(H, {
637
+ size: "xl",
638
+ name: "sym_o_error"
639
+ }),
640
+ c("div", Pt, b(t.text), 1)
641
+ ])
642
+ ]));
643
+ }
644
+ }), qt = [
645
+ g("g", [
646
+ g("path", {
647
+ fill: "none",
648
+ stroke: "currentColor",
649
+ "stroke-width": "5",
650
+ "stroke-miterlimit": "10",
651
+ d: "M58.4,51.7c-0.9-0.9-1.4-2-1.4-2.3s0.5-0.4,1.4-1.4 C70.8,43.8,79.8,30.5,80,15.5H70H30H20c0.2,15,9.2,28.1,21.6,32.3c0.9,0.9,1.4,1.2,1.4,1.5s-0.5,1.6-1.4,2.5 C29.2,56.1,20.2,69.5,20,85.5h10h40h10C79.8,69.5,70.8,55.9,58.4,51.7z"
652
+ }),
653
+ g("clipPath", {
654
+ id: "uil-hourglass-clip1"
655
+ }, [
656
+ g("rect", {
657
+ x: "15",
658
+ y: "20",
659
+ width: "70",
660
+ height: "25"
661
+ }, [
662
+ g("animate", {
663
+ attributeName: "height",
664
+ from: "25",
665
+ to: "0",
666
+ dur: "1s",
667
+ repeatCount: "indefinite",
668
+ values: "25;0;0",
669
+ keyTimes: "0;0.5;1"
670
+ }),
671
+ g("animate", {
672
+ attributeName: "y",
673
+ from: "20",
674
+ to: "45",
675
+ dur: "1s",
676
+ repeatCount: "indefinite",
677
+ values: "20;45;45",
678
+ keyTimes: "0;0.5;1"
679
+ })
680
+ ])
681
+ ]),
682
+ g("clipPath", {
683
+ id: "uil-hourglass-clip2"
684
+ }, [
685
+ g("rect", {
686
+ x: "15",
687
+ y: "55",
688
+ width: "70",
689
+ height: "25"
690
+ }, [
691
+ g("animate", {
692
+ attributeName: "height",
693
+ from: "0",
694
+ to: "25",
695
+ dur: "1s",
696
+ repeatCount: "indefinite",
697
+ values: "0;25;25",
698
+ keyTimes: "0;0.5;1"
699
+ }),
700
+ g("animate", {
701
+ attributeName: "y",
702
+ from: "80",
703
+ to: "55",
704
+ dur: "1s",
705
+ repeatCount: "indefinite",
706
+ values: "80;55;55",
707
+ keyTimes: "0;0.5;1"
708
+ })
709
+ ])
710
+ ]),
711
+ g("path", {
712
+ d: "M29,23c3.1,11.4,11.3,19.5,21,19.5S67.9,34.4,71,23H29z",
713
+ "clip-path": "url(#uil-hourglass-clip1)",
714
+ fill: "currentColor"
715
+ }),
716
+ g("path", {
717
+ d: "M71.6,78c-3-11.6-11.5-20-21.5-20s-18.5,8.4-21.5,20H71.6z",
718
+ "clip-path": "url(#uil-hourglass-clip2)",
719
+ fill: "currentColor"
720
+ }),
721
+ g("animateTransform", {
722
+ attributeName: "transform",
723
+ type: "rotate",
724
+ from: "0 50 50",
725
+ to: "180 50 50",
726
+ repeatCount: "indefinite",
727
+ dur: "1s",
728
+ values: "0 50 50;0 50 50;180 50 50",
729
+ keyTimes: "0;0.7;1"
730
+ })
731
+ ])
732
+ ], zt = ie({
733
+ name: "QSpinnerHourglass",
734
+ props: Ve,
735
+ setup(e) {
736
+ const { cSize: t, classes: o } = Le(e);
737
+ return () => g("svg", {
738
+ class: o.value,
739
+ width: t.value,
740
+ height: t.value,
741
+ viewBox: "0 0 100 100",
742
+ preserveAspectRatio: "xMidYMid",
743
+ xmlns: "http://www.w3.org/2000/svg"
744
+ }, qt);
745
+ }
746
+ }), Tt = {
747
+ class: "q-pa-lg flex-center items-center",
748
+ style: { width: "100%", height: "100%" }
749
+ }, It = { class: "stack flex-center" }, Ft = { class: "text-grey-8" }, Bt = /* @__PURE__ */ U({
750
+ __name: "GeneratingLoader",
751
+ props: {
752
+ text: { default: "Generando contenido..." }
753
+ },
754
+ setup(e) {
755
+ return (t, o) => (u(), _("div", Tt, [
756
+ c("div", It, [
757
+ S(zt, {
758
+ color: "primary",
759
+ size: "xl"
760
+ }),
761
+ c("div", Ft, b(t.text), 1)
762
+ ])
763
+ ]));
764
+ }
765
+ }), At = ["src"], Nt = { key: 1 }, Ot = /* @__PURE__ */ U({
766
+ __name: "DynamicCarousel",
767
+ props: {
768
+ items: {},
769
+ height: {},
770
+ editableTags: { type: Boolean }
771
+ },
772
+ setup(e) {
773
+ const t = Q(1), o = Q(!1), l = Q(!1), i = (n) => n.location ? n.location : "";
774
+ return (n, s) => {
775
+ var a, m;
776
+ return (a = n.items) != null && a.length ? (u(), j(Ct, {
777
+ key: 0,
778
+ onMouseover: s[0] || (s[0] = (v) => l.value = !0),
779
+ onMouseleave: s[1] || (s[1] = (v) => l.value = !1),
780
+ autoplay: "",
781
+ animated: "",
782
+ arrows: l.value && (((m = n.items) == null ? void 0 : m.length) || 0) > 1,
783
+ "control-text-color": "grey",
784
+ swipeable: "",
785
+ infinite: "",
786
+ ratio: 3 / 3,
787
+ height: n.height || "400px",
788
+ modelValue: t.value,
789
+ "onUpdate:modelValue": s[2] || (s[2] = (v) => t.value = v),
790
+ fullscreen: o.value,
791
+ "onUpdate:fullscreen": s[3] || (s[3] = (v) => o.value = v)
792
+ }, {
793
+ default: L(() => [
794
+ (u(!0), _(Z, null, ae(n.items, (v, d) => (u(), j(ht, {
795
+ key: d,
796
+ name: d + 1,
797
+ "img-src": i(v),
798
+ style: { overflow: "hidden", "background-color": "white" }
799
+ }, {
800
+ default: L(() => [
801
+ v.estado === 0 ? (u(), j(St, { key: 0 })) : v.estado === 2 ? (u(), j(Bt, { key: 1 })) : v.tipo === "video" ? (u(), _("video", {
802
+ key: 2,
803
+ src: v.location,
804
+ autoplay: "",
805
+ loop: "",
806
+ style: { width: "100%", height: "100%" }
807
+ }, "Your browser does not support the video tag.", 8, At)) : w("", !0)
808
+ ]),
809
+ _: 2
810
+ }, 1032, ["name", "img-src"]))), 128))
811
+ ]),
812
+ _: 1
813
+ }, 8, ["arrows", "height", "modelValue", "fullscreen"])) : (u(), _("div", Nt, [
814
+ S(je, {
815
+ style: ee(`height: ${n.height || "400px"}`),
816
+ src: "placeholder.webp"
817
+ }, null, 8, ["style"])
818
+ ]));
819
+ };
820
+ }
821
+ }), Et = /* @__PURE__ */ U({
822
+ __name: "IndicatorColor",
823
+ props: {
824
+ color: {}
825
+ },
826
+ setup(e) {
827
+ const t = e, o = y(() => {
828
+ var l;
829
+ return (l = t.color) != null && l.startsWith("#") ? { background: t.color } : {};
830
+ });
831
+ return (l, i) => (u(), _("div", {
832
+ class: Y([l.color, "indicator-icon"]),
833
+ style: ee(o.value)
834
+ }, null, 6));
835
+ }
836
+ }), Rt = /* @__PURE__ */ K(Et, [["__scopeId", "data-v-f7a2cee7"]]), Dt = { class: "flex no-wrap text-no-wrap items-center justify-start" }, Mt = /* @__PURE__ */ U({
837
+ __name: "StateIndicator",
838
+ props: {
839
+ state: { default: 0 },
840
+ labels: { default: () => ["Inactivo", "Activo"] },
841
+ textClassName: {},
842
+ colors: { default: () => ["grey", "green"] },
843
+ states: {},
844
+ sm: { type: Boolean },
845
+ color: {},
846
+ label: {}
847
+ },
848
+ setup(e) {
849
+ const t = e, { state: o, labels: l, colors: i, states: n, color: s, label: a } = me(t), m = y(() => {
850
+ var p;
851
+ return ((p = n == null ? void 0 : n.value) == null ? void 0 : p[o.value]) || null;
852
+ }), v = y(() => {
853
+ var p;
854
+ return a.value ?? (((p = m.value) == null ? void 0 : p.label) || l.value[Number(o.value)]);
855
+ }), d = y(() => {
856
+ var p;
857
+ return s.value ?? (((p = m.value) == null ? void 0 : p.color) || i.value[Number(o.value)]);
858
+ });
859
+ return (p, f) => (u(), _("div", Dt, [
860
+ S(Rt, { color: d.value }, null, 8, ["color"]),
861
+ c("span", {
862
+ style: ee(p.sm ? "font-size: 12px" : ""),
863
+ class: Y(`indicator-label ${p.textClassName}`)
864
+ }, b(v.value), 7)
865
+ ]));
866
+ }
867
+ }), Vt = /* @__PURE__ */ K(Mt, [["__scopeId", "data-v-2acb571b"]]), Lt = { class: "q-pl-xs" }, jt = {
868
+ key: 0,
869
+ class: "q-mt-md text-black"
870
+ }, Qt = {
871
+ key: 0,
872
+ style: { "font-size": "14px" },
873
+ class: "row items-center"
874
+ }, Ut = { class: "text-bold" }, Gt = {
875
+ key: 1,
876
+ style: { "font-size": "14px" },
877
+ class: "row items-center"
878
+ }, Ht = { class: "text-bold" }, Xt = { class: "q-mt-md text-black" }, Yt = {
879
+ key: 0,
880
+ style: { "font-size": "14px" }
881
+ }, Kt = { class: "text-bold" }, Wt = {
882
+ key: 1,
883
+ style: { "font-size": "14px" }
884
+ }, Jt = { class: "text-bold" }, Zt = {
885
+ key: 2,
886
+ style: { "font-size": "14px" }
887
+ }, eo = { class: "text-bold" }, to = {
888
+ key: 3,
889
+ style: { "font-size": "14px" }
890
+ }, oo = { class: "text-bold" }, no = {
891
+ key: 4,
892
+ style: { "font-size": "14px" }
893
+ }, ao = { class: "text-bold" }, io = {
894
+ key: 5,
895
+ style: { "font-size": "14px" }
896
+ }, so = { class: "text-bold" }, lo = {
897
+ key: 6,
898
+ style: { "font-size": "14px" }
899
+ }, ro = { class: "text-bold" }, co = {
900
+ key: 7,
901
+ style: { "font-size": "14px" }
902
+ }, uo = { class: "text-bold" }, vo = { class: "q-mt-md" }, mo = {
903
+ key: 0,
904
+ class: "text-black row items-center"
905
+ }, po = { class: "q-pl-xs text-grey-8" }, _o = { key: 0 }, fo = {
906
+ key: 1,
907
+ class: "text-black row items-center"
908
+ }, ho = { class: "q-pl-xs text-grey-8" }, go = /* @__PURE__ */ U({
909
+ __name: "ProductProps",
910
+ props: {
911
+ productProps: {},
912
+ hiddenProps: {},
913
+ lite: { type: Boolean }
914
+ },
915
+ setup(e) {
916
+ const t = e, { productProps: o } = me(t), l = (a, m) => m, i = (a) => l(a, o.value[a]), n = y(
917
+ () => [
918
+ {
919
+ key: "gama",
920
+ icon: "sym_o_category",
921
+ format: i("gama"),
922
+ label: "Gama"
923
+ },
924
+ {
925
+ key: "subgama",
926
+ icon: "sym_o_label",
927
+ format: i("subgama"),
928
+ label: "Subgama"
929
+ },
930
+ {
931
+ key: "brillo",
932
+ icon: "sym_o_light_mode",
933
+ format: i("brillo"),
934
+ label: "Brillo"
935
+ },
936
+ {
937
+ key: "resolucion",
938
+ icon: "sym_o_display_settings",
939
+ label: "Resolución",
940
+ format: (a) => {
941
+ var v;
942
+ let m = 0;
943
+ if (a.pitch) {
944
+ const d = (v = a == null ? void 0 : a.pitch) == null ? void 0 : v.replace("_mm", ""), p = d == null ? void 0 : d.replace("_", ".");
945
+ m = parseFloat(p);
946
+ }
947
+ if (m && a.ancho && a.alto) {
948
+ let d = Number(a.ancho), p = Number(a.alto);
949
+ return a.unidad_de_medida == "m" ? (d = d * 1e3, p = p * 1e3) : a.unidad_de_medida == "cm" && (d = d * 10, p = p * 10), `${Math.round(d / m)}x${Math.round(p / m)} p`;
950
+ }
951
+ return l("resolucion", a.resolucion);
952
+ }
953
+ },
954
+ {
955
+ key: "ancho",
956
+ icon: "sym_o_square_foot",
957
+ label: "Tamaño",
958
+ format: (a) => {
959
+ if (a.tamano)
960
+ return l("tamano", a.tamano);
961
+ let m = "";
962
+ return a.ancho && a.alto && (m = `${a.ancho || ""} x ${a.alto || ""}`, a.profundidad && (m += ` x ${a.profundidad || ""}`), m += ` ${a.unidad_de_medida || ""}`), m;
963
+ }
964
+ },
965
+ {
966
+ key: "pitch",
967
+ icon: "sym_o_lightbulb",
968
+ label: "Pitch",
969
+ format: i("pitch")
970
+ },
971
+ {
972
+ key: "tasa_de_refresco_hz",
973
+ icon: "sym_o_visibility",
974
+ label: "Tasa de refresco",
975
+ format: (a) => a.tasa_de_refresco_hz ? `${a.tasa_de_refresco_hz} hz` : ""
976
+ },
977
+ {
978
+ key: "gran_formato_independiente",
979
+ icon: "sym_o_imagesmode",
980
+ label: "Formato de imagen",
981
+ format: (a) => a.gran_formato_independiente ? "Gran formato independiente" : ""
982
+ },
983
+ {
984
+ key: "peso_kg",
985
+ icon: "sym_o_weight",
986
+ label: "Peso",
987
+ format: (a) => a.peso_kg ? `${a.peso_kg} kg` : ""
988
+ },
989
+ {
990
+ key: "doble_cara",
991
+ label: "Es doble cara",
992
+ icon: "sym_o_splitscreen",
993
+ format: (a) => a.doble_cara ? "Doble cara" : ""
994
+ },
995
+ {
996
+ key: "compatible_videowall",
997
+ icon: "sym_o_smart_display",
998
+ label: "Es compatible con videowall",
999
+ format: (a) => a.compatible_videowall ? "Compatible con videowall" : ""
1000
+ },
1001
+ {
1002
+ key: "interactivo",
1003
+ icon: "sym_o_touch_app",
1004
+ label: "Interactivo",
1005
+ format: i("interactivo")
1006
+ },
1007
+ {
1008
+ key: "sistema_operativo",
1009
+ icon: "sym_o_android",
1010
+ label: "Sistema operativo",
1011
+ format: i("sistema_operativo")
1012
+ }
1013
+ ].filter(
1014
+ (a) => {
1015
+ var m, v;
1016
+ return t != null && t.hiddenProps && ((m = t == null ? void 0 : t.hiddenProps) != null && m.length) ? !((v = t == null ? void 0 : t.hiddenProps) != null && v.includes(a.key)) : !0;
1017
+ }
1018
+ ).filter((a) => !!a.format(o.value))
1019
+ ), s = y(() => {
1020
+ var a;
1021
+ if (o.value.pitch) {
1022
+ const m = (a = o.value.pitch) == null ? void 0 : a.replace("_", "."), v = m == null ? void 0 : m.replace(/[^0-9.]/g, "");
1023
+ return parseFloat(v).toFixed(2);
1024
+ }
1025
+ return "";
1026
+ });
1027
+ return (a, m) => {
1028
+ var v, d, p, f, k, P, A, T, O, D, F, N, G, C, q, E, M, $, B, R, r, x, I, V, _e, fe, he;
1029
+ return u(), _("div", null, [
1030
+ c("div", {
1031
+ class: "q-mt-md row text-black",
1032
+ style: ee(`font-size: ${a.lite ? "15px" : "16px"}`)
1033
+ }, [
1034
+ (u(!0), _(Z, null, ae(n.value, (le, ge) => (u(), _("div", {
1035
+ key: ge,
1036
+ class: Y(
1037
+ a.lite ? ge % 2 ? "col-md-5 col-12" : "col-md-7 col-12" : "col-md-6 col-12 flex items-center"
1038
+ )
1039
+ }, [
1040
+ c("span", null, [
1041
+ S(H, {
1042
+ size: "xs",
1043
+ name: le.icon
1044
+ }, null, 8, ["name"]),
1045
+ c("span", Lt, b(le.format(h(o))), 1),
1046
+ S(we, null, {
1047
+ default: L(() => [
1048
+ z(b(le.label), 1)
1049
+ ]),
1050
+ _: 2
1051
+ }, 1024)
1052
+ ])
1053
+ ], 2))), 128))
1054
+ ], 4),
1055
+ a.lite ? w("", !0) : (u(), _(Z, { key: 0 }, [
1056
+ (v = h(o)) != null && v.consumo_maximo_w || (d = h(o)) != null && d.consumo_medio_w ? (u(), _("div", jt, [
1057
+ (p = h(o)) != null && p.consumo_medio_w ? (u(), _("div", Qt, [
1058
+ S(H, {
1059
+ color: "green",
1060
+ name: "sym_o_flash_on",
1061
+ class: "q-mr-xs",
1062
+ size: "18px"
1063
+ }),
1064
+ c("div", null, [
1065
+ z(" Consumo medio: "),
1066
+ c("span", Ut, b((f = h(o)) == null ? void 0 : f.consumo_medio_w), 1)
1067
+ ])
1068
+ ])) : w("", !0),
1069
+ (k = h(o)) != null && k.consumo_maximo_w ? (u(), _("div", Gt, [
1070
+ S(H, {
1071
+ color: "green",
1072
+ name: "sym_o_flash_on",
1073
+ class: "q-mr-xs",
1074
+ size: "18px"
1075
+ }),
1076
+ c("div", null, [
1077
+ z(" Consumo máximo: "),
1078
+ c("span", Ht, b((P = h(o)) == null ? void 0 : P.consumo_maximo_w), 1)
1079
+ ])
1080
+ ])) : w("", !0)
1081
+ ])) : w("", !0),
1082
+ c("div", Xt, [
1083
+ s.value ? (u(), _("div", Yt, [
1084
+ z(" Distancia recomendada: "),
1085
+ c("span", Kt, "a partir de " + b(s.value) + " m", 1)
1086
+ ])) : w("", !0),
1087
+ (A = h(o)) != null && A.serie ? (u(), _("div", Wt, [
1088
+ z(" Serie: "),
1089
+ c("span", Jt, b(l("serie", (T = h(o)) == null ? void 0 : T.serie)), 1)
1090
+ ])) : w("", !0),
1091
+ (O = h(o)) != null && O.material ? (u(), _("div", Zt, [
1092
+ z(" Material: "),
1093
+ c("span", eo, b(l("material", (D = h(o)) == null ? void 0 : D.material)), 1)
1094
+ ])) : w("", !0),
1095
+ (F = h(o)) != null && F.usos_habituales && h(ne.isArray)((N = h(o)) == null ? void 0 : N.usos_habituales) ? (u(), _("div", to, [
1096
+ z(" Usos habituales: "),
1097
+ c("span", oo, b(l("usos_habituales", (G = h(o)) == null ? void 0 : G.usos_habituales)), 1)
1098
+ ])) : w("", !0),
1099
+ (C = h(o)) != null && C.propositos_generales && h(ne.isArray)((q = h(o)) == null ? void 0 : q.propositos_generales) ? (u(), _("div", no, [
1100
+ z(" Propositos generales: "),
1101
+ c("span", ao, b(l("propositos_generales", (E = h(o)) == null ? void 0 : E.propositos_generales)), 1)
1102
+ ])) : w("", !0),
1103
+ (M = h(o)) != null && M.controladoras_compatibles && h(ne.isArray)(($ = h(o)) == null ? void 0 : $.controladoras_compatibles) ? (u(), _("div", io, [
1104
+ z(" Controladoras compatibles: "),
1105
+ c("span", so, b(l(
1106
+ "controladoras_compatibles",
1107
+ (B = h(o)) == null ? void 0 : B.controladoras_compatibles
1108
+ )), 1)
1109
+ ])) : w("", !0),
1110
+ (R = h(o)) != null && R.tipo_de_instalacion ? (u(), _("div", lo, [
1111
+ z(" Tipo de instalación: "),
1112
+ c("span", ro, b(l("tipo_de_instalacion", (r = h(o)) == null ? void 0 : r.tipo_de_instalacion)), 1)
1113
+ ])) : w("", !0),
1114
+ (x = h(o)) != null && x.tipo_servicio ? (u(), _("div", co, [
1115
+ z(" Conexiones y acceso a componentes: "),
1116
+ c("span", uo, b(l("tipo_servicio", (I = h(o)) == null ? void 0 : I.tipo_servicio)), 1)
1117
+ ])) : w("", !0)
1118
+ ]),
1119
+ c("div", vo, [
1120
+ ((V = h(o)) == null ? void 0 : V.gob) == "si" ? (u(), _("div", mo, [
1121
+ S(H, {
1122
+ color: "yellow-9",
1123
+ style: { "font-size": "20px" },
1124
+ name: "sym_o_verified_user"
1125
+ }),
1126
+ c("div", po, [
1127
+ z(" GOB "),
1128
+ ((_e = h(o)) == null ? void 0 : _e.gob) == "si" ? (u(), _("span", _o, " (mayor resistencia a golpes, humedad y polvo.)")) : w("", !0)
1129
+ ])
1130
+ ])) : w("", !0),
1131
+ (fe = h(o)) != null && fe.proteccion_ip ? (u(), _("div", fo, [
1132
+ S(H, {
1133
+ color: "yellow-9",
1134
+ style: { "font-size": "20px" },
1135
+ name: "sym_o_verified_user"
1136
+ }),
1137
+ c("div", ho, b(l("proteccion_ip", (he = h(o)) == null ? void 0 : he.proteccion_ip)), 1)
1138
+ ])) : w("", !0)
1139
+ ])
1140
+ ], 64))
1141
+ ]);
1142
+ };
1143
+ }
1144
+ }), yo = /* @__PURE__ */ U({
1145
+ __name: "ProductTag",
1146
+ props: {
1147
+ tag: {}
1148
+ },
1149
+ setup(e) {
1150
+ return (t, o) => t.tag ? (u(), j($e, {
1151
+ key: 0,
1152
+ class: "tag",
1153
+ size: "12px"
1154
+ }, {
1155
+ default: L(() => [
1156
+ z(b(t.tag), 1)
1157
+ ]),
1158
+ _: 1
1159
+ })) : w("", !0);
1160
+ }
1161
+ }), bo = /* @__PURE__ */ K(yo, [["__scopeId", "data-v-d02465b6"]]), xo = (e) => (Ke("data-v-71945b58"), e = e(), We(), e), ko = { class: "carousel-container" }, Co = { class: "overlay" }, wo = { class: "header-overlay" }, $o = {
1162
+ class: "text-center row justify center no-wrap",
1163
+ style: { "overflow-x": "auto", width: "200px" }
1164
+ }, Po = { class: "media-count" }, So = {
1165
+ key: 0,
1166
+ class: "visibility-icon-container top-right"
1167
+ }, qo = { class: "row justify-between no-wrap" }, zo = {
1168
+ class: "text-subtitle1 font-bold",
1169
+ style: { "line-height": "120%" }
1170
+ }, To = {
1171
+ key: 0,
1172
+ class: "text-caption"
1173
+ }, Io = { class: "row justify-between items-center q-mt-xs" }, Fo = { class: "col-md-4" }, Bo = { class: "text-h5" }, Ao = { class: "col-md-4 text-center text-weight-medium" }, No = { class: "col-md-4 text-right text-weight-medium" }, Oo = {
1174
+ style: { "font-size": "15px" },
1175
+ class: "q-px-md q-mb-md text-black"
1176
+ }, Eo = { class: "color-selector q-mb-md" }, Ro = {
1177
+ class: "q-mb-md",
1178
+ style: { opacity: "0.85" }
1179
+ }, Do = {
1180
+ key: 0,
1181
+ class: "line-2"
1182
+ }, Mo = { key: 1 }, Vo = /* @__PURE__ */ xo(() => /* @__PURE__ */ c("i", null, "Sin descripción", -1)), Lo = [
1183
+ Vo
1184
+ ], Ce = (e) => e.charAt(0).toUpperCase() + e.slice(1), jo = (e, t = !1) => typeof e != "string" ? e : (e = e.toLowerCase(), t ? e.split(" ").map(Ce).join(" ") : Ce(e)), Qo = (e, t, o = "EUR") => {
1185
+ const l = (e == null ? void 0 : e.toString().replace(/[^0-9.,]/g, "")) || 0;
1186
+ return Number(l).toLocaleString("de-DE", {
1187
+ style: "currency",
1188
+ currency: o,
1189
+ minimumFractionDigits: t ?? 2,
1190
+ maximumFractionDigits: t ?? 2
1191
+ });
1192
+ }, Uo = {
1193
+ negro: "#000000",
1194
+ blanco: "#FFFFFF",
1195
+ rojo: "#FF0000",
1196
+ verde: "#00FF00",
1197
+ azul: "#0000FF",
1198
+ amarillo: "#FFFF00",
1199
+ gris: "#808080",
1200
+ naranja: "#FFA500",
1201
+ rosado: "#FFC0CB",
1202
+ morado: "#800080",
1203
+ marrón: "#8B4513"
1204
+ }, Go = /* @__PURE__ */ U({
1205
+ __name: "LinvermediaProductCard",
1206
+ props: {
1207
+ item: {},
1208
+ fetching: { type: Boolean },
1209
+ handleRowClick: { type: Function, default: () => {
1210
+ } },
1211
+ columns: { default: () => [] }
1212
+ },
1213
+ emits: ["click-card", "data-updated"],
1214
+ setup(e, { emit: t }) {
1215
+ const o = e, { item: l } = me(o), i = Q(l.value), n = y(() => ne.upperFirst(i.value.NOMBRE)), s = y(() => (i.value.DESCRIPCION || "").trim()), a = y(() => i.value.COD_ART_MVX || ""), m = y(
1216
+ () => Number(i.value.PRECIO) ? Qo(i.value.PRECIO || 0) : "Solicitar cotización"
1217
+ ), v = Ye(Uo), d = y(() => {
1218
+ var k, P;
1219
+ return (P = (k = i.value) == null ? void 0 : k.TAGS) == null ? void 0 : P.split(",");
1220
+ });
1221
+ X(l, (k) => {
1222
+ i.value = k;
1223
+ });
1224
+ const p = Q(1);
1225
+ y(() => ["producto", i.value.ID_PRODUCTO, "archivos"]);
1226
+ const f = Q([]);
1227
+ return (k, P) => (u(), j(lt, {
1228
+ class: "card-custom",
1229
+ loading: k.fetching
1230
+ }, {
1231
+ default: L(() => {
1232
+ var A, T, O, D, F, N, G;
1233
+ return [
1234
+ c("div", ko, [
1235
+ c("div", Co, [
1236
+ c("div", wo, b(a.value), 1),
1237
+ c("div", $o, [
1238
+ (u(!0), _(Z, null, ae(d.value, (C) => (u(), j(bo, { tag: C }, null, 8, ["tag"]))), 256))
1239
+ ]),
1240
+ c("div", Po, [
1241
+ z(b((A = f.value) != null && A.length ? p.value : 0) + "/" + b(((T = f.value) == null ? void 0 : T.length) || 0) + " ", 1),
1242
+ S(H, {
1243
+ name: "sym_o_image",
1244
+ size: "sm",
1245
+ class: "q-ml-xs"
1246
+ })
1247
+ ])
1248
+ ]),
1249
+ S(Ot, {
1250
+ items: f.value,
1251
+ modelValue: p.value,
1252
+ "onUpdate:modelValue": P[0] || (P[0] = (C) => p.value = C)
1253
+ }, null, 8, ["items", "modelValue"]),
1254
+ f.value && f.value[p.value - 1] ? (u(), _("div", So, [
1255
+ S(H, {
1256
+ name: (O = f.value[p.value - 1]) != null && O.public ? "public" : "public_off",
1257
+ size: "24px",
1258
+ class: Y((D = f.value[p.value - 1]) != null && D.public ? "green" : "red")
1259
+ }, {
1260
+ default: L(() => [
1261
+ S(we, null, {
1262
+ default: L(() => {
1263
+ var C;
1264
+ return [
1265
+ z(b((C = f.value[p.value - 1]) != null && C.public ? "Visible al público" : "Privado"), 1)
1266
+ ];
1267
+ }),
1268
+ _: 1
1269
+ })
1270
+ ]),
1271
+ _: 1
1272
+ }, 8, ["name", "class"])
1273
+ ])) : w("", !0)
1274
+ ]),
1275
+ c("div", {
1276
+ onClick: P[1] || (P[1] = (C) => k.handleRowClick(i.value)),
1277
+ class: "clickable"
1278
+ }, [
1279
+ S(Je, null, {
1280
+ default: L(() => {
1281
+ var C, q, E, M, $, B, R, r;
1282
+ return [
1283
+ c("div", null, [
1284
+ c("div", null, [
1285
+ c("div", qo, [
1286
+ c("div", zo, b(n.value), 1),
1287
+ i.value.R_ESTADO ? (u(), j(Vt, {
1288
+ key: 0,
1289
+ label: (q = (C = i.value) == null ? void 0 : C.R_ESTADO) == null ? void 0 : q.NAME,
1290
+ color: (M = (E = i.value) == null ? void 0 : E.R_ESTADO) == null ? void 0 : M.COLOR
1291
+ }, null, 8, ["label", "color"])) : w("", !0)
1292
+ ]),
1293
+ i.value.PROPS.sku ? (u(), _("div", To, " SKU: " + b(i.value.PROPS.sku), 1)) : w("", !0),
1294
+ c("div", Io, [
1295
+ c("div", Fo, [
1296
+ c("span", Bo, b(m.value), 1)
1297
+ ]),
1298
+ c("div", Ao, b(jo((B = ($ = i.value) == null ? void 0 : $.PROPS) == null ? void 0 : B.ubicacion)), 1),
1299
+ c("div", No, [
1300
+ (r = (R = i.value) == null ? void 0 : R.PROPS) != null && r.a_medida ? (u(), j($e, {
1301
+ key: 0,
1302
+ color: "accent-1",
1303
+ "text-color": "white",
1304
+ size: "12px"
1305
+ }, {
1306
+ default: L(() => [
1307
+ z("A medida")
1308
+ ]),
1309
+ _: 1
1310
+ })) : w("", !0)
1311
+ ])
1312
+ ])
1313
+ ])
1314
+ ])
1315
+ ];
1316
+ }),
1317
+ _: 1
1318
+ }),
1319
+ c("div", Oo, [
1320
+ c("div", Eo, [
1321
+ (u(!0), _(Z, null, ae((G = (N = (F = i.value) == null ? void 0 : F.PROPS) == null ? void 0 : N.colores_disponibles) == null ? void 0 : G.filter(
1322
+ (C) => v[C]
1323
+ ), (C, q) => (u(), _("div", {
1324
+ key: q,
1325
+ style: ee({ backgroundColor: v[C] || "#ccc" }),
1326
+ class: "color-circle"
1327
+ }, null, 4))), 128))
1328
+ ]),
1329
+ c("div", Ro, [
1330
+ s.value ? (u(), _("span", Do, b(s.value || "~"), 1)) : (u(), _("span", Mo, Lo))
1331
+ ]),
1332
+ S(go, {
1333
+ "product-props": i.value.PROPS,
1334
+ lite: !0,
1335
+ "hidden-props": [
1336
+ "compatible_videowall",
1337
+ "doble_cara",
1338
+ "peso_kg",
1339
+ "gran_formato_independiente",
1340
+ "tasa_de_refresco_hz",
1341
+ "resolucion"
1342
+ ]
1343
+ }, null, 8, ["product-props"])
1344
+ ])
1345
+ ])
1346
+ ];
1347
+ }),
1348
+ _: 1
1349
+ }, 8, ["loading"]));
1350
+ }
1351
+ }), Yo = /* @__PURE__ */ K(Go, [["__scopeId", "data-v-71945b58"]]);
1352
+ export {
1353
+ Yo as default,
1354
+ Qo as toCurrency
1355
+ };