@inkeep/open-knowledge 0.36.0-beta.11 → 0.36.0-beta.12

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 (49) hide show
  1. package/dist/{acp-harness-probe-D5Kqwlf7.mjs → acp-harness-probe-BeJaiUlT.mjs} +2 -2
  2. package/dist/assets/skills/discovery/SKILL.md +1 -1
  3. package/dist/assets/skills/project/SKILL.md +1 -1
  4. package/dist/cli.mjs +6 -6
  5. package/dist/constants-Wi9OQkob.mjs +2 -0
  6. package/dist/index.mjs +1 -1
  7. package/dist/init-BTfMCp4q.mjs +1 -0
  8. package/dist/{init-oCjID8Z4.mjs → init-C7Sx-4Er.mjs} +3 -3
  9. package/dist/{launch-json-removal--p7bQ8IE.mjs → launch-json-removal-Cfe2fv_X.mjs} +2 -2
  10. package/dist/loader-B3hJWwvz.mjs +1 -0
  11. package/dist/{loader-buFA9ZBY.mjs → loader-g77VFPfq.mjs} +2 -2
  12. package/dist/{preview-CzCbt1mj.mjs → preview-5VzUUWop.mjs} +2 -2
  13. package/dist/preview-B42reYt8.mjs +1 -0
  14. package/dist/public/assets/{ActivityModeContent-P15OmL6s.js → ActivityModeContent-Cgqa56C2.js} +1 -1
  15. package/dist/public/assets/{AgentDiffPane-Dpy1RY4U.js → AgentDiffPane-BnvGYsRG.js} +1 -1
  16. package/dist/public/assets/{CodeMirrorPropInput-cKlSkGmr.js → CodeMirrorPropInput-Cx9FW420.js} +2 -2
  17. package/dist/public/assets/{DocumentContext-CqS_KWs0.js → DocumentContext-Dog3N-Wc.js} +17 -17
  18. package/dist/public/assets/{ManagedArtifactProperties-DHmG0CCX.js → ManagedArtifactProperties-67a94DaU.js} +1 -1
  19. package/dist/public/assets/{MermaidDocEditor-D7q92vy6.js → MermaidDocEditor-DH7WRAfL.js} +1 -1
  20. package/dist/public/assets/{PropertyPanel-DX1tPqL7.js → PropertyPanel-BoKsESSi.js} +1 -1
  21. package/dist/public/assets/{SettingsDialogBody-BMhCV7jo.js → SettingsDialogBody-Olkuc1ix.js} +2 -2
  22. package/dist/public/assets/{SourceEditor-CVbvp3o3.js → SourceEditor-yoaSx3d8.js} +1 -1
  23. package/dist/public/assets/{TerminalSessionsHost-BYG1n-zJ.js → TerminalSessionsHost-D500Eh7g.js} +2 -2
  24. package/dist/public/assets/{TerminalWindowApp-DzNPMaMq.js → TerminalWindowApp-aWCNBKLz.js} +1 -1
  25. package/dist/public/assets/{ThreadView-PzaFE6Ks.js → ThreadView-nnZWrgGO.js} +1 -1
  26. package/dist/public/assets/{TimelineDiffPane-BLx0c4cr.js → TimelineDiffPane-B7O4osuT.js} +1 -1
  27. package/dist/public/assets/{auth-state-cache-DPvPs2Ji.js → auth-state-cache-CEBkZrQO.js} +1 -1
  28. package/dist/public/assets/dist-CAKhzFlX.js +124 -0
  29. package/dist/public/assets/{dist-DHw86qAV.js → dist-DZ_OIHsD.js} +1 -1
  30. package/dist/public/assets/index-CSsXSr5h.js +1995 -0
  31. package/dist/public/assets/{selection-context-CUK_VN1_.js → selection-context-DgIDY04o.js} +1 -1
  32. package/dist/public/assets/{src-BaqyUHNn.js → src-gANoUa2-.js} +1 -1
  33. package/dist/public/assets/{typing-burst-detector-BvB_DCnj.js → typing-burst-detector-B_jwquxb.js} +1 -1
  34. package/dist/public/assets/{use-activity-panel-BuSg48eJ.js → use-activity-panel-Ds1FSy22.js} +1 -1
  35. package/dist/public/assets/{use-timeline-entry-diff-Bkp3eEqu.js → use-timeline-entry-diff-DD8d8a6p.js} +1 -1
  36. package/dist/public/index.html +8 -8
  37. package/dist/{repair-launch-json-BlZ-mOP9.mjs → repair-launch-json-BcQlXIql.mjs} +2 -2
  38. package/dist/{repair-mcp-configs-D2Mcl68w.mjs → repair-mcp-configs-CUGI01kV.mjs} +2 -2
  39. package/dist/{src-BYiS5XVn.mjs → src-C14yUeJ-.mjs} +2 -2
  40. package/dist/start-BxbGkNIF.mjs +1 -0
  41. package/dist/{start-CGJaifqV.mjs → start-CHp8K6jR.mjs} +2 -2
  42. package/package.json +4 -4
  43. package/dist/constants-tMAnXNAK.mjs +0 -2
  44. package/dist/init-CPq28CV_.mjs +0 -1
  45. package/dist/loader-C1dATWSR.mjs +0 -1
  46. package/dist/preview-DqKjueCG.mjs +0 -1
  47. package/dist/public/assets/dist-CG58rUCC.js +0 -113
  48. package/dist/public/assets/index-CpudimJ_.js +0 -1995
  49. package/dist/start-BOM31F9x.mjs +0 -1
@@ -1,4 +1,4 @@
1
- import{i as e}from"./chunk-DseTPa7n.js";import{t}from"./jsx-runtime-DyiINK0N.js";import{C as n,E as r,S as i,T as a,gn as o,mn as s,n as c,w as l,x as u}from"./DocumentContext-CqS_KWs0.js";import{t as d}from"./react-JNybMug3.js";import{n as f,r as p}from"./dist-DBENJeML.js";import{t as m}from"./compiler-runtime-dQcBxOhn.js";import{a as h,c as g,s as _}from"./terminal-input-events-CEX9z-EZ.js";import{l as v,n as y,t as b,u as x}from"./createLucideIcon-B5DNg1uu.js";import{d as S}from"./dist-DBJW7SzR.js";import{i as C,n as w,t as T}from"./tooltip-zRf24xaK.js";import{n as E,r as D,t as O}from"./collapsible-LTmyJCqZ.js";import{a as k,c as A,i as j,n as M,o as N,s as P,t as F}from"./dialog-DRODJICP.js";import{_t as I}from"./CodeMirrorPropInput-cKlSkGmr.js";import{t as L}from"./checkbox-DQTC9kSm.js";import{a as R,m as z,r as B,t as V}from"./dropdown-menu-DRE6Cf6z.js";import{t as H}from"./label-JTxG9Ey8.js";import{n as U,t as W}from"./radio-group-DGMMq4Dp.js";import{At as G,Bt as K,Et as q,Ln as J,Mt as ee,R as te,Yr as ne,bt as re,gt as ie,jt as ae,kn as oe,kt as se,nt as ce,ti as le,vr as ue}from"./dist-zc03OoUp.js";import{a as de,l as fe,n as pe,r as me,t as he}from"./EnableSyncConfirmDialog-DtYm7V_O.js";import{t as ge}from"./arrow-up-right-DUrnAxeE.js";import{t as _e}from"./check-CnRZzbNh.js";import{t as ve}from"./chevron-right-BzFyqeC2.js";import{s as ye}from"./prop-types-CBBOToAL.js";import{i as be,o as xe}from"./skill-actions-DzaHqGRg.js";import{i as Se,o as Ce,s as we,u as Te}from"./workspace-paths-d9KyFHx6.js";import{t as Ee}from"./copy-KDLrwpxR.js";import{t as De}from"./download-CL345-2o.js";import{a as Oe,r as ke,s as Ae}from"./open-managed-artifact-tab-CRLFq4-B.js";import{t as je}from"./info-jz24-qK8.js";import{t as Me}from"./loader-circle-DZ77ilW4.js";import{t as Ne}from"./refresh-cw-GU9JlNjj.js";import{t as Pe}from"./trash-2-CArNk5fT.js";import{t as Fe}from"./triangle-alert-COtjZrcH.js";import{t as Ie}from"./x-C4-oii3_.js";import{n as Le}from"./dist-pkKXEO3Q.js";import{t as Re}from"./input-CKzGvkzv.js";import{t as Y}from"./dist-DEkFedhu.js";import{t as ze}from"./parse-api-error-QYXuYti5.js";import{c as Be,o as Ve}from"./documents-events-BTDcCELc.js";import{a as He,m as Ue,s as We}from"./doc-hash-D8EI7kHA.js";import{t as Ge}from"./badge-B-uIQQXR.js";import"./config-provider-pXCSDe7I.js";import{n as Ke}from"./config-context-DOXKMLrN.js";import{t as qe}from"./external-link-CbUrsN1c.js";import{t as Je}from"./use-workspace-CqL9iZdQ.js";import{t as Ye}from"./skeleton-CeeznyYx.js";import{c as Xe,s as Ze,t as Qe}from"./lint-config-client-BcxnEgHO.js";import{n as $e,t as et}from"./clipboard-adapter-CJiewFjG.js";import{t as tt}from"./textarea-C0WUaoe-.js";import{l as nt}from"./skills-api-BOe6s3mN.js";var X=e(d(),1),Z=t(),rt=`Separator`,it=`horizontal`,at=[`horizontal`,`vertical`],ot=X.forwardRef((e,t)=>{let{decorative:n,orientation:r=it,...i}=e,a=st(r)?r:it,o=n?{role:`none`}:{"aria-orientation":a===`vertical`?a:void 0,role:`separator`};return(0,Z.jsx)(S.div,{"data-orientation":a,...o,...i,ref:t})});ot.displayName=rt;function st(e){return at.includes(e)}var ct=ot,lt=b(`cloud-off`,[[`path`,{d:`M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057`,key:`1uxyv8`}],[`path`,{d:`M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78`,key:`99tcn7`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),ut=b(`cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]),dt=b(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),ft=b(`file-plus`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M9 15h6`,key:`cctwl0`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}]]),pt=b(`log-in`,[[`path`,{d:`m10 17 5-5-5-5`,key:`1bsop3`}],[`path`,{d:`M15 12H3`,key:`6jk70r`}],[`path`,{d:`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`,key:`u53s6r`}]]),mt=b(`move-up-right`,[[`path`,{d:`M13 5H19V11`,key:`1n1gyv`}],[`path`,{d:`M19 5L5 19`,key:`72u4yj`}]]),ht=b(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),gt=b(`user-cog`,[[`path`,{d:`M10 15H6a4 4 0 0 0-4 4v2`,key:`1nfge6`}],[`path`,{d:`m14.305 16.53.923-.382`,key:`1itpsq`}],[`path`,{d:`m15.228 13.852-.923-.383`,key:`eplpkm`}],[`path`,{d:`m16.852 12.228-.383-.923`,key:`13v3q0`}],[`path`,{d:`m16.852 17.772-.383.924`,key:`1i8mnm`}],[`path`,{d:`m19.148 12.228.383-.923`,key:`1q8j1v`}],[`path`,{d:`m19.53 18.696-.382-.924`,key:`vk1qj3`}],[`path`,{d:`m20.772 13.852.924-.383`,key:`n880s0`}],[`path`,{d:`m20.772 16.148.924.383`,key:`1g6xey`}],[`circle`,{cx:`18`,cy:`15`,r:`3`,key:`gjjjvw`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),Q=m();function _t(e){let t=(0,Q.c)(12),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={status:`idle`},t[0]=n):n=t[0];let[r,i]=(0,X.useState)(n),[a,o]=(0,X.useState)(0),s,c;t[1]===e?(s=t[2],c=t[3]):(s=()=>{if(e!==null)return Be(()=>{o(xt)})},c=[e],t[1]=e,t[2]=s,t[3]=c),(0,X.useEffect)(s,c);let l;t[4]===e?l=t[5]:(l=()=>{if(e===null){i({status:`idle`});return}let t=!1;i({status:`loading`});let n=e?`?path=${encodeURIComponent(e)}`:``;return fetch(`/api/folder-config${n}`).then(yt).then(e=>{if(!t){if(!e||typeof e!=`object`||!e.folder){i({status:`error`,message:`Server returned an incomplete folder response.`});return}i({status:`ready`,data:{folder:e.folder,frontmatterLocal:e.frontmatter_local??null}})}}).catch(e=>{t||i({status:`error`,message:e instanceof Error?e.message:String(e)})}),()=>{t=!0}},t[4]=e,t[5]=l);let u;t[6]!==e||t[7]!==a?(u=[e,a],t[6]=e,t[7]=a,t[8]=u):u=t[8],(0,X.useEffect)(l,u);let d;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>o(vt),t[9]=d):d=t[9];let f;return t[10]===r?f=t[11]:(f={state:r,refresh:d},t[10]=r,t[11]=f),f}function vt(e){return e+1}async function yt(e){if(!e.ok){let t=await e.json().catch(bt);throw Error(ze(t)??`HTTP ${e.status}`)}return e.json()}function bt(){return null}function xt(e){return e+1}function St(){let e=(0,Q.c)(6),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={status:`idle`},e[0]=t):t=e[0];let[n,r]=(0,X.useState)(t),[i,a]=(0,X.useState)(0),o,s;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>Be(()=>{a(Tt)}),s=[],e[1]=o,e[2]=s):(o=e[1],s=e[2]),(0,X.useEffect)(o,s);let c;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{let e=!1;return r({status:`loading`}),fetch(`/api/templates`).then(Ct).then(t=>{if(e)return;let n=K.safeParse(t);if(!n.success){console.error(`[ok-templates] /api/templates response failed schema validation:`,n.error.issues),r({status:`error`,message:`Server returned an incomplete templates response.`});return}r({status:`ready`,data:n.data.templates})}).catch(t=>{e||r({status:`error`,message:t instanceof Error?t.message:String(t)})}),()=>{e=!0}},e[3]=c):c=e[3];let l;return e[4]===i?l=e[5]:(l=[i],e[4]=i,e[5]=l),(0,X.useEffect)(c,l),n}async function Ct(e){if(!e.ok){let t=await e.json().catch(wt);throw Error(ze(t)??`HTTP ${e.status}`)}return e.json()}function wt(){return null}function Tt(e){return e+1}function Et(e){let t=(0,Q.c)(12),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:n,orientation:i,decorative:a,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=i===void 0?`horizontal`:i,s=a===void 0?!0:a,c;t[5]===n?c=t[6]:(c=x(`shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch`,n),t[5]=n,t[6]=c);let l;return t[7]!==s||t[8]!==o||t[9]!==r||t[10]!==c?(l=(0,Z.jsx)(ct,{"data-slot":`separator`,decorative:s,orientation:o,className:c,...r}),t[7]=s,t[8]=o,t[9]=r,t[10]=c,t[11]=l):l=t[11],l}function Dt(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=x(`group/field-group @container/field-group flex w-full flex-col gap-6 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(`div`,{"data-slot":`field-group`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var Ot=v(`group/field flex w-full gap-2 data-[invalid=true]:text-destructive`,{variants:{orientation:{vertical:`flex-col *:w-full [&>.sr-only]:w-auto`,horizontal:`flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,responsive:`flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`}},defaultVariants:{orientation:`vertical`}});function kt(e){let t=(0,Q.c)(11),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,orientation:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`vertical`:i,o;t[4]!==n||t[5]!==a?(o=x(Ot({orientation:a}),n),t[4]=n,t[5]=a,t[6]=o):o=t[6];let s;return t[7]!==a||t[8]!==r||t[9]!==o?(s=(0,Z.jsx)(`div`,{role:`group`,"data-slot":`field`,"data-orientation":a,className:o,...r}),t[7]=a,t[8]=r,t[9]=o,t[10]=s):s=t[10],s}function At(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=x(`group/field-content flex flex-1 flex-col gap-0.5 leading-snug`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(`div`,{"data-slot":`field-content`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function jt(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=x(`group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10`,`has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(H,{"data-slot":`field-label`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Mt(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=x(`flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(`div`,{"data-slot":`field-title`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Nt(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=x(`text-left text-1sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5`,`last:mt-0 nth-last-2:-mt-1`,`[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(`p`,{"data-slot":`field-description`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Pt(e){let t=(0,Q.c)(15),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,children:n,errors:i,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o;bb0:{if(n){o=n;break bb0}if(!i?.length){o=null;break bb0}let e;t[5]===i?e=t[6]:(e=[...new Map(i.map(It)).values()],t[5]=i,t[6]=e);let r=e;if(r?.length===1){o=r[0]?.message;break bb0}let a;t[7]===r?a=t[8]:(a=(0,Z.jsx)(`ul`,{className:`ml-4 flex list-disc flex-col gap-1`,children:r.map(Ft)}),t[7]=r,t[8]=a),o=a}let s=o;if(!s)return null;let c;t[9]===r?c=t[10]:(c=x(`text-sm font-normal text-destructive`,r),t[9]=r,t[10]=c);let l;return t[11]!==s||t[12]!==a||t[13]!==c?(l=(0,Z.jsx)(`div`,{role:`alert`,"data-slot":`field-error`,className:c,...a,children:s}),t[11]=s,t[12]=a,t[13]=c,t[14]=l):l=t[14],l}function Ft(e){return e?.message&&(0,Z.jsx)(`li`,{children:e.message},e.message)}function It(e){return[e?.message,e]}async function Lt(){try{let e=await fetch(`/api/semantic-status`);return e.ok?await e.json():(console.debug(`[semantic-status] probe returned`,e.status),null)}catch(e){return console.debug(`[semantic-status] probe failed`,e),null}}function Rt(e){let t=(0,Q.c)(16),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let r=n.enabled??!0,[i,a]=(0,X.useState)(null),o;t[2]===r?o=t[3]:(o=function(){r&&Lt().then(e=>{e&&a(e)})},t[2]=r,t[3]=o);let s=o,c;t[4]===s?c=t[5]:(c=()=>{s()},t[4]=s,t[5]=c);let l;t[6]===r?l=t[7]:(l=[r],t[6]=r,t[7]=l),(0,X.useEffect)(c,l);let u;t[8]!==r||t[9]!==s?(u=()=>{if(r)return Ve(e=>{e.includes(`files`)&&s()})},t[8]=r,t[9]=s,t[10]=u):u=t[10];let d;t[11]===r?d=t[12]:(d=[r],t[11]=r,t[12]=d),(0,X.useEffect)(u,d);let f;return t[13]!==s||t[14]!==i?(f={status:i,refresh:s},t[13]=s,t[14]=i,t[15]=f):f=t[15],f}var zt=`github.com`,Bt=new Map;async function Vt(e){try{let t=await e.json(),n=ie.safeParse(t);if(n.success)return n.data.title}catch{}}async function Ht(e,t){return fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t??{})})}async function Ut(e){let t=e?.host??zt,n=await Ht(`/api/local-op/auth/status`,e);if(!n.ok)return{authenticated:!1,host:t,error:await Vt(n)};let r=await n.json(),i=typeof r.host==`string`?r.host:t,a=r.ghAvailable===!0;if(r.authenticated===!0&&typeof r.login==`string`){let e=r.tier===`A`||r.tier===`B`||r.tier===`C`?r.tier:void 0;return{authenticated:!0,host:i,login:r.login,tier:e,name:typeof r.name==`string`?r.name:void 0,email:typeof r.email==`string`?r.email:void 0,ghAvailable:a}}return{authenticated:!1,host:i,error:typeof r.error==`string`?r.error:void 0,ghAvailable:a}}function Wt(e){let t=e?.host??zt,n=Bt.get(t);if(n)return n;let r=Ut(e).finally(()=>{Bt.delete(t)});return Bt.set(t,r),r}function Gt(e){let t=e.split(`
1
+ import{i as e}from"./chunk-DseTPa7n.js";import{t}from"./jsx-runtime-DyiINK0N.js";import{C as n,E as r,S as i,T as a,_n as o,hn as s,n as c,w as l,x as u}from"./DocumentContext-Dog3N-Wc.js";import{t as d}from"./react-JNybMug3.js";import{n as f,r as p}from"./dist-DBENJeML.js";import{t as m}from"./compiler-runtime-dQcBxOhn.js";import{a as h,c as g,s as _}from"./terminal-input-events-CEX9z-EZ.js";import{l as v,n as y,t as b,u as x}from"./createLucideIcon-B5DNg1uu.js";import{d as S}from"./dist-DBJW7SzR.js";import{i as C,n as w,t as T}from"./tooltip-zRf24xaK.js";import{n as E,r as D,t as O}from"./collapsible-LTmyJCqZ.js";import{a as k,c as A,i as j,n as M,o as N,s as P,t as F}from"./dialog-DRODJICP.js";import{_t as I}from"./CodeMirrorPropInput-Cx9FW420.js";import{t as L}from"./checkbox-DQTC9kSm.js";import{a as R,m as z,r as B,t as V}from"./dropdown-menu-DRE6Cf6z.js";import{t as H}from"./label-JTxG9Ey8.js";import{n as U,t as W}from"./radio-group-DGMMq4Dp.js";import{At as G,Bt as K,Et as q,Ln as J,Mt as ee,R as te,Yr as ne,bt as re,gt as ie,jt as ae,kn as oe,kt as se,nt as ce,ti as le,vr as ue}from"./dist-zc03OoUp.js";import{a as de,l as fe,n as pe,r as me,t as he}from"./EnableSyncConfirmDialog-DtYm7V_O.js";import{t as ge}from"./arrow-up-right-DUrnAxeE.js";import{t as _e}from"./check-CnRZzbNh.js";import{t as ve}from"./chevron-right-BzFyqeC2.js";import{s as ye}from"./prop-types-CBBOToAL.js";import{i as be,o as xe}from"./skill-actions-DzaHqGRg.js";import{i as Se,o as Ce,s as we,u as Te}from"./workspace-paths-d9KyFHx6.js";import{t as Ee}from"./copy-KDLrwpxR.js";import{t as De}from"./download-CL345-2o.js";import{a as Oe,r as ke,s as Ae}from"./open-managed-artifact-tab-CRLFq4-B.js";import{t as je}from"./info-jz24-qK8.js";import{t as Me}from"./loader-circle-DZ77ilW4.js";import{t as Ne}from"./refresh-cw-GU9JlNjj.js";import{t as Pe}from"./trash-2-CArNk5fT.js";import{t as Fe}from"./triangle-alert-COtjZrcH.js";import{t as Ie}from"./x-C4-oii3_.js";import{n as Le}from"./dist-pkKXEO3Q.js";import{t as Re}from"./input-CKzGvkzv.js";import{t as Y}from"./dist-DEkFedhu.js";import{t as ze}from"./parse-api-error-QYXuYti5.js";import{c as Be,o as Ve}from"./documents-events-BTDcCELc.js";import{a as He,m as Ue,s as We}from"./doc-hash-D8EI7kHA.js";import{t as Ge}from"./badge-B-uIQQXR.js";import"./config-provider-pXCSDe7I.js";import{n as Ke}from"./config-context-DOXKMLrN.js";import{t as qe}from"./external-link-CbUrsN1c.js";import{t as Je}from"./use-workspace-CqL9iZdQ.js";import{t as Ye}from"./skeleton-CeeznyYx.js";import{c as Xe,s as Ze,t as Qe}from"./lint-config-client-BcxnEgHO.js";import{n as $e,t as et}from"./clipboard-adapter-CJiewFjG.js";import{t as tt}from"./textarea-C0WUaoe-.js";import{l as nt}from"./skills-api-BOe6s3mN.js";var X=e(d(),1),Z=t(),rt=`Separator`,it=`horizontal`,at=[`horizontal`,`vertical`],ot=X.forwardRef((e,t)=>{let{decorative:n,orientation:r=it,...i}=e,a=st(r)?r:it,o=n?{role:`none`}:{"aria-orientation":a===`vertical`?a:void 0,role:`separator`};return(0,Z.jsx)(S.div,{"data-orientation":a,...o,...i,ref:t})});ot.displayName=rt;function st(e){return at.includes(e)}var ct=ot,lt=b(`cloud-off`,[[`path`,{d:`M10.94 5.274A7 7 0 0 1 15.71 10h1.79a4.5 4.5 0 0 1 4.222 6.057`,key:`1uxyv8`}],[`path`,{d:`M18.796 18.81A4.5 4.5 0 0 1 17.5 19H9A7 7 0 0 1 5.79 5.78`,key:`99tcn7`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),ut=b(`cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]),dt=b(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),ft=b(`file-plus`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M9 15h6`,key:`cctwl0`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}]]),pt=b(`log-in`,[[`path`,{d:`m10 17 5-5-5-5`,key:`1bsop3`}],[`path`,{d:`M15 12H3`,key:`6jk70r`}],[`path`,{d:`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`,key:`u53s6r`}]]),mt=b(`move-up-right`,[[`path`,{d:`M13 5H19V11`,key:`1n1gyv`}],[`path`,{d:`M19 5L5 19`,key:`72u4yj`}]]),ht=b(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),gt=b(`user-cog`,[[`path`,{d:`M10 15H6a4 4 0 0 0-4 4v2`,key:`1nfge6`}],[`path`,{d:`m14.305 16.53.923-.382`,key:`1itpsq`}],[`path`,{d:`m15.228 13.852-.923-.383`,key:`eplpkm`}],[`path`,{d:`m16.852 12.228-.383-.923`,key:`13v3q0`}],[`path`,{d:`m16.852 17.772-.383.924`,key:`1i8mnm`}],[`path`,{d:`m19.148 12.228.383-.923`,key:`1q8j1v`}],[`path`,{d:`m19.53 18.696-.382-.924`,key:`vk1qj3`}],[`path`,{d:`m20.772 13.852.924-.383`,key:`n880s0`}],[`path`,{d:`m20.772 16.148.924.383`,key:`1g6xey`}],[`circle`,{cx:`18`,cy:`15`,r:`3`,key:`gjjjvw`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),Q=m();function _t(e){let t=(0,Q.c)(12),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={status:`idle`},t[0]=n):n=t[0];let[r,i]=(0,X.useState)(n),[a,o]=(0,X.useState)(0),s,c;t[1]===e?(s=t[2],c=t[3]):(s=()=>{if(e!==null)return Be(()=>{o(xt)})},c=[e],t[1]=e,t[2]=s,t[3]=c),(0,X.useEffect)(s,c);let l;t[4]===e?l=t[5]:(l=()=>{if(e===null){i({status:`idle`});return}let t=!1;i({status:`loading`});let n=e?`?path=${encodeURIComponent(e)}`:``;return fetch(`/api/folder-config${n}`).then(yt).then(e=>{if(!t){if(!e||typeof e!=`object`||!e.folder){i({status:`error`,message:`Server returned an incomplete folder response.`});return}i({status:`ready`,data:{folder:e.folder,frontmatterLocal:e.frontmatter_local??null}})}}).catch(e=>{t||i({status:`error`,message:e instanceof Error?e.message:String(e)})}),()=>{t=!0}},t[4]=e,t[5]=l);let u;t[6]!==e||t[7]!==a?(u=[e,a],t[6]=e,t[7]=a,t[8]=u):u=t[8],(0,X.useEffect)(l,u);let d;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>o(vt),t[9]=d):d=t[9];let f;return t[10]===r?f=t[11]:(f={state:r,refresh:d},t[10]=r,t[11]=f),f}function vt(e){return e+1}async function yt(e){if(!e.ok){let t=await e.json().catch(bt);throw Error(ze(t)??`HTTP ${e.status}`)}return e.json()}function bt(){return null}function xt(e){return e+1}function St(){let e=(0,Q.c)(6),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={status:`idle`},e[0]=t):t=e[0];let[n,r]=(0,X.useState)(t),[i,a]=(0,X.useState)(0),o,s;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>Be(()=>{a(Tt)}),s=[],e[1]=o,e[2]=s):(o=e[1],s=e[2]),(0,X.useEffect)(o,s);let c;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{let e=!1;return r({status:`loading`}),fetch(`/api/templates`).then(Ct).then(t=>{if(e)return;let n=K.safeParse(t);if(!n.success){console.error(`[ok-templates] /api/templates response failed schema validation:`,n.error.issues),r({status:`error`,message:`Server returned an incomplete templates response.`});return}r({status:`ready`,data:n.data.templates})}).catch(t=>{e||r({status:`error`,message:t instanceof Error?t.message:String(t)})}),()=>{e=!0}},e[3]=c):c=e[3];let l;return e[4]===i?l=e[5]:(l=[i],e[4]=i,e[5]=l),(0,X.useEffect)(c,l),n}async function Ct(e){if(!e.ok){let t=await e.json().catch(wt);throw Error(ze(t)??`HTTP ${e.status}`)}return e.json()}function wt(){return null}function Tt(e){return e+1}function Et(e){let t=(0,Q.c)(12),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:n,orientation:i,decorative:a,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=i===void 0?`horizontal`:i,s=a===void 0?!0:a,c;t[5]===n?c=t[6]:(c=x(`shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch`,n),t[5]=n,t[6]=c);let l;return t[7]!==s||t[8]!==o||t[9]!==r||t[10]!==c?(l=(0,Z.jsx)(ct,{"data-slot":`separator`,decorative:s,orientation:o,className:c,...r}),t[7]=s,t[8]=o,t[9]=r,t[10]=c,t[11]=l):l=t[11],l}function Dt(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=x(`group/field-group @container/field-group flex w-full flex-col gap-6 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(`div`,{"data-slot":`field-group`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var Ot=v(`group/field flex w-full gap-2 data-[invalid=true]:text-destructive`,{variants:{orientation:{vertical:`flex-col *:w-full [&>.sr-only]:w-auto`,horizontal:`flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,responsive:`flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`}},defaultVariants:{orientation:`vertical`}});function kt(e){let t=(0,Q.c)(11),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,orientation:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`vertical`:i,o;t[4]!==n||t[5]!==a?(o=x(Ot({orientation:a}),n),t[4]=n,t[5]=a,t[6]=o):o=t[6];let s;return t[7]!==a||t[8]!==r||t[9]!==o?(s=(0,Z.jsx)(`div`,{role:`group`,"data-slot":`field`,"data-orientation":a,className:o,...r}),t[7]=a,t[8]=r,t[9]=o,t[10]=s):s=t[10],s}function At(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=x(`group/field-content flex flex-1 flex-col gap-0.5 leading-snug`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(`div`,{"data-slot":`field-content`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function jt(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=x(`group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10`,`has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(H,{"data-slot":`field-label`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Mt(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=x(`flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(`div`,{"data-slot":`field-title`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Nt(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=x(`text-left text-1sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5`,`last:mt-0 nth-last-2:-mt-1`,`[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(`p`,{"data-slot":`field-description`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Pt(e){let t=(0,Q.c)(15),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,children:n,errors:i,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o;bb0:{if(n){o=n;break bb0}if(!i?.length){o=null;break bb0}let e;t[5]===i?e=t[6]:(e=[...new Map(i.map(It)).values()],t[5]=i,t[6]=e);let r=e;if(r?.length===1){o=r[0]?.message;break bb0}let a;t[7]===r?a=t[8]:(a=(0,Z.jsx)(`ul`,{className:`ml-4 flex list-disc flex-col gap-1`,children:r.map(Ft)}),t[7]=r,t[8]=a),o=a}let s=o;if(!s)return null;let c;t[9]===r?c=t[10]:(c=x(`text-sm font-normal text-destructive`,r),t[9]=r,t[10]=c);let l;return t[11]!==s||t[12]!==a||t[13]!==c?(l=(0,Z.jsx)(`div`,{role:`alert`,"data-slot":`field-error`,className:c,...a,children:s}),t[11]=s,t[12]=a,t[13]=c,t[14]=l):l=t[14],l}function Ft(e){return e?.message&&(0,Z.jsx)(`li`,{children:e.message},e.message)}function It(e){return[e?.message,e]}async function Lt(){try{let e=await fetch(`/api/semantic-status`);return e.ok?await e.json():(console.debug(`[semantic-status] probe returned`,e.status),null)}catch(e){return console.debug(`[semantic-status] probe failed`,e),null}}function Rt(e){let t=(0,Q.c)(16),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let r=n.enabled??!0,[i,a]=(0,X.useState)(null),o;t[2]===r?o=t[3]:(o=function(){r&&Lt().then(e=>{e&&a(e)})},t[2]=r,t[3]=o);let s=o,c;t[4]===s?c=t[5]:(c=()=>{s()},t[4]=s,t[5]=c);let l;t[6]===r?l=t[7]:(l=[r],t[6]=r,t[7]=l),(0,X.useEffect)(c,l);let u;t[8]!==r||t[9]!==s?(u=()=>{if(r)return Ve(e=>{e.includes(`files`)&&s()})},t[8]=r,t[9]=s,t[10]=u):u=t[10];let d;t[11]===r?d=t[12]:(d=[r],t[11]=r,t[12]=d),(0,X.useEffect)(u,d);let f;return t[13]!==s||t[14]!==i?(f={status:i,refresh:s},t[13]=s,t[14]=i,t[15]=f):f=t[15],f}var zt=`github.com`,Bt=new Map;async function Vt(e){try{let t=await e.json(),n=ie.safeParse(t);if(n.success)return n.data.title}catch{}}async function Ht(e,t){return fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t??{})})}async function Ut(e){let t=e?.host??zt,n=await Ht(`/api/local-op/auth/status`,e);if(!n.ok)return{authenticated:!1,host:t,error:await Vt(n)};let r=await n.json(),i=typeof r.host==`string`?r.host:t,a=r.ghAvailable===!0;if(r.authenticated===!0&&typeof r.login==`string`){let e=r.tier===`A`||r.tier===`B`||r.tier===`C`?r.tier:void 0;return{authenticated:!0,host:i,login:r.login,tier:e,name:typeof r.name==`string`?r.name:void 0,email:typeof r.email==`string`?r.email:void 0,ghAvailable:a}}return{authenticated:!1,host:i,error:typeof r.error==`string`?r.error:void 0,ghAvailable:a}}function Wt(e){let t=e?.host??zt,n=Bt.get(t);if(n)return n;let r=Ut(e).finally(()=>{Bt.delete(t)});return Bt.set(t,r),r}function Gt(e){let t=e.split(`
2
2
  `);for(let e=t.length-1;e>=0;e--){let n=t[e]?.trim();if(n)try{let e=JSON.parse(n);if(e&&typeof e==`object`)return e}catch{}}return null}function Kt(){return{status:Wt,async repos(e){let t=e?.host??`github.com`,n=await Ht(`/api/local-op/auth/repos`,e);if(!n.ok)return{ok:!1,error:await Vt(n)??`Failed to fetch repositories`};let r=Gt(await n.text());if(r&&r.type===`error`&&r.problem&&typeof r.problem==`object`){let e=r.problem;return{ok:!1,error:e.detail||e.title||`Failed to fetch repositories`}}if(!r||!Array.isArray(r.repos))return{ok:!1,error:`Failed to fetch repositories`};let i=[];for(let e of r.repos){let t=e;typeof t?.full_name==`string`&&typeof t.clone_url==`string`&&i.push({full_name:t.full_name,clone_url:t.clone_url,private:t.private===!0})}return{ok:!0,host:typeof r.host==`string`?r.host:t,repos:i}},async signout(e){let t=await Ht(`/api/local-op/auth/signout`,e);return t.ok?{ok:!0}:{ok:!1,error:await Vt(t)}}}}function qt(e){return{status:t=>e.localOp.authStatus(t),repos:t=>e.localOp.authRepos(t)}}async function Jt(e,t){let n=e.getReader(),r=new TextDecoder,i=``;for(;;){let{done:e,value:a}=await n.read();if(e)return i+=r.decode(),!!(i.trim()&&t(i)===`terminal`);i+=r.decode(a,{stream:!0});let o=i.split(`
3
3
  `);i=o.pop()??``;for(let e of o)if(e.trim()&&t(e)===`terminal`)return!0}}function Yt(e){let t=[],n=[],r=new AbortController,i=!1,a=()=>{for(let e of n.splice(0))e(null)};return e(e=>{i||(n.length>0?n.shift()?.(e):t.push(e),(e.type===`complete`||e.type===`error`)&&(i=!0,r.abort(),a()))},r.signal),{events:{[Symbol.asyncIterator](){return{async next(){if(t.length>0){let e=t.shift();return e===void 0?{value:void 0,done:!0}:{value:e,done:!1}}return i?{value:void 0,done:!0}:new Promise(e=>{n.push(t=>{e(t===null?{value:void 0,done:!0}:{value:t,done:!1})})})}}}},cancel:()=>{i||(i=!0,r.abort(),a())}}}function Xt(e,t){return Yt((n,r)=>{(async()=>{try{let i=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t),signal:r});if(!i.ok){let e=`Failed to start sign-in — try again`;try{let t=ie.safeParse(await i.json());t.success&&(e=t.data.title)}catch{}n({type:`error`,message:e});return}if(!i.body){n({type:`error`,message:`Failed to start sign-in — try again`});return}!await Jt(i.body,e=>{let t;try{t=JSON.parse(e)}catch{return console.warn(`[auth-transport] Dropped unparseable NDJSON line:`,e.slice(0,100)),`continue`}if(t&&typeof t==`object`&&t.type===`error`&&`problem`in t){let e=t.problem;return n({type:`error`,message:e?.detail||e?.title||`Unknown error`}),`terminal`}let r=t;return n(r),r.type===`complete`||r.type===`error`?`terminal`:`continue`})&&!r.aborted&&n({type:`error`,message:`Sign-in stream ended without confirmation — please try again`})}catch(e){if(e instanceof Error&&e.name===`AbortError`)return;n({type:`error`,message:`Connection error — try again`})}})()})}function Zt(){return{start(){return Xt(`/api/local-op/auth/login`,{json:!0})},ghLogin(e){return Xt(`/api/local-op/auth/gh-login`,{host:e,json:!0})},async pat(e,t){try{let n=await fetch(`/api/local-op/auth/pat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({host:e,token:t})});if(n.ok){let e=await n.json();return{ok:!0,login:typeof e.login==`string`?e.login:``}}let r=`Failed to store the token — try again`;try{let e=ie.safeParse(await n.json());e.success&&(r=e.data.detail||e.data.title)}catch{}return{ok:!1,error:r}}catch{return{ok:!1,error:`Connection error — try again`}}}}}function Qt(e){return{start(){return e.localOp.auth.start()}}}async function $t(e){try{await navigator.clipboard.writeText(e)}catch{}}var en=120*1e3;function tn(e){let t=(0,Q.c)(25),{onSuccess:n,startFlow:r}=e,{_:i}=p(),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(`https://github.com/login/device`),[l,u]=(0,X.useState)(!1),[d,m]=(0,X.useState)(null),[h,g]=(0,X.useState)(en),_=(0,X.useRef)(null),v=(0,X.useRef)(null),b;t[0]!==i||t[1]!==n||t[2]!==r?(b=async function(){m(null);try{let e=r();_.current=e.cancel;let t=e.events[Symbol.asyncIterator](),a=!1,s=await t.next();for(;!s.done;){let e=s.value;if(e.type===`verification`)o(e.user_code),c(e.verification_uri),g(e.expires_in*1e3),$t(e.user_code).then(()=>{u(!0),setTimeout(()=>u(!1),2e3)});else if(e.type===`complete`){a=!0,n({login:e.login,name:e.name,email:e.email,avatarUrl:e.avatarUrl});break}else if(e.type===`error`){a=!0,m(e.message);break}s=await t.next()}a||m(i({id:`DskIkK`}))}catch(e){let t=e;t instanceof Error&&t.name!==`AbortError`&&m(i({id:`Q5fqMz`}))}},t[0]=i,t[1]=n,t[2]=r,t[3]=b):b=t[3];let x=b,S;t[4]===x?S=t[5]:(S=()=>{let e=!1;return queueMicrotask(()=>{e||x()}),()=>{e=!0,_.current?.(),_.current=null,v.current&&clearInterval(v.current)}},t[4]=x,t[5]=S);let C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=[],t[6]=C):C=t[6],(0,X.useEffect)(S,C);let w,T;t[7]!==i||t[8]!==a?(w=()=>{if(!a)return;let e=Date.now();return v.current=setInterval(()=>{let t=en-(Date.now()-e);t<=0?(g(0),v.current&&clearInterval(v.current),m(i({id:`ve8vEM`}))):g(t)},1e3),()=>{v.current&&clearInterval(v.current)}},T=[a,i],t[7]=i,t[8]=a,t[9]=w,t[10]=T):(w=t[9],T=t[10]),(0,X.useEffect)(w,T);let E=Math.floor(h/6e4),D=Math.floor(h%6e4/1e3),O;t[11]===D?O=t[12]:(O=D.toString().padStart(2,`0`),t[11]=D,t[12]=O);let k=`${E}:${O}`,A;t[13]!==i||t[14]!==l||t[15]!==d||t[16]!==k||t[17]!==a||t[18]!==s?(A=a?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:(0,Z.jsx)(f,{id:`eVPynQ`,values:{verificationUri:s},components:{0:(0,Z.jsx)(`a`,{href:s,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>qe(e,s),onAuxClick:e=>qe(e,s),className:`inline-flex items-center gap-0.5 text-foreground hover:text-primary hover:underline`}),1:(0,Z.jsx)(`span`,{}),2:(0,Z.jsx)(ge,{className:`inline size-3.5`,"aria-hidden":!0})}})}),(0,Z.jsxs)(y,{type:`button`,variant:`outline`,"aria-label":i({id:`nCzR-G`,values:{userCode:a}}),onClick:()=>void $t(a).then(()=>{u(!0),setTimeout(()=>u(!1),2e3)}),className:`relative h-auto w-full justify-center rounded-md bg-muted px-12 py-3 hover:bg-muted/80`,children:[(0,Z.jsx)(`code`,{className:`font-mono text-2xl font-bold tracking-widest`,children:a}),(0,Z.jsx)(`span`,{className:`absolute right-3 text-muted-foreground`,"aria-hidden":`true`,children:l?(0,Z.jsx)(_e,{className:`size-4`}):(0,Z.jsx)(Ee,{className:`size-4`})})]}),(0,Z.jsx)(`span`,{role:`status`,"aria-live":`polite`,className:`sr-only`,children:l?(0,Z.jsx)(f,{id:`80c4-P`}):null}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-muted-foreground`,children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`size-1.5 rounded-full bg-amber-500 animate-pulse`}),(0,Z.jsx)(f,{id:`5y_9lO`})]}),(0,Z.jsx)(`span`,{children:(0,Z.jsx)(f,{id:`gYz2ep`,values:{timeLabel:k}})})]})]}):(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-6 text-sm text-muted-foreground`,children:d?null:(0,Z.jsx)(f,{id:`aWlJai`})}),t[13]=i,t[14]=l,t[15]=d,t[16]=k,t[17]=a,t[18]=s,t[19]=A):A=t[19];let j;t[20]===d?j=t[21]:(j=d&&(0,Z.jsx)(`p`,{className:`text-1sm text-destructive`,children:d}),t[20]=d,t[21]=j);let M;return t[22]!==A||t[23]!==j?(M=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[A,j]}),t[22]=A,t[23]=j,t[24]=M):M=t[24],M}function nn(e){let t=(0,Q.c)(30),{login:n,name:r,onNameChange:i,email:a,onEmailChange:o}=e,{_:s}=p(),c;t[0]===n?c=t[1]:(c=(0,Z.jsx)(`p`,{className:`text-sm font-medium`,children:(0,Z.jsx)(f,{id:`E_tNGD`,values:{login:n}})}),t[0]=n,t[1]=c);let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsx)(`p`,{className:`text-1sm text-muted-foreground`,children:(0,Z.jsx)(f,{id:`gp3I7-`})}),t[2]=l):l=t[2];let u;t[3]===s?u=t[4]:(u=s({id:`6YtxFj`}),t[3]=s,t[4]=u);let d;t[5]!==s||t[6]!==n?(d=s({id:`J2Mv98`,values:{login:n}}),t[5]=s,t[6]=n,t[7]=d):d=t[7];let m;t[8]===i?m=t[9]:(m=e=>i(e.target.value),t[8]=i,t[9]=m);let h;t[10]!==r||t[11]!==u||t[12]!==d||t[13]!==m?(h=(0,Z.jsx)(Re,{"aria-label":u,placeholder:d,value:r,onChange:m}),t[10]=r,t[11]=u,t[12]=d,t[13]=m,t[14]=h):h=t[14];let g;t[15]===s?g=t[16]:(g=s({id:`O3oNi5`}),t[15]=s,t[16]=g);let _;t[17]===s?_=t[18]:(_=s({id:`O3oNi5`}),t[17]=s,t[18]=_);let v;t[19]===o?v=t[20]:(v=e=>o(e.target.value),t[19]=o,t[20]=v);let y;t[21]!==a||t[22]!==g||t[23]!==_||t[24]!==v?(y=(0,Z.jsx)(Re,{type:`email`,"aria-label":g,placeholder:_,value:a,onChange:v}),t[21]=a,t[22]=g,t[23]=_,t[24]=v,t[25]=y):y=t[25];let b;return t[26]!==c||t[27]!==y||t[28]!==h?(b=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[c,l,h,y]}),t[26]=c,t[27]=y,t[28]=h,t[29]=b):b=t[29],b}function rn(e){let t=(0,Q.c)(37),{host:n,token:r,onTokenChange:i,error:a,onSubmit:o,showGhOption:s,onGhSignIn:c}=e,{_:l}=p(),u=`https://${n}/settings/tokens/new?scopes=repo,read:user&description=OpenKnowledge`,d;t[0]!==n||t[1]!==c||t[2]!==s?(d=s?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(y,{type:`button`,onClick:c,children:(0,Z.jsx)(f,{id:`_SDGzH`})}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 text-xs text-muted-foreground`,children:[(0,Z.jsx)(`span`,{className:`h-px flex-1 bg-border`}),(0,Z.jsx)(f,{id:`8L0EPw`}),(0,Z.jsx)(`span`,{className:`h-px flex-1 bg-border`})]})]}):(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:(0,Z.jsx)(f,{id:`8k6INX`,values:{host:n},components:{0:(0,Z.jsx)(`span`,{className:`font-medium text-foreground`})}})}),t[0]=n,t[1]=c,t[2]=s,t[3]=d):d=t[3];let m,h;t[4]===u?(m=t[5],h=t[6]):(m=e=>qe(e,u),h=e=>qe(e,u),t[4]=u,t[5]=m,t[6]=h);let g;t[7]===n?g=t[8]:(g=(0,Z.jsx)(f,{id:`6hYjww`,values:{host:n}}),t[7]=n,t[8]=g);let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,Z.jsx)(ge,{className:`inline size-3.5`,"aria-hidden":!0}),t[9]=_):_=t[9];let v;t[10]!==u||t[11]!==m||t[12]!==h||t[13]!==g?(v=(0,Z.jsxs)(`a`,{href:u,target:`_blank`,rel:`noopener noreferrer`,onClick:m,onAuxClick:h,className:`inline-flex w-fit items-center gap-0.5 text-sm text-foreground hover:text-primary hover:underline`,children:[g,_]}),t[10]=u,t[11]=m,t[12]=h,t[13]=g,t[14]=v):v=t[14];let b;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:(0,Z.jsx)(f,{id:`Xg-Ntj`})}),t[15]=b):b=t[15];let x;t[16]===l?x=t[17]:(x=l({id:`p2LEhJ`}),t[16]=l,t[17]=x);let S;t[18]===i?S=t[19]:(S=e=>i(e.target.value),t[18]=i,t[19]=S);let C;t[20]===o?C=t[21]:(C=e=>{e.key===`Enter`&&o()},t[20]=o,t[21]=C);let w;t[22]!==C||t[23]!==x||t[24]!==S||t[25]!==r?(w=(0,Z.jsx)(Re,{type:`password`,"aria-label":x,placeholder:`ghp_`,value:r,onChange:S,onKeyDown:C}),t[22]=C,t[23]=x,t[24]=S,t[25]=r,t[26]=w):w=t[26];let T;t[27]===a?T=t[28]:(T=a&&(0,Z.jsx)(`p`,{className:`text-1sm text-destructive`,children:a}),t[27]=a,t[28]=T);let E;t[29]===s?E=t[30]:(E=!s&&(0,Z.jsxs)(`div`,{className:`mt-1 rounded-md border border-border/60 bg-muted/40 p-3 text-sm text-muted-foreground`,children:[(0,Z.jsx)(`p`,{children:(0,Z.jsx)(f,{id:`qX-ABr`})}),(0,Z.jsxs)(`ol`,{className:`mt-1.5 list-decimal space-y-0.5 pl-5`,children:[(0,Z.jsx)(`li`,{children:(0,Z.jsx)(f,{id:`jxtXZI`})}),(0,Z.jsx)(`li`,{children:(0,Z.jsx)(f,{id:`9Vh9Jf`})})]})]}),t[29]=s,t[30]=E);let D;return t[31]!==d||t[32]!==w||t[33]!==T||t[34]!==E||t[35]!==v?(D=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[d,v,b,w,T,E]}),t[31]=d,t[32]=w,t[33]=T,t[34]=E,t[35]=v,t[36]=D):D=t[36],D}var an=1e4;function on(e){let t=(0,Q.c)(92),{open:n,onOpenChange:r,onSuccess:i,identityPrompt:a,reauth:o,transport:s,queryTransport:c,host:l,ghAvailable:u}=e,{_:d}=p(),m;t[0]===s?m=t[1]:(m=s??Zt(),t[0]=s,t[1]=m);let h=m,g;t[2]===c?g=t[3]:(g=c??Kt(),t[2]=c,t[3]=g);let _=g,[v,b]=(0,X.useState)(`auth`),[x,S]=(0,X.useState)(null),[C,w]=(0,X.useState)(``),[T,E]=(0,X.useState)(``),[D,O]=(0,X.useState)(``),[k,I]=(0,X.useState)(null),[L,R]=(0,X.useState)(!1),[z,B]=(0,X.useState)(void 0),[V,H]=(0,X.useState)(void 0),U=l??z,W=!!U&&U!==`github.com`&&!!(u??V)&&typeof h.ghLogin==`function`,G=!a&&l===void 0,K,q;t[4]!==l||t[5]!==a||t[6]!==G||t[7]!==n?(K=()=>{n&&(S(null),w(``),E(``),O(``),I(null),R(!1),B(void 0),H(void 0),b(a||G?`checking`:l&&l!==`github.com`?`pat`:`auth`))},q=[n,a,l,G],t[4]=l,t[5]=a,t[6]=G,t[7]=n,t[8]=K,t[9]=q):(K=t[8],q=t[9]),(0,X.useLayoutEffect)(K,q);let J;t[10]!==a||t[11]!==n||t[12]!==_?(J=()=>{if(!n||!a)return;let e=!1,t=t=>{e||(e=!0,b(t))},r=setTimeout(()=>t(`auth`),an);return _.status().then(n=>{e||(n.authenticated?(S({login:n.login,name:n.name,email:n.email}),w(n.name??``),E(n.email??``),t(`identity`)):t(`auth`))}).catch(()=>{t(`auth`)}),()=>{e=!0,clearTimeout(r)}},t[10]=a,t[11]=n,t[12]=_,t[13]=J):J=t[13];let ee;t[14]!==a||t[15]!==n?(ee=[n,a],t[14]=a,t[15]=n,t[16]=ee):ee=t[16],(0,X.useEffect)(J,ee);let te;t[17]!==G||t[18]!==n||t[19]!==_?(te=()=>{if(!n||!G)return;let e=!1,t=t=>{e||(e=!0,b(t))},r=setTimeout(()=>t(`auth`),an);return _.status().then(n=>{if(e)return;let r=!!n.host&&n.host!==`github.com`;B(n.host),H(n.ghAvailable),t(r?`pat`:`auth`)}).catch(()=>{t(`auth`)}),()=>{e=!0,clearTimeout(r)}},t[17]=G,t[18]=n,t[19]=_,t[20]=te):te=t[20];let ne;t[21]!==G||t[22]!==n?(ne=[n,G],t[21]=G,t[22]=n,t[23]=ne):ne=t[23],(0,X.useEffect)(te,ne);let re;t[24]!==d||t[25]!==a||t[26]!==r||t[27]!==i?(re=function(e){if(S(e),a)w(e.name??``),E(e.email??``),b(`identity`);else{b(`done`),i?.(e),r(!1);let t=e.login;Le.success(d(t?{id:`E_tNGD`,values:{login:t}}:{id:`cgl-gn`}))}},t[24]=d,t[25]=a,t[26]=r,t[27]=i,t[28]=re):re=t[28];let ie=re,ae;t[29]!==d||t[30]!==U||t[31]!==ie||t[32]!==L||t[33]!==D||t[34]!==h?(ae=async function(){let e=D.trim();if(!e||!U||L)return;if(!h.pat){I(d({id:`iMYFJM`}));return}R(!0),I(null);let t=await h.pat(U,e);R(!1),t.ok?ie({login:t.login??``}):I(t.error??d({id:`sNeKjP`}))},t[29]=d,t[30]=U,t[31]=ie,t[32]=L,t[33]=D,t[34]=h,t[35]=ae):ae=t[35];let oe=ae,se;t[36]!==d||t[37]!==x||t[38]!==r||t[39]!==i?(se=function(e,t){fetch(`/api/local-op/auth/set-identity`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:e,email:t})}).catch(sn);let n={...x??{login:``},name:e,email:t};b(`done`),i?.(n),r(!1);let a=n.login;Le.success(d(a?{id:`E_tNGD`,values:{login:a}}:{id:`cgl-gn`}))},t[36]=d,t[37]=x,t[38]=r,t[39]=i,t[40]=se):se=t[40];let ce=se,le;t[41]!==d||t[42]!==x||t[43]!==r||t[44]!==i?(le=function(){if(!x)return;b(`done`),i?.(x),r(!1);let e=x.login;Le.success(d(e?{id:`E_tNGD`,values:{login:e}}:{id:`cgl-gn`}))},t[41]=d,t[42]=x,t[43]=r,t[44]=i,t[45]=le):le=t[45];let ue=le,de;t[46]===r?de=t[47]:(de=function(){r(!1)},t[46]=r,t[47]=de);let fe=de,pe;t[48]!==a||t[49]!==o||t[50]!==v?(pe=(0,Z.jsx)(P,{children:(0,Z.jsx)(A,{children:o&&(v===`pat`||v===`gh-device`)?(0,Z.jsx)(f,{id:`DUWgfT`}):o?(0,Z.jsx)(f,{id:`X8kjQX`}):v===`pat`||v===`gh-device`?(0,Z.jsx)(f,{id:`tzZ6ha`}):a&&v!==`auth`?(0,Z.jsx)(f,{id:`29XZXN`}):(0,Z.jsx)(f,{id:`3jod3l`})})}),t[48]=a,t[49]=o,t[50]=v,t[51]=pe):pe=t[51];let me;t[52]===v?me=t[53]:(me=v===`checking`&&(0,Z.jsx)(M,{children:(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-6 text-sm text-muted-foreground`,children:(0,Z.jsx)(f,{id:`gBbxn_`})})}),t[52]=v,t[53]=me);let he;t[54]!==ie||t[55]!==fe||t[56]!==h||t[57]!==v?(he=v===`auth`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(M,{children:(0,Z.jsx)(tn,{onSuccess:ie,startFlow:()=>h.start()})}),(0,Z.jsx)(N,{children:(0,Z.jsx)(y,{variant:`outline`,className:`font-mono uppercase`,onClick:fe,children:(0,Z.jsx)(f,{id:`dEgA5A`})})})]}),t[54]=ie,t[55]=fe,t[56]=h,t[57]=v,t[58]=he):he=t[58];let ge;t[59]!==W||t[60]!==U||t[61]!==fe||t[62]!==oe||t[63]!==k||t[64]!==L||t[65]!==D||t[66]!==v?(ge=v===`pat`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(M,{children:(0,Z.jsx)(rn,{host:U??``,token:D,onTokenChange:O,error:k,onSubmit:oe,showGhOption:W,onGhSignIn:()=>b(`gh-device`)})}),(0,Z.jsxs)(N,{children:[(0,Z.jsx)(y,{variant:`outline`,className:`font-mono uppercase`,onClick:fe,children:(0,Z.jsx)(f,{id:`dEgA5A`})}),(0,Z.jsx)(y,{onClick:oe,disabled:!D.trim()||L,children:L?(0,Z.jsx)(f,{id:`9zb2WA`}):(0,Z.jsx)(f,{id:`iSLIjg`})})]})]}),t[59]=W,t[60]=U,t[61]=fe,t[62]=oe,t[63]=k,t[64]=L,t[65]=D,t[66]=v,t[67]=ge):ge=t[67];let _e;t[68]!==U||t[69]!==ie||t[70]!==fe||t[71]!==h||t[72]!==v?(_e=v===`gh-device`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(M,{children:(0,Z.jsx)(tn,{onSuccess:ie,startFlow:()=>h.ghLogin?.(U??``)??h.start()})}),(0,Z.jsxs)(N,{children:[(0,Z.jsx)(y,{variant:`ghost`,onClick:()=>b(`pat`),children:(0,Z.jsx)(f,{id:`hLKfZe`})}),(0,Z.jsx)(y,{variant:`outline`,className:`font-mono uppercase`,onClick:fe,children:(0,Z.jsx)(f,{id:`dEgA5A`})})]})]}),t[68]=U,t[69]=ie,t[70]=fe,t[71]=h,t[72]=v,t[73]=_e):_e=t[73];let ve;t[74]!==x||t[75]!==ce||t[76]!==ue||t[77]!==T||t[78]!==C||t[79]!==v?(ve=v===`identity`&&x&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(M,{children:(0,Z.jsx)(nn,{login:x.login,name:C,onNameChange:w,email:T,onEmailChange:E})}),(0,Z.jsxs)(N,{children:[(0,Z.jsx)(y,{variant:`ghost`,onClick:ue,children:(0,Z.jsx)(f,{id:`6Uau97`})}),(0,Z.jsx)(y,{onClick:()=>ce(C.trim(),T.trim()),disabled:!C.trim()||!T.trim(),children:(0,Z.jsx)(f,{id:`tfDRzk`})})]})]}),t[74]=x,t[75]=ce,t[76]=ue,t[77]=T,t[78]=C,t[79]=v,t[80]=ve):ve=t[80];let ye;t[81]!==pe||t[82]!==me||t[83]!==he||t[84]!==ge||t[85]!==_e||t[86]!==ve?(ye=(0,Z.jsxs)(j,{className:`sm:max-w-md`,children:[pe,me,he,ge,_e,ve]}),t[81]=pe,t[82]=me,t[83]=he,t[84]=ge,t[85]=_e,t[86]=ve,t[87]=ye):ye=t[87];let be;return t[88]!==r||t[89]!==n||t[90]!==ye?(be=(0,Z.jsx)(F,{open:n,onOpenChange:r,children:ye}),t[88]=r,t[89]=n,t[90]=ye,t[91]=be):be=t[91],be}function sn(){}function cn(e){let t=(0,Q.c)(16),{value:n,onChange:r,disabled:i,placeholder:a,rows:o}=e,s=i===void 0?!1:i,c=o===void 0?12:o,l=(0,X.useId)(),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsx)(f,{id:`3o3tur`}),t[0]=u):u=t[0];let d;t[1]===l?d=t[2]:(d=(0,Z.jsx)(jt,{htmlFor:l,children:u}),t[1]=l,t[2]=d);let p;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Z.jsx)(Nt,{children:(0,Z.jsx)(f,{id:`5gr_ev`,values:{dateToken:`{{date}}`,userToken:`{{user}}`},components:{0:(0,Z.jsx)(`code`,{className:`font-mono`}),1:(0,Z.jsx)(`code`,{className:`font-mono`})}})}),t[3]=p):p=t[3];let m;t[4]===r?m=t[5]:(m=e=>r(e.target.value),t[4]=r,t[5]=m);let h;t[6]!==s||t[7]!==l||t[8]!==a||t[9]!==c||t[10]!==m||t[11]!==n?(h=(0,Z.jsx)(tt,{id:l,value:n,onChange:m,disabled:s,rows:c,spellCheck:!1,placeholder:a,className:`font-mono text-xs leading-relaxed min-h-72`}),t[6]=s,t[7]=l,t[8]=a,t[9]=c,t[10]=m,t[11]=n,t[12]=h):h=t[12];let g;return t[13]!==d||t[14]!==h?(g=(0,Z.jsxs)(kt,{children:[d,p,h]}),t[13]=d,t[14]=h,t[15]=g):g=t[15],g}var ln=/^[A-Za-z0-9_-]+$/;function un(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)}function dn(e){let t={},n=e.title.trim();n&&(t.title=n);let r=e.description.trim();return r&&(t.description=r),t}var fn=0;function pn(){return fn+=1,`prop-${fn}`}function mn(e){let{frontmatter:t,body:n}=ne(e);if(t===``)return{type:``,properties:[],markdown:e};let r=[];for(let e of le(t).split(`
4
4
  `)){if(e.trim()===``)continue;let t=e.indexOf(`:`);if((/^\s/.test(e)||t===-1)&&r.length>0){let t=r[r.length-1];t&&(t.value+=`\n${e}`);continue}t!==-1&&r.push({key:e.slice(0,t).trim(),value:e.slice(t+1).replace(/^ /,``)})}let i=``,a=[];for(let e of r){if(e.key===`type`&&i===``){i=e.value.trim();continue}a.push({id:pn(),key:e.key,value:e.value})}return{type:i,properties:a,markdown:n}}function hn(e){let t=[],n=e.type.trim();n&&t.push(`type: ${n}`);for(let n of e.properties){let e=n.key.trim();e===``||e===`type`||t.push(n.value===``?`${e}:`:`${e}: ${n.value}`)}if(t.length===0)return e.markdown.replace(/^\n+/,``);let r=e.markdown.startsWith(`
@@ -0,0 +1,124 @@
1
+ import{MESSAGE_OPS as e,PARTICIPANT_TYPES as t}from"./dist-CJlHyj0Z.js";function n(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function r(e,t){let r=new Map,i=new Map,a=new Map,o=[],s=[...e.querySelectorAll(`g.node`)],c=new Set;for(let e of t.nodes){let t=RegExp(`[-_]${n(e.id)}[-_]\\d+$`),i=s.find(e=>!c.has(e)&&t.test(e.id));i&&(r.set(e.entityId,i),c.add(i),i.setAttribute(`data-mw-entity`,e.entityId))}let l=t.nodes.filter(e=>!r.has(e.entityId)),u=s.filter(e=>!c.has(e));if(l.length===u.length)l.forEach((e,t)=>{r.set(e.entityId,u[t]),u[t].setAttribute(`data-mw-entity`,e.entityId)});else for(let e of l)o.push(e.entityId);let d=[...e.querySelectorAll(`.edgePaths > path, path.flowchart-link`)],f=new Set;for(let e of t.edges){let t=RegExp(`^L[-_]${n(e.source)}[-_]${n(e.target)}[-_]\\d+`),r=d.find(e=>!f.has(e)&&t.test(e.id));r&&(i.set(e.entityId,r),f.add(r),r.setAttribute(`data-mw-entity`,e.entityId))}let p=t.edges.filter(e=>!i.has(e.entityId)),m=d.filter(e=>!f.has(e));if(p.length===m.length)p.forEach((e,t)=>{i.set(e.entityId,m[t]),m[t].setAttribute(`data-mw-entity`,e.entityId)});else for(let e of p)o.push(e.entityId);for(let n of t.subgraphs){let t=[...e.querySelectorAll(`g.cluster`)].find(e=>e.id===n.id||e.id.includes(n.id)||e.querySelector(`.cluster-label`)?.textContent?.trim()===(n.title??n.id));t&&!t.hasAttribute(`data-mw-entity`)&&(t.setAttribute(`data-mw-entity`,n.entityId),r.set(n.entityId,t))}let h=[...e.querySelectorAll(`.edgeLabels > .edgeLabel`)];if(h.length===t.edges.length)t.edges.forEach((e,t)=>{a.set(e.entityId,h[t]),h[t].setAttribute(`data-mw-entity`,e.entityId)});else{let e=t.edges.filter(e=>e.label!==null&&e.label!==``);h.length===e.length&&e.forEach((e,t)=>{a.set(e.entityId,h[t]),h[t].setAttribute(`data-mw-entity`,e.entityId)})}return{nodes:r,edges:i,edgeLabels:a,failed:o}}function i(e,t){let r=new Map,i=new Map,a=new Map,o=[],s=[...e.querySelectorAll(`g.node`)].filter(e=>!/root_start|root_end/.test(e.id)),c=new Set;for(let e of t.states){let t=RegExp(`[-_]${n(e.id)}[-_]\\d+$`),i=s.find(e=>!c.has(e)&&t.test(e.id));i&&(r.set(e.entityId,i),c.add(i),i.setAttribute(`data-mw-entity`,e.entityId))}let l=t.states.filter(e=>!r.has(e.entityId)),u=s.filter(e=>!c.has(e));if(l.length===u.length)l.forEach((e,t)=>{r.set(e.entityId,u[t]),u[t].setAttribute(`data-mw-entity`,e.entityId)});else for(let e of l)o.push(e.entityId);for(let n of t.states.filter(e=>e.isComposite)){let t=[...e.querySelectorAll(`g.cluster`)].find(e=>e.id.includes(n.id)||e.querySelector(`.cluster-label, .label-container + *`)?.textContent?.trim()===n.label);t&&!t.hasAttribute(`data-mw-entity`)&&(t.setAttribute(`data-mw-entity`,n.entityId),r.set(n.entityId,t))}let d=[...e.querySelectorAll(`.edgePaths > path, path.transition`)];if(d.length===t.transitions.length)t.transitions.forEach((e,t)=>{i.set(e.entityId,d[t]),d[t].setAttribute(`data-mw-entity`,e.entityId)});else for(let e of t.transitions)o.push(e.entityId);let f=[...e.querySelectorAll(`.edgeLabels > .edgeLabel`)];if(f.length===t.transitions.length)t.transitions.forEach((e,t)=>{a.set(e.entityId,f[t]),f[t].setAttribute(`data-mw-entity`,e.entityId)});else{let e=t.transitions.filter(e=>e.label);f.length===e.length&&e.forEach((e,t)=>{a.set(e.entityId,f[t]),f[t].setAttribute(`data-mw-entity`,e.entityId)})}return{nodes:r,edges:i,edgeLabels:a,failed:o}}function a(e,t){let r=new Map,i=new Map,a=new Map,o=[],s=[...e.querySelectorAll(`g.node`)],c=new Set;for(let e of t.classes){let t=RegExp(`[-_]${n(e.id)}[-_]\\d+$`),i=s.find(e=>!c.has(e)&&t.test(e.id));i&&(r.set(e.entityId,i),c.add(i),i.setAttribute(`data-mw-entity`,e.entityId))}let l=t.classes.filter(e=>!r.has(e.entityId)),u=s.filter(e=>!c.has(e));if(l.length===u.length)l.forEach((e,t)=>{r.set(e.entityId,u[t]),u[t].setAttribute(`data-mw-entity`,e.entityId)});else for(let e of l)o.push(e.entityId);for(let e of t.classes){let t=r.get(e.entityId);if(!t)continue;let n=[...t.querySelectorAll(`.nodeLabel`)],i=e.members.filter(e=>!e.text.includes(`(`)),a=e.members.filter(e=>e.text.includes(`(`));[...i,...a].forEach((t,r)=>{let i=n[r+1];i&&(i.setAttribute(`data-mw-member-class`,e.id),i.setAttribute(`data-mw-member-line`,String(t.lineIndex)))})}let d=[...e.querySelectorAll(`.edgePaths > path, path.relation`)];if(d.length===t.relations.length)t.relations.forEach((e,t)=>{i.set(e.entityId,d[t]),d[t].setAttribute(`data-mw-entity`,e.entityId)});else for(let e of t.relations)o.push(e.entityId);let f=[...e.querySelectorAll(`.edgeLabels > .edgeLabel`)];return f.length===t.relations.length&&t.relations.forEach((e,t)=>{a.set(e.entityId,f[t]),f[t].setAttribute(`data-mw-entity`,e.entityId)}),{nodes:r,edges:i,edgeLabels:a,failed:o}}function o(e,t){let r=new Map,i=new Map,a=new Map,o=[],s=[...e.querySelectorAll(`g[id*="entity"], g.node`)],c=new Set;for(let e of t.entities){let t=RegExp(`entity-${n(e.id)}-|[-_]${n(e.id)}[-_]\\d+$`),i=s.find(e=>!c.has(e)&&t.test(e.id));i&&(r.set(e.entityId,i),c.add(i),i.setAttribute(`data-mw-entity`,e.entityId))}let l=t.entities.filter(e=>!r.has(e.entityId)),u=s.filter(e=>!c.has(e));if(l.length&&l.length===u.length)l.forEach((e,t)=>{r.set(e.entityId,u[t]),u[t].setAttribute(`data-mw-entity`,e.entityId)});else for(let e of l)o.push(e.entityId);for(let e of t.entities){let t=r.get(e.entityId);if(!t||!e.attributes.length)continue;let n=[...t.querySelectorAll(`.nodeLabel`)];e.attributes.forEach((t,r)=>{for(let i=0;i<4;i++){let a=n[1+r*4+i];a&&(a.setAttribute(`data-mw-attr-entity`,e.id),a.setAttribute(`data-mw-attr-line`,String(t.lineIndex)))}})}let d=[...e.querySelectorAll(`path.relationshipLine, .er.relationshipLine, .edgePaths > path`)];if(d.length===t.relations.length)t.relations.forEach((e,t)=>{i.set(e.entityId,d[t]),d[t].setAttribute(`data-mw-entity`,e.entityId)});else for(let e of t.relations)o.push(e.entityId);let f=[...e.querySelectorAll(`.relationshipLabel, .er.relationshipLabel, .edgeLabels > .edgeLabel`)];return f.length===t.relations.length&&t.relations.forEach((e,t)=>{a.set(e.entityId,f[t]),f[t].setAttribute(`data-mw-entity`,e.entityId)}),{nodes:r,edges:i,edgeLabels:a,failed:o}}function s(e,t){let n=new Map,r=new Map,i=new Map,a=[],o=[...e.querySelectorAll(`.pieCircle`)];[...e.querySelectorAll(`g.legend`)].forEach((e,r)=>{let i=e.querySelector(`text`)?.textContent?.trim()??``,a=t.slices.find(e=>e.label===i||i.startsWith(`${e.label} `));if(!a)return;let s=o[r];s&&!n.has(a.entityId)&&(n.set(a.entityId,s),s.setAttribute(`data-mw-entity`,a.entityId),e.setAttribute(`data-mw-entity`,a.entityId))});for(let e of t.slices)n.has(e.entityId)||a.push(e.entityId);return{nodes:n,edges:r,edgeLabels:i,failed:a}}function c(e,t){let n=new Map,r=new Map,i=new Map,a=[],o=[...e.querySelectorAll(`rect.task`)],s=[...e.querySelectorAll(`text.taskText`)];if(o.length===t.tasks.length)t.tasks.forEach((e,t)=>{n.set(e.entityId,o[t]),o[t].setAttribute(`data-mw-entity`,e.entityId),s[t]?.setAttribute(`data-mw-entity`,e.entityId)});else for(let e of t.tasks)a.push(e.entityId);return{nodes:n,edges:r,edgeLabels:i,failed:a}}function l(e,t){let n=new Map,r=new Map,i=new Map,a=[],o=[...e.querySelectorAll(`text, span, p, div`)].filter(e=>e.children.length===0||e.tagName===`text`),s=new Set;for(let r of t.items){if(!r.matchText){a.push(r.entityId);continue}let t=r.matchText.trim(),i=o.find(e=>!s.has(e)&&e.textContent?.trim()===t)??o.find(e=>!s.has(e)&&(e.textContent?.trim().startsWith(t)??!1));if(!i){a.push(r.entityId);continue}s.add(i);let c=i,l=i.closest(`g`)??i.parentElement;l&&l!==e&&(l.textContent?.trim().length??0)<=t.length+24&&(c=l),c.setAttribute(`data-mw-entity`,r.entityId),c!==i&&i.setAttribute(`data-mw-entity`,r.entityId);for(let e of new Set([c,i])){let t=e.style;t&&(t.pointerEvents=`auto`)}n.set(r.entityId,c)}return{nodes:n,edges:r,edgeLabels:i,failed:a}}function u(e,t){let n=new Map,r=new Map,i=new Map,a=new Map,o=[];for(let r of t.participants){let t=[...e.querySelectorAll(`[name="${CSS.escape(r.id)}"]`)];if(t.length){n.set(r.entityId,t);for(let e of t)e.setAttribute(`data-mw-entity`,r.entityId);for(let e of t){let t=e.parentElement;t&&t.tagName===`g`&&t.setAttribute(`data-mw-entity`,r.entityId)}}else o.push(r.entityId)}let s=[...e.querySelectorAll(`line.actor-line, .actor-line`)];for(let e of t.participants){let t=n.get(e.entityId);if(!t?.length)continue;let i=t[0].getBoundingClientRect(),a=i.left+i.width/2,o=null,c=1/0;for(let e of s){let t=e.getBoundingClientRect(),n=Math.abs(t.left+t.width/2-a);n<c&&(c=n,o=e)}o&&c<40&&r.set(e.entityId,o)}let c=t.events.filter(e=>e.kind===`message`),l=[...e.querySelectorAll(`text.messageText`)],u=[...e.querySelectorAll(`.messageLine0, .messageLine1`)];c.forEach((e,t)=>{let n=u[t],r=l[t];n?(i.set(e.entityId,n),n.setAttribute(`data-mw-entity`,e.entityId)):o.push(e.entityId),r&&(a.set(e.entityId,r),r.setAttribute(`data-mw-entity`,e.entityId))});let d=t.events.filter(e=>e.kind===`note`),f=[...e.querySelectorAll(`.note`)],p=[...e.querySelectorAll(`.noteText`)];return d.forEach((e,t)=>{let n=f[t],r=p[t];if(n){i.set(e.entityId,n),n.setAttribute(`data-mw-entity`,e.entityId);let t=n.parentElement;t&&t.tagName===`g`&&t.setAttribute(`data-mw-entity`,e.entityId)}else o.push(e.entityId);r&&(a.set(e.entityId,r),r.setAttribute(`data-mw-entity`,e.entityId))}),{participants:n,lifelines:r,events:i,eventTexts:a,failed:o}}var d=e=>`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${e}</svg>`,f={trash:d(`<path d="M3 6h18"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"/><path d="M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/><line x1="10" x2="10" y1="11" y2="17"/><line x1="14" x2="14" y1="11" y2="17"/>`),pencil:d(`<path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/><path d="m15 5 4 4"/>`),palette:d(`<circle cx="13.5" cy="6.5" r=".5" fill="currentColor"/><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"/><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"/><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"/><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"/>`),copy:d(`<rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/>`),shapes:d(`<path d="M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z"/><rect x="3" y="14" width="7" height="7" rx="1"/><circle cx="17.5" cy="17.5" r="3.5"/>`),arrowRight:d(`<path d="M5 12h14"/><path d="m12 5 7 7-7 7"/>`),arrowLeftRight:d(`<path d="M8 3 4 7l4 4"/><path d="M4 7h16"/><path d="m16 21 4-4-4-4"/><path d="M20 17H4"/>`),arrowLeftToLine:d(`<path d="M3 19V5"/><path d="m13 6-6 6 6 6"/><path d="M7 12h14"/>`),arrowRightToLine:d(`<path d="M17 12H3"/><path d="m11 18 6-6-6-6"/><path d="M21 5v14"/>`),square:d(`<rect width="18" height="18" x="3" y="3" rx="2"/>`),stickyNote:d(`<path d="M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11l5-5V5a2 2 0 0 0-2-2Z"/><path d="M15 21v-4a2 2 0 0 1 2-2h4"/>`),frame:d(`<line x1="22" x2="2" y1="6" y2="6"/><line x1="22" x2="2" y1="18" y2="18"/><line x1="6" x2="6" y1="2" y2="22"/><line x1="18" x2="18" y1="2" y2="22"/>`),group:d(`<path d="M3 7V5a2 2 0 0 1 2-2h2"/><path d="M17 3h2a2 2 0 0 1 2 2v2"/><path d="M21 17v2a2 2 0 0 1-2 2h-2"/><path d="M7 21H5a2 2 0 0 1-2-2v-2"/><rect width="7" height="5" x="7" y="7" rx="1"/><rect width="7" height="5" x="10" y="12" rx="1"/>`),listPlus:d(`<path d="M11 12H3"/><path d="M16 6H3"/><path d="M16 18H3"/><path d="M18 9v6"/><path d="M21 12h-6"/>`),braces:d(`<path d="M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"/><path d="M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"/>`),hash:d(`<line x1="4" x2="20" y1="9" y2="9"/><line x1="4" x2="20" y1="15" y2="15"/><line x1="10" x2="8" y1="3" y2="21"/><line x1="16" x2="14" y1="3" y2="21"/>`),calendar:d(`<path d="M8 2v4"/><path d="M16 2v4"/><rect width="18" height="18" x="3" y="4" rx="2"/><path d="M3 10h18"/>`),user:d(`<path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/>`),minus:d(`<path d="M5 12h14"/>`),plus:d(`<path d="M5 12h14"/><path d="M12 5v14"/>`),maximize:d(`<path d="M8 3H5a2 2 0 0 0-2 2v3"/><path d="M21 8V5a2 2 0 0 0-2-2h-3"/><path d="M3 16v3a2 2 0 0 0 2 2h3"/><path d="M16 21h3a2 2 0 0 0 2-2v-3"/>`),ellipsis:d(`<circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/>`),chevronDown:d(`<path d="m6 9 6 6 6-6"/>`)},p=class{host;el=null;panelEl=null;constructor(e){this.host=e}get isOpen(){return this.el!==null}show(e,t){this.hide();let n=document.createElement(`div`);n.className=`mw-popover`,n.addEventListener(`pointerdown`,e=>e.stopPropagation());for(let e of t){let t=document.createElement(`button`);if(t.type=`button`,t.className=`mw-popover-btn`+(e.active?` active`:``)+(e.danger?` danger`:``),t.title=e.title,e.icon?t.innerHTML=e.icon:(t.classList.add(`text`),t.textContent=e.glyph??``),e.panel){t.classList.add(`has-panel`);let e=document.createElement(`span`);e.className=`mw-caret`,e.innerHTML=f.chevronDown,t.appendChild(e)}t.addEventListener(`click`,t=>{t.stopPropagation(),e.panel?this.togglePanel(e.panel):(this.hide(),e.onClick?.())}),n.appendChild(t)}this.host.appendChild(n),this.el=n;let r=this.host.parentElement,i=e.left+e.width/2,a=n.offsetWidth/2;r&&r.clientWidth>n.offsetWidth+8&&(i=Math.min(Math.max(i,a+4+r.scrollLeft),r.scrollLeft+r.clientWidth-a-4)),n.style.left=`${i}px`;let o=e.top-8;o-n.offsetHeight<4?(n.classList.add(`mw-popover-below`),n.style.top=`${e.top+(e.height??0)+8}px`):n.style.top=`${o}px`}togglePanel(e){if(this.panelEl){this.panelEl.remove(),this.panelEl=null;return}let t=document.createElement(`div`);t.className=`mw-popover-panel`;let n=document.createElement(`div`);n.className=`mw-popover-panel-title`,n.textContent=e.title,t.appendChild(n);let r=e.sections??[{items:e.items??[]}];for(let e of r){if(e.title){let n=document.createElement(`div`);n.className=`mw-popover-section-title`,n.textContent=e.title,t.appendChild(n)}let n=document.createElement(`div`);n.className=`mw-popover-grid`,n.style.gridTemplateColumns=`repeat(${e.columns??3}, 1fr)`;for(let t of e.items){let e=document.createElement(`button`);if(e.type=`button`,e.className=`mw-popover-cell`+(t.selected?` selected`:``)+(t.swatch?` swatch`:``),e.title=t.title,t.swatch){let n=document.createElement(`span`);n.className=`mw-swatch-dot`,t.swatch===`none`?n.classList.add(`none`):n.style.background=t.swatch,e.appendChild(n)}else e.textContent=t.glyph??``;e.addEventListener(`click`,e=>{e.stopPropagation(),this.hide(),t.onClick()}),n.appendChild(e)}t.appendChild(n)}this.el.appendChild(t),this.panelEl=t;let i=this.host.getBoundingClientRect().top;t.getBoundingClientRect().top<i+2&&t.classList.add(`below`)}hide(){this.el?.remove(),this.el=null,this.panelEl=null}},m=`
2
+ .mw-popover.mw-popover-below { transform: translate(-50%, 0); }
3
+ .mw-popover {
4
+ position: absolute; z-index: 20; transform: translate(-50%, -100%);
5
+ display: flex; align-items: center; gap: 2px; padding: 4px;
6
+ background: var(--mw-chrome-bg, #0a0a0a); border: 1px solid var(--mw-chrome-border, #333);
7
+ border-radius: 8px; box-shadow: 0 0 0 1px rgba(0,0,0,0.4), 0 8px 30px rgba(0,0,0,0.45);
8
+ font: 13px/1 -apple-system, "Geist", "Inter", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
9
+ }
10
+ .mw-popover-btn {
11
+ border: none; background: none; border-radius: 6px; cursor: pointer;
12
+ height: 28px; min-width: 28px; padding: 0 6px;
13
+ display: inline-flex; align-items: center; justify-content: center; gap: 3px;
14
+ color: var(--mw-chrome-dim, #a1a1a1); line-height: 1;
15
+ transition: background 0.12s, color 0.12s;
16
+ }
17
+ .mw-popover-btn svg { width: 15px; height: 15px; flex: none; }
18
+ .mw-popover-btn.text { font-size: 11.5px; font-weight: 500; letter-spacing: 0.01em; }
19
+ .mw-popover-btn .mw-caret { display: inline-flex; opacity: 0.55; margin-left: -1px; }
20
+ .mw-popover-btn .mw-caret svg { width: 9px; height: 9px; }
21
+ .mw-popover-btn:hover { background: var(--mw-chrome-hover, #1f1f1f); color: var(--mw-chrome-fg, #ededed); }
22
+ .mw-popover-btn.active { background: var(--mw-accent, #0070f3); color: #fff; }
23
+ .mw-popover-btn.danger:hover { background: rgba(255, 68, 68, 0.12); color: #ff4444; }
24
+ .mw-popover-panel {
25
+ position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%);
26
+ background: var(--mw-chrome-bg, #0a0a0a); border: 1px solid var(--mw-chrome-border, #333);
27
+ border-radius: 8px; box-shadow: 0 0 0 1px rgba(0,0,0,0.4), 0 8px 30px rgba(0,0,0,0.45);
28
+ padding: 6px; min-width: 140px;
29
+ }
30
+ .mw-popover-panel.below { bottom: auto; top: calc(100% + 6px); }
31
+ .mw-popover-panel-title {
32
+ font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.07em;
33
+ color: var(--mw-chrome-dim, #666); padding: 3px 5px 7px; white-space: nowrap;
34
+ }
35
+ .mw-popover-section-title {
36
+ font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em;
37
+ color: var(--mw-chrome-dim, #666); padding: 6px 5px 4px; white-space: nowrap;
38
+ }
39
+ .mw-popover-grid { display: grid; gap: 2px; }
40
+ .mw-popover-cell {
41
+ border: 1px solid transparent; background: none; border-radius: 6px; padding: 7px 8px;
42
+ cursor: pointer; font-size: 12px; color: var(--mw-chrome-dim, #a1a1a1); white-space: nowrap;
43
+ transition: background 0.12s, color 0.12s;
44
+ }
45
+ .mw-popover-cell:hover { background: var(--mw-chrome-hover, #1f1f1f); color: var(--mw-chrome-fg, #ededed); }
46
+ .mw-popover-cell.selected {
47
+ border-color: var(--mw-accent, #0070f3); color: var(--mw-chrome-fg, #ededed);
48
+ background: color-mix(in srgb, var(--mw-accent, #0070f3) 12%, transparent);
49
+ }
50
+ .mw-popover-cell.swatch { padding: 5px; display: flex; align-items: center; justify-content: center; }
51
+ .mw-swatch-dot { width: 15px; height: 15px; border-radius: 99px; display: block; border: 1px solid rgba(255,255,255,0.18); }
52
+ .mw-swatch-dot.none {
53
+ background: linear-gradient(to top left, transparent 45%, #ff4444 46%, #ff4444 54%, transparent 55%);
54
+ border: 1px solid var(--mw-chrome-dim, #666);
55
+ }
56
+ .mw-lifeline-plus {
57
+ position: absolute; z-index: 15; transform: translate(-50%, -50%);
58
+ width: 18px; height: 18px; border-radius: 99px; border: none; cursor: pointer;
59
+ background: var(--mw-accent, #0070f3); color: #fff; font-size: 13px; line-height: 1;
60
+ display: flex; align-items: center; justify-content: center;
61
+ box-shadow: 0 2px 8px rgba(0,0,0,0.5);
62
+ transition: transform 0.12s;
63
+ }
64
+ .mw-lifeline-plus:hover { transform: translate(-50%, -50%) scale(1.15); }
65
+ .mw-plus-menu {
66
+ position: absolute; z-index: 21; transform: translate(-50%, 4px);
67
+ background: var(--mw-chrome-bg, #0a0a0a); border: 1px solid var(--mw-chrome-border, #333);
68
+ border-radius: 8px; box-shadow: 0 0 0 1px rgba(0,0,0,0.4), 0 8px 30px rgba(0,0,0,0.45); padding: 4px;
69
+ display: flex; flex-direction: column; min-width: 150px;
70
+ font: 13px/1.2 -apple-system, "Geist", "Inter", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
71
+ }
72
+ .mw-plus-menu button {
73
+ border: none; background: none; text-align: left; border-radius: 6px; padding: 7px 10px;
74
+ cursor: pointer; color: var(--mw-chrome-dim, #a1a1a1); font-size: 12.5px;
75
+ transition: background 0.12s, color 0.12s;
76
+ }
77
+ .mw-plus-menu button:hover { background: var(--mw-chrome-hover, #1f1f1f); color: var(--mw-chrome-fg, #ededed); }
78
+ `,h=[`#ef4444`,`#f97316`,`#eab308`,`#22c55e`,`#06b6d4`,`#6366f1`,`#d946ef`,`#64748b`],g=`
79
+ .mw-canvas { position: relative; overflow: auto; outline: none; }
80
+ .mw-canvas .mw-svg-host { user-select: none; -webkit-user-select: none; }
81
+ .mw-canvas .mw-svg-host { min-height: 100%; display: flex; align-items: flex-start; justify-content: center; padding: 16px; box-sizing: border-box; }
82
+ .mw-canvas svg { max-width: 100%; height: auto; }
83
+ .mw-canvas.mw-panzoom { overflow: hidden; }
84
+ .mw-canvas.mw-panzoom .mw-svg-host { position: absolute; inset: 0; display: block; padding: 0; min-height: 0; overflow: hidden; }
85
+ .mw-canvas.mw-panzoom .mw-svg-host svg { position: absolute; left: 0; top: 0; max-width: none; height: auto; transform-origin: 0 0; }
86
+ .mw-canvas.mw-panzoom .mw-svg-host { cursor: grab; }
87
+ .mw-canvas.mw-panzoom.mw-panning .mw-svg-host { cursor: grabbing; }
88
+ .mw-canvas.mw-panzoom [data-mw-entity] { cursor: pointer; }
89
+ .mw-zoom-controls { position: absolute; right: 10px; bottom: 10px; display: flex; gap: 4px; z-index: 6; }
90
+ .mw-zoom-btn { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; border-radius: 7px; border: 1px solid var(--mw-chrome-border, rgba(128,128,128,.35)); background: var(--mw-chrome-bg, rgba(24,24,27,.92)); color: var(--mw-chrome-fg, #e4e4e7); cursor: pointer; }
91
+ .mw-zoom-btn:hover { background: var(--mw-chrome-hover, rgba(63,63,70,.9)); }
92
+ .mw-zoom-btn svg { width: 14px; height: 14px; }
93
+ .mw-canvas [data-mw-entity] { cursor: pointer; }
94
+ .mw-canvas.mw-readonly [data-mw-entity] { cursor: default; }
95
+ .mw-canvas.mw-tool-connect [data-mw-entity^="node:"] { cursor: crosshair; }
96
+ .mw-canvas [data-mw-entity]:hover { filter: drop-shadow(0 0 3px var(--mw-accent, #6366f1)); }
97
+ .mw-canvas .mw-selected { filter: drop-shadow(0 0 2px var(--mw-accent, #6366f1)) drop-shadow(0 0 5px var(--mw-accent, #6366f1)) !important; }
98
+ .mw-canvas .mw-ghost-edge { stroke: var(--mw-accent, #6366f1); stroke-width: 2; stroke-dasharray: 6 4; fill: none; pointer-events: none; }
99
+ .mw-canvas .mw-connect-source { filter: drop-shadow(0 0 5px var(--mw-accent, #6366f1)) !important; }
100
+ .mw-inplace-editor {
101
+ position: absolute; z-index: 10; white-space: pre; outline: none;
102
+ padding: 1px 3px; margin: -1px -3px; border-radius: 3px;
103
+ caret-color: var(--mw-accent, #6366f1);
104
+ box-shadow: 0 1.5px 0 0 var(--mw-accent, #6366f1);
105
+ background: color-mix(in srgb, var(--mw-editor-bg, #fff) 35%, transparent);
106
+ }
107
+ .mw-error-badge {
108
+ position: absolute; top: 8px; right: 8px; z-index: 5;
109
+ font: 500 11px/1.4 ui-sans-serif, system-ui, sans-serif;
110
+ background: #dc2626; color: #fff; border-radius: 6px; padding: 3px 8px;
111
+ max-width: 60%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
112
+ }
113
+ .mw-drop-indicator {
114
+ position: absolute; left: 6%; right: 6%; height: 2.5px; z-index: 14;
115
+ background: var(--mw-accent, #6366f1); border-radius: 2px; pointer-events: none;
116
+ box-shadow: 0 0 6px var(--mw-accent, #6366f1);
117
+ }
118
+ .mw-canvas [contenteditable="true"] {
119
+ outline: 1.5px solid var(--mw-accent, #6366f1); outline-offset: 2px; border-radius: 3px;
120
+ cursor: text; white-space: pre-wrap; min-width: 8px;
121
+ }
122
+ `,_=!1,v=0;function y(e){return(e.innerHTML??``).replace(/<br\s*\/?>/gi,`<br/>`).trim()}function b(e){let t=window.getSelection();if(!t?.anchorNode||!e.contains(t.anchorNode))return-1;let n=document.createRange();return n.selectNodeContents(e),n.setEnd(t.anchorNode,t.anchorOffset),n.toString().length}function x(e,t){let n=window.getSelection();if(!n)return;let r=document.createRange(),i=Math.max(0,t),a=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),o=a.nextNode();for(;o;){let e=o.textContent?.length??0;if(i<=e){r.setStart(o,i),r.collapse(!0),n.removeAllRanges(),n.addRange(r);return}i-=e,o=a.nextNode()}r.selectNodeContents(e),r.collapse(!1),n.removeAllRanges(),n.addRange(r)}var S=class{editor;container;mermaid;mermaidConfig;svgHost;overlayHost;errorBadge;correlation=null;seqCorrelation=null;popover;plusButtons=[];plusMenu=null;hoveredLifeline=null;svg=null;svgTransformObserver=null;popoverFollowRaf=0;popoverAnchorPick=null;tool=`select`;readOnly;debounceMs;defaultEdge;hooks;renderTimer=null;lastRenderedCode=``;disposers=[];listeners=new Map;connectSource=null;suppressNextClick=!1;ghostPath=null;dragEvent=null;dragStartY=0;dragging=!1;dropIndicator=null;dropSlots=[];inlineInput=null;inlineHidden=null;pendingEditEntity=null;inPlaceSession=null;lastError=null;renderHeldByEdit=!1;panZoomEnabled;zoomScale=1;zoomTx=0;zoomTy=0;hasUserView=!1;svgSize=null;panSession=null;zoomControls=null;renderSeq=0;constructor(e){if(this.editor=e.editor,this.container=e.container,this.mermaid=e.mermaid,this.readOnly=e.readOnly??!1,this.panZoomEnabled=e.panZoom??!1,this.debounceMs=e.debounceMs??200,this.defaultEdge=e.defaultEdge??{},this.hooks=e.hooks??{},this.mermaidConfig={startOnLoad:!1,...e.mermaidConfig},!_){let e=document.createElement(`style`);e.setAttribute(`data-mw`,``),e.textContent=g+m,document.head.appendChild(e),_=!0}this.container.classList.add(`mw-canvas`),this.container.tabIndex=0,e.accentColor&&this.container.style.setProperty(`--mw-accent`,e.accentColor),this.readOnly&&this.container.classList.add(`mw-readonly`),this.svgHost=document.createElement(`div`),this.svgHost.className=`mw-svg-host`,this.overlayHost=document.createElement(`div`),this.errorBadge=document.createElement(`div`),this.errorBadge.className=`mw-error-badge`,this.errorBadge.style.display=`none`,this.container.append(this.svgHost,this.overlayHost,this.errorBadge),this.popover=new p(this.overlayHost),this.mermaid.initialize(this.mermaidConfig),this.disposers.push(this.editor.on(`change`,()=>this.scheduleRender()),this.editor.on(`selectionChange`,()=>this.applySelectionStyles()));let t=e=>this.onKeyDown(e);this.container.addEventListener(`keydown`,t),this.disposers.push(()=>this.container.removeEventListener(`keydown`,t));let n=e=>{let t=e.target;!t||this.container.contains(t)||(this.inPlaceSession?.finish?.(!0),this.clearLifelineUi(),this.popover.hide(),this.editor.selection.length&&this.editor.clearSelection(`canvas`))};document.addEventListener(`pointerdown`,n,!0),this.disposers.push(()=>document.removeEventListener(`pointerdown`,n,!0)),this.panZoomEnabled&&this.setupPanZoom(),this.render()}on(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),()=>this.listeners.get(e).delete(t)}emit(e,t){this.listeners.get(e)?.forEach(e=>e(t))}get currentTool(){return this.tool}get renderError(){return this.lastError}setTool(e){this.tool=e,this.container.classList.toggle(`mw-tool-connect`,e===`connect`),this.cancelConnect(),this.emit(`toolChange`,e)}setReadOnly(e){this.readOnly=e,this.container.classList.toggle(`mw-readonly`,e),this.closeInlineEditor(!1),this.cancelConnect(),this.clearLifelineUi(),this.updatePopover()}setHooks(e){this.hooks=e}setAccentColor(e){this.container.style.setProperty(`--mw-accent`,e)}setMermaidConfig(e){this.mermaidConfig={...this.mermaidConfig,...e},this.mermaid.initialize(this.mermaidConfig),this.lastRenderedCode=``,this.render()}addNode(e=`rect`,t=`New node`){if(this.readOnly)return;let n=this.editor.dispatch({type:`addNode`,shape:e,label:t})?.created?.[0];n&&(this.pendingEditEntity=n)}scheduleRender(){this.renderTimer&&clearTimeout(this.renderTimer),this.renderTimer=setTimeout(()=>void this.render(),this.debounceMs)}setupPanZoom(){this.container.classList.add(`mw-panzoom`);let e=e=>{if(!e.ctrlKey&&!e.metaKey)return;e.preventDefault();let t=Math.max(-40,Math.min(40,e.deltaY));this.zoomAt(e.clientX,e.clientY,Math.exp(-t*.01))};this.container.addEventListener(`wheel`,e,{passive:!1}),this.disposers.push(()=>this.container.removeEventListener(`wheel`,e));let t=e=>{if(e.button!==0||this.tool===`connect`||e.altKey||this.inlineInput||this.inPlaceSession)return;let t=e.target;if(!t||!this.svgHost.contains(t))return;let n=t;for(;n&&n!==this.container;){if(n.getAttribute?.(`data-mw-entity`))return;n=n.parentElement}this.panSession={pointerId:e.pointerId,x:e.clientX,y:e.clientY,tx:this.zoomTx,ty:this.zoomTy,moved:!1}},n=e=>{let t=this.panSession;if(!t||e.pointerId!==t.pointerId)return;let n=e.clientX-t.x,r=e.clientY-t.y;if(!t.moved&&Math.hypot(n,r)>4){t.moved=!0,this.container.classList.add(`mw-panning`);try{this.container.setPointerCapture(e.pointerId)}catch{}this.popover.hide()}t.moved&&(this.zoomTx=t.tx+n,this.zoomTy=t.ty+r,this.hasUserView=!0,this.applyViewTransform())},r=e=>{let t=this.panSession;!t||e.pointerId!==t.pointerId||(this.panSession=null,this.container.classList.remove(`mw-panning`),t.moved&&(this.suppressNextClick=!0,this.updatePopover()))};this.container.addEventListener(`pointerdown`,t),this.container.addEventListener(`pointermove`,n),this.container.addEventListener(`pointerup`,r),this.container.addEventListener(`pointercancel`,r),this.disposers.push(()=>{this.container.removeEventListener(`pointerdown`,t),this.container.removeEventListener(`pointermove`,n),this.container.removeEventListener(`pointerup`,r),this.container.removeEventListener(`pointercancel`,r)});let i=document.createElement(`div`);i.className=`mw-zoom-controls`;let a=(e,t,n)=>{let r=document.createElement(`button`);r.type=`button`,r.className=`mw-zoom-btn`,r.title=e,r.innerHTML=t,r.addEventListener(`pointerdown`,e=>e.stopPropagation()),r.addEventListener(`click`,e=>{e.stopPropagation(),n()}),i.appendChild(r)};if(a(`Zoom out`,f.minus,()=>this.zoomBy(1/1.25)),a(`Zoom in`,f.plus,()=>this.zoomBy(1.25)),a(`Fit diagram`,f.maximize,()=>this.fitView()),this.container.appendChild(i),this.zoomControls=i,typeof ResizeObserver<`u`){let e=new ResizeObserver(()=>{this.hasUserView||this.fitView()});e.observe(this.container),this.disposers.push(()=>e.disconnect())}}zoomBy(e){let t=this.container.getBoundingClientRect();this.zoomAt(t.left+t.width/2,t.top+t.height/2,e)}zoomAt(e,t,n){if(!this.panZoomEnabled)return;let r=this.container.getBoundingClientRect(),i=e-r.left,a=t-r.top,o=Math.min(Math.max(this.zoomScale*n,.1),4),s=o/this.zoomScale;s!==1&&(this.zoomTx=i-(i-this.zoomTx)*s,this.zoomTy=a-(a-this.zoomTy)*s,this.zoomScale=o,this.hasUserView=!0,this.applyViewTransform(),this.updatePopover())}fitView(){if(!this.panZoomEnabled||!this.svg||!this.svgSize)return;let e=this.container.clientWidth,t=this.container.clientHeight;if(!e||!t)return;let{width:n,height:r}=this.svgSize,i=Math.min((e-56)/n,(t-56)/r);this.zoomScale=Math.min(Math.max(i,.1),2),this.zoomTx=(e-n*this.zoomScale)/2,this.zoomTy=(t-r*this.zoomScale)/2,this.hasUserView=!1,this.applyViewTransform(),this.updatePopover()}applyViewTransform(){this.svg&&(this.svg.style.transform=`translate(${this.zoomTx}px, ${this.zoomTy}px) scale(${this.zoomScale})`)}prepareSvgForPanZoom(){let e=this.svg;if(!e)return;let t=0,n=0,r=e.viewBox?.baseVal;if(r&&r.width&&r.height)t=r.width,n=r.height;else{let r=e.getBBox?.();t=r?.width||800,n=r?.height||600}this.svgSize={width:t,height:n},e.removeAttribute(`width`),e.removeAttribute(`height`),e.style.width=`${t}px`,e.style.height=`${n}px`,e.style.maxWidth=`none`,this.hasUserView?this.applyViewTransform():this.fitView()}async render(){if(this.inPlaceSession){this.renderHeldByEdit=!0;return}let e=this.editor.code;if(e===this.lastRenderedCode){this.lastError&&(this.lastError=null,this.errorBadge.style.display=`none`,this.editor.setDiagnostics([]),this.emit(`render`,{ok:!0}));return}let t=++this.renderSeq,n=`mw-render-${++v}`;try{let{svg:r}=await this.mermaid.render(n,e);if(t!==this.renderSeq)return;let i=null,a=this.activeInPlaceSession(),o=a?.label;if(a&&o?.isConnected&&(i={value:y(o),caret:b(o)},a.liveTimer&&=(clearTimeout(a.liveTimer),null)),this.lastRenderedCode=e,this.lastError=null,this.errorBadge.style.display=`none`,this.svgHost.innerHTML=r,this.svg=this.svgHost.querySelector(`svg`),this.svg&&(this.panZoomEnabled?this.prepareSvgForPanZoom():this.svg.style.maxWidth=`100%`,this.bindSvg()),this.editor.setDiagnostics([]),this.emit(`render`,{ok:!0}),this.activeInPlaceSession())this.resumeInPlaceSession(i);else if(this.pendingEditEntity){let e=this.pendingEditEntity;this.pendingEditEntity=null,this.editor.entityExists(e)&&this.editEntityLabel(e)}}catch(e){if(t!==this.renderSeq)return;document.getElementById(`d${n}`)?.remove(),document.getElementById(n)?.remove();let r=e instanceof Error?e.message.split(`
123
+ `)[0]:String(e);this.lastError=r,this.errorBadge.textContent=`render error: ${r}`,this.errorBadge.style.display=`block`;let i={message:r,span:null,severity:`error`,source:`mermaid`};this.editor.setDiagnostics([i]),this.emit(`render`,{ok:!1,error:r})}}bindSvg(){let e=this.svg;if(!e)return;let{flowchart:t,sequence:n,state:d,classGraph:f,er:p}=this.editor.result;this.correlation=t?r(e,t):d?i(e,d):f?a(e,f):p?o(e,p):this.editor.result.pie?s(e,this.editor.result.pie):this.editor.result.gantt?c(e,this.editor.result.gantt):this.editor.result.lineItems?l(e,this.editor.result.lineItems):null,this.seqCorrelation=n?u(e,n):null,this.clearLifelineUi(),e.addEventListener(`click`,e=>this.onSvgClick(e)),e.addEventListener(`dblclick`,e=>this.onSvgDblClick(e)),e.addEventListener(`pointerdown`,e=>this.onSvgPointerDown(e)),e.addEventListener(`pointermove`,e=>this.onSvgPointerMove(e)),e.addEventListener(`pointerup`,e=>this.onSvgPointerUp(e)),this.seqCorrelation&&(e.addEventListener(`pointermove`,e=>this.onLifelineHover(e)),e.addEventListener(`pointerleave`,()=>this.scheduleLifelineClear())),this.svgTransformObserver?.disconnect(),typeof MutationObserver<`u`&&(this.svgTransformObserver=new MutationObserver(()=>{this.popoverFollowRaf||!this.popover.isOpen||(this.popoverFollowRaf=(typeof requestAnimationFrame==`function`?requestAnimationFrame:e=>setTimeout(e,16))(()=>{this.popoverFollowRaf=0,this.updatePopover()}))}),this.svgTransformObserver.observe(e,{attributes:!0,attributeFilter:[`style`,`transform`],subtree:!0})),this.applySelectionStyles()}entityFromEvent(e){return this.entityHitFromEvent(e)?.id??null}entityHitFromEvent(e){let t=e.target;for(;t&&t!==this.svg;){let e=t.getAttribute?.(`data-mw-entity`);if(e)return{id:e,el:t};t=t.parentElement}return null}topmostEntityElement(e){let t=null,n=1/0;return this.svg?.querySelectorAll(`[data-mw-entity="${CSS.escape(e)}"]`).forEach(e=>{let r=e.getBoundingClientRect().top;r<n&&(n=r,t=e)}),t}onSvgClick(e){if(this.suppressNextClick){this.suppressNextClick=!1;return}if(this.inlineInput||this.inPlaceSession)return;let t=this.entityHitFromEvent(e);if(t){let n=t.id;if(this.hooks.onEntityClick?.(n,e),this.popoverAnchorPick={entityId:n,index:this.entityElementIndex(n,t.el)},e.shiftKey||e.metaKey||e.ctrlKey){let e=this.editor.selection.includes(n)?this.editor.selection.filter(e=>e!==n):[...this.editor.selection,n];this.editor.setSelection(e,`canvas`)}else this.editor.setSelection([n],`canvas`),this.updatePopover();this.container.focus({preventScroll:!0})}else this.editor.clearSelection(`canvas`)}entityElementIndex(e,t){if(!this.svg)return 0;let n=[...this.svg.querySelectorAll(`[data-mw-entity="${CSS.escape(e)}"]`)].indexOf(t);return n>=0?n:0}onSvgDblClick(e){if(this.readOnly)return;let t=e.target.closest?.(`[data-mw-member-line]`);if(t&&this.editor.result.classGraph){let n=t.getAttribute(`data-mw-member-class`),r=Number(t.getAttribute(`data-mw-member-line`)),i=this.editor.result.classGraph.classById.get(n)?.members.find(e=>e.lineIndex===r);if(i){e.preventDefault(),this.popover.hide(),this.editInPlace(`member:${n}:${r}`,t,`.nodeLabel`,i.text,e=>this.editor.dispatch({type:`cl.setMemberText`,id:n,memberLine:r,text:e},`canvas`),{live:!1});return}}let n=e.target.closest?.(`[data-mw-attr-line]`);if(n&&this.editor.result.er){let t=n.getAttribute(`data-mw-attr-entity`),r=Number(n.getAttribute(`data-mw-attr-line`)),i=this.editor.result.er.entityById.get(t)?.attributes.find(e=>e.lineIndex===r);if(i){e.preventDefault(),this.popover.hide(),this.openOverlayEditor(n,i.text,e=>this.editor.dispatch({type:`er.setAttributeText`,id:t,attrLine:r,text:e},`canvas`));return}}let r=this.entityHitFromEvent(e);r&&(e.preventDefault(),!this.hooks.onEntityDoubleClick?.(r.id)&&this.editEntityLabel(r.id,r.el))}onSvgPointerDown(e){if(this.readOnly)return;let t=this.entityFromEvent(e),n=t?.startsWith(`node:`)||t?.startsWith(`participant:`)||t?.startsWith(`state:`)||t?.startsWith(`class:`)||t?.startsWith(`entity:`),r=this.tool===`connect`||e.altKey;if(n&&r&&t){e.preventDefault(),this.connectSource=t,this.svg?.setPointerCapture?.(e.pointerId),this.entityElement(t)?.classList.add(`mw-connect-source`),this.emit(`connectPreview`,{source:t});return}t?.startsWith(`event:`)&&this.editor.result.sequence&&e.detail<=1&&(this.dragEvent=t,this.dragStartY=e.clientY,this.dragging=!1)}entityElement(e){return this.svg?.querySelector(`[data-mw-entity="${CSS.escape(e)}"]`)??null}onSvgPointerMove(e){if(this.dragEvent&&this.svg){if(!this.dragging&&Math.abs(e.clientY-this.dragStartY)>8&&(this.dragging=!0,this.svg.setPointerCapture?.(e.pointerId),this.computeDropSlots(),this.popover.hide()),this.dragging){let t=this.container.getBoundingClientRect(),n=e.clientY-t.top+this.container.scrollTop,r=this.nearestSlot(n);r&&this.showDropIndicator(r.y)}return}if(!this.connectSource||!this.svg)return;let t=this.entityCenter(this.connectSource),n=this.clientToSvg(e.clientX,e.clientY);!t||!n||(this.ghostPath||(this.ghostPath=document.createElementNS(`http://www.w3.org/2000/svg`,`line`),this.ghostPath.classList.add(`mw-ghost-edge`),this.svg.appendChild(this.ghostPath)),this.ghostPath.setAttribute(`x1`,String(t.x)),this.ghostPath.setAttribute(`y1`,String(t.y)),this.ghostPath.setAttribute(`x2`,String(n.x)),this.ghostPath.setAttribute(`y2`,String(n.y)))}onSvgPointerUp(e){if(this.dragEvent){let t=this.dragEvent,n=this.dragging;if(this.dragEvent=null,this.dragging=!1,this.dropIndicator?.remove(),this.dropIndicator=null,n){this.suppressNextClick=!0;let n=this.container.getBoundingClientRect(),r=this.nearestSlot(e.clientY-n.top+this.container.scrollTop);r&&this.editor.dispatch({type:`seq.moveEvent`,eventId:t,afterEvent:r.afterEvent})}return}if(!this.connectSource)return;let t=this.connectSource,n=t.startsWith(`node:`)?`node:`:t.startsWith(`state:`)?`state:`:t.startsWith(`class:`)?`class:`:t.startsWith(`entity:`)?`entity:`:`participant:`,r=document.elementFromPoint(e.clientX,e.clientY),i=null,a=r;for(;a&&a!==this.container;){let e=a.getAttribute?.(`data-mw-entity`);if(e?.startsWith(n)){i=e;break}a=a.parentElement}this.cancelConnect(),this.suppressNextClick=!0,i&&i!==t&&n===`node:`?this.editor.dispatch({type:`connect`,source:t.slice(5),target:i.slice(5),line:this.defaultEdge.line,arrowEnd:this.defaultEdge.arrowEnd}):i&&i!==t&&n===`participant:`?this.editor.dispatch({type:`seq.addMessage`,source:t.slice(12),target:i.slice(12),text:`message`}):i&&i!==t&&n===`state:`?this.editor.dispatch({type:`st.connect`,source:t.slice(6),target:i.slice(6)}):i&&i!==t&&n===`class:`?this.editor.dispatch({type:`cl.connect`,source:t.slice(6),target:i.slice(6)}):i&&i!==t&&n===`entity:`?this.editor.dispatch({type:`er.connect`,source:t.slice(7),target:i.slice(7)}):(this.editor.setSelection([t],`canvas`),this.container.focus({preventScroll:!0}))}cancelConnect(){this.connectSource&&this.entityElement(this.connectSource)?.classList.remove(`mw-connect-source`),this.connectSource=null,this.ghostPath?.remove(),this.ghostPath=null,this.emit(`connectPreview`,{source:null})}editEntityLabel(e,t){if(this.readOnly)return;let{flowchart:n,sequence:r}=this.editor.result;this.closeInlineEditor(!1),this.inPlaceSession&&this.inPlaceSession.entityId!==e&&this.inPlaceSession.finish?.(!0),this.popover.hide();let i=t&&t.getAttribute(`data-mw-entity`)===e?t:null,a=null,o=``,s=()=>{};if(n&&e.startsWith(`node:`)){let t=n.nodeById.get(e.slice(5));if(!t||(o=t.label,a=this.correlation?.nodes.get(e)??null,s=e=>this.editor.dispatch({type:`renameNode`,id:t.id,label:e},`canvas`),a&&this.editInPlace(e,a,`.nodeLabel`,o,s)))return}else if(n&&e.startsWith(`edge:`)){let t=n.edges.find(t=>t.entityId===e);if(!t||(o=t.label??``,a=this.correlation?.edgeLabels.get(e)??this.correlation?.edges.get(e)??null,s=t=>this.editor.dispatch({type:`setEdgeLabel`,edgeId:e,label:t},`canvas`),t.label&&a&&this.editInPlace(e,a,`.edgeLabel`,o,s)))return}else if(n&&e.startsWith(`subgraph:`)){let t=n.subgraphs.find(t=>t.entityId===e);if(!t)return;o=t.title??t.id,a=this.correlation?.nodes.get(e)?.querySelector(`.cluster-label`)??i??this.correlation?.nodes.get(e)??this.svg?.querySelector(`#${CSS.escape(t.id)}`)??null,s=e=>this.editor.dispatch({type:`renameSubgraph`,id:t.id,title:e},`canvas`)}else if(this.editor.result.state&&e.startsWith(`state:`)){let t=this.editor.result.state.stateById.get(e.slice(6));if(!t||(o=t.label,a=this.correlation?.nodes.get(e)??null,s=e=>this.editor.dispatch({type:`st.setStateLabel`,id:t.id,label:e},`canvas`),a&&this.editInPlace(e,a,`.nodeLabel`,o,s)))return}else if(this.editor.result.state&&e.startsWith(`trans:`)){let t=this.editor.result.state.transitions.find(t=>t.entityId===e);if(!t||(o=t.label??``,a=this.correlation?.edgeLabels.get(e)??this.correlation?.edges.get(e)??null,s=t=>this.editor.dispatch({type:`st.setTransitionLabel`,transId:e,label:t},`canvas`),t.label&&a&&this.editInPlace(e,a,`.edgeLabel`,o,s)))return}else if(this.editor.result.classGraph&&e.startsWith(`class:`)){let t=this.editor.result.classGraph.classById.get(e.slice(6));if(!t)return;o=t.id,a=i??this.correlation?.nodes.get(e)??null,s=e=>this.editor.dispatch({type:`cl.renameClass`,id:t.id,name:e},`canvas`)}else if(this.editor.result.classGraph&&e.startsWith(`rel:`)){let t=this.editor.result.classGraph.relations.find(t=>t.entityId===e);if(!t)return;o=t.label??``,a=this.correlation?.edgeLabels.get(e)??this.correlation?.edges.get(e)??null,s=t=>this.editor.dispatch({type:`cl.setRelationLabel`,relId:e,label:t},`canvas`)}else if(this.editor.result.er&&e.startsWith(`entity:`)){let t=this.editor.result.er.entityById.get(e.slice(7));if(!t)return;o=t.id,a=i??this.correlation?.nodes.get(e)??null,s=e=>this.editor.dispatch({type:`er.renameEntity`,id:t.id,name:e},`canvas`)}else if(this.editor.result.er&&e.startsWith(`erel:`)){let t=this.editor.result.er.relations.find(t=>t.entityId===e);if(!t)return;o=t.label,a=this.correlation?.edgeLabels.get(e)??this.correlation?.edges.get(e)??null,s=t=>this.editor.dispatch({type:`er.setRelationLabel`,relId:e,label:t},`canvas`)}else if(this.editor.result.pie&&e.startsWith(`slice:`)){let t=this.editor.result.pie.slices.find(t=>t.entityId===e);if(!t)return;o=String(t.value),a=i??this.entityElement(e),s=t=>{let n=Number(t);Number.isFinite(n)&&this.editor.dispatch({type:`pie.setValue`,sliceId:e,value:n},`canvas`)}}else if(this.editor.result.gantt&&e.startsWith(`task:`)){let t=this.editor.result.gantt.tasks.find(t=>t.entityId===e);if(!t)return;o=t.name,a=i??this.entityElement(e),s=t=>this.editor.dispatch({type:`gantt.setTaskName`,taskId:e,name:t},`canvas`)}else if(this.editor.result.lineItems&&e.startsWith(`item:`)){let t=this.editor.result.lineItems.items.find(t=>t.entityId===e);if(!t)return;o=t.text,a=i??this.entityElement(e),s=t=>this.editor.dispatch({type:`li.setLine`,itemId:e,text:t},`canvas`)}else if(r&&e.startsWith(`participant:`)){let t=r.participantById.get(e.slice(12));if(!t)return;o=t.label,a=i??this.topmostEntityElement(e),s=e=>this.editor.dispatch({type:`seq.renameParticipant`,id:t.id,name:e},`canvas`)}else if(r&&e.startsWith(`event:`)){let t=r.events.find(t=>t.entityId===e);if(!t)return;o=t.stmt.text,a=this.seqCorrelation?.eventTexts.get(e)??i??this.entityElement(e),s=t=>this.editor.dispatch({type:`seq.setEventText`,eventId:e,text:t},`canvas`)}a&&this.openOverlayEditor(a,o,s)}editInPlace(e,t,n,r,i,a={}){let o=t.matches?.(n)?t.querySelector(`p`)??t:t.querySelector(`${n} p`)??t.querySelector(n);if(!o||!(o instanceof HTMLElement))return!1;let s=this.inPlaceSession?.entityId===e;if(s&&this.inPlaceSession.label===o&&o.isConnected)return o.focus(),!0;s||(this.inPlaceSession={entityId:e,labelSelector:n,original:r,lastCommitted:r,caretOffset:-1,commitValue:i,liveTimer:null,label:null,finish:null});let c=this.inPlaceSession;c.label=o,o.setAttribute(`contenteditable`,`true`);let l=o.closest(`foreignObject`),u=o.style.whiteSpace,d=l?.style.overflow??``;if(o.style.whiteSpace=`nowrap`,l&&(l.style.overflow=`visible`),o.focus(),s&&c.caretOffset>=0)x(o,c.caretOffset);else{let e=window.getSelection(),t=document.createRange();t.selectNodeContents(o),e?.removeAllRanges(),e?.addRange(t)}let f=()=>{let e=b(o);e>=0&&(c.caretOffset=e)},p=()=>{if(this.inPlaceSession!==c)return;let e=y(o);!e||e===c.lastCommitted||(f(),c.lastCommitted=e,c.commitValue(e))},m=e=>{if(this.inPlaceSession!==c)return;this.inPlaceSession=null,c.liveTimer&&clearTimeout(c.liveTimer),o.removeAttribute(`contenteditable`),o.style.whiteSpace=u,l&&(l.style.overflow=d),o.removeEventListener(`keydown`,g),o.removeEventListener(`blur`,_),o.removeEventListener(`input`,h);let t=y(o);e?t&&t!==c.lastCommitted?c.commitValue(t):t||(o.textContent=c.lastCommitted):(o.innerHTML=c.original,c.lastCommitted!==c.original&&c.commitValue(c.original)),this.renderHeldByEdit&&(this.renderHeldByEdit=!1,this.scheduleRender()),this.updatePopover()},h=()=>{a.live!==!1&&(c.liveTimer&&clearTimeout(c.liveTimer),c.liveTimer=setTimeout(p,450))},g=e=>{e.stopPropagation(),e.key===`Enter`?(e.preventDefault(),m(!0)):e.key===`Escape`&&m(!1)},_=()=>{setTimeout(()=>{this.inPlaceSession===c&&o.isConnected&&document.activeElement!==o&&m(!0)},60)};return c.finish=m,o.addEventListener(`keydown`,g),o.addEventListener(`blur`,_),o.addEventListener(`input`,h),!0}activeInPlaceSession(){return this.inPlaceSession}resumeInPlaceSession(e){let t=this.inPlaceSession;if(!t)return;if(!this.editor.entityExists(t.entityId)){this.inPlaceSession=null;return}let n=(t.entityId.startsWith(`edge:`)?this.correlation?.edgeLabels.get(t.entityId):null)??this.entityElement(t.entityId);if(!n){this.inPlaceSession=null;return}this.editInPlace(t.entityId,n,t.labelSelector,t.lastCommitted,t.commitValue);let r=this.inPlaceSession===t?t.label:null;!r||!e||(e.value&&e.value!==t.lastCommitted&&e.value!==y(r)&&(r.innerHTML=e.value,r.dispatchEvent(new Event(`input`))),e.caret>=0&&x(r,e.caret))}findTextTarget(e,t){let n=e=>(e.tagName===`text`||e.tagName===`SPAN`||e.tagName===`P`||e.tagName===`DIV`||e.tagName===`tspan`)&&(e.children.length===0||e.tagName===`text`)&&(e.textContent?.trim().length??0)>0;if(n(e))return e;let r=[...e.querySelectorAll(`text, tspan, span, p, div`)].filter(n);return!r.length&&e.parentElement&&(r=[...e.parentElement.querySelectorAll(`text, tspan, span, p, div`)].filter(n)),r.find(e=>e.textContent?.trim()===t.trim())??r.find(e=>t.trim().startsWith(e.textContent?.trim()??`\0`))??r[0]??e}openOverlayEditor(e,t,n){e=this.findTextTarget(e,t);let r=this.hostRect(e),i=e.querySelector(`tspan`)??e,a=window.getComputedStyle(i),o=document.createElement(`div`);o.className=`mw-inplace-editor`,o.contentEditable=`true`,o.spellcheck=!1,o.textContent=t,o.style.left=`${r.left+r.width/2}px`,o.style.top=`${r.top}px`,o.style.transform=`translateX(-50%)`,o.style.textAlign=`center`,o.style.minWidth=`${Math.max(24,r.width)}px`,o.style.lineHeight=`${Math.max(r.height,12)}px`,o.style.fontStyle=a.fontStyle,o.style.fontWeight=a.fontWeight;let s=this.panZoomEnabled?this.zoomScale:1,c=Number.parseFloat(a.fontSize);o.style.fontSize=Number.isFinite(c)?`${c*s}px`:a.fontSize,o.style.fontFamily=a.fontFamily;let l=a.fill&&a.fill!==`none`&&i instanceof SVGElement?a.fill:a.color;o.style.color=l||`inherit`,this.overlayHost.appendChild(o),this.inlineInput=o;let u=e,d=u.style?.visibility??``;u.style&&(u.style.visibility=`hidden`),this.inlineHidden={el:u,prevVisibility:d},o.focus();let f=document.createRange();f.selectNodeContents(o);let p=window.getSelection();p?.removeAllRanges(),p?.addRange(f);let m=()=>{let e=(o.textContent??``).trim();this.closeInlineEditor(!1),e!==t&&n(e)};o.addEventListener(`keydown`,e=>{e.stopPropagation(),e.key===`Enter`&&(e.preventDefault(),m()),e.key===`Escape`&&this.closeInlineEditor(!1)}),o.addEventListener(`blur`,m)}closeInlineEditor(e){if(this.inlineHidden&&=(this.inlineHidden.el.style&&(this.inlineHidden.el.style.visibility=this.inlineHidden.prevVisibility),null),this.inlineInput){let t=this.inlineInput;this.inlineInput=null,t.remove(),e&&this.container.focus({preventScroll:!0})}}onKeyDown(e){if(!this.inlineInput){if((e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`z`){e.preventDefault(),e.shiftKey?this.editor.redo():this.editor.undo();return}if(!this.readOnly){if((e.key===`Delete`||e.key===`Backspace`)&&this.editor.selection.length){e.preventDefault(),this.editor.deleteEntities(this.editor.selection,`canvas`);return}if(e.key===`Escape`){this.cancelConnect(),this.editor.clearSelection(`canvas`);return}e.key===`Enter`&&this.editor.selection.length===1&&(e.preventDefault(),this.editEntityLabel(this.editor.selection[0]))}}}applySelectionStyles(){if(this.svg){this.svg.querySelectorAll(`.mw-selected`).forEach(e=>e.classList.remove(`mw-selected`));for(let e of this.editor.selection)this.svg.querySelectorAll(`[data-mw-entity="${CSS.escape(e)}"]`).forEach(e=>{e.classList.add(`mw-selected`)});this.updatePopover()}}hostRect(e){let t=e.getBoundingClientRect(),n=this.container.getBoundingClientRect();return{left:t.left-n.left+this.container.scrollLeft,top:t.top-n.top+this.container.scrollTop,width:t.width,height:t.height}}updatePopover(){if(this.popover.hide(),this.readOnly||this.inlineInput||this.inPlaceSession)return;let e=this.editor.selection;if(e.length!==1||!this.svg)return;let t=e[0],n=[...this.svg.querySelectorAll(`[data-mw-entity="${CSS.escape(t)}"]`)],r=null,i=this.popoverAnchorPick;if(i&&i.entityId===t&&n[i.index])r=n[i.index];else{let e=1/0;for(let t of n){let n=t.getBoundingClientRect().top;n<e&&(e=n,r=t)}}if(!r)return;let a=this.actionsFor(t);a.length&&this.popover.show(this.hostRect(r),a)}colorSection(e,t){return{title:e,columns:5,items:[...h.map(n=>({swatch:n,title:`${e}: ${n}`,onClick:()=>t(n)})),{swatch:`none`,title:`${e}: default`,onClick:()=>t(null)}]}}actionsFor(n){let{flowchart:r,sequence:i}=this.editor.result,a={icon:f.trash,title:`Delete`,danger:!0,onClick:()=>this.editor.deleteEntities([n])},o={icon:f.pencil,title:`Edit text`,onClick:()=>this.editEntityLabel(n)};if(r&&n.startsWith(`node:`)){let e=r.nodeById.get(n.slice(5));return e?[{icon:f.shapes,title:`Node shape`,panel:{title:`Node shape`,items:[{s:`rect`,g:`▭`,t:`Rectangle`},{s:`round`,g:`▢`,t:`Rounded`},{s:`stadium`,g:`⬭`,t:`Stadium`},{s:`diamond`,g:`◇`,t:`Diamond`},{s:`hexagon`,g:`⬡`,t:`Hexagon`},{s:`circle`,g:`◯`,t:`Circle`},{s:`cylinder`,g:`⛁`,t:`Cylinder`},{s:`subroutine`,g:`⧉`,t:`Subroutine`}].map(t=>({glyph:t.g,title:t.t,selected:e.shape===t.s,onClick:()=>this.editor.dispatch({type:`setNodeShape`,id:e.id,shape:t.s})}))}},{icon:f.palette,title:`Colors`,panel:{title:`Colors`,sections:[`fill`,`stroke`,`color`].map(t=>this.colorSection(t===`fill`?`Fill`:t===`stroke`?`Border`:`Text`,n=>this.editor.dispatch({type:`setNodeColor`,id:e.id,prop:t,value:n})))}},{icon:f.copy,title:`Duplicate`,onClick:()=>this.editor.dispatch({type:`duplicateNode`,id:e.id})},o,a]:[]}if(r&&n.startsWith(`subgraph:`))return[{icon:f.pencil,title:`Rename subgraph`,onClick:()=>this.editEntityLabel(n)}];if(r&&n.startsWith(`edge:`)){let e=r.edges.find(e=>e.entityId===n);return e?[{icon:f.arrowRight,title:`Edge type`,panel:{title:`Edge type`,items:[{line:`solid`,arrowEnd:`arrow`,g:`—▶`,t:`solid arrow`},{line:`dotted`,arrowEnd:`arrow`,g:`⋯▶`,t:`dotted arrow`},{line:`thick`,arrowEnd:`arrow`,g:`═▶`,t:`thick arrow`},{line:`solid`,arrowEnd:`open`,g:`——`,t:`solid open`},{line:`dotted`,arrowEnd:`open`,g:`⋯⋯`,t:`dotted open`},{line:`thick`,arrowEnd:`open`,g:`══`,t:`thick open`},{line:`solid`,arrowEnd:`cross`,g:`—✕`,t:`solid cross`},{line:`solid`,arrowEnd:`circle`,g:`—●`,t:`solid circle`}].map(t=>({glyph:t.g,title:t.t,selected:e.seg.line===t.line&&e.seg.arrowEnd===t.arrowEnd,onClick:()=>this.editor.dispatch({type:`setEdgeStyle`,edgeId:n,line:t.line,arrowEnd:t.arrowEnd})}))}},{icon:f.palette,title:`Edge color`,panel:{title:`Edge color`,sections:[this.colorSection(`Stroke`,e=>this.editor.dispatch({type:`setEdgeColor`,edgeId:n,value:e}))]}},{icon:f.arrowLeftRight,title:`Reverse direction`,onClick:()=>this.editor.dispatch({type:`reverseEdge`,edgeId:n})},o,a]:[]}if(this.editor.result.state&&n.startsWith(`state:`)){let e=this.editor.result.state.stateById.get(n.slice(6));return e?e.isComposite?[o]:[{icon:f.square,title:`State type`,panel:{title:`State type`,items:[{t:`state`,g:`▢`},{t:`choice`,g:`◇`},{t:`fork`,g:`⑃`},{t:`join`,g:`⑂`}].map(t=>({glyph:t.g,title:t.t,selected:(e.stereotype??`state`)===t.t,onClick:()=>this.editor.dispatch({type:`st.setStateType`,id:e.id,stype:t.t})}))}},{icon:f.stickyNote,title:`Add note`,panel:{title:`Note`,items:[`left`,`right`].map(t=>({glyph:t===`left`?`◧`:`◨`,title:`Note ${t}`,onClick:()=>this.editor.dispatch({type:`st.addStateNote`,id:e.id,side:t})}))}},{icon:f.frame,title:`Move to composite`,onClick:()=>this.editor.dispatch({type:`st.moveToComposite`,id:e.id})},o,a]:[]}if(this.editor.result.state&&n.startsWith(`trans:`))return[{icon:f.arrowLeftRight,title:`Reverse direction`,onClick:()=>this.editor.dispatch({type:`st.reverseTransition`,transId:n})},o,a];if(this.editor.result.classGraph&&n.startsWith(`class:`)){let e=this.editor.result.classGraph.classById.get(n.slice(6));return e?[{icon:f.listPlus,title:`Add member`,onClick:()=>{this.editor.dispatch({type:`cl.addMember`,id:e.id,text:`+attribute`})}},{icon:f.braces,title:`Annotation`,panel:{title:`Annotation`,items:[...[`interface`,`abstract`,`service`,`enumeration`].map(t=>({glyph:t,title:`<<${t}>>`,onClick:()=>this.editor.dispatch({type:`cl.setAnnotation`,id:e.id,annotation:t})})),{glyph:`none`,title:`Remove annotation`,onClick:()=>this.editor.dispatch({type:`cl.setAnnotation`,id:e.id,annotation:null})}]}},{icon:f.stickyNote,title:`Add note`,onClick:()=>this.editor.dispatch({type:`cl.addNoteFor`,id:e.id})},{icon:f.pencil,title:`Rename class`,onClick:()=>this.editEntityLabel(n)},a]:[]}if(this.editor.result.classGraph&&n.startsWith(`rel:`)){let e=this.editor.result.classGraph.relations.find(e=>e.entityId===n);return e?[{icon:f.arrowRight,title:`Relation type`,panel:{title:`Relation type`,items:[{op:`<|--`,g:`◁—`,t:`inheritance`},{op:`*--`,g:`◆—`,t:`composition`},{op:`o--`,g:`◇—`,t:`aggregation`},{op:`-->`,g:`—▶`,t:`association`},{op:`--`,g:`——`,t:`link (solid)`},{op:`..>`,g:`⋯▶`,t:`dependency`},{op:`..|>`,g:`⋯▷`,t:`realization`},{op:`..`,g:`⋯⋯`,t:`link (dashed)`}].map(t=>({glyph:t.g,title:t.t,selected:e.stmt.op===t.op,onClick:()=>this.editor.dispatch({type:`cl.setRelationType`,relId:n,op:t.op})}))}},{icon:f.arrowLeftRight,title:`Reverse direction`,onClick:()=>this.editor.dispatch({type:`cl.reverseRelation`,relId:n})},{glyph:`1:1`,title:`Cardinality (e.g. 1, 0..1, 1..*, *)`,onClick:()=>{let t=this.entityElement(n);if(!t)return;this.popover.hide();let r=`${e.stmt.sourceCard??``}:${e.stmt.targetCard??``}`;this.openOverlayEditor(t,r,t=>{let[r=``,i=``]=t.split(`:`);this.editor.dispatch({type:`cl.setCardinality`,relId:n,side:`source`,value:r.trim()||null},`canvas`);let a=this.editor.result.classGraph?.relations.find(t=>t.lineIndex===e.lineIndex&&t.source===e.source&&t.target===e.target);a&&this.editor.dispatch({type:`cl.setCardinality`,relId:a.entityId,side:`target`,value:i.trim()||null},`canvas`)})}},o,a]:[]}if(this.editor.result.er&&n.startsWith(`entity:`)){let e=this.editor.result.er.entityById.get(n.slice(7));return e?[{icon:f.listPlus,title:`Add attribute`,onClick:()=>this.editor.dispatch({type:`er.addAttribute`,id:e.id})},{icon:f.pencil,title:`Rename entity`,onClick:()=>this.editEntityLabel(n)},a]:[]}if(this.editor.result.er&&n.startsWith(`erel:`)){let e=this.editor.result.er.relations.find(e=>e.entityId===n);if(!e)return[];let t=[{c:`zero-or-one`,g:`0..1`},{c:`exactly-one`,g:`1`},{c:`zero-or-more`,g:`0..*`},{c:`one-or-more`,g:`1..*`}],r=r=>({icon:r===`left`?f.arrowLeftToLine:f.arrowRightToLine,title:`${r===`left`?`Source`:`Target`} cardinality`,panel:{title:`${r===`left`?e.source:e.target} cardinality`,items:t.map(e=>({glyph:e.g,title:e.c,onClick:()=>this.editor.dispatch({type:`er.setCardinality`,relId:n,side:r,card:e.c})}))}});return[r(`left`),r(`right`),{icon:e.stmt.line===`--`?f.minus:f.ellipsis,title:e.stmt.line===`--`?`Make non-identifying (dashed)`:`Make identifying (solid)`,onClick:()=>this.editor.dispatch({type:`er.setIdentifying`,relId:n,identifying:e.stmt.line!==`--`})},o,a]}if(this.editor.result.pie&&n.startsWith(`slice:`)){let e=this.editor.result.pie.slices.find(e=>e.entityId===n);return e?[{icon:f.hash,title:`Edit value`,onClick:()=>this.editEntityLabel(n)},{icon:f.pencil,title:`Edit label`,onClick:()=>{let t=this.entityElement(n);t&&(this.popover.hide(),this.openOverlayEditor(t,e.label,e=>this.editor.dispatch({type:`pie.setLabel`,sliceId:n,label:e},`canvas`)))}},a]:[]}if(this.editor.result.gantt&&n.startsWith(`task:`)){let e=this.editor.result.gantt.tasks.find(e=>e.entityId===n);return e?[{icon:f.pencil,title:`Rename task`,onClick:()=>this.editEntityLabel(n)},{icon:f.calendar,title:`Edit schedule (id, start, duration)`,onClick:()=>{let t=this.entityElement(n);t&&(this.popover.hide(),this.openOverlayEditor(t,e.meta,e=>this.editor.dispatch({type:`gantt.setTaskMeta`,taskId:n,meta:e},`canvas`)))}},a]:[]}if(this.editor.result.lineItems&&n.startsWith(`item:`))return[{icon:f.pencil,title:`Edit line`,onClick:()=>this.editEntityLabel(n)},a];if(i&&n.startsWith(`participant:`)){let e=i.participantById.get(n.slice(12));if(!e)return[];let r={participant:`▭`,actor:`웃`,boundary:`⊢○`,control:`◉`,entity:`◯`,database:`⛁`,collections:`⧉`,queue:`▤`};return[{icon:f.user,title:`Participant type`,panel:{title:`Participant type`,items:t.map(t=>({glyph:r[t],title:t,selected:e.ptype===t,onClick:()=>this.editor.dispatch({type:`seq.setParticipantType`,id:e.id,ptype:t})}))}},{icon:f.pencil,title:`Rename`,onClick:()=>this.editEntityLabel(n)},a]}if(i&&n.startsWith(`event:`)){let t=i.events.find(e=>e.entityId===n);if(!t)return[];if(t.kind===`message`){let r={"->":`——`,"->>":`—▶`,"-->":`⋯⋯`,"-->>":`⋯▶`,"-x":`—✕`,"--x":`⋯✕`,"-)":`—⟩`,"--)":`⋯⟩`};return[{icon:f.arrowRight,title:`Message type`,panel:{title:`Message type`,items:e.map(e=>({glyph:r[e.op],title:e.label,selected:t.stmt.op===e.op,onClick:()=>this.editor.dispatch({type:`seq.setMessageOp`,eventId:n,op:e.op})}))}},{icon:f.arrowLeftRight,title:`Reverse direction`,onClick:()=>this.editor.dispatch({type:`seq.reverseMessage`,eventId:n})},{icon:f.group,title:`Wrap in fragment`,panel:{title:`Fragment`,items:[`loop`,`alt`,`opt`,`par`,`critical`,`break`,`rect`].map(e=>({glyph:e,title:`Wrap in ${e}`,onClick:()=>this.editor.dispatch({type:`seq.wrapInFragment`,eventId:n,kind:e})}))}},o,a]}return[o,a]}return[]}computeDropSlots(){let e=this.editor.result.sequence;if(this.dropSlots=[],!e||!this.seqCorrelation)return;let t=e.events.map(e=>{let t=this.seqCorrelation.events.get(e.entityId);if(!t)return null;let n=this.hostRect(t);return{ev:e,y:n.top+n.height/2}}).filter(e=>e!==null);if(t.length){this.dropSlots.push({y:t[0].y-24,afterEvent:null});for(let e=1;e<t.length;e++)this.dropSlots.push({y:(t[e-1].y+t[e].y)/2,afterEvent:t[e-1].ev.entityId});this.dropSlots.push({y:t[t.length-1].y+24,afterEvent:t[t.length-1].ev.entityId})}}nearestSlot(e){let t=null,n=1/0;for(let r of this.dropSlots){let i=Math.abs(r.y-e);i<n&&(n=i,t=r)}return t}showDropIndicator(e){this.dropIndicator||(this.dropIndicator=document.createElement(`div`),this.dropIndicator.className=`mw-drop-indicator`,this.overlayHost.appendChild(this.dropIndicator)),this.dropIndicator.style.top=`${e}px`}plusHovered=!1;lifelineClearTimer=null;onLifelineHover(e){if(this.readOnly||!this.seqCorrelation||this.connectSource||!this.editor.result.sequence)return;let t=null;for(let[n,r]of this.seqCorrelation.lifelines){let i=r.getBoundingClientRect(),a=i.left+i.width/2;if(Math.abs(e.clientX-a)<=16&&e.clientY>=i.top-8&&e.clientY<=i.bottom+8){t=n;break}}t!==this.hoveredLifeline&&(t?this.showLifelinePlus(t):this.scheduleLifelineClear())}showLifelinePlus(e){this.clearLifelineUi();let t=this.editor.result.sequence,n=this.seqCorrelation?.lifelines.get(e);if(!t||!n)return;this.hoveredLifeline=e;let r=e.slice(12),i=this.hostRect(n),a=i.left+i.width/2,o=[],s=t.events.map(e=>{let t=this.seqCorrelation?.events.get(e.entityId);if(!t)return null;let n=this.hostRect(t);return{ev:e,y:n.top+n.height/2}}).filter(e=>e!==null);if(s.length===0)o.push({y:i.top+i.height/2,afterEvent:null});else{o.push({y:(i.top+s[0].y)/2,afterEvent:null});for(let e=1;e<s.length;e++)o.push({y:(s[e-1].y+s[e].y)/2,afterEvent:s[e-1].ev.entityId});o.push({y:(s[s.length-1].y+i.top+i.height)/2,afterEvent:s[s.length-1].ev.entityId})}for(let e of o){let t=document.createElement(`button`);t.type=`button`,t.className=`mw-lifeline-plus`,t.textContent=`+`,t.title=`Insert here (self message / note)`,t.style.left=`${a}px`,t.style.top=`${e.y}px`,t.addEventListener(`pointerenter`,()=>{this.plusHovered=!0}),t.addEventListener(`pointerleave`,()=>{this.plusHovered=!1,this.scheduleLifelineClear()}),t.addEventListener(`click`,n=>{n.stopPropagation(),this.openPlusMenu(t,r,e.afterEvent)}),this.overlayHost.appendChild(t),this.plusButtons.push(t)}}openPlusMenu(e,t,n){this.plusMenu?.remove();let r=document.createElement(`div`);r.className=`mw-plus-menu`,r.style.left=e.style.left,r.style.top=`${parseFloat(e.style.top)+12}px`,r.addEventListener(`pointerdown`,e=>e.stopPropagation());let i=(e,t)=>{let n=document.createElement(`button`);n.type=`button`,n.textContent=e,n.addEventListener(`click`,e=>{e.stopPropagation(),this.clearLifelineUi(),t()}),r.appendChild(n)};i(`↩ Self message`,()=>{let e=this.editor.dispatch({type:`seq.addMessage`,source:t,target:t,text:`message`,afterEvent:n},`canvas`);e?.created?.[0]&&(this.pendingEditEntity=e.created[0])});let a=(e,r)=>i(e,()=>{let e=this.editor.dispatch({type:`seq.addNote`,participant:t,placement:r,text:`note`,afterEvent:n},`canvas`);e?.created?.[0]&&(this.pendingEditEntity=e.created[0])});a(`▭ Note over`,`over`),a(`▭ Note left`,`left of`),a(`▭ Note right`,`right of`),this.overlayHost.appendChild(r),this.plusMenu=r}scheduleLifelineClear(){this.lifelineClearTimer&&clearTimeout(this.lifelineClearTimer),this.lifelineClearTimer=setTimeout(()=>{!this.plusHovered&&!this.plusMenu&&this.clearLifelineUi()},400)}clearLifelineUi(){this.plusButtons.forEach(e=>e.remove()),this.plusButtons=[],this.plusMenu?.remove(),this.plusMenu=null,this.hoveredLifeline=null,this.plusHovered=!1}clientToSvg(e,t){if(!this.svg)return null;let n=this.svg.getScreenCTM();if(!n)return null;let r=new DOMPoint(e,t).matrixTransform(n.inverse());return{x:r.x,y:r.y}}entityCenter(e){let t=this.entityElement(e);if(!t)return null;let n=t.getBoundingClientRect();return this.clientToSvg(n.left+n.width/2,n.top+n.height/2)}async validate(){try{return await this.mermaid.parse(this.editor.code),!0}catch(e){let t=e instanceof Error?e.message.split(`
124
+ `)[0]:String(e);return this.editor.setDiagnostics([{message:t,span:null,severity:`error`,source:`mermaid`}]),!1}}destroy(){this.renderTimer&&clearTimeout(this.renderTimer),this.lifelineClearTimer&&clearTimeout(this.lifelineClearTimer),this.inPlaceSession?.liveTimer&&clearTimeout(this.inPlaceSession.liveTimer),this.inPlaceSession=null,this.svgTransformObserver?.disconnect(),this.svgTransformObserver=null,this.disposers.forEach(e=>e()),this.closeInlineEditor(!1),this.cancelConnect(),this.clearLifelineUi(),this.popover.hide(),this.container.classList.remove(`mw-canvas`,`mw-tool-connect`,`mw-readonly`,`mw-panzoom`,`mw-panning`),this.svgHost.remove(),this.overlayHost.remove(),this.errorBadge.remove(),this.zoomControls?.remove()}};export{S as MermaidCanvasView,p as Popover,r as correlateFlowchart,u as correlateSequence};
@@ -1,2 +1,2 @@
1
- import{M as e,N as t,j as n}from"./CodeMirrorPropInput-cKlSkGmr.js";import{$ as r,Bt as i,Dt as a,E as o,Ft as s,It as c,J as l,Mt as u,N as d,Nt as f,Ot as p,Q as m,Tt as h,Ut as ee,Vt as g,Wt as te,X as _,Z as ne,_ as re,_t as ie,bt as v,ct as ae,dt as oe,et as se,f as ce,ft as le,gt as ue,ht as de,it as y,jt as fe,kt as b,l as pe,lt as me,nt as he,ot as ge,pt as _e,rt as ve,st as ye,tt as be,ut as xe,vt as Se,y as Ce,yt as we,zt as Te}from"./dist-Bdw_F3kx.js";import{i as Ee,n as De,o as Oe,r as ke}from"./dist-Bu_FO_5U.js";var Ae=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFKD`):e=>e,x=class{constructor(e,t,n=0,r=e.length,i,a){this.test=a,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer=``,this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=i?e=>i(Ae(e)):Ae,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Te(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=te(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=i(e);let r=this.normalize(t);if(r.length)for(let e=0,i=n,a=!0;;e++){let n=r.charCodeAt(e),o=this.match(n,i,a,this.bufferPos+this.bufferStart,e==r.length-1);if(o)return this.value=o,this;if(e==r.length-1)break;a&&e<t.length&&t.charCodeAt(e)==n?i++:a=!1}}}match(e,t,n,r,i){let a=null;for(let t=0;t<this.matches.length;){let n=this.matches[t],o=!1;this.query.charCodeAt(n.index)==e&&(n.index==this.query.length-1?a={from:n.from,to:r,precise:i&&n.precise}:(n.index++,o=!0)),o?t++:this.matches.splice(t,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?a={from:t,to:r,precise:n&&i}:this.matches.push({from:t,index:1,precise:n})),a&&this.test&&!this.test(a.from,a.to,this.buffer,this.bufferStart)&&(a=null),a}};typeof Symbol<`u`&&(x.prototype[Symbol.iterator]=function(){return this});var je={from:-1,to:-1,match:/.*/.exec(``),precise:!0},S=`gm`+(/x/.unicode==null?``:`u`),Me=class{constructor(e,t,n,r=0,i=e.length){if(this.text=e,this.to=i,this.curLine=``,this.done=!1,this.value=je,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new Pe(e,t,n,r,i);this.re=new RegExp(t,S+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.iter=e.iter(),this.curLineStart=e.lineAt(r).from,this.matchPos=w(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine=``:(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine=``:this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,r=n+t[0].length;if(this.matchPos=w(this.text,r+ +(n==r)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<r||n>this.value.to)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},C=new WeakMap,Ne=class e{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(t,n,r){let i=C.get(t);if(!i||i.from>=r||i.to<=n){let i=new e(n,t.sliceString(n,r));return C.set(t,i),i}if(i.from==n&&i.to==r)return i;let{text:a,from:o}=i;return o>n&&(a=t.sliceString(n,o)+a,o=n),i.to<r&&(a+=t.sliceString(i.to,r)),C.set(t,new e(o,a)),new e(n,a.slice(n-o,r-o))}},Pe=class{constructor(e,t,n,r,i){this.text=e,this.to=i,this.done=!1,this.value=je,this.matchPos=w(e,r),this.re=new RegExp(t,S+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.flat=Ne.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,n=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,n,t)))return this.value={from:e,to:n,precise:!0,match:t},this.matchPos=w(this.text,n+ +(e==n)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Ne.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<`u`&&(Me.prototype[Symbol.iterator]=Pe.prototype[Symbol.iterator]=function(){return this});function Fe(e){try{return new RegExp(e,S),!0}catch{return!1}}function w(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}var Ie=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:r,result:i}=ie(e,{label:t.phrase(`Go to line`),input:{type:`text`,name:`line`,value:n},focus:!0,submitLabel:t.phrase(`go`)});return i.then(n=>{let i=n&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.elements.line.value);if(!i){e.dispatch({effects:r});return}let o=t.doc.lineAt(t.selection.main.head),[,s,c,l,u]=i,d=l?+l.slice(1):0,f=c?+c:o.number;if(c&&u){let e=f/100;s&&(e=e*(s==`-`?-1:1)+o.number/t.doc.lines),f=Math.round(t.doc.lines*e)}else c&&s&&(f=f*(s==`-`?-1:1)+o.number);let p=t.doc.line(Math.max(1,Math.min(t.doc.lines,f))),m=a.cursor(p.from+Math.max(0,Math.min(d,p.length)));e.dispatch({effects:[r,_.scrollIntoView(m.from,{y:`center`})],selection:m})}),!0},Le={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Re=b.define({combine(e){return g(e,Le,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function ze(e){let t=[Ge,We];return e&&t.push(Re.of(e)),t}var Be=l.mark({class:`cm-selectionMatch`}),Ve=l.mark({class:`cm-selectionMatch cm-selectionMatch-main`});function He(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=h.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=h.Word)}function Ue(e,t,n,r){return e(t.sliceDoc(n,n+1))==h.Word&&e(t.sliceDoc(r-1,r))==h.Word}var We=m.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Re),{state:n}=e,r=n.selection;if(r.ranges.length>1)return l.none;let i=r.main,a,o=null;if(i.empty){if(!t.highlightWordAroundCursor)return l.none;let e=n.wordAt(i.head);if(!e)return l.none;o=n.charCategorizer(i.head),a=n.sliceDoc(e.from,e.to)}else{let e=i.to-i.from;if(e<t.minSelectionLength||e>200)return l.none;if(t.wholeWords){if(a=n.sliceDoc(i.from,i.to),o=n.charCategorizer(i.head),!(He(o,n,i.from,i.to)&&Ue(o,n,i.from,i.to)))return l.none}else if(a=n.sliceDoc(i.from,i.to),!a)return l.none}let s=[];for(let r of e.visibleRanges){let e=new x(n.doc,a,r.from,r.to);for(;!e.next().done;){let{from:r,to:a}=e.value;if((!o||He(o,n,r,a))&&(i.empty&&r<=i.from&&a>=i.to?s.push(Ve.range(r,a)):(r>=i.to||a<=i.from)&&s.push(Be.range(r,a)),s.length>t.maxMatches))return l.none}}return l.set(s)}},{decorations:e=>e.decorations}),Ge=_.baseTheme({".cm-selectionMatch":{backgroundColor:`#99ff7780`},".cm-searchMatch .cm-selectionMatch":{backgroundColor:`transparent`}}),Ke=({state:e,dispatch:t})=>{let{selection:n}=e,r=a.create(n.ranges.map(t=>e.wordAt(t.head)||a.cursor(t.head)),n.mainIndex);return r.eq(n)?!1:(t(e.update({selection:r})),!0)};function qe(e,t){let{main:n,ranges:r}=e.selection,i=e.wordAt(n.head),a=i&&i.from==n.from&&i.to==n.to;for(let n=!1,i=new x(e.doc,t,r[r.length-1].to);;)if(i.next(),i.done){if(n)return null;i=new x(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),n=!0}else{if(n&&r.some(e=>e.from==i.value.from))continue;if(a){let t=e.wordAt(i.value.from);if(!t||t.from!=i.value.from||t.to!=i.value.to)continue}return i.value}}var Je=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(e=>e.from===e.to))return Ke({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=r))return!1;let i=qe(e,r);return i?(t(e.update({selection:e.selection.addRange(a.range(i.from,i.to),!1),effects:_.scrollIntoView(i.to)})),!0):!1},T=b.define({combine(e){return g(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new _t(e),scrollToMatch:e=>_.scrollIntoView(e)})}});function Ye(e){return e?[T.of(e),H]:H}var Xe=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||``,this.valid=!!this.search&&(!this.regexp||Fe(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>t==`n`?`
1
+ import{M as e,N as t,j as n}from"./CodeMirrorPropInput-Cx9FW420.js";import{$ as r,Bt as i,Dt as a,E as o,Ft as s,It as c,J as l,Mt as u,N as d,Nt as f,Ot as p,Q as m,Tt as h,Ut as ee,Vt as g,Wt as te,X as _,Z as ne,_ as re,_t as ie,bt as v,ct as ae,dt as oe,et as se,f as ce,ft as le,gt as ue,ht as de,it as y,jt as fe,kt as b,l as pe,lt as me,nt as he,ot as ge,pt as _e,rt as ve,st as ye,tt as be,ut as xe,vt as Se,y as Ce,yt as we,zt as Te}from"./dist-Bdw_F3kx.js";import{i as Ee,n as De,o as Oe,r as ke}from"./dist-Bu_FO_5U.js";var Ae=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFKD`):e=>e,x=class{constructor(e,t,n=0,r=e.length,i,a){this.test=a,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer=``,this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=i?e=>i(Ae(e)):Ae,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Te(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=te(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=i(e);let r=this.normalize(t);if(r.length)for(let e=0,i=n,a=!0;;e++){let n=r.charCodeAt(e),o=this.match(n,i,a,this.bufferPos+this.bufferStart,e==r.length-1);if(o)return this.value=o,this;if(e==r.length-1)break;a&&e<t.length&&t.charCodeAt(e)==n?i++:a=!1}}}match(e,t,n,r,i){let a=null;for(let t=0;t<this.matches.length;){let n=this.matches[t],o=!1;this.query.charCodeAt(n.index)==e&&(n.index==this.query.length-1?a={from:n.from,to:r,precise:i&&n.precise}:(n.index++,o=!0)),o?t++:this.matches.splice(t,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?a={from:t,to:r,precise:n&&i}:this.matches.push({from:t,index:1,precise:n})),a&&this.test&&!this.test(a.from,a.to,this.buffer,this.bufferStart)&&(a=null),a}};typeof Symbol<`u`&&(x.prototype[Symbol.iterator]=function(){return this});var je={from:-1,to:-1,match:/.*/.exec(``),precise:!0},S=`gm`+(/x/.unicode==null?``:`u`),Me=class{constructor(e,t,n,r=0,i=e.length){if(this.text=e,this.to=i,this.curLine=``,this.done=!1,this.value=je,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new Pe(e,t,n,r,i);this.re=new RegExp(t,S+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.iter=e.iter(),this.curLineStart=e.lineAt(r).from,this.matchPos=w(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine=``:(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine=``:this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,r=n+t[0].length;if(this.matchPos=w(this.text,r+ +(n==r)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<r||n>this.value.to)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},C=new WeakMap,Ne=class e{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(t,n,r){let i=C.get(t);if(!i||i.from>=r||i.to<=n){let i=new e(n,t.sliceString(n,r));return C.set(t,i),i}if(i.from==n&&i.to==r)return i;let{text:a,from:o}=i;return o>n&&(a=t.sliceString(n,o)+a,o=n),i.to<r&&(a+=t.sliceString(i.to,r)),C.set(t,new e(o,a)),new e(n,a.slice(n-o,r-o))}},Pe=class{constructor(e,t,n,r,i){this.text=e,this.to=i,this.done=!1,this.value=je,this.matchPos=w(e,r),this.re=new RegExp(t,S+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.flat=Ne.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,n=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,n,t)))return this.value={from:e,to:n,precise:!0,match:t},this.matchPos=w(this.text,n+ +(e==n)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Ne.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<`u`&&(Me.prototype[Symbol.iterator]=Pe.prototype[Symbol.iterator]=function(){return this});function Fe(e){try{return new RegExp(e,S),!0}catch{return!1}}function w(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}var Ie=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:r,result:i}=ie(e,{label:t.phrase(`Go to line`),input:{type:`text`,name:`line`,value:n},focus:!0,submitLabel:t.phrase(`go`)});return i.then(n=>{let i=n&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.elements.line.value);if(!i){e.dispatch({effects:r});return}let o=t.doc.lineAt(t.selection.main.head),[,s,c,l,u]=i,d=l?+l.slice(1):0,f=c?+c:o.number;if(c&&u){let e=f/100;s&&(e=e*(s==`-`?-1:1)+o.number/t.doc.lines),f=Math.round(t.doc.lines*e)}else c&&s&&(f=f*(s==`-`?-1:1)+o.number);let p=t.doc.line(Math.max(1,Math.min(t.doc.lines,f))),m=a.cursor(p.from+Math.max(0,Math.min(d,p.length)));e.dispatch({effects:[r,_.scrollIntoView(m.from,{y:`center`})],selection:m})}),!0},Le={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Re=b.define({combine(e){return g(e,Le,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function ze(e){let t=[Ge,We];return e&&t.push(Re.of(e)),t}var Be=l.mark({class:`cm-selectionMatch`}),Ve=l.mark({class:`cm-selectionMatch cm-selectionMatch-main`});function He(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=h.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=h.Word)}function Ue(e,t,n,r){return e(t.sliceDoc(n,n+1))==h.Word&&e(t.sliceDoc(r-1,r))==h.Word}var We=m.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Re),{state:n}=e,r=n.selection;if(r.ranges.length>1)return l.none;let i=r.main,a,o=null;if(i.empty){if(!t.highlightWordAroundCursor)return l.none;let e=n.wordAt(i.head);if(!e)return l.none;o=n.charCategorizer(i.head),a=n.sliceDoc(e.from,e.to)}else{let e=i.to-i.from;if(e<t.minSelectionLength||e>200)return l.none;if(t.wholeWords){if(a=n.sliceDoc(i.from,i.to),o=n.charCategorizer(i.head),!(He(o,n,i.from,i.to)&&Ue(o,n,i.from,i.to)))return l.none}else if(a=n.sliceDoc(i.from,i.to),!a)return l.none}let s=[];for(let r of e.visibleRanges){let e=new x(n.doc,a,r.from,r.to);for(;!e.next().done;){let{from:r,to:a}=e.value;if((!o||He(o,n,r,a))&&(i.empty&&r<=i.from&&a>=i.to?s.push(Ve.range(r,a)):(r>=i.to||a<=i.from)&&s.push(Be.range(r,a)),s.length>t.maxMatches))return l.none}}return l.set(s)}},{decorations:e=>e.decorations}),Ge=_.baseTheme({".cm-selectionMatch":{backgroundColor:`#99ff7780`},".cm-searchMatch .cm-selectionMatch":{backgroundColor:`transparent`}}),Ke=({state:e,dispatch:t})=>{let{selection:n}=e,r=a.create(n.ranges.map(t=>e.wordAt(t.head)||a.cursor(t.head)),n.mainIndex);return r.eq(n)?!1:(t(e.update({selection:r})),!0)};function qe(e,t){let{main:n,ranges:r}=e.selection,i=e.wordAt(n.head),a=i&&i.from==n.from&&i.to==n.to;for(let n=!1,i=new x(e.doc,t,r[r.length-1].to);;)if(i.next(),i.done){if(n)return null;i=new x(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),n=!0}else{if(n&&r.some(e=>e.from==i.value.from))continue;if(a){let t=e.wordAt(i.value.from);if(!t||t.from!=i.value.from||t.to!=i.value.to)continue}return i.value}}var Je=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(e=>e.from===e.to))return Ke({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=r))return!1;let i=qe(e,r);return i?(t(e.update({selection:e.selection.addRange(a.range(i.from,i.to),!1),effects:_.scrollIntoView(i.to)})),!0):!1},T=b.define({combine(e){return g(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new _t(e),scrollToMatch:e=>_.scrollIntoView(e)})}});function Ye(e){return e?[T.of(e),H]:H}var Xe=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||``,this.valid=!!this.search&&(!this.regexp||Fe(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>t==`n`?`
2
2
  `:t==`r`?`\r`:t==`t`?` `:`\\`)}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new rt(this):new et(this)}getCursor(e,t=0,n){let r=e.doc?e:p.create({doc:e});return n??=r.doc.length,this.regexp?D(this,r,t,n):E(this,r,t,n)}},Ze=class{constructor(e){this.spec=e}};function Qe(e,t,n){return(r,i,a,o)=>n&&!n(r,i,a,o)?!1:e(r>=o&&i<=o+a.length?a.slice(r-o,i-o):t.doc.sliceString(r,i),t,r,i)}function E(e,t,n,r){let i;return e.wholeWord&&(i=$e(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(i=Qe(e.test,t,i)),new x(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:e=>e.toLowerCase(),i)}function $e(e,t){return(n,r,i,a)=>((a>n||a+i.length<r)&&(a=Math.max(0,n-2),i=e.sliceString(a,Math.min(e.length,r+2))),(t(O(i,n-a))!=h.Word||t(k(i,n-a))!=h.Word)&&(t(k(i,r-a))!=h.Word||t(O(i,r-a))!=h.Word))}var et=class extends Ze{constructor(e){super(e)}nextMatch(e,t,n){let r=E(this.spec,e,n,e.doc.length).nextOverlapping();if(r.done){let n=Math.min(e.doc.length,t+this.spec.unquoted.length);r=E(this.spec,e,0,n).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==n?null:r.value}prevMatchInRange(e,t,n){for(let r=n;;){let n=Math.max(t,r-1e4-this.spec.unquoted.length),i=E(this.spec,e,n,r),a=null;for(;!i.nextOverlapping().done;)a=i.value;if(a)return a;if(n==t)return null;r-=1e4}}prevMatch(e,t,n){let r=this.prevMatchInRange(e,0,t);return r||=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length),r&&(r.from!=t||r.to!=n)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=E(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=E(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}};function tt(e,t,n){return(r,i,a)=>(!n||n(r,i,a))&&e(a[0],t,r,i)}function D(e,t,n,r){let i;return e.wholeWord&&(i=nt(t.charCategorizer(t.selection.main.head))),e.test&&(i=tt(e.test,t,i)),new Me(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:i},n,r)}function O(e,t){return e.slice(ee(e,t,!1),t)}function k(e,t){return e.slice(t,ee(e,t))}function nt(e){return(t,n,r)=>!r[0].length||(e(O(r.input,r.index))!=h.Word||e(k(r.input,r.index))!=h.Word)&&(e(k(r.input,r.index+r[0].length))!=h.Word||e(O(r.input,r.index+r[0].length))!=h.Word)}var rt=class extends Ze{nextMatch(e,t,n){let r=D(this.spec,e,n,e.doc.length).next();return r.done&&(r=D(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let i=Math.max(t,n-r*1e4),a=D(this.spec,e,i,n),o=null;for(;!a.next().done;)o=a.value;if(o&&(i==t||o.from>i+10))return o;if(i==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if(n==`&`)return e.match[0];if(n==`$`)return`$`;for(let t=n.length;t>0;t--){let r=+n.slice(0,t);if(r>0&&r<e.match.length)return e.match[r]+n.slice(t)}return t})}matchAll(e,t){let n=D(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=D(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}},A=s.define(),j=s.define(),M=c.define({create(e){return new N(dt(e).create(),null)},update(e,t){for(let n of t.effects)n.is(A)?e=new N(n.value.create(),e.panel):n.is(j)&&(e=new N(e.query,n.value?L:null));return e},provide:e=>Se.from(e,e=>e.panel)}),N=class{constructor(e,t){this.query=e,this.panel=t}},it=l.mark({class:`cm-searchMatch`}),at=l.mark({class:`cm-searchMatch cm-searchMatch-selected`}),ot=m.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(M))}update(e){let t=e.state.field(M);(t!=e.startState.field(M)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return l.none;let{view:n}=this,r=new f;for(let t=0,i=n.visibleRanges,a=i.length;t<a;t++){let{from:o,to:s}=i[t];for(;t<a-1&&s>i[t+1].from-500;)s=i[++t].to;e.highlight(n.state,o,s,(e,t)=>{let i=n.state.selection.ranges.some(n=>n.from==e&&n.to==t);r.add(e,t,i?at:it)})}return r.finish()}},{decorations:e=>e.decorations});function P(e){return t=>{let n=t.state.field(M,!1);return n&&n.query.spec.valid?e(t,n):mt(t)}}var F=P((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let i=a.single(r.from,r.to),o=e.state.facet(T);return e.dispatch({selection:i,effects:[V(e,r),o.scrollToMatch(i.main,e)],userEvent:`select.search`}),pt(e),!0}),I=P((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,i=t.prevMatch(n,r,r);if(!i)return!1;let o=a.single(i.from,i.to),s=e.state.facet(T);return e.dispatch({selection:o,effects:[V(e,i),s.scrollToMatch(o.main,e)],userEvent:`select.search`}),pt(e),!0}),st=P((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:a.create(n.map(e=>a.range(e.from,e.to))),userEvent:`select.search.matches`}),!0)}),ct=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:i}=n.main,o=[],s=0;for(let t=new x(e.doc,e.sliceDoc(r,i));!t.next().done;){if(o.length>1e3)return!1;t.value.from==r&&(s=o.length),o.push(a.range(t.value.from,t.value.to))}return t(e.update({selection:a.create(o,s),userEvent:`select.search.matches`})),!0},lt=P((e,{query:t})=>{let{state:n}=e,{from:r,to:i}=n.selection.main;if(n.readOnly)return!1;let o=t.nextMatch(n,r,r);if(!o)return!1;let s=o,c=[],l,u,d=[];s.precise?s.from==r&&s.to==i&&(u=n.toText(t.getReplacement(s)),c.push({from:s.from,to:s.to,insert:u}),s=t.nextMatch(n,s.from,s.to),d.push(_.announce.of(n.phrase(`replaced match on line $`,n.doc.lineAt(r).number)+`.`))):s=t.nextMatch(n,s.from,s.to);let f=e.state.changes(c);return s&&(l=a.single(s.from,s.to).map(f),d.push(V(e,s)),d.push(n.facet(T).scrollToMatch(l.main,e))),e.dispatch({changes:f,selection:l,effects:d,userEvent:`input.replace`}),!0}),ut=P((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let r of t.matchAll(e.state,1e9)){let{from:e,to:i,precise:a}=r;a&&n.push({from:e,to:i,insert:t.getReplacement(r)})}if(!n.length)return!1;let r=e.state.phrase(`replaced $ matches`,n.length)+`.`;return e.dispatch({changes:n,effects:_.announce.of(r),userEvent:`input.replace.all`}),!0});function L(e){return e.state.facet(T).createPanel(e)}function dt(e,t){let n=e.selection.main,r=n.empty||n.to>n.from+100?``:e.sliceDoc(n.from,n.to);if(t&&!r)return t;let i=e.facet(T);return new Xe({search:t?.literal??i.literal?r:r.replace(/\n/g,`\\n`),caseSensitive:t?.caseSensitive??i.caseSensitive,literal:t?.literal??i.literal,regexp:t?.regexp??i.regexp,wholeWord:t?.wholeWord??i.wholeWord})}function ft(e){let t=y(e,L);return t&&t.dom.querySelector(`[main-field]`)}function pt(e){let t=ft(e);t&&t==e.root.activeElement&&t.select()}var mt=e=>{let t=e.state.field(M,!1);if(t&&t.panel){let n=ft(e);if(n&&n!=e.root.activeElement){let r=dt(e.state,t.query.spec);r.valid&&e.dispatch({effects:A.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[j.of(!0),t?A.of(dt(e.state,t.query.spec)):s.appendConfig.of(H)]});return!0},ht=e=>{let t=e.state.field(M,!1);if(!t||!t.panel)return!1;let n=y(e,L);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:j.of(!1)}),!0},gt=[{key:`Mod-f`,run:mt,scope:`editor search-panel`},{key:`F3`,run:F,shift:I,scope:`editor search-panel`,preventDefault:!0},{key:`Mod-g`,run:F,shift:I,scope:`editor search-panel`,preventDefault:!0},{key:`Escape`,run:ht,scope:`editor search-panel`},{key:`Mod-Shift-l`,run:ct},{key:`Mod-Alt-g`,run:Ie},{key:`Mod-d`,run:Je,preventDefault:!0}],_t=class{constructor(e){this.view=e;let t=this.query=e.state.field(M).query.spec;this.commit=this.commit.bind(this),this.searchField=v(`input`,{value:t.search,placeholder:R(e,`Find`),"aria-label":R(e,`Find`),class:`cm-textfield`,name:`search`,form:``,"main-field":`true`,onchange:this.commit,onkeyup:this.commit}),this.replaceField=v(`input`,{value:t.replace,placeholder:R(e,`Replace`),"aria-label":R(e,`Replace`),class:`cm-textfield`,name:`replace`,form:``,onchange:this.commit,onkeyup:this.commit}),this.caseField=v(`input`,{type:`checkbox`,name:`case`,form:``,checked:t.caseSensitive,onchange:this.commit}),this.reField=v(`input`,{type:`checkbox`,name:`re`,form:``,checked:t.regexp,onchange:this.commit}),this.wordField=v(`input`,{type:`checkbox`,name:`word`,form:``,checked:t.wholeWord,onchange:this.commit});function n(e,t,n){return v(`button`,{class:`cm-button`,name:e,onclick:t,type:`button`},n)}this.dom=v(`div`,{onkeydown:e=>this.keydown(e),class:`cm-search`},[this.searchField,n(`next`,()=>F(e),[R(e,`next`)]),n(`prev`,()=>I(e),[R(e,`previous`)]),n(`select`,()=>st(e),[R(e,`all`)]),v(`label`,null,[this.caseField,R(e,`match case`)]),v(`label`,null,[this.reField,R(e,`regexp`)]),v(`label`,null,[this.wordField,R(e,`by word`)]),...e.state.readOnly?[]:[v(`br`),this.replaceField,n(`replace`,()=>lt(e),[R(e,`replace`)]),n(`replaceAll`,()=>ut(e),[R(e,`replace all`)])],v(`button`,{name:`close`,onclick:()=>ht(e),"aria-label":R(e,`close`),type:`button`},[`×`])])}commit(){let e=new Xe({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:A.of(e)}))}keydown(e){ue(this.view,e,`search-panel`)?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?I:F)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),lt(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(A)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(T).top}};function R(e,t){return e.state.phrase(t)}var z=30,B=/[\s\.,:;?!]/;function V(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),i=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-z),o=Math.min(i,n+z),s=e.state.sliceDoc(a,o);if(a!=r.from){for(let e=0;e<z;e++)if(!B.test(s[e+1])&&B.test(s[e])){s=s.slice(e);break}}if(o!=i){for(let e=s.length-1;e>s.length-z;e--)if(!B.test(s[e-1])&&B.test(s[e])){s=s.slice(0,e);break}}return _.announce.of(`${e.state.phrase(`current match`)}. ${s} ${e.state.phrase(`on line`)} ${r.number}.`)}var vt=_.baseTheme({".cm-panel.cm-search":{padding:`2px 6px 4px`,position:`relative`,"& [name=close]":{position:`absolute`,top:`0`,right:`4px`,backgroundColor:`inherit`,border:`none`,font:`inherit`,padding:0,margin:0},"& input, & button, & label":{margin:`.2em .6em .2em 0`},"& input[type=checkbox]":{marginRight:`.2em`},"& label":{fontSize:`80%`,whiteSpace:`pre`}},"&light .cm-searchMatch":{backgroundColor:`#ffff0054`},"&dark .cm-searchMatch":{backgroundColor:`#00ffff8a`},"&light .cm-searchMatch-selected":{backgroundColor:`#ff6a0054`},"&dark .cm-searchMatch-selected":{backgroundColor:`#ff00ff8a`}}),H=[M,fe.low(ot),vt],yt=class{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}},U=class e{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(t,n,r){let i=r.facet(J).markerFilter;i&&(t=i(t,r));let a=t.slice().sort((e,t)=>e.from-t.from||e.to-t.to),o=new f,s=[],c=0,u=r.doc.iter(),d=0,p=r.doc.length;for(let e=0;;){let t=e==a.length?null:a[e];if(!t&&!s.length)break;let n,r;if(s.length)n=c,r=s.reduce((e,t)=>Math.min(e,t.to),t&&t.from>n?t.from:1e8);else{if(n=t.from,n>p)break;r=t.to,s.push(t),e++}for(;e<a.length;){let t=a[e];if(t.from==n&&(t.to>t.from||t.to==n))s.push(t),e++,r=Math.min(t.to,r);else{r=Math.min(t.from,r);break}}r=Math.min(r,p);let i=!1;if(s.some(e=>e.from==n&&(e.to==r||r==p))&&(i=n==r,!i&&r-n<10)){let e=n-(d+u.value.length);e>0&&(u.next(e),d=n);for(let e=n;;){if(e>=r){i=!0;break}if(!u.lineBreak&&d+u.value.length>e)break;e=d+u.value.length,d+=u.value.length,u.next()}}let f=Bt(s);if(i)o.add(n,n,l.widget({widget:new It(f),diagnostics:s.slice()}));else{let e=s.reduce((e,t)=>t.markClass?e+` `+t.markClass:e,``);o.add(n,r,l.mark({class:`cm-lintRange cm-lintRange-`+f+e,diagnostics:s.slice(),inclusiveEnd:s.some(e=>e.to>r)}))}if(c=r,c==p)break;for(let e=0;e<s.length;e++)s[e].to<=c&&s.splice(e--,1)}let m=o.finish();return new e(m,n,W(m))}};function W(e,t=null,n=0){let r=null;return e.between(n,1e9,(e,n,{spec:i})=>{if(!(t&&i.diagnostics.indexOf(t)<0))if(!r)r=new yt(e,n,t||i.diagnostics[0]);else if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;else r=new yt(r.from,n,r.diagnostic)}),r}function bt(e,t){let n=t.pos,r=t.end||n,i=e.state.facet(J).hideOn(e,n,r);if(i!=null)return i;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(e=>e.is(G))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function xt(e,t){return e.field(q,!1)?t:t.concat(s.appendConfig.of(Xt))}function St(e,t){return{effects:xt(e,[G.of(t)])}}var G=s.define(),K=s.define(),Ct=s.define(),q=c.define({create(){return new U(l.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,i=e.panel;if(e.selected){let i=t.changes.mapPos(e.selected.from,1);r=W(n,e.selected.diagnostic,i)||W(n,null,i)}!n.size&&i&&t.state.facet(J).autoPanel&&(i=null),e=new U(n,i,r)}for(let n of t.effects)if(n.is(G)){let r=t.state.facet(J).autoPanel?n.value.length?Y.open:null:e.panel;e=U.init(n.value,r,t.state)}else n.is(K)?e=new U(e.diagnostics,n.value?Y.open:null,e.selected):n.is(Ct)&&(e=new U(e.diagnostics,e.panel,n.value));return e},provide:e=>[Se.from(e,e=>e.panel),_.decorations.from(e,e=>e.diagnostics)]}),wt=l.mark({class:`cm-lintRange cm-lintRange-active`});function Tt(e,t,n){let{diagnostics:r}=e.state.field(q),i,a=-1,o=-1;r.between(t-+(n<0),t+ +(n>0),(e,r,{spec:s})=>{if(t>=e&&t<=r&&(e==r||(t>e||n>0)&&(t<r||n<0)))return i=s.diagnostics,a=e,o=r,!1});let s=e.state.facet(J).tooltipFilter;return i&&s&&(i=s(i,e.state)),i?{pos:a,end:o,above:!0,create(){return{dom:Et(e,i)}}}:null}function Et(e,t){return v(`ul`,{class:`cm-tooltip-lint`},t.map(t=>Ft(e,t,!1)))}var Dt=e=>{let t=e.state.field(q,!1);(!t||!t.panel)&&e.dispatch({effects:xt(e.state,[K.of(!0)])});let n=y(e,Y.open);return n&&n.dom.querySelector(`.cm-panel-lint ul`).focus(),!0},Ot=e=>{let t=e.state.field(q,!1);return!t||!t.panel?!1:(e.dispatch({effects:K.of(!1)}),!0)},kt=[{key:`Mod-Shift-m`,run:Dt,preventDefault:!0},{key:`F8`,run:e=>{let t=e.state.field(q,!1);if(!t)return!1;let n=e.state.selection.main,r=W(t.diagnostics,null,n.to+1);return!r&&(r=W(t.diagnostics,null,0),!r||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),se(e,r.from,1,{tooltip:Yt,until:e=>e.docChanged||e.newSelection.main.head<r.from||e.newSelection.main.head>r.to}),!0)}}],At=m.fromClass(class{constructor(e){this.view=e,this.timeout=-1,this.set=!0;let{delay:t}=e.state.facet(J);this.lintTime=Date.now()+t,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,t)}run(){clearTimeout(this.timeout);let e=Date.now();if(e<this.lintTime-10)this.timeout=setTimeout(this.run,this.lintTime-e);else{this.set=!1;let{state:e}=this.view,{sources:t}=e.facet(J);t.length&&jt(t.map(e=>Promise.resolve(e(this.view))),t=>{this.view.state.doc==e.doc&&this.view.dispatch(St(this.view.state,t.reduce((e,t)=>e.concat(t))))},e=>{_e(this.view.state,e)})}}update(e){let t=e.state.facet(J);(e.docChanged||t!=e.startState.facet(J)||t.needsRefresh&&t.needsRefresh(e))&&(this.lintTime=Date.now()+t.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,t.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}});function jt(e,t,n){let r=[],i=-1;for(let a of e)a.then(n=>{r.push(n),clearTimeout(i),r.length==e.length?t(r):i=setTimeout(()=>t(r),200)},n)}var J=b.define({combine(e){return{sources:e.map(e=>e.source).filter(e=>e!=null),...g(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Mt,tooltipFilter:Mt,needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t,hideOn:(e,t)=>e?t?(n,r,i)=>e(n,r,i)||t(n,r,i):e:t,autoPanel:(e,t)=>e||t})}}});function Mt(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function Nt(e,t={}){return[J.of({source:e,config:t}),At,Xt]}function Pt(e){let t=[];if(e)actions:for(let{name:n}of e){for(let e=0;e<n.length;e++){let r=n[e];if(/[a-zA-Z]/.test(r)&&!t.some(e=>e.toLowerCase()==r.toLowerCase())){t.push(r);continue actions}}t.push(``)}return t}function Ft(e,t,n){let r=n?Pt(t.actions):[];return v(`li`,{class:`cm-diagnostic cm-diagnostic-`+t.severity},v(`span`,{class:`cm-diagnosticText`},t.renderMessage?t.renderMessage(e):t.message),t.actions?.map((n,i)=>{let a=!1,o=r=>{if(r.preventDefault(),a)return;a=!0;let i=W(e.state.field(q).diagnostics,t);i&&n.apply(e,i.from,i.to)},{name:s}=n,c=r[i]?s.indexOf(r[i]):-1,l=c<0?s:[s.slice(0,c),v(`u`,s.slice(c,c+1)),s.slice(c+1)];return v(`button`,{type:`button`,class:`cm-diagnosticAction`+(n.markClass?` `+n.markClass:``),onclick:o,onmousedown:o,"aria-label":` Action: ${s}${c<0?``:` (access key "${r[i]})"`}.`},l)}),t.source&&v(`div`,{class:`cm-diagnosticSource`},t.source))}var It=class extends r{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return v(`span`,{class:`cm-lintPoint cm-lintPoint-`+this.sev})}},Lt=class{constructor(e,t){this.diagnostic=t,this.id=`item_`+Math.floor(Math.random()*4294967295).toString(16),this.dom=Ft(e,t,!0),this.dom.id=this.id,this.dom.setAttribute(`role`,`option`)}},Y=class e{constructor(e){this.view=e,this.items=[],this.list=v(`ul`,{tabIndex:0,role:`listbox`,"aria-label":this.view.state.phrase(`Diagnostics`),onkeydown:t=>{if(!(t.ctrlKey||t.altKey||t.metaKey)){if(t.keyCode==27)Ot(this.view),this.view.focus();else if(t.keyCode==38||t.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(t.keyCode==40||t.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(t.keyCode==36)this.moveSelection(0);else if(t.keyCode==35)this.moveSelection(this.items.length-1);else if(t.keyCode==13)this.view.focus();else if(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],r=Pt(n.actions);for(let i=0;i<r.length;i++)if(r[i].toUpperCase().charCodeAt(0)==t.keyCode){let t=W(this.view.state.field(q).diagnostics,n);t&&n.actions[i].apply(e,t.from,t.to)}}else return;t.preventDefault()}},onclick:e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)}}),this.dom=v(`div`,{class:`cm-panel-lint`},this.list,v(`button`,{type:`button`,name:`close`,"aria-label":this.view.state.phrase(`close`),onclick:()=>Ot(this.view)},`×`)),this.update()}get selectedIndex(){let e=this.view.state.field(q).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(q),n=0,r=!1,i=null,a=new Set;for(e.between(0,this.view.state.doc.length,(e,o,{spec:s})=>{for(let e of s.diagnostics){if(a.has(e))continue;a.add(e);let o=-1,s;for(let t=n;t<this.items.length;t++)if(this.items[t].diagnostic==e){o=t;break}o<0?(s=new Lt(this.view,e),this.items.splice(n,0,s),r=!0):(s=this.items[o],o>n&&(this.items.splice(n,o-n),r=!0)),t&&s.diagnostic==t.diagnostic?s.dom.hasAttribute(`aria-selected`)||(s.dom.setAttribute(`aria-selected`,`true`),i=s):s.dom.hasAttribute(`aria-selected`)&&s.dom.removeAttribute(`aria-selected`),n++}});n<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new Lt(this.view,{from:-1,to:-1,severity:`info`,message:this.view.state.phrase(`No diagnostics`)})),r=!0),i?(this.list.setAttribute(`aria-activedescendant`,i.id),this.view.requestMeasure({key:this,read:()=>({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let n=t.height/this.list.offsetHeight;e.top<t.top?this.list.scrollTop-=(t.top-e.top)/n:e.bottom>t.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/n)}})):this.selectedIndex<0&&this.list.removeAttribute(`aria-activedescendant`),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=W(this.view.state.field(q).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:Ct.of(t)})}static open(t){return new e(t)}};function X(e,t=`viewBox="0 0 40 40"`){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function Z(e){return X(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,`width="6" height="3"`)}var Rt=_.baseTheme({".cm-diagnostic":{padding:`3px 6px 3px 8px`,marginLeft:`-1px`,display:`block`,whiteSpace:`pre-wrap`},".cm-diagnostic-error":{borderLeft:`5px solid #d11`},".cm-diagnostic-warning":{borderLeft:`5px solid orange`},".cm-diagnostic-info":{borderLeft:`5px solid #999`},".cm-diagnostic-hint":{borderLeft:`5px solid #66d`},".cm-diagnosticAction":{font:`inherit`,border:`none`,padding:`2px 4px`,backgroundColor:`#444`,color:`white`,borderRadius:`3px`,marginLeft:`8px`,cursor:`pointer`},".cm-diagnosticSource":{fontSize:`70%`,opacity:.7},".cm-lintRange":{backgroundPosition:`left bottom`,backgroundRepeat:`repeat-x`,paddingBottom:`0.7px`},".cm-lintRange-error":{backgroundImage:Z(`#f11`)},".cm-lintRange-warning":{backgroundImage:Z(`orange`)},".cm-lintRange-info":{backgroundImage:Z(`#999`)},".cm-lintRange-hint":{backgroundImage:Z(`#66d`)},".cm-lintRange-active":{backgroundColor:`#ffdd9980`},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:`relative`,"&:after":{content:`""`,position:`absolute`,bottom:0,left:`-2px`,borderLeft:`3px solid transparent`,borderRight:`3px solid transparent`,borderBottom:`4px solid #d11`}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:`orange`}},".cm-lintPoint-info":{"&:after":{borderBottomColor:`#999`}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:`#66d`}},".cm-panel.cm-panel-lint":{position:`relative`,"& ul":{maxHeight:`100px`,overflowY:`auto`,"& [aria-selected]":{backgroundColor:`#ddd`,"& u":{textDecoration:`underline`}},"&:focus [aria-selected]":{background_fallback:`#bdf`,backgroundColor:`Highlight`,color_fallback:`white`,color:`HighlightText`},"& u":{textDecoration:`none`},padding:0,margin:0},"& [name=close]":{position:`absolute`,top:`0`,right:`2px`,background:`inherit`,border:`none`,font:`inherit`,padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:`#86714a80`},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:`#2e343e`}}});function zt(e){return e==`error`?4:e==`warning`?3:e==`info`?2:1}function Bt(e){let t=`hint`,n=1;for(let r of e){let e=zt(r.severity);e>n&&(n=e,t=r.severity)}return t}var Vt=class extends ne{constructor(e){super(),this.diagnostics=e,this.severity=Bt(e)}toDOM(e){let t=document.createElement(`div`);t.className=`cm-lint-marker cm-lint-marker-`+this.severity;let n=this.diagnostics,r=e.state.facet($).tooltipFilter;return r&&(n=r(n,e.state)),n.length&&(t.onmouseover=()=>Ut(e,t,n)),t}};function Ht(e,t){let n=r=>{let i=t.getBoundingClientRect();if(!(r.clientX>i.left-10&&r.clientX<i.right+10&&r.clientY>i.top-10&&r.clientY<i.bottom+10)){for(let e=r.target;e;e=e.parentNode)if(e.nodeType==1&&e.classList.contains(`cm-tooltip-lint`))return;window.removeEventListener(`mousemove`,n),e.state.field(qt)&&e.dispatch({effects:Kt.of(null)})}};window.addEventListener(`mousemove`,n)}function Ut(e,t,n){function r(){let r=e.elementAtHeight(t.getBoundingClientRect().top+5-e.documentTop);e.coordsAtPos(r.from)&&e.dispatch({effects:Kt.of({pos:r.from,above:!1,clip:!1,create(){return{dom:Et(e,n),getCoords:()=>t.getBoundingClientRect()}}})}),t.onmouseout=t.onmousemove=null,Ht(e,t)}let{hoverTime:i}=e.state.facet($),a=setTimeout(r,i);t.onmouseout=()=>{clearTimeout(a),t.onmouseout=t.onmousemove=null},t.onmousemove=()=>{clearTimeout(a),a=setTimeout(r,i)}}function Wt(e,t){let n=Object.create(null);for(let r of t){let t=e.lineAt(r.from);(n[t.from]||(n[t.from]=[])).push(r)}let r=[];for(let e in n)r.push(new Vt(n[e]).range(+e));return u.of(r,!0)}var Gt=ge({class:`cm-gutter-lint`,markers:e=>e.state.field(Q),widgetMarker:(e,t,n)=>{let r=[];return e.state.field(Q).between(n.from,n.to,(e,t,i)=>{e>n.from&&e<n.to&&r.push(...i.diagnostics)}),r.length?new Vt(r):null}}),Q=c.define({create(){return u.empty},update(e,t){e=e.map(t.changes);let n=t.state.facet($).markerFilter;for(let r of t.effects)if(r.is(G)){let i=r.value;n&&(i=n(i||[],t.state)),e=Wt(t.state.doc,i.slice(0))}return e}}),Kt=s.define(),qt=c.define({create(){return null},update(e,t){return e&&t.docChanged&&(e=bt(t,e)?null:{...e,pos:t.changes.mapPos(e.pos)}),t.effects.reduce((e,t)=>t.is(Kt)?t.value:e,e)},provide:e=>we.from(e)}),Jt=_.baseTheme({".cm-gutter-lint":{width:`1.4em`,"& .cm-gutterElement":{padding:`.2em`}},".cm-lint-marker":{width:`1em`,height:`1em`},".cm-lint-marker-info":{content:X(`<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>`)},".cm-lint-marker-warning":{content:X(`<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>`)},".cm-lint-marker-error":{content:X(`<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>`)}}),Yt=xe(Tt,{hideOn:bt}),Xt=[q,_.decorations.compute([q],e=>{let{selected:t,panel:n}=e.field(q);return!t||!n||t.from==t.to?l.none:l.set([wt.range(t.from,t.to)])}),Yt,Rt],$=b.define({combine(e){return g(e,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function Zt(e={}){return[$.of(e),Q,Gt,Jt,qt]}var Qt=[le(),ae(),me(),e(),re(),he(),ve(),p.allowMultipleSelections.of(!0),o(),d(ce,{fallback:!0}),pe(),ke(),De(),de(),be(),ye(),ze(),oe.of([...Ee,...n,...gt,...t,...Ce,...Oe,...kt])];me(),e(),he(),d(ce,{fallback:!0}),oe.of([...n,...t]);export{Ye as i,Zt as n,Nt as r,Qt as t};