texlite 0.7.8 → 0.8.1

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 (34) hide show
  1. package/DESIGN.md +463 -0
  2. package/NPM_TESTING.md +136 -0
  3. package/OPERATIONS.md +261 -0
  4. package/README.md +82 -305
  5. package/README.zh-CN.md +64 -329
  6. package/dist/client/assets/{GitDialog-CqGyUxfP.js → GitDialog-CZRQPg3O.js} +1 -1
  7. package/dist/client/assets/{HistoryDialog-BMl2zxBa.js → HistoryDialog-BQtr58Co.js} +1 -1
  8. package/dist/client/assets/{LatexEditor-C4bFVwJZ.js → LatexEditor-XLwZxO6_.js} +1 -1
  9. package/dist/client/assets/{PdfPreview-BpP2LnX7.js → PdfPreview-D5CC-vqV.js} +1 -1
  10. package/dist/client/assets/{ProjectNavigationDialogs-B7mxG8Fz.js → ProjectNavigationDialogs-BdtTldSa.js} +1 -1
  11. package/dist/client/assets/{SystemMetricsDialog-BK_K3ah8.js → SystemMetricsDialog-CEbYJdj7.js} +1 -1
  12. package/dist/client/assets/index-BAFR6u6_.js +64 -0
  13. package/dist/client/assets/index-g5CaToD6.css +1 -0
  14. package/dist/client/assets/{minus-BwzSZenU.js → minus-KzdrD7TK.js} +1 -1
  15. package/dist/client/assets/spellCheck-CDZ9ZXo6.js +1 -0
  16. package/dist/client/index.html +2 -2
  17. package/dist/server/app.js +8 -3
  18. package/dist/server/cli.js +170 -32
  19. package/dist/server/environment.js +168 -38
  20. package/dist/server/harper.js +210 -119
  21. package/dist/server/i18n.js +8 -0
  22. package/dist/server/latexSpellMask.js +257 -0
  23. package/dist/server/projects.js +0 -12
  24. package/dist/server/routes/projectShared.js +1 -1
  25. package/dist/server/routes/projects.js +20 -19
  26. package/dist/server/routes/wordCount.js +83 -0
  27. package/dist/server/texcount.js +244 -0
  28. package/package.json +6 -3
  29. package/preview-1.png +0 -0
  30. package/preview-2.png +0 -0
  31. package/dist/client/assets/index-B9n8hfV0.js +0 -64
  32. package/dist/client/assets/index-BhyTKMoO.css +0 -1
  33. package/dist/client/assets/spellCheck-CvOAlLWp.js +0 -4
  34. package/preview.png +0 -0
@@ -1,4 +1,4 @@
1
- import{u as si,r as X,j as De}from"./react-BoEjKzFZ.js";import{s as zr,E as se,V as ut,D as te,a as Pt,R as li,P as Qr,S as mt,b as xe,f as ci,M as qr,m as Er,i as ui,c as fi,d as hi,e as di,g as pi,h as gi,j as Or,k as Jr,l as yt,n as vi,o as mi,p as yi,q as Ci,r as ki,t as wi,u as Si,v as xi,w as bi,x as Mi,y as nt,F as Wt,A as Ut,z as Li,W as Zr,B as Yr,C as Rr,G as Tr,H as Nt,I as Ai,J as Ei,K as Oi,L as Ri,N as Ti,O as Ii,Q as Ni,T as Bi,U as Pi,X as Di,Y as _i,Z as Ki,_ as Fi,$ as $i,a0 as Hi,a1 as Vi,a2 as ji,a3 as Wi,a4 as Ui,a5 as zt,a6 as zi,a7 as Qi,a8 as qi,a9 as Ji,aa as Se,ab as Zi,ac as Yi}from"./editor-DMLs-XWi.js";import{r as Ir,c as ct,U as Xr,b as Dt,d as _t,e as Nr,m as Xi,f as Gi,g as Bt,t as gt,h as vt,i as eo}from"./index-B9n8hfV0.js";function to(s){var i=s.Pos;function l(e,t,r){if(t.line===r.line&&t.ch>=r.ch-1){var n=e.getLine(t.line),o=n.charCodeAt(t.ch);55296<=o&&o<=55551&&(r.ch+=1)}return{start:t,end:r}}var u=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"g<Up>",type:"keyToKey",toKeys:"gk"},{keys:"g<Down>",type:"keyToKey",toKeys:"gj"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h"},{keys:"<Del>",type:"keyToKey",toKeys:"x"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-Esc>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-Esc>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"keyToKey",toKeys:"i",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"(",type:"motion",motion:"moveBySentence",motionArgs:{forward:!1}},{keys:")",type:"motion",motion:"moveBySentence",motionArgs:{forward:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"g$",type:"motion",motion:"moveToEndOfDisplayLine"},{keys:"g^",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"g0",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<register>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<register>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:"=",type:"operator",operator:"indentAuto"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"gc",type:"operator",operator:"toggleComment",isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"gn",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!0}},{keys:"gN",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!1}},{keys:"gq",type:"operator",operator:"hardWrap"},{keys:"gw",type:"operator",operator:"hardWrap",operatorArgs:{keepCursor:!0}},{keys:"g?",type:"operator",operator:"rot13"},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-u>",type:"operatorMotion",operator:"delete",motion:"moveToStartOfLine",context:"insert"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-w>",type:"idle",context:"normal"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"gi",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"lastEdit"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"gI",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"bol"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"gJ",type:"action",action:"joinLines",actionArgs:{keepSpaces:!0},isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<register>",type:"action",action:"replayMacro"},{keys:"q<register>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0},context:"normal"},{keys:"R",type:"operator",operator:"change",operatorArgs:{linewise:!0,fullLine:!0},context:"visual",exitVisualBlock:!0},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<register>",type:"action",action:"setMark"},{keys:'"<register>',type:"action",action:"setRegister"},{keys:"<C-r><register>",type:"action",action:"insertRegister",context:"insert",isEdit:!0},{keys:"<C-o>",type:"action",action:"oneNormalCommand",context:"insert"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<register>",type:"motion",motion:"textObjectManipulation"},{keys:"i<register>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],d=Object.create(null),v=u.length,w=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"omap",shortName:"om"},{name:"noremap",shortName:"no"},{name:"nnoremap",shortName:"nn"},{name:"vnoremap",shortName:"vn"},{name:"inoremap",shortName:"ino"},{name:"onoremap",shortName:"ono"},{name:"unmap"},{name:"mapclear",shortName:"mapc"},{name:"nmapclear",shortName:"nmapc"},{name:"vmapclear",shortName:"vmapc"},{name:"imapclear",shortName:"imapc"},{name:"omapclear",shortName:"omapc"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"startinsert",shortName:"start"},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"put",shortName:"pu"},{name:"delmarks",shortName:"delm"},{name:"marks",excludeFromCommandHistory:!0},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"vglobal",shortName:"v"},{name:"delete",shortName:"d"},{name:"join",shortName:"j"},{name:"normal",shortName:"norm"},{name:"global",shortName:"g"}],S=Zt("");function x(e){e.setOption("disableInput",!0),e.setOption("showCursorWhenSelecting",!1),s.signal(e,"vim-mode-change",{mode:"normal"}),e.on("cursorActivity",Sr),He(e),s.on(e.getInputField(),"paste",T(e))}function B(e){e.setOption("disableInput",!1),e.off("cursorActivity",Sr),s.off(e.getInputField(),"paste",T(e)),e.state.vim=null,st&&clearTimeout(st)}function T(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=function(){t.insertMode||(e.setCursor(ie(e.getCursor(),0,1)),Ye.enterInsertMode(e,{},t))}),t.onPasteFn}var L=/[\d]/,O=[s.isWordChar,function(e){return e&&!s.isWordChar(e)&&!/\s/.test(e)}],D=[function(e){return/\S/.test(e)}],F=["<",">"],W=["-",'"',".",":","_","/","+"],U=/^\w$/,q=/^[A-Z]$/;try{q=new RegExp("^[\\p{Lu}]$","u")}catch{}function J(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function ae(e){return/^[a-z]$/.test(e)}function le(e){return"()[]{}".indexOf(e)!=-1}function Z(e){return L.test(e)}function me(e){return q.test(e)}function ne(e){return/^\s*$/.test(e)}function Ke(e){return".?!".indexOf(e)!=-1}function et(e,t){for(var r=0;r<t.length;r++)if(t[r]==e)return!0;return!1}var be={};function Fe(e,t,r,n,o){if(t===void 0&&!o)throw Error("defaultValue is required unless callback is provided");if(r||(r="string"),be[e]={type:r,defaultValue:t,callback:o},n)for(var a=0;a<n.length;a++)be[n[a]]=be[e];t&&Qe(e,t)}function Qe(e,t,r,n){var o=be[e];n=n||{};var a=n.scope;if(!o)return new Error("Unknown option: "+e);if(o.type=="boolean"){if(t&&t!==!0)return new Error("Invalid argument: "+e+"="+t);t!==!1&&(t=!0)}o.callback?(a!=="local"&&o.callback(t,void 0),a!=="global"&&r&&o.callback(t,r)):(a!=="local"&&(o.value=o.type=="boolean"?!!t:t),a!=="global"&&r&&(r.state.vim.options[e]={value:t}))}function de(e,t,r){var n=be[e];r=r||{};var o=r.scope;if(!n)return new Error("Unknown option: "+e);if(n.callback){let a=t&&n.callback(void 0,t);return o!=="global"&&a!==void 0?a:o!=="local"?n.callback():void 0}else return(o!=="global"&&t&&t.state.vim.options[e]||o!=="local"&&n||{}).value}Fe("filetype",void 0,"string",["ft"],function(e,t){if(t!==void 0)if(e===void 0){let r=t.getOption("mode");return r=="null"?"":r}else{let r=e==""?"null":e;t.setOption("mode",r)}}),Fe("textwidth",80,"number",["tw"],function(e,t){if(t!==void 0)if(e===void 0){var r=t.getOption("textwidth");return r}else{var n=Math.round(e);n>1&&t.setOption("textwidth",n)}});var ft=function(){var e=100,t=-1,r=0,n=0,o=new Array(e);function a(h,p,g){var y=t%e,C=o[y];function k(b){var M=++t%e,N=o[M];N&&N.clear(),o[M]=h.setBookmark(b)}if(C){var m=C.find();m&&!Le(m,p)&&k(p)}else k(p);k(g),r=t,n=t-e+1,n<0&&(n=0)}function c(h,p){t+=p,t>r?t=r:t<n&&(t=n);var g=o[(e+t)%e];if(g&&!g.find()){var y=p>0?1:-1,C,k=h.getCursor();do if(t+=y,g=o[(e+t)%e],g&&(C=g.find())&&!Le(k,C))break;while(t<r&&t>n)}return g}function f(h,p){var g=t,y=c(h,p);return t=g,y&&y.find()}return{cachedCursor:void 0,add:a,find:f,move:c}},ot=function(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};class qe{constructor(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=ot()}exitMacroRecordMode(){var t=A.macroModeState;t.onRecordingDone&&t.onRecordingDone(),t.onRecordingDone=void 0,t.isRecording=!1}enterMacroRecordMode(t,r){var n=A.registerController.getRegister(r);if(n){if(n.clear(),this.latestRegister=r,t.openDialog){var o=Re("span",{class:"cm-vim-message"},"recording @"+r);this.onRecordingDone=t.openDialog(o,function(){},{bottom:!0})}this.isRecording=!0}}}function He(e){return e.state.vim||(e.state.vim={inputState:new Yt,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},insertMode:!1,insertModeReturn:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:void 0,sel:{anchor:new i(0,0),head:new i(0,0)},options:{},expectLiteralNext:!1,status:""}),e.state.vim}var A;function Me(){A={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:ft(),macroModeState:new qe,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new mn({}),searchHistoryController:new Xt,exCommandHistoryController:new Xt};for(var e in be){var t=be[e];t.value=t.defaultValue}}class Ee{constructor(t,r){this.keyName=t,this.key=r.key,this.ctrlKey=r.ctrlKey,this.altKey=r.altKey,this.metaKey=r.metaKey,this.shiftKey=r.shiftKey}}var Ve,E={enterVimMode:x,leaveVimMode:B,buildKeyMap:function(){},getRegisterController:function(){return A.registerController},resetVimGlobalState_:Me,getVimGlobalState_:function(){return A},maybeInitVimState_:He,suppressErrorLogging:!1,InsertModeKey:Ee,map:function(e,t,r){Ce.map(e,t,r)},unmap:function(e,t){return Ce.unmap(e,t)},noremap:function(e,t,r){Ce.map(e,t,r,!0)},mapclear:function(e){var t=u.length,r=v,n=u.slice(0,t-r);if(u=u.slice(t-r),e)for(var o=n.length-1;o>=0;o--){var a=n[o];if(e!==a.context)if(a.context)this._mapCommand(a);else{var c=["normal","insert","visual"];for(var f in c)if(c[f]!==e){var h=Object.assign({},a);h.context=c[f],this._mapCommand(h)}}}},langmap:Jt,vimKeyFromEvent:We,setOption:Qe,getOption:de,defineOption:Fe,defineEx:function(e,t,r){if(!t)t=e;else if(e.indexOf(t)!==0)throw new Error('(Vim.defineEx) "'+t+'" is not a prefix of "'+e+'", command not registered');kr[e]=r,Ce.commandMap_[t]={name:e,shortName:t,type:"api"}},handleKey:function(e,t,r){var n=this.findKey(e,t,r);if(typeof n=="function")return n()},multiSelectHandleKey:ai,findKey:function(e,t,r){var n=He(e),o=e;function a(){var g=A.macroModeState;if(g.isRecording){if(t=="q")return g.exitMacroRecordMode(),ce(o),!0;r!="mapping"&&ni(g,t)}}function c(){if(t=="<Esc>"){if(n.visualMode)Be(o);else if(n.insertMode)ze(o);else return;return ce(o),!0}}function f(){if(c())return!0;n.inputState.keyBuffer.push(t);var g=n.inputState.keyBuffer.join(""),y=t.length==1,C=Ze.matchCommand(g,u,n.inputState,"insert"),k=n.inputState.changeQueue;if(C.type=="none")return ce(o),!1;if(C.type=="partial"){if(C.expectLiteralNext&&(n.expectLiteralNext=!0),Ve&&window.clearTimeout(Ve),Ve=y&&window.setTimeout(function(){n.insertMode&&n.inputState.keyBuffer.length&&ce(o)},de("insertModeEscKeysTimeout")),y){var m=o.listSelections();(!k||k.removed.length!=m.length)&&(k=n.inputState.changeQueue=new gn),k.inserted+=t;for(var b=0;b<m.length;b++){var M=ve(m[b].anchor,m[b].head),N=Ue(m[b].anchor,m[b].head),R=o.getRange(M,o.state.overwrite?ie(N,0,1):N);k.removed[b]=(k.removed[b]||"")+R}}return!y}else C.type=="full"&&(n.inputState.keyBuffer.length=0);if(n.expectLiteralNext=!1,Ve&&window.clearTimeout(Ve),C.command&&k){for(var m=o.listSelections(),b=0;b<m.length;b++){var I=m[b].head;o.replaceRange(k.removed[b]||"",ie(I,0,-k.inserted.length),I,"+input")}A.macroModeState.lastInsertModeChanges.changes.pop()}return C.command||ce(o),C.command}function h(){if(a()||c())return!0;n.inputState.keyBuffer.push(t);var g=n.inputState.keyBuffer.join("");if(/^[1-9]\d*$/.test(g))return!0;var y=/^(\d*)(.*)$/.exec(g);if(!y)return ce(o),!1;var C=n.visualMode?"visual":"normal",k=y[2]||y[1];n.inputState.operatorShortcut&&n.inputState.operatorShortcut.slice(-1)==k&&(k=n.inputState.operatorShortcut);var m=Ze.matchCommand(k,u,n.inputState,C);return m.type=="none"?(ce(o),!1):m.type=="partial"?(m.expectLiteralNext&&(n.expectLiteralNext=!0),!0):m.type=="clear"?(ce(o),!0):(n.expectLiteralNext=!1,n.inputState.keyBuffer.length=0,y=/^(\d*)(.*)$/.exec(g),y&&y[1]&&y[1]!="0"&&n.inputState.pushRepeatDigit(y[1]),m.command)}var p=n.insertMode?f():h();if(p===!1)return!n.insertMode&&(t.length===1||s.isMac&&/<A-.>/.test(t))?function(){return!0}:void 0;if(p===!0)return function(){return!0};if(p)return function(){return o.operation(function(){o.curOp.isVimOp=!0;try{if(typeof p!="object")return;p.type=="keyToKey"?ye(o,p.toKeys,p):Ze.processCommand(o,n,p)}catch(g){throw o.state.vim=void 0,He(o),E.suppressErrorLogging||console.log(g),g}return!0})}},handleEx:function(e,t){Ce.processCommand(e,t)},defineMotion:yn,defineAction:kn,defineOperator:Cn,mapCommand:ti,_mapCommand:Ot,defineRegister:vn,exitVisualMode:Be,exitInsertMode:ze},Y=[],P=!1,_;function Q(e){if(!_)throw new Error("No prompt to send key to");if(e[0]=="<"){var t=e.toLowerCase().slice(1,-1),r=t.split("-");if(t=r.pop()||"",t=="lt")e="<";else if(t=="space")e=" ";else if(t=="cr")e=`
1
+ import{u as si,r as X,j as De}from"./react-BoEjKzFZ.js";import{s as zr,E as se,V as ut,D as te,a as Pt,R as li,P as Qr,S as mt,b as xe,f as ci,M as qr,m as Er,i as ui,c as fi,d as hi,e as di,g as pi,h as gi,j as Or,k as Jr,l as yt,n as vi,o as mi,p as yi,q as Ci,r as ki,t as wi,u as Si,v as xi,w as bi,x as Mi,y as nt,F as Wt,A as Ut,z as Li,W as Zr,B as Yr,C as Rr,G as Tr,H as Nt,I as Ai,J as Ei,K as Oi,L as Ri,N as Ti,O as Ii,Q as Ni,T as Bi,U as Pi,X as Di,Y as _i,Z as Ki,_ as Fi,$ as $i,a0 as Hi,a1 as Vi,a2 as ji,a3 as Wi,a4 as Ui,a5 as zt,a6 as zi,a7 as Qi,a8 as qi,a9 as Ji,aa as Se,ab as Zi,ac as Yi}from"./editor-DMLs-XWi.js";import{r as Ir,c as ct,U as Xr,b as Dt,d as _t,e as Nr,m as Xi,f as Gi,g as Bt,t as gt,h as vt,i as eo}from"./index-BAFR6u6_.js";function to(s){var i=s.Pos;function l(e,t,r){if(t.line===r.line&&t.ch>=r.ch-1){var n=e.getLine(t.line),o=n.charCodeAt(t.ch);55296<=o&&o<=55551&&(r.ch+=1)}return{start:t,end:r}}var u=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"g<Up>",type:"keyToKey",toKeys:"gk"},{keys:"g<Down>",type:"keyToKey",toKeys:"gj"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h"},{keys:"<Del>",type:"keyToKey",toKeys:"x"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-Esc>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-Esc>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"keyToKey",toKeys:"i",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"(",type:"motion",motion:"moveBySentence",motionArgs:{forward:!1}},{keys:")",type:"motion",motion:"moveBySentence",motionArgs:{forward:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"g$",type:"motion",motion:"moveToEndOfDisplayLine"},{keys:"g^",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"g0",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<register>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<register>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:"=",type:"operator",operator:"indentAuto"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"gc",type:"operator",operator:"toggleComment",isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"gn",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!0}},{keys:"gN",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!1}},{keys:"gq",type:"operator",operator:"hardWrap"},{keys:"gw",type:"operator",operator:"hardWrap",operatorArgs:{keepCursor:!0}},{keys:"g?",type:"operator",operator:"rot13"},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-u>",type:"operatorMotion",operator:"delete",motion:"moveToStartOfLine",context:"insert"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-w>",type:"idle",context:"normal"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"gi",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"lastEdit"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"gI",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"bol"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"gJ",type:"action",action:"joinLines",actionArgs:{keepSpaces:!0},isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<register>",type:"action",action:"replayMacro"},{keys:"q<register>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0},context:"normal"},{keys:"R",type:"operator",operator:"change",operatorArgs:{linewise:!0,fullLine:!0},context:"visual",exitVisualBlock:!0},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<register>",type:"action",action:"setMark"},{keys:'"<register>',type:"action",action:"setRegister"},{keys:"<C-r><register>",type:"action",action:"insertRegister",context:"insert",isEdit:!0},{keys:"<C-o>",type:"action",action:"oneNormalCommand",context:"insert"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<register>",type:"motion",motion:"textObjectManipulation"},{keys:"i<register>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],d=Object.create(null),v=u.length,w=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"omap",shortName:"om"},{name:"noremap",shortName:"no"},{name:"nnoremap",shortName:"nn"},{name:"vnoremap",shortName:"vn"},{name:"inoremap",shortName:"ino"},{name:"onoremap",shortName:"ono"},{name:"unmap"},{name:"mapclear",shortName:"mapc"},{name:"nmapclear",shortName:"nmapc"},{name:"vmapclear",shortName:"vmapc"},{name:"imapclear",shortName:"imapc"},{name:"omapclear",shortName:"omapc"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"startinsert",shortName:"start"},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"put",shortName:"pu"},{name:"delmarks",shortName:"delm"},{name:"marks",excludeFromCommandHistory:!0},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"vglobal",shortName:"v"},{name:"delete",shortName:"d"},{name:"join",shortName:"j"},{name:"normal",shortName:"norm"},{name:"global",shortName:"g"}],S=Zt("");function x(e){e.setOption("disableInput",!0),e.setOption("showCursorWhenSelecting",!1),s.signal(e,"vim-mode-change",{mode:"normal"}),e.on("cursorActivity",Sr),He(e),s.on(e.getInputField(),"paste",T(e))}function B(e){e.setOption("disableInput",!1),e.off("cursorActivity",Sr),s.off(e.getInputField(),"paste",T(e)),e.state.vim=null,st&&clearTimeout(st)}function T(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=function(){t.insertMode||(e.setCursor(ie(e.getCursor(),0,1)),Ye.enterInsertMode(e,{},t))}),t.onPasteFn}var L=/[\d]/,O=[s.isWordChar,function(e){return e&&!s.isWordChar(e)&&!/\s/.test(e)}],D=[function(e){return/\S/.test(e)}],F=["<",">"],W=["-",'"',".",":","_","/","+"],U=/^\w$/,q=/^[A-Z]$/;try{q=new RegExp("^[\\p{Lu}]$","u")}catch{}function J(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function ae(e){return/^[a-z]$/.test(e)}function le(e){return"()[]{}".indexOf(e)!=-1}function Z(e){return L.test(e)}function me(e){return q.test(e)}function ne(e){return/^\s*$/.test(e)}function Ke(e){return".?!".indexOf(e)!=-1}function et(e,t){for(var r=0;r<t.length;r++)if(t[r]==e)return!0;return!1}var be={};function Fe(e,t,r,n,o){if(t===void 0&&!o)throw Error("defaultValue is required unless callback is provided");if(r||(r="string"),be[e]={type:r,defaultValue:t,callback:o},n)for(var a=0;a<n.length;a++)be[n[a]]=be[e];t&&Qe(e,t)}function Qe(e,t,r,n){var o=be[e];n=n||{};var a=n.scope;if(!o)return new Error("Unknown option: "+e);if(o.type=="boolean"){if(t&&t!==!0)return new Error("Invalid argument: "+e+"="+t);t!==!1&&(t=!0)}o.callback?(a!=="local"&&o.callback(t,void 0),a!=="global"&&r&&o.callback(t,r)):(a!=="local"&&(o.value=o.type=="boolean"?!!t:t),a!=="global"&&r&&(r.state.vim.options[e]={value:t}))}function de(e,t,r){var n=be[e];r=r||{};var o=r.scope;if(!n)return new Error("Unknown option: "+e);if(n.callback){let a=t&&n.callback(void 0,t);return o!=="global"&&a!==void 0?a:o!=="local"?n.callback():void 0}else return(o!=="global"&&t&&t.state.vim.options[e]||o!=="local"&&n||{}).value}Fe("filetype",void 0,"string",["ft"],function(e,t){if(t!==void 0)if(e===void 0){let r=t.getOption("mode");return r=="null"?"":r}else{let r=e==""?"null":e;t.setOption("mode",r)}}),Fe("textwidth",80,"number",["tw"],function(e,t){if(t!==void 0)if(e===void 0){var r=t.getOption("textwidth");return r}else{var n=Math.round(e);n>1&&t.setOption("textwidth",n)}});var ft=function(){var e=100,t=-1,r=0,n=0,o=new Array(e);function a(h,p,g){var y=t%e,C=o[y];function k(b){var M=++t%e,N=o[M];N&&N.clear(),o[M]=h.setBookmark(b)}if(C){var m=C.find();m&&!Le(m,p)&&k(p)}else k(p);k(g),r=t,n=t-e+1,n<0&&(n=0)}function c(h,p){t+=p,t>r?t=r:t<n&&(t=n);var g=o[(e+t)%e];if(g&&!g.find()){var y=p>0?1:-1,C,k=h.getCursor();do if(t+=y,g=o[(e+t)%e],g&&(C=g.find())&&!Le(k,C))break;while(t<r&&t>n)}return g}function f(h,p){var g=t,y=c(h,p);return t=g,y&&y.find()}return{cachedCursor:void 0,add:a,find:f,move:c}},ot=function(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};class qe{constructor(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=ot()}exitMacroRecordMode(){var t=A.macroModeState;t.onRecordingDone&&t.onRecordingDone(),t.onRecordingDone=void 0,t.isRecording=!1}enterMacroRecordMode(t,r){var n=A.registerController.getRegister(r);if(n){if(n.clear(),this.latestRegister=r,t.openDialog){var o=Re("span",{class:"cm-vim-message"},"recording @"+r);this.onRecordingDone=t.openDialog(o,function(){},{bottom:!0})}this.isRecording=!0}}}function He(e){return e.state.vim||(e.state.vim={inputState:new Yt,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},insertMode:!1,insertModeReturn:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:void 0,sel:{anchor:new i(0,0),head:new i(0,0)},options:{},expectLiteralNext:!1,status:""}),e.state.vim}var A;function Me(){A={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:ft(),macroModeState:new qe,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new mn({}),searchHistoryController:new Xt,exCommandHistoryController:new Xt};for(var e in be){var t=be[e];t.value=t.defaultValue}}class Ee{constructor(t,r){this.keyName=t,this.key=r.key,this.ctrlKey=r.ctrlKey,this.altKey=r.altKey,this.metaKey=r.metaKey,this.shiftKey=r.shiftKey}}var Ve,E={enterVimMode:x,leaveVimMode:B,buildKeyMap:function(){},getRegisterController:function(){return A.registerController},resetVimGlobalState_:Me,getVimGlobalState_:function(){return A},maybeInitVimState_:He,suppressErrorLogging:!1,InsertModeKey:Ee,map:function(e,t,r){Ce.map(e,t,r)},unmap:function(e,t){return Ce.unmap(e,t)},noremap:function(e,t,r){Ce.map(e,t,r,!0)},mapclear:function(e){var t=u.length,r=v,n=u.slice(0,t-r);if(u=u.slice(t-r),e)for(var o=n.length-1;o>=0;o--){var a=n[o];if(e!==a.context)if(a.context)this._mapCommand(a);else{var c=["normal","insert","visual"];for(var f in c)if(c[f]!==e){var h=Object.assign({},a);h.context=c[f],this._mapCommand(h)}}}},langmap:Jt,vimKeyFromEvent:We,setOption:Qe,getOption:de,defineOption:Fe,defineEx:function(e,t,r){if(!t)t=e;else if(e.indexOf(t)!==0)throw new Error('(Vim.defineEx) "'+t+'" is not a prefix of "'+e+'", command not registered');kr[e]=r,Ce.commandMap_[t]={name:e,shortName:t,type:"api"}},handleKey:function(e,t,r){var n=this.findKey(e,t,r);if(typeof n=="function")return n()},multiSelectHandleKey:ai,findKey:function(e,t,r){var n=He(e),o=e;function a(){var g=A.macroModeState;if(g.isRecording){if(t=="q")return g.exitMacroRecordMode(),ce(o),!0;r!="mapping"&&ni(g,t)}}function c(){if(t=="<Esc>"){if(n.visualMode)Be(o);else if(n.insertMode)ze(o);else return;return ce(o),!0}}function f(){if(c())return!0;n.inputState.keyBuffer.push(t);var g=n.inputState.keyBuffer.join(""),y=t.length==1,C=Ze.matchCommand(g,u,n.inputState,"insert"),k=n.inputState.changeQueue;if(C.type=="none")return ce(o),!1;if(C.type=="partial"){if(C.expectLiteralNext&&(n.expectLiteralNext=!0),Ve&&window.clearTimeout(Ve),Ve=y&&window.setTimeout(function(){n.insertMode&&n.inputState.keyBuffer.length&&ce(o)},de("insertModeEscKeysTimeout")),y){var m=o.listSelections();(!k||k.removed.length!=m.length)&&(k=n.inputState.changeQueue=new gn),k.inserted+=t;for(var b=0;b<m.length;b++){var M=ve(m[b].anchor,m[b].head),N=Ue(m[b].anchor,m[b].head),R=o.getRange(M,o.state.overwrite?ie(N,0,1):N);k.removed[b]=(k.removed[b]||"")+R}}return!y}else C.type=="full"&&(n.inputState.keyBuffer.length=0);if(n.expectLiteralNext=!1,Ve&&window.clearTimeout(Ve),C.command&&k){for(var m=o.listSelections(),b=0;b<m.length;b++){var I=m[b].head;o.replaceRange(k.removed[b]||"",ie(I,0,-k.inserted.length),I,"+input")}A.macroModeState.lastInsertModeChanges.changes.pop()}return C.command||ce(o),C.command}function h(){if(a()||c())return!0;n.inputState.keyBuffer.push(t);var g=n.inputState.keyBuffer.join("");if(/^[1-9]\d*$/.test(g))return!0;var y=/^(\d*)(.*)$/.exec(g);if(!y)return ce(o),!1;var C=n.visualMode?"visual":"normal",k=y[2]||y[1];n.inputState.operatorShortcut&&n.inputState.operatorShortcut.slice(-1)==k&&(k=n.inputState.operatorShortcut);var m=Ze.matchCommand(k,u,n.inputState,C);return m.type=="none"?(ce(o),!1):m.type=="partial"?(m.expectLiteralNext&&(n.expectLiteralNext=!0),!0):m.type=="clear"?(ce(o),!0):(n.expectLiteralNext=!1,n.inputState.keyBuffer.length=0,y=/^(\d*)(.*)$/.exec(g),y&&y[1]&&y[1]!="0"&&n.inputState.pushRepeatDigit(y[1]),m.command)}var p=n.insertMode?f():h();if(p===!1)return!n.insertMode&&(t.length===1||s.isMac&&/<A-.>/.test(t))?function(){return!0}:void 0;if(p===!0)return function(){return!0};if(p)return function(){return o.operation(function(){o.curOp.isVimOp=!0;try{if(typeof p!="object")return;p.type=="keyToKey"?ye(o,p.toKeys,p):Ze.processCommand(o,n,p)}catch(g){throw o.state.vim=void 0,He(o),E.suppressErrorLogging||console.log(g),g}return!0})}},handleEx:function(e,t){Ce.processCommand(e,t)},defineMotion:yn,defineAction:kn,defineOperator:Cn,mapCommand:ti,_mapCommand:Ot,defineRegister:vn,exitVisualMode:Be,exitInsertMode:ze},Y=[],P=!1,_;function Q(e){if(!_)throw new Error("No prompt to send key to");if(e[0]=="<"){var t=e.toLowerCase().slice(1,-1),r=t.split("-");if(t=r.pop()||"",t=="lt")e="<";else if(t=="space")e=" ";else if(t=="cr")e=`
2
2
  `;else if(je[t]){var n=_.value||"",o={key:je[t],target:{value:n,selectionEnd:n.length,selectionStart:n.length}};_.onKeyDown&&_.onKeyDown(o,_.value,c),_&&_.onKeyUp&&_.onKeyUp(o,_.value,c);return}}if(e==`
3
3
  `){var a=_;_=null,a.onClose&&a.onClose(a.value)}else _.value=(_.value||"")+e;function c(f){_&&(typeof f=="string"?_.value=f:_=null)}}function ye(e,t,r){var n=P;if(r){if(Y.indexOf(r)!=-1)return;Y.push(r),P=r.noremap!=!1}try{for(var o=He(e),a=/<(?:[CSMA]-)*\w+>|./gi,c;c=a.exec(t);){var f=c[0],h=o.insertMode;if(_){Q(f);continue}var p=E.handleKey(e,f,"mapping");if(!p&&h&&o.insertMode){if(f[0]=="<"){var g=f.toLowerCase().slice(1,-1),y=g.split("-");if(g=y.pop()||"",g=="lt")f="<";else if(g=="space")f=" ";else if(g=="cr")f=`
4
4
  `;else if(je.hasOwnProperty(g)){f=je[g],Lr(e,f);continue}else f=f[0],a.lastIndex=c.index+1}e.replaceSelection(f)}}}finally{if(Y.pop(),P=Y.length?n:!1,!Y.length&&_){var C=_;_=null,dt(e,C)}}}var Je={Return:"CR",Backspace:"BS",Delete:"Del",Escape:"Esc",Insert:"Ins",ArrowLeft:"Left",ArrowRight:"Right",ArrowUp:"Up",ArrowDown:"Down",Enter:"CR"," ":"Space"},wt={Shift:1,Alt:1,Command:1,Control:1,CapsLock:1,AltGraph:1,Dead:1,Unidentified:1},je={};"Left|Right|Up|Down|End|Home".split("|").concat(Object.keys(Je)).forEach(function(e){je[(Je[e]||"").toLowerCase()]=je[e.toLowerCase()]=e});function We(e,t){var r=e.key;if(!wt[r]){r.length>1&&r[0]=="n"&&(r=r.replace("Numpad","")),r=Je[r]||r;var n="";if(e.ctrlKey&&(n+="C-"),e.altKey&&(n+="A-"),e.metaKey&&(n+="M-"),s.isMac&&n=="A-"&&r.length==1&&(n=n.slice(2)),(n||r.length>1)&&e.shiftKey&&(n+="S-"),t&&!t.expectLiteralNext&&r.length==1){if(S.keymap&&r in S.keymap)(S.remapCtrl!=!1||!n)&&(r=S.keymap[r]);else if(r.charCodeAt(0)>128&&!d[r]){var o=e.code?.slice(-1)||"";e.shiftKey||(o=o.toLowerCase()),o&&(r=o,!n&&e.altKey&&(n="A-"))}}return n+=r,n.length>1&&(n="<"+n+">"),n}}function Jt(e,t){S.string!==e&&(S=Zt(e)),S.remapCtrl=t}function Zt(e){let t={};if(!e)return{keymap:t,string:""};function r(n){return n.split(/\\?(.)/).filter(Boolean)}return e.split(/((?:[^\\,]|\\.)+),/).map(n=>{if(!n)return;const o=n.split(/((?:[^\\;]|\\.)+);/);if(o.length==3){const a=r(o[1]),c=r(o[2]);if(a.length!==c.length)return;for(let f=0;f<a.length;++f)t[a[f]]=c[f]}else if(o.length==1){const a=r(n);if(a.length%2!==0)return;for(let c=0;c<a.length;c+=2)t[a[c]]=a[c+1]}}),{keymap:t,string:e}}Fe("langmap",void 0,"string",["lmap"],function(e,t){if(e===void 0)return S.string;Jt(e)});class Yt{constructor(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=void 0,this.changeQueue=null}pushRepeatDigit(t){this.operator?this.motionRepeat=this.motionRepeat.concat(t):this.prefixRepeat=this.prefixRepeat.concat(t)}getRepeat(){var t=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(t=1,this.prefixRepeat.length>0&&(t*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(t*=parseInt(this.motionRepeat.join(""),10))),t}}function ce(e,t){e.state.vim.inputState=new Yt,e.state.vim.expectLiteralNext=!1,s.signal(e,"vim-command-done",t)}function gn(){this.removed=[],this.inserted=""}class Ie{constructor(t,r,n){this.clear(),this.keyBuffer=[t||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!r,this.blockwise=!!n}setText(t,r,n){this.keyBuffer=[t||""],this.linewise=!!r,this.blockwise=!!n}pushText(t,r){r&&(this.linewise||this.keyBuffer.push(`
@@ -1 +1 @@
1
- import{u as Z,r as c,j as s}from"./react-BoEjKzFZ.js";import{P as H,g as q,w as G,G as K}from"./pdf-BB1XvBIF.js";import{M as J,a as Q}from"./minus-BwzSZenU.js";import{P as ee,L as B}from"./index-B9n8hfV0.js";K.workerSrc=G;const F=new H,O=2,S=new Map;async function le(){await F.promise}function X(a,t){const n=`${t}:${a}`,f=S.get(n);if(f)return f.lastUsed=Date.now(),f;const h=q({url:a,worker:F,disableRange:t==="full"}),r={task:h,promise:h.promise,consumers:0,settled:!1,lastUsed:Date.now()};return S.set(n,r),r.promise.then(()=>{r.settled=!0,Y()},()=>{r.settled=!0,S.get(n)===r&&S.delete(n)}),r}function Y(){if(S.size<=O)return;const a=[...S.entries()].filter(([,t])=>t.consumers===0&&t.settled).sort((t,n)=>t[1].lastUsed-n[1].lastUsed);for(;S.size>O&&a.length;){const[t,n]=a.shift();S.get(t)===n&&(S.delete(t),n.task.destroy())}}function ae(a,t){if(!a)return;X(a,t).promise.catch(()=>{})}function te(a,t){const n=X(a,t);n.consumers+=1,n.lastUsed=Date.now();let f=!1;return{promise:n.promise,release:()=>{f||(f=!0,n.consumers=Math.max(0,n.consumers-1),n.lastUsed=Date.now(),Y())}}}function de({url:a,loadingMode:t,target:n,compiling:f=!1,onViewportLocation:h,onDoubleClickLocation:r}){const{t:g}=Z(),v=c.useRef(null),[x,N]=c.useState(null),[b,w]=c.useState(0),[d,z]=c.useState(100),[j,I]=c.useState(""),M=c.useRef(new Map),D=c.useCallback((e,i)=>{i?M.current.set(e,i):M.current.delete(e)},[]),E=async e=>{if(!x||e==null)return;let i=e;if(typeof e=="string"&&(i=await x.getDestination(e).catch(()=>null)),!Array.isArray(i)||i.length===0)return;const u=i[0];let p=null;if(typeof u=="number"&&Number.isInteger(u))p=u;else if(u!=null)try{p=await x.getPageIndex(u)}catch{return}p==null||p<0||p>=x.numPages||M.current.get(p+1)?.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"})},y=()=>{const e=v.current;if(!e)return;const i=e.getBoundingClientRect(),u=i.left+i.width/2,p=i.top+i.height/2,o=[...e.querySelectorAll(".pdf-page")],m=o.find(U=>{const P=U.getBoundingClientRect();return p>=P.top&&p<=P.bottom})??o.reduce((U,P)=>{if(!U)return P;const W=Math.abs(P.getBoundingClientRect().top-p),_=Math.abs(U.getBoundingClientRect().top-p);return W<_?P:U},null);if(!m)return;const l=m.getBoundingClientRect(),R=Number(m.dataset.scale)||1,L=Number(m.dataset.page),A=Math.max(0,Math.min(l.width,u-l.left))/R,T=Math.max(0,Math.min(l.height,p-l.top))/R;L&&h(L,A,T)};c.useEffect(()=>{const e=v.current;if(!e)return;const i=()=>w(e.clientWidth);i();const u=new ResizeObserver(i);return u.observe(e),()=>u.disconnect()},[]),c.useEffect(()=>{let e=!1;N(null),I("");const i=te(a,t);return i.promise.then(u=>{e||N(u)}).catch(()=>{e||I(g("editor.pdfLoadFailed"))}),()=>{e=!0,i.release()}},[a,t]),c.useEffect(()=>{d>100||!v.current||(v.current.scrollLeft=0)},[d,b,x]);const C=e=>z(i=>Math.min(200,Math.max(50,i+e))),k=()=>{v.current&&(v.current.scrollLeft=0),z(100)},$=e=>{!e.shiftKey||Math.abs(e.deltaX)>Math.abs(e.deltaY)||(e.preventDefault(),e.currentTarget.scrollLeft+=e.deltaY,y())};return s.jsxs("div",{className:"pdf-viewer",children:[s.jsxs("div",{className:"pdf-toolbar",role:"toolbar","aria-label":g("editor.pdfZoomControls"),children:[s.jsx("button",{disabled:d<=50,title:g("editor.pdfZoomOut"),"aria-label":g("editor.pdfZoomOut"),onClick:()=>C(-10),children:s.jsx(J,{size:14})}),s.jsxs("span",{className:"pdf-zoom-value","aria-live":"polite",children:[d,"%"]}),s.jsx("button",{disabled:d>=200,title:g("editor.pdfZoomIn"),"aria-label":g("editor.pdfZoomIn"),onClick:()=>C(10),children:s.jsx(ee,{size:14})}),s.jsxs("button",{className:"pdf-fit-width",title:g("editor.pdfFitWidth"),onClick:k,children:[s.jsx(Q,{size:13}),g("editor.pdfFitWidth")]})]}),f&&s.jsxs("div",{className:"pdf-compiling-overlay",role:"status","aria-live":"polite",children:[s.jsx(B,{className:"spin",size:20}),s.jsx("span",{children:g("editor.compiling")})]}),s.jsx("div",{className:"pdf-document",ref:v,onScroll:y,onWheel:$,children:s.jsxs("div",{className:"pdf-pages",style:{width:`${Math.max(1,b-28)*Math.max(1,d/100)}px`},children:[!x&&!j&&s.jsxs("div",{className:"pdf-loading",role:"status","aria-live":"polite",children:[s.jsx(B,{className:"spin",size:24}),s.jsx("span",{children:g("editor.loadingPdf")})]}),j&&s.jsx("div",{className:"preview-empty",children:s.jsx("strong",{children:j})}),x&&b>0&&Array.from({length:x.numPages},(e,i)=>s.jsx(se,{document:x,pageNumber:i+1,availableWidth:b-28,zoom:d/100,target:n?.page===i+1?n:null,onReady:y,onPageElement:D,onInternalLink:E,onDoubleClickLocation:r},i+1))]})})]})}function se({document:a,pageNumber:t,availableWidth:n,zoom:f,target:h,onReady:r,onPageElement:g,onInternalLink:v,onDoubleClickLocation:x}){const N=c.useRef(null),b=c.useRef(null),w=c.useRef(null),[d,z]=c.useState(1),[j,I]=c.useState({width:0,height:0}),[M,D]=c.useState(t===1),[E,y]=c.useState(!1),[C,k]=c.useState(null),[$,e]=c.useState([]);c.useEffect(()=>{const o=N.current;if(!o||M)return;if(!("IntersectionObserver"in window)){D(!0);return}const m=new IntersectionObserver(l=>{l.some(R=>R.isIntersecting)&&(D(!0),m.disconnect())},{rootMargin:"900px 0px"});return m.observe(o),()=>m.disconnect()},[M]),c.useEffect(()=>{h&&D(!0)},[h?.nonce]),c.useEffect(()=>{if(!M)return;let o=!1,m=null;return y(!1),k(null),e([]),a.getPage(t).then(l=>{if(o)return;const R=l.getViewport({scale:1}),L=n/R.width,A=Math.min(3.3,Math.max(.175,L*f)),T=l.getViewport({scale:A});if(z(A),I({width:T.width,height:T.height}),k(T),l.getAnnotations({intent:"display"}).then(W=>{o||e(W)}).catch(()=>{o||e([])}),!b.current)return;const U=Math.max(1,window.devicePixelRatio||1),P=l.getViewport({scale:A*U});return b.current.width=Math.floor(P.width),b.current.height=Math.floor(P.height),m=l.render({canvas:b.current,viewport:P}),m.promise.then(()=>{o||(y(!0),window.requestAnimationFrame(r))})}).catch(()=>{}),()=>{o=!0,m?.cancel()}},[a,t,n,f,M]),c.useEffect(()=>{!h||!w.current||w.current.scrollIntoView({behavior:"smooth",block:"center",inline:"center"})},[h?.nonce,d]);const i=o=>{if(!x||!E||o.target instanceof HTMLElement&&o.target.closest("a"))return;const m=b.current;if(!m)return;const l=m.getBoundingClientRect();if(o.clientX<l.left||o.clientX>l.right||o.clientY<l.top||o.clientY>l.bottom)return;const R=d||1,L=Math.max(0,Math.min(l.width,o.clientX-l.left))/R,A=Math.max(0,Math.min(l.height,o.clientY-l.top))/R;x(t,L,A)},u=Math.max(1,n*f),p=u*(792/612);return s.jsxs("figure",{ref:o=>{N.current=o,g(t,o)},onDoubleClick:i,className:`pdf-page${E?" rendered":" loading"}`,"data-page":t,"data-scale":d,style:{width:`${j.width||u}px`,minHeight:`${j.height||p}px`},children:[s.jsx("canvas",{ref:b,style:{width:`${j.width||u}px`,height:`${j.height||p}px`}}),E&&C&&s.jsx(ne,{annotations:$,viewport:C,onInternalLink:v}),h&&s.jsx("span",{ref:w,className:"pdf-sync-marker",style:{left:h.x*d,top:h.y*d}}),s.jsx("figcaption",{children:t})]})}function ne({annotations:a,viewport:t,onInternalLink:n}){const{t:f}=Z(),h=f("editor.pdfLink");return s.jsx("div",{className:"pdf-annotation-layer","aria-label":f("editor.pdfLinks"),children:a.filter(r=>r.subtype==="Link"&&Array.isArray(r.rect)&&r.rect.length>=4).map((r,g)=>{const[v,x]=t.convertToViewportPoint(r.rect[0],r.rect[1]),[N,b]=t.convertToViewportPoint(r.rect[2],r.rect[3]),w=[v,x,N,b],d=Math.min(w[0],w[2]),z=Math.min(w[1],w[3]),j=Math.abs(w[2]-w[0]),I=Math.abs(w[3]-w[1]),M=typeof r.title=="string"?r.title.trim():"",D=typeof r.unsafeUrl=="string"?r.unsafeUrl.trim():"",E=typeof r.url=="string"?r.url.trim():"",y=V(E)?E:V(D)?D:"",C=r.dest;if(!y&&C==null)return null;const k=!!y;return s.jsx("a",{className:"pdf-annotation-link",href:y||"#",target:k?"_blank":void 0,rel:k?"noreferrer":void 0,title:M||(k?y:h),"aria-label":M||(k?y:h),style:{left:d,top:z,width:j,height:I},onClick:k?void 0:$=>{$.preventDefault(),n(C)}},`${g}-${d}-${z}`)})})}function V(a){return/^(?:https?|mailto|ftp):/i.test(a)}export{de as PdfPreview,ae as preloadPdf,le as preloadPdfRuntime};
1
+ import{u as Z,r as c,j as s}from"./react-BoEjKzFZ.js";import{P as H,g as q,w as G,G as K}from"./pdf-BB1XvBIF.js";import{M as J,a as Q}from"./minus-KzdrD7TK.js";import{P as ee,L as B}from"./index-BAFR6u6_.js";K.workerSrc=G;const F=new H,O=2,S=new Map;async function le(){await F.promise}function X(a,t){const n=`${t}:${a}`,f=S.get(n);if(f)return f.lastUsed=Date.now(),f;const h=q({url:a,worker:F,disableRange:t==="full"}),r={task:h,promise:h.promise,consumers:0,settled:!1,lastUsed:Date.now()};return S.set(n,r),r.promise.then(()=>{r.settled=!0,Y()},()=>{r.settled=!0,S.get(n)===r&&S.delete(n)}),r}function Y(){if(S.size<=O)return;const a=[...S.entries()].filter(([,t])=>t.consumers===0&&t.settled).sort((t,n)=>t[1].lastUsed-n[1].lastUsed);for(;S.size>O&&a.length;){const[t,n]=a.shift();S.get(t)===n&&(S.delete(t),n.task.destroy())}}function ae(a,t){if(!a)return;X(a,t).promise.catch(()=>{})}function te(a,t){const n=X(a,t);n.consumers+=1,n.lastUsed=Date.now();let f=!1;return{promise:n.promise,release:()=>{f||(f=!0,n.consumers=Math.max(0,n.consumers-1),n.lastUsed=Date.now(),Y())}}}function de({url:a,loadingMode:t,target:n,compiling:f=!1,onViewportLocation:h,onDoubleClickLocation:r}){const{t:g}=Z(),v=c.useRef(null),[x,N]=c.useState(null),[b,w]=c.useState(0),[d,z]=c.useState(100),[j,I]=c.useState(""),M=c.useRef(new Map),D=c.useCallback((e,i)=>{i?M.current.set(e,i):M.current.delete(e)},[]),E=async e=>{if(!x||e==null)return;let i=e;if(typeof e=="string"&&(i=await x.getDestination(e).catch(()=>null)),!Array.isArray(i)||i.length===0)return;const u=i[0];let p=null;if(typeof u=="number"&&Number.isInteger(u))p=u;else if(u!=null)try{p=await x.getPageIndex(u)}catch{return}p==null||p<0||p>=x.numPages||M.current.get(p+1)?.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"})},y=()=>{const e=v.current;if(!e)return;const i=e.getBoundingClientRect(),u=i.left+i.width/2,p=i.top+i.height/2,o=[...e.querySelectorAll(".pdf-page")],m=o.find(U=>{const P=U.getBoundingClientRect();return p>=P.top&&p<=P.bottom})??o.reduce((U,P)=>{if(!U)return P;const W=Math.abs(P.getBoundingClientRect().top-p),_=Math.abs(U.getBoundingClientRect().top-p);return W<_?P:U},null);if(!m)return;const l=m.getBoundingClientRect(),R=Number(m.dataset.scale)||1,L=Number(m.dataset.page),A=Math.max(0,Math.min(l.width,u-l.left))/R,T=Math.max(0,Math.min(l.height,p-l.top))/R;L&&h(L,A,T)};c.useEffect(()=>{const e=v.current;if(!e)return;const i=()=>w(e.clientWidth);i();const u=new ResizeObserver(i);return u.observe(e),()=>u.disconnect()},[]),c.useEffect(()=>{let e=!1;N(null),I("");const i=te(a,t);return i.promise.then(u=>{e||N(u)}).catch(()=>{e||I(g("editor.pdfLoadFailed"))}),()=>{e=!0,i.release()}},[a,t]),c.useEffect(()=>{d>100||!v.current||(v.current.scrollLeft=0)},[d,b,x]);const C=e=>z(i=>Math.min(200,Math.max(50,i+e))),k=()=>{v.current&&(v.current.scrollLeft=0),z(100)},$=e=>{!e.shiftKey||Math.abs(e.deltaX)>Math.abs(e.deltaY)||(e.preventDefault(),e.currentTarget.scrollLeft+=e.deltaY,y())};return s.jsxs("div",{className:"pdf-viewer",children:[s.jsxs("div",{className:"pdf-toolbar",role:"toolbar","aria-label":g("editor.pdfZoomControls"),children:[s.jsx("button",{disabled:d<=50,title:g("editor.pdfZoomOut"),"aria-label":g("editor.pdfZoomOut"),onClick:()=>C(-10),children:s.jsx(J,{size:14})}),s.jsxs("span",{className:"pdf-zoom-value","aria-live":"polite",children:[d,"%"]}),s.jsx("button",{disabled:d>=200,title:g("editor.pdfZoomIn"),"aria-label":g("editor.pdfZoomIn"),onClick:()=>C(10),children:s.jsx(ee,{size:14})}),s.jsxs("button",{className:"pdf-fit-width",title:g("editor.pdfFitWidth"),onClick:k,children:[s.jsx(Q,{size:13}),g("editor.pdfFitWidth")]})]}),f&&s.jsxs("div",{className:"pdf-compiling-overlay",role:"status","aria-live":"polite",children:[s.jsx(B,{className:"spin",size:20}),s.jsx("span",{children:g("editor.compiling")})]}),s.jsx("div",{className:"pdf-document",ref:v,onScroll:y,onWheel:$,children:s.jsxs("div",{className:"pdf-pages",style:{width:`${Math.max(1,b-28)*Math.max(1,d/100)}px`},children:[!x&&!j&&s.jsxs("div",{className:"pdf-loading",role:"status","aria-live":"polite",children:[s.jsx(B,{className:"spin",size:24}),s.jsx("span",{children:g("editor.loadingPdf")})]}),j&&s.jsx("div",{className:"preview-empty",children:s.jsx("strong",{children:j})}),x&&b>0&&Array.from({length:x.numPages},(e,i)=>s.jsx(se,{document:x,pageNumber:i+1,availableWidth:b-28,zoom:d/100,target:n?.page===i+1?n:null,onReady:y,onPageElement:D,onInternalLink:E,onDoubleClickLocation:r},i+1))]})})]})}function se({document:a,pageNumber:t,availableWidth:n,zoom:f,target:h,onReady:r,onPageElement:g,onInternalLink:v,onDoubleClickLocation:x}){const N=c.useRef(null),b=c.useRef(null),w=c.useRef(null),[d,z]=c.useState(1),[j,I]=c.useState({width:0,height:0}),[M,D]=c.useState(t===1),[E,y]=c.useState(!1),[C,k]=c.useState(null),[$,e]=c.useState([]);c.useEffect(()=>{const o=N.current;if(!o||M)return;if(!("IntersectionObserver"in window)){D(!0);return}const m=new IntersectionObserver(l=>{l.some(R=>R.isIntersecting)&&(D(!0),m.disconnect())},{rootMargin:"900px 0px"});return m.observe(o),()=>m.disconnect()},[M]),c.useEffect(()=>{h&&D(!0)},[h?.nonce]),c.useEffect(()=>{if(!M)return;let o=!1,m=null;return y(!1),k(null),e([]),a.getPage(t).then(l=>{if(o)return;const R=l.getViewport({scale:1}),L=n/R.width,A=Math.min(3.3,Math.max(.175,L*f)),T=l.getViewport({scale:A});if(z(A),I({width:T.width,height:T.height}),k(T),l.getAnnotations({intent:"display"}).then(W=>{o||e(W)}).catch(()=>{o||e([])}),!b.current)return;const U=Math.max(1,window.devicePixelRatio||1),P=l.getViewport({scale:A*U});return b.current.width=Math.floor(P.width),b.current.height=Math.floor(P.height),m=l.render({canvas:b.current,viewport:P}),m.promise.then(()=>{o||(y(!0),window.requestAnimationFrame(r))})}).catch(()=>{}),()=>{o=!0,m?.cancel()}},[a,t,n,f,M]),c.useEffect(()=>{!h||!w.current||w.current.scrollIntoView({behavior:"smooth",block:"center",inline:"center"})},[h?.nonce,d]);const i=o=>{if(!x||!E||o.target instanceof HTMLElement&&o.target.closest("a"))return;const m=b.current;if(!m)return;const l=m.getBoundingClientRect();if(o.clientX<l.left||o.clientX>l.right||o.clientY<l.top||o.clientY>l.bottom)return;const R=d||1,L=Math.max(0,Math.min(l.width,o.clientX-l.left))/R,A=Math.max(0,Math.min(l.height,o.clientY-l.top))/R;x(t,L,A)},u=Math.max(1,n*f),p=u*(792/612);return s.jsxs("figure",{ref:o=>{N.current=o,g(t,o)},onDoubleClick:i,className:`pdf-page${E?" rendered":" loading"}`,"data-page":t,"data-scale":d,style:{width:`${j.width||u}px`,minHeight:`${j.height||p}px`},children:[s.jsx("canvas",{ref:b,style:{width:`${j.width||u}px`,height:`${j.height||p}px`}}),E&&C&&s.jsx(ne,{annotations:$,viewport:C,onInternalLink:v}),h&&s.jsx("span",{ref:w,className:"pdf-sync-marker",style:{left:h.x*d,top:h.y*d}}),s.jsx("figcaption",{children:t})]})}function ne({annotations:a,viewport:t,onInternalLink:n}){const{t:f}=Z(),h=f("editor.pdfLink");return s.jsx("div",{className:"pdf-annotation-layer","aria-label":f("editor.pdfLinks"),children:a.filter(r=>r.subtype==="Link"&&Array.isArray(r.rect)&&r.rect.length>=4).map((r,g)=>{const[v,x]=t.convertToViewportPoint(r.rect[0],r.rect[1]),[N,b]=t.convertToViewportPoint(r.rect[2],r.rect[3]),w=[v,x,N,b],d=Math.min(w[0],w[2]),z=Math.min(w[1],w[3]),j=Math.abs(w[2]-w[0]),I=Math.abs(w[3]-w[1]),M=typeof r.title=="string"?r.title.trim():"",D=typeof r.unsafeUrl=="string"?r.unsafeUrl.trim():"",E=typeof r.url=="string"?r.url.trim():"",y=V(E)?E:V(D)?D:"",C=r.dest;if(!y&&C==null)return null;const k=!!y;return s.jsx("a",{className:"pdf-annotation-link",href:y||"#",target:k?"_blank":void 0,rel:k?"noreferrer":void 0,title:M||(k?y:h),"aria-label":M||(k?y:h),style:{left:d,top:z,width:j,height:I},onClick:k?void 0:$=>{$.preventDefault(),n(C)}},`${g}-${d}-${z}`)})})}function V(a){return/^(?:https?|mailto|ftp):/i.test(a)}export{de as PdfPreview,ae as preloadPdf,le as preloadPdfRuntime};
@@ -1 +1 @@
1
- import{u as A,r,j as e}from"./react-BoEjKzFZ.js";import{j as U,a as z,M as F,o as $,L as V,p as B,n as J,F as K,q as G}from"./index-B9n8hfV0.js";const L=U("Replace",[["path",{d:"M14 4a2 2 0 0 1 2-2",key:"1w2hp7"}],["path",{d:"M16 10a2 2 0 0 1-2-2",key:"shjach"}],["path",{d:"M20 2a2 2 0 0 1 2 2",key:"188mtx"}],["path",{d:"M22 8a2 2 0 0 1-2 2",key:"ddf4tu"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a3 3 0 0 1 3-3h1",key:"3y3t5z"}],["rect",{x:"2",y:"14",width:"8",height:"8",rx:"2",key:"4rksxw"}]]);function Z({open:n,files:h,onOpenChange:u,onOpenFile:p}){const{t:a}=A(),[c,f]=r.useState(""),[d,o]=r.useState(0),m=r.useRef(null),y=r.useRef(null),l=r.useMemo(()=>h.filter(s=>s.type==="file").map(s=>({entry:s,score:H(s.path,c)})).filter(s=>s.score>=0).sort((s,i)=>i.score-s.score||s.entry.path.localeCompare(i.entry.path)).slice(0,100),[h,c]);r.useEffect(()=>{n&&(f(""),o(0),window.setTimeout(()=>m.current?.focus(),0))},[n]),r.useEffect(()=>o(s=>Math.min(s,Math.max(0,l.length-1))),[l.length]),r.useEffect(()=>{n&&y.current?.scrollIntoView({block:"nearest"})},[n,d]);const S=s=>{p(s),u(!1)};return e.jsx(F,{open:n,wide:!0,title:a("navigation.quickOpen"),description:a("navigation.quickOpenDescription"),onOpenChange:u,children:e.jsxs("div",{className:"quick-open-dialog",children:[e.jsxs("label",{children:[e.jsx($,{size:16}),e.jsx("input",{ref:m,value:c,placeholder:a("navigation.filePlaceholder"),onChange:s=>{f(s.target.value),o(0)},onKeyDown:s=>{s.key==="ArrowDown"&&(s.preventDefault(),o(i=>Math.min(l.length-1,i+1))),s.key==="ArrowUp"&&(s.preventDefault(),o(i=>Math.max(0,i-1))),s.key==="Enter"&&l[d]&&(s.preventDefault(),S(l[d].entry.path))}})]}),e.jsxs("div",{className:"quick-open-results",children:[l.map(({entry:s},i)=>e.jsxs("button",{ref:i===d?y:void 0,className:i===d?"active":"",onMouseEnter:()=>o(i),onClick:()=>S(s.path),children:[e.jsx(K,{size:14}),e.jsx("span",{children:s.path}),i===d&&e.jsx(G,{size:13})]},s.path)),l.length===0&&e.jsx("p",{className:"muted padded",children:a("navigation.noFiles")})]})]})})}function _({open:n,project:h,onOpenChange:u,onJump:p}){const{t:a}=A(),[c,f]=r.useState(""),[d,o]=r.useState(""),[m,y]=r.useState(!1),[l,S]=r.useState(!1),[s,i]=r.useState([]),[g,C]=r.useState(0),[P,D]=r.useState(!1),[b,k]=r.useState(!1),[W,N]=r.useState(!1),[R,M]=r.useState(""),[q,w]=r.useState(""),[O,Q]=r.useState(0),v=r.useRef(null);r.useEffect(()=>{if(!n){v.current?.abort();return}if(M(""),w(""),!c.trim()){i([]),C(0),D(!1);return}const t=window.setTimeout(()=>{v.current?.abort();const x=new AbortController;v.current=x,k(!0);const E=new URLSearchParams({q:c});m&&E.set("caseSensitive","1"),l&&E.set("wholeWord","1"),z(`/api/projects/${h.id}/search?${E}`,{signal:x.signal}).then(j=>{i(j.matches),C(j.total),D(j.truncated)}).catch(j=>{j instanceof DOMException&&j.name==="AbortError"||w(T(j))}).finally(()=>{v.current===x&&(v.current=null,k(!1))})},250);return()=>window.clearTimeout(t)},[n,h.id,c,m,l,O]);const I=async()=>{N(!1),k(!0),w(""),M("");try{const t=await z(`/api/projects/${h.id}/search/replace`,{method:"POST",body:JSON.stringify({query:c,replacement:d,caseSensitive:m,wholeWord:l})});M(a("navigation.replaced",{count:t.replacements,files:t.files.length})),i([]),C(0),Q(x=>x+1)}catch(t){w(T(t))}finally{k(!1)}};return e.jsxs(e.Fragment,{children:[e.jsx(F,{open:n,extraWide:!0,title:a("navigation.projectSearch"),description:a("navigation.projectSearchDescription"),onOpenChange:u,footer:e.jsx("button",{onClick:()=>u(!1),children:a("common.close")}),children:e.jsxs("div",{className:"project-search-dialog",children:[q&&e.jsx("p",{className:"error",children:q}),R&&e.jsx("p",{className:"success",children:R}),e.jsxs("div",{className:"project-search-form",children:[e.jsxs("label",{className:"project-search-query",children:[e.jsx($,{size:16}),e.jsx("input",{autoFocus:!0,value:c,placeholder:a("navigation.searchPlaceholder"),onChange:t=>f(t.target.value)})]}),h.permission!=="read"&&e.jsxs("label",{className:"project-search-query",children:[e.jsx(L,{size:16}),e.jsx("input",{value:d,placeholder:a("navigation.replacePlaceholder"),onChange:t=>o(t.target.value)})]}),e.jsxs("div",{className:"project-search-options",children:[e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:m,onChange:t=>y(t.target.checked)}),a("editor.search.matchCase")]}),e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:l,onChange:t=>S(t.target.checked)}),a("editor.search.wholeWord")]}),h.permission!=="read"&&e.jsxs("button",{className:"danger-text",disabled:!c.trim()||g===0||b,onClick:()=>N(!0),children:[e.jsx(L,{size:13}),a("navigation.replaceAll",{count:g})]})]})]}),e.jsxs("div",{className:"project-search-summary",children:[e.jsx("span",{children:b?e.jsxs(e.Fragment,{children:[e.jsx(V,{className:"spin",size:13}),a("common.loading")]}):a("navigation.matchSummary",{count:g})}),P&&e.jsx("small",{children:a("navigation.truncated",{count:s.length})})]}),e.jsxs("div",{className:"project-search-results",children:[s.map((t,x)=>e.jsxs("button",{onClick:()=>{p(t.path,t.line,t.column),u(!1)},children:[e.jsx(B,{size:14}),e.jsxs("span",{children:[e.jsxs("strong",{children:[t.path,e.jsxs("small",{children:[":",t.line,":",t.column]})]}),e.jsxs("code",{children:[t.preview.slice(0,t.matchStart),e.jsx("mark",{children:t.preview.slice(t.matchStart,t.matchEnd)}),t.preview.slice(t.matchEnd)]})]})]},`${t.path}-${t.line}-${t.column}-${x}`)),!b&&c.trim()&&s.length===0&&e.jsx("p",{className:"muted padded",children:a("editor.search.noMatches")})]})]})}),e.jsx(J,{open:W,title:a("navigation.replaceConfirmTitle"),description:a("navigation.replaceConfirmDescription",{count:g}),confirmLabel:a("navigation.replaceAll",{count:g}),danger:!0,onCancel:()=>N(!1),onConfirm:()=>{I()}})]})}function H(n,h){const u=n.toLocaleLowerCase(),p=h.trim().toLocaleLowerCase();if(!p)return 1;const a=u.indexOf(p);if(a>=0)return 1e4-a-u.length;let c=0,f=0;for(const d of p){const o=u.indexOf(d,c);if(o<0)return-1;f+=o===c?5:1,c=o+1}return f-u.length/100}function T(n){return n instanceof Error?n.message:String(n)}export{_ as ProjectSearchDialog,Z as QuickOpenDialog};
1
+ import{u as A,r,j as e}from"./react-BoEjKzFZ.js";import{j as U,a as z,M as F,o as $,L as V,p as B,n as J,F as K,q as G}from"./index-BAFR6u6_.js";const L=U("Replace",[["path",{d:"M14 4a2 2 0 0 1 2-2",key:"1w2hp7"}],["path",{d:"M16 10a2 2 0 0 1-2-2",key:"shjach"}],["path",{d:"M20 2a2 2 0 0 1 2 2",key:"188mtx"}],["path",{d:"M22 8a2 2 0 0 1-2 2",key:"ddf4tu"}],["path",{d:"m3 7 3 3 3-3",key:"x25e72"}],["path",{d:"M6 10V5a3 3 0 0 1 3-3h1",key:"3y3t5z"}],["rect",{x:"2",y:"14",width:"8",height:"8",rx:"2",key:"4rksxw"}]]);function Z({open:n,files:h,onOpenChange:u,onOpenFile:p}){const{t:a}=A(),[c,f]=r.useState(""),[d,o]=r.useState(0),m=r.useRef(null),y=r.useRef(null),l=r.useMemo(()=>h.filter(s=>s.type==="file").map(s=>({entry:s,score:H(s.path,c)})).filter(s=>s.score>=0).sort((s,i)=>i.score-s.score||s.entry.path.localeCompare(i.entry.path)).slice(0,100),[h,c]);r.useEffect(()=>{n&&(f(""),o(0),window.setTimeout(()=>m.current?.focus(),0))},[n]),r.useEffect(()=>o(s=>Math.min(s,Math.max(0,l.length-1))),[l.length]),r.useEffect(()=>{n&&y.current?.scrollIntoView({block:"nearest"})},[n,d]);const S=s=>{p(s),u(!1)};return e.jsx(F,{open:n,wide:!0,title:a("navigation.quickOpen"),description:a("navigation.quickOpenDescription"),onOpenChange:u,children:e.jsxs("div",{className:"quick-open-dialog",children:[e.jsxs("label",{children:[e.jsx($,{size:16}),e.jsx("input",{ref:m,value:c,placeholder:a("navigation.filePlaceholder"),onChange:s=>{f(s.target.value),o(0)},onKeyDown:s=>{s.key==="ArrowDown"&&(s.preventDefault(),o(i=>Math.min(l.length-1,i+1))),s.key==="ArrowUp"&&(s.preventDefault(),o(i=>Math.max(0,i-1))),s.key==="Enter"&&l[d]&&(s.preventDefault(),S(l[d].entry.path))}})]}),e.jsxs("div",{className:"quick-open-results",children:[l.map(({entry:s},i)=>e.jsxs("button",{ref:i===d?y:void 0,className:i===d?"active":"",onMouseEnter:()=>o(i),onClick:()=>S(s.path),children:[e.jsx(K,{size:14}),e.jsx("span",{children:s.path}),i===d&&e.jsx(G,{size:13})]},s.path)),l.length===0&&e.jsx("p",{className:"muted padded",children:a("navigation.noFiles")})]})]})})}function _({open:n,project:h,onOpenChange:u,onJump:p}){const{t:a}=A(),[c,f]=r.useState(""),[d,o]=r.useState(""),[m,y]=r.useState(!1),[l,S]=r.useState(!1),[s,i]=r.useState([]),[g,C]=r.useState(0),[P,D]=r.useState(!1),[b,k]=r.useState(!1),[W,N]=r.useState(!1),[R,M]=r.useState(""),[q,w]=r.useState(""),[O,Q]=r.useState(0),v=r.useRef(null);r.useEffect(()=>{if(!n){v.current?.abort();return}if(M(""),w(""),!c.trim()){i([]),C(0),D(!1);return}const t=window.setTimeout(()=>{v.current?.abort();const x=new AbortController;v.current=x,k(!0);const E=new URLSearchParams({q:c});m&&E.set("caseSensitive","1"),l&&E.set("wholeWord","1"),z(`/api/projects/${h.id}/search?${E}`,{signal:x.signal}).then(j=>{i(j.matches),C(j.total),D(j.truncated)}).catch(j=>{j instanceof DOMException&&j.name==="AbortError"||w(T(j))}).finally(()=>{v.current===x&&(v.current=null,k(!1))})},250);return()=>window.clearTimeout(t)},[n,h.id,c,m,l,O]);const I=async()=>{N(!1),k(!0),w(""),M("");try{const t=await z(`/api/projects/${h.id}/search/replace`,{method:"POST",body:JSON.stringify({query:c,replacement:d,caseSensitive:m,wholeWord:l})});M(a("navigation.replaced",{count:t.replacements,files:t.files.length})),i([]),C(0),Q(x=>x+1)}catch(t){w(T(t))}finally{k(!1)}};return e.jsxs(e.Fragment,{children:[e.jsx(F,{open:n,extraWide:!0,title:a("navigation.projectSearch"),description:a("navigation.projectSearchDescription"),onOpenChange:u,footer:e.jsx("button",{onClick:()=>u(!1),children:a("common.close")}),children:e.jsxs("div",{className:"project-search-dialog",children:[q&&e.jsx("p",{className:"error",children:q}),R&&e.jsx("p",{className:"success",children:R}),e.jsxs("div",{className:"project-search-form",children:[e.jsxs("label",{className:"project-search-query",children:[e.jsx($,{size:16}),e.jsx("input",{autoFocus:!0,value:c,placeholder:a("navigation.searchPlaceholder"),onChange:t=>f(t.target.value)})]}),h.permission!=="read"&&e.jsxs("label",{className:"project-search-query",children:[e.jsx(L,{size:16}),e.jsx("input",{value:d,placeholder:a("navigation.replacePlaceholder"),onChange:t=>o(t.target.value)})]}),e.jsxs("div",{className:"project-search-options",children:[e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:m,onChange:t=>y(t.target.checked)}),a("editor.search.matchCase")]}),e.jsxs("label",{children:[e.jsx("input",{type:"checkbox",checked:l,onChange:t=>S(t.target.checked)}),a("editor.search.wholeWord")]}),h.permission!=="read"&&e.jsxs("button",{className:"danger-text",disabled:!c.trim()||g===0||b,onClick:()=>N(!0),children:[e.jsx(L,{size:13}),a("navigation.replaceAll",{count:g})]})]})]}),e.jsxs("div",{className:"project-search-summary",children:[e.jsx("span",{children:b?e.jsxs(e.Fragment,{children:[e.jsx(V,{className:"spin",size:13}),a("common.loading")]}):a("navigation.matchSummary",{count:g})}),P&&e.jsx("small",{children:a("navigation.truncated",{count:s.length})})]}),e.jsxs("div",{className:"project-search-results",children:[s.map((t,x)=>e.jsxs("button",{onClick:()=>{p(t.path,t.line,t.column),u(!1)},children:[e.jsx(B,{size:14}),e.jsxs("span",{children:[e.jsxs("strong",{children:[t.path,e.jsxs("small",{children:[":",t.line,":",t.column]})]}),e.jsxs("code",{children:[t.preview.slice(0,t.matchStart),e.jsx("mark",{children:t.preview.slice(t.matchStart,t.matchEnd)}),t.preview.slice(t.matchEnd)]})]})]},`${t.path}-${t.line}-${t.column}-${x}`)),!b&&c.trim()&&s.length===0&&e.jsx("p",{className:"muted padded",children:a("editor.search.noMatches")})]})]})}),e.jsx(J,{open:W,title:a("navigation.replaceConfirmTitle"),description:a("navigation.replaceConfirmDescription",{count:g}),confirmLabel:a("navigation.replaceAll",{count:g}),danger:!0,onCancel:()=>N(!1),onConfirm:()=>{I()}})]})}function H(n,h){const u=n.toLocaleLowerCase(),p=h.trim().toLocaleLowerCase();if(!p)return 1;const a=u.indexOf(p);if(a>=0)return 1e4-a-u.length;let c=0,f=0;for(const d of p){const o=u.indexOf(d,c);if(o<0)return-1;f+=o===c?5:1,c=o+1}return f-u.length/100}function T(n){return n instanceof Error?n.message:String(n)}export{_ as ProjectSearchDialog,Z as QuickOpenDialog};
@@ -1 +1 @@
1
- import{u as f,r as a,j as e}from"./react-BoEjKzFZ.js";import{a as y,M as b,A as M,R as $}from"./index-B9n8hfV0.js";function w({open:t,onOpenChange:c}){const{t:s}=f(),[r,p]=a.useState(null),[u,x]=a.useState(!1),[m,j]=a.useState(""),o=a.useCallback(async()=>{x(!0);try{p(await y("/api/health/metrics")),j("")}catch(i){j(i instanceof Error?i.message:s("errors.generic"))}finally{x(!1)}},[s]);return a.useEffect(()=>{if(!t)return;o();const i=window.setInterval(()=>{o()},5e3);return()=>window.clearInterval(i)},[t,o]),e.jsxs(b,{open:t,onOpenChange:c,wide:!0,title:s("metrics.title"),description:s("metrics.description"),footer:e.jsxs("button",{onClick:()=>{o()},disabled:u,children:[e.jsx($,{size:14,className:u?"spin":""}),s("metrics.refresh")]}),children:[m&&e.jsx("p",{className:"error",children:m}),!r&&!m&&e.jsx("p",{className:"muted",children:s("common.loading")}),r&&e.jsxs("div",{className:"system-metrics",children:[e.jsxs("div",{className:"metric-summary-grid",children:[e.jsx(l,{label:s("metrics.uptime"),value:v(r.uptimeSeconds)}),e.jsx(l,{label:s("metrics.memory"),value:`${h(r.memory.rssBytes)} RSS`,detail:`${h(r.memory.heapUsedBytes)} / ${h(r.memory.heapTotalBytes)} ${s("metrics.heap")}`}),e.jsx(l,{label:s("metrics.compileQueue"),value:`${r.compileQueue.running} / ${r.compileQueue.concurrency}`,detail:s("metrics.pending",{count:r.compileQueue.pending})}),e.jsx(l,{label:s("metrics.collaboration"),value:s("metrics.sessions",{count:r.collaboration.sessions}),detail:s("metrics.roomsAndDirty",{rooms:r.collaboration.rooms,dirty:r.collaboration.dirtyFiles})})]}),e.jsxs("section",{className:"metric-section",children:[e.jsxs("h3",{children:[e.jsx(M,{size:15}),s("metrics.eventLoop")]}),e.jsx("p",{children:s("metrics.latencySummary",r.eventLoopDelay)})]}),e.jsxs("section",{className:"metric-section",children:[e.jsx("h3",{children:s("metrics.operationDurations")}),Object.keys(r.durationsMs).length===0?e.jsx("p",{className:"muted",children:s("metrics.noSamples")}):e.jsx("div",{className:"metric-table-wrap",children:e.jsxs("table",{className:"metric-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:s("metrics.operation")}),e.jsx("th",{children:s("metrics.samples")}),e.jsx("th",{children:s("metrics.last")}),e.jsx("th",{children:"P50"}),e.jsx("th",{children:"P95"}),e.jsx("th",{children:s("metrics.max")})]})}),e.jsx("tbody",{children:Object.entries(r.durationsMs).sort(([i],[n])=>i.localeCompare(n)).map(([i,n])=>e.jsxs("tr",{children:[e.jsx("td",{children:g(i,s)}),e.jsx("td",{children:n.count}),e.jsx("td",{children:d(n.last)}),e.jsx("td",{children:d(n.p50)}),e.jsx("td",{children:d(n.p95)}),e.jsx("td",{children:d(n.max)})]},i))})]})})]})]})]})}function l({label:t,value:c,detail:s}){return e.jsxs("article",{className:"metric-card",children:[e.jsx("span",{children:t}),e.jsx("strong",{children:c}),s&&e.jsx("small",{children:s})]})}function h(t){return`${Math.round(t/1024/1024*10)/10} MB`}function v(t){const c=Math.floor(t/86400),s=Math.floor(t%86400/3600),r=Math.floor(t%3600/60);return c?`${c}d ${s}h`:s?`${s}h ${r}m`:`${r}m`}function d(t){return t>=1e3?`${Math.round(t/100)/10}s`:`${Math.round(t*10)/10}ms`}function g(t,c){return c(`metrics.operations.${t}`,{defaultValue:t})}export{w as SystemMetricsDialog};
1
+ import{u as f,r as a,j as e}from"./react-BoEjKzFZ.js";import{a as y,M as b,A as M,R as $}from"./index-BAFR6u6_.js";function w({open:t,onOpenChange:c}){const{t:s}=f(),[r,p]=a.useState(null),[u,x]=a.useState(!1),[m,j]=a.useState(""),o=a.useCallback(async()=>{x(!0);try{p(await y("/api/health/metrics")),j("")}catch(i){j(i instanceof Error?i.message:s("errors.generic"))}finally{x(!1)}},[s]);return a.useEffect(()=>{if(!t)return;o();const i=window.setInterval(()=>{o()},5e3);return()=>window.clearInterval(i)},[t,o]),e.jsxs(b,{open:t,onOpenChange:c,wide:!0,title:s("metrics.title"),description:s("metrics.description"),footer:e.jsxs("button",{onClick:()=>{o()},disabled:u,children:[e.jsx($,{size:14,className:u?"spin":""}),s("metrics.refresh")]}),children:[m&&e.jsx("p",{className:"error",children:m}),!r&&!m&&e.jsx("p",{className:"muted",children:s("common.loading")}),r&&e.jsxs("div",{className:"system-metrics",children:[e.jsxs("div",{className:"metric-summary-grid",children:[e.jsx(l,{label:s("metrics.uptime"),value:v(r.uptimeSeconds)}),e.jsx(l,{label:s("metrics.memory"),value:`${h(r.memory.rssBytes)} RSS`,detail:`${h(r.memory.heapUsedBytes)} / ${h(r.memory.heapTotalBytes)} ${s("metrics.heap")}`}),e.jsx(l,{label:s("metrics.compileQueue"),value:`${r.compileQueue.running} / ${r.compileQueue.concurrency}`,detail:s("metrics.pending",{count:r.compileQueue.pending})}),e.jsx(l,{label:s("metrics.collaboration"),value:s("metrics.sessions",{count:r.collaboration.sessions}),detail:s("metrics.roomsAndDirty",{rooms:r.collaboration.rooms,dirty:r.collaboration.dirtyFiles})})]}),e.jsxs("section",{className:"metric-section",children:[e.jsxs("h3",{children:[e.jsx(M,{size:15}),s("metrics.eventLoop")]}),e.jsx("p",{children:s("metrics.latencySummary",r.eventLoopDelay)})]}),e.jsxs("section",{className:"metric-section",children:[e.jsx("h3",{children:s("metrics.operationDurations")}),Object.keys(r.durationsMs).length===0?e.jsx("p",{className:"muted",children:s("metrics.noSamples")}):e.jsx("div",{className:"metric-table-wrap",children:e.jsxs("table",{className:"metric-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:s("metrics.operation")}),e.jsx("th",{children:s("metrics.samples")}),e.jsx("th",{children:s("metrics.last")}),e.jsx("th",{children:"P50"}),e.jsx("th",{children:"P95"}),e.jsx("th",{children:s("metrics.max")})]})}),e.jsx("tbody",{children:Object.entries(r.durationsMs).sort(([i],[n])=>i.localeCompare(n)).map(([i,n])=>e.jsxs("tr",{children:[e.jsx("td",{children:g(i,s)}),e.jsx("td",{children:n.count}),e.jsx("td",{children:d(n.last)}),e.jsx("td",{children:d(n.p50)}),e.jsx("td",{children:d(n.p95)}),e.jsx("td",{children:d(n.max)})]},i))})]})})]})]})]})}function l({label:t,value:c,detail:s}){return e.jsxs("article",{className:"metric-card",children:[e.jsx("span",{children:t}),e.jsx("strong",{children:c}),s&&e.jsx("small",{children:s})]})}function h(t){return`${Math.round(t/1024/1024*10)/10} MB`}function v(t){const c=Math.floor(t/86400),s=Math.floor(t%86400/3600),r=Math.floor(t%3600/60);return c?`${c}d ${s}h`:s?`${s}h ${r}m`:`${r}m`}function d(t){return t>=1e3?`${Math.round(t/100)/10}s`:`${Math.round(t*10)/10}ms`}function g(t,c){return c(`metrics.operations.${t}`,{defaultValue:t})}export{w as SystemMetricsDialog};