@meddleware/ui 0.1.29 → 0.1.31
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/CopyableAddress.vue.d.ts +6 -2
- package/dist/components/ExplorerLink.vue.d.ts +2 -2
- package/dist/components/StatusWidget.vue.d.ts +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/safe-href.d.ts +15 -3
- package/dist/truncate.d.ts +14 -0
- package/dist/ui.js +286 -275
- package/package.json +7 -3
- package/dist/legal/copyleft.html +0 -48
- package/dist/legal/copyright.html +0 -48
- package/dist/legal/powr.broccoli-kopimi.pdf +0 -0
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;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}:where(ul,ol):where([role=list],[role=listitem]),:where(menu){margin:0;padding:0;list-style:none}.mw-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(img,svg,video,canvas){max-width:100%;display:block}:where(fieldset){border:0;min-inline-size:0;margin:0;padding:0}:where(legend){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-4c177b22]{--_bg:var(--v207c6e6c);--_surface:var(--f304fa44);--_text:var(--v25353d32);--_muted:var(--v2a36159c);--_border:var(--v65041df1);--_ok:var(--v20707ebe);--_danger:var(--v49861e28);--_info:var(--v12e68073);align-items:center;gap:var(--space-2xs);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);transition:background var(--transition-base), backdrop-filter var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);display:flex}.mw-header--sticky[data-v-4c177b22]{z-index:50;position:sticky;top:0}.mw-header--scrolled[data-v-4c177b22]{background:color-mix(in srgb, var(--_bg-solid,var(--bg)) 82%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom-color:var(--border);box-shadow:0 1px 0 color-mix(in srgb, var(--border) 60%, transparent)}.mw-header>[data-v-4c177b22-s]:first-child{align-items:center;gap:var(--space-2xs);letter-spacing:var(--tracking-wide);white-space:nowrap;margin-inline-end:auto;font-weight:650;display:flex}.mw-header[data-v-4c177b22]:not(.mw-header--transparent){--ok:var(--_ok);--danger:var(--_danger);--info:var(--_info)}.mw-sidebar[data-v-30f2000a]{--_bg:var(--v71ead984);--_surface:var(--fe385338);--_text:var(--v7d45f128);--_muted:var(--v130792a2);--_border:var(--d33b7caa);--_ok:var(--v71f0d15b);--_danger:var(--v7ae441e2);--_info:var(--a1e36aa6);--_width:var(--v4463291a);height:100%;width:var(--_width);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__nav[data-v-30f2000a]{gap:var(--space-3xs);padding:var(--space-xs) 0;flex-direction:column;flex:auto;display:flex;overflow-y:auto}.mw-sidebar[data-v-30f2000a]:not(.mw-sidebar--transparent){--ok:var(--_ok);--danger:var(--_danger);--info:var(--_info)}.mw-footer[data-v-6c5fa699]{--_bg:var(--v605673bd);--_surface:var(--v08ecb7cb);--_text:var(--v796a1136);--_muted:var(--v4ed7a1c9);--_border:var(--v56d7d138);--_ok:var(--v605c6b94);--_danger:var(--v8dd3d0ca);--_info:var(--v9e078ab4);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-6c5fa699]{border-top:1px solid var(--border)}.mw-footer__docs[data-v-6c5fa699]{align-items:center;gap:var(--space-sm);margin-inline-start:auto;display:flex}.mw-footer__docs a[data-v-6c5fa699]{color:inherit;text-underline-offset:2px;opacity:.7;text-decoration:underline}.mw-footer__docs a[data-v-6c5fa699]:hover{opacity:1}.mw-footer[data-v-6c5fa699]:not(.mw-footer--transparent){--ok:var(--_ok);--danger:var(--_danger);--info:var(--_info)}.mw-mode[data-v-e5cba7a7]{border:1px solid var(--_border,var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--_text,var(--text)) 6%, transparent);gap:2px;min-inline-size:0;margin:0;padding:2px;display:inline-flex}.mw-mode__btn[data-v-e5cba7a7]{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-e5cba7a7]:hover{opacity:1}.mw-mode__btn.is-active[data-v-e5cba7a7]{opacity:1;background:color-mix(in srgb, var(--_text,var(--text)) 14%, transparent)}.mw-mode__btn[data-v-e5cba7a7]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}@media (width<=640px){.mw-mode__label[data-v-e5cba7a7]{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-384b36cf]{padding:var(--space-sm);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);overflow:hidden}.mw-card__header[data-v-384b36cf]{margin:calc(-1 * var(--space-sm)) calc(-1 * var(--space-sm)) var(--space-sm);padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border)}.mw-card__title[data-v-384b36cf]{font-size:var(--font-size-base);margin:0;font-weight:600}.mw-card__footer[data-v-384b36cf]{margin:var(--space-sm) calc(-1 * var(--space-sm)) calc(-1 * var(--space-sm));padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--border);background:var(--lift)}.mw-select[data-v-38fbd9b5]{--_chevron-stroke:var(--muted);--_chevron-arm:6px;appearance:none;width:100%;padding:var(--space-2xs) calc(var(--space-md) + var(--space-2xs)) var(--space-2xs) var(--space-xs);background-color:var(--surface);background-image:linear-gradient(45deg, transparent calc(50% - .75px), var(--_chevron-stroke) calc(50% - .75px), var(--_chevron-stroke) calc(50% + .75px), transparent calc(50% + .75px)), linear-gradient(-45deg, transparent calc(50% - .75px), var(--_chevron-stroke) calc(50% - .75px), var(--_chevron-stroke) calc(50% + .75px), transparent calc(50% + .75px));background-position:right calc(var(--space-xs) + var(--_chevron-arm)) center, right var(--space-xs) center;background-size:var(--_chevron-arm) var(--_chevron-arm);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit;background-repeat:no-repeat}.mw-select[data-v-38fbd9b5]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.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-c8ae7e5f]{align-items:center;gap:var(--space-2xs);width:100%;padding:var(--space-2xs) var(--space-sm);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;border-radius:0;display:flex}.sidebar-item[data-v-c8ae7e5f]:hover:not(:disabled){background:color-mix(in srgb, currentColor 10%, transparent);opacity:1}.sidebar-item.is-active[data-v-c8ae7e5f]{background:color-mix(in srgb, var(--accent) 26%, transparent);opacity:1}.sidebar-item[data-v-c8ae7e5f]:disabled{cursor:default}.sidebar-item[data-v-c8ae7e5f]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.sidebar-item__icon[data-v-c8ae7e5f]{text-align:center;width:1.1rem}.sidebar-group[data-v-95acc444]{border:0;min-inline-size:0;margin:0;padding:0}.sidebar-group--l1+.sidebar-group--l1[data-v-95acc444]{margin-block-start:var(--space-2xs)}.sidebar-group__label[data-v-95acc444]{float:inline-start;width:100%;padding:var(--space-3xs) var(--space-xs);font-size:var(--font-size-xs);color:var(--muted);-webkit-user-select:none;user-select:none;font-weight:600}.sidebar-group__label[data-v-95acc444]+*{clear:both}.sidebar-group--l1>.sidebar-group__label[data-v-95acc444]{text-transform:uppercase;letter-spacing:var(--tracking-wide);opacity:.75}.sidebar-group--l2[data-v-95acc444]{padding-inline-start:var(--space-3xs)}.sidebar-group--l2>.sidebar-group__label[data-v-95acc444]{opacity:.6;padding-inline-start:var(--space-xs)}.mw-tab-nav[data-v-fbb7de4c]{gap:var(--space-3xs);border-bottom:2px solid var(--border);margin:0;padding:0;list-style:none;display:flex}.mw-tab-nav__item[data-v-fbb7de4c]{display:contents}.mw-tab-nav__tab[data-v-fbb7de4c]{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;border-radius:0;margin-bottom:-2px}.mw-tab-nav__tab[data-v-fbb7de4c]:hover{color:var(--text)}.mw-tab-nav__tab--active[data-v-fbb7de4c]{border-bottom-color:var(--accent);color:var(--text);font-weight:600}.mw-tab-nav--raised[data-v-fbb7de4c]{border-bottom:1px solid var(--border);background:var(--surface);scrollbar-width:none;flex-shrink:0;align-items:flex-end;gap:2px;padding:4px 4px 0;overflow-x:auto}.mw-tab-nav--raised[data-v-fbb7de4c]::-webkit-scrollbar{display:none}.mw-tab-nav--raised .mw-tab-nav__tab[data-v-fbb7de4c]{border-bottom:1px solid var(--border);color:var(--muted);background:var(--lift);letter-spacing:.01em;white-space:nowrap;transition:color var(--transition-base), background var(--transition-base), border-color var(--transition-base);border-top:2px solid #0000;border-left:1px solid #0000;border-right:1px solid #0000;margin-bottom:-1px;padding:5px 14px 6px;font-size:.8rem;font-weight:500}.mw-tab-nav--raised .mw-tab-nav__tab[data-v-fbb7de4c]:hover:not(.mw-tab-nav__tab--active){color:var(--text);background:var(--surface)}.mw-tab-nav--raised .mw-tab-nav__tab--active[data-v-fbb7de4c]{color:var(--text);background:var(--bg);border-color:var(--accent) var(--border) var(--bg) var(--border);font-weight:600}.mw-tab-nav--raised.mw-tab-nav--lg[data-v-fbb7de4c]{gap:3px;padding:6px 6px 0}.mw-tab-nav--raised.mw-tab-nav--lg .mw-tab-nav__tab[data-v-fbb7de4c]{padding:9px 20px 10px;font-size:.95rem;font-weight:600}.mw-tab-panel[data-v-add194c8]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.mw-dialog[data-v-78973168]{--_width:var(--ce627f2e);width:var(--_width);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:90vh;color:var(--text);padding:0;box-shadow:0 1.25rem 3.75rem #00000073}.mw-dialog[data-v-78973168]::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080}.mw-dialog__content[data-v-78973168]{gap:var(--space-sm);padding:var(--space-md);flex-direction:column;display:flex}.mw-dialog__header[data-v-78973168]{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.mw-dialog__title[data-v-78973168]{font-size:var(--font-size-base);margin:0;font-weight:600}.mw-dialog__close[data-v-78973168]{padding:0 var(--space-3xs);border-radius:var(--radius);color:var(--muted);font-size:var(--font-size-xl);cursor:pointer;background:0 0;border:0;line-height:1}.mw-dialog__close[data-v-78973168]:hover{color:var(--text)}.mw-dialog__actions[data-v-78973168]{justify-content:flex-end;gap:var(--space-xs);flex-wrap:wrap;display:flex}.ca-root[data-v-56006bd1]{align-items:center;gap:.35em;display:inline-flex}.ca-value[data-v-56006bd1]{font-family:var(--mw-font-mono,monospace);font-size:inherit}.ca-copy[data-v-56006bd1]{color:var(--muted,#6e635c);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-56006bd1]:hover{color:var(--text,#f0f0f0)}.ca-copy--copied[data-v-56006bd1]{color:var(--accent,#6366f1)}.ca-icon[data-v-56006bd1]{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}.copyright-line[data-v-464082bf]{white-space:nowrap;text-align:center;display:inline-block}.symbol-link[data-v-464082bf]{color:inherit;vertical-align:text-top;align-items:center;padding:0 .1rem;text-decoration:none;display:inline-flex}.symbol-link[data-v-464082bf]:hover{text-decoration:underline}.kopimi-symbol[data-v-464082bf]{align-items:center;line-height:1;display:inline-flex}.kopimi-mark[data-v-464082bf]{vertical-align:-.15em;display:inline}.text-content[data-v-464082bf]{display:inline}.ui-stepper[data-v-6f5db325]{margin:0 0 var(--space-md,1.5rem);padding:0;list-style:none;display:flex}.ui-stepper__step[data-v-6f5db325]{flex-direction:column;flex:1 1 0;align-items:center;gap:.4rem;min-width:0;display:flex;position:relative}.ui-stepper__step[data-v-6f5db325]:not(:first-child):before{content:"";background:var(--border);z-index:0;height:2px;position:absolute;top:1rem;left:-50%;right:50%}.ui-stepper__step.is-done[data-v-6f5db325]:before,.ui-stepper__step.is-active[data-v-6f5db325]:before{background:var(--accent)}.ui-stepper__badge[data-v-6f5db325]{z-index:1;border:2px solid var(--border);background:var(--surface);width:2rem;height:2rem;color:var(--muted);cursor:default;transition:background-color var(--transition-base,.2s), border-color var(--transition-base,.2s);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.8rem;font-weight:600;line-height:1;display:flex;position:relative}button.ui-stepper__badge[data-v-6f5db325]{cursor:pointer}button.ui-stepper__badge[data-v-6f5db325]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.is-done .ui-stepper__badge[data-v-6f5db325]{background:var(--accent);border-color:var(--accent);color:#fff}.is-active .ui-stepper__badge[data-v-6f5db325]{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-color:var(--accent);color:var(--accent)}.ui-stepper__label[data-v-6f5db325]{text-align:center;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.78rem;line-height:1.2;overflow:hidden}.is-done .ui-stepper__label[data-v-6f5db325],.is-active .ui-stepper__label[data-v-6f5db325]{color:var(--text)}.is-active .ui-stepper__label[data-v-6f5db325]{font-weight:600}.mw-seg[data-v-430ffdd6]{border:1px solid var(--border);border-radius:var(--radius);min-inline-size:0;margin:0;padding:0;display:inline-flex;overflow:hidden}.mw-seg__item[data-v-430ffdd6]{height:2rem;padding:0 var(--space-sm);border-right:1px solid var(--border);cursor:pointer;font-size:var(--font-size-sm);color:var(--muted);transition:background var(--transition-base), color var(--transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;justify-content:center;align-items:center;margin:0;display:flex}.mw-seg__item[data-v-430ffdd6]:last-child{border-right:none}.mw-seg__item--active[data-v-430ffdd6]{background:var(--accent);color:var(--accent-contrast)}.mw-seg__item[data-v-430ffdd6]:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:-2px}.mw-seg__item--disabled[data-v-430ffdd6]{opacity:.5;pointer-events:none;cursor:not-allowed}.mw-seg__item input[type=radio][data-v-430ffdd6]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.mw-field-hint[data-v-29d9a629]{margin-left:var(--space-3xs,.35rem);vertical-align:middle;display:inline-block;position:relative}.mw-field-hint__btn[data-v-29d9a629]{border:1px solid var(--muted);width:1.1em;height:1.1em;color:var(--muted);cursor:help;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.mw-field-hint__btn[data-v-29d9a629]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.mw-field-hint__tip[data-v-29d9a629]{z-index:10;min-width:200px;max-width:min(300px,90vw);padding:var(--space-2xs,.6rem) var(--space-xs,.75rem);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--font-size-sm,.85rem);color:var(--text);visibility:hidden;opacity:0;transition:opacity var(--transition-base,.15s ease), visibility var(--transition-base,.15s ease);pointer-events:none;font-weight:400;line-height:1.5;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px #0000001f}.mw-field-hint:hover .mw-field-hint__tip[data-v-29d9a629],.mw-field-hint:focus-within .mw-field-hint__tip[data-v-29d9a629]{visibility:visible;opacity:1;pointer-events:auto}.mw-form-field[data-v-5aef34d9]{margin:0}.mw-form-field__label[data-v-5aef34d9]{margin:.9rem 0 .3rem;font-weight:600;display:inline-block}.mw-form-field :is(input[data-v-5aef34d9-s],select[data-v-5aef34d9-s],textarea[data-v-5aef34d9-s]){display:block}.mw-form-field__hint[data-v-5aef34d9],.mw-form-field__error[data-v-5aef34d9]{font-size:var(--font-size-sm,.9rem);margin:.25rem 0 0;display:block}.mw-form-field__hint[data-v-5aef34d9]{color:var(--muted);font-weight:400}.mw-form-field__error[data-v-5aef34d9]{color:var(--danger)}.mw-tool-intro[data-v-9a5436b9]{color:var(--muted);margin:.25rem 0 1.25rem}.mw-panel[data-v-62fac524]{border:1px solid var(--border);background:var(--surface);border-radius:2px;padding:10px;overflow:hidden}.mw-panel__title[data-v-62fac524]{letter-spacing:.06em;font-size:.72rem;font-weight:600;line-height:inherit;text-transform:uppercase;color:var(--muted);background:var(--lift);border-bottom:1px solid var(--border);margin:-10px -10px 10px;padding:5px 10px}.mw-badge[data-v-5aa44ef5]{letter-spacing:.04em;text-transform:uppercase;border-radius:2px;padding:1px 6px;font-size:.7rem;font-weight:600;display:inline-block}.mw-badge--active[data-v-5aa44ef5]{background:color-mix(in srgb, var(--ok) 20%, transparent);color:var(--ok)}.mw-badge--closed[data-v-5aa44ef5]{background:color-mix(in srgb, var(--muted) 20%, transparent);color:var(--muted)}.mw-badge--pending[data-v-5aa44ef5]{background:color-mix(in srgb, var(--warning) 20%, transparent);color:var(--warning)}.mw-badge--neutral[data-v-5aa44ef5]{background:var(--lift);color:var(--muted)}.mw-toolbar-btn[data-v-d5f19134]{background:var(--lift);border:1px solid var(--border);height:26px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:2px;align-items:center;gap:5px;padding:3px 10px;font-size:.8rem;transition:background .1s,border-color .1s;display:inline-flex}.mw-toolbar-btn[data-v-d5f19134]:hover:not(:disabled){background:var(--surface);border-color:var(--accent)}.mw-toolbar-btn[data-v-d5f19134]:disabled{opacity:.5;cursor:not-allowed}.mw-toolbar-btn[data-v-d5f19134]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.mw-toolbar[data-v-170c8eb5]{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:4px;margin:0;padding:4px 8px;list-style:none;display:flex}.mw-stat-grid[data-v-3608575d]{grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:.8rem;display:grid}.mw-stat-grid__label[data-v-829f7772]{color:var(--muted);white-space:nowrap}.mw-stat-grid__value[data-v-829f7772]{font-family:var(--mw-font-mono);color:var(--text);text-align:right;margin:0}.mw-stat-grid__value--left[data-v-829f7772]{text-align:left}.mw-data-table-wrap[data-v-de139c21]{overflow-x:auto}.mw-data-table[data-v-de139c21]{border-collapse:collapse;width:100%;font-size:.8rem}.mw-data-table[data-v-de139c21] th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:5px 8px;font-size:.7rem;font-weight:600}.mw-data-table[data-v-de139c21] td{border-bottom:1px solid var(--border);vertical-align:middle;padding:5px 8px}.mw-data-table[data-v-de139c21] tbody tr:last-child td{border-bottom:none}.mw-data-table[data-v-de139c21] tbody tr:nth-child(2n) td{background:var(--lift)}.mw-data-table__empty[data-v-de139c21]{text-align:center;color:var(--muted);padding:24px 16px;font-size:.8rem}.mw-status-dot[data-v-62e9a7cc]{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:4px;display:inline-block}.mw-status-dot--ok[data-v-62e9a7cc]{background:var(--ok)}.mw-status-dot--warn[data-v-62e9a7cc]{background:var(--warning)}.mw-status-dot--error[data-v-62e9a7cc]{background:var(--danger)}.mw-statusbar[data-v-cb4a19b8]{color:var(--muted);background:var(--surface);border-top:1px solid var(--border);font-size:.72rem;font-family:var(--mw-font-mono);z-index:1;flex-shrink:0;align-items:center;gap:16px;margin:0;padding:3px 12px;list-style:none;display:flex;position:sticky;bottom:0}.mw-statusbar[data-v-cb4a19b8]>li{align-items:center;display:flex}.mw-statusbar[data-v-cb4a19b8]>li+li:before{content:"│" / "";color:var(--border);margin-inline-end:16px}.mw-statusbar__pending[data-v-cb4a19b8]{opacity:.7}.mw-feed[data-v-9e578c9d]{margin:0;padding:0;font-size:.78rem;list-style:none}.mw-feed__item[data-v-797b66a9]{border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap;align-items:flex-start;gap:8px;padding:4px 0;font-weight:500;display:flex}.mw-feed__item[data-v-797b66a9]:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:4px}.mw-feed__item[data-v-797b66a9]:last-child{border-bottom:none}.mw-feed__meta[data-v-797b66a9]{color:var(--muted);font-family:var(--mw-font-mono);margin-left:auto;font-size:.72rem;font-weight:400}.status-widget[data-v-57682f53]{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-57682f53]:hover{opacity:1}.status-widget[data-v-57682f53]:before{content:"";width:var(--space-2xs);height:var(--space-2xs);border-radius:50%;flex-shrink:0}.status-widget--ok[data-v-57682f53]:before{background:var(--ok)}.status-widget--degraded[data-v-57682f53]:before{background:var(--warning)}.status-widget--error[data-v-57682f53]:before{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;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}:where(ul,ol):where([role=list],[role=listitem]),:where(menu){margin:0;padding:0;list-style:none}.mw-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(img,svg,video,canvas){max-width:100%;display:block}:where(fieldset){border:0;min-inline-size:0;margin:0;padding:0}:where(legend){padding:0}a{color:var(--accent);text-underline-offset:.18em;transition:color var(--transition-base);text-decoration:underline;text-decoration-thickness:.08em}a:hover{text-decoration-thickness:.14em}: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-384786e1]{--_bg:var(--fff85088);--_surface:var(--v5048fb2c);--_text:var(--a5a150b8);--_muted:var(--bd016d2c);--_border:var(--v523d383a);--_ok:var(--ffec60da);--_danger:var(--v893937cc);--_info:var(--ca3eca36);align-items:center;gap:var(--space-2xs);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);transition:background var(--transition-base), backdrop-filter var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);display:flex}.mw-header--sticky[data-v-384786e1]{z-index:50;position:sticky;top:0}.mw-header--scrolled[data-v-384786e1]{background:color-mix(in srgb, var(--_bg-solid,var(--bg)) 82%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom-color:var(--border);box-shadow:0 1px 0 color-mix(in srgb, var(--border) 60%, transparent)}.mw-header>[data-v-384786e1-s]:first-child{align-items:center;gap:var(--space-2xs);letter-spacing:var(--tracking-wide);white-space:nowrap;margin-inline-end:auto;font-weight:650;text-decoration:none;display:flex}.mw-header a[data-v-384786e1-s]{color:inherit}.mw-header[data-v-384786e1]:not(.mw-header--transparent){--ok:var(--_ok);--danger:var(--_danger);--info:var(--_info)}.mw-sidebar[data-v-e5506501]{--_bg:var(--v5b5002f5);--_surface:var(--v6623eb93);--_text:var(--v33c4cec6);--_muted:var(--f34db0de);--_border:var(--e5796ac8);--_ok:var(--v5b55facc);--_danger:var(--v71c54ad3);--_info:var(--v58624844);--_width:var(--d1940a6a);height:100%;width:var(--_width);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__nav[data-v-e5506501]{gap:var(--space-3xs);padding:var(--space-xs) 0;flex-direction:column;flex:auto;display:flex;overflow-y:auto}.mw-sidebar a[data-v-e5506501-s]{color:inherit}.mw-sidebar[data-v-e5506501]:not(.mw-sidebar--transparent){--ok:var(--_ok);--danger:var(--_danger);--info:var(--_info)}.mw-footer[data-v-31d5b55f]{--_bg:var(--v3931303d);--_surface:var(--v51d3cb4b);--_text:var(--v5f2ed836);--_muted:var(--v3524d56e);--_border:var(--v10bc93e4);--_ok:var(--v39372814);--_danger:var(--v1582d7ca);--_info:var(--v83cc51b4);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-31d5b55f]{border-top:1px solid var(--border)}.mw-footer__docs[data-v-31d5b55f]{align-items:center;gap:var(--space-sm);margin-inline-start:auto;display:flex}.mw-footer__docs a[data-v-31d5b55f]{color:inherit;text-underline-offset:2px;text-decoration:underline}.mw-footer__docs a[data-v-31d5b55f]:hover{text-decoration-thickness:.14em}.mw-footer a[data-v-31d5b55f-s]{color:inherit}.mw-footer[data-v-31d5b55f]:not(.mw-footer--transparent){--ok:var(--_ok);--danger:var(--_danger);--info:var(--_info)}.mw-mode[data-v-e5cba7a7]{border:1px solid var(--_border,var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--_text,var(--text)) 6%, transparent);gap:2px;min-inline-size:0;margin:0;padding:2px;display:inline-flex}.mw-mode__btn[data-v-e5cba7a7]{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-e5cba7a7]:hover{opacity:1}.mw-mode__btn.is-active[data-v-e5cba7a7]{opacity:1;background:color-mix(in srgb, var(--_text,var(--text)) 14%, transparent)}.mw-mode__btn[data-v-e5cba7a7]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}@media (width<=640px){.mw-mode__label[data-v-e5cba7a7]{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-384b36cf]{padding:var(--space-sm);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);overflow:hidden}.mw-card__header[data-v-384b36cf]{margin:calc(-1 * var(--space-sm)) calc(-1 * var(--space-sm)) var(--space-sm);padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border)}.mw-card__title[data-v-384b36cf]{font-size:var(--font-size-base);margin:0;font-weight:600}.mw-card__footer[data-v-384b36cf]{margin:var(--space-sm) calc(-1 * var(--space-sm)) calc(-1 * var(--space-sm));padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--border);background:var(--lift)}.mw-select[data-v-38fbd9b5]{--_chevron-stroke:var(--muted);--_chevron-arm:6px;appearance:none;width:100%;padding:var(--space-2xs) calc(var(--space-md) + var(--space-2xs)) var(--space-2xs) var(--space-xs);background-color:var(--surface);background-image:linear-gradient(45deg, transparent calc(50% - .75px), var(--_chevron-stroke) calc(50% - .75px), var(--_chevron-stroke) calc(50% + .75px), transparent calc(50% + .75px)), linear-gradient(-45deg, transparent calc(50% - .75px), var(--_chevron-stroke) calc(50% - .75px), var(--_chevron-stroke) calc(50% + .75px), transparent calc(50% + .75px));background-position:right calc(var(--space-xs) + var(--_chevron-arm)) center, right var(--space-xs) center;background-size:var(--_chevron-arm) var(--_chevron-arm);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font:inherit;background-repeat:no-repeat}.mw-select[data-v-38fbd9b5]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.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-c8ae7e5f]{align-items:center;gap:var(--space-2xs);width:100%;padding:var(--space-2xs) var(--space-sm);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;border-radius:0;display:flex}.sidebar-item[data-v-c8ae7e5f]:hover:not(:disabled){background:color-mix(in srgb, currentColor 10%, transparent);opacity:1}.sidebar-item.is-active[data-v-c8ae7e5f]{background:color-mix(in srgb, var(--accent) 26%, transparent);opacity:1}.sidebar-item[data-v-c8ae7e5f]:disabled{cursor:default}.sidebar-item[data-v-c8ae7e5f]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.sidebar-item__icon[data-v-c8ae7e5f]{text-align:center;width:1.1rem}.sidebar-group[data-v-ae0b9454]{border:0;min-inline-size:0;margin:0;padding:0}.sidebar-group--l1+.sidebar-group--l1[data-v-ae0b9454]{margin-block-start:var(--space-2xs)}.sidebar-group__label[data-v-ae0b9454]{float:inline-start;width:100%;padding:var(--space-3xs) var(--space-xs);font-size:var(--font-size-xs);color:var(--_muted,var(--muted));-webkit-user-select:none;user-select:none;font-weight:600}.sidebar-group__label[data-v-ae0b9454]+*{clear:both}.sidebar-group--l1>.sidebar-group__label[data-v-ae0b9454]{text-transform:uppercase;letter-spacing:var(--tracking-wide)}.sidebar-group--l2[data-v-ae0b9454]{padding-inline-start:var(--space-3xs)}.sidebar-group--l2>.sidebar-group__label[data-v-ae0b9454]{padding-inline-start:var(--space-xs);font-weight:500}.mw-tab-nav[data-v-fbb7de4c]{gap:var(--space-3xs);border-bottom:2px solid var(--border);margin:0;padding:0;list-style:none;display:flex}.mw-tab-nav__item[data-v-fbb7de4c]{display:contents}.mw-tab-nav__tab[data-v-fbb7de4c]{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;border-radius:0;margin-bottom:-2px}.mw-tab-nav__tab[data-v-fbb7de4c]:hover{color:var(--text)}.mw-tab-nav__tab--active[data-v-fbb7de4c]{border-bottom-color:var(--accent);color:var(--text);font-weight:600}.mw-tab-nav--raised[data-v-fbb7de4c]{border-bottom:1px solid var(--border);background:var(--surface);scrollbar-width:none;flex-shrink:0;align-items:flex-end;gap:2px;padding:4px 4px 0;overflow-x:auto}.mw-tab-nav--raised[data-v-fbb7de4c]::-webkit-scrollbar{display:none}.mw-tab-nav--raised .mw-tab-nav__tab[data-v-fbb7de4c]{border-bottom:1px solid var(--border);color:var(--muted);background:var(--lift);letter-spacing:.01em;white-space:nowrap;transition:color var(--transition-base), background var(--transition-base), border-color var(--transition-base);border-top:2px solid #0000;border-left:1px solid #0000;border-right:1px solid #0000;margin-bottom:-1px;padding:5px 14px 6px;font-size:.8rem;font-weight:500}.mw-tab-nav--raised .mw-tab-nav__tab[data-v-fbb7de4c]:hover:not(.mw-tab-nav__tab--active){color:var(--text);background:var(--surface)}.mw-tab-nav--raised .mw-tab-nav__tab--active[data-v-fbb7de4c]{color:var(--text);background:var(--bg);border-color:var(--accent) var(--border) var(--bg) var(--border);font-weight:600}.mw-tab-nav--raised.mw-tab-nav--lg[data-v-fbb7de4c]{gap:3px;padding:6px 6px 0}.mw-tab-nav--raised.mw-tab-nav--lg .mw-tab-nav__tab[data-v-fbb7de4c]{padding:9px 20px 10px;font-size:.95rem;font-weight:600}.mw-tab-panel[data-v-add194c8]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.mw-dialog[data-v-78973168]{--_width:var(--ce627f2e);width:var(--_width);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:90vh;color:var(--text);padding:0;box-shadow:0 1.25rem 3.75rem #00000073}.mw-dialog[data-v-78973168]::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080}.mw-dialog__content[data-v-78973168]{gap:var(--space-sm);padding:var(--space-md);flex-direction:column;display:flex}.mw-dialog__header[data-v-78973168]{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.mw-dialog__title[data-v-78973168]{font-size:var(--font-size-base);margin:0;font-weight:600}.mw-dialog__close[data-v-78973168]{padding:0 var(--space-3xs);border-radius:var(--radius);color:var(--muted);font-size:var(--font-size-xl);cursor:pointer;background:0 0;border:0;line-height:1}.mw-dialog__close[data-v-78973168]:hover{color:var(--text)}.mw-dialog__actions[data-v-78973168]{justify-content:flex-end;gap:var(--space-xs);flex-wrap:wrap;display:flex}.ca-root[data-v-ebf9e8c7]{align-items:center;gap:.35em;display:inline-flex}.ca-value[data-v-ebf9e8c7]{font-family:var(--mw-font-mono,monospace);font-size:inherit}.ca-copy[data-v-ebf9e8c7]{color:var(--muted);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-ebf9e8c7]:hover{color:var(--text)}.ca-copy--copied[data-v-ebf9e8c7]{color:var(--accent)}.ca-icon[data-v-ebf9e8c7]{display:block}.el-root[data-v-f05cc8ba]{font-family:monospace;font-size:inherit;color:var(--accent);text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:color .15s}.el-root[data-v-f05cc8ba]:hover{color:var(--text);text-decoration-style:solid}.copyright-line[data-v-e3c19404]{white-space:nowrap;text-align:center;display:inline-block}.symbol-link[data-v-e3c19404]{color:inherit;vertical-align:text-top;align-items:center;padding:0 .1rem;text-decoration:none;display:inline-flex}.symbol-link[data-v-e3c19404]:hover{text-decoration:underline}.kopimi-symbol[data-v-e3c19404]{align-items:center;line-height:1;display:inline-flex}.kopimi-mark[data-v-e3c19404]{vertical-align:-.15em;display:inline}.text-content[data-v-e3c19404]{display:inline}.ui-stepper[data-v-38fb837c]{margin:0 0 var(--space-md,1.5rem);padding:0;list-style:none;display:flex}.ui-stepper__step[data-v-38fb837c]{flex-direction:column;flex:1 1 0;align-items:center;gap:.4rem;min-width:0;display:flex;position:relative}.ui-stepper__step[data-v-38fb837c]:not(:first-child):before{content:"";background:var(--border);z-index:0;height:2px;position:absolute;top:1rem;left:-50%;right:50%}.ui-stepper__step.is-done[data-v-38fb837c]:before,.ui-stepper__step.is-active[data-v-38fb837c]:before{background:var(--accent)}.ui-stepper__badge[data-v-38fb837c]{z-index:1;border:2px solid var(--border);background:var(--surface);width:2rem;height:2rem;color:var(--muted);cursor:default;transition:background-color var(--transition-base,.2s), border-color var(--transition-base,.2s);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.8rem;font-weight:600;line-height:1;display:flex;position:relative}button.ui-stepper__badge[data-v-38fb837c]{cursor:pointer}button.ui-stepper__badge[data-v-38fb837c]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.is-done .ui-stepper__badge[data-v-38fb837c]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.is-active .ui-stepper__badge[data-v-38fb837c]{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-color:var(--accent);color:var(--accent)}.ui-stepper__label[data-v-38fb837c]{text-align:center;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.78rem;line-height:1.2;overflow:hidden}.is-done .ui-stepper__label[data-v-38fb837c],.is-active .ui-stepper__label[data-v-38fb837c]{color:var(--text)}.is-active .ui-stepper__label[data-v-38fb837c]{font-weight:600}.mw-seg[data-v-430ffdd6]{border:1px solid var(--border);border-radius:var(--radius);min-inline-size:0;margin:0;padding:0;display:inline-flex;overflow:hidden}.mw-seg__item[data-v-430ffdd6]{height:2rem;padding:0 var(--space-sm);border-right:1px solid var(--border);cursor:pointer;font-size:var(--font-size-sm);color:var(--muted);transition:background var(--transition-base), color var(--transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;justify-content:center;align-items:center;margin:0;display:flex}.mw-seg__item[data-v-430ffdd6]:last-child{border-right:none}.mw-seg__item--active[data-v-430ffdd6]{background:var(--accent);color:var(--accent-contrast)}.mw-seg__item[data-v-430ffdd6]:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:-2px}.mw-seg__item--disabled[data-v-430ffdd6]{opacity:.5;pointer-events:none;cursor:not-allowed}.mw-seg__item input[type=radio][data-v-430ffdd6]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.mw-field-hint[data-v-29d9a629]{margin-left:var(--space-3xs,.35rem);vertical-align:middle;display:inline-block;position:relative}.mw-field-hint__btn[data-v-29d9a629]{border:1px solid var(--muted);width:1.1em;height:1.1em;color:var(--muted);cursor:help;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.mw-field-hint__btn[data-v-29d9a629]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.mw-field-hint__tip[data-v-29d9a629]{z-index:10;min-width:200px;max-width:min(300px,90vw);padding:var(--space-2xs,.6rem) var(--space-xs,.75rem);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--font-size-sm,.85rem);color:var(--text);visibility:hidden;opacity:0;transition:opacity var(--transition-base,.15s ease), visibility var(--transition-base,.15s ease);pointer-events:none;font-weight:400;line-height:1.5;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px #0000001f}.mw-field-hint:hover .mw-field-hint__tip[data-v-29d9a629],.mw-field-hint:focus-within .mw-field-hint__tip[data-v-29d9a629]{visibility:visible;opacity:1;pointer-events:auto}.mw-form-field[data-v-5aef34d9]{margin:0}.mw-form-field__label[data-v-5aef34d9]{margin:.9rem 0 .3rem;font-weight:600;display:inline-block}.mw-form-field :is(input[data-v-5aef34d9-s],select[data-v-5aef34d9-s],textarea[data-v-5aef34d9-s]){display:block}.mw-form-field__hint[data-v-5aef34d9],.mw-form-field__error[data-v-5aef34d9]{font-size:var(--font-size-sm,.9rem);margin:.25rem 0 0;display:block}.mw-form-field__hint[data-v-5aef34d9]{color:var(--muted);font-weight:400}.mw-form-field__error[data-v-5aef34d9]{color:var(--danger)}.mw-tool-intro[data-v-9a5436b9]{color:var(--muted);margin:.25rem 0 1.25rem}.mw-panel[data-v-62fac524]{border:1px solid var(--border);background:var(--surface);border-radius:2px;padding:10px;overflow:hidden}.mw-panel__title[data-v-62fac524]{letter-spacing:.06em;font-size:.72rem;font-weight:600;line-height:inherit;text-transform:uppercase;color:var(--muted);background:var(--lift);border-bottom:1px solid var(--border);margin:-10px -10px 10px;padding:5px 10px}.mw-badge[data-v-2e33d71a]{letter-spacing:.04em;text-transform:uppercase;border-radius:2px;padding:1px 6px;font-size:.7rem;font-weight:600;display:inline-block}.mw-badge--active[data-v-2e33d71a]{background:color-mix(in srgb, var(--ok) 10%, transparent);color:var(--ok)}.mw-badge--closed[data-v-2e33d71a]{background:color-mix(in srgb, var(--muted) 10%, transparent);color:var(--muted)}.mw-badge--pending[data-v-2e33d71a]{background:color-mix(in srgb, var(--warning) 10%, transparent);color:var(--warning-text)}.mw-badge--neutral[data-v-2e33d71a]{background:var(--lift);color:var(--muted)}.mw-toolbar-btn[data-v-d5f19134]{background:var(--lift);border:1px solid var(--border);height:26px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:2px;align-items:center;gap:5px;padding:3px 10px;font-size:.8rem;transition:background .1s,border-color .1s;display:inline-flex}.mw-toolbar-btn[data-v-d5f19134]:hover:not(:disabled){background:var(--surface);border-color:var(--accent)}.mw-toolbar-btn[data-v-d5f19134]:disabled{opacity:.5;cursor:not-allowed}.mw-toolbar-btn[data-v-d5f19134]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.mw-toolbar[data-v-170c8eb5]{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:4px;margin:0;padding:4px 8px;list-style:none;display:flex}.mw-stat-grid[data-v-3608575d]{grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:.8rem;display:grid}.mw-stat-grid__label[data-v-829f7772]{color:var(--muted);white-space:nowrap}.mw-stat-grid__value[data-v-829f7772]{font-family:var(--mw-font-mono);color:var(--text);text-align:right;margin:0}.mw-stat-grid__value--left[data-v-829f7772]{text-align:left}.mw-data-table-wrap[data-v-de139c21]{overflow-x:auto}.mw-data-table[data-v-de139c21]{border-collapse:collapse;width:100%;font-size:.8rem}.mw-data-table[data-v-de139c21] th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:5px 8px;font-size:.7rem;font-weight:600}.mw-data-table[data-v-de139c21] td{border-bottom:1px solid var(--border);vertical-align:middle;padding:5px 8px}.mw-data-table[data-v-de139c21] tbody tr:last-child td{border-bottom:none}.mw-data-table[data-v-de139c21] tbody tr:nth-child(2n) td{background:var(--lift)}.mw-data-table__empty[data-v-de139c21]{text-align:center;color:var(--muted);padding:24px 16px;font-size:.8rem}.mw-status-dot[data-v-62e9a7cc]{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:4px;display:inline-block}.mw-status-dot--ok[data-v-62e9a7cc]{background:var(--ok)}.mw-status-dot--warn[data-v-62e9a7cc]{background:var(--warning)}.mw-status-dot--error[data-v-62e9a7cc]{background:var(--danger)}.mw-statusbar[data-v-06a511eb]{color:var(--muted);background:var(--surface);border-top:1px solid var(--border);font-size:.72rem;font-family:var(--mw-font-mono);z-index:1;flex-shrink:0;align-items:center;gap:16px;margin:0;padding:3px 12px;list-style:none;display:flex;position:sticky;bottom:0}.mw-statusbar[data-v-06a511eb]>li{align-items:center;display:flex}.mw-statusbar[data-v-06a511eb]>li+li:before{content:"│" / "";color:var(--border);margin-inline-end:16px}.mw-statusbar__pending[data-v-06a511eb]{font-style:italic}.mw-feed[data-v-9e578c9d]{margin:0;padding:0;font-size:.78rem;list-style:none}.mw-feed__item[data-v-797b66a9]{border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap;align-items:flex-start;gap:8px;padding:4px 0;font-weight:500;display:flex}.mw-feed__item[data-v-797b66a9]:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:4px}.mw-feed__item[data-v-797b66a9]:last-child{border-bottom:none}.mw-feed__meta[data-v-797b66a9]{color:var(--muted);font-family:var(--mw-font-mono);margin-left:auto;font-size:.72rem;font-weight:400}.status-widget[data-v-a83de7ee]{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-a83de7ee]:hover{opacity:1}.status-widget[data-v-a83de7ee]:before{content:"";width:var(--space-2xs);height:var(--space-2xs);border-radius:50%;flex-shrink:0}.status-widget--checking[data-v-a83de7ee]:before{background:var(--muted)}.status-widget--ok[data-v-a83de7ee]:before{background:var(--ok)}.status-widget--degraded[data-v-a83de7ee]:before{background:var(--warning)}.status-widget--error[data-v-a83de7ee]:before{background:var(--danger)}
|
|
2
2
|
/*$vite$:1*/
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
2
|
/** The full value to copy (and to truncate for the default label). */
|
|
3
3
|
address: string;
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Prefix…suffix truncation for the default label (default true). Ignored when a slot is given. Set
|
|
6
|
+
* `false` wherever a user chooses where funds go (a treasury, a recipient): a truncated label can be
|
|
7
|
+
* matched by a look-alike address (address poisoning).
|
|
8
|
+
*/
|
|
5
9
|
truncate?: boolean;
|
|
6
|
-
/** [prefixChars, suffixChars] — only used for the default label when truncate is true. */
|
|
10
|
+
/** [prefixChars, suffixChars] — only used for the default label when truncate is true. Default [12, 10]. */
|
|
7
11
|
chars?: [number, number];
|
|
8
12
|
/** Accessible label / tooltip for the copy button (default "Copy"). */
|
|
9
13
|
label?: string;
|
|
@@ -3,9 +3,9 @@ type __VLS_Props = {
|
|
|
3
3
|
href: string;
|
|
4
4
|
/** Value used for the truncated label + title; omit when providing slot content. */
|
|
5
5
|
value?: string;
|
|
6
|
-
/** Prefix…suffix truncation of `value` (default true). */
|
|
6
|
+
/** Prefix…suffix truncation of `value` (default true); `false` shows it whole (see `CopyableAddress`). */
|
|
7
7
|
truncate?: boolean;
|
|
8
|
-
/** [prefixChars, suffixChars] — only used when truncate is true. */
|
|
8
|
+
/** [prefixChars, suffixChars] — only used when truncate is true. Default [12, 10]. */
|
|
9
9
|
chars?: [number, number];
|
|
10
10
|
};
|
|
11
11
|
declare var __VLS_1: {};
|
|
@@ -3,7 +3,7 @@ type __VLS_Props = {
|
|
|
3
3
|
apiUrl?: string;
|
|
4
4
|
/** URL the widget links to (the human-readable status page). */
|
|
5
5
|
href?: string;
|
|
6
|
-
/** Poll interval in milliseconds. */
|
|
6
|
+
/** Poll interval in milliseconds (at least 15 000; smaller values are raised to it). */
|
|
7
7
|
pollInterval?: number;
|
|
8
8
|
};
|
|
9
9
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
package/dist/index.d.ts
CHANGED
|
@@ -45,5 +45,6 @@ export type { ColorMode } from './composables/useColorMode.js';
|
|
|
45
45
|
export { useSeason } from './composables/useSeason.js';
|
|
46
46
|
export type { PanelVariant, PanelColors } from './internal/panel.js';
|
|
47
47
|
export { isStatusLevel, parseSnapshot } from './status.js';
|
|
48
|
-
export { safeHref } from './safe-href.js';
|
|
48
|
+
export { safeHref, safePath } from './safe-href.js';
|
|
49
|
+
export { truncateMiddle, DEFAULT_TRUNCATE_CHARS } from './truncate.js';
|
|
49
50
|
export type { StatusLevel, StatusComponent, StatusGroup, StatusSnapshot } from './status.js';
|
package/dist/safe-href.d.ts
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Validate a consumer-supplied URL before binding it to an `href` attribute.
|
|
3
3
|
*
|
|
4
|
-
* Allows `https:` (all hosts) and `http:` on `localhost`/`127.0.0.1` (dev only).
|
|
5
|
-
*
|
|
6
|
-
* renders no `href`
|
|
4
|
+
* Allows `https:` (all hosts) and `http:` on `localhost`/`127.0.0.1` (dev only). Returns the
|
|
5
|
+
* **normalised** `URL.href` (so what is rendered is what was checked), or `undefined` — and Vue then
|
|
6
|
+
* renders no `href` — for:
|
|
7
|
+
*
|
|
8
|
+
* - `javascript:`, `data:` and every other scheme;
|
|
9
|
+
* - credentials in the authority (`https://suivision.xyz@evil.com/…` has host `evil.com` but looks like
|
|
10
|
+
* `suivision.xyz`);
|
|
11
|
+
* - control characters, spaces or backslashes anywhere in the input.
|
|
7
12
|
*/
|
|
8
13
|
export declare function safeHref(url: string | undefined | null): string | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Validate a consumer-supplied **root-relative path** (`/legal/x.html`). Returns the normalised
|
|
16
|
+
* `pathname + search + hash`, or `undefined` if the value is not a single-slash path that stays on the
|
|
17
|
+
* site: `//host`, `/\host`, anything with a control character or space (`/<TAB>/host` would be read as
|
|
18
|
+
* `//host`), or a value that resolves to another origin.
|
|
19
|
+
*/
|
|
20
|
+
export declare function safePath(path: string | undefined | null): string | undefined;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Default `[prefix, suffix]` character counts: `0x` plus 10 hex characters, then the last 10 (32-byte ids). */
|
|
2
|
+
export declare const DEFAULT_TRUNCATE_CHARS: readonly [number, number];
|
|
3
|
+
/**
|
|
4
|
+
* Shorten the middle of a long value (`0x1234567890…abcdef0123`) for display.
|
|
5
|
+
*
|
|
6
|
+
* - A value that is not longer than `prefix + suffix` is returned whole: the ellipsis would hide nothing.
|
|
7
|
+
* - A zero count drops that side (`[8, 0]` → `0x123456…`), where `slice(-0)` would return the whole value.
|
|
8
|
+
* - Counts are clamped to non-negative integers.
|
|
9
|
+
*
|
|
10
|
+
* Truncation is a convenience for scanning, not for verifying: address-poisoning attacks plant addresses
|
|
11
|
+
* that match the first and last few characters. Where a user decides where funds go, show the whole value
|
|
12
|
+
* (`:truncate="false"` on `CopyableAddress` / `ExplorerLink`).
|
|
13
|
+
*/
|
|
14
|
+
export declare function truncateMiddle(value: string, chars?: readonly [number, number]): string;
|