@meddleware/ui 0.1.15 → 0.1.16
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/base.css +1 -1
- package/dist/components/CopyrightLine.vue.d.ts +19 -0
- package/dist/index.d.ts +1 -0
- package/dist/legal/copyleft.html +48 -0
- package/dist/legal/copyright.html +48 -0
- package/dist/legal/powr.broccoli-kopimi.pdf +0 -0
- package/dist/ui.js +129 -85
- package/package.json +1 -1
package/dist/base.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--mw-font-sans);font-size:var(--font-size-base);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}:where(ul,ol):where([role=list],[role=listitem]){margin:0;padding:0;list-style:none}:where(img,svg,video,canvas){max-width:100%;display:block}:where(fieldset){border:0;margin:0;padding:0}a{color:var(--accent);transition:color var(--transition-base);text-decoration:none}a:hover{text-decoration:underline}:where(button,input,select,textarea){font-family:inherit}:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.mw-mono{font-family:var(--mw-font-mono)}.mw-noise{isolation:isolate;position:relative}.mw-noise:before{content:"";z-index:-1;background-image:var(--noise-overlay);opacity:var(--noise-opacity);pointer-events:none;background-repeat:repeat;position:absolute;inset:0}.mw-hand-drawn{display:inline-flex;position:relative}.mw-spinner{width:var(--space-sm);height:var(--space-sm);border:2px solid var(--border);border-top-color:var(--accent);animation:mw-spin var(--transition-slow) linear infinite;border-radius:50%;display:inline-block}@keyframes mw-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}.mw-spinner{border-top-color:var(--accent);animation:none}}.mw-header[data-v-9b9826d5]{align-items:center;gap:var(--space-sm);height:var(--mw-header-height,56px);padding:0 var(--space-sm);background:var(--_bg);color:var(--_text);border-bottom:1px solid var(--_border);font-family:var(--mw-font-sans);display:flex}.mw-header--sticky[data-v-9b9826d5]{z-index:50;position:sticky;top:0}.mw-header__brand[data-v-9b9826d5]{align-items:center;gap:var(--space-2xs);letter-spacing:var(--tracking-wide);white-space:nowrap;font-weight:650;display:flex}.mw-header__center[data-v-9b9826d5]{flex:auto;min-width:0}.mw-header__actions[data-v-9b9826d5]{align-items:center;gap:var(--space-2xs);margin-left:auto;display:flex}.mw-sidebar[data-v-a2b8405c]{height:100%;width:var(--mw-sidebar-width,240px);background:var(--_bg);color:var(--_text);border-right:1px solid var(--_border);font-family:var(--mw-font-sans);flex-direction:column;display:flex}.mw-sidebar__head[data-v-a2b8405c]{padding:var(--space-sm);border-bottom:1px solid var(--_border)}.mw-sidebar__nav[data-v-a2b8405c]{gap:var(--space-3xs);padding:var(--space-xs);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.mw-sidebar__body[data-v-a2b8405c]{flex-shrink:0}.mw-sidebar__foot[data-v-a2b8405c]{padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--_border);color:var(--_muted);font-size:var(--font-size-sm)}.mw-footer[data-v-979579a9]{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--_bg);color:var(--_muted);border-top:1px solid var(--_border);font-family:var(--mw-font-sans);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.mw-footer--transparent[data-v-979579a9]{border-top:1px solid var(--border)}.mw-footer__center[data-v-979579a9]{flex:auto;min-width:0}.mw-footer__end[data-v-979579a9]{align-items:center;gap:var(--space-sm);margin-left:auto;display:flex}.mw-footer__docs-link[data-v-979579a9]{color:inherit;text-underline-offset:2px;opacity:.7;text-decoration:underline}.mw-footer__docs-link[data-v-979579a9]:hover{opacity:1}.mw-mode[data-v-e2ea0d79]{border:1px solid var(--_border,var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--_text,var(--text)) 6%, transparent);gap:2px;padding:2px;display:inline-flex}.mw-mode__btn[data-v-e2ea0d79]{align-items:center;gap:var(--space-3xs);padding:var(--space-3xs) var(--space-2xs);border-radius:calc(var(--radius) - 3px);color:var(--_text,var(--text));font:inherit;font-size:var(--font-size-sm);cursor:pointer;opacity:.7;transition:opacity var(--transition-base), background var(--transition-base);background:0 0;border:0;display:inline-flex}.mw-mode__btn[data-v-e2ea0d79]:hover{opacity:1}.mw-mode__btn.is-active[data-v-e2ea0d79]{opacity:1;background:color-mix(in srgb, var(--_text,var(--text)) 14%, transparent)}.mw-mode__btn[data-v-e2ea0d79]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}@media (width<=640px){.mw-mode__label[data-v-e2ea0d79]{display:none}}.mw-btn[data-v-bc33cc23]{justify-content:center;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius);font:inherit;cursor:pointer;transition:filter var(--transition-base), background var(--transition-base);border:1px solid #0000;font-weight:550;display:inline-flex}.mw-btn[data-v-bc33cc23]:disabled{opacity:.55;cursor:not-allowed}.mw-btn[data-v-bc33cc23]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.mw-btn--primary[data-v-bc33cc23]{background:var(--accent);color:var(--accent-contrast)}.mw-btn--primary[data-v-bc33cc23]:not(:disabled):hover{filter:brightness(1.08)}.mw-btn--secondary[data-v-bc33cc23]{background:var(--secondary);color:var(--secondary-contrast)}.mw-btn--secondary[data-v-bc33cc23]:not(:disabled):hover{filter:brightness(1.08)}.mw-btn--ghost[data-v-bc33cc23]{color:var(--text);border-color:var(--border);background:0 0}.mw-btn--ghost[data-v-bc33cc23]:not(:disabled):hover{background:var(--lift)}.mw-btn--danger[data-v-bc33cc23]{background:var(--danger);color:var(--accent-contrast)}.mw-btn--danger[data-v-bc33cc23]:not(:disabled):hover{filter:brightness(1.08)}.mw-card[data-v-883f87f5]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);overflow:hidden}.mw-card__header[data-v-883f87f5]{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border)}.mw-card__title[data-v-883f87f5]{font-size:var(--font-size-base);margin:0;font-weight:600}.mw-card__body[data-v-883f87f5]{padding:var(--space-sm)}.mw-card__footer[data-v-883f87f5]{padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--border);background:var(--lift)}.mw-select[data-v-7e206184]{position:relative}.mw-select select[data-v-7e206184]{appearance:none;width:100%;padding:var(--space-2xs) calc(var(--space-md) + var(--space-2xs)) var(--space-2xs) var(--space-xs);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit}.mw-select select[data-v-7e206184]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.mw-select__chevron[data-v-7e206184]{right:var(--space-xs);pointer-events:none;stroke:var(--muted);stroke-width:1.5px;fill:none;position:absolute;top:50%;transform:translateY(-50%)}.mw-notice[data-v-ee7fffb1]{padding:var(--space-2xs) var(--space-xs);border:1px solid var(--border);border-radius:var(--radius);background:var(--lift);color:var(--text);font-size:var(--font-size-sm);border-left-width:3px;margin:0}.mw-notice--error[data-v-ee7fffb1]{border-left-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent)}.mw-notice--ok[data-v-ee7fffb1]{border-left-color:var(--ok);color:var(--ok);background:color-mix(in srgb, var(--ok) 8%, transparent)}.sidebar-item[data-v-8da2d583]{align-items:center;gap:var(--space-2xs);width:100%;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius);color:inherit;font:inherit;text-align:left;cursor:pointer;opacity:.85;transition:background var(--transition-base), opacity var(--transition-base);background:0 0;border:0;display:flex}.sidebar-item[data-v-8da2d583]:hover:not(:disabled){background:color-mix(in srgb, currentColor 10%, transparent);opacity:1}.sidebar-item.is-active[data-v-8da2d583]{background:color-mix(in srgb, var(--accent) 26%, transparent);opacity:1}.sidebar-item[data-v-8da2d583]:disabled{cursor:default}.sidebar-item[data-v-8da2d583]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.sidebar-item__icon[data-v-8da2d583]{text-align:center;width:1.1rem}.mw-tab-nav[data-v-97d31503]{gap:var(--space-3xs);border-bottom:2px solid var(--border);display:flex}.mw-tab-nav__tab[data-v-97d31503]{appearance:none;padding:var(--space-2xs) var(--space-sm);cursor:pointer;font-size:var(--font-size-base);color:var(--muted);transition:color var(--transition-base), border-color var(--transition-base);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px}.mw-tab-nav__tab[data-v-97d31503]:hover{color:var(--text)}.mw-tab-nav__tab--active[data-v-97d31503]{border-bottom-color:var(--accent);color:var(--text);font-weight:600}.ca-root[data-v-b43dabdd]{align-items:center;gap:.35em;display:inline-flex}.ca-value[data-v-b43dabdd]{font-family:var(--mw-font-mono,monospace);font-size:inherit}.ca-copy[data-v-b43dabdd]{color:var(--muted,#888);cursor:pointer;transition:color var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.ca-copy[data-v-b43dabdd]:hover{color:var(--text,#f0f0f0)}.ca-copy--copied[data-v-b43dabdd]{color:var(--accent,#6366f1)}.ca-icon[data-v-b43dabdd]{display:block}.el-root[data-v-073d1bbe]{font-family:monospace;font-size:inherit;color:var(--accent,#6366f1);text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:color .15s}.el-root[data-v-073d1bbe]:hover{color:var(--text,#f0f0f0);text-decoration-style:solid}.status-widget[data-v-6436368e]{align-items:center;gap:var(--space-2xs);color:inherit;font-size:var(--font-size-sm);opacity:.85;transition:opacity var(--transition-base);text-decoration:none;display:inline-flex}.status-widget[data-v-6436368e]:hover{opacity:1}.status-widget__dot[data-v-6436368e]{width:var(--space-2xs);height:var(--space-2xs);border-radius:50%;flex-shrink:0}.status-widget--ok .status-widget__dot[data-v-6436368e]{background:var(--ok)}.status-widget--degraded .status-widget__dot[data-v-6436368e]{background:var(--warning)}.status-widget--error .status-widget__dot[data-v-6436368e]{background:var(--danger)}
|
|
1
|
+
*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--mw-font-sans);font-size:var(--font-size-base);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}:where(ul,ol):where([role=list],[role=listitem]){margin:0;padding:0;list-style:none}:where(img,svg,video,canvas){max-width:100%;display:block}:where(fieldset){border:0;margin:0;padding:0}a{color:var(--accent);transition:color var(--transition-base);text-decoration:none}a:hover{text-decoration:underline}:where(button,input,select,textarea){font-family:inherit}:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.mw-mono{font-family:var(--mw-font-mono)}.mw-noise{isolation:isolate;position:relative}.mw-noise:before{content:"";z-index:-1;background-image:var(--noise-overlay);opacity:var(--noise-opacity);pointer-events:none;background-repeat:repeat;position:absolute;inset:0}.mw-hand-drawn{display:inline-flex;position:relative}.mw-spinner{width:var(--space-sm);height:var(--space-sm);border:2px solid var(--border);border-top-color:var(--accent);animation:mw-spin var(--transition-slow) linear infinite;border-radius:50%;display:inline-block}@keyframes mw-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}.mw-spinner{border-top-color:var(--accent);animation:none}}.mw-header[data-v-9b9826d5]{align-items:center;gap:var(--space-sm);height:var(--mw-header-height,56px);padding:0 var(--space-sm);background:var(--_bg);color:var(--_text);border-bottom:1px solid var(--_border);font-family:var(--mw-font-sans);display:flex}.mw-header--sticky[data-v-9b9826d5]{z-index:50;position:sticky;top:0}.mw-header__brand[data-v-9b9826d5]{align-items:center;gap:var(--space-2xs);letter-spacing:var(--tracking-wide);white-space:nowrap;font-weight:650;display:flex}.mw-header__center[data-v-9b9826d5]{flex:auto;min-width:0}.mw-header__actions[data-v-9b9826d5]{align-items:center;gap:var(--space-2xs);margin-left:auto;display:flex}.mw-sidebar[data-v-a2b8405c]{height:100%;width:var(--mw-sidebar-width,240px);background:var(--_bg);color:var(--_text);border-right:1px solid var(--_border);font-family:var(--mw-font-sans);flex-direction:column;display:flex}.mw-sidebar__head[data-v-a2b8405c]{padding:var(--space-sm);border-bottom:1px solid var(--_border)}.mw-sidebar__nav[data-v-a2b8405c]{gap:var(--space-3xs);padding:var(--space-xs);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.mw-sidebar__body[data-v-a2b8405c]{flex-shrink:0}.mw-sidebar__foot[data-v-a2b8405c]{padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--_border);color:var(--_muted);font-size:var(--font-size-sm)}.mw-footer[data-v-979579a9]{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--_bg);color:var(--_muted);border-top:1px solid var(--_border);font-family:var(--mw-font-sans);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.mw-footer--transparent[data-v-979579a9]{border-top:1px solid var(--border)}.mw-footer__center[data-v-979579a9]{flex:auto;min-width:0}.mw-footer__end[data-v-979579a9]{align-items:center;gap:var(--space-sm);margin-left:auto;display:flex}.mw-footer__docs-link[data-v-979579a9]{color:inherit;text-underline-offset:2px;opacity:.7;text-decoration:underline}.mw-footer__docs-link[data-v-979579a9]:hover{opacity:1}.mw-mode[data-v-e2ea0d79]{border:1px solid var(--_border,var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--_text,var(--text)) 6%, transparent);gap:2px;padding:2px;display:inline-flex}.mw-mode__btn[data-v-e2ea0d79]{align-items:center;gap:var(--space-3xs);padding:var(--space-3xs) var(--space-2xs);border-radius:calc(var(--radius) - 3px);color:var(--_text,var(--text));font:inherit;font-size:var(--font-size-sm);cursor:pointer;opacity:.7;transition:opacity var(--transition-base), background var(--transition-base);background:0 0;border:0;display:inline-flex}.mw-mode__btn[data-v-e2ea0d79]:hover{opacity:1}.mw-mode__btn.is-active[data-v-e2ea0d79]{opacity:1;background:color-mix(in srgb, var(--_text,var(--text)) 14%, transparent)}.mw-mode__btn[data-v-e2ea0d79]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}@media (width<=640px){.mw-mode__label[data-v-e2ea0d79]{display:none}}.mw-btn[data-v-bc33cc23]{justify-content:center;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius);font:inherit;cursor:pointer;transition:filter var(--transition-base), background var(--transition-base);border:1px solid #0000;font-weight:550;display:inline-flex}.mw-btn[data-v-bc33cc23]:disabled{opacity:.55;cursor:not-allowed}.mw-btn[data-v-bc33cc23]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.mw-btn--primary[data-v-bc33cc23]{background:var(--accent);color:var(--accent-contrast)}.mw-btn--primary[data-v-bc33cc23]:not(:disabled):hover{filter:brightness(1.08)}.mw-btn--secondary[data-v-bc33cc23]{background:var(--secondary);color:var(--secondary-contrast)}.mw-btn--secondary[data-v-bc33cc23]:not(:disabled):hover{filter:brightness(1.08)}.mw-btn--ghost[data-v-bc33cc23]{color:var(--text);border-color:var(--border);background:0 0}.mw-btn--ghost[data-v-bc33cc23]:not(:disabled):hover{background:var(--lift)}.mw-btn--danger[data-v-bc33cc23]{background:var(--danger);color:var(--accent-contrast)}.mw-btn--danger[data-v-bc33cc23]:not(:disabled):hover{filter:brightness(1.08)}.mw-card[data-v-883f87f5]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);overflow:hidden}.mw-card__header[data-v-883f87f5]{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border)}.mw-card__title[data-v-883f87f5]{font-size:var(--font-size-base);margin:0;font-weight:600}.mw-card__body[data-v-883f87f5]{padding:var(--space-sm)}.mw-card__footer[data-v-883f87f5]{padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--border);background:var(--lift)}.mw-select[data-v-7e206184]{position:relative}.mw-select select[data-v-7e206184]{appearance:none;width:100%;padding:var(--space-2xs) calc(var(--space-md) + var(--space-2xs)) var(--space-2xs) var(--space-xs);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit}.mw-select select[data-v-7e206184]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.mw-select__chevron[data-v-7e206184]{right:var(--space-xs);pointer-events:none;stroke:var(--muted);stroke-width:1.5px;fill:none;position:absolute;top:50%;transform:translateY(-50%)}.mw-notice[data-v-ee7fffb1]{padding:var(--space-2xs) var(--space-xs);border:1px solid var(--border);border-radius:var(--radius);background:var(--lift);color:var(--text);font-size:var(--font-size-sm);border-left-width:3px;margin:0}.mw-notice--error[data-v-ee7fffb1]{border-left-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent)}.mw-notice--ok[data-v-ee7fffb1]{border-left-color:var(--ok);color:var(--ok);background:color-mix(in srgb, var(--ok) 8%, transparent)}.sidebar-item[data-v-8da2d583]{align-items:center;gap:var(--space-2xs);width:100%;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius);color:inherit;font:inherit;text-align:left;cursor:pointer;opacity:.85;transition:background var(--transition-base), opacity var(--transition-base);background:0 0;border:0;display:flex}.sidebar-item[data-v-8da2d583]:hover:not(:disabled){background:color-mix(in srgb, currentColor 10%, transparent);opacity:1}.sidebar-item.is-active[data-v-8da2d583]{background:color-mix(in srgb, var(--accent) 26%, transparent);opacity:1}.sidebar-item[data-v-8da2d583]:disabled{cursor:default}.sidebar-item[data-v-8da2d583]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.sidebar-item__icon[data-v-8da2d583]{text-align:center;width:1.1rem}.mw-tab-nav[data-v-97d31503]{gap:var(--space-3xs);border-bottom:2px solid var(--border);display:flex}.mw-tab-nav__tab[data-v-97d31503]{appearance:none;padding:var(--space-2xs) var(--space-sm);cursor:pointer;font-size:var(--font-size-base);color:var(--muted);transition:color var(--transition-base), border-color var(--transition-base);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px}.mw-tab-nav__tab[data-v-97d31503]:hover{color:var(--text)}.mw-tab-nav__tab--active[data-v-97d31503]{border-bottom-color:var(--accent);color:var(--text);font-weight:600}.ca-root[data-v-b43dabdd]{align-items:center;gap:.35em;display:inline-flex}.ca-value[data-v-b43dabdd]{font-family:var(--mw-font-mono,monospace);font-size:inherit}.ca-copy[data-v-b43dabdd]{color:var(--muted,#888);cursor:pointer;transition:color var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.ca-copy[data-v-b43dabdd]:hover{color:var(--text,#f0f0f0)}.ca-copy--copied[data-v-b43dabdd]{color:var(--accent,#6366f1)}.ca-icon[data-v-b43dabdd]{display:block}.el-root[data-v-073d1bbe]{font-family:monospace;font-size:inherit;color:var(--accent,#6366f1);text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:color .15s}.el-root[data-v-073d1bbe]:hover{color:var(--text,#f0f0f0);text-decoration-style:solid}.symbol-link[data-v-41d138d5]{color:inherit;text-decoration:none}.symbol-link[data-v-41d138d5]:hover{text-decoration:underline}.status-widget[data-v-6436368e]{align-items:center;gap:var(--space-2xs);color:inherit;font-size:var(--font-size-sm);opacity:.85;transition:opacity var(--transition-base);text-decoration:none;display:inline-flex}.status-widget[data-v-6436368e]:hover{opacity:1}.status-widget__dot[data-v-6436368e]{width:var(--space-2xs);height:var(--space-2xs);border-radius:50%;flex-shrink:0}.status-widget--ok .status-widget__dot[data-v-6436368e]{background:var(--ok)}.status-widget--degraded .status-widget__dot[data-v-6436368e]{background:var(--warning)}.status-widget--error .status-widget__dot[data-v-6436368e]{background:var(--danger)}
|
|
2
2
|
/*$vite$:1*/
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type RightsStatementVariant = 'all' | 'none' | 'jam' | 'custom';
|
|
2
|
+
type SymbolVariant = 'copyright' | 'copyleft' | 'kopimi';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
organisationName: string;
|
|
5
|
+
year?: number;
|
|
6
|
+
rightsStatement?: RightsStatementVariant | string;
|
|
7
|
+
symbolVariant?: SymbolVariant;
|
|
8
|
+
/** Optional override for the symbol link href. Defaults based on symbolVariant. */
|
|
9
|
+
symbolHref?: string;
|
|
10
|
+
/** Optional override for the symbol link aria-label. Defaults based on symbolVariant. */
|
|
11
|
+
symbolLabel?: string;
|
|
12
|
+
};
|
|
13
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
14
|
+
year: number;
|
|
15
|
+
rightsStatement: RightsStatementVariant | string;
|
|
16
|
+
symbolVariant: SymbolVariant;
|
|
17
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
declare const _default: typeof __VLS_export;
|
|
19
|
+
export default _default;
|
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export { default as AppTabNav } from './components/AppTabNav.vue';
|
|
|
12
12
|
export type { AppTab } from './components/AppTabNav.vue';
|
|
13
13
|
export { default as CopyableAddress } from './components/CopyableAddress.vue';
|
|
14
14
|
export { default as ExplorerLink } from './components/ExplorerLink.vue';
|
|
15
|
+
export { default as CopyrightLine } from './components/CopyrightLine.vue';
|
|
15
16
|
export { default as StatusWidget } from './components/StatusWidget.vue';
|
|
16
17
|
export { suiExplorerUrl } from './explorer.js';
|
|
17
18
|
export type { SuiNetwork, SuiExplorerKind } from './explorer.js';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>Copyleft Notice</title>
|
|
7
|
+
<style>
|
|
8
|
+
:root {
|
|
9
|
+
color-scheme: light dark;
|
|
10
|
+
font-family:
|
|
11
|
+
system-ui,
|
|
12
|
+
-apple-system,
|
|
13
|
+
BlinkMacSystemFont,
|
|
14
|
+
"Segoe UI",
|
|
15
|
+
sans-serif;
|
|
16
|
+
}
|
|
17
|
+
body {
|
|
18
|
+
margin: 0;
|
|
19
|
+
padding: 2rem;
|
|
20
|
+
line-height: 1.6;
|
|
21
|
+
max-width: 48rem;
|
|
22
|
+
}
|
|
23
|
+
h1 {
|
|
24
|
+
margin-top: 0;
|
|
25
|
+
font-size: 1.5rem;
|
|
26
|
+
}
|
|
27
|
+
code {
|
|
28
|
+
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
29
|
+
}
|
|
30
|
+
</style>
|
|
31
|
+
</head>
|
|
32
|
+
<body>
|
|
33
|
+
<h1>Copyleft Notice</h1>
|
|
34
|
+
<p>
|
|
35
|
+
This page is reserved for works distributed under a copyleft-style
|
|
36
|
+
permission structure.
|
|
37
|
+
</p>
|
|
38
|
+
<p>
|
|
39
|
+
Copyleft generally means that derivatives and redistributions must
|
|
40
|
+
preserve the same or compatible licensing terms, depending on the specific
|
|
41
|
+
licence in force.
|
|
42
|
+
</p>
|
|
43
|
+
<p>
|
|
44
|
+
The exact legal meaning depends on the licence or notice that accompanies
|
|
45
|
+
the relevant work.
|
|
46
|
+
</p>
|
|
47
|
+
</body>
|
|
48
|
+
</html>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>Copyright Notice</title>
|
|
7
|
+
<style>
|
|
8
|
+
:root {
|
|
9
|
+
color-scheme: light dark;
|
|
10
|
+
font-family:
|
|
11
|
+
system-ui,
|
|
12
|
+
-apple-system,
|
|
13
|
+
BlinkMacSystemFont,
|
|
14
|
+
"Segoe UI",
|
|
15
|
+
sans-serif;
|
|
16
|
+
}
|
|
17
|
+
body {
|
|
18
|
+
margin: 0;
|
|
19
|
+
padding: 2rem;
|
|
20
|
+
line-height: 1.6;
|
|
21
|
+
max-width: 48rem;
|
|
22
|
+
}
|
|
23
|
+
h1 {
|
|
24
|
+
margin-top: 0;
|
|
25
|
+
font-size: 1.5rem;
|
|
26
|
+
}
|
|
27
|
+
code {
|
|
28
|
+
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
|
|
29
|
+
}
|
|
30
|
+
</style>
|
|
31
|
+
</head>
|
|
32
|
+
<body>
|
|
33
|
+
<h1>Copyright Notice</h1>
|
|
34
|
+
<p>
|
|
35
|
+
Unless otherwise stated, the content and code in this application are
|
|
36
|
+
protected by copyright.
|
|
37
|
+
</p>
|
|
38
|
+
<p>
|
|
39
|
+
Copyright in the relevant work is retained by the applicable rights holder
|
|
40
|
+
and used under the permissions, licences, or agreements associated with
|
|
41
|
+
that work.
|
|
42
|
+
</p>
|
|
43
|
+
<p>
|
|
44
|
+
For the full application footer, see the main interface. This page exists
|
|
45
|
+
as a static legal reference.
|
|
46
|
+
</p>
|
|
47
|
+
</body>
|
|
48
|
+
</html>
|
|
Binary file
|
package/dist/ui.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, defineComponent as o, mergeProps as s, normalizeClass as c, normalizeStyle as l, onMounted as
|
|
1
|
+
import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, defineComponent as o, mergeProps as s, normalizeClass as c, normalizeStyle as l, onMounted as u, onUnmounted as ee, openBlock as d, ref as f, renderList as p, renderSlot as m, toDisplayString as h, unref as g, useModel as te, vModelSelect as _, watch as ne, withDirectives as re } from "vue";
|
|
2
2
|
//#region src/internal/panel.ts
|
|
3
|
-
function
|
|
3
|
+
function v(e, t) {
|
|
4
4
|
let n;
|
|
5
5
|
return n = e === "transparent" ? {
|
|
6
6
|
"--_bg": "transparent",
|
|
@@ -24,7 +24,7 @@ function _(e, t) {
|
|
|
24
24
|
}
|
|
25
25
|
//#endregion
|
|
26
26
|
//#region src/components/AppHeader.vue?vue&type=script&setup=true&lang.ts
|
|
27
|
-
var
|
|
27
|
+
var ie = { class: "mw-header__brand" }, ae = { class: "mw-header__center" }, oe = { class: "mw-header__actions" }, se = /*@__PURE__*/ o({
|
|
28
28
|
__name: "AppHeader",
|
|
29
29
|
props: {
|
|
30
30
|
variant: { default: "dark" },
|
|
@@ -35,33 +35,33 @@ var ae = { class: "mw-header__brand" }, oe = { class: "mw-header__center" }, se
|
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
37
|
setup(e) {
|
|
38
|
-
let n = e, a = t(() =>
|
|
39
|
-
return (t, n) => (
|
|
38
|
+
let n = e, a = t(() => v(n.variant, n.colors));
|
|
39
|
+
return (t, n) => (d(), r("header", {
|
|
40
40
|
class: c(["mw-header", [`mw-header--${e.variant}`, { "mw-header--sticky": e.sticky }]]),
|
|
41
41
|
style: l(a.value)
|
|
42
42
|
}, [
|
|
43
|
-
i("div",
|
|
44
|
-
i("div",
|
|
45
|
-
i("div",
|
|
43
|
+
i("div", ie, [m(t.$slots, "brand", {}, void 0, !0)]),
|
|
44
|
+
i("div", ae, [m(t.$slots, "default", {}, void 0, !0)]),
|
|
45
|
+
i("div", oe, [m(t.$slots, "actions", {}, void 0, !0)])
|
|
46
46
|
], 6));
|
|
47
47
|
}
|
|
48
|
-
}),
|
|
48
|
+
}), y = (e, t) => {
|
|
49
49
|
let n = e.__vccOpts || e;
|
|
50
50
|
for (let [e, r] of t) n[e] = r;
|
|
51
51
|
return n;
|
|
52
|
-
},
|
|
52
|
+
}, ce = /*#__PURE__*/ y(se, [["__scopeId", "data-v-9b9826d5"]]), le = {
|
|
53
53
|
key: 0,
|
|
54
54
|
class: "mw-sidebar__head"
|
|
55
|
-
},
|
|
55
|
+
}, ue = {
|
|
56
56
|
class: "mw-sidebar__nav",
|
|
57
57
|
"aria-label": "Primary"
|
|
58
|
-
},
|
|
58
|
+
}, de = {
|
|
59
59
|
key: 1,
|
|
60
60
|
class: "mw-sidebar__body"
|
|
61
61
|
}, b = {
|
|
62
62
|
key: 2,
|
|
63
63
|
class: "mw-sidebar__foot"
|
|
64
|
-
}, x = /*#__PURE__*/
|
|
64
|
+
}, x = /*#__PURE__*/ y(/* @__PURE__ */ o({
|
|
65
65
|
__name: "AppSidebar",
|
|
66
66
|
props: {
|
|
67
67
|
variant: { default: "dark" },
|
|
@@ -70,17 +70,17 @@ var ae = { class: "mw-header__brand" }, oe = { class: "mw-header__center" }, se
|
|
|
70
70
|
},
|
|
71
71
|
setup(e) {
|
|
72
72
|
let a = e, o = t(() => {
|
|
73
|
-
let e =
|
|
73
|
+
let e = v(a.variant, a.colors);
|
|
74
74
|
return a.width && (e["--mw-sidebar-width"] = a.width), e;
|
|
75
75
|
});
|
|
76
|
-
return (t, a) => (
|
|
76
|
+
return (t, a) => (d(), r("aside", {
|
|
77
77
|
class: c(["mw-sidebar", `mw-sidebar--${e.variant}`]),
|
|
78
78
|
style: l(o.value)
|
|
79
79
|
}, [
|
|
80
|
-
t.$slots.head ? (
|
|
81
|
-
i("nav",
|
|
82
|
-
t.$slots.body ? (
|
|
83
|
-
t.$slots.foot ? (
|
|
80
|
+
t.$slots.head ? (d(), r("div", le, [m(t.$slots, "head", {}, void 0, !0)])) : n("", !0),
|
|
81
|
+
i("nav", ue, [m(t.$slots, "default", {}, void 0, !0)]),
|
|
82
|
+
t.$slots.body ? (d(), r("div", de, [m(t.$slots, "body", {}, void 0, !0)])) : n("", !0),
|
|
83
|
+
t.$slots.foot ? (d(), r("div", b, [m(t.$slots, "foot", {}, void 0, !0)])) : n("", !0)
|
|
84
84
|
], 6));
|
|
85
85
|
}
|
|
86
86
|
}), [["__scopeId", "data-v-a2b8405c"]]);
|
|
@@ -94,7 +94,7 @@ function S(e) {
|
|
|
94
94
|
}
|
|
95
95
|
//#endregion
|
|
96
96
|
//#region src/components/AppFooter.vue?vue&type=script&setup=true&lang.ts
|
|
97
|
-
var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = { class: "mw-footer__end" }, E = ["href"], D = ["href"], O = /*#__PURE__*/
|
|
97
|
+
var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = { class: "mw-footer__end" }, E = ["href"], D = ["href"], O = /*#__PURE__*/ y(/* @__PURE__ */ o({
|
|
98
98
|
__name: "AppFooter",
|
|
99
99
|
props: {
|
|
100
100
|
variant: { default: "transparent" },
|
|
@@ -103,25 +103,25 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
103
103
|
devUrl: {}
|
|
104
104
|
},
|
|
105
105
|
setup(e) {
|
|
106
|
-
let a = e, o = t(() =>
|
|
107
|
-
return (t, a) => (
|
|
106
|
+
let a = e, o = t(() => v(a.variant, a.colors));
|
|
107
|
+
return (t, a) => (d(), r("footer", {
|
|
108
108
|
class: c(["mw-footer", `mw-footer--${e.variant}`]),
|
|
109
109
|
style: l(o.value)
|
|
110
110
|
}, [
|
|
111
|
-
i("div", C, [
|
|
112
|
-
i("div", w, [
|
|
111
|
+
i("div", C, [m(t.$slots, "start", {}, void 0, !0)]),
|
|
112
|
+
i("div", w, [m(t.$slots, "default", {}, void 0, !0)]),
|
|
113
113
|
i("div", T, [
|
|
114
|
-
|
|
115
|
-
e.docsUrl ? (
|
|
114
|
+
m(t.$slots, "end", {}, void 0, !0),
|
|
115
|
+
e.docsUrl ? (d(), r("a", {
|
|
116
116
|
key: 0,
|
|
117
|
-
href:
|
|
117
|
+
href: g(S)(e.docsUrl),
|
|
118
118
|
target: "_blank",
|
|
119
119
|
rel: "noopener noreferrer",
|
|
120
120
|
class: "mw-footer__docs-link"
|
|
121
121
|
}, "Documentation", 8, E)) : n("", !0),
|
|
122
|
-
e.devUrl ? (
|
|
122
|
+
e.devUrl ? (d(), r("a", {
|
|
123
123
|
key: 1,
|
|
124
|
-
href:
|
|
124
|
+
href: g(S)(e.devUrl),
|
|
125
125
|
target: "_blank",
|
|
126
126
|
rel: "noopener noreferrer",
|
|
127
127
|
"aria-label": "Developer documentation",
|
|
@@ -138,7 +138,7 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
138
138
|
"aria-pressed",
|
|
139
139
|
"title",
|
|
140
140
|
"onClick"
|
|
141
|
-
], j = { "aria-hidden": "true" }, M = { class: "mw-mode__label" }, N = /*#__PURE__*/
|
|
141
|
+
], j = { "aria-hidden": "true" }, M = { class: "mw-mode__label" }, N = /*#__PURE__*/ y(/* @__PURE__ */ o({
|
|
142
142
|
__name: "ColorModeControl",
|
|
143
143
|
props: {
|
|
144
144
|
modelValue: {},
|
|
@@ -159,16 +159,16 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
159
159
|
dark: "☾",
|
|
160
160
|
system: "🖵"
|
|
161
161
|
};
|
|
162
|
-
return (o, s) => (
|
|
162
|
+
return (o, s) => (d(), r("div", k, [(d(!0), r(e, null, p(t.modes, (e) => (d(), r("button", {
|
|
163
163
|
key: e,
|
|
164
164
|
type: "button",
|
|
165
165
|
class: c(["mw-mode__btn", { "is-active": t.modelValue === e }]),
|
|
166
166
|
"aria-pressed": t.modelValue === e,
|
|
167
167
|
title: n[e],
|
|
168
168
|
onClick: (t) => o.$emit("update:modelValue", e)
|
|
169
|
-
}, [i("span", j,
|
|
169
|
+
}, [i("span", j, h(a[e]), 1), i("span", M, h(n[e]), 1)], 10, A))), 128))]));
|
|
170
170
|
}
|
|
171
|
-
}), [["__scopeId", "data-v-e2ea0d79"]]), P = ["type", "disabled"], F = /*#__PURE__*/
|
|
171
|
+
}), [["__scopeId", "data-v-e2ea0d79"]]), P = ["type", "disabled"], F = /*#__PURE__*/ y(/* @__PURE__ */ o({
|
|
172
172
|
__name: "UiButton",
|
|
173
173
|
props: {
|
|
174
174
|
variant: { default: "primary" },
|
|
@@ -179,11 +179,11 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
179
179
|
}
|
|
180
180
|
},
|
|
181
181
|
setup(e) {
|
|
182
|
-
return (t, n) => (
|
|
182
|
+
return (t, n) => (d(), r("button", {
|
|
183
183
|
type: e.type,
|
|
184
184
|
disabled: e.disabled,
|
|
185
185
|
class: c(["mw-btn", `mw-btn--${e.variant}`])
|
|
186
|
-
}, [
|
|
186
|
+
}, [m(t.$slots, "default", {}, void 0, !0)], 10, P));
|
|
187
187
|
}
|
|
188
188
|
}), [["__scopeId", "data-v-bc33cc23"]]), I = { class: "mw-card" }, L = {
|
|
189
189
|
key: 0,
|
|
@@ -191,17 +191,17 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
191
191
|
}, R = { class: "mw-card__title" }, z = { class: "mw-card__body" }, B = {
|
|
192
192
|
key: 1,
|
|
193
193
|
class: "mw-card__footer"
|
|
194
|
-
}, V = /*#__PURE__*/
|
|
194
|
+
}, V = /*#__PURE__*/ y(/* @__PURE__ */ o({
|
|
195
195
|
__name: "UiCard",
|
|
196
196
|
props: { title: {} },
|
|
197
197
|
setup(e) {
|
|
198
|
-
return (t, a) => (
|
|
199
|
-
e.title || t.$slots.header ? (
|
|
200
|
-
i("div", z, [
|
|
201
|
-
t.$slots.footer ? (
|
|
198
|
+
return (t, a) => (d(), r("section", I, [
|
|
199
|
+
e.title || t.$slots.header ? (d(), r("header", L, [m(t.$slots, "header", {}, () => [i("h3", R, h(e.title), 1)], !0)])) : n("", !0),
|
|
200
|
+
i("div", z, [m(t.$slots, "default", {}, void 0, !0)]),
|
|
201
|
+
t.$slots.footer ? (d(), r("footer", B, [m(t.$slots, "footer", {}, void 0, !0)])) : n("", !0)
|
|
202
202
|
]));
|
|
203
203
|
}
|
|
204
|
-
}), [["__scopeId", "data-v-883f87f5"]]), H = { class: "mw-select" }, fe = /*#__PURE__*/
|
|
204
|
+
}), [["__scopeId", "data-v-883f87f5"]]), H = { class: "mw-select" }, fe = /*#__PURE__*/ y(/* @__PURE__ */ o({
|
|
205
205
|
inheritAttrs: !1,
|
|
206
206
|
__name: "UiSelect",
|
|
207
207
|
props: {
|
|
@@ -210,8 +210,8 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
210
210
|
},
|
|
211
211
|
emits: ["update:modelValue"],
|
|
212
212
|
setup(e) {
|
|
213
|
-
let t =
|
|
214
|
-
return (e, n) => (
|
|
213
|
+
let t = te(e, "modelValue");
|
|
214
|
+
return (e, n) => (d(), r("div", H, [re(i("select", s(e.$attrs, { "onUpdate:modelValue": n[0] ||= (e) => t.value = e }), [m(e.$slots, "default", {}, void 0, !0)], 16), [[_, t.value]]), n[1] ||= i("svg", {
|
|
215
215
|
class: "mw-select__chevron",
|
|
216
216
|
xmlns: "http://www.w3.org/2000/svg",
|
|
217
217
|
width: "12",
|
|
@@ -220,7 +220,7 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
220
220
|
"aria-hidden": "true"
|
|
221
221
|
}, [i("path", { d: "M1 1l5 5 5-5" })], -1)]));
|
|
222
222
|
}
|
|
223
|
-
}), [["__scopeId", "data-v-7e206184"]]), pe = ["role"], me = /*#__PURE__*/
|
|
223
|
+
}), [["__scopeId", "data-v-7e206184"]]), pe = ["role"], me = /*#__PURE__*/ y(/* @__PURE__ */ o({
|
|
224
224
|
__name: "UiNotice",
|
|
225
225
|
props: { type: {} },
|
|
226
226
|
setup(e) {
|
|
@@ -228,16 +228,16 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
228
228
|
if (n.type === "error") return "alert";
|
|
229
229
|
if (n.type === "ok") return "status";
|
|
230
230
|
});
|
|
231
|
-
return (t, n) => (
|
|
231
|
+
return (t, n) => (d(), r("p", {
|
|
232
232
|
class: c(["mw-notice", e.type && e.type !== "info" ? `mw-notice--${e.type}` : ""]),
|
|
233
233
|
role: i.value
|
|
234
|
-
}, [
|
|
234
|
+
}, [m(t.$slots, "default", {}, void 0, !0)], 10, pe));
|
|
235
235
|
}
|
|
236
236
|
}), [["__scopeId", "data-v-ee7fffb1"]]), he = ["disabled", "aria-current"], ge = {
|
|
237
237
|
key: 0,
|
|
238
238
|
class: "sidebar-item__icon",
|
|
239
239
|
"aria-hidden": "true"
|
|
240
|
-
}, _e = { class: "sidebar-item__label" }, ve = /*#__PURE__*/
|
|
240
|
+
}, _e = { class: "sidebar-item__label" }, ve = /*#__PURE__*/ y(/* @__PURE__ */ o({
|
|
241
241
|
__name: "SidebarItem",
|
|
242
242
|
props: {
|
|
243
243
|
label: {},
|
|
@@ -252,14 +252,14 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
252
252
|
}
|
|
253
253
|
},
|
|
254
254
|
setup(e) {
|
|
255
|
-
return (t, a) => (
|
|
255
|
+
return (t, a) => (d(), r("button", {
|
|
256
256
|
type: "button",
|
|
257
257
|
class: c(["sidebar-item", { "is-active": e.active }]),
|
|
258
258
|
disabled: e.disabled,
|
|
259
259
|
"aria-current": e.active ? "page" : void 0
|
|
260
|
-
}, [e.icon ? (
|
|
260
|
+
}, [e.icon ? (d(), r("span", ge, h(e.icon), 1)) : n("", !0), i("span", _e, h(e.label), 1)], 10, he));
|
|
261
261
|
}
|
|
262
|
-
}), [["__scopeId", "data-v-8da2d583"]]), ye = ["aria-label"], be = ["aria-current", "onClick"], xe = /*#__PURE__*/
|
|
262
|
+
}), [["__scopeId", "data-v-8da2d583"]]), ye = ["aria-label"], be = ["aria-current", "onClick"], xe = /*#__PURE__*/ y(/* @__PURE__ */ o({
|
|
263
263
|
__name: "AppTabNav",
|
|
264
264
|
props: {
|
|
265
265
|
tabs: {},
|
|
@@ -269,16 +269,16 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
269
269
|
emits: ["update:modelValue"],
|
|
270
270
|
setup(t, { emit: n }) {
|
|
271
271
|
let i = n;
|
|
272
|
-
return (n, a) => (
|
|
272
|
+
return (n, a) => (d(), r("nav", {
|
|
273
273
|
class: "mw-tab-nav",
|
|
274
274
|
"aria-label": t.ariaLabel
|
|
275
|
-
}, [(
|
|
275
|
+
}, [(d(!0), r(e, null, p(t.tabs, (e) => (d(), r("button", {
|
|
276
276
|
key: e.id,
|
|
277
277
|
type: "button",
|
|
278
278
|
class: c(["mw-tab-nav__tab", { "mw-tab-nav__tab--active": t.modelValue === e.id }]),
|
|
279
279
|
"aria-current": t.modelValue === e.id ? "page" : void 0,
|
|
280
280
|
onClick: (t) => i("update:modelValue", e.id)
|
|
281
|
-
},
|
|
281
|
+
}, h(e.label), 11, be))), 128))], 8, ye));
|
|
282
282
|
}
|
|
283
283
|
}), [["__scopeId", "data-v-97d31503"]]), Se = { class: "ca-root" }, Ce = ["title"], we = ["title", "aria-label"], Te = {
|
|
284
284
|
key: 0,
|
|
@@ -304,7 +304,7 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
304
304
|
"stroke-linecap": "round",
|
|
305
305
|
"stroke-linejoin": "round",
|
|
306
306
|
"aria-hidden": "true"
|
|
307
|
-
}, De = /*#__PURE__*/
|
|
307
|
+
}, De = /*#__PURE__*/ y(/* @__PURE__ */ o({
|
|
308
308
|
__name: "CopyableAddress",
|
|
309
309
|
props: {
|
|
310
310
|
address: {},
|
|
@@ -316,7 +316,7 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
316
316
|
label: { default: "Copy" }
|
|
317
317
|
},
|
|
318
318
|
setup(e) {
|
|
319
|
-
let n = e, o =
|
|
319
|
+
let n = e, o = f(!1), s = t(() => {
|
|
320
320
|
if (!n.truncate) return n.address;
|
|
321
321
|
let [e, t] = n.chars;
|
|
322
322
|
return `${n.address.slice(0, e)}…${n.address.slice(-t)}`;
|
|
@@ -326,16 +326,16 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
326
326
|
o.value = !1;
|
|
327
327
|
}, 1500);
|
|
328
328
|
}
|
|
329
|
-
return (t, n) => (
|
|
329
|
+
return (t, n) => (d(), r("span", Se, [i("span", {
|
|
330
330
|
class: "ca-value",
|
|
331
331
|
title: e.address
|
|
332
|
-
}, [
|
|
332
|
+
}, [m(t.$slots, "default", {}, () => [a(h(s.value), 1)], !0)], 8, Ce), i("button", {
|
|
333
333
|
type: "button",
|
|
334
334
|
class: c(["ca-copy", { "ca-copy--copied": o.value }]),
|
|
335
335
|
title: o.value ? "Copied!" : e.label,
|
|
336
336
|
"aria-label": o.value ? "Copied" : e.label,
|
|
337
337
|
onClick: l
|
|
338
|
-
}, [o.value ? (
|
|
338
|
+
}, [o.value ? (d(), r("svg", Te, [...n[0] ||= [i("polyline", { points: "20 6 9 17 4 12" }, null, -1)]])) : (d(), r("svg", Ee, [...n[1] ||= [i("rect", {
|
|
339
339
|
x: "9",
|
|
340
340
|
y: "9",
|
|
341
341
|
width: "13",
|
|
@@ -344,7 +344,7 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
344
344
|
ry: "2"
|
|
345
345
|
}, null, -1), i("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, we)]));
|
|
346
346
|
}
|
|
347
|
-
}), [["__scopeId", "data-v-b43dabdd"]]), Oe = ["href", "title"], ke = /*#__PURE__*/
|
|
347
|
+
}), [["__scopeId", "data-v-b43dabdd"]]), Oe = ["href", "title"], ke = /*#__PURE__*/ y(/* @__PURE__ */ o({
|
|
348
348
|
__name: "ExplorerLink",
|
|
349
349
|
props: {
|
|
350
350
|
href: {},
|
|
@@ -362,22 +362,66 @@ var C = { class: "mw-footer__start" }, w = { class: "mw-footer__center" }, T = {
|
|
|
362
362
|
let [e, t] = n.chars;
|
|
363
363
|
return `${n.value.slice(0, e)}…${n.value.slice(-t)}`;
|
|
364
364
|
});
|
|
365
|
-
return (t, n) => (
|
|
365
|
+
return (t, n) => (d(), r("a", {
|
|
366
366
|
class: "el-root",
|
|
367
|
-
href:
|
|
367
|
+
href: g(S)(e.href),
|
|
368
368
|
target: "_blank",
|
|
369
369
|
rel: "noopener noreferrer",
|
|
370
370
|
title: e.value
|
|
371
|
-
}, [
|
|
371
|
+
}, [m(t.$slots, "default", {}, () => [a(h(i.value), 1)], !0)], 8, Oe));
|
|
372
|
+
}
|
|
373
|
+
}), [["__scopeId", "data-v-073d1bbe"]]), Ae = ["href", "aria-label"], je = { key: 0 }, Me = { key: 1 }, Ne = { key: 2 }, Pe = { key: 0 }, Fe = /*#__PURE__*/ y(/* @__PURE__ */ o({
|
|
374
|
+
__name: "CopyrightLine",
|
|
375
|
+
props: {
|
|
376
|
+
organisationName: {},
|
|
377
|
+
year: { default: () => (/* @__PURE__ */ new Date()).getFullYear() },
|
|
378
|
+
rightsStatement: { default: "all" },
|
|
379
|
+
symbolVariant: { default: "copyright" },
|
|
380
|
+
symbolHref: {},
|
|
381
|
+
symbolLabel: {}
|
|
382
|
+
},
|
|
383
|
+
setup(e) {
|
|
384
|
+
let o = e, s = t(() => o.symbolVariant), c = t(() => o.symbolHref || (s.value === "kopimi" ? "/legal/powr.broccoli-kopimi.pdf" : s.value === "copyleft" ? "/legal/copyleft.html" : "/legal/copyright.html")), l = t(() => o.symbolLabel || (s.value === "kopimi" ? "Kopimi legal notice" : s.value === "copyleft" ? "Copyleft legal notice" : "Copyright legal notice")), u = t(() => o.rightsStatement === "" ? "" : o.rightsStatement === "none" ? "No rights reserved." : o.rightsStatement === "all" || !o.rightsStatement ? "All rights reserved." : o.rightsStatement === "jam" ? "All jams preserved." : o.rightsStatement);
|
|
385
|
+
return (t, o) => (d(), r("small", null, [
|
|
386
|
+
i("a", {
|
|
387
|
+
href: c.value,
|
|
388
|
+
class: "symbol-link",
|
|
389
|
+
target: "_blank",
|
|
390
|
+
rel: "noopener noreferrer",
|
|
391
|
+
"aria-label": l.value
|
|
392
|
+
}, [s.value === "copyright" ? (d(), r("span", je, "©")) : s.value === "copyleft" ? (d(), r("span", Me, "🄯")) : s.value === "kopimi" ? (d(), r("span", Ne, [...o[0] ||= [i("svg", {
|
|
393
|
+
viewBox: "0 0 24 24",
|
|
394
|
+
width: "1em",
|
|
395
|
+
height: "1em",
|
|
396
|
+
"aria-hidden": "true",
|
|
397
|
+
focusable: "false",
|
|
398
|
+
class: "kopimi-mark"
|
|
399
|
+
}, [i("path", {
|
|
400
|
+
d: "M12 4L22 23H2Z",
|
|
401
|
+
fill: "none",
|
|
402
|
+
stroke: "currentColor",
|
|
403
|
+
"stroke-width": "1.5"
|
|
404
|
+
}), i("text", {
|
|
405
|
+
x: "12",
|
|
406
|
+
y: "18",
|
|
407
|
+
"text-anchor": "middle",
|
|
408
|
+
"dominant-baseline": "middle",
|
|
409
|
+
"font-family": "system-ui, sans-serif",
|
|
410
|
+
"font-size": "11",
|
|
411
|
+
fill: "currentColor"
|
|
412
|
+
}, " C ")], -1)]])) : n("", !0)], 8, Ae),
|
|
413
|
+
a(" " + h(e.year) + " " + h(e.organisationName) + ".", 1),
|
|
414
|
+
u.value ? (d(), r("span", Pe, h(` ${u.value}`), 1)) : n("", !0)
|
|
415
|
+
]));
|
|
372
416
|
}
|
|
373
|
-
}), [["__scopeId", "data-v-
|
|
417
|
+
}), [["__scopeId", "data-v-41d138d5"]]), Ie = /* @__PURE__ */ new Set([
|
|
374
418
|
"operational",
|
|
375
419
|
"degraded",
|
|
376
420
|
"down",
|
|
377
421
|
"unknown"
|
|
378
422
|
]);
|
|
379
423
|
function U(e) {
|
|
380
|
-
return typeof e == "string" &&
|
|
424
|
+
return typeof e == "string" && Ie.has(e);
|
|
381
425
|
}
|
|
382
426
|
function W(e) {
|
|
383
427
|
return U(e) ? e : "unknown";
|
|
@@ -385,7 +429,7 @@ function W(e) {
|
|
|
385
429
|
function G(e) {
|
|
386
430
|
return typeof e != "string" || e.trim() === "" ? "" : e.replace(/[<>&"]/g, "");
|
|
387
431
|
}
|
|
388
|
-
function
|
|
432
|
+
function Le(e) {
|
|
389
433
|
if (typeof e != "object" || !e) return null;
|
|
390
434
|
let t = e, n = G(t.name);
|
|
391
435
|
return n ? {
|
|
@@ -393,11 +437,11 @@ function je(e) {
|
|
|
393
437
|
status: W(t.status)
|
|
394
438
|
} : null;
|
|
395
439
|
}
|
|
396
|
-
function
|
|
440
|
+
function Re(e) {
|
|
397
441
|
if (typeof e != "object" || !e) return null;
|
|
398
442
|
let t = e, n = G(t.name);
|
|
399
443
|
if (!n) return null;
|
|
400
|
-
let r = Array.isArray(t.components) ? t.components.map(
|
|
444
|
+
let r = Array.isArray(t.components) ? t.components.map(Le).filter((e) => e !== null) : [];
|
|
401
445
|
return {
|
|
402
446
|
name: n,
|
|
403
447
|
status: W(t.status),
|
|
@@ -408,7 +452,7 @@ function K(e) {
|
|
|
408
452
|
if (typeof e != "object" || !e) return null;
|
|
409
453
|
let t = e;
|
|
410
454
|
if (!U(t.overall) || typeof t.generated_at != "string" || !Array.isArray(t.groups)) return null;
|
|
411
|
-
let n = t.groups.map(
|
|
455
|
+
let n = t.groups.map(Re).filter((e) => e !== null);
|
|
412
456
|
return {
|
|
413
457
|
generated_at: t.generated_at,
|
|
414
458
|
overall: t.overall,
|
|
@@ -417,7 +461,7 @@ function K(e) {
|
|
|
417
461
|
}
|
|
418
462
|
//#endregion
|
|
419
463
|
//#region src/components/StatusWidget.vue?vue&type=script&setup=true&lang.ts
|
|
420
|
-
var
|
|
464
|
+
var ze = ["href", "title"], Be = { class: "status-widget__label" }, q = /*#__PURE__*/ y(/* @__PURE__ */ o({
|
|
421
465
|
__name: "StatusWidget",
|
|
422
466
|
props: {
|
|
423
467
|
apiUrl: { default: "https://status.meddleware.co.uk/api/status" },
|
|
@@ -435,8 +479,8 @@ var Ne = ["href", "title"], q = { class: "status-widget__label" }, Pe = /*#__PUR
|
|
|
435
479
|
degraded: "Degraded",
|
|
436
480
|
down: "Major outage",
|
|
437
481
|
unknown: "Status unknown"
|
|
438
|
-
}, o =
|
|
439
|
-
async function
|
|
482
|
+
}, o = f("ok"), s = f("All systems operational"), l = null;
|
|
483
|
+
async function p() {
|
|
440
484
|
try {
|
|
441
485
|
let e = await fetch(t.apiUrl);
|
|
442
486
|
if (!e.ok) throw Error(`HTTP ${e.status}`);
|
|
@@ -447,12 +491,12 @@ var Ne = ["href", "title"], q = { class: "status-widget__label" }, Pe = /*#__PUR
|
|
|
447
491
|
o.value = "error", s.value = "Status unavailable";
|
|
448
492
|
}
|
|
449
493
|
}
|
|
450
|
-
return
|
|
451
|
-
|
|
452
|
-
}),
|
|
494
|
+
return u(() => {
|
|
495
|
+
p(), l = setInterval(p, t.pollInterval);
|
|
496
|
+
}), ee(() => {
|
|
453
497
|
l !== null && clearInterval(l);
|
|
454
|
-
}), (t, n) => (
|
|
455
|
-
href:
|
|
498
|
+
}), (t, n) => (d(), r("a", {
|
|
499
|
+
href: g(S)(e.href),
|
|
456
500
|
target: "_blank",
|
|
457
501
|
rel: "noopener noreferrer",
|
|
458
502
|
class: c(["status-widget", `status-widget--${o.value}`]),
|
|
@@ -460,29 +504,29 @@ var Ne = ["href", "title"], q = { class: "status-widget__label" }, Pe = /*#__PUR
|
|
|
460
504
|
}, [n[0] ||= i("span", {
|
|
461
505
|
class: "status-widget__dot",
|
|
462
506
|
"aria-hidden": "true"
|
|
463
|
-
}, null, -1), i("span",
|
|
507
|
+
}, null, -1), i("span", Be, h(s.value), 1)], 10, ze));
|
|
464
508
|
}
|
|
465
509
|
}), [["__scopeId", "data-v-6436368e"]]), J = {
|
|
466
510
|
mainnet: "https://suivision.xyz",
|
|
467
511
|
testnet: "https://testnet.suivision.xyz",
|
|
468
512
|
devnet: "https://devnet.suivision.xyz"
|
|
469
513
|
};
|
|
470
|
-
function
|
|
514
|
+
function Ve(e, t, n = "testnet") {
|
|
471
515
|
return `${J[n] ?? J.testnet}/${e}/${t}`;
|
|
472
516
|
}
|
|
473
517
|
//#endregion
|
|
474
518
|
//#region src/composables/useColorMode.ts
|
|
475
|
-
var Y = "mw-color-mode", X =
|
|
476
|
-
function
|
|
519
|
+
var Y = "mw-color-mode", X = f("system"), Z = !1;
|
|
520
|
+
function He() {
|
|
477
521
|
return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
478
522
|
}
|
|
479
523
|
function Q(e) {
|
|
480
|
-
return e === "dark" || e === "system" &&
|
|
524
|
+
return e === "dark" || e === "system" && He();
|
|
481
525
|
}
|
|
482
526
|
function $(e) {
|
|
483
527
|
typeof document < "u" && document.documentElement.setAttribute("data-theme", Q(e) ? "dark" : "light");
|
|
484
528
|
}
|
|
485
|
-
function
|
|
529
|
+
function Ue(e = "system") {
|
|
486
530
|
if (!Z) {
|
|
487
531
|
Z = !0;
|
|
488
532
|
let t = null;
|
|
@@ -491,7 +535,7 @@ function Le(e = "system") {
|
|
|
491
535
|
} catch {}
|
|
492
536
|
X.value = t ?? e, $(X.value), typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", () => {
|
|
493
537
|
X.value === "system" && $("system");
|
|
494
|
-
}),
|
|
538
|
+
}), ne(X, (e) => {
|
|
495
539
|
$(e);
|
|
496
540
|
try {
|
|
497
541
|
typeof localStorage < "u" && localStorage.setItem(Y, e);
|
|
@@ -513,10 +557,10 @@ function Le(e = "system") {
|
|
|
513
557
|
}
|
|
514
558
|
//#endregion
|
|
515
559
|
//#region src/composables/useSeason.ts
|
|
516
|
-
function
|
|
560
|
+
function We() {
|
|
517
561
|
if (typeof document > "u") return;
|
|
518
562
|
let e = (/* @__PURE__ */ new Date()).getMonth(), t = e >= 2 && e <= 4 ? "spring" : e >= 5 && e <= 7 ? "summer" : e >= 8 && e <= 10 ? "autumn" : "winter";
|
|
519
563
|
document.documentElement.dataset.season = t;
|
|
520
564
|
}
|
|
521
565
|
//#endregion
|
|
522
|
-
export { O as AppFooter,
|
|
566
|
+
export { O as AppFooter, ce as AppHeader, x as AppSidebar, xe as AppTabNav, N as ColorModeControl, De as CopyableAddress, Fe as CopyrightLine, ke as ExplorerLink, ve as SidebarItem, q as StatusWidget, F as UiButton, V as UiCard, me as UiNotice, fe as UiSelect, U as isStatusLevel, K as parseSnapshot, S as safeHref, Ve as suiExplorerUrl, Ue as useColorMode, We as useSeason };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meddleware/ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"description": "Shared Vue 3 component library for @meddleware UIs \u2014 layout shell (header/sidebar/footer), colour-mode control, and primitives. Built on @meddleware/design-tokens.",
|
|
5
5
|
"homepage": "https://docs.meddleware.co.uk/",
|
|
6
6
|
"license": "0BSD",
|