@konnectio/core 4.0.7 → 4.0.10

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