@livestorm/ui-vue 1.1.2 → 1.1.3

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.
@@ -0,0 +1,1656 @@
1
+ import { useSlots as ce, isVNode as Ee, Comment as Le, Fragment as q, computed as A, resolveComponent as z, openBlock as S, createBlock as D, resolveDynamicComponent as Ne, mergeProps as Ie, withCtx as N, createElementVNode as B, createElementBlock as w, normalizeClass as M, createVNode as G, createCommentVNode as k, withModifiers as fe, defineComponent as ve, inject as Ve, resolveDirective as je, withDirectives as pe, ref as T, watch as me, onUnmounted as be, getCurrentInstance as ze, onMounted as se, nextTick as De, reactive as We, provide as oe, toRefs as he, Transition as qe, Suspense as Ge, unref as Y, normalizeStyle as Ue, renderSlot as ge, pushScopeId as He, popScopeId as Qe, createTextVNode as ye, toDisplayString as Z, renderList as de, normalizeProps as Ke, guardReactiveProps as Ze, withKeys as W, vModelText as Je } from "vue";
2
+ import Xe from "mitt";
3
+ import { onKeyDown as Ye, onClickOutside as $e } from "@vueuse/core";
4
+ import "i18next";
5
+ import "floating-vue";
6
+ import "vue-router";
7
+ function le() {
8
+ const d = ce();
9
+ return new Proxy(d, {
10
+ get: (u, a) => (...v) => {
11
+ var o;
12
+ return Se((o = u[a]) == null ? void 0 : o.call(u, ...v));
13
+ }
14
+ });
15
+ }
16
+ function Se(d) {
17
+ return d && d.some((p) => Ee(p) ? !(p.type === Le || p.type === q && !Se(p.children)) : !0) ? d : null;
18
+ }
19
+ const qt = ({ vnodes: d }) => d, et = {
20
+ props: {
21
+ href: {
22
+ type: String,
23
+ default: null
24
+ },
25
+ to: {
26
+ type: Object,
27
+ default: null
28
+ },
29
+ type: {
30
+ type: String,
31
+ default: "submit"
32
+ },
33
+ // eslint-disable-next-line vue/require-prop-types
34
+ value: {
35
+ default: null
36
+ }
37
+ },
38
+ computed: {
39
+ component() {
40
+ return this.to ? {
41
+ is: "router-link",
42
+ props: {
43
+ to: this.to,
44
+ // @TODO vue3 check if we need to have a replacement for this
45
+ // exact: !this.activePage,
46
+ disabled: this.disabled
47
+ }
48
+ } : this.href ? {
49
+ is: "a",
50
+ props: {
51
+ href: this.disabled ? void 0 : this.href
52
+ }
53
+ } : this.$attrs.tag ? {
54
+ is: this.$attrs.tag,
55
+ props: {}
56
+ } : {
57
+ is: "button",
58
+ props: {
59
+ type: this.type,
60
+ disabled: this.disabled
61
+ }
62
+ };
63
+ }
64
+ }
65
+ }, $ = (d, p) => {
66
+ const u = d.__vccOpts || d;
67
+ for (const [a, v] of p)
68
+ u[a] = v;
69
+ return u;
70
+ }, tt = {
71
+ mixins: [
72
+ et
73
+ ],
74
+ props: {
75
+ disabled: {
76
+ type: Boolean,
77
+ default: !1
78
+ },
79
+ hideLabel: {
80
+ type: Boolean,
81
+ default: !1
82
+ },
83
+ hideLeftIcon: {
84
+ type: Boolean,
85
+ default: !1
86
+ },
87
+ icon: {
88
+ type: [String, Boolean],
89
+ default: null
90
+ },
91
+ iconRight: {
92
+ type: [String, Boolean],
93
+ default: null
94
+ },
95
+ loading: {
96
+ type: Boolean,
97
+ default: !1
98
+ },
99
+ label: {
100
+ type: String,
101
+ default: null
102
+ },
103
+ imageSource: {
104
+ type: String,
105
+ default: null
106
+ },
107
+ alignCenter: {
108
+ type: Boolean,
109
+ default: !1
110
+ },
111
+ closable: {
112
+ type: Boolean,
113
+ default: !1
114
+ }
115
+ },
116
+ emits: [
117
+ "click",
118
+ "close",
119
+ "mouseenter",
120
+ "mouseleave"
121
+ ],
122
+ setup(d) {
123
+ const p = le(), u = A(() => p.default()), a = A(() => p.icon()), v = A(() => !d.hideLabel && !!u.value);
124
+ return {
125
+ defaultSlot: u,
126
+ iconSlot: a,
127
+ hasLabel: v
128
+ };
129
+ },
130
+ computed: {
131
+ cssClass() {
132
+ return {
133
+ loading: this.loading,
134
+ "hide-label": this.hideLabel,
135
+ "base-button-square": !this.hasLabel && this.hasIcon,
136
+ "flex justify-center": this.alignCenter,
137
+ closable: this.closable
138
+ };
139
+ },
140
+ finalDisabled() {
141
+ return this.disabled || this.loading;
142
+ },
143
+ hasIcon() {
144
+ return this.icon || this.iconRight;
145
+ },
146
+ isToggle() {
147
+ var d;
148
+ return ((d = this.iconRight) == null ? void 0 : d.includes("i-ls-chevron-down")) && this.hasLabel;
149
+ },
150
+ labelFinal() {
151
+ var d, p, u;
152
+ return !this.isToggle && (((u = ((p = (d = this.$slots).default) == null ? void 0 : p.call(d)[0].text) || this.label) == null ? void 0 : u.trim()) || void 0);
153
+ }
154
+ },
155
+ methods: {
156
+ onClick(d) {
157
+ this.finalDisabled ? d.preventDefault() : this.$emit("click", d);
158
+ }
159
+ }
160
+ }, nt = { class: "button-wrapper" }, rt = /* @__PURE__ */ B("span", { class: "loader" }, null, -1), it = [
161
+ rt
162
+ ], at = ["src"], ot = { class: "content truncate" };
163
+ function st(d, p, u, a, v, o) {
164
+ const r = z("RenderSlot");
165
+ return S(), D(Ne(d.component.is), Ie(d.component.props, {
166
+ disabled: o.finalDisabled ? !0 : null,
167
+ class: [o.cssClass, "base-button"],
168
+ "aria-label": o.labelFinal,
169
+ onClick: o.onClick,
170
+ onMouseenter: p[1] || (p[1] = (i) => d.$emit("mouseenter")),
171
+ onMouseleave: p[2] || (p[2] = (i) => d.$emit("mouseleave"))
172
+ }), {
173
+ default: N(() => [
174
+ B("div", nt, [
175
+ u.loading ? (S(), w("span", {
176
+ key: 0,
177
+ class: M(["button-loader", { "left-icon": a.hasLabel }])
178
+ }, it, 2)) : u.hideLeftIcon ? k("", !0) : (S(), w(q, { key: 1 }, [
179
+ a.iconSlot ? (S(), w("div", {
180
+ key: 0,
181
+ class: M([{ "left-icon": a.hasLabel }, "button-icon"])
182
+ }, [
183
+ G(r, { vnodes: a.iconSlot }, null, 8, ["vnodes"])
184
+ ], 2)) : u.imageSource ? (S(), w("div", {
185
+ key: 1,
186
+ class: M([{ "left-icon": a.hasLabel }, "button-icon"])
187
+ }, [
188
+ B("img", { src: u.imageSource }, null, 8, at)
189
+ ], 2)) : u.icon ? (S(), w("div", {
190
+ key: 2,
191
+ class: M([[
192
+ u.icon,
193
+ { "left-icon": a.hasLabel }
194
+ ], "button-icon"])
195
+ }, null, 2)) : k("", !0)
196
+ ], 64)),
197
+ B("span", ot, [
198
+ u.hideLabel ? k("", !0) : (S(), D(r, {
199
+ key: 0,
200
+ vnodes: a.defaultSlot
201
+ }, null, 8, ["vnodes"]))
202
+ ]),
203
+ u.iconRight ? (S(), w("div", {
204
+ key: 2,
205
+ class: M([[
206
+ u.iconRight,
207
+ { "right-icon": a.hasLabel }
208
+ ], "button-icon"])
209
+ }, null, 2)) : k("", !0),
210
+ u.closable ? (S(), w("div", {
211
+ key: 3,
212
+ class: "button-icon icon-close i-ls-x",
213
+ onClick: p[0] || (p[0] = fe((i) => d.$emit("close"), ["stop", "prevent"]))
214
+ })) : k("", !0)
215
+ ])
216
+ ]),
217
+ _: 1
218
+ }, 16, ["disabled", "class", "aria-label", "onClick"]);
219
+ }
220
+ const Me = /* @__PURE__ */ $(tt, [["render", st]]), Gt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
221
+ __proto__: null,
222
+ default: Me
223
+ }, Symbol.toStringTag, { value: "Module" })), lt = ["id", "checked", "disabled"], ut = ["for"], dt = ["innerHTML"], ct = ["innerHTML"], ft = {
224
+ key: 3,
225
+ class: "input-custom"
226
+ }, Ut = /* @__PURE__ */ ve({
227
+ __name: "BaseCheckbox",
228
+ props: {
229
+ modelValue: {},
230
+ value: { default: !1 },
231
+ label: { default: void 0 },
232
+ labelClass: { default: void 0 },
233
+ description: { default: void 0 },
234
+ inputClass: { default: void 0 },
235
+ forId: { default: void 0 },
236
+ tooltip: { default: void 0 },
237
+ required: { type: Boolean, default: !1 },
238
+ disabled: { type: Boolean, default: !1 },
239
+ disableChange: { type: Boolean, default: !1 },
240
+ isConsent: { type: Boolean, default: !1 },
241
+ icon: { default: "i-ls-check" },
242
+ orientation: { default: "horizontal" }
243
+ },
244
+ emits: ["change", "update:modelValue", "tooltip-clicked"],
245
+ setup(d, { emit: p }) {
246
+ const u = d, a = Ve("BaseFormInputInjection", void 0), v = le(), o = A(() => v.icon ? v.icon() : null), r = A(() => {
247
+ var e;
248
+ return (e = a == null ? void 0 : a.childConfig) == null ? void 0 : e.value;
249
+ });
250
+ function i(e) {
251
+ return Array.isArray(e) ? e.includes(u.value) : e === u.value;
252
+ }
253
+ const f = A(() => u.modelValue !== void 0 ? i(u.modelValue) : a && r.value ? i(r.value) && u.value : u.value);
254
+ function t(e) {
255
+ const n = e.target;
256
+ let m = n.checked;
257
+ u.modelValue !== void 0 && (m = [...u.modelValue], n.checked ? m.push(u.value) : m.splice(m.indexOf(u.value), 1)), p("update:modelValue", m), p("change", m), a && a.setInputModel(m);
258
+ }
259
+ return (e, n) => {
260
+ const m = z("RenderSlot"), s = je("tooltip");
261
+ return S(), w("div", {
262
+ class: M(["base-checkbox", {
263
+ "base-checkbox-disabled": e.disabled,
264
+ "pointer-events-none": e.disableChange,
265
+ "base-checkbox-consent": e.isConsent,
266
+ "with-description": e.description
267
+ }])
268
+ }, [
269
+ B("input", {
270
+ id: e.forId,
271
+ ref: "checkbox",
272
+ checked: f.value,
273
+ disabled: e.disabled,
274
+ type: "checkbox",
275
+ onChange: t
276
+ }, null, 40, lt),
277
+ B("label", {
278
+ for: e.forId,
279
+ class: M({
280
+ "flex flex-col vertical-padding-large": e.orientation === "vertical",
281
+ "vertical-padding": e.description && e.orientation === "horizontal"
282
+ })
283
+ }, [
284
+ o.value ? (S(), w("div", {
285
+ key: 0,
286
+ class: M(["w-4 h-4 icon flex items-center justify-center", [e.orientation === "vertical" ? "mb-2" : "mr-2"]])
287
+ }, [
288
+ G(m, { vnodes: o.value }, null, 8, ["vnodes"])
289
+ ], 2)) : k("", !0),
290
+ e.orientation === "horizontal" ? (S(), w("span", {
291
+ key: 1,
292
+ class: M(["input-custom !mt-[1px]", e.inputClass])
293
+ }, [
294
+ !e.disabled || f.value ? (S(), w("div", {
295
+ key: 0,
296
+ class: M([e.icon, "check-checkbox"])
297
+ }, null, 2)) : k("", !0)
298
+ ], 2)) : k("", !0),
299
+ e.label ? (S(), w("span", {
300
+ key: 2,
301
+ class: M(["label-custom", {
302
+ "mb-2 !ml-0 text-center": e.orientation === "vertical"
303
+ }])
304
+ }, [
305
+ B("span", {
306
+ class: M(["text-grey-700 label", [
307
+ e.labelClass
308
+ ]]),
309
+ innerHTML: e.required ? `${e.label} *` : e.label
310
+ }, null, 10, dt),
311
+ e.tooltip ? pe((S(), w("span", {
312
+ key: 0,
313
+ "data-testid": "open-tooltip",
314
+ onClick: n[0] || (n[0] = fe((l) => e.$emit("tooltip-clicked"), ["stop", "prevent"]))
315
+ }, null, 512)), [
316
+ [s, e.tooltip]
317
+ ]) : k("", !0),
318
+ e.description ? (S(), w("span", {
319
+ key: 1,
320
+ class: M(["text-14-medium text-grey-600 description block", {
321
+ "text-center": e.orientation === "vertical"
322
+ }]),
323
+ innerHTML: e.description
324
+ }, null, 10, ct)) : k("", !0)
325
+ ], 2)) : k("", !0),
326
+ e.orientation === "vertical" ? (S(), w("span", ft, [
327
+ !e.disabled || f.value ? (S(), w("div", {
328
+ key: 0,
329
+ class: M([e.icon, "check-checkbox"])
330
+ }, null, 2)) : k("", !0)
331
+ ])) : k("", !0)
332
+ ], 10, ut)
333
+ ], 2);
334
+ };
335
+ }
336
+ });
337
+ Xe();
338
+ let vt = 0;
339
+ const L = T([]), pt = A(() => L.value.length > 0);
340
+ function mt(d, p) {
341
+ const u = vt++, a = A(() => L.value.findIndex((s) => s.id === u));
342
+ function v() {
343
+ L.value.some((s) => s.id === u) || L.value.push({
344
+ id: u,
345
+ type: p
346
+ });
347
+ }
348
+ function o() {
349
+ a.value !== -1 && L.value.splice(a.value, 1);
350
+ }
351
+ me(d, (s) => {
352
+ s ? v() : o();
353
+ }, {
354
+ immediate: !0
355
+ }), be(() => {
356
+ o();
357
+ });
358
+ const r = A(() => {
359
+ var s;
360
+ return u === ((s = L.value[L.value.length - 1]) == null ? void 0 : s.id);
361
+ }), i = A(() => a.value > 0), f = A(() => L.value.filter((s) => s.type === p)), t = A(() => f.value.findIndex((s) => s.id === u) < f.value.length - 1), e = A(() => f.value.findIndex((s) => s.id === u) > 0), n = [];
362
+ function m(s) {
363
+ n.push(s);
364
+ }
365
+ return Ye("Escape", () => {
366
+ r.value && n.forEach((s) => s());
367
+ }), {
368
+ isActiveStacked: r,
369
+ hasStackedBehind: i,
370
+ isBehindSameType: t,
371
+ hasStackedSameTypeBehind: e,
372
+ stackIndex: a,
373
+ onClose: m
374
+ };
375
+ }
376
+ typeof document < "u" && me(pt, (d) => {
377
+ d ? document.documentElement.classList.add("overflow-hidden") : document.documentElement.classList.remove("overflow-hidden");
378
+ }, {
379
+ immediate: !0
380
+ });
381
+ function bt() {
382
+ const d = ze();
383
+ let p = null;
384
+ se(async () => {
385
+ await De();
386
+ const u = d.proxy.$el;
387
+ if (!(u != null && u.querySelector))
388
+ return;
389
+ let a = u.querySelector("[data-stackview-autofocus]");
390
+ a ? ["INPUT", "A", "BUTTON", "TEXTAREA"].includes(a.tagName) || (a = a.querySelector("input, a, button, textarea") || a) : (a = u.querySelector('button[type="submit"]'), console.warn(
391
+ "%cDEV",
392
+ "background: red; color: white; padding: 2px 4px; border-radius: 3px; font-weight: bold;",
393
+ "A element should have the data-stackview-autofocus attribute in this component. Fallback to submit button."
394
+ )), clearTimeout(p), p = setTimeout(() => a == null ? void 0 : a.focus(), 150);
395
+ });
396
+ }
397
+ const ht = (d) => (He("data-v-9d64f090"), d = d(), Qe(), d), gt = /* @__PURE__ */ ht(() => /* @__PURE__ */ B("div", { class: "backdrop bg-alpha-black-300 fixed inset-0 -z-10" }, null, -1)), we = Symbol("BaseModal.propsFromContent"), _e = Symbol("BaseModal.close"), ke = Symbol("BaseModal.onClose"), yt = /* @__PURE__ */ ve({
398
+ __name: "BaseModal",
399
+ props: {
400
+ shown: { type: Boolean, default: !0 }
401
+ },
402
+ emits: [
403
+ "close",
404
+ "update:shown"
405
+ ],
406
+ setup(d, { emit: p }) {
407
+ const u = d, a = We({
408
+ locked: !1,
409
+ fullScreen: !1
410
+ });
411
+ oe(we, a);
412
+ const v = A(() => a.locked), o = A(() => a.fullScreen);
413
+ function r() {
414
+ v.value || (p("update:shown", !1), p("close"));
415
+ }
416
+ oe(_e, r);
417
+ const i = [];
418
+ oe(ke, (c) => {
419
+ i.push(c), be(() => {
420
+ const h = i.indexOf(c);
421
+ i.splice(h, 1);
422
+ });
423
+ });
424
+ function f() {
425
+ v.value || (r(), i.forEach((c) => c()));
426
+ }
427
+ const { shown: t } = he(u), {
428
+ isActiveStacked: e,
429
+ stackIndex: n,
430
+ onClose: m
431
+ } = mt(t, "modal");
432
+ m(f);
433
+ const s = T(!1);
434
+ se(() => {
435
+ requestAnimationFrame(() => {
436
+ s.value = !0;
437
+ });
438
+ });
439
+ const l = A(() => t.value && s.value);
440
+ return bt(), (c, h) => {
441
+ const g = z("SafeTeleport");
442
+ return S(), D(g, { to: "#teleport-end" }, {
443
+ default: N(() => [
444
+ G(qe, {
445
+ duration: 200,
446
+ name: "modal",
447
+ appear: ""
448
+ }, {
449
+ default: N(() => [
450
+ l.value ? (S(), D(Ge, { key: 0 }, {
451
+ default: N(() => [
452
+ B("div", {
453
+ class: M(["base-modal-wrapper fixed inset-0 overflow-y-auto", [
454
+ Y(e) ? "stack-active" : "grayscale stack-inactive",
455
+ {
456
+ "full-screen": o.value
457
+ }
458
+ ]]),
459
+ style: Ue({
460
+ "z-index": Y(n) + 8e3
461
+ }),
462
+ "data-testid": "modal-wrapper"
463
+ }, [
464
+ B("div", {
465
+ class: "absolute inset-0",
466
+ onClick: h[0] || (h[0] = (_) => f())
467
+ }),
468
+ gt,
469
+ ge(c.$slots, "default", {}, void 0, !0)
470
+ ], 6)
471
+ ]),
472
+ _: 3
473
+ })) : k("", !0)
474
+ ]),
475
+ _: 3
476
+ })
477
+ ]),
478
+ _: 3
479
+ });
480
+ };
481
+ }
482
+ });
483
+ const St = /* @__PURE__ */ $(yt, [["__scopeId", "data-v-9d64f090"]]), Ht = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
484
+ __proto__: null,
485
+ InjectClose: _e,
486
+ InjectOnClose: ke,
487
+ InjectPropsFromContent: we,
488
+ default: St
489
+ }, Symbol.toStringTag, { value: "Module" }));
490
+ const Mt = {
491
+ components: {
492
+ BaseButton: Me
493
+ },
494
+ props: {
495
+ type: {
496
+ type: String,
497
+ default: "alert",
498
+ validator(d) {
499
+ return ["info", "success", "warning", "alert"].includes(d);
500
+ }
501
+ },
502
+ display: {
503
+ type: String,
504
+ default: "inline",
505
+ validator(d) {
506
+ return ["inline", "block"].includes(d);
507
+ }
508
+ },
509
+ buttonLabel: {
510
+ type: String,
511
+ default: ""
512
+ },
513
+ buttonHref: {
514
+ type: String,
515
+ default: null
516
+ },
517
+ buttonIcon: {
518
+ type: String,
519
+ default: null
520
+ },
521
+ closable: {
522
+ type: Boolean,
523
+ default: !1
524
+ },
525
+ bannerMode: {
526
+ type: Boolean,
527
+ default: !1
528
+ },
529
+ borderRounded: {
530
+ type: Boolean,
531
+ default: !0
532
+ },
533
+ bannerBottomOnSmallScreen: {
534
+ type: Boolean,
535
+ default: !0
536
+ },
537
+ forceInlineDisplayOnSmallScreen: {
538
+ type: Boolean,
539
+ default: !0
540
+ },
541
+ disabledButton: {
542
+ type: Boolean,
543
+ default: !1
544
+ }
545
+ },
546
+ emits: ["handleClick", "close"],
547
+ setup() {
548
+ const d = le(), p = A(() => d.default()), u = A(() => d.description()), a = A(() => d.buttons());
549
+ return {
550
+ descriptionSlot: u,
551
+ buttonsSlot: a,
552
+ defaultSlot: p
553
+ };
554
+ },
555
+ data() {
556
+ return {
557
+ isClosed: !1
558
+ };
559
+ },
560
+ computed: {
561
+ icon() {
562
+ switch (this.type) {
563
+ case "alert":
564
+ return "i-ls-alert-circle text-red-600";
565
+ case "warning":
566
+ return "i-ls-alert-triangle text-orange-600";
567
+ case "info":
568
+ return "i-ls-info text-livestorm-600";
569
+ case "success":
570
+ return "i-ls-check-circle text-green-600";
571
+ default:
572
+ return "i-ls-alert-circle text-livestorm-600";
573
+ }
574
+ },
575
+ bgColor() {
576
+ switch (this.type) {
577
+ case "alert":
578
+ return "bg-red-100";
579
+ case "warning":
580
+ return "bg-orange-100";
581
+ case "success":
582
+ return "bg-green-100";
583
+ case "info":
584
+ default:
585
+ return "bg-livestorm-100";
586
+ }
587
+ },
588
+ buttonClass() {
589
+ switch (this.type) {
590
+ case "alert":
591
+ return "base-button-red-secondary";
592
+ case "warning":
593
+ return "base-button-orange-secondary";
594
+ case "success":
595
+ return "base-button-green-secondary";
596
+ case "info":
597
+ default:
598
+ return "base-button-secondary";
599
+ }
600
+ },
601
+ isDisplayBlock() {
602
+ return this.display === "block" || this.display === "inline" && this.$responsive.mobile && this.forceInlineDisplayOnSmallScreen;
603
+ }
604
+ },
605
+ methods: {
606
+ close() {
607
+ this.isClosed = !0, this.$emit("close");
608
+ }
609
+ }
610
+ }, wt = ["data-type"];
611
+ function _t(d, p, u, a, v, o) {
612
+ const r = z("RenderSlot"), i = z("BaseButton");
613
+ return v.isClosed ? k("", !0) : (S(), w("div", {
614
+ key: 0,
615
+ class: M(["base-banner flex justify-between text-grey-700 text-14-regular px-6 py-4", [
616
+ {
617
+ "rounded-8": u.borderRounded && !u.bannerMode,
618
+ "items-center": !o.isDisplayBlock,
619
+ "fixed z-[10000] w-full left-0": u.bannerMode,
620
+ "bottom-0 md:bottom-auto md:top-0": u.bannerMode && u.bannerBottomOnSmallScreen,
621
+ "top-0": u.bannerMode && !u.bannerBottomOnSmallScreen
622
+ },
623
+ `type-${u.type}`,
624
+ o.bgColor
625
+ ]]),
626
+ "data-testid": "base-banner",
627
+ "data-type": u.type
628
+ }, [
629
+ B("div", {
630
+ class: M(["flex w-full", o.isDisplayBlock ? "flex-col items-center" : "justify-between items-center"])
631
+ }, [
632
+ B("div", {
633
+ class: M(["flex items-center", {
634
+ "flex-col": o.isDisplayBlock
635
+ }])
636
+ }, [
637
+ B("div", {
638
+ class: M(["shrink-0 w-6 h-6 flex justify-center items-center", o.icon])
639
+ }, null, 2),
640
+ B("div", {
641
+ class: M({
642
+ "text-center mt-4": o.isDisplayBlock,
643
+ "mr-3": !o.isDisplayBlock && (u.buttonLabel || a.buttonsSlot),
644
+ "ml-3": !o.isDisplayBlock
645
+ })
646
+ }, [
647
+ a.defaultSlot ? (S(), w("div", {
648
+ key: 0,
649
+ class: M({ "text-14-semibold": a.descriptionSlot })
650
+ }, [
651
+ G(r, { vnodes: a.defaultSlot }, null, 8, ["vnodes"])
652
+ ], 2)) : k("", !0),
653
+ G(r, { vnodes: a.descriptionSlot }, null, 8, ["vnodes"])
654
+ ], 2)
655
+ ], 2),
656
+ a.buttonsSlot ? (S(), w("div", {
657
+ key: 0,
658
+ class: M({ "mt-4": o.isDisplayBlock })
659
+ }, [
660
+ G(r, { vnodes: a.buttonsSlot }, null, 8, ["vnodes"])
661
+ ], 2)) : k("", !0),
662
+ a.buttonsSlot ? k("", !0) : (S(), w(q, { key: 1 }, [
663
+ u.buttonLabel ? (S(), D(i, {
664
+ key: 0,
665
+ type: "button",
666
+ class: M([
667
+ { "mt-4": o.isDisplayBlock },
668
+ o.buttonClass
669
+ ]),
670
+ icon: u.buttonIcon,
671
+ href: u.buttonHref,
672
+ disabled: u.disabledButton,
673
+ target: u.buttonHref ? "_blank" : null,
674
+ "data-testid": "warning-message-button",
675
+ onClick: p[0] || (p[0] = (f) => d.$emit("handleClick"))
676
+ }, {
677
+ default: N(() => [
678
+ ye(Z(u.buttonLabel), 1)
679
+ ]),
680
+ _: 1
681
+ }, 8, ["class", "icon", "href", "disabled", "target"])) : k("", !0)
682
+ ], 64))
683
+ ], 2),
684
+ u.closable ? (S(), w("div", {
685
+ key: 0,
686
+ class: M(["i-ls-x shrink-0 w-5 h-5 text-grey-600 cursor-pointer hover:text-livestorm-800", { "ml-2": !o.isDisplayBlock }]),
687
+ onClick: p[1] || (p[1] = (...f) => o.close && o.close(...f))
688
+ }, null, 2)) : k("", !0)
689
+ ], 10, wt));
690
+ }
691
+ const kt = /* @__PURE__ */ $(Mt, [["render", _t], ["__scopeId", "data-v-5a97a209"]]), Qt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
692
+ __proto__: null,
693
+ default: kt
694
+ }, Symbol.toStringTag, { value: "Module" }));
695
+ const At = { key: 0 }, Bt = ["placeholder"], Pt = { class: "bg-white" }, Ft = ["onClick"], Ot = {
696
+ key: 1,
697
+ class: "px-4 py-2"
698
+ }, xt = {
699
+ __name: "BaseAutocomplete",
700
+ props: {
701
+ modelValue: {
702
+ type: [String, Array, Object],
703
+ default: null
704
+ },
705
+ size: {
706
+ type: String,
707
+ validator: (d) => ["small", "medium", "large"].includes(d),
708
+ default: "medium"
709
+ },
710
+ placeholder: {
711
+ type: String,
712
+ default: null
713
+ },
714
+ prependIcon: {
715
+ type: String,
716
+ default: null
717
+ },
718
+ items: {
719
+ type: Array,
720
+ required: !0
721
+ },
722
+ multiple: {
723
+ type: Boolean,
724
+ default: !1
725
+ },
726
+ hideSelected: {
727
+ type: Boolean,
728
+ default: !1
729
+ },
730
+ noFilter: {
731
+ type: Boolean,
732
+ default: !1
733
+ },
734
+ error: {
735
+ type: Boolean,
736
+ default: !1
737
+ },
738
+ hideNoData: {
739
+ type: Boolean,
740
+ default: !1
741
+ },
742
+ autofocus: {
743
+ type: Boolean,
744
+ default: !1
745
+ },
746
+ noDataText: {
747
+ type: String,
748
+ default: null
749
+ },
750
+ clearable: {
751
+ type: Boolean,
752
+ default: !1
753
+ },
754
+ creatable: {
755
+ type: Boolean,
756
+ default: !1
757
+ }
758
+ },
759
+ emits: ["update:modelValue", "update:search"],
760
+ setup(d, { emit: p }) {
761
+ const u = d, { items: a, modelValue: v, multiple: o, hideSelected: r, noFilter: i, hideNoData: f, autofocus: t, creatable: e } = he(u), n = ce(), m = T(!1), s = A(() => {
762
+ var b;
763
+ return o.value ? ((b = v.value) == null ? void 0 : b.map((y) => I(y))) || [] : I(v.value);
764
+ }), l = T(o.value ? null : K(s.value)), c = A(() => {
765
+ var b;
766
+ return ((b = a.value) == null ? void 0 : b.map(I)) || [];
767
+ }), h = T(!1), g = T(null), _ = T(null), O = T(null), U = T(null), H = T(null), C = A(() => {
768
+ const b = !i.value && h.value && l.value ? c.value.filter((j) => K(j).toLowerCase().includes(l.value.toLowerCase())) : c.value;
769
+ return r.value ? b.filter((j) => !ne(j)) : b;
770
+ }), R = A(() => o.value && s.value.length > 0), Q = A(() => f.value && C.value.length === 0 && (!e.value || !l.value) ? !1 : m.value), J = A(() => e.value && l.value && h.value && !c.value.some((b) => F(b) === l.value));
771
+ function I(b) {
772
+ const y = b !== null && typeof b == "object";
773
+ return {
774
+ ...y ? b : null,
775
+ value: y ? b.value : b,
776
+ text: y ? b.text : b
777
+ };
778
+ }
779
+ function P(b) {
780
+ return c.value.find((j) => F(j) === F(b)) ?? null;
781
+ }
782
+ function V(b) {
783
+ const y = I(b);
784
+ ee(y), o.value && c.value.push(y);
785
+ }
786
+ function ee(b) {
787
+ if (ne(b)) {
788
+ te(b);
789
+ return;
790
+ }
791
+ o.value ? (l.value = null, _.value = null, O.value.focus(), p("update:modelValue", [...s.value.map((y) => y.value), F(b)])) : (m.value = !1, l.value = K(b), p("update:modelValue", s.value)), h.value = !1;
792
+ }
793
+ function te(b) {
794
+ o.value ? (p("update:modelValue", s.value.filter((y) => F(y) !== F(b)).map((y) => F(y))), O.value.focus()) : (m.value = !1, l.value = null, p("update:modelValue", null));
795
+ }
796
+ function ne(b) {
797
+ return s.value ? o.value ? s.value.some((y) => F(y) === F(b)) : F(b) === F(s.value) : !1;
798
+ }
799
+ function Be(b) {
800
+ return g.value === null ? !1 : g.value % C.value.length === b;
801
+ }
802
+ function Pe(b) {
803
+ return _.value === null || !o.value ? !1 : _.value % s.value.length === b;
804
+ }
805
+ function Fe(b) {
806
+ m.value = !0;
807
+ }
808
+ function Oe() {
809
+ h.value = !0, g.value = null, _.value = null, o.value || p("update:modelValue", null), p("update:search", l.value);
810
+ }
811
+ function xe() {
812
+ m.value = !1, h.value = !1, g.value = null, _.value = null, O.value.blur(), o.value && (l.value = null);
813
+ }
814
+ function re(b) {
815
+ if (b === "up")
816
+ g.value = g.value <= 0 ? C.value.length - 1 : g.value - 1;
817
+ else if (b === "down")
818
+ g.value ?? (g.value = -1), g.value++;
819
+ else if (b === "enter")
820
+ if (g.value !== null) {
821
+ const y = C.value[g.value % C.value.length];
822
+ y && ee(y);
823
+ } else
824
+ J.value && V(l.value);
825
+ }
826
+ function ie(b) {
827
+ l.value || !o.value || (_.value ?? (_.value = -1), b === "left" ? _.value = _.value <= 0 ? s.value.length - 1 : _.value - 1 : b === "right" ? _.value++ : b === "delete" && (_.value === -1 ? _.value = s.value.length - 1 : (te(s.value[_.value % s.value.length]), _.value = _.value - 1)));
828
+ }
829
+ function Ce() {
830
+ m.value ? m.value = !1 : O.value.focus();
831
+ }
832
+ function Te() {
833
+ o.value ? p("update:modelValue", []) : p("update:modelValue", null), l.value = null;
834
+ }
835
+ function F(b) {
836
+ return b.value;
837
+ }
838
+ function K(b) {
839
+ return b.text;
840
+ }
841
+ return se(() => {
842
+ var b;
843
+ t.value && ((b = O.value) == null || b.focus(), m.value = !0);
844
+ }), $e(U, () => {
845
+ m.value = !1;
846
+ }, {
847
+ ignore: [A(() => H.value.$refs.popperContent.$el)]
848
+ }), (b, y) => {
849
+ const j = z("BaseTag"), Re = z("VDropdown");
850
+ return S(), D(Re, {
851
+ ref_key: "dropdown",
852
+ ref: H,
853
+ shown: Q.value,
854
+ triggers: [],
855
+ "auto-size": "",
856
+ "popper-class": "no-padding",
857
+ "no-auto-focus": "",
858
+ "auto-hide": !1,
859
+ onHide: xe
860
+ }, {
861
+ popper: N(() => [
862
+ B("div", Pt, [
863
+ J.value ? (S(), w("div", {
864
+ key: 0,
865
+ "data-testid": "base-autocomplete-create-item",
866
+ class: M(["empty:hidden item text-livestorm-600 text-14-semibold", {
867
+ active: g.value === null
868
+ }]),
869
+ onClick: y[7] || (y[7] = (E) => V(l.value))
870
+ }, Z(b.i18n.t("base-autocomplete-create-item", { item: l.value })), 3)) : k("", !0),
871
+ (S(!0), w(q, null, de(C.value, (E, X) => (S(), w("div", {
872
+ key: F(E),
873
+ class: M(["item", {
874
+ selected: ne(E),
875
+ active: Be(X)
876
+ }]),
877
+ "data-testid": "base-autocomplete-item",
878
+ onClick: (ae) => ee(E)
879
+ }, Z(K(E)), 11, Ft))), 128)),
880
+ Y(r) && d.noDataText && C.value.length === 0 ? (S(), w("div", Ot, Z(d.noDataText), 1)) : k("", !0)
881
+ ])
882
+ ]),
883
+ default: N(() => {
884
+ var E, X, ae;
885
+ return [
886
+ B("div", {
887
+ ref_key: "autocompleteWrapper",
888
+ ref: U,
889
+ class: M(["base-input base-form-style stretchable flex rounded-8 items-center", [`base-input-${d.size}`, {
890
+ error: d.error,
891
+ "!border-livestorm-600": Q.value
892
+ }]])
893
+ }, [
894
+ d.prependIcon ? (S(), w("div", {
895
+ key: 0,
896
+ class: M([d.prependIcon, "w-4 h-4 mr-3"])
897
+ }, null, 2)) : k("", !0),
898
+ B("div", {
899
+ class: M(["flex flex-1 flex-wrap items-center", {
900
+ "mb-1": d.size == "medium" && R.value,
901
+ "mb-2": d.size === "large" && R.value
902
+ }])
903
+ }, [
904
+ R.value ? (S(!0), w(q, { key: 0 }, de(s.value, (x, ue) => (S(), D(j, {
905
+ key: F(P(x)),
906
+ deletable: "",
907
+ theme: Pe(ue) ? "dark-grey" : "light-grey",
908
+ class: M(["mr-1 self-baseline", {
909
+ "mt-1": d.size !== "large",
910
+ "mt-2": d.size === "large"
911
+ }]),
912
+ size: d.size === "small" ? "xsmall" : "small",
913
+ onDelete: (Nt) => te(x)
914
+ }, {
915
+ default: N(() => [
916
+ Y(n).tag ? (S(), w("div", At, [
917
+ ge(b.$slots, "tag", Ke(Ze({
918
+ item: P(x),
919
+ index: ue
920
+ })), void 0, !0)
921
+ ])) : (S(), w(q, { key: 1 }, [
922
+ ye(Z(K(P(x))), 1)
923
+ ], 64))
924
+ ]),
925
+ _: 2
926
+ }, 1032, ["theme", "class", "size", "onDelete"]))), 128)) : k("", !0),
927
+ pe(B("input", {
928
+ ref_key: "input",
929
+ ref: O,
930
+ "onUpdate:modelValue": y[0] || (y[0] = (x) => l.value = x),
931
+ type: "text",
932
+ "data-testid": "base-autocomplete-input",
933
+ class: M(["flex-1 h-6 min-w-0 focus:min-w-[64px]", {
934
+ "mt-1": R.value && d.size === "medium",
935
+ "mt-2": R.value && d.size === "large"
936
+ }]),
937
+ placeholder: (E = s.value) != null && E.length ? null : d.placeholder,
938
+ onFocus: Fe,
939
+ onInput: Oe,
940
+ onKeydown: [
941
+ y[1] || (y[1] = W((x) => re("up"), ["up"])),
942
+ y[2] || (y[2] = W((x) => re("down"), ["down"])),
943
+ y[3] || (y[3] = W((x) => re("enter"), ["enter"])),
944
+ y[4] || (y[4] = W((x) => ie("left"), ["left"])),
945
+ y[5] || (y[5] = W((x) => ie("right"), ["right"])),
946
+ y[6] || (y[6] = W((x) => ie("delete"), ["delete"]))
947
+ ]
948
+ }, null, 42, Bt), [
949
+ [Je, l.value]
950
+ ])
951
+ ], 2),
952
+ d.clearable && (((X = l.value) == null ? void 0 : X.length) > 0 || ((ae = s.value) == null ? void 0 : ae.length) > 0) ? (S(), w("div", {
953
+ key: 1,
954
+ class: "i-ls-x cursor-pointer w-4 h-4 ml-3",
955
+ "data-testid": "base-autocomplete-clear",
956
+ onClick: Te
957
+ })) : k("", !0),
958
+ C.value.length > 0 ? (S(), w("div", {
959
+ key: 2,
960
+ class: M([m.value ? "i-ls-chevron-up" : "i-ls-chevron-down", "cursor-text w-4 h-4 ml-3"]),
961
+ onClick: Ce
962
+ }, null, 2)) : k("", !0)
963
+ ], 2)
964
+ ];
965
+ }),
966
+ _: 3
967
+ }, 8, ["shown"]);
968
+ };
969
+ }
970
+ }, Ct = /* @__PURE__ */ $(xt, [["__scopeId", "data-v-05e5aae4"]]), Kt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
971
+ __proto__: null,
972
+ default: Ct
973
+ }, Symbol.toStringTag, { value: "Module" }));
974
+ var Tt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
975
+ function Rt(d) {
976
+ return d && d.__esModule && Object.prototype.hasOwnProperty.call(d, "default") ? d.default : d;
977
+ }
978
+ var Ae = { exports: {} };
979
+ (function(d, p) {
980
+ (function(u, a) {
981
+ d.exports = a();
982
+ })(Tt, function() {
983
+ return function(u) {
984
+ var a = {};
985
+ function v(o) {
986
+ if (a[o])
987
+ return a[o].exports;
988
+ var r = a[o] = { i: o, l: !1, exports: {} };
989
+ return u[o].call(r.exports, r, r.exports, v), r.l = !0, r.exports;
990
+ }
991
+ return v.m = u, v.c = a, v.d = function(o, r, i) {
992
+ v.o(o, r) || Object.defineProperty(o, r, { enumerable: !0, get: i });
993
+ }, v.r = function(o) {
994
+ typeof Symbol < "u" && Symbol.toStringTag && Object.defineProperty(o, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(o, "__esModule", { value: !0 });
995
+ }, v.t = function(o, r) {
996
+ if (1 & r && (o = v(o)), 8 & r || 4 & r && typeof o == "object" && o && o.__esModule)
997
+ return o;
998
+ var i = /* @__PURE__ */ Object.create(null);
999
+ if (v.r(i), Object.defineProperty(i, "default", { enumerable: !0, value: o }), 2 & r && typeof o != "string")
1000
+ for (var f in o)
1001
+ v.d(i, f, function(t) {
1002
+ return o[t];
1003
+ }.bind(null, f));
1004
+ return i;
1005
+ }, v.n = function(o) {
1006
+ var r = o && o.__esModule ? function() {
1007
+ return o.default;
1008
+ } : function() {
1009
+ return o;
1010
+ };
1011
+ return v.d(r, "a", r), r;
1012
+ }, v.o = function(o, r) {
1013
+ return Object.prototype.hasOwnProperty.call(o, r);
1014
+ }, v.p = "", v(v.s = 90);
1015
+ }({ 17: function(u, a, v) {
1016
+ a.__esModule = !0, a.default = void 0;
1017
+ var o = v(18), r = function() {
1018
+ function i() {
1019
+ }
1020
+ return i.getFirstMatch = function(f, t) {
1021
+ var e = t.match(f);
1022
+ return e && e.length > 0 && e[1] || "";
1023
+ }, i.getSecondMatch = function(f, t) {
1024
+ var e = t.match(f);
1025
+ return e && e.length > 1 && e[2] || "";
1026
+ }, i.matchAndReturnConst = function(f, t, e) {
1027
+ if (f.test(t))
1028
+ return e;
1029
+ }, i.getWindowsVersionName = function(f) {
1030
+ switch (f) {
1031
+ case "NT":
1032
+ return "NT";
1033
+ case "XP":
1034
+ return "XP";
1035
+ case "NT 5.0":
1036
+ return "2000";
1037
+ case "NT 5.1":
1038
+ return "XP";
1039
+ case "NT 5.2":
1040
+ return "2003";
1041
+ case "NT 6.0":
1042
+ return "Vista";
1043
+ case "NT 6.1":
1044
+ return "7";
1045
+ case "NT 6.2":
1046
+ return "8";
1047
+ case "NT 6.3":
1048
+ return "8.1";
1049
+ case "NT 10.0":
1050
+ return "10";
1051
+ default:
1052
+ return;
1053
+ }
1054
+ }, i.getMacOSVersionName = function(f) {
1055
+ var t = f.split(".").splice(0, 2).map(function(e) {
1056
+ return parseInt(e, 10) || 0;
1057
+ });
1058
+ if (t.push(0), t[0] === 10)
1059
+ switch (t[1]) {
1060
+ case 5:
1061
+ return "Leopard";
1062
+ case 6:
1063
+ return "Snow Leopard";
1064
+ case 7:
1065
+ return "Lion";
1066
+ case 8:
1067
+ return "Mountain Lion";
1068
+ case 9:
1069
+ return "Mavericks";
1070
+ case 10:
1071
+ return "Yosemite";
1072
+ case 11:
1073
+ return "El Capitan";
1074
+ case 12:
1075
+ return "Sierra";
1076
+ case 13:
1077
+ return "High Sierra";
1078
+ case 14:
1079
+ return "Mojave";
1080
+ case 15:
1081
+ return "Catalina";
1082
+ default:
1083
+ return;
1084
+ }
1085
+ }, i.getAndroidVersionName = function(f) {
1086
+ var t = f.split(".").splice(0, 2).map(function(e) {
1087
+ return parseInt(e, 10) || 0;
1088
+ });
1089
+ if (t.push(0), !(t[0] === 1 && t[1] < 5))
1090
+ return t[0] === 1 && t[1] < 6 ? "Cupcake" : t[0] === 1 && t[1] >= 6 ? "Donut" : t[0] === 2 && t[1] < 2 ? "Eclair" : t[0] === 2 && t[1] === 2 ? "Froyo" : t[0] === 2 && t[1] > 2 ? "Gingerbread" : t[0] === 3 ? "Honeycomb" : t[0] === 4 && t[1] < 1 ? "Ice Cream Sandwich" : t[0] === 4 && t[1] < 4 ? "Jelly Bean" : t[0] === 4 && t[1] >= 4 ? "KitKat" : t[0] === 5 ? "Lollipop" : t[0] === 6 ? "Marshmallow" : t[0] === 7 ? "Nougat" : t[0] === 8 ? "Oreo" : t[0] === 9 ? "Pie" : void 0;
1091
+ }, i.getVersionPrecision = function(f) {
1092
+ return f.split(".").length;
1093
+ }, i.compareVersions = function(f, t, e) {
1094
+ e === void 0 && (e = !1);
1095
+ var n = i.getVersionPrecision(f), m = i.getVersionPrecision(t), s = Math.max(n, m), l = 0, c = i.map([f, t], function(h) {
1096
+ var g = s - i.getVersionPrecision(h), _ = h + new Array(g + 1).join(".0");
1097
+ return i.map(_.split("."), function(O) {
1098
+ return new Array(20 - O.length).join("0") + O;
1099
+ }).reverse();
1100
+ });
1101
+ for (e && (l = s - Math.min(n, m)), s -= 1; s >= l; ) {
1102
+ if (c[0][s] > c[1][s])
1103
+ return 1;
1104
+ if (c[0][s] === c[1][s]) {
1105
+ if (s === l)
1106
+ return 0;
1107
+ s -= 1;
1108
+ } else if (c[0][s] < c[1][s])
1109
+ return -1;
1110
+ }
1111
+ }, i.map = function(f, t) {
1112
+ var e, n = [];
1113
+ if (Array.prototype.map)
1114
+ return Array.prototype.map.call(f, t);
1115
+ for (e = 0; e < f.length; e += 1)
1116
+ n.push(t(f[e]));
1117
+ return n;
1118
+ }, i.find = function(f, t) {
1119
+ var e, n;
1120
+ if (Array.prototype.find)
1121
+ return Array.prototype.find.call(f, t);
1122
+ for (e = 0, n = f.length; e < n; e += 1) {
1123
+ var m = f[e];
1124
+ if (t(m, e))
1125
+ return m;
1126
+ }
1127
+ }, i.assign = function(f) {
1128
+ for (var t, e, n = f, m = arguments.length, s = new Array(m > 1 ? m - 1 : 0), l = 1; l < m; l++)
1129
+ s[l - 1] = arguments[l];
1130
+ if (Object.assign)
1131
+ return Object.assign.apply(Object, [f].concat(s));
1132
+ var c = function() {
1133
+ var h = s[t];
1134
+ typeof h == "object" && h !== null && Object.keys(h).forEach(function(g) {
1135
+ n[g] = h[g];
1136
+ });
1137
+ };
1138
+ for (t = 0, e = s.length; t < e; t += 1)
1139
+ c();
1140
+ return f;
1141
+ }, i.getBrowserAlias = function(f) {
1142
+ return o.BROWSER_ALIASES_MAP[f];
1143
+ }, i.getBrowserTypeByAlias = function(f) {
1144
+ return o.BROWSER_MAP[f] || "";
1145
+ }, i;
1146
+ }();
1147
+ a.default = r, u.exports = a.default;
1148
+ }, 18: function(u, a, v) {
1149
+ a.__esModule = !0, a.ENGINE_MAP = a.OS_MAP = a.PLATFORMS_MAP = a.BROWSER_MAP = a.BROWSER_ALIASES_MAP = void 0, a.BROWSER_ALIASES_MAP = { "Amazon Silk": "amazon_silk", "Android Browser": "android", Bada: "bada", BlackBerry: "blackberry", Chrome: "chrome", Chromium: "chromium", Electron: "electron", Epiphany: "epiphany", Firefox: "firefox", Focus: "focus", Generic: "generic", "Google Search": "google_search", Googlebot: "googlebot", "Internet Explorer": "ie", "K-Meleon": "k_meleon", Maxthon: "maxthon", "Microsoft Edge": "edge", "MZ Browser": "mz", "NAVER Whale Browser": "naver", Opera: "opera", "Opera Coast": "opera_coast", PhantomJS: "phantomjs", Puffin: "puffin", QupZilla: "qupzilla", QQ: "qq", QQLite: "qqlite", Safari: "safari", Sailfish: "sailfish", "Samsung Internet for Android": "samsung_internet", SeaMonkey: "seamonkey", Sleipnir: "sleipnir", Swing: "swing", Tizen: "tizen", "UC Browser": "uc", Vivaldi: "vivaldi", "WebOS Browser": "webos", WeChat: "wechat", "Yandex Browser": "yandex", Roku: "roku" }, a.BROWSER_MAP = { amazon_silk: "Amazon Silk", android: "Android Browser", bada: "Bada", blackberry: "BlackBerry", chrome: "Chrome", chromium: "Chromium", electron: "Electron", epiphany: "Epiphany", firefox: "Firefox", focus: "Focus", generic: "Generic", googlebot: "Googlebot", google_search: "Google Search", ie: "Internet Explorer", k_meleon: "K-Meleon", maxthon: "Maxthon", edge: "Microsoft Edge", mz: "MZ Browser", naver: "NAVER Whale Browser", opera: "Opera", opera_coast: "Opera Coast", phantomjs: "PhantomJS", puffin: "Puffin", qupzilla: "QupZilla", qq: "QQ Browser", qqlite: "QQ Browser Lite", safari: "Safari", sailfish: "Sailfish", samsung_internet: "Samsung Internet for Android", seamonkey: "SeaMonkey", sleipnir: "Sleipnir", swing: "Swing", tizen: "Tizen", uc: "UC Browser", vivaldi: "Vivaldi", webos: "WebOS Browser", wechat: "WeChat", yandex: "Yandex Browser" }, a.PLATFORMS_MAP = { tablet: "tablet", mobile: "mobile", desktop: "desktop", tv: "tv" }, a.OS_MAP = { WindowsPhone: "Windows Phone", Windows: "Windows", MacOS: "macOS", iOS: "iOS", Android: "Android", WebOS: "WebOS", BlackBerry: "BlackBerry", Bada: "Bada", Tizen: "Tizen", Linux: "Linux", ChromeOS: "Chrome OS", PlayStation4: "PlayStation 4", Roku: "Roku" }, a.ENGINE_MAP = { EdgeHTML: "EdgeHTML", Blink: "Blink", Trident: "Trident", Presto: "Presto", Gecko: "Gecko", WebKit: "WebKit" };
1150
+ }, 90: function(u, a, v) {
1151
+ a.__esModule = !0, a.default = void 0;
1152
+ var o, r = (o = v(91)) && o.__esModule ? o : { default: o }, i = v(18);
1153
+ function f(e, n) {
1154
+ for (var m = 0; m < n.length; m++) {
1155
+ var s = n[m];
1156
+ s.enumerable = s.enumerable || !1, s.configurable = !0, "value" in s && (s.writable = !0), Object.defineProperty(e, s.key, s);
1157
+ }
1158
+ }
1159
+ var t = function() {
1160
+ function e() {
1161
+ }
1162
+ var n, m, s;
1163
+ return e.getParser = function(l, c) {
1164
+ if (c === void 0 && (c = !1), typeof l != "string")
1165
+ throw new Error("UserAgent should be a string");
1166
+ return new r.default(l, c);
1167
+ }, e.parse = function(l) {
1168
+ return new r.default(l).getResult();
1169
+ }, n = e, s = [{ key: "BROWSER_MAP", get: function() {
1170
+ return i.BROWSER_MAP;
1171
+ } }, { key: "ENGINE_MAP", get: function() {
1172
+ return i.ENGINE_MAP;
1173
+ } }, { key: "OS_MAP", get: function() {
1174
+ return i.OS_MAP;
1175
+ } }, { key: "PLATFORMS_MAP", get: function() {
1176
+ return i.PLATFORMS_MAP;
1177
+ } }], (m = null) && f(n.prototype, m), s && f(n, s), e;
1178
+ }();
1179
+ a.default = t, u.exports = a.default;
1180
+ }, 91: function(u, a, v) {
1181
+ a.__esModule = !0, a.default = void 0;
1182
+ var o = e(v(92)), r = e(v(93)), i = e(v(94)), f = e(v(95)), t = e(v(17));
1183
+ function e(m) {
1184
+ return m && m.__esModule ? m : { default: m };
1185
+ }
1186
+ var n = function() {
1187
+ function m(l, c) {
1188
+ if (c === void 0 && (c = !1), l == null || l === "")
1189
+ throw new Error("UserAgent parameter can't be empty");
1190
+ this._ua = l, this.parsedResult = {}, c !== !0 && this.parse();
1191
+ }
1192
+ var s = m.prototype;
1193
+ return s.getUA = function() {
1194
+ return this._ua;
1195
+ }, s.test = function(l) {
1196
+ return l.test(this._ua);
1197
+ }, s.parseBrowser = function() {
1198
+ var l = this;
1199
+ this.parsedResult.browser = {};
1200
+ var c = t.default.find(o.default, function(h) {
1201
+ if (typeof h.test == "function")
1202
+ return h.test(l);
1203
+ if (h.test instanceof Array)
1204
+ return h.test.some(function(g) {
1205
+ return l.test(g);
1206
+ });
1207
+ throw new Error("Browser's test function is not valid");
1208
+ });
1209
+ return c && (this.parsedResult.browser = c.describe(this.getUA())), this.parsedResult.browser;
1210
+ }, s.getBrowser = function() {
1211
+ return this.parsedResult.browser ? this.parsedResult.browser : this.parseBrowser();
1212
+ }, s.getBrowserName = function(l) {
1213
+ return l ? String(this.getBrowser().name).toLowerCase() || "" : this.getBrowser().name || "";
1214
+ }, s.getBrowserVersion = function() {
1215
+ return this.getBrowser().version;
1216
+ }, s.getOS = function() {
1217
+ return this.parsedResult.os ? this.parsedResult.os : this.parseOS();
1218
+ }, s.parseOS = function() {
1219
+ var l = this;
1220
+ this.parsedResult.os = {};
1221
+ var c = t.default.find(r.default, function(h) {
1222
+ if (typeof h.test == "function")
1223
+ return h.test(l);
1224
+ if (h.test instanceof Array)
1225
+ return h.test.some(function(g) {
1226
+ return l.test(g);
1227
+ });
1228
+ throw new Error("Browser's test function is not valid");
1229
+ });
1230
+ return c && (this.parsedResult.os = c.describe(this.getUA())), this.parsedResult.os;
1231
+ }, s.getOSName = function(l) {
1232
+ var c = this.getOS().name;
1233
+ return l ? String(c).toLowerCase() || "" : c || "";
1234
+ }, s.getOSVersion = function() {
1235
+ return this.getOS().version;
1236
+ }, s.getPlatform = function() {
1237
+ return this.parsedResult.platform ? this.parsedResult.platform : this.parsePlatform();
1238
+ }, s.getPlatformType = function(l) {
1239
+ l === void 0 && (l = !1);
1240
+ var c = this.getPlatform().type;
1241
+ return l ? String(c).toLowerCase() || "" : c || "";
1242
+ }, s.parsePlatform = function() {
1243
+ var l = this;
1244
+ this.parsedResult.platform = {};
1245
+ var c = t.default.find(i.default, function(h) {
1246
+ if (typeof h.test == "function")
1247
+ return h.test(l);
1248
+ if (h.test instanceof Array)
1249
+ return h.test.some(function(g) {
1250
+ return l.test(g);
1251
+ });
1252
+ throw new Error("Browser's test function is not valid");
1253
+ });
1254
+ return c && (this.parsedResult.platform = c.describe(this.getUA())), this.parsedResult.platform;
1255
+ }, s.getEngine = function() {
1256
+ return this.parsedResult.engine ? this.parsedResult.engine : this.parseEngine();
1257
+ }, s.getEngineName = function(l) {
1258
+ return l ? String(this.getEngine().name).toLowerCase() || "" : this.getEngine().name || "";
1259
+ }, s.parseEngine = function() {
1260
+ var l = this;
1261
+ this.parsedResult.engine = {};
1262
+ var c = t.default.find(f.default, function(h) {
1263
+ if (typeof h.test == "function")
1264
+ return h.test(l);
1265
+ if (h.test instanceof Array)
1266
+ return h.test.some(function(g) {
1267
+ return l.test(g);
1268
+ });
1269
+ throw new Error("Browser's test function is not valid");
1270
+ });
1271
+ return c && (this.parsedResult.engine = c.describe(this.getUA())), this.parsedResult.engine;
1272
+ }, s.parse = function() {
1273
+ return this.parseBrowser(), this.parseOS(), this.parsePlatform(), this.parseEngine(), this;
1274
+ }, s.getResult = function() {
1275
+ return t.default.assign({}, this.parsedResult);
1276
+ }, s.satisfies = function(l) {
1277
+ var c = this, h = {}, g = 0, _ = {}, O = 0;
1278
+ if (Object.keys(l).forEach(function(P) {
1279
+ var V = l[P];
1280
+ typeof V == "string" ? (_[P] = V, O += 1) : typeof V == "object" && (h[P] = V, g += 1);
1281
+ }), g > 0) {
1282
+ var U = Object.keys(h), H = t.default.find(U, function(P) {
1283
+ return c.isOS(P);
1284
+ });
1285
+ if (H) {
1286
+ var C = this.satisfies(h[H]);
1287
+ if (C !== void 0)
1288
+ return C;
1289
+ }
1290
+ var R = t.default.find(U, function(P) {
1291
+ return c.isPlatform(P);
1292
+ });
1293
+ if (R) {
1294
+ var Q = this.satisfies(h[R]);
1295
+ if (Q !== void 0)
1296
+ return Q;
1297
+ }
1298
+ }
1299
+ if (O > 0) {
1300
+ var J = Object.keys(_), I = t.default.find(J, function(P) {
1301
+ return c.isBrowser(P, !0);
1302
+ });
1303
+ if (I !== void 0)
1304
+ return this.compareVersion(_[I]);
1305
+ }
1306
+ }, s.isBrowser = function(l, c) {
1307
+ c === void 0 && (c = !1);
1308
+ var h = this.getBrowserName().toLowerCase(), g = l.toLowerCase(), _ = t.default.getBrowserTypeByAlias(g);
1309
+ return c && _ && (g = _.toLowerCase()), g === h;
1310
+ }, s.compareVersion = function(l) {
1311
+ var c = [0], h = l, g = !1, _ = this.getBrowserVersion();
1312
+ if (typeof _ == "string")
1313
+ return l[0] === ">" || l[0] === "<" ? (h = l.substr(1), l[1] === "=" ? (g = !0, h = l.substr(2)) : c = [], l[0] === ">" ? c.push(1) : c.push(-1)) : l[0] === "=" ? h = l.substr(1) : l[0] === "~" && (g = !0, h = l.substr(1)), c.indexOf(t.default.compareVersions(_, h, g)) > -1;
1314
+ }, s.isOS = function(l) {
1315
+ return this.getOSName(!0) === String(l).toLowerCase();
1316
+ }, s.isPlatform = function(l) {
1317
+ return this.getPlatformType(!0) === String(l).toLowerCase();
1318
+ }, s.isEngine = function(l) {
1319
+ return this.getEngineName(!0) === String(l).toLowerCase();
1320
+ }, s.is = function(l, c) {
1321
+ return c === void 0 && (c = !1), this.isBrowser(l, c) || this.isOS(l) || this.isPlatform(l);
1322
+ }, s.some = function(l) {
1323
+ var c = this;
1324
+ return l === void 0 && (l = []), l.some(function(h) {
1325
+ return c.is(h);
1326
+ });
1327
+ }, m;
1328
+ }();
1329
+ a.default = n, u.exports = a.default;
1330
+ }, 92: function(u, a, v) {
1331
+ a.__esModule = !0, a.default = void 0;
1332
+ var o, r = (o = v(17)) && o.__esModule ? o : { default: o }, i = /version\/(\d+(\.?_?\d+)+)/i, f = [{ test: [/googlebot/i], describe: function(t) {
1333
+ var e = { name: "Googlebot" }, n = r.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i, t) || r.default.getFirstMatch(i, t);
1334
+ return n && (e.version = n), e;
1335
+ } }, { test: [/opera/i], describe: function(t) {
1336
+ var e = { name: "Opera" }, n = r.default.getFirstMatch(i, t) || r.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i, t);
1337
+ return n && (e.version = n), e;
1338
+ } }, { test: [/opr\/|opios/i], describe: function(t) {
1339
+ var e = { name: "Opera" }, n = r.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i, t) || r.default.getFirstMatch(i, t);
1340
+ return n && (e.version = n), e;
1341
+ } }, { test: [/SamsungBrowser/i], describe: function(t) {
1342
+ var e = { name: "Samsung Internet for Android" }, n = r.default.getFirstMatch(i, t) || r.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i, t);
1343
+ return n && (e.version = n), e;
1344
+ } }, { test: [/Whale/i], describe: function(t) {
1345
+ var e = { name: "NAVER Whale Browser" }, n = r.default.getFirstMatch(i, t) || r.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i, t);
1346
+ return n && (e.version = n), e;
1347
+ } }, { test: [/MZBrowser/i], describe: function(t) {
1348
+ var e = { name: "MZ Browser" }, n = r.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i, t) || r.default.getFirstMatch(i, t);
1349
+ return n && (e.version = n), e;
1350
+ } }, { test: [/focus/i], describe: function(t) {
1351
+ var e = { name: "Focus" }, n = r.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i, t) || r.default.getFirstMatch(i, t);
1352
+ return n && (e.version = n), e;
1353
+ } }, { test: [/swing/i], describe: function(t) {
1354
+ var e = { name: "Swing" }, n = r.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i, t) || r.default.getFirstMatch(i, t);
1355
+ return n && (e.version = n), e;
1356
+ } }, { test: [/coast/i], describe: function(t) {
1357
+ var e = { name: "Opera Coast" }, n = r.default.getFirstMatch(i, t) || r.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i, t);
1358
+ return n && (e.version = n), e;
1359
+ } }, { test: [/opt\/\d+(?:.?_?\d+)+/i], describe: function(t) {
1360
+ var e = { name: "Opera Touch" }, n = r.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i, t) || r.default.getFirstMatch(i, t);
1361
+ return n && (e.version = n), e;
1362
+ } }, { test: [/yabrowser/i], describe: function(t) {
1363
+ var e = { name: "Yandex Browser" }, n = r.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i, t) || r.default.getFirstMatch(i, t);
1364
+ return n && (e.version = n), e;
1365
+ } }, { test: [/ucbrowser/i], describe: function(t) {
1366
+ var e = { name: "UC Browser" }, n = r.default.getFirstMatch(i, t) || r.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i, t);
1367
+ return n && (e.version = n), e;
1368
+ } }, { test: [/Maxthon|mxios/i], describe: function(t) {
1369
+ var e = { name: "Maxthon" }, n = r.default.getFirstMatch(i, t) || r.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i, t);
1370
+ return n && (e.version = n), e;
1371
+ } }, { test: [/epiphany/i], describe: function(t) {
1372
+ var e = { name: "Epiphany" }, n = r.default.getFirstMatch(i, t) || r.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i, t);
1373
+ return n && (e.version = n), e;
1374
+ } }, { test: [/puffin/i], describe: function(t) {
1375
+ var e = { name: "Puffin" }, n = r.default.getFirstMatch(i, t) || r.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i, t);
1376
+ return n && (e.version = n), e;
1377
+ } }, { test: [/sleipnir/i], describe: function(t) {
1378
+ var e = { name: "Sleipnir" }, n = r.default.getFirstMatch(i, t) || r.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i, t);
1379
+ return n && (e.version = n), e;
1380
+ } }, { test: [/k-meleon/i], describe: function(t) {
1381
+ var e = { name: "K-Meleon" }, n = r.default.getFirstMatch(i, t) || r.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i, t);
1382
+ return n && (e.version = n), e;
1383
+ } }, { test: [/micromessenger/i], describe: function(t) {
1384
+ var e = { name: "WeChat" }, n = r.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i, t) || r.default.getFirstMatch(i, t);
1385
+ return n && (e.version = n), e;
1386
+ } }, { test: [/qqbrowser/i], describe: function(t) {
1387
+ var e = { name: /qqbrowserlite/i.test(t) ? "QQ Browser Lite" : "QQ Browser" }, n = r.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i, t) || r.default.getFirstMatch(i, t);
1388
+ return n && (e.version = n), e;
1389
+ } }, { test: [/msie|trident/i], describe: function(t) {
1390
+ var e = { name: "Internet Explorer" }, n = r.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i, t);
1391
+ return n && (e.version = n), e;
1392
+ } }, { test: [/\sedg\//i], describe: function(t) {
1393
+ var e = { name: "Microsoft Edge" }, n = r.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i, t);
1394
+ return n && (e.version = n), e;
1395
+ } }, { test: [/edg([ea]|ios)/i], describe: function(t) {
1396
+ var e = { name: "Microsoft Edge" }, n = r.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i, t);
1397
+ return n && (e.version = n), e;
1398
+ } }, { test: [/vivaldi/i], describe: function(t) {
1399
+ var e = { name: "Vivaldi" }, n = r.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i, t);
1400
+ return n && (e.version = n), e;
1401
+ } }, { test: [/seamonkey/i], describe: function(t) {
1402
+ var e = { name: "SeaMonkey" }, n = r.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i, t);
1403
+ return n && (e.version = n), e;
1404
+ } }, { test: [/sailfish/i], describe: function(t) {
1405
+ var e = { name: "Sailfish" }, n = r.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i, t);
1406
+ return n && (e.version = n), e;
1407
+ } }, { test: [/silk/i], describe: function(t) {
1408
+ var e = { name: "Amazon Silk" }, n = r.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i, t);
1409
+ return n && (e.version = n), e;
1410
+ } }, { test: [/phantom/i], describe: function(t) {
1411
+ var e = { name: "PhantomJS" }, n = r.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i, t);
1412
+ return n && (e.version = n), e;
1413
+ } }, { test: [/slimerjs/i], describe: function(t) {
1414
+ var e = { name: "SlimerJS" }, n = r.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i, t);
1415
+ return n && (e.version = n), e;
1416
+ } }, { test: [/blackberry|\bbb\d+/i, /rim\stablet/i], describe: function(t) {
1417
+ var e = { name: "BlackBerry" }, n = r.default.getFirstMatch(i, t) || r.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i, t);
1418
+ return n && (e.version = n), e;
1419
+ } }, { test: [/(web|hpw)[o0]s/i], describe: function(t) {
1420
+ var e = { name: "WebOS Browser" }, n = r.default.getFirstMatch(i, t) || r.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i, t);
1421
+ return n && (e.version = n), e;
1422
+ } }, { test: [/bada/i], describe: function(t) {
1423
+ var e = { name: "Bada" }, n = r.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i, t);
1424
+ return n && (e.version = n), e;
1425
+ } }, { test: [/tizen/i], describe: function(t) {
1426
+ var e = { name: "Tizen" }, n = r.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i, t) || r.default.getFirstMatch(i, t);
1427
+ return n && (e.version = n), e;
1428
+ } }, { test: [/qupzilla/i], describe: function(t) {
1429
+ var e = { name: "QupZilla" }, n = r.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i, t) || r.default.getFirstMatch(i, t);
1430
+ return n && (e.version = n), e;
1431
+ } }, { test: [/firefox|iceweasel|fxios/i], describe: function(t) {
1432
+ var e = { name: "Firefox" }, n = r.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i, t);
1433
+ return n && (e.version = n), e;
1434
+ } }, { test: [/electron/i], describe: function(t) {
1435
+ var e = { name: "Electron" }, n = r.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i, t);
1436
+ return n && (e.version = n), e;
1437
+ } }, { test: [/MiuiBrowser/i], describe: function(t) {
1438
+ var e = { name: "Miui" }, n = r.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i, t);
1439
+ return n && (e.version = n), e;
1440
+ } }, { test: [/chromium/i], describe: function(t) {
1441
+ var e = { name: "Chromium" }, n = r.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i, t) || r.default.getFirstMatch(i, t);
1442
+ return n && (e.version = n), e;
1443
+ } }, { test: [/chrome|crios|crmo/i], describe: function(t) {
1444
+ var e = { name: "Chrome" }, n = r.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i, t);
1445
+ return n && (e.version = n), e;
1446
+ } }, { test: [/GSA/i], describe: function(t) {
1447
+ var e = { name: "Google Search" }, n = r.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i, t);
1448
+ return n && (e.version = n), e;
1449
+ } }, { test: function(t) {
1450
+ var e = !t.test(/like android/i), n = t.test(/android/i);
1451
+ return e && n;
1452
+ }, describe: function(t) {
1453
+ var e = { name: "Android Browser" }, n = r.default.getFirstMatch(i, t);
1454
+ return n && (e.version = n), e;
1455
+ } }, { test: [/playstation 4/i], describe: function(t) {
1456
+ var e = { name: "PlayStation 4" }, n = r.default.getFirstMatch(i, t);
1457
+ return n && (e.version = n), e;
1458
+ } }, { test: [/safari|applewebkit/i], describe: function(t) {
1459
+ var e = { name: "Safari" }, n = r.default.getFirstMatch(i, t);
1460
+ return n && (e.version = n), e;
1461
+ } }, { test: [/.*/i], describe: function(t) {
1462
+ var e = t.search("\\(") !== -1 ? /^(.*)\/(.*)[ \t]\((.*)/ : /^(.*)\/(.*) /;
1463
+ return { name: r.default.getFirstMatch(e, t), version: r.default.getSecondMatch(e, t) };
1464
+ } }];
1465
+ a.default = f, u.exports = a.default;
1466
+ }, 93: function(u, a, v) {
1467
+ a.__esModule = !0, a.default = void 0;
1468
+ var o, r = (o = v(17)) && o.__esModule ? o : { default: o }, i = v(18), f = [{ test: [/Roku\/DVP/], describe: function(t) {
1469
+ var e = r.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i, t);
1470
+ return { name: i.OS_MAP.Roku, version: e };
1471
+ } }, { test: [/windows phone/i], describe: function(t) {
1472
+ var e = r.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i, t);
1473
+ return { name: i.OS_MAP.WindowsPhone, version: e };
1474
+ } }, { test: [/windows /i], describe: function(t) {
1475
+ var e = r.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i, t), n = r.default.getWindowsVersionName(e);
1476
+ return { name: i.OS_MAP.Windows, version: e, versionName: n };
1477
+ } }, { test: [/Macintosh(.*?) FxiOS(.*?)\//], describe: function(t) {
1478
+ var e = { name: i.OS_MAP.iOS }, n = r.default.getSecondMatch(/(Version\/)(\d[\d.]+)/, t);
1479
+ return n && (e.version = n), e;
1480
+ } }, { test: [/macintosh/i], describe: function(t) {
1481
+ var e = r.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i, t).replace(/[_\s]/g, "."), n = r.default.getMacOSVersionName(e), m = { name: i.OS_MAP.MacOS, version: e };
1482
+ return n && (m.versionName = n), m;
1483
+ } }, { test: [/(ipod|iphone|ipad)/i], describe: function(t) {
1484
+ var e = r.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i, t).replace(/[_\s]/g, ".");
1485
+ return { name: i.OS_MAP.iOS, version: e };
1486
+ } }, { test: function(t) {
1487
+ var e = !t.test(/like android/i), n = t.test(/android/i);
1488
+ return e && n;
1489
+ }, describe: function(t) {
1490
+ var e = r.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i, t), n = r.default.getAndroidVersionName(e), m = { name: i.OS_MAP.Android, version: e };
1491
+ return n && (m.versionName = n), m;
1492
+ } }, { test: [/(web|hpw)[o0]s/i], describe: function(t) {
1493
+ var e = r.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i, t), n = { name: i.OS_MAP.WebOS };
1494
+ return e && e.length && (n.version = e), n;
1495
+ } }, { test: [/blackberry|\bbb\d+/i, /rim\stablet/i], describe: function(t) {
1496
+ var e = r.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i, t) || r.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i, t) || r.default.getFirstMatch(/\bbb(\d+)/i, t);
1497
+ return { name: i.OS_MAP.BlackBerry, version: e };
1498
+ } }, { test: [/bada/i], describe: function(t) {
1499
+ var e = r.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i, t);
1500
+ return { name: i.OS_MAP.Bada, version: e };
1501
+ } }, { test: [/tizen/i], describe: function(t) {
1502
+ var e = r.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i, t);
1503
+ return { name: i.OS_MAP.Tizen, version: e };
1504
+ } }, { test: [/linux/i], describe: function() {
1505
+ return { name: i.OS_MAP.Linux };
1506
+ } }, { test: [/CrOS/], describe: function() {
1507
+ return { name: i.OS_MAP.ChromeOS };
1508
+ } }, { test: [/PlayStation 4/], describe: function(t) {
1509
+ var e = r.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i, t);
1510
+ return { name: i.OS_MAP.PlayStation4, version: e };
1511
+ } }];
1512
+ a.default = f, u.exports = a.default;
1513
+ }, 94: function(u, a, v) {
1514
+ a.__esModule = !0, a.default = void 0;
1515
+ var o, r = (o = v(17)) && o.__esModule ? o : { default: o }, i = v(18), f = [{ test: [/googlebot/i], describe: function() {
1516
+ return { type: "bot", vendor: "Google" };
1517
+ } }, { test: [/huawei/i], describe: function(t) {
1518
+ var e = r.default.getFirstMatch(/(can-l01)/i, t) && "Nova", n = { type: i.PLATFORMS_MAP.mobile, vendor: "Huawei" };
1519
+ return e && (n.model = e), n;
1520
+ } }, { test: [/nexus\s*(?:7|8|9|10).*/i], describe: function() {
1521
+ return { type: i.PLATFORMS_MAP.tablet, vendor: "Nexus" };
1522
+ } }, { test: [/ipad/i], describe: function() {
1523
+ return { type: i.PLATFORMS_MAP.tablet, vendor: "Apple", model: "iPad" };
1524
+ } }, { test: [/Macintosh(.*?) FxiOS(.*?)\//], describe: function() {
1525
+ return { type: i.PLATFORMS_MAP.tablet, vendor: "Apple", model: "iPad" };
1526
+ } }, { test: [/kftt build/i], describe: function() {
1527
+ return { type: i.PLATFORMS_MAP.tablet, vendor: "Amazon", model: "Kindle Fire HD 7" };
1528
+ } }, { test: [/silk/i], describe: function() {
1529
+ return { type: i.PLATFORMS_MAP.tablet, vendor: "Amazon" };
1530
+ } }, { test: [/tablet(?! pc)/i], describe: function() {
1531
+ return { type: i.PLATFORMS_MAP.tablet };
1532
+ } }, { test: function(t) {
1533
+ var e = t.test(/ipod|iphone/i), n = t.test(/like (ipod|iphone)/i);
1534
+ return e && !n;
1535
+ }, describe: function(t) {
1536
+ var e = r.default.getFirstMatch(/(ipod|iphone)/i, t);
1537
+ return { type: i.PLATFORMS_MAP.mobile, vendor: "Apple", model: e };
1538
+ } }, { test: [/nexus\s*[0-6].*/i, /galaxy nexus/i], describe: function() {
1539
+ return { type: i.PLATFORMS_MAP.mobile, vendor: "Nexus" };
1540
+ } }, { test: [/[^-]mobi/i], describe: function() {
1541
+ return { type: i.PLATFORMS_MAP.mobile };
1542
+ } }, { test: function(t) {
1543
+ return t.getBrowserName(!0) === "blackberry";
1544
+ }, describe: function() {
1545
+ return { type: i.PLATFORMS_MAP.mobile, vendor: "BlackBerry" };
1546
+ } }, { test: function(t) {
1547
+ return t.getBrowserName(!0) === "bada";
1548
+ }, describe: function() {
1549
+ return { type: i.PLATFORMS_MAP.mobile };
1550
+ } }, { test: function(t) {
1551
+ return t.getBrowserName() === "windows phone";
1552
+ }, describe: function() {
1553
+ return { type: i.PLATFORMS_MAP.mobile, vendor: "Microsoft" };
1554
+ } }, { test: function(t) {
1555
+ var e = Number(String(t.getOSVersion()).split(".")[0]);
1556
+ return t.getOSName(!0) === "android" && e >= 3;
1557
+ }, describe: function() {
1558
+ return { type: i.PLATFORMS_MAP.tablet };
1559
+ } }, { test: function(t) {
1560
+ return t.getOSName(!0) === "android";
1561
+ }, describe: function() {
1562
+ return { type: i.PLATFORMS_MAP.mobile };
1563
+ } }, { test: function(t) {
1564
+ return t.getOSName(!0) === "macos";
1565
+ }, describe: function() {
1566
+ return { type: i.PLATFORMS_MAP.desktop, vendor: "Apple" };
1567
+ } }, { test: function(t) {
1568
+ return t.getOSName(!0) === "windows";
1569
+ }, describe: function() {
1570
+ return { type: i.PLATFORMS_MAP.desktop };
1571
+ } }, { test: function(t) {
1572
+ return t.getOSName(!0) === "linux";
1573
+ }, describe: function() {
1574
+ return { type: i.PLATFORMS_MAP.desktop };
1575
+ } }, { test: function(t) {
1576
+ return t.getOSName(!0) === "playstation 4";
1577
+ }, describe: function() {
1578
+ return { type: i.PLATFORMS_MAP.tv };
1579
+ } }, { test: function(t) {
1580
+ return t.getOSName(!0) === "roku";
1581
+ }, describe: function() {
1582
+ return { type: i.PLATFORMS_MAP.tv };
1583
+ } }];
1584
+ a.default = f, u.exports = a.default;
1585
+ }, 95: function(u, a, v) {
1586
+ a.__esModule = !0, a.default = void 0;
1587
+ var o, r = (o = v(17)) && o.__esModule ? o : { default: o }, i = v(18), f = [{ test: function(t) {
1588
+ return t.getBrowserName(!0) === "microsoft edge";
1589
+ }, describe: function(t) {
1590
+ if (/\sedg\//i.test(t))
1591
+ return { name: i.ENGINE_MAP.Blink };
1592
+ var e = r.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i, t);
1593
+ return { name: i.ENGINE_MAP.EdgeHTML, version: e };
1594
+ } }, { test: [/trident/i], describe: function(t) {
1595
+ var e = { name: i.ENGINE_MAP.Trident }, n = r.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i, t);
1596
+ return n && (e.version = n), e;
1597
+ } }, { test: function(t) {
1598
+ return t.test(/presto/i);
1599
+ }, describe: function(t) {
1600
+ var e = { name: i.ENGINE_MAP.Presto }, n = r.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i, t);
1601
+ return n && (e.version = n), e;
1602
+ } }, { test: function(t) {
1603
+ var e = t.test(/gecko/i), n = t.test(/like gecko/i);
1604
+ return e && !n;
1605
+ }, describe: function(t) {
1606
+ var e = { name: i.ENGINE_MAP.Gecko }, n = r.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i, t);
1607
+ return n && (e.version = n), e;
1608
+ } }, { test: [/(apple)?webkit\/537\.36/i], describe: function() {
1609
+ return { name: i.ENGINE_MAP.Blink };
1610
+ } }, { test: [/(apple)?webkit/i], describe: function(t) {
1611
+ var e = { name: i.ENGINE_MAP.WebKit }, n = r.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i, t);
1612
+ return n && (e.version = n), e;
1613
+ } }];
1614
+ a.default = f, u.exports = a.default;
1615
+ } });
1616
+ });
1617
+ })(Ae);
1618
+ var Et = Ae.exports;
1619
+ const Lt = /* @__PURE__ */ Rt(Et);
1620
+ {
1621
+ const d = Lt.getParser(window.navigator.userAgent), p = d.getResult();
1622
+ window.browser = {
1623
+ ...p,
1624
+ // Misc infos
1625
+ name: p.browser.name,
1626
+ full_version: p.browser.version,
1627
+ // 74.3.45.564
1628
+ version: parseFloat((p.browser.version || "").split(".").slice(0, 2).join(".")),
1629
+ // 74.3.45.564 => 74.3
1630
+ [p.platform.type]: !0,
1631
+ // browser.{desktop|mobile|tablet}
1632
+ parser: d
1633
+ }, window.browser.os.version = parseFloat((browser.os.version || "").split(".").slice(0, 2).join(".")), browser.os.name === "Chrome OS" && (browser.mobile = !1, browser.tablet = !1, browser.desktop = !0, document.querySelector("body").setAttribute("data-mobile", !1), document.querySelector("body").setAttribute("data-tablet", !1)), browser.os.name === "macOS" && browser.desktop && window.navigator.maxTouchPoints && window.navigator.maxTouchPoints > 2 && (browser.mobile = !1, browser.tablet = !0, browser.desktop = !1, document.querySelector("body").setAttribute("data-mobile", !1), document.querySelector("body").setAttribute("data-tablet", !0), document.querySelector("body").setAttribute("data-platform", "ios"));
1634
+ }
1635
+ function Zt() {
1636
+ return typeof browser > "u" ? !1 : browser.mobile || browser.tablet;
1637
+ }
1638
+ export {
1639
+ Me as B,
1640
+ et as D,
1641
+ we as I,
1642
+ qt as R,
1643
+ Ut as _,
1644
+ St as a,
1645
+ kt as b,
1646
+ Ct as c,
1647
+ $ as d,
1648
+ _e as e,
1649
+ ke as f,
1650
+ Kt as g,
1651
+ Qt as h,
1652
+ Zt as i,
1653
+ Gt as j,
1654
+ Ht as k,
1655
+ le as u
1656
+ };