@konnectio/core 4.0.56-rc8 → 4.0.56

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