archsight 0.4.1 → 0.4.3

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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/docs/diagram.md +64 -0
  3. data/docs/modeling.md +33 -10
  4. data/lib/archsight/cli.rb +2 -1
  5. data/lib/archsight/database.rb +4 -3
  6. data/lib/archsight/diagram/cli.rb +11 -1
  7. data/lib/archsight/diagram/errors.rb +1 -0
  8. data/lib/archsight/diagram/includes.rb +168 -0
  9. data/lib/archsight/diagram/parser/ast.rb +5 -0
  10. data/lib/archsight/diagram/parser/table_layout.rb +2 -0
  11. data/lib/archsight/diagram/parser.rb +58 -16
  12. data/lib/archsight/diagram.rb +20 -4
  13. data/lib/archsight/export/confluence/storage.rb +6 -1
  14. data/lib/archsight/helpers/diagram_blocks.rb +34 -19
  15. data/lib/archsight/helpers/diagram_includes.rb +67 -0
  16. data/lib/archsight/helpers.rb +1 -0
  17. data/lib/archsight/linter/structure.rb +4 -1
  18. data/lib/archsight/linter.rb +10 -2
  19. data/lib/archsight/references.rb +4 -3
  20. data/lib/archsight/resources/application_component.rb +18 -0
  21. data/lib/archsight/resources/application_service.rb +9 -0
  22. data/lib/archsight/resources/technology_device.rb +56 -4
  23. data/lib/archsight/resources/technology_service.rb +16 -0
  24. data/lib/archsight/version.rb +1 -1
  25. data/lib/archsight/web/api/json_helpers.rb +3 -2
  26. data/lib/archsight/web/api/openapi/spec.yaml +9 -2
  27. data/lib/archsight/web/api/page_helpers.rb +1 -1
  28. data/lib/archsight/web/api/routes.rb +4 -3
  29. data/lib/archsight/web/application.rb +2 -1
  30. data/lib/archsight/web/public/vue/{DocPage-C2ubTXH7.js → DocPage-L0GzDFiV.js} +1 -1
  31. data/lib/archsight/web/public/vue/{EditorPage-Dso6PLMn.js → EditorPage-B3iNbh1u.js} +1 -1
  32. data/lib/archsight/web/public/vue/{ErrorPage-DnZ6YJLi.js → ErrorPage-Lro5vwhy.js} +1 -1
  33. data/lib/archsight/web/public/vue/{GraphView-CTl03Yre.js → GraphView-BRKwxa--.js} +1 -1
  34. data/lib/archsight/web/public/vue/{HomePage-C339nihQ.js → HomePage-DKgI1DXr.js} +2 -2
  35. data/lib/archsight/web/public/vue/{InstanceRouter-ZaCcjlIX.css → InstanceRouter-CJSkGdBG.css} +1 -1
  36. data/lib/archsight/web/public/vue/InstanceRouter-CX6qxVTm.js +1 -0
  37. data/lib/archsight/web/public/vue/{KindList-C0oaM3CF.js → KindList-C556gf23.js} +1 -1
  38. data/lib/archsight/web/public/vue/{PageView-OZB6G9Wu.js → PageView-DAqHjL1x.js} +1 -1
  39. data/lib/archsight/web/public/vue/{QueryError-C2xLkCEm.js → QueryError-DvspMrsh.js} +1 -1
  40. data/lib/archsight/web/public/vue/{ResourceList-DooWFwQP.js → ResourceList-BZOYa68X.js} +1 -1
  41. data/lib/archsight/web/public/vue/{SearchResults-BK-HjFnv.js → SearchResults-DaaOPG3t.js} +1 -1
  42. data/lib/archsight/web/public/vue/{WikiPage-B2FYmeHL.js → WikiPage-Bfx92Iig.js} +1 -1
  43. data/lib/archsight/web/public/vue/index-B_YGrWD8.css +1 -0
  44. data/lib/archsight/web/public/vue/{index-CLuLTE5I.js → index-DMhBow5t.js} +2 -2
  45. data/lib/archsight/web/public/vue.html +2 -2
  46. metadata +18 -16
  47. data/lib/archsight/web/public/vue/InstanceRouter-DFW7tOrD.js +0 -1
  48. data/lib/archsight/web/public/vue/index-BLSE5DSv.css +0 -1
@@ -1,4 +1,4 @@
1
- import{i as e,t}from"./rolldown-runtime-COiEfhsA.js";import{$ as n,A as r,B as i,C as a,D as o,E as s,F as c,G as l,H as u,I as d,J as f,K as p,L as m,N as h,O as g,P as _,Q as v,S as y,U as b,W as x,X as S,a as C,at as w,et as ee,f as te,j as ne,l as re,nt as ie,p as ae,q as T,rt as E,tt as D,u as oe,z as O}from"./index-CLuLTE5I.js";import{t as se}from"./useHighlight-BH32C7yt.js";var ce=`archsight.diagramPreview.layout`,le=[`bottom`,`right`,`full`,`hidden`],ue=`(min-width: 1400px)`;function de(){try{let e=localStorage.getItem(ce);return le.includes(e)?e:null}catch{return null}}var fe=D(de()),pe=D(typeof matchMedia==`function`&&matchMedia(ue).matches);typeof matchMedia==`function`&&matchMedia(ue).addEventListener(`change`,e=>{pe.value=e.matches});var me=h(()=>fe.value||(pe.value?`right`:`bottom`));function he(e){if(le.includes(e)){fe.value=e;try{localStorage.setItem(ce,e)}catch{}}}function ge(){return{layout:me,setLayout:he}}var _e={class:`preview-head`},ve={class:`preview-tools`},ye={key:0,class:`preview-state`},be={class:`preview-layout`,role:`group`,"aria-label":`Preview layout`},xe=[`aria-pressed`,`title`,`aria-label`,`onClick`],Se={key:0,class:`preview-error`,role:`alert`},Ce=[`innerHTML`],we={key:2,class:`preview-empty`},Te=300,Ee=C({__name:`DiagramPreview`,props:{source:String},setup(e){let t=e,{layout:n,setLayout:r}=ge(),i=h(()=>n.value===`hidden`),a=[{value:`bottom`,icon:`iconoir-table-rows`,label:`Below the editor`},{value:`right`,icon:`iconoir-view-columns-2`,label:`Right of the editor`},{value:`full`,icon:`iconoir-expand`,label:`Preview only`},{value:`hidden`,icon:`iconoir-eye-closed`,label:`Hide preview`}],o=D(``),s=D(null),c=D(!1),l=null,u=null;function p(){clearTimeout(l),l=null,u?.abort(),u=null}async function g(e){u=new AbortController;let t=u;c.value=!0;try{let n=await y(e,{signal:t.signal});if(t!==u)return;n.html&&(o.value=n.html),s.value=n.error}catch(e){if(e.name===`AbortError`||t!==u)return;s.value=e.message}finally{t===u&&(c.value=!1)}}v([()=>t.source,i],([e,t],[,n])=>{p(),t?c.value=!1:!e||!e.trim()?(o.value=``,s.value=null,c.value=!1):(c.value=!0,l=setTimeout(()=>g(e),n?0:Te))},{immediate:!0}),x(p);function b(e){e.target.closest(`a`)&&e.preventDefault()}return(e,t)=>(T(),m(`div`,{class:E([`diagram-preview`,`layout-${ie(n)}`])},[_(`div`,_e,[_(`span`,null,[t[0]||=_(`i`,{class:`iconoir-eye`},null,-1),t[1]||=O(` Preview`,-1),i.value?(T(),m(ne,{key:0},[O(` hidden`)],64)):d(``,!0)]),_(`span`,ve,[c.value&&!i.value?(T(),m(`span`,ye,`Rendering…`)):d(``,!0),_(`span`,be,[(T(!0),m(ne,null,f(a.filter(e=>!i.value||e.value!==`hidden`),e=>(T(),m(`button`,{key:e.value,type:`button`,class:E({active:ie(n)===e.value}),"aria-pressed":ie(n)===e.value,title:e.label,"aria-label":e.label,onClick:t=>ie(r)(e.value)},[_(`i`,{class:E(e.icon)},null,2)],10,xe))),128))])])]),i.value?d(``,!0):(T(),m(ne,{key:0},[s.value?(T(),m(`div`,Se,[t[2]||=_(`i`,{class:`iconoir-warning-triangle`},null,-1),O(` `+w(s.value),1)])):d(``,!0),o.value?(T(),m(`div`,{key:1,class:E([`preview-body`,{stale:!!s.value}]),title:`Links are disabled in the preview`,onClick:b,innerHTML:o.value},null,10,Ce)):!s.value&&!c.value?(T(),m(`p`,we,`Nothing to preview yet.`)):d(``,!0)],64))],2))}},[[`__scopeId`,`data-v-11568657`]]),De={class:`label-row`},Oe=[`for`,`title`],ke={key:0,class:`required`},Ae=[`id`,`aria-invalid`],je=[`value`],Me=[`id`,`aria-invalid`,`placeholder`],Ne={key:0,class:`future-hint`},Pe={class:`code-source`},Fe=[`id`,`aria-invalid`,`placeholder`],Ie={class:`future-hint`},Le=[`id`,`step`,`aria-invalid`],Re=[`id`,`aria-invalid`],ze=[`id`,`aria-invalid`],Be=[`id`,`aria-invalid`],Ve={key:7,class:`field-description`},He={key:8,class:`field-error`},Ue=C({__name:`EditorField`,props:{field:Object,modelValue:[String,Number,null],error:[Array,null]},emits:[`update:modelValue`,`openMarkdown`],setup(e,{emit:t}){let n=e,r=t,i=h({get:()=>n.modelValue??``,set:e=>r(`update:modelValue`,e)}),a=h(()=>[`textarea`,`markdown`,`code`].includes(n.field.input_type)),s=h(()=>n.field.key===`page/content`),l=h(()=>n.field.code_language===`asd`),{layout:u}=ge(),p={asd:`Archsight Diagram`},v=h(()=>{let e=n.field.code_language||``;return p[e]||e.charAt(0).toUpperCase()+e.slice(1)}),y=h(()=>n.error&&n.error.length>0);return(t,n)=>(T(),m(`div`,{class:E([`field-group`,{"field-full-width":a.value}])},[_(`div`,De,[_(`label`,{for:e.field.key,title:e.field.description},[O(w(e.field.title)+` `,1),e.field.required?(T(),m(`span`,ke,`*`)):d(``,!0)],8,Oe),e.field.input_type===`markdown`?(T(),m(`button`,{key:0,type:`button`,class:`btn-edit-markdown`,title:`Open rich text editor`,onClick:n[0]||=n=>t.$emit(`openMarkdown`,e.field.key)},[...n[8]||=[_(`i`,{class:`iconoir-edit-pencil`},null,-1),O(` Edit `,-1)]])):d(``,!0)]),e.field.input_type===`select`?ee((T(),m(`select`,{key:0,id:e.field.key,"onUpdate:modelValue":n[1]||=e=>i.value=e,"aria-invalid":y.value?`true`:void 0},[n[9]||=_(`option`,{value:``},`Select...`,-1),(T(!0),m(ne,null,f(e.field.options,e=>(T(),m(`option`,{key:e,value:e},w(e),9,je))),128))],8,Ae)),[[o,i.value]]):e.field.input_type===`textarea`||e.field.input_type===`markdown`?(T(),m(`div`,{key:1,class:E([`markdown-field`,{"page-body":s.value}])},[ee(_(`textarea`,{id:e.field.key,"onUpdate:modelValue":n[2]||=e=>i.value=e,"aria-invalid":y.value?`true`:void 0,placeholder:e.field.input_type===`markdown`?`Enter markdown content...`:`One entry per line...`},null,8,Me),[[g,i.value]]),e.field.input_type===`markdown`?(T(),m(`small`,Ne,[...n[10]||=[_(`i`,{class:`iconoir-info-circle`},null,-1),O(` Markdown, `,-1),_(`code`,null,`[[links]]`,-1),O(` and `,-1),_(`code`,null,"```asd",-1),O(` diagrams. Use Edit for the rich text editor `,-1)]])):d(``,!0)],2)):e.field.input_type===`code`?(T(),m(`div`,{key:2,class:E([`code-field`,l.value&&[`with-preview`,`layout-${ie(u)}`]])},[_(`div`,Pe,[ee(_(`textarea`,{id:e.field.key,"onUpdate:modelValue":n[3]||=e=>i.value=e,"aria-invalid":y.value?`true`:void 0,placeholder:`Enter ${e.field.code_language||``} code...`,spellcheck:`false`},null,8,Fe),[[g,i.value]]),_(`small`,Ie,[n[11]||=_(`i`,{class:`iconoir-code`},null,-1),O(` `+w(v.value)+` code `,1)])]),l.value?(T(),c(Ee,{key:0,class:`field-diagram-preview`,source:String(i.value)},null,8,[`source`])):d(``,!0)],2)):e.field.input_type===`number`?ee((T(),m(`input`,{key:3,id:e.field.key,type:`number`,"onUpdate:modelValue":n[4]||=e=>i.value=e,step:e.field.step,"aria-invalid":y.value?`true`:void 0},null,8,Le)),[[g,i.value]]):e.field.input_type===`url`?ee((T(),m(`input`,{key:4,id:e.field.key,type:`url`,"onUpdate:modelValue":n[5]||=e=>i.value=e,placeholder:`https://...`,"aria-invalid":y.value?`true`:void 0},null,8,Re)),[[g,i.value]]):e.field.input_type===`list`?ee((T(),m(`input`,{key:5,id:e.field.key,type:`text`,"onUpdate:modelValue":n[6]||=e=>i.value=e,placeholder:`Comma-separated values`,"aria-invalid":y.value?`true`:void 0},null,8,ze)),[[g,i.value]]):ee((T(),m(`input`,{key:6,id:e.field.key,type:`text`,"onUpdate:modelValue":n[7]||=e=>i.value=e,"aria-invalid":y.value?`true`:void 0},null,8,Be)),[[g,i.value]]),e.field.description&&![`textarea`,`markdown`,`code`].includes(e.field.input_type)?(T(),m(`small`,Ve,w(e.field.description),1)):d(``,!0),y.value?(T(),m(`div`,He,w(e.error.join(`, `)),1)):d(``,!0)],2))}},[[`__scopeId`,`data-v-fe1221de`]]),We={class:`relations-editor`},Ge={key:0,class:`no-relations`},Ke={id:`relations-list`},qe={class:`relation-text`},Je=[`onClick`],Ye={class:`add-relation-row`},Xe=[`value`],Ze=[`value`],Qe=C({__name:`EditorRelations`,props:{relations:Array,relationOptions:Array,instancesByKind:Object},emits:[`update:relations`],setup(e,{emit:t}){let n=e,r=t,i=D(``),a=D(``),s=h(()=>[...n.relations].sort((e,t)=>(e.verb+e.kind+e.name).localeCompare(t.verb+t.kind+t.name))),c=h(()=>i.value?n.relationOptions.find(e=>e.combo===i.value)?.target_kind:null),l=h(()=>c.value&&n.instancesByKind[c.value]||[]);v(i,()=>{a.value=``});function u(){if(!i.value||!a.value)return;let e=n.relationOptions.find(e=>e.combo===i.value);if(!e||n.relations.some(t=>t.verb===e.verb&&t.kind===e.target_kind&&t.name===a.value))return;let t=[...n.relations,{verb:e.verb,kind:e.target_kind,name:a.value}];r(`update:relations`,t),i.value=``,a.value=``}function d(e){let t=n.relations.filter((t,n)=>n!==e);r(`update:relations`,t)}return(t,n)=>(T(),m(`div`,We,[!e.relationOptions||e.relationOptions.length===0?(T(),m(`p`,Ge,` This resource type has no defined relations. `)):(T(),m(ne,{key:1},[_(`div`,Ke,[(T(!0),m(ne,null,f(s.value,(e,t)=>(T(),m(`div`,{key:`${e.verb}:${e.kind}:${e.name}`,class:`relation-item`},[_(`span`,qe,[_(`strong`,null,w(e.verb),1),O(` → `+w(e.kind)+`: `,1),_(`em`,null,w(e.name),1)]),_(`button`,{class:`btn-remove`,type:`button`,title:`Remove`,onClick:e=>d(t)},[...n[2]||=[_(`i`,{class:`iconoir-xmark`},null,-1)]],8,Je)]))),128))]),_(`div`,Ye,[ee(_(`select`,{"onUpdate:modelValue":n[0]||=e=>i.value=e},[n[3]||=_(`option`,{value:``},`Select relation...`,-1),(T(!0),m(ne,null,f(e.relationOptions,e=>(T(),m(`option`,{key:e.combo,value:e.combo},w(e.verb)+` → `+w(e.target_kind),9,Xe))),128))],512),[[o,i.value]]),ee(_(`select`,{"onUpdate:modelValue":n[1]||=e=>a.value=e},[n[4]||=_(`option`,{value:``},`Select instance...`,-1),(T(!0),m(ne,null,f(l.value,e=>(T(),m(`option`,{key:e,value:e},w(e),9,Ze))),128))],512),[[o,a.value]]),_(`button`,{class:`secondary btn-add`,type:`button`,onClick:u},[...n[5]||=[_(`i`,{class:`iconoir-plus`},null,-1),O(` Add `,-1)]])])],64))]))}},[[`__scopeId`,`data-v-a987a6fe`]]),$e={class:`yaml-output-container`},et={key:0,class:`conflict-error`},tt={class:`yaml-success`},nt={id:`yaml-content`},rt={key:0,class:`yaml-file-info`},it={key:1,class:`yaml-instructions`},at={class:`yaml-actions`},ot=[`disabled`],st=C({__name:`EditorYamlOutput`,props:{yaml:String,format:{type:String,default:`yaml`},kind:String,name:String,contentHash:String,pathRef:String,inlineEditEnabled:Boolean},emits:[`editAgain`],setup(e,{emit:t}){let n=e,r=D(null),i=D(`idle`),o=D(`idle`),s=D(null),c=h(()=>n.format===`markdown`),u=h(()=>c.value?`Markdown`:`YAML`),f=h(()=>c.value?`.md`:`.yaml`);l(()=>{r.value&&se(r.value)}),v(()=>n.yaml,async()=>{await b(),r.value&&se(r.value)});async function p(){try{await navigator.clipboard.writeText(n.yaml),i.value=`copied`,setTimeout(()=>{i.value=`idle`},2e3)}catch{let e=document.createElement(`textarea`);e.value=n.yaml,e.style.position=`fixed`,e.style.opacity=`0`,document.body.appendChild(e),e.select(),document.execCommand(`copy`),document.body.removeChild(e),i.value=`copied`,setTimeout(()=>{i.value=`idle`},2e3)}}async function g(){o.value=`saving`,s.value=null;try{let e=await a(n.kind,n.name,n.yaml,n.contentHash);e.success?(o.value=`saved`,setTimeout(()=>{o.value=`idle`},2e3)):e.conflict?(s.value=e.error,o.value=`idle`):(alert(`Save failed: `+e.error),o.value=`idle`)}catch(e){alert(`Save failed: `+e.message),o.value=`idle`}}return(t,n)=>(T(),m(`div`,$e,[s.value?(T(),m(`div`,et,[n[1]||=_(`i`,{class:`iconoir-warning-triangle`},null,-1),_(`span`,null,w(s.value),1)])):d(``,!0),_(`p`,tt,[n[2]||=_(`i`,{class:`iconoir-check-circle`},null,-1),O(` Generated `+w(u.value),1)]),_(`div`,{ref_key:`codeEl`,ref:r},[_(`pre`,nt,[_(`code`,{class:E(`language-${e.format}`)},w(e.yaml),3)])],512),_(`footer`,null,[e.pathRef?(T(),m(`p`,rt,[n[3]||=_(`i`,{class:`iconoir-folder`},null,-1),_(`span`,null,`Source: `+w(e.pathRef),1)])):(T(),m(`p`,it,[n[10]||=_(`i`,{class:`iconoir-info-circle`},null,-1),_(`span`,null,[O(` Copy this `+w(u.value)+` and save it to a `,1),_(`code`,null,w(f.value),1),n[6]||=O(` file in your resources directory`,-1),c.value?(T(),m(ne,{key:0},[n[4]||=O(` (named `,-1),_(`code`,null,w(e.name)+`.md`,1),n[5]||=O(`)`,-1)],64)):d(``,!0),n[7]||=O(`, `,-1),n[8]||=_(`br`,null,null,-1),n[9]||=O(`then reload the application. `,-1)])])),_(`div`,at,[e.pathRef&&e.inlineEditEnabled?(T(),m(`button`,{key:0,type:`button`,onClick:g,disabled:o.value===`saving`,class:E({saved:o.value===`saved`})},[_(`i`,{class:E(o.value===`saving`?`iconoir-refresh`:o.value===`saved`?`iconoir-check`:`iconoir-check-circle`)},null,2),O(` `+w(o.value===`saving`?`Saving...`:o.value===`saved`?`Saved!`:`Save to File`),1)],10,ot)):d(``,!0),_(`button`,{type:`button`,onClick:p,class:E({copied:i.value===`copied`})},[_(`i`,{class:E(i.value===`copied`?`iconoir-check`:`iconoir-copy`)},null,2),O(` `+w(i.value===`copied`?`Copied!`:`Copy to Clipboard`),1)],2),_(`button`,{class:`secondary`,type:`button`,onClick:n[0]||=e=>t.$emit(`editAgain`)},[...n[11]||=[_(`i`,{class:`iconoir-edit-pencil`},null,-1),O(` Edit Again `,-1)]])])])]))}},[[`__scopeId`,`data-v-b5ea938f`]]);function k(e,...t){let n=new URL(`https://lexical.dev/docs/error`),r=new URLSearchParams;r.append(`code`,e);for(let e of t)r.append(`v`,e);throw n.search=r.toString(),Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function ct(e,...t){let n=new URL(`https://lexical.dev/docs/error`),r=new URLSearchParams;r.append(`code`,e);for(let e of t)r.append(`v`,e);n.search=r.toString(),console.warn(`Minified Lexical warning #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}var lt=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,ut=lt&&`documentMode`in document?document.documentMode:null,dt=lt&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),ft=lt&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),pt=!(!lt||!(`InputEvent`in window)||ut)&&`getTargetRanges`in new window.InputEvent(`input`),mt=lt&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),ht=lt&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,gt=lt&&/Android/.test(navigator.userAgent),_t=lt&&/^(?=.*Chrome).*/i.test(navigator.userAgent),vt=lt&&gt&&_t,yt=lt&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&dt&&!_t,bt=0,xt=1,St=2,Ct=1,wt=2,Tt=3,Et=4,Dt=5,Ot=6,kt=mt||ht||yt?`\xA0`:`​`,At=`
1
+ import{i as e,t}from"./rolldown-runtime-COiEfhsA.js";import{$ as n,A as r,B as i,C as a,D as o,E as s,F as c,G as l,H as u,I as d,J as f,K as p,L as m,N as h,O as g,P as _,Q as v,S as y,U as b,W as x,X as S,a as C,at as w,et as ee,f as te,j as ne,l as re,nt as ie,p as ae,q as T,rt as E,tt as D,u as oe,z as O}from"./index-DMhBow5t.js";import{t as se}from"./useHighlight-BH32C7yt.js";var ce=`archsight.diagramPreview.layout`,le=[`bottom`,`right`,`full`,`hidden`],ue=`(min-width: 1400px)`;function de(){try{let e=localStorage.getItem(ce);return le.includes(e)?e:null}catch{return null}}var fe=D(de()),pe=D(typeof matchMedia==`function`&&matchMedia(ue).matches);typeof matchMedia==`function`&&matchMedia(ue).addEventListener(`change`,e=>{pe.value=e.matches});var me=h(()=>fe.value||(pe.value?`right`:`bottom`));function he(e){if(le.includes(e)){fe.value=e;try{localStorage.setItem(ce,e)}catch{}}}function ge(){return{layout:me,setLayout:he}}var _e={class:`preview-head`},ve={class:`preview-tools`},ye={key:0,class:`preview-state`},be={class:`preview-layout`,role:`group`,"aria-label":`Preview layout`},xe=[`aria-pressed`,`title`,`aria-label`,`onClick`],Se={key:0,class:`preview-error`,role:`alert`},Ce=[`innerHTML`],we={key:2,class:`preview-empty`},Te=300,Ee=C({__name:`DiagramPreview`,props:{source:String},setup(e){let t=e,{layout:n,setLayout:r}=ge(),i=h(()=>n.value===`hidden`),a=[{value:`bottom`,icon:`iconoir-table-rows`,label:`Below the editor`},{value:`right`,icon:`iconoir-view-columns-2`,label:`Right of the editor`},{value:`full`,icon:`iconoir-expand`,label:`Preview only`},{value:`hidden`,icon:`iconoir-eye-closed`,label:`Hide preview`}],o=D(``),s=D(null),c=D(!1),l=null,u=null;function p(){clearTimeout(l),l=null,u?.abort(),u=null}async function g(e){u=new AbortController;let t=u;c.value=!0;try{let n=await y(e,{signal:t.signal});if(t!==u)return;n.html&&(o.value=n.html),s.value=n.error}catch(e){if(e.name===`AbortError`||t!==u)return;s.value=e.message}finally{t===u&&(c.value=!1)}}v([()=>t.source,i],([e,t],[,n])=>{p(),t?c.value=!1:!e||!e.trim()?(o.value=``,s.value=null,c.value=!1):(c.value=!0,l=setTimeout(()=>g(e),n?0:Te))},{immediate:!0}),x(p);function b(e){e.target.closest(`a`)&&e.preventDefault()}return(e,t)=>(T(),m(`div`,{class:E([`diagram-preview`,`layout-${ie(n)}`])},[_(`div`,_e,[_(`span`,null,[t[0]||=_(`i`,{class:`iconoir-eye`},null,-1),t[1]||=O(` Preview`,-1),i.value?(T(),m(ne,{key:0},[O(` hidden`)],64)):d(``,!0)]),_(`span`,ve,[c.value&&!i.value?(T(),m(`span`,ye,`Rendering…`)):d(``,!0),_(`span`,be,[(T(!0),m(ne,null,f(a.filter(e=>!i.value||e.value!==`hidden`),e=>(T(),m(`button`,{key:e.value,type:`button`,class:E({active:ie(n)===e.value}),"aria-pressed":ie(n)===e.value,title:e.label,"aria-label":e.label,onClick:t=>ie(r)(e.value)},[_(`i`,{class:E(e.icon)},null,2)],10,xe))),128))])])]),i.value?d(``,!0):(T(),m(ne,{key:0},[s.value?(T(),m(`div`,Se,[t[2]||=_(`i`,{class:`iconoir-warning-triangle`},null,-1),O(` `+w(s.value),1)])):d(``,!0),o.value?(T(),m(`div`,{key:1,class:E([`preview-body`,{stale:!!s.value}]),title:`Links are disabled in the preview`,onClick:b,innerHTML:o.value},null,10,Ce)):!s.value&&!c.value?(T(),m(`p`,we,`Nothing to preview yet.`)):d(``,!0)],64))],2))}},[[`__scopeId`,`data-v-11568657`]]),De={class:`label-row`},Oe=[`for`,`title`],ke={key:0,class:`required`},Ae=[`id`,`aria-invalid`],je=[`value`],Me=[`id`,`aria-invalid`,`placeholder`],Ne={key:0,class:`future-hint`},Pe={class:`code-source`},Fe=[`id`,`aria-invalid`,`placeholder`],Ie={class:`future-hint`},Le=[`id`,`step`,`aria-invalid`],Re=[`id`,`aria-invalid`],ze=[`id`,`aria-invalid`],Be=[`id`,`aria-invalid`],Ve={key:7,class:`field-description`},He={key:8,class:`field-error`},Ue=C({__name:`EditorField`,props:{field:Object,modelValue:[String,Number,null],error:[Array,null]},emits:[`update:modelValue`,`openMarkdown`],setup(e,{emit:t}){let n=e,r=t,i=h({get:()=>n.modelValue??``,set:e=>r(`update:modelValue`,e)}),a=h(()=>[`textarea`,`markdown`,`code`].includes(n.field.input_type)),s=h(()=>n.field.key===`page/content`),l=h(()=>n.field.code_language===`asd`),{layout:u}=ge(),p={asd:`Archsight Diagram`},v=h(()=>{let e=n.field.code_language||``;return p[e]||e.charAt(0).toUpperCase()+e.slice(1)}),y=h(()=>n.error&&n.error.length>0);return(t,n)=>(T(),m(`div`,{class:E([`field-group`,{"field-full-width":a.value}])},[_(`div`,De,[_(`label`,{for:e.field.key,title:e.field.description},[O(w(e.field.title)+` `,1),e.field.required?(T(),m(`span`,ke,`*`)):d(``,!0)],8,Oe),e.field.input_type===`markdown`?(T(),m(`button`,{key:0,type:`button`,class:`btn-edit-markdown`,title:`Open rich text editor`,onClick:n[0]||=n=>t.$emit(`openMarkdown`,e.field.key)},[...n[8]||=[_(`i`,{class:`iconoir-edit-pencil`},null,-1),O(` Edit `,-1)]])):d(``,!0)]),e.field.input_type===`select`?ee((T(),m(`select`,{key:0,id:e.field.key,"onUpdate:modelValue":n[1]||=e=>i.value=e,"aria-invalid":y.value?`true`:void 0},[n[9]||=_(`option`,{value:``},`Select...`,-1),(T(!0),m(ne,null,f(e.field.options,e=>(T(),m(`option`,{key:e,value:e},w(e),9,je))),128))],8,Ae)),[[o,i.value]]):e.field.input_type===`textarea`||e.field.input_type===`markdown`?(T(),m(`div`,{key:1,class:E([`markdown-field`,{"page-body":s.value}])},[ee(_(`textarea`,{id:e.field.key,"onUpdate:modelValue":n[2]||=e=>i.value=e,"aria-invalid":y.value?`true`:void 0,placeholder:e.field.input_type===`markdown`?`Enter markdown content...`:`One entry per line...`},null,8,Me),[[g,i.value]]),e.field.input_type===`markdown`?(T(),m(`small`,Ne,[...n[10]||=[_(`i`,{class:`iconoir-info-circle`},null,-1),O(` Markdown, `,-1),_(`code`,null,`[[links]]`,-1),O(` and `,-1),_(`code`,null,"```asd",-1),O(` diagrams. Use Edit for the rich text editor `,-1)]])):d(``,!0)],2)):e.field.input_type===`code`?(T(),m(`div`,{key:2,class:E([`code-field`,l.value&&[`with-preview`,`layout-${ie(u)}`]])},[_(`div`,Pe,[ee(_(`textarea`,{id:e.field.key,"onUpdate:modelValue":n[3]||=e=>i.value=e,"aria-invalid":y.value?`true`:void 0,placeholder:`Enter ${e.field.code_language||``} code...`,spellcheck:`false`},null,8,Fe),[[g,i.value]]),_(`small`,Ie,[n[11]||=_(`i`,{class:`iconoir-code`},null,-1),O(` `+w(v.value)+` code `,1)])]),l.value?(T(),c(Ee,{key:0,class:`field-diagram-preview`,source:String(i.value)},null,8,[`source`])):d(``,!0)],2)):e.field.input_type===`number`?ee((T(),m(`input`,{key:3,id:e.field.key,type:`number`,"onUpdate:modelValue":n[4]||=e=>i.value=e,step:e.field.step,"aria-invalid":y.value?`true`:void 0},null,8,Le)),[[g,i.value]]):e.field.input_type===`url`?ee((T(),m(`input`,{key:4,id:e.field.key,type:`url`,"onUpdate:modelValue":n[5]||=e=>i.value=e,placeholder:`https://...`,"aria-invalid":y.value?`true`:void 0},null,8,Re)),[[g,i.value]]):e.field.input_type===`list`?ee((T(),m(`input`,{key:5,id:e.field.key,type:`text`,"onUpdate:modelValue":n[6]||=e=>i.value=e,placeholder:`Comma-separated values`,"aria-invalid":y.value?`true`:void 0},null,8,ze)),[[g,i.value]]):ee((T(),m(`input`,{key:6,id:e.field.key,type:`text`,"onUpdate:modelValue":n[7]||=e=>i.value=e,"aria-invalid":y.value?`true`:void 0},null,8,Be)),[[g,i.value]]),e.field.description&&![`textarea`,`markdown`,`code`].includes(e.field.input_type)?(T(),m(`small`,Ve,w(e.field.description),1)):d(``,!0),y.value?(T(),m(`div`,He,w(e.error.join(`, `)),1)):d(``,!0)],2))}},[[`__scopeId`,`data-v-fe1221de`]]),We={class:`relations-editor`},Ge={key:0,class:`no-relations`},Ke={id:`relations-list`},qe={class:`relation-text`},Je=[`onClick`],Ye={class:`add-relation-row`},Xe=[`value`],Ze=[`value`],Qe=C({__name:`EditorRelations`,props:{relations:Array,relationOptions:Array,instancesByKind:Object},emits:[`update:relations`],setup(e,{emit:t}){let n=e,r=t,i=D(``),a=D(``),s=h(()=>[...n.relations].sort((e,t)=>(e.verb+e.kind+e.name).localeCompare(t.verb+t.kind+t.name))),c=h(()=>i.value?n.relationOptions.find(e=>e.combo===i.value)?.target_kind:null),l=h(()=>c.value&&n.instancesByKind[c.value]||[]);v(i,()=>{a.value=``});function u(){if(!i.value||!a.value)return;let e=n.relationOptions.find(e=>e.combo===i.value);if(!e||n.relations.some(t=>t.verb===e.verb&&t.kind===e.target_kind&&t.name===a.value))return;let t=[...n.relations,{verb:e.verb,kind:e.target_kind,name:a.value}];r(`update:relations`,t),i.value=``,a.value=``}function d(e){let t=n.relations.filter((t,n)=>n!==e);r(`update:relations`,t)}return(t,n)=>(T(),m(`div`,We,[!e.relationOptions||e.relationOptions.length===0?(T(),m(`p`,Ge,` This resource type has no defined relations. `)):(T(),m(ne,{key:1},[_(`div`,Ke,[(T(!0),m(ne,null,f(s.value,(e,t)=>(T(),m(`div`,{key:`${e.verb}:${e.kind}:${e.name}`,class:`relation-item`},[_(`span`,qe,[_(`strong`,null,w(e.verb),1),O(` → `+w(e.kind)+`: `,1),_(`em`,null,w(e.name),1)]),_(`button`,{class:`btn-remove`,type:`button`,title:`Remove`,onClick:e=>d(t)},[...n[2]||=[_(`i`,{class:`iconoir-xmark`},null,-1)]],8,Je)]))),128))]),_(`div`,Ye,[ee(_(`select`,{"onUpdate:modelValue":n[0]||=e=>i.value=e},[n[3]||=_(`option`,{value:``},`Select relation...`,-1),(T(!0),m(ne,null,f(e.relationOptions,e=>(T(),m(`option`,{key:e.combo,value:e.combo},w(e.verb)+` → `+w(e.target_kind),9,Xe))),128))],512),[[o,i.value]]),ee(_(`select`,{"onUpdate:modelValue":n[1]||=e=>a.value=e},[n[4]||=_(`option`,{value:``},`Select instance...`,-1),(T(!0),m(ne,null,f(l.value,e=>(T(),m(`option`,{key:e,value:e},w(e),9,Ze))),128))],512),[[o,a.value]]),_(`button`,{class:`secondary btn-add`,type:`button`,onClick:u},[...n[5]||=[_(`i`,{class:`iconoir-plus`},null,-1),O(` Add `,-1)]])])],64))]))}},[[`__scopeId`,`data-v-a987a6fe`]]),$e={class:`yaml-output-container`},et={key:0,class:`conflict-error`},tt={class:`yaml-success`},nt={id:`yaml-content`},rt={key:0,class:`yaml-file-info`},it={key:1,class:`yaml-instructions`},at={class:`yaml-actions`},ot=[`disabled`],st=C({__name:`EditorYamlOutput`,props:{yaml:String,format:{type:String,default:`yaml`},kind:String,name:String,contentHash:String,pathRef:String,inlineEditEnabled:Boolean},emits:[`editAgain`],setup(e,{emit:t}){let n=e,r=D(null),i=D(`idle`),o=D(`idle`),s=D(null),c=h(()=>n.format===`markdown`),u=h(()=>c.value?`Markdown`:`YAML`),f=h(()=>c.value?`.md`:`.yaml`);l(()=>{r.value&&se(r.value)}),v(()=>n.yaml,async()=>{await b(),r.value&&se(r.value)});async function p(){try{await navigator.clipboard.writeText(n.yaml),i.value=`copied`,setTimeout(()=>{i.value=`idle`},2e3)}catch{let e=document.createElement(`textarea`);e.value=n.yaml,e.style.position=`fixed`,e.style.opacity=`0`,document.body.appendChild(e),e.select(),document.execCommand(`copy`),document.body.removeChild(e),i.value=`copied`,setTimeout(()=>{i.value=`idle`},2e3)}}async function g(){o.value=`saving`,s.value=null;try{let e=await a(n.kind,n.name,n.yaml,n.contentHash);e.success?(o.value=`saved`,setTimeout(()=>{o.value=`idle`},2e3)):e.conflict?(s.value=e.error,o.value=`idle`):(alert(`Save failed: `+e.error),o.value=`idle`)}catch(e){alert(`Save failed: `+e.message),o.value=`idle`}}return(t,n)=>(T(),m(`div`,$e,[s.value?(T(),m(`div`,et,[n[1]||=_(`i`,{class:`iconoir-warning-triangle`},null,-1),_(`span`,null,w(s.value),1)])):d(``,!0),_(`p`,tt,[n[2]||=_(`i`,{class:`iconoir-check-circle`},null,-1),O(` Generated `+w(u.value),1)]),_(`div`,{ref_key:`codeEl`,ref:r},[_(`pre`,nt,[_(`code`,{class:E(`language-${e.format}`)},w(e.yaml),3)])],512),_(`footer`,null,[e.pathRef?(T(),m(`p`,rt,[n[3]||=_(`i`,{class:`iconoir-folder`},null,-1),_(`span`,null,`Source: `+w(e.pathRef),1)])):(T(),m(`p`,it,[n[10]||=_(`i`,{class:`iconoir-info-circle`},null,-1),_(`span`,null,[O(` Copy this `+w(u.value)+` and save it to a `,1),_(`code`,null,w(f.value),1),n[6]||=O(` file in your resources directory`,-1),c.value?(T(),m(ne,{key:0},[n[4]||=O(` (named `,-1),_(`code`,null,w(e.name)+`.md`,1),n[5]||=O(`)`,-1)],64)):d(``,!0),n[7]||=O(`, `,-1),n[8]||=_(`br`,null,null,-1),n[9]||=O(`then reload the application. `,-1)])])),_(`div`,at,[e.pathRef&&e.inlineEditEnabled?(T(),m(`button`,{key:0,type:`button`,onClick:g,disabled:o.value===`saving`,class:E({saved:o.value===`saved`})},[_(`i`,{class:E(o.value===`saving`?`iconoir-refresh`:o.value===`saved`?`iconoir-check`:`iconoir-check-circle`)},null,2),O(` `+w(o.value===`saving`?`Saving...`:o.value===`saved`?`Saved!`:`Save to File`),1)],10,ot)):d(``,!0),_(`button`,{type:`button`,onClick:p,class:E({copied:i.value===`copied`})},[_(`i`,{class:E(i.value===`copied`?`iconoir-check`:`iconoir-copy`)},null,2),O(` `+w(i.value===`copied`?`Copied!`:`Copy to Clipboard`),1)],2),_(`button`,{class:`secondary`,type:`button`,onClick:n[0]||=e=>t.$emit(`editAgain`)},[...n[11]||=[_(`i`,{class:`iconoir-edit-pencil`},null,-1),O(` Edit Again `,-1)]])])])]))}},[[`__scopeId`,`data-v-b5ea938f`]]);function k(e,...t){let n=new URL(`https://lexical.dev/docs/error`),r=new URLSearchParams;r.append(`code`,e);for(let e of t)r.append(`v`,e);throw n.search=r.toString(),Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function ct(e,...t){let n=new URL(`https://lexical.dev/docs/error`),r=new URLSearchParams;r.append(`code`,e);for(let e of t)r.append(`v`,e);n.search=r.toString(),console.warn(`Minified Lexical warning #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}var lt=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,ut=lt&&`documentMode`in document?document.documentMode:null,dt=lt&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),ft=lt&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),pt=!(!lt||!(`InputEvent`in window)||ut)&&`getTargetRanges`in new window.InputEvent(`input`),mt=lt&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),ht=lt&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,gt=lt&&/Android/.test(navigator.userAgent),_t=lt&&/^(?=.*Chrome).*/i.test(navigator.userAgent),vt=lt&&gt&&_t,yt=lt&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&dt&&!_t,bt=0,xt=1,St=2,Ct=1,wt=2,Tt=3,Et=4,Dt=5,Ot=6,kt=mt||ht||yt?`\xA0`:`​`,At=`
2
2
 
3
3
  `,jt=ft?`\xA0`:kt,Mt=`֑-߿יִ-﷽ﹰ-ﻼ`,Nt=`A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿`,Pt=RegExp(`^[^`+Nt+`]*[`+Mt+`]`),Ft=RegExp(`^[^`+Mt+`]*[`+Nt+`]`),It={bold:1,capitalize:1024,code:16,highlight:128,italic:2,lowercase:256,strikethrough:4,subscript:32,superscript:64,underline:8,uppercase:512},Lt={directionless:1,unmergeable:2},Rt={center:2,end:6,justify:4,left:1,right:3,start:5},zt={[wt]:`center`,[Ot]:`end`,[Et]:`justify`,[Ct]:`left`,[Tt]:`right`,[Dt]:`start`},Bt={normal:0,segmented:2,token:1},Vt={[bt]:`normal`,[St]:`segmented`,[xt]:`token`},Ht=`$config`;function Ut(e,t,n,r,i,a){let o=e.getFirstChild();for(;o!==null;){let e=o.__key;o.__parent===t&&(V(o)&&Ut(o,e,n,r,i,a),n.has(e)||a.delete(e),i.push(e)),o=o.getNextSibling()}}var Wt=!1,Gt=0;function Kt(e){Gt=e.timeStamp}function qt(e,t,n){let r=e.nodeName===`BR`,i=t.__lexicalLineBreak;return i&&(e===i||r&&e.previousSibling===i)||r&&Yo(e,n)!==void 0}function Jt(e,t,n){let r=Is(Os(n)),i=null,a=null;r!==null&&r.anchorNode===e&&(i=r.anchorOffset,a=r.focusOffset);let o=e.nodeValue;o!==null&&ss(t,o,i,a,!1)}function Yt(e,t,n){if(F(e)){let t=e.anchor.getNode();if(t.is(n)&&e.format!==t.getFormat())return!1}return Ro(t)&&n.isAttached()}function Xt(e,t,n,r){for(let i=e;i&&!Zs(i);i=Ss(i)){let e=Yo(i,t);if(e!==void 0){let t=G(e,n);if(t)return H(t)||!Y(i)?void 0:[i,t]}else if(i===r)return[r,$o(n)]}}function Zt(e,t,n){Wt=!0;let r=performance.now()-Gt>100;try{ro(e,()=>{let i=I()||function(e){return e.getEditorState().read(()=>{let e=I();return e===null?null:e.clone()})}(e),a=new Map,o=e.getRootElement(),s=e._editorState,c=e._blockCursorElement,l=!1,u=``;for(let n=0;n<t.length;n++){let d=t[n],f=d.type,p=d.target,m=Xt(p,e,s,o);if(!m)continue;let[h,g]=m;if(f===`characterData`)r&&P(g)&&Ro(p)&&Yt(i,p,g)&&Jt(p,g,e);else if(f===`childList`){l=!0;let t=d.addedNodes;for(let n=0;n<t.length;n++){let r=t[n],i=Jo(r),a=r.parentNode;if(a!=null&&r!==c&&i===null&&!qt(r,a,e)){if(ft){let e=(Y(r)?r.innerText:null)||r.nodeValue;e&&(u+=e)}a.removeChild(r)}}let n=d.removedNodes,r=n.length;if(r>0){let t=0;for(let i=0;i<r;i++){let r=n[i];(qt(r,p,e)||c===r)&&(p.appendChild(r),t++)}r!==t&&a.set(h,g)}}}if(a.size>0)for(let[t,n]of a)n.reconcileObservedMutation(t,e);let d=n.takeRecords();if(d.length>0){for(let t=0;t<d.length;t++){let n=d[t],r=n.addedNodes,i=n.target;for(let t=0;t<r.length;t++){let n=r[t],a=n.parentNode;a==null||n.nodeName!==`BR`||qt(n,i,e)||a.removeChild(n)}}n.takeRecords()}i!==null&&(l&&es(i),ft&&bs(e)&&i.insertRawText(u))})}finally{Wt=!1}}function Qt(e){let t=e._observer;t!==null&&Zt(e,t.takeRecords(),t)}function $t(e){(function(e){Gt===0&&Os(e).addEventListener(`textInput`,Kt,!0)})(e),e._observer=new MutationObserver((t,n)=>{Zt(e,t,n)})}var en=class{key;parse;unparse;isEqual;defaultValue;constructor(e,t){this.key=e,this.parse=t.parse.bind(t),this.unparse=(t.unparse||un).bind(t),this.isEqual=(t.isEqual||Object.is).bind(t),this.defaultValue=this.parse(void 0)}};function tn(e,t){return new en(e,t)}function nn(e,t,n=`latest`){let r=(n===`latest`?e.getLatest():e).__state;return r?r.getValue(t):t.defaultValue}function rn(e,t,n){let r;if(z(),typeof n==`function`){let i=e.getLatest(),a=nn(i,t);if(r=n(a),t.isEqual(a,r))return i}else r=n;let i=e.getWritable();return sn(i).updateFromKnown(t,r),i}function an(e){let t=new Map,n=new Set;for(let r=typeof e==`function`?e:e.replace;r.prototype&&r.prototype.getType!==void 0;r=Object.getPrototypeOf(r)){let{ownNodeConfig:e}=$s(r);if(e&&e.stateConfigs)for(let r of e.stateConfigs){let e;`stateConfig`in r?(e=r.stateConfig,r.flat&&n.add(e.key)):e=r,t.set(e.key,e)}}return{flatKeys:n,sharedConfigMap:t}}var on=class e{node;knownState;unknownState;sharedNodeState;size;constructor(e,t,n=void 0,r=new Map,i=void 0){this.node=e,this.sharedNodeState=t,this.unknownState=n,this.knownState=r;let{sharedConfigMap:a}=this.sharedNodeState,o=i===void 0?function(e,t,n){let r=n.size;if(t)for(let i in t){let t=e.get(i);t&&n.has(t)||r++}return r}(a,n,r):i;this.size=o}getValue(e){let t=this.knownState.get(e);if(t!==void 0)return t;this.sharedNodeState.sharedConfigMap.set(e.key,e);let n=e.defaultValue;if(this.unknownState&&e.key in this.unknownState){let t=this.unknownState[e.key];t!==void 0&&(n=e.parse(t)),this.updateFromKnown(e,n)}return n}getInternalState(){return[this.unknownState,this.knownState]}toJSON(){let e={...this.unknownState},t={};for(let[t,n]of this.knownState)t.isEqual(n,t.defaultValue)?delete e[t.key]:e[t.key]=t.unparse(n);for(let n of this.sharedNodeState.flatKeys)n in e&&(t[n]=e[n],delete e[n]);return ln(e)&&(t.$=e),t}getWritable(t){if(this.node===t)return this;let{sharedNodeState:n,unknownState:r}=this,i=new Map(this.knownState);return new e(t,n,function(e,t,n){let r;if(n)for(let[i,a]of Object.entries(n)){let n=e.get(i);n?t.has(n)||t.set(n,n.parse(a)):(r||={},r[i]=a)}return r}(n.sharedConfigMap,i,r),i,this.size)}updateFromKnown(e,t){let n=e.key;this.sharedNodeState.sharedConfigMap.set(n,e);let{knownState:r,unknownState:i}=this;r.has(e)||i&&n in i||(i&&(delete i[n],this.unknownState=ln(i)),this.size++),r.set(e,t)}updateFromUnknown(e,t){let n=this.sharedNodeState.sharedConfigMap.get(e);n?this.updateFromKnown(n,n.parse(t)):(this.unknownState=this.unknownState||{},e in this.unknownState||this.size++,this.unknownState[e]=t)}updateFromJSON(e){let{knownState:t}=this;for(let e of t.keys())t.set(e,e.defaultValue);if(this.size=t.size,this.unknownState=void 0,e)for(let[t,n]of Object.entries(e))this.updateFromUnknown(t,n)}};function sn(e){let t=e.getWritable(),n=t.__state?t.__state.getWritable(t):new on(t,cn(t));return t.__state=n,n}function cn(e){return e.__state?e.__state.sharedNodeState:Eo(Ws(),e.getType()).sharedNodeState}function ln(e){if(e)for(let t in e)return e}function un(e){return e}function dn(e,t,n){for(let[r,i]of t.knownState){if(e.has(r.key))continue;e.add(r.key);let t=n?n.getValue(r):r.defaultValue;if(t!==i&&!r.isEqual(t,i))return!0}return!1}function fn(e,t,n){let{unknownState:r}=t,i=n?n.unknownState:void 0;if(r){for(let[t,n]of Object.entries(r))if(!e.has(t)&&(e.add(t),n!==(i?i[t]:void 0)))return!0}return!1}function pn(e,t){let n=e.__state;return n&&n.node===e?n.getWritable(t):n}function mn(e,t){let n=e.__mode,r=e.__format,i=e.__style,a=t.__mode,o=t.__format,s=t.__style,c=e.__state,l=t.__state;return(n===null||n===a)&&(r===null||r===o)&&(i===null||i===s)&&(e.__state===null||c===l||function(e,t){if(e===t)return!0;if(e&&t&&e.size!==t.size)return!1;let n=new Set;return!(e&&dn(n,e,t)||t&&dn(n,t,e)||e&&fn(n,e,t)||t&&fn(n,t,e))}(c,l))}function hn(e,t){let n=e.mergeWithSibling(t),r=B()._normalizedNodes;return r.add(e.__key),r.add(t.__key),n}function gn(e){let t,n,r=e;if(r.__text!==``||!r.isSimpleText()||r.isUnmergeable()){for(;(t=r.getPreviousSibling())!==null&&P(t)&&t.isSimpleText()&&!t.isUnmergeable();){if(t.__text!==``){if(mn(t,r)){r=hn(t,r);break}break}t.remove()}for(;(n=r.getNextSibling())!==null&&P(n)&&n.isSimpleText()&&!n.isUnmergeable();){if(n.__text!==``){if(mn(r,n)){r=hn(r,n);break}break}n.remove()}}else r.remove()}function _n(e){return vn(e.anchor),vn(e.focus),e}function vn(e){for(;e.type===`element`;){let t=e.getNode(),n=e.offset,r,i;if(n===t.getChildrenSize()?(r=t.getChildAtIndex(n-1),i=!0):(r=t.getChildAtIndex(n),i=!1),P(r)){e.set(r.__key,i?r.getTextContentSize():0,`text`,!0);break}if(!V(r))break;e.set(r.__key,i?r.getChildrenSize():0,`element`,!0)}}var yn,bn,xn,Sn,Cn,wn,Tn,En,Dn,On,A=``,kn=null,An=null,jn=!1,Mn=!1;function Nn(e,t){let n=Tn.get(e);if(t!==null){let n=Zn(e);n.parentNode===t&&t.removeChild(n)}if(En.has(e)||bn._keyToDOMMap.delete(e),V(n)){let e=Gn(n,Tn);Pn(e,0,e.length-1,null)}n!==void 0&&_s(On,xn,Sn,n,`destroyed`)}function Pn(e,t,n,r){for(let i=t;i<=n;++i){let t=e[i];t!==void 0&&Nn(t,r)}}function Fn(e,t){e.setProperty(`text-align`,t)}var In=`40px`;function Ln(e,t){let n=yn.theme.indent;if(typeof n==`string`){let r=e.classList.contains(n);t>0&&!r?e.classList.add(n):t<1&&r&&e.classList.remove(n)}if(t===0)return void e.style.setProperty(`padding-inline-start`,``);let r=getComputedStyle(bn._rootElement||e).getPropertyValue(`--lexical-indent-base-value`)||In;e.style.setProperty(`padding-inline-start`,`calc(${t} * ${r})`)}function Rn(e,t){let n=e.style;t===0?Fn(n,``):t===1?Fn(n,`left`):t===2?Fn(n,`center`):t===3?Fn(n,`right`):t===4?Fn(n,`justify`):t===5?Fn(n,`start`):t===6&&Fn(n,`end`)}function zn(e,t){let n=function(e){let t=e.__dir;if(t!==null)return t;if(U(e))return null;let n=e.getParentOrThrow();return U(n)&&n.__dir===null?`auto`:null}(t);n===null?e.removeAttribute(`dir`):e.dir=n}function Bn(e,t){let n=En.get(e);n===void 0&&k(60);let r=n.createDOM(yn,bn);if(function(e,t,n){let r=n._keyToDOMMap;(function(e,t,n){let r=`__lexicalKey_${t._key}`;e[r]=n})(t,n,e),r.set(e,t)}(e,r,bn),P(n)?r.setAttribute(`data-lexical-text`,`true`):H(n)&&r.setAttribute(`data-lexical-decorator`,`true`),V(n)){let e=n.__indent,t=n.__size;if(zn(r,n),e!==0&&Ln(r,e),t!==0){let e=t-1;Vn(Gn(n,En),n,0,e,n.getDOMSlot(r))}let i=n.__format;i!==0&&Rn(r,i),n.isInline()||Un(null,n,r)}else{let t=n.getTextContent();if(H(n)){let t=n.decorate(bn,yn);t!==null&&qn(e,t),r.contentEditable=`false`}A+=t}return t!==null&&t.insertChild(r),_s(On,xn,Sn,n,`created`),r}function Vn(e,t,n,r,i){let a=A;A=``;let o=n;for(;o<=r;++o){Bn(e[o],i);let t=En.get(e[o]);t!==null&&P(t)?kn===null&&(kn=t.getFormat(),An=t.getStyle()):V(t)&&o<r&&!t.isInline()&&(A+=At)}i.element.__lexicalTextContent=A,A=a+A}function Hn(e,t){if(e){let n=e.__last;if(n){let e=t.get(n);if(e)return M(e)?`line-break`:H(e)&&e.isInline()?`decorator`:null}return`empty`}return null}function Un(e,t,n){let r=Hn(e,Tn),i=Hn(t,En);r!==i&&t.getDOMSlot(n).setManagedLineBreak(i)}function Wn(e,t,n){var r;kn=null,An=null,function(e,t,n){let r=A,i=e.__size,a=t.__size;A=``;let o=n.element;if(i===1&&a===1){let n=e.__first,r=t.__first;if(n===r)Kn(n,o);else{let e=Zn(n),t=Bn(r,null);try{o.replaceChild(t,e)}catch(i){if(typeof i==`object`&&i){let a=`${i.toString()} Parent: ${o.tagName}, new child: {tag: ${t.tagName} key: ${r}}, old child: {tag: ${e.tagName}, key: ${n}}.`;throw Error(a)}throw i}Nn(n,null)}let i=En.get(r);P(i)&&kn===null&&(kn=i.getFormat(),An=i.getStyle())}else{let r=Gn(e,Tn),s=Gn(t,En);if(r.length!==i&&k(227),s.length!==a&&k(228),i===0)a!==0&&Vn(s,0,0,a-1,n);else if(a===0){if(i!==0){let e=n.after==null&&n.before==null&&n.element.__lexicalLineBreak==null;Pn(r,0,i-1,e?null:o),e&&(o.textContent=``)}}else(function(e,t,n,r,i,a){let o=r-1,s=i-1,c,l,u=a.getFirstChild(),d=0,f=0;for(;d<=o&&f<=s;){let e=t[d],r=n[f];if(e===r)u=Jn(Kn(r,a.element)),d++,f++;else{if(l===void 0&&(l=Yn(n,f)),c===void 0)c=Yn(t,d);else if(!c.has(e)){d++;continue}if(!l.has(e)){u=Jn(Zn(e)),Nn(e,a.element),d++,c.delete(e);continue}if(c.has(r)){let e=xs(bn,r);e!==u&&a.withBefore(u).insertChild(e),u=Jn(Kn(r,a.element)),d++,f++}else Bn(r,a.withBefore(u)),f++}let i=En.get(r);i!==null&&P(i)?kn===null&&(kn=i.getFormat(),An=i.getStyle()):V(i)&&f<=s&&!i.isInline()&&(A+=At)}let p=d>o,m=f>s;if(p&&!m){let e=n[s+1],t=e===void 0?null:bn.getElementByKey(e);Vn(n,0,f,s,a.withBefore(t))}else m&&!p&&Pn(t,d,o,a.element)})(0,r,s,i,a,n)}o.__lexicalTextContent=A,A=r+A}(e,t,t.getDOMSlot(n)),r=t,kn==null||kn===r.__textFormat||Mn||r.setTextFormat(kn),function(e){An==null||An===e.__textStyle||Mn||e.setTextStyle(An)}(t)}function Gn(e,t){let n=[],r=e.__first;for(;r!==null;){let e=t.get(r);e===void 0&&k(101),n.push(r),r=e.__next}return n}function Kn(e,t){let n=Tn.get(e),r=En.get(e);n!==void 0&&r!==void 0||k(61);let i=jn||wn.has(e)||Cn.has(e),a=xs(bn,e);if(n===r&&!i){let e;if(V(n)){let t=a.__lexicalTextContent;typeof t==`string`?e=t:(e=n.getTextContent(),a.__lexicalTextContent=e)}else e=n.getTextContent();return A+=e,a}if(n!==r&&i&&_s(On,xn,Sn,r,`updated`),r.updateDOM(n,a,yn)){let n=Bn(e,null);return t===null&&k(62),t.replaceChild(n,a),Nn(e,null),n}if(V(n)){V(r)||k(334,e);let t=r.__indent;(jn||t!==n.__indent)&&Ln(a,t);let o=r.__format;if((jn||o!==n.__format)&&Rn(a,o),i)Wn(n,r,a),U(r)||r.isInline()||Un(n,r,a);else{let e=a.__lexicalTextContent,t;typeof e==`string`?t=e:(t=n.getTextContent(),a.__lexicalTextContent=t),A+=t}if((jn||r.__dir!==n.__dir)&&(zn(a,r),U(r)&&!jn))for(let e of r.getChildren())V(e)&&zn(xs(bn,e.getKey()),e)}else{let t=r.getTextContent();if(H(r)){let t=r.decorate(bn,yn);t!==null&&qn(e,t)}A+=t}if(!Mn&&U(r)&&r.__cachedText!==A){let e=r.getWritable();e.__cachedText=A,r=e}return a}function qn(e,t){let n=bn._pendingDecorators,r=bn._decorators;if(n===null){if(r[e]===t)return;n=Zo(bn)}n[e]=t}function Jn(e){let t=e.nextSibling;return t!==null&&t===bn._blockCursorElement&&(t=t.nextSibling),t}function Yn(e,t){let n=new Set;for(let r=t;r<e.length;r++)n.add(e[r]);return n}function Xn(e,t,n,r,i,a){A=``,jn=r===2,bn=n,yn=n._config,xn=n._nodes,Sn=bn._listeners.mutation,Cn=i,wn=a,Tn=e._nodeMap,En=t._nodeMap,Mn=t._readOnly,Dn=new Map(n._keyToDOMMap);let o=new Map;return On=o,Kn(`root`,null),bn=void 0,xn=void 0,Cn=void 0,wn=void 0,Tn=void 0,En=void 0,yn=void 0,Dn=void 0,On=void 0,o}function Zn(e){let t=Dn.get(e);return t===void 0&&k(75,e),t}function j(e){return{type:e}}var Qn=j(`SELECTION_CHANGE_COMMAND`),$n=j(`SELECTION_INSERT_CLIPBOARD_NODES_COMMAND`),er=j(`CLICK_COMMAND`),tr=j(`BEFORE_INPUT_COMMAND`),nr=j(`INPUT_COMMAND`),rr=j(`COMPOSITION_START_COMMAND`),ir=j(`COMPOSITION_END_COMMAND`),ar=j(`DELETE_CHARACTER_COMMAND`),or=j(`INSERT_LINE_BREAK_COMMAND`),sr=j(`INSERT_PARAGRAPH_COMMAND`),cr=j(`CONTROLLED_TEXT_INSERTION_COMMAND`),lr=j(`PASTE_COMMAND`),ur=j(`REMOVE_TEXT_COMMAND`),dr=j(`DELETE_WORD_COMMAND`),fr=j(`DELETE_LINE_COMMAND`),pr=j(`FORMAT_TEXT_COMMAND`),mr=j(`UNDO_COMMAND`),hr=j(`REDO_COMMAND`),gr=j(`KEYDOWN_COMMAND`),_r=j(`KEY_ARROW_RIGHT_COMMAND`),vr=j(`MOVE_TO_END`),yr=j(`KEY_ARROW_LEFT_COMMAND`),br=j(`MOVE_TO_START`),xr=j(`KEY_ARROW_UP_COMMAND`),Sr=j(`KEY_ARROW_DOWN_COMMAND`),Cr=j(`KEY_ENTER_COMMAND`),wr=j(`KEY_SPACE_COMMAND`),Tr=j(`KEY_BACKSPACE_COMMAND`),Er=j(`KEY_ESCAPE_COMMAND`),Dr=j(`KEY_DELETE_COMMAND`),Or=j(`KEY_TAB_COMMAND`),kr=j(`INSERT_TAB_COMMAND`),Ar=j(`INDENT_CONTENT_COMMAND`),jr=j(`OUTDENT_CONTENT_COMMAND`),Mr=j(`DROP_COMMAND`),Nr=j(`FORMAT_ELEMENT_COMMAND`),Pr=j(`DRAGSTART_COMMAND`),Fr=j(`DRAGOVER_COMMAND`),Ir=j(`DRAGEND_COMMAND`),Lr=j(`COPY_COMMAND`),Rr=j(`CUT_COMMAND`),zr=j(`SELECT_ALL_COMMAND`),Br=j(`CLEAR_EDITOR_COMMAND`),Vr=j(`CLEAR_HISTORY_COMMAND`),Hr=j(`CAN_REDO_COMMAND`),Ur=j(`CAN_UNDO_COMMAND`),Wr=j(`FOCUS_COMMAND`),Gr=j(`BLUR_COMMAND`),Kr=j(`KEY_MODIFIER_COMMAND`),qr=Object.freeze({}),Jr=[[`keydown`,function(e,t){Yr=e.timeStamp,Xr=e.key,!t.isComposing()&&J(t,gr,e)}],[`pointerdown`,function(e,t){let n=e.target,r=e.pointerType;zs(n)&&r!==`touch`&&r!==`pen`&&e.button===0&&ro(t,()=>{ko(n)||(ni=!0)})}],[`compositionstart`,function(e,t){J(t,rr,e)}],[`compositionend`,function(e,t){ft?ii=!0:ht||!mt&&!yt?J(t,ir,e):(ai=!0,oi=e.data)}],[`input`,function(e,t){e.stopPropagation(),ro(t,()=>{t.dispatchCommand(nr,e)},{event:e}),Qr=null}],[`click`,function(e,t){ro(t,()=>{let n=I(),r=Is(Os(t)),i=Ea();if(r){if(F(n)){let t=n.anchor,a=t.getNode();if(t.type===`element`&&t.offset===0&&n.isCollapsed()&&!U(a)&&K().getChildrenSize()===1&&a.getTopLevelElementOrThrow().isEmpty()&&i!==null&&n.is(i))r.removeAllRanges(),n.dirty=!0;else if(e.detail===3&&!n.isCollapsed()&&a!==n.focus.getNode()){let e=tc(a,e=>V(e)&&!e.isInline());V(e)&&e.select(0)}}else if(e.pointerType===`touch`||e.pointerType===`pen`){let n=r.anchorNode;(Y(n)||Ro(n))&&es(Ta(i,r,t,e))}}J(t,er,e)})}],[`cut`,qr],[`copy`,qr],[`dragstart`,qr],[`dragover`,qr],[`dragend`,qr],[`paste`,qr],[`focus`,qr],[`blur`,qr],[`drop`,qr]];pt&&Jr.push([`beforeinput`,(e,t)=>function(e,t){let n=e.inputType;n===`deleteCompositionText`||ft&&bs(t)||n!==`insertCompositionText`&&J(t,tr,e)}(e,t)]);var Yr=0,Xr=null,Zr=0,Qr=null,$r=new WeakMap,ei=new WeakMap,ti=!1,ni=!1,ri=!1,ii=!1,ai=!1,oi=``,si=null,ci=[0,``,0,`root`,0];function li(e,t,n,r,i){let a=e.anchor,o=e.focus,s=a.getNode(),c=B(),l=Is(Os(c)),u=l===null?null:l.anchorNode,d=a.key,f=c.getElementByKey(d),p=n.length;return d!==o.key||!P(s)||(!i&&(!pt||Zr<r+50)||s.isDirty()&&p<2||ns(n))&&a.offset!==o.offset&&!s.isComposing()||Lo(s)||s.isDirty()&&p>1||(i||!pt)&&f!==null&&!s.isComposing()&&u!==Bo(f)||l!==null&&t!==null&&(!t.collapsed||t.startContainer!==l.anchorNode||t.startOffset!==l.anchorOffset)||!s.isComposing()&&(s.getFormat()!==e.format||s.getStyle()!==e.style)||function(e,t){if(t.isSegmented())return!0;if(!e.isCollapsed())return!1;let n=e.anchor.offset,r=t.getParentOrThrow(),i=Io(t);return n===0?!t.canInsertTextBefore()||!r.canInsertTextBefore()&&!t.isComposing()||i||function(e){let t=e.getPreviousSibling();return(P(t)||V(t)&&t.isInline())&&!t.canInsertTextAfter()}(t):n===t.getTextContentSize()&&(!t.canInsertTextAfter()||!r.canInsertTextAfter()&&!t.isComposing()||i)}(e,s)}function ui(e,t){return Ro(e)&&e.nodeValue!==null&&t!==0&&t!==e.nodeValue.length}function di(e,t,n){let{anchorNode:r,anchorOffset:i,focusNode:a,focusOffset:o}=e;ti&&(ti=!1,ui(r,i)&&ui(a,o)&&!si)||ro(t,()=>{if(!n)return void es(null);if(!jo(t,r,a))return;let s=I();if(si&&F(s)&&s.isCollapsed()){let e=s.anchor,t=si.anchor;(e.key===t.key&&e.offset===t.offset+1||e.offset===1&&t.getNode().is(e.getNode().getPreviousSibling()))&&(s=si.clone(),es(s))}if(si=null,F(s)){let n=s.anchor,r=n.getNode();if(s.isCollapsed()){e.type===`Range`&&e.anchorNode===e.focusNode&&(s.dirty=!0);let i=Os(t).event,a=i?i.timeStamp:performance.now(),[o,c,l,u,d]=ci,f=K(),p=!1===t.isComposing()&&f.getTextContent()===``;if(a<d+200&&n.offset===l&&n.key===u)fi(s,o,c);else if(n.type===`text`)P(r)||k(141),pi(s,r);else if(n.type===`element`&&!p){V(r)||k(259);let e=n.getNode();e.isEmpty()?function(e,t){fi(e,t.getTextFormat(),t.getTextStyle())}(s,e):fi(s,0,``)}}else{let e=n.key,t=s.focus.key,r=s.getNodes(),a=r.length,c=s.isBackward(),l=c?o:i,u=c?i:o,d=c?t:e,f=c?e:t,p=2047,m=!1;for(let e=0;e<a;e++){let t=r[e],n=t.getTextContentSize();if(P(t)&&n!==0&&!(e===0&&t.__key===d&&l===n||e===a-1&&t.__key===f&&u===0)&&(m=!0,p&=t.getFormat(),p===0))break}s.format=m?p:0}}J(t,Qn,void 0)})}function fi(e,t,n){e.format===t&&e.style===n||(e.format=t,e.style=n,e.dirty=!0)}function pi(e,t){fi(e,t.getFormat(),t.getStyle())}function mi(e){if(!e.getTargetRanges)return null;let t=e.getTargetRanges();return t.length===0?null:t[0]}function hi(e){let t=e.inputType,n=mi(e),r=B(),i=I();if(t===`deleteContentBackward`){if(i===null){let e=Ea();if(!F(e))return!0;es(e.clone())}if(F(i)){let t=i.anchor.key===i.focus.key;if(a=e.timeStamp,Xr===`MediaLast`&&a<Yr+30&&r.isComposing()&&t){if(Ko(null),Yr=0,setTimeout(()=>{ro(r,()=>{Ko(null)})},30),F(i)){let e=i.anchor.getNode();e.markDirty(),P(e)||k(142),pi(i,e)}}else{Ko(null),e.preventDefault();let n=i.anchor.getNode(),a=n.getTextContent(),o=n.canInsertTextAfter(),s=i.anchor.offset===0&&i.focus.offset===a.length,c=vt&&t&&!s&&o;if(c&&i.isCollapsed()&&(c=!H(ys(i.anchor,!0))),!c){J(r,ar,!0);let e=I();vt&&F(e)&&e.isCollapsed()&&(si=e,setTimeout(()=>si=null))}}return!0}}var a;if(!F(i))return!0;let o=e.data;Qr!==null&&os(!1,r,Qr),i.dirty&&Qr===null||!i.isCollapsed()||U(i.anchor.getNode())||n===null||i.applyDOMRange(n),Qr=null;let s=i.anchor,c=i.focus,l=s.getNode(),u=c.getNode();if(t===`insertText`||t===`insertTranspose`){if(o===`
4
4
  `)e.preventDefault(),J(r,or,!1);else if(o===At)e.preventDefault(),J(r,sr,void 0);else if(o==null&&e.dataTransfer){let t=e.dataTransfer.getData(`text/plain`);e.preventDefault(),i.insertRawText(t)}else o!=null&&li(i,n,o,e.timeStamp,!0)?(e.preventDefault(),J(r,cr,o)):Qr=o;return Zr=e.timeStamp,!0}switch(e.preventDefault(),t){case`insertFromYank`:case`insertFromDrop`:case`insertReplacementText`:J(r,cr,e);break;case`insertFromComposition`:Ko(null),J(r,cr,e);break;case`insertLineBreak`:Ko(null),J(r,or,!1);break;case`insertParagraph`:Ko(null),ri&&!ht?(ri=!1,J(r,or,!1)):J(r,sr,void 0);break;case`insertFromPaste`:case`insertFromPasteAsQuotation`:J(r,lr,e);break;case`deleteByComposition`:(function(e,t){return e!==t||V(e)||V(t)||!Io(e)||!Io(t)})(l,u)&&J(r,ur,e);break;case`deleteByDrag`:case`deleteByCut`:J(r,ur,e);break;case`deleteContent`:J(r,ar,!1);break;case`deleteWordBackward`:J(r,dr,!0);break;case`deleteWordForward`:J(r,dr,!1);break;case`deleteHardLineBackward`:case`deleteSoftLineBackward`:J(r,fr,!0);break;case`deleteContentForward`:case`deleteHardLineForward`:case`deleteSoftLineForward`:J(r,fr,!1);break;case`formatStrikeThrough`:J(r,pr,`strikethrough`);break;case`formatBold`:J(r,pr,`bold`);break;case`formatItalic`:J(r,pr,`italic`);break;case`formatUnderline`:J(r,pr,`underline`);break;case`historyUndo`:J(r,mr,void 0);break;case`historyRedo`:J(r,hr,void 0)}return!0}function gi(e){if(Y(e.target)&&ko(e.target))return!0;let t=B(),n=I(),r=e.data,i=mi(e);if(r!=null&&F(n)&&li(n,i,r,e.timeStamp,!1)){ii&&=(yi(t,r),!1);let i=n.anchor.getNode(),a=Is(Os(t));if(a===null)return!0;let o=n.isBackward(),s=o?n.anchor.offset:n.focus.offset,c=o?n.focus.offset:n.anchor.offset;pt&&!n.isCollapsed()&&P(i)&&a.anchorNode!==null&&i.getTextContent().slice(0,s)+r+i.getTextContent().slice(s+c)===as(a.anchorNode)||J(t,cr,r);let l=r.length;ft&&l>1&&e.inputType===`insertCompositionText`&&!t.isComposing()&&(n.anchor.offset-=l),vt&&t.isComposing()&&(Yr=0,Ko(null))}else os(!1,t,r===null?void 0:r),ii&&=(yi(t,r||void 0),!1);return function(){z(),Qt(B())}(),!0}function _i(e){let t=B(),n=I();if(F(n)&&!t.isComposing()){let r=n.anchor,i=n.anchor.getNode();Ko(r.key),ws(Pi),(e.timeStamp<Yr+30||r.type===`element`||!n.isCollapsed()||i.getFormat()!==n.format||P(i)&&i.getStyle()!==n.style)&&J(t,cr,jt)}return!0}function vi(e){return yi(B(),e.data),ws(Fi),!0}function yi(e,t){let n=e._compositionKey;if(Ko(null),n!==null&&t!=null){if(t===``){let t=G(n),r=Bo(e.getElementByKey(n));if(r!==null&&r.nodeValue!==null&&P(t)){let n=Is(Os(e)),i=null,a=null;n!==null&&n.anchorNode===r&&(i=n.anchorOffset,a=n.focusOffset),ss(t,r.nodeValue,i,a,!0)}return}if(t[t.length-1]===`
@@ -1,2 +1,2 @@
1
- import{$ as e,A as t,B as n,E as r,I as i,J as a,L as o,N as s,P as c,T as l,X as u,a as d,at as f,j as p,q as m,rt as h,x as g,z as _}from"./index-CLuLTE5I.js";var v={key:0},y={class:`error-header`},b={class:`error-message`},x={class:`error-location`},S={class:`error-line-badge`},C={key:0,class:`error-code-block`},w={class:`line-number`},T={key:1},E=d({__name:`ErrorPage`,setup(d){let E=l(),D=r(),O=s(()=>{try{return E.query.data?JSON.parse(E.query.data):null}catch{return null}});async function k(){let e=await g();e.error?D.replace({name:`error`,query:{data:JSON.stringify(e.error)}}):(D.push(`/`),window.location.reload())}return(r,s)=>{let l=u(`router-link`);return O.value?(m(),o(`div`,v,[c(`header`,null,[c(`article`,y,[s[1]||=c(`h3`,null,[c(`i`,{class:`iconoir-warning-triangle`}),_(` Error `)],-1),c(`p`,b,f(O.value.error),1),c(`p`,x,[s[0]||=c(`i`,{class:`iconoir-page`},null,-1),_(` `+f(O.value.path)+` `,1),c(`span`,S,`Line `+f(O.value.line_no),1)])]),c(`a`,{href:`#`,class:`reload-btn`,onClick:t(k,[`prevent`])},[...s[2]||=[c(`i`,{class:`iconoir-refresh`},null,-1),_(` Reload `,-1)]])]),O.value.context?(m(),o(`div`,C,[c(`pre`,null,[c(`code`,null,[(m(!0),o(p,null,a(O.value.context,e=>(m(),o(`span`,{key:e.line_no,class:h(e.selected?`error-line`:`code-line`)},[c(`span`,w,f(String(e.line_no).padStart(4,` `)),1),_(f(e.content)+`
1
+ import{$ as e,A as t,B as n,E as r,I as i,J as a,L as o,N as s,P as c,T as l,X as u,a as d,at as f,j as p,q as m,rt as h,x as g,z as _}from"./index-DMhBow5t.js";var v={key:0},y={class:`error-header`},b={class:`error-message`},x={class:`error-location`},S={class:`error-line-badge`},C={key:0,class:`error-code-block`},w={class:`line-number`},T={key:1},E=d({__name:`ErrorPage`,setup(d){let E=l(),D=r(),O=s(()=>{try{return E.query.data?JSON.parse(E.query.data):null}catch{return null}});async function k(){let e=await g();e.error?D.replace({name:`error`,query:{data:JSON.stringify(e.error)}}):(D.push(`/`),window.location.reload())}return(r,s)=>{let l=u(`router-link`);return O.value?(m(),o(`div`,v,[c(`header`,null,[c(`article`,y,[s[1]||=c(`h3`,null,[c(`i`,{class:`iconoir-warning-triangle`}),_(` Error `)],-1),c(`p`,b,f(O.value.error),1),c(`p`,x,[s[0]||=c(`i`,{class:`iconoir-page`},null,-1),_(` `+f(O.value.path)+` `,1),c(`span`,S,`Line `+f(O.value.line_no),1)])]),c(`a`,{href:`#`,class:`reload-btn`,onClick:t(k,[`prevent`])},[...s[2]||=[c(`i`,{class:`iconoir-refresh`},null,-1),_(` Reload `,-1)]])]),O.value.context?(m(),o(`div`,C,[c(`pre`,null,[c(`code`,null,[(m(!0),o(p,null,a(O.value.context,e=>(m(),o(`span`,{key:e.line_no,class:h(e.selected?`error-line`:`code-line`)},[c(`span`,w,f(String(e.line_no).padStart(4,` `)),1),_(f(e.content)+`
2
2
  `,1)],2))),128))])])])):i(``,!0)])):(m(),o(`div`,T,[s[4]||=c(`p`,null,`No error data available.`,-1),n(l,{to:`/`},{default:e(()=>[...s[3]||=[_(`Back to home`,-1)]]),_:1})]))}}},[[`__scopeId`,`data-v-cb96d9d5`]]);export{E as default};
@@ -1 +1 @@
1
- import{G as e,K as t,L as n,P as r,U as i,a,m as o,q as s,tt as c}from"./index-CLuLTE5I.js";import{t as l}from"./useGraphviz-Dnm2pkon.js";import{t as u}from"./usePanZoom-HxgEsqq2.js";var d={key:0},f={key:1,class:`graph-container graph-expand`},p=[`innerHTML`],m=a({__name:`GraphView`,setup(a){let m=c(``),h=c(!0),g=c(null),_=null;e(async()=>{let e=await o();m.value=e?await l(e):``,h.value=!1,await i(),v()}),t(()=>{_?.destroy()});function v(){if(!g.value)return;let e=g.value.querySelector(`svg`);e&&(_=u(e,g.value))}return(e,t)=>(s(),n(`article`,null,[t[1]||=r(`header`,null,[r(`h2`,null,`Architecture Overview`)],-1),h.value?(s(),n(`div`,d,[...t[0]||=[r(`p`,null,`Loading graph...`,-1)]])):(s(),n(`div`,f,[r(`div`,{id:`graphviz`,ref_key:`graphEl`,ref:g,class:`fullcanvas`,innerHTML:m.value},null,8,p)]))]))}},[[`__scopeId`,`data-v-dbc5bc1f`]]);export{m as default};
1
+ import{G as e,K as t,L as n,P as r,U as i,a,m as o,q as s,tt as c}from"./index-DMhBow5t.js";import{t as l}from"./useGraphviz-Dnm2pkon.js";import{t as u}from"./usePanZoom-HxgEsqq2.js";var d={key:0},f={key:1,class:`graph-container graph-expand`},p=[`innerHTML`],m=a({__name:`GraphView`,setup(a){let m=c(``),h=c(!0),g=c(null),_=null;e(async()=>{let e=await o();m.value=e?await l(e):``,h.value=!1,await i(),v()}),t(()=>{_?.destroy()});function v(){if(!g.value)return;let e=g.value.querySelector(`svg`);e&&(_=u(e,g.value))}return(e,t)=>(s(),n(`article`,null,[t[1]||=r(`header`,null,[r(`h2`,null,`Architecture Overview`)],-1),h.value?(s(),n(`div`,d,[...t[0]||=[r(`p`,null,`Loading graph...`,-1)]])):(s(),n(`div`,f,[r(`div`,{id:`graphviz`,ref_key:`graphEl`,ref:g,class:`fullcanvas`,innerHTML:m.value},null,8,p)]))]))}},[[`__scopeId`,`data-v-dbc5bc1f`]]);export{m as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["vue/GraphView-CTl03Yre.js","vue/index-CLuLTE5I.js","vue/mermaid-C3bOamfn.js","vue/rolldown-runtime-COiEfhsA.js","vue/index-BLSE5DSv.css","vue/useGraphviz-Dnm2pkon.js","vue/usePanZoom-HxgEsqq2.js","vue/GraphView-BvWAbUAl.css"])))=>i.map(i=>d[i]);
2
- import{M as e}from"./mermaid-C3bOamfn.js";import{F as t,H as n,L as r,N as i,P as a,V as o,nt as s,q as c}from"./index-CLuLTE5I.js";import{n as l}from"./PageView-OZB6G9Wu.js";var u={key:2},d={__name:`HomePage`,setup(d){let f=o(()=>e(()=>import(`./GraphView-CTl03Yre.js`),__vite__mapDeps([0,1,2,3,4,5,6,7]))),p=n(`pages`,null),m=n(`pageHome`,null),h=i(()=>p?.value!=null),g=i(()=>m?.value);return(e,n)=>g.value?(c(),t(l,{key:0,name:g.value.name},null,8,[`name`])):h.value?(c(),t(s(f),{key:1})):(c(),r(`article`,u,[...n[0]||=[a(`p`,null,`Loading...`,-1)]]))}};export{d as default};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["vue/GraphView-BRKwxa--.js","vue/index-DMhBow5t.js","vue/mermaid-C3bOamfn.js","vue/rolldown-runtime-COiEfhsA.js","vue/index-B_YGrWD8.css","vue/useGraphviz-Dnm2pkon.js","vue/usePanZoom-HxgEsqq2.js","vue/GraphView-BvWAbUAl.css"])))=>i.map(i=>d[i]);
2
+ import{M as e}from"./mermaid-C3bOamfn.js";import{F as t,H as n,L as r,N as i,P as a,V as o,nt as s,q as c}from"./index-DMhBow5t.js";import{n as l}from"./PageView-DAqHjL1x.js";var u={key:2},d={__name:`HomePage`,setup(d){let f=o(()=>e(()=>import(`./GraphView-BRKwxa--.js`),__vite__mapDeps([0,1,2,3,4,5,6,7]))),p=n(`pages`,null),m=n(`pageHome`,null),h=i(()=>p?.value!=null),g=i(()=>m?.value);return(e,n)=>g.value?(c(),t(l,{key:0,name:g.value.name},null,8,[`name`])):h.value?(c(),t(s(f),{key:1})):(c(),r(`article`,u,[...n[0]||=[a(`p`,null,`Loading...`,-1)]]))}};export{d as default};
@@ -1 +1 @@
1
- .btn-embed[data-v-04c65c40]{width:auto;font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;margin:0;padding:.4rem .75rem;transition:all .15s;display:inline-flex}.btn-embed[data-v-04c65c40]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.relations-section .relations-grid[data-v-2fa43570]{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.relations-section .relations-outgoing[data-v-2fa43570]{order:2}.relations-section .relations-incoming[data-v-2fa43570]{order:1}@media (width<=768px){.relations-section .relations-grid[data-v-2fa43570]{grid-template-columns:1fr;gap:1rem}.relations-section .relations-outgoing[data-v-2fa43570]{order:1}.relations-section .relations-incoming[data-v-2fa43570]{order:2}}.relations-section .relations-column h3[data-v-2fa43570]{color:var(--pico-muted-color);font-size:var(--fs-base);align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600;display:flex}.relations-section .relation-group[data-v-2fa43570]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:.5rem;margin-bottom:.75rem;padding:.5rem .75rem}.relations-section .relation-kind[data-v-2fa43570]{align-items:center;gap:.5rem;margin-bottom:.25rem;font-weight:600;display:flex}.relations-section .relation-verb[data-v-2fa43570]{font-size:var(--fs-sm);color:var(--pico-muted-color);margin-bottom:.5rem}.relations-section .relations-empty[data-v-2fa43570]{color:var(--pico-muted-color);font-style:italic}.instance-badges[data-v-2fa43570]{flex-wrap:wrap;gap:6px;display:flex}.graph-container[data-v-c3280c1e]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:4px;height:auto;min-height:150px;max-height:70vh;position:relative;overflow:hidden}.canvas[data-v-c3280c1e]{width:100%;height:100%}[data-v-c3280c1e] .canvas svg{display:block}.graph-error[data-v-c3280c1e]{color:var(--pico-del-color);padding:.5rem 0}.git-info[data-v-808bbe74]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.git-item[data-v-808bbe74]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.git-item i[data-v-808bbe74]{font-size:var(--fs-md);color:var(--pico-primary)}.git-link[data-v-808bbe74]{color:var(--pico-primary);font-weight:600;text-decoration:none}.git-link[data-v-808bbe74]:hover{text-decoration:underline}.git-clone-command[data-v-808bbe74]{color:var(--pico-muted-color);font-size:var(--fs-sm);font-family:var(--font-mono);background-color:var(--pico-code-background-color);border-radius:3px;padding:2px 6px}.copy-button[data-v-808bbe74]{color:var(--pico-primary);border:1px solid var(--pico-muted-border-color);cursor:pointer;background-color:#0000;border-radius:4px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:6px;transition:all .2s;display:flex}.copy-button[data-v-808bbe74]:hover{background-color:var(--pico-card-background-color);border-color:var(--pico-primary);transform:scale(1.1)}.copy-button.copied[data-v-808bbe74]{color:#fff;background-color:#10b981;border-color:#10b981}.copy-button i[data-v-808bbe74]{font-size:var(--fs-md)}.language-distribution[data-v-c1202fdd]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;flex-direction:column;gap:8px;min-width:200px;padding:8px 12px;display:flex}.language-total[data-v-c1202fdd]{align-items:baseline;gap:6px;display:flex}.language-total .language-count[data-v-c1202fdd]{font-size:var(--fs-lg);color:var(--pico-color);font-weight:600}.language-total .language-label[data-v-c1202fdd]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.language-bar[data-v-c1202fdd]{background-color:var(--pico-muted-border-color);border-radius:4px;height:8px;display:flex;overflow:hidden}.language-bar-segment[data-v-c1202fdd]{min-width:2px;height:100%}.language-bar-segment.lang-0[data-v-c1202fdd],.language-legend-dot.lang-0[data-v-c1202fdd]{background-color:#3178c6}.language-bar-segment.lang-1[data-v-c1202fdd],.language-legend-dot.lang-1[data-v-c1202fdd]{background-color:#00add8}.language-bar-segment.lang-2[data-v-c1202fdd],.language-legend-dot.lang-2[data-v-c1202fdd]{background-color:#f1e05a}.language-bar-segment.lang-3[data-v-c1202fdd],.language-legend-dot.lang-3[data-v-c1202fdd]{background-color:#e34c26}.language-bar-segment.lang-4[data-v-c1202fdd],.language-legend-dot.lang-4[data-v-c1202fdd]{background-color:#563d7c}.language-bar-segment.lang-5[data-v-c1202fdd],.language-legend-dot.lang-5[data-v-c1202fdd]{background-color:#89e051}.language-bar-segment.lang-6[data-v-c1202fdd],.language-legend-dot.lang-6[data-v-c1202fdd]{background-color:#f34b7d}.language-bar-segment.lang-7[data-v-c1202fdd],.language-legend-dot.lang-7[data-v-c1202fdd]{background-color:#b07219}.language-bar-segment.lang-8[data-v-c1202fdd],.language-legend-dot.lang-8[data-v-c1202fdd]{background-color:#4f5d95}.language-bar-segment.lang-9[data-v-c1202fdd],.language-legend-dot.lang-9[data-v-c1202fdd]{background-color:#6b7280}.language-bar-segment.lang-other[data-v-c1202fdd],.language-legend-dot.lang-other[data-v-c1202fdd]{background-color:#9ca3af}.language-legend[data-v-c1202fdd]{font-size:var(--fs-xs);flex-wrap:wrap;gap:12px;display:flex}.language-legend-item[data-v-c1202fdd]{align-items:center;gap:4px;display:flex}.language-legend-item a[data-v-c1202fdd]{color:var(--pico-muted-color);text-decoration:none}.language-legend-item a[data-v-c1202fdd]:hover{color:var(--pico-primary);text-decoration:underline}.language-legend-dot[data-v-c1202fdd]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.project-estimate[data-v-d97600d8]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.estimate-item[data-v-d97600d8]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.estimate-item i[data-v-d97600d8]{font-size:var(--fs-md);color:var(--pico-primary)}.estimate-label[data-v-d97600d8]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.estimate-value[data-v-d97600d8]{color:var(--pico-color);font-weight:600}.estimate-note[data-v-d97600d8]{color:var(--pico-muted-color);cursor:help;margin-left:.5rem}.estimate-note i[data-v-d97600d8]{font-size:var(--fs-sm)}.repository-distribution[data-v-6c3e5f7d]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;flex-direction:column;gap:8px;min-width:200px;padding:8px 12px;display:flex}.repository-total[data-v-6c3e5f7d]{align-items:baseline;gap:6px;display:flex}.repository-total .repository-count[data-v-6c3e5f7d]{font-size:var(--fs-lg);color:var(--pico-color);font-weight:600}.repository-total .repository-label[data-v-6c3e5f7d]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.repository-bar[data-v-6c3e5f7d]{background-color:var(--pico-muted-border-color);border-radius:4px;height:8px;display:flex;overflow:hidden}.repository-bar-segment[data-v-6c3e5f7d]{min-width:2px;height:100%}.repository-bar-segment.status-active[data-v-6c3e5f7d]{background-color:#10b981}.repository-bar-segment.status-high-bus-factor[data-v-6c3e5f7d]{background-color:#f59e0b}.repository-bar-segment.status-abandoned[data-v-6c3e5f7d]{background-color:#dc2626}.repository-bar-segment.status-other[data-v-6c3e5f7d]{background-color:#6b7280}.repository-bar-segment.status-archived[data-v-6c3e5f7d]{background-color:#9ca3af}.repository-legend[data-v-6c3e5f7d]{font-size:var(--fs-xs);flex-wrap:wrap;gap:12px;display:flex}.repository-legend-item[data-v-6c3e5f7d]{color:var(--pico-muted-color);align-items:center;gap:4px;display:flex}.repository-legend-dot[data-v-6c3e5f7d]{border-radius:50%;width:8px;height:8px}.repository-legend-dot.status-active[data-v-6c3e5f7d]{background-color:#10b981}.repository-legend-dot.status-high-bus-factor[data-v-6c3e5f7d]{background-color:#f59e0b}.repository-legend-dot.status-abandoned[data-v-6c3e5f7d]{background-color:#dc2626}.repository-legend-dot.status-other[data-v-6c3e5f7d]{background-color:#6b7280}.repository-legend-dot.status-archived[data-v-6c3e5f7d]{background-color:#9ca3af}@media (prefers-color-scheme:dark){.repository-bar-segment.status-active[data-v-6c3e5f7d],.repository-legend-dot.status-active[data-v-6c3e5f7d]{background-color:#34d399}.repository-bar-segment.status-high-bus-factor[data-v-6c3e5f7d],.repository-legend-dot.status-high-bus-factor[data-v-6c3e5f7d]{background-color:#fbbf24}.repository-bar-segment.status-abandoned[data-v-6c3e5f7d],.repository-legend-dot.status-abandoned[data-v-6c3e5f7d]{background-color:#f87171}.repository-bar-segment.status-other[data-v-6c3e5f7d],.repository-legend-dot.status-other[data-v-6c3e5f7d]{background-color:#9ca3af}.repository-bar-segment.status-archived[data-v-6c3e5f7d],.repository-legend-dot.status-archived[data-v-6c3e5f7d]{background-color:#d1d5db}}.activity-sparkline[data-v-33cc84bd]{align-items:flex-end;gap:1px;height:20px;padding:2px 4px;display:inline-flex}.activity-sparkline-bar[data-v-33cc84bd]{background-color:#3178c6;border-radius:1px;width:2px;min-height:2px;transition:background-color .2s}.activity-sparkline-bar.empty[data-v-33cc84bd]{background-color:#0000;min-height:0}.activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#2563eb}.activity-sparkline-bar.empty[data-v-33cc84bd]:hover{background-color:#0000}.contributors-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#10b981}.contributors-sparkline .activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#059669}.jira-created-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#f59e0b}.jira-created-sparkline .activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#d97706}.jira-resolved-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#10b981}.jira-resolved-sparkline .activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#059669}@media (prefers-color-scheme:dark){.jira-created-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#fbbf24}.jira-resolved-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#34d399}}.sparkline-sm[data-v-33cc84bd]{gap:2px;height:28px}.sparkline-sm .activity-sparkline-bar[data-v-33cc84bd]{border-radius:1px;width:4px}.activity-summary[data-v-a2e60c62]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.activity-item[data-v-a2e60c62]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.activity-item i[data-v-a2e60c62]{font-size:var(--fs-md);color:var(--pico-primary)}.activity-label[data-v-a2e60c62]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.activity-value[data-v-a2e60c62]{color:var(--pico-color);font-weight:600}.activity-value.status-abandoned[data-v-a2e60c62]{color:#dc2626;font-weight:700}.activity-value.status-bot-only[data-v-a2e60c62]{color:#f59e0b;font-style:italic}.activity-value.status-archived[data-v-a2e60c62]{color:#6b7280;font-weight:600;text-decoration:line-through}.activity-value.bus-factor-high[data-v-a2e60c62]{color:#dc2626;font-weight:700}.activity-value.bus-factor-medium[data-v-a2e60c62]{color:#f59e0b;font-weight:600}.sparkline-total[data-v-a2e60c62]{font-size:var(--fs-xs);color:var(--pico-muted-color);margin-left:6px}.contributors-total[data-v-a2e60c62]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.8;margin-left:4px;font-weight:400}.team-stats[data-v-ddf2e61d]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;flex-wrap:wrap;gap:16px;padding:8px 12px;display:flex}.team-stat-item[data-v-ddf2e61d]{align-items:baseline;gap:6px;display:flex}.team-stat-value[data-v-ddf2e61d]{font-size:var(--fs-lg);color:var(--pico-color);font-weight:600}.team-stat-label[data-v-ddf2e61d]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.team-value[data-v-ddf2e61d]{color:var(--pico-color)}a.team-value[data-v-ddf2e61d]{color:var(--pico-primary);text-decoration:none}a.team-value[data-v-ddf2e61d]:hover{text-decoration:underline}.team-members[data-v-ddf2e61d]{flex-direction:column;gap:2px;display:flex}.team-member[data-v-ddf2e61d]{color:var(--pico-color)}a.team-member[data-v-ddf2e61d]{color:var(--pico-primary);text-decoration:none}a.team-member[data-v-ddf2e61d]:hover{text-decoration:underline}.jira-info[data-v-ddf2e61d]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.jira-metric[data-v-ddf2e61d]{align-items:center;gap:6px;display:flex}.jira-metric-label[data-v-ddf2e61d]{font-size:var(--fs-xs);color:var(--pico-muted-color)}.jira-metric-total[data-v-ddf2e61d]{font-size:var(--fs-xs);color:var(--pico-color);font-weight:600}.jira-trend[data-v-ddf2e61d]{font-size:var(--fs-xs);cursor:help;align-items:center;gap:4px;display:flex}.jira-trend i[data-v-ddf2e61d]{font-size:1em}.jira-trend-text[data-v-ddf2e61d]{font-weight:600}.jira-trend-positive i[data-v-ddf2e61d],.jira-trend-positive .jira-trend-text[data-v-ddf2e61d]{color:#10b981}.jira-trend-negative i[data-v-ddf2e61d],.jira-trend-negative .jira-trend-text[data-v-ddf2e61d]{color:#ef4444}.jira-trend-neutral i[data-v-ddf2e61d],.jira-trend-neutral .jira-trend-text[data-v-ddf2e61d]{color:var(--pico-muted-color)}@media (prefers-color-scheme:dark){.jira-trend-positive i[data-v-ddf2e61d],.jira-trend-positive .jira-trend-text[data-v-ddf2e61d]{color:#34d399}.jira-trend-negative i[data-v-ddf2e61d],.jira-trend-negative .jira-trend-text[data-v-ddf2e61d]{color:#f87171}}.deployment-types[data-v-c57237c3]{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.deployment-item[data-v-c57237c3]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);color:var(--pico-color);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;text-decoration:none;transition:border-color .2s;display:flex}.deployment-item[data-v-c57237c3]:hover{border-color:var(--pico-primary)}.deployment-item i[data-v-c57237c3]{color:var(--pico-primary);font-size:var(--fs-md);flex-shrink:0}.workflow-platforms[data-v-5e906c49]{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.workflow-platform-item[data-v-5e906c49]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);color:var(--pico-color);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;text-decoration:none;transition:border-color .2s;display:flex}.workflow-platform-item[data-v-5e906c49]:hover{border-color:var(--pico-primary)}.workflow-platform-item input[type=checkbox][data-v-5e906c49]{pointer-events:none;margin:0}.workflow-types ul[data-v-5e906c49]{margin:.25rem 0 0;padding-left:0;list-style:none}.workflow-types li[data-v-5e906c49]{align-items:center;gap:.5rem;display:flex}.workflow-types li input[type=checkbox][data-v-5e906c49]{pointer-events:none;margin:0}.workflow-types li a[data-v-5e906c49]{color:var(--pico-color);text-decoration:none;transition:color .2s}.workflow-types li a[data-v-5e906c49]:hover{color:var(--pico-primary);text-decoration:underline}.workflow-types li.grayed-out[data-v-5e906c49]{opacity:.4}.workflow-types[data-v-5e906c49]{margin-top:.5rem;padding-left:1rem}.workflow-types>div[data-v-5e906c49]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;display:grid}.workflow-category strong[data-v-5e906c49]{margin-bottom:.25rem;display:block}.agentic-tools[data-v-52b7b17d]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.tool-item[data-v-52b7b17d]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);color:var(--pico-color);border-radius:6px;padding:.75rem;text-decoration:none;transition:opacity .2s,border-color .2s;display:block}.tool-item[data-v-52b7b17d]:hover{border-color:var(--pico-primary)}.tool-item.not-implemented[data-v-52b7b17d]{opacity:.4}.tool-item-header[data-v-52b7b17d]{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.tool-item-header input[type=checkbox][data-v-52b7b17d]{pointer-events:none;margin:0}.tool-item-header i[data-v-52b7b17d]{font-size:var(--fs-md)}.tool-item-header i.implemented[data-v-52b7b17d]{color:var(--pico-primary)}.tool-item-header i.not-implemented[data-v-52b7b17d]{color:var(--pico-muted-color)}.tool-item-description[data-v-52b7b17d]{font-size:var(--fs-xs);color:var(--pico-muted-color)}.activity-summary[data-v-126f0fee]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.activity-item[data-v-126f0fee]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.activity-item i[data-v-126f0fee]{font-size:var(--fs-md);color:var(--pico-primary)}.activity-label[data-v-126f0fee]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.activity-value[data-v-126f0fee]{color:var(--pico-color);font-weight:600}.license-details-inline[data-v-126f0fee]{display:inline}.license-details-inline summary[data-v-126f0fee]{cursor:pointer;list-style:none}.license-details-inline summary[data-v-126f0fee]::-webkit-details-marker{display:none}.license-overflow[data-v-126f0fee]{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.instance-title-text[data-v-d50431eb]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-d50431eb]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.view-pager[role=group][data-v-d50431eb]{width:fit-content;margin-bottom:.5rem;display:inline-flex}.view-pager[role=group] button[data-v-d50431eb]{width:auto;font-size:var(--fs-xs);flex:none;margin-bottom:0;padding:.25rem .75rem}.graph-container[data-v-d50431eb]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:4px;height:auto;min-height:150px;max-height:70vh;position:relative;overflow:hidden}#graphviz[data-v-d50431eb]{width:100%;height:100%}.graph-options[data-v-d50431eb]{z-index:10;flex-wrap:wrap;align-items:center;gap:6px;display:flex;position:absolute;top:8px;left:8px}.graph-options>i[data-v-d50431eb]{color:var(--pico-muted-color)}.graph-options [role=group][data-v-d50431eb]{background:var(--pico-card-background-color);align-items:center;width:fit-content;margin:0;display:inline-flex}.layer-swatch[data-v-d50431eb]{border:1px solid var(--pico-muted-color);vertical-align:middle;border-radius:2px;width:.8rem;height:.8rem;display:inline-block}.graph-options button.layer-toggle:not([aria-pressed=true]) .layer-swatch[data-v-d50431eb]{opacity:.35}.graph-options button[data-v-d50431eb]{width:auto;font-size:var(--fs-xs);flex:none;margin-bottom:0;padding:.15rem .6rem}[data-v-d50431eb] #graphviz svg{display:block}.instance-badges[data-v-d50431eb]{flex-wrap:wrap;gap:6px;display:flex}.header-actions[data-v-d50431eb]{align-items:center;gap:.5rem;display:flex}.btn-header[data-v-d50431eb]{font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.4rem .75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header[data-v-d50431eb]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.view-header[data-v-1c2b385e]{margin-bottom:.75rem}.view-header h2[data-v-1c2b385e]{align-items:center;gap:.5rem;display:flex}.view-header h2 i[data-v-1c2b385e]{color:var(--pico-primary)}.instance-title-text[data-v-1c2b385e]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-1c2b385e]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.view-query-display[data-v-1c2b385e]{flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.query-item[data-v-1c2b385e]{align-items:center;gap:.5rem;margin:0;padding:0;display:flex}.query-item .label[data-v-1c2b385e]{color:var(--pico-muted-color);text-transform:uppercase;font-weight:600;font-size:var(--fs-xs)}.query-item code[data-v-1c2b385e]{background-color:var(--pico-code-background-color);border-radius:4px;padding:.25rem .5rem}.view-empty-state[data-v-1c2b385e]{text-align:center;color:var(--pico-muted-color);padding:1.5rem}.instance-title-text[data-v-a10d9499]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-a10d9499]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.instance-name[data-v-a10d9499]{color:var(--pico-primary);font-size:1em;font-weight:600;text-decoration:none}.header-actions[data-v-a10d9499]{align-items:center;gap:.5rem;display:flex}.btn-header[data-v-a10d9499]{font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.4rem .75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header[data-v-a10d9499]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.analysis-header[data-v-a10d9499]{margin-bottom:.75rem}.analysis-summary[data-v-a10d9499]{color:var(--pico-muted-color);margin:.25rem 0 0}.analysis-summary[data-v-a10d9499] p:last-child{margin-bottom:0}.analysis-header h2[data-v-a10d9499]{align-items:center;gap:.5rem;display:flex}.analysis-empty-state[data-v-a10d9499]{color:var(--pico-muted-color);align-items:center;gap:.5rem;padding:1.5rem;display:flex}.instance-title-text[data-v-f0340aef]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-f0340aef]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.instance-name[data-v-f0340aef]{color:var(--pico-primary);font-size:1em;font-weight:600;text-decoration:none}.header-actions[data-v-f0340aef]{align-items:center;gap:.5rem;display:flex}.btn-header[data-v-f0340aef]{font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.4rem .75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header[data-v-f0340aef]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.import-header[data-v-f0340aef]{margin-bottom:.75rem}.import-header header[data-v-f0340aef]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.import-header header h2[data-v-f0340aef]{align-items:center;gap:.5rem;margin-right:auto;display:flex}.graph-container[data-v-f0340aef]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:4px;height:auto;min-height:150px;max-height:70vh;position:relative;overflow:hidden}#graphviz[data-v-f0340aef]{width:100%;height:100%}[data-v-f0340aef] #graphviz svg{display:block}.import-metadata[data-v-f0340aef]{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.import-meta-item[data-v-f0340aef]{font-size:var(--fs-sm);color:var(--pico-muted-color);background-color:var(--pico-code-background-color);border-radius:4px;align-items:center;gap:.35rem;padding:.25rem .5rem;display:flex}.import-meta-item i[data-v-f0340aef]{font-size:var(--fs-md)}.import-meta-item.status-enabled[data-v-f0340aef]{color:#10b981}.import-meta-item.status-disabled[data-v-f0340aef]{color:#ef4444}.import-output-path[data-v-f0340aef]{background-color:var(--pico-code-background-color);border-radius:4px;margin-bottom:1rem;padding:.5rem .75rem}.import-output-path code[data-v-f0340aef]{margin-left:.5rem}.import-config-section[data-v-f0340aef]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:8px;margin-top:1rem}.import-config-section summary[data-v-f0340aef]{cursor:pointer;color:var(--pico-muted-color);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:600;display:flex}.import-config-section summary[data-v-f0340aef]:hover{color:var(--pico-color)}.import-config-section summary[data-v-f0340aef]::marker{display:none}.import-config-section summary[data-v-f0340aef]::-webkit-details-marker{display:none}.import-config-section summary[data-v-f0340aef]:before{content:"▶";font-size:var(--fs-2xs);transition:transform .2s}.import-config-section[open] summary[data-v-f0340aef]:before{transform:rotate(90deg)}.import-config-table[data-v-f0340aef]{border-collapse:collapse;width:100%;margin:0}.import-config-table th[data-v-f0340aef],.import-config-table td[data-v-f0340aef]{border-top:1px solid var(--pico-muted-border-color);padding:.5rem 1rem}.import-config-table th[data-v-f0340aef]{text-align:left;width:30%;color:var(--pico-muted-color);font-weight:500}.import-config-table code[data-v-f0340aef]{word-break:break-all}
1
+ .btn-embed[data-v-04c65c40]{width:auto;font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;margin:0;padding:.4rem .75rem;transition:all .15s;display:inline-flex}.btn-embed[data-v-04c65c40]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.relations-section .relations-grid[data-v-5b9a2621]{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.relations-section .relations-outgoing[data-v-5b9a2621]{order:2}.relations-section .relations-incoming[data-v-5b9a2621]{order:1}@media (width<=768px){.relations-section .relations-grid[data-v-5b9a2621]{grid-template-columns:1fr;gap:1rem}.relations-section .relations-outgoing[data-v-5b9a2621]{order:1}.relations-section .relations-incoming[data-v-5b9a2621]{order:2}}.relations-section .relations-column h3[data-v-5b9a2621]{color:var(--pico-muted-color);font-size:var(--fs-base);align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600;display:flex}.relations-section .relation-group[data-v-5b9a2621]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:.5rem;margin-bottom:.75rem;padding:.5rem .75rem}.relations-section .relation-kind[data-v-5b9a2621]{align-items:center;gap:.5rem;margin-bottom:.25rem;font-weight:600;display:flex}.relations-section .relation-verb[data-v-5b9a2621]{font-size:var(--fs-sm);color:var(--pico-muted-color);margin-bottom:.5rem}.relations-section .relations-empty[data-v-5b9a2621]{color:var(--pico-muted-color);font-style:italic}.instance-badges[data-v-5b9a2621]{flex-wrap:wrap;gap:6px;display:flex}.graph-container[data-v-c3280c1e]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:4px;height:auto;min-height:150px;max-height:70vh;position:relative;overflow:hidden}.canvas[data-v-c3280c1e]{width:100%;height:100%}[data-v-c3280c1e] .canvas svg{display:block}.graph-error[data-v-c3280c1e]{color:var(--pico-del-color);padding:.5rem 0}.git-info[data-v-808bbe74]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.git-item[data-v-808bbe74]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.git-item i[data-v-808bbe74]{font-size:var(--fs-md);color:var(--pico-primary)}.git-link[data-v-808bbe74]{color:var(--pico-primary);font-weight:600;text-decoration:none}.git-link[data-v-808bbe74]:hover{text-decoration:underline}.git-clone-command[data-v-808bbe74]{color:var(--pico-muted-color);font-size:var(--fs-sm);font-family:var(--font-mono);background-color:var(--pico-code-background-color);border-radius:3px;padding:2px 6px}.copy-button[data-v-808bbe74]{color:var(--pico-primary);border:1px solid var(--pico-muted-border-color);cursor:pointer;background-color:#0000;border-radius:4px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:6px;transition:all .2s;display:flex}.copy-button[data-v-808bbe74]:hover{background-color:var(--pico-card-background-color);border-color:var(--pico-primary);transform:scale(1.1)}.copy-button.copied[data-v-808bbe74]{color:#fff;background-color:#10b981;border-color:#10b981}.copy-button i[data-v-808bbe74]{font-size:var(--fs-md)}.language-distribution[data-v-c1202fdd]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;flex-direction:column;gap:8px;min-width:200px;padding:8px 12px;display:flex}.language-total[data-v-c1202fdd]{align-items:baseline;gap:6px;display:flex}.language-total .language-count[data-v-c1202fdd]{font-size:var(--fs-lg);color:var(--pico-color);font-weight:600}.language-total .language-label[data-v-c1202fdd]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.language-bar[data-v-c1202fdd]{background-color:var(--pico-muted-border-color);border-radius:4px;height:8px;display:flex;overflow:hidden}.language-bar-segment[data-v-c1202fdd]{min-width:2px;height:100%}.language-bar-segment.lang-0[data-v-c1202fdd],.language-legend-dot.lang-0[data-v-c1202fdd]{background-color:#3178c6}.language-bar-segment.lang-1[data-v-c1202fdd],.language-legend-dot.lang-1[data-v-c1202fdd]{background-color:#00add8}.language-bar-segment.lang-2[data-v-c1202fdd],.language-legend-dot.lang-2[data-v-c1202fdd]{background-color:#f1e05a}.language-bar-segment.lang-3[data-v-c1202fdd],.language-legend-dot.lang-3[data-v-c1202fdd]{background-color:#e34c26}.language-bar-segment.lang-4[data-v-c1202fdd],.language-legend-dot.lang-4[data-v-c1202fdd]{background-color:#563d7c}.language-bar-segment.lang-5[data-v-c1202fdd],.language-legend-dot.lang-5[data-v-c1202fdd]{background-color:#89e051}.language-bar-segment.lang-6[data-v-c1202fdd],.language-legend-dot.lang-6[data-v-c1202fdd]{background-color:#f34b7d}.language-bar-segment.lang-7[data-v-c1202fdd],.language-legend-dot.lang-7[data-v-c1202fdd]{background-color:#b07219}.language-bar-segment.lang-8[data-v-c1202fdd],.language-legend-dot.lang-8[data-v-c1202fdd]{background-color:#4f5d95}.language-bar-segment.lang-9[data-v-c1202fdd],.language-legend-dot.lang-9[data-v-c1202fdd]{background-color:#6b7280}.language-bar-segment.lang-other[data-v-c1202fdd],.language-legend-dot.lang-other[data-v-c1202fdd]{background-color:#9ca3af}.language-legend[data-v-c1202fdd]{font-size:var(--fs-xs);flex-wrap:wrap;gap:12px;display:flex}.language-legend-item[data-v-c1202fdd]{align-items:center;gap:4px;display:flex}.language-legend-item a[data-v-c1202fdd]{color:var(--pico-muted-color);text-decoration:none}.language-legend-item a[data-v-c1202fdd]:hover{color:var(--pico-primary);text-decoration:underline}.language-legend-dot[data-v-c1202fdd]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.project-estimate[data-v-d97600d8]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.estimate-item[data-v-d97600d8]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.estimate-item i[data-v-d97600d8]{font-size:var(--fs-md);color:var(--pico-primary)}.estimate-label[data-v-d97600d8]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.estimate-value[data-v-d97600d8]{color:var(--pico-color);font-weight:600}.estimate-note[data-v-d97600d8]{color:var(--pico-muted-color);cursor:help;margin-left:.5rem}.estimate-note i[data-v-d97600d8]{font-size:var(--fs-sm)}.repository-distribution[data-v-6c3e5f7d]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;flex-direction:column;gap:8px;min-width:200px;padding:8px 12px;display:flex}.repository-total[data-v-6c3e5f7d]{align-items:baseline;gap:6px;display:flex}.repository-total .repository-count[data-v-6c3e5f7d]{font-size:var(--fs-lg);color:var(--pico-color);font-weight:600}.repository-total .repository-label[data-v-6c3e5f7d]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.repository-bar[data-v-6c3e5f7d]{background-color:var(--pico-muted-border-color);border-radius:4px;height:8px;display:flex;overflow:hidden}.repository-bar-segment[data-v-6c3e5f7d]{min-width:2px;height:100%}.repository-bar-segment.status-active[data-v-6c3e5f7d]{background-color:#10b981}.repository-bar-segment.status-high-bus-factor[data-v-6c3e5f7d]{background-color:#f59e0b}.repository-bar-segment.status-abandoned[data-v-6c3e5f7d]{background-color:#dc2626}.repository-bar-segment.status-other[data-v-6c3e5f7d]{background-color:#6b7280}.repository-bar-segment.status-archived[data-v-6c3e5f7d]{background-color:#9ca3af}.repository-legend[data-v-6c3e5f7d]{font-size:var(--fs-xs);flex-wrap:wrap;gap:12px;display:flex}.repository-legend-item[data-v-6c3e5f7d]{color:var(--pico-muted-color);align-items:center;gap:4px;display:flex}.repository-legend-dot[data-v-6c3e5f7d]{border-radius:50%;width:8px;height:8px}.repository-legend-dot.status-active[data-v-6c3e5f7d]{background-color:#10b981}.repository-legend-dot.status-high-bus-factor[data-v-6c3e5f7d]{background-color:#f59e0b}.repository-legend-dot.status-abandoned[data-v-6c3e5f7d]{background-color:#dc2626}.repository-legend-dot.status-other[data-v-6c3e5f7d]{background-color:#6b7280}.repository-legend-dot.status-archived[data-v-6c3e5f7d]{background-color:#9ca3af}@media (prefers-color-scheme:dark){.repository-bar-segment.status-active[data-v-6c3e5f7d],.repository-legend-dot.status-active[data-v-6c3e5f7d]{background-color:#34d399}.repository-bar-segment.status-high-bus-factor[data-v-6c3e5f7d],.repository-legend-dot.status-high-bus-factor[data-v-6c3e5f7d]{background-color:#fbbf24}.repository-bar-segment.status-abandoned[data-v-6c3e5f7d],.repository-legend-dot.status-abandoned[data-v-6c3e5f7d]{background-color:#f87171}.repository-bar-segment.status-other[data-v-6c3e5f7d],.repository-legend-dot.status-other[data-v-6c3e5f7d]{background-color:#9ca3af}.repository-bar-segment.status-archived[data-v-6c3e5f7d],.repository-legend-dot.status-archived[data-v-6c3e5f7d]{background-color:#d1d5db}}.activity-sparkline[data-v-33cc84bd]{align-items:flex-end;gap:1px;height:20px;padding:2px 4px;display:inline-flex}.activity-sparkline-bar[data-v-33cc84bd]{background-color:#3178c6;border-radius:1px;width:2px;min-height:2px;transition:background-color .2s}.activity-sparkline-bar.empty[data-v-33cc84bd]{background-color:#0000;min-height:0}.activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#2563eb}.activity-sparkline-bar.empty[data-v-33cc84bd]:hover{background-color:#0000}.contributors-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#10b981}.contributors-sparkline .activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#059669}.jira-created-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#f59e0b}.jira-created-sparkline .activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#d97706}.jira-resolved-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#10b981}.jira-resolved-sparkline .activity-sparkline-bar[data-v-33cc84bd]:hover{background-color:#059669}@media (prefers-color-scheme:dark){.jira-created-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#fbbf24}.jira-resolved-sparkline .activity-sparkline-bar[data-v-33cc84bd]{background-color:#34d399}}.sparkline-sm[data-v-33cc84bd]{gap:2px;height:28px}.sparkline-sm .activity-sparkline-bar[data-v-33cc84bd]{border-radius:1px;width:4px}.activity-summary[data-v-a2e60c62]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.activity-item[data-v-a2e60c62]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.activity-item i[data-v-a2e60c62]{font-size:var(--fs-md);color:var(--pico-primary)}.activity-label[data-v-a2e60c62]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.activity-value[data-v-a2e60c62]{color:var(--pico-color);font-weight:600}.activity-value.status-abandoned[data-v-a2e60c62]{color:#dc2626;font-weight:700}.activity-value.status-bot-only[data-v-a2e60c62]{color:#f59e0b;font-style:italic}.activity-value.status-archived[data-v-a2e60c62]{color:#6b7280;font-weight:600;text-decoration:line-through}.activity-value.bus-factor-high[data-v-a2e60c62]{color:#dc2626;font-weight:700}.activity-value.bus-factor-medium[data-v-a2e60c62]{color:#f59e0b;font-weight:600}.sparkline-total[data-v-a2e60c62]{font-size:var(--fs-xs);color:var(--pico-muted-color);margin-left:6px}.contributors-total[data-v-a2e60c62]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.8;margin-left:4px;font-weight:400}.team-stats[data-v-ae48f9a9]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;flex-wrap:wrap;gap:16px;padding:8px 12px;display:flex}.team-stat-item[data-v-ae48f9a9]{align-items:baseline;gap:6px;display:flex}.team-stat-value[data-v-ae48f9a9]{font-size:var(--fs-lg);color:var(--pico-color);font-weight:600}.team-stat-label[data-v-ae48f9a9]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.team-value[data-v-ae48f9a9]{color:var(--pico-color)}a.team-value[data-v-ae48f9a9]{color:var(--pico-primary);text-decoration:none}a.team-value[data-v-ae48f9a9]:hover{text-decoration:underline}.team-members[data-v-ae48f9a9]{flex-direction:column;gap:2px;display:flex}.team-member[data-v-ae48f9a9]{color:var(--pico-color)}a.team-member[data-v-ae48f9a9]{color:var(--pico-primary);text-decoration:none}a.team-member[data-v-ae48f9a9]:hover{text-decoration:underline}.jira-info[data-v-ae48f9a9]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.jira-metric[data-v-ae48f9a9]{align-items:center;gap:6px;display:flex}.jira-metric-label[data-v-ae48f9a9]{font-size:var(--fs-xs);color:var(--pico-muted-color)}.jira-metric-total[data-v-ae48f9a9]{font-size:var(--fs-xs);color:var(--pico-color);font-weight:600}.jira-trend[data-v-ae48f9a9]{font-size:var(--fs-xs);cursor:help;align-items:center;gap:4px;display:flex}.jira-trend i[data-v-ae48f9a9]{font-size:1em}.jira-trend-text[data-v-ae48f9a9]{font-weight:600}.jira-trend-positive i[data-v-ae48f9a9],.jira-trend-positive .jira-trend-text[data-v-ae48f9a9]{color:#10b981}.jira-trend-negative i[data-v-ae48f9a9],.jira-trend-negative .jira-trend-text[data-v-ae48f9a9]{color:#ef4444}.jira-trend-neutral i[data-v-ae48f9a9],.jira-trend-neutral .jira-trend-text[data-v-ae48f9a9]{color:var(--pico-muted-color)}@media (prefers-color-scheme:dark){.jira-trend-positive i[data-v-ae48f9a9],.jira-trend-positive .jira-trend-text[data-v-ae48f9a9]{color:#34d399}.jira-trend-negative i[data-v-ae48f9a9],.jira-trend-negative .jira-trend-text[data-v-ae48f9a9]{color:#f87171}}.deployment-types[data-v-c57237c3]{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.deployment-item[data-v-c57237c3]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);color:var(--pico-color);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;text-decoration:none;transition:border-color .2s;display:flex}.deployment-item[data-v-c57237c3]:hover{border-color:var(--pico-primary)}.deployment-item i[data-v-c57237c3]{color:var(--pico-primary);font-size:var(--fs-md);flex-shrink:0}.workflow-platforms[data-v-5e906c49]{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.workflow-platform-item[data-v-5e906c49]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);color:var(--pico-color);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;text-decoration:none;transition:border-color .2s;display:flex}.workflow-platform-item[data-v-5e906c49]:hover{border-color:var(--pico-primary)}.workflow-platform-item input[type=checkbox][data-v-5e906c49]{pointer-events:none;margin:0}.workflow-types ul[data-v-5e906c49]{margin:.25rem 0 0;padding-left:0;list-style:none}.workflow-types li[data-v-5e906c49]{align-items:center;gap:.5rem;display:flex}.workflow-types li input[type=checkbox][data-v-5e906c49]{pointer-events:none;margin:0}.workflow-types li a[data-v-5e906c49]{color:var(--pico-color);text-decoration:none;transition:color .2s}.workflow-types li a[data-v-5e906c49]:hover{color:var(--pico-primary);text-decoration:underline}.workflow-types li.grayed-out[data-v-5e906c49]{opacity:.4}.workflow-types[data-v-5e906c49]{margin-top:.5rem;padding-left:1rem}.workflow-types>div[data-v-5e906c49]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;display:grid}.workflow-category strong[data-v-5e906c49]{margin-bottom:.25rem;display:block}.agentic-tools[data-v-52b7b17d]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.tool-item[data-v-52b7b17d]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);color:var(--pico-color);border-radius:6px;padding:.75rem;text-decoration:none;transition:opacity .2s,border-color .2s;display:block}.tool-item[data-v-52b7b17d]:hover{border-color:var(--pico-primary)}.tool-item.not-implemented[data-v-52b7b17d]{opacity:.4}.tool-item-header[data-v-52b7b17d]{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.tool-item-header input[type=checkbox][data-v-52b7b17d]{pointer-events:none;margin:0}.tool-item-header i[data-v-52b7b17d]{font-size:var(--fs-md)}.tool-item-header i.implemented[data-v-52b7b17d]{color:var(--pico-primary)}.tool-item-header i.not-implemented[data-v-52b7b17d]{color:var(--pico-muted-color)}.tool-item-description[data-v-52b7b17d]{font-size:var(--fs-xs);color:var(--pico-muted-color)}.activity-summary[data-v-126f0fee]{flex-wrap:wrap;gap:16px;padding:4px 0;display:flex}.activity-item[data-v-126f0fee]{background-color:var(--pico-card-background-color);border:1px solid var(--pico-muted-border-color);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:flex}.activity-item i[data-v-126f0fee]{font-size:var(--fs-md);color:var(--pico-primary)}.activity-label[data-v-126f0fee]{color:var(--pico-muted-color);font-size:var(--fs-sm)}.activity-value[data-v-126f0fee]{color:var(--pico-color);font-weight:600}.license-details-inline[data-v-126f0fee]{display:inline}.license-details-inline summary[data-v-126f0fee]{cursor:pointer;list-style:none}.license-details-inline summary[data-v-126f0fee]::-webkit-details-marker{display:none}.license-overflow[data-v-126f0fee]{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.lifecycle-info[data-v-6c14f599]{flex-wrap:wrap;align-items:center;gap:.25rem .75rem;display:flex}.lifecycle-replaced[data-v-6c14f599],.lifecycle-incoming[data-v-6c14f599]{font-size:var(--fs-sm);color:var(--pico-muted-color)}.lifecycle-replaced a[data-v-6c14f599]{font-weight:600}.instance-title-text[data-v-fc508dab]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-fc508dab]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.view-pager[role=group][data-v-fc508dab]{width:fit-content;margin-bottom:.5rem;display:inline-flex}.view-pager[role=group] button[data-v-fc508dab]{width:auto;font-size:var(--fs-xs);flex:none;margin-bottom:0;padding:.25rem .75rem}.graph-container[data-v-fc508dab]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:4px;height:auto;min-height:150px;max-height:70vh;position:relative;overflow:hidden}#graphviz[data-v-fc508dab]{width:100%;height:100%}.graph-options[data-v-fc508dab]{z-index:10;flex-wrap:wrap;align-items:center;gap:6px;display:flex;position:absolute;top:8px;left:8px}.graph-options>i[data-v-fc508dab]{color:var(--pico-muted-color)}.graph-options [role=group][data-v-fc508dab]{background:var(--pico-card-background-color);align-items:center;width:fit-content;margin:0;display:inline-flex}.layer-swatch[data-v-fc508dab]{border:1px solid var(--pico-muted-color);vertical-align:middle;border-radius:2px;width:.8rem;height:.8rem;display:inline-block}.graph-options button.layer-toggle:not([aria-pressed=true]) .layer-swatch[data-v-fc508dab]{opacity:.35}.graph-options button[data-v-fc508dab]{width:auto;font-size:var(--fs-xs);flex:none;margin-bottom:0;padding:.15rem .6rem}[data-v-fc508dab] #graphviz svg{display:block}.instance-badges[data-v-fc508dab]{flex-wrap:wrap;gap:6px;display:flex}.header-actions[data-v-fc508dab]{align-items:center;gap:.5rem;display:flex}.btn-header[data-v-fc508dab]{font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.4rem .75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header[data-v-fc508dab]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.view-header[data-v-1c2b385e]{margin-bottom:.75rem}.view-header h2[data-v-1c2b385e]{align-items:center;gap:.5rem;display:flex}.view-header h2 i[data-v-1c2b385e]{color:var(--pico-primary)}.instance-title-text[data-v-1c2b385e]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-1c2b385e]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.view-query-display[data-v-1c2b385e]{flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.query-item[data-v-1c2b385e]{align-items:center;gap:.5rem;margin:0;padding:0;display:flex}.query-item .label[data-v-1c2b385e]{color:var(--pico-muted-color);text-transform:uppercase;font-weight:600;font-size:var(--fs-xs)}.query-item code[data-v-1c2b385e]{background-color:var(--pico-code-background-color);border-radius:4px;padding:.25rem .5rem}.view-empty-state[data-v-1c2b385e]{text-align:center;color:var(--pico-muted-color);padding:1.5rem}.instance-title-text[data-v-a10d9499]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-a10d9499]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.instance-name[data-v-a10d9499]{color:var(--pico-primary);font-size:1em;font-weight:600;text-decoration:none}.header-actions[data-v-a10d9499]{align-items:center;gap:.5rem;display:flex}.btn-header[data-v-a10d9499]{font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.4rem .75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header[data-v-a10d9499]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.analysis-header[data-v-a10d9499]{margin-bottom:.75rem}.analysis-summary[data-v-a10d9499]{color:var(--pico-muted-color);margin:.25rem 0 0}.analysis-summary[data-v-a10d9499] p:last-child{margin-bottom:0}.analysis-header h2[data-v-a10d9499]{align-items:center;gap:.5rem;display:flex}.analysis-empty-state[data-v-a10d9499]{color:var(--pico-muted-color);align-items:center;gap:.5rem;padding:1.5rem;display:flex}.instance-title-text[data-v-f0340aef]{flex-direction:column;line-height:1;display:flex}.instance-kind-subtitle[data-v-f0340aef]{font-size:var(--fs-xs);color:var(--pico-muted-color);opacity:.7;margin-top:.1em;font-weight:400}.instance-name[data-v-f0340aef]{color:var(--pico-primary);font-size:1em;font-weight:600;text-decoration:none}.header-actions[data-v-f0340aef]{align-items:center;gap:.5rem;display:flex}.btn-header[data-v-f0340aef]{font-size:var(--fs-sm);color:var(--pico-muted-color);border-radius:var(--pico-border-radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.4rem .75rem;text-decoration:none;transition:all .15s;display:inline-flex}.btn-header[data-v-f0340aef]:hover{color:var(--pico-primary);border-color:var(--pico-primary)}.import-header[data-v-f0340aef]{margin-bottom:.75rem}.import-header header[data-v-f0340aef]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.import-header header h2[data-v-f0340aef]{align-items:center;gap:.5rem;margin-right:auto;display:flex}.graph-container[data-v-f0340aef]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:4px;height:auto;min-height:150px;max-height:70vh;position:relative;overflow:hidden}#graphviz[data-v-f0340aef]{width:100%;height:100%}[data-v-f0340aef] #graphviz svg{display:block}.import-metadata[data-v-f0340aef]{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.import-meta-item[data-v-f0340aef]{font-size:var(--fs-sm);color:var(--pico-muted-color);background-color:var(--pico-code-background-color);border-radius:4px;align-items:center;gap:.35rem;padding:.25rem .5rem;display:flex}.import-meta-item i[data-v-f0340aef]{font-size:var(--fs-md)}.import-meta-item.status-enabled[data-v-f0340aef]{color:#10b981}.import-meta-item.status-disabled[data-v-f0340aef]{color:#ef4444}.import-output-path[data-v-f0340aef]{background-color:var(--pico-code-background-color);border-radius:4px;margin-bottom:1rem;padding:.5rem .75rem}.import-output-path code[data-v-f0340aef]{margin-left:.5rem}.import-config-section[data-v-f0340aef]{border:1px solid var(--pico-muted-border-color);background-color:var(--pico-card-background-color);border-radius:8px;margin-top:1rem}.import-config-section summary[data-v-f0340aef]{cursor:pointer;color:var(--pico-muted-color);-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:600;display:flex}.import-config-section summary[data-v-f0340aef]:hover{color:var(--pico-color)}.import-config-section summary[data-v-f0340aef]::marker{display:none}.import-config-section summary[data-v-f0340aef]::-webkit-details-marker{display:none}.import-config-section summary[data-v-f0340aef]:before{content:"▶";font-size:var(--fs-2xs);transition:transform .2s}.import-config-section[open] summary[data-v-f0340aef]:before{transform:rotate(90deg)}.import-config-table[data-v-f0340aef]{border-collapse:collapse;width:100%;margin:0}.import-config-table th[data-v-f0340aef],.import-config-table td[data-v-f0340aef]{border-top:1px solid var(--pico-muted-border-color);padding:.5rem 1rem}.import-config-table th[data-v-f0340aef]{text-align:left;width:30%;color:var(--pico-muted-color);font-weight:500}.import-config-table code[data-v-f0340aef]{word-break:break-all}
@@ -0,0 +1 @@
1
+ import{$ as e,B as t,E as n,F as r,G as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,P as f,Q as p,U as m,X as h,Z as g,a as _,at as v,et as y,g as b,h as x,i as S,it as C,j as w,k as T,nt as E,q as D,r as O,rt as k,s as A,tt as j,z as M}from"./index-DMhBow5t.js";import{t as N}from"./useGraphviz-Dnm2pkon.js";import{t as P}from"./usePanZoom-HxgEsqq2.js";import{a as F,d as I,l as L,n as R,r as z,s as ee,u as te}from"./ResourceList-BZOYa68X.js";import{a as ne,c as re,i as B,l as ie,n as ae,o as oe,r as V,s as se,u as H}from"./WikiPage-Bfx92Iig.js";import{n as ce,r as U}from"./PageView-DAqHjL1x.js";var le=[`title`],ue=_({__name:`EmbedButton`,props:{kind:String,name:String},setup(e){let t=e,n=j(!1),r=d(()=>`![[${t.kind}/${t.name}]]`),i=d(()=>({View:`the result of this view`,Analysis:`the result of this analysis`})[t.kind]||`this description`);async function a(){try{await navigator.clipboard.writeText(r.value)}catch{window.prompt(`Copy this into a page:`,r.value);return}n.value=!0,setTimeout(()=>{n.value=!1},2e3)}return(e,t)=>(D(),l(`button`,{type:`button`,class:`btn-embed`,title:`Copy ${r.value} to show ${i.value} inside a page`,onClick:a},[f(`i`,{class:k(n.value?`iconoir-check`:`iconoir-copy`)},null,2),M(` `+v(n.value?`Copied`:`Embed`),1)],8,le))}},[[`__scopeId`,`data-v-04c65c40`]]),de={key:0,class:`relations-section`},fe={class:`relations-grid`},W={class:`relations-column relations-outgoing`},G={class:`relation-kind`},pe={class:`relation-verb`},K={class:`instance-badges`},me={key:1,class:`relations-empty`},q={id:`incoming`,class:`relations-column relations-incoming`},J={class:`relation-kind`},Y={class:`relation-verb`},he={class:`instance-badges`},ge={key:1,class:`relations-empty`},X=_({__name:`RelationsGrid`,props:{data:Object},setup(t){let n=t,i=a(`kinds`),c=d(()=>n.data.relations||{}),u=d(()=>n.data.references||{}),p=d(()=>Object.keys(c.value).length>0||Object.keys(u.value).length>0);function m(e){return i?.value?.kinds?i.value.kinds.find(t=>t.kind===e):null}function g(e){return m(e)?.icon||`cube`}function _(e){return m(e)?.layer||`technology`}let y=d(()=>{let e=[];for(let[t,n]of Object.entries(c.value))for(let[r,i]of Object.entries(n))e.push({verb:t,kind:r,names:[...i].sort()});return e}),b=d(()=>{let e=[];for(let[t,n]of Object.entries(u.value))for(let[r,i]of Object.entries(n))e.push({verb:r||`references`,kind:t,names:[...i].sort()});return e});return(t,n)=>{let i=h(`router-link`);return p.value?(D(),l(`article`,de,[n[2]||=f(`header`,null,[f(`h2`,null,`Relations`)],-1),f(`div`,fe,[f(`div`,W,[n[0]||=f(`h3`,null,[M(`Outgoing `),f(`i`,{class:`iconoir-arrow-right`})],-1),y.value.length?(D(!0),l(w,{key:0},s(y.value,(t,n)=>(D(),l(`div`,{key:`out-`+n,class:`relation-group`},[f(`div`,G,[f(`i`,{class:k(`iconoir-${g(t.kind)} icon-${_(t.kind)}`)},null,2),f(`span`,null,v(t.kind)+` (`+v(t.names.length)+`)`,1)]),f(`div`,pe,v(t.verb)+` (`+v(t.names.length)+`)`,1),f(`div`,K,[(D(!0),l(w,null,s(t.names,n=>(D(),r(i,{key:n,class:`badge badge-info`,to:{name:`instance`,params:{kind:t.kind,instance:n}}},{default:e(()=>[M(v(n),1)]),_:2},1032,[`to`]))),128))])]))),128)):(D(),l(`div`,me,`None`))]),f(`div`,q,[n[1]||=f(`h3`,null,[f(`i`,{class:`iconoir-arrow-right`}),M(` Incoming`)],-1),b.value.length?(D(!0),l(w,{key:0},s(b.value,(t,n)=>(D(),l(`div`,{key:`in-`+n,class:`relation-group`},[f(`div`,J,[f(`i`,{class:k(`iconoir-${g(t.kind)} icon-${_(t.kind)}`)},null,2),f(`span`,null,v(t.kind)+` (`+v(t.names.length)+`)`,1)]),f(`div`,Y,v(t.verb)+` (`+v(t.names.length)+`)`,1),f(`div`,he,[(D(!0),l(w,null,s(t.names,n=>(D(),r(i,{key:n,class:`badge badge-info`,to:{name:`instance`,params:{kind:t.kind,instance:n}}},{default:e(()=>[M(v(n),1)]),_:2},1032,[`to`]))),128))])]))),128)):(D(),l(`div`,ge,`None`))])])])):o(``,!0)}}},[[`__scopeId`,`data-v-5b9a2621`]]),_e={key:0},ve={key:1,class:`graph-error`},ye={key:2,class:`graph-container`},be=[`innerHTML`],xe=_({__name:`ModuleGraph`,props:{dot:String,label:{type:String,default:`Module Structure`}},setup(e){let t=e,n=j(``),r=j(!0),a=j(null),s=j(null),u=null;async function d(e){if(!e)r.value=!1;else{u?.destroy(),u=null,r.value=!0,a.value=null;try{n.value=await N(e)}catch(e){a.value=e?.message||`Failed to render module graph`,n.value=``}finally{if(r.value=!1,await m(),s.value){let e=s.value.querySelector(`svg`);e&&(u=P(e,s.value))}}}}return i(()=>d(t.dot)),p(()=>t.dot,d),c(()=>{u?.destroy()}),(t,i)=>(D(),l(`article`,null,[f(`header`,null,[f(`h2`,null,v(e.label),1)]),r.value?(D(),l(`div`,_e,[...i[0]||=[f(`p`,null,`Loading graph...`,-1)]])):a.value?(D(),l(`p`,ve,[i[1]||=f(`i`,{class:`iconoir-warning-triangle`},null,-1),M(` `+v(a.value),1)])):n.value?(D(),l(`div`,ye,[f(`div`,{ref_key:`graphEl`,ref:s,class:`canvas`,innerHTML:n.value},null,8,be)])):o(``,!0)]))}},[[`__scopeId`,`data-v-c3280c1e`]]),Se={key:0,class:`requirements-section`},Ce={__name:`RequirementsSection`,props:{data:Object},setup(e){let n=e,r=d(()=>{let e=n.data.relations||{},t=[];for(let[n,r]of Object.entries({realizes:`implemented`,partiallyRealizes:`partial`,plans:`planned`})){let i=e[n]||{},a=i.MotivationRequirement||i.motivationRequirements||[];for(let e of a)t.push({name:e,status:r,verb:n})}return t}),i=j([]);p(r,async e=>{if(!e.length){i.value=[];return}let t=await Promise.all(e.map(async e=>{try{let t=(await x(`MotivationRequirement`,e.name)).metadata?.annotations||{};return{...e,priority:t[`requirement/priority`]||null,story:t[`requirement/story`]||null}}catch{return{...e,priority:null,story:null}}}));i.value=t},{immediate:!0});function a(e){let t=n.data.name;return`/search?q=${encodeURIComponent(`MotivationRequirement: <- "${t}" & requirement/priority == "${e}"`)}`}return(e,n)=>r.value.length?(D(),l(`article`,Se,[n[0]||=f(`header`,null,[f(`h2`,null,`Requirements`)],-1),t(V,{items:i.value,"priority-link":a},null,8,[`items`])])):o(``,!0)}},Z={key:0},we=[`title`],Te=[`href`],Ee={class:`git-info`},De={class:`git-item`},Oe={class:`git-clone-command`},ke=_({__name:`GitInfo`,props:{annotations:Object},setup(e){let t=e,n=d(()=>t.annotations[`repository/git`]),r=d(()=>n.value?ee(n.value):null);function i(){navigator.clipboard.writeText(`git clone ${n.value}`)}return(e,t)=>n.value?(D(),l(`tr`,Z,[f(`th`,{scope:`row`,title:E(R)(`repository/git`)},[f(`a`,{class:`git-link`,href:r.value,target:`_blank`},`Git Repo`,8,Te)],8,we),f(`td`,null,[f(`div`,Ee,[f(`div`,De,[t[0]||=f(`i`,{class:`iconoir-git-branch`},null,-1),f(`code`,Oe,`git clone `+v(n.value),1)]),f(`button`,{class:`copy-button`,onClick:i,title:`Copy to clipboard`},[...t[1]||=[f(`i`,{class:`iconoir-copy`},null,-1)]])])])])):o(``,!0)}},[[`__scopeId`,`data-v-808bbe74`]]),Ae={key:0},je=[`title`],Me={class:`language-distribution`},Ne={class:`language-total`},Pe={class:`language-count`},Fe={class:`language-bar`},Ie=[`title`],Le={class:`language-legend`},Re={class:`other-languages`},ze=_({__name:`LanguageStats`,props:{annotations:Object,kind:String},setup(n){let i=n,a=d(()=>{let e=i.annotations[`scc/languages`];if(!e)return null;let t=e.split(`,`).map(e=>{let t=`scc/language/${e.trim()}/loc`;return{name:e.trim(),loc:parseInt(i.annotations[t]||`0`,10)}}).sort((e,t)=>t.loc-e.loc),n=t.reduce((e,t)=>e+t.loc,0);if(n<=0)return null;let r=t.filter(e=>e.loc/n*100>=.1),a=r.slice(0,10),o=[...r.slice(10),...t.filter(e=>e.loc/n*100<.1)],s=o.reduce((e,t)=>e+t.loc,0),c=[...a];return s>0&&c.push({name:`Other`,loc:s,isOther:!0,otherNames:o.map(e=>e.name)}),{display:c,total:n}});function c(e){return(e/a.value.total*100).toFixed(1)}function u(e,t){return t.isOther?`lang-other`:`lang-${e}`}function p(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(n,i)=>{let d=h(`router-link`);return a.value?(D(),l(`tr`,Ae,[f(`th`,{scope:`row`,title:E(R)(`scc/languages`,`scc/language/<Language>/loc`)},`Languages`,8,je),f(`td`,null,[f(`div`,Me,[f(`div`,Ne,[f(`span`,Pe,v(E(L)(a.value.total)),1),i[0]||=f(`span`,{class:`language-label`},`lines of code`,-1)]),f(`div`,Fe,[(D(!0),l(w,null,s(a.value.display,(e,t)=>(D(),l(`div`,{key:e.name,class:k([`language-bar-segment`,u(t,e)]),style:C({width:c(e.loc)+`%`}),title:`${e.name}: ${E(L)(e.loc)} (${c(e.loc)}%)`},null,14,Ie))),128))]),f(`div`,Le,[(D(!0),l(w,null,s(a.value.display,(n,a)=>(D(),l(`div`,{key:n.name,class:`language-legend-item`},[f(`div`,{class:k([`language-legend-dot`,u(a,n)])},null,2),n.isOther?(D(),l(w,{key:0},[f(`span`,null,`Other `+v(c(n.loc))+`%`,1),f(`span`,Re,[i[1]||=M(` (`,-1),(D(!0),l(w,null,s(n.otherNames,(r,i)=>(D(),l(w,{key:r},[t(d,{to:p(`scc/languages`,r)},{default:e(()=>[M(v(r),1)]),_:2},1032,[`to`]),i<n.otherNames.length-1?(D(),l(w,{key:0},[M(`, `)],64)):o(``,!0)],64))),128)),i[2]||=M(`) `,-1)])],64)):(D(),r(d,{key:1,to:p(`scc/languages`,n.name)},{default:e(()=>[M(v(n.name)+` `+v(c(n.loc))+`% `,1)]),_:2},1032,[`to`]))]))),128))])])])])):o(``,!0)}}},[[`__scopeId`,`data-v-c1202fdd`]]),Be={key:0},Ve=[`title`],He={class:`project-estimate`},Ue={key:0,class:`estimate-item`},We={class:`estimate-value`},Ge={key:1,class:`estimate-item`},Ke={class:`estimate-value`},qe={key:2,class:`estimate-item`},Je={class:`estimate-value`},Ye=_({__name:`ProjectEstimate`,props:{annotations:Object},setup(e){let t=e,n=d(()=>z(`cost`,t.annotations[`scc/estimatedCost`])),r=d(()=>z(`schedule`,t.annotations[`scc/estimatedScheduleMonths`])),i=d(()=>z(`team`,t.annotations[`scc/estimatedPeople`])),a=d(()=>n.value!=null||r.value!=null||i.value!=null);return(e,t)=>a.value?(D(),l(`tr`,Be,[f(`th`,{scope:`row`,title:E(R)(`scc/estimatedCost`,`scc/estimatedScheduleMonths`,`scc/estimatedPeople`)},[...t[0]||=[M(` Project Estimate `,-1),f(`span`,{class:`estimate-note`,title:`Estimates adjusted for €80k salary and AI-assisted development (3x productivity)`},[f(`i`,{class:`iconoir-info-circle`})],-1)]],8,Ve),f(`td`,null,[f(`div`,He,[n.value==null?o(``,!0):(D(),l(`div`,Ue,[t[1]||=f(`i`,{class:`iconoir-euro`},null,-1),t[2]||=f(`span`,{class:`estimate-label`},`Cost:`,-1),f(`span`,We,v(E(I)(n.value)),1)])),r.value==null?o(``,!0):(D(),l(`div`,Ge,[t[3]||=f(`i`,{class:`iconoir-calendar`},null,-1),t[4]||=f(`span`,{class:`estimate-label`},`Schedule:`,-1),f(`span`,Ke,v(r.value.toFixed(1))+` months`,1)])),i.value==null?o(``,!0):(D(),l(`div`,qe,[t[5]||=f(`i`,{class:`iconoir-group`},null,-1),t[6]||=f(`span`,{class:`estimate-label`},`Team:`,-1),f(`span`,Je,v(i.value)+` people`,1)]))])])])):o(``,!0)}},[[`__scopeId`,`data-v-d97600d8`]]),Xe={key:0},Ze=[`title`],Qe={class:`repository-distribution`},$e={class:`repository-total`},et={class:`repository-count`},tt={class:`repository-bar`},nt=[`title`],rt={class:`repository-legend`},it=_({__name:`RepositoriesBar`,props:{annotations:Object},setup(e){let t=e,n=d(()=>parseInt(t.annotations[`repository/artifacts/total`]||`0`,10)),r=d(()=>parseInt(t.annotations[`repository/artifacts/active`]||`0`,10)),i=d(()=>parseInt(t.annotations[`repository/artifacts/abandoned`]||`0`,10)),a=d(()=>parseInt(t.annotations[`repository/artifacts/archived`]||`0`,10)),c=d(()=>parseInt(t.annotations[`repository/artifacts/highBusFactor`]||`0`,10)),u=d(()=>n.value>0),p=d(()=>r.value-c.value),m=d(()=>n.value-r.value-i.value-a.value);function h(e){return(e/n.value*100).toFixed(1)}let g=d(()=>{let e=[];return p.value>0&&e.push({cls:`status-active`,value:p.value,label:`Active (healthy)`}),c.value>0&&e.push({cls:`status-high-bus-factor`,value:c.value,label:`Active (high bus factor)`}),a.value>0&&e.push({cls:`status-archived`,value:a.value,label:`Archived`}),m.value>0&&e.push({cls:`status-other`,value:m.value,label:`Other`}),i.value>0&&e.push({cls:`status-abandoned`,value:i.value,label:`Abandoned`}),e});return(e,t)=>u.value?(D(),l(`tr`,Xe,[f(`th`,{scope:`row`,title:E(R)(`repository/artifacts/total`,`repository/artifacts/active`,`repository/artifacts/abandoned`,`repository/artifacts/archived`,`repository/artifacts/highBusFactor`)},`Repositories`,8,Ze),f(`td`,null,[f(`div`,Qe,[f(`div`,$e,[f(`span`,et,v(n.value),1),t[0]||=f(`span`,{class:`repository-label`},`repositories`,-1)]),f(`div`,tt,[(D(!0),l(w,null,s(g.value,e=>(D(),l(`div`,{key:e.cls,class:k([`repository-bar-segment`,e.cls]),style:C({width:h(e.value)+`%`}),title:`${e.label}: ${e.value} (${h(e.value)}%)`},null,14,nt))),128))]),f(`div`,rt,[(D(!0),l(w,null,s(g.value,e=>(D(),l(`div`,{key:e.cls,class:`repository-legend-item`},[f(`div`,{class:k([`repository-legend-dot`,e.cls])},null,2),f(`span`,null,v(e.value)+` `+v(e.label.toLowerCase()),1)]))),128))])])])])):o(``,!0)}},[[`__scopeId`,`data-v-6c3e5f7d`]]),at=[`title`],Q=_({__name:`SparklineChart`,props:{values:{type:String,required:!0},type:{type:String,default:`commits`},maxHeight:{type:Number,default:16},colorClass:{type:String,default:null}},setup(e){let t=e,n=d(()=>!t.values||t.values.trim()===``?[]:t.values.split(`,`).map(e=>parseInt(e,10)||0)),r=d(()=>{let e=Math.max(...n.value);return e===0?1:e});function i(e){return e===0?0:Math.max(2,Math.round(e/r.value*t.maxHeight))}let a=d(()=>{switch(t.type){case`created`:return` issues created`;case`resolved`:return` issues resolved`;default:return` commits`}});return(t,r)=>(D(),l(`div`,{class:k([`activity-sparkline`,e.colorClass])},[(D(!0),l(w,null,s(n.value,(e,t)=>(D(),l(`div`,{key:t,class:k([`activity-sparkline-bar`,{empty:e===0}]),style:C({height:i(e)+`px`}),title:e+a.value},null,14,at))),128))],2))}},[[`__scopeId`,`data-v-33cc84bd`]]),ot={key:0},st=[`title`],ct={class:`activity-summary`},lt={key:0,class:`activity-item`},ut=[`title`],dt={class:`activity-value sparkline-total`},ft={key:1,class:`activity-item`},pt=[`title`],mt={key:0,class:`activity-value sparkline-total`},ht={key:1,class:`activity-value contributors-total`},gt={key:2,class:`activity-item`},_t=[`title`],vt={class:`activity-value`},yt={key:3,class:`activity-item`},bt=[`title`],xt={key:4,class:`activity-item`},St=[`title`],Ct=_({__name:`ActivityInfo`,props:{annotations:Object,kind:String},setup(n){let r=n,i=d(()=>r.annotations[`activity/commits`]),a=d(()=>r.annotations[`activity/contributors`]),s=d(()=>r.annotations[`activity/contributors/6m`]),c=d(()=>r.annotations[`activity/contributors/total`]),u=d(()=>r.annotations[`activity/status`]),p=d(()=>r.annotations[`activity/busFactor`]),m=d(()=>r.annotations[`activity/createdAt`]),g=d(()=>i.value||a.value||u.value||p.value||m.value),_=d(()=>i.value?i.value.split(`,`).map(Number).reduce((e,t)=>e+t,0):0),y=d(()=>m.value?new Date(m.value).toLocaleDateString(`en`,{month:`short`,year:`numeric`}):null),b=d(()=>{let e=p.value,t=``;switch(e){case`high`:t=`High risk: One contributor accounts for >75% of commits in the last 6 months`;break;case`medium`:t=`Medium risk: One contributor accounts for 50-75% of commits in the last 6 months`;break;case`low`:t=`Low risk: No single contributor dominates the codebase`;break;default:t=`Unknown: Not enough recent activity to assess`}return s.value&&(t+=` (${s.value} unique contributors)`),t});function x(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(n,r)=>{let d=h(`router-link`);return g.value?(D(),l(`tr`,ot,[f(`th`,{scope:`row`,title:E(R)(`activity/commits`,`activity/contributors`,`activity/contributors/6m`,`activity/contributors/total`,`activity/status`,`activity/busFactor`,`activity/createdAt`)},`Activity`,8,st),f(`td`,null,[f(`div`,ct,[i.value?(D(),l(`div`,lt,[r[0]||=f(`i`,{class:`iconoir-git-commit`},null,-1),f(`span`,{class:`activity-label`,title:E(R)(`activity/commits`)},`Commits:`,8,ut),t(Q,{values:i.value},null,8,[`values`]),f(`span`,dt,v(_.value),1)])):o(``,!0),a.value?(D(),l(`div`,ft,[r[1]||=f(`i`,{class:`iconoir-community`},null,-1),f(`span`,{class:`activity-label`,title:E(R)(`activity/contributors`,`activity/contributors/6m`,`activity/contributors/total`)},`Contributors:`,8,pt),t(Q,{values:a.value,"color-class":`contributors-sparkline`},null,8,[`values`]),s.value?(D(),l(`span`,mt,v(s.value),1)):o(``,!0),c.value?(D(),l(`span`,ht,`(`+v(c.value)+` total)`,1)):o(``,!0)])):o(``,!0),m.value?(D(),l(`div`,gt,[r[2]||=f(`i`,{class:`iconoir-calendar`},null,-1),f(`span`,{class:`activity-label`,title:E(R)(`activity/createdAt`)},`Created:`,8,_t),f(`span`,vt,v(y.value),1)])):o(``,!0),u.value?(D(),l(`div`,yt,[r[3]||=f(`i`,{class:`iconoir-info-circle`},null,-1),f(`span`,{class:`activity-label`,title:E(R)(`activity/status`)},`Status:`,8,bt),t(d,{class:k(`activity-value status-${u.value}`),to:x(`activity/status`,u.value)},{default:e(()=>[M(v(u.value),1)]),_:1},8,[`class`,`to`])])):o(``,!0),p.value?(D(),l(`div`,xt,[r[4]||=f(`i`,{class:`iconoir-warning-triangle`},null,-1),f(`span`,{class:`activity-label`,title:E(R)(`activity/busFactor`)},`Bus Factor:`,8,St),t(d,{class:k(`activity-value bus-factor-${p.value}`),to:x(`activity/busFactor`,p.value),title:b.value},{default:e(()=>[M(v(p.value),1)]),_:1},8,[`class`,`to`,`title`])])):o(``,!0)])])])):o(``,!0)}}},[[`__scopeId`,`data-v-a2e60c62`]]),wt={key:0},Tt={key:1},Et=[`title`],Dt={class:`jira-info`},Ot=[`href`],kt={class:`jira-metric`},At={class:`jira-metric-total`},jt={class:`jira-metric`},Mt={class:`jira-metric-total`},Nt={key:0,class:`iconoir-arrow-down-circle`},Pt={key:1,class:`iconoir-arrow-up-circle`},Ft={key:2,class:`iconoir-minus-circle`},It={class:`jira-trend-text`},Lt={key:2},Rt=[`title`],zt=[`href`],Bt={key:1,class:`team-value`},Vt={key:3},Ht=[`title`],Ut={class:`team-stats`},Wt={key:0,class:`team-stat-item`},Gt={class:`team-stat-value`},Kt={key:1,class:`team-stat-item`},qt={class:`team-stat-value`},Jt={key:4},Yt=[`title`],Xt={class:`team-members`},Zt=[`href`],Qt={key:1,class:`team-member`},$t=_({__name:`TeamInfo`,props:{annotations:Object,instance:Object},setup(n){let r=n,i=d(()=>r.annotations[`team/lead`]),a=d(()=>r.annotations[`team/members`]),c=d(()=>r.annotations[`team/size`]),u=d(()=>r.annotations[`team/lead/size`]),p=d(()=>r.annotations[`team/jira`]),m=d(()=>r.annotations[`jira/projectUrl`]),g=d(()=>r.annotations[`jira/issues/created`]),_=d(()=>r.annotations[`jira/issues/resolved`]),y=d(()=>r.instance?.kind===`BusinessActor`),b=d(()=>{let e=r.instance?.name||``;return`kind in ("ApplicationService", "ApplicationComponent") & (-{maintainedBy, operatedBy}> "${e}" | ~> $(TechnologyArtifact: -{maintainedBy}> "${e}"))`}),x=d(()=>a.value?a.value.split(/,|\n/).map(e=>e.trim()).filter(Boolean):[]);function S(e){let t=e.match(/<([^>]+@[^>]+)>/);return t?t[1]:null}function C(e){return{name:`search`,query:{q:e}}}let T=d(()=>g.value?g.value.split(`,`).map(Number).reduce((e,t)=>e+t,0):0),O=d(()=>_.value?_.value.split(`,`).map(Number).reduce((e,t)=>e+t,0):0),A=d(()=>g.value?g.value.split(`,`).map(Number):[]),j=d(()=>_.value?_.value.split(`,`).map(Number):[]),N=d(()=>(A.value.length?T.value/A.value.length:0)-(j.value.length?O.value/j.value.length:0)),P=d(()=>{let e=N.value;return e<-1?`positive`:e>1?`negative`:`neutral`});return(n,r)=>{let d=h(`router-link`);return D(),l(w,null,[y.value?(D(),l(`tr`,wt,[r[1]||=f(`th`,{scope:`row`},`Owned Services`,-1),f(`td`,null,[t(d,{class:`badge badge-info`,to:C(b.value)},{default:e(()=>[...r[0]||=[M(` Show ApplicationServices & Components `,-1)]]),_:1},8,[`to`])])])):o(``,!0),p.value&&m.value?(D(),l(`tr`,Tt,[f(`th`,{scope:`row`,title:E(R)(`team/jira`,`jira/projectUrl`,`jira/issues/created`,`jira/issues/resolved`)},`Jira Project`,8,Et),f(`td`,null,[f(`div`,Dt,[f(`a`,{class:`badge badge-info`,href:m.value,target:`_blank`},v(p.value),9,Ot),g.value||_.value?(D(),l(w,{key:0},[f(`div`,kt,[r[2]||=f(`span`,{class:`jira-metric-label`},`Created (6m):`,-1),t(Q,{values:g.value,type:`created`,"color-class":`jira-created-sparkline`},null,8,[`values`]),f(`span`,At,v(T.value),1)]),f(`div`,jt,[r[3]||=f(`span`,{class:`jira-metric-label`},`Resolved (6m):`,-1),t(Q,{values:_.value,type:`resolved`,"color-class":`jira-resolved-sparkline`},null,8,[`values`]),f(`span`,Mt,v(O.value),1)]),f(`div`,{class:k([`jira-trend`,`jira-trend-${P.value}`])},[P.value===`positive`?(D(),l(`i`,Nt)):P.value===`negative`?(D(),l(`i`,Pt)):(D(),l(`i`,Ft)),f(`span`,It,v(N.value>0?`+`:``)+v(N.value.toFixed(1))+`/mo`,1)],2)],64)):o(``,!0)])])])):o(``,!0),i.value?(D(),l(`tr`,Lt,[f(`th`,{scope:`row`,title:E(R)(`team/lead`)},`Team Lead`,8,Rt),f(`td`,null,[S(i.value)?(D(),l(`a`,{key:0,class:`team-value`,href:`mailto:${S(i.value)}`},v(i.value),9,zt)):(D(),l(`span`,Bt,v(i.value),1))])])):o(``,!0),c.value||u.value?(D(),l(`tr`,Vt,[f(`th`,{scope:`row`,title:E(R)(`team/size`,`team/lead/size`)},`Team Stats`,8,Ht),f(`td`,null,[f(`div`,Ut,[u.value?(D(),l(`div`,Wt,[f(`span`,Gt,v(u.value),1),r[4]||=f(`span`,{class:`team-stat-label`},`leads`,-1)])):o(``,!0),c.value?(D(),l(`div`,Kt,[f(`span`,qt,v(c.value),1),r[5]||=f(`span`,{class:`team-stat-label`},`members`,-1)])):o(``,!0)])])])):o(``,!0),a.value?(D(),l(`tr`,Jt,[f(`th`,{scope:`row`,title:E(R)(`team/members`)},`Team Members`,8,Yt),f(`td`,null,[f(`div`,Xt,[(D(!0),l(w,null,s(x.value,e=>(D(),l(w,{key:e},[S(e)?(D(),l(`a`,{key:0,class:`team-member`,href:`mailto:${S(e)}`},v(e),9,Zt)):(D(),l(`span`,Qt,v(e),1))],64))),128))])])])):o(``,!0)],64)}}},[[`__scopeId`,`data-v-ae48f9a9`]]),en={key:0},tn=[`title`],nn={class:`deployment-types`},rn=_({__name:`DeploymentInfo`,props:{annotations:Object,kind:String},setup(t){let n=t,i=d(()=>(n.annotations[`repository/artifacts`]||`none`).split(`,`).map(e=>e.trim())),a=d(()=>i.value[0]!==`none`),c=[{key:`container`,icon:`iconoir-box`,label:`Container Image`},{key:`chart`,icon:`iconoir-packages`,label:`Helm Chart`},{key:`binary`,icon:`iconoir-terminal`,label:`Binary`},{key:`debian`,icon:`iconoir-package`,label:`Debian Package`},{key:`rpm`,icon:`iconoir-package`,label:`RPM Package`}];function u(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(t,n)=>{let d=h(`router-link`);return a.value?(D(),l(`tr`,en,[f(`th`,{scope:`row`,title:E(R)(`repository/artifacts`)},`Deployment Artifacts`,8,tn),f(`td`,null,[f(`div`,nn,[(D(),l(w,null,s(c,t=>(D(),l(w,{key:t.key},[i.value.includes(t.key)?(D(),r(d,{key:0,class:`deployment-item`,to:u(`repository/artifacts`,t.key)},{default:e(()=>[f(`i`,{class:k(t.icon)},null,2),f(`strong`,null,v(t.label),1)]),_:2},1032,[`to`])):o(``,!0)],64))),64))])])])):o(``,!0)}}},[[`__scopeId`,`data-v-c57237c3`]]),an=[`title`],on={class:`workflow-platforms`},sn=[`checked`],cn=[`checked`],ln=[`checked`],un={class:`info-section-cell`,colspan:`2`},dn={open:``},fn=[`title`],pn={class:`workflow-types`},mn={class:`workflow-category`},hn=[`checked`],gn=[`checked`],_n={class:`workflow-category`},vn=[`checked`],yn=[`checked`],bn=[`checked`],xn=[`checked`],Sn={class:`workflow-category`},Cn=[`checked`],wn=[`checked`],Tn={class:`workflow-category`},En=[`checked`],Dn=[`checked`],On=_({__name:`WorkflowInfo`,props:{annotations:Object,kind:String},setup(n){let r=n,i=d(()=>(r.annotations[`workflow/platforms`]||`none`).split(`,`).map(e=>e.trim())),a=d(()=>(r.annotations[`workflow/types`]||`none`).split(`,`).map(e=>e.trim())),s=d(()=>i.value[0]!==`none`||a.value[0]!==`none`),c=d(()=>a.value.includes(`test`));function u(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}function p(e,t){return e.includes(t)}return(n,r)=>{let d=h(`router-link`);return s.value?(D(),l(w,{key:0},[f(`tr`,null,[f(`th`,{scope:`row`,title:E(R)(`workflow/platforms`)},`CI/CD Platforms`,8,an),f(`td`,null,[f(`div`,on,[t(d,{class:`workflow-platform-item`,to:u(`workflow/platforms`,`github-actions`)},{default:e(()=>[f(`input`,{type:`checkbox`,disabled:``,checked:p(i.value,`github-actions`)},null,8,sn),r[0]||=f(`label`,null,`GitHub Actions`,-1)]),_:1},8,[`to`]),t(d,{class:`workflow-platform-item`,to:u(`workflow/platforms`,`gitlab-ci`)},{default:e(()=>[f(`input`,{type:`checkbox`,disabled:``,checked:p(i.value,`gitlab-ci`)},null,8,cn),r[1]||=f(`label`,null,`GitLab CI`,-1)]),_:1},8,[`to`]),t(d,{class:`workflow-platform-item`,to:u(`workflow/platforms`,`makefile`)},{default:e(()=>[f(`input`,{type:`checkbox`,disabled:``,checked:p(i.value,`makefile`)},null,8,ln),r[2]||=f(`label`,null,`Makefile`,-1)]),_:1},8,[`to`])])])]),f(`tr`,null,[f(`td`,un,[f(`details`,dn,[f(`summary`,{title:E(R)(`workflow/types`)},[...r[3]||=[f(`strong`,null,`Workflow Types`,-1)]],8,fn),f(`div`,pn,[f(`div`,null,[f(`div`,mn,[r[6]||=f(`strong`,null,`Build & Deploy`,-1),f(`ul`,null,[f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`build`)},null,8,hn),t(d,{to:u(`workflow/types`,`build`)},{default:e(()=>[...r[4]||=[M(`Build`,-1)]]),_:1},8,[`to`])]),f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`deploy`)},null,8,gn),t(d,{to:u(`workflow/types`,`deploy`)},{default:e(()=>[...r[5]||=[M(`Deploy`,-1)]]),_:1},8,[`to`])])])]),f(`div`,_n,[r[11]||=f(`strong`,null,`Testing`,-1),f(`ul`,null,[f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`test`)},null,8,vn),t(d,{to:u(`workflow/types`,`test`)},{default:e(()=>[...r[7]||=[M(`Test (generic)`,-1)]]),_:1},8,[`to`])]),f(`li`,{class:k({"grayed-out":c.value})},[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`unit-test`)},null,8,yn),t(d,{to:u(`workflow/types`,`unit-test`)},{default:e(()=>[...r[8]||=[M(`Unit Tests`,-1)]]),_:1},8,[`to`])],2),f(`li`,{class:k({"grayed-out":c.value})},[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`integration-test`)},null,8,bn),t(d,{to:u(`workflow/types`,`integration-test`)},{default:e(()=>[...r[9]||=[M(`Integration Tests`,-1)]]),_:1},8,[`to`])],2),f(`li`,{class:k({"grayed-out":c.value})},[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`smoke-test`)},null,8,xn),t(d,{to:u(`workflow/types`,`smoke-test`)},{default:e(()=>[...r[10]||=[M(`Smoke Tests`,-1)]]),_:1},8,[`to`])],2)])]),f(`div`,Sn,[r[14]||=f(`strong`,null,`Quality & Security`,-1),f(`ul`,null,[f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`lint`)},null,8,Cn),t(d,{to:u(`workflow/types`,`lint`)},{default:e(()=>[...r[12]||=[M(`Linting`,-1)]]),_:1},8,[`to`])]),f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`security-scan`)},null,8,wn),t(d,{to:u(`workflow/types`,`security-scan`)},{default:e(()=>[...r[13]||=[M(`Security Scan`,-1)]]),_:1},8,[`to`])])])]),f(`div`,Tn,[r[17]||=f(`strong`,null,`Automation`,-1),f(`ul`,null,[f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`dependency-update`)},null,8,En),t(d,{to:u(`workflow/types`,`dependency-update`)},{default:e(()=>[...r[15]||=[M(`Dependency Updates`,-1)]]),_:1},8,[`to`])]),f(`li`,null,[f(`input`,{type:`checkbox`,disabled:``,checked:p(a.value,`ticket-creation`)},null,8,Dn),t(d,{to:u(`workflow/types`,`ticket-creation`)},{default:e(()=>[...r[16]||=[M(`Ticket Creation`,-1)]]),_:1},8,[`to`])])])])])])])])])],64)):o(``,!0)}}},[[`__scopeId`,`data-v-5e906c49`]]),kn=[`title`],An={class:`info-section-cell`,colspan:`2`},jn={class:`agentic-tools`},Mn={class:`tool-item-header`},Nn=[`checked`],Pn={class:`tool-item-description`},Fn=_({__name:`AgenticTools`,props:{annotations:Object,kind:String},setup(n){let r=n,i=d(()=>(r.annotations[`agentic/tools`]||`none`).split(`,`).map(e=>e.trim())),a=d(()=>i.value[0]!==`none`),c=[{key:`claude`,icon:`iconoir-brain`,name:`Claude`,description:`Anthropic Claude API`},{key:`cursor`,icon:`iconoir-edit-pencil`,name:`Cursor`,description:`AI code editor`},{key:`aider`,icon:`iconoir-terminal`,name:`Aider`,description:`CLI pair programmer`},{key:`github-copilot`,icon:`iconoir-github`,name:`GitHub Copilot`,description:`GitHub AI assistant`},{key:`agents`,icon:`iconoir-cpu-warning`,name:`Custom Agents`,description:`Custom AI agents`}];function u(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(n,r)=>{let d=h(`router-link`);return a.value?(D(),l(w,{key:0},[f(`tr`,null,[f(`th`,{scope:`row`,colspan:`2`,title:E(R)(`agentic/tools`)},[...r[0]||=[f(`i`,{class:`iconoir-cpu`},null,-1),M(` AI Coding Assistants `,-1)]],8,kn)]),f(`tr`,null,[f(`td`,An,[f(`div`,jn,[(D(),l(w,null,s(c,n=>t(d,{key:n.key,class:k([`tool-item`,{"not-implemented":!i.value.includes(n.key)}]),to:u(`agentic/tools`,n.key)},{default:e(()=>[f(`div`,Mn,[f(`input`,{type:`checkbox`,checked:i.value.includes(n.key),disabled:``},null,8,Nn),f(`i`,{class:k([n.icon,i.value.includes(n.key)?`implemented`:`not-implemented`])},null,2),f(`strong`,null,v(n.name),1)]),f(`div`,Pn,v(n.description),1)]),_:2},1032,[`class`,`to`])),64))])])])],64)):o(``,!0)}}},[[`__scopeId`,`data-v-52b7b17d`]]),In={key:0},Ln=[`title`],Rn={class:`activity-summary`},zn={class:`activity-item`},Bn={key:0,class:`activity-item`},Vn={class:`activity-value`},Hn={key:1,class:`activity-item`},Un={key:0,class:`license-details-inline`},Wn={class:`badge badge-secondary`},Gn={class:`license-overflow`},Kn=_({__name:`LicenseInfo`,props:{annotations:Object,kind:String},setup(n){let i=n,a=d(()=>i.annotations[`license/spdx`]),c=d(()=>i.annotations[`license/category`]||`unknown`),u=d(()=>i.annotations[`license/dependencies/count`]),p=d(()=>(i.annotations[`license/dependencies/ecosystems`]||``).split(`,`).map(e=>e.trim()).filter(Boolean)),m=d(()=>i.annotations[`license/dependencies/risk`]||`unknown`),g=d(()=>i.annotations[`license/dependencies/copyleft`]||`unknown`),_=d(()=>(i.annotations[`license/dependencies/licenses`]||``).split(`,`).map(e=>e.trim()).filter(Boolean)),y=d(()=>{switch(c.value){case`permissive`:return`badge-success`;case`weak-copyleft`:return`badge-warning`;case`source-available`:return`badge-warning`;case`copyleft`:return`badge-danger`;default:return`badge-secondary`}}),b=d(()=>{switch(m.value){case`low`:return`badge-success`;case`weak-copyleft`:return`badge-warning`;case`copyleft`:return`badge-danger`;default:return`badge-secondary`}}),x=d(()=>{switch(m.value){case`copyleft`:return`Copyleft dependencies (GPL, AGPL) or >50% unknown licenses`;case`weak-copyleft`:return`Weak-copyleft dependencies (LGPL, MPL) present`;case`low`:return`All dependencies have known permissive licenses`;default:return`No dependency license data available`}}),S=d(()=>_.value.filter(e=>e!==`unknown`).map(e=>({name:e,count:parseInt(i.annotations[`license/dependencies/${e}/count`]||`0`,10)})).sort((e,t)=>t.count-e.count));function C(e,t){return{name:`search`,query:{q:`${e} == "${t}"`}}}return(n,i)=>{let d=h(`router-link`);return a.value?(D(),l(`tr`,In,[f(`th`,{scope:`row`,title:E(R)(`license/spdx`,`license/category`,`license/dependencies/count`,`license/dependencies/ecosystems`,`license/dependencies/risk`,`license/dependencies/copyleft`,`license/dependencies/licenses`)},`License`,8,Ln),f(`td`,null,[f(`div`,Rn,[f(`div`,zn,[i[0]||=f(`i`,{class:`iconoir-shield-check`},null,-1),t(d,{class:k([`badge`,y.value]),to:C(`license/spdx`,a.value)},{default:e(()=>[M(v(a.value),1)]),_:1},8,[`class`,`to`]),c.value===`unknown`?o(``,!0):(D(),r(d,{key:0,class:`badge badge-outline`,to:C(`license/category`,c.value)},{default:e(()=>[M(v(c.value),1)]),_:1},8,[`to`]))]),u.value&&parseInt(u.value)>0?(D(),l(`div`,Bn,[i[2]||=f(`i`,{class:`iconoir-box`},null,-1),i[3]||=f(`span`,{class:`activity-label`},`Dependencies:`,-1),f(`span`,Vn,v(u.value),1),(D(!0),l(w,null,s(p.value,t=>(D(),r(d,{key:t,class:`badge badge-info`,to:C(`license/dependencies/ecosystems`,t)},{default:e(()=>[M(v(t),1)]),_:2},1032,[`to`]))),128)),t(d,{class:k([`badge`,b.value]),title:x.value,to:C(`license/dependencies/risk`,m.value)},{default:e(()=>[M(`Risk: `+v(m.value),1)]),_:1},8,[`class`,`title`,`to`]),g.value===`true`?(D(),r(d,{key:0,class:`badge badge-warning`,to:C(`license/dependencies/copyleft`,`true`)},{default:e(()=>[...i[1]||=[M(`Copyleft present`,-1)]]),_:1},8,[`to`])):o(``,!0)])):o(``,!0),S.value.length?(D(),l(`div`,Hn,[i[4]||=f(`i`,{class:`iconoir-list`},null,-1),i[5]||=f(`span`,{class:`activity-label`},`Types:`,-1),(D(!0),l(w,null,s(S.value.slice(0,5),t=>(D(),r(d,{key:t.name,class:`badge badge-outline`,to:C(`license/dependencies/licenses`,t.name)},{default:e(()=>[M(v(t.count>0?`${t.name} (${t.count})`:t.name),1)]),_:2},1032,[`to`]))),128)),S.value.length>5?(D(),l(`details`,Un,[f(`summary`,Wn,`+`+v(S.value.length-5)+` more`,1),f(`div`,Gn,[(D(!0),l(w,null,s(S.value.slice(5),t=>(D(),r(d,{key:t.name,class:`badge badge-outline`,to:C(`license/dependencies/licenses`,t.name)},{default:e(()=>[M(v(t.count>0?`${t.name} (${t.count})`:t.name),1)]),_:2},1032,[`to`]))),128))])])):o(``,!0)])):o(``,!0)])])])):o(``,!0)}}},[[`__scopeId`,`data-v-126f0fee`]]),qn={key:0},Jn=[`title`],Yn={__name:`ExternalLinks`,props:{annotations:Object},setup(e){let n=e,r=d(()=>Object.fromEntries(Object.entries(n.annotations).filter(([e])=>e.startsWith(`link/`)).map(([e,t])=>[e.slice(5),t])));return(e,n)=>Object.keys(r.value).length?(D(),l(`tr`,qn,[f(`th`,{scope:`row`,title:E(R)(`link/<name>`)},`Links`,8,Jn),f(`td`,null,[t(U,{links:r.value},null,8,[`links`])])])):o(``,!0)}},Xn={"component/type":{executable:`play`,library:`book-stack`,module:`box-3d-three-points`,plugin:`plug-type-a`,frontend:`web-window`,other:`code-brackets`},"component/role":{service:`cloud-sync`,cli:`terminal`,job:`timer`,operator:`settings`,agent:`cpu`}},Zn={"architecture/kind":`Architecture style`,"architecture/size":`Architecture size`},Qn=[`architecture/aliases`,`component/type`,`component/role`,`architecture/kind`,`architecture/size`,`architecture/tags`];function $n(e,t){return Xn[e]?.[t]||null}function er(e){return Zn[e]||null}var tr={class:`chip-group`},nr={key:1,class:`chip-namespace`},$={__name:`TagChips`,props:{kind:{type:String,required:!0},annotationKey:{type:String,required:!0},values:{type:Array,required:!0},linked:{type:Boolean,default:!0}},setup(t){let n=t,i={planned:`chip-info`,deprecated:`chip-warning`,sunset:`chip-danger`,"end-of-life":`chip-danger`},a=/^([a-z][a-z0-9-]*):(.+)$/i;function c(e){return String(e).replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}let u=d(()=>n.values.map(e=>{let t=a.exec(e);return{value:e,namespace:t?t[1]:null,label:t?t[2]:e,symbol:$n(n.annotationKey,e),tone:n.annotationKey===`lifecycle/status`&&i[e]||null,to:{name:`search`,query:A(`${n.kind}: ${n.annotationKey} == "${c(e)}"`)}}}));return(n,i)=>(D(),l(`span`,tr,[(D(!0),l(w,null,s(u.value,n=>(D(),r(g(t.linked?`router-link`:`span`),{key:n.value,class:k([`chip`,n.tone]),to:t.linked?n.to:void 0,title:t.linked?`Show ${t.kind} resources with ${t.annotationKey} = ${n.value}`:void 0},{default:e(()=>[n.symbol?(D(),l(`i`,{key:0,class:k(`iconoir-${n.symbol} icon-application chip-symbol`),"aria-hidden":`true`},null,2)):o(``,!0),n.namespace?(D(),l(`span`,nr,v(n.namespace),1)):o(``,!0),f(`span`,null,v(n.label),1)]),_:2},1032,[`class`,`to`,`title`]))),128))]))}},rr={key:0},ir=[`title`],ar={class:`lifecycle-info`},or=[`title`],sr=_({__name:`LifecycleInfo`,props:{annotations:Object,kind:String,links:{type:Object,default:()=>({})},incoming:{type:Number,default:0}},setup(t){let n=t,i=[`deprecated`,`sunset`,`end-of-life`],a=d(()=>n.annotations[`lifecycle/status`]),s=d(()=>n.annotations[`lifecycle/replacedBy`]),c=d(()=>n.links?.[`lifecycle/replacedBy`]||null),u=d(()=>i.includes(a.value)&&n.incoming>0);return(n,i)=>{let d=h(`router-link`);return a.value||s.value?(D(),l(`tr`,rr,[f(`th`,{scope:`row`,title:E(R)(`lifecycle/status`)},`Lifecycle`,8,ir),f(`td`,null,[f(`div`,ar,[a.value?(D(),r($,{key:0,kind:t.kind,"annotation-key":`lifecycle/status`,values:[a.value]},null,8,[`kind`,`values`])):o(``,!0),s.value?(D(),l(`span`,{key:1,class:`lifecycle-replaced`,title:E(R)(`lifecycle/replacedBy`)},[i[0]||=f(`i`,{class:`iconoir-arrow-right`,"aria-hidden":`true`},null,-1),i[1]||=M(` replaced by `,-1),c.value?(D(),r(d,{key:0,to:c.value},{default:e(()=>[M(v(s.value),1)]),_:1},8,[`to`])):(D(),l(w,{key:1},[M(v(s.value),1)],64))],8,or)):o(``,!0),u.value?(D(),r(d,{key:2,class:`lifecycle-incoming`,to:{hash:`#incoming`}},{default:e(()=>[M(v(t.incoming)+` incoming `,1)]),_:1})):o(``,!0)])])])):o(``,!0)}}},[[`__scopeId`,`data-v-6c14f599`]]),cr=[`title`],lr=[`innerHTML`],ur=[`href`],dr={__name:`AnnotationRow`,props:{annotationKey:String,value:[String,Number,Boolean],kind:String,format:{type:String,default:null}},setup(e){let t=e,n=j(null);H(n);let i=d(()=>{let e=er(t.annotationKey);if(e)return e;let n=t.annotationKey.split(`/`);return n[n.length-1].replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/^./,e=>e.toUpperCase())}),a=d(()=>typeof t.value==`string`&&/^https?:\/\//.test(t.value)),o=d(()=>t.format!==`identifier`||t.value==null?[]:String(t.value).split(`,`).map(e=>e.trim()).filter(Boolean)),s=d(()=>{if(![`tag_list`,`tag_word`].includes(t.format)||t.value==null)return[];let e=String(t.value);return t.format===`tag_list`?e.split(`,`).map(e=>e.trim()).filter(Boolean):[e]});return(t,c)=>(D(),l(`tr`,null,[f(`th`,{scope:`row`,title:E(R)(e.annotationKey)},v(i.value),9,cr),f(`td`,null,[e.format===`markdown`?(D(),l(`div`,{key:0,ref_key:`mdEl`,ref:n,innerHTML:e.value},null,8,lr)):o.value.length?(D(),r($,{key:1,kind:e.kind,"annotation-key":e.annotationKey,values:o.value,linked:!1},null,8,[`kind`,`annotation-key`,`values`])):s.value.length?(D(),r($,{key:2,kind:e.kind,"annotation-key":e.annotationKey,values:s.value},null,8,[`kind`,`annotation-key`,`values`])):(D(),l(w,{key:3},[a.value?(D(),l(`a`,{key:0,href:e.value,target:`_blank`},v(e.value),9,ur)):(D(),l(w,{key:1},[M(v(e.value),1)],64))],64))])]))}},fr={class:`instance-title-text`},pr={class:`instance-name`},mr={class:`instance-kind-subtitle`},hr={key:0,class:`generated-badge`},gr={class:`generated-script`},_r={key:0,class:`generated-time`},vr={class:`header-actions`},yr={key:0,class:`view-pager`,role:`group`,"aria-label":`Diagram view`},br=[`aria-pressed`],xr=[`aria-pressed`],Sr=[`innerHTML`],Cr={class:`graph-options`},wr={role:`group`,"aria-label":`Graph depth`},Tr=[`aria-pressed`,`title`,`onClick`],Er={role:`group`,"aria-label":`Graph layers`},Dr=[`aria-pressed`,`aria-label`,`disabled`,`title`,`onClick`],Or=[`innerHTML`],kr={key:3,class:`graph-too-large`},Ar=[`innerHTML`],jr={class:`documentation`},Mr=_({__name:`InstanceDetail`,props:{data:Object,kind:String,kindMeta:Object},setup(n){let a=n,g=j(``),_=j(null),x=j(null),A=!1,I=null,L=[1,2,3,null],R=S,z=e=>`${O.find(t=>t.id===e)?.title||e} layer`;function ee(e,t,n){try{let r=localStorage.getItem(e),i=r===null?t:JSON.parse(r);return n.includes(i)?i:t}catch{return t}}function ne(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}let B=j(ee(`archsight.graphDepth`,2,L)),V=j([...a.data.graph_layers||R]);async function se(e){B.value=e,ne(`archsight.graphDepth`,e),A=!1,await Z()}async function ce(e){let t=V.value.includes(e);t&&V.value.length===1||(V.value=t?V.value.filter(t=>t!==e):R.filter(t=>t===e||V.value.includes(t)),A=!1,await Z())}let U=j(null);H(U);let{embeds:le,scanEmbeds:de}=oe(),fe=j(null);H(fe);let W=d(()=>a.data.metadata?.annotations||{}),G=d(()=>Object.keys(a.data.relations||{}).length>0),pe=d(()=>{let e=a.data.references||{};return G.value||Object.keys(e).length>0}),K=d(()=>W.value[`generated/script`]),me=d(()=>W.value[`generated/at`]),q=d(()=>W.value[`architecture/description`]),J=d(()=>a.data.diagram||``),Y=j(a.data.diagram?`diagram`:`graph`),he=[[`go`,`Go`],[`python`,`Python`],[`java`,`Java`],[`typescript`,`TypeScript`],[`javascript`,`JavaScript`],[`rust`,`Rust`],[`ruby`,`Ruby`],[`crystal`,`Crystal`],[`cpp`,`C++`],[`csharp`,`C#`],[`zig`,`Zig`],[`elixir`,`Elixir`]],ge=d(()=>{let e=he.filter(([e])=>W.value[`architecture/${e}/modules`]).map(([e,t])=>({label:`${t} Module Structure`,dot:W.value[`architecture/${e}/modules`]}));return!e.length&&W.value[`architecture/modules`]&&e.push({label:`Module Structure`,dot:W.value[`architecture/modules`]}),e}),_e=[`scc/language/`,`repository/artifacts/`,`link/`,`team/`,`jira/`,`generated/`,`license/`],ve=new Set([`scc/languages`,`architecture/description`,`architecture/diagram`,`architecture/modules`,`workflow/platforms`,`workflow/types`,`agentic/tools`,`repository/artifacts`,`repository/git`,`repository/visibility`,`lifecycle/status`,`lifecycle/replacedBy`,`component/dependents`]),ye=[/^scc\/estimated(Cost|ScheduleMonths|People)$/,/^activity\/(commits|contributors(\/.*)?|status|busFactor|createdAt)$/,/^scc\/language\/.+\/loc$/,/^repository\/$/,/^architecture\/.+\/modules$/],be=d(()=>{let e=new Set;for(let[t,n]of Object.entries(a.data.references||{}))for(let r of Object.values(n))r.forEach(n=>e.add(`${t}/${n}`));return e.size}),Se=d(()=>{let e=e=>{let t=Qn.indexOf(e);return t===-1?Qn.length:t};return Object.entries(W.value).filter(([e])=>!(ve.has(e)||_e.some(t=>e.startsWith(t))||ye.some(t=>t.test(e)))).sort(([t],[n])=>e(t)-e(n))});async function Z(){if(A||!G.value)return;A=!0;let e=await b(a.kind,a.data.name,{depth:B.value,layers:V.value});I?.destroy(),I=null,g.value=e?await N(e):``,await m(),Te()}async function we(e){Y.value=e,e===`graph`&&await Z()}i(async()=>{Y.value===`graph`&&await Z(),await m(),U.value&&(ie(U.value),re(U.value),de(U.value))}),p(q,async()=>{await m(),U.value&&(ie(U.value),re(U.value),de(U.value))}),c(()=>{I?.destroy()});function Te(){if(!_.value)return;let e=_.value.querySelector(`svg`);e&&(I=P(e,_.value,{fullscreenTarget:x.value}))}return(i,a)=>{let c=h(`router-link`);return D(),l(w,null,[f(`article`,null,[f(`header`,null,[f(`h2`,null,[n.kindMeta?(D(),l(`i`,{key:0,class:k(`iconoir-${n.kindMeta.icon} icon-${n.kindMeta.layer}`)},null,2)):o(``,!0),f(`div`,fr,[f(`span`,pr,v(E(F)(n.data.name,n.kind)),1),f(`span`,mr,v(n.kind),1)])]),K.value?(D(),l(`div`,hr,[f(`span`,gr,[a[2]||=M(` by `,-1),t(c,{to:{name:`instance`,params:{kind:`Import`,instance:K.value}}},{default:e(()=>[M(v(K.value),1)]),_:1},8,[`to`])]),me.value?(D(),l(`span`,_r,` generated `+v(E(te)(me.value)),1)):o(``,!0)])):o(``,!0),f(`div`,vr,[t(ue,{kind:n.kind,name:n.data.name},null,8,[`kind`,`name`]),K.value?o(``,!0):(D(),r(c,{key:0,class:`btn-header`,to:`/kinds/${n.kind}/instances/${n.data.name}/edit`,title:`Edit this resource`},{default:e(()=>[...a[3]||=[f(`i`,{class:`iconoir-edit-pencil`},null,-1),M(` Edit `,-1)]]),_:1},8,[`to`]))])]),J.value&&G.value?(D(),l(`div`,yr,[f(`button`,{type:`button`,class:k([`outline`,{secondary:Y.value!==`diagram`}]),"aria-pressed":Y.value===`diagram`,onClick:a[0]||=e=>we(`diagram`)},[...a[4]||=[f(`i`,{class:`iconoir-developer`},null,-1),M(` Diagram `,-1)]],10,br),f(`button`,{type:`button`,class:k([`outline`,{secondary:Y.value!==`graph`}]),"aria-pressed":Y.value===`graph`,onClick:a[1]||=e=>we(`graph`)},[...a[5]||=[f(`i`,{class:`iconoir-graph-up`},null,-1),M(` Dependencies `,-1)]],10,xr)])):o(``,!0),J.value?y((D(),l(`div`,{key:1,ref_key:`diagramEl`,ref:fe,class:`asd-diagram-wrap`,innerHTML:J.value},null,8,Sr)),[[T,Y.value===`diagram`]]):o(``,!0),G.value&&g.value?y((D(),l(`div`,{key:2,ref_key:`graphBox`,ref:x,class:`graph-container`},[f(`div`,Cr,[a[6]||=f(`i`,{class:`iconoir-depth`,title:`Depth: how many steps the graph follows`},null,-1),f(`div`,wr,[(D(),l(w,null,s(L,e=>f(`button`,{key:String(e),type:`button`,class:k({outline:B.value!==e,secondary:B.value!==e}),"aria-pressed":B.value===e,title:e?`Depth ${e}: ${e} step${e>1?`s`:``} from here`:`Depth: all the way`,onClick:t=>se(e)},v(e??`All`),11,Tr)),64))]),a[7]||=f(`i`,{class:`iconoir-color-filter`,title:`Layers the graph follows`},null,-1),f(`div`,Er,[(D(!0),l(w,null,s(E(R),e=>(D(),l(`button`,{key:e,type:`button`,class:k([`layer-toggle`,{outline:!V.value.includes(e),secondary:!V.value.includes(e)}]),"aria-pressed":V.value.includes(e),"aria-label":z(e),disabled:V.value.length===1&&V.value.includes(e),title:`${z(e)}: ${V.value.includes(e)?`shown, click to hide`:`hidden, click to show`}`,onClick:t=>ce(e)},[f(`span`,{class:`layer-swatch`,style:C({background:`var(--layer-${e}-fill, var(--pico-muted-border-color))`})},null,4)],10,Dr))),128))])]),f(`div`,{id:`graphviz`,ref_key:`graphEl`,ref:_,class:`canvas`,innerHTML:g.value},null,8,Or)],512)),[[T,Y.value===`graph`]]):pe.value&&!G.value&&!J.value?(D(),l(`p`,kr,[...a[8]||=[f(`i`,{class:`iconoir-graph-up`},null,-1),M(` No outgoing dependencies — graph omitted `,-1)]])):o(``,!0),q.value?(D(),l(`div`,{key:4,ref_key:`descEl`,ref:U,innerHTML:q.value,class:k([`prose`,{footer:pe.value}])},null,10,Ar)):o(``,!0),(D(!0),l(w,null,s(E(le),e=>(D(),r(u,{key:e.key,to:e.el},[t(ae,{kind:e.kind,name:e.name,spec:e.spec},null,8,[`kind`,`name`,`spec`])],8,[`to`]))),128))]),(D(!0),l(w,null,s(ge.value,e=>(D(),r(xe,{key:e.label,dot:e.dot,label:e.label},null,8,[`dot`,`label`]))),128)),t(Ce,{data:n.data},null,8,[`data`]),f(`article`,jr,[a[9]||=f(`header`,null,[f(`h2`,null,`Details`)],-1),f(`table`,null,[f(`tbody`,null,[t(ke,{annotations:W.value},null,8,[`annotations`]),t(ze,{annotations:W.value,kind:n.kind},null,8,[`annotations`,`kind`]),t(Ye,{annotations:W.value},null,8,[`annotations`]),t(it,{annotations:W.value},null,8,[`annotations`]),t(Ct,{annotations:W.value,kind:n.kind},null,8,[`annotations`,`kind`]),t($t,{annotations:W.value,instance:n.data},null,8,[`annotations`,`instance`]),t(rn,{annotations:W.value,kind:n.kind},null,8,[`annotations`,`kind`]),t(On,{annotations:W.value,kind:n.kind},null,8,[`annotations`,`kind`]),t(Fn,{annotations:W.value,kind:n.kind},null,8,[`annotations`,`kind`]),t(Kn,{annotations:W.value,kind:n.kind},null,8,[`annotations`,`kind`]),t(Yn,{annotations:W.value},null,8,[`annotations`]),t(sr,{annotations:W.value,kind:n.kind,links:n.data.annotation_links,incoming:be.value},null,8,[`annotations`,`kind`,`links`,`incoming`]),(D(!0),l(w,null,s(Se.value,([e,t])=>(D(),r(dr,{key:e,"annotation-key":e,value:t,kind:n.kind,format:n.data.annotation_formats?.[e]||null},null,8,[`annotation-key`,`value`,`kind`,`format`]))),128))])])]),t(X,{data:n.data},null,8,[`data`])],64)}}},[[`__scopeId`,`data-v-fc508dab`]]),Nr={class:`view-header`},Pr={class:`instance-title-text`},Fr={class:`instance-name`},Ir={class:`header-actions`},Lr=[`innerHTML`],Rr={key:1,class:`view-query-display`},zr={class:`query-item`},Br={class:`query-value`},Vr={key:1},Hr=_({__name:`ViewDetail`,props:{data:Object,kindMeta:Object},setup(e){let n=e,i=d(()=>n.data.metadata?.annotations||{}),a=d(()=>se(i.value)),s=d(()=>a.value.query),c=d(()=>i.value[`architecture/description`]),u=d(()=>a.value.fields),p=d(()=>a.value.sort),m=d(()=>a.value.showKind),h=j(null);return H(h),(n,i)=>(D(),l(w,null,[f(`article`,Nr,[f(`header`,null,[f(`h2`,null,[e.kindMeta?(D(),l(`i`,{key:0,class:k(`iconoir-${e.kindMeta.icon} icon-${e.kindMeta.layer}`)},null,2)):o(``,!0),f(`div`,Pr,[f(`span`,Fr,v(E(F)(e.data.name,`View`)),1),i[0]||=f(`span`,{class:`instance-kind-subtitle`},`View`,-1)])]),f(`div`,Ir,[t(ue,{kind:`View`,name:e.data.name},null,8,[`name`])])]),c.value?(D(),l(`div`,{key:0,ref_key:`descEl`,ref:h,class:`description-box prose`,innerHTML:c.value},null,8,Lr)):o(``,!0),s.value?(D(),l(`div`,Rr,[f(`p`,zr,[i[1]||=f(`span`,{class:`label`},`Query:`,-1),f(`code`,Br,v(s.value),1)])])):o(``,!0)]),s.value?(D(),r(ne,{key:0,query:s.value,fields:u.value,sort:p.value,"show-kind":m.value},null,8,[`query`,`fields`,`sort`,`show-kind`])):o(``,!0),s.value?o(``,!0):(D(),l(`article`,Vr,[...i[2]||=[f(`p`,{class:`view-empty-state`},[f(`em`,null,`No query defined`)],-1)]]))],64))}},[[`__scopeId`,`data-v-1c2b385e`]]),Ur={components:{RelationsGrid:X,AnalysisResults:B,EmbedButton:ue},props:{data:Object,kindMeta:Object},setup(e){let t=d(()=>e.data.metadata?.annotations||{}),n=d(()=>t.value[`analysis/description`]),r=d(()=>t.value[`architecture/description`]),i=d(()=>t.value[`analysis/script`]),a=j(null);H(a);let o=j(null);return H(o),{annotations:t,summary:n,description:r,analysisScript:i,descEl:a,summaryEl:o,displayName:F}}},Wr={class:`analysis-header`},Gr={class:`instance-title-text`},Kr={class:`instance-name`},qr={class:`header-actions`},Jr=[`innerHTML`],Yr=[`innerHTML`],Xr={key:1};function Zr(n,i,a,s,c,u){let d=h(`EmbedButton`),p=h(`router-link`),m=h(`AnalysisResults`),g=h(`RelationsGrid`);return D(),l(w,null,[f(`article`,Wr,[f(`header`,null,[f(`h2`,null,[a.kindMeta?(D(),l(`i`,{key:0,class:k(`iconoir-${a.kindMeta.icon} icon-${a.kindMeta.layer}`)},null,2)):o(``,!0),f(`div`,Gr,[f(`span`,Kr,v(s.displayName(a.data.name,`Analysis`)),1),i[0]||=f(`span`,{class:`instance-kind-subtitle`},`Analysis`,-1)])]),f(`div`,qr,[t(d,{kind:`Analysis`,name:a.data.name},null,8,[`name`]),t(p,{class:`btn-header`,to:`/kinds/Analysis/instances/${a.data.name}/edit`,title:`Edit this resource`},{default:e(()=>[...i[1]||=[f(`i`,{class:`iconoir-edit-pencil`},null,-1),M(` Edit `,-1)]]),_:1},8,[`to`])])]),s.summary?(D(),l(`div`,{key:0,ref:`summaryEl`,class:`analysis-summary prose`,innerHTML:s.summary},null,8,Jr)):o(``,!0),s.description?(D(),l(`div`,{key:1,ref:`descEl`,class:`description-box prose`,innerHTML:s.description},null,8,Yr)):o(``,!0)]),s.analysisScript?(D(),r(m,{key:0,name:a.data.name},null,8,[`name`])):(D(),l(`article`,Xr,[...i[2]||=[f(`p`,{class:`analysis-empty-state`},[f(`i`,{class:`iconoir-warning-triangle`}),M(` No script defined for this analysis. `)],-1)]])),t(g,{data:a.data},null,8,[`data`])],64)}var Qr=_(Ur,[[`render`,Zr],[`__scopeId`,`data-v-a10d9499`]]),$r={class:`import-header`},ei={class:`instance-title-text`},ti={class:`instance-name`},ni={class:`header-actions`},ri={key:0,class:`badge badge-primary`},ii={key:1,class:`badge badge-warning`},ai=[`innerHTML`],oi={key:0,class:`graph-container`},si=[`innerHTML`],ci={key:1,class:`graph-too-large`},li={key:2,class:`graph-too-large`},ui={class:`import-configuration`},di={class:`import-metadata`},fi={key:0,class:`import-meta-item`},pi={key:1,class:`import-meta-item`},mi={key:2,class:`import-meta-item`},hi={key:3,class:`import-meta-item status-enabled`},gi={key:4,class:`import-meta-item status-disabled`},_i={key:0,class:`import-output-path`},vi={key:1,class:`import-config-section`,open:``},yi={class:`import-config-table`},bi={scope:`row`},xi={key:0},Si=_({__name:`ImportDetail`,props:{data:Object,kindMeta:Object},setup(n){let r=n,a=j(``),u=j(null),p=null,g=j(null);H(g);let _=d(()=>r.data.metadata?.annotations||{}),y=d(()=>_.value[`import/handler`]),x=d(()=>_.value[`import/enabled`]!==`false`),S=d(()=>_.value[`import/cacheTime`]),C=d(()=>_.value[`import/priority`]),T=d(()=>_.value[`import/outputPath`]),O=d(()=>_.value[`architecture/description`]),A=d(()=>Object.entries(_.value).filter(([e])=>e.startsWith(`import/config/`)).map(([e,t])=>[e.replace(`import/config/`,``),t])),I=d(()=>{let e=r.data.relations||{};return Object.values(e).reduce((e,t)=>typeof t==`object`?e+Object.values(t).reduce((e,t)=>e+(Array.isArray(t)?t.length:0),0):e,0)}),L=d(()=>Object.keys(r.data.relations||{}).length>0),R=d(()=>{let e=r.data.references||{};return L.value||Object.keys(e).length>0}),z=d(()=>I.value>=50);i(async()=>{if(L.value&&!z.value){let e=await b(`Import`,r.data.name);a.value=e?await N(e):``,await m(),ee()}}),c(()=>{p?.destroy()});function ee(){if(!u.value)return;let e=u.value.querySelector(`svg`);e&&(p=P(e,u.value))}function te(e){return typeof e==`string`?e.startsWith(`http`)||e.startsWith(`git@`)||e.startsWith(`file://`):!1}return(r,i)=>{let c=h(`router-link`);return D(),l(w,null,[f(`article`,$r,[f(`header`,null,[f(`h2`,null,[n.kindMeta?(D(),l(`i`,{key:0,class:k(`iconoir-${n.kindMeta.icon} icon-${n.kindMeta.layer}`)},null,2)):o(``,!0),f(`div`,ei,[f(`span`,ti,v(E(F)(n.data.name,`Import`)),1),i[0]||=f(`span`,{class:`instance-kind-subtitle`},`Import`,-1)])]),f(`div`,ni,[y.value?(D(),l(`span`,ri,v(y.value),1)):o(``,!0),x.value?o(``,!0):(D(),l(`span`,ii,`Disabled`)),t(c,{class:`btn-header`,to:`/kinds/Import/instances/${n.data.name}/edit`,title:`Edit this resource`},{default:e(()=>[...i[1]||=[f(`i`,{class:`iconoir-edit-pencil`},null,-1),M(` Edit `,-1)]]),_:1},8,[`to`])])]),O.value?(D(),l(`div`,{key:0,ref_key:`descEl`,ref:g,class:`description-box prose`,innerHTML:O.value},null,8,ai)):o(``,!0),R.value?(D(),l(w,{key:1},[L.value&&!z.value&&a.value?(D(),l(`div`,oi,[f(`div`,{id:`graphviz`,ref_key:`graphEl`,ref:u,class:`canvas`,innerHTML:a.value},null,8,si)])):z.value?(D(),l(`p`,ci,[i[2]||=f(`i`,{class:`iconoir-warning-triangle`},null,-1),M(` Graph too large to display (`+v(I.value)+` relations) `,1)])):L.value?o(``,!0):(D(),l(`p`,li,[...i[3]||=[f(`i`,{class:`iconoir-graph-up`},null,-1),M(` No outgoing dependencies — graph omitted `,-1)]]))],64)):o(``,!0)]),f(`article`,ui,[i[11]||=f(`header`,null,[f(`h3`,null,[f(`i`,{class:`iconoir-settings`}),M(` Configuration`)])],-1),f(`div`,di,[y.value?(D(),l(`span`,fi,[i[4]||=f(`i`,{class:`iconoir-code`},null,-1),M(` `+v(y.value),1)])):o(``,!0),S.value?(D(),l(`span`,pi,[i[5]||=f(`i`,{class:`iconoir-timer`},null,-1),M(` `+v(S.value),1)])):o(``,!0),C.value?(D(),l(`span`,mi,[i[6]||=f(`i`,{class:`iconoir-sort-down`},null,-1),M(` Priority: `+v(C.value),1)])):o(``,!0),x.value?(D(),l(`span`,hi,[...i[7]||=[f(`i`,{class:`iconoir-check-circle`},null,-1),M(` Enabled `,-1)]])):(D(),l(`span`,gi,[...i[8]||=[f(`i`,{class:`iconoir-xmark-circle`},null,-1),M(` Disabled `,-1)]]))]),T.value?(D(),l(`div`,_i,[i[9]||=f(`strong`,null,`Output:`,-1),f(`code`,null,v(T.value),1)])):o(``,!0),A.value.length?(D(),l(`details`,vi,[i[10]||=f(`summary`,null,[f(`i`,{class:`iconoir-list`}),M(` Handler Settings `)],-1),f(`table`,yi,[f(`tbody`,null,[(D(!0),l(w,null,s(A.value,([e,t])=>(D(),l(`tr`,{key:e},[f(`th`,bi,v(e),1),f(`td`,null,[te(t)?(D(),l(`code`,xi,v(t),1)):(D(),l(w,{key:1},[M(v(t),1)],64))])]))),128))])])])):o(``,!0)]),t(X,{data:n.data},null,8,[`data`])],64)}}},[[`__scopeId`,`data-v-f0340aef`]]),Ci={class:`page-actions`},wi={class:`page-resource`},Ti={__name:`PageDetail`,props:{data:Object,kindMeta:Object},setup(n){return(r,i)=>{let a=h(`router-link`);return D(),l(w,null,[t(ce,{name:n.data.name},{actions:e(()=>[f(`div`,Ci,[f(`span`,wi,[n.kindMeta?(D(),l(`i`,{key:0,class:k(`iconoir-${n.kindMeta.icon} icon-${n.kindMeta.layer}`)},null,2)):o(``,!0),i[0]||=M(` Page `,-1),f(`code`,null,v(E(F)(n.data.name,`Page`)),1)]),t(a,{class:`btn-header`,to:{name:`page`,params:{name:n.data.name}},title:`Open in the handbook tree`},{default:e(()=>[...i[1]||=[f(`i`,{class:`iconoir-book`},null,-1),M(` Open in handbook `,-1)]]),_:1},8,[`to`]),t(a,{class:`btn-header`,to:`/kinds/Page/instances/${encodeURIComponent(n.data.name)}/edit`,title:`Edit this page`},{default:e(()=>[...i[2]||=[f(`i`,{class:`iconoir-edit-pencil`},null,-1),M(` Edit `,-1)]]),_:1},8,[`to`])])]),_:1},8,[`name`]),t(X,{data:n.data},null,8,[`data`])],64)}}},Ei={key:0},Di={key:1},Oi={__name:`InstanceRouter`,props:{kind:String,instance:String},setup(e){let t=e,i=n(),s=a(`kinds`),c=j(null),u=j(!0),d=j(null);async function m(){u.value=!0,d.value=null;try{c.value=await x(t.kind,t.instance);let e=c.value.kind||t.kind,n=c.value.name||t.instance;(e!==t.kind||n!==t.instance)&&i.replace({name:`instance`,params:{kind:e,instance:n}})}catch(e){d.value=e.message}finally{u.value=!1}}p(()=>[t.kind,t.instance],m,{immediate:!0});function h(){return s.value?s.value.kinds.find(e=>e.kind===t.kind):null}return(t,n)=>u.value?(D(),l(`article`,Ei,[...n[0]||=[f(`p`,null,`Loading...`,-1)]])):d.value?(D(),l(`article`,Di,[n[4]||=f(`header`,null,[f(`h2`,null,`Not Found`)],-1),f(`p`,null,[n[1]||=M(`Instance `,-1),f(`strong`,null,v(e.instance),1),n[2]||=M(` of kind `,-1),f(`strong`,null,v(e.kind),1),n[3]||=M(` was not found.`,-1)])])):c.value?(D(),l(w,{key:2},[e.kind===`View`?(D(),r(Hr,{key:0,data:c.value,"kind-meta":h()},null,8,[`data`,`kind-meta`])):e.kind===`Analysis`?(D(),r(Qr,{key:1,data:c.value,"kind-meta":h()},null,8,[`data`,`kind-meta`])):e.kind===`Import`?(D(),r(Si,{key:2,data:c.value,"kind-meta":h()},null,8,[`data`,`kind-meta`])):e.kind===`Page`?(D(),r(Ti,{key:3,data:c.value,"kind-meta":h()},null,8,[`data`,`kind-meta`])):(D(),r(Mr,{key:4,data:c.value,kind:e.kind,"kind-meta":h()},null,8,[`data`,`kind`,`kind-meta`]))],64)):o(``,!0)}};export{Oi as default};
@@ -1 +1 @@
1
- import{$ as e,B as t,E as n,F as r,H as i,I as a,K as o,L as s,N as c,P as l,Q as u,T as d,U as f,X as p,_ as m,a as h,at as g,j as _,q as v,rt as y,tt as b,v as x,z as S}from"./index-CLuLTE5I.js";import{t as C}from"./useGraphviz-Dnm2pkon.js";import{t as w}from"./usePanZoom-HxgEsqq2.js";import{t as T}from"./ResourceList-DooWFwQP.js";var E={key:0},D={key:1,class:`kind-graph-note`},O={key:0,class:`kind-graph-note`},k=[`innerHTML`],A=h({__name:`KindGraph`,props:{kind:String,total:Number},setup(e){let t=e,n=b(``),r=b(0),i=b(!0),c=b(null),d=b(null),p=null;async function h(){i.value=!0,p?.destroy(),p=null;let e=await m(t.kind);n.value=e?await C(e):``,r.value=(n.value.match(/class="node\b/g)||[]).length,i.value=!1,await f();let a=d.value?.querySelector(`svg`);a&&(p=w(a,d.value,{fullscreenTarget:c.value}))}return u(()=>t.kind,h,{immediate:!0}),o(()=>{p?.destroy()}),(t,o)=>i.value?(v(),s(`p`,E,`Loading graph...`)):r.value?(v(),s(_,{key:2},[e.total>r.value?(v(),s(`p`,O,g(r.value)+` of `+g(e.total)+` resources are related to each other; the list shows all of them. `,1)):a(``,!0),l(`div`,{ref_key:`graphBox`,ref:c,class:`graph-container`},[l(`div`,{id:`graphviz`,ref_key:`graphEl`,ref:d,innerHTML:n.value},null,8,k)],512)],64)):(v(),s(`p`,D,`No relations between `+g(e.kind)+` resources.`,1))}},[[`__scopeId`,`data-v-d11563c5`]]),j={key:0},M={class:`header-actions`},N={key:0,class:`kind-view`,role:`group`,"aria-label":`Show as`},P=[`aria-pressed`],F=[`aria-pressed`,`title`],I={key:1},L=100,R=h({__name:`KindList`,props:{kind:String},setup(o){let f=o,m=d(),h=n(),_=i(`kinds`),C=b([]),w=b(0),E=b(!0),D=b(!1),O=b(null),k=0;async function R(){E.value=!0,k=0;try{let e=await x(f.kind,{limit:L,offset:0,output:`brief`});e.kind&&e.kind!==f.kind&&h.replace({name:`kind`,params:{kind:e.kind}}),C.value=e.instances||[],w.value=e.total||0,k=C.value.length}catch{C.value=[],w.value=0}_.value&&(O.value=_.value.kinds.find(e=>e.kind===f.kind)),E.value=!1}async function z(){if(!(D.value||k>=w.value)){D.value=!0;try{let e=(await x(f.kind,{limit:L,offset:k,output:`brief`})).instances||[];C.value=[...C.value,...e],k+=e.length}catch{}D.value=!1}}u(()=>f.kind,R,{immediate:!0});let B=c(()=>!!O.value?.self_relations),V=c(()=>B.value&&m.query.view===`graph`);function H(e){h.replace({query:{...m.query,view:e===`graph`?`graph`:void 0}})}function U(e){return e.replace(/([a-z])([A-Z])/g,`$1_$2`).toLowerCase()}return(n,i)=>{let c=p(`router-link`);return E.value?(v(),s(`article`,I,[...i[5]||=[l(`p`,null,`Loading...`,-1)]])):(v(),s(`article`,j,[l(`header`,null,[l(`h2`,null,[O.value?(v(),s(`i`,{key:0,class:y(`iconoir-${O.value.icon} icon-${O.value.layer}`)},null,2)):a(``,!0),S(` `+g(o.kind),1)]),l(`div`,M,[B.value?(v(),s(`div`,N,[l(`button`,{type:`button`,class:y({outline:V.value,secondary:V.value}),"aria-pressed":!V.value,"aria-label":`List`,title:`List of all resources`,onClick:i[0]||=e=>H(`list`)},[...i[2]||=[l(`i`,{class:`iconoir-list`},null,-1)]],10,P),l(`button`,{type:`button`,class:y({outline:!V.value,secondary:!V.value}),"aria-pressed":V.value,"aria-label":`Graph`,title:`Graph of the relations between ${o.kind} resources`,onClick:i[1]||=e=>H(`graph`)},[...i[3]||=[l(`i`,{class:`iconoir-network`},null,-1)]],10,F)])):a(``,!0),t(c,{class:`kind-help`,to:{name:`doc`,params:{filename:`resources/`+U(o.kind)}},title:`Documentation`},{default:e(()=>[...i[4]||=[l(`i`,{class:`iconoir-help-circle`},null,-1)]]),_:1},8,[`to`])])]),V.value?(v(),r(A,{key:0,kind:o.kind,total:w.value},null,8,[`kind`,`total`])):(v(),r(T,{key:1,instances:C.value,"omit-kind":!0,total:w.value,"loading-more":D.value,onLoadMore:z},null,8,[`instances`,`total`,`loading-more`]))]))}}},[[`__scopeId`,`data-v-e2d53ca9`]]);export{R as default};
1
+ import{$ as e,B as t,E as n,F as r,H as i,I as a,K as o,L as s,N as c,P as l,Q as u,T as d,U as f,X as p,_ as m,a as h,at as g,j as _,q as v,rt as y,tt as b,v as x,z as S}from"./index-DMhBow5t.js";import{t as C}from"./useGraphviz-Dnm2pkon.js";import{t as w}from"./usePanZoom-HxgEsqq2.js";import{t as T}from"./ResourceList-BZOYa68X.js";var E={key:0},D={key:1,class:`kind-graph-note`},O={key:0,class:`kind-graph-note`},k=[`innerHTML`],A=h({__name:`KindGraph`,props:{kind:String,total:Number},setup(e){let t=e,n=b(``),r=b(0),i=b(!0),c=b(null),d=b(null),p=null;async function h(){i.value=!0,p?.destroy(),p=null;let e=await m(t.kind);n.value=e?await C(e):``,r.value=(n.value.match(/class="node\b/g)||[]).length,i.value=!1,await f();let a=d.value?.querySelector(`svg`);a&&(p=w(a,d.value,{fullscreenTarget:c.value}))}return u(()=>t.kind,h,{immediate:!0}),o(()=>{p?.destroy()}),(t,o)=>i.value?(v(),s(`p`,E,`Loading graph...`)):r.value?(v(),s(_,{key:2},[e.total>r.value?(v(),s(`p`,O,g(r.value)+` of `+g(e.total)+` resources are related to each other; the list shows all of them. `,1)):a(``,!0),l(`div`,{ref_key:`graphBox`,ref:c,class:`graph-container`},[l(`div`,{id:`graphviz`,ref_key:`graphEl`,ref:d,innerHTML:n.value},null,8,k)],512)],64)):(v(),s(`p`,D,`No relations between `+g(e.kind)+` resources.`,1))}},[[`__scopeId`,`data-v-d11563c5`]]),j={key:0},M={class:`header-actions`},N={key:0,class:`kind-view`,role:`group`,"aria-label":`Show as`},P=[`aria-pressed`],F=[`aria-pressed`,`title`],I={key:1},L=100,R=h({__name:`KindList`,props:{kind:String},setup(o){let f=o,m=d(),h=n(),_=i(`kinds`),C=b([]),w=b(0),E=b(!0),D=b(!1),O=b(null),k=0;async function R(){E.value=!0,k=0;try{let e=await x(f.kind,{limit:L,offset:0,output:`brief`});e.kind&&e.kind!==f.kind&&h.replace({name:`kind`,params:{kind:e.kind}}),C.value=e.instances||[],w.value=e.total||0,k=C.value.length}catch{C.value=[],w.value=0}_.value&&(O.value=_.value.kinds.find(e=>e.kind===f.kind)),E.value=!1}async function z(){if(!(D.value||k>=w.value)){D.value=!0;try{let e=(await x(f.kind,{limit:L,offset:k,output:`brief`})).instances||[];C.value=[...C.value,...e],k+=e.length}catch{}D.value=!1}}u(()=>f.kind,R,{immediate:!0});let B=c(()=>!!O.value?.self_relations),V=c(()=>B.value&&m.query.view===`graph`);function H(e){h.replace({query:{...m.query,view:e===`graph`?`graph`:void 0}})}function U(e){return e.replace(/([a-z])([A-Z])/g,`$1_$2`).toLowerCase()}return(n,i)=>{let c=p(`router-link`);return E.value?(v(),s(`article`,I,[...i[5]||=[l(`p`,null,`Loading...`,-1)]])):(v(),s(`article`,j,[l(`header`,null,[l(`h2`,null,[O.value?(v(),s(`i`,{key:0,class:y(`iconoir-${O.value.icon} icon-${O.value.layer}`)},null,2)):a(``,!0),S(` `+g(o.kind),1)]),l(`div`,M,[B.value?(v(),s(`div`,N,[l(`button`,{type:`button`,class:y({outline:V.value,secondary:V.value}),"aria-pressed":!V.value,"aria-label":`List`,title:`List of all resources`,onClick:i[0]||=e=>H(`list`)},[...i[2]||=[l(`i`,{class:`iconoir-list`},null,-1)]],10,P),l(`button`,{type:`button`,class:y({outline:!V.value,secondary:!V.value}),"aria-pressed":V.value,"aria-label":`Graph`,title:`Graph of the relations between ${o.kind} resources`,onClick:i[1]||=e=>H(`graph`)},[...i[3]||=[l(`i`,{class:`iconoir-network`},null,-1)]],10,F)])):a(``,!0),t(c,{class:`kind-help`,to:{name:`doc`,params:{filename:`resources/`+U(o.kind)}},title:`Documentation`},{default:e(()=>[...i[4]||=[l(`i`,{class:`iconoir-help-circle`},null,-1)]]),_:1},8,[`to`])])]),V.value?(v(),r(A,{key:0,kind:o.kind,total:w.value},null,8,[`kind`,`total`])):(v(),r(T,{key:1,instances:C.value,"omit-kind":!0,total:w.value,"loading-more":D.value,onLoadMore:z},null,8,[`instances`,`total`,`loading-more`]))]))}}},[[`__scopeId`,`data-v-e2d53ca9`]]);export{R as default};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-COiEfhsA.js";import{$ as t,B as n,F as r,I as i,J as a,L as o,N as s,P as c,Q as l,R as ee,X as u,Y as d,a as f,at as p,j as m,nt as h,q as g,rt as _,s as v,t as y,tt as b,y as x,z as S}from"./index-CLuLTE5I.js";import{c as C,i as w}from"./ResourceList-DooWFwQP.js";import{t as T}from"./WikiPage-B2FYmeHL.js";var E={confluence:`Confluence`,jira:`Jira`,github:`GitHub`,gitlab:`GitLab`,servicenow:`ServiceNow`,grafana:`Grafana`,prometheus:`Prometheus`,sonar:`SonarQube`,slack:`Slack`,drive:`Google Drive`};function D(e){let[t,...n]=e.split(`-`),r=E[t.toLowerCase()];return r?[r,...n].join(` `):e}function O(e){return Object.hasOwn(E,e.split(`-`)[0].toLowerCase())}function k(e){try{return new URL(e).host}catch{return``}}function A(e){return Object.entries(e||{}).sort(([e],[t])=>Number(O(t))-Number(O(e))||e.localeCompare(t))}function j(e){let t={};for(let[n,r]of e){let e=w(r);(t[e]||=[]).push({name:n,url:r})}return Object.entries(t).sort(([e],[t])=>e.localeCompare(t))}var M={key:0,class:`link-groups`},N=[`href`,`title`],P={key:1,class:`chip-group`},F=[`href`,`title`],I={key:0,class:`link-host`},L=f({__name:`ResourceLinks`,props:{links:{type:Object,default:()=>({})}},setup(e){let t=e,n=s(()=>A(t.links)),r=s(()=>n.value.length>10?j(n.value):null);return(e,t)=>r.value?(g(),o(`div`,M,[(g(!0),o(m,null,a(r.value,([e,t])=>(g(),o(`section`,{key:e},[c(`strong`,null,p(e),1),c(`ul`,null,[(g(!0),o(m,null,a(t,e=>(g(),o(`li`,{key:e.name},[c(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,title:e.url},[c(`i`,{class:_(h(C)(e.url)),"aria-hidden":`true`},null,2),S(` `+p(e.name),1)],8,N)]))),128))])]))),128))])):n.value.length?(g(),o(`span`,P,[(g(!0),o(m,null,a(n.value,([e,t])=>(g(),o(`a`,{key:e,class:`chip link-chip`,href:t,target:`_blank`,rel:`noopener noreferrer`,title:`Open ${t}`},[c(`i`,{class:_(`${h(C)(t)} link-icon`),"aria-hidden":`true`},null,2),c(`span`,null,p(h(D)(e)),1),h(k)(t)?(g(),o(`span`,I,p(h(k)(t)),1)):i(``,!0)],8,F))),128))])):i(``,!0)}},[[`__scopeId`,`data-v-5c834d2b`]]),R=e({default:()=>$}),z={key:0,class:`page-properties`},B={key:0,class:`prop`},V={key:1,class:`prop`},H=[`href`],U={key:2,class:`prop`},W=[`href`],G={key:3,class:`prop`},K=[`title`],q={key:4,class:`prop`},J=[`title`],Y={key:5,class:`prop`},X=[`innerHTML`],Z={key:6,class:`prop`},Q={key:1},te={key:2},$={__name:`PageView`,props:{name:String},setup(e){let f=e,h=b(null),C=b(null),w=s(()=>{let e=h.value;return!!(e&&(e.status||e.author||e.owner||e.created||e.updated||e.tags.length||e.properties?.length||Object.keys(e.links||{}).length))});async function E(){C.value=null;try{h.value=await x(f.name)}catch(e){h.value=null,C.value=e.message,y(`Not found`);return}y(h.value.title)}l(()=>f.name,E,{immediate:!0});function D(e){return`status-${String(e).toLowerCase().replace(/[^a-z0-9]+/g,`-`)}`}function O(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}function k(e){return{name:`search`,query:v(`Page: page/tags == "${e}"`,`pages`)}}return(e,s)=>{let l=u(`router-link`);return h.value?(g(),r(T,{key:0,title:h.value.title,html:h.value.html,breadcrumb:h.value.breadcrumb,toc:h.value.toc,backlinks:h.value.backlinks,"edit-name":h.value.name},ee({properties:t(()=>[w.value?(g(),o(`dl`,z,[h.value.status?(g(),o(`div`,B,[s[0]||=c(`dt`,null,`Status`,-1),c(`dd`,null,[c(`span`,{class:_([`status-pill`,D(h.value.status)])},p(h.value.status),3)])])):i(``,!0),h.value.author?(g(),o(`div`,V,[s[1]||=c(`dt`,null,`Author`,-1),c(`dd`,null,[h.value.author.email?(g(),o(`a`,{key:0,href:`mailto:${h.value.author.email}`},p(h.value.author.name),9,H)):(g(),o(m,{key:1},[S(p(h.value.author.name),1)],64))])])):i(``,!0),h.value.owner?(g(),o(`div`,U,[s[2]||=c(`dt`,null,`Owner`,-1),c(`dd`,null,[h.value.owner.email?(g(),o(`a`,{key:0,href:`mailto:${h.value.owner.email}`},p(h.value.owner.name),9,W)):(g(),o(m,{key:1},[S(p(h.value.owner.name),1)],64))])])):i(``,!0),h.value.created?(g(),o(`div`,G,[s[3]||=c(`dt`,null,`Created`,-1),c(`dd`,{title:h.value.created},p(O(h.value.created)),9,K)])):i(``,!0),h.value.updated?(g(),o(`div`,q,[s[4]||=c(`dt`,null,`Updated`,-1),c(`dd`,{title:h.value.updated},p(O(h.value.updated)),9,J)])):i(``,!0),h.value.tags.length?(g(),o(`div`,Y,[s[5]||=c(`dt`,null,`Tags`,-1),c(`dd`,null,[(g(!0),o(m,null,a(h.value.tags,(e,r)=>(g(),o(m,{key:e},[n(l,{to:k(e)},{default:t(()=>[S(p(e),1)]),_:2},1032,[`to`]),r<h.value.tags.length-1?(g(),o(m,{key:0},[S(`, `)],64)):i(``,!0)],64))),128))])])):i(``,!0),(g(!0),o(m,null,a(h.value.properties,e=>(g(),o(`div`,{key:e.key,class:`prop`},[c(`dt`,null,p(e.key),1),c(`dd`,{innerHTML:e.html},null,8,X)]))),128)),Object.keys(h.value.links||{}).length?(g(),o(`div`,Z,[s[6]||=c(`dt`,null,`Links`,-1),c(`dd`,null,[n(L,{links:h.value.links},null,8,[`links`])])])):i(``,!0)])):i(``,!0)]),_:2},[e.$slots.actions?{name:`actions`,fn:t(()=>[d(e.$slots,`actions`)]),key:`0`}:void 0]),1032,[`title`,`html`,`breadcrumb`,`toc`,`backlinks`,`edit-name`])):C.value?(g(),o(`article`,Q,[c(`p`,null,p(C.value),1)])):(g(),o(`article`,te,[...s[7]||=[c(`p`,null,`Loading...`,-1)]]))}}};export{$ as n,L as r,R as t};
1
+ import{n as e}from"./rolldown-runtime-COiEfhsA.js";import{$ as t,B as n,F as r,I as i,J as a,L as o,N as s,P as c,Q as l,R as ee,X as u,Y as d,a as f,at as p,j as m,nt as h,q as g,rt as _,s as v,t as y,tt as b,y as x,z as S}from"./index-DMhBow5t.js";import{c as C,i as w}from"./ResourceList-BZOYa68X.js";import{t as T}from"./WikiPage-Bfx92Iig.js";var E={confluence:`Confluence`,jira:`Jira`,github:`GitHub`,gitlab:`GitLab`,servicenow:`ServiceNow`,grafana:`Grafana`,prometheus:`Prometheus`,sonar:`SonarQube`,slack:`Slack`,drive:`Google Drive`};function D(e){let[t,...n]=e.split(`-`),r=E[t.toLowerCase()];return r?[r,...n].join(` `):e}function O(e){return Object.hasOwn(E,e.split(`-`)[0].toLowerCase())}function k(e){try{return new URL(e).host}catch{return``}}function A(e){return Object.entries(e||{}).sort(([e],[t])=>Number(O(t))-Number(O(e))||e.localeCompare(t))}function j(e){let t={};for(let[n,r]of e){let e=w(r);(t[e]||=[]).push({name:n,url:r})}return Object.entries(t).sort(([e],[t])=>e.localeCompare(t))}var M={key:0,class:`link-groups`},N=[`href`,`title`],P={key:1,class:`chip-group`},F=[`href`,`title`],I={key:0,class:`link-host`},L=f({__name:`ResourceLinks`,props:{links:{type:Object,default:()=>({})}},setup(e){let t=e,n=s(()=>A(t.links)),r=s(()=>n.value.length>10?j(n.value):null);return(e,t)=>r.value?(g(),o(`div`,M,[(g(!0),o(m,null,a(r.value,([e,t])=>(g(),o(`section`,{key:e},[c(`strong`,null,p(e),1),c(`ul`,null,[(g(!0),o(m,null,a(t,e=>(g(),o(`li`,{key:e.name},[c(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,title:e.url},[c(`i`,{class:_(h(C)(e.url)),"aria-hidden":`true`},null,2),S(` `+p(e.name),1)],8,N)]))),128))])]))),128))])):n.value.length?(g(),o(`span`,P,[(g(!0),o(m,null,a(n.value,([e,t])=>(g(),o(`a`,{key:e,class:`chip link-chip`,href:t,target:`_blank`,rel:`noopener noreferrer`,title:`Open ${t}`},[c(`i`,{class:_(`${h(C)(t)} link-icon`),"aria-hidden":`true`},null,2),c(`span`,null,p(h(D)(e)),1),h(k)(t)?(g(),o(`span`,I,p(h(k)(t)),1)):i(``,!0)],8,F))),128))])):i(``,!0)}},[[`__scopeId`,`data-v-5c834d2b`]]),R=e({default:()=>$}),z={key:0,class:`page-properties`},B={key:0,class:`prop`},V={key:1,class:`prop`},H=[`href`],U={key:2,class:`prop`},W=[`href`],G={key:3,class:`prop`},K=[`title`],q={key:4,class:`prop`},J=[`title`],Y={key:5,class:`prop`},X=[`innerHTML`],Z={key:6,class:`prop`},Q={key:1},te={key:2},$={__name:`PageView`,props:{name:String},setup(e){let f=e,h=b(null),C=b(null),w=s(()=>{let e=h.value;return!!(e&&(e.status||e.author||e.owner||e.created||e.updated||e.tags.length||e.properties?.length||Object.keys(e.links||{}).length))});async function E(){C.value=null;try{h.value=await x(f.name)}catch(e){h.value=null,C.value=e.message,y(`Not found`);return}y(h.value.title)}l(()=>f.name,E,{immediate:!0});function D(e){return`status-${String(e).toLowerCase().replace(/[^a-z0-9]+/g,`-`)}`}function O(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}function k(e){return{name:`search`,query:v(`Page: page/tags == "${e}"`,`pages`)}}return(e,s)=>{let l=u(`router-link`);return h.value?(g(),r(T,{key:0,title:h.value.title,html:h.value.html,breadcrumb:h.value.breadcrumb,toc:h.value.toc,backlinks:h.value.backlinks,"edit-name":h.value.name},ee({properties:t(()=>[w.value?(g(),o(`dl`,z,[h.value.status?(g(),o(`div`,B,[s[0]||=c(`dt`,null,`Status`,-1),c(`dd`,null,[c(`span`,{class:_([`status-pill`,D(h.value.status)])},p(h.value.status),3)])])):i(``,!0),h.value.author?(g(),o(`div`,V,[s[1]||=c(`dt`,null,`Author`,-1),c(`dd`,null,[h.value.author.email?(g(),o(`a`,{key:0,href:`mailto:${h.value.author.email}`},p(h.value.author.name),9,H)):(g(),o(m,{key:1},[S(p(h.value.author.name),1)],64))])])):i(``,!0),h.value.owner?(g(),o(`div`,U,[s[2]||=c(`dt`,null,`Owner`,-1),c(`dd`,null,[h.value.owner.email?(g(),o(`a`,{key:0,href:`mailto:${h.value.owner.email}`},p(h.value.owner.name),9,W)):(g(),o(m,{key:1},[S(p(h.value.owner.name),1)],64))])])):i(``,!0),h.value.created?(g(),o(`div`,G,[s[3]||=c(`dt`,null,`Created`,-1),c(`dd`,{title:h.value.created},p(O(h.value.created)),9,K)])):i(``,!0),h.value.updated?(g(),o(`div`,q,[s[4]||=c(`dt`,null,`Updated`,-1),c(`dd`,{title:h.value.updated},p(O(h.value.updated)),9,J)])):i(``,!0),h.value.tags.length?(g(),o(`div`,Y,[s[5]||=c(`dt`,null,`Tags`,-1),c(`dd`,null,[(g(!0),o(m,null,a(h.value.tags,(e,r)=>(g(),o(m,{key:e},[n(l,{to:k(e)},{default:t(()=>[S(p(e),1)]),_:2},1032,[`to`]),r<h.value.tags.length-1?(g(),o(m,{key:0},[S(`, `)],64)):i(``,!0)],64))),128))])])):i(``,!0),(g(!0),o(m,null,a(h.value.properties,e=>(g(),o(`div`,{key:e.key,class:`prop`},[c(`dt`,null,p(e.key),1),c(`dd`,{innerHTML:e.html},null,8,X)]))),128)),Object.keys(h.value.links||{}).length?(g(),o(`div`,Z,[s[6]||=c(`dt`,null,`Links`,-1),c(`dd`,null,[n(L,{links:h.value.links},null,8,[`links`])])])):i(``,!0)])):i(``,!0)]),_:2},[e.$slots.actions?{name:`actions`,fn:t(()=>[d(e.$slots,`actions`)]),key:`0`}:void 0]),1032,[`title`,`html`,`breadcrumb`,`toc`,`backlinks`,`edit-name`])):C.value?(g(),o(`article`,Q,[c(`p`,null,p(C.value),1)])):(g(),o(`article`,te,[...s[7]||=[c(`p`,null,`Loading...`,-1)]]))}}};export{$ as n,L as r,R as t};
@@ -1 +1 @@
1
- import{L as e,P as t,a as n,at as r,q as i,z as a}from"./index-CLuLTE5I.js";var o={class:`query-error`,role:`alert`},s={class:`query-error-message`},c=n({__name:`QueryError`,props:{message:{type:String,required:!0}},setup(n){return(c,l)=>(i(),e(`div`,o,[l[0]||=t(`div`,{class:`query-error-title`},[t(`i`,{class:`iconoir-warning-triangle`,"aria-hidden":`true`}),a(` Query error`)],-1),t(`pre`,s,r(n.message),1)]))}},[[`__scopeId`,`data-v-9e8569f3`]]);export{c as t};
1
+ import{L as e,P as t,a as n,at as r,q as i,z as a}from"./index-DMhBow5t.js";var o={class:`query-error`,role:`alert`},s={class:`query-error-message`},c=n({__name:`QueryError`,props:{message:{type:String,required:!0}},setup(n){return(c,l)=>(i(),e(`div`,o,[l[0]||=t(`div`,{class:`query-error-title`},[t(`i`,{class:`iconoir-warning-triangle`,"aria-hidden":`true`}),a(` Query error`)],-1),t(`pre`,s,r(n.message),1)]))}},[[`__scopeId`,`data-v-9e8569f3`]]);export{c as t};
@@ -1,2 +1,2 @@
1
- import{$ as e,B as t,E as n,F as r,G as i,H as a,I as o,J as s,L as c,N as l,P as u,Q as d,W as f,X as p,a as m,at as h,j as g,nt as _,q as v,rt as y,s as b,tt as x,z as S}from"./index-CLuLTE5I.js";function C(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function w(e){let t=(Math.round(e*100)/100).toFixed(2).split(`.`);return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,`,`),`\u20AC${t.join(`.`)}`}var T={cocomoSalary:15e4,targetSalary:8e4,aiCostMultiplier:3,aiScheduleMultiplier:2.5,aiTeamMultiplier:3};function E(e,t){if(t==null)return null;let n=T.targetSalary/T.cocomoSalary,r=parseFloat(t);switch(e){case`cost`:return r*n/T.aiCostMultiplier;case`schedule`:return r/T.aiScheduleMultiplier;case`team`:return Math.ceil(r/T.aiTeamMultiplier);default:return null}}function D(e){return e.replace(/\.git$/,``).replace(`:`,`/`).replace(`git@`,`https://`)}function O(e){if(!e)return null;let t=new Date(e),n=Math.floor((Date.now()-t.getTime())/1e3);if(n<10)return`just now`;let r=[[60,`second`],[60,`minute`],[24,`hour`],[7,`day`],[4,`week`],[12,`month`],[1/0,`year`]],i=n;for(let[e,t]of r){if(i<e)return`${i} ${t}${i===1?``:`s`} ago`;i=Math.floor(i/e)}return`${i} years ago`}function k(e){return/docs\.google\.com\/(document|spreadsheets|presentation)/.test(e)?`iconoir-google-docs`:/github\.com/.test(e)?`iconoir-github`:/gitlab/.test(e)?`iconoir-git-fork`:/confluence\.|atlassian\.net/.test(e)?`iconoir-page-edit`:/jira\.|atlassian\.net.*jira/.test(e)?`iconoir-list`:/grafana/.test(e)?`iconoir-graph-up`:/prometheus/.test(e)?`iconoir-database`:/api\./.test(e)?`iconoir-code`:/docs\./.test(e)?`iconoir-book`:`iconoir-internet`}function A(e){return/docs\.google\.com/.test(e)?`Documentation`:/github\.com|gitlab/.test(e)?`Code Repository`:/confluence\.|atlassian\.net/.test(e)?`Documentation`:/jira\.|atlassian\.net.*jira/.test(e)?`Project Management`:/grafana|prometheus/.test(e)?`Monitoring`:/api\./.test(e)?`API`:/docs\./.test(e)?`Documentation`:`Other`}var j=new Set([`name`,`kind`]);function M(e){return j.has(e)}function N(e,t){return M(t)?e[t]??null:e.metadata?.annotations?.[t]??null}function P(e,t){let n=`${t}:`;return t&&e?.startsWith(n)&&e.length>n.length?e.slice(n.length):e}function F(...e){return e.filter(Boolean).join(`
1
+ import{$ as e,B as t,E as n,F as r,G as i,H as a,I as o,J as s,L as c,N as l,P as u,Q as d,W as f,X as p,a as m,at as h,j as g,nt as _,q as v,rt as y,s as b,tt as x,z as S}from"./index-DMhBow5t.js";function C(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function w(e){let t=(Math.round(e*100)/100).toFixed(2).split(`.`);return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,`,`),`\u20AC${t.join(`.`)}`}var T={cocomoSalary:15e4,targetSalary:8e4,aiCostMultiplier:3,aiScheduleMultiplier:2.5,aiTeamMultiplier:3};function E(e,t){if(t==null)return null;let n=T.targetSalary/T.cocomoSalary,r=parseFloat(t);switch(e){case`cost`:return r*n/T.aiCostMultiplier;case`schedule`:return r/T.aiScheduleMultiplier;case`team`:return Math.ceil(r/T.aiTeamMultiplier);default:return null}}function D(e){return e.replace(/\.git$/,``).replace(`:`,`/`).replace(`git@`,`https://`)}function O(e){if(!e)return null;let t=new Date(e),n=Math.floor((Date.now()-t.getTime())/1e3);if(n<10)return`just now`;let r=[[60,`second`],[60,`minute`],[24,`hour`],[7,`day`],[4,`week`],[12,`month`],[1/0,`year`]],i=n;for(let[e,t]of r){if(i<e)return`${i} ${t}${i===1?``:`s`} ago`;i=Math.floor(i/e)}return`${i} years ago`}function k(e){return/docs\.google\.com\/(document|spreadsheets|presentation)/.test(e)?`iconoir-google-docs`:/github\.com/.test(e)?`iconoir-github`:/gitlab/.test(e)?`iconoir-git-fork`:/confluence\.|atlassian\.net/.test(e)?`iconoir-page-edit`:/jira\.|atlassian\.net.*jira/.test(e)?`iconoir-list`:/grafana/.test(e)?`iconoir-graph-up`:/prometheus/.test(e)?`iconoir-database`:/api\./.test(e)?`iconoir-code`:/docs\./.test(e)?`iconoir-book`:`iconoir-internet`}function A(e){return/docs\.google\.com/.test(e)?`Documentation`:/github\.com|gitlab/.test(e)?`Code Repository`:/confluence\.|atlassian\.net/.test(e)?`Documentation`:/jira\.|atlassian\.net.*jira/.test(e)?`Project Management`:/grafana|prometheus/.test(e)?`Monitoring`:/api\./.test(e)?`API`:/docs\./.test(e)?`Documentation`:`Other`}var j=new Set([`name`,`kind`]);function M(e){return j.has(e)}function N(e,t){return M(t)?e[t]??null:e.metadata?.annotations?.[t]??null}function P(e,t){let n=`${t}:`;return t&&e?.startsWith(n)&&e.length>n.length?e.slice(n.length):e}function F(...e){return e.filter(Boolean).join(`
2
2
  `)||void 0}var I=[`title`],L={class:`hl-label`},R={class:`hl-number`},z={key:0,class:`hl-more`},B=2,V=m({__name:`HighlightValue`,props:{item:{type:Object,required:!0},kind:{type:String,required:!0}},setup(t){let n=t,i=l(()=>n.item.type===`Time`),a=l(()=>typeof n.item.value==`number`),d=l(()=>[`Person`,`EmailRecipient`].includes(n.item.type)),f=l(()=>[`tag_word`,`tag_list`].includes(n.item.format)),m=l(()=>Array.isArray(n.item.value)?n.item.value:[n.item.value]),y=l(()=>m.value.slice(0,B)),x=l(()=>m.value.length-y.value.length),C=l(()=>F(n.item.title,n.item.key,i.value?n.item.value:null)),w=l(()=>String(n.item.value).replace(/\s*<[^>]*>/,``).trim()||String(n.item.value));function T(e){let t=`${n.kind}: ${n.item.key} == "${String(e).replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`;return{name:`search`,query:b(t,n.kind===`Page`?`pages`:`kinds`)}}return(n,l)=>{let b=p(`router-link`);return v(),c(`span`,{class:`hl`,title:C.value},[a.value?(v(),c(g,{key:0},[u(`span`,L,h(t.item.title),1),u(`span`,R,h(t.item.value.toLocaleString(`en`)),1)],64)):i.value?(v(),c(g,{key:1},[S(h(_(O)(t.item.value)),1)],64)):d.value?(v(),c(g,{key:2},[S(h(w.value),1)],64)):f.value?(v(),c(g,{key:3},[(v(!0),c(g,null,s(y.value,t=>(v(),r(b,{key:t,class:`hl-tag`,to:T(t)},{default:e(()=>[S(h(t),1)]),_:2},1032,[`to`]))),128)),x.value>0?(v(),c(`span`,z,`+`+h(x.value),1)):o(``,!0)],64)):(v(),c(g,{key:4},[S(h(m.value.join(`, `)),1)],64))],8,I)}}},[[`__scopeId`,`data-v-318b23ef`]]),H={class:`highlights`},U=m({__name:`HighlightList`,props:{items:{type:Array,required:!0},kind:{type:String,required:!0}},setup(e){return(t,n)=>(v(),c(`div`,H,[(v(!0),c(g,null,s(e.items,t=>(v(),r(V,{key:t.key,item:t,kind:e.kind},null,8,[`item`,`kind`]))),128))]))}},[[`__scopeId`,`data-v-c7feccbb`]]),W={key:0,class:`empty-state`},G={key:0,class:`col-kind`},K=[`onClick`],q={class:`col-name`},J={key:0,class:`instance-sub`},Y={key:0,class:`col-kind`},X={key:0,class:`instance-kind`},Z=[`title`],Q={key:1,class:`empty-value`},$={class:`instance-main`},ee={key:0,class:`instance-sub`},te={key:1,class:`instance-kind`},ne={key:0},re=m({__name:`ResourceList`,props:{instances:{type:Array,required:!0},omitKind:{type:Boolean,default:!1},fields:{type:Array,default:null},total:{type:Number,default:0},loadingMore:{type:Boolean,default:!1},pageLinks:{type:Boolean,default:!1},rows:{type:Boolean,default:!1},embedded:{type:Boolean,default:!1}},emits:[`load-more`],setup(m,{emit:b}){let C=m,w=b,T=a(`pageTitles`,null);function E(e){return C.pageLinks&&e.kind===`Page`}let D=n();function k(e,t){t.target.closest(`a`)||t.metaKey||t.ctrlKey||t.shiftKey||window.getSelection()?.toString()||D.push(A(e))}function A(e){return E(e)?{name:`page`,params:{name:e.name}}:{name:`instance`,params:{kind:e.kind,instance:e.name}}}function j(e){return E(e)&&T?.value?.[e.name]||e.name}function P(e){return E(e)&&j(e)!==e.name?e.name:null}let F=x(null),I=null,L=l(()=>C.total>C.instances.length);function R(){I&&I.disconnect(),F.value&&(I=new IntersectionObserver(e=>{e[0].isIntersecting&&L.value&&!C.loadingMore&&w(`load-more`)},{rootMargin:`200px`}),I.observe(F.value))}i(R),d(F,R),f(()=>{I&&I.disconnect()});let z=l(()=>C.fields&&C.fields.length>0),B=l(()=>C.fields?C.fields.filter(e=>!M(e)).map(e=>{let t=e.split(`/`),n;return n=t.length>=2?`${t[t.length-2]} ${t[t.length-1]}`:t[t.length-1],n=n.replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/^./,e=>e.toUpperCase()),{key:e,title:n}}):[]);function V(e,t){return N(e,t)}function H(e){return/at$/i.test(e)||/date$/i.test(e)||/time$/i.test(e)}return(n,i)=>{let a=p(`router-link`);return v(),c(g,null,[m.instances.length?z.value?(v(),c(`table`,{key:1,class:y([`resource-list-table`,{embedded:m.embedded}])},[u(`thead`,null,[u(`tr`,null,[i[1]||=u(`th`,{class:`col-name`},`Name`,-1),m.omitKind?o(``,!0):(v(),c(`th`,G,`Kind`)),(v(!0),c(g,null,s(B.value,e=>(v(),c(`th`,{key:e.key,class:`col-annotation`},h(e.title),1))),128))])]),u(`tbody`,null,[(v(!0),c(g,null,s(m.instances,n=>(v(),c(`tr`,{key:n.name,class:`resource-list-row`,onClick:e=>k(n,e)},[u(`td`,q,[t(a,{class:`instance-name`,to:A(n)},{default:e(()=>[n.icon?(v(),c(`i`,{key:0,class:y(`iconoir-${n.icon} icon-${n.layer}`)},null,2)):o(``,!0),S(` `+h(j(n)),1)]),_:2},1032,[`to`]),P(n)?(v(),c(`span`,J,h(P(n)),1)):o(``,!0)]),m.omitKind?o(``,!0):(v(),c(`td`,Y,[E(n)?o(``,!0):(v(),c(`span`,X,h(n.kind),1))])),(v(!0),c(g,null,s(B.value,e=>(v(),c(`td`,{key:e.key,class:`col-annotation`},[V(n,e.key)==null?(v(),c(`span`,Q,`—`)):(v(),c(g,{key:0},[H(e.key)?(v(),c(`span`,{key:0,title:V(n,e.key)},h(_(O)(V(n,e.key))),9,Z)):(v(),c(g,{key:1},[S(h(V(n,e.key)),1)],64))],64))]))),128))],8,K))),128))])],2)):(v(),c(`ul`,{key:2,class:y([`search-instance-list`,{rows:m.rows}])},[(v(!0),c(g,null,s(m.instances,n=>(v(),c(`li`,{key:n.name,class:`search-instance-item`},[u(`div`,$,[t(a,{class:`instance-name`,to:A(n)},{default:e(()=>[n.icon?(v(),c(`i`,{key:0,class:y(`iconoir-${n.icon} icon-${n.layer}`)},null,2)):o(``,!0),S(` `+h(j(n)),1)]),_:2},1032,[`to`]),P(n)?(v(),c(`span`,ee,h(P(n)),1)):o(``,!0),!m.omitKind&&!E(n)?(v(),c(`span`,te,h(n.kind),1)):o(``,!0)]),n.highlights?.length?(v(),r(U,{key:0,items:n.highlights,kind:n.kind},null,8,[`items`,`kind`])):o(``,!0)]))),128))],2)):(v(),c(`p`,W,[...i[0]||=[u(`i`,null,`No resources found`,-1)]])),L.value?(v(),c(`div`,{key:3,ref_key:`sentinel`,ref:F,class:`load-more-sentinel`},[m.loadingMore?(v(),c(`small`,ne,`Loading more…`)):o(``,!0)],512)):o(``,!0)],64)}}},[[`__scopeId`,`data-v-196c71cd`]]);export{P as a,k as c,w as d,A as i,C as l,F as n,N as o,E as r,D as s,re as t,O as u};
@@ -1 +1 @@
1
- import{$ as e,B as t,F as n,H as r,I as i,J as a,L as o,N as s,P as c,Q as l,T as u,X as d,a as f,at as p,i as m,j as h,o as g,q as _,rt as v,s as y,tt as b,w as x,z as S}from"./index-CLuLTE5I.js";import{t as C}from"./ResourceList-DooWFwQP.js";import{t as w}from"./QueryError-C2xLkCEm.js";var T={class:`kind-facets`,"aria-label":`Filter by kind`},E={class:`facet-count`},D={class:`facet-count`},O=f({__name:`KindFacets`,props:{byKind:{type:Object,default:()=>({})},selected:{type:String,default:null}},setup(i){let l=i,f=m,g=u(),y=r(`kinds`,null),b=s(()=>Object.fromEntries((y?.value?.kinds||[]).map(e=>[e.kind,e.layer]))),x=s(()=>Object.entries(l.byKind).map(([e,t])=>({kind:e,count:t,layer:f.includes(b.value[e])?b.value[e]:`other`})).sort((e,t)=>f.indexOf(e.layer)-f.indexOf(t.layer)||e.kind.localeCompare(t.kind))),C=s(()=>x.value.reduce((e,t)=>e+t.count,0));function w(e){let t={...g.query};return e?t.kind=e:delete t.kind,{name:`search`,query:t}}return(r,s)=>{let l=d(`router-link`);return _(),o(`nav`,T,[t(l,{class:v([`facet facet-all`,{selected:!i.selected}]),to:w(null),"aria-current":i.selected?void 0:`true`},{default:e(()=>[s[0]||=S(` All `,-1),c(`span`,E,p(C.value),1)]),_:1},8,[`class`,`to`,`aria-current`]),(_(!0),o(h,null,a(x.value,t=>(_(),n(l,{key:t.kind,class:v([`facet`,[`icon-${t.layer}`,{selected:i.selected===t.kind}]]),to:w(t.kind),"aria-current":i.selected===t.kind?`true`:void 0},{default:e(()=>[s[1]||=c(`span`,{class:`facet-dot`,"aria-hidden":`true`},null,-1),S(` `+p(t.kind)+` `,1),c(`span`,D,p(t.count),1)]),_:2},1032,[`class`,`to`,`aria-current`]))),128))])}}},[[`__scopeId`,`data-v-0ba72b02`]]),k={key:0,class:`search-hints`},A={class:`hint-lead`},j={class:`hint-examples`},M={class:`hint-note`},N={key:1,class:`search-hints`},P={class:`hint-lead`},F={class:`hint-tips`},I={key:0},L={key:1},R=f({__name:`SearchHints`,props:{mode:{type:String,required:!0},query:{type:String,default:``},scope:{type:String,default:`kinds`}},setup(n){let l=n,u=r(`pages`,null),f=s(()=>!!u?.value?.length),m={kinds:[{query:`kubernetes`,note:`names that contain a word`},{query:`TechnologyArtifact: activity/status == "active"`,note:`active repositories`},{query:`MotivationRequirement: requirement/priority == "must"`,note:`requirements that must be met`},{query:`-> ApplicationInterface`,note:`resources that use an interface`}],pages:[{query:`handbook`,note:`words in a page title, name or text`},{query:`page/status == "rfc"`,note:`pages in review`}]},g=s(()=>m[l.scope]||m.kinds),v=s(()=>l.scope===`pages`?`pages`:`resources`);function b(e){return{name:`search`,query:y(e.query,l.scope)}}return(r,s)=>{let l=d(`router-link`);return n.mode===`intro`?(_(),o(`section`,k,[c(`p`,A,`Search `+p(v.value)+` by name, or filter them with a query.`,1),c(`ul`,j,[(_(!0),o(h,null,a(g.value,n=>(_(),o(`li`,{key:n.query},[t(l,{to:b(n)},{default:e(()=>[c(`code`,null,p(n.query),1)]),_:2},1032,[`to`]),c(`span`,M,p(n.note),1)]))),128))]),c(`p`,null,[t(l,{to:`/doc/search`},{default:e(()=>[...s[0]||=[S(`Query syntax`,-1)]]),_:1})])])):(_(),o(`section`,N,[c(`p`,P,[S(`No `+p(v.value)+` match `,1),c(`code`,null,p(n.query),1),s[1]||=S(`.`,-1)]),c(`ul`,F,[s[2]||=c(`li`,null,`Check the spelling, or try a shorter word.`,-1),n.scope===`kinds`&&f.value?(_(),o(`li`,I,`Page texts are searched from the Pages tab.`)):i(``,!0),n.scope===`pages`?(_(),o(`li`,L,`Switch to the Kinds tab to search resources.`)):i(``,!0)]),c(`p`,null,[t(l,{to:`/doc/search`},{default:e(()=>[...s[3]||=[S(`Query syntax`,-1)]]),_:1})])]))}}},[[`__scopeId`,`data-v-c91e9485`]]),z={class:`search-page`},B={class:`sr-only`,role:`status`,"aria-live":`polite`},V={class:`header-actions`},H={key:2,class:`search-summary`},U={class:`search-meta`},W={key:0,class:`search-meta`},G={key:1,class:`more-error`},K=100,q=f({__name:`SearchResults`,setup(r){let a=u(),f=b([]),m=b(0),y=b({}),T=b(0),E=b(``),D=b(``),k=b(`kinds`),A=b(null),j=b(!1),M=b(!1),N=b(null),P=b(!1),F=0,I=0,L=s(()=>!!E.value),q=s(()=>Object.keys(y.value).length>1||!!A.value),J=s(()=>j.value||!!N.value),Y=s(()=>{let e=m.value===1?`result`:`results`;return A.value?`${m.value} ${e} in ${A.value}`:`${m.value} ${e}`});async function X(){let e=a.query.q;if(A.value=a.query.kind||null,k.value=a.query.scope===`pages`?`pages`:`kinds`,!e){I++,f.value=[],m.value=0,y.value={},E.value=``,D.value=``,N.value=null,j.value=!1;return}E.value=e,D.value=g(e,k.value);let t=++I;j.value=!0,N.value=null,P.value=!1;try{let e=await x(D.value,{limit:K,offset:0,output:`brief`,kind:A.value});if(t!==I)return;f.value=e.instances||[],m.value=e.total||0,y.value=e.by_kind||{},T.value=e.query_time_ms||0,F=f.value.length}catch(e){if(t!==I)return;N.value=e.message}finally{t===I&&(j.value=!1)}}async function Z(){if(M.value||F>=m.value||!E.value)return;M.value=!0,P.value=!1;let e=I;try{let t=await x(D.value,{limit:K,offset:F,output:`brief`,kind:A.value});if(e!==I)return;let n=t.instances||[];f.value=[...f.value,...n],F+=n.length}catch{P.value=!0}finally{M.value=!1}}return l(()=>[a.query.q,a.query.scope,a.query.kind],X,{immediate:!0}),(r,a)=>{let s=d(`router-link`);return _(),o(`article`,z,[c(`span`,B,p(j.value?`Searching`:``),1),c(`header`,null,[a[1]||=c(`h2`,null,[c(`i`,{class:`iconoir-search`,"aria-hidden":`true`}),S(` Search`)],-1),c(`div`,V,[t(s,{class:`search-syntax`,to:`/doc/search`,title:`Query syntax`},{default:e(()=>[...a[0]||=[c(`i`,{class:`iconoir-help-circle`,"aria-hidden":`true`},null,-1)]]),_:1})])]),L.value?(_(),o(h,{key:1},[q.value?(_(),n(O,{key:0,"by-kind":y.value,selected:A.value},null,8,[`by-kind`,`selected`])):i(``,!0),N.value?(_(),n(w,{key:1,message:N.value},null,8,[`message`])):i(``,!0),!N.value&&f.value.length?(_(),o(`p`,H,[S(p(Y.value)+` `,1),c(`span`,U,p(T.value)+` ms`,1),k.value===`pages`&&D.value!==E.value?(_(),o(`span`,W,[a[2]||=S(` searched as `,-1),c(`code`,null,p(D.value),1)])):i(``,!0)])):i(``,!0),c(`div`,{class:v({stale:J.value})},[f.value.length?(_(),n(C,{key:0,rows:``,instances:f.value,"omit-kind":!!A.value,"page-links":k.value===`pages`,total:m.value,"loading-more":M.value,onLoadMore:Z},null,8,[`instances`,`omit-kind`,`page-links`,`total`,`loading-more`])):i(``,!0),P.value?(_(),o(`p`,G,[a[3]||=S(` Could not load more results. `,-1),c(`button`,{type:`button`,class:`more-retry`,onClick:Z},`Try again`)])):i(``,!0)],2),!j.value&&!N.value&&!f.value.length?(_(),n(R,{key:3,mode:`empty`,query:E.value,scope:k.value},null,8,[`query`,`scope`])):i(``,!0)],64)):(_(),n(R,{key:0,mode:`intro`,scope:k.value},null,8,[`scope`]))])}}},[[`__scopeId`,`data-v-3a63d0fc`]]);export{q as default};
1
+ import{$ as e,B as t,F as n,H as r,I as i,J as a,L as o,N as s,P as c,Q as l,T as u,X as d,a as f,at as p,i as m,j as h,o as g,q as _,rt as v,s as y,tt as b,w as x,z as S}from"./index-DMhBow5t.js";import{t as C}from"./ResourceList-BZOYa68X.js";import{t as w}from"./QueryError-DvspMrsh.js";var T={class:`kind-facets`,"aria-label":`Filter by kind`},E={class:`facet-count`},D={class:`facet-count`},O=f({__name:`KindFacets`,props:{byKind:{type:Object,default:()=>({})},selected:{type:String,default:null}},setup(i){let l=i,f=m,g=u(),y=r(`kinds`,null),b=s(()=>Object.fromEntries((y?.value?.kinds||[]).map(e=>[e.kind,e.layer]))),x=s(()=>Object.entries(l.byKind).map(([e,t])=>({kind:e,count:t,layer:f.includes(b.value[e])?b.value[e]:`other`})).sort((e,t)=>f.indexOf(e.layer)-f.indexOf(t.layer)||e.kind.localeCompare(t.kind))),C=s(()=>x.value.reduce((e,t)=>e+t.count,0));function w(e){let t={...g.query};return e?t.kind=e:delete t.kind,{name:`search`,query:t}}return(r,s)=>{let l=d(`router-link`);return _(),o(`nav`,T,[t(l,{class:v([`facet facet-all`,{selected:!i.selected}]),to:w(null),"aria-current":i.selected?void 0:`true`},{default:e(()=>[s[0]||=S(` All `,-1),c(`span`,E,p(C.value),1)]),_:1},8,[`class`,`to`,`aria-current`]),(_(!0),o(h,null,a(x.value,t=>(_(),n(l,{key:t.kind,class:v([`facet`,[`icon-${t.layer}`,{selected:i.selected===t.kind}]]),to:w(t.kind),"aria-current":i.selected===t.kind?`true`:void 0},{default:e(()=>[s[1]||=c(`span`,{class:`facet-dot`,"aria-hidden":`true`},null,-1),S(` `+p(t.kind)+` `,1),c(`span`,D,p(t.count),1)]),_:2},1032,[`class`,`to`,`aria-current`]))),128))])}}},[[`__scopeId`,`data-v-0ba72b02`]]),k={key:0,class:`search-hints`},A={class:`hint-lead`},j={class:`hint-examples`},M={class:`hint-note`},N={key:1,class:`search-hints`},P={class:`hint-lead`},F={class:`hint-tips`},I={key:0},L={key:1},R=f({__name:`SearchHints`,props:{mode:{type:String,required:!0},query:{type:String,default:``},scope:{type:String,default:`kinds`}},setup(n){let l=n,u=r(`pages`,null),f=s(()=>!!u?.value?.length),m={kinds:[{query:`kubernetes`,note:`names that contain a word`},{query:`TechnologyArtifact: activity/status == "active"`,note:`active repositories`},{query:`MotivationRequirement: requirement/priority == "must"`,note:`requirements that must be met`},{query:`-> ApplicationInterface`,note:`resources that use an interface`}],pages:[{query:`handbook`,note:`words in a page title, name or text`},{query:`page/status == "rfc"`,note:`pages in review`}]},g=s(()=>m[l.scope]||m.kinds),v=s(()=>l.scope===`pages`?`pages`:`resources`);function b(e){return{name:`search`,query:y(e.query,l.scope)}}return(r,s)=>{let l=d(`router-link`);return n.mode===`intro`?(_(),o(`section`,k,[c(`p`,A,`Search `+p(v.value)+` by name, or filter them with a query.`,1),c(`ul`,j,[(_(!0),o(h,null,a(g.value,n=>(_(),o(`li`,{key:n.query},[t(l,{to:b(n)},{default:e(()=>[c(`code`,null,p(n.query),1)]),_:2},1032,[`to`]),c(`span`,M,p(n.note),1)]))),128))]),c(`p`,null,[t(l,{to:`/doc/search`},{default:e(()=>[...s[0]||=[S(`Query syntax`,-1)]]),_:1})])])):(_(),o(`section`,N,[c(`p`,P,[S(`No `+p(v.value)+` match `,1),c(`code`,null,p(n.query),1),s[1]||=S(`.`,-1)]),c(`ul`,F,[s[2]||=c(`li`,null,`Check the spelling, or try a shorter word.`,-1),n.scope===`kinds`&&f.value?(_(),o(`li`,I,`Page texts are searched from the Pages tab.`)):i(``,!0),n.scope===`pages`?(_(),o(`li`,L,`Switch to the Kinds tab to search resources.`)):i(``,!0)]),c(`p`,null,[t(l,{to:`/doc/search`},{default:e(()=>[...s[3]||=[S(`Query syntax`,-1)]]),_:1})])]))}}},[[`__scopeId`,`data-v-c91e9485`]]),z={class:`search-page`},B={class:`sr-only`,role:`status`,"aria-live":`polite`},V={class:`header-actions`},H={key:2,class:`search-summary`},U={class:`search-meta`},W={key:0,class:`search-meta`},G={key:1,class:`more-error`},K=100,q=f({__name:`SearchResults`,setup(r){let a=u(),f=b([]),m=b(0),y=b({}),T=b(0),E=b(``),D=b(``),k=b(`kinds`),A=b(null),j=b(!1),M=b(!1),N=b(null),P=b(!1),F=0,I=0,L=s(()=>!!E.value),q=s(()=>Object.keys(y.value).length>1||!!A.value),J=s(()=>j.value||!!N.value),Y=s(()=>{let e=m.value===1?`result`:`results`;return A.value?`${m.value} ${e} in ${A.value}`:`${m.value} ${e}`});async function X(){let e=a.query.q;if(A.value=a.query.kind||null,k.value=a.query.scope===`pages`?`pages`:`kinds`,!e){I++,f.value=[],m.value=0,y.value={},E.value=``,D.value=``,N.value=null,j.value=!1;return}E.value=e,D.value=g(e,k.value);let t=++I;j.value=!0,N.value=null,P.value=!1;try{let e=await x(D.value,{limit:K,offset:0,output:`brief`,kind:A.value});if(t!==I)return;f.value=e.instances||[],m.value=e.total||0,y.value=e.by_kind||{},T.value=e.query_time_ms||0,F=f.value.length}catch(e){if(t!==I)return;N.value=e.message}finally{t===I&&(j.value=!1)}}async function Z(){if(M.value||F>=m.value||!E.value)return;M.value=!0,P.value=!1;let e=I;try{let t=await x(D.value,{limit:K,offset:F,output:`brief`,kind:A.value});if(e!==I)return;let n=t.instances||[];f.value=[...f.value,...n],F+=n.length}catch{P.value=!0}finally{M.value=!1}}return l(()=>[a.query.q,a.query.scope,a.query.kind],X,{immediate:!0}),(r,a)=>{let s=d(`router-link`);return _(),o(`article`,z,[c(`span`,B,p(j.value?`Searching`:``),1),c(`header`,null,[a[1]||=c(`h2`,null,[c(`i`,{class:`iconoir-search`,"aria-hidden":`true`}),S(` Search`)],-1),c(`div`,V,[t(s,{class:`search-syntax`,to:`/doc/search`,title:`Query syntax`},{default:e(()=>[...a[0]||=[c(`i`,{class:`iconoir-help-circle`,"aria-hidden":`true`},null,-1)]]),_:1})])]),L.value?(_(),o(h,{key:1},[q.value?(_(),n(O,{key:0,"by-kind":y.value,selected:A.value},null,8,[`by-kind`,`selected`])):i(``,!0),N.value?(_(),n(w,{key:1,message:N.value},null,8,[`message`])):i(``,!0),!N.value&&f.value.length?(_(),o(`p`,H,[S(p(Y.value)+` `,1),c(`span`,U,p(T.value)+` ms`,1),k.value===`pages`&&D.value!==E.value?(_(),o(`span`,W,[a[2]||=S(` searched as `,-1),c(`code`,null,p(D.value),1)])):i(``,!0)])):i(``,!0),c(`div`,{class:v({stale:J.value})},[f.value.length?(_(),n(C,{key:0,rows:``,instances:f.value,"omit-kind":!!A.value,"page-links":k.value===`pages`,total:m.value,"loading-more":M.value,onLoadMore:Z},null,8,[`instances`,`omit-kind`,`page-links`,`total`,`loading-more`])):i(``,!0),P.value?(_(),o(`p`,G,[a[3]||=S(` Could not load more results. `,-1),c(`button`,{type:`button`,class:`more-retry`,onClick:Z},`Try again`)])):i(``,!0)],2),!j.value&&!N.value&&!f.value.length?(_(),n(R,{key:3,mode:`empty`,query:E.value,scope:k.value},null,8,[`query`,`scope`])):i(``,!0)],64)):(_(),n(R,{key:0,mode:`intro`,scope:k.value},null,8,[`scope`]))])}}},[[`__scopeId`,`data-v-3a63d0fc`]]);export{q as default};