@konnectio/core 4.0.56-rc8 → 4.0.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/{ActionField-na8McB-H.js → ActionField-j1i8YL6H.js} +43 -34
  2. package/dist/ActionField-j1i8YL6H.js.br +0 -0
  3. package/dist/AvailabilitySkeleton-78ug9z_g.js +294 -0
  4. package/dist/AvailabilitySkeleton-78ug9z_g.js.br +0 -0
  5. package/dist/AvailabilitySkeleton.vue_vue_type_style_index_0_scoped_17762b9b_lang-B72HmqV2.js +8652 -0
  6. package/dist/AvailabilitySkeleton.vue_vue_type_style_index_0_scoped_17762b9b_lang-B72HmqV2.js.br +0 -0
  7. package/dist/CheckoutWindow-DYdrHbQ-.js +677 -0
  8. package/dist/CheckoutWindow-DYdrHbQ-.js.br +0 -0
  9. package/dist/ErrorMessage-DJ_hHpkR.js +45 -0
  10. package/dist/ErrorMessage-DJ_hHpkR.js.br +0 -0
  11. package/dist/EventAvailabilityForm-B4Y8N8P1.js +117 -0
  12. package/dist/EventAvailabilityForm-B4Y8N8P1.js.br +0 -0
  13. package/dist/Field-CHlcB-1U.js +50 -0
  14. package/dist/Field-CHlcB-1U.js.br +0 -0
  15. package/dist/Field.vue_vue_type_style_index_0_scoped_992f78a1_lang-CXrsASkr.js +18825 -0
  16. package/dist/Field.vue_vue_type_style_index_0_scoped_992f78a1_lang-CXrsASkr.js.br +0 -0
  17. package/dist/TermsOfService-BTaz4T1c.js +36 -0
  18. package/dist/TermsOfService-BTaz4T1c.js.br +0 -0
  19. package/dist/_-Bv_QUFw4.js +12 -0
  20. package/dist/_.vue_vue_type_style_index_0_lang-BHKGq8g4.js +69 -0
  21. package/dist/_.vue_vue_type_style_index_0_lang-BHKGq8g4.js.br +0 -0
  22. package/dist/_commonjsHelpers-4HJ9V5A_.js +17 -0
  23. package/dist/_sentry-release-injection-file-B7Jqb6lo.js +9598 -0
  24. package/dist/_sentry-release-injection-file-B7Jqb6lo.js.br +0 -0
  25. package/dist/availability.js +89 -170
  26. package/dist/availability.js.br +0 -0
  27. package/dist/deep-link.js +62 -0
  28. package/dist/deep-link.js.br +0 -0
  29. package/dist/event.js +780 -500
  30. package/dist/event.js.br +0 -0
  31. package/dist/gift-card-validation.js +114 -67
  32. package/dist/gift-card-validation.js.br +0 -0
  33. package/dist/gift-card.js +356 -390
  34. package/dist/gift-card.js.br +0 -0
  35. package/dist/giftCard-D5RQomNw.js +134 -0
  36. package/dist/giftCard-D5RQomNw.js.br +0 -0
  37. package/dist/hotel.js +2215 -11
  38. package/dist/hotel.js.br +0 -0
  39. package/dist/masonry.plugin-DKJPmkN0.js +12766 -0
  40. package/dist/masonry.plugin-DKJPmkN0.js.br +0 -0
  41. package/dist/mitt-mvNuFbhJ.js +2952 -0
  42. package/dist/mitt-mvNuFbhJ.js.br +0 -0
  43. package/dist/polyfill.js +13670 -4711
  44. package/dist/polyfill.js.br +0 -0
  45. package/dist/style.css +1 -1
  46. package/dist/style.css.br +0 -0
  47. package/dist/tracing-CMlyHB3J.js +2537 -0
  48. package/dist/tracing-CMlyHB3J.js.br +0 -0
  49. package/package.json +47 -38
  50. package/dist/ActionField-na8McB-H.js.br +0 -0
  51. package/dist/AvailabilitySkeleton-1_yLVsq6.js +0 -214
  52. package/dist/AvailabilitySkeleton-1_yLVsq6.js.br +0 -0
  53. package/dist/CheckoutWindow-r6ch1iOr.js +0 -205
  54. package/dist/CheckoutWindow-r6ch1iOr.js.br +0 -0
  55. package/dist/DateField.vue_vue_type_style_index_0_lang-ZM6h3KFg.js +0 -8558
  56. package/dist/DateField.vue_vue_type_style_index_0_lang-ZM6h3KFg.js.br +0 -0
  57. package/dist/Field-S_yxW5IQ.js +0 -42
  58. package/dist/Field-S_yxW5IQ.js.br +0 -0
  59. package/dist/SelectField.vue_vue_type_style_index_0_lang-K94DVjrE.js +0 -30460
  60. package/dist/SelectField.vue_vue_type_style_index_0_lang-K94DVjrE.js.br +0 -0
  61. package/dist/ThankYou-ekf_1AWY.js +0 -13233
  62. package/dist/ThankYou-ekf_1AWY.js.br +0 -0
  63. package/dist/_-vErl-x3v.js +0 -19
  64. package/dist/_commonjsHelpers-2ufMB8rV.js +0 -30
  65. package/dist/event-iDLUEMAV.js +0 -328
  66. package/dist/event-iDLUEMAV.js.br +0 -0
  67. package/dist/favicon.ico +0 -0
  68. package/dist/hotel-4O89o7V2.js +0 -3111
  69. package/dist/hotel-4O89o7V2.js.br +0 -0
  70. package/dist/navigation.js +0 -1
package/dist/hotel.js CHANGED
@@ -1,13 +1,2217 @@
1
- import "./SelectField.vue_vue_type_style_index_0_lang-K94DVjrE.js";
2
- import "./ThankYou-ekf_1AWY.js";
3
- import { C as s } from "./hotel-4O89o7V2.js";
4
- import "./_commonjsHelpers-2ufMB8rV.js";
5
- import "./ActionField-na8McB-H.js";
6
- import "./CheckoutWindow-r6ch1iOr.js";
7
- import "./_-vErl-x3v.js";
8
- import "./AvailabilitySkeleton-1_yLVsq6.js";
9
- import "./DateField.vue_vue_type_style_index_0_lang-ZM6h3KFg.js";
10
- import "./Field-S_yxW5IQ.js";
1
+ import { d as Q, r as ne, a as u, b as A, w as $, l as qe, u as t, g as f, e as a, t as v, A as We, B as Ke, f as g, i as _, s as F, F as M, x as Ye, v as N, h as Ae, c as G, p as kt, j as _t, o as tt, z as De, n as He, S as to, C as oo, D as no, E as lo, k as ao } from "./_sentry-release-injection-file-B7Jqb6lo.js";
2
+ import { u as le, s as Z, T as io, c as so, i as ro, m as co } from "./mitt-mvNuFbhJ.js";
3
+ import { d as Ve, x as me, u as _e, I as K, f as ce, y as Ze, l as dt, z as re, h as oe, _ as ue, n as Be, A as Vt, b as Qe, c as de, e as Tt, B as $t, D as ct, T as se, p as uo, F as po, a as mo, C as fo, i as ut, j as ho, k as pt, m as vo } from "./Field.vue_vue_type_style_index_0_scoped_992f78a1_lang-CXrsASkr.js";
4
+ import { R as yo, B as Ee, L as go, S as bo, M as ko, a as ze, C as _o, T as Vo, V as To, G as $o } from "./masonry.plugin-DKJPmkN0.js";
5
+ import { A as Co, H as wo } from "./AvailabilitySkeleton-78ug9z_g.js";
6
+ import { S as Po } from "./TermsOfService-BTaz4T1c.js";
7
+ import { C as Se, B as Ao, P as Do, a as Ho } from "./CheckoutWindow-DYdrHbQ-.js";
8
+ import { _ as Ct } from "./AvailabilitySkeleton.vue_vue_type_style_index_0_scoped_17762b9b_lang-B72HmqV2.js";
9
+ (function() {
10
+ try {
11
+ var l = typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, n = new Error().stack;
12
+ n && (l._sentryDebugIds = l._sentryDebugIds || {}, l._sentryDebugIds[n] = "f92651b1-d62d-4bc0-86cb-701cc18ba284", l._sentryDebugIdIdentifier = "sentry-dbid-f92651b1-d62d-4bc0-86cb-701cc18ba284");
13
+ } catch {
14
+ }
15
+ })();
16
+ const So = { key: 0 }, Io = { class: "konnectio-hotel-reservation-warning" }, Bo = { class: "konnectio-hotel-reservation-warning" }, Eo = { class: "konnectio-hotel-reservation-warning" };
17
+ const Mo = { key: 0 }, Lo = { key: 1 }, Uo = { key: 0 }, Ro = { class: "konnectio-reservation-actions" }, No = /* @__PURE__ */ Q({
18
+ __name: "HotelReservationForm",
19
+ props: {
20
+ showGiftCard: { type: Boolean, default: !1 },
21
+ showTermsNotice: { type: Boolean, default: !1 }
22
+ },
23
+ setup(l) {
24
+ const { t: n } = le(), {
25
+ hideArrivalDepartureInputs: o,
26
+ disableArrivalUserSelection: e,
27
+ disableDepartureUserSelection: i,
28
+ arrivalDefault: s,
29
+ departureDefault: m,
30
+ disableNewsletterSignup: p,
31
+ currency: c
32
+ } = Z(Ve()), {
33
+ arrivalTime: r,
34
+ departureTime: d,
35
+ roomDisplay: h,
36
+ templateID: V,
37
+ totalPrice: P,
38
+ areListingsLoading: C,
39
+ getSelectedPackageRoom: I,
40
+ selectedPackage: B,
41
+ discountVouchers: b,
42
+ currentArrivalDate: w,
43
+ currentDepartureDate: H,
44
+ datesMismatch: O,
45
+ currentLocation: j,
46
+ locationMismatch: x,
47
+ newsMails: R,
48
+ termsOfService: J,
49
+ discountCode: X,
50
+ hasTermOfService: Me,
51
+ acceptTerms: L,
52
+ totalTemplateAddonPrice: pe
53
+ } = Z(me()), { hasHotelLocations: he } = Z(_e()), { removeRoom: Te, validateDiscountCode: Le } = me(), { getHotelLocationName: Ue } = _e(), ve = ne(!1);
54
+ function ye(ee) {
55
+ return ee.reduce((U, { totalPrice: ge }) => U + ge, 0);
56
+ }
57
+ return (ee, z) => (u(), A(yo, {
58
+ "discount-code": t(X),
59
+ "onUpdate:discountCode": z[4] || (z[4] = (U) => N(X) ? X.value = U : null),
60
+ "validate-discount-code": t(Le),
61
+ "total-price": t(P),
62
+ "show-gift-card": ee.showGiftCard,
63
+ "show-terms-notice": ee.showTermsNotice,
64
+ "is-sidebar-loading": t(C),
65
+ notice: t(n)("hotel.reservationNotice")
66
+ }, {
67
+ form: $(() => [
68
+ qe(ee.$slots, "form", {}, void 0, !0)
69
+ ]),
70
+ "reservation-summary": $(() => [
71
+ t(he) ? (u(), f("li", So, [
72
+ a("span", null, v(t(n)("general.location")), 1),
73
+ a("b", null, [
74
+ a("span", null, v(t(Ue)(t(j))), 1),
75
+ We(a("span", Io, [
76
+ g(K, {
77
+ icon: "exclamation-triangle",
78
+ type: "fas"
79
+ })
80
+ ], 512), [
81
+ [Ke, t(x)]
82
+ ])
83
+ ])
84
+ ])) : _("", !0),
85
+ a("li", null, [
86
+ a("span", null, v(t(n)("booking.reservation.arrival")), 1),
87
+ a("b", null, [
88
+ a("span", null, v(t(o) ? t(ce)(t(w)) : `${t(ce)(t(w))}, ${t(e) ? t(s) : t(r)}`), 1),
89
+ We(a("span", Bo, [
90
+ g(K, {
91
+ icon: "exclamation-triangle",
92
+ type: "fas"
93
+ })
94
+ ], 512), [
95
+ [Ke, t(O)]
96
+ ])
97
+ ])
98
+ ]),
99
+ a("li", null, [
100
+ a("span", null, v(t(n)("booking.reservation.departure")), 1),
101
+ a("b", null, [
102
+ a("span", null, v(t(o) ? t(ce)(t(H)) : `${t(ce)(t(H))}, ${t(i) ? t(m) : t(d)}`), 1),
103
+ We(a("span", Eo, [
104
+ g(K, {
105
+ icon: "exclamation-triangle",
106
+ type: "fas"
107
+ })
108
+ ], 512), [
109
+ [Ke, t(O)]
110
+ ])
111
+ ])
112
+ ]),
113
+ a("li", null, [
114
+ a("span", null, v(t(n)("booking.reservation.nights")), 1),
115
+ a("b", null, v(t(Ze)(t(w), t(H))) + " " + v(t(dt)(t(Ze)(t(w), t(H)) === 1 ? t(n)("booking.reservation.night") : t(n)("booking.reservation.nights"))), 1)
116
+ ]),
117
+ t(b) ? (u(!0), f(M, { key: 1 }, F(t(b), (U) => (u(), f("li", {
118
+ key: U.id
119
+ }, [
120
+ a("span", null, v(`${t(n)("general.discountCode")} (${U.value})`), 1),
121
+ a("b", null, v(U.key), 1)
122
+ ]))), 128)) : _("", !0)
123
+ ]),
124
+ "price-summary": $(() => [
125
+ isNaN(t(V)) && t(h).length > 0 ? (u(!0), f(M, { key: 0 }, F(t(h), ({
126
+ roomGroupID: U,
127
+ title: ge,
128
+ variants: Re
129
+ }) => (u(), f("div", { key: U }, [
130
+ a("h6", null, [
131
+ a("span", null, v(ge), 1)
132
+ ]),
133
+ (u(!0), f(M, null, F(Re, ($e, be) => (u(), f("div", { key: be }, [
134
+ (u(!0), f(M, null, F($e.rooms, (ae, Ne) => (u(), f("ul", { key: Ne }, [
135
+ a("li", null, [
136
+ a("span", null, [
137
+ a("span", null, [
138
+ Ye(v(t(re)($e.name)) + " ( ", 1),
139
+ g(K, {
140
+ icon: "male",
141
+ type: "fas",
142
+ color: "font"
143
+ }),
144
+ a("span", null, v(ae.adultsCount), 1),
145
+ ae.childrenCount > 0 ? (u(), f(M, { key: 0 }, [
146
+ g(K, {
147
+ icon: "child",
148
+ type: "fas",
149
+ color: "font"
150
+ }),
151
+ a("span", null, v(ae.childrenCount), 1)
152
+ ], 64)) : _("", !0),
153
+ Ye(") ")
154
+ ])
155
+ ]),
156
+ a("b", null, [
157
+ a("span", null, v(t(oe)(ae.totalPrice, t(c))), 1),
158
+ _("", !0)
159
+ ])
160
+ ]),
161
+ ye(ae.roomAddons) > 0 ? (u(), f("li", Mo, [
162
+ a("span", null, v(t(n)("general.addons")), 1),
163
+ a("b", null, v(t(oe)(ye(ae.roomAddons), t(c))), 1)
164
+ ])) : _("", !0)
165
+ ]))), 128))
166
+ ]))), 128))
167
+ ]))), 128)) : _("", !0),
168
+ t(I) && t(B) ? (u(), f("div", Lo, [
169
+ a("h6", null, [
170
+ a("span", null, v(t(re)(t(B).name)), 1)
171
+ ]),
172
+ a("div", null, [
173
+ a("ul", null, [
174
+ a("li", null, [
175
+ a("span", null, [
176
+ a("span", null, v(t(re)(t(I).title)), 1)
177
+ ]),
178
+ a("b", null, [
179
+ a("span", null, v(t(oe)(t(I).extraPrice, t(c))), 1)
180
+ ])
181
+ ]),
182
+ t(pe) ? (u(), f("li", Uo, [
183
+ a("span", null, v(t(n)("general.addons")), 1),
184
+ a("b", null, v(t(oe)(t(pe), t(c))), 1)
185
+ ])) : _("", !0)
186
+ ])
187
+ ])
188
+ ])) : _("", !0)
189
+ ]),
190
+ actions: $(() => [
191
+ a("ul", Ro, [
192
+ t(p) ? _("", !0) : (u(), A(Se, {
193
+ key: 0,
194
+ modelValue: t(R),
195
+ "onUpdate:modelValue": z[0] || (z[0] = (U) => N(R) ? R.value = U : null),
196
+ type: "checkbox",
197
+ name: "newsletter",
198
+ label: t(n)("booking.reservation.newsletterSignUp")
199
+ }, null, 8, ["modelValue", "label"])),
200
+ t(Me) ? (u(), A(Se, {
201
+ key: 1,
202
+ modelValue: t(L),
203
+ "onUpdate:modelValue": z[2] || (z[2] = (U) => N(L) ? L.value = U : null),
204
+ type: "checkbox",
205
+ name: "terms"
206
+ }, {
207
+ default: $(() => [
208
+ g(t(io), {
209
+ keypath: "general.termsAndConditionsCheckbox",
210
+ tag: "span",
211
+ scope: "global"
212
+ }, {
213
+ terms: $(() => [
214
+ a("a", {
215
+ class: "konnectio-accept-terms-link",
216
+ onClick: z[1] || (z[1] = Ae((U) => ve.value = !0, ["prevent"]))
217
+ }, [
218
+ a("span", null, v(t(dt)(t(n)("general.termsAndConditions"))), 1)
219
+ ])
220
+ ]),
221
+ _: 1
222
+ })
223
+ ]),
224
+ _: 1
225
+ }, 8, ["modelValue"])) : _("", !0),
226
+ qe(ee.$slots, "actions", {}, void 0, !0),
227
+ g(Po, {
228
+ modelValue: ve.value,
229
+ "onUpdate:modelValue": z[3] || (z[3] = (U) => ve.value = U),
230
+ description: t(J)
231
+ }, null, 8, ["modelValue", "description"])
232
+ ])
233
+ ]),
234
+ navigation: $(() => [
235
+ qe(ee.$slots, "navigation", {}, void 0, !0)
236
+ ]),
237
+ _: 3
238
+ }, 8, ["discount-code", "validate-discount-code", "total-price", "show-gift-card", "show-terms-notice", "is-sidebar-loading", "notice"]));
239
+ }
240
+ }), xe = /* @__PURE__ */ ue(No, [["__scopeId", "data-v-61664f48"]]), Fo = (l) => (kt("data-v-69fe83d8"), l = l(), _t(), l), Oo = { class: "konnectio-room-config-option" }, jo = { key: 0 }, Go = { class: "konnectio-selected-room-config" }, qo = { class: "konnectio-selected-room-config-people" }, Wo = { key: 0 }, Ko = { class: "konnectio-selected-room-config-price" }, zo = /* @__PURE__ */ Fo(() => /* @__PURE__ */ a("span", null, null, -1)), xo = /* @__PURE__ */ Q({
241
+ __name: "RoomConfigField",
242
+ props: {
243
+ modelValue: {},
244
+ options: {},
245
+ required: { type: Boolean, default: !1 },
246
+ readonly: { type: Boolean, default: !1 },
247
+ label: {}
248
+ },
249
+ emits: ["update:modelValue"],
250
+ setup(l, { emit: n }) {
251
+ const { t: o } = le(), { currency: e } = Z(Ve()), i = n, s = l;
252
+ function m(c) {
253
+ i("update:modelValue", c);
254
+ }
255
+ const p = G({
256
+ get: () => s.modelValue,
257
+ set: (c) => m(c)
258
+ });
259
+ return (c, r) => (u(), A(Be, {
260
+ modelValue: p.value,
261
+ "onUpdate:modelValue": r[0] || (r[0] = (d) => p.value = d),
262
+ label: c.label,
263
+ placeholder: "Select guest configuration",
264
+ labelKey: "label",
265
+ valueKey: "value",
266
+ "icon-placement": "label",
267
+ options: c.options,
268
+ readonly: c.readonly,
269
+ required: c.required,
270
+ searchable: !1
271
+ }, {
272
+ option: $(({ data: d }) => [
273
+ a("span", Oo, [
274
+ a("div", null, [
275
+ g(K, {
276
+ icon: "male",
277
+ type: "fas",
278
+ color: "font"
279
+ }),
280
+ a("span", null, v(`${d.adults}`), 1),
281
+ d.children > 0 ? (u(), f("span", jo, [
282
+ g(K, {
283
+ icon: "child",
284
+ type: "fas",
285
+ color: "font"
286
+ }),
287
+ a("span", null, v(`${d.children}`), 1)
288
+ ])) : _("", !0)
289
+ ]),
290
+ a("span", null, v(`(${t(oe)(d.price, t(e))})`), 1)
291
+ ])
292
+ ]),
293
+ "selected-option": $(({ data: d }) => [
294
+ a("div", Go, [
295
+ a("div", qo, [
296
+ a("div", null, [
297
+ _("", !0),
298
+ a("span", null, v(`${d.adults} ${d.adults === 1 ? t(o)("general.adult") : t(o)("general.adults")}`), 1)
299
+ ]),
300
+ d.children > 0 ? (u(), f("div", Wo, [
301
+ _("", !0),
302
+ a("span", null, v(`& ${d.children} ${d.children === 1 ? t(o)("general.child") : t(o)("general.children")}`), 1)
303
+ ])) : _("", !0)
304
+ ]),
305
+ a("div", Ko, [
306
+ zo,
307
+ Ye(" " + v(`(${t(oe)(d.price, t(e))})`), 1)
308
+ ])
309
+ ])
310
+ ]),
311
+ _: 1
312
+ }, 8, ["modelValue", "label", "options", "readonly", "required"]));
313
+ }
314
+ }), Jo = /* @__PURE__ */ ue(xo, [["__scopeId", "data-v-69fe83d8"]]), Yo = { class: "konnectio-availability-listing-selection" }, Zo = { key: 1 }, Qo = { class: "konnectio-listing-config-body" }, Xo = { class: "konnectio-listing-units-body" };
315
+ const en = /* @__PURE__ */ Q({
316
+ __name: "Hotel",
317
+ props: {
318
+ room: {},
319
+ layout: {}
320
+ },
321
+ setup(l) {
322
+ const { t: n } = le(), o = l, e = ne([]);
323
+ function i(b) {
324
+ e.value[b].config.push({
325
+ id: NaN,
326
+ units: 0,
327
+ addons: []
328
+ });
329
+ }
330
+ const s = G(() => o.room.rates.map((b) => ({
331
+ label: b.name,
332
+ value: b.id
333
+ }))), { hideAvailableRoomAmount: m } = Z(Ve()), { roomSelect: p } = Z(me()), { addToCart: c, removeFromCart: r } = Vt(), d = (b, w) => o.room.rates.find((H) => H.id === b)?.occupantRates.find((H) => H.index === w), h = G(() => o.room.rates.every((b) => b.isBreakfastIncluded === !0)), V = (b, w) => d(b, w) ? d(b, w)?.rooms : null, P = (b) => o.room.rates.length > 0 ? o.room.rates.find((w) => w.id === b)?.occupantRates.map((w) => ({
334
+ value: w.index,
335
+ price: w.totalPrice,
336
+ adults: w.adultsCount,
337
+ children: w.childrenCount,
338
+ hasBreakfast: w.hasBreakfast
339
+ })) || [] : [], C = G(() => o.room.rates.length > 1);
340
+ function I() {
341
+ C.value ? e.value.push({
342
+ id: void 0,
343
+ config: [{
344
+ id: o.room.rates[0].occupantRateIndex || NaN,
345
+ units: 0,
346
+ addons: []
347
+ }]
348
+ }) : e.value.push({
349
+ id: o.room.rates[0].id,
350
+ config: [{
351
+ id: o.room.rates[0].occupantRateIndex || NaN,
352
+ units: 0,
353
+ addons: []
354
+ }]
355
+ });
356
+ }
357
+ tt(() => {
358
+ I();
359
+ });
360
+ const B = G(() => JSON.parse(JSON.stringify(e.value)));
361
+ return De(B, (b, w) => {
362
+ w.length > 0 && b.forEach((H, O) => {
363
+ H.config.forEach((j, x) => {
364
+ const R = j.units, J = w[O].config[x].units;
365
+ R !== J && (R > J ? (e.value[O].config[x].addons.push({}), c({
366
+ id: o.room.id,
367
+ name: o.room.title,
368
+ value: o.room.rates[O].rackRate
369
+ })) : (e.value[O].config[x].addons.pop(), r({
370
+ id: o.room.id,
371
+ name: o.room.title,
372
+ value: o.room.rates[O].rackRate
373
+ })));
374
+ });
375
+ });
376
+ }, { deep: !0 }), De(e, () => {
377
+ p.value[o.room.id] = e.value;
378
+ }, { deep: !0 }), (b, w) => (u(), A(Ee, {
379
+ type: "hotel",
380
+ "listing-id": b.room.id,
381
+ gallery: b.room.images,
382
+ name: b.room.title,
383
+ description: b.room.description,
384
+ layout: b.layout,
385
+ facilities: b.room.facilities,
386
+ "prices-from": b.room.pricesFrom,
387
+ "includes-breakfast": h.value
388
+ }, {
389
+ action: $(() => [
390
+ a("div", Yo, [
391
+ (u(!0), f(M, null, F(e.value, (H, O) => (u(), f("div", {
392
+ key: H.id,
393
+ class: "konnectio-hotel-room"
394
+ }, [
395
+ C.value ? (u(), A(Be, {
396
+ key: 0,
397
+ modelValue: H.id,
398
+ "onUpdate:modelValue": (j) => H.id = j,
399
+ label: t(n)("hotel.roomVariant"),
400
+ placeholder: t(n)("hotel.chooseARoomVariant"),
401
+ options: s.value,
402
+ searchable: !1
403
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "label", "placeholder", "options"])) : _("", !0),
404
+ H.id ? (u(), f("div", Zo, [
405
+ (u(!0), f(M, null, F(b.room.rates, ({
406
+ id: j,
407
+ maximumOccupants: x
408
+ }) => (u(), f("div", {
409
+ key: j,
410
+ class: "konnectio-listing-action-selective-i"
411
+ }, [
412
+ H.id === j ? (u(!0), f(M, { key: 0 }, F(H.config, (R, J) => (u(), f("div", {
413
+ key: J,
414
+ class: "konnectio-listing-action-selective"
415
+ }, [
416
+ a("ul", Qo, [
417
+ g(Jo, {
418
+ modelValue: R.id,
419
+ "onUpdate:modelValue": (X) => R.id = X,
420
+ icon: "male",
421
+ "icon-type": "fas",
422
+ label: t(n)("general.guests"),
423
+ description: x === 0 ? void 0 : `${t(n)("general.maximumGuests")}: ${x}`,
424
+ options: P(j),
425
+ readonly: !(P(j).length > 1)
426
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "label", "description", "options", "readonly"])
427
+ ]),
428
+ a("ul", Xo, [
429
+ g(Qe, {
430
+ modelValue: R.units,
431
+ "onUpdate:modelValue": (X) => R.units = X,
432
+ description: t(m) ? void 0 : `${t(n)("booking.availability.availableUnits")}: ${V(H.id, R.id)}`,
433
+ icon: "house",
434
+ "icon-type": "fas",
435
+ "icon-placement": "label",
436
+ label: t(n)("booking.availability.units"),
437
+ minValue: 0,
438
+ "max-value": V(j, R.id) || 1 / 0
439
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "description", "label", "max-value"])
440
+ ]),
441
+ _("", !0)
442
+ ]))), 128)) : _("", !0)
443
+ ]))), 128))
444
+ ])) : _("", !0)
445
+ ]))), 128))
446
+ ])
447
+ ]),
448
+ _: 1
449
+ }, 8, ["listing-id", "gallery", "name", "description", "layout", "facilities", "prices-from", "includes-breakfast"]));
450
+ }
451
+ }), tn = /* @__PURE__ */ ue(en, [["__scopeId", "data-v-ab554528"]]), on = { class: "konnectio-template-side-panel" }, nn = { class: "konnectio-template-side-panel-listings" }, ln = /* @__PURE__ */ Q({
452
+ __name: "Template",
453
+ props: {
454
+ title: {},
455
+ templateId: {},
456
+ roomGroups: {},
457
+ hideAddons: {},
458
+ callback: { type: Function }
459
+ },
460
+ setup(l) {
461
+ const { t: n } = le(), { templateID: o, roomGroupID: e, selectionHasNoAddons: i } = Z(me()), { currency: s } = Z(Ve()), { clearRoomSelection: m } = me(), p = l, c = ne(!0), r = G(() => {
462
+ function h(V, P) {
463
+ return c.value === !0 ? V.extraPrice > P.extraPrice ? -1 : 1 : V.extraPrice > P.extraPrice ? 1 : -1;
464
+ }
465
+ return p.roomGroups?.slice().sort(h);
466
+ });
467
+ function d(h) {
468
+ o.value = p.templateId, e.value = h, m(), p.hideAddons === "yes" || i.value ? p.callback(2) : p.callback(1);
469
+ }
470
+ return (h, V) => (u(), A(Ao, {
471
+ title: h.title,
472
+ subtitle: t(n)("booking.availability.selectATemplateRoom")
473
+ }, {
474
+ default: $(() => [
475
+ a("div", on, [
476
+ a("div", nn, [
477
+ (u(!0), f(M, null, F(r.value, ({
478
+ id: P,
479
+ title: C,
480
+ description: I,
481
+ images: B,
482
+ facilities: b,
483
+ extraPrice: w
484
+ }) => (u(), A(Ee, {
485
+ key: P,
486
+ "listing-id": P,
487
+ name: C,
488
+ description: I,
489
+ facilities: b,
490
+ gallery: B,
491
+ "includes-breakfast": !1,
492
+ "hide-info-button": !0
493
+ }, {
494
+ action: $(() => [
495
+ a("div", null, [
496
+ g(de, {
497
+ onClickEvent: (H) => d(P),
498
+ label: `${t(n)("booking.availability.selectThisRoom")} (${t(oe)(w, t(s))})`,
499
+ "full-width": ""
500
+ }, null, 8, ["onClickEvent", "label"])
501
+ ])
502
+ ]),
503
+ _: 2
504
+ }, 1032, ["listing-id", "name", "description", "facilities", "gallery"]))), 128))
505
+ ])
506
+ ])
507
+ ]),
508
+ _: 1
509
+ }, 8, ["title", "subtitle"]));
510
+ }
511
+ }), wt = /* @__PURE__ */ ue(ln, [["__scopeId", "data-v-35a96ba4"]]), an = ["innerHTML"], sn = { class: "konnectio-template-select-package" }, rn = /* @__PURE__ */ Q({
512
+ __name: "Template",
513
+ props: {
514
+ id: {},
515
+ weekendFee: {},
516
+ description: {},
517
+ name: {},
518
+ image: {},
519
+ roomGroups: {},
520
+ hideAddons: {},
521
+ callback: { type: Function }
522
+ },
523
+ setup(l) {
524
+ const { t: n } = le(), o = l, e = G(() => o.roomGroups.reduce(
525
+ (c, r) => c < r.extraPrice ? c : r.extraPrice,
526
+ 1 / 0
527
+ )), i = G(() => {
528
+ if (o.image)
529
+ return [{
530
+ large: o.image.url,
531
+ medium: o.image.url,
532
+ thumb: o.image.url,
533
+ url: o.image.url
534
+ }];
535
+ }), s = ne(!1);
536
+ function m() {
537
+ s.value = !0;
538
+ }
539
+ function p(c) {
540
+ o.callback(c), s.value = !1;
541
+ }
542
+ return (c, r) => (u(), A(Ee, {
543
+ type: "template",
544
+ "listing-id": c.id,
545
+ name: c.name,
546
+ description: c.description,
547
+ gallery: i.value,
548
+ layout: t($t).Template,
549
+ "includes-breakfast": !1,
550
+ "hide-info-button": !1,
551
+ "prices-from": e.value
552
+ }, {
553
+ description: $(() => [
554
+ c.description ? (u(), f("p", {
555
+ key: 0,
556
+ innerHTML: t(Tt)(c.description)
557
+ }, null, 8, an)) : _("", !0)
558
+ ]),
559
+ action: $(() => [
560
+ a("div", sn, [
561
+ g(de, {
562
+ onClickEvent: m,
563
+ label: t(n)("booking.availability.selectPackage"),
564
+ "full-width": ""
565
+ }, null, 8, ["label"])
566
+ ])
567
+ ]),
568
+ default: $(() => [
569
+ g(wt, {
570
+ modelValue: s.value,
571
+ "onUpdate:modelValue": r[0] || (r[0] = (d) => s.value = d),
572
+ title: c.name,
573
+ "template-id": c.id,
574
+ "room-groups": c.roomGroups,
575
+ "hide-addons": c.hideAddons,
576
+ callback: p
577
+ }, null, 8, ["modelValue", "title", "template-id", "room-groups", "hide-addons"])
578
+ ]),
579
+ _: 1
580
+ }, 8, ["listing-id", "name", "description", "gallery", "layout", "prices-from"]));
581
+ }
582
+ }), dn = ["innerHTML"], cn = { class: "konnectio-special-offer-availability" }, un = { class: "konnectio-special-offer-availability-button" }, pn = /* @__PURE__ */ Q({
583
+ __name: "SpecialOffer",
584
+ props: {
585
+ id: {},
586
+ weekendFee: {},
587
+ description: {},
588
+ name: {},
589
+ toDate: {},
590
+ fromDate: {},
591
+ image: {},
592
+ roomGroups: {},
593
+ callback: { type: Function }
594
+ },
595
+ setup(l) {
596
+ const { t: n } = le(), { updateDates: o } = _e(), e = l, i = ne([]), s = G(() => Ze(e.fromDate, e.toDate) === 1), m = G(() => [{
597
+ large: e.image.url,
598
+ medium: e.image.url,
599
+ thumb: e.image.url,
600
+ url: e.image.url
601
+ }]), p = ne(!1);
602
+ function c(d) {
603
+ e.callback(d), p.value = !1;
604
+ }
605
+ function r() {
606
+ o(i.value[0], i.value[1]);
607
+ }
608
+ return tt(() => {
609
+ s.value && (i.value = [new Date(e.fromDate), new Date(e.toDate)]);
610
+ }), (d, h) => (u(), A(Ee, {
611
+ type: "template",
612
+ "listing-id": d.id,
613
+ name: d.name,
614
+ description: d.description,
615
+ gallery: m.value,
616
+ layout: t($t).Template,
617
+ "includes-breakfast": !1,
618
+ "hide-info-button": !1,
619
+ "to-date": d.toDate,
620
+ "from-date": d.fromDate
621
+ }, {
622
+ description: $(() => [
623
+ d.description ? (u(), f("p", {
624
+ key: 0,
625
+ innerHTML: t(Tt)(d.description)
626
+ }, null, 8, dn)) : _("", !0)
627
+ ]),
628
+ action: $(() => [
629
+ a("div", cn, [
630
+ g(Ct, {
631
+ modelValue: i.value,
632
+ "onUpdate:modelValue": h[0] || (h[0] = (V) => i.value = V),
633
+ label: t(n)("availability.checkInOut"),
634
+ placeholder: t(n)("booking.availability.selectDates"),
635
+ "icon-type": "fas",
636
+ "icon-placement": "label",
637
+ "min-range": 1,
638
+ "start-date": new Date(d.fromDate),
639
+ "min-date": new Date(d.fromDate),
640
+ "max-date": new Date(d.toDate),
641
+ readonly: s.value,
642
+ range: ""
643
+ }, null, 8, ["modelValue", "label", "placeholder", "start-date", "min-date", "max-date", "readonly"]),
644
+ a("div", un, [
645
+ g(de, {
646
+ label: t(n)("availability.buttonLabel"),
647
+ onClick: Ae(r, ["prevent"])
648
+ }, null, 8, ["label"])
649
+ ])
650
+ ])
651
+ ]),
652
+ default: $(() => [
653
+ g(wt, {
654
+ modelValue: p.value,
655
+ "onUpdate:modelValue": h[1] || (h[1] = (V) => p.value = V),
656
+ title: d.name,
657
+ "template-id": d.id,
658
+ roomGroups: d.roomGroups,
659
+ callback: c
660
+ }, null, 8, ["modelValue", "title", "template-id", "roomGroups"])
661
+ ]),
662
+ _: 1
663
+ }, 8, ["listing-id", "name", "description", "gallery", "layout", "to-date", "from-date"]));
664
+ }
665
+ }), mt = /* @__PURE__ */ Q({
666
+ __name: "TimeField",
667
+ props: {
668
+ modelValue: {},
669
+ label: {},
670
+ id: {},
671
+ name: {},
672
+ placeholder: {},
673
+ icon: {},
674
+ iconColor: {},
675
+ iconType: {},
676
+ primaryColor: {},
677
+ secondaryColor: {},
678
+ weekendColor: {},
679
+ highlightedColor: {},
680
+ required: { type: Boolean },
681
+ readonly: { type: Boolean },
682
+ disabled: { type: Boolean },
683
+ inline: { type: Boolean },
684
+ range: { type: Boolean },
685
+ enableTimePicker: { type: Boolean },
686
+ inputStyle: {}
687
+ },
688
+ emits: ["update:modelValue"],
689
+ setup(l, { emit: n }) {
690
+ const o = n, e = l;
691
+ function i(m) {
692
+ o("update:modelValue", m);
693
+ }
694
+ const s = ne(e.modelValue);
695
+ return De(s, (m) => {
696
+ i(m);
697
+ }), (m, p) => (u(), A(Ct, {
698
+ modelValue: s.value,
699
+ "onUpdate:modelValue": p[0] || (p[0] = (c) => s.value = c),
700
+ type: "time",
701
+ label: m.label,
702
+ id: m.id,
703
+ name: m.name,
704
+ icon: m.icon,
705
+ "icon-type": m.iconType,
706
+ "icon-color": m.iconColor,
707
+ "auto-apply": !0,
708
+ required: m.required,
709
+ readonly: m.readonly
710
+ }, null, 8, ["modelValue", "label", "id", "name", "icon", "icon-type", "icon-color", "required", "readonly"]));
711
+ }
712
+ }), mn = { style: { display: "flex", "align-items": "baseline" } }, fn = /* @__PURE__ */ Q({
713
+ __name: "CountryField",
714
+ props: {
715
+ modelValue: {},
716
+ options: {},
717
+ required: { type: Boolean, default: !1 },
718
+ readonly: { type: Boolean, default: !1 },
719
+ label: {},
720
+ placeholder: {}
721
+ },
722
+ emits: ["update:modelValue"],
723
+ setup(l, { emit: n }) {
724
+ const { t: o } = le(), e = n, i = l;
725
+ function s(p) {
726
+ e("update:modelValue", p);
727
+ }
728
+ const m = G({
729
+ get: () => i.modelValue,
730
+ set: (p) => s(p)
731
+ });
732
+ return (p, c) => (u(), A(Be, {
733
+ modelValue: m.value,
734
+ "onUpdate:modelValue": c[0] || (c[0] = (r) => m.value = r),
735
+ label: p.label,
736
+ placeholder: t(o)("booking.reservation.countryPlaceholder"),
737
+ labelKey: "name",
738
+ valueKey: "id",
739
+ options: p.options,
740
+ required: p.required
741
+ }, {
742
+ option: $(({ data: r }) => [
743
+ a("i", {
744
+ class: He(["konnectio-flag-icon", r.iso])
745
+ }, null, 2),
746
+ a("span", null, v(r.name), 1)
747
+ ]),
748
+ "selected-option": $(({ data: r }) => [
749
+ a("div", mn, [
750
+ a("i", {
751
+ class: He(["konnectio-flag-icon", r.iso])
752
+ }, null, 2),
753
+ a("span", null, v(r.name), 1)
754
+ ])
755
+ ]),
756
+ _: 1
757
+ }, 8, ["modelValue", "label", "placeholder", "options", "required"]));
758
+ }
759
+ }), hn = /* @__PURE__ */ ue(fn, [["__scopeId", "data-v-1462612d"]]), vn = /* @__PURE__ */ Q({
760
+ __name: "NameField",
761
+ props: {
762
+ modelValue: {},
763
+ title: {},
764
+ label: {},
765
+ id: {},
766
+ placeholder: {},
767
+ icon: {},
768
+ iconColor: {},
769
+ iconType: { default: "fal" },
770
+ required: { type: Boolean, default: !1 },
771
+ readonly: { type: Boolean, default: !1 },
772
+ type: { default: "text" },
773
+ autocomplete: { type: Boolean, default: !1 },
774
+ disabled: { type: Boolean, default: !1 },
775
+ limit: { default: 1 / 0 },
776
+ inputStyle: {},
777
+ excludeTitle: { type: Boolean, default: !1 }
778
+ },
779
+ emits: ["update:modelValue", "update:title"],
780
+ setup(l, { emit: n }) {
781
+ const o = l, e = n, i = o.id || ct(), s = ne(""), m = ne(2);
782
+ function p() {
783
+ e("update:modelValue", s.value);
784
+ }
785
+ De(m, (r) => {
786
+ e("update:title", r);
787
+ });
788
+ const { t: c } = le();
789
+ return tt(() => {
790
+ o.modelValue && (s.value = o.modelValue), o.title && (m.value = o.title);
791
+ }), (r, d) => (u(), A(uo, {
792
+ label: r.label,
793
+ id: t(i),
794
+ required: r.required,
795
+ type: "fresh-booking-name-field",
796
+ readonly: r.readonly,
797
+ limit: r.limit
798
+ }, {
799
+ default: $(() => [
800
+ a("div", {
801
+ class: He([
802
+ "fresh-booking-name-input",
803
+ { "no-title": r.excludeTitle }
804
+ ])
805
+ }, [
806
+ r.excludeTitle ? _("", !0) : (u(), A(Be, {
807
+ key: 0,
808
+ modelValue: m.value,
809
+ "onUpdate:modelValue": d[0] || (d[0] = (h) => m.value = h),
810
+ id: t(ct)(),
811
+ icon: r.icon,
812
+ "icon-color": r.iconColor,
813
+ "icon-type": r.iconType,
814
+ options: [
815
+ {
816
+ label: t(c)("booking.reservation.noNameTitle"),
817
+ value: 1
818
+ },
819
+ {
820
+ label: t(c)("booking.reservation.nameTitleMr"),
821
+ value: 2
822
+ },
823
+ {
824
+ label: t(c)("booking.reservation.nameTitleMs"),
825
+ value: 3
826
+ },
827
+ {
828
+ label: t(c)("booking.reservation.nameTitleMrs"),
829
+ value: 4
830
+ },
831
+ {
832
+ label: t(c)("booking.reservation.nameTitleDr"),
833
+ value: 5
834
+ }
835
+ ],
836
+ readonly: r.readonly,
837
+ "hide-button": "",
838
+ "input-style": r.inputStyle,
839
+ searchable: !1
840
+ }, null, 8, ["modelValue", "id", "icon", "icon-color", "icon-type", "options", "readonly", "input-style"])),
841
+ g(se, {
842
+ modelValue: s.value,
843
+ "onUpdate:modelValue": d[1] || (d[1] = (h) => s.value = h),
844
+ type: "text",
845
+ name: "name",
846
+ autocomplete: "name",
847
+ id: t(i),
848
+ icon: r.excludeTitle ? r.icon : void 0,
849
+ "icon-color": r.iconColor,
850
+ "icon-type": r.iconType,
851
+ placeholder: r.placeholder,
852
+ required: r.required,
853
+ readonly: r.readonly,
854
+ limit: r.limit,
855
+ onInput: d[2] || (d[2] = (h) => p()),
856
+ "input-style": r.inputStyle
857
+ }, null, 8, ["modelValue", "id", "icon", "icon-color", "icon-type", "placeholder", "required", "readonly", "limit", "input-style"])
858
+ ], 2)
859
+ ]),
860
+ _: 1
861
+ }, 8, ["label", "id", "required", "readonly", "limit"]));
862
+ }
863
+ }), yn = /* @__PURE__ */ ue(vn, [["__scopeId", "data-v-78b0b319"]]), gn = { class: "hotel-skeleton" }, bn = { class: "hotel-skeleton-content" }, kn = { class: "hotel-skeleton-sidebar" }, _n = /* @__PURE__ */ Q({
864
+ __name: "HotelSkeleton",
865
+ setup(l) {
866
+ return (n, o) => (u(), f("div", gn, [
867
+ a("div", bn, [
868
+ g(Co, { hotel: "" }),
869
+ g(go)
870
+ ]),
871
+ a("div", kn, [
872
+ g(bo)
873
+ ])
874
+ ]));
875
+ }
876
+ }), Vn = /* @__PURE__ */ ue(_n, [["__scopeId", "data-v-1bb21da4"]]), Tn = (l) => (kt("data-v-2713d0ba"), l = l(), _t(), l), $n = { id: "booking-availability-container" }, Cn = { id: "booking-availability-controls" };
877
+ const wn = { key: 1 }, Pn = { key: 0 }, An = {
878
+ key: 0,
879
+ id: "booking-availability-packages"
880
+ }, Dn = {
881
+ key: 0,
882
+ class: "konnectio-hotel-availability-title"
883
+ }, Hn = { id: "booking-availability-packages-wrapper" }, Sn = { key: 1 }, In = {
884
+ key: 0,
885
+ class: "konnectio-hotel-availability-title"
886
+ }, Bn = { id: "konnectio-listings" }, En = {
887
+ key: 2,
888
+ id: "booking-availability-packages"
889
+ }, Mn = { class: "konnectio-hotel-availability-title" }, Ln = { id: "booking-availability-packages-wrapper" }, Un = {
890
+ key: 3,
891
+ id: "booking-availability-no-listings",
892
+ class: "konnectio-panel"
893
+ }, Rn = {
894
+ key: 1,
895
+ id: "booking-availability-no-listings"
896
+ }, Nn = {
897
+ key: 2,
898
+ id: "reservation-availability-next-dates"
899
+ }, Fn = { class: "konnectio-hotel-availability-title" }, On = { class: "reservation-special-offers-grid" }, jn = ["title"];
900
+ const Gn = {
901
+ key: 2,
902
+ class: "konnectio-listing-loading"
903
+ }, qn = { class: "konnectio-panel" }, Wn = {
904
+ key: 0,
905
+ id: "konnectio-hotel-addons"
906
+ };
907
+ const Kn = { class: "konnectio-event-addons-price" }, zn = { key: 1 }, xn = { class: "konnectio-hotel-addons-information" }, Jn = { class: "konnectio-hotel-addons-option" }, Yn = {
908
+ key: 1,
909
+ id: "konnectio-hotel-addons"
910
+ }, Zn = { class: "konnectio-table with-lines" };
911
+ const Qn = /* @__PURE__ */ Tn(() => /* @__PURE__ */ a("th", { class: "konnectio-event-addons-price" }, null, -1)), Xn = { class: "konnectio-hotel-addons-information" }, el = { class: "konnectio-hotel-addons-option" }, tl = ["onClick"], ol = { class: "konnectio-panel" }, nl = { key: 0 }, ll = { key: 1 }, al = { class: "konnectio-split-inputs" }, il = ["onClick"], sl = /* @__PURE__ */ Q({
912
+ name: "HotelLayout",
913
+ __name: "Hotel",
914
+ props: {
915
+ accessToken: {},
916
+ headerLayout: { default: po.Minimal },
917
+ onlyShow: { default: "everything" },
918
+ hideAddons: { default: "no" },
919
+ selectedLocation: {},
920
+ styling: {}
921
+ },
922
+ setup(l) {
923
+ const n = oo(() => import("./_-Bv_QUFw4.js")), o = l, { t: e } = le(), {
924
+ templateID: i,
925
+ templateAddons: s,
926
+ countries: m,
927
+ areListingsLoading: p,
928
+ isPaymentLoading: c,
929
+ isReservationFormFilled: r,
930
+ travelingFor: d,
931
+ arrivalTime: h,
932
+ departureTime: V,
933
+ name: P,
934
+ nameTitle: C,
935
+ email: I,
936
+ phone: B,
937
+ firmName: b,
938
+ postal: w,
939
+ city: H,
940
+ address: O,
941
+ country: j,
942
+ remark: x,
943
+ allergies: R,
944
+ roomSelect: J,
945
+ roomDisplay: X,
946
+ hasValidRoomSelection: Me,
947
+ availabilityData: L,
948
+ selectionHasNoAddons: pe,
949
+ isAvailabilityDataAvailable: he,
950
+ getSelectedPackageRoom: Te,
951
+ selectedPackage: Le,
952
+ isSearchOutdated: Ue,
953
+ currentChildren: ve
954
+ } = Z(me()), {
955
+ adults: ye,
956
+ children: ee,
957
+ location: z,
958
+ arrivalDate: U,
959
+ departureDate: ge
960
+ } = Z(_e()), { isValidHotelId: Re, updateDates: $e } = _e(), {
961
+ currency: be,
962
+ arrivalEarliest: ae,
963
+ arrivalLatest: Ne,
964
+ departureEarliest: nt,
965
+ departureLatest: St,
966
+ enableTracking: It,
967
+ hideArrivalDepartureInputs: Bt,
968
+ disableArrivalUserSelection: Fe,
969
+ disableNamePrefix: Et,
970
+ disableDepartureUserSelection: Oe,
971
+ disableTravelingFor: Mt,
972
+ disableTravelingForBleasure: Lt,
973
+ disableCompanyField: Ut,
974
+ hasPaymentGateway: Rt,
975
+ maxAdultAmount: lt,
976
+ maxChildAmount: at
977
+ } = Z(Ve()), { beginCheckout: Nt } = Vt(), { display: je } = mo(), {
978
+ resetTemplate: Ft,
979
+ resetDiscountVoucher: Ot,
980
+ createReservation: jt,
981
+ fetchMetadata: Gt,
982
+ fetchAvailabilityData: it,
983
+ filterAddons: st
984
+ } = me(), qt = ne(!0), Wt = [
985
+ {
986
+ id: "availability",
987
+ label: e("booking.availability.title"),
988
+ icon: "search"
989
+ },
990
+ {
991
+ id: "addons",
992
+ label: e("booking.reservation.title"),
993
+ icon: "concierge-bell",
994
+ hidden: pe.value
995
+ },
996
+ {
997
+ id: "reservation",
998
+ label: e("booking.reservation.title"),
999
+ icon: "concierge-bell"
1000
+ },
1001
+ {
1002
+ id: "payment",
1003
+ hidden: !0
1004
+ },
1005
+ {
1006
+ id: "confirmation",
1007
+ label: e("booking.confirmation.title"),
1008
+ icon: "calendar-check"
1009
+ }
1010
+ ], Kt = G(() => {
1011
+ const k = [
1012
+ {
1013
+ label: e("booking.reservation.business"),
1014
+ value: "Business"
1015
+ },
1016
+ {
1017
+ label: e("booking.reservation.pleasure"),
1018
+ value: "Pleasure"
1019
+ }
1020
+ ];
1021
+ return Lt.value || k.push({
1022
+ label: e("booking.reservation.bleasure"),
1023
+ value: "Bleasure"
1024
+ }), k;
1025
+ }), zt = G(() => {
1026
+ const k = L.value.roomGroups.slice();
1027
+ function T(q, D) {
1028
+ return qt.value === !0 ? q.pricesFrom > D.pricesFrom ? -1 : 1 : q.pricesFrom > D.pricesFrom ? 1 : -1;
1029
+ }
1030
+ return k.sort(T);
1031
+ }), xt = G(() => [[
1032
+ parseInt(ae.value.split(":")[0]),
1033
+ parseInt(Ne.value.split(":")[0])
1034
+ ]]), Jt = G(() => [[
1035
+ parseInt(nt.value.split(":")[0]),
1036
+ parseInt(St.value.split(":")[0])
1037
+ ]]);
1038
+ function rt(k) {
1039
+ o.hideAddons === "yes" || pe.value ? k(2) : k(), Ot();
1040
+ }
1041
+ async function Yt(k) {
1042
+ await jt(k);
1043
+ }
1044
+ function Zt(k) {
1045
+ It.value && Nt(), o.hideAddons === "yes" || pe.value ? k(2) : k();
1046
+ }
1047
+ function Qt() {
1048
+ const k = ho("hash-params", {
1049
+ removeNullishValues: !0
1050
+ }), T = parseInt(k.a), q = parseInt(k.c), D = parseInt(k.hid), y = parseInt(k.n), W = k.ci, E = k.co, S = k.id;
1051
+ if (isNaN(T) || (T > lt.value ? ye.value = lt.value : ye.value = T, k.a = void 0), isNaN(q) || (q > at.value ? ee.value = at.value : ee.value = q, k.c = void 0), isNaN(y) || y > 0 && (k.n = void 0), isNaN(D) || (Re(D) ? (z.value = D, k.hid = void 0) : je({
1052
+ message: e("alert.error.hotelIdNotFound"),
1053
+ type: "error"
1054
+ })), W && E)
1055
+ if (pt(W) && pt(E)) {
1056
+ const Y = new Date(W), fe = new Date(E);
1057
+ Y <= fe ? (U.value = Y, ge.value = fe, k.ci = void 0, k.co = void 0) : je({
1058
+ message: e("alert.error.invalidDateRange"),
1059
+ type: "error"
1060
+ });
1061
+ } else
1062
+ je({
1063
+ message: e("alert.error.wrongDateFormat"),
1064
+ type: "error"
1065
+ });
1066
+ let te = null;
1067
+ S && (te = S), it(te);
1068
+ }
1069
+ return (k, T) => (u(), A(fo, { styling: k.styling }, {
1070
+ default: $(() => [
1071
+ (u(), A(to, { onResolve: Qt }, {
1072
+ default: $(() => [
1073
+ g(t(n), {
1074
+ id: "konnectio-hotel-module",
1075
+ "access-token": k.accessToken,
1076
+ callback: t(Gt)
1077
+ }, {
1078
+ default: $(() => [
1079
+ g(ko, {
1080
+ layout: k.headerLayout,
1081
+ steps: Wt,
1082
+ onReset: t(Ft)
1083
+ }, {
1084
+ availability: $(({ next: q }) => [
1085
+ g(xe, null, {
1086
+ form: $(() => [
1087
+ a("div", $n, [
1088
+ a("div", Cn, [
1089
+ g(wo, {
1090
+ booking: !0,
1091
+ "selected-location": Number(k.selectedLocation)
1092
+ }, null, 8, ["selected-location"])
1093
+ ]),
1094
+ _("", !0),
1095
+ !t(p) && t(he) ? (u(), f("div", wn, [
1096
+ t(L).roomGroups.length > 0 || t(L).templates.length > 0 || t(L).specialTemplates.length > 0 ? (u(), f("div", Pn, [
1097
+ t(L).templates.length > 0 && k.onlyShow !== "rooms" ? (u(), f("div", An, [
1098
+ k.onlyShow !== "packages" ? (u(), f("h2", Dn, [
1099
+ g(K, {
1100
+ icon: "box",
1101
+ type: "fal",
1102
+ color: "header"
1103
+ }),
1104
+ a("span", null, v(t(e)("booking.availability.packagesTitle")), 1)
1105
+ ])) : _("", !0),
1106
+ a("ul", Hn, [
1107
+ (u(!0), f(M, null, F(t(L).templates, ({
1108
+ id: D,
1109
+ name: y,
1110
+ templateRoomGroups: W,
1111
+ image: E,
1112
+ description: S,
1113
+ weekendFee: te
1114
+ }) => (u(), A(rn, {
1115
+ key: D,
1116
+ id: D,
1117
+ description: S,
1118
+ name: y,
1119
+ image: E,
1120
+ weekendFee: te,
1121
+ "room-groups": W,
1122
+ callback: q,
1123
+ "hide-addons": k.hideAddons
1124
+ }, null, 8, ["id", "description", "name", "image", "weekendFee", "room-groups", "callback", "hide-addons"]))), 128))
1125
+ ])
1126
+ ])) : _("", !0),
1127
+ t(L).roomGroups.length > 0 && k.onlyShow !== "packages" ? (u(), f("div", Sn, [
1128
+ t(L).templates.length > 0 && k.onlyShow !== "rooms" ? (u(), f("h2", In, [
1129
+ g(K, {
1130
+ icon: "house",
1131
+ type: "fal",
1132
+ color: "header"
1133
+ }),
1134
+ a("span", null, v(t(e)("booking.availability.roomsTitle")), 1)
1135
+ ])) : _("", !0),
1136
+ a("ul", Bn, [
1137
+ (u(!0), f(M, null, F(zt.value, (D, y) => (u(), A(tn, {
1138
+ room: D,
1139
+ key: y
1140
+ }, null, 8, ["room"]))), 128))
1141
+ ])
1142
+ ])) : _("", !0),
1143
+ t(L).specialTemplates.length > 0 && k.onlyShow !== "rooms" ? (u(), f("div", En, [
1144
+ a("h2", Mn, [
1145
+ g(K, {
1146
+ icon: "sparkles",
1147
+ type: "fal",
1148
+ color: "header"
1149
+ }),
1150
+ a("span", null, v(t(e)("hotel.specialOffers")), 1)
1151
+ ]),
1152
+ a("ul", Ln, [
1153
+ (u(!0), f(M, null, F(t(L).specialTemplates, ({
1154
+ id: D,
1155
+ name: y,
1156
+ templateRoomGroups: W,
1157
+ image: E,
1158
+ description: S,
1159
+ weekendFee: te,
1160
+ fromDate: Y,
1161
+ toDate: fe
1162
+ }) => (u(), A(pn, {
1163
+ key: D,
1164
+ id: D,
1165
+ description: S,
1166
+ name: y,
1167
+ image: E,
1168
+ fromDate: Y,
1169
+ toDate: fe,
1170
+ weekendFee: te,
1171
+ "room-groups": W,
1172
+ callback: q
1173
+ }, null, 8, ["id", "description", "name", "image", "fromDate", "toDate", "weekendFee", "room-groups", "callback"]))), 128))
1174
+ ])
1175
+ ])) : _("", !0),
1176
+ (t(L).templates.length === 0 && k.onlyShow !== "rooms" || t(L).roomGroups.length === 0 && k.onlyShow !== "packages") && (k.onlyShow === "rooms" || k.onlyShow === "packages") ? (u(), f("div", Un, [
1177
+ a("span", null, v(t(e)("booking.availability.nothingAvailable")), 1)
1178
+ ])) : _("", !0)
1179
+ ])) : t(L).nextAvailableDates.length === 0 ? (u(), f("div", Rn, [
1180
+ a("span", null, v(t(e)("booking.availability.nothingAvailable")), 1)
1181
+ ])) : (u(), f("div", Nn, [
1182
+ a("h2", Fn, [
1183
+ g(K, {
1184
+ icon: "calendar-circle-exclamation",
1185
+ type: "fal",
1186
+ color: "header"
1187
+ }),
1188
+ a("span", null, v(t(e)("booking.availability.nextAvailableDates")), 1)
1189
+ ]),
1190
+ a("ul", On, [
1191
+ (u(!0), f(M, null, F(t(L).nextAvailableDates, (D, y) => (u(), f("li", { key: y }, [
1192
+ a("h3", {
1193
+ title: `${t(ce)(D.fromDate)} - ${t(ce)(D.toDate)}`
1194
+ }, [
1195
+ a("span", null, v(`${t(ce)(D.fromDate)} - ${t(ce)(D.toDate)}`), 1)
1196
+ ], 8, jn),
1197
+ a("ul", null, [
1198
+ _("", !0),
1199
+ a("li", null, [
1200
+ g(K, {
1201
+ icon: "money-bill",
1202
+ type: "fal",
1203
+ color: "header"
1204
+ }),
1205
+ a("span", null, v(t(e)("booking.availability.pricesFrom")) + ": " + v(t(oe)(D.priceStartFrom, t(be))), 1)
1206
+ ])
1207
+ ]),
1208
+ g(de, {
1209
+ label: t(e)("booking.availability.selectDates"),
1210
+ "full-width": "",
1211
+ onClickEvent: (W) => t($e)(new Date(D.fromDate), new Date(D.toDate))
1212
+ }, null, 8, ["label", "onClickEvent"])
1213
+ ]))), 128))
1214
+ ])
1215
+ ]))
1216
+ ])) : (u(), f("div", Gn, [
1217
+ g(ze),
1218
+ g(ze),
1219
+ g(ze)
1220
+ ]))
1221
+ ])
1222
+ ]),
1223
+ navigation: $(() => [
1224
+ t(Ue) ? (u(), A(de, {
1225
+ key: 0,
1226
+ label: t(e)("general.searchAgain"),
1227
+ "is-loading": t(p),
1228
+ "full-width": "",
1229
+ onClickEvent: T[1] || (T[1] = (D) => t(it)())
1230
+ }, null, 8, ["label", "is-loading"])) : (u(), A(de, {
1231
+ key: 1,
1232
+ label: t(pe) || k.hideAddons === "yes" ? t(e)("booking.availability.nextButton") : t(e)("general.chooseAddons"),
1233
+ disabled: !t(Me),
1234
+ "full-width": "",
1235
+ onClickEvent: (D) => Zt(q)
1236
+ }, null, 8, ["label", "disabled", "onClickEvent"]))
1237
+ ]),
1238
+ _: 2
1239
+ }, 1024)
1240
+ ]),
1241
+ addons: $(({ next: q, prev: D }) => [
1242
+ t(he) ? (u(), A(xe, { key: 0 }, {
1243
+ form: $(() => [
1244
+ a("form", qn, [
1245
+ a("h2", null, [
1246
+ a("span", null, v(t(e)("booking.reservation.addons")), 1)
1247
+ ]),
1248
+ a("div", null, [
1249
+ isNaN(t(i)) ? (u(), f("div", Wn, [
1250
+ (u(!0), f(M, null, F(t(X), (y) => (u(), f("ul", {
1251
+ key: y.roomGroupID
1252
+ }, [
1253
+ (u(!0), f(M, null, F(y.variants, (W, E) => (u(), f("li", {
1254
+ key: W.ratePlanID
1255
+ }, [
1256
+ a("h4", null, [
1257
+ a("span", null, v(t(re)(y.title)), 1)
1258
+ ]),
1259
+ (u(!0), f(M, null, F(W.rooms, (S, te) => (u(), f("table", {
1260
+ key: te,
1261
+ class: "konnectio-table with-lines"
1262
+ }, [
1263
+ a("thead", null, [
1264
+ a("tr", null, [
1265
+ a("th", null, [
1266
+ a("span", null, v(t(re)(W.name)), 1)
1267
+ ]),
1268
+ _("", !0),
1269
+ a("th", Kn, [
1270
+ a("b", null, [
1271
+ g(K, {
1272
+ icon: "male",
1273
+ type: "fas",
1274
+ color: "font"
1275
+ }),
1276
+ a("span", null, v(S.adultsCount), 1),
1277
+ S.childrenCount > 0 ? (u(), A(K, {
1278
+ key: 0,
1279
+ icon: "child",
1280
+ type: "fas",
1281
+ color: "font"
1282
+ })) : _("", !0),
1283
+ S.childrenCount > 0 ? (u(), f("span", zn, v(S.childrenCount), 1)) : _("", !0)
1284
+ ])
1285
+ ])
1286
+ ])
1287
+ ]),
1288
+ a("tbody", null, [
1289
+ (u(!0), f(M, null, F(t(st)(y.addons, S.childrenCount), ({
1290
+ quantityStrategy: Y,
1291
+ maximumNumber: fe,
1292
+ id: ke,
1293
+ name: Xt,
1294
+ price: eo
1295
+ }) => (u(), f("tr", { key: ke }, [
1296
+ a("td", xn, [
1297
+ a("b", null, v(t(re)(Xt)), 1),
1298
+ a("span", null, v(t(oe)(eo, t(be))) + " " + v(t(ut)(Y)), 1)
1299
+ ]),
1300
+ a("td", Jn, [
1301
+ t(J)[y.roomGroupID][E].config[S.configIdx].addons[S.roomIdx] ? (u(), f(M, { key: 0 }, [
1302
+ Y === 1 || Y === 12 ? (u(), A(Qe, {
1303
+ key: 0,
1304
+ modelValue: t(J)[y.roomGroupID][E].config[S.configIdx].addons[S.roomIdx][ke],
1305
+ "onUpdate:modelValue": (Ge) => t(J)[y.roomGroupID][E].config[S.configIdx].addons[S.roomIdx][ke] = Ge,
1306
+ small: !0,
1307
+ "min-value": 0,
1308
+ "max-value": fe || 1 / 0
1309
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "max-value"])) : (u(), A(Se, {
1310
+ key: 1,
1311
+ modelValue: t(J)[y.roomGroupID][E].config[S.configIdx].addons[S.roomIdx][ke],
1312
+ "onUpdate:modelValue": (Ge) => t(J)[y.roomGroupID][E].config[S.configIdx].addons[S.roomIdx][ke] = Ge,
1313
+ numeric: !0
1314
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]))
1315
+ ], 64)) : _("", !0)
1316
+ ])
1317
+ ]))), 128))
1318
+ ])
1319
+ ]))), 128))
1320
+ ]))), 128))
1321
+ ]))), 128))
1322
+ ])) : t(Te) ? (u(), f("div", Yn, [
1323
+ a("div", null, [
1324
+ a("h4", null, [
1325
+ a("span", null, v(t(Le).name), 1)
1326
+ ]),
1327
+ a("table", Zn, [
1328
+ a("thead", null, [
1329
+ a("tr", null, [
1330
+ a("th", null, [
1331
+ a("span", null, v(t(re)(t(Te).title)), 1)
1332
+ ]),
1333
+ _("", !0),
1334
+ Qn
1335
+ ])
1336
+ ]),
1337
+ a("tbody", null, [
1338
+ (u(!0), f(M, null, F(t(st)(t(Te).addons, t(ve)), ({
1339
+ quantityStrategy: y,
1340
+ maximumNumber: W,
1341
+ id: E,
1342
+ name: S,
1343
+ price: te
1344
+ }) => (u(), f("tr", { key: E }, [
1345
+ a("td", Xn, [
1346
+ a("b", null, v(t(re)(S)), 1),
1347
+ a("span", null, v(t(oe)(te, t(be))) + " " + v(t(ut)(y)), 1)
1348
+ ]),
1349
+ a("td", el, [
1350
+ y === 1 || y === 12 ? (u(), A(Qe, {
1351
+ key: 0,
1352
+ modelValue: t(s)[E],
1353
+ "onUpdate:modelValue": (Y) => t(s)[E] = Y,
1354
+ small: !0,
1355
+ "min-value": 0,
1356
+ "max-value": W || 1 / 0
1357
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "max-value"])) : (u(), A(Se, {
1358
+ key: 1,
1359
+ modelValue: t(s)[E],
1360
+ "onUpdate:modelValue": (Y) => t(s)[E] = Y,
1361
+ numeric: !0
1362
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]))
1363
+ ])
1364
+ ]))), 128))
1365
+ ])
1366
+ ])
1367
+ ])
1368
+ ])) : _("", !0)
1369
+ ])
1370
+ ])
1371
+ ]),
1372
+ navigation: $(() => [
1373
+ g(de, {
1374
+ label: t(e)("general.startReservation"),
1375
+ "full-width": "",
1376
+ onClickEvent: q
1377
+ }, null, 8, ["label", "onClickEvent"]),
1378
+ a("button", {
1379
+ class: "konnectio-abort-reservation link",
1380
+ onClick: Ae((y) => rt(D), ["prevent"])
1381
+ }, [
1382
+ a("span", null, v(t(e)("general.goAStepBack")), 1)
1383
+ ], 8, tl)
1384
+ ]),
1385
+ _: 2
1386
+ }, 1024)) : _("", !0)
1387
+ ]),
1388
+ reservation: $(({ next: q, prev: D }) => [
1389
+ t(he) ? (u(), A(xe, {
1390
+ key: 0,
1391
+ "show-terms-notice": !0,
1392
+ "show-gift-card": !0
1393
+ }, {
1394
+ form: $(() => [
1395
+ a("form", ol, [
1396
+ a("h2", null, [
1397
+ a("span", null, v(t(e)("booking.reservation.detailsTitle")), 1)
1398
+ ]),
1399
+ !t(Bt) && !(t(Fe) && t(Oe)) ? (u(), f("ul", {
1400
+ key: 0,
1401
+ class: He({ "konnectio-split-inputs": !t(Fe) && !t(Oe) })
1402
+ }, [
1403
+ t(Fe) ? _("", !0) : (u(), f("li", nl, [
1404
+ g(mt, {
1405
+ modelValue: t(h),
1406
+ "onUpdate:modelValue": T[2] || (T[2] = (y) => N(h) ? h.value = y : null),
1407
+ label: t(e)("booking.reservation.arrivalTime"),
1408
+ icon: "hourglass-start",
1409
+ "hour-range": xt.value,
1410
+ required: ""
1411
+ }, null, 8, ["modelValue", "label", "hour-range"])
1412
+ ])),
1413
+ t(Oe) ? _("", !0) : (u(), f("li", ll, [
1414
+ g(mt, {
1415
+ modelValue: t(V),
1416
+ "onUpdate:modelValue": T[3] || (T[3] = (y) => N(V) ? V.value = y : null),
1417
+ label: t(e)("booking.reservation.departureTime"),
1418
+ icon: "hourglass-end",
1419
+ "hour-range": Jt.value,
1420
+ required: ""
1421
+ }, null, 8, ["modelValue", "label", "hour-range"])
1422
+ ]))
1423
+ ], 2)) : _("", !0),
1424
+ g(yn, {
1425
+ modelValue: t(P),
1426
+ "onUpdate:modelValue": T[4] || (T[4] = (y) => N(P) ? P.value = y : null),
1427
+ title: t(C),
1428
+ "onUpdate:title": T[5] || (T[5] = (y) => N(C) ? C.value = y : null),
1429
+ "exclude-title": t(Et),
1430
+ label: t(e)("booking.reservation.name"),
1431
+ icon: "user-alt",
1432
+ placeholder: t(e)("booking.reservation.namePlaceholder"),
1433
+ required: ""
1434
+ }, null, 8, ["modelValue", "title", "exclude-title", "label", "placeholder"]),
1435
+ g(se, {
1436
+ modelValue: t(I),
1437
+ "onUpdate:modelValue": T[6] || (T[6] = (y) => N(I) ? I.value = y : null),
1438
+ type: "email",
1439
+ name: "email",
1440
+ autocomplete: "email",
1441
+ label: t(e)("booking.reservation.email"),
1442
+ icon: "at",
1443
+ placeholder: t(e)("booking.reservation.emailPlaceholder"),
1444
+ required: ""
1445
+ }, null, 8, ["modelValue", "label", "placeholder"]),
1446
+ t(Ut) ? _("", !0) : (u(), A(se, {
1447
+ key: 1,
1448
+ modelValue: t(b),
1449
+ "onUpdate:modelValue": T[7] || (T[7] = (y) => N(b) ? b.value = y : null),
1450
+ type: "text",
1451
+ name: "firm",
1452
+ autocomplete: "firm",
1453
+ label: `${t(e)("booking.reservation.companyName")} (${t(e)("booking.reservation.optional")})`,
1454
+ icon: "id-card",
1455
+ placeholder: t(e)("booking.reservation.companyNamePlaceholder")
1456
+ }, null, 8, ["modelValue", "label", "placeholder"])),
1457
+ g(Do, {
1458
+ modelValue: t(B),
1459
+ "onUpdate:modelValue": T[8] || (T[8] = (y) => N(B) ? B.value = y : null),
1460
+ icon: "phone-office",
1461
+ label: t(e)("booking.reservation.phone"),
1462
+ placeholder: t(e)("booking.reservation.phonePlaceholder"),
1463
+ required: ""
1464
+ }, null, 8, ["modelValue", "label", "placeholder"]),
1465
+ g(hn, {
1466
+ modelValue: t(j),
1467
+ "onUpdate:modelValue": T[9] || (T[9] = (y) => N(j) ? j.value = y : null),
1468
+ label: t(e)("booking.reservation.country"),
1469
+ placeholder: t(e)("booking.reservation.countryPlaceholder"),
1470
+ options: t(m),
1471
+ required: ""
1472
+ }, null, 8, ["modelValue", "label", "placeholder", "options"]),
1473
+ g(se, {
1474
+ modelValue: t(O),
1475
+ "onUpdate:modelValue": T[10] || (T[10] = (y) => N(O) ? O.value = y : null),
1476
+ type: "textarea",
1477
+ name: "address",
1478
+ autocomplete: "street-address",
1479
+ label: t(e)("booking.reservation.streetAddress"),
1480
+ icon: "map-marked",
1481
+ placeholder: t(e)("booking.reservation.streetAddressPlaceholder"),
1482
+ required: ""
1483
+ }, null, 8, ["modelValue", "label", "placeholder"]),
1484
+ a("ul", al, [
1485
+ a("li", null, [
1486
+ g(se, {
1487
+ modelValue: t(w),
1488
+ "onUpdate:modelValue": T[11] || (T[11] = (y) => N(w) ? w.value = y : null),
1489
+ type: "text",
1490
+ name: "postal",
1491
+ autocomplete: "postal-code",
1492
+ label: t(e)("booking.reservation.postal"),
1493
+ icon: "mailbox",
1494
+ placeholder: t(e)("booking.reservation.postalPlaceholder"),
1495
+ required: ""
1496
+ }, null, 8, ["modelValue", "label", "placeholder"])
1497
+ ]),
1498
+ a("li", null, [
1499
+ g(se, {
1500
+ modelValue: t(H),
1501
+ "onUpdate:modelValue": T[12] || (T[12] = (y) => N(H) ? H.value = y : null),
1502
+ type: "text",
1503
+ name: "city",
1504
+ autocomplete: "address-level2",
1505
+ label: t(e)("booking.reservation.city"),
1506
+ icon: "city",
1507
+ placeholder: t(e)("booking.reservation.cityPlaceholder"),
1508
+ required: ""
1509
+ }, null, 8, ["modelValue", "label", "placeholder"])
1510
+ ])
1511
+ ]),
1512
+ g(se, {
1513
+ modelValue: t(x),
1514
+ "onUpdate:modelValue": T[13] || (T[13] = (y) => N(x) ? x.value = y : null),
1515
+ type: "textarea",
1516
+ label: `${t(e)("booking.reservation.remark")} (${t(e)("booking.reservation.optional")})`,
1517
+ icon: "info-circle",
1518
+ placeholder: t(e)("booking.reservation.remarkPlaceholder")
1519
+ }, null, 8, ["modelValue", "label", "placeholder"]),
1520
+ g(se, {
1521
+ modelValue: t(R),
1522
+ "onUpdate:modelValue": T[14] || (T[14] = (y) => N(R) ? R.value = y : null),
1523
+ type: "textarea",
1524
+ label: `${t(e)("booking.reservation.allergies")} (${t(e)("booking.reservation.optional")})`,
1525
+ icon: "allergies",
1526
+ placeholder: t(e)("booking.reservation.allergiesPlaceholder")
1527
+ }, null, 8, ["modelValue", "label", "placeholder"]),
1528
+ t(Mt) ? _("", !0) : (u(), A(_o, {
1529
+ key: 2,
1530
+ modelValue: t(d),
1531
+ "onUpdate:modelValue": T[15] || (T[15] = (y) => N(d) ? d.value = y : null),
1532
+ label: `${t(e)("booking.reservation.purposeOfStay")} (${t(e)("booking.reservation.optional")})`,
1533
+ name: "travelingFor",
1534
+ checkboxes: Kt.value
1535
+ }, null, 8, ["modelValue", "label", "checkboxes"]))
1536
+ ])
1537
+ ]),
1538
+ navigation: $(() => [
1539
+ a("div", null, [
1540
+ g(de, {
1541
+ label: t(Rt) ? t(e)("booking.reservation.nextButton") : t(e)("general.confirmReservation"),
1542
+ disabled: !t(r),
1543
+ "is-loading": t(c),
1544
+ "full-width": "",
1545
+ onClickEvent: (y) => Yt(q)
1546
+ }, null, 8, ["label", "disabled", "is-loading", "onClickEvent"]),
1547
+ a("button", {
1548
+ class: "konnectio-abort-reservation link",
1549
+ onClick: Ae((y) => rt(D), ["prevent"])
1550
+ }, [
1551
+ a("span", null, v(t(e)("general.goAStepBack")), 1)
1552
+ ], 8, il)
1553
+ ])
1554
+ ]),
1555
+ _: 2
1556
+ }, 1024)) : _("", !0)
1557
+ ]),
1558
+ payment: $(() => [
1559
+ g(Ho)
1560
+ ]),
1561
+ confirmation: $(() => [
1562
+ g(Vo, {
1563
+ message: t(e)("booking.confirmation.thankYou")
1564
+ }, null, 8, ["message"])
1565
+ ]),
1566
+ _: 1
1567
+ }, 8, ["layout", "onReset"])
1568
+ ]),
1569
+ _: 1
1570
+ }, 8, ["access-token", "callback"])
1571
+ ]),
1572
+ fallback: $(() => [
1573
+ g(Vn)
1574
+ ]),
1575
+ _: 1
1576
+ }))
1577
+ ]),
1578
+ _: 1
1579
+ }, 8, ["styling"]));
1580
+ }
1581
+ }), Ce = /* @__PURE__ */ ue(sl, [["__scopeId", "data-v-2713d0ba"]]);
1582
+ function Xe(l, n = {}, o) {
1583
+ for (const e in l) {
1584
+ const i = l[e], s = o ? `${o}:${e}` : e;
1585
+ typeof i == "object" && i !== null ? Xe(i, n, s) : typeof i == "function" && (n[s] = i);
1586
+ }
1587
+ return n;
1588
+ }
1589
+ const rl = { run: (l) => l() }, dl = () => rl, Pt = typeof console.createTask < "u" ? console.createTask : dl;
1590
+ function cl(l, n) {
1591
+ const o = n.shift(), e = Pt(o);
1592
+ return l.reduce(
1593
+ (i, s) => i.then(() => e.run(() => s(...n))),
1594
+ Promise.resolve()
1595
+ );
1596
+ }
1597
+ function ul(l, n) {
1598
+ const o = n.shift(), e = Pt(o);
1599
+ return Promise.all(l.map((i) => e.run(() => i(...n))));
1600
+ }
1601
+ function Je(l, n) {
1602
+ for (const o of [...l])
1603
+ o(n);
1604
+ }
1605
+ class pl {
1606
+ constructor() {
1607
+ 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);
1608
+ }
1609
+ hook(n, o, e = {}) {
1610
+ if (!n || typeof o != "function")
1611
+ return () => {
1612
+ };
1613
+ const i = n;
1614
+ let s;
1615
+ for (; this._deprecatedHooks[n]; )
1616
+ s = this._deprecatedHooks[n], n = s.to;
1617
+ if (s && !e.allowDeprecated) {
1618
+ let m = s.message;
1619
+ m || (m = `${i} hook has been deprecated` + (s.to ? `, please use ${s.to}` : "")), this._deprecatedMessages || (this._deprecatedMessages = /* @__PURE__ */ new Set()), this._deprecatedMessages.has(m) || (console.warn(m), this._deprecatedMessages.add(m));
1620
+ }
1621
+ if (!o.name)
1622
+ try {
1623
+ Object.defineProperty(o, "name", {
1624
+ get: () => "_" + n.replace(/\W+/g, "_") + "_hook_cb",
1625
+ configurable: !0
1626
+ });
1627
+ } catch {
1628
+ }
1629
+ return this._hooks[n] = this._hooks[n] || [], this._hooks[n].push(o), () => {
1630
+ o && (this.removeHook(n, o), o = void 0);
1631
+ };
1632
+ }
1633
+ hookOnce(n, o) {
1634
+ let e, i = (...s) => (typeof e == "function" && e(), e = void 0, i = void 0, o(...s));
1635
+ return e = this.hook(n, i), e;
1636
+ }
1637
+ removeHook(n, o) {
1638
+ if (this._hooks[n]) {
1639
+ const e = this._hooks[n].indexOf(o);
1640
+ e !== -1 && this._hooks[n].splice(e, 1), this._hooks[n].length === 0 && delete this._hooks[n];
1641
+ }
1642
+ }
1643
+ deprecateHook(n, o) {
1644
+ this._deprecatedHooks[n] = typeof o == "string" ? { to: o } : o;
1645
+ const e = this._hooks[n] || [];
1646
+ delete this._hooks[n];
1647
+ for (const i of e)
1648
+ this.hook(n, i);
1649
+ }
1650
+ deprecateHooks(n) {
1651
+ Object.assign(this._deprecatedHooks, n);
1652
+ for (const o in n)
1653
+ this.deprecateHook(o, n[o]);
1654
+ }
1655
+ addHooks(n) {
1656
+ const o = Xe(n), e = Object.keys(o).map(
1657
+ (i) => this.hook(i, o[i])
1658
+ );
1659
+ return () => {
1660
+ for (const i of e.splice(0, e.length))
1661
+ i();
1662
+ };
1663
+ }
1664
+ removeHooks(n) {
1665
+ const o = Xe(n);
1666
+ for (const e in o)
1667
+ this.removeHook(e, o[e]);
1668
+ }
1669
+ removeAllHooks() {
1670
+ for (const n in this._hooks)
1671
+ delete this._hooks[n];
1672
+ }
1673
+ callHook(n, ...o) {
1674
+ return o.unshift(n), this.callHookWith(cl, n, ...o);
1675
+ }
1676
+ callHookParallel(n, ...o) {
1677
+ return o.unshift(n), this.callHookWith(ul, n, ...o);
1678
+ }
1679
+ callHookWith(n, o, ...e) {
1680
+ const i = this._before || this._after ? { name: o, args: e, context: {} } : void 0;
1681
+ this._before && Je(this._before, i);
1682
+ const s = n(
1683
+ o in this._hooks ? [...this._hooks[o]] : [],
1684
+ e
1685
+ );
1686
+ return s instanceof Promise ? s.finally(() => {
1687
+ this._after && i && Je(this._after, i);
1688
+ }) : (this._after && i && Je(this._after, i), s);
1689
+ }
1690
+ beforeEach(n) {
1691
+ return this._before = this._before || [], this._before.push(n), () => {
1692
+ if (this._before !== void 0) {
1693
+ const o = this._before.indexOf(n);
1694
+ o !== -1 && this._before.splice(o, 1);
1695
+ }
1696
+ };
1697
+ }
1698
+ afterEach(n) {
1699
+ return this._after = this._after || [], this._after.push(n), () => {
1700
+ if (this._after !== void 0) {
1701
+ const o = this._after.indexOf(n);
1702
+ o !== -1 && this._after.splice(o, 1);
1703
+ }
1704
+ };
1705
+ }
1706
+ }
1707
+ function ml() {
1708
+ return new pl();
1709
+ }
1710
+ function fl(l) {
1711
+ return Array.isArray(l) ? l : [l];
1712
+ }
1713
+ const hl = ["title", "titleTemplate", "script", "style", "noscript"], we = [
1714
+ "base",
1715
+ "meta",
1716
+ "link",
1717
+ "style",
1718
+ "script",
1719
+ "noscript"
1720
+ ], vl = [
1721
+ "title",
1722
+ "titleTemplate",
1723
+ "templateParams",
1724
+ "base",
1725
+ "htmlAttrs",
1726
+ "bodyAttrs",
1727
+ "meta",
1728
+ "link",
1729
+ "style",
1730
+ "script",
1731
+ "noscript"
1732
+ ], yl = ["base", "title", "titleTemplate", "bodyAttrs", "htmlAttrs", "templateParams"], At = ["tagPosition", "tagPriority", "tagDuplicateStrategy", "children", "innerHTML", "textContent", "processTemplateParams"], gl = typeof window < "u";
1733
+ function ot(l) {
1734
+ let n = 9;
1735
+ for (let o = 0; o < l.length; )
1736
+ n = Math.imul(n ^ l.charCodeAt(o++), 9 ** 9);
1737
+ return ((n ^ n >>> 9) + 65536).toString(16).substring(1, 8).toLowerCase();
1738
+ }
1739
+ function ft(l) {
1740
+ return l._h || ot(l._d ? l._d : `${l.tag}:${l.textContent || l.innerHTML || ""}:${Object.entries(l.props).map(([n, o]) => `${n}:${String(o)}`).join(",")}`);
1741
+ }
1742
+ function Dt(l, n) {
1743
+ const { props: o, tag: e } = l;
1744
+ if (yl.includes(e))
1745
+ return e;
1746
+ if (e === "link" && o.rel === "canonical")
1747
+ return "canonical";
1748
+ if (o.charset)
1749
+ return "charset";
1750
+ const i = ["id"];
1751
+ e === "meta" && i.push("name", "property", "http-equiv");
1752
+ for (const s of i)
1753
+ if (typeof o[s] < "u") {
1754
+ const m = String(o[s]);
1755
+ return `${e}:${s}:${m}`;
1756
+ }
1757
+ return !1;
1758
+ }
1759
+ function ht(l, n) {
1760
+ return l == null ? n || null : typeof l == "function" ? l(n) : l;
1761
+ }
1762
+ async function bl(l, n, o) {
1763
+ const e = {
1764
+ tag: l,
1765
+ props: await Ht(
1766
+ // explicitly check for an object
1767
+ // @ts-expect-error untyped
1768
+ typeof n == "object" && typeof n != "function" && !(n instanceof Promise) ? { ...n } : { [["script", "noscript", "style"].includes(l) ? "innerHTML" : "textContent"]: n },
1769
+ ["templateParams", "titleTemplate"].includes(l)
1770
+ )
1771
+ };
1772
+ return At.forEach((i) => {
1773
+ const s = typeof e.props[i] < "u" ? e.props[i] : o[i];
1774
+ typeof s < "u" && ((!["innerHTML", "textContent", "children"].includes(i) || hl.includes(e.tag)) && (e[i === "children" ? "innerHTML" : i] = s), delete e.props[i]);
1775
+ }), e.props.body && (e.tagPosition = "bodyClose", delete e.props.body), e.tag === "script" && typeof e.innerHTML == "object" && (e.innerHTML = JSON.stringify(e.innerHTML), e.props.type = e.props.type || "application/json"), Array.isArray(e.props.content) ? e.props.content.map((i) => ({ ...e, props: { ...e.props, content: i } })) : e;
1776
+ }
1777
+ function kl(l, n) {
1778
+ const o = l === "class" ? " " : ";";
1779
+ return typeof n == "object" && !Array.isArray(n) && (n = Object.entries(n).filter(([, e]) => e).map(([e, i]) => l === "style" ? `${e}:${i}` : e)), (Array.isArray(n) ? n.join(o) : n)?.split(o).filter((e) => e.trim()).filter(Boolean).join(o);
1780
+ }
1781
+ async function Ht(l, n) {
1782
+ for (const o of Object.keys(l)) {
1783
+ if (["class", "style"].includes(o)) {
1784
+ l[o] = kl(o, l[o]);
1785
+ continue;
1786
+ }
1787
+ if (l[o] instanceof Promise && (l[o] = await l[o]), !n && !At.includes(o)) {
1788
+ const e = String(l[o]), i = o.startsWith("data-");
1789
+ e === "true" || e === "" ? l[o] = i ? "true" : !0 : l[o] || (i && e === "false" ? l[o] = "false" : delete l[o]);
1790
+ }
1791
+ }
1792
+ return l;
1793
+ }
1794
+ const _l = 10;
1795
+ async function Vl(l) {
1796
+ const n = [];
1797
+ return Object.entries(l.resolvedInput).filter(([o, e]) => typeof e < "u" && vl.includes(o)).forEach(([o, e]) => {
1798
+ const i = fl(e);
1799
+ n.push(...i.map((s) => bl(o, s, l)).flat());
1800
+ }), (await Promise.all(n)).flat().filter(Boolean).map((o, e) => (o._e = l._i, l.mode && (o._m = l.mode), o._p = (l._i << _l) + e, o));
1801
+ }
1802
+ const vt = {
1803
+ // tags
1804
+ base: -10,
1805
+ title: 10
1806
+ }, yt = {
1807
+ // relative scores to their default values
1808
+ critical: -80,
1809
+ high: -10,
1810
+ low: 20
1811
+ };
1812
+ function Ie(l) {
1813
+ let n = 100;
1814
+ const o = l.tagPriority;
1815
+ return typeof o == "number" ? o : (l.tag === "meta" ? (l.props["http-equiv"] === "content-security-policy" && (n = -30), l.props.charset && (n = -20), l.props.name === "viewport" && (n = -15)) : l.tag === "link" && l.props.rel === "preconnect" ? n = 20 : l.tag in vt && (n = vt[l.tag]), typeof o == "string" && o in yt ? n + yt[o] : n);
1816
+ }
1817
+ const Tl = [{ prefix: "before:", offset: -1 }, { prefix: "after:", offset: 1 }], gt = ["onload", "onerror", "onabort", "onprogress", "onloadstart"], ie = "%separator";
1818
+ function Pe(l, n, o) {
1819
+ if (typeof l != "string" || !l.includes("%"))
1820
+ return l;
1821
+ function e(m) {
1822
+ let p;
1823
+ return ["s", "pageTitle"].includes(m) ? p = n.pageTitle : m.includes(".") ? p = m.split(".").reduce((c, r) => c && c[r] || void 0, n) : p = n[m], typeof p < "u" ? (p || "").replace(/"/g, '\\"') : !1;
1824
+ }
1825
+ let i = l;
1826
+ try {
1827
+ i = decodeURI(l);
1828
+ } catch {
1829
+ }
1830
+ return (i.match(/%(\w+\.+\w+)|%(\w+)/g) || []).sort().reverse().forEach((m) => {
1831
+ const p = e(m.slice(1));
1832
+ typeof p == "string" && (l = l.replace(new RegExp(`\\${m}(\\W|$)`, "g"), (c, r) => `${p}${r}`).trim());
1833
+ }), l.includes(ie) && (l.endsWith(ie) && (l = l.slice(0, -ie.length).trim()), l.startsWith(ie) && (l = l.slice(ie.length).trim()), l = l.replace(new RegExp(`\\${ie}\\s*\\${ie}`, "g"), ie), l = Pe(l, { separator: o }, o)), l;
1834
+ }
1835
+ async function $l(l, n = {}) {
1836
+ const o = n.document || l.resolvedOptions.document;
1837
+ if (!o || !l.dirty)
1838
+ return;
1839
+ const e = { shouldRender: !0, tags: [] };
1840
+ if (await l.hooks.callHook("dom:beforeRender", e), !e.shouldRender)
1841
+ return;
1842
+ const i = (await l.resolveTags()).map((d) => ({
1843
+ tag: d,
1844
+ id: we.includes(d.tag) ? ft(d) : d.tag,
1845
+ shouldRender: !0
1846
+ }));
1847
+ let s = l._dom;
1848
+ if (!s) {
1849
+ s = {
1850
+ elMap: { htmlAttrs: o.documentElement, bodyAttrs: o.body }
1851
+ };
1852
+ for (const d of ["body", "head"]) {
1853
+ const h = o[d]?.children, V = [];
1854
+ for (const P of [...h].filter((C) => we.includes(C.tagName.toLowerCase()))) {
1855
+ const C = {
1856
+ tag: P.tagName.toLowerCase(),
1857
+ props: await Ht(
1858
+ P.getAttributeNames().reduce((b, w) => ({ ...b, [w]: P.getAttribute(w) }), {})
1859
+ ),
1860
+ innerHTML: P.innerHTML
1861
+ };
1862
+ let I = 1, B = Dt(C);
1863
+ for (; B && V.find((b) => b._d === B); )
1864
+ B = `${B}:${I++}`;
1865
+ C._d = B || void 0, V.push(C), s.elMap[P.getAttribute("data-hid") || ft(C)] = P;
1866
+ }
1867
+ }
1868
+ }
1869
+ s.pendingSideEffects = { ...s.sideEffects || {} }, s.sideEffects = {};
1870
+ function m(d, h, V) {
1871
+ const P = `${d}:${h}`;
1872
+ s.sideEffects[P] = V, delete s.pendingSideEffects[P];
1873
+ }
1874
+ function p({ id: d, $el: h, tag: V }) {
1875
+ const P = V.tag.endsWith("Attrs");
1876
+ s.elMap[d] = h, P || (["textContent", "innerHTML"].forEach((C) => {
1877
+ V[C] && V[C] !== h[C] && (h[C] = V[C]);
1878
+ }), m(d, "el", () => {
1879
+ s.elMap[d]?.remove(), delete s.elMap[d];
1880
+ }));
1881
+ for (const [C, I] of Object.entries(V._eventHandlers || {}))
1882
+ h.getAttribute(`data-${C}`) !== "" && ((V.tag === "bodyAttrs" ? o.defaultView : h).addEventListener(C.replace("on", ""), I.bind(h)), h.setAttribute(`data-${C}`, ""));
1883
+ Object.entries(V.props).forEach(([C, I]) => {
1884
+ const B = `attr:${C}`;
1885
+ if (C === "class")
1886
+ for (const b of (I || "").split(" ").filter(Boolean))
1887
+ P && m(d, `${B}:${b}`, () => h.classList.remove(b)), !h.classList.contains(b) && h.classList.add(b);
1888
+ else if (C === "style")
1889
+ for (const b of (I || "").split(";").filter(Boolean)) {
1890
+ const [w, ...H] = b.split(":").map((O) => O.trim());
1891
+ m(d, `${B}:${b}:${w}`, () => {
1892
+ h.style.removeProperty(w);
1893
+ }), h.style.setProperty(w, H.join(":"));
1894
+ }
1895
+ else
1896
+ h.getAttribute(C) !== I && h.setAttribute(C, I === !0 ? "" : String(I)), P && m(d, B, () => h.removeAttribute(C));
1897
+ });
1898
+ }
1899
+ const c = [], r = {
1900
+ bodyClose: void 0,
1901
+ bodyOpen: void 0,
1902
+ head: void 0
1903
+ };
1904
+ for (const d of i) {
1905
+ const { tag: h, shouldRender: V, id: P } = d;
1906
+ if (V) {
1907
+ if (h.tag === "title") {
1908
+ o.title = h.textContent;
1909
+ continue;
1910
+ }
1911
+ d.$el = d.$el || s.elMap[P], d.$el ? p(d) : we.includes(h.tag) && c.push(d);
1912
+ }
1913
+ }
1914
+ for (const d of c) {
1915
+ const h = d.tag.tagPosition || "head";
1916
+ d.$el = o.createElement(d.tag.tag), p(d), r[h] = r[h] || o.createDocumentFragment(), r[h].appendChild(d.$el);
1917
+ }
1918
+ for (const d of i)
1919
+ await l.hooks.callHook("dom:renderTag", d, o, m);
1920
+ r.head && o.head.appendChild(r.head), r.bodyOpen && o.body.insertBefore(r.bodyOpen, o.body.firstChild), r.bodyClose && o.body.appendChild(r.bodyClose), Object.values(s.pendingSideEffects).forEach((d) => d()), l._dom = s, l.dirty = !1, await l.hooks.callHook("dom:rendered", { renders: i });
1921
+ }
1922
+ async function Cl(l, n = {}) {
1923
+ const o = n.delayFn || ((e) => setTimeout(e, 10));
1924
+ return l._domUpdatePromise = l._domUpdatePromise || new Promise((e) => o(async () => {
1925
+ await $l(l, n), delete l._domUpdatePromise, e();
1926
+ }));
1927
+ }
1928
+ // @__NO_SIDE_EFFECTS__
1929
+ function wl(l) {
1930
+ return (n) => {
1931
+ const o = n.resolvedOptions.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML || !1;
1932
+ return o && n.push(JSON.parse(o)), {
1933
+ mode: "client",
1934
+ hooks: {
1935
+ "entries:updated": function(e) {
1936
+ Cl(e, l);
1937
+ }
1938
+ }
1939
+ };
1940
+ };
1941
+ }
1942
+ const Pl = ["templateParams", "htmlAttrs", "bodyAttrs"], Al = {
1943
+ hooks: {
1944
+ "tag:normalise": function({ tag: l }) {
1945
+ ["hid", "vmid", "key"].forEach((e) => {
1946
+ l.props[e] && (l.key = l.props[e], delete l.props[e]);
1947
+ });
1948
+ const o = Dt(l) || (l.key ? `${l.tag}:${l.key}` : !1);
1949
+ o && (l._d = o);
1950
+ },
1951
+ "tags:resolve": function(l) {
1952
+ const n = {};
1953
+ l.tags.forEach((e) => {
1954
+ const i = (e.key ? `${e.tag}:${e.key}` : e._d) || e._p, s = n[i];
1955
+ if (s) {
1956
+ let p = e?.tagDuplicateStrategy;
1957
+ if (!p && Pl.includes(e.tag) && (p = "merge"), p === "merge") {
1958
+ const c = s.props;
1959
+ ["class", "style"].forEach((r) => {
1960
+ c[r] && (e.props[r] ? (r === "style" && !c[r].endsWith(";") && (c[r] += ";"), e.props[r] = `${c[r]} ${e.props[r]}`) : e.props[r] = c[r]);
1961
+ }), n[i].props = {
1962
+ ...c,
1963
+ ...e.props
1964
+ };
1965
+ return;
1966
+ } else if (e._e === s._e) {
1967
+ s._duped = s._duped || [], e._d = `${s._d}:${s._duped.length + 1}`, s._duped.push(e);
1968
+ return;
1969
+ } else if (Ie(e) > Ie(s))
1970
+ return;
1971
+ }
1972
+ const m = Object.keys(e.props).length + (e.innerHTML ? 1 : 0) + (e.textContent ? 1 : 0);
1973
+ if (we.includes(e.tag) && m === 0) {
1974
+ delete n[i];
1975
+ return;
1976
+ }
1977
+ n[i] = e;
1978
+ });
1979
+ const o = [];
1980
+ Object.values(n).forEach((e) => {
1981
+ const i = e._duped;
1982
+ delete e._duped, o.push(e), i && o.push(...i);
1983
+ }), l.tags = o, l.tags = l.tags.filter((e) => !(e.tag === "meta" && (e.props.name || e.props.property) && !e.props.content));
1984
+ }
1985
+ }
1986
+ }, Dl = {
1987
+ mode: "server",
1988
+ hooks: {
1989
+ "tags:resolve": function(l) {
1990
+ const n = {};
1991
+ l.tags.filter((o) => ["titleTemplate", "templateParams", "title"].includes(o.tag) && o._m === "server").forEach((o) => {
1992
+ n[o.tag] = o.tag.startsWith("title") ? o.textContent : o.props;
1993
+ }), Object.keys(n).length && l.tags.push({
1994
+ tag: "script",
1995
+ innerHTML: JSON.stringify(n),
1996
+ props: { id: "unhead:payload", type: "application/json" }
1997
+ });
1998
+ }
1999
+ }
2000
+ }, Hl = ["script", "link", "bodyAttrs"], Sl = (l) => ({
2001
+ hooks: {
2002
+ "tags:resolve": function(n) {
2003
+ for (const o of n.tags.filter((e) => Hl.includes(e.tag)))
2004
+ Object.entries(o.props).forEach(([e, i]) => {
2005
+ e.startsWith("on") && typeof i == "function" && (l.ssr && gt.includes(e) ? o.props[e] = `this.dataset.${e}fired = true` : delete o.props[e], o._eventHandlers = o._eventHandlers || {}, o._eventHandlers[e] = i);
2006
+ }), l.ssr && o._eventHandlers && (o.props.src || o.props.href) && (o.key = o.key || ot(o.props.src || o.props.href));
2007
+ },
2008
+ "dom:renderTag": function({ $el: n, tag: o }) {
2009
+ for (const e of Object.keys(n?.dataset || {}).filter((i) => gt.some((s) => `${s}fired` === i))) {
2010
+ const i = e.replace("fired", "");
2011
+ o._eventHandlers?.[i]?.call(n, new Event(i.replace("on", "")));
2012
+ }
2013
+ }
2014
+ }
2015
+ }), Il = ["link", "style", "script", "noscript"], Bl = {
2016
+ hooks: {
2017
+ "tag:normalise": ({ tag: l }) => {
2018
+ l.key && Il.includes(l.tag) && (l.props["data-hid"] = l._h = ot(l.key));
2019
+ }
2020
+ }
2021
+ }, El = {
2022
+ hooks: {
2023
+ "tags:resolve": (l) => {
2024
+ const n = (o) => l.tags.find((e) => e._d === o)?._p;
2025
+ for (const { prefix: o, offset: e } of Tl)
2026
+ for (const i of l.tags.filter((s) => typeof s.tagPriority == "string" && s.tagPriority.startsWith(o))) {
2027
+ const s = n(
2028
+ i.tagPriority.replace(o, "")
2029
+ );
2030
+ typeof s < "u" && (i._p = s + e);
2031
+ }
2032
+ l.tags.sort((o, e) => o._p - e._p).sort((o, e) => Ie(o) - Ie(e));
2033
+ }
2034
+ }
2035
+ }, Ml = {
2036
+ meta: "content",
2037
+ link: "href",
2038
+ htmlAttrs: "lang"
2039
+ }, Ll = (l) => ({
2040
+ hooks: {
2041
+ "tags:resolve": (n) => {
2042
+ const { tags: o } = n, e = o.find((p) => p.tag === "title")?.textContent, i = o.findIndex((p) => p.tag === "templateParams"), s = i !== -1 ? o[i].props : {}, m = s.separator || "|";
2043
+ delete s.separator, s.pageTitle = Pe(s.pageTitle || e || "", s, m);
2044
+ for (const p of o.filter((c) => c.processTemplateParams !== !1)) {
2045
+ const c = Ml[p.tag];
2046
+ c && typeof p.props[c] == "string" ? p.props[c] = Pe(p.props[c], s, m) : (p.processTemplateParams === !0 || ["titleTemplate", "title"].includes(p.tag)) && ["innerHTML", "textContent"].forEach((r) => {
2047
+ typeof p[r] == "string" && (p[r] = Pe(p[r], s, m));
2048
+ });
2049
+ }
2050
+ l._templateParams = s, l._separator = m, n.tags = o.filter((p) => p.tag !== "templateParams");
2051
+ }
2052
+ }
2053
+ }), Ul = {
2054
+ hooks: {
2055
+ "tags:resolve": (l) => {
2056
+ const { tags: n } = l;
2057
+ let o = n.findIndex((i) => i.tag === "titleTemplate");
2058
+ const e = n.findIndex((i) => i.tag === "title");
2059
+ if (e !== -1 && o !== -1) {
2060
+ const i = ht(
2061
+ n[o].textContent,
2062
+ n[e].textContent
2063
+ );
2064
+ i !== null ? n[e].textContent = i || n[e].textContent : delete n[e];
2065
+ } else if (o !== -1) {
2066
+ const i = ht(
2067
+ n[o].textContent
2068
+ );
2069
+ i !== null && (n[o].textContent = i, n[o].tag = "title", o = -1);
2070
+ }
2071
+ o !== -1 && delete n[o], l.tags = n.filter(Boolean);
2072
+ }
2073
+ }
2074
+ }, Rl = {
2075
+ hooks: {
2076
+ "tags:afterResolve": function(l) {
2077
+ for (const n of l.tags)
2078
+ typeof n.innerHTML == "string" && (n.innerHTML && ["application/ld+json", "application/json"].includes(n.props.type) ? n.innerHTML = n.innerHTML.replace(/</g, "\\u003C") : n.innerHTML = n.innerHTML.replace(new RegExp(`</${n.tag}`, "g"), `<\\/${n.tag}`));
2079
+ }
2080
+ }
2081
+ };
2082
+ // @__NO_SIDE_EFFECTS__
2083
+ function Nl(l = {}) {
2084
+ const n = Fl(l);
2085
+ return n.use(/* @__PURE__ */ wl()), n;
2086
+ }
2087
+ function bt(l, n) {
2088
+ return !l || l === "server" && n || l === "client" && !n;
2089
+ }
2090
+ function Fl(l = {}) {
2091
+ const n = ml();
2092
+ n.addHooks(l.hooks || {}), l.document = l.document || (gl ? document : void 0);
2093
+ const o = !l.document, e = () => {
2094
+ p.dirty = !0, n.callHook("entries:updated", p);
2095
+ };
2096
+ let i = 0, s = [];
2097
+ const m = [], p = {
2098
+ plugins: m,
2099
+ dirty: !1,
2100
+ resolvedOptions: l,
2101
+ hooks: n,
2102
+ headEntries() {
2103
+ return s;
2104
+ },
2105
+ use(c) {
2106
+ const r = typeof c == "function" ? c(p) : c;
2107
+ (!r.key || !m.some((d) => d.key === r.key)) && (m.push(r), bt(r.mode, o) && n.addHooks(r.hooks || {}));
2108
+ },
2109
+ push(c, r) {
2110
+ delete r?.head;
2111
+ const d = {
2112
+ _i: i++,
2113
+ input: c,
2114
+ ...r
2115
+ };
2116
+ return bt(d.mode, o) && (s.push(d), e()), {
2117
+ dispose() {
2118
+ s = s.filter((h) => h._i !== d._i), n.callHook("entries:updated", p), e();
2119
+ },
2120
+ // a patch is the same as creating a new entry, just a nice DX
2121
+ patch(h) {
2122
+ s = s.map((V) => (V._i === d._i && (V.input = d.input = h), V)), e();
2123
+ }
2124
+ };
2125
+ },
2126
+ async resolveTags() {
2127
+ const c = { tags: [], entries: [...s] };
2128
+ await n.callHook("entries:resolve", c);
2129
+ for (const r of c.entries) {
2130
+ const d = r.resolvedInput || r.input;
2131
+ if (r.resolvedInput = await (r.transform ? r.transform(d) : d), r.resolvedInput)
2132
+ for (const h of await Vl(r)) {
2133
+ const V = { tag: h, entry: r, resolvedOptions: p.resolvedOptions };
2134
+ await n.callHook("tag:normalise", V), c.tags.push(V.tag);
2135
+ }
2136
+ }
2137
+ return await n.callHook("tags:beforeResolve", c), await n.callHook("tags:resolve", c), await n.callHook("tags:afterResolve", c), c.tags;
2138
+ },
2139
+ ssr: o
2140
+ };
2141
+ return [
2142
+ Al,
2143
+ Dl,
2144
+ Sl,
2145
+ Bl,
2146
+ El,
2147
+ Ll,
2148
+ Ul,
2149
+ Rl,
2150
+ ...l?.plugins || []
2151
+ ].forEach((c) => p.use(c)), p.hooks.callHook("init", p), p;
2152
+ }
2153
+ const Ol = lo.startsWith("3");
2154
+ function jl(l) {
2155
+ return typeof l == "function" ? l() : t(l);
2156
+ }
2157
+ function et(l, n = "") {
2158
+ if (l instanceof Promise)
2159
+ return l;
2160
+ const o = jl(l);
2161
+ return !l || !o ? o : Array.isArray(o) ? o.map((e) => et(e, n)) : typeof o == "object" ? Object.fromEntries(
2162
+ Object.entries(o).map(([e, i]) => e === "titleTemplate" || e.startsWith("on") ? [e, t(i)] : [e, et(i, e)])
2163
+ ) : o;
2164
+ }
2165
+ const Gl = {
2166
+ hooks: {
2167
+ "entries:resolve": function(l) {
2168
+ for (const n of l.entries)
2169
+ n.resolvedInput = et(n.input);
2170
+ }
2171
+ }
2172
+ }, ql = "usehead";
2173
+ function Wl(l) {
2174
+ return {
2175
+ install(o) {
2176
+ Ol && (o.config.globalProperties.$unhead = l, o.config.globalProperties.$head = l, o.provide(ql, l));
2177
+ }
2178
+ }.install;
2179
+ }
2180
+ function Kl(l = {}) {
2181
+ l.domDelayFn = l.domDelayFn || ((o) => no(() => setTimeout(() => o(), 0)));
2182
+ const n = /* @__PURE__ */ Nl(l);
2183
+ return n.use(Gl), n.install = Wl(n), n;
2184
+ }
2185
+ const zl = so(), xl = Kl(), Jl = co();
2186
+ class Yl extends HTMLElement {
2187
+ vueApp;
2188
+ constructor() {
2189
+ super();
2190
+ }
2191
+ disconnectedCallback() {
2192
+ this.vueApp.unmount();
2193
+ }
2194
+ connectedCallback() {
2195
+ const n = typeof Ce == "function" ? Ce.options : Ce;
2196
+ let o = Array.isArray(n.props) ? n.props : Object.keys(n.props || {});
2197
+ const e = (c) => c.replace(/[A-Z]+(?![a-z])|[A-Z]/g, (r, d) => (d ? "-" : "") + r.toLowerCase()), i = (c) => c.replace(/-./g, (r) => r[1].toUpperCase()), s = {};
2198
+ o = o.map(e);
2199
+ const m = {};
2200
+ for (const c of this.attributes) {
2201
+ const d = c.name.split(".");
2202
+ d.length > 1 && (m[d[0]] || (m[d[0]] = {}), m[d[0]][i(d[1])] = c.value);
2203
+ }
2204
+ for (const c of o) {
2205
+ let r = this.attributes.getNamedItem(c)?.value;
2206
+ m.hasOwnProperty(c) && (r = m[c]), s[c] = r;
2207
+ }
2208
+ this.vueApp = ao(Ce, s), this.vueApp.provide("emitter", Jl), this.vueApp.use(xl), this.vueApp.use(zl), this.vueApp.use(To), this.vueApp.use(ro), this.vueApp.use($o), this.vueApp.use(vo, { bootstrap: !0 });
2209
+ const p = document.createElement("div");
2210
+ this.vueApp.mount(p), this.appendChild(p.children[0]);
2211
+ }
2212
+ }
2213
+ window.customElements.define("konnectio-hotel", Yl);
11
2214
  export {
12
- s as default
2215
+ Yl as default
13
2216
  };
2217
+ //# sourceMappingURL=hotel.js.map