@thxgg/steward 0.1.22 → 0.1.23

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 (45) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{BhBgWPCX.js → 6tINjQEd.js} +1 -1
  3. package/.output/public/_nuxt/{DUrbBKgG.js → B2mIQf5X.js} +1 -1
  4. package/.output/public/_nuxt/{CL_YIWu4.js → BRQ9Cxaw.js} +1 -1
  5. package/.output/public/_nuxt/{okqELTtf.js → BTmXUZ_s.js} +1 -1
  6. package/.output/public/_nuxt/{B4iDhohi.js → Bc2V3wPK.js} +2 -2
  7. package/.output/public/_nuxt/{BuvhTQbX.js → BknRrWsw.js} +1 -1
  8. package/.output/public/_nuxt/{HZy5mmMm.js → C0BBSDJ7.js} +1 -1
  9. package/.output/public/_nuxt/{Du8Y9zEm.js → C53_p0K1.js} +1 -1
  10. package/.output/public/_nuxt/{C_Sxjx0M.js → C73kduX-.js} +1 -1
  11. package/.output/public/_nuxt/{C_5PUO5r.js → CN46Bgts.js} +1 -1
  12. package/.output/public/_nuxt/{DQivOuJJ.js → CTJgb0zb.js} +1 -1
  13. package/.output/public/_nuxt/{rTDTR03M.js → Cce168lk.js} +5 -5
  14. package/.output/public/_nuxt/{CjDuB5VD.js → CyVSeLw5.js} +1 -1
  15. package/.output/public/_nuxt/{CZWhz2fI.js → T11EuTtn.js} +1 -1
  16. package/.output/public/_nuxt/{rG99Mq9f.js → U78rMDmo.js} +1 -1
  17. package/.output/public/_nuxt/{BQBm6AsP.js → ZNypZshD.js} +1 -1
  18. package/.output/public/_nuxt/builds/latest.json +1 -1
  19. package/.output/public/_nuxt/builds/meta/bd99c09c-d991-4bcb-8c66-ab2088e1da03.json +1 -0
  20. package/.output/public/_nuxt/entry.Bw0CE6Iz.css +1 -0
  21. package/.output/public/_nuxt/{CuOw9LiK.js → pYJYAY-W.js} +3 -3
  22. package/.output/server/chunks/_/watcher.mjs +6 -1
  23. package/.output/server/chunks/_/watcher.mjs.map +1 -1
  24. package/.output/server/chunks/build/{Detail-B7yBNjgp.mjs → Detail-DMMUwTWr.mjs} +11 -11
  25. package/.output/server/chunks/build/Detail-DMMUwTWr.mjs.map +1 -0
  26. package/.output/server/chunks/build/{_prd_-DY25apyl.mjs → _prd_-ByugK4Yi.mjs} +3 -2
  27. package/.output/server/chunks/build/_prd_-ByugK4Yi.mjs.map +1 -0
  28. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  29. package/.output/server/chunks/build/nuxt-link-SvT1nf8Z.mjs +1 -1
  30. package/.output/server/chunks/build/{repo-graph-CUcJKW1F.mjs → repo-graph-DzT45gSB.mjs} +2 -2
  31. package/.output/server/chunks/build/repo-graph-DzT45gSB.mjs.map +1 -0
  32. package/.output/server/chunks/build/server.mjs +3 -3
  33. package/.output/server/chunks/build/usePrd-hXZOmvAv.mjs +1 -1
  34. package/.output/server/chunks/nitro/nitro.mjs +796 -687
  35. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  36. package/.output/server/chunks/routes/renderer.mjs +1 -1
  37. package/.output/server/index.mjs +1 -1
  38. package/.output/server/package.json +1 -1
  39. package/dist/server/utils/change-events.js +117 -0
  40. package/package.json +1 -1
  41. package/.output/public/_nuxt/builds/meta/3e08a0b0-262b-4fb5-b213-4aa35df11afb.json +0 -1
  42. package/.output/public/_nuxt/entry.xHdymH38.css +0 -1
  43. package/.output/server/chunks/build/Detail-B7yBNjgp.mjs.map +0 -1
  44. package/.output/server/chunks/build/_prd_-DY25apyl.mjs.map +0 -1
  45. package/.output/server/chunks/build/repo-graph-CUcJKW1F.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import{_ as Ns}from"./DQivOuJJ.js";import{u as ts,c as ns,a as ss,b as Dt,P as zs,B as on,C as as,d as Fs,e as Bs,L as Us,R as qs,G as Hs}from"./DUrbBKgG.js";import{c as gt,d as rs,P as Qe,e as be,r as Pt,u as Gs,a as js,b as Vs,B as jt,F as Ws}from"./C_5PUO5r.js";import{C as Ys,E as $n,M as Mn,a as Nn,b as Zs,_ as Ks,c as Qs}from"./rTDTR03M.js";import{g as F,v as cn,o as y,x as te,w as C,b as A,l as c,y as K,q as z,z as Rt,A as ls,s as $,B as Xs,C as Js,D as ea,E as ta,n as me,G as na,p as sa,c as D,a as P,t as ee,d as Pe,k as Fe,H as ke,I as is,F as os,r as cs,J as aa,K as ra,L as Ot,M as la,j as ia,m as zn,i as oa}from"./B4iDhohi.js";import{c as ca}from"./BQBm6AsP.js";import{u as us,f as ps,E as ua,a as pa,g as da,w as fa,A as Fn}from"./CjDuB5VD.js";import{_ as ha}from"./DlAUqK2U.js";import"./Du8Y9zEm.js";const ga=gt("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);const ma=gt("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);const ka=gt("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);const Bn=gt("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);const ba=gt("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),[_a,xa]=ns("RovingFocusGroup");var ya=F({__name:"RovingFocusGroup",props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["entryFocus","update:currentTabStopId"],setup(s,{expose:e,emit:t}){const a=s,n=t,{loop:i,orientation:l,dir:u}=cn(a),o=ts(u),d=rs(a,"currentTabStopId",n,{defaultValue:a.defaultCurrentTabStopId,passive:a.currentTabStopId===void 0}),p=z(!1),h=z(!1),k=z(0),{getItems:w,CollectionSlot:x}=us({isProvider:!0});function H(O){const T=!h.value;if(O.currentTarget&&O.target===O.currentTarget&&T&&!p.value){const L=new CustomEvent(ua,pa);if(O.currentTarget.dispatchEvent(L),n("entryFocus",L),!L.defaultPrevented){const E=w().map(Y=>Y.ref).filter(Y=>Y.dataset.disabled!==""),le=E.find(Y=>Y.getAttribute("data-active")===""),Q=E.find(Y=>Y.getAttribute("data-highlighted")===""),oe=E.find(Y=>Y.id===d.value),X=[le,Q,oe,...E].filter(Boolean);ps(X,a.preventScrollOnEntryFocus)}}h.value=!1}function G(){setTimeout(()=>{h.value=!1},1)}return e({getItems:w}),xa({loop:i,dir:o,orientation:l,currentTabStopId:d,onItemFocus:O=>{d.value=O},onItemShiftTab:()=>{p.value=!0},onFocusableItemAdd:()=>{k.value++},onFocusableItemRemove:()=>{k.value--}}),(O,T)=>(y(),te(c(x),null,{default:C(()=>[A(c(Qe),{tabindex:p.value||k.value===0?-1:0,"data-orientation":c(l),as:O.as,"as-child":O.asChild,dir:c(o),style:{outline:"none"},onMousedown:T[0]||(T[0]=L=>h.value=!0),onMouseup:G,onFocus:H,onBlur:T[1]||(T[1]=L=>p.value=!1)},{default:C(()=>[K(O.$slots,"default")]),_:3},8,["tabindex","data-orientation","as","as-child","dir"])]),_:3}))}}),Ta=ya,va=F({__name:"RovingFocusItem",props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(s){const e=s,t=_a(),a=ss(),n=$(()=>e.tabStopId||a),i=$(()=>t.currentTabStopId.value===n.value),{getItems:l,CollectionItem:u}=us();Rt(()=>{e.focusable&&t.onFocusableItemAdd()}),ls(()=>{e.focusable&&t.onFocusableItemRemove()});function o(d){if(d.key==="Tab"&&d.shiftKey){t.onItemShiftTab();return}if(d.target!==d.currentTarget)return;const p=da(d,t.orientation.value,t.dir.value);if(p!==void 0){if(d.metaKey||d.ctrlKey||d.altKey||!e.allowShiftKey&&d.shiftKey)return;d.preventDefault();let h=[...l().map(k=>k.ref).filter(k=>k.dataset.disabled!=="")];if(p==="last")h.reverse();else if(p==="prev"||p==="next"){p==="prev"&&h.reverse();const k=h.indexOf(d.currentTarget);h=t.loop.value?fa(h,k+1):h.slice(k+1)}Xs(()=>ps(h))}}return(d,p)=>(y(),te(c(u),null,{default:C(()=>[A(c(Qe),{tabindex:i.value?0:-1,"data-orientation":c(t).orientation.value,"data-active":d.active?"":void 0,"data-disabled":d.focusable?void 0:"",as:d.as,"as-child":d.asChild,onMousedown:p[0]||(p[0]=h=>{d.focusable?c(t).onItemFocus(n.value):h.preventDefault()}),onFocus:p[1]||(p[1]=h=>c(t).onItemFocus(n.value)),onKeydown:o},{default:C(()=>[K(d.$slots,"default")]),_:3},8,["tabindex","data-orientation","data-active","data-disabled","as","as-child"])]),_:3}))}}),wa=va;const[un,Sa]=ns("TabsRoot");var Aa=F({__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(s,{emit:e}){const t=s,a=e,{orientation:n,unmountOnHide:i,dir:l}=cn(t),u=ts(l);Dt();const o=rs(t,"modelValue",a,{defaultValue:t.defaultValue,passive:t.modelValue===void 0}),d=z(),p=Js(new Set);return Sa({modelValue:o,changeModelValue:h=>{o.value=h},orientation:n,dir:u,unmountOnHide:i,activationMode:t.activationMode,baseId:ss(void 0,"reka-tabs"),tabsList:d,contentIds:p,registerContent:h=>{p.value=new Set([...p.value,h])},unregisterContent:h=>{const k=new Set(p.value);k.delete(h),p.value=k}}),(h,k)=>(y(),te(c(Qe),{dir:c(u),"data-orientation":c(n),"as-child":h.asChild,as:h.as},{default:C(()=>[K(h.$slots,"default",{modelValue:c(o)})]),_:3},8,["dir","data-orientation","as-child","as"]))}}),Ea=Aa;function ds(s,e){return`${s}-trigger-${e}`}function fs(s,e){return`${s}-content-${e}`}var Ra=F({__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(s){const e=s,{forwardRef:t}=Dt(),a=un(),n=$(()=>ds(a.baseId,e.value)),i=$(()=>fs(a.baseId,e.value)),l=$(()=>e.value===a.modelValue.value),u=z(l.value);return Rt(()=>{a.registerContent(e.value),requestAnimationFrame(()=>{u.value=!1})}),ea(()=>{a.unregisterContent(e.value)}),(o,d)=>(y(),te(c(zs),{present:o.forceMount||l.value,"force-mount":""},{default:C(({present:p})=>[A(c(Qe),{id:i.value,ref:c(t),"as-child":o.asChild,as:o.as,role:"tabpanel","data-state":l.value?"active":"inactive","data-orientation":c(a).orientation.value,"aria-labelledby":n.value,hidden:!p,tabindex:"0",style:ta({animationDuration:u.value?"0s":void 0})},{default:C(()=>[!c(a).unmountOnHide.value||p?K(o.$slots,"default",{key:0}):me("v-if",!0)]),_:2},1032,["id","as-child","as","data-state","data-orientation","aria-labelledby","hidden","style"])]),_:3},8,["present"]))}}),Ca=Ra,Ia=F({__name:"TabsList",props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(s){const e=s,{loop:t}=cn(e),{forwardRef:a,currentElement:n}=Dt(),i=un();return i.tabsList=n,(l,u)=>(y(),te(c(Ta),{"as-child":"",orientation:c(i).orientation.value,dir:c(i).dir.value,loop:c(t)},{default:C(()=>[A(c(Qe),{ref:c(a),role:"tablist","as-child":l.asChild,as:l.as,"aria-orientation":c(i).orientation.value},{default:C(()=>[K(l.$slots,"default")]),_:3},8,["as-child","as","aria-orientation"])]),_:3},8,["orientation","dir","loop"]))}}),La=Ia,Da=F({__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(s){const e=s,{forwardRef:t}=Dt(),a=un(),n=$(()=>ds(a.baseId,e.value)),i=$(()=>a.contentIds.value.has(e.value)?fs(a.baseId,e.value):void 0),l=$(()=>e.value===a.modelValue.value);return(u,o)=>(y(),te(c(wa),{"as-child":"",focusable:!u.disabled,active:l.value},{default:C(()=>[A(c(Qe),{id:n.value,ref:c(t),role:"tab",type:u.as==="button"?"button":void 0,as:u.as,"as-child":u.asChild,"aria-selected":l.value?"true":"false","aria-controls":i.value,"data-state":l.value?"active":"inactive",disabled:u.disabled,"data-disabled":u.disabled?"":void 0,"data-orientation":c(a).orientation.value,onMousedown:o[0]||(o[0]=sa(d=>{!u.disabled&&d.ctrlKey===!1?c(a).changeModelValue(u.value):d.preventDefault()},["left"])),onKeydown:o[1]||(o[1]=na(d=>c(a).changeModelValue(u.value),["enter","space"])),onFocus:o[2]||(o[2]=()=>{const d=c(a).activationMode!=="manual";!l.value&&!u.disabled&&d&&c(a).changeModelValue(u.value)})},{default:C(()=>[K(u.$slots,"default")]),_:3},8,["id","type","as","as-child","aria-selected","aria-controls","data-state","disabled","data-disabled","data-orientation"])]),_:3},8,["focusable","active"]))}}),Pa=Da;const Oa={key:0,class:"flex flex-wrap items-center gap-3 text-sm"},$a={key:0,class:"flex items-center gap-1.5 text-muted-foreground"},Ma={key:1,class:"flex items-center gap-1.5 text-muted-foreground"},Na=["href"],za={key:4,class:"flex items-center gap-1.5 text-muted-foreground"},Fa=F({__name:"Meta",props:{metadata:{}},setup(s){const e=s,t=$(()=>{const n=e.metadata.status?.toLowerCase();return n?n.includes("complete")||n.includes("done")||n.includes("progress")||n.includes("active")?"default":n.includes("draft")?"secondary":n.includes("blocked")||n.includes("paused")?"destructive":"secondary":"secondary"}),a=$(()=>e.metadata.author||e.metadata.date||e.metadata.status||e.metadata.shortcutStory);return(n,i)=>c(a)?(y(),D("div",Oa,[s.metadata.author?(y(),D("div",$a,[A(c(ba),{class:"size-3.5"}),P("span",null,ee(s.metadata.author),1)])):me("",!0),s.metadata.date?(y(),D("div",Ma,[A(c(Ys),{class:"size-3.5"}),P("span",null,ee(s.metadata.date),1)])):me("",!0),s.metadata.status?(y(),te(c(on),{key:2,variant:c(t),class:"gap-1"},{default:C(()=>[A(c(ma),{class:"size-3"}),Pe(" "+ee(s.metadata.status),1)]),_:1},8,["variant"])):me("",!0),s.metadata.shortcutStory&&s.metadata.shortcutUrl?(y(),D("a",{key:3,href:s.metadata.shortcutUrl,target:"_blank",rel:"noopener noreferrer",class:"inline-flex items-center gap-1.5 text-primary hover:underline"},[A(c($n),{class:"size-3.5"}),P("span",null,ee(s.metadata.shortcutStory),1)],8,Na)):s.metadata.shortcutStory?(y(),D("span",za,[A(c($n),{class:"size-3.5"}),P("span",null,ee(s.metadata.shortcutStory),1)])):me("",!0)])):me("",!0)}}),Ba=Object.assign(Fa,{__name:"PrdMeta"});function pn(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var qe=pn();function hs(s){qe=s}var Be={exec:()=>null};function R(s,e=""){let t=typeof s=="string"?s:s.source,a={replace:(n,i)=>{let l=typeof i=="string"?i:i.source;return l=l.replace(se.caret,"$1"),t=t.replace(n,l),a},getRegex:()=>new RegExp(t,e)};return a}var Ua=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),se={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:s=>new RegExp(`^( {0,3}${s})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}#`),htmlBeginRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}>`)},qa=/^(?:[ \t]*(?:\n|$))+/,Ha=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Ga=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,mt=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,ja=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,dn=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,gs=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ms=R(gs).replace(/bull/g,dn).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Va=R(gs).replace(/bull/g,dn).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),fn=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Wa=/^[^\n]+/,hn=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Ya=R(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",hn).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Za=R(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,dn).getRegex(),$t="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",gn=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ka=R("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",gn).replace("tag",$t).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ks=R(fn).replace("hr",mt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",$t).getRegex(),Qa=R(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ks).getRegex(),mn={blockquote:Qa,code:Ha,def:Ya,fences:Ga,heading:ja,hr:mt,html:Ka,lheading:ms,list:Za,newline:qa,paragraph:ks,table:Be,text:Wa},Un=R("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",mt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",$t).getRegex(),Xa={...mn,lheading:Va,table:Un,paragraph:R(fn).replace("hr",mt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Un).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",$t).getRegex()},Ja={...mn,html:R(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",gn).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Be,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:R(fn).replace("hr",mt).replace("heading",` *#{1,6} *[^
1
+ import{_ as Ns}from"./CTJgb0zb.js";import{u as ts,c as ns,a as ss,b as Dt,P as zs,B as on,C as as,d as Fs,e as Bs,L as Us,R as qs,G as Hs}from"./B2mIQf5X.js";import{c as gt,d as rs,P as Qe,e as be,r as Pt,u as Gs,a as js,b as Vs,B as jt,F as Ws}from"./CN46Bgts.js";import{C as Ys,E as $n,M as Mn,a as Nn,b as Zs,_ as Ks,c as Qs}from"./Cce168lk.js";import{g as F,v as cn,o as y,x as te,w as C,b as A,l as c,y as K,q as z,z as Rt,A as ls,s as $,B as Xs,C as Js,D as ea,E as ta,n as me,G as na,p as sa,c as D,a as P,t as ee,d as Oe,k as Fe,H as ke,I as is,F as os,r as cs,J as aa,K as ra,L as Ot,M as la,j as ia,m as zn,i as oa}from"./Bc2V3wPK.js";import{c as ca}from"./ZNypZshD.js";import{u as us,f as ps,E as ua,a as pa,g as da,w as fa,A as Fn}from"./CyVSeLw5.js";import{_ as ha}from"./DlAUqK2U.js";import"./C53_p0K1.js";const ga=gt("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);const ma=gt("circle-dot",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);const ka=gt("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);const Bn=gt("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);const ba=gt("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),[_a,xa]=ns("RovingFocusGroup");var ya=F({__name:"RovingFocusGroup",props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["entryFocus","update:currentTabStopId"],setup(s,{expose:e,emit:t}){const a=s,n=t,{loop:i,orientation:l,dir:u}=cn(a),o=ts(u),d=rs(a,"currentTabStopId",n,{defaultValue:a.defaultCurrentTabStopId,passive:a.currentTabStopId===void 0}),p=z(!1),h=z(!1),k=z(0),{getItems:w,CollectionSlot:x}=us({isProvider:!0});function H(O){const T=!h.value;if(O.currentTarget&&O.target===O.currentTarget&&T&&!p.value){const L=new CustomEvent(ua,pa);if(O.currentTarget.dispatchEvent(L),n("entryFocus",L),!L.defaultPrevented){const E=w().map(Y=>Y.ref).filter(Y=>Y.dataset.disabled!==""),le=E.find(Y=>Y.getAttribute("data-active")===""),Q=E.find(Y=>Y.getAttribute("data-highlighted")===""),oe=E.find(Y=>Y.id===d.value),X=[le,Q,oe,...E].filter(Boolean);ps(X,a.preventScrollOnEntryFocus)}}h.value=!1}function G(){setTimeout(()=>{h.value=!1},1)}return e({getItems:w}),xa({loop:i,dir:o,orientation:l,currentTabStopId:d,onItemFocus:O=>{d.value=O},onItemShiftTab:()=>{p.value=!0},onFocusableItemAdd:()=>{k.value++},onFocusableItemRemove:()=>{k.value--}}),(O,T)=>(y(),te(c(x),null,{default:C(()=>[A(c(Qe),{tabindex:p.value||k.value===0?-1:0,"data-orientation":c(l),as:O.as,"as-child":O.asChild,dir:c(o),style:{outline:"none"},onMousedown:T[0]||(T[0]=L=>h.value=!0),onMouseup:G,onFocus:H,onBlur:T[1]||(T[1]=L=>p.value=!1)},{default:C(()=>[K(O.$slots,"default")]),_:3},8,["tabindex","data-orientation","as","as-child","dir"])]),_:3}))}}),Ta=ya,va=F({__name:"RovingFocusItem",props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(s){const e=s,t=_a(),a=ss(),n=$(()=>e.tabStopId||a),i=$(()=>t.currentTabStopId.value===n.value),{getItems:l,CollectionItem:u}=us();Rt(()=>{e.focusable&&t.onFocusableItemAdd()}),ls(()=>{e.focusable&&t.onFocusableItemRemove()});function o(d){if(d.key==="Tab"&&d.shiftKey){t.onItemShiftTab();return}if(d.target!==d.currentTarget)return;const p=da(d,t.orientation.value,t.dir.value);if(p!==void 0){if(d.metaKey||d.ctrlKey||d.altKey||!e.allowShiftKey&&d.shiftKey)return;d.preventDefault();let h=[...l().map(k=>k.ref).filter(k=>k.dataset.disabled!=="")];if(p==="last")h.reverse();else if(p==="prev"||p==="next"){p==="prev"&&h.reverse();const k=h.indexOf(d.currentTarget);h=t.loop.value?fa(h,k+1):h.slice(k+1)}Xs(()=>ps(h))}}return(d,p)=>(y(),te(c(u),null,{default:C(()=>[A(c(Qe),{tabindex:i.value?0:-1,"data-orientation":c(t).orientation.value,"data-active":d.active?"":void 0,"data-disabled":d.focusable?void 0:"",as:d.as,"as-child":d.asChild,onMousedown:p[0]||(p[0]=h=>{d.focusable?c(t).onItemFocus(n.value):h.preventDefault()}),onFocus:p[1]||(p[1]=h=>c(t).onItemFocus(n.value)),onKeydown:o},{default:C(()=>[K(d.$slots,"default")]),_:3},8,["tabindex","data-orientation","data-active","data-disabled","as","as-child"])]),_:3}))}}),wa=va;const[un,Sa]=ns("TabsRoot");var Aa=F({__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(s,{emit:e}){const t=s,a=e,{orientation:n,unmountOnHide:i,dir:l}=cn(t),u=ts(l);Dt();const o=rs(t,"modelValue",a,{defaultValue:t.defaultValue,passive:t.modelValue===void 0}),d=z(),p=Js(new Set);return Sa({modelValue:o,changeModelValue:h=>{o.value=h},orientation:n,dir:u,unmountOnHide:i,activationMode:t.activationMode,baseId:ss(void 0,"reka-tabs"),tabsList:d,contentIds:p,registerContent:h=>{p.value=new Set([...p.value,h])},unregisterContent:h=>{const k=new Set(p.value);k.delete(h),p.value=k}}),(h,k)=>(y(),te(c(Qe),{dir:c(u),"data-orientation":c(n),"as-child":h.asChild,as:h.as},{default:C(()=>[K(h.$slots,"default",{modelValue:c(o)})]),_:3},8,["dir","data-orientation","as-child","as"]))}}),Ea=Aa;function ds(s,e){return`${s}-trigger-${e}`}function fs(s,e){return`${s}-content-${e}`}var Ra=F({__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(s){const e=s,{forwardRef:t}=Dt(),a=un(),n=$(()=>ds(a.baseId,e.value)),i=$(()=>fs(a.baseId,e.value)),l=$(()=>e.value===a.modelValue.value),u=z(l.value);return Rt(()=>{a.registerContent(e.value),requestAnimationFrame(()=>{u.value=!1})}),ea(()=>{a.unregisterContent(e.value)}),(o,d)=>(y(),te(c(zs),{present:o.forceMount||l.value,"force-mount":""},{default:C(({present:p})=>[A(c(Qe),{id:i.value,ref:c(t),"as-child":o.asChild,as:o.as,role:"tabpanel","data-state":l.value?"active":"inactive","data-orientation":c(a).orientation.value,"aria-labelledby":n.value,hidden:!p,tabindex:"0",style:ta({animationDuration:u.value?"0s":void 0})},{default:C(()=>[!c(a).unmountOnHide.value||p?K(o.$slots,"default",{key:0}):me("v-if",!0)]),_:2},1032,["id","as-child","as","data-state","data-orientation","aria-labelledby","hidden","style"])]),_:3},8,["present"]))}}),Ca=Ra,Ia=F({__name:"TabsList",props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(s){const e=s,{loop:t}=cn(e),{forwardRef:a,currentElement:n}=Dt(),i=un();return i.tabsList=n,(l,u)=>(y(),te(c(Ta),{"as-child":"",orientation:c(i).orientation.value,dir:c(i).dir.value,loop:c(t)},{default:C(()=>[A(c(Qe),{ref:c(a),role:"tablist","as-child":l.asChild,as:l.as,"aria-orientation":c(i).orientation.value},{default:C(()=>[K(l.$slots,"default")]),_:3},8,["as-child","as","aria-orientation"])]),_:3},8,["orientation","dir","loop"]))}}),La=Ia,Da=F({__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(s){const e=s,{forwardRef:t}=Dt(),a=un(),n=$(()=>ds(a.baseId,e.value)),i=$(()=>a.contentIds.value.has(e.value)?fs(a.baseId,e.value):void 0),l=$(()=>e.value===a.modelValue.value);return(u,o)=>(y(),te(c(wa),{"as-child":"",focusable:!u.disabled,active:l.value},{default:C(()=>[A(c(Qe),{id:n.value,ref:c(t),role:"tab",type:u.as==="button"?"button":void 0,as:u.as,"as-child":u.asChild,"aria-selected":l.value?"true":"false","aria-controls":i.value,"data-state":l.value?"active":"inactive",disabled:u.disabled,"data-disabled":u.disabled?"":void 0,"data-orientation":c(a).orientation.value,onMousedown:o[0]||(o[0]=sa(d=>{!u.disabled&&d.ctrlKey===!1?c(a).changeModelValue(u.value):d.preventDefault()},["left"])),onKeydown:o[1]||(o[1]=na(d=>c(a).changeModelValue(u.value),["enter","space"])),onFocus:o[2]||(o[2]=()=>{const d=c(a).activationMode!=="manual";!l.value&&!u.disabled&&d&&c(a).changeModelValue(u.value)})},{default:C(()=>[K(u.$slots,"default")]),_:3},8,["id","type","as","as-child","aria-selected","aria-controls","data-state","disabled","data-disabled","data-orientation"])]),_:3},8,["focusable","active"]))}}),Pa=Da;const Oa={key:0,class:"flex flex-wrap items-center gap-3 text-sm"},$a={key:0,class:"flex items-center gap-1.5 text-muted-foreground"},Ma={key:1,class:"flex items-center gap-1.5 text-muted-foreground"},Na=["href"],za={key:4,class:"flex items-center gap-1.5 text-muted-foreground"},Fa=F({__name:"Meta",props:{metadata:{}},setup(s){const e=s,t=$(()=>{const n=e.metadata.status?.toLowerCase();return n?n.includes("complete")||n.includes("done")||n.includes("progress")||n.includes("active")?"default":n.includes("draft")?"secondary":n.includes("blocked")||n.includes("paused")?"destructive":"secondary":"secondary"}),a=$(()=>e.metadata.author||e.metadata.date||e.metadata.status||e.metadata.shortcutStory);return(n,i)=>c(a)?(y(),D("div",Oa,[s.metadata.author?(y(),D("div",$a,[A(c(ba),{class:"size-3.5"}),P("span",null,ee(s.metadata.author),1)])):me("",!0),s.metadata.date?(y(),D("div",Ma,[A(c(Ys),{class:"size-3.5"}),P("span",null,ee(s.metadata.date),1)])):me("",!0),s.metadata.status?(y(),te(c(on),{key:2,variant:c(t),class:"gap-1"},{default:C(()=>[A(c(ma),{class:"size-3"}),Oe(" "+ee(s.metadata.status),1)]),_:1},8,["variant"])):me("",!0),s.metadata.shortcutStory&&s.metadata.shortcutUrl?(y(),D("a",{key:3,href:s.metadata.shortcutUrl,target:"_blank",rel:"noopener noreferrer",class:"inline-flex items-center gap-1.5 text-primary hover:underline"},[A(c($n),{class:"size-3.5"}),P("span",null,ee(s.metadata.shortcutStory),1)],8,Na)):s.metadata.shortcutStory?(y(),D("span",za,[A(c($n),{class:"size-3.5"}),P("span",null,ee(s.metadata.shortcutStory),1)])):me("",!0)])):me("",!0)}}),Ba=Object.assign(Fa,{__name:"PrdMeta"});function pn(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var qe=pn();function hs(s){qe=s}var Be={exec:()=>null};function R(s,e=""){let t=typeof s=="string"?s:s.source,a={replace:(n,i)=>{let l=typeof i=="string"?i:i.source;return l=l.replace(se.caret,"$1"),t=t.replace(n,l),a},getRegex:()=>new RegExp(t,e)};return a}var Ua=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),se={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:s=>new RegExp(`^( {0,3}${s})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}#`),htmlBeginRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:s=>new RegExp(`^ {0,${Math.min(3,s-1)}}>`)},qa=/^(?:[ \t]*(?:\n|$))+/,Ha=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Ga=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,mt=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,ja=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,dn=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,gs=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ms=R(gs).replace(/bull/g,dn).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Va=R(gs).replace(/bull/g,dn).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),fn=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Wa=/^[^\n]+/,hn=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Ya=R(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",hn).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Za=R(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,dn).getRegex(),$t="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",gn=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ka=R("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",gn).replace("tag",$t).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ks=R(fn).replace("hr",mt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",$t).getRegex(),Qa=R(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ks).getRegex(),mn={blockquote:Qa,code:Ha,def:Ya,fences:Ga,heading:ja,hr:mt,html:Ka,lheading:ms,list:Za,newline:qa,paragraph:ks,table:Be,text:Wa},Un=R("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",mt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",$t).getRegex(),Xa={...mn,lheading:Va,table:Un,paragraph:R(fn).replace("hr",mt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Un).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",$t).getRegex()},Ja={...mn,html:R(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",gn).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Be,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:R(fn).replace("hr",mt).replace("heading",` *#{1,6} *[^
2
2
  ]`).replace("lheading",ms).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},er=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,tr=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,bs=/^( {2,}|\\)\n(?!\s*$)/,nr=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Mt=/[\p{P}\p{S}]/u,kn=/[\s\p{P}\p{S}]/u,_s=/[^\s\p{P}\p{S}]/u,sr=R(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,kn).getRegex(),xs=/(?!~)[\p{P}\p{S}]/u,ar=/(?!~)[\s\p{P}\p{S}]/u,rr=/(?:[^\s\p{P}\p{S}]|~)/u,ys=/(?![*_])[\p{P}\p{S}]/u,lr=/(?![*_])[\s\p{P}\p{S}]/u,ir=/(?:[^\s\p{P}\p{S}]|[*_])/u,or=R(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Ua?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Ts=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,cr=R(Ts,"u").replace(/punct/g,Mt).getRegex(),ur=R(Ts,"u").replace(/punct/g,xs).getRegex(),vs="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",pr=R(vs,"gu").replace(/notPunctSpace/g,_s).replace(/punctSpace/g,kn).replace(/punct/g,Mt).getRegex(),dr=R(vs,"gu").replace(/notPunctSpace/g,rr).replace(/punctSpace/g,ar).replace(/punct/g,xs).getRegex(),fr=R("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,_s).replace(/punctSpace/g,kn).replace(/punct/g,Mt).getRegex(),hr=R(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,ys).getRegex(),gr="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",mr=R(gr,"gu").replace(/notPunctSpace/g,ir).replace(/punctSpace/g,lr).replace(/punct/g,ys).getRegex(),kr=R(/\\(punct)/,"gu").replace(/punct/g,Mt).getRegex(),br=R(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),_r=R(gn).replace("(?:-->|$)","-->").getRegex(),xr=R("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",_r).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Ct=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,yr=R(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",Ct).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),ws=R(/^!?\[(label)\]\[(ref)\]/).replace("label",Ct).replace("ref",hn).getRegex(),Ss=R(/^!?\[(ref)\](?:\[\])?/).replace("ref",hn).getRegex(),Tr=R("reflink|nolink(?!\\()","g").replace("reflink",ws).replace("nolink",Ss).getRegex(),qn=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,bn={_backpedal:Be,anyPunctuation:kr,autolink:br,blockSkip:or,br:bs,code:tr,del:Be,delLDelim:Be,delRDelim:Be,emStrongLDelim:cr,emStrongRDelimAst:pr,emStrongRDelimUnd:fr,escape:er,link:yr,nolink:Ss,punctuation:sr,reflink:ws,reflinkSearch:Tr,tag:xr,text:nr,url:Be},vr={...bn,link:R(/^!?\[(label)\]\((.*?)\)/).replace("label",Ct).getRegex(),reflink:R(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ct).getRegex()},tn={...bn,emStrongRDelimAst:dr,emStrongLDelim:ur,delLDelim:hr,delRDelim:mr,url:R(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",qn).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:R(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",qn).getRegex()},wr={...tn,br:R(bs).replace("{2,}","*").getRegex(),text:R(tn.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},wt={normal:mn,gfm:Xa,pedantic:Ja},it={normal:bn,gfm:tn,breaks:wr,pedantic:vr},Sr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Hn=s=>Sr[s];function Se(s,e){if(e){if(se.escapeTest.test(s))return s.replace(se.escapeReplace,Hn)}else if(se.escapeTestNoEncode.test(s))return s.replace(se.escapeReplaceNoEncode,Hn);return s}function Gn(s){try{s=encodeURI(s).replace(se.percentDecode,"%")}catch{return null}return s}function jn(s,e){let t=s.replace(se.findPipe,(i,l,u)=>{let o=!1,d=l;for(;--d>=0&&u[d]==="\\";)o=!o;return o?"|":" |"}),a=t.split(se.splitPipe),n=0;if(a[0].trim()||a.shift(),a.length>0&&!a.at(-1)?.trim()&&a.pop(),e)if(a.length>e)a.splice(e);else for(;a.length<e;)a.push("");for(;n<a.length;n++)a[n]=a[n].trim().replace(se.slashPipe,"|");return a}function ot(s,e,t){let a=s.length;if(a===0)return"";let n=0;for(;n<a&&s.charAt(a-n-1)===e;)n++;return s.slice(0,a-n)}function Ar(s,e){if(s.indexOf(e[1])===-1)return-1;let t=0;for(let a=0;a<s.length;a++)if(s[a]==="\\")a++;else if(s[a]===e[0])t++;else if(s[a]===e[1]&&(t--,t<0))return a;return t>0?-2:-1}function Er(s,e=0){let t=e,a="";for(let n of s)if(n===" "){let i=4-t%4;a+=" ".repeat(i),t+=i}else a+=n,t++;return a}function Vn(s,e,t,a,n){let i=e.href,l=e.title||null,u=s[1].replace(n.other.outputLinkReplace,"$1");a.state.inLink=!0;let o={type:s[0].charAt(0)==="!"?"image":"link",raw:t,href:i,title:l,text:u,tokens:a.inlineTokens(u)};return a.state.inLink=!1,o}function Rr(s,e,t){let a=s.match(t.other.indentCodeCompensation);if(a===null)return e;let n=a[1];return e.split(`
3
3
  `).map(i=>{let l=i.match(t.other.beginningSpace);if(l===null)return i;let[u]=l;return u.length>=n.length?i.slice(n.length):i}).join(`
4
4
  `)}var It=class{options;rules;lexer;constructor(s){this.options=s||qe}space(s){let e=this.rules.block.newline.exec(s);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(s){let e=this.rules.block.code.exec(s);if(e){let t=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:ot(t,`
@@ -56,5 +56,5 @@ ${this.parser.parse(s)}</blockquote>
56
56
  ${s}</tr>
57
57
  `}tablecell(s){let e=this.parser.parseInline(s.tokens),t=s.header?"th":"td";return(s.align?`<${t} align="${s.align}">`:`<${t}>`)+e+`</${t}>
58
58
  `}strong({tokens:s}){return`<strong>${this.parser.parseInline(s)}</strong>`}em({tokens:s}){return`<em>${this.parser.parseInline(s)}</em>`}codespan({text:s}){return`<code>${Se(s,!0)}</code>`}br(s){return"<br>"}del({tokens:s}){return`<del>${this.parser.parseInline(s)}</del>`}link({href:s,title:e,tokens:t}){let a=this.parser.parseInline(t),n=Gn(s);if(n===null)return a;s=n;let i='<a href="'+s+'"';return e&&(i+=' title="'+Se(e)+'"'),i+=">"+a+"</a>",i}image({href:s,title:e,text:t,tokens:a}){a&&(t=this.parser.parseInline(a,this.parser.textRenderer));let n=Gn(s);if(n===null)return Se(t);s=n;let i=`<img src="${s}" alt="${Se(t)}"`;return e&&(i+=` title="${Se(e)}"`),i+=">",i}text(s){return"tokens"in s&&s.tokens?this.parser.parseInline(s.tokens):"escaped"in s&&s.escaped?s.text:Se(s.text)}},_n=class{strong({text:s}){return s}em({text:s}){return s}codespan({text:s}){return s}del({text:s}){return s}html({text:s}){return s}text({text:s}){return s}link({text:s}){return""+s}image({text:s}){return""+s}br(){return""}checkbox({raw:s}){return s}},ge=class sn{options;renderer;textRenderer;constructor(e){this.options=e||qe,this.options.renderer=this.options.renderer||new Lt,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new _n}static parse(e,t){return new sn(t).parse(e)}static parseInline(e,t){return new sn(t).parseInline(e)}parse(e){let t="";for(let a=0;a<e.length;a++){let n=e[a];if(this.options.extensions?.renderers?.[n.type]){let l=n,u=this.options.extensions.renderers[l.type].call({parser:this},l);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(l.type)){t+=u||"";continue}}let i=n;switch(i.type){case"space":{t+=this.renderer.space(i);break}case"hr":{t+=this.renderer.hr(i);break}case"heading":{t+=this.renderer.heading(i);break}case"code":{t+=this.renderer.code(i);break}case"table":{t+=this.renderer.table(i);break}case"blockquote":{t+=this.renderer.blockquote(i);break}case"list":{t+=this.renderer.list(i);break}case"checkbox":{t+=this.renderer.checkbox(i);break}case"html":{t+=this.renderer.html(i);break}case"def":{t+=this.renderer.def(i);break}case"paragraph":{t+=this.renderer.paragraph(i);break}case"text":{t+=this.renderer.text(i);break}default:{let l='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return t}parseInline(e,t=this.renderer){let a="";for(let n=0;n<e.length;n++){let i=e[n];if(this.options.extensions?.renderers?.[i.type]){let u=this.options.extensions.renderers[i.type].call({parser:this},i);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){a+=u||"";continue}}let l=i;switch(l.type){case"escape":{a+=t.text(l);break}case"html":{a+=t.html(l);break}case"link":{a+=t.link(l);break}case"image":{a+=t.image(l);break}case"checkbox":{a+=t.checkbox(l);break}case"strong":{a+=t.strong(l);break}case"em":{a+=t.em(l);break}case"codespan":{a+=t.codespan(l);break}case"br":{a+=t.br(l);break}case"del":{a+=t.del(l);break}case"text":{a+=t.text(l);break}default:{let u='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return a}},ht=class{options;block;constructor(s){this.options=s||qe}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(s){return s}postprocess(s){return s}processAllTokens(s){return s}emStrongMask(s){return s}provideLexer(){return this.block?he.lex:he.lexInline}provideParser(){return this.block?ge.parse:ge.parseInline}},Cr=class{defaults=pn();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=ge;Renderer=Lt;TextRenderer=_n;Lexer=he;Tokenizer=It;Hooks=ht;constructor(...s){this.use(...s)}walkTokens(s,e){let t=[];for(let a of s)switch(t=t.concat(e.call(this,a)),a.type){case"table":{let n=a;for(let i of n.header)t=t.concat(this.walkTokens(i.tokens,e));for(let i of n.rows)for(let l of i)t=t.concat(this.walkTokens(l.tokens,e));break}case"list":{let n=a;t=t.concat(this.walkTokens(n.items,e));break}default:{let n=a;this.defaults.extensions?.childTokens?.[n.type]?this.defaults.extensions.childTokens[n.type].forEach(i=>{let l=n[i].flat(1/0);t=t.concat(this.walkTokens(l,e))}):n.tokens&&(t=t.concat(this.walkTokens(n.tokens,e)))}}return t}use(...s){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return s.forEach(t=>{let a={...t};if(a.async=this.defaults.async||a.async||!1,t.extensions&&(t.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let i=e.renderers[n.name];i?e.renderers[n.name]=function(...l){let u=n.renderer.apply(this,l);return u===!1&&(u=i.apply(this,l)),u}:e.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let i=e[n.level];i?i.unshift(n.tokenizer):e[n.level]=[n.tokenizer],n.start&&(n.level==="block"?e.startBlock?e.startBlock.push(n.start):e.startBlock=[n.start]:n.level==="inline"&&(e.startInline?e.startInline.push(n.start):e.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(e.childTokens[n.name]=n.childTokens)}),a.extensions=e),t.renderer){let n=this.defaults.renderer||new Lt(this.defaults);for(let i in t.renderer){if(!(i in n))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;let l=i,u=t.renderer[l],o=n[l];n[l]=(...d)=>{let p=u.apply(n,d);return p===!1&&(p=o.apply(n,d)),p||""}}a.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new It(this.defaults);for(let i in t.tokenizer){if(!(i in n))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;let l=i,u=t.tokenizer[l],o=n[l];n[l]=(...d)=>{let p=u.apply(n,d);return p===!1&&(p=o.apply(n,d)),p}}a.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new ht;for(let i in t.hooks){if(!(i in n))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;let l=i,u=t.hooks[l],o=n[l];ht.passThroughHooks.has(i)?n[l]=d=>{if(this.defaults.async&&ht.passThroughHooksRespectAsync.has(i))return(async()=>{let h=await u.call(n,d);return o.call(n,h)})();let p=u.call(n,d);return o.call(n,p)}:n[l]=(...d)=>{if(this.defaults.async)return(async()=>{let h=await u.apply(n,d);return h===!1&&(h=await o.apply(n,d)),h})();let p=u.apply(n,d);return p===!1&&(p=o.apply(n,d)),p}}a.hooks=n}if(t.walkTokens){let n=this.defaults.walkTokens,i=t.walkTokens;a.walkTokens=function(l){let u=[];return u.push(i.call(this,l)),n&&(u=u.concat(n.call(this,l))),u}}this.defaults={...this.defaults,...a}}),this}setOptions(s){return this.defaults={...this.defaults,...s},this}lexer(s,e){return he.lex(s,e??this.defaults)}parser(s,e){return ge.parse(s,e??this.defaults)}parseMarkdown(s){return(e,t)=>{let a={...t},n={...this.defaults,...a},i=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&a.async===!1)return i(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return i(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(n.hooks&&(n.hooks.options=n,n.hooks.block=s),n.async)return(async()=>{let l=n.hooks?await n.hooks.preprocess(e):e,u=await(n.hooks?await n.hooks.provideLexer():s?he.lex:he.lexInline)(l,n),o=n.hooks?await n.hooks.processAllTokens(u):u;n.walkTokens&&await Promise.all(this.walkTokens(o,n.walkTokens));let d=await(n.hooks?await n.hooks.provideParser():s?ge.parse:ge.parseInline)(o,n);return n.hooks?await n.hooks.postprocess(d):d})().catch(i);try{n.hooks&&(e=n.hooks.preprocess(e));let l=(n.hooks?n.hooks.provideLexer():s?he.lex:he.lexInline)(e,n);n.hooks&&(l=n.hooks.processAllTokens(l)),n.walkTokens&&this.walkTokens(l,n.walkTokens);let u=(n.hooks?n.hooks.provideParser():s?ge.parse:ge.parseInline)(l,n);return n.hooks&&(u=n.hooks.postprocess(u)),u}catch(l){return i(l)}}}onError(s,e){return t=>{if(t.message+=`
59
- Please report this to https://github.com/markedjs/marked.`,s){let a="<p>An error occurred:</p><pre>"+Se(t.message+"",!0)+"</pre>";return e?Promise.resolve(a):a}if(e)return Promise.reject(t);throw t}}},Ue=new Cr;function I(s,e){return Ue.parse(s,e)}I.options=I.setOptions=function(s){return Ue.setOptions(s),I.defaults=Ue.defaults,hs(I.defaults),I};I.getDefaults=pn;I.defaults=qe;I.use=function(...s){return Ue.use(...s),I.defaults=Ue.defaults,hs(I.defaults),I};I.walkTokens=function(s,e){return Ue.walkTokens(s,e)};I.parseInline=Ue.parseInline;I.Parser=ge;I.parser=ge.parse;I.Renderer=Lt;I.TextRenderer=_n;I.Lexer=he;I.lexer=he.lex;I.Tokenizer=It;I.Hooks=ht;I.parse=I;I.options;I.setOptions;I.use;I.walkTokens;I.parseInline;ge.parse;he.lex;const{entries:As,setPrototypeOf:Wn,isFrozen:Ir,getPrototypeOf:Lr,getOwnPropertyDescriptor:Dr}=Object;let{freeze:ae,seal:ue,create:an}=Object,{apply:rn,construct:ln}=typeof Reflect<"u"&&Reflect;ae||(ae=function(e){return e});ue||(ue=function(e){return e});rn||(rn=function(e,t){for(var a=arguments.length,n=new Array(a>2?a-2:0),i=2;i<a;i++)n[i-2]=arguments[i];return e.apply(t,n)});ln||(ln=function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];return new e(...a)});const St=re(Array.prototype.forEach),Pr=re(Array.prototype.lastIndexOf),Yn=re(Array.prototype.pop),ct=re(Array.prototype.push),Or=re(Array.prototype.splice),Et=re(String.prototype.toLowerCase),Vt=re(String.prototype.toString),Wt=re(String.prototype.match),ut=re(String.prototype.replace),$r=re(String.prototype.indexOf),Mr=re(String.prototype.trim),fe=re(Object.prototype.hasOwnProperty),ne=re(RegExp.prototype.test),pt=Nr(TypeError);function re(s){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,a=new Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];return rn(s,e,a)}}function Nr(s){return function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return ln(s,t)}}function S(s,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Et;Wn&&Wn(s,null);let a=e.length;for(;a--;){let n=e[a];if(typeof n=="string"){const i=t(n);i!==n&&(Ir(e)||(e[a]=i),n=i)}s[n]=!0}return s}function zr(s){for(let e=0;e<s.length;e++)fe(s,e)||(s[e]=null);return s}function Ae(s){const e=an(null);for(const[t,a]of As(s))fe(s,t)&&(Array.isArray(a)?e[t]=zr(a):a&&typeof a=="object"&&a.constructor===Object?e[t]=Ae(a):e[t]=a);return e}function dt(s,e){for(;s!==null;){const a=Dr(s,e);if(a){if(a.get)return re(a.get);if(typeof a.value=="function")return re(a.value)}s=Lr(s)}function t(){return null}return t}const Zn=ae(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Yt=ae(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Zt=ae(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Fr=ae(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Kt=ae(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Br=ae(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Kn=ae(["#text"]),Qn=ae(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),Qt=ae(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Xn=ae(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),At=ae(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Ur=ue(/\{\{[\w\W]*|[\w\W]*\}\}/gm),qr=ue(/<%[\w\W]*|[\w\W]*%>/gm),Hr=ue(/\$\{[\w\W]*/gm),Gr=ue(/^data-[\-\w.\u00B7-\uFFFF]+$/),jr=ue(/^aria-[\-\w]+$/),Es=ue(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Vr=ue(/^(?:\w+script|data):/i),Wr=ue(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Rs=ue(/^html$/i),Yr=ue(/^[a-z][.\w]*(-[.\w]+)+$/i);var Jn=Object.freeze({__proto__:null,ARIA_ATTR:jr,ATTR_WHITESPACE:Wr,CUSTOM_ELEMENT:Yr,DATA_ATTR:Gr,DOCTYPE_NAME:Rs,ERB_EXPR:qr,IS_ALLOWED_URI:Es,IS_SCRIPT_OR_DATA:Vr,MUSTACHE_EXPR:Ur,TMPLIT_EXPR:Hr});const ft={element:1,text:3,progressingInstruction:7,comment:8,document:9},Zr=function(){return typeof window>"u"?null:window},Kr=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let a=null;const n="data-tt-policy-suffix";t&&t.hasAttribute(n)&&(a=t.getAttribute(n));const i="dompurify"+(a?"#"+a:"");try{return e.createPolicy(i,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},es=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Cs(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Zr();const e=_=>Cs(_);if(e.version="3.3.1",e.removed=[],!s||!s.document||s.document.nodeType!==ft.document||!s.Element)return e.isSupported=!1,e;let{document:t}=s;const a=t,n=a.currentScript,{DocumentFragment:i,HTMLTemplateElement:l,Node:u,Element:o,NodeFilter:d,NamedNodeMap:p=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:h,DOMParser:k,trustedTypes:w}=s,x=o.prototype,H=dt(x,"cloneNode"),G=dt(x,"remove"),O=dt(x,"nextSibling"),T=dt(x,"childNodes"),L=dt(x,"parentNode");if(typeof l=="function"){const _=t.createElement("template");_.content&&_.content.ownerDocument&&(t=_.content.ownerDocument)}let E,le="";const{implementation:Q,createNodeIterator:oe,createDocumentFragment:X,getElementsByTagName:Y}=t,{importNode:Xe}=a;let U=es();e.isSupported=typeof As=="function"&&typeof L=="function"&&Q&&Q.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:_e,ERB_EXPR:xe,TMPLIT_EXPR:pe,DATA_ATTR:ye,ARIA_ATTR:Te,IS_SCRIPT_OR_DATA:Me,ATTR_WHITESPACE:He,CUSTOM_ELEMENT:kt}=Jn;let{IS_ALLOWED_URI:Je}=Jn,B=null;const et=S({},[...Zn,...Yt,...Zt,...Kt,...Kn]);let j=null;const Ge=S({},[...Qn,...Qt,...Xn,...At]);let M=Object.seal(an(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Oe=null,tt=null;const Ee=Object.seal(an(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let bt=!0,nt=!0,_t=!1,je=!0,Re=!1,$e=!0,Ce=!1,st=!1,at=!1,f=!1,g=!1,v=!1,W=!0,ce=!1;const Nt="user-content-";let rt=!0,Ne=!1,de={},ve=null;const zt=S({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let xn=null;const yn=S({},["audio","video","img","source","image","track"]);let Ft=null;const Tn=S({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),xt="http://www.w3.org/1998/Math/MathML",yt="http://www.w3.org/2000/svg",Ie="http://www.w3.org/1999/xhtml";let Ve=Ie,Bt=!1,Ut=null;const Is=S({},[xt,yt,Ie],Vt);let Tt=S({},["mi","mo","mn","ms","mtext"]),vt=S({},["annotation-xml"]);const Ls=S({},["title","style","font","a","script"]);let lt=null;const Ds=["application/xhtml+xml","text/html"],Ps="text/html";let V=null,We=null;const Os=t.createElement("form"),vn=function(r){return r instanceof RegExp||r instanceof Function},qt=function(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(We&&We===r)){if((!r||typeof r!="object")&&(r={}),r=Ae(r),lt=Ds.indexOf(r.PARSER_MEDIA_TYPE)===-1?Ps:r.PARSER_MEDIA_TYPE,V=lt==="application/xhtml+xml"?Vt:Et,B=fe(r,"ALLOWED_TAGS")?S({},r.ALLOWED_TAGS,V):et,j=fe(r,"ALLOWED_ATTR")?S({},r.ALLOWED_ATTR,V):Ge,Ut=fe(r,"ALLOWED_NAMESPACES")?S({},r.ALLOWED_NAMESPACES,Vt):Is,Ft=fe(r,"ADD_URI_SAFE_ATTR")?S(Ae(Tn),r.ADD_URI_SAFE_ATTR,V):Tn,xn=fe(r,"ADD_DATA_URI_TAGS")?S(Ae(yn),r.ADD_DATA_URI_TAGS,V):yn,ve=fe(r,"FORBID_CONTENTS")?S({},r.FORBID_CONTENTS,V):zt,Oe=fe(r,"FORBID_TAGS")?S({},r.FORBID_TAGS,V):Ae({}),tt=fe(r,"FORBID_ATTR")?S({},r.FORBID_ATTR,V):Ae({}),de=fe(r,"USE_PROFILES")?r.USE_PROFILES:!1,bt=r.ALLOW_ARIA_ATTR!==!1,nt=r.ALLOW_DATA_ATTR!==!1,_t=r.ALLOW_UNKNOWN_PROTOCOLS||!1,je=r.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Re=r.SAFE_FOR_TEMPLATES||!1,$e=r.SAFE_FOR_XML!==!1,Ce=r.WHOLE_DOCUMENT||!1,f=r.RETURN_DOM||!1,g=r.RETURN_DOM_FRAGMENT||!1,v=r.RETURN_TRUSTED_TYPE||!1,at=r.FORCE_BODY||!1,W=r.SANITIZE_DOM!==!1,ce=r.SANITIZE_NAMED_PROPS||!1,rt=r.KEEP_CONTENT!==!1,Ne=r.IN_PLACE||!1,Je=r.ALLOWED_URI_REGEXP||Es,Ve=r.NAMESPACE||Ie,Tt=r.MATHML_TEXT_INTEGRATION_POINTS||Tt,vt=r.HTML_INTEGRATION_POINTS||vt,M=r.CUSTOM_ELEMENT_HANDLING||{},r.CUSTOM_ELEMENT_HANDLING&&vn(r.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(M.tagNameCheck=r.CUSTOM_ELEMENT_HANDLING.tagNameCheck),r.CUSTOM_ELEMENT_HANDLING&&vn(r.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(M.attributeNameCheck=r.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),r.CUSTOM_ELEMENT_HANDLING&&typeof r.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(M.allowCustomizedBuiltInElements=r.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Re&&(nt=!1),g&&(f=!0),de&&(B=S({},Kn),j=[],de.html===!0&&(S(B,Zn),S(j,Qn)),de.svg===!0&&(S(B,Yt),S(j,Qt),S(j,At)),de.svgFilters===!0&&(S(B,Zt),S(j,Qt),S(j,At)),de.mathMl===!0&&(S(B,Kt),S(j,Xn),S(j,At))),r.ADD_TAGS&&(typeof r.ADD_TAGS=="function"?Ee.tagCheck=r.ADD_TAGS:(B===et&&(B=Ae(B)),S(B,r.ADD_TAGS,V))),r.ADD_ATTR&&(typeof r.ADD_ATTR=="function"?Ee.attributeCheck=r.ADD_ATTR:(j===Ge&&(j=Ae(j)),S(j,r.ADD_ATTR,V))),r.ADD_URI_SAFE_ATTR&&S(Ft,r.ADD_URI_SAFE_ATTR,V),r.FORBID_CONTENTS&&(ve===zt&&(ve=Ae(ve)),S(ve,r.FORBID_CONTENTS,V)),r.ADD_FORBID_CONTENTS&&(ve===zt&&(ve=Ae(ve)),S(ve,r.ADD_FORBID_CONTENTS,V)),rt&&(B["#text"]=!0),Ce&&S(B,["html","head","body"]),B.table&&(S(B,["tbody"]),delete Oe.tbody),r.TRUSTED_TYPES_POLICY){if(typeof r.TRUSTED_TYPES_POLICY.createHTML!="function")throw pt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof r.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw pt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=r.TRUSTED_TYPES_POLICY,le=E.createHTML("")}else E===void 0&&(E=Kr(w,n)),E!==null&&typeof le=="string"&&(le=E.createHTML(""));ae&&ae(r),We=r}},wn=S({},[...Yt,...Zt,...Fr]),Sn=S({},[...Kt,...Br]),$s=function(r){let m=L(r);(!m||!m.tagName)&&(m={namespaceURI:Ve,tagName:"template"});const b=Et(r.tagName),N=Et(m.tagName);return Ut[r.namespaceURI]?r.namespaceURI===yt?m.namespaceURI===Ie?b==="svg":m.namespaceURI===xt?b==="svg"&&(N==="annotation-xml"||Tt[N]):!!wn[b]:r.namespaceURI===xt?m.namespaceURI===Ie?b==="math":m.namespaceURI===yt?b==="math"&&vt[N]:!!Sn[b]:r.namespaceURI===Ie?m.namespaceURI===yt&&!vt[N]||m.namespaceURI===xt&&!Tt[N]?!1:!Sn[b]&&(Ls[b]||!wn[b]):!!(lt==="application/xhtml+xml"&&Ut[r.namespaceURI]):!1},we=function(r){ct(e.removed,{element:r});try{L(r).removeChild(r)}catch{G(r)}},ze=function(r,m){try{ct(e.removed,{attribute:m.getAttributeNode(r),from:m})}catch{ct(e.removed,{attribute:null,from:m})}if(m.removeAttribute(r),r==="is")if(f||g)try{we(m)}catch{}else try{m.setAttribute(r,"")}catch{}},An=function(r){let m=null,b=null;if(at)r="<remove></remove>"+r;else{const q=Wt(r,/^[\r\n\t ]+/);b=q&&q[0]}lt==="application/xhtml+xml"&&Ve===Ie&&(r='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+r+"</body></html>");const N=E?E.createHTML(r):r;if(Ve===Ie)try{m=new k().parseFromString(N,lt)}catch{}if(!m||!m.documentElement){m=Q.createDocument(Ve,"template",null);try{m.documentElement.innerHTML=Bt?le:N}catch{}}const J=m.body||m.documentElement;return r&&b&&J.insertBefore(t.createTextNode(b),J.childNodes[0]||null),Ve===Ie?Y.call(m,Ce?"html":"body")[0]:Ce?m.documentElement:J},En=function(r){return oe.call(r.ownerDocument||r,r,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT|d.SHOW_PROCESSING_INSTRUCTION|d.SHOW_CDATA_SECTION,null)},Ht=function(r){return r instanceof h&&(typeof r.nodeName!="string"||typeof r.textContent!="string"||typeof r.removeChild!="function"||!(r.attributes instanceof p)||typeof r.removeAttribute!="function"||typeof r.setAttribute!="function"||typeof r.namespaceURI!="string"||typeof r.insertBefore!="function"||typeof r.hasChildNodes!="function")},Rn=function(r){return typeof u=="function"&&r instanceof u};function Le(_,r,m){St(_,b=>{b.call(e,r,m,We)})}const Cn=function(r){let m=null;if(Le(U.beforeSanitizeElements,r,null),Ht(r))return we(r),!0;const b=V(r.nodeName);if(Le(U.uponSanitizeElement,r,{tagName:b,allowedTags:B}),$e&&r.hasChildNodes()&&!Rn(r.firstElementChild)&&ne(/<[/\w!]/g,r.innerHTML)&&ne(/<[/\w!]/g,r.textContent)||r.nodeType===ft.progressingInstruction||$e&&r.nodeType===ft.comment&&ne(/<[/\w]/g,r.data))return we(r),!0;if(!(Ee.tagCheck instanceof Function&&Ee.tagCheck(b))&&(!B[b]||Oe[b])){if(!Oe[b]&&Ln(b)&&(M.tagNameCheck instanceof RegExp&&ne(M.tagNameCheck,b)||M.tagNameCheck instanceof Function&&M.tagNameCheck(b)))return!1;if(rt&&!ve[b]){const N=L(r)||r.parentNode,J=T(r)||r.childNodes;if(J&&N){const q=J.length;for(let ie=q-1;ie>=0;--ie){const De=H(J[ie],!0);De.__removalCount=(r.__removalCount||0)+1,N.insertBefore(De,O(r))}}}return we(r),!0}return r instanceof o&&!$s(r)||(b==="noscript"||b==="noembed"||b==="noframes")&&ne(/<\/no(script|embed|frames)/i,r.innerHTML)?(we(r),!0):(Re&&r.nodeType===ft.text&&(m=r.textContent,St([_e,xe,pe],N=>{m=ut(m,N," ")}),r.textContent!==m&&(ct(e.removed,{element:r.cloneNode()}),r.textContent=m)),Le(U.afterSanitizeElements,r,null),!1)},In=function(r,m,b){if(W&&(m==="id"||m==="name")&&(b in t||b in Os))return!1;if(!(nt&&!tt[m]&&ne(ye,m))){if(!(bt&&ne(Te,m))){if(!(Ee.attributeCheck instanceof Function&&Ee.attributeCheck(m,r))){if(!j[m]||tt[m]){if(!(Ln(r)&&(M.tagNameCheck instanceof RegExp&&ne(M.tagNameCheck,r)||M.tagNameCheck instanceof Function&&M.tagNameCheck(r))&&(M.attributeNameCheck instanceof RegExp&&ne(M.attributeNameCheck,m)||M.attributeNameCheck instanceof Function&&M.attributeNameCheck(m,r))||m==="is"&&M.allowCustomizedBuiltInElements&&(M.tagNameCheck instanceof RegExp&&ne(M.tagNameCheck,b)||M.tagNameCheck instanceof Function&&M.tagNameCheck(b))))return!1}else if(!Ft[m]){if(!ne(Je,ut(b,He,""))){if(!((m==="src"||m==="xlink:href"||m==="href")&&r!=="script"&&$r(b,"data:")===0&&xn[r])){if(!(_t&&!ne(Me,ut(b,He,"")))){if(b)return!1}}}}}}}return!0},Ln=function(r){return r!=="annotation-xml"&&Wt(r,kt)},Dn=function(r){Le(U.beforeSanitizeAttributes,r,null);const{attributes:m}=r;if(!m||Ht(r))return;const b={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:j,forceKeepAttr:void 0};let N=m.length;for(;N--;){const J=m[N],{name:q,namespaceURI:ie,value:De}=J,Ye=V(q),Gt=De;let Z=q==="value"?Gt:Mr(Gt);if(b.attrName=Ye,b.attrValue=Z,b.keepAttr=!0,b.forceKeepAttr=void 0,Le(U.uponSanitizeAttribute,r,b),Z=b.attrValue,ce&&(Ye==="id"||Ye==="name")&&(ze(q,r),Z=Nt+Z),$e&&ne(/((--!?|])>)|<\/(style|title|textarea)/i,Z)){ze(q,r);continue}if(Ye==="attributename"&&Wt(Z,"href")){ze(q,r);continue}if(b.forceKeepAttr)continue;if(!b.keepAttr){ze(q,r);continue}if(!je&&ne(/\/>/i,Z)){ze(q,r);continue}Re&&St([_e,xe,pe],On=>{Z=ut(Z,On," ")});const Pn=V(r.nodeName);if(!In(Pn,Ye,Z)){ze(q,r);continue}if(E&&typeof w=="object"&&typeof w.getAttributeType=="function"&&!ie)switch(w.getAttributeType(Pn,Ye)){case"TrustedHTML":{Z=E.createHTML(Z);break}case"TrustedScriptURL":{Z=E.createScriptURL(Z);break}}if(Z!==Gt)try{ie?r.setAttributeNS(ie,q,Z):r.setAttribute(q,Z),Ht(r)?we(r):Yn(e.removed)}catch{ze(q,r)}}Le(U.afterSanitizeAttributes,r,null)},Ms=function _(r){let m=null;const b=En(r);for(Le(U.beforeSanitizeShadowDOM,r,null);m=b.nextNode();)Le(U.uponSanitizeShadowNode,m,null),Cn(m),Dn(m),m.content instanceof i&&_(m.content);Le(U.afterSanitizeShadowDOM,r,null)};return e.sanitize=function(_){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},m=null,b=null,N=null,J=null;if(Bt=!_,Bt&&(_="<!-->"),typeof _!="string"&&!Rn(_))if(typeof _.toString=="function"){if(_=_.toString(),typeof _!="string")throw pt("dirty is not a string, aborting")}else throw pt("toString is not a function");if(!e.isSupported)return _;if(st||qt(r),e.removed=[],typeof _=="string"&&(Ne=!1),Ne){if(_.nodeName){const De=V(_.nodeName);if(!B[De]||Oe[De])throw pt("root node is forbidden and cannot be sanitized in-place")}}else if(_ instanceof u)m=An("<!---->"),b=m.ownerDocument.importNode(_,!0),b.nodeType===ft.element&&b.nodeName==="BODY"||b.nodeName==="HTML"?m=b:m.appendChild(b);else{if(!f&&!Re&&!Ce&&_.indexOf("<")===-1)return E&&v?E.createHTML(_):_;if(m=An(_),!m)return f?null:v?le:""}m&&at&&we(m.firstChild);const q=En(Ne?_:m);for(;N=q.nextNode();)Cn(N),Dn(N),N.content instanceof i&&Ms(N.content);if(Ne)return _;if(f){if(g)for(J=X.call(m.ownerDocument);m.firstChild;)J.appendChild(m.firstChild);else J=m;return(j.shadowroot||j.shadowrootmode)&&(J=Xe.call(a,J,!0)),J}let ie=Ce?m.outerHTML:m.innerHTML;return Ce&&B["!doctype"]&&m.ownerDocument&&m.ownerDocument.doctype&&m.ownerDocument.doctype.name&&ne(Rs,m.ownerDocument.doctype.name)&&(ie="<!DOCTYPE "+m.ownerDocument.doctype.name+`>
60
- `+ie),Re&&St([_e,xe,pe],De=>{ie=ut(ie,De," ")}),E&&v?E.createHTML(ie):ie},e.setConfig=function(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};qt(_),st=!0},e.clearConfig=function(){We=null,st=!1},e.isValidAttribute=function(_,r,m){We||qt({});const b=V(_),N=V(r);return In(b,N,m)},e.addHook=function(_,r){typeof r=="function"&&ct(U[_],r)},e.removeHook=function(_,r){if(r!==void 0){const m=Pr(U[_],r);return m===-1?void 0:Or(U[_],m,1)[0]}return Yn(U[_])},e.removeHooks=function(_){U[_]=[]},e.removeAllHooks=function(){U=es()},e}var Qr=Cs();const Xr={class:"prd-viewer"},Jr={key:0,class:"flex items-center justify-center py-8"},el=["innerHTML"],tl=F({__name:"Viewer",props:{content:{}},setup(s){const e=s,t=z(""),a=z(!0),n={ADD_TAGS:["style"],ADD_ATTR:["style","class","target","rel"]},i=new I.Renderer;i.link=({href:d,title:p,text:h})=>{const k=p?` title="${p}"`:"";return`<a href="${d}"${k} target="_blank" rel="noopener noreferrer">${h}</a>`};async function l(d,p){try{return await ca(d,{lang:p||"text",themes:{light:"github-light",dark:"github-dark"}})}catch{return`<pre><code class="language-${p}">${u(d)}</code></pre>`}}function u(d){return d.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}async function o(d){const p=/```(\w*)\n([\s\S]*?)```/g,h=[];let k=0;const w=d.replace(p,(O,T,L)=>{const E=`CODEBLOCK${k++}PLACEHOLDER`;return h.push({placeholder:E,lang:T||"text",code:L.trim()}),E});I.setOptions({renderer:i,gfm:!0,breaks:!0});let x=await I.parse(w);const H=h.map(async({placeholder:O,lang:T,code:L})=>{const E=await l(L,T);return{placeholder:O,highlighted:E}}),G=await Promise.all(H);for(const{placeholder:O,highlighted:T}of G)x=x.replace(`<p>${O}</p>`,T),x=x.replace(O,T);return Qr.sanitize(x,n)}return Fe(()=>e.content,async d=>{if(!d){t.value="",a.value=!1;return}a.value=!0;try{t.value=await o(d)}finally{a.value=!1}},{immediate:!0}),(d,p)=>(y(),D("div",Xr,[c(a)?(y(),D("div",Jr,[...p[0]||(p[0]=[P("div",{class:"size-6 animate-spin rounded-full border-2 border-primary border-t-transparent"},null,-1)])])):(y(),D("div",{key:1,class:"prose prose-sm dark:prose-invert max-w-none",innerHTML:c(t)},null,8,el))]))}}),nl=Object.assign(tl,{__name:"PrdViewer"}),sl=F({__name:"Card",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("div",{"data-slot":"card",class:ke(c(be)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e.class))},[K(t.$slots,"default")],2))}}),al=Object.assign(sl,{__name:"UiCard"}),rl=F({__name:"CardAction",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("div",{"data-slot":"card-action",class:ke(c(be)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",e.class))},[K(t.$slots,"default")],2))}});Object.assign(rl,{__name:"UiCardAction"});const ll=F({__name:"CardContent",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("div",{"data-slot":"card-content",class:ke(c(be)("px-6",e.class))},[K(t.$slots,"default")],2))}}),il=Object.assign(ll,{__name:"UiCardContent"}),ol=F({__name:"CardDescription",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("p",{"data-slot":"card-description",class:ke(c(be)("text-muted-foreground text-sm",e.class))},[K(t.$slots,"default")],2))}});Object.assign(ol,{__name:"UiCardDescription"});const cl=F({__name:"CardFooter",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("div",{"data-slot":"card-footer",class:ke(c(be)("flex items-center px-6 [.border-t]:pt-6",e.class))},[K(t.$slots,"default")],2))}});Object.assign(cl,{__name:"UiCardFooter"});const ul=F({__name:"CardHeader",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("div",{"data-slot":"card-header",class:ke(c(be)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e.class))},[K(t.$slots,"default")],2))}});Object.assign(ul,{__name:"UiCardHeader"});const pl=F({__name:"CardTitle",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("h3",{"data-slot":"card-title",class:ke(c(be)("leading-none font-semibold",e.class))},[K(t.$slots,"default")],2))}});Object.assign(pl,{__name:"UiCardTitle"});const dl={class:"flex items-center justify-between gap-2 mb-1.5"},fl={class:"text-sm font-medium leading-snug"},hl={class:"text-muted-foreground"},gl={key:0,class:"mt-2 flex items-center gap-1.5 text-xs text-destructive"},ml=F({__name:"Card",props:{task:{},blockedBy:{}},emits:["click"],setup(s,{emit:e}){const t=s,a=e,n=$(()=>{switch(t.task.category){case"setup":return{label:"Setup",variant:"secondary"};case"feature":return{label:"Feature",variant:"default"};case"integration":return{label:"Integration",variant:"outline"};case"testing":return{label:"Testing",variant:"secondary"};case"documentation":return{label:"Docs",variant:"secondary"};default:return{label:t.task.category,variant:"secondary"}}}),i=$(()=>{switch(t.task.priority){case"critical":return{icon:Fn,class:"text-destructive",label:"Critical"};case"high":return{icon:Fn,class:"text-orange-500",label:"High"};case"medium":return{icon:Mn,class:"text-muted-foreground",label:"Medium"};case"low":return{icon:ga,class:"text-muted-foreground",label:"Low"};default:return{icon:Mn,class:"text-muted-foreground",label:"Unknown"}}}),l=$(()=>t.blockedBy&&t.blockedBy.length>0),u=$(()=>{const h=t.task.id.match(/(\d+)$/)?.[1];return h?parseInt(h,10):0}),o=$(()=>t.blockedBy?.length??0);function d(){a("click",t.task)}return(p,h)=>(y(),te(c(al),{class:ke(["cursor-pointer py-0 gap-0 transition-all hover:shadow-md hover:border-primary/50",{"opacity-60":c(l)}]),onClick:d},{default:C(()=>[A(c(il),{class:"p-2.5"},{default:C(()=>[P("div",dl,[A(c(on),{variant:c(n).variant,class:"text-xs"},{default:C(()=>[Pe(ee(c(n).label),1)]),_:1},8,["variant"]),(y(),te(is(c(i).icon),{class:ke(["size-4",c(i).class]),title:c(i).label},null,8,["class","title"]))]),P("h4",fl,[P("span",hl,"#"+ee(c(u)),1),Pe(" "+ee(s.task.title),1)]),c(l)?(y(),D("div",gl,[A(c(as),{class:"size-3.5"}),P("span",null,"Blocked by "+ee(c(o))+" task"+ee(c(o)===1?"":"s"),1)])):me("",!0)]),_:1})]),_:1},8,["class"]))}}),kl=Object.assign(ml,{__name:"TasksCard"}),bl={class:"flex h-full min-w-56 flex-1 flex-col overflow-hidden rounded-lg border border-border bg-card"},_l={class:"text-sm font-medium"},xl={class:"ml-auto text-xs text-muted-foreground"},yl={class:"scrollbar-hide min-h-0 flex-1 overflow-y-auto p-1.5"},Tl={class:"space-y-1.5"},vl={key:0,class:"py-8 text-center text-sm text-muted-foreground"},wl=F({__name:"Column",props:{status:{},tasks:{},blockedByMap:{}},emits:["taskClick"],setup(s,{emit:e}){const t=s,a=e,n=$(()=>{switch(t.status){case"pending":return{label:"Pending",icon:Nn,headerClass:"bg-muted/50",iconClass:"text-muted-foreground"};case"in_progress":return{label:"In Progress",icon:ka,headerClass:"bg-blue-500/10",iconClass:"text-blue-500"};case"completed":return{label:"Completed",icon:Zs,headerClass:"bg-green-500/10",iconClass:"text-green-500"};default:return{label:t.status,icon:Nn,headerClass:"bg-muted/50",iconClass:"text-muted-foreground"}}});function i(u){return t.blockedByMap?.get(u)??[]}function l(u){a("taskClick",u)}return(u,o)=>{const d=kl;return y(),D("div",bl,[P("div",{class:ke(["flex items-center gap-2 rounded-t-lg border-b border-border px-3 py-2",c(n).headerClass])},[(y(),te(is(c(n).icon),{class:ke(["size-4",c(n).iconClass])},null,8,["class"])),P("h3",_l,ee(c(n).label),1),P("span",xl,ee(s.tasks.length),1)],2),P("div",yl,[P("div",Tl,[(y(!0),D(os,null,cs(s.tasks,p=>(y(),te(d,{key:p.id,task:p,"blocked-by":i(p.id),onClick:l},null,8,["task","blocked-by"]))),128)),s.tasks.length===0?(y(),D("div",vl," No tasks ")):me("",!0)])])])}}}),Sl=Object.assign(ha(wl,[["__scopeId","data-v-a1317eba"]]),{__name:"TasksColumn"}),Al={class:"flex h-full gap-3 overflow-x-auto pb-2"},El=F({__name:"Board",props:{tasks:{}},emits:["taskClick"],setup(s,{emit:e}){const t=s,a=e;function n(h){const w=h.id.match(/(\d+)$/)?.[1];return w?parseInt(w,10):0}const i=$(()=>t.tasks.filter(h=>h.status==="pending").sort((h,k)=>n(h)-n(k))),l=$(()=>t.tasks.filter(h=>h.status==="in_progress").sort((h,k)=>n(h)-n(k))),u=$(()=>t.tasks.filter(h=>h.status==="completed").sort((h,k)=>{const w=h.completedAt?new Date(h.completedAt).getTime():0;return(k.completedAt?new Date(k.completedAt).getTime():0)-w})),o=$(()=>{const h=new Map,k=new Set(u.value.map(w=>w.id));for(const w of t.tasks)if(w.dependencies.length>0){const x=w.dependencies.filter(H=>!k.has(H));x.length>0&&h.set(w.id,x)}return h}),d=[{status:"pending",tasks:i},{status:"in_progress",tasks:l},{status:"completed",tasks:u}];function p(h){a("taskClick",h)}return(h,k)=>{const w=Sl;return y(),D("div",Al,[(y(),D(os,null,cs(d,x=>A(w,{key:x.status,status:x.status,tasks:x.tasks.value,"blocked-by-map":c(o),onTaskClick:p},null,8,["status","tasks","blocked-by-map"])),64))])}}}),Rl=Object.assign(El,{__name:"TasksBoard"}),Cl=F({__name:"Tabs",props:{defaultValue:{},orientation:{},dir:{},activationMode:{},modelValue:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},emits:["update:modelValue"],setup(s,{emit:e}){const t=s,a=e,n=Pt(t,"class"),i=Fs(n,a);return(l,u)=>(y(),te(c(Ea),Ot({"data-slot":"tabs"},c(i),{class:c(be)("flex flex-col gap-2",t.class)}),{default:C(o=>[K(l.$slots,"default",aa(ra(o)))]),_:3},16,["class"]))}}),Il=Object.assign(Cl,{__name:"UiTabs"}),Ll=F({__name:"TabsContent",props:{value:{},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(s){const e=s,t=Pt(e,"class");return(a,n)=>(y(),te(c(Ca),Ot({"data-slot":"tabs-content",class:c(be)("flex-1 outline-none",e.class)},c(t)),{default:C(()=>[K(a.$slots,"default")]),_:3},16,["class"]))}}),Xt=Object.assign(Ll,{__name:"UiTabsContent"}),Dl=F({__name:"TabsList",props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(s){const e=s,t=Pt(e,"class");return(a,n)=>(y(),te(c(La),Ot({"data-slot":"tabs-list"},c(t),{class:c(be)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e.class)}),{default:C(()=>[K(a.$slots,"default")]),_:3},16,["class"]))}}),Pl=Object.assign(Dl,{__name:"UiTabsList"}),Ol=F({__name:"TabsTrigger",props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(s){const e=s,t=Pt(e,"class"),a=Bs(t);return(n,i)=>(y(),te(c(Pa),Ot({"data-slot":"tabs-trigger",class:c(be)("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e.class)},c(a)),{default:C(()=>[K(n.$slots,"default")]),_:3},16,["class"]))}}),Jt=Object.assign(Ol,{__name:"UiTabsTrigger"}),$l={class:"h-full p-4 md:p-6"},Ml={key:0,class:"flex h-full items-center justify-center"},Nl={class:"flex flex-col items-center gap-4"},zl={key:1,class:"flex h-full items-center justify-center"},Fl={class:"flex max-w-md flex-col items-center gap-4 text-center"},Bl={class:"text-sm text-muted-foreground"},Ul={class:"flex gap-3"},ql={key:2,class:"mx-auto max-w-6xl space-y-6"},Hl={class:"flex flex-wrap items-start justify-between gap-3"},Gl={class:"space-y-2"},jl={class:"flex flex-wrap items-center gap-2"},Vl={class:"text-2xl font-bold tracking-tight"},Wl={key:0},Yl={key:1},Zl={key:0,class:"text-xs text-muted-foreground"},Kl={class:"rounded-lg border border-border bg-card p-4 md:p-6"},Ql={key:0,class:"h-[calc(100vh-280px)] min-h-[400px]"},Xl={key:1,class:"py-12 text-center"},Jl={class:"h-[calc(100vh-300px)] min-h-[440px] motion-safe:transition-[opacity,transform] motion-safe:duration-200 motion-safe:ease-[var(--ease-out-cubic)] motion-reduce:transition-none"},en="prd-viewer-tab",Ze="task",Ke="taskPrd",ci=F({__name:"[prd]",setup(s){function e(f){return f==="document"||f==="board"||f==="graph"}function t(f){if(typeof f=="string"){const g=f.trim();return g.length>0?g:null}if(Array.isArray(f)&&f.length>0){const g=f[0];if(typeof g=="string"){const v=g.trim();return v.length>0?v:null}}return null}function a(f){const g=f;return g.statusCode??g.status}function n(f,g){const v=f;return v.data?.message||v.statusMessage||v.message||g}const i=la(),l=ia(),{selectRepo:u}=Gs(),{prds:o,showArchived:d,setPrdArchived:p,fetchDocument:h,fetchTasks:k,fetchProgress:w,fetchTaskCommits:x,fetchPrdGraph:H}=js(),{showError:G}=Vs(),O=$(()=>i.params.repo),T=$(()=>i.params.prd),L=z(null),E=z(null),le=z(null),Q=z(!0),oe=z(null),X=z("document"),Y=z(null),Xe=z(!1),U=z(null),_e=z({}),xe=z(null),pe=z(null),ye=z(!1),Te=z([]),Me=z(!1),He=$(()=>t(i.query[Ze])),kt=$(()=>t(i.query[Ke])),Je=$(()=>He.value?{taskId:He.value,prdSlug:kt.value||T.value}:null);function B(f,g){_e.value={..._e.value,[f]:g}}async function et(f){if(f===T.value)return E.value;if(Object.prototype.hasOwnProperty.call(_e.value,f))return _e.value[f]??null;try{const g=await k(f);return B(f,g),g}catch(g){return G("Failed to load tasks",n(g,`Could not load tasks for ${f}.`)),null}}function j(){const f={};for(const[g,v]of Object.entries(i.query))if(!(g===Ze||g===Ke)){if(typeof v=="string"){f[g]=v;continue}if(Array.isArray(v)){const W=v.filter(ce=>typeof ce=="string");W.length>0&&(f[g]=W)}}return f}async function Ge(f,g=null){const v=j();f&&(v[Ze]=f,g&&g!==T.value&&(v[Ke]=g));const W=typeof v[Ze]=="string"?v[Ze]:null,ce=typeof v[Ke]=="string"?v[Ke]:null;He.value===W&&kt.value===ce||await l.replace({query:v})}async function M(f,g){xe.value=f,pe.value=g,ye.value=!0,Te.value=[],await Ge(f.id,g);try{Te.value=await x(g,f.id)}catch(v){Te.value=[],G("Failed to load commits",n(v,"Could not resolve commits for this task."))}}async function Oe(){const f=Je.value;if(!f){xe.value=null,pe.value=null,Te.value=[],ye.value=!1;return}const v=(await et(f.prdSlug))?.tasks.find(ce=>ce.id===f.taskId);if(!v){xe.value=null,pe.value=null,Te.value=[],ye.value=!1,G("Task unavailable",`Could not find ${f.taskId} in ${f.prdSlug}.`),await Ge(null);return}const W=xe.value?.id===v.id&&pe.value===f.prdSlug;if(xe.value=v,pe.value=f.prdSlug,ye.value=!0,!W)try{Te.value=await x(f.prdSlug,v.id)}catch(ce){Te.value=[],G("Failed to load commits",n(ce,"Could not resolve commits for this task."))}}const tt=$(()=>{const f=new Map,g=pe.value||T.value,v=g===T.value?E.value:_e.value[g]??null;if(!v?.tasks)return f;for(const W of v.tasks)f.set(W.id,W.title);return f});function Ee(f){f.key===en&&f.newValue&&e(f.newValue)&&(X.value=f.newValue)}Rt(()=>{const f=localStorage.getItem(en);f&&e(f)&&(X.value=f),window.addEventListener("storage",Ee)}),ls(()=>{window.removeEventListener("storage",Ee)}),Fe(X,f=>{localStorage.setItem(en,f)});const bt=oa("fileChangeEvent",z(null));async function nt(){try{const f=await h(T.value);f&&(L.value=f,oe.value=null)}catch(f){if(a(f)===404){oe.value=`PRD "${T.value}" not found in this repository.`;return}G("Failed to reload PRD",n(f,"Could not refresh the PRD document."))}}async function _t(){try{const[f,g]=await Promise.all([k(T.value),w(T.value)]);E.value=f,le.value=g,B(T.value,f)}catch(f){G("Failed to refresh task state",n(f,"Could not refresh tasks and progress."))}}async function je(f=!1){Xe.value=!0;try{if(!f&&Y.value?.prdSlug===T.value)return;const g=await H(T.value);if(!g){U.value="Failed to load PRD graph.";return}Y.value=g,U.value=null}catch(g){U.value=n(g,"Failed to load PRD graph.")}finally{Xe.value=!1}}async function Re(f=!1){X.value==="graph"&&await je(f)}async function $e(){Q.value=!0,oe.value=null,U.value=null,Y.value=null,_e.value={};try{u(O.value);const[f,g,v]=await Promise.all([h(T.value),k(T.value),w(T.value)]);if(!f){oe.value=`PRD "${T.value}" not found in this repository.`;return}L.value=f,E.value=g,le.value=v,B(T.value,g),!g&&X.value==="board"&&(X.value="document"),await Re(),await Oe()}catch(f){const g=a(f);g===404?oe.value=`PRD "${T.value}" not found. Check if the file exists in docs/prd/.`:g===500?(oe.value="Server error while loading the PRD. Check the file format.",G("Server error",n(f,"Failed to read PRD file"))):(oe.value="Failed to load PRD document. Please try again.",G("Load failed",n(f,"Could not fetch the PRD document")))}finally{Q.value=!1}}Fe(X,async f=>{f==="graph"&&await Re()}),Fe(()=>[i.query[Ze],i.query[Ke],T.value],async()=>{Q.value||await Oe()}),Fe(ye,async f=>{!f&&Je.value&&await Ge(null)}),Fe(()=>bt.value,async f=>{if(!f)return;if(f.category==="prd"){await nt(),X.value==="graph"&&await je(!0);return}if(f.category!=="tasks"&&f.category!=="progress")return;const g=f.path?.includes(`/${T.value}/`)??!1;g&&(await _t(),Y.value=null),X.value==="graph"&&g&&await je(!0)}),Rt($e),Fe([O,T],$e);async function Ce(f){await M(f,T.value)}async function st(f){const v=(await et(f.prdSlug))?.tasks.find(W=>W.id===f.taskId);if(!v){G("Task unavailable",`Could not find ${f.taskId} in ${f.prdSlug}.`);return}await M(v,f.prdSlug)}async function at(f){if(!(!L.value||Me.value)){Me.value=!0;try{const g=await p(T.value,f);if(L.value&&(L.value={...L.value,archived:g.archived,archivedAt:g.archivedAt}),f&&!d.value){const v=o.value?.find(W=>W.slug!==T.value);v?await l.push(`/${O.value}/${v.slug}`):await l.push("/")}}catch(g){G("Failed to update archive state",n(g,"Could not update this PRD archive state."))}finally{Me.value=!1}}}return(f,g)=>{const v=Ns,W=Ba,ce=nl,Nt=Rl,rt=Qs,Ne=Ks;return y(),D("div",$l,[c(Q)?(y(),D("div",Ml,[P("div",Nl,[A(c(Us),{class:"size-8 animate-spin text-primary"}),g[3]||(g[3]=P("p",{class:"text-sm text-muted-foreground"},"Loading PRD...",-1))])])):c(oe)?(y(),D("div",zl,[P("div",Fl,[A(c(as),{class:"size-12 text-destructive"}),g[6]||(g[6]=P("h2",{class:"text-lg font-semibold"},"Error Loading PRD",-1)),P("p",Bl,ee(c(oe)),1),P("div",Ul,[A(c(jt),{variant:"outline",size:"sm",onClick:$e},{default:C(()=>[A(c(qs),{class:"mr-2 size-4"}),g[4]||(g[4]=Pe(" Retry ",-1))]),_:1}),A(v,{to:"/"},{default:C(()=>[A(c(jt),{variant:"ghost",size:"sm"},{default:C(()=>[...g[5]||(g[5]=[Pe(" Go back home ",-1)])]),_:1})]),_:1})])])])):c(L)?(y(),D("div",ql,[P("div",Hl,[P("div",Gl,[P("div",jl,[P("h1",Vl,ee(c(L).name),1),c(L).archived?(y(),te(c(on),{key:0,variant:"outline",class:"text-[10px] uppercase tracking-wide"},{default:C(()=>[...g[7]||(g[7]=[Pe(" Archived ",-1)])]),_:1})):me("",!0)]),A(W,{metadata:c(L).metadata},null,8,["metadata"])]),A(c(jt),{variant:"outline",size:"sm",disabled:c(Me),onClick:g[0]||(g[0]=de=>at(!c(L).archived))},{default:C(()=>[c(Me)?(y(),D("span",Wl,"Saving...")):(y(),D("span",Yl,ee(c(L).archived?"Restore document":"Archive document"),1))]),_:1},8,["disabled"])]),A(c(Il),{modelValue:c(X),"onUpdate:modelValue":g[1]||(g[1]=de=>zn(X)?X.value=de:null),class:"w-full"},{default:C(()=>[A(c(Pl),null,{default:C(()=>[A(c(Jt),{value:"document",class:"gap-2"},{default:C(()=>[A(c(Ws),{class:"size-4"}),g[8]||(g[8]=Pe(" Document ",-1))]),_:1}),A(c(Jt),{value:"board",class:"gap-2",disabled:!c(E)},{default:C(()=>[A(c(Bn),{class:"size-4"}),g[9]||(g[9]=Pe(" Task Board ",-1)),c(E)?(y(),D("span",Zl," ("+ee(c(E).tasks.length)+") ",1)):me("",!0)]),_:1},8,["disabled"]),A(c(Jt),{value:"graph",class:"gap-2"},{default:C(()=>[A(c(Hs),{class:"size-4"}),g[10]||(g[10]=Pe(" Graph ",-1))]),_:1})]),_:1}),A(c(Xt),{value:"document",class:"mt-4"},{default:C(()=>[P("div",Kl,[A(ce,{content:c(L).content},null,8,["content"])])]),_:1}),A(c(Xt),{value:"board",class:"mt-4"},{default:C(()=>[c(E)?(y(),D("div",Ql,[A(Nt,{tasks:c(E).tasks,onTaskClick:Ce},null,8,["tasks"])])):(y(),D("div",Xl,[A(c(Bn),{class:"mx-auto size-12 text-muted-foreground/50"}),g[11]||(g[11]=P("p",{class:"mt-4 text-muted-foreground"}," No tasks found for this PRD ",-1)),g[12]||(g[12]=P("p",{class:"mt-1 text-sm text-muted-foreground/70"}," Task state has not been generated for this PRD yet. ",-1))]))]),_:1}),A(c(Xt),{value:"graph",class:"mt-4"},{default:C(()=>[P("div",Jl,[A(rt,{payload:c(Y),scope:"prd",loading:c(Xe),error:c(U),onTaskClick:st},null,8,["payload","loading","error"])])]),_:1})]),_:1},8,["modelValue"])])):me("",!0),A(Ne,{open:c(ye),"onUpdate:open":g[2]||(g[2]=de=>zn(ye)?ye.value=de:null),task:c(xe),"task-titles":c(tt),commits:c(Te),"repo-id":c(O),"task-prd-slug":c(pe),"current-prd-slug":c(T)},null,8,["open","task","task-titles","commits","repo-id","task-prd-slug","current-prd-slug"])])}}});export{ci as default};
59
+ Please report this to https://github.com/markedjs/marked.`,s){let a="<p>An error occurred:</p><pre>"+Se(t.message+"",!0)+"</pre>";return e?Promise.resolve(a):a}if(e)return Promise.reject(t);throw t}}},Ue=new Cr;function I(s,e){return Ue.parse(s,e)}I.options=I.setOptions=function(s){return Ue.setOptions(s),I.defaults=Ue.defaults,hs(I.defaults),I};I.getDefaults=pn;I.defaults=qe;I.use=function(...s){return Ue.use(...s),I.defaults=Ue.defaults,hs(I.defaults),I};I.walkTokens=function(s,e){return Ue.walkTokens(s,e)};I.parseInline=Ue.parseInline;I.Parser=ge;I.parser=ge.parse;I.Renderer=Lt;I.TextRenderer=_n;I.Lexer=he;I.lexer=he.lex;I.Tokenizer=It;I.Hooks=ht;I.parse=I;I.options;I.setOptions;I.use;I.walkTokens;I.parseInline;ge.parse;he.lex;const{entries:As,setPrototypeOf:Wn,isFrozen:Ir,getPrototypeOf:Lr,getOwnPropertyDescriptor:Dr}=Object;let{freeze:ae,seal:ue,create:an}=Object,{apply:rn,construct:ln}=typeof Reflect<"u"&&Reflect;ae||(ae=function(e){return e});ue||(ue=function(e){return e});rn||(rn=function(e,t){for(var a=arguments.length,n=new Array(a>2?a-2:0),i=2;i<a;i++)n[i-2]=arguments[i];return e.apply(t,n)});ln||(ln=function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];return new e(...a)});const St=re(Array.prototype.forEach),Pr=re(Array.prototype.lastIndexOf),Yn=re(Array.prototype.pop),ct=re(Array.prototype.push),Or=re(Array.prototype.splice),Et=re(String.prototype.toLowerCase),Vt=re(String.prototype.toString),Wt=re(String.prototype.match),ut=re(String.prototype.replace),$r=re(String.prototype.indexOf),Mr=re(String.prototype.trim),fe=re(Object.prototype.hasOwnProperty),ne=re(RegExp.prototype.test),pt=Nr(TypeError);function re(s){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,a=new Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];return rn(s,e,a)}}function Nr(s){return function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return ln(s,t)}}function S(s,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Et;Wn&&Wn(s,null);let a=e.length;for(;a--;){let n=e[a];if(typeof n=="string"){const i=t(n);i!==n&&(Ir(e)||(e[a]=i),n=i)}s[n]=!0}return s}function zr(s){for(let e=0;e<s.length;e++)fe(s,e)||(s[e]=null);return s}function Ae(s){const e=an(null);for(const[t,a]of As(s))fe(s,t)&&(Array.isArray(a)?e[t]=zr(a):a&&typeof a=="object"&&a.constructor===Object?e[t]=Ae(a):e[t]=a);return e}function dt(s,e){for(;s!==null;){const a=Dr(s,e);if(a){if(a.get)return re(a.get);if(typeof a.value=="function")return re(a.value)}s=Lr(s)}function t(){return null}return t}const Zn=ae(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Yt=ae(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Zt=ae(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Fr=ae(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Kt=ae(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Br=ae(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Kn=ae(["#text"]),Qn=ae(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),Qt=ae(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Xn=ae(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),At=ae(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Ur=ue(/\{\{[\w\W]*|[\w\W]*\}\}/gm),qr=ue(/<%[\w\W]*|[\w\W]*%>/gm),Hr=ue(/\$\{[\w\W]*/gm),Gr=ue(/^data-[\-\w.\u00B7-\uFFFF]+$/),jr=ue(/^aria-[\-\w]+$/),Es=ue(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Vr=ue(/^(?:\w+script|data):/i),Wr=ue(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Rs=ue(/^html$/i),Yr=ue(/^[a-z][.\w]*(-[.\w]+)+$/i);var Jn=Object.freeze({__proto__:null,ARIA_ATTR:jr,ATTR_WHITESPACE:Wr,CUSTOM_ELEMENT:Yr,DATA_ATTR:Gr,DOCTYPE_NAME:Rs,ERB_EXPR:qr,IS_ALLOWED_URI:Es,IS_SCRIPT_OR_DATA:Vr,MUSTACHE_EXPR:Ur,TMPLIT_EXPR:Hr});const ft={element:1,text:3,progressingInstruction:7,comment:8,document:9},Zr=function(){return typeof window>"u"?null:window},Kr=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let a=null;const n="data-tt-policy-suffix";t&&t.hasAttribute(n)&&(a=t.getAttribute(n));const i="dompurify"+(a?"#"+a:"");try{return e.createPolicy(i,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},es=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Cs(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Zr();const e=_=>Cs(_);if(e.version="3.3.1",e.removed=[],!s||!s.document||s.document.nodeType!==ft.document||!s.Element)return e.isSupported=!1,e;let{document:t}=s;const a=t,n=a.currentScript,{DocumentFragment:i,HTMLTemplateElement:l,Node:u,Element:o,NodeFilter:d,NamedNodeMap:p=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:h,DOMParser:k,trustedTypes:w}=s,x=o.prototype,H=dt(x,"cloneNode"),G=dt(x,"remove"),O=dt(x,"nextSibling"),T=dt(x,"childNodes"),L=dt(x,"parentNode");if(typeof l=="function"){const _=t.createElement("template");_.content&&_.content.ownerDocument&&(t=_.content.ownerDocument)}let E,le="";const{implementation:Q,createNodeIterator:oe,createDocumentFragment:X,getElementsByTagName:Y}=t,{importNode:Xe}=a;let U=es();e.isSupported=typeof As=="function"&&typeof L=="function"&&Q&&Q.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:_e,ERB_EXPR:xe,TMPLIT_EXPR:pe,DATA_ATTR:ye,ARIA_ATTR:Te,IS_SCRIPT_OR_DATA:Me,ATTR_WHITESPACE:He,CUSTOM_ELEMENT:kt}=Jn;let{IS_ALLOWED_URI:Je}=Jn,B=null;const et=S({},[...Zn,...Yt,...Zt,...Kt,...Kn]);let j=null;const Ge=S({},[...Qn,...Qt,...Xn,...At]);let M=Object.seal(an(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ee=null,tt=null;const Re=Object.seal(an(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let bt=!0,nt=!0,_t=!1,je=!0,Ce=!1,$e=!0,Ie=!1,st=!1,at=!1,f=!1,g=!1,v=!1,W=!0,ce=!1;const Nt="user-content-";let rt=!0,Ne=!1,de={},ve=null;const zt=S({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let xn=null;const yn=S({},["audio","video","img","source","image","track"]);let Ft=null;const Tn=S({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),xt="http://www.w3.org/1998/Math/MathML",yt="http://www.w3.org/2000/svg",Le="http://www.w3.org/1999/xhtml";let Ve=Le,Bt=!1,Ut=null;const Is=S({},[xt,yt,Le],Vt);let Tt=S({},["mi","mo","mn","ms","mtext"]),vt=S({},["annotation-xml"]);const Ls=S({},["title","style","font","a","script"]);let lt=null;const Ds=["application/xhtml+xml","text/html"],Ps="text/html";let V=null,We=null;const Os=t.createElement("form"),vn=function(r){return r instanceof RegExp||r instanceof Function},qt=function(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(We&&We===r)){if((!r||typeof r!="object")&&(r={}),r=Ae(r),lt=Ds.indexOf(r.PARSER_MEDIA_TYPE)===-1?Ps:r.PARSER_MEDIA_TYPE,V=lt==="application/xhtml+xml"?Vt:Et,B=fe(r,"ALLOWED_TAGS")?S({},r.ALLOWED_TAGS,V):et,j=fe(r,"ALLOWED_ATTR")?S({},r.ALLOWED_ATTR,V):Ge,Ut=fe(r,"ALLOWED_NAMESPACES")?S({},r.ALLOWED_NAMESPACES,Vt):Is,Ft=fe(r,"ADD_URI_SAFE_ATTR")?S(Ae(Tn),r.ADD_URI_SAFE_ATTR,V):Tn,xn=fe(r,"ADD_DATA_URI_TAGS")?S(Ae(yn),r.ADD_DATA_URI_TAGS,V):yn,ve=fe(r,"FORBID_CONTENTS")?S({},r.FORBID_CONTENTS,V):zt,Ee=fe(r,"FORBID_TAGS")?S({},r.FORBID_TAGS,V):Ae({}),tt=fe(r,"FORBID_ATTR")?S({},r.FORBID_ATTR,V):Ae({}),de=fe(r,"USE_PROFILES")?r.USE_PROFILES:!1,bt=r.ALLOW_ARIA_ATTR!==!1,nt=r.ALLOW_DATA_ATTR!==!1,_t=r.ALLOW_UNKNOWN_PROTOCOLS||!1,je=r.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ce=r.SAFE_FOR_TEMPLATES||!1,$e=r.SAFE_FOR_XML!==!1,Ie=r.WHOLE_DOCUMENT||!1,f=r.RETURN_DOM||!1,g=r.RETURN_DOM_FRAGMENT||!1,v=r.RETURN_TRUSTED_TYPE||!1,at=r.FORCE_BODY||!1,W=r.SANITIZE_DOM!==!1,ce=r.SANITIZE_NAMED_PROPS||!1,rt=r.KEEP_CONTENT!==!1,Ne=r.IN_PLACE||!1,Je=r.ALLOWED_URI_REGEXP||Es,Ve=r.NAMESPACE||Le,Tt=r.MATHML_TEXT_INTEGRATION_POINTS||Tt,vt=r.HTML_INTEGRATION_POINTS||vt,M=r.CUSTOM_ELEMENT_HANDLING||{},r.CUSTOM_ELEMENT_HANDLING&&vn(r.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(M.tagNameCheck=r.CUSTOM_ELEMENT_HANDLING.tagNameCheck),r.CUSTOM_ELEMENT_HANDLING&&vn(r.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(M.attributeNameCheck=r.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),r.CUSTOM_ELEMENT_HANDLING&&typeof r.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(M.allowCustomizedBuiltInElements=r.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Ce&&(nt=!1),g&&(f=!0),de&&(B=S({},Kn),j=[],de.html===!0&&(S(B,Zn),S(j,Qn)),de.svg===!0&&(S(B,Yt),S(j,Qt),S(j,At)),de.svgFilters===!0&&(S(B,Zt),S(j,Qt),S(j,At)),de.mathMl===!0&&(S(B,Kt),S(j,Xn),S(j,At))),r.ADD_TAGS&&(typeof r.ADD_TAGS=="function"?Re.tagCheck=r.ADD_TAGS:(B===et&&(B=Ae(B)),S(B,r.ADD_TAGS,V))),r.ADD_ATTR&&(typeof r.ADD_ATTR=="function"?Re.attributeCheck=r.ADD_ATTR:(j===Ge&&(j=Ae(j)),S(j,r.ADD_ATTR,V))),r.ADD_URI_SAFE_ATTR&&S(Ft,r.ADD_URI_SAFE_ATTR,V),r.FORBID_CONTENTS&&(ve===zt&&(ve=Ae(ve)),S(ve,r.FORBID_CONTENTS,V)),r.ADD_FORBID_CONTENTS&&(ve===zt&&(ve=Ae(ve)),S(ve,r.ADD_FORBID_CONTENTS,V)),rt&&(B["#text"]=!0),Ie&&S(B,["html","head","body"]),B.table&&(S(B,["tbody"]),delete Ee.tbody),r.TRUSTED_TYPES_POLICY){if(typeof r.TRUSTED_TYPES_POLICY.createHTML!="function")throw pt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof r.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw pt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=r.TRUSTED_TYPES_POLICY,le=E.createHTML("")}else E===void 0&&(E=Kr(w,n)),E!==null&&typeof le=="string"&&(le=E.createHTML(""));ae&&ae(r),We=r}},wn=S({},[...Yt,...Zt,...Fr]),Sn=S({},[...Kt,...Br]),$s=function(r){let m=L(r);(!m||!m.tagName)&&(m={namespaceURI:Ve,tagName:"template"});const b=Et(r.tagName),N=Et(m.tagName);return Ut[r.namespaceURI]?r.namespaceURI===yt?m.namespaceURI===Le?b==="svg":m.namespaceURI===xt?b==="svg"&&(N==="annotation-xml"||Tt[N]):!!wn[b]:r.namespaceURI===xt?m.namespaceURI===Le?b==="math":m.namespaceURI===yt?b==="math"&&vt[N]:!!Sn[b]:r.namespaceURI===Le?m.namespaceURI===yt&&!vt[N]||m.namespaceURI===xt&&!Tt[N]?!1:!Sn[b]&&(Ls[b]||!wn[b]):!!(lt==="application/xhtml+xml"&&Ut[r.namespaceURI]):!1},we=function(r){ct(e.removed,{element:r});try{L(r).removeChild(r)}catch{G(r)}},ze=function(r,m){try{ct(e.removed,{attribute:m.getAttributeNode(r),from:m})}catch{ct(e.removed,{attribute:null,from:m})}if(m.removeAttribute(r),r==="is")if(f||g)try{we(m)}catch{}else try{m.setAttribute(r,"")}catch{}},An=function(r){let m=null,b=null;if(at)r="<remove></remove>"+r;else{const q=Wt(r,/^[\r\n\t ]+/);b=q&&q[0]}lt==="application/xhtml+xml"&&Ve===Le&&(r='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+r+"</body></html>");const N=E?E.createHTML(r):r;if(Ve===Le)try{m=new k().parseFromString(N,lt)}catch{}if(!m||!m.documentElement){m=Q.createDocument(Ve,"template",null);try{m.documentElement.innerHTML=Bt?le:N}catch{}}const J=m.body||m.documentElement;return r&&b&&J.insertBefore(t.createTextNode(b),J.childNodes[0]||null),Ve===Le?Y.call(m,Ie?"html":"body")[0]:Ie?m.documentElement:J},En=function(r){return oe.call(r.ownerDocument||r,r,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT|d.SHOW_PROCESSING_INSTRUCTION|d.SHOW_CDATA_SECTION,null)},Ht=function(r){return r instanceof h&&(typeof r.nodeName!="string"||typeof r.textContent!="string"||typeof r.removeChild!="function"||!(r.attributes instanceof p)||typeof r.removeAttribute!="function"||typeof r.setAttribute!="function"||typeof r.namespaceURI!="string"||typeof r.insertBefore!="function"||typeof r.hasChildNodes!="function")},Rn=function(r){return typeof u=="function"&&r instanceof u};function De(_,r,m){St(_,b=>{b.call(e,r,m,We)})}const Cn=function(r){let m=null;if(De(U.beforeSanitizeElements,r,null),Ht(r))return we(r),!0;const b=V(r.nodeName);if(De(U.uponSanitizeElement,r,{tagName:b,allowedTags:B}),$e&&r.hasChildNodes()&&!Rn(r.firstElementChild)&&ne(/<[/\w!]/g,r.innerHTML)&&ne(/<[/\w!]/g,r.textContent)||r.nodeType===ft.progressingInstruction||$e&&r.nodeType===ft.comment&&ne(/<[/\w]/g,r.data))return we(r),!0;if(!(Re.tagCheck instanceof Function&&Re.tagCheck(b))&&(!B[b]||Ee[b])){if(!Ee[b]&&Ln(b)&&(M.tagNameCheck instanceof RegExp&&ne(M.tagNameCheck,b)||M.tagNameCheck instanceof Function&&M.tagNameCheck(b)))return!1;if(rt&&!ve[b]){const N=L(r)||r.parentNode,J=T(r)||r.childNodes;if(J&&N){const q=J.length;for(let ie=q-1;ie>=0;--ie){const Pe=H(J[ie],!0);Pe.__removalCount=(r.__removalCount||0)+1,N.insertBefore(Pe,O(r))}}}return we(r),!0}return r instanceof o&&!$s(r)||(b==="noscript"||b==="noembed"||b==="noframes")&&ne(/<\/no(script|embed|frames)/i,r.innerHTML)?(we(r),!0):(Ce&&r.nodeType===ft.text&&(m=r.textContent,St([_e,xe,pe],N=>{m=ut(m,N," ")}),r.textContent!==m&&(ct(e.removed,{element:r.cloneNode()}),r.textContent=m)),De(U.afterSanitizeElements,r,null),!1)},In=function(r,m,b){if(W&&(m==="id"||m==="name")&&(b in t||b in Os))return!1;if(!(nt&&!tt[m]&&ne(ye,m))){if(!(bt&&ne(Te,m))){if(!(Re.attributeCheck instanceof Function&&Re.attributeCheck(m,r))){if(!j[m]||tt[m]){if(!(Ln(r)&&(M.tagNameCheck instanceof RegExp&&ne(M.tagNameCheck,r)||M.tagNameCheck instanceof Function&&M.tagNameCheck(r))&&(M.attributeNameCheck instanceof RegExp&&ne(M.attributeNameCheck,m)||M.attributeNameCheck instanceof Function&&M.attributeNameCheck(m,r))||m==="is"&&M.allowCustomizedBuiltInElements&&(M.tagNameCheck instanceof RegExp&&ne(M.tagNameCheck,b)||M.tagNameCheck instanceof Function&&M.tagNameCheck(b))))return!1}else if(!Ft[m]){if(!ne(Je,ut(b,He,""))){if(!((m==="src"||m==="xlink:href"||m==="href")&&r!=="script"&&$r(b,"data:")===0&&xn[r])){if(!(_t&&!ne(Me,ut(b,He,"")))){if(b)return!1}}}}}}}return!0},Ln=function(r){return r!=="annotation-xml"&&Wt(r,kt)},Dn=function(r){De(U.beforeSanitizeAttributes,r,null);const{attributes:m}=r;if(!m||Ht(r))return;const b={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:j,forceKeepAttr:void 0};let N=m.length;for(;N--;){const J=m[N],{name:q,namespaceURI:ie,value:Pe}=J,Ye=V(q),Gt=Pe;let Z=q==="value"?Gt:Mr(Gt);if(b.attrName=Ye,b.attrValue=Z,b.keepAttr=!0,b.forceKeepAttr=void 0,De(U.uponSanitizeAttribute,r,b),Z=b.attrValue,ce&&(Ye==="id"||Ye==="name")&&(ze(q,r),Z=Nt+Z),$e&&ne(/((--!?|])>)|<\/(style|title|textarea)/i,Z)){ze(q,r);continue}if(Ye==="attributename"&&Wt(Z,"href")){ze(q,r);continue}if(b.forceKeepAttr)continue;if(!b.keepAttr){ze(q,r);continue}if(!je&&ne(/\/>/i,Z)){ze(q,r);continue}Ce&&St([_e,xe,pe],On=>{Z=ut(Z,On," ")});const Pn=V(r.nodeName);if(!In(Pn,Ye,Z)){ze(q,r);continue}if(E&&typeof w=="object"&&typeof w.getAttributeType=="function"&&!ie)switch(w.getAttributeType(Pn,Ye)){case"TrustedHTML":{Z=E.createHTML(Z);break}case"TrustedScriptURL":{Z=E.createScriptURL(Z);break}}if(Z!==Gt)try{ie?r.setAttributeNS(ie,q,Z):r.setAttribute(q,Z),Ht(r)?we(r):Yn(e.removed)}catch{ze(q,r)}}De(U.afterSanitizeAttributes,r,null)},Ms=function _(r){let m=null;const b=En(r);for(De(U.beforeSanitizeShadowDOM,r,null);m=b.nextNode();)De(U.uponSanitizeShadowNode,m,null),Cn(m),Dn(m),m.content instanceof i&&_(m.content);De(U.afterSanitizeShadowDOM,r,null)};return e.sanitize=function(_){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},m=null,b=null,N=null,J=null;if(Bt=!_,Bt&&(_="<!-->"),typeof _!="string"&&!Rn(_))if(typeof _.toString=="function"){if(_=_.toString(),typeof _!="string")throw pt("dirty is not a string, aborting")}else throw pt("toString is not a function");if(!e.isSupported)return _;if(st||qt(r),e.removed=[],typeof _=="string"&&(Ne=!1),Ne){if(_.nodeName){const Pe=V(_.nodeName);if(!B[Pe]||Ee[Pe])throw pt("root node is forbidden and cannot be sanitized in-place")}}else if(_ instanceof u)m=An("<!---->"),b=m.ownerDocument.importNode(_,!0),b.nodeType===ft.element&&b.nodeName==="BODY"||b.nodeName==="HTML"?m=b:m.appendChild(b);else{if(!f&&!Ce&&!Ie&&_.indexOf("<")===-1)return E&&v?E.createHTML(_):_;if(m=An(_),!m)return f?null:v?le:""}m&&at&&we(m.firstChild);const q=En(Ne?_:m);for(;N=q.nextNode();)Cn(N),Dn(N),N.content instanceof i&&Ms(N.content);if(Ne)return _;if(f){if(g)for(J=X.call(m.ownerDocument);m.firstChild;)J.appendChild(m.firstChild);else J=m;return(j.shadowroot||j.shadowrootmode)&&(J=Xe.call(a,J,!0)),J}let ie=Ie?m.outerHTML:m.innerHTML;return Ie&&B["!doctype"]&&m.ownerDocument&&m.ownerDocument.doctype&&m.ownerDocument.doctype.name&&ne(Rs,m.ownerDocument.doctype.name)&&(ie="<!DOCTYPE "+m.ownerDocument.doctype.name+`>
60
+ `+ie),Ce&&St([_e,xe,pe],Pe=>{ie=ut(ie,Pe," ")}),E&&v?E.createHTML(ie):ie},e.setConfig=function(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};qt(_),st=!0},e.clearConfig=function(){We=null,st=!1},e.isValidAttribute=function(_,r,m){We||qt({});const b=V(_),N=V(r);return In(b,N,m)},e.addHook=function(_,r){typeof r=="function"&&ct(U[_],r)},e.removeHook=function(_,r){if(r!==void 0){const m=Pr(U[_],r);return m===-1?void 0:Or(U[_],m,1)[0]}return Yn(U[_])},e.removeHooks=function(_){U[_]=[]},e.removeAllHooks=function(){U=es()},e}var Qr=Cs();const Xr={class:"prd-viewer"},Jr={key:0,class:"flex items-center justify-center py-8"},el=["innerHTML"],tl=F({__name:"Viewer",props:{content:{}},setup(s){const e=s,t=z(""),a=z(!0),n={ADD_TAGS:["style"],ADD_ATTR:["style","class","target","rel"]},i=new I.Renderer;i.link=({href:d,title:p,text:h})=>{const k=p?` title="${p}"`:"";return`<a href="${d}"${k} target="_blank" rel="noopener noreferrer">${h}</a>`};async function l(d,p){try{return await ca(d,{lang:p||"text",themes:{light:"github-light",dark:"github-dark"}})}catch{return`<pre><code class="language-${p}">${u(d)}</code></pre>`}}function u(d){return d.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}async function o(d){const p=/```(\w*)\n([\s\S]*?)```/g,h=[];let k=0;const w=d.replace(p,(O,T,L)=>{const E=`CODEBLOCK${k++}PLACEHOLDER`;return h.push({placeholder:E,lang:T||"text",code:L.trim()}),E});I.setOptions({renderer:i,gfm:!0,breaks:!0});let x=await I.parse(w);const H=h.map(async({placeholder:O,lang:T,code:L})=>{const E=await l(L,T);return{placeholder:O,highlighted:E}}),G=await Promise.all(H);for(const{placeholder:O,highlighted:T}of G)x=x.replace(`<p>${O}</p>`,T),x=x.replace(O,T);return Qr.sanitize(x,n)}return Fe(()=>e.content,async d=>{if(!d){t.value="",a.value=!1;return}a.value=!0;try{t.value=await o(d)}finally{a.value=!1}},{immediate:!0}),(d,p)=>(y(),D("div",Xr,[c(a)?(y(),D("div",Jr,[...p[0]||(p[0]=[P("div",{class:"size-6 animate-spin rounded-full border-2 border-primary border-t-transparent"},null,-1)])])):(y(),D("div",{key:1,class:"prose prose-sm dark:prose-invert max-w-none",innerHTML:c(t)},null,8,el))]))}}),nl=Object.assign(tl,{__name:"PrdViewer"}),sl=F({__name:"Card",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("div",{"data-slot":"card",class:ke(c(be)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e.class))},[K(t.$slots,"default")],2))}}),al=Object.assign(sl,{__name:"UiCard"}),rl=F({__name:"CardAction",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("div",{"data-slot":"card-action",class:ke(c(be)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",e.class))},[K(t.$slots,"default")],2))}});Object.assign(rl,{__name:"UiCardAction"});const ll=F({__name:"CardContent",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("div",{"data-slot":"card-content",class:ke(c(be)("px-6",e.class))},[K(t.$slots,"default")],2))}}),il=Object.assign(ll,{__name:"UiCardContent"}),ol=F({__name:"CardDescription",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("p",{"data-slot":"card-description",class:ke(c(be)("text-muted-foreground text-sm",e.class))},[K(t.$slots,"default")],2))}});Object.assign(ol,{__name:"UiCardDescription"});const cl=F({__name:"CardFooter",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("div",{"data-slot":"card-footer",class:ke(c(be)("flex items-center px-6 [.border-t]:pt-6",e.class))},[K(t.$slots,"default")],2))}});Object.assign(cl,{__name:"UiCardFooter"});const ul=F({__name:"CardHeader",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("div",{"data-slot":"card-header",class:ke(c(be)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e.class))},[K(t.$slots,"default")],2))}});Object.assign(ul,{__name:"UiCardHeader"});const pl=F({__name:"CardTitle",props:{class:{}},setup(s){const e=s;return(t,a)=>(y(),D("h3",{"data-slot":"card-title",class:ke(c(be)("leading-none font-semibold",e.class))},[K(t.$slots,"default")],2))}});Object.assign(pl,{__name:"UiCardTitle"});const dl={class:"flex items-center justify-between gap-2 mb-1.5"},fl={class:"text-sm font-medium leading-snug"},hl={class:"text-muted-foreground"},gl={key:0,class:"mt-2 flex items-center gap-1.5 text-xs text-destructive"},ml=F({__name:"Card",props:{task:{},blockedBy:{}},emits:["click"],setup(s,{emit:e}){const t=s,a=e,n=$(()=>{switch(t.task.category){case"setup":return{label:"Setup",variant:"secondary"};case"feature":return{label:"Feature",variant:"default"};case"integration":return{label:"Integration",variant:"outline"};case"testing":return{label:"Testing",variant:"secondary"};case"documentation":return{label:"Docs",variant:"secondary"};default:return{label:t.task.category,variant:"secondary"}}}),i=$(()=>{switch(t.task.priority){case"critical":return{icon:Fn,class:"text-destructive",label:"Critical"};case"high":return{icon:Fn,class:"text-orange-500",label:"High"};case"medium":return{icon:Mn,class:"text-muted-foreground",label:"Medium"};case"low":return{icon:ga,class:"text-muted-foreground",label:"Low"};default:return{icon:Mn,class:"text-muted-foreground",label:"Unknown"}}}),l=$(()=>t.blockedBy&&t.blockedBy.length>0),u=$(()=>{const h=t.task.id.match(/(\d+)$/)?.[1];return h?parseInt(h,10):0}),o=$(()=>t.blockedBy?.length??0);function d(){a("click",t.task)}return(p,h)=>(y(),te(c(al),{class:ke(["cursor-pointer py-0 gap-0 transition-all hover:shadow-md hover:border-primary/50",{"opacity-60":c(l)}]),onClick:d},{default:C(()=>[A(c(il),{class:"p-2.5"},{default:C(()=>[P("div",dl,[A(c(on),{variant:c(n).variant,class:"text-xs"},{default:C(()=>[Oe(ee(c(n).label),1)]),_:1},8,["variant"]),(y(),te(is(c(i).icon),{class:ke(["size-4",c(i).class]),title:c(i).label},null,8,["class","title"]))]),P("h4",fl,[P("span",hl,"#"+ee(c(u)),1),Oe(" "+ee(s.task.title),1)]),c(l)?(y(),D("div",gl,[A(c(as),{class:"size-3.5"}),P("span",null,"Blocked by "+ee(c(o))+" task"+ee(c(o)===1?"":"s"),1)])):me("",!0)]),_:1})]),_:1},8,["class"]))}}),kl=Object.assign(ml,{__name:"TasksCard"}),bl={class:"flex h-full min-w-56 flex-1 flex-col overflow-hidden rounded-lg border border-border bg-card"},_l={class:"text-sm font-medium"},xl={class:"ml-auto text-xs text-muted-foreground"},yl={class:"scrollbar-hide min-h-0 flex-1 overflow-y-auto p-1.5"},Tl={class:"space-y-1.5"},vl={key:0,class:"py-8 text-center text-sm text-muted-foreground"},wl=F({__name:"Column",props:{status:{},tasks:{},blockedByMap:{}},emits:["taskClick"],setup(s,{emit:e}){const t=s,a=e,n=$(()=>{switch(t.status){case"pending":return{label:"Pending",icon:Nn,headerClass:"bg-muted/50",iconClass:"text-muted-foreground"};case"in_progress":return{label:"In Progress",icon:ka,headerClass:"bg-blue-500/10",iconClass:"text-blue-500"};case"completed":return{label:"Completed",icon:Zs,headerClass:"bg-green-500/10",iconClass:"text-green-500"};default:return{label:t.status,icon:Nn,headerClass:"bg-muted/50",iconClass:"text-muted-foreground"}}});function i(u){return t.blockedByMap?.get(u)??[]}function l(u){a("taskClick",u)}return(u,o)=>{const d=kl;return y(),D("div",bl,[P("div",{class:ke(["flex items-center gap-2 rounded-t-lg border-b border-border px-3 py-2",c(n).headerClass])},[(y(),te(is(c(n).icon),{class:ke(["size-4",c(n).iconClass])},null,8,["class"])),P("h3",_l,ee(c(n).label),1),P("span",xl,ee(s.tasks.length),1)],2),P("div",yl,[P("div",Tl,[(y(!0),D(os,null,cs(s.tasks,p=>(y(),te(d,{key:p.id,task:p,"blocked-by":i(p.id),onClick:l},null,8,["task","blocked-by"]))),128)),s.tasks.length===0?(y(),D("div",vl," No tasks ")):me("",!0)])])])}}}),Sl=Object.assign(ha(wl,[["__scopeId","data-v-a1317eba"]]),{__name:"TasksColumn"}),Al={class:"flex h-full gap-3 overflow-x-auto pb-2"},El=F({__name:"Board",props:{tasks:{}},emits:["taskClick"],setup(s,{emit:e}){const t=s,a=e;function n(h){const w=h.id.match(/(\d+)$/)?.[1];return w?parseInt(w,10):0}const i=$(()=>t.tasks.filter(h=>h.status==="pending").sort((h,k)=>n(h)-n(k))),l=$(()=>t.tasks.filter(h=>h.status==="in_progress").sort((h,k)=>n(h)-n(k))),u=$(()=>t.tasks.filter(h=>h.status==="completed").sort((h,k)=>{const w=h.completedAt?new Date(h.completedAt).getTime():0;return(k.completedAt?new Date(k.completedAt).getTime():0)-w})),o=$(()=>{const h=new Map,k=new Set(u.value.map(w=>w.id));for(const w of t.tasks)if(w.dependencies.length>0){const x=w.dependencies.filter(H=>!k.has(H));x.length>0&&h.set(w.id,x)}return h}),d=[{status:"pending",tasks:i},{status:"in_progress",tasks:l},{status:"completed",tasks:u}];function p(h){a("taskClick",h)}return(h,k)=>{const w=Sl;return y(),D("div",Al,[(y(),D(os,null,cs(d,x=>A(w,{key:x.status,status:x.status,tasks:x.tasks.value,"blocked-by-map":c(o),onTaskClick:p},null,8,["status","tasks","blocked-by-map"])),64))])}}}),Rl=Object.assign(El,{__name:"TasksBoard"}),Cl=F({__name:"Tabs",props:{defaultValue:{},orientation:{},dir:{},activationMode:{},modelValue:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},emits:["update:modelValue"],setup(s,{emit:e}){const t=s,a=e,n=Pt(t,"class"),i=Fs(n,a);return(l,u)=>(y(),te(c(Ea),Ot({"data-slot":"tabs"},c(i),{class:c(be)("flex flex-col gap-2",t.class)}),{default:C(o=>[K(l.$slots,"default",aa(ra(o)))]),_:3},16,["class"]))}}),Il=Object.assign(Cl,{__name:"UiTabs"}),Ll=F({__name:"TabsContent",props:{value:{},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(s){const e=s,t=Pt(e,"class");return(a,n)=>(y(),te(c(Ca),Ot({"data-slot":"tabs-content",class:c(be)("flex-1 outline-none",e.class)},c(t)),{default:C(()=>[K(a.$slots,"default")]),_:3},16,["class"]))}}),Xt=Object.assign(Ll,{__name:"UiTabsContent"}),Dl=F({__name:"TabsList",props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(s){const e=s,t=Pt(e,"class");return(a,n)=>(y(),te(c(La),Ot({"data-slot":"tabs-list"},c(t),{class:c(be)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e.class)}),{default:C(()=>[K(a.$slots,"default")]),_:3},16,["class"]))}}),Pl=Object.assign(Dl,{__name:"UiTabsList"}),Ol=F({__name:"TabsTrigger",props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(s){const e=s,t=Pt(e,"class"),a=Bs(t);return(n,i)=>(y(),te(c(Pa),Ot({"data-slot":"tabs-trigger",class:c(be)("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e.class)},c(a)),{default:C(()=>[K(n.$slots,"default")]),_:3},16,["class"]))}}),Jt=Object.assign(Ol,{__name:"UiTabsTrigger"}),$l={class:"h-full p-4 md:p-6"},Ml={key:0,class:"flex h-full items-center justify-center"},Nl={class:"flex flex-col items-center gap-4"},zl={key:1,class:"flex h-full items-center justify-center"},Fl={class:"flex max-w-md flex-col items-center gap-4 text-center"},Bl={class:"text-sm text-muted-foreground"},Ul={class:"flex gap-3"},ql={key:2,class:"mx-auto max-w-6xl space-y-6"},Hl={class:"flex flex-wrap items-start justify-between gap-3"},Gl={class:"space-y-2"},jl={class:"flex flex-wrap items-center gap-2"},Vl={class:"text-2xl font-bold tracking-tight"},Wl={key:0},Yl={key:1},Zl={key:0,class:"text-xs text-muted-foreground"},Kl={class:"rounded-lg border border-border bg-card p-4 md:p-6"},Ql={key:0,class:"h-[calc(100vh-280px)] min-h-[400px]"},Xl={key:1,class:"py-12 text-center"},Jl={class:"h-[calc(100vh-300px)] min-h-[440px] motion-safe:transition-[opacity,transform] motion-safe:duration-200 motion-safe:ease-[var(--ease-out-cubic)] motion-reduce:transition-none"},en="prd-viewer-tab",Ze="task",Ke="taskPrd",ci=F({__name:"[prd]",setup(s){function e(f){return f==="document"||f==="board"||f==="graph"}function t(f){if(typeof f=="string"){const g=f.trim();return g.length>0?g:null}if(Array.isArray(f)&&f.length>0){const g=f[0];if(typeof g=="string"){const v=g.trim();return v.length>0?v:null}}return null}function a(f){const g=f;return g.statusCode??g.status}function n(f,g){const v=f;return v.data?.message||v.statusMessage||v.message||g}const i=la(),l=ia(),{selectRepo:u}=Gs(),{prds:o,showArchived:d,setPrdArchived:p,fetchDocument:h,fetchTasks:k,fetchProgress:w,fetchTaskCommits:x,fetchPrdGraph:H}=js(),{showError:G}=Vs(),O=$(()=>i.params.repo),T=$(()=>i.params.prd),L=z(null),E=z(null),le=z(null),Q=z(!0),oe=z(null),X=z("document"),Y=z(null),Xe=z(!1),U=z(null),_e=z({}),xe=z(null),pe=z(null),ye=z(!1),Te=z([]),Me=z(!1),He=$(()=>t(i.query[Ze])),kt=$(()=>t(i.query[Ke])),Je=$(()=>He.value?{taskId:He.value,prdSlug:kt.value||T.value}:null);function B(f,g){_e.value={..._e.value,[f]:g}}async function et(f){if(f===T.value)return E.value;if(Object.prototype.hasOwnProperty.call(_e.value,f))return _e.value[f]??null;try{const g=await k(f);return B(f,g),g}catch(g){return G("Failed to load tasks",n(g,`Could not load tasks for ${f}.`)),null}}function j(){const f={};for(const[g,v]of Object.entries(i.query))if(!(g===Ze||g===Ke)){if(typeof v=="string"){f[g]=v;continue}if(Array.isArray(v)){const W=v.filter(ce=>typeof ce=="string");W.length>0&&(f[g]=W)}}return f}async function Ge(f,g=null){const v=j();f&&(v[Ze]=f,g&&g!==T.value&&(v[Ke]=g));const W=typeof v[Ze]=="string"?v[Ze]:null,ce=typeof v[Ke]=="string"?v[Ke]:null;He.value===W&&kt.value===ce||await l.replace({query:v})}async function M(f,g){xe.value=f,pe.value=g,ye.value=!0,Te.value=[],await Ge(f.id,g);try{Te.value=await x(g,f.id)}catch(v){Te.value=[],G("Failed to load commits",n(v,"Could not resolve commits for this task."))}}async function Ee(){const f=Je.value;if(!f){xe.value=null,pe.value=null,Te.value=[],ye.value=!1;return}const v=(await et(f.prdSlug))?.tasks.find(ce=>ce.id===f.taskId);if(!v){xe.value=null,pe.value=null,Te.value=[],ye.value=!1,G("Task unavailable",`Could not find ${f.taskId} in ${f.prdSlug}.`),await Ge(null);return}const W=xe.value?.id===v.id&&pe.value===f.prdSlug;if(xe.value=v,pe.value=f.prdSlug,ye.value=!0,!W)try{Te.value=await x(f.prdSlug,v.id)}catch(ce){Te.value=[],G("Failed to load commits",n(ce,"Could not resolve commits for this task."))}}const tt=$(()=>{const f=new Map,g=pe.value||T.value,v=g===T.value?E.value:_e.value[g]??null;if(!v?.tasks)return f;for(const W of v.tasks)f.set(W.id,W.title);return f});function Re(f){f.key===en&&f.newValue&&e(f.newValue)&&(X.value=f.newValue)}Rt(()=>{const f=localStorage.getItem(en);f&&e(f)&&(X.value=f),window.addEventListener("storage",Re)}),ls(()=>{window.removeEventListener("storage",Re)}),Fe(X,f=>{localStorage.setItem(en,f)});const bt=oa("fileChangeEvent",z(null));async function nt(){try{const f=await h(T.value);f&&(L.value=f,oe.value=null)}catch(f){if(a(f)===404){oe.value=`PRD "${T.value}" not found in this repository.`;return}G("Failed to reload PRD",n(f,"Could not refresh the PRD document."))}}async function _t(){try{const[f,g]=await Promise.all([k(T.value),w(T.value)]);E.value=f,le.value=g,B(T.value,f),await Ee()}catch(f){G("Failed to refresh task state",n(f,"Could not refresh tasks and progress."))}}async function je(f=!1){Xe.value=!0;try{if(!f&&Y.value?.prdSlug===T.value)return;const g=await H(T.value);if(!g){U.value="Failed to load PRD graph.";return}Y.value=g,U.value=null}catch(g){U.value=n(g,"Failed to load PRD graph.")}finally{Xe.value=!1}}async function Ce(f=!1){X.value==="graph"&&await je(f)}async function $e(){Q.value=!0,oe.value=null,U.value=null,Y.value=null,_e.value={};try{u(O.value);const[f,g,v]=await Promise.all([h(T.value),k(T.value),w(T.value)]);if(!f){oe.value=`PRD "${T.value}" not found in this repository.`;return}L.value=f,E.value=g,le.value=v,B(T.value,g),!g&&X.value==="board"&&(X.value="document"),await Ce(),await Ee()}catch(f){const g=a(f);g===404?oe.value=`PRD "${T.value}" not found. Check if the file exists in docs/prd/.`:g===500?(oe.value="Server error while loading the PRD. Check the file format.",G("Server error",n(f,"Failed to read PRD file"))):(oe.value="Failed to load PRD document. Please try again.",G("Load failed",n(f,"Could not fetch the PRD document")))}finally{Q.value=!1}}Fe(X,async f=>{f==="graph"&&await Ce()}),Fe(()=>[i.query[Ze],i.query[Ke],T.value],async()=>{Q.value||await Ee()}),Fe(ye,async f=>{!f&&Je.value&&await Ge(null)}),Fe(()=>bt.value,async f=>{if(!f)return;if(f.category==="prd"){await nt(),X.value==="graph"&&await je(!0);return}if(f.category!=="tasks"&&f.category!=="progress")return;const g=f.path?.includes(`/${T.value}/`)??!1;g&&(await _t(),Y.value=null),X.value==="graph"&&g&&await je(!0)}),Rt($e),Fe([O,T],$e);async function Ie(f){await M(f,T.value)}async function st(f){const v=(await et(f.prdSlug))?.tasks.find(W=>W.id===f.taskId);if(!v){G("Task unavailable",`Could not find ${f.taskId} in ${f.prdSlug}.`);return}await M(v,f.prdSlug)}async function at(f){if(!(!L.value||Me.value)){Me.value=!0;try{const g=await p(T.value,f);if(L.value&&(L.value={...L.value,archived:g.archived,archivedAt:g.archivedAt}),f&&!d.value){const v=o.value?.find(W=>W.slug!==T.value);v?await l.push(`/${O.value}/${v.slug}`):await l.push("/")}}catch(g){G("Failed to update archive state",n(g,"Could not update this PRD archive state."))}finally{Me.value=!1}}}return(f,g)=>{const v=Ns,W=Ba,ce=nl,Nt=Rl,rt=Qs,Ne=Ks;return y(),D("div",$l,[c(Q)?(y(),D("div",Ml,[P("div",Nl,[A(c(Us),{class:"size-8 animate-spin text-primary"}),g[3]||(g[3]=P("p",{class:"text-sm text-muted-foreground"},"Loading PRD...",-1))])])):c(oe)?(y(),D("div",zl,[P("div",Fl,[A(c(as),{class:"size-12 text-destructive"}),g[6]||(g[6]=P("h2",{class:"text-lg font-semibold"},"Error Loading PRD",-1)),P("p",Bl,ee(c(oe)),1),P("div",Ul,[A(c(jt),{variant:"outline",size:"sm",onClick:$e},{default:C(()=>[A(c(qs),{class:"mr-2 size-4"}),g[4]||(g[4]=Oe(" Retry ",-1))]),_:1}),A(v,{to:"/"},{default:C(()=>[A(c(jt),{variant:"ghost",size:"sm"},{default:C(()=>[...g[5]||(g[5]=[Oe(" Go back home ",-1)])]),_:1})]),_:1})])])])):c(L)?(y(),D("div",ql,[P("div",Hl,[P("div",Gl,[P("div",jl,[P("h1",Vl,ee(c(L).name),1),c(L).archived?(y(),te(c(on),{key:0,variant:"outline",class:"text-[10px] uppercase tracking-wide"},{default:C(()=>[...g[7]||(g[7]=[Oe(" Archived ",-1)])]),_:1})):me("",!0)]),A(W,{metadata:c(L).metadata},null,8,["metadata"])]),A(c(jt),{variant:"outline",size:"sm",disabled:c(Me),onClick:g[0]||(g[0]=de=>at(!c(L).archived))},{default:C(()=>[c(Me)?(y(),D("span",Wl,"Saving...")):(y(),D("span",Yl,ee(c(L).archived?"Restore document":"Archive document"),1))]),_:1},8,["disabled"])]),A(c(Il),{modelValue:c(X),"onUpdate:modelValue":g[1]||(g[1]=de=>zn(X)?X.value=de:null),class:"w-full"},{default:C(()=>[A(c(Pl),null,{default:C(()=>[A(c(Jt),{value:"document",class:"gap-2"},{default:C(()=>[A(c(Ws),{class:"size-4"}),g[8]||(g[8]=Oe(" Document ",-1))]),_:1}),A(c(Jt),{value:"board",class:"gap-2",disabled:!c(E)},{default:C(()=>[A(c(Bn),{class:"size-4"}),g[9]||(g[9]=Oe(" Task Board ",-1)),c(E)?(y(),D("span",Zl," ("+ee(c(E).tasks.length)+") ",1)):me("",!0)]),_:1},8,["disabled"]),A(c(Jt),{value:"graph",class:"gap-2"},{default:C(()=>[A(c(Hs),{class:"size-4"}),g[10]||(g[10]=Oe(" Graph ",-1))]),_:1})]),_:1}),A(c(Xt),{value:"document",class:"mt-4"},{default:C(()=>[P("div",Kl,[A(ce,{content:c(L).content},null,8,["content"])])]),_:1}),A(c(Xt),{value:"board",class:"mt-4"},{default:C(()=>[c(E)?(y(),D("div",Ql,[A(Nt,{tasks:c(E).tasks,onTaskClick:Ie},null,8,["tasks"])])):(y(),D("div",Xl,[A(c(Bn),{class:"mx-auto size-12 text-muted-foreground/50"}),g[11]||(g[11]=P("p",{class:"mt-4 text-muted-foreground"}," No tasks found for this PRD ",-1)),g[12]||(g[12]=P("p",{class:"mt-1 text-sm text-muted-foreground/70"}," Task state has not been generated for this PRD yet. ",-1))]))]),_:1}),A(c(Xt),{value:"graph",class:"mt-4"},{default:C(()=>[P("div",Jl,[A(rt,{payload:c(Y),scope:"prd",loading:c(Xe),error:c(U),onTaskClick:st},null,8,["payload","loading","error"])])]),_:1})]),_:1},8,["modelValue"])])):me("",!0),A(Ne,{open:c(ye),"onUpdate:open":g[2]||(g[2]=de=>zn(ye)?ye.value=de:null),task:c(xe),"task-titles":c(tt),commits:c(Te),"repo-id":c(O),"task-prd-slug":c(pe),"current-prd-slug":c(T)},null,8,["open","task","task-titles","commits","repo-id","task-prd-slug","current-prd-slug"])])}}});export{ci as default};
@@ -1,6 +1,6 @@
1
1
  import { join, basename, relative, resolve, isAbsolute } from 'node:path';
2
2
  import chokidar from 'chokidar';
3
- import { b as getRepos, w as emitChange } from '../nitro/nitro.mjs';
3
+ import { K as stopStateChangePolling, b as getRepos, L as startStateChangePolling, w as emitChange } from '../nitro/nitro.mjs';
4
4
 
5
5
  let watcher = null;
6
6
  let watchedPaths = [];
@@ -32,10 +32,13 @@ function getCategoryFromPath(filePath) {
32
32
  }
33
33
  async function initWatcher() {
34
34
  if (watcher) {
35
+ startStateChangePolling();
35
36
  return;
36
37
  }
37
38
  const repos = await getRepos();
38
39
  if (repos.length === 0) {
40
+ watchedPaths = [];
41
+ stopStateChangePolling();
39
42
  return;
40
43
  }
41
44
  watchedPaths = repos.map((repo) => join(repo.path, "docs", "prd"));
@@ -70,6 +73,7 @@ async function initWatcher() {
70
73
  category
71
74
  });
72
75
  });
76
+ startStateChangePolling();
73
77
  console.log("[watcher] File watcher initialized, watching", watchedPaths.length, "directories");
74
78
  }
75
79
  async function refreshWatcher() {
@@ -77,6 +81,7 @@ async function refreshWatcher() {
77
81
  await watcher.close();
78
82
  watcher = null;
79
83
  }
84
+ stopStateChangePolling();
80
85
  await initWatcher();
81
86
  }
82
87
 
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.mjs","sources":["../../../../server/utils/watcher.ts"],"names":["repos"],"mappings":";;;;AAOA,IAAI,OAAA,GAA4B,IAAA;AAChC,IAAI,eAAyB,EAAC;AAE9B,SAAS,YAAY,IAAA,EAAsB;AACzC,EAAA,OAAO,IAAA,CAAK,UAAA,CAAW,IAAA,EAAM,GAAG,CAAA;AAClC;AAEA,SAAS,YAAA,CAAa,UAAkB,aAAA,EAAgC;AACtE,EAAA,MAAM,eAAe,QAAA,CAAS,OAAA,CAAQ,QAAQ,CAAA,EAAG,OAAA,CAAQ,aAAa,CAAC,CAAA;AACvE,EAAA,OAAO,YAAA,KAAiB,MAAO,CAAC,YAAA,CAAa,WAAW,IAAI,CAAA,IAAK,CAAC,UAAA,CAAW,YAAY,CAAA;AAC3F;AAEA,SAAS,iBAAA,CAAkB,UAAkB,KAAA,EAAsD;AACjG,EAAA,IAAI,WAAA,GAAmD,IAAA;AAEvD,EAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,IAAA,IAAI,CAAC,YAAA,CAAa,IAAA,CAAK,IAAA,EAAM,QAAQ,CAAA,EAAG;AACtC,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,CAAC,WAAA,IAAe,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAA,CAAE,MAAA,GAAS,OAAA,CAAQ,WAAA,CAAY,IAAI,CAAA,CAAE,MAAA,EAAQ;AAChF,MAAA,WAAA,GAAc,IAAA;AAAA,IAChB;AAAA,EACF;AAEA,EAAA,OAAA,CAAO,2CAAa,EAAA,KAAM,IAAA;AAC5B;AAEA,SAAS,oBAAoB,QAAA,EAAsD;AACjF,EAAA,MAAM,cAAA,GAAiB,YAAY,QAAQ,CAAA;AAE3C,EAAA,IAAI,eAAe,QAAA,CAAS,YAAY,KAAK,cAAA,CAAe,QAAA,CAAS,KAAK,CAAA,EAAG;AAC3E,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,OAAO,IAAA;AACT;AAEA,eAAsB,WAAA,GAAc;AAClC,EAAA,IAAI,OAAA,EAAS;AACX,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,KAAA,GAAQ,MAAM,QAAA,EAAS;AAC7B,EAAA,IAAI,KAAA,CAAM,WAAW,CAAA,EAAG;AACtB,IAAA;AAAA,EACF;AAGA,EAAA,YAAA,GAAe,KAAA,CAAM,IAAI,CAAC,IAAA,KAAS,KAAK,IAAA,CAAK,IAAA,EAAM,MAAA,EAAQ,KAAK,CAAC,CAAA;AAEjE,EAAA,OAAA,GAAU,QAAA,CAAS,MAAM,YAAA,EAAc;AAAA,IACrC,aAAA,EAAe,IAAA;AAAA,IACf,UAAA,EAAY,IAAA;AAAA,IACZ,KAAA,EAAO,CAAA;AAAA,IACP,gBAAA,EAAkB;AAAA,MAChB,kBAAA,EAAoB,GAAA;AAAA,MACpB,YAAA,EAAc;AAAA,KAChB;AAAA,IACA,SAAS,CAAC,IAAA,KAAiB,SAAS,IAAI,CAAA,CAAE,WAAW,GAAG,CAAA;AAAA,IACxD,cAAA,EAAgB;AAAA,GACjB,CAAA;AAED,EAAA,OAAA,CAAQ,EAAA,CAAG,OAAA,EAAS,CAAC,KAAA,KAAU;AAC7B,IAAA,OAAA,CAAQ,KAAA,CAAM,oBAAoB,KAAK,CAAA;AAAA,EACzC,CAAC,CAAA;AAED,EAAA,OAAA,CAAQ,EAAA,CAAG,KAAA,EAAO,OAAO,SAAA,EAAW,QAAA,KAAa;AAC/C,IAAA,IAAI,SAAA,KAAc,QAAA,IAAY,SAAA,KAAc,KAAA,IAAS,cAAc,QAAA,EAAU;AAC3E,MAAA;AAAA,IACF;AAEA,IAAA,MAAMA,MAAAA,GAAQ,MAAM,QAAA,EAAS;AAC7B,IAAA,MAAM,MAAA,GAAS,iBAAA,CAAkB,QAAA,EAAUA,MAAK,CAAA;AAChD,IAAA,MAAM,QAAA,GAAW,oBAAoB,QAAQ,CAAA;AAE7C,IAAA,IAAI,CAAC,MAAA,IAAU,CAAC,QAAA,EAAU;AACxB,MAAA;AAAA,IACF;AAEA,IAAA,UAAA,CAAW;AAAA,MACT,IAAA,EAAM,SAAA;AAAA,MACN,IAAA,EAAM,YAAY,QAAQ,CAAA;AAAA,MAC1B,MAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,EACH,CAAC,CAAA;AAED,EAAA,OAAA,CAAQ,GAAA,CAAI,8CAAA,EAAgD,YAAA,CAAa,MAAA,EAAQ,aAAa,CAAA;AAChG;AAEA,eAAsB,cAAA,GAAiB;AACrC,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,MAAM,QAAQ,KAAA,EAAM;AACpB,IAAA,OAAA,GAAU,IAAA;AAAA,EACZ;AAEA,EAAA,MAAM,WAAA,EAAY;AACpB;;;;"}
1
+ {"version":3,"file":"watcher.mjs","sources":["../../../../server/utils/watcher.ts"],"names":["repos"],"mappings":";;;;AAcA,IAAI,OAAA,GAA4B,IAAA;AAChC,IAAI,eAAyB,EAAC;AAE9B,SAAS,YAAY,IAAA,EAAsB;AACzC,EAAA,OAAO,IAAA,CAAK,UAAA,CAAW,IAAA,EAAM,GAAG,CAAA;AAClC;AAEA,SAAS,YAAA,CAAa,UAAkB,aAAA,EAAgC;AACtE,EAAA,MAAM,eAAe,QAAA,CAAS,OAAA,CAAQ,QAAQ,CAAA,EAAG,OAAA,CAAQ,aAAa,CAAC,CAAA;AACvE,EAAA,OAAO,YAAA,KAAiB,MAAO,CAAC,YAAA,CAAa,WAAW,IAAI,CAAA,IAAK,CAAC,UAAA,CAAW,YAAY,CAAA;AAC3F;AAEA,SAAS,iBAAA,CAAkB,UAAkB,KAAA,EAAsD;AACjG,EAAA,IAAI,WAAA,GAAmD,IAAA;AAEvD,EAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,IAAA,IAAI,CAAC,YAAA,CAAa,IAAA,CAAK,IAAA,EAAM,QAAQ,CAAA,EAAG;AACtC,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,CAAC,WAAA,IAAe,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAA,CAAE,MAAA,GAAS,OAAA,CAAQ,WAAA,CAAY,IAAI,CAAA,CAAE,MAAA,EAAQ;AAChF,MAAA,WAAA,GAAc,IAAA;AAAA,IAChB;AAAA,EACF;AAEA,EAAA,OAAA,CAAO,2CAAa,EAAA,KAAM,IAAA;AAC5B;AAEA,SAAS,oBAAoB,QAAA,EAAsD;AACjF,EAAA,MAAM,cAAA,GAAiB,YAAY,QAAQ,CAAA;AAE3C,EAAA,IAAI,eAAe,QAAA,CAAS,YAAY,KAAK,cAAA,CAAe,QAAA,CAAS,KAAK,CAAA,EAAG;AAC3E,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,OAAO,IAAA;AACT;AAEA,eAAsB,WAAA,GAAc;AAClC,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,uBAAA,EAAwB;AACxB,IAAA;AAAA,EACF;AAEA,EAAA,MAAM,KAAA,GAAQ,MAAM,QAAA,EAAS;AAC7B,EAAA,IAAI,KAAA,CAAM,WAAW,CAAA,EAAG;AACtB,IAAA,YAAA,GAAe,EAAC;AAChB,IAAA,sBAAA,EAAuB;AACvB,IAAA;AAAA,EACF;AAGA,EAAA,YAAA,GAAe,KAAA,CAAM,IAAI,CAAC,IAAA,KAAS,KAAK,IAAA,CAAK,IAAA,EAAM,MAAA,EAAQ,KAAK,CAAC,CAAA;AAEjE,EAAA,OAAA,GAAU,QAAA,CAAS,MAAM,YAAA,EAAc;AAAA,IACrC,aAAA,EAAe,IAAA;AAAA,IACf,UAAA,EAAY,IAAA;AAAA,IACZ,KAAA,EAAO,CAAA;AAAA,IACP,gBAAA,EAAkB;AAAA,MAChB,kBAAA,EAAoB,GAAA;AAAA,MACpB,YAAA,EAAc;AAAA,KAChB;AAAA,IACA,SAAS,CAAC,IAAA,KAAiB,SAAS,IAAI,CAAA,CAAE,WAAW,GAAG,CAAA;AAAA,IACxD,cAAA,EAAgB;AAAA,GACjB,CAAA;AAED,EAAA,OAAA,CAAQ,EAAA,CAAG,OAAA,EAAS,CAAC,KAAA,KAAU;AAC7B,IAAA,OAAA,CAAQ,KAAA,CAAM,oBAAoB,KAAK,CAAA;AAAA,EACzC,CAAC,CAAA;AAED,EAAA,OAAA,CAAQ,EAAA,CAAG,KAAA,EAAO,OAAO,SAAA,EAAW,QAAA,KAAa;AAC/C,IAAA,IAAI,SAAA,KAAc,QAAA,IAAY,SAAA,KAAc,KAAA,IAAS,cAAc,QAAA,EAAU;AAC3E,MAAA;AAAA,IACF;AAEA,IAAA,MAAMA,MAAAA,GAAQ,MAAM,QAAA,EAAS;AAC7B,IAAA,MAAM,MAAA,GAAS,iBAAA,CAAkB,QAAA,EAAUA,MAAK,CAAA;AAChD,IAAA,MAAM,QAAA,GAAW,oBAAoB,QAAQ,CAAA;AAE7C,IAAA,IAAI,CAAC,MAAA,IAAU,CAAC,QAAA,EAAU;AACxB,MAAA;AAAA,IACF;AAEA,IAAA,UAAA,CAAW;AAAA,MACT,IAAA,EAAM,SAAA;AAAA,MACN,IAAA,EAAM,YAAY,QAAQ,CAAA;AAAA,MAC1B,MAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,EACH,CAAC,CAAA;AAED,EAAA,uBAAA,EAAwB;AAExB,EAAA,OAAA,CAAQ,GAAA,CAAI,8CAAA,EAAgD,YAAA,CAAa,MAAA,EAAQ,aAAa,CAAA;AAChG;AAEA,eAAsB,cAAA,GAAiB;AACrC,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,MAAM,QAAQ,KAAA,EAAM;AACpB,IAAA,OAAA,GAAU,IAAA;AAAA,EACZ;AAEA,EAAA,sBAAA,EAAuB;AAEvB,EAAA,MAAM,WAAA,EAAY;AACpB;;;;"}
@@ -3074,9 +3074,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3074
3074
  if (__props.task.dependencies.length > 0) {
3075
3075
  _push3(`<div class="space-y-2"${_scopeId2}><h4 class="flex items-center gap-2 text-sm font-medium"${_scopeId2}>`);
3076
3076
  _push3(ssrRenderComponent(unref(Link2), { class: "size-4" }, null, _parent3, _scopeId2));
3077
- _push3(` Dependencies </h4><ul class="space-y-1 text-sm text-muted-foreground"${_scopeId2}><!--[-->`);
3077
+ _push3(` Dependencies </h4><ul class="space-y-1.5"${_scopeId2}><!--[-->`);
3078
3078
  ssrRenderList(__props.task.dependencies, (depId) => {
3079
- _push3(`<li class="flex items-center gap-2"${_scopeId2}><span class="font-mono text-xs"${_scopeId2}>${ssrInterpolate(depId)}</span><span${_scopeId2}>${ssrInterpolate(getTaskTitle(depId))}</span></li>`);
3079
+ _push3(`<li class="grid grid-cols-[auto_minmax(0,1fr)] items-start gap-2.5 rounded-md border border-border/60 bg-muted/25 px-3 py-2"${_scopeId2}><span class="mt-0.5 whitespace-nowrap rounded bg-background px-1.5 py-0.5 font-mono text-[11px] leading-none text-foreground/75"${_scopeId2}>${ssrInterpolate(depId)}</span><span class="min-w-0 text-sm leading-snug text-muted-foreground"${_scopeId2}>${ssrInterpolate(getTaskTitle(depId))}</span></li>`);
3080
3080
  });
3081
3081
  _push3(`<!--]--></ul></div>`);
3082
3082
  } else {
@@ -3369,14 +3369,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3369
3369
  createVNode(unref(Link2), { class: "size-4" }),
3370
3370
  createTextVNode(" Dependencies ")
3371
3371
  ]),
3372
- createVNode("ul", { class: "space-y-1 text-sm text-muted-foreground" }, [
3372
+ createVNode("ul", { class: "space-y-1.5" }, [
3373
3373
  (openBlock(true), createBlock(Fragment, null, renderList(__props.task.dependencies, (depId) => {
3374
3374
  return openBlock(), createBlock("li", {
3375
3375
  key: depId,
3376
- class: "flex items-center gap-2"
3376
+ class: "grid grid-cols-[auto_minmax(0,1fr)] items-start gap-2.5 rounded-md border border-border/60 bg-muted/25 px-3 py-2"
3377
3377
  }, [
3378
- createVNode("span", { class: "font-mono text-xs" }, toDisplayString(depId), 1),
3379
- createVNode("span", null, toDisplayString(getTaskTitle(depId)), 1)
3378
+ createVNode("span", { class: "mt-0.5 whitespace-nowrap rounded bg-background px-1.5 py-0.5 font-mono text-[11px] leading-none text-foreground/75" }, toDisplayString(depId), 1),
3379
+ createVNode("span", { class: "min-w-0 text-sm leading-snug text-muted-foreground" }, toDisplayString(getTaskTitle(depId)), 1)
3380
3380
  ]);
3381
3381
  }), 128))
3382
3382
  ])
@@ -3612,14 +3612,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3612
3612
  createVNode(unref(Link2), { class: "size-4" }),
3613
3613
  createTextVNode(" Dependencies ")
3614
3614
  ]),
3615
- createVNode("ul", { class: "space-y-1 text-sm text-muted-foreground" }, [
3615
+ createVNode("ul", { class: "space-y-1.5" }, [
3616
3616
  (openBlock(true), createBlock(Fragment, null, renderList(__props.task.dependencies, (depId) => {
3617
3617
  return openBlock(), createBlock("li", {
3618
3618
  key: depId,
3619
- class: "flex items-center gap-2"
3619
+ class: "grid grid-cols-[auto_minmax(0,1fr)] items-start gap-2.5 rounded-md border border-border/60 bg-muted/25 px-3 py-2"
3620
3620
  }, [
3621
- createVNode("span", { class: "font-mono text-xs" }, toDisplayString(depId), 1),
3622
- createVNode("span", null, toDisplayString(getTaskTitle(depId)), 1)
3621
+ createVNode("span", { class: "mt-0.5 whitespace-nowrap rounded bg-background px-1.5 py-0.5 font-mono text-[11px] leading-none text-foreground/75" }, toDisplayString(depId), 1),
3622
+ createVNode("span", { class: "min-w-0 text-sm leading-snug text-muted-foreground" }, toDisplayString(getTaskTitle(depId)), 1)
3623
3623
  ]);
3624
3624
  }), 128))
3625
3625
  ])
@@ -3725,4 +3725,4 @@ _sfc_main.setup = (props, ctx) => {
3725
3725
  const __nuxt_component_1 = Object.assign(_sfc_main, { __name: "TasksDetail" });
3726
3726
 
3727
3727
  export { Badge as B, __nuxt_component_0$2 as _, __nuxt_component_1 as a };
3728
- //# sourceMappingURL=Detail-B7yBNjgp.mjs.map
3728
+ //# sourceMappingURL=Detail-DMMUwTWr.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Detail-DMMUwTWr.mjs","sources":["../../../../node_modules/@dagrejs/dagre/dist/dagre.esm.js","../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/Detail-DMMUwTWr.js"],"names":[],"mappings":"","x_google_ignoreList":[0,1]}
@@ -2,7 +2,7 @@ import { _ as __nuxt_component_0$2 } from './nuxt-link-SvT1nf8Z.mjs';
2
2
  import { defineComponent, computed, ref, watch, inject, mergeProps, unref, withCtx, createVNode, createTextVNode, openBlock, createBlock, toDisplayString, isRef, createCommentVNode, renderSlot, resolveDynamicComponent, useSSRContext } from 'vue';
3
3
  import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderAttr, ssrRenderSlot, ssrRenderList, ssrRenderClass, ssrRenderVNode } from 'vue/server-renderer';
4
4
  import { Loader2, AlertCircle, RefreshCw, FileText, LayoutGrid, GitBranch, User, Calendar, CircleDot, ExternalLink, Circle, CheckCircle2, PlayCircle, Minus, ArrowDown, ArrowUp } from 'lucide-vue-next';
5
- import { B as Badge, _ as __nuxt_component_0$2$1, a as __nuxt_component_1$1 } from './Detail-B7yBNjgp.mjs';
5
+ import { B as Badge, _ as __nuxt_component_0$2$1, a as __nuxt_component_1$1 } from './Detail-DMMUwTWr.mjs';
6
6
  import { marked } from 'marked';
7
7
  import { codeToHtml } from 'shiki';
8
8
  import DOMPurify from 'dompurify';
@@ -1099,6 +1099,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1099
1099
  tasksFile.value = tasks;
1100
1100
  progressFile.value = progress;
1101
1101
  cacheTasksForPrd(prdSlug.value, tasks);
1102
+ await syncTaskDetailFromRoute();
1102
1103
  } catch (err) {
1103
1104
  showError("Failed to refresh task state", getErrorMessage(err, "Could not refresh tasks and progress."));
1104
1105
  }
@@ -1709,4 +1710,4 @@ _sfc_main.setup = (props, ctx) => {
1709
1710
  };
1710
1711
 
1711
1712
  export { _sfc_main as default };
1712
- //# sourceMappingURL=_prd_-DY25apyl.mjs.map
1713
+ //# sourceMappingURL=_prd_-ByugK4Yi.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_prd_-ByugK4Yi.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/_prd_-ByugK4Yi.js"],"names":["__nuxt_component_0$3"],"mappings":"","x_google_ignoreList":[0]}