@konnectio/core 4.0.55 → 4.0.56-rc10

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 (195) hide show
  1. package/README.md +7 -7
  2. package/dist/{ActionField-89f587d4.js → ActionField-1TedZ-ol.js} +10 -12
  3. package/dist/ActionField-1TedZ-ol.js.br +0 -0
  4. package/dist/AvailabilitySkeleton-IRkVJKVI.js +214 -0
  5. package/dist/AvailabilitySkeleton-IRkVJKVI.js.br +0 -0
  6. package/dist/{CheckoutWindow-df8612e3.js → CheckoutWindow-GzqBHFb5.js} +37 -34
  7. package/dist/CheckoutWindow-GzqBHFb5.js.br +0 -0
  8. package/dist/{DateField.vue_vue_type_style_index_0_lang-bbaed106.js → DateField.vue_vue_type_style_index_0_lang-N7m8Y11B.js} +2664 -2660
  9. package/dist/DateField.vue_vue_type_style_index_0_lang-N7m8Y11B.js.br +0 -0
  10. package/dist/Field-agqP-A21.js +42 -0
  11. package/dist/Field-agqP-A21.js.br +0 -0
  12. package/dist/{SelectField.vue_vue_type_style_index_0_lang-11cea6ba.js → SelectField.vue_vue_type_style_index_0_lang-Throo8e2.js} +10010 -9879
  13. package/dist/SelectField.vue_vue_type_style_index_0_lang-Throo8e2.js.br +0 -0
  14. package/dist/{ThankYou-159b55d6.js → ThankYou-0uAYL16f.js} +2318 -1988
  15. package/dist/ThankYou-0uAYL16f.js.br +0 -0
  16. package/dist/_-K1FuFdRs.js +19 -0
  17. package/dist/{_commonjsHelpers-aeeeeb92.js → _commonjsHelpers-2ufMB8rV.js} +2 -2
  18. package/dist/availability.js +135 -112
  19. package/dist/availability.js.br +0 -0
  20. package/dist/{event-6cd5d9be.js → event-Jiun7WTg.js} +23 -23
  21. package/dist/event-Jiun7WTg.js.br +0 -0
  22. package/dist/event.js +448 -425
  23. package/dist/event.js.br +0 -0
  24. package/dist/gift-card-validation.js +80 -67
  25. package/dist/gift-card-validation.js.br +0 -0
  26. package/dist/gift-card.js +281 -261
  27. package/dist/gift-card.js.br +0 -0
  28. package/dist/hotel-7JmuavEN.js +3108 -0
  29. package/dist/hotel-7JmuavEN.js.br +0 -0
  30. package/dist/hotel.js +12 -3093
  31. package/dist/polyfill.js +3032 -3065
  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 +33 -25
  36. package/dist/ActionField-087c3437.cjs +0 -1
  37. package/dist/ActionField-89f587d4.js.br +0 -0
  38. package/dist/AvailabilitySkeleton-01aab3cb.js +0 -237
  39. package/dist/AvailabilitySkeleton-01aab3cb.js.br +0 -0
  40. package/dist/AvailabilitySkeleton-452df88c.cjs +0 -1
  41. package/dist/CheckoutWindow-1d77f68c.cjs +0 -1
  42. package/dist/CheckoutWindow-df8612e3.js.br +0 -0
  43. package/dist/Container-3af1f7f7.cjs +0 -1
  44. package/dist/Container-9f1ed24c.js +0 -59
  45. package/dist/Container-9f1ed24c.js.br +0 -0
  46. package/dist/DateField.vue_vue_type_style_index_0_lang-b5676dde.cjs +0 -2
  47. package/dist/DateField.vue_vue_type_style_index_0_lang-bbaed106.js.br +0 -0
  48. package/dist/Field-43273ca2.cjs +0 -1
  49. package/dist/Field-92684198.js +0 -42
  50. package/dist/Field-92684198.js.br +0 -0
  51. package/dist/NumberField.vue_vue_type_script_setup_true_lang-a149d388.cjs +0 -1
  52. package/dist/NumberField.vue_vue_type_script_setup_true_lang-ce6f0b17.js +0 -67
  53. package/dist/NumberField.vue_vue_type_script_setup_true_lang-ce6f0b17.js.br +0 -0
  54. package/dist/SelectField.vue_vue_type_style_index_0_lang-11cea6ba.js.br +0 -0
  55. package/dist/SelectField.vue_vue_type_style_index_0_lang-b1435f5a.cjs +0 -856
  56. package/dist/ThankYou-159b55d6.js.br +0 -0
  57. package/dist/ThankYou-c1cbecac.cjs +0 -59
  58. package/dist/_-52440760.js +0 -20
  59. package/dist/_-fbbc271a.cjs +0 -1
  60. package/dist/_commonjsHelpers-6763f629.cjs +0 -1
  61. package/dist/assets/typescript/mixins.d.ts +0 -34
  62. package/dist/availability.cjs +0 -2
  63. package/dist/availability.d.ts +0 -3
  64. package/dist/components/Alert.vue.d.ts +0 -5
  65. package/dist/components/Alert.vue.d.ts.map +0 -1
  66. package/dist/components/Clickable.vue.d.ts +0 -5
  67. package/dist/components/Clickable.vue.d.ts.map +0 -1
  68. package/dist/components/Container.vue.d.ts +0 -5
  69. package/dist/components/Container.vue.d.ts.map +0 -1
  70. package/dist/components/ErrorMessage.vue.d.ts +0 -5
  71. package/dist/components/ErrorMessage.vue.d.ts.map +0 -1
  72. package/dist/components/Gallery.vue.d.ts +0 -4
  73. package/dist/components/Gallery.vue.d.ts.map +0 -1
  74. package/dist/components/GoogleNotice.vue.d.ts +0 -4
  75. package/dist/components/GoogleNotice.vue.d.ts.map +0 -1
  76. package/dist/components/Icon.vue.d.ts +0 -5
  77. package/dist/components/Icon.vue.d.ts.map +0 -1
  78. package/dist/components/Loading.vue.d.ts +0 -5
  79. package/dist/components/Loading.vue.d.ts.map +0 -1
  80. package/dist/components/Spinner.vue.d.ts +0 -4
  81. package/dist/components/Spinner.vue.d.ts.map +0 -1
  82. package/dist/components/forms/EventAvailabilityForm.vue.d.ts +0 -5
  83. package/dist/components/forms/EventAvailabilityForm.vue.d.ts.map +0 -1
  84. package/dist/components/forms/HotelAvailabilityForm.vue.d.ts +0 -5
  85. package/dist/components/forms/HotelAvailabilityForm.vue.d.ts.map +0 -1
  86. package/dist/components/forms/HotelReservationForm.vue.d.ts +0 -4
  87. package/dist/components/forms/HotelReservationForm.vue.d.ts.map +0 -1
  88. package/dist/components/forms/MultiStepForm.vue.d.ts +0 -5
  89. package/dist/components/forms/MultiStepForm.vue.d.ts.map +0 -1
  90. package/dist/components/forms/ReservationForm.vue.d.ts +0 -6
  91. package/dist/components/forms/ReservationForm.vue.d.ts.map +0 -1
  92. package/dist/components/forms/_.vue.d.ts +0 -4
  93. package/dist/components/forms/_.vue.d.ts.map +0 -1
  94. package/dist/components/inputs/Checkbox.vue.d.ts +0 -5
  95. package/dist/components/inputs/Checkbox.vue.d.ts.map +0 -1
  96. package/dist/components/inputs/CheckboxField.vue.d.ts +0 -5
  97. package/dist/components/inputs/CheckboxField.vue.d.ts.map +0 -1
  98. package/dist/components/inputs/DateField.vue.d.ts +0 -5
  99. package/dist/components/inputs/DateField.vue.d.ts.map +0 -1
  100. package/dist/components/inputs/InputField.vue.d.ts +0 -5
  101. package/dist/components/inputs/InputField.vue.d.ts.map +0 -1
  102. package/dist/components/inputs/MediaSelector.vue.d.ts +0 -5
  103. package/dist/components/inputs/MediaSelector.vue.d.ts.map +0 -1
  104. package/dist/components/inputs/NumberField.vue.d.ts +0 -5
  105. package/dist/components/inputs/NumberField.vue.d.ts.map +0 -1
  106. package/dist/components/inputs/SelectField.vue.d.ts +0 -5
  107. package/dist/components/inputs/SelectField.vue.d.ts.map +0 -1
  108. package/dist/components/inputs/TextField.vue.d.ts +0 -5
  109. package/dist/components/inputs/TextField.vue.d.ts.map +0 -1
  110. package/dist/components/inputs/TimeField.vue.d.ts +0 -5
  111. package/dist/components/inputs/TimeField.vue.d.ts.map +0 -1
  112. package/dist/components/inputs/grouped/ActionField.vue.d.ts +0 -5
  113. package/dist/components/inputs/grouped/ActionField.vue.d.ts.map +0 -1
  114. package/dist/components/inputs/grouped/CountryField.vue.d.ts +0 -5
  115. package/dist/components/inputs/grouped/CountryField.vue.d.ts.map +0 -1
  116. package/dist/components/inputs/grouped/NameField.vue.d.ts +0 -5
  117. package/dist/components/inputs/grouped/NameField.vue.d.ts.map +0 -1
  118. package/dist/components/inputs/grouped/PhoneField.vue.d.ts +0 -5
  119. package/dist/components/inputs/grouped/PhoneField.vue.d.ts.map +0 -1
  120. package/dist/components/inputs/grouped/RoomConfigField.vue.d.ts +0 -5
  121. package/dist/components/inputs/grouped/RoomConfigField.vue.d.ts.map +0 -1
  122. package/dist/components/listings/Base.vue.d.ts +0 -6
  123. package/dist/components/listings/Base.vue.d.ts.map +0 -1
  124. package/dist/components/listings/Event.vue.d.ts +0 -5
  125. package/dist/components/listings/Event.vue.d.ts.map +0 -1
  126. package/dist/components/listings/Hotel.vue.d.ts +0 -5
  127. package/dist/components/listings/Hotel.vue.d.ts.map +0 -1
  128. package/dist/components/listings/Template.vue.d.ts +0 -5
  129. package/dist/components/listings/Template.vue.d.ts.map +0 -1
  130. package/dist/components/side-panels/Base.vue.d.ts +0 -6
  131. package/dist/components/side-panels/Base.vue.d.ts.map +0 -1
  132. package/dist/components/side-panels/ListingInfo.vue.d.ts +0 -5
  133. package/dist/components/side-panels/ListingInfo.vue.d.ts.map +0 -1
  134. package/dist/components/side-panels/Template.vue.d.ts +0 -5
  135. package/dist/components/side-panels/Template.vue.d.ts.map +0 -1
  136. package/dist/components/side-panels/TermsOfService.vue.d.ts +0 -5
  137. package/dist/components/side-panels/TermsOfService.vue.d.ts.map +0 -1
  138. package/dist/components/skeletons/AvailabilitySkeleton.vue.d.ts +0 -5
  139. package/dist/components/skeletons/AvailabilitySkeleton.vue.d.ts.map +0 -1
  140. package/dist/components/skeletons/Field.vue.d.ts +0 -5
  141. package/dist/components/skeletons/Field.vue.d.ts.map +0 -1
  142. package/dist/components/skeletons/GiftCardSkeleton.vue.d.ts +0 -5
  143. package/dist/components/skeletons/GiftCardSkeleton.vue.d.ts.map +0 -1
  144. package/dist/components/skeletons/HotelSkeleton.vue.d.ts +0 -5
  145. package/dist/components/skeletons/HotelSkeleton.vue.d.ts.map +0 -1
  146. package/dist/components/skeletons/Listing.vue.d.ts +0 -5
  147. package/dist/components/skeletons/Listing.vue.d.ts.map +0 -1
  148. package/dist/components/skeletons/Sidebar.vue.d.ts +0 -5
  149. package/dist/components/skeletons/Sidebar.vue.d.ts.map +0 -1
  150. package/dist/components/skeletons/_.vue.d.ts +0 -5
  151. package/dist/components/skeletons/_.vue.d.ts.map +0 -1
  152. package/dist/components/views/CheckoutWindow.vue.d.ts +0 -5
  153. package/dist/components/views/CheckoutWindow.vue.d.ts.map +0 -1
  154. package/dist/components/views/TermsOfService.vue.d.ts +0 -5
  155. package/dist/components/views/TermsOfService.vue.d.ts.map +0 -1
  156. package/dist/components/views/ThankYou.vue.d.ts +0 -5
  157. package/dist/components/views/ThankYou.vue.d.ts.map +0 -1
  158. package/dist/entries/availability.d.ts +0 -5
  159. package/dist/entries/event.d.ts +0 -2
  160. package/dist/entries/gift-card-validation.d.ts +0 -2
  161. package/dist/entries/gift-card.d.ts +0 -1
  162. package/dist/entries/hotel.d.ts +0 -0
  163. package/dist/entries/navigation.d.ts +0 -1
  164. package/dist/entries/polyfill.d.ts +0 -0
  165. package/dist/event-6cd5d9be.js.br +0 -0
  166. package/dist/event-dfc9ed16.cjs +0 -1
  167. package/dist/event.cjs +0 -1
  168. package/dist/event.d.ts +0 -3
  169. package/dist/gift-card-validation.cjs +0 -1
  170. package/dist/gift-card-validation.d.ts +0 -3
  171. package/dist/gift-card.cjs +0 -1
  172. package/dist/gift-card.d.ts +0 -1
  173. package/dist/hotel.cjs +0 -19
  174. package/dist/hotel.d.ts +0 -1
  175. package/dist/hotel.js.br +0 -0
  176. package/dist/layouts/Availability.vue.d.ts +0 -25
  177. package/dist/layouts/Event.vue.d.ts +0 -18
  178. package/dist/layouts/GiftCard.vue.d.ts +0 -32
  179. package/dist/layouts/GiftCardValidation.vue.d.ts +0 -18
  180. package/dist/layouts/Hotel.vue.d.ts +0 -36
  181. package/dist/layouts/_.vue.d.ts +0 -39
  182. package/dist/navigation.cjs +0 -1
  183. package/dist/navigation.d.ts +0 -1
  184. package/dist/plugins/i18n.d.ts +0 -5
  185. package/dist/polyfill.cjs +0 -4
  186. package/dist/polyfill.d.ts +0 -1
  187. package/dist/store/alert.d.ts +0 -28
  188. package/dist/store/applyGiftCard.d.ts +0 -28
  189. package/dist/store/availability.d.ts +0 -40
  190. package/dist/store/event.d.ts +0 -683
  191. package/dist/store/giftCard.d.ts +0 -83
  192. package/dist/store/payment.d.ts +0 -139
  193. package/dist/store/tracking.d.ts +0 -57
  194. package/dist/store/utilities.d.ts +0 -365
  195. package/dist/types/index.d.ts +0 -968
@@ -0,0 +1,3108 @@
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-Throo8e2.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-0uAYL16f.js";
3
+ import { A as Ho, H as Oo } from "./AvailabilitySkeleton-IRkVJKVI.js";
4
+ import { _ as Ao } from "./DateField.vue_vue_type_style_index_0_lang-N7m8Y11B.js";
5
+ import { C as Fe, P as Do, a as Mo } from "./CheckoutWindow-GzqBHFb5.js";
6
+ import { E as Y } from "./_-K1FuFdRs.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: s,
19
+ arrivalDefault: h,
20
+ departureDefault: u,
21
+ currency: d
22
+ } = K(he()), {
23
+ arrivalDate: l,
24
+ departureDate: f
25
+ } = K(gt()), {
26
+ arrivalTime: m,
27
+ departureTime: _,
28
+ roomDisplay: c,
29
+ templateID: b,
30
+ totalPrice: k,
31
+ areListingsLoading: g,
32
+ getSelectedPackageRoom: i,
33
+ selectedPackage: r,
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(g),
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(l)) : `${a(te)(a(l))}, ${a(p) ? a(h) : a(m)}`), 1)
53
+ ]),
54
+ y("li", null, [
55
+ y("span", null, V(a(e)("booking.reservation.departure")), 1),
56
+ y("b", null, V(a(n) ? a(te)(a(f)) : `${a(te)(a(f))}, ${a(s) ? a(u) : 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(l), a(f))) + " " + V(a(ho)(a(Xe)(a(l), 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(c).length > 0 ? (E(!0), I(B, { key: 0 }, z(a(c), ({
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(d))), 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(d))), 1)
109
+ ])) : x("", !0)
110
+ ]))), 128))
111
+ ]))), 128))
112
+ ]))), 128)) : x("", !0),
113
+ a(i) && a(r) ? (E(), I("div", Bo, [
114
+ y("h6", null, [
115
+ y("span", null, V(a(ue)(a(r).name)), 1)
116
+ ]),
117
+ y("div", null, [
118
+ y("ul", null, [
119
+ y("li", null, [
120
+ y("span", null, [
121
+ y("span", null, V(a(ue)(a(i).title)), 1)
122
+ ]),
123
+ y("b", null, [
124
+ y("span", null, V(a(oe)(a(i).extraPrice, a(d))), 1)
125
+ ])
126
+ ])
127
+ ])
128
+ ])
129
+ ])) : x("", !0)
130
+ ]),
131
+ navigation: w(() => [
132
+ Le(L.$slots, "navigation")
133
+ ]),
134
+ _: 2
135
+ }, [
136
+ a(t).addons ? {
137
+ name: "addons",
138
+ fn: w(() => [
139
+ Le(L.$slots, "addons")
140
+ ]),
141
+ key: "0"
142
+ } : void 0
143
+ ]), 1032, ["total-price", "show-gift-card", "show-terms-notice", "is-sidebar-loading", "notice"]));
144
+ }
145
+ }), zo = (o) => (vt("data-v-69fe83d8"), o = o(), yt(), o), Wo = { class: "konnectio-room-config-option" }, Fo = { key: 0 }, No = { class: "konnectio-selected-room-config" }, Uo = { class: "konnectio-selected-room-config-people" }, qo = { key: 0 }, 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, s = o;
157
+ function h(d) {
158
+ p("update:modelValue", d);
159
+ }
160
+ const u = U({
161
+ get: () => s.modelValue,
162
+ set: (d) => h(d)
163
+ });
164
+ return (d, l) => (E(), R(Ee, {
165
+ modelValue: u.value,
166
+ "onUpdate:modelValue": l[0] || (l[0] = (f) => u.value = f),
167
+ label: d.label,
168
+ placeholder: "Select guest configuration",
169
+ labelKey: "label",
170
+ valueKey: "value",
171
+ "icon-placement": "label",
172
+ options: d.options,
173
+ readonly: d.readonly,
174
+ required: d.required,
175
+ searchable: !1
176
+ }, {
177
+ option: w(({ data: f }) => [
178
+ y("span", Wo, [
179
+ y("div", null, [
180
+ 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(r) {
229
+ n.value[r].config.push({
230
+ id: NaN,
231
+ units: 0,
232
+ addons: []
233
+ });
234
+ }
235
+ const s = U(() => t.room.rates.map((r) => ({
236
+ label: r.name,
237
+ value: r.id
238
+ }))), { hideAvailableRoomAmount: h } = K(he()), { roomSelect: u } = K(ie()), { addToCart: d, removeFromCart: l } = bt(), f = (r, v) => t.room.rates.find((T) => T.id === r)?.occupantRates.find((T) => T.index === v), m = U(() => t.room.rates.reduce(
239
+ (r, v) => r < v.rackRate ? r : v.rackRate,
240
+ 1 / 0
241
+ )), _ = U(() => t.room.rates.every((r) => r.isBreakfastIncluded === !0)), c = (r, v) => f(r, v) ? f(r, v)?.rooms : null, b = (r) => t.room.rates.length > 0 ? t.room.rates.find((v) => v.id === r)?.occupantRates.map((v) => ({
242
+ value: v.index,
243
+ price: v.totalPrice,
244
+ adults: v.adultsCount,
245
+ children: v.childrenCount,
246
+ hasBreakfast: v.hasBreakfast
247
+ })) || [] : [], k = U(() => t.room.rates.length > 1);
248
+ function g() {
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
+ g();
267
+ });
268
+ const i = U(() => JSON.parse(JSON.stringify(n.value)));
269
+ return be(i, (r, v) => {
270
+ v.length > 0 && r.forEach((T, $) => {
271
+ T.config.forEach((L, H) => {
272
+ const A = L.units, D = v[$].config[H].units;
273
+ A !== D && (A > D ? (n.value[$].config[H].addons.push({}), d({
274
+ id: t.room.id,
275
+ name: t.room.title,
276
+ value: t.room.rates[$].rackRate
277
+ })) : (n.value[$].config[H].addons.pop(), l({
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
+ u.value[t.room.id] = n.value;
286
+ }, { deep: !0 }), (r, v) => (E(), R(je, {
287
+ "listing-id": r.room.id,
288
+ gallery: r.room.images,
289
+ name: r.room.title,
290
+ description: r.room.description,
291
+ layout: r.layout,
292
+ facilities: r.room.facilities,
293
+ "prices-from": m.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: s.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(r.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")}: ${c(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": c(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: s } = ie(), h = o;
368
+ function u(d) {
369
+ t.value = h.templateId, n.value = d, s(), h.callback(2);
370
+ }
371
+ return (d, l) => (E(), R(Vo, {
372
+ title: d.title,
373
+ subtitle: a(e)("booking.availability.selectATemplateRoom")
374
+ }, {
375
+ default: w(() => [
376
+ y("div", on, [
377
+ y("div", nn, [
378
+ (E(!0), I(B, null, z(d.roomGroups, ({
379
+ id: f,
380
+ title: m,
381
+ description: _,
382
+ images: c,
383
+ facilities: b,
384
+ extraPrice: k
385
+ }) => (E(), R(je, {
386
+ key: f,
387
+ "listing-id": f,
388
+ name: m,
389
+ description: _,
390
+ facilities: b,
391
+ gallery: c,
392
+ "includes-breakfast": !1,
393
+ "hide-info-button": !0
394
+ }, {
395
+ action: w(() => [
396
+ y("div", null, [
397
+ C(le, {
398
+ onClickEvent: (g) => u(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
+ (d, l) => d < l.extraPrice ? d : l.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
+ }]), s = ce(!1);
433
+ function h() {
434
+ s.value = !0;
435
+ }
436
+ function u(d) {
437
+ t.callback(d), s.value = !1;
438
+ }
439
+ return (d, l) => (E(), R(je, {
440
+ "listing-id": d.id,
441
+ name: d.name,
442
+ description: d.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
+ d.description ? (E(), I("p", {
451
+ key: 0,
452
+ innerHTML: a(fo)(d.description)
453
+ }, null, 8, an)) : x("", !0)
454
+ ]),
455
+ action: w(() => [
456
+ y("div", null, [
457
+ 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: s.value,
467
+ "onUpdate:modelValue": l[0] || (l[0] = (f) => s.value = f),
468
+ title: d.name,
469
+ "template-id": d.id,
470
+ roomGroups: d.roomGroups,
471
+ callback: u
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 s = ce(n.modelValue);
507
+ return be(s, (h) => {
508
+ p(h);
509
+ }), (h, u) => (E(), R(Ao, {
510
+ modelValue: s.value,
511
+ "onUpdate:modelValue": u[0] || (u[0] = (d) => s.value = d),
512
+ type: "time",
513
+ label: h.label,
514
+ id: h.id,
515
+ name: h.name,
516
+ icon: h.icon,
517
+ "icon-type": h.iconType,
518
+ "icon-color": h.iconColor,
519
+ "auto-apply": !0,
520
+ required: h.required,
521
+ readonly: h.readonly
522
+ }, null, 8, ["modelValue", "label", "id", "name", "icon", "icon-type", "icon-color", "required", "readonly"]));
523
+ }
524
+ }), dn = { style: { display: "flex", "align-items": "baseline" } }, cn = /* @__PURE__ */ 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 s(u) {
538
+ n("update:modelValue", u);
539
+ }
540
+ const h = U({
541
+ get: () => p.modelValue,
542
+ set: (u) => s(u)
543
+ });
544
+ return (u, d) => (E(), R(Ee, {
545
+ modelValue: h.value,
546
+ "onUpdate:modelValue": d[0] || (d[0] = (l) => h.value = l),
547
+ label: u.label,
548
+ placeholder: a(t)("booking.reservation.countryPlaceholder"),
549
+ labelKey: "name",
550
+ valueKey: "id",
551
+ options: u.options,
552
+ required: u.required
553
+ }, {
554
+ option: w(({ data: l }) => [
555
+ y("i", {
556
+ class: ke(["konnectio-flag-icon", l.iso])
557
+ }, null, 2),
558
+ y("span", null, V(l.name), 1)
559
+ ]),
560
+ "selected-option": w(({ data: l }) => [
561
+ y("div", dn, [
562
+ y("i", {
563
+ class: ke(["konnectio-flag-icon", l.iso])
564
+ }, null, 2),
565
+ y("span", null, V(l.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 s = U({
586
+ get: () => n.modelValue,
587
+ set: (h) => p(h)
588
+ });
589
+ return (h, u) => (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: d, value: l }, f) => (E(), I("li", { key: f }, [
596
+ C(Fe, {
597
+ modelValue: s.value,
598
+ "onUpdate:modelValue": u[0] || (u[0] = (m) => s.value = m),
599
+ label: d,
600
+ name: h.name,
601
+ type: "radio",
602
+ val: l
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(), s = ce(""), h = ce(2);
633
+ function u() {
634
+ n("update:modelValue", s.value);
635
+ }
636
+ be(h, (l) => {
637
+ n("update:title", l);
638
+ });
639
+ const { t: d } = ne();
640
+ return qe(() => {
641
+ t.modelValue && (s.value = t.modelValue), t.title && (h.value = t.title);
642
+ }), (l, f) => (E(), R(_t, {
643
+ label: l.label,
644
+ id: a(p),
645
+ required: l.required,
646
+ type: "fresh-booking-name-field",
647
+ readonly: l.readonly,
648
+ limit: l.limit
649
+ }, {
650
+ default: w(() => [
651
+ y("div", {
652
+ class: ke([
653
+ "fresh-booking-name-input",
654
+ { "no-title": l.excludeTitle }
655
+ ])
656
+ }, [
657
+ l.excludeTitle ? x("", !0) : (E(), R(Ee, {
658
+ key: 0,
659
+ modelValue: h.value,
660
+ "onUpdate:modelValue": f[0] || (f[0] = (m) => h.value = m),
661
+ id: a(Ze)(),
662
+ icon: l.icon,
663
+ "icon-color": l.iconColor,
664
+ "icon-type": l.iconType,
665
+ options: [
666
+ {
667
+ label: a(d)("booking.reservation.noNameTitle"),
668
+ value: 1
669
+ },
670
+ {
671
+ label: a(d)("booking.reservation.nameTitleMr"),
672
+ value: 2
673
+ },
674
+ {
675
+ label: a(d)("booking.reservation.nameTitleMs"),
676
+ value: 3
677
+ },
678
+ {
679
+ label: a(d)("booking.reservation.nameTitleMrs"),
680
+ value: 4
681
+ },
682
+ {
683
+ label: a(d)("booking.reservation.nameTitleDr"),
684
+ value: 5
685
+ }
686
+ ],
687
+ readonly: l.readonly,
688
+ "hide-button": "",
689
+ "input-style": l.inputStyle,
690
+ searchable: !1
691
+ }, null, 8, ["modelValue", "id", "icon", "icon-color", "icon-type", "options", "readonly", "input-style"])),
692
+ C(ee, {
693
+ modelValue: s.value,
694
+ "onUpdate:modelValue": f[1] || (f[1] = (m) => s.value = m),
695
+ type: "text",
696
+ name: "name",
697
+ autocomplete: "name",
698
+ id: a(p),
699
+ icon: l.excludeTitle ? l.icon : void 0,
700
+ "icon-color": l.iconColor,
701
+ "icon-type": l.iconType,
702
+ placeholder: l.placeholder,
703
+ required: l.required,
704
+ readonly: l.readonly,
705
+ limit: l.limit,
706
+ onInput: f[2] || (f[2] = (m) => u()),
707
+ "input-style": l.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: s,
828
+ isReservationFormFilled: h,
829
+ travelingFor: u,
830
+ arrivalTime: d,
831
+ departureTime: l,
832
+ name: f,
833
+ nameTitle: m,
834
+ email: _,
835
+ phone: c,
836
+ firmName: b,
837
+ postal: k,
838
+ city: g,
839
+ address: i,
840
+ country: r,
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
+ d.value === "" && (d.value = Bt.value), l.value === "" && (l.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(d),
1171
+ "onUpdate:modelValue": P[1] || (P[1] = (S) => F(d) ? d.value = S : null),
1172
+ label: a(e)("booking.reservation.arrivalTime"),
1173
+ icon: "hourglass-start",
1174
+ "hour-range": to.value,
1175
+ required: ""
1176
+ }, null, 8, ["modelValue", "label", "hour-range"])
1177
+ ])),
1178
+ a(Ie) ? x("", !0) : (E(), I("li", ii, [
1179
+ C(tt, {
1180
+ modelValue: a(l),
1181
+ "onUpdate:modelValue": P[2] || (P[2] = (S) => F(l) ? l.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(m),
1193
+ "onUpdate:title": P[4] || (P[4] = (S) => F(m) ? m.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(c),
1232
+ "onUpdate:modelValue": P[8] || (P[8] = (S) => F(c) ? c.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(r),
1240
+ "onUpdate:modelValue": P[9] || (P[9] = (S) => F(r) ? r.value = S : null),
1241
+ label: a(e)("booking.reservation.country"),
1242
+ placeholder: a(e)("booking.reservation.countryPlaceholder"),
1243
+ options: a(n),
1244
+ required: ""
1245
+ }, null, 8, ["modelValue", "label", "placeholder", "options"]),
1246
+ 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(g),
1274
+ "onUpdate:modelValue": P[12] || (P[12] = (S) => F(g) ? g.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(u),
1304
+ "onUpdate:modelValue": P[15] || (P[15] = (S) => F(u) ? u.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(s),
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 s = this._events = this._events || {}, h = s[n] = s[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 s = this._onceEvents = this._onceEvents || {}, h = s[n] = s[n] || {};
1373
+ return h[p] = !0, this;
1374
+ }
1375
+ }, t.off = function(n, p) {
1376
+ var s = this._events && this._events[n];
1377
+ if (!(!s || !s.length)) {
1378
+ var h = s.indexOf(p);
1379
+ return h != -1 && s.splice(h, 1), this;
1380
+ }
1381
+ }, t.emitEvent = function(n, p) {
1382
+ var s = this._events && this._events[n];
1383
+ if (!(!s || !s.length)) {
1384
+ s = s.slice(0), p = p || [];
1385
+ for (var h = this._onceEvents && this._onceEvents[n], u = 0; u < s.length; u++) {
1386
+ var d = s[u], l = h && h[d];
1387
+ l && (this.off(n, d), delete h[d]), d.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(c) {
1410
+ var b = parseFloat(c), k = c.indexOf("%") == -1 && !isNaN(b);
1411
+ return k && b;
1412
+ }
1413
+ function n() {
1414
+ }
1415
+ var p = typeof console > "u" ? n : function(c) {
1416
+ console.error(c);
1417
+ }, s = [
1418
+ "paddingLeft",
1419
+ "paddingRight",
1420
+ "paddingTop",
1421
+ "paddingBottom",
1422
+ "marginLeft",
1423
+ "marginRight",
1424
+ "marginTop",
1425
+ "marginBottom",
1426
+ "borderLeftWidth",
1427
+ "borderRightWidth",
1428
+ "borderTopWidth",
1429
+ "borderBottomWidth"
1430
+ ], h = s.length;
1431
+ function u() {
1432
+ for (var c = {
1433
+ width: 0,
1434
+ height: 0,
1435
+ innerWidth: 0,
1436
+ innerHeight: 0,
1437
+ outerWidth: 0,
1438
+ outerHeight: 0
1439
+ }, b = 0; b < h; b++) {
1440
+ var k = s[b];
1441
+ c[k] = 0;
1442
+ }
1443
+ return c;
1444
+ }
1445
+ function d(c) {
1446
+ var b = getComputedStyle(c);
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 l = !1, f;
1450
+ function m() {
1451
+ if (!l) {
1452
+ l = !0;
1453
+ var c = document.createElement("div");
1454
+ c.style.width = "200px", c.style.padding = "1px 2px 3px 4px", c.style.borderStyle = "solid", c.style.borderWidth = "1px 2px 3px 4px", c.style.boxSizing = "border-box";
1455
+ var b = document.body || document.documentElement;
1456
+ b.appendChild(c);
1457
+ var k = d(c);
1458
+ f = Math.round(t(k.width)) == 200, _.isBoxSizeOuter = f, b.removeChild(c);
1459
+ }
1460
+ }
1461
+ function _(c) {
1462
+ if (m(), typeof c == "string" && (c = document.querySelector(c)), !(!c || typeof c != "object" || !c.nodeType)) {
1463
+ var b = d(c);
1464
+ if (b.display == "none")
1465
+ return u();
1466
+ var k = {};
1467
+ k.width = c.offsetWidth, k.height = c.offsetHeight;
1468
+ for (var g = k.isBorderBox = b.boxSizing == "border-box", i = 0; i < h; i++) {
1469
+ var r = s[i], v = b[r], T = parseFloat(v);
1470
+ k[r] = isNaN(T) ? 0 : T;
1471
+ }
1472
+ var $ = k.paddingLeft + k.paddingRight, L = k.paddingTop + k.paddingBottom, H = k.marginLeft + k.marginRight, A = k.marginTop + k.marginBottom, D = k.borderLeftWidth + k.borderRightWidth, W = k.borderTopWidth + k.borderBottomWidth, X = g && 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"], s = 0; s < p.length; s++) {
1497
+ var h = p[s], u = h + "MatchesSelector";
1498
+ if (n[u])
1499
+ return u;
1500
+ }
1501
+ }();
1502
+ return function(p, s) {
1503
+ return p[t](s);
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(u, d) {
1522
+ for (var l in d)
1523
+ u[l] = d[l];
1524
+ return u;
1525
+ }, p.modulo = function(u, d) {
1526
+ return (u % d + d) % d;
1527
+ };
1528
+ var s = Array.prototype.slice;
1529
+ p.makeArray = function(u) {
1530
+ if (Array.isArray(u))
1531
+ return u;
1532
+ if (u == null)
1533
+ return [];
1534
+ var d = typeof u == "object" && typeof u.length == "number";
1535
+ return d ? s.call(u) : [u];
1536
+ }, p.removeFrom = function(u, d) {
1537
+ var l = u.indexOf(d);
1538
+ l != -1 && u.splice(l, 1);
1539
+ }, p.getParent = function(u, d) {
1540
+ for (; u.parentNode && u != document.body; )
1541
+ if (u = u.parentNode, n(u, d))
1542
+ return u;
1543
+ }, p.getQueryElement = function(u) {
1544
+ return typeof u == "string" ? document.querySelector(u) : u;
1545
+ }, p.handleEvent = function(u) {
1546
+ var d = "on" + u.type;
1547
+ this[d] && this[d](u);
1548
+ }, p.filterFindElements = function(u, d) {
1549
+ u = p.makeArray(u);
1550
+ var l = [];
1551
+ return u.forEach(function(f) {
1552
+ if (f instanceof HTMLElement) {
1553
+ if (!d) {
1554
+ l.push(f);
1555
+ return;
1556
+ }
1557
+ n(f, d) && l.push(f);
1558
+ for (var m = f.querySelectorAll(d), _ = 0; _ < m.length; _++)
1559
+ l.push(m[_]);
1560
+ }
1561
+ }), l;
1562
+ }, p.debounceMethod = function(u, d, l) {
1563
+ l = l || 100;
1564
+ var f = u.prototype[d], m = d + "Timeout";
1565
+ u.prototype[d] = function() {
1566
+ var _ = this[m];
1567
+ clearTimeout(_);
1568
+ var c = arguments, b = this;
1569
+ this[m] = setTimeout(function() {
1570
+ f.apply(b, c), delete b[m];
1571
+ }, l);
1572
+ };
1573
+ }, p.docReady = function(u) {
1574
+ var d = document.readyState;
1575
+ d == "complete" || d == "interactive" ? setTimeout(u) : document.addEventListener("DOMContentLoaded", u);
1576
+ }, p.toDashed = function(u) {
1577
+ return u.replace(/(.)([A-Z])/g, function(d, l, f) {
1578
+ return l + "-" + f;
1579
+ }).toLowerCase();
1580
+ };
1581
+ var h = t.console;
1582
+ return p.htmlInit = function(u, d) {
1583
+ p.docReady(function() {
1584
+ var l = p.toDashed(d), f = "data-" + l, m = document.querySelectorAll("[" + f + "]"), _ = document.querySelectorAll(".js-" + l), c = p.makeArray(m).concat(p.makeArray(_)), b = f + "-options", k = t.jQuery;
1585
+ c.forEach(function(g) {
1586
+ var i = g.getAttribute(f) || g.getAttribute(b), r;
1587
+ try {
1588
+ r = i && JSON.parse(i);
1589
+ } catch (T) {
1590
+ h && h.error("Error parsing " + f + " on " + g.className + ": " + T);
1591
+ return;
1592
+ }
1593
+ var v = new u(g, r);
1594
+ k && k.data(g, d, 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(g) {
1614
+ for (var i in g)
1615
+ return !1;
1616
+ return i = null, !0;
1617
+ }
1618
+ var s = document.documentElement.style, h = typeof s.transition == "string" ? "transition" : "WebkitTransition", u = typeof s.transform == "string" ? "transform" : "WebkitTransform", d = {
1619
+ WebkitTransition: "webkitTransitionEnd",
1620
+ transition: "transitionend"
1621
+ }[h], l = {
1622
+ transform: u,
1623
+ transition: h,
1624
+ transitionDuration: h + "Duration",
1625
+ transitionProperty: h + "Property",
1626
+ transitionDelay: h + "Delay"
1627
+ };
1628
+ function f(g, i) {
1629
+ g && (this.element = g, this.layout = i, this.position = {
1630
+ x: 0,
1631
+ y: 0
1632
+ }, this._create());
1633
+ }
1634
+ var m = f.prototype = Object.create(t.prototype);
1635
+ m.constructor = f, m._create = function() {
1636
+ this._transn = {
1637
+ ingProperties: {},
1638
+ clean: {},
1639
+ onEnd: {}
1640
+ }, this.css({
1641
+ position: "absolute"
1642
+ });
1643
+ }, m.handleEvent = function(g) {
1644
+ var i = "on" + g.type;
1645
+ this[i] && this[i](g);
1646
+ }, m.getSize = function() {
1647
+ this.size = n(this.element);
1648
+ }, m.css = function(g) {
1649
+ var i = this.element.style;
1650
+ for (var r in g) {
1651
+ var v = l[r] || r;
1652
+ i[v] = g[r];
1653
+ }
1654
+ }, m.getPosition = function() {
1655
+ var g = getComputedStyle(this.element), i = this.layout._getOption("originLeft"), r = this.layout._getOption("originTop"), v = g[i ? "left" : "right"], T = g[r ? "top" : "bottom"], $ = parseFloat(v), L = parseFloat(T), H = this.layout.size;
1656
+ v.indexOf("%") != -1 && ($ = $ / 100 * H.width), T.indexOf("%") != -1 && (L = L / 100 * H.height), $ = isNaN($) ? 0 : $, L = isNaN(L) ? 0 : L, $ -= i ? H.paddingLeft : H.paddingRight, L -= r ? H.paddingTop : H.paddingBottom, this.position.x = $, this.position.y = L;
1657
+ }, m.layoutPosition = function() {
1658
+ var g = this.layout.size, i = {}, r = this.layout._getOption("originLeft"), v = this.layout._getOption("originTop"), T = r ? "paddingLeft" : "paddingRight", $ = r ? "left" : "right", L = r ? "right" : "left", H = this.position.x + g[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 + g[A];
1661
+ i[D] = this.getYValue(X), i[W] = "", this.css(i), this.emitEvent("layout", [this]);
1662
+ }, m.getXValue = function(g) {
1663
+ var i = this.layout._getOption("horizontal");
1664
+ return this.layout.options.percentPosition && !i ? g / this.layout.size.width * 100 + "%" : g + "px";
1665
+ }, m.getYValue = function(g) {
1666
+ var i = this.layout._getOption("horizontal");
1667
+ return this.layout.options.percentPosition && i ? g / this.layout.size.height * 100 + "%" : g + "px";
1668
+ }, m._transitionTo = function(g, i) {
1669
+ this.getPosition();
1670
+ var r = this.position.x, v = this.position.y, T = g == this.position.x && i == this.position.y;
1671
+ if (this.setPosition(g, i), T && !this.isTransitioning) {
1672
+ this.layoutPosition();
1673
+ return;
1674
+ }
1675
+ var $ = g - r, L = i - v, H = {};
1676
+ H.transform = this.getTranslate($, L), this.transition({
1677
+ to: H,
1678
+ onTransitionEnd: {
1679
+ transform: this.layoutPosition
1680
+ },
1681
+ isCleaning: !0
1682
+ });
1683
+ }, m.getTranslate = function(g, i) {
1684
+ var r = this.layout._getOption("originLeft"), v = this.layout._getOption("originTop");
1685
+ return g = r ? g : -g, i = v ? i : -i, "translate3d(" + g + "px, " + i + "px, 0)";
1686
+ }, m.goTo = function(g, i) {
1687
+ this.setPosition(g, i), this.layoutPosition();
1688
+ }, m.moveTo = m._transitionTo, m.setPosition = function(g, i) {
1689
+ this.position.x = parseFloat(g), this.position.y = parseFloat(i);
1690
+ }, m._nonTransition = function(g) {
1691
+ this.css(g.to), g.isCleaning && this._removeStyles(g.to);
1692
+ for (var i in g.onTransitionEnd)
1693
+ g.onTransitionEnd[i].call(this);
1694
+ }, m.transition = function(g) {
1695
+ if (!parseFloat(this.layout.options.transitionDuration)) {
1696
+ this._nonTransition(g);
1697
+ return;
1698
+ }
1699
+ var i = this._transn;
1700
+ for (var r in g.onTransitionEnd)
1701
+ i.onEnd[r] = g.onTransitionEnd[r];
1702
+ for (r in g.to)
1703
+ i.ingProperties[r] = !0, g.isCleaning && (i.clean[r] = !0);
1704
+ g.from && (this.css(g.from), this.element.offsetHeight), this.enableTransition(g.to), this.css(g.to), this.isTransitioning = !0;
1705
+ };
1706
+ function _(g) {
1707
+ return g.replace(/([A-Z])/g, function(i) {
1708
+ return "-" + i.toLowerCase();
1709
+ });
1710
+ }
1711
+ var c = "opacity," + _(u);
1712
+ m.enableTransition = function() {
1713
+ if (!this.isTransitioning) {
1714
+ var g = this.layout.options.transitionDuration;
1715
+ g = typeof g == "number" ? g + "ms" : g, this.css({
1716
+ transitionProperty: c,
1717
+ transitionDuration: g,
1718
+ transitionDelay: this.staggerDelay || 0
1719
+ }), this.element.addEventListener(d, this, !1);
1720
+ }
1721
+ }, m.onwebkitTransitionEnd = function(g) {
1722
+ this.ontransitionend(g);
1723
+ }, m.onotransitionend = function(g) {
1724
+ this.ontransitionend(g);
1725
+ };
1726
+ var b = {
1727
+ "-webkit-transform": "transform"
1728
+ };
1729
+ m.ontransitionend = function(g) {
1730
+ if (g.target === this.element) {
1731
+ var i = this._transn, r = b[g.propertyName] || g.propertyName;
1732
+ if (delete i.ingProperties[r], p(i.ingProperties) && this.disableTransition(), r in i.clean && (this.element.style[g.propertyName] = "", delete i.clean[r]), r in i.onEnd) {
1733
+ var v = i.onEnd[r];
1734
+ v.call(this), delete i.onEnd[r];
1735
+ }
1736
+ this.emitEvent("transitionEnd", [this]);
1737
+ }
1738
+ }, m.disableTransition = function() {
1739
+ this.removeTransitionStyles(), this.element.removeEventListener(d, this, !1), this.isTransitioning = !1;
1740
+ }, m._removeStyles = function(g) {
1741
+ var i = {};
1742
+ for (var r in g)
1743
+ i[r] = "";
1744
+ this.css(i);
1745
+ };
1746
+ var k = {
1747
+ transitionProperty: "",
1748
+ transitionDuration: "",
1749
+ transitionDelay: ""
1750
+ };
1751
+ return m.removeTransitionStyles = function() {
1752
+ this.css(k);
1753
+ }, m.stagger = function(g) {
1754
+ g = isNaN(g) ? 0 : g, this.staggerDelay = g + "ms";
1755
+ }, m.removeElem = function() {
1756
+ this.element.parentNode.removeChild(this.element), this.css({ display: "" }), this.emitEvent("remove", [this]);
1757
+ }, m.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
+ }, m.reveal = function() {
1766
+ delete this.isHidden, this.css({ display: "" });
1767
+ var g = this.layout.options, i = {}, r = this.getHideRevealTransitionEndProperty("visibleStyle");
1768
+ i[r] = this.onRevealTransitionEnd, this.transition({
1769
+ from: g.hiddenStyle,
1770
+ to: g.visibleStyle,
1771
+ isCleaning: !0,
1772
+ onTransitionEnd: i
1773
+ });
1774
+ }, m.onRevealTransitionEnd = function() {
1775
+ this.isHidden || this.emitEvent("reveal");
1776
+ }, m.getHideRevealTransitionEndProperty = function(g) {
1777
+ var i = this.layout.options[g];
1778
+ if (i.opacity)
1779
+ return "opacity";
1780
+ for (var r in i)
1781
+ return r;
1782
+ }, m.hide = function() {
1783
+ this.isHidden = !0, this.css({ display: "" });
1784
+ var g = this.layout.options, i = {}, r = this.getHideRevealTransitionEndProperty("hiddenStyle");
1785
+ i[r] = this.onHideTransitionEnd, this.transition({
1786
+ from: g.visibleStyle,
1787
+ to: g.hiddenStyle,
1788
+ // keep hidden stuff hidden
1789
+ isCleaning: !0,
1790
+ onTransitionEnd: i
1791
+ });
1792
+ }, m.onHideTransitionEnd = function() {
1793
+ this.isHidden && (this.css({ display: "none" }), this.emitEvent("hide"));
1794
+ }, m.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, s, h) {
1831
+ var u = t.console, d = t.jQuery, l = function() {
1832
+ }, f = 0, m = {};
1833
+ function _(i, r) {
1834
+ var v = s.getQueryElement(i);
1835
+ if (!v) {
1836
+ u && u.error("Bad element for " + this.constructor.namespace + ": " + (v || i));
1837
+ return;
1838
+ }
1839
+ this.element = v, d && (this.$element = d(this.element)), this.options = s.extend({}, this.constructor.defaults), this.option(r);
1840
+ var T = ++f;
1841
+ this.element.outlayerGUID = T, m[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 c = _.prototype;
1866
+ s.extend(c, n.prototype), c.option = function(i) {
1867
+ s.extend(this.options, i);
1868
+ }, c._getOption = function(i) {
1869
+ var r = this.constructor.compatOptions[i];
1870
+ return r && this.options[r] !== void 0 ? this.options[r] : this.options[i];
1871
+ }, _.compatOptions = {
1872
+ // currentName: oldName
1873
+ initLayout: "isInitLayout",
1874
+ horizontal: "isHorizontal",
1875
+ layoutInstant: "isLayoutInstant",
1876
+ originLeft: "isOriginLeft",
1877
+ originTop: "isOriginTop",
1878
+ resize: "isResizeBound",
1879
+ resizeContainer: "isResizingContainer"
1880
+ }, c._create = function() {
1881
+ this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), s.extend(this.element.style, this.options.containerStyle);
1882
+ var i = this._getOption("resize");
1883
+ i && this.bindResize();
1884
+ }, c.reloadItems = function() {
1885
+ this.items = this._itemize(this.element.children);
1886
+ }, c._itemize = function(i) {
1887
+ for (var r = this._filterFindItemElements(i), v = this.constructor.Item, T = [], $ = 0; $ < r.length; $++) {
1888
+ var L = r[$], H = new v(L, this);
1889
+ T.push(H);
1890
+ }
1891
+ return T;
1892
+ }, c._filterFindItemElements = function(i) {
1893
+ return s.filterFindElements(i, this.options.itemSelector);
1894
+ }, c.getItemElements = function() {
1895
+ return this.items.map(function(i) {
1896
+ return i.element;
1897
+ });
1898
+ }, c.layout = function() {
1899
+ this._resetLayout(), this._manageStamps();
1900
+ var i = this._getOption("layoutInstant"), r = i !== void 0 ? i : !this._isLayoutInited;
1901
+ this.layoutItems(this.items, r), this._isLayoutInited = !0;
1902
+ }, c._init = c.layout, c._resetLayout = function() {
1903
+ this.getSize();
1904
+ }, c.getSize = function() {
1905
+ this.size = p(this.element);
1906
+ }, c._getMeasurement = function(i, r) {
1907
+ var v = this.options[i], T;
1908
+ v ? (typeof v == "string" ? T = this.element.querySelector(v) : v instanceof HTMLElement && (T = v), this[i] = T ? p(T)[r] : v) : this[i] = 0;
1909
+ }, c.layoutItems = function(i, r) {
1910
+ i = this._getItemsForLayout(i), this._layoutItems(i, r), this._postLayout();
1911
+ }, c._getItemsForLayout = function(i) {
1912
+ return i.filter(function(r) {
1913
+ return !r.isIgnored;
1914
+ });
1915
+ }, c._layoutItems = function(i, r) {
1916
+ if (this._emitCompleteOnItems("layout", i), !(!i || !i.length)) {
1917
+ var v = [];
1918
+ i.forEach(function(T) {
1919
+ var $ = this._getItemLayoutPosition(T);
1920
+ $.item = T, $.isInstant = r || T.isLayoutInstant, v.push($);
1921
+ }, this), this._processLayoutQueue(v);
1922
+ }
1923
+ }, c._getItemLayoutPosition = function() {
1924
+ return {
1925
+ x: 0,
1926
+ y: 0
1927
+ };
1928
+ }, c._processLayoutQueue = function(i) {
1929
+ this.updateStagger(), i.forEach(function(r, v) {
1930
+ this._positionItem(r.item, r.x, r.y, r.isInstant, v);
1931
+ }, this);
1932
+ }, c.updateStagger = function() {
1933
+ var i = this.options.stagger;
1934
+ if (i == null) {
1935
+ this.stagger = 0;
1936
+ return;
1937
+ }
1938
+ return this.stagger = g(i), this.stagger;
1939
+ }, c._positionItem = function(i, r, v, T, $) {
1940
+ T ? i.goTo(r, v) : (i.stagger($ * this.stagger), i.moveTo(r, v));
1941
+ }, c._postLayout = function() {
1942
+ this.resizeContainer();
1943
+ }, c.resizeContainer = function() {
1944
+ var i = this._getOption("resizeContainer");
1945
+ if (i) {
1946
+ var r = this._getContainerSize();
1947
+ r && (this._setContainerMeasure(r.width, !0), this._setContainerMeasure(r.height, !1));
1948
+ }
1949
+ }, c._getContainerSize = l, c._setContainerMeasure = function(i, r) {
1950
+ if (i !== void 0) {
1951
+ var v = this.size;
1952
+ v.isBorderBox && (i += r ? v.paddingLeft + v.paddingRight + v.borderLeftWidth + v.borderRightWidth : v.paddingBottom + v.paddingTop + v.borderTopWidth + v.borderBottomWidth), i = Math.max(i, 0), this.element.style[r ? "width" : "height"] = i + "px";
1953
+ }
1954
+ }, c._emitCompleteOnItems = function(i, r) {
1955
+ var v = this;
1956
+ function T() {
1957
+ v.dispatchEvent(i + "Complete", null, [r]);
1958
+ }
1959
+ var $ = r.length;
1960
+ if (!r || !$) {
1961
+ T();
1962
+ return;
1963
+ }
1964
+ var L = 0;
1965
+ function H() {
1966
+ L++, L == $ && T();
1967
+ }
1968
+ r.forEach(function(A) {
1969
+ A.once(i, H);
1970
+ });
1971
+ }, c.dispatchEvent = function(i, r, v) {
1972
+ var T = r ? [r].concat(v) : v;
1973
+ if (this.emitEvent(i, T), d)
1974
+ if (this.$element = this.$element || d(this.element), r) {
1975
+ var $ = d.Event(r);
1976
+ $.type = i, this.$element.trigger($, v);
1977
+ } else
1978
+ this.$element.trigger(i, v);
1979
+ }, c.ignore = function(i) {
1980
+ var r = this.getItem(i);
1981
+ r && (r.isIgnored = !0);
1982
+ }, c.unignore = function(i) {
1983
+ var r = this.getItem(i);
1984
+ r && delete r.isIgnored;
1985
+ }, c.stamp = function(i) {
1986
+ i = this._find(i), i && (this.stamps = this.stamps.concat(i), i.forEach(this.ignore, this));
1987
+ }, c.unstamp = function(i) {
1988
+ i = this._find(i), i && i.forEach(function(r) {
1989
+ s.removeFrom(this.stamps, r), this.unignore(r);
1990
+ }, this);
1991
+ }, c._find = function(i) {
1992
+ if (i)
1993
+ return typeof i == "string" && (i = this.element.querySelectorAll(i)), i = s.makeArray(i), i;
1994
+ }, c._manageStamps = function() {
1995
+ !this.stamps || !this.stamps.length || (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this));
1996
+ }, c._getBoundingRect = function() {
1997
+ var i = this.element.getBoundingClientRect(), r = this.size;
1998
+ this._boundingRect = {
1999
+ left: i.left + r.paddingLeft + r.borderLeftWidth,
2000
+ top: i.top + r.paddingTop + r.borderTopWidth,
2001
+ right: i.right - (r.paddingRight + r.borderRightWidth),
2002
+ bottom: i.bottom - (r.paddingBottom + r.borderBottomWidth)
2003
+ };
2004
+ }, c._manageStamp = l, c._getElementOffset = function(i) {
2005
+ var r = i.getBoundingClientRect(), v = this._boundingRect, T = p(i), $ = {
2006
+ left: r.left - v.left - T.marginLeft,
2007
+ top: r.top - v.top - T.marginTop,
2008
+ right: v.right - r.right - T.marginRight,
2009
+ bottom: v.bottom - r.bottom - T.marginBottom
2010
+ };
2011
+ return $;
2012
+ }, c.handleEvent = s.handleEvent, c.bindResize = function() {
2013
+ t.addEventListener("resize", this), this.isResizeBound = !0;
2014
+ }, c.unbindResize = function() {
2015
+ t.removeEventListener("resize", this), this.isResizeBound = !1;
2016
+ }, c.onresize = function() {
2017
+ this.resize();
2018
+ }, s.debounceMethod(_, "onresize", 100), c.resize = function() {
2019
+ !this.isResizeBound || !this.needsResizeLayout() || this.layout();
2020
+ }, c.needsResizeLayout = function() {
2021
+ var i = p(this.element), r = this.size && i;
2022
+ return r && i.innerWidth !== this.size.innerWidth;
2023
+ }, c.addItems = function(i) {
2024
+ var r = this._itemize(i);
2025
+ return r.length && (this.items = this.items.concat(r)), r;
2026
+ }, c.appended = function(i) {
2027
+ var r = this.addItems(i);
2028
+ r.length && (this.layoutItems(r, !0), this.reveal(r));
2029
+ }, c.prepended = function(i) {
2030
+ var r = this._itemize(i);
2031
+ if (r.length) {
2032
+ var v = this.items.slice(0);
2033
+ this.items = r.concat(v), this._resetLayout(), this._manageStamps(), this.layoutItems(r, !0), this.reveal(r), this.layoutItems(v);
2034
+ }
2035
+ }, c.reveal = function(i) {
2036
+ if (this._emitCompleteOnItems("reveal", i), !(!i || !i.length)) {
2037
+ var r = this.updateStagger();
2038
+ i.forEach(function(v, T) {
2039
+ v.stagger(T * r), v.reveal();
2040
+ });
2041
+ }
2042
+ }, c.hide = function(i) {
2043
+ if (this._emitCompleteOnItems("hide", i), !(!i || !i.length)) {
2044
+ var r = this.updateStagger();
2045
+ i.forEach(function(v, T) {
2046
+ v.stagger(T * r), v.hide();
2047
+ });
2048
+ }
2049
+ }, c.revealItemElements = function(i) {
2050
+ var r = this.getItems(i);
2051
+ this.reveal(r);
2052
+ }, c.hideItemElements = function(i) {
2053
+ var r = this.getItems(i);
2054
+ this.hide(r);
2055
+ }, c.getItem = function(i) {
2056
+ for (var r = 0; r < this.items.length; r++) {
2057
+ var v = this.items[r];
2058
+ if (v.element == i)
2059
+ return v;
2060
+ }
2061
+ }, c.getItems = function(i) {
2062
+ i = s.makeArray(i);
2063
+ var r = [];
2064
+ return i.forEach(function(v) {
2065
+ var T = this.getItem(v);
2066
+ T && r.push(T);
2067
+ }, this), r;
2068
+ }, c.remove = function(i) {
2069
+ var r = this.getItems(i);
2070
+ this._emitCompleteOnItems("remove", r), !(!r || !r.length) && r.forEach(function(v) {
2071
+ v.remove(), s.removeFrom(this.items, v);
2072
+ }, this);
2073
+ }, c.destroy = function() {
2074
+ var i = this.element.style;
2075
+ i.height = "", i.position = "", i.width = "", this.items.forEach(function(v) {
2076
+ v.destroy();
2077
+ }), this.unbindResize();
2078
+ var r = this.element.outlayerGUID;
2079
+ delete m[r], delete this.element.outlayerGUID, d && d.removeData(this.element, this.constructor.namespace);
2080
+ }, _.data = function(i) {
2081
+ i = s.getQueryElement(i);
2082
+ var r = i && i.outlayerGUID;
2083
+ return r && m[r];
2084
+ }, _.create = function(i, r) {
2085
+ var v = b(_);
2086
+ return v.defaults = s.extend({}, _.defaults), s.extend(v.defaults, r), v.compatOptions = s.extend({}, _.compatOptions), v.namespace = i, v.data = _.data, v.Item = b(h), s.htmlInit(v, i), d && d.bridget && d.bridget(i, v), v;
2087
+ };
2088
+ function b(i) {
2089
+ function r() {
2090
+ i.apply(this, arguments);
2091
+ }
2092
+ return r.prototype = Object.create(i.prototype), r.prototype.constructor = r, r;
2093
+ }
2094
+ var k = {
2095
+ ms: 1,
2096
+ s: 1e3
2097
+ };
2098
+ function g(i) {
2099
+ if (typeof i == "number")
2100
+ return i;
2101
+ var r = i.match(/(^\d*\.?\d*)(\w*)/), v = r && r[1], T = r && r[2];
2102
+ if (!v.length)
2103
+ return 0;
2104
+ v = parseFloat(v);
2105
+ var $ = k[T] || 1;
2106
+ return v * $;
2107
+ }
2108
+ return _.Item = h, _;
2109
+ });
2110
+ }(xe)), xe.exports;
2111
+ }
2112
+ /*!
2113
+ * Masonry v4.2.2
2114
+ * Cascading grid layout library
2115
+ * https://masonry.desandro.com
2116
+ * MIT License
2117
+ * by David DeSandro
2118
+ */
2119
+ (function(o) {
2120
+ (function(e, t) {
2121
+ o.exports ? o.exports = t(
2122
+ ci(),
2123
+ Ye()
2124
+ ) : e.Masonry = t(
2125
+ e.Outlayer,
2126
+ e.getSize
2127
+ );
2128
+ })(window, function(t, n) {
2129
+ var p = t.create("masonry");
2130
+ p.compatOptions.fitWidth = "isFitWidth";
2131
+ var s = p.prototype;
2132
+ return s._resetLayout = function() {
2133
+ this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(), this.colYs = [];
2134
+ for (var h = 0; h < this.cols; h++)
2135
+ this.colYs.push(0);
2136
+ this.maxY = 0, this.horizontalColIndex = 0;
2137
+ }, s.measureColumns = function() {
2138
+ if (this.getContainerWidth(), !this.columnWidth) {
2139
+ var h = this.items[0], u = h && h.element;
2140
+ this.columnWidth = u && n(u).outerWidth || // if first elem has no width, default to size of container
2141
+ this.containerWidth;
2142
+ }
2143
+ var d = this.columnWidth += this.gutter, l = this.containerWidth + this.gutter, f = l / d, m = d - l % d, _ = m && m < 1 ? "round" : "floor";
2144
+ f = Math[_](f), this.cols = Math.max(f, 1);
2145
+ }, s.getContainerWidth = function() {
2146
+ var h = this._getOption("fitWidth"), u = h ? this.element.parentNode : this.element, d = n(u);
2147
+ this.containerWidth = d && d.innerWidth;
2148
+ }, s._getItemLayoutPosition = function(h) {
2149
+ h.getSize();
2150
+ var u = h.size.outerWidth % this.columnWidth, d = u && u < 1 ? "round" : "ceil", l = Math[d](h.size.outerWidth / this.columnWidth);
2151
+ l = Math.min(l, this.cols);
2152
+ for (var f = this.options.horizontalOrder ? "_getHorizontalColPosition" : "_getTopColPosition", m = this[f](l, h), _ = {
2153
+ x: this.columnWidth * m.col,
2154
+ y: m.y
2155
+ }, c = m.y + h.size.outerHeight, b = l + m.col, k = m.col; k < b; k++)
2156
+ this.colYs[k] = c;
2157
+ return _;
2158
+ }, s._getTopColPosition = function(h) {
2159
+ var u = this._getTopColGroup(h), d = Math.min.apply(Math, u);
2160
+ return {
2161
+ col: u.indexOf(d),
2162
+ y: d
2163
+ };
2164
+ }, s._getTopColGroup = function(h) {
2165
+ if (h < 2)
2166
+ return this.colYs;
2167
+ for (var u = [], d = this.cols + 1 - h, l = 0; l < d; l++)
2168
+ u[l] = this._getColGroupY(l, h);
2169
+ return u;
2170
+ }, s._getColGroupY = function(h, u) {
2171
+ if (u < 2)
2172
+ return this.colYs[h];
2173
+ var d = this.colYs.slice(h, h + u);
2174
+ return Math.max.apply(Math, d);
2175
+ }, s._getHorizontalColPosition = function(h, u) {
2176
+ var d = this.horizontalColIndex % this.cols, l = h > 1 && d + h > this.cols;
2177
+ d = l ? 0 : d;
2178
+ var f = u.size.outerWidth && u.size.outerHeight;
2179
+ return this.horizontalColIndex = f ? d + h : this.horizontalColIndex, {
2180
+ col: d,
2181
+ y: this._getColGroupY(d, h)
2182
+ };
2183
+ }, s._manageStamp = function(h) {
2184
+ var u = n(h), d = this._getElementOffset(h), l = this._getOption("originLeft"), f = l ? d.left : d.right, m = f + u.outerWidth, _ = Math.floor(f / this.columnWidth);
2185
+ _ = Math.max(0, _);
2186
+ var c = Math.floor(m / this.columnWidth);
2187
+ c -= m % this.columnWidth ? 0 : 1, c = Math.min(this.cols - 1, c);
2188
+ for (var b = this._getOption("originTop"), k = (b ? d.top : d.bottom) + u.outerHeight, g = _; g <= c; g++)
2189
+ this.colYs[g] = Math.max(k, this.colYs[g]);
2190
+ }, s._getContainerSize = function() {
2191
+ this.maxY = Math.max.apply(Math, this.colYs);
2192
+ var h = {
2193
+ height: this.maxY
2194
+ };
2195
+ return this._getOption("fitWidth") && (h.width = this._getContainerFitWidth()), h;
2196
+ }, s._getContainerFitWidth = function() {
2197
+ for (var h = 0, u = this.cols; --u && this.colYs[u] === 0; )
2198
+ h++;
2199
+ return (this.cols - h) * this.columnWidth - this.gutter;
2200
+ }, s.needsResizeLayout = function() {
2201
+ var h = this.containerWidth;
2202
+ return this.getContainerWidth(), h != this.containerWidth;
2203
+ }, 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, s = t.console;
2228
+ function h(c, b) {
2229
+ for (var k in b)
2230
+ c[k] = b[k];
2231
+ return c;
2232
+ }
2233
+ var u = Array.prototype.slice;
2234
+ function d(c) {
2235
+ if (Array.isArray(c))
2236
+ return c;
2237
+ var b = typeof c == "object" && typeof c.length == "number";
2238
+ return b ? u.call(c) : [c];
2239
+ }
2240
+ function l(c, b, k) {
2241
+ if (!(this instanceof l))
2242
+ return new l(c, b, k);
2243
+ var g = c;
2244
+ if (typeof c == "string" && (g = document.querySelectorAll(c)), !g) {
2245
+ s.error("Bad element for imagesLoaded " + (g || c));
2246
+ return;
2247
+ }
2248
+ this.elements = d(g), 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
+ l.prototype = Object.create(n.prototype), l.prototype.options = {}, l.prototype.getImages = function() {
2251
+ this.images = [], this.elements.forEach(this.addElementImages, this);
2252
+ }, l.prototype.addElementImages = function(c) {
2253
+ c.nodeName == "IMG" && this.addImage(c), this.options.background === !0 && this.addElementBackgroundImages(c);
2254
+ var b = c.nodeType;
2255
+ if (!(!b || !f[b])) {
2256
+ for (var k = c.querySelectorAll("img"), g = 0; g < k.length; g++) {
2257
+ var i = k[g];
2258
+ this.addImage(i);
2259
+ }
2260
+ if (typeof this.options.background == "string") {
2261
+ var r = c.querySelectorAll(this.options.background);
2262
+ for (g = 0; g < r.length; g++) {
2263
+ var v = r[g];
2264
+ this.addElementBackgroundImages(v);
2265
+ }
2266
+ }
2267
+ }
2268
+ };
2269
+ var f = {
2270
+ 1: !0,
2271
+ 9: !0,
2272
+ 11: !0
2273
+ };
2274
+ l.prototype.addElementBackgroundImages = function(c) {
2275
+ var b = getComputedStyle(c);
2276
+ if (b)
2277
+ for (var k = /url\((['"])?(.*?)\1\)/gi, g = k.exec(b.backgroundImage); g !== null; ) {
2278
+ var i = g && g[2];
2279
+ i && this.addBackground(i, c), g = k.exec(b.backgroundImage);
2280
+ }
2281
+ }, l.prototype.addImage = function(c) {
2282
+ var b = new m(c);
2283
+ this.images.push(b);
2284
+ }, l.prototype.addBackground = function(c, b) {
2285
+ var k = new _(c, b);
2286
+ this.images.push(k);
2287
+ }, l.prototype.check = function() {
2288
+ var c = this;
2289
+ if (this.progressedCount = 0, this.hasAnyBroken = !1, !this.images.length) {
2290
+ this.complete();
2291
+ return;
2292
+ }
2293
+ function b(k, g, i) {
2294
+ setTimeout(function() {
2295
+ c.progress(k, g, i);
2296
+ });
2297
+ }
2298
+ this.images.forEach(function(k) {
2299
+ k.once("progress", b), k.check();
2300
+ });
2301
+ }, l.prototype.progress = function(c, b, k) {
2302
+ this.progressedCount++, this.hasAnyBroken = this.hasAnyBroken || !c.isLoaded, this.emitEvent("progress", [this, c, b]), this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, c), this.progressedCount == this.images.length && this.complete(), this.options.debug && s && s.log("progress: " + k, c, b);
2303
+ }, l.prototype.complete = function() {
2304
+ var c = this.hasAnyBroken ? "fail" : "done";
2305
+ if (this.isComplete = !0, this.emitEvent(c, [this]), this.emitEvent("always", [this]), this.jqDeferred) {
2306
+ var b = this.hasAnyBroken ? "reject" : "resolve";
2307
+ this.jqDeferred[b](this);
2308
+ }
2309
+ };
2310
+ function m(c) {
2311
+ this.img = c;
2312
+ }
2313
+ m.prototype = Object.create(n.prototype), m.prototype.check = function() {
2314
+ var c = this.getIsImageComplete();
2315
+ if (c) {
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
+ }, m.prototype.getIsImageComplete = function() {
2321
+ return this.img.complete && this.img.naturalWidth;
2322
+ }, m.prototype.confirm = function(c, b) {
2323
+ this.isLoaded = c, this.emitEvent("progress", [this, this.img, b]);
2324
+ }, m.prototype.handleEvent = function(c) {
2325
+ var b = "on" + c.type;
2326
+ this[b] && this[b](c);
2327
+ }, m.prototype.onload = function() {
2328
+ this.confirm(!0, "onload"), this.unbindEvents();
2329
+ }, m.prototype.onerror = function() {
2330
+ this.confirm(!1, "onerror"), this.unbindEvents();
2331
+ }, m.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 _(c, b) {
2335
+ this.url = c, this.element = b, this.img = new Image();
2336
+ }
2337
+ return _.prototype = Object.create(m.prototype), _.prototype.check = function() {
2338
+ this.img.addEventListener("load", this), this.img.addEventListener("error", this), this.img.src = this.url;
2339
+ var c = this.getIsImageComplete();
2340
+ c && (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(c, b) {
2344
+ this.isLoaded = c, this.emitEvent("progress", [this, this.element, b]);
2345
+ }, l.makeJQueryPlugin = function(c) {
2346
+ c = c || t.jQuery, c && (p = c, p.fn.imagesLoaded = function(b, k) {
2347
+ var g = new l(this, b, k);
2348
+ return g.jqDeferred.promise(p(this));
2349
+ });
2350
+ }, l.makeJQueryPlugin(), l;
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(s, h) {
2400
+ if (!lt)
2401
+ throw new Error("Masonry plugin is not defined. Please check it's connected and parsed correctly.");
2402
+ const u = yi(s.attributes), d = new lt(s, u), l = h.value || n, f = u.destroyDelay ? parseInt(u.destroyDelay, 10) : void 0, m = function() {
2403
+ d.reloadItems(), d.layout();
2404
+ };
2405
+ Et(() => {
2406
+ m();
2407
+ });
2408
+ const _ = function(b) {
2409
+ m();
2410
+ }, c = function(b) {
2411
+ t.off(`${ge}__${l}`, _), t.off(`${Me}__${l}`, _), t.off(`${Re}__${l}`, _), t.off(`${Be}__${l}`, c);
2412
+ const k = f && !Number.isNaN(f) ? f : 0;
2413
+ setTimeout(function() {
2414
+ d.destroy();
2415
+ }, k);
2416
+ };
2417
+ t.on(`${ge}__${l}`, _), t.on(`${Me}__${l}`, _), t.on(`${Re}__${l}`, _), t.on(`${Be}__${l}`, c);
2418
+ },
2419
+ unbind: function(s, h) {
2420
+ const u = h.value || n;
2421
+ t.emit(`${Be}__${u}`);
2422
+ }
2423
+ }), p.directive("masonryTile", {
2424
+ mounted: function(s, h) {
2425
+ const u = h.value || n;
2426
+ t.emit(`${ge}__${u}`, {
2427
+ element: s
2428
+ }), new fi(s, function() {
2429
+ t.emit(`${Re}__${u}`, {
2430
+ element: s
2431
+ });
2432
+ });
2433
+ },
2434
+ unbind: function(s, h) {
2435
+ const u = h.value || n;
2436
+ t.emit(`${Me}__${u}`, {
2437
+ element: s
2438
+ });
2439
+ }
2440
+ });
2441
+ {
2442
+ const s = function(h) {
2443
+ const u = h || n;
2444
+ t.emit(`${ge}__${u}`);
2445
+ };
2446
+ o.config.globalProperties.$redrawVueMasonry = s, o.provide("redrawVueMasonry", s);
2447
+ }
2448
+ };
2449
+ function Ne(o, e = {}, t) {
2450
+ for (const n in o) {
2451
+ const p = o[n], s = t ? `${t}:${n}` : n;
2452
+ typeof p == "object" && p !== null ? Ne(p, e, s) : typeof p == "function" && (e[s] = 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, s) => p.then(() => n.run(() => s(...e))),
2461
+ Promise.resolve()
2462
+ );
2463
+ }
2464
+ function Ei(o, e) {
2465
+ const t = e.shift(), n = Vt(t);
2466
+ return Promise.all(o.map((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 s;
2482
+ for (; this._deprecatedHooks[e]; )
2483
+ s = this._deprecatedHooks[e], e = s.to;
2484
+ if (s && !n.allowDeprecated) {
2485
+ let h = s.message;
2486
+ h || (h = `${p} hook has been deprecated` + (s.to ? `, please use ${s.to}` : "")), this._deprecatedMessages || (this._deprecatedMessages = /* @__PURE__ */ new Set()), this._deprecatedMessages.has(h) || (console.warn(h), this._deprecatedMessages.add(h));
2487
+ }
2488
+ if (!t.name)
2489
+ try {
2490
+ Object.defineProperty(t, "name", {
2491
+ get: () => "_" + e.replace(/\W+/g, "_") + "_hook_cb",
2492
+ configurable: !0
2493
+ });
2494
+ } catch {
2495
+ }
2496
+ return this._hooks[e] = this._hooks[e] || [], this._hooks[e].push(t), () => {
2497
+ t && (this.removeHook(e, t), t = void 0);
2498
+ };
2499
+ }
2500
+ hookOnce(e, t) {
2501
+ let n, p = (...s) => (typeof n == "function" && n(), n = void 0, p = void 0, t(...s));
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 s = e(
2550
+ t in this._hooks ? [...this._hooks[t]] : [],
2551
+ n
2552
+ );
2553
+ return s instanceof Promise ? s.finally(() => {
2554
+ this._after && p && ze(this._after, p);
2555
+ }) : (this._after && p && ze(this._after, p), s);
2556
+ }
2557
+ beforeEach(e) {
2558
+ return this._before = this._before || [], this._before.push(e), () => {
2559
+ if (this._before !== void 0) {
2560
+ const t = this._before.indexOf(e);
2561
+ t !== -1 && this._before.splice(t, 1);
2562
+ }
2563
+ };
2564
+ }
2565
+ afterEach(e) {
2566
+ return this._after = this._after || [], this._after.push(e), () => {
2567
+ if (this._after !== void 0) {
2568
+ const t = this._after.indexOf(e);
2569
+ t !== -1 && this._after.splice(t, 1);
2570
+ }
2571
+ };
2572
+ }
2573
+ }
2574
+ function 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 s of p)
2620
+ if (typeof t[s] < "u") {
2621
+ const h = String(t[s]);
2622
+ return e && !e(h) ? !1 : `${n}:${s}:${h}`;
2623
+ }
2624
+ return !1;
2625
+ }
2626
+ function dt(o, e) {
2627
+ return o == null ? e || null : typeof o == "function" ? o(e) : o;
2628
+ }
2629
+ async function Pi(o, e, t) {
2630
+ const n = {
2631
+ tag: o,
2632
+ props: await xt(
2633
+ // explicitly check for an object
2634
+ // @ts-expect-error untyped
2635
+ typeof e == "object" && typeof e != "function" && !(e instanceof Promise) ? { ...e } : { [["script", "noscript", "style"].includes(o) ? "innerHTML" : "textContent"]: e },
2636
+ ["templateParams", "titleTemplate"].includes(o)
2637
+ )
2638
+ };
2639
+ return Lt.forEach((p) => {
2640
+ const s = typeof n.props[p] < "u" ? n.props[p] : t[p];
2641
+ typeof s < "u" && ((!["innerHTML", "textContent", "children"].includes(p) || $i.includes(n.tag)) && (n[p === "children" ? "innerHTML" : p] = s), 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((s) => Pi(t, s, o)).flat());
2666
+ }), (await Promise.all(e)).flat().filter(Boolean).map((t, n) => (t._e = o._i, o.mode && (t._m = o.mode), t._p = (o._i << wi) + n, t));
2667
+ }
2668
+ const ct = {
2669
+ // tags
2670
+ base: -10,
2671
+ title: 10
2672
+ }, pt = {
2673
+ // relative scores to their default values
2674
+ critical: -80,
2675
+ high: -10,
2676
+ low: 20
2677
+ };
2678
+ function _e(o) {
2679
+ let e = 100;
2680
+ const t = o.tagPriority;
2681
+ return typeof t == "number" ? t : (o.tag === "meta" ? (o.props["http-equiv"] === "content-security-policy" && (e = -30), o.props.charset && (e = -20), o.props.name === "viewport" && (e = -15)) : o.tag === "link" && o.props.rel === "preconnect" ? e = 20 : o.tag in ct && (e = ct[o.tag]), typeof t == "string" && t in pt ? e + pt[t] : e);
2682
+ }
2683
+ const Oi = [{ prefix: "before:", offset: -1 }, { prefix: "after:", offset: 1 }], wt = ["onload", "onerror", "onabort", "onprogress", "onloadstart"], Z = "%separator";
2684
+ function ye(o, e, t) {
2685
+ if (typeof o != "string" || !o.includes("%"))
2686
+ return o;
2687
+ function n(h) {
2688
+ let u;
2689
+ return ["s", "pageTitle"].includes(h) ? u = e.pageTitle : h.includes(".") ? u = h.split(".").reduce((d, l) => d && d[l] || void 0, e) : u = e[h], typeof u < "u" ? (u || "").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 u = n(h.slice(1));
2698
+ typeof u == "string" && (o = o.replace(new RegExp(`\\${h}(\\W|$)`, "g"), (d, l) => `${u}${l}`).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 s = o._dom;
2724
+ if (!s) {
2725
+ s = {
2726
+ elMap: { htmlAttrs: t.documentElement, bodyAttrs: t.body }
2727
+ };
2728
+ for (const f of ["body", "head"]) {
2729
+ const m = t?.[f]?.children;
2730
+ for (const _ of [...m].filter((c) => ve.includes(c.tagName.toLowerCase())))
2731
+ s.elMap[_.getAttribute("data-hid") || ut(await Ai(_))] = _;
2732
+ }
2733
+ }
2734
+ s.pendingSideEffects = { ...s.sideEffects || {} }, s.sideEffects = {};
2735
+ function h(f, m, _) {
2736
+ const c = `${f}:${m}`;
2737
+ s.sideEffects[c] = _, delete s.pendingSideEffects[c];
2738
+ }
2739
+ function u({ id: f, $el: m, tag: _ }) {
2740
+ const c = _.tag.endsWith("Attrs");
2741
+ s.elMap[f] = m, c || (["textContent", "innerHTML"].forEach((b) => {
2742
+ _[b] && _[b] !== m[b] && (m[b] = _[b]);
2743
+ }), h(f, "el", () => {
2744
+ s.elMap[f].remove(), delete s.elMap[f];
2745
+ })), Object.entries(_.props).forEach(([b, k]) => {
2746
+ const g = `attr:${b}`;
2747
+ if (b === "class")
2748
+ for (const i of (k || "").split(" ").filter(Boolean))
2749
+ c && h(f, `${g}:${i}`, () => m.classList.remove(i)), !m.classList.contains(i) && m.classList.add(i);
2750
+ else
2751
+ m.getAttribute(b) !== k && m.setAttribute(b, k === !0 ? "" : String(k)), c && h(f, g, () => m.removeAttribute(b));
2752
+ });
2753
+ }
2754
+ const d = [], l = {
2755
+ bodyClose: void 0,
2756
+ bodyOpen: void 0,
2757
+ head: void 0
2758
+ };
2759
+ for (const f of p) {
2760
+ const { tag: m, shouldRender: _, id: c } = f;
2761
+ if (_) {
2762
+ if (m.tag === "title") {
2763
+ t.title = m.textContent;
2764
+ continue;
2765
+ }
2766
+ f.$el = f.$el || s.elMap[c], f.$el ? u(f) : ve.includes(m.tag) && d.push(f);
2767
+ }
2768
+ }
2769
+ for (const f of d) {
2770
+ const m = f.tag.tagPosition || "head";
2771
+ f.$el = t.createElement(f.tag.tag), u(f), l[m] = l[m] || t.createDocumentFragment(), l[m].appendChild(f.$el);
2772
+ }
2773
+ for (const f of p)
2774
+ await o.hooks.callHook("dom:renderTag", f, t, h);
2775
+ l.head && t.head.appendChild(l.head), l.bodyOpen && t.body.insertBefore(l.bodyOpen, t.body.firstChild), l.bodyClose && t.body.appendChild(l.bodyClose), Object.values(s.pendingSideEffects).forEach((f) => f()), o._dom = s, 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, s = e[p];
2810
+ if (s) {
2811
+ let u = n?.tagDuplicateStrategy;
2812
+ if (!u && Bi.includes(n.tag) && (u = "merge"), u === "merge") {
2813
+ const d = s.props;
2814
+ ["class", "style"].forEach((l) => {
2815
+ d[l] && (n.props[l] ? (l === "style" && !d[l].endsWith(";") && (d[l] += ";"), n.props[l] = `${d[l]} ${n.props[l]}`) : n.props[l] = d[l]);
2816
+ }), e[p].props = {
2817
+ ...d,
2818
+ ...n.props
2819
+ };
2820
+ return;
2821
+ } else if (n._e === s._e) {
2822
+ s._duped = s._duped || [], n._d = `${s._d}:${s._duped.length + 1}`, s._duped.push(n);
2823
+ return;
2824
+ } else if (_e(n) > _e(s))
2825
+ return;
2826
+ }
2827
+ const h = Object.keys(n.props).length + (n.innerHTML ? 1 : 0) + (n.textContent ? 1 : 0);
2828
+ if (ve.includes(n.tag) && h === 0) {
2829
+ delete e[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(([s, h]) => {
2876
+ const u = `${e.tag._d || e.tag._p}:${s}`, d = s.slice(2).toLowerCase(), l = `data-h-${d}`;
2877
+ if (n(e.id, u, () => {
2878
+ }), e.$el.hasAttribute(l))
2879
+ return;
2880
+ e.$el.setAttribute(l, "");
2881
+ let f;
2882
+ const m = (_) => {
2883
+ h(_), f?.disconnect();
2884
+ };
2885
+ s in e.$el.dataset ? m(new Event(s.replace("on", ""))) : wt.includes(s) && typeof MutationObserver < "u" ? (f = new MutationObserver((_) => {
2886
+ _.some((b) => b.attributeName === `data-${s}`) && (m(new Event(s.replace("on", ""))), f?.disconnect());
2887
+ }), f.observe(e.$el, {
2888
+ attributes: !0
2889
+ })) : p.addEventListener(d, m), n(e.id, u, () => {
2890
+ f?.disconnect(), p.removeEventListener(d, m), e.$el.removeAttribute(l);
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((s) => typeof s.tagPriority == "string" && s.tagPriority.startsWith(t))) {
2907
+ const s = e(
2908
+ p.tagPriority.replace(t, "")
2909
+ );
2910
+ typeof s < "u" && (p._p = s + n);
2911
+ }
2912
+ o.tags.sort((t, n) => t._p - n._p).sort((t, n) => _e(t) - _e(n));
2913
+ }
2914
+ }
2915
+ }, Yi = {
2916
+ meta: "content",
2917
+ link: "href",
2918
+ htmlAttrs: "lang"
2919
+ }, Ki = (o) => ({
2920
+ hooks: {
2921
+ "tags:resolve": (e) => {
2922
+ const { tags: t } = e, n = t.find((u) => u.tag === "title")?.textContent, p = t.findIndex((u) => u.tag === "templateParams"), s = p !== -1 ? t[p].props : {}, h = s.separator || "|";
2923
+ delete s.separator, s.pageTitle = ye(s.pageTitle || n || "", s, h);
2924
+ for (const u of t.filter((d) => d.processTemplateParams !== !1)) {
2925
+ const d = Yi[u.tag];
2926
+ d && typeof u.props[d] == "string" ? u.props[d] = ye(u.props[d], s, h) : (u.processTemplateParams === !0 || ["titleTemplate", "title"].includes(u.tag)) && ["innerHTML", "textContent"].forEach((l) => {
2927
+ typeof u[l] == "string" && (u[l] = ye(u[l], s, h));
2928
+ });
2929
+ }
2930
+ o._templateParams = s, o._separator = h, e.tags = t.filter((u) => u.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
+ u.dirty = !0, e.callHook("entries:updated", u);
2976
+ };
2977
+ let p = 0, s = [];
2978
+ const h = [], u = {
2979
+ plugins: h,
2980
+ dirty: !1,
2981
+ resolvedOptions: o,
2982
+ hooks: e,
2983
+ headEntries() {
2984
+ return s;
2985
+ },
2986
+ use(d) {
2987
+ const l = typeof d == "function" ? d(u) : d;
2988
+ (!l.key || !h.some((f) => f.key === l.key)) && (h.push(l), ht(l.mode, t) && e.addHooks(l.hooks || {}));
2989
+ },
2990
+ push(d, l) {
2991
+ delete l?.head;
2992
+ const f = {
2993
+ _i: p++,
2994
+ input: d,
2995
+ ...l
2996
+ };
2997
+ return ht(f.mode, t) && (s.push(f), n()), {
2998
+ dispose() {
2999
+ s = s.filter((m) => m._i !== f._i), e.callHook("entries:updated", u), n();
3000
+ },
3001
+ // a patch is the same as creating a new entry, just a nice DX
3002
+ patch(m) {
3003
+ s = s.map((_) => (_._i === f._i && (_.input = f.input = m), _)), n();
3004
+ }
3005
+ };
3006
+ },
3007
+ async resolveTags() {
3008
+ const d = { tags: [], entries: [...s] };
3009
+ await e.callHook("entries:resolve", d);
3010
+ for (const l of d.entries) {
3011
+ const f = l.resolvedInput || l.input;
3012
+ if (l.resolvedInput = await (l.transform ? l.transform(f) : f), l.resolvedInput)
3013
+ for (const m of await Hi(l)) {
3014
+ const _ = { tag: m, entry: l, resolvedOptions: u.resolvedOptions };
3015
+ await e.callHook("tag:normalise", _), d.tags.push(_.tag);
3016
+ }
3017
+ }
3018
+ return await e.callHook("tags:beforeResolve", d), await e.callHook("tags:resolve", d), await e.callHook("tags:afterResolve", d), d.tags;
3019
+ },
3020
+ ssr: t
3021
+ };
3022
+ return [
3023
+ zi,
3024
+ Wi,
3025
+ Ui,
3026
+ ji,
3027
+ Gi,
3028
+ Ki,
3029
+ Qi,
3030
+ Ji,
3031
+ ...o?.plugins || []
3032
+ ].forEach((d) => u.use(d)), u.hooks.callHook("init", u), u;
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
+ const n = (l) => l.replace(/[A-Z]+(?![a-z])|[A-Z]/g, (f, m) => (m ? "-" : "") + f.toLowerCase()), p = (l) => l.replace(/-./g, (f) => f[1].toUpperCase()), s = {};
3085
+ t = t.map(n);
3086
+ const h = {};
3087
+ for (const l of this.attributes) {
3088
+ const f = l.name, m = f.split(".");
3089
+ console.log(f, m.length), m.length > 1 && (h[m[0]] || (h[m[0]] = {}), h[m[0]][p(m[1])] = l.value);
3090
+ }
3091
+ console.log(h), console.log(t);
3092
+ for (const l of t) {
3093
+ let f = this.attributes.getNamedItem(l)?.value;
3094
+ h.hasOwnProperty(l) && (f = h[l]), console.log(f, l), s[l] = f;
3095
+ }
3096
+ const u = Co(fe, s);
3097
+ u.use(ar), u.use(sr), u.use(St), u.use(Io), u.use(wo), u.use($o, { bootstrap: !0 });
3098
+ const d = document.createElement("div");
3099
+ u.mount(d), this.appendChild(d.children[0]);
3100
+ }
3101
+ }
3102
+ window.customElements.define("konnectio-hotel", lr);
3103
+ export {
3104
+ lr as C,
3105
+ rr as c,
3106
+ gr as i,
3107
+ Ue as r
3108
+ };