@konnectio/core 4.0.55 → 4.0.56-rc2

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 (120) hide show
  1. package/README.md +7 -7
  2. package/dist/{ActionField-89f587d4.js → ActionField-Qf4JAgBa.js} +30 -31
  3. package/dist/ActionField-Qf4JAgBa.js.br +0 -0
  4. package/dist/ActionField-ztW-1xka.cjs +1 -0
  5. package/dist/AvailabilitySkeleton-GPTCv3Xy.js +242 -0
  6. package/dist/AvailabilitySkeleton-GPTCv3Xy.js.br +0 -0
  7. package/dist/AvailabilitySkeleton-v0QVPuim.cjs +1 -0
  8. package/dist/CheckoutWindow-NUwbNAPw.cjs +1 -0
  9. package/dist/{CheckoutWindow-df8612e3.js → CheckoutWindow-S9xKe_Wf.js} +58 -54
  10. package/dist/CheckoutWindow-S9xKe_Wf.js.br +0 -0
  11. package/dist/Container-Fl2PKj-u.js +59 -0
  12. package/dist/Container-Fl2PKj-u.js.br +0 -0
  13. package/dist/Container-Y6_3uTWy.cjs +1 -0
  14. package/dist/DateField.vue_vue_type_style_index_0_lang-hZTsLsOv.cjs +2 -0
  15. package/dist/{DateField.vue_vue_type_style_index_0_lang-bbaed106.js → DateField.vue_vue_type_style_index_0_lang-iz9zEBOR.js} +2666 -2661
  16. package/dist/DateField.vue_vue_type_style_index_0_lang-iz9zEBOR.js.br +0 -0
  17. package/dist/Field-UTbHMN9U.cjs +1 -0
  18. package/dist/Field-b7XkSAoi.js +43 -0
  19. package/dist/Field-b7XkSAoi.js.br +0 -0
  20. package/dist/SelectField.vue_vue_type_style_index_0_lang-30hJu8vr.js +21406 -0
  21. package/dist/SelectField.vue_vue_type_style_index_0_lang-30hJu8vr.js.br +0 -0
  22. package/dist/SelectField.vue_vue_type_style_index_0_lang-eLyZ247i.cjs +851 -0
  23. package/dist/{ThankYou-159b55d6.js → ThankYou-LiiG3Zv1.js} +2349 -2000
  24. package/dist/ThankYou-LiiG3Zv1.js.br +0 -0
  25. package/dist/ThankYou-M6d4G8pc.cjs +59 -0
  26. package/dist/_-FAlGPZqe.js +20 -0
  27. package/dist/_-oL4OsiNw.cjs +1 -0
  28. package/dist/_commonjsHelpers-f3sTPFkQ.js +8 -0
  29. package/dist/_commonjsHelpers-f52AuuUj.cjs +1 -0
  30. package/dist/availability.cjs +2 -2
  31. package/dist/availability.js +39 -42
  32. package/dist/availability.js.br +0 -0
  33. package/dist/components/Gallery.vue.d.ts +3 -2
  34. package/dist/components/Gallery.vue.d.ts.map +1 -1
  35. package/dist/components/forms/EventAvailabilityForm.vue.d.ts +1 -1
  36. package/dist/components/forms/HotelAvailabilityForm.vue.d.ts +1 -1
  37. package/dist/components/forms/MultiStepForm.vue.d.ts +1 -1
  38. package/dist/components/forms/ReservationForm.vue.d.ts +1 -1
  39. package/dist/components/listings/Base.vue.d.ts +1 -1
  40. package/dist/components/listings/Hotel.vue.d.ts +1 -1
  41. package/dist/components/listings/Template.vue.d.ts +1 -1
  42. package/dist/components/side-panels/ListingInfo.vue.d.ts +1 -1
  43. package/dist/components/side-panels/Template.vue.d.ts +1 -1
  44. package/dist/components/skeletons/AvailabilitySkeleton.vue.d.ts +1 -1
  45. package/dist/components/skeletons/Field.vue.d.ts +1 -1
  46. package/dist/components/skeletons/HotelSkeleton.vue.d.ts +1 -1
  47. package/dist/components/skeletons/Listing.vue.d.ts +1 -1
  48. package/dist/entries/availability.d.ts +3 -3
  49. package/dist/entries/event.d.ts +1 -1
  50. package/dist/entries/gift-card-validation.d.ts +5 -2
  51. package/dist/entries/gift-card.d.ts +5 -1
  52. package/dist/entries/hotel.d.ts +5 -0
  53. package/dist/event-GaUgVNzy.cjs +1 -0
  54. package/dist/{event-6cd5d9be.js → event-MXmxvcpC.js} +26 -25
  55. package/dist/event-MXmxvcpC.js.br +0 -0
  56. package/dist/event.cjs +1 -1
  57. package/dist/event.js +212 -214
  58. package/dist/event.js.br +0 -0
  59. package/dist/gift-card-validation.cjs +1 -1
  60. package/dist/gift-card-validation.js +68 -64
  61. package/dist/gift-card-validation.js.br +0 -0
  62. package/dist/gift-card.cjs +1 -1
  63. package/dist/gift-card.d.ts +2 -0
  64. package/dist/gift-card.js +278 -273
  65. package/dist/gift-card.js.br +0 -0
  66. package/dist/hotel.cjs +5 -5
  67. package/dist/hotel.d.ts +2 -0
  68. package/dist/hotel.js +1415 -1436
  69. package/dist/hotel.js.br +0 -0
  70. package/dist/layouts/Availability.vue.d.ts +4 -4
  71. package/dist/layouts/Event.vue.d.ts +4 -4
  72. package/dist/layouts/GiftCard.vue.d.ts +4 -4
  73. package/dist/layouts/GiftCardValidation.vue.d.ts +4 -4
  74. package/dist/layouts/Hotel.vue.d.ts +4 -4
  75. package/dist/layouts/_.vue.d.ts +4 -4
  76. package/dist/polyfill.cjs +4 -4
  77. package/dist/polyfill.js +3032 -3065
  78. package/dist/polyfill.js.br +0 -0
  79. package/dist/store/alert.d.ts +15 -15
  80. package/dist/store/applyGiftCard.d.ts +18 -18
  81. package/dist/store/availability.d.ts +12 -12
  82. package/dist/store/event.d.ts +141 -141
  83. package/dist/store/giftCard.d.ts +51 -51
  84. package/dist/store/payment.d.ts +39 -39
  85. package/dist/store/recaptcha.d.ts +28 -0
  86. package/dist/store/tracking.d.ts +6 -6
  87. package/dist/store/utilities.d.ts +131 -146
  88. package/dist/style.css +1 -1
  89. package/dist/style.css.br +0 -0
  90. package/dist/types/index.d.ts +8 -0
  91. package/package.json +22 -20
  92. package/dist/ActionField-087c3437.cjs +0 -1
  93. package/dist/ActionField-89f587d4.js.br +0 -0
  94. package/dist/AvailabilitySkeleton-01aab3cb.js +0 -237
  95. package/dist/AvailabilitySkeleton-01aab3cb.js.br +0 -0
  96. package/dist/AvailabilitySkeleton-452df88c.cjs +0 -1
  97. package/dist/CheckoutWindow-1d77f68c.cjs +0 -1
  98. package/dist/CheckoutWindow-df8612e3.js.br +0 -0
  99. package/dist/Container-3af1f7f7.cjs +0 -1
  100. package/dist/Container-9f1ed24c.js +0 -59
  101. package/dist/Container-9f1ed24c.js.br +0 -0
  102. package/dist/DateField.vue_vue_type_style_index_0_lang-b5676dde.cjs +0 -2
  103. package/dist/DateField.vue_vue_type_style_index_0_lang-bbaed106.js.br +0 -0
  104. package/dist/Field-43273ca2.cjs +0 -1
  105. package/dist/Field-92684198.js +0 -42
  106. package/dist/Field-92684198.js.br +0 -0
  107. package/dist/NumberField.vue_vue_type_script_setup_true_lang-a149d388.cjs +0 -1
  108. package/dist/NumberField.vue_vue_type_script_setup_true_lang-ce6f0b17.js +0 -67
  109. package/dist/NumberField.vue_vue_type_script_setup_true_lang-ce6f0b17.js.br +0 -0
  110. package/dist/SelectField.vue_vue_type_style_index_0_lang-11cea6ba.js +0 -30329
  111. package/dist/SelectField.vue_vue_type_style_index_0_lang-11cea6ba.js.br +0 -0
  112. package/dist/SelectField.vue_vue_type_style_index_0_lang-b1435f5a.cjs +0 -856
  113. package/dist/ThankYou-159b55d6.js.br +0 -0
  114. package/dist/ThankYou-c1cbecac.cjs +0 -59
  115. package/dist/_-52440760.js +0 -20
  116. package/dist/_-fbbc271a.cjs +0 -1
  117. package/dist/_commonjsHelpers-6763f629.cjs +0 -1
  118. package/dist/_commonjsHelpers-aeeeeb92.js +0 -30
  119. package/dist/event-6cd5d9be.js.br +0 -0
  120. package/dist/event-dfc9ed16.cjs +0 -1
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # FreshBooking integration for Octopus PMS for WordPress
1
+ # Konnectio Core Integration for Octopus PMS
2
2
 
3
3
  <p align="center">
4
4
  <a href="https://vuejs.org/"><img src="https://img.shields.io/badge/vue-3-brightgreen.svg"/></a>
@@ -50,13 +50,13 @@ The availability shortcode would most likely be inserted on the front page, and
50
50
  The availability shortcode can be inserted anywhere on the wordpress site using the following name:
51
51
 
52
52
  ```
53
- [fresh-booking-availability]
53
+ [konnectio-availability]
54
54
  ```
55
55
 
56
56
  You can add custom properties to the availability shortcode like so:
57
57
 
58
58
  ```
59
- [fresh-booking-availability panel-padding="24px"]
59
+ [konnectio-availability panel-padding="24px"]
60
60
  ```
61
61
 
62
62
  The availability shortcode supports the following properties (the default property settings are listed in the right side of the arrows):
@@ -95,7 +95,7 @@ The availability shortcode supports the following properties (the default proper
95
95
  The hotel shortcode can be inserted anywhere on the wordpress site using the following name:
96
96
 
97
97
  ```
98
- [fresh-booking-hotel]
98
+ [konnectio-hotel]
99
99
  ```
100
100
 
101
101
  The hotel shortcode supports the following properties:
@@ -139,7 +139,7 @@ The hotel shortcode supports the following properties:
139
139
  The gift card shortcode can be inserted anywhere on the wordpress site using the following name:
140
140
 
141
141
  ```
142
- [fresh-booking-gift-card]
142
+ [konnectio-gift-card]
143
143
  ```
144
144
 
145
145
  The gift card shortcode supports the following properties:
@@ -182,7 +182,7 @@ The gift card shortcode supports the following properties:
182
182
  The gift card validation shortcode can be inserted anywhere on the wordpress site using the following name:
183
183
 
184
184
  ```
185
- [fresh-booking-gift-card-validation]
185
+ [konnectio-gift-card-validation]
186
186
  ```
187
187
 
188
188
  The gift card validation shortcode supports the following properties:
@@ -223,7 +223,7 @@ The gift card validation shortcode supports the following properties:
223
223
  The event shortcode can be inserted anywhere on the wordpress site using the following name:
224
224
 
225
225
  ```
226
- [fresh-booking-event]
226
+ [konnectio-event]
227
227
  ```
228
228
 
229
229
  The event validation shortcode supports the following properties:
@@ -1,6 +1,6 @@
1
- import { k as b, l as V, f as m, m as d, n as i, w as v, A as q, B as g, q as t, T as k, p as B, C as I, I as C, _ as A } from "./SelectField.vue_vue_type_style_index_0_lang-11cea6ba.js";
2
- import { _ as F } from "./NumberField.vue_vue_type_script_setup_true_lang-ce6f0b17.js";
3
- const L = { class: "fresh-booking-action-field" }, T = /* @__PURE__ */ b({
1
+ import { defineComponent as c, computed as p, openBlock as d, createBlock as i, unref as t, withCtx as V, createElementVNode as v, createVNode as q } from "vue";
2
+ import { r as g, I as k, j as I, k as B, T as C, C as F, _ as A } from "./SelectField.vue_vue_type_style_index_0_lang-30hJu8vr.js";
3
+ const L = { class: "fresh-booking-action-field" }, T = /* @__PURE__ */ c({
4
4
  __name: "ActionField",
5
5
  props: {
6
6
  modelValue: {},
@@ -26,57 +26,57 @@ const L = { class: "fresh-booking-action-field" }, T = /* @__PURE__ */ b({
26
26
  },
27
27
  emits: ["update:modelValue", "action"],
28
28
  setup(y, { emit: f }) {
29
- const s = f, u = y, o = u.id || V();
30
- function r(e) {
31
- s("update:modelValue", e);
29
+ const r = f, u = y, a = u.id || g();
30
+ function s(e) {
31
+ r("update:modelValue", e);
32
32
  }
33
- const n = m({
33
+ const n = p({
34
34
  get: () => u.modelValue,
35
- set: (e) => r(e)
36
- }), p = m({
35
+ set: (e) => s(e)
36
+ }), m = p({
37
37
  get: () => u.modelValue,
38
- set: (e) => r(e)
38
+ set: (e) => s(e)
39
39
  });
40
- function c() {
41
- s("action");
40
+ function b() {
41
+ r("action");
42
42
  }
43
- return (e, a) => (d(), i(C, {
43
+ return (e, l) => (d(), i(k, {
44
44
  label: e.label,
45
- id: t(o),
45
+ id: t(a),
46
46
  icon: e.icon,
47
47
  "icon-type": e.iconType,
48
48
  required: e.required,
49
49
  type: e.type,
50
50
  readonly: e.readonly
51
51
  }, {
52
- default: v(() => [
53
- q("div", L, [
54
- e.type === "dropdown" && e.data ? (d(), i(g, {
52
+ default: V(() => [
53
+ v("div", L, [
54
+ e.type === "dropdown" && e.data ? (d(), i(I, {
55
55
  key: 0,
56
56
  modelValue: n.value,
57
- "onUpdate:modelValue": a[0] || (a[0] = (l) => n.value = l),
58
- id: t(o),
57
+ "onUpdate:modelValue": l[0] || (l[0] = (o) => n.value = o),
58
+ id: t(a),
59
59
  options: e.data,
60
60
  name: e.name,
61
61
  required: e.required,
62
62
  placeholder: e.placeholder
63
- }, null, 8, ["modelValue", "id", "options", "name", "required", "placeholder"])) : e.type === "number" ? (d(), i(F, {
63
+ }, null, 8, ["modelValue", "id", "options", "name", "required", "placeholder"])) : e.type === "number" ? (d(), i(B, {
64
64
  key: 1,
65
- modelValue: p.value,
66
- "onUpdate:modelValue": a[1] || (a[1] = (l) => p.value = l),
67
- id: t(o),
65
+ modelValue: m.value,
66
+ "onUpdate:modelValue": l[1] || (l[1] = (o) => m.value = o),
67
+ id: t(a),
68
68
  "min-value": e.minValue,
69
69
  "max-value": e.maxValue
70
- }, null, 8, ["modelValue", "id", "min-value", "max-value"])) : (d(), i(k, {
70
+ }, null, 8, ["modelValue", "id", "min-value", "max-value"])) : (d(), i(C, {
71
71
  key: 2,
72
72
  modelValue: n.value,
73
- "onUpdate:modelValue": a[2] || (a[2] = (l) => n.value = l),
74
- id: t(o),
73
+ "onUpdate:modelValue": l[2] || (l[2] = (o) => n.value = o),
74
+ id: t(a),
75
75
  name: e.name,
76
76
  required: e.required,
77
77
  placeholder: e.placeholder
78
78
  }, null, 8, ["modelValue", "id", "name", "required", "placeholder"])),
79
- B(I, {
79
+ q(F, {
80
80
  "data-test": `${e.name}Submit`,
81
81
  icon: e.buttonIcon,
82
82
  label: e.buttonLabel,
@@ -86,15 +86,14 @@ const L = { class: "fresh-booking-action-field" }, T = /* @__PURE__ */ b({
86
86
  "is-loading": e.isLoading,
87
87
  disabled: e.buttonDisabled,
88
88
  secondary: e.secondary,
89
- onClickEvent: a[3] || (a[3] = (l) => c())
89
+ onClickEvent: l[3] || (l[3] = (o) => b())
90
90
  }, null, 8, ["data-test", "icon", "label", "icon-color", "styling", "is-loading", "disabled", "secondary"])
91
91
  ])
92
92
  ]),
93
93
  _: 1
94
94
  }, 8, ["label", "id", "icon", "icon-type", "required", "type", "readonly"]));
95
95
  }
96
- });
97
- const w = /* @__PURE__ */ A(T, [["__scopeId", "data-v-3e77e321"]]);
96
+ }), U = /* @__PURE__ */ A(T, [["__scopeId", "data-v-3e77e321"]]);
98
97
  export {
99
- w as A
98
+ U as A
100
99
  };
Binary file
@@ -0,0 +1 @@
1
+ "use strict";const l=require("vue"),a=require("./SelectField.vue_vue_type_style_index_0_lang-eLyZ247i.cjs"),y={class:"fresh-booking-action-field"},f=l.defineComponent({__name:"ActionField",props:{modelValue:{},label:{},buttonLabel:{},buttonIcon:{},buttonIconColor:{},buttonDisabled:{type:Boolean,default:!1},secondary:{type:Boolean,default:!1},name:{},id:{},type:{default:"text"},placeholder:{},icon:{},iconType:{default:"fal"},required:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},data:{},action:{},minValue:{},maxValue:{},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue","action"],setup(p,{emit:m}){const u=m,i=p,d=i.id||a.ranId();function r(e){u("update:modelValue",e)}const t=l.computed({get:()=>i.modelValue,set:e=>r(e)}),s=l.computed({get:()=>i.modelValue,set:e=>r(e)});function c(){u("action")}return(e,o)=>(l.openBlock(),l.createBlock(a.InputField,{label:e.label,id:l.unref(d),icon:e.icon,"icon-type":e.iconType,required:e.required,type:e.type,readonly:e.readonly},{default:l.withCtx(()=>[l.createElementVNode("div",y,[e.type==="dropdown"&&e.data?(l.openBlock(),l.createBlock(a._sfc_main,{key:0,modelValue:t.value,"onUpdate:modelValue":o[0]||(o[0]=n=>t.value=n),id:l.unref(d),options:e.data,name:e.name,required:e.required,placeholder:e.placeholder},null,8,["modelValue","id","options","name","required","placeholder"])):e.type==="number"?(l.openBlock(),l.createBlock(a._sfc_main$1,{key:1,modelValue:s.value,"onUpdate:modelValue":o[1]||(o[1]=n=>s.value=n),id:l.unref(d),"min-value":e.minValue,"max-value":e.maxValue},null,8,["modelValue","id","min-value","max-value"])):(l.openBlock(),l.createBlock(a.TextField,{key:2,modelValue:t.value,"onUpdate:modelValue":o[2]||(o[2]=n=>t.value=n),id:l.unref(d),name:e.name,required:e.required,placeholder:e.placeholder},null,8,["modelValue","id","name","required","placeholder"])),l.createVNode(a.Clickable,{"data-test":`${e.name}Submit`,icon:e.buttonIcon,label:e.buttonLabel,"icon-color":e.buttonIconColor,styling:e.action,type:"button","is-loading":e.isLoading,disabled:e.buttonDisabled,secondary:e.secondary,onClickEvent:o[3]||(o[3]=n=>c())},null,8,["data-test","icon","label","icon-color","styling","is-loading","disabled","secondary"])])]),_:1},8,["label","id","icon","icon-type","required","type","readonly"]))}}),b=a._export_sfc(f,[["__scopeId","data-v-3e77e321"]]);exports.ActionField=b;
@@ -0,0 +1,242 @@
1
+ import { defineComponent as $, ref as j, openBlock as t, createElementBlock as u, withModifiers as Y, renderSlot as Z, computed as v, watch as E, onMounted as ee, createBlock as k, normalizeClass as L, withCtx as ae, createElementVNode as S, unref as e, createVNode as n, isRef as h, createCommentVNode as y, Fragment as H } from "vue";
2
+ import { c as q, l as le, s as x, F as I, G as N, j as te, T as O, k as T, C as z, f as ie, _ as G } from "./SelectField.vue_vue_type_style_index_0_lang-30hJu8vr.js";
3
+ import { _ as ne } from "./DateField.vue_vue_type_style_index_0_lang-iz9zEBOR.js";
4
+ import { E as M } from "./_-FAlGPZqe.js";
5
+ import { F as f } from "./Field-b7XkSAoi.js";
6
+ const oe = /* @__PURE__ */ $({
7
+ __name: "_",
8
+ props: {
9
+ type: { default: "submit" }
10
+ },
11
+ emits: ["submit"],
12
+ setup(w, { emit: a }) {
13
+ const i = j(!1), c = a, d = w, { verifyRecaptcha: r } = q();
14
+ function b() {
15
+ i.value = !0, r({
16
+ callback: g,
17
+ type: d.type
18
+ }).then(() => i.value = !1);
19
+ }
20
+ function g() {
21
+ c("submit");
22
+ }
23
+ return (V, C) => (t(), u("form", {
24
+ onSubmit: Y(b, ["prevent"])
25
+ }, [
26
+ Z(V.$slots, "default", { isLoading: i.value })
27
+ ], 32));
28
+ }
29
+ }), se = {
30
+ key: 0,
31
+ class: "konnectio-availability-location"
32
+ }, ce = { id: "fresh-booking-availability-date-selection" }, ue = {
33
+ key: 1,
34
+ id: "fresh-booking-availability-guest-selection"
35
+ }, de = { id: "fresh-booking-availability-confirmation" }, re = /* @__PURE__ */ $({
36
+ __name: "HotelAvailabilityForm",
37
+ props: {
38
+ booking: { type: Boolean, default: !1 },
39
+ link: {}
40
+ },
41
+ setup(w) {
42
+ const { t: a } = le(), i = w, {
43
+ adults: c,
44
+ children: d,
45
+ arrivalDate: r,
46
+ departureDate: b,
47
+ location: g,
48
+ isExpired: V
49
+ } = x(I()), { reset: C } = I(), { fetchAvailabilityData: J } = N(), { areListingsLoading: R, hotelList: K, hasHotelList: D } = x(N()), {
50
+ firstSelectableDateOffset: U,
51
+ lastSelectableDateOffset: F,
52
+ disableChildSelection: p,
53
+ disableAdultSelection: m
54
+ } = x(q()), _ = j([]), P = v(() => new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + (U.value - 1))));
55
+ v(() => new Date((/* @__PURE__ */ new Date()).setDate((/* @__PURE__ */ new Date()).getDate() + F.value))), v(() => new Date((/* @__PURE__ */ new Date()).setDate(r.value.getDate() + U.value)));
56
+ const Q = v(() => new Date((/* @__PURE__ */ new Date()).setDate(r.value.getDate() + (F.value + 1)))), A = v(() => !(!m && c.value === 0)), W = v(() => typeof i.link != "string");
57
+ function X() {
58
+ if (i.booking === !1)
59
+ if (W.value) {
60
+ const o = ie();
61
+ i.link[o] ? window.location.replace(i.link[o]) : i.link.en ? window.location.replace(i.link.en) : console.log("Sprog understøttes ikke");
62
+ } else
63
+ window.location.replace(i.link);
64
+ else
65
+ A.value && J();
66
+ }
67
+ return E(r, (o) => {
68
+ const l = new Date(new Date(o).setDate(new Date(o).getDate() + 1));
69
+ new Date(b.value) < l && (b.value = l);
70
+ }), E(_, (o) => {
71
+ r.value = o[0], b.value = o[1];
72
+ }), ee(() => {
73
+ V.value && C(), _.value = [r.value, b.value];
74
+ }), (o, l) => (t(), k(oe, {
75
+ id: "konnectio-availability-form",
76
+ class: L({ reservation: o.booking }),
77
+ type: "availability",
78
+ onSubmit: X
79
+ }, {
80
+ default: ae(({ isLoading: B }) => [
81
+ S("ul", {
82
+ id: "konnectio-availability-form-content",
83
+ class: L([
84
+ { "is-booking-page": o.booking },
85
+ { "only-adult-guests": !e(m) && e(p) },
86
+ { "only-child-guests": !e(p) && e(m) },
87
+ { "no-guests": e(m) && e(p) },
88
+ { "all-guests": !e(m) && !e(p) },
89
+ { "has-location": e(D) }
90
+ ])
91
+ }, [
92
+ e(D) ? (t(), u("li", se, [
93
+ n(te, {
94
+ modelValue: e(g),
95
+ "onUpdate:modelValue": l[0] || (l[0] = (s) => h(g) ? g.value = s : null),
96
+ label: e(a)("general.location"),
97
+ icon: "location-dot",
98
+ "icon-type": "fas",
99
+ "icon-placement": "label",
100
+ options: e(K),
101
+ searchable: !1
102
+ }, null, 8, ["modelValue", "label", "options"])
103
+ ])) : y("", !0),
104
+ S("li", ce, [
105
+ n(ne, {
106
+ modelValue: _.value,
107
+ "onUpdate:modelValue": l[1] || (l[1] = (s) => _.value = s),
108
+ label: e(a)("availability.checkInOut"),
109
+ "icon-type": "fas",
110
+ "icon-placement": "label",
111
+ "min-range": 1,
112
+ "min-date": P.value,
113
+ "max-date": Q.value,
114
+ range: ""
115
+ }, null, 8, ["modelValue", "label", "min-date", "max-date"]),
116
+ y("", !0)
117
+ ]),
118
+ !e(m) || !e(p) ? (t(), u("li", ue, [
119
+ e(m) ? y("", !0) : (t(), u(H, { key: 0 }, [
120
+ e(D) ? (t(), k(O, {
121
+ key: 0,
122
+ modelValue: e(c),
123
+ "onUpdate:modelValue": l[4] || (l[4] = (s) => h(c) ? c.value = s : null),
124
+ label: e(a)("availability.adults"),
125
+ description: e(a)("general.adultAgeRange"),
126
+ "icon-type": "fas",
127
+ "icon-placement": "label",
128
+ name: "adults",
129
+ icon: "male"
130
+ }, null, 8, ["modelValue", "label", "description"])) : (t(), k(T, {
131
+ key: 1,
132
+ modelValue: e(c),
133
+ "onUpdate:modelValue": l[5] || (l[5] = (s) => h(c) ? c.value = s : null),
134
+ label: e(a)("availability.adults"),
135
+ description: e(a)("general.adultAgeRange"),
136
+ "icon-type": "fas",
137
+ "icon-placement": "label",
138
+ name: "adults",
139
+ icon: "male"
140
+ }, null, 8, ["modelValue", "label", "description"]))
141
+ ], 64)),
142
+ e(p) ? y("", !0) : (t(), u(H, { key: 1 }, [
143
+ e(D) ? (t(), k(O, {
144
+ key: 0,
145
+ modelValue: e(d),
146
+ "onUpdate:modelValue": l[6] || (l[6] = (s) => h(d) ? d.value = s : null),
147
+ label: e(a)("availability.children"),
148
+ description: e(a)("general.childAgeRange"),
149
+ "icon-type": "fas",
150
+ "icon-placement": "label",
151
+ name: "children",
152
+ icon: "child"
153
+ }, null, 8, ["modelValue", "label", "description"])) : (t(), k(T, {
154
+ key: 1,
155
+ modelValue: e(d),
156
+ "onUpdate:modelValue": l[7] || (l[7] = (s) => h(d) ? d.value = s : null),
157
+ label: e(a)("availability.children"),
158
+ description: e(a)("general.childAgeRange"),
159
+ "icon-type": "fas",
160
+ "icon-placement": "label",
161
+ name: "children",
162
+ icon: "child"
163
+ }, null, 8, ["modelValue", "label", "description"]))
164
+ ], 64))
165
+ ])) : y("", !0),
166
+ S("li", de, [
167
+ n(z, {
168
+ class: "konnectio-availability-submit-small",
169
+ type: "submit",
170
+ icon: "search",
171
+ "icon-type": "fas",
172
+ disabled: !A.value,
173
+ "is-loading": e(R) || B
174
+ }, null, 8, ["disabled", "is-loading"]),
175
+ n(z, {
176
+ class: "konnectio-availability-submit-large",
177
+ type: "submit",
178
+ label: e(a)("availability.buttonLabel"),
179
+ disabled: !A.value,
180
+ "is-loading": e(R) || B
181
+ }, null, 8, ["label", "disabled", "is-loading"])
182
+ ])
183
+ ], 2)
184
+ ]),
185
+ _: 1
186
+ }, 8, ["class"]));
187
+ }
188
+ }), we = /* @__PURE__ */ G(re, [["__scopeId", "data-v-9ec1beba"]]), me = { class: "availability-skeleton" }, be = {
189
+ key: 0,
190
+ class: "availability-skeleton-navigation"
191
+ }, pe = {
192
+ key: 2,
193
+ class: "availability-skeleton-event"
194
+ }, ve = /* @__PURE__ */ $({
195
+ __name: "AvailabilitySkeleton",
196
+ props: {
197
+ view: { default: "hotel" },
198
+ hotel: { type: Boolean, default: !1 }
199
+ },
200
+ setup(w) {
201
+ return (a, i) => (t(), u("div", me, [
202
+ a.view === "both" ? (t(), u("div", be, [
203
+ n(M, {
204
+ height: "28px",
205
+ width: "60px",
206
+ "border-radius": "20px"
207
+ }),
208
+ n(M, {
209
+ height: "28px",
210
+ width: "60px",
211
+ "border-radius": "20px"
212
+ })
213
+ ])) : y("", !0),
214
+ a.view !== "event" ? (t(), u("div", {
215
+ key: 1,
216
+ class: L([
217
+ "availability-skeleton-hotel",
218
+ { "within-hotel": a.hotel }
219
+ ])
220
+ }, [
221
+ n(f, { "with-icon": "" }),
222
+ n(f, { "with-icon": "" }),
223
+ n(f, { "with-icon": "" }),
224
+ n(f, {
225
+ "with-icon": "",
226
+ "no-label": ""
227
+ })
228
+ ], 2)) : (t(), u("div", pe, [
229
+ n(f, { "with-icon": "" }),
230
+ n(f, {
231
+ "with-icon": "",
232
+ "no-label": ""
233
+ })
234
+ ]))
235
+ ]));
236
+ }
237
+ }), De = /* @__PURE__ */ G(ve, [["__scopeId", "data-v-be195a3f"]]);
238
+ export {
239
+ De as A,
240
+ we as H,
241
+ oe as _
242
+ };
@@ -0,0 +1 @@
1
+ "use strict";const e=require("vue"),l=require("./SelectField.vue_vue_type_style_index_0_lang-eLyZ247i.cjs"),R=require("./DateField.vue_vue_type_style_index_0_lang-hZTsLsOv.cjs"),B=require("./_-oL4OsiNw.cjs"),f=require("./Field-UTbHMN9U.cjs"),N=e.defineComponent({__name:"_",props:{type:{default:"submit"}},emits:["submit"],setup(b,{emit:t}){const n=e.ref(!1),s=t,c=b,{verifyRecaptcha:r}=l.useUtilityStore();function d(){n.value=!0,r({callback:p,type:c.type}).then(()=>n.value=!1)}function p(){s("submit")}return(y,_)=>(e.openBlock(),e.createElementBlock("form",{onSubmit:e.withModifiers(d,["prevent"])},[e.renderSlot(y.$slots,"default",{isLoading:n.value})],32))}}),L={key:0,class:"konnectio-availability-location"},$={id:"fresh-booking-availability-date-selection"},U={key:1,id:"fresh-booking-availability-guest-selection"},q={id:"fresh-booking-availability-confirmation"},H=e.defineComponent({__name:"HotelAvailabilityForm",props:{booking:{type:Boolean,default:!1},link:{}},setup(b){const{t}=l.useI18n(),n=b,{adults:s,children:c,arrivalDate:r,departureDate:d,location:p,isExpired:y}=l.storeToRefs(l.useAvailabilityStore()),{reset:_}=l.useAvailabilityStore(),{fetchAvailabilityData:S}=l.useHotelStore(),{areListingsLoading:h,hotelList:C,hasHotelList:v}=l.storeToRefs(l.useHotelStore()),{firstSelectableDateOffset:V,lastSelectableDateOffset:w,disableChildSelection:m,disableAdultSelection:u}=l.storeToRefs(l.useUtilityStore()),k=e.ref([]),A=e.computed(()=>new Date(new Date().setDate(new Date().getDate()+(V.value-1))));e.computed(()=>new Date(new Date().setDate(new Date().getDate()+w.value))),e.computed(()=>new Date(new Date().setDate(r.value.getDate()+V.value)));const F=e.computed(()=>new Date(new Date().setDate(r.value.getDate()+(w.value+1)))),g=e.computed(()=>!(!u&&s.value===0)),E=e.computed(()=>typeof n.link!="string");function x(){if(n.booking===!1)if(E.value){const i=l.getUserLanguage();n.link[i]?window.location.replace(n.link[i]):n.link.en?window.location.replace(n.link.en):console.log("Sprog understøttes ikke")}else window.location.replace(n.link);else g.value&&S()}return e.watch(r,i=>{const a=new Date(new Date(i).setDate(new Date(i).getDate()+1));new Date(d.value)<a&&(d.value=a)}),e.watch(k,i=>{r.value=i[0],d.value=i[1]}),e.onMounted(()=>{y.value&&_(),k.value=[r.value,d.value]}),(i,a)=>(e.openBlock(),e.createBlock(N,{id:"konnectio-availability-form",class:e.normalizeClass({reservation:i.booking}),type:"availability",onSubmit:x},{default:e.withCtx(({isLoading:D})=>[e.createElementVNode("ul",{id:"konnectio-availability-form-content",class:e.normalizeClass([{"is-booking-page":i.booking},{"only-adult-guests":!e.unref(u)&&e.unref(m)},{"only-child-guests":!e.unref(m)&&e.unref(u)},{"no-guests":e.unref(u)&&e.unref(m)},{"all-guests":!e.unref(u)&&!e.unref(m)},{"has-location":e.unref(v)}])},[e.unref(v)?(e.openBlock(),e.createElementBlock("li",L,[e.createVNode(l._sfc_main,{modelValue:e.unref(p),"onUpdate:modelValue":a[0]||(a[0]=o=>e.isRef(p)?p.value=o:null),label:e.unref(t)("general.location"),icon:"location-dot","icon-type":"fas","icon-placement":"label",options:e.unref(C),searchable:!1},null,8,["modelValue","label","options"])])):e.createCommentVNode("",!0),e.createElementVNode("li",$,[e.createVNode(R._sfc_main,{modelValue:k.value,"onUpdate:modelValue":a[1]||(a[1]=o=>k.value=o),label:e.unref(t)("availability.checkInOut"),"icon-type":"fas","icon-placement":"label","min-range":1,"min-date":A.value,"max-date":F.value,range:""},null,8,["modelValue","label","min-date","max-date"]),e.createCommentVNode("",!0)]),!e.unref(u)||!e.unref(m)?(e.openBlock(),e.createElementBlock("li",U,[e.unref(u)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(v)?(e.openBlock(),e.createBlock(l.TextField,{key:0,modelValue:e.unref(s),"onUpdate:modelValue":a[4]||(a[4]=o=>e.isRef(s)?s.value=o:null),label:e.unref(t)("availability.adults"),description:e.unref(t)("general.adultAgeRange"),"icon-type":"fas","icon-placement":"label",name:"adults",icon:"male"},null,8,["modelValue","label","description"])):(e.openBlock(),e.createBlock(l._sfc_main$1,{key:1,modelValue:e.unref(s),"onUpdate:modelValue":a[5]||(a[5]=o=>e.isRef(s)?s.value=o:null),label:e.unref(t)("availability.adults"),description:e.unref(t)("general.adultAgeRange"),"icon-type":"fas","icon-placement":"label",name:"adults",icon:"male"},null,8,["modelValue","label","description"]))],64)),e.unref(m)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(v)?(e.openBlock(),e.createBlock(l.TextField,{key:0,modelValue:e.unref(c),"onUpdate:modelValue":a[6]||(a[6]=o=>e.isRef(c)?c.value=o:null),label:e.unref(t)("availability.children"),description:e.unref(t)("general.childAgeRange"),"icon-type":"fas","icon-placement":"label",name:"children",icon:"child"},null,8,["modelValue","label","description"])):(e.openBlock(),e.createBlock(l._sfc_main$1,{key:1,modelValue:e.unref(c),"onUpdate:modelValue":a[7]||(a[7]=o=>e.isRef(c)?c.value=o:null),label:e.unref(t)("availability.children"),description:e.unref(t)("general.childAgeRange"),"icon-type":"fas","icon-placement":"label",name:"children",icon:"child"},null,8,["modelValue","label","description"]))],64))])):e.createCommentVNode("",!0),e.createElementVNode("li",q,[e.createVNode(l.Clickable,{class:"konnectio-availability-submit-small",type:"submit",icon:"search","icon-type":"fas",disabled:!g.value,"is-loading":e.unref(h)||D},null,8,["disabled","is-loading"]),e.createVNode(l.Clickable,{class:"konnectio-availability-submit-large",type:"submit",label:e.unref(t)("availability.buttonLabel"),disabled:!g.value,"is-loading":e.unref(h)||D},null,8,["label","disabled","is-loading"])])],2)]),_:1},8,["class"]))}}),T=l._export_sfc(H,[["__scopeId","data-v-9ec1beba"]]),z={class:"availability-skeleton"},I={key:0,class:"availability-skeleton-navigation"},O={key:2,class:"availability-skeleton-event"},M=e.defineComponent({__name:"AvailabilitySkeleton",props:{view:{default:"hotel"},hotel:{type:Boolean,default:!1}},setup(b){return(t,n)=>(e.openBlock(),e.createElementBlock("div",z,[t.view==="both"?(e.openBlock(),e.createElementBlock("div",I,[e.createVNode(B.Element,{height:"28px",width:"60px","border-radius":"20px"}),e.createVNode(B.Element,{height:"28px",width:"60px","border-radius":"20px"})])):e.createCommentVNode("",!0),t.view!=="event"?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["availability-skeleton-hotel",{"within-hotel":t.hotel}])},[e.createVNode(f.Field,{"with-icon":""}),e.createVNode(f.Field,{"with-icon":""}),e.createVNode(f.Field,{"with-icon":""}),e.createVNode(f.Field,{"with-icon":"","no-label":""})],2)):(e.openBlock(),e.createElementBlock("div",O,[e.createVNode(f.Field,{"with-icon":""}),e.createVNode(f.Field,{"with-icon":"","no-label":""})]))]))}}),j=l._export_sfc(M,[["__scopeId","data-v-be195a3f"]]);exports.AvailabilitySkeleton=j;exports.HotelAvailabilityForm=T;exports._sfc_main=N;
@@ -0,0 +1 @@
1
+ "use strict";const e=require("vue"),a=require("./SelectField.vue_vue_type_style_index_0_lang-eLyZ247i.cjs"),f={class:"fresh-booking-phone-input"},h=e.defineComponent({__name:"PhoneField",props:{modelValue:{},label:{},id:{},placeholder:{},icon:{default:"phone-office"},iconColor:{},iconType:{default:"fal"},required:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},inputStyle:{}},emits:["update:modelValue"],setup(r,{emit:l}){const n=l,i=r,u=i.id||a.ranId(),o=e.ref("+45"),d=e.ref("");function c(){n("update:modelValue",`${o.value} ${d.value}`)}return e.onMounted(()=>{if(i.modelValue){const t=i.modelValue.split(" ");o.value=t[0],d.value=t[1]}}),(t,s)=>(e.openBlock(),e.createBlock(a.InputField,{label:t.label,id:e.unref(u),type:"phone",required:t.required,readonly:t.readonly},{default:e.withCtx(()=>[e.createElementVNode("div",f,[e.createVNode(a.TextField,{modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=p=>o.value=p),type:"text",id:e.unref(a.ranId)(),name:"phone-code",autocomplete:"tel-country-code",icon:t.icon,"icon-color":t.iconColor,"icon-type":t.iconType,placeholder:"+45",required:t.required,readonly:t.readonly,"input-style":t.inputStyle,onInput:s[1]||(s[1]=p=>c())},null,8,["modelValue","id","icon","icon-color","icon-type","required","readonly","input-style"]),e.createVNode(a.TextField,{modelValue:d.value,"onUpdate:modelValue":s[2]||(s[2]=p=>d.value=p),type:"number",name:"phone",autocomplete:"tel-national",id:e.unref(u),placeholder:t.placeholder,required:t.required,readonly:t.readonly,"input-style":t.inputStyle,onInput:s[3]||(s[3]=p=>c())},null,8,["modelValue","id","placeholder","required","readonly","input-style"])])]),_:1},8,["label","id","required","readonly"]))}}),g=a._export_sfc(h,[["__scopeId","data-v-5cd094ab"]]),b=["required","type","name","readonly","disabled","value","checked"],k=["data-test"],v={key:0},V=e.defineComponent({__name:"Checkbox",props:{modelValue:{type:[String,Boolean,Number]},numeric:{type:Boolean,default:!1},checked:{type:Boolean,default:!1},label:{},price:{},name:{},readonly:{type:Boolean,default:!1},type:{default:"checkbox"},required:{type:Boolean,default:!1},inputStyle:{},val:{}},emits:["update:modelValue"],setup(r,{emit:l}){const n=r,i=l;function u(){n.readonly!==!0&&i("update:modelValue",n.type==="radio"?n.val:n.numeric?n.modelValue?0:1:!n.modelValue)}return(o,d)=>(e.openBlock(),e.createBlock(a.InputField,{required:o.required,type:o.type,readonly:o.readonly},{default:e.withCtx(()=>[e.createElementVNode("label",{class:e.normalizeClass(["fresh-booking-click-box-container",{"is-readonly":o.readonly},{"has-label":o.label},o.type==="radio"?"radio":"checkbox"])},[e.createElementVNode("input",e.mergeProps(o.$attrs,{required:!!o.required,type:o.type,name:o.name,class:"hidden",readonly:!!o.readonly,disabled:!!o.readonly,value:o.type==="radio"?o.val:o.modelValue,checked:o.type==="radio"?o.val===o.modelValue:!!o.modelValue,onChange:d[0]||(d[0]=c=>u())}),null,16,b),e.createElementVNode("div",{class:e.normalizeClass(["fresh-booking-click-box",{checked:o.type==="radio"?o.val===o.modelValue:!!o.modelValue}]),tabindex:"0",style:e.normalizeStyle(o.inputStyle),"data-test":o.name,onKeyup:d[1]||(d[1]=e.withKeys(c=>u(),["enter"]))},null,46,k),o.label?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["fresh-booking-click-box-label",{"with-price":o.price}])},[e.createElementVNode("span",null,e.toDisplayString(o.label),1),o.price?(e.openBlock(),e.createElementBlock("span",v,e.toDisplayString(o.price),1)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)],2)]),_:1},8,["required","type","readonly"]))}}),C=a._export_sfc(V,[["__scopeId","data-v-7ef656cb"]]),S={href:"https://policies.google.com/privacy",target:"_blank"},N={href:"https://policies.google.com/terms",target:"_blank"},m=e.defineComponent({__name:"GoogleNotice",setup(r){const{t:l}=a.useI18n();return(n,i)=>(e.openBlock(),e.createElementBlock("span",null,[e.createTextVNode(e.toDisplayString(e.unref(l)("googleNotice"))+" ",1),e.createElementVNode("a",S,e.toDisplayString(e.unref(l)("googlePrivacyPolicy")),1),e.createTextVNode(" "+e.toDisplayString(e.unref(l)("googleAnd"))+" ",1),e.createElementVNode("a",N,e.toDisplayString(e.unref(l)("googleTOS")),1),e.createTextVNode(" "+e.toDisplayString(e.unref(l)("googleApply"))+". ",1)]))}});function y(r){const l=r;l.__i18n=l.__i18n||[],l.__i18n.push({locale:"",resource:{da:{googleNotice:{t:0,b:{t:2,i:[{t:3}],s:"Denne side er beskyttet af reCAPTCHA og Google's"}},googlePrivacyPolicy:{t:0,b:{t:2,i:[{t:3}],s:"Privatlivspolitik"}},googleAnd:{t:0,b:{t:2,i:[{t:3}],s:"og"}},googleTOS:{t:0,b:{t:2,i:[{t:3}],s:"Servicevilkår"}},googleApply:{t:0,b:{t:2,i:[{t:3}],s:"er gældende"}}},en:{googleNotice:{t:0,b:{t:2,i:[{t:3}],s:"This site is protected by reCAPTCHA and the Google"}},googlePrivacyPolicy:{t:0,b:{t:2,i:[{t:3}],s:"Privacy Policy"}},googleAnd:{t:0,b:{t:2,i:[{t:3}],s:"and"}},googleTOS:{t:0,b:{t:2,i:[{t:3}],s:"Terms of Service"}},googleApply:{t:0,b:{t:2,i:[{t:3}],s:"apply"}}}}})}typeof y=="function"&&y(m);const _=r=>(e.pushScopeId("data-v-340cb9ce"),r=r(),e.popScopeId(),r),B=_(()=>e.createElementVNode("div",{id:"fresh-booking-payment-checkout"},null,-1)),q=[B],P=e.defineComponent({__name:"CheckoutWindow",setup(r){const{paymentGatewayId:l}=a.storeToRefs(a.useUtilityStore());return e.onMounted(()=>{const n=document.createElement("script"),i=document.createElement("script");n.setAttribute("src","https://checkout.dibspayment.eu/v1/checkout.js?v=1"),i.setAttribute("src","https://checkout.reepay.com/checkout.js"),document.head.appendChild(n),document.head.appendChild(i)}),(n,i)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{id:"fresh-booking-payment-checkout-wrapper",class:e.normalizeClass({reePay:e.unref(l)===e.unref(a.PaymentGateway).ReePay})},q,2)]))}}),$=a._export_sfc(P,[["__scopeId","data-v-340cb9ce"]]);exports.Checkbox=C;exports.CheckoutWindow=$;exports.PhoneField=g;exports._sfc_main=m;