@eodash/eodash 5.0.0-alpha.2.3 → 5.0.0-alpha.2.5

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 (91) hide show
  1. package/README.md +14 -5
  2. package/core/{SuspensedDashboard.ce.vue → client/SuspensedDashboard.ce.vue} +30 -16
  3. package/core/client/components/DashboardLayout.vue +59 -0
  4. package/core/{components → client/components}/ErrorAlert.vue +6 -1
  5. package/core/{components → client/components}/Footer.vue +6 -1
  6. package/core/{components → client/components}/Header.vue +6 -1
  7. package/core/{components → client/components}/IframeWrapper.vue +1 -1
  8. package/core/{components → client/components}/MobileLayout.vue +41 -10
  9. package/core/{composables → client/composables}/DefineEodash.js +2 -1
  10. package/core/{composables → client/composables}/DefineWidgets.js +14 -8
  11. package/core/{composables → client/composables}/index.js +18 -119
  12. package/core/{eodash.js → client/eodash.js} +38 -36
  13. package/core/{plugins → client/plugins}/index.js +3 -0
  14. package/core/{plugins → client/plugins}/vuetify.js +1 -1
  15. package/core/{types.d.ts → client/types.d.ts} +42 -85
  16. package/core/{utils → client/utils}/eodashSTAC.js +29 -25
  17. package/core/client/utils/index.js +32 -0
  18. package/core/{views → client/views}/Dashboard.vue +39 -10
  19. package/dist/client/DashboardLayout-BYROtP-7.js +156 -0
  20. package/dist/{DynamicWebComponent-CgDh2csQ.js → client/DynamicWebComponent-BQhxFPM0.js} +6 -6
  21. package/dist/client/EodashDatePicker-CFltnt5d.js +1194 -0
  22. package/dist/client/EodashItemFilter-DIBDAHcc.js +65 -0
  23. package/dist/{EodashMap-CyR-Ldpk.js → client/EodashMap-C6jJ2Lb_.js} +14337 -15676
  24. package/dist/client/Footer-BVIZms1S.js +115 -0
  25. package/dist/client/Header-TsTL1d2R.js +633 -0
  26. package/dist/{IframeWrapper-Csep3rMg.js → client/IframeWrapper-XKChM78a.js} +4 -4
  27. package/dist/client/MobileLayout-BlGcMQra.js +957 -0
  28. package/dist/{VMain-COrg6UtF.js → client/VMain-C9XV5Lyg.js} +8 -8
  29. package/dist/{WidgetsContainer-XA6_dKOm.js → client/WidgetsContainer-BQXHnZpa.js} +8 -8
  30. package/dist/client/asWebComponent-CbdGxelK.js +20188 -0
  31. package/dist/{decoder-kAoyGIq9-DjQanfeo.js → client/decoder-HRvnjnEI-CHAYOWhz.js} +1 -1
  32. package/dist/client/eo-dash.js +6 -0
  33. package/dist/{eox-map-BJ9SIixs.js → client/eox-map-C3DL31fp.js} +1882 -1809
  34. package/dist/client/eox-stacinfo-l7ALSV90.js +13969 -0
  35. package/dist/client/forwardRefs-CyCJOFsz.js +192 -0
  36. package/dist/client/http-ZWiLaAeR.js +1337 -0
  37. package/dist/{index-Cskxla5D.js → client/index-CabQjjQg.js} +43 -74
  38. package/dist/{lerc-C9VL9kri-O4muG-MO.js → client/lerc-_E46UbWQ-TxBH4OeK.js} +1 -1
  39. package/dist/{ssrBoot-DCCAW5xY.js → client/ssrBoot-DWJ-z4I-.js} +3 -3
  40. package/dist/{style.css → client/style.css} +2 -2
  41. package/dist/client/transition-BlLt41wg.js +34 -0
  42. package/dist/node/cli.js +20 -0
  43. package/dist/node/main.js +2 -0
  44. package/{bin → dist/node}/types.d.ts +2 -2
  45. package/package.json +22 -21
  46. package/widgets/EodashDatePicker.vue +89 -36
  47. package/widgets/EodashItemFilter.vue +30 -14
  48. package/bin/app.js +0 -22
  49. package/bin/cli.js +0 -62
  50. package/bin/main.js +0 -9
  51. package/bin/serverConfig.js +0 -165
  52. package/bin/utils.js +0 -103
  53. package/core/components/DashboardLayout.vue +0 -36
  54. package/core/utils/index.js +0 -28
  55. package/dist/DashboardLayout-lzEvtalW.js +0 -148
  56. package/dist/EodashDatePicker-bIyNUYaG.js +0 -1653
  57. package/dist/EodashItemFilter-CpgyrJRX.js +0 -51
  58. package/dist/Footer-C2sIHSym.js +0 -118
  59. package/dist/Header-DFz2BUnp.js +0 -605
  60. package/dist/MobileLayout-CXNJL_q6.js +0 -984
  61. package/dist/asWebComponent-fqvymeM-.js +0 -13092
  62. package/dist/eo-dash.js +0 -6
  63. package/dist/eox-stacinfo-B-YrT7Ug.js +0 -13698
  64. package/dist/forwardRefs-Bxeu9Obx.js +0 -142
  65. package/dist/index-Zv5eTiB6.js +0 -34
  66. /package/core/{App.vue → client/App.vue} +0 -0
  67. /package/core/{asWebComponent.d.ts → client/asWebComponent.d.ts} +0 -0
  68. /package/core/{asWebComponent.js → client/asWebComponent.js} +0 -0
  69. /package/core/{components → client/components}/DynamicWebComponent.vue +0 -0
  70. /package/core/{components → client/components}/Loading.vue +0 -0
  71. /package/core/{main.js → client/main.js} +0 -0
  72. /package/core/{render.js → client/render.js} +0 -0
  73. /package/core/{store → client/store}/Actions.js +0 -0
  74. /package/core/{store → client/store}/States.js +0 -0
  75. /package/core/{store → client/store}/index.js +0 -0
  76. /package/core/{store → client/store}/stac.js +0 -0
  77. /package/core/{utils → client/utils}/helpers.js +0 -0
  78. /package/core/{utils → client/utils}/keys.js +0 -0
  79. /package/core/{vite-env.d.ts → client/vite-env.d.ts} +0 -0
  80. /package/dist/{.gitkeep → client/.gitkeep} +0 -0
  81. /package/dist/{_commonjsHelpers-DaMA6jEr.js → client/_commonjsHelpers-DaMA6jEr.js} +0 -0
  82. /package/dist/{basedecoder-Qm25PwVp-CHo5Pomv.js → client/basedecoder-Qm25PwVp-CHo5Pomv.js} +0 -0
  83. /package/dist/{deflate-Be2Arps5-hDqMz3RA.js → client/deflate-Be2Arps5-hDqMz3RA.js} +0 -0
  84. /package/dist/{eox-itemfilter-DcQkRD2l.js → client/eox-itemfilter-DcQkRD2l.js} +0 -0
  85. /package/dist/{jpeg-DNfUpLwy-Fjan-04T.js → client/jpeg-DNfUpLwy-Fjan-04T.js} +0 -0
  86. /package/dist/{lzw-BOMhmEDy-Dboc93VO.js → client/lzw-BOMhmEDy-Dboc93VO.js} +0 -0
  87. /package/dist/{packbits-DaUD6MLm-Bu1PoTGa.js → client/packbits-DaUD6MLm-Bu1PoTGa.js} +0 -0
  88. /package/dist/{pako.esm-C3kYPGGQ-BMki8cQY.js → client/pako.esm-C3kYPGGQ-BMki8cQY.js} +0 -0
  89. /package/dist/{raw-CcGKjn8q-DFOt-i8n.js → client/raw-CcGKjn8q-DFOt-i8n.js} +0 -0
  90. /package/dist/{webfontloader-CyOFAuFB.js → client/webfontloader-CyOFAuFB.js} +0 -0
  91. /package/dist/{webimage-D2c098k3-DLj1LQxB.js → client/webimage-D2c098k3-DLj1LQxB.js} +0 -0
@@ -1,984 +0,0 @@
1
- import { p as P, o as ze, m as Ye, g as M, u as Ge, r as $, c as g, a as H, V as G, b as v, F as L, d as E, k as Be, e as ie, f as ue, h as De, i as Ue, j as Ee, l as je, n as Pe, s as I, w as re, q as Ne, t as q, v as qe, x as ce, y as We, z as Ke, A as Qe, B as le, C as ae, D as Je, I as he, E as Ze, G as et, H as tt, J as me, K as nt, L as ge, M as ye, N as ot, O as st, P as lt, Q as at, R as it, S as W, T as ut, U as rt, W as ct, X as be, Y as dt, Z as vt, _ as C, $ as F, a0 as O, a1 as Se, a2 as R, a3 as we, a4 as se, a5 as Y, a6 as xe, a7 as ke, a8 as Te, a9 as ft, aa as ht } from "./asWebComponent-fqvymeM-.js";
2
- import { f as mt, a as gt, s as yt } from "./forwardRefs-Bxeu9Obx.js";
3
- import { u as bt } from "./ssrBoot-DCCAW5xY.js";
4
- import { M as St, V as Ve } from "./index-Cskxla5D.js";
5
- import { V as wt } from "./VMain-COrg6UtF.js";
6
- const de = Symbol.for("vuetify:v-tabs"), xt = P({
7
- fixed: Boolean,
8
- sliderColor: String,
9
- hideSlider: Boolean,
10
- direction: {
11
- type: String,
12
- default: "horizontal"
13
- },
14
- ...ze(Ye({
15
- selectedClass: "v-tab--selected",
16
- variant: "text"
17
- }), ["active", "block", "flat", "location", "position", "symbol"])
18
- }, "VTab"), Re = M()({
19
- name: "VTab",
20
- props: xt(),
21
- setup(e, t) {
22
- let {
23
- slots: o,
24
- attrs: n
25
- } = t;
26
- const {
27
- textColorClasses: l,
28
- textColorStyles: u
29
- } = Ge(e, "sliderColor"), s = $(), f = $(), c = g(() => e.direction === "horizontal"), m = g(() => s.value?.group?.isSelected.value ?? !1);
30
- function S(r) {
31
- let {
32
- value: a
33
- } = r;
34
- if (a) {
35
- const x = s.value?.$el.parentElement?.querySelector(".v-tab--selected .v-tab__slider"), h = f.value;
36
- if (!x || !h)
37
- return;
38
- const _ = getComputedStyle(x).color, T = x.getBoundingClientRect(), V = h.getBoundingClientRect(), p = c.value ? "x" : "y", z = c.value ? "X" : "Y", y = c.value ? "right" : "bottom", b = c.value ? "width" : "height", k = T[p], A = V[p], B = k > A ? T[y] - V[y] : T[p] - V[p], K = Math.sign(B) > 0 ? c.value ? "right" : "bottom" : Math.sign(B) < 0 ? c.value ? "left" : "top" : "center", Q = (Math.abs(B) + (Math.sign(B) < 0 ? T[b] : V[b])) / Math.max(T[b], V[b]) || 0, j = T[b] / V[b] || 0, N = 1.5;
39
- gt(h, {
40
- backgroundColor: [_, "currentcolor"],
41
- transform: [`translate${z}(${B}px) scale${z}(${j})`, `translate${z}(${B / N}px) scale${z}(${(Q - 1) / N + 1})`, "none"],
42
- transformOrigin: Array(3).fill(K)
43
- }, {
44
- duration: 225,
45
- easing: yt
46
- });
47
- }
48
- }
49
- return H(() => {
50
- const r = G.filterProps(e);
51
- return v(G, E({
52
- symbol: de,
53
- ref: s,
54
- class: ["v-tab", e.class],
55
- style: e.style,
56
- tabindex: m.value ? 0 : -1,
57
- role: "tab",
58
- "aria-selected": String(m.value),
59
- active: !1
60
- }, r, n, {
61
- block: e.fixed,
62
- maxWidth: e.fixed ? 300 : void 0,
63
- "onGroup:selected": S
64
- }), {
65
- ...o,
66
- default: () => v(L, null, [o.default?.() ?? e.text, !e.hideSlider && v("div", {
67
- ref: f,
68
- class: ["v-tab__slider", l.value],
69
- style: u.value
70
- }, null)])
71
- });
72
- }), mt({}, s);
73
- }
74
- }), kt = (e) => {
75
- const {
76
- touchstartX: t,
77
- touchendX: o,
78
- touchstartY: n,
79
- touchendY: l
80
- } = e, u = 0.5, s = 16;
81
- e.offsetX = o - t, e.offsetY = l - n, Math.abs(e.offsetY) < u * Math.abs(e.offsetX) && (e.left && o < t - s && e.left(e), e.right && o > t + s && e.right(e)), Math.abs(e.offsetX) < u * Math.abs(e.offsetY) && (e.up && l < n - s && e.up(e), e.down && l > n + s && e.down(e));
82
- };
83
- function Tt(e, t) {
84
- const o = e.changedTouches[0];
85
- t.touchstartX = o.clientX, t.touchstartY = o.clientY, t.start?.({
86
- originalEvent: e,
87
- ...t
88
- });
89
- }
90
- function Vt(e, t) {
91
- const o = e.changedTouches[0];
92
- t.touchendX = o.clientX, t.touchendY = o.clientY, t.end?.({
93
- originalEvent: e,
94
- ...t
95
- }), kt(t);
96
- }
97
- function Ct(e, t) {
98
- const o = e.changedTouches[0];
99
- t.touchmoveX = o.clientX, t.touchmoveY = o.clientY, t.move?.({
100
- originalEvent: e,
101
- ...t
102
- });
103
- }
104
- function It() {
105
- let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
106
- const t = {
107
- touchstartX: 0,
108
- touchstartY: 0,
109
- touchendX: 0,
110
- touchendY: 0,
111
- touchmoveX: 0,
112
- touchmoveY: 0,
113
- offsetX: 0,
114
- offsetY: 0,
115
- left: e.left,
116
- right: e.right,
117
- up: e.up,
118
- down: e.down,
119
- start: e.start,
120
- move: e.move,
121
- end: e.end
122
- };
123
- return {
124
- touchstart: (o) => Tt(o, t),
125
- touchend: (o) => Vt(o, t),
126
- touchmove: (o) => Ct(o, t)
127
- };
128
- }
129
- function _t(e, t) {
130
- const o = t.value, n = o?.parent ? e.parentElement : e, l = o?.options ?? {
131
- passive: !0
132
- }, u = t.instance?.$.uid;
133
- if (!n || !u)
134
- return;
135
- const s = It(t.value);
136
- n._touchHandlers = n._touchHandlers ?? /* @__PURE__ */ Object.create(null), n._touchHandlers[u] = s, Be(s).forEach((f) => {
137
- n.addEventListener(f, s[f], l);
138
- });
139
- }
140
- function pt(e, t) {
141
- const o = t.value?.parent ? e.parentElement : e, n = t.instance?.$.uid;
142
- if (!o?._touchHandlers || !n)
143
- return;
144
- const l = o._touchHandlers[n];
145
- Be(l).forEach((u) => {
146
- o.removeEventListener(u, l[u]);
147
- }), delete o._touchHandlers[n];
148
- }
149
- const $e = {
150
- mounted: _t,
151
- unmounted: pt
152
- }, zt = $e, Me = Symbol.for("vuetify:v-window"), He = Symbol.for("vuetify:v-window-group"), Ae = P({
153
- continuous: Boolean,
154
- nextIcon: {
155
- type: [Boolean, String, Function, Object],
156
- default: "$next"
157
- },
158
- prevIcon: {
159
- type: [Boolean, String, Function, Object],
160
- default: "$prev"
161
- },
162
- reverse: Boolean,
163
- showArrows: {
164
- type: [Boolean, String],
165
- validator: (e) => typeof e == "boolean" || e === "hover"
166
- },
167
- touch: {
168
- type: [Object, Boolean],
169
- default: void 0
170
- },
171
- direction: {
172
- type: String,
173
- default: "horizontal"
174
- },
175
- modelValue: null,
176
- disabled: Boolean,
177
- selectedClass: {
178
- type: String,
179
- default: "v-window-item--active"
180
- },
181
- // TODO: mandatory should probably not be exposed but do this for now
182
- mandatory: {
183
- type: [Boolean, String],
184
- default: "force"
185
- },
186
- ...ie(),
187
- ...ue(),
188
- ...De()
189
- }, "VWindow"), Ce = M()({
190
- name: "VWindow",
191
- directives: {
192
- Touch: $e
193
- },
194
- props: Ae(),
195
- emits: {
196
- "update:modelValue": (e) => !0
197
- },
198
- setup(e, t) {
199
- let {
200
- slots: o
201
- } = t;
202
- const {
203
- themeClasses: n
204
- } = Ue(e), {
205
- isRtl: l
206
- } = Ee(), {
207
- t: u
208
- } = je(), s = Pe(e, He), f = $(), c = g(() => l.value ? !e.reverse : e.reverse), m = I(!1), S = g(() => {
209
- const y = e.direction === "vertical" ? "y" : "x", k = (c.value ? !m.value : m.value) ? "-reverse" : "";
210
- return `v-window-${y}${k}-transition`;
211
- }), r = I(0), a = $(void 0), x = g(() => s.items.value.findIndex((y) => s.selected.value.includes(y.id)));
212
- re(x, (y, b) => {
213
- const k = s.items.value.length, A = k - 1;
214
- k <= 2 ? m.value = y < b : y === A && b === 0 ? m.value = !0 : y === 0 && b === A ? m.value = !1 : m.value = y < b;
215
- }), Ne(Me, {
216
- transition: S,
217
- isReversed: m,
218
- transitionCount: r,
219
- transitionHeight: a,
220
- rootRef: f
221
- });
222
- const h = g(() => e.continuous || x.value !== 0), _ = g(() => e.continuous || x.value !== s.items.value.length - 1);
223
- function T() {
224
- h.value && s.prev();
225
- }
226
- function V() {
227
- _.value && s.next();
228
- }
229
- const p = g(() => {
230
- const y = [], b = {
231
- icon: l.value ? e.nextIcon : e.prevIcon,
232
- class: `v-window__${c.value ? "right" : "left"}`,
233
- onClick: s.prev,
234
- "aria-label": u("$vuetify.carousel.prev")
235
- };
236
- y.push(h.value ? o.prev ? o.prev({
237
- props: b
238
- }) : v(G, b, null) : v("div", null, null));
239
- const k = {
240
- icon: l.value ? e.prevIcon : e.nextIcon,
241
- class: `v-window__${c.value ? "left" : "right"}`,
242
- onClick: s.next,
243
- "aria-label": u("$vuetify.carousel.next")
244
- };
245
- return y.push(_.value ? o.next ? o.next({
246
- props: k
247
- }) : v(G, k, null) : v("div", null, null)), y;
248
- }), z = g(() => e.touch === !1 ? e.touch : {
249
- ...{
250
- left: () => {
251
- c.value ? T() : V();
252
- },
253
- right: () => {
254
- c.value ? V() : T();
255
- },
256
- start: (b) => {
257
- let {
258
- originalEvent: k
259
- } = b;
260
- k.stopPropagation();
261
- }
262
- },
263
- ...e.touch === !0 ? {} : e.touch
264
- });
265
- return H(() => q(v(e.tag, {
266
- ref: f,
267
- class: ["v-window", {
268
- "v-window--show-arrows-on-hover": e.showArrows === "hover"
269
- }, n.value, e.class],
270
- style: e.style
271
- }, {
272
- default: () => [v("div", {
273
- class: "v-window__container",
274
- style: {
275
- height: a.value
276
- }
277
- }, [o.default?.({
278
- group: s
279
- }), e.showArrows !== !1 && v("div", {
280
- class: "v-window__controls"
281
- }, [p.value])]), o.additional?.({
282
- group: s
283
- })]
284
- }), [[qe("touch"), z.value]])), {
285
- group: s
286
- };
287
- }
288
- }), Bt = P({
289
- ...ze(Ae(), ["continuous", "nextIcon", "prevIcon", "showArrows", "touch", "mandatory"])
290
- }, "VTabsWindow"), Et = M()({
291
- name: "VTabsWindow",
292
- props: Bt(),
293
- emits: {
294
- "update:modelValue": (e) => !0
295
- },
296
- setup(e, t) {
297
- let {
298
- slots: o
299
- } = t;
300
- const n = ce(de, null), l = We(e, "modelValue"), u = g({
301
- get() {
302
- return l.value != null || !n ? l.value : n.items.value.find((s) => n.selected.value.includes(s.id))?.value;
303
- },
304
- set(s) {
305
- l.value = s;
306
- }
307
- });
308
- return H(() => {
309
- const s = Ce.filterProps(e);
310
- return v(Ce, E({
311
- _as: "VTabsWindow"
312
- }, s, {
313
- modelValue: u.value,
314
- "onUpdate:modelValue": (f) => u.value = f,
315
- class: ["v-tabs-window", e.class],
316
- style: e.style,
317
- mandatory: !1,
318
- touch: !1
319
- }), o);
320
- }), {};
321
- }
322
- }), Pt = P({
323
- eager: Boolean
324
- }, "lazy");
325
- function Wt(e, t) {
326
- const o = I(!1), n = g(() => o.value || e.eager || t.value);
327
- re(t, () => o.value = !0);
328
- function l() {
329
- e.eager || (o.value = !1);
330
- }
331
- return {
332
- isBooted: o,
333
- hasContent: n,
334
- onAfterLeave: l
335
- };
336
- }
337
- const Fe = P({
338
- reverseTransition: {
339
- type: [Boolean, String],
340
- default: void 0
341
- },
342
- transition: {
343
- type: [Boolean, String],
344
- default: void 0
345
- },
346
- ...ie(),
347
- ...Ke(),
348
- ...Pt()
349
- }, "VWindowItem"), Ie = M()({
350
- name: "VWindowItem",
351
- directives: {
352
- Touch: zt
353
- },
354
- props: Fe(),
355
- emits: {
356
- "group:selected": (e) => !0
357
- },
358
- setup(e, t) {
359
- let {
360
- slots: o
361
- } = t;
362
- const n = ce(Me), l = Qe(e, He), {
363
- isBooted: u
364
- } = bt();
365
- if (!n || !l)
366
- throw new Error("[Vuetify] VWindowItem must be used inside VWindow");
367
- const s = I(!1), f = g(() => u.value && (n.isReversed.value ? e.reverseTransition !== !1 : e.transition !== !1));
368
- function c() {
369
- !s.value || !n || (s.value = !1, n.transitionCount.value > 0 && (n.transitionCount.value -= 1, n.transitionCount.value === 0 && (n.transitionHeight.value = void 0)));
370
- }
371
- function m() {
372
- s.value || !n || (s.value = !0, n.transitionCount.value === 0 && (n.transitionHeight.value = ae(n.rootRef.value?.clientHeight)), n.transitionCount.value += 1);
373
- }
374
- function S() {
375
- c();
376
- }
377
- function r(h) {
378
- s.value && Je(() => {
379
- !f.value || !s.value || !n || (n.transitionHeight.value = ae(h.clientHeight));
380
- });
381
- }
382
- const a = g(() => {
383
- const h = n.isReversed.value ? e.reverseTransition : e.transition;
384
- return f.value ? {
385
- name: typeof h != "string" ? n.transition.value : h,
386
- onBeforeEnter: m,
387
- onAfterEnter: c,
388
- onEnterCancelled: S,
389
- onBeforeLeave: m,
390
- onAfterLeave: c,
391
- onLeaveCancelled: S,
392
- onEnter: r
393
- } : !1;
394
- }), {
395
- hasContent: x
396
- } = Wt(e, l.isSelected);
397
- return H(() => v(St, {
398
- transition: a.value,
399
- disabled: !u.value
400
- }, {
401
- default: () => [q(v("div", {
402
- class: ["v-window-item", l.selectedClass.value, e.class],
403
- style: e.style
404
- }, [x.value && o.default?.()]), [[le, l.isSelected.value]])]
405
- })), {
406
- groupItem: l
407
- };
408
- }
409
- }), Rt = P({
410
- ...Fe()
411
- }, "VTabsWindowItem"), $t = M()({
412
- name: "VTabsWindowItem",
413
- props: Rt(),
414
- setup(e, t) {
415
- let {
416
- slots: o
417
- } = t;
418
- return H(() => {
419
- const n = Ie.filterProps(e);
420
- return v(Ie, E({
421
- _as: "VTabsWindowItem"
422
- }, n, {
423
- class: ["v-tabs-window-item", e.class],
424
- style: e.style
425
- }), o);
426
- }), {};
427
- }
428
- });
429
- function Mt(e) {
430
- let {
431
- selectedElement: t,
432
- containerElement: o,
433
- isRtl: n,
434
- isHorizontal: l
435
- } = e;
436
- const u = D(l, o), s = Oe(l, n, o), f = D(l, t), c = Le(l, t), m = f * 0.4;
437
- return s > c ? c - m : s + u < c + f ? c - u + f + m : s;
438
- }
439
- function Ht(e) {
440
- let {
441
- selectedElement: t,
442
- containerElement: o,
443
- isHorizontal: n
444
- } = e;
445
- const l = D(n, o), u = Le(n, t), s = D(n, t);
446
- return u - l / 2 + s / 2;
447
- }
448
- function _e(e, t) {
449
- return t?.[e ? "scrollWidth" : "scrollHeight"] || 0;
450
- }
451
- function At(e, t) {
452
- return t?.[e ? "clientWidth" : "clientHeight"] || 0;
453
- }
454
- function Oe(e, t, o) {
455
- if (!o)
456
- return 0;
457
- const {
458
- scrollLeft: n,
459
- offsetWidth: l,
460
- scrollWidth: u
461
- } = o;
462
- return e ? t ? u - l + n : n : o.scrollTop;
463
- }
464
- function D(e, t) {
465
- return t?.[e ? "offsetWidth" : "offsetHeight"] || 0;
466
- }
467
- function Le(e, t) {
468
- return t?.[e ? "offsetLeft" : "offsetTop"] || 0;
469
- }
470
- const Ft = Symbol.for("vuetify:v-slide-group"), Xe = P({
471
- centerActive: Boolean,
472
- direction: {
473
- type: String,
474
- default: "horizontal"
475
- },
476
- symbol: {
477
- type: null,
478
- default: Ft
479
- },
480
- nextIcon: {
481
- type: he,
482
- default: "$next"
483
- },
484
- prevIcon: {
485
- type: he,
486
- default: "$prev"
487
- },
488
- showArrows: {
489
- type: [Boolean, String],
490
- validator: (e) => typeof e == "boolean" || ["always", "desktop", "mobile"].includes(e)
491
- },
492
- ...ie(),
493
- ...Ze(),
494
- ...ue(),
495
- ...et({
496
- selectedClass: "v-slide-group-item--active"
497
- })
498
- }, "VSlideGroup"), pe = M()({
499
- name: "VSlideGroup",
500
- props: Xe(),
501
- emits: {
502
- "update:modelValue": (e) => !0
503
- },
504
- setup(e, t) {
505
- let {
506
- slots: o
507
- } = t;
508
- const {
509
- isRtl: n
510
- } = Ee(), {
511
- displayClasses: l,
512
- mobile: u
513
- } = tt(e), s = Pe(e, e.symbol), f = I(!1), c = I(0), m = I(0), S = I(0), r = g(() => e.direction === "horizontal"), {
514
- resizeRef: a,
515
- contentRect: x
516
- } = me(), {
517
- resizeRef: h,
518
- contentRect: _
519
- } = me(), T = nt(), V = g(() => ({
520
- container: a.el,
521
- duration: 200,
522
- easing: "easeOutQuart"
523
- })), p = g(() => s.selected.value.length ? s.items.value.findIndex((i) => i.id === s.selected.value[0]) : -1), z = g(() => s.selected.value.length ? s.items.value.findIndex((i) => i.id === s.selected.value[s.selected.value.length - 1]) : -1);
524
- if (ge) {
525
- let i = -1;
526
- re(() => [s.selected.value, x.value, _.value, r.value], () => {
527
- cancelAnimationFrame(i), i = requestAnimationFrame(() => {
528
- if (x.value && _.value) {
529
- const d = r.value ? "width" : "height";
530
- m.value = x.value[d], S.value = _.value[d], f.value = m.value + 1 < S.value;
531
- }
532
- if (p.value >= 0 && h.el) {
533
- const d = h.el.children[z.value];
534
- b(d, e.centerActive);
535
- }
536
- });
537
- });
538
- }
539
- const y = I(!1);
540
- function b(i, d) {
541
- let w = 0;
542
- d ? w = Ht({
543
- containerElement: a.el,
544
- isHorizontal: r.value,
545
- selectedElement: i
546
- }) : w = Mt({
547
- containerElement: a.el,
548
- isHorizontal: r.value,
549
- isRtl: n.value,
550
- selectedElement: i
551
- }), k(w);
552
- }
553
- function k(i) {
554
- if (!ge || !a.el)
555
- return;
556
- const d = D(r.value, a.el), w = Oe(r.value, n.value, a.el);
557
- if (!(_e(r.value, a.el) <= d || // Prevent scrolling by only a couple of pixels, which doesn't look smooth
558
- Math.abs(i - w) < 16)) {
559
- if (r.value && n.value && a.el) {
560
- const {
561
- scrollWidth: ne,
562
- offsetWidth: oe
563
- } = a.el;
564
- i = ne - oe - i;
565
- }
566
- r.value ? T.horizontal(i, V.value) : T(i, V.value);
567
- }
568
- }
569
- function A(i) {
570
- const {
571
- scrollTop: d,
572
- scrollLeft: w
573
- } = i.target;
574
- c.value = r.value ? w : d;
575
- }
576
- function B(i) {
577
- if (y.value = !0, !(!f.value || !h.el)) {
578
- for (const d of i.composedPath())
579
- for (const w of h.el.children)
580
- if (w === d) {
581
- b(w);
582
- return;
583
- }
584
- }
585
- }
586
- function K(i) {
587
- y.value = !1;
588
- }
589
- let U = !1;
590
- function Q(i) {
591
- !U && !y.value && !(i.relatedTarget && h.el?.contains(i.relatedTarget)) && X(), U = !1;
592
- }
593
- function j() {
594
- U = !0;
595
- }
596
- function N(i) {
597
- if (!h.el)
598
- return;
599
- function d(w) {
600
- i.preventDefault(), X(w);
601
- }
602
- r.value ? i.key === "ArrowRight" ? d(n.value ? "prev" : "next") : i.key === "ArrowLeft" && d(n.value ? "next" : "prev") : i.key === "ArrowDown" ? d("next") : i.key === "ArrowUp" && d("prev"), i.key === "Home" ? d("first") : i.key === "End" && d("last");
603
- }
604
- function X(i) {
605
- if (!h.el)
606
- return;
607
- let d;
608
- if (!i)
609
- d = ot(h.el)[0];
610
- else if (i === "next") {
611
- if (d = h.el.querySelector(":focus")?.nextElementSibling, !d)
612
- return X("first");
613
- } else if (i === "prev") {
614
- if (d = h.el.querySelector(":focus")?.previousElementSibling, !d)
615
- return X("last");
616
- } else
617
- i === "first" ? d = h.el.firstElementChild : i === "last" && (d = h.el.lastElementChild);
618
- d && d.focus({
619
- preventScroll: !0
620
- });
621
- }
622
- function J(i) {
623
- const d = r.value && n.value ? -1 : 1, w = (i === "prev" ? -d : d) * m.value;
624
- let te = c.value + w;
625
- if (r.value && n.value && a.el) {
626
- const {
627
- scrollWidth: ne,
628
- offsetWidth: oe
629
- } = a.el;
630
- te += ne - oe;
631
- }
632
- k(te);
633
- }
634
- const Z = g(() => ({
635
- next: s.next,
636
- prev: s.prev,
637
- select: s.select,
638
- isSelected: s.isSelected
639
- })), ee = g(() => {
640
- switch (e.showArrows) {
641
- case "always":
642
- return !0;
643
- case "desktop":
644
- return !u.value;
645
- case !0:
646
- return f.value || Math.abs(c.value) > 0;
647
- case "mobile":
648
- return u.value || f.value || Math.abs(c.value) > 0;
649
- default:
650
- return !u.value && (f.value || Math.abs(c.value) > 0);
651
- }
652
- }), ve = g(() => Math.abs(c.value) > 1), fe = g(() => {
653
- if (!a.value)
654
- return !1;
655
- const i = _e(r.value, a.el), d = At(r.value, a.el);
656
- return i - d - Math.abs(c.value) > 1;
657
- });
658
- return H(() => v(e.tag, {
659
- class: ["v-slide-group", {
660
- "v-slide-group--vertical": !r.value,
661
- "v-slide-group--has-affixes": ee.value,
662
- "v-slide-group--is-overflowing": f.value
663
- }, l.value, e.class],
664
- style: e.style,
665
- tabindex: y.value || s.selected.value.length ? -1 : 0,
666
- onFocus: Q
667
- }, {
668
- default: () => [ee.value && v("div", {
669
- key: "prev",
670
- class: ["v-slide-group__prev", {
671
- "v-slide-group__prev--disabled": !ve.value
672
- }],
673
- onMousedown: j,
674
- onClick: () => ve.value && J("prev")
675
- }, [o.prev?.(Z.value) ?? v(Ve, null, {
676
- default: () => [v(ye, {
677
- icon: n.value ? e.nextIcon : e.prevIcon
678
- }, null)]
679
- })]), v("div", {
680
- key: "container",
681
- ref: a,
682
- class: "v-slide-group__container",
683
- onScroll: A
684
- }, [v("div", {
685
- ref: h,
686
- class: "v-slide-group__content",
687
- onFocusin: B,
688
- onFocusout: K,
689
- onKeydown: N
690
- }, [o.default?.(Z.value)])]), ee.value && v("div", {
691
- key: "next",
692
- class: ["v-slide-group__next", {
693
- "v-slide-group__next--disabled": !fe.value
694
- }],
695
- onMousedown: j,
696
- onClick: () => fe.value && J("next")
697
- }, [o.next?.(Z.value) ?? v(Ve, null, {
698
- default: () => [v(ye, {
699
- icon: n.value ? e.prevIcon : e.nextIcon
700
- }, null)]
701
- })])]
702
- })), {
703
- selected: s.selected,
704
- scrollTo: J,
705
- scrollOffset: c,
706
- focus: X
707
- };
708
- }
709
- });
710
- function Ot() {
711
- const t = st("useScopeId").vnode.scopeId;
712
- return {
713
- scopeId: t ? {
714
- [t]: ""
715
- } : void 0
716
- };
717
- }
718
- function Lt(e) {
719
- return e ? e.map((t) => rt(t) ? t : {
720
- text: t,
721
- value: t
722
- }) : [];
723
- }
724
- const Xt = P({
725
- alignTabs: {
726
- type: String,
727
- default: "start"
728
- },
729
- color: String,
730
- fixedTabs: Boolean,
731
- items: {
732
- type: Array,
733
- default: () => []
734
- },
735
- stacked: Boolean,
736
- bgColor: String,
737
- grow: Boolean,
738
- height: {
739
- type: [Number, String],
740
- default: void 0
741
- },
742
- hideSlider: Boolean,
743
- sliderColor: String,
744
- ...Xe({
745
- mandatory: "force",
746
- selectedClass: "v-tab-item--selected"
747
- }),
748
- ...lt(),
749
- ...ue()
750
- }, "VTabs"), Yt = M()({
751
- name: "VTabs",
752
- props: Xt(),
753
- emits: {
754
- "update:modelValue": (e) => !0
755
- },
756
- setup(e, t) {
757
- let {
758
- attrs: o,
759
- slots: n
760
- } = t;
761
- const l = We(e, "modelValue"), u = g(() => Lt(e.items)), {
762
- densityClasses: s
763
- } = at(e), {
764
- backgroundColorClasses: f,
765
- backgroundColorStyles: c
766
- } = it(W(e, "bgColor")), {
767
- scopeId: m
768
- } = Ot();
769
- return ut({
770
- VTab: {
771
- color: W(e, "color"),
772
- direction: W(e, "direction"),
773
- stacked: W(e, "stacked"),
774
- fixed: W(e, "fixedTabs"),
775
- sliderColor: W(e, "sliderColor"),
776
- hideSlider: W(e, "hideSlider")
777
- }
778
- }), H(() => {
779
- const S = pe.filterProps(e), r = !!(n.window || e.items.length > 0);
780
- return v(L, null, [v(pe, E(S, {
781
- modelValue: l.value,
782
- "onUpdate:modelValue": (a) => l.value = a,
783
- class: ["v-tabs", `v-tabs--${e.direction}`, `v-tabs--align-tabs-${e.alignTabs}`, {
784
- "v-tabs--fixed-tabs": e.fixedTabs,
785
- "v-tabs--grow": e.grow,
786
- "v-tabs--stacked": e.stacked
787
- }, s.value, f.value, e.class],
788
- style: [{
789
- "--v-tabs-height": ae(e.height)
790
- }, c.value, e.style],
791
- role: "tablist",
792
- symbol: de
793
- }, m, o), {
794
- default: () => [n.default?.() ?? u.value.map((a) => n.tab?.({
795
- item: a
796
- }) ?? v(Re, E(a, {
797
- key: a.text,
798
- value: a.value
799
- }), {
800
- default: () => n[`tab.${a.value}`]?.({
801
- item: a
802
- })
803
- }))]
804
- }), r && v(Et, E({
805
- modelValue: l.value,
806
- "onUpdate:modelValue": (a) => l.value = a,
807
- key: "tabs-window"
808
- }, m), {
809
- default: () => [u.value.map((a) => n.item?.({
810
- item: a
811
- }) ?? v($t, {
812
- value: a.value
813
- }, {
814
- default: () => n[`item.${a.value}`]?.({
815
- item: a
816
- })
817
- })), n.window?.()]
818
- })]);
819
- }), {};
820
- }
821
- }), Gt = { style: { height: "90% !important" } }, Kt = {
822
- __name: "MobileLayout",
823
- setup(e) {
824
- const t = (
825
- /** @type {import("@/types").Eodash} */
826
- ce(ct)
827
- ), o = t.template.widgets, n = be(o), [l] = be([t.template?.background]), { mainRect: u } = dt(), s = $(-1), f = $(null), c = $("");
828
- return vt(() => {
829
- c.value = u.value.bottom + /** @type {HTMLElement} */
830
- (f.value?.$el?.clientHeight ?? 0) + "px";
831
- }), (m, S) => (C(), F(wt, {
832
- class: "overflow-hidden",
833
- style: { height: "91dvh" }
834
- }, {
835
- default: O(() => [
836
- (C(), F(Se, { suspensible: "" }, {
837
- default: O(() => [
838
- R(l).component ? (C(), F(
839
- we(R(l).component),
840
- E({
841
- key: 0,
842
- id: "bg-widget"
843
- }, R(l).props),
844
- null,
845
- 16
846
- /* FULL_PROPS */
847
- )) : se("v-if", !0)
848
- ]),
849
- _: 1
850
- /* STABLE */
851
- })),
852
- (C(!0), Y(
853
- L,
854
- null,
855
- xe(R(n), (r, a) => (C(), Y(
856
- L,
857
- { key: a },
858
- [
859
- r.value.component ? q((C(), Y(
860
- "div",
861
- {
862
- key: 0,
863
- id: "overlay",
864
- class: "pa-2",
865
- style: ke({
866
- bottom: c.value,
867
- position: "absolute",
868
- overflow: "hidden",
869
- width: "100%",
870
- left: 0,
871
- top: R(u).top + "px",
872
- zIndex: 1,
873
- background: "rgb(var(--v-theme-surface))"
874
- })
875
- },
876
- [
877
- v(G, {
878
- icon: "",
879
- variant: "text",
880
- style: { height: "5%", position: "relative" },
881
- onClick: S[0] || (S[0] = (x) => s.value = -1)
882
- }, {
883
- default: O(() => [
884
- Te("✕")
885
- ]),
886
- _: 1
887
- /* STABLE */
888
- }),
889
- (C(), F(
890
- Se,
891
- { suspensible: "" },
892
- {
893
- default: O(() => [
894
- q(ft(
895
- "div",
896
- Gt,
897
- [
898
- (C(), F(
899
- we(r.value.component),
900
- E({
901
- key: r.value.id
902
- }, r.value.props),
903
- null,
904
- 16
905
- /* FULL_PROPS */
906
- ))
907
- ],
908
- 512
909
- /* NEED_PATCH */
910
- ), [
911
- [le, s.value === a]
912
- ])
913
- ]),
914
- _: 2
915
- /* DYNAMIC */
916
- },
917
- 1024
918
- /* DYNAMIC_SLOTS */
919
- ))
920
- ],
921
- 4
922
- /* STYLE */
923
- )), [
924
- [le, s.value === a]
925
- ]) : se("v-if", !0)
926
- ],
927
- 64
928
- /* STABLE_FRAGMENT */
929
- ))),
930
- 128
931
- /* KEYED_FRAGMENT */
932
- )),
933
- v(Yt, {
934
- ref_key: "tabs",
935
- ref: f,
936
- "align-tabs": "center",
937
- "bg-color": "surface",
938
- style: ke({ position: "relative", bottom: (R(u).bottom || 48) + "px", zIndex: 10 }),
939
- "show-arrows": "",
940
- modelValue: s.value,
941
- "onUpdate:modelValue": S[1] || (S[1] = (r) => s.value = r)
942
- }, {
943
- default: O(() => [
944
- (C(!0), Y(
945
- L,
946
- null,
947
- xe(R(n), (r, a) => (C(), Y(
948
- L,
949
- { key: a },
950
- [
951
- r.value.component ? (C(), F(Re, {
952
- key: 0,
953
- value: a
954
- }, {
955
- default: O(() => [
956
- Te(
957
- ht(r.value.title),
958
- 1
959
- /* TEXT */
960
- )
961
- ]),
962
- _: 2
963
- /* DYNAMIC */
964
- }, 1032, ["value"])) : se("v-if", !0)
965
- ],
966
- 64
967
- /* STABLE_FRAGMENT */
968
- ))),
969
- 128
970
- /* KEYED_FRAGMENT */
971
- ))
972
- ]),
973
- _: 1
974
- /* STABLE */
975
- }, 8, ["style", "modelValue"])
976
- ]),
977
- _: 1
978
- /* STABLE */
979
- }));
980
- }
981
- };
982
- export {
983
- Kt as default
984
- };