@weapp-vite/dashboard 6.17.8 → 6.18.1
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/assets/analyze.js +7 -7
- package/dist/assets/{css.worker-C078mPpn.js → css.worker-yKcq13f2.js} +12 -12
- package/dist/assets/echarts.js +11 -11
- package/dist/assets/editor.worker-tytyn86m.js +26 -0
- package/dist/assets/{html.worker-BO6WuOEO.js → html.worker-DSJ9zmd7.js} +11 -11
- package/dist/assets/index.css +1 -1
- package/dist/assets/{json.worker-C4lWBgVJ.js → json.worker-Oa9UrkKE.js} +7 -7
- package/dist/assets/monaco.js +54 -54
- package/dist/assets/pages.js +1 -1
- package/dist/assets/tokens.js +1 -1
- package/dist/assets/{ts.worker-CDlTriQ3.js → ts.worker-BtjBFNHX.js} +31 -31
- package/dist/assets/vue.js +1 -1
- package/package.json +5 -5
- package/dist/assets/editor.worker-Cn2oRESe.js +0 -26
package/dist/assets/pages.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{B as e,C as t,G as n,H as r,J as i,N as a,R as o,S as s,_ as c,g as l,h as u,j as d,k as f,l as p,p as m,t as h,u as g,v as _,x as v,y,z as b}from"./vue.js";import{O as x,_ as S,c as ee,f as te,h as C,k as w,t as ne,x as T}from"./index.js";import{n as E,t as D}from"./AppEmptyState.js";import{t as O}from"./AppRuntimeBadge.js";import{t as k}from"./AppMetricTile.js";import{t as A}from"./AppInsetPanel.js";import{n as j,t as M}from"./AppSectionHeading.js";var N=t({__name:`WorkspaceActivityTimeline`,props:{items:{},checklist:{}},setup(e,{expose:t}){t();let n=e,i=r(``),a=r(`all`),o=[{value:`all`,label:`全部动态`},{value:`live`,label:`实时`},{value:`default`,label:`记录`}],s=u(()=>{let e=i.value.trim().toLowerCase();return n.items.filter(t=>a.value!==`all`&&t.tone!==a.value?!1:e?[t.time,t.title,t.summary,t.tone].join(` `).toLowerCase().includes(e):!0)}),c={props:n,searchQuery:i,toneFilter:a,toneOptions:o,filteredItems:s,activitySummary:u(()=>{let e=a.value===`all`?`全部`:a.value===`live`?`实时`:`记录`;return`匹配 ${s.value.length} / ${n.items.length} 条 · ${e}`}),AppEmptyState:D,AppRuntimeBadge:O};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}}),P={class:`grid h-full min-h-0 gap-3 lg:grid-cols-[minmax(0,1fr)_minmax(13rem,0.58fr)]`},F={class:`grid min-h-0 grid-rows-[auto_minmax(0,1fr)] gap-3 overflow-hidden`},I={class:`grid gap-2 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-3`},L={class:`grid gap-2 md:grid-cols-[minmax(0,1fr)_9.5rem]`},R={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},z={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},B=[`value`],V={class:`text-xs text-(--dashboard-text-soft)`},H={key:1,class:`grid min-h-0 gap-2 overflow-y-auto pr-1`},U={class:`flex items-start justify-between gap-3`},W={class:`min-w-0`},G={class:`text-[11px] uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},K={class:`mt-1 truncate font-medium`},q={class:`mt-2 text-sm leading-6 text-(--dashboard-text-muted)`},J={class:`grid min-h-0 content-start gap-2 overflow-y-auto rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-3`},Y={class:`grid gap-2 text-sm leading-6 text-(--dashboard-text-muted)`};function X(t,n,r,o,u,f){return d(),y(`div`,P,[l(`div`,F,[l(`div`,I,[l(`div`,L,[l(`label`,R,[n[2]||=v(` 搜索动态 `,-1),e(l(`input`,{"onUpdate:modelValue":n[0]||=e=>o.searchQuery=e,type:`text`,placeholder:`搜索标题、摘要或时间`,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 text-sm normal-case tracking-normal text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`},null,512),[[g,o.searchQuery]])]),l(`label`,z,[n[3]||=v(` 状态 `,-1),e(l(`select`,{"onUpdate:modelValue":n[1]||=e=>o.toneFilter=e,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-2.5 text-sm normal-case tracking-normal text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`},[(d(),y(m,null,a(o.toneOptions,e=>l(`option`,{key:e.value,value:e.value},i(e.label),9,B)),64))],512),[[p,o.toneFilter]])])]),l(`p`,V,i(o.activitySummary),1)]),o.filteredItems.length===0?(d(),c(o.AppEmptyState,{key:0,compact:``},{default:b(()=>[...n[4]||=[v(` 当前筛选条件下没有匹配动态。 `,-1)]]),_:1})):(d(),y(`ol`,H,[(d(!0),y(m,null,a(o.filteredItems,e=>(d(),y(`li`,{key:`${e.time}-${e.title}`,class:`rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-3`},[l(`div`,U,[l(`div`,W,[l(`p`,G,i(e.time),1),l(`h3`,K,i(e.title),1)]),s(o.AppRuntimeBadge,{label:e.tone===`live`?`实时`:`记录`,tone:e.tone===`live`?`success`:`neutral`},null,8,[`label`,`tone`])]),l(`p`,q,i(e.summary),1)]))),128))]))]),l(`aside`,J,[n[5]||=l(`div`,null,[l(`p`,{class:`text-[11px] uppercase tracking-[0.2em] text-(--dashboard-accent)`},` Checklist `),l(`h3`,{class:`mt-1 font-semibold`},` 发布检查 `)],-1),l(`ul`,Y,[(d(!0),y(m,null,a(r.checklist,e=>(d(),y(`li`,{key:e,class:`rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 py-2`},i(e),1))),128))])])])}var Z=w(N,[[`render`,X]]),Q={dev:`开发`,build:`构建`,analyze:`分析`},re={dev:`info`,build:`success`,analyze:`warning`},ie=[{value:`all`,label:`全部命令`},{value:`dev`,label:Q.dev},{value:`build`,label:Q.build},{value:`analyze`,label:Q.analyze}];function ae(e){let t=r(``),n=r(`all`),i=r(null),a=r(null),s=r(null),c=null,l=u(()=>{let r=t.value.trim().toLowerCase();return e.commands.filter(e=>n.value!==`all`&&e.category!==n.value?!1:r?[e.label,e.command,e.note,Q[e.category]].join(` `).toLowerCase().includes(r):!0)}),d=u(()=>l.value.find(e=>e.command===i.value)??l.value[0]??null),p=u(()=>{let t=e.commands.length;return`匹配 ${l.value.length} / ${t} 条 · ${n.value===`all`?`全部`:Q[n.value]}`});function m(){a.value=null,s.value=null}function h(){c&&clearTimeout(c),c=setTimeout(()=>{m(),c=null},1800)}async function g(e){try{await E(e),a.value=e,s.value=null}catch{a.value=null,s.value=e}h()}return o(l,e=>{e.some(e=>e.command===i.value)||(i.value=e[0]?.command??null)},{immediate:!0}),f(()=>{c&&clearTimeout(c)}),{categoryFilter:n,categoryLabels:Q,categoryOptions:ie,categoryTones:re,commandSummary:p,copiedCommand:a,copyCommand:g,failedCommand:s,filteredCommands:l,searchQuery:t,selectedCommand:d,selectedCommandValue:i}}var oe=t({__name:`WorkspaceCommandCenter`,props:{commands:{}},setup(e,{expose:t}){t();let n=e,{categoryFilter:r,categoryLabels:i,categoryOptions:a,categoryTones:o,commandSummary:s,copiedCommand:c,copyCommand:l,failedCommand:u,filteredCommands:d,searchQuery:f,selectedCommand:p,selectedCommandValue:m}=ae(n),h={props:n,categoryFilter:r,categoryLabels:i,categoryOptions:a,categoryTones:o,commandSummary:s,copiedCommand:c,copyCommand:l,failedCommand:u,filteredCommands:d,searchQuery:f,selectedCommand:p,selectedCommandValue:m,AppEmptyState:D,AppRuntimeBadge:O,DashboardIcon:x};return Object.defineProperty(h,"__isScriptSetup",{enumerable:!1,value:!0}),h}}),se={class:`grid h-full min-h-0 gap-3 xl:grid-cols-[minmax(0,1fr)_minmax(15rem,0.72fr)]`},ce={class:`grid min-h-0 grid-rows-[auto_minmax(0,1fr)] gap-3 overflow-hidden`},le={class:`grid gap-3 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-3`},ue={class:`grid gap-2 md:grid-cols-[minmax(0,1fr)_11rem]`},de={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},fe={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},pe=[`value`],me={class:`text-xs text-(--dashboard-text-soft)`},he={key:1,class:`grid min-h-0 gap-2 overflow-y-auto pr-1`},ge={class:`flex flex-col gap-3 md:flex-row md:items-center md:justify-between`},_e=[`onClick`],ve={class:`flex flex-wrap items-center gap-2`},ye={class:`font-medium text-(--dashboard-text)`},be={class:`mt-1 block text-sm leading-6 text-(--dashboard-text-muted)`},xe=[`aria-label`,`title`,`onClick`],Se={class:`h-4.5 w-4.5`},Ce={class:`grid min-h-0 grid-rows-[auto_minmax(0,1fr)] gap-3 overflow-hidden rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-4`},we={class:`flex items-start justify-between gap-3`},Te={key:1,class:`grid min-h-0 content-start gap-3 overflow-y-auto`},Ee={class:`font-medium`},De={class:`mt-1 text-sm leading-6 text-(--dashboard-text-muted)`},Oe={class:`block overflow-x-auto rounded-md bg-slate-950 px-3 py-3 font-mono text-xs leading-6 text-slate-100 dark:bg-slate-900`},ke={class:`h-4.5 w-4.5`};function Ae(t,r,o,u,f,h){return d(),y(`div`,se,[l(`div`,ce,[l(`div`,le,[l(`div`,ue,[l(`label`,de,[r[3]||=v(` 搜索命令 `,-1),e(l(`input`,{"onUpdate:modelValue":r[0]||=e=>u.searchQuery=e,type:`text`,placeholder:`搜索名称、命令或说明`,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 text-sm normal-case tracking-normal text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`},null,512),[[g,u.searchQuery]])]),l(`label`,fe,[r[4]||=v(` 分类 `,-1),e(l(`select`,{"onUpdate:modelValue":r[1]||=e=>u.categoryFilter=e,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-2.5 text-sm normal-case tracking-normal text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`},[(d(!0),y(m,null,a(u.categoryOptions,e=>(d(),y(`option`,{key:e.value,value:e.value},i(e.label),9,pe))),128))],512),[[p,u.categoryFilter]])])]),l(`p`,me,i(u.commandSummary),1)]),u.filteredCommands.length===0?(d(),c(u.AppEmptyState,{key:0,compact:``},{default:b(()=>[...r[5]||=[v(` 当前筛选条件下没有匹配命令。 `,-1)]]),_:1})):(d(),y(`div`,he,[(d(!0),y(m,null,a(u.filteredCommands,e=>(d(),y(`article`,{key:e.command,class:n([`rounded-md border bg-(--dashboard-panel-muted) p-3 transition`,u.selectedCommand?.command===e.command?`border-(--dashboard-border-strong) bg-(--dashboard-panel)`:`border-(--dashboard-border)`])},[l(`div`,ge,[l(`button`,{type:`button`,class:`min-w-0 text-left focus:outline-none`,onClick:t=>u.selectedCommandValue=e.command},[l(`span`,ve,[l(`span`,ye,i(e.label),1),s(u.AppRuntimeBadge,{label:u.categoryLabels[e.category],tone:u.categoryTones[e.category]},null,8,[`label`,`tone`])]),l(`span`,be,i(e.note),1)],8,_e),l(`button`,{class:`inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) text-(--dashboard-text-soft) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none`,type:`button`,"aria-label":`复制命令 ${e.command}`,title:u.copiedCommand===e.command?`已复制`:u.failedCommand===e.command?`复制失败`:`复制命令`,onClick:t=>u.copyCommand(e.command)},[l(`span`,Se,[s(u.DashboardIcon,{name:`metric-copy`})])],8,xe)])],2))),128))]))]),l(`aside`,Ce,[l(`div`,we,[r[6]||=l(`div`,null,[l(`p`,{class:`text-[11px] uppercase tracking-[0.2em] text-(--dashboard-accent)`},` Selected `),l(`h3`,{class:`mt-1 text-base font-semibold`},` 当前命令 `)],-1),u.selectedCommand?(d(),c(u.AppRuntimeBadge,{key:0,label:u.categoryLabels[u.selectedCommand.category],tone:u.categoryTones[u.selectedCommand.category]},null,8,[`label`,`tone`])):_(``,!0)]),u.selectedCommand?(d(),y(`div`,Te,[l(`div`,null,[l(`h4`,Ee,i(u.selectedCommand.label),1),l(`p`,De,i(u.selectedCommand.note),1)]),l(`code`,Oe,i(u.selectedCommand.command),1),l(`button`,{type:`button`,class:`inline-flex h-9 w-full items-center justify-center gap-2 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 text-sm font-medium text-(--dashboard-text) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none`,onClick:r[2]||=e=>u.copyCommand(u.selectedCommand.command)},[l(`span`,ke,[s(u.DashboardIcon,{name:`metric-copy`})]),v(` `+i(u.copiedCommand===u.selectedCommand.command?`已复制`:u.failedCommand===u.selectedCommand.command?`复制失败`:`复制命令`),1)])])):(d(),c(u.AppEmptyState,{key:0,compact:``},{default:b(()=>[...r[7]||=[v(` 选择左侧命令后查看复制内容。 `,-1)]]),_:1}))])])}var je=w(oe,[[`render`,Ae]]),Me=t({__name:`WorkspaceReadinessPanel`,props:{summary:{}},setup(e,{expose:t}){t();let n=e,i=r(``),a=null,o=u(()=>n.summary.status===`attention`?`warning`:n.summary.status===`pending`?`info`:`success`);function s(e){return e===`attention`?`border-amber-400/60 bg-(--dashboard-panel-muted)`:e===`pending`?`border-(--dashboard-border-strong) bg-(--dashboard-panel-muted)`:`border-emerald-400/60 bg-(--dashboard-panel-muted)`}function c(e){i.value=e,a&&clearTimeout(a),a=setTimeout(()=>{i.value=``,a=null},1800)}async function l(){try{await E(n.summary.report),c(`摘要已复制`)}catch{c(`复制失败`)}}f(()=>{a&&clearTimeout(a)});let d={props:n,copyStatus:i,get copyStatusTimer(){return a},set copyStatusTimer(e){a=e},badgeTone:o,getStatusClassName:s,setCopyStatus:c,copyReadinessReport:l,get RouterLink(){return h},AppMetricTile:k,AppRuntimeBadge:O,AppSurfaceCard:T,DashboardIcon:x};return Object.defineProperty(d,"__isScriptSetup",{enumerable:!1,value:!0}),d}}),Ne={class:`flex shrink-0 items-center gap-2`},Pe={key:0,class:`text-xs font-medium text-(--dashboard-accent)`},Fe={class:`h-3.5 w-3.5`},Ie={class:`grid gap-3`},Le={class:`flex items-start justify-between gap-3`},Re={class:`min-w-0`},ze={class:`text-sm font-semibold text-(--dashboard-text)`},Be={class:`mt-1 text-xs leading-5 text-(--dashboard-text-muted)`},Ve={class:`grid grid-cols-2 gap-2 2xl:grid-cols-3`},He={class:`grid gap-2 sm:grid-cols-2`},Ue={class:`flex items-start justify-between gap-3`},We={class:`min-w-0`},Ge={class:`text-sm font-medium text-(--dashboard-text)`},Ke={class:`mt-1 line-clamp-2 text-xs leading-5 text-(--dashboard-text-muted)`},qe={class:`shrink-0 text-xs font-semibold text-(--dashboard-accent)`},Je={key:0,class:`rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-3 py-2.5`},Ye={class:`mt-2 flex items-start justify-between gap-3`},Xe={class:`min-w-0`},Ze={class:`truncate text-sm font-medium text-(--dashboard-text)`},Qe={class:`mt-1 truncate text-xs text-(--dashboard-text-soft)`},$e={class:`h-4 w-4 shrink-0 text-(--dashboard-accent)`};function et(e,t,r,o,u,f){return d(),c(o.AppSurfaceCard,{eyebrow:`Readiness`,title:`工作区摘要`,"icon-name":`metric-ready`},{header:b(()=>[l(`div`,Ne,[o.copyStatus?(d(),y(`span`,Pe,i(o.copyStatus),1)):_(``,!0),l(`button`,{type:`button`,class:`inline-flex h-8 items-center gap-1.5 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-3 text-xs text-(--dashboard-text-soft) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none`,onClick:o.copyReadinessReport},[l(`span`,Fe,[s(o.DashboardIcon,{name:`metric-copy`})]),t[0]||=v(` 复制 `,-1)])])]),default:b(()=>[l(`div`,Ie,[l(`div`,{class:n([`rounded-md border px-3 py-2.5`,o.getStatusClassName(r.summary.status)])},[l(`div`,Le,[l(`div`,Re,[l(`p`,ze,i(r.summary.statusLabel),1),l(`p`,Be,i(r.summary.statusDetail),1)]),s(o.AppRuntimeBadge,{label:r.summary.statusLabel,tone:o.badgeTone},null,8,[`label`,`tone`])])],2),l(`div`,Ve,[(d(!0),y(m,null,a(r.summary.metrics,e=>(d(),c(o.AppMetricTile,{key:e.label,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),l(`div`,He,[(d(!0),y(m,null,a(r.summary.actions,e=>(d(),c(o.RouterLink,{key:e.id,to:e.to,class:`rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-3 py-2.5 transition hover:border-(--dashboard-border-strong) hover:bg-(--dashboard-panel)`},{default:b(()=>[l(`div`,Ue,[l(`div`,We,[l(`p`,Ge,i(e.title),1),l(`p`,Ke,i(e.detail),1)]),l(`span`,qe,i(e.label),1)])]),_:2},1032,[`to`]))),128))]),r.summary.latestEvent?(d(),y(`div`,Je,[t[1]||=l(`p`,{class:`text-[11px] uppercase tracking-[0.2em] text-(--dashboard-accent)`},` Latest Event `,-1),l(`div`,Ye,[l(`div`,Xe,[l(`p`,Ze,i(r.summary.latestEvent.title),1),l(`p`,Qe,i(r.summary.latestEvent.timestamp)+` · `+i(r.summary.latestEvent.levelLabel),1)]),l(`span`,$e,[s(o.DashboardIcon,{name:`metric-time`})])])])):_(``,!0)])]),_:1})}var tt=w(Me,[[`render`,et]]);function nt(e){return e?.packages.flatMap(e=>e.files).reduce((e,t)=>e+(t.size??0),0)??0}function rt(e){return e?.modules.filter(e=>e.packages.length>1).length??0}function it(e){return e.filter(e=>e.level===`warning`).length}function at(e){return e.filter(e=>e.level===`error`).length}function ot(e){return e.result?e.errorCount>0||e.warningCount>0?`attention`:`ready`:`pending`}function st(e){return e===`pending`?`等待分析数据`:e===`attention`?`需要跟进`:`可以继续分析`}function ct(e){return e.status===`pending`?`当前还没有 CLI 注入的 analyze payload,可以先运行分析命令。`:e.status===`attention`?`已载入 ${e.packageCount} 个包,事件流包含 ${e.errorCount} 个错误和 ${e.warningCount} 个警告。`:`已载入 ${e.packageCount} 个包与 ${e.moduleCount} 个模块,当前事件流没有错误或警告。`}function lt(e){return e===`pending`?[{id:`run-analyze`,title:`先运行分析命令`,detail:`从右侧命令中心复制 analyze 命令,获取真实包体数据。`,to:`/`,label:`查看命令`},{id:`inspect-activity`,title:`检查事件链路`,detail:`确认 CLI 注入和 runtime event 是否按预期进入 dashboard。`,to:`/activity`,label:`活动流`}]:e===`attention`?[{id:`open-activity`,title:`先处理异常事件`,detail:`进入活动流查看错误、警告和慢事件摘要。`,to:`/activity`,label:`看事件`},{id:`open-review`,title:`整理 PR 风险`,detail:`进入评审页复制风险清单,和代码改动一起处理。`,to:`/analyze?tab=review`,label:`评审清单`}]:[{id:`open-overview`,title:`查看全局摘要`,detail:`进入分析视图核对包体、预算和历史趋势。`,to:`/analyze`,label:`分析视图`},{id:`open-source`,title:`对比源码产物`,detail:`继续检查源码模块与最终产物之间的体积差异。`,to:`/analyze?tab=source`,label:`源码对比`}]}function ut(e){let t=e[0];if(t)return{title:t.title,detail:t.detail,levelLabel:te(t.level),timestamp:t.timestamp}}function dt(e){return[`# dashboard 工作区摘要`,``,`状态:${e.statusLabel}`,`说明:${e.statusDetail}`,``,`## 指标`,...e.metrics.map(e=>`- ${e.label}:${e.value}`),``,`## 建议动作`,...e.actions.map(e=>`- ${e.title}:${e.detail}`),``,`## 最新事件`,e.latestEvent?`- [${e.latestEvent.levelLabel}] ${e.latestEvent.title}(${e.latestEvent.timestamp}):${e.latestEvent.detail}`:`- 暂无运行事件`,``].join(`
|
|
1
|
+
import{B as e,C as t,G as n,H as r,J as i,N as a,R as o,S as s,_ as c,g as l,h as u,j as d,k as f,l as p,p as m,t as h,u as g,v as _,x as v,y,z as b}from"./vue.js";import{O as x,_ as S,c as ee,f as te,h as C,k as w,t as ne,x as T}from"./index.js";import{n as E,t as D}from"./AppEmptyState.js";import{t as O}from"./AppRuntimeBadge.js";import{t as k}from"./AppMetricTile.js";import{t as A}from"./AppInsetPanel.js";import{n as j,t as M}from"./AppSectionHeading.js";var N=t({__name:`WorkspaceActivityTimeline`,props:{items:{},checklist:{}},setup(e,{expose:t}){t();let n=e,i=r(``),a=r(`all`),o=[{value:`all`,label:`全部动态`},{value:`live`,label:`实时`},{value:`default`,label:`记录`}],s=u(()=>{let e=i.value.trim().toLowerCase();return n.items.filter(t=>a.value!==`all`&&t.tone!==a.value?!1:!e||[t.time,t.title,t.summary,t.tone].join(` `).toLowerCase().includes(e))}),c={props:n,searchQuery:i,toneFilter:a,toneOptions:o,filteredItems:s,activitySummary:u(()=>{let e=a.value===`all`?`全部`:a.value===`live`?`实时`:`记录`;return`匹配 ${s.value.length} / ${n.items.length} 条 · ${e}`}),AppEmptyState:D,AppRuntimeBadge:O};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}}),P={class:`grid h-full min-h-0 gap-3 lg:grid-cols-[minmax(0,1fr)_minmax(13rem,0.58fr)]`},F={class:`grid min-h-0 grid-rows-[auto_minmax(0,1fr)] gap-3 overflow-hidden`},I={class:`grid gap-2 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-3`},L={class:`grid gap-2 md:grid-cols-[minmax(0,1fr)_9.5rem]`},R={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},z={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},B=[`value`],V={class:`text-xs text-(--dashboard-text-soft)`},H={key:1,class:`grid min-h-0 gap-2 overflow-y-auto pr-1`},U={class:`flex items-start justify-between gap-3`},W={class:`min-w-0`},G={class:`text-[11px] uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},K={class:`mt-1 truncate font-medium`},q={class:`mt-2 text-sm leading-6 text-(--dashboard-text-muted)`},J={class:`grid min-h-0 content-start gap-2 overflow-y-auto rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-3`},Y={class:`grid gap-2 text-sm leading-6 text-(--dashboard-text-muted)`};function X(t,n,r,o,u,f){return d(),y(`div`,P,[l(`div`,F,[l(`div`,I,[l(`div`,L,[l(`label`,R,[n[2]||=v(` 搜索动态 `,-1),e(l(`input`,{"onUpdate:modelValue":n[0]||=e=>o.searchQuery=e,type:`text`,placeholder:`搜索标题、摘要或时间`,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 text-sm normal-case tracking-normal text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`},null,512),[[g,o.searchQuery]])]),l(`label`,z,[n[3]||=v(` 状态 `,-1),e(l(`select`,{"onUpdate:modelValue":n[1]||=e=>o.toneFilter=e,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-2.5 text-sm normal-case tracking-normal text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`},[(d(),y(m,null,a(o.toneOptions,e=>l(`option`,{key:e.value,value:e.value},i(e.label),9,B)),64))],512),[[p,o.toneFilter]])])]),l(`p`,V,i(o.activitySummary),1)]),o.filteredItems.length===0?(d(),c(o.AppEmptyState,{key:0,compact:``},{default:b(()=>[...n[4]||=[v(` 当前筛选条件下没有匹配动态。 `,-1)]]),_:1})):(d(),y(`ol`,H,[(d(!0),y(m,null,a(o.filteredItems,e=>(d(),y(`li`,{key:`${e.time}-${e.title}`,class:`rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-3`},[l(`div`,U,[l(`div`,W,[l(`p`,G,i(e.time),1),l(`h3`,K,i(e.title),1)]),s(o.AppRuntimeBadge,{label:e.tone===`live`?`实时`:`记录`,tone:e.tone===`live`?`success`:`neutral`},null,8,[`label`,`tone`])]),l(`p`,q,i(e.summary),1)]))),128))]))]),l(`aside`,J,[n[5]||=l(`div`,null,[l(`p`,{class:`text-[11px] uppercase tracking-[0.2em] text-(--dashboard-accent)`},` Checklist `),l(`h3`,{class:`mt-1 font-semibold`},` 发布检查 `)],-1),l(`ul`,Y,[(d(!0),y(m,null,a(r.checklist,e=>(d(),y(`li`,{key:e,class:`rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 py-2`},i(e),1))),128))])])])}var Z=w(N,[[`render`,X]]),Q={dev:`开发`,build:`构建`,analyze:`分析`},re={dev:`info`,build:`success`,analyze:`warning`},ie=[{value:`all`,label:`全部命令`},{value:`dev`,label:Q.dev},{value:`build`,label:Q.build},{value:`analyze`,label:Q.analyze}];function ae(e){let t=r(``),n=r(`all`),i=r(null),a=r(null),s=r(null),c=null,l=u(()=>{let r=t.value.trim().toLowerCase();return e.commands.filter(e=>n.value!==`all`&&e.category!==n.value?!1:!r||[e.label,e.command,e.note,Q[e.category]].join(` `).toLowerCase().includes(r))}),d=u(()=>l.value.find(e=>e.command===i.value)??l.value[0]??null),p=u(()=>{let t=e.commands.length;return`匹配 ${l.value.length} / ${t} 条 · ${n.value===`all`?`全部`:Q[n.value]}`});function m(){a.value=null,s.value=null}function h(){c&&clearTimeout(c),c=setTimeout(()=>{m(),c=null},1800)}async function g(e){try{await E(e),a.value=e,s.value=null}catch{a.value=null,s.value=e}h()}return o(l,e=>{e.some(e=>e.command===i.value)||(i.value=e[0]?.command??null)},{immediate:!0}),f(()=>{c&&clearTimeout(c)}),{categoryFilter:n,categoryLabels:Q,categoryOptions:ie,categoryTones:re,commandSummary:p,copiedCommand:a,copyCommand:g,failedCommand:s,filteredCommands:l,searchQuery:t,selectedCommand:d,selectedCommandValue:i}}var oe=t({__name:`WorkspaceCommandCenter`,props:{commands:{}},setup(e,{expose:t}){t();let n=e,{categoryFilter:r,categoryLabels:i,categoryOptions:a,categoryTones:o,commandSummary:s,copiedCommand:c,copyCommand:l,failedCommand:u,filteredCommands:d,searchQuery:f,selectedCommand:p,selectedCommandValue:m}=ae(n),h={props:n,categoryFilter:r,categoryLabels:i,categoryOptions:a,categoryTones:o,commandSummary:s,copiedCommand:c,copyCommand:l,failedCommand:u,filteredCommands:d,searchQuery:f,selectedCommand:p,selectedCommandValue:m,AppEmptyState:D,AppRuntimeBadge:O,DashboardIcon:x};return Object.defineProperty(h,"__isScriptSetup",{enumerable:!1,value:!0}),h}}),se={class:`grid h-full min-h-0 gap-3 xl:grid-cols-[minmax(0,1fr)_minmax(15rem,0.72fr)]`},ce={class:`grid min-h-0 grid-rows-[auto_minmax(0,1fr)] gap-3 overflow-hidden`},le={class:`grid gap-3 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-3`},ue={class:`grid gap-2 md:grid-cols-[minmax(0,1fr)_11rem]`},de={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},fe={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},pe=[`value`],me={class:`text-xs text-(--dashboard-text-soft)`},he={key:1,class:`grid min-h-0 gap-2 overflow-y-auto pr-1`},ge={class:`flex flex-col gap-3 md:flex-row md:items-center md:justify-between`},_e=[`onClick`],ve={class:`flex flex-wrap items-center gap-2`},ye={class:`font-medium text-(--dashboard-text)`},be={class:`mt-1 block text-sm leading-6 text-(--dashboard-text-muted)`},xe=[`aria-label`,`title`,`onClick`],Se={class:`h-4.5 w-4.5`},Ce={class:`grid min-h-0 grid-rows-[auto_minmax(0,1fr)] gap-3 overflow-hidden rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-4`},we={class:`flex items-start justify-between gap-3`},Te={key:1,class:`grid min-h-0 content-start gap-3 overflow-y-auto`},Ee={class:`font-medium`},De={class:`mt-1 text-sm leading-6 text-(--dashboard-text-muted)`},Oe={class:`block overflow-x-auto rounded-md bg-slate-950 px-3 py-3 font-mono text-xs leading-6 text-slate-100 dark:bg-slate-900`},ke={class:`h-4.5 w-4.5`};function Ae(t,r,o,u,f,h){return d(),y(`div`,se,[l(`div`,ce,[l(`div`,le,[l(`div`,ue,[l(`label`,de,[r[3]||=v(` 搜索命令 `,-1),e(l(`input`,{"onUpdate:modelValue":r[0]||=e=>u.searchQuery=e,type:`text`,placeholder:`搜索名称、命令或说明`,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 text-sm normal-case tracking-normal text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`},null,512),[[g,u.searchQuery]])]),l(`label`,fe,[r[4]||=v(` 分类 `,-1),e(l(`select`,{"onUpdate:modelValue":r[1]||=e=>u.categoryFilter=e,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-2.5 text-sm normal-case tracking-normal text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`},[(d(!0),y(m,null,a(u.categoryOptions,e=>(d(),y(`option`,{key:e.value,value:e.value},i(e.label),9,pe))),128))],512),[[p,u.categoryFilter]])])]),l(`p`,me,i(u.commandSummary),1)]),u.filteredCommands.length===0?(d(),c(u.AppEmptyState,{key:0,compact:``},{default:b(()=>[...r[5]||=[v(` 当前筛选条件下没有匹配命令。 `,-1)]]),_:1})):(d(),y(`div`,he,[(d(!0),y(m,null,a(u.filteredCommands,e=>(d(),y(`article`,{key:e.command,class:n([`rounded-md border bg-(--dashboard-panel-muted) p-3 transition`,u.selectedCommand?.command===e.command?`border-(--dashboard-border-strong) bg-(--dashboard-panel)`:`border-(--dashboard-border)`])},[l(`div`,ge,[l(`button`,{type:`button`,class:`min-w-0 text-left focus:outline-none`,onClick:t=>u.selectedCommandValue=e.command},[l(`span`,ve,[l(`span`,ye,i(e.label),1),s(u.AppRuntimeBadge,{label:u.categoryLabels[e.category],tone:u.categoryTones[e.category]},null,8,[`label`,`tone`])]),l(`span`,be,i(e.note),1)],8,_e),l(`button`,{class:`inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) text-(--dashboard-text-soft) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none`,type:`button`,"aria-label":`复制命令 ${e.command}`,title:u.copiedCommand===e.command?`已复制`:u.failedCommand===e.command?`复制失败`:`复制命令`,onClick:t=>u.copyCommand(e.command)},[l(`span`,Se,[s(u.DashboardIcon,{name:`metric-copy`})])],8,xe)])],2))),128))]))]),l(`aside`,Ce,[l(`div`,we,[r[6]||=l(`div`,null,[l(`p`,{class:`text-[11px] uppercase tracking-[0.2em] text-(--dashboard-accent)`},` Selected `),l(`h3`,{class:`mt-1 text-base font-semibold`},` 当前命令 `)],-1),u.selectedCommand?(d(),c(u.AppRuntimeBadge,{key:0,label:u.categoryLabels[u.selectedCommand.category],tone:u.categoryTones[u.selectedCommand.category]},null,8,[`label`,`tone`])):_(``,!0)]),u.selectedCommand?(d(),y(`div`,Te,[l(`div`,null,[l(`h4`,Ee,i(u.selectedCommand.label),1),l(`p`,De,i(u.selectedCommand.note),1)]),l(`code`,Oe,i(u.selectedCommand.command),1),l(`button`,{type:`button`,class:`inline-flex h-9 w-full items-center justify-center gap-2 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 text-sm font-medium text-(--dashboard-text) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none`,onClick:r[2]||=e=>u.copyCommand(u.selectedCommand.command)},[l(`span`,ke,[s(u.DashboardIcon,{name:`metric-copy`})]),v(` `+i(u.copiedCommand===u.selectedCommand.command?`已复制`:u.failedCommand===u.selectedCommand.command?`复制失败`:`复制命令`),1)])])):(d(),c(u.AppEmptyState,{key:0,compact:``},{default:b(()=>[...r[7]||=[v(` 选择左侧命令后查看复制内容。 `,-1)]]),_:1}))])])}var je=w(oe,[[`render`,Ae]]),Me=t({__name:`WorkspaceReadinessPanel`,props:{summary:{}},setup(e,{expose:t}){t();let n=e,i=r(``),a=null,o=u(()=>n.summary.status===`attention`?`warning`:n.summary.status===`pending`?`info`:`success`);function s(e){return e===`attention`?`border-amber-400/60 bg-(--dashboard-panel-muted)`:e===`pending`?`border-(--dashboard-border-strong) bg-(--dashboard-panel-muted)`:`border-emerald-400/60 bg-(--dashboard-panel-muted)`}function c(e){i.value=e,a&&clearTimeout(a),a=setTimeout(()=>{i.value=``,a=null},1800)}async function l(){try{await E(n.summary.report),c(`摘要已复制`)}catch{c(`复制失败`)}}f(()=>{a&&clearTimeout(a)});let d={props:n,copyStatus:i,get copyStatusTimer(){return a},set copyStatusTimer(e){a=e},badgeTone:o,getStatusClassName:s,setCopyStatus:c,copyReadinessReport:l,get RouterLink(){return h},AppMetricTile:k,AppRuntimeBadge:O,AppSurfaceCard:T,DashboardIcon:x};return Object.defineProperty(d,"__isScriptSetup",{enumerable:!1,value:!0}),d}}),Ne={class:`flex shrink-0 items-center gap-2`},Pe={key:0,class:`text-xs font-medium text-(--dashboard-accent)`},Fe={class:`h-3.5 w-3.5`},Ie={class:`grid gap-3`},Le={class:`flex items-start justify-between gap-3`},Re={class:`min-w-0`},ze={class:`text-sm font-semibold text-(--dashboard-text)`},Be={class:`mt-1 text-xs leading-5 text-(--dashboard-text-muted)`},Ve={class:`grid grid-cols-2 gap-2 2xl:grid-cols-3`},He={class:`grid gap-2 sm:grid-cols-2`},Ue={class:`flex items-start justify-between gap-3`},We={class:`min-w-0`},Ge={class:`text-sm font-medium text-(--dashboard-text)`},Ke={class:`mt-1 line-clamp-2 text-xs leading-5 text-(--dashboard-text-muted)`},qe={class:`shrink-0 text-xs font-semibold text-(--dashboard-accent)`},Je={key:0,class:`rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-3 py-2.5`},Ye={class:`mt-2 flex items-start justify-between gap-3`},Xe={class:`min-w-0`},Ze={class:`truncate text-sm font-medium text-(--dashboard-text)`},Qe={class:`mt-1 truncate text-xs text-(--dashboard-text-soft)`},$e={class:`h-4 w-4 shrink-0 text-(--dashboard-accent)`};function et(e,t,r,o,u,f){return d(),c(o.AppSurfaceCard,{eyebrow:`Readiness`,title:`工作区摘要`,"icon-name":`metric-ready`},{header:b(()=>[l(`div`,Ne,[o.copyStatus?(d(),y(`span`,Pe,i(o.copyStatus),1)):_(``,!0),l(`button`,{type:`button`,class:`inline-flex h-8 items-center gap-1.5 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-3 text-xs text-(--dashboard-text-soft) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none`,onClick:o.copyReadinessReport},[l(`span`,Fe,[s(o.DashboardIcon,{name:`metric-copy`})]),t[0]||=v(` 复制 `,-1)])])]),default:b(()=>[l(`div`,Ie,[l(`div`,{class:n([`rounded-md border px-3 py-2.5`,o.getStatusClassName(r.summary.status)])},[l(`div`,Le,[l(`div`,Re,[l(`p`,ze,i(r.summary.statusLabel),1),l(`p`,Be,i(r.summary.statusDetail),1)]),s(o.AppRuntimeBadge,{label:r.summary.statusLabel,tone:o.badgeTone},null,8,[`label`,`tone`])])],2),l(`div`,Ve,[(d(!0),y(m,null,a(r.summary.metrics,e=>(d(),c(o.AppMetricTile,{key:e.label,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),l(`div`,He,[(d(!0),y(m,null,a(r.summary.actions,e=>(d(),c(o.RouterLink,{key:e.id,to:e.to,class:`rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-3 py-2.5 transition hover:border-(--dashboard-border-strong) hover:bg-(--dashboard-panel)`},{default:b(()=>[l(`div`,Ue,[l(`div`,We,[l(`p`,Ge,i(e.title),1),l(`p`,Ke,i(e.detail),1)]),l(`span`,qe,i(e.label),1)])]),_:2},1032,[`to`]))),128))]),r.summary.latestEvent?(d(),y(`div`,Je,[t[1]||=l(`p`,{class:`text-[11px] uppercase tracking-[0.2em] text-(--dashboard-accent)`},` Latest Event `,-1),l(`div`,Ye,[l(`div`,Xe,[l(`p`,Ze,i(r.summary.latestEvent.title),1),l(`p`,Qe,i(r.summary.latestEvent.timestamp)+` · `+i(r.summary.latestEvent.levelLabel),1)]),l(`span`,$e,[s(o.DashboardIcon,{name:`metric-time`})])])])):_(``,!0)])]),_:1})}var tt=w(Me,[[`render`,et]]);function nt(e){return e?.packages.flatMap(e=>e.files).reduce((e,t)=>e+(t.size??0),0)??0}function rt(e){return e?.modules.filter(e=>e.packages.length>1).length??0}function it(e){return e.filter(e=>e.level===`warning`).length}function at(e){return e.filter(e=>e.level===`error`).length}function ot(e){return e.result?e.errorCount>0||e.warningCount>0?`attention`:`ready`:`pending`}function st(e){return e===`pending`?`等待分析数据`:e===`attention`?`需要跟进`:`可以继续分析`}function ct(e){return e.status===`pending`?`当前还没有 CLI 注入的 analyze payload,可以先运行分析命令。`:e.status===`attention`?`已载入 ${e.packageCount} 个包,事件流包含 ${e.errorCount} 个错误和 ${e.warningCount} 个警告。`:`已载入 ${e.packageCount} 个包与 ${e.moduleCount} 个模块,当前事件流没有错误或警告。`}function lt(e){return e===`pending`?[{id:`run-analyze`,title:`先运行分析命令`,detail:`从右侧命令中心复制 analyze 命令,获取真实包体数据。`,to:`/`,label:`查看命令`},{id:`inspect-activity`,title:`检查事件链路`,detail:`确认 CLI 注入和 runtime event 是否按预期进入 dashboard。`,to:`/activity`,label:`活动流`}]:e===`attention`?[{id:`open-activity`,title:`先处理异常事件`,detail:`进入活动流查看错误、警告和慢事件摘要。`,to:`/activity`,label:`看事件`},{id:`open-review`,title:`整理 PR 风险`,detail:`进入评审页复制风险清单,和代码改动一起处理。`,to:`/analyze?tab=review`,label:`评审清单`}]:[{id:`open-overview`,title:`查看全局摘要`,detail:`进入分析视图核对包体、预算和历史趋势。`,to:`/analyze`,label:`分析视图`},{id:`open-source`,title:`对比源码产物`,detail:`继续检查源码模块与最终产物之间的体积差异。`,to:`/analyze?tab=source`,label:`源码对比`}]}function ut(e){let t=e[0];if(t)return{title:t.title,detail:t.detail,levelLabel:te(t.level),timestamp:t.timestamp}}function dt(e){return[`# dashboard 工作区摘要`,``,`状态:${e.statusLabel}`,`说明:${e.statusDetail}`,``,`## 指标`,...e.metrics.map(e=>`- ${e.label}:${e.value}`),``,`## 建议动作`,...e.actions.map(e=>`- ${e.title}:${e.detail}`),``,`## 最新事件`,e.latestEvent?`- [${e.latestEvent.levelLabel}] ${e.latestEvent.title}(${e.latestEvent.timestamp}):${e.latestEvent.detail}`:`- 暂无运行事件`,``].join(`
|
|
2
2
|
`)}function ft(e){let t=e.result?.packages.length??0,n=e.result?.modules.length??0,r=rt(e.result),i=nt(e.result),a=it(e.runtimeEvents),o=at(e.runtimeEvents),s=ot({result:e.result,errorCount:o,warningCount:a}),c={status:s,statusLabel:st(s),statusDetail:ct({status:s,packageCount:t,moduleCount:n,errorCount:o,warningCount:a}),metrics:[{label:`包数量`,value:t},{label:`模块数`,value:n},{label:`重复模块`,value:r},{label:`产物体积`,value:e.result?ee(i):`未载入`},{label:`同步次数`,value:e.updateCount},{label:`诊断项`,value:e.diagnostics.length}],actions:lt(s),latestEvent:ut(e.runtimeEvents)};return{...c,report:dt(c)}}var $=t({__name:`index`,setup(e,{expose:t}){t();let{activityItems:n,commandItems:r,diagnostics:i,lastUpdatedAt:a,resultRef:o,runtimeEvents:s,signals:c,updateCount:l}=ne(),d={activityItems:n,commandItems:r,diagnostics:i,lastUpdatedAt:a,resultRef:o,runtimeEvents:s,signals:c,updateCount:l,readinessSummary:u(()=>ft({result:o.value,runtimeEvents:s.value,diagnostics:i.value,updateCount:l.value,lastUpdatedAt:a.value})),get RouterLink(){return h},AppIconFeatureCard:j,AppInsetPanel:A,AppSectionHeading:M,AppSurfaceCard:T,DashboardIcon:x,WorkspaceActivityTimeline:Z,WorkspaceCommandCenter:je,WorkspaceReadinessPanel:tt,get releaseChecklist(){return C},get workspaceNavigation(){return S}};return Object.defineProperty(d,"__isScriptSetup",{enumerable:!1,value:!0}),d}}),pt={class:`grid h-full min-h-0 gap-3 overflow-hidden xl:grid-cols-[minmax(0,0.92fr)_minmax(24rem,0.72fr)]`},mt={class:`grid h-full min-h-0 grid-rows-[auto_auto_minmax(0,1fr)] gap-3 overflow-hidden`},ht={class:`grid gap-2 text-sm md:grid-cols-2`},gt={class:`inline-flex min-w-0 items-center gap-2`},_t={class:`h-4.5 w-4.5 shrink-0 text-(--dashboard-accent)`},vt={class:`truncate`},yt={class:`shrink-0 text-(--dashboard-text)`},bt={class:`grid gap-3 sm:grid-cols-2 2xl:grid-cols-4`},xt={class:`grid min-h-0 grid-rows-[auto_minmax(0,1fr)] gap-3 overflow-hidden`},St={class:`mt-4 h-full min-h-0`};function Ct(e,t,n,r,o,u){return d(),y(`div`,pt,[s(r.AppSurfaceCard,{eyebrow:`Status`,title:`当前工作区`,"icon-name":`status-live`,tone:`strong`,padding:`md`,"content-class":`min-h-0 overflow-hidden`},{default:b(()=>[l(`div`,mt,[s(r.AppInsetPanel,null,{default:b(()=>[l(`ul`,ht,[(d(!0),y(m,null,a(r.signals,e=>(d(),y(`li`,{key:e.label,class:`flex items-center justify-between gap-3 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 py-3`},[l(`span`,gt,[l(`span`,_t,[s(r.DashboardIcon,{name:e.iconName},null,8,[`name`])]),l(`span`,vt,i(e.label),1)]),l(`strong`,yt,i(e.value),1)]))),128))])]),_:1}),l(`div`,bt,[(d(!0),y(m,null,a(r.workspaceNavigation,e=>(d(),c(r.RouterLink,{key:e.to,to:e.to},{default:b(()=>[s(r.AppIconFeatureCard,{"icon-name":e.iconName,title:e.label,interactive:``},null,8,[`icon-name`,`title`])]),_:2},1032,[`to`]))),128))]),s(r.WorkspaceActivityTimeline,{items:r.activityItems,checklist:r.releaseChecklist},null,8,[`items`,`checklist`])])]),_:1}),l(`section`,xt,[s(r.WorkspaceReadinessPanel,{summary:r.readinessSummary},null,8,[`summary`]),s(r.AppSurfaceCard,{tone:`default`,padding:`md`,"content-class":`min-h-0 overflow-hidden`},{default:b(()=>[s(r.AppSectionHeading,{eyebrow:`Commands`,title:`常用操作`}),l(`div`,St,[s(r.WorkspaceCommandCenter,{commands:r.commandItems},null,8,[`commands`])])]),_:1})])])}var wt=w($,[[`render`,Ct]]);export{wt as default};
|
package/dist/assets/tokens.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,C as t,D as n,G as r,H as i,J as a,N as o,R as s,S as c,_ as l,g as u,h as d,j as f,k as p,l as m,p as h,q as g,u as _,v,x as y,y as b,z as x}from"./vue.js";import{O as S,g as ee,k as C,v as w,x as T}from"./index.js";import{n as E,t as D}from"./AppEmptyState.js";import{t as O}from"./AppRuntimeBadge.js";import{n as k,t as A}from"./AppSectionHeading.js";var j=t({__name:`AppSurfaceSampleCard`,props:{label:{},tone:{}},setup(e,{expose:t}){t();function n(e){switch(e){case`strong`:return`border border-(--dashboard-border-strong) bg-(--dashboard-panel-strong) shadow-(--dashboard-shadow)`;case`muted`:return`border border-(--dashboard-border) bg-(--dashboard-panel-muted)`;default:return`border border-(--dashboard-border) bg-(--dashboard-panel)`}}let r={getSurfaceToneClassName:n};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}});function M(e,t,n,i,o,s){return f(),b(`div`,{class:r([`rounded-4.5 p-4`,i.getSurfaceToneClassName(n.tone)])},a(n.label),3)}var N=C(j,[[`render`,M]]);function P(e){let t=i(``),n=i(`all`),r=i(null),a=i(null),o=i(null),c=null,l=d(()=>e.groups.flatMap(e=>e.tokens.map(t=>({...t,key:`${e.title}:${t.name}`,groupTitle:e.title,groupIconName:e.iconName})))),u=d(()=>[{value:`all`,label:`全部分组`},...e.groups.map(e=>({value:e.title,label:e.title}))]),f=d(()=>{let e=t.value.trim().toLowerCase();return l.value.filter(t=>n.value!==`all`&&t.groupTitle!==n.value?!1
|
|
1
|
+
import{B as e,C as t,D as n,G as r,H as i,J as a,N as o,R as s,S as c,_ as l,g as u,h as d,j as f,k as p,l as m,p as h,q as g,u as _,v,x as y,y as b,z as x}from"./vue.js";import{O as S,g as ee,k as C,v as w,x as T}from"./index.js";import{n as E,t as D}from"./AppEmptyState.js";import{t as O}from"./AppRuntimeBadge.js";import{n as k,t as A}from"./AppSectionHeading.js";var j=t({__name:`AppSurfaceSampleCard`,props:{label:{},tone:{}},setup(e,{expose:t}){t();function n(e){switch(e){case`strong`:return`border border-(--dashboard-border-strong) bg-(--dashboard-panel-strong) shadow-(--dashboard-shadow)`;case`muted`:return`border border-(--dashboard-border) bg-(--dashboard-panel-muted)`;default:return`border border-(--dashboard-border) bg-(--dashboard-panel)`}}let r={getSurfaceToneClassName:n};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}});function M(e,t,n,i,o,s){return f(),b(`div`,{class:r([`rounded-4.5 p-4`,i.getSurfaceToneClassName(n.tone)])},a(n.label),3)}var N=C(j,[[`render`,M]]);function P(e){let t=i(``),n=i(`all`),r=i(null),a=i(null),o=i(null),c=null,l=d(()=>e.groups.flatMap(e=>e.tokens.map(t=>({...t,key:`${e.title}:${t.name}`,groupTitle:e.title,groupIconName:e.iconName})))),u=d(()=>[{value:`all`,label:`全部分组`},...e.groups.map(e=>({value:e.title,label:e.title}))]),f=d(()=>{let e=t.value.trim().toLowerCase();return l.value.filter(t=>n.value!==`all`&&t.groupTitle!==n.value?!1:!e||[t.name,t.sample,t.groupTitle].join(` `).toLowerCase().includes(e))}),m=d(()=>f.value.find(e=>e.key===r.value)??f.value[0]??null),h=d(()=>{let e=n.value===`all`?`全部`:n.value;return`匹配 ${f.value.length} / ${l.value.length} 个令牌 · ${e}`}),g=d(()=>({background:m.value?.sample??`transparent`}));function _(){a.value=null,o.value=null}function v(){c&&clearTimeout(c),c=setTimeout(()=>{_(),c=null},1800)}async function y(e){try{await E(e),a.value=e,o.value=null}catch{a.value=null,o.value=e}v()}return s(f,e=>{e.some(e=>e.key===r.value)||(r.value=e[0]?.key??null)},{immediate:!0}),p(()=>{c&&clearTimeout(c)}),{copiedToken:a,copyToken:y,failedToken:o,filteredTokens:f,groupFilter:n,groupOptions:u,searchQuery:t,selectedSampleStyle:g,selectedToken:m,selectedTokenKey:r,tokenSummary:h}}var F=t({__name:`TokenInspector`,props:{groups:{}},setup(e,{expose:t}){t();let n=e,{copiedToken:r,copyToken:i,failedToken:a,filteredTokens:o,groupFilter:s,groupOptions:c,searchQuery:l,selectedSampleStyle:u,selectedToken:d,selectedTokenKey:f,tokenSummary:p}=P(n),m={props:n,copiedToken:r,copyToken:i,failedToken:a,filteredTokens:o,groupFilter:s,groupOptions:c,searchQuery:l,selectedSampleStyle:u,selectedToken:d,selectedTokenKey:f,tokenSummary:p,AppEmptyState:D,AppRuntimeBadge:O,DashboardIcon:S};return Object.defineProperty(m,"__isScriptSetup",{enumerable:!1,value:!0}),m}}),I={class:`grid h-full min-h-0 gap-3 xl:grid-cols-[minmax(0,1fr)_minmax(16rem,0.62fr)]`},L={class:`grid min-h-0 grid-rows-[auto_minmax(0,1fr)] gap-3 overflow-hidden`},R={class:`grid gap-3 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-3`},z={class:`grid gap-2 md:grid-cols-[minmax(0,1fr)_11rem]`},B={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},V={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},H=[`value`],te={class:`text-xs text-(--dashboard-text-soft)`},U={key:1,class:`grid min-h-0 gap-2 overflow-y-auto pr-1`},W=[`onClick`],G={class:`flex items-center justify-between gap-3`},K={class:`flex min-w-0 items-center gap-2`},q={class:`h-4.5 w-4.5 shrink-0 text-(--dashboard-accent)`},J={class:`truncate text-xs text-(--dashboard-text-soft)`},Y={class:`mt-2 flex items-center justify-between gap-3`},X={class:`truncate text-xs text-(--dashboard-text-muted)`},Z={class:`grid min-h-0 grid-rows-[auto_minmax(0,1fr)] gap-3 overflow-hidden rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-4`},Q={class:`flex items-start justify-between gap-3`},ne={key:1,class:`grid min-h-0 content-start gap-3 overflow-y-auto`},re={class:`grid gap-2`},ie={class:`rounded-md bg-slate-950 px-3 py-2 font-mono text-xs leading-6 text-slate-100 dark:bg-slate-900`},ae={class:`rounded-md bg-slate-950 px-3 py-2 font-mono text-xs leading-6 text-slate-100 dark:bg-slate-900`},oe={class:`grid gap-2 sm:grid-cols-2 xl:grid-cols-1 2xl:grid-cols-2`};function $(t,n,i,s,d,p){return f(),b(`div`,I,[u(`div`,L,[u(`div`,R,[u(`div`,z,[u(`label`,B,[n[4]||=y(` 搜索令牌 `,-1),e(u(`input`,{"onUpdate:modelValue":n[0]||=e=>s.searchQuery=e,type:`text`,placeholder:`搜索变量名、分组或 CSS 值`,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 text-sm normal-case tracking-normal text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`},null,512),[[_,s.searchQuery]])]),u(`label`,V,[n[5]||=y(` 分组 `,-1),e(u(`select`,{"onUpdate:modelValue":n[1]||=e=>s.groupFilter=e,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-2.5 text-sm normal-case tracking-normal text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`},[(f(!0),b(h,null,o(s.groupOptions,e=>(f(),b(`option`,{key:e.value,value:e.value},a(e.label),9,H))),128))],512),[[m,s.groupFilter]])])]),u(`p`,te,a(s.tokenSummary),1)]),s.filteredTokens.length===0?(f(),l(s.AppEmptyState,{key:0,compact:``},{default:x(()=>[...n[6]||=[y(` 当前筛选条件下没有匹配令牌。 `,-1)]]),_:1})):(f(),b(`div`,U,[(f(!0),b(h,null,o(s.filteredTokens,e=>(f(),b(`button`,{key:e.key,type:`button`,class:r([`rounded-md border bg-(--dashboard-panel-muted) p-3 text-left transition focus:outline-none`,s.selectedToken?.key===e.key?`border-(--dashboard-border-strong) bg-(--dashboard-panel)`:`border-(--dashboard-border)`]),onClick:t=>s.selectedTokenKey=e.key},[u(`span`,G,[u(`span`,K,[u(`span`,q,[c(s.DashboardIcon,{name:e.groupIconName},null,8,[`name`])]),u(`code`,J,a(e.name),1)]),u(`span`,{class:`h-8 w-14 shrink-0 rounded-md border border-(--dashboard-border)`,style:g({background:e.sample})},null,4)]),u(`span`,Y,[c(s.AppRuntimeBadge,{label:e.groupTitle,tone:`info`},null,8,[`label`]),u(`span`,X,a(e.sample),1)])],10,W))),128))]))]),u(`aside`,Z,[u(`div`,Q,[n[7]||=u(`div`,null,[u(`p`,{class:`text-[11px] uppercase tracking-[0.2em] text-(--dashboard-accent)`},` Selected `),u(`h3`,{class:`mt-1 text-base font-semibold`},` 当前令牌 `)],-1),s.selectedToken?(f(),l(s.AppRuntimeBadge,{key:0,label:s.selectedToken.groupTitle,tone:`info`},null,8,[`label`])):v(``,!0)]),s.selectedToken?(f(),b(`div`,ne,[u(`div`,{class:`min-h-28 rounded-md border border-(--dashboard-border) shadow-inner`,style:g(s.selectedSampleStyle)},null,4),u(`div`,re,[u(`code`,ie,a(s.selectedToken.name),1),u(`code`,ae,a(s.selectedToken.sample),1)]),u(`div`,oe,[u(`button`,{type:`button`,class:`inline-flex h-9 items-center justify-center gap-2 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 text-sm font-medium text-(--dashboard-text) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none`,onClick:n[2]||=e=>s.copyToken(s.selectedToken.name)},` 复制变量名 `),u(`button`,{type:`button`,class:`inline-flex h-9 items-center justify-center gap-2 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 text-sm font-medium text-(--dashboard-text) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none`,onClick:n[3]||=e=>s.copyToken(s.selectedToken.sample)},a(s.copiedToken===s.selectedToken.sample?`已复制`:s.failedToken===s.selectedToken.sample?`复制失败`:`复制 CSS 值`),1)])])):(f(),l(s.AppEmptyState,{key:0,compact:``},{default:x(()=>[...n[8]||=[y(` 选择左侧令牌后查看 CSS 变量详情。 `,-1)]]),_:1}))])])}var se=C(F,[[`render`,$]]),ce=t({__name:`tokens`,setup(e,{expose:t}){t();let n={surfaceSamples:[{label:`Default surface`,tone:`default`},{label:`Strong surface`,tone:`strong`},{label:`Muted surface`,tone:`muted`}],themeFeatureItems:w.map(e=>({iconName:e.iconName,title:e.label,meta:e.value})),AppIconFeatureCard:k,AppSectionHeading:A,AppSurfaceCard:T,AppSurfaceSampleCard:N,TokenInspector:se,get tokenGroups(){return ee}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),le={class:`grid h-full min-h-0 grid-rows-[auto_minmax(0,1fr)_auto] gap-3 overflow-hidden`},ue={class:`mt-4 grid gap-3 lg:grid-cols-3`},de={class:`grid min-h-0 overflow-hidden`},fe={class:`grid gap-3 xl:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]`},pe={class:`grid gap-3 md:grid-cols-3`};function me(e,t,r,i,a,s){return f(),b(`div`,le,[c(i.AppSurfaceCard,{tone:`strong`,padding:`md`},{default:x(()=>[c(i.AppSectionHeading,{eyebrow:`System`,title:`设计令牌`}),u(`div`,ue,[(f(!0),b(h,null,o(i.themeFeatureItems,e=>(f(),l(i.AppIconFeatureCard,n({key:e.meta},{ref_for:!0},e),null,16))),128))])]),_:1}),u(`section`,de,[c(i.AppSurfaceCard,{eyebrow:`Tokens`,title:`令牌检查器`,"icon-name":`token-color`,padding:`md`,"content-class":`min-h-0 overflow-hidden`},{default:x(()=>[c(i.TokenInspector,{groups:i.tokenGroups},null,8,[`groups`])]),_:1})]),u(`section`,fe,[c(i.AppSurfaceCard,{eyebrow:`Components`,title:`标准表面`,"icon-name":`token-surface`},{default:x(()=>[u(`div`,pe,[(f(),b(h,null,o(i.surfaceSamples,e=>c(i.AppSurfaceSampleCard,n({key:e.label},{ref_for:!0},e),null,16)),64))])]),_:1}),c(i.AppSurfaceCard,{eyebrow:`Typography`,title:`文本层级`,"icon-name":`token-type`},{default:x(()=>[...t[0]||=[u(`div`,{class:`space-y-3`},[u(`p`,{class:`text-2xl font-semibold tracking-tight`},` IBM Plex Sans Console `),u(`p`,{class:`text-sm uppercase tracking-[0.24em] text-(--dashboard-text-soft)`},` uppercased meta labels for control surfaces `)],-1)]]),_:1})])])}var he=C(ce,[[`render`,me]]);export{he as default};
|