@akiraka/quark-big-screen-ui 0.1.7 → 0.1.8

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.
@@ -0,0 +1,25 @@
1
+ type __VLS_Props = {
2
+ label: string;
3
+ value?: string | number;
4
+ tone?: string;
5
+ compact?: boolean;
6
+ };
7
+ declare var __VLS_1: {}, __VLS_7: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_1) => any;
10
+ } & {
11
+ default?: (props: typeof __VLS_7) => any;
12
+ };
13
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
14
+ compact: boolean;
15
+ value: string | number;
16
+ tone: string;
17
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
18
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
19
+ export default _default;
20
+ type __VLS_WithSlots<T, S> = T & {
21
+ new (): {
22
+ $slots: S;
23
+ };
24
+ };
25
+ //# sourceMappingURL=BigScreenMetricCard.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigScreenMetricCard.vue.d.ts","sourceRoot":"","sources":["../../src/components/BigScreenMetricCard.vue"],"names":[],"mappings":"AA8BA,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAC;AAyEF,QAAA,IAAI,OAAO,IAAU,EAAE,OAAO,IAAW,CAAE;AAC3C,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC5C;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAsB/C,QAAA,MAAM,eAAe;aAnGT,OAAO;WAFT,MAAM,GAAG,MAAM;UAChB,MAAM;6EA2Gb,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- :root{--qbs-surface-top: rgba(13, 24, 39, .92);--qbs-surface-bottom: rgba(8, 16, 28, .96);--qbs-border: rgba(142, 161, 178, .2);--qbs-text: #f6f8fb;--qbs-muted: #9fb2c7;--qbs-radius: 20px;--qbs-shadow: 0 18px 48px rgba(4, 10, 18, .28)}.qbs-panel[data-v-749400b6]{position:relative;display:flex;height:100%;min-height:0;flex-direction:column;border:1px solid oklch(.6 .12 220 / .28);border-radius:10px;background:linear-gradient(160deg,#091b318c,#050f2066);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#c8e4e9}.qbs-panel--overflow-hidden[data-v-749400b6]{overflow:hidden}.qbs-panel--padding-md[data-v-749400b6]{padding:14px 16px}.qbs-panel--padding-compact[data-v-749400b6]{padding:10px 12px}.qbs-panel--padding-tight[data-v-749400b6]{padding:12px 8px}.qbs-panel__corner[data-v-749400b6]{position:absolute;width:12px;height:12px;border:2px solid var(--qbs-accent);pointer-events:none}.qbs-panel__corner--tl[data-v-749400b6]{top:-1px;left:-1px;border-right:0;border-bottom:0}.qbs-panel__corner--tr[data-v-749400b6]{top:-1px;right:-1px;border-left:0;border-bottom:0}.qbs-panel__corner--bl[data-v-749400b6]{bottom:-1px;left:-1px;border-right:0;border-top:0}.qbs-panel__corner--br[data-v-749400b6]{right:-1px;bottom:-1px;border-left:0;border-top:0}.qbs-panel__header[data-v-749400b6]{display:flex;align-items:center;gap:8px;margin:0 0 10px;min-width:0;font-weight:700;letter-spacing:1px}.qbs-panel__header--md[data-v-749400b6]{font-size:14px}.qbs-panel__header--sm[data-v-749400b6]{margin-bottom:8px;font-size:13px}.qbs-panel__bar[data-v-749400b6]{width:4px;height:14px;flex-shrink:0;border-radius:2px;background:var(--qbs-accent);box-shadow:0 0 8px var(--qbs-accent)}.qbs-panel__title[data-v-749400b6]{flex-shrink:0}.qbs-panel__header-prefix[data-v-749400b6]{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.qbs-panel__header-center[data-v-749400b6]{display:inline-flex;flex:1;min-width:0;justify-content:center}.qbs-panel__header-extra[data-v-749400b6]{display:inline-flex;align-items:center;justify-content:flex-end;flex-shrink:0;margin-left:auto}.qbs-panel__live[data-v-749400b6]{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:1px;color:#ff5050;color:oklch(.68 .22 25)}.qbs-panel__live-dot[data-v-749400b6]{width:7px;height:7px;border-radius:50%;background:#ff5050;background:oklch(.68 .22 25);box-shadow:0 0 8px #ff5050;box-shadow:0 0 8px oklch(.68 .22 25);animation:qbs-panel-blink-749400b6 1s steps(1,end) infinite}.qbs-panel__body[data-v-749400b6]{display:flex;flex:1;min-height:0;flex-direction:column}.qbs-panel--layout-metric .qbs-panel__body[data-v-749400b6]{align-items:center;justify-content:center;gap:4px;text-align:center}@keyframes qbs-panel-blink-749400b6{50%{opacity:.25}}.qbs-duty-compact[data-v-f5721bce]{display:flex;align-items:center;gap:12px}.qbs-duty-compact__avatar[data-v-f5721bce]{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:10px;background:#34dde5;box-shadow:0 0 14px #34dde599;color:#050e1a;font-size:18px;font-weight:700}.qbs-duty-compact__info[data-v-f5721bce]{display:flex;flex-direction:column}.qbs-duty-compact__name[data-v-f5721bce]{color:#cfebf0;font-size:15px;font-weight:700}.qbs-duty-compact__phone[data-v-f5721bce]{color:#7d939e;font-family:var(--font-mono,monospace);font-size:12px}.qbs-duty-compact__tag[data-v-f5721bce]{margin-left:auto;padding:4px 10px;border:1px solid oklch(.82 .13 200 / .4);border-radius:20px;background:#34dde51a;color:#34dde5;font-size:11px}.qbs-duty[data-v-f5721bce]{display:flex;height:100%;min-height:0;flex-direction:column;gap:14px}.qbs-duty__summary[data-v-f5721bce]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.qbs-duty__summary-chip[data-v-f5721bce]{padding:10px 12px;border:1px solid rgba(157,176,198,.12);border-radius:14px;background:#0f1927bd}.qbs-duty__summary-chip span[data-v-f5721bce]{display:block;margin-bottom:6px;color:#8ca0b4;font-size:11px}.qbs-duty__summary-chip strong[data-v-f5721bce]{color:#f5f8fc;font-size:15px;line-height:1.2}.qbs-duty__list[data-v-f5721bce]{display:grid;min-height:0;gap:10px;overflow:auto}.qbs-duty__group[data-v-f5721bce]{padding:12px;border:1px solid rgba(157,176,198,.1);border-radius:16px;background:#0d1723c2}.qbs-duty__group-header[data-v-f5721bce]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#edf3f9;font-size:13px}.qbs-duty__group-header span[data-v-f5721bce]{color:#8ca0b4}.qbs-duty__users[data-v-f5721bce]{display:flex;flex-wrap:wrap;gap:8px}.qbs-duty__user[data-v-f5721bce]{padding:5px 10px;border-radius:999px;background:#19293ed1;color:#bfd0e0;font-size:12px}.qbs-duty__empty[data-v-f5721bce]{display:grid;min-height:140px;place-items:center;border:1px dashed rgba(157,176,198,.14);border-radius:16px;background:#0c162280;color:#7d91a6;font-size:13px}.qbs-alert-row[data-v-83959767]{display:block;box-sizing:border-box;width:100%;margin:0;padding:8px 10px;border:0;border-left:3px solid var(--qbs-alert-accent);border-radius:6px;background:#1c293d66;color:inherit;text-align:left;cursor:pointer}.qbs-alert-row--detail-wide[data-v-83959767]{padding-top:10px;padding-bottom:10px}.qbs-alert-row__main[data-v-83959767]{display:flex;align-items:stretch;gap:12px}.qbs-alert-row__copy[data-v-83959767]{flex:0 0 40%;min-width:0}.qbs-alert-row--detail-wide .qbs-alert-row__copy[data-v-83959767]{flex-basis:36%}.qbs-alert-row__title[data-v-83959767]{overflow:hidden;margin-bottom:5px;color:#d0e2e6;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.qbs-alert-row__meta[data-v-83959767]{display:flex;align-items:center;gap:10px;min-width:0;color:#6e848f;font-size:11px}.qbs-alert-row__group[data-v-83959767]{overflow:hidden;max-width:110px;min-width:0;text-overflow:ellipsis;white-space:nowrap}.qbs-alert-row__owner[data-v-83959767]{color:#64b3c0}.qbs-alert-row__time[data-v-83959767]{font-family:var(--font-mono,monospace)}.qbs-alert-row__tag[data-v-83959767]{margin-left:auto;padding:1px 6px;border:1px solid oklch(.68 .22 25 / .5);border-radius:4px;color:#ff5050;color:oklch(.68 .22 25);font-size:10px}.qbs-alert-row__status[data-v-83959767]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;color:#869ca7;font-size:10px}.qbs-alert-row__aside[data-v-83959767]{flex:1 1 60%;width:60%;align-self:center}.qbs-alert-row--detail-wide .qbs-alert-row__aside[data-v-83959767]{flex-basis:64%;width:64%}
1
+ :root{--qbs-surface-top: rgba(13, 24, 39, .92);--qbs-surface-bottom: rgba(8, 16, 28, .96);--qbs-border: rgba(142, 161, 178, .2);--qbs-text: #f6f8fb;--qbs-muted: #9fb2c7;--qbs-radius: 20px;--qbs-shadow: 0 18px 48px rgba(4, 10, 18, .28)}.qbs-panel[data-v-749400b6]{position:relative;display:flex;height:100%;min-height:0;flex-direction:column;border:1px solid oklch(.6 .12 220 / .28);border-radius:10px;background:linear-gradient(160deg,#091b318c,#050f2066);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#c8e4e9}.qbs-panel--overflow-hidden[data-v-749400b6]{overflow:hidden}.qbs-panel--padding-md[data-v-749400b6]{padding:14px 16px}.qbs-panel--padding-compact[data-v-749400b6]{padding:10px 12px}.qbs-panel--padding-tight[data-v-749400b6]{padding:12px 8px}.qbs-panel__corner[data-v-749400b6]{position:absolute;width:12px;height:12px;border:2px solid var(--qbs-accent);pointer-events:none}.qbs-panel__corner--tl[data-v-749400b6]{top:-1px;left:-1px;border-right:0;border-bottom:0}.qbs-panel__corner--tr[data-v-749400b6]{top:-1px;right:-1px;border-left:0;border-bottom:0}.qbs-panel__corner--bl[data-v-749400b6]{bottom:-1px;left:-1px;border-right:0;border-top:0}.qbs-panel__corner--br[data-v-749400b6]{right:-1px;bottom:-1px;border-left:0;border-top:0}.qbs-panel__header[data-v-749400b6]{display:flex;align-items:center;gap:8px;margin:0 0 10px;min-width:0;font-weight:700;letter-spacing:1px}.qbs-panel__header--md[data-v-749400b6]{font-size:14px}.qbs-panel__header--sm[data-v-749400b6]{margin-bottom:8px;font-size:13px}.qbs-panel__bar[data-v-749400b6]{width:4px;height:14px;flex-shrink:0;border-radius:2px;background:var(--qbs-accent);box-shadow:0 0 8px var(--qbs-accent)}.qbs-panel__title[data-v-749400b6]{flex-shrink:0}.qbs-panel__header-prefix[data-v-749400b6]{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.qbs-panel__header-center[data-v-749400b6]{display:inline-flex;flex:1;min-width:0;justify-content:center}.qbs-panel__header-extra[data-v-749400b6]{display:inline-flex;align-items:center;justify-content:flex-end;flex-shrink:0;margin-left:auto}.qbs-panel__live[data-v-749400b6]{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:1px;color:#ff5050;color:oklch(.68 .22 25)}.qbs-panel__live-dot[data-v-749400b6]{width:7px;height:7px;border-radius:50%;background:#ff5050;background:oklch(.68 .22 25);box-shadow:0 0 8px #ff5050;box-shadow:0 0 8px oklch(.68 .22 25);animation:qbs-panel-blink-749400b6 1s steps(1,end) infinite}.qbs-panel__body[data-v-749400b6]{display:flex;flex:1;min-height:0;flex-direction:column}.qbs-panel--layout-metric .qbs-panel__body[data-v-749400b6]{align-items:center;justify-content:center;gap:4px;text-align:center}@keyframes qbs-panel-blink-749400b6{50%{opacity:.25}}.qbs-duty-compact[data-v-f5721bce]{display:flex;align-items:center;gap:12px}.qbs-duty-compact__avatar[data-v-f5721bce]{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:10px;background:#34dde5;box-shadow:0 0 14px #34dde599;color:#050e1a;font-size:18px;font-weight:700}.qbs-duty-compact__info[data-v-f5721bce]{display:flex;flex-direction:column}.qbs-duty-compact__name[data-v-f5721bce]{color:#cfebf0;font-size:15px;font-weight:700}.qbs-duty-compact__phone[data-v-f5721bce]{color:#7d939e;font-family:var(--font-mono,monospace);font-size:12px}.qbs-duty-compact__tag[data-v-f5721bce]{margin-left:auto;padding:4px 10px;border:1px solid oklch(.82 .13 200 / .4);border-radius:20px;background:#34dde51a;color:#34dde5;font-size:11px}.qbs-duty[data-v-f5721bce]{display:flex;height:100%;min-height:0;flex-direction:column;gap:14px}.qbs-duty__summary[data-v-f5721bce]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.qbs-duty__summary-chip[data-v-f5721bce]{padding:10px 12px;border:1px solid rgba(157,176,198,.12);border-radius:14px;background:#0f1927bd}.qbs-duty__summary-chip span[data-v-f5721bce]{display:block;margin-bottom:6px;color:#8ca0b4;font-size:11px}.qbs-duty__summary-chip strong[data-v-f5721bce]{color:#f5f8fc;font-size:15px;line-height:1.2}.qbs-duty__list[data-v-f5721bce]{display:grid;min-height:0;gap:10px;overflow:auto}.qbs-duty__group[data-v-f5721bce]{padding:12px;border:1px solid rgba(157,176,198,.1);border-radius:16px;background:#0d1723c2}.qbs-duty__group-header[data-v-f5721bce]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#edf3f9;font-size:13px}.qbs-duty__group-header span[data-v-f5721bce]{color:#8ca0b4}.qbs-duty__users[data-v-f5721bce]{display:flex;flex-wrap:wrap;gap:8px}.qbs-duty__user[data-v-f5721bce]{padding:5px 10px;border-radius:999px;background:#19293ed1;color:#bfd0e0;font-size:12px}.qbs-duty__empty[data-v-f5721bce]{display:grid;min-height:140px;place-items:center;border:1px dashed rgba(157,176,198,.14);border-radius:16px;background:#0c162280;color:#7d91a6;font-size:13px}.qbs-alert-row[data-v-83959767]{display:block;box-sizing:border-box;width:100%;margin:0;padding:8px 10px;border:0;border-left:3px solid var(--qbs-alert-accent);border-radius:6px;background:#1c293d66;color:inherit;text-align:left;cursor:pointer}.qbs-alert-row--detail-wide[data-v-83959767]{padding-top:10px;padding-bottom:10px}.qbs-alert-row__main[data-v-83959767]{display:flex;align-items:stretch;gap:12px}.qbs-alert-row__copy[data-v-83959767]{flex:0 0 40%;min-width:0}.qbs-alert-row--detail-wide .qbs-alert-row__copy[data-v-83959767]{flex-basis:36%}.qbs-alert-row__title[data-v-83959767]{overflow:hidden;margin-bottom:5px;color:#d0e2e6;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.qbs-alert-row__meta[data-v-83959767]{display:flex;align-items:center;gap:10px;min-width:0;color:#6e848f;font-size:11px}.qbs-alert-row__group[data-v-83959767]{overflow:hidden;max-width:110px;min-width:0;text-overflow:ellipsis;white-space:nowrap}.qbs-alert-row__owner[data-v-83959767]{color:#64b3c0}.qbs-alert-row__time[data-v-83959767]{font-family:var(--font-mono,monospace)}.qbs-alert-row__tag[data-v-83959767]{margin-left:auto;padding:1px 6px;border:1px solid oklch(.68 .22 25 / .5);border-radius:4px;color:#ff5050;color:oklch(.68 .22 25);font-size:10px}.qbs-alert-row__status[data-v-83959767]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;color:#869ca7;font-size:10px}.qbs-alert-row__aside[data-v-83959767]{flex:1 1 60%;width:60%;align-self:center}.qbs-alert-row--detail-wide .qbs-alert-row__aside[data-v-83959767]{flex-basis:64%;width:64%}.qbs-metric-card--compact[data-v-07353599]{display:flex;min-width:0;flex-direction:column;padding:10px 12px;border:1px solid rgba(157,176,198,.12);border-radius:14px;background:#101a28c7}.qbs-metric-card--compact span[data-v-07353599]{margin-bottom:6px;color:#899eb1;font-size:11px}.qbs-metric-card--compact strong[data-v-07353599]{color:var(--qbs-metric-tone);font-size:18px;line-height:1.2}.qbs-metric-card__value[data-v-07353599]{color:var(--qbs-metric-tone);font-size:28px;font-weight:700;line-height:1}.qbs-metric-card__label[data-v-07353599]{color:#869ca7;font-size:11px;letter-spacing:1px;text-align:center}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { default as BigScreenPanel } from './components/BigScreenPanel.vue';
2
2
  export { default as BigScreenDutyContent } from './components/BigScreenDutyContent.vue';
3
3
  export { default as BigScreenAlertRow } from './components/BigScreenAlertRow.vue';
4
+ export { default as BigScreenMetricCard } from './components/BigScreenMetricCard.vue';
4
5
  export type { BigScreenDutyGroup, BigScreenDutyUser } from './components/BigScreenDutyContent.vue';
5
6
  export { bigScreenPreviewFixtures, getBigScreenPreviewData } from './fixtures/big-screen';
6
7
  export type { BigScreenPreviewWidgetType } from './fixtures/big-screen';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAA;AAE5B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAC3E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AACvF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACjF,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAClG,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AACzF,YAAY,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AACvE,YAAY,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAA;AAE5B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAC3E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AACvF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACjF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AACrF,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAClG,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AACzF,YAAY,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AACvE,YAAY,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -1,35 +1,35 @@
1
- import { defineComponent as p, openBlock as s, createElementBlock as a, normalizeStyle as h, normalizeClass as _, createCommentVNode as l, toDisplayString as r, renderSlot as u, createElementVNode as t, createTextVNode as f, Fragment as m, renderList as g } from "vue";
2
- const q = {
1
+ import { defineComponent as c, openBlock as s, createElementBlock as a, normalizeStyle as m, normalizeClass as b, createCommentVNode as l, toDisplayString as r, renderSlot as u, createElementVNode as t, createTextVNode as y, Fragment as h, renderList as f, createBlock as q, withCtx as v } from "vue";
2
+ const $ = {
3
3
  key: 0,
4
4
  class: "qbs-panel__corner qbs-panel__corner--tl"
5
- }, v = {
5
+ }, k = {
6
6
  key: 1,
7
7
  class: "qbs-panel__corner qbs-panel__corner--tr"
8
- }, $ = {
8
+ }, w = {
9
9
  key: 2,
10
10
  class: "qbs-panel__corner qbs-panel__corner--bl"
11
- }, w = {
11
+ }, I = {
12
12
  key: 3,
13
13
  class: "qbs-panel__corner qbs-panel__corner--br"
14
- }, k = {
14
+ }, N = {
15
15
  key: 0,
16
16
  class: "qbs-panel__bar"
17
- }, I = {
17
+ }, C = {
18
18
  key: 1,
19
19
  class: "qbs-panel__title"
20
- }, N = {
20
+ }, S = {
21
21
  key: 2,
22
22
  class: "qbs-panel__header-prefix"
23
- }, T = {
23
+ }, B = {
24
24
  key: 3,
25
25
  class: "qbs-panel__header-center"
26
- }, S = {
26
+ }, T = {
27
27
  key: 4,
28
28
  class: "qbs-panel__header-extra"
29
- }, C = {
29
+ }, A = {
30
30
  key: 0,
31
31
  class: "qbs-panel__live"
32
- }, B = { class: "qbs-panel__body" }, A = /* @__PURE__ */ p({
32
+ }, x = { class: "qbs-panel__body" }, L = /* @__PURE__ */ c({
33
33
  __name: "BigScreenPanel",
34
34
  props: {
35
35
  title: { default: "" },
@@ -48,61 +48,61 @@ const q = {
48
48
  return e.corners === "all" ? !0 : e.corners === "none" ? !1 : n === "tl" || n === "br";
49
49
  }
50
50
  return (n, i) => (s(), a("section", {
51
- class: _(["qbs-panel", [
51
+ class: b(["qbs-panel", [
52
52
  `qbs-panel--padding-${o.padding}`,
53
53
  `qbs-panel--layout-${o.bodyLayout}`,
54
54
  { "qbs-panel--overflow-hidden": o.overflowHidden }
55
55
  ]]),
56
- style: h({ "--qbs-accent": o.accent })
56
+ style: m({ "--qbs-accent": o.accent })
57
57
  }, [
58
- d("tl") ? (s(), a("span", q)) : l("", !0),
59
- d("tr") ? (s(), a("span", v)) : l("", !0),
60
- d("bl") ? (s(), a("span", $)) : l("", !0),
61
- d("br") ? (s(), a("span", w)) : l("", !0),
58
+ d("tl") ? (s(), a("span", $)) : l("", !0),
59
+ d("tr") ? (s(), a("span", k)) : l("", !0),
60
+ d("bl") ? (s(), a("span", w)) : l("", !0),
61
+ d("br") ? (s(), a("span", I)) : l("", !0),
62
62
  o.title || o.liveLabel || n.$slots["header-center"] || n.$slots["header-extra"] ? (s(), a("header", {
63
63
  key: 4,
64
- class: _(["qbs-panel__header", `qbs-panel__header--${o.titleSize}`])
64
+ class: b(["qbs-panel__header", `qbs-panel__header--${o.titleSize}`])
65
65
  }, [
66
- o.showBar ? (s(), a("span", k)) : l("", !0),
67
- o.title ? (s(), a("span", I, r(o.title), 1)) : l("", !0),
68
- n.$slots["header-prefix"] ? (s(), a("span", N, [
66
+ o.showBar ? (s(), a("span", N)) : l("", !0),
67
+ o.title ? (s(), a("span", C, r(o.title), 1)) : l("", !0),
68
+ n.$slots["header-prefix"] ? (s(), a("span", S, [
69
69
  u(n.$slots, "header-prefix", {}, void 0, !0)
70
70
  ])) : l("", !0),
71
- n.$slots["header-center"] ? (s(), a("span", T, [
71
+ n.$slots["header-center"] ? (s(), a("span", B, [
72
72
  u(n.$slots, "header-center", {}, void 0, !0)
73
73
  ])) : l("", !0),
74
- n.$slots["header-extra"] || o.liveLabel ? (s(), a("span", S, [
74
+ n.$slots["header-extra"] || o.liveLabel ? (s(), a("span", T, [
75
75
  u(n.$slots, "header-extra", {}, () => [
76
- o.liveLabel ? (s(), a("span", C, [
76
+ o.liveLabel ? (s(), a("span", A, [
77
77
  i[0] || (i[0] = t("span", { class: "qbs-panel__live-dot" }, null, -1)),
78
- f(r(o.liveLabel), 1)
78
+ y(r(o.liveLabel), 1)
79
79
  ])) : l("", !0)
80
80
  ], !0)
81
81
  ])) : l("", !0)
82
82
  ], 2)) : l("", !0),
83
- t("div", B, [
83
+ t("div", x, [
84
84
  u(n.$slots, "default", {}, void 0, !0)
85
85
  ])
86
86
  ], 6));
87
87
  }
88
- }), b = (o, e) => {
88
+ }), _ = (o, e) => {
89
89
  const d = o.__vccOpts || o;
90
90
  for (const [n, i] of e)
91
91
  d[n] = i;
92
92
  return d;
93
- }, le = /* @__PURE__ */ b(A, [["__scopeId", "data-v-749400b6"]]), x = {
93
+ }, P = /* @__PURE__ */ _(L, [["__scopeId", "data-v-749400b6"]]), R = {
94
94
  key: 0,
95
95
  class: "qbs-duty-compact"
96
- }, L = { class: "qbs-duty-compact__avatar" }, P = { class: "qbs-duty-compact__info" }, R = { class: "qbs-duty-compact__name" }, G = { class: "qbs-duty-compact__phone" }, z = {
96
+ }, G = { class: "qbs-duty-compact__avatar" }, z = { class: "qbs-duty-compact__info" }, D = { class: "qbs-duty-compact__name" }, U = { class: "qbs-duty-compact__phone" }, M = {
97
97
  key: 0,
98
98
  class: "qbs-duty-compact__tag"
99
- }, D = {
99
+ }, O = {
100
100
  key: 1,
101
101
  class: "qbs-duty"
102
- }, U = { class: "qbs-duty__summary" }, O = { class: "qbs-duty__summary-chip" }, j = { class: "qbs-duty__summary-chip" }, F = { class: "qbs-duty__summary-chip" }, V = { class: "qbs-duty__list" }, W = { class: "qbs-duty__group-header" }, E = { class: "qbs-duty__users" }, H = {
102
+ }, j = { class: "qbs-duty__summary" }, F = { class: "qbs-duty__summary-chip" }, V = { class: "qbs-duty__summary-chip" }, W = { class: "qbs-duty__summary-chip" }, E = { class: "qbs-duty__list" }, H = { class: "qbs-duty__group-header" }, J = { class: "qbs-duty__users" }, K = {
103
103
  key: 0,
104
104
  class: "qbs-duty__empty"
105
- }, J = /* @__PURE__ */ p({
105
+ }, Q = /* @__PURE__ */ c({
106
106
  __name: "BigScreenDutyContent",
107
107
  props: {
108
108
  compact: { type: Boolean, default: !1 },
@@ -116,64 +116,64 @@ const q = {
116
116
  },
117
117
  setup(o) {
118
118
  const e = o;
119
- return (d, n) => e.compact ? (s(), a("div", x, [
120
- t("div", L, r(e.personName.charAt(0) || "-"), 1),
121
- t("div", P, [
122
- t("span", R, r(e.personName || "暂未排班"), 1),
123
- t("span", G, r(e.personPhone || "—"), 1)
119
+ return (d, n) => e.compact ? (s(), a("div", R, [
120
+ t("div", G, r(e.personName.charAt(0) || "-"), 1),
121
+ t("div", z, [
122
+ t("span", D, r(e.personName || "暂未排班"), 1),
123
+ t("span", U, r(e.personPhone || "—"), 1)
124
124
  ]),
125
- e.personTag ? (s(), a("span", z, r(e.personTag), 1)) : l("", !0)
126
- ])) : (s(), a("div", D, [
127
- t("div", U, [
128
- t("div", O, [
125
+ e.personTag ? (s(), a("span", M, r(e.personTag), 1)) : l("", !0)
126
+ ])) : (s(), a("div", O, [
127
+ t("div", j, [
128
+ t("div", F, [
129
129
  n[0] || (n[0] = t("span", null, "日期", -1)),
130
130
  t("strong", null, r(e.date || "未同步"), 1)
131
131
  ]),
132
- t("div", j, [
132
+ t("div", V, [
133
133
  n[1] || (n[1] = t("span", null, "值班组", -1)),
134
134
  t("strong", null, r(e.totalGroups ?? e.groups.length), 1)
135
135
  ]),
136
- t("div", F, [
136
+ t("div", W, [
137
137
  n[2] || (n[2] = t("span", null, "值班人数", -1)),
138
138
  t("strong", null, r(e.totalUsers ?? 0), 1)
139
139
  ])
140
140
  ]),
141
- t("div", V, [
142
- (s(!0), a(m, null, g(e.groups, (i) => {
143
- var y;
141
+ t("div", E, [
142
+ (s(!0), a(h, null, f(e.groups, (i) => {
143
+ var g;
144
144
  return s(), a("article", {
145
145
  key: i.groupId,
146
146
  class: "qbs-duty__group"
147
147
  }, [
148
- t("div", W, [
148
+ t("div", H, [
149
149
  t("strong", null, r(i.groupName), 1),
150
- t("span", null, r(((y = i.users) == null ? void 0 : y.length) || 0) + " 人", 1)
150
+ t("span", null, r(((g = i.users) == null ? void 0 : g.length) || 0) + " 人", 1)
151
151
  ]),
152
- t("div", E, [
153
- (s(!0), a(m, null, g(i.users || [], (c) => (s(), a("span", {
154
- key: c.userId,
152
+ t("div", J, [
153
+ (s(!0), a(h, null, f(i.users || [], (p) => (s(), a("span", {
154
+ key: p.userId,
155
155
  class: "qbs-duty__user"
156
- }, r(c.nickName || c.username), 1))), 128))
156
+ }, r(p.nickName || p.username), 1))), 128))
157
157
  ])
158
158
  ]);
159
159
  }), 128)),
160
- e.groups.length ? l("", !0) : (s(), a("div", H, "暂无值班数据"))
160
+ e.groups.length ? l("", !0) : (s(), a("div", K, "暂无值班数据"))
161
161
  ])
162
162
  ]));
163
163
  }
164
- }), de = /* @__PURE__ */ b(J, [["__scopeId", "data-v-f5721bce"]]), M = { class: "qbs-alert-row__main" }, K = { class: "qbs-alert-row__copy" }, Q = ["title"], X = { class: "qbs-alert-row__meta" }, Y = { class: "qbs-alert-row__group" }, Z = {
164
+ }), pe = /* @__PURE__ */ _(Q, [["__scopeId", "data-v-f5721bce"]]), X = { class: "qbs-alert-row__main" }, Y = { class: "qbs-alert-row__copy" }, Z = ["title"], ee = { class: "qbs-alert-row__meta" }, te = { class: "qbs-alert-row__group" }, se = {
165
165
  key: 0,
166
166
  class: "qbs-alert-row__owner"
167
- }, ee = {
167
+ }, ae = {
168
168
  key: 1,
169
169
  class: "qbs-alert-row__time"
170
- }, te = {
170
+ }, oe = {
171
171
  key: 2,
172
172
  class: "qbs-alert-row__tag"
173
- }, se = { class: "qbs-alert-row__status" }, ae = {
173
+ }, ne = { class: "qbs-alert-row__status" }, re = {
174
174
  key: 0,
175
175
  class: "qbs-alert-row__aside"
176
- }, ne = /* @__PURE__ */ p({
176
+ }, le = /* @__PURE__ */ c({
177
177
  __name: "BigScreenAlertRow",
178
178
  props: {
179
179
  title: {},
@@ -189,36 +189,73 @@ const q = {
189
189
  setup(o) {
190
190
  const e = o;
191
191
  return (d, n) => (s(), a("button", {
192
- class: _(["qbs-alert-row", { "qbs-alert-row--detail-wide": e.detailWide }]),
193
- style: h({ "--qbs-alert-accent": e.accent }),
192
+ class: b(["qbs-alert-row", { "qbs-alert-row--detail-wide": e.detailWide }]),
193
+ style: m({ "--qbs-alert-accent": e.accent }),
194
194
  type: "button",
195
195
  onClick: n[0] || (n[0] = (i) => d.$emit("select"))
196
196
  }, [
197
- t("div", M, [
198
- t("div", K, [
197
+ t("div", X, [
198
+ t("div", Y, [
199
199
  t("div", {
200
200
  class: "qbs-alert-row__title",
201
201
  title: e.title
202
- }, r(e.title), 9, Q),
203
- t("div", X, [
204
- t("span", Y, r(e.group), 1),
205
- e.owner ? (s(), a("span", Z, r(e.owner), 1)) : l("", !0),
206
- e.time ? (s(), a("span", ee, r(e.time), 1)) : l("", !0),
207
- e.tag ? (s(), a("span", te, r(e.tag), 1)) : l("", !0)
202
+ }, r(e.title), 9, Z),
203
+ t("div", ee, [
204
+ t("span", te, r(e.group), 1),
205
+ e.owner ? (s(), a("span", se, r(e.owner), 1)) : l("", !0),
206
+ e.time ? (s(), a("span", ae, r(e.time), 1)) : l("", !0),
207
+ e.tag ? (s(), a("span", oe, r(e.tag), 1)) : l("", !0)
208
208
  ]),
209
- t("div", se, [
209
+ t("div", ne, [
210
210
  u(d.$slots, "status", {}, () => [
211
- f(r(e.statusText || "待处理"), 1)
211
+ y(r(e.statusText || "待处理"), 1)
212
212
  ], !0)
213
213
  ])
214
214
  ]),
215
- d.$slots.aside ? (s(), a("aside", ae, [
215
+ d.$slots.aside ? (s(), a("aside", re, [
216
216
  u(d.$slots, "aside", {}, void 0, !0)
217
217
  ])) : l("", !0)
218
218
  ])
219
219
  ], 6));
220
220
  }
221
- }), ie = /* @__PURE__ */ b(ne, [["__scopeId", "data-v-83959767"]]), oe = {
221
+ }), be = /* @__PURE__ */ _(le, [["__scopeId", "data-v-83959767"]]), de = { class: "qbs-metric-card__value" }, ie = { class: "qbs-metric-card__label" }, ue = /* @__PURE__ */ c({
222
+ __name: "BigScreenMetricCard",
223
+ props: {
224
+ label: {},
225
+ value: { default: "—" },
226
+ tone: { default: "#7dd3fc" },
227
+ compact: { type: Boolean, default: !1 }
228
+ },
229
+ setup(o) {
230
+ const e = o;
231
+ return (d, n) => e.compact ? (s(), a("div", {
232
+ key: 0,
233
+ class: "qbs-metric-card qbs-metric-card--compact",
234
+ style: m({ "--qbs-metric-tone": e.tone })
235
+ }, [
236
+ t("span", null, r(e.label), 1),
237
+ t("strong", null, [
238
+ u(d.$slots, "default", {}, () => [
239
+ y(r(e.value), 1)
240
+ ], !0)
241
+ ])
242
+ ], 4)) : (s(), q(P, {
243
+ key: 1,
244
+ class: "qbs-metric-card",
245
+ "body-layout": "metric",
246
+ padding: "tight",
247
+ accent: e.tone
248
+ }, {
249
+ default: v(() => [
250
+ u(d.$slots, "default", {}, () => [
251
+ t("strong", de, r(e.value), 1)
252
+ ], !0),
253
+ t("span", ie, r(e.label), 1)
254
+ ]),
255
+ _: 3
256
+ }, 8, ["accent"]));
257
+ }
258
+ }), me = /* @__PURE__ */ _(ue, [["__scopeId", "data-v-07353599"]]), ce = {
222
259
  screen_header: {
223
260
  dateText: "2026-07-27",
224
261
  timeText: "14:30",
@@ -271,13 +308,14 @@ const q = {
271
308
  ]
272
309
  }
273
310
  };
274
- function ue(o) {
275
- return JSON.parse(JSON.stringify(oe[o]));
311
+ function ye(o) {
312
+ return JSON.parse(JSON.stringify(ce[o]));
276
313
  }
277
314
  export {
278
- ie as BigScreenAlertRow,
279
- de as BigScreenDutyContent,
280
- le as BigScreenPanel,
281
- oe as bigScreenPreviewFixtures,
282
- ue as getBigScreenPreviewData
315
+ be as BigScreenAlertRow,
316
+ pe as BigScreenDutyContent,
317
+ me as BigScreenMetricCard,
318
+ P as BigScreenPanel,
319
+ ce as bigScreenPreviewFixtures,
320
+ ye as getBigScreenPreviewData
283
321
  };
@@ -1 +1 @@
1
- (function(n,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(n=typeof globalThis<"u"?globalThis:n||self,e(n.QuarkBigScreenUi={},n.Vue))})(this,(function(n,e){"use strict";const m={key:0,class:"qbs-panel__corner qbs-panel__corner--tl"},p={key:1,class:"qbs-panel__corner qbs-panel__corner--tr"},_={key:2,class:"qbs-panel__corner qbs-panel__corner--bl"},y={key:3,class:"qbs-panel__corner qbs-panel__corner--br"},g={key:0,class:"qbs-panel__bar"},b={key:1,class:"qbs-panel__title"},u={key:2,class:"qbs-panel__header-prefix"},k={key:3,class:"qbs-panel__header-center"},N={key:4,class:"qbs-panel__header-extra"},f={key:0,class:"qbs-panel__live"},B={class:"qbs-panel__body"},h=e.defineComponent({__name:"BigScreenPanel",props:{title:{default:""},accent:{default:"oklch(.82 .13 200)"},liveLabel:{default:""},showBar:{type:Boolean,default:!0},corners:{default:"tl-br"},padding:{default:"md"},bodyLayout:{default:"default"},titleSize:{default:"md"},overflowHidden:{type:Boolean,default:!0}},setup(o){const t=o;function a(s){return t.corners==="all"?!0:t.corners==="none"?!1:s==="tl"||s==="br"}return(s,l)=>(e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(["qbs-panel",[`qbs-panel--padding-${o.padding}`,`qbs-panel--layout-${o.bodyLayout}`,{"qbs-panel--overflow-hidden":o.overflowHidden}]]),style:e.normalizeStyle({"--qbs-accent":o.accent})},[a("tl")?(e.openBlock(),e.createElementBlock("span",m)):e.createCommentVNode("",!0),a("tr")?(e.openBlock(),e.createElementBlock("span",p)):e.createCommentVNode("",!0),a("bl")?(e.openBlock(),e.createElementBlock("span",_)):e.createCommentVNode("",!0),a("br")?(e.openBlock(),e.createElementBlock("span",y)):e.createCommentVNode("",!0),o.title||o.liveLabel||s.$slots["header-center"]||s.$slots["header-extra"]?(e.openBlock(),e.createElementBlock("header",{key:4,class:e.normalizeClass(["qbs-panel__header",`qbs-panel__header--${o.titleSize}`])},[o.showBar?(e.openBlock(),e.createElementBlock("span",g)):e.createCommentVNode("",!0),o.title?(e.openBlock(),e.createElementBlock("span",b,e.toDisplayString(o.title),1)):e.createCommentVNode("",!0),s.$slots["header-prefix"]?(e.openBlock(),e.createElementBlock("span",u,[e.renderSlot(s.$slots,"header-prefix",{},void 0,!0)])):e.createCommentVNode("",!0),s.$slots["header-center"]?(e.openBlock(),e.createElementBlock("span",k,[e.renderSlot(s.$slots,"header-center",{},void 0,!0)])):e.createCommentVNode("",!0),s.$slots["header-extra"]||o.liveLabel?(e.openBlock(),e.createElementBlock("span",N,[e.renderSlot(s.$slots,"header-extra",{},()=>[o.liveLabel?(e.openBlock(),e.createElementBlock("span",f,[l[0]||(l[0]=e.createElementVNode("span",{class:"qbs-panel__live-dot"},null,-1)),e.createTextVNode(e.toDisplayString(o.liveLabel),1)])):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",B,[e.renderSlot(s.$slots,"default",{},void 0,!0)])],6))}}),r=(o,t)=>{const a=o.__vccOpts||o;for(const[s,l]of t)a[s]=l;return a},q=r(h,[["__scopeId","data-v-749400b6"]]),E={key:0,class:"qbs-duty-compact"},S={class:"qbs-duty-compact__avatar"},V={class:"qbs-duty-compact__info"},$={class:"qbs-duty-compact__name"},C={class:"qbs-duty-compact__phone"},w={key:0,class:"qbs-duty-compact__tag"},I={key:1,class:"qbs-duty"},T={class:"qbs-duty__summary"},D={class:"qbs-duty__summary-chip"},A={class:"qbs-duty__summary-chip"},P={class:"qbs-duty__summary-chip"},x={class:"qbs-duty__list"},L={class:"qbs-duty__group-header"},R={class:"qbs-duty__users"},z={key:0,class:"qbs-duty__empty"},G=r(e.defineComponent({__name:"BigScreenDutyContent",props:{compact:{type:Boolean,default:!1},personName:{default:""},personPhone:{default:""},personTag:{default:""},date:{default:""},totalGroups:{default:void 0},totalUsers:{default:void 0},groups:{default:()=>[]}},setup(o){const t=o;return(a,s)=>t.compact?(e.openBlock(),e.createElementBlock("div",E,[e.createElementVNode("div",S,e.toDisplayString(t.personName.charAt(0)||"-"),1),e.createElementVNode("div",V,[e.createElementVNode("span",$,e.toDisplayString(t.personName||"暂未排班"),1),e.createElementVNode("span",C,e.toDisplayString(t.personPhone||"—"),1)]),t.personTag?(e.openBlock(),e.createElementBlock("span",w,e.toDisplayString(t.personTag),1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",I,[e.createElementVNode("div",T,[e.createElementVNode("div",D,[s[0]||(s[0]=e.createElementVNode("span",null,"日期",-1)),e.createElementVNode("strong",null,e.toDisplayString(t.date||"未同步"),1)]),e.createElementVNode("div",A,[s[1]||(s[1]=e.createElementVNode("span",null,"值班组",-1)),e.createElementVNode("strong",null,e.toDisplayString(t.totalGroups??t.groups.length),1)]),e.createElementVNode("div",P,[s[2]||(s[2]=e.createElementVNode("span",null,"值班人数",-1)),e.createElementVNode("strong",null,e.toDisplayString(t.totalUsers??0),1)])]),e.createElementVNode("div",x,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.groups,l=>{var i;return e.openBlock(),e.createElementBlock("article",{key:l.groupId,class:"qbs-duty__group"},[e.createElementVNode("div",L,[e.createElementVNode("strong",null,e.toDisplayString(l.groupName),1),e.createElementVNode("span",null,e.toDisplayString(((i=l.users)==null?void 0:i.length)||0)+" 人",1)]),e.createElementVNode("div",R,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.users||[],c=>(e.openBlock(),e.createElementBlock("span",{key:c.userId,class:"qbs-duty__user"},e.toDisplayString(c.nickName||c.username),1))),128))])])}),128)),t.groups.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",z,"暂无值班数据"))])]))}}),[["__scopeId","data-v-f5721bce"]]),U={class:"qbs-alert-row__main"},j={class:"qbs-alert-row__copy"},F=["title"],O={class:"qbs-alert-row__meta"},M={class:"qbs-alert-row__group"},W={key:0,class:"qbs-alert-row__owner"},H={key:1,class:"qbs-alert-row__time"},J={key:2,class:"qbs-alert-row__tag"},Q={class:"qbs-alert-row__status"},K={key:0,class:"qbs-alert-row__aside"},X=r(e.defineComponent({__name:"BigScreenAlertRow",props:{title:{},group:{default:""},owner:{default:""},time:{default:""},tag:{default:""},statusText:{default:""},accent:{default:"#f0a35a"},detailWide:{type:Boolean,default:!1}},emits:["select"],setup(o){const t=o;return(a,s)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["qbs-alert-row",{"qbs-alert-row--detail-wide":t.detailWide}]),style:e.normalizeStyle({"--qbs-alert-accent":t.accent}),type:"button",onClick:s[0]||(s[0]=l=>a.$emit("select"))},[e.createElementVNode("div",U,[e.createElementVNode("div",j,[e.createElementVNode("div",{class:"qbs-alert-row__title",title:t.title},e.toDisplayString(t.title),9,F),e.createElementVNode("div",O,[e.createElementVNode("span",M,e.toDisplayString(t.group),1),t.owner?(e.openBlock(),e.createElementBlock("span",W,e.toDisplayString(t.owner),1)):e.createCommentVNode("",!0),t.time?(e.openBlock(),e.createElementBlock("span",H,e.toDisplayString(t.time),1)):e.createCommentVNode("",!0),t.tag?(e.openBlock(),e.createElementBlock("span",J,e.toDisplayString(t.tag),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Q,[e.renderSlot(a.$slots,"status",{},()=>[e.createTextVNode(e.toDisplayString(t.statusText||"待处理"),1)],!0)])]),a.$slots.aside?(e.openBlock(),e.createElementBlock("aside",K,[e.renderSlot(a.$slots,"aside",{},void 0,!0)])):e.createCommentVNode("",!0)])],6))}}),[["__scopeId","data-v-83959767"]]),d={screen_header:{dateText:"2026-07-27",timeText:"14:30",weekdayText:"星期一"},robot:{status:"online",mode:"guard",emotion:"neutral",generatedAt:"2026-07-27 14:30:00",summary:{dutyGroups:3,todayAlerts:12,buildingCount:4,endpointNodes:86},alerts:{todayTotal:12,todayPending:3,criticalCount:1,warningCount:5},builds:{buildingCount:4,todayBuilds:28,successRate:98.6}},duty_today:{date:"2026-07-27",totalGroups:3,totalUsers:8,groups:[{groupId:1,groupName:"平台组",users:[{userId:101,nickName:"张工",username:"zhang"},{userId:102,nickName:"李工",username:"li"}]},{groupId:2,groupName:"网络组",users:[{userId:103,nickName:"王工",username:"wang"}]}]},alert_latest:{total:3,stats:{todayTotal:12,todayPending:3,overdueTotal:1,criticalCount:1,warningCount:5,infoCount:6},items:[{id:1,alertId:"AL-20260727-001",title:"边缘节点延迟升高",severity:"WARN",severityText:"警告",status:"pending",statusText:"待处理",source:"edge-01",firedAt:"14:20",groupNames:["网络组"]},{id:2,alertId:"AL-20260727-002",title:"构建队列等待时间过长",severity:"CRITICAL",severityText:"严重",status:"processing",statusText:"处理中",source:"CI/CD",firedAt:"14:08",groupNames:["平台组"]},{id:3,alertId:"AL-20260727-003",title:"磁盘使用率接近阈值",severity:"INFO",severityText:"提示",status:"pending",statusText:"待处理",source:"node-03",firedAt:"13:56",groupNames:["运维组"]}]},build_projects:{summary:{buildingCount:4,todayBuilds:28,successRate:98.6},items:[{pipelineId:1,buildId:101,jobName:"eagle-eye-web",statusText:"构建中",currentStage:"测试",buildUser:"system",progress:68},{pipelineId:2,buildId:102,jobName:"quark-api",statusText:"构建中",currentStage:"镜像打包",buildUser:"李工",progress:42}]},build_distribution:{total:100,items:[{name:"应用构建",count:42},{name:"镜像构建",count:27},{name:"基础设施",count:18},{name:"其他任务",count:13}]},endpoint_distribution:{summary:{total:3},items:[{id:1,nodeName:"edge-01",nodeIp:"10.10.2.11",nodeStatus:!0,heartbeatResults:[{targetName:"API Gateway",targetIp:"10.10.1.10",latencyMs:12.4}]},{id:2,nodeName:"edge-02",nodeIp:"10.10.2.12",nodeStatus:!0,heartbeatResults:[{targetName:"API Gateway",targetIp:"10.10.1.10",latencyMs:18.7}]},{id:3,nodeName:"edge-03",nodeIp:"10.10.2.13",nodeStatus:!1,heartbeatResults:[]}]}};function Y(o){return JSON.parse(JSON.stringify(d[o]))}n.BigScreenAlertRow=X,n.BigScreenDutyContent=G,n.BigScreenPanel=q,n.bigScreenPreviewFixtures=d,n.getBigScreenPreviewData=Y,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(n,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(n=typeof globalThis<"u"?globalThis:n||self,e(n.QuarkBigScreenUi={},n.Vue))})(this,(function(n,e){"use strict";const p={key:0,class:"qbs-panel__corner qbs-panel__corner--tl"},_={key:1,class:"qbs-panel__corner qbs-panel__corner--tr"},y={key:2,class:"qbs-panel__corner qbs-panel__corner--bl"},g={key:3,class:"qbs-panel__corner qbs-panel__corner--br"},b={key:0,class:"qbs-panel__bar"},u={key:1,class:"qbs-panel__title"},k={key:2,class:"qbs-panel__header-prefix"},f={key:3,class:"qbs-panel__header-center"},B={key:4,class:"qbs-panel__header-extra"},N={key:0,class:"qbs-panel__live"},h={class:"qbs-panel__body"},q=e.defineComponent({__name:"BigScreenPanel",props:{title:{default:""},accent:{default:"oklch(.82 .13 200)"},liveLabel:{default:""},showBar:{type:Boolean,default:!0},corners:{default:"tl-br"},padding:{default:"md"},bodyLayout:{default:"default"},titleSize:{default:"md"},overflowHidden:{type:Boolean,default:!0}},setup(s){const t=s;function a(o){return t.corners==="all"?!0:t.corners==="none"?!1:o==="tl"||o==="br"}return(o,l)=>(e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(["qbs-panel",[`qbs-panel--padding-${s.padding}`,`qbs-panel--layout-${s.bodyLayout}`,{"qbs-panel--overflow-hidden":s.overflowHidden}]]),style:e.normalizeStyle({"--qbs-accent":s.accent})},[a("tl")?(e.openBlock(),e.createElementBlock("span",p)):e.createCommentVNode("",!0),a("tr")?(e.openBlock(),e.createElementBlock("span",_)):e.createCommentVNode("",!0),a("bl")?(e.openBlock(),e.createElementBlock("span",y)):e.createCommentVNode("",!0),a("br")?(e.openBlock(),e.createElementBlock("span",g)):e.createCommentVNode("",!0),s.title||s.liveLabel||o.$slots["header-center"]||o.$slots["header-extra"]?(e.openBlock(),e.createElementBlock("header",{key:4,class:e.normalizeClass(["qbs-panel__header",`qbs-panel__header--${s.titleSize}`])},[s.showBar?(e.openBlock(),e.createElementBlock("span",b)):e.createCommentVNode("",!0),s.title?(e.openBlock(),e.createElementBlock("span",u,e.toDisplayString(s.title),1)):e.createCommentVNode("",!0),o.$slots["header-prefix"]?(e.openBlock(),e.createElementBlock("span",k,[e.renderSlot(o.$slots,"header-prefix",{},void 0,!0)])):e.createCommentVNode("",!0),o.$slots["header-center"]?(e.openBlock(),e.createElementBlock("span",f,[e.renderSlot(o.$slots,"header-center",{},void 0,!0)])):e.createCommentVNode("",!0),o.$slots["header-extra"]||s.liveLabel?(e.openBlock(),e.createElementBlock("span",B,[e.renderSlot(o.$slots,"header-extra",{},()=>[s.liveLabel?(e.openBlock(),e.createElementBlock("span",N,[l[0]||(l[0]=e.createElementVNode("span",{class:"qbs-panel__live-dot"},null,-1)),e.createTextVNode(e.toDisplayString(s.liveLabel),1)])):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",h,[e.renderSlot(o.$slots,"default",{},void 0,!0)])],6))}}),r=(s,t)=>{const a=s.__vccOpts||s;for(const[o,l]of t)a[o]=l;return a},d=r(q,[["__scopeId","data-v-749400b6"]]),S={key:0,class:"qbs-duty-compact"},E={class:"qbs-duty-compact__avatar"},V={class:"qbs-duty-compact__info"},$={class:"qbs-duty-compact__name"},C={class:"qbs-duty-compact__phone"},w={key:0,class:"qbs-duty-compact__tag"},I={key:1,class:"qbs-duty"},D={class:"qbs-duty__summary"},T={class:"qbs-duty__summary-chip"},A={class:"qbs-duty__summary-chip"},P={class:"qbs-duty__summary-chip"},x={class:"qbs-duty__list"},L={class:"qbs-duty__group-header"},R={class:"qbs-duty__users"},z={key:0,class:"qbs-duty__empty"},G=r(e.defineComponent({__name:"BigScreenDutyContent",props:{compact:{type:Boolean,default:!1},personName:{default:""},personPhone:{default:""},personTag:{default:""},date:{default:""},totalGroups:{default:void 0},totalUsers:{default:void 0},groups:{default:()=>[]}},setup(s){const t=s;return(a,o)=>t.compact?(e.openBlock(),e.createElementBlock("div",S,[e.createElementVNode("div",E,e.toDisplayString(t.personName.charAt(0)||"-"),1),e.createElementVNode("div",V,[e.createElementVNode("span",$,e.toDisplayString(t.personName||"暂未排班"),1),e.createElementVNode("span",C,e.toDisplayString(t.personPhone||"—"),1)]),t.personTag?(e.openBlock(),e.createElementBlock("span",w,e.toDisplayString(t.personTag),1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",I,[e.createElementVNode("div",D,[e.createElementVNode("div",T,[o[0]||(o[0]=e.createElementVNode("span",null,"日期",-1)),e.createElementVNode("strong",null,e.toDisplayString(t.date||"未同步"),1)]),e.createElementVNode("div",A,[o[1]||(o[1]=e.createElementVNode("span",null,"值班组",-1)),e.createElementVNode("strong",null,e.toDisplayString(t.totalGroups??t.groups.length),1)]),e.createElementVNode("div",P,[o[2]||(o[2]=e.createElementVNode("span",null,"值班人数",-1)),e.createElementVNode("strong",null,e.toDisplayString(t.totalUsers??0),1)])]),e.createElementVNode("div",x,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.groups,l=>{var m;return e.openBlock(),e.createElementBlock("article",{key:l.groupId,class:"qbs-duty__group"},[e.createElementVNode("div",L,[e.createElementVNode("strong",null,e.toDisplayString(l.groupName),1),e.createElementVNode("span",null,e.toDisplayString(((m=l.users)==null?void 0:m.length)||0)+" 人",1)]),e.createElementVNode("div",R,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.users||[],c=>(e.openBlock(),e.createElementBlock("span",{key:c.userId,class:"qbs-duty__user"},e.toDisplayString(c.nickName||c.username),1))),128))])])}),128)),t.groups.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",z,"暂无值班数据"))])]))}}),[["__scopeId","data-v-f5721bce"]]),M={class:"qbs-alert-row__main"},U={class:"qbs-alert-row__copy"},j=["title"],F={class:"qbs-alert-row__meta"},O={class:"qbs-alert-row__group"},W={key:0,class:"qbs-alert-row__owner"},H={key:1,class:"qbs-alert-row__time"},J={key:2,class:"qbs-alert-row__tag"},Q={class:"qbs-alert-row__status"},K={key:0,class:"qbs-alert-row__aside"},X=r(e.defineComponent({__name:"BigScreenAlertRow",props:{title:{},group:{default:""},owner:{default:""},time:{default:""},tag:{default:""},statusText:{default:""},accent:{default:"#f0a35a"},detailWide:{type:Boolean,default:!1}},emits:["select"],setup(s){const t=s;return(a,o)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["qbs-alert-row",{"qbs-alert-row--detail-wide":t.detailWide}]),style:e.normalizeStyle({"--qbs-alert-accent":t.accent}),type:"button",onClick:o[0]||(o[0]=l=>a.$emit("select"))},[e.createElementVNode("div",M,[e.createElementVNode("div",U,[e.createElementVNode("div",{class:"qbs-alert-row__title",title:t.title},e.toDisplayString(t.title),9,j),e.createElementVNode("div",F,[e.createElementVNode("span",O,e.toDisplayString(t.group),1),t.owner?(e.openBlock(),e.createElementBlock("span",W,e.toDisplayString(t.owner),1)):e.createCommentVNode("",!0),t.time?(e.openBlock(),e.createElementBlock("span",H,e.toDisplayString(t.time),1)):e.createCommentVNode("",!0),t.tag?(e.openBlock(),e.createElementBlock("span",J,e.toDisplayString(t.tag),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Q,[e.renderSlot(a.$slots,"status",{},()=>[e.createTextVNode(e.toDisplayString(t.statusText||"待处理"),1)],!0)])]),a.$slots.aside?(e.openBlock(),e.createElementBlock("aside",K,[e.renderSlot(a.$slots,"aside",{},void 0,!0)])):e.createCommentVNode("",!0)])],6))}}),[["__scopeId","data-v-83959767"]]),Y={class:"qbs-metric-card__value"},Z={class:"qbs-metric-card__label"},v=r(e.defineComponent({__name:"BigScreenMetricCard",props:{label:{},value:{default:"—"},tone:{default:"#7dd3fc"},compact:{type:Boolean,default:!1}},setup(s){const t=s;return(a,o)=>t.compact?(e.openBlock(),e.createElementBlock("div",{key:0,class:"qbs-metric-card qbs-metric-card--compact",style:e.normalizeStyle({"--qbs-metric-tone":t.tone})},[e.createElementVNode("span",null,e.toDisplayString(t.label),1),e.createElementVNode("strong",null,[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.value),1)],!0)])],4)):(e.openBlock(),e.createBlock(d,{key:1,class:"qbs-metric-card","body-layout":"metric",padding:"tight",accent:t.tone},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default",{},()=>[e.createElementVNode("strong",Y,e.toDisplayString(t.value),1)],!0),e.createElementVNode("span",Z,e.toDisplayString(t.label),1)]),_:3},8,["accent"]))}}),[["__scopeId","data-v-07353599"]]),i={screen_header:{dateText:"2026-07-27",timeText:"14:30",weekdayText:"星期一"},robot:{status:"online",mode:"guard",emotion:"neutral",generatedAt:"2026-07-27 14:30:00",summary:{dutyGroups:3,todayAlerts:12,buildingCount:4,endpointNodes:86},alerts:{todayTotal:12,todayPending:3,criticalCount:1,warningCount:5},builds:{buildingCount:4,todayBuilds:28,successRate:98.6}},duty_today:{date:"2026-07-27",totalGroups:3,totalUsers:8,groups:[{groupId:1,groupName:"平台组",users:[{userId:101,nickName:"张工",username:"zhang"},{userId:102,nickName:"李工",username:"li"}]},{groupId:2,groupName:"网络组",users:[{userId:103,nickName:"王工",username:"wang"}]}]},alert_latest:{total:3,stats:{todayTotal:12,todayPending:3,overdueTotal:1,criticalCount:1,warningCount:5,infoCount:6},items:[{id:1,alertId:"AL-20260727-001",title:"边缘节点延迟升高",severity:"WARN",severityText:"警告",status:"pending",statusText:"待处理",source:"edge-01",firedAt:"14:20",groupNames:["网络组"]},{id:2,alertId:"AL-20260727-002",title:"构建队列等待时间过长",severity:"CRITICAL",severityText:"严重",status:"processing",statusText:"处理中",source:"CI/CD",firedAt:"14:08",groupNames:["平台组"]},{id:3,alertId:"AL-20260727-003",title:"磁盘使用率接近阈值",severity:"INFO",severityText:"提示",status:"pending",statusText:"待处理",source:"node-03",firedAt:"13:56",groupNames:["运维组"]}]},build_projects:{summary:{buildingCount:4,todayBuilds:28,successRate:98.6},items:[{pipelineId:1,buildId:101,jobName:"eagle-eye-web",statusText:"构建中",currentStage:"测试",buildUser:"system",progress:68},{pipelineId:2,buildId:102,jobName:"quark-api",statusText:"构建中",currentStage:"镜像打包",buildUser:"李工",progress:42}]},build_distribution:{total:100,items:[{name:"应用构建",count:42},{name:"镜像构建",count:27},{name:"基础设施",count:18},{name:"其他任务",count:13}]},endpoint_distribution:{summary:{total:3},items:[{id:1,nodeName:"edge-01",nodeIp:"10.10.2.11",nodeStatus:!0,heartbeatResults:[{targetName:"API Gateway",targetIp:"10.10.1.10",latencyMs:12.4}]},{id:2,nodeName:"edge-02",nodeIp:"10.10.2.12",nodeStatus:!0,heartbeatResults:[{targetName:"API Gateway",targetIp:"10.10.1.10",latencyMs:18.7}]},{id:3,nodeName:"edge-03",nodeIp:"10.10.2.13",nodeStatus:!1,heartbeatResults:[]}]}};function ee(s){return JSON.parse(JSON.stringify(i[s]))}n.BigScreenAlertRow=X,n.BigScreenDutyContent=G,n.BigScreenMetricCard=v,n.BigScreenPanel=d,n.bigScreenPreviewFixtures=i,n.getBigScreenPreviewData=ee,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akiraka/quark-big-screen-ui",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "Shared visual components for Quark big-screen applications.",
5
5
  "type": "module",
6
6
  "files": [