@konnectio/core 4.0.1 → 4.0.3

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 (122) hide show
  1. package/dist/ActionField-1b4171c7.mjs +103 -0
  2. package/dist/ActionField-1b4171c7.mjs.br +0 -0
  3. package/dist/ActionField-97c0c682.js +2 -0
  4. package/dist/ActionField-97c0c682.js.br +0 -0
  5. package/dist/Clickable-eb931b15.mjs +13899 -0
  6. package/dist/Clickable-eb931b15.mjs.br +0 -0
  7. package/dist/Clickable-f57e16ad.js +785 -0
  8. package/dist/Clickable-f57e16ad.js.br +0 -0
  9. package/dist/HotelAvailabilityForm-5750665b.js +2 -0
  10. package/dist/HotelAvailabilityForm-5750665b.js.br +0 -0
  11. package/dist/HotelAvailabilityForm-bab6ef4d.mjs +99 -0
  12. package/dist/HotelAvailabilityForm-bab6ef4d.mjs.br +0 -0
  13. package/dist/NumberField.vue_vue_type_style_index_0_lang-737bf674.mjs +5917 -0
  14. package/dist/NumberField.vue_vue_type_style_index_0_lang-737bf674.mjs.br +0 -0
  15. package/dist/NumberField.vue_vue_type_style_index_0_lang-e642c7f3.js +56 -0
  16. package/dist/NumberField.vue_vue_type_style_index_0_lang-e642c7f3.js.br +0 -0
  17. package/dist/ReCaptchaVuePlugin-36454b0f.js +2 -0
  18. package/dist/ReCaptchaVuePlugin-36454b0f.js.br +0 -0
  19. package/dist/ReCaptchaVuePlugin-e4f378b2.mjs +377 -0
  20. package/dist/ReCaptchaVuePlugin-e4f378b2.mjs.br +0 -0
  21. package/dist/SelectField.vue_vue_type_style_index_0_lang-a3371159.js +57 -0
  22. package/dist/SelectField.vue_vue_type_style_index_0_lang-a3371159.js.br +0 -0
  23. package/dist/SelectField.vue_vue_type_style_index_0_lang-d7f0bf68.mjs +10109 -0
  24. package/dist/SelectField.vue_vue_type_style_index_0_lang-d7f0bf68.mjs.br +0 -0
  25. package/dist/ThankYou-23531d13.js +16 -0
  26. package/dist/ThankYou-23531d13.js.br +0 -0
  27. package/dist/ThankYou-4299d606.mjs +8519 -0
  28. package/dist/ThankYou-4299d606.mjs.br +0 -0
  29. package/dist/_commonjsHelpers-6763f629.js +2 -0
  30. package/dist/_commonjsHelpers-c5d32002.mjs +31 -0
  31. package/dist/applyGiftCard-9847fda1.js +2 -0
  32. package/dist/applyGiftCard-9847fda1.js.br +0 -0
  33. package/dist/applyGiftCard-eb7b85ee.mjs +118 -0
  34. package/dist/applyGiftCard-eb7b85ee.mjs.br +0 -0
  35. package/dist/availability.cjs.js +2 -0
  36. package/dist/availability.cjs.js.br +0 -0
  37. package/dist/availability.es.js +185 -0
  38. package/dist/availability.es.js.br +0 -0
  39. package/dist/event-1b888019.mjs +329 -0
  40. package/dist/event-1b888019.mjs.br +0 -0
  41. package/dist/event-e8e0c6a2.js +2 -0
  42. package/dist/event-e8e0c6a2.js.br +0 -0
  43. package/dist/event.cjs.js +2 -0
  44. package/dist/event.cjs.js.br +0 -0
  45. package/dist/event.es.js +647 -0
  46. package/dist/event.es.js.br +0 -0
  47. package/dist/gift-card-validation.cjs.js +2 -0
  48. package/dist/gift-card-validation.cjs.js.br +0 -0
  49. package/dist/gift-card-validation.es.js +172 -0
  50. package/dist/gift-card-validation.es.js.br +0 -0
  51. package/dist/gift-card.cjs.js +2 -0
  52. package/dist/gift-card.cjs.js.br +0 -0
  53. package/dist/gift-card.es.js +586 -0
  54. package/dist/gift-card.es.js.br +0 -0
  55. package/dist/hotel.cjs.js +20 -0
  56. package/dist/hotel.cjs.js.br +0 -0
  57. package/dist/hotel.es.js +2396 -0
  58. package/dist/hotel.es.js.br +0 -0
  59. package/dist/index-937554a9.mjs +654 -0
  60. package/dist/index-937554a9.mjs.br +0 -0
  61. package/dist/index-aa255eba.js +2 -0
  62. package/dist/index-aa255eba.js.br +0 -0
  63. package/dist/navigation.cjs.js +2 -0
  64. package/dist/navigation.cjs.js.br +0 -0
  65. package/dist/navigation.es.js +59 -0
  66. package/dist/navigation.es.js.br +0 -0
  67. package/dist/payment-3140b25e.js +3 -0
  68. package/dist/payment-3140b25e.js.br +0 -0
  69. package/dist/payment-b79997a8.mjs +8149 -0
  70. package/dist/payment-b79997a8.mjs.br +0 -0
  71. package/dist/polyfill.cjs.js +5 -0
  72. package/dist/polyfill.cjs.js.br +0 -0
  73. package/dist/polyfill.es.js +6766 -0
  74. package/dist/polyfill.es.js.br +0 -0
  75. package/dist/style.css +1 -0
  76. package/dist/style.css.br +0 -0
  77. package/package.json +3 -1
  78. package/dist/admin.js +0 -2
  79. package/dist/admin.js.br +0 -0
  80. package/dist/assets/ActionField-d1b315e3.js +0 -2
  81. package/dist/assets/ActionField-d1b315e3.js.br +0 -0
  82. package/dist/assets/Alert-2cd22061.js +0 -2
  83. package/dist/assets/Alert-2cd22061.js.br +0 -0
  84. package/dist/assets/Clickable-19c9ecdc.js +0 -2
  85. package/dist/assets/Clickable-19c9ecdc.js.br +0 -0
  86. package/dist/assets/GoogleNotice-83805aa2.js +0 -2
  87. package/dist/assets/GoogleNotice-83805aa2.js.br +0 -0
  88. package/dist/assets/HotelAvailabilityForm-53fa6ecb.js +0 -2
  89. package/dist/assets/HotelAvailabilityForm-53fa6ecb.js.br +0 -0
  90. package/dist/assets/Icon-6c933148.js +0 -2
  91. package/dist/assets/Icon-6c933148.js.br +0 -0
  92. package/dist/assets/NumberField.vue_vue_type_style_index_0_lang-9b1b90b2.js +0 -2
  93. package/dist/assets/NumberField.vue_vue_type_style_index_0_lang-9b1b90b2.js.br +0 -0
  94. package/dist/assets/SelectField.vue_vue_type_style_index_0_lang-c5d2bf7d.js +0 -2
  95. package/dist/assets/SelectField.vue_vue_type_style_index_0_lang-c5d2bf7d.js.br +0 -0
  96. package/dist/assets/ThankYou-29820212.js +0 -5
  97. package/dist/assets/ThankYou-29820212.js.br +0 -0
  98. package/dist/assets/applyGiftCard-39571f2e.js +0 -2
  99. package/dist/assets/applyGiftCard-39571f2e.js.br +0 -0
  100. package/dist/assets/event-79c562c0.js +0 -2
  101. package/dist/assets/event-79c562c0.js.br +0 -0
  102. package/dist/assets/payment-a3a9b5dd.js +0 -2
  103. package/dist/assets/payment-a3a9b5dd.js.br +0 -0
  104. package/dist/assets/style.css +0 -1
  105. package/dist/assets/style.css.br +0 -0
  106. package/dist/assets/vendor-65ee0d78.js +0 -889
  107. package/dist/assets/vendor-65ee0d78.js.br +0 -0
  108. package/dist/availability.js +0 -2
  109. package/dist/availability.js.br +0 -0
  110. package/dist/event.js +0 -2
  111. package/dist/event.js.br +0 -0
  112. package/dist/gift-card-validation.js +0 -2
  113. package/dist/gift-card-validation.js.br +0 -0
  114. package/dist/gift-card.js +0 -2
  115. package/dist/gift-card.js.br +0 -0
  116. package/dist/hotel.js +0 -2
  117. package/dist/hotel.js.br +0 -0
  118. package/dist/manifest.json +0 -231
  119. package/dist/manifest.json.br +0 -0
  120. package/dist/navigation.js +0 -2
  121. package/dist/navigation.js.br +0 -0
  122. package/dist/polyfill.js +0 -2
Binary file
@@ -0,0 +1,654 @@
1
+ import { a9 as isPlainObject, E as nextTick, aa as isFunction, ab as vue_esmBundler, d as defineComponent, r as ref, g as onMounted, o as openBlock, h as createBlock, w as withCtx, b as createBaseVNode, a as createVNode, u as unref, _ as _export_sfc, V as mergeProps, n as normalizeClass, B as normalizeStyle, Y as withKeys, c as createElementBlock, t as toDisplayString, k as createCommentVNode, x as createTextVNode } from "./Clickable-eb931b15.mjs";
2
+ import { a as getAugmentedNamespace } from "./_commonjsHelpers-c5d32002.mjs";
3
+ import { x as ranId, I as InputField, u as useI18n } from "./NumberField.vue_vue_type_style_index_0_lang-737bf674.mjs";
4
+ import { T as TextField } from "./SelectField.vue_vue_type_style_index_0_lang-d7f0bf68.mjs";
5
+ function _defineProperty(e, t, n) {
6
+ return t in e ? Object.defineProperty(e, t, {
7
+ value: n,
8
+ enumerable: !0,
9
+ configurable: !0,
10
+ writable: !0
11
+ }) : e[t] = n, e;
12
+ }
13
+ function ownKeys(e, t) {
14
+ var n = Object.keys(e);
15
+ if (Object.getOwnPropertySymbols) {
16
+ var i = Object.getOwnPropertySymbols(e);
17
+ t && (i = i.filter(function(r) {
18
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
19
+ })), n.push.apply(n, i);
20
+ }
21
+ return n;
22
+ }
23
+ function _objectSpread2(e) {
24
+ for (var t = 1; t < arguments.length; t++) {
25
+ var n = arguments[t] != null ? arguments[t] : {};
26
+ t % 2 ? ownKeys(Object(n), !0).forEach(function(i) {
27
+ _defineProperty(e, i, n[i]);
28
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ownKeys(Object(n)).forEach(function(i) {
29
+ Object.defineProperty(e, i, Object.getOwnPropertyDescriptor(n, i));
30
+ });
31
+ }
32
+ return e;
33
+ }
34
+ var load = function(t) {
35
+ var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
36
+ return new Promise(function(i, r) {
37
+ if (!(typeof document > "u")) {
38
+ var l = document.head || document.getElementsByTagName("head")[0], s = document.createElement("script");
39
+ if (s.async = !0, s.src = t, s.defer = n.defer, n.preconnectOrigin) {
40
+ var u = document.createElement("link");
41
+ u.href = n.preconnectOrigin, u.rel = "preconnect", l.appendChild(u);
42
+ }
43
+ l.appendChild(s), s.onload = i, s.onerror = r;
44
+ }
45
+ });
46
+ }, mergeDeep = function e(t) {
47
+ for (var n = arguments.length, i = new Array(n > 1 ? n - 1 : 0), r = 1; r < n; r++)
48
+ i[r - 1] = arguments[r];
49
+ if (!i.length)
50
+ return t;
51
+ var l = i.shift();
52
+ if (!(!isPlainObject(t) || !isPlainObject(l))) {
53
+ for (var s in l)
54
+ isPlainObject(l[s]) ? (t[s] || Object.assign(t, _defineProperty({}, s, {})), e(t[s], l[s])) : Object.assign(t, _defineProperty({}, s, l[s]));
55
+ return e.apply(void 0, [t].concat(i));
56
+ }
57
+ }, isBrowser = function() {
58
+ return !(typeof window > "u" || typeof document > "u");
59
+ }, warn = function(t) {
60
+ var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
61
+ !isBrowser() || process.env.NODE_ENV === "production" || n && console.warn("[vue-gtag] ".concat(t));
62
+ }, validateScreenviewShape = function() {
63
+ var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
64
+ return warn('Missing "appName" property inside the plugin options.', t.app_name == null), warn('Missing "name" property in the route.', t.screen_name == null), t;
65
+ };
66
+ function getPathWithBase() {
67
+ var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", n = e.split("/"), i = t.split("/");
68
+ return n[0] === "" && t[t.length - 1] === "/" && n.shift(), i.join("/") + n.join("/");
69
+ }
70
+ var getDefaultParams = function() {
71
+ return {
72
+ bootstrap: !0,
73
+ onReady: null,
74
+ onError: null,
75
+ onBeforeTrack: null,
76
+ onAfterTrack: null,
77
+ pageTrackerTemplate: null,
78
+ customResourceURL: "https://www.googletagmanager.com/gtag/js",
79
+ customPreconnectOrigin: "https://www.googletagmanager.com",
80
+ deferScriptLoad: !1,
81
+ pageTrackerExcludedRoutes: [],
82
+ pageTrackerEnabled: !0,
83
+ enabled: !0,
84
+ disableScriptLoad: !1,
85
+ pageTrackerScreenviewEnabled: !1,
86
+ appName: null,
87
+ pageTrackerUseFullPath: !1,
88
+ pageTrackerPrependBase: !0,
89
+ pageTrackerSkipSamePath: !0,
90
+ globalDataLayerName: "dataLayer",
91
+ globalObjectName: "gtag",
92
+ defaultGroupName: "default",
93
+ includes: null,
94
+ config: {
95
+ id: null,
96
+ params: {
97
+ send_page_view: !1
98
+ }
99
+ }
100
+ };
101
+ }, params = {}, setOptions = function() {
102
+ var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = getDefaultParams();
103
+ params = mergeDeep(n, t);
104
+ }, getOptions = function() {
105
+ return params;
106
+ }, query = function() {
107
+ var e, t = getOptions(), n = t.globalObjectName;
108
+ !isBrowser() || typeof window[n] > "u" || (e = window)[n].apply(e, arguments);
109
+ }, config = function() {
110
+ for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
111
+ t[n] = arguments[n];
112
+ var i = getOptions(), r = i.config, l = i.includes;
113
+ query.apply(void 0, ["config", r.id].concat(t)), Array.isArray(l) && l.forEach(function(s) {
114
+ query.apply(void 0, ["config", s.id].concat(t));
115
+ });
116
+ }, assignGlobalProperty = function(t, n) {
117
+ isBrowser() && (window["ga-disable-".concat(t)] = n);
118
+ }, disable = function() {
119
+ var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, t = getOptions(), n = t.config, i = t.includes;
120
+ assignGlobalProperty(n.id, e), Array.isArray(i) && i.forEach(function(r) {
121
+ return assignGlobalProperty(r.id, e);
122
+ });
123
+ }, optOut = function() {
124
+ disable(!0);
125
+ }, optIn = function() {
126
+ disable(!1);
127
+ }, router, setRouter = function(t) {
128
+ router = t;
129
+ }, getRouter = function() {
130
+ return router;
131
+ }, event = function(e) {
132
+ var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = getOptions(), i = n.includes, r = n.defaultGroupName;
133
+ t.send_to == null && Array.isArray(i) && i.length && (t.send_to = i.map(function(l) {
134
+ return l.id;
135
+ }).concat(r)), query("event", e, t);
136
+ }, pageview = function(e) {
137
+ if (isBrowser()) {
138
+ var t;
139
+ if (typeof e == "string")
140
+ t = {
141
+ page_path: e
142
+ };
143
+ else if (e.path || e.fullPath) {
144
+ var n = getOptions(), i = n.pageTrackerUseFullPath, r = n.pageTrackerPrependBase, l = getRouter(), s = l && l.options.base, u = i ? e.fullPath : e.path;
145
+ t = _objectSpread2(_objectSpread2({}, e.name && {
146
+ page_title: e.name
147
+ }), {}, {
148
+ page_path: r ? getPathWithBase(u, s) : u
149
+ });
150
+ } else
151
+ t = e;
152
+ t.page_location == null && (t.page_location = window.location.href), t.send_page_view == null && (t.send_page_view = !0), event("page_view", t);
153
+ }
154
+ }, screenview = function(e) {
155
+ var t = getOptions(), n = t.appName;
156
+ if (e) {
157
+ var i;
158
+ typeof e == "string" ? i = {
159
+ screen_name: e
160
+ } : i = e, i.app_name = i.app_name || n, event("screen_view", i);
161
+ }
162
+ }, exception = function() {
163
+ for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
164
+ t[n] = arguments[n];
165
+ event.apply(void 0, ["exception"].concat(t));
166
+ }, linker = function(e) {
167
+ config("linker", e);
168
+ }, time = function(e) {
169
+ event("timing_complete", e);
170
+ }, set = function() {
171
+ for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
172
+ t[n] = arguments[n];
173
+ query.apply(void 0, ["set"].concat(t));
174
+ }, refund = function() {
175
+ for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
176
+ t[n] = arguments[n];
177
+ event.apply(void 0, ["refund"].concat(t));
178
+ }, purchase = function(e) {
179
+ event("purchase", e);
180
+ }, customMap = function(e) {
181
+ config({
182
+ custom_map: e
183
+ });
184
+ }, api = /* @__PURE__ */ Object.freeze({
185
+ __proto__: null,
186
+ query,
187
+ config,
188
+ optOut,
189
+ optIn,
190
+ pageview,
191
+ screenview,
192
+ exception,
193
+ linker,
194
+ time,
195
+ set,
196
+ refund,
197
+ purchase,
198
+ customMap,
199
+ event
200
+ }), attachApi = function(t) {
201
+ t.config.globalProperties.$gtag = api;
202
+ }, registerGlobals = function() {
203
+ if (isBrowser()) {
204
+ var e = getOptions(), t = e.enabled, n = e.globalObjectName, i = e.globalDataLayerName;
205
+ return window[n] == null && (window[i] = window[i] || [], window[n] = function() {
206
+ window[i].push(arguments);
207
+ }), window[n]("js", /* @__PURE__ */ new Date()), t || optOut(), window[n];
208
+ }
209
+ }, mergeDefaultParams = function(t) {
210
+ return _objectSpread2({
211
+ send_page_view: !1
212
+ }, t);
213
+ }, addConfiguration = function() {
214
+ var e = getOptions(), t = e.config, n = e.includes;
215
+ query("config", t.id, mergeDefaultParams(t.params)), Array.isArray(n) && n.forEach(function(i) {
216
+ query("config", i.id, mergeDefaultParams(i.params));
217
+ });
218
+ }, track = function() {
219
+ var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = getOptions(), i = n.appName, r = n.pageTrackerTemplate, l = n.pageTrackerScreenviewEnabled, s = n.pageTrackerSkipSamePath;
220
+ if (!(s && e.path === t.path)) {
221
+ var u = e;
222
+ if (isFunction(r) ? u = r(e, t) : l && (u = validateScreenviewShape({
223
+ app_name: i,
224
+ screen_name: e.name
225
+ })), l) {
226
+ screenview(u);
227
+ return;
228
+ }
229
+ pageview(u);
230
+ }
231
+ }, isRouteExcluded = function(t) {
232
+ var n = getOptions(), i = n.pageTrackerExcludedRoutes;
233
+ return i.includes(t.path) || i.includes(t.name);
234
+ }, addRoutesTracker = function() {
235
+ var e = getOptions(), t = e.onBeforeTrack, n = e.onAfterTrack, i = getRouter();
236
+ i.isReady().then(function() {
237
+ nextTick().then(function() {
238
+ var r = i.currentRoute;
239
+ addConfiguration(), !isRouteExcluded(r.value) && track(r.value);
240
+ }), i.afterEach(function(r, l) {
241
+ nextTick().then(function() {
242
+ isRouteExcluded(r) || (isFunction(t) && t(r, l), track(r, l), isFunction(n) && n(r, l));
243
+ });
244
+ });
245
+ });
246
+ }, bootstrap = function() {
247
+ var e = getOptions(), t = e.onReady, n = e.onError, i = e.globalObjectName, r = e.globalDataLayerName, l = e.config, s = e.customResourceURL, u = e.customPreconnectOrigin, p = e.deferScriptLoad, f = e.pageTrackerEnabled, g = e.disableScriptLoad, m = !!(f && getRouter());
248
+ if (registerGlobals(), m ? addRoutesTracker() : addConfiguration(), !g)
249
+ return load("".concat(s, "?id=").concat(l.id, "&l=").concat(r), {
250
+ preconnectOrigin: u,
251
+ defer: p
252
+ }).then(function() {
253
+ t && t(window[i]);
254
+ }).catch(function(d) {
255
+ return n && n(d), d;
256
+ });
257
+ }, install = function(t) {
258
+ var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, i = arguments.length > 2 ? arguments[2] : void 0;
259
+ attachApi(t), setOptions(n), setRouter(i), getOptions().bootstrap && bootstrap();
260
+ };
261
+ const require$$1 = /* @__PURE__ */ getAugmentedNamespace(vue_esmBundler), _hoisted_1$2 = { class: "fresh-booking-phone-input" }, _sfc_main$2 = /* @__PURE__ */ defineComponent({
262
+ __name: "PhoneField",
263
+ props: {
264
+ modelValue: {},
265
+ label: {},
266
+ id: {},
267
+ placeholder: {},
268
+ icon: { default: "phone-office" },
269
+ iconColor: {},
270
+ iconType: { default: "fal" },
271
+ required: { type: Boolean, default: !1 },
272
+ readonly: { type: Boolean, default: !1 },
273
+ inputStyle: {}
274
+ },
275
+ emits: ["update:modelValue"],
276
+ setup(e, { emit: t }) {
277
+ const n = e, i = n.id || ranId(), r = ref({
278
+ code: "+45",
279
+ number: ""
280
+ });
281
+ function l() {
282
+ t("update:modelValue", `${r.value.code} ${r.value.number}`);
283
+ }
284
+ return onMounted(() => {
285
+ if (n.modelValue) {
286
+ const s = n.modelValue.split(" ");
287
+ r.value.code = s[0], r.value.number = s[1];
288
+ }
289
+ }), (s, u) => (openBlock(), createBlock(InputField, {
290
+ label: s.label,
291
+ id: unref(i),
292
+ type: "phone",
293
+ required: s.required,
294
+ readonly: s.readonly
295
+ }, {
296
+ default: withCtx(() => [
297
+ createBaseVNode("div", _hoisted_1$2, [
298
+ createVNode(TextField, {
299
+ modelValue: r.value.code,
300
+ "onUpdate:modelValue": u[0] || (u[0] = (p) => r.value.code = p),
301
+ type: "text",
302
+ id: unref(ranId)(),
303
+ name: "phone-code",
304
+ autocomplete: "tel-country-code",
305
+ icon: s.icon,
306
+ "icon-color": s.iconColor,
307
+ "icon-type": s.iconType,
308
+ placeholder: "+45",
309
+ required: s.required,
310
+ readonly: s.readonly,
311
+ "input-style": s.inputStyle,
312
+ onInput: u[1] || (u[1] = (p) => l())
313
+ }, null, 8, ["modelValue", "id", "icon", "icon-color", "icon-type", "required", "readonly", "input-style"]),
314
+ createVNode(TextField, {
315
+ modelValue: r.value.number,
316
+ "onUpdate:modelValue": u[2] || (u[2] = (p) => r.value.number = p),
317
+ type: "number",
318
+ name: "phone",
319
+ autocomplete: "tel-national",
320
+ id: unref(i),
321
+ placeholder: s.placeholder,
322
+ required: s.required,
323
+ readonly: s.readonly,
324
+ "input-style": s.inputStyle,
325
+ onInput: u[3] || (u[3] = (p) => l())
326
+ }, null, 8, ["modelValue", "id", "placeholder", "required", "readonly", "input-style"])
327
+ ])
328
+ ]),
329
+ _: 1
330
+ }, 8, ["label", "id", "required", "readonly"]));
331
+ }
332
+ }), PhoneField_vue_vue_type_style_index_0_scoped_bd936115_lang = "", PhoneField = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-bd936115"]]), _hoisted_1$1 = ["required", "type", "name", "readonly", "disabled", "value", "checked"], _hoisted_2$1 = ["data-test"], _hoisted_3 = { key: 0 }, _sfc_main$1 = /* @__PURE__ */ defineComponent({
333
+ __name: "Checkbox",
334
+ props: {
335
+ modelValue: { type: [String, Boolean, Number] },
336
+ numeric: { type: Boolean, default: !1 },
337
+ checked: { type: Boolean, default: !1 },
338
+ label: {},
339
+ price: {},
340
+ name: {},
341
+ readonly: { type: Boolean, default: !1 },
342
+ type: { default: "checkbox" },
343
+ required: { type: Boolean, default: !1 },
344
+ inputStyle: {},
345
+ val: {}
346
+ },
347
+ emits: ["update:modelValue"],
348
+ setup(e, { emit: t }) {
349
+ const n = e;
350
+ function i() {
351
+ n.readonly !== !0 && t(
352
+ "update:modelValue",
353
+ n.type === "radio" ? n.val : n.numeric ? n.modelValue ? 0 : 1 : !n.modelValue
354
+ );
355
+ }
356
+ return (r, l) => (openBlock(), createBlock(InputField, {
357
+ required: r.required,
358
+ type: r.type,
359
+ readonly: r.readonly
360
+ }, {
361
+ default: withCtx(() => [
362
+ createBaseVNode("label", {
363
+ class: normalizeClass([
364
+ "fresh-booking-click-box-container",
365
+ { "is-readonly": r.readonly },
366
+ { "has-label": r.label },
367
+ r.type === "radio" ? "radio" : "checkbox"
368
+ ])
369
+ }, [
370
+ createBaseVNode("input", mergeProps(r.$attrs, {
371
+ required: !!r.required,
372
+ type: r.type,
373
+ name: r.name,
374
+ class: "hidden",
375
+ readonly: !!r.readonly,
376
+ disabled: !!r.readonly,
377
+ value: r.type === "radio" ? r.val : r.modelValue,
378
+ checked: r.type === "radio" ? r.val === r.modelValue : !!r.modelValue,
379
+ onChange: l[0] || (l[0] = (s) => i())
380
+ }), null, 16, _hoisted_1$1),
381
+ createBaseVNode("div", {
382
+ class: normalizeClass([
383
+ "fresh-booking-click-box",
384
+ { checked: r.type === "radio" ? r.val === r.modelValue : !!r.modelValue }
385
+ ]),
386
+ tabindex: "0",
387
+ style: normalizeStyle(r.inputStyle),
388
+ "data-test": r.name,
389
+ onKeyup: l[1] || (l[1] = withKeys((s) => i(), ["enter"]))
390
+ }, null, 46, _hoisted_2$1),
391
+ r.label ? (openBlock(), createElementBlock("div", {
392
+ key: 0,
393
+ class: normalizeClass(["fresh-booking-click-box-label", { "with-price": r.price }])
394
+ }, [
395
+ createBaseVNode("span", null, toDisplayString(r.label), 1),
396
+ r.price ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(r.price), 1)) : createCommentVNode("", !0)
397
+ ], 2)) : createCommentVNode("", !0)
398
+ ], 2)
399
+ ]),
400
+ _: 1
401
+ }, 8, ["required", "type", "readonly"]));
402
+ }
403
+ }), Checkbox_vue_vue_type_style_index_0_scoped_7ef656cb_lang = "", Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-7ef656cb"]]), _hoisted_1 = { href: "https://policies.google.com/privacy" }, _hoisted_2 = { href: "https://policies.google.com/terms" }, _sfc_main = /* @__PURE__ */ defineComponent({
404
+ __name: "GoogleNotice",
405
+ setup(e) {
406
+ const { t } = useI18n();
407
+ return (n, i) => (openBlock(), createElementBlock("span", null, [
408
+ createTextVNode(toDisplayString(unref(t)("googleNotice")) + " ", 1),
409
+ createBaseVNode("a", _hoisted_1, toDisplayString(unref(t)("googlePrivacyPolicy")), 1),
410
+ createTextVNode(" " + toDisplayString(unref(t)("googleAnd")) + " ", 1),
411
+ createBaseVNode("a", _hoisted_2, toDisplayString(unref(t)("googleTOS")), 1),
412
+ createTextVNode(" " + toDisplayString(unref(t)("googleApply")) + ". ", 1)
413
+ ]));
414
+ }
415
+ });
416
+ function block0(e) {
417
+ const t = e;
418
+ t.__i18n = t.__i18n || [], t.__i18n.push({
419
+ locale: "",
420
+ resource: {
421
+ da: {
422
+ googleNotice: (n) => {
423
+ const { normalize: i } = n;
424
+ return i(["Denne side er beskyttet af reCAPTCHA og Google's"]);
425
+ },
426
+ googlePrivacyPolicy: (n) => {
427
+ const { normalize: i } = n;
428
+ return i(["Privatlivspolitik"]);
429
+ },
430
+ googleAnd: (n) => {
431
+ const { normalize: i } = n;
432
+ return i(["og"]);
433
+ },
434
+ googleTOS: (n) => {
435
+ const { normalize: i } = n;
436
+ return i(["Servicevilkår"]);
437
+ },
438
+ googleApply: (n) => {
439
+ const { normalize: i } = n;
440
+ return i(["er gældende"]);
441
+ }
442
+ },
443
+ en: {
444
+ googleNotice: (n) => {
445
+ const { normalize: i } = n;
446
+ return i(["This site is protected by reCAPTCHA and the Google"]);
447
+ },
448
+ googlePrivacyPolicy: (n) => {
449
+ const { normalize: i } = n;
450
+ return i(["Privacy Policy"]);
451
+ },
452
+ googleAnd: (n) => {
453
+ const { normalize: i } = n;
454
+ return i(["and"]);
455
+ },
456
+ googleTOS: (n) => {
457
+ const { normalize: i } = n;
458
+ return i(["Terms of Service"]);
459
+ },
460
+ googleApply: (n) => {
461
+ const { normalize: i } = n;
462
+ return i(["apply"]);
463
+ }
464
+ }
465
+ }
466
+ });
467
+ }
468
+ typeof block0 == "function" && block0(_sfc_main);
469
+ var a = Object.defineProperty, c = (e, t, n) => t in e ? a(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, o = (e, t, n) => (c(e, typeof t != "symbol" ? t + "" : t, n), n);
470
+ const namespace = "@@vue3-sticky-directive", events = [
471
+ "resize",
472
+ "scroll",
473
+ "touchstart",
474
+ "touchmove",
475
+ "touchend",
476
+ "pageshow",
477
+ "load"
478
+ ], batchStyle = (e, t = {}, n = {}) => {
479
+ for (let i in t)
480
+ e.style[i] = t[i];
481
+ for (let i in n)
482
+ n[i] && !e.classList.contains(i) ? e.classList.add(i) : !n[i] && e.classList.contains(i) && e.classList.remove(i);
483
+ };
484
+ class Sticky {
485
+ constructor(e, t) {
486
+ o(this, "el"), o(this, "vm"), o(this, "unSubscribers"), o(this, "isPending"), o(this, "state"), o(this, "lastState"), o(this, "options"), o(this, "placeholderEl"), o(this, "containerEl"), this.el = e, this.vm = t, this.unSubscribers = [], this.isPending = !1, this.state = {
487
+ isTopSticky: null,
488
+ isBottomSticky: null,
489
+ height: null,
490
+ width: null,
491
+ xOffset: null
492
+ }, this.lastState = {
493
+ top: null,
494
+ bottom: null,
495
+ sticked: !1
496
+ };
497
+ const n = this.getAttribute("sticky-offset") || {}, i = this.getAttribute("sticky-side") || "top", r = this.getAttribute("sticky-z-index") || "10", l = this.getAttribute("on-stick") || null;
498
+ this.options = {
499
+ topOffset: Number(n.top) || 0,
500
+ bottomOffset: Number(n.bottom) || 0,
501
+ shouldTopSticky: i === "top" || i === "both",
502
+ shouldBottomSticky: i === "bottom" || i === "both",
503
+ zIndex: r,
504
+ onStick: l
505
+ };
506
+ }
507
+ doBind() {
508
+ if (this.unSubscribers.length > 0)
509
+ return;
510
+ const { el: e, vm: t } = this;
511
+ t.$nextTick(() => {
512
+ this.placeholderEl = document.createElement("div"), this.containerEl = this.getContainerEl(), e.parentElement.insertBefore(this.placeholderEl, e), events.forEach((n) => {
513
+ const i = this.update.bind(this);
514
+ this.unSubscribers.push(() => window.removeEventListener(n, i)), this.unSubscribers.push(() => this.containerEl.removeEventListener(n, i)), window.addEventListener(n, i, { passive: !0 }), this.containerEl.addEventListener(n, i, { passive: !0 });
515
+ });
516
+ });
517
+ }
518
+ doUnbind() {
519
+ this.unSubscribers.forEach((e) => e()), this.unSubscribers = [], this.resetElement();
520
+ }
521
+ update() {
522
+ this.isPending || (requestAnimationFrame(() => {
523
+ this.isPending = !1, this.recomputeState(), this.updateElements();
524
+ }), this.isPending = !0);
525
+ }
526
+ isTopSticky() {
527
+ if (!this.options.shouldTopSticky)
528
+ return !1;
529
+ const e = this.state.placeholderElRect.top, t = this.state.containerElRect.bottom, n = this.options.topOffset, i = this.options.bottomOffset;
530
+ return e <= n && t >= i;
531
+ }
532
+ isBottomSticky() {
533
+ if (!this.options.shouldBottomSticky)
534
+ return !1;
535
+ const e = window.innerHeight - this.state.placeholderElRect.top - this.state.height, t = window.innerHeight - this.state.containerElRect.top, n = this.options.topOffset, i = this.options.bottomOffset;
536
+ return e <= i && t >= n;
537
+ }
538
+ recomputeState() {
539
+ this.state = Object.assign({}, this.state, {
540
+ height: this.getHeight(),
541
+ width: this.getWidth(),
542
+ xOffset: this.getXOffset(),
543
+ placeholderElRect: this.getPlaceholderElRect(),
544
+ containerElRect: this.getContainerElRect()
545
+ }), this.state.isTopSticky = this.isTopSticky(), this.state.isBottomSticky = this.isBottomSticky();
546
+ }
547
+ fireEvents() {
548
+ typeof this.options.onStick == "function" && (this.lastState.top !== this.state.isTopSticky || this.lastState.bottom !== this.state.isBottomSticky || this.lastState.sticked !== (this.state.isTopSticky || this.state.isBottomSticky)) && (this.lastState = {
549
+ top: this.state.isTopSticky,
550
+ bottom: this.state.isBottomSticky,
551
+ sticked: this.state.isBottomSticky || this.state.isTopSticky
552
+ }, this.options.onStick(this.lastState));
553
+ }
554
+ updateElements() {
555
+ const e = {
556
+ paddingTop: 0
557
+ }, t = {
558
+ position: "static",
559
+ top: "auto",
560
+ bottom: "auto",
561
+ left: "auto",
562
+ width: "auto",
563
+ zIndex: this.options.zIndex
564
+ }, n = {
565
+ "vue-sticky-placeholder": !0
566
+ }, i = {
567
+ "vue-sticky-el": !0,
568
+ "top-sticky": !1,
569
+ "bottom-sticky": !1
570
+ };
571
+ if (this.state.isTopSticky) {
572
+ t.position = "fixed", t.top = this.options.topOffset + "px", t.left = this.state.xOffset + "px", t.width = this.state.width + "px";
573
+ const r = this.state.containerElRect.bottom - this.state.height - this.options.bottomOffset - this.options.topOffset;
574
+ r < 0 && (t.top = r + this.options.topOffset + "px"), e.paddingTop = this.state.height + "px", i["top-sticky"] = !0;
575
+ } else if (this.state.isBottomSticky) {
576
+ t.position = "fixed", t.bottom = this.options.bottomOffset + "px", t.left = this.state.xOffset + "px", t.width = this.state.width + "px";
577
+ const r = window.innerHeight - this.state.containerElRect.top - this.state.height - this.options.bottomOffset - this.options.topOffset;
578
+ r < 0 && (t.bottom = r + this.options.bottomOffset + "px"), e.paddingTop = this.state.height + "px", i["bottom-sticky"] = !0;
579
+ } else
580
+ e.paddingTop = 0;
581
+ batchStyle(this.el, t, i), batchStyle(this.placeholderEl, e, n), this.fireEvents();
582
+ }
583
+ resetElement() {
584
+ ["position", "top", "bottom", "left", "width", "zIndex"].forEach((t) => {
585
+ this.el.style.removeProperty(t);
586
+ }), this.el.classList.remove("bottom-sticky", "top-sticky");
587
+ const { parentElement: e } = this.placeholderEl;
588
+ e && e.removeChild(this.placeholderEl);
589
+ }
590
+ getContainerEl() {
591
+ let e = this.el.parentElement;
592
+ for (; e && e.tagName !== "HTML" && e.tagName !== "BODY" && e.nodeType === 1; ) {
593
+ if (e.hasAttribute("sticky-container"))
594
+ return e;
595
+ e = e.parentElement;
596
+ }
597
+ return this.el.parentElement;
598
+ }
599
+ getXOffset() {
600
+ return this.placeholderEl.getBoundingClientRect().left;
601
+ }
602
+ getWidth() {
603
+ return this.placeholderEl.getBoundingClientRect().width;
604
+ }
605
+ getHeight() {
606
+ return this.el.getBoundingClientRect().height;
607
+ }
608
+ getPlaceholderElRect() {
609
+ return this.placeholderEl.getBoundingClientRect();
610
+ }
611
+ getContainerElRect() {
612
+ return this.containerEl.getBoundingClientRect();
613
+ }
614
+ getAttribute(name) {
615
+ const expr = this.el.getAttribute(name);
616
+ let result;
617
+ if (expr)
618
+ if (this.vm[expr])
619
+ result = this.vm[expr];
620
+ else
621
+ try {
622
+ result = eval(`(${expr})`);
623
+ } catch (e) {
624
+ result = expr;
625
+ }
626
+ return result;
627
+ }
628
+ }
629
+ const Sticky$1 = {
630
+ mounted(e, t) {
631
+ (typeof t.value > "u" || t.value) && (e[namespace] = new Sticky(e, t.instance), e[namespace].doBind());
632
+ },
633
+ unmounted(e) {
634
+ e[namespace] && (e[namespace].doUnbind(), e[namespace] = void 0);
635
+ },
636
+ updated(e, t) {
637
+ typeof t.value > "u" || t.value ? (e[namespace] || (e[namespace] = new Sticky(e, t.instance)), e[namespace].doBind()) : e[namespace] && e[namespace].doUnbind();
638
+ }
639
+ }, StickyPlugin = {
640
+ install(e) {
641
+ e.directive("Sticky", Sticky$1);
642
+ }
643
+ };
644
+ export {
645
+ Checkbox as C,
646
+ PhoneField as P,
647
+ StickyPlugin as S,
648
+ _sfc_main as _,
649
+ event as e,
650
+ install as i,
651
+ require$$1 as r,
652
+ setOptions as s
653
+ };
654
+ //# sourceMappingURL=index-937554a9.mjs.map
Binary file