@konnectio/core 4.0.1 → 4.0.2

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