@weapp-vite/dashboard 7.2.2 → 7.4.0

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.
@@ -1 +1 @@
1
- import{B as e,C as t,N as n,X as r,_ as i,b as a,g as o,h as s,j as c,p as l,q as u,t as d,v as f,x as p,y as m}from"./vue.js";import{D as ee,E as h,f as g,i as _,r as v,t as y}from"./index.js";var b=t({__name:`DevtoolsMetricStrip`,props:{items:{}},setup(e,{expose:t}){t();let n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),x={class:`grid overflow-hidden rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) sm:grid-cols-2 xl:grid-cols-4`},S={class:`text-[11px] font-medium uppercase tracking-[0.12em] text-(--dashboard-text-soft)`},C={class:`mt-1 truncate font-mono text-lg font-semibold tracking-tight text-(--dashboard-text)`},w={class:`mt-0.5 truncate text-xs text-(--dashboard-text-muted)`};function T(e,t,i,a,s,d){return c(),m(`dl`,x,[(c(!0),m(l,null,n(i.items,(e,t)=>(c(),m(`div`,{key:e.label,class:u([`min-w-0 px-4 py-3`,t>0?`border-t border-(--dashboard-border) sm:border-t-0 sm:border-l`:``])},[o(`dt`,S,r(e.label),1),o(`dd`,C,r(e.value),1),o(`p`,w,r(e.detail),1)],2))),128))])}var E=h(b,[[`render`,T]]),D=t({__name:`DevtoolsPackageList`,props:{rows:{}},setup(e,{expose:t}){t();let n={get RouterLink(){return d}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),O={class:`min-w-0 overflow-hidden rounded-md border border-(--dashboard-border) bg-(--dashboard-panel)`},k={class:`flex min-h-11 min-w-0 items-center justify-between gap-2 border-b border-(--dashboard-border) px-3.5 py-2`},A={class:`flex shrink-0 items-center gap-3`},j={key:0,class:`divide-y divide-(--dashboard-border)`},M={class:`min-w-0`},N={class:`block truncate font-medium text-(--dashboard-text)`},P={class:`mt-0.5 block truncate font-mono text-[11px] text-(--dashboard-text-soft)`},F={class:`text-right font-mono text-xs text-(--dashboard-text)`},I={class:`hidden text-right text-xs text-(--dashboard-text-soft) sm:block`},L={key:1,class:`px-4 py-10 text-center`};function R(t,s,u,d,f,ee){return c(),m(`section`,O,[o(`header`,k,[s[2]||=o(`div`,{class:`min-w-0`},[o(`h2`,{class:`text-sm font-semibold text-(--dashboard-text)`},` Packages `),o(`p`,{class:`truncate text-[11px] text-(--dashboard-text-soft)`},` 当前构建产物按体积排序 `)],-1),o(`div`,A,[p(d.RouterLink,{class:`text-xs font-medium text-(--dashboard-accent) hover:underline`,to:`/analyze?tab=graph`},{default:e(()=>[...s[0]||=[a(` 依赖图 `,-1)]]),_:1}),p(d.RouterLink,{class:`text-xs font-medium text-(--dashboard-accent) hover:underline`,to:`/analyze?tab=packages`},{default:e(()=>[...s[1]||=[a(` 查看全部 `,-1)]]),_:1})])]),u.rows.length?(c(),m(`div`,j,[(c(!0),m(l,null,n(u.rows,t=>(c(),i(d.RouterLink,{key:t.id,class:`grid grid-cols-[minmax(0,1fr)_5rem] items-center gap-2 px-3.5 py-2.5 text-sm transition hover:bg-(--dashboard-panel-muted) sm:grid-cols-[minmax(0,1fr)_5.5rem_4rem] sm:gap-3`,to:`/analyze?tab=packages`},{default:e(()=>[o(`span`,M,[o(`span`,N,r(t.label),1),o(`span`,P,r(t.id)+` · `+r(t.type),1)]),o(`span`,F,r(t.size),1),o(`span`,I,r(t.fileCount)+` files`,1)]),_:2},1024))),128))])):(c(),m(`div`,L,[...s[3]||=[o(`p`,{class:`text-sm font-medium text-(--dashboard-text)`},` 等待构建数据 `,-1),o(`p`,{class:`mt-1 text-xs text-(--dashboard-text-soft)`},` Devframe 连接后将在这里显示主包和分包。 `,-1)]]))])}var z=h(D,[[`render`,R]]),B=t({__name:`DevtoolsRuntimeFeed`,props:{events:{}},setup(e,{expose:t}){t();let n=e;function r(e){return e===`error`?`bg-red-500`:e===`warning`?`bg-amber-500`:e===`success`?`bg-emerald-500`:`bg-sky-500`}let i={props:n,resolveEventTone:r,get RouterLink(){return d},get cn(){return ee}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),V={class:`min-w-0 overflow-hidden rounded-md border border-(--dashboard-border) bg-(--dashboard-panel)`},te={class:`flex min-h-11 min-w-0 items-center justify-between gap-2 border-b border-(--dashboard-border) px-3.5 py-2`},H={key:0,class:`divide-y divide-(--dashboard-border)`},U={class:`min-w-0`},W={class:`block truncate text-xs font-medium text-(--dashboard-text)`},G={class:`mt-0.5 block truncate text-[11px] text-(--dashboard-text-soft)`},K={class:`font-mono text-[10px] text-(--dashboard-text-soft)`},q={key:1,class:`px-4 py-10 text-center`};function J(t,i,s,d,f,ee){return c(),m(`section`,V,[o(`header`,te,[i[1]||=o(`div`,{class:`min-w-0`},[o(`h2`,{class:`text-sm font-semibold text-(--dashboard-text)`},` Runtime events `),o(`p`,{class:`truncate text-[11px] text-(--dashboard-text-soft)`},` Build、HMR 与诊断的最新状态 `)],-1),p(d.RouterLink,{class:`shrink-0 text-xs font-medium text-(--dashboard-accent) hover:underline`,to:`/activity`},{default:e(()=>[...i[0]||=[a(` 打开事件流 `,-1)]]),_:1})]),d.props.events.length?(c(),m(`ol`,H,[(c(!0),m(l,null,n(d.props.events.slice(0,8),e=>(c(),m(`li`,{key:e.id,class:`grid grid-cols-[0.5rem_minmax(0,1fr)_auto] items-start gap-2.5 px-3.5 py-2.5`},[o(`span`,{class:u(d.cn(`mt-1.5 h-1.5 w-1.5 rounded-full`,d.resolveEventTone(e.level)))},null,2),o(`span`,U,[o(`span`,W,r(e.title),1),o(`span`,G,r(e.detail),1)]),o(`span`,K,r(e.timestamp),1)]))),128))])):(c(),m(`div`,q,[...i[2]||=[o(`p`,{class:`text-sm font-medium text-(--dashboard-text)`},` 暂无运行事件 `,-1),o(`p`,{class:`mt-1 text-xs text-(--dashboard-text-soft)`},` 构建、HMR 和诊断事件会实时出现在这里。 `,-1)]]))])}var Y=h(B,[[`render`,J]]),X=t({__name:`index`,setup(e,{expose:t}){t();let{lastUpdatedAt:n,resultRef:r,runtimeEvents:i,updateCount:a}=y(),o=s(()=>r.value?.packages.reduce((e,t)=>e+t.files.reduce((e,t)=>e+(t.size??0),0),0)??0),c={lastUpdatedAt:n,resultRef:r,runtimeEvents:i,updateCount:a,totalBytes:o,metricItems:s(()=>[{label:`Session`,value:_.value===`connected`?`Connected`:_.value,detail:r.value?`Analyze payload 已同步`:`等待 Devframe 数据`},{label:`Output`,value:g(o.value),detail:`${r.value?.packages.length??0} packages`},{label:`Modules`,value:String(r.value?.modules.length??0),detail:`${r.value?.subPackages.length??0} subpackages`},{label:`Last update`,value:n.value,detail:`${a.value} syncs`}]),packageRows:s(()=>(r.value?.packages??[]).map(e=>({id:e.id,label:e.label,type:e.type,fileCount:e.files.length,bytes:e.files.reduce((e,t)=>e+(t.size??0),0)})).sort((e,t)=>t.bytes-e.bytes).map(e=>({...e,size:g(e.bytes)}))),blockingEvents:s(()=>i.value.filter(e=>e.level===`error`||e.level===`warning`).slice(0,5)),get RouterLink(){return d},DevtoolsMetricStrip:E,DevtoolsPackageList:z,DevtoolsRuntimeFeed:Y,get dashboardConnectionError(){return v}};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}}),Z={class:`grid gap-3`},Q={class:`grid min-h-0 gap-3 xl:grid-cols-[minmax(0,1.15fr)_minmax(21rem,0.85fr)]`},ne={class:`grid min-h-0 gap-3`},re={class:`overflow-hidden rounded-md border border-(--dashboard-border) bg-(--dashboard-panel)`},ie={class:`flex min-h-11 min-w-0 items-center justify-between gap-2 border-b border-(--dashboard-border) px-3.5 py-2`},ae={key:0,class:`border-b border-(--dashboard-border) bg-red-500/8 px-3.5 py-3`},oe={class:`mt-1 break-words font-mono text-[11px] leading-5 text-(--dashboard-text-muted)`},$={key:1,class:`divide-y divide-(--dashboard-border)`},se={class:`flex items-center justify-between gap-3`},ce={class:`truncate text-xs font-medium text-(--dashboard-text)`},le={class:`font-mono text-[10px] uppercase text-(--dashboard-text-soft)`},ue={class:`mt-1 line-clamp-2 text-[11px] leading-5 text-(--dashboard-text-muted)`},de={key:2,class:`flex items-center gap-2.5 px-3.5 py-5`};function fe(t,i,s,u,d,ee){return c(),m(`div`,Z,[p(u.DevtoolsMetricStrip,{items:u.metricItems},null,8,[`items`]),o(`div`,Q,[o(`div`,ne,[p(u.DevtoolsPackageList,{rows:u.packageRows},null,8,[`rows`]),o(`section`,re,[o(`header`,ie,[i[1]||=o(`div`,{class:`min-w-0`},[o(`h2`,{class:`text-sm font-semibold text-(--dashboard-text)`},` Diagnostics `),o(`p`,{class:`truncate text-[11px] text-(--dashboard-text-soft)`},` 当前会话的阻塞项和恢复入口 `)],-1),p(u.RouterLink,{class:`shrink-0 text-xs font-medium text-(--dashboard-accent) hover:underline`,to:`/analyze?tab=diagnostics`},{default:e(()=>[...i[0]||=[a(` 打开诊断 `,-1)]]),_:1})]),u.dashboardConnectionError?(c(),m(`div`,ae,[i[2]||=o(`p`,{class:`text-xs font-semibold text-red-600 dark:text-red-300`},` Devframe connection error `,-1),o(`p`,oe,r(u.dashboardConnectionError.message),1)])):f(``,!0),u.blockingEvents.length?(c(),m(`ul`,$,[(c(!0),m(l,null,n(u.blockingEvents,e=>(c(),m(`li`,{key:e.id,class:`px-3.5 py-2.5`},[o(`div`,se,[o(`p`,ce,r(e.title),1),o(`span`,le,r(e.level),1)]),o(`p`,ue,r(e.detail),1)]))),128))])):u.dashboardConnectionError?f(``,!0):(c(),m(`div`,de,[...i[3]||=[o(`span`,{class:`h-2 w-2 rounded-full bg-emerald-500`},null,-1),o(`span`,null,[o(`span`,{class:`block text-xs font-medium text-(--dashboard-text)`},`No blocking diagnostics`),o(`span`,{class:`mt-0.5 block text-[11px] text-(--dashboard-text-soft)`},`当前连接、构建和运行事件没有错误或警告。`)],-1)]]))])]),p(u.DevtoolsRuntimeFeed,{events:u.runtimeEvents},null,8,[`events`])])])}var pe=h(X,[[`render`,fe]]);export{pe as default};
1
+ import{C as e,J as t,N as n,V as r,Z as i,_ as a,b as o,g as s,h as c,j as l,p as u,t as d,v as f,x as p,y as m}from"./vue.js";import{D as ee,E as h,f as g,i as _,r as v,t as y}from"./index.js";var b=e({__name:`DevtoolsMetricStrip`,props:{items:{}},setup(e,{expose:t}){t();let n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),x={class:`grid overflow-hidden rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) sm:grid-cols-2 xl:grid-cols-4`},S={class:`text-[11px] font-medium uppercase tracking-[0.12em] text-(--dashboard-text-soft)`},C={class:`mt-1 truncate font-mono text-lg font-semibold tracking-tight text-(--dashboard-text)`},w={class:`mt-0.5 truncate text-xs text-(--dashboard-text-muted)`};function T(e,r,a,o,c,d){return l(),m(`dl`,x,[(l(!0),m(u,null,n(a.items,(e,n)=>(l(),m(`div`,{key:e.label,class:t([`min-w-0 px-4 py-3`,n>0?`border-t border-(--dashboard-border) sm:border-t-0 sm:border-l`:``])},[s(`dt`,S,i(e.label),1),s(`dd`,C,i(e.value),1),s(`p`,w,i(e.detail),1)],2))),128))])}var E=h(b,[[`render`,T]]),D=e({__name:`DevtoolsPackageList`,props:{rows:{}},setup(e,{expose:t}){t();let n={get RouterLink(){return d}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),O={class:`min-w-0 overflow-hidden rounded-md border border-(--dashboard-border) bg-(--dashboard-panel)`},k={class:`flex min-h-11 min-w-0 items-center justify-between gap-2 border-b border-(--dashboard-border) px-3.5 py-2`},A={class:`flex shrink-0 items-center gap-3`},j={key:0,class:`divide-y divide-(--dashboard-border)`},M={class:`min-w-0`},N={class:`block truncate font-medium text-(--dashboard-text)`},P={class:`mt-0.5 block truncate font-mono text-[11px] text-(--dashboard-text-soft)`},F={class:`text-right font-mono text-xs text-(--dashboard-text)`},I={class:`hidden text-right text-xs text-(--dashboard-text-soft) sm:block`},L={key:1,class:`px-4 py-10 text-center`};function R(e,t,c,d,f,ee){return l(),m(`section`,O,[s(`header`,k,[t[2]||=s(`div`,{class:`min-w-0`},[s(`h2`,{class:`text-sm font-semibold text-(--dashboard-text)`},` Packages `),s(`p`,{class:`truncate text-[11px] text-(--dashboard-text-soft)`},` 当前构建产物按体积排序 `)],-1),s(`div`,A,[p(d.RouterLink,{class:`text-xs font-medium text-(--dashboard-accent) hover:underline`,to:`/analyze?tab=graph`},{default:r(()=>[...t[0]||=[o(` 依赖图 `,-1)]]),_:1}),p(d.RouterLink,{class:`text-xs font-medium text-(--dashboard-accent) hover:underline`,to:`/analyze?tab=packages`},{default:r(()=>[...t[1]||=[o(` 查看全部 `,-1)]]),_:1})])]),c.rows.length?(l(),m(`div`,j,[(l(!0),m(u,null,n(c.rows,e=>(l(),a(d.RouterLink,{key:e.id,class:`grid grid-cols-[minmax(0,1fr)_5rem] items-center gap-2 px-3.5 py-2.5 text-sm transition hover:bg-(--dashboard-panel-muted) sm:grid-cols-[minmax(0,1fr)_5.5rem_4rem] sm:gap-3`,to:`/analyze?tab=packages`},{default:r(()=>[s(`span`,M,[s(`span`,N,i(e.label),1),s(`span`,P,i(e.id)+` · `+i(e.type),1)]),s(`span`,F,i(e.size),1),s(`span`,I,i(e.fileCount)+` files`,1)]),_:2},1024))),128))])):(l(),m(`div`,L,[...t[3]||=[s(`p`,{class:`text-sm font-medium text-(--dashboard-text)`},` 等待构建数据 `,-1),s(`p`,{class:`mt-1 text-xs text-(--dashboard-text-soft)`},` Devframe 连接后将在这里显示主包和分包。 `,-1)]]))])}var z=h(D,[[`render`,R]]),B=e({__name:`DevtoolsRuntimeFeed`,props:{events:{}},setup(e,{expose:t}){t();let n=e;function r(e){return e===`error`?`bg-red-500`:e===`warning`?`bg-amber-500`:e===`success`?`bg-emerald-500`:`bg-sky-500`}let i={props:n,resolveEventTone:r,get RouterLink(){return d},get cn(){return ee}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),V={class:`min-w-0 overflow-hidden rounded-md border border-(--dashboard-border) bg-(--dashboard-panel)`},te={class:`flex min-h-11 min-w-0 items-center justify-between gap-2 border-b border-(--dashboard-border) px-3.5 py-2`},H={key:0,class:`divide-y divide-(--dashboard-border)`},U={class:`min-w-0`},W={class:`block truncate text-xs font-medium text-(--dashboard-text)`},G={class:`mt-0.5 block truncate text-[11px] text-(--dashboard-text-soft)`},K={class:`font-mono text-[10px] text-(--dashboard-text-soft)`},q={key:1,class:`px-4 py-10 text-center`};function J(e,a,c,d,f,ee){return l(),m(`section`,V,[s(`header`,te,[a[1]||=s(`div`,{class:`min-w-0`},[s(`h2`,{class:`text-sm font-semibold text-(--dashboard-text)`},` Runtime events `),s(`p`,{class:`truncate text-[11px] text-(--dashboard-text-soft)`},` Build、HMR 与诊断的最新状态 `)],-1),p(d.RouterLink,{class:`shrink-0 text-xs font-medium text-(--dashboard-accent) hover:underline`,to:`/activity`},{default:r(()=>[...a[0]||=[o(` 打开事件流 `,-1)]]),_:1})]),d.props.events.length?(l(),m(`ol`,H,[(l(!0),m(u,null,n(d.props.events.slice(0,8),e=>(l(),m(`li`,{key:e.id,class:`grid grid-cols-[0.5rem_minmax(0,1fr)_auto] items-start gap-2.5 px-3.5 py-2.5`},[s(`span`,{class:t(d.cn(`mt-1.5 h-1.5 w-1.5 rounded-full`,d.resolveEventTone(e.level)))},null,2),s(`span`,U,[s(`span`,W,i(e.title),1),s(`span`,G,i(e.detail),1)]),s(`span`,K,i(e.timestamp),1)]))),128))])):(l(),m(`div`,q,[...a[2]||=[s(`p`,{class:`text-sm font-medium text-(--dashboard-text)`},` 暂无运行事件 `,-1),s(`p`,{class:`mt-1 text-xs text-(--dashboard-text-soft)`},` 构建、HMR 和诊断事件会实时出现在这里。 `,-1)]]))])}var Y=h(B,[[`render`,J]]),X=e({__name:`index`,setup(e,{expose:t}){t();let{lastUpdatedAt:n,resultRef:r,runtimeEvents:i,updateCount:a}=y(),o=c(()=>r.value?.packages.reduce((e,t)=>e+t.files.reduce((e,t)=>e+(t.size??0),0),0)??0),s={lastUpdatedAt:n,resultRef:r,runtimeEvents:i,updateCount:a,totalBytes:o,metricItems:c(()=>[{label:`Session`,value:_.value===`connected`?`Connected`:_.value,detail:r.value?`Analyze payload 已同步`:`等待 Devframe 数据`},{label:`Output`,value:g(o.value),detail:`${r.value?.packages.length??0} packages`},{label:`Modules`,value:String(r.value?.modules.length??0),detail:`${r.value?.subPackages.length??0} subpackages`},{label:`Last update`,value:n.value,detail:`${a.value} syncs`}]),packageRows:c(()=>(r.value?.packages??[]).map(e=>({id:e.id,label:e.label,type:e.type,fileCount:e.files.length,bytes:e.files.reduce((e,t)=>e+(t.size??0),0)})).sort((e,t)=>t.bytes-e.bytes).map(e=>({...e,size:g(e.bytes)}))),blockingEvents:c(()=>i.value.filter(e=>e.level===`error`||e.level===`warning`).slice(0,5)),get RouterLink(){return d},DevtoolsMetricStrip:E,DevtoolsPackageList:z,DevtoolsRuntimeFeed:Y,get dashboardConnectionError(){return v}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),Z={class:`grid gap-3`},Q={class:`grid min-h-0 gap-3 xl:grid-cols-[minmax(0,1.15fr)_minmax(21rem,0.85fr)]`},ne={class:`grid min-h-0 gap-3`},re={class:`overflow-hidden rounded-md border border-(--dashboard-border) bg-(--dashboard-panel)`},ie={class:`flex min-h-11 min-w-0 items-center justify-between gap-2 border-b border-(--dashboard-border) px-3.5 py-2`},ae={key:0,class:`border-b border-(--dashboard-border) bg-red-500/8 px-3.5 py-3`},oe={class:`mt-1 break-words font-mono text-[11px] leading-5 text-(--dashboard-text-muted)`},$={key:1,class:`divide-y divide-(--dashboard-border)`},se={class:`flex items-center justify-between gap-3`},ce={class:`truncate text-xs font-medium text-(--dashboard-text)`},le={class:`font-mono text-[10px] uppercase text-(--dashboard-text-soft)`},ue={class:`mt-1 line-clamp-2 text-[11px] leading-5 text-(--dashboard-text-muted)`},de={key:2,class:`flex items-center gap-2.5 px-3.5 py-5`};function fe(e,t,a,c,d,ee){return l(),m(`div`,Z,[p(c.DevtoolsMetricStrip,{items:c.metricItems},null,8,[`items`]),s(`div`,Q,[s(`div`,ne,[p(c.DevtoolsPackageList,{rows:c.packageRows},null,8,[`rows`]),s(`section`,re,[s(`header`,ie,[t[1]||=s(`div`,{class:`min-w-0`},[s(`h2`,{class:`text-sm font-semibold text-(--dashboard-text)`},` Diagnostics `),s(`p`,{class:`truncate text-[11px] text-(--dashboard-text-soft)`},` 当前会话的阻塞项和恢复入口 `)],-1),p(c.RouterLink,{class:`shrink-0 text-xs font-medium text-(--dashboard-accent) hover:underline`,to:`/analyze?tab=diagnostics`},{default:r(()=>[...t[0]||=[o(` 打开诊断 `,-1)]]),_:1})]),c.dashboardConnectionError?(l(),m(`div`,ae,[t[2]||=s(`p`,{class:`text-xs font-semibold text-red-600 dark:text-red-300`},` Devframe connection error `,-1),s(`p`,oe,i(c.dashboardConnectionError.message),1)])):f(``,!0),c.blockingEvents.length?(l(),m(`ul`,$,[(l(!0),m(u,null,n(c.blockingEvents,e=>(l(),m(`li`,{key:e.id,class:`px-3.5 py-2.5`},[s(`div`,se,[s(`p`,ce,i(e.title),1),s(`span`,le,i(e.level),1)]),s(`p`,ue,i(e.detail),1)]))),128))])):c.dashboardConnectionError?f(``,!0):(l(),m(`div`,de,[...t[3]||=[s(`span`,{class:`h-2 w-2 rounded-full bg-emerald-500`},null,-1),s(`span`,null,[s(`span`,{class:`block text-xs font-medium text-(--dashboard-text)`},`No blocking diagnostics`),s(`span`,{class:`mt-0.5 block text-[11px] text-(--dashboard-text-soft)`},`当前连接、构建和运行事件没有错误或警告。`)],-1)]]))])]),p(c.DevtoolsRuntimeFeed,{events:c.runtimeEvents},null,8,[`events`])])])}var pe=h(X,[[`render`,fe]]);export{pe as default};
@@ -1 +1 @@
1
- import{B as e,C as t,D as n,N as r,P as i,U as a,V as o,X as s,Y as c,_ as l,b as u,g as d,h as f,j as p,k as m,p as h,q as g,u as _,v,x as y,y as b,z as ee}from"./vue.js";import{C as x,E as S,S as C,T as w,x as T}from"./index.js";import{c as E,i as D,n as O,t as k}from"./AppEmptyState.js";import{t as A}from"./AppRuntimeBadge.js";var j=t({__name:`AppIconFeatureCard`,props:{iconName:{},title:{},description:{},eyebrow:{},interactive:{type:Boolean},meta:{}},setup(e,{expose:t}){t();let n={get mutedPanelStyles(){return D},DashboardIcon:w};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),M={key:0,class:`text-[11px] uppercase tracking-[0.22em] text-(--dashboard-accent)`},N={class:`flex h-10 w-10 shrink-0 items-center justify-center rounded-md bg-(--dashboard-accent-soft) text-(--dashboard-accent)`},P={class:`h-5 w-5`},F={class:`min-w-0`},I={class:`font-semibold tracking-tight`},L={key:0,class:`mt-1 text-xs uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},R={key:1,class:`mt-2 text-sm leading-6 text-(--dashboard-text-muted)`};function z(e,t,n,r,i,a){return p(),b(`div`,{class:g(r.mutedPanelStyles({interactive:n.interactive}))},[n.eyebrow?(p(),b(`p`,M,s(n.eyebrow),1)):v(``,!0),d(`div`,{class:g(n.eyebrow?`mt-3 flex items-start gap-3`:`flex items-start gap-3`)},[d(`span`,N,[d(`span`,P,[y(r.DashboardIcon,{name:n.iconName},null,8,[`name`])])]),d(`div`,F,[d(`h3`,I,s(n.title),1),n.meta?(p(),b(`p`,L,s(n.meta),1)):v(``,!0),n.description?(p(),b(`p`,R,s(n.description),1)):v(``,!0)])],2)],2)}var B=S(j,[[`render`,z]]),V=t({__name:`AppSectionHeading`,props:{eyebrow:{default:void 0},title:{},description:{default:void 0}},setup(e,{expose:t}){t();let n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),H={class:`flex flex-col gap-2 md:flex-row md:items-end md:justify-between`},U={class:`min-w-0 sm:flex sm:flex-wrap sm:items-baseline sm:gap-x-2.5`},W={key:0,class:`text-[11px] uppercase tracking-[0.28em] text-(--dashboard-accent)`},G={class:`text-xl font-semibold tracking-tight md:text-2xl`},K={key:1,class:`mt-1 w-full text-sm leading-6 text-(--dashboard-text-muted)`};function q(e,t,n,r,a,o){return p(),b(`div`,null,[d(`div`,H,[d(`div`,U,[n.eyebrow?(p(),b(`p`,W,s(n.eyebrow),1)):v(``,!0),d(`h2`,G,s(n.title),1),n.description?(p(),b(`p`,K,s(n.description),1)):v(``,!0)]),i(e.$slots,`aside`)])])}var J=S(V,[[`render`,q]]),Y=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 X(e,t,n,r,i,a){return p(),b(`div`,{class:g([`rounded-4.5 p-4`,r.getSurfaceToneClassName(n.tone)])},s(n.label),3)}var te=S(Y,[[`render`,X]]);function Z(e){let t=a(``),n=a(`all`),r=a(null),i=a(null),o=a(null),s=null,c=f(()=>e.groups.flatMap(e=>e.tokens.map(t=>({...t,key:`${e.title}:${t.name}`,groupTitle:e.title,groupIconName:e.iconName})))),l=f(()=>[{value:`all`,label:`全部分组`},...e.groups.map(e=>({value:e.title,label:e.title}))]),u=f(()=>{let e=t.value.trim().toLowerCase();return c.value.filter(t=>n.value!==`all`&&t.groupTitle!==n.value?!1:!e||[t.name,t.sample,t.groupTitle].join(` `).toLowerCase().includes(e))}),d=f(()=>u.value.find(e=>e.key===r.value)??u.value[0]??null),p=f(()=>{let e=n.value===`all`?`全部`:n.value;return`匹配 ${u.value.length} / ${c.value.length} 个令牌 · ${e}`}),h=f(()=>({background:d.value?.sample??`transparent`}));function g(){i.value=null,o.value=null}function _(){s&&clearTimeout(s),s=setTimeout(()=>{g(),s=null},1800)}async function v(e){try{await E(e),i.value=e,o.value=null}catch{i.value=null,o.value=e}_()}return ee(u,e=>{e.some(e=>e.key===r.value)||(r.value=e[0]?.key??null)},{immediate:!0}),m(()=>{s&&clearTimeout(s)}),{copiedToken:i,copyToken:v,failedToken:o,filteredTokens:u,groupFilter:n,groupOptions:l,searchQuery:t,selectedSampleStyle:h,selectedToken:d,selectedTokenKey:r,tokenSummary:p}}var Q=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}=Z(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:k,AppRuntimeBadge:A,AppSelect:T,DashboardIcon:w};return Object.defineProperty(m,"__isScriptSetup",{enumerable:!1,value:!0}),m}}),ne={class:`grid min-w-0 gap-3 xl:h-[40rem] xl:min-h-0 xl:grid-cols-[minmax(0,1fr)_minmax(16rem,0.62fr)]`},re={class:`grid min-w-0 gap-3 overflow-visible xl:min-h-0 xl:grid-rows-[auto_minmax(0,1fr)] xl:overflow-hidden`},ie={class:`grid gap-3 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-3`},ae={class:`grid gap-2 md:grid-cols-[minmax(0,1fr)_11rem]`},oe={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},se={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},ce={class:`text-xs text-(--dashboard-text-soft)`},le={key:1,class:`grid max-h-96 min-w-0 gap-2 overflow-y-auto pr-1 xl:max-h-none xl:min-h-0`},ue=[`onClick`],de={class:`flex items-center justify-between gap-3`},fe={class:`flex min-w-0 items-center gap-2`},pe={class:`h-4.5 w-4.5 shrink-0 text-(--dashboard-accent)`},me={class:`truncate text-xs text-(--dashboard-text-soft)`},he={class:`mt-2 flex items-center justify-between gap-3`},ge={class:`truncate text-xs text-(--dashboard-text-muted)`},_e={class:`grid min-w-0 grid-rows-[auto_minmax(0,1fr)] gap-3 overflow-visible rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-4 xl:min-h-0 xl:overflow-hidden`},ve={class:`flex items-start justify-between gap-3`},ye={key:1,class:`grid min-h-0 content-start gap-3 overflow-y-auto`},be={class:`grid gap-2`},$={class:`block max-w-full overflow-x-auto whitespace-nowrap rounded-md bg-slate-950 px-3 py-2 font-mono text-xs leading-6 text-slate-100 dark:bg-slate-900`},xe={class:`block max-w-full overflow-x-auto whitespace-nowrap rounded-md bg-slate-950 px-3 py-2 font-mono text-xs leading-6 text-slate-100 dark:bg-slate-900`},Se={class:`grid gap-2 sm:grid-cols-2 xl:grid-cols-1 2xl:grid-cols-2`};function Ce(t,n,i,a,f,m){return p(),b(`div`,ne,[d(`div`,re,[d(`div`,ie,[d(`div`,ae,[d(`label`,oe,[n[4]||=u(` 搜索令牌 `,-1),o(d(`input`,{"onUpdate:modelValue":n[0]||=e=>a.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),[[_,a.searchQuery]])]),d(`label`,se,[n[5]||=u(` 分组 `,-1),y(a.AppSelect,{modelValue:a.groupFilter,"onUpdate:modelValue":n[1]||=e=>a.groupFilter=e,label:`筛选令牌分组`,options:a.groupOptions},null,8,[`modelValue`,`options`])])]),d(`p`,ce,s(a.tokenSummary),1)]),a.filteredTokens.length===0?(p(),l(a.AppEmptyState,{key:0,compact:``},{default:e(()=>[...n[6]||=[u(` 当前筛选条件下没有匹配令牌。 `,-1)]]),_:1})):(p(),b(`div`,le,[(p(!0),b(h,null,r(a.filteredTokens,e=>(p(),b(`button`,{key:e.key,type:`button`,class:g([`rounded-md border bg-(--dashboard-panel-muted) p-3 text-left transition focus:outline-none`,a.selectedToken?.key===e.key?`border-(--dashboard-border-strong) bg-(--dashboard-panel)`:`border-(--dashboard-border)`]),onClick:t=>a.selectedTokenKey=e.key},[d(`span`,de,[d(`span`,fe,[d(`span`,pe,[y(a.DashboardIcon,{name:e.groupIconName},null,8,[`name`])]),d(`code`,me,s(e.name),1)]),d(`span`,{class:`h-8 w-14 shrink-0 rounded-md border border-(--dashboard-border)`,style:c({background:e.sample})},null,4)]),d(`span`,he,[y(a.AppRuntimeBadge,{label:e.groupTitle,tone:`info`},null,8,[`label`]),d(`span`,ge,s(e.sample),1)])],10,ue))),128))]))]),d(`aside`,_e,[d(`div`,ve,[n[7]||=d(`div`,null,[d(`p`,{class:`text-[11px] uppercase tracking-[0.2em] text-(--dashboard-accent)`},` Selected `),d(`h3`,{class:`mt-1 text-base font-semibold`},` 当前令牌 `)],-1),a.selectedToken?(p(),l(a.AppRuntimeBadge,{key:0,label:a.selectedToken.groupTitle,tone:`info`},null,8,[`label`])):v(``,!0)]),a.selectedToken?(p(),b(`div`,ye,[d(`div`,{class:`min-h-28 rounded-md border border-(--dashboard-border) shadow-inner`,style:c(a.selectedSampleStyle)},null,4),d(`div`,be,[d(`code`,$,s(a.selectedToken.name),1),d(`code`,xe,s(a.selectedToken.sample),1)]),d(`div`,Se,[d(`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=>a.copyToken(a.selectedToken.name)},` 复制变量名 `),d(`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=>a.copyToken(a.selectedToken.sample)},s(a.copiedToken===a.selectedToken.sample?`已复制`:a.failedToken===a.selectedToken.sample?`复制失败`:`复制 CSS 值`),1)])])):(p(),l(a.AppEmptyState,{key:0,compact:``},{default:e(()=>[...n[8]||=[u(` 选择左侧令牌后查看 CSS 变量详情。 `,-1)]]),_:1}))])])}var we=S(Q,[[`render`,Ce]]),Te=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:x.map(e=>({iconName:e.iconName,title:e.label,meta:e.value})),AppIconFeatureCard:B,AppSectionHeading:J,AppSurfaceCard:O,AppSurfaceSampleCard:te,TokenInspector:we,get tokenGroups(){return C}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Ee={class:`grid min-w-0 gap-3`},De={class:`mt-4 grid gap-3 lg:grid-cols-3`},Oe={class:`grid min-w-0`},ke={class:`grid gap-3 xl:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]`},Ae={class:`grid gap-3 md:grid-cols-3`};function je(t,i,a,o,s,c){return p(),b(`div`,Ee,[y(o.AppSurfaceCard,{tone:`strong`,padding:`md`},{default:e(()=>[y(o.AppSectionHeading,{eyebrow:`System`,title:`设计令牌`}),d(`div`,De,[(p(!0),b(h,null,r(o.themeFeatureItems,e=>(p(),l(o.AppIconFeatureCard,n({key:e.meta},{ref_for:!0},e),null,16))),128))])]),_:1}),d(`section`,Oe,[y(o.AppSurfaceCard,{eyebrow:`Tokens`,title:`令牌检查器`,"icon-name":`token-color`,padding:`md`,"content-class":`min-h-0 min-w-0`},{default:e(()=>[y(o.TokenInspector,{groups:o.tokenGroups},null,8,[`groups`])]),_:1})]),d(`section`,ke,[y(o.AppSurfaceCard,{eyebrow:`Components`,title:`标准表面`,"icon-name":`token-surface`},{default:e(()=>[d(`div`,Ae,[(p(),b(h,null,r(o.surfaceSamples,e=>y(o.AppSurfaceSampleCard,n({key:e.label},{ref_for:!0},e),null,16)),64))])]),_:1}),y(o.AppSurfaceCard,{eyebrow:`Typography`,title:`文本层级`,"icon-name":`token-type`},{default:e(()=>[...i[0]||=[d(`div`,{class:`space-y-3`},[d(`p`,{class:`text-2xl font-semibold tracking-tight`},` IBM Plex Sans Console `),d(`p`,{class:`text-sm uppercase tracking-[0.24em] text-(--dashboard-text-soft)`},` uppercased meta labels for control surfaces `)],-1)]]),_:1})])])}var Me=S(Te,[[`render`,je]]);export{Me as default};
1
+ import{B as e,C as t,D as n,H as r,J as i,N as a,P as o,V as s,W as c,X as l,Z as u,_ as d,b as f,g as p,h as m,j as h,k as ee,p as g,u as _,v,x as y,y as b}from"./vue.js";import{C as x,E as S,S as C,T as w,x as T}from"./index.js";import{c as E,i as D,n as O,t as k}from"./AppEmptyState.js";import{t as A}from"./AppRuntimeBadge.js";var j=t({__name:`AppIconFeatureCard`,props:{iconName:{},title:{},description:{},eyebrow:{},interactive:{type:Boolean},meta:{}},setup(e,{expose:t}){t();let n={get mutedPanelStyles(){return D},DashboardIcon:w};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),M={key:0,class:`text-[11px] uppercase tracking-[0.22em] text-(--dashboard-accent)`},N={class:`flex h-10 w-10 shrink-0 items-center justify-center rounded-md bg-(--dashboard-accent-soft) text-(--dashboard-accent)`},P={class:`h-5 w-5`},F={class:`min-w-0`},I={class:`font-semibold tracking-tight`},L={key:0,class:`mt-1 text-xs uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},R={key:1,class:`mt-2 text-sm leading-6 text-(--dashboard-text-muted)`};function z(e,t,n,r,a,o){return h(),b(`div`,{class:i(r.mutedPanelStyles({interactive:n.interactive}))},[n.eyebrow?(h(),b(`p`,M,u(n.eyebrow),1)):v(``,!0),p(`div`,{class:i(n.eyebrow?`mt-3 flex items-start gap-3`:`flex items-start gap-3`)},[p(`span`,N,[p(`span`,P,[y(r.DashboardIcon,{name:n.iconName},null,8,[`name`])])]),p(`div`,F,[p(`h3`,I,u(n.title),1),n.meta?(h(),b(`p`,L,u(n.meta),1)):v(``,!0),n.description?(h(),b(`p`,R,u(n.description),1)):v(``,!0)])],2)],2)}var B=S(j,[[`render`,z]]),V=t({__name:`AppSectionHeading`,props:{eyebrow:{default:void 0},title:{},description:{default:void 0}},setup(e,{expose:t}){t();let n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),H={class:`flex flex-col gap-2 md:flex-row md:items-end md:justify-between`},U={class:`min-w-0 sm:flex sm:flex-wrap sm:items-baseline sm:gap-x-2.5`},W={key:0,class:`text-[11px] uppercase tracking-[0.28em] text-(--dashboard-accent)`},G={class:`text-xl font-semibold tracking-tight md:text-2xl`},K={key:1,class:`mt-1 w-full text-sm leading-6 text-(--dashboard-text-muted)`};function q(e,t,n,r,i,a){return h(),b(`div`,null,[p(`div`,H,[p(`div`,U,[n.eyebrow?(h(),b(`p`,W,u(n.eyebrow),1)):v(``,!0),p(`h2`,G,u(n.title),1),n.description?(h(),b(`p`,K,u(n.description),1)):v(``,!0)]),o(e.$slots,`aside`)])])}var J=S(V,[[`render`,q]]),Y=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 X(e,t,n,r,a,o){return h(),b(`div`,{class:i([`rounded-4.5 p-4`,r.getSurfaceToneClassName(n.tone)])},u(n.label),3)}var te=S(Y,[[`render`,X]]);function Z(t){let n=c(``),r=c(`all`),i=c(null),a=c(null),o=c(null),s=null,l=m(()=>t.groups.flatMap(e=>e.tokens.map(t=>({...t,key:`${e.title}:${t.name}`,groupTitle:e.title,groupIconName:e.iconName})))),u=m(()=>[{value:`all`,label:`全部分组`},...t.groups.map(e=>({value:e.title,label:e.title}))]),d=m(()=>{let e=n.value.trim().toLowerCase();return l.value.filter(t=>r.value!==`all`&&t.groupTitle!==r.value?!1:!e||[t.name,t.sample,t.groupTitle].join(` `).toLowerCase().includes(e))}),f=m(()=>d.value.find(e=>e.key===i.value)??d.value[0]??null),p=m(()=>{let e=r.value===`all`?`全部`:r.value;return`匹配 ${d.value.length} / ${l.value.length} 个令牌 · ${e}`}),h=m(()=>({background:f.value?.sample??`transparent`}));function g(){a.value=null,o.value=null}function _(){s&&clearTimeout(s),s=setTimeout(()=>{g(),s=null},1800)}async function v(e){try{await E(e),a.value=e,o.value=null}catch{a.value=null,o.value=e}_()}return e(d,e=>{e.some(e=>e.key===i.value)||(i.value=e[0]?.key??null)},{immediate:!0}),ee(()=>{s&&clearTimeout(s)}),{copiedToken:a,copyToken:v,failedToken:o,filteredTokens:d,groupFilter:r,groupOptions:u,searchQuery:n,selectedSampleStyle:h,selectedToken:f,selectedTokenKey:i,tokenSummary:p}}var Q=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}=Z(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:k,AppRuntimeBadge:A,AppSelect:T,DashboardIcon:w};return Object.defineProperty(m,"__isScriptSetup",{enumerable:!1,value:!0}),m}}),ne={class:`grid min-w-0 gap-3 xl:h-[40rem] xl:min-h-0 xl:grid-cols-[minmax(0,1fr)_minmax(16rem,0.62fr)]`},re={class:`grid min-w-0 gap-3 overflow-visible xl:min-h-0 xl:grid-rows-[auto_minmax(0,1fr)] xl:overflow-hidden`},ie={class:`grid gap-3 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-3`},ae={class:`grid gap-2 md:grid-cols-[minmax(0,1fr)_11rem]`},oe={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},se={class:`grid gap-1.5 text-xs font-medium uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},ce={class:`text-xs text-(--dashboard-text-soft)`},le={key:1,class:`grid max-h-96 min-w-0 gap-2 overflow-y-auto pr-1 xl:max-h-none xl:min-h-0`},ue=[`onClick`],de={class:`flex items-center justify-between gap-3`},fe={class:`flex min-w-0 items-center gap-2`},pe={class:`h-4.5 w-4.5 shrink-0 text-(--dashboard-accent)`},me={class:`truncate text-xs text-(--dashboard-text-soft)`},he={class:`mt-2 flex items-center justify-between gap-3`},ge={class:`truncate text-xs text-(--dashboard-text-muted)`},_e={class:`grid min-w-0 grid-rows-[auto_minmax(0,1fr)] gap-3 overflow-visible rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-4 xl:min-h-0 xl:overflow-hidden`},ve={class:`flex items-start justify-between gap-3`},ye={key:1,class:`grid min-h-0 content-start gap-3 overflow-y-auto`},be={class:`grid gap-2`},$={class:`block max-w-full overflow-x-auto whitespace-nowrap rounded-md bg-slate-950 px-3 py-2 font-mono text-xs leading-6 text-slate-100 dark:bg-slate-900`},xe={class:`block max-w-full overflow-x-auto whitespace-nowrap rounded-md bg-slate-950 px-3 py-2 font-mono text-xs leading-6 text-slate-100 dark:bg-slate-900`},Se={class:`grid gap-2 sm:grid-cols-2 xl:grid-cols-1 2xl:grid-cols-2`};function Ce(e,t,n,o,c,m){return h(),b(`div`,ne,[p(`div`,re,[p(`div`,ie,[p(`div`,ae,[p(`label`,oe,[t[4]||=f(` 搜索令牌 `,-1),r(p(`input`,{"onUpdate:modelValue":t[0]||=e=>o.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),[[_,o.searchQuery]])]),p(`label`,se,[t[5]||=f(` 分组 `,-1),y(o.AppSelect,{modelValue:o.groupFilter,"onUpdate:modelValue":t[1]||=e=>o.groupFilter=e,label:`筛选令牌分组`,options:o.groupOptions},null,8,[`modelValue`,`options`])])]),p(`p`,ce,u(o.tokenSummary),1)]),o.filteredTokens.length===0?(h(),d(o.AppEmptyState,{key:0,compact:``},{default:s(()=>[...t[6]||=[f(` 当前筛选条件下没有匹配令牌。 `,-1)]]),_:1})):(h(),b(`div`,le,[(h(!0),b(g,null,a(o.filteredTokens,e=>(h(),b(`button`,{key:e.key,type:`button`,class:i([`rounded-md border bg-(--dashboard-panel-muted) p-3 text-left transition focus:outline-none`,o.selectedToken?.key===e.key?`border-(--dashboard-border-strong) bg-(--dashboard-panel)`:`border-(--dashboard-border)`]),onClick:t=>o.selectedTokenKey=e.key},[p(`span`,de,[p(`span`,fe,[p(`span`,pe,[y(o.DashboardIcon,{name:e.groupIconName},null,8,[`name`])]),p(`code`,me,u(e.name),1)]),p(`span`,{class:`h-8 w-14 shrink-0 rounded-md border border-(--dashboard-border)`,style:l({background:e.sample})},null,4)]),p(`span`,he,[y(o.AppRuntimeBadge,{label:e.groupTitle,tone:`info`},null,8,[`label`]),p(`span`,ge,u(e.sample),1)])],10,ue))),128))]))]),p(`aside`,_e,[p(`div`,ve,[t[7]||=p(`div`,null,[p(`p`,{class:`text-[11px] uppercase tracking-[0.2em] text-(--dashboard-accent)`},` Selected `),p(`h3`,{class:`mt-1 text-base font-semibold`},` 当前令牌 `)],-1),o.selectedToken?(h(),d(o.AppRuntimeBadge,{key:0,label:o.selectedToken.groupTitle,tone:`info`},null,8,[`label`])):v(``,!0)]),o.selectedToken?(h(),b(`div`,ye,[p(`div`,{class:`min-h-28 rounded-md border border-(--dashboard-border) shadow-inner`,style:l(o.selectedSampleStyle)},null,4),p(`div`,be,[p(`code`,$,u(o.selectedToken.name),1),p(`code`,xe,u(o.selectedToken.sample),1)]),p(`div`,Se,[p(`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:t[2]||=e=>o.copyToken(o.selectedToken.name)},` 复制变量名 `),p(`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:t[3]||=e=>o.copyToken(o.selectedToken.sample)},u(o.copiedToken===o.selectedToken.sample?`已复制`:o.failedToken===o.selectedToken.sample?`复制失败`:`复制 CSS 值`),1)])])):(h(),d(o.AppEmptyState,{key:0,compact:``},{default:s(()=>[...t[8]||=[f(` 选择左侧令牌后查看 CSS 变量详情。 `,-1)]]),_:1}))])])}var we=S(Q,[[`render`,Ce]]),Te=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:x.map(e=>({iconName:e.iconName,title:e.label,meta:e.value})),AppIconFeatureCard:B,AppSectionHeading:J,AppSurfaceCard:O,AppSurfaceSampleCard:te,TokenInspector:we,get tokenGroups(){return C}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Ee={class:`grid min-w-0 gap-3`},De={class:`mt-4 grid gap-3 lg:grid-cols-3`},Oe={class:`grid min-w-0`},ke={class:`grid gap-3 xl:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]`},Ae={class:`grid gap-3 md:grid-cols-3`};function je(e,t,r,i,o,c){return h(),b(`div`,Ee,[y(i.AppSurfaceCard,{tone:`strong`,padding:`md`},{default:s(()=>[y(i.AppSectionHeading,{eyebrow:`System`,title:`设计令牌`}),p(`div`,De,[(h(!0),b(g,null,a(i.themeFeatureItems,e=>(h(),d(i.AppIconFeatureCard,n({key:e.meta},{ref_for:!0},e),null,16))),128))])]),_:1}),p(`section`,Oe,[y(i.AppSurfaceCard,{eyebrow:`Tokens`,title:`令牌检查器`,"icon-name":`token-color`,padding:`md`,"content-class":`min-h-0 min-w-0`},{default:s(()=>[y(i.TokenInspector,{groups:i.tokenGroups},null,8,[`groups`])]),_:1})]),p(`section`,ke,[y(i.AppSurfaceCard,{eyebrow:`Components`,title:`标准表面`,"icon-name":`token-surface`},{default:s(()=>[p(`div`,Ae,[(h(),b(g,null,a(i.surfaceSamples,e=>y(i.AppSurfaceSampleCard,n({key:e.label},{ref_for:!0},e),null,16)),64))])]),_:1}),y(i.AppSurfaceCard,{eyebrow:`Typography`,title:`文本层级`,"icon-name":`token-type`},{default:s(()=>[...t[0]||=[p(`div`,{class:`space-y-3`},[p(`p`,{class:`text-2xl font-semibold tracking-tight`},` IBM Plex Sans Console `),p(`p`,{class:`text-sm uppercase tracking-[0.24em] text-(--dashboard-text-soft)`},` uppercased meta labels for control surfaces `)],-1)]]),_:1})])])}var Me=S(Te,[[`render`,je]]);export{Me as default};