@meddleware/ui 0.1.35 → 0.1.37
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/README.md +49 -13
- package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
- package/dist/base.css +48 -2
- package/dist/components/AppFooter.css +1 -0
- package/dist/components/AppFooter.js +7 -0
- package/dist/components/AppFooter.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/components/AppHeader.css +1 -0
- package/dist/components/AppHeader.js +7 -0
- package/dist/components/AppHeader.vue.d.ts +8 -0
- package/dist/components/AppHeader.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/components/AppSidebar.css +1 -0
- package/dist/components/AppSidebar.js +7 -0
- package/dist/components/AppSidebar.vue.d.ts +3 -0
- package/dist/components/AppSidebar.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/components/AppTabNav.css +1 -0
- package/dist/components/AppTabNav.js +7 -0
- package/dist/components/AppTabNav.vue.d.ts +3 -0
- package/dist/components/AppTabNav.vue_vue_type_script_setup_true_lang.js +70 -0
- package/dist/components/ColorModeControl.css +1 -0
- package/dist/components/ColorModeControl.js +7 -0
- package/dist/components/ColorModeControl.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/components/CopyableAddress.css +1 -0
- package/dist/components/CopyableAddress.js +7 -0
- package/dist/components/CopyableAddress.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/CopyrightLine.css +1 -0
- package/dist/components/CopyrightLine.js +7 -0
- package/dist/components/CopyrightLine.vue.d.ts +6 -0
- package/dist/components/CopyrightLine.vue_vue_type_script_setup_true_lang.js +80 -0
- package/dist/components/ExplorerLink.css +1 -0
- package/dist/components/ExplorerLink.js +7 -0
- package/dist/components/ExplorerLink.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/SidebarGroup.css +1 -0
- package/dist/components/SidebarGroup.js +7 -0
- package/dist/components/SidebarGroup.vue_vue_type_script_setup_true_lang.js +14 -0
- package/dist/components/SidebarItem.css +1 -0
- package/dist/components/SidebarItem.js +7 -0
- package/dist/components/SidebarItem.vue.d.ts +3 -0
- package/dist/components/SidebarItem.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/components/StatusWidget.css +1 -0
- package/dist/components/StatusWidget.js +7 -0
- package/dist/components/StatusWidget.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/UiActivityFeed.css +1 -0
- package/dist/components/UiActivityFeed.js +7 -0
- package/dist/components/UiActivityFeed.vue_vue_type_script_setup_true_lang.js +13 -0
- package/dist/components/UiActivityItem.css +1 -0
- package/dist/components/UiActivityItem.js +7 -0
- package/dist/components/UiActivityItem.vue_vue_type_script_setup_true_lang.js +22 -0
- package/dist/components/UiAmount.css +1 -0
- package/dist/components/UiAmount.js +7 -0
- package/dist/components/UiAmount.vue.d.ts +12 -0
- package/dist/components/UiAmount.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/components/UiAppShell.css +1 -0
- package/dist/components/UiAppShell.js +7 -0
- package/dist/components/UiAppShell.vue.d.ts +26 -0
- package/dist/components/UiAppShell.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/UiBadge.css +1 -0
- package/dist/components/UiBadge.js +7 -0
- package/dist/components/UiBadge.vue.d.ts +10 -1
- package/dist/components/UiBadge.vue_vue_type_script_setup_true_lang.js +35 -0
- package/dist/components/UiButton.css +1 -0
- package/dist/components/UiButton.js +7 -0
- package/dist/components/UiButton.vue.d.ts +17 -7
- package/dist/components/UiButton.vue_vue_type_script_setup_true_lang.js +60 -0
- package/dist/components/UiCard.css +1 -0
- package/dist/components/UiCard.js +7 -0
- package/dist/components/UiCard.vue.d.ts +20 -6
- package/dist/components/UiCard.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/components/UiCheckField.css +1 -0
- package/dist/components/UiCheckField.js +7 -0
- package/dist/components/UiCheckField.vue.d.ts +26 -0
- package/dist/components/UiCheckField.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/components/UiCodeBlock.css +1 -0
- package/dist/components/UiCodeBlock.js +7 -0
- package/dist/components/UiCodeBlock.vue.d.ts +21 -0
- package/dist/components/UiCodeBlock.vue_vue_type_script_setup_true_lang.js +21 -0
- package/dist/components/UiCopyButton.css +1 -0
- package/dist/components/UiCopyButton.js +7 -0
- package/dist/components/UiCopyButton.vue.d.ts +11 -0
- package/dist/components/UiCopyButton.vue_vue_type_script_setup_true_lang.js +64 -0
- package/dist/components/UiDataTable.css +1 -0
- package/dist/components/UiDataTable.js +7 -0
- package/dist/components/UiDataTable.vue.d.ts +5 -0
- package/dist/components/UiDataTable.vue_vue_type_script_setup_true_lang.js +56 -0
- package/dist/components/UiDateTimeField.js +5 -0
- package/dist/components/UiDateTimeField.vue.d.ts +18 -0
- package/dist/components/UiDateTimeField.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/components/UiDialog.css +1 -0
- package/dist/components/UiDialog.js +7 -0
- package/dist/components/UiDialog.vue.d.ts +8 -5
- package/dist/components/UiDialog.vue_vue_type_script_setup_true_lang.js +78 -0
- package/dist/components/UiEmptyState.css +1 -0
- package/dist/components/UiEmptyState.js +7 -0
- package/dist/components/UiEmptyState.vue.d.ts +15 -0
- package/dist/components/UiEmptyState.vue_vue_type_script_setup_true_lang.js +10 -0
- package/dist/components/UiFieldHint.css +1 -0
- package/dist/components/UiFieldHint.js +7 -0
- package/dist/components/UiFieldHint.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/components/UiFileField.css +1 -0
- package/dist/components/UiFileField.js +7 -0
- package/dist/components/UiFileField.vue.d.ts +17 -0
- package/dist/components/UiFileField.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/components/UiFormField.css +1 -0
- package/dist/components/UiFormField.js +7 -0
- package/dist/components/UiFormField.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/components/UiInput.css +1 -0
- package/dist/components/UiInput.js +7 -0
- package/dist/components/UiInput.vue.d.ts +10 -0
- package/dist/components/UiInput.vue_vue_type_script_setup_true_lang.js +20 -0
- package/dist/components/UiLiveStatus.css +1 -0
- package/dist/components/UiLiveStatus.js +7 -0
- package/dist/components/UiLiveStatus.vue.d.ts +19 -0
- package/dist/components/UiLiveStatus.vue_vue_type_script_setup_true_lang.js +17 -0
- package/dist/components/UiMeter.css +1 -0
- package/dist/components/UiMeter.js +7 -0
- package/dist/components/UiMeter.vue.d.ts +11 -0
- package/dist/components/UiMeter.vue_vue_type_script_setup_true_lang.js +41 -0
- package/dist/components/UiNotice.css +1 -0
- package/dist/components/UiNotice.js +7 -0
- package/dist/components/UiNotice.vue.d.ts +16 -8
- package/dist/components/UiNotice.vue_vue_type_script_setup_true_lang.js +22 -0
- package/dist/components/UiPager.css +1 -0
- package/dist/components/UiPager.js +7 -0
- package/dist/components/UiPager.vue.d.ts +23 -0
- package/dist/components/UiPager.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/components/UiPanel.css +1 -0
- package/dist/components/UiPanel.js +7 -0
- package/dist/components/UiPanel.vue_vue_type_script_setup_true_lang.js +21 -0
- package/dist/components/UiSegmentedControl.css +1 -0
- package/dist/components/UiSegmentedControl.js +7 -0
- package/dist/components/UiSegmentedControl.vue.d.ts +11 -1
- package/dist/components/UiSegmentedControl.vue_vue_type_script_setup_true_lang.js +57 -0
- package/dist/components/UiSelect.css +1 -0
- package/dist/components/UiSelect.js +7 -0
- package/dist/components/UiSelect.vue.d.ts +2 -1
- package/dist/components/UiSelect.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/components/UiSelectField.js +5 -0
- package/dist/components/UiSelectField.vue.d.ts +29 -0
- package/dist/components/UiSelectField.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/components/UiSkipLink.css +1 -0
- package/dist/components/UiSkipLink.js +7 -0
- package/dist/components/UiSkipLink.vue.d.ts +8 -0
- package/dist/components/UiSkipLink.vue_vue_type_script_setup_true_lang.js +14 -0
- package/dist/components/UiStatGrid.css +1 -0
- package/dist/components/UiStatGrid.js +7 -0
- package/dist/components/UiStatGrid.vue_vue_type_script_setup_true_lang.js +10 -0
- package/dist/components/UiStatRow.css +1 -0
- package/dist/components/UiStatRow.js +7 -0
- package/dist/components/UiStatRow.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/components/UiStatusBar.css +1 -0
- package/dist/components/UiStatusBar.js +7 -0
- package/dist/components/UiStatusBar.vue_vue_type_script_setup_true_lang.js +45 -0
- package/dist/components/UiStatusDot.css +1 -0
- package/dist/components/UiStatusDot.js +7 -0
- package/dist/components/UiStatusDot.vue.d.ts +6 -2
- package/dist/components/UiStatusDot.vue_vue_type_script_setup_true_lang.js +26 -0
- package/dist/components/UiStepper.css +1 -0
- package/dist/components/UiStepper.js +7 -0
- package/dist/components/UiStepper.vue.d.ts +10 -2
- package/dist/components/UiStepper.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/components/UiTabPanel.css +1 -0
- package/dist/components/UiTabPanel.js +7 -0
- package/dist/components/UiTabPanel.vue_vue_type_script_setup_true_lang.js +22 -0
- package/dist/components/UiTextField.js +5 -0
- package/dist/components/UiTextField.vue.d.ts +35 -0
- package/dist/components/UiTextField.vue_vue_type_script_setup_true_lang.js +59 -0
- package/dist/components/UiTextarea.css +1 -0
- package/dist/components/UiTextarea.js +7 -0
- package/dist/components/UiTextarea.vue.d.ts +10 -0
- package/dist/components/UiTextarea.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/components/UiToolIntro.css +1 -0
- package/dist/components/UiToolIntro.js +7 -0
- package/dist/components/UiToolIntro.vue_vue_type_script_setup_true_lang.js +10 -0
- package/dist/components/UiToolbar.css +1 -0
- package/dist/components/UiToolbar.js +7 -0
- package/dist/components/UiToolbar.vue.d.ts +5 -2
- package/dist/components/UiToolbar.vue_vue_type_script_setup_true_lang.js +49 -0
- package/dist/components/UiToolbarButton.css +1 -0
- package/dist/components/UiToolbarButton.js +7 -0
- package/dist/components/UiToolbarButton.vue_vue_type_script_setup_true_lang.js +13 -0
- package/dist/composables/useColorMode.js +46 -0
- package/dist/composables/useNow.d.ts +6 -0
- package/dist/composables/useNow.js +12 -0
- package/dist/composables/usePager.d.ts +28 -0
- package/dist/composables/usePager.js +36 -0
- package/dist/composables/useSeason.js +8 -0
- package/dist/composables/useStatusSnapshot.d.ts +28 -0
- package/dist/composables/useStatusSnapshot.js +38 -0
- package/dist/index.d.ts +28 -8
- package/dist/index.js +58 -0
- package/dist/internal/panel.d.ts +8 -2
- package/dist/internal/panel.js +29 -0
- package/dist/reset.css +1 -0
- package/dist/runtime-config.js +73 -0
- package/dist/styles/reset.d.ts +1 -0
- package/dist/tabs.js +9 -0
- package/dist/theme-init.js +26 -0
- package/package.json +14 -10
- package/dist/explorer.d.ts +0 -13
- package/dist/safe-href.d.ts +0 -20
- package/dist/status.d.ts +0 -29
- package/dist/truncate.d.ts +0 -14
- package/dist/ui.js +0 -1086
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { tabIds as e } from "../tabs.js";
|
|
2
|
+
import { Fragment as t, createElementBlock as n, createElementVNode as r, defineComponent as i, normalizeClass as a, openBlock as o, renderList as s, toDisplayString as c, unref as l } from "vue";
|
|
3
|
+
//#region src/components/AppTabNav.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var u = ["aria-label"], d = [
|
|
5
|
+
"id",
|
|
6
|
+
"aria-selected",
|
|
7
|
+
"aria-controls",
|
|
8
|
+
"tabindex",
|
|
9
|
+
"onClick",
|
|
10
|
+
"onKeydown"
|
|
11
|
+
], f = /*@__PURE__*/ i({
|
|
12
|
+
__name: "AppTabNav",
|
|
13
|
+
props: {
|
|
14
|
+
tabs: {},
|
|
15
|
+
modelValue: {},
|
|
16
|
+
idPrefix: {},
|
|
17
|
+
ariaLabel: {},
|
|
18
|
+
variant: { default: "underline" },
|
|
19
|
+
size: { default: "md" },
|
|
20
|
+
allPanels: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
default: !1
|
|
23
|
+
},
|
|
24
|
+
flush: {
|
|
25
|
+
type: Boolean,
|
|
26
|
+
default: !1
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
emits: ["update:modelValue"],
|
|
30
|
+
setup(i, { emit: f }) {
|
|
31
|
+
let p = i, m = f, h = [];
|
|
32
|
+
function g(e) {
|
|
33
|
+
let t = p.tabs[e];
|
|
34
|
+
t && (m("update:modelValue", t.id), h[e]?.focus());
|
|
35
|
+
}
|
|
36
|
+
function _(e, t) {
|
|
37
|
+
let n = p.tabs.length - 1, r = 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;
|
|
38
|
+
r < 0 || (e.preventDefault(), g(r));
|
|
39
|
+
}
|
|
40
|
+
return (f, p) => (o(), n("menu", {
|
|
41
|
+
role: "tablist",
|
|
42
|
+
class: a(["mw-tab-nav", {
|
|
43
|
+
"mw-tab-nav--raised": i.variant === "raised",
|
|
44
|
+
"mw-tab-nav--lg": i.size === "lg",
|
|
45
|
+
"mw-tab-nav--flush": i.flush
|
|
46
|
+
}]),
|
|
47
|
+
"aria-label": i.ariaLabel
|
|
48
|
+
}, [(o(!0), n(t, null, s(i.tabs, (t, s) => (o(), n("li", {
|
|
49
|
+
key: t.id,
|
|
50
|
+
role: "presentation",
|
|
51
|
+
class: "mw-tab-nav__item"
|
|
52
|
+
}, [r("button", {
|
|
53
|
+
id: l(e)(i.idPrefix, t.id).tab,
|
|
54
|
+
ref_for: !0,
|
|
55
|
+
ref: (e) => {
|
|
56
|
+
h[s] = e;
|
|
57
|
+
},
|
|
58
|
+
type: "button",
|
|
59
|
+
role: "tab",
|
|
60
|
+
class: a(["mw-tab-nav__tab", { "mw-tab-nav__tab--active": i.modelValue === t.id }]),
|
|
61
|
+
"aria-selected": i.modelValue === t.id,
|
|
62
|
+
"aria-controls": i.allPanels || i.modelValue === t.id ? l(e)(i.idPrefix, t.id).panel : void 0,
|
|
63
|
+
tabindex: i.modelValue === t.id ? 0 : -1,
|
|
64
|
+
onClick: (e) => m("update:modelValue", t.id),
|
|
65
|
+
onKeydown: (e) => _(e, s)
|
|
66
|
+
}, c(t.label), 43, d)]))), 128))], 10, u));
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
//#endregion
|
|
70
|
+
export { f as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer mw.reset;@layer mw.components{.mw-mode[data-v-905a9db8]{gap:var(--space-4xs);min-inline-size:0;padding:var(--space-4xs);border:1px solid var(--_border,var(--border));border-radius:var(--radius);margin:0;display:inline-flex}.mw-mode__btn[data-v-905a9db8]{justify-content:center;align-items:center;gap:var(--space-3xs);min-block-size:1.5rem;min-inline-size:1.5rem;padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-sm);color:var(--_muted,var(--muted));font:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:color var(--transition-base), background var(--transition-base);background:0 0;border:0;display:inline-flex}.mw-mode__btn[data-v-905a9db8]:hover{color:var(--_text,var(--text))}.mw-mode__btn.is-active[data-v-905a9db8]{color:var(--_text,var(--text));background:color-mix(in srgb, var(--_text,var(--text)) 14%, transparent)}.mw-mode__btn[data-v-905a9db8]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}@media (forced-colors:active){.mw-mode__btn.is-active[data-v-905a9db8]{outline-offset:-2px;outline:2px solid highlight}}@media (width<40em){.mw-mode__label[data-v-905a9db8]{display:none}}}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./ColorModeControl.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
import "./ColorModeControl.css";
|
|
4
|
+
//#region src/components/ColorModeControl.vue
|
|
5
|
+
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-905a9db8"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Fragment as e, createElementBlock as t, createElementVNode as n, defineComponent as r, normalizeClass as i, openBlock as a, renderList as o, toDisplayString as s } from "vue";
|
|
2
|
+
//#region src/components/ColorModeControl.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var c = { class: "mw-mode" }, l = [
|
|
4
|
+
"aria-pressed",
|
|
5
|
+
"title",
|
|
6
|
+
"onClick"
|
|
7
|
+
], u = {
|
|
8
|
+
viewBox: "0 0 24 24",
|
|
9
|
+
width: "1em",
|
|
10
|
+
height: "1em",
|
|
11
|
+
fill: "none",
|
|
12
|
+
stroke: "currentColor",
|
|
13
|
+
"stroke-width": "2",
|
|
14
|
+
"stroke-linecap": "round",
|
|
15
|
+
"stroke-linejoin": "round",
|
|
16
|
+
"aria-hidden": "true"
|
|
17
|
+
}, d = {
|
|
18
|
+
key: 1,
|
|
19
|
+
d: "M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"
|
|
20
|
+
}, f = { class: "mw-mode__label" }, p = /*@__PURE__*/ r({
|
|
21
|
+
__name: "ColorModeControl",
|
|
22
|
+
props: {
|
|
23
|
+
modelValue: {},
|
|
24
|
+
modes: { default: () => [
|
|
25
|
+
"light",
|
|
26
|
+
"dark",
|
|
27
|
+
"system"
|
|
28
|
+
] }
|
|
29
|
+
},
|
|
30
|
+
emits: ["update:modelValue"],
|
|
31
|
+
setup(r) {
|
|
32
|
+
let p = {
|
|
33
|
+
light: "Light",
|
|
34
|
+
dark: "Dark",
|
|
35
|
+
system: "System"
|
|
36
|
+
};
|
|
37
|
+
return (m, h) => (a(), t("fieldset", c, [h[4] ||= n("legend", { class: "mw-visually-hidden" }, "Colour mode", -1), (a(!0), t(e, null, o(r.modes, (o) => (a(), t("button", {
|
|
38
|
+
key: o,
|
|
39
|
+
type: "button",
|
|
40
|
+
class: i(["mw-mode__btn", { "is-active": r.modelValue === o }]),
|
|
41
|
+
"aria-pressed": r.modelValue === o,
|
|
42
|
+
title: p[o],
|
|
43
|
+
onClick: (e) => m.$emit("update:modelValue", o)
|
|
44
|
+
}, [(a(), t("svg", u, [o === "light" ? (a(), t(e, { key: 0 }, [h[0] ||= n("circle", {
|
|
45
|
+
cx: "12",
|
|
46
|
+
cy: "12",
|
|
47
|
+
r: "4"
|
|
48
|
+
}, null, -1), h[1] ||= n("path", { d: "M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4" }, null, -1)], 64)) : o === "dark" ? (a(), t("path", d)) : (a(), t(e, { key: 2 }, [h[2] ||= n("rect", {
|
|
49
|
+
x: "3",
|
|
50
|
+
y: "4",
|
|
51
|
+
width: "18",
|
|
52
|
+
height: "12",
|
|
53
|
+
rx: "2"
|
|
54
|
+
}, null, -1), h[3] ||= n("path", { d: "M8 20h8M12 16v4" }, null, -1)], 64))])), n("span", f, s(p[o]), 1)], 10, l))), 128))]));
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
//#endregion
|
|
58
|
+
export { p as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer mw.reset;@layer mw.components{.ca-root[data-v-60f80445]{align-items:center;gap:.35em;max-width:100%;display:inline-flex}.ca-value[data-v-60f80445]{font-family:var(--mw-font-mono);font-size:inherit;overflow-wrap:anywhere;white-space:normal;min-width:0}}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./CopyableAddress.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
import "./CopyableAddress.css";
|
|
4
|
+
//#region src/components/CopyableAddress.vue
|
|
5
|
+
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-60f80445"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import e from "./UiCopyButton.js";
|
|
2
|
+
import { computed as t, createElementBlock as n, createElementVNode as r, createTextVNode as i, createVNode as a, defineComponent as o, openBlock as s, renderSlot as c, toDisplayString as l } from "vue";
|
|
3
|
+
import { DEFAULT_TRUNCATE_CHARS as u, truncateMiddle as d } from "@meddleware/web-utils";
|
|
4
|
+
//#region src/components/CopyableAddress.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var f = { class: "ca-root" }, p = ["title"], m = /*@__PURE__*/ o({
|
|
6
|
+
__name: "CopyableAddress",
|
|
7
|
+
props: {
|
|
8
|
+
address: {},
|
|
9
|
+
truncate: {
|
|
10
|
+
type: Boolean,
|
|
11
|
+
default: !0
|
|
12
|
+
},
|
|
13
|
+
chars: { default: () => [...u] },
|
|
14
|
+
label: { default: "Copy" }
|
|
15
|
+
},
|
|
16
|
+
setup(o) {
|
|
17
|
+
let u = o, m = t(() => u.truncate ? d(u.address, u.chars) : u.address);
|
|
18
|
+
return (t, u) => (s(), n("span", f, [r("span", {
|
|
19
|
+
class: "ca-value",
|
|
20
|
+
title: o.address
|
|
21
|
+
}, [c(t.$slots, "default", {}, () => [i(l(m.value), 1)], !0)], 8, p), a(e, {
|
|
22
|
+
value: o.address,
|
|
23
|
+
label: o.label
|
|
24
|
+
}, null, 8, ["value", "label"])]));
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
//#endregion
|
|
28
|
+
export { m as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer mw.reset;@layer mw.components{.copyright-line[data-v-e1afe1f4]{text-align:center;max-width:100%;display:inline-block}.symbol-link[data-v-e1afe1f4]{white-space:nowrap;color:inherit;vertical-align:text-top;padding:0 var(--space-4xs);align-items:center;text-decoration:none;display:inline-flex}.symbol-link[data-v-e1afe1f4]:hover{text-decoration:underline}.symbol-mark[data-v-e1afe1f4]{vertical-align:-.15em;display:inline}}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./CopyrightLine.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
import "./CopyrightLine.css";
|
|
4
|
+
//#region src/components/CopyrightLine.vue
|
|
5
|
+
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-e1afe1f4"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -5,6 +5,11 @@ type __VLS_Props = {
|
|
|
5
5
|
year?: number;
|
|
6
6
|
rightsStatement?: RightsStatementVariant | string;
|
|
7
7
|
symbolVariant?: SymbolVariant;
|
|
8
|
+
/**
|
|
9
|
+
* Where the legal documents are served (default `https://meddleware.co.uk/legal/`, the one canonical host, so an app ships no copies).
|
|
10
|
+
* A root-relative path (`/legal/`) serves them from the app's own origin instead.
|
|
11
|
+
*/
|
|
12
|
+
legalBase?: string;
|
|
8
13
|
/** Optional override for the symbol link href. Defaults based on symbolVariant. */
|
|
9
14
|
symbolHref?: string;
|
|
10
15
|
/** Optional override for the symbol link aria-label. Defaults based on symbolVariant. */
|
|
@@ -14,6 +19,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
14
19
|
year: number;
|
|
15
20
|
rightsStatement: string;
|
|
16
21
|
symbolVariant: SymbolVariant;
|
|
22
|
+
legalBase: string;
|
|
17
23
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
24
|
declare const _default: typeof __VLS_export;
|
|
19
25
|
export default _default;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Fragment as e, computed as t, createElementBlock as n, createElementVNode as r, createTextVNode as i, defineComponent as a, openBlock as o, toDisplayString as s, unref as c } from "vue";
|
|
2
|
+
import { safeHref as l, safePath as u } from "@meddleware/web-utils";
|
|
3
|
+
//#region src/components/CopyrightLine.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var d = { class: "copyright-line" }, f = ["href", "aria-label"], p = {
|
|
5
|
+
key: 1,
|
|
6
|
+
viewBox: "0 0 24 24",
|
|
7
|
+
width: "1em",
|
|
8
|
+
height: "1em",
|
|
9
|
+
"aria-hidden": "true",
|
|
10
|
+
focusable: "false",
|
|
11
|
+
class: "symbol-mark"
|
|
12
|
+
}, m = {
|
|
13
|
+
key: 2,
|
|
14
|
+
viewBox: "0 0 24 24",
|
|
15
|
+
width: "1em",
|
|
16
|
+
height: "1em",
|
|
17
|
+
"aria-hidden": "true",
|
|
18
|
+
focusable: "false",
|
|
19
|
+
class: "symbol-mark"
|
|
20
|
+
}, h = /*@__PURE__*/ a({
|
|
21
|
+
__name: "CopyrightLine",
|
|
22
|
+
props: {
|
|
23
|
+
organisationName: {},
|
|
24
|
+
year: { default: () => (/* @__PURE__ */ new Date()).getFullYear() },
|
|
25
|
+
rightsStatement: { default: "all" },
|
|
26
|
+
symbolVariant: { default: "copyright" },
|
|
27
|
+
legalBase: { default: "https://meddleware.co.uk/legal/" },
|
|
28
|
+
symbolHref: {},
|
|
29
|
+
symbolLabel: {}
|
|
30
|
+
},
|
|
31
|
+
setup(a) {
|
|
32
|
+
let h = a;
|
|
33
|
+
function g(e) {
|
|
34
|
+
return e.startsWith("/") ? u(e) : l(e);
|
|
35
|
+
}
|
|
36
|
+
let _ = {
|
|
37
|
+
kopimi: "powr.broccoli-kopimi.pdf",
|
|
38
|
+
copyleft: "copyleft.html",
|
|
39
|
+
copyright: "copyright.html"
|
|
40
|
+
}, v = t(() => (h.symbolHref ? g(h.symbolHref) : void 0) || g(h.legalBase.replace(/\/?$/, "/") + _[h.symbolVariant]) || `/legal/${_[h.symbolVariant]}`), y = t(() => v.value.startsWith("/")), b = t(() => h.symbolLabel || (h.symbolVariant === "kopimi" ? "Kopimi legal notice" : h.symbolVariant === "copyleft" ? "Copyleft legal notice" : "Copyright legal notice")), x = t(() => h.rightsStatement === "" ? "" : h.rightsStatement === "none" ? "No rights reserved." : h.rightsStatement === "all" || !h.rightsStatement ? "All rights reserved." : h.rightsStatement === "jam" ? "All jams preserved." : h.rightsStatement);
|
|
41
|
+
return (t, h) => (o(), n("small", d, [r("a", {
|
|
42
|
+
href: y.value ? c(u)(v.value) : c(l)(v.value),
|
|
43
|
+
class: "symbol-link",
|
|
44
|
+
target: "_blank",
|
|
45
|
+
rel: "noopener noreferrer",
|
|
46
|
+
"aria-label": b.value
|
|
47
|
+
}, [a.symbolVariant === "copyright" ? (o(), n(e, { key: 0 }, [i("©")], 64)) : a.symbolVariant === "copyleft" ? (o(), n("svg", p, [...h[0] ||= [r("circle", {
|
|
48
|
+
cx: "12",
|
|
49
|
+
cy: "12",
|
|
50
|
+
r: "9.5",
|
|
51
|
+
fill: "none",
|
|
52
|
+
stroke: "currentColor",
|
|
53
|
+
"stroke-width": "1.5"
|
|
54
|
+
}, null, -1), r("text", {
|
|
55
|
+
x: "-12",
|
|
56
|
+
y: "12",
|
|
57
|
+
transform: "scale(-1,1)",
|
|
58
|
+
"text-anchor": "middle",
|
|
59
|
+
"dominant-baseline": "central",
|
|
60
|
+
"font-family": "system-ui, sans-serif",
|
|
61
|
+
"font-size": "13",
|
|
62
|
+
fill: "currentColor"
|
|
63
|
+
}, "C", -1)]])) : (o(), n("svg", m, [...h[1] ||= [r("path", {
|
|
64
|
+
d: "M12 4L22 23H2Z",
|
|
65
|
+
fill: "none",
|
|
66
|
+
stroke: "currentColor",
|
|
67
|
+
"stroke-width": "1.5"
|
|
68
|
+
}, null, -1), r("text", {
|
|
69
|
+
x: "12",
|
|
70
|
+
y: "18",
|
|
71
|
+
"text-anchor": "middle",
|
|
72
|
+
"dominant-baseline": "middle",
|
|
73
|
+
"font-family": "system-ui, sans-serif",
|
|
74
|
+
"font-size": "11",
|
|
75
|
+
fill: "currentColor"
|
|
76
|
+
}, "C", -1)]]))], 8, f), i(" " + s(a.year) + " " + s(a.organisationName) + "." + s(x.value ? ` ${x.value}` : ""), 1)]));
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
//#endregion
|
|
80
|
+
export { h as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer mw.reset;@layer mw.components{.el-root[data-v-afd81c09]{min-block-size:calc(var(--space-sm) + var(--space-3xs));font-family:var(--mw-font-mono);font-size:inherit;color:var(--mw-link,var(--accent));text-underline-offset:.18em;transition:color var(--duration-base);-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline-block}.el-root[data-v-afd81c09]:hover{color:var(--text);text-decoration-style:solid}}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./ExplorerLink.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
import "./ExplorerLink.css";
|
|
4
|
+
//#region src/components/ExplorerLink.vue
|
|
5
|
+
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-afd81c09"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { computed as e, createElementBlock as t, createTextVNode as n, defineComponent as r, openBlock as i, renderSlot as a, toDisplayString as o, unref as s } from "vue";
|
|
2
|
+
import { DEFAULT_TRUNCATE_CHARS as c, safeHref as l, truncateMiddle as u } from "@meddleware/web-utils";
|
|
3
|
+
//#region src/components/ExplorerLink.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var d = ["href", "title"], f = /*@__PURE__*/ r({
|
|
5
|
+
__name: "ExplorerLink",
|
|
6
|
+
props: {
|
|
7
|
+
href: {},
|
|
8
|
+
value: {},
|
|
9
|
+
truncate: {
|
|
10
|
+
type: Boolean,
|
|
11
|
+
default: !0
|
|
12
|
+
},
|
|
13
|
+
chars: { default: () => [...c] }
|
|
14
|
+
},
|
|
15
|
+
setup(r) {
|
|
16
|
+
let c = r, f = e(() => c.value ? c.truncate ? u(c.value, c.chars) : c.value : "");
|
|
17
|
+
return (e, c) => (i(), t("a", {
|
|
18
|
+
class: "el-root",
|
|
19
|
+
href: s(l)(r.href),
|
|
20
|
+
target: "_blank",
|
|
21
|
+
rel: "noopener noreferrer",
|
|
22
|
+
title: r.value
|
|
23
|
+
}, [a(e.$slots, "default", {}, () => [n(o(f.value), 1)], !0)], 8, d));
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
//#endregion
|
|
27
|
+
export { f as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer mw.reset;@layer mw.components{.sidebar-group[data-v-d2020093]{border:0;min-inline-size:0;margin:0;padding:0}.sidebar-group--l1+.sidebar-group--l1[data-v-d2020093]{margin-block-start:var(--space-2xs)}.sidebar-group__label[data-v-d2020093]{float:inline-start;width:100%;padding:var(--space-3xs) var(--space-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--_muted,var(--muted));-webkit-user-select:none;user-select:none}.sidebar-group__label[data-v-d2020093]+*{clear:both}.sidebar-group--l1>.sidebar-group__label[data-v-d2020093]{text-transform:uppercase;letter-spacing:var(--tracking-wide)}.sidebar-group--l2[data-v-d2020093]{padding-inline-start:var(--space-3xs)}.sidebar-group--l2>.sidebar-group__label[data-v-d2020093]{font-weight:var(--font-weight-medium);padding-inline-start:var(--space-xs)}}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./SidebarGroup.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
import "./SidebarGroup.css";
|
|
4
|
+
//#region src/components/SidebarGroup.vue
|
|
5
|
+
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-d2020093"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createElementBlock as e, createElementVNode as t, defineComponent as n, normalizeClass as r, openBlock as i, renderSlot as a, toDisplayString as o } from "vue";
|
|
2
|
+
//#region src/components/SidebarGroup.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var s = { class: "sidebar-group__label" }, c = /*@__PURE__*/ n({
|
|
4
|
+
__name: "SidebarGroup",
|
|
5
|
+
props: {
|
|
6
|
+
label: {},
|
|
7
|
+
level: { default: 1 }
|
|
8
|
+
},
|
|
9
|
+
setup(n) {
|
|
10
|
+
return (c, l) => (i(), e("fieldset", { class: r(["sidebar-group", `sidebar-group--l${n.level}`]) }, [t("legend", s, o(n.label), 1), a(c.$slots, "default", {}, void 0, !0)], 2));
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
//#endregion
|
|
14
|
+
export { c as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer mw.reset;@layer mw.components{.sidebar-item[data-v-cb0a8084]{align-items:center;gap:var(--space-2xs);width:100%;padding:var(--space-2xs) var(--space-sm);color:var(--_muted,var(--muted));font:inherit;text-align:left;cursor:pointer;transition:background var(--transition-base), color var(--transition-base);background:0 0;border:0;border-radius:0;text-decoration:none;display:flex}.sidebar-item[data-v-cb0a8084]:hover:not(:disabled){background:color-mix(in srgb, currentColor 10%, transparent);color:var(--_text,var(--text))}.sidebar-item.is-active[data-v-cb0a8084]{background:color-mix(in srgb, var(--accent) 26%, transparent);color:var(--_text,var(--text))}.sidebar-item[data-v-cb0a8084]:disabled{cursor:default}@media (forced-colors:active){.sidebar-item.is-active[data-v-cb0a8084]{outline-offset:-2px;outline:2px solid highlight}}.sidebar-item[data-v-cb0a8084]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.sidebar-item__icon[data-v-cb0a8084]{width:var(--space-sm);text-align:center}}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./SidebarItem.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
import "./SidebarItem.css";
|
|
4
|
+
//#region src/components/SidebarItem.vue
|
|
5
|
+
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-cb0a8084"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
2
|
label: string;
|
|
3
|
+
/** A decorative leading glyph (hidden from assistive technology). */
|
|
3
4
|
icon?: string;
|
|
4
5
|
active?: boolean;
|
|
5
6
|
disabled?: boolean;
|
|
7
|
+
/** Render an `<a>` to this root-relative path or URL (checked with `safePath` / `safeHref`). */
|
|
8
|
+
href?: string;
|
|
6
9
|
};
|
|
7
10
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
8
11
|
disabled: boolean;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { createCommentVNode as e, createElementBlock as t, createTextVNode as n, defineComponent as r, normalizeClass as i, openBlock as a, toDisplayString as o, unref as s } from "vue";
|
|
2
|
+
import { safeHref as c, safePath as l } from "@meddleware/web-utils";
|
|
3
|
+
//#region src/components/SidebarItem.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var u = ["href", "aria-current"], d = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "sidebar-item__icon",
|
|
7
|
+
"aria-hidden": "true"
|
|
8
|
+
}, f = ["disabled", "aria-current"], p = {
|
|
9
|
+
key: 0,
|
|
10
|
+
class: "sidebar-item__icon",
|
|
11
|
+
"aria-hidden": "true"
|
|
12
|
+
}, m = /*@__PURE__*/ r({
|
|
13
|
+
__name: "SidebarItem",
|
|
14
|
+
props: {
|
|
15
|
+
label: {},
|
|
16
|
+
icon: {},
|
|
17
|
+
active: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: !1
|
|
20
|
+
},
|
|
21
|
+
disabled: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
default: !1
|
|
24
|
+
},
|
|
25
|
+
href: {}
|
|
26
|
+
},
|
|
27
|
+
setup(r) {
|
|
28
|
+
return (m, h) => r.href === void 0 ? (a(), t("button", {
|
|
29
|
+
key: 1,
|
|
30
|
+
type: "button",
|
|
31
|
+
class: i(["sidebar-item", { "is-active": r.active }]),
|
|
32
|
+
disabled: r.disabled,
|
|
33
|
+
"aria-current": r.active ? "page" : void 0
|
|
34
|
+
}, [r.icon ? (a(), t("span", p, o(r.icon), 1)) : e("", !0), n(" " + o(r.label), 1)], 10, f)) : (a(), t("a", {
|
|
35
|
+
key: 0,
|
|
36
|
+
href: r.href.startsWith("/") ? s(l)(r.href) : s(c)(r.href),
|
|
37
|
+
class: i(["sidebar-item", { "is-active": r.active }]),
|
|
38
|
+
"aria-current": r.active ? "page" : void 0
|
|
39
|
+
}, [r.icon ? (a(), t("span", d, o(r.icon), 1)) : e("", !0), n(" " + o(r.label), 1)], 10, u));
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
//#endregion
|
|
43
|
+
export { m as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer mw.reset;@layer mw.components{.status-widget[data-v-faeb23fe]{align-items:center;gap:var(--space-2xs);color:inherit;font-size:var(--font-size-sm);text-decoration:none;display:inline-flex}.status-widget[data-v-faeb23fe]:hover{text-decoration:underline}}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./StatusWidget.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
import "./StatusWidget.css";
|
|
4
|
+
//#region src/components/StatusWidget.vue
|
|
5
|
+
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-faeb23fe"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import e from "./UiStatusDot.js";
|
|
2
|
+
import { useStatusSnapshot as t } from "../composables/useStatusSnapshot.js";
|
|
3
|
+
import { computed as n, createElementBlock as r, createTextVNode as i, createVNode as a, defineComponent as o, normalizeClass as s, openBlock as c, toDisplayString as l, unref as u } from "vue";
|
|
4
|
+
import { STATUS_HEADLINE as d, safeHref as f } from "@meddleware/web-utils";
|
|
5
|
+
//#region src/components/StatusWidget.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var p = ["href", "title"], m = /*@__PURE__*/ o({
|
|
7
|
+
__name: "StatusWidget",
|
|
8
|
+
props: {
|
|
9
|
+
apiUrl: { default: "https://status.meddleware.co.uk/api/status" },
|
|
10
|
+
href: { default: "https://status.meddleware.co.uk" },
|
|
11
|
+
pollInterval: { default: 6e4 }
|
|
12
|
+
},
|
|
13
|
+
setup(o) {
|
|
14
|
+
let m = o, h = {
|
|
15
|
+
operational: "ok",
|
|
16
|
+
degraded: "degraded",
|
|
17
|
+
down: "error",
|
|
18
|
+
unknown: "degraded"
|
|
19
|
+
}, { snapshot: g, error: _ } = t({
|
|
20
|
+
url: m.apiUrl,
|
|
21
|
+
intervalMs: m.pollInterval
|
|
22
|
+
}), v = n(() => _.value ? "error" : g.value ? h[g.value.overall] : "checking"), y = n(() => _.value ? "Status unavailable" : g.value ? d[g.value.overall] : "Checking status…"), b = n(() => v.value === "ok" ? "operational" : v.value === "degraded" ? "degraded" : v.value === "error" ? "down" : "unknown");
|
|
23
|
+
return (t, n) => (c(), r("a", {
|
|
24
|
+
href: u(f)(o.href),
|
|
25
|
+
target: "_blank",
|
|
26
|
+
rel: "noopener noreferrer",
|
|
27
|
+
class: s(["status-widget", `status-widget--${v.value}`]),
|
|
28
|
+
title: `Platform status: ${y.value}`
|
|
29
|
+
}, [a(e, { status: b.value }, null, 8, ["status"]), i(l(y.value), 1)], 10, p));
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
//#endregion
|
|
33
|
+
export { m as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer mw.reset;@layer mw.components{.mw-feed[data-v-bdd1bebd]{font-size:var(--font-size-sm);margin:0;padding:0;list-style:none}}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./UiActivityFeed.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
import "./UiActivityFeed.css";
|
|
4
|
+
//#region src/components/UiActivityFeed.vue
|
|
5
|
+
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-bdd1bebd"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createElementBlock as e, defineComponent as t, openBlock as n, renderSlot as r } from "vue";
|
|
2
|
+
//#region src/components/UiActivityFeed.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var i = {
|
|
4
|
+
class: "mw-feed",
|
|
5
|
+
role: "list"
|
|
6
|
+
}, a = /*@__PURE__*/ t({
|
|
7
|
+
__name: "UiActivityFeed",
|
|
8
|
+
setup(t) {
|
|
9
|
+
return (t, a) => (n(), e("ul", i, [r(t.$slots, "default", {}, void 0, !0)]));
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
//#endregion
|
|
13
|
+
export { a as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer mw.reset;@layer mw.components{.mw-feed__item[data-v-402f889f]{align-items:flex-start;gap:var(--space-2xs);padding:var(--space-3xs) 0;border-bottom:1px solid var(--border);color:var(--text);font-weight:var(--font-weight-medium);white-space:nowrap;display:flex}.mw-feed__item[data-v-402f889f]:before{content:"";width:var(--space-2xs);height:var(--space-2xs);background:var(--accent);margin-top:var(--space-3xs);border-radius:50%;flex-shrink:0}.mw-feed__item[data-v-402f889f]:last-child{border-bottom:none}.mw-feed__meta[data-v-402f889f]{color:var(--muted);font-family:var(--mw-font-mono);font-size:var(--font-size-2xs);font-weight:var(--font-weight-regular);margin-left:auto}}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./UiActivityItem.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
import "./UiActivityItem.css";
|
|
4
|
+
//#region src/components/UiActivityItem.vue
|
|
5
|
+
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-402f889f"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createElementBlock as e, createTextVNode as t, defineComponent as n, openBlock as r, renderSlot as i, toDisplayString as a } from "vue";
|
|
2
|
+
//#region src/components/UiActivityItem.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var o = { class: "mw-feed__item" }, s = ["datetime"], c = {
|
|
4
|
+
key: 1,
|
|
5
|
+
class: "mw-feed__meta"
|
|
6
|
+
}, l = /*@__PURE__*/ n({
|
|
7
|
+
__name: "UiActivityItem",
|
|
8
|
+
props: {
|
|
9
|
+
type: {},
|
|
10
|
+
time: {},
|
|
11
|
+
datetime: {}
|
|
12
|
+
},
|
|
13
|
+
setup(n) {
|
|
14
|
+
return (l, u) => (r(), e("li", o, [i(l.$slots, "type", {}, () => [t(a(n.type), 1)], !0), n.datetime ? (r(), e("time", {
|
|
15
|
+
key: 0,
|
|
16
|
+
class: "mw-feed__meta",
|
|
17
|
+
datetime: n.datetime
|
|
18
|
+
}, [i(l.$slots, "time", {}, () => [t(a(n.time), 1)], !0)], 8, s)) : (r(), e("small", c, [i(l.$slots, "time", {}, () => [t(a(n.time), 1)], !0)]))]));
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
//#endregion
|
|
22
|
+
export { l as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer mw.reset;@layer mw.components{.mw-amount[data-v-51fb5258]{font-family:var(--mw-font-mono);white-space:nowrap}}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./UiAmount.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
import "./UiAmount.css";
|
|
4
|
+
//#region src/components/UiAmount.vue
|
|
5
|
+
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-51fb5258"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** The amount in base units: a bigint, an integer, or a decimal string of an integer. */
|
|
3
|
+
value: bigint | number | string | null | undefined;
|
|
4
|
+
symbol?: string;
|
|
5
|
+
exact?: boolean;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
8
|
+
symbol: string;
|
|
9
|
+
exact: boolean;
|
|
10
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
11
|
+
declare const _default: typeof __VLS_export;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { computed as e, createElementBlock as t, defineComponent as n, openBlock as r, toDisplayString as i } from "vue";
|
|
2
|
+
import { formatCoinAmount as a, formatCoinExact as o } from "@meddleware/web-utils";
|
|
3
|
+
//#region src/components/UiAmount.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var s = ["value"], c = /*@__PURE__*/ n({
|
|
5
|
+
__name: "UiAmount",
|
|
6
|
+
props: {
|
|
7
|
+
value: {},
|
|
8
|
+
symbol: { default: "SUI" },
|
|
9
|
+
exact: {
|
|
10
|
+
type: Boolean,
|
|
11
|
+
default: !1
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
setup(n) {
|
|
15
|
+
let c = n, l = e(() => {
|
|
16
|
+
let e = c.value;
|
|
17
|
+
if (e == null) return null;
|
|
18
|
+
try {
|
|
19
|
+
return typeof e == "bigint" ? e : BigInt(typeof e == "number" ? Math.trunc(e) : e.trim());
|
|
20
|
+
} catch {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
}), u = e(() => l.value === null ? "—" : (c.exact ? o : a)(l.value, c.symbol));
|
|
24
|
+
return (e, n) => (r(), t("data", {
|
|
25
|
+
class: "mw-amount",
|
|
26
|
+
value: l.value === null ? void 0 : l.value.toString()
|
|
27
|
+
}, i(u.value), 9, s));
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
//#endregion
|
|
31
|
+
export { c as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer mw.reset;@layer mw.components{.mw-shell[data-v-23c8caaf]{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.mw-shell--sidebar[data-v-23c8caaf]{grid-template-columns:auto minmax(0,1fr)}.mw-shell>header[data-v-23c8caaf-s],.mw-shell>footer[data-v-23c8caaf-s]{grid-column:1/-1}.mw-shell__main[data-v-23c8caaf]{min-width:0}.mw-shell--sidebar>.mw-shell__main[data-v-23c8caaf]{grid-column:2}@media (width<45em){.mw-shell--sidebar[data-v-23c8caaf]{grid-template-columns:minmax(0,1fr)}.mw-shell--sidebar>.mw-shell__main[data-v-23c8caaf]{grid-column:1}}.mw-shell__main--contained[data-v-23c8caaf]{width:100%;max-width:var(--mw-tool-content-max);padding:var(--space-sm) var(--space-sm) var(--space-lg);margin-inline:auto}}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./UiAppShell.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
import "./UiAppShell.css";
|
|
4
|
+
//#region src/components/UiAppShell.vue
|
|
5
|
+
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-23c8caaf"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|