@konnectio/core 4.0.56-rc31 → 4.0.56-rc32

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 (46) hide show
  1. package/dist/{ActionField-qP-3ktN4.js → ActionField-DArUoq0Y.js} +10 -10
  2. package/dist/ActionField-DArUoq0Y.js.br +0 -0
  3. package/dist/AvailabilitySkeleton-5yqtoHjX.js +277 -0
  4. package/dist/AvailabilitySkeleton-5yqtoHjX.js.br +0 -0
  5. package/dist/AvailabilitySkeleton.vue_vue_type_style_index_0_scoped_17762b9b_lang-Breyx_L4.js +7681 -0
  6. package/dist/AvailabilitySkeleton.vue_vue_type_style_index_0_scoped_17762b9b_lang-Breyx_L4.js.br +0 -0
  7. package/dist/{CheckoutWindow-RWkSWvbk.js → CheckoutWindow-B2MbpsFT.js} +55 -55
  8. package/dist/CheckoutWindow-B2MbpsFT.js.br +0 -0
  9. package/dist/{ErrorMessage-z0JJ8Q3W.js → ErrorMessage-3LkqIsav.js} +1 -1
  10. package/dist/ErrorMessage-3LkqIsav.js.br +0 -0
  11. package/dist/EventAvailabilityForm-TTNq-2y8.js +423 -0
  12. package/dist/EventAvailabilityForm-TTNq-2y8.js.br +0 -0
  13. package/dist/Field-Cthg8pWO.js +41 -0
  14. package/dist/Field-Cthg8pWO.js.br +0 -0
  15. package/dist/{Field-C9r1d8IB.js → Field.vue_vue_type_style_index_0_scoped_992f78a1_lang-Dg5SIKsf.js} +11520 -11750
  16. package/dist/Field.vue_vue_type_style_index_0_scoped_992f78a1_lang-Dg5SIKsf.js.br +0 -0
  17. package/dist/{TermsOfService-oZz-B-KI.js → TermsOfService-D9C31C5G.js} +2 -2
  18. package/dist/availability.js +45 -46
  19. package/dist/availability.js.br +0 -0
  20. package/dist/event.js +622 -491
  21. package/dist/event.js.br +0 -0
  22. package/dist/gift-card-validation.js +87 -77
  23. package/dist/gift-card-validation.js.br +0 -0
  24. package/dist/gift-card.js +261 -260
  25. package/dist/gift-card.js.br +0 -0
  26. package/dist/hotel.js +1016 -1027
  27. package/dist/hotel.js.br +0 -0
  28. package/dist/{masonry.plugin-fa0tia29.js → masonry.plugin-BEO9JACn.js} +1263 -1271
  29. package/dist/masonry.plugin-BEO9JACn.js.br +0 -0
  30. package/dist/polyfill.js +2507 -2503
  31. package/dist/polyfill.js.br +0 -0
  32. package/dist/style.css +1 -1
  33. package/dist/style.css.br +0 -0
  34. package/package.json +25 -24
  35. package/dist/ActionField-qP-3ktN4.js.br +0 -0
  36. package/dist/AvailabilitySkeleton-uaCnfwHM.js +0 -7665
  37. package/dist/AvailabilitySkeleton-uaCnfwHM.js.br +0 -0
  38. package/dist/CheckoutWindow-RWkSWvbk.js.br +0 -0
  39. package/dist/ErrorMessage-z0JJ8Q3W.js.br +0 -0
  40. package/dist/EventAvailabilityForm-LIgUj1t3.js +0 -325
  41. package/dist/EventAvailabilityForm-LIgUj1t3.js.br +0 -0
  42. package/dist/Field-C9r1d8IB.js.br +0 -0
  43. package/dist/HotelAvailabilityForm-AQ4VA15t.js +0 -212
  44. package/dist/HotelAvailabilityForm-AQ4VA15t.js.br +0 -0
  45. package/dist/masonry.plugin-fa0tia29.js.br +0 -0
  46. /package/dist/{_commonjsHelpers-f3sTPFkQ.js → _commonjsHelpers-DaMA6jEr.js} +0 -0
@@ -0,0 +1,423 @@
1
+ import { H as je, J as He, K as ee, L as Qe, M as Je, N as me, l as te, m as s, i as a, O as m, P as W, Q as fe, R as X, U as We, V as M, W as N, X as E, Y as Xe, d as Ye, u as Ze, p as et, o as Y, c as ge, e as Z, w as tt, g as O, a as at, j as nt, b as he, C as ot, Z as lt, n as st, q as it, _ as rt } from "./Field.vue_vue_type_style_index_0_scoped_992f78a1_lang-Dg5SIKsf.js";
2
+ import { _ as ut } from "./AvailabilitySkeleton.vue_vue_type_style_index_0_scoped_17762b9b_lang-Breyx_L4.js";
3
+ const ct = je("event", () => {
4
+ const U = He(), { voucher: i } = ee(Qe()), { display: b } = Je(), { bearerToken: I, metaData: R } = ee(me()), G = me(), d = te(), f = s({}), x = a(() => Object.keys(f.value).length > 0), t = s(void 0), o = s(!0), r = s(m.InitialState), w = s(NaN), _ = s(1), k = s(NaN), z = s(NaN), D = s(""), P = W("konnectio_name", "", void 0, { serializer: X.string }), B = W("konnectio_phone", "", void 0, { serializer: X.string }), $ = W("konnectio_email", "", void 0, { serializer: X.string }), u = s(""), g = s({}), p = s({}), q = s("");
5
+ function l(e) {
6
+ return e ? e.templateId !== void 0 : !1;
7
+ }
8
+ const ye = a(() => G.metaData.hotels.findIndex((e) => e.id === d.eventLocation) || 0), V = a(() => G.metaData.hotels[ye.value]), be = a(() => V.value.maxNumberPerBooking ? V.value.maxNumberPerBooking : 1 / 0), ke = a(() => V.value.name ? V.value.name : ""), De = a(() => V.value.subtitle ? V.value.subtitle : ""), F = a(() => d.searchDate.toISOString()), Ie = a(() => l(t.value)), K = a(() => l(t.value) ? t.value.numberOfDays : _.value), we = a(() => l(t.value) ? t.value.packageCount : 0), Se = a(() => l(t.value) ? t.value.fromDate : ""), L = a(() => f.value.events !== void 0 ? f.value.events.find((e) => e.id === k.value) : void 0), Ae = a(() => L.value ? L.value.length : void 0), ae = a(() => l(t.value) ? t.value.templateID : 0), Pe = a(() => f.value.events), Le = a(() => f.value.templates), Ce = a(() => f.value.events.length > 0), Ee = a(() => f.value.templates.length > 0), ne = a(() => L.value && L.value.eventRateType ? L.value.eventRateType : fe.None), j = a(() => {
9
+ if (!l(t.value))
10
+ return t.value;
11
+ }), oe = a(() => {
12
+ if (j.value !== void 0) {
13
+ const e = j.value.find(
14
+ (n) => n.time === D.value
15
+ );
16
+ if (e && e.price)
17
+ return e.price;
18
+ }
19
+ return 0;
20
+ }), le = a(() => {
21
+ if (l(t.value))
22
+ return t.value.templateCounts;
23
+ });
24
+ function H(e, n, c) {
25
+ let h = 0;
26
+ if (l(t.value)) {
27
+ const v = t.value.templateCounts[c];
28
+ if (v) {
29
+ const C = v.addons, S = g.value[`${n}.${e}.${c}`] || 0;
30
+ if (S > 0) {
31
+ const A = C?.find((T) => T.addonID === e), y = typeof S == "boolean" ? 1 : S;
32
+ h += We(A?.price, A?.quantityStrategy, K.value, v.adultPerRoom) * y;
33
+ }
34
+ }
35
+ } else {
36
+ const v = p.value[e] || 0;
37
+ if (v > 0) {
38
+ const C = L.value?.products?.find((S) => S.productID === e);
39
+ C && (h += C.price * v);
40
+ }
41
+ }
42
+ return h;
43
+ }
44
+ function Q(e, n) {
45
+ let c = 0;
46
+ if (l(t.value))
47
+ for (const h in g.value) {
48
+ const v = h.split(".");
49
+ parseInt(v[0]) === e && parseInt(v[2]) === n && (c += H(parseInt(v[1]), e, n));
50
+ }
51
+ else
52
+ for (const h in p.value)
53
+ c += H(parseInt(h)) * _.value;
54
+ return c;
55
+ }
56
+ const se = a(() => l(t.value) && t.value.totalPrice || 0), Ne = a(() => {
57
+ if (l(t.value))
58
+ return t.value.templateCounts === void 0 ? NaN : t.value.templateCounts.flatMap((e) => e.roomGroupID).reduce(
59
+ (e, n, c) => e + Q(n, c),
60
+ se.value
61
+ ) || 0;
62
+ {
63
+ let e = Q();
64
+ return e += oe.value, e;
65
+ }
66
+ }), _e = a(() => l(t.value) && t.value.templateCounts !== void 0 && t.value.templateCounts.flatMap((e) => e.weekendFee).reduce((e, n) => e + n, 0) || 0), Ve = a(() => l(t.value) && t.value.templateCounts !== void 0 && t.value.templateCounts.flatMap((e) => e.roomUpgrade).reduce((e, n) => e + n, 0) || 0), Fe = a(() => {
67
+ const e = p.value;
68
+ let n = 0;
69
+ for (const c in e)
70
+ n += Number.isNaN(e[c]) ? 0 : e[c];
71
+ return n > 0;
72
+ }), ie = a(() => l(t.value) ? !1 : Object.keys(p.value).length > 0), Te = a(() => !!(P.value !== "" && $.value !== "" && B.value.length >= 5 && (!ie.value || Fe.value) && (!(!l(t.value) && ne.value !== fe.FullDayEvent) || D.value !== "")));
73
+ function Me(e) {
74
+ return r.value === m.ReservationState && k.value === e && o.value;
75
+ }
76
+ const Oe = a(() => !(r.value === m.InitialState && o.value)), Re = a(() => !(r.value === m.AvailabilityState && o.value)), ze = a(() => t.value !== void 0), Be = a(() => r.value === m.PaymentState && o.value);
77
+ async function re() {
78
+ try {
79
+ const e = (await M.get("https://production.hotel-service.konnectio.dk/api/event/metadata", {
80
+ params: {
81
+ language: N()
82
+ },
83
+ headers: {
84
+ Authorization: I.value,
85
+ Accept: "application/json",
86
+ "Fresh-Booking-Ver": "4.0.56-rc32"
87
+ }
88
+ })).data;
89
+ R.value = e, e.restaurantId && isNaN(d.eventLocation) && e.restaurantId && (d.eventLocation = e.restaurantId), ue();
90
+ } catch {
91
+ b({
92
+ message: E.t("alert.error.couldntFetchMetadata"),
93
+ type: "warning"
94
+ });
95
+ }
96
+ }
97
+ async function ue() {
98
+ r.value = m.AvailabilityState, o.value = !0;
99
+ try {
100
+ const e = (await M.get("https://production.hotel-service.konnectio.dk/api/event/get", {
101
+ params: {
102
+ language: N(),
103
+ restaurantId: d.eventLocation,
104
+ date: F.value
105
+ },
106
+ headers: {
107
+ Authorization: I.value,
108
+ "Fresh-Booking-Ver": "4.0.56-rc32"
109
+ }
110
+ })).data;
111
+ f.value = e, o.value = !1;
112
+ } catch {
113
+ b({
114
+ message: E.t("alert.error.couldntFetchListings"),
115
+ type: "warning"
116
+ });
117
+ }
118
+ }
119
+ async function $e(e) {
120
+ r.value = m.ReservationState, o.value = !0;
121
+ try {
122
+ const n = (await M.get("https://production.hotel-service.konnectio.dk/api/event/get-availability", {
123
+ params: {
124
+ language: N(),
125
+ date: F.value,
126
+ templateId: k.value,
127
+ restaurantId: d.eventLocation,
128
+ numberOfPeople: w.value
129
+ },
130
+ headers: {
131
+ Authorization: I.value,
132
+ "Fresh-Booking-Ver": "4.0.56-rc32"
133
+ }
134
+ })).data;
135
+ n.templateCounts.length === 0 ? b({
136
+ message: E.t("alert.error.eventNotAvailable"),
137
+ type: "warning"
138
+ }) : (t.value = n, e()), o.value = !1;
139
+ } catch {
140
+ o.value = !1, r.value = m.AvailabilityState, b({
141
+ message: E.t("alert.error.couldntFetchEvent"),
142
+ type: "warning"
143
+ });
144
+ }
145
+ }
146
+ async function Ge(e) {
147
+ r.value = m.ReservationState, o.value = !0;
148
+ try {
149
+ const n = (await M.get("https://production.hotel-service.konnectio.dk/api/event/vacant-times", {
150
+ params: {
151
+ language: N(),
152
+ date: F.value,
153
+ numberOfPeople: w.value,
154
+ eventId: k.value,
155
+ tableGroupId: z.value,
156
+ restaurantId: d.eventLocation
157
+ },
158
+ headers: {
159
+ Authorization: I.value,
160
+ "Fresh-Booking-Ver": "4.0.56-rc32"
161
+ }
162
+ })).data;
163
+ t.value = n, o.value = !1, e();
164
+ } catch {
165
+ o.value = !1, r.value = m.AvailabilityState, b({
166
+ message: E.t("alert.error.couldntFetchEvent"),
167
+ type: "warning"
168
+ });
169
+ }
170
+ }
171
+ async function Ue() {
172
+ try {
173
+ const e = (await M.post("https://production.hotel-service.konnectio.dk/api/event/validate-discount-code", {
174
+ language: N(),
175
+ date: F.value,
176
+ discountCode: q.value,
177
+ restaurantId: d.eventLocation
178
+ }, {
179
+ headers: {
180
+ Authorization: I.value,
181
+ "Konnectio-Ver": "4.0.56-rc32"
182
+ }
183
+ })).data;
184
+ console.log(e);
185
+ } catch (e) {
186
+ console.log(e), b({
187
+ message: E.t("alert.error.discountCodeValidation"),
188
+ type: "warning"
189
+ });
190
+ }
191
+ }
192
+ async function xe(e) {
193
+ r.value = m.PaymentState, o.value = !0;
194
+ const n = () => {
195
+ o.value = !1, r.value = m.ReservationState, b({
196
+ message: E.t("booking.other.errorMessage"),
197
+ type: "warning"
198
+ });
199
+ };
200
+ let c, h, v;
201
+ const C = [];
202
+ if (l(t.value))
203
+ le.value?.forEach((y, T) => {
204
+ const ce = [];
205
+ let ve = 0;
206
+ for (const de in g.value) {
207
+ const J = de.split("."), pe = g.value[de];
208
+ parseInt(J[0]) === y.roomGroupID && parseInt(J[2]) === T && pe > 0 && (ce.push({
209
+ id: ve,
210
+ addonID: parseInt(J[1]),
211
+ quantity: pe
212
+ }), ve++);
213
+ }
214
+ C.push({
215
+ adultPerRoom: y.adultPerRoom,
216
+ count: y.count,
217
+ roomGroupID: y.roomGroupID,
218
+ addons: ce
219
+ });
220
+ }), c = {
221
+ templateID: ae.value,
222
+ numberOfDays: _.value,
223
+ templateCounts: C
224
+ };
225
+ else {
226
+ h = [], v = D.value;
227
+ for (const y in p.value) {
228
+ const T = p.value[parseInt(y)];
229
+ T > 0 && h.push({
230
+ id: parseInt(y),
231
+ quantity: T
232
+ });
233
+ }
234
+ }
235
+ let S = "https://production.hotel-service.konnectio.dk/api/event/book-template";
236
+ const A = {
237
+ language: N(),
238
+ restaurantId: d.eventLocation,
239
+ date: Xe(F.value),
240
+ name: P.value,
241
+ email: $.value,
242
+ phone: B.value,
243
+ remark: u.value,
244
+ numberOfPeople: w.value,
245
+ days: K.value,
246
+ discountCode: q.value,
247
+ giftCardCode: i.value,
248
+ checkoutUrl: window.location.origin,
249
+ privacyUrl: window.location.origin
250
+ };
251
+ l(t.value) ? A.templateGroup = c : (A.time = v, A.eventId = k.value, A.products = h, S = "https://production.hotel-service.konnectio.dk/api/event/book-event"), await M.post(S, A, {
252
+ headers: {
253
+ Authorization: I.value,
254
+ "Fresh-Booking-Ver": "4.0.56-rc32"
255
+ }
256
+ }).then((y) => {
257
+ o.value = !1, U.pay({
258
+ callback: e,
259
+ response: y.data
260
+ });
261
+ }).catch(() => n());
262
+ }
263
+ function qe(e) {
264
+ g.value = {}, p.value = {}, D.value = "", e();
265
+ }
266
+ function Ke() {
267
+ re();
268
+ }
269
+ return {
270
+ fetchMetaData: re,
271
+ metaData: R,
272
+ listingData: f,
273
+ tableBasePrice: oe,
274
+ availabilityData: t,
275
+ isLoading: o,
276
+ moduleState: r,
277
+ numberOfPeople: w,
278
+ numberOfDays: _,
279
+ eventId: k,
280
+ tableGroupId: z,
281
+ arrivalTime: D,
282
+ addons: g,
283
+ products: p,
284
+ discountCode: q,
285
+ name: P,
286
+ phone: B,
287
+ email: $,
288
+ remark: u,
289
+ isTemplateEvent: Ie,
290
+ maxNumberOfPeople: be,
291
+ title: ke,
292
+ subtitle: De,
293
+ date: F,
294
+ numberOfTotalDays: K,
295
+ numberOfRooms: we,
296
+ fromDate: Se,
297
+ getEventData: L,
298
+ length: Ae,
299
+ templateId: ae,
300
+ getEvents: Pe,
301
+ getTemplates: Le,
302
+ hasEvents: Ce,
303
+ hasTemplates: Ee,
304
+ basePrice: se,
305
+ totalPrice: Ne,
306
+ getTemplateData: le,
307
+ getEventTableData: j,
308
+ roomUpgrade: Ve,
309
+ weekendFee: _e,
310
+ hasProducts: ie,
311
+ eventRateType: ne,
312
+ isReservationFormFilled: Te,
313
+ isMetaDataAvailable: Oe,
314
+ areListingsAvailable: Re,
315
+ isAvailabilityDataAvailable: ze,
316
+ isPaymentLoading: Be,
317
+ isEventListingLoading: Me,
318
+ // fetchMetaData,
319
+ fetchListings: ue,
320
+ getTemplateAvailability: $e,
321
+ getEventAvailability: Ge,
322
+ validateDiscountCode: Ue,
323
+ localAddonPrice: H,
324
+ totalAddonPrice: Q,
325
+ createBooking: xe,
326
+ reset: qe,
327
+ initialize: Ke,
328
+ hasListingData: x
329
+ };
330
+ }), vt = {
331
+ class: "konnectio-search-button",
332
+ key: "search"
333
+ }, dt = /* @__PURE__ */ Ye({
334
+ __name: "EventAvailabilityForm",
335
+ props: {
336
+ link: {},
337
+ redirection: { type: Boolean, default: !0 }
338
+ },
339
+ setup(U) {
340
+ const i = U, {
341
+ eventLocation: b,
342
+ eventLocations: I,
343
+ hasEventLocations: R,
344
+ eventLocationControl: G,
345
+ searchDate: d,
346
+ isExpired: f
347
+ } = ee(te()), { reset: x, fetchMetadata: t, updateEventAvailability: o } = te(), { fetchListings: r } = ct(), { t: w } = Ze(), _ = () => new Date(new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + 1)).setHours(12, 0, 0, 0)), k = s(G.value), z = s(_()), D = a({
348
+ get: () => i.redirection ? k.value : b.value,
349
+ set: (u) => {
350
+ i.redirection ? k.value = Number(u) : b.value = Number(u);
351
+ }
352
+ }), P = a({
353
+ get: () => i.redirection ? z.value : d.value,
354
+ set: (u) => {
355
+ i.redirection ? z.value = u : d.value = u;
356
+ }
357
+ }), B = a(() => typeof i.link != "string");
358
+ function $() {
359
+ if (i.redirection === !0)
360
+ if (o({
361
+ date: P.value,
362
+ location: D.value
363
+ }), B.value) {
364
+ const u = N();
365
+ i.link[u] ? window.location.replace(i.link[u]) : i.link.en && window.location.replace(i.link.en);
366
+ } else
367
+ window.location.replace(i.link);
368
+ else
369
+ r();
370
+ }
371
+ return et(() => {
372
+ f.value && x(), i.redirection === !1 && t();
373
+ }), (u, g) => (Y(), ge("form", {
374
+ class: st([
375
+ "konnectio-event-search-form",
376
+ { "has-locations": O(R) },
377
+ { "auto-search": !u.redirection }
378
+ ]),
379
+ onSubmit: it($, ["prevent"])
380
+ }, [
381
+ Z(lt, {
382
+ class: "konnectio-event-search-form-content",
383
+ tag: "ul"
384
+ }, {
385
+ default: tt(() => [
386
+ O(R) ? (Y(), at(nt, {
387
+ modelValue: D.value,
388
+ "onUpdate:modelValue": g[0] || (g[0] = (p) => D.value = p),
389
+ key: "location",
390
+ label: O(w)("general.location"),
391
+ icon: "location-dot",
392
+ "icon-type": "fas",
393
+ "icon-placement": "label",
394
+ "label-key": "name",
395
+ "value-key": "id",
396
+ options: O(I),
397
+ searchable: !1
398
+ }, null, 8, ["modelValue", "label", "options"])) : he("", !0),
399
+ Z(ut, {
400
+ modelValue: P.value,
401
+ "onUpdate:modelValue": g[1] || (g[1] = (p) => P.value = p),
402
+ key: "date",
403
+ label: O(w)("event.selectDate"),
404
+ "icon-type": "fas",
405
+ "icon-placement": "label",
406
+ "min-date": /* @__PURE__ */ new Date()
407
+ }, null, 8, ["modelValue", "label", "min-date"]),
408
+ u.redirection ? (Y(), ge("li", vt, [
409
+ Z(ot, {
410
+ type: "submit",
411
+ label: O(w)("availability.buttonLabel")
412
+ }, null, 8, ["label"])
413
+ ])) : he("", !0)
414
+ ]),
415
+ _: 1
416
+ })
417
+ ], 34));
418
+ }
419
+ }), ft = /* @__PURE__ */ rt(dt, [["__scopeId", "data-v-ac106c24"]]);
420
+ export {
421
+ ft as E,
422
+ ct as u
423
+ };
@@ -0,0 +1,41 @@
1
+ import { d as l, o as a, c as t, a as n, b as i, e as s, E as o, n as d, _ as r } from "./Field.vue_vue_type_style_index_0_scoped_992f78a1_lang-Dg5SIKsf.js";
2
+ const p = {
3
+ key: 0,
4
+ class: "skeleton-field-label"
5
+ }, c = { key: 1 }, h = /* @__PURE__ */ l({
6
+ __name: "Field",
7
+ props: {
8
+ withIcon: { type: Boolean, default: !1 },
9
+ noLabel: { type: Boolean, default: !1 },
10
+ isTextArea: { type: Boolean, default: !1 }
11
+ },
12
+ setup(f) {
13
+ return (e, _) => (a(), t("div", {
14
+ class: d([
15
+ "skeleton-field",
16
+ { "is-text-area": e.isTextArea },
17
+ { "no-label": e.noLabel }
18
+ ])
19
+ }, [
20
+ e.noLabel ? (a(), t("div", c)) : (a(), t("div", p, [
21
+ e.withIcon ? (a(), n(o, {
22
+ key: 0,
23
+ height: "15px",
24
+ width: "15px"
25
+ })) : i("", !0),
26
+ s(o, {
27
+ height: "15px",
28
+ width: "30%"
29
+ })
30
+ ])),
31
+ s(o, {
32
+ height: e.isTextArea ? "82px" : "44px",
33
+ width: "100%",
34
+ "border-radius": "6px"
35
+ }, null, 8, ["height"])
36
+ ], 2));
37
+ }
38
+ }), u = /* @__PURE__ */ r(h, [["__scopeId", "data-v-992f78a1"]]);
39
+ export {
40
+ u as F
41
+ };
Binary file