@viur/shop-components 0.0.1-dev.58 → 0.0.1-dev.60

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 (86) hide show
  1. package/.editorconfig +16 -0
  2. package/.github/workflows/npm-publish.yml +42 -0
  3. package/.gitmodules +3 -0
  4. package/LICENSE +21 -0
  5. package/README.md +13 -2
  6. package/package.json +19 -32
  7. package/src/components/ShopCart.vue +512 -0
  8. package/src/components/ShopOrderComplete.vue +73 -0
  9. package/src/components/ShopOrderConfirm.vue +291 -0
  10. package/src/components/ShopOrderStepper.vue +264 -0
  11. package/src/components/ShopUserData.vue +232 -0
  12. package/src/components/cart/CartLeaf.vue +277 -0
  13. package/src/components/cart/CartLeafModel.vue +304 -0
  14. package/src/components/cart/CartNode.vue +25 -0
  15. package/src/components/cart/CartTree.vue +54 -0
  16. package/src/components/cart/CartTreeWrapper.vue +73 -0
  17. package/src/components/cart/CartView.vue +723 -0
  18. package/src/components/cart/Discount.vue +91 -0
  19. package/src/components/lib/utils.js +0 -0
  20. package/src/components/order/OrderSidebar.vue +102 -0
  21. package/src/components/order/category/CategoryList.vue +83 -0
  22. package/src/components/order/category/CategoryView.vue +143 -0
  23. package/src/components/order/information/adress/ShippingAdress.vue +143 -0
  24. package/src/components/order/item/ItemCard.vue +168 -0
  25. package/src/components/order/item/ItemView.vue +232 -0
  26. package/src/components/order/process/ConfirmView.vue +312 -0
  27. package/src/components/order/process/ExampleUsage.vue +113 -0
  28. package/src/components/order/process/OrderTabHeader.vue +16 -0
  29. package/src/components/order/process/SelectPaymentProvider.vue +62 -0
  30. package/src/components/order/process/Shipping.vue +46 -0
  31. package/src/components/ui/ShopSummary.vue +145 -0
  32. package/src/components/ui/generic/ArticleList.vue +222 -0
  33. package/src/components/ui/generic/ExamplePagination.vue +236 -0
  34. package/src/components/ui/generic/ShopPriceFormatter.vue +41 -0
  35. package/src/components/ui/generic/alerts/ShopAlert.vue +19 -0
  36. package/src/components/ui/generic/makeData.js +39 -0
  37. package/src/components/ui/stepper/StepperItem.vue +39 -0
  38. package/src/components/ui/stepper/StepperTab.vue +133 -0
  39. package/src/components/ui/stepper/StepperTrigger.vue +35 -0
  40. package/src/components/ui/userdata/AddForm.vue +125 -0
  41. package/src/components/ui/userdata/AddressBox.vue +117 -0
  42. package/src/components/ui/userdata/BaseLayout.vue +94 -0
  43. package/src/components/ui/userdata/CustomBooleanBone.vue +58 -0
  44. package/src/components/ui/userdata/CustomSelectBone.vue +91 -0
  45. package/src/components/ui/userdata/CustomStringBone.vue +71 -0
  46. package/src/components/ui/userdata/DefaultLayout.vue +126 -0
  47. package/src/components/ui/userdata/SelectAddress.vue +21 -0
  48. package/src/components/ui/userdata/multi/ActionBar.vue +38 -0
  49. package/src/components/ui/userdata/multi/CartSelection.vue +42 -0
  50. package/src/main.js +50 -0
  51. package/src/router/index.js +103 -0
  52. package/src/stores/cart.js +336 -0
  53. package/src/style/ignite/.editorconfig +20 -0
  54. package/src/style/ignite/.github/workflows/ignite.yml +64 -0
  55. package/src/style/ignite/.github/workflows/node.yml +30 -0
  56. package/src/style/ignite/.postcssrc.cjs +25 -0
  57. package/src/style/ignite/CHANGELOG.md +244 -0
  58. package/src/style/ignite/LICENSE +21 -0
  59. package/src/style/ignite/README.md +92 -0
  60. package/src/style/ignite/dist/ignite.css +2019 -0
  61. package/src/style/ignite/dist/ignite.min.css +4 -0
  62. package/src/style/ignite/foundation/basic.css +371 -0
  63. package/src/style/ignite/foundation/color.css +323 -0
  64. package/src/style/ignite/foundation/config.css +188 -0
  65. package/src/style/ignite/foundation/grid.css +78 -0
  66. package/src/style/ignite/foundation/mediaqueries.css +71 -0
  67. package/src/style/ignite/foundation/reset.css +261 -0
  68. package/src/style/ignite/ignite.css +29 -0
  69. package/src/style/ignite/ignite.css.map +1 -0
  70. package/src/style/ignite/package-lock.json +5530 -0
  71. package/src/style/ignite/package.json +58 -0
  72. package/src/style/ignite/shoelace.css +19 -0
  73. package/src/style/ignite/themes/dark.css +12 -0
  74. package/src/style/ignite/themes/light.css +11 -0
  75. package/src/style/ignite/utilities/shoelace.css +537 -0
  76. package/src/style/ignite/utilities/utilities.css +24 -0
  77. package/src/views/ViewMissing.vue +20 -0
  78. package/vite.config.js +53 -0
  79. package/dist/CategoryView-Z-tCFNv1.mjs +0 -60
  80. package/dist/ItemCard-CVfih_bz.mjs +0 -64
  81. package/dist/ItemView-cjeQBSTR.mjs +0 -1848
  82. package/dist/ItemView.css +0 -1
  83. package/dist/main-CZfMYx-A.mjs +0 -3167
  84. package/dist/main.css +0 -1
  85. package/dist/viur-shop-components.es.js +0 -10
  86. package/dist/viur-shop-components.umd.js +0 -417
@@ -1,3167 +0,0 @@
1
- var et = Object.defineProperty;
2
- var tt = (e, n, t) => n in e ? et(e, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[n] = t;
3
- var Ie = (e, n, t) => tt(e, typeof n != "symbol" ? n + "" : n, t);
4
- import { defineComponent as D, inject as C, reactive as w, openBlock as m, createElementBlock as h, normalizeClass as pe, createElementVNode as d, renderSlot as He, pushScopeId as M, popScopeId as z, Fragment as E, createCommentVNode as _, toDisplayString as B, onMounted as R, ref as q, readonly as nt, getCurrentScope as at, onScopeDispose as st, unref as K, computed as S, watchEffect as de, renderList as U, watch as ne, withDirectives as Z, vModelText as se, getCurrentInstance as lt, resolveComponent as ae, createBlock as T, vShow as be, withModifiers as ue, createTextVNode as j, shallowRef as H, provide as oe, onBeforeMount as x, useCssVars as rt, Transition as ot, withCtx as it, createVNode as ut, Teleport as dt, resolveDynamicComponent as ct, mergeProps as ft } from "vue";
5
- import { defineStore as ye } from "pinia";
6
- import { Request as mt } from "@viur/vue-utils";
7
- import { ViURShopClient as gt } from "@viur/viur-shop-client";
8
- import { useRoute as ht, createRouter as bt, createWebHashHistory as vt } from "vue-router";
9
- const pt = D({
10
- props: {
11
- isDragging: Boolean,
12
- draggingLineBottom: Boolean,
13
- draggingLineTop: Boolean
14
- },
15
- components: {},
16
- emits: ["change", "delete", "handleDragStart", "handleDragEnd", "handleDragOver", "handleDrop"],
17
- setup(e, n) {
18
- const t = C("boneState");
19
- return {
20
- state: w({
21
- isDraggable: !1
22
- }),
23
- boneState: t
24
- };
25
- }
26
- }), I = (e, n) => {
27
- const t = e.__vccOpts || e;
28
- for (const [l, s] of n)
29
- t[l] = s;
30
- return t;
31
- }, Ge = (e) => (M("data-v-141aaf9b"), e = e(), z(), e), yt = ["draggable"], $t = ["disabled"], St = /* @__PURE__ */ Ge(() => /* @__PURE__ */ d("sl-icon", {
32
- slot: "prefix",
33
- name: "grip-vertical"
34
- }, null, -1)), kt = [
35
- St
36
- ], _t = { class: "value" }, wt = ["disabled", "title"], Et = /* @__PURE__ */ Ge(() => /* @__PURE__ */ d("sl-icon", {
37
- slot: "prefix",
38
- name: "x-lg"
39
- }, null, -1)), At = [
40
- Et
41
- ];
42
- function It(e, n, t, l, s, o) {
43
- return m(), h("div", {
44
- class: pe(["value-line", {
45
- "is-dragging": e.isDragging,
46
- "dragging-line-bottom": e.draggingLineBottom,
47
- "dragging-line-top": e.draggingLineTop
48
- }]),
49
- draggable: e.state.isDraggable,
50
- onDragover: n[2] || (n[2] = (a) => e.$emit("handleDragOver", a)),
51
- onDrop: n[3] || (n[3] = (a) => e.$emit("handleDrop", a)),
52
- onDragstart: n[4] || (n[4] = (a) => e.$emit("handleDragStart", a)),
53
- onDragend: n[5] || (n[5] = (a) => e.$emit("handleDragEnd"))
54
- }, [
55
- d("sl-button", {
56
- disabled: e.boneState.readonly,
57
- class: "drag-button",
58
- onMousedown: n[0] || (n[0] = (a) => e.state.isDraggable = !0)
59
- }, kt, 40, $t),
60
- d("div", _t, [
61
- He(e.$slots, "default", {}, void 0, !0)
62
- ]),
63
- d("sl-button", {
64
- variant: "danger",
65
- disabled: e.boneState.readonly,
66
- outline: "",
67
- title: e.$t("bone.del"),
68
- class: "delete-btn",
69
- onClick: n[1] || (n[1] = (a) => e.$emit("delete"))
70
- }, At, 8, wt)
71
- ], 42, yt);
72
- }
73
- const Ct = /* @__PURE__ */ I(pt, [["render", It], ["__scopeId", "data-v-141aaf9b"]]), Ot = D({
74
- props: {
75
- name: String,
76
- value: Object,
77
- index: Number,
78
- lang: String,
79
- readonly: Boolean,
80
- params: Object
81
- },
82
- components: {},
83
- emits: ["change", "handleClick"],
84
- setup(e, n) {
85
- const t = C("boneState");
86
- return {
87
- state: w({
88
- debug: !1
89
- }),
90
- boneState: t
91
- };
92
- }
93
- }), jt = { class: "bone-name" }, Bt = { key: 0 }, Dt = { class: "bone" };
94
- function Vt(e, n, t, l, s, o) {
95
- return m(), h(E, null, [
96
- d("label", jt, [
97
- He(e.$slots, "default", {}, void 0, !0),
98
- _("", !0)
99
- ]),
100
- e.state.debug ? (m(), h("div", Bt, [
101
- d("div", Dt, B(e.name), 1),
102
- d("pre", null, " " + B(e.boneState) + `
103
- `, 1)
104
- ])) : _("", !0)
105
- ], 64);
106
- }
107
- const Nt = /* @__PURE__ */ I(Ot, [["render", Vt], ["__scopeId", "data-v-b7149172"]]), Rt = D({
108
- inheritAttrs: !1,
109
- props: {
110
- name: String,
111
- value: [Object, String, Number, Boolean, Array],
112
- index: Number,
113
- lang: String
114
- },
115
- components: {},
116
- emits: ["change"],
117
- setup(e, n) {
118
- const t = C("boneState"), l = w({});
119
- function s(o) {
120
- n.emit("change", e.name, o.target.value, e.lang, e.index);
121
- }
122
- return R(() => {
123
- n.emit("change", e.name, e.value, e.lang, e.index);
124
- }), {
125
- state: l,
126
- boneState: t,
127
- changeEvent: s
128
- };
129
- }
130
- }), Lt = ["disabled", "value"], Ut = ["disabled", "value"];
131
- function Tt(e, n, t, l, s, o) {
132
- var a, i;
133
- return e.boneState.bonestructure.type === "raw.json" ? (m(), h("sl-textarea", {
134
- key: 0,
135
- disabled: (a = e.boneState) == null ? void 0 : a.readonly,
136
- value: JSON.stringify(e.value),
137
- onInput: n[0] || (n[0] = (...r) => e.changeEvent && e.changeEvent(...r))
138
- }, null, 40, Lt)) : (m(), h("sl-textarea", {
139
- key: 1,
140
- disabled: (i = e.boneState) == null ? void 0 : i.readonly,
141
- value: e.value,
142
- onInput: n[1] || (n[1] = (...r) => e.changeEvent && e.changeEvent(...r))
143
- }, null, 40, Ut));
144
- }
145
- const ve = /* @__PURE__ */ I(Rt, [["render", Tt], ["__scopeId", "data-v-0ebe5f0b"]]), Pt = D({
146
- inheritAttrs: !1,
147
- props: {
148
- name: String,
149
- value: [Object, String, Number, Boolean, Array],
150
- index: Number,
151
- lang: String,
152
- readonly: Boolean,
153
- params: Object
154
- },
155
- components: {},
156
- emits: ["change"],
157
- setup(e, n) {
158
- const t = w({});
159
- function l(s) {
160
- n.emit("change", e.name, s.target.value, e.lang, e.index);
161
- }
162
- return R(() => {
163
- n.emit("change", e.name, e.value, e.lang, e.index);
164
- }), {
165
- state: t,
166
- changeEvent: l
167
- };
168
- }
169
- }), Mt = ["value"];
170
- function Wt(e, n, t, l, s, o) {
171
- return m(), h("sl-input", {
172
- disabled: "",
173
- value: e.value,
174
- onSlChange: n[0] || (n[0] = (...a) => e.changeEvent && e.changeEvent(...a))
175
- }, null, 40, Mt);
176
- }
177
- const Ce = /* @__PURE__ */ I(Pt, [["render", Wt], ["__scopeId", "data-v-b45a1311"]]);
178
- function zt(e) {
179
- return at() ? (st(e), !0) : !1;
180
- }
181
- function qt(e) {
182
- return typeof e == "function" ? e() : K(e);
183
- }
184
- const Ft = typeof window < "u" && typeof document < "u";
185
- typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
186
- function ce(e, n, t = {}) {
187
- const {
188
- immediate: l = !0
189
- } = t, s = q(!1);
190
- let o = null;
191
- function a() {
192
- o && (clearTimeout(o), o = null);
193
- }
194
- function i() {
195
- s.value = !1, a();
196
- }
197
- function r(...c) {
198
- a(), s.value = !0, o = setTimeout(() => {
199
- s.value = !1, o = null, e(...c);
200
- }, qt(n));
201
- }
202
- return l && (s.value = !0, Ft && r()), zt(i), {
203
- isPending: nt(s),
204
- start: r,
205
- stop: i
206
- };
207
- }
208
- class Kt {
209
- static objectEmpty(n) {
210
- return Object.keys(n).length === 0 && n.constructor === Object;
211
- }
212
- static getDescr(n, t) {
213
- try {
214
- return n.values.filter((l) => l[0] === t)[0][1];
215
- } catch {
216
- return "-";
217
- }
218
- }
219
- static unescape(n) {
220
- return n || (n = ""), String(n).replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#39;/g, "'").replace(/&#40;/g, "(").replace(/&#41;/g, ")").replace(/&#61;/g, "=").replace(/&#039;/g, "'").replace(/&#040;/g, "(").replace(/&#041;/g, ")").replace(/&#061;/g, "=");
221
- }
222
- static formatString(n, t) {
223
- function l(a) {
224
- let i = [], r = [], c = /\$\((.*?)\)/g;
225
- for (; r; ) {
226
- if (r = c.exec(a), !r) {
227
- r = !1;
228
- continue;
229
- }
230
- i.push(r[1]);
231
- }
232
- return i;
233
- }
234
- let s = l(n), o = [];
235
- Array.isArray(t) || (t = [t]);
236
- for (let a of t) {
237
- let i = n;
238
- for (let r of s) {
239
- let c = r.split("."), u = a;
240
- for (let f of c)
241
- u && u !== "-" && f in u && u[f] ? u = u[f] : u = "-";
242
- u = this.unescape(u), i = i.replace("$(" + r + ")", u);
243
- }
244
- o.push(i);
245
- }
246
- return o.join(", ");
247
- }
248
- }
249
- const Ht = D({
250
- inheritAttrs: !1,
251
- props: {
252
- name: String,
253
- value: [Object, String, Number, Boolean, Array],
254
- index: Number,
255
- lang: String,
256
- autofocus: Boolean
257
- },
258
- components: {},
259
- emits: ["change"],
260
- setup(e, n) {
261
- const t = C("boneState"), l = w({
262
- value: S(() => e.value)
263
- }), s = q(null);
264
- function o(a) {
265
- n.emit("change", e.name, a.target.value, e.lang, e.index);
266
- }
267
- return de(() => {
268
- if (e.autofocus && s.value && s.value !== null && s !== null) {
269
- const { start: a } = ce(() => {
270
- s.value.focus();
271
- }, 600);
272
- a();
273
- }
274
- }), R(() => {
275
- n.emit("change", e.name, e.value, e.lang, e.index);
276
- }), {
277
- state: l,
278
- Utils: Kt,
279
- boneState: t,
280
- changeEvent: o,
281
- stringBone: s
282
- };
283
- }
284
- }), Gt = ["disabled", "value", "required"];
285
- function Zt(e, n, t, l, s, o) {
286
- return m(), h("sl-input", {
287
- ref: "stringBone",
288
- disabled: e.boneState.readonly,
289
- value: e.Utils.unescape(e.value),
290
- required: e.boneState.bonestructure.required,
291
- onSlChange: n[0] || (n[0] = (...a) => e.changeEvent && e.changeEvent(...a)),
292
- onKeyup: n[1] || (n[1] = (...a) => e.changeEvent && e.changeEvent(...a))
293
- }, null, 40, Gt);
294
- }
295
- const Oe = /* @__PURE__ */ I(Ht, [["render", Zt], ["__scopeId", "data-v-1ccbacc0"]]), Jt = D({
296
- inheritAttrs: !1,
297
- props: {
298
- name: String,
299
- value: [Object, String, Number, Boolean, Array],
300
- index: Number,
301
- lang: String,
302
- autofocus: Boolean
303
- },
304
- components: {},
305
- emits: ["change"],
306
- setup(e, n) {
307
- const t = C("boneState"), l = w({}), s = q(null);
308
- function o(a) {
309
- n.emit("change", e.name, a.target.value, e.lang, e.index);
310
- }
311
- return de(() => {
312
- if (e.autofocus && s.value && s.value !== null && s !== null) {
313
- const { start: a } = ce(() => {
314
- s.value.focus();
315
- }, 600);
316
- a();
317
- }
318
- }), R(() => {
319
- n.emit("change", e.name, e.value, e.lang, e.index);
320
- }), {
321
- state: l,
322
- boneState: t,
323
- changeEvent: o,
324
- emailBone: s
325
- };
326
- }
327
- }), Qt = ["disabled", "value"];
328
- function Yt(e, n, t, l, s, o) {
329
- return m(), h("sl-input", {
330
- ref: "emailBone",
331
- disabled: e.boneState.readonly,
332
- type: "email",
333
- value: e.value,
334
- onSlChange: n[0] || (n[0] = (...a) => e.changeEvent && e.changeEvent(...a))
335
- }, null, 40, Qt);
336
- }
337
- const je = /* @__PURE__ */ I(Jt, [["render", Yt], ["__scopeId", "data-v-4328e024"]]), Xt = D({
338
- inheritAttrs: !1,
339
- props: {
340
- name: String,
341
- value: [Object, String, Number, Boolean, Array],
342
- index: Number,
343
- lang: String
344
- },
345
- components: {},
346
- emits: ["change"],
347
- setup(e, n) {
348
- const t = C("boneState"), l = w({
349
- value: S(() => {
350
- var a;
351
- let o = e.value;
352
- return t.bonestructure.time ? o = (a = e.value) == null ? void 0 : a.split("+")[0] : e.value && (o = new Date(e.value).toISOString().substr(0, 10)), o;
353
- }),
354
- typeString: S(() => {
355
- let o = "datetime-local";
356
- return t.bonestructure.time || (o = "date"), o;
357
- })
358
- });
359
- function s(o) {
360
- n.emit("change", e.name, o.target.value, e.lang, e.index);
361
- }
362
- return R(() => {
363
- n.emit("change", e.name, e.value, e.lang, e.index);
364
- }), {
365
- state: l,
366
- boneState: t,
367
- changeEvent: s
368
- };
369
- }
370
- }), xt = ["disabled", "type", "value"];
371
- function en(e, n, t, l, s, o) {
372
- return m(), h("sl-input", {
373
- disabled: e.boneState.readonly,
374
- type: e.state.typeString,
375
- value: e.state.value,
376
- onSlChange: n[0] || (n[0] = (...a) => e.changeEvent && e.changeEvent(...a))
377
- }, null, 40, xt);
378
- }
379
- const Be = /* @__PURE__ */ I(Xt, [["render", en], ["__scopeId", "data-v-f1b8af8c"]]), tn = D({
380
- inheritAttrs: !1,
381
- props: {
382
- name: String,
383
- value: null,
384
- index: Number,
385
- lang: String
386
- },
387
- components: {},
388
- emits: ["change"],
389
- setup(e, n) {
390
- const t = C("boneState"), l = w({
391
- value: S(() => {
392
- let a = e.value;
393
- return Array.isArray(e.value) ? (t.bonestructure.values instanceof Array ? a = a.filter((i) => t.bonestructure.values.map((r) => r[0].toString()).includes(i)) : a = a.filter(
394
- (i) => Object.keys(t.bonestructure.values).map((r) => r.toString()).includes(i)
395
- ), a.map((i) => i.toString())) : e.value ? e.value.toString() : "";
396
- })
397
- });
398
- function s() {
399
- if (Array.isArray(t.bonestructure.values))
400
- return t.bonestructure.values;
401
- {
402
- let a = [];
403
- for (const [i, r] of Object.entries(t.bonestructure.values))
404
- a.push([i, r]);
405
- return a;
406
- }
407
- }
408
- function o(a) {
409
- n.emit("change", e.name, a.target.value, e.lang, e.index), W;
410
- }
411
- return R(() => {
412
- n.emit("change", e.name, l.value, e.lang, e.index);
413
- }), {
414
- state: l,
415
- boneState: t,
416
- changeEvent: o,
417
- convertObjToList: s
418
- };
419
- }
420
- }), nn = ["disabled", "value", "multiple"], an = ["value"];
421
- function sn(e, n, t, l, s, o) {
422
- return m(), h("sl-select", {
423
- disabled: e.boneState.readonly,
424
- value: e.state.value,
425
- hoist: "",
426
- multiple: e.boneState.bonestructure.multiple,
427
- "max-options-visible": "0",
428
- clearable: "",
429
- onSlChange: n[0] || (n[0] = (...a) => e.changeEvent && e.changeEvent(...a))
430
- }, [
431
- (m(!0), h(E, null, U(e.convertObjToList(), (a) => (m(), h("sl-option", {
432
- key: a[0],
433
- value: a[0]
434
- }, B(a[1]), 9, an))), 128))
435
- ], 40, nn);
436
- }
437
- const De = /* @__PURE__ */ I(tn, [["render", sn], ["__scopeId", "data-v-5a38b97f"]]), ln = D({
438
- inheritAttrs: !1,
439
- props: {
440
- name: String,
441
- value: [Object, String, Number, Boolean, Array],
442
- index: Number,
443
- lang: String
444
- },
445
- components: {},
446
- emits: ["change"],
447
- setup(e, n) {
448
- const t = C("boneState"), l = w({
449
- value: S(() => ![!1, null, void 0, ""].includes(e.value))
450
- });
451
- function s(o) {
452
- n.emit("change", e.name, o.target.checked, e.lang, e.index);
453
- }
454
- return R(() => {
455
- let o = e.value;
456
- o || (o = !1), n.emit("change", e.name, o, e.lang, e.index);
457
- }), {
458
- state: l,
459
- boneState: t,
460
- changeEvent: s
461
- };
462
- }
463
- }), rn = ["disabled", "checked"];
464
- function on(e, n, t, l, s, o) {
465
- return m(), h("sl-switch", {
466
- disabled: e.boneState.readonly,
467
- checked: e.state.value,
468
- onSlChange: n[0] || (n[0] = (...a) => e.changeEvent && e.changeEvent(...a))
469
- }, null, 40, rn);
470
- }
471
- const Ve = /* @__PURE__ */ I(ln, [["render", on], ["__scopeId", "data-v-363598c8"]]), un = D({
472
- inheritAttrs: !1,
473
- props: {
474
- name: String,
475
- value: [Object, String, Number, Boolean, Array],
476
- index: Number,
477
- lang: String,
478
- autofocus: Boolean
479
- },
480
- components: {},
481
- emits: ["change"],
482
- setup(e, n) {
483
- const t = C("boneState"), l = w({
484
- value1: "",
485
- value2: null,
486
- equal: !1,
487
- passwordInfo: [],
488
- requiredPasswordInfo: []
489
- }), s = q(null);
490
- function o(i) {
491
- l.value1 === l.value2 ? l.equal = !0 : l.equal = !1, a(l.value1), l.requiredPasswordInfo.length === 0 && l.passwordInfo.length - l.requiredPasswordInfo.length <= t.bonestructure.test_threshold ? n.emit("change", e.name, l.value1, e.lang, e.index, !0) : n.emit("change", e.name, l.value1, e.lang, e.index, !1);
492
- }
493
- R(() => {
494
- n.emit("change", e.name, e.value, e.lang, e.index);
495
- });
496
- function a(i) {
497
- l.passwordInfo = [], l.requiredPasswordInfo = [];
498
- for (const r of t.bonestructure.tests)
499
- new RegExp(r[0]).test(i) || (r[2] ? l.requiredPasswordInfo.push(r[1]) : l.passwordInfo.push(r[1]));
500
- l.equal || l.requiredPasswordInfo.push("Die eingegebenen Passwörter stimmen nicht überein."), l.value1 || l.requiredPasswordInfo.push("Das eingegebene Passwort ist leer.");
501
- }
502
- return de(() => {
503
- if (e.autofocus && s.value && s.value !== null && s !== null) {
504
- const { start: i } = ce(() => {
505
- s.value.focus();
506
- }, 600);
507
- i();
508
- }
509
- }), ne(
510
- () => e.value,
511
- (i, r) => {
512
- l.value1 = i;
513
- }
514
- ), {
515
- state: l,
516
- boneState: t,
517
- changeEvent: o,
518
- passwordBone: s
519
- };
520
- }
521
- }), dn = ["disabled"], cn = ["name"], fn = ["name"], mn = { class: "errors" };
522
- function gn(e, n, t, l, s, o) {
523
- return m(), h(E, null, [
524
- Z(d("sl-input", {
525
- ref: "passwordBone",
526
- "onUpdate:modelValue": n[0] || (n[0] = (a) => e.state.value1 = a),
527
- disabled: e.boneState.readonly,
528
- class: pe({ "has-check": !e.boneState.readonly }),
529
- type: "password",
530
- clearable: "",
531
- "password-toggle": "true",
532
- onSlChange: n[1] || (n[1] = (...a) => e.changeEvent && e.changeEvent(...a)),
533
- onSlClear: n[2] || (n[2] = (a) => e.state.value1 = ""),
534
- onKeyup: n[3] || (n[3] = (...a) => e.changeEvent && e.changeEvent(...a))
535
- }, [
536
- d("sl-icon", {
537
- slot: "suffix",
538
- name: e.state.equal && e.state.value1.length ? "check" : "x"
539
- }, null, 8, cn)
540
- ], 42, dn), [
541
- [se, e.state.value1]
542
- ]),
543
- e.boneState.readonly ? _("", !0) : Z((m(), h("sl-input", {
544
- key: 0,
545
- "onUpdate:modelValue": n[4] || (n[4] = (a) => e.state.value2 = a),
546
- class: "password-check",
547
- type: "password",
548
- clearable: "",
549
- "password-toggle": "true",
550
- onSlChange: n[5] || (n[5] = (...a) => e.changeEvent && e.changeEvent(...a)),
551
- onSlClear: n[6] || (n[6] = (a) => e.state.value2 = ""),
552
- onKeyup: n[7] || (n[7] = (...a) => e.changeEvent && e.changeEvent(...a))
553
- }, [
554
- d("sl-icon", {
555
- slot: "suffix",
556
- name: e.state.equal && e.state.value1.length ? "check" : "x"
557
- }, null, 8, fn)
558
- ], 544)), [
559
- [se, e.state.value2]
560
- ]),
561
- d("ul", mn, [
562
- (m(!0), h(E, null, U(e.state.passwordInfo, (a, i) => (m(), h("li", { key: i }, B(a), 1))), 128)),
563
- (m(!0), h(E, null, U(e.state.requiredPasswordInfo, (a, i) => (m(), h("li", {
564
- key: i,
565
- class: "requiredInfo"
566
- }, B(a), 1))), 128))
567
- ])
568
- ], 64);
569
- }
570
- const Ne = /* @__PURE__ */ I(un, [["render", gn], ["__scopeId", "data-v-0ccf18c0"]]), hn = D({
571
- props: {
572
- name: String,
573
- value: null,
574
- index: Number,
575
- lang: String,
576
- readonly: Boolean,
577
- params: Object
578
- },
579
- emits: ["change"],
580
- setup(e, n) {
581
- const t = C("boneState"), l = w({
582
- value: S(() => e.value),
583
- structure: S(() => a(t.bonestructure.using)),
584
- globalRegistration: !1,
585
- formGroups: S(() => {
586
- var c, u;
587
- let i = { default: { name: "Allgemein", bones: [], groupVisible: !1, groupOpen: !0 } };
588
- for (const [f, p] of Object.entries(l.structure)) {
589
- let v = "default", k = l.structure[f], g = (c = l.value) == null ? void 0 : c[f];
590
- (u = p == null ? void 0 : p.params) != null && u.category && (v = p.params.category.toLowerCase()), Object.keys(i).includes(v) ? i[v].bones.push({
591
- boneName: f,
592
- boneStructure: k,
593
- boneValue: g
594
- }) : i[v] = {
595
- name: p.params.category,
596
- bones: [
597
- {
598
- boneName: f,
599
- boneStructure: k,
600
- boneValue: g
601
- }
602
- ]
603
- }, k.visible === !0 && (i[v].groupVisible = !0);
604
- }
605
- let r = {};
606
- return Object.keys(i).sort().forEach(function(f) {
607
- r[f] = i[f];
608
- }), r;
609
- })
610
- });
611
- function s(i) {
612
- n.emit("change", i);
613
- }
614
- R(() => {
615
- lt().appContext.components.Bone ? l.globalRegistration = !0 : l.globalRegistration = !1, n.emit("change", e.name, e.value, e.lang, e.index);
616
- });
617
- function o(i) {
618
- console.log(i);
619
- }
620
- function a(i) {
621
- if (Array.isArray(i)) {
622
- let r = {};
623
- for (const c in i)
624
- r[i[c][0]] = i[c][1];
625
- return r;
626
- } else
627
- return i;
628
- }
629
- return {
630
- state: l,
631
- boneState: t,
632
- getBoneWidget: X,
633
- structureToDict: a,
634
- changeEvent: s,
635
- updateValue: o
636
- };
637
- }
638
- }), bn = {
639
- key: 0,
640
- open: "",
641
- variant: "danger"
642
- }, vn = {
643
- key: 1,
644
- class: "form"
645
- }, pn = ["summary", "open"];
646
- function yn(e, n, t, l, s, o) {
647
- const a = ae("bone");
648
- return e.state.globalRegistration ? (m(), h("div", vn, [
649
- (m(!0), h(E, null, U(e.state.formGroups, (i, r) => Z((m(), h("sl-details", {
650
- key: r,
651
- summary: i.name,
652
- open: i.groupOpen
653
- }, [
654
- (m(!0), h(E, null, U(i.bones, (c) => Z((m(), T(a, {
655
- key: c.name,
656
- is: e.getBoneWidget(e.state.structure[c.boneName].type),
657
- name: c.boneName,
658
- structure: e.state.structure,
659
- skel: e.state.value,
660
- errors: e.boneState.errors,
661
- readonly: e.boneState.bonestructure.readonly ? !0 : void 0,
662
- onChangeInternal: e.changeEvent
663
- }, null, 8, ["is", "name", "structure", "skel", "errors", "readonly", "onChangeInternal"])), [
664
- [be, e.state.structure[c.boneName].visible]
665
- ])), 128))
666
- ], 8, pn)), [
667
- [be, i.groupVisible]
668
- ])), 128))
669
- ])) : (m(), h("sl-alert", bn, " In Order to use this Bone register the bone component globally in your main file "));
670
- }
671
- const Ze = /* @__PURE__ */ I(hn, [["render", yn], ["__scopeId", "data-v-e6fcfbca"]]), $n = D({
672
- inheritAttrs: !1,
673
- props: {
674
- name: String,
675
- value: null,
676
- index: Number,
677
- lang: String
678
- },
679
- components: { Wrapper_nested: Ze },
680
- emits: ["change"],
681
- setup(e, n) {
682
- const t = C("boneState"), l = w({
683
- value: {},
684
- index: S(() => e.index),
685
- lang: S(() => e.lang)
686
- });
687
- function s(o) {
688
- var i;
689
- (i = l.value) != null && i[o.name] || (l.value ? l.value[o.name] = null : l.value = { [o.name]: null });
690
- let a = l.value[o.name];
691
- o.lang ? (a === null && (a = {}), Object.keys(a).includes(o.lang) && o.index !== null ? a[o.lang][o.index] = o.value : a[o.lang] = o.value) : o.index !== null ? (a === null && (a = []), a[o.index] = o.value) : a = o.value, l.value[o.name] = a, n.emit("change", e.name, l.value, e.lang, e.index, !0);
692
- }
693
- return R(() => {
694
- n.emit("change", e.name, e.value, e.lang, e.index);
695
- }), {
696
- state: l,
697
- boneState: t,
698
- changeEvent: s
699
- };
700
- }
701
- });
702
- function Sn(e, n, t, l, s, o) {
703
- const a = ae("Wrapper_nested");
704
- return m(), T(a, {
705
- value: e.value,
706
- name: e.name,
707
- index: e.state.index,
708
- disabled: e.boneState.bonestructure.readonly,
709
- onChange: e.changeEvent
710
- }, null, 8, ["value", "name", "index", "disabled", "onChange"]);
711
- }
712
- const Re = /* @__PURE__ */ I($n, [["render", Sn], ["__scopeId", "data-v-84a761ce"]]), kn = D({
713
- inheritAttrs: !1,
714
- props: {
715
- name: String,
716
- value: [Object, String, Number, Boolean, Array],
717
- index: Number,
718
- lang: String
719
- },
720
- components: {},
721
- emits: ["change"],
722
- setup(e, n) {
723
- const t = C("boneState"), l = w({});
724
- function s(o) {
725
- n.emit("change", e.name, o.target.value, e.lang, e.index);
726
- }
727
- return R(() => {
728
- n.emit("change", e.name, e.value, e.lang, e.index);
729
- }), {
730
- state: l,
731
- boneState: t,
732
- changeEvent: s
733
- };
734
- }
735
- }), _n = ["disabled", "value"];
736
- function wn(e, n, t, l, s, o) {
737
- return m(), h("sl-color-picker", {
738
- disabled: e.boneState.readonly,
739
- value: e.value,
740
- onSlChange: n[0] || (n[0] = (...a) => e.changeEvent && e.changeEvent(...a))
741
- }, null, 40, _n);
742
- }
743
- const Le = /* @__PURE__ */ I(kn, [["render", wn], ["__scopeId", "data-v-534b9149"]]), En = D({
744
- inheritAttrs: !1,
745
- emits: { change: null },
746
- props: {
747
- name: String,
748
- value: [Object, String, Number, Boolean, Array],
749
- index: Number,
750
- lang: String,
751
- autofocus: Boolean
752
- },
753
- components: {},
754
- setup(e, n) {
755
- const t = C("boneState"), l = w({
756
- minAmount: S(() => t.bonestructure.minAmount),
757
- maxAmount: S(() => t.bonestructure.maxAmount),
758
- precision: S(() => {
759
- if (t.bonestructure.precision > 1)
760
- return parseFloat(`0.${"0".repeat(t.bonestructure.precision - 1)}1`);
761
- })
762
- }), s = q(null);
763
- function o(a) {
764
- n.emit("change", e.name, a.target.value, e.lang, e.index);
765
- }
766
- return de(() => {
767
- if (e.autofocus && s.value && s.value !== null && s !== null) {
768
- const { start: a } = ce(() => {
769
- s.value.focus();
770
- }, 600);
771
- a();
772
- }
773
- }), R(() => {
774
- n.emit("change", e.name, e.value, e.lang, e.index);
775
- }), {
776
- state: l,
777
- boneState: t,
778
- changeEvent: o,
779
- numericBone: s
780
- };
781
- }
782
- }), An = ["disabled", "value", "min", "max", "step"], In = { class: "info" }, Cn = { key: 0 }, On = { key: 1 }, jn = { key: 2 };
783
- function Bn(e, n, t, l, s, o) {
784
- return m(), h(E, null, [
785
- d("sl-input", {
786
- ref: "numericBone",
787
- type: "number",
788
- disabled: e.boneState.readonly,
789
- value: e.value,
790
- min: e.state.minAmount,
791
- max: e.state.maxAmount,
792
- step: e.state.precision,
793
- onSlChange: n[0] || (n[0] = (...a) => e.changeEvent && e.changeEvent(...a)),
794
- onKeyup: n[1] || (n[1] = (...a) => e.changeEvent && e.changeEvent(...a))
795
- }, null, 40, An),
796
- d("ul", In, [
797
- e.state.minAmount !== -9223372036854776e3 && e.state.minAmount ? (m(), h("li", Cn, B(e.$t("bones.numeric.min", { val: e.state.minAmount })), 1)) : _("", !0),
798
- e.state.maxAmount !== 9223372036854776e3 && e.state.maxAmount ? (m(), h("li", On, B(e.$t("bones.numeric.max", { val: e.state.maxAmount })), 1)) : _("", !0),
799
- e.state.precision ? (m(), h("li", jn, B(e.$t("bones.numeric.precision", { val: e.boneState.bonestructure.precision })), 1)) : _("", !0)
800
- ])
801
- ], 64);
802
- }
803
- const Ue = /* @__PURE__ */ I(En, [["render", Bn], ["__scopeId", "data-v-03d5b399"]]);
804
- var N = { BASE_URL: "/", MODE: "production", DEV: !1, PROD: !0, SSR: !1 };
805
- class ie extends Error {
806
- constructor(n, t, l, s) {
807
- super(l || t), arguments.length >= 4 && s && Object.assign(this, s), this.statusText = t, this.statusCode = n, this.response = s;
808
- }
809
- }
810
- let he = null;
811
- function Y() {
812
- return he || (he = ye("requestStore", () => {
813
- const e = w({ sKeys: /* @__PURE__ */ new Set() });
814
- function n() {
815
- e.sKeys = /* @__PURE__ */ new Set();
816
- }
817
- return {
818
- state: e,
819
- $reset: n
820
- };
821
- })), he();
822
- }
823
- class O {
824
- static resetState() {
825
- Y().$reset(), Y().$dispose();
826
- }
827
- static buildUrl(n) {
828
- return n && !(n.startsWith("http://") || n.startsWith("https://") || n.startsWith("//")) && (n = (N.VITE_API_URL ? N.VITE_API_URL : window.location.origin) + n), n;
829
- }
830
- static post(n, { dataObj: t = null, callback: l = null, failedCallback: s = null, abortController: o = null, headers: a = null, mode: i = null } = {}) {
831
- function r() {
832
- if (t instanceof FormData)
833
- return t;
834
- const u = new FormData();
835
- for (const f in t)
836
- if (Array.isArray(t[f]))
837
- for (let p of t[f])
838
- u.append(f, p);
839
- else
840
- u.append(f, t[f]);
841
- return u;
842
- }
843
- let c = le.post(O.buildUrl(n), r(), null, a, o, i);
844
- return c.then(function(u) {
845
- l && l(u.data);
846
- }).catch(function(u) {
847
- s && s(u);
848
- }), c;
849
- }
850
- static async getBatchSkeys(n = 30, t = N.VITE_DEFAULT_RENDERER || "json") {
851
- await O.get(`/${t}/skey`, {
852
- dataObj: { amount: n }
853
- }).then(async (l) => {
854
- let s = await l.json();
855
- Array.isArray(s) || (s = [s]), Y().state.sKeys = new Set(s);
856
- });
857
- }
858
- static async securePost(n, {
859
- dataObj: t = null,
860
- callback: l = null,
861
- failedCallback: s = null,
862
- abortController: o = null,
863
- renderer: a = N.VITE_DEFAULT_RENDERER || "json",
864
- headers: i = null,
865
- mode: r = null,
866
- amount: c = 30
867
- } = {}) {
868
- let u = null;
869
- Y().state.sKeys.size === 0 && await O.getBatchSkeys(c);
870
- const f = [...Y().state.sKeys][0];
871
- return t instanceof FormData ? (t.append("skey", f), Y().state.sKeys.delete(f)) : (t || (t = {}), t.skey = f, Y().state.sKeys.delete(f)), u = O.post(n, {
872
- dataObj: t,
873
- callback: l,
874
- abortController: o,
875
- headers: i,
876
- mode: r
877
- }), u;
878
- }
879
- static get(n, {
880
- dataObj: t = null,
881
- callback: l = null,
882
- failedCallback: s = null,
883
- cached: o = !1,
884
- clearCache: a = !1,
885
- abortController: i = null,
886
- headers: r = null,
887
- mode: c = null,
888
- // milli sec min Std Tage
889
- cacheTime: u = 1e3 * 60 * 60 * 24 * 1
890
- } = {}) {
891
- let f = le.get(O.buildUrl(n), t, a, r, i, c);
892
- return f.then(function(p) {
893
- l && l(p.data);
894
- }).catch(function(p) {
895
- s && s(p);
896
- }), f;
897
- }
898
- static list(n, {
899
- dataObj: t = null,
900
- callback: l = null,
901
- failedCallback: s = null,
902
- group: o = null,
903
- abortController: a = null,
904
- renderer: i = (N == null ? void 0 : N.VITE_DEFAULT_RENDERER) || "json"
905
- } = {}) {
906
- let r = `/${i}/${n}/list`;
907
- return o && (r += `/${o}`), O.get(r, {
908
- dataObj: t,
909
- callback: l,
910
- failedCallback: s,
911
- abortController: a
912
- });
913
- }
914
- static getStructure(n, {
915
- dataObj: t = null,
916
- callback: l = null,
917
- failedCallback: s = null,
918
- group: o = null,
919
- abortController: a = null,
920
- renderer: i = (N == null ? void 0 : N.VITE_DEFAULT_RENDERER) || "json"
921
- } = {}) {
922
- n = n.replace(/\//g, ".");
923
- let r = `/${i}/getStructure/${n}`;
924
- return o && (r += `/${o}`), O.get(r, {
925
- dataObj: t,
926
- callback: l,
927
- failedCallback: s,
928
- abortController: a
929
- });
930
- }
931
- static view(n, t, {
932
- dataObj: l = null,
933
- callback: s = null,
934
- failedCallback: o = null,
935
- group: a = null,
936
- abortController: i = null,
937
- renderer: r = (N == null ? void 0 : N.VITE_DEFAULT_RENDERER) || "json"
938
- } = {}) {
939
- let c = `/${r}/${n}/view/${t}`;
940
- return a && (c = `/${r}/${n}/view/${a}/${t}`), O.get(c, {
941
- dataObj: l,
942
- callback: s,
943
- failedCallback: o,
944
- abortController: i
945
- });
946
- }
947
- static add(n, {
948
- dataObj: t = null,
949
- callback: l = null,
950
- failedCallback: s = null,
951
- group: o = null,
952
- abortController: a = null,
953
- renderer: i = (N == null ? void 0 : N.VITE_DEFAULT_RENDERER) || "json"
954
- } = {}) {
955
- let r = `/${i}/${n}/add`;
956
- return o && (r = `/${i}/${n}/add/${o}`), O.securePost(r, {
957
- dataObj: t,
958
- callback: l,
959
- failedCallback: s,
960
- abortController: a
961
- });
962
- }
963
- static edit(n, t, {
964
- dataObj: l = null,
965
- callback: s = null,
966
- failedCallback: o = null,
967
- group: a = null,
968
- abortController: i = null,
969
- renderer: r = (N == null ? void 0 : N.VITE_DEFAULT_RENDERER) || "json"
970
- } = {}) {
971
- let c = `/${r}/${n}/edit/${t}`;
972
- return a && (c = `/${r}/${n}/edit/${a}/${t}`), O.securePost(c, {
973
- dataObj: l,
974
- callback: s,
975
- failedCallback: o,
976
- abortController: i
977
- });
978
- }
979
- static delete(n, t, {
980
- dataObj: l = null,
981
- callback: s = null,
982
- failedCallback: o = null,
983
- group: a = null,
984
- abortController: i = null,
985
- renderer: r = (N == null ? void 0 : N.VITE_DEFAULT_RENDERER) || "json"
986
- } = {}) {
987
- let c = `/${r}/${n}/delete/${t}`;
988
- return a && (c = `/${r}/${n}/delete/${a}/${t}`), O.securePost(c, {
989
- dataObj: l,
990
- callback: s,
991
- failedCallback: o,
992
- abortController: i,
993
- amount: 1
994
- });
995
- }
996
- static downloadUrlFor(n, t = !1) {
997
- return n && "dest" in n ? t && "thumbnail" in n.dest ? O.buildUrl(n.dest.thumbnail) : "downloadUrl" in n.dest ? O.buildUrl(n.dest.downloadUrl) : O.buildUrl(null) : O.buildUrl(n);
998
- }
999
- static uploadFile(n, t = void 0) {
1000
- const l = {
1001
- fileName: n.name,
1002
- mimeType: n.type || "application/octet-stream",
1003
- size: n.size.toString(),
1004
- node: t
1005
- };
1006
- return new Promise((s, o) => {
1007
- O.securePost("/vi/file/getUploadURL", { dataObj: l }).then(async (a) => {
1008
- let i = await a.json();
1009
- fetch(i.values.uploadUrl, {
1010
- body: n,
1011
- method: "POST",
1012
- mode: "no-cors"
1013
- }).then(async (r) => {
1014
- const c = {
1015
- key: i.values.uploadKey,
1016
- skelType: "leaf"
1017
- };
1018
- O.securePost("/vi/file/add", { dataObj: c }).then(async (u) => {
1019
- let f = await u.json();
1020
- f.action === "addSuccess" ? s(f.values) : o(f);
1021
- }).catch((u) => {
1022
- o(u);
1023
- });
1024
- }).catch((r) => {
1025
- o(r);
1026
- });
1027
- }).catch((a) => {
1028
- o(a);
1029
- });
1030
- });
1031
- }
1032
- }
1033
- class le {
1034
- constructor() {
1035
- Ie(this, "withCredentials", !0);
1036
- }
1037
- static buildOptions(n, t = null, l = null, s = null, o = null) {
1038
- let a = { method: n };
1039
- return a.credentials = "include", a.headers = {
1040
- Accept: "application/json, text/plain, */*"
1041
- }, l && (a.headers = { ...a.headers, ...l }), t && (a.body = t), s && (a.signal = s.signal), o && (a.mode = o), a;
1042
- }
1043
- static get(n, t = null, l = null, s = null, o = null, a = null) {
1044
- function i(r, c) {
1045
- let u = new URL(r);
1046
- if (c && Object.keys(c).length > 0) {
1047
- const f = new URLSearchParams();
1048
- for (const [p, v] of Object.entries(c))
1049
- if (Array.isArray(v))
1050
- for (const k of v)
1051
- f.append(p, k);
1052
- else
1053
- f.append(p, v);
1054
- u.search = f.toString();
1055
- }
1056
- return u.toString();
1057
- }
1058
- return fetch(i(n, t), le.buildOptions("GET", null, s, o, a)).then(async (r) => {
1059
- if (r.ok)
1060
- return r;
1061
- {
1062
- const c = `${r.status} ${r.statusText}: ${r.headers ? r.headers.get("x-error-descr") : ""}`;
1063
- return Promise.reject(new ie(r.status, r.statusText, c, r));
1064
- }
1065
- }).catch((r) => {
1066
- if (r instanceof TypeError) {
1067
- const u = `503 ${r.message}: ${r.headers ? r.headers.get("x-error-descr") : ""}`;
1068
- return Promise.reject(new ie(503, r.message, u, r));
1069
- }
1070
- if (r instanceof DOMException && r.name == "AbortError") {
1071
- const u = `${r.code} ${r.name}: ${r.headers ? r.headers.get("x-error-descr") : ""}`;
1072
- return Promise.reject(new ie(r.code, r.name, u, { url: n }));
1073
- }
1074
- const c = `${r.statusCode} ${r.statusText}: ${r.headers ? r.headers.get("x-error-descr") : ""}`;
1075
- return Promise.reject(new ie(r.statusCode, r.statusText, c, r.response));
1076
- });
1077
- }
1078
- static post(n, t = null, l = null, s = null, o = null, a = null) {
1079
- return fetch(n, le.buildOptions("POST", t, s, o, a));
1080
- }
1081
- }
1082
- var Dn = { BASE_URL: "/", MODE: "production", DEV: !1, PROD: !0, SSR: !1 };
1083
- const Vn = D({
1084
- inheritAttrs: !1,
1085
- props: {
1086
- name: String,
1087
- value: [Object, String, Number, Boolean, Array],
1088
- index: Number,
1089
- lang: String
1090
- },
1091
- components: { Wrapper_nested: Ze },
1092
- emits: ["change"],
1093
- setup(e, n) {
1094
- const t = C("boneState"), l = C("formatString"), s = w({
1095
- format: S(() => t == null ? void 0 : t.bonestructure.format),
1096
- skellistdata: null,
1097
- selection: null
1098
- });
1099
- function o(r) {
1100
- let c = "";
1101
- return t.bonestructure.type === "relational.tree.leaf.file" ? c = "skelType=leaf&" : t.bonestructure.type === "relational.tree.node.file" && (c = "skelType=node&"), O.get(
1102
- `/${Dn.VITE_DEFAULT_RENDERER || "vi"}/${t.bonestructure.module}/list?${c}limit=99`
1103
- ).then(async (u) => {
1104
- var p;
1105
- const f = await u.json();
1106
- s.skellistdata = {};
1107
- for (let v of f.skellist)
1108
- s.skellistdata[v.key] = v;
1109
- return (p = f.skellist) == null ? void 0 : p.map((v) => ({ text: l(t.bonestructure.format, { dest: v }), value: v.key, data: v }));
1110
- });
1111
- }
1112
- function a(r) {
1113
- s.selection = { dest: s.skellistdata[r.detail.item.value] }, n.emit("change", e.name, s.selection, e.lang, e.index);
1114
- }
1115
- function i(r) {
1116
- var u;
1117
- s.selection || (s.selection = {}), (u = s.selection.rel) != null && u[r.name] || (s.selection.rel ? s.selection.rel[r.name] = null : s.selection.rel = { [r.name]: null });
1118
- let c = s.selection.rel[r.name];
1119
- r.lang ? (c === null && (c = {}), Object.keys(c).includes(r.lang) && r.index !== null ? c[r.lang][r.index] = r.value : c[r.lang] = r.value) : r.index !== null ? (c === null && (c = []), c[r.index] = r.value) : c = r.value, Object.keys(s.selection).includes("rel") && s.selection.rel ? s.selection.rel[r.name] = c : s.selection.rel = { [r.name]: c }, Object.keys(s.selection).includes("dest") && n.emit("change", e.name, s.selection, e.lang, e.index);
1120
- }
1121
- return R(() => {
1122
- s.selection = e.value, n.emit("change", e.name, e.value, e.lang, e.index);
1123
- }), {
1124
- state: s,
1125
- boneState: t,
1126
- formatString: l,
1127
- changeEvent: a,
1128
- changeEventNested: i,
1129
- getList: o
1130
- };
1131
- }
1132
- }), Nn = (e) => (M("data-v-61dd72e0"), e = e(), z(), e), Rn = { class: "record" }, Ln = { class: "single-entry" }, Un = ["value"], Tn = ["disabled", "source"], Pn = ["title"], Mn = /* @__PURE__ */ Nn(() => /* @__PURE__ */ d("sl-icon", {
1133
- slot: "prefix",
1134
- name: "x-lg"
1135
- }, null, -1)), Wn = [
1136
- Mn
1137
- ];
1138
- function zn(e, n, t, l, s, o) {
1139
- var i, r;
1140
- const a = ae("Wrapper_nested");
1141
- return m(), h("div", Rn, [
1142
- d("div", Ln, [
1143
- e.state.selection ? (m(), h("sl-input", {
1144
- key: 0,
1145
- disabled: !0,
1146
- value: e.value ? e.formatString(e.state.format, e.state.selection) : ""
1147
- }, null, 8, Un)) : (m(), h("sl-combobox", {
1148
- key: 1,
1149
- disabled: e.boneState.readonly,
1150
- source: e.getList,
1151
- hoist: "",
1152
- onSlItemSelect: n[0] || (n[0] = (...c) => e.changeEvent && e.changeEvent(...c))
1153
- }, null, 40, Tn)),
1154
- !e.boneState.multiple && !e.boneState.isEmpty ? (m(), h("sl-button", {
1155
- key: 2,
1156
- variant: "danger",
1157
- outline: "",
1158
- title: e.$t("bone.del"),
1159
- class: "delete-btn square-btn",
1160
- onClick: n[1] || (n[1] = () => {
1161
- e.$emit("change", e.name, "", e.lang, e.index), e.state.selection = null;
1162
- })
1163
- }, Wn, 8, Pn)) : _("", !0)
1164
- ]),
1165
- (i = e.boneState) != null && i.bonestructure.using ? (m(), T(a, {
1166
- key: 0,
1167
- value: (r = e.value) == null ? void 0 : r.rel,
1168
- name: e.name,
1169
- index: e.index,
1170
- disabled: e.boneState.bonestructure.readonly,
1171
- onChange: e.changeEventNested
1172
- }, null, 8, ["value", "name", "index", "disabled", "onChange"])) : _("", !0)
1173
- ]);
1174
- }
1175
- const Te = /* @__PURE__ */ I(Vn, [["render", zn], ["__scopeId", "data-v-61dd72e0"]]), qn = D({
1176
- inheritAttrs: !1,
1177
- props: {
1178
- name: String,
1179
- value: [Object, String, Number, Boolean, Array],
1180
- index: Number,
1181
- lang: String,
1182
- readonly: Boolean,
1183
- params: Object
1184
- },
1185
- components: {},
1186
- emits: ["change"],
1187
- setup(e, n) {
1188
- const t = C("boneState"), l = w({});
1189
- function s(o, a) {
1190
- n.emit("change", e.name, o, e.lang, e.index);
1191
- }
1192
- return R(() => {
1193
- n.emit("change", e.name, e.value, e.lang, e.index);
1194
- }), {
1195
- state: l,
1196
- boneState: t,
1197
- changeEvent: s
1198
- };
1199
- }
1200
- }), Fn = { class: "box" };
1201
- function Kn(e, n, t, l, s, o) {
1202
- return m(), h("div", Fn, B(e.value), 1);
1203
- }
1204
- const Hn = /* @__PURE__ */ I(qn, [["render", Kn], ["__scopeId", "data-v-343aca69"]]);
1205
- var Pe = { BASE_URL: "/", MODE: "production", DEV: !1, PROD: !0, SSR: !1 };
1206
- const Gn = D({
1207
- inheritAttrs: !1,
1208
- props: {
1209
- name: String,
1210
- value: [Object, String, Number, Boolean, Array],
1211
- index: Number,
1212
- lang: String
1213
- },
1214
- components: {},
1215
- emits: ["change"],
1216
- setup(e, n) {
1217
- const t = C("boneState"), l = q(), s = w({
1218
- loading: !1,
1219
- droparea: !1,
1220
- previewopen: !1
1221
- });
1222
- R(() => {
1223
- n.emit("change", e.name, e.value, e.lang, e.index);
1224
- });
1225
- function o() {
1226
- console.log(O.downloadUrlFor(e.value)), window.open(O.downloadUrlFor(e.value));
1227
- }
1228
- function a() {
1229
- return O.downloadUrlFor(e.value, !1);
1230
- }
1231
- function i(u) {
1232
- const f = {
1233
- fileName: u.name,
1234
- mimeType: u.type || "application/octet-stream",
1235
- size: u.size.toString()
1236
- };
1237
- return new Promise((p, v) => {
1238
- O.securePost(`/${Pe.VITE_DEFAULT_RENDERER || "vi"}/file/getUploadURL`, { dataObj: f }).then(async (k) => {
1239
- let g = await k.json();
1240
- fetch(g.values.uploadUrl, {
1241
- body: u,
1242
- method: "POST",
1243
- mode: "no-cors"
1244
- }).then(async (b) => {
1245
- const y = {
1246
- key: g.values.uploadKey,
1247
- node: void 0,
1248
- skelType: "leaf"
1249
- };
1250
- O.securePost(`/${Pe.VITE_DEFAULT_RENDERER || "vi"}/file/add`, { dataObj: y }).then(async ($) => {
1251
- let A = await $.json();
1252
- A.action === "addSuccess" ? p(A.values) : v(A);
1253
- }).catch(($) => {
1254
- v($);
1255
- });
1256
- }).catch((b) => {
1257
- v(b);
1258
- });
1259
- }).catch((k) => {
1260
- v(k);
1261
- });
1262
- });
1263
- }
1264
- async function r(u) {
1265
- s.loading = !0;
1266
- for (let f of u.target.files) {
1267
- let p = await i(f);
1268
- l.value.value = null, n.emit("change", e.name, { dest: p, rel: null }, e.lang, e.index);
1269
- }
1270
- s.loading = !1;
1271
- }
1272
- async function c(u) {
1273
- s.loading = !0, s.droparea = !1;
1274
- for (let f of u.dataTransfer.files) {
1275
- let p = await i(f);
1276
- l.value.value = null, n.emit("change", e.name, { dest: p, rel: null }, e.lang, e.index);
1277
- break;
1278
- }
1279
- s.loading = !1;
1280
- }
1281
- return {
1282
- state: s,
1283
- boneState: t,
1284
- downloadFile: o,
1285
- createBackgroundImage: a,
1286
- handleUpload: r,
1287
- uploadinput: l,
1288
- handleDrop: c
1289
- };
1290
- }
1291
- }), fe = (e) => (M("data-v-91086308"), e = e(), z(), e), Zn = {
1292
- key: 0,
1293
- class: "loader"
1294
- }, Jn = /* @__PURE__ */ fe(() => /* @__PURE__ */ d("sl-spinner", { slot: "suffix" }, null, -1)), Qn = [
1295
- Jn
1296
- ], Yn = {
1297
- key: 1,
1298
- class: "droparea"
1299
- }, Xn = ["title"], xn = /* @__PURE__ */ fe(() => /* @__PURE__ */ d("sl-icon", { name: "upload" }, null, -1)), ea = [
1300
- xn
1301
- ], ta = ["multiple"], na = ["title"], aa = /* @__PURE__ */ fe(() => /* @__PURE__ */ d("sl-icon", {
1302
- slot: "prefix",
1303
- name: "download"
1304
- }, null, -1)), sa = [
1305
- aa
1306
- ], la = { class: "box" }, ra = ["src"], oa = ["label", "open"], ia = ["src"], ua = {
1307
- key: 1,
1308
- class: "preview"
1309
- }, da = {
1310
- key: 0,
1311
- name: "file-earmark"
1312
- }, ca = { key: 2 }, fa = ["title"], ma = /* @__PURE__ */ fe(() => /* @__PURE__ */ d("sl-icon", { name: "x-lg" }, null, -1)), ga = [
1313
- ma
1314
- ];
1315
- function ha(e, n, t, l, s, o) {
1316
- var a, i, r, c, u, f, p, v, k, g;
1317
- return m(), h("div", {
1318
- class: "file-wrapper",
1319
- onDragover: n[5] || (n[5] = ue((b) => e.state.droparea = !0, ["prevent"])),
1320
- onDragleave: n[6] || (n[6] = (b) => e.state.droparea = !1),
1321
- onDrop: n[7] || (n[7] = ue((...b) => e.handleDrop && e.handleDrop(...b), ["prevent"]))
1322
- }, [
1323
- e.state.loading ? (m(), h("div", Zn, Qn)) : _("", !0),
1324
- e.state.droparea ? (m(), h("div", Yn, " Dateien hier hinziehen ")) : _("", !0),
1325
- !e.boneState.readonly && (!e.value || e.state.loading) ? (m(), h("sl-button", {
1326
- key: 2,
1327
- title: e.$t("bone.upload"),
1328
- outline: "",
1329
- class: "upload-btn",
1330
- onClick: n[0] || (n[0] = (b) => e.uploadinput.click())
1331
- }, ea, 8, Xn)) : _("", !0),
1332
- d("input", {
1333
- ref: "uploadinput",
1334
- hidden: "",
1335
- type: "file",
1336
- multiple: e.boneState.multiple,
1337
- onChange: n[1] || (n[1] = (...b) => e.handleUpload && e.handleUpload(...b))
1338
- }, null, 40, ta),
1339
- e.value ? (m(), h("sl-button", {
1340
- key: 3,
1341
- title: e.$t("bone.download"),
1342
- onClick: n[2] || (n[2] = (...b) => e.downloadFile && e.downloadFile(...b))
1343
- }, sa, 8, na)) : _("", !0),
1344
- d("div", la, [
1345
- (i = (a = e.value) == null ? void 0 : a.dest) != null && i.mimetype.includes("image") ? (m(), h("div", {
1346
- key: 0,
1347
- class: "preview has-preview",
1348
- onClick: n[3] || (n[3] = (b) => e.state.previewopen = !e.state.previewopen)
1349
- }, [
1350
- d("img", {
1351
- class: "preview-img",
1352
- src: e.createBackgroundImage(),
1353
- alt: ""
1354
- }, null, 8, ra),
1355
- d("sl-dialog", {
1356
- label: decodeURIComponent((c = (r = e.value) == null ? void 0 : r.dest) == null ? void 0 : c.name),
1357
- class: "preview-overlay",
1358
- open: e.state.previewopen
1359
- }, [
1360
- d("img", {
1361
- src: e.createBackgroundImage(),
1362
- alt: ""
1363
- }, null, 8, ia)
1364
- ], 8, oa)
1365
- ])) : (m(), h("div", ua, [
1366
- (f = (u = e.value) == null ? void 0 : u.dest) != null && f.name ? (m(), h("sl-icon", da)) : _("", !0)
1367
- ])),
1368
- (v = (p = e.value) == null ? void 0 : p.dest) != null && v.name ? (m(), h("div", ca, B(decodeURIComponent((g = (k = e.value) == null ? void 0 : k.dest) == null ? void 0 : g.name)), 1)) : _("", !0)
1369
- ]),
1370
- e.boneState.multiple ? _("", !0) : (m(), h("sl-button", {
1371
- key: 4,
1372
- variant: "danger",
1373
- outline: "",
1374
- title: e.$t("bone.del"),
1375
- class: "delete-btn",
1376
- onClick: n[4] || (n[4] = (b) => e.$emit("change", e.name, "", e.lang, e.index))
1377
- }, ga, 8, fa))
1378
- ], 32);
1379
- }
1380
- const Me = /* @__PURE__ */ I(Gn, [["render", ha], ["__scopeId", "data-v-91086308"]]), ba = D({
1381
- inheritAttrs: !1,
1382
- props: {
1383
- name: String,
1384
- value: [Object, String, Number, Boolean, Array],
1385
- index: Number,
1386
- lang: String
1387
- },
1388
- components: {},
1389
- emits: ["change"],
1390
- setup(e, n) {
1391
- const t = C("boneState"), l = w({
1392
- value: "",
1393
- editorConfig: {},
1394
- editor: S(() => ClassicEditor)
1395
- });
1396
- function s(i) {
1397
- n.emit("change", e.name, l.value, e.lang, e.index);
1398
- }
1399
- function o(i) {
1400
- l.value = i.target.value, n.emit("change", e.name, l.value, e.lang, e.index);
1401
- }
1402
- R(() => {
1403
- e.value !== null && (l.value = e.value), n.emit("change", e.name, e.value, e.lang, e.index);
1404
- });
1405
- function a(i) {
1406
- i.editing.view.change((r) => {
1407
- r.setStyle("min-height", "250px", i.editing.view.document.getRoot());
1408
- });
1409
- }
1410
- return ne(
1411
- () => e.value,
1412
- (i, r) => {
1413
- l.value = i;
1414
- }
1415
- ), {
1416
- state: l,
1417
- ClassicEditor,
1418
- boneState: t,
1419
- changeEvent: s,
1420
- onReady: a,
1421
- changeEventTextarea: o
1422
- };
1423
- }
1424
- }), va = ["disabled", "value"];
1425
- function pa(e, n, t, l, s, o) {
1426
- var i, r, c, u;
1427
- const a = ae("ckeditor");
1428
- return e.state.editor ? (m(), h(E, { key: 0 }, [
1429
- (i = e.boneState.bonestructure) != null && i.valid_html || (r = e.boneState.bonestructure) != null && r.validHtml ? (m(), T(a, {
1430
- key: 0,
1431
- modelValue: e.state.value,
1432
- "onUpdate:modelValue": n[0] || (n[0] = (f) => e.state.value = f),
1433
- editor: e.state.editor,
1434
- config: e.state.editorConfig,
1435
- disabled: (c = e.boneState) == null ? void 0 : c.readonly,
1436
- onReady: e.onReady,
1437
- onInput: e.changeEvent
1438
- }, null, 8, ["modelValue", "editor", "config", "disabled", "onReady", "onInput"])) : (m(), h("sl-textarea", {
1439
- key: 1,
1440
- disabled: (u = e.boneState) == null ? void 0 : u.readonly,
1441
- value: e.value,
1442
- onInput: n[1] || (n[1] = (...f) => e.changeEventTextarea && e.changeEventTextarea(...f))
1443
- }, null, 40, va))
1444
- ], 64)) : _("", !0);
1445
- }
1446
- const We = /* @__PURE__ */ I(ba, [["render", pa]]), ya = D({
1447
- inheritAttrs: !1,
1448
- props: {
1449
- name: String,
1450
- value: [Object, String, Number, Boolean, Array],
1451
- index: Number,
1452
- lang: String
1453
- },
1454
- components: {},
1455
- emits: ["change"],
1456
- setup(e, n) {
1457
- const t = C("boneState"), l = w({
1458
- valueLat: null,
1459
- valueLng: null
1460
- });
1461
- function s() {
1462
- n.emit("change", e.name, [l.valueLat, l.valueLng], e.lang, e.index);
1463
- }
1464
- return R(() => {
1465
- try {
1466
- l.valueLat = e.value[0], l.valueLng = e.value[1];
1467
- } catch {
1468
- }
1469
- n.emit("change", e.name, [l.valueLat, l.valueLng], e.lang, e.index);
1470
- }), {
1471
- state: l,
1472
- boneState: t,
1473
- changeEvent: s
1474
- };
1475
- }
1476
- }), $a = ["name", "min", "max", "disabled"], Sa = ["name", "min", "max", "disabled"];
1477
- function ka(e, n, t, l, s, o) {
1478
- return m(), h(E, null, [
1479
- Z(d("sl-input", {
1480
- "onUpdate:modelValue": n[0] || (n[0] = (a) => e.state.valueLat = a),
1481
- index: "lat",
1482
- type: "number",
1483
- name: e.name,
1484
- min: e.boneState.bonestructure.boundslat[0],
1485
- max: e.boneState.bonestructure.boundslat[1],
1486
- disabled: e.boneState.readonly,
1487
- "value-as-number": "",
1488
- step: "0.000001",
1489
- onSlChange: n[1] || (n[1] = (...a) => e.changeEvent && e.changeEvent(...a)),
1490
- placeholder: "Lat"
1491
- }, null, 40, $a), [
1492
- [se, e.state.valueLat]
1493
- ]),
1494
- Z(d("sl-input", {
1495
- "onUpdate:modelValue": n[2] || (n[2] = (a) => e.state.valueLng = a),
1496
- index: "lng",
1497
- type: "number",
1498
- name: e.name,
1499
- min: e.boneState.bonestructure.boundslat[0],
1500
- max: e.boneState.bonestructure.boundslat[1],
1501
- disabled: e.boneState.readonly,
1502
- "value-as-number": "",
1503
- step: "0.000001",
1504
- onSlChange: n[3] || (n[3] = (...a) => e.changeEvent && e.changeEvent(...a)),
1505
- placeholder: "Long"
1506
- }, null, 40, Sa), [
1507
- [se, e.state.valueLng]
1508
- ])
1509
- ], 64);
1510
- }
1511
- const ze = /* @__PURE__ */ I(ya, [["render", ka], ["__scopeId", "data-v-7bc31020"]]), _a = D({
1512
- props: {
1513
- name: String,
1514
- value: Object,
1515
- index: Number,
1516
- lang: String,
1517
- readonly: Boolean,
1518
- params: Object
1519
- },
1520
- components: {},
1521
- emits: ["change"],
1522
- setup(e, n) {
1523
- const t = C("boneState"), l = w({
1524
- counter: 0,
1525
- debounce: null
1526
- }), s = C("addMultipleEntry"), o = C("removeMultipleEntries");
1527
- function a() {
1528
- l.counter += 1;
1529
- let r = 200;
1530
- l.counter > 1 && (r = 500), l.debounce && clearTimeout(l.debounce), l.debounce = setTimeout(() => {
1531
- for (let c = l.counter; c--; )
1532
- s(e.lang);
1533
- l.counter = 0;
1534
- }, r);
1535
- }
1536
- function i() {
1537
- let r = 200;
1538
- l.debounce && clearTimeout(l.debounce), l.debounce = setTimeout(() => {
1539
- o(e.lang);
1540
- }, r);
1541
- }
1542
- return R(() => {
1543
- (!e.value || e.value.length === 0) && n.emit("change", e.name, [], e.lang);
1544
- }), {
1545
- state: l,
1546
- boneState: t,
1547
- handleAdd: a,
1548
- handleRemove: i,
1549
- removeMultipleEntries: o
1550
- };
1551
- }
1552
- }), Je = (e) => (M("data-v-63e75dee"), e = e(), z(), e), wa = { class: "actionbar" }, Ea = ["title"], Aa = /* @__PURE__ */ Je(() => /* @__PURE__ */ d("sl-icon", {
1553
- slot: "prefix",
1554
- name: "x-lg"
1555
- }, null, -1)), Ia = [
1556
- Aa
1557
- ], Ca = ["title"], Oa = /* @__PURE__ */ Je(() => /* @__PURE__ */ d("sl-icon", {
1558
- slot: "prefix",
1559
- name: "plus-lg"
1560
- }, null, -1));
1561
- function ja(e, n, t, l, s, o) {
1562
- return m(), h("div", wa, [
1563
- e.boneState.multiple && !e.readonly ? (m(), h("sl-button", {
1564
- key: 0,
1565
- variant: "danger",
1566
- title: e.$t("bone.del"),
1567
- outline: "",
1568
- class: "delete-btn",
1569
- onClick: n[0] || (n[0] = (a) => e.handleRemove(e.lang))
1570
- }, Ia, 8, Ea)) : _("", !0),
1571
- e.boneState.multiple && !e.readonly ? (m(), h("sl-button", {
1572
- key: 1,
1573
- variant: "success",
1574
- title: e.$t("bone.add"),
1575
- outline: "",
1576
- class: "add-btn",
1577
- onClick: n[1] || (n[1] = (a) => e.handleAdd(e.lang))
1578
- }, [
1579
- Oa,
1580
- j(" " + B(e.$t("bone.add")) + " ", 1),
1581
- e.state.counter > 1 ? (m(), h(E, { key: 0 }, [
1582
- j("(" + B(e.state.counter) + ")", 1)
1583
- ], 64)) : _("", !0)
1584
- ], 8, Ca)) : _("", !0)
1585
- ]);
1586
- }
1587
- const Ba = /* @__PURE__ */ I(_a, [["render", ja], ["__scopeId", "data-v-63e75dee"]]);
1588
- var Da = { BASE_URL: "/", MODE: "production", DEV: !1, PROD: !0, SSR: !1 };
1589
- const Va = D({
1590
- props: {
1591
- name: String,
1592
- value: Object,
1593
- index: Number,
1594
- lang: String,
1595
- readonly: Boolean,
1596
- params: Object
1597
- },
1598
- components: {},
1599
- emits: ["change"],
1600
- setup(e, n) {
1601
- const t = C("boneState"), l = C("addMultipleEntry"), s = C("formatString"), o = null, a = w({
1602
- skels: {},
1603
- hasUsing: S(() => t == null ? void 0 : t.bonestructure.using)
1604
- });
1605
- function i(r) {
1606
- let c = "";
1607
- return t.bonestructure.type === "relational.tree.leaf.file" ? c = "skelType=leaf&" : t.bonestructure.type === "relational.tree.node.file" && (c = "skelType=node&"), O.get(
1608
- `/${Da.VITE_DEFAULT_RENDERER || "vi"}/${t.bonestructure.module}/list?${c}limit=99`
1609
- ).then(async (u) => {
1610
- var p;
1611
- const f = await u.json();
1612
- return a.skels = f.skellist.reduce((v, k) => (v[k.key] = k, v), {}), (p = f.skellist) == null ? void 0 : p.map((v) => ({ text: s(t.bonestructure.format, { dest: v }), value: v.key, data: v }));
1613
- });
1614
- }
1615
- return R(() => {
1616
- (!e.value || e.value.length === 0) && n.emit("change", e.name, [], e.lang);
1617
- }), {
1618
- state: a,
1619
- boneState: t,
1620
- addMultipleEntry: l,
1621
- removeMultipleEntries: o,
1622
- getList: i
1623
- };
1624
- }
1625
- }), Qe = (e) => (M("data-v-eeea51c6"), e = e(), z(), e), Na = { class: "actionbar" }, Ra = ["title"], La = /* @__PURE__ */ Qe(() => /* @__PURE__ */ d("sl-icon", {
1626
- slot: "prefix",
1627
- name: "x-lg"
1628
- }, null, -1)), Ua = [
1629
- La
1630
- ], Ta = ["source"], Pa = ["title"], Ma = /* @__PURE__ */ Qe(() => /* @__PURE__ */ d("sl-icon", {
1631
- slot: "prefix",
1632
- name: "plus-lg"
1633
- }, null, -1));
1634
- function Wa(e, n, t, l, s, o) {
1635
- return m(), h("div", Na, [
1636
- e.boneState.multiple && !e.readonly ? (m(), h("sl-button", {
1637
- key: 0,
1638
- variant: "danger",
1639
- title: e.$t("bone.del"),
1640
- outline: "",
1641
- class: "delete-btn",
1642
- onClick: n[0] || (n[0] = (a) => e.openSelector())
1643
- }, Ua, 8, Ra)) : _("", !0),
1644
- d("sl-combobox", {
1645
- source: e.getList,
1646
- hoist: "",
1647
- onSlItemSelect: n[1] || (n[1] = (a) => {
1648
- var i;
1649
- return e.addMultipleEntry(e.lang, {
1650
- dest: (i = e.state.skels) == null ? void 0 : i[a.detail.item.value],
1651
- rel: e.state.hasUsing ? void 0 : null
1652
- });
1653
- })
1654
- }, null, 40, Ta),
1655
- e.boneState.multiple && !e.readonly ? (m(), h("sl-button", {
1656
- key: 1,
1657
- variant: "success",
1658
- title: e.$t("bone.add"),
1659
- outline: "",
1660
- class: "add-btn",
1661
- onClick: n[2] || (n[2] = (a) => e.addMultipleEntry(e.lang))
1662
- }, [
1663
- Ma,
1664
- j(" " + B(e.$t("bone.list")), 1)
1665
- ], 8, Pa)) : _("", !0)
1666
- ]);
1667
- }
1668
- const za = /* @__PURE__ */ I(Va, [["render", Wa], ["__scopeId", "data-v-eeea51c6"]]);
1669
- var qe = { BASE_URL: "/", MODE: "production", DEV: !1, PROD: !0, SSR: !1 };
1670
- const qa = D({
1671
- props: {
1672
- name: String,
1673
- value: Object,
1674
- index: Number,
1675
- lang: String,
1676
- readonly: Boolean,
1677
- params: Object
1678
- },
1679
- components: {},
1680
- emits: ["change"],
1681
- setup(e, n) {
1682
- const t = C("boneState"), l = C("addMultipleEntry");
1683
- C("formatString");
1684
- const s = null, o = q(), a = w({
1685
- skels: {},
1686
- uploadinput: null,
1687
- loading: !1,
1688
- droparea: !1,
1689
- hasUsing: S(() => t == null ? void 0 : t.bonestructure.using)
1690
- });
1691
- function i(u) {
1692
- const f = {
1693
- fileName: u.name,
1694
- mimeType: u.type || "application/octet-stream",
1695
- size: u.size.toString()
1696
- };
1697
- return new Promise((p, v) => {
1698
- O.securePost(`/${qe.VITE_DEFAULT_RENDERER || "vi"}/file/getUploadURL`, { dataObj: f }).then(async (k) => {
1699
- let g = await k.json();
1700
- fetch(g.values.uploadUrl, {
1701
- body: u,
1702
- method: "POST",
1703
- mode: "no-cors"
1704
- }).then(async (b) => {
1705
- const y = {
1706
- key: g.values.uploadKey,
1707
- node: void 0,
1708
- skelType: "leaf"
1709
- };
1710
- O.securePost(`/${qe.VITE_DEFAULT_RENDERER || "vi"}/file/add`, { dataObj: y }).then(async ($) => {
1711
- let A = await $.json();
1712
- A.action === "addSuccess" ? p(A.values) : v(A);
1713
- }).catch(($) => {
1714
- v($);
1715
- });
1716
- }).catch((b) => {
1717
- v(b);
1718
- });
1719
- }).catch((k) => {
1720
- v(k);
1721
- });
1722
- });
1723
- }
1724
- async function r(u) {
1725
- a.loading = !0;
1726
- for (let f of u.target.files) {
1727
- let p = await i(f);
1728
- o.value.value = null;
1729
- let v = null;
1730
- a.hasUsing && (v = void 0), l(e.lang, { dest: p, rel: v });
1731
- }
1732
- a.loading = !1;
1733
- }
1734
- async function c(u) {
1735
- a.loading = !0, a.droparea = !1;
1736
- for (let f of u.dataTransfer.files) {
1737
- let p = await i(f);
1738
- o.value.value = null;
1739
- let v = null;
1740
- a.hasUsing && (v = void 0), l(e.lang, { dest: p, rel: v });
1741
- }
1742
- a.loading = !1;
1743
- }
1744
- return R(() => {
1745
- (!e.value || e.value.length === 0) && n.emit("change", e.name, [], e.lang);
1746
- }), {
1747
- state: a,
1748
- boneState: t,
1749
- addMultipleEntry: l,
1750
- removeMultipleEntries: s,
1751
- uploadFile: i,
1752
- uploadinput: o,
1753
- handleUpload: r,
1754
- handleDrop: c
1755
- };
1756
- }
1757
- }), $e = (e) => (M("data-v-9bac9f8a"), e = e(), z(), e), Fa = ["title"], Ka = /* @__PURE__ */ $e(() => /* @__PURE__ */ d("sl-icon", {
1758
- slot: "prefix",
1759
- name: "x-lg"
1760
- }, null, -1)), Ha = [
1761
- Ka
1762
- ], Ga = {
1763
- key: 1,
1764
- class: "droparea"
1765
- }, Za = ["multiple"], Ja = ["title"], Qa = /* @__PURE__ */ $e(() => /* @__PURE__ */ d("sl-icon", {
1766
- slot: "prefix",
1767
- name: "plus-lg"
1768
- }, null, -1)), Ya = [
1769
- Qa
1770
- ], Xa = ["title"], xa = /* @__PURE__ */ $e(() => /* @__PURE__ */ d("sl-icon", { name: "upload" }, null, -1)), es = {
1771
- key: 0,
1772
- slot: "suffix"
1773
- };
1774
- function ts(e, n, t, l, s, o) {
1775
- return m(), h("div", {
1776
- class: "actionbar",
1777
- onDragover: n[4] || (n[4] = ue((a) => e.state.droparea = !0, ["prevent"])),
1778
- onDragleave: n[5] || (n[5] = (a) => e.state.droparea = !1),
1779
- onDrop: n[6] || (n[6] = ue((...a) => e.handleDrop && e.handleDrop(...a), ["prevent"]))
1780
- }, [
1781
- e.boneState.multiple && !e.readonly ? (m(), h("sl-button", {
1782
- key: 0,
1783
- variant: "danger",
1784
- title: e.$t("bone.del"),
1785
- outline: "",
1786
- class: "delete-btn",
1787
- onClick: n[0] || (n[0] = (a) => e.openSelector())
1788
- }, Ha, 8, Fa)) : _("", !0),
1789
- e.state.droparea ? (m(), h("div", Ga, " Dateien hier hinziehen ")) : _("", !0),
1790
- d("input", {
1791
- ref: "uploadinput",
1792
- hidden: "",
1793
- type: "file",
1794
- multiple: e.boneState.multiple,
1795
- onChange: n[1] || (n[1] = (...a) => e.handleUpload && e.handleUpload(...a))
1796
- }, null, 40, Za),
1797
- e.boneState.multiple && !e.readonly ? (m(), h("sl-button", {
1798
- key: 2,
1799
- outline: "",
1800
- title: e.$t("bone.list"),
1801
- class: "add-btn",
1802
- onClick: n[2] || (n[2] = (a) => e.addMultipleEntry(e.lang))
1803
- }, Ya, 8, Ja)) : _("", !0),
1804
- e.boneState.multiple && !e.readonly ? (m(), h("sl-button", {
1805
- key: 3,
1806
- variant: "success",
1807
- outline: "",
1808
- title: e.$t("bone.upload"),
1809
- class: "upload-btn",
1810
- onClick: n[3] || (n[3] = (a) => e.uploadinput.click())
1811
- }, [
1812
- xa,
1813
- j(" " + B(e.$t("bone.upload")) + " ", 1),
1814
- e.state.loading ? (m(), h("sl-spinner", es)) : _("", !0)
1815
- ], 8, Xa)) : _("", !0)
1816
- ], 32);
1817
- }
1818
- const ns = /* @__PURE__ */ I(qa, [["render", ts], ["__scopeId", "data-v-9bac9f8a"]]), Se = ye("boneStore", () => {
1819
- const e = w({
1820
- additionalBones: H({}),
1821
- defaultBones: H({
1822
- rawBone: ve,
1823
- keyBone: Ce,
1824
- stringBone: Oe,
1825
- emailBone: je,
1826
- dateBone: Be,
1827
- booleanBone: Ve,
1828
- selectBone: De,
1829
- passwordBone: Ne,
1830
- recordBone: Re,
1831
- numericBone: Ue,
1832
- colorBone: Le,
1833
- relationalBone: Te,
1834
- jsonBone: Hn,
1835
- fileBone: Me,
1836
- textBone: We,
1837
- spatialBone: ze
1838
- }),
1839
- actionbars: H({
1840
- "relational.tree.leaf.file.file": ns,
1841
- "relational.": za
1842
- }),
1843
- multibones: H(["select", "select."])
1844
- });
1845
- function n(a, i) {
1846
- e.additionalBones[a] = i;
1847
- }
1848
- function t() {
1849
- let a = e.defaultBones;
1850
- for (const [i, r] of Object.entries(e.additionalBones))
1851
- a.add(r);
1852
- return a;
1853
- }
1854
- function l(a) {
1855
- if (Object.keys(e.additionalBones).includes(a))
1856
- return e.additionalBones[a];
1857
- {
1858
- let i = a.split("."), r = Object.entries(e.additionalBones).filter(
1859
- (c) => c[0].startsWith(i[0] + ".")
1860
- );
1861
- if (r.length > 0) {
1862
- r.sort((c, u) => u.length - c.length);
1863
- for (let c of r)
1864
- if (a.startsWith(c[0]))
1865
- return e.additionalBones[c[0]];
1866
- }
1867
- }
1868
- return a === "date" ? Be : a === "key" ? Ce : a === "str.email" ? je : a === "str" || a.startsWith("str.") ? Oe : a === "select" || a.startsWith("select.") ? De : a === "bool" ? Ve : a === "password" ? Ne : a === "record" ? Re : a === "numeric" || a.startsWith("numeric.") ? Ue : a === "relational.tree.leaf.file.file" ? Me : a === "relational" || a.startsWith("relational.") ? Te : a === "color" ? Le : a === "text" ? We : a === "spatial" ? ze : ve;
1869
- }
1870
- function s(a, i) {
1871
- e.actionbars[a] = i;
1872
- }
1873
- function o(a) {
1874
- if (Object.keys(e.actionbars).includes(a))
1875
- return e.actionbars[a];
1876
- {
1877
- let i = a.split("."), r = Object.entries(e.actionbars).filter(
1878
- (c) => c[0].startsWith(i[0] + ".")
1879
- );
1880
- if (r.length > 0) {
1881
- r.sort((c, u) => u.length - c.length);
1882
- for (let c of r)
1883
- if (a.startsWith(c[0]))
1884
- return e.actionbars[c[0]];
1885
- }
1886
- }
1887
- return Ba;
1888
- }
1889
- return {
1890
- state: e,
1891
- addBoneWidget: n,
1892
- getBoneWidget: l,
1893
- importWidgets: t,
1894
- addBoneActionbar: s,
1895
- getBoneActionbar: o
1896
- };
1897
- });
1898
- function as(e) {
1899
- return Se().getBoneActionbar(e);
1900
- }
1901
- function X(e) {
1902
- return Se().getBoneWidget(e);
1903
- }
1904
- function ss(e) {
1905
- const n = Se();
1906
- if (n.state.multibones.includes(e))
1907
- return !0;
1908
- {
1909
- let t = e.split("."), l = Object.entries(n.state.multibones).filter(
1910
- (s) => s[1].startsWith(t[0] + ".")
1911
- );
1912
- if (l.length > 0) {
1913
- l.sort((s, o) => o.length - s.length);
1914
- for (let s of l)
1915
- if (e.startsWith(s[1]))
1916
- return !0;
1917
- }
1918
- }
1919
- return !1;
1920
- }
1921
- D({
1922
- inheritAttrs: !1,
1923
- emits: ["change", "change-internal", "handleClick"],
1924
- components: {
1925
- wrapperMultiple: Ct,
1926
- BoneLabel: Nt
1927
- },
1928
- props: {
1929
- is: {
1930
- type: Object,
1931
- default: ve
1932
- },
1933
- name: {
1934
- type: String,
1935
- required: !0
1936
- },
1937
- languages: Array,
1938
- multiple: Boolean,
1939
- readonly: Boolean,
1940
- required: Boolean,
1941
- params: Object,
1942
- value: [Object, String, Number, Boolean, Array],
1943
- structure: {
1944
- type: Object,
1945
- required: !0
1946
- },
1947
- skel: {
1948
- type: null,
1949
- required: !0
1950
- },
1951
- errors: Object,
1952
- showLabelInfo: { type: Boolean, required: !1, default: !1 },
1953
- autofocus: { type: Boolean, required: !1, default: !1 }
1954
- },
1955
- setup(e, n) {
1956
- const t = w({
1957
- bonestructure: S(() => {
1958
- var g;
1959
- return (g = e.structure) == null ? void 0 : g[e.name];
1960
- }),
1961
- bonevalue: null,
1962
- dragStartIndex: {
1963
- lang: null,
1964
- index: Number
1965
- },
1966
- dropIndex: {
1967
- lang: null,
1968
- index: Number
1969
- },
1970
- draggingLineBottom: {
1971
- lang: String,
1972
- index: Number
1973
- },
1974
- draggingLineTop: {
1975
- lang: String,
1976
- index: Number
1977
- },
1978
- isDragging: {
1979
- lang: String,
1980
- index: Number
1981
- },
1982
- multilanguage: S(() => {
1983
- var g;
1984
- return ((g = t.languages) == null ? void 0 : g.length) && t.languages.length > 0;
1985
- }),
1986
- languages: S(() => e.languages ? e.languages : t.bonestructure && Object.keys(t.bonestructure).includes("languages") ? t.bonestructure.languages : []),
1987
- readonly: S(() => e.readonly ? e.readonly : t.bonestructure && Object.keys(t.bonestructure).includes("readonly") ? t.bonestructure.readonly : !1),
1988
- required: S(() => e.required ? e.required : t.bonestructure && Object.keys(t.bonestructure).includes("required") ? t.bonestructure.required : !1),
1989
- hasTooltip: S(() => !!(t.bonestructure && Object.keys(t.bonestructure.params).includes("tooltip"))),
1990
- multiple: S(() => e.multiple ? e.multiple : t.bonestructure && Object.keys(t.bonestructure).includes("multiple") ? t.bonestructure.multiple : !1),
1991
- params: S(() => e.params ? e.params : t.bonestructure && Object.keys(t.bonestructure).includes("params") ? t.bonestructure.params : {}),
1992
- actionbar: S(() => {
1993
- var g;
1994
- return as((g = t.bonestructure) == null ? void 0 : g.type);
1995
- }),
1996
- isEmpty: S(() => {
1997
- function g(b) {
1998
- for (const [y, $] of Object.entries(b))
1999
- if ($ !== null) {
2000
- if (Array.isArray($) && $.length > 0)
2001
- return !1;
2002
- if (!Array.isArray($))
2003
- return !1;
2004
- }
2005
- return !0;
2006
- }
2007
- return t.readonly ? !1 : !t.bonevalue || Array.isArray(t.bonevalue) && t.bonevalue.length === 0 ? !0 : t.bonevalue === Object(t.bonevalue) && !Array.isArray(t.bonevalue) ? g(t.bonevalue) : !1;
2008
- }),
2009
- errors: [],
2010
- errorMessages: S(() => {
2011
- let g = [];
2012
- for (let b of e.errors)
2013
- b.fieldPath[0] === e.name && (b.severity > 2 || t.required && (b.severity === 2 || b.severity === 0)) && g.push(b.errorMessage);
2014
- return g;
2015
- })
2016
- });
2017
- oe("boneState", t);
2018
- function l(g, b, y) {
2019
- a(b, g, "isDragging"), a(b, g, "dragStartIndex");
2020
- }
2021
- function s(g, b, y) {
2022
- y.preventDefault();
2023
- const $ = y.clientY - y.target.getBoundingClientRect().top, A = y.target.closest(".value-line");
2024
- $ < A.offsetHeight / 2 ? (a(b, g, "draggingLineTop"), i("draggingLineBottom"), t.dropIndex.index = g) : (a(b, g, "draggingLineBottom"), i("draggingLineTop"), t.dropIndex.index = g + 1);
2025
- let L = b ? t.bonevalue[b] : t.bonevalue;
2026
- t.dropIndex.index > L.length - 1 && (t.dropIndex.index -= 1);
2027
- }
2028
- function o(g, b, y) {
2029
- let $ = null;
2030
- t.dragStartIndex.index !== t.dropIndex.index && (b ? ($ = t.bonevalue[b].splice(t.dragStartIndex.index, 1)[0], t.bonevalue[b].splice(t.dropIndex.index, 0, $)) : ($ = t.bonevalue.splice(t.dragStartIndex.index, 1)[0], t.bonevalue.splice(t.dropIndex.index, 0, $)), console.dir(t.bonevalue[0]), n.emit("change", {
2031
- name: e.name,
2032
- value: c(),
2033
- lang: b,
2034
- index: g
2035
- })), i("draggingLineBottom", "draggingLineTop", "isDragging", "dragStartIndex", "dropIndex");
2036
- }
2037
- function a(g, b, y) {
2038
- t[y].lang = g || null, t[y].index = b;
2039
- }
2040
- function i(...g) {
2041
- g.forEach((b) => {
2042
- t[b] = {
2043
- lang: null,
2044
- index: Number
2045
- };
2046
- });
2047
- }
2048
- function r(g, b, y = null, $ = null, A) {
2049
- if (b === void 0 || (y ? (t.bonevalue || (t.bonevalue = {}), Object.keys(t.bonevalue).includes(y) && $ !== null ? t.bonevalue[y][$] = b : t.bonevalue[y] = b) : $ !== null ? t.bonevalue[$] = b : A === !1 || (t.bonevalue = b), t.readonly)) return !1;
2050
- let L = {
2051
- name: g,
2052
- value: c(),
2053
- lang: y,
2054
- index: $
2055
- }, V = {
2056
- name: g,
2057
- value: b,
2058
- lang: y,
2059
- index: $
2060
- };
2061
- A != null && (L.pwMatch = A, V.pwMatch = A), n.emit("change", L), n.emit("change-internal", V);
2062
- }
2063
- function c() {
2064
- function g(y, $ = null) {
2065
- let A = [];
2066
- if (Array.isArray(y))
2067
- if (t.bonestructure.type == "spatial" && y.length === 2 && !Array.isArray(y[0]))
2068
- A.push({ [$ + ".lat"]: y[0] }), A.push({ [$ + ".lng"]: y[1] });
2069
- else if (Object.values(y).filter((L) => L === Object(L)).length > 0)
2070
- for (const [L, V] of y.entries())
2071
- V.rel !== null ? A.push(g(V, $ + "." + L)) : A.push(g(V, $));
2072
- else
2073
- for (const [L, V] of y.entries())
2074
- A.push(g(V, $));
2075
- else if (y === Object(y))
2076
- for (const [L, V] of Object.entries(y))
2077
- $ ? $.endsWith(".dest") || $.endsWith(".rel") ? $.endsWith(".dest") && L === "key" ? (/\.[0-9]*\.dest$/.test($) ? A.push(g(V, $.replace(/\.[0-9]*\.dest/, ""))) : A.push(g(V, $.replace(/\.dest/, ""))), A.push(g(V, $.replace(/\.dest/, "") + "." + L))) : $.endsWith(".rel") && A.push(g(V, $.replace(/\.rel/, "") + "." + L)) : A.push(g(V, $ + "." + L)) : A.push(g(V, L));
2078
- else
2079
- y == null && (y = ""), $ !== null && A.push({ [$]: y });
2080
- return A;
2081
- }
2082
- let b = g(t.bonevalue, e.name);
2083
- return b = b.flat(10), b;
2084
- }
2085
- function u(g = null, b = "") {
2086
- g ? Object.keys(t.bonevalue).includes(g) ? t.bonevalue[g].push(b) : t.bonevalue[g] = [b] : t.bonevalue ? t.bonevalue.push(b) : t.bonevalue = [b];
2087
- }
2088
- oe("addMultipleEntry", u);
2089
- function f(g, b = null) {
2090
- var y;
2091
- b ? (y = t.bonevalue) == null || y[b].splice(g, 1) : t.bonevalue.splice(g, 1), n.emit("change", {
2092
- name: e.name,
2093
- value: c(),
2094
- lang: b,
2095
- index: g
2096
- }), n.emit("change-internal", {
2097
- name: e.name,
2098
- value: c(),
2099
- lang: b,
2100
- index: g
2101
- });
2102
- }
2103
- function p(g = null) {
2104
- var b;
2105
- g ? (b = t.bonevalue) == null || b[g].splice(0) : t.bonevalue.splice(0), n.emit("change", {
2106
- name: e.name,
2107
- value: c(),
2108
- lang: g
2109
- }), n.emit("change-internal", {
2110
- name: e.name,
2111
- value: c(),
2112
- lang: g
2113
- });
2114
- }
2115
- oe("removeMultipleEntries", p);
2116
- function v(g = null, b = "") {
2117
- u(g, b);
2118
- }
2119
- function k(g, b) {
2120
- function y(V) {
2121
- let G = [], F = [], te = /\$\((.*?)\)/g;
2122
- for (; F; ) {
2123
- if (F = te.exec(V), !F) {
2124
- F = !1;
2125
- continue;
2126
- }
2127
- G.push(F[1]);
2128
- }
2129
- return G;
2130
- }
2131
- function $(V, G) {
2132
- let F = V.split("."), te = V.split("."), P = G;
2133
- for (let Q of F)
2134
- if (te.shift(), P && P !== "-" && Object.keys(P).includes(Q) && P[Q])
2135
- if (Array.isArray(P[Q])) {
2136
- let Ae = [];
2137
- for (let xe of P[Q])
2138
- Ae.push($(te.join("."), xe));
2139
- P = Ae.join(", ");
2140
- } else
2141
- P = P[Q];
2142
- else (!P || typeof P[Q] == "object" && !P[Q]) && (P = "-");
2143
- return P;
2144
- }
2145
- let A = y(g), L = [];
2146
- Array.isArray(b) || (b = [b]);
2147
- for (let V of b) {
2148
- let G = g;
2149
- for (let F of A) {
2150
- let te = $(F, V);
2151
- G = G.replace("$(" + F + ")", te);
2152
- }
2153
- L.push(G);
2154
- }
2155
- return L.join(", ");
2156
- }
2157
- return oe("formatString", k), x(() => {
2158
- var g;
2159
- e.value ? t.bonevalue = e.value : t.bonevalue = (g = e.skel) == null ? void 0 : g[e.name];
2160
- }), ne(
2161
- () => e.skel,
2162
- (g, b) => {
2163
- var y;
2164
- t.bonevalue = (y = e.skel) == null ? void 0 : y[e.name];
2165
- }
2166
- ), ne(
2167
- () => {
2168
- var g;
2169
- return (g = e.errors) == null ? void 0 : g[e.name];
2170
- },
2171
- (g, b) => {
2172
- t.errors = e.errors;
2173
- }
2174
- ), {
2175
- state: t,
2176
- updateValue: r,
2177
- addMultipleEntry: u,
2178
- removeMultipleEntry: f,
2179
- removeMultipleEntries: p,
2180
- BoneHasMultipleHandling: ss,
2181
- multipleBonePressEnter: v,
2182
- handleDragStart: l,
2183
- handleDragOver: s,
2184
- handleDrop: o,
2185
- setStateProperties: a,
2186
- resetStateProperties: i
2187
- };
2188
- }
2189
- });
2190
- const ke = {
2191
- props: {
2192
- size: {
2193
- type: String,
2194
- default: "2"
2195
- },
2196
- active: {
2197
- type: Boolean,
2198
- default: !0
2199
- },
2200
- logo: {
2201
- default: "logo-cube.svg",
2202
- type: String
2203
- },
2204
- color: {
2205
- default: "var(--sl-color-primary-500)",
2206
- type: String
2207
- }
2208
- },
2209
- setup(e, n) {
2210
- const t = w({
2211
- trackWidth: S(() => `${e.size / 30}rem`),
2212
- outerSize: S(() => `calc(${e.size}rem + ${t.trackWidth})`),
2213
- spinnerSize: S(() => `${e.size}rem`),
2214
- logoSize: S(() => `calc(${e.size}rem - ${t.trackWidth} * 10)`),
2215
- shadow: S(() => `0px 0px ${e.size / 6}rem 0 color-mix(in hsl, var(--sl-color-neutral-1000), 80% transparent)`)
2216
- });
2217
- return { state: t };
2218
- }
2219
- }, Fe = () => {
2220
- rt((e) => ({
2221
- "93747d92": e.state.outerSize,
2222
- "284424e5": e.state.shadow,
2223
- "6485ca5e": e.state.logoSize,
2224
- "5d833915": e.state.spinnerSize,
2225
- d5b3feca: e.color,
2226
- "2050b700": e.state.trackWidth
2227
- }));
2228
- }, Ke = ke.setup;
2229
- ke.setup = Ke ? (e, n) => (Fe(), Ke(e, n)) : Fe;
2230
- const ls = (e) => (M("data-v-46c45785"), e = e(), z(), e), rs = {
2231
- key: 0,
2232
- class: "loading"
2233
- }, os = /* @__PURE__ */ ls(() => /* @__PURE__ */ d("sl-spinner", { class: "loader" }, null, -1)), is = { class: "logo" }, us = ["src"];
2234
- function ds(e, n, t, l, s, o) {
2235
- return m(), T(ot, null, {
2236
- default: it(() => [
2237
- t.active ? (m(), h("div", rs, [
2238
- os,
2239
- d("div", is, [
2240
- d("sl-icon", { src: t.logo }, null, 8, us)
2241
- ])
2242
- ])) : _("", !0)
2243
- ]),
2244
- _: 1
2245
- });
2246
- }
2247
- const cs = /* @__PURE__ */ I(ke, [["render", ds], ["__scopeId", "data-v-46c45785"]]), re = ye("cartstore", () => {
2248
- const e = new gt({
2249
- host_url: window.location.origin === "http://localhost:8081" ? "http://localhost:8080" : window.location.origin
2250
- }), n = w({
2251
- basketRootNode: {},
2252
- whishlistRootNodes: [],
2253
- children: {},
2254
- structure: { address: {}, cart: {} }
2255
- });
2256
- async function t() {
2257
- await s();
2258
- }
2259
- async function l(u) {
2260
- return await e.cart_list({ cart_key: u });
2261
- }
2262
- async function s() {
2263
- (await e.cart_list()).forEach((f) => {
2264
- f.is_root_node && (f.cart_type === "basket" ? n.basketRootNode = f : n.whishlistRootNodes.push(f));
2265
- });
2266
- }
2267
- async function o(u, f) {
2268
- let p = await e.article_add({
2269
- article_key: u,
2270
- parent_cart_key: f
2271
- });
2272
- console.log("addToCart", p);
2273
- }
2274
- async function a(u, f) {
2275
- let p = await e.article_view({
2276
- article_key: u,
2277
- parent_cart_key: f
2278
- });
2279
- console.log("getArticleView", p);
2280
- }
2281
- async function i(u, f) {
2282
- let p = await e.article_remove({
2283
- article_key: u,
2284
- parent_cart_key: f
2285
- });
2286
- console.log("remove Resp", p);
2287
- }
2288
- async function r(u, f, p) {
2289
- let v = await e.article_update({
2290
- article_key: u,
2291
- parent_cart_key: f,
2292
- quantity: p,
2293
- quantity_mode: "replace"
2294
- });
2295
- console.log("update Resp", v);
2296
- }
2297
- async function c() {
2298
- let u = await e.address_structure();
2299
- n.structure.address = u.addSkel, console.log("adress add", n.structure.address);
2300
- }
2301
- return {
2302
- state: n,
2303
- addToCart: o,
2304
- getArticleView: a,
2305
- removeItem: i,
2306
- updateItem: r,
2307
- init: t,
2308
- getAdressStructure: c,
2309
- getChildren: l
2310
- };
2311
- }), fs = {
2312
- __name: "CartNode",
2313
- props: {
2314
- node: { type: Object, required: !0 }
2315
- },
2316
- setup(e) {
2317
- return w({}), (n, t) => (m(), h("pre", null, B(e.node.name), 1));
2318
- }
2319
- }, me = (e) => (M("data-v-8a06be60"), e = e(), z(), e), ms = {
2320
- horizontal: "",
2321
- class: "viur-shop-cart-leaf"
2322
- }, gs = ["src"], hs = { class: "viur-shop-cart-leaf-headline headline" }, bs = { class: "viur-shop-cart-leaf-artno" }, vs = ["innerHTML"], ps = { class: "viur-shop-cart-leaf-actions" }, ys = /* @__PURE__ */ me(() => /* @__PURE__ */ d("sl-button", {
2323
- size: "small",
2324
- outline: "",
2325
- class: "viur-shop-cart-leaf-add-to-favourites-btn",
2326
- variant: "primary",
2327
- title: "Add to favourites"
2328
- }, [
2329
- /* @__PURE__ */ d("sl-icon", {
2330
- name: "heart",
2331
- slot: "prefix"
2332
- })
2333
- ], -1)), $s = /* @__PURE__ */ me(() => /* @__PURE__ */ d("sl-icon", {
2334
- name: "trash",
2335
- slot: "prefix"
2336
- }, null, -1)), Ss = [
2337
- $s
2338
- ], ks = { class: "viur-shop-cart-leaf-quantity" }, _s = { class: "viur-shop-cart-leaf-unitprice" }, ws = /* @__PURE__ */ me(() => /* @__PURE__ */ d("div", { class: "viur-shop-cart-leaf-label" }, "Stückpreis", -1)), Es = ["value"], As = { class: "viur-shop-cart-leaf-price" }, Is = /* @__PURE__ */ me(() => /* @__PURE__ */ d("div", { class: "viur-shop-cart-leaf-label" }, "Gesamtpreis", -1)), Cs = ["value"], Os = {
2339
- __name: "CartLeaf",
2340
- props: {
2341
- leaf: { type: Object, required: !0 },
2342
- node: { type: Object, required: !0 }
2343
- },
2344
- emits: ["updateItem", "removeItem"],
2345
- setup(e, { emit: n }) {
2346
- const t = e, l = n, s = w({
2347
- leaf: {}
2348
- });
2349
- function o(r) {
2350
- return r !== void 0 ? mt.downloadUrlFor(r) : "https://images.unsplash.com/photo-1559209172-0ff8f6d49ff7?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=500&q=80";
2351
- }
2352
- function a(r, c, u, f) {
2353
- l("updateItem", {
2354
- item: r,
2355
- articleKey: c,
2356
- node: u,
2357
- quantity: f
2358
- });
2359
- }
2360
- function i(r, c, u) {
2361
- l("removeItem", { item: r, articleKey: c, node: u });
2362
- }
2363
- return x(() => {
2364
- s.leaf = t.leaf;
2365
- }), (r, c) => (m(), h("sl-card", ms, [
2366
- d("img", {
2367
- class: "viur-shop-cart-leaf-image",
2368
- slot: "image",
2369
- src: o(s.leaf.shop_image ? s.leaf.shop_image : void 0)
2370
- }, null, 8, gs),
2371
- d("h4", hs, B(s.leaf.shop_name), 1),
2372
- d("h5", bs, B(s.leaf.shop_art_no_or_gtin), 1),
2373
- d("div", {
2374
- class: "viur-shop-cart-leaf-description",
2375
- innerHTML: s.leaf.shop_description
2376
- }, null, 8, vs),
2377
- d("div", ps, [
2378
- ys,
2379
- d("sl-button", {
2380
- size: "small",
2381
- outline: "",
2382
- class: "viur-shop-cart-leaf-delete-btn",
2383
- variant: "primary",
2384
- title: "Remove from cart",
2385
- onClick: c[0] || (c[0] = (u) => i(s.leaf, s.leaf.article.dest.key, e.node))
2386
- }, Ss)
2387
- ]),
2388
- d("div", ks, [
2389
- Z(d("sl-input", {
2390
- class: "viur-shop-cart-leaf-value viur-shop-cart-leaf-value--quantity",
2391
- type: "number",
2392
- label: "Anzahl",
2393
- placeholder: "Number",
2394
- min: "0",
2395
- "onUpdate:modelValue": c[1] || (c[1] = (u) => s.leaf.quantity = u),
2396
- onInput: c[2] || (c[2] = (u) => a(
2397
- s.leaf,
2398
- s.leaf.article.dest.key,
2399
- e.node,
2400
- s.leaf.quantity
2401
- ))
2402
- }, null, 544), [
2403
- [se, s.leaf.quantity]
2404
- ])
2405
- ]),
2406
- d("div", _s, [
2407
- ws,
2408
- d("sl-format-number", {
2409
- class: "viur-shop-cart-leaf-value viur-shop-cart-leaf-value--unitprice",
2410
- lang: "de",
2411
- type: "currency",
2412
- currency: "EUR",
2413
- value: e.leaf.price.retail
2414
- }, null, 8, Es)
2415
- ]),
2416
- d("div", As, [
2417
- Is,
2418
- d("sl-format-number", {
2419
- class: "viur-shop-cart-leaf-value viur-shop-cart-leaf-value--price",
2420
- lang: "de",
2421
- type: "currency",
2422
- currency: "EUR",
2423
- value: e.leaf.price.retail * e.leaf.quantity
2424
- }, null, 8, Cs)
2425
- ])
2426
- ]));
2427
- }
2428
- }, js = /* @__PURE__ */ I(Os, [["__scopeId", "data-v-8a06be60"]]), Ye = (e) => (M("data-v-c292acd9"), e = e(), z(), e), Bs = { key: 0 }, Ds = /* @__PURE__ */ Ye(() => /* @__PURE__ */ d("p", null, "Möchten Sie den Artikel wirklich aus dem Warenkorb entfernen?", -1)), Vs = {
2429
- class: "footer-wrap",
2430
- slot: "footer"
2431
- }, Ns = { class: "viur-shop-cart-node" }, Rs = /* @__PURE__ */ Ye(() => /* @__PURE__ */ d("div", { class: "viur-shop-cart-mobile-footer" }, [
2432
- /* @__PURE__ */ d("sl-button", {
2433
- variant: "primary",
2434
- size: "medium"
2435
- }, " Jetzt Bestellen ")
2436
- ], -1)), Ls = {
2437
- __name: "CartView",
2438
- props: {
2439
- mode: { type: String, default: "basket" },
2440
- cartKey: { type: String, required: !0 },
2441
- sidebar: { type: Boolean, default: !0 }
2442
- },
2443
- setup(e) {
2444
- const n = e, t = re(), l = q(null), s = w({
2445
- itemsIsInit: S(() => !0),
2446
- images: {},
2447
- currentItem: {},
2448
- currentNode: {},
2449
- nodes: [],
2450
- leaves: {}
2451
- });
2452
- S(() => n.mode === "basket" ? t.state.basketRootNode.key : n.cartKey);
2453
- async function o() {
2454
- await t.updateItem(
2455
- s.currentItem.article.dest.key,
2456
- s.currentNode.key,
2457
- 0
2458
- ), await c(), l.value.hide();
2459
- }
2460
- async function a(f) {
2461
- console.log("updateItem :", f), f.quantity === 0 ? (l.value.show(), s.currentItem = f.item, s.currentNode = f.node) : (await t.updateItem(f.articleKey, f.node.key, f.quantity), await t.init());
2462
- }
2463
- function i(f) {
2464
- console.log("removeItem :", f), l.value.show(), s.currentItem = f.item, s.currentNode = f.node;
2465
- }
2466
- async function r() {
2467
- s.leaves[s.currentNode.key].forEach((f) => {
2468
- f.key === s.currentItem.key && (f.quantity = 1);
2469
- }), s.currentItem = {}, s.currentNode = {};
2470
- }
2471
- async function c() {
2472
- s.nodes = [], s.leaves = {}, await t.init(), await u();
2473
- }
2474
- async function u(f = n.cartKey) {
2475
- console.log("debug getChildren parentKey from comp: ", f);
2476
- const p = await t.getChildren(f);
2477
- console.log("getChildren children: ", p), p.forEach(async (v) => {
2478
- v.skel_type === "node" ? (s.nodes.push(v), await u(v.key)) : (Object.keys(s.leaves).includes(f) || (s.leaves[f] = []), s.leaves[f].push(v));
2479
- });
2480
- }
2481
- return x(async () => {
2482
- await t.init(), await u(), n.mode === "basket" && s.nodes.push(t.state.basketRootNode), console.log("state.nodes test", s.nodes), console.log("state.leaves", s.leaves);
2483
- }), (f, p) => e.cartKey.length ? (m(), h(E, { key: 1 }, [
2484
- d("sl-dialog", {
2485
- ref_key: "confirm",
2486
- ref: l,
2487
- onSlHide: r
2488
- }, [
2489
- Ds,
2490
- d("div", Vs, [
2491
- d("sl-button", {
2492
- variant: "danger",
2493
- onClick: p[0] || (p[0] = (v) => l.value.hide()),
2494
- size: "medium"
2495
- }, " Abbrechen "),
2496
- d("sl-button", {
2497
- variant: "success",
2498
- onClick: o,
2499
- size: "medium"
2500
- }, " Aus Warenkorb entfernen ")
2501
- ])
2502
- ], 544),
2503
- (m(!0), h(E, null, U(s.nodes, (v) => (m(), h("div", Ns, [
2504
- Object.keys(s.leaves).includes(v.key) ? (m(), h(E, { key: 0 }, [
2505
- ut(fs, { node: v }, null, 8, ["node"]),
2506
- (m(!0), h(E, null, U(s.leaves[v.key], (k) => (m(), T(js, {
2507
- key: k.key,
2508
- leaf: k,
2509
- node: v,
2510
- onRemoveItem: i,
2511
- onUpdateItem: a
2512
- }, null, 8, ["leaf", "node"]))), 128))
2513
- ], 64)) : _("", !0)
2514
- ]))), 256)),
2515
- Rs
2516
- ], 64)) : (m(), h("sl-spinner", Bs));
2517
- }
2518
- }, _e = /* @__PURE__ */ I(Ls, [["__scopeId", "data-v-c292acd9"]]), Us = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2519
- __proto__: null,
2520
- default: _e
2521
- }, Symbol.toStringTag, { value: "Module" })), J = (e) => (M("data-v-b7b745be"), e = e(), z(), e), Ts = {
2522
- key: 1,
2523
- class: "list"
2524
- }, Ps = /* @__PURE__ */ J(() => /* @__PURE__ */ d("h2", { class: "viur-shop-cart-headline headline" }, "Bestellung prüfen", -1)), Ms = /* @__PURE__ */ J(() => /* @__PURE__ */ d("br", null, null, -1)), Ws = /* @__PURE__ */ J(() => /* @__PURE__ */ d("div", { class: "viur-shop-cart-address-wrap" }, [
2525
- /* @__PURE__ */ d("div", { class: "viur-shop-cart-address" }, [
2526
- /* @__PURE__ */ d("div", { class: "viur-shop-cart-address-headline" }, [
2527
- /* @__PURE__ */ j(" Versandadresse "),
2528
- /* @__PURE__ */ d("sl-button", {
2529
- outline: "",
2530
- size: "small"
2531
- }, [
2532
- /* @__PURE__ */ d("sl-icon", {
2533
- name: "pencil",
2534
- slot: "prefix"
2535
- })
2536
- ])
2537
- ]),
2538
- /* @__PURE__ */ j(" Roland Brose"),
2539
- /* @__PURE__ */ d("br"),
2540
- /* @__PURE__ */ j(" Speicherstraße 33"),
2541
- /* @__PURE__ */ d("br"),
2542
- /* @__PURE__ */ j(" 44147 Dortmund, DE"),
2543
- /* @__PURE__ */ d("br"),
2544
- /* @__PURE__ */ d("br"),
2545
- /* @__PURE__ */ j(" rb@mausbrand.de"),
2546
- /* @__PURE__ */ d("br"),
2547
- /* @__PURE__ */ j(" 0231 21 34 68 90 ")
2548
- ]),
2549
- /* @__PURE__ */ d("div", { class: "viur-shop-cart-address" }, [
2550
- /* @__PURE__ */ d("div", { class: "viur-shop-cart-address-headline" }, [
2551
- /* @__PURE__ */ j(" Rechnungsadresse "),
2552
- /* @__PURE__ */ d("sl-button", {
2553
- outline: "",
2554
- size: "small"
2555
- }, [
2556
- /* @__PURE__ */ d("sl-icon", {
2557
- name: "pencil",
2558
- slot: "prefix"
2559
- })
2560
- ])
2561
- ]),
2562
- /* @__PURE__ */ j(" Roland Brose"),
2563
- /* @__PURE__ */ d("br"),
2564
- /* @__PURE__ */ j(" Speicherstraße 33"),
2565
- /* @__PURE__ */ d("br"),
2566
- /* @__PURE__ */ j(" 44147 Dortmund, DE"),
2567
- /* @__PURE__ */ d("br"),
2568
- /* @__PURE__ */ d("br"),
2569
- /* @__PURE__ */ j(" rb@mausbrand.de"),
2570
- /* @__PURE__ */ d("br"),
2571
- /* @__PURE__ */ j(" 0231 21 34 68 90 ")
2572
- ])
2573
- ], -1)), zs = /* @__PURE__ */ J(() => /* @__PURE__ */ d("div", { class: "viur-shop-cart-payment" }, [
2574
- /* @__PURE__ */ d("div", { class: "viur-shop-cart-payment-method" }, [
2575
- /* @__PURE__ */ d("span", null, "Zahlungsmethode:"),
2576
- /* @__PURE__ */ j(" Paypal ")
2577
- ]),
2578
- /* @__PURE__ */ d("sl-button", {
2579
- outline: "",
2580
- size: "small"
2581
- }, [
2582
- /* @__PURE__ */ d("sl-icon", {
2583
- name: "pencil",
2584
- slot: "prefix"
2585
- })
2586
- ])
2587
- ], -1)), qs = /* @__PURE__ */ J(() => /* @__PURE__ */ d("h2", { class: "viur-shop-cart-headline headline" }, "Warenkorb", -1)), Fs = /* @__PURE__ */ J(() => /* @__PURE__ */ d("br", null, null, -1)), Ks = /* @__PURE__ */ J(() => /* @__PURE__ */ d("h2", { class: "viur-shop-cart-sidebar-headline headline" }, "Jetzt Bestellen", -1)), Hs = /* @__PURE__ */ J(() => /* @__PURE__ */ d("br", null, null, -1)), Gs = { class: "viur-shop-cart-sidebar-btn-wrap" }, Zs = ["variant", "disabled"], Js = {
2588
- __name: "ConfirmView",
2589
- setup(e) {
2590
- const n = re(), t = w({
2591
- cartIsInit: S(() => !0),
2592
- itemsIsInit: S(() => {
2593
- var s;
2594
- return !!((s = n.state) != null && s.carts[n.state.basket].items);
2595
- }),
2596
- images: {},
2597
- showOrderButton: !1
2598
- });
2599
- function l(s) {
2600
- s.target.checked && (t.showOrderButton = !0), s.target.checked || (t.showOrderButton = !1);
2601
- }
2602
- return x(async () => {
2603
- await n.init();
2604
- }), (s, o) => t.cartIsInit ? (m(), h("div", Ts, [
2605
- Ps,
2606
- Ms,
2607
- Ws,
2608
- zs,
2609
- qs,
2610
- Fs,
2611
- (m(), T(dt, { to: "#order_sidebar" }, [
2612
- Ks,
2613
- Hs,
2614
- d("sl-checkbox", { onSlChange: l }, " Ich akzeptiere die geltenden AGBs und Datenschutzbestimmungen ", 32),
2615
- d("div", Gs, [
2616
- d("sl-button", {
2617
- variant: t.showOrderButton ? "info" : "disabled",
2618
- size: "small",
2619
- disabled: !t.showOrderButton
2620
- }, " Zahlungspflichtig bestellen ", 8, Zs)
2621
- ])
2622
- ]))
2623
- ])) : (m(), T(cs, { key: 0 }));
2624
- }
2625
- }, we = /* @__PURE__ */ I(Js, [["__scopeId", "data-v-b7b745be"]]), Qs = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2626
- __proto__: null,
2627
- default: we
2628
- }, Symbol.toStringTag, { value: "Module" })), Ys = (e) => (M("data-v-0e63188d"), e = e(), z(), e), Xs = { class: "bind viur-shop-wrap" }, xs = ["panel", "disabled"], el = { class: "viur-shop-order-step" }, tl = ["name", "library"], nl = { class: "viur-shop-order-status-text" }, al = {
2629
- key: 0,
2630
- name: "chevron-right",
2631
- class: "viur-shop-order-tab-check"
2632
- }, sl = ["name"], ll = ["onClick"], rl = ["onClick"], ol = /* @__PURE__ */ Ys(() => /* @__PURE__ */ d("div", { class: "viur-shop-sidebar-wrap" }, [
2633
- /* @__PURE__ */ d("div", {
2634
- class: "viur-shop-sidebar",
2635
- id: "order_sidebar"
2636
- })
2637
- ], -1)), il = {
2638
- __name: "OrderView",
2639
- props: {
2640
- tabs: {
2641
- type: Object,
2642
- required: !0
2643
- }
2644
- },
2645
- emits: ["tabChange"],
2646
- setup(e, { emit: n }) {
2647
- const t = e, l = n, s = w({
2648
- tabNames: S(() => a(t.tabs)),
2649
- isFirstTab: (u) => u === 0
2650
- }), o = q(null);
2651
- function a(u) {
2652
- let f = [], p = [];
2653
- for (const v in u)
2654
- u[v].position ? f.push([v, u[v].position]) : f.push([v, 0]);
2655
- return f.sort((v, k) => v[1] - k[1]), f.forEach((v) => {
2656
- p.push(v[0]);
2657
- }), p;
2658
- }
2659
- function i(u) {
2660
- l("tabChange", u);
2661
- }
2662
- function r(u) {
2663
- o.value.show(u);
2664
- }
2665
- function c(u) {
2666
- o.value.show(u);
2667
- }
2668
- return (u, f) => (m(), h("div", Xs, [
2669
- d("sl-tab-group", {
2670
- class: "viur-shop-order-tabgroup",
2671
- noScrollControls: "",
2672
- onSlTabShow: i,
2673
- ref_key: "tabGroup",
2674
- ref: o
2675
- }, [
2676
- (m(!0), h(E, null, U(s.tabNames, (p, v) => (m(), h("sl-tab", {
2677
- class: "viur-shop-order-tab",
2678
- slot: "nav",
2679
- panel: p,
2680
- key: p,
2681
- disabled: e.tabs[p].disabled
2682
- }, [
2683
- d("div", el, [
2684
- d("sl-icon", {
2685
- class: "viur-shop-order-step-icon",
2686
- name: e.tabs[p].icon.name,
2687
- library: e.tabs[p].icon.library
2688
- }, null, 8, tl),
2689
- d("div", nl, B(v + 1) + ". " + B(e.tabs[p].displayName), 1)
2690
- ]),
2691
- v < s.tabNames.length - 1 ? (m(), h("sl-icon", al)) : _("", !0)
2692
- ], 8, xs))), 128)),
2693
- (m(!0), h(E, null, U(s.tabNames, (p, v) => (m(), h("sl-tab-panel", {
2694
- class: "viur-shop-order-tab-panel",
2695
- name: p,
2696
- key: p
2697
- }, [
2698
- (m(), T(ct(e.tabs[p].component), ft({ ref_for: !0 }, e.tabs[p].props ? e.tabs[p].props : ""), null, 16)),
2699
- v !== s.tabNames.length - 1 ? (m(), h("div", {
2700
- key: 0,
2701
- class: pe(["viur-shop-form-footer", { "flex-end": s.isFirstTab(v) }])
2702
- }, [
2703
- Z(d("sl-button", {
2704
- type: "submit",
2705
- onClick: (k) => r(s.tabNames[v - 1])
2706
- }, " Zurück ", 8, ll), [
2707
- [be, v !== 0]
2708
- ]),
2709
- d("sl-button", {
2710
- type: "submit",
2711
- variant: "primary",
2712
- onClick: (k) => c(s.tabNames[v + 1])
2713
- }, " Weiter ", 8, rl)
2714
- ], 2)) : _("", !0)
2715
- ], 8, sl))), 128))
2716
- ], 544),
2717
- ol
2718
- ]));
2719
- }
2720
- }, ul = /* @__PURE__ */ I(il, [["__scopeId", "data-v-0e63188d"]]), dl = {}, ge = (e) => (M("data-v-36ccc280"), e = e(), z(), e), cl = { class: "bind" }, fl = /* @__PURE__ */ ge(() => /* @__PURE__ */ d("h1", { class: "headline" }, "Vielen Dank für Ihre Bestellung", -1)), ml = /* @__PURE__ */ ge(() => /* @__PURE__ */ d("br", null, null, -1)), gl = /* @__PURE__ */ ge(() => /* @__PURE__ */ d("p", { class: "paragraph" }, [
2721
- /* @__PURE__ */ d("strong", null, "Ihre Bestellnummer:"),
2722
- /* @__PURE__ */ j(" 123345670 ")
2723
- ], -1)), hl = /* @__PURE__ */ ge(() => /* @__PURE__ */ d("p", { class: "paragraph" }, [
2724
- /* @__PURE__ */ j(" Wir haben Ihre Bestellung erhalten und werden diese schenllstmöglich bearbeiten."),
2725
- /* @__PURE__ */ d("br"),
2726
- /* @__PURE__ */ j(" Sie erhalten in wenigen Minuten eine Bestätigung per E-Mail. "),
2727
- /* @__PURE__ */ d("div", { class: "btn-wrap" }, [
2728
- /* @__PURE__ */ d("sl-button", { size: "medium" }, " Zur Startseite "),
2729
- /* @__PURE__ */ d("sl-button", {
2730
- variant: "primary",
2731
- size: "medium"
2732
- }, " Weiter Einkaufen ")
2733
- ])
2734
- ], -1)), bl = [
2735
- fl,
2736
- ml,
2737
- gl,
2738
- hl
2739
- ];
2740
- function vl(e, n) {
2741
- return m(), h("div", cl, bl);
2742
- }
2743
- const pl = /* @__PURE__ */ I(dl, [["render", vl], ["__scopeId", "data-v-36ccc280"]]), Ee = (e) => (M("data-v-b68a2bfa"), e = e(), z(), e), yl = /* @__PURE__ */ Ee(() => /* @__PURE__ */ d("h2", { class: "viur-shop-form-headline headline" }, "Nutzterdaten", -1)), $l = /* @__PURE__ */ Ee(() => /* @__PURE__ */ d("h2", { class: "viur-shop-form-headline headline" }, "Lieferadresse", -1)), Sl = { key: 0 }, kl = /* @__PURE__ */ Ee(() => /* @__PURE__ */ d("h2", { class: "viur-shop-form-headline headline" }, "Rechnungsadresse", -1)), _l = {
2744
- __name: "UserInformation",
2745
- props: {
2746
- mode: { type: String, default: "form" },
2747
- conditions: { type: Function }
2748
- },
2749
- setup(e) {
2750
- const n = re(), t = w({
2751
- formValues: {},
2752
- requiredFieldsFilled: S(() => {
2753
- if (t.isCustomAdress)
2754
- return Object.keys(t.formValues).includes("city") && Object.keys(t.formValues).includes("street") && Object.keys(t.formValues).includes("billing.city") && Object.keys(t.formValues).includes("billing.street") && Object.keys(t.formValues).includes("email") && Object.keys(t.formValues).includes("firstname") && Object.keys(t.formValues).includes("lastname");
2755
- if (!t.isCustomAdress)
2756
- return Object.keys(t.formValues).includes("city") && Object.keys(t.formValues).includes("street") && Object.keys(t.formValues).includes("email") && Object.keys(t.formValues).includes("firstname") && Object.keys(t.formValues).includes("lastname");
2757
- }),
2758
- isCustomAdress: !1,
2759
- addSkel: null,
2760
- errors: {}
2761
- });
2762
- function l(a) {
2763
- a.target.checked && (t.isCustomAdress = !1), a.target.checked || (t.isCustomAdress = !0);
2764
- }
2765
- function s(a, i) {
2766
- for (const [r, c] of Object.entries(i.value[0]))
2767
- t.formValues[r] = c;
2768
- }
2769
- function o(a) {
2770
- let i = {};
2771
- return Array.isArray(a) ? (a.forEach((r) => {
2772
- let c = r[0], u = r[1];
2773
- i[c] = u;
2774
- }), console.log("output", i), i) : a;
2775
- }
2776
- return ne(t.formValues, (a) => {
2777
- Object.entries(a).forEach(([i, r]) => {
2778
- r === "" && delete t.formValues[i];
2779
- });
2780
- }), x(async () => {
2781
- await n.getAdressStructure(), t.addSkel = o(n.state.structure.address);
2782
- }), (a, i) => {
2783
- const r = ae("bone");
2784
- return m(), h(E, null, [
2785
- d("div", null, [
2786
- j(" test "),
2787
- yl,
2788
- (m(!0), h(E, null, U(t.addSkel, (c, u) => (m(), h(E, { key: u }, [
2789
- j(B(u) + " ", 1),
2790
- c.visible && c.params.group === "Customer Info" ? (m(), T(r, {
2791
- key: 0,
2792
- is: K(X)(c.type),
2793
- name: u,
2794
- structure: o(t.addSkel),
2795
- errors: t.errors[u] ? t.errors[u] : [],
2796
- skel: t.formValues,
2797
- onChange: (f) => s(u, f),
2798
- class: "viur-shop-form-grid-w-2"
2799
- }, null, 8, ["is", "name", "structure", "errors", "skel", "onChange"])) : _("", !0)
2800
- ], 64))), 128))
2801
- ]),
2802
- d("div", null, [
2803
- $l,
2804
- (m(!0), h(E, null, U(t.addSkel, (c, u) => (m(), h(E, { key: u }, [
2805
- c.visible && c.params.group === "Customer Address" ? (m(), T(r, {
2806
- key: 0,
2807
- is: K(X)(c.type),
2808
- name: u,
2809
- structure: o(t.addSkel),
2810
- errors: t.errors[u] ? t.errors[u] : [],
2811
- skel: t.formValues,
2812
- onChange: (f) => s(u, f)
2813
- }, null, 8, ["is", "name", "structure", "errors", "skel", "onChange"])) : _("", !0)
2814
- ], 64))), 128))
2815
- ]),
2816
- t.isCustomAdress ? (m(), h("div", Sl, [
2817
- kl,
2818
- (m(!0), h(E, null, U(t.addSkel, (c, u) => (m(), h(E, { key: u }, [
2819
- c.visible && c.params.group === "Customer Address" ? (m(), T(r, {
2820
- key: 0,
2821
- is: K(X)(c.type),
2822
- name: u,
2823
- structure: o(t.addSkel),
2824
- errors: t.errors[u] ? t.errors[u] : [],
2825
- skel: t.formValues,
2826
- onChange: (f) => s(u, f)
2827
- }, null, 8, ["is", "name", "structure", "errors", "skel", "onChange"])) : _("", !0)
2828
- ], 64))), 128))
2829
- ])) : _("", !0),
2830
- d("sl-checkbox", {
2831
- onSlChange: l,
2832
- checked: ""
2833
- }, " Rechnungsadresse wie Lieferadresse ", 32)
2834
- ], 64);
2835
- };
2836
- }
2837
- }, wl = /* @__PURE__ */ I(_l, [["__scopeId", "data-v-b68a2bfa"]]), ee = (e) => (M("data-v-a4accf28"), e = e(), z(), e), El = /* @__PURE__ */ ee(() => /* @__PURE__ */ d("h2", { class: "viur-shop-form-headline headline" }, "Nutzterdaten", -1)), Al = /* @__PURE__ */ ee(() => /* @__PURE__ */ d("h2", { class: "viur-shop-form-headline headline" }, "Lieferadresse", -1)), Il = ["onSlChange", "onSlClear", "label"], Cl = ["value"], Ol = { key: 0 }, jl = /* @__PURE__ */ ee(() => /* @__PURE__ */ d("h2", { class: "viur-shop-form-headline headline" }, "Rechnungsadresse", -1)), Bl = /* @__PURE__ */ ee(() => /* @__PURE__ */ d("sl-icon", {
2838
- name: "x-lg",
2839
- slot: "prefix"
2840
- }, null, -1)), Dl = [
2841
- Bl
2842
- ], Vl = /* @__PURE__ */ ee(() => /* @__PURE__ */ d("sl-icon", {
2843
- name: "plus-lg",
2844
- slot: "prefix"
2845
- }, null, -1)), Nl = /* @__PURE__ */ ee(() => /* @__PURE__ */ d("sl-icon", {
2846
- slot: "icon",
2847
- name: "exclamation-triangle"
2848
- }, null, -1)), Rl = /* @__PURE__ */ ee(() => /* @__PURE__ */ d("br", null, null, -1)), Ll = {
2849
- __name: "UserInfoMulti",
2850
- props: {
2851
- mode: { type: String, default: "form" }
2852
- },
2853
- setup(e) {
2854
- const n = re(), t = w({
2855
- formValues: {},
2856
- requiredFieldsFilled: S(() => {
2857
- if (t.isCustomAdress)
2858
- return Object.keys(t.formValues).includes("city") && Object.keys(t.formValues).includes("street") && Object.keys(t.formValues).includes("billing.city") && Object.keys(t.formValues).includes("billing.street") && Object.keys(t.formValues).includes("email") && Object.keys(t.formValues).includes("firstname") && Object.keys(t.formValues).includes("lastname");
2859
- if (!t.isCustomAdress)
2860
- return Object.keys(t.formValues).includes("city") && Object.keys(t.formValues).includes("street") && Object.keys(t.formValues).includes("email") && Object.keys(t.formValues).includes("firstname") && Object.keys(t.formValues).includes("lastname");
2861
- }),
2862
- isCustomAdress: !1,
2863
- shippingAdressAmount: 1,
2864
- maxShippingAdress: S(
2865
- () => Object.keys(n.state.carts).length + 2
2866
- ),
2867
- amountAlert: { title: "", msg: "" },
2868
- items: null,
2869
- addSkel: null,
2870
- errors: {},
2871
- selectedItem: {},
2872
- isInit: S(() => !!n.state.carts[n.state.basket])
2873
- }), l = q(null), s = q(null);
2874
- function o(p) {
2875
- p.target.checked && (t.isCustomAdress = !1), p.target.checked || (t.isCustomAdress = !0);
2876
- }
2877
- function a() {
2878
- if (t.shippingAdressAmount === t.maxShippingAdress) {
2879
- t.amountAlert.title = "Zu viele Lieferadressen", t.amountAlert.msg = `Sie können nur maximal: "${t.maxShippingAdress}" Lieferadressen verwenden.`, s.value.show();
2880
- return;
2881
- }
2882
- t.shippingAdressAmount += 1;
2883
- }
2884
- function i(p, v) {
2885
- for (const [k, g] of Object.entries(v.value[0]))
2886
- t.formValues[k] = g;
2887
- }
2888
- function r() {
2889
- if (t.shippingAdressAmount === 1) {
2890
- t.amountAlert.title = "Zu wenig Lieferadressen", t.amountAlert.msg = "Mindestens eine Lieferadresse muss angegeben werden.", s.value.show();
2891
- return;
2892
- }
2893
- t.shippingAdressAmount -= 1;
2894
- }
2895
- function c(p, v) {
2896
- if (console.log(p.target.value), !p.target.value.length) {
2897
- u();
2898
- return;
2899
- }
2900
- t.selectedItem[v] = p.target.value, t.isItemSelected = !0;
2901
- }
2902
- function u(p, v) {
2903
- console.log("clearing..."), delete t.selectedItem[v], t.isItemSelected = !1;
2904
- }
2905
- function f(p) {
2906
- let v = {};
2907
- return Array.isArray(p) ? (p.forEach((k) => {
2908
- let g = k[0], b = k[1];
2909
- v[g] = b;
2910
- }), v) : p;
2911
- }
2912
- return ne(t.formValues, (p) => {
2913
- Object.entries(p).forEach(([v, k]) => {
2914
- k === "" && delete t.formValues[v];
2915
- });
2916
- }), x(async () => {
2917
- await n.getAdressStructure(), t.addSkel = f(n.state.structure.address);
2918
- }), (p, v) => {
2919
- const k = ae("bone");
2920
- return m(), h(E, null, [
2921
- d("div", null, [
2922
- El,
2923
- (m(!0), h(E, null, U(t.addSkel, (g, b) => (m(), h(E, { key: b }, [
2924
- g.visible && g.params.group === "Customer Info" ? (m(), T(k, {
2925
- key: 0,
2926
- is: K(X)(g.type),
2927
- name: b,
2928
- structure: f(t.addSkel),
2929
- errors: t.errors[b] ? t.errors[b] : [],
2930
- skel: t.formValues,
2931
- onChange: (y) => i(b, y),
2932
- class: "viur-shop-form-grid-w-2"
2933
- }, null, 8, ["is", "name", "structure", "errors", "skel", "onChange"])) : _("", !0)
2934
- ], 64))), 128))
2935
- ]),
2936
- Al,
2937
- (m(!0), h(E, null, U(t.shippingAdressAmount, (g) => (m(), h("div", { key: g }, [
2938
- d("sl-select", {
2939
- clearable: "",
2940
- ref_for: !0,
2941
- ref_key: "itemSelection",
2942
- ref: l,
2943
- onSlChange: (b) => c(b, g),
2944
- onSlClear: (b) => u(b, g),
2945
- label: t.selectedItem[g] ? K(n).state.carts[t.selectedItem[g]].info.name : "Warenkorb für Adresse wählen.",
2946
- class: "grid-w-4"
2947
- }, [
2948
- (m(!0), h(E, null, U(K(n).state.carts, (b, y) => (m(), h("sl-option", { value: y }, B(b.info.name), 9, Cl))), 256))
2949
- ], 40, Il),
2950
- (m(!0), h(E, null, U(t.addSkel, (b, y) => (m(), h(E, { key: y }, [
2951
- b.visible && b.params.group === "Customer Address" ? (m(), T(k, {
2952
- key: 0,
2953
- is: K(X)(b.type),
2954
- name: y,
2955
- structure: f(t.addSkel),
2956
- errors: t.errors[y] ? t.errors[y] : [],
2957
- skel: t.formValues,
2958
- onChange: ($) => i(y, $)
2959
- }, null, 8, ["is", "name", "structure", "errors", "skel", "onChange"])) : _("", !0)
2960
- ], 64))), 128))
2961
- ]))), 128)),
2962
- t.isCustomAdress ? (m(), h("div", Ol, [
2963
- jl,
2964
- (m(!0), h(E, null, U(t.addSkel, (g, b) => (m(), h(E, { key: b }, [
2965
- g.visible && g.params.group === "Customer Address" ? (m(), T(k, {
2966
- key: 0,
2967
- is: K(X)(g.type),
2968
- name: b,
2969
- structure: f(t.addSkel),
2970
- errors: t.errors[b] ? t.errors[b] : [],
2971
- skel: t.formValues,
2972
- onChange: (y) => i(b, y)
2973
- }, null, 8, ["is", "name", "structure", "errors", "skel", "onChange"])) : _("", !0)
2974
- ], 64))), 128))
2975
- ])) : _("", !0),
2976
- d("div", { class: "viur-shop-form-btn-wrap" }, [
2977
- d("sl-button", {
2978
- size: "medium",
2979
- onClick: r,
2980
- title: "Lieferadresse entfernen"
2981
- }, Dl),
2982
- d("sl-button", {
2983
- size: "medium",
2984
- variant: "primary",
2985
- onClick: a
2986
- }, [
2987
- Vl,
2988
- j(" Lieferadresse hinzufügen ")
2989
- ])
2990
- ]),
2991
- d("sl-alert", {
2992
- variant: "warning",
2993
- duration: "2000",
2994
- ref_key: "shippingWarning",
2995
- ref: s,
2996
- closable: ""
2997
- }, [
2998
- Nl,
2999
- d("strong", null, B(t.amountAlert.title), 1),
3000
- Rl,
3001
- j(" " + B(t.amountAlert.msg), 1)
3002
- ], 512),
3003
- d("sl-checkbox", {
3004
- onSlChange: o,
3005
- checked: ""
3006
- }, " Rechnungsadresse wie Lieferadresse ", 32)
3007
- ], 64);
3008
- };
3009
- }
3010
- }, Ul = /* @__PURE__ */ I(Ll, [["__scopeId", "data-v-a4accf28"]]), Xe = {
3011
- __name: "ExampleUsage",
3012
- setup(e) {
3013
- const n = re(), t = S(
3014
- () => n.state.basketRootNode.key ? n.state.basketRootNode.key : ""
3015
- ), l = w({
3016
- rootNode: {},
3017
- tabs: {
3018
- cart: {
3019
- component: H(_e),
3020
- props: {
3021
- sidebar: !0,
3022
- mode: "basket",
3023
- cartKey: t
3024
- },
3025
- // cartKey (on initial call has to be a root node) is a required prop, make sure that cartStore.init() is called before cart is mounted
3026
- displayName: "Warenkorb",
3027
- icon: { name: "cart", library: "hsk" },
3028
- position: 2,
3029
- disabled: !1,
3030
- atShow: null,
3031
- atHide: null
3032
- },
3033
- confirm: {
3034
- component: H(we),
3035
- props: {},
3036
- displayName: "Bestellung prüfen",
3037
- icon: { name: "order-check", library: "hsk" },
3038
- position: 5,
3039
- disabled: !1,
3040
- atShow: null,
3041
- atHide: null
3042
- },
3043
- // order: {
3044
- // component: shallowRef(CategoryView),
3045
- // props: {
3046
- // listHandler: ListRequest("categorystore", {
3047
- // module: "variante",
3048
- // params: { type: "dk", limit: 99 },
3049
- // }),
3050
- // },
3051
- // displayName: "Artikel Bestellen",
3052
- // icon: { name: "cart-add", library: "hsk" },
3053
- // position: 1,
3054
- // disabled: false,
3055
- // atShow: null,
3056
- // atHide: null,
3057
- // },
3058
- orderComplete: {
3059
- component: H(pl),
3060
- props: {},
3061
- displayName: "Bestellung Abgeschlossen",
3062
- icon: { name: "order-confirmed", library: "hsk" },
3063
- position: 6,
3064
- disabled: !0,
3065
- atShow: null,
3066
- atHide: null
3067
- },
3068
- userInfo: {
3069
- component: H(wl),
3070
- props: {},
3071
- displayName: "Daten Eingeben",
3072
- icon: { name: "user", library: "hsk" },
3073
- position: 3,
3074
- disabled: !1,
3075
- atShow: null,
3076
- atHide: null
3077
- },
3078
- userInfoMulti: {
3079
- component: H(Ul),
3080
- props: {},
3081
- displayName: "Daten Eingeben (Multi)",
3082
- icon: { name: "user", library: "hsk" },
3083
- position: 4,
3084
- disabled: !1,
3085
- atShow: null,
3086
- atHide: null
3087
- }
3088
- }
3089
- });
3090
- function s(o) {
3091
- (o == null ? void 0 : o.detail.name) === "confirm" && (l.tabs.orderComplete.disabled = !1);
3092
- }
3093
- return x(async () => {
3094
- await n.init(), await n.getAdressStructure(), console.log("debug init exampleusage :", n.state.basketRootNode);
3095
- }), (o, a) => (m(), T(ul, {
3096
- tabs: l.tabs,
3097
- onTabChange: s
3098
- }, null, 8, ["tabs"]));
3099
- }
3100
- }, Tl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3101
- __proto__: null,
3102
- default: Xe
3103
- }, Symbol.toStringTag, { value: "Module" })), Pl = D({
3104
- props: {},
3105
- components: {},
3106
- setup(e, n) {
3107
- const t = ht();
3108
- return { state: w({}), route: t };
3109
- }
3110
- }), Ml = { class: "home" };
3111
- function Wl(e, n, t, l, s, o) {
3112
- return m(), h("div", Ml, "View " + B(e.route.path) + " is missing.", 1);
3113
- }
3114
- const zl = /* @__PURE__ */ I(Pl, [["render", Wl]]), ql = [
3115
- {
3116
- path: "/:pathMatch(.*)*",
3117
- name: "view_missing",
3118
- component: zl
3119
- },
3120
- {
3121
- path: "/shop/category/:identifier",
3122
- name: "CategoryView",
3123
- component: () => import("./CategoryView-Z-tCFNv1.mjs")
3124
- },
3125
- {
3126
- path: "/shop/item/:item",
3127
- name: "itemView",
3128
- component: () => import("./ItemView-cjeQBSTR.mjs")
3129
- },
3130
- {
3131
- path: "/shop/cart/view",
3132
- name: "CartView",
3133
- component: () => Promise.resolve().then(() => Us)
3134
- },
3135
- {
3136
- path: "/shop/order/",
3137
- name: "OrderView",
3138
- component: () => Promise.resolve().then(() => Tl)
3139
- },
3140
- {
3141
- path: "/shop/order/confirm",
3142
- name: "ConfirmView",
3143
- component: () => Promise.resolve().then(() => Qs)
3144
- }
3145
- ];
3146
- function Ql(e, n = !1) {
3147
- let t = [];
3148
- return n ? t = e : t = e.concat(ql), bt({
3149
- // @ts-ignore
3150
- history: vt("/"),
3151
- routes: t
3152
- });
3153
- }
3154
- const Yl = {
3155
- install(e) {
3156
- e.component("CartView", _e), e.component("ExampleUsage", Xe), e.component("ConfirmView", we);
3157
- }
3158
- };
3159
- export {
3160
- _e as C,
3161
- Yl as V,
3162
- I as _,
3163
- Xe as a,
3164
- we as b,
3165
- Ql as c,
3166
- re as u
3167
- };