zdashboard 2.5.0 → 2.5.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/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/web/assets/{FileIcon-CeMvyYN_.js → FileIcon-CWL_Aew0.js} +2 -2
- package/dist/web/assets/{FilterPills-CkgNlhxd.js → FilterPills-DfrtQ2BX.js} +1 -1
- package/dist/web/assets/{MdViewer-BVog1Mmf.js → MdViewer-DoCxNu7A.js} +2 -2
- package/dist/web/assets/{ProgressBar-Cmd6BS-8.js → ProgressBar-CIDdp-03.js} +1 -1
- package/dist/web/assets/{Workspace-DfmiOTyP.js → Workspace-CsW6-X9a.js} +1 -1
- package/dist/web/assets/{badge-LEpB1yPS.js → badge-izTmQYbF.js} +1 -1
- package/dist/web/assets/{book-open-C6mI7nw7.js → book-open-CCPWUzhH.js} +1 -1
- package/dist/web/assets/{file-text-BN7zorT8.js → file-text-DHJKu2eF.js} +1 -1
- package/dist/web/assets/index-C39_SyD0.css +1 -0
- package/dist/web/assets/{index-D0Ytqw4l.js → index-Cu37wtgU.js} +2 -2
- package/dist/web/assets/{index-CxJJYhye.js → index-DKB8z9I8.js} +1 -1
- package/dist/web/assets/{web-sOdesjte.js → web-9Iy8fpbv.js} +1 -1
- package/dist/web/assets/web-C4KehBpT.js +26 -0
- package/dist/web/assets/web-CSsoKnCH.js +2 -0
- package/dist/web/assets/{web-DezLgOmZ.js → web-CnZCJ59N.js} +3 -3
- package/dist/web/assets/{web-D50pz6K1.js → web-DjRxK_Na.js} +1 -1
- package/dist/web/assets/{web-DVlfapY3.js → web-DuuJgOy2.js} +1 -1
- package/dist/web/assets/{web-BtGB7yoQ.js → web-DxAXHOpi.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/index-Dr1HVqud.css +0 -1
- package/dist/web/assets/web-BUcxZ3zM.js +0 -2
- package/dist/web/assets/web-DwE0xwTq.js +0 -26
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import{c as h,r,u as A,j as e,C as _,_ as z}from"./index-Cu37wtgU.js";import{M as I}from"./MdViewer-DoCxNu7A.js";import{P as F}from"./ProgressBar-CIDdp-03.js";import{F as L}from"./FilterPills-DfrtQ2BX.js";import"./index-DKB8z9I8.js";/**
|
|
2
|
+
* @license lucide-react v0.460.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const U=h("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
|
|
7
|
+
* @license lucide-react v0.460.0 - ISC
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the ISC license.
|
|
10
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/const V=h("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/**
|
|
12
|
+
* @license lucide-react v0.460.0 - ISC
|
|
13
|
+
*
|
|
14
|
+
* This source code is licensed under the ISC license.
|
|
15
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
+
*/const X=h("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/**
|
|
17
|
+
* @license lucide-react v0.460.0 - ISC
|
|
18
|
+
*
|
|
19
|
+
* This source code is licensed under the ISC license.
|
|
20
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
+
*/const q=h("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/**
|
|
22
|
+
* @license lucide-react v0.460.0 - ISC
|
|
23
|
+
*
|
|
24
|
+
* This source code is licensed under the ISC license.
|
|
25
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
+
*/const C=h("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),W={draft:"bg-muted-foreground text-white",reviewing:"bg-warning text-white",passed:"bg-success text-white",rejected:"bg-destructive text-white"},B={draft:"草案",reviewing:"评审中",passed:"已通过",rejected:"未通过"},G=[{key:"all",label:"全部"},{key:"open",label:"待处理"},{key:"answered",label:"已答复"},{key:"accepted",label:"已采纳"},{key:"dismissed",label:"已驳回"}],T={high:"bg-destructive",medium:"bg-warning",low:"bg-info"},J={high:"高",medium:"中",low:"低"},E={open:"bg-destructive/15 text-destructive border-destructive/30",answered:"bg-info/15 text-info border-info/30",accepted:"bg-success/15 text-success border-success/30",dismissed:"bg-muted text-muted-foreground border-border"},M={open:"待处理",answered:"已答复",accepted:"已采纳",dismissed:"已驳回"};function H({item:t,token:p,onUpdated:w}){const[u,m]=r.useState(t.answer??"");r.useEffect(()=>m(t.answer??""),[t.id,t.answer]);const c=async a=>{const i=await fetch("/__review/item",{method:"POST",headers:{"x-stop-token":p,"Content-Type":"application/json"},body:JSON.stringify({id:t.id,...a})});i.ok&&w(await i.json())},l=a=>a==="open"?{state:a,answer:u}:a==="answered"?{state:a,answer:u}:{state:a,answer:u||t.answer},f=t.state==="accepted"||t.state==="dismissed",b=f?t.state==="accepted"?"已采纳 — 可撤销后重新处理":"已驳回 — 可撤销后重新处理":t.state==="open"?"答复后可采纳或驳回,或直接采纳/驳回":"确认答复后采纳,或驳回 / 撤销";return e.jsxs("div",{className:"rounded-lg border bg-background shadow-sm overflow-hidden",children:[e.jsxs("div",{className:"flex items-center gap-2 px-3 pt-2.5 text-[11px] text-muted-foreground",children:[t.severity&&e.jsx("span",{className:`h-2 w-2 rounded-full ${T[t.severity]??"bg-muted-foreground"}`}),e.jsx("span",{className:"font-medium",children:t.category??"通用"}),t.severity&&e.jsx("span",{children:J[t.severity]??t.severity}),e.jsx("span",{className:`ml-auto px-1.5 py-0.5 rounded border text-[10px] font-medium ${E[t.state]??""}`,children:M[t.state]})]}),e.jsx("p",{className:"px-3 py-2 text-sm leading-relaxed",children:t.question}),e.jsxs("div",{className:"px-3 pb-3 flex flex-col gap-2",children:[e.jsx("textarea",{value:u,onChange:a=>m(a.target.value),placeholder:"答复 / 补充说明…",rows:2,className:"w-full rounded border border-border bg-background px-2 py-1.5 text-xs focus:outline-none focus:border-primary resize-y"}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[t.state==="accepted"?e.jsxs("span",{className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-success/15 text-success text-xs font-medium",children:[e.jsx(_,{className:"h-3 w-3"}),"已采纳"]}):t.state==="dismissed"?e.jsxs("span",{className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-muted text-muted-foreground text-xs font-medium",children:[e.jsx(C,{className:"h-3 w-3"}),"已驳回"]}):e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>c(l("answered")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-info hover:bg-info text-white text-xs",children:[e.jsx(q,{className:"h-3 w-3"}),t.state==="answered"?"更新答复":"答复"]}),e.jsxs("button",{onClick:()=>c(l("accepted")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-success hover:bg-success text-white text-xs",children:[e.jsx(_,{className:"h-3 w-3"}),"采纳"]}),e.jsxs("button",{onClick:()=>c(l("dismissed")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-muted hover:bg-muted/70 text-xs",children:[e.jsx(C,{className:"h-3 w-3"}),"驳回"]})]}),f&&e.jsxs("button",{onClick:()=>c(l("open")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-muted hover:bg-muted/70 text-xs",children:[e.jsx(X,{className:"h-3 w-3"}),"撤销"]}),e.jsx("span",{className:"ml-auto text-[10px] text-muted-foreground",children:b})]})]})]})}function K(){const[t,p]=r.useState(null),[w,u]=r.useState([]),[m,c]=r.useState(null),[l,f]=r.useState(null),[b,a]=r.useState(""),[i,O]=r.useState("all"),[g,v]=r.useState(!0),[N,y]=r.useState("");r.useRef(!1);const k=()=>{fetch("/__review",{cache:"no-store"}).then(s=>s.json()).then(p),fetch("/__docs",{cache:"no-store"}).then(s=>s.json()).then(s=>{u(s),c(n=>n&&s.includes(n)?n:s[0]??null)})};r.useEffect(()=>{k(),fetch("/__config").then(s=>s.json()).then(s=>a(s.stopToken??""))},[]),A(()=>{},k);const d={all:0,open:0,answered:0,accepted:0,dismissed:0};for(const s of(t==null?void 0:t.items)??[])d.all++,d[s.state]++;const S=r.useMemo(()=>{const s=new Map;for(const o of(t==null?void 0:t.items)??[]){if(i!=="all"&&o.state!==i)continue;const x=o.doc??null;s.has(x)||s.set(x,[]),s.get(x).push(o)}const n=o=>o??"(未关联文档)";return[...s.entries()].sort((o,x)=>n(o[0]).localeCompare(n(x[0]))).map(([o,x])=>({doc:o,label:n(o),items:x.sort((R,$)=>({high:0,medium:1,low:2})[R.severity??"medium"]-{high:0,medium:1,low:2}[$.severity??"medium"])}))},[t,i]),j=((t==null?void 0:t.items)??[]).find(s=>s.id===l)??null,D=s=>{f(s.id),c(s.doc??null)},P=async()=>{y("");const s=await fetch("/__review/status",{method:"POST",headers:{"x-stop-token":b,"Content-Type":"application/json"},body:'{"status":"passed"}'});s.ok?p(await s.json()):y((await s.json()).error??"failed")};return e.jsxs("div",{className:"mx-auto h-full max-w-6xl bg-background border rounded-lg shadow-sm overflow-hidden flex",children:[e.jsxs("aside",{className:"w-[240px] flex-none border-r bg-background overflow-auto",children:[e.jsx("div",{className:"px-3 pt-3 pb-2 border-b",children:(()=>{const s=d.all,n=s-d.open,o=s===0?0:Math.round(n/s*100);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center justify-between text-[11px] mb-1.5",children:[e.jsx("span",{className:"text-muted-foreground",children:"处理进度"}),e.jsxs("span",{className:"font-mono",children:[n,"/",s," · ",o,"%"]})]}),e.jsx(F,{value:o,className:"h-1.5"})]})})()}),e.jsx(L,{items:G.map(s=>({key:String(s.key),label:`${s.label} ${d[s.key]}`})),value:i,onChange:s=>O(s),ariaLabel:"评审项筛选"}),e.jsx("div",{className:"px-3 pb-1 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"文档 · 评审项"}),S.length===0&&e.jsx("p",{className:"px-3 py-2 text-xs text-muted-foreground",children:"无评审项"}),S.map(s=>e.jsxs("div",{children:[e.jsxs("div",{className:"px-3 py-1 text-[11px] font-medium text-muted-foreground flex items-center gap-1.5",children:[e.jsx("span",{className:"truncate",children:s.label}),e.jsx("span",{className:"ml-auto font-mono text-[10px]",children:s.items.length})]}),s.items.map(n=>e.jsxs("button",{onClick:()=>D(n),className:`w-full text-left px-3 py-1.5 text-xs border-l-2 flex items-center gap-1.5 hover:bg-muted ${l===n.id?"bg-muted font-medium border-primary":"border-transparent text-muted-foreground"}`,children:[n.severity&&e.jsx("span",{className:`h-1.5 w-1.5 rounded-full shrink-0 ${T[n.severity]??""}`}),e.jsx("span",{className:"truncate",children:n.question}),e.jsx("span",{className:`ml-auto shrink-0 text-[9px] px-1 rounded ${E[n.state]??""}`,children:M[n.state]})]},n.id))]},s.doc??"(none)"))]}),e.jsxs("div",{className:"flex-1 min-h-0 flex flex-col",children:[e.jsxs("div",{className:"flex-none flex items-center gap-2 px-3.5 border-b bg-background",children:[t&&e.jsx("span",{className:`px-2 py-0.5 rounded text-[11px] font-medium ${W[t.status]??""}`,children:B[t.status]??t.status}),d.open>0&&e.jsxs("span",{className:"text-[11px] text-muted-foreground",children:["还有 ",d.open," 项待处理"]}),e.jsx("button",{onClick:P,disabled:!t||t.status==="passed"||d.open>0,className:"ml-auto h-7 px-3 rounded bg-success hover:bg-success disabled:opacity-50 disabled:cursor-not-allowed text-white text-xs",children:"通过"})]}),N&&e.jsx("div",{className:"bg-destructive/10 text-destructive text-xs px-3.5 py-1.5 border-b border-destructive/20",children:N}),e.jsxs("div",{className:"flex-1 min-h-0 flex flex-col",children:[g&&e.jsxs("div",{className:"flex-1 min-h-0 overflow-auto border-b bg-background relative",children:[e.jsx("button",{onClick:()=>v(!1),title:"收起文档",className:"absolute right-2 top-2 z-10 h-6 px-2 rounded border border-border bg-background/80 text-xs hover:bg-muted",children:e.jsx(U,{className:"h-3.5 w-3.5"})}),m?e.jsx(I,{path:m}):e.jsx("p",{className:"p-6 text-sm text-muted-foreground",children:"在左侧选择评审项"})]}),e.jsxs("div",{className:g?"flex-none h-[42%] border-b overflow-auto p-3 flex flex-col gap-3":"flex-1 min-h-0 overflow-auto p-3 flex flex-col gap-3 dot-grid",children:[!g&&e.jsxs("button",{onClick:()=>v(!0),title:"展开文档",className:"self-start inline-flex items-center gap-1 h-6 px-2 rounded border border-border bg-background text-xs hover:bg-muted",children:[e.jsx(V,{className:"h-3.5 w-3.5"}),"展开文档"]}),j?e.jsx(H,{item:j,token:b,onUpdated:p},j.id):e.jsx("p",{className:"text-xs text-muted-foreground text-center pt-6",children:"在左侧选择一个评审项"})]})]})]})]})}function Q(){return e.jsx(K,{})}const Y=Object.freeze(Object.defineProperty({__proto__:null,default:Q},Symbol.toStringTag,{value:"Module"})),re={mode:"review",label:"文档评审",icon:"✅",description:"评审项状态流转 · zreview",Workspace:r.lazy(()=>z(()=>Promise.resolve().then(()=>Y),void 0))};export{Q as ReviewWorkspace,re as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Workspace-CsW6-X9a.js","assets/index-Cu37wtgU.js","assets/index-C39_SyD0.css","assets/ProgressBar-CIDdp-03.js","assets/file-text-DHJKu2eF.js","assets/book-open-CCPWUzhH.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as o,_ as t}from"./index-Cu37wtgU.js";const a={mode:"stats",label:"项目统计",icon:"📊",description:"项目文件统计 · 扫描生成",Workspace:o.lazy(()=>t(()=>import("./Workspace-CsW6-X9a.js"),__vite__mapDeps([0,1,2,3,4,5])))};export{a as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as L,r as C,d as w,j as _,B as O,e as pe,_ as me}from"./index-
|
|
1
|
+
import{c as L,r as C,d as w,j as _,B as O,e as pe,_ as me}from"./index-Cu37wtgU.js";import{F as xe}from"./FilterPills-DfrtQ2BX.js";function g(t){const e=Object.prototype.toString.call(t);return t instanceof Date||typeof t=="object"&&e==="[object Date]"?new t.constructor(+t):typeof t=="number"||e==="[object Number]"||typeof t=="string"||e==="[object String]"?new Date(t):new Date(NaN)}function $(t,e){return t instanceof Date?new t.constructor(e):new Date(e)}function De(t,e){const s=g(t);return isNaN(e)?$(t,NaN):(e&&s.setDate(s.getDate()+e),s)}function Fe(t,e){const s=g(t);if(isNaN(e))return $(t,NaN);if(!e)return s;const n=s.getDate(),r=$(t,s.getTime());r.setMonth(s.getMonth()+e+1,0);const c=r.getDate();return n>=c?r:(s.setFullYear(r.getFullYear(),r.getMonth(),n),s)}function M(t,e){const{years:s=0,months:n=0,weeks:r=0,days:c=0,hours:i=0,minutes:u=0,seconds:l=0}=e,o=g(t),d=n||s?Fe(o,n+s*12):o,a=c||r?De(d,c+r*7):d,p=u+i*60,x=(l+p*60)*1e3;return $(t,a.getTime()+x)}const ye=864e5,be=6e4,ve=36e5;function V(t){const e=g(t);return e.setHours(0,0,0,0),e}function K(t){const e=g(t),s=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return s.setUTCFullYear(e.getFullYear()),+t-+s}function Ee(t,e){const s=V(t),n=V(e),r=+s-K(s),c=+n-K(n);return Math.round((r-c)/ye)}function S(t,e){const s=g(t),n=g(e),r=s.getTime()-n.getTime();return r<0?-1:r>0?1:r}function Ce(t,e){const s=g(t),n=g(e),r=s.getFullYear()-n.getFullYear(),c=s.getMonth()-n.getMonth();return r*12+c}function Ae(t,e){const s=g(t),n=g(e);return s.getFullYear()-n.getFullYear()}function je(t,e){const s=g(t),n=g(e),r=Q(s,n),c=Math.abs(Ee(s,n));s.setDate(s.getDate()-r*c);const i=+(Q(s,n)===-r),u=r*(c-i);return u===0?0:u}function Q(t,e){const s=t.getFullYear()-e.getFullYear()||t.getMonth()-e.getMonth()||t.getDate()-e.getDate()||t.getHours()-e.getHours()||t.getMinutes()-e.getMinutes()||t.getSeconds()-e.getSeconds()||t.getMilliseconds()-e.getMilliseconds();return s<0?-1:s>0?1:s}function J(t){return e=>{const n=(t?Math[t]:Math.trunc)(e);return n===0?0:n}}function G(t,e){return+g(t)-+g(e)}function ze(t,e,s){const n=G(t,e)/ve;return J(s==null?void 0:s.roundingMethod)(n)}function we(t,e,s){const n=G(t,e)/be;return J(s==null?void 0:s.roundingMethod)(n)}function ke(t){const e=g(t);return e.setHours(23,59,59,999),e}function Ne(t){const e=g(t),s=e.getMonth();return e.setFullYear(e.getFullYear(),s+1,0),e.setHours(23,59,59,999),e}function Re(t){const e=g(t);return+ke(e)==+Ne(e)}function Oe(t,e){const s=g(t),n=g(e),r=S(s,n),c=Math.abs(Ce(s,n));let i;if(c<1)i=0;else{s.getMonth()===1&&s.getDate()>27&&s.setDate(30),s.setMonth(s.getMonth()-r*c);let u=S(s,n)===-r;Re(g(t))&&c===1&&S(t,n)===1&&(u=!1),i=r*(c-Number(u))}return i===0?0:i}function Me(t,e,s){const n=G(t,e)/1e3;return J(s==null?void 0:s.roundingMethod)(n)}function Se(t,e){const s=g(t),n=g(e),r=S(s,n),c=Math.abs(Ae(s,n));s.setFullYear(1584),n.setFullYear(1584);const i=S(s,n)===-r,u=r*(c-+i);return u===0?0:u}function $e(t){const e=g(t.start),s=g(t.end),n={},r=Se(s,e);r&&(n.years=r);const c=M(e,{years:n.years}),i=Oe(s,c);i&&(n.months=i);const u=M(c,{months:n.months}),l=je(s,u);l&&(n.days=l);const o=M(u,{days:n.days}),d=ze(s,o);d&&(n.hours=d);const a=M(o,{hours:n.hours}),p=we(s,a);p&&(n.minutes=p);const b=M(a,{minutes:n.minutes}),x=Me(s,b);return x&&(n.seconds=x),n}/**
|
|
2
2
|
* @license lucide-react v0.460.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -18,8 +18,8 @@ import{c as L,r as C,d as w,j as _,B as O,e as pe,_ as me}from"./index-D0Ytqw4l.
|
|
|
18
18
|
*
|
|
19
19
|
* This source code is licensed under the ISC license.
|
|
20
20
|
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
-
*/const ee=L("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var _e={};const
|
|
21
|
+
*/const ee=L("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var _e={};const j=[[{color:"0, 0, 0",class:"ansi-black"},{color:"187, 0, 0",class:"ansi-red"},{color:"0, 187, 0",class:"ansi-green"},{color:"187, 187, 0",class:"ansi-yellow"},{color:"0, 0, 187",class:"ansi-blue"},{color:"187, 0, 187",class:"ansi-magenta"},{color:"0, 187, 187",class:"ansi-cyan"},{color:"255,255,255",class:"ansi-white"}],[{color:"85, 85, 85",class:"ansi-bright-black"},{color:"255, 85, 85",class:"ansi-bright-red"},{color:"0, 255, 0",class:"ansi-bright-green"},{color:"255, 255, 85",class:"ansi-bright-yellow"},{color:"85, 85, 255",class:"ansi-bright-blue"},{color:"255, 85, 255",class:"ansi-bright-magenta"},{color:"85, 255, 255",class:"ansi-bright-cyan"},{color:"255, 255, 255",class:"ansi-bright-white"}]],Te=/(https?:\/\/(?:[A-Za-z0-9#;/?:@=+$',_.!~*()[\]-]|&|%[A-Fa-f0-9]{2})+)/gm;class R{static escapeForHtml(e){return new R().escapeForHtml(e)}static linkify(e){return new R().linkify(e)}static ansiToHtml(e,s){return new R().ansiToHtml(e,s)}static ansiToJson(e,s){return new R().ansiToJson(e,s)}static ansiToText(e){return new R().ansiToText(e)}constructor(){this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null,this.bright=0,this.decorations=[]}setupPalette(){this.PALETTE_COLORS=[];for(let r=0;r<2;++r)for(let c=0;c<8;++c)this.PALETTE_COLORS.push(j[r][c].color);let e=[0,95,135,175,215,255],s=(r,c,i)=>e[r]+", "+e[c]+", "+e[i];for(let r=0;r<6;++r)for(let c=0;c<6;++c)for(let i=0;i<6;++i)this.PALETTE_COLORS.push(s(r,c,i));let n=8;for(let r=0;r<24;++r,n+=10)this.PALETTE_COLORS.push(n+", "+n+", "+n)}escapeForHtml(e){return e.replace(/[&<>\"]/gm,s=>s=="&"?"&":s=='"'?""":s=="<"?"<":s==">"?">":"")}linkify(e){return e.replace(Te,s=>`<a href="${s}">${s}</a>`)}ansiToHtml(e,s){return this.process(e,s,!0)}ansiToJson(e,s){return s=s||{},s.json=!0,s.clearLine=!1,this.process(e,s,!0)}ansiToText(e){return this.process(e,{},!1)}process(e,s,n){let r=this,c=e.split(/\033\[/),i=c.shift();s==null&&(s={}),s.clearLine=/\r/.test(e);let u=c.map(l=>this.processChunk(l,s,n));if(s&&s.json){let l=r.processChunkJson("");return l.content=i,l.clearLine=s.clearLine,u.unshift(l),s.remove_empty&&(u=u.filter(o=>!o.isEmpty())),u}else u.unshift(i);return u.join("")}processChunkJson(e,s,n){s=typeof s>"u"?{}:s;let r=s.use_classes=typeof s.use_classes<"u"&&s.use_classes,c=s.key=r?"class":"color",i={content:e,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,isInverted:!1,clearLine:s.clearLine,decoration:null,decorations:[],was_processed:!1,isEmpty:()=>!i.content},u=e.match(/^([!\x3c-\x3f]*)([\d;]*)([\x20-\x2c]*[\x40-\x7e])([\s\S]*)/m);if(!u)return i;i.content=u[4];let l=u[2].split(";");if(u[1]!==""||u[3]!=="m"||!n)return i;let o=this;for(;l.length>0;){let d=l.shift(),a=parseInt(d);if(isNaN(a)||a===0)o.fg=o.bg=null,o.decorations=[];else if(a===1)o.decorations.push("bold");else if(a===2)o.decorations.push("dim");else if(a===3)o.decorations.push("italic");else if(a===4)o.decorations.push("underline");else if(a===5)o.decorations.push("blink");else if(a===7)o.decorations.push("reverse");else if(a===8)o.decorations.push("hidden");else if(a===9)o.decorations.push("strikethrough");else if(a===21)o.removeDecoration("bold");else if(a===22)o.removeDecoration("bold"),o.removeDecoration("dim");else if(a===23)o.removeDecoration("italic");else if(a===24)o.removeDecoration("underline");else if(a===25)o.removeDecoration("blink");else if(a===27)o.removeDecoration("reverse");else if(a===28)o.removeDecoration("hidden");else if(a===29)o.removeDecoration("strikethrough");else if(a===39)o.fg=null;else if(a===49)o.bg=null;else if(a>=30&&a<38)o.fg=j[0][a%10][c];else if(a>=90&&a<98)o.fg=j[1][a%10][c];else if(a>=40&&a<48)o.bg=j[0][a%10][c];else if(a>=100&&a<108)o.bg=j[1][a%10][c];else if(a===38||a===48){let p=a===38;if(l.length>=1){let b=l.shift();if(b==="5"&&l.length>=1){let x=parseInt(l.shift());if(x>=0&&x<=255)if(!r)this.PALETTE_COLORS||o.setupPalette(),p?o.fg=this.PALETTE_COLORS[x]:o.bg=this.PALETTE_COLORS[x];else{let F=x>=16?"ansi-palette-"+x:j[x>7?1:0][x%8].class;p?o.fg=F:o.bg=F}}else if(b==="2"&&l.length>=3){let x=parseInt(l.shift()),F=parseInt(l.shift()),k=parseInt(l.shift());if(x>=0&&x<=255&&F>=0&&F<=255&&k>=0&&k<=255){let N=x+", "+F+", "+k;r?p?(o.fg="ansi-truecolor",o.fg_truecolor=N):(o.bg="ansi-truecolor",o.bg_truecolor=N):p?o.fg=N:o.bg=N}}}}}return o.fg===null&&o.bg===null&&o.decorations.length===0||(i.fg=o.fg,i.bg=o.bg,i.fg_truecolor=o.fg_truecolor,i.bg_truecolor=o.bg_truecolor,i.decorations=o.decorations,i.decoration=o.decorations.slice(-1).pop()||null,i.was_processed=!0),i}processChunk(e,s,n){s=s||{};let r=this.processChunkJson(e,s,n),c=s.use_classes;if(r.decorations=r.decorations.filter(a=>{if(a==="reverse"){r.fg||(r.fg=j[0][7][c?"class":"color"]),r.bg||(r.bg=j[0][0][c?"class":"color"]);let p=r.fg;r.fg=r.bg,r.bg=p;let b=r.fg_truecolor;return r.fg_truecolor=r.bg_truecolor,r.bg_truecolor=b,r.isInverted=!0,!1}return!0}),s.json)return r;if(r.isEmpty())return"";if(!r.was_processed)return r.content;let i=[],u=[],l=[],o={},d=a=>{let p=[],b;for(b in a)a.hasOwnProperty(b)&&p.push("data-"+b+'="'+this.escapeForHtml(a[b])+'"');return p.length>0?" "+p.join(" "):""};return r.isInverted&&(o["ansi-is-inverted"]="true"),r.fg&&(c?(i.push(r.fg+"-fg"),r.fg_truecolor!==null&&(o["ansi-truecolor-fg"]=r.fg_truecolor,r.fg_truecolor=null)):i.push("color:rgb("+r.fg+")")),r.bg&&(c?(i.push(r.bg+"-bg"),r.bg_truecolor!==null&&(o["ansi-truecolor-bg"]=r.bg_truecolor,r.bg_truecolor=null)):i.push("background-color:rgb("+r.bg+")")),r.decorations.forEach(a=>{if(c){u.push("ansi-"+a);return}a==="bold"?u.push("font-weight:bold"):a==="dim"?u.push("opacity:0.5"):a==="italic"?u.push("font-style:italic"):a==="hidden"?u.push("visibility:hidden"):a==="strikethrough"?l.push("line-through"):l.push(a)}),l.length&&u.push("text-decoration:"+l.join(" ")),c?'<span class="'+i.concat(u).join(" ")+'"'+d(o)+">"+r.content+"</span>":'<span style="'+i.concat(u).join(";")+'"'+d(o)+">"+r.content+"</span>"}removeDecoration(e){const s=this.decorations.indexOf(e);s>=0&&this.decorations.splice(s,1)}}var Be=R,T={exports:{}};function U(t){if(!t)return"";if(!/\r/.test(t))return t;for(t=t.replace(/\r+\n/gm,`
|
|
22
22
|
`);/\r./.test(t);)t=t.replace(/^([^\r\n]*)\r+([^\r\n]+)/gm,function(e,s,n){return n+s.slice(n.length)});return t}function Pe(t){for(var e=0,s=0;s<t.length;s++)t[e].length<=t[s].length&&(e=s);return e}function te(t){if(!/\r/.test(t))return t;for(var e=t.split("\r"),s=[];e.length>0;){var n=Pe(e);s.push(e[n]),e=e.slice(n+1)}return s.join("\r")}function Ze(t){if(!t)return"";if(!/\r/.test(t))return t;if(!/\n/.test(t))return te(t);t=t.replace(/\r+\n/gm,`
|
|
23
23
|
`);var e=t.lastIndexOf(`
|
|
24
24
|
`);return U(t.slice(0,e))+`
|
|
25
|
-
`+te(t.slice(e+1))}T.exports=U;T.exports.escapeCarriageReturn=U;T.exports.escapeCarriageReturnSafe=Ze;var qe=T.exports,P,se;function He(){return se||(se=1,P=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/),P}var Z,ne;function Ye(){return ne||(ne=1,Z=/[\0-\x1F\x7F-\x9F]/),Z}var q,re;function We(){return re||(re=1,q=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/),q}var H,ie;function Je(){return ie||(ie=1,H=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/),H}var Y,ce;function Ge(){return ce||(ce=1,Y=function(t){var e={};e.src_Any=He().source,e.src_Cc=Ye().source,e.src_Z=We().source,e.src_P=Je().source,e.src_ZPCc=[e.src_Z,e.src_P,e.src_Cc].join("|"),e.src_ZCc=[e.src_Z,e.src_Cc].join("|");var s="[><|]";return e.src_pseudo_letter="(?:(?!"+s+"|"+e.src_ZPCc+")"+e.src_Any+")",e.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",e.src_auth="(?:(?:(?!"+e.src_ZCc+"|[@/\\[\\]()]).)+@)?",e.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",e.src_host_terminator="(?=$|"+s+"|"+e.src_ZPCc+")(?!-|_|:\\d|\\.-|\\.(?!$|"+e.src_ZPCc+"))",e.src_path="(?:[/?#](?:(?!"+e.src_ZCc+"|"+s+`|[()[\\]{}.,"'?!\\-;]).|\\[(?:(?!`+e.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+e.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+e.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+e.src_ZCc+`|["]).)+\\"|\\'(?:(?!`+e.src_ZCc+"|[']).)+\\'|\\'(?="+e.src_pseudo_letter+"|[-]).|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!"+e.src_ZCc+"|[.]).|"+(t&&t["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+e.src_ZCc+").|;(?!"+e.src_ZCc+").|\\!+(?!"+e.src_ZCc+"|[!]).|\\?(?!"+e.src_ZCc+"|[?]).)+|\\/)?",e.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*',e.src_xn="xn--[a-z0-9\\-]{1,59}",e.src_domain_root="(?:"+e.src_xn+"|"+e.src_pseudo_letter+"{1,63})",e.src_domain="(?:"+e.src_xn+"|(?:"+e.src_pseudo_letter+")|(?:"+e.src_pseudo_letter+"(?:-|"+e.src_pseudo_letter+"){0,61}"+e.src_pseudo_letter+"))",e.src_host="(?:(?:(?:(?:"+e.src_domain+")\\.)*"+e.src_domain+"))",e.tpl_host_fuzzy="(?:"+e.src_ip4+"|(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%)))",e.tpl_host_no_ip_fuzzy="(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%))",e.src_host_strict=e.src_host+e.src_host_terminator,e.tpl_host_fuzzy_strict=e.tpl_host_fuzzy+e.src_host_terminator,e.src_host_port_strict=e.src_host+e.src_port+e.src_host_terminator,e.tpl_host_port_fuzzy_strict=e.tpl_host_fuzzy+e.src_port+e.src_host_terminator,e.tpl_host_port_no_ip_fuzzy_strict=e.tpl_host_no_ip_fuzzy+e.src_port+e.src_host_terminator,e.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+e.src_ZPCc+"|>|$))",e.tpl_email_fuzzy="(^|"+s+'|"|\\(|'+e.src_ZCc+")("+e.src_email_name+"@"+e.tpl_host_fuzzy_strict+")",e.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_fuzzy_strict+e.src_path+")",e.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_no_ip_fuzzy_strict+e.src_path+")",e}),Y}function W(t){var e=Array.prototype.slice.call(arguments,1);return e.forEach(function(s){s&&Object.keys(s).forEach(function(n){t[n]=s[n]})}),t}function B(t){return Object.prototype.toString.call(t)}function Ue(t){return B(t)==="[object String]"}function Ve(t){return B(t)==="[object Object]"}function Ke(t){return B(t)==="[object RegExp]"}function oe(t){return B(t)==="[object Function]"}function Qe(t){return t.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var fe={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function Xe(t){return Object.keys(t||{}).reduce(function(e,s){return e||fe.hasOwnProperty(s)},!1)}var et={"http:":{validate:function(t,e,s){var n=t.slice(e);return s.re.http||(s.re.http=new RegExp("^\\/\\/"+s.re.src_auth+s.re.src_host_port_strict+s.re.src_path,"i")),s.re.http.test(n)?n.match(s.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(t,e,s){var n=t.slice(e);return s.re.no_http||(s.re.no_http=new RegExp("^"+s.re.src_auth+"(?:localhost|(?:(?:"+s.re.src_domain+")\\.)+"+s.re.src_domain_root+")"+s.re.src_port+s.re.src_host_terminator+s.re.src_path,"i")),s.re.no_http.test(n)?e>=3&&t[e-3]===":"||e>=3&&t[e-3]==="/"?0:n.match(s.re.no_http)[0].length:0}},"mailto:":{validate:function(t,e,s){var n=t.slice(e);return s.re.mailto||(s.re.mailto=new RegExp("^"+s.re.src_email_name+"@"+s.re.src_host_strict,"i")),s.re.mailto.test(n)?n.match(s.re.mailto)[0].length:0}}},tt="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",st="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function nt(t){t.__index__=-1,t.__text_cache__=""}function rt(t){return function(e,s){var n=e.slice(s);return t.test(n)?n.match(t)[0].length:0}}function ue(){return function(t,e){e.normalize(t)}}function I(t){var e=t.re=Ge()(t.__opts__),s=t.__tlds__.slice();t.onCompile(),t.__tlds_replaced__||s.push(tt),s.push(e.src_xn),e.src_tlds=s.join("|");function n(o){return o.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(n(e.tpl_email_fuzzy),"i"),e.link_fuzzy=RegExp(n(e.tpl_link_fuzzy),"i"),e.link_no_ip_fuzzy=RegExp(n(e.tpl_link_no_ip_fuzzy),"i"),e.host_fuzzy_test=RegExp(n(e.tpl_host_fuzzy_test),"i");var r=[];t.__compiled__={};function u(o,l){throw new Error('(LinkifyIt) Invalid schema "'+o+'": '+l)}Object.keys(t.__schemas__).forEach(function(o){var l=t.__schemas__[o];if(l!==null){var c={validate:null,link:null};if(t.__compiled__[o]=c,Ve(l)){Ke(l.validate)?c.validate=rt(l.validate):oe(l.validate)?c.validate=l.validate:u(o,l),oe(l.normalize)?c.normalize=l.normalize:l.normalize?u(o,l):c.normalize=ue();return}if(Ue(l)){r.push(o);return}u(o,l)}}),r.forEach(function(o){t.__compiled__[t.__schemas__[o]]&&(t.__compiled__[o].validate=t.__compiled__[t.__schemas__[o]].validate,t.__compiled__[o].normalize=t.__compiled__[t.__schemas__[o]].normalize)}),t.__compiled__[""]={validate:null,normalize:ue()};var i=Object.keys(t.__compiled__).filter(function(o){return o.length>0&&t.__compiled__[o]}).map(Qe).join("|");t.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+i+")","i"),t.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+i+")","ig"),t.re.pretest=RegExp("("+t.re.schema_test.source+")|("+t.re.host_fuzzy_test.source+")|@","i"),nt(t)}function it(t,e){var s=t.__index__,n=t.__last_index__,r=t.__text_cache__.slice(s,n);this.schema=t.__schema__.toLowerCase(),this.index=s+e,this.lastIndex=n+e,this.raw=r,this.text=r,this.url=r}function ae(t,e){var s=new it(t,e);return t.__compiled__[s.schema].normalize(s,t),s}function E(t,e){if(!(this instanceof E))return new E(t,e);e||Xe(t)&&(e=t,t={}),this.__opts__=W({},fe,e),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=W({},et,t),this.__compiled__={},this.__tlds__=st,this.__tlds_replaced__=!1,this.re={},I(this)}E.prototype.add=function(e,s){return this.__schemas__[e]=s,I(this),this};E.prototype.set=function(e){return this.__opts__=W(this.__opts__,e),this};E.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var s,n,r,u,i,o,l,c,d;if(this.re.schema_test.test(e)){for(l=this.re.schema_search,l.lastIndex=0;(s=l.exec(e))!==null;)if(u=this.testSchemaAt(e,s[2],l.lastIndex),u){this.__schema__=s[2],this.__index__=s.index+s[1].length,this.__last_index__=s.index+s[0].length+u;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(c=e.search(this.re.host_fuzzy_test),c>=0&&(this.__index__<0||c<this.__index__)&&(n=e.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy))!==null&&(i=n.index+n[1].length,(this.__index__<0||i<this.__index__)&&(this.__schema__="",this.__index__=i,this.__last_index__=n.index+n[0].length))),this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]&&(d=e.indexOf("@"),d>=0&&(r=e.match(this.re.email_fuzzy))!==null&&(i=r.index+r[1].length,o=r.index+r[0].length,(this.__index__<0||i<this.__index__||i===this.__index__&&o>this.__last_index__)&&(this.__schema__="mailto:",this.__index__=i,this.__last_index__=o))),this.__index__>=0};E.prototype.pretest=function(e){return this.re.pretest.test(e)};E.prototype.testSchemaAt=function(e,s,n){return this.__compiled__[s.toLowerCase()]?this.__compiled__[s.toLowerCase()].validate(e,n,this):0};E.prototype.match=function(e){var s=0,n=[];this.__index__>=0&&this.__text_cache__===e&&(n.push(ae(this,s)),s=this.__last_index__);for(var r=s?e.slice(s):e;this.test(r);)n.push(ae(this,s)),r=r.slice(this.__last_index__),s+=this.__last_index__;return n.length?n:null};E.prototype.tlds=function(e,s){return e=Array.isArray(e)?e:[e],s?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(n,r,u){return n!==u[r-1]}).reverse(),I(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,I(this),this)};E.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url="mailto:"+e.url)};E.prototype.onCompile=function(){};var ct=E,ot=w&&w.__createBinding||(Object.create?function(t,e,s,n){n===void 0&&(n=s);var r=Object.getOwnPropertyDescriptor(e,s);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[s]}}),Object.defineProperty(t,n,r)}:function(t,e,s,n){n===void 0&&(n=s),t[n]=e[s]}),ut=w&&w.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),at=w&&w.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(s){var n=[];for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(n[n.length]=r);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var s={};if(e!=null)for(var n=t(e),r=0;r<n.length;r++)n[r]!=="default"&&ot(s,e,n[r]);return ut(s,e),s}}(),he=w&&w.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_e,"__esModule",{value:!0});var lt=_e.default=Ft;const _t=he(Be),ft=qe,ht=he(ct),j=at(C);function dt(t,e=!1){return t=(0,ft.escapeCarriageReturn)(yt(t)),_t.default.ansiToJson(t,{json:!0,remove_empty:!0,use_classes:e})}function gt(t){let e="";return t.bg&&(e+=`${t.bg}-bg `),t.fg&&(e+=`${t.fg}-fg `),t.decoration&&(e+=`ansi-${t.decoration} `),e===""?null:(e=e.substring(0,e.length-1),e)}function pt(t){const e={};switch(t.bg&&(e.backgroundColor=`rgb(${t.bg})`),t.fg&&(e.color=`rgb(${t.fg})`),t.decoration){case"bold":e.fontWeight="bold";break;case"dim":e.opacity="0.5";break;case"italic":e.fontStyle="italic";break;case"hidden":e.visibility="hidden";break;case"strikethrough":e.textDecoration="line-through";break;case"underline":e.textDecoration="underline";break;case"blink":e.textDecoration="blink";break}return e}function mt(t,e,s,n){const r=e?null:pt(s),u=e?gt(s):null;return t?t==="fuzzy"?Dt(s,n,r,u):xt(s,n,r,u):j.createElement("span",{style:r,key:n,className:u},s.content)}function xt(t,e,s,n){const r=[],u=/(\s|^)(https?:\/\/(?:www\.|(?!www))[^\s.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/g;let i=0,o;for(;(o=u.exec(t.content))!==null;){const[,l,c]=o,d=o.index+l.length;d>i&&r.push(t.content.substring(i,d));const a=c.startsWith("www.")?`http://${c}`:c;r.push(j.createElement("a",{key:i,href:a,target:"_blank"},`${c}`)),i=u.lastIndex}return i<t.content.length&&r.push(t.content.substring(i)),j.createElement("span",{style:s,key:e,className:n},r)}function Dt(t,e,s,n){var r;const u=(0,ht.default)({fuzzyEmail:!1}).tlds(["io"],!0);if(!u.pretest(t.content))return j.createElement("span",{style:s,key:e,className:n},t.content);const i=u.match(t.content);if(!i)return j.createElement("span",{style:s,key:e,className:n},t.content);const o=[t.content.substring(0,(r=i[0])===null||r===void 0?void 0:r.index)];return i.forEach((l,c)=>{var d;o.push(j.createElement("a",{href:l.url,target:"_blank",key:c},t.content.substring(l.index,l.lastIndex))),i[c+1]&&o.push(t.content.substring(i[c].lastIndex,(d=i[c+1])===null||d===void 0?void 0:d.index))}),i[i.length-1].lastIndex!==t.content.length&&o.push(t.content.substring(i[i.length-1].lastIndex,t.content.length)),j.createElement("span",{style:s,key:e,className:n},o)}function Ft(t){const{className:e,useClasses:s,children:n,linkify:r}=t;return j.createElement("code",{className:e},dt(n??"",s??!1).map(mt.bind(null,r??!1,s??!1)))}function yt(t){let e=t;do t=e,e=t.replace(/[^\n]\x08/gm,"");while(e.length<t.length);return t}function bt(t){return/^\[(ERROR|FATAL)\]/.test(t)||/^ERROR\b/.test(t)?"text-destructive":/^\[(WARN|WARNING)\]/.test(t)||/^WARN(ING)?\b/.test(t)?"text-warning":/^\[DEBUG\]/.test(t)||/^DEBUG\b/.test(t)?"text-info":/^\[(INFO|DOWNLOAD|PROGRESS)\]/.test(t)||/^INFO\b/.test(t)?"text-success":"text-zinc-200"}function le(t){const e=$e({start:0,end:t}),s=e.hours??0,n=e.minutes??0,r=e.seconds??0;return s===0&&n===0?`${r}s`:s===0?`${n}m${r}s`:`${s}h${n}m`}function vt(){const[t,e]=C.useState([]),[s,n]=C.useState({}),[r,u]=C.useState({}),[i,o]=C.useState(null),l=C.useRef(""),[,c]=C.useState(0),d=C.useRef(null),a=i?r[i]??[]:[];C.useEffect(()=>{fetch("/__just/recipes",{cache:"no-store"}).then(y=>y.json()).then(e).catch(()=>e([])),fetch("/__config").then(y=>y.json()).then(y=>{l.current=y.stopToken??""}).catch(()=>{});const h=new EventSource("/__just/logs");let f=!0;h.onopen=()=>{if(f){f=!1;return}u({}),n({})},h.onmessage=y=>{try{const m=JSON.parse(y.data);m.type==="log"?u(v=>{const A=[...v[m.recipe]??[],m.text];return{...v,[m.recipe]:A.length>1e3?A.slice(-1e3):A}}):m.type==="clear"?u(v=>({...v,[m.recipe]:[]})):m.type==="state"&&(n(v=>{var A;return{...v,[m.recipe]:{state:m.state,code:m.code,signal:m.signal,startedAt:m.startedAt??((A=v[m.recipe])==null?void 0:A.startedAt)??Date.now()}}}),m.state==="running"&&o(m.recipe))}catch{}},h.onerror=()=>{};const D=setInterval(()=>c(y=>y+1),1e3);return()=>{h.close(),clearInterval(D)}},[]),C.useEffect(()=>{d.current&&(d.current.scrollTop=d.current.scrollHeight)},[a.length,i]);const p=(h,f)=>{fetch(`/__just/${h}`,{method:"POST",headers:{"x-stop-token":l.current,"Content-Type":"application/json"},body:JSON.stringify({recipe:f})}).catch(()=>pe.error(`just ${h} 动作失败`))},b=t.map(h=>({...h,task:s[h.name]})),x=b.filter(h=>{var f;return((f=h.task)==null?void 0:f.state)==="running"}).length,F=i?s[i]:void 0,k=(F==null?void 0:F.state)==="running",N=(h,f,D)=>h?"bg-success animate-pulse":f?D!=null&&D.signal?"bg-muted-foreground":D!=null&&D.code?"bg-destructive":"bg-success/60":"bg-muted-foreground/30",de={key:"__console__",label:"",badge:_.jsx("span",{className:"font-mono opacity-80",children:x>0?x:""}),className:i===null?"":"border-border text-muted-foreground hover:text-foreground"},ge=t.map(h=>{const f=s[h.name],D=(f==null?void 0:f.state)==="running",y=(f==null?void 0:f.state)==="exited",m=i===h.name;return{key:h.name,label:h.name,className:m?"":D?"border-success/40 bg-success/10 text-success hover:bg-success/20":"",renderLabel:()=>_.jsxs(_.Fragment,{children:[_.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${N(D,y,f)}`}),_.jsx("span",{children:h.name})]}),renderExtra:()=>y&&!m?_.jsx("span",{className:`text-[10px] ${f!=null&&f.signal?"opacity-60":f!=null&&f.code?"text-destructive":"text-success"}`,children:f!=null&&f.signal?"停":f==null?void 0:f.code}):void 0}});return _.jsxs("div",{className:"h-full flex flex-col",children:[_.jsx("div",{className:"flex-none flex items-center gap-1.5 flex-wrap px-3 py-2 border-b bg-background",children:_.jsx(xe,{items:[de,...ge],value:i??"__console__",onChange:h=>o(h==="__console__"?null:h),ariaLabel:"任务筛选"})}),i===null?_.jsxs("div",{className:"flex-1 min-h-0 overflow-auto p-3 grid gap-2.5 grid-cols-1 md:grid-cols-2 xl:grid-cols-3 content-start",children:[b.length===0&&_.jsx("p",{className:"text-xs text-muted-foreground col-span-full p-4 text-center",children:"未发现 justfile recipes"}),b.map(h=>{const f=h.task,D=(f==null?void 0:f.state)==="running",y=(f==null?void 0:f.state)==="exited",m=(r[h.name]??[]).slice(-3).map(v=>v.replace(/\r?\n$/,"").replace(/\x1b\[[0-9;]*m/g,""));return _.jsxs("div",{onClick:()=>o(h.name),className:"group rounded-lg border bg-card p-3 cursor-pointer hover:border-muted-foreground/40 transition-colors",children:[_.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[_.jsx("span",{className:`h-2 w-2 rounded-full flex-none ${N(D,y,f)}`}),_.jsx("span",{className:"font-mono font-medium",children:h.name}),D&&_.jsx("span",{className:"text-success font-mono",children:le(Date.now()-f.startedAt)}),y&&_.jsx("span",{className:`font-mono ${f.signal?"text-muted-foreground":f.code?"text-destructive":"text-success"}`,children:f.signal?"已停止":`exit ${f.code}`}),!f&&_.jsx("span",{className:"text-muted-foreground/60",children:"未运行"}),_.jsx("span",{className:"ml-auto flex items-center gap-1",onClick:v=>v.stopPropagation(),children:D?_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("stop",h.name),children:[_.jsx(ee,{className:"h-2.5 w-2.5"}),"停止"]}):_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("start",h.name),children:[y?_.jsx(X,{className:"h-2.5 w-2.5"}):_.jsx(Le,{className:"h-2.5 w-2.5"}),y?"重跑":"启动"]})})]}),h.description&&_.jsx("p",{className:"mt-1 text-[11px] text-muted-foreground/70 truncate",children:h.description}),_.jsx("div",{className:"mt-2 rounded bg-[#0d1117] px-2 py-1.5 font-mono text-[10px] leading-relaxed text-zinc-400 min-h-[3.4em]",children:m.length?m.map((v,A)=>_.jsx("div",{className:"truncate",children:v},A)):_.jsxs("span",{className:"text-zinc-600",children:["$ just ",h.name," …"]})})]},h.name)})]}):_.jsxs("div",{className:"flex-1 min-h-0 flex flex-col",children:[_.jsxs("div",{className:"flex-none flex items-center gap-2 px-3.5 h-8 border-b bg-background text-[11px]",children:[_.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${k?"bg-success animate-pulse":"bg-muted-foreground"}`}),_.jsx("span",{className:"font-mono font-medium",children:i}),_.jsx("span",{className:"text-muted-foreground font-mono",children:k?`running · ${le(Date.now()-F.startedAt)}`:F!=null&&F.signal?"已停止":F?`exit ${F.code}`:"未运行"}),_.jsxs("span",{className:"ml-auto flex items-center gap-1",children:[k?_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("stop",i),children:[_.jsx(ee,{className:"h-2.5 w-2.5"}),"停止"]}):_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("start",i),children:[_.jsx(X,{className:"h-2.5 w-2.5"}),F?"重跑":"启动"]}),_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("clear",i),disabled:!a.length,children:[_.jsx(Ie,{className:"h-2.5 w-2.5"}),"清屏"]}),_.jsxs("span",{className:"text-muted-foreground font-mono ml-1",children:[a.length," 行"]})]})]}),_.jsxs("div",{ref:d,className:"flex-1 min-h-0 overflow-auto bg-[#0d1117] p-3.5 font-mono text-xs leading-relaxed text-zinc-200",children:[a.length===0&&_.jsxs("p",{className:"text-zinc-500",children:["$ just ",i," · 等待输出…"]}),a.map((h,f)=>{const D=h.replace(/\r?\n$/,"");return _.jsx("div",{className:"whitespace-pre-wrap break-all min-h-[1.25rem]",children:/\x1b\[/.test(D)?_.jsx(lt,{children:D}):_.jsx("span",{className:bt(D),children:D})},f)})]})]})]})}function Et(){return _.jsx("div",{className:"mx-auto h-full max-w-6xl bg-background border rounded-lg shadow-sm overflow-hidden flex flex-col",children:_.jsx(vt,{})})}const Ct=Object.freeze(Object.defineProperty({__proto__:null,default:Et},Symbol.toStringTag,{value:"Module"})),jt={mode:"just",label:"Just Runner",icon:"📜",description:"Just 任务日志与执行",Workspace:C.lazy(()=>me(()=>Promise.resolve().then(()=>Ct),void 0))};export{Et as JustWorkspace,jt as default};
|
|
25
|
+
`+te(t.slice(e+1))}T.exports=U;T.exports.escapeCarriageReturn=U;T.exports.escapeCarriageReturnSafe=Ze;var qe=T.exports,P,se;function He(){return se||(se=1,P=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/),P}var Z,ne;function Ye(){return ne||(ne=1,Z=/[\0-\x1F\x7F-\x9F]/),Z}var q,re;function We(){return re||(re=1,q=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/),q}var H,ie;function Je(){return ie||(ie=1,H=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/),H}var Y,oe;function Ge(){return oe||(oe=1,Y=function(t){var e={};e.src_Any=He().source,e.src_Cc=Ye().source,e.src_Z=We().source,e.src_P=Je().source,e.src_ZPCc=[e.src_Z,e.src_P,e.src_Cc].join("|"),e.src_ZCc=[e.src_Z,e.src_Cc].join("|");var s="[><|]";return e.src_pseudo_letter="(?:(?!"+s+"|"+e.src_ZPCc+")"+e.src_Any+")",e.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",e.src_auth="(?:(?:(?!"+e.src_ZCc+"|[@/\\[\\]()]).)+@)?",e.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",e.src_host_terminator="(?=$|"+s+"|"+e.src_ZPCc+")(?!-|_|:\\d|\\.-|\\.(?!$|"+e.src_ZPCc+"))",e.src_path="(?:[/?#](?:(?!"+e.src_ZCc+"|"+s+`|[()[\\]{}.,"'?!\\-;]).|\\[(?:(?!`+e.src_ZCc+"|\\]).)*\\]|\\((?:(?!"+e.src_ZCc+"|[)]).)*\\)|\\{(?:(?!"+e.src_ZCc+'|[}]).)*\\}|\\"(?:(?!'+e.src_ZCc+`|["]).)+\\"|\\'(?:(?!`+e.src_ZCc+"|[']).)+\\'|\\'(?="+e.src_pseudo_letter+"|[-]).|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!"+e.src_ZCc+"|[.]).|"+(t&&t["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+",(?!"+e.src_ZCc+").|;(?!"+e.src_ZCc+").|\\!+(?!"+e.src_ZCc+"|[!]).|\\?(?!"+e.src_ZCc+"|[?]).)+|\\/)?",e.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*',e.src_xn="xn--[a-z0-9\\-]{1,59}",e.src_domain_root="(?:"+e.src_xn+"|"+e.src_pseudo_letter+"{1,63})",e.src_domain="(?:"+e.src_xn+"|(?:"+e.src_pseudo_letter+")|(?:"+e.src_pseudo_letter+"(?:-|"+e.src_pseudo_letter+"){0,61}"+e.src_pseudo_letter+"))",e.src_host="(?:(?:(?:(?:"+e.src_domain+")\\.)*"+e.src_domain+"))",e.tpl_host_fuzzy="(?:"+e.src_ip4+"|(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%)))",e.tpl_host_no_ip_fuzzy="(?:(?:(?:"+e.src_domain+")\\.)+(?:%TLDS%))",e.src_host_strict=e.src_host+e.src_host_terminator,e.tpl_host_fuzzy_strict=e.tpl_host_fuzzy+e.src_host_terminator,e.src_host_port_strict=e.src_host+e.src_port+e.src_host_terminator,e.tpl_host_port_fuzzy_strict=e.tpl_host_fuzzy+e.src_port+e.src_host_terminator,e.tpl_host_port_no_ip_fuzzy_strict=e.tpl_host_no_ip_fuzzy+e.src_port+e.src_host_terminator,e.tpl_host_fuzzy_test="localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:"+e.src_ZPCc+"|>|$))",e.tpl_email_fuzzy="(^|"+s+'|"|\\(|'+e.src_ZCc+")("+e.src_email_name+"@"+e.tpl_host_fuzzy_strict+")",e.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_fuzzy_strict+e.src_path+")",e.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_no_ip_fuzzy_strict+e.src_path+")",e}),Y}function W(t){var e=Array.prototype.slice.call(arguments,1);return e.forEach(function(s){s&&Object.keys(s).forEach(function(n){t[n]=s[n]})}),t}function B(t){return Object.prototype.toString.call(t)}function Ue(t){return B(t)==="[object String]"}function Ve(t){return B(t)==="[object Object]"}function Ke(t){return B(t)==="[object RegExp]"}function ue(t){return B(t)==="[object Function]"}function Qe(t){return t.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var fe={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function Xe(t){return Object.keys(t||{}).reduce(function(e,s){return e||fe.hasOwnProperty(s)},!1)}var et={"http:":{validate:function(t,e,s){var n=t.slice(e);return s.re.http||(s.re.http=new RegExp("^\\/\\/"+s.re.src_auth+s.re.src_host_port_strict+s.re.src_path,"i")),s.re.http.test(n)?n.match(s.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(t,e,s){var n=t.slice(e);return s.re.no_http||(s.re.no_http=new RegExp("^"+s.re.src_auth+"(?:localhost|(?:(?:"+s.re.src_domain+")\\.)+"+s.re.src_domain_root+")"+s.re.src_port+s.re.src_host_terminator+s.re.src_path,"i")),s.re.no_http.test(n)?e>=3&&t[e-3]===":"||e>=3&&t[e-3]==="/"?0:n.match(s.re.no_http)[0].length:0}},"mailto:":{validate:function(t,e,s){var n=t.slice(e);return s.re.mailto||(s.re.mailto=new RegExp("^"+s.re.src_email_name+"@"+s.re.src_host_strict,"i")),s.re.mailto.test(n)?n.match(s.re.mailto)[0].length:0}}},tt="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",st="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function nt(t){t.__index__=-1,t.__text_cache__=""}function rt(t){return function(e,s){var n=e.slice(s);return t.test(n)?n.match(t)[0].length:0}}function ce(){return function(t,e){e.normalize(t)}}function I(t){var e=t.re=Ge()(t.__opts__),s=t.__tlds__.slice();t.onCompile(),t.__tlds_replaced__||s.push(tt),s.push(e.src_xn),e.src_tlds=s.join("|");function n(u){return u.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(n(e.tpl_email_fuzzy),"i"),e.link_fuzzy=RegExp(n(e.tpl_link_fuzzy),"i"),e.link_no_ip_fuzzy=RegExp(n(e.tpl_link_no_ip_fuzzy),"i"),e.host_fuzzy_test=RegExp(n(e.tpl_host_fuzzy_test),"i");var r=[];t.__compiled__={};function c(u,l){throw new Error('(LinkifyIt) Invalid schema "'+u+'": '+l)}Object.keys(t.__schemas__).forEach(function(u){var l=t.__schemas__[u];if(l!==null){var o={validate:null,link:null};if(t.__compiled__[u]=o,Ve(l)){Ke(l.validate)?o.validate=rt(l.validate):ue(l.validate)?o.validate=l.validate:c(u,l),ue(l.normalize)?o.normalize=l.normalize:l.normalize?c(u,l):o.normalize=ce();return}if(Ue(l)){r.push(u);return}c(u,l)}}),r.forEach(function(u){t.__compiled__[t.__schemas__[u]]&&(t.__compiled__[u].validate=t.__compiled__[t.__schemas__[u]].validate,t.__compiled__[u].normalize=t.__compiled__[t.__schemas__[u]].normalize)}),t.__compiled__[""]={validate:null,normalize:ce()};var i=Object.keys(t.__compiled__).filter(function(u){return u.length>0&&t.__compiled__[u]}).map(Qe).join("|");t.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+i+")","i"),t.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+i+")","ig"),t.re.pretest=RegExp("("+t.re.schema_test.source+")|("+t.re.host_fuzzy_test.source+")|@","i"),nt(t)}function it(t,e){var s=t.__index__,n=t.__last_index__,r=t.__text_cache__.slice(s,n);this.schema=t.__schema__.toLowerCase(),this.index=s+e,this.lastIndex=n+e,this.raw=r,this.text=r,this.url=r}function ae(t,e){var s=new it(t,e);return t.__compiled__[s.schema].normalize(s,t),s}function E(t,e){if(!(this instanceof E))return new E(t,e);e||Xe(t)&&(e=t,t={}),this.__opts__=W({},fe,e),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=W({},et,t),this.__compiled__={},this.__tlds__=st,this.__tlds_replaced__=!1,this.re={},I(this)}E.prototype.add=function(e,s){return this.__schemas__[e]=s,I(this),this};E.prototype.set=function(e){return this.__opts__=W(this.__opts__,e),this};E.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var s,n,r,c,i,u,l,o,d;if(this.re.schema_test.test(e)){for(l=this.re.schema_search,l.lastIndex=0;(s=l.exec(e))!==null;)if(c=this.testSchemaAt(e,s[2],l.lastIndex),c){this.__schema__=s[2],this.__index__=s.index+s[1].length,this.__last_index__=s.index+s[0].length+c;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(o=e.search(this.re.host_fuzzy_test),o>=0&&(this.__index__<0||o<this.__index__)&&(n=e.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy))!==null&&(i=n.index+n[1].length,(this.__index__<0||i<this.__index__)&&(this.__schema__="",this.__index__=i,this.__last_index__=n.index+n[0].length))),this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]&&(d=e.indexOf("@"),d>=0&&(r=e.match(this.re.email_fuzzy))!==null&&(i=r.index+r[1].length,u=r.index+r[0].length,(this.__index__<0||i<this.__index__||i===this.__index__&&u>this.__last_index__)&&(this.__schema__="mailto:",this.__index__=i,this.__last_index__=u))),this.__index__>=0};E.prototype.pretest=function(e){return this.re.pretest.test(e)};E.prototype.testSchemaAt=function(e,s,n){return this.__compiled__[s.toLowerCase()]?this.__compiled__[s.toLowerCase()].validate(e,n,this):0};E.prototype.match=function(e){var s=0,n=[];this.__index__>=0&&this.__text_cache__===e&&(n.push(ae(this,s)),s=this.__last_index__);for(var r=s?e.slice(s):e;this.test(r);)n.push(ae(this,s)),r=r.slice(this.__last_index__),s+=this.__last_index__;return n.length?n:null};E.prototype.tlds=function(e,s){return e=Array.isArray(e)?e:[e],s?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(n,r,c){return n!==c[r-1]}).reverse(),I(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,I(this),this)};E.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url="mailto:"+e.url)};E.prototype.onCompile=function(){};var ot=E,ut=w&&w.__createBinding||(Object.create?function(t,e,s,n){n===void 0&&(n=s);var r=Object.getOwnPropertyDescriptor(e,s);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[s]}}),Object.defineProperty(t,n,r)}:function(t,e,s,n){n===void 0&&(n=s),t[n]=e[s]}),ct=w&&w.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),at=w&&w.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(s){var n=[];for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(n[n.length]=r);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var s={};if(e!=null)for(var n=t(e),r=0;r<n.length;r++)n[r]!=="default"&&ut(s,e,n[r]);return ct(s,e),s}}(),he=w&&w.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_e,"__esModule",{value:!0});var lt=_e.default=Ft;const _t=he(Be),ft=qe,ht=he(ot),z=at(C);function dt(t,e=!1){return t=(0,ft.escapeCarriageReturn)(yt(t)),_t.default.ansiToJson(t,{json:!0,remove_empty:!0,use_classes:e})}function gt(t){let e="";return t.bg&&(e+=`${t.bg}-bg `),t.fg&&(e+=`${t.fg}-fg `),t.decoration&&(e+=`ansi-${t.decoration} `),e===""?null:(e=e.substring(0,e.length-1),e)}function pt(t){const e={};switch(t.bg&&(e.backgroundColor=`rgb(${t.bg})`),t.fg&&(e.color=`rgb(${t.fg})`),t.decoration){case"bold":e.fontWeight="bold";break;case"dim":e.opacity="0.5";break;case"italic":e.fontStyle="italic";break;case"hidden":e.visibility="hidden";break;case"strikethrough":e.textDecoration="line-through";break;case"underline":e.textDecoration="underline";break;case"blink":e.textDecoration="blink";break}return e}function mt(t,e,s,n){const r=e?null:pt(s),c=e?gt(s):null;return t?t==="fuzzy"?Dt(s,n,r,c):xt(s,n,r,c):z.createElement("span",{style:r,key:n,className:c},s.content)}function xt(t,e,s,n){const r=[],c=/(\s|^)(https?:\/\/(?:www\.|(?!www))[^\s.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/g;let i=0,u;for(;(u=c.exec(t.content))!==null;){const[,l,o]=u,d=u.index+l.length;d>i&&r.push(t.content.substring(i,d));const a=o.startsWith("www.")?`http://${o}`:o;r.push(z.createElement("a",{key:i,href:a,target:"_blank"},`${o}`)),i=c.lastIndex}return i<t.content.length&&r.push(t.content.substring(i)),z.createElement("span",{style:s,key:e,className:n},r)}function Dt(t,e,s,n){var r;const c=(0,ht.default)({fuzzyEmail:!1}).tlds(["io"],!0);if(!c.pretest(t.content))return z.createElement("span",{style:s,key:e,className:n},t.content);const i=c.match(t.content);if(!i)return z.createElement("span",{style:s,key:e,className:n},t.content);const u=[t.content.substring(0,(r=i[0])===null||r===void 0?void 0:r.index)];return i.forEach((l,o)=>{var d;u.push(z.createElement("a",{href:l.url,target:"_blank",key:o},t.content.substring(l.index,l.lastIndex))),i[o+1]&&u.push(t.content.substring(i[o].lastIndex,(d=i[o+1])===null||d===void 0?void 0:d.index))}),i[i.length-1].lastIndex!==t.content.length&&u.push(t.content.substring(i[i.length-1].lastIndex,t.content.length)),z.createElement("span",{style:s,key:e,className:n},u)}function Ft(t){const{className:e,useClasses:s,children:n,linkify:r}=t;return z.createElement("code",{className:e},dt(n??"",s??!1).map(mt.bind(null,r??!1,s??!1)))}function yt(t){let e=t;do t=e,e=t.replace(/[^\n]\x08/gm,"");while(e.length<t.length);return t}function bt(t){return/^\[(ERROR|FATAL)\]/.test(t)||/^ERROR\b/.test(t)?"text-destructive":/^\[(WARN|WARNING)\]/.test(t)||/^WARN(ING)?\b/.test(t)?"text-warning":/^\[DEBUG\]/.test(t)||/^DEBUG\b/.test(t)?"text-info":/^\[(INFO|DOWNLOAD|PROGRESS)\]/.test(t)||/^INFO\b/.test(t)?"text-success":"text-terminal-fg"}function le(t){const e=$e({start:0,end:t}),s=e.hours??0,n=e.minutes??0,r=e.seconds??0;return s===0&&n===0?`${r}s`:s===0?`${n}m${r}s`:`${s}h${n}m`}function vt(){const[t,e]=C.useState([]),[s,n]=C.useState({}),[r,c]=C.useState({}),[i,u]=C.useState(null),l=C.useRef(""),[,o]=C.useState(0),d=C.useRef(null),a=i?r[i]??[]:[];C.useEffect(()=>{fetch("/__just/recipes",{cache:"no-store"}).then(y=>y.json()).then(e).catch(()=>e([])),fetch("/__config").then(y=>y.json()).then(y=>{l.current=y.stopToken??""}).catch(()=>{});const h=new EventSource("/__just/logs");let f=!0;h.onopen=()=>{if(f){f=!1;return}c({}),n({})},h.onmessage=y=>{try{const m=JSON.parse(y.data);m.type==="log"?c(v=>{const A=[...v[m.recipe]??[],m.text];return{...v,[m.recipe]:A.length>1e3?A.slice(-1e3):A}}):m.type==="clear"?c(v=>({...v,[m.recipe]:[]})):m.type==="state"&&(n(v=>{var A;return{...v,[m.recipe]:{state:m.state,code:m.code,signal:m.signal,startedAt:m.startedAt??((A=v[m.recipe])==null?void 0:A.startedAt)??Date.now()}}}),m.state==="running"&&u(m.recipe))}catch{}},h.onerror=()=>{};const D=setInterval(()=>o(y=>y+1),1e3);return()=>{h.close(),clearInterval(D)}},[]),C.useEffect(()=>{d.current&&(d.current.scrollTop=d.current.scrollHeight)},[a.length,i]);const p=(h,f)=>{fetch(`/__just/${h}`,{method:"POST",headers:{"x-stop-token":l.current,"Content-Type":"application/json"},body:JSON.stringify({recipe:f})}).catch(()=>pe.error(`just ${h} 动作失败`))},b=t.map(h=>({...h,task:s[h.name]})),x=b.filter(h=>{var f;return((f=h.task)==null?void 0:f.state)==="running"}).length,F=i?s[i]:void 0,k=(F==null?void 0:F.state)==="running",N=(h,f,D)=>h?"bg-success animate-pulse":f?D!=null&&D.signal?"bg-muted-foreground":D!=null&&D.code?"bg-destructive":"bg-success/60":"bg-muted-foreground/30",de={key:"__console__",label:"",badge:_.jsx("span",{className:"font-mono opacity-80",children:x>0?x:""}),className:i===null?"":"border-border text-muted-foreground hover:text-foreground"},ge=t.map(h=>{const f=s[h.name],D=(f==null?void 0:f.state)==="running",y=(f==null?void 0:f.state)==="exited",m=i===h.name;return{key:h.name,label:h.name,className:m?"":D?"border-success/40 bg-success/10 text-success hover:bg-success/20":"",renderLabel:()=>_.jsxs(_.Fragment,{children:[_.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${N(D,y,f)}`}),_.jsx("span",{children:h.name})]}),renderExtra:()=>y&&!m?_.jsx("span",{className:`text-[10px] ${f!=null&&f.signal?"opacity-60":f!=null&&f.code?"text-destructive":"text-success"}`,children:f!=null&&f.signal?"停":f==null?void 0:f.code}):void 0}});return _.jsxs("div",{className:"h-full flex flex-col",children:[_.jsx("div",{className:"flex-none flex items-center gap-1.5 flex-wrap px-3 py-2 border-b bg-background",children:_.jsx(xe,{items:[de,...ge],value:i??"__console__",onChange:h=>u(h==="__console__"?null:h),ariaLabel:"任务筛选"})}),i===null?_.jsxs("div",{className:"flex-1 min-h-0 overflow-auto p-3 grid gap-2.5 grid-cols-1 md:grid-cols-2 xl:grid-cols-3 content-start",children:[b.length===0&&_.jsx("p",{className:"text-xs text-muted-foreground col-span-full p-4 text-center",children:"未发现 justfile recipes"}),b.map(h=>{const f=h.task,D=(f==null?void 0:f.state)==="running",y=(f==null?void 0:f.state)==="exited",m=(r[h.name]??[]).slice(-3).map(v=>v.replace(/\r?\n$/,"").replace(/\x1b\[[0-9;]*m/g,""));return _.jsxs("div",{onClick:()=>u(h.name),className:"group rounded-lg border bg-card p-3 cursor-pointer hover:border-muted-foreground/40 transition-colors",children:[_.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[_.jsx("span",{className:`h-2 w-2 rounded-full flex-none ${N(D,y,f)}`}),_.jsx("span",{className:"font-mono font-medium",children:h.name}),D&&_.jsx("span",{className:"text-success font-mono",children:le(Date.now()-f.startedAt)}),y&&_.jsx("span",{className:`font-mono ${f.signal?"text-muted-foreground":f.code?"text-destructive":"text-success"}`,children:f.signal?"已停止":`exit ${f.code}`}),!f&&_.jsx("span",{className:"text-muted-foreground/60",children:"未运行"}),_.jsx("span",{className:"ml-auto flex items-center gap-1",onClick:v=>v.stopPropagation(),children:D?_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("stop",h.name),children:[_.jsx(ee,{className:"h-2.5 w-2.5"}),"停止"]}):_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("start",h.name),children:[y?_.jsx(X,{className:"h-2.5 w-2.5"}):_.jsx(Le,{className:"h-2.5 w-2.5"}),y?"重跑":"启动"]})})]}),h.description&&_.jsx("p",{className:"mt-1 text-[11px] text-muted-foreground/70 truncate",children:h.description}),_.jsx("div",{className:"mt-2 rounded bg-terminal-bg px-2 py-1.5 font-mono text-[10px] leading-relaxed text-terminal-fg/70 min-h-[3.4em]",children:m.length?m.map((v,A)=>_.jsx("div",{className:"truncate",children:v},A)):_.jsxs("span",{className:"text-terminal-fg/40",children:["$ just ",h.name," …"]})})]},h.name)})]}):_.jsxs("div",{className:"flex-1 min-h-0 flex flex-col",children:[_.jsxs("div",{className:"flex-none flex items-center gap-2 px-3.5 h-8 border-b bg-background text-[11px]",children:[_.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${k?"bg-success animate-pulse":"bg-muted-foreground"}`}),_.jsx("span",{className:"font-mono font-medium",children:i}),_.jsx("span",{className:"text-muted-foreground font-mono",children:k?`running · ${le(Date.now()-F.startedAt)}`:F!=null&&F.signal?"已停止":F?`exit ${F.code}`:"未运行"}),_.jsxs("span",{className:"ml-auto flex items-center gap-1",children:[k?_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("stop",i),children:[_.jsx(ee,{className:"h-2.5 w-2.5"}),"停止"]}):_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("start",i),children:[_.jsx(X,{className:"h-2.5 w-2.5"}),F?"重跑":"启动"]}),_.jsxs(O,{variant:"ghost",className:"h-6 gap-1 px-2 text-[11px]",onClick:()=>p("clear",i),disabled:!a.length,children:[_.jsx(Ie,{className:"h-2.5 w-2.5"}),"清屏"]}),_.jsxs("span",{className:"text-muted-foreground font-mono ml-1",children:[a.length," 行"]})]})]}),_.jsxs("div",{ref:d,className:"flex-1 min-h-0 overflow-auto bg-terminal-bg p-3.5 font-mono text-xs leading-relaxed text-terminal-fg",children:[a.length===0&&_.jsxs("p",{className:"text-terminal-fg/50",children:["$ just ",i," · 等待输出…"]}),a.map((h,f)=>{const D=h.replace(/\r?\n$/,"");return _.jsx("div",{className:"whitespace-pre-wrap break-all min-h-[1.25rem]",children:/\x1b\[/.test(D)?_.jsx(lt,{children:D}):_.jsx("span",{className:bt(D),children:D})},f)})]})]})]})}function Et(){return _.jsx("div",{className:"mx-auto h-full max-w-6xl bg-background border rounded-lg shadow-sm overflow-hidden flex flex-col",children:_.jsx(vt,{})})}const Ct=Object.freeze(Object.defineProperty({__proto__:null,default:Et},Symbol.toStringTag,{value:"Module"})),zt={mode:"just",label:"Just Runner",icon:"📜",description:"Just 任务日志与执行",Workspace:C.lazy(()=>me(()=>Promise.resolve().then(()=>Ct),void 0))};export{Et as JustWorkspace,zt as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as D,j as r,r as s,E as T,G as U,F as Z,_ as P}from"./index-
|
|
1
|
+
import{c as D,j as r,r as s,E as T,G as U,F as Z,_ as P}from"./index-Cu37wtgU.js";import{M as J}from"./MdViewer-DoCxNu7A.js";import{C as G,I as K,a as q,u as X,F as Y}from"./FileIcon-CWL_Aew0.js";import{F as ee}from"./file-text-DHJKu2eF.js";import"./index-DKB8z9I8.js";import"./book-open-CCPWUzhH.js";/**
|
|
2
2
|
* @license lucide-react v0.460.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as f,r as i,j as e,E as V,P as N,_ as v}from"./index-
|
|
1
|
+
import{c as f,r as i,j as e,E as V,P as N,_ as v}from"./index-Cu37wtgU.js";import{M as I}from"./MdViewer-DoCxNu7A.js";import{C,I as F,M as w,T as R,A as E,V as O,S as P,B as U,a as L,F as M}from"./FileIcon-CWL_Aew0.js";import{F as T}from"./FilterPills-DfrtQ2BX.js";import{F as z}from"./file-text-DHJKu2eF.js";import{B as $}from"./book-open-CCPWUzhH.js";import"./index-DKB8z9I8.js";/**
|
|
2
2
|
* @license lucide-react v0.460.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c,r as l,j as e,B as p,E as g,_ as f}from"./index-
|
|
1
|
+
import{c,r as l,j as e,B as p,E as g,_ as f}from"./index-Cu37wtgU.js";import{B as h}from"./badge-izTmQYbF.js";import{F as y}from"./FilterPills-DfrtQ2BX.js";/**
|
|
2
2
|
* @license lucide-react v0.460.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
package/dist/web/index.html
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
6
|
<link rel="icon" href="/__app/favicon.svg" type="image/svg+xml" />
|
|
7
7
|
<title>zdashboard · 项目洞察</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-Cu37wtgU.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/assets/index-C39_SyD0.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
12
12
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--success: 142 76% 36%;--success-foreground: 0 0% 100%;--warning: 32 95% 44%;--warning-foreground: 0 0% 100%;--info: 199 89% 48%;--info-foreground: 0 0% 100%;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--border-width: 1px;--background: 0 0% 100%;--foreground: 240 10% 3.9%;--card: 0 0% 100%;--card-foreground: 240 10% 3.9%;--popover: 0 0% 100%;--popover-foreground: 240 10% 3.9%;--primary: 240 5.9% 10%;--primary-foreground: 0 0% 98%;--secondary: 240 4.8% 95.9%;--secondary-foreground: 240 5.9% 10%;--muted: 240 4.8% 95.9%;--muted-foreground: 240 3.8% 46.1%;--accent: 240 4.8% 95.9%;--accent-foreground: 240 5.9% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--border: 240 5.9% 90%;--input: 240 5.9% 90%;--ring: 240 10% 3.9%;--radius: .5rem}[data-mode=dark]{--success: 134 61% 64%;--success-foreground: 0 0% 100%;--warning: 38 92% 50%;--warning-foreground: 0 0% 100%;--info: 199 89% 48%;--info-foreground: 0 0% 100%;--background: 240 10% 3.9%;--foreground: 0 0% 98%;--card: 240 10% 3.9%;--card-foreground: 0 0% 98%;--popover: 240 10% 3.9%;--popover-foreground: 0 0% 98%;--primary: 0 0% 98%;--primary-foreground: 240 5.9% 10%;--secondary: 240 3.7% 15.9%;--secondary-foreground: 0 0% 98%;--muted: 240 3.7% 15.9%;--muted-foreground: 240 5% 64.9%;--accent: 240 3.7% 15.9%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--border: 240 3.7% 15.9%;--input: 240 3.7% 15.9%;--ring: 240 4.9% 83.9%}*{border-color:hsl(var(--border))}body{background:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.dot-grid{background-image:radial-gradient(circle at 1px 1px,hsl(var(--border)) 1px,transparent 0);background-size:20px 20px}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-full{grid-column:1 / -1}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[19px\]{height:19px}.h-\[1px\]{height:1px}.h-\[38px\]{height:38px}.h-\[42\%\]{height:42%}.h-\[52px\]{height:52px}.h-\[72px\]{height:72px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[80vh\]{max-height:80vh}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-\[1\.25rem\]{min-height:1.25rem}.min-h-\[3\.4em\]{min-height:3.4em}.w-0{width:0px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-\[240px\]{width:240px}.w-\[280px\]{width:280px}.w-\[50px\]{width:50px}.w-\[78\%\]{width:78%}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[8rem\]{min-width:8rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[280px\]{max-width:280px}.max-w-\[420px\]{max-width:420px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:.75rem}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-width:var(--border-width)}.border-0{border-width:0px}.border-b{border-bottom-width:var(--border-width)}.border-l{border-left-width:var(--border-width)}.border-l-0{border-left-width:0px}.border-l-2{border-left-width:2px}.border-r{border-right-width:var(--border-width)}.border-r-0{border-right-width:0px}.border-t{border-top-width:var(--border-width)}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-info\/30{border-color:hsl(var(--info) / .3)}.border-input{border-color:hsl(var(--input))}.border-muted-foreground\/50{border-color:hsl(var(--muted-foreground) / .5)}.border-primary{border-color:hsl(var(--primary))}.border-success\/30{border-color:hsl(var(--success) / .3)}.border-success\/40{border-color:hsl(var(--success) / .4)}.border-transparent{border-color:transparent}.border-warning{border-color:hsl(var(--warning))}.border-warning\/30{border-color:hsl(var(--warning) / .3)}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[\#0d1117\]{--tw-bg-opacity: 1;background-color:rgb(13 17 23 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/40{background-color:#0006}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/15{background-color:hsl(var(--destructive) / .15)}.bg-info{background-color:hsl(var(--info))}.bg-info\/10{background-color:hsl(var(--info) / .1)}.bg-info\/15{background-color:hsl(var(--info) / .15)}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground{background-color:hsl(var(--muted-foreground))}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground) / .3)}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground) / .4)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-success{background-color:hsl(var(--success))}.bg-success\/10{background-color:hsl(var(--success) / .1)}.bg-success\/15{background-color:hsl(var(--success) / .15)}.bg-success\/60{background-color:hsl(var(--success) / .6)}.bg-warning{background-color:hsl(var(--warning))}.bg-warning\/10{background-color:hsl(var(--warning) / .1)}.bg-warning\/15{background-color:hsl(var(--warning) / .15)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-zinc-500{--tw-bg-opacity: 1;background-color:rgb(113 113 122 / var(--tw-bg-opacity, 1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#c9d1d9\]{--tw-text-opacity: 1;color:rgb(201 209 217 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-info{color:hsl(var(--info))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-success{color:hsl(var(--success))}.text-warning{color:hsl(var(--warning))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-zinc-200{--tw-text-opacity: 1;color:rgb(228 228 231 / var(--tw-text-opacity, 1))}.text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.text-zinc-500{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.text-zinc-600{--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-\[width\,transform\]{transition-property:width,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in,.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.slide-in-from-left-1{--tw-enter-translate-x: -.25rem}.duration-200{animation-duration:.2s}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}@media (prefers-color-scheme: dark){.dark\:prose-invert{--tw-prose-body: var(--tw-prose-invert-body);--tw-prose-headings: var(--tw-prose-invert-headings);--tw-prose-lead: var(--tw-prose-invert-lead);--tw-prose-links: var(--tw-prose-invert-links);--tw-prose-bold: var(--tw-prose-invert-bold);--tw-prose-counters: var(--tw-prose-invert-counters);--tw-prose-bullets: var(--tw-prose-invert-bullets);--tw-prose-hr: var(--tw-prose-invert-hr);--tw-prose-quotes: var(--tw-prose-invert-quotes);--tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);--tw-prose-captions: var(--tw-prose-invert-captions);--tw-prose-kbd: var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);--tw-prose-code: var(--tw-prose-invert-code);--tw-prose-pre-code: var(--tw-prose-invert-pre-code);--tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);--tw-prose-th-borders: var(--tw-prose-invert-th-borders);--tw-prose-td-borders: var(--tw-prose-invert-td-borders)}}.last\:border-0:last-child{border-width:0px}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-muted-foreground\/40:hover{border-color:hsl(var(--muted-foreground) / .4)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-info:hover{background-color:hsl(var(--info))}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted) / .7)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-success:hover{background-color:hsl(var(--success))}.hover\:bg-success\/20:hover{background-color:hsl(var(--success) / .2)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:-translate-y-0\.5{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-muted-foreground\/30{border-color:hsl(var(--muted-foreground) / .3)}.group:hover .group-hover\:bg-primary\/10{background-color:hsl(var(--primary) / .1)}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:shadow-md{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.prose-headings\:scroll-mt-4 :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){scroll-margin-top:1rem}.prose-pre\:m-0 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){margin:0}.prose-pre\:bg-transparent :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){background-color:transparent}.prose-pre\:p-0 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){padding:0}@media (min-width: 640px){.sm\:absolute{position:absolute}.sm\:relative{position:relative}.sm\:left-auto{left:auto}.sm\:top-auto{top:auto}.sm\:z-30{z-index:30}.sm\:z-auto{z-index:auto}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:h-full{height:100%}.sm\:w-0{width:0px}.sm\:w-\[280px\]{width:280px}.sm\:max-w-none{max-width:none}.sm\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:border-r{border-right-width:var(--border-width)}.sm\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.sm\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (min-width: 768px){.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}[data-theme=pixel]{--success: 134 61% 44%;--success-foreground: 0 0% 100%;--warning: 30 50% 40%;--warning-foreground: 0 0% 100%;--info: 199 64% 54%;--info-foreground: 0 0% 100%;--background: 240 21% 96%;--foreground: 240 21% 11%;--card: 240 21% 96%;--card-foreground: 240 21% 11%;--popover: 240 21% 96%;--popover-foreground: 240 21% 11%;--primary: 16 77% 61%;--primary-foreground: 0 0% 100%;--secondary: 250 30% 80%;--secondary-foreground: 240 21% 11%;--muted: 250 30% 80%;--muted-foreground: 220 14% 40%;--accent: 250 30% 80%;--accent-foreground: 240 21% 11%;--destructive: 0 60% 50%;--destructive-foreground: 0 0% 100%;--border: 240 15% 70%;--input: 240 15% 70%;--ring: 16 77% 61%;--radius-sm: 0px;--radius-md: 0px;--radius-lg: 0px;--radius-full: 0px;--radius: 0px;--shadow-sm: none;--shadow-md: none;--border-width: 2px;--font-mono: "VT323", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}[data-theme=pixel][data-mode=dark]{--success: 134 61% 44%;--success-foreground: 0 0% 100%;--warning: 30 50% 40%;--warning-foreground: 0 0% 100%;--info: 199 64% 54%;--info-foreground: 0 0% 100%;--background: 240 21% 11%;--foreground: 0 0% 95%;--card: 240 25% 15%;--card-foreground: 0 0% 95%;--popover: 240 25% 15%;--popover-foreground: 0 0% 95%;--primary: 16 77% 61%;--primary-foreground: 0 0% 100%;--secondary: 250 30% 26%;--secondary-foreground: 0 0% 95%;--muted: 250 30% 26%;--muted-foreground: 220 14% 60%;--accent: 250 30% 26%;--accent-foreground: 0 0% 95%;--destructive: 0 60% 50%;--destructive-foreground: 0 0% 100%;--border: 240 25% 26%;--input: 240 25% 26%;--ring: 16 77% 61%;--radius-sm: 0px;--radius-md: 0px;--radius-lg: 0px;--radius-full: 0px;--radius: 0px;--shadow-sm: none;--shadow-md: none;--border-width: 2px;--font-mono: "VT323", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}[data-theme=pixel] .dot-grid{background-size:12px 12px;background-image:radial-gradient(circle at 1px 1px,hsl(var(--border)) 1.2px,transparent 0)}[data-theme=nord]{--success: 152 21% 67%;--success-foreground: 0 0% 100%;--warning: 38 92% 50%;--warning-foreground: 0 0% 100%;--info: 199 89% 48%;--info-foreground: 0 0% 100%;--background: 231 16% 96%;--foreground: 218 20% 13%;--card: 231 16% 96%;--card-foreground: 218 20% 13%;--popover: 231 16% 96%;--popover-foreground: 218 20% 13%;--primary: 219 35% 45%;--primary-foreground: 0 0% 100%;--secondary: 220 16% 88%;--secondary-foreground: 218 20% 13%;--muted: 220 16% 88%;--muted-foreground: 218 14% 46%;--accent: 220 16% 88%;--accent-foreground: 218 20% 13%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 100%;--border: 219 12% 86%;--input: 219 12% 86%;--ring: 219 35% 45%}[data-theme=nord][data-mode=dark]{--success: 152 21% 67%;--success-foreground: 0 0% 100%;--warning: 38 92% 50%;--warning-foreground: 0 0% 100%;--info: 199 89% 48%;--info-foreground: 0 0% 100%;--background: 220 16% 16%;--foreground: 218 20% 93%;--card: 220 16% 16%;--card-foreground: 218 20% 93%;--popover: 220 16% 16%;--popover-foreground: 218 20% 93%;--primary: 219 35% 45%;--primary-foreground: 0 0% 100%;--secondary: 218 20% 24%;--secondary-foreground: 218 20% 93%;--muted: 218 20% 24%;--muted-foreground: 218 12% 64%;--accent: 218 20% 24%;--accent-foreground: 218 20% 93%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 100%;--border: 218 20% 24%;--input: 218 20% 24%;--ring: 219 35% 45%}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2) format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff) format("woff")}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Workspace-DfmiOTyP.js","assets/index-D0Ytqw4l.js","assets/index-Dr1HVqud.css","assets/ProgressBar-Cmd6BS-8.js","assets/file-text-BN7zorT8.js","assets/book-open-C6mI7nw7.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as o,_ as t}from"./index-D0Ytqw4l.js";const a={mode:"stats",label:"项目统计",icon:"📊",description:"项目文件统计 · 扫描生成",Workspace:o.lazy(()=>t(()=>import("./Workspace-DfmiOTyP.js"),__vite__mapDeps([0,1,2,3,4,5])))};export{a as default};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import{c as h,r,u as z,j as e,C as _,_ as A}from"./index-D0Ytqw4l.js";import{M as I}from"./MdViewer-BVog1Mmf.js";import{P as F}from"./ProgressBar-Cmd6BS-8.js";import{F as L}from"./FilterPills-CkgNlhxd.js";import"./index-CxJJYhye.js";/**
|
|
2
|
-
* @license lucide-react v0.460.0 - ISC
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the ISC license.
|
|
5
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const U=h("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
|
|
7
|
-
* @license lucide-react v0.460.0 - ISC
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the ISC license.
|
|
10
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const V=h("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/**
|
|
12
|
-
* @license lucide-react v0.460.0 - ISC
|
|
13
|
-
*
|
|
14
|
-
* This source code is licensed under the ISC license.
|
|
15
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
-
*/const X=h("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/**
|
|
17
|
-
* @license lucide-react v0.460.0 - ISC
|
|
18
|
-
*
|
|
19
|
-
* This source code is licensed under the ISC license.
|
|
20
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
-
*/const q=h("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/**
|
|
22
|
-
* @license lucide-react v0.460.0 - ISC
|
|
23
|
-
*
|
|
24
|
-
* This source code is licensed under the ISC license.
|
|
25
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
-
*/const C=h("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),W={draft:"bg-zinc-500 text-white",reviewing:"bg-warning text-white",passed:"bg-success text-white",rejected:"bg-destructive text-white"},B={draft:"草案",reviewing:"评审中",passed:"已通过",rejected:"未通过"},G=[{key:"all",label:"全部"},{key:"open",label:"待处理"},{key:"answered",label:"已答复"},{key:"accepted",label:"已采纳"},{key:"dismissed",label:"已驳回"}],T={high:"bg-destructive",medium:"bg-warning",low:"bg-info"},J={high:"高",medium:"中",low:"低"},E={open:"bg-destructive/15 text-destructive border-destructive/30",answered:"bg-info/15 text-info border-info/30",accepted:"bg-success/15 text-success border-success/30",dismissed:"bg-muted text-muted-foreground border-border"},M={open:"待处理",answered:"已答复",accepted:"已采纳",dismissed:"已驳回"};function H({item:t,token:p,onUpdated:w}){const[u,m]=r.useState(t.answer??"");r.useEffect(()=>m(t.answer??""),[t.id,t.answer]);const c=async a=>{const i=await fetch("/__review/item",{method:"POST",headers:{"x-stop-token":p,"Content-Type":"application/json"},body:JSON.stringify({id:t.id,...a})});i.ok&&w(await i.json())},l=a=>a==="open"?{state:a,answer:u}:a==="answered"?{state:a,answer:u}:{state:a,answer:u||t.answer},f=t.state==="accepted"||t.state==="dismissed",b=f?t.state==="accepted"?"已采纳 — 可撤销后重新处理":"已驳回 — 可撤销后重新处理":t.state==="open"?"答复后可采纳或驳回,或直接采纳/驳回":"确认答复后采纳,或驳回 / 撤销";return e.jsxs("div",{className:"rounded-lg border bg-background shadow-sm overflow-hidden",children:[e.jsxs("div",{className:"flex items-center gap-2 px-3 pt-2.5 text-[11px] text-muted-foreground",children:[t.severity&&e.jsx("span",{className:`h-2 w-2 rounded-full ${T[t.severity]??"bg-muted-foreground"}`}),e.jsx("span",{className:"font-medium",children:t.category??"通用"}),t.severity&&e.jsx("span",{children:J[t.severity]??t.severity}),e.jsx("span",{className:`ml-auto px-1.5 py-0.5 rounded border text-[10px] font-medium ${E[t.state]??""}`,children:M[t.state]})]}),e.jsx("p",{className:"px-3 py-2 text-sm leading-relaxed",children:t.question}),e.jsxs("div",{className:"px-3 pb-3 flex flex-col gap-2",children:[e.jsx("textarea",{value:u,onChange:a=>m(a.target.value),placeholder:"答复 / 补充说明…",rows:2,className:"w-full rounded border border-border bg-background px-2 py-1.5 text-xs focus:outline-none focus:border-primary resize-y"}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[t.state==="accepted"?e.jsxs("span",{className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-success/15 text-success text-xs font-medium",children:[e.jsx(_,{className:"h-3 w-3"}),"已采纳"]}):t.state==="dismissed"?e.jsxs("span",{className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-muted text-muted-foreground text-xs font-medium",children:[e.jsx(C,{className:"h-3 w-3"}),"已驳回"]}):e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>c(l("answered")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-info hover:bg-info text-white text-xs",children:[e.jsx(q,{className:"h-3 w-3"}),t.state==="answered"?"更新答复":"答复"]}),e.jsxs("button",{onClick:()=>c(l("accepted")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-success hover:bg-success text-white text-xs",children:[e.jsx(_,{className:"h-3 w-3"}),"采纳"]}),e.jsxs("button",{onClick:()=>c(l("dismissed")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-muted hover:bg-muted/70 text-xs",children:[e.jsx(C,{className:"h-3 w-3"}),"驳回"]})]}),f&&e.jsxs("button",{onClick:()=>c(l("open")),className:"inline-flex items-center gap-1 h-7 px-2.5 rounded bg-muted hover:bg-muted/70 text-xs",children:[e.jsx(X,{className:"h-3 w-3"}),"撤销"]}),e.jsx("span",{className:"ml-auto text-[10px] text-muted-foreground",children:b})]})]})]})}function K(){const[t,p]=r.useState(null),[w,u]=r.useState([]),[m,c]=r.useState(null),[l,f]=r.useState(null),[b,a]=r.useState(""),[i,O]=r.useState("all"),[g,v]=r.useState(!0),[N,y]=r.useState("");r.useRef(!1);const k=()=>{fetch("/__review",{cache:"no-store"}).then(s=>s.json()).then(p),fetch("/__docs",{cache:"no-store"}).then(s=>s.json()).then(s=>{u(s),c(n=>n&&s.includes(n)?n:s[0]??null)})};r.useEffect(()=>{k(),fetch("/__config").then(s=>s.json()).then(s=>a(s.stopToken??""))},[]),z(()=>{},k);const d={all:0,open:0,answered:0,accepted:0,dismissed:0};for(const s of(t==null?void 0:t.items)??[])d.all++,d[s.state]++;const S=r.useMemo(()=>{const s=new Map;for(const o of(t==null?void 0:t.items)??[]){if(i!=="all"&&o.state!==i)continue;const x=o.doc??null;s.has(x)||s.set(x,[]),s.get(x).push(o)}const n=o=>o??"(未关联文档)";return[...s.entries()].sort((o,x)=>n(o[0]).localeCompare(n(x[0]))).map(([o,x])=>({doc:o,label:n(o),items:x.sort((R,$)=>({high:0,medium:1,low:2})[R.severity??"medium"]-{high:0,medium:1,low:2}[$.severity??"medium"])}))},[t,i]),j=((t==null?void 0:t.items)??[]).find(s=>s.id===l)??null,D=s=>{f(s.id),c(s.doc??null)},P=async()=>{y("");const s=await fetch("/__review/status",{method:"POST",headers:{"x-stop-token":b,"Content-Type":"application/json"},body:'{"status":"passed"}'});s.ok?p(await s.json()):y((await s.json()).error??"failed")};return e.jsxs("div",{className:"mx-auto h-full max-w-6xl bg-background border rounded-lg shadow-sm overflow-hidden flex",children:[e.jsxs("aside",{className:"w-[240px] flex-none border-r bg-background overflow-auto",children:[e.jsx("div",{className:"px-3 pt-3 pb-2 border-b",children:(()=>{const s=d.all,n=s-d.open,o=s===0?0:Math.round(n/s*100);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center justify-between text-[11px] mb-1.5",children:[e.jsx("span",{className:"text-muted-foreground",children:"处理进度"}),e.jsxs("span",{className:"font-mono",children:[n,"/",s," · ",o,"%"]})]}),e.jsx(F,{value:o,className:"h-1.5"})]})})()}),e.jsx(L,{items:G.map(s=>({key:String(s.key),label:`${s.label} ${d[s.key]}`})),value:i,onChange:s=>O(s),ariaLabel:"评审项筛选"}),e.jsx("div",{className:"px-3 pb-1 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"文档 · 评审项"}),S.length===0&&e.jsx("p",{className:"px-3 py-2 text-xs text-muted-foreground",children:"无评审项"}),S.map(s=>e.jsxs("div",{children:[e.jsxs("div",{className:"px-3 py-1 text-[11px] font-medium text-muted-foreground flex items-center gap-1.5",children:[e.jsx("span",{className:"truncate",children:s.label}),e.jsx("span",{className:"ml-auto font-mono text-[10px]",children:s.items.length})]}),s.items.map(n=>e.jsxs("button",{onClick:()=>D(n),className:`w-full text-left px-3 py-1.5 text-xs border-l-2 flex items-center gap-1.5 hover:bg-muted ${l===n.id?"bg-muted font-medium border-primary":"border-transparent text-muted-foreground"}`,children:[n.severity&&e.jsx("span",{className:`h-1.5 w-1.5 rounded-full shrink-0 ${T[n.severity]??""}`}),e.jsx("span",{className:"truncate",children:n.question}),e.jsx("span",{className:`ml-auto shrink-0 text-[9px] px-1 rounded ${E[n.state]??""}`,children:M[n.state]})]},n.id))]},s.doc??"(none)"))]}),e.jsxs("div",{className:"flex-1 min-h-0 flex flex-col",children:[e.jsxs("div",{className:"flex-none flex items-center gap-2 px-3.5 border-b bg-background",children:[t&&e.jsx("span",{className:`px-2 py-0.5 rounded text-[11px] font-medium ${W[t.status]??""}`,children:B[t.status]??t.status}),d.open>0&&e.jsxs("span",{className:"text-[11px] text-muted-foreground",children:["还有 ",d.open," 项待处理"]}),e.jsx("button",{onClick:P,disabled:!t||t.status==="passed"||d.open>0,className:"ml-auto h-7 px-3 rounded bg-success hover:bg-success disabled:opacity-50 disabled:cursor-not-allowed text-white text-xs",children:"通过"})]}),N&&e.jsx("div",{className:"bg-destructive/10 text-destructive text-xs px-3.5 py-1.5 border-b border-destructive/20",children:N}),e.jsxs("div",{className:"flex-1 min-h-0 flex flex-col",children:[g&&e.jsxs("div",{className:"flex-1 min-h-0 overflow-auto border-b bg-background relative",children:[e.jsx("button",{onClick:()=>v(!1),title:"收起文档",className:"absolute right-2 top-2 z-10 h-6 px-2 rounded border border-border bg-background/80 text-xs hover:bg-muted",children:e.jsx(U,{className:"h-3.5 w-3.5"})}),m?e.jsx(I,{path:m}):e.jsx("p",{className:"p-6 text-sm text-muted-foreground",children:"在左侧选择评审项"})]}),e.jsxs("div",{className:g?"flex-none h-[42%] border-b overflow-auto p-3 flex flex-col gap-3":"flex-1 min-h-0 overflow-auto p-3 flex flex-col gap-3 dot-grid",children:[!g&&e.jsxs("button",{onClick:()=>v(!0),title:"展开文档",className:"self-start inline-flex items-center gap-1 h-6 px-2 rounded border border-border bg-background text-xs hover:bg-muted",children:[e.jsx(V,{className:"h-3.5 w-3.5"}),"展开文档"]}),j?e.jsx(H,{item:j,token:b,onUpdated:p},j.id):e.jsx("p",{className:"text-xs text-muted-foreground text-center pt-6",children:"在左侧选择一个评审项"})]})]})]})]})}function Q(){return e.jsx(K,{})}const Y=Object.freeze(Object.defineProperty({__proto__:null,default:Q},Symbol.toStringTag,{value:"Module"})),re={mode:"review",label:"文档评审",icon:"✅",description:"评审项状态流转 · zreview",Workspace:r.lazy(()=>A(()=>Promise.resolve().then(()=>Y),void 0))};export{Q as ReviewWorkspace,re as default};
|