@kong-ui-public/monaco-editor 0.26.2-pr.3884.dc6f18af1.0 → 0.26.2
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.
- package/dist/runtime/monaco-editor.cjs.js +8 -8
- package/dist/runtime/monaco-editor.es.js +232 -228
- package/dist/runtime/style.css +1 -1
- package/dist/types/src/composables/useMonacoDiffEditor.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +1 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),x=require("@kong/icons"),E=require("monaco-editor"),Ce=require("@shikijs/monaco"),H=require("shiki"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),x=require("@kong/icons"),E=require("monaco-editor"),Ce=require("@shikijs/monaco"),H=require("shiki"),ee=require("@kong-ui-public/i18n"),A=require("./code-lenses-Dix-b7XA.cjs"),se=require("./singletons.cjs.js");function ve(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(o,n,r.get?r:{enumerable:!0,get:()=>t[n]})}}return o.default=t,Object.freeze(o)}const S=ve(E),ye="'JetBrains Mono', Consolas, monospace",ke="12px",Le="500",we="20px",ce="8px",B=Object.freeze({autoClosingQuotes:"always",automaticLayout:!0,bracketPairColorization:{enabled:!0},hideCursorInOverviewRuler:!0,fontFamily:ye,fontSize:Number(ke.replace("px","")),fontWeight:Le,lineHeight:Number(we.replace("px","")),formatOnPaste:!0,formatOnType:!0,padding:{top:0,bottom:0},lineNumbersMinChars:3,minimap:{enabled:!1},stickyScroll:{enabled:!0},suggest:{showWords:!1},quickSuggestions:!0,suggestOnTriggerCharacters:!0,wordBasedSuggestions:"off",overviewRulerLanes:0,renderWhitespace:"boundary",scrollBeyondLastLine:!1,roundedSelection:!1,wordWrapColumn:120,colorDecorators:!0,folding:!0,fixedOverflowWidgets:!0,tabSize:2,detectIndentation:!1,insertSpaces:!0,trimAutoWhitespace:!0,wordWrap:"bounded",find:{addExtraSpaceOnTop:!1}}),xe=Object.freeze({...B,renderSideBySide:!1,enableSplitViewResizing:!1,renderIndicators:!0,ignoreTrimWhitespace:!1,diffAlgorithm:"advanced",renderOverviewRuler:!1,renderGutterMenu:!1,renderMarginRevertIcon:!1,diffCodeLens:!1,diffWordWrap:"inherit",hideUnchangedRegions:{enabled:!1},experimental:{showMoves:!1,useTrueInlineView:!1},readOnly:!0,originalEditable:!1,formatOnPaste:!1,formatOnType:!1,quickSuggestions:!1,suggestOnTriggerCharacters:!1,autoClosingQuotes:"never",stickyScroll:{enabled:!1}}),te={command:E.KeyMod.CtrlCmd,cmd:E.KeyMod.CtrlCmd,ctrl:E.KeyMod.CtrlCmd,ctrlcmd:E.KeyMod.CtrlCmd,shift:E.KeyMod.Shift,alt:E.KeyMod.Alt,option:E.KeyMod.Alt,win:E.KeyMod.WinCtrl,meta:E.KeyMod.WinCtrl},Me={enter:"Enter",esc:"Escape",escape:"Escape",space:"Space",tab:"Tab",backspace:"Backspace",delete:"Delete",insert:"Insert",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown",up:"UpArrow",down:"DownArrow",left:"LeftArrow",right:"RightArrow",arrowup:"UpArrow",arrowdown:"DownArrow",arrowleft:"LeftArrow",arrowright:"RightArrow"};function Se(t){if(!t?.length)return;let o=0,n;for(const r of t){const s=r.toLowerCase();if(te[s]){o|=te[s];continue}if(/^f\d+$/.test(s)){n=E.KeyCode[`F${s.slice(1)}`];continue}if(/^[a-z]$/.test(s)){n=E.KeyCode[`Key${s.toUpperCase()}`];continue}if(/^\d$/.test(s)){n=E.KeyCode[`Digit${s}`];continue}const l=Me[s];l&&(n=E.KeyCode[l])}return n!==void 0?o|n:void 0}function K(t,o){if(o){if(typeof t.action=="function")t.action(o);else if(typeof t.action=="string"){const n=t.action,r=o.editor.value?.getAction(n);r?r.run():o.triggerKeyboardCommand(n)}}}const Ee=new Set(["markdown","mdc"]),Ie=[{detect:/^(\s*)- \[[ x]\] /,nextPrefix:t=>`${t[1]}- [ ] `,emptyItem:/^(\s*)- \[[ x]\] $/},{detect:/^(\s*)([-*+]) /,nextPrefix:t=>`${t[1]}${t[2]} `,emptyItem:/^(\s*)[-*+] $/},{detect:/^(\s*)(\d+)\. /,nextPrefix:t=>`${t[1]}${Number(t[2])+1}. `,emptyItem:/^(\s*)\d+\. $/}];function Ne(t){return t.addAction({id:"editor.action.listContinuation",label:"Continue List on Enter",keybindings:[E.KeyCode.Enter],precondition:"editorTextFocus && !editorReadonly && !suggestWidgetVisible && !renameInputVisible && !inSnippetMode && !quickFixWidgetVisible",run:o=>{const n=o.getModel(),r=o.getSelection();if(!n||!r||!r.isEmpty()||!Ee.has(n.getLanguageId())){o.trigger("listContinuation","type",{text:`
|
|
2
2
|
`});return}const s=r.startLineNumber,l=n.getLineContent(s);for(const i of Ie){const d=l.match(i.detect);if(!d)continue;if(i.emptyItem.test(l)){o.executeEdits("listContinuation",[{range:{startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:l.length+1},text:""}]);return}const c=i.nextPrefix(d);if(c!==void 0){const u=r.startColumn;o.executeEdits("listContinuation",[{range:{startLineNumber:s,startColumn:u,endLineNumber:s,endColumn:u},text:`
|
|
3
|
-
${c}`}]);const
|
|
4
|
-
`})}})}function Be(t,o){return e.getCurrentScope()?(e.onScopeDispose(t,o),!0):!1}const Oe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const T=()=>{};function Te(t,o){function n(...r){return new Promise((s,l)=>{Promise.resolve(t(()=>o.apply(this,r),{fn:o,thisArg:this,args:r})).then(s).catch(l)})}return"cancel"in t&&Object.assign(n,{cancel:t.cancel,flush:t.flush,isPending:t.isPending}),n}function Re(t,o={}){let n,r,s=T,l=T;const i=e.shallowRef(!1),d=f=>{clearTimeout(f),s(),s=T};let c;return Object.assign(f=>{const a=e.toValue(t),p=e.toValue(o.maxWait);return n&&d(n),a<=0||p!==void 0&&p<=0?(r&&(d(r),r=void 0),i.value=!1,Promise.resolve(f())):(i.value=!0,new Promise((m,g)=>{s=o.rejectOnCancel?g:m,l=m,c=f,p&&!r&&(r=setTimeout(()=>{n&&d(n),r=void 0,i.value=!1,m(c())},p)),n=setTimeout(()=>{r&&d(r),r=void 0,i.value=!1,m(f())},a)}))},{cancel:()=>{n&&(d(n),n=void 0),r&&(d(r),r=void 0),i.value=!1,l=T},flush:()=>{if(i.value){n&&(clearTimeout(n),n=void 0),r&&(clearTimeout(r),r=void 0),i.value=!1;const f=l;s=T,l=T,f(c())}},isPending:e.shallowReadonly(i)})}function De(t){return Array.isArray(t)?t:[t]}function Ae(t){return e.getCurrentInstance()}function ce(t,o=200,n={}){return Te(Re(o,n),t)}function $e(t,o=!0,n){Ae()?e.onMounted(t,n):o?t():e.nextTick(t)}const de=Oe?window:void 0;function R(t){var o;const n=e.toValue(t);return(o=n?.$el)!==null&&o!==void 0?o:n}function Ve(){const t=e.shallowRef(!1),o=e.getCurrentInstance();return o&&e.onMounted(()=>{t.value=!0},o),t}function We(t){const o=Ve();return e.computed(()=>(o.value,!!t()))}function _e(t,o,n={}){const{window:r=de,...s}=n;let l;const i=We(()=>r&&"ResizeObserver"in r),d=()=>{l&&(l.disconnect(),l=void 0)},c=e.watch(e.computed(()=>{const f=e.toValue(t);return Array.isArray(f)?f.map(a=>R(a)):[R(f)]}),f=>{if(d(),i.value&&r){l=new ResizeObserver(o);for(const a of f)a&&l.observe(a,s)}},{immediate:!0,flush:"post"}),u=()=>{d(),c()};return Be(u),{isSupported:i,stop:u}}function U(t,o={width:0,height:0},n={}){const{window:r=de,box:s="content-box"}=n,l=e.computed(()=>{var a;return(a=R(t))===null||a===void 0||(a=a.namespaceURI)===null||a===void 0?void 0:a.includes("svg")}),i=e.shallowRef(o.width),d=e.shallowRef(o.height),{stop:c}=_e(t,([a])=>{const p=s==="border-box"?a.borderBoxSize:s==="content-box"?a.contentBoxSize:a.devicePixelContentBoxSize;if(r&&l.value){const m=R(t);if(m){const g=m.getBoundingClientRect();i.value=g.width,d.value=g.height}}else if(p){const m=De(p);i.value=m.reduce((g,{inlineSize:C})=>g+C,0),d.value=m.reduce((g,{blockSize:C})=>g+C,0)}else i.value=a.contentRect.width,d.value=a.contentRect.height},n);$e(()=>{const a=R(t);if(a&&"offsetWidth"in a)if(s==="content-box"&&r){const p=r.getComputedStyle(a),m=Number.parseFloat(p.paddingLeft)+Number.parseFloat(p.paddingRight),g=Number.parseFloat(p.paddingTop)+Number.parseFloat(p.paddingBottom),C=Number.parseFloat(p.borderLeftWidth)+Number.parseFloat(p.borderRightWidth),b=Number.parseFloat(p.borderTopWidth)+Number.parseFloat(p.borderBottomWidth);i.value=a.offsetWidth-m-C,d.value=a.offsetHeight-g-b}else i.value=a.offsetWidth,d.value=a.offsetHeight;else a&&(i.value=o.width,d.value=o.height)});const u=e.watch(()=>R(t),a=>{i.value=a?o.width:0,d.value=a?o.height:0});function f(){c(),u()}return{width:i,height:d,stop:f}}const Q=e.ref(!1);let $=null;async function ue(){return $||($=(async()=>{try{(S.json?.jsonDefaults||S.languages.json?.jsonDefaults)?.setModeConfiguration({tokens:!1});const o=await H.getSingletonHighlighter({themes:Object.values(H.bundledThemes),langs:Object.values(H.bundledLanguages)});o.getLoadedLanguages().forEach(n=>{S.languages.register({id:n})}),Ce.shikiToMonaco(o,S),Q.value=!0}catch(t){throw $=null,t}})(),$)}function me(t){return t==="light"?"catppuccin-latte":"material-theme-darker"}function Z(t,o,n,r){if(t)return t.setValue(o),t;const s=r?`${r}/${n}`:n,l=S.Uri.parse(`inmemory://model/${s}-${crypto.randomUUID()}`);return S.editor.createModel(o,n,l)}function ge(t,o){const n=e.shallowRef();let r,s=!1,l=!1;const i=e.reactive({editorStatus:"loading",searchBoxIsRevealed:!1,hasContent:!1,theme:o.theme||"light",currentLanguage:o.language||"",readOnly:o.readOnly||!1}),d=b=>{!s||!n.value||n.value.setValue(b)},c=b=>n.value?.updateOptions({readOnly:b}),u=()=>n.value?.focus(),f=b=>{const h=n.value?.getModel();h&&S.editor.setModelLanguage(h,b)},a=b=>{try{if(!n.value||!b)return;n.value.focus(),n.value.trigger("keyboard",b,null)}catch(h){console.error(`useMonacoEditor: Failed to trigger command: ${b}`,h)}},p=()=>{try{if(!n.value)return;if(i.searchBoxIsRevealed)return n.value.getContribution("editor.contrib.findController")?.closeFindWidget();a("actions.find")}catch(b){console.error("useMonacoEditor: Failed to close findController.",b)}},m=ce(()=>S.editor.remeasureFonts(),200),g=b=>{!n.value||!b?.length||b.forEach(h=>{if(!(!h.id||!h.action))try{const k={id:h.id,label:h.label||h.id,keybindings:h.keybindings?[Se(h.keybindings)].filter(w=>w!==void 0):void 0,contextMenuGroupId:h.showInContextMenu?h.contextMenuGroupId||"basic":void 0,contextMenuOrder:h.contextMenuOrder??1.5,run:w=>{if(typeof h.action=="function")h.action({editor:n,editorStates:i,setContent:d,setReadOnly:c,focus:u,setLanguage:f,remeasureFonts:m,toggleSearchWidget:p,triggerKeyboardCommand:a,registerActions:g});else if(typeof h.action=="string"){const v=w.getAction(h.action);v?v.run():a(h.action)}}};n.value?.addAction(k)}catch(k){console.error(`useMonacoEditor: Failed to register action: ${h.id}`,k)}})};return ue(),e.watch([Q,()=>e.toValue(t)],([b,h],[,k])=>{const w=e.toValue(h),v=e.toValue(k);if(!(w instanceof HTMLElement)||!b){s=!1;return}if(!(s&&v===w)){r=Z(r,o.code.value,o.language),n.value=S.editor.create(w,{...B,readOnly:o.readOnly||!1,language:o.language,theme:me(i.theme),model:r,editContext:!1,...o.monacoOptions}),s=!0,i.editorStatus="ready",i.hasContent=!!o.code.value,i.currentLanguage=r.getLanguageId(),i.readOnly=!!n.value.getOption(S.editor.EditorOption.readOnly),r.onDidChangeLanguage(L=>{i.currentLanguage=L.newLanguage}),n.value.onDidChangeConfiguration(L=>{L.hasChanged(S.editor.EditorOption.readOnly)&&(i.readOnly=!!n.value.getOption(S.editor.EditorOption.readOnly))}),n.value.onDidChangeModelContent(()=>{if(l)return;const L=n.value.getValue();i.hasContent=!!L.length,o.code.value=L}),o.actions?.length&&g(o.actions),Ne(n.value),o.onReady?.(n.value),m();try{const N=n.value.getContribution("editor.contrib.findController")?.getState();N?.onFindReplaceStateChange(()=>{i.searchBoxIsRevealed=N.isRevealed})}catch(L){console.error("useMonacoEditor: Failed to get the state of findController",L)}e.onWatcherCleanup(()=>{n.value?.dispose()})}},{immediate:!0,flush:"post"}),e.watch(o.code,b=>{if(!n.value||!r||!s)return;const h=r.getValue();b!==h&&(l=!0,n.value.executeEdits("external",[{range:r.getFullModelRange(),text:b}]),n.value.pushUndoStop(),i.hasContent=!!b.length,l=!1)}),e.onMounted(m),e.onActivated(m),e.onBeforeUnmount(()=>{if(!n.value)return;const b=n.value.getModel();n.value.dispose(),b&&b.dispose()}),{editor:n,editorStates:i,setContent:d,setReadOnly:c,focus:u,setLanguage:f,remeasureFonts:m,registerActions:g,toggleSearchWidget:p,triggerKeyboardCommand:a}}const Pe={labels:{action_search:"Search",action_bold:"Bold",action_italic:"Italic",action_strikethrough:"Strikethrough",action_inline_code:"Code",action_link:"Link",action_image:"Image",action_unordered_list:"Unordered list",action_ordered_list:"Ordered list",action_task_list:"Task list",action_codeblock:"Code block",action_blockquote:"Blockquote",action_table:"Table",action_search_label:"Search document",action_format:"Format",action_format_label:"Format document",action_fullscreen:"Full Screen",action_fullscreen_label:"Toggle full screen mode",action_more:"More",key:"Key: {key}"},messages:{empty_message:"The editor is currently empty. Start typing to add content.",empty_message_readonly:"The editor is currently empty.",empty_title:"No content available",loading_message:"Please wait while the {type} content is loaded.",loading_title:"{type} editor"}},Fe={editor:Pe};function _(){const t=J.createI18n("en-us",Fe);return{i18n:t,i18nT:J.i18nTComponent(t)}}const Ke=e.defineComponent({__name:"MonacoEditorStatusOverlay",props:{title:{},message:{},icon:{}},setup(t){return(o,n)=>{const r=e.resolveComponent("KEmptyState");return e.openBlock(),e.createBlock(r,{class:"monaco-editor-status-overlay",message:t.message,title:t.title},e.createSlots({_:2},[t.icon?{name:"icon",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{decorative:""}))]),key:"0"}:void 0]),1032,["message","title"])}}}),P=(t,o)=>{const n=t.__vccOpts||t;for(const[r,s]of o)n[r]=s;return n},z=P(Ke,[["__scopeId","data-v-062eadb5"]]),Ue={key:0,class:"keys"},Ge=["aria-label","data-testid","textContent"],je=e.defineComponent({__name:"ToolbarActionButton",props:{item:{},active:{type:Boolean,default:!0},placement:{default:"bottom-end"}},setup(t){const{i18n:o}=_(),n=e.computed(()=>!!t.item.keybindings?.length),r=e.ref(!1),s=d=>{const c=d.toLowerCase();return{command:r.value?"Command":"Ctrl",cmd:r.value?"Command":"Ctrl",ctrl:"Ctrl",control:"Ctrl",shift:"Shift",option:r.value?"Option":"Alt",opt:r.value?"Option":"Alt",alt:"Alt"}[c]||d.toUpperCase()},l=d=>["command","cmd","ctrl","control","shift","option","opt","alt"].includes(d.toLowerCase()),i=d=>{const c=d.toLowerCase();return["command","cmd","ctrl","control"].includes(c)?"meta-key":c==="shift"?"shift-key":["option","opt","alt"].includes(c)?"option-key":""};return e.onMounted(()=>{r.value=/Mac|iPhone|iPod|iPad/i.test(navigator?.platform)||/macOS|Mac|iPhone|iPod|iPad/i.test(navigator?.userAgentData?.platform)}),(d,c)=>{const u=e.resolveComponent("KButton"),f=e.resolveComponent("KTooltip");return e.openBlock(),e.createBlock(f,{"data-testid":`editor-toolbar-mdc-action-${t.item.id}-tooltip`,placement:t.placement},e.createSlots({default:e.withCtx(()=>[e.createVNode(u,{appearance:"none","aria-label":t.item.ariaLabel||t.item.label,class:"toolbar-action-button","data-testid":`editor-toolbar-mdc-action-${t.item.id}-button`,disabled:!t.active,icon:"",onClick:t.item.action},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.item.icon),{decorative:""}))]),_:1},8,["aria-label","data-testid","disabled","onClick"])]),_:2},[t.item.label?{name:"content",fn:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["shortcut-text",{"has-keys":n.value}])},e.toDisplayString(t.item.label),3),n.value?(e.openBlock(),e.createElementBlock("div",Ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.item.keybindings,a=>(e.openBlock(),e.createElementBlock("kbd",{key:a,"aria-label":e.unref(o).t("editor.labels.key",{key:s(a)}),class:e.normalizeClass([{mac:r.value},i(a)]),"data-testid":`editor-toolbar-mdc-${l(a)?i(a):`${a.toLowerCase()}-key`}`,textContent:e.toDisplayString(l(a)?"":a)},null,10,Ge))),128))])):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1032,["data-testid","placement"])}}}),G=P(je,[["__scopeId","data-v-c588b09b"]]);function W(t,o){return n=>{const r=n.editor.value;if(!r)return;const s=r.getSelection(),l=r.getModel();if(!s||!l)return;const i=t.length,d=s.isEmpty(),c=s.startLineNumber,u=s.startColumn,f=s.endLineNumber,a=s.endColumn;if(!d){const k=l.getValueInRange(s),w={startLineNumber:c,startColumn:Math.max(1,u-i),endLineNumber:c,endColumn:u},v={startLineNumber:f,startColumn:a,endLineNumber:f,endColumn:a+i};l.getValueInRange(w)===t&&l.getValueInRange(v)===t?(r.executeEdits(o,[{range:v,text:""},{range:w,text:""}]),r.setSelection({startLineNumber:c,startColumn:u-i,endLineNumber:f,endColumn:a-i})):(r.executeEdits(o,[{range:s,text:`${t}${k}${t}`}]),r.setSelection({startLineNumber:c,startColumn:u+i,endLineNumber:f,endColumn:a+i})),r.focus();return}const p=l.getLineContent(c),m=p.slice(0,u-1),g=p.slice(u-1),C=m.lastIndexOf(t),b=g.indexOf(t);if(C!==-1&&b!==-1){const k=C+1,w=u+b,v={startLineNumber:c,startColumn:k,endLineNumber:c,endColumn:k+i},L={startLineNumber:c,startColumn:w,endLineNumber:c,endColumn:w+i};r.executeEdits(o,[{range:L,text:""},{range:v,text:""}]),r.setPosition({lineNumber:c,column:u-i})}else r.executeEdits(o,[{range:s,text:`${t}${t}`}]),r.setPosition({lineNumber:c,column:u+i});r.focus()}}function te(t,o,n,r){return s=>{const l=s.editor.value;if(!l)return;const i=l.getSelection(),d=l.getModel();if(!i||!d)return;const c=t.length,u=o.length,f=i.isEmpty(),a=i.startLineNumber,p=i.startColumn,m=i.endLineNumber,g=i.endColumn;if(!f){const b=d.getValueInRange(i);if(a===m){const v=d.getLineContent(a),L=v.substring(0,p-1),N=v.substring(g-1);if(L.endsWith("](")&&N.startsWith(")")){const O=L.length-2,M=v.substring(0,O),I=M.lastIndexOf(t);if(I!==-1){const y=M.substring(I+c),F=I+1,be=g+1;l.executeEdits(n,[{range:{startLineNumber:a,startColumn:F,endLineNumber:a,endColumn:be},text:y}]),y?l.setSelection({startLineNumber:a,startColumn:F,endLineNumber:a,endColumn:F+y.length}):l.setPosition({lineNumber:a,column:F}),l.focus();return}}}const h={startLineNumber:a,startColumn:Math.max(1,p-c),endLineNumber:a,endColumn:p},k={startLineNumber:m,startColumn:g,endLineNumber:m,endColumn:g+u};if(d.getValueInRange(h)===t&&d.getValueInRange(k)===o){const v={startLineNumber:a,startColumn:p-c,endLineNumber:m,endColumn:g+u};l.executeEdits(n,[{range:v,text:""}]),l.setPosition({lineNumber:a,column:p-c})}else{l.executeEdits(n,[{range:i,text:`${t}${b}${o}`}]);const v=o.indexOf(r);if(v!==-1&&r&&a===m){const L=g+c+v;l.setSelection({startLineNumber:m,startColumn:L,endLineNumber:m,endColumn:L+r.length})}else l.setSelection({startLineNumber:a,startColumn:p+c,endLineNumber:m,endColumn:g+c})}l.focus();return}const C=n;l.executeEdits(n,[{range:i,text:`${t}${C}${o}`}]),l.setSelection({startLineNumber:a,startColumn:p+c,endLineNumber:a,endColumn:p+c+C.length}),l.focus()}}function j(t,o,n){const r=typeof t=="string"?()=>t:t,s=n??(typeof t=="string"?new RegExp(`^${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}`):null);return l=>{const i=l.editor.value;if(!i)return;const d=i.getSelection(),c=i.getModel();if(!d||!c)return;const u=d.startLineNumber,f=d.endLineNumber,a=[];for(let g=u;g<=f;g++)a.push(c.getLineContent(g));const p=a.every(g=>s?s.test(g):/^\d+\.\s/.test(g)||g.startsWith(r(1))),m=[];if(p)for(let g=a.length-1;g>=0;g--){const C=u+g,b=a[g];let h=0;if(s){const k=b.match(s);k&&(h=k[0].length)}else{const k=r(g+1);b.startsWith(k)&&(h=k.length)}h>0&&m.push({range:{startLineNumber:C,startColumn:1,endLineNumber:C,endColumn:1+h},text:""})}else for(let g=a.length-1;g>=0;g--){const C=u+g,b=a[g];if(!(s?s.test(b):b.startsWith(r(g+1)))){const k=r(g+1);m.push({range:{startLineNumber:C,startColumn:1,endLineNumber:C,endColumn:1},text:k})}}m.length>0&&i.executeEdits(o,m),i.focus()}}function ze(t){return o=>{const n=o.editor.value;if(!n)return;const r=n.getSelection(),s=n.getModel();if(!r||!s)return;const l=r.startLineNumber,i=r.endLineNumber,d=r.isEmpty();if(!fe(s,l,i)){for(let c=l;c<=i;c++)if(s.getLineContent(c).includes("```"))return;if(d){const u=s.getValueInRange({startLineNumber:l,startColumn:1,endLineNumber:l,endColumn:r.startColumn}).trim().length>0,f=u?`
|
|
5
|
-
`:"";n.executeEdits(t,[{range:r,text:`${
|
|
3
|
+
${c}`}]);const p=s+1,a=c.length+1;o.setPosition({lineNumber:p,column:a}),o.revealLine(p);return}}o.trigger("listContinuation","type",{text:`
|
|
4
|
+
`})}})}function Be(t,o){return e.getCurrentScope()?(e.onScopeDispose(t,o),!0):!1}const Oe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const T=()=>{};function Te(t,o){function n(...r){return new Promise((s,l)=>{Promise.resolve(t(()=>o.apply(this,r),{fn:o,thisArg:this,args:r})).then(s).catch(l)})}return"cancel"in t&&Object.assign(n,{cancel:t.cancel,flush:t.flush,isPending:t.isPending}),n}function Re(t,o={}){let n,r,s=T,l=T;const i=e.shallowRef(!1),d=p=>{clearTimeout(p),s(),s=T};let c;return Object.assign(p=>{const a=e.toValue(t),f=e.toValue(o.maxWait);return n&&d(n),a<=0||f!==void 0&&f<=0?(r&&(d(r),r=void 0),i.value=!1,Promise.resolve(p())):(i.value=!0,new Promise((m,g)=>{s=o.rejectOnCancel?g:m,l=m,c=p,f&&!r&&(r=setTimeout(()=>{n&&d(n),r=void 0,i.value=!1,m(c())},f)),n=setTimeout(()=>{r&&d(r),r=void 0,i.value=!1,m(p())},a)}))},{cancel:()=>{n&&(d(n),n=void 0),r&&(d(r),r=void 0),i.value=!1,l=T},flush:()=>{if(i.value){n&&(clearTimeout(n),n=void 0),r&&(clearTimeout(r),r=void 0),i.value=!1;const p=l;s=T,l=T,p(c())}},isPending:e.shallowReadonly(i)})}function De(t){return Array.isArray(t)?t:[t]}function Ae(t){return e.getCurrentInstance()}function de(t,o=200,n={}){return Te(Re(o,n),t)}function $e(t,o=!0,n){Ae()?e.onMounted(t,n):o?t():e.nextTick(t)}const ue=Oe?window:void 0;function R(t){var o;const n=e.toValue(t);return(o=n?.$el)!==null&&o!==void 0?o:n}function Ve(){const t=e.shallowRef(!1),o=e.getCurrentInstance();return o&&e.onMounted(()=>{t.value=!0},o),t}function We(t){const o=Ve();return e.computed(()=>(o.value,!!t()))}function _e(t,o,n={}){const{window:r=ue,...s}=n;let l;const i=We(()=>r&&"ResizeObserver"in r),d=()=>{l&&(l.disconnect(),l=void 0)},c=e.watch(e.computed(()=>{const p=e.toValue(t);return Array.isArray(p)?p.map(a=>R(a)):[R(p)]}),p=>{if(d(),i.value&&r){l=new ResizeObserver(o);for(const a of p)a&&l.observe(a,s)}},{immediate:!0,flush:"post"}),u=()=>{d(),c()};return Be(u),{isSupported:i,stop:u}}function U(t,o={width:0,height:0},n={}){const{window:r=ue,box:s="content-box"}=n,l=e.computed(()=>{var a;return(a=R(t))===null||a===void 0||(a=a.namespaceURI)===null||a===void 0?void 0:a.includes("svg")}),i=e.shallowRef(o.width),d=e.shallowRef(o.height),{stop:c}=_e(t,([a])=>{const f=s==="border-box"?a.borderBoxSize:s==="content-box"?a.contentBoxSize:a.devicePixelContentBoxSize;if(r&&l.value){const m=R(t);if(m){const g=m.getBoundingClientRect();i.value=g.width,d.value=g.height}}else if(f){const m=De(f);i.value=m.reduce((g,{inlineSize:C})=>g+C,0),d.value=m.reduce((g,{blockSize:C})=>g+C,0)}else i.value=a.contentRect.width,d.value=a.contentRect.height},n);$e(()=>{const a=R(t);if(a&&"offsetWidth"in a)if(s==="content-box"&&r){const f=r.getComputedStyle(a),m=Number.parseFloat(f.paddingLeft)+Number.parseFloat(f.paddingRight),g=Number.parseFloat(f.paddingTop)+Number.parseFloat(f.paddingBottom),C=Number.parseFloat(f.borderLeftWidth)+Number.parseFloat(f.borderRightWidth),b=Number.parseFloat(f.borderTopWidth)+Number.parseFloat(f.borderBottomWidth);i.value=a.offsetWidth-m-C,d.value=a.offsetHeight-g-b}else i.value=a.offsetWidth,d.value=a.offsetHeight;else a&&(i.value=o.width,d.value=o.height)});const u=e.watch(()=>R(t),a=>{i.value=a?o.width:0,d.value=a?o.height:0});function p(){c(),u()}return{width:i,height:d,stop:p}}const J=e.ref(!1);let $=null;async function me(){return $||($=(async()=>{try{(S.json?.jsonDefaults||S.languages.json?.jsonDefaults)?.setModeConfiguration({tokens:!1});const o=await H.getSingletonHighlighter({themes:Object.values(H.bundledThemes),langs:Object.values(H.bundledLanguages)});o.getLoadedLanguages().forEach(n=>{S.languages.register({id:n})}),Ce.shikiToMonaco(o,S),J.value=!0}catch(t){throw $=null,t}})(),$)}function Z(t){return t==="light"?"catppuccin-latte":"material-theme-darker"}function Q(t,o,n,r){if(t)return t.setValue(o),t;const s=r?`${r}/${n}`:n,l=S.Uri.parse(`inmemory://model/${s}-${crypto.randomUUID()}`);return S.editor.createModel(o,n,l)}function ge(t,o){const n=e.shallowRef();let r,s=!1,l=!1;const i=e.reactive({editorStatus:"loading",searchBoxIsRevealed:!1,hasContent:!1,theme:o.theme||"light",currentLanguage:o.language||"",readOnly:o.readOnly||!1}),d=b=>{!s||!n.value||n.value.setValue(b)},c=b=>n.value?.updateOptions({readOnly:b}),u=()=>n.value?.focus(),p=b=>{const h=n.value?.getModel();h&&S.editor.setModelLanguage(h,b)},a=b=>{try{if(!n.value||!b)return;n.value.focus(),n.value.trigger("keyboard",b,null)}catch(h){console.error(`useMonacoEditor: Failed to trigger command: ${b}`,h)}},f=()=>{try{if(!n.value)return;if(i.searchBoxIsRevealed)return n.value.getContribution("editor.contrib.findController")?.closeFindWidget();a("actions.find")}catch(b){console.error("useMonacoEditor: Failed to close findController.",b)}},m=de(()=>S.editor.remeasureFonts(),200),g=b=>{!n.value||!b?.length||b.forEach(h=>{if(!(!h.id||!h.action))try{const k={id:h.id,label:h.label||h.id,keybindings:h.keybindings?[Se(h.keybindings)].filter(w=>w!==void 0):void 0,contextMenuGroupId:h.showInContextMenu?h.contextMenuGroupId||"basic":void 0,contextMenuOrder:h.contextMenuOrder??1.5,run:w=>{if(typeof h.action=="function")h.action({editor:n,editorStates:i,setContent:d,setReadOnly:c,focus:u,setLanguage:p,remeasureFonts:m,toggleSearchWidget:f,triggerKeyboardCommand:a,registerActions:g});else if(typeof h.action=="string"){const v=w.getAction(h.action);v?v.run():a(h.action)}}};n.value?.addAction(k)}catch(k){console.error(`useMonacoEditor: Failed to register action: ${h.id}`,k)}})};return me(),e.watch([J,()=>e.toValue(t)],([b,h],[,k])=>{const w=e.toValue(h),v=e.toValue(k);if(!(w instanceof HTMLElement)||!b){s=!1;return}if(!(s&&v===w)){r=Q(r,o.code.value,o.language),n.value=S.editor.create(w,{...B,readOnly:o.readOnly||!1,language:o.language,theme:Z(i.theme),model:r,editContext:!1,...o.monacoOptions}),s=!0,i.editorStatus="ready",i.hasContent=!!o.code.value,i.currentLanguage=r.getLanguageId(),i.readOnly=!!n.value.getOption(S.editor.EditorOption.readOnly),r.onDidChangeLanguage(L=>{i.currentLanguage=L.newLanguage}),n.value.onDidChangeConfiguration(L=>{L.hasChanged(S.editor.EditorOption.readOnly)&&(i.readOnly=!!n.value.getOption(S.editor.EditorOption.readOnly))}),n.value.onDidChangeModelContent(()=>{if(l)return;const L=n.value.getValue();i.hasContent=!!L.length,o.code.value=L}),o.actions?.length&&g(o.actions),Ne(n.value),o.onReady?.(n.value),m();try{const N=n.value.getContribution("editor.contrib.findController")?.getState();N?.onFindReplaceStateChange(()=>{i.searchBoxIsRevealed=N.isRevealed})}catch(L){console.error("useMonacoEditor: Failed to get the state of findController",L)}e.onWatcherCleanup(()=>{n.value?.dispose()})}},{immediate:!0,flush:"post"}),e.watch(o.code,b=>{if(!n.value||!r||!s)return;const h=r.getValue();b!==h&&(l=!0,n.value.executeEdits("external",[{range:r.getFullModelRange(),text:b}]),n.value.pushUndoStop(),i.hasContent=!!b.length,l=!1)}),e.onMounted(m),e.onActivated(m),e.onBeforeUnmount(()=>{if(!n.value)return;const b=n.value.getModel();n.value.dispose(),b&&b.dispose()}),{editor:n,editorStates:i,setContent:d,setReadOnly:c,focus:u,setLanguage:p,remeasureFonts:m,registerActions:g,toggleSearchWidget:f,triggerKeyboardCommand:a}}const Pe={labels:{action_search:"Search",action_bold:"Bold",action_italic:"Italic",action_strikethrough:"Strikethrough",action_inline_code:"Code",action_link:"Link",action_image:"Image",action_unordered_list:"Unordered list",action_ordered_list:"Ordered list",action_task_list:"Task list",action_codeblock:"Code block",action_blockquote:"Blockquote",action_table:"Table",action_search_label:"Search document",action_format:"Format",action_format_label:"Format document",action_fullscreen:"Full Screen",action_fullscreen_label:"Toggle full screen mode",action_more:"More",key:"Key: {key}"},messages:{empty_message:"The editor is currently empty. Start typing to add content.",empty_message_readonly:"The editor is currently empty.",empty_title:"No content available",loading_message:"Please wait while the {type} content is loaded.",loading_title:"{type} editor"}},Fe={editor:Pe};function _(){const t=ee.createI18n("en-us",Fe);return{i18n:t,i18nT:ee.i18nTComponent(t)}}const Ke=e.defineComponent({__name:"MonacoEditorStatusOverlay",props:{title:{},message:{},icon:{}},setup(t){return(o,n)=>{const r=e.resolveComponent("KEmptyState");return e.openBlock(),e.createBlock(r,{class:"monaco-editor-status-overlay",message:t.message,title:t.title},e.createSlots({_:2},[t.icon?{name:"icon",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{decorative:""}))]),key:"0"}:void 0]),1032,["message","title"])}}}),P=(t,o)=>{const n=t.__vccOpts||t;for(const[r,s]of o)n[r]=s;return n},z=P(Ke,[["__scopeId","data-v-062eadb5"]]),Ue={key:0,class:"keys"},Ge=["aria-label","data-testid","textContent"],je=e.defineComponent({__name:"ToolbarActionButton",props:{item:{},active:{type:Boolean,default:!0},placement:{default:"bottom-end"}},setup(t){const{i18n:o}=_(),n=e.computed(()=>!!t.item.keybindings?.length),r=e.ref(!1),s=d=>{const c=d.toLowerCase();return{command:r.value?"Command":"Ctrl",cmd:r.value?"Command":"Ctrl",ctrl:"Ctrl",control:"Ctrl",shift:"Shift",option:r.value?"Option":"Alt",opt:r.value?"Option":"Alt",alt:"Alt"}[c]||d.toUpperCase()},l=d=>["command","cmd","ctrl","control","shift","option","opt","alt"].includes(d.toLowerCase()),i=d=>{const c=d.toLowerCase();return["command","cmd","ctrl","control"].includes(c)?"meta-key":c==="shift"?"shift-key":["option","opt","alt"].includes(c)?"option-key":""};return e.onMounted(()=>{r.value=/Mac|iPhone|iPod|iPad/i.test(navigator?.platform)||/macOS|Mac|iPhone|iPod|iPad/i.test(navigator?.userAgentData?.platform)}),(d,c)=>{const u=e.resolveComponent("KButton"),p=e.resolveComponent("KTooltip");return e.openBlock(),e.createBlock(p,{"data-testid":`editor-toolbar-mdc-action-${t.item.id}-tooltip`,placement:t.placement},e.createSlots({default:e.withCtx(()=>[e.createVNode(u,{appearance:"none","aria-label":t.item.ariaLabel||t.item.label,class:"toolbar-action-button","data-testid":`editor-toolbar-mdc-action-${t.item.id}-button`,disabled:!t.active,icon:"",onClick:t.item.action},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.item.icon),{decorative:""}))]),_:1},8,["aria-label","data-testid","disabled","onClick"])]),_:2},[t.item.label?{name:"content",fn:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["shortcut-text",{"has-keys":n.value}])},e.toDisplayString(t.item.label),3),n.value?(e.openBlock(),e.createElementBlock("div",Ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.item.keybindings,a=>(e.openBlock(),e.createElementBlock("kbd",{key:a,"aria-label":e.unref(o).t("editor.labels.key",{key:s(a)}),class:e.normalizeClass([{mac:r.value},i(a)]),"data-testid":`editor-toolbar-mdc-${l(a)?i(a):`${a.toLowerCase()}-key`}`,textContent:e.toDisplayString(l(a)?"":a)},null,10,Ge))),128))])):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1032,["data-testid","placement"])}}}),G=P(je,[["__scopeId","data-v-c588b09b"]]);function W(t,o){return n=>{const r=n.editor.value;if(!r)return;const s=r.getSelection(),l=r.getModel();if(!s||!l)return;const i=t.length,d=s.isEmpty(),c=s.startLineNumber,u=s.startColumn,p=s.endLineNumber,a=s.endColumn;if(!d){const k=l.getValueInRange(s),w={startLineNumber:c,startColumn:Math.max(1,u-i),endLineNumber:c,endColumn:u},v={startLineNumber:p,startColumn:a,endLineNumber:p,endColumn:a+i};l.getValueInRange(w)===t&&l.getValueInRange(v)===t?(r.executeEdits(o,[{range:v,text:""},{range:w,text:""}]),r.setSelection({startLineNumber:c,startColumn:u-i,endLineNumber:p,endColumn:a-i})):(r.executeEdits(o,[{range:s,text:`${t}${k}${t}`}]),r.setSelection({startLineNumber:c,startColumn:u+i,endLineNumber:p,endColumn:a+i})),r.focus();return}const f=l.getLineContent(c),m=f.slice(0,u-1),g=f.slice(u-1),C=m.lastIndexOf(t),b=g.indexOf(t);if(C!==-1&&b!==-1){const k=C+1,w=u+b,v={startLineNumber:c,startColumn:k,endLineNumber:c,endColumn:k+i},L={startLineNumber:c,startColumn:w,endLineNumber:c,endColumn:w+i};r.executeEdits(o,[{range:L,text:""},{range:v,text:""}]),r.setPosition({lineNumber:c,column:u-i})}else r.executeEdits(o,[{range:s,text:`${t}${t}`}]),r.setPosition({lineNumber:c,column:u+i});r.focus()}}function ne(t,o,n,r){return s=>{const l=s.editor.value;if(!l)return;const i=l.getSelection(),d=l.getModel();if(!i||!d)return;const c=t.length,u=o.length,p=i.isEmpty(),a=i.startLineNumber,f=i.startColumn,m=i.endLineNumber,g=i.endColumn;if(!p){const b=d.getValueInRange(i);if(a===m){const v=d.getLineContent(a),L=v.substring(0,f-1),N=v.substring(g-1);if(L.endsWith("](")&&N.startsWith(")")){const O=L.length-2,M=v.substring(0,O),I=M.lastIndexOf(t);if(I!==-1){const y=M.substring(I+c),F=I+1,be=g+1;l.executeEdits(n,[{range:{startLineNumber:a,startColumn:F,endLineNumber:a,endColumn:be},text:y}]),y?l.setSelection({startLineNumber:a,startColumn:F,endLineNumber:a,endColumn:F+y.length}):l.setPosition({lineNumber:a,column:F}),l.focus();return}}}const h={startLineNumber:a,startColumn:Math.max(1,f-c),endLineNumber:a,endColumn:f},k={startLineNumber:m,startColumn:g,endLineNumber:m,endColumn:g+u};if(d.getValueInRange(h)===t&&d.getValueInRange(k)===o){const v={startLineNumber:a,startColumn:f-c,endLineNumber:m,endColumn:g+u};l.executeEdits(n,[{range:v,text:""}]),l.setPosition({lineNumber:a,column:f-c})}else{l.executeEdits(n,[{range:i,text:`${t}${b}${o}`}]);const v=o.indexOf(r);if(v!==-1&&r&&a===m){const L=g+c+v;l.setSelection({startLineNumber:m,startColumn:L,endLineNumber:m,endColumn:L+r.length})}else l.setSelection({startLineNumber:a,startColumn:f+c,endLineNumber:m,endColumn:g+c})}l.focus();return}const C=n;l.executeEdits(n,[{range:i,text:`${t}${C}${o}`}]),l.setSelection({startLineNumber:a,startColumn:f+c,endLineNumber:a,endColumn:f+c+C.length}),l.focus()}}function j(t,o,n){const r=typeof t=="string"?()=>t:t,s=n??(typeof t=="string"?new RegExp(`^${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}`):null);return l=>{const i=l.editor.value;if(!i)return;const d=i.getSelection(),c=i.getModel();if(!d||!c)return;const u=d.startLineNumber,p=d.endLineNumber,a=[];for(let g=u;g<=p;g++)a.push(c.getLineContent(g));const f=a.every(g=>s?s.test(g):/^\d+\.\s/.test(g)||g.startsWith(r(1))),m=[];if(f)for(let g=a.length-1;g>=0;g--){const C=u+g,b=a[g];let h=0;if(s){const k=b.match(s);k&&(h=k[0].length)}else{const k=r(g+1);b.startsWith(k)&&(h=k.length)}h>0&&m.push({range:{startLineNumber:C,startColumn:1,endLineNumber:C,endColumn:1+h},text:""})}else for(let g=a.length-1;g>=0;g--){const C=u+g,b=a[g];if(!(s?s.test(b):b.startsWith(r(g+1)))){const k=r(g+1);m.push({range:{startLineNumber:C,startColumn:1,endLineNumber:C,endColumn:1},text:k})}}m.length>0&&i.executeEdits(o,m),i.focus()}}function ze(t){return o=>{const n=o.editor.value;if(!n)return;const r=n.getSelection(),s=n.getModel();if(!r||!s)return;const l=r.startLineNumber,i=r.endLineNumber,d=r.isEmpty();if(!fe(s,l,i)){for(let c=l;c<=i;c++)if(s.getLineContent(c).includes("```"))return;if(d){const u=s.getValueInRange({startLineNumber:l,startColumn:1,endLineNumber:l,endColumn:r.startColumn}).trim().length>0,p=u?`
|
|
5
|
+
`:"";n.executeEdits(t,[{range:r,text:`${p}\`\`\`markdown
|
|
6
6
|
|
|
7
7
|
\`\`\``}]);const a=u?l+1:l;n.setSelection({startLineNumber:a,startColumn:4,endLineNumber:a,endColumn:12})}else{const c=l>1?s.getLineContent(l-1):"",u=i<s.getLineCount()?s.getLineContent(i+1):"";if(c.trimEnd().startsWith("```")&&u.trimEnd()==="```")n.executeEdits(t,[{range:{startLineNumber:i+1,startColumn:1,endLineNumber:i+1,endColumn:s.getLineContent(i+1).length+1},text:null},{range:{startLineNumber:l-1,startColumn:1,endLineNumber:l-1,endColumn:s.getLineContent(l-1).length+1},text:null}]),n.setSelection({startLineNumber:l-1,startColumn:1,endLineNumber:i-1,endColumn:s.getLineContent(i-1).length+1});else{const a=s.getValueInRange(r),m=s.getValueInRange({startLineNumber:l,startColumn:1,endLineNumber:l,endColumn:r.startColumn}).trim().length>0,g=m?`
|
|
8
8
|
`:"";n.executeEdits(t,[{range:r,text:`${g}\`\`\`markdown
|
|
9
9
|
${a}
|
|
10
10
|
\`\`\``}]);const C=m?l+1:l;n.setSelection({startLineNumber:C,startColumn:4,endLineNumber:C,endColumn:12})}}n.focus()}}}function qe(t){return o=>{const n=o.editor.value;if(!n)return;const r=n.getSelection(),s=n.getModel();if(!r||!s)return;const l=r.startLineNumber,i=r.endLineNumber;if(fe(s,l,i))return;const d=["| Header | Header | Header |","| ------ | ------ | ------ |","| Cell | Cell | Cell |","| Cell | Cell | Cell |"].join(`
|
|
11
11
|
`);n.executeEdits(t,[{range:r,text:d+`
|
|
12
|
-
`}]);const c=l+4;n.setPosition({lineNumber:c,column:1}),n.focus()}}function fe(t,o,n){let r=0,s=0;for(let l=o-1;l>=1;l--)t.getLineContent(l).trimEnd().startsWith("```")&&(s++,s%2===1&&(r=l));if(r===0)return!1;for(let l=n+1;l<=t.getLineCount();l++)if(t.getLineContent(l).trimEnd().startsWith("```"))return!0;return!1}const He={format:{id:"editor.action.format",icon:x.CleaningIcon,label:"editor.labels.action_format",action:"editor.action.formatDocument",keybindings:["Shift","Alt","F"],placement:"left",order:1,group:1,showInContextMenu:!0,contextMenuGroupId:"formatting",contextMenuOrder:1},bold:{id:"editor.action.bold",icon:x.BoldIcon,label:"editor.labels.action_bold",action:W("**","bold"),keybindings:["Command","B"],placement:"left",group:2,order:1,showInContextMenu:!0,contextMenuGroupId:"formatting",contextMenuOrder:2,languages:["markdown","mdc"]},italic:{id:"editor.action.italic",icon:x.ItalicIcon,label:"editor.labels.action_italic",action:W("_","italic"),keybindings:["Command","I"],placement:"left",group:2,order:2,showInContextMenu:!0,contextMenuGroupId:"formatting",contextMenuOrder:3,languages:["markdown","mdc"]},strikethrough:{id:"editor.action.strikethrough",icon:x.StrikethroughIcon,label:"editor.labels.action_strikethrough",action:W("~~","strikethrough"),keybindings:["Command","Shift","X"],placement:"left",group:2,order:3,showInContextMenu:!0,contextMenuGroupId:"formatting",contextMenuOrder:4,languages:["markdown","mdc"]}},Ye={inlineCode:{id:"editor.action.inlineCode",icon:x.CodeIcon,label:"editor.labels.action_inline_code",action:W("`","inlineCode"),keybindings:["Command","E"],placement:"left",group:3,order:1,showInContextMenu:!0,contextMenuGroupId:"insert",contextMenuOrder:1,languages:["markdown","mdc"]},link:{id:"editor.action.link",icon:x.LinkIcon,label:"editor.labels.action_link",action:te("[","](url)","link","url"),keybindings:["Command","K"],placement:"left",group:3,order:2,showInContextMenu:!0,contextMenuGroupId:"insert",contextMenuOrder:2,languages:["markdown","mdc"]},image:{id:"editor.action.image",icon:x.ImageIcon,label:"editor.labels.action_image",action:te("","image","url"),keybindings:["Command","Shift","I"],placement:"left",group:3,order:3,showInContextMenu:!0,contextMenuGroupId:"insert",contextMenuOrder:3,languages:["markdown","mdc"]}},Xe={unorderedList:{id:"editor.action.unorderedList",icon:x.ListUnorderedIcon,label:"editor.labels.action_unordered_list",action:j("- ","unorderedList"),keybindings:[],placement:"left",group:4,order:1,showInContextMenu:!0,contextMenuGroupId:"list",contextMenuOrder:1,languages:["markdown","mdc"]},orderedList:{id:"editor.action.orderedList",icon:x.ListOrderedIcon,label:"editor.labels.action_ordered_list",action:j(t=>`${t}. `,"orderedList",/^\d+\.\s/),keybindings:[],placement:"left",group:4,order:2,showInContextMenu:!0,contextMenuGroupId:"list",contextMenuOrder:2,languages:["markdown","mdc"]},taskList:{id:"editor.action.taskList",icon:x.TasklistIcon,label:"editor.labels.action_task_list",action:j("- [ ] ","taskList"),keybindings:[],placement:"left",group:4,order:3,showInContextMenu:!0,contextMenuGroupId:"list",contextMenuOrder:3,languages:["markdown","mdc"]}},Ze={codeblock:{id:"editor.action.codeblock",icon:x.CodeblockIcon,label:"editor.labels.action_codeblock",action:ze("codeblock"),keybindings:[],placement:"left",group:5,order:1,showInContextMenu:!0,contextMenuGroupId:"block",contextMenuOrder:1,languages:["markdown","mdc"]},blockquote:{id:"editor.action.blockquote",icon:x.BlockquoteIcon,label:"editor.labels.action_blockquote",action:j("> ","blockquote"),keybindings:[],placement:"left",group:5,order:2,showInContextMenu:!0,contextMenuGroupId:"block",contextMenuOrder:2,languages:["markdown","mdc"]},table:{id:"editor.action.table",icon:x.TableIcon,label:"editor.labels.action_table",action:qe("table"),keybindings:[],placement:"left",group:5,order:3,showInContextMenu:!0,contextMenuGroupId:"block",contextMenuOrder:3,languages:["markdown","mdc"]}},Qe={search:{id:"editor.action.find",icon:x.SearchIcon,label:"editor.labels.action_search",action:t=>t.toggleSearchWidget(),keybindings:["Command","F"],placement:"right",order:10,group:2,showInContextMenu:!0,contextMenuGroupId:"navigation",contextMenuOrder:1}},Je={fullScreen:{id:"editor.action.fullScreen",icon:x.ExpandIcon,label:"editor.labels.action_fullscreen",action:t=>t.editor.value?.getContainerDomNode().requestFullscreen(),keybindings:["Ctrl","F11"],placement:"right",order:20,group:2,showInContextMenu:!0,contextMenuGroupId:"view",contextMenuOrder:1}},ne={...He,...Ye,...Xe,...Ze,...Qe,...Je},oe="left",Y=100,et="default";function tt(t,o){const{i18n:n}=_(),r=t&&typeof t=="object"?t.actions??{}:{},s=e.computed(()=>{const i=[],d=e.unref(o);for(const[c,u]of Object.entries(ne)){const f=r[c];f!==!1&&(u.languages&&d&&!u.languages.includes(d)||i.push({...u,label:n.t(u.label),...typeof f=="object"?f:{}}))}for(const[c,u]of Object.entries(r)){if(c in ne||u===!1||u==null)continue;const f={id:c,label:typeof u=="object"&&u.label?u.label:c,placement:oe,order:Y},a=typeof u=="object"?{...f,...u}:f;a.icon&&a.action&&i.push(a)}return i});function l(i){const d=new Map;return s.value.filter(c=>(c.placement??oe)===i).sort((c,u)=>(c.order??Y)-(u.order??Y)).forEach(c=>{const u=String(c.group??et);d.has(u)||d.set(u,[]),d.get(u).push(c)}),Array.from(d.values())}return{commands:s,leftGroups:e.computed(()=>l("left")),centerGroups:e.computed(()=>l("center")),rightGroups:e.computed(()=>l("right"))}}const nt={class:"monaco-editor-ui-toolbar-action-group","data-testid":"toolbar-overflow-group"},ot=5,rt=e.defineComponent({__name:"MonacoEditorToolbar",props:{editor:{default:null},settings:{type:[Boolean,Object]}},setup(t){const{i18n:o}=_(),n=e.useTemplateRef("toolbarEl"),r=e.useTemplateRef("leftSlotEl"),s=e.useTemplateRef("centerSlotEl"),l=e.useTemplateRef("rightSlotEl"),i=U(n),d=U(r),c=U(s),u=U(l),f=e.computed(()=>t.editor?.editorStates.currentLanguage??""),{commands:a,leftGroups:p,centerGroups:m,rightGroups:g}=tt(t.settings,f),C=e.shallowRef([]),b=e.ref(0),h=[],k=e.computed(()=>p.value.slice(C.value.length).flatMap((v,L)=>v.map((N,O)=>({...N,hasDivider:L>0&&O===0}))));e.watch(p,v=>{C.value=[...v],h.length=0},{immediate:!0});function w(){const v=n.value?.getBoundingClientRect().width??0;if(v===0)return;const L=r.value?.getBoundingClientRect().width??0,N=s.value?.getBoundingClientRect().width??0,O=l.value?.getBoundingClientRect().width??0,M=L+N+O+50;v<M&&C.value.length>0?(h.push(M),C.value=C.value.slice(0,-1),b.value++,e.nextTick(w)):h.length>0&&C.value.length<p.value.length&&v>h[h.length-1]+ot&&(h.pop(),C.value=[...C.value,p.value[C.value.length]],e.nextTick(w))}return e.watch(()=>t.editor?.editorStates.editorStatus,v=>{v==="ready"&&t.editor&&a.value.length>0&&t.editor.registerActions(a.value)},{immediate:!0}),e.watch([i.width,d.width,c.width,u.width],w),e.onMounted(async()=>await e.nextTick(w)),(v,L)=>{const N=e.resolveComponent("KDropdownItem"),O=e.resolveComponent("KDropdown");return e.openBlock(),e.createElementBlock("div",{ref_key:"toolbarEl",ref:n,class:"monaco-editor-ui-toolbar","data-testid":"monaco-editor-toolbar"},[e.createElementVNode("div",{ref_key:"leftSlotEl",ref:r,class:"monaco-editor-ui-toolbar-left","data-testid":"monaco-editor-toolbar-left"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(M,I)=>(e.openBlock(),e.createElementBlock("div",{key:I,class:"monaco-editor-ui-toolbar-action-group"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M,y=>(e.openBlock(),e.createBlock(G,{key:y.id,active:t.editor?.editorStates.editorStatus==="ready",item:{id:y.id,label:y.label,icon:y.icon,keybindings:y.keybindings,action:()=>e.unref(K)(y,t.editor)},placement:I===0?"bottom-start":"bottom"},null,8,["active","item","placement"]))),128))]))),128)),e.withDirectives(e.createElementVNode("div",nt,[(e.openBlock(),e.createBlock(O,{key:b.value,class:e.normalizeClass({"is-disabled":t.editor?.editorStates.editorStatus!=="ready"})},{items:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,M=>(e.openBlock(),e.createBlock(N,{key:M.id,"data-testid":`overflow-item-${M.id}`,"has-divider":M.hasDivider,onClick:I=>e.unref(K)(M,t.editor)},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.icon),{decorative:""})),e.createTextVNode(" "+e.toDisplayString(M.label),1)]),_:2},1032,["data-testid","has-divider","onClick"]))),128))]),default:e.withCtx(()=>[e.createVNode(G,{active:t.editor?.editorStates.editorStatus==="ready",item:{id:"more",label:e.unref(o).t("editor.labels.action_more"),icon:e.unref(x.MoreIcon)},placement:"bottom"},null,8,["active","item"])]),_:1},8,["class"]))],512),[[e.vShow,k.value.length]]),e.renderSlot(v.$slots,"toolbar-left",{},void 0,!0)],512),e.createElementVNode("div",{ref_key:"centerSlotEl",ref:s,class:"monaco-editor-ui-toolbar-center","data-testid":"monaco-editor-toolbar-center"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),(M,I)=>(e.openBlock(),e.createElementBlock("div",{key:I,class:"monaco-editor-ui-toolbar-action-group"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M,y=>(e.openBlock(),e.createBlock(G,{key:y.id,active:t.editor?.editorStates.editorStatus==="ready",item:{id:y.id,label:y.label,icon:y.icon,keybindings:y.keybindings,action:()=>e.unref(K)(y,t.editor)},placement:"bottom"},null,8,["active","item"]))),128))]))),128)),e.renderSlot(v.$slots,"toolbar-center",{},void 0,!0)],512),e.createElementVNode("div",{ref_key:"rightSlotEl",ref:l,class:"monaco-editor-ui-toolbar-right","data-testid":"monaco-editor-toolbar-right"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(M,I)=>(e.openBlock(),e.createElementBlock("div",{key:I,class:"monaco-editor-ui-toolbar-action-group"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M,y=>(e.openBlock(),e.createBlock(G,{key:y.id,active:t.editor?.editorStates.editorStatus==="ready",item:{id:y.id,label:y.label,icon:y.icon,keybindings:y.keybindings,action:()=>e.unref(K)(y,t.editor)},placement:I===e.unref(g).length-1?"bottom-end":"bottom"},null,8,["active","item","placement"]))),128))]))),128)),e.renderSlot(v.$slots,"toolbar-right",{},void 0,!0)],512)],512)}}}),at=P(rt,[["__scopeId","data-v-b6dd2107"]]),it=e.defineComponent({__name:"MonacoEditor",props:e.mergeModels({appearance:{default:"embedded"},theme:{default:"light"},language:{default:"markdown"},toolbar:{type:[Boolean,Object],default:!1},loading:{type:Boolean,default:!1},options:{default:()=>{}},showLoadingState:{type:Boolean,default:!0},showEmptyState:{type:Boolean,default:!0}},{modelValue:{type:String,required:!0},modelModifiers:{}}),emits:e.mergeModels(["ready"],["update:modelValue"]),setup(t,{expose:o,emit:n}){const r=parseInt(se,10),s=n,l=e.useModel(t,"modelValue"),{i18n:i}=_(),d=e.useTemplateRef("editorRef"),c=e.computed(()=>t.theme==="dark"?"dark":"light"),u=e.computed(()=>{if(t.appearance==="standalone"){const m=String(l.value.split(`
|
|
13
|
-
`).length).length;return{...t.options,padding:{top:r,bottom:r},lineNumbersMinChars:Math.max(B.lineNumbersMinChars,m)+2}}return{padding:{...B.padding},lineNumbersMinChars:B.lineNumbersMinChars,...t.options}}),
|
|
14
|
-
`).length,
|
|
15
|
-
`).length,m=String(Math.max(a,
|
|
12
|
+
`}]);const c=l+4;n.setPosition({lineNumber:c,column:1}),n.focus()}}function fe(t,o,n){let r=0,s=0;for(let l=o-1;l>=1;l--)t.getLineContent(l).trimEnd().startsWith("```")&&(s++,s%2===1&&(r=l));if(r===0)return!1;for(let l=n+1;l<=t.getLineCount();l++)if(t.getLineContent(l).trimEnd().startsWith("```"))return!0;return!1}const He={format:{id:"editor.action.format",icon:x.CleaningIcon,label:"editor.labels.action_format",action:"editor.action.formatDocument",keybindings:["Shift","Alt","F"],placement:"left",order:1,group:1,showInContextMenu:!0,contextMenuGroupId:"formatting",contextMenuOrder:1},bold:{id:"editor.action.bold",icon:x.BoldIcon,label:"editor.labels.action_bold",action:W("**","bold"),keybindings:["Command","B"],placement:"left",group:2,order:1,showInContextMenu:!0,contextMenuGroupId:"formatting",contextMenuOrder:2,languages:["markdown","mdc"]},italic:{id:"editor.action.italic",icon:x.ItalicIcon,label:"editor.labels.action_italic",action:W("_","italic"),keybindings:["Command","I"],placement:"left",group:2,order:2,showInContextMenu:!0,contextMenuGroupId:"formatting",contextMenuOrder:3,languages:["markdown","mdc"]},strikethrough:{id:"editor.action.strikethrough",icon:x.StrikethroughIcon,label:"editor.labels.action_strikethrough",action:W("~~","strikethrough"),keybindings:["Command","Shift","X"],placement:"left",group:2,order:3,showInContextMenu:!0,contextMenuGroupId:"formatting",contextMenuOrder:4,languages:["markdown","mdc"]}},Ye={inlineCode:{id:"editor.action.inlineCode",icon:x.CodeIcon,label:"editor.labels.action_inline_code",action:W("`","inlineCode"),keybindings:["Command","E"],placement:"left",group:3,order:1,showInContextMenu:!0,contextMenuGroupId:"insert",contextMenuOrder:1,languages:["markdown","mdc"]},link:{id:"editor.action.link",icon:x.LinkIcon,label:"editor.labels.action_link",action:ne("[","](url)","link","url"),keybindings:["Command","K"],placement:"left",group:3,order:2,showInContextMenu:!0,contextMenuGroupId:"insert",contextMenuOrder:2,languages:["markdown","mdc"]},image:{id:"editor.action.image",icon:x.ImageIcon,label:"editor.labels.action_image",action:ne("","image","url"),keybindings:["Command","Shift","I"],placement:"left",group:3,order:3,showInContextMenu:!0,contextMenuGroupId:"insert",contextMenuOrder:3,languages:["markdown","mdc"]}},Xe={unorderedList:{id:"editor.action.unorderedList",icon:x.ListUnorderedIcon,label:"editor.labels.action_unordered_list",action:j("- ","unorderedList"),keybindings:[],placement:"left",group:4,order:1,showInContextMenu:!0,contextMenuGroupId:"list",contextMenuOrder:1,languages:["markdown","mdc"]},orderedList:{id:"editor.action.orderedList",icon:x.ListOrderedIcon,label:"editor.labels.action_ordered_list",action:j(t=>`${t}. `,"orderedList",/^\d+\.\s/),keybindings:[],placement:"left",group:4,order:2,showInContextMenu:!0,contextMenuGroupId:"list",contextMenuOrder:2,languages:["markdown","mdc"]},taskList:{id:"editor.action.taskList",icon:x.TasklistIcon,label:"editor.labels.action_task_list",action:j("- [ ] ","taskList"),keybindings:[],placement:"left",group:4,order:3,showInContextMenu:!0,contextMenuGroupId:"list",contextMenuOrder:3,languages:["markdown","mdc"]}},Ze={codeblock:{id:"editor.action.codeblock",icon:x.CodeblockIcon,label:"editor.labels.action_codeblock",action:ze("codeblock"),keybindings:[],placement:"left",group:5,order:1,showInContextMenu:!0,contextMenuGroupId:"block",contextMenuOrder:1,languages:["markdown","mdc"]},blockquote:{id:"editor.action.blockquote",icon:x.BlockquoteIcon,label:"editor.labels.action_blockquote",action:j("> ","blockquote"),keybindings:[],placement:"left",group:5,order:2,showInContextMenu:!0,contextMenuGroupId:"block",contextMenuOrder:2,languages:["markdown","mdc"]},table:{id:"editor.action.table",icon:x.TableIcon,label:"editor.labels.action_table",action:qe("table"),keybindings:[],placement:"left",group:5,order:3,showInContextMenu:!0,contextMenuGroupId:"block",contextMenuOrder:3,languages:["markdown","mdc"]}},Qe={search:{id:"editor.action.find",icon:x.SearchIcon,label:"editor.labels.action_search",action:t=>t.toggleSearchWidget(),keybindings:["Command","F"],placement:"right",order:10,group:2,showInContextMenu:!0,contextMenuGroupId:"navigation",contextMenuOrder:1}},Je={fullScreen:{id:"editor.action.fullScreen",icon:x.ExpandIcon,label:"editor.labels.action_fullscreen",action:t=>t.editor.value?.getContainerDomNode().requestFullscreen(),keybindings:["Ctrl","F11"],placement:"right",order:20,group:2,showInContextMenu:!0,contextMenuGroupId:"view",contextMenuOrder:1}},oe={...He,...Ye,...Xe,...Ze,...Qe,...Je},re="left",Y=100,et="default";function tt(t,o){const{i18n:n}=_(),r=t&&typeof t=="object"?t.actions??{}:{},s=e.computed(()=>{const i=[],d=e.unref(o);for(const[c,u]of Object.entries(oe)){const p=r[c];p!==!1&&(u.languages&&d&&!u.languages.includes(d)||i.push({...u,label:n.t(u.label),...typeof p=="object"?p:{}}))}for(const[c,u]of Object.entries(r)){if(c in oe||u===!1||u==null)continue;const p={id:c,label:typeof u=="object"&&u.label?u.label:c,placement:re,order:Y},a=typeof u=="object"?{...p,...u}:p;a.icon&&a.action&&i.push(a)}return i});function l(i){const d=new Map;return s.value.filter(c=>(c.placement??re)===i).sort((c,u)=>(c.order??Y)-(u.order??Y)).forEach(c=>{const u=String(c.group??et);d.has(u)||d.set(u,[]),d.get(u).push(c)}),Array.from(d.values())}return{commands:s,leftGroups:e.computed(()=>l("left")),centerGroups:e.computed(()=>l("center")),rightGroups:e.computed(()=>l("right"))}}const nt={class:"monaco-editor-ui-toolbar-action-group","data-testid":"toolbar-overflow-group"},ot=5,rt=e.defineComponent({__name:"MonacoEditorToolbar",props:{editor:{default:null},settings:{type:[Boolean,Object]}},setup(t){const{i18n:o}=_(),n=e.useTemplateRef("toolbarEl"),r=e.useTemplateRef("leftSlotEl"),s=e.useTemplateRef("centerSlotEl"),l=e.useTemplateRef("rightSlotEl"),i=U(n),d=U(r),c=U(s),u=U(l),p=e.computed(()=>t.editor?.editorStates.currentLanguage??""),{commands:a,leftGroups:f,centerGroups:m,rightGroups:g}=tt(t.settings,p),C=e.shallowRef([]),b=e.ref(0),h=[],k=e.computed(()=>f.value.slice(C.value.length).flatMap((v,L)=>v.map((N,O)=>({...N,hasDivider:L>0&&O===0}))));e.watch(f,v=>{C.value=[...v],h.length=0},{immediate:!0});function w(){const v=n.value?.getBoundingClientRect().width??0;if(v===0)return;const L=r.value?.getBoundingClientRect().width??0,N=s.value?.getBoundingClientRect().width??0,O=l.value?.getBoundingClientRect().width??0,M=L+N+O+50;v<M&&C.value.length>0?(h.push(M),C.value=C.value.slice(0,-1),b.value++,e.nextTick(w)):h.length>0&&C.value.length<f.value.length&&v>h[h.length-1]+ot&&(h.pop(),C.value=[...C.value,f.value[C.value.length]],e.nextTick(w))}return e.watch(()=>t.editor?.editorStates.editorStatus,v=>{v==="ready"&&t.editor&&a.value.length>0&&t.editor.registerActions(a.value)},{immediate:!0}),e.watch([i.width,d.width,c.width,u.width],w),e.onMounted(async()=>await e.nextTick(w)),(v,L)=>{const N=e.resolveComponent("KDropdownItem"),O=e.resolveComponent("KDropdown");return e.openBlock(),e.createElementBlock("div",{ref_key:"toolbarEl",ref:n,class:"monaco-editor-ui-toolbar","data-testid":"monaco-editor-toolbar"},[e.createElementVNode("div",{ref_key:"leftSlotEl",ref:r,class:"monaco-editor-ui-toolbar-left","data-testid":"monaco-editor-toolbar-left"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,(M,I)=>(e.openBlock(),e.createElementBlock("div",{key:I,class:"monaco-editor-ui-toolbar-action-group"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M,y=>(e.openBlock(),e.createBlock(G,{key:y.id,active:t.editor?.editorStates.editorStatus==="ready",item:{id:y.id,label:y.label,icon:y.icon,keybindings:y.keybindings,action:()=>e.unref(K)(y,t.editor)},placement:I===0?"bottom-start":"bottom"},null,8,["active","item","placement"]))),128))]))),128)),e.withDirectives(e.createElementVNode("div",nt,[(e.openBlock(),e.createBlock(O,{key:b.value,class:e.normalizeClass({"is-disabled":t.editor?.editorStates.editorStatus!=="ready"})},{items:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,M=>(e.openBlock(),e.createBlock(N,{key:M.id,"data-testid":`overflow-item-${M.id}`,"has-divider":M.hasDivider,onClick:I=>e.unref(K)(M,t.editor)},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.icon),{decorative:""})),e.createTextVNode(" "+e.toDisplayString(M.label),1)]),_:2},1032,["data-testid","has-divider","onClick"]))),128))]),default:e.withCtx(()=>[e.createVNode(G,{active:t.editor?.editorStates.editorStatus==="ready",item:{id:"more",label:e.unref(o).t("editor.labels.action_more"),icon:e.unref(x.MoreIcon)},placement:"bottom"},null,8,["active","item"])]),_:1},8,["class"]))],512),[[e.vShow,k.value.length]]),e.renderSlot(v.$slots,"toolbar-left",{},void 0,!0)],512),e.createElementVNode("div",{ref_key:"centerSlotEl",ref:s,class:"monaco-editor-ui-toolbar-center","data-testid":"monaco-editor-toolbar-center"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),(M,I)=>(e.openBlock(),e.createElementBlock("div",{key:I,class:"monaco-editor-ui-toolbar-action-group"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M,y=>(e.openBlock(),e.createBlock(G,{key:y.id,active:t.editor?.editorStates.editorStatus==="ready",item:{id:y.id,label:y.label,icon:y.icon,keybindings:y.keybindings,action:()=>e.unref(K)(y,t.editor)},placement:"bottom"},null,8,["active","item"]))),128))]))),128)),e.renderSlot(v.$slots,"toolbar-center",{},void 0,!0)],512),e.createElementVNode("div",{ref_key:"rightSlotEl",ref:l,class:"monaco-editor-ui-toolbar-right","data-testid":"monaco-editor-toolbar-right"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(M,I)=>(e.openBlock(),e.createElementBlock("div",{key:I,class:"monaco-editor-ui-toolbar-action-group"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M,y=>(e.openBlock(),e.createBlock(G,{key:y.id,active:t.editor?.editorStates.editorStatus==="ready",item:{id:y.id,label:y.label,icon:y.icon,keybindings:y.keybindings,action:()=>e.unref(K)(y,t.editor)},placement:I===e.unref(g).length-1?"bottom-end":"bottom"},null,8,["active","item","placement"]))),128))]))),128)),e.renderSlot(v.$slots,"toolbar-right",{},void 0,!0)],512)],512)}}}),at=P(rt,[["__scopeId","data-v-b6dd2107"]]),it=e.defineComponent({__name:"MonacoEditor",props:e.mergeModels({appearance:{default:"embedded"},theme:{default:"light"},language:{default:"markdown"},toolbar:{type:[Boolean,Object],default:!1},loading:{type:Boolean,default:!1},options:{default:()=>{}},showLoadingState:{type:Boolean,default:!0},showEmptyState:{type:Boolean,default:!0}},{modelValue:{type:String,required:!0},modelModifiers:{}}),emits:e.mergeModels(["ready"],["update:modelValue"]),setup(t,{expose:o,emit:n}){const r=parseInt(ce,10),s=n,l=e.useModel(t,"modelValue"),{i18n:i}=_(),d=e.useTemplateRef("editorRef"),c=e.computed(()=>t.theme==="dark"?"dark":"light"),u=e.computed(()=>{if(t.appearance==="standalone"){const m=String(l.value.split(`
|
|
13
|
+
`).length).length;return{...t.options,padding:{top:r,bottom:r},lineNumbersMinChars:Math.max(B.lineNumbersMinChars,m)+2}}return{padding:{...B.padding},lineNumbersMinChars:B.lineNumbersMinChars,...t.options}}),p=ge(d,{language:t.language,code:l,theme:c.value,monacoOptions:u.value,onReady:m=>{s("ready",m)}}),a=e.computed(()=>t.loading||p.editorStates.editorStatus==="loading"),f=e.computed(()=>!a.value&&p.editorStates.editorStatus==="ready"&&!p.editorStates.hasContent);return o({monacoEditor:p}),e.watch(()=>t.language,(m,g)=>{m!==g&&p.setLanguage(m)}),e.watch([p.editor,u],([m,g])=>{m&&g&&m.updateOptions(g)},{deep:!0}),(m,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["monaco-editor-container",[t.appearance,c.value,{loading:a.value}]]),"data-testid":"monaco-editor-container"},[t.toolbar?(e.openBlock(),e.createBlock(at,{key:0,editor:e.unref(p),settings:t.toolbar},e.createSlots({_:2},[m.$slots["toolbar-left"]?{name:"toolbar-left",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"toolbar-left",{},void 0,!0)]),key:"0"}:void 0,m.$slots["toolbar-center"]?{name:"toolbar-center",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"toolbar-center",{},void 0,!0)]),key:"1"}:void 0,m.$slots["toolbar-right"]?{name:"toolbar-right",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"toolbar-right",{},void 0,!0)]),key:"2"}:void 0]),1032,["editor","settings"])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"editorRef",ref:d,class:"monaco-editor-target","data-testid":"monaco-editor-target"},null,512),t.showLoadingState?e.renderSlot(m.$slots,"state-loading",{isLoading:a.value},()=>[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createBlock(z,{key:0,"data-testid":"monaco-editor-status-overlay-loading",icon:e.unref(x.ProgressIcon),message:e.unref(i).t("editor.messages.loading_message",{type:t.language}),title:e.unref(i).t("editor.messages.loading_title",{type:t.language})},null,8,["icon","message","title"])):e.createCommentVNode("",!0)]),_:1})],!0,1):e.createCommentVNode("",!0),t.showEmptyState?e.renderSlot(m.$slots,"state-empty",{isEmpty:f.value},()=>[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(z,{key:0,"data-testid":"monaco-editor-status-overlay-empty",icon:e.unref(x.CodeblockIcon),message:e.unref(p).editorStates.readOnly?e.unref(i).t("editor.messages.empty_message_readonly"):e.unref(i).t("editor.messages.empty_message"),title:e.unref(i).t("editor.messages.empty_title")},null,8,["icon","message","title"])):e.createCommentVNode("",!0)]),_:1})],!0,2):e.createCommentVNode("",!0)],2))}}),lt=P(it,[["__scopeId","data-v-f3a56901"]]),q="[monaco-editor] [lifecycle]",D=new WeakMap,V=new Map,X=new WeakMap;function st(t){let o=D.get(t.source);if(!o){let n;switch(t.type){case"editor":n=t.source.onDidDispose(()=>le(t.source));break;case"model":n=t.source.onWillDispose(()=>le(t.source));break;default:throw new Error(`${q} Unknown scope: ${t}`)}o={disposables:new Set,scopeListener:n},D.set(t.source,o)}return o}function pe(t){const o=D.get(t);o&&(o.scopeListener.dispose(),D.delete(t))}function ae(t,o){st(o).disposables.add(t)}function ie(t,o){const n=D.get(o.source);n&&(n.disposables.delete(t),n.disposables.size===0&&pe(o.source))}function ct(t){const o=[];if(t.forEach(n=>{try{n.dispose()}catch(r){o.push(r)}}),o.length)throw new AggregateError(o,`${q} One or more disposables threw while being disposed.`)}function dt(t,o){let n=t,r=V.get(n);if(!r){const i=X.get(t);i&&(n=i,r=V.get(i))}if(r)return r.scope?.type===o?.type&&r.scope?.source===o?.source||(console.warn(`${q} Re-scoping a tracked disposable from`,r.scope,"to",o,".","The scope usually should not change after being tracked. This may sometimes indicate a programming error."),r.scope&&ie(r.decorated,r.scope),o?(ae(r.decorated,o),r.scope=o):r.scope=void 0),r.decorated;const s=n.dispose,l={dispose:()=>{const i=V.get(n);if(i)return i.scope&&ie(l,i.scope),V.delete(n),X.delete(l),s.call(n)}};return V.set(n,{decorated:l,scope:o}),X.set(l,n),o&&ae(l,o),l}function ut(t,o){return dt(o,{type:"model",source:t})}function le(t){const o=D.get(t);if(o){try{ct(Array.from(o.disposables))}catch(n){console.warn(`${q} Encountered errors while disposing scoped disposables:`,n,", Source:",t)}pe(t)}}function he(t,o){const n=e.shallowRef();let r,s,l,i=!1;const d=e.reactive({editorStatus:"loading",searchBoxIsRevealed:!1,hasContent:!1,theme:e.toValue(o.theme)||"light",currentLanguage:o.language||"",readOnly:!0}),c=a=>{for(const f of[r,s])f&&S.editor.setModelLanguage(f,a)},u=de(()=>S.editor.remeasureFonts(),200);return me(),e.watch([J,()=>e.toValue(t)],([a,f],[,m])=>{const g=e.toValue(f),C=e.toValue(m);if(!(g instanceof HTMLElement)||!a){i=!1;return}if(i&&C===g)return;r=Q(r,e.toValue(o.original),o.language,"diff-original"),s=Q(s,e.toValue(o.modified),o.language,"diff-modified");const b=Z(d.theme);S.editor.setTheme(b),n.value=S.editor.createDiffEditor(g,{...xe,theme:b,editContext:!1,...o.monacoOptions}),n.value.setModel({original:r,modified:s}),i=!0,d.editorStatus="ready",d.hasContent=!!e.toValue(o.modified),d.currentLanguage=s.getLanguageId(),l?.dispose(),l=ut(s,s.onDidChangeLanguage(h=>{d.currentLanguage=h.newLanguage})),o.onReady?.(n.value),u(),e.onWatcherCleanup(()=>{n.value?.setModel(null),n.value?.dispose()})},{immediate:!0,flush:"post"}),e.watch(()=>e.toValue(o.original),a=>{!r||!i||a!==r.getValue()&&r.setValue(a)}),e.watch(()=>e.toValue(o.modified),a=>{!s||!i||a!==s.getValue()&&(s.setValue(a),d.hasContent=!!a.length)}),e.watch(()=>e.toValue(o.theme),a=>{if(!i)return;const f=a||"light";f!==d.theme&&(d.theme=f,S.editor.setTheme(Z(f)))}),e.onMounted(u),e.onActivated(u),e.onBeforeUnmount(()=>{n.value?.setModel(null),n.value?.dispose(),r?.dispose(),s?.dispose(),r=void 0,s=void 0}),{diffEditor:n,editorStates:d,setLanguage:c,remeasureFonts:u}}const mt=e.defineComponent({__name:"MonacoDiffEditor",props:{original:{},modified:{},appearance:{default:"embedded"},theme:{default:"light"},language:{default:"markdown"},options:{default:()=>{}},loading:{type:Boolean,default:!1},showLoadingState:{type:Boolean,default:!0}},emits:["ready"],setup(t,{expose:o,emit:n}){const r=parseInt(ce,10),s=n,{i18n:l}=_(),i=e.useTemplateRef("editorRef"),d=e.computed(()=>t.theme==="dark"?"dark":"light"),c=e.computed(()=>{if(t.appearance==="standalone"){const a=t.original.split(`
|
|
14
|
+
`).length,f=t.modified.split(`
|
|
15
|
+
`).length,m=String(Math.max(a,f)).length;return{...t.options,padding:{top:r,bottom:r},lineNumbersMinChars:Math.max(B.lineNumbersMinChars,m)+2}}return{padding:{...B.padding},lineNumbersMinChars:B.lineNumbersMinChars,...t.options}}),u=he(i,{language:t.language,original:()=>t.original,modified:()=>t.modified,theme:()=>d.value,monacoOptions:c.value,onReady:a=>{s("ready",a)}}),p=e.computed(()=>t.loading||u.editorStates.editorStatus==="loading");return o({monacoDiffEditor:u}),e.watch(()=>t.language,(a,f)=>{a!==f&&u.setLanguage(a)}),e.watch([u.diffEditor,c],([a,f])=>{a&&f&&a.updateOptions(f)},{deep:!0}),(a,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["monaco-diff-editor-container",[t.appearance,d.value,{loading:p.value}]]),"data-testid":"monaco-diff-editor-container"},[e.createElementVNode("div",{ref_key:"editorRef",ref:i,class:"monaco-diff-editor-target","data-testid":"monaco-diff-editor-target"},null,512),t.showLoadingState?e.renderSlot(a.$slots,"state-loading",{isLoading:p.value},()=>[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[p.value?(e.openBlock(),e.createBlock(z,{key:0,"data-testid":"monaco-diff-editor-status-overlay-loading",icon:e.unref(x.ProgressIcon),message:e.unref(l).t("editor.messages.loading_message",{type:t.language}),title:e.unref(l).t("editor.messages.loading_title",{type:t.language})},null,8,["icon","message","title"])):e.createCommentVNode("",!0)]),_:1})],!0,0):e.createCommentVNode("",!0)],2))}}),gt=P(mt,[["__scopeId","data-v-5e6de429"]]);function ft(t){return async o=>(await Promise.all(t.map(r=>r(o)))).flat()}const pt=/^Invalid input:\s*/;function ht(t){return t.replace(pt,"")||t}function bt(t){return o=>{const n=t.safeParse(o);return n.success?[]:n.error.issues.map(r=>({message:ht(r.message),path:r.path,code:r.code}))}}exports.collectCodeLensProviders=A.collectCodeLensProviders;exports.collectCodeLenses=A.collectCodeLenses;exports.createCopyUUIDCodeLens=A.createCopyUUIDCodeLens;exports.createCopyValueCodeLens=A.createCopyValueCodeLens;exports.emptyCodeLensList=A.emptyCodeLensList;exports.uuidRe=A.uuidRe;exports.getModelContext=se.getModelContext;exports.invalidateModelContexts=se.invalidateModelContexts;exports.MonacoDiffEditor=gt;exports.MonacoEditor=lt;exports.MonacoEditorStatusOverlay=z;exports.collectValidators=ft;exports.createWrapAction=W;exports.createZodValidator=bt;exports.useMonacoDiffEditor=he;exports.useMonacoEditor=ge;
|