@konnectio/core 4.0.56-rc5 → 4.0.56-rc7

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 (128) hide show
  1. package/dist/{ActionField--byx0Lp1.js → ActionField-i2xWkFyi.js} +1 -1
  2. package/dist/ActionField-i2xWkFyi.js.br +0 -0
  3. package/dist/AvailabilitySkeleton-PWA_yfC-.js +214 -0
  4. package/dist/AvailabilitySkeleton-PWA_yfC-.js.br +0 -0
  5. package/dist/{CheckoutWindow-_ZUCAYgm.js → CheckoutWindow-k3-Mh7Mp.js} +17 -17
  6. package/dist/CheckoutWindow-k3-Mh7Mp.js.br +0 -0
  7. package/dist/{DateField.vue_vue_type_style_index_0_lang-v-NT3HRG.js → DateField.vue_vue_type_style_index_0_lang-Lzoa_ZgT.js} +2910 -2918
  8. package/dist/DateField.vue_vue_type_style_index_0_lang-Lzoa_ZgT.js.br +0 -0
  9. package/dist/{Field-GdMucFcQ.js → Field-f9KUVLIW.js} +7 -7
  10. package/dist/Field-f9KUVLIW.js.br +0 -0
  11. package/dist/SelectField.vue_vue_type_style_index_0_lang-1RNEqBhG.js +30460 -0
  12. package/dist/SelectField.vue_vue_type_style_index_0_lang-1RNEqBhG.js.br +0 -0
  13. package/dist/{ThankYou-9pzt2SfJ.js → ThankYou-cAeMnWCk.js} +4325 -4567
  14. package/dist/ThankYou-cAeMnWCk.js.br +0 -0
  15. package/dist/{_-5uiOrU07.js → _-SqGSx3KP.js} +1 -1
  16. package/dist/{_commonjsHelpers-4t9S7M5p.js → _commonjsHelpers-2ufMB8rV.js} +1 -1
  17. package/dist/availability.js +138 -108
  18. package/dist/availability.js.br +0 -0
  19. package/dist/components/Alert.vue.d.ts +4 -27
  20. package/dist/components/Clickable.vue.d.ts +4 -59
  21. package/dist/components/Container.vue.d.ts +4 -22
  22. package/dist/components/ErrorMessage.vue.d.ts +4 -14
  23. package/dist/components/Gallery.vue.d.ts +4 -30
  24. package/dist/components/GoogleNotice.vue.d.ts +4 -2
  25. package/dist/components/Icon.vue.d.ts +4 -37
  26. package/dist/components/Loading.vue.d.ts +4 -28
  27. package/dist/components/Spinner.vue.d.ts +3 -1
  28. package/dist/components/forms/EventAvailabilityForm.vue.d.ts +4 -17
  29. package/dist/components/forms/HotelAvailabilityForm.vue.d.ts +4 -33
  30. package/dist/components/forms/HotelReservationForm.vue.d.ts +4 -41
  31. package/dist/components/forms/MultiStepForm.vue.d.ts +4 -42
  32. package/dist/components/forms/ReservationForm.vue.d.ts +5 -62
  33. package/dist/components/forms/_.vue.d.ts +4 -42
  34. package/dist/components/inputs/Checkbox.vue.d.ts +4 -54
  35. package/dist/components/inputs/CheckboxField.vue.d.ts +4 -28
  36. package/dist/components/inputs/DateField.vue.d.ts +5 -104
  37. package/dist/components/inputs/InputField.vue.d.ts +4 -61
  38. package/dist/components/inputs/MediaSelector.vue.d.ts +4 -42
  39. package/dist/components/inputs/NumberField.vue.d.ts +5 -87
  40. package/dist/components/inputs/SelectField.vue.d.ts +5 -90
  41. package/dist/components/inputs/TextField.vue.d.ts +4 -67
  42. package/dist/components/inputs/TimeField.vue.d.ts +5 -44
  43. package/dist/components/inputs/grouped/ActionField.vue.d.ts +4 -71
  44. package/dist/components/inputs/grouped/CountryField.vue.d.ts +4 -40
  45. package/dist/components/inputs/grouped/NameField.vue.d.ts +4 -70
  46. package/dist/components/inputs/grouped/PhoneField.vue.d.ts +4 -50
  47. package/dist/components/inputs/grouped/RoomConfigField.vue.d.ts +4 -46
  48. package/dist/components/listings/Base.vue.d.ts +5 -55
  49. package/dist/components/listings/Event.vue.d.ts +4 -46
  50. package/dist/components/listings/Hotel.vue.d.ts +4 -15
  51. package/dist/components/listings/Template.vue.d.ts +4 -20
  52. package/dist/components/side-panels/Base.vue.d.ts +5 -60
  53. package/dist/components/side-panels/ListingInfo.vue.d.ts +4 -17
  54. package/dist/components/side-panels/Template.vue.d.ts +4 -17
  55. package/dist/components/side-panels/TermsOfService.vue.d.ts +4 -13
  56. package/dist/components/skeletons/AvailabilitySkeleton.vue.d.ts +4 -32
  57. package/dist/components/skeletons/Field.vue.d.ts +4 -35
  58. package/dist/components/skeletons/GiftCardSkeleton.vue.d.ts +4 -1
  59. package/dist/components/skeletons/HotelSkeleton.vue.d.ts +4 -1
  60. package/dist/components/skeletons/Listing.vue.d.ts +4 -1
  61. package/dist/components/skeletons/Sidebar.vue.d.ts +4 -1
  62. package/dist/components/skeletons/_.vue.d.ts +4 -35
  63. package/dist/components/views/CheckoutWindow.vue.d.ts +4 -1
  64. package/dist/components/views/TermsOfService.vue.d.ts +4 -1
  65. package/dist/components/views/ThankYou.vue.d.ts +4 -14
  66. package/dist/event-WJGagPbM.js +328 -0
  67. package/dist/event-WJGagPbM.js.br +0 -0
  68. package/dist/event.js +431 -412
  69. package/dist/event.js.br +0 -0
  70. package/dist/favicon.ico +0 -0
  71. package/dist/gift-card-validation.js +77 -67
  72. package/dist/gift-card-validation.js.br +0 -0
  73. package/dist/gift-card.js +291 -312
  74. package/dist/gift-card.js.br +0 -0
  75. package/dist/hotel-z4fa3tEa.js +3101 -0
  76. package/dist/hotel-z4fa3tEa.js.br +0 -0
  77. package/dist/hotel.js +11 -3136
  78. package/dist/polyfill.js +159 -159
  79. package/dist/polyfill.js.br +0 -0
  80. package/dist/style.css +1 -1
  81. package/dist/style.css.br +0 -0
  82. package/package.json +14 -16
  83. package/dist/ActionField--byx0Lp1.js.br +0 -0
  84. package/dist/AvailabilitySkeleton-cL6E9wAp.js +0 -239
  85. package/dist/AvailabilitySkeleton-cL6E9wAp.js.br +0 -0
  86. package/dist/CheckoutWindow-_ZUCAYgm.js.br +0 -0
  87. package/dist/Container-6UeOakwz.js +0 -68
  88. package/dist/Container-6UeOakwz.js.br +0 -0
  89. package/dist/DateField.vue_vue_type_style_index_0_lang-v-NT3HRG.js.br +0 -0
  90. package/dist/Field-GdMucFcQ.js.br +0 -5
  91. package/dist/SelectField.vue_vue_type_style_index_0_lang-XwPp5AXD.js +0 -27240
  92. package/dist/SelectField.vue_vue_type_style_index_0_lang-XwPp5AXD.js.br +0 -0
  93. package/dist/ThankYou-9pzt2SfJ.js.br +0 -0
  94. package/dist/assets/typescript/mixins.d.ts +0 -34
  95. package/dist/availability.d.ts +0 -3
  96. package/dist/entries/availability.d.ts +0 -5
  97. package/dist/entries/event.d.ts +0 -2
  98. package/dist/entries/gift-card-validation.d.ts +0 -5
  99. package/dist/entries/gift-card.d.ts +0 -5
  100. package/dist/entries/hotel.d.ts +0 -5
  101. package/dist/entries/navigation.d.ts +0 -1
  102. package/dist/entries/polyfill.d.ts +0 -0
  103. package/dist/event-jnP6wH4w.js +0 -358
  104. package/dist/event-jnP6wH4w.js.br +0 -0
  105. package/dist/event.d.ts +0 -3
  106. package/dist/gift-card-validation.d.ts +0 -3
  107. package/dist/gift-card.d.ts +0 -3
  108. package/dist/hotel.d.ts +0 -3
  109. package/dist/hotel.js.br +0 -0
  110. package/dist/layouts/Availability.vue.d.ts +0 -25
  111. package/dist/layouts/Event.vue.d.ts +0 -18
  112. package/dist/layouts/GiftCard.vue.d.ts +0 -32
  113. package/dist/layouts/GiftCardValidation.vue.d.ts +0 -18
  114. package/dist/layouts/Hotel.vue.d.ts +0 -36
  115. package/dist/layouts/_.vue.d.ts +0 -39
  116. package/dist/navigation.d.ts +0 -1
  117. package/dist/plugins/i18n.d.ts +0 -5
  118. package/dist/polyfill.d.ts +0 -1
  119. package/dist/store/alert.d.ts +0 -28
  120. package/dist/store/applyGiftCard.d.ts +0 -28
  121. package/dist/store/availability.d.ts +0 -40
  122. package/dist/store/event.d.ts +0 -683
  123. package/dist/store/giftCard.d.ts +0 -83
  124. package/dist/store/payment.d.ts +0 -139
  125. package/dist/store/recaptcha.d.ts +0 -28
  126. package/dist/store/tracking.d.ts +0 -57
  127. package/dist/store/utilities.d.ts +0 -350
  128. package/dist/types/index.d.ts +0 -976
@@ -0,0 +1,3101 @@
1
+ import { k as j, 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 C, a6 as z, $ as B, n as x, a8 as We, aG as ue, p as I, 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 Io, V as Co, ab as $o } from "./SelectField.vue_vue_type_style_index_0_lang-1RNEqBhG.js";
2
+ import { R as So, B as Ge, a as Vo, S as Lo, M as Po, T as xo, V as wo } from "./ThankYou-cAeMnWCk.js";
3
+ import { A as Ho, H as Oo } from "./AvailabilitySkeleton-PWA_yfC-.js";
4
+ import { _ as Do } from "./DateField.vue_vue_type_style_index_0_lang-Lzoa_ZgT.js";
5
+ import { C as Fe, P as Ao, a as Mo } from "./CheckoutWindow-k3-Mh7Mp.js";
6
+ import { E as Y } from "./_-SqGSx3KP.js";
7
+ import { c as Tt, g as It } from "./_commonjsHelpers-2ufMB8rV.js";
8
+ const Ro = { key: 0 }, Bo = { key: 1 }, Pe = /* @__PURE__ */ j({
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: l,
18
+ disableDepartureUserSelection: s,
19
+ arrivalDefault: h,
20
+ departureDefault: c,
21
+ currency: d
22
+ } = K(he()), {
23
+ arrivalDate: p,
24
+ departureDate: f
25
+ } = K(gt()), {
26
+ arrivalTime: g,
27
+ departureTime: _,
28
+ roomDisplay: u,
29
+ templateID: b,
30
+ totalPrice: k,
31
+ areListingsLoading: m,
32
+ getSelectedPackageRoom: i,
33
+ selectedPackage: r,
34
+ discountVouchers: v
35
+ } = K(ie()), { removeRoom: T } = ie();
36
+ function $(L) {
37
+ return L.reduce((D, { totalPrice: A }) => D + A, 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(p)) : `${a(te)(a(p))}, ${a(l) ? 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(s) ? 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(p), a(f))) + " " + V(a(ho)(a(Xe)(a(p), a(f)) === 1 ? a(e)("booking.reservation.night") : a(e)("booking.reservation.nights"))), 1)
61
+ ]),
62
+ a(v) ? (E(!0), C(B, { key: 0 }, z(a(v), (D) => (E(), C("li", {
63
+ key: D.id
64
+ }, [
65
+ y("span", null, V(`${a(e)("general.discountCode")} (${D.value})`), 1),
66
+ y("b", null, V(D.key), 1)
67
+ ]))), 128)) : x("", !0)
68
+ ]),
69
+ "price-summary": w(() => [
70
+ isNaN(a(b)) && a(u).length > 0 ? (E(!0), C(B, { key: 0 }, z(a(u), ({
71
+ roomGroupID: D,
72
+ title: A,
73
+ variants: W
74
+ }) => (E(), C("div", { key: D }, [
75
+ y("h6", null, [
76
+ y("span", null, V(A), 1)
77
+ ]),
78
+ (E(!0), C(B, null, z(W, (X, re) => (E(), C("div", { key: re }, [
79
+ (E(!0), C(B, null, z(X.rooms, (q, Te) => (E(), C("ul", { key: Te }, [
80
+ y("li", null, [
81
+ y("span", null, [
82
+ y("span", null, [
83
+ We(V(a(ue)(X.name)) + " ( ", 1),
84
+ I(Q, {
85
+ icon: "male",
86
+ type: "fas",
87
+ color: "font"
88
+ }),
89
+ y("span", null, V(q.adultsCount), 1),
90
+ q.childrenCount > 0 ? (E(), C(B, { key: 0 }, [
91
+ I(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(d))), 1),
103
+ x("", !0)
104
+ ])
105
+ ]),
106
+ $(q.roomAddons) > 0 ? (E(), C("li", Ro, [
107
+ y("span", null, V(a(e)("booking.reservation.addons")), 1),
108
+ y("b", null, V(a(oe)($(q.roomAddons), a(d))), 1)
109
+ ])) : x("", !0)
110
+ ]))), 128))
111
+ ]))), 128))
112
+ ]))), 128)) : x("", !0),
113
+ a(i) && a(r) ? (E(), C("div", Bo, [
114
+ y("h6", null, [
115
+ y("span", null, V(a(ue)(a(r).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(d))), 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 }, Go = { class: "konnectio-selected-room-config-price" }, jo = /* @__PURE__ */ zo(() => /* @__PURE__ */ y("span", null, null, -1)), Yo = /* @__PURE__ */ j({
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()), l = e, s = o;
157
+ function h(d) {
158
+ l("update:modelValue", d);
159
+ }
160
+ const c = U({
161
+ get: () => s.modelValue,
162
+ set: (d) => h(d)
163
+ });
164
+ return (d, p) => (E(), R(Ee, {
165
+ modelValue: c.value,
166
+ "onUpdate:modelValue": p[0] || (p[0] = (f) => c.value = f),
167
+ label: d.label,
168
+ placeholder: "Select guest configuration",
169
+ labelKey: "label",
170
+ valueKey: "value",
171
+ "icon-placement": "label",
172
+ options: d.options,
173
+ readonly: d.readonly,
174
+ required: d.required,
175
+ searchable: !1
176
+ }, {
177
+ option: w(({ data: f }) => [
178
+ y("span", Wo, [
179
+ y("div", null, [
180
+ I(Q, {
181
+ icon: "male",
182
+ type: "fas",
183
+ color: "font"
184
+ }),
185
+ y("span", null, V(`${f.adults}`), 1),
186
+ f.children > 0 ? (E(), C("span", Fo, [
187
+ I(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(), C("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", Go, [
211
+ jo,
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__ */ j({
221
+ __name: "Hotel",
222
+ props: {
223
+ room: {},
224
+ layout: {}
225
+ },
226
+ setup(o) {
227
+ const { t: e } = ne(), t = o, n = ce([]);
228
+ function l(r) {
229
+ n.value[r].config.push({
230
+ id: NaN,
231
+ units: 0,
232
+ addons: []
233
+ });
234
+ }
235
+ const s = U(() => t.room.rates.map((r) => ({
236
+ label: r.name,
237
+ value: r.id
238
+ }))), { hideAvailableRoomAmount: h } = K(he()), { roomSelect: c } = K(ie()), { addToCart: d, removeFromCart: p } = bt(), f = (r, v) => t.room.rates.find((T) => T.id === r)?.occupantRates.find((T) => T.index === v), g = U(() => t.room.rates.reduce(
239
+ (r, v) => r < v.rackRate ? r : v.rackRate,
240
+ 1 / 0
241
+ )), _ = U(() => t.room.rates.every((r) => r.isBreakfastIncluded === !0)), u = (r, v) => f(r, v) ? f(r, v)?.rooms : null, b = (r) => t.room.rates.length > 0 ? t.room.rates.find((v) => v.id === r)?.occupantRates.map((v) => ({
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, (r, v) => {
270
+ v.length > 0 && r.forEach((T, $) => {
271
+ T.config.forEach((L, H) => {
272
+ const D = L.units, A = v[$].config[H].units;
273
+ D !== A && (D > A ? (n.value[$].config[H].addons.push({}), d({
274
+ id: t.room.id,
275
+ name: t.room.title,
276
+ value: t.room.rates[$].rackRate
277
+ })) : (n.value[$].config[H].addons.pop(), p({
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 }), (r, v) => (E(), R(Ge, {
287
+ "listing-id": r.room.id,
288
+ gallery: r.room.images,
289
+ name: r.room.title,
290
+ description: r.room.description,
291
+ layout: r.layout,
292
+ facilities: r.room.facilities,
293
+ "prices-from": g.value,
294
+ "includes-breakfast": _.value
295
+ }, {
296
+ action: w(() => [
297
+ y("div", Qo, [
298
+ (E(!0), C(B, null, z(n.value, (T, $) => (E(), C("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: s.value,
309
+ searchable: !1
310
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "label", "placeholder", "options"])) : x("", !0),
311
+ T.id ? (E(), C("div", Jo, [
312
+ (E(!0), C(B, null, z(r.room.rates, ({
313
+ id: L,
314
+ maximumOccupants: H
315
+ }) => (E(), C("div", {
316
+ key: L,
317
+ class: "booking-availability-listing-action-selective-i"
318
+ }, [
319
+ T.id === L ? (E(!0), C(B, { key: 0 }, z(T.config, (D, A) => (E(), C("div", {
320
+ key: A,
321
+ class: "booking-availability-listing-action-selective"
322
+ }, [
323
+ y("ul", Xo, [
324
+ I(Ko, {
325
+ modelValue: D.id,
326
+ "onUpdate:modelValue": (W) => D.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
+ I(kt, {
337
+ modelValue: D.units,
338
+ "onUpdate:modelValue": (W) => D.units = W,
339
+ description: a(h) ? void 0 : `${a(e)("booking.availability.availableUnits")}: ${u(T.id, D.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": u(L, D.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__ */ j({
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: l } = K(he()), { clearRoomSelection: s } = ie(), h = o;
368
+ function c(d) {
369
+ t.value = h.templateId, n.value = d, s(), h.callback(2);
370
+ }
371
+ return (d, p) => (E(), R(Vo, {
372
+ title: d.title,
373
+ subtitle: a(e)("booking.availability.selectATemplateRoom")
374
+ }, {
375
+ default: w(() => [
376
+ y("div", on, [
377
+ y("div", nn, [
378
+ (E(!0), C(B, null, z(d.roomGroups, ({
379
+ id: f,
380
+ title: g,
381
+ description: _,
382
+ images: u,
383
+ facilities: b,
384
+ extraPrice: k
385
+ }) => (E(), R(Ge, {
386
+ key: f,
387
+ "listing-id": f,
388
+ name: g,
389
+ description: _,
390
+ facilities: b,
391
+ gallery: u,
392
+ "includes-breakfast": !1,
393
+ "hide-info-button": !0
394
+ }, {
395
+ action: w(() => [
396
+ y("div", null, [
397
+ I(le, {
398
+ onClickEvent: (m) => c(f),
399
+ label: `${a(e)("booking.availability.selectThisRoom")} (${a(oe)(k, a(l))})`,
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__ */ j({
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
+ (d, p) => d < p.extraPrice ? d : p.extraPrice,
426
+ 1 / 0
427
+ )), l = U(() => [{
428
+ large: t.image.url,
429
+ medium: t.image.url,
430
+ thumb: t.image.url,
431
+ url: t.image.url
432
+ }]), s = ce(!1);
433
+ function h() {
434
+ s.value = !0;
435
+ }
436
+ function c(d) {
437
+ t.callback(d), s.value = !1;
438
+ }
439
+ return (d, p) => (E(), R(Ge, {
440
+ "listing-id": d.id,
441
+ name: d.name,
442
+ description: d.description,
443
+ gallery: l.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
+ d.description ? (E(), C("p", {
451
+ key: 0,
452
+ innerHTML: a(fo)(d.description)
453
+ }, null, 8, an)) : x("", !0)
454
+ ]),
455
+ action: w(() => [
456
+ y("div", null, [
457
+ I(le, {
458
+ onClickEvent: h,
459
+ label: a(e)("booking.availability.selectPackage"),
460
+ "full-width": ""
461
+ }, null, 8, ["label"])
462
+ ])
463
+ ]),
464
+ default: w(() => [
465
+ I(sn, {
466
+ modelValue: s.value,
467
+ "onUpdate:modelValue": p[0] || (p[0] = (f) => s.value = f),
468
+ title: d.name,
469
+ "template-id": d.id,
470
+ roomGroups: d.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__ */ j({
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 l(h) {
504
+ t("update:modelValue", h);
505
+ }
506
+ const s = ce(n.modelValue);
507
+ return be(s, (h) => {
508
+ l(h);
509
+ }), (h, c) => (E(), R(Do, {
510
+ modelValue: s.value,
511
+ "onUpdate:modelValue": c[0] || (c[0] = (d) => s.value = d),
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__ */ j({
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, l = o;
537
+ function s(c) {
538
+ n("update:modelValue", c);
539
+ }
540
+ const h = U({
541
+ get: () => l.modelValue,
542
+ set: (c) => s(c)
543
+ });
544
+ return (c, d) => (E(), R(Ee, {
545
+ modelValue: h.value,
546
+ "onUpdate:modelValue": d[0] || (d[0] = (p) => h.value = p),
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: p }) => [
555
+ y("i", {
556
+ class: ke(["konnectio-flag-icon", p.iso])
557
+ }, null, 2),
558
+ y("span", null, V(p.name), 1)
559
+ ]),
560
+ "selected-option": w(({ data: p }) => [
561
+ y("div", dn, [
562
+ y("i", {
563
+ class: ke(["konnectio-flag-icon", p.iso])
564
+ }, null, 2),
565
+ y("span", null, V(p.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__ */ j({
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 l(h) {
583
+ t("update:modelValue", h);
584
+ }
585
+ const s = U({
586
+ get: () => n.modelValue,
587
+ set: (h) => l(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), C(B, null, z(h.checkboxes, ({ label: d, value: p }, f) => (E(), C("li", { key: f }, [
596
+ I(Fe, {
597
+ modelValue: s.value,
598
+ "onUpdate:modelValue": c[0] || (c[0] = (g) => s.value = g),
599
+ label: d,
600
+ name: h.name,
601
+ type: "radio",
602
+ val: p
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__ */ j({
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, l = t.id || Ze(), s = ce(""), h = ce(2);
633
+ function c() {
634
+ n("update:modelValue", s.value);
635
+ }
636
+ be(h, (p) => {
637
+ n("update:title", p);
638
+ });
639
+ const { t: d } = ne();
640
+ return qe(() => {
641
+ t.modelValue && (s.value = t.modelValue), t.title && (h.value = t.title);
642
+ }), (p, f) => (E(), R(_t, {
643
+ label: p.label,
644
+ id: a(l),
645
+ required: p.required,
646
+ type: "fresh-booking-name-field",
647
+ readonly: p.readonly,
648
+ limit: p.limit
649
+ }, {
650
+ default: w(() => [
651
+ y("div", {
652
+ class: ke([
653
+ "fresh-booking-name-input",
654
+ { "no-title": p.excludeTitle }
655
+ ])
656
+ }, [
657
+ p.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: p.icon,
663
+ "icon-color": p.iconColor,
664
+ "icon-type": p.iconType,
665
+ options: [
666
+ {
667
+ label: a(d)("booking.reservation.noNameTitle"),
668
+ value: 1
669
+ },
670
+ {
671
+ label: a(d)("booking.reservation.nameTitleMr"),
672
+ value: 2
673
+ },
674
+ {
675
+ label: a(d)("booking.reservation.nameTitleMs"),
676
+ value: 3
677
+ },
678
+ {
679
+ label: a(d)("booking.reservation.nameTitleMrs"),
680
+ value: 4
681
+ },
682
+ {
683
+ label: a(d)("booking.reservation.nameTitleDr"),
684
+ value: 5
685
+ }
686
+ ],
687
+ readonly: p.readonly,
688
+ "hide-button": "",
689
+ "input-style": p.inputStyle,
690
+ searchable: !1
691
+ }, null, 8, ["modelValue", "id", "icon", "icon-color", "icon-type", "options", "readonly", "input-style"])),
692
+ I(ee, {
693
+ modelValue: s.value,
694
+ "onUpdate:modelValue": f[1] || (f[1] = (g) => s.value = g),
695
+ type: "text",
696
+ name: "name",
697
+ autocomplete: "name",
698
+ id: a(l),
699
+ icon: p.excludeTitle ? p.icon : void 0,
700
+ "icon-color": p.iconColor,
701
+ "icon-type": p.iconType,
702
+ placeholder: p.placeholder,
703
+ required: p.required,
704
+ readonly: p.readonly,
705
+ limit: p.limit,
706
+ onInput: f[2] || (f[2] = (g) => c()),
707
+ "input-style": p.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" }, In = { class: "hotel-listing-content-body" }, Cn = { class: "hotel-listing-content-facilities" }, $n = /* @__PURE__ */ j({
715
+ __name: "Listing",
716
+ setup(o) {
717
+ return (e, t) => (E(), C("div", yn, [
718
+ y("div", bn, [
719
+ I(Y, {
720
+ width: "280px",
721
+ height: "153px"
722
+ }),
723
+ y("div", kn, [
724
+ (E(), C(B, null, z(3, (n) => I(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
+ I(Y, {
735
+ height: "30px",
736
+ width: "60%"
737
+ }),
738
+ I(Y, {
739
+ height: "30px",
740
+ width: "30px",
741
+ "border-radius": "100%"
742
+ })
743
+ ]),
744
+ I(Y, {
745
+ height: "15px",
746
+ width: "25%"
747
+ })
748
+ ]),
749
+ y("div", In, [
750
+ I(Y, { height: "15px" }),
751
+ I(Y, { height: "15px" }),
752
+ I(Y, { height: "15px" }),
753
+ I(Y, { height: "15px" }),
754
+ I(Y, {
755
+ height: "15px",
756
+ width: "90%"
757
+ })
758
+ ]),
759
+ y("div", Cn, [
760
+ (E(), C(B, null, z(5, (n) => I(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__ */ j({
771
+ __name: "HotelSkeleton",
772
+ setup(o) {
773
+ return (e, t) => (E(), C("div", Sn, [
774
+ y("div", Vn, [
775
+ I(Ho, { hotel: "" }),
776
+ I(de),
777
+ I(de),
778
+ I(de)
779
+ ]),
780
+ y("div", Ln, [
781
+ I(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 Dn = { key: 1 }, An = { 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
+ }, Gn = { class: "konnectio-hotel-availability-title" }, jn = { 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__ */ j({
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: l,
827
+ isPaymentLoading: s,
828
+ isReservationFormFilled: h,
829
+ travelingFor: c,
830
+ arrivalTime: d,
831
+ departureTime: p,
832
+ name: f,
833
+ nameTitle: g,
834
+ email: _,
835
+ phone: u,
836
+ firmName: b,
837
+ postal: k,
838
+ city: m,
839
+ address: i,
840
+ country: r,
841
+ remark: v,
842
+ allergies: T,
843
+ newsMails: $,
844
+ roomSelect: L,
845
+ roomDisplay: H,
846
+ hasValidRoomSelection: D,
847
+ availabilityData: A,
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: Dt,
857
+ departureEarliest: At,
858
+ departureLatest: Mt,
859
+ enableTracking: Rt,
860
+ arrivalDefault: Bt,
861
+ departureDefault: zt,
862
+ hideArrivalDepartureInputs: Wt,
863
+ disableArrivalUserSelection: Ie,
864
+ disableNamePrefix: Ft,
865
+ disableDepartureUserSelection: Ce,
866
+ disableTravelingFor: Nt,
867
+ disableTravelingForBleasure: Ut,
868
+ disableCompanyField: qt,
869
+ hasPaymentGateway: Gt
870
+ } = K(he()), { beginCheckout: jt } = 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 = A.value.roomGroups.slice();
892
+ O.forEach((G) => {
893
+ G.pricesFrom = G.rates.reduce(
894
+ (M, S) => M < S.rackRate ? M : S.rackRate,
895
+ 1 / 0
896
+ );
897
+ });
898
+ function P(G, M) {
899
+ return Xt.value === !0 ? G.pricesFrom > M.pricesFrom ? -1 : 1 : G.pricesFrom > M.pricesFrom ? 1 : -1;
900
+ }
901
+ return O.sort(P);
902
+ }), to = U(() => [[
903
+ parseInt(Qe.value.split(":")[0]),
904
+ parseInt(Dt.value.split(":")[0])
905
+ ]]), oo = U(() => [[
906
+ parseInt(At.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 && jt(), W.value ? O(2) : O();
920
+ }
921
+ function so() {
922
+ d.value === "" && (d.value = Bt.value), p.value === "" && (p.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
+ I(ko, {
931
+ id: "fresh-booking-hotel-module",
932
+ "access-token": O.accessToken,
933
+ type: "hotel"
934
+ }, {
935
+ default: w(() => [
936
+ I(Po, {
937
+ layout: O.headerLayout,
938
+ onReset: a(Kt)
939
+ }, {
940
+ availability: w(({ next: G }) => [
941
+ I(Pe, null, {
942
+ form: w(() => [
943
+ y("div", Hn, [
944
+ y("div", On, [
945
+ I(Oo, { booking: !0 })
946
+ ]),
947
+ x("", !0),
948
+ a(l) ? (E(), C("div", Kn, [
949
+ I(de),
950
+ I(de),
951
+ I(de)
952
+ ])) : (E(), C("div", Dn, [
953
+ a(A).roomGroups.length > 0 || a(A).templates.length > 0 ? (E(), C("div", An, [
954
+ a(A).templates.length > 0 && O.onlyShow !== "rooms" ? (E(), C("div", Mn, [
955
+ O.onlyShow !== "packages" ? (E(), C("h2", Rn, [
956
+ I(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), C(B, null, z(a(A).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: G
980
+ }, null, 8, ["id", "description", "name", "image", "weekendFee", "room-groups", "callback"]))), 128))
981
+ ])
982
+ ])) : x("", !0),
983
+ a(A).roomGroups.length > 0 && O.onlyShow !== "packages" ? (E(), C("div", zn, [
984
+ a(A).templates.length > 0 && O.onlyShow !== "rooms" ? (E(), C("h2", Wn, [
985
+ I(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), C(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(A).templates.length === 0 && O.onlyShow !== "rooms" || a(A).roomGroups.length === 0 && O.onlyShow !== "packages") && (O.onlyShow === "rooms" || O.onlyShow === "packages") ? (E(), C("div", Nn, [
1000
+ y("span", null, V(a(e)("booking.availability.nothingAvailable")), 1)
1001
+ ])) : x("", !0)
1002
+ ])) : a(A).nextAvailableDates.length === 0 ? (E(), C("div", Un, [
1003
+ y("span", null, V(a(e)("booking.availability.nothingAvailable")), 1)
1004
+ ])) : (E(), C("div", qn, [
1005
+ y("h2", Gn, [
1006
+ I(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", jn, [
1014
+ (E(!0), C(B, null, z(a(A).nextAvailableDates, (M, S) => (E(), C("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
+ I(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
+ I(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
+ I(le, {
1044
+ label: a(W) ? a(e)("booking.availability.nextButton") : a(e)("general.chooseAddons"),
1045
+ disabled: !a(D),
1046
+ "is-loading": !1,
1047
+ "full-width": "",
1048
+ onClickEvent: (M) => ro(G)
1049
+ }, null, 8, ["label", "disabled", "onClickEvent"])
1050
+ ]),
1051
+ _: 2
1052
+ }, 1024)
1053
+ ]),
1054
+ addons: w(({ next: G, prev: M }) => [
1055
+ I(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(), C("div", Jn, [
1063
+ (E(!0), C(B, null, z(a(H), (S) => (E(), C("ul", {
1064
+ key: S.roomGroupID
1065
+ }, [
1066
+ (E(!0), C(B, null, z(S.variants, (se, ae) => (E(), C("li", {
1067
+ key: se.ratePlanID
1068
+ }, [
1069
+ y("h4", null, [
1070
+ y("span", null, V(a(ue)(S.title)), 1)
1071
+ ]),
1072
+ (E(!0), C(B, null, z(se.rooms, (N, $e) => (E(), C("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
+ I(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(), C("span", Zn, V(N.childrenCount), 1)) : x("", !0)
1097
+ ])
1098
+ ])
1099
+ ])
1100
+ ]),
1101
+ y("tbody", null, [
1102
+ (E(!0), C(B, null, z(S.addons, ({
1103
+ quantityStrategy: Se,
1104
+ maximumNumber: ao,
1105
+ id: pe,
1106
+ name: lo,
1107
+ price: uo
1108
+ }) => (E(), C("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
+ I(le, {
1140
+ label: a(e)("general.startReservation"),
1141
+ "full-width": "",
1142
+ onClickEvent: G
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: G, prev: M }) => [
1155
+ I(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(Ie) && a(Ce)) ? (E(), C("ul", {
1165
+ key: 0,
1166
+ class: ke({ "fresh-booking-split-inputs": !a(Ie) && !a(Ce) })
1167
+ }, [
1168
+ a(Ie) ? x("", !0) : (E(), C("li", ni, [
1169
+ I(tt, {
1170
+ modelValue: a(d),
1171
+ "onUpdate:modelValue": P[1] || (P[1] = (S) => F(d) ? d.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(Ce) ? x("", !0) : (E(), C("li", ii, [
1179
+ I(tt, {
1180
+ modelValue: a(p),
1181
+ "onUpdate:modelValue": P[2] || (P[2] = (S) => F(p) ? p.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
+ I(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
+ I(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
+ I(Ao, {
1231
+ modelValue: a(u),
1232
+ "onUpdate:modelValue": P[8] || (P[8] = (S) => F(u) ? u.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
+ I(pn, {
1239
+ modelValue: a(r),
1240
+ "onUpdate:modelValue": P[9] || (P[9] = (S) => F(r) ? r.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
+ I(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
+ I(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
+ I(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
+ I(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
+ I(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
+ I(le, {
1314
+ label: a(Gt) ? a(e)("booking.reservation.nextButton") : a(e)("general.confirmReservation"),
1315
+ disabled: !a(h),
1316
+ "is-loading": a(s),
1317
+ "full-width": "",
1318
+ onClickEvent: (S) => io(G)
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
+ I(Mo)
1333
+ ]),
1334
+ confirmation: w(() => [
1335
+ I(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
+ I(xn)
1347
+ ]),
1348
+ _: 1
1349
+ }))
1350
+ ]),
1351
+ _: 1
1352
+ }, 8, ["styling"]));
1353
+ }
1354
+ }), fe = /* @__PURE__ */ J(ai, [["__scopeId", "data-v-fd9b6d4f"]]);
1355
+ var Ct = { exports: {} }, xe = { exports: {} }, we = { exports: {} }, ot;
1356
+ function je() {
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, l) {
1365
+ if (!(!n || !l)) {
1366
+ var s = this._events = this._events || {}, h = s[n] = s[n] || [];
1367
+ return h.indexOf(l) == -1 && h.push(l), this;
1368
+ }
1369
+ }, t.once = function(n, l) {
1370
+ if (!(!n || !l)) {
1371
+ this.on(n, l);
1372
+ var s = this._onceEvents = this._onceEvents || {}, h = s[n] = s[n] || {};
1373
+ return h[l] = !0, this;
1374
+ }
1375
+ }, t.off = function(n, l) {
1376
+ var s = this._events && this._events[n];
1377
+ if (!(!s || !s.length)) {
1378
+ var h = s.indexOf(l);
1379
+ return h != -1 && s.splice(h, 1), this;
1380
+ }
1381
+ }, t.emitEvent = function(n, l) {
1382
+ var s = this._events && this._events[n];
1383
+ if (!(!s || !s.length)) {
1384
+ s = s.slice(0), l = l || [];
1385
+ for (var h = this._onceEvents && this._onceEvents[n], c = 0; c < s.length; c++) {
1386
+ var d = s[c], p = h && h[d];
1387
+ p && (this.off(n, d), delete h[d]), d.apply(this, l);
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(u) {
1410
+ var b = parseFloat(u), k = u.indexOf("%") == -1 && !isNaN(b);
1411
+ return k && b;
1412
+ }
1413
+ function n() {
1414
+ }
1415
+ var l = typeof console > "u" ? n : function(u) {
1416
+ console.error(u);
1417
+ }, s = [
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 = s.length;
1431
+ function c() {
1432
+ for (var u = {
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 = s[b];
1441
+ u[k] = 0;
1442
+ }
1443
+ return u;
1444
+ }
1445
+ function d(u) {
1446
+ var b = getComputedStyle(u);
1447
+ return b || l("Style returned " + b + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), b;
1448
+ }
1449
+ var p = !1, f;
1450
+ function g() {
1451
+ if (!p) {
1452
+ p = !0;
1453
+ var u = document.createElement("div");
1454
+ u.style.width = "200px", u.style.padding = "1px 2px 3px 4px", u.style.borderStyle = "solid", u.style.borderWidth = "1px 2px 3px 4px", u.style.boxSizing = "border-box";
1455
+ var b = document.body || document.documentElement;
1456
+ b.appendChild(u);
1457
+ var k = d(u);
1458
+ f = Math.round(t(k.width)) == 200, _.isBoxSizeOuter = f, b.removeChild(u);
1459
+ }
1460
+ }
1461
+ function _(u) {
1462
+ if (g(), typeof u == "string" && (u = document.querySelector(u)), !(!u || typeof u != "object" || !u.nodeType)) {
1463
+ var b = d(u);
1464
+ if (b.display == "none")
1465
+ return c();
1466
+ var k = {};
1467
+ k.width = u.offsetWidth, k.height = u.offsetHeight;
1468
+ for (var m = k.isBorderBox = b.boxSizing == "border-box", i = 0; i < h; i++) {
1469
+ var r = s[i], v = b[r], T = parseFloat(v);
1470
+ k[r] = isNaN(T) ? 0 : T;
1471
+ }
1472
+ var $ = k.paddingLeft + k.paddingRight, L = k.paddingTop + k.paddingBottom, H = k.marginLeft + k.marginRight, D = k.marginTop + k.marginBottom, A = 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 : $ + A));
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 - ($ + A), k.innerHeight = k.height - (L + W), k.outerWidth = k.width + H, k.outerHeight = k.height + D, k;
1478
+ }
1479
+ }
1480
+ return _;
1481
+ });
1482
+ }(He)), He.exports;
1483
+ }
1484
+ var Oe = { exports: {} }, De = { 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 l = ["webkit", "moz", "ms", "o"], s = 0; s < l.length; s++) {
1497
+ var h = l[s], c = h + "MatchesSelector";
1498
+ if (n[c])
1499
+ return c;
1500
+ }
1501
+ }();
1502
+ return function(l, s) {
1503
+ return l[t](s);
1504
+ };
1505
+ });
1506
+ }(De)), De.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 l = {};
1521
+ l.extend = function(c, d) {
1522
+ for (var p in d)
1523
+ c[p] = d[p];
1524
+ return c;
1525
+ }, l.modulo = function(c, d) {
1526
+ return (c % d + d) % d;
1527
+ };
1528
+ var s = Array.prototype.slice;
1529
+ l.makeArray = function(c) {
1530
+ if (Array.isArray(c))
1531
+ return c;
1532
+ if (c == null)
1533
+ return [];
1534
+ var d = typeof c == "object" && typeof c.length == "number";
1535
+ return d ? s.call(c) : [c];
1536
+ }, l.removeFrom = function(c, d) {
1537
+ var p = c.indexOf(d);
1538
+ p != -1 && c.splice(p, 1);
1539
+ }, l.getParent = function(c, d) {
1540
+ for (; c.parentNode && c != document.body; )
1541
+ if (c = c.parentNode, n(c, d))
1542
+ return c;
1543
+ }, l.getQueryElement = function(c) {
1544
+ return typeof c == "string" ? document.querySelector(c) : c;
1545
+ }, l.handleEvent = function(c) {
1546
+ var d = "on" + c.type;
1547
+ this[d] && this[d](c);
1548
+ }, l.filterFindElements = function(c, d) {
1549
+ c = l.makeArray(c);
1550
+ var p = [];
1551
+ return c.forEach(function(f) {
1552
+ if (f instanceof HTMLElement) {
1553
+ if (!d) {
1554
+ p.push(f);
1555
+ return;
1556
+ }
1557
+ n(f, d) && p.push(f);
1558
+ for (var g = f.querySelectorAll(d), _ = 0; _ < g.length; _++)
1559
+ p.push(g[_]);
1560
+ }
1561
+ }), p;
1562
+ }, l.debounceMethod = function(c, d, p) {
1563
+ p = p || 100;
1564
+ var f = c.prototype[d], g = d + "Timeout";
1565
+ c.prototype[d] = function() {
1566
+ var _ = this[g];
1567
+ clearTimeout(_);
1568
+ var u = arguments, b = this;
1569
+ this[g] = setTimeout(function() {
1570
+ f.apply(b, u), delete b[g];
1571
+ }, p);
1572
+ };
1573
+ }, l.docReady = function(c) {
1574
+ var d = document.readyState;
1575
+ d == "complete" || d == "interactive" ? setTimeout(c) : document.addEventListener("DOMContentLoaded", c);
1576
+ }, l.toDashed = function(c) {
1577
+ return c.replace(/(.)([A-Z])/g, function(d, p, f) {
1578
+ return p + "-" + f;
1579
+ }).toLowerCase();
1580
+ };
1581
+ var h = t.console;
1582
+ return l.htmlInit = function(c, d) {
1583
+ l.docReady(function() {
1584
+ var p = l.toDashed(d), f = "data-" + p, g = document.querySelectorAll("[" + f + "]"), _ = document.querySelectorAll(".js-" + p), u = l.makeArray(g).concat(l.makeArray(_)), b = f + "-options", k = t.jQuery;
1585
+ u.forEach(function(m) {
1586
+ var i = m.getAttribute(f) || m.getAttribute(b), r;
1587
+ try {
1588
+ r = 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, r);
1594
+ k && k.data(m, d, v);
1595
+ });
1596
+ });
1597
+ }, l;
1598
+ });
1599
+ }(Oe)), Oe.exports;
1600
+ }
1601
+ var Ae = { exports: {} }, st;
1602
+ function di() {
1603
+ return st || (st = 1, function(o) {
1604
+ (function(e, t) {
1605
+ o.exports ? o.exports = t(
1606
+ je(),
1607
+ Ye()
1608
+ ) : (e.Outlayer = {}, e.Outlayer.Item = t(
1609
+ e.EvEmitter,
1610
+ e.getSize
1611
+ ));
1612
+ })(window, function(t, n) {
1613
+ function l(m) {
1614
+ for (var i in m)
1615
+ return !1;
1616
+ return i = null, !0;
1617
+ }
1618
+ var s = document.documentElement.style, h = typeof s.transition == "string" ? "transition" : "WebkitTransition", c = typeof s.transform == "string" ? "transform" : "WebkitTransform", d = {
1619
+ WebkitTransition: "webkitTransitionEnd",
1620
+ transition: "transitionend"
1621
+ }[h], p = {
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 r in m) {
1651
+ var v = p[r] || r;
1652
+ i[v] = m[r];
1653
+ }
1654
+ }, g.getPosition = function() {
1655
+ var m = getComputedStyle(this.element), i = this.layout._getOption("originLeft"), r = this.layout._getOption("originTop"), v = m[i ? "left" : "right"], T = m[r ? "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 -= r ? H.paddingTop : H.paddingBottom, this.position.x = $, this.position.y = L;
1657
+ }, g.layoutPosition = function() {
1658
+ var m = this.layout.size, i = {}, r = this.layout._getOption("originLeft"), v = this.layout._getOption("originTop"), T = r ? "paddingLeft" : "paddingRight", $ = r ? "left" : "right", L = r ? "right" : "left", H = this.position.x + m[T];
1659
+ i[$] = this.getXValue(H), i[L] = "";
1660
+ var D = v ? "paddingTop" : "paddingBottom", A = v ? "top" : "bottom", W = v ? "bottom" : "top", X = this.position.y + m[D];
1661
+ i[A] = 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 r = 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 - r, 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 r = this.layout._getOption("originLeft"), v = this.layout._getOption("originTop");
1685
+ return m = r ? 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 r in m.onTransitionEnd)
1701
+ i.onEnd[r] = m.onTransitionEnd[r];
1702
+ for (r in m.to)
1703
+ i.ingProperties[r] = !0, m.isCleaning && (i.clean[r] = !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 u = "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: u,
1717
+ transitionDuration: m,
1718
+ transitionDelay: this.staggerDelay || 0
1719
+ }), this.element.addEventListener(d, 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, r = b[m.propertyName] || m.propertyName;
1732
+ if (delete i.ingProperties[r], l(i.ingProperties) && this.disableTransition(), r in i.clean && (this.element.style[m.propertyName] = "", delete i.clean[r]), r in i.onEnd) {
1733
+ var v = i.onEnd[r];
1734
+ v.call(this), delete i.onEnd[r];
1735
+ }
1736
+ this.emitEvent("transitionEnd", [this]);
1737
+ }
1738
+ }, g.disableTransition = function() {
1739
+ this.removeTransitionStyles(), this.element.removeEventListener(d, this, !1), this.isTransitioning = !1;
1740
+ }, g._removeStyles = function(m) {
1741
+ var i = {};
1742
+ for (var r in m)
1743
+ i[r] = "";
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 = {}, r = this.getHideRevealTransitionEndProperty("visibleStyle");
1768
+ i[r] = 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 r in i)
1781
+ return r;
1782
+ }, g.hide = function() {
1783
+ this.isHidden = !0, this.css({ display: "" });
1784
+ var m = this.layout.options, i = {}, r = this.getHideRevealTransitionEndProperty("hiddenStyle");
1785
+ i[r] = 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
+ }(Ae)), Ae.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
+ je(),
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, l, s, h) {
1831
+ var c = t.console, d = t.jQuery, p = function() {
1832
+ }, f = 0, g = {};
1833
+ function _(i, r) {
1834
+ var v = s.getQueryElement(i);
1835
+ if (!v) {
1836
+ c && c.error("Bad element for " + this.constructor.namespace + ": " + (v || i));
1837
+ return;
1838
+ }
1839
+ this.element = v, d && (this.$element = d(this.element)), this.options = s.extend({}, this.constructor.defaults), this.option(r);
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 u = _.prototype;
1866
+ s.extend(u, n.prototype), u.option = function(i) {
1867
+ s.extend(this.options, i);
1868
+ }, u._getOption = function(i) {
1869
+ var r = this.constructor.compatOptions[i];
1870
+ return r && this.options[r] !== void 0 ? this.options[r] : 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
+ }, u._create = function() {
1881
+ this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), s.extend(this.element.style, this.options.containerStyle);
1882
+ var i = this._getOption("resize");
1883
+ i && this.bindResize();
1884
+ }, u.reloadItems = function() {
1885
+ this.items = this._itemize(this.element.children);
1886
+ }, u._itemize = function(i) {
1887
+ for (var r = this._filterFindItemElements(i), v = this.constructor.Item, T = [], $ = 0; $ < r.length; $++) {
1888
+ var L = r[$], H = new v(L, this);
1889
+ T.push(H);
1890
+ }
1891
+ return T;
1892
+ }, u._filterFindItemElements = function(i) {
1893
+ return s.filterFindElements(i, this.options.itemSelector);
1894
+ }, u.getItemElements = function() {
1895
+ return this.items.map(function(i) {
1896
+ return i.element;
1897
+ });
1898
+ }, u.layout = function() {
1899
+ this._resetLayout(), this._manageStamps();
1900
+ var i = this._getOption("layoutInstant"), r = i !== void 0 ? i : !this._isLayoutInited;
1901
+ this.layoutItems(this.items, r), this._isLayoutInited = !0;
1902
+ }, u._init = u.layout, u._resetLayout = function() {
1903
+ this.getSize();
1904
+ }, u.getSize = function() {
1905
+ this.size = l(this.element);
1906
+ }, u._getMeasurement = function(i, r) {
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 ? l(T)[r] : v) : this[i] = 0;
1909
+ }, u.layoutItems = function(i, r) {
1910
+ i = this._getItemsForLayout(i), this._layoutItems(i, r), this._postLayout();
1911
+ }, u._getItemsForLayout = function(i) {
1912
+ return i.filter(function(r) {
1913
+ return !r.isIgnored;
1914
+ });
1915
+ }, u._layoutItems = function(i, r) {
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 = r || T.isLayoutInstant, v.push($);
1921
+ }, this), this._processLayoutQueue(v);
1922
+ }
1923
+ }, u._getItemLayoutPosition = function() {
1924
+ return {
1925
+ x: 0,
1926
+ y: 0
1927
+ };
1928
+ }, u._processLayoutQueue = function(i) {
1929
+ this.updateStagger(), i.forEach(function(r, v) {
1930
+ this._positionItem(r.item, r.x, r.y, r.isInstant, v);
1931
+ }, this);
1932
+ }, u.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
+ }, u._positionItem = function(i, r, v, T, $) {
1940
+ T ? i.goTo(r, v) : (i.stagger($ * this.stagger), i.moveTo(r, v));
1941
+ }, u._postLayout = function() {
1942
+ this.resizeContainer();
1943
+ }, u.resizeContainer = function() {
1944
+ var i = this._getOption("resizeContainer");
1945
+ if (i) {
1946
+ var r = this._getContainerSize();
1947
+ r && (this._setContainerMeasure(r.width, !0), this._setContainerMeasure(r.height, !1));
1948
+ }
1949
+ }, u._getContainerSize = p, u._setContainerMeasure = function(i, r) {
1950
+ if (i !== void 0) {
1951
+ var v = this.size;
1952
+ v.isBorderBox && (i += r ? v.paddingLeft + v.paddingRight + v.borderLeftWidth + v.borderRightWidth : v.paddingBottom + v.paddingTop + v.borderTopWidth + v.borderBottomWidth), i = Math.max(i, 0), this.element.style[r ? "width" : "height"] = i + "px";
1953
+ }
1954
+ }, u._emitCompleteOnItems = function(i, r) {
1955
+ var v = this;
1956
+ function T() {
1957
+ v.dispatchEvent(i + "Complete", null, [r]);
1958
+ }
1959
+ var $ = r.length;
1960
+ if (!r || !$) {
1961
+ T();
1962
+ return;
1963
+ }
1964
+ var L = 0;
1965
+ function H() {
1966
+ L++, L == $ && T();
1967
+ }
1968
+ r.forEach(function(D) {
1969
+ D.once(i, H);
1970
+ });
1971
+ }, u.dispatchEvent = function(i, r, v) {
1972
+ var T = r ? [r].concat(v) : v;
1973
+ if (this.emitEvent(i, T), d)
1974
+ if (this.$element = this.$element || d(this.element), r) {
1975
+ var $ = d.Event(r);
1976
+ $.type = i, this.$element.trigger($, v);
1977
+ } else
1978
+ this.$element.trigger(i, v);
1979
+ }, u.ignore = function(i) {
1980
+ var r = this.getItem(i);
1981
+ r && (r.isIgnored = !0);
1982
+ }, u.unignore = function(i) {
1983
+ var r = this.getItem(i);
1984
+ r && delete r.isIgnored;
1985
+ }, u.stamp = function(i) {
1986
+ i = this._find(i), i && (this.stamps = this.stamps.concat(i), i.forEach(this.ignore, this));
1987
+ }, u.unstamp = function(i) {
1988
+ i = this._find(i), i && i.forEach(function(r) {
1989
+ s.removeFrom(this.stamps, r), this.unignore(r);
1990
+ }, this);
1991
+ }, u._find = function(i) {
1992
+ if (i)
1993
+ return typeof i == "string" && (i = this.element.querySelectorAll(i)), i = s.makeArray(i), i;
1994
+ }, u._manageStamps = function() {
1995
+ !this.stamps || !this.stamps.length || (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this));
1996
+ }, u._getBoundingRect = function() {
1997
+ var i = this.element.getBoundingClientRect(), r = this.size;
1998
+ this._boundingRect = {
1999
+ left: i.left + r.paddingLeft + r.borderLeftWidth,
2000
+ top: i.top + r.paddingTop + r.borderTopWidth,
2001
+ right: i.right - (r.paddingRight + r.borderRightWidth),
2002
+ bottom: i.bottom - (r.paddingBottom + r.borderBottomWidth)
2003
+ };
2004
+ }, u._manageStamp = p, u._getElementOffset = function(i) {
2005
+ var r = i.getBoundingClientRect(), v = this._boundingRect, T = l(i), $ = {
2006
+ left: r.left - v.left - T.marginLeft,
2007
+ top: r.top - v.top - T.marginTop,
2008
+ right: v.right - r.right - T.marginRight,
2009
+ bottom: v.bottom - r.bottom - T.marginBottom
2010
+ };
2011
+ return $;
2012
+ }, u.handleEvent = s.handleEvent, u.bindResize = function() {
2013
+ t.addEventListener("resize", this), this.isResizeBound = !0;
2014
+ }, u.unbindResize = function() {
2015
+ t.removeEventListener("resize", this), this.isResizeBound = !1;
2016
+ }, u.onresize = function() {
2017
+ this.resize();
2018
+ }, s.debounceMethod(_, "onresize", 100), u.resize = function() {
2019
+ !this.isResizeBound || !this.needsResizeLayout() || this.layout();
2020
+ }, u.needsResizeLayout = function() {
2021
+ var i = l(this.element), r = this.size && i;
2022
+ return r && i.innerWidth !== this.size.innerWidth;
2023
+ }, u.addItems = function(i) {
2024
+ var r = this._itemize(i);
2025
+ return r.length && (this.items = this.items.concat(r)), r;
2026
+ }, u.appended = function(i) {
2027
+ var r = this.addItems(i);
2028
+ r.length && (this.layoutItems(r, !0), this.reveal(r));
2029
+ }, u.prepended = function(i) {
2030
+ var r = this._itemize(i);
2031
+ if (r.length) {
2032
+ var v = this.items.slice(0);
2033
+ this.items = r.concat(v), this._resetLayout(), this._manageStamps(), this.layoutItems(r, !0), this.reveal(r), this.layoutItems(v);
2034
+ }
2035
+ }, u.reveal = function(i) {
2036
+ if (this._emitCompleteOnItems("reveal", i), !(!i || !i.length)) {
2037
+ var r = this.updateStagger();
2038
+ i.forEach(function(v, T) {
2039
+ v.stagger(T * r), v.reveal();
2040
+ });
2041
+ }
2042
+ }, u.hide = function(i) {
2043
+ if (this._emitCompleteOnItems("hide", i), !(!i || !i.length)) {
2044
+ var r = this.updateStagger();
2045
+ i.forEach(function(v, T) {
2046
+ v.stagger(T * r), v.hide();
2047
+ });
2048
+ }
2049
+ }, u.revealItemElements = function(i) {
2050
+ var r = this.getItems(i);
2051
+ this.reveal(r);
2052
+ }, u.hideItemElements = function(i) {
2053
+ var r = this.getItems(i);
2054
+ this.hide(r);
2055
+ }, u.getItem = function(i) {
2056
+ for (var r = 0; r < this.items.length; r++) {
2057
+ var v = this.items[r];
2058
+ if (v.element == i)
2059
+ return v;
2060
+ }
2061
+ }, u.getItems = function(i) {
2062
+ i = s.makeArray(i);
2063
+ var r = [];
2064
+ return i.forEach(function(v) {
2065
+ var T = this.getItem(v);
2066
+ T && r.push(T);
2067
+ }, this), r;
2068
+ }, u.remove = function(i) {
2069
+ var r = this.getItems(i);
2070
+ this._emitCompleteOnItems("remove", r), !(!r || !r.length) && r.forEach(function(v) {
2071
+ v.remove(), s.removeFrom(this.items, v);
2072
+ }, this);
2073
+ }, u.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 r = this.element.outlayerGUID;
2079
+ delete g[r], delete this.element.outlayerGUID, d && d.removeData(this.element, this.constructor.namespace);
2080
+ }, _.data = function(i) {
2081
+ i = s.getQueryElement(i);
2082
+ var r = i && i.outlayerGUID;
2083
+ return r && g[r];
2084
+ }, _.create = function(i, r) {
2085
+ var v = b(_);
2086
+ return v.defaults = s.extend({}, _.defaults), s.extend(v.defaults, r), v.compatOptions = s.extend({}, _.compatOptions), v.namespace = i, v.data = _.data, v.Item = b(h), s.htmlInit(v, i), d && d.bridget && d.bridget(i, v), v;
2087
+ };
2088
+ function b(i) {
2089
+ function r() {
2090
+ i.apply(this, arguments);
2091
+ }
2092
+ return r.prototype = Object.create(i.prototype), r.prototype.constructor = r, r;
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 r = i.match(/(^\d*\.?\d*)(\w*)/), v = r && r[1], T = r && r[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 l = t.create("masonry");
2130
+ l.compatOptions.fitWidth = "isFitWidth";
2131
+ var s = l.prototype;
2132
+ return s._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
+ }, s.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 d = this.columnWidth += this.gutter, p = this.containerWidth + this.gutter, f = p / d, g = d - p % d, _ = g && g < 1 ? "round" : "floor";
2144
+ f = Math[_](f), this.cols = Math.max(f, 1);
2145
+ }, s.getContainerWidth = function() {
2146
+ var h = this._getOption("fitWidth"), c = h ? this.element.parentNode : this.element, d = n(c);
2147
+ this.containerWidth = d && d.innerWidth;
2148
+ }, s._getItemLayoutPosition = function(h) {
2149
+ h.getSize();
2150
+ var c = h.size.outerWidth % this.columnWidth, d = c && c < 1 ? "round" : "ceil", p = Math[d](h.size.outerWidth / this.columnWidth);
2151
+ p = Math.min(p, this.cols);
2152
+ for (var f = this.options.horizontalOrder ? "_getHorizontalColPosition" : "_getTopColPosition", g = this[f](p, h), _ = {
2153
+ x: this.columnWidth * g.col,
2154
+ y: g.y
2155
+ }, u = g.y + h.size.outerHeight, b = p + g.col, k = g.col; k < b; k++)
2156
+ this.colYs[k] = u;
2157
+ return _;
2158
+ }, s._getTopColPosition = function(h) {
2159
+ var c = this._getTopColGroup(h), d = Math.min.apply(Math, c);
2160
+ return {
2161
+ col: c.indexOf(d),
2162
+ y: d
2163
+ };
2164
+ }, s._getTopColGroup = function(h) {
2165
+ if (h < 2)
2166
+ return this.colYs;
2167
+ for (var c = [], d = this.cols + 1 - h, p = 0; p < d; p++)
2168
+ c[p] = this._getColGroupY(p, h);
2169
+ return c;
2170
+ }, s._getColGroupY = function(h, c) {
2171
+ if (c < 2)
2172
+ return this.colYs[h];
2173
+ var d = this.colYs.slice(h, h + c);
2174
+ return Math.max.apply(Math, d);
2175
+ }, s._getHorizontalColPosition = function(h, c) {
2176
+ var d = this.horizontalColIndex % this.cols, p = h > 1 && d + h > this.cols;
2177
+ d = p ? 0 : d;
2178
+ var f = c.size.outerWidth && c.size.outerHeight;
2179
+ return this.horizontalColIndex = f ? d + h : this.horizontalColIndex, {
2180
+ col: d,
2181
+ y: this._getColGroupY(d, h)
2182
+ };
2183
+ }, s._manageStamp = function(h) {
2184
+ var c = n(h), d = this._getElementOffset(h), p = this._getOption("originLeft"), f = p ? d.left : d.right, g = f + c.outerWidth, _ = Math.floor(f / this.columnWidth);
2185
+ _ = Math.max(0, _);
2186
+ var u = Math.floor(g / this.columnWidth);
2187
+ u -= g % this.columnWidth ? 0 : 1, u = Math.min(this.cols - 1, u);
2188
+ for (var b = this._getOption("originTop"), k = (b ? d.top : d.bottom) + c.outerHeight, m = _; m <= u; m++)
2189
+ this.colYs[m] = Math.max(k, this.colYs[m]);
2190
+ }, s._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
+ }, s._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
+ }, s.needsResizeLayout = function() {
2201
+ var h = this.containerWidth;
2202
+ return this.getContainerWidth(), h != this.containerWidth;
2203
+ }, l;
2204
+ });
2205
+ })(Ct);
2206
+ var pi = Ct.exports;
2207
+ const lt = /* @__PURE__ */ It(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
+ je()
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 l = t.jQuery, s = t.console;
2228
+ function h(u, b) {
2229
+ for (var k in b)
2230
+ u[k] = b[k];
2231
+ return u;
2232
+ }
2233
+ var c = Array.prototype.slice;
2234
+ function d(u) {
2235
+ if (Array.isArray(u))
2236
+ return u;
2237
+ var b = typeof u == "object" && typeof u.length == "number";
2238
+ return b ? c.call(u) : [u];
2239
+ }
2240
+ function p(u, b, k) {
2241
+ if (!(this instanceof p))
2242
+ return new p(u, b, k);
2243
+ var m = u;
2244
+ if (typeof u == "string" && (m = document.querySelectorAll(u)), !m) {
2245
+ s.error("Bad element for imagesLoaded " + (m || u));
2246
+ return;
2247
+ }
2248
+ this.elements = d(m), this.options = h({}, this.options), typeof b == "function" ? k = b : h(this.options, b), k && this.on("always", k), this.getImages(), l && (this.jqDeferred = new l.Deferred()), setTimeout(this.check.bind(this));
2249
+ }
2250
+ p.prototype = Object.create(n.prototype), p.prototype.options = {}, p.prototype.getImages = function() {
2251
+ this.images = [], this.elements.forEach(this.addElementImages, this);
2252
+ }, p.prototype.addElementImages = function(u) {
2253
+ u.nodeName == "IMG" && this.addImage(u), this.options.background === !0 && this.addElementBackgroundImages(u);
2254
+ var b = u.nodeType;
2255
+ if (!(!b || !f[b])) {
2256
+ for (var k = u.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 r = u.querySelectorAll(this.options.background);
2262
+ for (m = 0; m < r.length; m++) {
2263
+ var v = r[m];
2264
+ this.addElementBackgroundImages(v);
2265
+ }
2266
+ }
2267
+ }
2268
+ };
2269
+ var f = {
2270
+ 1: !0,
2271
+ 9: !0,
2272
+ 11: !0
2273
+ };
2274
+ p.prototype.addElementBackgroundImages = function(u) {
2275
+ var b = getComputedStyle(u);
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, u), m = k.exec(b.backgroundImage);
2280
+ }
2281
+ }, p.prototype.addImage = function(u) {
2282
+ var b = new g(u);
2283
+ this.images.push(b);
2284
+ }, p.prototype.addBackground = function(u, b) {
2285
+ var k = new _(u, b);
2286
+ this.images.push(k);
2287
+ }, p.prototype.check = function() {
2288
+ var u = 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
+ u.progress(k, m, i);
2296
+ });
2297
+ }
2298
+ this.images.forEach(function(k) {
2299
+ k.once("progress", b), k.check();
2300
+ });
2301
+ }, p.prototype.progress = function(u, b, k) {
2302
+ this.progressedCount++, this.hasAnyBroken = this.hasAnyBroken || !u.isLoaded, this.emitEvent("progress", [this, u, b]), this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, u), this.progressedCount == this.images.length && this.complete(), this.options.debug && s && s.log("progress: " + k, u, b);
2303
+ }, p.prototype.complete = function() {
2304
+ var u = this.hasAnyBroken ? "fail" : "done";
2305
+ if (this.isComplete = !0, this.emitEvent(u, [this]), this.emitEvent("always", [this]), this.jqDeferred) {
2306
+ var b = this.hasAnyBroken ? "reject" : "resolve";
2307
+ this.jqDeferred[b](this);
2308
+ }
2309
+ };
2310
+ function g(u) {
2311
+ this.img = u;
2312
+ }
2313
+ g.prototype = Object.create(n.prototype), g.prototype.check = function() {
2314
+ var u = this.getIsImageComplete();
2315
+ if (u) {
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(u, b) {
2323
+ this.isLoaded = u, this.emitEvent("progress", [this, this.img, b]);
2324
+ }, g.prototype.handleEvent = function(u) {
2325
+ var b = "on" + u.type;
2326
+ this[b] && this[b](u);
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 _(u, b) {
2335
+ this.url = u, 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 u = this.getIsImageComplete();
2340
+ u && (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(u, b) {
2344
+ this.isLoaded = u, this.emitEvent("progress", [this, this.element, b]);
2345
+ }, p.makeJQueryPlugin = function(u) {
2346
+ u = u || t.jQuery, u && (l = u, l.fn.imagesLoaded = function(b, k) {
2347
+ var m = new p(this, b, k);
2348
+ return m.jqDeferred.promise(l(this));
2349
+ });
2350
+ }, p.makeJQueryPlugin(), p;
2351
+ }
2352
+ );
2353
+ })($t);
2354
+ var hi = $t.exports;
2355
+ const fi = /* @__PURE__ */ It(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(l) {
2366
+ l(t);
2367
+ }), (n = o.get("*")) && n.slice().map(function(l) {
2368
+ l(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", l = o;
2397
+ l.directive("masonry", {
2398
+ props: ["transitionDuration", " itemSelector", "destroyDelay"],
2399
+ mounted: function(s, 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(s.attributes), d = new lt(s, c), p = h.value || n, f = c.destroyDelay ? parseInt(c.destroyDelay, 10) : void 0, g = function() {
2403
+ d.reloadItems(), d.layout();
2404
+ };
2405
+ Et(() => {
2406
+ g();
2407
+ });
2408
+ const _ = function(b) {
2409
+ g();
2410
+ }, u = function(b) {
2411
+ t.off(`${ge}__${p}`, _), t.off(`${Me}__${p}`, _), t.off(`${Re}__${p}`, _), t.off(`${Be}__${p}`, u);
2412
+ const k = f && !Number.isNaN(f) ? f : 0;
2413
+ setTimeout(function() {
2414
+ d.destroy();
2415
+ }, k);
2416
+ };
2417
+ t.on(`${ge}__${p}`, _), t.on(`${Me}__${p}`, _), t.on(`${Re}__${p}`, _), t.on(`${Be}__${p}`, u);
2418
+ },
2419
+ unbind: function(s, h) {
2420
+ const c = h.value || n;
2421
+ t.emit(`${Be}__${c}`);
2422
+ }
2423
+ }), l.directive("masonryTile", {
2424
+ mounted: function(s, h) {
2425
+ const c = h.value || n;
2426
+ t.emit(`${ge}__${c}`, {
2427
+ element: s
2428
+ }), new fi(s, function() {
2429
+ t.emit(`${Re}__${c}`, {
2430
+ element: s
2431
+ });
2432
+ });
2433
+ },
2434
+ unbind: function(s, h) {
2435
+ const c = h.value || n;
2436
+ t.emit(`${Me}__${c}`, {
2437
+ element: s
2438
+ });
2439
+ }
2440
+ });
2441
+ {
2442
+ const s = function(h) {
2443
+ const c = h || n;
2444
+ t.emit(`${ge}__${c}`);
2445
+ };
2446
+ o.config.globalProperties.$redrawVueMasonry = s, o.provide("redrawVueMasonry", s);
2447
+ }
2448
+ };
2449
+ function Ne(o, e = {}, t) {
2450
+ for (const n in o) {
2451
+ const l = o[n], s = t ? `${t}:${n}` : n;
2452
+ typeof l == "object" && l !== null ? Ne(l, e, s) : typeof l == "function" && (e[s] = l);
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
+ (l, s) => l.then(() => n.run(() => s(...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((l) => n.run(() => l(...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 l = e;
2481
+ let s;
2482
+ for (; this._deprecatedHooks[e]; )
2483
+ s = this._deprecatedHooks[e], e = s.to;
2484
+ if (s && !n.allowDeprecated) {
2485
+ let h = s.message;
2486
+ h || (h = `${l} hook has been deprecated` + (s.to ? `, please use ${s.to}` : "")), this._deprecatedMessages || (this._deprecatedMessages = /* @__PURE__ */ new Set()), this._deprecatedMessages.has(h) || (console.warn(h), this._deprecatedMessages.add(h));
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, l = (...s) => (typeof n == "function" && n(), n = void 0, l = void 0, t(...s));
2502
+ return n = this.hook(e, l), 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 l of n)
2515
+ this.hook(e, l);
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
+ (l) => this.hook(l, t[l])
2525
+ );
2526
+ return () => {
2527
+ for (const l of n.splice(0, n.length))
2528
+ l();
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 l = this._before || this._after ? { name: t, args: n, context: {} } : void 0;
2548
+ this._before && ze(this._before, l);
2549
+ const s = e(
2550
+ t in this._hooks ? [...this._hooks[t]] : [],
2551
+ n
2552
+ );
2553
+ return s instanceof Promise ? s.finally(() => {
2554
+ this._after && l && ze(this._after, l);
2555
+ }) : (this._after && l && ze(this._after, l), s);
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 Ii() {
2575
+ return new Ti();
2576
+ }
2577
+ function Ci(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 l = ["id"];
2618
+ n === "meta" && l.push("name", "property", "http-equiv");
2619
+ for (const s of l)
2620
+ if (typeof t[s] < "u") {
2621
+ const h = String(t[s]);
2622
+ return e && !e(h) ? !1 : `${n}:${s}:${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((l) => {
2640
+ const s = typeof n.props[l] < "u" ? n.props[l] : t[l];
2641
+ typeof s < "u" && ((!["innerHTML", "textContent", "children"].includes(l) || $i.includes(n.tag)) && (n[l === "children" ? "innerHTML" : l] = s), delete n.props[l]);
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((l) => ({ ...n, props: { ...n.props, content: l } })) : 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]), l = t.startsWith("data-");
2655
+ n === "true" || n === "" ? o[t] = l ? "true" : !0 : o[t] || (l && 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 l = Ci(n);
2665
+ e.push(...l.map((s) => Pi(t, s, 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((d, p) => d && d[p] || void 0, e) : c = e[h], typeof c < "u" ? (c || "").replace(/"/g, '\\"') : !1;
2690
+ }
2691
+ let l = o;
2692
+ try {
2693
+ l = decodeURI(o);
2694
+ } catch {
2695
+ }
2696
+ return (l.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"), (d, p) => `${c}${p}`).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 Di(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 Ai(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 l = (await o.resolveTags()).map((f) => ({
2719
+ tag: f,
2720
+ id: ve.includes(f.tag) ? ut(f) : f.tag,
2721
+ shouldRender: !0
2722
+ }));
2723
+ let s = o._dom;
2724
+ if (!s) {
2725
+ s = {
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((u) => ve.includes(u.tagName.toLowerCase())))
2731
+ s.elMap[_.getAttribute("data-hid") || ut(await Di(_))] = _;
2732
+ }
2733
+ }
2734
+ s.pendingSideEffects = { ...s.sideEffects || {} }, s.sideEffects = {};
2735
+ function h(f, g, _) {
2736
+ const u = `${f}:${g}`;
2737
+ s.sideEffects[u] = _, delete s.pendingSideEffects[u];
2738
+ }
2739
+ function c({ id: f, $el: g, tag: _ }) {
2740
+ const u = _.tag.endsWith("Attrs");
2741
+ s.elMap[f] = g, u || (["textContent", "innerHTML"].forEach((b) => {
2742
+ _[b] && _[b] !== g[b] && (g[b] = _[b]);
2743
+ }), h(f, "el", () => {
2744
+ s.elMap[f].remove(), delete s.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
+ u && 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)), u && h(f, m, () => g.removeAttribute(b));
2752
+ });
2753
+ }
2754
+ const d = [], p = {
2755
+ bodyClose: void 0,
2756
+ bodyOpen: void 0,
2757
+ head: void 0
2758
+ };
2759
+ for (const f of l) {
2760
+ const { tag: g, shouldRender: _, id: u } = f;
2761
+ if (_) {
2762
+ if (g.tag === "title") {
2763
+ t.title = g.textContent;
2764
+ continue;
2765
+ }
2766
+ f.$el = f.$el || s.elMap[u], f.$el ? c(f) : ve.includes(g.tag) && d.push(f);
2767
+ }
2768
+ }
2769
+ for (const f of d) {
2770
+ const g = f.tag.tagPosition || "head";
2771
+ f.$el = t.createElement(f.tag.tag), c(f), p[g] = p[g] || t.createDocumentFragment(), p[g].appendChild(f.$el);
2772
+ }
2773
+ for (const f of l)
2774
+ await o.hooks.callHook("dom:renderTag", f, t, h);
2775
+ p.head && t.head.appendChild(p.head), p.bodyOpen && t.body.insertBefore(p.bodyOpen, t.body.firstChild), p.bodyClose && t.body.appendChild(p.bodyClose), Object.values(s.pendingSideEffects).forEach((f) => f()), o._dom = s, o.dirty = !1, await o.hooks.callHook("dom:rendered", { renders: l });
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 Ai(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 l = (n.key ? `${n.tag}:${n.key}` : n._d) || n._p, s = e[l];
2810
+ if (s) {
2811
+ let c = n?.tagDuplicateStrategy;
2812
+ if (!c && Bi.includes(n.tag) && (c = "merge"), c === "merge") {
2813
+ const d = s.props;
2814
+ ["class", "style"].forEach((p) => {
2815
+ d[p] && (n.props[p] ? (p === "style" && !d[p].endsWith(";") && (d[p] += ";"), n.props[p] = `${d[p]} ${n.props[p]}`) : n.props[p] = d[p]);
2816
+ }), e[l].props = {
2817
+ ...d,
2818
+ ...n.props
2819
+ };
2820
+ return;
2821
+ } else if (n._e === s._e) {
2822
+ s._duped = s._duped || [], n._d = `${s._d}:${s._duped.length + 1}`, s._duped.push(n);
2823
+ return;
2824
+ } else if (_e(n) > _e(s))
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[l];
2830
+ return;
2831
+ }
2832
+ e[l] = n;
2833
+ });
2834
+ const t = [];
2835
+ Object.values(e).forEach((n) => {
2836
+ const l = n._duped;
2837
+ delete n._duped, t.push(n), l && t.push(...l);
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, l]) => {
2859
+ n.startsWith("on") && typeof l == "function" ? (wt.includes(n) && (e[n] = `this.dataset.${n} = true`), t[n] = l) : e[n] = l;
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: l } = Ni(t);
2868
+ t.props = n, Object.keys(l).length && ((t.props.src || t.props.href) && (t.key = t.key || Ke(t.props.src || t.props.href)), t._eventHandlers = l);
2869
+ }
2870
+ },
2871
+ "dom:renderTag": function(e, t, n) {
2872
+ if (!e.tag._eventHandlers)
2873
+ return;
2874
+ const l = e.tag.tag === "bodyAttrs" ? t.defaultView : e.$el;
2875
+ Object.entries(e.tag._eventHandlers).forEach(([s, h]) => {
2876
+ const c = `${e.tag._d || e.tag._p}:${s}`, d = s.slice(2).toLowerCase(), p = `data-h-${d}`;
2877
+ if (n(e.id, c, () => {
2878
+ }), e.$el.hasAttribute(p))
2879
+ return;
2880
+ e.$el.setAttribute(p, "");
2881
+ let f;
2882
+ const g = (_) => {
2883
+ h(_), f?.disconnect();
2884
+ };
2885
+ s in e.$el.dataset ? g(new Event(s.replace("on", ""))) : wt.includes(s) && typeof MutationObserver < "u" ? (f = new MutationObserver((_) => {
2886
+ _.some((b) => b.attributeName === `data-${s}`) && (g(new Event(s.replace("on", ""))), f?.disconnect());
2887
+ }), f.observe(e.$el, {
2888
+ attributes: !0
2889
+ })) : l.addEventListener(d, g), n(e.id, c, () => {
2890
+ f?.disconnect(), l.removeEventListener(d, g), e.$el.removeAttribute(p);
2891
+ });
2892
+ });
2893
+ }
2894
+ }
2895
+ }), qi = ["link", "style", "script", "noscript"], Gi = {
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
+ }, ji = {
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 l of o.tags.filter((s) => typeof s.tagPriority == "string" && s.tagPriority.startsWith(t))) {
2907
+ const s = e(
2908
+ l.tagPriority.replace(t, "")
2909
+ );
2910
+ typeof s < "u" && (l._p = s + 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, l = t.findIndex((c) => c.tag === "templateParams"), s = l !== -1 ? t[l].props : {}, h = s.separator || "|";
2923
+ delete s.separator, s.pageTitle = ye(s.pageTitle || n || "", s, h);
2924
+ for (const c of t.filter((d) => d.processTemplateParams !== !1)) {
2925
+ const d = Yi[c.tag];
2926
+ d && typeof c.props[d] == "string" ? c.props[d] = ye(c.props[d], s, h) : (c.processTemplateParams === !0 || ["titleTemplate", "title"].includes(c.tag)) && ["innerHTML", "textContent"].forEach((p) => {
2927
+ typeof c[p] == "string" && (c[p] = ye(c[p], s, h));
2928
+ });
2929
+ }
2930
+ o._templateParams = s, 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((l) => l.tag === "titleTemplate");
2938
+ const n = e.findIndex((l) => l.tag === "title");
2939
+ if (n !== -1 && t !== -1) {
2940
+ const l = dt(
2941
+ e[t].textContent,
2942
+ e[n].textContent
2943
+ );
2944
+ l !== null ? e[n].textContent = l || e[n].textContent : delete e[n];
2945
+ } else if (t !== -1) {
2946
+ const l = dt(
2947
+ e[t].textContent
2948
+ );
2949
+ l !== null && (e[t].textContent = l, 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 = Ii();
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 l = 0, s = [];
2978
+ const h = [], c = {
2979
+ plugins: h,
2980
+ dirty: !1,
2981
+ resolvedOptions: o,
2982
+ hooks: e,
2983
+ headEntries() {
2984
+ return s;
2985
+ },
2986
+ use(d) {
2987
+ const p = typeof d == "function" ? d(c) : d;
2988
+ (!p.key || !h.some((f) => f.key === p.key)) && (h.push(p), ht(p.mode, t) && e.addHooks(p.hooks || {}));
2989
+ },
2990
+ push(d, p) {
2991
+ delete p?.head;
2992
+ const f = {
2993
+ _i: l++,
2994
+ input: d,
2995
+ ...p
2996
+ };
2997
+ return ht(f.mode, t) && (s.push(f), n()), {
2998
+ dispose() {
2999
+ s = s.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
+ s = s.map((_) => (_._i === f._i && (_.input = f.input = g), _)), n();
3004
+ }
3005
+ };
3006
+ },
3007
+ async resolveTags() {
3008
+ const d = { tags: [], entries: [...s] };
3009
+ await e.callHook("entries:resolve", d);
3010
+ for (const p of d.entries) {
3011
+ const f = p.resolvedInput || p.input;
3012
+ if (p.resolvedInput = await (p.transform ? p.transform(f) : f), p.resolvedInput)
3013
+ for (const g of await Hi(p)) {
3014
+ const _ = { tag: g, entry: p, resolvedOptions: c.resolvedOptions };
3015
+ await e.callHook("tag:normalise", _), d.tags.push(_.tag);
3016
+ }
3017
+ }
3018
+ return await e.callHook("tags:beforeResolve", d), await e.callHook("tags:resolve", d), await e.callHook("tags:afterResolve", d), d.tags;
3019
+ },
3020
+ ssr: t
3021
+ };
3022
+ return [
3023
+ zi,
3024
+ Wi,
3025
+ Ui,
3026
+ Gi,
3027
+ ji,
3028
+ Ki,
3029
+ Qi,
3030
+ Ji,
3031
+ ...o?.plugins || []
3032
+ ].forEach((d) => c.use(d)), 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, l]) => n === "titleTemplate" || n.startsWith("on") ? [n, a(l)] : [n, Ue(l, 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, t = Array.isArray(e.props) ? e.props : Object.keys(e.props || {}), n = {};
3083
+ for (const h of t) {
3084
+ const c = this.attributes.getNamedItem(h)?.value;
3085
+ if (!c)
3086
+ break;
3087
+ n[h] = c;
3088
+ }
3089
+ const l = Io(fe, n);
3090
+ l.use(ar), l.use(sr), l.use(St), l.use(Co), l.use(wo), l.use($o, { bootstrap: !0 });
3091
+ const s = document.createElement("div");
3092
+ l.mount(s), this.appendChild(s.children[0]);
3093
+ }
3094
+ }
3095
+ window.customElements.define("konnectio-hotel", lr);
3096
+ export {
3097
+ lr as C,
3098
+ rr as c,
3099
+ gr as i,
3100
+ Ue as r
3101
+ };