UNPKG

vue-shiki-monaco

Version:
3 lines 61.8 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("@shikijs/monaco"),require("monaco-editor-core"),require("shiki"),require("react")):"function"==typeof define&&define.amd?define(["exports","vue","@shikijs/monaco","monaco-editor-core","shiki","react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VueShikiMonaco={},e.Vue,e.monaco$1,e.monaco,e.shiki,e.react)}(this,function(e,t,o,r,a,i){"use strict";var n=document.createElement("style");function d(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const o in e)if("default"!==o){const r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:()=>e[o]})}return t.default=e,Object.freeze(t)}n.textContent='.context-menu[data-v-0d03bcc5]{position:fixed;z-index:10000;-webkit-user-select:none;user-select:none;pointer-events:auto}.context-menu .context-menu-content[data-v-0d03bcc5]{padding:var(--editor-spacing-sm);min-width:180px;max-width:250px;max-height:45vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}.context-menu .context-menu-content[data-v-0d03bcc5]::-webkit-scrollbar{width:6px}.context-menu .context-menu-content[data-v-0d03bcc5]::-webkit-scrollbar-track{background:transparent;border-radius:3px}.context-menu .context-menu-content[data-v-0d03bcc5]::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px;border:1px solid rgba(255,255,255,.1)}.context-menu .context-menu-content[data-v-0d03bcc5]::-webkit-scrollbar-thumb:hover{background:#00000040}.context-menu .context-menu-content[data-v-0d03bcc5]::-webkit-scrollbar-thumb:active{background:#00000059}.context-menu .context-menu-item[data-v-0d03bcc5]{display:flex;align-items:center;cursor:pointer;transition:all .1s ease;font-size:var(--editor-font-size-md);position:relative}.context-menu .context-menu-item.disabled[data-v-0d03bcc5]{opacity:.5;cursor:not-allowed}.context-menu .context-menu-item .menu-item-content[data-v-0d03bcc5]{display:flex;align-items:center;width:100%;gap:var(--editor-spacing-lg)}.context-menu .context-menu-item .menu-item-icon[data-v-0d03bcc5]{width:var(--editor-size-md);height:var(--editor-size-md);display:flex;align-items:center;justify-content:center;font-size:var(--editor-size-sm)}.context-menu .context-menu-item .menu-item-label[data-v-0d03bcc5]{flex:1;font-weight:500}.context-menu .context-menu-item .menu-item-shortcut[data-v-0d03bcc5]{font-size:11px;font-weight:400;margin-left:auto}.context-menu .context-menu-separator[data-v-0d03bcc5]{height:1px;margin:2px 4px}.context-menu--classic .context-menu-content[data-v-0d03bcc5]{background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.8);border-radius:8px;box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a;padding:var(--editor-spacing-sm)}.context-menu--classic .context-menu-item[data-v-0d03bcc5]{padding:5px 8px;border-radius:4px;color:#1e293b}.context-menu--classic .context-menu-item[data-v-0d03bcc5]:hover:not(.disabled){background:#3b82f614;color:#3b82f6}.context-menu--classic .context-menu-item.disabled[data-v-0d03bcc5]{color:#94a3b8}.context-menu--classic .context-menu-item .menu-item-content[data-v-0d03bcc5]{gap:var(--editor-spacing-lg)}.context-menu--classic .context-menu-item .menu-item-shortcut[data-v-0d03bcc5]{color:#94a3b8}.context-menu--classic .context-menu-separator[data-v-0d03bcc5]{background:#e2e8f099}.context-menu--glass.theme-light .context-menu-content[data-v-0d03bcc5]{background:#fff;-webkit-backdrop-filter:blur(30px) saturate(200%) brightness(1.1);backdrop-filter:blur(30px) saturate(200%) brightness(1.1);background-image:linear-gradient(135deg,#ffffff40,#ffffff1a,#ffffff0d);border:1px solid rgba(255,255,255,.4);border-radius:14px;box-shadow:0 8px 32px #0000002e,0 4px 16px #00000024,0 2px 8px #0000001f,inset 0 1px #fff9,inset 0 -1px #fff3;padding:var(--editor-spacing-sm)}.context-menu--glass.theme-light .context-menu-content[data-v-0d03bcc5]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);border-radius:14px 14px 0 0}.context-menu--glass.theme-light .context-menu-content[data-v-0d03bcc5]:after{content:"";position:absolute;bottom:-1px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.05),transparent);filter:blur(1px)}.context-menu--glass.theme-light .context-menu-item[data-v-0d03bcc5]{padding:6px 10px;border-radius:6px;color:#000000d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .2s cubic-bezier(.25,.46,.45,.94)}.context-menu--glass.theme-light .context-menu-item[data-v-0d03bcc5]:hover:not(.disabled){background:#0078ff1f;color:#007aff;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);transform:scale(1.02);box-shadow:inset 0 1px #ffffff4d,0 2px 8px #0078ff1a}.context-menu--glass.theme-light .context-menu-item:hover:not(.disabled) .menu-item-shortcut[data-v-0d03bcc5]{color:#0a84ff}.context-menu--glass.theme-light .context-menu-item.disabled[data-v-0d03bcc5]{opacity:.4;color:#0006}.context-menu--glass.theme-light .context-menu-item .menu-item-content[data-v-0d03bcc5]{gap:6px}.context-menu--glass.theme-light .context-menu-item .menu-item-shortcut[data-v-0d03bcc5]{color:#00000080;background:#0000000f;padding:2px 6px;border-radius:4px;border:1px solid rgba(255,255,255,.3);font-size:12px;font-weight:500}.context-menu--glass.theme-light .context-menu-separator[data-v-0d03bcc5]{background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent);margin:3px 8px;position:relative}.context-menu--glass.theme-light .context-menu-separator[data-v-0d03bcc5]:after{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent)}.context-menu--glass.theme-dark .context-menu-content[data-v-0d03bcc5]{background:#1c1c1e;-webkit-backdrop-filter:blur(30px) saturate(180%) brightness(1.2);backdrop-filter:blur(30px) saturate(180%) brightness(1.2);background-image:linear-gradient(135deg,#ffffff1a,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.15);border-radius:14px;box-shadow:0 8px 32px #00000021,0 4px 16px #0000001f,0 2px 8px #0000001c,inset 0 1px #ffffff26,inset 0 -1px #ffffff0d;padding:var(--editor-spacing-sm);scrollbar-color:rgba(255,255,255,.2) transparent}.context-menu--glass.theme-dark .context-menu-content[data-v-0d03bcc5]::-webkit-scrollbar-thumb{background:#fff3;border:1px solid rgba(0,0,0,.1)}.context-menu--glass.theme-dark .context-menu-content[data-v-0d03bcc5]::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.context-menu--glass.theme-dark .context-menu-content[data-v-0d03bcc5]::-webkit-scrollbar-thumb:active{background:#fff6}.context-menu--glass.theme-dark .context-menu-content[data-v-0d03bcc5]:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.context-menu--glass.theme-dark .context-menu-content[data-v-0d03bcc5]:after{background:linear-gradient(90deg,transparent,rgba(0,0,0,.2),transparent)}.context-menu--glass.theme-dark .context-menu-item[data-v-0d03bcc5]{padding:6px 10px;border-radius:6px;color:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .2s cubic-bezier(.25,.46,.45,.94)}.context-menu--glass.theme-dark .context-menu-item[data-v-0d03bcc5]:hover:not(.disabled){background:#0a84ff33;color:#0a84ff;-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);transform:scale(1.02);box-shadow:inset 0 1px #ffffff26,0 2px 8px #0a84ff33}.context-menu--glass.theme-dark .context-menu-item:hover:not(.disabled) .menu-item-shortcut[data-v-0d03bcc5]{color:#0a84ff}.context-menu--glass.theme-dark .context-menu-item.disabled[data-v-0d03bcc5]{opacity:.4;color:#fff6}.context-menu--glass.theme-dark .context-menu-item .menu-item-content[data-v-0d03bcc5]{gap:6px}.context-menu--glass.theme-dark .context-menu-item .menu-item-shortcut[data-v-0d03bcc5]{color:#fff9;background:#ffffff14;padding:2px 6px;border-radius:4px;border:1px solid rgba(255,255,255,.1);font-size:12px;font-weight:500}.context-menu--glass.theme-dark .context-menu-separator[data-v-0d03bcc5]{background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);margin:3px 8px}.context-menu--glass.theme-dark .context-menu-separator[data-v-0d03bcc5]:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}@keyframes contextMenuShow-0d03bcc5{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes contextMenuShowUp-0d03bcc5{0%{opacity:0;transform:scale(.95) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes contextMenuShowGlass-0d03bcc5{0%{opacity:0;transform:scale(.88) translateY(-12px);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}60%{opacity:.8;transform:scale(1.02) translateY(-2px);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}80%{transform:scale(.99) translateY(1px)}to{opacity:1;transform:scale(1) translateY(0);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}}@keyframes contextMenuShowGlassUp-0d03bcc5{0%{opacity:0;transform:scale(.88) translateY(12px);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}60%{opacity:.8;transform:scale(1.02) translateY(2px);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}80%{transform:scale(.99) translateY(-1px)}to{opacity:1;transform:scale(1) translateY(0);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}}.context-menu--classic.context-menu--direction-up .context-menu-content[data-v-0d03bcc5]{animation:contextMenuShowUp-0d03bcc5 .15s cubic-bezier(.4,0,.2,1)}.context-menu--classic.context-menu--direction-down .context-menu-content[data-v-0d03bcc5]{animation:contextMenuShow-0d03bcc5 .15s cubic-bezier(.4,0,.2,1)}.context-menu--glass.context-menu--direction-up .context-menu-content[data-v-0d03bcc5]{animation:contextMenuShowGlassUp-0d03bcc5 .25s cubic-bezier(.2,0,.13,1.5)}.context-menu--glass.context-menu--direction-down .context-menu-content[data-v-0d03bcc5]{animation:contextMenuShowGlass-0d03bcc5 .25s cubic-bezier(.2,0,.13,1.5)}@media (prefers-color-scheme: dark){.context-menu--classic .context-menu-content[data-v-0d03bcc5]{background:#1e293bf2;border:1px solid rgba(71,85,105,.8)}.context-menu--classic .context-menu-item[data-v-0d03bcc5]{color:#f8fafc}.context-menu--classic .context-menu-item[data-v-0d03bcc5]:hover:not(.disabled){background:#3b82f61f;color:#60a5fa}.context-menu--classic .context-menu-item.disabled[data-v-0d03bcc5],.context-menu--classic .context-menu-item .menu-item-shortcut[data-v-0d03bcc5]{color:#64748b}.context-menu--classic .context-menu-separator[data-v-0d03bcc5]{background:#47556999}}.editor-toolbar[data-v-402c9a54]{-webkit-backdrop-filter:var(--editor-blur-sm);backdrop-filter:var(--editor-blur-sm);padding:var(--editor-spacing-lg) var(--editor-spacing-2xl);display:flex;align-items:center;justify-content:space-between;min-height:var(--editor-size-3xl);position:relative;border-radius:var(--editor-radius-md) var(--editor-radius-md) 0 0}.editor-toolbar .default-toolbar[data-v-402c9a54]{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--editor-spacing-3xl)}.editor-toolbar .default-toolbar .toolbar-left[data-v-402c9a54]{display:flex;align-items:center;flex:1}.editor-toolbar .default-toolbar .toolbar-left .file-info[data-v-402c9a54]{display:flex;align-items:center;gap:var(--editor-spacing-lg)}.editor-toolbar .default-toolbar .toolbar-left .file-info .file-name[data-v-402c9a54]{font-size:var(--editor-font-size-md);font-weight:500;font-family:var(--editor-font-mono)}.editor-toolbar .default-toolbar .toolbar-left .file-info .file-language[data-v-402c9a54]{font-size:var(--editor-font-size-xs);font-weight:600;padding:var(--editor-spacing-xs) var(--editor-spacing-md);border-radius:var(--editor-radius-md);text-transform:uppercase;letter-spacing:.5px;border:1px solid}.editor-toolbar .default-toolbar .toolbar-right[data-v-402c9a54]{display:flex;align-items:center;gap:var(--editor-spacing-sm)}.editor-toolbar .default-toolbar .toolbar-right .toolbar-btn[data-v-402c9a54]{display:flex;align-items:center;justify-content:center;width:var(--editor-size-2xl);height:var(--editor-size-2xl);background:transparent;border:none;border-radius:var(--editor-radius-md);cursor:pointer;transition:all var(--editor-duration-normal) var(--editor-ease-smooth);position:relative}.editor-toolbar .default-toolbar .toolbar-right .toolbar-btn[data-v-402c9a54]:focus-visible{outline:2px solid;outline-offset:2px}.editor-toolbar .default-toolbar .toolbar-right .toolbar-btn svg[data-v-402c9a54]{width:var(--editor-size-2xl);height:var(--editor-size-2xl);stroke-width:3}.editor-toolbar.theme-light[data-v-402c9a54]{background:var(--editor-color-bg-light);border:1px solid var(--editor-color-white-alpha-40);box-shadow:var(--editor-shadow-toolbar-light)}.editor-toolbar.theme-light[data-v-402c9a54]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--editor-color-white-alpha-70),transparent);border-radius:var(--editor-radius-md) var(--editor-radius-md) 0 0}.editor-toolbar.theme-light .file-name[data-v-402c9a54]{color:var(--editor-color-black-alpha-85)}.editor-toolbar.theme-light .file-language[data-v-402c9a54]{color:var(--editor-color-green-light);background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#0596694d;box-shadow:0 1px 2px #0596691a}.editor-toolbar.theme-light .toolbar-btn[data-v-402c9a54]{color:var(--editor-text-primary);background:var(--editor-color-white-alpha-5);border:1px solid var(--editor-color-black-alpha-10)}.editor-toolbar.theme-light .toolbar-btn[data-v-402c9a54]:hover{background:var(--editor-color-blue-alpha-8);color:var(--editor-color-blue-light);box-shadow:0 2px 8px #0078ff1a;border:1px solid var(--editor-color-blue-alpha-15);transform:scale(1.05)}.editor-toolbar.theme-light .toolbar-btn[data-v-402c9a54]:active{background:var(--editor-color-blue-alpha-12);transform:scale(.98)}.editor-toolbar.theme-light .toolbar-btn[data-v-402c9a54]:focus-visible{outline-color:var(--editor-color-blue-light)}.editor-toolbar.theme-dark[data-v-402c9a54]{--editor-text-primary: #f8fafc;--editor-text-secondary: #e2e8f0;--editor-text-tertiary: #cbd5e1;--editor-text-muted: #94a3b8;--editor-text-disabled: #64748b;background:var(--editor-color-bg-dark);-webkit-backdrop-filter:var(--editor-blur-2xl) saturate(180%) brightness(1.2);backdrop-filter:var(--editor-blur-2xl) saturate(180%) brightness(1.2);background-image:linear-gradient(135deg,var(--editor-color-white-alpha-10) 0%,var(--editor-color-white-alpha-5) 50%,rgba(255,255,255,.02) 100%);border:1px solid var(--editor-color-white-alpha-15);box-shadow:var(--editor-shadow-toolbar-dark)}.editor-toolbar.theme-dark[data-v-402c9a54]:before{background:linear-gradient(90deg,transparent,var(--editor-color-white-alpha-20),transparent)}.editor-toolbar.theme-dark .file-name[data-v-402c9a54]{color:var(--editor-color-white-alpha-90)}.editor-toolbar.theme-dark .file-language[data-v-402c9a54]{color:var(--editor-color-green-dark);background:var(--editor-color-white-alpha-8);border-color:var(--editor-color-white-alpha-10);box-shadow:0 1px 2px #10b9811a}.editor-toolbar.theme-dark .toolbar-btn[data-v-402c9a54]{color:var(--editor-text-primary);background:var(--editor-color-white-alpha-8);border:1px solid var(--editor-color-white-alpha-15);-webkit-backdrop-filter:var(--editor-blur-lg);backdrop-filter:var(--editor-blur-lg);transition:all var(--editor-duration-slow) var(--editor-ease-spring)}.editor-toolbar.theme-dark .toolbar-btn[data-v-402c9a54]:hover{background:var(--editor-success-hover);border:1px solid var(--editor-color-blue-alpha-30);-webkit-backdrop-filter:var(--editor-blur-xl);backdrop-filter:var(--editor-blur-xl);transform:scale(1.02);box-shadow:var(--editor-shadow-hover-dark)}.editor-toolbar.theme-dark .toolbar-btn[data-v-402c9a54]:active{background:var(--editor-success-active);transform:scale(.98)}.editor-toolbar.theme-dark .toolbar-btn[data-v-402c9a54]:focus-visible{outline-color:var(--editor-color-blue-dark)}body{--editor-radius-xs: 2px;--editor-radius-sm: 4px;--editor-radius-md: 6px;--editor-radius-lg: 8px;--editor-radius-xl: 12px;--editor-radius-2xl: 14px;--editor-radius-3xl: 16px;--editor-spacing-xs: 2px;--editor-spacing-sm: 4px;--editor-spacing-md: 6px;--editor-spacing-lg: 8px;--editor-spacing-xl: 10px;--editor-spacing-2xl: 12px;--editor-spacing-3xl: 16px;--editor-spacing-4xl: 20px;--editor-spacing-5xl: 24px;--editor-font-size-xs: 10px;--editor-font-size-sm: 11px;--editor-font-size-base: 12px;--editor-font-size-md: 13px;--editor-font-size-lg: 14px;--editor-font-size-xl: 16px;--editor-font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--editor-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--editor-size-xs: 12px;--editor-size-sm: 14px;--editor-size-md: 16px;--editor-size-lg: 20px;--editor-size-xl: 24px;--editor-size-2xl: 28px;--editor-size-3xl: 32px;--editor-size-4xl: 36px;--editor-blur-xs: blur(4px);--editor-blur-sm: blur(8px);--editor-blur-md: blur(12px);--editor-blur-lg: blur(16px);--editor-blur-xl: blur(20px);--editor-blur-2xl: blur(25px);--editor-blur-3xl: blur(30px);--editor-ease-spring: cubic-bezier(.25, .46, .45, .94);--editor-ease-bounce: cubic-bezier(.2, 0, .13, 1.5);--editor-ease-smooth: cubic-bezier(.4, 0, .2, 1);--editor-ease-sharp: cubic-bezier(.4, 0, .6, 1);--editor-duration-fast: .1s;--editor-duration-normal: .2s;--editor-duration-slow: .3s;--editor-bg-primary: #ffffff;--editor-bg-secondary: #f8fafc;--editor-bg-tertiary: #f1f5f9;--editor-bg-elevated: rgba(255, 255, 255, .95);--editor-bg-overlay: rgba(255, 255, 255, .85);--editor-text-primary: #1e293b;--editor-text-secondary: #64748b;--editor-text-tertiary: #94a3b8;--editor-text-muted: #cbd5e1;--editor-text-disabled: #e2e8f0;--editor-text-inverse: #ffffff;--editor-border-primary: #e2e8f0;--editor-border-secondary: #cbd5e1;--editor-border-focus: #3b82f6;--editor-border-error: #ef4444;--editor-border-success: #10b981;--editor-border-warning: #f59e0b;--editor-primary: #3b82f6;--editor-primary-hover: #2563eb;--editor-primary-active: #1d4ed8;--editor-primary-light: #dbeafe;--editor-primary-lighter: #eff6ff;--editor-secondary: #6366f1;--editor-secondary-hover: #4f46e5;--editor-secondary-active: #4338ca;--editor-secondary-light: #e0e7ff;--editor-secondary-lighter: #f0f4ff;--editor-success: #10b981;--editor-success-hover: #059669;--editor-success-active: #047857;--editor-success-light: #d1fae5;--editor-success-lighter: #ecfdf5;--editor-warning: #f59e0b;--editor-warning-hover: #d97706;--editor-warning-active: #b45309;--editor-warning-light: #fef3c7;--editor-warning-lighter: #fffbeb;--editor-error: #ef4444;--editor-error-hover: #dc2626;--editor-error-active: #b91c1c;--editor-error-light: #fecaca;--editor-error-lighter: #fef2f2;--editor-info: #06b6d4;--editor-info-hover: #0891b2;--editor-info-active: #0e7490;--editor-info-light: #cffafe;--editor-info-lighter: #f0fdff;--editor-alpha-50: rgba(255, 255, 255, .5);--editor-alpha-60: rgba(255, 255, 255, .6);--editor-alpha-70: rgba(255, 255, 255, .7);--editor-alpha-80: rgba(255, 255, 255, .8);--editor-alpha-90: rgba(255, 255, 255, .9);--editor-alpha-95: rgba(255, 255, 255, .95);--editor-alpha-black-5: rgba(0, 0, 0, .05);--editor-alpha-black-10: rgba(0, 0, 0, .1);--editor-alpha-black-15: rgba(0, 0, 0, .15);--editor-alpha-black-20: rgba(0, 0, 0, .2);--editor-alpha-black-30: rgba(0, 0, 0, .3);--editor-alpha-black-40: rgba(0, 0, 0, .4);--editor-alpha-black-50: rgba(0, 0, 0, .5);--editor-primary-alpha-5: rgba(59, 130, 246, .05);--editor-primary-alpha-8: rgba(59, 130, 246, .08);--editor-primary-alpha-10: rgba(59, 130, 246, .1);--editor-primary-alpha-12: rgba(59, 130, 246, .12);--editor-primary-alpha-15: rgba(59, 130, 246, .15);--editor-primary-alpha-20: rgba(59, 130, 246, .2);--editor-primary-alpha-25: rgba(59, 130, 246, .25);--editor-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--editor-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--editor-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--editor-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--editor-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--editor-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--editor-shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--editor-shadow-outline: 0 0 0 3px rgba(59, 130, 246, .1);--editor-shadow-glass: 0 8px 32px rgba(0, 0, 0, .12), 0 4px 16px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .06), inset 0 1px 0 rgba(255, 255, 255, .6), inset 0 -1px 0 rgba(255, 255, 255, .2);--editor-shadow-toolbar: 0 4px 16px rgba(0, 0, 0, .06), 0 2px 8px rgba(0, 0, 0, .04), inset 0 1px 0 rgba(255, 255, 255, .6), inset 0 -1px 0 rgba(255, 255, 255, .2);--editor-shadow-menu: 0 8px 24px rgba(0, 0, 0, .12), 0 4px 12px rgba(0, 0, 0, .08), 0 2px 6px rgba(0, 0, 0, .06);--editor-shadow-hover: inset 0 1px 0 rgba(255, 255, 255, .3), 0 2px 8px rgba(59, 130, 246, .15);--editor-border-radius: var(--editor-radius-lg);--editor-border-color: var(--editor-border-primary);--editor-bg: var(--editor-bg-primary);--editor-toolbar-bg: var(--editor-bg-secondary);--editor-toolbar-border: var(--editor-border-primary);--editor-toolbar-border-bottom: var(--editor-border-secondary);--editor-shadow: var(--editor-shadow-sm);--editor-shadow-hover: var(--editor-shadow-lg);--editor-toolbar-shadow: var(--editor-shadow-toolbar);--toolbar-bg: var(--editor-bg-elevated);--toolbar-border: var(--editor-border-primary);--text-primary: var(--editor-text-primary);--text-secondary: var(--editor-text-secondary);--text-muted: var(--editor-text-tertiary);--accent-color: var(--editor-primary);--accent-light: var(--editor-primary-light);--btn-hover: var(--editor-primary-alpha-8);--btn-active: var(--editor-primary-alpha-12);--spacing-xs: var(--editor-spacing-xs);--spacing-sm: var(--editor-spacing-sm);--spacing-md: var(--editor-spacing-md);--spacing-lg: var(--editor-spacing-lg);--spacing-xl: var(--editor-spacing-xl);--spacing-2xl: var(--editor-spacing-2xl);--spacing-3xl: var(--editor-spacing-3xl);--size-xs: var(--editor-size-xs);--size-sm: var(--editor-size-sm);--size-md: var(--editor-size-md);--size-lg: var(--editor-size-lg);--size-xl: var(--editor-size-xl);--size-2xl: var(--editor-size-2xl);--size-3xl: var(--editor-size-3xl);--font-size-xs: var(--editor-font-size-xs);--font-size-sm: var(--editor-font-size-sm);--font-size-base: var(--editor-font-size-base);--font-size-md: var(--editor-font-size-md);--font-size-lg: var(--editor-font-size-lg);--font-mono: var(--editor-font-mono);--border-radius: var(--editor-radius-md);--border-radius-md: var(--editor-radius-md);--blur-sm: var(--editor-blur-sm);--blur-md: var(--editor-blur-md);--blur-lg: var(--editor-blur-lg);--blur-xl: var(--editor-blur-xl);--blur-2xl: var(--editor-blur-2xl);--ease-spring: var(--editor-ease-spring);--editor-color-bg-light: var(--editor-bg-elevated);--editor-color-bg-dark: rgba(28, 28, 30, 1);--editor-color-white-alpha-15: rgba(255, 255, 255, .15);--editor-color-white-alpha-20: rgba(255, 255, 255, .2);--editor-color-white-alpha-40: rgba(255, 255, 255, .4);--editor-color-white-alpha-70: rgba(255, 255, 255, .7);--editor-color-white-alpha-90: rgba(255, 255, 255, .9);--editor-color-white-alpha-10: rgba(255, 255, 255, .1);--editor-color-white-alpha-5: rgba(255, 255, 255, .05);--editor-color-white-alpha-8: rgba(255, 255, 255, .08);--editor-color-black-alpha-60: rgba(0, 0, 0, .6);--editor-color-black-alpha-85: rgba(0, 0, 0, .85);--editor-color-blue-light: #007aff;--editor-color-blue-dark: #0a84ff;--editor-color-blue-alpha-8: rgba(59, 130, 246, .08);--editor-color-blue-alpha-10: rgba(59, 130, 246, .1);--editor-color-blue-alpha-12: rgba(59, 130, 246, .12);--editor-color-blue-alpha-20: rgba(10, 132, 255, .2);--editor-color-blue-alpha-25: rgba(10, 132, 255, .25);--editor-color-green-light: #059669;--editor-color-green-dark: #34d399;--editor-shadow-toolbar-light: var(--editor-shadow-toolbar);--editor-shadow-toolbar-dark: 0 8px 32px rgba(0, 0, 0, .5), 0 4px 16px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(255, 255, 255, .05);--editor-shadow-hover-dark: inset 0 1px 0 rgba(255, 255, 255, .15), 0 2px 8px rgba(96, 165, 250, .3)}body.dark{--editor-bg-primary: #0f172a;--editor-bg-secondary: #1e293b;--editor-bg-tertiary: #334155;--editor-bg-elevated: rgba(15, 23, 42, .95);--editor-bg-overlay: rgba(15, 23, 42, .85);--editor-text-primary: #f8fafc;--editor-text-secondary: #e2e8f0;--editor-text-tertiary: #cbd5e1;--editor-text-muted: #94a3b8;--editor-text-disabled: #64748b;--editor-text-inverse: #0f172a;--editor-border-primary: #334155;--editor-border-secondary: #475569;--editor-border-focus: #60a5fa;--editor-border-error: #f87171;--editor-border-success: #34d399;--editor-border-warning: #fbbf24;--editor-primary: #60a5fa;--editor-primary-hover: #3b82f6;--editor-primary-active: #2563eb;--editor-primary-light: rgba(96, 165, 250, .1);--editor-primary-lighter: rgba(96, 165, 250, .05);--editor-secondary: #818cf8;--editor-secondary-hover: #6366f1;--editor-secondary-active: #4f46e5;--editor-secondary-light: rgba(129, 140, 248, .1);--editor-secondary-lighter: rgba(129, 140, 248, .05);--editor-success: #34d399;--editor-success-hover: #10b981;--editor-success-active: #059669;--editor-success-light: rgba(52, 211, 153, .1);--editor-success-lighter: rgba(52, 211, 153, .05);--editor-warning: #fbbf24;--editor-warning-hover: #f59e0b;--editor-warning-active: #d97706;--editor-warning-light: rgba(251, 191, 36, .1);--editor-warning-lighter: rgba(251, 191, 36, .05);--editor-error: #f87171;--editor-error-hover: #ef4444;--editor-error-active: #dc2626;--editor-error-light: rgba(248, 113, 113, .1);--editor-error-lighter: rgba(248, 113, 113, .05);--editor-info: #22d3ee;--editor-info-hover: #06b6d4;--editor-info-active: #0891b2;--editor-info-light: rgba(34, 211, 238, .1);--editor-info-lighter: rgba(34, 211, 238, .05);--editor-alpha-50: rgba(15, 23, 42, .5);--editor-alpha-60: rgba(15, 23, 42, .6);--editor-alpha-70: rgba(15, 23, 42, .7);--editor-alpha-80: rgba(15, 23, 42, .8);--editor-alpha-90: rgba(15, 23, 42, .9);--editor-alpha-95: rgba(15, 23, 42, .95);--editor-alpha-white-5: rgba(255, 255, 255, .05);--editor-alpha-white-10: rgba(255, 255, 255, .1);--editor-alpha-white-15: rgba(255, 255, 255, .15);--editor-alpha-white-20: rgba(255, 255, 255, .2);--editor-alpha-white-25: rgba(255, 255, 255, .25);--editor-alpha-white-30: rgba(255, 255, 255, .3);--editor-alpha-white-40: rgba(255, 255, 255, .4);--editor-primary-alpha-5: rgba(96, 165, 250, .05);--editor-primary-alpha-8: rgba(96, 165, 250, .08);--editor-primary-alpha-10: rgba(96, 165, 250, .1);--editor-primary-alpha-12: rgba(96, 165, 250, .12);--editor-primary-alpha-15: rgba(96, 165, 250, .15);--editor-primary-alpha-20: rgba(96, 165, 250, .2);--editor-primary-alpha-25: rgba(96, 165, 250, .25);--editor-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--editor-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px 0 rgba(0, 0, 0, .2);--editor-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .2);--editor-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .3);--editor-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .4);--editor-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .8);--editor-shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .4);--editor-shadow-outline: 0 0 0 3px rgba(96, 165, 250, .3);--editor-shadow-glass: 0 8px 32px rgba(0, 0, 0, .6), 0 4px 16px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(255, 255, 255, .05);--editor-shadow-toolbar: 0 8px 32px rgba(0, 0, 0, .5), 0 4px 16px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(255, 255, 255, .05);--editor-shadow-menu: 0 8px 24px rgba(0, 0, 0, .6), 0 4px 12px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .3);--editor-shadow-hover: inset 0 1px 0 rgba(255, 255, 255, .15), 0 2px 8px rgba(96, 165, 250, .3);--editor-border-color: var(--editor-border-primary);--editor-bg: var(--editor-bg-primary);--editor-toolbar-bg: var(--editor-bg-secondary);--editor-toolbar-border: var(--editor-border-primary);--editor-toolbar-border-bottom: var(--editor-border-secondary);--toolbar-bg: var(--editor-bg-elevated);--toolbar-border: var(--editor-border-primary);--text-primary: var(--editor-text-primary);--text-secondary: var(--editor-text-secondary);--text-muted: var(--editor-text-tertiary);--accent-color: var(--editor-primary);--accent-light: var(--editor-primary-light);--btn-hover: var(--editor-primary-alpha-8);--btn-active: var(--editor-primary-alpha-12)}body.dark .context-menu .context-menu-content{background:var(--editor-bg-elevated);border-color:var(--editor-border-primary)}body.dark .context-menu .context-menu-item{color:var(--editor-text-primary)}body.dark .context-menu .context-menu-item:hover:not(.disabled){background:var(--editor-primary-alpha-8);color:var(--editor-primary)}body.dark .context-menu .context-menu-item.disabled,body.dark .context-menu .context-menu-item .menu-item-shortcut{color:var(--editor-text-disabled)}body.dark .context-menu .context-menu-separator{background:var(--editor-border-primary)}.monaco-editor-wrapper[data-v-030be5a9]{border-radius:var(--editor-radius-lg);overflow:visible;background:var(--editor-bg-primary);box-shadow:var(--editor-shadow-sm);transition:box-shadow var(--editor-duration-normal) var(--editor-ease-smooth);position:relative;border:1px solid var(--editor-border-primary)}.monaco-editor-wrapper .monaco-editor[data-v-030be5a9]{min-height:300px;background:var(--editor-bg-primary);overflow:hidden;box-sizing:border-box;outline:none!important;border-radius:0 0 var(--editor-radius-lg) var(--editor-radius-lg)}.monaco-editor-wrapper .noHeader[data-v-030be5a9]{border-radius:var(--editor-radius-lg)}.monaco-editor-wrapper .toolbar-btn[data-v-030be5a9]{display:flex;align-items:center;justify-content:center;width:var(--editor-size-2xl);height:var(--editor-size-2xl);background:transparent;border:none;border-radius:var(--editor-radius-md);cursor:pointer;transition:all var(--editor-duration-normal) var(--editor-ease-smooth);position:relative}.monaco-editor-wrapper .toolbar-btn[data-v-030be5a9]:focus-visible{outline:2px solid;outline-offset:2px}.monaco-editor-wrapper .toolbar-btn svg[data-v-030be5a9]{width:var(--editor-size-2xl);height:var(--editor-size-2xl);stroke-width:3}.monaco-editor-wrapper[data-v-030be5a9] .decorationsOverviewRuler{display:none!important}.monaco-editor-diff-wrapper.theme-light .diff-info.file-language[data-v-030be5a9]{color:var(--editor-text-primary);font-size:var(--editor-font-size-lg)}.monaco-editor-diff-wrapper.theme-light .toolbar-btn[data-v-030be5a9]{color:var(--editor-text-primary)}.monaco-editor-diff-wrapper.theme-light .toolbar-btn[data-v-030be5a9]:hover{background:var(--editor-color-blue-alpha-8);color:var(--editor-color-blue-light);box-shadow:0 2px 8px #0078ff1a;border:1px solid var(--editor-color-blue-alpha-15);transform:scale(1.05)}.monaco-editor-diff-wrapper.theme-light .toolbar-btn[data-v-030be5a9]:active{background:var(--editor-color-blue-alpha-12);transform:scale(.98)}.monaco-editor-diff-wrapper.theme-light .toolbar-btn[data-v-030be5a9]:focus-visible{outline-color:var(--editor-color-blue-light)}.monaco-editor-diff-wrapper.theme-light[data-v-030be5a9] .diffOverview{background:var(--editor-color-bg-light)!important}.monaco-editor-diff-wrapper.theme-dark .diff-info.file-language[data-v-030be5a9]{color:var(--editor-text-primary);font-size:var(--editor-font-size-lg)}.monaco-editor-diff-wrapper.theme-dark .toolbar-btn[data-v-030be5a9]{color:var(--editor-text-primary);-webkit-backdrop-filter:var(--editor-blur-lg);backdrop-filter:var(--editor-blur-lg);transition:all var(--editor-duration-slow) var(--editor-ease-spring)}.monaco-editor-diff-wrapper.theme-dark .toolbar-btn[data-v-030be5a9]:hover{background:var(--editor-success-hover);border:1px solid var(--editor-color-blue-alpha-30);-webkit-backdrop-filter:var(--editor-blur-xl);backdrop-filter:var(--editor-blur-xl);transform:scale(1.02);box-shadow:var(--editor-shadow-hover-dark)}.monaco-editor-diff-wrapper.theme-dark .toolbar-btn[data-v-030be5a9]:active{background:var(--editor-success-active);transform:scale(.98)}.monaco-editor-diff-wrapper.theme-dark .toolbar-btn[data-v-030be5a9]:focus-visible{outline-color:var(--editor-color-blue-dark)}.monaco-editor-diff-wrapper.theme-dark[data-v-030be5a9] .diffOverview{background:var(--editor-color-bg-dark)!important}.monaco-editor-wrapper[data-v-6b55436b]{border-radius:var(--editor-radius-lg);overflow:visible;background:var(--editor-bg-primary);box-shadow:var(--editor-shadow-sm);transition:box-shadow var(--editor-duration-normal) var(--editor-ease-smooth);position:relative;border:1px solid var(--editor-border-primary)}.monaco-editor-wrapper .monaco-editor[data-v-6b55436b]{min-height:300px;background:var(--editor-bg-primary);overflow:hidden;box-sizing:border-box;outline:none!important;border-radius:0 0 var(--editor-radius-lg) var(--editor-radius-lg)}.monaco-editor-wrapper .noHeader[data-v-6b55436b]{border-radius:var(--editor-radius-lg)}\n/*$vite$:1*/',document.head.appendChild(n);const l=d(r),s={class:"context-menu-content"},c={key:0,class:"context-menu-separator"},u=["onClick"],p={class:"menu-item-content"},b={key:0,class:"menu-item-icon"},m={class:"menu-item-label"},g={key:1,class:"menu-item-shortcut"},f=(e,t)=>{const o=e.__vccOpts||e;for(const[r,a]of t)o[r]=a;return o},h=f(t.defineComponent({__name:"index",props:{visible:{type:Boolean,default:!1},position:{default:()=>({x:0,y:0})},items:{default:()=>[]},variant:{default:"glass"},theme:{default:"light"},teleportTarget:{default:".monaco-editor"}},emits:["itemClick","hide"],setup(e,{emit:o}){const r=e,a=o,i=t.computed(()=>({left:`${r.position.x}px`,top:`${r.position.y}px`,display:r.visible?"block":"none"})),n=t.computed(()=>({"context-menu":!0,"context-menu--classic":"classic"===r.variant,"context-menu--glass":"glass"===r.variant,"context-menu--direction-up":"up"===r.position?.direction,"context-menu--direction-down":"down"===r.position?.direction})),d=t.computed(()=>r.theme&&r.theme.toLowerCase().includes("dark")),l=t.computed(()=>({"theme-light":!d.value,"theme-dark":d.value})),f=e=>{e.stopPropagation()};return(e,o)=>(t.openBlock(),t.createBlock(t.Teleport,{to:r.teleportTarget},[e.visible?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass({...n.value,...l.value}),style:t.normalizeStyle(i.value),onClick:f},[t.createElementVNode("div",s,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.items,(e,o)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:o},["separator"===e.type?(t.openBlock(),t.createElementBlock("div",c)):(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["context-menu-item",{disabled:e.disabled}]),onClick:t=>(e=>{"item"!==e.type||e.disabled||a("itemClick",e)})(e)},[t.createElementVNode("div",p,[e.icon?(t.openBlock(),t.createElementBlock("div",b,[t.createElementVNode("i",{class:t.normalizeClass(e.icon)},null,2)])):t.createCommentVNode("",!0),t.createElementVNode("div",m,t.toDisplayString(e.label),1),e.shortcut?(t.openBlock(),t.createElementBlock("div",g,t.toDisplayString(e.shortcut),1)):t.createCommentVNode("",!0)])],10,u))],64))),128))])],6)):t.createCommentVNode("",!0)],8,["to"]))}}),[["__scopeId","data-v-0d03bcc5"]]),x={class:"default-toolbar"},v={class:"toolbar-left"},y={class:"file-info"},k={class:"file-name"},w={class:"file-language"},M={class:"toolbar-right"},C=f(t.defineComponent({__name:"index",props:{currentLanguage:{default:"javascript"},fileName:{},showToolbar:{type:Boolean,default:!0},theme:{default:"vitesse-light"}},emits:["copy","format"],setup(e,{expose:o,emit:r}){const a=e,i=r,n=t.computed(()=>a.theme&&a.theme.toLowerCase().includes("dark")),d=t.computed(()=>({"theme-light":!n.value,"theme-dark":n.value})),l=()=>a.fileName||{javascript:"main.js",typescript:"main.ts",python:"main.py",html:"index.html",css:"style.css",json:"data.json"}[a.currentLanguage]||"untitled",s=()=>{i("copy")};return o({getFileName:l,handleCopy:s,handleFormat:()=>{i("format")}}),(e,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["editor-toolbar",d.value])},[t.createElementVNode("div",x,[t.createElementVNode("div",v,[t.createElementVNode("div",y,[t.createElementVNode("span",k,t.toDisplayString(l()),1),t.createElementVNode("span",w,t.toDisplayString(e.currentLanguage?.toUpperCase()),1)])]),t.createElementVNode("div",M,[t.renderSlot(e.$slots,"toolbar",{},void 0,!0),t.createElementVNode("button",{class:"toolbar-btn",onClick:s,title:"复制代码"},o[0]||(o[0]=[t.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"3"},[t.createElementVNode("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),t.createElementVNode("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)]))])])],2))}}),[["__scopeId","data-v-402c9a54"]]);class z{state;options;listeners={};constructor(e){this.options=e,this.state={isVisible:!1,position:{x:0,y:0,direction:"down"},items:e.items||[]},this.bindEvents()}bindEvents(){document.addEventListener("click",this.handleClickOutside),document.addEventListener("contextmenu",this.handleClickOutside),document.addEventListener("keydown",this.handleKeyDown)}unbindEvents(){document.removeEventListener("click",this.handleClickOutside),document.removeEventListener("contextmenu",this.handleClickOutside),document.removeEventListener("keydown",this.handleKeyDown)}handleClickOutside=e=>{this.state.isVisible&&this.hide()};handleKeyDown=e=>{"Escape"===e.key&&this.state.isVisible&&this.hide()};updateState(e){this.state={...this.state,...e},this.listeners.onStateChange?.(this.state)}show=(e,t,o)=>{const r=this.resolveTarget(e,o);if(!r)return;e.preventDefault(),e.stopPropagation();const a=this.calculatePosition(e,t,r);this.updateState({isVisible:!0,position:a,items:t}),this.options.onShow?.()};hide=()=>{this.updateState({isVisible:!1}),this.options.onHide?.()};handleItemClick=e=>{e.disabled||(e.action(),this.hide())};updateTarget=e=>{this.options.target=e};getState=()=>({...this.state});onStateChange=e=>{this.listeners.onStateChange=e};destroy=()=>{this.unbindEvents(),this.listeners={}};resolveTarget(e,t){if(t)return t;if(this.options.target instanceof HTMLDivElement)return this.options.target;if("string"==typeof this.options.target)return document.querySelector(this.options.target);let o=e.target;for(;o&&o!==document.body;){if(o.classList.contains("monaco-editor")||o.classList.contains("monaco-diff-editor"))return o;o=o.parentElement}return document.querySelector(".monaco-editor")}calculatePosition(e,t,o){let r=8;t.forEach(e=>{"separator"===e.type?r+=6:r+=28});const a=o.getBoundingClientRect(),i=a.top,n=a.left,d=a.width,l=a.height,s=e.clientX,c=e.clientY;let u="down",p=s,b=c;c-i>l/2?(u="up",b=c-r):(u="down",b=c),p+200>n+d-10&&(p=n+d-200-10),p<n+10&&(p=n+10);const m=i+l-r-20,g=i+20;return b=Math.max(g,Math.min(b,m)),{x:p,y:b,direction:u}}}function E(e){const o=t.ref(!1),r=t.reactive({x:0,y:0,direction:"down"}),a=t.ref(e.items||[]);let i;t.onMounted(()=>{i=new z(e),i.onStateChange(e=>{o.value=e.isVisible,r.x=e.position.x,r.y=e.position.y,r.direction=e.position.direction||"down",a.value=e.items})}),t.onUnmounted(()=>{i?.destroy()});return{isVisible:o,position:r,items:t.computed(()=>a.value),show:(e,t,o)=>{i?.show(e,t,o)},hide:()=>{i?.hide()},handleItemClick:e=>{i?.handleItemClick(e)},updateTarget:e=>{i?.updateTarget(e)}}}function S(e){let t=null,r=null;const i=new Set,n=new Set;let d=null,s=!1,c=null,u=null,p=null;async function b(e,t){return await a.createHighlighter({themes:e,langs:t})}function m(e){switch(e){case"default":return{originalEditable:!0};case"inline":return{enableSplitViewResizing:!1,renderSideBySide:!1};default:return{enableSplitViewResizing:!1}}}function g(e){e.preventDefault(),e.stopPropagation();const t=e.target,o=t&&(t.closest(".minimap")||t.closest(".minimap-slider")||t.closest(".minimap-decorations-layer")||t.closest(".minimap-shadow-visible")||t.classList.contains("minimap")),r=function(e,t){const o=t.target;if(!o.closest(".monaco-editor"))return"modified";if(o.closest(".original-in-monaco-diff-editor"))return"original";return"modified"}(0,e);o&&p?p(e):"original"===r&&c?c(e):"modified"===r&&u&&u(e)}return{initMonacoDiffEdit:async function(){const{target:a,languages:d,themes:s,defaultTheme:c="vitesse-light",diffViewType:u="default"}=e;try{d.forEach(e=>{l.languages.register({id:e}),n.add(e)}),r=await b(s,d),s.forEach(e=>i.add(e)),o.shikiToMonaco(r,l);const p=m(u);return t=l.editor.createDiffEditor(a,{theme:c,contextmenu:!e.contextMenu,automaticLayout:!0,minimap:{enabled:!0},fontSize:16,...p,...e}),!1!==e.contextMenu?.enabled&&function(e){if(!t)return;e&&e.addEventListener("contextmenu",g)}(a),t}catch(p){throw p}},destroy:function(e){t&&(e&&e.removeEventListener("contextmenu",g),t.dispose()),d&&(d.disconnect(),d=null),c=null,u=null,p=null},registerLanguage:function(e){l.languages.register({id:e})},setTheme:async function(a){if(!t)throw new Error("Editor instance not initialized");try{if(!i.has(a)){i.add(a);const t=Array.from(i);e.themes=t,r&&(r=await b(t,Array.from(n)),o.shikiToMonaco(r,l))}l.editor.setTheme(a)}catch(d){throw d}},createModel:function(e,t){return l.editor.createModel(e,t)},setDiffModel:function(e){t&&t.setModel(e)},setDiffViewOptions:function(e){if(!t)return;const o=m(e);t.updateOptions({...o})},layout:function(){t&&t.layout()},enableAutoResize:function(){if(t&&!s)try{d=new ResizeObserver(()=>{t&&requestAnimationFrame(()=>{t?.layout()})}),d.observe(e.target),s=!0}catch(o){}},disableAutoResize:function(){d&&(d.disconnect(),d=null,s=!1)},diffEditInstance:t,onOriginalContextMenu:function(e){c=e},onModifiedContextMenu:function(e){u=e},offOriginalContextMenu:function(){c=null},offModifiedContextMenu:function(){u=null},onMinimapContextMenu:function(e){p=e},offMinimapContextMenu:function(){p=null}}}function V(e){const{editor:t,enabledItems:o,customItems:r=[]}=e,a=[{type:"item",id:"copy",label:"复制",shortcut:"Ctrl+C",action:async()=>{try{t.trigger("source","editor.action.clipboardCopyAction",null)}catch(e){}}},{type:"item",id:"cut",label:"剪切",shortcut:"Ctrl+X",action:async()=>{try{const e=t.getSelection(),o=t.getModel();if(!e||!o)return;const r=o.getValueInRange(e);await navigator.clipboard.writeText(r),t.executeEdits("cut",[{range:e,text:"",forceMoveMarkers:!0}])}catch(e){}}},{type:"item",id:"paste",label:"粘贴",shortcut:"Ctrl+V",action:async()=>{try{const e=await navigator.clipboard.readText(),o=t.getSelection();t.executeEdits("paste",[{range:o,text:e,forceMoveMarkers:!0}])}catch(e){}}},{type:"separator"},{type:"item",id:"selectAll",label:"全选",shortcut:"Ctrl+A",action:()=>{const e=t.getModel();if(e){const o=e.getFullModelRange();t.setSelection(o)}}},{type:"separator"},{type:"item",id:"undo",label:"撤销",shortcut:"Ctrl+Z",action:()=>{t.trigger("context-menu","undo",null)}},{type:"item",id:"redo",label:"重做",shortcut:"Ctrl+Y",action:()=>{t.trigger("context-menu","redo",null)}},{type:"separator"},{type:"item",id:"toggleMinimap",label:"切换缩略图",action:()=>{const e=t.getOptions(),o=e.get(l.editor.EditorOption.minimap)?.enabled;t.updateOptions({minimap:{enabled:!o}})}},{type:"item",id:"increaseFontSize",label:"放大字体",shortcut:"Ctrl+=",action:()=>{const e=t.getOptions().get(l.editor.EditorOption.fontSize)||16,o=Math.min(e+1,40);t.updateOptions({fontSize:o})}},{type:"item",id:"decreaseFontSize",label:"缩小字体",shortcut:"Ctrl+-",action:()=>{const e=t.getOptions().get(l.editor.EditorOption.fontSize)||16,o=Math.max(e-1,8);t.updateOptions({fontSize:o})}},{type:"item",id:"resetFontSize",label:"重置字体大小",shortcut:"Ctrl+0",action:()=>{t.updateOptions({fontSize:16})}},{type:"separator"},{type:"item",id:"format",label:"格式化代码(需自行实现)",shortcut:"Shift+Alt+F",disabled:!0,action:()=>{t.trigger("source","editor.action.formatDocument",null)}},{type:"item",id:"find",label:"查找",shortcut:"Ctrl+F",action:()=>{t.getAction("actions.find")?.run()}},{type:"item",id:"replace",label:"替换",shortcut:"Ctrl+H",action:()=>{t.getAction("editor.action.startFindReplaceAction")?.run()}}];let i=a;return o&&o.length>0&&(i=a.filter(e=>"separator"===e.type||o.includes(e.id))),r.length>0&&(i.length>0&&i.push({type:"separator"}),i.push(...r)),N(i)}function T(e){const{editor:t,enabledItems:o,customItems:r=[]}=e,a=[{type:"item",id:"toggleMinimap",label:"隐藏缩略图",action:()=>{const e=t.getOptions(),o=e.get(l.editor.EditorOption.minimap)?.enabled;t.updateOptions({minimap:{enabled:!o}})}},{type:"separator"},{type:"item",id:"minimapSide",label:"切换缩略图位置",action:()=>{const e=t.getOptions(),o="right"===(e.get(l.editor.EditorOption.minimap)?.side||"right")?"left":"right";t.updateOptions({minimap:{enabled:!0,side:o}})}},{type:"item",id:"minimapShowSlider",label:"滑块显示",action:()=>{const e=t.getOptions(),o=e.get(l.editor.EditorOption.minimap)?.showSlider,r="always"===o?"mouseover":"always";t.updateOptions({minimap:{enabled:!0,showSlider:r}})}}];let i=a;return o&&o.length>0&&(i=a.filter(e=>"separator"===e.type||o.includes(e.id))),r.length>0&&(i.length>0&&i.push({type:"separator"}),i.push(...r)),N(i)}function N(e){const t=[];for(let o=0;o<e.length;o++){const r=e[o];"separator"===r?.type&&0===t.length||("separator"===r?.type&&"separator"===t[t.length-1]?.type||r&&t.push(r))}for(;t.length>0&&"separator"===t[t.length-1]?.type;)t.pop();return t}const B={minimal:["copy","paste","selectAll"],basic:["copy","cut","paste","selectAll","undo","redo","toggleMinimap"],full:["copy","cut","paste","selectAll","undo","redo","toggleMinimap","increaseFontSize","decreaseFontSize","resetFontSize","format","find","replace"]},L={minimal:["toggleMinimap"],basic:["toggleMinimap","minimapSide","minimapShowSlider"],full:["toggleMinimap","minimapSide","minimapShowSlider"]};function A(e){let t=null,r=null;const i=new Set,n=new Set;let d=null,s=!1,c=null,u=null;async function p(e,t){return await a.createHighlighter({themes:e,langs:t})}function b(e){e.preventDefault(),e.stopPropagation();const t=e.target;t&&(t.closest(".minimap")||t.closest(".minimap-slider")||t.closest(".minimap-decorations-layer")||t.closest(".minimap-shadow-visible")||t.classList.contains("minimap"))&&u?u(e):c&&c(e)}return{initMonacoEdit:async function(){const{target:a,languages:d,themes:s,defaultTheme:c="vitesse-light",defaultLanguage:u="javascript"}=e;try{return d.forEach(e=>{l.languages.register({id:e}),n.add(e)}),r=await p(s,d),s.forEach(e=>i.add(e)),o.shikiToMonaco(r,l),t=l.editor.create(a,{value:e.codeValue,language:u,theme:c,contextmenu:!e.contextMenu,automaticLayout:!0,minimap:{enabled:!0},fontSize:16,...e}),!1!==e.contextMenu?.enabled&&function(){if(!t)return;const e=t.getDomNode();e&&e.addEventListener("contextmenu",b)}(),t}catch(m){throw m}},destroy:function(){if(t){const e=t.getDomNode();e&&e.removeEventListener("contextmenu",b),t.dispose()}d&&(d.disconnect(),d=null),c=null,u=null},registerLanguage:function(e){l.languages.register({id:e})},setTheme:async function(a){if(!t)throw new Error("Editor instance not initialized");try{if(!i.has(a)){i.add(a);const t=Array.from(i);e.themes=t,r&&(r=await p(t,Array.from(n)),o.shikiToMonaco(r,l))}l.editor.setTheme(a)}catch(d){throw d}},setLanguage:async function(a){if(!t)throw new Error("Editor instance not initialized");try{if(!n.has(a)){l.languages.register({id:a}),n.add(a);const t=Array.from(n);e.languages=t,r&&(r=await p(Array.from(i),t),o.shikiToMonaco(r,l))}const d=t.getModel();d&&l.editor.setModelLanguage(d,a)}catch(d){throw d}},layout:function(){t&&t.layout()},enableAutoResize:function(){if(t&&!s)try{d=new ResizeObserver(()=>{t&&requestAnimationFrame(()=>{t?.layout()})}),d.observe(e.target),s=!0}catch(o){}},disableAutoResize:function(){d&&(d.disconnect(),d=null,s=!1)},editInstance:t,onContextMenu:function(e){c=e},offContextMenu:function(){c=null},onMinimapContextMenu:function(e){u=e},offMinimapContextMenu:function(){u=null}}}const O={class:"file-language diff-info"},I=["disabled"],R=["disabled"],D=["title"],_={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},F={key:1,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},j=f(t.defineComponent({__name:"index",props:{oldModel:{},newModel:{},diffViewType:{default:"default"},currentLanguage:{default:"typescript"},currentTheme:{default:"vitesse-light"},languages:{default:()=>["typescript"]},themes:{default:()=>["vitesse-light","vitesse-dark"]},height:{default:"400px"},showToolbar:{type:Boolean,default:!0},autoResize:{type:Boolean,default:!0},monacoEditClass:{},fileName:{},contextMenu:{default:()=>({enabled:!0,items:"full",variant:"glass"})},minimapContextMenu:{default:()=>({enabled:!0,items:"basic",variant:"glass"})},teleportTarget:{}},emits:["change","ready"],setup(e,{expose:o,emit:r}){const a=e,i=r,n=t.ref();let d=null,l=null,s=null,c=null;const u=t.ref(0),p=t.ref(0),b=t.ref(!1),m=[],g=t.ref([]),f=t.ref([]),x=t.ref([]),v=E({items:x.value}),y=t.ref([]),k=E({items:y.value});t.watch(()=>a.currentTheme,async e=>{if(l&&d)try{await l.setTheme(e)}catch(t){}});t.watch(()=>a.diffViewType,e=>{l?.setDiffViewOptions(e)}),t.onMounted(async()=>{await(async()=>{if(n.value){l=S({target:n.value,languages:a.languages,themes:a.themes,defaultTheme:a.currentTheme,contextMenu:a.contextMenu});try{d=await l.initMonacoDiffEdit();const e=l.createModel(a.oldModel,a.currentLanguage),t=l.createModel(a.newModel,a.currentLanguage);l.setDiffModel({original:e,modified:t}),i("ready",d),!1!==a.contextMenu?.enabled&&(s=d.getOriginalEditor(),c=d.getModifiedEditor(),w()),M(),a.autoResize&&l.enableAutoResize()}catch(e){throw e}}})()}),t.onUnmounted(()=>{m.forEach(e=>{try{e?.dispose?.()}catch(t){}}),m.length=0,l&&n.value&&l.destroy(n.value)});const w=()=>{if(d&&l&&s&&c){if(!1!==a.contextMenu?.enabled){let e=[];"string"==typeof a.contextMenu?.items?e=B[a.contextMenu.items]:Array.isArray(a.contextMenu?.items)&&(e=a.contextMenu.items),g.value=V({editor:s,enabledItems:["copy","find","replace","increaseFontSize","decreaseFontSize","resetFontSize"],customItems:[]}),f.value=V({editor:c,enabledItems:e,customItems:a.contextMenu?.customItems??[]}),l.onOriginalContextMenu(async e=>{k.isVisible.value&&k.hide(),x.value=g.value,v.show(e,g.value,n.value)}),l.onModifiedContextMenu(async e=>{k.isVisible.value&&k.hide();try{"permissions"in navigator&&await navigator.permissions.query({name:"clipboard-read"})}catch(t){}x.value=f.value,v.show(e,f.value,n.value)})}if(!1!==a.minimapContextMenu?.enabled){let e=[];"string"==typeof a.minimapContextMenu?.items?e=L[a.minimapContextMenu.items]:Array.isArray(a.minimapContextMenu?.items)&&(e=a.minimapContextMenu.items),y.value=T({editor:c,enabledItems:e,customItems:a.minimapContextMenu?.customItems??[]}),l.onMinimapContextMenu(async e=>{v.isVisible.value&&v.hide(),k.show(e,y.value,n.value)})}}},M=()=>{if(!d||!s||!c)return;const e=()=>{d&&requestAnimationFrame(()=>{const e=d?.getLineChanges(),t=e?.length||0;p.value!==t&&(p.value=t,p.value>0&&u.value>=p.value?u.value=Math.max(0,p.value-1):0===p.value&&(u.value=0))})};e();const t=s.getModel(),o=c.getModel();if(t){const o=t.onDidChangeContent(()=>{e()});m.push(o)}if(o){const t=o.onDidChangeContent(()=>{e()});m.push(t)}try{if(d.onDidUpdateDiff){const t=d.onDidUpdateDiff(()=>{e()});m.push(t)}}catch(r){}},z=()=>{d&&0!==p.value&&(u.value=u.value>0?u.value-1:p.value-1,A())},N=()=>{d&&0!==p.value&&(u.value=(u.value+1)%p.value,A())},A=()=>{if(!d||0===p.value)return;const e=d.getLineChanges();if(e&&e[u.value]){const t=e[u.value],o=t?.modifiedStartLineNumber||t?.originalStartLineNumber;c?.revealLineInCenter(o??0),s?.revealLineInCenter((t?.originalStartLineNumber||o)??0)}},j=()=>{if(d){b.value=!b.value;try{d.updateOptions({hideUnchangedRegions:{enabled:b.value,minimumLineCount:3,contextLineCount:3}})}catch(e){}}},H=async()=>{try{const e=c?.getModel();if(!e)return;const t=e.getValue();await navigator.clipboard.writeText(t)}catch(e){try{const e=c?.getModel();if(e){const t=e.getValue(),o=document.createElement("textarea");o.value=t,document.body.appendChild(o),o.select(),document.execCommand("copy"),document.body.removeChild(o)}}catch(t){}}},U=e=>{"item"===e.type&&(e.action(),v.hide())},P=e=>{"item"===e.type&&(e.action(),k.hide())},Y=t.computed(()=>a.currentTheme&&a.currentTheme.toLowerCase().includes("dark")),q=t.computed(()=>({"theme-light":!Y.value,"theme-dark":Y.value}));return t.onBeforeUnmount(()=>{l&&n.value&&l.destroy(n.value)}),o({getEditor:()=>d,focus:()=>d?.focus(),setTheme:e=>l?.setTheme(e),layout:()=>l?.layout(),enableAutoResize:()=>l?.enableAutoResize(),disableAutoResize:()=>l?.disableAutoResize()}),(e,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["monaco-editor-wrapper monaco-editor-diff-wrapper",[a.monacoEditClass,q.value]])},[a.showToolbar?(t.openBlock(),t.createBlock(C,{key:0,"current-language":a.currentLanguage,"file-name":a.fileName??"Untitled",theme:a.currentTheme,onCopy:H},{toolbar:t.withCtx(()=>[t.createElementVNode("div",O,t.toDisplayString(p.value>0?`${u.value+1} / ${p.value}`:"0 个差异"),1),t.createElementVNode("button",{class:"toolbar-btn",disabled:0===p.value,onClick:z,title:"上一个差异"},o[0]||(o[0]=[t.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 18l-6-6 6-6"})],-1)]),8,I),t.createElementVNode("button",{class:"toolbar-btn",disabled:0===p.value,onClick:N,title:"下一个差异"},o[1]||(o[1]=[t.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 18l6-6-6-6"})],-1)]),8,R),t.createElementVNode("button",{class:"toolbar-btn",onClick:j,title:b.value?"展开未更改区域":"折叠未更改区域"},[b.value?(t.openBlock(),t.createElementBlock("svg",_,o[2]||(o[2]=[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19 14l-7-7-7 7"},null,-1)]))):(t.openBlock(),t.createElementBlock("svg",F,o[3]||(o[3]=[t.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M5 10l7 7 7-7"},null,-1)])))],8,D)]),_:1},8,["current-language","file-name","theme"])):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"diffEditorRef",ref:n,class:t.normalizeClass(["monaco-editor monaco-diff-editor",{noHeader:!a.showToolbar}]),style:t.normalizeStyle({height:a.height})},null,6),n.value?(t.openBlock(),t.createBlock(h,{key:1,visible:t.unref(v).isVisible.value,position:t.unref(v).position,items:x.value,variant:a.contextMenu?.variant||"glass",theme:a.currentTheme,onItemClick:U,onHide:t.unref(v).hide},null,8,["visible","position","items","variant","theme","onHide"])):t.createCommentVNode("",!0),n.value&&!1!==a.minimapContextMenu?.enabled?(t.openBlock(),t.createBlock(h,{key:2,visible:t.unref(k).isVisible.value,position:t.unref(k).position,items:y.value,variant:a.minimapContextMenu?.variant||"glass",theme:a.currentTheme,onItemClick:P,onHide:t.unref(k).hide},null,8,["visible","position","items","variant","theme","onHide"])):t.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-030be5a9"]]),H=f(t.defineComponent({__name:"index",props:{currentLanguage:{default:"javascript"},currentTheme:{default:"vitesse-light"},languages:{default:()=>["javascript","typescript","python","html","css","json"]},themes:{default:()=>["vitesse-light","vitesse-dark","github-light","github-dark"]},value:{default:""},height:{default:"400px"},showToolbar:{type:Boolean,default:!0},autoResize:{type:Boolean,default:!0},monacoEditClass:{},fileName:{},contextMenu:{default:()=>({enabled:!0,items:"full",variant:"glass"})},minimapContextMenu:{default:()=>({enabled:!0,items:"basic",variant:"glass"})},teleportTarget:{}},emits:["change","ready"],setup(e,{expose:o,emit:r}){const a=e,i=r,n=t.ref();let d=null,l=null;const s=t.ref([]),c=E({items:s.value}),u=t.ref([]),p=E({items:u.value});t.watch(()=>a.value,e=>{d&&d.setValue(e)},{deep:1}),t.watch(()=>a.currentTheme,async e=>{if(l&&d)try{await l.setTheme(e)}catch(t){}}),t.watch(()=>a.currentLanguage,async e=>{if(l&&d)try{await l.setLanguage(e)}catch(t){}});t.onMounted(async()=>{await(async()=>{if(n.value){l=A({target:n.value,languages:a.languages,themes:a.themes,codeValue:a.value,defaultTheme:a.currentTheme,defaultLanguage:a.currentLanguage,contextMenu:a.contextMenu});try{d=await l.initMonacoEdit(),d.onDidChangeModelContent(()=>{const e=d?.getValue()||"";i("change",e)}),i("ready",d),!1!==a.contextMenu?.enabled&&g(),a.autoResize&&l.enableAutoResize()}catch(e){throw e}}})()}),t.onUnmounted(()=>{l&&l.destroy()});const b=async()=>{if(d)try{const e=d.getValue();if(navigator.clipboard&&navigator.clipboard.writeText)return void(await navigator.clipboard.writeText(e));const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.left="-999999px",t.style.top="-999999px",document.body.appendChild(t),t.focus(),t.select();const o=document.execCommand("copy");if(document.body.removeChild(t),!o)throw new Error("降级复制方案失败")}catch(e){try{const e=d.getSelection();e&&!e.isEmpty()&&d.trigger("keyboard","editor.action.clipboardCopyAction",null)}catch(t){}}},m=()=>{d&&d.getAction("editor.action.formatDocument")?.run()},g=()=>{if(d&&l){if(!1!==a.contextMenu?.enabled){let e=[];"string"==typeof a.contextMenu?.items?e=B[a.contextMenu.items]:Array.isArray(a.contextMenu?.items)&&(e=a.contextMenu.items),s.value=V({editor:d,enabledItems:e,customItems:a.contextMenu?.customItems??[]}),l.onContextMenu(async e=>{p.isVisible.value&&p.hide();try{"permissions"in navigator&&await navigator.permissions.query({name:"clipboard-read"})}catch(t){}c.show(e,s.value,n.value)})}if(!1!==a.minimapContextMenu?.enabled){let e=[];"string"==typeof a.minimapContextMenu?.items?e=L[a.minimapContextMenu.items]:Array.isArray(a.minimapContextMenu?.items)&&(e=a.minimapContextMenu.items),u.value=T({editor:d,enabledItems:e,customItems:a.minimapContextMenu?.customItems??[]}),l.onMinimapContextMenu(async e=>{c.isVisible.value&&c.hide(),p.show(e,u.value,n.value)})}}},f=e=>{"item"===e.type&&(e.action(),c.hide())},x=e=>{"item"===e.type&&(e.action(),p.hide())};return t.onBeforeUnmount(()=>{l?.destroy()}),o({getEditor:()=>d,setValue:e=>d?.setValue(e),getValue:()=>d?.getValue()||"",focus:()=>d?.focus(),setTheme:e=>l?.setTheme(e),setLanguage:e=>l?.setLanguage(e),layout:()=>l?.layout(),enableAutoResize:()=>l?.enableAutoResize(),disableAutoResize:()=>l?.disableAutoResize(),copyCode:b,pasteCode:async()=>{if(d)try{const t=d.getAction("editor.action.clipboardPasteAction");if(t)return void t.run();try{return void d.trigger("keyboard","editor.action.clipboardPasteAction",null)}catch(e){}const o=await navigator.clipboard.readText();if(o){const e=d.getSelection();e&&(d.executeEdits("paste",[{range:e,text:o,forceMoveMarkers:!0}]),d.focus())}}catch(t){}},formatCode:m}),(e,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["monaco-editor-wrapper",a.monacoEditClass])},[a.showToolbar?(t.openBlock(),t.createBlock(C,{key:0,"current-language":a.currentLanguage,"file-name":a.fileName??"Untitled",theme:a.currentTheme,onCopy:b,onFormat:m},{toolbar:t.withCtx(()=>[t.renderSlot(e.$slots,"toolbar",{},void 0,!0)]),_:3},8,["current-language","file-name","theme"])):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"editorRef",ref:n,class:t.normalizeClass(["monaco-editor",{noHeader:!a.showToolbar}]),style:t.normalizeStyle({height:a.height})},null,6),n.value?(t.openBlock(),t.createBlock(h,{key:1,visible:t.unref(c).isVisible.value,position:t.unref(c).position,items:s.value,variant:a.contextMenu?.variant||"glass",theme:a.currentTheme,onItemClick:f,onHide:t.unref(c).hide},null,8,["visible","position","items","variant","theme","onHide"])):t.createCommentVNode("",!0),n.value?(t.openBlock(),t.createBlock(h,{key:2,visible:t.unref(p).isVisible.value,position:t.unref(p).position,items:u.value,variant:a.minimapContextMenu?.variant||"glass",theme:a.currentTheme,onItemClick:x,onHide:t.unref(p).hide},null,8,["visible","position","items","variant","theme","onHide"])):t.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-6b55436b"]]),U={install(e){e.component("ContextMenu",h),e.component("Monaco",H),e.component("MonacoDiff",j),e.component("MonacoHeader",C)}};e.ContextMenu=h,e.ContextMenuCore=z,e.DEFAULT_FONT_SIZE=16,e.MAX_FONT_SIZE=40,e.MENU_PRESETS=B,e.MINIMAP_MENU_PRESETS=L,e.MIN_FONT_SIZE=8,e.Monaco=H,e.MonacoDiff=j,e.MonacoHeader=C,e.createEditorContextMenu=V,e.createMinimapContextMenu=T,e.default=U,e.useContextMenu=E,e.useContextMenuReact=function(e){const[t,o]=i.useState(!1),[r,a]=i.useState({x:0,y:0,direction:"down"}),[n,d]=i.useState(e.items||[]),l=i.useRef(null);return i.useEffect(()=>{const t=new z(e);return l.current=t,t.onStateChange(e=>{o(e.isVisible),a(e.position),d(e.items)}),()=>{t.destroy()}},[]),{isVisible:t,position:r,items:n,show:i.useCallback((e,t,o)=>{l.current?.show(e,t,o)},[]),hide:i.useCallback(()=>{l.current?.hide()},[]),handleItemClick:i.useCallback(e=>{l.current?.handleItemClick(e)},[]),updateTarget:i.useCallback(e=>{l.current?.updateTarget(e)},[])}},e.useContextMenuVue=E,e.useMonacoDiffEdit=S,e.useMonacoEdit=A,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
//# sourceMappingURL=index.js.map