@marimo-team/frontend 0.17.4 → 0.17.6

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 (86) hide show
  1. package/dist/assets/{CellStatus-c0SAQ-F-.js → CellStatus-CHA41gSk.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-f8cXX1lE.js → ConnectedDataExplorerComponent-cTGPcGbT.js} +1 -1
  3. package/dist/assets/{ConsoleOutput-CDSftFlX.js → ConsoleOutput-CcWTsPJI.js} +1 -1
  4. package/dist/assets/{LazyAnyLanguageCodeMirror-BzY5E2SR.js → LazyAnyLanguageCodeMirror-De4wCXx1.js} +2 -2
  5. package/dist/assets/{MarimoErrorOutput-BMyX5A6l.js → MarimoErrorOutput-ZIgqDBQe.js} +1 -1
  6. package/dist/assets/{Output-pZgeySyq.js → Output-BNpy6qAs.js} +1 -1
  7. package/dist/assets/{RenderHTML-BUSbsjNK.js → RenderHTML-BBVeCFEd.js} +1 -1
  8. package/dist/assets/{TinyCode-CgC7YtPL.js → TinyCode-CSwZ6pBr.js} +1 -1
  9. package/dist/assets/{add-cell-with-ai-D5ovEhXx.js → add-cell-with-ai-DF_F9Sqz.js} +1 -1
  10. package/dist/assets/{add-database-form-p8983nDn.js → add-database-form-C6bWFcDu.js} +1 -1
  11. package/dist/assets/{add-missing-import-BwGZ98W0.js → add-missing-import-pmcK06GU.js} +1 -1
  12. package/dist/assets/{agent-panel-B5iI79QW.js → agent-panel-Cy7eGnp2.js} +1 -1
  13. package/dist/assets/{any-language-editor-CgFodhrt.js → any-language-editor-CtKaNSoA.js} +1 -1
  14. package/dist/assets/{app-config-button-BFmqvqPu.js → app-config-button-DkPbZ9Gv.js} +1 -1
  15. package/dist/assets/{cell-actions-Cc2JYtcT.js → cell-actions-BwzVQ6Dx.js} +1 -1
  16. package/dist/assets/{cell-editor-DJ46IITP.js → cell-editor-HcAVCF81.js} +4 -4
  17. package/dist/assets/{cell-link-DFNTDaPd.js → cell-link-Bp_0p3CR.js} +1 -1
  18. package/dist/assets/cells-DV6dfoCq.js +142 -0
  19. package/dist/assets/{chat-components-BJMCzZRK.js → chat-components-laNRM4nR.js} +2 -2
  20. package/dist/assets/{chat-panel-DajnoQHz.js → chat-panel-D0ofjONu.js} +1 -1
  21. package/dist/assets/{client-B0dO9skM.js → client-CHkG9bdV.js} +2 -2
  22. package/dist/assets/{column-preview-BiiXdwvw.js → column-preview-BavQbx6K.js} +1 -1
  23. package/dist/assets/{command-palette-DbfvqoOB.js → command-palette-BeIRV-WM.js} +1 -1
  24. package/dist/assets/{common-U0RDob8X.js → common-C3tRfmeF.js} +1 -1
  25. package/dist/assets/{datasources-panel-Bo6UM72J.js → datasources-panel-MHkoQPff.js} +1 -1
  26. package/dist/assets/{dependency-graph-panel-DcOypoYV.js → dependency-graph-panel-qI_Vzr7L.js} +1 -1
  27. package/dist/assets/dist-Dv7WCK3M.js +2 -0
  28. package/dist/assets/{documentation-panel-BPa77v-x.js → documentation-panel-BSLe420O.js} +1 -1
  29. package/dist/assets/{edit-page-CYfYSIzk.js → edit-page-BWiHWYlZ.js} +3 -3
  30. package/dist/assets/{error-panel-C4Dh4_Gz.js → error-panel-BXZjD7vi.js} +1 -1
  31. package/dist/assets/{esm-D8ZMWeYP.js → esm-C1NahKuy.js} +1 -1
  32. package/dist/assets/{file-explorer-panel-BTjjB1ys.js → file-explorer-panel-Dfhel-3W.js} +1 -1
  33. package/dist/assets/{floating-outline-DwAgRZTh.js → floating-outline-CgxonLQ-.js} +1 -1
  34. package/dist/assets/{focus-BwMl5m5_.js → focus--Piy3rX5.js} +1 -1
  35. package/dist/assets/{form-D69llIWP.js → form-Cdn744fY.js} +1 -1
  36. package/dist/assets/{form-CQCzdh1o.js → form-q5HZfP0M.js} +1 -1
  37. package/dist/assets/{glide-data-editor-BFKn2tIP.js → glide-data-editor-DyfmOgFY.js} +1 -1
  38. package/dist/assets/{home-page-F1w05vyJ.js → home-page-CQvcO2-r.js} +1 -1
  39. package/dist/assets/{index-q8eVuDDk.js → index-vG-gdKWq.js} +7 -7
  40. package/dist/assets/{kiosk-mode-Dd1ooBaF.js → kiosk-mode-OsMWvXhW.js} +1 -1
  41. package/dist/assets/{layout-C8ytLSQd.js → layout-BaosNuEp.js} +1 -1
  42. package/dist/assets/{lazy-tfeVHpGH.js → lazy-ijSQmhmN.js} +2 -2
  43. package/dist/assets/{logs-panel-C8ChYhO8.js → logs-panel-DzPVobVI.js} +1 -1
  44. package/dist/assets/{mermaid-D4G-AG2G.js → mermaid-DEUZM6JF.js} +1 -1
  45. package/dist/assets/{mode-BWw7rz82.js → mode-BK9SOQXS.js} +1 -1
  46. package/dist/assets/{name-cell-input-F8bM4E5e.js → name-cell-input-VEOAxqMs.js} +1 -1
  47. package/dist/assets/{outline-panel-QjRV3Zps.js → outline-panel-h_xN2aCi.js} +1 -1
  48. package/dist/assets/{packages-panel-_yihtFbB.js → packages-panel-MgK5SK20.js} +1 -1
  49. package/dist/assets/react-vega-CoPJaJAh.js +194 -0
  50. package/dist/assets/{react-vega-5InfQEZl.js → react-vega-D5EPmHUL.js} +1 -1
  51. package/dist/assets/{readonly-python-code-gmO6162d.js → readonly-python-code-ChK3PfU6.js} +1 -1
  52. package/dist/assets/{run-page-BsulC5PQ.js → run-page-BGTVY0j4.js} +1 -1
  53. package/dist/assets/{scratchpad-panel-A9G8o9jf.js → scratchpad-panel-DZbJOjct.js} +1 -1
  54. package/dist/assets/{snippets-panel-C6FwSaZz.js → snippets-panel-BkDWOzb7.js} +1 -1
  55. package/dist/assets/{state-CIEHjRfF.js → state-BHcVA2dC.js} +1 -1
  56. package/dist/assets/{state-C7T5AXo0.js → state-CjZ41ddG.js} +1 -1
  57. package/dist/assets/{storage-CmIwledL.js → storage-Q85CaPfH.js} +1 -1
  58. package/dist/assets/{tracing-Cq1z4XC3.js → tracing-DZ3Q4ew0.js} +1 -1
  59. package/dist/assets/{tracing-panel-Mt1B8lhs.js → tracing-panel-cWcQ0_7O.js} +2 -2
  60. package/dist/assets/{types-UoG2cq5J.js → types--mPsPGF4.js} +1 -1
  61. package/dist/assets/{useAddCell-xX3fIjF2.js → useAddCell-Ig4Te4YX.js} +1 -1
  62. package/dist/assets/{useCellActionButton-jH-t2BrR.js → useCellActionButton-Dxhr7c1D.js} +1 -1
  63. package/dist/assets/{useDeleteCell-CJ4WX9R2.js → useDeleteCell-Ba4wqcnv.js} +1 -1
  64. package/dist/assets/{useNotebookActions-Cf9b-Ef9.js → useNotebookActions-ClgDTwuq.js} +1 -1
  65. package/dist/assets/{useRunCells-DjmsNJ7r.js → useRunCells-WnlQjiPG.js} +1 -1
  66. package/dist/assets/{useSplitCell-ueztloAj.js → useSplitCell-BDVxP5U-.js} +1 -1
  67. package/dist/assets/useTheme-CJkb1R7C.js +1 -0
  68. package/dist/assets/{utilities.esm-D8HYU14D.js → utilities.esm-SfrtJjbv.js} +1 -1
  69. package/dist/assets/{variable-panel-DAhAueP9.js → variable-panel-1cBDHa5H.js} +1 -1
  70. package/dist/assets/{vega-component-B7kKQDi7.js → vega-component-DBpZ-MEj.js} +1 -1
  71. package/dist/index.html +28 -28
  72. package/package.json +2 -2
  73. package/src/components/app-config/data-form.tsx +3 -3
  74. package/src/core/codemirror/language/__tests__/markdown.test.ts +36 -13
  75. package/src/core/codemirror/language/__tests__/utils.test.ts +6 -2
  76. package/src/core/codemirror/language/languages/sql/sql.ts +2 -1
  77. package/src/plugins/layout/TexPlugin.tsx +33 -5
  78. package/dist/assets/cells-DNq9ng4B.js +0 -152
  79. package/dist/assets/dist-CzgFQFBf.js +0 -2
  80. package/dist/assets/node-sql-parser-B60nzzE3.js +0 -68
  81. package/dist/assets/react-vega-Kdht4Pfp.js +0 -192
  82. package/dist/assets/useTheme-DcMAIbRt.js +0 -1
  83. /package/dist/assets/{esm-DuHka6En.js → esm-D3_a5hg-.js} +0 -0
  84. /package/dist/assets/{react-plotly-B5BZoChE.js → react-plotly-BedjJ4JE.js} +0 -0
  85. /package/dist/assets/{wasm-BU5edgJp.js → wasm-86TLpKv7.js} +0 -0
  86. /package/dist/assets/{web-vitals-DxEe-Gv6.js → web-vitals-DCCm3RCd.js} +0 -0
@@ -1,2 +0,0 @@
1
- import{$t as I,A as at,At as p,Ct as Rn,Dt as Me,Et as Tn,F as On,Ft as M,Gt as S,Ht as Se,J as Ce,Jt as De,Kt as F,Lt as d,Mt as lt,Nt as En,Ot as Bn,P as re,Pt as qn,Qt as Le,R as P,Rt as In,Ut as ct,V as Re,Vt as Fn,Xt as Pn,Yt as Wn,Zt as G,en as Vn,ht as zn,it as Nn,k as Te,nt as $n,o as ht,ot as Oe,pt as j,qt as ut,rt as y,st as Jn,tt as w,yt as Hn,zt as W}from"./dist-o3-gJN-A.js";var ft=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=Be(e.state,n.from);return r.line?Un(e):r.block?Gn(e):!1};function Ee(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let o=e(t,n);return o?(r(n.update(o)),!0):!1}}var Un=Ee(Zn,0),dt=Ee(mt,0),Gn=Ee((e,t)=>mt(e,t,Yn(t)),0);function Be(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}var Y=50;function jn(e,{open:t,close:n},r,o){let i=e.sliceDoc(r-Y,r),s=e.sliceDoc(o,o+Y),a=/\s*$/.exec(i)[0].length,l=/^\s*/.exec(s)[0].length,h=i.length-a;if(i.slice(h-t.length,h)==t&&s.slice(l,l+n.length)==n)return{open:{pos:r-a,margin:a&&1},close:{pos:o+l,margin:l&&1}};let c,u;o-r<=2*Y?c=u=e.sliceDoc(r,o):(c=e.sliceDoc(r,r+Y),u=e.sliceDoc(o-Y,o));let f=/^\s*/.exec(c)[0].length,m=/\s*$/.exec(u)[0].length,g=u.length-m-n.length;return c.slice(f,f+t.length)==t&&u.slice(g,g+n.length)==n?{open:{pos:r+f+t.length,margin:/\s/.test(c.charAt(f+t.length))?1:0},close:{pos:o-m-n.length,margin:/\s/.test(u.charAt(g-1))?1:0}}:null}function Yn(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),o=n.to<=r.to?r:e.doc.lineAt(n.to);o.from>r.from&&o.from==n.to&&(o=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let i=t.length-1;i>=0&&t[i].to>r.from?t[i].to=o.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:o.to})}return t}function mt(e,t,n=t.selection.ranges){let r=n.map(i=>Be(t,i.from).block);if(!r.every(i=>i))return null;let o=n.map((i,s)=>jn(t,r[s],i.from,i.to));if(e!=2&&!o.every(i=>i))return{changes:t.changes(n.map((i,s)=>o[s]?[]:[{from:i.from,insert:r[s].open+" "},{from:i.to,insert:" "+r[s].close}]))};if(e!=1&&o.some(i=>i)){let i=[];for(let s=0,a;s<o.length;s++)if(a=o[s]){let l=r[s],{open:h,close:c}=a;i.push({from:h.pos-l.open.length,to:h.pos+h.margin},{from:c.pos-c.margin,to:c.pos+l.close.length})}return{changes:i}}return null}function Zn(e,t,n=t.selection.ranges){let r=[],o=-1;for(let{from:i,to:s}of n){let a=r.length,l=1e9,h=Be(t,i).line;if(h){for(let c=i;c<=s;){let u=t.doc.lineAt(c);if(u.from>o&&(i==s||s>u.from)){o=u.from;let f=/^\s*/.exec(u.text)[0].length,m=f==u.length,g=u.text.slice(f,f+h.length)==h?f:-1;f<u.text.length&&f<l&&(l=f),r.push({line:u,comment:g,token:h,indent:f,empty:m,single:!1})}c=u.to+1}if(l<1e9)for(let c=a;c<r.length;c++)r[c].indent<r[c].line.text.length&&(r[c].indent=l);r.length==a+1&&(r[a].single=!0)}}if(e!=2&&r.some(i=>i.comment<0&&(!i.empty||i.single))){let i=[];for(let{line:a,token:l,indent:h,empty:c,single:u}of r)(u||!c)&&i.push({from:a.from+h,insert:l+" "});let s=t.changes(i);return{changes:s,selection:t.selection.map(s,1)}}else if(e!=1&&r.some(i=>i.comment>=0)){let i=[];for(let{line:s,comment:a,token:l}of r)if(a>=0){let h=s.from+a,c=h+l.length;s.text[c-s.from]==" "&&c++,i.push({from:h,to:c})}return{changes:i}}return null}var qe=lt.define(),Kn=lt.define(),Qn=W.define(),pt=W.define({combine(e){return G(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(r,o)=>t(r,o)||n(r,o)})}}),Ie=F.define({create(){return Z.empty},update(e,t){let n=t.state.facet(pt),r=t.annotation(qe);if(r){let l=E.fromTransaction(t,r.selection),h=r.side,c=h==0?e.undone:e.done;return c=l?se(c,c.length,n.minDepth,l):vt(c,t.startState.selection),new Z(h==0?r.rest:c,h==0?c:r.rest)}let o=t.annotation(Kn);if((o=="full"||o=="before")&&(e=e.isolate()),t.annotation(De.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let i=E.fromTransaction(t),s=t.annotation(De.time),a=t.annotation(De.userEvent);return i?e=e.addChanges(i,s,a,n,t):t.selection&&(e=e.addSelection(t.startState.selection,s,a,n.newGroupDelay)),(o=="full"||o=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new Z(e.done.map(E.fromJSON),e.undone.map(E.fromJSON))}});function Xn(e={}){return[Ie,pt.of(e),y.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?Fe:t.inputType=="historyRedo"?ie:null;return r?(t.preventDefault(),r(n)):!1}})]}var _n=Ie;function oe(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let o=n.field(Ie,!1);if(!o)return!1;let i=o.pop(e,n,t);return i?(r(i),!0):!1}}var Fe=oe(0,!1),ie=oe(1,!1),er=oe(0,!0),tr=oe(1,!0),E=class ee{constructor(t,n,r,o,i){this.changes=t,this.effects=n,this.mapped=r,this.startSelection=o,this.selectionsAfter=i}setSelAfter(t){return new ee(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,r;return{changes:(t=this.changes)==null?void 0:t.toJSON(),mapped:(n=this.mapped)==null?void 0:n.toJSON(),startSelection:(r=this.startSelection)==null?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(o=>o.toJSON())}}static fromJSON(t){return new ee(t.changes&&qn.fromJSON(t.changes),[],t.mapped&&En.fromJSON(t.mapped),t.startSelection&&d.fromJSON(t.startSelection),t.selectionsAfter.map(d.fromJSON))}static fromTransaction(t,n){let r=C;for(let o of t.startState.facet(Qn)){let i=o(t);i.length&&(r=r.concat(i))}return!r.length&&t.changes.empty?null:new ee(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,C)}static selection(t){return new ee(void 0,C,void 0,void 0,t)}};function se(e,t,n,r){let o=t+1>n+20?t-n-1:0,i=e.slice(o,t);return i.push(r),i}function nr(e,t){let n=[],r=!1;return e.iterChangedRanges((o,i)=>n.push(o,i)),t.iterChangedRanges((o,i,s,a)=>{for(let l=0;l<n.length;){let h=n[l++],c=n[l++];a>=h&&s<=c&&(r=!0)}}),r}function rr(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function gt(e,t){return e.length?t.length?e.concat(t):e:t}var C=[],or=200;function vt(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-or));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),se(e,e.length-1,1e9,n.setSelAfter(r)))}else return[E.selection([t])]}function ir(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function Pe(e,t){if(!e.length)return e;let n=e.length,r=C;for(;n;){let o=sr(e[n-1],t,r);if(o.changes&&!o.changes.empty||o.effects.length){let i=e.slice(0,n);return i[n-1]=o,i}else t=o.mapped,n--,r=o.selectionsAfter}return r.length?[E.selection(r)]:C}function sr(e,t,n){let r=gt(e.selectionsAfter.length?e.selectionsAfter.map(a=>a.map(t)):C,n);if(!e.changes)return E.selection(r);let o=e.changes.map(t),i=t.mapDesc(e.changes,!0),s=e.mapped?e.mapped.composeDesc(i):i;return new E(o,S.mapEffects(e.effects,t),s,e.startSelection.map(i),r)}var ar=/^(input\.type|delete)($|\.)/,Z=class te{constructor(t,n,r=0,o=void 0){this.done=t,this.undone=n,this.prevTime=r,this.prevUserEvent=o}isolate(){return this.prevTime?new te(this.done,this.undone):this}addChanges(t,n,r,o,i){let s=this.done,a=s[s.length-1];return s=a&&a.changes&&!a.changes.empty&&t.changes&&(!r||ar.test(r))&&(!a.selectionsAfter.length&&n-this.prevTime<o.newGroupDelay&&o.joinToEvent(i,nr(a.changes,t.changes))||r=="input.type.compose")?se(s,s.length-1,o.minDepth,new E(t.changes.compose(a.changes),gt(S.mapEffects(t.effects,a.changes),a.effects),a.mapped,a.startSelection,C)):se(s,s.length,o.minDepth,t),new te(s,C,n,r)}addSelection(t,n,r,o){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:C;return i.length>0&&n-this.prevTime<o&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&rr(i[i.length-1],t)?this:new te(vt(this.done,t),this.undone,n,r)}addMapping(t){return new te(Pe(this.done,t),Pe(this.undone,t),this.prevTime,this.prevUserEvent)}pop(t,n,r){let o=t==0?this.done:this.undone;if(o.length==0)return null;let i=o[o.length-1],s=i.selectionsAfter[0]||n.selection;if(r&&i.selectionsAfter.length)return n.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:qe.of({side:t,rest:ir(o),selection:s}),userEvent:t==0?"select.undo":"select.redo",scrollIntoView:!0});if(i.changes){let a=o.length==1?C:o.slice(0,o.length-1);return i.mapped&&(a=Pe(a,i.mapped)),n.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:qe.of({side:t,rest:a,selection:s}),filter:!1,userEvent:t==0?"undo":"redo",scrollIntoView:!0})}else return null}};Z.empty=new Z(C,C);var lr=[{key:"Mod-z",run:Fe,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:ie,preventDefault:!0},{linux:"Ctrl-Shift-z",run:ie,preventDefault:!0},{key:"Mod-u",run:er,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:tr,preventDefault:!0}];function V(e,t){return d.create(e.ranges.map(t),e.mainIndex)}function L(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function R({state:e,dispatch:t},n){let r=V(e.selection,n);return r.eq(e.selection,!0)?!1:(t(L(e,r)),!0)}function ae(e,t){return d.cursor(t?e.to:e.from)}function We(e,t){return R(e,n=>n.empty?e.moveByChar(n,t):ae(n,t))}function x(e){return e.textDirectionAt(e.state.selection.main.head)==$n.LTR}var Ve=e=>We(e,!x(e)),yt=e=>We(e,x(e)),cr=e=>We(e,!1);function wt(e,t){return R(e,n=>n.empty?e.moveByGroup(n,t):ae(n,t))}var hr=e=>wt(e,!x(e)),ur=e=>wt(e,x(e));typeof Intl<"u"&&Intl.Segmenter;function fr(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function le(e,t,n){let r=Re(e).resolveInner(t.head),o=n?Ce.closedBy:Ce.openedBy;for(let l=t.head;;){let h=n?r.childAfter(l):r.childBefore(l);if(!h)break;fr(e,h,o)?r=h:l=n?h.to:h.from}let i=r.type.prop(o),s,a;return a=i&&(s=n?P(e,r.from,1):P(e,r.to,-1))&&s.matched?n?s.end.to:s.end.from:n?r.to:r.from,d.cursor(a,n?-1:1)}var dr=e=>R(e,t=>le(e.state,t,!x(e))),mr=e=>R(e,t=>le(e.state,t,x(e)));function kt(e,t){return R(e,n=>{if(!n.empty)return ae(n,t);let r=e.moveVertically(n,t);return r.head==n.head?e.moveToLineBoundary(n,t):r})}var xt=e=>kt(e,!1),bt=e=>kt(e,!0);function At(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,o;if(t){for(let i of e.state.facet(y.scrollMargins)){let s=i(e);s!=null&&s.top&&(n=Math.max(s==null?void 0:s.top,n)),s!=null&&s.bottom&&(r=Math.max(s==null?void 0:s.bottom,r))}o=e.scrollDOM.clientHeight-n-r}else o=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,o-5)}}function Mt(e,t){let n=At(e),{state:r}=e,o=V(r.selection,s=>s.empty?e.moveVertically(s,t,n.height):ae(s,t));if(o.eq(r.selection))return!1;let i;if(n.selfScroll){let s=e.coordsAtPos(r.selection.main.head),a=e.scrollDOM.getBoundingClientRect(),l=a.top+n.marginTop,h=a.bottom-n.marginBottom;s&&s.top>l&&s.bottom<h&&(i=y.scrollIntoView(o.main.head,{y:"start",yMargin:s.top-l}))}return e.dispatch(L(r,o),{effects:i}),!0}var St=e=>Mt(e,!1),ze=e=>Mt(e,!0);function B(e,t,n){let r=e.lineBlockAt(t.head),o=e.moveToLineBoundary(t,n);if(o.head==t.head&&o.head!=(n?r.to:r.from)&&(o=e.moveToLineBoundary(t,n,!1)),!n&&o.head==r.from&&r.length){let i=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;i&&t.head!=r.from+i&&(o=d.cursor(r.from+i))}return o}var Ct=e=>R(e,t=>B(e,t,!0)),Dt=e=>R(e,t=>B(e,t,!1)),pr=e=>R(e,t=>B(e,t,!x(e))),gr=e=>R(e,t=>B(e,t,x(e))),vr=e=>R(e,t=>d.cursor(e.lineBlockAt(t.head).from,1)),yr=e=>R(e,t=>d.cursor(e.lineBlockAt(t.head).to,-1));function wr(e,t,n){let r=!1,o=V(e.selection,i=>{let s=P(e,i.head,-1)||P(e,i.head,1)||i.head>0&&P(e,i.head-1,1)||i.head<e.doc.length&&P(e,i.head+1,-1);if(!s||!s.end)return i;r=!0;let a=s.start.from==i.head?s.end.to:s.end.from;return n?d.range(i.anchor,a):d.cursor(a)});return r?(t(L(e,o)),!0):!1}var kr=({state:e,dispatch:t})=>wr(e,t,!1);function D(e,t){let n=V(e.state.selection,r=>{let o=t(r);return d.range(r.anchor,o.head,o.goalColumn,o.bidiLevel||void 0)});return n.eq(e.state.selection)?!1:(e.dispatch(L(e.state,n)),!0)}function Lt(e,t){return D(e,n=>e.moveByChar(n,t))}var Rt=e=>Lt(e,!x(e)),Tt=e=>Lt(e,x(e));function Ot(e,t){return D(e,n=>e.moveByGroup(n,t))}var xr=e=>Ot(e,!x(e)),br=e=>Ot(e,x(e)),Ar=e=>D(e,t=>le(e.state,t,!x(e))),Mr=e=>D(e,t=>le(e.state,t,x(e)));function Et(e,t){return D(e,n=>e.moveVertically(n,t))}var Bt=e=>Et(e,!1),qt=e=>Et(e,!0);function It(e,t){return D(e,n=>e.moveVertically(n,t,At(e).height))}var Ft=e=>It(e,!1),Pt=e=>It(e,!0),Sr=e=>D(e,t=>B(e,t,!0)),Cr=e=>D(e,t=>B(e,t,!1)),Dr=e=>D(e,t=>B(e,t,!x(e))),Lr=e=>D(e,t=>B(e,t,x(e))),Rr=e=>D(e,t=>d.cursor(e.lineBlockAt(t.head).from)),Tr=e=>D(e,t=>d.cursor(e.lineBlockAt(t.head).to)),Wt=({state:e,dispatch:t})=>(t(L(e,{anchor:0})),!0),Vt=({state:e,dispatch:t})=>(t(L(e,{anchor:e.doc.length})),!0),zt=({state:e,dispatch:t})=>(t(L(e,{anchor:e.selection.main.anchor,head:0})),!0),Nt=({state:e,dispatch:t})=>(t(L(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Or=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),Er=({state:e,dispatch:t})=>{let n=he(e).map(({from:r,to:o})=>d.range(r,Math.min(o+1,e.doc.length)));return t(e.update({selection:d.create(n),userEvent:"select"})),!0},Br=({state:e,dispatch:t})=>{let n=V(e.selection,r=>{let o=Re(e),i=o.resolveStack(r.from,1);if(r.empty){let s=o.resolveStack(r.from,-1);s.node.from>=i.node.from&&s.node.to<=i.node.to&&(i=s)}for(let s=i;s;s=s.next){let{node:a}=s;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&s.next)return d.range(a.to,a.from)}return r});return n.eq(e.selection)?!1:(t(L(e,n)),!0)};function $t(e,t){let{state:n}=e,r=n.selection,o=n.selection.ranges.slice();for(let i of n.selection.ranges){let s=n.doc.lineAt(i.head);if(t?s.to<e.state.doc.length:s.from>0)for(let a=i;;){let l=e.moveVertically(a,t);if(l.head<s.from||l.head>s.to){o.some(h=>h.head==l.head)||o.push(l);break}else{if(l.head==a.head)break;a=l}}}return o.length==r.ranges.length?!1:(e.dispatch(L(n,d.create(o,o.length-1))),!0)}var qr=e=>$t(e,!1),Ir=e=>$t(e,!0),Fr=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=d.create([n.main]):n.main.empty||(r=d.create([d.cursor(n.main.head)])),r?(t(L(e,r)),!0):!1};function K(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:r}=e,o=r.changeByRange(i=>{let{from:s,to:a}=i;if(s==a){let l=t(i);l<s?(n="delete.backward",l=ce(e,l,!1)):l>s&&(n="delete.forward",l=ce(e,l,!0)),s=Math.min(s,l),a=Math.max(a,l)}else s=ce(e,s,!1),a=ce(e,a,!0);return s==a?{range:i}:{changes:{from:s,to:a},range:d.cursor(s,s<i.head?-1:1)}});return o.changes.empty?!1:(e.dispatch(r.update(o,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?y.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function ce(e,t,n){if(e instanceof y)for(let r of e.state.facet(y.atomicRanges).map(o=>o(e)))r.between(t,t,(o,i)=>{o<t&&i>t&&(t=n?i:o)});return t}var Jt=(e,t,n)=>K(e,r=>{let o=r.from,{state:i}=e,s=i.doc.lineAt(o),a,l;if(n&&!t&&o>s.from&&o<s.from+200&&!/[^ \t]/.test(a=s.text.slice(0,o-s.from))){if(a[a.length-1]==" ")return o-1;let h=Le(a,i.tabSize)%Te(i)||Te(i);for(let c=0;c<h&&a[a.length-1-c]==" ";c++)o--;l=o}else l=I(s.text,o-s.from,t,t)+s.from,l==o&&s.number!=(t?i.doc.lines:1)?l+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(s.text.slice(l-s.from,o-s.from))&&(l=I(s.text,l-s.from,!1,!1)+s.from);return l}),Ne=e=>Jt(e,!1,!0),Ht=e=>Jt(e,!0,!1),Ut=(e,t)=>K(e,n=>{let r=n.head,{state:o}=e,i=o.doc.lineAt(r),s=o.charCategorizer(r);for(let a=null;;){if(r==(t?i.to:i.from)){r==n.head&&i.number!=(t?o.doc.lines:1)&&(r+=t?1:-1);break}let l=I(i.text,r-i.from,t)+i.from,h=i.text.slice(Math.min(r,l)-i.from,Math.max(r,l)-i.from),c=s(h);if(a!=null&&c!=a)break;(h!=" "||r!=n.head)&&(a=c),r=l}return r}),Gt=e=>Ut(e,!1),Pr=e=>Ut(e,!0),Wr=e=>K(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),Vr=e=>K(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),zr=e=>K(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),Nr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:ut.of(["",""])},range:d.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},$r=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{if(!r.empty||r.from==0||r.from==e.doc.length)return{range:r};let o=r.from,i=e.doc.lineAt(o),s=o==i.from?o-1:I(i.text,o-i.from,!1)+i.from,a=o==i.to?o+1:I(i.text,o-i.from,!0)+i.from;return{changes:{from:s,to:a,insert:e.doc.slice(o,a).append(e.doc.slice(s,o))},range:d.cursor(a)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function he(e){let t=[],n=-1;for(let r of e.selection.ranges){let o=e.doc.lineAt(r.from),i=e.doc.lineAt(r.to);if(!r.empty&&r.to==i.from&&(i=e.doc.lineAt(r.to-1)),n>=o.number){let s=t[t.length-1];s.to=i.to,s.ranges.push(r)}else t.push({from:o.from,to:i.to,ranges:[r]});n=i.number+1}return t}function jt(e,t,n){if(e.readOnly)return!1;let r=[],o=[];for(let i of he(e)){if(n?i.to==e.doc.length:i.from==0)continue;let s=e.doc.lineAt(n?i.to+1:i.from-1),a=s.length+1;if(n){r.push({from:i.to,to:s.to},{from:i.from,insert:s.text+e.lineBreak});for(let l of i.ranges)o.push(d.range(Math.min(e.doc.length,l.anchor+a),Math.min(e.doc.length,l.head+a)))}else{r.push({from:s.from,to:i.from},{from:i.to,insert:e.lineBreak+s.text});for(let l of i.ranges)o.push(d.range(l.anchor-a,l.head-a))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:d.create(o,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}var Jr=({state:e,dispatch:t})=>jt(e,t,!1),Hr=({state:e,dispatch:t})=>jt(e,t,!0);function Yt(e,t,n){if(e.readOnly)return!1;let r=[];for(let o of he(e))n?r.push({from:o.from,insert:e.doc.slice(o.from,o.to)+e.lineBreak}):r.push({from:o.to,insert:e.lineBreak+e.doc.slice(o.from,o.to)});return t(e.update({changes:r,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var Ur=({state:e,dispatch:t})=>Yt(e,t,!1),Gr=({state:e,dispatch:t})=>Yt(e,t,!0),jr=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(he(t).map(({from:o,to:i})=>(o>0?o--:i<t.doc.length&&i++,{from:o,to:i}))),r=V(t.selection,o=>{let i;if(e.lineWrapping){let s=e.lineBlockAt(o.head),a=e.coordsAtPos(o.head,o.assoc||1);a&&(i=s.bottom+e.documentTop-a.bottom+e.defaultLineHeight/2)}return e.moveVertically(o,!0,i)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Yr(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=Re(e).resolveInner(t),r=n.childBefore(t),o=n.childAfter(t),i;return r&&o&&r.to<=t&&o.from>=t&&(i=r.type.prop(Ce.closedBy))&&i.indexOf(o.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(o.from).from&&!/\S/.test(e.sliceDoc(r.to,o.from))?{from:r.to,to:o.from}:null}var $e=Zt(!1),Zr=Zt(!0);function Zt(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(o=>{let{from:i,to:s}=o,a=t.doc.lineAt(i),l=!e&&i==s&&Yr(t,i);e&&(i=s=(s<=a.to?a:t.doc.lineAt(s)).to);let h=new ht(t,{simulateBreak:i,simulateDoubleBreak:!!l}),c=at(h,i);for(c??(c=Le(/^\s*/.exec(t.doc.lineAt(i).text)[0],t.tabSize));s<a.to&&/\s/.test(a.text[s-a.from]);)s++;l?{from:i,to:s}=l:i>a.from&&i<a.from+100&&!/\S/.test(a.text.slice(0,i))&&(i=a.from);let u=["",re(t,c)];return l&&u.push(re(t,h.lineIndent(a.from,-1))),{changes:{from:i,to:s,insert:ut.of(u)},range:d.cursor(i+1+u[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Je(e,t){let n=-1;return e.changeByRange(r=>{let o=[];for(let s=r.from;s<=r.to;){let a=e.doc.lineAt(s);a.number>n&&(r.empty||r.to>a.from)&&(t(a,o,r),n=a.number),s=a.to+1}let i=e.changes(o);return{changes:o,range:d.range(i.mapPos(r.anchor,1),i.mapPos(r.head,1))}})}var Kt=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new ht(e,{overrideIndentation:i=>n[i]??-1}),o=Je(e,(i,s,a)=>{let l=at(r,i.from);if(l==null)return;/\S/.test(i.text)||(l=0);let h=/^\s*/.exec(i.text)[0],c=re(e,l);(h!=c||a.from<i.from+h.length)&&(n[i.from]=l,s.push({from:i.from,to:i.from+h.length,insert:c}))});return o.changes.empty||t(e.update(o,{userEvent:"indent"})),!0},ue=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(Je(e,(n,r)=>{r.push({from:n.from,insert:e.facet(On)})}),{userEvent:"input.indent"})),!0),He=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(Je(e,(n,r)=>{let o=/^\s*/.exec(n.text)[0];if(!o)return;let i=Le(o,e.tabSize),s=0,a=re(e,Math.max(0,i-Te(e)));for(;s<o.length&&s<a.length&&o.charCodeAt(s)==a.charCodeAt(s);)s++;r.push({from:n.from+s,to:n.from+o.length,insert:a.slice(s)})}),{userEvent:"delete.dedent"})),!0),Kr=e=>(e.setTabFocusMode(),!0),Qr=({state:e,dispatch:t})=>e.selection.ranges.some(n=>!n.empty)?ue({state:e,dispatch:t}):(t(e.update(e.replaceSelection(" "),{scrollIntoView:!0,userEvent:"input"})),!0),Xr=[{key:"Ctrl-b",run:Ve,shift:Rt,preventDefault:!0},{key:"Ctrl-f",run:yt,shift:Tt},{key:"Ctrl-p",run:xt,shift:Bt},{key:"Ctrl-n",run:bt,shift:qt},{key:"Ctrl-a",run:vr,shift:Rr},{key:"Ctrl-e",run:yr,shift:Tr},{key:"Ctrl-d",run:Ht},{key:"Ctrl-h",run:Ne},{key:"Ctrl-k",run:Wr},{key:"Ctrl-Alt-h",run:Gt},{key:"Ctrl-o",run:Nr},{key:"Ctrl-t",run:$r},{key:"Ctrl-v",run:ze}],_r=[{key:"ArrowLeft",run:Ve,shift:Rt,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:hr,shift:xr,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:pr,shift:Dr,preventDefault:!0},{key:"ArrowRight",run:yt,shift:Tt,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:ur,shift:br,preventDefault:!0},{mac:"Cmd-ArrowRight",run:gr,shift:Lr,preventDefault:!0},{key:"ArrowUp",run:xt,shift:Bt,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Wt,shift:zt},{mac:"Ctrl-ArrowUp",run:St,shift:Ft},{key:"ArrowDown",run:bt,shift:qt,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Vt,shift:Nt},{mac:"Ctrl-ArrowDown",run:ze,shift:Pt},{key:"PageUp",run:St,shift:Ft},{key:"PageDown",run:ze,shift:Pt},{key:"Home",run:Dt,shift:Cr,preventDefault:!0},{key:"Mod-Home",run:Wt,shift:zt},{key:"End",run:Ct,shift:Sr,preventDefault:!0},{key:"Mod-End",run:Vt,shift:Nt},{key:"Enter",run:$e,shift:$e},{key:"Mod-a",run:Or},{key:"Backspace",run:Ne,shift:Ne,preventDefault:!0},{key:"Delete",run:Ht,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Gt,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:Pr,preventDefault:!0},{mac:"Mod-Backspace",run:Vr,preventDefault:!0},{mac:"Mod-Delete",run:zr,preventDefault:!0}].concat(Xr.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),eo=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:dr,shift:Ar},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:mr,shift:Mr},{key:"Alt-ArrowUp",run:Jr},{key:"Shift-Alt-ArrowUp",run:Ur},{key:"Alt-ArrowDown",run:Hr},{key:"Shift-Alt-ArrowDown",run:Gr},{key:"Mod-Alt-ArrowUp",run:qr},{key:"Mod-Alt-ArrowDown",run:Ir},{key:"Escape",run:Fr},{key:"Mod-Enter",run:Zr},{key:"Alt-l",mac:"Ctrl-l",run:Er},{key:"Mod-i",run:Br,preventDefault:!0},{key:"Mod-[",run:He},{key:"Mod-]",run:ue},{key:"Mod-Alt-\\",run:Kt},{key:"Shift-Mod-k",run:jr},{key:"Shift-Mod-\\",run:kr},{key:"Mod-/",run:ft},{key:"Alt-A",run:dt},{key:"Ctrl-m",mac:"Shift-Alt-m",run:Kr}].concat(_r),to={key:"Tab",run:ue,shift:He},Qt=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e,z=class{constructor(e,t,n=0,r=e.length,o,i){this.test=i,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=o?s=>o(Qt(s)):Qt,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 Wn(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=Vn(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=Pn(e);let r=this.normalize(t);if(r.length)for(let o=0,i=n;;o++){let s=r.charCodeAt(o),a=this.match(s,i,this.bufferPos+this.bufferStart);if(o==r.length-1){if(a)return this.value=a,this;break}i==n&&o<t.length&&t.charCodeAt(o)==s&&i++}}}match(e,t,n){let r=null;for(let o=0;o<this.matches.length;o+=2){let i=this.matches[o],s=!1;this.query.charCodeAt(i)==e&&(i==this.query.length-1?r={from:this.matches[o+1],to:n}:(this.matches[o]++,s=!0)),s||(this.matches.splice(o,2),o-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?r={from:t,to:n}:this.matches.push(1,t)),r&&this.test&&!this.test(r.from,r.to,this.buffer,this.bufferStart)&&(r=null),r}};typeof Symbol<"u"&&(z.prototype[Symbol.iterator]=function(){return this});var Xt={from:-1,to:-1,match:/.*/.exec("")},Ue="gm"+(/x/.unicode==null?"":"u"),Ge=class{constructor(e,t,n,r=0,o=e.length){if(this.text=e,this.to=o,this.curLine="",this.done=!1,this.value=Xt,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new en(e,t,n,r,o);this.re=new RegExp(t,Ue+(n!=null&&n.ignoreCase?"i":"")),this.test=n==null?void 0:n.test,this.iter=e.iter(),this.curLineStart=e.lineAt(r).from,this.matchPos=fe(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=fe(this.text,r+(n==r?1:0)),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,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}}},je=new WeakMap,_t=class Ae{constructor(t,n){this.from=t,this.text=n}get to(){return this.from+this.text.length}static get(t,n,r){let o=je.get(t);if(!o||o.from>=r||o.to<=n){let a=new Ae(n,t.sliceString(n,r));return je.set(t,a),a}if(o.from==n&&o.to==r)return o;let{text:i,from:s}=o;return s>n&&(i=t.sliceString(n,s)+i,s=n),o.to<r&&(i+=t.sliceString(o.to,r)),je.set(t,new Ae(s,i)),new Ae(n,i.slice(n-s,r-s))}},en=class{constructor(e,t,n,r,o){this.text=e,this.to=o,this.done=!1,this.value=Xt,this.matchPos=fe(e,r),this.re=new RegExp(t,Ue+(n!=null&&n.ignoreCase?"i":"")),this.test=n==null?void 0:n.test,this.flat=_t.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 n=this.flat.from+t.index,r=n+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,match:t},this.matchPos=fe(this.text,r+(n==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=_t.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(Ge.prototype[Symbol.iterator]=en.prototype[Symbol.iterator]=function(){return this});function no(e){try{return new RegExp(e,Ue),!0}catch{return!1}}function fe(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}function Ye(e){let t=p("input",{class:"cm-textfield",name:"line",value:String(e.state.doc.lineAt(e.state.selection.main.head).number)}),n=p("form",{class:"cm-gotoLine",onkeydown:o=>{o.keyCode==27?(o.preventDefault(),e.dispatch({effects:Q.of(!1)}),e.focus()):o.keyCode==13&&(o.preventDefault(),r())},onsubmit:o=>{o.preventDefault(),r()}},p("label",e.state.phrase("Go to line"),": ",t)," ",p("button",{class:"cm-button",type:"submit"},e.state.phrase("go")),p("button",{name:"close",onclick:()=>{e.dispatch({effects:Q.of(!1)}),e.focus()},"aria-label":e.state.phrase("close"),type:"button"},["\xD7"]));function r(){let o=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!o)return;let{state:i}=e,s=i.doc.lineAt(i.selection.main.head),[,a,l,h,c]=o,u=h?+h.slice(1):0,f=l?+l:s.number;if(l&&c){let k=f/100;a&&(k=k*(a=="-"?-1:1)+s.number/i.doc.lines),f=Math.round(i.doc.lines*k)}else l&&a&&(f=f*(a=="-"?-1:1)+s.number);let m=i.doc.line(Math.max(1,Math.min(i.doc.lines,f))),g=d.cursor(m.from+Math.max(0,Math.min(u,m.length)));e.dispatch({effects:[Q.of(!1),y.scrollIntoView(g.from,{y:"center"})],selection:g}),e.focus()}return{dom:n}}var Q=S.define(),tn=F.define({create(){return!0},update(e,t){for(let n of t.effects)n.is(Q)&&(e=n.value);return e},provide:e=>Me.from(e,t=>t?Ye:null)}),ro=e=>{let t=j(e,Ye);if(!t){let n=[Q.of(!0)];e.state.field(tn,!1)??n.push(S.appendConfig.of([tn,oo])),e.dispatch({effects:n}),t=j(e,Ye)}return t&&t.dom.querySelector("input").select(),!0},oo=y.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),io={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},nn=W.define({combine(e){return G(e,io,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function so(e){let t=[uo,ho];return e&&t.push(nn.of(e)),t}var ao=w.mark({class:"cm-selectionMatch"}),lo=w.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function rn(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=M.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=M.Word)}function co(e,t,n,r){return e(t.sliceDoc(n,n+1))==M.Word&&e(t.sliceDoc(r-1,r))==M.Word}var ho=Oe.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(nn),{state:n}=e,r=n.selection;if(r.ranges.length>1)return w.none;let o=r.main,i,s=null;if(o.empty){if(!t.highlightWordAroundCursor)return w.none;let l=n.wordAt(o.head);if(!l)return w.none;s=n.charCategorizer(o.head),i=n.sliceDoc(l.from,l.to)}else{let l=o.to-o.from;if(l<t.minSelectionLength||l>200)return w.none;if(t.wholeWords){if(i=n.sliceDoc(o.from,o.to),s=n.charCategorizer(o.head),!(rn(s,n,o.from,o.to)&&co(s,n,o.from,o.to)))return w.none}else if(i=n.sliceDoc(o.from,o.to),!i)return w.none}let a=[];for(let l of e.visibleRanges){let h=new z(n.doc,i,l.from,l.to);for(;!h.next().done;){let{from:c,to:u}=h.value;if((!s||rn(s,n,c,u))&&(o.empty&&c<=o.from&&u>=o.to?a.push(lo.range(c,u)):(c>=o.to||u<=o.from)&&a.push(ao.range(c,u)),a.length>t.maxMatches))return w.none}}return w.set(a)}},{decorations:e=>e.decorations}),uo=y.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),fo=({state:e,dispatch:t})=>{let{selection:n}=e,r=d.create(n.ranges.map(o=>e.wordAt(o.head)||d.cursor(o.head)),n.mainIndex);return r.eq(n)?!1:(t(e.update({selection:r})),!0)};function mo(e,t){let{main:n,ranges:r}=e.selection,o=e.wordAt(n.head),i=o&&o.from==n.from&&o.to==n.to;for(let s=!1,a=new z(e.doc,t,r[r.length-1].to);;)if(a.next(),a.done){if(s)return null;a=new z(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),s=!0}else{if(s&&r.some(l=>l.from==a.value.from))continue;if(i){let l=e.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}var on=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(i=>i.from===i.to))return fo({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(i=>e.sliceDoc(i.from,i.to)!=r))return!1;let o=mo(e,r);return o?(t(e.update({selection:e.selection.addRange(d.range(o.from,o.to),!1),effects:y.scrollIntoView(o.to)})),!0):!1},N=W.define({combine(e){return G(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new Co(t),scrollToMatch:t=>y.scrollIntoView(t)})}}),Ze=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||no(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,n)=>n=="n"?`
2
- `:n=="r"?"\r":n=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new yo(this):new go(this)}getCursor(e,t=0,n){let r=e.doc?e:In.create({doc:e});return n??(n=r.doc.length),this.regexp?J(this,r,t,n):$(this,r,t,n)}},sn=class{constructor(e){this.spec=e}};function $(e,t,n,r){return new z(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:o=>o.toLowerCase(),e.wholeWord?po(t.doc,t.charCategorizer(t.selection.main.head)):void 0)}function po(e,t){return(n,r,o,i)=>((i>n||i+o.length<r)&&(i=Math.max(0,n-2),o=e.sliceString(i,Math.min(e.length,r+2))),(t(de(o,n-i))!=M.Word||t(me(o,n-i))!=M.Word)&&(t(me(o,r-i))!=M.Word||t(de(o,r-i))!=M.Word))}var go=class extends sn{constructor(e){super(e)}nextMatch(e,t,n){let r=$(this.spec,e,n,e.doc.length).nextOverlapping();if(r.done){let o=Math.min(e.doc.length,t+this.spec.unquoted.length);r=$(this.spec,e,0,o).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==n?null:r.value}prevMatchInRange(e,t,n){for(let r=n;;){let o=Math.max(t,r-1e4-this.spec.unquoted.length),i=$(this.spec,e,o,r),s=null;for(;!i.nextOverlapping().done;)s=i.value;if(s)return s;if(o==t)return null;r-=1e4}}prevMatch(e,t,n){let r=this.prevMatchInRange(e,0,t);return r||(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=$(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 o=$(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!o.next().done;)r(o.value.from,o.value.to)}};function J(e,t,n,r){return new Ge(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?vo(t.charCategorizer(t.selection.main.head)):void 0},n,r)}function de(e,t){return e.slice(I(e,t,!1),t)}function me(e,t){return e.slice(t,I(e,t))}function vo(e){return(t,n,r)=>!r[0].length||(e(de(r.input,r.index))!=M.Word||e(me(r.input,r.index))!=M.Word)&&(e(me(r.input,r.index+r[0].length))!=M.Word||e(de(r.input,r.index+r[0].length))!=M.Word)}var yo=class extends sn{nextMatch(e,t,n){let r=J(this.spec,e,n,e.doc.length).next();return r.done&&(r=J(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let o=Math.max(t,n-r*1e4),i=J(this.spec,e,o,n),s=null;for(;!i.next().done;)s=i.value;if(s&&(o==t||s.from>o+10))return s;if(o==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 r=n.length;r>0;r--){let o=+n.slice(0,r);if(o>0&&o<e.match.length)return e.match[o]+n.slice(r)}return t})}matchAll(e,t){let n=J(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 o=J(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!o.next().done;)r(o.value.from,o.value.to)}},H=S.define(),Ke=S.define(),q=F.define({create(e){return new Qe(_e(e).create(),null)},update(e,t){for(let n of t.effects)n.is(H)?e=new Qe(n.value.create(),e.panel):n.is(Ke)&&(e=new Qe(e.query,n.value?Xe:null));return e},provide:e=>Me.from(e,t=>t.panel)}),Qe=class{constructor(e,t){this.query=e,this.panel=t}},wo=w.mark({class:"cm-searchMatch"}),ko=w.mark({class:"cm-searchMatch cm-searchMatch-selected"}),xo=Oe.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(q))}update(e){let t=e.state.field(q);(t!=e.startState.field(q)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return w.none;let{view:n}=this,r=new ct;for(let o=0,i=n.visibleRanges,s=i.length;o<s;o++){let{from:a,to:l}=i[o];for(;o<s-1&&l>i[o+1].from-500;)l=i[++o].to;e.highlight(n.state,a,l,(h,c)=>{let u=n.state.selection.ranges.some(f=>f.from==h&&f.to==c);r.add(h,c,u?ko:wo)})}return r.finish()}},{decorations:e=>e.decorations});function X(e){return t=>{let n=t.state.field(q,!1);return n&&n.query.spec.valid?e(t,n):hn(t)}}var pe=X((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let o=d.single(r.from,r.to),i=e.state.facet(N);return e.dispatch({selection:o,effects:[et(e,r),i.scrollToMatch(o.main,e)],userEvent:"select.search"}),cn(e),!0}),ge=X((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,o=t.prevMatch(n,r,r);if(!o)return!1;let i=d.single(o.from,o.to),s=e.state.facet(N);return e.dispatch({selection:i,effects:[et(e,o),s.scrollToMatch(i.main,e)],userEvent:"select.search"}),cn(e),!0}),bo=X((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:d.create(n.map(r=>d.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),Ao=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:o}=n.main,i=[],s=0;for(let a=new z(e.doc,e.sliceDoc(r,o));!a.next().done;){if(i.length>1e3)return!1;a.value.from==r&&(s=i.length),i.push(d.range(a.value.from,a.value.to))}return t(e.update({selection:d.create(i,s),userEvent:"select.search.matches"})),!0},an=X((e,{query:t})=>{let{state:n}=e,{from:r,to:o}=n.selection.main;if(n.readOnly)return!1;let i=t.nextMatch(n,r,r);if(!i)return!1;let s=i,a=[],l,h,c=[];s.from==r&&s.to==o&&(h=n.toText(t.getReplacement(s)),a.push({from:s.from,to:s.to,insert:h}),s=t.nextMatch(n,s.from,s.to),c.push(y.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+".")));let u=e.state.changes(a);return s&&(l=d.single(s.from,s.to).map(u),c.push(et(e,s)),c.push(n.facet(N).scrollToMatch(l.main,e))),e.dispatch({changes:u,selection:l,effects:c,userEvent:"input.replace"}),!0}),Mo=X((e,{query:t})=>{if(e.state.readOnly)return!1;let n=t.matchAll(e.state,1e9).map(o=>{let{from:i,to:s}=o;return{from:i,to:s,insert:t.getReplacement(o)}});if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:y.announce.of(r),userEvent:"input.replace.all"}),!0});function Xe(e){return e.state.facet(N).createPanel(e)}function _e(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 o=e.facet(N);return new Ze({search:(t==null?void 0:t.literal)??o.literal?r:r.replace(/\n/g,"\\n"),caseSensitive:(t==null?void 0:t.caseSensitive)??o.caseSensitive,literal:(t==null?void 0:t.literal)??o.literal,regexp:(t==null?void 0:t.regexp)??o.regexp,wholeWord:(t==null?void 0:t.wholeWord)??o.wholeWord})}function ln(e){let t=j(e,Xe);return t&&t.dom.querySelector("[main-field]")}function cn(e){let t=ln(e);t&&t==e.root.activeElement&&t.select()}var hn=e=>{let t=e.state.field(q,!1);if(t&&t.panel){let n=ln(e);if(n&&n!=e.root.activeElement){let r=_e(e.state,t.query.spec);r.valid&&e.dispatch({effects:H.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[Ke.of(!0),t?H.of(_e(e.state,t.query.spec)):S.appendConfig.of(Lo)]});return!0},un=e=>{let t=e.state.field(q,!1);if(!t||!t.panel)return!1;let n=j(e,Xe);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:Ke.of(!1)}),!0},So=[{key:"Mod-f",run:hn,scope:"editor search-panel"},{key:"F3",run:pe,shift:ge,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:pe,shift:ge,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:un,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Ao},{key:"Mod-Alt-g",run:ro},{key:"Mod-d",run:on,preventDefault:!0}],Co=class{constructor(e){this.view=e;let t=this.query=e.state.field(q).query.spec;this.commit=this.commit.bind(this),this.searchField=p("input",{value:t.search,placeholder:A(e,"Find"),"aria-label":A(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=p("input",{value:t.replace,placeholder:A(e,"Replace"),"aria-label":A(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=p("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=p("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=p("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function n(r,o,i){return p("button",{class:"cm-button",name:r,onclick:o,type:"button"},i)}this.dom=p("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,n("next",()=>pe(e),[A(e,"next")]),n("prev",()=>ge(e),[A(e,"previous")]),n("select",()=>bo(e),[A(e,"all")]),p("label",null,[this.caseField,A(e,"match case")]),p("label",null,[this.reField,A(e,"regexp")]),p("label",null,[this.wordField,A(e,"by word")]),...e.state.readOnly?[]:[p("br"),this.replaceField,n("replace",()=>an(e),[A(e,"replace")]),n("replaceAll",()=>Mo(e),[A(e,"replace all")])],p("button",{name:"close",onclick:()=>un(e),"aria-label":A(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new Ze({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:H.of(e)}))}keydown(e){Tn(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?ge:pe)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),an(this.view))}update(e){for(let t of e.transactions)for(let n of t.effects)n.is(H)&&!n.value.eq(this.query)&&this.setQuery(n.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(N).top}};function A(e,t){return e.state.phrase(t)}var ve=30,ye=/[\s\.,:;?!]/;function et(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),o=e.state.doc.lineAt(n).to,i=Math.max(r.from,t-ve),s=Math.min(o,n+ve),a=e.state.sliceDoc(i,s);if(i!=r.from){for(let l=0;l<ve;l++)if(!ye.test(a[l+1])&&ye.test(a[l])){a=a.slice(l);break}}if(s!=o){for(let l=a.length-1;l>a.length-ve;l--)if(!ye.test(a[l-1])&&ye.test(a[l])){a=a.slice(0,l);break}}return y.announce.of(`${e.state.phrase("current match")}. ${a} ${e.state.phrase("on line")} ${r.number}.`)}var Do=y.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"}}),Lo=[q,Fn.low(xo),Do],fn=class{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}},_=class Dn{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let o=r.facet(O).markerFilter;o&&(t=o(t,r));let i=t.slice().sort((f,m)=>f.from-m.from||f.to-m.to),s=new ct,a=[],l=0,h=r.doc.iter(),c=0;for(let f=0;;){let m=f==i.length?null:i[f];if(!m&&!a.length)break;let g,k;for(a.length?(g=l,k=a.reduce((v,T)=>Math.min(v,T.to),m&&m.from>g?m.from:1e8)):(g=m.from,k=m.to,a.push(m),f++);f<i.length;){let v=i[f];if(v.from==g&&(v.to>v.from||v.to==g))a.push(v),f++,k=Math.min(v.to,k);else{k=Math.min(v.from,k);break}}let ne=!1;if(a.some(v=>v.from==g&&v.to==k)&&(ne=g==k,!ne&&k-g<10)){let v=g-(c+h.value.length);v>0&&(h.next(v),c=g);for(let T=g;;){if(T>=k){ne=!0;break}if(!h.lineBreak&&c+h.value.length>T)break;T=c+h.value.length,c+=h.value.length,h.next()}}let it=An(a);if(ne)s.add(g,g,w.widget({widget:new Fo(it),diagnostics:a.slice()}));else{let v=a.reduce((T,st)=>st.markClass?T+" "+st.markClass:T,"");s.add(g,k,w.mark({class:"cm-lintRange cm-lintRange-"+it+v,diagnostics:a.slice(),inclusiveEnd:a.some(T=>T.to>k)}))}l=k;for(let v=0;v<a.length;v++)a[v].to<=l&&a.splice(v--,1)}let u=s.finish();return new Dn(u,n,U(u))}};function U(e,t=null,n=0){let r=null;return e.between(n,1e9,(o,i,{spec:s})=>{if(!(t&&s.diagnostics.indexOf(t)<0))if(!r)r=new fn(o,i,t||s.diagnostics[0]);else{if(s.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new fn(r.from,i,r.diagnostic)}}),r}function dn(e,t){let n=t.pos,r=t.end||n,o=e.state.facet(O).hideOn(e,n,r);if(o!=null)return o;let i=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(s=>s.is(we))||e.changes.touchesRange(i.from,Math.max(i.to,r)))}function mn(e,t){return e.field(b,!1)?t:t.concat(S.appendConfig.of(Cn))}function pn(e,t){return{effects:mn(e,[we.of(t)])}}var we=S.define(),tt=S.define(),gn=S.define(),b=F.define({create(){return new _(w.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,o=e.panel;if(e.selected){let i=t.changes.mapPos(e.selected.from,1);r=U(n,e.selected.diagnostic,i)||U(n,null,i)}!n.size&&o&&t.state.facet(O).autoPanel&&(o=null),e=new _(n,o,r)}for(let n of t.effects)if(n.is(we)){let r=t.state.facet(O).autoPanel?n.value.length?nt.open:null:e.panel;e=_.init(n.value,r,t.state)}else n.is(tt)?e=new _(e.diagnostics,n.value?nt.open:null,e.selected):n.is(gn)&&(e=new _(e.diagnostics,e.panel,n.value));return e},provide:e=>[Me.from(e,t=>t.panel),y.decorations.from(e,t=>t.diagnostics)]}),Ro=w.mark({class:"cm-lintRange cm-lintRange-active"});function To(e,t,n){let{diagnostics:r}=e.state.field(b),o,i=-1,s=-1;r.between(t-(n<0?1:0),t+(n>0?1:0),(l,h,{spec:c})=>{if(t>=l&&t<=h&&(l==h||(t>l||n>0)&&(t<h||n<0)))return o=c.diagnostics,i=l,s=h,!1});let a=e.state.facet(O).tooltipFilter;return o&&a&&(o=a(o,e.state)),o?{pos:i,end:s,above:e.state.doc.lineAt(i).to<s,create(){return{dom:vn(e,o)}}}:null}function vn(e,t){return p("ul",{class:"cm-tooltip-lint"},t.map(n=>xn(e,n,!1)))}var Oo=e=>{let t=e.state.field(b,!1);(!t||!t.panel)&&e.dispatch({effects:mn(e.state,[tt.of(!0)])});let n=j(e,nt.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},yn=e=>{let t=e.state.field(b,!1);return!t||!t.panel?!1:(e.dispatch({effects:tt.of(!1)}),!0)},Eo=[{key:"Mod-Shift-m",run:Oo,preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(b,!1);if(!t)return!1;let n=e.state.selection.main,r=t.diagnostics.iter(n.to+1);return!r.value&&(r=t.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)}}],Bo=Oe.fromClass(class{constructor(e){this.view=e,this.timeout=-1,this.set=!0;let{delay:t}=e.state.facet(O);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:t}=this.view,{sources:n}=t.facet(O);n.length&&qo(n.map(r=>Promise.resolve(r(this.view))),r=>{this.view.state.doc==t.doc&&this.view.dispatch(pn(this.view.state,r.reduce((o,i)=>o.concat(i))))},r=>{Rn(this.view.state,r)})}}update(e){let t=e.state.facet(O);(e.docChanged||t!=e.startState.facet(O)||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 qo(e,t,n){let r=[],o=-1;for(let i of e)i.then(s=>{r.push(s),clearTimeout(o),r.length==e.length?t(r):o=setTimeout(()=>t(r),200)},n)}var O=W.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...G(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:wn,tooltipFilter:wn,needsRefresh:(t,n)=>t?n?r=>t(r)||n(r):t:n,hideOn:(t,n)=>t?n?(r,o,i)=>t(r,o,i)||n(r,o,i):t:n,autoPanel:(t,n)=>t||n})}}});function wn(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function Io(e,t={}){return[O.of({source:e,config:t}),Bo,Cn]}function kn(e){let t=[];if(e)e:for(let{name:n}of e){for(let r=0;r<n.length;r++){let o=n[r];if(/[a-zA-Z]/.test(o)&&!t.some(i=>i.toLowerCase()==o.toLowerCase())){t.push(o);continue e}}t.push("")}return t}function xn(e,t,n){var o;let r=n?kn(t.actions):[];return p("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},p("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(o=t.actions)==null?void 0:o.map((i,s)=>{let a=!1,l=f=>{if(f.preventDefault(),a)return;a=!0;let m=U(e.state.field(b).diagnostics,t);m&&i.apply(e,m.from,m.to)},{name:h}=i,c=r[s]?h.indexOf(r[s]):-1,u=c<0?h:[h.slice(0,c),p("u",h.slice(c,c+1)),h.slice(c+1)];return p("button",{type:"button",class:"cm-diagnosticAction"+(i.markClass?" "+i.markClass:""),onclick:l,onmousedown:l,"aria-label":` Action: ${h}${c<0?"":` (access key "${r[s]})"`}.`},u)}),t.source&&p("div",{class:"cm-diagnosticSource"},t.source))}var Fo=class extends Jn{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return p("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},bn=class{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=xn(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},nt=class Ln{constructor(t){this.view=t,this.items=[];let n=o=>{if(o.keyCode==27)yn(this.view),this.view.focus();else if(o.keyCode==38||o.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(o.keyCode==40||o.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(o.keyCode==36)this.moveSelection(0);else if(o.keyCode==35)this.moveSelection(this.items.length-1);else if(o.keyCode==13)this.view.focus();else if(o.keyCode>=65&&o.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:i}=this.items[this.selectedIndex],s=kn(i.actions);for(let a=0;a<s.length;a++)if(s[a].toUpperCase().charCodeAt(0)==o.keyCode){let l=U(this.view.state.field(b).diagnostics,i);l&&i.actions[a].apply(t,l.from,l.to)}}else return;o.preventDefault()},r=o=>{for(let i=0;i<this.items.length;i++)this.items[i].dom.contains(o.target)&&this.moveSelection(i)};this.list=p("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=p("div",{class:"cm-panel-lint"},this.list,p("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>yn(this.view)},"\xD7")),this.update()}get selectedIndex(){let t=this.view.state.field(b).selected;if(!t)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==t.diagnostic)return n;return-1}update(){let{diagnostics:t,selected:n}=this.view.state.field(b),r=0,o=!1,i=null,s=new Set;for(t.between(0,this.view.state.doc.length,(a,l,{spec:h})=>{for(let c of h.diagnostics){if(s.has(c))continue;s.add(c);let u=-1,f;for(let m=r;m<this.items.length;m++)if(this.items[m].diagnostic==c){u=m;break}u<0?(f=new bn(this.view,c),this.items.splice(r,0,f),o=!0):(f=this.items[u],u>r&&(this.items.splice(r,u-r),o=!0)),n&&f.diagnostic==n.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),i=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)o=!0,this.items.pop();this.items.length==0&&(this.items.push(new bn(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),o=!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:a,panel:l})=>{let h=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/h:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/h)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),o&&this.sync()}sync(){let t=this.list.firstChild;function n(){let r=t;t=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;t!=r.dom;)n();t=r.dom.nextSibling}else this.list.insertBefore(r.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=U(this.view.state.field(b).diagnostics,this.items[t].diagnostic);n&&this.view.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0,effects:gn.of(n)})}static open(t){return new Ln(t)}};function ke(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 xe(e){return ke(`<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 Po=y.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:xe("#d11")},".cm-lintRange-warning":{backgroundImage:xe("orange")},".cm-lintRange-info":{backgroundImage:xe("#999")},".cm-lintRange-hint":{backgroundImage:xe("#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}}});function Wo(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function An(e){let t="hint",n=1;for(let r of e){let o=Wo(r.severity);o>n&&(n=o,t=r.severity)}return t}var Mn=class extends Nn{constructor(e){super(),this.diagnostics=e,this.severity=An(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(be).tooltipFilter;return r&&(n=r(n,e.state)),n.length&&(t.onmouseover=()=>zo(e,t,n)),t}};function Vo(e,t){let n=r=>{let o=t.getBoundingClientRect();if(!(r.clientX>o.left-10&&r.clientX<o.right+10&&r.clientY>o.top-10&&r.clientY<o.bottom+10)){for(let i=r.target;i;i=i.parentNode)if(i.nodeType==1&&i.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",n),e.state.field(Sn)&&e.dispatch({effects:ot.of(null)})}};window.addEventListener("mousemove",n)}function zo(e,t,n){function r(){let s=e.elementAtHeight(t.getBoundingClientRect().top+5-e.documentTop);e.coordsAtPos(s.from)&&e.dispatch({effects:ot.of({pos:s.from,above:!1,clip:!1,create(){return{dom:vn(e,n),getCoords:()=>t.getBoundingClientRect()}}})}),t.onmouseout=t.onmousemove=null,Vo(e,t)}let{hoverTime:o}=e.state.facet(be),i=setTimeout(r,o);t.onmouseout=()=>{clearTimeout(i),t.onmouseout=t.onmousemove=null},t.onmousemove=()=>{clearTimeout(i),i=setTimeout(r,o)}}function No(e,t){let n=Object.create(null);for(let o of t){let i=e.lineAt(o.from);(n[i.from]||(n[i.from]=[])).push(o)}let r=[];for(let o in n)r.push(new Mn(n[o]).range(+o));return Se.of(r,!0)}var $o=zn({class:"cm-gutter-lint",markers:e=>e.state.field(rt),widgetMarker:(e,t,n)=>{let r=[];return e.state.field(rt).between(n.from,n.to,(o,i,s)=>{o>n.from&&o<n.to&&r.push(...s.diagnostics)}),r.length?new Mn(r):null}}),rt=F.define({create(){return Se.empty},update(e,t){e=e.map(t.changes);let n=t.state.facet(be).markerFilter;for(let r of t.effects)if(r.is(we)){let o=r.value;n&&(o=n(o||[],t.state)),e=No(t.state.doc,o.slice(0))}return e}}),ot=S.define(),Sn=F.define({create(){return null},update(e,t){return e&&t.docChanged&&(e=dn(t,e)?null:{...e,pos:t.changes.mapPos(e.pos)}),t.effects.reduce((n,r)=>r.is(ot)?r.value:n,e)},provide:e=>Bn.from(e)}),Jo=y.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:ke('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:ke('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:ke('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),Cn=[b,y.decorations.compute([b],e=>{let{selected:t,panel:n}=e.field(b);return!t||!n||t.from==t.to?w.none:w.set([Ro.range(t.from,t.to)])}),Hn(To,{hideOn:dn}),Po],be=W.define({combine(e){return G(e,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function Ho(e={}){return[be.of(e),rt,$o,Jo,Sn]}function Uo(e,t){let n=e.field(b,!1);if(n&&n.diagnostics.size){let r=[],o=[],i=-1;for(let s=Se.iter([n.diagnostics]);;s.next()){for(let a=0;a<r.length;a++)(!s.value||s.value.spec.diagnostics.indexOf(r[a])<0)&&(t(r[a],o[a],i),r.splice(a,1),o.splice(a--,1));if(!s.value)break;for(let a of s.value.spec.diagnostics)r.indexOf(a)<0&&(r.push(a),o.push(s.from));i=s.to}}}export{to as C,dt as D,ie as E,ft as O,Kt as S,Qr as T,Xn as _,pn as a,He as b,so as c,H as d,cr as f,eo as g,Ct as h,Io as i,Fe as k,So as l,Dt as m,Ho as n,Ge as o,Ve as p,Eo as r,Ze as s,Uo as t,on as u,_n as v,$e as w,ue as x,lr as y};