@konnectio/core 4.0.56-rc6 → 4.0.56-rc8

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