@konnectio/core 4.0.56-rc10 → 4.0.56-rc12

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 (42) hide show
  1. package/dist/{ActionField-1TedZ-ol.js → ActionField-AkBYUrzM.js} +1 -1
  2. package/dist/ActionField-AkBYUrzM.js.br +0 -0
  3. package/dist/{AvailabilitySkeleton-IRkVJKVI.js → AvailabilitySkeleton-46abfeGe.js} +26 -26
  4. package/dist/AvailabilitySkeleton-46abfeGe.js.br +0 -0
  5. package/dist/{CheckoutWindow-GzqBHFb5.js → CheckoutWindow-uu1pLDmx.js} +32 -32
  6. package/dist/CheckoutWindow-uu1pLDmx.js.br +0 -0
  7. package/dist/{DateField.vue_vue_type_style_index_0_lang-N7m8Y11B.js → DateField.vue_vue_type_style_index_0_lang-jrJgxOtY.js} +238 -238
  8. package/dist/DateField.vue_vue_type_style_index_0_lang-jrJgxOtY.js.br +0 -0
  9. package/dist/{Field-agqP-A21.js → Field-x6UKBgQi.js} +2 -2
  10. package/dist/Field-x6UKBgQi.js.br +0 -0
  11. package/dist/{SelectField.vue_vue_type_style_index_0_lang-Throo8e2.js → SelectField.vue_vue_type_style_index_0_lang-TJbkduwA.js} +40 -51
  12. package/dist/SelectField.vue_vue_type_style_index_0_lang-TJbkduwA.js.br +0 -0
  13. package/dist/{ThankYou-0uAYL16f.js → ThankYou-4XeLOCXe.js} +10 -10
  14. package/dist/ThankYou-4XeLOCXe.js.br +0 -0
  15. package/dist/{_-K1FuFdRs.js → _-3dgp-WsL.js} +1 -1
  16. package/dist/availability.js +98 -95
  17. package/dist/availability.js.br +0 -0
  18. package/dist/{event-Jiun7WTg.js → event-oXxnY6iL.js} +7 -7
  19. package/dist/event-oXxnY6iL.js.br +0 -0
  20. package/dist/event.js +7 -7
  21. package/dist/event.js.br +0 -0
  22. package/dist/gift-card-validation.js +2 -2
  23. package/dist/gift-card-validation.js.br +0 -0
  24. package/dist/gift-card.js +167 -174
  25. package/dist/gift-card.js.br +0 -0
  26. package/dist/hotel.js +3094 -11
  27. package/dist/hotel.js.br +0 -0
  28. package/dist/polyfill.js +3201 -3210
  29. package/dist/polyfill.js.br +0 -0
  30. package/dist/style.css +1 -1
  31. package/dist/style.css.br +0 -0
  32. package/package.json +7 -4
  33. package/dist/ActionField-1TedZ-ol.js.br +0 -0
  34. package/dist/AvailabilitySkeleton-IRkVJKVI.js.br +0 -0
  35. package/dist/CheckoutWindow-GzqBHFb5.js.br +0 -0
  36. package/dist/DateField.vue_vue_type_style_index_0_lang-N7m8Y11B.js.br +0 -0
  37. package/dist/Field-agqP-A21.js.br +0 -0
  38. package/dist/SelectField.vue_vue_type_style_index_0_lang-Throo8e2.js.br +0 -0
  39. package/dist/ThankYou-0uAYL16f.js.br +0 -0
  40. package/dist/event-Jiun7WTg.js.br +0 -0
  41. package/dist/hotel-7JmuavEN.js +0 -3108
  42. package/dist/hotel-7JmuavEN.js.br +0 -0
package/dist/hotel.js CHANGED
@@ -1,13 +1,3096 @@
1
- import "./SelectField.vue_vue_type_style_index_0_lang-Throo8e2.js";
2
- import "./ThankYou-0uAYL16f.js";
3
- import { C as s } from "./hotel-7JmuavEN.js";
4
- import "./_commonjsHelpers-2ufMB8rV.js";
5
- import "./ActionField-1TedZ-ol.js";
6
- import "./CheckoutWindow-GzqBHFb5.js";
7
- import "./_-K1FuFdRs.js";
8
- import "./AvailabilitySkeleton-IRkVJKVI.js";
9
- import "./DateField.vue_vue_type_style_index_0_lang-N7m8Y11B.js";
10
- import "./Field-agqP-A21.js";
1
+ import { k as j, B as ne, am as so, s as K, c as he, W as ft, X as ie, o as E, m as R, a0 as ao, z as a, w, ac as Le, x as y, F as V, K as te, a2 as Xe, an as lo, l as I, a6 as z, $ as B, n as x, a8 as We, ao as ue, p as C, H as Q, J as oe, f as q, y as Ee, P as mt, Q as gt, _ as J, r as ce, ap as vt, Z as Ue, Y as be, A as yt, C as le, aq as uo, a5 as co, q as ke, I as bt, v as Ze, T as ee, ar as po, N as ho, D as fo, a9 as mo, L as et, G as N, M as go, as as kt, at as vo, R as yo, U as bo, V as ko, ab as _o } from "./SelectField.vue_vue_type_style_index_0_lang-TJbkduwA.js";
2
+ import { R as Eo, B as Ge, a as To, S as Co, M as Io, T as $o, V as So } from "./ThankYou-4XeLOCXe.js";
3
+ import { A as Vo, H as Lo } from "./AvailabilitySkeleton-46abfeGe.js";
4
+ import { _ as Po } from "./DateField.vue_vue_type_style_index_0_lang-jrJgxOtY.js";
5
+ import { C as Ne, P as xo, a as wo } from "./CheckoutWindow-uu1pLDmx.js";
6
+ import { E as Y } from "./_-3dgp-WsL.js";
7
+ import { c as _t, g as Et } from "./_commonjsHelpers-2ufMB8rV.js";
8
+ import "./ActionField-AkBYUrzM.js";
9
+ import "./Field-x6UKBgQi.js";
10
+ const Oo = { key: 0 }, Ho = { key: 1 }, Pe = /* @__PURE__ */ j({
11
+ __name: "HotelReservationForm",
12
+ props: {
13
+ showGiftCard: { type: Boolean, default: !1 },
14
+ showTermsNotice: { type: Boolean, default: !1 }
15
+ },
16
+ setup(o) {
17
+ const { t: e } = ne(), t = so(), {
18
+ hideArrivalDepartureInputs: n,
19
+ disableArrivalUserSelection: p,
20
+ disableDepartureUserSelection: s,
21
+ arrivalDefault: h,
22
+ departureDefault: u,
23
+ currency: d
24
+ } = K(he()), {
25
+ arrivalDate: l,
26
+ departureDate: f
27
+ } = K(ft()), {
28
+ arrivalTime: m,
29
+ departureTime: _,
30
+ roomDisplay: c,
31
+ templateID: b,
32
+ totalPrice: k,
33
+ areListingsLoading: g,
34
+ getSelectedPackageRoom: i,
35
+ selectedPackage: r,
36
+ discountVouchers: v
37
+ } = K(ie()), { removeRoom: T } = ie();
38
+ function $(L) {
39
+ return L.reduce((A, { totalPrice: D }) => A + D, 0);
40
+ }
41
+ return (L, O) => (E(), R(Eo, {
42
+ "total-price": a(k),
43
+ "show-gift-card": L.showGiftCard,
44
+ "show-terms-notice": L.showTermsNotice,
45
+ "is-sidebar-loading": a(g),
46
+ notice: a(e)("hotel.reservationNotice")
47
+ }, ao({
48
+ form: w(() => [
49
+ Le(L.$slots, "form")
50
+ ]),
51
+ "reservation-summary": w(() => [
52
+ y("li", null, [
53
+ y("span", null, V(a(e)("booking.reservation.arrival")), 1),
54
+ y("b", null, V(a(n) ? a(te)(a(l)) : `${a(te)(a(l))}, ${a(p) ? a(h) : a(m)}`), 1)
55
+ ]),
56
+ y("li", null, [
57
+ y("span", null, V(a(e)("booking.reservation.departure")), 1),
58
+ y("b", null, V(a(n) ? a(te)(a(f)) : `${a(te)(a(f))}, ${a(s) ? a(u) : a(_)}`), 1)
59
+ ]),
60
+ y("li", null, [
61
+ y("span", null, V(a(e)("booking.reservation.nights")), 1),
62
+ y("b", null, V(a(Xe)(a(l), a(f))) + " " + V(a(lo)(a(Xe)(a(l), a(f)) === 1 ? a(e)("booking.reservation.night") : a(e)("booking.reservation.nights"))), 1)
63
+ ]),
64
+ a(v) ? (E(!0), I(B, { key: 0 }, z(a(v), (A) => (E(), I("li", {
65
+ key: A.id
66
+ }, [
67
+ y("span", null, V(`${a(e)("general.discountCode")} (${A.value})`), 1),
68
+ y("b", null, V(A.key), 1)
69
+ ]))), 128)) : x("", !0)
70
+ ]),
71
+ "price-summary": w(() => [
72
+ isNaN(a(b)) && a(c).length > 0 ? (E(!0), I(B, { key: 0 }, z(a(c), ({
73
+ roomGroupID: A,
74
+ title: D,
75
+ variants: W
76
+ }) => (E(), I("div", { key: A }, [
77
+ y("h6", null, [
78
+ y("span", null, V(D), 1)
79
+ ]),
80
+ (E(!0), I(B, null, z(W, (X, re) => (E(), I("div", { key: re }, [
81
+ (E(!0), I(B, null, z(X.rooms, (U, Te) => (E(), I("ul", { key: Te }, [
82
+ y("li", null, [
83
+ y("span", null, [
84
+ y("span", null, [
85
+ We(V(a(ue)(X.name)) + " ( ", 1),
86
+ C(Q, {
87
+ icon: "male",
88
+ type: "fas",
89
+ color: "font"
90
+ }),
91
+ y("span", null, V(U.adultsCount), 1),
92
+ U.childrenCount > 0 ? (E(), I(B, { key: 0 }, [
93
+ C(Q, {
94
+ icon: "child",
95
+ type: "fas",
96
+ color: "font"
97
+ }),
98
+ y("span", null, V(U.childrenCount), 1)
99
+ ], 64)) : x("", !0),
100
+ We(") ")
101
+ ])
102
+ ]),
103
+ y("b", null, [
104
+ y("span", null, V(a(oe)(U.totalPrice, a(d))), 1),
105
+ x("", !0)
106
+ ])
107
+ ]),
108
+ $(U.roomAddons) > 0 ? (E(), I("li", Oo, [
109
+ y("span", null, V(a(e)("booking.reservation.addons")), 1),
110
+ y("b", null, V(a(oe)($(U.roomAddons), a(d))), 1)
111
+ ])) : x("", !0)
112
+ ]))), 128))
113
+ ]))), 128))
114
+ ]))), 128)) : x("", !0),
115
+ a(i) && a(r) ? (E(), I("div", Ho, [
116
+ y("h6", null, [
117
+ y("span", null, V(a(ue)(a(r).name)), 1)
118
+ ]),
119
+ y("div", null, [
120
+ y("ul", null, [
121
+ y("li", null, [
122
+ y("span", null, [
123
+ y("span", null, V(a(ue)(a(i).title)), 1)
124
+ ]),
125
+ y("b", null, [
126
+ y("span", null, V(a(oe)(a(i).extraPrice, a(d))), 1)
127
+ ])
128
+ ])
129
+ ])
130
+ ])
131
+ ])) : x("", !0)
132
+ ]),
133
+ navigation: w(() => [
134
+ Le(L.$slots, "navigation")
135
+ ]),
136
+ _: 2
137
+ }, [
138
+ a(t).addons ? {
139
+ name: "addons",
140
+ fn: w(() => [
141
+ Le(L.$slots, "addons")
142
+ ]),
143
+ key: "0"
144
+ } : void 0
145
+ ]), 1032, ["total-price", "show-gift-card", "show-terms-notice", "is-sidebar-loading", "notice"]));
146
+ }
147
+ }), Ao = (o) => (mt("data-v-69fe83d8"), o = o(), gt(), o), Do = { class: "konnectio-room-config-option" }, Mo = { key: 0 }, Ro = { class: "konnectio-selected-room-config" }, Bo = { class: "konnectio-selected-room-config-people" }, zo = { key: 0 }, Wo = { class: "konnectio-selected-room-config-price" }, No = /* @__PURE__ */ Ao(() => /* @__PURE__ */ y("span", null, null, -1)), Fo = /* @__PURE__ */ j({
148
+ __name: "RoomConfigField",
149
+ props: {
150
+ modelValue: {},
151
+ options: {},
152
+ required: { type: Boolean, default: !1 },
153
+ readonly: { type: Boolean, default: !1 },
154
+ label: {}
155
+ },
156
+ emits: ["update:modelValue"],
157
+ setup(o, { emit: e }) {
158
+ const { t } = ne(), { currency: n } = K(he()), p = e, s = o;
159
+ function h(d) {
160
+ p("update:modelValue", d);
161
+ }
162
+ const u = q({
163
+ get: () => s.modelValue,
164
+ set: (d) => h(d)
165
+ });
166
+ return (d, l) => (E(), R(Ee, {
167
+ modelValue: u.value,
168
+ "onUpdate:modelValue": l[0] || (l[0] = (f) => u.value = f),
169
+ label: d.label,
170
+ placeholder: "Select guest configuration",
171
+ labelKey: "label",
172
+ valueKey: "value",
173
+ "icon-placement": "label",
174
+ options: d.options,
175
+ readonly: d.readonly,
176
+ required: d.required,
177
+ searchable: !1
178
+ }, {
179
+ option: w(({ data: f }) => [
180
+ y("span", Do, [
181
+ y("div", null, [
182
+ C(Q, {
183
+ icon: "male",
184
+ type: "fas",
185
+ color: "font"
186
+ }),
187
+ y("span", null, V(`${f.adults}`), 1),
188
+ f.children > 0 ? (E(), I("span", Mo, [
189
+ C(Q, {
190
+ icon: "child",
191
+ type: "fas",
192
+ color: "font"
193
+ }),
194
+ y("span", null, V(`${f.children}`), 1)
195
+ ])) : x("", !0)
196
+ ]),
197
+ y("span", null, V(`(${a(oe)(f.price, a(n))})`), 1)
198
+ ])
199
+ ]),
200
+ "selected-option": w(({ data: f }) => [
201
+ y("div", Ro, [
202
+ y("div", Bo, [
203
+ y("div", null, [
204
+ x("", !0),
205
+ y("span", null, V(`${f.adults} ${f.adults === 1 ? a(t)("general.adult") : a(t)("general.adults")}`), 1)
206
+ ]),
207
+ f.children > 0 ? (E(), I("div", zo, [
208
+ x("", !0),
209
+ y("span", null, V(`& ${f.children} ${f.children === 1 ? a(t)("general.child") : a(t)("general.children")}`), 1)
210
+ ])) : x("", !0)
211
+ ]),
212
+ y("div", Wo, [
213
+ No,
214
+ We(" " + V(`(${a(oe)(f.price, a(n))})`), 1)
215
+ ])
216
+ ])
217
+ ]),
218
+ _: 1
219
+ }, 8, ["modelValue", "label", "options", "readonly", "required"]));
220
+ }
221
+ }), qo = /* @__PURE__ */ J(Fo, [["__scopeId", "data-v-69fe83d8"]]), Uo = { class: "konnectio-availability-listing-selection" }, Go = { key: 1 }, jo = { class: "fresh-booking-listing-config-body" }, Yo = { class: "fresh-booking-listing-units-body" };
222
+ const Ko = /* @__PURE__ */ j({
223
+ __name: "Hotel",
224
+ props: {
225
+ room: {},
226
+ layout: {}
227
+ },
228
+ setup(o) {
229
+ const { t: e } = ne(), t = o, n = ce([]);
230
+ function p(r) {
231
+ n.value[r].config.push({
232
+ id: NaN,
233
+ units: 0,
234
+ addons: []
235
+ });
236
+ }
237
+ const s = q(() => t.room.rates.map((r) => ({
238
+ label: r.name,
239
+ value: r.id
240
+ }))), { hideAvailableRoomAmount: h } = K(he()), { roomSelect: u } = K(ie()), { addToCart: d, removeFromCart: l } = vt(), f = (r, v) => t.room.rates.find((T) => T.id === r)?.occupantRates.find((T) => T.index === v), m = q(() => t.room.rates.reduce(
241
+ (r, v) => r < v.rackRate ? r : v.rackRate,
242
+ 1 / 0
243
+ )), _ = q(() => t.room.rates.every((r) => r.isBreakfastIncluded === !0)), c = (r, v) => f(r, v) ? f(r, v)?.rooms : null, b = (r) => t.room.rates.length > 0 ? t.room.rates.find((v) => v.id === r)?.occupantRates.map((v) => ({
244
+ value: v.index,
245
+ price: v.totalPrice,
246
+ adults: v.adultsCount,
247
+ children: v.childrenCount,
248
+ hasBreakfast: v.hasBreakfast
249
+ })) || [] : [], k = q(() => t.room.rates.length > 1);
250
+ function g() {
251
+ k.value ? n.value.push({
252
+ id: void 0,
253
+ config: [{
254
+ id: t.room.rates[0].occupantRateIndex || NaN,
255
+ units: 0,
256
+ addons: []
257
+ }]
258
+ }) : n.value.push({
259
+ id: t.room.rates[0].id,
260
+ config: [{
261
+ id: t.room.rates[0].occupantRateIndex || NaN,
262
+ units: 0,
263
+ addons: []
264
+ }]
265
+ });
266
+ }
267
+ Ue(() => {
268
+ g();
269
+ });
270
+ const i = q(() => JSON.parse(JSON.stringify(n.value)));
271
+ return be(i, (r, v) => {
272
+ v.length > 0 && r.forEach((T, $) => {
273
+ T.config.forEach((L, O) => {
274
+ const A = L.units, D = v[$].config[O].units;
275
+ A !== D && (A > D ? (n.value[$].config[O].addons.push({}), d({
276
+ id: t.room.id,
277
+ name: t.room.title,
278
+ value: t.room.rates[$].rackRate
279
+ })) : (n.value[$].config[O].addons.pop(), l({
280
+ id: t.room.id,
281
+ name: t.room.title,
282
+ value: t.room.rates[$].rackRate
283
+ })));
284
+ });
285
+ });
286
+ }, { deep: !0 }), be(n, () => {
287
+ u.value[t.room.id] = n.value;
288
+ }, { deep: !0 }), (r, v) => (E(), R(Ge, {
289
+ "listing-id": r.room.id,
290
+ gallery: r.room.images,
291
+ name: r.room.title,
292
+ description: r.room.description,
293
+ layout: r.layout,
294
+ facilities: r.room.facilities,
295
+ "prices-from": m.value,
296
+ "includes-breakfast": _.value
297
+ }, {
298
+ action: w(() => [
299
+ y("div", Uo, [
300
+ (E(!0), I(B, null, z(n.value, (T, $) => (E(), I("div", {
301
+ key: T.id,
302
+ class: "freshbooking-hotel-room"
303
+ }, [
304
+ k.value ? (E(), R(Ee, {
305
+ key: 0,
306
+ modelValue: T.id,
307
+ "onUpdate:modelValue": (L) => T.id = L,
308
+ label: a(e)("hotel.roomVariant"),
309
+ placeholder: a(e)("hotel.chooseARoomVariant"),
310
+ options: s.value,
311
+ searchable: !1
312
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "label", "placeholder", "options"])) : x("", !0),
313
+ T.id ? (E(), I("div", Go, [
314
+ (E(!0), I(B, null, z(r.room.rates, ({
315
+ id: L,
316
+ maximumOccupants: O
317
+ }) => (E(), I("div", {
318
+ key: L,
319
+ class: "booking-availability-listing-action-selective-i"
320
+ }, [
321
+ T.id === L ? (E(!0), I(B, { key: 0 }, z(T.config, (A, D) => (E(), I("div", {
322
+ key: D,
323
+ class: "booking-availability-listing-action-selective"
324
+ }, [
325
+ y("ul", jo, [
326
+ C(qo, {
327
+ modelValue: A.id,
328
+ "onUpdate:modelValue": (W) => A.id = W,
329
+ icon: "male",
330
+ "icon-type": "fas",
331
+ label: a(e)("general.guests"),
332
+ description: `${a(e)("general.maximumGuests")}: ${O}`,
333
+ options: b(L),
334
+ readonly: !(b(L).length > 1)
335
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "label", "description", "options", "readonly"])
336
+ ]),
337
+ y("ul", Yo, [
338
+ C(yt, {
339
+ modelValue: A.units,
340
+ "onUpdate:modelValue": (W) => A.units = W,
341
+ description: a(h) ? void 0 : `${a(e)("booking.availability.availableUnits")}: ${c(T.id, A.id)}`,
342
+ icon: "house",
343
+ "icon-type": "fas",
344
+ "icon-placement": "label",
345
+ label: a(e)("booking.availability.units"),
346
+ minValue: 0,
347
+ "max-value": c(L, A.id) || 1 / 0
348
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "description", "label", "max-value"])
349
+ ]),
350
+ x("", !0)
351
+ ]))), 128)) : x("", !0)
352
+ ]))), 128))
353
+ ])) : x("", !0)
354
+ ]))), 128))
355
+ ])
356
+ ]),
357
+ _: 1
358
+ }, 8, ["listing-id", "gallery", "name", "description", "layout", "facilities", "prices-from", "includes-breakfast"]));
359
+ }
360
+ }), Qo = /* @__PURE__ */ J(Ko, [["__scopeId", "data-v-0c06b41d"]]), Jo = { class: "konnectio-template-side-panel" }, Xo = { class: "konnectio-template-side-panel-listings" }, Zo = /* @__PURE__ */ j({
361
+ __name: "Template",
362
+ props: {
363
+ title: {},
364
+ templateId: {},
365
+ roomGroups: {},
366
+ callback: { type: Function }
367
+ },
368
+ setup(o) {
369
+ const { t: e } = ne(), { templateID: t, roomGroupID: n } = K(ie()), { currency: p } = K(he()), { clearRoomSelection: s } = ie(), h = o;
370
+ function u(d) {
371
+ t.value = h.templateId, n.value = d, s(), h.callback(2);
372
+ }
373
+ return (d, l) => (E(), R(To, {
374
+ title: d.title,
375
+ subtitle: a(e)("booking.availability.selectATemplateRoom")
376
+ }, {
377
+ default: w(() => [
378
+ y("div", Jo, [
379
+ y("div", Xo, [
380
+ (E(!0), I(B, null, z(d.roomGroups, ({
381
+ id: f,
382
+ title: m,
383
+ description: _,
384
+ images: c,
385
+ facilities: b,
386
+ extraPrice: k
387
+ }) => (E(), R(Ge, {
388
+ key: f,
389
+ "listing-id": f,
390
+ name: m,
391
+ description: _,
392
+ facilities: b,
393
+ gallery: c,
394
+ "includes-breakfast": !1,
395
+ "hide-info-button": !0
396
+ }, {
397
+ action: w(() => [
398
+ y("div", null, [
399
+ C(le, {
400
+ onClickEvent: (g) => u(f),
401
+ label: `${a(e)("booking.availability.selectThisRoom")} (${a(oe)(k, a(p))})`,
402
+ "full-width": ""
403
+ }, null, 8, ["onClickEvent", "label"])
404
+ ])
405
+ ]),
406
+ _: 2
407
+ }, 1032, ["listing-id", "name", "description", "facilities", "gallery"]))), 128))
408
+ ])
409
+ ])
410
+ ]),
411
+ _: 1
412
+ }, 8, ["title", "subtitle"]));
413
+ }
414
+ }), en = /* @__PURE__ */ J(Zo, [["__scopeId", "data-v-4c035ea3"]]), tn = ["innerHTML"], on = /* @__PURE__ */ j({
415
+ __name: "Template",
416
+ props: {
417
+ id: {},
418
+ weekendFee: {},
419
+ description: {},
420
+ name: {},
421
+ image: {},
422
+ roomGroups: {},
423
+ callback: { type: Function }
424
+ },
425
+ setup(o) {
426
+ const { t: e } = ne(), t = o, n = q(() => t.roomGroups.reduce(
427
+ (d, l) => d < l.extraPrice ? d : l.extraPrice,
428
+ 1 / 0
429
+ )), p = q(() => [{
430
+ large: t.image.url,
431
+ medium: t.image.url,
432
+ thumb: t.image.url,
433
+ url: t.image.url
434
+ }]), s = ce(!1);
435
+ function h() {
436
+ s.value = !0;
437
+ }
438
+ function u(d) {
439
+ t.callback(d), s.value = !1;
440
+ }
441
+ return (d, l) => (E(), R(Ge, {
442
+ "listing-id": d.id,
443
+ name: d.name,
444
+ description: d.description,
445
+ gallery: p.value,
446
+ layout: a(co).Template,
447
+ "includes-breakfast": !1,
448
+ "hide-info-button": !1,
449
+ "prices-from": n.value
450
+ }, {
451
+ description: w(() => [
452
+ d.description ? (E(), I("p", {
453
+ key: 0,
454
+ innerHTML: a(uo)(d.description)
455
+ }, null, 8, tn)) : x("", !0)
456
+ ]),
457
+ action: w(() => [
458
+ y("div", null, [
459
+ C(le, {
460
+ onClickEvent: h,
461
+ label: a(e)("booking.availability.selectPackage"),
462
+ "full-width": ""
463
+ }, null, 8, ["label"])
464
+ ])
465
+ ]),
466
+ default: w(() => [
467
+ C(en, {
468
+ modelValue: s.value,
469
+ "onUpdate:modelValue": l[0] || (l[0] = (f) => s.value = f),
470
+ title: d.name,
471
+ "template-id": d.id,
472
+ roomGroups: d.roomGroups,
473
+ callback: u
474
+ }, null, 8, ["modelValue", "title", "template-id", "roomGroups"])
475
+ ]),
476
+ _: 1
477
+ }, 8, ["listing-id", "name", "description", "gallery", "layout", "prices-from"]));
478
+ }
479
+ }), nn = /* @__PURE__ */ J(on, [["__scopeId", "data-v-edc2f058"]]), tt = /* @__PURE__ */ j({
480
+ __name: "TimeField",
481
+ props: {
482
+ modelValue: {},
483
+ label: {},
484
+ id: {},
485
+ name: {},
486
+ placeholder: {},
487
+ icon: {},
488
+ iconColor: {},
489
+ iconType: {},
490
+ primaryColor: {},
491
+ secondaryColor: {},
492
+ weekendColor: {},
493
+ highlightedColor: {},
494
+ required: { type: Boolean },
495
+ readonly: { type: Boolean },
496
+ disabled: { type: Boolean },
497
+ inline: { type: Boolean },
498
+ range: { type: Boolean },
499
+ enableTimePicker: { type: Boolean },
500
+ inputStyle: {}
501
+ },
502
+ emits: ["update:modelValue"],
503
+ setup(o, { emit: e }) {
504
+ const t = e, n = o;
505
+ function p(h) {
506
+ t("update:modelValue", h);
507
+ }
508
+ const s = ce(n.modelValue);
509
+ return be(s, (h) => {
510
+ p(h);
511
+ }), (h, u) => (E(), R(Po, {
512
+ modelValue: s.value,
513
+ "onUpdate:modelValue": u[0] || (u[0] = (d) => s.value = d),
514
+ type: "time",
515
+ label: h.label,
516
+ id: h.id,
517
+ name: h.name,
518
+ icon: h.icon,
519
+ "icon-type": h.iconType,
520
+ "icon-color": h.iconColor,
521
+ "auto-apply": !0,
522
+ required: h.required,
523
+ readonly: h.readonly
524
+ }, null, 8, ["modelValue", "label", "id", "name", "icon", "icon-type", "icon-color", "required", "readonly"]));
525
+ }
526
+ }), rn = { style: { display: "flex", "align-items": "baseline" } }, sn = /* @__PURE__ */ j({
527
+ __name: "CountryField",
528
+ props: {
529
+ modelValue: {},
530
+ options: {},
531
+ required: { type: Boolean, default: !1 },
532
+ readonly: { type: Boolean, default: !1 },
533
+ label: {},
534
+ placeholder: {}
535
+ },
536
+ emits: ["update:modelValue"],
537
+ setup(o, { emit: e }) {
538
+ const { t } = ne(), n = e, p = o;
539
+ function s(u) {
540
+ n("update:modelValue", u);
541
+ }
542
+ const h = q({
543
+ get: () => p.modelValue,
544
+ set: (u) => s(u)
545
+ });
546
+ return (u, d) => (E(), R(Ee, {
547
+ modelValue: h.value,
548
+ "onUpdate:modelValue": d[0] || (d[0] = (l) => h.value = l),
549
+ label: u.label,
550
+ placeholder: a(t)("booking.reservation.countryPlaceholder"),
551
+ labelKey: "name",
552
+ valueKey: "id",
553
+ options: u.options,
554
+ required: u.required
555
+ }, {
556
+ option: w(({ data: l }) => [
557
+ y("i", {
558
+ class: ke(["konnectio-flag-icon", l.iso])
559
+ }, null, 2),
560
+ y("span", null, V(l.name), 1)
561
+ ]),
562
+ "selected-option": w(({ data: l }) => [
563
+ y("div", rn, [
564
+ y("i", {
565
+ class: ke(["konnectio-flag-icon", l.iso])
566
+ }, null, 2),
567
+ y("span", null, V(l.name), 1)
568
+ ])
569
+ ]),
570
+ _: 1
571
+ }, 8, ["modelValue", "label", "placeholder", "options", "required"]));
572
+ }
573
+ }), an = /* @__PURE__ */ J(sn, [["__scopeId", "data-v-1462612d"]]), ln = { class: "konnectio-radio-checkboxes" }, un = /* @__PURE__ */ j({
574
+ __name: "CheckboxField",
575
+ props: {
576
+ modelValue: {},
577
+ label: {},
578
+ name: {},
579
+ checkboxes: {}
580
+ },
581
+ emits: ["update:modelValue"],
582
+ setup(o, { emit: e }) {
583
+ const t = e, n = o;
584
+ function p(h) {
585
+ t("update:modelValue", h);
586
+ }
587
+ const s = q({
588
+ get: () => n.modelValue,
589
+ set: (h) => p(h)
590
+ });
591
+ return (h, u) => (E(), R(bt, {
592
+ label: h.label,
593
+ type: "multi-radio"
594
+ }, {
595
+ default: w(() => [
596
+ y("ul", ln, [
597
+ (E(!0), I(B, null, z(h.checkboxes, ({ label: d, value: l }, f) => (E(), I("li", { key: f }, [
598
+ C(Ne, {
599
+ modelValue: s.value,
600
+ "onUpdate:modelValue": u[0] || (u[0] = (m) => s.value = m),
601
+ label: d,
602
+ name: h.name,
603
+ type: "radio",
604
+ val: l
605
+ }, null, 8, ["modelValue", "label", "name", "val"])
606
+ ]))), 128))
607
+ ])
608
+ ]),
609
+ _: 1
610
+ }, 8, ["label"]));
611
+ }
612
+ }), dn = /* @__PURE__ */ J(un, [["__scopeId", "data-v-7185c7da"]]), cn = /* @__PURE__ */ j({
613
+ __name: "NameField",
614
+ props: {
615
+ modelValue: {},
616
+ title: {},
617
+ label: {},
618
+ id: {},
619
+ placeholder: {},
620
+ icon: {},
621
+ iconColor: {},
622
+ iconType: { default: "fal" },
623
+ required: { type: Boolean, default: !1 },
624
+ readonly: { type: Boolean, default: !1 },
625
+ type: { default: "text" },
626
+ autocomplete: { type: Boolean, default: !1 },
627
+ disabled: { type: Boolean, default: !1 },
628
+ limit: { default: 1 / 0 },
629
+ inputStyle: {},
630
+ excludeTitle: { type: Boolean, default: !1 }
631
+ },
632
+ emits: ["update:modelValue", "update:title"],
633
+ setup(o, { emit: e }) {
634
+ const t = o, n = e, p = t.id || Ze(), s = ce(""), h = ce(2);
635
+ function u() {
636
+ n("update:modelValue", s.value);
637
+ }
638
+ be(h, (l) => {
639
+ n("update:title", l);
640
+ });
641
+ const { t: d } = ne();
642
+ return Ue(() => {
643
+ t.modelValue && (s.value = t.modelValue), t.title && (h.value = t.title);
644
+ }), (l, f) => (E(), R(bt, {
645
+ label: l.label,
646
+ id: a(p),
647
+ required: l.required,
648
+ type: "fresh-booking-name-field",
649
+ readonly: l.readonly,
650
+ limit: l.limit
651
+ }, {
652
+ default: w(() => [
653
+ y("div", {
654
+ class: ke([
655
+ "fresh-booking-name-input",
656
+ { "no-title": l.excludeTitle }
657
+ ])
658
+ }, [
659
+ l.excludeTitle ? x("", !0) : (E(), R(Ee, {
660
+ key: 0,
661
+ modelValue: h.value,
662
+ "onUpdate:modelValue": f[0] || (f[0] = (m) => h.value = m),
663
+ id: a(Ze)(),
664
+ icon: l.icon,
665
+ "icon-color": l.iconColor,
666
+ "icon-type": l.iconType,
667
+ options: [
668
+ {
669
+ label: a(d)("booking.reservation.noNameTitle"),
670
+ value: 1
671
+ },
672
+ {
673
+ label: a(d)("booking.reservation.nameTitleMr"),
674
+ value: 2
675
+ },
676
+ {
677
+ label: a(d)("booking.reservation.nameTitleMs"),
678
+ value: 3
679
+ },
680
+ {
681
+ label: a(d)("booking.reservation.nameTitleMrs"),
682
+ value: 4
683
+ },
684
+ {
685
+ label: a(d)("booking.reservation.nameTitleDr"),
686
+ value: 5
687
+ }
688
+ ],
689
+ readonly: l.readonly,
690
+ "hide-button": "",
691
+ "input-style": l.inputStyle,
692
+ searchable: !1
693
+ }, null, 8, ["modelValue", "id", "icon", "icon-color", "icon-type", "options", "readonly", "input-style"])),
694
+ C(ee, {
695
+ modelValue: s.value,
696
+ "onUpdate:modelValue": f[1] || (f[1] = (m) => s.value = m),
697
+ type: "text",
698
+ name: "name",
699
+ autocomplete: "name",
700
+ id: a(p),
701
+ icon: l.excludeTitle ? l.icon : void 0,
702
+ "icon-color": l.iconColor,
703
+ "icon-type": l.iconType,
704
+ placeholder: l.placeholder,
705
+ required: l.required,
706
+ readonly: l.readonly,
707
+ limit: l.limit,
708
+ onInput: f[2] || (f[2] = (m) => u()),
709
+ "input-style": l.inputStyle
710
+ }, null, 8, ["modelValue", "id", "icon", "icon-color", "icon-type", "placeholder", "required", "readonly", "limit", "input-style"])
711
+ ], 2)
712
+ ]),
713
+ _: 1
714
+ }, 8, ["label", "id", "required", "readonly", "limit"]));
715
+ }
716
+ }), pn = /* @__PURE__ */ J(cn, [["__scopeId", "data-v-78b0b319"]]), hn = { class: "hotel-listing" }, fn = { class: "hotel-listing-content-gallery" }, mn = { class: "hotel-listing-content-thumbs" }, gn = { class: "hotel-listing-content" }, vn = { class: "hotel-listing-content-header" }, yn = { class: "hotel-listing-content-title" }, bn = { class: "hotel-listing-content-body" }, kn = { class: "hotel-listing-content-facilities" }, _n = /* @__PURE__ */ j({
717
+ __name: "Listing",
718
+ setup(o) {
719
+ return (e, t) => (E(), I("div", hn, [
720
+ y("div", fn, [
721
+ C(Y, {
722
+ width: "280px",
723
+ height: "153px"
724
+ }),
725
+ y("div", mn, [
726
+ (E(), I(B, null, z(3, (n) => C(Y, {
727
+ key: n,
728
+ width: "84px",
729
+ height: "44px"
730
+ })), 64))
731
+ ])
732
+ ]),
733
+ y("div", gn, [
734
+ y("div", vn, [
735
+ y("div", yn, [
736
+ C(Y, {
737
+ height: "30px",
738
+ width: "60%"
739
+ }),
740
+ C(Y, {
741
+ height: "30px",
742
+ width: "30px",
743
+ "border-radius": "100%"
744
+ })
745
+ ]),
746
+ C(Y, {
747
+ height: "15px",
748
+ width: "25%"
749
+ })
750
+ ]),
751
+ y("div", bn, [
752
+ C(Y, { height: "15px" }),
753
+ C(Y, { height: "15px" }),
754
+ C(Y, { height: "15px" }),
755
+ C(Y, { height: "15px" }),
756
+ C(Y, {
757
+ height: "15px",
758
+ width: "90%"
759
+ })
760
+ ]),
761
+ y("div", kn, [
762
+ (E(), I(B, null, z(5, (n) => C(Y, {
763
+ key: n,
764
+ height: "25px",
765
+ width: "25px",
766
+ "border-radius": "6px"
767
+ })), 64))
768
+ ])
769
+ ])
770
+ ]));
771
+ }
772
+ }), de = /* @__PURE__ */ J(_n, [["__scopeId", "data-v-c7574b59"]]), En = { class: "hotel-skeleton" }, Tn = { class: "hotel-skeleton-content" }, Cn = { class: "hotel-skeleton-sidebar" }, In = /* @__PURE__ */ j({
773
+ __name: "HotelSkeleton",
774
+ setup(o) {
775
+ return (e, t) => (E(), I("div", En, [
776
+ y("div", Tn, [
777
+ C(Vo, { hotel: "" }),
778
+ C(de),
779
+ C(de),
780
+ C(de)
781
+ ]),
782
+ y("div", Cn, [
783
+ C(Co)
784
+ ])
785
+ ]));
786
+ }
787
+ }), $n = /* @__PURE__ */ J(In, [["__scopeId", "data-v-49e83cbb"]]), Sn = (o) => (mt("data-v-fd9b6d4f"), o = o(), gt(), o), Vn = { id: "booking-availability-container" }, Ln = { id: "booking-availability-controls" };
788
+ const Pn = { key: 1 }, xn = { key: 0 }, wn = {
789
+ key: 0,
790
+ id: "booking-availability-packages"
791
+ }, On = {
792
+ key: 0,
793
+ class: "konnectio-hotel-availability-title"
794
+ }, Hn = { id: "booking-availability-packages-wrapper" }, An = { key: 1 }, Dn = {
795
+ key: 0,
796
+ class: "konnectio-hotel-availability-title"
797
+ }, Mn = { id: "booking-availability-listings" }, Rn = {
798
+ key: 2,
799
+ id: "booking-availability-no-listings",
800
+ class: "fresh-booking-panel"
801
+ }, Bn = {
802
+ key: 1,
803
+ id: "booking-availability-no-listings"
804
+ }, zn = {
805
+ key: 2,
806
+ id: "reservation-availability-next-dates"
807
+ }, Wn = { class: "konnectio-hotel-availability-title" }, Nn = { class: "reservation-special-offers-grid" }, Fn = ["title"];
808
+ const qn = {
809
+ key: 2,
810
+ class: "konnectio-listing-loading"
811
+ }, Un = { class: "fresh-booking-panel" }, Gn = {
812
+ key: 0,
813
+ id: "konnectio-hotel-addons"
814
+ };
815
+ const jn = { class: "fresh-booking-event-addons-price" }, Yn = { key: 1 }, Kn = /* @__PURE__ */ Sn(() => /* @__PURE__ */ y("br", null, null, -1)), Qn = ["onClick"], Jn = { class: "fresh-booking-panel" }, Xn = { key: 0 }, Zn = { key: 1 }, ei = { class: "fresh-booking-split-inputs" }, ti = ["onClick"], oi = /* @__PURE__ */ j({
816
+ name: "HotelLayout",
817
+ __name: "Hotel",
818
+ props: {
819
+ accessToken: {},
820
+ headerLayout: { default: po.Minimal },
821
+ onlyShow: { default: "everything" },
822
+ styling: {}
823
+ },
824
+ setup(o) {
825
+ const { t: e } = ne(), {
826
+ templateID: t,
827
+ countries: n,
828
+ areListingsLoading: p,
829
+ isPaymentLoading: s,
830
+ isReservationFormFilled: h,
831
+ travelingFor: u,
832
+ arrivalTime: d,
833
+ departureTime: l,
834
+ name: f,
835
+ nameTitle: m,
836
+ email: _,
837
+ phone: c,
838
+ firmName: b,
839
+ postal: k,
840
+ city: g,
841
+ address: i,
842
+ country: r,
843
+ remark: v,
844
+ allergies: T,
845
+ newsMails: $,
846
+ roomSelect: L,
847
+ roomDisplay: O,
848
+ hasValidRoomSelection: A,
849
+ availabilityData: D,
850
+ selectionHasNoAddons: W
851
+ } = K(ie()), {
852
+ arrivalDate: X,
853
+ departureDate: re
854
+ } = K(ft()), {
855
+ currency: U,
856
+ disableNewsletterSignup: Te,
857
+ arrivalEarliest: Qe,
858
+ arrivalLatest: xt,
859
+ departureEarliest: wt,
860
+ departureLatest: Ot,
861
+ enableTracking: Ht,
862
+ arrivalDefault: At,
863
+ departureDefault: Dt,
864
+ hideArrivalDepartureInputs: Mt,
865
+ disableArrivalUserSelection: Ce,
866
+ disableNamePrefix: Rt,
867
+ disableDepartureUserSelection: Ie,
868
+ disableTravelingFor: Bt,
869
+ disableTravelingForBleasure: zt,
870
+ disableCompanyField: Wt,
871
+ hasPaymentGateway: Nt
872
+ } = K(he()), { beginCheckout: Ft } = vt(), {
873
+ initialize: qt,
874
+ resetTemplate: Ut,
875
+ resetDiscountVoucher: Gt,
876
+ createReservation: jt
877
+ } = ie(), Yt = ce(!0), Kt = q(() => {
878
+ const H = [
879
+ {
880
+ label: e("booking.reservation.business"),
881
+ value: "Business"
882
+ },
883
+ {
884
+ label: e("booking.reservation.pleasure"),
885
+ value: "Pleasure"
886
+ }
887
+ ];
888
+ return zt.value || H.push({
889
+ label: e("booking.reservation.bleasure"),
890
+ value: "Bleasure"
891
+ }), H;
892
+ }), Qt = q(() => {
893
+ const H = D.value.roomGroups.slice();
894
+ H.forEach((G) => {
895
+ G.pricesFrom = G.rates.reduce(
896
+ (M, S) => M < S.rackRate ? M : S.rackRate,
897
+ 1 / 0
898
+ );
899
+ });
900
+ function P(G, M) {
901
+ return Yt.value === !0 ? G.pricesFrom > M.pricesFrom ? -1 : 1 : G.pricesFrom > M.pricesFrom ? 1 : -1;
902
+ }
903
+ return H.sort(P);
904
+ }), Jt = q(() => [[
905
+ parseInt(Qe.value.split(":")[0]),
906
+ parseInt(xt.value.split(":")[0])
907
+ ]]), Xt = q(() => [[
908
+ parseInt(wt.value.split(":")[0]),
909
+ parseInt(Ot.value.split(":")[0])
910
+ ]]);
911
+ function Je(H) {
912
+ W.value ? H(2) : H(), Gt();
913
+ }
914
+ function Zt(H, P) {
915
+ re.value = new Date(P), X.value = new Date(H), location.reload();
916
+ }
917
+ async function eo(H) {
918
+ await jt(H);
919
+ }
920
+ function to(H) {
921
+ Ht.value && Ft(), W.value ? H(2) : H();
922
+ }
923
+ function oo() {
924
+ d.value === "" && (d.value = At.value), l.value === "" && (l.value = Dt.value);
925
+ }
926
+ return Ue(() => {
927
+ qt(), oo();
928
+ }), (H, P) => (E(), R(ho, { styling: H.styling }, {
929
+ default: w(() => [
930
+ (E(), R(fo, null, {
931
+ default: w(() => [
932
+ C(go, {
933
+ id: "fresh-booking-hotel-module",
934
+ "access-token": H.accessToken,
935
+ type: "hotel"
936
+ }, {
937
+ default: w(() => [
938
+ C(Io, {
939
+ layout: H.headerLayout,
940
+ onReset: a(Ut)
941
+ }, {
942
+ availability: w(({ next: G }) => [
943
+ C(Pe, null, {
944
+ form: w(() => [
945
+ y("div", Vn, [
946
+ y("div", Ln, [
947
+ C(Lo, { booking: !0 })
948
+ ]),
949
+ x("", !0),
950
+ a(p) ? (E(), I("div", qn, [
951
+ C(de),
952
+ C(de),
953
+ C(de)
954
+ ])) : (E(), I("div", Pn, [
955
+ a(D).roomGroups.length > 0 || a(D).templates.length > 0 ? (E(), I("div", xn, [
956
+ a(D).templates.length > 0 && H.onlyShow !== "rooms" ? (E(), I("div", wn, [
957
+ H.onlyShow !== "packages" ? (E(), I("h2", On, [
958
+ C(Q, {
959
+ icon: "box",
960
+ type: "fal",
961
+ color: "header"
962
+ }),
963
+ y("span", null, V(a(e)("booking.availability.packagesTitle")), 1)
964
+ ])) : x("", !0),
965
+ y("ul", Hn, [
966
+ (E(!0), I(B, null, z(a(D).templates, ({
967
+ id: M,
968
+ name: S,
969
+ templateRoomGroups: se,
970
+ image: ae,
971
+ description: F,
972
+ weekendFee: $e
973
+ }) => (E(), R(nn, {
974
+ key: M,
975
+ id: M,
976
+ description: F,
977
+ name: S,
978
+ image: ae,
979
+ weekendFee: $e,
980
+ "room-groups": se,
981
+ callback: G
982
+ }, null, 8, ["id", "description", "name", "image", "weekendFee", "room-groups", "callback"]))), 128))
983
+ ])
984
+ ])) : x("", !0),
985
+ a(D).roomGroups.length > 0 && H.onlyShow !== "packages" ? (E(), I("div", An, [
986
+ a(D).templates.length > 0 && H.onlyShow !== "rooms" ? (E(), I("h2", Dn, [
987
+ C(Q, {
988
+ icon: "house",
989
+ type: "fal",
990
+ color: "header"
991
+ }),
992
+ y("span", null, V(a(e)("booking.availability.roomsTitle")), 1)
993
+ ])) : x("", !0),
994
+ y("ul", Mn, [
995
+ (E(!0), I(B, null, z(Qt.value, (M, S) => (E(), R(Qo, {
996
+ room: M,
997
+ key: S
998
+ }, null, 8, ["room"]))), 128))
999
+ ])
1000
+ ])) : x("", !0),
1001
+ (a(D).templates.length === 0 && H.onlyShow !== "rooms" || a(D).roomGroups.length === 0 && H.onlyShow !== "packages") && (H.onlyShow === "rooms" || H.onlyShow === "packages") ? (E(), I("div", Rn, [
1002
+ y("span", null, V(a(e)("booking.availability.nothingAvailable")), 1)
1003
+ ])) : x("", !0)
1004
+ ])) : a(D).nextAvailableDates.length === 0 ? (E(), I("div", Bn, [
1005
+ y("span", null, V(a(e)("booking.availability.nothingAvailable")), 1)
1006
+ ])) : (E(), I("div", zn, [
1007
+ y("h2", Wn, [
1008
+ C(Q, {
1009
+ icon: "calendar-circle-exclamation",
1010
+ type: "fal",
1011
+ color: "header"
1012
+ }),
1013
+ y("span", null, V(a(e)("booking.availability.nextAvailableDates")), 1)
1014
+ ]),
1015
+ y("ul", Nn, [
1016
+ (E(!0), I(B, null, z(a(D).nextAvailableDates, (M, S) => (E(), I("li", { key: S }, [
1017
+ y("h3", {
1018
+ title: `${a(te)(M.fromDate)} - ${a(te)(M.toDate)}`
1019
+ }, [
1020
+ y("span", null, V(`${a(te)(M.fromDate)} - ${a(te)(M.toDate)}`), 1)
1021
+ ], 8, Fn),
1022
+ y("ul", null, [
1023
+ x("", !0),
1024
+ y("li", null, [
1025
+ C(Q, {
1026
+ icon: "money-bill",
1027
+ type: "fal",
1028
+ color: "header"
1029
+ }),
1030
+ y("span", null, V(a(e)("booking.availability.pricesFrom")) + ": " + V(a(oe)(M.priceStartFrom, a(U))), 1)
1031
+ ])
1032
+ ]),
1033
+ C(le, {
1034
+ label: a(e)("booking.availability.selectDates"),
1035
+ "full-width": "",
1036
+ onClickEvent: (se) => Zt(M.fromDate, M.toDate)
1037
+ }, null, 8, ["label", "onClickEvent"])
1038
+ ]))), 128))
1039
+ ])
1040
+ ]))
1041
+ ]))
1042
+ ])
1043
+ ]),
1044
+ navigation: w(() => [
1045
+ C(le, {
1046
+ label: a(W) ? a(e)("booking.availability.nextButton") : a(e)("general.chooseAddons"),
1047
+ disabled: !a(A),
1048
+ "is-loading": !1,
1049
+ "full-width": "",
1050
+ onClickEvent: (M) => to(G)
1051
+ }, null, 8, ["label", "disabled", "onClickEvent"])
1052
+ ]),
1053
+ _: 2
1054
+ }, 1024)
1055
+ ]),
1056
+ addons: w(({ next: G, prev: M }) => [
1057
+ C(Pe, null, {
1058
+ form: w(() => [
1059
+ y("form", Un, [
1060
+ y("h2", null, [
1061
+ y("span", null, V(a(e)("booking.reservation.addons")), 1)
1062
+ ]),
1063
+ y("div", null, [
1064
+ isNaN(a(t)) ? (E(), I("div", Gn, [
1065
+ (E(!0), I(B, null, z(a(O), (S) => (E(), I("ul", {
1066
+ key: S.roomGroupID
1067
+ }, [
1068
+ (E(!0), I(B, null, z(S.variants, (se, ae) => (E(), I("li", {
1069
+ key: se.ratePlanID
1070
+ }, [
1071
+ y("h4", null, [
1072
+ y("span", null, V(a(ue)(S.title)), 1)
1073
+ ]),
1074
+ (E(!0), I(B, null, z(se.rooms, (F, $e) => (E(), I("table", {
1075
+ key: $e,
1076
+ class: "fresh-booking-table"
1077
+ }, [
1078
+ y("thead", null, [
1079
+ y("tr", null, [
1080
+ y("th", null, [
1081
+ y("span", null, V(a(ue)(se.name)), 1)
1082
+ ]),
1083
+ x("", !0),
1084
+ y("th", jn, [
1085
+ y("b", null, [
1086
+ C(Q, {
1087
+ icon: "male",
1088
+ type: "fas",
1089
+ color: "font"
1090
+ }),
1091
+ y("span", null, V(F.adultsCount), 1),
1092
+ F.childrenCount > 0 ? (E(), R(Q, {
1093
+ key: 0,
1094
+ icon: "child",
1095
+ type: "fas",
1096
+ color: "font"
1097
+ })) : x("", !0),
1098
+ F.childrenCount > 0 ? (E(), I("span", Yn, V(F.childrenCount), 1)) : x("", !0)
1099
+ ])
1100
+ ])
1101
+ ])
1102
+ ]),
1103
+ y("tbody", null, [
1104
+ (E(!0), I(B, null, z(S.addons, ({
1105
+ quantityStrategy: Se,
1106
+ maximumNumber: no,
1107
+ id: pe,
1108
+ name: io,
1109
+ price: ro
1110
+ }) => (E(), I("tr", { key: pe }, [
1111
+ y("td", null, [
1112
+ y("b", null, V(a(ue)(io)), 1),
1113
+ Kn,
1114
+ y("span", null, V(a(oe)(ro, a(U))) + " " + V(a(mo)(Se)), 1)
1115
+ ]),
1116
+ y("td", null, [
1117
+ Se === 1 || Se === 12 ? (E(), R(yt, {
1118
+ key: 0,
1119
+ modelValue: a(L)[S.roomGroupID][ae].config[F.configIdx].addons[F.roomIdx][pe],
1120
+ "onUpdate:modelValue": (Ve) => a(L)[S.roomGroupID][ae].config[F.configIdx].addons[F.roomIdx][pe] = Ve,
1121
+ small: !0,
1122
+ "min-value": 0,
1123
+ "max-value": no || 1 / 0
1124
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "max-value"])) : (E(), R(Ne, {
1125
+ key: 1,
1126
+ modelValue: a(L)[S.roomGroupID][ae].config[F.configIdx].addons[F.roomIdx][pe],
1127
+ "onUpdate:modelValue": (Ve) => a(L)[S.roomGroupID][ae].config[F.configIdx].addons[F.roomIdx][pe] = Ve,
1128
+ numeric: !0
1129
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]))
1130
+ ])
1131
+ ]))), 128))
1132
+ ])
1133
+ ]))), 128))
1134
+ ]))), 128))
1135
+ ]))), 128))
1136
+ ])) : x("", !0)
1137
+ ])
1138
+ ])
1139
+ ]),
1140
+ navigation: w(() => [
1141
+ C(le, {
1142
+ label: a(e)("general.startReservation"),
1143
+ "full-width": "",
1144
+ onClickEvent: G
1145
+ }, null, 8, ["label", "onClickEvent"]),
1146
+ y("button", {
1147
+ class: "konnectio-abort-reservation link",
1148
+ onClick: et((S) => Je(M), ["prevent"])
1149
+ }, [
1150
+ y("span", null, V(a(e)("general.goAStepBack")), 1)
1151
+ ], 8, Qn)
1152
+ ]),
1153
+ _: 2
1154
+ }, 1024)
1155
+ ]),
1156
+ reservation: w(({ next: G, prev: M }) => [
1157
+ C(Pe, {
1158
+ "show-terms-notice": !0,
1159
+ "show-gift-card": !0
1160
+ }, {
1161
+ form: w(() => [
1162
+ y("form", Jn, [
1163
+ y("h2", null, [
1164
+ y("span", null, V(a(e)("booking.reservation.detailsTitle")), 1)
1165
+ ]),
1166
+ !a(Mt) && !(a(Ce) && a(Ie)) ? (E(), I("ul", {
1167
+ key: 0,
1168
+ class: ke({ "fresh-booking-split-inputs": !a(Ce) && !a(Ie) })
1169
+ }, [
1170
+ a(Ce) ? x("", !0) : (E(), I("li", Xn, [
1171
+ C(tt, {
1172
+ modelValue: a(d),
1173
+ "onUpdate:modelValue": P[1] || (P[1] = (S) => N(d) ? d.value = S : null),
1174
+ label: a(e)("booking.reservation.arrivalTime"),
1175
+ icon: "hourglass-start",
1176
+ "hour-range": Jt.value,
1177
+ required: ""
1178
+ }, null, 8, ["modelValue", "label", "hour-range"])
1179
+ ])),
1180
+ a(Ie) ? x("", !0) : (E(), I("li", Zn, [
1181
+ C(tt, {
1182
+ modelValue: a(l),
1183
+ "onUpdate:modelValue": P[2] || (P[2] = (S) => N(l) ? l.value = S : null),
1184
+ label: a(e)("booking.reservation.departureTime"),
1185
+ icon: "hourglass-end",
1186
+ "hour-range": Xt.value,
1187
+ required: ""
1188
+ }, null, 8, ["modelValue", "label", "hour-range"])
1189
+ ]))
1190
+ ], 2)) : x("", !0),
1191
+ C(pn, {
1192
+ modelValue: a(f),
1193
+ "onUpdate:modelValue": P[3] || (P[3] = (S) => N(f) ? f.value = S : null),
1194
+ title: a(m),
1195
+ "onUpdate:title": P[4] || (P[4] = (S) => N(m) ? m.value = S : null),
1196
+ "exclude-title": a(Rt),
1197
+ label: a(e)("booking.reservation.name"),
1198
+ icon: "user-alt",
1199
+ placeholder: a(e)("booking.reservation.namePlaceholder"),
1200
+ required: ""
1201
+ }, null, 8, ["modelValue", "title", "exclude-title", "label", "placeholder"]),
1202
+ C(ee, {
1203
+ modelValue: a(_),
1204
+ "onUpdate:modelValue": P[5] || (P[5] = (S) => N(_) ? _.value = S : null),
1205
+ type: "email",
1206
+ name: "email",
1207
+ autocomplete: "email",
1208
+ label: a(e)("booking.reservation.email"),
1209
+ icon: "at",
1210
+ placeholder: a(e)("booking.reservation.emailPlaceholder"),
1211
+ required: ""
1212
+ }, null, 8, ["modelValue", "label", "placeholder"]),
1213
+ a(Te) ? x("", !0) : (E(), R(Ne, {
1214
+ key: 1,
1215
+ modelValue: a($),
1216
+ "onUpdate:modelValue": P[6] || (P[6] = (S) => N($) ? $.value = S : null),
1217
+ type: "checkbox",
1218
+ name: "newsletter",
1219
+ label: a(e)("booking.reservation.newsletterSignUp")
1220
+ }, null, 8, ["modelValue", "label"])),
1221
+ a(Wt) ? x("", !0) : (E(), R(ee, {
1222
+ key: 2,
1223
+ modelValue: a(b),
1224
+ "onUpdate:modelValue": P[7] || (P[7] = (S) => N(b) ? b.value = S : null),
1225
+ type: "text",
1226
+ name: "firm",
1227
+ autocomplete: "firm",
1228
+ label: `${a(e)("booking.reservation.companyName")} (${a(e)("booking.reservation.optional")})`,
1229
+ icon: "id-card",
1230
+ placeholder: a(e)("booking.reservation.companyNamePlaceholder")
1231
+ }, null, 8, ["modelValue", "label", "placeholder"])),
1232
+ C(xo, {
1233
+ modelValue: a(c),
1234
+ "onUpdate:modelValue": P[8] || (P[8] = (S) => N(c) ? c.value = S : null),
1235
+ icon: "phone-office",
1236
+ label: a(e)("booking.reservation.phone"),
1237
+ placeholder: a(e)("booking.reservation.phonePlaceholder"),
1238
+ required: ""
1239
+ }, null, 8, ["modelValue", "label", "placeholder"]),
1240
+ C(an, {
1241
+ modelValue: a(r),
1242
+ "onUpdate:modelValue": P[9] || (P[9] = (S) => N(r) ? r.value = S : null),
1243
+ label: a(e)("booking.reservation.country"),
1244
+ placeholder: a(e)("booking.reservation.countryPlaceholder"),
1245
+ options: a(n),
1246
+ required: ""
1247
+ }, null, 8, ["modelValue", "label", "placeholder", "options"]),
1248
+ C(ee, {
1249
+ modelValue: a(i),
1250
+ "onUpdate:modelValue": P[10] || (P[10] = (S) => N(i) ? i.value = S : null),
1251
+ type: "textarea",
1252
+ name: "address",
1253
+ autocomplete: "street-address",
1254
+ label: a(e)("booking.reservation.streetAddress"),
1255
+ icon: "map-marked",
1256
+ placeholder: a(e)("booking.reservation.streetAddressPlaceholder"),
1257
+ required: ""
1258
+ }, null, 8, ["modelValue", "label", "placeholder"]),
1259
+ y("ul", ei, [
1260
+ y("li", null, [
1261
+ C(ee, {
1262
+ modelValue: a(k),
1263
+ "onUpdate:modelValue": P[11] || (P[11] = (S) => N(k) ? k.value = S : null),
1264
+ type: "text",
1265
+ name: "postal",
1266
+ autocomplete: "postal-code",
1267
+ label: a(e)("booking.reservation.postal"),
1268
+ icon: "mailbox",
1269
+ placeholder: a(e)("booking.reservation.postalPlaceholder"),
1270
+ required: ""
1271
+ }, null, 8, ["modelValue", "label", "placeholder"])
1272
+ ]),
1273
+ y("li", null, [
1274
+ C(ee, {
1275
+ modelValue: a(g),
1276
+ "onUpdate:modelValue": P[12] || (P[12] = (S) => N(g) ? g.value = S : null),
1277
+ type: "text",
1278
+ name: "city",
1279
+ autocomplete: "address-level2",
1280
+ label: a(e)("booking.reservation.city"),
1281
+ icon: "city",
1282
+ placeholder: a(e)("booking.reservation.cityPlaceholder"),
1283
+ required: ""
1284
+ }, null, 8, ["modelValue", "label", "placeholder"])
1285
+ ])
1286
+ ]),
1287
+ C(ee, {
1288
+ modelValue: a(v),
1289
+ "onUpdate:modelValue": P[13] || (P[13] = (S) => N(v) ? v.value = S : null),
1290
+ type: "textarea",
1291
+ label: `${a(e)("booking.reservation.remark")} (${a(e)("booking.reservation.optional")})`,
1292
+ icon: "info-circle",
1293
+ placeholder: a(e)("booking.reservation.remarkPlaceholder")
1294
+ }, null, 8, ["modelValue", "label", "placeholder"]),
1295
+ C(ee, {
1296
+ modelValue: a(T),
1297
+ "onUpdate:modelValue": P[14] || (P[14] = (S) => N(T) ? T.value = S : null),
1298
+ type: "textarea",
1299
+ label: `${a(e)("booking.reservation.allergies")} (${a(e)("booking.reservation.optional")})`,
1300
+ icon: "allergies",
1301
+ placeholder: a(e)("booking.reservation.allergiesPlaceholder")
1302
+ }, null, 8, ["modelValue", "label", "placeholder"]),
1303
+ a(Bt) ? x("", !0) : (E(), R(dn, {
1304
+ key: 3,
1305
+ modelValue: a(u),
1306
+ "onUpdate:modelValue": P[15] || (P[15] = (S) => N(u) ? u.value = S : null),
1307
+ label: `${a(e)("booking.reservation.purposeOfStay")} (${a(e)("booking.reservation.optional")})`,
1308
+ name: "travelingFor",
1309
+ checkboxes: Kt.value
1310
+ }, null, 8, ["modelValue", "label", "checkboxes"]))
1311
+ ])
1312
+ ]),
1313
+ navigation: w(() => [
1314
+ y("div", null, [
1315
+ C(le, {
1316
+ label: a(Nt) ? a(e)("booking.reservation.nextButton") : a(e)("general.confirmReservation"),
1317
+ disabled: !a(h),
1318
+ "is-loading": a(s),
1319
+ "full-width": "",
1320
+ onClickEvent: (S) => eo(G)
1321
+ }, null, 8, ["label", "disabled", "is-loading", "onClickEvent"]),
1322
+ y("button", {
1323
+ class: "konnectio-abort-reservation link",
1324
+ onClick: et((S) => Je(M), ["prevent"])
1325
+ }, [
1326
+ y("span", null, V(a(e)("general.goAStepBack")), 1)
1327
+ ], 8, ti)
1328
+ ])
1329
+ ]),
1330
+ _: 2
1331
+ }, 1024)
1332
+ ]),
1333
+ payment: w(() => [
1334
+ C(wo)
1335
+ ]),
1336
+ confirmation: w(() => [
1337
+ C($o, {
1338
+ message: a(e)("booking.confirmation.thankYou")
1339
+ }, null, 8, ["message"])
1340
+ ]),
1341
+ _: 1
1342
+ }, 8, ["layout", "onReset"])
1343
+ ]),
1344
+ _: 1
1345
+ }, 8, ["access-token"])
1346
+ ]),
1347
+ fallback: w(() => [
1348
+ C($n)
1349
+ ]),
1350
+ _: 1
1351
+ }))
1352
+ ]),
1353
+ _: 1
1354
+ }, 8, ["styling"]));
1355
+ }
1356
+ }), fe = /* @__PURE__ */ J(oi, [["__scopeId", "data-v-fd9b6d4f"]]);
1357
+ var Tt = { exports: {} }, xe = { exports: {} }, we = { exports: {} }, ot;
1358
+ function je() {
1359
+ return ot || (ot = 1, function(o) {
1360
+ (function(e, t) {
1361
+ o.exports ? o.exports = t() : e.EvEmitter = t();
1362
+ })(typeof window < "u" ? window : _t, function() {
1363
+ function e() {
1364
+ }
1365
+ var t = e.prototype;
1366
+ return t.on = function(n, p) {
1367
+ if (!(!n || !p)) {
1368
+ var s = this._events = this._events || {}, h = s[n] = s[n] || [];
1369
+ return h.indexOf(p) == -1 && h.push(p), this;
1370
+ }
1371
+ }, t.once = function(n, p) {
1372
+ if (!(!n || !p)) {
1373
+ this.on(n, p);
1374
+ var s = this._onceEvents = this._onceEvents || {}, h = s[n] = s[n] || {};
1375
+ return h[p] = !0, this;
1376
+ }
1377
+ }, t.off = function(n, p) {
1378
+ var s = this._events && this._events[n];
1379
+ if (!(!s || !s.length)) {
1380
+ var h = s.indexOf(p);
1381
+ return h != -1 && s.splice(h, 1), this;
1382
+ }
1383
+ }, t.emitEvent = function(n, p) {
1384
+ var s = this._events && this._events[n];
1385
+ if (!(!s || !s.length)) {
1386
+ s = s.slice(0), p = p || [];
1387
+ for (var h = this._onceEvents && this._onceEvents[n], u = 0; u < s.length; u++) {
1388
+ var d = s[u], l = h && h[d];
1389
+ l && (this.off(n, d), delete h[d]), d.apply(this, p);
1390
+ }
1391
+ return this;
1392
+ }
1393
+ }, t.allOff = function() {
1394
+ delete this._events, delete this._onceEvents;
1395
+ }, e;
1396
+ });
1397
+ }(we)), we.exports;
1398
+ }
1399
+ var Oe = { exports: {} };
1400
+ /*!
1401
+ * getSize v2.0.3
1402
+ * measure size of elements
1403
+ * MIT license
1404
+ */
1405
+ var nt;
1406
+ function Ye() {
1407
+ return nt || (nt = 1, function(o) {
1408
+ (function(e, t) {
1409
+ o.exports ? o.exports = t() : e.getSize = t();
1410
+ })(window, function() {
1411
+ function t(c) {
1412
+ var b = parseFloat(c), k = c.indexOf("%") == -1 && !isNaN(b);
1413
+ return k && b;
1414
+ }
1415
+ function n() {
1416
+ }
1417
+ var p = typeof console > "u" ? n : function(c) {
1418
+ console.error(c);
1419
+ }, s = [
1420
+ "paddingLeft",
1421
+ "paddingRight",
1422
+ "paddingTop",
1423
+ "paddingBottom",
1424
+ "marginLeft",
1425
+ "marginRight",
1426
+ "marginTop",
1427
+ "marginBottom",
1428
+ "borderLeftWidth",
1429
+ "borderRightWidth",
1430
+ "borderTopWidth",
1431
+ "borderBottomWidth"
1432
+ ], h = s.length;
1433
+ function u() {
1434
+ for (var c = {
1435
+ width: 0,
1436
+ height: 0,
1437
+ innerWidth: 0,
1438
+ innerHeight: 0,
1439
+ outerWidth: 0,
1440
+ outerHeight: 0
1441
+ }, b = 0; b < h; b++) {
1442
+ var k = s[b];
1443
+ c[k] = 0;
1444
+ }
1445
+ return c;
1446
+ }
1447
+ function d(c) {
1448
+ var b = getComputedStyle(c);
1449
+ return b || p("Style returned " + b + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), b;
1450
+ }
1451
+ var l = !1, f;
1452
+ function m() {
1453
+ if (!l) {
1454
+ l = !0;
1455
+ var c = document.createElement("div");
1456
+ c.style.width = "200px", c.style.padding = "1px 2px 3px 4px", c.style.borderStyle = "solid", c.style.borderWidth = "1px 2px 3px 4px", c.style.boxSizing = "border-box";
1457
+ var b = document.body || document.documentElement;
1458
+ b.appendChild(c);
1459
+ var k = d(c);
1460
+ f = Math.round(t(k.width)) == 200, _.isBoxSizeOuter = f, b.removeChild(c);
1461
+ }
1462
+ }
1463
+ function _(c) {
1464
+ if (m(), typeof c == "string" && (c = document.querySelector(c)), !(!c || typeof c != "object" || !c.nodeType)) {
1465
+ var b = d(c);
1466
+ if (b.display == "none")
1467
+ return u();
1468
+ var k = {};
1469
+ k.width = c.offsetWidth, k.height = c.offsetHeight;
1470
+ for (var g = k.isBorderBox = b.boxSizing == "border-box", i = 0; i < h; i++) {
1471
+ var r = s[i], v = b[r], T = parseFloat(v);
1472
+ k[r] = isNaN(T) ? 0 : T;
1473
+ }
1474
+ var $ = k.paddingLeft + k.paddingRight, L = k.paddingTop + k.paddingBottom, O = k.marginLeft + k.marginRight, A = k.marginTop + k.marginBottom, D = k.borderLeftWidth + k.borderRightWidth, W = k.borderTopWidth + k.borderBottomWidth, X = g && f, re = t(b.width);
1475
+ re !== !1 && (k.width = re + // add padding and border unless it's already including it
1476
+ (X ? 0 : $ + D));
1477
+ var U = t(b.height);
1478
+ return U !== !1 && (k.height = U + // add padding and border unless it's already including it
1479
+ (X ? 0 : L + W)), k.innerWidth = k.width - ($ + D), k.innerHeight = k.height - (L + W), k.outerWidth = k.width + O, k.outerHeight = k.height + A, k;
1480
+ }
1481
+ }
1482
+ return _;
1483
+ });
1484
+ }(Oe)), Oe.exports;
1485
+ }
1486
+ var He = { exports: {} }, Ae = { exports: {} }, it;
1487
+ function ni() {
1488
+ return it || (it = 1, function(o) {
1489
+ (function(e, t) {
1490
+ o.exports ? o.exports = t() : e.matchesSelector = t();
1491
+ })(window, function() {
1492
+ var t = function() {
1493
+ var n = window.Element.prototype;
1494
+ if (n.matches)
1495
+ return "matches";
1496
+ if (n.matchesSelector)
1497
+ return "matchesSelector";
1498
+ for (var p = ["webkit", "moz", "ms", "o"], s = 0; s < p.length; s++) {
1499
+ var h = p[s], u = h + "MatchesSelector";
1500
+ if (n[u])
1501
+ return u;
1502
+ }
1503
+ }();
1504
+ return function(p, s) {
1505
+ return p[t](s);
1506
+ };
1507
+ });
1508
+ }(Ae)), Ae.exports;
1509
+ }
1510
+ var rt;
1511
+ function ii() {
1512
+ return rt || (rt = 1, function(o) {
1513
+ (function(e, t) {
1514
+ o.exports ? o.exports = t(
1515
+ e,
1516
+ ni()
1517
+ ) : e.fizzyUIUtils = t(
1518
+ e,
1519
+ e.matchesSelector
1520
+ );
1521
+ })(window, function(t, n) {
1522
+ var p = {};
1523
+ p.extend = function(u, d) {
1524
+ for (var l in d)
1525
+ u[l] = d[l];
1526
+ return u;
1527
+ }, p.modulo = function(u, d) {
1528
+ return (u % d + d) % d;
1529
+ };
1530
+ var s = Array.prototype.slice;
1531
+ p.makeArray = function(u) {
1532
+ if (Array.isArray(u))
1533
+ return u;
1534
+ if (u == null)
1535
+ return [];
1536
+ var d = typeof u == "object" && typeof u.length == "number";
1537
+ return d ? s.call(u) : [u];
1538
+ }, p.removeFrom = function(u, d) {
1539
+ var l = u.indexOf(d);
1540
+ l != -1 && u.splice(l, 1);
1541
+ }, p.getParent = function(u, d) {
1542
+ for (; u.parentNode && u != document.body; )
1543
+ if (u = u.parentNode, n(u, d))
1544
+ return u;
1545
+ }, p.getQueryElement = function(u) {
1546
+ return typeof u == "string" ? document.querySelector(u) : u;
1547
+ }, p.handleEvent = function(u) {
1548
+ var d = "on" + u.type;
1549
+ this[d] && this[d](u);
1550
+ }, p.filterFindElements = function(u, d) {
1551
+ u = p.makeArray(u);
1552
+ var l = [];
1553
+ return u.forEach(function(f) {
1554
+ if (f instanceof HTMLElement) {
1555
+ if (!d) {
1556
+ l.push(f);
1557
+ return;
1558
+ }
1559
+ n(f, d) && l.push(f);
1560
+ for (var m = f.querySelectorAll(d), _ = 0; _ < m.length; _++)
1561
+ l.push(m[_]);
1562
+ }
1563
+ }), l;
1564
+ }, p.debounceMethod = function(u, d, l) {
1565
+ l = l || 100;
1566
+ var f = u.prototype[d], m = d + "Timeout";
1567
+ u.prototype[d] = function() {
1568
+ var _ = this[m];
1569
+ clearTimeout(_);
1570
+ var c = arguments, b = this;
1571
+ this[m] = setTimeout(function() {
1572
+ f.apply(b, c), delete b[m];
1573
+ }, l);
1574
+ };
1575
+ }, p.docReady = function(u) {
1576
+ var d = document.readyState;
1577
+ d == "complete" || d == "interactive" ? setTimeout(u) : document.addEventListener("DOMContentLoaded", u);
1578
+ }, p.toDashed = function(u) {
1579
+ return u.replace(/(.)([A-Z])/g, function(d, l, f) {
1580
+ return l + "-" + f;
1581
+ }).toLowerCase();
1582
+ };
1583
+ var h = t.console;
1584
+ return p.htmlInit = function(u, d) {
1585
+ p.docReady(function() {
1586
+ var l = p.toDashed(d), f = "data-" + l, m = document.querySelectorAll("[" + f + "]"), _ = document.querySelectorAll(".js-" + l), c = p.makeArray(m).concat(p.makeArray(_)), b = f + "-options", k = t.jQuery;
1587
+ c.forEach(function(g) {
1588
+ var i = g.getAttribute(f) || g.getAttribute(b), r;
1589
+ try {
1590
+ r = i && JSON.parse(i);
1591
+ } catch (T) {
1592
+ h && h.error("Error parsing " + f + " on " + g.className + ": " + T);
1593
+ return;
1594
+ }
1595
+ var v = new u(g, r);
1596
+ k && k.data(g, d, v);
1597
+ });
1598
+ });
1599
+ }, p;
1600
+ });
1601
+ }(He)), He.exports;
1602
+ }
1603
+ var De = { exports: {} }, st;
1604
+ function ri() {
1605
+ return st || (st = 1, function(o) {
1606
+ (function(e, t) {
1607
+ o.exports ? o.exports = t(
1608
+ je(),
1609
+ Ye()
1610
+ ) : (e.Outlayer = {}, e.Outlayer.Item = t(
1611
+ e.EvEmitter,
1612
+ e.getSize
1613
+ ));
1614
+ })(window, function(t, n) {
1615
+ function p(g) {
1616
+ for (var i in g)
1617
+ return !1;
1618
+ return i = null, !0;
1619
+ }
1620
+ var s = document.documentElement.style, h = typeof s.transition == "string" ? "transition" : "WebkitTransition", u = typeof s.transform == "string" ? "transform" : "WebkitTransform", d = {
1621
+ WebkitTransition: "webkitTransitionEnd",
1622
+ transition: "transitionend"
1623
+ }[h], l = {
1624
+ transform: u,
1625
+ transition: h,
1626
+ transitionDuration: h + "Duration",
1627
+ transitionProperty: h + "Property",
1628
+ transitionDelay: h + "Delay"
1629
+ };
1630
+ function f(g, i) {
1631
+ g && (this.element = g, this.layout = i, this.position = {
1632
+ x: 0,
1633
+ y: 0
1634
+ }, this._create());
1635
+ }
1636
+ var m = f.prototype = Object.create(t.prototype);
1637
+ m.constructor = f, m._create = function() {
1638
+ this._transn = {
1639
+ ingProperties: {},
1640
+ clean: {},
1641
+ onEnd: {}
1642
+ }, this.css({
1643
+ position: "absolute"
1644
+ });
1645
+ }, m.handleEvent = function(g) {
1646
+ var i = "on" + g.type;
1647
+ this[i] && this[i](g);
1648
+ }, m.getSize = function() {
1649
+ this.size = n(this.element);
1650
+ }, m.css = function(g) {
1651
+ var i = this.element.style;
1652
+ for (var r in g) {
1653
+ var v = l[r] || r;
1654
+ i[v] = g[r];
1655
+ }
1656
+ }, m.getPosition = function() {
1657
+ var g = getComputedStyle(this.element), i = this.layout._getOption("originLeft"), r = this.layout._getOption("originTop"), v = g[i ? "left" : "right"], T = g[r ? "top" : "bottom"], $ = parseFloat(v), L = parseFloat(T), O = this.layout.size;
1658
+ v.indexOf("%") != -1 && ($ = $ / 100 * O.width), T.indexOf("%") != -1 && (L = L / 100 * O.height), $ = isNaN($) ? 0 : $, L = isNaN(L) ? 0 : L, $ -= i ? O.paddingLeft : O.paddingRight, L -= r ? O.paddingTop : O.paddingBottom, this.position.x = $, this.position.y = L;
1659
+ }, m.layoutPosition = function() {
1660
+ var g = this.layout.size, i = {}, r = this.layout._getOption("originLeft"), v = this.layout._getOption("originTop"), T = r ? "paddingLeft" : "paddingRight", $ = r ? "left" : "right", L = r ? "right" : "left", O = this.position.x + g[T];
1661
+ i[$] = this.getXValue(O), i[L] = "";
1662
+ var A = v ? "paddingTop" : "paddingBottom", D = v ? "top" : "bottom", W = v ? "bottom" : "top", X = this.position.y + g[A];
1663
+ i[D] = this.getYValue(X), i[W] = "", this.css(i), this.emitEvent("layout", [this]);
1664
+ }, m.getXValue = function(g) {
1665
+ var i = this.layout._getOption("horizontal");
1666
+ return this.layout.options.percentPosition && !i ? g / this.layout.size.width * 100 + "%" : g + "px";
1667
+ }, m.getYValue = function(g) {
1668
+ var i = this.layout._getOption("horizontal");
1669
+ return this.layout.options.percentPosition && i ? g / this.layout.size.height * 100 + "%" : g + "px";
1670
+ }, m._transitionTo = function(g, i) {
1671
+ this.getPosition();
1672
+ var r = this.position.x, v = this.position.y, T = g == this.position.x && i == this.position.y;
1673
+ if (this.setPosition(g, i), T && !this.isTransitioning) {
1674
+ this.layoutPosition();
1675
+ return;
1676
+ }
1677
+ var $ = g - r, L = i - v, O = {};
1678
+ O.transform = this.getTranslate($, L), this.transition({
1679
+ to: O,
1680
+ onTransitionEnd: {
1681
+ transform: this.layoutPosition
1682
+ },
1683
+ isCleaning: !0
1684
+ });
1685
+ }, m.getTranslate = function(g, i) {
1686
+ var r = this.layout._getOption("originLeft"), v = this.layout._getOption("originTop");
1687
+ return g = r ? g : -g, i = v ? i : -i, "translate3d(" + g + "px, " + i + "px, 0)";
1688
+ }, m.goTo = function(g, i) {
1689
+ this.setPosition(g, i), this.layoutPosition();
1690
+ }, m.moveTo = m._transitionTo, m.setPosition = function(g, i) {
1691
+ this.position.x = parseFloat(g), this.position.y = parseFloat(i);
1692
+ }, m._nonTransition = function(g) {
1693
+ this.css(g.to), g.isCleaning && this._removeStyles(g.to);
1694
+ for (var i in g.onTransitionEnd)
1695
+ g.onTransitionEnd[i].call(this);
1696
+ }, m.transition = function(g) {
1697
+ if (!parseFloat(this.layout.options.transitionDuration)) {
1698
+ this._nonTransition(g);
1699
+ return;
1700
+ }
1701
+ var i = this._transn;
1702
+ for (var r in g.onTransitionEnd)
1703
+ i.onEnd[r] = g.onTransitionEnd[r];
1704
+ for (r in g.to)
1705
+ i.ingProperties[r] = !0, g.isCleaning && (i.clean[r] = !0);
1706
+ g.from && (this.css(g.from), this.element.offsetHeight), this.enableTransition(g.to), this.css(g.to), this.isTransitioning = !0;
1707
+ };
1708
+ function _(g) {
1709
+ return g.replace(/([A-Z])/g, function(i) {
1710
+ return "-" + i.toLowerCase();
1711
+ });
1712
+ }
1713
+ var c = "opacity," + _(u);
1714
+ m.enableTransition = function() {
1715
+ if (!this.isTransitioning) {
1716
+ var g = this.layout.options.transitionDuration;
1717
+ g = typeof g == "number" ? g + "ms" : g, this.css({
1718
+ transitionProperty: c,
1719
+ transitionDuration: g,
1720
+ transitionDelay: this.staggerDelay || 0
1721
+ }), this.element.addEventListener(d, this, !1);
1722
+ }
1723
+ }, m.onwebkitTransitionEnd = function(g) {
1724
+ this.ontransitionend(g);
1725
+ }, m.onotransitionend = function(g) {
1726
+ this.ontransitionend(g);
1727
+ };
1728
+ var b = {
1729
+ "-webkit-transform": "transform"
1730
+ };
1731
+ m.ontransitionend = function(g) {
1732
+ if (g.target === this.element) {
1733
+ var i = this._transn, r = b[g.propertyName] || g.propertyName;
1734
+ if (delete i.ingProperties[r], p(i.ingProperties) && this.disableTransition(), r in i.clean && (this.element.style[g.propertyName] = "", delete i.clean[r]), r in i.onEnd) {
1735
+ var v = i.onEnd[r];
1736
+ v.call(this), delete i.onEnd[r];
1737
+ }
1738
+ this.emitEvent("transitionEnd", [this]);
1739
+ }
1740
+ }, m.disableTransition = function() {
1741
+ this.removeTransitionStyles(), this.element.removeEventListener(d, this, !1), this.isTransitioning = !1;
1742
+ }, m._removeStyles = function(g) {
1743
+ var i = {};
1744
+ for (var r in g)
1745
+ i[r] = "";
1746
+ this.css(i);
1747
+ };
1748
+ var k = {
1749
+ transitionProperty: "",
1750
+ transitionDuration: "",
1751
+ transitionDelay: ""
1752
+ };
1753
+ return m.removeTransitionStyles = function() {
1754
+ this.css(k);
1755
+ }, m.stagger = function(g) {
1756
+ g = isNaN(g) ? 0 : g, this.staggerDelay = g + "ms";
1757
+ }, m.removeElem = function() {
1758
+ this.element.parentNode.removeChild(this.element), this.css({ display: "" }), this.emitEvent("remove", [this]);
1759
+ }, m.remove = function() {
1760
+ if (!h || !parseFloat(this.layout.options.transitionDuration)) {
1761
+ this.removeElem();
1762
+ return;
1763
+ }
1764
+ this.once("transitionEnd", function() {
1765
+ this.removeElem();
1766
+ }), this.hide();
1767
+ }, m.reveal = function() {
1768
+ delete this.isHidden, this.css({ display: "" });
1769
+ var g = this.layout.options, i = {}, r = this.getHideRevealTransitionEndProperty("visibleStyle");
1770
+ i[r] = this.onRevealTransitionEnd, this.transition({
1771
+ from: g.hiddenStyle,
1772
+ to: g.visibleStyle,
1773
+ isCleaning: !0,
1774
+ onTransitionEnd: i
1775
+ });
1776
+ }, m.onRevealTransitionEnd = function() {
1777
+ this.isHidden || this.emitEvent("reveal");
1778
+ }, m.getHideRevealTransitionEndProperty = function(g) {
1779
+ var i = this.layout.options[g];
1780
+ if (i.opacity)
1781
+ return "opacity";
1782
+ for (var r in i)
1783
+ return r;
1784
+ }, m.hide = function() {
1785
+ this.isHidden = !0, this.css({ display: "" });
1786
+ var g = this.layout.options, i = {}, r = this.getHideRevealTransitionEndProperty("hiddenStyle");
1787
+ i[r] = this.onHideTransitionEnd, this.transition({
1788
+ from: g.visibleStyle,
1789
+ to: g.hiddenStyle,
1790
+ // keep hidden stuff hidden
1791
+ isCleaning: !0,
1792
+ onTransitionEnd: i
1793
+ });
1794
+ }, m.onHideTransitionEnd = function() {
1795
+ this.isHidden && (this.css({ display: "none" }), this.emitEvent("hide"));
1796
+ }, m.destroy = function() {
1797
+ this.css({
1798
+ position: "",
1799
+ left: "",
1800
+ right: "",
1801
+ top: "",
1802
+ bottom: "",
1803
+ transition: "",
1804
+ transform: ""
1805
+ });
1806
+ }, f;
1807
+ });
1808
+ }(De)), De.exports;
1809
+ }
1810
+ /*!
1811
+ * Outlayer v2.1.1
1812
+ * the brains and guts of a layout library
1813
+ * MIT license
1814
+ */
1815
+ var at;
1816
+ function si() {
1817
+ return at || (at = 1, function(o) {
1818
+ (function(e, t) {
1819
+ o.exports ? o.exports = t(
1820
+ e,
1821
+ je(),
1822
+ Ye(),
1823
+ ii(),
1824
+ ri()
1825
+ ) : e.Outlayer = t(
1826
+ e,
1827
+ e.EvEmitter,
1828
+ e.getSize,
1829
+ e.fizzyUIUtils,
1830
+ e.Outlayer.Item
1831
+ );
1832
+ })(window, function(t, n, p, s, h) {
1833
+ var u = t.console, d = t.jQuery, l = function() {
1834
+ }, f = 0, m = {};
1835
+ function _(i, r) {
1836
+ var v = s.getQueryElement(i);
1837
+ if (!v) {
1838
+ u && u.error("Bad element for " + this.constructor.namespace + ": " + (v || i));
1839
+ return;
1840
+ }
1841
+ this.element = v, d && (this.$element = d(this.element)), this.options = s.extend({}, this.constructor.defaults), this.option(r);
1842
+ var T = ++f;
1843
+ this.element.outlayerGUID = T, m[T] = this, this._create();
1844
+ var $ = this._getOption("initLayout");
1845
+ $ && this.layout();
1846
+ }
1847
+ _.namespace = "outlayer", _.Item = h, _.defaults = {
1848
+ containerStyle: {
1849
+ position: "relative"
1850
+ },
1851
+ initLayout: !0,
1852
+ originLeft: !0,
1853
+ originTop: !0,
1854
+ resize: !0,
1855
+ resizeContainer: !0,
1856
+ // item options
1857
+ transitionDuration: "0.4s",
1858
+ hiddenStyle: {
1859
+ opacity: 0,
1860
+ transform: "scale(0.001)"
1861
+ },
1862
+ visibleStyle: {
1863
+ opacity: 1,
1864
+ transform: "scale(1)"
1865
+ }
1866
+ };
1867
+ var c = _.prototype;
1868
+ s.extend(c, n.prototype), c.option = function(i) {
1869
+ s.extend(this.options, i);
1870
+ }, c._getOption = function(i) {
1871
+ var r = this.constructor.compatOptions[i];
1872
+ return r && this.options[r] !== void 0 ? this.options[r] : this.options[i];
1873
+ }, _.compatOptions = {
1874
+ // currentName: oldName
1875
+ initLayout: "isInitLayout",
1876
+ horizontal: "isHorizontal",
1877
+ layoutInstant: "isLayoutInstant",
1878
+ originLeft: "isOriginLeft",
1879
+ originTop: "isOriginTop",
1880
+ resize: "isResizeBound",
1881
+ resizeContainer: "isResizingContainer"
1882
+ }, c._create = function() {
1883
+ this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), s.extend(this.element.style, this.options.containerStyle);
1884
+ var i = this._getOption("resize");
1885
+ i && this.bindResize();
1886
+ }, c.reloadItems = function() {
1887
+ this.items = this._itemize(this.element.children);
1888
+ }, c._itemize = function(i) {
1889
+ for (var r = this._filterFindItemElements(i), v = this.constructor.Item, T = [], $ = 0; $ < r.length; $++) {
1890
+ var L = r[$], O = new v(L, this);
1891
+ T.push(O);
1892
+ }
1893
+ return T;
1894
+ }, c._filterFindItemElements = function(i) {
1895
+ return s.filterFindElements(i, this.options.itemSelector);
1896
+ }, c.getItemElements = function() {
1897
+ return this.items.map(function(i) {
1898
+ return i.element;
1899
+ });
1900
+ }, c.layout = function() {
1901
+ this._resetLayout(), this._manageStamps();
1902
+ var i = this._getOption("layoutInstant"), r = i !== void 0 ? i : !this._isLayoutInited;
1903
+ this.layoutItems(this.items, r), this._isLayoutInited = !0;
1904
+ }, c._init = c.layout, c._resetLayout = function() {
1905
+ this.getSize();
1906
+ }, c.getSize = function() {
1907
+ this.size = p(this.element);
1908
+ }, c._getMeasurement = function(i, r) {
1909
+ var v = this.options[i], T;
1910
+ v ? (typeof v == "string" ? T = this.element.querySelector(v) : v instanceof HTMLElement && (T = v), this[i] = T ? p(T)[r] : v) : this[i] = 0;
1911
+ }, c.layoutItems = function(i, r) {
1912
+ i = this._getItemsForLayout(i), this._layoutItems(i, r), this._postLayout();
1913
+ }, c._getItemsForLayout = function(i) {
1914
+ return i.filter(function(r) {
1915
+ return !r.isIgnored;
1916
+ });
1917
+ }, c._layoutItems = function(i, r) {
1918
+ if (this._emitCompleteOnItems("layout", i), !(!i || !i.length)) {
1919
+ var v = [];
1920
+ i.forEach(function(T) {
1921
+ var $ = this._getItemLayoutPosition(T);
1922
+ $.item = T, $.isInstant = r || T.isLayoutInstant, v.push($);
1923
+ }, this), this._processLayoutQueue(v);
1924
+ }
1925
+ }, c._getItemLayoutPosition = function() {
1926
+ return {
1927
+ x: 0,
1928
+ y: 0
1929
+ };
1930
+ }, c._processLayoutQueue = function(i) {
1931
+ this.updateStagger(), i.forEach(function(r, v) {
1932
+ this._positionItem(r.item, r.x, r.y, r.isInstant, v);
1933
+ }, this);
1934
+ }, c.updateStagger = function() {
1935
+ var i = this.options.stagger;
1936
+ if (i == null) {
1937
+ this.stagger = 0;
1938
+ return;
1939
+ }
1940
+ return this.stagger = g(i), this.stagger;
1941
+ }, c._positionItem = function(i, r, v, T, $) {
1942
+ T ? i.goTo(r, v) : (i.stagger($ * this.stagger), i.moveTo(r, v));
1943
+ }, c._postLayout = function() {
1944
+ this.resizeContainer();
1945
+ }, c.resizeContainer = function() {
1946
+ var i = this._getOption("resizeContainer");
1947
+ if (i) {
1948
+ var r = this._getContainerSize();
1949
+ r && (this._setContainerMeasure(r.width, !0), this._setContainerMeasure(r.height, !1));
1950
+ }
1951
+ }, c._getContainerSize = l, c._setContainerMeasure = function(i, r) {
1952
+ if (i !== void 0) {
1953
+ var v = this.size;
1954
+ v.isBorderBox && (i += r ? v.paddingLeft + v.paddingRight + v.borderLeftWidth + v.borderRightWidth : v.paddingBottom + v.paddingTop + v.borderTopWidth + v.borderBottomWidth), i = Math.max(i, 0), this.element.style[r ? "width" : "height"] = i + "px";
1955
+ }
1956
+ }, c._emitCompleteOnItems = function(i, r) {
1957
+ var v = this;
1958
+ function T() {
1959
+ v.dispatchEvent(i + "Complete", null, [r]);
1960
+ }
1961
+ var $ = r.length;
1962
+ if (!r || !$) {
1963
+ T();
1964
+ return;
1965
+ }
1966
+ var L = 0;
1967
+ function O() {
1968
+ L++, L == $ && T();
1969
+ }
1970
+ r.forEach(function(A) {
1971
+ A.once(i, O);
1972
+ });
1973
+ }, c.dispatchEvent = function(i, r, v) {
1974
+ var T = r ? [r].concat(v) : v;
1975
+ if (this.emitEvent(i, T), d)
1976
+ if (this.$element = this.$element || d(this.element), r) {
1977
+ var $ = d.Event(r);
1978
+ $.type = i, this.$element.trigger($, v);
1979
+ } else
1980
+ this.$element.trigger(i, v);
1981
+ }, c.ignore = function(i) {
1982
+ var r = this.getItem(i);
1983
+ r && (r.isIgnored = !0);
1984
+ }, c.unignore = function(i) {
1985
+ var r = this.getItem(i);
1986
+ r && delete r.isIgnored;
1987
+ }, c.stamp = function(i) {
1988
+ i = this._find(i), i && (this.stamps = this.stamps.concat(i), i.forEach(this.ignore, this));
1989
+ }, c.unstamp = function(i) {
1990
+ i = this._find(i), i && i.forEach(function(r) {
1991
+ s.removeFrom(this.stamps, r), this.unignore(r);
1992
+ }, this);
1993
+ }, c._find = function(i) {
1994
+ if (i)
1995
+ return typeof i == "string" && (i = this.element.querySelectorAll(i)), i = s.makeArray(i), i;
1996
+ }, c._manageStamps = function() {
1997
+ !this.stamps || !this.stamps.length || (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this));
1998
+ }, c._getBoundingRect = function() {
1999
+ var i = this.element.getBoundingClientRect(), r = this.size;
2000
+ this._boundingRect = {
2001
+ left: i.left + r.paddingLeft + r.borderLeftWidth,
2002
+ top: i.top + r.paddingTop + r.borderTopWidth,
2003
+ right: i.right - (r.paddingRight + r.borderRightWidth),
2004
+ bottom: i.bottom - (r.paddingBottom + r.borderBottomWidth)
2005
+ };
2006
+ }, c._manageStamp = l, c._getElementOffset = function(i) {
2007
+ var r = i.getBoundingClientRect(), v = this._boundingRect, T = p(i), $ = {
2008
+ left: r.left - v.left - T.marginLeft,
2009
+ top: r.top - v.top - T.marginTop,
2010
+ right: v.right - r.right - T.marginRight,
2011
+ bottom: v.bottom - r.bottom - T.marginBottom
2012
+ };
2013
+ return $;
2014
+ }, c.handleEvent = s.handleEvent, c.bindResize = function() {
2015
+ t.addEventListener("resize", this), this.isResizeBound = !0;
2016
+ }, c.unbindResize = function() {
2017
+ t.removeEventListener("resize", this), this.isResizeBound = !1;
2018
+ }, c.onresize = function() {
2019
+ this.resize();
2020
+ }, s.debounceMethod(_, "onresize", 100), c.resize = function() {
2021
+ !this.isResizeBound || !this.needsResizeLayout() || this.layout();
2022
+ }, c.needsResizeLayout = function() {
2023
+ var i = p(this.element), r = this.size && i;
2024
+ return r && i.innerWidth !== this.size.innerWidth;
2025
+ }, c.addItems = function(i) {
2026
+ var r = this._itemize(i);
2027
+ return r.length && (this.items = this.items.concat(r)), r;
2028
+ }, c.appended = function(i) {
2029
+ var r = this.addItems(i);
2030
+ r.length && (this.layoutItems(r, !0), this.reveal(r));
2031
+ }, c.prepended = function(i) {
2032
+ var r = this._itemize(i);
2033
+ if (r.length) {
2034
+ var v = this.items.slice(0);
2035
+ this.items = r.concat(v), this._resetLayout(), this._manageStamps(), this.layoutItems(r, !0), this.reveal(r), this.layoutItems(v);
2036
+ }
2037
+ }, c.reveal = function(i) {
2038
+ if (this._emitCompleteOnItems("reveal", i), !(!i || !i.length)) {
2039
+ var r = this.updateStagger();
2040
+ i.forEach(function(v, T) {
2041
+ v.stagger(T * r), v.reveal();
2042
+ });
2043
+ }
2044
+ }, c.hide = function(i) {
2045
+ if (this._emitCompleteOnItems("hide", i), !(!i || !i.length)) {
2046
+ var r = this.updateStagger();
2047
+ i.forEach(function(v, T) {
2048
+ v.stagger(T * r), v.hide();
2049
+ });
2050
+ }
2051
+ }, c.revealItemElements = function(i) {
2052
+ var r = this.getItems(i);
2053
+ this.reveal(r);
2054
+ }, c.hideItemElements = function(i) {
2055
+ var r = this.getItems(i);
2056
+ this.hide(r);
2057
+ }, c.getItem = function(i) {
2058
+ for (var r = 0; r < this.items.length; r++) {
2059
+ var v = this.items[r];
2060
+ if (v.element == i)
2061
+ return v;
2062
+ }
2063
+ }, c.getItems = function(i) {
2064
+ i = s.makeArray(i);
2065
+ var r = [];
2066
+ return i.forEach(function(v) {
2067
+ var T = this.getItem(v);
2068
+ T && r.push(T);
2069
+ }, this), r;
2070
+ }, c.remove = function(i) {
2071
+ var r = this.getItems(i);
2072
+ this._emitCompleteOnItems("remove", r), !(!r || !r.length) && r.forEach(function(v) {
2073
+ v.remove(), s.removeFrom(this.items, v);
2074
+ }, this);
2075
+ }, c.destroy = function() {
2076
+ var i = this.element.style;
2077
+ i.height = "", i.position = "", i.width = "", this.items.forEach(function(v) {
2078
+ v.destroy();
2079
+ }), this.unbindResize();
2080
+ var r = this.element.outlayerGUID;
2081
+ delete m[r], delete this.element.outlayerGUID, d && d.removeData(this.element, this.constructor.namespace);
2082
+ }, _.data = function(i) {
2083
+ i = s.getQueryElement(i);
2084
+ var r = i && i.outlayerGUID;
2085
+ return r && m[r];
2086
+ }, _.create = function(i, r) {
2087
+ var v = b(_);
2088
+ return v.defaults = s.extend({}, _.defaults), s.extend(v.defaults, r), v.compatOptions = s.extend({}, _.compatOptions), v.namespace = i, v.data = _.data, v.Item = b(h), s.htmlInit(v, i), d && d.bridget && d.bridget(i, v), v;
2089
+ };
2090
+ function b(i) {
2091
+ function r() {
2092
+ i.apply(this, arguments);
2093
+ }
2094
+ return r.prototype = Object.create(i.prototype), r.prototype.constructor = r, r;
2095
+ }
2096
+ var k = {
2097
+ ms: 1,
2098
+ s: 1e3
2099
+ };
2100
+ function g(i) {
2101
+ if (typeof i == "number")
2102
+ return i;
2103
+ var r = i.match(/(^\d*\.?\d*)(\w*)/), v = r && r[1], T = r && r[2];
2104
+ if (!v.length)
2105
+ return 0;
2106
+ v = parseFloat(v);
2107
+ var $ = k[T] || 1;
2108
+ return v * $;
2109
+ }
2110
+ return _.Item = h, _;
2111
+ });
2112
+ }(xe)), xe.exports;
2113
+ }
2114
+ /*!
2115
+ * Masonry v4.2.2
2116
+ * Cascading grid layout library
2117
+ * https://masonry.desandro.com
2118
+ * MIT License
2119
+ * by David DeSandro
2120
+ */
2121
+ (function(o) {
2122
+ (function(e, t) {
2123
+ o.exports ? o.exports = t(
2124
+ si(),
2125
+ Ye()
2126
+ ) : e.Masonry = t(
2127
+ e.Outlayer,
2128
+ e.getSize
2129
+ );
2130
+ })(window, function(t, n) {
2131
+ var p = t.create("masonry");
2132
+ p.compatOptions.fitWidth = "isFitWidth";
2133
+ var s = p.prototype;
2134
+ return s._resetLayout = function() {
2135
+ this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(), this.colYs = [];
2136
+ for (var h = 0; h < this.cols; h++)
2137
+ this.colYs.push(0);
2138
+ this.maxY = 0, this.horizontalColIndex = 0;
2139
+ }, s.measureColumns = function() {
2140
+ if (this.getContainerWidth(), !this.columnWidth) {
2141
+ var h = this.items[0], u = h && h.element;
2142
+ this.columnWidth = u && n(u).outerWidth || // if first elem has no width, default to size of container
2143
+ this.containerWidth;
2144
+ }
2145
+ var d = this.columnWidth += this.gutter, l = this.containerWidth + this.gutter, f = l / d, m = d - l % d, _ = m && m < 1 ? "round" : "floor";
2146
+ f = Math[_](f), this.cols = Math.max(f, 1);
2147
+ }, s.getContainerWidth = function() {
2148
+ var h = this._getOption("fitWidth"), u = h ? this.element.parentNode : this.element, d = n(u);
2149
+ this.containerWidth = d && d.innerWidth;
2150
+ }, s._getItemLayoutPosition = function(h) {
2151
+ h.getSize();
2152
+ var u = h.size.outerWidth % this.columnWidth, d = u && u < 1 ? "round" : "ceil", l = Math[d](h.size.outerWidth / this.columnWidth);
2153
+ l = Math.min(l, this.cols);
2154
+ for (var f = this.options.horizontalOrder ? "_getHorizontalColPosition" : "_getTopColPosition", m = this[f](l, h), _ = {
2155
+ x: this.columnWidth * m.col,
2156
+ y: m.y
2157
+ }, c = m.y + h.size.outerHeight, b = l + m.col, k = m.col; k < b; k++)
2158
+ this.colYs[k] = c;
2159
+ return _;
2160
+ }, s._getTopColPosition = function(h) {
2161
+ var u = this._getTopColGroup(h), d = Math.min.apply(Math, u);
2162
+ return {
2163
+ col: u.indexOf(d),
2164
+ y: d
2165
+ };
2166
+ }, s._getTopColGroup = function(h) {
2167
+ if (h < 2)
2168
+ return this.colYs;
2169
+ for (var u = [], d = this.cols + 1 - h, l = 0; l < d; l++)
2170
+ u[l] = this._getColGroupY(l, h);
2171
+ return u;
2172
+ }, s._getColGroupY = function(h, u) {
2173
+ if (u < 2)
2174
+ return this.colYs[h];
2175
+ var d = this.colYs.slice(h, h + u);
2176
+ return Math.max.apply(Math, d);
2177
+ }, s._getHorizontalColPosition = function(h, u) {
2178
+ var d = this.horizontalColIndex % this.cols, l = h > 1 && d + h > this.cols;
2179
+ d = l ? 0 : d;
2180
+ var f = u.size.outerWidth && u.size.outerHeight;
2181
+ return this.horizontalColIndex = f ? d + h : this.horizontalColIndex, {
2182
+ col: d,
2183
+ y: this._getColGroupY(d, h)
2184
+ };
2185
+ }, s._manageStamp = function(h) {
2186
+ var u = n(h), d = this._getElementOffset(h), l = this._getOption("originLeft"), f = l ? d.left : d.right, m = f + u.outerWidth, _ = Math.floor(f / this.columnWidth);
2187
+ _ = Math.max(0, _);
2188
+ var c = Math.floor(m / this.columnWidth);
2189
+ c -= m % this.columnWidth ? 0 : 1, c = Math.min(this.cols - 1, c);
2190
+ for (var b = this._getOption("originTop"), k = (b ? d.top : d.bottom) + u.outerHeight, g = _; g <= c; g++)
2191
+ this.colYs[g] = Math.max(k, this.colYs[g]);
2192
+ }, s._getContainerSize = function() {
2193
+ this.maxY = Math.max.apply(Math, this.colYs);
2194
+ var h = {
2195
+ height: this.maxY
2196
+ };
2197
+ return this._getOption("fitWidth") && (h.width = this._getContainerFitWidth()), h;
2198
+ }, s._getContainerFitWidth = function() {
2199
+ for (var h = 0, u = this.cols; --u && this.colYs[u] === 0; )
2200
+ h++;
2201
+ return (this.cols - h) * this.columnWidth - this.gutter;
2202
+ }, s.needsResizeLayout = function() {
2203
+ var h = this.containerWidth;
2204
+ return this.getContainerWidth(), h != this.containerWidth;
2205
+ }, p;
2206
+ });
2207
+ })(Tt);
2208
+ var ai = Tt.exports;
2209
+ const lt = /* @__PURE__ */ Et(ai);
2210
+ var Ct = { exports: {} };
2211
+ /*!
2212
+ * imagesLoaded v4.1.4
2213
+ * JavaScript is all like "You images are done yet or what?"
2214
+ * MIT License
2215
+ */
2216
+ (function(o) {
2217
+ (function(e, t) {
2218
+ o.exports ? o.exports = t(
2219
+ e,
2220
+ je()
2221
+ ) : e.imagesLoaded = t(
2222
+ e,
2223
+ e.EvEmitter
2224
+ );
2225
+ })(
2226
+ typeof window < "u" ? window : _t,
2227
+ // -------------------------- factory -------------------------- //
2228
+ function(t, n) {
2229
+ var p = t.jQuery, s = t.console;
2230
+ function h(c, b) {
2231
+ for (var k in b)
2232
+ c[k] = b[k];
2233
+ return c;
2234
+ }
2235
+ var u = Array.prototype.slice;
2236
+ function d(c) {
2237
+ if (Array.isArray(c))
2238
+ return c;
2239
+ var b = typeof c == "object" && typeof c.length == "number";
2240
+ return b ? u.call(c) : [c];
2241
+ }
2242
+ function l(c, b, k) {
2243
+ if (!(this instanceof l))
2244
+ return new l(c, b, k);
2245
+ var g = c;
2246
+ if (typeof c == "string" && (g = document.querySelectorAll(c)), !g) {
2247
+ s.error("Bad element for imagesLoaded " + (g || c));
2248
+ return;
2249
+ }
2250
+ this.elements = d(g), this.options = h({}, this.options), typeof b == "function" ? k = b : h(this.options, b), k && this.on("always", k), this.getImages(), p && (this.jqDeferred = new p.Deferred()), setTimeout(this.check.bind(this));
2251
+ }
2252
+ l.prototype = Object.create(n.prototype), l.prototype.options = {}, l.prototype.getImages = function() {
2253
+ this.images = [], this.elements.forEach(this.addElementImages, this);
2254
+ }, l.prototype.addElementImages = function(c) {
2255
+ c.nodeName == "IMG" && this.addImage(c), this.options.background === !0 && this.addElementBackgroundImages(c);
2256
+ var b = c.nodeType;
2257
+ if (!(!b || !f[b])) {
2258
+ for (var k = c.querySelectorAll("img"), g = 0; g < k.length; g++) {
2259
+ var i = k[g];
2260
+ this.addImage(i);
2261
+ }
2262
+ if (typeof this.options.background == "string") {
2263
+ var r = c.querySelectorAll(this.options.background);
2264
+ for (g = 0; g < r.length; g++) {
2265
+ var v = r[g];
2266
+ this.addElementBackgroundImages(v);
2267
+ }
2268
+ }
2269
+ }
2270
+ };
2271
+ var f = {
2272
+ 1: !0,
2273
+ 9: !0,
2274
+ 11: !0
2275
+ };
2276
+ l.prototype.addElementBackgroundImages = function(c) {
2277
+ var b = getComputedStyle(c);
2278
+ if (b)
2279
+ for (var k = /url\((['"])?(.*?)\1\)/gi, g = k.exec(b.backgroundImage); g !== null; ) {
2280
+ var i = g && g[2];
2281
+ i && this.addBackground(i, c), g = k.exec(b.backgroundImage);
2282
+ }
2283
+ }, l.prototype.addImage = function(c) {
2284
+ var b = new m(c);
2285
+ this.images.push(b);
2286
+ }, l.prototype.addBackground = function(c, b) {
2287
+ var k = new _(c, b);
2288
+ this.images.push(k);
2289
+ }, l.prototype.check = function() {
2290
+ var c = this;
2291
+ if (this.progressedCount = 0, this.hasAnyBroken = !1, !this.images.length) {
2292
+ this.complete();
2293
+ return;
2294
+ }
2295
+ function b(k, g, i) {
2296
+ setTimeout(function() {
2297
+ c.progress(k, g, i);
2298
+ });
2299
+ }
2300
+ this.images.forEach(function(k) {
2301
+ k.once("progress", b), k.check();
2302
+ });
2303
+ }, l.prototype.progress = function(c, b, k) {
2304
+ this.progressedCount++, this.hasAnyBroken = this.hasAnyBroken || !c.isLoaded, this.emitEvent("progress", [this, c, b]), this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, c), this.progressedCount == this.images.length && this.complete(), this.options.debug && s && s.log("progress: " + k, c, b);
2305
+ }, l.prototype.complete = function() {
2306
+ var c = this.hasAnyBroken ? "fail" : "done";
2307
+ if (this.isComplete = !0, this.emitEvent(c, [this]), this.emitEvent("always", [this]), this.jqDeferred) {
2308
+ var b = this.hasAnyBroken ? "reject" : "resolve";
2309
+ this.jqDeferred[b](this);
2310
+ }
2311
+ };
2312
+ function m(c) {
2313
+ this.img = c;
2314
+ }
2315
+ m.prototype = Object.create(n.prototype), m.prototype.check = function() {
2316
+ var c = this.getIsImageComplete();
2317
+ if (c) {
2318
+ this.confirm(this.img.naturalWidth !== 0, "naturalWidth");
2319
+ return;
2320
+ }
2321
+ this.proxyImage = new Image(), this.proxyImage.addEventListener("load", this), this.proxyImage.addEventListener("error", this), this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.proxyImage.src = this.img.src;
2322
+ }, m.prototype.getIsImageComplete = function() {
2323
+ return this.img.complete && this.img.naturalWidth;
2324
+ }, m.prototype.confirm = function(c, b) {
2325
+ this.isLoaded = c, this.emitEvent("progress", [this, this.img, b]);
2326
+ }, m.prototype.handleEvent = function(c) {
2327
+ var b = "on" + c.type;
2328
+ this[b] && this[b](c);
2329
+ }, m.prototype.onload = function() {
2330
+ this.confirm(!0, "onload"), this.unbindEvents();
2331
+ }, m.prototype.onerror = function() {
2332
+ this.confirm(!1, "onerror"), this.unbindEvents();
2333
+ }, m.prototype.unbindEvents = function() {
2334
+ this.proxyImage.removeEventListener("load", this), this.proxyImage.removeEventListener("error", this), this.img.removeEventListener("load", this), this.img.removeEventListener("error", this);
2335
+ };
2336
+ function _(c, b) {
2337
+ this.url = c, this.element = b, this.img = new Image();
2338
+ }
2339
+ return _.prototype = Object.create(m.prototype), _.prototype.check = function() {
2340
+ this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.img.src = this.url;
2341
+ var c = this.getIsImageComplete();
2342
+ c && (this.confirm(this.img.naturalWidth !== 0, "naturalWidth"), this.unbindEvents());
2343
+ }, _.prototype.unbindEvents = function() {
2344
+ this.img.removeEventListener("load", this), this.img.removeEventListener("error", this);
2345
+ }, _.prototype.confirm = function(c, b) {
2346
+ this.isLoaded = c, this.emitEvent("progress", [this, this.element, b]);
2347
+ }, l.makeJQueryPlugin = function(c) {
2348
+ c = c || t.jQuery, c && (p = c, p.fn.imagesLoaded = function(b, k) {
2349
+ var g = new l(this, b, k);
2350
+ return g.jqDeferred.promise(p(this));
2351
+ });
2352
+ }, l.makeJQueryPlugin(), l;
2353
+ }
2354
+ );
2355
+ })(Ct);
2356
+ var li = Ct.exports;
2357
+ const ui = /* @__PURE__ */ Et(li);
2358
+ function di(o) {
2359
+ return { all: o = o || /* @__PURE__ */ new Map(), on: function(e, t) {
2360
+ var n = o.get(e);
2361
+ n ? n.push(t) : o.set(e, [t]);
2362
+ }, off: function(e, t) {
2363
+ var n = o.get(e);
2364
+ n && (t ? n.splice(n.indexOf(t) >>> 0, 1) : o.set(e, []));
2365
+ }, emit: function(e, t) {
2366
+ var n = o.get(e);
2367
+ n && n.slice().map(function(p) {
2368
+ p(t);
2369
+ }), (n = o.get("*")) && n.slice().map(function(p) {
2370
+ p(e, t);
2371
+ });
2372
+ } };
2373
+ }
2374
+ const me = {
2375
+ "column-width": "columnWidth",
2376
+ "transition-duration": "transitionDuration",
2377
+ "item-selector": "itemSelector",
2378
+ "origin-left": "originLeft",
2379
+ "origin-top": "originTop",
2380
+ "fit-width": "fitWidth",
2381
+ stamp: "stamp",
2382
+ gutter: "gutter",
2383
+ "percent-position": "percentPosition",
2384
+ "horizontal-order": "horizontalOrder",
2385
+ stagger: "stagger",
2386
+ "destroy-delay": "destroyDelay"
2387
+ }, ge = "vuemasonry.itemAdded", Me = "vuemasonry.itemRemoved", Re = "vuemasonry.imageLoaded", Be = "vuemasonry.destroy", ci = function(o) {
2388
+ return (o + "").toLowerCase() === "true";
2389
+ }, pi = function(o) {
2390
+ return isNaN(o) ? o : parseInt(o);
2391
+ }, hi = function(o) {
2392
+ const e = {};
2393
+ return Array.prototype.slice.call(o).forEach(function(n) {
2394
+ Object.keys(me).indexOf(n.name) > -1 && (n.name.indexOf("origin") > -1 ? e[me[n.name]] = ci(n.value) : n.name === "column-width" || n.name === "gutter" ? e[me[n.name]] = pi(n.value) : e[me[n.name]] = n.value);
2395
+ }), e;
2396
+ }, It = {};
2397
+ It.install = function(o, e) {
2398
+ const t = di(), n = "VueMasonry", p = o;
2399
+ p.directive("masonry", {
2400
+ props: ["transitionDuration", " itemSelector", "destroyDelay"],
2401
+ mounted: function(s, h) {
2402
+ if (!lt)
2403
+ throw new Error("Masonry plugin is not defined. Please check it's connected and parsed correctly.");
2404
+ const u = hi(s.attributes), d = new lt(s, u), l = h.value || n, f = u.destroyDelay ? parseInt(u.destroyDelay, 10) : void 0, m = function() {
2405
+ d.reloadItems(), d.layout();
2406
+ };
2407
+ kt(() => {
2408
+ m();
2409
+ });
2410
+ const _ = function(b) {
2411
+ m();
2412
+ }, c = function(b) {
2413
+ t.off(`${ge}__${l}`, _), t.off(`${Me}__${l}`, _), t.off(`${Re}__${l}`, _), t.off(`${Be}__${l}`, c);
2414
+ const k = f && !Number.isNaN(f) ? f : 0;
2415
+ setTimeout(function() {
2416
+ d.destroy();
2417
+ }, k);
2418
+ };
2419
+ t.on(`${ge}__${l}`, _), t.on(`${Me}__${l}`, _), t.on(`${Re}__${l}`, _), t.on(`${Be}__${l}`, c);
2420
+ },
2421
+ unbind: function(s, h) {
2422
+ const u = h.value || n;
2423
+ t.emit(`${Be}__${u}`);
2424
+ }
2425
+ }), p.directive("masonryTile", {
2426
+ mounted: function(s, h) {
2427
+ const u = h.value || n;
2428
+ t.emit(`${ge}__${u}`, {
2429
+ element: s
2430
+ }), new ui(s, function() {
2431
+ t.emit(`${Re}__${u}`, {
2432
+ element: s
2433
+ });
2434
+ });
2435
+ },
2436
+ unbind: function(s, h) {
2437
+ const u = h.value || n;
2438
+ t.emit(`${Me}__${u}`, {
2439
+ element: s
2440
+ });
2441
+ }
2442
+ });
2443
+ {
2444
+ const s = function(h) {
2445
+ const u = h || n;
2446
+ t.emit(`${ge}__${u}`);
2447
+ };
2448
+ o.config.globalProperties.$redrawVueMasonry = s, o.provide("redrawVueMasonry", s);
2449
+ }
2450
+ };
2451
+ function Fe(o, e = {}, t) {
2452
+ for (const n in o) {
2453
+ const p = o[n], s = t ? `${t}:${n}` : n;
2454
+ typeof p == "object" && p !== null ? Fe(p, e, s) : typeof p == "function" && (e[s] = p);
2455
+ }
2456
+ return e;
2457
+ }
2458
+ const fi = { run: (o) => o() }, mi = () => fi, $t = typeof console.createTask < "u" ? console.createTask : mi;
2459
+ function gi(o, e) {
2460
+ const t = e.shift(), n = $t(t);
2461
+ return o.reduce(
2462
+ (p, s) => p.then(() => n.run(() => s(...e))),
2463
+ Promise.resolve()
2464
+ );
2465
+ }
2466
+ function vi(o, e) {
2467
+ const t = e.shift(), n = $t(t);
2468
+ return Promise.all(o.map((p) => n.run(() => p(...e))));
2469
+ }
2470
+ function ze(o, e) {
2471
+ for (const t of [...o])
2472
+ t(e);
2473
+ }
2474
+ class yi {
2475
+ constructor() {
2476
+ this._hooks = {}, this._before = void 0, this._after = void 0, this._deprecatedMessages = void 0, this._deprecatedHooks = {}, this.hook = this.hook.bind(this), this.callHook = this.callHook.bind(this), this.callHookWith = this.callHookWith.bind(this);
2477
+ }
2478
+ hook(e, t, n = {}) {
2479
+ if (!e || typeof t != "function")
2480
+ return () => {
2481
+ };
2482
+ const p = e;
2483
+ let s;
2484
+ for (; this._deprecatedHooks[e]; )
2485
+ s = this._deprecatedHooks[e], e = s.to;
2486
+ if (s && !n.allowDeprecated) {
2487
+ let h = s.message;
2488
+ h || (h = `${p} hook has been deprecated` + (s.to ? `, please use ${s.to}` : "")), this._deprecatedMessages || (this._deprecatedMessages = /* @__PURE__ */ new Set()), this._deprecatedMessages.has(h) || (console.warn(h), this._deprecatedMessages.add(h));
2489
+ }
2490
+ if (!t.name)
2491
+ try {
2492
+ Object.defineProperty(t, "name", {
2493
+ get: () => "_" + e.replace(/\W+/g, "_") + "_hook_cb",
2494
+ configurable: !0
2495
+ });
2496
+ } catch {
2497
+ }
2498
+ return this._hooks[e] = this._hooks[e] || [], this._hooks[e].push(t), () => {
2499
+ t && (this.removeHook(e, t), t = void 0);
2500
+ };
2501
+ }
2502
+ hookOnce(e, t) {
2503
+ let n, p = (...s) => (typeof n == "function" && n(), n = void 0, p = void 0, t(...s));
2504
+ return n = this.hook(e, p), n;
2505
+ }
2506
+ removeHook(e, t) {
2507
+ if (this._hooks[e]) {
2508
+ const n = this._hooks[e].indexOf(t);
2509
+ n !== -1 && this._hooks[e].splice(n, 1), this._hooks[e].length === 0 && delete this._hooks[e];
2510
+ }
2511
+ }
2512
+ deprecateHook(e, t) {
2513
+ this._deprecatedHooks[e] = typeof t == "string" ? { to: t } : t;
2514
+ const n = this._hooks[e] || [];
2515
+ delete this._hooks[e];
2516
+ for (const p of n)
2517
+ this.hook(e, p);
2518
+ }
2519
+ deprecateHooks(e) {
2520
+ Object.assign(this._deprecatedHooks, e);
2521
+ for (const t in e)
2522
+ this.deprecateHook(t, e[t]);
2523
+ }
2524
+ addHooks(e) {
2525
+ const t = Fe(e), n = Object.keys(t).map(
2526
+ (p) => this.hook(p, t[p])
2527
+ );
2528
+ return () => {
2529
+ for (const p of n.splice(0, n.length))
2530
+ p();
2531
+ };
2532
+ }
2533
+ removeHooks(e) {
2534
+ const t = Fe(e);
2535
+ for (const n in t)
2536
+ this.removeHook(n, t[n]);
2537
+ }
2538
+ removeAllHooks() {
2539
+ for (const e in this._hooks)
2540
+ delete this._hooks[e];
2541
+ }
2542
+ callHook(e, ...t) {
2543
+ return t.unshift(e), this.callHookWith(gi, e, ...t);
2544
+ }
2545
+ callHookParallel(e, ...t) {
2546
+ return t.unshift(e), this.callHookWith(vi, e, ...t);
2547
+ }
2548
+ callHookWith(e, t, ...n) {
2549
+ const p = this._before || this._after ? { name: t, args: n, context: {} } : void 0;
2550
+ this._before && ze(this._before, p);
2551
+ const s = e(
2552
+ t in this._hooks ? [...this._hooks[t]] : [],
2553
+ n
2554
+ );
2555
+ return s instanceof Promise ? s.finally(() => {
2556
+ this._after && p && ze(this._after, p);
2557
+ }) : (this._after && p && ze(this._after, p), s);
2558
+ }
2559
+ beforeEach(e) {
2560
+ return this._before = this._before || [], this._before.push(e), () => {
2561
+ if (this._before !== void 0) {
2562
+ const t = this._before.indexOf(e);
2563
+ t !== -1 && this._before.splice(t, 1);
2564
+ }
2565
+ };
2566
+ }
2567
+ afterEach(e) {
2568
+ return this._after = this._after || [], this._after.push(e), () => {
2569
+ if (this._after !== void 0) {
2570
+ const t = this._after.indexOf(e);
2571
+ t !== -1 && this._after.splice(t, 1);
2572
+ }
2573
+ };
2574
+ }
2575
+ }
2576
+ function bi() {
2577
+ return new yi();
2578
+ }
2579
+ function ki(o) {
2580
+ return Array.isArray(o) ? o : [o];
2581
+ }
2582
+ const _i = ["title", "titleTemplate", "script", "style", "noscript"], ve = [
2583
+ "base",
2584
+ "meta",
2585
+ "link",
2586
+ "style",
2587
+ "script",
2588
+ "noscript"
2589
+ ], Ei = [
2590
+ "title",
2591
+ "titleTemplate",
2592
+ "templateParams",
2593
+ "base",
2594
+ "htmlAttrs",
2595
+ "bodyAttrs",
2596
+ "meta",
2597
+ "link",
2598
+ "style",
2599
+ "script",
2600
+ "noscript"
2601
+ ], Ti = ["base", "title", "titleTemplate", "bodyAttrs", "htmlAttrs", "templateParams"], St = ["tagPosition", "tagPriority", "tagDuplicateStrategy", "children", "innerHTML", "textContent", "processTemplateParams"], Ci = typeof window < "u";
2602
+ function Ke(o) {
2603
+ let e = 9;
2604
+ for (let t = 0; t < o.length; )
2605
+ e = Math.imul(e ^ o.charCodeAt(t++), 9 ** 9);
2606
+ return ((e ^ e >>> 9) + 65536).toString(16).substring(1, 8).toLowerCase();
2607
+ }
2608
+ function ut(o) {
2609
+ return o._h || Ke(o._d ? o._d : `${o.tag}:${o.textContent || o.innerHTML || ""}:${Object.entries(o.props).map(([e, t]) => `${e}:${String(t)}`).join(",")}`);
2610
+ }
2611
+ function Vt(o, e) {
2612
+ const { props: t, tag: n } = o;
2613
+ if (Ti.includes(n))
2614
+ return n;
2615
+ if (n === "link" && t.rel === "canonical")
2616
+ return "canonical";
2617
+ if (t.charset)
2618
+ return "charset";
2619
+ const p = ["id"];
2620
+ n === "meta" && p.push("name", "property", "http-equiv");
2621
+ for (const s of p)
2622
+ if (typeof t[s] < "u") {
2623
+ const h = String(t[s]);
2624
+ return e && !e(h) ? !1 : `${n}:${s}:${h}`;
2625
+ }
2626
+ return !1;
2627
+ }
2628
+ function dt(o, e) {
2629
+ return o == null ? e || null : typeof o == "function" ? o(e) : o;
2630
+ }
2631
+ async function Ii(o, e, t) {
2632
+ const n = {
2633
+ tag: o,
2634
+ props: await Lt(
2635
+ // explicitly check for an object
2636
+ // @ts-expect-error untyped
2637
+ typeof e == "object" && typeof e != "function" && !(e instanceof Promise) ? { ...e } : { [["script", "noscript", "style"].includes(o) ? "innerHTML" : "textContent"]: e },
2638
+ ["templateParams", "titleTemplate"].includes(o)
2639
+ )
2640
+ };
2641
+ return St.forEach((p) => {
2642
+ const s = typeof n.props[p] < "u" ? n.props[p] : t[p];
2643
+ typeof s < "u" && ((!["innerHTML", "textContent", "children"].includes(p) || _i.includes(n.tag)) && (n[p === "children" ? "innerHTML" : p] = s), delete n.props[p]);
2644
+ }), n.props.body && (n.tagPosition = "bodyClose", delete n.props.body), n.tag === "script" && typeof n.innerHTML == "object" && (n.innerHTML = JSON.stringify(n.innerHTML), n.props.type = n.props.type || "application/json"), Array.isArray(n.props.content) ? n.props.content.map((p) => ({ ...n, props: { ...n.props, content: p } })) : n;
2645
+ }
2646
+ function $i(o) {
2647
+ return typeof o == "object" && !Array.isArray(o) && (o = Object.keys(o).filter((e) => o[e])), (Array.isArray(o) ? o.join(" ") : o).split(" ").filter((e) => e.trim()).filter(Boolean).join(" ");
2648
+ }
2649
+ async function Lt(o, e) {
2650
+ for (const t of Object.keys(o)) {
2651
+ if (t === "class") {
2652
+ o[t] = $i(o[t]);
2653
+ continue;
2654
+ }
2655
+ if (o[t] instanceof Promise && (o[t] = await o[t]), !e && !St.includes(t)) {
2656
+ const n = String(o[t]), p = t.startsWith("data-");
2657
+ n === "true" || n === "" ? o[t] = p ? "true" : !0 : o[t] || (p && n === "false" ? o[t] = "false" : delete o[t]);
2658
+ }
2659
+ }
2660
+ return o;
2661
+ }
2662
+ const Si = 10;
2663
+ async function Vi(o) {
2664
+ const e = [];
2665
+ return Object.entries(o.resolvedInput).filter(([t, n]) => typeof n < "u" && Ei.includes(t)).forEach(([t, n]) => {
2666
+ const p = ki(n);
2667
+ e.push(...p.map((s) => Ii(t, s, o)).flat());
2668
+ }), (await Promise.all(e)).flat().filter(Boolean).map((t, n) => (t._e = o._i, o.mode && (t._m = o.mode), t._p = (o._i << Si) + n, t));
2669
+ }
2670
+ const ct = {
2671
+ // tags
2672
+ base: -10,
2673
+ title: 10
2674
+ }, pt = {
2675
+ // relative scores to their default values
2676
+ critical: -80,
2677
+ high: -10,
2678
+ low: 20
2679
+ };
2680
+ function _e(o) {
2681
+ let e = 100;
2682
+ const t = o.tagPriority;
2683
+ return typeof t == "number" ? t : (o.tag === "meta" ? (o.props["http-equiv"] === "content-security-policy" && (e = -30), o.props.charset && (e = -20), o.props.name === "viewport" && (e = -15)) : o.tag === "link" && o.props.rel === "preconnect" ? e = 20 : o.tag in ct && (e = ct[o.tag]), typeof t == "string" && t in pt ? e + pt[t] : e);
2684
+ }
2685
+ const Li = [{ prefix: "before:", offset: -1 }, { prefix: "after:", offset: 1 }], Pt = ["onload", "onerror", "onabort", "onprogress", "onloadstart"], Z = "%separator";
2686
+ function ye(o, e, t) {
2687
+ if (typeof o != "string" || !o.includes("%"))
2688
+ return o;
2689
+ function n(h) {
2690
+ let u;
2691
+ return ["s", "pageTitle"].includes(h) ? u = e.pageTitle : h.includes(".") ? u = h.split(".").reduce((d, l) => d && d[l] || void 0, e) : u = e[h], typeof u < "u" ? (u || "").replace(/"/g, '\\"') : !1;
2692
+ }
2693
+ let p = o;
2694
+ try {
2695
+ p = decodeURI(o);
2696
+ } catch {
2697
+ }
2698
+ return (p.match(/%(\w+\.+\w+)|%(\w+)/g) || []).sort().reverse().forEach((h) => {
2699
+ const u = n(h.slice(1));
2700
+ typeof u == "string" && (o = o.replace(new RegExp(`\\${h}(\\W|$)`, "g"), (d, l) => `${u}${l}`).trim());
2701
+ }), o.includes(Z) && (o.endsWith(Z) && (o = o.slice(0, -Z.length).trim()), o.startsWith(Z) && (o = o.slice(Z.length).trim()), o = o.replace(new RegExp(`\\${Z}\\s*\\${Z}`, "g"), Z), o = ye(o, { separator: t }, t)), o;
2702
+ }
2703
+ async function Pi(o) {
2704
+ const e = {
2705
+ tag: o.tagName.toLowerCase(),
2706
+ props: await Lt(
2707
+ o.getAttributeNames().reduce((t, n) => ({ ...t, [n]: o.getAttribute(n) }), {})
2708
+ ),
2709
+ innerHTML: o.innerHTML
2710
+ };
2711
+ return e._d = Vt(e), e;
2712
+ }
2713
+ async function xi(o, e = {}) {
2714
+ const t = e.document || o.resolvedOptions.document;
2715
+ if (!t)
2716
+ return;
2717
+ const n = { shouldRender: o.dirty, tags: [] };
2718
+ if (await o.hooks.callHook("dom:beforeRender", n), !n.shouldRender)
2719
+ return;
2720
+ const p = (await o.resolveTags()).map((f) => ({
2721
+ tag: f,
2722
+ id: ve.includes(f.tag) ? ut(f) : f.tag,
2723
+ shouldRender: !0
2724
+ }));
2725
+ let s = o._dom;
2726
+ if (!s) {
2727
+ s = {
2728
+ elMap: { htmlAttrs: t.documentElement, bodyAttrs: t.body }
2729
+ };
2730
+ for (const f of ["body", "head"]) {
2731
+ const m = t?.[f]?.children;
2732
+ for (const _ of [...m].filter((c) => ve.includes(c.tagName.toLowerCase())))
2733
+ s.elMap[_.getAttribute("data-hid") || ut(await Pi(_))] = _;
2734
+ }
2735
+ }
2736
+ s.pendingSideEffects = { ...s.sideEffects || {} }, s.sideEffects = {};
2737
+ function h(f, m, _) {
2738
+ const c = `${f}:${m}`;
2739
+ s.sideEffects[c] = _, delete s.pendingSideEffects[c];
2740
+ }
2741
+ function u({ id: f, $el: m, tag: _ }) {
2742
+ const c = _.tag.endsWith("Attrs");
2743
+ s.elMap[f] = m, c || (["textContent", "innerHTML"].forEach((b) => {
2744
+ _[b] && _[b] !== m[b] && (m[b] = _[b]);
2745
+ }), h(f, "el", () => {
2746
+ s.elMap[f].remove(), delete s.elMap[f];
2747
+ })), Object.entries(_.props).forEach(([b, k]) => {
2748
+ const g = `attr:${b}`;
2749
+ if (b === "class")
2750
+ for (const i of (k || "").split(" ").filter(Boolean))
2751
+ c && h(f, `${g}:${i}`, () => m.classList.remove(i)), !m.classList.contains(i) && m.classList.add(i);
2752
+ else
2753
+ m.getAttribute(b) !== k && m.setAttribute(b, k === !0 ? "" : String(k)), c && h(f, g, () => m.removeAttribute(b));
2754
+ });
2755
+ }
2756
+ const d = [], l = {
2757
+ bodyClose: void 0,
2758
+ bodyOpen: void 0,
2759
+ head: void 0
2760
+ };
2761
+ for (const f of p) {
2762
+ const { tag: m, shouldRender: _, id: c } = f;
2763
+ if (_) {
2764
+ if (m.tag === "title") {
2765
+ t.title = m.textContent;
2766
+ continue;
2767
+ }
2768
+ f.$el = f.$el || s.elMap[c], f.$el ? u(f) : ve.includes(m.tag) && d.push(f);
2769
+ }
2770
+ }
2771
+ for (const f of d) {
2772
+ const m = f.tag.tagPosition || "head";
2773
+ f.$el = t.createElement(f.tag.tag), u(f), l[m] = l[m] || t.createDocumentFragment(), l[m].appendChild(f.$el);
2774
+ }
2775
+ for (const f of p)
2776
+ await o.hooks.callHook("dom:renderTag", f, t, h);
2777
+ l.head && t.head.appendChild(l.head), l.bodyOpen && t.body.insertBefore(l.bodyOpen, t.body.firstChild), l.bodyClose && t.body.appendChild(l.bodyClose), Object.values(s.pendingSideEffects).forEach((f) => f()), o._dom = s, o.dirty = !1, await o.hooks.callHook("dom:rendered", { renders: p });
2778
+ }
2779
+ async function wi(o, e = {}) {
2780
+ const t = e.delayFn || ((n) => setTimeout(n, 10));
2781
+ return o._domUpdatePromise = o._domUpdatePromise || new Promise((n) => t(async () => {
2782
+ await xi(o, e), delete o._domUpdatePromise, n();
2783
+ }));
2784
+ }
2785
+ // @__NO_SIDE_EFFECTS__
2786
+ function Oi(o) {
2787
+ return (e) => {
2788
+ const t = e.resolvedOptions.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML || !1;
2789
+ return t && e.push(JSON.parse(t)), {
2790
+ mode: "client",
2791
+ hooks: {
2792
+ "entries:updated": function(n) {
2793
+ wi(n, o);
2794
+ }
2795
+ }
2796
+ };
2797
+ };
2798
+ }
2799
+ const Hi = ["templateParams", "htmlAttrs", "bodyAttrs"], Ai = {
2800
+ hooks: {
2801
+ "tag:normalise": function({ tag: o }) {
2802
+ ["hid", "vmid", "key"].forEach((n) => {
2803
+ o.props[n] && (o.key = o.props[n], delete o.props[n]);
2804
+ });
2805
+ const t = Vt(o) || (o.key ? `${o.tag}:${o.key}` : !1);
2806
+ t && (o._d = t);
2807
+ },
2808
+ "tags:resolve": function(o) {
2809
+ const e = {};
2810
+ o.tags.forEach((n) => {
2811
+ const p = (n.key ? `${n.tag}:${n.key}` : n._d) || n._p, s = e[p];
2812
+ if (s) {
2813
+ let u = n?.tagDuplicateStrategy;
2814
+ if (!u && Hi.includes(n.tag) && (u = "merge"), u === "merge") {
2815
+ const d = s.props;
2816
+ ["class", "style"].forEach((l) => {
2817
+ d[l] && (n.props[l] ? (l === "style" && !d[l].endsWith(";") && (d[l] += ";"), n.props[l] = `${d[l]} ${n.props[l]}`) : n.props[l] = d[l]);
2818
+ }), e[p].props = {
2819
+ ...d,
2820
+ ...n.props
2821
+ };
2822
+ return;
2823
+ } else if (n._e === s._e) {
2824
+ s._duped = s._duped || [], n._d = `${s._d}:${s._duped.length + 1}`, s._duped.push(n);
2825
+ return;
2826
+ } else if (_e(n) > _e(s))
2827
+ return;
2828
+ }
2829
+ const h = Object.keys(n.props).length + (n.innerHTML ? 1 : 0) + (n.textContent ? 1 : 0);
2830
+ if (ve.includes(n.tag) && h === 0) {
2831
+ delete e[p];
2832
+ return;
2833
+ }
2834
+ e[p] = n;
2835
+ });
2836
+ const t = [];
2837
+ Object.values(e).forEach((n) => {
2838
+ const p = n._duped;
2839
+ delete n._duped, t.push(n), p && t.push(...p);
2840
+ }), o.tags = t, o.tags = o.tags.filter((n) => !(n.tag === "meta" && (n.props.name || n.props.property) && !n.props.content));
2841
+ }
2842
+ }
2843
+ }, Di = {
2844
+ mode: "server",
2845
+ hooks: {
2846
+ "tags:resolve": function(o) {
2847
+ const e = {};
2848
+ o.tags.filter((t) => ["titleTemplate", "templateParams", "title"].includes(t.tag) && t._m === "server").forEach((t) => {
2849
+ e[t.tag] = t.tag.startsWith("title") ? t.textContent : t.props;
2850
+ }), Object.keys(e).length && o.tags.push({
2851
+ tag: "script",
2852
+ innerHTML: JSON.stringify(e),
2853
+ props: { id: "unhead:payload", type: "application/json" }
2854
+ });
2855
+ }
2856
+ }
2857
+ }, Mi = ["script", "link", "bodyAttrs"];
2858
+ function Ri(o) {
2859
+ const e = {}, t = {};
2860
+ return Object.entries(o.props).forEach(([n, p]) => {
2861
+ n.startsWith("on") && typeof p == "function" ? (Pt.includes(n) && (e[n] = `this.dataset.${n} = true`), t[n] = p) : e[n] = p;
2862
+ }), { props: e, eventHandlers: t };
2863
+ }
2864
+ const Bi = (o) => ({
2865
+ hooks: {
2866
+ "tags:resolve": function(e) {
2867
+ for (const t of e.tags)
2868
+ if (Mi.includes(t.tag)) {
2869
+ const { props: n, eventHandlers: p } = Ri(t);
2870
+ t.props = n, Object.keys(p).length && ((t.props.src || t.props.href) && (t.key = t.key || Ke(t.props.src || t.props.href)), t._eventHandlers = p);
2871
+ }
2872
+ },
2873
+ "dom:renderTag": function(e, t, n) {
2874
+ if (!e.tag._eventHandlers)
2875
+ return;
2876
+ const p = e.tag.tag === "bodyAttrs" ? t.defaultView : e.$el;
2877
+ Object.entries(e.tag._eventHandlers).forEach(([s, h]) => {
2878
+ const u = `${e.tag._d || e.tag._p}:${s}`, d = s.slice(2).toLowerCase(), l = `data-h-${d}`;
2879
+ if (n(e.id, u, () => {
2880
+ }), e.$el.hasAttribute(l))
2881
+ return;
2882
+ e.$el.setAttribute(l, "");
2883
+ let f;
2884
+ const m = (_) => {
2885
+ h(_), f?.disconnect();
2886
+ };
2887
+ s in e.$el.dataset ? m(new Event(s.replace("on", ""))) : Pt.includes(s) && typeof MutationObserver < "u" ? (f = new MutationObserver((_) => {
2888
+ _.some((b) => b.attributeName === `data-${s}`) && (m(new Event(s.replace("on", ""))), f?.disconnect());
2889
+ }), f.observe(e.$el, {
2890
+ attributes: !0
2891
+ })) : p.addEventListener(d, m), n(e.id, u, () => {
2892
+ f?.disconnect(), p.removeEventListener(d, m), e.$el.removeAttribute(l);
2893
+ });
2894
+ });
2895
+ }
2896
+ }
2897
+ }), zi = ["link", "style", "script", "noscript"], Wi = {
2898
+ hooks: {
2899
+ "tag:normalise": ({ tag: o }) => {
2900
+ o.key && zi.includes(o.tag) && (o.props["data-hid"] = o._h = Ke(o.key));
2901
+ }
2902
+ }
2903
+ }, Ni = {
2904
+ hooks: {
2905
+ "tags:resolve": (o) => {
2906
+ const e = (t) => o.tags.find((n) => n._d === t)?._p;
2907
+ for (const { prefix: t, offset: n } of Li)
2908
+ for (const p of o.tags.filter((s) => typeof s.tagPriority == "string" && s.tagPriority.startsWith(t))) {
2909
+ const s = e(
2910
+ p.tagPriority.replace(t, "")
2911
+ );
2912
+ typeof s < "u" && (p._p = s + n);
2913
+ }
2914
+ o.tags.sort((t, n) => t._p - n._p).sort((t, n) => _e(t) - _e(n));
2915
+ }
2916
+ }
2917
+ }, Fi = {
2918
+ meta: "content",
2919
+ link: "href",
2920
+ htmlAttrs: "lang"
2921
+ }, qi = (o) => ({
2922
+ hooks: {
2923
+ "tags:resolve": (e) => {
2924
+ const { tags: t } = e, n = t.find((u) => u.tag === "title")?.textContent, p = t.findIndex((u) => u.tag === "templateParams"), s = p !== -1 ? t[p].props : {}, h = s.separator || "|";
2925
+ delete s.separator, s.pageTitle = ye(s.pageTitle || n || "", s, h);
2926
+ for (const u of t.filter((d) => d.processTemplateParams !== !1)) {
2927
+ const d = Fi[u.tag];
2928
+ d && typeof u.props[d] == "string" ? u.props[d] = ye(u.props[d], s, h) : (u.processTemplateParams === !0 || ["titleTemplate", "title"].includes(u.tag)) && ["innerHTML", "textContent"].forEach((l) => {
2929
+ typeof u[l] == "string" && (u[l] = ye(u[l], s, h));
2930
+ });
2931
+ }
2932
+ o._templateParams = s, o._separator = h, e.tags = t.filter((u) => u.tag !== "templateParams");
2933
+ }
2934
+ }
2935
+ }), Ui = {
2936
+ hooks: {
2937
+ "tags:resolve": (o) => {
2938
+ const { tags: e } = o;
2939
+ let t = e.findIndex((p) => p.tag === "titleTemplate");
2940
+ const n = e.findIndex((p) => p.tag === "title");
2941
+ if (n !== -1 && t !== -1) {
2942
+ const p = dt(
2943
+ e[t].textContent,
2944
+ e[n].textContent
2945
+ );
2946
+ p !== null ? e[n].textContent = p || e[n].textContent : delete e[n];
2947
+ } else if (t !== -1) {
2948
+ const p = dt(
2949
+ e[t].textContent
2950
+ );
2951
+ p !== null && (e[t].textContent = p, e[t].tag = "title", t = -1);
2952
+ }
2953
+ t !== -1 && delete e[t], o.tags = e.filter(Boolean);
2954
+ }
2955
+ }
2956
+ }, Gi = {
2957
+ hooks: {
2958
+ "tags:afterResolve": function(o) {
2959
+ for (const e of o.tags)
2960
+ typeof e.innerHTML == "string" && (e.innerHTML && ["application/ld+json", "application/json"].includes(e.props.type) ? e.innerHTML = e.innerHTML.replace(/</g, "\\u003C") : e.innerHTML = e.innerHTML.replace(new RegExp(`</${e.tag}`, "g"), `<\\/${e.tag}`));
2961
+ }
2962
+ }
2963
+ };
2964
+ // @__NO_SIDE_EFFECTS__
2965
+ function ji(o = {}) {
2966
+ const e = Yi(o);
2967
+ return e.use(/* @__PURE__ */ Oi()), e;
2968
+ }
2969
+ function ht(o, e) {
2970
+ return !o || o === "server" && e || o === "client" && !e;
2971
+ }
2972
+ function Yi(o = {}) {
2973
+ const e = bi();
2974
+ e.addHooks(o.hooks || {}), o.document = o.document || (Ci ? document : void 0);
2975
+ const t = !o.document, n = () => {
2976
+ u.dirty = !0, e.callHook("entries:updated", u);
2977
+ };
2978
+ let p = 0, s = [];
2979
+ const h = [], u = {
2980
+ plugins: h,
2981
+ dirty: !1,
2982
+ resolvedOptions: o,
2983
+ hooks: e,
2984
+ headEntries() {
2985
+ return s;
2986
+ },
2987
+ use(d) {
2988
+ const l = typeof d == "function" ? d(u) : d;
2989
+ (!l.key || !h.some((f) => f.key === l.key)) && (h.push(l), ht(l.mode, t) && e.addHooks(l.hooks || {}));
2990
+ },
2991
+ push(d, l) {
2992
+ delete l?.head;
2993
+ const f = {
2994
+ _i: p++,
2995
+ input: d,
2996
+ ...l
2997
+ };
2998
+ return ht(f.mode, t) && (s.push(f), n()), {
2999
+ dispose() {
3000
+ s = s.filter((m) => m._i !== f._i), e.callHook("entries:updated", u), n();
3001
+ },
3002
+ // a patch is the same as creating a new entry, just a nice DX
3003
+ patch(m) {
3004
+ s = s.map((_) => (_._i === f._i && (_.input = f.input = m), _)), n();
3005
+ }
3006
+ };
3007
+ },
3008
+ async resolveTags() {
3009
+ const d = { tags: [], entries: [...s] };
3010
+ await e.callHook("entries:resolve", d);
3011
+ for (const l of d.entries) {
3012
+ const f = l.resolvedInput || l.input;
3013
+ if (l.resolvedInput = await (l.transform ? l.transform(f) : f), l.resolvedInput)
3014
+ for (const m of await Vi(l)) {
3015
+ const _ = { tag: m, entry: l, resolvedOptions: u.resolvedOptions };
3016
+ await e.callHook("tag:normalise", _), d.tags.push(_.tag);
3017
+ }
3018
+ }
3019
+ return await e.callHook("tags:beforeResolve", d), await e.callHook("tags:resolve", d), await e.callHook("tags:afterResolve", d), d.tags;
3020
+ },
3021
+ ssr: t
3022
+ };
3023
+ return [
3024
+ Ai,
3025
+ Di,
3026
+ Bi,
3027
+ Wi,
3028
+ Ni,
3029
+ qi,
3030
+ Ui,
3031
+ Gi,
3032
+ ...o?.plugins || []
3033
+ ].forEach((d) => u.use(d)), u.hooks.callHook("init", u), u;
3034
+ }
3035
+ const Ki = vo.startsWith("3");
3036
+ function Qi(o) {
3037
+ return typeof o == "function" ? o() : a(o);
3038
+ }
3039
+ function qe(o, e = "") {
3040
+ if (o instanceof Promise)
3041
+ return o;
3042
+ const t = Qi(o);
3043
+ return !o || !t ? t : Array.isArray(t) ? t.map((n) => qe(n, e)) : typeof t == "object" ? Object.fromEntries(
3044
+ Object.entries(t).map(([n, p]) => n === "titleTemplate" || n.startsWith("on") ? [n, a(p)] : [n, qe(p, n)])
3045
+ ) : t;
3046
+ }
3047
+ const Ji = {
3048
+ hooks: {
3049
+ "entries:resolve": function(o) {
3050
+ for (const e of o.entries)
3051
+ e.resolvedInput = qe(e.input);
3052
+ }
3053
+ }
3054
+ }, Xi = "usehead";
3055
+ function Zi(o) {
3056
+ return {
3057
+ install(t) {
3058
+ Ki && (t.config.globalProperties.$unhead = o, t.config.globalProperties.$head = o, t.provide(Xi, o));
3059
+ }
3060
+ }.install;
3061
+ }
3062
+ function er(o = {}) {
3063
+ o.domDelayFn = o.domDelayFn || ((t) => kt(() => setTimeout(() => t(), 0)));
3064
+ const e = /* @__PURE__ */ ji(o);
3065
+ return e.use(Ji), e.install = Zi(e), e;
3066
+ }
3067
+ const tr = yo(), or = er();
3068
+ class nr extends HTMLElement {
3069
+ constructor() {
3070
+ super();
3071
+ }
3072
+ connectedCallback() {
3073
+ const e = typeof fe == "function" ? fe.options : fe;
3074
+ let t = Array.isArray(e.props) ? e.props : Object.keys(e.props || {});
3075
+ const n = (l) => l.replace(/[A-Z]+(?![a-z])|[A-Z]/g, (f, m) => (m ? "-" : "") + f.toLowerCase()), p = (l) => l.replace(/-./g, (f) => f[1].toUpperCase()), s = {};
3076
+ t = t.map(n);
3077
+ const h = {};
3078
+ for (const l of this.attributes) {
3079
+ const f = l.name, m = f.split(".");
3080
+ console.log(f, m.length), m.length > 1 && (h[m[0]] || (h[m[0]] = {}), h[m[0]][p(m[1])] = l.value);
3081
+ }
3082
+ console.log(h), console.log(t);
3083
+ for (const l of t) {
3084
+ let f = this.attributes.getNamedItem(l)?.value;
3085
+ h.hasOwnProperty(l) && (f = h[l]), console.log(f, l), s[l] = f;
3086
+ }
3087
+ const u = bo(fe, s);
3088
+ u.use(or), u.use(tr), u.use(It), u.use(ko), u.use(So), u.use(_o, { bootstrap: !0 });
3089
+ const d = document.createElement("div");
3090
+ u.mount(d), this.appendChild(d.children[0]);
3091
+ }
3092
+ }
3093
+ window.customElements.define("konnectio-hotel", nr);
11
3094
  export {
12
- s as default
3095
+ nr as default
13
3096
  };