@eodash/eodash 5.0.0-alpha.2.1 → 5.0.0-alpha.2.11

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 (138) hide show
  1. package/README.md +36 -3
  2. package/core/client/App.vue +26 -0
  3. package/core/client/SuspensedDashboard.ce.vue +105 -0
  4. package/core/client/asWebComponent.d.ts +23 -0
  5. package/core/client/asWebComponent.js +12 -0
  6. package/core/client/components/DashboardLayout.vue +77 -0
  7. package/core/client/components/DynamicWebComponent.vue +68 -0
  8. package/core/client/components/ErrorAlert.vue +36 -0
  9. package/core/{components → client/components}/Footer.vue +34 -15
  10. package/core/client/components/Header.vue +19 -0
  11. package/core/client/components/IframeWrapper.vue +11 -0
  12. package/core/client/components/Loading.vue +37 -0
  13. package/core/client/components/MobileLayout.vue +109 -0
  14. package/core/client/composables/DefineEodash.js +67 -0
  15. package/core/client/composables/DefineWidgets.js +161 -0
  16. package/core/client/composables/index.js +155 -0
  17. package/core/client/eodash.js +129 -0
  18. package/core/client/main.js +2 -0
  19. package/core/client/plugins/index.js +20 -0
  20. package/core/client/plugins/vuetify.js +35 -0
  21. package/core/client/render.js +12 -0
  22. package/core/client/store/Actions.js +38 -0
  23. package/core/client/store/States.js +24 -0
  24. package/core/client/store/index.js +20 -0
  25. package/core/client/store/stac.js +81 -0
  26. package/core/client/types.d.ts +287 -0
  27. package/core/client/utils/createLayers.js +131 -0
  28. package/core/client/utils/eodashSTAC.js +259 -0
  29. package/core/client/utils/helpers.js +152 -0
  30. package/core/client/utils/index.js +51 -0
  31. package/core/{utils → client/utils}/keys.js +2 -2
  32. package/core/client/views/Dashboard.vue +116 -0
  33. package/core/client/vite-env.d.ts +39 -0
  34. package/dist/client/DashboardLayout-D5c2wAGC.js +156 -0
  35. package/dist/{DynamicWebComponent-BrHVTesn.js → client/DynamicWebComponent-CBuMCUIj.js} +11 -11
  36. package/dist/client/EodashDatePicker-D0qdMMTE.js +252 -0
  37. package/dist/client/EodashItemFilter-CTRnGRRS.js +10067 -0
  38. package/dist/client/EodashLayerControl-Bpm0BwcW.js +31499 -0
  39. package/dist/client/EodashMap-DaMtQefq.js +114367 -0
  40. package/dist/client/EodashMapBtns-B5z8h8mr.js +50 -0
  41. package/dist/client/ExportState-Bp3n6gba.js +558 -0
  42. package/dist/client/Footer-BROOTKhV.js +115 -0
  43. package/dist/client/Header-C_fKVTsg.js +350 -0
  44. package/dist/{IframeWrapper-Dd9zrX9s.js → client/IframeWrapper-32Q3DBYr.js} +4 -4
  45. package/dist/client/MobileLayout-TVGrYpNT.js +945 -0
  46. package/dist/client/PopUp-BJzmeeKG.js +300 -0
  47. package/dist/client/VImg-BT4Vb0UT.js +291 -0
  48. package/dist/client/VMain-BDVUXNEk.js +39 -0
  49. package/dist/client/VOverlay-Ck_4Lxcb.js +972 -0
  50. package/dist/{WidgetsContainer-DxfCu0I3.js → client/WidgetsContainer-DjjX_n1U.js} +25 -18
  51. package/dist/client/asWebComponent-wn9bbgx9.js +20404 -0
  52. package/dist/{basedecoder-Qm25PwVp-CHo5Pomv.js → client/basedecoder-DHcBySSe-BmCFNFnw.js} +5 -6
  53. package/dist/{decoder-kAoyGIq9-BBR5CgzS.js → client/decoder-Cth6J7EK-CLlwAswr.js} +1 -1
  54. package/dist/client/deflate-BXt-9JA_-CWfClgpK.js +10 -0
  55. package/dist/client/eo-dash.js +6 -0
  56. package/dist/client/eox-stacinfo-l7ALSV90.js +13969 -0
  57. package/dist/client/forwardRefs--PLRH8zp.js +185 -0
  58. package/dist/client/helpers-CoqJPYdE.js +1391 -0
  59. package/dist/{index-DTkOfh2g.js → client/index-Dt0NRXIq.js} +21 -20
  60. package/dist/{jpeg-DNfUpLwy-Fjan-04T.js → client/jpeg-BAgeD1d3-oeHbFPUL.js} +5 -6
  61. package/dist/{lerc-C9VL9kri-cIdbW0sg.js → client/lerc-BgbQqdFI-CCpDWUne.js} +37 -39
  62. package/dist/{lzw-BOMhmEDy-Dboc93VO.js → client/lzw-LAGDNbSC-DkP96qO9.js} +1 -1
  63. package/dist/{packbits-DaUD6MLm-Bu1PoTGa.js → client/packbits-BlDR4Kj5-C66n1-zr.js} +1 -1
  64. package/dist/{pako.esm-C3kYPGGQ-BMki8cQY.js → client/pako.esm-CB1uQYY0-DB0PYm1P.js} +6 -12
  65. package/dist/{raw-CcGKjn8q-DFOt-i8n.js → client/raw-CMGvRjfu-BRi6E4i1.js} +1 -1
  66. package/dist/{ssrBoot-D-b4-M19.js → client/ssrBoot-DjZDIkG_.js} +1 -1
  67. package/dist/client/style.css +5 -0
  68. package/dist/client/transition-C8OQt_kp.js +34 -0
  69. package/dist/{webfontloader-CyOFAuFB.js → client/webfontloader-qotgY98I.js} +56 -92
  70. package/dist/{webimage-D2c098k3-DLj1LQxB.js → client/webimage-BM_pbLN3-L2cGWK5l.js} +1 -1
  71. package/dist/node/cli.js +20 -0
  72. package/dist/node/main.js +2 -0
  73. package/dist/node/types.d.ts +47 -0
  74. package/package.json +57 -51
  75. package/widgets/EodashDatePicker.vue +146 -40
  76. package/widgets/EodashItemFilter.vue +81 -41
  77. package/widgets/EodashLayerControl.vue +16 -0
  78. package/widgets/EodashMap.vue +186 -42
  79. package/widgets/EodashMapBtns.vue +50 -0
  80. package/widgets/ExportState.vue +112 -0
  81. package/widgets/PopUp.vue +40 -0
  82. package/widgets/WidgetsContainer.vue +47 -27
  83. package/bin/app.js +0 -22
  84. package/bin/cli.js +0 -62
  85. package/bin/main.js +0 -9
  86. package/bin/serverConfig.js +0 -165
  87. package/bin/types.d.ts +0 -52
  88. package/bin/utils.js +0 -103
  89. package/core/App.vue +0 -19
  90. package/core/SuspensedDashboard.ce.vue +0 -65
  91. package/core/asWebComponent.d.ts +0 -18
  92. package/core/asWebComponent.js +0 -12
  93. package/core/components/DashboardLayout.vue +0 -44
  94. package/core/components/DynamicWebComponent.vue +0 -68
  95. package/core/components/Header.vue +0 -14
  96. package/core/components/IframeWrapper.vue +0 -11
  97. package/core/components/Loading.vue +0 -27
  98. package/core/components/MobileLayout.vue +0 -49
  99. package/core/composables/DefineEodash.js +0 -57
  100. package/core/composables/DefineWidgets.js +0 -129
  101. package/core/composables/index.js +0 -219
  102. package/core/eodash.js +0 -100
  103. package/core/main.js +0 -2
  104. package/core/plugins/index.js +0 -18
  105. package/core/plugins/vuetify.js +0 -30
  106. package/core/render.js +0 -13
  107. package/core/store/Actions.js +0 -0
  108. package/core/store/States.js +0 -21
  109. package/core/store/index.js +0 -17
  110. package/core/store/stac.js +0 -63
  111. package/core/types.d.ts +0 -356
  112. package/core/utils/eodashSTAC.js +0 -164
  113. package/core/utils/helpers.js +0 -40
  114. package/core/utils/index.js +0 -28
  115. package/core/views/Dashboard.vue +0 -59
  116. package/core/vite-env.d.ts +0 -31
  117. package/dist/DashboardLayout-Dp8AnYD9.js +0 -141
  118. package/dist/EodashDatePicker-D_udZ26j.js +0 -1645
  119. package/dist/EodashItemFilter-BLAGx2UD.js +0 -51
  120. package/dist/EodashMap-Bxl_aqY2.js +0 -53405
  121. package/dist/Footer-AohCH8U7.js +0 -118
  122. package/dist/Header-DC50S6GR.js +0 -609
  123. package/dist/MobileLayout-CgToA7Gp.js +0 -523
  124. package/dist/VBtn-Bz7ruRUg.js +0 -1106
  125. package/dist/VMain-BHfWJU2j.js +0 -35
  126. package/dist/asWebComponent-C8rb3b1D.js +0 -11323
  127. package/dist/color-DpYEub1f.js +0 -115
  128. package/dist/deflate-Be2Arps5-hDqMz3RA.js +0 -10
  129. package/dist/dimensions-CJaGeSrj.js +0 -53
  130. package/dist/eo-dash.js +0 -6
  131. package/dist/eox-itemfilter-DcQkRD2l.js +0 -7537
  132. package/dist/eox-map-BJ9SIixs.js +0 -36205
  133. package/dist/eox-stacinfo-B-YrT7Ug.js +0 -13698
  134. package/dist/forwardRefs-Bxeu9Obx.js +0 -142
  135. package/dist/index-Sa2Vg_gx.js +0 -65
  136. package/dist/style.css +0 -5
  137. /package/dist/{.gitkeep → client/.gitkeep} +0 -0
  138. /package/dist/{_commonjsHelpers-DaMA6jEr.js → client/_commonjsHelpers-DaMA6jEr.js} +0 -0
@@ -1,609 +0,0 @@
1
- import { p as x, b as N, e as G, g as B, u as k, a as t, c as v, t as z, U as ie, s as y, r as A, w as V, V as ue, W as ce, X as de, Y as J, M as j, Z as ve, F as me, m as U, v as C, P as ge, _ as fe, $ as he, f as be, q as ye, l as Se, C as _e, a0 as Te, a1 as Ve, n as xe, a2 as Be, a3 as ke, a4 as Pe, y as Ce, z as we, D as Ie, E as Re, G as O, O as ze, Q as Ne, J as q } from "./asWebComponent-C8rb3b1D.js";
2
- import { m as Ee, u as He, V as H } from "./dimensions-CJaGeSrj.js";
3
- import { m as K, a as Q, b as X, c as Ae, d as Ue, e as De, f as Me } from "./color-DpYEub1f.js";
4
- import { m as We, i as Fe, M as R } from "./index-Sa2Vg_gx.js";
5
- import { a as Le } from "./index-DTkOfh2g.js";
6
- import { u as je } from "./ssrBoot-D-b4-M19.js";
7
- const Z = x({
8
- text: String,
9
- ...N(),
10
- ...G()
11
- }, "VToolbarTitle"), p = B()({
12
- name: "VToolbarTitle",
13
- props: Z(),
14
- setup(e, u) {
15
- let {
16
- slots: a
17
- } = u;
18
- return k(() => {
19
- const s = !!(a.default || a.text || e.text);
20
- return t(e.tag, {
21
- class: ["v-toolbar-title", e.class],
22
- style: e.style
23
- }, {
24
- default: () => [s && t("div", {
25
- class: "v-toolbar-title__placeholder"
26
- }, [a.text ? a.text() : e.text, a.default?.()])]
27
- });
28
- }), {};
29
- }
30
- });
31
- function Oe(e) {
32
- return {
33
- aspectStyles: v(() => {
34
- const u = Number(e.aspectRatio);
35
- return u ? {
36
- paddingBottom: String(1 / u * 100) + "%"
37
- } : void 0;
38
- })
39
- };
40
- }
41
- const ee = x({
42
- aspectRatio: [String, Number],
43
- contentClass: String,
44
- inline: Boolean,
45
- ...N(),
46
- ...Ee()
47
- }, "VResponsive"), $ = B()({
48
- name: "VResponsive",
49
- props: ee(),
50
- setup(e, u) {
51
- let {
52
- slots: a
53
- } = u;
54
- const {
55
- aspectStyles: s
56
- } = Oe(e), {
57
- dimensionStyles: c
58
- } = He(e);
59
- return k(() => t("div", {
60
- class: ["v-responsive", {
61
- "v-responsive--inline": e.inline
62
- }, e.class],
63
- style: [c.value, e.style]
64
- }, [t("div", {
65
- class: "v-responsive__sizer",
66
- style: s.value
67
- }, null), a.additional?.(), a.default && t("div", {
68
- class: ["v-responsive__content", e.contentClass]
69
- }, [a.default()])])), {};
70
- }
71
- }), qe = x({
72
- alt: String,
73
- cover: Boolean,
74
- color: String,
75
- draggable: {
76
- type: [Boolean, String],
77
- default: void 0
78
- },
79
- eager: Boolean,
80
- gradient: String,
81
- lazySrc: String,
82
- options: {
83
- type: Object,
84
- // For more information on types, navigate to:
85
- // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
86
- default: () => ({
87
- root: void 0,
88
- rootMargin: void 0,
89
- threshold: void 0
90
- })
91
- },
92
- sizes: String,
93
- src: {
94
- type: [String, Object],
95
- default: ""
96
- },
97
- crossorigin: String,
98
- referrerpolicy: String,
99
- srcset: String,
100
- position: String,
101
- ...ee(),
102
- ...N(),
103
- ...K(),
104
- ...We()
105
- }, "VImg"), te = B()({
106
- name: "VImg",
107
- directives: {
108
- intersect: Fe
109
- },
110
- props: qe(),
111
- emits: {
112
- loadstart: (e) => !0,
113
- load: (e) => !0,
114
- error: (e) => !0
115
- },
116
- setup(e, u) {
117
- let {
118
- emit: a,
119
- slots: s
120
- } = u;
121
- const {
122
- backgroundColorClasses: c,
123
- backgroundColorStyles: r
124
- } = Q(z(e, "color")), {
125
- roundedClasses: S
126
- } = X(e), g = ie("VImg"), _ = y(""), o = A(), l = y(e.eager ? "loading" : "idle"), f = y(), m = y(), n = v(() => e.src && typeof e.src == "object" ? {
127
- src: e.src.src,
128
- srcset: e.srcset || e.src.srcset,
129
- lazySrc: e.lazySrc || e.src.lazySrc,
130
- aspect: Number(e.aspectRatio || e.src.aspect || 0)
131
- } : {
132
- src: e.src,
133
- srcset: e.srcset,
134
- lazySrc: e.lazySrc,
135
- aspect: Number(e.aspectRatio || 0)
136
- }), h = v(() => n.value.aspect || f.value / m.value || 0);
137
- V(() => e.src, () => {
138
- T(l.value !== "idle");
139
- }), V(h, (i, b) => {
140
- !i && b && o.value && P(o.value);
141
- }), ue(() => T());
142
- function T(i) {
143
- if (!(e.eager && i) && !(ce && !i && !e.eager)) {
144
- if (l.value = "loading", n.value.lazySrc) {
145
- const b = new Image();
146
- b.src = n.value.lazySrc, P(b, null);
147
- }
148
- n.value.src && de(() => {
149
- a("loadstart", o.value?.currentSrc || n.value.src), setTimeout(() => {
150
- if (!g.isUnmounted)
151
- if (o.value?.complete) {
152
- if (o.value.naturalWidth || d(), l.value === "error")
153
- return;
154
- h.value || P(o.value, null), l.value === "loading" && w();
155
- } else
156
- h.value || P(o.value), I();
157
- });
158
- });
159
- }
160
- }
161
- function w() {
162
- g.isUnmounted || (I(), P(o.value), l.value = "loaded", a("load", o.value?.currentSrc || n.value.src));
163
- }
164
- function d() {
165
- g.isUnmounted || (l.value = "error", a("error", o.value?.currentSrc || n.value.src));
166
- }
167
- function I() {
168
- const i = o.value;
169
- i && (_.value = i.currentSrc || i.src);
170
- }
171
- let E = -1;
172
- J(() => {
173
- clearTimeout(E);
174
- });
175
- function P(i) {
176
- let b = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 100;
177
- const W = () => {
178
- if (clearTimeout(E), g.isUnmounted)
179
- return;
180
- const {
181
- naturalHeight: F,
182
- naturalWidth: L
183
- } = i;
184
- F || L ? (f.value = L, m.value = F) : !i.complete && l.value === "loading" && b != null ? E = window.setTimeout(W, b) : (i.currentSrc.endsWith(".svg") || i.currentSrc.startsWith("data:image/svg+xml")) && (f.value = 1, m.value = 1);
185
- };
186
- W();
187
- }
188
- const D = v(() => ({
189
- "v-img__img--cover": e.cover,
190
- "v-img__img--contain": !e.cover
191
- })), le = () => {
192
- if (!n.value.src || l.value === "idle")
193
- return null;
194
- const i = t("img", {
195
- class: ["v-img__img", D.value],
196
- style: {
197
- objectPosition: e.position
198
- },
199
- src: n.value.src,
200
- srcset: n.value.srcset,
201
- alt: e.alt,
202
- crossorigin: e.crossorigin,
203
- referrerpolicy: e.referrerpolicy,
204
- draggable: e.draggable,
205
- sizes: e.sizes,
206
- ref: o,
207
- onLoad: w,
208
- onError: d
209
- }, null), b = s.sources?.();
210
- return t(R, {
211
- transition: e.transition,
212
- appear: !0
213
- }, {
214
- default: () => [j(b ? t("picture", {
215
- class: "v-img__picture"
216
- }, [b, i]) : i, [[ge, l.value === "loaded"]])]
217
- });
218
- }, ne = () => t(R, {
219
- transition: e.transition
220
- }, {
221
- default: () => [n.value.lazySrc && l.value !== "loaded" && t("img", {
222
- class: ["v-img__img", "v-img__img--preload", D.value],
223
- style: {
224
- objectPosition: e.position
225
- },
226
- src: n.value.lazySrc,
227
- alt: e.alt,
228
- crossorigin: e.crossorigin,
229
- referrerpolicy: e.referrerpolicy,
230
- draggable: e.draggable
231
- }, null)]
232
- }), re = () => s.placeholder ? t(R, {
233
- transition: e.transition,
234
- appear: !0
235
- }, {
236
- default: () => [(l.value === "loading" || l.value === "error" && !s.error) && t("div", {
237
- class: "v-img__placeholder"
238
- }, [s.placeholder()])]
239
- }) : null, se = () => s.error ? t(R, {
240
- transition: e.transition,
241
- appear: !0
242
- }, {
243
- default: () => [l.value === "error" && t("div", {
244
- class: "v-img__error"
245
- }, [s.error()])]
246
- }) : null, oe = () => e.gradient ? t("div", {
247
- class: "v-img__gradient",
248
- style: {
249
- backgroundImage: `linear-gradient(${e.gradient})`
250
- }
251
- }, null) : null, M = y(!1);
252
- {
253
- const i = V(h, (b) => {
254
- b && (requestAnimationFrame(() => {
255
- requestAnimationFrame(() => {
256
- M.value = !0;
257
- });
258
- }), i());
259
- });
260
- }
261
- return k(() => {
262
- const i = $.filterProps(e);
263
- return j(t($, U({
264
- class: ["v-img", {
265
- "v-img--booting": !M.value
266
- }, c.value, S.value, e.class],
267
- style: [{
268
- width: C(e.width === "auto" ? f.value : e.width)
269
- }, r.value, e.style]
270
- }, i, {
271
- aspectRatio: h.value,
272
- "aria-label": e.alt,
273
- role: e.alt ? "img" : void 0
274
- }), {
275
- additional: () => t(me, null, [t(le, null, null), t(ne, null, null), t(oe, null, null), t(re, null, null), t(se, null, null)]),
276
- default: s.default
277
- }), [[ve("intersect"), {
278
- handler: T,
279
- options: e.options
280
- }, null, {
281
- once: !0
282
- }]]);
283
- }), {
284
- currentSrc: _,
285
- image: o,
286
- state: l,
287
- naturalWidth: f,
288
- naturalHeight: m
289
- };
290
- }
291
- }), $e = [null, "prominent", "default", "comfortable", "compact"], ae = x({
292
- absolute: Boolean,
293
- collapse: Boolean,
294
- color: String,
295
- density: {
296
- type: String,
297
- default: "default",
298
- validator: (e) => $e.includes(e)
299
- },
300
- extended: Boolean,
301
- extensionHeight: {
302
- type: [Number, String],
303
- default: 48
304
- },
305
- flat: Boolean,
306
- floating: Boolean,
307
- height: {
308
- type: [Number, String],
309
- default: 64
310
- },
311
- image: String,
312
- title: String,
313
- ...Ae(),
314
- ...N(),
315
- ...Ue(),
316
- ...K(),
317
- ...G({
318
- tag: "header"
319
- }),
320
- ...fe()
321
- }, "VToolbar"), Y = B()({
322
- name: "VToolbar",
323
- props: ae(),
324
- setup(e, u) {
325
- let {
326
- slots: a
327
- } = u;
328
- const {
329
- backgroundColorClasses: s,
330
- backgroundColorStyles: c
331
- } = Q(z(e, "color")), {
332
- borderClasses: r
333
- } = De(e), {
334
- elevationClasses: S
335
- } = Me(e), {
336
- roundedClasses: g
337
- } = X(e), {
338
- themeClasses: _
339
- } = he(e), {
340
- rtlClasses: o
341
- } = be(), l = y(!!(e.extended || a.extension?.())), f = v(() => parseInt(Number(e.height) + (e.density === "prominent" ? Number(e.height) : 0) - (e.density === "comfortable" ? 8 : 0) - (e.density === "compact" ? 16 : 0), 10)), m = v(() => l.value ? parseInt(Number(e.extensionHeight) + (e.density === "prominent" ? Number(e.extensionHeight) : 0) - (e.density === "comfortable" ? 4 : 0) - (e.density === "compact" ? 8 : 0), 10) : 0);
342
- return ye({
343
- VBtn: {
344
- variant: "text"
345
- }
346
- }), k(() => {
347
- const n = !!(e.title || a.title), h = !!(a.image || e.image), T = a.extension?.();
348
- return l.value = !!(e.extended || T), t(e.tag, {
349
- class: ["v-toolbar", {
350
- "v-toolbar--absolute": e.absolute,
351
- "v-toolbar--collapse": e.collapse,
352
- "v-toolbar--flat": e.flat,
353
- "v-toolbar--floating": e.floating,
354
- [`v-toolbar--density-${e.density}`]: !0
355
- }, s.value, r.value, S.value, g.value, _.value, o.value, e.class],
356
- style: [c.value, e.style]
357
- }, {
358
- default: () => [h && t("div", {
359
- key: "image",
360
- class: "v-toolbar__image"
361
- }, [a.image ? t(H, {
362
- key: "image-defaults",
363
- disabled: !e.image,
364
- defaults: {
365
- VImg: {
366
- cover: !0,
367
- src: e.image
368
- }
369
- }
370
- }, a.image) : t(te, {
371
- key: "image-img",
372
- cover: !0,
373
- src: e.image
374
- }, null)]), t(H, {
375
- defaults: {
376
- VTabs: {
377
- height: C(f.value)
378
- }
379
- }
380
- }, {
381
- default: () => [t("div", {
382
- class: "v-toolbar__content",
383
- style: {
384
- height: C(f.value)
385
- }
386
- }, [a.prepend && t("div", {
387
- class: "v-toolbar__prepend"
388
- }, [a.prepend?.()]), n && t(p, {
389
- key: "title",
390
- text: e.title
391
- }, {
392
- text: a.title
393
- }), a.default?.(), a.append && t("div", {
394
- class: "v-toolbar__append"
395
- }, [a.append?.()])])]
396
- }), t(H, {
397
- defaults: {
398
- VTabs: {
399
- height: C(m.value)
400
- }
401
- }
402
- }, {
403
- default: () => [t(Le, null, {
404
- default: () => [l.value && t("div", {
405
- class: "v-toolbar__extension",
406
- style: {
407
- height: C(m.value)
408
- }
409
- }, [T])]
410
- })]
411
- })]
412
- });
413
- }), {
414
- contentHeight: f,
415
- extensionHeight: m
416
- };
417
- }
418
- }), Ye = x({
419
- scrollTarget: {
420
- type: String
421
- },
422
- scrollThreshold: {
423
- type: [String, Number],
424
- default: 300
425
- }
426
- }, "scroll");
427
- function Ge(e) {
428
- let u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
429
- const {
430
- canScroll: a
431
- } = u;
432
- let s = 0;
433
- const c = A(null), r = y(0), S = y(0), g = y(0), _ = y(!1), o = y(!1), l = v(() => Number(e.scrollThreshold)), f = v(() => Se((l.value - r.value) / l.value || 0)), m = () => {
434
- const n = c.value;
435
- !n || a && !a.value || (s = r.value, r.value = "window" in n ? n.pageYOffset : n.scrollTop, o.value = r.value < s, g.value = Math.abs(r.value - l.value));
436
- };
437
- return V(o, () => {
438
- S.value = S.value || r.value;
439
- }), V(_, () => {
440
- S.value = 0;
441
- }), _e(() => {
442
- V(() => e.scrollTarget, (n) => {
443
- const h = n ? document.querySelector(n) : window;
444
- if (!h) {
445
- Te(`Unable to locate element with identifier ${n}`);
446
- return;
447
- }
448
- h !== c.value && (c.value?.removeEventListener("scroll", m), c.value = h, c.value.addEventListener("scroll", m, {
449
- passive: !0
450
- }));
451
- }, {
452
- immediate: !0
453
- });
454
- }), J(() => {
455
- c.value?.removeEventListener("scroll", m);
456
- }), a && V(a, m, {
457
- immediate: !0
458
- }), {
459
- scrollThreshold: l,
460
- currentScroll: r,
461
- currentThreshold: g,
462
- isScrollActive: _,
463
- scrollRatio: f,
464
- // required only for testing
465
- // probably can be removed
466
- // later (2 chars chlng)
467
- isScrollingUp: o,
468
- savedScroll: S
469
- };
470
- }
471
- const Je = x({
472
- scrollBehavior: String,
473
- modelValue: {
474
- type: Boolean,
475
- default: !0
476
- },
477
- location: {
478
- type: String,
479
- default: "top",
480
- validator: (e) => ["top", "bottom"].includes(e)
481
- },
482
- ...ae(),
483
- ...Ve(),
484
- ...Ye(),
485
- height: {
486
- type: [Number, String],
487
- default: 64
488
- }
489
- }, "VAppBar"), Ke = B()({
490
- name: "VAppBar",
491
- props: Je(),
492
- emits: {
493
- "update:modelValue": (e) => !0
494
- },
495
- setup(e, u) {
496
- let {
497
- slots: a
498
- } = u;
499
- const s = A(), c = xe(e, "modelValue"), r = v(() => {
500
- const d = new Set(e.scrollBehavior?.split(" ") ?? []);
501
- return {
502
- hide: d.has("hide"),
503
- // fullyHide: behavior.has('fully-hide'),
504
- inverted: d.has("inverted"),
505
- collapse: d.has("collapse"),
506
- elevate: d.has("elevate"),
507
- fadeImage: d.has("fade-image")
508
- // shrink: behavior.has('shrink'),
509
- };
510
- }), S = v(() => {
511
- const d = r.value;
512
- return d.hide || // behavior.fullyHide ||
513
- d.inverted || d.collapse || d.elevate || d.fadeImage || // behavior.shrink ||
514
- !c.value;
515
- }), {
516
- currentScroll: g,
517
- scrollThreshold: _,
518
- isScrollingUp: o,
519
- scrollRatio: l
520
- } = Ge(e, {
521
- canScroll: S
522
- }), f = v(() => e.collapse || r.value.collapse && (r.value.inverted ? l.value > 0 : l.value === 0)), m = v(() => e.flat || r.value.elevate && (r.value.inverted ? g.value > 0 : g.value === 0)), n = v(() => r.value.fadeImage ? r.value.inverted ? 1 - l.value : l.value : void 0), h = v(() => {
523
- if (r.value.hide && r.value.inverted)
524
- return 0;
525
- const d = s.value?.contentHeight ?? 0, I = s.value?.extensionHeight ?? 0;
526
- return d + I;
527
- });
528
- Be(v(() => !!e.scrollBehavior), () => {
529
- ke(() => {
530
- r.value.hide ? r.value.inverted ? c.value = g.value > _.value : c.value = o.value || g.value < _.value : c.value = !0;
531
- });
532
- });
533
- const {
534
- ssrBootStyles: T
535
- } = je(), {
536
- layoutItemStyles: w
537
- } = Pe({
538
- id: e.name,
539
- order: v(() => parseInt(e.order, 10)),
540
- position: z(e, "location"),
541
- layoutSize: h,
542
- elementSize: y(void 0),
543
- active: c,
544
- absolute: z(e, "absolute")
545
- });
546
- return k(() => {
547
- const d = Y.filterProps(e);
548
- return t(Y, U({
549
- ref: s,
550
- class: ["v-app-bar", {
551
- "v-app-bar--bottom": e.location === "bottom"
552
- }, e.class],
553
- style: [{
554
- ...w.value,
555
- "--v-toolbar-image-opacity": n.value,
556
- height: void 0,
557
- ...T.value
558
- }, e.style]
559
- }, d, {
560
- collapse: f.value,
561
- flat: m.value
562
- }), a);
563
- }), {};
564
- }
565
- }), Qe = B()({
566
- name: "VAppBarTitle",
567
- props: Z(),
568
- setup(e, u) {
569
- let {
570
- slots: a
571
- } = u;
572
- return k(() => t(p, U(e, {
573
- class: "v-app-bar-title"
574
- }), a)), {};
575
- }
576
- }), lt = {
577
- __name: "Header",
578
- setup(e) {
579
- const u = (
580
- /** @type {import("@/types").Eodash} */
581
- Ce(we)
582
- ), a = u.brand?.name;
583
- return (s, c) => (Ie(), Re(Ke, { color: "primary" }, {
584
- default: O(() => [
585
- t(Qe, null, {
586
- default: O(() => [
587
- ze(
588
- Ne(q(a)),
589
- 1
590
- /* TEXT */
591
- )
592
- ]),
593
- _: 1
594
- /* STABLE */
595
- }),
596
- t(te, {
597
- class: "mx-12",
598
- style: { "max-width": "140px" },
599
- src: q(u).brand?.logo
600
- }, null, 8, ["src"])
601
- ]),
602
- _: 1
603
- /* STABLE */
604
- }));
605
- }
606
- };
607
- export {
608
- lt as default
609
- };