scrum-skills 0.2.7 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/assets/board/200.html +1 -1
  2. package/assets/board/404.html +1 -1
  3. package/assets/board/_nuxt/{wRPvhAJz.js → 1eqboJxR.js} +1 -1
  4. package/assets/board/_nuxt/{CTK2Sysu.js → 2K7ag6ES.js} +1 -1
  5. package/assets/board/_nuxt/{BfBP16Im.js → BDK2Hj7B.js} +1 -1
  6. package/assets/board/_nuxt/{D7ufz00d.js → BDcnzXHq.js} +1 -1
  7. package/assets/board/_nuxt/{CyG4hsVv.js → BodFvto3.js} +1 -1
  8. package/assets/board/_nuxt/{BbaAxZ2N.js → BpWeHLuN.js} +1 -1
  9. package/assets/board/_nuxt/{f1ditBVp.js → C40iTe-x.js} +1 -1
  10. package/assets/board/_nuxt/{CqTxogVu.js → CGI_ZV79.js} +1 -1
  11. package/assets/board/_nuxt/{b2JYbYKt.js → CJMBJQuf.js} +1 -1
  12. package/assets/board/_nuxt/{M6ZOYZ8R.js → CMUi2-Lj.js} +1 -1
  13. package/assets/board/_nuxt/{CXCIZbbz.js → COf6E6h4.js} +1 -1
  14. package/assets/board/_nuxt/{CKtAvtay.js → CPCUMJnF.js} +1 -1
  15. package/assets/board/_nuxt/{DNtz8Ent.js → CPcKlmSm.js} +1 -1
  16. package/assets/board/_nuxt/{BaqGLZhY.js → CSSb154I.js} +1 -1
  17. package/assets/board/_nuxt/{CMt3SL3m.js → CkF353aX.js} +15 -15
  18. package/assets/board/_nuxt/{Dc4dIyTM.js → CvLiA4_O.js} +1 -1
  19. package/assets/board/_nuxt/{BWgbICJ-.js → Cvs12oA0.js} +1 -1
  20. package/assets/board/_nuxt/{BC0YsiYy.js → CyEXFe3V.js} +1 -1
  21. package/assets/board/_nuxt/{KxQggkNX.js → D2FhHl1o.js} +1 -1
  22. package/assets/board/_nuxt/{q6p4rsh_.js → D75vbfSb.js} +1 -1
  23. package/assets/board/_nuxt/{DUhdM-rb.js → DEfLc7p3.js} +1 -1
  24. package/assets/board/_nuxt/{CmyOKc3S.js → DRPlYvb3.js} +1 -1
  25. package/assets/board/_nuxt/{z40PaBW1.js → DRlQgul3.js} +1 -1
  26. package/assets/board/_nuxt/{jtompfyX.js → D_S6N7_b.js} +1 -1
  27. package/assets/board/_nuxt/{BscJTep0.js → DfR3IZN_.js} +1 -1
  28. package/assets/board/_nuxt/{DOdi2wDw.js → DhuleNnm.js} +1 -1
  29. package/assets/board/_nuxt/{Cplt7ZnK.js → DnDHGSYI.js} +1 -1
  30. package/assets/board/_nuxt/DrprggWq.js +3 -0
  31. package/assets/board/_nuxt/{BetRVCu6.js → Dtsa-1NS.js} +1 -1
  32. package/assets/board/_nuxt/{C5MtlISK.js → Dx1wcYFo.js} +1 -1
  33. package/assets/board/_nuxt/{o_84IzFk.js → EYTShbt4.js} +1 -1
  34. package/assets/board/_nuxt/{CcYp6rwI.js → P9x67aq2.js} +1 -1
  35. package/assets/board/_nuxt/{DgbDcd9I.js → assMu_Wn.js} +1 -1
  36. package/assets/board/_nuxt/builds/latest.json +1 -1
  37. package/assets/board/_nuxt/builds/meta/d7f0931f-32b3-4c23-b05f-7cbf5851b226.json +1 -0
  38. package/assets/board/_nuxt/{entry.CqnxzTAU.css → entry.Dx3CNA--.css} +1 -1
  39. package/assets/board/_nuxt/last-change.8FndoiOt.css +1 -0
  40. package/assets/board/_nuxt/{DrZpfjBq.js → rlePnzpc.js} +1 -1
  41. package/assets/board/_nuxt/{Cti_rGPY.js → vwxaNGfc.js} +1 -1
  42. package/assets/board/burndown/index.html +1 -1
  43. package/assets/board/epics/index.html +1 -1
  44. package/assets/board/gantt/index.html +1 -1
  45. package/assets/board/index.html +1 -1
  46. package/assets/board/last-change/index.html +1 -1
  47. package/assets/board/milestones/index.html +1 -1
  48. package/docs/ai-assistant-guide.md +1008 -0
  49. package/package.json +1 -1
  50. package/assets/board/_nuxt/Cj8KbSzE.js +0 -2
  51. package/assets/board/_nuxt/builds/meta/88de87b9-e62d-4466-a908-66ef1b011538.json +0 -1
  52. package/assets/board/_nuxt/last-change.B59xu_sV.css +0 -1
@@ -1 +1 @@
1
- import{D as e,E as t,On as n,Zn as r,_ as i,b as a,bt as o,er as s,g as c,k as l,mt as u,o as d,qt as f,tr as p,un as m,v as h,vn as g,y as _}from"./DZo3dYLJ.js";import{C as v,w as y}from"./51OWHj8c.js";import{t as ee}from"./CJ2mz0WY.js";import{t as te}from"./D7ufz00d.js";import{t as ne}from"./DrZpfjBq.js";import{O as b,a as x,i as S,n as re,o as C,r as ie,s as w}from"#entry";var ae={class:`stats`},oe={class:`stat-top`},se={class:`stat-label`},ce={class:`stat-pill`},le={class:`stat-value`},ue={class:`stat-sub`},de={class:`stat-delta`},fe={class:`split`},pe={class:`spark`},me=[`title`],he={class:`stat-top`},ge={class:`stat-label`},_e={class:`stat-pill`},ve={class:`stat-value`},ye={class:`stat-sub`},be={class:`stat-rows`},xe={class:`stat-row`},Se={class:`v`},Ce={class:`stat-row`},we={class:`v`},Te={class:`stat-row`},Ee={class:`v`},De={class:`stat-row`},Oe={class:`v`},ke={class:`stat-foot`},Ae={class:`row`},je={class:`bar`},Me={class:`stat-top`},Ne={class:`stat-label`},Pe={class:`stat-value`},Fe={class:`unit`},Ie={class:`stat-sub`},Le={class:`stat-rows`},Re={class:`stat-row`},ze={class:`v`},Be={class:`stat-row`},Ve={class:`v`},He={class:`stat-row`},Ue={class:`v`},We={class:`stat-row`},Ge={class:`v`},Ke={class:`stat-foot`},qe={class:`row`},Je={class:`bar lilac`},Ye={class:`stat-top`},Xe={class:`stat-label`},Ze={class:`stat-value`},Qe={class:`stat-rows`},$e={class:`stat-row`},et={class:`v`},tt={class:`stat-row`},nt={class:`v`},rt={class:`stat-row`},it={class:`v`},at={class:`stat-row`},ot={class:`v`},st={class:`stat-foot`},ct={class:`row`},lt={class:`bar on-dark`},ut={class:`card tb`},dt={class:`tb-l`},ft={class:`tb-r`},pt={class:`mono`},mt={class:`mono`},ht={key:0,class:`card act-error`},gt={class:`act-error-txt`},_t={class:`card board`},vt={class:`lanes`},yt=[`title`,`onClick`],bt={class:`stub-name`},xt={class:`stub-ct`},St={class:`stub-pts`},Ct={class:`lane-hd`},wt={class:`lane-ct`},Tt={class:`lane-pts`},Et=[`aria-expanded`,`title`,`onClick`],Dt={class:`lane-bd`},Ot={class:`sc-id mono`},kt={class:`sc-c-pts`},At=[`title`],jt={class:`sc-top`},Mt={class:`sc-id mono`},Nt={class:`dim sc-wsjf`},Pt=[`title`],Ft={class:`sc-title`},It={class:`sc-meta`},Lt={class:`sc-tags`},Rt={class:`tag tag-ghost`},zt={key:0,class:`tag tag-neutral mono`},Bt=[`title`],Vt=[`title`],Ht={class:`bar slim sc-bar`},Ut={class:`sc-ask`},Wt=[`aria-label`,`onClick`,`onKeydown`],Gt=[`aria-label`,`onClick`,`onKeydown`],Kt=[`aria-label`,`onClick`,`onKeydown`],qt=[`aria-label`,`onClick`,`onKeydown`],Jt={key:0,class:`lane-empty`},T=`board.foldedLanes.v1`,E=S(l({__name:`index`,setup(l){let{stories:S,epics:E,states:D,progress:O,milestoneOfStory:Yt,pointsOf:Xt,milestones:Zt,refresh:Qt,STATE_LABEL:k,STATE_SHORT:$t,STATE_DOT:A,TYPE_LABEL:en,TYPE_COLOR:tn,TYPE_ICON:nn,PRIORITY_COLOR:rn,SCOPE_LABEL:an,wsjf:j,blockedStories:on}=w(),M=g(`all`),N=g(`all`),P=g(`rank`),sn=c(()=>[{label:`全部史诗`,value:`all`,icon:`i-lucide-layers`},...E.value.map(e=>({label:`${e.id} ${e.title}`,value:e.id,icon:`i-lucide-layer-group`}))]),cn=c(()=>[{label:`全部里程碑`,value:`all`,icon:`i-lucide-flag`},...Zt.value.map(e=>({label:`${e.id} ${e.title}`,value:e.id,icon:e.kind===`mvp`?`i-lucide-star`:`i-lucide-map-pin`}))]),ln=[{label:`默认顺序`,value:`rank`,icon:`i-lucide-list-ordered`},{label:`按优先级 P0 → P3`,value:`priority`,icon:`i-lucide-alert-circle`},{label:`按 WSJF 价值/点数`,value:`wsjf`,icon:`i-lucide-scale`},{label:`按点数`,value:`points`,icon:`i-lucide-signal`}],un={P0:0,P1:1,P2:2,P3:3},F=[`done`,`cancelled`],I=[`done`,`cancelled`],L=g((()=>{try{if(typeof localStorage>`u`)return[...I];let e=localStorage.getItem(T);if(!e)return[...I];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>F.includes(e)):[...I]}catch{return[...I]}})()),R=e=>F.includes(e),z=e=>L.value.includes(e),B=e=>F.includes(e),dn=e=>{if(R(e)){L.value=z(e)?L.value.filter(t=>t!==e):[...L.value,e];try{localStorage.setItem(T,JSON.stringify(L.value))}catch{}}},V=c(()=>{let e=S.value.filter(e=>!(M.value!==`all`&&e.epicId!==M.value||N.value!==`all`&&!Yt(e.id).some(e=>e.id===N.value)));return P.value===`priority`?[...e].sort((e,t)=>(un[e.priority]??9)-(un[t.priority]??9)||j(t)-j(e)):P.value===`wsjf`?[...e].sort((e,t)=>j(t)-j(e)):P.value===`points`?[...e].sort((e,t)=>t.points-e.points):e}),H=e=>V.value.filter(t=>t.status===e),U=e=>Xt(H(e).map(e=>e.id)),W=c(()=>{let e=V.value,t=e.filter(e=>e.status===`done`),n=e.filter(e=>e.status===`in-progress`||e.status===`review`),r=e.filter(e=>e.status===`ready`||e.status===`draft`),i=e.filter(e=>e.status===`cancelled`),a=e.filter(e=>e.status!==`cancelled`),o=e.flatMap(e=>e.tasks??[]),s=e=>o.filter(t=>t.status===e).length;return{count:e.length,points:e.reduce((e,t)=>e+t.points,0),liveCount:a.length,livePoints:a.reduce((e,t)=>e+t.points,0),donePoints:t.reduce((e,t)=>e+t.points,0),done:t.length,running:n.length,idle:r.length,cancelled:i.length,cancelledPoints:i.reduce((e,t)=>e+t.points,0),tasks:o.length,tasksDone:s(`done`),taskRed:s(`red`),taskGreen:s(`green`),taskRefactor:s(`refactored`),taskTodo:s(`todo`),bugs:e.filter(e=>e.type===`bug`).length,debt:e.filter(e=>e.type===`debt`).length,scope:e.filter(e=>e.scopeChange).length}}),G=c(()=>W.value.livePoints?Math.round(W.value.donePoints/W.value.livePoints*100):0),fn=c(()=>W.value.liveCount?Math.round(W.value.livePoints/W.value.liveCount*10)/10:0),K=c(()=>W.value.tasks?Math.round(W.value.tasksDone/W.value.tasks*100):0),pn=c(()=>on.value.length+W.value.bugs),mn=c(()=>Math.max(1,...D.map(e=>H(e).length))),hn=e=>8+Math.round(H(e).length/mn.value*34),q=[`draft`,`ready`,`in-progress`,`review`,`done`],gn=e=>q[q.indexOf(e)+1]??null,_n=e=>q.indexOf(e)>0?q[q.indexOf(e)-1]:null,J=e=>(e.tasks??[]).filter(e=>e.status!==`done`).length,vn=e=>{let t=gn(e.status);return t?!(t===`done`&&J(e)>0):!1},yn=e=>{let t=gn(e.status);return t?t===`done`&&J(e)?`还有 ${J(e)} 个任务没完成,先做完再收尾`:`推进到「${k[t]}」`:`已经是最后一个状态`},bn=e=>_n(e.status)!==null,Y={content:`bg-[#1b1526]! text-white! ring-0 shadow-lg`},xn=g(``),X=g(``),Z=g(``),Q=g(``);async function $(e,t){if(!X.value&&(t!==`next`||vn(e))&&(t!==`prev`||bn(e))){X.value=e.id,Q.value=``;try{xn.value||=(await b(`/api/projects`)).token,await b(`/api/agile/story-status`,{method:`POST`,headers:{"x-project-token":xn.value},body:{id:e.id,action:t}}),Z.value=``,await Qt()}catch(t){Q.value=`${e.id}:${t?.data?.error??t?.message??`改状态失败`}`}finally{X.value=``}}}let Sn=c(()=>{if(M.value===`all`)return`全部史诗`;let e=E.value.find(e=>e.id===M.value);return e?e.title.slice(0,6):`全部史诗`}),Cn=e=>Yt(e).filter(e=>e.kind===`mvp`);return(c,l)=>{let g=ie,b=ne,S=te,w=re,T=ee;return u(),a(`div`,null,[i(`div`,ae,[i(`article`,{class:r([`stat`,(`cardToneClass`in c?c.cardToneClass:n(C))(0)])},[e(g,{tone:(`cardTone`in c?c.cardTone:n(x))(0)},null,8,[`tone`]),i(`div`,oe,[i(`span`,se,[e(b,{name:`i-lucide-gauge`,class:`size-3.5`}),l[7]||=t(`看板完成度`,-1)]),i(`span`,ce,p(n(Sn)),1)]),i(`div`,le,[t(p(n(G)),1),l[8]||=i(`span`,{class:`unit`},`%`,-1)]),i(`div`,ue,[i(`span`,de,[e(b,{name:`i-lucide-check`,class:`size-3`}),t(p(n(W).donePoints)+` 点`,1)]),t(` 已交付 · 共 `+p(n(W).livePoints)+` 点 `,1)]),i(`div`,fe,[i(`div`,null,[l[9]||=i(`span`,{class:`k`},`完成故事`,-1),i(`b`,null,[t(p(n(W).done),1),i(`small`,null,`/`+p(n(W).liveCount),1)])]),i(`div`,null,[l[11]||=i(`span`,{class:`k`},`剩余点`,-1),i(`b`,null,[t(p(n(W).livePoints-n(W).donePoints),1),l[10]||=i(`small`,null,`点`,-1)])])]),i(`div`,pe,[(u(!0),a(d,null,o(n(D),e=>(u(),a(`div`,{key:e,class:`spark-col`,title:`${n(k)[e]}:${H(e).length} 个`},[i(`div`,{class:r([`spark-bar`,{done:e===`done`,cancel:e===`cancelled`}]),style:s({height:hn(e)+`px`})},null,6),i(`span`,null,p(n($t)[e]),1)],8,me))),128))])],2),i(`article`,{class:r([`stat`,(`cardToneClass`in c?c.cardToneClass:n(C))(1)])},[e(g,{tone:(`cardTone`in c?c.cardTone:n(x))(1)},null,8,[`tone`]),i(`div`,he,[i(`span`,ge,[e(b,{name:`i-lucide-book-open`,class:`size-3.5`}),l[12]||=t(`故事`,-1)]),i(`span`,_e,p(Math.round(n(fn)))+` 点/个`,1)]),i(`div`,ve,[t(p(n(W).count),1),l[13]||=i(`span`,{class:`unit`},`个`,-1)]),i(`div`,ye,`共 `+p(n(W).livePoints)+` 点 · 任务 `+p(n(W).tasks)+` 个`,1),i(`div`,be,[i(`div`,xe,[l[14]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#6aa844`}}),t(`已完成`)],-1),i(`span`,Se,p(n(W).done),1)]),i(`div`,Ce,[l[15]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#3f7fd4`}}),t(`进行中`)],-1),i(`span`,we,p(n(W).running),1)]),i(`div`,Te,[l[16]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#b6bac1`}}),t(`未开始`)],-1),i(`span`,Ee,p(n(W).idle),1)]),i(`div`,De,[l[17]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#cf4759`}}),t(`已取消`)],-1),i(`span`,Oe,p(n(W).cancelled)+p(n(W).cancelledPoints?` · ${n(W).cancelledPoints} 点`:``),1)])]),i(`div`,ke,[i(`div`,Ae,[i(`span`,null,`任务完成 `+p(n(W).tasksDone)+`/`+p(n(W).tasks),1),i(`span`,null,p(n(K))+`%`,1)]),i(`div`,je,[i(`i`,{style:s({width:n(K)+`%`})},null,4)])])],2),i(`article`,{class:r([`stat`,(`cardToneClass`in c?c.cardToneClass:n(C))(2)])},[e(g,{tone:(`cardTone`in c?c.cardTone:n(x))(2)},null,8,[`tone`]),i(`div`,Me,[i(`span`,Ne,[e(b,{name:`i-lucide-list-checks`,class:`size-3.5`}),l[18]||=t(`TDD 任务`,-1)]),l[19]||=i(`span`,{class:`stat-pill`},`红 → 绿 → 重构`,-1)]),i(`div`,Pe,[t(p(n(W).tasksDone),1),i(`span`,Fe,`/ `+p(n(W).tasks)+` 项`,1)]),i(`div`,Ie,`已完成任务占 `+p(n(K))+`%`,1),i(`div`,Le,[i(`div`,Re,[l[20]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#cf4759`}}),t(`红(测试失败)`)],-1),i(`span`,ze,p(n(W).taskRed),1)]),i(`div`,Be,[l[21]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#6aa844`}}),t(`绿(测试通过)`)],-1),i(`span`,Ve,p(n(W).taskGreen),1)]),i(`div`,He,[l[22]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#6d4ff0`}}),t(`已重构`)],-1),i(`span`,Ue,p(n(W).taskRefactor),1)]),i(`div`,We,[l[23]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#b6bac1`}}),t(`待办`)],-1),i(`span`,Ge,p(n(W).taskTodo),1)])]),i(`div`,Ke,[i(`div`,qe,[i(`span`,null,`已完成 `+p(n(W).tasksDone)+`/`+p(n(W).tasks),1),i(`span`,null,p(n(K))+`%`,1)]),i(`div`,Je,[i(`i`,{style:s({width:n(K)+`%`})},null,4)])])],2),i(`article`,{class:r([`stat`,(`cardToneClass`in c?c.cardToneClass:n(C))(3)])},[e(g,{tone:(`cardTone`in c?c.cardTone:n(x))(3)},null,8,[`tone`]),i(`div`,Ye,[i(`span`,Xe,[e(b,{name:`i-lucide-shield-alert`,class:`size-3.5`}),l[24]||=t(`风险面`,-1)]),l[25]||=i(`span`,{class:`stat-pill`},`需处理`,-1)]),i(`div`,Ze,[t(p(n(pn)),1),l[26]||=i(`span`,{class:`unit`},`项`,-1)]),l[32]||=i(`div`,{class:`stat-sub`},`阻塞故事与缺陷合计`,-1),i(`div`,Qe,[i(`div`,$e,[l[27]||=i(`span`,{class:`k`},`阻塞故事`,-1),i(`span`,et,p(n(on).length),1)]),i(`div`,tt,[l[28]||=i(`span`,{class:`k`},`缺陷`,-1),i(`span`,nt,p(n(W).bugs),1)]),i(`div`,rt,[l[29]||=i(`span`,{class:`k`},`技术债`,-1),i(`span`,it,p(n(W).debt),1)]),i(`div`,at,[l[30]||=i(`span`,{class:`k`},`范围变更`,-1),i(`span`,ot,p(n(W).scope),1)])]),i(`div`,st,[i(`div`,ct,[l[31]||=i(`span`,null,`完成度`,-1),i(`span`,null,p(n(G))+`%`,1)]),i(`div`,lt,[i(`i`,{style:s({width:n(G)+`%`})},null,4)])])],2)]),i(`div`,ut,[i(`div`,dt,[l[33]||=i(`span`,{class:`lbl`},`筛选`,-1),e(S,{modelValue:n(M),"onUpdate:modelValue":l[0]||=e=>m(M)?M.value=e:null,items:n(sn),icon:`i-lucide-layers`,"aria-label":`按史诗筛选`},null,8,[`modelValue`,`items`]),e(S,{modelValue:n(N),"onUpdate:modelValue":l[1]||=e=>m(N)?N.value=e:null,items:n(cn),icon:`i-lucide-flag`,"aria-label":`按里程碑筛选`},null,8,[`modelValue`,`items`]),e(S,{modelValue:n(P),"onUpdate:modelValue":l[2]||=e=>m(P)?P.value=e:null,items:ln,icon:`i-lucide-arrow-up-down`,"aria-label":`排序方式`},null,8,[`modelValue`])]),i(`div`,ft,[i(`span`,pt,p(n(V).length),1),l[34]||=t(` 个故事 `,-1),l[35]||=i(`i`,{class:`sep`},null,-1),i(`span`,mt,p(n(Xt)(n(V).map(e=>e.id))),1),l[36]||=t(` 点 `,-1)])]),n(Q)?(u(),a(`div`,ht,[e(b,{name:`i-lucide-circle-alert`,class:`size-4`}),i(`span`,gt,p(n(Q)),1),i(`button`,{class:`btn btn-sm`,onClick:l[3]||=e=>Q.value=``},`知道了`)])):_(``,!0),i(`div`,_t,[i(`div`,vt,[(u(!0),a(d,null,o(n(D),c=>(u(),a(`section`,{key:c,class:r([`lane`,{folded:z(c)}])},[z(c)?(u(),a(`button`,{key:0,class:`lane-stub`,title:`展开${n(k)[c]}:${H(c).length} 个 · ${U(c)} 点`,onClick:e=>dn(c)},[i(`i`,{class:`lane-dot`,style:s({background:n(A)[c]})},null,4),i(`span`,bt,p(n(k)[c]),1),i(`span`,xt,p(H(c).length),1),i(`span`,St,p(U(c))+` 点`,1),e(b,{name:`i-lucide-chevrons-right`,class:`stub-ic`})],8,yt)):(u(),a(d,{key:1},[i(`header`,Ct,[i(`i`,{class:`lane-dot`,style:s({background:n(A)[c]})},null,4),i(`b`,null,p(n(k)[c]),1),i(`span`,wt,p(H(c).length),1),i(`span`,Tt,p(U(c))+` 点`,1),R(c)?(u(),a(`button`,{key:0,class:`lane-fold`,"aria-expanded":!z(c),title:`收起${n(k)[c]}`,onClick:e=>dn(c)},[e(b,{name:`i-lucide-chevron-left`,class:`size-3`})],8,Et)):_(``,!0)]),i(`div`,Dt,[(u(!0),a(d,null,o(H(c),m=>(u(),h(T,{key:m.id,to:`/story/${m.id}`,class:r([`scard`,{"scard-compact":B(c)}])},{default:f(()=>[B(c)?(u(),a(d,{key:0},[i(`span`,Ot,p(m.id),1),i(`span`,kt,p(m.points)+` 点`,1),i(`span`,{class:`sc-c-title`,title:m.title},p(m.title),9,At)],64)):(u(),a(d,{key:1},[i(`div`,jt,[i(`span`,Mt,p(m.id),1),i(`span`,{class:r([`tag`,`tag-${n(rn)[m.priority]}`])},p(m.priority),3),i(`span`,Nt,`WSJF `+p(n(j)(m)),1),m.blocked?(u(),a(`span`,{key:0,class:`tag tag-error tag-dot`,title:`阻塞中:${m.blocked.reason}(自 ${m.blocked.since})`},`阻塞`,8,Pt)):_(``,!0)]),i(`p`,Ft,p(m.title),1),i(`div`,It,[i(`span`,null,p(m.points)+` 点`,1),l[37]||=i(`span`,{class:`dim`},`·`,-1),i(`span`,null,`任务 `+p(n(O)(m).done)+`/`+p(n(O)(m).total),1)]),i(`div`,Lt,[i(`span`,{class:r([`tag`,`tag-${n(tn)[m.type]}`])},[e(b,{name:n(nn)[m.type],class:`size-3`},null,8,[`name`]),t(p(n(en)[m.type]),1)],2),i(`span`,Rt,p(m.epicId),1),m.sprintId?(u(),a(`span`,zt,p(m.sprintId),1)):_(``,!0),(u(!0),a(d,null,o(Cn(m.id),e=>(u(),a(`span`,{key:e.id,class:`tag tag-mint`,title:`${e.id} ${e.title} · ${e.criteria}`},`MVP`,8,Bt))),128)),m.scopeChange?(u(),a(`span`,{key:1,class:`tag tag-info`,title:`${n(an)[m.scopeChange.kind]}(${m.scopeChange.at}):${m.scopeChange.reason}`},p(n(an)[m.scopeChange.kind]),9,Vt)):_(``,!0)]),i(`div`,Ht,[i(`i`,{style:s({width:n(O)(m).pct+`%`})},null,4)]),i(`div`,{class:`sc-actions`,style:{backdropFilter:`blur(10px) saturate(125%)`},onMouseleave:l[6]||=e=>Z.value=``},[n(Z)===m.id?(u(),a(d,{key:0},[i(`span`,Ut,`取消 `+p(m.id)+`?`,1),i(`span`,{class:`sc-act danger`,role:`button`,tabindex:`0`,"data-act":`cancel-confirm`,"aria-label":`确认取消 ${m.id}`,onClick:y(e=>$(m,`cancel`),[`stop`,`prevent`]),onKeydown:v(y(e=>$(m,`cancel`),[`prevent`]),[`enter`])},`确认`,40,Wt),i(`span`,{class:`sc-act`,role:`button`,tabindex:`0`,"data-act":`cancel-abort`,onClick:l[4]||=y(e=>Z.value=``,[`stop`,`prevent`]),onKeydown:l[5]||=v(y(e=>Z.value=``,[`prevent`]),[`enter`])},`返回`,32)],64)):(u(),a(d,{key:1},[bn(m)?(u(),h(w,{key:0,text:`退回「${n(k)[_n(m.status)??``]}」`,"delay-duration":150,ui:Y},{default:f(()=>[i(`span`,{class:`sc-act`,role:`button`,tabindex:`0`,"data-act":`prev`,"aria-label":`退回 ${m.id}`,onClick:y(e=>$(m,`prev`),[`stop`,`prevent`]),onKeydown:v(y(e=>$(m,`prev`),[`prevent`]),[`enter`])},[e(b,{name:`i-lucide-arrow-left`,class:`size-3.5`})],40,Gt)]),_:2},1032,[`text`])):_(``,!0),e(w,{text:yn(m),"delay-duration":150,ui:Y},{default:f(()=>[i(`span`,{class:r([`sc-act`,{off:!vn(m)}]),role:`button`,tabindex:`0`,"data-act":`next`,"aria-label":`推进 ${m.id}`,onClick:y(e=>$(m,`next`),[`stop`,`prevent`]),onKeydown:v(y(e=>$(m,`next`),[`prevent`]),[`enter`])},[e(b,{name:`i-lucide-arrow-right`,class:`size-3.5`})],42,Kt)]),_:2},1032,[`text`]),e(w,{text:`标记 ${m.id} 已取消`,"delay-duration":150,ui:Y},{default:f(()=>[i(`span`,{class:`sc-act danger`,role:`button`,tabindex:`0`,"data-act":`cancel`,"aria-label":`取消 ${m.id}`,onClick:y(e=>Z.value=m.id,[`stop`,`prevent`]),onKeydown:v(y(e=>Z.value=m.id,[`prevent`]),[`enter`])},[e(b,{name:`i-lucide-x`,class:`size-3.5`})],40,qt)]),_:2},1032,[`text`])],64))],32)],64))]),_:2},1032,[`to`,`class`]))),128)),H(c).length?_(``,!0):(u(),a(`p`,Jt,`暂无故事`))])],64))],2))),128))])])])}}}),[[`__scopeId`,`data-v-3d44e42e`]]);export{E as default};
1
+ import{D as e,E as t,On as n,Zn as r,_ as i,b as a,bt as o,er as s,g as c,k as l,mt as u,o as d,qt as f,tr as p,un as m,v as h,vn as g,y as _}from"./DZo3dYLJ.js";import{C as v,w as y}from"./51OWHj8c.js";import{t as ee}from"./CJ2mz0WY.js";import{t as te}from"./BDcnzXHq.js";import{t as ne}from"./rlePnzpc.js";import{O as b,a as x,i as S,n as re,o as C,r as ie,s as w}from"#entry";var ae={class:`stats`},oe={class:`stat-top`},se={class:`stat-label`},ce={class:`stat-pill`},le={class:`stat-value`},ue={class:`stat-sub`},de={class:`stat-delta`},fe={class:`split`},pe={class:`spark`},me=[`title`],he={class:`stat-top`},ge={class:`stat-label`},_e={class:`stat-pill`},ve={class:`stat-value`},ye={class:`stat-sub`},be={class:`stat-rows`},xe={class:`stat-row`},Se={class:`v`},Ce={class:`stat-row`},we={class:`v`},Te={class:`stat-row`},Ee={class:`v`},De={class:`stat-row`},Oe={class:`v`},ke={class:`stat-foot`},Ae={class:`row`},je={class:`bar`},Me={class:`stat-top`},Ne={class:`stat-label`},Pe={class:`stat-value`},Fe={class:`unit`},Ie={class:`stat-sub`},Le={class:`stat-rows`},Re={class:`stat-row`},ze={class:`v`},Be={class:`stat-row`},Ve={class:`v`},He={class:`stat-row`},Ue={class:`v`},We={class:`stat-row`},Ge={class:`v`},Ke={class:`stat-foot`},qe={class:`row`},Je={class:`bar lilac`},Ye={class:`stat-top`},Xe={class:`stat-label`},Ze={class:`stat-value`},Qe={class:`stat-rows`},$e={class:`stat-row`},et={class:`v`},tt={class:`stat-row`},nt={class:`v`},rt={class:`stat-row`},it={class:`v`},at={class:`stat-row`},ot={class:`v`},st={class:`stat-foot`},ct={class:`row`},lt={class:`bar on-dark`},ut={class:`card tb`},dt={class:`tb-l`},ft={class:`tb-r`},pt={class:`mono`},mt={class:`mono`},ht={key:0,class:`card act-error`},gt={class:`act-error-txt`},_t={class:`card board`},vt={class:`lanes`},yt=[`title`,`onClick`],bt={class:`stub-name`},xt={class:`stub-ct`},St={class:`stub-pts`},Ct={class:`lane-hd`},wt={class:`lane-ct`},Tt={class:`lane-pts`},Et=[`aria-expanded`,`title`,`onClick`],Dt={class:`lane-bd`},Ot={class:`sc-id mono`},kt={class:`sc-c-pts`},At=[`title`],jt={class:`sc-top`},Mt={class:`sc-id mono`},Nt={class:`dim sc-wsjf`},Pt=[`title`],Ft={class:`sc-title`},It={class:`sc-meta`},Lt={class:`sc-tags`},Rt={class:`tag tag-ghost`},zt={key:0,class:`tag tag-neutral mono`},Bt=[`title`],Vt=[`title`],Ht={class:`bar slim sc-bar`},Ut={class:`sc-ask`},Wt=[`aria-label`,`onClick`,`onKeydown`],Gt=[`aria-label`,`onClick`,`onKeydown`],Kt=[`aria-label`,`onClick`,`onKeydown`],qt=[`aria-label`,`onClick`,`onKeydown`],Jt={key:0,class:`lane-empty`},T=`board.foldedLanes.v1`,E=S(l({__name:`index`,setup(l){let{stories:S,epics:E,states:D,progress:O,milestoneOfStory:Yt,pointsOf:Xt,milestones:Zt,refresh:Qt,STATE_LABEL:k,STATE_SHORT:$t,STATE_DOT:A,TYPE_LABEL:en,TYPE_COLOR:tn,TYPE_ICON:nn,PRIORITY_COLOR:rn,SCOPE_LABEL:an,wsjf:j,blockedStories:on}=w(),M=g(`all`),N=g(`all`),P=g(`rank`),sn=c(()=>[{label:`全部史诗`,value:`all`,icon:`i-lucide-layers`},...E.value.map(e=>({label:`${e.id} ${e.title}`,value:e.id,icon:`i-lucide-layer-group`}))]),cn=c(()=>[{label:`全部里程碑`,value:`all`,icon:`i-lucide-flag`},...Zt.value.map(e=>({label:`${e.id} ${e.title}`,value:e.id,icon:e.kind===`mvp`?`i-lucide-star`:`i-lucide-map-pin`}))]),ln=[{label:`默认顺序`,value:`rank`,icon:`i-lucide-list-ordered`},{label:`按优先级 P0 → P3`,value:`priority`,icon:`i-lucide-alert-circle`},{label:`按 WSJF 价值/点数`,value:`wsjf`,icon:`i-lucide-scale`},{label:`按点数`,value:`points`,icon:`i-lucide-signal`}],un={P0:0,P1:1,P2:2,P3:3},F=[`done`,`cancelled`],I=[`done`,`cancelled`],L=g((()=>{try{if(typeof localStorage>`u`)return[...I];let e=localStorage.getItem(T);if(!e)return[...I];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>F.includes(e)):[...I]}catch{return[...I]}})()),R=e=>F.includes(e),z=e=>L.value.includes(e),B=e=>F.includes(e),dn=e=>{if(R(e)){L.value=z(e)?L.value.filter(t=>t!==e):[...L.value,e];try{localStorage.setItem(T,JSON.stringify(L.value))}catch{}}},V=c(()=>{let e=S.value.filter(e=>!(M.value!==`all`&&e.epicId!==M.value||N.value!==`all`&&!Yt(e.id).some(e=>e.id===N.value)));return P.value===`priority`?[...e].sort((e,t)=>(un[e.priority]??9)-(un[t.priority]??9)||j(t)-j(e)):P.value===`wsjf`?[...e].sort((e,t)=>j(t)-j(e)):P.value===`points`?[...e].sort((e,t)=>t.points-e.points):e}),H=e=>V.value.filter(t=>t.status===e),U=e=>Xt(H(e).map(e=>e.id)),W=c(()=>{let e=V.value,t=e.filter(e=>e.status===`done`),n=e.filter(e=>e.status===`in-progress`||e.status===`review`),r=e.filter(e=>e.status===`ready`||e.status===`draft`),i=e.filter(e=>e.status===`cancelled`),a=e.filter(e=>e.status!==`cancelled`),o=e.flatMap(e=>e.tasks??[]),s=e=>o.filter(t=>t.status===e).length;return{count:e.length,points:e.reduce((e,t)=>e+t.points,0),liveCount:a.length,livePoints:a.reduce((e,t)=>e+t.points,0),donePoints:t.reduce((e,t)=>e+t.points,0),done:t.length,running:n.length,idle:r.length,cancelled:i.length,cancelledPoints:i.reduce((e,t)=>e+t.points,0),tasks:o.length,tasksDone:s(`done`),taskRed:s(`red`),taskGreen:s(`green`),taskRefactor:s(`refactored`),taskTodo:s(`todo`),bugs:e.filter(e=>e.type===`bug`).length,debt:e.filter(e=>e.type===`debt`).length,scope:e.filter(e=>e.scopeChange).length}}),G=c(()=>W.value.livePoints?Math.round(W.value.donePoints/W.value.livePoints*100):0),fn=c(()=>W.value.liveCount?Math.round(W.value.livePoints/W.value.liveCount*10)/10:0),K=c(()=>W.value.tasks?Math.round(W.value.tasksDone/W.value.tasks*100):0),pn=c(()=>on.value.length+W.value.bugs),mn=c(()=>Math.max(1,...D.map(e=>H(e).length))),hn=e=>8+Math.round(H(e).length/mn.value*34),q=[`draft`,`ready`,`in-progress`,`review`,`done`],gn=e=>q[q.indexOf(e)+1]??null,_n=e=>q.indexOf(e)>0?q[q.indexOf(e)-1]:null,J=e=>(e.tasks??[]).filter(e=>e.status!==`done`).length,vn=e=>{let t=gn(e.status);return t?!(t===`done`&&J(e)>0):!1},yn=e=>{let t=gn(e.status);return t?t===`done`&&J(e)?`还有 ${J(e)} 个任务没完成,先做完再收尾`:`推进到「${k[t]}」`:`已经是最后一个状态`},bn=e=>_n(e.status)!==null,Y={content:`bg-[#1b1526]! text-white! ring-0 shadow-lg`},xn=g(``),X=g(``),Z=g(``),Q=g(``);async function $(e,t){if(!X.value&&(t!==`next`||vn(e))&&(t!==`prev`||bn(e))){X.value=e.id,Q.value=``;try{xn.value||=(await b(`/api/projects`)).token,await b(`/api/agile/story-status`,{method:`POST`,headers:{"x-project-token":xn.value},body:{id:e.id,action:t}}),Z.value=``,await Qt()}catch(t){Q.value=`${e.id}:${t?.data?.error??t?.message??`改状态失败`}`}finally{X.value=``}}}let Sn=c(()=>{if(M.value===`all`)return`全部史诗`;let e=E.value.find(e=>e.id===M.value);return e?e.title.slice(0,6):`全部史诗`}),Cn=e=>Yt(e).filter(e=>e.kind===`mvp`);return(c,l)=>{let g=ie,b=ne,S=te,w=re,T=ee;return u(),a(`div`,null,[i(`div`,ae,[i(`article`,{class:r([`stat`,(`cardToneClass`in c?c.cardToneClass:n(C))(0)])},[e(g,{tone:(`cardTone`in c?c.cardTone:n(x))(0)},null,8,[`tone`]),i(`div`,oe,[i(`span`,se,[e(b,{name:`i-lucide-gauge`,class:`size-3.5`}),l[7]||=t(`看板完成度`,-1)]),i(`span`,ce,p(n(Sn)),1)]),i(`div`,le,[t(p(n(G)),1),l[8]||=i(`span`,{class:`unit`},`%`,-1)]),i(`div`,ue,[i(`span`,de,[e(b,{name:`i-lucide-check`,class:`size-3`}),t(p(n(W).donePoints)+` 点`,1)]),t(` 已交付 · 共 `+p(n(W).livePoints)+` 点 `,1)]),i(`div`,fe,[i(`div`,null,[l[9]||=i(`span`,{class:`k`},`完成故事`,-1),i(`b`,null,[t(p(n(W).done),1),i(`small`,null,`/`+p(n(W).liveCount),1)])]),i(`div`,null,[l[11]||=i(`span`,{class:`k`},`剩余点`,-1),i(`b`,null,[t(p(n(W).livePoints-n(W).donePoints),1),l[10]||=i(`small`,null,`点`,-1)])])]),i(`div`,pe,[(u(!0),a(d,null,o(n(D),e=>(u(),a(`div`,{key:e,class:`spark-col`,title:`${n(k)[e]}:${H(e).length} 个`},[i(`div`,{class:r([`spark-bar`,{done:e===`done`,cancel:e===`cancelled`}]),style:s({height:hn(e)+`px`})},null,6),i(`span`,null,p(n($t)[e]),1)],8,me))),128))])],2),i(`article`,{class:r([`stat`,(`cardToneClass`in c?c.cardToneClass:n(C))(1)])},[e(g,{tone:(`cardTone`in c?c.cardTone:n(x))(1)},null,8,[`tone`]),i(`div`,he,[i(`span`,ge,[e(b,{name:`i-lucide-book-open`,class:`size-3.5`}),l[12]||=t(`故事`,-1)]),i(`span`,_e,p(Math.round(n(fn)))+` 点/个`,1)]),i(`div`,ve,[t(p(n(W).count),1),l[13]||=i(`span`,{class:`unit`},`个`,-1)]),i(`div`,ye,`共 `+p(n(W).livePoints)+` 点 · 任务 `+p(n(W).tasks)+` 个`,1),i(`div`,be,[i(`div`,xe,[l[14]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#6aa844`}}),t(`已完成`)],-1),i(`span`,Se,p(n(W).done),1)]),i(`div`,Ce,[l[15]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#3f7fd4`}}),t(`进行中`)],-1),i(`span`,we,p(n(W).running),1)]),i(`div`,Te,[l[16]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#b6bac1`}}),t(`未开始`)],-1),i(`span`,Ee,p(n(W).idle),1)]),i(`div`,De,[l[17]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#cf4759`}}),t(`已取消`)],-1),i(`span`,Oe,p(n(W).cancelled)+p(n(W).cancelledPoints?` · ${n(W).cancelledPoints} 点`:``),1)])]),i(`div`,ke,[i(`div`,Ae,[i(`span`,null,`任务完成 `+p(n(W).tasksDone)+`/`+p(n(W).tasks),1),i(`span`,null,p(n(K))+`%`,1)]),i(`div`,je,[i(`i`,{style:s({width:n(K)+`%`})},null,4)])])],2),i(`article`,{class:r([`stat`,(`cardToneClass`in c?c.cardToneClass:n(C))(2)])},[e(g,{tone:(`cardTone`in c?c.cardTone:n(x))(2)},null,8,[`tone`]),i(`div`,Me,[i(`span`,Ne,[e(b,{name:`i-lucide-list-checks`,class:`size-3.5`}),l[18]||=t(`TDD 任务`,-1)]),l[19]||=i(`span`,{class:`stat-pill`},`红 → 绿 → 重构`,-1)]),i(`div`,Pe,[t(p(n(W).tasksDone),1),i(`span`,Fe,`/ `+p(n(W).tasks)+` 项`,1)]),i(`div`,Ie,`已完成任务占 `+p(n(K))+`%`,1),i(`div`,Le,[i(`div`,Re,[l[20]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#cf4759`}}),t(`红(测试失败)`)],-1),i(`span`,ze,p(n(W).taskRed),1)]),i(`div`,Be,[l[21]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#6aa844`}}),t(`绿(测试通过)`)],-1),i(`span`,Ve,p(n(W).taskGreen),1)]),i(`div`,He,[l[22]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#6d4ff0`}}),t(`已重构`)],-1),i(`span`,Ue,p(n(W).taskRefactor),1)]),i(`div`,We,[l[23]||=i(`span`,{class:`k`},[i(`i`,{class:`dot`,style:{background:`#b6bac1`}}),t(`待办`)],-1),i(`span`,Ge,p(n(W).taskTodo),1)])]),i(`div`,Ke,[i(`div`,qe,[i(`span`,null,`已完成 `+p(n(W).tasksDone)+`/`+p(n(W).tasks),1),i(`span`,null,p(n(K))+`%`,1)]),i(`div`,Je,[i(`i`,{style:s({width:n(K)+`%`})},null,4)])])],2),i(`article`,{class:r([`stat`,(`cardToneClass`in c?c.cardToneClass:n(C))(3)])},[e(g,{tone:(`cardTone`in c?c.cardTone:n(x))(3)},null,8,[`tone`]),i(`div`,Ye,[i(`span`,Xe,[e(b,{name:`i-lucide-shield-alert`,class:`size-3.5`}),l[24]||=t(`风险面`,-1)]),l[25]||=i(`span`,{class:`stat-pill`},`需处理`,-1)]),i(`div`,Ze,[t(p(n(pn)),1),l[26]||=i(`span`,{class:`unit`},`项`,-1)]),l[32]||=i(`div`,{class:`stat-sub`},`阻塞故事与缺陷合计`,-1),i(`div`,Qe,[i(`div`,$e,[l[27]||=i(`span`,{class:`k`},`阻塞故事`,-1),i(`span`,et,p(n(on).length),1)]),i(`div`,tt,[l[28]||=i(`span`,{class:`k`},`缺陷`,-1),i(`span`,nt,p(n(W).bugs),1)]),i(`div`,rt,[l[29]||=i(`span`,{class:`k`},`技术债`,-1),i(`span`,it,p(n(W).debt),1)]),i(`div`,at,[l[30]||=i(`span`,{class:`k`},`范围变更`,-1),i(`span`,ot,p(n(W).scope),1)])]),i(`div`,st,[i(`div`,ct,[l[31]||=i(`span`,null,`完成度`,-1),i(`span`,null,p(n(G))+`%`,1)]),i(`div`,lt,[i(`i`,{style:s({width:n(G)+`%`})},null,4)])])],2)]),i(`div`,ut,[i(`div`,dt,[l[33]||=i(`span`,{class:`lbl`},`筛选`,-1),e(S,{modelValue:n(M),"onUpdate:modelValue":l[0]||=e=>m(M)?M.value=e:null,items:n(sn),icon:`i-lucide-layers`,"aria-label":`按史诗筛选`},null,8,[`modelValue`,`items`]),e(S,{modelValue:n(N),"onUpdate:modelValue":l[1]||=e=>m(N)?N.value=e:null,items:n(cn),icon:`i-lucide-flag`,"aria-label":`按里程碑筛选`},null,8,[`modelValue`,`items`]),e(S,{modelValue:n(P),"onUpdate:modelValue":l[2]||=e=>m(P)?P.value=e:null,items:ln,icon:`i-lucide-arrow-up-down`,"aria-label":`排序方式`},null,8,[`modelValue`])]),i(`div`,ft,[i(`span`,pt,p(n(V).length),1),l[34]||=t(` 个故事 `,-1),l[35]||=i(`i`,{class:`sep`},null,-1),i(`span`,mt,p(n(Xt)(n(V).map(e=>e.id))),1),l[36]||=t(` 点 `,-1)])]),n(Q)?(u(),a(`div`,ht,[e(b,{name:`i-lucide-circle-alert`,class:`size-4`}),i(`span`,gt,p(n(Q)),1),i(`button`,{class:`btn btn-sm`,onClick:l[3]||=e=>Q.value=``},`知道了`)])):_(``,!0),i(`div`,_t,[i(`div`,vt,[(u(!0),a(d,null,o(n(D),c=>(u(),a(`section`,{key:c,class:r([`lane`,{folded:z(c)}])},[z(c)?(u(),a(`button`,{key:0,class:`lane-stub`,title:`展开${n(k)[c]}:${H(c).length} 个 · ${U(c)} 点`,onClick:e=>dn(c)},[i(`i`,{class:`lane-dot`,style:s({background:n(A)[c]})},null,4),i(`span`,bt,p(n(k)[c]),1),i(`span`,xt,p(H(c).length),1),i(`span`,St,p(U(c))+` 点`,1),e(b,{name:`i-lucide-chevrons-right`,class:`stub-ic`})],8,yt)):(u(),a(d,{key:1},[i(`header`,Ct,[i(`i`,{class:`lane-dot`,style:s({background:n(A)[c]})},null,4),i(`b`,null,p(n(k)[c]),1),i(`span`,wt,p(H(c).length),1),i(`span`,Tt,p(U(c))+` 点`,1),R(c)?(u(),a(`button`,{key:0,class:`lane-fold`,"aria-expanded":!z(c),title:`收起${n(k)[c]}`,onClick:e=>dn(c)},[e(b,{name:`i-lucide-chevron-left`,class:`size-3`})],8,Et)):_(``,!0)]),i(`div`,Dt,[(u(!0),a(d,null,o(H(c),m=>(u(),h(T,{key:m.id,to:`/story/${m.id}`,class:r([`scard`,{"scard-compact":B(c)}])},{default:f(()=>[B(c)?(u(),a(d,{key:0},[i(`span`,Ot,p(m.id),1),i(`span`,kt,p(m.points)+` 点`,1),i(`span`,{class:`sc-c-title`,title:m.title},p(m.title),9,At)],64)):(u(),a(d,{key:1},[i(`div`,jt,[i(`span`,Mt,p(m.id),1),i(`span`,{class:r([`tag`,`tag-${n(rn)[m.priority]}`])},p(m.priority),3),i(`span`,Nt,`WSJF `+p(n(j)(m)),1),m.blocked?(u(),a(`span`,{key:0,class:`tag tag-error tag-dot`,title:`阻塞中:${m.blocked.reason}(自 ${m.blocked.since})`},`阻塞`,8,Pt)):_(``,!0)]),i(`p`,Ft,p(m.title),1),i(`div`,It,[i(`span`,null,p(m.points)+` 点`,1),l[37]||=i(`span`,{class:`dim`},`·`,-1),i(`span`,null,`任务 `+p(n(O)(m).done)+`/`+p(n(O)(m).total),1)]),i(`div`,Lt,[i(`span`,{class:r([`tag`,`tag-${n(tn)[m.type]}`])},[e(b,{name:n(nn)[m.type],class:`size-3`},null,8,[`name`]),t(p(n(en)[m.type]),1)],2),i(`span`,Rt,p(m.epicId),1),m.sprintId?(u(),a(`span`,zt,p(m.sprintId),1)):_(``,!0),(u(!0),a(d,null,o(Cn(m.id),e=>(u(),a(`span`,{key:e.id,class:`tag tag-mint`,title:`${e.id} ${e.title} · ${e.criteria}`},`MVP`,8,Bt))),128)),m.scopeChange?(u(),a(`span`,{key:1,class:`tag tag-info`,title:`${n(an)[m.scopeChange.kind]}(${m.scopeChange.at}):${m.scopeChange.reason}`},p(n(an)[m.scopeChange.kind]),9,Vt)):_(``,!0)]),i(`div`,Ht,[i(`i`,{style:s({width:n(O)(m).pct+`%`})},null,4)]),i(`div`,{class:`sc-actions`,style:{backdropFilter:`blur(10px) saturate(125%)`},onMouseleave:l[6]||=e=>Z.value=``},[n(Z)===m.id?(u(),a(d,{key:0},[i(`span`,Ut,`取消 `+p(m.id)+`?`,1),i(`span`,{class:`sc-act danger`,role:`button`,tabindex:`0`,"data-act":`cancel-confirm`,"aria-label":`确认取消 ${m.id}`,onClick:y(e=>$(m,`cancel`),[`stop`,`prevent`]),onKeydown:v(y(e=>$(m,`cancel`),[`prevent`]),[`enter`])},`确认`,40,Wt),i(`span`,{class:`sc-act`,role:`button`,tabindex:`0`,"data-act":`cancel-abort`,onClick:l[4]||=y(e=>Z.value=``,[`stop`,`prevent`]),onKeydown:l[5]||=v(y(e=>Z.value=``,[`prevent`]),[`enter`])},`返回`,32)],64)):(u(),a(d,{key:1},[bn(m)?(u(),h(w,{key:0,text:`退回「${n(k)[_n(m.status)??``]}」`,"delay-duration":150,ui:Y},{default:f(()=>[i(`span`,{class:`sc-act`,role:`button`,tabindex:`0`,"data-act":`prev`,"aria-label":`退回 ${m.id}`,onClick:y(e=>$(m,`prev`),[`stop`,`prevent`]),onKeydown:v(y(e=>$(m,`prev`),[`prevent`]),[`enter`])},[e(b,{name:`i-lucide-arrow-left`,class:`size-3.5`})],40,Gt)]),_:2},1032,[`text`])):_(``,!0),e(w,{text:yn(m),"delay-duration":150,ui:Y},{default:f(()=>[i(`span`,{class:r([`sc-act`,{off:!vn(m)}]),role:`button`,tabindex:`0`,"data-act":`next`,"aria-label":`推进 ${m.id}`,onClick:y(e=>$(m,`next`),[`stop`,`prevent`]),onKeydown:v(y(e=>$(m,`next`),[`prevent`]),[`enter`])},[e(b,{name:`i-lucide-arrow-right`,class:`size-3.5`})],42,Kt)]),_:2},1032,[`text`]),e(w,{text:`标记 ${m.id} 已取消`,"delay-duration":150,ui:Y},{default:f(()=>[i(`span`,{class:`sc-act danger`,role:`button`,tabindex:`0`,"data-act":`cancel`,"aria-label":`取消 ${m.id}`,onClick:y(e=>Z.value=m.id,[`stop`,`prevent`]),onKeydown:v(y(e=>Z.value=m.id,[`prevent`]),[`enter`])},[e(b,{name:`i-lucide-x`,class:`size-3.5`})],40,qt)]),_:2},1032,[`text`])],64))],32)],64))]),_:2},1032,[`to`,`class`]))),128)),H(c).length?_(``,!0):(u(),a(`p`,Jt,`暂无故事`))])],64))],2))),128))])])])}}}),[[`__scopeId`,`data-v-3d44e42e`]]);export{E as default};
@@ -1 +1 @@
1
- import{$ as e,D as t,Ft as n,On as r,Zn as i,_ as a,b as o,g as s,mt as c,xt as l}from"./DZo3dYLJ.js";import{r as u}from"./Csqgy925.js";import{n as d,t as f}from"./6gFtTBwm.js";import{t as p}from"./o_84IzFk.js";import{u as m}from"#entry";var h={slots:{root:`relative my-5 bg-muted [&>div]:my-0 [&_pre]:max-h-[80vh] [&_pre]:pb-12`,footer:`h-16 absolute inset-x-px bottom-px rounded-b-md flex items-center justify-center`,trigger:`group`,triggerIcon:`group-data-[state=open]:rotate-180`},variants:{open:{true:{root:`rounded-md`},false:{root:`max-h-[200px] overflow-hidden rounded-b-md [&_pre]:overflow-hidden`,footer:`inset-x-0 bottom-0 border border-t-0 border-muted bg-linear-to-t from-muted`}}}},g={__name:`ProseCodeCollapse`,props:e({icon:{type:null,required:!1},name:{type:String,required:!1},openText:{type:String,required:!1},closeText:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(e){let g=d(`prose.codeCollapse`,e),_=n(e,`open`,{type:Boolean,default:!1}),{t:v}=m(),y=u(),b=s(()=>f({extend:h,...y.ui?.prose?.codeCollapse||{}})({open:_.value}));return(e,n)=>(c(),o(`div`,{class:i(b.value.root({class:[r(g).ui?.root,r(g).class]}))},[l(e.$slots,`default`),a(`div`,{class:i(b.value.footer({class:r(g).ui?.footer}))},[t(p,{icon:r(g).icon||r(y).ui.icons.chevronDown,color:`neutral`,variant:`outline`,"data-state":_.value?`open`:`closed`,label:`${_.value?r(g).closeText||r(v)(`prose.codeCollapse.closeText`):r(g).openText||r(v)(`prose.codeCollapse.openText`)} ${r(g).name||r(v)(`prose.codeCollapse.name`)}`,class:i(b.value.trigger({class:r(g).ui?.trigger})),ui:{leadingIcon:b.value.triggerIcon({class:r(g).ui?.triggerIcon})},onClick:n[0]||=e=>_.value=!_.value},null,8,[`icon`,`data-state`,`label`,`class`,`ui`])],2)],2))}};export{g as default};
1
+ import{$ as e,D as t,Ft as n,On as r,Zn as i,_ as a,b as o,g as s,mt as c,xt as l}from"./DZo3dYLJ.js";import{r as u}from"./Csqgy925.js";import{n as d,t as f}from"./6gFtTBwm.js";import{t as p}from"./EYTShbt4.js";import{u as m}from"#entry";var h={slots:{root:`relative my-5 bg-muted [&>div]:my-0 [&_pre]:max-h-[80vh] [&_pre]:pb-12`,footer:`h-16 absolute inset-x-px bottom-px rounded-b-md flex items-center justify-center`,trigger:`group`,triggerIcon:`group-data-[state=open]:rotate-180`},variants:{open:{true:{root:`rounded-md`},false:{root:`max-h-[200px] overflow-hidden rounded-b-md [&_pre]:overflow-hidden`,footer:`inset-x-0 bottom-0 border border-t-0 border-muted bg-linear-to-t from-muted`}}}},g={__name:`ProseCodeCollapse`,props:e({icon:{type:null,required:!1},name:{type:String,required:!1},openText:{type:String,required:!1},closeText:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(e){let g=d(`prose.codeCollapse`,e),_=n(e,`open`,{type:Boolean,default:!1}),{t:v}=m(),y=u(),b=s(()=>f({extend:h,...y.ui?.prose?.codeCollapse||{}})({open:_.value}));return(e,n)=>(c(),o(`div`,{class:i(b.value.root({class:[r(g).ui?.root,r(g).class]}))},[l(e.$slots,`default`),a(`div`,{class:i(b.value.footer({class:r(g).ui?.footer}))},[t(p,{icon:r(g).icon||r(y).ui.icons.chevronDown,color:`neutral`,variant:`outline`,"data-state":_.value?`open`:`closed`,label:`${_.value?r(g).closeText||r(v)(`prose.codeCollapse.closeText`):r(g).openText||r(v)(`prose.codeCollapse.openText`)} ${r(g).name||r(v)(`prose.codeCollapse.name`)}`,class:i(b.value.trigger({class:r(g).ui?.trigger})),ui:{leadingIcon:b.value.triggerIcon({class:r(g).ui?.triggerIcon})},onClick:n[0]||=e=>_.value=!_.value},null,8,[`icon`,`data-state`,`label`,`class`,`ui`])],2)],2))}};export{g as default};
@@ -1 +1 @@
1
- import{On as e,mt as t,qt as n,v as r}from"./DZo3dYLJ.js";import{r as i}from"./Csqgy925.js";import{t as a}from"./CQTvWh4i.js";import o from"./Cti_rGPY.js";var s={__name:`ProseWarning`,setup(s){let c=i();return(i,s)=>(t(),r(o,{color:`warning`,icon:e(c).ui.icons.warning},{default:n(()=>[a(i.$slots,`default`,{mdcUnwrap:`p`})]),_:3},8,[`icon`]))}};export{s as default};
1
+ import{On as e,mt as t,qt as n,v as r}from"./DZo3dYLJ.js";import{r as i}from"./Csqgy925.js";import{t as a}from"./CQTvWh4i.js";import o from"./vwxaNGfc.js";var s={__name:`ProseWarning`,setup(s){let c=i();return(i,s)=>(t(),r(o,{color:`warning`,icon:e(c).ui.icons.warning},{default:n(()=>[a(i.$slots,`default`,{mdcUnwrap:`p`})]),_:3},8,[`icon`]))}};export{s as default};
@@ -1 +1 @@
1
- import{On as e,mt as t,qt as n,v as r}from"./DZo3dYLJ.js";import{r as i}from"./Csqgy925.js";import{t as a}from"./CQTvWh4i.js";import o from"./Cti_rGPY.js";var s={__name:`ProseTip`,setup(s){let c=i();return(i,s)=>(t(),r(o,{color:`success`,icon:e(c).ui.icons.tip},{default:n(()=>[a(i.$slots,`default`,{mdcUnwrap:`p`})]),_:3},8,[`icon`]))}};export{s as default};
1
+ import{On as e,mt as t,qt as n,v as r}from"./DZo3dYLJ.js";import{r as i}from"./Csqgy925.js";import{t as a}from"./CQTvWh4i.js";import o from"./vwxaNGfc.js";var s={__name:`ProseTip`,setup(s){let c=i();return(i,s)=>(t(),r(o,{color:`success`,icon:e(c).ui.icons.tip},{default:n(()=>[a(i.$slots,`default`,{mdcUnwrap:`p`})]),_:3},8,[`icon`]))}};export{s as default};
@@ -1 +1 @@
1
- import{g as e,mt as t,v as n,y as r}from"./DZo3dYLJ.js";import{t as i}from"./DSaWoFHS.js";import{r as a}from"./Csqgy925.js";import{t as o}from"./DrZpfjBq.js";var s={".editorconfig":`i-vscode-icons-file-type-editorconfig`,".env":`i-vscode-icons-file-type-dotenv`,".env.example":`i-vscode-icons-file-type-dotenv`,".eslintignore":`i-vscode-icons-file-type-eslint`,".eslintrc":`i-vscode-icons-file-type-eslint`,".eslintrc.cjs":`i-vscode-icons-file-type-eslint`,".gitignore":`i-vscode-icons-file-type-git`,".npmrc":`i-vscode-icons-file-type-npm`,".nuxtignore":`i-vscode-icons-file-type-nuxt`,".nuxtrc":`i-vscode-icons-file-type-nuxt`,".vscode/settings.json":`i-vscode-icons-file-type-vscode`,asm:`i-vscode-icons-file-type-assembly`,bicep:`i-vscode-icons-file-type-bicep`,bicepparam:`i-vscode-icons-file-type-bicep`,bun:`i-vscode-icons-file-type-bun`,cjs:`i-vscode-icons-file-type-js`,cs:`i-vscode-icons-file-type-csharp`,dart:`i-vscode-icons-file-type-dartlang`,deno:`i-vscode-icons-file-type-deno`,erl:`i-vscode-icons-file-type-erlang`,"eslint.config.cjs":`i-vscode-icons-file-type-eslint`,"eslint.config.js":`i-vscode-icons-file-type-eslint`,"eslint.config.mjs":`i-vscode-icons-file-type-eslint`,exs:`i-vscode-icons-file-type-elixir`,f:`i-vscode-icons-file-type-fortran`,fs:`i-vscode-icons-file-type-fsharp`,gleam:`i-vscode-icons-file-type-gleam`,go:`i-vscode-icons-file-type-go`,h:`i-vscode-icons-file-type-cppheader`,hs:`i-vscode-icons-file-type-haskell`,ico:`i-vscode-icons-file-type-favicon`,ino:`i-vscode-icons-file-type-arduino`,jl:`i-vscode-icons-file-type-julia`,js:`i-vscode-icons-file-type-js`,jsx:`i-vscode-icons-file-type-js`,kt:`i-vscode-icons-file-type-kotlin`,lsp:`i-vscode-icons-file-type-lisp`,md:`i-vscode-icons-file-type-markdown`,mjs:`i-vscode-icons-file-type-js`,npm:`i-vscode-icons-file-type-npm`,npx:`i-vscode-icons-file-type-npm`,nuxt:`i-vscode-icons-file-type-nuxt`,"nuxt.config.js":`i-vscode-icons-file-type-nuxt`,"nuxt.config.ts":`i-vscode-icons-file-type-nuxt`,"nuxt.schema.ts":`i-vscode-icons-file-type-nuxt`,"package.json":`i-vscode-icons-file-type-node`,pl:`i-vscode-icons-file-type-perl`,pnpm:`i-vscode-icons-file-type-pnpm`,ps1:`i-vscode-icons-file-type-powershell`,psd1:`i-vscode-icons-file-type-powershell`,psm1:`i-vscode-icons-file-type-powershell`,py:`i-vscode-icons-file-type-python`,rb:`i-vscode-icons-file-type-ruby`,rs:`i-vscode-icons-file-type-rust`,sbt:`i-vscode-icons-file-type-scala`,"tailwind.config.js":`i-vscode-icons-file-type-tailwind`,"tailwind.config.ts":`i-vscode-icons-file-type-tailwind`,terminal:`i-lucide-terminal`,ts:`i-vscode-icons-file-type-typescript`,"tsconfig.json":`i-vscode-icons-file-type-tsconfig`,tsx:`i-vscode-icons-file-type-typescript`,vue:`i-vscode-icons-file-type-vue`,yarn:`i-vscode-icons-file-type-yarn`,"yarn.lock":`i-vscode-icons-file-type-yarn`,yml:`i-vscode-icons-file-type-yaml`},c={__name:`ProseCodeIcon`,props:{icon:{type:null,required:!1},filename:{type:String,required:!1}},setup(c){let l=c,u=a(),d=e(()=>i(u.ui?.prose?.codeIcon||{},s)),f=e(()=>{if(l.icon)return l.icon;if(!l.filename)return;let e=l.filename.replace(/\s*\(.*\)\s*$/,``),t=e.includes(`.`)&&e.split(`.`).pop(),n=e.split(`/`).pop();return(n&&d.value[n.toLowerCase()])??(t&&(d.value[t]??`i-vscode-icons-file-type-${t}`))});return(e,i)=>f.value?(t(),n(o,{key:0,name:f.value},null,8,[`name`])):r(``,!0)}};export{c as default};
1
+ import{g as e,mt as t,v as n,y as r}from"./DZo3dYLJ.js";import{t as i}from"./DSaWoFHS.js";import{r as a}from"./Csqgy925.js";import{t as o}from"./rlePnzpc.js";var s={".editorconfig":`i-vscode-icons-file-type-editorconfig`,".env":`i-vscode-icons-file-type-dotenv`,".env.example":`i-vscode-icons-file-type-dotenv`,".eslintignore":`i-vscode-icons-file-type-eslint`,".eslintrc":`i-vscode-icons-file-type-eslint`,".eslintrc.cjs":`i-vscode-icons-file-type-eslint`,".gitignore":`i-vscode-icons-file-type-git`,".npmrc":`i-vscode-icons-file-type-npm`,".nuxtignore":`i-vscode-icons-file-type-nuxt`,".nuxtrc":`i-vscode-icons-file-type-nuxt`,".vscode/settings.json":`i-vscode-icons-file-type-vscode`,asm:`i-vscode-icons-file-type-assembly`,bicep:`i-vscode-icons-file-type-bicep`,bicepparam:`i-vscode-icons-file-type-bicep`,bun:`i-vscode-icons-file-type-bun`,cjs:`i-vscode-icons-file-type-js`,cs:`i-vscode-icons-file-type-csharp`,dart:`i-vscode-icons-file-type-dartlang`,deno:`i-vscode-icons-file-type-deno`,erl:`i-vscode-icons-file-type-erlang`,"eslint.config.cjs":`i-vscode-icons-file-type-eslint`,"eslint.config.js":`i-vscode-icons-file-type-eslint`,"eslint.config.mjs":`i-vscode-icons-file-type-eslint`,exs:`i-vscode-icons-file-type-elixir`,f:`i-vscode-icons-file-type-fortran`,fs:`i-vscode-icons-file-type-fsharp`,gleam:`i-vscode-icons-file-type-gleam`,go:`i-vscode-icons-file-type-go`,h:`i-vscode-icons-file-type-cppheader`,hs:`i-vscode-icons-file-type-haskell`,ico:`i-vscode-icons-file-type-favicon`,ino:`i-vscode-icons-file-type-arduino`,jl:`i-vscode-icons-file-type-julia`,js:`i-vscode-icons-file-type-js`,jsx:`i-vscode-icons-file-type-js`,kt:`i-vscode-icons-file-type-kotlin`,lsp:`i-vscode-icons-file-type-lisp`,md:`i-vscode-icons-file-type-markdown`,mjs:`i-vscode-icons-file-type-js`,npm:`i-vscode-icons-file-type-npm`,npx:`i-vscode-icons-file-type-npm`,nuxt:`i-vscode-icons-file-type-nuxt`,"nuxt.config.js":`i-vscode-icons-file-type-nuxt`,"nuxt.config.ts":`i-vscode-icons-file-type-nuxt`,"nuxt.schema.ts":`i-vscode-icons-file-type-nuxt`,"package.json":`i-vscode-icons-file-type-node`,pl:`i-vscode-icons-file-type-perl`,pnpm:`i-vscode-icons-file-type-pnpm`,ps1:`i-vscode-icons-file-type-powershell`,psd1:`i-vscode-icons-file-type-powershell`,psm1:`i-vscode-icons-file-type-powershell`,py:`i-vscode-icons-file-type-python`,rb:`i-vscode-icons-file-type-ruby`,rs:`i-vscode-icons-file-type-rust`,sbt:`i-vscode-icons-file-type-scala`,"tailwind.config.js":`i-vscode-icons-file-type-tailwind`,"tailwind.config.ts":`i-vscode-icons-file-type-tailwind`,terminal:`i-lucide-terminal`,ts:`i-vscode-icons-file-type-typescript`,"tsconfig.json":`i-vscode-icons-file-type-tsconfig`,tsx:`i-vscode-icons-file-type-typescript`,vue:`i-vscode-icons-file-type-vue`,yarn:`i-vscode-icons-file-type-yarn`,"yarn.lock":`i-vscode-icons-file-type-yarn`,yml:`i-vscode-icons-file-type-yaml`},c={__name:`ProseCodeIcon`,props:{icon:{type:null,required:!1},filename:{type:String,required:!1}},setup(c){let l=c,u=a(),d=e(()=>i(u.ui?.prose?.codeIcon||{},s)),f=e(()=>{if(l.icon)return l.icon;if(!l.filename)return;let e=l.filename.replace(/\s*\(.*\)\s*$/,``),t=e.includes(`.`)&&e.split(`.`).pop(),n=e.split(`/`).pop();return(n&&d.value[n.toLowerCase()])??(t&&(d.value[t]??`i-vscode-icons-file-type-${t}`))});return(e,i)=>f.value?(t(),n(o,{key:0,name:f.value},null,8,[`name`])):r(``,!0)}};export{c as default};
@@ -1 +1 @@
1
- import{D as e,Lt as t,On as n,Zn as r,_ as i,et as a,g as o,mt as s,qt as c,tr as l,v as u,xt as d,y as f}from"./DZo3dYLJ.js";import{r as p}from"./Csqgy925.js";import{m,n as h,t as g}from"./6gFtTBwm.js";import{m as _}from"./CuJUHLl8.js";import{t as v}from"./BuOKDFiJ.js";import{t as y}from"./DrZpfjBq.js";import{E as b,T as x,u as S,w as C}from"#entry";var w={slots:{root:``,content:`data-[state=open]:animate-[collapsible-down_200ms_var(--ease-out)] data-[state=closed]:animate-[collapsible-up_200ms_var(--ease-out)] data-[state=closed]:overflow-hidden`}},T={__name:`UCollapsible`,props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(i,{emit:l}){let m=i,y=l,S=t(),T=h(`collapsible`,m),E=p(),D=v(_(T,`as`,`defaultOpen`,`open`,`disabled`,`unmountOnHide`),y),O=o(()=>g({extend:w,...E.ui?.collapsible||{}})());return(t,i)=>(s(),u(n(b),a(n(D),{"data-slot":`root`,class:O.value.root({class:[n(T).ui?.root,n(T).class]})}),{default:c(({open:i})=>[S.default?(s(),u(n(C),{key:0,"as-child":``},{default:c(()=>[d(t.$slots,`default`,{open:i})]),_:2},1024)):f(``,!0),e(n(x),{"data-slot":`content`,class:r(O.value.content({class:n(T).ui?.content}))},{default:c(()=>[d(t.$slots,`content`)]),_:3},8,[`class`])]),_:3},16,[`class`]))}},E={slots:{root:`my-5`,trigger:[`group relative rounded-xs inline-flex items-center gap-1.5 text-muted hover:text-default text-sm outline-primary/25 focus-visible:outline-3`,`transition-colors`],triggerIcon:`size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200 ease-out motion-reduce:transition-none`,triggerLabel:`truncate`,content:`*:first:mt-2.5 *:last:mb-0 *:my-1.5`}},D={__name:`ProseCollapsible`,props:{icon:{type:null,required:!1},name:{type:String,required:!1},openText:{type:String,required:!1},closeText:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(t){let a=h(`prose.collapsible`,t),{t:f}=S(),_=p(),v=o(()=>g({extend:E,..._.ui?.prose?.collapsible||{}})());return(t,o)=>(s(),u(T,{"unmount-on-hide":!1,class:r(n(a).class),ui:n(m)(v.value,n(a).ui)},{default:c(({open:t})=>[i(`button`,{class:r(v.value.trigger({class:n(a).ui?.trigger}))},[e(y,{name:n(a).icon||n(_).ui.icons.chevronDown,class:r(v.value.triggerIcon({class:n(a).ui?.triggerIcon}))},null,8,[`name`,`class`]),i(`span`,{class:r(v.value.triggerLabel({class:n(a).ui?.triggerLabel}))},l(t?n(a).closeText||n(f)(`prose.collapsible.closeText`):n(a).openText||n(f)(`prose.collapsible.openText`))+` `+l(n(a).name||n(f)(`prose.collapsible.name`)),3)],2)]),content:c(()=>[d(t.$slots,`default`)]),_:3},8,[`class`,`ui`]))}};export{D as default};
1
+ import{D as e,Lt as t,On as n,Zn as r,_ as i,et as a,g as o,mt as s,qt as c,tr as l,v as u,xt as d,y as f}from"./DZo3dYLJ.js";import{r as p}from"./Csqgy925.js";import{m,n as h,t as g}from"./6gFtTBwm.js";import{m as _}from"./CuJUHLl8.js";import{t as v}from"./BuOKDFiJ.js";import{t as y}from"./rlePnzpc.js";import{E as b,T as x,u as S,w as C}from"#entry";var w={slots:{root:``,content:`data-[state=open]:animate-[collapsible-down_200ms_var(--ease-out)] data-[state=closed]:animate-[collapsible-up_200ms_var(--ease-out)] data-[state=closed]:overflow-hidden`}},T={__name:`UCollapsible`,props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(i,{emit:l}){let m=i,y=l,S=t(),T=h(`collapsible`,m),E=p(),D=v(_(T,`as`,`defaultOpen`,`open`,`disabled`,`unmountOnHide`),y),O=o(()=>g({extend:w,...E.ui?.collapsible||{}})());return(t,i)=>(s(),u(n(b),a(n(D),{"data-slot":`root`,class:O.value.root({class:[n(T).ui?.root,n(T).class]})}),{default:c(({open:i})=>[S.default?(s(),u(n(C),{key:0,"as-child":``},{default:c(()=>[d(t.$slots,`default`,{open:i})]),_:2},1024)):f(``,!0),e(n(x),{"data-slot":`content`,class:r(O.value.content({class:n(T).ui?.content}))},{default:c(()=>[d(t.$slots,`content`)]),_:3},8,[`class`])]),_:3},16,[`class`]))}},E={slots:{root:`my-5`,trigger:[`group relative rounded-xs inline-flex items-center gap-1.5 text-muted hover:text-default text-sm outline-primary/25 focus-visible:outline-3`,`transition-colors`],triggerIcon:`size-4 shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200 ease-out motion-reduce:transition-none`,triggerLabel:`truncate`,content:`*:first:mt-2.5 *:last:mb-0 *:my-1.5`}},D={__name:`ProseCollapsible`,props:{icon:{type:null,required:!1},name:{type:String,required:!1},openText:{type:String,required:!1},closeText:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(t){let a=h(`prose.collapsible`,t),{t:f}=S(),_=p(),v=o(()=>g({extend:E,..._.ui?.prose?.collapsible||{}})());return(t,o)=>(s(),u(T,{"unmount-on-hide":!1,class:r(n(a).class),ui:n(m)(v.value,n(a).ui)},{default:c(({open:t})=>[i(`button`,{class:r(v.value.trigger({class:n(a).ui?.trigger}))},[e(y,{name:n(a).icon||n(_).ui.icons.chevronDown,class:r(v.value.triggerIcon({class:n(a).ui?.triggerIcon}))},null,8,[`name`,`class`]),i(`span`,{class:r(v.value.triggerLabel({class:n(a).ui?.triggerLabel}))},l(t?n(a).closeText||n(f)(`prose.collapsible.closeText`):n(a).openText||n(f)(`prose.collapsible.openText`))+` `+l(n(a).name||n(f)(`prose.collapsible.name`)),3)],2)]),content:c(()=>[d(t.$slots,`default`)]),_:3},8,[`class`,`ui`]))}};export{D as default};
@@ -1 +1 @@
1
- import{D as e,E as t,On as n,Zn as r,_ as i,b as a,bt as o,er as s,g as c,k as l,mt as u,o as d,qt as ee,tr as f,y as p}from"./DZo3dYLJ.js";import{t as m}from"./CJ2mz0WY.js";import{t as h}from"./DrZpfjBq.js";import{a as g,i as _,o as v,r as te,s as y}from"#entry";var b={class:`kpis`},x={class:`v`},S={class:`v`},C={class:`v`},w={class:`v`},T={class:`v`},E={class:`grid`},D={class:`hero`},O={class:`hero-top`},k={class:`tag tag-ghost`},A={class:`tag tag-neutral`},j={key:0,class:`tag tag-error`},M={key:1,class:`tag tag-warning`},N={class:`hero-pct`},P={class:`epic-title`},F={class:`goal`},I={class:`bar ink hero-bar`},L={class:`hero-foot`},R={class:`bd`},z={class:`h3`},ne={key:0,class:`dim empty`},B={class:`kr-top`},V={class:`kr-text`},H={class:`kr-num mono`},U={class:`h3 stories-hd`},W={class:`stlist`},G={class:`st-id mono`},K={class:`st-title`},q={class:`st-pts dim`},J={class:`st-state dim`},Y=_(l({__name:`epics`,setup(l){let{epics:_,storyById:Y,STATE_LABEL:X,STATE_DOT:Z,TYPE_LABEL:re,TYPE_COLOR:ie,TYPE_ICON:ae,PRIORITY_COLOR:oe}=y(),se={draft:`neutral`,active:`primary`,done:`success`,cancelled:`error`},ce={draft:`草稿`,active:`进行中`,done:`已完成`,cancelled:`已取消`},Q=c(()=>_.value.map(e=>{let t=(e.stories??[]).map(e=>Y.value.get(e)).filter(Boolean),n=t.filter(e=>e.status===`done`),r=t.reduce((e,t)=>e+t.points,0),i=n.reduce((e,t)=>e+t.points,0),a=(e.keyResults??[]).map(e=>{let t=e.target>0?Math.min(100,Math.round((e.current??0)/e.target*100)):(e.current??0)<=0?100:0;return{...e,pct:t,ok:t>=100}});return{...e,list:t,done:n,points:r,donePoints:i,pct:r?Math.round(i/r*100):0,krs:a,krOk:a.filter(e=>e.ok).length,blocked:t.filter(e=>e.blocked),bugs:t.filter(e=>e.type===`bug`)}})),$=c(()=>({epics:Q.value.length,stories:Q.value.reduce((e,t)=>e+t.list.length,0),points:Q.value.reduce((e,t)=>e+t.points,0),donePoints:Q.value.reduce((e,t)=>e+t.donePoints,0),kr:Q.value.reduce((e,t)=>e+t.krs.length,0),krOk:Q.value.reduce((e,t)=>e+t.krOk,0),blocked:Q.value.reduce((e,t)=>e+t.blocked.length,0)}));return(c,l)=>{let _=te,y=h,Y=m;return u(),a(`div`,null,[i(`div`,b,[i(`div`,{class:r([`kpi`,(`cardToneClass`in c?c.cardToneClass:n(v))(0)])},[e(_,{tone:(`cardTone`in c?c.cardTone:n(g))(0),size:`sm`},null,8,[`tone`]),l[1]||=i(`p`,{class:`k`},`史诗`,-1),i(`p`,x,[t(f(n($).epics),1),l[0]||=i(`small`,null,`个`,-1)])],2),i(`div`,{class:r([`kpi`,(`cardToneClass`in c?c.cardToneClass:n(v))(1)])},[e(_,{tone:(`cardTone`in c?c.cardTone:n(g))(1),size:`sm`},null,8,[`tone`]),l[2]||=i(`p`,{class:`k`},`关键结果达成`,-1),i(`p`,S,[t(f(n($).krOk),1),i(`small`,null,`/ `+f(n($).kr),1)])],2),i(`div`,{class:r([`kpi`,(`cardToneClass`in c?c.cardToneClass:n(v))(2)])},[e(_,{tone:(`cardTone`in c?c.cardTone:n(g))(2),size:`sm`},null,8,[`tone`]),l[3]||=i(`p`,{class:`k`},`故事点交付`,-1),i(`p`,C,[t(f(n($).donePoints),1),i(`small`,null,`/ `+f(n($).points),1)])],2),i(`div`,{class:r([`kpi`,(`cardToneClass`in c?c.cardToneClass:n(v))(3)])},[e(_,{tone:(`cardTone`in c?c.cardTone:n(g))(3),size:`sm`},null,8,[`tone`]),l[5]||=i(`p`,{class:`k`},`覆盖故事`,-1),i(`p`,w,[t(f(n($).stories),1),l[4]||=i(`small`,null,`个`,-1)])],2),i(`div`,{class:r([`kpi`,(`cardToneClass`in c?c.cardToneClass:n(v))(4)])},[e(_,{tone:(`cardTone`in c?c.cardTone:n(g))(4),size:`sm`},null,8,[`tone`]),l[7]||=i(`p`,{class:`k`},`阻塞`,-1),i(`p`,T,[t(f(n($).blocked),1),l[6]||=i(`small`,null,`个故事`,-1)])],2)]),i(`div`,E,[(u(!0),a(d,null,o(n(Q),c=>(u(),a(`article`,{key:c.id,class:`card epic`},[i(`div`,D,[i(`div`,O,[i(`span`,k,f(c.id),1),i(`span`,{class:r([`tag`,`tag-${se[c.status]}`])},f(ce[c.status]),3),i(`span`,A,f(c.list.length)+` 个故事`,1),c.bugs.length?(u(),a(`span`,j,[e(y,{name:`i-lucide-bug`,class:`size-3`}),t(f(c.bugs.length),1)])):p(``,!0),c.blocked.length?(u(),a(`span`,M,[e(y,{name:`i-lucide-octagon-alert`,class:`size-3`}),t(f(c.blocked.length),1)])):p(``,!0),i(`span`,N,[t(f(c.pct),1),l[8]||=i(`small`,null,`%`,-1)])]),i(`h2`,P,f(c.title),1),i(`p`,F,f(c.goal),1),i(`div`,I,[i(`i`,{style:s({width:c.pct+`%`})},null,4)]),i(`div`,L,[i(`span`,null,[i(`b`,null,f(c.donePoints),1),t(`/`+f(c.points)+` 点`,1)]),l[9]||=i(`i`,{class:`sep`},null,-1),i(`span`,null,`关键结果 `+f(c.krOk)+`/`+f(c.krs.length)+` 达成`,1),l[10]||=i(`i`,{class:`sep`},null,-1),i(`span`,null,f(c.done.length)+`/`+f(c.list.length)+` 个故事完成`,1)])]),i(`div`,R,[i(`p`,z,[e(y,{name:`i-lucide-target`,class:`size-3`}),l[11]||=t(`关键结果`,-1)]),c.krs.length?p(``,!0):(u(),a(`p`,ne,`这个史诗还没写 keyResults。`)),(u(!0),a(d,null,o(c.krs,e=>(u(),a(`div`,{key:e.id,class:`kr`},[i(`div`,B,[i(`span`,V,f(e.text),1),i(`span`,H,f(e.current??`—`)+` / `+f(e.target)+` `+f(e.unit??``),1),i(`span`,{class:r([`tag`,e.ok?`tag-success`:`tag-warning`])},f(e.pct)+`%`,3)]),i(`div`,{class:r([`bar slim`,e.ok?`mint`:`lilac`])},[i(`i`,{style:s({width:e.pct+`%`})},null,4)],2)]))),128)),i(`p`,U,[e(y,{name:`i-lucide-list-checks`,class:`size-3`}),l[12]||=t(`故事`,-1)]),i(`ul`,W,[(u(!0),a(d,null,o(c.list,o=>(u(),a(`li`,{key:o.id},[e(Y,{to:`/story/${o.id}`,class:`strow`},{default:ee(()=>[i(`i`,{class:`sdot`,style:s({background:n(Z)[o.status]})},null,4),i(`span`,G,f(o.id),1),i(`span`,K,f(o.title),1),i(`span`,{class:r([`tag`,`tag-${n(ie)[o.type]}`])},[e(y,{name:n(ae)[o.type],class:`size-3`},null,8,[`name`]),t(f(n(re)[o.type]),1)],2),i(`span`,{class:r([`tag`,`tag-${n(oe)[o.priority]}`])},f(o.priority),3),i(`span`,q,f(o.points)+` 点`,1),i(`span`,J,f(n(X)[o.status]),1),e(y,{name:`i-lucide-chevron-right`,class:`st-chev`})]),_:2},1032,[`to`])]))),128))])])]))),128))])])}}}),[[`__scopeId`,`data-v-4bf98db6`]]);export{Y as default};
1
+ import{D as e,E as t,On as n,Zn as r,_ as i,b as a,bt as o,er as s,g as c,k as l,mt as u,o as d,qt as ee,tr as f,y as p}from"./DZo3dYLJ.js";import{t as m}from"./CJ2mz0WY.js";import{t as h}from"./rlePnzpc.js";import{a as g,i as _,o as v,r as te,s as y}from"#entry";var b={class:`kpis`},x={class:`v`},S={class:`v`},C={class:`v`},w={class:`v`},T={class:`v`},E={class:`grid`},D={class:`hero`},O={class:`hero-top`},k={class:`tag tag-ghost`},A={class:`tag tag-neutral`},j={key:0,class:`tag tag-error`},M={key:1,class:`tag tag-warning`},N={class:`hero-pct`},P={class:`epic-title`},F={class:`goal`},I={class:`bar ink hero-bar`},L={class:`hero-foot`},R={class:`bd`},z={class:`h3`},ne={key:0,class:`dim empty`},B={class:`kr-top`},V={class:`kr-text`},H={class:`kr-num mono`},U={class:`h3 stories-hd`},W={class:`stlist`},G={class:`st-id mono`},K={class:`st-title`},q={class:`st-pts dim`},J={class:`st-state dim`},Y=_(l({__name:`epics`,setup(l){let{epics:_,storyById:Y,STATE_LABEL:X,STATE_DOT:Z,TYPE_LABEL:re,TYPE_COLOR:ie,TYPE_ICON:ae,PRIORITY_COLOR:oe}=y(),se={draft:`neutral`,active:`primary`,done:`success`,cancelled:`error`},ce={draft:`草稿`,active:`进行中`,done:`已完成`,cancelled:`已取消`},Q=c(()=>_.value.map(e=>{let t=(e.stories??[]).map(e=>Y.value.get(e)).filter(Boolean),n=t.filter(e=>e.status===`done`),r=t.reduce((e,t)=>e+t.points,0),i=n.reduce((e,t)=>e+t.points,0),a=(e.keyResults??[]).map(e=>{let t=e.target>0?Math.min(100,Math.round((e.current??0)/e.target*100)):(e.current??0)<=0?100:0;return{...e,pct:t,ok:t>=100}});return{...e,list:t,done:n,points:r,donePoints:i,pct:r?Math.round(i/r*100):0,krs:a,krOk:a.filter(e=>e.ok).length,blocked:t.filter(e=>e.blocked),bugs:t.filter(e=>e.type===`bug`)}})),$=c(()=>({epics:Q.value.length,stories:Q.value.reduce((e,t)=>e+t.list.length,0),points:Q.value.reduce((e,t)=>e+t.points,0),donePoints:Q.value.reduce((e,t)=>e+t.donePoints,0),kr:Q.value.reduce((e,t)=>e+t.krs.length,0),krOk:Q.value.reduce((e,t)=>e+t.krOk,0),blocked:Q.value.reduce((e,t)=>e+t.blocked.length,0)}));return(c,l)=>{let _=te,y=h,Y=m;return u(),a(`div`,null,[i(`div`,b,[i(`div`,{class:r([`kpi`,(`cardToneClass`in c?c.cardToneClass:n(v))(0)])},[e(_,{tone:(`cardTone`in c?c.cardTone:n(g))(0),size:`sm`},null,8,[`tone`]),l[1]||=i(`p`,{class:`k`},`史诗`,-1),i(`p`,x,[t(f(n($).epics),1),l[0]||=i(`small`,null,`个`,-1)])],2),i(`div`,{class:r([`kpi`,(`cardToneClass`in c?c.cardToneClass:n(v))(1)])},[e(_,{tone:(`cardTone`in c?c.cardTone:n(g))(1),size:`sm`},null,8,[`tone`]),l[2]||=i(`p`,{class:`k`},`关键结果达成`,-1),i(`p`,S,[t(f(n($).krOk),1),i(`small`,null,`/ `+f(n($).kr),1)])],2),i(`div`,{class:r([`kpi`,(`cardToneClass`in c?c.cardToneClass:n(v))(2)])},[e(_,{tone:(`cardTone`in c?c.cardTone:n(g))(2),size:`sm`},null,8,[`tone`]),l[3]||=i(`p`,{class:`k`},`故事点交付`,-1),i(`p`,C,[t(f(n($).donePoints),1),i(`small`,null,`/ `+f(n($).points),1)])],2),i(`div`,{class:r([`kpi`,(`cardToneClass`in c?c.cardToneClass:n(v))(3)])},[e(_,{tone:(`cardTone`in c?c.cardTone:n(g))(3),size:`sm`},null,8,[`tone`]),l[5]||=i(`p`,{class:`k`},`覆盖故事`,-1),i(`p`,w,[t(f(n($).stories),1),l[4]||=i(`small`,null,`个`,-1)])],2),i(`div`,{class:r([`kpi`,(`cardToneClass`in c?c.cardToneClass:n(v))(4)])},[e(_,{tone:(`cardTone`in c?c.cardTone:n(g))(4),size:`sm`},null,8,[`tone`]),l[7]||=i(`p`,{class:`k`},`阻塞`,-1),i(`p`,T,[t(f(n($).blocked),1),l[6]||=i(`small`,null,`个故事`,-1)])],2)]),i(`div`,E,[(u(!0),a(d,null,o(n(Q),c=>(u(),a(`article`,{key:c.id,class:`card epic`},[i(`div`,D,[i(`div`,O,[i(`span`,k,f(c.id),1),i(`span`,{class:r([`tag`,`tag-${se[c.status]}`])},f(ce[c.status]),3),i(`span`,A,f(c.list.length)+` 个故事`,1),c.bugs.length?(u(),a(`span`,j,[e(y,{name:`i-lucide-bug`,class:`size-3`}),t(f(c.bugs.length),1)])):p(``,!0),c.blocked.length?(u(),a(`span`,M,[e(y,{name:`i-lucide-octagon-alert`,class:`size-3`}),t(f(c.blocked.length),1)])):p(``,!0),i(`span`,N,[t(f(c.pct),1),l[8]||=i(`small`,null,`%`,-1)])]),i(`h2`,P,f(c.title),1),i(`p`,F,f(c.goal),1),i(`div`,I,[i(`i`,{style:s({width:c.pct+`%`})},null,4)]),i(`div`,L,[i(`span`,null,[i(`b`,null,f(c.donePoints),1),t(`/`+f(c.points)+` 点`,1)]),l[9]||=i(`i`,{class:`sep`},null,-1),i(`span`,null,`关键结果 `+f(c.krOk)+`/`+f(c.krs.length)+` 达成`,1),l[10]||=i(`i`,{class:`sep`},null,-1),i(`span`,null,f(c.done.length)+`/`+f(c.list.length)+` 个故事完成`,1)])]),i(`div`,R,[i(`p`,z,[e(y,{name:`i-lucide-target`,class:`size-3`}),l[11]||=t(`关键结果`,-1)]),c.krs.length?p(``,!0):(u(),a(`p`,ne,`这个史诗还没写 keyResults。`)),(u(!0),a(d,null,o(c.krs,e=>(u(),a(`div`,{key:e.id,class:`kr`},[i(`div`,B,[i(`span`,V,f(e.text),1),i(`span`,H,f(e.current??`—`)+` / `+f(e.target)+` `+f(e.unit??``),1),i(`span`,{class:r([`tag`,e.ok?`tag-success`:`tag-warning`])},f(e.pct)+`%`,3)]),i(`div`,{class:r([`bar slim`,e.ok?`mint`:`lilac`])},[i(`i`,{style:s({width:e.pct+`%`})},null,4)],2)]))),128)),i(`p`,U,[e(y,{name:`i-lucide-list-checks`,class:`size-3`}),l[12]||=t(`故事`,-1)]),i(`ul`,W,[(u(!0),a(d,null,o(c.list,o=>(u(),a(`li`,{key:o.id},[e(Y,{to:`/story/${o.id}`,class:`strow`},{default:ee(()=>[i(`i`,{class:`sdot`,style:s({background:n(Z)[o.status]})},null,4),i(`span`,G,f(o.id),1),i(`span`,K,f(o.title),1),i(`span`,{class:r([`tag`,`tag-${n(ie)[o.type]}`])},[e(y,{name:n(ae)[o.type],class:`size-3`},null,8,[`name`]),t(f(n(re)[o.type]),1)],2),i(`span`,{class:r([`tag`,`tag-${n(oe)[o.priority]}`])},f(o.priority),3),i(`span`,q,f(o.points)+` 点`,1),i(`span`,J,f(n(X)[o.status]),1),e(y,{name:`i-lucide-chevron-right`,class:`st-chev`})]),_:2},1032,[`to`])]))),128))])])]))),128))])])}}}),[[`__scopeId`,`data-v-4bf98db6`]]);export{Y as default};
@@ -1 +1 @@
1
- import{On as e,Zn as t,g as n,mt as r,v as i}from"./DZo3dYLJ.js";import{r as a}from"./Csqgy925.js";import{n as o,t as s}from"./6gFtTBwm.js";import{t as c}from"./DrZpfjBq.js";var l={base:`size-4 shrink-0 align-sub`},u={__name:`ProseIcon`,props:{name:{type:String,required:!0},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=o(`prose.icon`,u),f=a(),p=n(()=>s({extend:l,...f.ui?.prose?.icon||{}}));return(n,a)=>(r(),i(c,{name:e(d).name,class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},null,8,[`name`,`class`]))}};export{u as default};
1
+ import{On as e,Zn as t,g as n,mt as r,v as i}from"./DZo3dYLJ.js";import{r as a}from"./Csqgy925.js";import{n as o,t as s}from"./6gFtTBwm.js";import{t as c}from"./rlePnzpc.js";var l={base:`size-4 shrink-0 align-sub`},u={__name:`ProseIcon`,props:{name:{type:String,required:!0},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=o(`prose.icon`,u),f=a(),p=n(()=>s({extend:l,...f.ui?.prose?.icon||{}}));return(n,a)=>(r(),i(c,{name:e(d).name,class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},null,8,[`name`,`class`]))}};export{u as default};
@@ -1 +1 @@
1
- import{On as e,mt as t,qt as n,v as r}from"./DZo3dYLJ.js";import{r as i}from"./Csqgy925.js";import{t as a}from"./CQTvWh4i.js";import o from"./Cti_rGPY.js";var s={__name:`ProseNote`,setup(s){let c=i();return(i,s)=>(t(),r(o,{color:`info`,icon:e(c).ui.icons.info},{default:n(()=>[a(i.$slots,`default`,{mdcUnwrap:`p`})]),_:3},8,[`icon`]))}};export{s as default};
1
+ import{On as e,mt as t,qt as n,v as r}from"./DZo3dYLJ.js";import{r as i}from"./Csqgy925.js";import{t as a}from"./CQTvWh4i.js";import o from"./vwxaNGfc.js";var s={__name:`ProseNote`,setup(s){let c=i();return(i,s)=>(t(),r(o,{color:`info`,icon:e(c).ui.icons.info},{default:n(()=>[a(i.$slots,`default`,{mdcUnwrap:`p`})]),_:3},8,[`icon`]))}};export{s as default};
@@ -1,4 +1,4 @@
1
- import{$n as e,D as t,E as n,Ht as r,Lt as i,On as a,Rt as o,Ut as s,Zn as c,_ as l,b as u,bt as d,ct as f,er as p,et as m,ft as h,g,gn as _,k as v,mt as y,o as b,pn as x,qt as S,tr as C,tt as w,u as T,v as E,vn as D,wn as O,wt as k,xn as A,xt as j,y as M}from"./DZo3dYLJ.js";import{w as N}from"./51OWHj8c.js";import{r as P}from"./Csqgy925.js";import{h as F,n as I,t as L}from"./6gFtTBwm.js";import{r as ee,t as R}from"./DLkAKotw.js";import{t as z}from"./DHihWhf5.js";import{S as B,m as V,s as te}from"./CuJUHLl8.js";import{d as ne,f as re,p as H,r as ie}from"./Vo4wMbnS.js";import{t as U}from"./CK9_veoz.js";import{t as W}from"./BuOKDFiJ.js";import{t as G}from"./D3YCAmfu.js";import{t as K}from"./C9StZL3D.js";import{t as q}from"./Bi9Axj3V.js";import{t as J}from"./DrZpfjBq.js";import{n as Y}from"./BscJTep0.js";import{t as X}from"./o_84IzFk.js";import{_ as ae,b as oe,g as se,h as ce,u as Z,v as Q,y as le}from"#entry";var $=100,[ue,de]=F(`ProgressRoot`),fe=e=>typeof e==`number`;function pe(e,t){return z(e)||fe(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be:
1
+ import{$n as e,D as t,E as n,Ht as r,Lt as i,On as a,Rt as o,Ut as s,Zn as c,_ as l,b as u,bt as d,ct as f,er as p,et as m,ft as h,g,gn as _,k as v,mt as y,o as b,pn as x,qt as S,tr as C,tt as w,u as T,v as E,vn as D,wn as O,wt as k,xn as A,xt as j,y as M}from"./DZo3dYLJ.js";import{w as N}from"./51OWHj8c.js";import{r as P}from"./Csqgy925.js";import{h as F,n as I,t as L}from"./6gFtTBwm.js";import{r as ee,t as R}from"./DLkAKotw.js";import{t as z}from"./DHihWhf5.js";import{S as B,m as V,s as te}from"./CuJUHLl8.js";import{d as ne,f as re,p as H,r as ie}from"./Vo4wMbnS.js";import{t as U}from"./CK9_veoz.js";import{t as W}from"./BuOKDFiJ.js";import{t as G}from"./D3YCAmfu.js";import{t as K}from"./C9StZL3D.js";import{t as q}from"./Bi9Axj3V.js";import{t as J}from"./rlePnzpc.js";import{n as Y}from"./DfR3IZN_.js";import{t as X}from"./EYTShbt4.js";import{_ as ae,b as oe,g as se,h as ce,u as Z,v as Q,y as le}from"#entry";var $=100,[ue,de]=F(`ProgressRoot`),fe=e=>typeof e==`number`;function pe(e,t){return z(e)||fe(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be:
2
2
  - a positive number
3
3
  - less than the value passed to \`max\` (or ${$} if no \`max\` prop is set)
4
4
  - \`null\` or \`undefined\` if the progress is indeterminate.