@konnectio/core 4.0.56-rc31 → 4.0.56-rc33

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