scrum-skills 0.2.6 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +6 -3
  2. package/assets/board/200.html +1 -1
  3. package/assets/board/404.html +1 -1
  4. package/assets/board/_nuxt/{Baq-Hrpf.js → 6gFtTBwm.js} +1 -1
  5. package/assets/board/_nuxt/{DNJ5OliG.js → B2IHsbSE.js} +1 -1
  6. package/assets/board/_nuxt/{CsyY7ot8.js → B3jkABw9.js} +1 -1
  7. package/assets/board/_nuxt/{CoPhTDCT.js → B5n2_jZN.js} +1 -1
  8. package/assets/board/_nuxt/{BsNk4K6P.js → B6Iz-Z6W.js} +1 -1
  9. package/assets/board/_nuxt/{B8d-LQbt.js → B6vVYM-p.js} +1 -1
  10. package/assets/board/_nuxt/{CnWxhsmi.js → B8DfudjI.js} +1 -1
  11. package/assets/board/_nuxt/{D2zrOcWn.js → BO6qoy1z.js} +1 -1
  12. package/assets/board/_nuxt/{BvwhGSdZ.js → BPk90EtV.js} +1 -1
  13. package/assets/board/_nuxt/{CqhzGRpQ.js → BTUFQZje.js} +1 -1
  14. package/assets/board/_nuxt/{CmvybFI5.js → BaG8y0Wt.js} +1 -1
  15. package/assets/board/_nuxt/{ChJuu-Ky.js → BgLeKwx0.js} +1 -1
  16. package/assets/board/_nuxt/{DtVfI_h9.js → BmxvtaMq.js} +1 -1
  17. package/assets/board/_nuxt/{BtzBJuQU.js → Bx4QbBZW.js} +1 -1
  18. package/assets/board/_nuxt/{Cp9-r9Yz.js → C0MJr2p5.js} +1 -1
  19. package/assets/board/_nuxt/{C4MZsmn0.js → C71fhlb8.js} +1 -1
  20. package/assets/board/_nuxt/{BuBpFHLu.js → C7K0R7F-.js} +1 -1
  21. package/assets/board/_nuxt/{MTucdeiW.js → C8vL692X.js} +1 -1
  22. package/assets/board/_nuxt/{DPeEWyPC.js → CCu-GrP6.js} +1 -1
  23. package/assets/board/_nuxt/{13F3FZJq.js → CEL9RA0c.js} +1 -1
  24. package/assets/board/_nuxt/{BJW3UkS7.js → CJ2mz0WY.js} +1 -1
  25. package/assets/board/_nuxt/{HUproyl7.js → CJztj5jW.js} +1 -1
  26. package/assets/board/_nuxt/{Cu_-fa7D.js → CK-lOYG9.js} +1 -1
  27. package/assets/board/_nuxt/{B5oiGeHN.js → CLBcBrYf.js} +1 -1
  28. package/assets/board/_nuxt/{Bhg7noz0.js → CSEEUF8S.js} +1 -1
  29. package/assets/board/_nuxt/{DZXukN7r.js → C_TkjLEl.js} +2 -2
  30. package/assets/board/_nuxt/{rV_oonhV.js → CbWqy_D-.js} +1 -1
  31. package/assets/board/_nuxt/{x-PrcVk4.js → CcuuI9Sq.js} +1 -1
  32. package/assets/board/_nuxt/{CB66hjP7.js → CdUK5KDt.js} +1 -1
  33. package/assets/board/_nuxt/{C8xxmt66.js → Cdq1mu9k.js} +1 -1
  34. package/assets/board/_nuxt/{ZuoAH0hh.js → CgDTd7jS.js} +1 -1
  35. package/assets/board/_nuxt/{dI2CahwK.js → CgsIgLAl.js} +1 -1
  36. package/assets/board/_nuxt/{DsF2J4jZ.js → ChG76uh9.js} +1 -1
  37. package/assets/board/_nuxt/Ci0qbkgh.js +1 -0
  38. package/assets/board/_nuxt/{8QIcohze.js → Cm9lkUvP.js} +1 -1
  39. package/assets/board/_nuxt/{B3oUyqcV.js → CqoQ__I_.js} +1 -1
  40. package/assets/board/_nuxt/{oXSDGTSr.js → Csqgy925.js} +1 -1
  41. package/assets/board/_nuxt/{5qqsfNvn.js → Cz6rZcLK.js} +1 -1
  42. package/assets/board/_nuxt/{DCRsKQUZ.js → D-o97j5o.js} +1 -1
  43. package/assets/board/_nuxt/{u88eXCXy.js → D2O8Q8x9.js} +1 -1
  44. package/assets/board/_nuxt/{D_dkfQp-.js → D2y4OEzn.js} +1 -1
  45. package/assets/board/_nuxt/{Cq4Q0czX.js → D5CE81jK.js} +1 -1
  46. package/assets/board/_nuxt/{CqT7Crsj.js → D7I69gaq.js} +15 -15
  47. package/assets/board/_nuxt/{C7wdFLdw.js → D99LbGfb.js} +1 -1
  48. package/assets/board/_nuxt/{D1_aWe_t.js → DF-nsa1Z.js} +1 -1
  49. package/assets/board/_nuxt/{B0YDpoC7.js → DIc8yx98.js} +1 -1
  50. package/assets/board/_nuxt/{BGRxZnwm.js → DLGnIg-4.js} +1 -1
  51. package/assets/board/_nuxt/{BJcBC4jN.js → DSLbmoWa.js} +1 -1
  52. package/assets/board/_nuxt/{C7AVymkF.js → DWO9c9yp.js} +1 -1
  53. package/assets/board/_nuxt/{DDF25zwT.js → DZyjheFK.js} +1 -1
  54. package/assets/board/_nuxt/{CSF_x8S0.js → D_ozsr87.js} +1 -1
  55. package/assets/board/_nuxt/{J9NS0_M_.js → DajA-Tkt.js} +1 -1
  56. package/assets/board/_nuxt/{HclZy1k7.js → DbHiyab-.js} +1 -1
  57. package/assets/board/_nuxt/{D13eMNHe.js → Dc7Ql6eE.js} +1 -1
  58. package/assets/board/_nuxt/Dchb4IZl.js +2 -0
  59. package/assets/board/_nuxt/{CkDrD28D.js → Dd9ZukPU.js} +1 -1
  60. package/assets/board/_nuxt/{BGssl5Ao.js → Dg2LiqmN.js} +1 -1
  61. package/assets/board/_nuxt/{BMRYIH0I.js → DiNoFn-l.js} +1 -1
  62. package/assets/board/_nuxt/{Oe3jsM_c.js → DqZgF3hU.js} +1 -1
  63. package/assets/board/_nuxt/{Dwd1XRDX.js → DqcxvfbD.js} +1 -1
  64. package/assets/board/_nuxt/{DdjjthKs.js → DsA2lVci.js} +1 -1
  65. package/assets/board/_nuxt/{CoBNWjS2.js → Du91iq0p.js} +1 -1
  66. package/assets/board/_nuxt/{CcCIS_4Q.js → Dx9JzdjR.js} +1 -1
  67. package/assets/board/_nuxt/{FxbXzpZ6.js → DzYai7fG.js} +1 -1
  68. package/assets/board/_nuxt/{C_uy5_kh.js → MaXJprwN.js} +1 -1
  69. package/assets/board/_nuxt/{CNCQ_RRC.js → SHOVXANq.js} +1 -1
  70. package/assets/board/_nuxt/{DMZvQhvU.js → SW1IUsvK.js} +1 -1
  71. package/assets/board/_nuxt/{CurAl_-I.js → V0uynWE2.js} +1 -1
  72. package/assets/board/_nuxt/{4G46xON2.js → Yl0W9gdf.js} +1 -1
  73. package/assets/board/_nuxt/{3G_ZLrk2.js → ZVTqot-_.js} +1 -1
  74. package/assets/board/_nuxt/{Ck3md8pL.js → ZngEd3HB.js} +1 -1
  75. package/assets/board/_nuxt/{7DnHvJyr.js → _Cm6pyB6.js} +1 -1
  76. package/assets/board/_nuxt/{Bk5o5EMW.js → a79OLqPB.js} +1 -1
  77. package/assets/board/_nuxt/builds/latest.json +1 -1
  78. package/assets/board/_nuxt/builds/meta/db579fb7-3d7f-417a-ab2b-7c3e33c91a0b.json +1 -0
  79. package/assets/board/_nuxt/{entry.DUA8YVRM.css → entry.Dx3CNA--.css} +1 -1
  80. package/assets/board/_nuxt/{Dp5MbiLe.js → k704SI9z.js} +1 -1
  81. package/assets/board/_nuxt/last-change.D5qqZdbS.css +1 -0
  82. package/assets/board/_nuxt/{HvSJjbUd.js → uKzCKCTq.js} +1 -1
  83. package/assets/board/_nuxt/{C6wyeu66.js → yh6sf_D5.js} +1 -1
  84. package/assets/board/burndown/index.html +1 -1
  85. package/assets/board/epics/index.html +1 -1
  86. package/assets/board/favicon.svg +16 -0
  87. package/assets/board/gantt/index.html +1 -1
  88. package/assets/board/index.html +1 -1
  89. package/assets/board/last-change/index.html +1 -1
  90. package/assets/board/milestones/index.html +1 -1
  91. package/bin/scrum-skills.mjs +24 -17
  92. package/docs/ai-assistant-guide.md +1008 -0
  93. package/package.json +1 -1
  94. package/assets/board/_nuxt/B43-KCi6.js +0 -1
  95. package/assets/board/_nuxt/DIAPFfZA.js +0 -2
  96. package/assets/board/_nuxt/builds/meta/ceebd758-b616-48d8-872b-0de05659de19.json +0 -1
  97. package/assets/board/_nuxt/last-change.CaSxA-Z0.css +0 -1
@@ -1 +1 @@
1
- import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./oXSDGTSr.js";import{n as s,t as c}from"./Baq-Hrpf.js";var l={base:``},u={__name:`ProseTbody`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.tbody`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.tbody||{}}));return(r,o)=>(i(),n(`tbody`,{class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u as default};
1
+ import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./Csqgy925.js";import{n as s,t as c}from"./6gFtTBwm.js";var l={base:``},u={__name:`ProseTbody`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.tbody`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.tbody||{}}));return(r,o)=>(i(),n(`tbody`,{class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u as default};
@@ -1 +1 @@
1
- import{E as e,Lt as t,On as n,Zn as r,_ as i,b as a,g as o,mt as s,qt as c,tr as l,v as u,y as d}from"./DZo3dYLJ.js";import{r as f}from"./oXSDGTSr.js";import{n as p,t as m}from"./Baq-Hrpf.js";import{t as h}from"./CK9_veoz.js";import{t as g}from"./CQTvWh4i.js";var _={slots:{root:`my-5`,container:`flex items-center gap-3 font-mono text-sm`,name:`font-semibold text-primary`,wrapper:`flex-1 flex items-center gap-1.5 text-xs`,required:`rounded-sm bg-error/10 text-error px-1.5 py-0.5`,type:`rounded-sm bg-elevated text-toned px-1.5 py-0.5`,description:`mt-3 text-muted text-sm [&_code]:text-xs/4`}},v={__name:`ProseField`,props:{as:{type:null,required:!1},name:{type:String,required:!1},type:{type:String,required:!1},description:{type:String,required:!1},required:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(v){let y=v,b=t(),x=p(`prose.field`,y),S=f(),C=o(()=>m({extend:_,...S.ui?.prose?.field||{}})());return(t,o)=>(s(),u(n(h),{as:n(x).as,class:r(C.value.root({class:[n(x).ui?.root,n(x).class]}))},{default:c(()=>[i(`div`,{class:r(C.value.container({class:n(x).ui?.container}))},[n(x).name?(s(),a(`span`,{key:0,class:r(C.value.name({class:n(x).ui?.name}))},l(n(x).name),3)):d(``,!0),n(x).type||n(x).required?(s(),a(`div`,{key:1,class:r(C.value.wrapper({class:n(x).ui?.wrapper}))},[n(x).type?(s(),a(`span`,{key:0,class:r(C.value.type({class:n(x).ui?.type}))},l(n(x).type),3)):d(``,!0),n(x).required?(s(),a(`span`,{key:1,class:r(C.value.required({class:n(x).ui?.required}))},` required `,2)):d(``,!0)],2)):d(``,!0)],2),b.default||n(x).description?(s(),a(`div`,{key:0,class:r(C.value.description({class:n(x).ui?.description}))},[g(t.$slots,`default`,{mdcUnwrap:`p`},()=>[e(l(n(x).description),1)])],2)):d(``,!0)]),_:3},8,[`as`,`class`]))}};export{v as default};
1
+ import{E as e,Lt as t,On as n,Zn as r,_ as i,b as a,g as o,mt as s,qt as c,tr as l,v as u,y as d}from"./DZo3dYLJ.js";import{r as f}from"./Csqgy925.js";import{n as p,t as m}from"./6gFtTBwm.js";import{t as h}from"./CK9_veoz.js";import{t as g}from"./CQTvWh4i.js";var _={slots:{root:`my-5`,container:`flex items-center gap-3 font-mono text-sm`,name:`font-semibold text-primary`,wrapper:`flex-1 flex items-center gap-1.5 text-xs`,required:`rounded-sm bg-error/10 text-error px-1.5 py-0.5`,type:`rounded-sm bg-elevated text-toned px-1.5 py-0.5`,description:`mt-3 text-muted text-sm [&_code]:text-xs/4`}},v={__name:`ProseField`,props:{as:{type:null,required:!1},name:{type:String,required:!1},type:{type:String,required:!1},description:{type:String,required:!1},required:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(v){let y=v,b=t(),x=p(`prose.field`,y),S=f(),C=o(()=>m({extend:_,...S.ui?.prose?.field||{}})());return(t,o)=>(s(),u(n(h),{as:n(x).as,class:r(C.value.root({class:[n(x).ui?.root,n(x).class]}))},{default:c(()=>[i(`div`,{class:r(C.value.container({class:n(x).ui?.container}))},[n(x).name?(s(),a(`span`,{key:0,class:r(C.value.name({class:n(x).ui?.name}))},l(n(x).name),3)):d(``,!0),n(x).type||n(x).required?(s(),a(`div`,{key:1,class:r(C.value.wrapper({class:n(x).ui?.wrapper}))},[n(x).type?(s(),a(`span`,{key:0,class:r(C.value.type({class:n(x).ui?.type}))},l(n(x).type),3)):d(``,!0),n(x).required?(s(),a(`span`,{key:1,class:r(C.value.required({class:n(x).ui?.required}))},` required `,2)):d(``,!0)],2)):d(``,!0)],2),b.default||n(x).description?(s(),a(`div`,{key:0,class:r(C.value.description({class:n(x).ui?.description}))},[g(t.$slots,`default`,{mdcUnwrap:`p`},()=>[e(l(n(x).description),1)])],2)):d(``,!0)]),_:3},8,[`as`,`class`]))}};export{v as default};
@@ -1 +1 @@
1
- import{$ as e,D as t,E as n,Ft as r,Ht as i,Lt as a,On as o,Zn as s,at as c,b as l,bt as u,ct as d,et as f,g as p,mt as m,o as h,qt as g,tr as _,v,vn as y,wt as b,xt as x,y as S}from"./DZo3dYLJ.js";import{r as C}from"./oXSDGTSr.js";import{i as w,m as T,n as E,t as D}from"./Baq-Hrpf.js";import{m as O}from"./CuJUHLl8.js";import{t as k}from"./BuOKDFiJ.js";import{a as A,i as j,n as M,r as N,t as P}from"./C7AVymkF.js";import{t as F}from"./D2zrOcWn.js";import{n as I}from"./CNCQ_RRC.js";import{c as L}from"#entry";import{t as R}from"./Dp5MbiLe.js";var z={slots:{root:`flex items-center gap-2`,list:`relative flex p-1 group`,indicator:`absolute transition-[translate,width] duration-200 ease-out motion-reduce:transition-none`,trigger:[`group relative inline-flex items-center min-w-0 data-[state=inactive]:text-muted hover:data-[state=inactive]:not-disabled:text-default font-medium rounded-md disabled:cursor-not-allowed disabled:opacity-75`,`transition-colors`],leadingIcon:`shrink-0`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,label:`truncate`,trailingBadge:`shrink-0`,trailingBadgeSize:`sm`,content:`w-full rounded-md focus-visible:outline-3`},variants:{color:{primary:{content:`outline-primary/25`},secondary:{content:`outline-secondary/25`},success:{content:`outline-success/25`},info:{content:`outline-info/25`},warning:{content:`outline-warning/25`},error:{content:`outline-error/25`},neutral:{content:`outline-inverted/25`}},variant:{pill:{list:`bg-elevated rounded-lg`,trigger:[`grow`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:inset-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:rounded-md in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:shadow-xs in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:-z-10 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:isolate`],indicator:`rounded-md shadow-xs`},link:{list:`border-default`,indicator:`rounded-full`,trigger:`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:rounded-full`}},orientation:{horizontal:{root:`flex-col`,list:`w-full`,indicator:`left-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position)`,trigger:`justify-center`},vertical:{list:`flex-col`,indicator:`top-0 h-(--reka-tabs-indicator-size) translate-y-(--reka-tabs-indicator-position)`}},size:{xs:{trigger:`px-2 py-1 text-xs gap-1`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`},sm:{trigger:`px-2.5 py-1.5 text-xs gap-1.5`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`},md:{trigger:`px-3 py-1.5 text-sm gap-1.5`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`},lg:{trigger:`px-3 py-2 text-sm gap-2`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`},xl:{trigger:`px-3 py-2 text-base gap-2`,leadingIcon:`size-6`,leadingAvatarSize:`xs`}}},compoundVariants:[{orientation:`horizontal`,variant:`pill`,class:{indicator:`inset-y-1`}},{orientation:`horizontal`,variant:`link`,class:{list:`border-b -mb-px`,indicator:`-bottom-px h-px`,trigger:`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-x-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-bottom-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:h-px`}},{orientation:`vertical`,variant:`pill`,class:{indicator:`inset-x-1`,list:`items-center`,trigger:`w-full justify-center`}},{orientation:`vertical`,variant:`link`,class:{list:`border-s -ms-px`,indicator:`-start-px w-px`,trigger:`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-y-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-start-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:w-px`}},{color:`primary`,variant:`pill`,class:{indicator:`bg-primary`,trigger:[`data-[state=active]:text-inverted outline-primary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-primary`]}},{color:`secondary`,variant:`pill`,class:{indicator:`bg-secondary`,trigger:[`data-[state=active]:text-inverted outline-secondary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-secondary`]}},{color:`success`,variant:`pill`,class:{indicator:`bg-success`,trigger:[`data-[state=active]:text-inverted outline-success/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-success`]}},{color:`info`,variant:`pill`,class:{indicator:`bg-info`,trigger:[`data-[state=active]:text-inverted outline-info/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-info`]}},{color:`warning`,variant:`pill`,class:{indicator:`bg-warning`,trigger:[`data-[state=active]:text-inverted outline-warning/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-warning`]}},{color:`error`,variant:`pill`,class:{indicator:`bg-error`,trigger:[`data-[state=active]:text-inverted outline-error/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-error`]}},{color:`neutral`,variant:`pill`,class:{indicator:`bg-inverted`,trigger:[`data-[state=active]:text-inverted outline-inverted/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-inverted`]}},{color:`primary`,variant:`link`,class:{indicator:`bg-primary`,trigger:[`data-[state=active]:text-primary outline-primary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-primary`]}},{color:`secondary`,variant:`link`,class:{indicator:`bg-secondary`,trigger:[`data-[state=active]:text-secondary outline-secondary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-secondary`]}},{color:`success`,variant:`link`,class:{indicator:`bg-success`,trigger:[`data-[state=active]:text-success outline-success/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-success`]}},{color:`info`,variant:`link`,class:{indicator:`bg-info`,trigger:[`data-[state=active]:text-info outline-info/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-info`]}},{color:`warning`,variant:`link`,class:{indicator:`bg-warning`,trigger:[`data-[state=active]:text-warning outline-warning/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-warning`]}},{color:`error`,variant:`link`,class:{indicator:`bg-error`,trigger:[`data-[state=active]:text-error outline-error/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-error`]}},{color:`neutral`,variant:`link`,class:{indicator:`bg-inverted`,trigger:[`data-[state=active]:text-highlighted outline-inverted/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-inverted`]}}],defaultVariants:{color:`primary`,variant:`pill`,size:`md`}},B={__name:`UTabs`,props:{as:{type:null,required:!1},items:{type:Array,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},orientation:{type:null,required:!1,default:`horizontal`},content:{type:Boolean,required:!1,default:!0},valueKey:{type:null,required:!1,default:`value`},labelKey:{type:null,required:!1,default:`label`},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultValue:{type:[String,Number],required:!1,default:`0`},modelValue:{type:[String,Number],required:!1},activationMode:{type:String,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:modelValue`],setup(e,{expose:r,emit:i}){let c=e,d=i,b=a(),T=E(`tabs`,c),L=C(),B=k(O(T,`as`,`unmountOnHide`),d),V=p(()=>D({extend:z,...L.ui?.tabs||{}})({color:T.color,variant:T.variant,size:T.size,orientation:T.orientation})),H=y([]);function U(e,t){H.value[e]=t}return r({triggersRef:H}),(e,r)=>(m(),v(o(A),f(o(B),{"model-value":o(T).modelValue,"default-value":o(T).defaultValue,orientation:o(T).orientation,"activation-mode":o(T).activationMode,"data-slot":`root`,class:V.value.root({class:[o(T).ui?.root,o(T).class]})}),{default:g(()=>[t(o(M),{"data-slot":`list`,class:s(V.value.list({class:o(T).ui?.list}))},{default:g(()=>[t(o(N),{"data-slot":`indicator`,class:s(V.value.indicator({class:o(T).ui?.indicator}))},null,8,[`class`]),x(e.$slots,`list-leading`),(m(!0),l(h,null,u(o(T).items,(t,r)=>(m(),v(o(P),{key:o(w)(t,o(T).valueKey)??r,ref_for:!0,ref:e=>U(r,e),value:o(w)(t,o(T).valueKey)??String(r),disabled:t.disabled,"data-slot":`trigger`,class:s(V.value.trigger({class:[o(T).ui?.trigger,t.ui?.trigger]}))},{default:g(()=>[x(e.$slots,`leading`,{item:t,index:r,ui:V.value},()=>[t.icon?(m(),v(F,{key:0,name:t.icon,"data-slot":`leadingIcon`,class:s(V.value.leadingIcon({class:[o(T).ui?.leadingIcon,t.ui?.leadingIcon]}))},null,8,[`name`,`class`])):t.avatar?(m(),v(I,f({key:1,size:t.ui?.leadingAvatarSize||o(T).ui?.leadingAvatarSize||V.value.leadingAvatarSize()},{ref_for:!0},t.avatar,{"data-slot":`leadingAvatar`,class:V.value.leadingAvatar({class:[o(T).ui?.leadingAvatar,t.ui?.leadingAvatar]})}),null,16,[`size`,`class`])):S(``,!0)]),o(w)(t,o(T).labelKey)||b.default?(m(),l(`span`,{key:0,"data-slot":`label`,class:s(V.value.label({class:[o(T).ui?.label,t.ui?.label]}))},[x(e.$slots,`default`,{item:t,index:r},()=>[n(_(o(w)(t,o(T).labelKey)),1)])],2)):S(``,!0),x(e.$slots,`trailing`,{item:t,index:r,ui:V.value},()=>[t.badge||t.badge===0?(m(),v(R,f({key:0,color:`neutral`,variant:`outline`,size:t.ui?.trailingBadgeSize||o(T).ui?.trailingBadgeSize||V.value.trailingBadgeSize()},{ref_for:!0},typeof t.badge==`string`||typeof t.badge==`number`?{label:t.badge}:t.badge,{"data-slot":`trailingBadge`,class:V.value.trailingBadge({class:[o(T).ui?.trailingBadge,t.ui?.trailingBadge]})}),null,16,[`size`,`class`])):S(``,!0)])]),_:2},1032,[`value`,`disabled`,`class`]))),128)),x(e.$slots,`list-trailing`)]),_:3},8,[`class`]),o(T).content?(m(!0),l(h,{key:0},u(o(T).items,(t,r)=>(m(),v(o(j),{key:o(w)(t,o(T).valueKey)??r,value:o(w)(t,o(T).valueKey)??String(r),"data-slot":`content`,class:s(V.value.content({class:[o(T).ui?.content,t.ui?.content,t.class]}))},{default:g(()=>[x(e.$slots,t.slot||`content`,{item:t,index:r,ui:V.value},()=>[n(_(t.content),1)])]),_:2},1032,[`value`,`class`]))),128)):S(``,!0)]),_:3},16,[`model-value`,`default-value`,`orientation`,`activation-mode`,`class`]))}},V={slots:{root:`my-5 gap-4`}},H={__name:`ProseTabs`,props:e({defaultValue:{type:String,required:!1,default:`0`},sync:{type:String,required:!1},hash:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},{modelValue:{type:String},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=a(),l=E(`prose.tabs`,t),u=r(e,`modelValue`),f=C(),h=p(()=>D({extend:V,...f.ui?.prose?.tabs||{}})),_=y(1),x=p(()=>(_.value,n.default?.()?.flatMap(S).filter(Boolean)||[]));function S(e,t){return typeof e.type==`symbol`?e.children?.map(S):{index:t,label:e.props?.label||`${t}`,description:e.props?.description,icon:e.props?.icon,component:e}}d(()=>{if(l.sync){let e=`tabs-${l.sync}`,t=L(e,()=>localStorage.getItem(e));i(t,()=>{t.value&&(u.value=t.value)},{immediate:!0}),i(u,()=>{u.value&&(t.value=u.value,localStorage.setItem(e,u.value))})}});async function w(){if(l.hash){let e=l.hash.startsWith(`#`)?l.hash:`#${l.hash}`;setTimeout(()=>{document.querySelector(e)?.scrollIntoView()},200)}}return c(()=>_.value++),(e,t)=>(m(),v(B,{modelValue:u.value,"onUpdate:modelValue":[t[0]||=e=>u.value=e,w],color:`primary`,variant:`link`,items:x.value,class:s(o(l).class),"unmount-on-hide":!1,ui:o(T)(h.value(),o(l).ui)},{content:g(({item:e})=>[(m(),v(b(e.component)))]),_:1},8,[`modelValue`,`items`,`class`,`ui`]))}};export{H as default};
1
+ import{$ as e,D as t,E as n,Ft as r,Ht as i,Lt as a,On as o,Zn as s,at as c,b as l,bt as u,ct as d,et as f,g as p,mt as m,o as h,qt as g,tr as _,v,vn as y,wt as b,xt as x,y as S}from"./DZo3dYLJ.js";import{r as C}from"./Csqgy925.js";import{i as w,m as T,n as E,t as D}from"./6gFtTBwm.js";import{m as O}from"./CuJUHLl8.js";import{t as k}from"./BuOKDFiJ.js";import{a as A,i as j,n as M,r as N,t as P}from"./DWO9c9yp.js";import{t as F}from"./BO6qoy1z.js";import{n as I}from"./SHOVXANq.js";import{c as L}from"#entry";import{t as R}from"./k704SI9z.js";var z={slots:{root:`flex items-center gap-2`,list:`relative flex p-1 group`,indicator:`absolute transition-[translate,width] duration-200 ease-out motion-reduce:transition-none`,trigger:[`group relative inline-flex items-center min-w-0 data-[state=inactive]:text-muted hover:data-[state=inactive]:not-disabled:text-default font-medium rounded-md disabled:cursor-not-allowed disabled:opacity-75`,`transition-colors`],leadingIcon:`shrink-0`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,label:`truncate`,trailingBadge:`shrink-0`,trailingBadgeSize:`sm`,content:`w-full rounded-md focus-visible:outline-3`},variants:{color:{primary:{content:`outline-primary/25`},secondary:{content:`outline-secondary/25`},success:{content:`outline-success/25`},info:{content:`outline-info/25`},warning:{content:`outline-warning/25`},error:{content:`outline-error/25`},neutral:{content:`outline-inverted/25`}},variant:{pill:{list:`bg-elevated rounded-lg`,trigger:[`grow`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:inset-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:rounded-md in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:shadow-xs in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:-z-10 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:isolate`],indicator:`rounded-md shadow-xs`},link:{list:`border-default`,indicator:`rounded-full`,trigger:`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:rounded-full`}},orientation:{horizontal:{root:`flex-col`,list:`w-full`,indicator:`left-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position)`,trigger:`justify-center`},vertical:{list:`flex-col`,indicator:`top-0 h-(--reka-tabs-indicator-size) translate-y-(--reka-tabs-indicator-position)`}},size:{xs:{trigger:`px-2 py-1 text-xs gap-1`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`},sm:{trigger:`px-2.5 py-1.5 text-xs gap-1.5`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`},md:{trigger:`px-3 py-1.5 text-sm gap-1.5`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`},lg:{trigger:`px-3 py-2 text-sm gap-2`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`},xl:{trigger:`px-3 py-2 text-base gap-2`,leadingIcon:`size-6`,leadingAvatarSize:`xs`}}},compoundVariants:[{orientation:`horizontal`,variant:`pill`,class:{indicator:`inset-y-1`}},{orientation:`horizontal`,variant:`link`,class:{list:`border-b -mb-px`,indicator:`-bottom-px h-px`,trigger:`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-x-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-bottom-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:h-px`}},{orientation:`vertical`,variant:`pill`,class:{indicator:`inset-x-1`,list:`items-center`,trigger:`w-full justify-center`}},{orientation:`vertical`,variant:`link`,class:{list:`border-s -ms-px`,indicator:`-start-px w-px`,trigger:`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-y-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-start-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:w-px`}},{color:`primary`,variant:`pill`,class:{indicator:`bg-primary`,trigger:[`data-[state=active]:text-inverted outline-primary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-primary`]}},{color:`secondary`,variant:`pill`,class:{indicator:`bg-secondary`,trigger:[`data-[state=active]:text-inverted outline-secondary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-secondary`]}},{color:`success`,variant:`pill`,class:{indicator:`bg-success`,trigger:[`data-[state=active]:text-inverted outline-success/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-success`]}},{color:`info`,variant:`pill`,class:{indicator:`bg-info`,trigger:[`data-[state=active]:text-inverted outline-info/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-info`]}},{color:`warning`,variant:`pill`,class:{indicator:`bg-warning`,trigger:[`data-[state=active]:text-inverted outline-warning/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-warning`]}},{color:`error`,variant:`pill`,class:{indicator:`bg-error`,trigger:[`data-[state=active]:text-inverted outline-error/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-error`]}},{color:`neutral`,variant:`pill`,class:{indicator:`bg-inverted`,trigger:[`data-[state=active]:text-inverted outline-inverted/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-inverted`]}},{color:`primary`,variant:`link`,class:{indicator:`bg-primary`,trigger:[`data-[state=active]:text-primary outline-primary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-primary`]}},{color:`secondary`,variant:`link`,class:{indicator:`bg-secondary`,trigger:[`data-[state=active]:text-secondary outline-secondary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-secondary`]}},{color:`success`,variant:`link`,class:{indicator:`bg-success`,trigger:[`data-[state=active]:text-success outline-success/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-success`]}},{color:`info`,variant:`link`,class:{indicator:`bg-info`,trigger:[`data-[state=active]:text-info outline-info/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-info`]}},{color:`warning`,variant:`link`,class:{indicator:`bg-warning`,trigger:[`data-[state=active]:text-warning outline-warning/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-warning`]}},{color:`error`,variant:`link`,class:{indicator:`bg-error`,trigger:[`data-[state=active]:text-error outline-error/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-error`]}},{color:`neutral`,variant:`link`,class:{indicator:`bg-inverted`,trigger:[`data-[state=active]:text-highlighted outline-inverted/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-inverted`]}}],defaultVariants:{color:`primary`,variant:`pill`,size:`md`}},B={__name:`UTabs`,props:{as:{type:null,required:!1},items:{type:Array,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},orientation:{type:null,required:!1,default:`horizontal`},content:{type:Boolean,required:!1,default:!0},valueKey:{type:null,required:!1,default:`value`},labelKey:{type:null,required:!1,default:`label`},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultValue:{type:[String,Number],required:!1,default:`0`},modelValue:{type:[String,Number],required:!1},activationMode:{type:String,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:modelValue`],setup(e,{expose:r,emit:i}){let c=e,d=i,b=a(),T=E(`tabs`,c),L=C(),B=k(O(T,`as`,`unmountOnHide`),d),V=p(()=>D({extend:z,...L.ui?.tabs||{}})({color:T.color,variant:T.variant,size:T.size,orientation:T.orientation})),H=y([]);function U(e,t){H.value[e]=t}return r({triggersRef:H}),(e,r)=>(m(),v(o(A),f(o(B),{"model-value":o(T).modelValue,"default-value":o(T).defaultValue,orientation:o(T).orientation,"activation-mode":o(T).activationMode,"data-slot":`root`,class:V.value.root({class:[o(T).ui?.root,o(T).class]})}),{default:g(()=>[t(o(M),{"data-slot":`list`,class:s(V.value.list({class:o(T).ui?.list}))},{default:g(()=>[t(o(N),{"data-slot":`indicator`,class:s(V.value.indicator({class:o(T).ui?.indicator}))},null,8,[`class`]),x(e.$slots,`list-leading`),(m(!0),l(h,null,u(o(T).items,(t,r)=>(m(),v(o(P),{key:o(w)(t,o(T).valueKey)??r,ref_for:!0,ref:e=>U(r,e),value:o(w)(t,o(T).valueKey)??String(r),disabled:t.disabled,"data-slot":`trigger`,class:s(V.value.trigger({class:[o(T).ui?.trigger,t.ui?.trigger]}))},{default:g(()=>[x(e.$slots,`leading`,{item:t,index:r,ui:V.value},()=>[t.icon?(m(),v(F,{key:0,name:t.icon,"data-slot":`leadingIcon`,class:s(V.value.leadingIcon({class:[o(T).ui?.leadingIcon,t.ui?.leadingIcon]}))},null,8,[`name`,`class`])):t.avatar?(m(),v(I,f({key:1,size:t.ui?.leadingAvatarSize||o(T).ui?.leadingAvatarSize||V.value.leadingAvatarSize()},{ref_for:!0},t.avatar,{"data-slot":`leadingAvatar`,class:V.value.leadingAvatar({class:[o(T).ui?.leadingAvatar,t.ui?.leadingAvatar]})}),null,16,[`size`,`class`])):S(``,!0)]),o(w)(t,o(T).labelKey)||b.default?(m(),l(`span`,{key:0,"data-slot":`label`,class:s(V.value.label({class:[o(T).ui?.label,t.ui?.label]}))},[x(e.$slots,`default`,{item:t,index:r},()=>[n(_(o(w)(t,o(T).labelKey)),1)])],2)):S(``,!0),x(e.$slots,`trailing`,{item:t,index:r,ui:V.value},()=>[t.badge||t.badge===0?(m(),v(R,f({key:0,color:`neutral`,variant:`outline`,size:t.ui?.trailingBadgeSize||o(T).ui?.trailingBadgeSize||V.value.trailingBadgeSize()},{ref_for:!0},typeof t.badge==`string`||typeof t.badge==`number`?{label:t.badge}:t.badge,{"data-slot":`trailingBadge`,class:V.value.trailingBadge({class:[o(T).ui?.trailingBadge,t.ui?.trailingBadge]})}),null,16,[`size`,`class`])):S(``,!0)])]),_:2},1032,[`value`,`disabled`,`class`]))),128)),x(e.$slots,`list-trailing`)]),_:3},8,[`class`]),o(T).content?(m(!0),l(h,{key:0},u(o(T).items,(t,r)=>(m(),v(o(j),{key:o(w)(t,o(T).valueKey)??r,value:o(w)(t,o(T).valueKey)??String(r),"data-slot":`content`,class:s(V.value.content({class:[o(T).ui?.content,t.ui?.content,t.class]}))},{default:g(()=>[x(e.$slots,t.slot||`content`,{item:t,index:r,ui:V.value},()=>[n(_(t.content),1)])]),_:2},1032,[`value`,`class`]))),128)):S(``,!0)]),_:3},16,[`model-value`,`default-value`,`orientation`,`activation-mode`,`class`]))}},V={slots:{root:`my-5 gap-4`}},H={__name:`ProseTabs`,props:e({defaultValue:{type:String,required:!1,default:`0`},sync:{type:String,required:!1},hash:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},{modelValue:{type:String},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=a(),l=E(`prose.tabs`,t),u=r(e,`modelValue`),f=C(),h=p(()=>D({extend:V,...f.ui?.prose?.tabs||{}})),_=y(1),x=p(()=>(_.value,n.default?.()?.flatMap(S).filter(Boolean)||[]));function S(e,t){return typeof e.type==`symbol`?e.children?.map(S):{index:t,label:e.props?.label||`${t}`,description:e.props?.description,icon:e.props?.icon,component:e}}d(()=>{if(l.sync){let e=`tabs-${l.sync}`,t=L(e,()=>localStorage.getItem(e));i(t,()=>{t.value&&(u.value=t.value)},{immediate:!0}),i(u,()=>{u.value&&(t.value=u.value,localStorage.setItem(e,u.value))})}});async function w(){if(l.hash){let e=l.hash.startsWith(`#`)?l.hash:`#${l.hash}`;setTimeout(()=>{document.querySelector(e)?.scrollIntoView()},200)}}return c(()=>_.value++),(e,t)=>(m(),v(B,{modelValue:u.value,"onUpdate:modelValue":[t[0]||=e=>u.value=e,w],color:`primary`,variant:`link`,items:x.value,class:s(o(l).class),"unmount-on-hide":!1,ui:o(T)(h.value(),o(l).ui)},{content:g(({item:e})=>[(m(),v(b(e.component)))]),_:1},8,[`modelValue`,`items`,`class`,`ui`]))}};export{H as default};
@@ -1 +1 @@
1
- import{On as e,Zn as t,g as n,mt as r,qt as i,v as a,xt as o}from"./DZo3dYLJ.js";import{r as s}from"./oXSDGTSr.js";import{n as c,t as l}from"./Baq-Hrpf.js";import{t as u}from"./CK9_veoz.js";var d={base:`my-5 divide-y divide-default *:not-last:pb-5`},f={__name:`ProseFieldGroup`,props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(f){let p=c(`prose.fieldGroup`,f),m=s(),h=n(()=>l({extend:d,...m.ui?.prose?.fieldGroup||{}}));return(n,s)=>(r(),a(e(u),{as:e(p).as,class:t(h.value({class:[e(p).ui?.base,e(p).class]}))},{default:i(()=>[o(n.$slots,`default`)]),_:3},8,[`as`,`class`]))}};export{f as default};
1
+ import{On as e,Zn as t,g as n,mt as r,qt as i,v as a,xt as o}from"./DZo3dYLJ.js";import{r as s}from"./Csqgy925.js";import{n as c,t as l}from"./6gFtTBwm.js";import{t as u}from"./CK9_veoz.js";var d={base:`my-5 divide-y divide-default *:not-last:pb-5`},f={__name:`ProseFieldGroup`,props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(f){let p=c(`prose.fieldGroup`,f),m=s(),h=n(()=>l({extend:d,...m.ui?.prose?.fieldGroup||{}}));return(n,s)=>(r(),a(e(u),{as:e(p).as,class:t(h.value({class:[e(p).ui?.base,e(p).class]}))},{default:i(()=>[o(n.$slots,`default`)]),_:3},8,[`as`,`class`]))}};export{f as default};
@@ -1 +1 @@
1
- import{D as e,Ht as t,On as n,Tn as r,Wt as i,ct as a,er as o,et as s,g as c,it as l,k as u,mt as d,qt as f,v as p,vn as m,xn as h,xt as g,y as _}from"./DZo3dYLJ.js";import{C as v,w as y}from"./51OWHj8c.js";import{t as b}from"./CsyY7ot8.js";import{h as x}from"./Baq-Hrpf.js";import{c as S,f as C,p as w}from"./Vo4wMbnS.js";import{t as T}from"./CK9_veoz.js";import{t as E}from"./B43-KCi6.js";import{t as D}from"./D3YCAmfu.js";import{t as O}from"./C9StZL3D.js";import{t as k}from"./CurAl_-I.js";import{x as A}from"#entry";var[j,M]=x(`TabsRoot`),N=u({__name:`TabsRoot`,props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:`automatic`},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let i=e,a=t,{orientation:o,unmountOnHide:s,dir:c}=r(i),l=E(c);D();let u=w(i,`modelValue`,a,{defaultValue:i.defaultValue,passive:i.modelValue===void 0}),_=m(),v=h(new Set);return M({modelValue:u,changeModelValue:e=>{u.value=e},orientation:o,dir:l,unmountOnHide:s,activationMode:i.activationMode,baseId:b(void 0,`reka-tabs`),tabsList:_,contentIds:v,registerContent:e=>{v.value=new Set([...v.value,e])},unregisterContent:e=>{let t=new Set(v.value);t.delete(e),v.value=t}}),(t,r)=>(d(),p(n(T),{dir:n(l),"data-orientation":n(o),"as-child":e.asChild,as:e.as},{default:f(()=>[g(t.$slots,`default`,{modelValue:n(u)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function P(e,t){return`${e}-trigger-${t}`}function F(e,t){return`${e}-content-${t}`}var I=u({__name:`TabsContent`,props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let r=t,{forwardRef:i}=D(),s=j(),u=c(()=>P(s.baseId,r.value)),h=c(()=>F(s.baseId,r.value)),v=c(()=>r.value===s.modelValue.value),y=m(v.value);return a(()=>{s.registerContent(r.value),requestAnimationFrame(()=>{y.value=!1})}),l(()=>{s.unregisterContent(r.value)}),(r,a)=>(d(),p(n(O),{present:t.forceMount||v.value,"force-mount":``},{default:f(({present:a})=>[e(n(T),{id:h.value,ref:n(i),"as-child":t.asChild,as:t.as,role:`tabpanel`,"data-state":v.value?`active`:`inactive`,"data-orientation":n(s).orientation.value,"aria-labelledby":u.value,hidden:!a,tabindex:`0`,style:o({animationDuration:y.value?`0s`:void 0})},{default:f(()=>[!n(s).unmountOnHide.value||a?g(r.$slots,`default`,{},void 0,void 0,0):_(`v-if`,!0)]),_:2},1032,[`id`,`as-child`,`as`,`data-state`,`data-orientation`,`aria-labelledby`,`hidden`,`style`])]),_:3},8,[`present`]))}}),L=u({__name:`TabsIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:r}){let a=e,o=j();r({updateIndicatorStyle:v}),D();let l=S(),u=m({size:null,thickness:null,position:null}),h=m([]);t(()=>[o.modelValue.value,o?.dir.value],()=>{v()},{immediate:!0,flush:`post`}),i(()=>{h.value=Array.from(o.tabsList.value?.querySelectorAll(`[role="tab"]`)||[])}),C(c(()=>[o.tabsList.value,...h.value]),v);function v(){let e=o.tabsList.value?.querySelector(`[role="tab"][data-state="active"]`);e&&(o.orientation.value===`horizontal`?u.value={size:e.offsetWidth,thickness:e.offsetHeight,position:e.offsetLeft}:u.value={size:e.offsetHeight,thickness:e.offsetWidth,position:e.offsetTop})}return(e,t)=>n(l)&&typeof u.value.size==`number`?(d(),p(n(T),s({key:0},a,{style:{"--reka-tabs-indicator-size":`${u.value.size}px`,"--reka-tabs-indicator-thickness":`${u.value.thickness}px`,"--reka-tabs-indicator-position":`${u.value.position}px`}}),{default:f(()=>[g(e.$slots,`default`)]),_:3},16,[`style`])):_(`v-if`,!0)}}),R=u({__name:`TabsList`,props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let{loop:i}=r(t),{forwardRef:a,currentElement:o}=D(),s=j();return s.tabsList=o,(r,o)=>(d(),p(n(A),{"as-child":``,orientation:n(s).orientation.value,dir:n(s).dir.value,loop:n(i)},{default:f(()=>[e(n(T),{ref:n(a),role:`tablist`,"as-child":t.asChild,as:t.as,"aria-orientation":n(s).orientation.value},{default:f(()=>[g(r.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),z=u({__name:`TabsTrigger`,props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let r=t,{forwardRef:i}=D(),a=j(),o=c(()=>P(a.baseId,r.value)),s=c(()=>a.contentIds.value.has(r.value)?F(a.baseId,r.value):void 0),l=c(()=>r.value===a.modelValue.value);return(r,c)=>(d(),p(n(k),{"as-child":``,focusable:!t.disabled,active:l.value},{default:f(()=>[e(n(T),{id:o.value,ref:n(i),role:`tab`,type:t.as===`button`?`button`:void 0,as:t.as,"as-child":t.asChild,"aria-selected":l.value?`true`:`false`,"aria-controls":s.value,"data-state":l.value?`active`:`inactive`,disabled:t.disabled,"data-disabled":t.disabled?``:void 0,"data-orientation":n(a).orientation.value,onMousedown:c[0]||=y(e=>{e.defaultPrevented||(!t.disabled&&e.ctrlKey===!1?n(a).changeModelValue(t.value):e.preventDefault())},[`left`]),onKeydown:c[1]||=v(e=>{e.defaultPrevented||n(a).changeModelValue(t.value)},[`enter`,`space`]),onFocus:c[2]||=()=>{let e=n(a).activationMode!==`manual`;!l.value&&!t.disabled&&e&&n(a).changeModelValue(t.value)}},{default:f(()=>[g(r.$slots,`default`)]),_:3},8,[`id`,`type`,`as`,`as-child`,`aria-selected`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`data-orientation`])]),_:3},8,[`focusable`,`active`]))}});export{N as a,I as i,R as n,L as r,z as t};
1
+ import{D as e,Ht as t,On as n,Tn as r,Wt as i,ct as a,er as o,et as s,g as c,it as l,k as u,mt as d,qt as f,v as p,vn as m,xn as h,xt as g,y as _}from"./DZo3dYLJ.js";import{C as v,w as y}from"./51OWHj8c.js";import{t as b}from"./B3jkABw9.js";import{h as x}from"./6gFtTBwm.js";import{c as S,f as C,p as w}from"./Vo4wMbnS.js";import{t as T}from"./CK9_veoz.js";import{t as E}from"./Ci0qbkgh.js";import{t as D}from"./D3YCAmfu.js";import{t as O}from"./C9StZL3D.js";import{t as k}from"./V0uynWE2.js";import{x as A}from"#entry";var[j,M]=x(`TabsRoot`),N=u({__name:`TabsRoot`,props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:`automatic`},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let i=e,a=t,{orientation:o,unmountOnHide:s,dir:c}=r(i),l=E(c);D();let u=w(i,`modelValue`,a,{defaultValue:i.defaultValue,passive:i.modelValue===void 0}),_=m(),v=h(new Set);return M({modelValue:u,changeModelValue:e=>{u.value=e},orientation:o,dir:l,unmountOnHide:s,activationMode:i.activationMode,baseId:b(void 0,`reka-tabs`),tabsList:_,contentIds:v,registerContent:e=>{v.value=new Set([...v.value,e])},unregisterContent:e=>{let t=new Set(v.value);t.delete(e),v.value=t}}),(t,r)=>(d(),p(n(T),{dir:n(l),"data-orientation":n(o),"as-child":e.asChild,as:e.as},{default:f(()=>[g(t.$slots,`default`,{modelValue:n(u)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function P(e,t){return`${e}-trigger-${t}`}function F(e,t){return`${e}-content-${t}`}var I=u({__name:`TabsContent`,props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let r=t,{forwardRef:i}=D(),s=j(),u=c(()=>P(s.baseId,r.value)),h=c(()=>F(s.baseId,r.value)),v=c(()=>r.value===s.modelValue.value),y=m(v.value);return a(()=>{s.registerContent(r.value),requestAnimationFrame(()=>{y.value=!1})}),l(()=>{s.unregisterContent(r.value)}),(r,a)=>(d(),p(n(O),{present:t.forceMount||v.value,"force-mount":``},{default:f(({present:a})=>[e(n(T),{id:h.value,ref:n(i),"as-child":t.asChild,as:t.as,role:`tabpanel`,"data-state":v.value?`active`:`inactive`,"data-orientation":n(s).orientation.value,"aria-labelledby":u.value,hidden:!a,tabindex:`0`,style:o({animationDuration:y.value?`0s`:void 0})},{default:f(()=>[!n(s).unmountOnHide.value||a?g(r.$slots,`default`,{},void 0,void 0,0):_(`v-if`,!0)]),_:2},1032,[`id`,`as-child`,`as`,`data-state`,`data-orientation`,`aria-labelledby`,`hidden`,`style`])]),_:3},8,[`present`]))}}),L=u({__name:`TabsIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:r}){let a=e,o=j();r({updateIndicatorStyle:v}),D();let l=S(),u=m({size:null,thickness:null,position:null}),h=m([]);t(()=>[o.modelValue.value,o?.dir.value],()=>{v()},{immediate:!0,flush:`post`}),i(()=>{h.value=Array.from(o.tabsList.value?.querySelectorAll(`[role="tab"]`)||[])}),C(c(()=>[o.tabsList.value,...h.value]),v);function v(){let e=o.tabsList.value?.querySelector(`[role="tab"][data-state="active"]`);e&&(o.orientation.value===`horizontal`?u.value={size:e.offsetWidth,thickness:e.offsetHeight,position:e.offsetLeft}:u.value={size:e.offsetHeight,thickness:e.offsetWidth,position:e.offsetTop})}return(e,t)=>n(l)&&typeof u.value.size==`number`?(d(),p(n(T),s({key:0},a,{style:{"--reka-tabs-indicator-size":`${u.value.size}px`,"--reka-tabs-indicator-thickness":`${u.value.thickness}px`,"--reka-tabs-indicator-position":`${u.value.position}px`}}),{default:f(()=>[g(e.$slots,`default`)]),_:3},16,[`style`])):_(`v-if`,!0)}}),R=u({__name:`TabsList`,props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let{loop:i}=r(t),{forwardRef:a,currentElement:o}=D(),s=j();return s.tabsList=o,(r,o)=>(d(),p(n(A),{"as-child":``,orientation:n(s).orientation.value,dir:n(s).dir.value,loop:n(i)},{default:f(()=>[e(n(T),{ref:n(a),role:`tablist`,"as-child":t.asChild,as:t.as,"aria-orientation":n(s).orientation.value},{default:f(()=>[g(r.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),z=u({__name:`TabsTrigger`,props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let r=t,{forwardRef:i}=D(),a=j(),o=c(()=>P(a.baseId,r.value)),s=c(()=>a.contentIds.value.has(r.value)?F(a.baseId,r.value):void 0),l=c(()=>r.value===a.modelValue.value);return(r,c)=>(d(),p(n(k),{"as-child":``,focusable:!t.disabled,active:l.value},{default:f(()=>[e(n(T),{id:o.value,ref:n(i),role:`tab`,type:t.as===`button`?`button`:void 0,as:t.as,"as-child":t.asChild,"aria-selected":l.value?`true`:`false`,"aria-controls":s.value,"data-state":l.value?`active`:`inactive`,disabled:t.disabled,"data-disabled":t.disabled?``:void 0,"data-orientation":n(a).orientation.value,onMousedown:c[0]||=y(e=>{e.defaultPrevented||(!t.disabled&&e.ctrlKey===!1?n(a).changeModelValue(t.value):e.preventDefault())},[`left`]),onKeydown:c[1]||=v(e=>{e.defaultPrevented||n(a).changeModelValue(t.value)},[`enter`,`space`]),onFocus:c[2]||=()=>{let e=n(a).activationMode!==`manual`;!l.value&&!t.disabled&&e&&n(a).changeModelValue(t.value)}},{default:f(()=>[g(r.$slots,`default`)]),_:3},8,[`id`,`type`,`as`,`as-child`,`aria-selected`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`data-orientation`])]),_:3},8,[`focusable`,`active`]))}});export{N as a,I as i,R as n,L as r,z as t};
@@ -1,3 +1,3 @@
1
- import{D as e,Ht as t,Lt as n,On as r,Tn as i,Zn as a,_ as o,at as s,b as c,bt as l,ct as u,et as d,g as f,k as p,mt as m,o as h,qt as g,tr as _,tt as v,v as y,vn as b,wt as x,xt as S,y as C}from"./DZo3dYLJ.js";import{C as w,w as T}from"./51OWHj8c.js";import{r as E}from"./oXSDGTSr.js";import{t as D}from"./8QIcohze.js";import{h as O,n as k,t as A}from"./Baq-Hrpf.js";import{r as j,t as M}from"./DLkAKotw.js";import{n as N,r as P}from"./Bb3Limos.js";import{r as F}from"./CuJUHLl8.js";import{p as I,t as L}from"./Vo4wMbnS.js";import{t as R}from"./CK9_veoz.js";import{t as z}from"./B43-KCi6.js";import{r as B}from"./BPTrRhcw.js";import{t as V}from"./CurAl_-I.js";import{t as H}from"./D2zrOcWn.js";import{x as U}from"#entry";import W from"./Cp9-r9Yz.js";function G(e,t){let n=b(),r=(r,i)=>{if(t.multiple&&Array.isArray(e.value)){if(t.selectionBehavior===`replace`)e.value=[r],n.value=r;else{let t=e.value.findIndex(e=>i(e));e.value=t===-1?[...e.value,r]:e.value.filter((e,n)=>n!==t)}}else e.value=t.selectionBehavior===`replace`?{...r}:!Array.isArray(e.value)&&i(e.value)?void 0:{...r};return e.value};function i(r,i,a,o){if(!n?.value||!t.multiple||!Array.isArray(e.value))return;let s=a().filter(e=>e.ref.dataset.disabled!==``).find(e=>e.ref===i)?.value;if(!s)return;let c=null;switch(r){case`prev`:case`next`:c=D(o,n.value,s);break;case`first`:c=D(o,n.value,o?.[0]);break;case`last`:c=D(o,n.value,o.at(-1))}e.value=c}return{firstValue:n,onSelectItem:r,handleMultipleReplace:i}}function K(e){return e.reduce((e,t)=>(e.push(t),t.children&&e.push(...K(t.children)),e),[])}var[q,J]=O(`TreeRoot`),Y=p({__name:`TreeRoot`,props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},items:{type:Array,required:!1},expanded:{type:Array,required:!1},defaultExpanded:{type:Array,required:!1},getKey:{type:Function,required:!0},getChildren:{type:Function,required:!1,default:e=>e.children},selectionBehavior:{type:String,required:!1,default:`toggle`},multiple:{type:Boolean,required:!1,skipCheck:!0},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},propagateSelect:{type:Boolean,required:!1},bubbleSelect:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`ul`}},emits:[`update:modelValue`,`update:expanded`],setup(t,{emit:n}){let a=t,o=n,{items:s,multiple:c,disabled:l,propagateSelect:u,dir:d,bubbleSelect:p,loop:h}=i(a),{handleTypeaheadSearch:_}=N(),x=z(d),C=b(),E=b(!1),D=F(),O=I(a,`modelValue`,o,{defaultValue:a.defaultValue??(c.value?[]:void 0),passive:!0,deep:!0}),k=I(a,`expanded`,o,{defaultValue:a.defaultExpanded??[],passive:a.expanded===void 0,deep:!0}),{onSelectItem:A,handleMultipleReplace:M}=G(O,a),P=f(()=>c.value&&Array.isArray(O.value)?O.value.map(e=>a.getKey(e)):[a.getKey(O.value??{})]);function L(e,t=1,n){return e.reduce((r,i,o)=>{let s=a.getKey(i),c=a.getChildren(i),l=k.value.includes(s),u={_id:s,value:i,index:o,level:t,parentItem:n,hasChildren:!!c,bind:{value:i,level:t,"aria-setsize":e.length,"aria-posinset":o+1}};return r.push(u),c&&l&&r.push(...L(c,t+1,i)),r},[])}let V=f(()=>{let e=a.items;return k.value.map(e=>e),L(e??[])}),H=[`input`,`textarea`,`select`];function W(e){let t=e.target;return t?H.includes(t.tagName.toLowerCase())||t.isContentEditable:!1}function q(e){if(!W(e)){if(E.value)D.trigger(e);else{let t=C.value?.getItems()??[];_(e.key,t)}}}function Y(e){if(E.value||W(e))return;let t=B[e.key];v(()=>{M(t,j(),C.value?.getItems,V.value.map(e=>e.value))})}function X(e){if(e.parentItem!=null&&Array.isArray(O.value)&&a.multiple){let t=V.value.find(t=>e.parentItem!=null&&a.getKey(t.value)===a.getKey(e.parentItem));t!=null&&(a.getChildren(t.value)?.every(e=>O.value.find(t=>a.getKey(t)===a.getKey(e)))?O.value=[...O.value,t.value]:O.value=O.value.filter(e=>a.getKey(e)!==a.getKey(t.value)),X(t))}}return J({modelValue:O,selectedKeys:P,onSelect:e=>{let t=t=>a.getKey(t??{})===a.getKey(e),n=a.multiple&&Array.isArray(O.value)?O.value?.findIndex(t)!==-1:void 0;if(A(e,t),a.bubbleSelect&&a.multiple&&Array.isArray(O.value)){let t=V.value.find(t=>a.getKey(t.value)===a.getKey(e));t!=null&&X(t)}if(a.propagateSelect&&a.multiple&&Array.isArray(O.value)){let t=K(a.getChildren(e)??[]);n?O.value=[...O.value].filter(e=>!t.some(t=>a.getKey(e??{})===a.getKey(t))):O.value=[...O.value,...t]}},expanded:k,onToggle(e){if(!(e&&a.getChildren(e)))return;let t=a.getKey(e)??e;k.value.includes(t)?k.value=k.value.filter(e=>e!==t):k.value=[...k.value,t]},getKey:a.getKey,getChildren:a.getChildren,items:s,expandedItems:V,disabled:l,multiple:c,dir:x,propagateSelect:u,bubbleSelect:p,loop:h,isVirtual:E,virtualKeydownHook:D,handleMultipleReplace:M}),(n,i)=>(m(),y(r(U),{ref_key:`rovingFocusGroupRef`,ref:C,"as-child":``,orientation:`vertical`,dir:r(x),loop:r(h)&&!E.value},{default:g(()=>[e(r(R),{role:`tree`,as:t.as,"as-child":t.asChild,"aria-multiselectable":r(c)?!0:void 0,onKeydown:[q,w(T(Y,[`shift`]),[`up`,`down`])]},{default:g(()=>[S(n.$slots,`default`,{flattenItems:V.value,modelValue:r(O),expanded:r(k)})]),_:3},8,[`as`,`as-child`,`aria-multiselectable`,`onKeydown`])]),_:3},8,[`dir`,`loop`]))}}),X=`tree.select`,Z=`tree.toggle`,Q=p({inheritAttrs:!1,__name:`TreeItem`,props:{value:{type:null,required:!0},level:{type:Number,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`li`}},emits:[`select`,`toggle`],setup(t,{expose:n,emit:i}){let a=t,o=i,s=q(),{getItems:c}=M(),l=f(()=>!!s.getChildren(a.value)),u=f(()=>{let e=s.getKey(a.value);return s.expanded.value.includes(e)}),p=f(()=>{let e=s.getKey(a.value);return s.selectedKeys.value.includes(e)}),h=f(()=>{if(s.bubbleSelect.value&&l.value&&Array.isArray(s.modelValue.value)){let e=K(s.getChildren(a.value)||[]);return e.some(e=>s.modelValue.value.find(t=>s.getKey(t)===s.getKey(e)))&&!e.every(e=>s.modelValue.value.find(t=>s.getKey(t)===s.getKey(e)))}if(s.propagateSelect.value&&p.value&&l.value&&Array.isArray(s.modelValue.value))return!K(s.getChildren(a.value)||[]).every(e=>s.modelValue.value.find(t=>s.getKey(t)===s.getKey(e)))}),_=f(()=>s.disabled.value||a.disabled);function v(e){if(!_.value&&l.value){if(u.value){let e=c().map(e=>e.ref),t=j(),n=e.indexOf(t),r=[...e].slice(n).find(e=>Number(e.getAttribute(`data-indent`))===a.level+1);r&&r.focus()}else D(e)}}function b(e){if(!_.value){if(u.value)D(e);else{let e=c().map(e=>e.ref),t=j(),n=e.indexOf(t),r=[...e].slice(0,n).reverse().find(e=>Number(e.getAttribute(`data-indent`))===a.level-1);r&&r.focus()}}}async function x(e){_.value||(o(`select`,e),!e?.defaultPrevented&&s.onSelect(a.value))}async function C(e){_.value||(o(`toggle`,e),!e?.defaultPrevented&&s.onToggle(a.value))}async function E(e){if(!e)return;let t={originalEvent:e,value:a.value,isExpanded:u.value,isSelected:p.value};P(X,x,t)}async function D(e){if(!e)return;let t={originalEvent:e,value:a.value,isExpanded:u.value,isSelected:p.value};P(Z,C,t)}return n({isExpanded:u,isSelected:p,isIndeterminate:h,isDisabled:_,handleToggle:()=>s.onToggle(a.value),handleSelect:()=>s.onSelect(a.value)}),(n,i)=>(m(),y(r(V),{"as-child":``,value:t.value,"allow-shift-key":``,focusable:!_.value},{default:g(()=>[e(r(R),d(n.$attrs,{role:`treeitem`,as:t.as,"as-child":t.asChild,"aria-selected":p.value,"aria-expanded":l.value?u.value:void 0,"aria-level":t.level,"aria-disabled":_.value?!0:void 0,"data-indent":t.level,"data-selected":p.value?``:void 0,"data-expanded":u.value?``:void 0,"data-disabled":_.value?``:void 0,onKeydown:[w(T(E,[`self`,`prevent`]),[`enter`,`space`]),i[0]||=w(T(e=>r(s).dir.value===`ltr`?v(e):b(e),[`self`,`prevent`]),[`right`]),i[1]||=w(T(e=>r(s).dir.value===`ltr`?b(e):v(e),[`self`,`prevent`]),[`left`])],onClick:i[2]||=T(e=>{E(e),D(e)},[`stop`])}),{default:g(()=>[S(n.$slots,`default`,{isExpanded:u.value,isSelected:p.value,isIndeterminate:h.value,isDisabled:_.value,handleSelect:()=>r(s).onSelect(t.value),handleToggle:()=>r(s).onToggle(t.value)})]),_:3},16,[`as`,`as-child`,`aria-selected`,`aria-expanded`,`aria-level`,`aria-disabled`,`data-indent`,`data-selected`,`data-expanded`,`data-disabled`,`onKeydown`])]),_:3},8,[`value`,`focusable`]))}}),$={slots:{root:`relative lg:h-[450px] my-5 grid lg:grid-cols-3 border border-muted rounded-md`,list:`isolate relative p-2 border-b lg:border-b-0 lg:border-e border-muted overflow-y-auto`,item:``,listWithChildren:`ms-4.5 border-s border-default`,itemWithChildren:`ps-1.5 -ms-px`,link:`relative group peer w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none before:outline-primary/25 focus-visible:before:outline-3`,linkLeadingIcon:`size-4 shrink-0`,linkLabel:`truncate`,linkTrailing:`ms-auto inline-flex gap-1.5 items-center`,linkTrailingIcon:`size-5 transform transition-transform duration-200 ease-out motion-reduce:transition-none shrink-0 group-data-expanded:rotate-180`,content:`overflow-hidden lg:col-span-2 flex flex-col [&>div]:my-0 [&>div]:flex-1 [&>div]:flex [&>div]:flex-col [&>div>div]:border-0 [&>div>pre]:border-b-0 [&>div>pre]:border-s-0 [&>div>pre]:border-e-0 [&>div>pre]:rounded-s-none [&>div>pre]:flex-1 [&>div]:overflow-y-auto`},variants:{active:{true:{link:`text-highlighted before:bg-elevated`},false:{link:[`hover:text-highlighted hover:before:bg-elevated/50`,`transition-colors before:transition-colors`]}}}},ee=Object.assign({inheritAttrs:!1},{__name:`ProseCodeTree`,props:{items:{type:Array,required:!1},modelValue:{type:String,required:!1},defaultValue:{type:String,required:!1},expandAll:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},emits:[`update:modelValue`],setup(i,{emit:p}){let v=i,S=p,w=n(),T=k(`prose.codeTree`,v),D=E(),[O,j]=L(),M=f(()=>A({extend:$,...D.ui?.prose?.codeTree||{}})()),N=T.modelValue??T.defaultValue,P=b(N?{path:N}:void 0);t(P,e=>{e?.path!==T.modelValue&&S(`update:modelValue`,e?.path)}),t(()=>T.modelValue,e=>{if(e===P.value?.path)return;P.value=e?{path:e}:void 0;let t=[...G.value];for(let n of V(e))t.includes(n)||t.push(n);G.value=t});let F=b(1),I=f(()=>(F.value,T.items||w.default?.()?.flatMap(B).filter(Boolean)||[])),R=f(()=>z(I.value));function z(e){let t=new Map,n=[];e.forEach(e=>{let r=e.label.split(`/`),i=``;r.forEach((e,a)=>{if(i=i?`${i}/${e}`:e,!t.has(i)){let o={label:e,path:i,...a<r.length-1&&{children:[]}};t.set(i,o),a===0?n.push(o):t.get(r.slice(0,a).join(`/`))?.children?.push(o)}})});let r=e=>e.sort((e,t)=>!!e.children==!!t.children?e.label.localeCompare(t.label):t.children?1:-1).map(e=>({...e,children:e.children&&r(e.children)}));return r(n)}function B(e,t){return typeof e.type==`symbol`?e.children?.map(B):{label:e.props?.filename||e.props?.label||`${t}`,icon:e.props?.icon,component:e}}function V(e){if(T.expandAll){let e=new Set;return I.value.forEach(t=>{let n=t.label.split(`/`);for(let t=1;t<n.length;t++)e.add(n.slice(0,t).join(`/`))}),Array.from(e)}if(!e)return[];let t=e.split(`/`);return t.slice(0,-1).map((e,n)=>t.slice(0,n+1).join(`/`))}let U=b(T.expandAll?null:V(P.value?.path)),G=f({get:()=>U.value??V(),set:e=>{U.value=e}});t(()=>T.expandAll,e=>{U.value=e?null:V(P.value?.path)}),u(()=>{t(I,(e,t)=>{T.expandAll&&e.map(e=>e.label).join(`
1
+ import{D as e,Ht as t,Lt as n,On as r,Tn as i,Zn as a,_ as o,at as s,b as c,bt as l,ct as u,et as d,g as f,k as p,mt as m,o as h,qt as g,tr as _,tt as v,v as y,vn as b,wt as x,xt as S,y as C}from"./DZo3dYLJ.js";import{C as w,w as T}from"./51OWHj8c.js";import{r as E}from"./Csqgy925.js";import{t as D}from"./Cm9lkUvP.js";import{h as O,n as k,t as A}from"./6gFtTBwm.js";import{r as j,t as M}from"./DLkAKotw.js";import{n as N,r as P}from"./Bb3Limos.js";import{r as F}from"./CuJUHLl8.js";import{p as I,t as L}from"./Vo4wMbnS.js";import{t as R}from"./CK9_veoz.js";import{t as z}from"./Ci0qbkgh.js";import{r as B}from"./BPTrRhcw.js";import{t as V}from"./V0uynWE2.js";import{t as H}from"./BO6qoy1z.js";import{x as U}from"#entry";import W from"./C0MJr2p5.js";function G(e,t){let n=b(),r=(r,i)=>{if(t.multiple&&Array.isArray(e.value)){if(t.selectionBehavior===`replace`)e.value=[r],n.value=r;else{let t=e.value.findIndex(e=>i(e));e.value=t===-1?[...e.value,r]:e.value.filter((e,n)=>n!==t)}}else e.value=t.selectionBehavior===`replace`?{...r}:!Array.isArray(e.value)&&i(e.value)?void 0:{...r};return e.value};function i(r,i,a,o){if(!n?.value||!t.multiple||!Array.isArray(e.value))return;let s=a().filter(e=>e.ref.dataset.disabled!==``).find(e=>e.ref===i)?.value;if(!s)return;let c=null;switch(r){case`prev`:case`next`:c=D(o,n.value,s);break;case`first`:c=D(o,n.value,o?.[0]);break;case`last`:c=D(o,n.value,o.at(-1))}e.value=c}return{firstValue:n,onSelectItem:r,handleMultipleReplace:i}}function K(e){return e.reduce((e,t)=>(e.push(t),t.children&&e.push(...K(t.children)),e),[])}var[q,J]=O(`TreeRoot`),Y=p({__name:`TreeRoot`,props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},items:{type:Array,required:!1},expanded:{type:Array,required:!1},defaultExpanded:{type:Array,required:!1},getKey:{type:Function,required:!0},getChildren:{type:Function,required:!1,default:e=>e.children},selectionBehavior:{type:String,required:!1,default:`toggle`},multiple:{type:Boolean,required:!1,skipCheck:!0},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},propagateSelect:{type:Boolean,required:!1},bubbleSelect:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`ul`}},emits:[`update:modelValue`,`update:expanded`],setup(t,{emit:n}){let a=t,o=n,{items:s,multiple:c,disabled:l,propagateSelect:u,dir:d,bubbleSelect:p,loop:h}=i(a),{handleTypeaheadSearch:_}=N(),x=z(d),C=b(),E=b(!1),D=F(),O=I(a,`modelValue`,o,{defaultValue:a.defaultValue??(c.value?[]:void 0),passive:!0,deep:!0}),k=I(a,`expanded`,o,{defaultValue:a.defaultExpanded??[],passive:a.expanded===void 0,deep:!0}),{onSelectItem:A,handleMultipleReplace:M}=G(O,a),P=f(()=>c.value&&Array.isArray(O.value)?O.value.map(e=>a.getKey(e)):[a.getKey(O.value??{})]);function L(e,t=1,n){return e.reduce((r,i,o)=>{let s=a.getKey(i),c=a.getChildren(i),l=k.value.includes(s),u={_id:s,value:i,index:o,level:t,parentItem:n,hasChildren:!!c,bind:{value:i,level:t,"aria-setsize":e.length,"aria-posinset":o+1}};return r.push(u),c&&l&&r.push(...L(c,t+1,i)),r},[])}let V=f(()=>{let e=a.items;return k.value.map(e=>e),L(e??[])}),H=[`input`,`textarea`,`select`];function W(e){let t=e.target;return t?H.includes(t.tagName.toLowerCase())||t.isContentEditable:!1}function q(e){if(!W(e)){if(E.value)D.trigger(e);else{let t=C.value?.getItems()??[];_(e.key,t)}}}function Y(e){if(E.value||W(e))return;let t=B[e.key];v(()=>{M(t,j(),C.value?.getItems,V.value.map(e=>e.value))})}function X(e){if(e.parentItem!=null&&Array.isArray(O.value)&&a.multiple){let t=V.value.find(t=>e.parentItem!=null&&a.getKey(t.value)===a.getKey(e.parentItem));t!=null&&(a.getChildren(t.value)?.every(e=>O.value.find(t=>a.getKey(t)===a.getKey(e)))?O.value=[...O.value,t.value]:O.value=O.value.filter(e=>a.getKey(e)!==a.getKey(t.value)),X(t))}}return J({modelValue:O,selectedKeys:P,onSelect:e=>{let t=t=>a.getKey(t??{})===a.getKey(e),n=a.multiple&&Array.isArray(O.value)?O.value?.findIndex(t)!==-1:void 0;if(A(e,t),a.bubbleSelect&&a.multiple&&Array.isArray(O.value)){let t=V.value.find(t=>a.getKey(t.value)===a.getKey(e));t!=null&&X(t)}if(a.propagateSelect&&a.multiple&&Array.isArray(O.value)){let t=K(a.getChildren(e)??[]);n?O.value=[...O.value].filter(e=>!t.some(t=>a.getKey(e??{})===a.getKey(t))):O.value=[...O.value,...t]}},expanded:k,onToggle(e){if(!(e&&a.getChildren(e)))return;let t=a.getKey(e)??e;k.value.includes(t)?k.value=k.value.filter(e=>e!==t):k.value=[...k.value,t]},getKey:a.getKey,getChildren:a.getChildren,items:s,expandedItems:V,disabled:l,multiple:c,dir:x,propagateSelect:u,bubbleSelect:p,loop:h,isVirtual:E,virtualKeydownHook:D,handleMultipleReplace:M}),(n,i)=>(m(),y(r(U),{ref_key:`rovingFocusGroupRef`,ref:C,"as-child":``,orientation:`vertical`,dir:r(x),loop:r(h)&&!E.value},{default:g(()=>[e(r(R),{role:`tree`,as:t.as,"as-child":t.asChild,"aria-multiselectable":r(c)?!0:void 0,onKeydown:[q,w(T(Y,[`shift`]),[`up`,`down`])]},{default:g(()=>[S(n.$slots,`default`,{flattenItems:V.value,modelValue:r(O),expanded:r(k)})]),_:3},8,[`as`,`as-child`,`aria-multiselectable`,`onKeydown`])]),_:3},8,[`dir`,`loop`]))}}),X=`tree.select`,Z=`tree.toggle`,Q=p({inheritAttrs:!1,__name:`TreeItem`,props:{value:{type:null,required:!0},level:{type:Number,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`li`}},emits:[`select`,`toggle`],setup(t,{expose:n,emit:i}){let a=t,o=i,s=q(),{getItems:c}=M(),l=f(()=>!!s.getChildren(a.value)),u=f(()=>{let e=s.getKey(a.value);return s.expanded.value.includes(e)}),p=f(()=>{let e=s.getKey(a.value);return s.selectedKeys.value.includes(e)}),h=f(()=>{if(s.bubbleSelect.value&&l.value&&Array.isArray(s.modelValue.value)){let e=K(s.getChildren(a.value)||[]);return e.some(e=>s.modelValue.value.find(t=>s.getKey(t)===s.getKey(e)))&&!e.every(e=>s.modelValue.value.find(t=>s.getKey(t)===s.getKey(e)))}if(s.propagateSelect.value&&p.value&&l.value&&Array.isArray(s.modelValue.value))return!K(s.getChildren(a.value)||[]).every(e=>s.modelValue.value.find(t=>s.getKey(t)===s.getKey(e)))}),_=f(()=>s.disabled.value||a.disabled);function v(e){if(!_.value&&l.value){if(u.value){let e=c().map(e=>e.ref),t=j(),n=e.indexOf(t),r=[...e].slice(n).find(e=>Number(e.getAttribute(`data-indent`))===a.level+1);r&&r.focus()}else D(e)}}function b(e){if(!_.value){if(u.value)D(e);else{let e=c().map(e=>e.ref),t=j(),n=e.indexOf(t),r=[...e].slice(0,n).reverse().find(e=>Number(e.getAttribute(`data-indent`))===a.level-1);r&&r.focus()}}}async function x(e){_.value||(o(`select`,e),!e?.defaultPrevented&&s.onSelect(a.value))}async function C(e){_.value||(o(`toggle`,e),!e?.defaultPrevented&&s.onToggle(a.value))}async function E(e){if(!e)return;let t={originalEvent:e,value:a.value,isExpanded:u.value,isSelected:p.value};P(X,x,t)}async function D(e){if(!e)return;let t={originalEvent:e,value:a.value,isExpanded:u.value,isSelected:p.value};P(Z,C,t)}return n({isExpanded:u,isSelected:p,isIndeterminate:h,isDisabled:_,handleToggle:()=>s.onToggle(a.value),handleSelect:()=>s.onSelect(a.value)}),(n,i)=>(m(),y(r(V),{"as-child":``,value:t.value,"allow-shift-key":``,focusable:!_.value},{default:g(()=>[e(r(R),d(n.$attrs,{role:`treeitem`,as:t.as,"as-child":t.asChild,"aria-selected":p.value,"aria-expanded":l.value?u.value:void 0,"aria-level":t.level,"aria-disabled":_.value?!0:void 0,"data-indent":t.level,"data-selected":p.value?``:void 0,"data-expanded":u.value?``:void 0,"data-disabled":_.value?``:void 0,onKeydown:[w(T(E,[`self`,`prevent`]),[`enter`,`space`]),i[0]||=w(T(e=>r(s).dir.value===`ltr`?v(e):b(e),[`self`,`prevent`]),[`right`]),i[1]||=w(T(e=>r(s).dir.value===`ltr`?b(e):v(e),[`self`,`prevent`]),[`left`])],onClick:i[2]||=T(e=>{E(e),D(e)},[`stop`])}),{default:g(()=>[S(n.$slots,`default`,{isExpanded:u.value,isSelected:p.value,isIndeterminate:h.value,isDisabled:_.value,handleSelect:()=>r(s).onSelect(t.value),handleToggle:()=>r(s).onToggle(t.value)})]),_:3},16,[`as`,`as-child`,`aria-selected`,`aria-expanded`,`aria-level`,`aria-disabled`,`data-indent`,`data-selected`,`data-expanded`,`data-disabled`,`onKeydown`])]),_:3},8,[`value`,`focusable`]))}}),$={slots:{root:`relative lg:h-[450px] my-5 grid lg:grid-cols-3 border border-muted rounded-md`,list:`isolate relative p-2 border-b lg:border-b-0 lg:border-e border-muted overflow-y-auto`,item:``,listWithChildren:`ms-4.5 border-s border-default`,itemWithChildren:`ps-1.5 -ms-px`,link:`relative group peer w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none before:outline-primary/25 focus-visible:before:outline-3`,linkLeadingIcon:`size-4 shrink-0`,linkLabel:`truncate`,linkTrailing:`ms-auto inline-flex gap-1.5 items-center`,linkTrailingIcon:`size-5 transform transition-transform duration-200 ease-out motion-reduce:transition-none shrink-0 group-data-expanded:rotate-180`,content:`overflow-hidden lg:col-span-2 flex flex-col [&>div]:my-0 [&>div]:flex-1 [&>div]:flex [&>div]:flex-col [&>div>div]:border-0 [&>div>pre]:border-b-0 [&>div>pre]:border-s-0 [&>div>pre]:border-e-0 [&>div>pre]:rounded-s-none [&>div>pre]:flex-1 [&>div]:overflow-y-auto`},variants:{active:{true:{link:`text-highlighted before:bg-elevated`},false:{link:[`hover:text-highlighted hover:before:bg-elevated/50`,`transition-colors before:transition-colors`]}}}},ee=Object.assign({inheritAttrs:!1},{__name:`ProseCodeTree`,props:{items:{type:Array,required:!1},modelValue:{type:String,required:!1},defaultValue:{type:String,required:!1},expandAll:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},emits:[`update:modelValue`],setup(i,{emit:p}){let v=i,S=p,w=n(),T=k(`prose.codeTree`,v),D=E(),[O,j]=L(),M=f(()=>A({extend:$,...D.ui?.prose?.codeTree||{}})()),N=T.modelValue??T.defaultValue,P=b(N?{path:N}:void 0);t(P,e=>{e?.path!==T.modelValue&&S(`update:modelValue`,e?.path)}),t(()=>T.modelValue,e=>{if(e===P.value?.path)return;P.value=e?{path:e}:void 0;let t=[...G.value];for(let n of V(e))t.includes(n)||t.push(n);G.value=t});let F=b(1),I=f(()=>(F.value,T.items||w.default?.()?.flatMap(B).filter(Boolean)||[])),R=f(()=>z(I.value));function z(e){let t=new Map,n=[];e.forEach(e=>{let r=e.label.split(`/`),i=``;r.forEach((e,a)=>{if(i=i?`${i}/${e}`:e,!t.has(i)){let o={label:e,path:i,...a<r.length-1&&{children:[]}};t.set(i,o),a===0?n.push(o):t.get(r.slice(0,a).join(`/`))?.children?.push(o)}})});let r=e=>e.sort((e,t)=>!!e.children==!!t.children?e.label.localeCompare(t.label):t.children?1:-1).map(e=>({...e,children:e.children&&r(e.children)}));return r(n)}function B(e,t){return typeof e.type==`symbol`?e.children?.map(B):{label:e.props?.filename||e.props?.label||`${t}`,icon:e.props?.icon,component:e}}function V(e){if(T.expandAll){let e=new Set;return I.value.forEach(t=>{let n=t.label.split(`/`);for(let t=1;t<n.length;t++)e.add(n.slice(0,t).join(`/`))}),Array.from(e)}if(!e)return[];let t=e.split(`/`);return t.slice(0,-1).map((e,n)=>t.slice(0,n+1).join(`/`))}let U=b(T.expandAll?null:V(P.value?.path)),G=f({get:()=>U.value??V(),set:e=>{U.value=e}});t(()=>T.expandAll,e=>{U.value=e?null:V(P.value?.path)}),u(()=>{t(I,(e,t)=>{T.expandAll&&e.map(e=>e.label).join(`
2
2
  `)!==(t?.map(e=>e.label).join(`
3
3
  `)??``)&&(U.value=null)})});let K,q=f(()=>{let e=I.value.find(e=>P.value?.path===e.label);return e?.component&&(K=e),K});return s(()=>F.value++),(t,n)=>(m(),c(h,null,[e(r(O),null,{default:g(({items:t,level:n})=>[(m(!0),c(h,null,l(t,(t,i)=>(m(),c(`li`,{key:`${n}-${i}`,role:`presentation`,class:a(n>1?M.value.itemWithChildren({class:r(T).ui?.itemWithChildren}):M.value.item({class:r(T).ui?.item}))},[e(r(Q),{level:n,value:t,"as-child":``},{default:g(({isExpanded:i,isSelected:s})=>[o(`button`,{type:`button`,class:a(M.value.link({class:r(T).ui?.link,active:s}))},[t.children?.length?(m(),y(H,{key:0,name:i?r(D).ui.icons.folderOpen:r(D).ui.icons.folder,class:a(M.value.linkLeadingIcon({class:r(T).ui?.linkLeadingIcon}))},null,8,[`name`,`class`])):(m(),y(W,{key:1,filename:t.label,class:a(M.value.linkLeadingIcon({class:r(T).ui?.linkLeadingIcon}))},null,8,[`filename`,`class`])),o(`span`,{class:a(M.value.linkLabel({class:r(T).ui?.linkLabel}))},_(t.label),3),t.children?.length?(m(),c(`span`,{key:2,class:a(M.value.linkTrailing({class:r(T).ui?.linkTrailing}))},[e(H,{name:r(D).ui.icons.chevronDown,class:a(M.value.linkTrailingIcon({class:r(T).ui?.linkTrailingIcon}))},null,8,[`name`,`class`])],2)):C(``,!0)],2),t.children?.length&&i?(m(),c(`ul`,{key:0,role:`group`,class:a(M.value.listWithChildren({class:r(T).ui?.listWithChildren}))},[e(r(j),{items:t.children,level:n+1},null,8,[`items`,`level`])],2)):C(``,!0)]),_:2},1032,[`level`,`value`])],2))),128))]),_:1}),o(`div`,d(t.$attrs,{class:M.value.root({class:[r(T).ui?.root,r(T).class]})}),[e(r(Y),{modelValue:P.value,"onUpdate:modelValue":n[0]||=e=>P.value=e,expanded:G.value,"onUpdate:expanded":n[1]||=e=>G.value=e,class:a(M.value.list({class:r(T).ui?.list})),items:R.value,"get-key":e=>e.path},{default:g(()=>[e(r(j),{items:R.value,level:1},null,8,[`items`])]),_:1},8,[`modelValue`,`expanded`,`class`,`items`,`get-key`]),o(`div`,{class:a(M.value.content({class:r(T).ui?.content}))},[(m(),y(x(q.value?.component)))],2)],16)],64))}});export{ee 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"./BJW3UkS7.js";import{t as h}from"./D2zrOcWn.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"./BO6qoy1z.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,qt as i,v as a,xt as o}from"./DZo3dYLJ.js";import{r as s}from"./oXSDGTSr.js";import{n as c,t as l}from"./Baq-Hrpf.js";import{l as u}from"#entry";var d={base:`align-text-top`},f={__name:`ProseKbd`,props:{value:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(f){let p=c(`prose.kbd`,f),m=s(),h=n(()=>l({extend:d,...m.ui?.prose?.kbd||{}}));return(n,s)=>(r(),a(u,{value:e(p).value,class:t(h.value({class:[e(p).ui?.base,e(p).class]}))},{default:i(()=>[o(n.$slots,`default`)]),_:3},8,[`value`,`class`]))}};export{f as default};
1
+ import{On as e,Zn as t,g as n,mt as r,qt as i,v as a,xt as o}from"./DZo3dYLJ.js";import{r as s}from"./Csqgy925.js";import{n as c,t as l}from"./6gFtTBwm.js";import{l as u}from"#entry";var d={base:`align-text-top`},f={__name:`ProseKbd`,props:{value:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(f){let p=c(`prose.kbd`,f),m=s(),h=n(()=>l({extend:d,...m.ui?.prose?.kbd||{}}));return(n,s)=>(r(),a(u,{value:e(p).value,class:t(h.value({class:[e(p).ui?.base,e(p).class]}))},{default:i(()=>[o(n.$slots,`default`)]),_:3},8,[`value`,`class`]))}};export{f as default};
@@ -1 +1 @@
1
- import{Lt as e,On as t,Zn as n,_ as r,b as i,g as a,mt as o,xt as s,y as c}from"./DZo3dYLJ.js";import{r as l}from"./oXSDGTSr.js";import{n as u,t as d}from"./Baq-Hrpf.js";var f={slots:{root:`my-5`,preview:`flex justify-center border border-muted relative p-4 rounded-md`,code:`[&>div>pre]:rounded-t-none [&>div]:my-0`},variants:{code:{true:{preview:`border-b-0 rounded-b-none`}}}},p={__name:`ProseCodePreview`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(p){let m=p,h=e(),g=u(`prose.codePreview`,m),_=l(),v=a(()=>d({extend:f,..._.ui?.prose?.codePreview||{}})({code:!!h.code}));return(e,a)=>(o(),i(`div`,{class:n(v.value.root({class:[t(g).ui?.root,t(g).class]}))},[r(`div`,{class:n(v.value.preview({class:[t(g).ui?.preview]}))},[s(e.$slots,`default`)],2),h.code?(o(),i(`div`,{key:0,class:n(v.value.code({class:[t(g).ui?.code]}))},[s(e.$slots,`code`)],2)):c(``,!0)],2))}};export{p as default};
1
+ import{Lt as e,On as t,Zn as n,_ as r,b as i,g as a,mt as o,xt as s,y as c}from"./DZo3dYLJ.js";import{r as l}from"./Csqgy925.js";import{n as u,t as d}from"./6gFtTBwm.js";var f={slots:{root:`my-5`,preview:`flex justify-center border border-muted relative p-4 rounded-md`,code:`[&>div>pre]:rounded-t-none [&>div]:my-0`},variants:{code:{true:{preview:`border-b-0 rounded-b-none`}}}},p={__name:`ProseCodePreview`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(p){let m=p,h=e(),g=u(`prose.codePreview`,m),_=l(),v=a(()=>d({extend:f,..._.ui?.prose?.codePreview||{}})({code:!!h.code}));return(e,a)=>(o(),i(`div`,{class:n(v.value.root({class:[t(g).ui?.root,t(g).class]}))},[r(`div`,{class:n(v.value.preview({class:[t(g).ui?.preview]}))},[s(e.$slots,`default`)],2),h.code?(o(),i(`div`,{key:0,class:n(v.value.code({class:[t(g).ui?.code]}))},[s(e.$slots,`code`)],2)):c(``,!0)],2))}};export{p as default};
@@ -1 +1 @@
1
- import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./oXSDGTSr.js";import{n as s,t as c}from"./Baq-Hrpf.js";var l={base:`py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5`,variants:{align:{left:`text-start`,center:`text-center`,right:`text-end`}},defaultVariants:{align:`left`}},u={__name:`ProseTd`,props:{align:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.td`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.td||{}}));return(r,o)=>(i(),n(`td`,{class:t(p.value({align:e(d).align,class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u as default};
1
+ import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./Csqgy925.js";import{n as s,t as c}from"./6gFtTBwm.js";var l={base:`py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5`,variants:{align:{left:`text-start`,center:`text-center`,right:`text-end`}},defaultVariants:{align:`left`}},u={__name:`ProseTd`,props:{align:{type:String,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.td`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.td||{}}));return(r,o)=>(i(),n(`td`,{class:t(p.value({align:e(d).align,class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u as default};
@@ -0,0 +1,2 @@
1
+ import{D as e,E as t,Ht as n,On as r,T as i,Zn as a,_ as o,b as s,bt as c,ct as l,er as ee,g as u,it as d,k as te,mt as f,o as p,qt as m,tr as h,tt as ne,u as re,v as g,vn as _,y as v}from"./DZo3dYLJ.js";import{w as y}from"./51OWHj8c.js";import{t as ie}from"./CJ2mz0WY.js";import{t as ae}from"./BO6qoy1z.js";import{O as b,i as x,s as oe}from"#entry";var se={class:`rule-top`},ce={class:`rule-ic`},le={class:`rule-state`},ue={class:`mono`},de={key:0},fe={class:`rule-cases`},pe={class:`case-when`},me={class:`case-then`},he={key:1,class:`lc-hist-bar`},ge={class:`hist-badge`},_e={class:`hist-readonly mono`},ve=[`title`,`disabled`,`onClick`],ye={key:2,class:`card lc-empty`},be={class:`em-ic`},xe={key:3,class:`lc`},Se={class:`lc-hero`},Ce={class:`hero-body`},we={class:`hero-kicker`},Te={class:`k-date mono`},Ee={key:0,class:`k-time mono`},De={key:1,class:`k-today`},Oe=[`title`],ke={class:`hero-title`},Ae={key:0,class:`hero-sum`},je={class:`hero-meta`},Me={class:`hero-aside`},Ne={class:`ring-in`},Pe={class:`lc-nav`,"aria-label":`分区导航`},Fe=[`href`,`onClick`],Ie={class:`lc-nav-lb`},Le={class:`lc-nav-ct`},Re={id:`lc-changes`,class:`card sec`},ze={class:`s-hd`},Be={class:`s-ic`},Ve={class:`s-count`},He={key:0,class:`sec-empty dim`},Ue={key:1,class:`tbl-wrap`},We={class:`tbl lc-tbl`},Ge={class:`ent`},Ke={class:`ent-top`},qe={key:0,class:`ent-title`},Je={key:0,class:`flow mono`},Ye={class:`fl`},Xe={class:`fl`},Ze={class:`cell-note`},Qe={class:`chips`},$e=[`title`],et={key:0,class:`dim`},tt={class:`two`},nt={id:`lc-extras`,class:`card sec`},rt={class:`s-hd`},it={class:`s-ic`},at={class:`s-count`},ot={class:`sec-bd lc-extras`},st={key:0,class:`dim`},ct={class:`x-body`},lt={class:`x-title`},ut={key:0,class:`x-detail`},dt={key:1,class:`chips x-files`},ft=[`title`],pt={id:`lc-checks`,class:`card sec`},mt={class:`s-hd`},ht={class:`s-ic tone-mint`},gt={class:`s-count`},_t={class:`sec-bd lc-checks`},vt={key:0,class:`dim`},yt={class:`v-body`},bt={class:`v-what`},xt={key:0,class:`v-detail`},St={key:0,id:`lc-access`,class:`card sec lc-access`},Ct={class:`s-hd`},wt={class:`s-ic tone-sky`},Tt={class:`s-count`},Et={class:`sec-bd acc-grid`},Dt={key:0,class:`acc-col`},Ot={class:`u-head`},kt=[`href`],At={class:`u-label`},jt=[`onClick`],Mt={class:`u-url mono`},Nt={key:0,class:`u-note`},Pt={key:1,class:`acc-col`},Ft={class:`a-head`},It={key:0,class:`a-role`},Lt={class:`a-user mono`},Rt=[`onClick`],zt={class:`a-line`},Bt={key:0,class:`a-pass mono`},Vt={key:1,class:`a-none dim`},Ht={key:0,class:`a-note`},Ut={key:1,id:`lc-prep`,class:`card sec lc-prep`},Wt={class:`s-hd`},Gt={class:`s-ic tone-amber`},Kt={class:`s-count`},qt={class:`steps`},Jt={class:`step-bd`},Yt={class:`step-text`},Xt={key:0,class:`cmd-row`},Zt={class:`cmd mono`},Qt=[`onClick`],$t={key:1,class:`step-note`},en={id:`lc-scenarios`,class:`lc-sc-sec`},tn={class:`s-hd solo`},nn={class:`s-ic tone-mint`},rn={class:`s-count`},an={key:0,class:`dim sec-empty`},on={key:1,class:`lc-sc-grid`},sn={class:`sc-hd`},S={class:`sc-id mono`},cn={class:`sc-title`},ln={key:0,class:`sc-body`},un={class:`lc-sc-steps`},dn={class:`sc-acc`},fn={class:`sc-acc-h`},pn={class:`sc-acc-t`},mn={key:0,class:`sc-foot`},hn={key:0},gn={key:1,class:`sc-ids`},_n={class:`two`},vn={id:`lc-notes`,class:`card sec`},yn={class:`s-hd`},bn={class:`s-ic`},xn={class:`s-count`},Sn={class:`sec-bd`},Cn={key:0,class:`dim`},wn={key:1,class:`lc-notes`},Tn={key:0,id:`lc-open`,class:`card sec sec-warn`},En={class:`s-hd`},Dn={class:`s-ic`},On={class:`s-count`},kn={class:`sec-bd`},An={class:`lc-notes warn`},jn={class:`lc-hist`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`lc-hist-title`},Mn={class:`lc-hist-hd`},Nn={class:`lc-hist-hd-txt`},Pn={class:`lc-hist-sub`},Fn={key:0,class:`lc-hist-err`},In={key:1,class:`lc-hist-hint dim`},Ln={key:2,class:`lc-hist-list`},Rn=[`disabled`,`onClick`],zn={class:`hist-item-main`},Bn={class:`mono`},Vn={class:`mono hist-item-hash`},Hn={key:0,class:`lc-hist-hint dim`},Un={class:`lc-hist-ft`},C=x(te({__name:`last-change`,setup(te){let{lastChange:x,lastChangeGit:C}=oe(),w=_(null),T=u(()=>w.value?.doc?.lastChange??x.value),E=u(()=>C.value),D=_([]),O=_(!1),k=_(!1),A=_(``),j=_(!1),Wn=u(()=>w.value?[w.value]:[]);async function Gn(){if(!k.value){k.value=!0,A.value=``;try{let e=await b(`/api/agile/last-change/history`);D.value=e.entries??[]}catch(e){A.value=e?.data?.error||e?.message||`读不到 git 历史`}finally{k.value=!1}}}async function M(){O.value=!0,D.value.length||await Gn()}async function N(e){if(!j.value){j.value=!0,A.value=``;try{w.value=await b(`/api/agile/last-change/revision`,{query:{hash:e.hash}}),O.value=!1,window.scrollTo({top:0,behavior:`smooth`})}catch(e){A.value=e?.data?.error||e?.message||`取不到这个版本`}finally{j.value=!1}}}function Kn(){w.value=null,window.scrollTo({top:0,behavior:`smooth`})}let P=_(null);n(w,async()=>{await ne(),P.value?.querySelector(`.hist-tab.on`)?.scrollIntoView({inline:`nearest`,block:`nearest`})});function F(e){e.key===`Escape`&&O.value&&(O.value=!1)}l(()=>window.addEventListener(`keydown`,F)),d(()=>window.removeEventListener(`keydown`,F));let I={committed:{text:`已提交`,tone:`ok`},dirty:{text:`未提交改动`,tone:`warn`},untracked:{text:`未纳入版本库`,tone:`warn`},"no-git":{text:`非 git 仓库`,tone:`neutral`},missing:{text:`尚未生成`,tone:`neutral`}},L=u(()=>I[E.value?.state??`missing`]??I.missing),qn=[{key:`committed`,when:`已提交`,then:`下次写入整份覆盖;上一版留在 git 历史里,点「查看历史」随时翻回来`},{key:`pending`,when:`未提交`,then:`下次写入合并:新交付接在旧记录后面,不冲掉还没入库的内容`}],Jn=u(()=>{let e=E.value?.state;return e===`committed`?`committed`:e===`dirty`||e===`untracked`||e===`no-git`?`pending`:``}),Yn=u(()=>(T.value?.mergedFrom?.length??0)+1),Xn=u(()=>(T.value?.mergedFrom??[]).map(e=>`${e.at??``} ${e.title??``}`.trim()).filter(Boolean).join(`
2
+ `)),Zn={added:`新增`,updated:`状态变更`,removed:`移除`},Qn={story:`故事`,task:`任务`},$n={pass:`通过`,fail:`失败`,partial:`部分`,skipped:`未跑`},er={pass:`i-lucide-check`,fail:`i-lucide-x`,partial:`i-lucide-minus`,skipped:`i-lucide-minus`},R=u(()=>T.value?.changes??[]),z=u(()=>T.value?.extras??[]),B=u(()=>T.value?.verification??[]),V=u(()=>T.value?.scenarios??[]),H=u(()=>T.value?.preparation??[]),U=u(()=>T.value?.notes??[]),W=u(()=>T.value?.open??[]),G=u(()=>T.value?.access?.urls??[]),K=u(()=>T.value?.access?.accounts??[]),q=u(()=>B.value.filter(e=>e.result===`pass`).length),J=u(()=>B.value.length>0&&q.value===B.value.length),tr=u(()=>B.value.length?Math.round(q.value/B.value.length*100):0),nr=u(()=>[...new Set([...R.value.flatMap(e=>e.files??[]),...z.value.flatMap(e=>e.files??[])])]),rr=e=>e.kind===`story`?e.id:e.id.replace(/-T\d+$/,``),ir=u(()=>[{id:`lc-changes`,label:`变更清单`,icon:`i-lucide-git-commit-horizontal`,count:`${R.value.length}`,tone:`violet`},{id:`lc-extras`,label:`额外做的事`,icon:`i-lucide-sparkles`,count:`${z.value.length}`,tone:`peach`},{id:`lc-checks`,label:`验证结果`,icon:`i-lucide-badge-check`,count:`${q.value}/${B.value.length}`,tone:`mint`},...G.value.length||K.value.length?[{id:`lc-access`,label:`调试入口与账号`,icon:`i-lucide-key-round`,count:`${G.value.length+K.value.length}`,tone:`sky`}]:[],...H.value.length?[{id:`lc-prep`,label:`测试前准备`,icon:`i-lucide-terminal-square`,count:`${H.value.length}`,tone:`amber`}]:[],{id:`lc-scenarios`,label:`测试场景`,icon:`i-lucide-flask-conical`,count:`${V.value.length}`,tone:`teal`},{id:`lc-notes`,label:`说明`,icon:`i-lucide-message-square-more`,count:`${U.value.length}`,tone:`slate`},...W.value.length?[{id:`lc-open`,label:`还没做的`,icon:`i-lucide-list-todo`,count:`${W.value.length}`,tone:`rose`}]:[]]);function ar(e){let t=document.getElementById(e);t&&(t.scrollIntoView({behavior:`smooth`,block:`start`}),history.replaceState(null,``,`#${e}`))}let Y=new Date,or=`${Y.getFullYear()}-${String(Y.getMonth()+1).padStart(2,`0`)}-${String(Y.getDate()).padStart(2,`0`)}`,X=u(()=>(T.value?.at??``).slice(0,10)),Z=u(()=>{let e=(T.value?.at??``).slice(10).replace(/^[T ]/,``);return/^\d{2}:\d{2}/.test(e)?e:``}),sr=u(()=>!!X.value&&X.value===or),Q=_(``);async function $(e,t){try{await navigator.clipboard.writeText(e),Q.value=t,setTimeout(()=>{Q.value===t&&(Q.value=``)},1600)}catch{Q.value=``}}return(n,l)=>{let u=ae,d=ie;return f(),s(p,null,[r(w)?(f(),s(`div`,he,[o(`span`,ge,[e(u,{name:`i-lucide-history`,class:`hist-badge-ic`}),l[7]||=t(`历史版本`,-1)]),o(`span`,_e,[t(`只读 · `+h(r(w).short),1),r(w).date?(f(),s(p,{key:0},[t(` · `+h(r(w).date),1)],64)):v(``,!0)]),o(`div`,{ref_key:`tabsRef`,ref:P,class:`lc-hist-tabs`},[o(`button`,{class:`hist-tab`,onClick:Kn},`最新`),(f(!0),s(p,null,c(r(Wn),e=>(f(),s(`button`,{key:e.hash,class:a([`hist-tab`,{on:r(w)?.hash===e.hash}]),title:`${e.date} ${e.subject??``}`,disabled:r(j),onClick:t=>N(e)},[t(h(e.short),1),o(`i`,null,h(e.date.slice(5,16)),1)],10,ve))),128))],512),o(`button`,{class:`rule-btn`,onClick:M},[e(u,{name:`i-lucide-list`,class:`rule-btn-ic`}),l[8]||=t(`选择历史…`,-1)])])):(f(),s(`div`,{key:0,class:a([`lc-rule`,`is-${r(L).tone}`])},[o(`div`,se,[o(`span`,ce,[e(u,{name:`i-lucide-git-branch`,class:`rule-svg`})]),l[5]||=o(`b`,{class:`rule-title`},`写入规则`,-1),l[6]||=o(`span`,{class:`rule-file mono`},`agile/last-change.json`,-1),o(`span`,le,[o(`i`,{class:a([`rule-dot`,`tone-${r(L).tone}`])},null,2),t(` 当前 `+h(r(L).text),1),r(E)?.state===`committed`&&r(E).hash?(f(),s(p,{key:0},[l[3]||=t(` · `,-1),o(`span`,ue,h(r(E).hash),1)],64)):v(``,!0)]),o(`button`,{class:`rule-btn`,onClick:M},[e(u,{name:`i-lucide-history`,class:`rule-btn-ic`}),l[4]||=t(`查看历史 `,-1),r(D).length?(f(),s(`i`,de,h(r(D).length),1)):v(``,!0)])]),o(`ul`,fe,[(f(),s(p,null,c(qn,t=>o(`li`,{key:t.key,class:a([`rule-case`,{on:r(Jn)===t.key}])},[o(`span`,pe,h(t.when),1),e(u,{name:`i-lucide-arrow-right`,class:`case-arrow`}),o(`span`,me,h(t.then),1)],2)),64))])],2)),r(T)?(f(),s(`div`,xe,[o(`header`,Se,[o(`div`,Ce,[o(`p`,we,[l[10]||=o(`span`,{class:`k-dot`},null,-1),l[11]||=t(`最近一次交付 `,-1),l[12]||=o(`span`,{class:`k-sep`},null,-1),o(`span`,Te,h(r(X)),1),r(Z)?(f(),s(`span`,Ee,h(r(Z)),1)):v(``,!0),r(sr)?(f(),s(`span`,De,`今天`)):v(``,!0),r(T).merged?(f(),s(`span`,{key:2,class:`k-merged`,title:r(Xn)},`合并记录 · `+h(r(Yn))+` 次交付`,9,Oe)):v(``,!0)]),o(`h2`,ke,h(r(T).title),1),r(T).summary?(f(),s(`p`,Ae,h(r(T).summary),1)):v(``,!0),o(`div`,je,[o(`span`,null,[o(`b`,null,h(r(R).length),1),l[13]||=t(` 处变更`,-1)]),l[18]||=o(`i`,{class:`meta-sep`},null,-1),o(`span`,null,[o(`b`,null,h(r(nr).length),1),l[14]||=t(` 个文件`,-1)]),l[19]||=o(`i`,{class:`meta-sep`},null,-1),o(`span`,null,[o(`b`,null,h(r(V).length),1),l[15]||=t(` 条测试场景`,-1)]),r(z).length?(f(),s(p,{key:0},[l[17]||=o(`i`,{class:`meta-sep`},null,-1),o(`span`,null,[o(`b`,null,h(r(z).length),1),l[16]||=t(` 项额外工作`,-1)])],64)):v(``,!0)])]),o(`div`,Me,[o(`div`,{class:a([`ring`,{warn:r(B).length&&!r(J)}]),style:ee({"--pct":r(tr)})},[o(`div`,Ne,[o(`b`,null,[t(h(r(q)),1),o(`small`,null,`/`+h(r(B).length||0),1)]),o(`span`,null,h(r(B).length?r(J)?`验证全通过`:`有未通过项`:`无验证记录`),1)])],6)])]),o(`nav`,Pe,[(f(!0),s(p,null,c(r(ir),t=>(f(),s(`a`,{key:t.id,class:a([`lc-nav-link`,`tone-${t.tone}`]),href:`#${t.id}`,onClick:y(e=>ar(t.id),[`prevent`])},[e(u,{name:t.icon,class:`lc-nav-ic`},null,8,[`name`]),o(`span`,Ie,h(t.label),1),o(`b`,Le,h(t.count),1)],10,Fe))),128))]),o(`section`,Re,[o(`div`,ze,[o(`span`,Be,[e(u,{name:`i-lucide-git-commit-horizontal`,class:`s-svg`})]),l[20]||=o(`h2`,{class:`s-title`},`变更清单`,-1),o(`span`,Ve,h(r(R).length),1),l[21]||=o(`span`,{class:`s-hint`},`故事与任务各自是新增还是状态变更、动过哪些文件`,-1)]),r(R).length?(f(),s(`div`,Ue,[o(`table`,We,[l[23]||=o(`colgroup`,null,[o(`col`,{class:`c-ent`}),o(`col`,{class:`c-act`}),o(`col`),o(`col`,{class:`c-file`})],-1),l[24]||=o(`thead`,null,[o(`tr`,null,[o(`th`,null,`条目`),o(`th`,null,`变更`),o(`th`,null,`变更内容`),o(`th`,null,`涉及文件`)])],-1),o(`tbody`,null,[(f(!0),s(p,null,c(r(R),(n,r)=>(f(),s(`tr`,{key:`${n.kind}-${n.id}-${r}`},[o(`td`,null,[o(`div`,Ge,[o(`div`,Ke,[o(`span`,{class:a([`kind`,`kind-${n.kind}`])},h(Qn[n.kind]??n.kind),3),e(d,{to:`/story/${rr(n)}`,class:`ent-id mono`},{default:m(()=>[t(h(n.id),1)]),_:2},1032,[`to`])]),n.title?(f(),s(`p`,qe,h(n.title),1)):v(``,!0)])]),o(`td`,null,[o(`span`,{class:a([`act`,`act-${n.action}`])},h(Zn[n.action]??n.action),3),n.from||n.to?(f(),s(`p`,Je,[o(`span`,Ye,h(n.from??`—`),1),l[22]||=o(`i`,null,`→`,-1),o(`span`,Xe,h(n.to??`—`),1)])):v(``,!0)]),o(`td`,Ze,h(n.note??`—`),1),o(`td`,null,[o(`div`,Qe,[(f(!0),s(p,null,c(n.files,e=>(f(),s(`span`,{key:e,class:`fchip mono`,title:e},h(e),9,$e))),128)),n.files?.length?v(``,!0):(f(),s(`span`,et,`—`))])])]))),128))])])])):(f(),s(`p`,He,`这次没有涉及任何故事或任务。`))]),o(`div`,tt,[o(`section`,nt,[o(`div`,rt,[o(`span`,it,[e(u,{name:`i-lucide-sparkles`,class:`s-svg`})]),l[25]||=o(`h2`,{class:`s-title`},`额外做的事`,-1),o(`span`,at,h(r(z).length),1)]),o(`div`,ot,[r(z).length?v(``,!0):(f(),s(`p`,st,`没有计划外的改动。`)),(f(!0),s(p,null,c(r(z),(e,t)=>(f(),s(`article`,{key:t,class:`x-item`},[l[26]||=o(`span`,{class:`x-mark`},null,-1),o(`div`,ct,[o(`p`,lt,h(e.title),1),e.detail?(f(),s(`p`,ut,h(e.detail),1)):v(``,!0),e.files?.length?(f(),s(`div`,dt,[(f(!0),s(p,null,c(e.files,e=>(f(),s(`span`,{key:e,class:`fchip mono`,title:e},h(e),9,ft))),128))])):v(``,!0)])]))),128))])]),o(`section`,pt,[o(`div`,mt,[o(`span`,ht,[e(u,{name:`i-lucide-badge-check`,class:`s-svg`})]),l[27]||=o(`h2`,{class:`s-title`},`验证结果`,-1),o(`span`,gt,h(r(q))+`/`+h(r(B).length),1)]),o(`div`,_t,[r(B).length?v(``,!0):(f(),s(`p`,vt,`这次没有留下验证记录。`)),(f(!0),s(p,null,c(r(B),(t,n)=>(f(),s(`div`,{key:n,class:`v-item`},[o(`span`,{class:a([`v-ic`,`v-${t.result}`])},[e(u,{name:er[t.result]??`i-lucide-circle`,class:`v-svg`},null,8,[`name`])],2),o(`div`,yt,[o(`p`,bt,h(t.what),1),t.detail?(f(),s(`p`,xt,h(t.detail),1)):v(``,!0)]),o(`span`,{class:a([`v-res`,`v-${t.result}`])},h($n[t.result]??t.result),3)]))),128))])])]),r(G).length||r(K).length?(f(),s(`section`,St,[o(`div`,Ct,[o(`span`,wt,[e(u,{name:`i-lucide-key-round`,class:`s-svg`})]),l[28]||=o(`h2`,{class:`s-title`},`调试入口与账号`,-1),o(`span`,Tt,h(r(G).length+r(K).length),1),l[29]||=o(`span`,{class:`s-hint`},`照着这一栏就能自己跑起来点一遍`,-1)]),o(`div`,Et,[r(G).length?(f(),s(`div`,Dt,[l[30]||=o(`p`,{class:`micro`},`访问地址`,-1),(f(!0),s(p,null,c(r(G),(n,i)=>(f(),s(`div`,{key:i,class:`u-item`},[o(`div`,Ot,[o(`a`,{href:n.url,target:`_blank`,rel:`noreferrer`,class:`u-link`},[o(`span`,At,h(n.label??`入口`),1),e(u,{name:`i-lucide-arrow-up-right`,class:`u-go`})],8,kt),o(`button`,{class:a([`cpy`,{ok:r(Q)===`url-${i}`}]),onClick:e=>$(n.url,`url-${i}`)},[e(u,{name:r(Q)===`url-${i}`?`i-lucide-check`:`i-lucide-copy`,class:`cpy-ic`},null,8,[`name`]),t(` `+h(r(Q)===`url-${i}`?`已复制`:`复制`),1)],10,jt)]),o(`p`,Mt,h(n.url),1),n.note?(f(),s(`p`,Nt,h(n.note),1)):v(``,!0)]))),128))])):v(``,!0),r(K).length?(f(),s(`div`,Pt,[l[32]||=o(`p`,{class:`micro`},`账号密码`,-1),(f(!0),s(p,null,c(r(K),(n,i)=>(f(),s(`div`,{key:i,class:`a-item`},[o(`div`,Ft,[n.role?(f(),s(`span`,It,h(n.role),1)):v(``,!0),o(`span`,Lt,h(n.username),1),o(`button`,{class:a([`cpy`,{ok:r(Q)===`acc-${i}`}]),onClick:e=>$(n.password?`账号:${n.username}\n密码:${n.password}`:n.username,`acc-${i}`)},[e(u,{name:r(Q)===`acc-${i}`?`i-lucide-check`:`i-lucide-copy`,class:`cpy-ic`},null,8,[`name`]),t(` `+h(r(Q)===`acc-${i}`?`已复制`:`复制`),1)],10,Rt)]),o(`div`,zt,[l[31]||=o(`span`,{class:`a-key`},`密码`,-1),n.password?(f(),s(`span`,Bt,h(n.password),1)):(f(),s(`span`,Vt,`无密码 / 走单点登录`))]),n.note?(f(),s(`p`,Ht,h(n.note),1)):v(``,!0)]))),128))])):v(``,!0)])])):v(``,!0),r(H).length?(f(),s(`section`,Ut,[o(`div`,Wt,[o(`span`,Gt,[e(u,{name:`i-lucide-terminal-square`,class:`s-svg`})]),l[33]||=o(`h2`,{class:`s-title`},`测试前准备`,-1),o(`span`,Kt,h(r(H).length),1),l[34]||=o(`span`,{class:`s-hint`},`按顺序做完这些再开始点,命令可直接复制`,-1)]),o(`ol`,qt,[(f(!0),s(p,null,c(r(H),(n,i)=>(f(),s(`li`,{key:i},[o(`div`,Jt,[o(`p`,Yt,h(n.step),1),n.command?(f(),s(`div`,Xt,[o(`code`,Zt,h(n.command),1),o(`button`,{class:a([`cpy`,{ok:r(Q)===`cmd-${i}`}]),onClick:e=>$(n.command??``,`cmd-${i}`)},[e(u,{name:r(Q)===`cmd-${i}`?`i-lucide-check`:`i-lucide-copy`,class:`cpy-ic`},null,8,[`name`]),t(` `+h(r(Q)===`cmd-${i}`?`已复制`:`复制`),1)],10,Qt)])):v(``,!0),n.note?(f(),s(`p`,$t,h(n.note),1)):v(``,!0)])]))),128))])])):v(``,!0),o(`section`,en,[o(`div`,tn,[o(`span`,nn,[e(u,{name:`i-lucide-flask-conical`,class:`s-svg`})]),l[35]||=o(`h2`,{class:`s-title`},`测试场景`,-1),o(`span`,rn,h(r(V).length),1),l[36]||=o(`span`,{class:`s-hint`},`一条一段:照着步骤走,末尾那句就是验收标准`,-1)]),r(V).length?(f(),s(`div`,on,[(f(!0),s(p,null,c(r(V),(n,r)=>(f(),s(`article`,{key:n.id??r,class:`sc lc-sc`},[o(`header`,sn,[o(`span`,S,h(n.id??`TC-${r+1}`),1),o(`h3`,cn,h(n.title),1)]),n.steps?.length?(f(),s(`div`,ln,[l[37]||=o(`p`,{class:`micro`},`测试步骤`,-1),o(`ol`,un,[(f(!0),s(p,null,c(n.steps,(e,t)=>(f(),s(`li`,{key:t},h(e),1))),128))])])):v(``,!0),o(`div`,dn,[o(`p`,fn,[e(u,{name:`i-lucide-badge-check`,class:`sc-acc-ic`}),l[38]||=t(`验收标准`,-1)]),o(`p`,pn,h(n.expect),1),n.acceptance||n.storyIds?.length?(f(),s(`div`,mn,[n.acceptance?(f(),s(`span`,hn,`对应验收:`+h(n.acceptance),1)):v(``,!0),n.storyIds?.length?(f(),s(`span`,gn,[(f(!0),s(p,null,c(n.storyIds,e=>(f(),g(d,{key:e,to:`/story/${e}`,class:`ent-id mono`},{default:m(()=>[t(h(e),1)]),_:2},1032,[`to`]))),128))])):v(``,!0)])):v(``,!0)])]))),128))])):(f(),s(`p`,an,`这次没有单独列测试场景。`))]),o(`div`,_n,[o(`section`,vn,[o(`div`,yn,[o(`span`,bn,[e(u,{name:`i-lucide-message-square-more`,class:`s-svg`})]),l[39]||=o(`h2`,{class:`s-title`},`说明`,-1),o(`span`,xn,h(r(U).length),1)]),o(`div`,Sn,[r(U).length?(f(),s(`ul`,wn,[(f(!0),s(p,null,c(r(U),(e,t)=>(f(),s(`li`,{key:t},h(e),1))),128))])):(f(),s(`p`,Cn,`没有额外说明。`))])]),r(W).length?(f(),s(`section`,Tn,[o(`div`,En,[o(`span`,Dn,[e(u,{name:`i-lucide-list-todo`,class:`s-svg`})]),l[40]||=o(`h2`,{class:`s-title`},`还没做的`,-1),o(`span`,On,h(r(W).length),1)]),o(`div`,kn,[o(`ul`,An,[(f(!0),s(p,null,c(r(W),(e,t)=>(f(),s(`li`,{key:t},h(e),1))),128))])])])):v(``,!0)])])):(f(),s(`div`,ye,[o(`span`,be,[e(u,{name:`i-lucide-clipboard-list`,class:`em-svg`})]),l[9]||=i(`<h2 class="em-title" data-v-ec811627>还没有交付记录</h2><p class="em-sub" data-v-ec811627> 每完成一项功能,AI 都要把「改了哪些故事与任务、额外做了什么、验了什么、怎么测」 写进下面这个文件,这一页就会自动排出来。 </p><p class="em-path mono" data-v-ec811627>agile/last-change.json</p><p class="em-note" data-v-ec811627> 每次只保留最近一次(覆盖写,不追加)· 格式见 <span class="mono" data-v-ec811627>.agents/skills/scrum-planning/references/schema.md</span> 第 4 节 </p>`,4)])),(f(),g(re,{to:`body`},[r(O)?(f(),s(`div`,{key:0,class:`lc-hist-mask`,onClick:l[2]||=y(e=>O.value=!1,[`self`])},[o(`div`,jn,[o(`header`,Mn,[o(`div`,Nn,[l[44]||=o(`h3`,{id:`lc-hist-title`,class:`lc-hist-title`},`历史版本`,-1),o(`p`,Pn,[l[41]||=t(` 从 git 里读 `,-1),l[42]||=o(`span`,{class:`mono`},`agile/last-change.json`,-1),l[43]||=t(` 的提交记录 `,-1),r(D).length?(f(),s(p,{key:0},[t(`· 共 `+h(r(D).length)+` 版`,1)],64)):v(``,!0)])]),o(`button`,{class:`lc-hist-x`,"aria-label":`关闭`,onClick:l[0]||=e=>O.value=!1},[e(u,{name:`i-lucide-x`,class:`lc-hist-x-ic`})])]),r(A)?(f(),s(`p`,Fn,h(r(A)),1)):r(k)?(f(),s(`div`,In,`正在读 git 历史…`)):(f(),s(`div`,Ln,[(f(!0),s(p,null,c(r(D),(e,t)=>(f(),s(`button`,{key:e.hash,class:a([`hist-item`,{on:r(w)?.hash===e.hash}]),disabled:r(j),onClick:t=>N(e)},[o(`span`,{class:a([`hist-item-dot`,{live:t===0}])},null,2),o(`span`,zn,[o(`b`,null,h(e.subject||`(没有提交说明)`),1),o(`i`,Bn,h(e.date),1)]),o(`span`,Vn,h(e.short),1)],10,Rn))),128)),r(D).length?v(``,!0):(f(),s(`p`,Hn,` 这个文件还没有提交记录 —— 先 commit 一次,历史里才会出现版本。 `))])),o(`footer`,Un,[l[45]||=o(`span`,{class:`dim`},`选一个版本即可在页面上只读查看,不会改动文件。`,-1),o(`button`,{class:`hist-close`,onClick:l[1]||=e=>O.value=!1},`关闭`)])])])):v(``,!0)]))],64)}}}),[[`__scopeId`,`data-v-ec811627`]]);export{C as default};
@@ -1 +1 @@
1
- import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./oXSDGTSr.js";import{n as s,t as c}from"./Baq-Hrpf.js";var l={base:`[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md`},u={__name:`ProseTr`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.tr`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.tr||{}}));return(r,o)=>(i(),n(`tr`,{class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u as default};
1
+ import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./Csqgy925.js";import{n as s,t as c}from"./6gFtTBwm.js";var l={base:`[&:first-child>th:first-child]:rounded-ss-md [&:first-child>th:last-child]:rounded-se-md [&:last-child>td:first-child]:rounded-es-md [&:last-child>td:last-child]:rounded-ee-md`},u={__name:`ProseTr`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.tr`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.tr||{}}));return(r,o)=>(i(),n(`tr`,{class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u as default};
@@ -1 +1 @@
1
- import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./oXSDGTSr.js";import{n as s,t as c}from"./Baq-Hrpf.js";var l={base:`my-1.5 ps-1.5 leading-7 [&>ul]:my-0`},u={__name:`ProseLi`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.li`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.li||{}}));return(r,o)=>(i(),n(`li`,{class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u as default};
1
+ import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./Csqgy925.js";import{n as s,t as c}from"./6gFtTBwm.js";var l={base:`my-1.5 ps-1.5 leading-7 [&>ul]:my-0`},u={__name:`ProseLi`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.li`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.li||{}}));return(r,o)=>(i(),n(`li`,{class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u 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"./oXSDGTSr.js";import{n as d,t as f}from"./Baq-Hrpf.js";import{t as p}from"./BsNk4K6P.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"./B6Iz-Z6W.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,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./oXSDGTSr.js";import{n as s,t as c}from"./Baq-Hrpf.js";var l={base:`border-s-4 border-accented ps-4 italic`},u={__name:`ProseBlockquote`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.blockquote`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.blockquote||{}}));return(r,o)=>(i(),n(`blockquote`,{class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u as default};
1
+ import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./Csqgy925.js";import{n as s,t as c}from"./6gFtTBwm.js";var l={base:`border-s-4 border-accented ps-4 italic`},u={__name:`ProseBlockquote`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.blockquote`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.blockquote||{}}));return(r,o)=>(i(),n(`blockquote`,{class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u as default};
@@ -1 +1 @@
1
- import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./oXSDGTSr.js";import{n as s,t as c}from"./Baq-Hrpf.js";var l={base:`my-5 leading-7 text-pretty`},u={__name:`ProseP`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.p`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.p||{}}));return(r,o)=>(i(),n(`p`,{class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u as default};
1
+ import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./Csqgy925.js";import{n as s,t as c}from"./6gFtTBwm.js";var l={base:`my-5 leading-7 text-pretty`},u={__name:`ProseP`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.p`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.p||{}}));return(r,o)=>(i(),n(`p`,{class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u as default};
@@ -1 +1 @@
1
- import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./oXSDGTSr.js";import{n as s,t as c}from"./Baq-Hrpf.js";var l={base:``},u={__name:`ProseStrong`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.strong`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.strong||{}}));return(r,o)=>(i(),n(`strong`,{class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u as default};
1
+ import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./Csqgy925.js";import{n as s,t as c}from"./6gFtTBwm.js";var l={base:``},u={__name:`ProseStrong`,props:{class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.strong`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.strong||{}}));return(r,o)=>(i(),n(`strong`,{class:t(p.value({class:[e(d).ui?.base,e(d).class]}))},[a(r.$slots,`default`)],2))}};export{u as default};
@@ -1 +1 @@
1
- import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./oXSDGTSr.js";import{n as s,t as c}from"./Baq-Hrpf.js";var l={base:`ms-4 border-s border-default ps-8 [counter-reset:step]`,variants:{level:{2:`[&>h2]:[counter-increment:step] [&>h2]:relative [&>h2]:before:absolute [&>h2]:before:size-8 [&>h2]:before:bg-elevated [&>h2]:before:rounded-full [&>h2]:before:font-semibold [&>h2]:before:text-sm [&>h2]:before:tabular-nums [&>h2]:before:inline-flex [&>h2]:before:items-center [&>h2]:before:justify-center [&>h2]:before:ring-4 [&>h2]:before:ring-bg [&>h2]:before:-ms-[48.5px] [&>h2]:before:mt-0 [&>h2]:before:content-[counter(step)] [&>h2>a>span.absolute]:hidden`,3:`[&>h3]:[counter-increment:step] [&>h3]:relative [&>h3]:before:absolute [&>h3]:before:size-7 [&>h3]:before:inset-x-0.5 [&>h3]:before:bg-elevated [&>h3]:before:rounded-full [&>h3]:before:font-semibold [&>h3]:before:text-sm [&>h3]:before:tabular-nums [&>h3]:before:inline-flex [&>h3]:before:items-center [&>h3]:before:justify-center [&>h3]:before:ring-4 [&>h3]:before:ring-bg [&>h3]:before:-ms-[48.5px] [&>h3]:before:content-[counter(step)] [&>h3>a>span.absolute]:hidden`,4:`[&>h4]:[counter-increment:step] [&>h4]:relative [&>h4]:before:absolute [&>h4]:before:size-7 [&>h4]:before:inset-x-0.5 [&>h4]:before:bg-elevated [&>h4]:before:rounded-full [&>h4]:before:font-semibold [&>h4]:before:text-sm [&>h4]:before:tabular-nums [&>h4]:before:inline-flex [&>h4]:before:items-center [&>h4]:before:justify-center [&>h4]:before:ring-4 [&>h4]:before:ring-bg [&>h4]:before:-ms-[48.5px] [&>h4]:before:content-[counter(step)] [&>h4>a>span.absolute]:hidden`}},defaultVariants:{level:`3`}},u={__name:`ProseSteps`,props:{level:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.steps`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.steps||{}}));return(r,o)=>(i(),n(`div`,{class:t(p.value({class:[e(d).ui?.base,e(d).class],level:e(d).level}))},[a(r.$slots,`default`)],2))}};export{u as default};
1
+ import{On as e,Zn as t,b as n,g as r,mt as i,xt as a}from"./DZo3dYLJ.js";import{r as o}from"./Csqgy925.js";import{n as s,t as c}from"./6gFtTBwm.js";var l={base:`ms-4 border-s border-default ps-8 [counter-reset:step]`,variants:{level:{2:`[&>h2]:[counter-increment:step] [&>h2]:relative [&>h2]:before:absolute [&>h2]:before:size-8 [&>h2]:before:bg-elevated [&>h2]:before:rounded-full [&>h2]:before:font-semibold [&>h2]:before:text-sm [&>h2]:before:tabular-nums [&>h2]:before:inline-flex [&>h2]:before:items-center [&>h2]:before:justify-center [&>h2]:before:ring-4 [&>h2]:before:ring-bg [&>h2]:before:-ms-[48.5px] [&>h2]:before:mt-0 [&>h2]:before:content-[counter(step)] [&>h2>a>span.absolute]:hidden`,3:`[&>h3]:[counter-increment:step] [&>h3]:relative [&>h3]:before:absolute [&>h3]:before:size-7 [&>h3]:before:inset-x-0.5 [&>h3]:before:bg-elevated [&>h3]:before:rounded-full [&>h3]:before:font-semibold [&>h3]:before:text-sm [&>h3]:before:tabular-nums [&>h3]:before:inline-flex [&>h3]:before:items-center [&>h3]:before:justify-center [&>h3]:before:ring-4 [&>h3]:before:ring-bg [&>h3]:before:-ms-[48.5px] [&>h3]:before:content-[counter(step)] [&>h3>a>span.absolute]:hidden`,4:`[&>h4]:[counter-increment:step] [&>h4]:relative [&>h4]:before:absolute [&>h4]:before:size-7 [&>h4]:before:inset-x-0.5 [&>h4]:before:bg-elevated [&>h4]:before:rounded-full [&>h4]:before:font-semibold [&>h4]:before:text-sm [&>h4]:before:tabular-nums [&>h4]:before:inline-flex [&>h4]:before:items-center [&>h4]:before:justify-center [&>h4]:before:ring-4 [&>h4]:before:ring-bg [&>h4]:before:-ms-[48.5px] [&>h4]:before:content-[counter(step)] [&>h4>a>span.absolute]:hidden`}},defaultVariants:{level:`3`}},u={__name:`ProseSteps`,props:{level:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(u){let d=s(`prose.steps`,u),f=o(),p=r(()=>c({extend:l,...f.ui?.prose?.steps||{}}));return(r,o)=>(i(),n(`div`,{class:t(p.value({class:[e(d).ui?.base,e(d).class],level:e(d).level}))},[a(r.$slots,`default`)],2))}};export{u as default};
@@ -1 +1 @@
1
- import{D as e,E as t,On as n,T as r,Zn as i,_ as a,b as o,bt as s,er as c,g as l,k as u,mt as d,o as f,qt as p,tr as m,y as h}from"./DZo3dYLJ.js";import{t as ee}from"./BJW3UkS7.js";import{t as te}from"./D2zrOcWn.js";import{a as g,i as _,o as v,r as ne,s as y}from"#entry";var re={class:`kpis`},ie={class:`v`},ae={class:`v`},oe={class:`v`},se={class:`v`},ce={class:`v mono`},le={class:`card gantt`},ue={class:`ticks`},de={class:`track`},fe={class:`label`},pe={class:`lane`},me={class:`grid-lines`},he=[`title`],ge={class:`track-hd`},_e={class:`tag tag-neutral mono`},ve={class:`dim`},ye={class:`grow-row`},b={class:`label`},x={class:`tag tag-ghost`},S={class:`lane`},C={class:`grid-lines`},w={class:`label`},T=[`title`],E=[`title`],D={class:`pts mono dim`},O={class:`lane`},k={class:`grid-lines`},A={class:`track last`},j={class:`label`},M={class:`dim pts mono`},N={class:`tag tag-neutral`},P={class:`lane`},be={class:`grid-lines`},xe={class:`extra`},Se={key:0,class:`card`},Ce={class:`card-hd`},we={class:`h2`},Te={class:`tag tag-neutral`},Ee={class:`card-bd`},De={class:`list`},Oe={class:`dep-txt`},ke={class:`dep-txt dim`},F={key:1,class:`card`},Ae={class:`card-hd`},je={class:`h2`},Me={class:`tag tag-error`},Ne={class:`card-bd`},Pe={class:`list`},Fe={class:`dep-txt`},Ie={class:`dim`},I=_(u({__name:`gantt`,setup(u){let{sprints:_,stories:I,milestones:L,storyById:R,actualRange:z,progress:B,addDays:Le,diffDays:V,md:H,now:U,MS_COLOR:Re,MS_LABEL:ze,KIND_LABEL:Be,KIND_ICON:Ve,STATE_LABEL:He,STATE_DOT:W,dependencyPairs:G,blockedStories:K}=y(),Ue=l(()=>_.value.map(e=>({id:e.id,name:e.name,start:e.start,end:e.end,rows:(e.stories??[]).map(e=>R.value.get(e)).filter(Boolean).map(e=>({...e,actual:z(e),prog:B(e)}))}))),q=l(()=>I.value.filter(e=>e.schedule)),We=l(()=>I.value.filter(e=>!e.schedule)),J=l(()=>[..._.value.map(e=>e.start),...q.value.map(e=>e.schedule.start),...L.value.map(e=>e.due)].sort()[0]??U),Ge=l(()=>{let e=[..._.value.map(e=>e.end),...q.value.map(e=>e.schedule.end),...L.value.map(e=>e.due)].sort();return e[e.length-1]??U}),Y=l(()=>Math.max(1,V(J.value,Ge.value)+1)),X=e=>V(J.value,e)/Y.value*100,Z=(e,t)=>({left:`${X(e)}%`,width:`${Math.max(1.1,(V(e,t)+1)/Y.value*100)}%`}),Q=l(()=>{let e=Y.value>90?14:Y.value>45?7:4,t=[];for(let n=0;n<=Y.value;n+=e)t.push({date:Le(J.value,n),x:n/Y.value*100});return t}),$=l(()=>X(U));return(l,u)=>{let y=ne,z=te,B=ee;return d(),o(`div`,null,[a(`div`,re,[a(`div`,{class:i([`kpi`,(`cardToneClass`in l?l.cardToneClass:n(v))(0)])},[e(y,{tone:(`cardTone`in l?l.cardTone:n(g))(0),size:`sm`},null,8,[`tone`]),u[1]||=a(`p`,{class:`k`},`迭代窗口`,-1),a(`p`,ie,[t(m(n(_).length),1),u[0]||=a(`small`,null,`个`,-1)])],2),a(`div`,{class:i([`kpi`,(`cardToneClass`in l?l.cardToneClass:n(v))(1)])},[e(y,{tone:(`cardTone`in l?l.cardTone:n(g))(1),size:`sm`},null,8,[`tone`]),u[3]||=a(`p`,{class:`k`},`里程碑`,-1),a(`p`,ae,[t(m(n(L).length),1),u[2]||=a(`small`,null,`个`,-1)])],2),a(`div`,{class:i([`kpi`,(`cardToneClass`in l?l.cardToneClass:n(v))(2)])},[e(y,{tone:(`cardTone`in l?l.cardTone:n(g))(2),size:`sm`},null,8,[`tone`]),u[4]||=a(`p`,{class:`k`},`已排期故事`,-1),a(`p`,oe,[t(m(n(q).length),1),a(`small`,null,`/ `+m(n(I).length),1)])],2),a(`div`,{class:i([`kpi`,(`cardToneClass`in l?l.cardToneClass:n(v))(3)])},[e(y,{tone:(`cardTone`in l?l.cardTone:n(g))(3),size:`sm`},null,8,[`tone`]),u[6]||=a(`p`,{class:`k`},`时间跨度`,-1),a(`p`,se,[t(m(n(Y)),1),u[5]||=a(`small`,null,`天`,-1)])],2),a(`div`,{class:i([`kpi`,(`cardToneClass`in l?l.cardToneClass:n(v))(4)])},[e(y,{tone:(`cardTone`in l?l.cardTone:n(g))(4),size:`sm`},null,8,[`tone`]),u[7]||=a(`p`,{class:`k`},`今天`,-1),a(`p`,ce,m(n(U)),1)],2)]),a(`div`,le,[u[11]||=r(`<div class="gantt-hd" data-v-719eb5d7><h2 class="h2" data-v-719eb5d7>时间轴</h2><div class="legend" data-v-719eb5d7><span class="lg" data-v-719eb5d7><i class="sw plan" data-v-719eb5d7></i>计划</span><span class="lg" data-v-719eb5d7><i class="sw real" data-v-719eb5d7></i>实际</span><span class="lg" data-v-719eb5d7><i class="sw ms" data-v-719eb5d7></i>里程碑</span><span class="lg" data-v-719eb5d7><i class="sw mvp" data-v-719eb5d7></i>MVP 节点</span><span class="lg" data-v-719eb5d7><i class="sw today" data-v-719eb5d7></i>今天</span></div></div>`,1),a(`div`,ue,[(d(!0),o(f,null,s(n(Q),e=>(d(),o(`div`,{key:e.date,class:`tick`,style:c({left:e.x+`%`})},[a(`span`,null,m(n(H)(e.date)),1)],4))),128)),a(`div`,{class:`today-line`,style:c({left:n($)+`%`})},null,4),a(`div`,{class:`today-flag`,style:c({left:n($)+`%`})},`今天 `+m(n(H)(n(U))),5)]),a(`section`,de,[u[8]||=a(`header`,{class:`track-hd`},`里程碑`,-1),(d(!0),o(f,null,s(n(L),r=>(d(),o(`div`,{key:r.id,class:`grow-row`},[a(`div`,fe,[a(`span`,{class:i([`tag`,r.kind===`mvp`?`tag-mint`:`tag-primary`])},[e(z,{name:n(Ve)[r.kind],class:`size-3`},null,8,[`name`]),t(m(n(Be)[r.kind]),1)],2),e(B,{to:`/milestones`,class:`lbl-txt`},{default:p(()=>[t(m(r.title),1)]),_:2},1024),a(`span`,{class:i([`tag`,`tag-${n(Re)[r.status]}`])},m(n(ze)[r.status]),3)]),a(`div`,pe,[a(`div`,me,[(d(!0),o(f,null,s(n(Q),e=>(d(),o(`span`,{key:e.date,style:c({left:e.x+`%`})},null,4))),128))]),a(`span`,{class:i([`diamond`,{mvp:r.kind===`mvp`}]),style:c({left:X(r.due)+`%`}),title:`${r.id} · ${r.due} · ${r.criteria}`},null,14,he)])]))),128))]),(d(!0),o(f,null,s(n(Ue),r=>(d(),o(`section`,{key:r.id,class:`track`},[a(`header`,ge,[a(`span`,_e,m(r.id),1),t(` `+m(r.name)+` `,1),a(`span`,ve,m(n(H)(r.start))+` ~ `+m(n(H)(r.end)),1)]),a(`div`,ye,[a(`div`,b,[a(`span`,x,[e(z,{name:`i-lucide-calendar-range`,class:`size-3`}),u[9]||=t(`迭代窗口`,-1)])]),a(`div`,S,[a(`div`,C,[(d(!0),o(f,null,s(n(Q),e=>(d(),o(`span`,{key:e.date,style:c({left:e.x+`%`})},null,4))),128))]),a(`div`,{class:`band`,style:c(Z(r.start,r.end))},null,4)])]),(d(!0),o(f,null,s(r.rows,r=>(d(),o(`div`,{key:r.id,class:`grow-row`},[a(`div`,w,[a(`i`,{class:`sdot`,style:c({background:n(W)[r.status]})},null,4),e(B,{to:`/story/${r.id}`,class:`lbl-txt`},{default:p(()=>[t(m(r.title),1)]),_:2},1032,[`to`]),r.dependsOn?.length?(d(),o(`span`,{key:0,class:`tag tag-secondary`,title:`依赖:${r.dependsOn.join(`、`)}`},m(r.dependsOn.length),9,T)):h(``,!0),r.blocked?(d(),o(`span`,{key:1,class:`tag tag-error`,title:`阻塞:${r.blocked.reason}(自 ${r.blocked.since})`},`!`,8,E)):h(``,!0),a(`span`,D,m(r.points)+` 点 · `+m(r.prog.done)+`/`+m(r.prog.total),1)]),a(`div`,O,[a(`div`,k,[(d(!0),o(f,null,s(n(Q),e=>(d(),o(`span`,{key:e.date,style:c({left:e.x+`%`})},null,4))),128))]),r.schedule?(d(),o(`div`,{key:0,class:`g-plan`,style:c(Z(r.schedule.start,r.schedule.end))},null,4)):h(``,!0),r.actual?(d(),o(`div`,{key:1,class:`g-real`,style:c(Z(r.actual.start,r.actual.end))},null,4)):h(``,!0)])]))),128))]))),128)),a(`section`,A,[u[10]||=a(`header`,{class:`track-hd`},`未排期(backlog)`,-1),(d(!0),o(f,null,s(n(We),r=>(d(),o(`div`,{key:r.id,class:`grow-row`},[a(`div`,j,[a(`i`,{class:`sdot`,style:c({background:n(W)[r.status]})},null,4),e(B,{to:`/story/${r.id}`,class:`lbl-txt`},{default:p(()=>[t(m(r.title),1)]),_:2},1032,[`to`]),a(`span`,M,m(r.points)+` 点`,1),a(`span`,N,m(n(He)[r.status]),1)]),a(`div`,P,[a(`div`,be,[(d(!0),o(f,null,s(n(Q),e=>(d(),o(`span`,{key:e.date,style:c({left:e.x+`%`})},null,4))),128))])])]))),128))])]),a(`div`,xe,[n(G).length?(d(),o(`div`,Se,[a(`div`,Ce,[a(`h2`,we,[e(z,{name:`i-lucide-git-branch`,class:`size-3.5`}),u[12]||=t(`依赖链`,-1)]),a(`span`,Te,m(n(G).length),1)]),a(`div`,Ee,[a(`ul`,De,[(d(!0),o(f,null,s(n(G),r=>(d(),o(`li`,{key:`${r.from}-${r.to}`},[e(B,{to:`/story/${r.to}`,class:`mono link`},{default:p(()=>[t(m(r.to),1)]),_:2},1032,[`to`]),a(`span`,Oe,m(n(R).get(r.to)?.title),1),e(z,{name:`i-lucide-arrow-left`,class:`size-3 dim`}),u[13]||=a(`span`,{class:`dim`},`依赖`,-1),e(B,{to:`/story/${r.from}`,class:`mono link`},{default:p(()=>[t(m(r.from),1)]),_:2},1032,[`to`]),a(`span`,ke,m(n(R).get(r.from)?.title),1)]))),128))])])])):h(``,!0),n(K).length?(d(),o(`div`,F,[a(`div`,Ae,[a(`h2`,je,[e(z,{name:`i-lucide-octagon-alert`,class:`size-3.5`}),u[14]||=t(`阻塞中`,-1)]),a(`span`,Me,m(n(K).length),1)]),a(`div`,Ne,[a(`ul`,Pe,[(d(!0),o(f,null,s(n(K),n=>(d(),o(`li`,{key:n.id},[u[15]||=a(`span`,{class:`tag tag-error tag-dot`},`阻塞`,-1),e(B,{to:`/story/${n.id}`,class:`mono link`},{default:p(()=>[t(m(n.id),1)]),_:2},1032,[`to`]),a(`span`,Fe,m(n.title),1),a(`span`,Ie,`· `+m(n.blocked.reason)+`(自 `+m(n.blocked.since)+`)`,1)]))),128))])])])):h(``,!0)])])}}}),[[`__scopeId`,`data-v-719eb5d7`]]);export{I as default};
1
+ import{D as e,E as t,On as n,T as r,Zn as i,_ as a,b as o,bt as s,er as c,g as l,k as u,mt as d,o as f,qt as p,tr as m,y as h}from"./DZo3dYLJ.js";import{t as ee}from"./CJ2mz0WY.js";import{t as te}from"./BO6qoy1z.js";import{a as g,i as _,o as v,r as ne,s as y}from"#entry";var re={class:`kpis`},ie={class:`v`},ae={class:`v`},oe={class:`v`},se={class:`v`},ce={class:`v mono`},le={class:`card gantt`},ue={class:`ticks`},de={class:`track`},fe={class:`label`},pe={class:`lane`},me={class:`grid-lines`},he=[`title`],ge={class:`track-hd`},_e={class:`tag tag-neutral mono`},ve={class:`dim`},ye={class:`grow-row`},b={class:`label`},x={class:`tag tag-ghost`},S={class:`lane`},C={class:`grid-lines`},w={class:`label`},T=[`title`],E=[`title`],D={class:`pts mono dim`},O={class:`lane`},k={class:`grid-lines`},A={class:`track last`},j={class:`label`},M={class:`dim pts mono`},N={class:`tag tag-neutral`},P={class:`lane`},be={class:`grid-lines`},xe={class:`extra`},Se={key:0,class:`card`},Ce={class:`card-hd`},we={class:`h2`},Te={class:`tag tag-neutral`},Ee={class:`card-bd`},De={class:`list`},Oe={class:`dep-txt`},ke={class:`dep-txt dim`},F={key:1,class:`card`},Ae={class:`card-hd`},je={class:`h2`},Me={class:`tag tag-error`},Ne={class:`card-bd`},Pe={class:`list`},Fe={class:`dep-txt`},Ie={class:`dim`},I=_(u({__name:`gantt`,setup(u){let{sprints:_,stories:I,milestones:L,storyById:R,actualRange:z,progress:B,addDays:Le,diffDays:V,md:H,now:U,MS_COLOR:Re,MS_LABEL:ze,KIND_LABEL:Be,KIND_ICON:Ve,STATE_LABEL:He,STATE_DOT:W,dependencyPairs:G,blockedStories:K}=y(),Ue=l(()=>_.value.map(e=>({id:e.id,name:e.name,start:e.start,end:e.end,rows:(e.stories??[]).map(e=>R.value.get(e)).filter(Boolean).map(e=>({...e,actual:z(e),prog:B(e)}))}))),q=l(()=>I.value.filter(e=>e.schedule)),We=l(()=>I.value.filter(e=>!e.schedule)),J=l(()=>[..._.value.map(e=>e.start),...q.value.map(e=>e.schedule.start),...L.value.map(e=>e.due)].sort()[0]??U),Ge=l(()=>{let e=[..._.value.map(e=>e.end),...q.value.map(e=>e.schedule.end),...L.value.map(e=>e.due)].sort();return e[e.length-1]??U}),Y=l(()=>Math.max(1,V(J.value,Ge.value)+1)),X=e=>V(J.value,e)/Y.value*100,Z=(e,t)=>({left:`${X(e)}%`,width:`${Math.max(1.1,(V(e,t)+1)/Y.value*100)}%`}),Q=l(()=>{let e=Y.value>90?14:Y.value>45?7:4,t=[];for(let n=0;n<=Y.value;n+=e)t.push({date:Le(J.value,n),x:n/Y.value*100});return t}),$=l(()=>X(U));return(l,u)=>{let y=ne,z=te,B=ee;return d(),o(`div`,null,[a(`div`,re,[a(`div`,{class:i([`kpi`,(`cardToneClass`in l?l.cardToneClass:n(v))(0)])},[e(y,{tone:(`cardTone`in l?l.cardTone:n(g))(0),size:`sm`},null,8,[`tone`]),u[1]||=a(`p`,{class:`k`},`迭代窗口`,-1),a(`p`,ie,[t(m(n(_).length),1),u[0]||=a(`small`,null,`个`,-1)])],2),a(`div`,{class:i([`kpi`,(`cardToneClass`in l?l.cardToneClass:n(v))(1)])},[e(y,{tone:(`cardTone`in l?l.cardTone:n(g))(1),size:`sm`},null,8,[`tone`]),u[3]||=a(`p`,{class:`k`},`里程碑`,-1),a(`p`,ae,[t(m(n(L).length),1),u[2]||=a(`small`,null,`个`,-1)])],2),a(`div`,{class:i([`kpi`,(`cardToneClass`in l?l.cardToneClass:n(v))(2)])},[e(y,{tone:(`cardTone`in l?l.cardTone:n(g))(2),size:`sm`},null,8,[`tone`]),u[4]||=a(`p`,{class:`k`},`已排期故事`,-1),a(`p`,oe,[t(m(n(q).length),1),a(`small`,null,`/ `+m(n(I).length),1)])],2),a(`div`,{class:i([`kpi`,(`cardToneClass`in l?l.cardToneClass:n(v))(3)])},[e(y,{tone:(`cardTone`in l?l.cardTone:n(g))(3),size:`sm`},null,8,[`tone`]),u[6]||=a(`p`,{class:`k`},`时间跨度`,-1),a(`p`,se,[t(m(n(Y)),1),u[5]||=a(`small`,null,`天`,-1)])],2),a(`div`,{class:i([`kpi`,(`cardToneClass`in l?l.cardToneClass:n(v))(4)])},[e(y,{tone:(`cardTone`in l?l.cardTone:n(g))(4),size:`sm`},null,8,[`tone`]),u[7]||=a(`p`,{class:`k`},`今天`,-1),a(`p`,ce,m(n(U)),1)],2)]),a(`div`,le,[u[11]||=r(`<div class="gantt-hd" data-v-719eb5d7><h2 class="h2" data-v-719eb5d7>时间轴</h2><div class="legend" data-v-719eb5d7><span class="lg" data-v-719eb5d7><i class="sw plan" data-v-719eb5d7></i>计划</span><span class="lg" data-v-719eb5d7><i class="sw real" data-v-719eb5d7></i>实际</span><span class="lg" data-v-719eb5d7><i class="sw ms" data-v-719eb5d7></i>里程碑</span><span class="lg" data-v-719eb5d7><i class="sw mvp" data-v-719eb5d7></i>MVP 节点</span><span class="lg" data-v-719eb5d7><i class="sw today" data-v-719eb5d7></i>今天</span></div></div>`,1),a(`div`,ue,[(d(!0),o(f,null,s(n(Q),e=>(d(),o(`div`,{key:e.date,class:`tick`,style:c({left:e.x+`%`})},[a(`span`,null,m(n(H)(e.date)),1)],4))),128)),a(`div`,{class:`today-line`,style:c({left:n($)+`%`})},null,4),a(`div`,{class:`today-flag`,style:c({left:n($)+`%`})},`今天 `+m(n(H)(n(U))),5)]),a(`section`,de,[u[8]||=a(`header`,{class:`track-hd`},`里程碑`,-1),(d(!0),o(f,null,s(n(L),r=>(d(),o(`div`,{key:r.id,class:`grow-row`},[a(`div`,fe,[a(`span`,{class:i([`tag`,r.kind===`mvp`?`tag-mint`:`tag-primary`])},[e(z,{name:n(Ve)[r.kind],class:`size-3`},null,8,[`name`]),t(m(n(Be)[r.kind]),1)],2),e(B,{to:`/milestones`,class:`lbl-txt`},{default:p(()=>[t(m(r.title),1)]),_:2},1024),a(`span`,{class:i([`tag`,`tag-${n(Re)[r.status]}`])},m(n(ze)[r.status]),3)]),a(`div`,pe,[a(`div`,me,[(d(!0),o(f,null,s(n(Q),e=>(d(),o(`span`,{key:e.date,style:c({left:e.x+`%`})},null,4))),128))]),a(`span`,{class:i([`diamond`,{mvp:r.kind===`mvp`}]),style:c({left:X(r.due)+`%`}),title:`${r.id} · ${r.due} · ${r.criteria}`},null,14,he)])]))),128))]),(d(!0),o(f,null,s(n(Ue),r=>(d(),o(`section`,{key:r.id,class:`track`},[a(`header`,ge,[a(`span`,_e,m(r.id),1),t(` `+m(r.name)+` `,1),a(`span`,ve,m(n(H)(r.start))+` ~ `+m(n(H)(r.end)),1)]),a(`div`,ye,[a(`div`,b,[a(`span`,x,[e(z,{name:`i-lucide-calendar-range`,class:`size-3`}),u[9]||=t(`迭代窗口`,-1)])]),a(`div`,S,[a(`div`,C,[(d(!0),o(f,null,s(n(Q),e=>(d(),o(`span`,{key:e.date,style:c({left:e.x+`%`})},null,4))),128))]),a(`div`,{class:`band`,style:c(Z(r.start,r.end))},null,4)])]),(d(!0),o(f,null,s(r.rows,r=>(d(),o(`div`,{key:r.id,class:`grow-row`},[a(`div`,w,[a(`i`,{class:`sdot`,style:c({background:n(W)[r.status]})},null,4),e(B,{to:`/story/${r.id}`,class:`lbl-txt`},{default:p(()=>[t(m(r.title),1)]),_:2},1032,[`to`]),r.dependsOn?.length?(d(),o(`span`,{key:0,class:`tag tag-secondary`,title:`依赖:${r.dependsOn.join(`、`)}`},m(r.dependsOn.length),9,T)):h(``,!0),r.blocked?(d(),o(`span`,{key:1,class:`tag tag-error`,title:`阻塞:${r.blocked.reason}(自 ${r.blocked.since})`},`!`,8,E)):h(``,!0),a(`span`,D,m(r.points)+` 点 · `+m(r.prog.done)+`/`+m(r.prog.total),1)]),a(`div`,O,[a(`div`,k,[(d(!0),o(f,null,s(n(Q),e=>(d(),o(`span`,{key:e.date,style:c({left:e.x+`%`})},null,4))),128))]),r.schedule?(d(),o(`div`,{key:0,class:`g-plan`,style:c(Z(r.schedule.start,r.schedule.end))},null,4)):h(``,!0),r.actual?(d(),o(`div`,{key:1,class:`g-real`,style:c(Z(r.actual.start,r.actual.end))},null,4)):h(``,!0)])]))),128))]))),128)),a(`section`,A,[u[10]||=a(`header`,{class:`track-hd`},`未排期(backlog)`,-1),(d(!0),o(f,null,s(n(We),r=>(d(),o(`div`,{key:r.id,class:`grow-row`},[a(`div`,j,[a(`i`,{class:`sdot`,style:c({background:n(W)[r.status]})},null,4),e(B,{to:`/story/${r.id}`,class:`lbl-txt`},{default:p(()=>[t(m(r.title),1)]),_:2},1032,[`to`]),a(`span`,M,m(r.points)+` 点`,1),a(`span`,N,m(n(He)[r.status]),1)]),a(`div`,P,[a(`div`,be,[(d(!0),o(f,null,s(n(Q),e=>(d(),o(`span`,{key:e.date,style:c({left:e.x+`%`})},null,4))),128))])])]))),128))])]),a(`div`,xe,[n(G).length?(d(),o(`div`,Se,[a(`div`,Ce,[a(`h2`,we,[e(z,{name:`i-lucide-git-branch`,class:`size-3.5`}),u[12]||=t(`依赖链`,-1)]),a(`span`,Te,m(n(G).length),1)]),a(`div`,Ee,[a(`ul`,De,[(d(!0),o(f,null,s(n(G),r=>(d(),o(`li`,{key:`${r.from}-${r.to}`},[e(B,{to:`/story/${r.to}`,class:`mono link`},{default:p(()=>[t(m(r.to),1)]),_:2},1032,[`to`]),a(`span`,Oe,m(n(R).get(r.to)?.title),1),e(z,{name:`i-lucide-arrow-left`,class:`size-3 dim`}),u[13]||=a(`span`,{class:`dim`},`依赖`,-1),e(B,{to:`/story/${r.from}`,class:`mono link`},{default:p(()=>[t(m(r.from),1)]),_:2},1032,[`to`]),a(`span`,ke,m(n(R).get(r.from)?.title),1)]))),128))])])])):h(``,!0),n(K).length?(d(),o(`div`,F,[a(`div`,Ae,[a(`h2`,je,[e(z,{name:`i-lucide-octagon-alert`,class:`size-3.5`}),u[14]||=t(`阻塞中`,-1)]),a(`span`,Me,m(n(K).length),1)]),a(`div`,Ne,[a(`ul`,Pe,[(d(!0),o(f,null,s(n(K),n=>(d(),o(`li`,{key:n.id},[u[15]||=a(`span`,{class:`tag tag-error tag-dot`},`阻塞`,-1),e(B,{to:`/story/${n.id}`,class:`mono link`},{default:p(()=>[t(m(n.id),1)]),_:2},1032,[`to`]),a(`span`,Fe,m(n.title),1),a(`span`,Ie,`· `+m(n.blocked.reason)+`(自 `+m(n.blocked.since)+`)`,1)]))),128))])])])):h(``,!0)])])}}}),[[`__scopeId`,`data-v-719eb5d7`]]);export{I as default};