@meddleware/ui 0.1.30 → 0.1.32

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.
package/dist/ui.js CHANGED
@@ -1,6 +1,6 @@
1
- import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineComponent as c, mergeModels as l, normalizeClass as u, onBeforeUnmount as d, onMounted as f, onUnmounted as p, openBlock as m, ref as h, renderList as g, renderSlot as _, resolveDynamicComponent as v, toDisplayString as y, unref as b, useCssVars as x, useId as S, useModel as C, useSlots as w, vModelSelect as T, watch as E, withCtx as D, withDirectives as O } from "vue";
1
+ import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineComponent as c, effectScope as l, mergeModels as u, normalizeClass as d, onBeforeUnmount as f, onMounted as p, onUnmounted as m, openBlock as h, ref as g, renderList as _, renderSlot as v, resolveDynamicComponent as y, toDisplayString as b, unref as x, useCssVars as S, useId as C, useModel as w, useSlots as T, vModelSelect as E, watch as D, withCtx as O, withDirectives as k } from "vue";
2
2
  //#region src/internal/panel.ts
3
- function k(e, t) {
3
+ function A(e, t) {
4
4
  let n;
5
5
  return n = e === "transparent" ? {
6
6
  "--_bg": "transparent",
@@ -17,23 +17,23 @@ function k(e, t) {
17
17
  "--_text": "var(--mw-panel-light-text)",
18
18
  "--_muted": "var(--mw-panel-light-muted)",
19
19
  "--_border": "var(--mw-panel-light-border)",
20
- "--_ok": "var(--mw-panel-light-ok, #177542)",
21
- "--_danger": "var(--mw-panel-light-danger, #b3261e)",
22
- "--_info": "var(--mw-panel-light-info, #1558b5)"
20
+ "--_ok": "var(--mw-panel-light-ok)",
21
+ "--_danger": "var(--mw-panel-light-danger)",
22
+ "--_info": "var(--mw-panel-light-info)"
23
23
  } : {
24
24
  "--_bg": "var(--mw-panel-dark-bg)",
25
25
  "--_surface": "var(--mw-panel-dark-surface)",
26
26
  "--_text": "var(--mw-panel-dark-text)",
27
27
  "--_muted": "var(--mw-panel-dark-muted)",
28
28
  "--_border": "var(--mw-panel-dark-border)",
29
- "--_ok": "var(--mw-panel-dark-ok, #5bb392)",
30
- "--_danger": "var(--mw-panel-dark-danger, #f08a7e)",
31
- "--_info": "var(--mw-panel-dark-info, #6ea8fe)"
29
+ "--_ok": "var(--mw-panel-dark-ok)",
30
+ "--_danger": "var(--mw-panel-dark-danger)",
31
+ "--_info": "var(--mw-panel-dark-info)"
32
32
  }, t && (t.bg && (n["--_bg"] = t.bg), t.surface && (n["--_surface"] = t.surface), t.text && (n["--_text"] = t.text), t.muted && (n["--_muted"] = t.muted), t.border && (n["--_border"] = t.border), t.ok && (n["--_ok"] = t.ok), t.danger && (n["--_danger"] = t.danger), t.info && (n["--_info"] = t.info)), n;
33
33
  }
34
34
  //#endregion
35
35
  //#region src/components/AppHeader.vue?vue&type=script&setup=true&lang.ts
36
- var A = /*@__PURE__*/ c({
36
+ var j = /*@__PURE__*/ c({
37
37
  __name: "AppHeader",
38
38
  props: {
39
39
  variant: { default: "dark" },
@@ -48,40 +48,40 @@ var A = /*@__PURE__*/ c({
48
48
  }
49
49
  },
50
50
  setup(e) {
51
- x((e) => ({
52
- v207c6e6c: r.value["--_bg"],
53
- f304fa44: r.value["--_surface"],
54
- v25353d32: r.value["--_text"],
55
- v2a36159c: r.value["--_muted"],
56
- v65041df1: r.value["--_border"],
57
- v20707ebe: r.value["--_ok"],
58
- v49861e28: r.value["--_danger"],
59
- v12e68073: r.value["--_info"]
51
+ S((e) => ({
52
+ fff85088: r.value["--_bg"],
53
+ v5048fb2c: r.value["--_surface"],
54
+ a5a150b8: r.value["--_text"],
55
+ bd016d2c: r.value["--_muted"],
56
+ v523d383a: r.value["--_border"],
57
+ ffec60da: r.value["--_ok"],
58
+ v893937cc: r.value["--_danger"],
59
+ ca3eca36: r.value["--_info"]
60
60
  }));
61
- let n = e, r = t(() => k(n.variant, n.colors)), a = h(!1), o = null;
62
- return f(() => {
61
+ let n = e, r = t(() => A(n.variant, n.colors)), a = g(!1), o = null;
62
+ return p(() => {
63
63
  n.solidifyOnScroll && typeof window < "u" && (o = () => {
64
64
  a.value = window.scrollY > 8;
65
65
  }, o(), window.addEventListener("scroll", o, { passive: !0 }));
66
- }), d(() => {
66
+ }), f(() => {
67
67
  o && window.removeEventListener("scroll", o);
68
- }), (t, n) => (m(), i("header", { class: u(["mw-header", [`mw-header--${e.variant}`, {
68
+ }), (t, n) => (h(), i("header", { class: d(["mw-header", [`mw-header--${e.variant}`, {
69
69
  "mw-header--sticky": e.sticky,
70
70
  "mw-header--scrolled": e.solidifyOnScroll && a.value
71
71
  }]]) }, [
72
- _(t.$slots, "brand"),
73
- _(t.$slots, "default"),
74
- _(t.$slots, "actions")
72
+ v(t.$slots, "brand"),
73
+ v(t.$slots, "default"),
74
+ v(t.$slots, "actions")
75
75
  ], 2));
76
76
  }
77
- }), j = (e, t) => {
77
+ }), M = (e, t) => {
78
78
  let n = e.__vccOpts || e;
79
79
  for (let [e, r] of t) n[e] = r;
80
80
  return n;
81
- }, ee = /*#__PURE__*/ j(A, [["__scopeId", "data-v-4c177b22"]]), te = {
81
+ }, ee = /*#__PURE__*/ M(j, [["__scopeId", "data-v-384786e1"]]), te = {
82
82
  class: "mw-sidebar__nav",
83
83
  "aria-label": "Primary"
84
- }, ne = /*#__PURE__*/ j(/* @__PURE__ */ c({
84
+ }, ne = /*#__PURE__*/ M(/* @__PURE__ */ c({
85
85
  __name: "AppSidebar",
86
86
  props: {
87
87
  variant: { default: "dark" },
@@ -89,41 +89,49 @@ var A = /*@__PURE__*/ c({
89
89
  width: {}
90
90
  },
91
91
  setup(e) {
92
- x((e) => ({
93
- v71ead984: r.value["--_bg"],
94
- fe385338: r.value["--_surface"],
95
- v7d45f128: r.value["--_text"],
96
- v130792a2: r.value["--_muted"],
97
- d33b7caa: r.value["--_border"],
98
- v71f0d15b: r.value["--_ok"],
99
- v7ae441e2: r.value["--_danger"],
100
- a1e36aa6: r.value["--_info"],
101
- v4463291a: o.value
92
+ S((e) => ({
93
+ v5b5002f5: r.value["--_bg"],
94
+ v6623eb93: r.value["--_surface"],
95
+ v33c4cec6: r.value["--_text"],
96
+ f34db0de: r.value["--_muted"],
97
+ e5796ac8: r.value["--_border"],
98
+ v5b55facc: r.value["--_ok"],
99
+ v71c54ad3: r.value["--_danger"],
100
+ v58624844: r.value["--_info"],
101
+ d1940a6a: o.value
102
102
  }));
103
- let n = e, r = t(() => k(n.variant, n.colors)), o = t(() => n.width ?? "var(--mw-sidebar-width, 240px)");
104
- return (t, n) => (m(), i("aside", { class: u(["mw-sidebar", `mw-sidebar--${e.variant}`]) }, [
105
- _(t.$slots, "head", {}, void 0, !0),
106
- a("nav", te, [_(t.$slots, "default", {}, void 0, !0)]),
107
- _(t.$slots, "body", {}, void 0, !0),
108
- _(t.$slots, "foot", {}, void 0, !0)
103
+ let n = e, r = t(() => A(n.variant, n.colors)), o = t(() => n.width ?? "var(--mw-sidebar-width, 240px)");
104
+ return (t, n) => (h(), i("aside", { class: d(["mw-sidebar", `mw-sidebar--${e.variant}`]) }, [
105
+ v(t.$slots, "head"),
106
+ a("nav", te, [v(t.$slots, "default")]),
107
+ v(t.$slots, "body"),
108
+ v(t.$slots, "foot")
109
109
  ], 2));
110
110
  }
111
- }), [["__scopeId", "data-v-30f2000a"]]);
112
- //#endregion
113
- //#region src/safe-href.ts
114
- function M(e) {
115
- if (e) try {
111
+ }), [["__scopeId", "data-v-e5506501"]]), N = /[\u0000-\u0020\u007f\\]/;
112
+ function P(e) {
113
+ if (e && !N.test(e)) try {
116
114
  let t = new URL(e);
117
- if (t.protocol === "https:" || t.protocol === "http:" && (t.hostname === "localhost" || t.hostname === "127.0.0.1")) return e;
115
+ if (t.username || t.password) return;
116
+ if (t.protocol === "https:" || t.protocol === "http:" && (t.hostname === "localhost" || t.hostname === "127.0.0.1")) return t.href;
118
117
  } catch {}
119
118
  }
119
+ var F = "https://site.invalid";
120
+ function I(e) {
121
+ if (e && !N.test(e) && e.startsWith("/") && !e.startsWith("//")) try {
122
+ let t = new URL(e, F);
123
+ return t.origin === F ? t.pathname + t.search + t.hash : void 0;
124
+ } catch {
125
+ return;
126
+ }
127
+ }
120
128
  //#endregion
121
129
  //#region src/components/AppFooter.vue?vue&type=script&setup=true&lang.ts
122
130
  var re = {
123
131
  key: 0,
124
132
  class: "mw-footer__docs",
125
133
  "aria-label": "Documentation"
126
- }, ie = ["href"], ae = ["href"], oe = /*#__PURE__*/ j(/* @__PURE__ */ c({
134
+ }, ie = ["href"], ae = ["href"], oe = /*#__PURE__*/ M(/* @__PURE__ */ c({
127
135
  __name: "AppFooter",
128
136
  props: {
129
137
  variant: { default: "transparent" },
@@ -132,40 +140,39 @@ var re = {
132
140
  devUrl: {}
133
141
  },
134
142
  setup(e) {
135
- x((e) => ({
136
- v605673bd: a.value["--_bg"],
137
- v08ecb7cb: a.value["--_surface"],
138
- v796a1136: a.value["--_text"],
139
- v4ed7a1c9: a.value["--_muted"],
140
- v56d7d138: a.value["--_border"],
141
- v605c6b94: a.value["--_ok"],
142
- v8dd3d0ca: a.value["--_danger"],
143
- v9e078ab4: a.value["--_info"]
143
+ S((e) => ({
144
+ v331b054e: a.value["--_bg"],
145
+ v5a224faf: a.value["--_surface"],
146
+ v328b0a01: a.value["--_text"],
147
+ v70cc3aa6: a.value["--_muted"],
148
+ v7419f300: a.value["--_border"],
149
+ v330f15a0: a.value["--_ok"],
150
+ v589bf337: a.value["--_danger"],
151
+ v203c4d42: a.value["--_info"]
144
152
  }));
145
- let n = e, a = t(() => k(n.variant, n.colors));
146
- return (t, n) => (m(), i("footer", { class: u(["mw-footer", `mw-footer--${e.variant}`]) }, [
147
- _(t.$slots, "start", {}, void 0, !0),
148
- _(t.$slots, "default", {}, void 0, !0),
149
- _(t.$slots, "end", {}, void 0, !0),
150
- e.docsUrl || e.devUrl ? (m(), i("nav", re, [e.docsUrl ? (m(), i("a", {
153
+ let n = e, a = t(() => A(n.variant, n.colors));
154
+ return (t, n) => (h(), i("footer", { class: d(["mw-footer", `mw-footer--${e.variant}`]) }, [
155
+ v(t.$slots, "start"),
156
+ v(t.$slots, "default"),
157
+ v(t.$slots, "end"),
158
+ e.docsUrl || e.devUrl ? (h(), i("nav", re, [e.docsUrl ? (h(), i("a", {
151
159
  key: 0,
152
- href: b(M)(e.docsUrl),
160
+ href: x(P)(e.docsUrl),
153
161
  target: "_blank",
154
162
  rel: "noopener noreferrer"
155
- }, "Documentation", 8, ie)) : r("", !0), e.devUrl ? (m(), i("a", {
163
+ }, "Documentation", 8, ie)) : r("", !0), e.devUrl ? (h(), i("a", {
156
164
  key: 1,
157
- href: b(M)(e.devUrl),
165
+ href: x(P)(e.devUrl),
158
166
  target: "_blank",
159
- rel: "noopener noreferrer",
160
- "aria-label": "Developer documentation"
167
+ rel: "noopener noreferrer"
161
168
  }, "Developer docs", 8, ae)) : r("", !0)])) : r("", !0)
162
169
  ], 2));
163
170
  }
164
- }), [["__scopeId", "data-v-6c5fa699"]]), se = { class: "mw-mode" }, ce = [
171
+ }), [["__scopeId", "data-v-42cde159"]]), se = { class: "mw-mode" }, ce = [
165
172
  "aria-pressed",
166
173
  "title",
167
174
  "onClick"
168
- ], le = { "aria-hidden": "true" }, ue = { class: "mw-mode__label" }, de = /*#__PURE__*/ j(/* @__PURE__ */ c({
175
+ ], le = { "aria-hidden": "true" }, ue = { class: "mw-mode__label" }, de = /*#__PURE__*/ M(/* @__PURE__ */ c({
169
176
  __name: "ColorModeControl",
170
177
  props: {
171
178
  modelValue: {},
@@ -186,16 +193,16 @@ var re = {
186
193
  dark: "☾",
187
194
  system: "🖵"
188
195
  };
189
- return (o, s) => (m(), i("fieldset", se, [s[0] ||= a("legend", { class: "mw-visually-hidden" }, "Colour mode", -1), (m(!0), i(e, null, g(t.modes, (e) => (m(), i("button", {
196
+ return (o, s) => (h(), i("fieldset", se, [s[0] ||= a("legend", { class: "mw-visually-hidden" }, "Colour mode", -1), (h(!0), i(e, null, _(t.modes, (e) => (h(), i("button", {
190
197
  key: e,
191
198
  type: "button",
192
- class: u(["mw-mode__btn", { "is-active": t.modelValue === e }]),
199
+ class: d(["mw-mode__btn", { "is-active": t.modelValue === e }]),
193
200
  "aria-pressed": t.modelValue === e,
194
201
  title: n[e],
195
202
  onClick: (t) => o.$emit("update:modelValue", e)
196
- }, [a("span", le, y(r[e]), 1), a("span", ue, y(n[e]), 1)], 10, ce))), 128))]));
203
+ }, [a("span", le, b(r[e]), 1), a("span", ue, b(n[e]), 1)], 10, ce))), 128))]));
197
204
  }
198
- }), [["__scopeId", "data-v-e5cba7a7"]]), fe = ["type", "disabled"], pe = /*#__PURE__*/ j(/* @__PURE__ */ c({
205
+ }), [["__scopeId", "data-v-e5cba7a7"]]), fe = ["type", "disabled"], pe = /*#__PURE__*/ M(/* @__PURE__ */ c({
199
206
  __name: "UiButton",
200
207
  props: {
201
208
  variant: { default: "primary" },
@@ -206,29 +213,29 @@ var re = {
206
213
  }
207
214
  },
208
215
  setup(e) {
209
- return (t, n) => (m(), i("button", {
216
+ return (t, n) => (h(), i("button", {
210
217
  type: e.type,
211
218
  disabled: e.disabled,
212
- class: u(["mw-btn", `mw-btn--${e.variant}`])
213
- }, [_(t.$slots, "default", {}, void 0, !0)], 10, fe));
219
+ class: d(["mw-btn", `mw-btn--${e.variant}`])
220
+ }, [v(t.$slots, "default", {}, void 0, !0)], 10, fe));
214
221
  }
215
- }), [["__scopeId", "data-v-bc33cc23"]]), me = { class: "mw-card" }, N = {
222
+ }), [["__scopeId", "data-v-bc33cc23"]]), me = { class: "mw-card" }, he = {
216
223
  key: 0,
217
224
  class: "mw-card__header"
218
- }, P = { class: "mw-card__title" }, F = {
225
+ }, ge = { class: "mw-card__title" }, L = {
219
226
  key: 1,
220
227
  class: "mw-card__footer"
221
- }, I = /*#__PURE__*/ j(/* @__PURE__ */ c({
228
+ }, _e = /*#__PURE__*/ M(/* @__PURE__ */ c({
222
229
  __name: "UiCard",
223
230
  props: { title: {} },
224
231
  setup(e) {
225
- return (t, n) => (m(), i("section", me, [
226
- e.title || t.$slots.header ? (m(), i("header", N, [_(t.$slots, "header", {}, () => [a("h3", P, y(e.title), 1)], !0)])) : r("", !0),
227
- _(t.$slots, "default", {}, void 0, !0),
228
- t.$slots.footer ? (m(), i("footer", F, [_(t.$slots, "footer", {}, void 0, !0)])) : r("", !0)
232
+ return (t, n) => (h(), i("section", me, [
233
+ e.title || t.$slots.header ? (h(), i("header", he, [v(t.$slots, "header", {}, () => [a("h3", ge, b(e.title), 1)], !0)])) : r("", !0),
234
+ v(t.$slots, "default", {}, void 0, !0),
235
+ t.$slots.footer ? (h(), i("footer", L, [v(t.$slots, "footer", {}, void 0, !0)])) : r("", !0)
229
236
  ]));
230
237
  }
231
- }), [["__scopeId", "data-v-384b36cf"]]), L = /*#__PURE__*/ j(/* @__PURE__ */ c({
238
+ }), [["__scopeId", "data-v-384b36cf"]]), ve = /*#__PURE__*/ M(/* @__PURE__ */ c({
232
239
  __name: "UiSelect",
233
240
  props: {
234
241
  modelValue: {},
@@ -236,13 +243,13 @@ var re = {
236
243
  },
237
244
  emits: ["update:modelValue"],
238
245
  setup(e) {
239
- let t = C(e, "modelValue");
240
- return (e, n) => O((m(), i("select", {
246
+ let t = w(e, "modelValue");
247
+ return (e, n) => k((h(), i("select", {
241
248
  "onUpdate:modelValue": n[0] ||= (e) => t.value = e,
242
249
  class: "mw-select"
243
- }, [_(e.$slots, "default", {}, void 0, !0)], 512)), [[T, t.value]]);
250
+ }, [v(e.$slots, "default", {}, void 0, !0)], 512)), [[E, t.value]]);
244
251
  }
245
- }), [["__scopeId", "data-v-38fbd9b5"]]), R = ["role"], z = /*#__PURE__*/ j(/* @__PURE__ */ c({
252
+ }), [["__scopeId", "data-v-38fbd9b5"]]), ye = ["role"], be = /*#__PURE__*/ M(/* @__PURE__ */ c({
246
253
  __name: "UiNotice",
247
254
  props: { type: {} },
248
255
  setup(e) {
@@ -250,16 +257,16 @@ var re = {
250
257
  if (n.type === "error") return "alert";
251
258
  if (n.type === "ok") return "status";
252
259
  });
253
- return (t, n) => (m(), i("p", {
254
- class: u(["mw-notice", e.type && e.type !== "info" ? `mw-notice--${e.type}` : ""]),
260
+ return (t, n) => (h(), i("p", {
261
+ class: d(["mw-notice", e.type && e.type !== "info" ? `mw-notice--${e.type}` : ""]),
255
262
  role: r.value
256
- }, [_(t.$slots, "default", {}, void 0, !0)], 10, R));
263
+ }, [v(t.$slots, "default", {}, void 0, !0)], 10, ye));
257
264
  }
258
- }), [["__scopeId", "data-v-ee7fffb1"]]), he = ["disabled", "aria-current"], ge = {
265
+ }), [["__scopeId", "data-v-ee7fffb1"]]), xe = ["disabled", "aria-current"], Se = {
259
266
  key: 0,
260
267
  class: "sidebar-item__icon",
261
268
  "aria-hidden": "true"
262
- }, _e = /*#__PURE__*/ j(/* @__PURE__ */ c({
269
+ }, Ce = /*#__PURE__*/ M(/* @__PURE__ */ c({
263
270
  __name: "SidebarItem",
264
271
  props: {
265
272
  label: {},
@@ -274,26 +281,26 @@ var re = {
274
281
  }
275
282
  },
276
283
  setup(e) {
277
- return (t, n) => (m(), i("button", {
284
+ return (t, n) => (h(), i("button", {
278
285
  type: "button",
279
- class: u(["sidebar-item", { "is-active": e.active }]),
286
+ class: d(["sidebar-item", { "is-active": e.active }]),
280
287
  disabled: e.disabled,
281
288
  "aria-current": e.active ? "page" : void 0
282
- }, [e.icon ? (m(), i("span", ge, y(e.icon), 1)) : r("", !0), o(" " + y(e.label), 1)], 10, he));
289
+ }, [e.icon ? (h(), i("span", Se, b(e.icon), 1)) : r("", !0), o(" " + b(e.label), 1)], 10, xe));
283
290
  }
284
- }), [["__scopeId", "data-v-c8ae7e5f"]]), ve = { class: "sidebar-group__label" }, ye = /*#__PURE__*/ j(/* @__PURE__ */ c({
291
+ }), [["__scopeId", "data-v-c8ae7e5f"]]), we = { class: "sidebar-group__label" }, Te = /*#__PURE__*/ M(/* @__PURE__ */ c({
285
292
  __name: "SidebarGroup",
286
293
  props: {
287
294
  label: {},
288
295
  level: { default: 1 }
289
296
  },
290
297
  setup(e) {
291
- return (t, n) => (m(), i("fieldset", { class: u(["sidebar-group", `sidebar-group--l${e.level}`]) }, [a("legend", ve, y(e.label), 1), _(t.$slots, "default", {}, void 0, !0)], 2));
298
+ return (t, n) => (h(), i("fieldset", { class: d(["sidebar-group", `sidebar-group--l${e.level}`]) }, [a("legend", we, b(e.label), 1), v(t.$slots, "default", {}, void 0, !0)], 2));
292
299
  }
293
- }), [["__scopeId", "data-v-95acc444"]]);
300
+ }), [["__scopeId", "data-v-ae0b9454"]]);
294
301
  //#endregion
295
302
  //#region src/tabs.ts
296
- function B(e, t) {
303
+ function R(e, t) {
297
304
  return {
298
305
  tab: `${e}-tab-${t}`,
299
306
  panel: `${e}-panel-${t}`
@@ -301,14 +308,14 @@ function B(e, t) {
301
308
  }
302
309
  //#endregion
303
310
  //#region src/components/AppTabNav.vue?vue&type=script&setup=true&lang.ts
304
- var be = ["aria-label"], xe = [
311
+ var Ee = ["aria-label"], De = [
305
312
  "id",
306
313
  "aria-selected",
307
314
  "aria-controls",
308
315
  "tabindex",
309
316
  "onClick",
310
317
  "onKeydown"
311
- ], Se = /*#__PURE__*/ j(/* @__PURE__ */ c({
318
+ ], Oe = /*#__PURE__*/ M(/* @__PURE__ */ c({
312
319
  __name: "AppTabNav",
313
320
  props: {
314
321
  tabs: {},
@@ -333,55 +340,55 @@ var be = ["aria-label"], xe = [
333
340
  let n = r.tabs.length - 1, i = e.key === "ArrowRight" ? t === n ? 0 : t + 1 : e.key === "ArrowLeft" ? t === 0 ? n : t - 1 : e.key === "Home" ? 0 : e.key === "End" ? n : -1;
334
341
  i < 0 || (e.preventDefault(), c(i));
335
342
  }
336
- return (n, r) => (m(), i("menu", {
343
+ return (n, r) => (h(), i("menu", {
337
344
  role: "tablist",
338
- class: u(["mw-tab-nav", {
345
+ class: d(["mw-tab-nav", {
339
346
  "mw-tab-nav--raised": t.variant === "raised",
340
347
  "mw-tab-nav--lg": t.size === "lg"
341
348
  }]),
342
349
  "aria-label": t.ariaLabel
343
- }, [(m(!0), i(e, null, g(t.tabs, (e, n) => (m(), i("li", {
350
+ }, [(h(!0), i(e, null, _(t.tabs, (e, n) => (h(), i("li", {
344
351
  key: e.id,
345
352
  role: "presentation",
346
353
  class: "mw-tab-nav__item"
347
354
  }, [a("button", {
348
- id: b(B)(t.idPrefix, e.id).tab,
355
+ id: x(R)(t.idPrefix, e.id).tab,
349
356
  ref_for: !0,
350
357
  ref: (e) => {
351
358
  s[n] = e;
352
359
  },
353
360
  type: "button",
354
361
  role: "tab",
355
- class: u(["mw-tab-nav__tab", { "mw-tab-nav__tab--active": t.modelValue === e.id }]),
362
+ class: d(["mw-tab-nav__tab", { "mw-tab-nav__tab--active": t.modelValue === e.id }]),
356
363
  "aria-selected": t.modelValue === e.id,
357
- "aria-controls": t.allPanels || t.modelValue === e.id ? b(B)(t.idPrefix, e.id).panel : void 0,
364
+ "aria-controls": t.allPanels || t.modelValue === e.id ? x(R)(t.idPrefix, e.id).panel : void 0,
358
365
  tabindex: t.modelValue === e.id ? 0 : -1,
359
366
  onClick: (t) => o("update:modelValue", e.id),
360
367
  onKeydown: (e) => l(e, n)
361
- }, y(e.label), 43, xe)]))), 128))], 10, be));
368
+ }, b(e.label), 43, De)]))), 128))], 10, Ee));
362
369
  }
363
- }), [["__scopeId", "data-v-fbb7de4c"]]), Ce = ["id", "aria-labelledby"], we = /*#__PURE__*/ j(/* @__PURE__ */ c({
370
+ }), [["__scopeId", "data-v-fbb7de4c"]]), ke = ["id", "aria-labelledby"], Ae = /*#__PURE__*/ M(/* @__PURE__ */ c({
364
371
  __name: "UiTabPanel",
365
372
  props: {
366
373
  idPrefix: {},
367
374
  tab: {}
368
375
  },
369
376
  setup(e) {
370
- let n = e, r = t(() => B(n.idPrefix, n.tab));
371
- return (e, t) => (m(), i("section", {
377
+ let n = e, r = t(() => R(n.idPrefix, n.tab));
378
+ return (e, t) => (h(), i("section", {
372
379
  id: r.value.panel,
373
380
  role: "tabpanel",
374
381
  "aria-labelledby": r.value.tab,
375
382
  tabindex: "0",
376
383
  class: "mw-tab-panel"
377
- }, [_(e.$slots, "default", {}, void 0, !0)], 8, Ce));
384
+ }, [v(e.$slots, "default", {}, void 0, !0)], 8, ke));
378
385
  }
379
- }), [["__scopeId", "data-v-add194c8"]]), Te = ["aria-labelledby"], Ee = { class: "mw-dialog__content" }, De = { class: "mw-dialog__header" }, Oe = ["id"], ke = ["aria-label"], Ae = {
386
+ }), [["__scopeId", "data-v-add194c8"]]), je = ["aria-labelledby"], Me = { class: "mw-dialog__content" }, Ne = { class: "mw-dialog__header" }, Pe = ["id"], Fe = ["aria-label"], Ie = {
380
387
  key: 0,
381
388
  class: "mw-dialog__actions"
382
- }, je = /*#__PURE__*/ j(/* @__PURE__ */ c({
389
+ }, Le = /*#__PURE__*/ M(/* @__PURE__ */ c({
383
390
  __name: "UiDialog",
384
- props: /*@__PURE__*/ l({
391
+ props: /*@__PURE__*/ u({
385
392
  title: {},
386
393
  dismissible: {
387
394
  type: Boolean,
@@ -396,56 +403,63 @@ var be = ["aria-label"], xe = [
396
403
  },
397
404
  openModifiers: {}
398
405
  }),
399
- emits: /*@__PURE__*/ l(["close"], ["update:open"]),
406
+ emits: /*@__PURE__*/ u(["close"], ["update:open"]),
400
407
  setup(e, { expose: n, emit: s }) {
401
- x((e) => ({ ce627f2e: v.value }));
402
- let c = C(e, "open"), l = e, u = s, p = h(null), g = S(), v = t(() => l.width ?? "min(420px, 90vw)"), w = typeof HTMLDialogElement < "u" && "closedBy" in HTMLDialogElement.prototype;
408
+ S((e) => ({ ce627f2e: _.value }));
409
+ let c = w(e, "open"), l = e, u = s, d = g(null), m = C(), _ = t(() => l.width ?? "min(420px, 90vw)"), y = typeof HTMLDialogElement < "u" && "closedBy" in HTMLDialogElement.prototype;
403
410
  function T(e = "") {
404
- p.value?.open && p.value.close(e);
411
+ d.value?.open && d.value.close(e);
405
412
  }
406
- function D(e) {
407
- let t = p.value;
413
+ function E(e) {
414
+ let t = d.value;
408
415
  t && (e && !t.open ? t.showModal() : !e && t.open && t.close());
409
416
  }
410
417
  function O() {
411
- p.value?.setAttribute("closedby", l.dismissible ? "any" : "none");
418
+ d.value?.setAttribute("closedby", l.dismissible ? "any" : "none");
412
419
  }
413
420
  function k(e) {
414
- l.dismissible && e.target === p.value && T();
421
+ l.dismissible && e.target === d.value && T();
415
422
  }
416
423
  function A(e) {
417
424
  l.dismissible || e.preventDefault();
418
425
  }
419
426
  function j() {
420
- c.value = !1, u("close", p.value?.returnValue ?? "");
427
+ c.value = !1, u("close", d.value?.returnValue ?? "");
421
428
  }
422
- return f(() => {
423
- O(), w || p.value?.addEventListener("click", k), D(c.value);
424
- }), d(() => {
425
- p.value?.removeEventListener("click", k);
426
- }), E(c, D, { flush: "post" }), E(() => l.dismissible, O), n({ close: T }), (t, n) => (m(), i("dialog", {
429
+ return p(() => {
430
+ O(), y || d.value?.addEventListener("click", k), E(c.value);
431
+ }), f(() => {
432
+ d.value?.removeEventListener("click", k);
433
+ }), D(c, E, { flush: "post" }), D(() => l.dismissible, O), n({ close: T }), (t, n) => (h(), i("dialog", {
427
434
  ref_key: "el",
428
- ref: p,
435
+ ref: d,
429
436
  class: "mw-dialog",
430
- "aria-labelledby": b(g),
437
+ "aria-labelledby": x(m),
431
438
  onCancel: A,
432
439
  onClose: j
433
- }, [a("article", Ee, [
434
- a("header", De, [a("h2", {
435
- id: b(g),
440
+ }, [a("article", Me, [
441
+ a("header", Ne, [a("h2", {
442
+ id: x(m),
436
443
  class: "mw-dialog__title"
437
- }, [_(t.$slots, "title", {}, () => [o(y(e.title), 1)], !0)], 8, Oe), e.dismissible ? (m(), i("button", {
444
+ }, [v(t.$slots, "title", {}, () => [o(b(e.title), 1)], !0)], 8, Pe), e.dismissible ? (h(), i("button", {
438
445
  key: 0,
439
446
  type: "button",
440
447
  class: "mw-dialog__close",
441
448
  "aria-label": e.closeLabel,
442
449
  onClick: n[0] ||= (e) => T()
443
- }, "×", 8, ke)) : r("", !0)]),
444
- _(t.$slots, "default", {}, void 0, !0),
445
- t.$slots.actions ? (m(), i("footer", Ae, [_(t.$slots, "actions", { close: T }, void 0, !0)])) : r("", !0)
446
- ])], 40, Te));
447
- }
448
- }), [["__scopeId", "data-v-78973168"]]), Me = { class: "ca-root" }, Ne = ["title"], Pe = ["title", "aria-label"], Fe = {
450
+ }, "×", 8, Fe)) : r("", !0)]),
451
+ v(t.$slots, "default", {}, void 0, !0),
452
+ t.$slots.actions ? (h(), i("footer", Ie, [v(t.$slots, "actions", { close: T }, void 0, !0)])) : r("", !0)
453
+ ])], 40, je));
454
+ }
455
+ }), [["__scopeId", "data-v-78973168"]]), z = [12, 10];
456
+ function B(e, t = z) {
457
+ let n = Math.max(0, Math.trunc(t[0]) || 0), r = Math.max(0, Math.trunc(t[1]) || 0);
458
+ return e.length <= n + r ? e : `${n > 0 ? e.slice(0, n) : ""}…${r > 0 ? e.slice(-r) : ""}`;
459
+ }
460
+ //#endregion
461
+ //#region src/components/CopyableAddress.vue?vue&type=script&setup=true&lang.ts
462
+ var Re = { class: "ca-root" }, ze = ["title"], Be = ["title", "aria-label"], Ve = {
449
463
  key: 0,
450
464
  class: "ca-icon",
451
465
  viewBox: "0 0 24 24",
@@ -457,7 +471,7 @@ var be = ["aria-label"], xe = [
457
471
  "stroke-linecap": "round",
458
472
  "stroke-linejoin": "round",
459
473
  "aria-hidden": "true"
460
- }, Ie = {
474
+ }, He = {
461
475
  key: 1,
462
476
  class: "ca-icon",
463
477
  viewBox: "0 0 24 24",
@@ -469,7 +483,7 @@ var be = ["aria-label"], xe = [
469
483
  "stroke-linecap": "round",
470
484
  "stroke-linejoin": "round",
471
485
  "aria-hidden": "true"
472
- }, Le = /*#__PURE__*/ j(/* @__PURE__ */ c({
486
+ }, Ue = /*#__PURE__*/ M(/* @__PURE__ */ c({
473
487
  __name: "CopyableAddress",
474
488
  props: {
475
489
  address: {},
@@ -477,15 +491,11 @@ var be = ["aria-label"], xe = [
477
491
  type: Boolean,
478
492
  default: !0
479
493
  },
480
- chars: { default: () => [6, 4] },
494
+ chars: { default: () => [...z] },
481
495
  label: { default: "Copy" }
482
496
  },
483
497
  setup(e) {
484
- let n = e, r = h(!1), s = t(() => {
485
- if (!n.truncate) return n.address;
486
- let [e, t] = n.chars;
487
- return `${n.address.slice(0, e)}…${n.address.slice(-t)}`;
488
- });
498
+ let n = e, r = g(!1), s = t(() => n.truncate ? B(n.address, n.chars) : n.address);
489
499
  async function c() {
490
500
  try {
491
501
  await navigator.clipboard.writeText(n.address);
@@ -496,25 +506,25 @@ var be = ["aria-label"], xe = [
496
506
  r.value = !1;
497
507
  }, 1500);
498
508
  }
499
- return (t, n) => (m(), i("span", Me, [a("span", {
509
+ return (t, n) => (h(), i("span", Re, [a("span", {
500
510
  class: "ca-value",
501
511
  title: e.address
502
- }, [_(t.$slots, "default", {}, () => [o(y(s.value), 1)], !0)], 8, Ne), a("button", {
512
+ }, [v(t.$slots, "default", {}, () => [o(b(s.value), 1)], !0)], 8, ze), a("button", {
503
513
  type: "button",
504
- class: u(["ca-copy", { "ca-copy--copied": r.value }]),
514
+ class: d(["ca-copy", { "ca-copy--copied": r.value }]),
505
515
  title: r.value ? "Copied!" : e.label,
506
516
  "aria-label": r.value ? "Copied" : e.label,
507
517
  onClick: c
508
- }, [r.value ? (m(), i("svg", Fe, [...n[0] ||= [a("polyline", { points: "20 6 9 17 4 12" }, null, -1)]])) : (m(), i("svg", Ie, [...n[1] ||= [a("rect", {
518
+ }, [r.value ? (h(), i("svg", Ve, [...n[0] ||= [a("polyline", { points: "20 6 9 17 4 12" }, null, -1)]])) : (h(), i("svg", He, [...n[1] ||= [a("rect", {
509
519
  x: "9",
510
520
  y: "9",
511
521
  width: "13",
512
522
  height: "13",
513
523
  rx: "2",
514
524
  ry: "2"
515
- }, null, -1), a("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" }, null, -1)]]))], 10, Pe)]));
525
+ }, null, -1), a("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" }, null, -1)]]))], 10, Be)]));
516
526
  }
517
- }), [["__scopeId", "data-v-56006bd1"]]), Re = ["href", "title"], ze = /*#__PURE__*/ j(/* @__PURE__ */ c({
527
+ }), [["__scopeId", "data-v-ebf9e8c7"]]), We = ["href", "title"], Ge = /*#__PURE__*/ M(/* @__PURE__ */ c({
518
528
  __name: "ExplorerLink",
519
529
  props: {
520
530
  href: {},
@@ -523,27 +533,22 @@ var be = ["aria-label"], xe = [
523
533
  type: Boolean,
524
534
  default: !0
525
535
  },
526
- chars: { default: () => [6, 4] }
536
+ chars: { default: () => [...z] }
527
537
  },
528
538
  setup(e) {
529
- let n = e, r = t(() => {
530
- if (!n.value) return "";
531
- if (!n.truncate) return n.value;
532
- let [e, t] = n.chars;
533
- return `${n.value.slice(0, e)}…${n.value.slice(-t)}`;
534
- });
535
- return (t, n) => (m(), i("a", {
539
+ let n = e, r = t(() => n.value ? n.truncate ? B(n.value, n.chars) : n.value : "");
540
+ return (t, n) => (h(), i("a", {
536
541
  class: "el-root",
537
- href: b(M)(e.href),
542
+ href: x(P)(e.href),
538
543
  target: "_blank",
539
544
  rel: "noopener noreferrer",
540
545
  title: e.value
541
- }, [_(t.$slots, "default", {}, () => [o(y(r.value), 1)], !0)], 8, Re));
546
+ }, [v(t.$slots, "default", {}, () => [o(b(r.value), 1)], !0)], 8, We));
542
547
  }
543
- }), [["__scopeId", "data-v-073d1bbe"]]), Be = { class: "copyright-line" }, Ve = ["href", "aria-label"], He = { key: 0 }, Ue = { key: 1 }, We = {
548
+ }), [["__scopeId", "data-v-f05cc8ba"]]), Ke = { class: "copyright-line" }, qe = ["href", "aria-label"], Je = { key: 0 }, Ye = { key: 1 }, Xe = {
544
549
  key: 2,
545
550
  class: "kopimi-symbol"
546
- }, Ge = { class: "text-content" }, Ke = { key: 0 }, qe = /*#__PURE__*/ j(/* @__PURE__ */ c({
551
+ }, Ze = { class: "text-content" }, Qe = { key: 0 }, $e = /*#__PURE__*/ M(/* @__PURE__ */ c({
547
552
  __name: "CopyrightLine",
548
553
  props: {
549
554
  organisationName: {},
@@ -556,16 +561,16 @@ var be = ["aria-label"], xe = [
556
561
  setup(e) {
557
562
  let n = e, s = t(() => n.symbolVariant);
558
563
  function c(e) {
559
- return /^\/(?![/\\])/.test(e) ? e : M(e);
564
+ return e.startsWith("/") ? I(e) : P(e);
560
565
  }
561
- let l = t(() => (n.symbolHref ? c(n.symbolHref) : void 0) || (s.value === "kopimi" ? "/legal/powr.broccoli-kopimi.pdf" : s.value === "copyleft" ? "/legal/copyleft.html" : "/legal/copyright.html")), u = t(() => n.symbolLabel || (s.value === "kopimi" ? "Kopimi legal notice" : s.value === "copyleft" ? "Copyleft legal notice" : "Copyright legal notice")), d = t(() => n.rightsStatement === "" ? "" : n.rightsStatement === "none" ? "No rights reserved." : n.rightsStatement === "all" || !n.rightsStatement ? "All rights reserved." : n.rightsStatement === "jam" ? "All jams preserved." : n.rightsStatement);
562
- return (t, n) => (m(), i("small", Be, [a("a", {
563
- href: l.value,
566
+ let l = t(() => (n.symbolHref ? c(n.symbolHref) : void 0) || (s.value === "kopimi" ? "/legal/powr.broccoli-kopimi.pdf" : s.value === "copyleft" ? "/legal/copyleft.html" : "/legal/copyright.html")), u = t(() => l.value.startsWith("/")), d = t(() => n.symbolLabel || (s.value === "kopimi" ? "Kopimi legal notice" : s.value === "copyleft" ? "Copyleft legal notice" : "Copyright legal notice")), f = t(() => n.rightsStatement === "" ? "" : n.rightsStatement === "none" ? "No rights reserved." : n.rightsStatement === "all" || !n.rightsStatement ? "All rights reserved." : n.rightsStatement === "jam" ? "All jams preserved." : n.rightsStatement);
567
+ return (t, n) => (h(), i("small", Ke, [a("a", {
568
+ href: u.value ? x(I)(l.value) : x(P)(l.value),
564
569
  class: "symbol-link",
565
570
  target: "_blank",
566
571
  rel: "noopener noreferrer",
567
- "aria-label": u.value
568
- }, [s.value === "copyright" ? (m(), i("span", He, "©")) : s.value === "copyleft" ? (m(), i("span", Ue, "🄯")) : s.value === "kopimi" ? (m(), i("span", We, [...n[0] ||= [a("svg", {
572
+ "aria-label": d.value
573
+ }, [s.value === "copyright" ? (h(), i("span", Je, "©")) : s.value === "copyleft" ? (h(), i("span", Ye, "🄯")) : s.value === "kopimi" ? (h(), i("span", Xe, [...n[0] ||= [a("svg", {
569
574
  viewBox: "0 0 24 24",
570
575
  width: "1em",
571
576
  height: "1em",
@@ -585,17 +590,17 @@ var be = ["aria-label"], xe = [
585
590
  "font-family": "system-ui, sans-serif",
586
591
  "font-size": "11",
587
592
  fill: "currentColor"
588
- }, " C ")], -1)]])) : r("", !0)], 8, Ve), a("span", Ge, [o(y(e.year) + " " + y(e.organisationName) + ".", 1), d.value ? (m(), i("span", Ke, y(`
589
- ${d.value}`), 1)) : r("", !0)])]));
593
+ }, " C ")], -1)]])) : r("", !0)], 8, qe), a("span", Ze, [o(b(e.year) + " " + b(e.organisationName) + ".", 1), f.value ? (h(), i("span", Qe, b(`
594
+ ${f.value}`), 1)) : r("", !0)])]));
590
595
  }
591
- }), [["__scopeId", "data-v-464082bf"]]), Je = {
596
+ }), [["__scopeId", "data-v-06282c3d"]]), et = {
592
597
  class: "ui-stepper",
593
598
  role: "list"
594
- }, Ye = ["aria-current"], Xe = ["aria-label", "onClick"], Ze = {
599
+ }, tt = ["aria-current"], nt = ["aria-label", "onClick"], rt = {
595
600
  key: 1,
596
601
  class: "ui-stepper__badge",
597
602
  "aria-hidden": "true"
598
- }, Qe = { class: "ui-stepper__label" }, $e = /*#__PURE__*/ j(/* @__PURE__ */ c({
603
+ }, it = { class: "ui-stepper__label" }, at = /*#__PURE__*/ M(/* @__PURE__ */ c({
599
604
  __name: "UiStepper",
600
605
  props: {
601
606
  steps: {},
@@ -610,28 +615,28 @@ var be = ["aria-label"], xe = [
610
615
  function c(e) {
611
616
  e < r.modelValue && o("update:modelValue", e);
612
617
  }
613
- return (n, r) => (m(), i("ol", Je, [(m(!0), i(e, null, g(t.steps, (e, t) => (m(), i("li", {
618
+ return (n, r) => (h(), i("ol", et, [(h(!0), i(e, null, _(t.steps, (e, t) => (h(), i("li", {
614
619
  key: e.id,
615
- class: u(["ui-stepper__step", `is-${s(t)}`]),
620
+ class: d(["ui-stepper__step", `is-${s(t)}`]),
616
621
  "aria-current": s(t) === "active" ? "step" : void 0
617
- }, [s(t) === "done" ? (m(), i("button", {
622
+ }, [s(t) === "done" ? (h(), i("button", {
618
623
  key: 0,
619
624
  type: "button",
620
625
  class: "ui-stepper__badge",
621
626
  "aria-label": `Back to ${e.label}`,
622
627
  onClick: (e) => c(t)
623
- }, "✓", 8, Xe)) : (m(), i("span", Ze, y(t + 1), 1)), a("span", Qe, y(e.label), 1)], 10, Ye))), 128))]));
628
+ }, "✓", 8, nt)) : (h(), i("span", rt, b(t + 1), 1)), a("span", it, b(e.label), 1)], 10, tt))), 128))]));
624
629
  }
625
- }), [["__scopeId", "data-v-6f5db325"]]), et = { class: "mw-seg" }, tt = {
630
+ }), [["__scopeId", "data-v-38fb837c"]]), ot = { class: "mw-seg" }, st = {
626
631
  key: 0,
627
632
  class: "mw-visually-hidden"
628
- }, nt = ["title"], rt = [
633
+ }, ct = ["title"], lt = [
629
634
  "name",
630
635
  "value",
631
636
  "checked",
632
637
  "disabled",
633
638
  "onChange"
634
- ], it = /*#__PURE__*/ j(/* @__PURE__ */ c({
639
+ ], ut = /*#__PURE__*/ M(/* @__PURE__ */ c({
635
640
  __name: "UiSegmentedControl",
636
641
  props: {
637
642
  options: {},
@@ -640,43 +645,43 @@ var be = ["aria-label"], xe = [
640
645
  },
641
646
  emits: ["update:modelValue"],
642
647
  setup(t, { emit: n }) {
643
- let s = n, c = S();
644
- return (n, l) => (m(), i("fieldset", et, [t.ariaLabel ? (m(), i("legend", tt, y(t.ariaLabel), 1)) : r("", !0), (m(!0), i(e, null, g(t.options, (e) => (m(), i("label", {
648
+ let s = n, c = C();
649
+ return (n, l) => (h(), i("fieldset", ot, [t.ariaLabel ? (h(), i("legend", st, b(t.ariaLabel), 1)) : r("", !0), (h(!0), i(e, null, _(t.options, (e) => (h(), i("label", {
645
650
  key: e.id,
646
- class: u(["mw-seg__item", {
651
+ class: d(["mw-seg__item", {
647
652
  "mw-seg__item--active": t.modelValue === e.id,
648
653
  "mw-seg__item--disabled": e.disabled
649
654
  }]),
650
655
  title: e.title
651
656
  }, [a("input", {
652
657
  type: "radio",
653
- name: b(c),
658
+ name: x(c),
654
659
  value: e.id,
655
660
  checked: t.modelValue === e.id,
656
661
  disabled: e.disabled,
657
662
  onChange: (t) => s("update:modelValue", e.id)
658
- }, null, 40, rt), o(" " + y(e.label), 1)], 10, nt))), 128))]));
663
+ }, null, 40, lt), o(" " + b(e.label), 1)], 10, ct))), 128))]));
659
664
  }
660
- }), [["__scopeId", "data-v-430ffdd6"]]), at = { class: "mw-field-hint" }, ot = ["aria-describedby"], st = ["id"], ct = /*#__PURE__*/ j(/* @__PURE__ */ c({
665
+ }), [["__scopeId", "data-v-430ffdd6"]]), dt = { class: "mw-field-hint" }, ft = ["aria-describedby"], pt = ["id"], mt = /*#__PURE__*/ M(/* @__PURE__ */ c({
661
666
  __name: "UiFieldHint",
662
667
  props: { fieldId: {} },
663
668
  setup(e) {
664
669
  function t(e) {
665
670
  e.key === "Escape" && e.currentTarget.blur();
666
671
  }
667
- return (n, r) => (m(), i("span", at, [a("button", {
672
+ return (n, r) => (h(), i("span", dt, [a("button", {
668
673
  type: "button",
669
674
  class: "mw-field-hint__btn",
670
675
  "aria-describedby": `${e.fieldId}-hint`,
671
676
  "aria-label": "Help",
672
677
  onKeydown: t
673
- }, "?", 40, ot), a("span", {
678
+ }, "?", 40, ft), a("span", {
674
679
  id: `${e.fieldId}-hint`,
675
680
  role: "tooltip",
676
681
  class: "mw-field-hint__tip"
677
- }, [_(n.$slots, "default", {}, void 0, !0)], 8, st)]));
682
+ }, [v(n.$slots, "default", {}, void 0, !0)], 8, pt)]));
678
683
  }
679
- }), [["__scopeId", "data-v-29d9a629"]]), lt = { class: "mw-form-field" }, ut = ["for"], dt = ["id"], ft = ["id"], pt = /*#__PURE__*/ j(/* @__PURE__ */ c({
684
+ }), [["__scopeId", "data-v-29d9a629"]]), ht = { class: "mw-form-field" }, gt = ["for"], _t = ["id"], vt = ["id"], yt = /*#__PURE__*/ M(/* @__PURE__ */ c({
680
685
  __name: "UiFormField",
681
686
  props: {
682
687
  id: {},
@@ -690,118 +695,118 @@ var be = ["aria-label"], xe = [
690
695
  "aria-invalid": n.error ? !0 : void 0,
691
696
  "aria-describedby": n.error ? o.value : n.hint ? s.value : void 0
692
697
  }));
693
- return (t, n) => (m(), i("p", lt, [
698
+ return (t, n) => (h(), i("p", ht, [
694
699
  a("label", {
695
700
  for: e.id,
696
701
  class: "mw-form-field__label"
697
- }, y(e.label), 9, ut),
698
- _(t.$slots, "label-suffix"),
699
- _(t.$slots, "default", { attrs: c.value }),
700
- e.hint && !e.error ? (m(), i("small", {
702
+ }, b(e.label), 9, gt),
703
+ v(t.$slots, "label-suffix"),
704
+ v(t.$slots, "default", { attrs: c.value }),
705
+ e.hint && !e.error ? (h(), i("small", {
701
706
  key: 0,
702
707
  id: s.value,
703
708
  class: "mw-form-field__hint"
704
- }, y(e.hint), 9, dt)) : r("", !0),
705
- e.error ? (m(), i("small", {
709
+ }, b(e.hint), 9, _t)) : r("", !0),
710
+ e.error ? (h(), i("small", {
706
711
  key: 1,
707
712
  id: o.value,
708
713
  class: "mw-form-field__error"
709
- }, y(e.error), 9, ft)) : r("", !0)
714
+ }, b(e.error), 9, vt)) : r("", !0)
710
715
  ]));
711
716
  }
712
- }), [["__scopeId", "data-v-5aef34d9"]]), mt = { class: "mw-tool-intro" }, ht = /*#__PURE__*/ j(/* @__PURE__ */ c({
717
+ }), [["__scopeId", "data-v-5aef34d9"]]), bt = { class: "mw-tool-intro" }, xt = /*#__PURE__*/ M(/* @__PURE__ */ c({
713
718
  __name: "UiToolIntro",
714
719
  setup(e) {
715
- return (e, t) => (m(), i("p", mt, [_(e.$slots, "default", {}, void 0, !0)]));
720
+ return (e, t) => (h(), i("p", bt, [v(e.$slots, "default", {}, void 0, !0)]));
716
721
  }
717
- }), [["__scopeId", "data-v-9a5436b9"]]), gt = { class: "mw-panel" }, _t = /*#__PURE__*/ j(/* @__PURE__ */ c({
722
+ }), [["__scopeId", "data-v-9a5436b9"]]), St = { class: "mw-panel" }, Ct = /*#__PURE__*/ M(/* @__PURE__ */ c({
718
723
  __name: "UiPanel",
719
724
  props: {
720
725
  title: {},
721
726
  level: { default: 2 }
722
727
  },
723
728
  setup(e) {
724
- let a = e, s = w(), c = t(() => !!(a.title || s.title));
725
- return (t, a) => (m(), i("section", gt, [c.value ? (m(), n(v(`h${e.level}`), {
729
+ let a = e, s = T(), c = t(() => !!(a.title || s.title));
730
+ return (t, a) => (h(), i("section", St, [c.value ? (h(), n(y(`h${e.level}`), {
726
731
  key: 0,
727
732
  class: "mw-panel__title"
728
733
  }, {
729
- default: D(() => [_(t.$slots, "title", {}, () => [o(y(e.title), 1)], !0)]),
734
+ default: O(() => [v(t.$slots, "title", {}, () => [o(b(e.title), 1)], !0)]),
730
735
  _: 3
731
- })) : r("", !0), _(t.$slots, "default", {}, void 0, !0)]));
736
+ })) : r("", !0), v(t.$slots, "default", {}, void 0, !0)]));
732
737
  }
733
- }), [["__scopeId", "data-v-62fac524"]]), vt = /*#__PURE__*/ j(/* @__PURE__ */ c({
738
+ }), [["__scopeId", "data-v-62fac524"]]), wt = /*#__PURE__*/ M(/* @__PURE__ */ c({
734
739
  __name: "UiBadge",
735
740
  props: { variant: { default: "neutral" } },
736
741
  setup(e) {
737
- return (t, n) => (m(), i("span", { class: u(["mw-badge", `mw-badge--${e.variant}`]) }, [_(t.$slots, "default", {}, void 0, !0)], 2));
742
+ return (t, n) => (h(), i("span", { class: d(["mw-badge", `mw-badge--${e.variant}`]) }, [v(t.$slots, "default", {}, void 0, !0)], 2));
738
743
  }
739
- }), [["__scopeId", "data-v-5aa44ef5"]]), yt = {
744
+ }), [["__scopeId", "data-v-2e33d71a"]]), Tt = {
740
745
  type: "button",
741
746
  class: "mw-toolbar-btn"
742
- }, V = /*#__PURE__*/ j(/* @__PURE__ */ c({
747
+ }, V = /*#__PURE__*/ M(/* @__PURE__ */ c({
743
748
  __name: "UiToolbarButton",
744
749
  setup(e) {
745
- return (e, t) => (m(), i("button", yt, [_(e.$slots, "default", {}, void 0, !0)]));
750
+ return (e, t) => (h(), i("button", Tt, [v(e.$slots, "default", {}, void 0, !0)]));
746
751
  }
747
- }), [["__scopeId", "data-v-d5f19134"]]), bt = { class: "mw-toolbar" }, xt = /*#__PURE__*/ j(/* @__PURE__ */ c({
752
+ }), [["__scopeId", "data-v-d5f19134"]]), Et = { class: "mw-toolbar" }, Dt = /*#__PURE__*/ M(/* @__PURE__ */ c({
748
753
  __name: "UiToolbar",
749
754
  props: { actions: {} },
750
755
  emits: ["action"],
751
756
  setup(t, { emit: n }) {
752
757
  let r = n;
753
- return (n, a) => (m(), i("menu", bt, [(m(!0), i(e, null, g(t.actions, (e) => (m(), i("li", { key: e.id }, [s(V, {
758
+ return (n, a) => (h(), i("menu", Et, [(h(!0), i(e, null, _(t.actions, (e) => (h(), i("li", { key: e.id }, [s(V, {
754
759
  disabled: e.disabled,
755
760
  onClick: (t) => r("action", e.id)
756
761
  }, {
757
- default: D(() => [o(y(e.label), 1)]),
762
+ default: O(() => [o(b(e.label), 1)]),
758
763
  _: 2
759
764
  }, 1032, ["disabled", "onClick"])]))), 128))]));
760
765
  }
761
- }), [["__scopeId", "data-v-170c8eb5"]]), St = { class: "mw-stat-grid" }, Ct = /*#__PURE__*/ j(/* @__PURE__ */ c({
766
+ }), [["__scopeId", "data-v-170c8eb5"]]), Ot = { class: "mw-stat-grid" }, kt = /*#__PURE__*/ M(/* @__PURE__ */ c({
762
767
  __name: "UiStatGrid",
763
768
  setup(e) {
764
- return (e, t) => (m(), i("dl", St, [_(e.$slots, "default", {}, void 0, !0)]));
769
+ return (e, t) => (h(), i("dl", Ot, [v(e.$slots, "default", {}, void 0, !0)]));
765
770
  }
766
- }), [["__scopeId", "data-v-3608575d"]]), wt = { class: "mw-stat-grid__label" }, Tt = /*#__PURE__*/ j(/* @__PURE__ */ c({
771
+ }), [["__scopeId", "data-v-3608575d"]]), At = { class: "mw-stat-grid__label" }, jt = /*#__PURE__*/ M(/* @__PURE__ */ c({
767
772
  __name: "UiStatRow",
768
773
  props: {
769
774
  label: {},
770
775
  align: { default: "right" }
771
776
  },
772
777
  setup(t) {
773
- return (n, r) => (m(), i(e, null, [a("dt", wt, y(t.label), 1), a("dd", { class: u(["mw-stat-grid__value", { "mw-stat-grid__value--left": t.align === "left" }]) }, [_(n.$slots, "default", {}, void 0, !0)], 2)], 64));
778
+ return (n, r) => (h(), i(e, null, [a("dt", At, b(t.label), 1), a("dd", { class: d(["mw-stat-grid__value", { "mw-stat-grid__value--left": t.align === "left" }]) }, [v(n.$slots, "default", {}, void 0, !0)], 2)], 64));
774
779
  }
775
- }), [["__scopeId", "data-v-829f7772"]]), Et = { class: "mw-data-table-wrap" }, Dt = { class: "mw-data-table" }, Ot = {
780
+ }), [["__scopeId", "data-v-829f7772"]]), Mt = { class: "mw-data-table-wrap" }, Nt = { class: "mw-data-table" }, Pt = {
776
781
  key: 0,
777
782
  class: "mw-data-table__empty"
778
- }, kt = /*#__PURE__*/ j(/* @__PURE__ */ c({
783
+ }, Ft = /*#__PURE__*/ M(/* @__PURE__ */ c({
779
784
  __name: "UiDataTable",
780
785
  props: { empty: {} },
781
786
  setup(e) {
782
- let t = w();
783
- return (n, o) => (m(), i("div", Et, [a("table", Dt, [a("thead", null, [a("tr", null, [_(n.$slots, "head", {}, void 0, !0)])]), a("tbody", null, [_(n.$slots, "default", {}, void 0, !0)])]), e.empty && !t.default ? (m(), i("p", Ot, y(e.empty), 1)) : r("", !0)]));
787
+ let t = T();
788
+ return (n, o) => (h(), i("div", Mt, [a("table", Nt, [a("thead", null, [a("tr", null, [v(n.$slots, "head", {}, void 0, !0)])]), a("tbody", null, [v(n.$slots, "default", {}, void 0, !0)])]), e.empty && !t.default ? (h(), i("p", Pt, b(e.empty), 1)) : r("", !0)]));
784
789
  }
785
- }), [["__scopeId", "data-v-de139c21"]]), H = /*#__PURE__*/ j(/* @__PURE__ */ c({
790
+ }), [["__scopeId", "data-v-de139c21"]]), H = /*#__PURE__*/ M(/* @__PURE__ */ c({
786
791
  __name: "UiStatusDot",
787
792
  props: { status: { default: "ok" } },
788
793
  setup(e) {
789
- return (t, n) => (m(), i("span", {
790
- class: u(["mw-status-dot", `mw-status-dot--${e.status}`]),
794
+ return (t, n) => (h(), i("span", {
795
+ class: d(["mw-status-dot", `mw-status-dot--${e.status}`]),
791
796
  "aria-hidden": "true"
792
797
  }, null, 2));
793
798
  }
794
- }), [["__scopeId", "data-v-62e9a7cc"]]), At = {
799
+ }), [["__scopeId", "data-v-62e9a7cc"]]), It = {
795
800
  role: "list",
796
801
  class: "mw-statusbar",
797
802
  "aria-label": "Status"
798
- }, jt = { key: 0 }, Mt = { class: "mw-visually-hidden" }, Nt = { key: 0 }, Pt = {
803
+ }, Lt = { key: 0 }, Rt = { class: "mw-visually-hidden" }, zt = { key: 0 }, Bt = {
799
804
  key: 1,
800
805
  class: "mw-statusbar__pending"
801
- }, Ft = { key: 0 }, It = {
806
+ }, Vt = { key: 0 }, Ht = {
802
807
  key: 1,
803
808
  class: "mw-statusbar__pending"
804
- }, Lt = /*#__PURE__*/ j(/* @__PURE__ */ c({
809
+ }, Ut = /*#__PURE__*/ M(/* @__PURE__ */ c({
805
810
  __name: "UiStatusBar",
806
811
  props: {
807
812
  network: {},
@@ -818,29 +823,29 @@ var be = ["aria-label"], xe = [
818
823
  let t = Math.floor((Date.now() - e.getTime()) / 1e3);
819
824
  return t < 5 ? "just now" : t < 60 ? `${t}s ago` : `${Math.floor(t / 60)}m ago`;
820
825
  }
821
- return (t, c) => (m(), i("ul", At, [
822
- n.network ? (m(), i("li", jt, [
826
+ return (t, c) => (h(), i("ul", It, [
827
+ n.network ? (h(), i("li", Lt, [
823
828
  s(H, { status: n.healthy ? "ok" : "error" }, null, 8, ["status"]),
824
- o(" " + y(l.value) + " ", 1),
825
- a("span", Mt, "(" + y(n.healthy ? "status OK" : "status error") + ")", 1)
829
+ o(" " + b(l.value) + " ", 1),
830
+ a("span", Rt, "(" + b(n.healthy ? "status OK" : "status error") + ")", 1)
826
831
  ])) : r("", !0),
827
- n.epoch === void 0 ? r("", !0) : (m(), i(e, { key: 1 }, [n.epoch === null ? (m(), i("li", Pt, "Epoch —")) : (m(), i("li", Nt, "Epoch " + y(n.epoch), 1))], 64)),
828
- n.lastRefresh === void 0 ? r("", !0) : (m(), i(e, { key: 2 }, [n.lastRefresh ? (m(), i("li", Ft, "Refreshed " + y(u(n.lastRefresh)), 1)) : (m(), i("li", It, "Loading…"))], 64)),
829
- _(t.$slots, "default", {}, void 0, !0)
832
+ n.epoch === void 0 ? r("", !0) : (h(), i(e, { key: 1 }, [n.epoch === null ? (h(), i("li", Bt, "Epoch —")) : (h(), i("li", zt, "Epoch " + b(n.epoch), 1))], 64)),
833
+ n.lastRefresh === void 0 ? r("", !0) : (h(), i(e, { key: 2 }, [n.lastRefresh ? (h(), i("li", Vt, "Refreshed " + b(u(n.lastRefresh)), 1)) : (h(), i("li", Ht, "Loading…"))], 64)),
834
+ v(t.$slots, "default", {}, void 0, !0)
830
835
  ]));
831
836
  }
832
- }), [["__scopeId", "data-v-cb4a19b8"]]), Rt = {
837
+ }), [["__scopeId", "data-v-06a511eb"]]), Wt = {
833
838
  class: "mw-feed",
834
839
  role: "list"
835
- }, zt = /*#__PURE__*/ j(/* @__PURE__ */ c({
840
+ }, Gt = /*#__PURE__*/ M(/* @__PURE__ */ c({
836
841
  __name: "UiActivityFeed",
837
842
  setup(e) {
838
- return (e, t) => (m(), i("ul", Rt, [_(e.$slots, "default", {}, void 0, !0)]));
843
+ return (e, t) => (h(), i("ul", Wt, [v(e.$slots, "default", {}, void 0, !0)]));
839
844
  }
840
- }), [["__scopeId", "data-v-9e578c9d"]]), Bt = { class: "mw-feed__item" }, Vt = ["datetime"], Ht = {
845
+ }), [["__scopeId", "data-v-9e578c9d"]]), Kt = { class: "mw-feed__item" }, qt = ["datetime"], Jt = {
841
846
  key: 1,
842
847
  class: "mw-feed__meta"
843
- }, Ut = /*#__PURE__*/ j(/* @__PURE__ */ c({
848
+ }, Yt = /*#__PURE__*/ M(/* @__PURE__ */ c({
844
849
  __name: "UiActivityItem",
845
850
  props: {
846
851
  type: {},
@@ -848,20 +853,20 @@ var be = ["aria-label"], xe = [
848
853
  datetime: {}
849
854
  },
850
855
  setup(e) {
851
- return (t, n) => (m(), i("li", Bt, [_(t.$slots, "type", {}, () => [o(y(e.type), 1)], !0), e.datetime ? (m(), i("time", {
856
+ return (t, n) => (h(), i("li", Kt, [v(t.$slots, "type", {}, () => [o(b(e.type), 1)], !0), e.datetime ? (h(), i("time", {
852
857
  key: 0,
853
858
  class: "mw-feed__meta",
854
859
  datetime: e.datetime
855
- }, [_(t.$slots, "time", {}, () => [o(y(e.time), 1)], !0)], 8, Vt)) : (m(), i("small", Ht, [_(t.$slots, "time", {}, () => [o(y(e.time), 1)], !0)]))]));
860
+ }, [v(t.$slots, "time", {}, () => [o(b(e.time), 1)], !0)], 8, qt)) : (h(), i("small", Jt, [v(t.$slots, "time", {}, () => [o(b(e.time), 1)], !0)]))]));
856
861
  }
857
- }), [["__scopeId", "data-v-797b66a9"]]), Wt = /* @__PURE__ */ new Set([
862
+ }), [["__scopeId", "data-v-797b66a9"]]), Xt = /* @__PURE__ */ new Set([
858
863
  "operational",
859
864
  "degraded",
860
865
  "down",
861
866
  "unknown"
862
867
  ]);
863
868
  function U(e) {
864
- return typeof e == "string" && Wt.has(e);
869
+ return typeof e == "string" && Xt.has(e);
865
870
  }
866
871
  function W(e) {
867
872
  return U(e) ? e : "unknown";
@@ -869,7 +874,7 @@ function W(e) {
869
874
  function G(e) {
870
875
  return typeof e != "string" || e.trim() === "" ? "" : e.replace(/[<>&"]/g, "");
871
876
  }
872
- function Gt(e) {
877
+ function Zt(e) {
873
878
  if (typeof e != "object" || !e) return null;
874
879
  let t = e, n = G(t.name);
875
880
  return n ? {
@@ -877,11 +882,11 @@ function Gt(e) {
877
882
  status: W(t.status)
878
883
  } : null;
879
884
  }
880
- function Kt(e) {
885
+ function Qt(e) {
881
886
  if (typeof e != "object" || !e) return null;
882
887
  let t = e, n = G(t.name);
883
888
  if (!n) return null;
884
- let r = Array.isArray(t.components) ? t.components.map(Gt).filter((e) => e !== null) : [];
889
+ let r = Array.isArray(t.components) ? t.components.map(Zt).filter((e) => e !== null) : [];
885
890
  return {
886
891
  name: n,
887
892
  status: W(t.status),
@@ -892,7 +897,7 @@ function K(e) {
892
897
  if (typeof e != "object" || !e) return null;
893
898
  let t = e;
894
899
  if (!U(t.overall) || typeof t.generated_at != "string" || !Array.isArray(t.groups)) return null;
895
- let n = t.groups.map(Kt).filter((e) => e !== null);
900
+ let n = t.groups.map(Qt).filter((e) => e !== null);
896
901
  return {
897
902
  generated_at: t.generated_at,
898
903
  overall: t.overall,
@@ -901,7 +906,7 @@ function K(e) {
901
906
  }
902
907
  //#endregion
903
908
  //#region src/components/StatusWidget.vue?vue&type=script&setup=true&lang.ts
904
- var q = ["href", "title"], qt = /*#__PURE__*/ j(/* @__PURE__ */ c({
909
+ var q = ["href", "title"], $t = 15e3, en = /*#__PURE__*/ M(/* @__PURE__ */ c({
905
910
  __name: "StatusWidget",
906
911
  props: {
907
912
  apiUrl: { default: "https://status.meddleware.co.uk/api/status" },
@@ -919,7 +924,7 @@ var q = ["href", "title"], qt = /*#__PURE__*/ j(/* @__PURE__ */ c({
919
924
  degraded: "Degraded",
920
925
  down: "Major outage",
921
926
  unknown: "Status unknown"
922
- }, a = h("ok"), o = h("All systems operational"), s = null;
927
+ }, a = g("checking"), o = g("Checking status…"), s = null;
923
928
  async function c() {
924
929
  try {
925
930
  let e = await fetch(t.apiUrl, { signal: AbortSignal.timeout(1e4) });
@@ -931,39 +936,42 @@ var q = ["href", "title"], qt = /*#__PURE__*/ j(/* @__PURE__ */ c({
931
936
  a.value = "error", o.value = "Status unavailable";
932
937
  }
933
938
  }
934
- return f(() => {
935
- c(), s = setInterval(c, t.pollInterval);
936
- }), p(() => {
937
- s !== null && clearInterval(s);
938
- }), (t, n) => (m(), i("a", {
939
- href: b(M)(e.href),
939
+ function l() {
940
+ document.hidden || c();
941
+ }
942
+ return p(() => {
943
+ c(), s = setInterval(l, Math.max(t.pollInterval, $t)), document.addEventListener("visibilitychange", l);
944
+ }), m(() => {
945
+ s !== null && clearInterval(s), document.removeEventListener("visibilitychange", l);
946
+ }), (t, n) => (h(), i("a", {
947
+ href: x(P)(e.href),
940
948
  target: "_blank",
941
949
  rel: "noopener noreferrer",
942
- class: u(["status-widget", `status-widget--${a.value}`]),
950
+ class: d(["status-widget", `status-widget--${a.value}`]),
943
951
  title: `Platform status: ${o.value}`
944
- }, y(o.value), 11, q));
952
+ }, b(o.value), 11, q));
945
953
  }
946
- }), [["__scopeId", "data-v-57682f53"]]), J = {
954
+ }), [["__scopeId", "data-v-a83de7ee"]]), J = {
947
955
  mainnet: "https://suivision.xyz",
948
956
  testnet: "https://testnet.suivision.xyz",
949
957
  devnet: "https://devnet.suivision.xyz"
950
958
  };
951
- function Jt(e, t, n = "testnet") {
959
+ function tn(e, t, n = "testnet") {
952
960
  return `${J[n] ?? J.testnet}/${e}/${encodeURIComponent(t)}`;
953
961
  }
954
962
  //#endregion
955
963
  //#region src/composables/useColorMode.ts
956
- var Y = "mw-color-mode", X = h("system"), Z = !1;
957
- function Yt() {
964
+ var Y = "mw-color-mode", X = g("system"), Z = !1;
965
+ function nn() {
958
966
  return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-color-scheme: dark)").matches;
959
967
  }
960
968
  function Q(e) {
961
- return e === "dark" || e === "system" && Yt();
969
+ return e === "dark" || e === "system" && nn();
962
970
  }
963
971
  function $(e) {
964
972
  typeof document < "u" && document.documentElement.setAttribute("data-theme", Q(e) ? "dark" : "light");
965
973
  }
966
- function Xt(e = "system") {
974
+ function rn(e = "system") {
967
975
  if (!Z) {
968
976
  Z = !0;
969
977
  let t = null;
@@ -973,11 +981,13 @@ function Xt(e = "system") {
973
981
  } catch {}
974
982
  X.value = t ?? e, $(X.value), typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", () => {
975
983
  X.value === "system" && $("system");
976
- }), E(X, (e) => {
977
- $(e);
978
- try {
979
- typeof localStorage < "u" && localStorage.setItem(Y, e);
980
- } catch {}
984
+ }), l(!0).run(() => {
985
+ D(X, (e) => {
986
+ $(e);
987
+ try {
988
+ typeof localStorage < "u" && localStorage.setItem(Y, e);
989
+ } catch {}
990
+ });
981
991
  });
982
992
  }
983
993
  function t(e) {
@@ -995,10 +1005,10 @@ function Xt(e = "system") {
995
1005
  }
996
1006
  //#endregion
997
1007
  //#region src/composables/useSeason.ts
998
- function Zt() {
1008
+ function an() {
999
1009
  if (typeof document > "u") return;
1000
1010
  let e = (/* @__PURE__ */ new Date()).getMonth(), t = e >= 2 && e <= 4 ? "spring" : e >= 5 && e <= 7 ? "summer" : e >= 8 && e <= 10 ? "autumn" : "winter";
1001
1011
  document.documentElement.dataset.season = t;
1002
1012
  }
1003
1013
  //#endregion
1004
- export { oe as AppFooter, ee as AppHeader, ne as AppSidebar, Se as AppTabNav, de as ColorModeControl, Le as CopyableAddress, qe as CopyrightLine, ze as ExplorerLink, ye as SidebarGroup, _e as SidebarItem, qt as StatusWidget, zt as UiActivityFeed, Ut as UiActivityItem, vt as UiBadge, pe as UiButton, I as UiCard, kt as UiDataTable, je as UiDialog, ct as UiFieldHint, pt as UiFormField, z as UiNotice, _t as UiPanel, it as UiSegmentedControl, L as UiSelect, Ct as UiStatGrid, Tt as UiStatRow, Lt as UiStatusBar, H as UiStatusDot, $e as UiStepper, we as UiTabPanel, ht as UiToolIntro, xt as UiToolbar, V as UiToolbarButton, U as isStatusLevel, K as parseSnapshot, M as safeHref, Jt as suiExplorerUrl, B as tabIds, Xt as useColorMode, Zt as useSeason };
1014
+ export { oe as AppFooter, ee as AppHeader, ne as AppSidebar, Oe as AppTabNav, de as ColorModeControl, Ue as CopyableAddress, $e as CopyrightLine, z as DEFAULT_TRUNCATE_CHARS, Ge as ExplorerLink, Te as SidebarGroup, Ce as SidebarItem, en as StatusWidget, Gt as UiActivityFeed, Yt as UiActivityItem, wt as UiBadge, pe as UiButton, _e as UiCard, Ft as UiDataTable, Le as UiDialog, mt as UiFieldHint, yt as UiFormField, be as UiNotice, Ct as UiPanel, ut as UiSegmentedControl, ve as UiSelect, kt as UiStatGrid, jt as UiStatRow, Ut as UiStatusBar, H as UiStatusDot, at as UiStepper, Ae as UiTabPanel, xt as UiToolIntro, Dt as UiToolbar, V as UiToolbarButton, U as isStatusLevel, K as parseSnapshot, P as safeHref, I as safePath, tn as suiExplorerUrl, R as tabIds, B as truncateMiddle, rn as useColorMode, an as useSeason };