diff --git a/dist/css/chunk-45459eaa.b8a19145.css b/dist/css/chunk-45459eaa.b8a19145.css deleted file mode 100644 index 50d35a2..0000000 --- a/dist/css/chunk-45459eaa.b8a19145.css +++ /dev/null @@ -1 +0,0 @@ -.md-divider{position:relative;display:inline-block;width:1px;top:.1em;height:.9em;margin:0 8px;background-color:#e6e6e6}.md-dark .md-divider{background-color:#2d2d2d}.md-dropdown{overflow:hidden;box-sizing:border-box;position:absolute;transition:all .3s;opacity:1;z-index:10000;background-color:#fff}.md-dropdown-hidden{opacity:0;z-index:-10000}.md-dropdown-overlay{margin-top:6px}.md-dark .md-dropdown{background-color:#000}.md-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;height:100%;background-color:rgba(0,0,0,.45098039215686275)}.md-modal{display:block;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;border-radius:3px;border:1px solid #e6e6e6;position:fixed;z-index:20001;flex-direction:column}.md-modal-header{cursor:-webkit-grab;cursor:grab;display:flex;justify-content:space-between;padding:10px 24px;color:#222;font-weight:600;font-size:16px;line-height:22px;word-wrap:break-word;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom:1px solid #e6e6e6;position:relative}.md-modal-body{padding:24px;font-size:14px;word-wrap:break-word;height:calc(100% - 61px);box-sizing:border-box}.md-modal .md-modal-func{position:absolute;top:10px;right:10px}.md-modal .md-modal-func .md-modal-adjust,.md-modal .md-modal-func .md-modal-close{cursor:pointer;width:24px;height:24px;line-height:24px;text-align:center;display:inline-block}.md-modal .md-modal-func .md-modal-adjust{padding-right:10px}.animation{-webkit-animation-duration:.15s;animation-duration:.15s}@-webkit-keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoom-in{-webkit-animation-name:zoomIn;animation-name:zoomIn;-webkit-animation-duration:.15s;animation-duration:.15s}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoom-out{-webkit-animation-name:zoomOut;animation-name:zoomOut;-webkit-animation-duration:.15s;animation-duration:.15s}.md-clip{position:relative;display:flex;height:calc(100% - 32px)}.md-clip-main,.md-clip-preview{width:50%;height:100%;border:1px solid #e6e6e6}.md-clip-main{margin-right:1em}.md-clip-main .md-clip-cropper{position:relative;width:100%;height:100%}.md-clip-main .md-clip-cropper .md-clip-delete{position:absolute;top:0;right:0;font-size:0;background-color:#ececec;border-bottom-left-radius:4px;color:#222;cursor:pointer}.md-clip-main .md-clip-upload{display:flex;align-items:center;justify-content:center;width:100%;height:100%;cursor:pointer}.md-clip-main .md-clip-upload .md-icon{width:auto;height:40px}.md-clip-preview-target{width:100%;height:100%;overflow:hidden}.md-dark .md-clip-main,.md-dark .md-clip-preview{border:1px solid #2d2d2d}.md-dark .md-clip-main{margin-right:1em}.md-dark .md-clip-main .md-clip-cropper .md-clip-delete{background-color:#111;color:#999}.md-catalog-editor{position:absolute;overflow:auto;top:44px;right:0;height:calc(100% - 44px);background-color:#f6f6f6;border-left:1px solid #e6e6e6;width:200px;box-sizing:border-box;margin:0;padding:5px 10px;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:"tnum";z-index:2}.md-catalog-link{padding:5px 0 5px 8px;line-height:1.2}.md-catalog-link span{position:relative;overflow:hidden;color:#222;white-space:nowrap;text-overflow:ellipsis;transition:color .3s;cursor:pointer}.md-catalog-link span:hover{color:#73d13d}.md-catalog-link>.md-catalog-link{padding-top:5px;padding-bottom:5px}.md-catalog-link>.md-catalog-link:first-of-type{padding-top:10px}.md-catalog-link>.md-catalog-link:last-of-type{padding-bottom:0}.md-catalog-dark{background-color:#000;border-left-color:#2d2d2d}.md-catalog-dark .md-catalog-link span{color:#999}.md-catalog-dark .md-catalog-link span:hover{color:#73d13d}.md{width:100%;height:400px;position:relative;box-sizing:border-box;border:1px solid #e6e6e6;display:flex;flex-direction:column;overflow:hidden;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI Variable,Segoe UI,system-ui,ui-sans-serif,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.md ::-webkit-scrollbar{width:6px;height:6px}.md ::-webkit-scrollbar-corner,.md ::-webkit-scrollbar-track{background-color:#e2e2e2}.md ::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(0,0,0,.30196078431372547)}.md ::-webkit-scrollbar-button:vertical{display:none}.md ::-webkit-scrollbar-thumb:vertical:hover{background-color:rgba(0,0,0,.34901960784313724)}.md ::-webkit-scrollbar-thumb:vertical:active{background-color:rgba(0,0,0,.3803921568627451)}.md-icon{width:24px;height:24px;fill:currentColor;overflow:hidden}.md-menu{margin:0;padding:0;border-radius:3px;border:1px solid #e6e6e6}.md-menu-item{list-style:none;font-size:12px;color:#222;padding:4px 10px;cursor:pointer}.md-menu-item:first-of-type{padding-top:8px}.md-menu-item:last-of-type{padding-bottom:8px}.md-menu-item:hover{background-color:#f5f7fa}.md-table-shape{padding:4px;border-radius:3px;border:1px solid #e6e6e6;display:flex;flex-direction:column}.md-table-shape-row{display:flex}.md-table-shape-col{padding:2px;cursor:pointer}.md-table-shape-col-default{width:16px;height:16px;background-color:#e0e0e0;border-radius:3px;transition:all .2s}.md-table-shape-col-include{background-color:#aaa}.md-toolbar-wrapper{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.md-toolbar-wrapper::-webkit-scrollbar{height:0!important}.md-toolbar-wrapper .md-toolbar{min-width:850px;padding:4px;height:35px;border-bottom:1px solid #e6e6e6;display:flex;justify-content:space-between;align-items:center;box-sizing:content-box}.md-toolbar-wrapper .md-toolbar-item{height:24px;display:inline-block;padding:0 4px;transition:all .3s;border-radius:0;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-toolbar-wrapper .md-toolbar-item:hover{border-radius:3px;background-color:#e6e6e6}.md-toolbar-wrapper .md-toolbar-left,.md-toolbar-wrapper .md-toolbar-right{padding:1px 0;display:flex;align-items:center}.md-content{display:flex;height:calc(100% - 44px)}.md-content .md-input-wrapper{flex:1;box-sizing:border-box}.md-content .md-input-wrapper textarea{width:100%;height:100%;padding:10px 20px;box-sizing:border-box;font-size:1em;font-family:-apple-system,Consolas,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;resize:none;border:none;outline:none;overflow-y:scroll;color:inherit;background-color:inherit}.md-content .md-input-wrapper textarea.textarea-only{overflow-y:auto}.md-content .md-preview-wrapper{position:relative;flex:1;box-sizing:border-box;overflow:auto}.md-content .md-html,.md-content .md-preview{padding:10px 20px;font-size:16px;position:relative;word-break:break-all}.md-form-item{margin-bottom:14px;text-align:center}.md-form-item:last-of-type{margin-bottom:0}.md-lable{width:80px;text-align:center;display:inline-block}.md-input,.md-lable{font-size:14px;color:#222}.md-input{border-radius:4px;padding:4px 11px;line-height:1.5715;background-color:#fff;background-image:none;border:1px solid #e6e6e6;transition:all .2s}.md-input:focus{border-color:#57a3f3;outline:0;box-shadow:0 0 0 2px rgba(45,140,240,.2)}.md-btn{font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;border:1px solid transparent;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:32px;padding:0 15px;font-size:14px;border-radius:4px;transition:all .2s linear;color:#515a6e;background-color:#fff;border-color:#e6e6e6;margin-left:10px}.md-btn:first-of-type{margin-left:0}.md-btn:hover{color:#57a3f3;background-color:#fff;border-color:#57a3f3}.md-btn-row{width:100%}.md-katex-block{text-align:center;margin:20px}.md-previewOnly{border:none;height:auto}.md-previewOnly .md-content{height:100%}.md-previewOnly .md-preview{padding:0}.md-dark{color:#999;background-color:#000}.md-dark,.md-dark .md-toolbar{border-color:#2d2d2d}.md-dark .md-toolbar-item:hover{background-color:#1b1a1a}.md-dark .md-table-shape{border-color:#2d2d2d}.md-dark .md-table-shape-col-default{background-color:#222}.md-dark .md-table-shape-col-include{background-color:#555}.md-dark .md-modal{background-color:#000;border-color:#2d2d2d}.md-dark .md-modal-header{border-color:#2d2d2d;color:#999}.md-dark .md-modal-header .md-modal-title{color:#999}.md-dark .md-dropdown-overlay{background-color:#000}.md-dark .md-menu{border-color:#2d2d2d;background-color:inherit}.md-dark .md-menu-item{color:#999}.md-dark .md-menu-item:hover{background-color:#1b1a1a}.md-dark .md-lable{color:#999}.md-dark .md-btn,.md-dark .md-input{color:#999;background-color:#000;border-color:#2d2d2d}.md-dark ::-webkit-scrollbar-corner,.md-dark ::-webkit-scrollbar-track{background-color:#0f0f0f}.md-dark ::-webkit-scrollbar-thumb{background-color:#2d2d2d}.md-dark ::-webkit-scrollbar-thumb:vertical:active,.md-dark ::-webkit-scrollbar-thumb:vertical:hover{background-color:#3a3a3a}.md-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;width:auto!important;height:auto!important;z-index:10000}.md-katex-block,.md-katex-inline,.mermaid{display:none}.md-katex-inline[data-processed],.mermaid[data-processed]{display:initial}.md-katex-block[data-processed]{display:block}.md-scrn span[rn-wrapper]{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;counter-reset:linenumber}.md-scrn span[rn-wrapper]>span{display:block;pointer-events:none;counter-increment:linenumber}.md-scrn span[rn-wrapper]>span:before{color:#999;display:block;padding-right:.5em;text-align:right;content:counter(linenumber)}.md-scrn pre code{padding-left:3.5em!important}.default-theme ::-webkit-scrollbar{width:6px;height:6px}.default-theme ::-webkit-scrollbar-corner,.default-theme ::-webkit-scrollbar-track{background-color:#e2e2e2;border-radius:2px}.default-theme ::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(0,0,0,.30196078431372547)}.default-theme ::-webkit-scrollbar-button:vertical{display:none}.default-theme ::-webkit-scrollbar-thumb:vertical:hover{background-color:rgba(0,0,0,.34901960784313724)}.default-theme ::-webkit-scrollbar-thumb:vertical:active{background-color:rgba(0,0,0,.3803921568627451)}.default-theme h1,.default-theme h2,.default-theme h3,.default-theme h4,.default-theme h5,.default-theme h6{position:relative;word-break:break-all}.default-theme h1 a,.default-theme h2 a,.default-theme h3 a,.default-theme h4 a,.default-theme h5 a,.default-theme h6 a{color:inherit}.default-theme h1 a:hover,.default-theme h2 a:hover,.default-theme h3 a:hover,.default-theme h4 a:hover,.default-theme h5 a:hover,.default-theme h6 a:hover{color:inherit;text-decoration:none}.default-theme ol li{list-style:decimal}.default-theme ul li{list-style:disc}.default-theme ol .li-task,.default-theme ul .li-task{list-style-type:none}.default-theme ol .li-task input,.default-theme ul .li-task input{margin-left:-1.5em;margin-right:.1em}.default-theme code,.default-theme pre{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:14px;color:#24292f}.default-theme pre code{display:block}.default-theme pre code .code-block{display:inline-block;width:100%;overflow:auto}.default-theme figure{margin:0 0 1em;display:inline-block}.default-theme figure figcaption{color:#888;text-align:center;font-size:.875em;margin-top:5px}.default-theme hr{height:1px;margin:10px 0;border:none;border-top:1px solid #eaecef}.default-theme div[inline]>figure{display:inline-block;padding-right:.5em}.default-theme div[inline]>figure img{padding:0;border:none}.default-theme h1,.default-theme h2,.default-theme h3,.default-theme h4,.default-theme h5,.default-theme h6{margin:1.4em 0 .8em;font-weight:700}.default-theme a{text-decoration:none;color:#2d8cf0;transition:color .3s}.default-theme a:hover{color:#73d13d}.default-theme img{display:block;margin:0 auto;max-width:100%;box-sizing:border-box;padding:5px;border:1px solid #e6e6e6;border-radius:3px}.default-theme p{line-height:1.6;margin:0;padding:.5rem 0}.default-theme p:empty{display:none}.default-theme code{color:#3594f7;background-color:rgba(59,170,250,.10196078431372549);display:inline-block;padding:0 4px;border-radius:2px;line-height:22px}.default-theme blockquote{margin:20px 0;padding:.5em 1.2em;line-height:2em;background-color:#ececec;border-left:5px solid #35b378;display:block}.default-theme blockquote p{padding:0}.default-theme pre{position:relative;margin:20px 0;border-radius:5px;box-shadow:0 2px 2px rgba(0,0,0,.3333333333333333);line-height:1.6}.default-theme pre code{position:relative;padding:1em;background-color:#282c34;color:#a9b7c6;border-radius:0 0 5px 5px}.default-theme pre .copy-button{color:#999;position:absolute;font-size:12px;top:9px;right:10px;cursor:pointer}.default-theme pre:before{content:"";display:block;background:url(data:image/png;base64,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);height:32px;width:100%;background-size:40px;background-repeat:no-repeat;background-color:#282c34;margin-bottom:0;border-top-left-radius:5px;border-top-right-radius:5px;background-position:10px 10px}.default-theme table{width:100%;table-layout:fixed;overflow:auto;border-spacing:0;border-collapse:collapse;margin-bottom:1em}.default-theme table tr td,.default-theme table tr th{word-wrap:break-word;padding:6px 13px;border:1px solid #e6e6e6}.default-theme table tr:nth-child(2n){background-color:#fafafa}.default-theme table tr:hover{background-color:#eee}.default-theme ol,.default-theme ul{margin:.6em 0;padding-left:1.6em}.default-theme ol li,.default-theme ul li{line-height:1.6;margin:.5em 0}.md-dark .default-theme{color:#999}.md-dark .default-theme ::-webkit-scrollbar-corner,.md-dark .default-theme ::-webkit-scrollbar-track{background-color:#0f0f0f}.md-dark .default-theme ::-webkit-scrollbar-thumb{background-color:#2d2d2d}.md-dark .default-theme ::-webkit-scrollbar-thumb:vertical:active,.md-dark .default-theme ::-webkit-scrollbar-thumb:vertical:hover{background-color:#3a3a3a}.md-dark .default-theme hr{border-color:#2d2d2d}.md-dark .default-theme h1,.md-dark .default-theme h2,.md-dark .default-theme h3,.md-dark .default-theme h4,.md-dark .default-theme h5,.md-dark .default-theme h6,.md-dark .default-theme strong{color:#999}.md-dark .default-theme img{border-color:#2d2d2d}.md-dark .default-theme blockquote{background-color:#111}.md-dark .default-theme pre code{background-color:#1a1a1a;color:#a9b7c6}.md-dark .default-theme pre .copy-button{color:#999}.md-dark .default-theme pre:before{background-color:#1a1a1a}.md-dark .default-theme table tr td,.md-dark .default-theme table tr th{border-color:#2d2d2d}.md-dark .default-theme table tr:nth-child(2n){background-color:#0c0c0c}.md-dark .default-theme table tr:hover{background-color:#191919}.github-theme{line-height:1.5}.github-theme ::-webkit-scrollbar{width:6px;height:6px}.github-theme ::-webkit-scrollbar-corner,.github-theme ::-webkit-scrollbar-track{background-color:#e2e2e2;border-radius:2px}.github-theme ::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(0,0,0,.30196078431372547)}.github-theme ::-webkit-scrollbar-button:vertical{display:none}.github-theme ::-webkit-scrollbar-thumb:vertical:hover{background-color:rgba(0,0,0,.34901960784313724)}.github-theme ::-webkit-scrollbar-thumb:vertical:active{background-color:rgba(0,0,0,.3803921568627451)}.github-theme h1,.github-theme h2,.github-theme h3,.github-theme h4,.github-theme h5,.github-theme h6{position:relative;word-break:break-all}.github-theme h1 a,.github-theme h2 a,.github-theme h3 a,.github-theme h4 a,.github-theme h5 a,.github-theme h6 a{color:inherit}.github-theme h1 a:hover,.github-theme h2 a:hover,.github-theme h3 a:hover,.github-theme h4 a:hover,.github-theme h5 a:hover,.github-theme h6 a:hover{color:inherit;text-decoration:none}.github-theme ol li{list-style:decimal}.github-theme ul li{list-style:disc}.github-theme ol .li-task,.github-theme ul .li-task{list-style-type:none}.github-theme ol .li-task input,.github-theme ul .li-task input{margin-left:-1.5em;margin-right:.1em}.github-theme code,.github-theme pre{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:14px;color:#24292f}.github-theme pre code{display:block}.github-theme pre code .code-block{display:inline-block;width:100%;overflow:auto}.github-theme figure{margin:0 0 1em;display:inline-block}.github-theme figure figcaption{color:#888;text-align:center;font-size:.875em;margin-top:5px}.github-theme hr{height:1px;margin:10px 0;border:none;border-top:1px solid #eaecef}.github-theme div[inline]>figure{display:inline-block;padding-right:.5em}.github-theme div[inline]>figure img{padding:0;border:none}.github-theme h1,.github-theme h2,.github-theme h3,.github-theme h4,.github-theme h5,.github-theme h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.github-theme h1{font-size:2em}.github-theme h1,.github-theme h2{padding-bottom:.3em;border-bottom:1px solid #d9dee4}.github-theme h2{font-size:1.5em}.github-theme h3{font-size:1.25em}.github-theme h4{font-size:1em}.github-theme h5{font-size:.875em}.github-theme h6{font-size:.85em;color:#2d3339}.github-theme a{text-decoration:none;color:#539bf5}.github-theme a:hover{text-decoration:underline}.github-theme img{max-width:100%;box-sizing:content-box;background-color:#fff}.github-theme blockquote,.github-theme details,.github-theme dl,.github-theme ol,.github-theme p,.github-theme pre,.github-theme table,.github-theme ul{margin-top:0;margin-bottom:16px}.github-theme p:empty{display:none}.github-theme code{padding:.2em .4em;margin:0;background-color:#eff1f2;border-radius:6px}.github-theme blockquote{padding:0 1em;color:#57606a;border-left:.25em solid #d0d7de}.github-theme pre{background-color:#f6f8fa;border-radius:6px;position:relative}.github-theme pre code{position:relative;padding:1em;line-height:1.45;margin-bottom:0;word-break:normal;letter-spacing:1px}.github-theme pre .copy-button{color:#999;position:absolute;font-size:12px;top:9px;right:10px;cursor:pointer;display:none}.github-theme pre:hover .copy-button{display:initial}.github-theme table{display:block;max-width:100%;overflow:auto;border-spacing:0;border-collapse:collapse}.github-theme table tr{background-color:#fff;border-top:1px solid #d8dee4}.github-theme table tr td,.github-theme table tr th{padding:6px 13px;border:1px solid #d0d7de}.github-theme table tr:nth-child(2n){background-color:#f7f8fa}.github-theme ol,.github-theme ul{padding-left:2em}.github-theme ol li+li,.github-theme ul li+li{margin-top:.25em}.md-dark .github-theme{color:#c9d1d9}.md-dark .github-theme ::-webkit-scrollbar-corner,.md-dark .github-theme ::-webkit-scrollbar-track{background-color:#0f0f0f}.md-dark .github-theme ::-webkit-scrollbar-thumb{background-color:#2d2d2d}.md-dark .github-theme ::-webkit-scrollbar-thumb:vertical:active,.md-dark .github-theme ::-webkit-scrollbar-thumb:vertical:hover{background-color:#3a3a3a}.md-dark .github-theme hr{border-color:#2d2d2d}.md-dark .github-theme h1,.md-dark .github-theme h2,.md-dark .github-theme h3,.md-dark .github-theme h4,.md-dark .github-theme h5,.md-dark .github-theme h6,.md-dark .github-theme strong{color:#c9d1d9}.md-dark .github-theme h1,.md-dark .github-theme h2{border-bottom:1px solid #373e47}.md-dark .github-theme img{border-color:#2d2d2d}.md-dark .github-theme blockquote{border-color:#444c56;color:#8b949e;background-color:initial}.md-dark .github-theme code{background-color:#2d3339;color:#c9d1d9}.md-dark .github-theme pre{background-color:#2d333b}.md-dark .github-theme pre code{color:#a9b7c6;background-color:#161b22}.md-dark .github-theme pre .copy-button{color:#999}.md-dark .github-theme pre:before{background-color:#1a1a1a}.md-dark .github-theme table tr{background-color:transparent;border-color:grey}.md-dark .github-theme table tr td,.md-dark .github-theme table tr th{border-color:#30363d}.md-dark .github-theme table tr:nth-child(2n){background-color:#161b22}.vuepress-theme{font-size:16px;color:#304455}.vuepress-theme ::-webkit-scrollbar{width:6px;height:6px}.vuepress-theme ::-webkit-scrollbar-corner,.vuepress-theme ::-webkit-scrollbar-track{background-color:#e2e2e2;border-radius:2px}.vuepress-theme ::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(0,0,0,.30196078431372547)}.vuepress-theme ::-webkit-scrollbar-button:vertical{display:none}.vuepress-theme ::-webkit-scrollbar-thumb:vertical:hover{background-color:rgba(0,0,0,.34901960784313724)}.vuepress-theme ::-webkit-scrollbar-thumb:vertical:active{background-color:rgba(0,0,0,.3803921568627451)}.vuepress-theme h1,.vuepress-theme h2,.vuepress-theme h3,.vuepress-theme h4,.vuepress-theme h5,.vuepress-theme h6{word-break:break-all}.vuepress-theme h1 a,.vuepress-theme h2 a,.vuepress-theme h3 a,.vuepress-theme h4 a,.vuepress-theme h5 a,.vuepress-theme h6 a{color:inherit}.vuepress-theme h1 a:hover,.vuepress-theme h2 a:hover,.vuepress-theme h3 a:hover,.vuepress-theme h4 a:hover,.vuepress-theme h5 a:hover,.vuepress-theme h6 a:hover{color:inherit;text-decoration:none}.vuepress-theme ol li{list-style:decimal}.vuepress-theme ul li{list-style:disc}.vuepress-theme ol .li-task,.vuepress-theme ul .li-task{list-style-type:none}.vuepress-theme ol .li-task input,.vuepress-theme ul .li-task input{margin-left:-1.5em;margin-right:.1em}.vuepress-theme code,.vuepress-theme pre{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:14px;color:#24292f}.vuepress-theme pre code{display:block}.vuepress-theme pre code .code-block{display:inline-block;width:100%;overflow:auto}.vuepress-theme figure{margin:0 0 1em;display:inline-block}.vuepress-theme figure figcaption{color:#888;text-align:center;font-size:.875em;margin-top:5px}.vuepress-theme hr{height:1px;margin:10px 0;border:none;border-top:1px solid #eaecef}.vuepress-theme h1,.vuepress-theme h2,.vuepress-theme h3,.vuepress-theme h4,.vuepress-theme h5,.vuepress-theme h6{font-weight:600;color:#273849;line-height:1.45;position:relative;margin-top:1em}.vuepress-theme h1{font-size:2.2em;margin:1em 0}.vuepress-theme h2{font-size:1.65em;padding-bottom:.3em;border-bottom:1px solid #eaecef}.vuepress-theme h3{line-height:1.35em}.vuepress-theme a{text-decoration:none;color:#42b983;font-weight:600}.vuepress-theme img{max-width:100%}.vuepress-theme div[inline]>figure{display:inline-block;padding-right:.5em}.vuepress-theme div[inline]>figure img{padding:0;border:none}.vuepress-theme em{color:#4f5959;padding:0 6px 0 4px}.vuepress-theme code{color:#d63200;padding:3px 5px;margin:0 2px;border-radius:2px;white-space:nowrap}.vuepress-theme p{word-spacing:.05em}.vuepress-theme p:empty{display:none}.vuepress-theme blockquote{margin:2em 0;padding-left:20px;border-left:4px solid #42b983}.vuepress-theme blockquote p{margin-left:0;margin-top:1.2em;margin-bottom:0;padding:0}.vuepress-theme code,.vuepress-theme pre{background-color:#f8f8f8}.vuepress-theme pre{border-radius:2px;position:relative;font-size:.875em;margin:1em 0}.vuepress-theme pre code{overflow-x:auto;color:#747384;white-space:pre;padding:1em;font-size:.85rem;line-height:1.6rem}.vuepress-theme pre .copy-button{color:#999;position:absolute;font-size:12px;top:9px;right:10px;cursor:pointer;display:none}.vuepress-theme pre:hover .copy-button{display:initial}.vuepress-theme table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}.vuepress-theme table tr{border-top:1px solid #dfe2e5}.vuepress-theme table tr td,.vuepress-theme table tr th{border:1px solid #dfe2e5;padding:.6em 1em}.vuepress-theme table tr:nth-child(2n){background-color:#f6f8fa}.vuepress-theme ol,.vuepress-theme p,.vuepress-theme ul{line-height:1.6em;margin:1.2em 0;position:relative;z-index:1}.vuepress-theme ol,.vuepress-theme ul{padding-left:1.25em;line-height:1.4em}.vuepress-theme ol li,.vuepress-theme ul li{margin:1.2em 0}.md-dark .vuepress-theme{color:#999}.md-dark .vuepress-theme ::-webkit-scrollbar-corner,.md-dark .vuepress-theme ::-webkit-scrollbar-track{background-color:#0f0f0f}.md-dark .vuepress-theme ::-webkit-scrollbar-thumb{background-color:#2d2d2d}.md-dark .vuepress-theme ::-webkit-scrollbar-thumb:vertical:active,.md-dark .vuepress-theme ::-webkit-scrollbar-thumb:vertical:hover{background-color:#3a3a3a}.md-dark .vuepress-theme hr{border-color:#2d2d2d}.md-dark .vuepress-theme h1,.md-dark .vuepress-theme h2,.md-dark .vuepress-theme h3,.md-dark .vuepress-theme h4,.md-dark .vuepress-theme h5,.md-dark .vuepress-theme h6,.md-dark .vuepress-theme strong{color:#999}.md-dark .vuepress-theme h2{border-color:#2d2d2d}.md-dark .vuepress-theme code{color:#e06c75;background-color:#1a1a1a}.md-dark .vuepress-theme pre{background-color:#1a1a1a}.md-dark .vuepress-theme pre code{background-color:#1a1a1a;color:#999}.md-dark .vuepress-theme pre:before{background-color:#1a1a1a}.md-dark .vuepress-theme table tr td,.md-dark .vuepress-theme table tr th{border-color:#2d2d2d}.md-dark .vuepress-theme table tr:nth-child(2n){background-color:#0c0c0c}.mark-down{width:100%;height:100%;display:flex;flex-direction:column}.mark-down .md{height:600px} \ No newline at end of file diff --git a/dist/css/chunk-4ad08c7e.e1e42978.css b/dist/css/chunk-4ad08c7e.e1e42978.css deleted file mode 100644 index 4ccd9ad..0000000 --- a/dist/css/chunk-4ad08c7e.e1e42978.css +++ /dev/null @@ -1 +0,0 @@ -[data-v-e14fc078] input{background:transparent;border:0;-webkit-appearance:none;border-radius:0;padding:12px 5px 12px 15px;color:#fff;height:47px;caret-color:#fff}.login-box[data-v-e14fc078]{width:80%;max-width:500px}.login-container[data-v-e14fc078]{min-height:100%;width:100%;overflow:hidden;background:#2d3a4b;background-size:cover;display:flex;justify-content:center;align-items:center}.login-container .login-box-content-right[data-v-e14fc078]{position:relative;display:inline-block;margin-left:10px;width:100%;height:370px;overflow:hidden}.login-container .login-box-content-right .login-form[data-v-e14fc078]{margin-top:20px} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index fad57ba..cf8d0c0 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1 +1 @@ -admin3
\ No newline at end of file +admin3
\ No newline at end of file diff --git a/dist/js/chunk-45459eaa.7db09f7b.js b/dist/js/chunk-45459eaa.7db09f7b.js deleted file mode 100644 index ad5a841..0000000 --- a/dist/js/chunk-45459eaa.7db09f7b.js +++ /dev/null @@ -1,2 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-45459eaa"],{1834:function(e,t,n){},"50a9":function(e,t,n){"use strict";n.r(t);var l=n("7a23"),r={class:"mark-down"},i={class:"",style:{flex:"1"}},a={style:{"margin-top":"20px","flex-shrink":"0"}},s=Object(l["createTextVNode"])("提交");function o(e,t,n,o,c,u){var d=Object(l["resolveComponent"])("md-editor"),p=Object(l["resolveComponent"])("el-button");return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",r,[Object(l["createElementVNode"])("div",i,[Object(l["createVNode"])(d,{modelValue:e.text,"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.text=t})},null,8,["modelValue"])]),Object(l["createElementVNode"])("div",a,[Object(l["createVNode"])(p,{type:"primary",onClick:e.submit},{default:Object(l["withCtx"])((function(){return[s]})),_:1},8,["onClick"])])])}var c=Object.defineProperty,u=Object.defineProperties,d=Object.getOwnPropertyDescriptors,p=Object.getOwnPropertySymbols,h=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,m=(e,t,n)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,g=(e,t)=>{for(var n in t||(t={}))h.call(t,n)&&m(e,n,t[n]);if(p)for(var n of p(t))b.call(t,n)&&m(e,n,t[n]);return e},f=(e,t)=>u(e,d(t)),v=(e,t,n)=>(m(e,"symbol"!==typeof t?t+"":t,n),n);const k="md",x="//at.alicdn.com/t/font_2605852_pqekijay2ij.js",y={atom:"https://cdn.jsdelivr.net/npm/highlight.js@11.2.0/styles/atom-one-dark.css",github:"https://cdn.jsdelivr.net/npm/highlight.js@11.2.0/styles/github.css",githubDark:"https://cdn.jsdelivr.net/npm/highlight.js@11.2.0/styles/github-dark.css",js:"https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.2.0/build/highlight.min.js"},w={main:"https://cdn.jsdelivr.net/npm/prettier@2.4.0/standalone.js",markdown:"https://cdn.jsdelivr.net/npm/prettier@2.4.0/parser-markdown.js"},j={css:"https://cdn.jsdelivr.net/npm/cropperjs@1.5.12/dist/cropper.min.css",js:"https://cdn.jsdelivr.net/npm/cropperjs@1.5.12/dist/cropper.min.js"},O="https://cdn.jsdelivr.net/npm/screenfull@5.1.0/dist/screenfull.js",C=["bold","underline","italic","strikeThrough","-","title","sub","sup","quote","unorderedList","orderedList","-","codeRow","code","link","image","table","mermaid","katex","-","revoke","next","save","=","prettier","pageFullscreen","fullscreen","preview","htmlPreview","catalog","github"],S={"zh-CN":{toolbarTips:{bold:"加粗",underline:"下划线",italic:"斜体",strikeThrough:"删除线",title:"标题",sub:"下标",sup:"上标",quote:"引用",unorderedList:"无序列表",orderedList:"有序列表",codeRow:"行内代码",code:"块级代码",link:"链接",image:"图片",table:"表格",mermaid:"mermaid图",katex:"公式",revoke:"后退",next:"前进",save:"保存",prettier:"美化",pageFullscreen:"浏览器全屏",fullscreen:"屏幕全屏",preview:"预览",htmlPreview:"html代码预览",catalog:"目录",github:"源码地址"},titleItem:{h1:"一级标题",h2:"二级标题",h3:"三级标题",h4:"四级标题",h5:"五级标题",h6:"六级标题"},imgTitleItem:{link:"添加链接",upload:"上传图片",clip2upload:"裁剪上传"},linkModalTips:{title:"添加",descLable:"链接描述:",descLablePlaceHolder:"请输入描述...",urlLable:"链接地址:",UrlLablePlaceHolder:"请输入链接...",buttonOK:"确定"},clipModalTips:{title:"裁剪图片上传",buttonUpload:"上传"},copyCode:{text:"复制代码",tips:"已复制!"},mermaid:{flow:"流程图",sequence:"时序图",gantt:"甘特图",class:"类图",state:"状态图",pie:"饼图",relationship:"关系图",journey:"旅程图"},katex:{inline:"行内公式",block:"块级公式"}},"en-US":{toolbarTips:{bold:"bold",underline:"underline",italic:"italic",strikeThrough:"strikeThrough",title:"title",sub:"subscript",sup:"superscript",quote:"quote",unorderedList:"unordered list",orderedList:"ordered list",codeRow:"inline code",code:"block-level code",link:"link",image:"image",table:"table",mermaid:"mermaid",katex:"formula",revoke:"revoke",next:"undo revoke",save:"save",prettier:"prettier",pageFullscreen:"fullscreen in page",fullscreen:"fullscreen",preview:"preview",htmlPreview:"html preview",catalog:"catalog",github:"source code"},titleItem:{h1:"Lv1 Heading",h2:"Lv2 Heading",h3:"Lv3 Heading",h4:"Lv4 Heading",h5:"Lv5 Heading",h6:"Lv6 Heading"},imgTitleItem:{link:"Add Img Link",upload:"Upload Img",clip2upload:"Clip Upload"},linkModalTips:{title:"Add ",descLable:"Desc:",descLablePlaceHolder:"Enter a description...",urlLable:"Link:",UrlLablePlaceHolder:"Enter a link...",buttonOK:"OK"},clipModalTips:{title:"Crop Image",buttonUpload:"Upload"},copyCode:{text:"Copy",tips:"Copied!"},mermaid:{flow:"flow",sequence:"sequence",gantt:"gantt",class:"class",state:"state",pie:"pie",relationship:"relationship",journey:"journey"},katex:{inline:"inline",block:"block"}}},V="https://cdn.jsdelivr.net/npm/mermaid@8.13.5/dist/mermaid.min.js",N="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.js",$="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.css";class T{constructor(){v(this,"pools",{})}remove(e,t,n){const l=this.pools[e],r=l&&this.pools[e][t];r&&(this.pools[e][t]=r.filter(e=>e===n))}clear(e){this.pools[e]={}}on(e,t){return this.pools[e]||(this.pools[e]={}),this.pools[e][t.name]||(this.pools[e][t.name]=[]),this.pools[e][t.name].push(t.callback),this.pools[e][t.name].includes(t.callback)}emit(e,t,...n){this.pools[e]||(this.pools[e]={});const l=this.pools[e],r=l[t];r&&r.forEach(e=>{try{e(...n)}catch(l){console.error(t+" monitor event exception!",l)}})}}var E=new T;const _=(e,t)=>{const n=n=>{const l=e.parentElement||document.body,r=l.offsetWidth,i=l.offsetHeight,{clientWidth:a}=document.documentElement,{clientHeight:s}=document.documentElement,o=n.offsetX,c=n.offsetY,u=e=>{let n=e.x+document.body.scrollLeft-document.body.clientLeft-o,u=e.y+document.body.scrollTop-document.body.clientTop-c;n=n<1?1:n{document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",d)};document.addEventListener("mouseup",d)};return e.addEventListener("mousedown",n),()=>{e.removeEventListener("mousedown",n)}},I=(e,t="")=>{const n=document.getElementById(e.id);n?""!==t&&e.onload instanceof Function&&(Reflect.get(window,t)?e.onload(new Event("load")):n.addEventListener("load",e.onload)):document.head.appendChild(e)},L=(e,t)=>{const{editorId:n}=e,r=t=>{var n,l;return(null==(n=e.toolbars)?void 0:n.includes(t))&&!(null==(l=e.toolbarsExclude)?void 0:l.includes(t))},i=t=>{if(t.target===document.querySelector(`#${e.editorId}-textarea`))if(t.ctrlKey||t.metaKey)switch(t.code){case"KeyS":t.shiftKey?r("strikeThrough")&&E.emit(n,"replace","strikeThrough"):r("save")&&(E.emit(n,"onSave",e.modelValue),t.preventDefault());break;case"KeyB":r("bold")&&(E.emit(n,"replace","bold"),t.preventDefault());break;case"KeyU":t.shiftKey?r("unorderedList")&&(E.emit(n,"replace","unorderedList"),t.preventDefault()):r("underline")&&(E.emit(n,"replace","underline"),t.preventDefault());break;case"KeyI":t.shiftKey?r("image")&&(E.emit(n,"openModals","image"),t.preventDefault()):r("italic")&&(E.emit(n,"replace","italic"),t.preventDefault());break;case"Digit1":r("title")&&(E.emit(n,"replace","h1"),t.preventDefault());break;case"Digit2":r("title")&&(E.emit(n,"replace","h2"),t.preventDefault());break;case"Digit3":r("title")&&(E.emit(n,"replace","h3"),t.preventDefault());break;case"Digit4":r("title")&&(E.emit(n,"replace","h4"),t.preventDefault());break;case"Digit5":r("title")&&(E.emit(n,"replace","h5"),t.preventDefault());break;case"Digit6":r("title")&&(E.emit(n,"replace","h6"),t.preventDefault());break;case"ArrowUp":r("sup")&&(E.emit(n,"replace","sup"),t.preventDefault());break;case"ArrowDown":r("sub")&&(E.emit(n,"replace","sub"),t.preventDefault());break;case"KeyQ":if("a"===t.key)return void t.target.select();E.emit(n,"replace","quote"),t.preventDefault();break;case"KeyA":if("q"===t.key){E.emit(n,"replace","quote"),t.preventDefault();break}return;case"KeyO":r("orderedList")&&(E.emit(n,"replace","orderedList"),t.preventDefault());break;case"KeyC":if(t.shiftKey)r("code")&&(E.emit(n,"replace","code"),t.preventDefault());else{if(!t.altKey){t.preventDefault(),E.emit(n,"replace","ctrlC");break}r("codeRow")&&(E.emit(n,"replace","codeRow"),t.preventDefault())}break;case"KeyL":r("link")&&(E.emit(n,"openModals","link"),t.preventDefault());break;case"KeyZ":if("w"===t.key)return;t.shiftKey?r("next")&&(E.emit(n,"ctrlShiftZ"),t.preventDefault()):r("revoke")&&(E.emit(n,"ctrlZ"),t.preventDefault());break;case"KeyW":if("z"===t.key){t.shiftKey?r("next")&&(E.emit(n,"ctrlShiftZ"),t.preventDefault()):r("revoke")&&(E.emit(n,"ctrlZ"),t.preventDefault());break}return;case"KeyF":t.shiftKey&&r("prettier")&&(E.emit(n,"replace","prettier"),t.preventDefault());break;case"KeyT":t.altKey&&t.shiftKey&&r("table")&&(E.emit(n,"replace","table"),t.preventDefault());break;case"KeyX":E.emit(n,"replace","ctrlX"),t.preventDefault();break;case"KeyD":t.preventDefault(),E.emit(n,"replace","ctrlD");break}else"Tab"===t.code&&(t.preventDefault(),t.shiftKey?E.emit(n,"replace","shiftTab"):E.emit(n,"replace","tab"))};Object(l["onMounted"])(()=>{e.previewOnly||(window.addEventListener("keydown",i),E.on(n,{name:"onSave",callback(){e.onSave?e.onSave(e.modelValue):t.emit("onSave",e.modelValue)}}))}),Object(l["onBeforeUnmount"])(()=>{e.previewOnly||window.removeEventListener("keydown",i)})},z=e=>{const{editorId:t}=e;Object(l["provide"])("editorId",t),Object(l["provide"])("tabWidth",e.tabWidth),Object(l["provide"])("theme",Object(l["computed"])(()=>e.theme));const n=Object(l["computed"])(()=>{let t=y.atom;if(e.highlightCss)t=e.highlightCss;else switch(e.previewTheme){case"github":t="dark"===e.theme?y.githubDark:y.github;break}return{js:e.highlightJs,css:t}});Object(l["provide"])("highlight",n),Object(l["provide"])("historyLength",e.historyLength),Object(l["provide"])("previewOnly",e.previewOnly),Object(l["provide"])("showCodeRowNumber",e.showCodeRowNumber);const r=Object(l["computed"])(()=>{const t=g(g({},S),e.languageUserDefined);return t[e.language]?t[e.language]:S["zh-CN"]});Object(l["provide"])("usedLanguageText",r),Object(l["provide"])("Cropper",e.Cropper),Object(l["provide"])("previewTheme",Object(l["computed"])(()=>e.previewTheme))},D=e=>{const{iconfontJs:t,prettier:n,prettierCDN:r,prettierMDCDN:i,previewOnly:a,cropperCss:s,cropperJs:o}=e;Object(l["onMounted"])(()=>{const l=document.createElement("script");l.src=t,l.id=k+"-icon";const c=document.createElement("script"),u=document.createElement("script");c.src=r,c.id=k+"-prettier",u.src=i,u.id=k+"-prettierMD";const d=document.createElement("link");d.rel="stylesheet",d.href=s,d.id=k+"-cropperCss";const p=document.createElement("script");p.src=o,p.id=k+"-cropper",a||(I(l),e.Cropper||(I(d),I(p)),n&&(I(c),I(u)))})};var A=Object(l["defineComponent"])({setup(){return()=>Object(l["createVNode"])("div",{class:k+"-divider"},null)}});const R=({instance:e,ctx:t,props:n={}},l="default")=>{const r=(null==e?void 0:e.$slots[l])||(null==t?void 0:t.slots[l]);return(r?r(e):"")||n[l]};var M=Object(l["defineComponent"])({props:{trigger:{type:String,default:"hover"},overlay:{type:[String,Object],default:""},visible:{type:Boolean,default:!1},onChange:{type:Function,default:()=>()=>{}}},setup(e,t){const n=k+"-dropdown-hidden",r=Object(l["reactive"])({overlayClass:[n],overlayStyle:{},triggerHover:!1,overlayHover:!1}),i=Object(l["ref"])(),a=Object(l["ref"])(),s=()=>{"hover"===e.trigger&&(r.triggerHover=!0);const t=i.value,n=a.value,l=t.getBoundingClientRect(),s=t.offsetTop,o=t.offsetLeft,c=l.height,u=l.width;r.overlayStyle=f(g({},r.overlayStyle),{top:s+c+"px",left:o-n.offsetWidth/2+u/2+"px"}),e.onChange(!0)},o=()=>{r.overlayHover=!0};Object(l["watch"])(()=>e.visible,e=>{e?r.overlayClass=r.overlayClass.filter(e=>e!==n):r.overlayClass.push(n)});const c=t=>{const n=i.value,l=a.value;n.contains(t.target)||l.contains(t.target)||e.onChange(!1)};let u=-1;const d=t=>{i.value===t.target?r.triggerHover=!1:r.overlayHover=!1,clearTimeout(u),u=window.setTimeout(()=>{r.overlayHover||r.triggerHover||e.onChange(!1)},10)};return Object(l["onMounted"])(()=>{"click"===e.trigger?(i.value.addEventListener("click",s),document.addEventListener("click",c)):(i.value.addEventListener("mouseenter",s),i.value.addEventListener("mouseleave",d),a.value.addEventListener("mouseenter",o),a.value.addEventListener("mouseleave",d))}),Object(l["onBeforeUnmount"])(()=>{"click"===e.trigger?(i.value.removeEventListener("click",s),document.removeEventListener("click",c)):(i.value.removeEventListener("mouseenter",s),i.value.removeEventListener("mouseleave",d),a.value.removeEventListener("mouseenter",o),a.value.removeEventListener("mouseleave",d))}),()=>{const n=R({ctx:t}),s=R({props:e,ctx:t},"overlay"),o=Object(l["cloneVNode"])(n instanceof Array?n[0]:n,{ref:i}),c=Object(l["createVNode"])("div",{class:[k+"-dropdown",r.overlayClass],style:r.overlayStyle,ref:a},[Object(l["createVNode"])("div",{class:k+"-dropdown-overlay"},[s instanceof Array?s[0]:s])]);return[o,c]}}});const P=(e,t=0,n=t)=>{e.setSelectionRange?setTimeout(()=>{e.setSelectionRange(t,n),e.focus()},0):console.log("can not reset position!")},F=(e,t,n)=>{const{deviationStart:l=0,deviationEnd:r=0,direct:i=!1,select:a=!1}=n;let s="";if(e.selectionStart||0===e.selectionStart){const i=e.selectionStart,o=e.selectionEnd||0,{prefixVal:c=e.value.substring(0,i),subfixVal:u=e.value.substring(o,e.value.length)}=n;s=c+t+u,P(e,a?i+l:i+t.length+r,i+t.length+r)}else s+=t;return i&&(e.value=s),s},H=(e,t={newWindow:!0,nofollow:!0})=>{e||console.warn("error link!");const n=document.createElement("a");n.href=e,n.style.display="none",t.newWindow&&(n.target="_blank"),t.nofollow&&(n.rel="noopener noreferrer"),document.body.appendChild(n),n.click(),document.body.removeChild(n)},B=(e,t)=>{const n=K(()=>{e.removeEventListener("scroll",l),e.addEventListener("scroll",l),t.removeEventListener("scroll",l),t.addEventListener("scroll",l)},50),l=r=>{const i=e.clientHeight,a=t.clientHeight,s=e.scrollHeight,o=t.scrollHeight,c=(s-i)/(o-a);r.target===e?(t.removeEventListener("scroll",l),t.scrollTo({top:e.scrollTop/c}),n()):(e.removeEventListener("scroll",l),e.scrollTo({top:t.scrollTop*c}),n())};return[n,()=>{e.removeEventListener("scroll",l),t.removeEventListener("scroll",l)}]},q=(e,t="image.png")=>{const n=e.split(","),l=n[0].match(/:(.*?);/);if(l){const e=l[1],r=atob(n[1]);let i=r.length;const a=new Uint8Array(i);while(i--)a[i]=r.charCodeAt(i);const s=new File([a],t,{type:e});return s}return null},U=e=>{if(!e.trim())return e;const t=e.split("\n"),n=['"),`${e}${n.join("")}`},K=(e,t=200)=>{let n=0;return(...l)=>{n&&clearTimeout(n),n=window.setTimeout(()=>{e.apply(globalThis,l),n=0},t)}};var Z=Object(l["defineComponent"])({props:{title:{type:String,default:""},visible:{type:Boolean,default:!1},width:{type:String,default:"auto"},height:{type:String,default:"auto"},onClosed:{type:Function,default:()=>()=>{}},showAdjust:{type:Boolean,default:!1},isFullscreen:{type:Boolean,default:!1},onAdjust:{type:Function,default:()=>()=>{}}},setup(e,t){const n=Object(l["ref"])(e.visible),r=Object(l["ref"])([k+"-modal"]),i=Object(l["ref"])(),a=Object(l["ref"])();let s=()=>{};const o=Object(l["reactive"])({initPos:{left:"0px",top:"0px"},historyPos:{left:"0px",top:"0px"}});return Object(l["onMounted"])(()=>{s=_(a.value,(e,t)=>{o.initPos.left=e+"px",o.initPos.top=t+"px"})}),Object(l["onBeforeUnmount"])(()=>{s()}),Object(l["watch"])(()=>e.isFullscreen,e=>{e?s():s=_(a.value,(e,t)=>{o.initPos.left=e+"px",o.initPos.top=t+"px"})}),Object(l["watch"])(()=>e.visible,e=>{e?(r.value.push("zoom-in"),n.value=e,Object(l["nextTick"])(()=>{const e=i.value.offsetWidth/2,t=i.value.offsetHeight/2,n=document.documentElement.clientWidth/2,l=document.documentElement.clientHeight/2;o.initPos.left=n-e+"px",o.initPos.top=l-t+"px"}),setTimeout(()=>{r.value=r.value.filter(e=>"zoom-in"!==e)},140)):(r.value.push("zoom-out"),setTimeout(()=>{r.value=r.value.filter(e=>"zoom-out"!==e),n.value=e},130))}),()=>{const s=R({ctx:t}),c=R({props:e,ctx:t},"title");return Object(l["createVNode"])("div",{style:{display:n.value?"block":"none"}},[Object(l["createVNode"])("div",{class:k+"-modal-mask",onClick:e.onClosed},null),Object(l["createVNode"])("div",{class:r.value,style:f(g({},o.initPos),{width:e.width,height:e.height}),ref:i},[Object(l["createVNode"])("div",{class:k+"-modal-header",ref:a},[c||""]),Object(l["createVNode"])("div",{class:k+"-modal-body"},[s]),Object(l["createVNode"])("div",{class:k+"-modal-func"},[e.showAdjust&&Object(l["createVNode"])("div",{class:k+"-modal-adjust",onClick:t=>{t.stopPropagation(),e.isFullscreen?o.initPos=o.historyPos:(o.historyPos=o.initPos,o.initPos={left:"0",top:"0"}),e.onAdjust(!e.isFullscreen)}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-"+(e.isFullscreen?"suoxiao":"fangda")},null)])]),Object(l["createVNode"])("div",{class:k+"-modal-close",onClick:t=>{t.stopPropagation(),e.onClosed&&e.onClosed()}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-close"},null)])])])])])}}}),J=Object(l["defineComponent"])({props:{type:{type:String,default:"link"},visible:{type:Boolean,default:!1},onCancel:{type:Function,default:()=>()=>{}},onOk:{type:Function,default:()=>()=>{}}},setup(e){const t=Object(l["inject"])("usedLanguageText"),n=Object(l["inject"])("editorId"),r=Object(l["computed"])(()=>{var n,l,r,i;switch(e.type){case"link":return`${null==(n=t.value.linkModalTips)?void 0:n.title}${null==(l=t.value.toolbarTips)?void 0:l.link}`;case"image":return`${null==(r=t.value.linkModalTips)?void 0:r.title}${null==(i=t.value.toolbarTips)?void 0:i.image}`;default:return""}}),i=Object(l["reactive"])({desc:"",url:""});return Object(l["watch"])(()=>e.visible,e=>{e||setTimeout(()=>{i.desc="",i.url=""},200)}),()=>Object(l["createVNode"])(Z,{title:r.value,visible:e.visible,onClosed:e.onCancel},{default:()=>{var r,a,s,o,c;return[Object(l["createVNode"])("div",{class:k+"-form-item"},[Object(l["createVNode"])("label",{class:k+"-lable",for:"link-desc-"+n},[null==(r=t.value.linkModalTips)?void 0:r.descLable]),Object(l["createVNode"])("input",{placeholder:null==(a=t.value.linkModalTips)?void 0:a.descLablePlaceHolder,class:k+"-input",id:"link-desc-"+n,type:"text",value:i.desc,onChange:e=>{i.desc=e.target.value},autocomplete:"off"},null)]),Object(l["createVNode"])("div",{class:k+"-form-item"},[Object(l["createVNode"])("label",{class:k+"-lable",for:"link-url-"+n},[null==(s=t.value.linkModalTips)?void 0:s.urlLable]),Object(l["createVNode"])("input",{placeholder:null==(o=t.value.linkModalTips)?void 0:o.UrlLablePlaceHolder,class:k+"-input",id:"link-url-"+n,type:"text",value:i.url,onChange:e=>{i.url=e.target.value},autocomplete:"off"},null)]),Object(l["createVNode"])("div",{class:k+"-form-item"},[Object(l["createVNode"])("button",{class:[k+"-btn",k+"-btn-row"],type:"button",onClick:()=>{e.onOk(i),i.desc="",i.url=""}},[null==(c=t.value.linkModalTips)?void 0:c.buttonOK])])]}})}}),W=Object(l["defineComponent"])({props:{visible:{type:Boolean,default:!1},onCancel:{type:Function,default:()=>()=>{}},onOk:{type:Function,default:()=>()=>{}}},setup(e){const t=Object(l["inject"])("usedLanguageText"),n=Object(l["inject"])("editorId");let r=Object(l["inject"])("Cropper");const i=Object(l["ref"])(),a=Object(l["ref"])(),s=Object(l["ref"])(),o=Object(l["reactive"])({cropperInited:!1,imgSelected:!1,imgSrc:"",isFullscreen:!1});let c=null;Object(l["watch"])(()=>e.visible,()=>{e.visible&&!o.cropperInited&&(r=r||window.Cropper,i.value.onchange=()=>{const e=i.value.files||[];if(o.imgSelected=!0,(null==e?void 0:e.length)>0){const t=new FileReader;t.onload=e=>{o.imgSrc=e.target.result,Object(l["nextTick"])(()=>{c=new r(a.value,{viewMode:2,preview:`.${k}-clip-preview-target`})})},t.readAsDataURL(e[0])}})}),Object(l["watch"])(()=>[o.imgSelected],()=>{s.value.style=""}),Object(l["watch"])(()=>o.isFullscreen,()=>{Object(l["nextTick"])(()=>{null==c||c.destroy(),s.value.style="",a.value&&(c=new r(a.value,{viewMode:2,preview:`.${k}-clip-preview-target`}))})});const u=Object(l["computed"])(()=>o.isFullscreen?{width:"100%",height:"100%"}:{width:"668px",height:"421px"}),d=()=>{c.destroy(),i.value.value="",o.imgSelected=!1};return()=>{var r;return Object(l["createVNode"])(Z,Object(l["mergeProps"])({title:null==(r=t.value.clipModalTips)?void 0:r.title,visible:e.visible,onClosed:e.onCancel,showAdjust:!0,isFullscreen:o.isFullscreen,onAdjust:e=>{o.isFullscreen=e}},u.value),{default:()=>{var r;return[Object(l["createVNode"])("div",{class:`${k}-form-item ${k}-clip`},[Object(l["createVNode"])("div",{class:k+"-clip-main"},[o.imgSelected?Object(l["createVNode"])("div",{class:k+"-clip-cropper"},[Object(l["createVNode"])("img",{src:o.imgSrc,ref:a,style:{display:"none"}},null),Object(l["createVNode"])("div",{class:k+"-clip-delete",onClick:d},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-delete"},null)])])]):Object(l["createVNode"])("div",{class:k+"-clip-upload",onClick:()=>{i.value.click()}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-upload"},null)])])]),Object(l["createVNode"])("div",{class:k+"-clip-preview"},[Object(l["createVNode"])("div",{class:k+"-clip-preview-target",ref:s},null)])]),Object(l["createVNode"])("div",{class:k+"-form-item"},[Object(l["createVNode"])("button",{class:k+"-btn",type:"button",onClick:()=>{const t=c.getCroppedCanvas();E.emit(n,"uploadImage",[q(t.toDataURL("image/png"))],e.onOk),d()}},[null==(r=t.value.linkModalTips)?void 0:r.buttonOK])]),Object(l["createVNode"])("input",{ref:i,accept:"image/*",type:"file",multiple:!1,style:{display:"none"}},null)]}})}}}),G=Object(l["defineComponent"])({props:{type:{type:String,default:"link"},linkVisible:{type:Boolean,default:!1},clipVisible:{type:Boolean,default:!1},onCancel:{type:Function,default:()=>()=>{}},onOk:{type:Function,default:()=>()=>{}}},setup(e){return()=>Object(l["createVNode"])(l["Fragment"],null,[Object(l["createVNode"])(J,{type:e.type,visible:e.linkVisible,onOk:e.onOk,onCancel:e.onCancel},null),Object(l["createVNode"])(W,{visible:e.clipVisible,onOk:e.onOk,onCancel:e.onCancel},null)])}});const Q=e=>{const t=Object(l["inject"])("previewOnly");let{screenfull:n}=e;const r=()=>{n.isEnabled?n.isFullscreen?n.exit():n.request():console.error("browser does not support screenfull!")},i=()=>{n=window.screenfull,n&&n.isEnabled&&n.on("change",()=>{e.updateSetting(!e.setting.fullscreen,"fullscreen")})};return Object(l["onMounted"])(()=>{if(n&&n.isEnabled&&n.on("change",()=>{e.updateSetting(!e.setting.fullscreen,"fullscreen")}),!t&&null===e.screenfull){const t=document.createElement("script");t.src=e.screenfullJs,t.addEventListener("load",i),t.id=k+"-screenfull",I(t)}}),{fullScreenHandler:r}},X=Object(l["defineComponent"])({name:"TableShape",props:{tableShape:{type:Array,default:()=>[6,4]},onSelected:{type:Function,default:()=>{}}},setup(e){const t=Object(l["reactive"])({x:-1,y:-1});return()=>Object(l["createVNode"])("div",{class:k+"-table-shape",onMouseleave:()=>{t.x=-1,t.y=-1}},[new Array(e.tableShape[1]).fill("").map((n,r)=>Object(l["createVNode"])("div",{class:k+"-table-shape-row",key:"table-shape-row-"+r},[new Array(e.tableShape[0]).fill("").map((n,i)=>Object(l["createVNode"])("div",{class:k+"-table-shape-col",key:"table-shape-col-"+i,onMouseenter:()=>{t.x=r,t.y=i},onClick:()=>{e.onSelected(t)}},[Object(l["createVNode"])("div",{class:[k+"-table-shape-col-default",r<=t.x&&i<=t.y&&k+"-table-shape-col-include"]},null)]))]))])}});var Y=Object(l["defineComponent"])({name:"MDEditorToolbar",props:{prettier:{type:Boolean},toolbars:{type:Array,default:()=>[]},toolbarsExclude:{type:Array,default:()=>[]},setting:{type:Object,default:()=>({})},screenfull:{type:Object,default:null},screenfullJs:{type:String,default:""},updateSetting:{type:Function,default:()=>()=>{}},tableShape:{type:Array,default:()=>[6,4]},defToolbars:{type:Object}},setup(e){const t=Object(l["inject"])("editorId"),n=Object(l["inject"])("usedLanguageText"),{fullScreenHandler:r}=Q(e),i=Object(l["reactive"])({title:!1,catalog:!1,image:!1,table:!1,mermaid:!1,katex:!1}),a=(e,n)=>{E.emit(t,"replace",e,n)},s=Object(l["reactive"])({type:"link",linkVisible:!1,clipVisible:!1}),o=Object(l["ref"])();Object(l["onMounted"])(()=>{var e;E.on(t,{name:"openModals",callback(e){s.type=e,s.linkVisible=!0}}),null==(e=o.value)||e.addEventListener("mouseover",()=>{var e;(null==(e=window.getSelection())?void 0:e.toString())||E.emit(t,"selectTextChange","")})});const c=Object(l["computed"])(()=>{const t=e.toolbars.filter(t=>!e.toolbarsExclude.includes(t)),n=t.indexOf("="),l=-1===n?t:t.slice(0,n+1),r=-1===n?[]:t.slice(n,Number.MAX_SAFE_INTEGER);return[l,r]}),u=Object(l["ref"])(),d=()=>{E.emit(t,"uploadImage",u.value.files),u.value.value=""};Object(l["onMounted"])(()=>{u.value.addEventListener("change",d)});const p=o=>{var c,d,p,h,b,m,g,f,v,x,y,w,j,O,S,V,N,$,T,_,I,L,z,D,R,P,F,B,q,U,K,Z,J,W,G,Q,Y,ee,te,ne,le;if(!C.includes(o)){if(e.defToolbars instanceof Array){const t=e.defToolbars[o];return t||""}if(e.defToolbars&&e.defToolbars.children instanceof Array){const t=e.defToolbars.children[o];return t||""}return""}switch(o){case"-":return Object(l["createVNode"])(A,null,null);case"bold":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(c=n.value.toolbarTips)?void 0:c.bold,onClick:()=>{a("bold")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-bold"},null)])]);case"underline":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(d=n.value.toolbarTips)?void 0:d.underline,onClick:()=>{a("underline")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-underline"},null)])]);case"italic":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(p=n.value.toolbarTips)?void 0:p.italic,onClick:()=>{a("italic")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-italic"},null)])]);case"strikeThrough":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(h=n.value.toolbarTips)?void 0:h.strikeThrough,onClick:()=>{a("strikeThrough")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-strike-through"},null)])]);case"title":return Object(l["createVNode"])(M,{visible:i.title,onChange:e=>{i.title=e},overlay:Object(l["createVNode"])("ul",{class:k+"-menu",onClick:()=>{i.title=!1}},[Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("h1")}},[null==(b=n.value.titleItem)?void 0:b.h1]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("h2")}},[null==(m=n.value.titleItem)?void 0:m.h2]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("h3")}},[null==(g=n.value.titleItem)?void 0:g.h3]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("h4")}},[null==(f=n.value.titleItem)?void 0:f.h4]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("h5")}},[null==(v=n.value.titleItem)?void 0:v.h5]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("h6")}},[null==(x=n.value.titleItem)?void 0:x.h6])])},{default:()=>{var e;return[Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(e=n.value.toolbarTips)?void 0:e.title},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-title"},null)])])]}});case"sub":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(y=n.value.toolbarTips)?void 0:y.sub,onClick:()=>{a("sub")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-sub"},null)])]);case"sup":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(w=n.value.toolbarTips)?void 0:w.sup,onClick:()=>{a("sup")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-sup"},null)])]);case"quote":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(j=n.value.toolbarTips)?void 0:j.quote,onClick:()=>{a("quote")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-quote"},null)])]);case"unorderedList":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(O=n.value.toolbarTips)?void 0:O.unorderedList,onClick:()=>{a("unorderedList")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-unordered-list"},null)])]);case"orderedList":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(S=n.value.toolbarTips)?void 0:S.orderedList,onClick:()=>{a("orderedList")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-ordered-list"},null)])]);case"codeRow":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(V=n.value.toolbarTips)?void 0:V.codeRow,onClick:()=>{a("codeRow")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-code-row"},null)])]);case"code":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(N=n.value.toolbarTips)?void 0:N.code,onClick:()=>{a("code")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-code"},null)])]);case"link":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==($=n.value.toolbarTips)?void 0:$.link,onClick:()=>{s.type="link",s.linkVisible=!0}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-link"},null)])]);case"image":return Object(l["createVNode"])(M,{visible:i.image,onChange:e=>{i.image=e},overlay:Object(l["createVNode"])("ul",{class:k+"-menu",onClick:()=>{i.title=!1}},[Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{s.type="image",s.linkVisible=!0}},[null==(T=n.value.imgTitleItem)?void 0:T.link]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{u.value.click()}},[null==(_=n.value.imgTitleItem)?void 0:_.upload]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{s.clipVisible=!0}},[null==(I=n.value.imgTitleItem)?void 0:I.clip2upload])])},{default:()=>{var e;return[Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(e=n.value.toolbarTips)?void 0:e.image},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-image"},null)])])]}});case"table":return Object(l["createVNode"])(M,{visible:i.table,onChange:e=>{i.table=e},key:"bar-table",overlay:Object(l["createVNode"])(X,{tableShape:e.tableShape,onSelected:e=>{a("table",{selectedShape:e})}},null)},{default:()=>{var e;return[Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(e=n.value.toolbarTips)?void 0:e.table},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-table"},null)])])]}});case"revoke":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(L=n.value.toolbarTips)?void 0:L.revoke,onClick:()=>{E.emit(t,"ctrlZ")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-revoke"},null)])]);case"next":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(z=n.value.toolbarTips)?void 0:z.next,onClick:()=>{E.emit(t,"ctrlShiftZ")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-next"},null)])]);case"save":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(D=n.value.toolbarTips)?void 0:D.save,onClick:()=>{E.emit(t,"onSave")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-baocun"},null)])]);case"prettier":return e.prettier?Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(R=n.value.toolbarTips)?void 0:R.prettier,onClick:()=>{a("prettier")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-prettier"},null)])]):"";case"pageFullscreen":return!e.setting.fullscreen&&Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(P=n.value.toolbarTips)?void 0:P.pageFullscreen,onClick:()=>{e.updateSetting(!e.setting.pageFullScreen,"pageFullScreen")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-"+(e.setting.pageFullScreen?"suoxiao":"fangda")},null)])]);case"fullscreen":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(F=n.value.toolbarTips)?void 0:F.fullscreen,onClick:r},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-"+(e.setting.fullscreen?"fullScreen-exit":"fullScreen")},null)])]);case"preview":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(B=n.value.toolbarTips)?void 0:B.preview,onClick:()=>{e.updateSetting(!e.setting.preview,"preview")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-preview"},null)])]);case"htmlPreview":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(q=n.value.toolbarTips)?void 0:q.htmlPreview,onClick:()=>{e.updateSetting(!e.setting.htmlPreview,"htmlPreview")}},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-coding"},null)])]);case"catalog":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(U=n.value.toolbarTips)?void 0:U.catalog,onClick:()=>{E.emit(t,"catalogShow")},key:"bar-catalog"},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-catalog"},null)])]);case"github":return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(K=n.value.toolbarTips)?void 0:K.github,onClick:()=>H("https://github.com/imzbf/md-editor-v3")},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-github"},null)])]);case"mermaid":return Object(l["createVNode"])(M,{visible:i.mermaid,onChange:e=>{i.mermaid=e},overlay:Object(l["createVNode"])("ul",{class:k+"-menu",onClick:()=>{i.mermaid=!1}},[Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("flow")}},[null==(Z=n.value.mermaid)?void 0:Z.flow]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("sequence")}},[null==(J=n.value.mermaid)?void 0:J.sequence]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("gantt")}},[null==(W=n.value.mermaid)?void 0:W.gantt]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("class")}},[null==(G=n.value.mermaid)?void 0:G.class]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("state")}},[null==(Q=n.value.mermaid)?void 0:Q.state]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("pie")}},[null==(Y=n.value.mermaid)?void 0:Y.pie]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("relationship")}},[null==(ee=n.value.mermaid)?void 0:ee.relationship]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("journey")}},[null==(te=n.value.mermaid)?void 0:te.journey])]),key:"bar-mermaid"},{default:()=>{var e;return[Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(e=n.value.toolbarTips)?void 0:e.mermaid},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-mermaid"},null)])])]}});case"katex":return Object(l["createVNode"])(M,{visible:i.katex,onChange:e=>{i.katex=e},overlay:Object(l["createVNode"])("ul",{class:k+"-menu",onClick:()=>{i.katex=!1}},[Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("katexInline")}},[null==(ne=n.value.katex)?void 0:ne.inline]),Object(l["createVNode"])("li",{class:k+"-menu-item",onClick:()=>{a("katexBlock")}},[null==(le=n.value.katex)?void 0:le.block])]),key:"bar-katex"},{default:()=>{var e;return[Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:null==(e=n.value.toolbarTips)?void 0:e.mermaid},[Object(l["createVNode"])("svg",{class:k+"-icon","aria-hidden":"true"},[Object(l["createVNode"])("use",{"xlink:href":"#icon-formula"},null)])])]}})}};return()=>{const e=c.value[0].map(e=>p(e)),t=c.value[1].map(e=>p(e));return Object(l["createVNode"])("div",{class:k+"-toolbar-wrapper"},[Object(l["createVNode"])("div",{class:k+"-toolbar"},[Object(l["createVNode"])("div",{class:k+"-toolbar-left",ref:o},[e]),Object(l["createVNode"])("div",{class:k+"-toolbar-right"},[t])]),Object(l["createVNode"])("input",{ref:u,accept:"image/*",type:"file",multiple:!0,style:{display:"none"}},null),Object(l["createVNode"])(G,{linkVisible:s.linkVisible,clipVisible:s.clipVisible,type:s.type,onCancel:()=>{s.linkVisible=!1,s.clipVisible=!1},onOk:e=>{e&&a(s.type,{desc:e.desc,url:e.url}),s.linkVisible=!1,s.clipVisible=!1}},null)])}}});function ee(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}let te=ee();function ne(e){te=e}const le=/[&<>"']/,re=/[&<>"']/g,ie=/[<>"']|&(?!#?\w+;)/,ae=/[<>"']|&(?!#?\w+;)/g,se={"&":"&","<":"<",">":">",'"':""","'":"'"},oe=e=>se[e];function ce(e,t){if(t){if(le.test(e))return e.replace(re,oe)}else if(ie.test(e))return e.replace(ae,oe);return e}const ue=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function de(e){return e.replace(ue,(e,t)=>(t=t.toLowerCase(),"colon"===t?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}const pe=/(^|[^\[])\^/g;function he(e,t){e=e.source||e,t=t||"";const n={replace:(t,l)=>(l=l.source||l,l=l.replace(pe,"$1"),e=e.replace(t,l),n),getRegex:()=>new RegExp(e,t)};return n}const be=/[^\w:]/g,me=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function ge(e,t,n){if(e){let e;try{e=decodeURIComponent(de(n)).replace(be,"").toLowerCase()}catch(l){return null}if(0===e.indexOf("javascript:")||0===e.indexOf("vbscript:")||0===e.indexOf("data:"))return null}t&&!me.test(n)&&(n=ye(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(l){return null}return n}const fe={},ve=/^[^:]+:\/*[^/]*$/,ke=/^([^:]+:)[\s\S]*$/,xe=/^([^:]+:\/*[^/]*)[\s\S]*$/;function ye(e,t){fe[" "+e]||(ve.test(e)?fe[" "+e]=e+"/":fe[" "+e]=Ce(e,"/",!0)),e=fe[" "+e];const n=-1===e.indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(ke,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(xe,"$1")+t:e+t}const we={exec:function(){}};function je(e){let t,n,l=1;for(;l{let l=!1,r=t;while(--r>=0&&"\\"===n[r])l=!l;return l?"|":" |"}),l=n.split(/ \|/);let r=0;if(l[0].trim()||l.shift(),l.length>0&&!l[l.length-1].trim()&&l.pop(),l.length>t)l.splice(t);else while(l.length1)1&t&&(n+=e),t>>=1,e+=e;return n+e}function $e(e,t,n,l){const r=t.href,i=t.title?ce(t.title):null,a=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){l.state.inLink=!0;const e={type:"link",raw:n,href:r,title:i,text:a,tokens:l.inlineTokens(a,[])};return l.state.inLink=!1,e}return{type:"image",raw:n,href:r,title:i,text:ce(a)}}function Te(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const l=n[1];return t.split("\n").map(e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=l.length?e.slice(l.length):e}).join("\n")}class Ee{constructor(e){this.options=e||te}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:Ce(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=Te(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim():t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=Ce(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}const n={type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:[]};return this.lexer.inline(n.text,n.tokens),n}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=t[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:t[0],tokens:this.lexer.blockTokens(e,[]),text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n,l,r,i,a,s,o,c,u,d,p,h,b=t[1].trim();const m=b.length>1,g={type:"list",raw:"",ordered:m,start:m?+b.slice(0,-1):"",loose:!1,items:[]};b=m?"\\d{1,9}\\"+b.slice(-1):"\\"+b,this.options.pedantic&&(b=m?b:"[*+-]");const f=new RegExp(`^( {0,3}${b})((?: [^\\n]*)?(?:\\n|$))`);while(e){if(h=!1,!(t=f.exec(e)))break;if(this.rules.block.hr.test(e))break;if(n=t[0],e=e.substring(n.length),c=t[2].split("\n",1)[0],u=e.split("\n",1)[0],this.options.pedantic?(i=2,p=c.trimLeft()):(i=t[2].search(/[^ ]/),i=i>4?1:i,p=c.slice(i),i+=t[1].length),s=!1,!c&&/^ *$/.test(u)&&(n+=u+"\n",e=e.substring(u.length+1),h=!0),!h){const t=new RegExp(`^ {0,${Math.min(3,i-1)}}(?:[*+-]|\\d{1,9}[.)])`);while(e){if(d=e.split("\n",1)[0],c=d,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),t.test(c))break;if(c.search(/[^ ]/)>=i||!c.trim())p+="\n"+c.slice(i);else{if(s)break;p+="\n"+c}s||c.trim()||(s=!0),n+=d+"\n",e=e.substring(d.length+1)}}g.loose||(o?g.loose=!0:/\n *\n *$/.test(n)&&(o=!0)),this.options.gfm&&(l=/^\[[ xX]\] /.exec(p),l&&(r="[ ] "!==l[0],p=p.replace(/^\[[ xX]\] +/,""))),g.items.push({type:"list_item",raw:n,task:!!l,checked:r,loose:!1,text:p}),g.raw+=n}g.items[g.items.length-1].raw=n.trimRight(),g.items[g.items.length-1].text=p.trimRight(),g.raw=g.raw.trimRight();const v=g.items.length;for(a=0;a"space"===e.type),t=e.every(e=>{const t=e.raw.split("");let n=0;for(const l of t)if("\n"===l&&(n+=1),n>1)return!0;return!1});!g.loose&&e.length&&t&&(g.loose=!0,g.items[a].loose=!0)}return g}}html(e){const t=this.rules.block.html.exec(e);if(t){const e={type:"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:t[0]};return this.options.sanitize&&(e.type="paragraph",e.text=this.options.sanitizer?this.options.sanitizer(t[0]):ce(t[0]),e.tokens=[],this.lexer.inline(e.text,e.tokens)),e}}def(e){const t=this.rules.block.def.exec(e);if(t){t[3]&&(t[3]=t[3].substring(1,t[3].length-1));const e=t[1].toLowerCase().replace(/\s+/g," ");return{type:"def",tag:e,raw:t[0],href:t[2],title:t[3]}}}table(e){const t=this.rules.block.table.exec(e);if(t){const e={type:"table",header:Oe(t[1]).map(e=>({text:e})),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){e.raw=t[0];let n,l,r,i,a=e.align.length;for(n=0;n({text:e}));for(a=e.header.length,l=0;l/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):ce(t[0]):t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=Ce(e.slice(0,-1),"\\");if((e.length-t.length)%2===0)return}else{const e=Se(t[2],"()");if(e>-1){const n=0===t[0].indexOf("!")?5:4,l=n+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,l).trim(),t[3]=""}}let n=t[2],l="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],l=e[3])}else l=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^$/.test(e)?n.slice(1):n.slice(1,-1)),$e(t,{href:n?n.replace(this.rules.inline._escapes,"$1"):n,title:l?l.replace(this.rules.inline._escapes,"$1"):l},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=(n[2]||n[1]).replace(/\s+/g," ");if(e=t[e.toLowerCase()],!e||!e.href){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return $e(n,e,n[0],this.lexer)}}emStrong(e,t,n=""){let l=this.rules.inline.emStrong.lDelim.exec(e);if(!l)return;if(l[3]&&n.match(/[\p{L}\p{N}]/u))return;const r=l[1]||l[2]||"";if(!r||r&&(""===n||this.rules.inline.punctuation.exec(n))){const n=l[0].length-1;let r,i,a=n,s=0;const o="*"===l[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;o.lastIndex=0,t=t.slice(-1*e.length+n);while(null!=(l=o.exec(t))){if(r=l[1]||l[2]||l[3]||l[4]||l[5]||l[6],!r)continue;if(i=r.length,l[3]||l[4]){a+=i;continue}if((l[5]||l[6])&&n%3&&!((n+i)%3)){s+=i;continue}if(a-=i,a>0)continue;if(i=Math.min(i,i+a+s),Math.min(n,i)%2){const t=e.slice(1,n+l.index+i);return{type:"em",raw:e.slice(0,n+l.index+i+1),text:t,tokens:this.lexer.inlineTokens(t,[])}}const t=e.slice(2,n+l.index+i-1);return{type:"strong",raw:e.slice(0,n+l.index+i+1),text:t,tokens:this.lexer.inlineTokens(t,[])}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),l=/^ /.test(e)&&/ $/.test(e);return n&&l&&(e=e.substring(1,e.length-1)),e=ce(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2],[])}}autolink(e,t){const n=this.rules.inline.autolink.exec(e);if(n){let e,l;return"@"===n[2]?(e=ce(this.options.mangle?t(n[1]):n[1]),l="mailto:"+e):(e=ce(n[1]),l=e),{type:"link",raw:n[0],text:e,href:l,tokens:[{type:"text",raw:e,text:e}]}}}url(e,t){let n;if(n=this.rules.inline.url.exec(e)){let e,l;if("@"===n[2])e=ce(this.options.mangle?t(n[0]):n[0]),l="mailto:"+e;else{let t;do{t=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(t!==n[0]);e=ce(n[0]),l="www."===n[1]?"http://"+e:e}return{type:"link",raw:n[0],text:e,href:l,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e,t){const n=this.rules.inline.text.exec(e);if(n){let e;return e=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):ce(n[0]):n[0]:ce(this.options.smartypants?t(n[0]):n[0]),{type:"text",raw:n[0],text:e}}}}const _e={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)( [^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:we,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};_e.def=he(_e.def).replace("label",_e._label).replace("title",_e._title).getRegex(),_e.bullet=/(?:[*+-]|\d{1,9}[.)])/,_e.listItemStart=he(/^( *)(bull) */).replace("bull",_e.bullet).getRegex(),_e.list=he(_e.list).replace(/bull/g,_e.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+_e.def.source+")").getRegex(),_e._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",_e._comment=/|$)/,_e.html=he(_e.html,"i").replace("comment",_e._comment).replace("tag",_e._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),_e.paragraph=he(_e._paragraph).replace("hr",_e.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",_e._tag).getRegex(),_e.blockquote=he(_e.blockquote).replace("paragraph",_e.paragraph).getRegex(),_e.normal=je({},_e),_e.gfm=je({},_e.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),_e.gfm.table=he(_e.gfm.table).replace("hr",_e.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",_e._tag).getRegex(),_e.gfm.paragraph=he(_e._paragraph).replace("hr",_e.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",_e.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",_e._tag).getRegex(),_e.pedantic=je({},_e.normal,{html:he("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",_e._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:we,paragraph:he(_e.normal._paragraph).replace("hr",_e.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",_e.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});const Ie={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:we,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:we,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),l+="&#"+n+";";return l}Ie._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",Ie.punctuation=he(Ie.punctuation).replace(/punctuation/g,Ie._punctuation).getRegex(),Ie.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ie.escapedEmSt=/\\\*|\\_/g,Ie._comment=he(_e._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ie.emStrong.lDelim=he(Ie.emStrong.lDelim).replace(/punct/g,Ie._punctuation).getRegex(),Ie.emStrong.rDelimAst=he(Ie.emStrong.rDelimAst,"g").replace(/punct/g,Ie._punctuation).getRegex(),Ie.emStrong.rDelimUnd=he(Ie.emStrong.rDelimUnd,"g").replace(/punct/g,Ie._punctuation).getRegex(),Ie._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ie._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ie._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Ie.autolink=he(Ie.autolink).replace("scheme",Ie._scheme).replace("email",Ie._email).getRegex(),Ie._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ie.tag=he(Ie.tag).replace("comment",Ie._comment).replace("attribute",Ie._attribute).getRegex(),Ie._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ie._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ie._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ie.link=he(Ie.link).replace("label",Ie._label).replace("href",Ie._href).replace("title",Ie._title).getRegex(),Ie.reflink=he(Ie.reflink).replace("label",Ie._label).replace("ref",_e._label).getRegex(),Ie.nolink=he(Ie.nolink).replace("ref",_e._label).getRegex(),Ie.reflinkSearch=he(Ie.reflinkSearch,"g").replace("reflink",Ie.reflink).replace("nolink",Ie.nolink).getRegex(),Ie.normal=je({},Ie),Ie.pedantic=je({},Ie.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:he(/^!?\[(label)\]\((.*?)\)/).replace("label",Ie._label).getRegex(),reflink:he(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ie._label).getRegex()}),Ie.gfm=je({},Ie.normal,{escape:he(Ie.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\!!(n=l.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0))))if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),1===n.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),l=t[t.length-1],!l||"paragraph"!==l.type&&"text"!==l.type?t.push(n):(l.raw+="\n"+n.raw,l.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=l.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),l=t[t.length-1],!l||"paragraph"!==l.type&&"text"!==l.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(l.raw+="\n"+n.raw,l.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=l.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else{if(r=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let l;this.options.extensions.startBlock.forEach((function(e){l=e.call({lexer:this},n),"number"===typeof l&&l>=0&&(t=Math.min(t,l))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(this.state.top&&(n=this.tokenizer.paragraph(r)))l=t[t.length-1],i&&"paragraph"===l.type?(l.raw+="\n"+n.raw,l.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=l.text):t.push(n),i=r.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),l=t[t.length-1],l&&"text"===l.type?(l.raw+="\n"+n.raw,l.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=l.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t){this.inlineQueue.push({src:e,tokens:t})}inlineTokens(e,t=[]){let n,l,r,i,a,s,o=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)while(null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(o)))e.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,i.index)+"["+Ne("a",i[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}while(null!=(i=this.tokenizer.rules.inline.blockSkip.exec(o)))o=o.slice(0,i.index)+"["+Ne("a",i[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);while(null!=(i=this.tokenizer.rules.inline.escapedEmSt.exec(o)))o=o.slice(0,i.index)+"++"+o.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);while(e)if(a||(s=""),a=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(l=>!!(n=l.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),l=t[t.length-1],l&&"text"===n.type&&"text"===l.type?(l.raw+=n.raw,l.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),l=t[t.length-1],l&&"text"===n.type&&"text"===l.type?(l.raw+=n.raw,l.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,o,s))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e,ze))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e,ze))){if(r=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let l;this.options.extensions.startInline.forEach((function(e){l=e.call({lexer:this},n),"number"===typeof l&&l>=0&&(t=Math.min(t,l))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(n=this.tokenizer.inlineText(r,Le))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(s=n.raw.slice(-1)),a=!0,l=t[t.length-1],l&&"text"===l.type?(l.raw+=n.raw,l.text+=n.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(n.raw.length),t.push(n);return t}}class Ae{constructor(e){this.options=e||te}code(e,t,n){const l=(t||"").match(/\S*/)[0];if(this.options.highlight){const t=this.options.highlight(e,l);null!=t&&t!==e&&(n=!0,e=t)}return e=e.replace(/\n$/,"")+"\n",l?'
'+(n?e:ce(e,!0))+"
\n":"
"+(n?e:ce(e,!0))+"
\n"}blockquote(e){return"
\n"+e+"
\n"}html(e){return e}heading(e,t,n,l){return this.options.headerIds?"'+e+"\n":""+e+"\n"}hr(){return this.options.xhtml?"
\n":"
\n"}list(e,t,n){const l=t?"ol":"ul",r=t&&1!==n?' start="'+n+'"':"";return"<"+l+r+">\n"+e+"\n"}listitem(e){return"
  • "+e+"
  • \n"}checkbox(e){return" "}paragraph(e){return"

    "+e+"

    \n"}table(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"}tablerow(e){return"\n"+e+"\n"}tablecell(e,t){const n=t.header?"th":"td",l=t.align?"<"+n+' align="'+t.align+'">':"<"+n+">";return l+e+"\n"}strong(e){return""+e+""}em(e){return""+e+""}codespan(e){return""+e+""}br(){return this.options.xhtml?"
    ":"
    "}del(e){return""+e+""}link(e,t,n){if(e=ge(this.options.sanitize,this.options.baseUrl,e),null===e)return n;let l='",l}image(e,t,n){if(e=ge(this.options.sanitize,this.options.baseUrl,e),null===e)return n;let l=''+n+'":">",l}text(e){return e}}class Re{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return""+n}image(e,t,n){return""+n}br(){return""}}class Me{constructor(){this.seen={}}serialize(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(e,t){let n=e,l=0;if(this.seen.hasOwnProperty(n)){l=this.seen[e];do{l++,n=e+"-"+l}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=l,this.seen[n]=0),n}slug(e,t={}){const n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}class Pe{constructor(e){this.options=e||te,this.options.renderer=this.options.renderer||new Ae,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Re,this.slugger=new Me}static parse(e,t){const n=new Pe(t);return n.parse(e)}static parseInline(e,t){const n=new Pe(t);return n.parseInline(e)}parse(e,t=!0){let n,l,r,i,a,s,o,c,u,d,p,h,b,m,g,f,v,k,x,y="";const w=e.length;for(n=0;n0&&"paragraph"===g.tokens[0].type?(g.tokens[0].text=k+" "+g.tokens[0].text,g.tokens[0].tokens&&g.tokens[0].tokens.length>0&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=k+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:k}):m+=k),m+=this.parse(g.tokens,b),u+=this.renderer.listitem(m,v,f);y+=this.renderer.list(u,p,h);continue;case"html":y+=this.renderer.html(d.text);continue;case"paragraph":y+=this.renderer.paragraph(this.parseInline(d.tokens));continue;case"text":u=d.tokens?this.parseInline(d.tokens):d.text;while(n+1{r(e.text,e.lang,(function(t,n){if(t)return a(t);null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),s--,0===s&&a()}))},0))})),void(0===s&&a())}try{const n=De.lex(e,t);return t.walkTokens&&Fe.walkTokens(n,t.walkTokens),Pe.parse(n,t)}catch(l){if(l.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"

    An error occurred:

    "+ce(l.message+"",!0)+"
    ";throw l}}Fe.options=Fe.setOptions=function(e){return je(Fe.defaults,e),ne(Fe.defaults),Fe},Fe.getDefaults=ee,Fe.defaults=te,Fe.use=function(...e){const t=je({},...e),n=Fe.defaults.extensions||{renderers:{},childTokens:{}};let l;e.forEach(e=>{if(e.extensions&&(l=!0,e.extensions.forEach(e=>{if(!e.name)throw new Error("extension name required");if(e.renderer){const t=n.renderers?n.renderers[e.name]:null;n.renderers[e.name]=t?function(...n){let l=e.renderer.apply(this,n);return!1===l&&(l=t.apply(this,n)),l}:e.renderer}if(e.tokenizer){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");n[e.level]?n[e.level].unshift(e.tokenizer):n[e.level]=[e.tokenizer],e.start&&("block"===e.level?n.startBlock?n.startBlock.push(e.start):n.startBlock=[e.start]:"inline"===e.level&&(n.startInline?n.startInline.push(e.start):n.startInline=[e.start]))}e.childTokens&&(n.childTokens[e.name]=e.childTokens)})),e.renderer){const n=Fe.defaults.renderer||new Ae;for(const t in e.renderer){const l=n[t];n[t]=(...r)=>{let i=e.renderer[t].apply(n,r);return!1===i&&(i=l.apply(n,r)),i}}t.renderer=n}if(e.tokenizer){const n=Fe.defaults.tokenizer||new Ee;for(const t in e.tokenizer){const l=n[t];n[t]=(...r)=>{let i=e.tokenizer[t].apply(n,r);return!1===i&&(i=l.apply(n,r)),i}}t.tokenizer=n}if(e.walkTokens){const n=Fe.defaults.walkTokens;t.walkTokens=function(t){e.walkTokens.call(this,t),n&&n.call(this,t)}}l&&(t.extensions=n),Fe.setOptions(t)})},Fe.walkTokens=function(e,t){for(const n of e)switch(t.call(Fe,n),n.type){case"table":for(const e of n.header)Fe.walkTokens(e.tokens,t);for(const e of n.rows)for(const n of e)Fe.walkTokens(n.tokens,t);break;case"list":Fe.walkTokens(n.items,t);break;default:Fe.defaults.extensions&&Fe.defaults.extensions.childTokens&&Fe.defaults.extensions.childTokens[n.type]?Fe.defaults.extensions.childTokens[n.type].forEach((function(e){Fe.walkTokens(n[e],t)})):n.tokens&&Fe.walkTokens(n.tokens,t)}},Fe.parseInline=function(e,t){if("undefined"===typeof e||null===e)throw new Error("marked.parseInline(): input parameter is undefined or null");if("string"!==typeof e)throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");t=je({},Fe.defaults,t||{}),Ve(t);try{const n=De.lexInline(e,t);return t.walkTokens&&Fe.walkTokens(n,t.walkTokens),Pe.parseInline(n,t)}catch(n){if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"

    An error occurred:

    "+ce(n.message+"",!0)+"
    ";throw n}},Fe.Parser=Pe,Fe.parser=Pe.parse,Fe.Renderer=Ae,Fe.TextRenderer=Re,Fe.Lexer=De,Fe.lexer=De.lex,Fe.Tokenizer=Ee,Fe.Slugger=Me,Fe.parse=Fe,Pe.parse,De.lex;var He=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],l=0;l{const t=e.value,n=t.substring(0,e.selectionStart),l=t.substring(e.selectionEnd,t.length),r=n.lastIndexOf("\n"),i=n.substring(0,r+1),a=l.indexOf("\n"),s=l.substring(-1===a?l.length:a,l.length),o=n.substring(r+1,n.length),c=l.substring(0,a);return{prefixStr:n,subfixStr:l,prefixStrEndRow:i,subfixStrEndRow:s,prefixSupply:o,subfixSupply:c}},Ge=(e,t="",n,l)=>{var r,i;let a,s,o="",c=0,u=0,d=!1;if(/^h[1-6]{1}$/.test(e)){const n=e.replace(/^h(\d)/,(e,t)=>new Array(Number(t)).fill("#",0,t).join(""));o=`${n} ${t}`,c=n.length+1}else{if("prettier"===e)return window.prettier.format(n.value,{parser:"markdown",plugins:window.prettierPlugins});switch(e){case"bold":o=`**${t}**`,c=2,u=-2;break;case"underline":o=`${t}`,c=3,u=-4;break;case"italic":o=`*${t}*`,c=1,u=-1;break;case"strikeThrough":o=`~${t}~`,c=1,u=-1;break;case"sub":o=`${t}`,c=5,u=-6;break;case"sup":o=`${t}`,c=5,u=-6;break;case"codeRow":o="`"+t+"`",c=1,u=-1;break;case"quote":o="> "+t,c=2;break;case"orderedList":o="1. "+t,c=3;break;case"unorderedList":o="- "+t,c=2;break;case"code":o="```language\n"+t+"\n```\n",c=3,u=11-o.length,d=!0;break;case"table":{o="|";const{selectedShape:e={x:1,y:1}}=l,{x:t,y:n}=e;for(let l=0;l<=n;l++)o+=" col |";o+="\n|";for(let l=0;l<=n;l++)o+=" - |";for(let l=0;l<=t;l++){o+="\n|";for(let e=0;e<=n;e++)o+=" content |"}c=2,u=5-o.length,d=!0;break}case"link":{const{desc:e,url:t}=l;o=`[${e}](${t})`;break}case"image":{const{desc:e,url:t,urls:n}=l;o=n instanceof Array?n.reduce((t,n)=>t+`![${e}](${n})\n`,""):`![${e}](${t})\n`;break}case"tab":{t=(null==(r=window.getSelection())?void 0:r.toString())||"";const{tabWidth:e=2}=l,i=new Array(e).fill(" ").join("");if(""===t)o=i;else if(/\n/.test(t)){const{prefixStr:l,subfixStr:r,prefixSupply:p,subfixSupply:h}=We(n),b=`${p}${t}${h}`,m=b.split("\n");o=m.map(e=>`${i}${e}`).join("\n"),a=l.substring(0,l.length-p.length),s=r.substring(h.length,r.length),d=!0,c=e,u=-p.length-h.length}else{const e=n.value,l=e.substring(0,n.selectionStart);/\n$/.test(l)||""===l?(o=`${i}${t}`,d=!0):o=i}break}case"shiftTab":{t=(null==(i=window.getSelection())?void 0:i.toString())||"";const{tabWidth:e=2}=l,{prefixStr:r,prefixStrEndRow:a,subfixStrEndRow:s,prefixSupply:c,subfixSupply:u}=We(n),d=new RegExp(`^\\s{${e}}`),p=(l=!1,i=!1)=>{const p=`${c}${t}${u}`;if(d.test(p)){const o=r.length-(i?0:e),c=l?o+t.length-e:o;return P(n,o,c),`${a}${p.replace(d,"")}${s}`}if(/^\s/.test(p)){const e=p.replace(/^\s/,""),r=p.length-e.length,o=n.selectionStart-(i?0:r),c=l?o+t.length-r:o;return P(n,o,c),`${a}${e}${s}`}o=t};if(""===t){const e=p();if(e)return e}else{if(/\n/.test(t)){const l=`${c}${t}${u}`,r=l.split("\n");let[i,o]=[0,0];const p=r.map((t,n)=>{if(d.test(t))return 0===n&&(i=e),o+=e,t.replace(d,"");if(/^\s/.test(t)){const e=t.replace(/^\s/,"");return o+=t.length-e.length,e}return t}).join("\n");return P(n,n.selectionStart-i,n.selectionEnd-o),`${a}${p}${s}`}{const e=p(!0,!0);if(e)return e}}break}case"ctrlC":{const{prefixSupply:e,subfixSupply:l}=We(n);return Je(""===t?`${e}${l}`:t),n.value}case"ctrlX":{const{prefixStrEndRow:e,subfixStrEndRow:l,prefixStr:r,subfixStr:i,prefixSupply:a,subfixSupply:s}=We(n);return""===t?(Je(`${a}${s}`),P(n,e.length),`${e}${l.replace(/^\n/,"")}`):(Je(t),P(n,r.length),`${r}${i}`)}case"ctrlD":{const{prefixStrEndRow:e,subfixStrEndRow:t}=We(n);return P(n,e.length),`${e}${t.replace(/^\n/,"")}`}case"flow":o="```mermaid\nflowchart TD \n Start --\x3e Stop\n```\n",c=2;break;case"sequence":o="```mermaid\nsequenceDiagram\n A->>B: hello!\n B--\x3e>A: hi!\n A-)B: bye!\n```\n",c=2;break;case"gantt":o="```mermaid\ngantt\ntitle A Gantt Diagram\ndateFormat YYYY-MM-DD\nsection Section\nA task :a1, 2014-01-01, 30d\nAnother task :after a1, 20d\n```\n",c=2;break;case"class":o="```mermaid\nclassDiagram\n class Animal\n Vehicle <|-- Car\n```\n",c=2;break;case"state":o="```mermaid\nstateDiagram-v2\n s1 --\x3e s2\n```\n",c=2;break;case"pie":o='```mermaid\npie title Pets adopted by volunteers\n "Dogs" : 386\n "Cats" : 85\n "Rats" : 15\n```\n',c=2;break;case"relationship":o="```mermaid\nerDiagram\n CAR ||--o{ NAMED-DRIVER : allows\n PERSON ||--o{ NAMED-DRIVER : is\n```\n",c=2;break;case"journey":o="```mermaid\njourney\n title My working day\n section Go to work\n Make tea: 5: Me\n Go upstairs: 3: Me\n Do work: 1: Me, Cat\n section Go home\n Go downstairs: 5: Me\n Sit down: 5: Me\n```\n",c=2;break;case"katexInline":o="$$",c=1,u=-1;break;case"katexBlock":o="$$\n\n$$\n",c=1,u=-4;break}}return F(n,o,{deviationStart:c,deviationEnd:u,select:d,prefixVal:a,subfixVal:s})};var Qe={block(e,t){return{name:"KaTexBlockExtension",level:"block",start:e=>{var t;return null==(t=e.match(/\$\$\n/))?void 0:t.index},tokenizer(e){const t=/^\$\$\n([^$]*)\$\$\n?/,n=t.exec(e);if(n){const e={type:"KaTexBlockExtension",raw:n[0],text:n[1].trim(),tokens:[]};return e}},renderer(n){const l=t||"undefined"!==typeof window&&window.katex;if(l){const t=l.renderToString(n.text,{throwOnError:!1});return`${t}`}return`${n.text}`}}},inline(e,t){return{name:"KaTexInlineExtension",level:"inline",start:e=>{var t;return null==(t=e.match(/\$[^$]/))?void 0:t.index},tokenizer(e){const t=/^\$([^$]*)\$/,n=t.exec(e);if(n){const e={type:"KaTexInlineExtension",raw:n[0],text:n[1].trim(),tokens:[]};return e}},renderer(n){const l=t||"undefined"!==typeof window&&window.katex;if(l){const t=l.renderToString(n.text,{throwOnError:!1});return`${t}`}return`${n.text}`}}}};const Xe=(e,t)=>{var n,r;const i=Object(l["inject"])("previewOnly"),a=Object(l["inject"])("historyLength"),s=Object(l["inject"])("editorId");if(i)return;let o=-1;const c={list:[{content:e.value,startPos:(null==(n=t.value)?void 0:n.selectionStart)||0,endPos:(null==(r=t.value)?void 0:r.selectionEnd)||0}],userUpdated:!0,curr:0};Object(l["watch"])(()=>e.value,e=>{var n,l;clearTimeout(o);const r=(null==(n=t.value)?void 0:n.selectionStart)||0,i=(null==(l=t.value)?void 0:l.selectionEnd)||0;o=setTimeout(()=>{if(c.userUpdated){c.curra&&c.list.shift();const t=c.list.pop();t.startPos=r,t.endPos=i,Array.prototype.push.call(c.list,t,{content:e,startPos:r,endPos:i}),c.curr=c.list.length-1}else c.userUpdated=!0},10)}),Object(l["onMounted"])(()=>{E.on(s,{name:"ctrlZ",callback(){c.userUpdated=!1,c.curr=c.curr-1<0?0:c.curr-1;const n=c.list[c.curr];e.onChange(n.content),P(t.value,n.startPos,n.endPos)}}),E.on(s,{name:"ctrlShiftZ",callback(){c.userUpdated=!1,c.curr=c.curr+1===c.list.length?c.curr:c.curr+1;const n=c.list[c.curr];e.onChange(n.content),P(t.value,n.startPos,n.endPos)}})})},Ye=(e,t)=>{const n=Object(l["inject"])("showCodeRowNumber"),r=Object(l["inject"])("editorId"),i=Object(l["inject"])("highlight"),a=Object(l["ref"])(!1),s=Object(l["ref"])(!1),o=Object(l["ref"])([]),c=new Fe.Renderer;c.heading=(...t)=>{const[,n,l]=t;return o.value.push({text:l,level:n}),e.markedHeading(...t)},c.defaultCode=c.code,c.code=(t,n,l)=>{var r;if(!e.noMermaid&&"mermaid"===n){const n=`${k}-mermaid-${Date.now().toString(36)}`;try{let l="";return l=e.mermaid?e.mermaid.mermaidAPI.render(n,t):"undefined"!==typeof window&&window.mermaid?window.mermaid.mermaidAPI.render(n,t):`
    ${t}
    `,`
    ${l}
    `}catch(i){if("undefined"!==typeof document){const e=document.querySelector("#"+n);if(e){const t=e.outerHTML;return null==(r=e.parentElement)||r.remove(),t}}return""}}return c.defaultCode(t,n,l)},c.image=e.markedImage,c.listitem=(e,t)=>t?`
  • ${e}
  • `:`
  • ${e}
  • `,Fe.setOptions({renderer:c,breaks:!0}),e.noKatex||Fe.use({extensions:[Qe.inline(k,e.katex),Qe.block(k,e.katex)]}),e.hljs&&Fe.setOptions({highlight:t=>{const l=e.hljs.highlightAuto(t).value;return n?U(l):`${l}`}}),e.extensions instanceof Array&&e.extensions.length>0&&Fe.use({extensions:e.extensions});const u=Object(l["computed"])(()=>{o.value=[];const n=Fe(e.value||"");return a.value,t.reRender,t.mermaidInited,s.value,e.sanitize(n)});e.onHtmlChanged(u.value);const d=()=>{Fe.setOptions({highlight:e=>{const t=window.hljs.highlightAuto(e).value;return n?U(t):`${t}`}}),a.value=!0};return Object(l["watch"])(()=>u.value,e.onHtmlChanged),Object(l["watch"])(()=>o.value,t=>{e.onGetCatalog(t),E.emit(r,"catalogChanged",t)}),Object(l["onMounted"])(()=>{if(!e.noKatex&&!e.katex){const t=document.createElement("script");t.src=e.katexJs,t.onload=()=>{s.value=!0},t.id=k+"-katex";const n=document.createElement("link");n.rel="stylesheet",n.href=e.katexCss,n.id=k+"-katexCss",I(t,"katex"),I(n)}if(null===e.hljs){const e=document.createElement("link");e.rel="stylesheet",e.href=i.value.css,e.id=k+"-hlCss";const t=document.createElement("script");t.src=i.value.js,t.onload=d,t.id=k+"-hljs",I(e),I(t,"hljs")}}),Object(l["onMounted"])(()=>{E.on(r,{name:"pushCatalog",callback(){E.emit(r,"catalogChanged",o.value)}})}),{html:u}},et=(e,t,n,r,i)=>{const a=Object(l["inject"])("previewOnly"),s=Object(l["inject"])("usedLanguageText"),o=Object(l["inject"])("editorId");let c=()=>{},u=()=>{};const d=()=>{document.querySelectorAll(`#${o} .${k}-preview pre`).forEach(e=>{var t;const n=document.createElement("span");n.setAttribute("class","copy-button"),n.innerText=(null==(t=s.value.copyCode)?void 0:t.text)||"复制代码",n.addEventListener("click",()=>{var t;Je(e.querySelector("code").innerText),n.innerText=(null==(t=s.value.copyCode)?void 0:t.tips)||"已复制!",setTimeout(()=>{var e;n.innerText=(null==(e=s.value.copyCode)?void 0:e.text)||"复制代码"},1500)}),e.appendChild(n)})};Object(l["onMounted"])(()=>{[u,c]=B(n.value,r.value||i.value)});const p=()=>{Object(l["nextTick"])(()=>{e.setting.preview&&!a&&(c(),u()),d()})},h=e=>{e&&!a&&Object(l["nextTick"])(()=>{c(),[u,c]=B(n.value,r.value||i.value),u()})};Object(l["watch"])(()=>t.value,p),Object(l["watch"])(()=>e.setting.preview,h),Object(l["watch"])(()=>e.setting.htmlPreview,h),Object(l["onMounted"])(p)},tt=(e,t)=>{const n=Object(l["inject"])("previewOnly"),r=Object(l["inject"])("tabWidth"),i=Object(l["inject"])("editorId"),a=Object(l["ref"])("");return Object(l["onMounted"])(()=>{var l,s;n||(null==(l=t.value)||l.addEventListener("select",()=>{var e;a.value=(null==(e=window.getSelection())?void 0:e.toString())||""}),null==(s=t.value)||s.addEventListener("keypress",n=>{var l,r,i;if("Enter"===n.key){const a=null==(l=t.value)?void 0:l.selectionStart,s=null==(r=t.value)?void 0:r.value.substring(0,a),o=null==(i=t.value)?void 0:i.value.substring(a),c=null==s?void 0:s.lastIndexOf("\n"),u=null==s?void 0:s.substring(c+1,a);if(/^\d+\.\s|^-\s/.test(u))if(n.cancelBubble=!0,n.preventDefault(),n.stopPropagation(),/^\d+\.\s+$|^-\s+$/.test(u)){const n=null==s?void 0:s.replace(new RegExp(u+"$"),"");e.onChange(n+o),P(t.value,null==n?void 0:n.length)}else if(/^-\s+.+/.test(u))e.onChange(F(t.value,"\n- ",{}));else{const n=null==u?void 0:u.match(/\d+(?=\.)/),l=n&&Number(n[0])+1||1;e.onChange(F(t.value,`\n${l}. `,{}))}}}),E.on(i,{name:"replace",callback(n,l={}){e.onChange(Ge(n,a.value,t.value,f(g({},l),{tabWidth:r})))}}))}),E.on(i,{name:"selectTextChange",callback(e){a.value=e}}),{selectedText:a}},nt=e=>{const t=Object(l["inject"])("theme"),n=Object(l["reactive"])({reRender:!1,mermaidInited:!!e.mermaid}),r=()=>{e.noMermaid||(e.mermaid?e.mermaid.initialize({theme:"dark"===t.value?"dark":"default"}):window.mermaid&&window.mermaid.initialize({theme:"dark"===t.value?"dark":"default"}),n.reRender=!n.reRender)};let i;return Object(l["watch"])(()=>t.value,r),Object(l["onMounted"])(()=>{e.noMermaid||e.mermaid?e.noMermaid||r():(i=document.createElement("script"),i.src=e.mermaidJs,i.onload=()=>{window.mermaid.initialize({theme:"dark"===t.value?"dark":"default",logLevel:"Fatal"}),n.mermaidInited=!0},i.id=k+"-mermaid",I(i,"mermaid"))}),n},lt=e=>{const t=Object(l["inject"])("editorId"),n=Object(l["inject"])("previewOnly"),r=e=>{if(e.clipboardData&&e.clipboardData.files.length>0){const{files:n}=e.clipboardData;E.emit(t,"uploadImage",Array.from(n).filter(e=>/image\/.*/.test(e.type))),e.preventDefault()}};Object(l["onMounted"])(()=>{n||e.value.addEventListener("paste",r)}),Object(l["onBeforeUnmount"])(()=>{n||e.value.removeEventListener("paste",r)})};var rt=Object(l["defineComponent"])({name:"MDEditorContent",props:{value:{type:String,default:""},hljs:{type:Object,default:null},onChange:{type:Function,default:()=>()=>{}},setting:{type:Object,default:()=>({})},onHtmlChanged:{type:Function,default:()=>()=>{}},onGetCatalog:{type:Function,default:()=>()=>{}},markedHeading:{type:Function,default:()=>""},mermaid:{type:Object},mermaidJs:{type:String,default:""},noMermaid:{type:Boolean,default:!1},sanitize:{type:Function,default:e=>e},placeholder:{type:String,default:""},katex:{type:Object},katexJs:{type:String,default:""},katexCss:{type:String,default:""},noKatex:{type:Boolean,default:!1},extensions:{type:Array},markedImage:{type:Function,default:()=>""}},setup(e){const t=Object(l["inject"])("previewOnly"),n=Object(l["inject"])("showCodeRowNumber"),r=Object(l["inject"])("previewTheme"),i=Object(l["inject"])("editorId"),a=Object(l["ref"])(),s=Object(l["ref"])(),o=Object(l["ref"])(),c=nt(e),{html:u}=Ye(e,c);et(e,u,a,s,o);const{selectedText:d}=tt(e,a);return Xe(e,a),lt(a),()=>Object(l["createVNode"])(l["Fragment"],null,[Object(l["createVNode"])("div",{class:[k+"-content"]},[!t&&Object(l["createVNode"])("div",{class:k+"-input-wrapper"},[Object(l["createVNode"])("textarea",{id:i+"-textarea",ref:a,value:e.value,onInput:t=>{d.value="",e.onChange(t.target.value)},class:[e.setting.preview||e.setting.htmlPreview?"":"textarea-only"],placeholder:e.placeholder},null)]),e.setting.preview&&Object(l["createVNode"])("div",{id:i+"-preview-wrapper",class:k+"-preview-wrapper",ref:s,key:"content-preview-wrapper"},[Object(l["createVNode"])("div",{id:i+"-preview",class:[k+"-preview",(null==r?void 0:r.value)+"-theme",n&&k+"-scrn"],innerHTML:u.value},null)]),e.setting.htmlPreview&&Object(l["createVNode"])("div",{class:k+"-preview-wrapper",ref:o,key:"html-preview-wrapper"},[Object(l["createVNode"])("div",{class:k+"-html"},[u.value])])])])}});const it=Object(l["defineComponent"])({props:{tocItem:{type:Object,default:()=>({})},markedHeadingId:{type:Function,default:()=>{}},scrollElement:{type:[String,HTMLElement],default:""}},setup(e){return()=>Object(l["createVNode"])("div",{class:k+"-catalog-link",onClick:t=>{t.stopPropagation();const n=e.markedHeadingId(e.tocItem.text,e.tocItem.level),l=document.getElementById(n),r=e.scrollElement instanceof HTMLElement?e.scrollElement:document.querySelector(e.scrollElement);if(l&&r){let e=l.offsetParent,t=l.offsetTop;if(r.contains(e))while(e&&r!=e)t+=null==e?void 0:e.offsetTop,e=null==e?void 0:e.offsetParent;null==r||r.scrollTo({top:t,behavior:"smooth"})}}},[Object(l["createVNode"])("span",null,[e.tocItem.text]),e.tocItem.children&&e.tocItem.children.map(t=>Object(l["createVNode"])(it,{markedHeadingId:e.markedHeadingId,key:t.text,tocItem:t,scrollElement:e.scrollElement},null))])}});const at=Object(l["defineComponent"])({name:"Catalog",props:{editorId:{type:String},class:{type:String,default:""},markedHeadingId:{type:Function,default:e=>e},scrollElement:{type:[String,HTMLElement]},theme:{type:String,default:"light"}},setup(e){const t=e.editorId,n=Object(l["reactive"])({list:[],show:!1,scrollElement:e.scrollElement||`#${t}-preview-wrapper`}),r=Object(l["computed"])(()=>{const e=[];return n.list.forEach(({text:t,level:n})=>{const l={level:n,text:t};if(0===e.length)e.push(l);else{let t=e[e.length-1];if(l.level>t.level)for(let e=t.level+1;e<=6;e++){const{children:e}=t;if(!e){t.children=[l];break}if(t=e[e.length-1],l.level<=t.level){e.push(l);break}}else e.push(l)}}),e});return Object(l["onMounted"])(()=>{E.on(t,{name:"catalogChanged",callback:e=>{n.list=e}}),E.emit(t,"pushCatalog")}),()=>Object(l["createVNode"])("div",{class:`${k}-catalog${"dark"===e.theme?"-dark":""} ${e.class}`},[r.value.map(t=>Object(l["createVNode"])(it,{markedHeadingId:e.markedHeadingId,tocItem:t,key:t.text,scrollElement:n.scrollElement},null))])}});const st=e=>e,ot={modelValue:{type:String,default:""},theme:{type:String,default:"light"},editorClass:{type:String,default:""},hljs:{type:Object,default:null},highlightJs:{type:String,default:y.js},highlightCss:{type:String,default:""},historyLength:{type:Number,default:10},onChange:{type:Function},onSave:{type:Function},onUploadImg:{type:Function},pageFullScreen:{type:Boolean,default:!1},preview:{type:Boolean,default:!0},htmlPreview:{type:Boolean,default:!1},previewOnly:{type:Boolean,default:!1},language:{type:String,default:"zh-CN"},languageUserDefined:{type:Object,default:()=>({})},toolbars:{type:Array,default:C},toolbarsExclude:{type:Array,default:[]},prettier:{type:Boolean,default:!0},prettierCDN:{type:String,default:w.main},prettierMDCDN:{type:String,default:w.markdown},onHtmlChanged:{type:Function},Cropper:{type:Function,default:null},cropperCss:{type:String,default:j.css},cropperJs:{type:String,default:j.js},iconfontJs:{type:String,default:x},onGetCatalog:{type:Function},editorId:{type:String,default:"md-editor-v3"},tabWidth:{type:Number,default:2},showCodeRowNumber:{type:Boolean,default:!1},screenfull:{type:Object,default:null},screenfullJs:{type:String,default:O},previewTheme:{type:String,default:"default"},markedHeading:{type:Function,default:(e,t,n)=>{const l=st(n);return e!==n?`${e}`:`
    ${n}`}},style:{type:Object,default:()=>({})},markedHeadingId:{type:Function,default:st},tableShape:{type:Array,default:()=>[6,4]},mermaid:{type:Object},mermaidJs:{type:String,default:V},noMermaid:{type:Boolean,default:!1},sanitize:{type:Function,default:e=>e},placeholder:{type:String,default:""},katex:{type:Object},katexJs:{type:String,default:N},katexCss:{type:String,default:$},noKatex:{type:Boolean,default:!1},defToolbars:{type:[String,Object]},extensions:{type:Array},markedImage:{type:Function,default:(e,t,n)=>`
    ${n}
    ${n}
    `}};var ct=Object(l["defineComponent"])({name:"MdEditorV3",props:ot,setup(e,t){const{editorId:n}=e;L(e,t),z(e),D(e);const r=Object(l["reactive"])({catalogVisible:!1}),i=Object(l["reactive"])({pageFullScreen:e.pageFullScreen,fullscreen:!1,preview:e.preview,htmlPreview:!e.preview&&e.htmlPreview}),a=(e,t)=>{i[t]=e,"preview"===t&&i.preview?i.htmlPreview=!1:"htmlPreview"===t&&i.htmlPreview&&(i.preview=!1)};let s="";const o=()=>{i.pageFullScreen||i.fullscreen?document.body.style.overflow="hidden":document.body.style.overflow=s};Object(l["watch"])(()=>[i.pageFullScreen,i.fullscreen],o),Object(l["onMounted"])(()=>{e.previewOnly||E.on(n,{name:"uploadImage",callback(l,r){const i=e=>{E.emit(n,"replace","image",{desc:"",urls:e}),r&&r()};e.onUploadImg?e.onUploadImg(l,i):t.emit("onUploadImg",l,i)}}),s=document.body.style.overflow,o(),E.on(n,{name:"catalogShow",callback:()=>{r.catalogVisible=!r.catalogVisible}})}),Object(l["onBeforeUnmount"])(()=>{E.clear(n)});const c=Object(l["computed"])(()=>!e.toolbarsExclude.includes("catalog")&&e.toolbars.includes("catalog"));return()=>{const s=R({props:e,ctx:t},"defToolbars");return Object(l["createVNode"])("div",{id:n,class:[k,e.editorClass,"dark"===e.theme&&k+"-dark",i.fullscreen||i.pageFullScreen?k+"-fullscreen":"",e.previewOnly&&k+"-previewOnly"],style:e.style},[!e.previewOnly&&Object(l["createVNode"])(Y,{prettier:e.prettier,screenfull:e.screenfull,screenfullJs:e.screenfullJs,toolbars:e.toolbars,toolbarsExclude:e.toolbarsExclude,setting:i,updateSetting:a,tableShape:e.tableShape,defToolbars:s},null),Object(l["createVNode"])(rt,{hljs:e.hljs,value:e.modelValue,onChange:n=>{e.onChange?e.onChange(n):(t.emit("update:modelValue",n),t.emit("onChange",n))},setting:i,onHtmlChanged:n=>{e.onHtmlChanged?e.onHtmlChanged(n):t.emit("onHtmlChanged",n)},onGetCatalog:n=>{e.onGetCatalog?e.onGetCatalog(n):t.emit("onGetCatalog",n)},markedHeading:e.markedHeading,mermaid:e.mermaid,mermaidJs:e.mermaidJs,noMermaid:e.noMermaid,sanitize:e.sanitize,placeholder:e.placeholder,katex:e.katex,katexJs:e.katexJs,katexCss:e.katexCss,noKatex:e.noKatex,extensions:e.extensions,markedImage:e.markedImage},null),c.value&&Object(l["createVNode"])(at,{theme:e.theme,style:{display:r.catalogVisible?"block":"none"},class:k+"-catalog-editor",editorId:n,markedHeadingId:e.markedHeadingId},null)])}}}),ut=Object(l["defineComponent"])({name:"NormalToolbar",props:{title:{type:String,default:""},trigger:{type:[String,Object]},onClick:{type:Function,default:()=>()=>{}}},setup(e,t){return()=>{const n=R({props:e,ctx:t},"trigger");return Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:e.title,onClick:e.onClick},[n])}}}),dt=Object(l["defineComponent"])({name:"DropdownToolbar",props:{title:{type:String,default:""},visible:{type:Boolean},trigger:{type:[String,Object]},onChange:{type:Function,default:()=>()=>{}},overlay:{type:[String,Object]}},setup(e,t){return()=>{const n=R({props:e,ctx:t},"trigger"),r=R({props:e,ctx:t},"overlay");return Object(l["createVNode"])(M,{visible:e.visible,onChange:e.onChange,overlay:r},{default:()=>[Object(l["createVNode"])("div",{class:k+"-toolbar-item",title:e.title||""},[n])]})}}});ct.install=e=>(e.component(ct.name,ct),e.component(ut.name,ut),e.component(dt.name,dt),e.component(at.name,at),e),ct.NormalToolbar=ut,ct.DropdownToolbar=dt,ct.Catalog=at;n("1834");var pt=Object(l["defineComponent"])({components:{MdEditor:ct},data:function(){return{text:"## 你好呀,欢迎!"}},methods:{submit:function(){console.log("this.text",this.text)}}}),ht=(n("7a0a"),n("6b0d")),bt=n.n(ht);const mt=bt()(pt,[["render",o]]);t["default"]=mt},"7a0a":function(e,t,n){"use strict";n("f8fe")},f8fe:function(e,t,n){}}]); -//# sourceMappingURL=chunk-45459eaa.7db09f7b.js.map \ No newline at end of file diff --git a/dist/js/chunk-45459eaa.7db09f7b.js.map b/dist/js/chunk-45459eaa.7db09f7b.js.map deleted file mode 100644 index b0e96e1..0000000 --- a/dist/js/chunk-45459eaa.7db09f7b.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/views/components-demo/mark-down.vue?dea6","webpack:///./node_modules/md-editor-v3/lib/md-editor-v3.es.js","webpack:///./src/views/components-demo/mark-down.vue?24ee","webpack:///./src/views/components-demo/mark-down.vue","webpack:///./src/views/components-demo/mark-down.vue?070f"],"names":["_hoisted_1","class","_hoisted_2","style","_hoisted_3","_hoisted_4","_createTextVNode","render","_ctx","_cache","$props","$setup","$data","$options","_component_md_editor","_resolveComponent","_component_el_button","_openBlock","_createElementBlock","_createElementVNode","_createVNode","modelValue","text","$event","type","onClick","submit","default","_withCtx","_","__defProp","Object","defineProperty","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","prototype","hasOwnProperty","__propIsEnum","propertyIsEnumerable","__defNormalProp","obj","key","value","enumerable","configurable","writable","__spreadValues","a","b","prop","call","__spreadProps","__publicField","prefix","iconfontUrl","highlightUrl","atom","github","githubDark","js","prettierUrl","main","markdown","cropperUrl","css","screenfullUrl","allToolbar","staticTextDefault","toolbarTips","bold","underline","italic","strikeThrough","title","sub","sup","quote","unorderedList","orderedList","codeRow","code","link","image","table","mermaid","katex","revoke","next","save","prettier","pageFullscreen","fullscreen","preview","htmlPreview","catalog","titleItem","h1","h2","h3","h4","h5","h6","imgTitleItem","upload","clip2upload","linkModalTips","descLable","descLablePlaceHolder","urlLable","UrlLablePlaceHolder","buttonOK","clipModalTips","buttonUpload","copyCode","tips","flow","sequence","gantt","state","pie","relationship","journey","inline","block","mermaidUrl","katexJsUrl","katexCssUrl","Bus","this","race","name","func","targetRace","pools","events","filter","item","event","push","callback","includes","params","forEach","error","console","bus","keyMove","trigger","moveHandler","triggerMouseDown","mdown","parent","parentElement","document","body","width","offsetWidth","height","offsetHeight","clientWidth","documentElement","clientHeight","x","offsetX","y","offsetY","mouseMoveHandler","e","tx","scrollLeft","clientLeft","ty","scrollTop","clientTop","left","top","addEventListener","mouseUpHandler","removeEventListener","appendHandler","ele","checkKey","insertedEle","getElementById","id","onload","Function","Reflect","get","window","Event","head","appendChild","useKeyBoard","props2","context","editorId","initFunc","_a","_b","toolbars","toolbarsExclude","keyDownHandler","target","querySelector","ctrlKey","metaKey","shiftKey","emit","preventDefault","select","altKey","previewOnly","on","onSave","useProvide","tabWidth","theme","highlightSet","url","highlightCss","previewTheme","highlightJs","historyLength","showCodeRowNumber","usedLanguageText","allText","languageUserDefined","language","Cropper","useExpansion","iconfontJs","prettierCDN","prettierMDCDN","cropperCss","cropperJs","iconfontScript","createElement","src","prettierScript","prettierMDScript","cropperLink","rel","href","cropperScript","Divider","getSlot","instance","ctx","props","targetSlot","$slots","slots","Dropdown","String","overlay","visible","Boolean","onChange","HIDDEN_CLASS","ctl","overlayClass","overlayStyle","triggerHover","overlayHover","triggerRef","overlayRef","triggerHandler","triggerEle","overlayEle","triggerInfo","getBoundingClientRect","triggerTop","offsetTop","triggerLeft","offsetLeft","triggerHeight","triggerWidth","overlayHandler","newV","classItem","clickHidden","contains","hiddenTimer","leaveHidden","clearTimeout","setTimeout","slotDefault","slotOverlay","Array","ref","setPosition","tarDom","startPos","endPos","setSelectionRange","focus","log","insert","dom","tarValue","deviationStart","deviationEnd","direct","res","selectionStart","selectionEnd","prefixVal","substring","subfixVal","length","option","newWindow","nofollow","warn","aEle","display","click","removeChild","scrollAuto","pEle","cEle","addEvent","debounce","scrollHandler","pHeight","cHeight","pScrollHeight","scrollHeight","cScrollHeight","scale","scrollTo","base642File","base64","fileName","arr","split","regResult","match","mime","bstr","atob","n","u8arr","Uint8Array","charCodeAt","file","File","generateCodeRowNumber","trim","list","rowNumberList","join","fn","ms","timer","apply","globalThis","Modal","onClosed","showAdjust","isFullscreen","onAdjust","modalVisible","modalClass","modalRef","modalHeaderRef","keyMoveClear","initPos","historyPos","nVal","halfWidth","halfHeight","halfClientWidth","halfClientHeight","slotTitle","stopPropagation","LinkModal","onCancel","onOk","ult","_c","_d","linkData","desc","_e","ClipModal","uploadRef","uploadImgRef","previewTargetRef","data","cropperInited","imgSelected","imgSrc","cropper","onchange","fileList","files","fileReader","FileReader","result","viewMode","readAsDataURL","destroy","modalSize","reset","val","_a2","cvs","getCroppedCanvas","toDataURL","Modals","linkVisible","clipVisible","useSreenfull","screenfull","fullScreenHandler","isEnabled","exit","request","screenfullLoad","updateSetting","setting","screenScript","screenfullJs","TableShape","tableShape","onSelected","hoverPosition","fill","map","rowIndex","_2","colIndex","ToolBar","defToolbars","emitHandler","modalData","toolbarLeftRef","getSelection","toString","splitedbar","excluedBars","barItem","moduleSplitIndex","indexOf","barLeft","slice","barRight","Number","MAX_SAFE_INTEGER","uploadHandler","barRender","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","defItem","children","v","selectedShape","pageFullScreen","LeftBar","RightBar","getDefaults","baseUrl","breaks","extensions","gfm","headerIds","headerPrefix","highlight","langPrefix","mangle","pedantic","renderer","sanitize","sanitizer","silent","smartLists","smartypants","tokenizer","walkTokens","xhtml","defaults","changeDefaults","newDefaults","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","html","encode","test","replace","unescapeTest","toLowerCase","charAt","fromCharCode","parseInt","caret","edit","regex","opt","source","getRegex","RegExp","nonWordAndColonTest","originIndependentUrl","cleanUrl","base","prot","decodeURIComponent","resolveUrl","encodeURI","baseUrls","justDomain","protocol","domain","rtrim","relativeBase","noopTest","exec","merge","i","arguments","splitCells","tableRow","count","row","offset","str","escaped","curr","cells","shift","pop","splice","c","invert","l","suffLen","currChar","substr","findClosingBracket","level","checkSanitizeDeprecation","repeatString","pattern","outputLink","cap","raw","lexer","inLink","token","tokens","inlineTokens","indentCodeCompensation","matchIndentToCode","indentToCode","node","matchIndentInNode","indentInNode","Tokenizer","options","rules","newline","codeBlockStyle","fences","lang","heading","trimmed","depth","hr","blockquote","blockTokens","istask","ischecked","indent","blankLine","endsWithBlankLine","line","nextLine","rawLine","itemContents","endEarly","bull","isordered","ordered","start","loose","items","itemRegex","trimLeft","search","nextBulletRegex","Math","min","task","checked","trimRight","spacers","t","hasMultipleLineBreaks","every","chars","lineBreaks","char","pre","def","tag","header","align","rows","j","k","lheading","paragraph","escape","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","linkLen","_escapes","links","reflink","nolink","maskedSrc","prevChar","emStrong","lDelim","nextChar","punctuation","lLength","rDelim","rLength","delimTotal","midDelimTotal","endReg","rDelimAst","rDelimUnd","lastIndex","text2","index","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","mangle2","autolink","prevCapZero","_backpedal","smartypants2","_paragraph","_label","_title","bullet","listItemStart","_tag","_comment","normal","reflinkSearch","out","random","_punctuation","blockSkip","escapedEmSt","_scheme","_email","_attribute","_href","strong","middle","endAst","endUnd","em","_extended_email","Lexer","create","inlineQueue","lex","lastToken","cutSrc","lastParagraphClipped","some","extTokenizer","space","startBlock","startIndex","Infinity","tempSrc","tempStart","getStartIndex","errMsg","Error","keepPrevChar","keys","lastIndexOf","codespan","startInline","inlineText","Renderer","infostring","slugger","slug","startatt","content","flags","TextRenderer","Slugger","seen","originalSlug","isDryRun","occurenceAccumulator","serialize","getNextSafeSlug","dryrun","Parser","textRenderer","parser","parse","parseInline","l2","l3","cell","itemBody","checkbox","ret","renderers","tablecell","tablerow","unshift","listitem","marked","done","err","pending","message","setOptions","use","args","opts","childTokens","hasExtensions","pack","ext","prevRenderer","args2","prevTokenizer","lexInline","toggleSelection","selection","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","removeAllRanges","range","addRange","deselectCurrent","clipboardToIE11Formatting","defaultMessage","format","copyKey","navigator","userAgent","copy","debug","reselectPrevious","mark","success","createRange","textContent","all","position","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","clipboardData","clearData","format2","setData","onCopy","selectNodeContents","successful","execCommand","err2","prompt","removeRange","copyToClipboard","splitHelp","textarea","prefixStr","subfixStr","prefixStrIndexOfLineCode","prefixStrEndRow","subfixStrIndexOfLineCode","subfixStrEndRow","prefixSupply","subfixSupply","directive2flag","selectedText","inputArea","targetValue","pix","num","plugins","prettierPlugins","col","urls","reduce","pVal","url2","retract","str2adjust","str2AdjustRows","strItem","mdText","normalReg","notMultiRow","selected","deletedTabStr","deletedLength","newContent","firstRowDelNum","totalRowDelNum","str2AdjustRowsMod","index2","kaTexExtensions","prefix2","reg","_katex","renderToString","throwOnError","useHistory","textAreaRef","saveHistoryId","history","userUpdated","_b2","lastStep","currHistory","useMarked","mermaidData","highlightInited","katexInited","heads","headProps","markedHeading","defaultCode","isEscaped","noMermaid","idRand","Date","now","svgCode","mermaidAPI","errorDom","errorSvg","outerHTML","remove","markedImage","noKatex","hljs","codeHtml","highlightAuto","_html","reRender","mermaidInited","onHtmlChanged","highlightLoad","onGetCatalog","katexScript","katexJs","katexLink","katexCss","highlightLink","highlightScript","useAutoScroll","previewRef","htmlRef","clearScrollAuto","initScrollAuto","initCopyEntry","querySelectorAll","copyButton","setAttribute","innerText","_a3","htmlChanged","settingPreviewChanged","useAutoGenrator","endPoint","subStr","lastIndexBR","enterPressRow","cancelBubble","resetPrefixStr","lastOrderMatch","nextOrder","useMermaid","reSetMermaidTheme","initialize","mermaidScript","mermaidJs","logLevel","usePasteUpload","pasteHandler","from","Content","placeholder","CatalogLink","tocItem","markedHeadingId","scrollElement","HTMLElement","targetHeadEle","scrollContainer","par","offsetParent","behavior","Catalog","show","catalogs","tocItems","lastItem","_list","editorClass","onUploadImg","Editor","catalogVisible","bodyOverflowHistory","adjustBody","overflow","cb","insertHanlder","clear","catalogShow","NormalToolbar","Trigger","DropdownToolbar","Overlay","install","app","component","defineComponent","components","MdEditor","methods","__exports__"],"mappings":"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","file":"js/chunk-45459eaa.7db09f7b.js","sourcesContent":["import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"mark-down\" }\nconst _hoisted_2 = {\n class: \"\",\n style: {\"flex\":\"1\"}\n}\nconst _hoisted_3 = { style: {\"margin-top\":\"20px\",\"flex-shrink\":\"0\"} }\nconst _hoisted_4 = /*#__PURE__*/_createTextVNode(\"提交\")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_md_editor = _resolveComponent(\"md-editor\")!\n const _component_el_button = _resolveComponent(\"el-button\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_md_editor, {\n modelValue: _ctx.text,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.text) = $event))\n }, null, 8, [\"modelValue\"])\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: _ctx.submit\n }, {\n default: _withCtx(() => [\n _hoisted_4\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]))\n}","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nimport { onMounted, onBeforeUnmount, provide, computed, defineComponent, createVNode, reactive, ref, watch, cloneVNode, nextTick, inject, mergeProps, Fragment } from \"vue\";\nconst prefix = \"md\";\nconst iconfontUrl = \"//at.alicdn.com/t/font_2605852_pqekijay2ij.js\";\nconst highlightUrl = {\n atom: \"https://cdn.jsdelivr.net/npm/highlight.js@11.2.0/styles/atom-one-dark.css\",\n github: \"https://cdn.jsdelivr.net/npm/highlight.js@11.2.0/styles/github.css\",\n githubDark: \"https://cdn.jsdelivr.net/npm/highlight.js@11.2.0/styles/github-dark.css\",\n js: \"https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.2.0/build/highlight.min.js\"\n};\nconst prettierUrl = {\n main: \"https://cdn.jsdelivr.net/npm/prettier@2.4.0/standalone.js\",\n markdown: \"https://cdn.jsdelivr.net/npm/prettier@2.4.0/parser-markdown.js\"\n};\nconst cropperUrl = {\n css: \"https://cdn.jsdelivr.net/npm/cropperjs@1.5.12/dist/cropper.min.css\",\n js: \"https://cdn.jsdelivr.net/npm/cropperjs@1.5.12/dist/cropper.min.js\"\n};\nconst screenfullUrl = \"https://cdn.jsdelivr.net/npm/screenfull@5.1.0/dist/screenfull.js\";\nconst allToolbar = [\n \"bold\",\n \"underline\",\n \"italic\",\n \"strikeThrough\",\n \"-\",\n \"title\",\n \"sub\",\n \"sup\",\n \"quote\",\n \"unorderedList\",\n \"orderedList\",\n \"-\",\n \"codeRow\",\n \"code\",\n \"link\",\n \"image\",\n \"table\",\n \"mermaid\",\n \"katex\",\n \"-\",\n \"revoke\",\n \"next\",\n \"save\",\n \"=\",\n \"prettier\",\n \"pageFullscreen\",\n \"fullscreen\",\n \"preview\",\n \"htmlPreview\",\n \"catalog\",\n \"github\"\n];\nconst staticTextDefault = {\n \"zh-CN\": {\n toolbarTips: {\n bold: \"\\u52A0\\u7C97\",\n underline: \"\\u4E0B\\u5212\\u7EBF\",\n italic: \"\\u659C\\u4F53\",\n strikeThrough: \"\\u5220\\u9664\\u7EBF\",\n title: \"\\u6807\\u9898\",\n sub: \"\\u4E0B\\u6807\",\n sup: \"\\u4E0A\\u6807\",\n quote: \"\\u5F15\\u7528\",\n unorderedList: \"\\u65E0\\u5E8F\\u5217\\u8868\",\n orderedList: \"\\u6709\\u5E8F\\u5217\\u8868\",\n codeRow: \"\\u884C\\u5185\\u4EE3\\u7801\",\n code: \"\\u5757\\u7EA7\\u4EE3\\u7801\",\n link: \"\\u94FE\\u63A5\",\n image: \"\\u56FE\\u7247\",\n table: \"\\u8868\\u683C\",\n mermaid: \"mermaid\\u56FE\",\n katex: \"\\u516C\\u5F0F\",\n revoke: \"\\u540E\\u9000\",\n next: \"\\u524D\\u8FDB\",\n save: \"\\u4FDD\\u5B58\",\n prettier: \"\\u7F8E\\u5316\",\n pageFullscreen: \"\\u6D4F\\u89C8\\u5668\\u5168\\u5C4F\",\n fullscreen: \"\\u5C4F\\u5E55\\u5168\\u5C4F\",\n preview: \"\\u9884\\u89C8\",\n htmlPreview: \"html\\u4EE3\\u7801\\u9884\\u89C8\",\n catalog: \"\\u76EE\\u5F55\",\n github: \"\\u6E90\\u7801\\u5730\\u5740\"\n },\n titleItem: {\n h1: \"\\u4E00\\u7EA7\\u6807\\u9898\",\n h2: \"\\u4E8C\\u7EA7\\u6807\\u9898\",\n h3: \"\\u4E09\\u7EA7\\u6807\\u9898\",\n h4: \"\\u56DB\\u7EA7\\u6807\\u9898\",\n h5: \"\\u4E94\\u7EA7\\u6807\\u9898\",\n h6: \"\\u516D\\u7EA7\\u6807\\u9898\"\n },\n imgTitleItem: {\n link: \"\\u6DFB\\u52A0\\u94FE\\u63A5\",\n upload: \"\\u4E0A\\u4F20\\u56FE\\u7247\",\n clip2upload: \"\\u88C1\\u526A\\u4E0A\\u4F20\"\n },\n linkModalTips: {\n title: \"\\u6DFB\\u52A0\",\n descLable: \"\\u94FE\\u63A5\\u63CF\\u8FF0\\uFF1A\",\n descLablePlaceHolder: \"\\u8BF7\\u8F93\\u5165\\u63CF\\u8FF0...\",\n urlLable: \"\\u94FE\\u63A5\\u5730\\u5740\\uFF1A\",\n UrlLablePlaceHolder: \"\\u8BF7\\u8F93\\u5165\\u94FE\\u63A5...\",\n buttonOK: \"\\u786E\\u5B9A\"\n },\n clipModalTips: {\n title: \"\\u88C1\\u526A\\u56FE\\u7247\\u4E0A\\u4F20\",\n buttonUpload: \"\\u4E0A\\u4F20\"\n },\n copyCode: {\n text: \"\\u590D\\u5236\\u4EE3\\u7801\",\n tips: \"\\u5DF2\\u590D\\u5236\\uFF01\"\n },\n mermaid: {\n flow: \"\\u6D41\\u7A0B\\u56FE\",\n sequence: \"\\u65F6\\u5E8F\\u56FE\",\n gantt: \"\\u7518\\u7279\\u56FE\",\n class: \"\\u7C7B\\u56FE\",\n state: \"\\u72B6\\u6001\\u56FE\",\n pie: \"\\u997C\\u56FE\",\n relationship: \"\\u5173\\u7CFB\\u56FE\",\n journey: \"\\u65C5\\u7A0B\\u56FE\"\n },\n katex: {\n inline: \"\\u884C\\u5185\\u516C\\u5F0F\",\n block: \"\\u5757\\u7EA7\\u516C\\u5F0F\"\n }\n },\n \"en-US\": {\n toolbarTips: {\n bold: \"bold\",\n underline: \"underline\",\n italic: \"italic\",\n strikeThrough: \"strikeThrough\",\n title: \"title\",\n sub: \"subscript\",\n sup: \"superscript\",\n quote: \"quote\",\n unorderedList: \"unordered list\",\n orderedList: \"ordered list\",\n codeRow: \"inline code\",\n code: \"block-level code\",\n link: \"link\",\n image: \"image\",\n table: \"table\",\n mermaid: \"mermaid\",\n katex: \"formula\",\n revoke: \"revoke\",\n next: \"undo revoke\",\n save: \"save\",\n prettier: \"prettier\",\n pageFullscreen: \"fullscreen in page\",\n fullscreen: \"fullscreen\",\n preview: \"preview\",\n htmlPreview: \"html preview\",\n catalog: \"catalog\",\n github: \"source code\"\n },\n titleItem: {\n h1: \"Lv1 Heading\",\n h2: \"Lv2 Heading\",\n h3: \"Lv3 Heading\",\n h4: \"Lv4 Heading\",\n h5: \"Lv5 Heading\",\n h6: \"Lv6 Heading\"\n },\n imgTitleItem: {\n link: \"Add Img Link\",\n upload: \"Upload Img\",\n clip2upload: \"Clip Upload\"\n },\n linkModalTips: {\n title: \"Add \",\n descLable: \"Desc:\",\n descLablePlaceHolder: \"Enter a description...\",\n urlLable: \"Link:\",\n UrlLablePlaceHolder: \"Enter a link...\",\n buttonOK: \"OK\"\n },\n clipModalTips: {\n title: \"Crop Image\",\n buttonUpload: \"Upload\"\n },\n copyCode: {\n text: \"Copy\",\n tips: \"Copied!\"\n },\n mermaid: {\n flow: \"flow\",\n sequence: \"sequence\",\n gantt: \"gantt\",\n class: \"class\",\n state: \"state\",\n pie: \"pie\",\n relationship: \"relationship\",\n journey: \"journey\"\n },\n katex: {\n inline: \"inline\",\n block: \"block\"\n }\n }\n};\nconst mermaidUrl = \"https://cdn.jsdelivr.net/npm/mermaid@8.13.5/dist/mermaid.min.js\";\nconst katexJsUrl = \"https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.js\";\nconst katexCssUrl = \"https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.css\";\nclass Bus {\n constructor() {\n __publicField(this, \"pools\", {});\n }\n remove(race, name, func) {\n const targetRace = this.pools[race];\n const events = targetRace && this.pools[race][name];\n if (events) {\n this.pools[race][name] = events.filter((item) => item === func);\n }\n }\n clear(race) {\n this.pools[race] = {};\n }\n on(race, event) {\n if (!this.pools[race]) {\n this.pools[race] = {};\n }\n if (!this.pools[race][event.name]) {\n this.pools[race][event.name] = [];\n }\n this.pools[race][event.name].push(event.callback);\n return this.pools[race][event.name].includes(event.callback);\n }\n emit(race, name, ...params) {\n if (!this.pools[race]) {\n this.pools[race] = {};\n }\n const targetRace = this.pools[race];\n const events = targetRace[name];\n if (events) {\n events.forEach((item) => {\n try {\n item(...params);\n } catch (error) {\n console.error(`${name} monitor event exception\\uFF01`, error);\n }\n });\n }\n }\n}\nvar bus = new Bus();\nconst keyMove = (trigger, moveHandler) => {\n const triggerMouseDown = (mdown) => {\n const parent = trigger.parentElement || document.body;\n const width = parent.offsetWidth;\n const height = parent.offsetHeight;\n const { clientWidth } = document.documentElement;\n const { clientHeight } = document.documentElement;\n const x = mdown.offsetX;\n const y = mdown.offsetY;\n const mouseMoveHandler = (e) => {\n let tx = e.x + document.body.scrollLeft - document.body.clientLeft - x;\n let ty = e.y + document.body.scrollTop - document.body.clientTop - y;\n tx = tx < 1 ? 1 : tx < clientWidth - width - 1 ? tx : clientWidth - width - 1;\n ty = ty < 1 ? 1 : ty < clientHeight - height - 1 ? ty : clientHeight - height - 1;\n if (moveHandler) {\n moveHandler(tx, ty);\n } else {\n parent.style.left = `${tx}px`;\n parent.style.top = `${ty}px`;\n }\n };\n document.addEventListener(\"mousemove\", mouseMoveHandler);\n const mouseUpHandler = () => {\n document.removeEventListener(\"mousemove\", mouseMoveHandler);\n document.removeEventListener(\"mouseup\", mouseUpHandler);\n };\n document.addEventListener(\"mouseup\", mouseUpHandler);\n };\n trigger.addEventListener(\"mousedown\", triggerMouseDown);\n return () => {\n trigger.removeEventListener(\"mousedown\", triggerMouseDown);\n };\n};\nconst appendHandler = (ele, checkKey = \"\") => {\n const insertedEle = document.getElementById(ele.id);\n if (!insertedEle) {\n document.head.appendChild(ele);\n } else if (checkKey !== \"\" && ele.onload instanceof Function) {\n if (Reflect.get(window, checkKey)) {\n ele.onload(new Event(\"load\"));\n } else {\n insertedEle.addEventListener(\"load\", ele.onload);\n }\n }\n};\nconst useKeyBoard = (props2, context) => {\n const { editorId } = props2;\n const initFunc = (name) => {\n var _a, _b;\n return ((_a = props2.toolbars) == null ? void 0 : _a.includes(name)) && !((_b = props2.toolbarsExclude) == null ? void 0 : _b.includes(name));\n };\n const keyDownHandler = (event) => {\n if (event.target !== document.querySelector(`#${props2.editorId}-textarea`)) {\n return;\n }\n if (event.ctrlKey || event.metaKey) {\n switch (event.code) {\n case \"KeyS\": {\n if (event.shiftKey) {\n if (initFunc(\"strikeThrough\")) {\n bus.emit(editorId, \"replace\", \"strikeThrough\");\n }\n } else {\n if (initFunc(\"save\")) {\n bus.emit(editorId, \"onSave\", props2.modelValue);\n event.preventDefault();\n }\n }\n break;\n }\n case \"KeyB\": {\n if (initFunc(\"bold\")) {\n bus.emit(editorId, \"replace\", \"bold\");\n event.preventDefault();\n }\n break;\n }\n case \"KeyU\": {\n if (event.shiftKey) {\n if (initFunc(\"unorderedList\")) {\n bus.emit(editorId, \"replace\", \"unorderedList\");\n event.preventDefault();\n }\n } else {\n if (initFunc(\"underline\")) {\n bus.emit(editorId, \"replace\", \"underline\");\n event.preventDefault();\n }\n }\n break;\n }\n case \"KeyI\": {\n if (event.shiftKey) {\n if (initFunc(\"image\")) {\n bus.emit(editorId, \"openModals\", \"image\");\n event.preventDefault();\n }\n } else {\n if (initFunc(\"italic\")) {\n bus.emit(editorId, \"replace\", \"italic\");\n event.preventDefault();\n }\n }\n break;\n }\n case \"Digit1\": {\n if (initFunc(\"title\")) {\n bus.emit(editorId, \"replace\", \"h1\");\n event.preventDefault();\n }\n break;\n }\n case \"Digit2\": {\n if (initFunc(\"title\")) {\n bus.emit(editorId, \"replace\", \"h2\");\n event.preventDefault();\n }\n break;\n }\n case \"Digit3\": {\n if (initFunc(\"title\")) {\n bus.emit(editorId, \"replace\", \"h3\");\n event.preventDefault();\n }\n break;\n }\n case \"Digit4\": {\n if (initFunc(\"title\")) {\n bus.emit(editorId, \"replace\", \"h4\");\n event.preventDefault();\n }\n break;\n }\n case \"Digit5\": {\n if (initFunc(\"title\")) {\n bus.emit(editorId, \"replace\", \"h5\");\n event.preventDefault();\n }\n break;\n }\n case \"Digit6\": {\n if (initFunc(\"title\")) {\n bus.emit(editorId, \"replace\", \"h6\");\n event.preventDefault();\n }\n break;\n }\n case \"ArrowUp\": {\n if (initFunc(\"sup\")) {\n bus.emit(editorId, \"replace\", \"sup\");\n event.preventDefault();\n }\n break;\n }\n case \"ArrowDown\": {\n if (initFunc(\"sub\")) {\n bus.emit(editorId, \"replace\", \"sub\");\n event.preventDefault();\n }\n break;\n }\n case \"KeyQ\": {\n if (event.key === \"a\") {\n event.target.select();\n return;\n }\n bus.emit(editorId, \"replace\", \"quote\");\n event.preventDefault();\n break;\n }\n case \"KeyA\": {\n if (event.key === \"q\") {\n bus.emit(editorId, \"replace\", \"quote\");\n event.preventDefault();\n break;\n } else {\n return;\n }\n }\n case \"KeyO\": {\n if (initFunc(\"orderedList\")) {\n bus.emit(editorId, \"replace\", \"orderedList\");\n event.preventDefault();\n }\n break;\n }\n case \"KeyC\": {\n if (event.shiftKey) {\n if (initFunc(\"code\")) {\n bus.emit(editorId, \"replace\", \"code\");\n event.preventDefault();\n }\n } else if (event.altKey) {\n if (initFunc(\"codeRow\")) {\n bus.emit(editorId, \"replace\", \"codeRow\");\n event.preventDefault();\n }\n } else {\n event.preventDefault();\n bus.emit(editorId, \"replace\", \"ctrlC\");\n break;\n }\n break;\n }\n case \"KeyL\": {\n if (initFunc(\"link\")) {\n bus.emit(editorId, \"openModals\", \"link\");\n event.preventDefault();\n }\n break;\n }\n case \"KeyZ\": {\n if (event.key === \"w\") {\n return;\n }\n if (event.shiftKey) {\n if (initFunc(\"next\")) {\n bus.emit(editorId, \"ctrlShiftZ\");\n event.preventDefault();\n }\n } else {\n if (initFunc(\"revoke\")) {\n bus.emit(editorId, \"ctrlZ\");\n event.preventDefault();\n }\n }\n break;\n }\n case \"KeyW\": {\n if (event.key === \"z\") {\n if (event.shiftKey) {\n if (initFunc(\"next\")) {\n bus.emit(editorId, \"ctrlShiftZ\");\n event.preventDefault();\n }\n } else {\n if (initFunc(\"revoke\")) {\n bus.emit(editorId, \"ctrlZ\");\n event.preventDefault();\n }\n }\n break;\n } else {\n return;\n }\n }\n case \"KeyF\": {\n if (event.shiftKey) {\n if (initFunc(\"prettier\")) {\n bus.emit(editorId, \"replace\", \"prettier\");\n event.preventDefault();\n }\n }\n break;\n }\n case \"KeyT\": {\n if (event.altKey && event.shiftKey) {\n if (initFunc(\"table\")) {\n bus.emit(editorId, \"replace\", \"table\");\n event.preventDefault();\n }\n }\n break;\n }\n case \"KeyX\": {\n bus.emit(editorId, \"replace\", \"ctrlX\");\n event.preventDefault();\n break;\n }\n case \"KeyD\": {\n event.preventDefault();\n bus.emit(editorId, \"replace\", \"ctrlD\");\n break;\n }\n }\n } else if (event.code === \"Tab\") {\n event.preventDefault();\n if (event.shiftKey) {\n bus.emit(editorId, \"replace\", \"shiftTab\");\n } else {\n bus.emit(editorId, \"replace\", \"tab\");\n }\n }\n };\n onMounted(() => {\n if (!props2.previewOnly) {\n window.addEventListener(\"keydown\", keyDownHandler);\n bus.on(editorId, {\n name: \"onSave\",\n callback() {\n if (props2.onSave) {\n props2.onSave(props2.modelValue);\n } else {\n context.emit(\"onSave\", props2.modelValue);\n }\n }\n });\n }\n });\n onBeforeUnmount(() => {\n if (!props2.previewOnly) {\n window.removeEventListener(\"keydown\", keyDownHandler);\n }\n });\n};\nconst useProvide = (props2) => {\n const { editorId } = props2;\n provide(\"editorId\", editorId);\n provide(\"tabWidth\", props2.tabWidth);\n provide(\"theme\", computed(() => props2.theme));\n const highlightSet = computed(() => {\n let url = highlightUrl.atom;\n if (props2.highlightCss) {\n url = props2.highlightCss;\n } else {\n switch (props2.previewTheme) {\n case \"github\": {\n if (props2.theme === \"dark\") {\n url = highlightUrl.githubDark;\n } else {\n url = highlightUrl.github;\n }\n break;\n }\n }\n }\n return {\n js: props2.highlightJs,\n css: url\n };\n });\n provide(\"highlight\", highlightSet);\n provide(\"historyLength\", props2.historyLength);\n provide(\"previewOnly\", props2.previewOnly);\n provide(\"showCodeRowNumber\", props2.showCodeRowNumber);\n const usedLanguageText = computed(() => {\n const allText = __spreadValues(__spreadValues({}, staticTextDefault), props2.languageUserDefined);\n if (allText[props2.language]) {\n return allText[props2.language];\n } else {\n return staticTextDefault[\"zh-CN\"];\n }\n });\n provide(\"usedLanguageText\", usedLanguageText);\n provide(\"Cropper\", props2.Cropper);\n provide(\"previewTheme\", computed(() => props2.previewTheme));\n};\nconst useExpansion = (props2) => {\n const {\n iconfontJs,\n prettier,\n prettierCDN,\n prettierMDCDN,\n previewOnly,\n cropperCss,\n cropperJs\n } = props2;\n onMounted(() => {\n const iconfontScript = document.createElement(\"script\");\n iconfontScript.src = iconfontJs;\n iconfontScript.id = `${prefix}-icon`;\n const prettierScript = document.createElement(\"script\");\n const prettierMDScript = document.createElement(\"script\");\n prettierScript.src = prettierCDN;\n prettierScript.id = `${prefix}-prettier`;\n prettierMDScript.src = prettierMDCDN;\n prettierMDScript.id = `${prefix}-prettierMD`;\n const cropperLink = document.createElement(\"link\");\n cropperLink.rel = \"stylesheet\";\n cropperLink.href = cropperCss;\n cropperLink.id = `${prefix}-cropperCss`;\n const cropperScript = document.createElement(\"script\");\n cropperScript.src = cropperJs;\n cropperScript.id = `${prefix}-cropper`;\n if (!previewOnly) {\n appendHandler(iconfontScript);\n if (!props2.Cropper) {\n appendHandler(cropperLink);\n appendHandler(cropperScript);\n }\n if (prettier) {\n appendHandler(prettierScript);\n appendHandler(prettierMDScript);\n }\n }\n });\n};\nvar index$1 = \"\";\nvar Divider = defineComponent({\n setup() {\n return () => createVNode(\"div\", {\n \"class\": `${prefix}-divider`\n }, null);\n }\n});\nconst getSlot = ({\n instance,\n ctx,\n props: props2 = {}\n}, name = \"default\") => {\n const targetSlot = (instance == null ? void 0 : instance.$slots[name]) || (ctx == null ? void 0 : ctx.slots[name]);\n return (targetSlot ? targetSlot(instance) : \"\") || props2[name];\n};\nvar style$3 = \"\";\nvar Dropdown = defineComponent({\n props: {\n trigger: {\n type: String,\n default: \"hover\"\n },\n overlay: {\n type: [String, Object],\n default: \"\"\n },\n visible: {\n type: Boolean,\n default: false\n },\n onChange: {\n type: Function,\n default: () => () => {\n }\n }\n },\n setup(props2, ctx) {\n const HIDDEN_CLASS = `${prefix}-dropdown-hidden`;\n const ctl = reactive({\n overlayClass: [HIDDEN_CLASS],\n overlayStyle: {},\n triggerHover: false,\n overlayHover: false\n });\n const triggerRef = ref();\n const overlayRef = ref();\n const triggerHandler = () => {\n if (props2.trigger === \"hover\") {\n ctl.triggerHover = true;\n }\n const triggerEle = triggerRef.value;\n const overlayEle = overlayRef.value;\n const triggerInfo = triggerEle.getBoundingClientRect();\n const triggerTop = triggerEle.offsetTop;\n const triggerLeft = triggerEle.offsetLeft;\n const triggerHeight = triggerInfo.height;\n const triggerWidth = triggerInfo.width;\n ctl.overlayStyle = __spreadProps(__spreadValues({}, ctl.overlayStyle), {\n top: triggerTop + triggerHeight + \"px\",\n left: triggerLeft - overlayEle.offsetWidth / 2 + triggerWidth / 2 + \"px\"\n });\n props2.onChange(true);\n };\n const overlayHandler = () => {\n ctl.overlayHover = true;\n };\n watch(() => props2.visible, (newV) => {\n if (newV) {\n ctl.overlayClass = ctl.overlayClass.filter((classItem) => classItem !== HIDDEN_CLASS);\n } else {\n ctl.overlayClass.push(HIDDEN_CLASS);\n }\n });\n const clickHidden = (e) => {\n const triggerEle = triggerRef.value;\n const overlayEle = overlayRef.value;\n if (!triggerEle.contains(e.target) && !overlayEle.contains(e.target)) {\n props2.onChange(false);\n }\n };\n let hiddenTimer = -1;\n const leaveHidden = (e) => {\n if (triggerRef.value === e.target) {\n ctl.triggerHover = false;\n } else {\n ctl.overlayHover = false;\n }\n clearTimeout(hiddenTimer);\n hiddenTimer = window.setTimeout(() => {\n if (!ctl.overlayHover && !ctl.triggerHover) {\n props2.onChange(false);\n }\n }, 10);\n };\n onMounted(() => {\n if (props2.trigger === \"click\") {\n triggerRef.value.addEventListener(\"click\", triggerHandler);\n document.addEventListener(\"click\", clickHidden);\n } else {\n triggerRef.value.addEventListener(\"mouseenter\", triggerHandler);\n triggerRef.value.addEventListener(\"mouseleave\", leaveHidden);\n overlayRef.value.addEventListener(\"mouseenter\", overlayHandler);\n overlayRef.value.addEventListener(\"mouseleave\", leaveHidden);\n }\n });\n onBeforeUnmount(() => {\n if (props2.trigger === \"click\") {\n triggerRef.value.removeEventListener(\"click\", triggerHandler);\n document.removeEventListener(\"click\", clickHidden);\n } else {\n triggerRef.value.removeEventListener(\"mouseenter\", triggerHandler);\n triggerRef.value.removeEventListener(\"mouseleave\", leaveHidden);\n overlayRef.value.removeEventListener(\"mouseenter\", overlayHandler);\n overlayRef.value.removeEventListener(\"mouseleave\", leaveHidden);\n }\n });\n return () => {\n const slotDefault = getSlot({\n ctx\n });\n const slotOverlay = getSlot({\n props: props2,\n ctx\n }, \"overlay\");\n const trigger = cloneVNode(slotDefault instanceof Array ? slotDefault[0] : slotDefault, {\n ref: triggerRef\n });\n const overlay = createVNode(\"div\", {\n \"class\": [`${prefix}-dropdown`, ctl.overlayClass],\n \"style\": ctl.overlayStyle,\n \"ref\": overlayRef\n }, [createVNode(\"div\", {\n \"class\": `${prefix}-dropdown-overlay`\n }, [slotOverlay instanceof Array ? slotOverlay[0] : slotOverlay])]);\n return [trigger, overlay];\n };\n }\n});\nconst setPosition = (tarDom, startPos = 0, endPos = startPos) => {\n if (tarDom.setSelectionRange) {\n setTimeout(() => {\n tarDom.setSelectionRange(startPos, endPos);\n tarDom.focus();\n }, 0);\n } else {\n console.log(\"can not reset position!\");\n }\n};\nconst insert = (dom, tarValue, params) => {\n const { deviationStart = 0, deviationEnd = 0, direct = false, select = false } = params;\n let res = \"\";\n if (dom.selectionStart || dom.selectionStart === 0) {\n const startPos = dom.selectionStart;\n const endPos = dom.selectionEnd || 0;\n const {\n prefixVal = dom.value.substring(0, startPos),\n subfixVal = dom.value.substring(endPos, dom.value.length)\n } = params;\n res = prefixVal + tarValue + subfixVal;\n setPosition(dom, select ? startPos + deviationStart : startPos + tarValue.length + deviationEnd, startPos + tarValue.length + deviationEnd);\n } else {\n res += tarValue;\n }\n if (direct) {\n dom.value = res;\n }\n return res;\n};\nconst goto = (url, option = {\n newWindow: true,\n nofollow: true\n}) => {\n if (!url) {\n console.warn(\"error link!\");\n }\n const aEle = document.createElement(\"a\");\n aEle.href = url;\n aEle.style.display = \"none\";\n if (option.newWindow) {\n aEle.target = \"_blank\";\n }\n if (option.nofollow) {\n aEle.rel = \"noopener noreferrer\";\n }\n document.body.appendChild(aEle);\n aEle.click();\n document.body.removeChild(aEle);\n};\nconst scrollAuto = (pEle, cEle) => {\n const addEvent = debounce(() => {\n pEle.removeEventListener(\"scroll\", scrollHandler);\n pEle.addEventListener(\"scroll\", scrollHandler);\n cEle.removeEventListener(\"scroll\", scrollHandler);\n cEle.addEventListener(\"scroll\", scrollHandler);\n }, 50);\n const scrollHandler = (e) => {\n const pHeight = pEle.clientHeight;\n const cHeight = cEle.clientHeight;\n const pScrollHeight = pEle.scrollHeight;\n const cScrollHeight = cEle.scrollHeight;\n const scale = (pScrollHeight - pHeight) / (cScrollHeight - cHeight);\n if (e.target === pEle) {\n cEle.removeEventListener(\"scroll\", scrollHandler);\n cEle.scrollTo({\n top: pEle.scrollTop / scale\n });\n addEvent();\n } else {\n pEle.removeEventListener(\"scroll\", scrollHandler);\n pEle.scrollTo({\n top: cEle.scrollTop * scale\n });\n addEvent();\n }\n };\n return [\n addEvent,\n () => {\n pEle.removeEventListener(\"scroll\", scrollHandler);\n cEle.removeEventListener(\"scroll\", scrollHandler);\n }\n ];\n};\nconst base642File = (base64, fileName = \"image.png\") => {\n const arr = base64.split(\",\");\n const regResult = arr[0].match(/:(.*?);/);\n if (regResult) {\n const mime = regResult[1];\n const bstr = atob(arr[1]);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n const file = new File([u8arr], fileName, { type: mime });\n return file;\n }\n return null;\n};\nconst generateCodeRowNumber = (code) => {\n if (!code.trim()) {\n return code;\n }\n const list = code.split(\"\\n\");\n const rowNumberList = [''];\n list.forEach(() => {\n rowNumberList.push(\"\");\n });\n rowNumberList.push(\"\");\n return `${code}${rowNumberList.join(\"\")}`;\n};\nconst debounce = (fn, ms = 200) => {\n let timer = 0;\n return (...params) => {\n if (timer) {\n clearTimeout(timer);\n }\n timer = window.setTimeout(() => {\n fn.apply(globalThis, params);\n timer = 0;\n }, ms);\n };\n};\nvar style$2 = \"\";\nvar Modal = defineComponent({\n props: {\n title: {\n type: String,\n default: \"\"\n },\n visible: {\n type: Boolean,\n default: false\n },\n width: {\n type: String,\n default: \"auto\"\n },\n height: {\n type: String,\n default: \"auto\"\n },\n onClosed: {\n type: Function,\n default: () => () => {\n }\n },\n showAdjust: {\n type: Boolean,\n default: false\n },\n isFullscreen: {\n type: Boolean,\n default: false\n },\n onAdjust: {\n type: Function,\n default: () => () => {\n }\n }\n },\n setup(props2, ctx) {\n const modalVisible = ref(props2.visible);\n const modalClass = ref([`${prefix}-modal`]);\n const modalRef = ref();\n const modalHeaderRef = ref();\n let keyMoveClear = () => {\n };\n const state = reactive({\n initPos: {\n left: \"0px\",\n top: \"0px\"\n },\n historyPos: {\n left: \"0px\",\n top: \"0px\"\n }\n });\n onMounted(() => {\n keyMoveClear = keyMove(modalHeaderRef.value, (left, top) => {\n state.initPos.left = left + \"px\";\n state.initPos.top = top + \"px\";\n });\n });\n onBeforeUnmount(() => {\n keyMoveClear();\n });\n watch(() => props2.isFullscreen, (nVal) => {\n if (nVal) {\n keyMoveClear();\n } else {\n keyMoveClear = keyMove(modalHeaderRef.value, (left, top) => {\n state.initPos.left = left + \"px\";\n state.initPos.top = top + \"px\";\n });\n }\n });\n watch(() => props2.visible, (nVal) => {\n if (nVal) {\n modalClass.value.push(\"zoom-in\");\n modalVisible.value = nVal;\n nextTick(() => {\n const halfWidth = modalRef.value.offsetWidth / 2;\n const halfHeight = modalRef.value.offsetHeight / 2;\n const halfClientWidth = document.documentElement.clientWidth / 2;\n const halfClientHeight = document.documentElement.clientHeight / 2;\n state.initPos.left = halfClientWidth - halfWidth + \"px\";\n state.initPos.top = halfClientHeight - halfHeight + \"px\";\n });\n setTimeout(() => {\n modalClass.value = modalClass.value.filter((item) => item !== \"zoom-in\");\n }, 140);\n } else {\n modalClass.value.push(\"zoom-out\");\n setTimeout(() => {\n modalClass.value = modalClass.value.filter((item) => item !== \"zoom-out\");\n modalVisible.value = nVal;\n }, 130);\n }\n });\n return () => {\n const slotDefault = getSlot({\n ctx\n });\n const slotTitle = getSlot({\n props: props2,\n ctx\n }, \"title\");\n return createVNode(\"div\", {\n \"style\": {\n display: modalVisible.value ? \"block\" : \"none\"\n }\n }, [createVNode(\"div\", {\n \"class\": `${prefix}-modal-mask`,\n \"onClick\": props2.onClosed\n }, null), createVNode(\"div\", {\n \"class\": modalClass.value,\n \"style\": __spreadProps(__spreadValues({}, state.initPos), {\n width: props2.width,\n height: props2.height\n }),\n \"ref\": modalRef\n }, [createVNode(\"div\", {\n \"class\": `${prefix}-modal-header`,\n \"ref\": modalHeaderRef\n }, [slotTitle || \"\"]), createVNode(\"div\", {\n \"class\": `${prefix}-modal-body`\n }, [slotDefault]), createVNode(\"div\", {\n \"class\": `${prefix}-modal-func`\n }, [props2.showAdjust && createVNode(\"div\", {\n \"class\": `${prefix}-modal-adjust`,\n \"onClick\": (e) => {\n e.stopPropagation();\n if (!props2.isFullscreen) {\n state.historyPos = state.initPos;\n state.initPos = {\n left: \"0\",\n top: \"0\"\n };\n } else {\n state.initPos = state.historyPos;\n }\n props2.onAdjust(!props2.isFullscreen);\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": `#icon-${props2.isFullscreen ? \"suoxiao\" : \"fangda\"}`\n }, null)])]), createVNode(\"div\", {\n \"class\": `${prefix}-modal-close`,\n \"onClick\": (e) => {\n e.stopPropagation();\n props2.onClosed && props2.onClosed();\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-close\"\n }, null)])])])])]);\n };\n }\n});\nvar LinkModal = defineComponent({\n props: {\n type: {\n type: String,\n default: \"link\"\n },\n visible: {\n type: Boolean,\n default: false\n },\n onCancel: {\n type: Function,\n default: () => () => {\n }\n },\n onOk: {\n type: Function,\n default: () => () => {\n }\n }\n },\n setup(props2) {\n const ult = inject(\"usedLanguageText\");\n const editorId = inject(\"editorId\");\n const title = computed(() => {\n var _a, _b, _c, _d;\n switch (props2.type) {\n case \"link\": {\n return `${(_a = ult.value.linkModalTips) == null ? void 0 : _a.title}${(_b = ult.value.toolbarTips) == null ? void 0 : _b.link}`;\n }\n case \"image\": {\n return `${(_c = ult.value.linkModalTips) == null ? void 0 : _c.title}${(_d = ult.value.toolbarTips) == null ? void 0 : _d.image}`;\n }\n default: {\n return \"\";\n }\n }\n });\n const linkData = reactive({\n desc: \"\",\n url: \"\"\n });\n watch(() => props2.visible, (nVal) => {\n if (!nVal) {\n setTimeout(() => {\n linkData.desc = \"\";\n linkData.url = \"\";\n }, 200);\n }\n });\n return () => createVNode(Modal, {\n \"title\": title.value,\n \"visible\": props2.visible,\n \"onClosed\": props2.onCancel\n }, {\n default: () => {\n var _a, _b, _c, _d, _e;\n return [createVNode(\"div\", {\n \"class\": `${prefix}-form-item`\n }, [createVNode(\"label\", {\n \"class\": `${prefix}-lable`,\n \"for\": `link-desc-${editorId}`\n }, [(_a = ult.value.linkModalTips) == null ? void 0 : _a.descLable]), createVNode(\"input\", {\n \"placeholder\": (_b = ult.value.linkModalTips) == null ? void 0 : _b.descLablePlaceHolder,\n \"class\": `${prefix}-input`,\n \"id\": `link-desc-${editorId}`,\n \"type\": \"text\",\n \"value\": linkData.desc,\n \"onChange\": (e) => {\n linkData.desc = e.target.value;\n },\n \"autocomplete\": \"off\"\n }, null)]), createVNode(\"div\", {\n \"class\": `${prefix}-form-item`\n }, [createVNode(\"label\", {\n \"class\": `${prefix}-lable`,\n \"for\": `link-url-${editorId}`\n }, [(_c = ult.value.linkModalTips) == null ? void 0 : _c.urlLable]), createVNode(\"input\", {\n \"placeholder\": (_d = ult.value.linkModalTips) == null ? void 0 : _d.UrlLablePlaceHolder,\n \"class\": `${prefix}-input`,\n \"id\": `link-url-${editorId}`,\n \"type\": \"text\",\n \"value\": linkData.url,\n \"onChange\": (e) => {\n linkData.url = e.target.value;\n },\n \"autocomplete\": \"off\"\n }, null)]), createVNode(\"div\", {\n \"class\": `${prefix}-form-item`\n }, [createVNode(\"button\", {\n \"class\": [`${prefix}-btn`, `${prefix}-btn-row`],\n \"type\": \"button\",\n \"onClick\": () => {\n props2.onOk(linkData);\n linkData.desc = \"\";\n linkData.url = \"\";\n }\n }, [(_e = ult.value.linkModalTips) == null ? void 0 : _e.buttonOK])])];\n }\n });\n }\n});\nvar style$1 = \"\";\nvar ClipModal = defineComponent({\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n onCancel: {\n type: Function,\n default: () => () => {\n }\n },\n onOk: {\n type: Function,\n default: () => () => {\n }\n }\n },\n setup(props2) {\n const ult = inject(\"usedLanguageText\");\n const editorId = inject(\"editorId\");\n let Cropper = inject(\"Cropper\");\n const uploadRef = ref();\n const uploadImgRef = ref();\n const previewTargetRef = ref();\n const data = reactive({\n cropperInited: false,\n imgSelected: false,\n imgSrc: \"\",\n isFullscreen: false\n });\n let cropper = null;\n watch(() => props2.visible, () => {\n if (props2.visible && !data.cropperInited) {\n Cropper = Cropper || window.Cropper;\n uploadRef.value.onchange = () => {\n const fileList = uploadRef.value.files || [];\n data.imgSelected = true;\n if ((fileList == null ? void 0 : fileList.length) > 0) {\n const fileReader = new FileReader();\n fileReader.onload = (e) => {\n data.imgSrc = e.target.result;\n nextTick(() => {\n cropper = new Cropper(uploadImgRef.value, {\n viewMode: 2,\n preview: `.${prefix}-clip-preview-target`\n });\n });\n };\n fileReader.readAsDataURL(fileList[0]);\n }\n };\n }\n });\n watch(() => [data.imgSelected], () => {\n previewTargetRef.value.style = \"\";\n });\n watch(() => data.isFullscreen, () => {\n nextTick(() => {\n cropper == null ? void 0 : cropper.destroy();\n previewTargetRef.value.style = \"\";\n if (uploadImgRef.value) {\n cropper = new Cropper(uploadImgRef.value, {\n viewMode: 2,\n preview: `.${prefix}-clip-preview-target`\n });\n }\n });\n });\n const modalSize = computed(() => {\n return data.isFullscreen ? {\n width: \"100%\",\n height: \"100%\"\n } : {\n width: \"668px\",\n height: \"421px\"\n };\n });\n const reset = () => {\n cropper.destroy();\n uploadRef.value.value = \"\";\n data.imgSelected = false;\n };\n return () => {\n var _a;\n return createVNode(Modal, mergeProps({\n \"title\": (_a = ult.value.clipModalTips) == null ? void 0 : _a.title,\n \"visible\": props2.visible,\n \"onClosed\": props2.onCancel,\n \"showAdjust\": true,\n \"isFullscreen\": data.isFullscreen,\n \"onAdjust\": (val) => {\n data.isFullscreen = val;\n }\n }, modalSize.value), {\n default: () => {\n var _a2;\n return [createVNode(\"div\", {\n \"class\": `${prefix}-form-item ${prefix}-clip`\n }, [createVNode(\"div\", {\n \"class\": `${prefix}-clip-main`\n }, [data.imgSelected ? createVNode(\"div\", {\n \"class\": `${prefix}-clip-cropper`\n }, [createVNode(\"img\", {\n \"src\": data.imgSrc,\n \"ref\": uploadImgRef,\n \"style\": {\n display: \"none\"\n }\n }, null), createVNode(\"div\", {\n \"class\": `${prefix}-clip-delete`,\n \"onClick\": reset\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-delete\"\n }, null)])])]) : createVNode(\"div\", {\n \"class\": `${prefix}-clip-upload`,\n \"onClick\": () => {\n uploadRef.value.click();\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-upload\"\n }, null)])])]), createVNode(\"div\", {\n \"class\": `${prefix}-clip-preview`\n }, [createVNode(\"div\", {\n \"class\": `${prefix}-clip-preview-target`,\n \"ref\": previewTargetRef\n }, null)])]), createVNode(\"div\", {\n \"class\": `${prefix}-form-item`\n }, [createVNode(\"button\", {\n \"class\": `${prefix}-btn`,\n \"type\": \"button\",\n \"onClick\": () => {\n const cvs = cropper.getCroppedCanvas();\n bus.emit(editorId, \"uploadImage\", [base642File(cvs.toDataURL(\"image/png\"))], props2.onOk);\n reset();\n }\n }, [(_a2 = ult.value.linkModalTips) == null ? void 0 : _a2.buttonOK])]), createVNode(\"input\", {\n \"ref\": uploadRef,\n \"accept\": \"image/*\",\n \"type\": \"file\",\n \"multiple\": false,\n \"style\": {\n display: \"none\"\n }\n }, null)];\n }\n });\n };\n }\n});\nvar Modals = defineComponent({\n props: {\n type: {\n type: String,\n default: \"link\"\n },\n linkVisible: {\n type: Boolean,\n default: false\n },\n clipVisible: {\n type: Boolean,\n default: false\n },\n onCancel: {\n type: Function,\n default: () => () => {\n }\n },\n onOk: {\n type: Function,\n default: () => () => {\n }\n }\n },\n setup(props2) {\n return () => createVNode(Fragment, null, [createVNode(LinkModal, {\n \"type\": props2.type,\n \"visible\": props2.linkVisible,\n \"onOk\": props2.onOk,\n \"onCancel\": props2.onCancel\n }, null), createVNode(ClipModal, {\n \"visible\": props2.clipVisible,\n \"onOk\": props2.onOk,\n \"onCancel\": props2.onCancel\n }, null)]);\n }\n});\nconst useSreenfull = (props2) => {\n const previewOnly = inject(\"previewOnly\");\n let { screenfull } = props2;\n const fullScreenHandler = () => {\n if (screenfull.isEnabled) {\n if (screenfull.isFullscreen) {\n screenfull.exit();\n } else {\n screenfull.request();\n }\n } else {\n console.error(\"browser does not support screenfull!\");\n }\n };\n const screenfullLoad = () => {\n screenfull = window.screenfull;\n if (screenfull && screenfull.isEnabled) {\n screenfull.on(\"change\", () => {\n props2.updateSetting(!props2.setting.fullscreen, \"fullscreen\");\n });\n }\n };\n onMounted(() => {\n if (screenfull && screenfull.isEnabled) {\n screenfull.on(\"change\", () => {\n props2.updateSetting(!props2.setting.fullscreen, \"fullscreen\");\n });\n }\n if (!previewOnly && props2.screenfull === null) {\n const screenScript = document.createElement(\"script\");\n screenScript.src = props2.screenfullJs;\n screenScript.addEventListener(\"load\", screenfullLoad);\n screenScript.id = `${prefix}-screenfull`;\n appendHandler(screenScript);\n }\n });\n return { fullScreenHandler };\n};\nconst TableShape = defineComponent({\n name: \"TableShape\",\n props: {\n tableShape: {\n type: Array,\n default: () => [6, 4]\n },\n onSelected: {\n type: Function,\n default: () => {\n }\n }\n },\n setup(props2) {\n const hoverPosition = reactive({\n x: -1,\n y: -1\n });\n return () => createVNode(\"div\", {\n \"class\": `${prefix}-table-shape`,\n \"onMouseleave\": () => {\n hoverPosition.x = -1;\n hoverPosition.y = -1;\n }\n }, [new Array(props2.tableShape[1]).fill(\"\").map((_, rowIndex) => createVNode(\"div\", {\n \"class\": `${prefix}-table-shape-row`,\n \"key\": `table-shape-row-${rowIndex}`\n }, [new Array(props2.tableShape[0]).fill(\"\").map((_2, colIndex) => createVNode(\"div\", {\n \"class\": `${prefix}-table-shape-col`,\n \"key\": `table-shape-col-${colIndex}`,\n \"onMouseenter\": () => {\n hoverPosition.x = rowIndex;\n hoverPosition.y = colIndex;\n },\n \"onClick\": () => {\n props2.onSelected(hoverPosition);\n }\n }, [createVNode(\"div\", {\n \"class\": [`${prefix}-table-shape-col-default`, rowIndex <= hoverPosition.x && colIndex <= hoverPosition.y && `${prefix}-table-shape-col-include`]\n }, null)]))]))]);\n }\n});\nvar ToolBar = defineComponent({\n name: \"MDEditorToolbar\",\n props: {\n prettier: {\n type: Boolean\n },\n toolbars: {\n type: Array,\n default: () => []\n },\n toolbarsExclude: {\n type: Array,\n default: () => []\n },\n setting: {\n type: Object,\n default: () => ({})\n },\n screenfull: {\n type: Object,\n default: null\n },\n screenfullJs: {\n type: String,\n default: \"\"\n },\n updateSetting: {\n type: Function,\n default: () => () => {\n }\n },\n tableShape: {\n type: Array,\n default: () => [6, 4]\n },\n defToolbars: {\n type: Object\n }\n },\n setup(props2) {\n const editorId = inject(\"editorId\");\n const ult = inject(\"usedLanguageText\");\n const {\n fullScreenHandler\n } = useSreenfull(props2);\n const visible = reactive({\n title: false,\n catalog: false,\n image: false,\n table: false,\n mermaid: false,\n katex: false\n });\n const emitHandler = (direct, params) => {\n bus.emit(editorId, \"replace\", direct, params);\n };\n const modalData = reactive({\n type: \"link\",\n linkVisible: false,\n clipVisible: false\n });\n const toolbarLeftRef = ref();\n onMounted(() => {\n var _a;\n bus.on(editorId, {\n name: \"openModals\",\n callback(type) {\n modalData.type = type;\n modalData.linkVisible = true;\n }\n });\n (_a = toolbarLeftRef.value) == null ? void 0 : _a.addEventListener(\"mouseover\", () => {\n var _a2;\n if (!((_a2 = window.getSelection()) == null ? void 0 : _a2.toString())) {\n bus.emit(editorId, \"selectTextChange\", \"\");\n }\n });\n });\n const splitedbar = computed(() => {\n const excluedBars = props2.toolbars.filter((barItem) => !props2.toolbarsExclude.includes(barItem));\n const moduleSplitIndex = excluedBars.indexOf(\"=\");\n const barLeft = moduleSplitIndex === -1 ? excluedBars : excluedBars.slice(0, moduleSplitIndex + 1);\n const barRight = moduleSplitIndex === -1 ? [] : excluedBars.slice(moduleSplitIndex, Number.MAX_SAFE_INTEGER);\n return [barLeft, barRight];\n });\n const uploadRef = ref();\n const uploadHandler = () => {\n bus.emit(editorId, \"uploadImage\", uploadRef.value.files);\n uploadRef.value.value = \"\";\n };\n onMounted(() => {\n uploadRef.value.addEventListener(\"change\", uploadHandler);\n });\n const barRender = (barItem) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O;\n if (allToolbar.includes(barItem)) {\n switch (barItem) {\n case \"-\": {\n return createVNode(Divider, null, null);\n }\n case \"bold\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_a = ult.value.toolbarTips) == null ? void 0 : _a.bold,\n \"onClick\": () => {\n emitHandler(\"bold\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-bold\"\n }, null)])]);\n }\n case \"underline\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_b = ult.value.toolbarTips) == null ? void 0 : _b.underline,\n \"onClick\": () => {\n emitHandler(\"underline\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-underline\"\n }, null)])]);\n }\n case \"italic\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_c = ult.value.toolbarTips) == null ? void 0 : _c.italic,\n \"onClick\": () => {\n emitHandler(\"italic\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-italic\"\n }, null)])]);\n }\n case \"strikeThrough\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_d = ult.value.toolbarTips) == null ? void 0 : _d.strikeThrough,\n \"onClick\": () => {\n emitHandler(\"strikeThrough\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-strike-through\"\n }, null)])]);\n }\n case \"title\": {\n return createVNode(Dropdown, {\n \"visible\": visible.title,\n \"onChange\": (v) => {\n visible.title = v;\n },\n \"overlay\": createVNode(\"ul\", {\n \"class\": `${prefix}-menu`,\n \"onClick\": () => {\n visible.title = false;\n }\n }, [createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"h1\");\n }\n }, [(_e = ult.value.titleItem) == null ? void 0 : _e.h1]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"h2\");\n }\n }, [(_f = ult.value.titleItem) == null ? void 0 : _f.h2]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"h3\");\n }\n }, [(_g = ult.value.titleItem) == null ? void 0 : _g.h3]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"h4\");\n }\n }, [(_h = ult.value.titleItem) == null ? void 0 : _h.h4]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"h5\");\n }\n }, [(_i = ult.value.titleItem) == null ? void 0 : _i.h5]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"h6\");\n }\n }, [(_j = ult.value.titleItem) == null ? void 0 : _j.h6])])\n }, {\n default: () => {\n var _a2;\n return [createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_a2 = ult.value.toolbarTips) == null ? void 0 : _a2.title\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-title\"\n }, null)])])];\n }\n });\n }\n case \"sub\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_k = ult.value.toolbarTips) == null ? void 0 : _k.sub,\n \"onClick\": () => {\n emitHandler(\"sub\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-sub\"\n }, null)])]);\n }\n case \"sup\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_l = ult.value.toolbarTips) == null ? void 0 : _l.sup,\n \"onClick\": () => {\n emitHandler(\"sup\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-sup\"\n }, null)])]);\n }\n case \"quote\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_m = ult.value.toolbarTips) == null ? void 0 : _m.quote,\n \"onClick\": () => {\n emitHandler(\"quote\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-quote\"\n }, null)])]);\n }\n case \"unorderedList\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_n = ult.value.toolbarTips) == null ? void 0 : _n.unorderedList,\n \"onClick\": () => {\n emitHandler(\"unorderedList\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-unordered-list\"\n }, null)])]);\n }\n case \"orderedList\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_o = ult.value.toolbarTips) == null ? void 0 : _o.orderedList,\n \"onClick\": () => {\n emitHandler(\"orderedList\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-ordered-list\"\n }, null)])]);\n }\n case \"codeRow\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_p = ult.value.toolbarTips) == null ? void 0 : _p.codeRow,\n \"onClick\": () => {\n emitHandler(\"codeRow\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-code-row\"\n }, null)])]);\n }\n case \"code\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_q = ult.value.toolbarTips) == null ? void 0 : _q.code,\n \"onClick\": () => {\n emitHandler(\"code\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-code\"\n }, null)])]);\n }\n case \"link\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_r = ult.value.toolbarTips) == null ? void 0 : _r.link,\n \"onClick\": () => {\n modalData.type = \"link\";\n modalData.linkVisible = true;\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-link\"\n }, null)])]);\n }\n case \"image\": {\n return createVNode(Dropdown, {\n \"visible\": visible.image,\n \"onChange\": (v) => {\n visible.image = v;\n },\n \"overlay\": createVNode(\"ul\", {\n \"class\": `${prefix}-menu`,\n \"onClick\": () => {\n visible.title = false;\n }\n }, [createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n modalData.type = \"image\";\n modalData.linkVisible = true;\n }\n }, [(_s = ult.value.imgTitleItem) == null ? void 0 : _s.link]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n uploadRef.value.click();\n }\n }, [(_t = ult.value.imgTitleItem) == null ? void 0 : _t.upload]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n modalData.clipVisible = true;\n }\n }, [(_u = ult.value.imgTitleItem) == null ? void 0 : _u.clip2upload])])\n }, {\n default: () => {\n var _a2;\n return [createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_a2 = ult.value.toolbarTips) == null ? void 0 : _a2.image\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-image\"\n }, null)])])];\n }\n });\n }\n case \"table\": {\n return createVNode(Dropdown, {\n \"visible\": visible.table,\n \"onChange\": (v) => {\n visible.table = v;\n },\n \"key\": \"bar-table\",\n \"overlay\": createVNode(TableShape, {\n \"tableShape\": props2.tableShape,\n \"onSelected\": (selectedShape) => {\n emitHandler(\"table\", {\n selectedShape\n });\n }\n }, null)\n }, {\n default: () => {\n var _a2;\n return [createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_a2 = ult.value.toolbarTips) == null ? void 0 : _a2.table\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-table\"\n }, null)])])];\n }\n });\n }\n case \"revoke\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_v = ult.value.toolbarTips) == null ? void 0 : _v.revoke,\n \"onClick\": () => {\n bus.emit(editorId, \"ctrlZ\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-revoke\"\n }, null)])]);\n }\n case \"next\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_w = ult.value.toolbarTips) == null ? void 0 : _w.next,\n \"onClick\": () => {\n bus.emit(editorId, \"ctrlShiftZ\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-next\"\n }, null)])]);\n }\n case \"save\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_x = ult.value.toolbarTips) == null ? void 0 : _x.save,\n \"onClick\": () => {\n bus.emit(editorId, \"onSave\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-baocun\"\n }, null)])]);\n }\n case \"prettier\": {\n return props2.prettier ? createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_y = ult.value.toolbarTips) == null ? void 0 : _y.prettier,\n \"onClick\": () => {\n emitHandler(\"prettier\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-prettier\"\n }, null)])]) : \"\";\n }\n case \"pageFullscreen\": {\n return !props2.setting.fullscreen && createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_z = ult.value.toolbarTips) == null ? void 0 : _z.pageFullscreen,\n \"onClick\": () => {\n props2.updateSetting(!props2.setting.pageFullScreen, \"pageFullScreen\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": `#icon-${props2.setting.pageFullScreen ? \"suoxiao\" : \"fangda\"}`\n }, null)])]);\n }\n case \"fullscreen\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_A = ult.value.toolbarTips) == null ? void 0 : _A.fullscreen,\n \"onClick\": fullScreenHandler\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": `#icon-${props2.setting.fullscreen ? \"fullScreen-exit\" : \"fullScreen\"}`\n }, null)])]);\n }\n case \"preview\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_B = ult.value.toolbarTips) == null ? void 0 : _B.preview,\n \"onClick\": () => {\n props2.updateSetting(!props2.setting.preview, \"preview\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-preview\"\n }, null)])]);\n }\n case \"htmlPreview\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_C = ult.value.toolbarTips) == null ? void 0 : _C.htmlPreview,\n \"onClick\": () => {\n props2.updateSetting(!props2.setting.htmlPreview, \"htmlPreview\");\n }\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-coding\"\n }, null)])]);\n }\n case \"catalog\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_D = ult.value.toolbarTips) == null ? void 0 : _D.catalog,\n \"onClick\": () => {\n bus.emit(editorId, \"catalogShow\");\n },\n \"key\": \"bar-catalog\"\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-catalog\"\n }, null)])]);\n }\n case \"github\": {\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_E = ult.value.toolbarTips) == null ? void 0 : _E.github,\n \"onClick\": () => goto(\"https://github.com/imzbf/md-editor-v3\")\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-github\"\n }, null)])]);\n }\n case \"mermaid\": {\n return createVNode(Dropdown, {\n \"visible\": visible.mermaid,\n \"onChange\": (v) => {\n visible.mermaid = v;\n },\n \"overlay\": createVNode(\"ul\", {\n \"class\": `${prefix}-menu`,\n \"onClick\": () => {\n visible.mermaid = false;\n }\n }, [createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"flow\");\n }\n }, [(_F = ult.value.mermaid) == null ? void 0 : _F.flow]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"sequence\");\n }\n }, [(_G = ult.value.mermaid) == null ? void 0 : _G.sequence]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"gantt\");\n }\n }, [(_H = ult.value.mermaid) == null ? void 0 : _H.gantt]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"class\");\n }\n }, [(_I = ult.value.mermaid) == null ? void 0 : _I.class]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"state\");\n }\n }, [(_J = ult.value.mermaid) == null ? void 0 : _J.state]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"pie\");\n }\n }, [(_K = ult.value.mermaid) == null ? void 0 : _K.pie]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"relationship\");\n }\n }, [(_L = ult.value.mermaid) == null ? void 0 : _L.relationship]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"journey\");\n }\n }, [(_M = ult.value.mermaid) == null ? void 0 : _M.journey])]),\n \"key\": \"bar-mermaid\"\n }, {\n default: () => {\n var _a2;\n return [createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_a2 = ult.value.toolbarTips) == null ? void 0 : _a2.mermaid\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-mermaid\"\n }, null)])])];\n }\n });\n }\n case \"katex\": {\n return createVNode(Dropdown, {\n \"visible\": visible.katex,\n \"onChange\": (v) => {\n visible.katex = v;\n },\n \"overlay\": createVNode(\"ul\", {\n \"class\": `${prefix}-menu`,\n \"onClick\": () => {\n visible.katex = false;\n }\n }, [createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"katexInline\");\n }\n }, [(_N = ult.value.katex) == null ? void 0 : _N.inline]), createVNode(\"li\", {\n \"class\": `${prefix}-menu-item`,\n \"onClick\": () => {\n emitHandler(\"katexBlock\");\n }\n }, [(_O = ult.value.katex) == null ? void 0 : _O.block])]),\n \"key\": \"bar-katex\"\n }, {\n default: () => {\n var _a2;\n return [createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": (_a2 = ult.value.toolbarTips) == null ? void 0 : _a2.mermaid\n }, [createVNode(\"svg\", {\n \"class\": `${prefix}-icon`,\n \"aria-hidden\": \"true\"\n }, [createVNode(\"use\", {\n \"xlink:href\": \"#icon-formula\"\n }, null)])])];\n }\n });\n }\n }\n } else if (props2.defToolbars instanceof Array) {\n const defItem = props2.defToolbars[barItem];\n return defItem || \"\";\n } else if (props2.defToolbars && props2.defToolbars.children instanceof Array) {\n const defItem = props2.defToolbars.children[barItem];\n return defItem || \"\";\n } else {\n return \"\";\n }\n };\n return () => {\n const LeftBar = splitedbar.value[0].map((barItem) => barRender(barItem));\n const RightBar = splitedbar.value[1].map((barItem) => barRender(barItem));\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-wrapper`\n }, [createVNode(\"div\", {\n \"class\": `${prefix}-toolbar`\n }, [createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-left`,\n \"ref\": toolbarLeftRef\n }, [LeftBar]), createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-right`\n }, [RightBar])]), createVNode(\"input\", {\n \"ref\": uploadRef,\n \"accept\": \"image/*\",\n \"type\": \"file\",\n \"multiple\": true,\n \"style\": {\n display: \"none\"\n }\n }, null), createVNode(Modals, {\n \"linkVisible\": modalData.linkVisible,\n \"clipVisible\": modalData.clipVisible,\n \"type\": modalData.type,\n \"onCancel\": () => {\n modalData.linkVisible = false;\n modalData.clipVisible = false;\n },\n \"onOk\": (data) => {\n if (data) {\n emitHandler(modalData.type, {\n desc: data.desc,\n url: data.url\n });\n }\n modalData.linkVisible = false;\n modalData.clipVisible = false;\n }\n }, null)]);\n };\n }\n});\nfunction getDefaults() {\n return {\n baseUrl: null,\n breaks: false,\n extensions: null,\n gfm: true,\n headerIds: true,\n headerPrefix: \"\",\n highlight: null,\n langPrefix: \"language-\",\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n}\nlet defaults = getDefaults();\nfunction changeDefaults(newDefaults) {\n defaults = newDefaults;\n}\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = /[&<>\"']/g;\nconst escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nconst escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\nconst escapeReplacements = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nfunction escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n}\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\nfunction unescape(html) {\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === \"colon\")\n return \":\";\n if (n.charAt(0) === \"#\") {\n return n.charAt(1) === \"x\" ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n }\n return \"\";\n });\n}\nconst caret = /(^|[^\\[])\\^/g;\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || \"\";\n const obj = {\n replace: (name, val) => {\n val = val.source || val;\n val = val.replace(caret, \"$1\");\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: () => {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n}\nconst nonWordAndColonTest = /[^\\w:]/g;\nconst originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n let prot;\n try {\n prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, \"\").toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf(\"javascript:\") === 0 || prot.indexOf(\"vbscript:\") === 0 || prot.indexOf(\"data:\") === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, \"%\");\n } catch (e) {\n return null;\n }\n return href;\n}\nconst baseUrls = {};\nconst justDomain = /^[^:]+:\\/*[^/]*$/;\nconst protocol = /^([^:]+:)[\\s\\S]*$/;\nconst domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\nfunction resolveUrl(base, href) {\n if (!baseUrls[\" \" + base]) {\n if (justDomain.test(base)) {\n baseUrls[\" \" + base] = base + \"/\";\n } else {\n baseUrls[\" \" + base] = rtrim(base, \"/\", true);\n }\n }\n base = baseUrls[\" \" + base];\n const relativeBase = base.indexOf(\":\") === -1;\n if (href.substring(0, 2) === \"//\") {\n if (relativeBase) {\n return href;\n }\n return base.replace(protocol, \"$1\") + href;\n } else if (href.charAt(0) === \"/\") {\n if (relativeBase) {\n return href;\n }\n return base.replace(domain, \"$1\") + href;\n } else {\n return base + href;\n }\n}\nconst noopTest = { exec: function noopTest2() {\n} };\nfunction merge(obj) {\n let i = 1, target, key;\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n return obj;\n}\nfunction splitCells(tableRow, count) {\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false, curr = offset;\n while (--curr >= 0 && str[curr] === \"\\\\\")\n escaped = !escaped;\n if (escaped) {\n return \"|\";\n } else {\n return \" |\";\n }\n }), cells = row.split(/ \\|/);\n let i = 0;\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count)\n cells.push(\"\");\n }\n for (; i < cells.length; i++) {\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, \"|\");\n }\n return cells;\n}\nfunction rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return \"\";\n }\n let suffLen = 0;\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n return str.substr(0, l - suffLen);\n}\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n const l = str.length;\n let level = 0, i = 0;\n for (; i < l; i++) {\n if (str[i] === \"\\\\\") {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\nfunction checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn(\"marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options\");\n }\n}\nfunction repeatString(pattern, count) {\n if (count < 1) {\n return \"\";\n }\n let result = \"\";\n while (count > 1) {\n if (count & 1) {\n result += pattern;\n }\n count >>= 1;\n pattern += pattern;\n }\n return result + pattern;\n}\nfunction outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, \"$1\");\n if (cap[0].charAt(0) !== \"!\") {\n lexer.state.inLink = true;\n const token = {\n type: \"link\",\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text, [])\n };\n lexer.state.inLink = false;\n return token;\n } else {\n return {\n type: \"image\",\n raw,\n href,\n title,\n text: escape(text)\n };\n }\n}\nfunction indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text.split(\"\\n\").map((node) => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n }).join(\"\\n\");\n}\nclass Tokenizer {\n constructor(options) {\n this.options = options || defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: \"space\",\n raw: cap[0]\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, \"\");\n return {\n type: \"code\",\n raw: cap[0],\n codeBlockStyle: \"indented\",\n text: !this.options.pedantic ? rtrim(text, \"\\n\") : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || \"\");\n return {\n type: \"code\",\n raw,\n lang: cap[2] ? cap[2].trim() : cap[2],\n text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, \"#\");\n if (this.options.pedantic) {\n text = trimmed.trim();\n } else if (!trimmed || / $/.test(trimmed)) {\n text = trimmed.trim();\n }\n }\n const token = {\n type: \"heading\",\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: \"hr\",\n raw: cap[0]\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ *> ?/gm, \"\");\n return {\n type: \"blockquote\",\n raw: cap[0],\n tokens: this.lexer.blockTokens(text, []),\n text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, line, nextLine, rawLine, itemContents, endEarly;\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: \"list\",\n raw: \"\",\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : \"\",\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : \"[*+-]\";\n }\n const itemRegex = new RegExp(`^( {0,3}${bull})((?: [^\\\\n]*)?(?:\\\\n|$))`);\n while (src) {\n endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) {\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n line = cap[2].split(\"\\n\", 1)[0];\n nextLine = src.split(\"\\n\", 1)[0];\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimLeft();\n } else {\n indent = cap[2].search(/[^ ]/);\n indent = indent > 4 ? 1 : indent;\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n blankLine = false;\n if (!line && /^ *$/.test(nextLine)) {\n raw += nextLine + \"\\n\";\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])`);\n while (src) {\n rawLine = src.split(\"\\n\", 1)[0];\n line = rawLine;\n if (this.options.pedantic) {\n line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, \" \");\n }\n if (nextBulletRegex.test(line)) {\n break;\n }\n if (line.search(/[^ ]/) >= indent || !line.trim()) {\n itemContents += \"\\n\" + line.slice(indent);\n } else if (!blankLine) {\n itemContents += \"\\n\" + line;\n } else {\n break;\n }\n if (!blankLine && !line.trim()) {\n blankLine = true;\n }\n raw += rawLine + \"\\n\";\n src = src.substring(rawLine.length + 1);\n }\n }\n if (!list.loose) {\n if (endsWithBlankLine) {\n list.loose = true;\n } else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== \"[ ] \";\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, \"\");\n }\n }\n list.items.push({\n type: \"list_item\",\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents\n });\n list.raw += raw;\n }\n list.items[list.items.length - 1].raw = raw.trimRight();\n list.items[list.items.length - 1].text = itemContents.trimRight();\n list.raw = list.raw.trimRight();\n const l = list.items.length;\n for (i = 0; i < l; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n const spacers = list.items[i].tokens.filter((t) => t.type === \"space\");\n const hasMultipleLineBreaks = spacers.every((t) => {\n const chars = t.raw.split(\"\");\n let lineBreaks = 0;\n for (const char of chars) {\n if (char === \"\\n\") {\n lineBreaks += 1;\n }\n if (lineBreaks > 1) {\n return true;\n }\n }\n return false;\n });\n if (!list.loose && spacers.length && hasMultipleLineBreaks) {\n list.loose = true;\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: \"html\",\n raw: cap[0],\n pre: !this.options.sanitizer && (cap[1] === \"pre\" || cap[1] === \"script\" || cap[1] === \"style\"),\n text: cap[0]\n };\n if (this.options.sanitize) {\n token.type = \"paragraph\";\n token.text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);\n token.tokens = [];\n this.lexer.inline(token.text, token.tokens);\n }\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n if (cap[3])\n cap[3] = cap[3].substring(1, cap[3].length - 1);\n const tag = cap[1].toLowerCase().replace(/\\s+/g, \" \");\n return {\n type: \"def\",\n tag,\n raw: cap[0],\n href: cap[2],\n title: cap[3]\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (cap) {\n const item = {\n type: \"table\",\n header: splitCells(cap[1]).map((c) => {\n return { text: c };\n }),\n align: cap[2].replace(/^ *|\\| *$/g, \"\").split(/ *\\| */),\n rows: cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, \"\").split(\"\\n\") : []\n };\n if (item.header.length === item.align.length) {\n item.raw = cap[0];\n let l = item.align.length;\n let i, j, k, row;\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = \"right\";\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = \"center\";\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = \"left\";\n } else {\n item.align[i] = null;\n }\n }\n l = item.rows.length;\n for (i = 0; i < l; i++) {\n item.rows[i] = splitCells(item.rows[i], item.header.length).map((c) => {\n return { text: c };\n });\n }\n l = item.header.length;\n for (j = 0; j < l; j++) {\n item.header[j].tokens = [];\n this.lexer.inlineTokens(item.header[j].text, item.header[j].tokens);\n }\n l = item.rows.length;\n for (j = 0; j < l; j++) {\n row = item.rows[j];\n for (k = 0; k < row.length; k++) {\n row[k].tokens = [];\n this.lexer.inlineTokens(row[k].text, row[k].tokens);\n }\n }\n return item;\n }\n }\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n const token = {\n type: \"heading\",\n raw: cap[0],\n depth: cap[2].charAt(0) === \"=\" ? 1 : 2,\n text: cap[1],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const token = {\n type: \"paragraph\",\n raw: cap[0],\n text: cap[1].charAt(cap[1].length - 1) === \"\\n\" ? cap[1].slice(0, -1) : cap[1],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n const token = {\n type: \"text\",\n raw: cap[0],\n text: cap[0],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: \"escape\",\n raw: cap[0],\n text: escape(cap[1])\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n } else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: this.options.sanitize ? \"text\" : \"html\",\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^$/.test(trimmedUrl)) {\n return;\n }\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), \"\\\\\");\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n } else {\n const lastParenIndex = findClosingBracket(cap[2], \"()\");\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf(\"!\") === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = \"\";\n }\n }\n let href = cap[2];\n let title = \"\";\n if (this.options.pedantic) {\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : \"\";\n }\n href = href.trim();\n if (/^$/.test(trimmedUrl)) {\n href = href.slice(1);\n } else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, \"$1\") : href,\n title: title ? title.replace(this.rules.inline._escapes, \"$1\") : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {\n let link = (cap[2] || cap[1]).replace(/\\s+/g, \" \");\n link = links[link.toLowerCase()];\n if (!link || !link.href) {\n const text = cap[0].charAt(0);\n return {\n type: \"text\",\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = \"\") {\n let match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match)\n return;\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u))\n return;\n const nextChar = match[1] || match[2] || \"\";\n if (!nextChar || nextChar && (prevChar === \"\" || this.rules.inline.punctuation.exec(prevChar))) {\n const lLength = match[0].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === \"*\" ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0;\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim)\n continue;\n rLength = rDelim.length;\n if (match[3] || match[4]) {\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) {\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue;\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0)\n continue;\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n if (Math.min(lLength, rLength) % 2) {\n const text2 = src.slice(1, lLength + match.index + rLength);\n return {\n type: \"em\",\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: text2,\n tokens: this.lexer.inlineTokens(text2, [])\n };\n }\n const text = src.slice(2, lLength + match.index + rLength - 1);\n return {\n type: \"strong\",\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text,\n tokens: this.lexer.inlineTokens(text, [])\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, \" \");\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape(text, true);\n return {\n type: \"codespan\",\n raw: cap[0],\n text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: \"br\",\n raw: cap[0]\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: \"del\",\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2], [])\n };\n }\n }\n autolink(src, mangle2) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === \"@\") {\n text = escape(this.options.mangle ? mangle2(cap[1]) : cap[1]);\n href = \"mailto:\" + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n return {\n type: \"link\",\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: \"text\",\n raw: text,\n text\n }\n ]\n };\n }\n }\n url(src, mangle2) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === \"@\") {\n text = escape(this.options.mangle ? mangle2(cap[0]) : cap[0]);\n href = \"mailto:\" + text;\n } else {\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === \"www.\") {\n href = \"http://\" + text;\n } else {\n href = text;\n }\n }\n return {\n type: \"link\",\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: \"text\",\n raw: text,\n text\n }\n ]\n };\n }\n }\n inlineText(src, smartypants2) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0];\n } else {\n text = escape(this.options.smartypants ? smartypants2(cap[0]) : cap[0]);\n }\n return {\n type: \"text\",\n raw: cap[0],\n text\n };\n }\n }\n}\nconst block = {\n newline: /^(?: *(?:\\n|$))+/,\n code: /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3}bull)( [^\\n]+?)?(?:\\n|$)/,\n html: \"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|\\\\n*|$)|\\\\n*|$)|)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$))\",\n def: /^ {0,3}\\[(label)\\]: *(?:\\n *)?]+)>?(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/,\n table: noopTest,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\nblock._label = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def).replace(\"label\", block._label).replace(\"title\", block._title).getRegex();\nblock.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nblock.listItemStart = edit(/^( *)(bull) */).replace(\"bull\", block.bullet).getRegex();\nblock.list = edit(block.list).replace(/bull/g, block.bullet).replace(\"hr\", \"\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))\").replace(\"def\", \"\\\\n+(?=\" + block.def.source + \")\").getRegex();\nblock._tag = \"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\";\nblock._comment = /|$)/;\nblock.html = edit(block.html, \"i\").replace(\"comment\", block._comment).replace(\"tag\", block._tag).replace(\"attribute\", / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\nblock.paragraph = edit(block._paragraph).replace(\"hr\", block.hr).replace(\"heading\", \" {0,3}#{1,6} \").replace(\"|lheading\", \"\").replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\", \")|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", block._tag).getRegex();\nblock.blockquote = edit(block.blockquote).replace(\"paragraph\", block.paragraph).getRegex();\nblock.normal = merge({}, block);\nblock.gfm = merge({}, block.normal, {\n table: \"^ *([^\\\\n ].*\\\\|.*)\\\\n {0,3}(?:\\\\| *)?(:?-+:? *(?:\\\\| *:?-+:? *)*)(?:\\\\| *)?(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\"\n});\nblock.gfm.table = edit(block.gfm.table).replace(\"hr\", block.hr).replace(\"heading\", \" {0,3}#{1,6} \").replace(\"blockquote\", \" {0,3}>\").replace(\"code\", \" {4}[^\\\\n]\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\", \")|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", block._tag).getRegex();\nblock.gfm.paragraph = edit(block._paragraph).replace(\"hr\", block.hr).replace(\"heading\", \" {0,3}#{1,6} \").replace(\"|lheading\", \"\").replace(\"table\", block.gfm.table).replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\", \")|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", block._tag).getRegex();\nblock.pedantic = merge({}, block.normal, {\n html: edit(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\", block._comment).replace(/tag/g, \"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest,\n paragraph: edit(block.normal._paragraph).replace(\"hr\", block.hr).replace(\"heading\", \" *#{1,6} *[^\\n]\").replace(\"lheading\", block.lheading).replace(\"blockquote\", \" {0,3}>\").replace(\"|fences\", \"\").replace(\"|list\", \"\").replace(\"|html\", \"\").getRegex()\n});\nconst inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest,\n tag: \"^comment|^|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^|^\",\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(ref)\\]/,\n nolink: /^!?\\[(ref)\\](?:\\[\\])?/,\n reflinkSearch: \"reflink|nolink(?!\\\\()\",\n emStrong: {\n lDelim: /^(?:\\*+(?:([punct_])|[^\\s*]))|^_+(?:([punct*])|([^\\s_]))/,\n rDelimAst: /^[^_*]*?\\_\\_[^_*]*?\\*[^_*]*?(?=\\_\\_)|[punct_](\\*+)(?=[\\s]|$)|[^punct*_\\s](\\*+)(?=[punct_\\s]|$)|[punct_\\s](\\*+)(?=[^punct*_\\s])|[\\s](\\*+)(?=[punct_])|[punct_](\\*+)(?=[punct_])|[^punct*_\\s](\\*+)(?=[^punct*_\\s])/,\n rDelimUnd: /^[^_*]*?\\*\\*[^_*]*?\\_[^_*]*?(?=\\*\\*)|[punct*](\\_+)(?=[\\s]|$)|[^punct*_\\s](\\_+)(?=[punct*\\s]|$)|[punct*\\s](\\_+)(?=[^punct*_\\s])|[\\s](\\_+)(?=[punct*])|[punct*](\\_+)(?=[punct*])/\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\?@\\\\[\\\\]`^{|}~\";\ninline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex();\ninline.blockSkip = /\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>/g;\ninline.escapedEmSt = /\\\\\\*|\\\\_/g;\ninline._comment = edit(block._comment).replace(\"(?:-->|$)\", \"-->\").getRegex();\ninline.emStrong.lDelim = edit(inline.emStrong.lDelim).replace(/punct/g, inline._punctuation).getRegex();\ninline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, \"g\").replace(/punct/g, inline._punctuation).getRegex();\ninline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, \"g\").replace(/punct/g, inline._punctuation).getRegex();\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink).replace(\"scheme\", inline._scheme).replace(\"email\", inline._email).getRegex();\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\ninline.tag = edit(inline.tag).replace(\"comment\", inline._comment).replace(\"attribute\", inline._attribute).getRegex();\ninline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\ninline.link = edit(inline.link).replace(\"label\", inline._label).replace(\"href\", inline._href).replace(\"title\", inline._title).getRegex();\ninline.reflink = edit(inline.reflink).replace(\"label\", inline._label).replace(\"ref\", block._label).getRegex();\ninline.nolink = edit(inline.nolink).replace(\"ref\", block._label).getRegex();\ninline.reflinkSearch = edit(inline.reflinkSearch, \"g\").replace(\"reflink\", inline.reflink).replace(\"nolink\", inline.nolink).getRegex();\ninline.normal = merge({}, inline);\ninline.pedantic = merge({}, inline.normal, {\n strong: {\n start: /^__|\\*\\*/,\n middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n endAst: /\\*\\*(?!\\*)/g,\n endUnd: /__(?!_)/g\n },\n em: {\n start: /^_|\\*/,\n middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n endAst: /\\*(?!\\*)/g,\n endUnd: /_(?!_)/g\n },\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\", inline._label).getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\", inline._label).getRegex()\n});\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace(\"])\", \"~|])\").getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\ 0.5) {\n ch = \"x\" + ch.toString(16);\n }\n out += \"&#\" + ch + \";\";\n }\n return out;\n}\nclass Lexer {\n constructor(options) {\n this.tokens = [];\n this.tokens.links = /* @__PURE__ */ Object.create(null);\n this.options = options || defaults;\n this.options.tokenizer = this.options.tokenizer || new Tokenizer();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true\n };\n const rules = {\n block: block.normal,\n inline: inline.normal\n };\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n } else if (this.options.gfm) {\n rules.block = block.gfm;\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n } else {\n rules.inline = inline.gfm;\n }\n }\n this.tokenizer.rules = rules;\n }\n static get rules() {\n return {\n block,\n inline\n };\n }\n static lex(src, options) {\n const lexer = new Lexer(options);\n return lexer.lex(src);\n }\n static lexInline(src, options) {\n const lexer = new Lexer(options);\n return lexer.inlineTokens(src);\n }\n lex(src) {\n src = src.replace(/\\r\\n|\\r/g, \"\\n\").replace(/\\t/g, \" \");\n this.blockTokens(src, this.tokens);\n let next;\n while (next = this.inlineQueue.shift()) {\n this.inlineTokens(next.src, next.tokens);\n }\n return this.tokens;\n }\n blockTokens(src, tokens = []) {\n if (this.options.pedantic) {\n src = src.replace(/^ +$/gm, \"\");\n }\n let token, lastToken, cutSrc, lastParagraphClipped;\n while (src) {\n if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n tokens[tokens.length - 1].raw += \"\\n\";\n } else {\n tokens.push(token);\n }\n continue;\n }\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === \"paragraph\" || lastToken.type === \"text\")) {\n lastToken.raw += \"\\n\" + token.raw;\n lastToken.text += \"\\n\" + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === \"paragraph\" || lastToken.type === \"text\")) {\n lastToken.raw += \"\\n\" + token.raw;\n lastToken.text += \"\\n\" + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach(function(getStartIndex) {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === \"number\" && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === \"paragraph\") {\n lastToken.raw += \"\\n\" + token.raw;\n lastToken.text += \"\\n\" + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n lastParagraphClipped = cutSrc.length !== src.length;\n src = src.substring(token.raw.length);\n continue;\n }\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === \"text\") {\n lastToken.raw += \"\\n\" + token.raw;\n lastToken.text += \"\\n\" + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = \"Infinite loop on byte: \" + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens) {\n this.inlineQueue.push({ src, tokens });\n }\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf(\"[\") + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + \"[\" + repeatString(\"a\", match[0].length - 2) + \"]\" + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + \"[\" + repeatString(\"a\", match[0].length - 2) + \"]\" + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + \"++\" + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);\n }\n while (src) {\n if (!keepPrevChar) {\n prevChar = \"\";\n }\n keepPrevChar = false;\n if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === \"text\" && lastToken.type === \"text\") {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === \"text\" && lastToken.type === \"text\") {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (token = this.tokenizer.autolink(src, mangle)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach(function(getStartIndex) {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === \"number\" && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc, smartypants)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== \"_\") {\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === \"text\") {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = \"Infinite loop on byte: \" + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n return tokens;\n }\n}\nclass Renderer {\n constructor(options) {\n this.options = options || defaults;\n }\n code(code, infostring, escaped) {\n const lang = (infostring || \"\").match(/\\S*/)[0];\n if (this.options.highlight) {\n const out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n code = code.replace(/\\n$/, \"\") + \"\\n\";\n if (!lang) {\n return \"
    \" + (escaped ? code : escape(code, true)) + \"
    \\n\";\n }\n return '
    ' + (escaped ? code : escape(code, true)) + \"
    \\n\";\n }\n blockquote(quote) {\n return \"
    \\n\" + quote + \"
    \\n\";\n }\n html(html) {\n return html;\n }\n heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return \"' + text + \"\\n\";\n }\n return \"\" + text + \"\\n\";\n }\n hr() {\n return this.options.xhtml ? \"
    \\n\" : \"
    \\n\";\n }\n list(body, ordered, start) {\n const type = ordered ? \"ol\" : \"ul\", startatt = ordered && start !== 1 ? ' start=\"' + start + '\"' : \"\";\n return \"<\" + type + startatt + \">\\n\" + body + \"\\n\";\n }\n listitem(text) {\n return \"
  • \" + text + \"
  • \\n\";\n }\n checkbox(checked) {\n return \" \";\n }\n paragraph(text) {\n return \"

    \" + text + \"

    \\n\";\n }\n table(header, body) {\n if (body)\n body = \"\" + body + \"\";\n return \"\\n\\n\" + header + \"\\n\" + body + \"
    \\n\";\n }\n tablerow(content) {\n return \"\\n\" + content + \"\\n\";\n }\n tablecell(content, flags) {\n const type = flags.header ? \"th\" : \"td\";\n const tag = flags.align ? \"<\" + type + ' align=\"' + flags.align + '\">' : \"<\" + type + \">\";\n return tag + content + \"\\n\";\n }\n strong(text) {\n return \"\" + text + \"\";\n }\n em(text) {\n return \"\" + text + \"\";\n }\n codespan(text) {\n return \"\" + text + \"\";\n }\n br() {\n return this.options.xhtml ? \"
    \" : \"
    \";\n }\n del(text) {\n return \"\" + text + \"\";\n }\n link(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n let out = '
    \" + text + \"\";\n return out;\n }\n image(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n let out = '\"'\" : \">\";\n return out;\n }\n text(text) {\n return text;\n }\n}\nclass TextRenderer {\n strong(text) {\n return text;\n }\n em(text) {\n return text;\n }\n codespan(text) {\n return text;\n }\n del(text) {\n return text;\n }\n html(text) {\n return text;\n }\n text(text) {\n return text;\n }\n link(href, title, text) {\n return \"\" + text;\n }\n image(href, title, text) {\n return \"\" + text;\n }\n br() {\n return \"\";\n }\n}\nclass Slugger {\n constructor() {\n this.seen = {};\n }\n serialize(value) {\n return value.toLowerCase().trim().replace(/<[!\\/a-z].*?>/ig, \"\").replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, \"\").replace(/\\s/g, \"-\");\n }\n getNextSafeSlug(originalSlug, isDryRun) {\n let slug = originalSlug;\n let occurenceAccumulator = 0;\n if (this.seen.hasOwnProperty(slug)) {\n occurenceAccumulator = this.seen[originalSlug];\n do {\n occurenceAccumulator++;\n slug = originalSlug + \"-\" + occurenceAccumulator;\n } while (this.seen.hasOwnProperty(slug));\n }\n if (!isDryRun) {\n this.seen[originalSlug] = occurenceAccumulator;\n this.seen[slug] = 0;\n }\n return slug;\n }\n slug(value, options = {}) {\n const slug = this.serialize(value);\n return this.getNextSafeSlug(slug, options.dryrun);\n }\n}\nclass Parser {\n constructor(options) {\n this.options = options || defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new TextRenderer();\n this.slugger = new Slugger();\n }\n static parse(tokens, options) {\n const parser = new Parser(options);\n return parser.parse(tokens);\n }\n static parseInline(tokens, options) {\n const parser = new Parser(options);\n return parser.parseInline(tokens);\n }\n parse(tokens, top = true) {\n let out = \"\", i, j, k, l2, l3, row, cell, header, body, token, ordered, start, loose, itemBody, item, checked, task, checkbox, ret;\n const l = tokens.length;\n for (i = 0; i < l; i++) {\n token = tokens[i];\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || ![\"space\", \"hr\", \"heading\", \"code\", \"table\", \"blockquote\", \"list\", \"html\", \"paragraph\", \"text\"].includes(token.type)) {\n out += ret || \"\";\n continue;\n }\n }\n switch (token.type) {\n case \"space\": {\n continue;\n }\n case \"hr\": {\n out += this.renderer.hr();\n continue;\n }\n case \"heading\": {\n out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape(this.parseInline(token.tokens, this.textRenderer)), this.slugger);\n continue;\n }\n case \"code\": {\n out += this.renderer.code(token.text, token.lang, token.escaped);\n continue;\n }\n case \"table\": {\n header = \"\";\n cell = \"\";\n l2 = token.header.length;\n for (j = 0; j < l2; j++) {\n cell += this.renderer.tablecell(this.parseInline(token.header[j].tokens), { header: true, align: token.align[j] });\n }\n header += this.renderer.tablerow(cell);\n body = \"\";\n l2 = token.rows.length;\n for (j = 0; j < l2; j++) {\n row = token.rows[j];\n cell = \"\";\n l3 = row.length;\n for (k = 0; k < l3; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k].tokens), { header: false, align: token.align[k] });\n }\n body += this.renderer.tablerow(cell);\n }\n out += this.renderer.table(header, body);\n continue;\n }\n case \"blockquote\": {\n body = this.parse(token.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n case \"list\": {\n ordered = token.ordered;\n start = token.start;\n loose = token.loose;\n l2 = token.items.length;\n body = \"\";\n for (j = 0; j < l2; j++) {\n item = token.items[j];\n checked = item.checked;\n task = item.task;\n itemBody = \"\";\n if (item.task) {\n checkbox = this.renderer.checkbox(checked);\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === \"paragraph\") {\n item.tokens[0].text = checkbox + \" \" + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === \"text\") {\n item.tokens[0].tokens[0].text = checkbox + \" \" + item.tokens[0].tokens[0].text;\n }\n } else {\n item.tokens.unshift({\n type: \"text\",\n text: checkbox\n });\n }\n } else {\n itemBody += checkbox;\n }\n }\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, checked);\n }\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case \"html\": {\n out += this.renderer.html(token.text);\n continue;\n }\n case \"paragraph\": {\n out += this.renderer.paragraph(this.parseInline(token.tokens));\n continue;\n }\n case \"text\": {\n body = token.tokens ? this.parseInline(token.tokens) : token.text;\n while (i + 1 < l && tokens[i + 1].type === \"text\") {\n token = tokens[++i];\n body += \"\\n\" + (token.tokens ? this.parseInline(token.tokens) : token.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = \"\", i, token, ret;\n const l = tokens.length;\n for (i = 0; i < l; i++) {\n token = tokens[i];\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || ![\"escape\", \"html\", \"link\", \"image\", \"strong\", \"em\", \"codespan\", \"br\", \"del\", \"text\"].includes(token.type)) {\n out += ret || \"\";\n continue;\n }\n }\n switch (token.type) {\n case \"escape\": {\n out += renderer.text(token.text);\n break;\n }\n case \"html\": {\n out += renderer.html(token.text);\n break;\n }\n case \"link\": {\n out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));\n break;\n }\n case \"image\": {\n out += renderer.image(token.href, token.title, token.text);\n break;\n }\n case \"strong\": {\n out += renderer.strong(this.parseInline(token.tokens, renderer));\n break;\n }\n case \"em\": {\n out += renderer.em(this.parseInline(token.tokens, renderer));\n break;\n }\n case \"codespan\": {\n out += renderer.codespan(token.text);\n break;\n }\n case \"br\": {\n out += renderer.br();\n break;\n }\n case \"del\": {\n out += renderer.del(this.parseInline(token.tokens, renderer));\n break;\n }\n case \"text\": {\n out += renderer.text(token.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n}\nfunction marked(src, opt, callback) {\n if (typeof src === \"undefined\" || src === null) {\n throw new Error(\"marked(): input parameter is undefined or null\");\n }\n if (typeof src !== \"string\") {\n throw new Error(\"marked(): input parameter is of type \" + Object.prototype.toString.call(src) + \", string expected\");\n }\n if (typeof opt === \"function\") {\n callback = opt;\n opt = null;\n }\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n if (callback) {\n const highlight = opt.highlight;\n let tokens;\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n const done = function(err) {\n let out;\n if (!err) {\n try {\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n }\n opt.highlight = highlight;\n return err ? callback(err) : callback(null, out);\n };\n if (!highlight || highlight.length < 3) {\n return done();\n }\n delete opt.highlight;\n if (!tokens.length)\n return done();\n let pending = 0;\n marked.walkTokens(tokens, function(token) {\n if (token.type === \"code\") {\n pending++;\n setTimeout(() => {\n highlight(token.text, token.lang, function(err, code) {\n if (err) {\n return done(err);\n }\n if (code != null && code !== token.text) {\n token.text = code;\n token.escaped = true;\n }\n pending--;\n if (pending === 0) {\n done();\n }\n });\n }, 0);\n }\n });\n if (pending === 0) {\n done();\n }\n return;\n }\n try {\n const tokens = Lexer.lex(src, opt);\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n return Parser.parse(tokens, opt);\n } catch (e) {\n e.message += \"\\nPlease report this to https://github.com/markedjs/marked.\";\n if (opt.silent) {\n return \"

    An error occurred:

    \" + escape(e.message + \"\", true) + \"
    \";\n }\n throw e;\n }\n}\nmarked.options = marked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n};\nmarked.getDefaults = getDefaults;\nmarked.defaults = defaults;\nmarked.use = function(...args) {\n const opts = merge({}, ...args);\n const extensions = marked.defaults.extensions || { renderers: {}, childTokens: {} };\n let hasExtensions;\n args.forEach((pack) => {\n if (pack.extensions) {\n hasExtensions = true;\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error(\"extension name required\");\n }\n if (ext.renderer) {\n const prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;\n if (prevRenderer) {\n extensions.renderers[ext.name] = function(...args2) {\n let ret = ext.renderer.apply(this, args2);\n if (ret === false) {\n ret = prevRenderer.apply(this, args2);\n }\n return ret;\n };\n } else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if (ext.tokenizer) {\n if (!ext.level || ext.level !== \"block\" && ext.level !== \"inline\") {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n if (extensions[ext.level]) {\n extensions[ext.level].unshift(ext.tokenizer);\n } else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) {\n if (ext.level === \"block\") {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n } else {\n extensions.startBlock = [ext.start];\n }\n } else if (ext.level === \"inline\") {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n } else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if (ext.childTokens) {\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n }\n if (pack.renderer) {\n const renderer = marked.defaults.renderer || new Renderer();\n for (const prop in pack.renderer) {\n const prevRenderer = renderer[prop];\n renderer[prop] = (...args2) => {\n let ret = pack.renderer[prop].apply(renderer, args2);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args2);\n }\n return ret;\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = marked.defaults.tokenizer || new Tokenizer();\n for (const prop in pack.tokenizer) {\n const prevTokenizer = tokenizer[prop];\n tokenizer[prop] = (...args2) => {\n let ret = pack.tokenizer[prop].apply(tokenizer, args2);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args2);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n if (pack.walkTokens) {\n const walkTokens = marked.defaults.walkTokens;\n opts.walkTokens = function(token) {\n pack.walkTokens.call(this, token);\n if (walkTokens) {\n walkTokens.call(this, token);\n }\n };\n }\n if (hasExtensions) {\n opts.extensions = extensions;\n }\n marked.setOptions(opts);\n });\n};\nmarked.walkTokens = function(tokens, callback) {\n for (const token of tokens) {\n callback.call(marked, token);\n switch (token.type) {\n case \"table\": {\n for (const cell of token.header) {\n marked.walkTokens(cell.tokens, callback);\n }\n for (const row of token.rows) {\n for (const cell of row) {\n marked.walkTokens(cell.tokens, callback);\n }\n }\n break;\n }\n case \"list\": {\n marked.walkTokens(token.items, callback);\n break;\n }\n default: {\n if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) {\n marked.defaults.extensions.childTokens[token.type].forEach(function(childTokens) {\n marked.walkTokens(token[childTokens], callback);\n });\n } else if (token.tokens) {\n marked.walkTokens(token.tokens, callback);\n }\n }\n }\n }\n};\nmarked.parseInline = function(src, opt) {\n if (typeof src === \"undefined\" || src === null) {\n throw new Error(\"marked.parseInline(): input parameter is undefined or null\");\n }\n if (typeof src !== \"string\") {\n throw new Error(\"marked.parseInline(): input parameter is of type \" + Object.prototype.toString.call(src) + \", string expected\");\n }\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n try {\n const tokens = Lexer.lexInline(src, opt);\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n return Parser.parseInline(tokens, opt);\n } catch (e) {\n e.message += \"\\nPlease report this to https://github.com/markedjs/marked.\";\n if (opt.silent) {\n return \"

    An error occurred:

    \" + escape(e.message + \"\", true) + \"
    \";\n }\n throw e;\n }\n};\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\nmarked.Tokenizer = Tokenizer;\nmarked.Slugger = Slugger;\nmarked.parse = marked;\nParser.parse;\nLexer.lex;\nvar toggleSelection = function() {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function() {\n };\n }\n var active = document.activeElement;\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n switch (active.tagName.toUpperCase()) {\n case \"INPUT\":\n case \"TEXTAREA\":\n active.blur();\n break;\n default:\n active = null;\n break;\n }\n selection.removeAllRanges();\n return function() {\n selection.type === \"Caret\" && selection.removeAllRanges();\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n active && active.focus();\n };\n};\nvar deselectCurrent = toggleSelection;\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n};\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"\\u2318\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\nfunction copy(text, options) {\n var debug, message, reselectPrevious, range, selection, mark, success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n range = document.createRange();\n selection = document.getSelection();\n mark = document.createElement(\"span\");\n mark.textContent = text;\n mark.style.all = \"unset\";\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n mark.style.whiteSpace = \"pre\";\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") {\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format2 = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"];\n window.clipboardData.setData(format2, text);\n } else {\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n document.body.appendChild(mark);\n range.selectNodeContents(mark);\n selection.addRange(range);\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err2) {\n debug && console.error(\"unable to copy using clipboardData: \", err2);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n return success;\n}\nvar copyToClipboard = copy;\nconst splitHelp = (textarea) => {\n const text = textarea.value;\n const prefixStr = text.substring(0, textarea.selectionStart);\n const subfixStr = text.substring(textarea.selectionEnd, text.length);\n const prefixStrIndexOfLineCode = prefixStr.lastIndexOf(\"\\n\");\n const prefixStrEndRow = prefixStr.substring(0, prefixStrIndexOfLineCode + 1);\n const subfixStrIndexOfLineCode = subfixStr.indexOf(\"\\n\");\n const subfixStrEndRow = subfixStr.substring(subfixStrIndexOfLineCode === -1 ? subfixStr.length : subfixStrIndexOfLineCode, subfixStr.length);\n const prefixSupply = prefixStr.substring(prefixStrIndexOfLineCode + 1, prefixStr.length);\n const subfixSupply = subfixStr.substring(0, subfixStrIndexOfLineCode);\n return {\n prefixStr,\n subfixStr,\n prefixStrEndRow,\n subfixStrEndRow,\n prefixSupply,\n subfixSupply\n };\n};\nconst directive2flag = (direct, selectedText = \"\", inputArea, params) => {\n var _a, _b;\n let targetValue = \"\";\n let deviationStart = 0;\n let deviationEnd = 0;\n let select = false;\n let prefixVal;\n let subfixVal;\n if (/^h[1-6]{1}$/.test(direct)) {\n const pix = direct.replace(/^h(\\d)/, (_, num) => {\n return new Array(Number(num)).fill(\"#\", 0, num).join(\"\");\n });\n targetValue = `${pix} ${selectedText}`;\n deviationStart = pix.length + 1;\n } else if (direct === \"prettier\") {\n return window.prettier.format(inputArea.value, {\n parser: \"markdown\",\n plugins: window.prettierPlugins\n });\n } else {\n switch (direct) {\n case \"bold\": {\n targetValue = `**${selectedText}**`;\n deviationStart = 2;\n deviationEnd = -2;\n break;\n }\n case \"underline\": {\n targetValue = `${selectedText}`;\n deviationStart = 3;\n deviationEnd = -4;\n break;\n }\n case \"italic\": {\n targetValue = `*${selectedText}*`;\n deviationStart = 1;\n deviationEnd = -1;\n break;\n }\n case \"strikeThrough\": {\n targetValue = `~${selectedText}~`;\n deviationStart = 1;\n deviationEnd = -1;\n break;\n }\n case \"sub\": {\n targetValue = `${selectedText}`;\n deviationStart = 5;\n deviationEnd = -6;\n break;\n }\n case \"sup\": {\n targetValue = `${selectedText}`;\n deviationStart = 5;\n deviationEnd = -6;\n break;\n }\n case \"codeRow\": {\n targetValue = \"`\" + selectedText + \"`\";\n deviationStart = 1;\n deviationEnd = -1;\n break;\n }\n case \"quote\": {\n targetValue = `> ${selectedText}`;\n deviationStart = 2;\n break;\n }\n case \"orderedList\": {\n targetValue = `1. ${selectedText}`;\n deviationStart = 3;\n break;\n }\n case \"unorderedList\": {\n targetValue = `- ${selectedText}`;\n deviationStart = 2;\n break;\n }\n case \"code\": {\n targetValue = \"```language\\n\" + selectedText + \"\\n```\\n\";\n deviationStart = 3;\n deviationEnd = 11 - targetValue.length;\n select = true;\n break;\n }\n case \"table\": {\n targetValue = \"|\";\n const { selectedShape = { x: 1, y: 1 } } = params;\n const { x, y } = selectedShape;\n for (let i = 0; i <= y; i++) {\n targetValue += \" col |\";\n }\n targetValue += \"\\n|\";\n for (let i = 0; i <= y; i++) {\n targetValue += \" - |\";\n }\n for (let row = 0; row <= x; row++) {\n targetValue += \"\\n|\";\n for (let col = 0; col <= y; col++) {\n targetValue += \" content |\";\n }\n }\n deviationStart = 2;\n deviationEnd = 5 - targetValue.length;\n select = true;\n break;\n }\n case \"link\": {\n const { desc, url } = params;\n targetValue = `[${desc}](${url})`;\n break;\n }\n case \"image\": {\n const { desc, url, urls } = params;\n if (urls instanceof Array) {\n targetValue = urls.reduce((pVal, url2) => {\n return pVal + `![${desc}](${url2})\n`;\n }, \"\");\n } else {\n targetValue = `![${desc}](${url})\n`;\n }\n break;\n }\n case \"tab\": {\n selectedText = ((_a = window.getSelection()) == null ? void 0 : _a.toString()) || \"\";\n const { tabWidth = 2 } = params;\n const retract = new Array(tabWidth).fill(\" \").join(\"\");\n if (selectedText === \"\") {\n targetValue = retract;\n } else if (/\\n/.test(selectedText)) {\n const { prefixStr, subfixStr, prefixSupply, subfixSupply } = splitHelp(inputArea);\n const str2adjust = `${prefixSupply}${selectedText}${subfixSupply}`;\n const str2AdjustRows = str2adjust.split(\"\\n\");\n targetValue = str2AdjustRows.map((strItem) => {\n return `${retract}${strItem}`;\n }).join(\"\\n\");\n prefixVal = prefixStr.substring(0, prefixStr.length - prefixSupply.length);\n subfixVal = subfixStr.substring(subfixSupply.length, subfixStr.length);\n select = true;\n deviationStart = tabWidth;\n deviationEnd = -prefixSupply.length - subfixSupply.length;\n } else {\n const mdText = inputArea.value;\n const prefixStr = mdText.substring(0, inputArea.selectionStart);\n if (/\\n$/.test(prefixStr) || prefixStr === \"\") {\n targetValue = `${retract}${selectedText}`;\n select = true;\n } else {\n targetValue = retract;\n }\n }\n break;\n }\n case \"shiftTab\": {\n selectedText = ((_b = window.getSelection()) == null ? void 0 : _b.toString()) || \"\";\n const { tabWidth = 2 } = params;\n const {\n prefixStr,\n prefixStrEndRow,\n subfixStrEndRow,\n prefixSupply,\n subfixSupply\n } = splitHelp(inputArea);\n const normalReg = new RegExp(`^\\\\s{${tabWidth}}`);\n const notMultiRow = (selected = false, row = false) => {\n const str2adjust = `${prefixSupply}${selectedText}${subfixSupply}`;\n if (normalReg.test(str2adjust)) {\n const startPos = prefixStr.length - (row ? 0 : tabWidth);\n const endPos = selected ? startPos + selectedText.length - tabWidth : startPos;\n setPosition(inputArea, startPos, endPos);\n return `${prefixStrEndRow}${str2adjust.replace(normalReg, \"\")}${subfixStrEndRow}`;\n } else if (/^\\s/.test(str2adjust)) {\n const deletedTabStr = str2adjust.replace(/^\\s/, \"\");\n const deletedLength = str2adjust.length - deletedTabStr.length;\n const startPos = inputArea.selectionStart - (row ? 0 : deletedLength);\n const endPos = selected ? startPos + selectedText.length - deletedLength : startPos;\n setPosition(inputArea, startPos, endPos);\n return `${prefixStrEndRow}${deletedTabStr}${subfixStrEndRow}`;\n } else {\n targetValue = selectedText;\n }\n };\n if (selectedText === \"\") {\n const newContent = notMultiRow();\n if (newContent) {\n return newContent;\n }\n } else if (/\\n/.test(selectedText)) {\n const str2adjust = `${prefixSupply}${selectedText}${subfixSupply}`;\n const str2AdjustRows = str2adjust.split(\"\\n\");\n let [firstRowDelNum, totalRowDelNum] = [0, 0];\n const str2AdjustRowsMod = str2AdjustRows.map((strItem, index2) => {\n if (normalReg.test(strItem)) {\n if (index2 === 0) {\n firstRowDelNum = tabWidth;\n }\n totalRowDelNum += tabWidth;\n return strItem.replace(normalReg, \"\");\n } else if (/^\\s/.test(strItem)) {\n const deletedTabStr = strItem.replace(/^\\s/, \"\");\n totalRowDelNum += strItem.length - deletedTabStr.length;\n return deletedTabStr;\n }\n return strItem;\n }).join(\"\\n\");\n setPosition(inputArea, inputArea.selectionStart - firstRowDelNum, inputArea.selectionEnd - totalRowDelNum);\n return `${prefixStrEndRow}${str2AdjustRowsMod}${subfixStrEndRow}`;\n } else {\n const newContent = notMultiRow(true, true);\n if (newContent) {\n return newContent;\n }\n }\n break;\n }\n case \"ctrlC\": {\n const { prefixSupply, subfixSupply } = splitHelp(inputArea);\n if (selectedText === \"\") {\n copyToClipboard(`${prefixSupply}${subfixSupply}`);\n } else {\n copyToClipboard(selectedText);\n }\n return inputArea.value;\n }\n case \"ctrlX\": {\n const {\n prefixStrEndRow,\n subfixStrEndRow,\n prefixStr,\n subfixStr,\n prefixSupply,\n subfixSupply\n } = splitHelp(inputArea);\n if (selectedText === \"\") {\n copyToClipboard(`${prefixSupply}${subfixSupply}`);\n setPosition(inputArea, prefixStrEndRow.length);\n return `${prefixStrEndRow}${subfixStrEndRow.replace(/^\\n/, \"\")}`;\n } else {\n copyToClipboard(selectedText);\n setPosition(inputArea, prefixStr.length);\n return `${prefixStr}${subfixStr}`;\n }\n }\n case \"ctrlD\": {\n const { prefixStrEndRow, subfixStrEndRow } = splitHelp(inputArea);\n setPosition(inputArea, prefixStrEndRow.length);\n return `${prefixStrEndRow}${subfixStrEndRow.replace(/^\\n/, \"\")}`;\n }\n case \"flow\": {\n targetValue = `\\`\\`\\`mermaid\nflowchart TD \n Start --> Stop\n\\`\\`\\`\n`;\n deviationStart = 2;\n break;\n }\n case \"sequence\": {\n targetValue = `\\`\\`\\`mermaid\nsequenceDiagram\n A->>B: hello!\n B-->>A: hi!\n A-)B: bye!\n\\`\\`\\`\n`;\n deviationStart = 2;\n break;\n }\n case \"gantt\": {\n targetValue = `\\`\\`\\`mermaid\ngantt\ntitle A Gantt Diagram\ndateFormat YYYY-MM-DD\nsection Section\nA task :a1, 2014-01-01, 30d\nAnother task :after a1, 20d\n\\`\\`\\`\n`;\n deviationStart = 2;\n break;\n }\n case \"class\": {\n targetValue = `\\`\\`\\`mermaid\nclassDiagram\n class Animal\n Vehicle <|-- Car\n\\`\\`\\`\n`;\n deviationStart = 2;\n break;\n }\n case \"state\": {\n targetValue = `\\`\\`\\`mermaid\nstateDiagram-v2\n s1 --> s2\n\\`\\`\\`\n`;\n deviationStart = 2;\n break;\n }\n case \"pie\": {\n targetValue = `\\`\\`\\`mermaid\npie title Pets adopted by volunteers\n \"Dogs\" : 386\n \"Cats\" : 85\n \"Rats\" : 15\n\\`\\`\\`\n`;\n deviationStart = 2;\n break;\n }\n case \"relationship\": {\n targetValue = `\\`\\`\\`mermaid\nerDiagram\n CAR ||--o{ NAMED-DRIVER : allows\n PERSON ||--o{ NAMED-DRIVER : is\n\\`\\`\\`\n`;\n deviationStart = 2;\n break;\n }\n case \"journey\": {\n targetValue = `\\`\\`\\`mermaid\njourney\n title My working day\n section Go to work\n Make tea: 5: Me\n Go upstairs: 3: Me\n Do work: 1: Me, Cat\n section Go home\n Go downstairs: 5: Me\n Sit down: 5: Me\n\\`\\`\\`\n`;\n deviationStart = 2;\n break;\n }\n case \"katexInline\": {\n targetValue = \"$$\";\n deviationStart = 1;\n deviationEnd = -1;\n break;\n }\n case \"katexBlock\": {\n targetValue = \"$$\\n\\n$$\\n\";\n deviationStart = 1;\n deviationEnd = -4;\n break;\n }\n }\n }\n return insert(inputArea, targetValue, {\n deviationStart,\n deviationEnd,\n select,\n prefixVal,\n subfixVal\n });\n};\nvar kaTexExtensions = {\n block(prefix2, katex) {\n return {\n name: \"KaTexBlockExtension\",\n level: \"block\",\n start: (text) => {\n var _a;\n return (_a = text.match(/\\$\\$\\n/)) == null ? void 0 : _a.index;\n },\n tokenizer(text) {\n const reg = /^\\$\\$\\n([^$]*)\\$\\$\\n?/;\n const match = reg.exec(text);\n if (match) {\n const token = {\n type: \"KaTexBlockExtension\",\n raw: match[0],\n text: match[1].trim(),\n tokens: []\n };\n return token;\n }\n },\n renderer(token) {\n const _katex = katex || typeof window !== \"undefined\" && window.katex;\n if (_katex) {\n const html = _katex.renderToString(token.text, {\n throwOnError: false\n });\n return `${html}`;\n } else {\n return `${token.text}`;\n }\n }\n };\n },\n inline(prefix2, katex) {\n return {\n name: \"KaTexInlineExtension\",\n level: \"inline\",\n start: (text) => {\n var _a;\n return (_a = text.match(/\\$[^$]/)) == null ? void 0 : _a.index;\n },\n tokenizer(text) {\n const reg = /^\\$([^$]*)\\$/;\n const match = reg.exec(text);\n if (match) {\n const token = {\n type: \"KaTexInlineExtension\",\n raw: match[0],\n text: match[1].trim(),\n tokens: []\n };\n return token;\n }\n },\n renderer(token) {\n const _katex = katex || typeof window !== \"undefined\" && window.katex;\n if (_katex) {\n const html = _katex.renderToString(token.text, {\n throwOnError: false\n });\n return `${html}`;\n } else {\n return `${token.text}`;\n }\n }\n };\n }\n};\nconst useHistory = (props2, textAreaRef) => {\n var _a, _b;\n const previewOnly = inject(\"previewOnly\");\n const historyLength = inject(\"historyLength\");\n const editorId = inject(\"editorId\");\n if (previewOnly) {\n return;\n }\n let saveHistoryId = -1;\n const history = {\n list: [\n {\n content: props2.value,\n startPos: ((_a = textAreaRef.value) == null ? void 0 : _a.selectionStart) || 0,\n endPos: ((_b = textAreaRef.value) == null ? void 0 : _b.selectionEnd) || 0\n }\n ],\n userUpdated: true,\n curr: 0\n };\n watch(() => props2.value, (nVal) => {\n var _a2, _b2;\n clearTimeout(saveHistoryId);\n const startPos = ((_a2 = textAreaRef.value) == null ? void 0 : _a2.selectionStart) || 0;\n const endPos = ((_b2 = textAreaRef.value) == null ? void 0 : _b2.selectionEnd) || 0;\n saveHistoryId = setTimeout(() => {\n if (history.userUpdated) {\n if (history.curr < history.list.length - 1) {\n history.list = history.list.slice(0, history.curr + 1);\n }\n if (history.list.length > historyLength) {\n history.list.shift();\n }\n const lastStep = history.list.pop();\n lastStep.startPos = startPos;\n lastStep.endPos = endPos;\n Array.prototype.push.call(history.list, lastStep, {\n content: nVal,\n startPos,\n endPos\n });\n history.curr = history.list.length - 1;\n } else {\n history.userUpdated = true;\n }\n }, 10);\n });\n onMounted(() => {\n bus.on(editorId, {\n name: \"ctrlZ\",\n callback() {\n history.userUpdated = false;\n history.curr = history.curr - 1 < 0 ? 0 : history.curr - 1;\n const currHistory = history.list[history.curr];\n props2.onChange(currHistory.content);\n setPosition(textAreaRef.value, currHistory.startPos, currHistory.endPos);\n }\n });\n bus.on(editorId, {\n name: \"ctrlShiftZ\",\n callback() {\n history.userUpdated = false;\n history.curr = history.curr + 1 === history.list.length ? history.curr : history.curr + 1;\n const currHistory = history.list[history.curr];\n props2.onChange(currHistory.content);\n setPosition(textAreaRef.value, currHistory.startPos, currHistory.endPos);\n }\n });\n });\n};\nconst useMarked = (props2, mermaidData) => {\n const showCodeRowNumber = inject(\"showCodeRowNumber\");\n const editorId = inject(\"editorId\");\n const highlight = inject(\"highlight\");\n const highlightInited = ref(false);\n const katexInited = ref(false);\n const heads = ref([]);\n const renderer = new marked.Renderer();\n renderer.heading = (...headProps) => {\n const [, level, raw] = headProps;\n heads.value.push({ text: raw, level });\n return props2.markedHeading(...headProps);\n };\n renderer.defaultCode = renderer.code;\n renderer.code = (code, language, isEscaped) => {\n var _a;\n if (!props2.noMermaid && language === \"mermaid\") {\n const idRand = `${prefix}-mermaid-${Date.now().toString(36)}`;\n try {\n let svgCode = \"\";\n if (props2.mermaid) {\n svgCode = props2.mermaid.mermaidAPI.render(idRand, code);\n } else if (typeof window !== \"undefined\" && window.mermaid) {\n svgCode = window.mermaid.mermaidAPI.render(idRand, code);\n } else {\n svgCode = `
    ${code}
    `;\n }\n return `
    ${svgCode}
    `;\n } catch (error) {\n if (typeof document !== \"undefined\") {\n const errorDom = document.querySelector(`#${idRand}`);\n if (errorDom) {\n const errorSvg = errorDom.outerHTML;\n (_a = errorDom.parentElement) == null ? void 0 : _a.remove();\n return errorSvg;\n }\n }\n return \"\";\n }\n }\n return renderer.defaultCode(code, language, isEscaped);\n };\n renderer.image = props2.markedImage;\n renderer.listitem = (text, task) => {\n if (task) {\n return `
  • ${text}
  • `;\n }\n return `
  • ${text}
  • `;\n };\n marked.setOptions({\n renderer,\n breaks: true\n });\n if (!props2.noKatex) {\n marked.use({\n extensions: [\n kaTexExtensions.inline(prefix, props2.katex),\n kaTexExtensions.block(prefix, props2.katex)\n ]\n });\n }\n if (props2.hljs) {\n marked.setOptions({\n highlight: (code) => {\n const codeHtml = props2.hljs.highlightAuto(code).value;\n return showCodeRowNumber ? generateCodeRowNumber(codeHtml) : `${codeHtml}`;\n }\n });\n }\n if (props2.extensions instanceof Array && props2.extensions.length > 0) {\n marked.use({\n extensions: props2.extensions\n });\n }\n const html = computed(() => {\n heads.value = [];\n const _html = marked(props2.value || \"\");\n highlightInited.value;\n mermaidData.reRender;\n mermaidData.mermaidInited;\n katexInited.value;\n return props2.sanitize(_html);\n });\n props2.onHtmlChanged(html.value);\n const highlightLoad = () => {\n marked.setOptions({\n highlight: (code) => {\n const codeHtml = window.hljs.highlightAuto(code).value;\n return showCodeRowNumber ? generateCodeRowNumber(codeHtml) : `${codeHtml}`;\n }\n });\n highlightInited.value = true;\n };\n watch(() => html.value, props2.onHtmlChanged);\n watch(() => heads.value, (list) => {\n props2.onGetCatalog(list);\n bus.emit(editorId, \"catalogChanged\", list);\n });\n onMounted(() => {\n if (!props2.noKatex && !props2.katex) {\n const katexScript = document.createElement(\"script\");\n katexScript.src = props2.katexJs;\n katexScript.onload = () => {\n katexInited.value = true;\n };\n katexScript.id = `${prefix}-katex`;\n const katexLink = document.createElement(\"link\");\n katexLink.rel = \"stylesheet\";\n katexLink.href = props2.katexCss;\n katexLink.id = `${prefix}-katexCss`;\n appendHandler(katexScript, \"katex\");\n appendHandler(katexLink);\n }\n if (props2.hljs === null) {\n const highlightLink = document.createElement(\"link\");\n highlightLink.rel = \"stylesheet\";\n highlightLink.href = highlight.value.css;\n highlightLink.id = `${prefix}-hlCss`;\n const highlightScript = document.createElement(\"script\");\n highlightScript.src = highlight.value.js;\n highlightScript.onload = highlightLoad;\n highlightScript.id = `${prefix}-hljs`;\n appendHandler(highlightLink);\n appendHandler(highlightScript, \"hljs\");\n }\n });\n onMounted(() => {\n bus.on(editorId, {\n name: \"pushCatalog\",\n callback() {\n bus.emit(editorId, \"catalogChanged\", heads.value);\n }\n });\n });\n return {\n html\n };\n};\nconst useAutoScroll = (props2, html, textAreaRef, previewRef, htmlRef) => {\n const previewOnly = inject(\"previewOnly\");\n const ult = inject(\"usedLanguageText\");\n const editorId = inject(\"editorId\");\n let clearScrollAuto = () => {\n };\n let initScrollAuto = () => {\n };\n const initCopyEntry = () => {\n document.querySelectorAll(`#${editorId} .${prefix}-preview pre`).forEach((pre) => {\n var _a;\n const copyButton = document.createElement(\"span\");\n copyButton.setAttribute(\"class\", \"copy-button\");\n copyButton.innerText = ((_a = ult.value.copyCode) == null ? void 0 : _a.text) || \"\\u590D\\u5236\\u4EE3\\u7801\";\n copyButton.addEventListener(\"click\", () => {\n var _a2;\n copyToClipboard(pre.querySelector(\"code\").innerText);\n copyButton.innerText = ((_a2 = ult.value.copyCode) == null ? void 0 : _a2.tips) || \"\\u5DF2\\u590D\\u5236\\uFF01\";\n setTimeout(() => {\n var _a3;\n copyButton.innerText = ((_a3 = ult.value.copyCode) == null ? void 0 : _a3.text) || \"\\u590D\\u5236\\u4EE3\\u7801\";\n }, 1500);\n });\n pre.appendChild(copyButton);\n });\n };\n onMounted(() => {\n [initScrollAuto, clearScrollAuto] = scrollAuto(textAreaRef.value, previewRef.value || htmlRef.value);\n });\n const htmlChanged = () => {\n nextTick(() => {\n if (props2.setting.preview && !previewOnly) {\n clearScrollAuto();\n initScrollAuto();\n }\n initCopyEntry();\n });\n };\n const settingPreviewChanged = (nVal) => {\n if (nVal && !previewOnly) {\n nextTick(() => {\n clearScrollAuto();\n [initScrollAuto, clearScrollAuto] = scrollAuto(textAreaRef.value, previewRef.value || htmlRef.value);\n initScrollAuto();\n });\n }\n };\n watch(() => html.value, htmlChanged);\n watch(() => props2.setting.preview, settingPreviewChanged);\n watch(() => props2.setting.htmlPreview, settingPreviewChanged);\n onMounted(htmlChanged);\n};\nconst useAutoGenrator = (props2, textAreaRef) => {\n const previewOnly = inject(\"previewOnly\");\n const tabWidth = inject(\"tabWidth\");\n const editorId = inject(\"editorId\");\n const selectedText = ref(\"\");\n onMounted(() => {\n var _a, _b;\n if (!previewOnly) {\n (_a = textAreaRef.value) == null ? void 0 : _a.addEventListener(\"select\", () => {\n var _a2;\n selectedText.value = ((_a2 = window.getSelection()) == null ? void 0 : _a2.toString()) || \"\";\n });\n (_b = textAreaRef.value) == null ? void 0 : _b.addEventListener(\"keypress\", (event) => {\n var _a2, _b2, _c;\n if (event.key === \"Enter\") {\n const endPoint = (_a2 = textAreaRef.value) == null ? void 0 : _a2.selectionStart;\n const prefixStr = (_b2 = textAreaRef.value) == null ? void 0 : _b2.value.substring(0, endPoint);\n const subStr = (_c = textAreaRef.value) == null ? void 0 : _c.value.substring(endPoint);\n const lastIndexBR = prefixStr == null ? void 0 : prefixStr.lastIndexOf(\"\\n\");\n const enterPressRow = prefixStr == null ? void 0 : prefixStr.substring(lastIndexBR + 1, endPoint);\n if (/^\\d+\\.\\s|^-\\s/.test(enterPressRow)) {\n event.cancelBubble = true;\n event.preventDefault();\n event.stopPropagation();\n if (/^\\d+\\.\\s+$|^-\\s+$/.test(enterPressRow)) {\n const resetPrefixStr = prefixStr == null ? void 0 : prefixStr.replace(new RegExp(enterPressRow + \"$\"), \"\");\n props2.onChange(resetPrefixStr + subStr);\n setPosition(textAreaRef.value, resetPrefixStr == null ? void 0 : resetPrefixStr.length);\n } else if (/^-\\s+.+/.test(enterPressRow)) {\n props2.onChange(insert(textAreaRef.value, \"\\n- \", {}));\n } else {\n const lastOrderMatch = enterPressRow == null ? void 0 : enterPressRow.match(/\\d+(?=\\.)/);\n const nextOrder = lastOrderMatch && Number(lastOrderMatch[0]) + 1 || 1;\n props2.onChange(insert(textAreaRef.value, `\n${nextOrder}. `, {}));\n }\n }\n }\n });\n bus.on(editorId, {\n name: \"replace\",\n callback(direct, params = {}) {\n props2.onChange(directive2flag(direct, selectedText.value, textAreaRef.value, __spreadProps(__spreadValues({}, params), {\n tabWidth\n })));\n }\n });\n }\n });\n bus.on(editorId, {\n name: \"selectTextChange\",\n callback(val) {\n selectedText.value = val;\n }\n });\n return {\n selectedText\n };\n};\nconst useMermaid = (props2) => {\n const theme = inject(\"theme\");\n const mermaidData = reactive({\n reRender: false,\n mermaidInited: !!props2.mermaid\n });\n const reSetMermaidTheme = () => {\n if (!props2.noMermaid) {\n if (props2.mermaid) {\n props2.mermaid.initialize({\n theme: theme.value === \"dark\" ? \"dark\" : \"default\"\n });\n } else if (window.mermaid) {\n window.mermaid.initialize({\n theme: theme.value === \"dark\" ? \"dark\" : \"default\"\n });\n }\n mermaidData.reRender = !mermaidData.reRender;\n }\n };\n watch(() => theme.value, reSetMermaidTheme);\n let mermaidScript;\n onMounted(() => {\n if (!props2.noMermaid && !props2.mermaid) {\n mermaidScript = document.createElement(\"script\");\n mermaidScript.src = props2.mermaidJs;\n mermaidScript.onload = () => {\n window.mermaid.initialize({\n theme: theme.value === \"dark\" ? \"dark\" : \"default\",\n logLevel: \"Fatal\"\n });\n mermaidData.mermaidInited = true;\n };\n mermaidScript.id = `${prefix}-mermaid`;\n appendHandler(mermaidScript, \"mermaid\");\n } else if (!props2.noMermaid) {\n reSetMermaidTheme();\n }\n });\n return mermaidData;\n};\nconst usePasteUpload = (textAreaRef) => {\n const editorId = inject(\"editorId\");\n const previewOnly = inject(\"previewOnly\");\n const pasteHandler = (e) => {\n if (e.clipboardData && e.clipboardData.files.length > 0) {\n const { files } = e.clipboardData;\n bus.emit(editorId, \"uploadImage\", Array.from(files).filter((file) => {\n return /image\\/.*/.test(file.type);\n }));\n e.preventDefault();\n }\n };\n onMounted(() => {\n if (!previewOnly) {\n textAreaRef.value.addEventListener(\"paste\", pasteHandler);\n }\n });\n onBeforeUnmount(() => {\n if (!previewOnly) {\n textAreaRef.value.removeEventListener(\"paste\", pasteHandler);\n }\n });\n};\nvar Content = defineComponent({\n name: \"MDEditorContent\",\n props: {\n value: {\n type: String,\n default: \"\"\n },\n hljs: {\n type: Object,\n default: null\n },\n onChange: {\n type: Function,\n default: () => () => {\n }\n },\n setting: {\n type: Object,\n default: () => ({})\n },\n onHtmlChanged: {\n type: Function,\n default: () => () => {\n }\n },\n onGetCatalog: {\n type: Function,\n default: () => () => {\n }\n },\n markedHeading: {\n type: Function,\n default: () => \"\"\n },\n mermaid: {\n type: Object\n },\n mermaidJs: {\n type: String,\n default: \"\"\n },\n noMermaid: {\n type: Boolean,\n default: false\n },\n sanitize: {\n type: Function,\n default: (html) => html\n },\n placeholder: {\n type: String,\n default: \"\"\n },\n katex: {\n type: Object\n },\n katexJs: {\n type: String,\n default: \"\"\n },\n katexCss: {\n type: String,\n default: \"\"\n },\n noKatex: {\n type: Boolean,\n default: false\n },\n extensions: {\n type: Array\n },\n markedImage: {\n type: Function,\n default: () => \"\"\n }\n },\n setup(props2) {\n const previewOnly = inject(\"previewOnly\");\n const showCodeRowNumber = inject(\"showCodeRowNumber\");\n const previewTheme = inject(\"previewTheme\");\n const editorId = inject(\"editorId\");\n const textAreaRef = ref();\n const previewRef = ref();\n const htmlRef = ref();\n const mermaidData = useMermaid(props2);\n const {\n html\n } = useMarked(props2, mermaidData);\n useAutoScroll(props2, html, textAreaRef, previewRef, htmlRef);\n const {\n selectedText\n } = useAutoGenrator(props2, textAreaRef);\n useHistory(props2, textAreaRef);\n usePasteUpload(textAreaRef);\n return () => {\n return createVNode(Fragment, null, [createVNode(\"div\", {\n \"class\": [`${prefix}-content`]\n }, [!previewOnly && createVNode(\"div\", {\n \"class\": `${prefix}-input-wrapper`\n }, [createVNode(\"textarea\", {\n \"id\": `${editorId}-textarea`,\n \"ref\": textAreaRef,\n \"value\": props2.value,\n \"onInput\": (e) => {\n selectedText.value = \"\";\n props2.onChange(e.target.value);\n },\n \"class\": [props2.setting.preview || props2.setting.htmlPreview ? \"\" : \"textarea-only\"],\n \"placeholder\": props2.placeholder\n }, null)]), props2.setting.preview && createVNode(\"div\", {\n \"id\": `${editorId}-preview-wrapper`,\n \"class\": `${prefix}-preview-wrapper`,\n \"ref\": previewRef,\n \"key\": \"content-preview-wrapper\"\n }, [createVNode(\"div\", {\n \"id\": `${editorId}-preview`,\n \"class\": [`${prefix}-preview`, `${previewTheme == null ? void 0 : previewTheme.value}-theme`, showCodeRowNumber && `${prefix}-scrn`],\n \"innerHTML\": html.value\n }, null)]), props2.setting.htmlPreview && createVNode(\"div\", {\n \"class\": `${prefix}-preview-wrapper`,\n \"ref\": htmlRef,\n \"key\": \"html-preview-wrapper\"\n }, [createVNode(\"div\", {\n \"class\": `${prefix}-html`\n }, [html.value])])])]);\n };\n }\n});\nconst CatalogLink = defineComponent({\n props: {\n tocItem: {\n type: Object,\n default: () => ({})\n },\n markedHeadingId: {\n type: Function,\n default: () => {\n }\n },\n scrollElement: {\n type: [String, HTMLElement],\n default: \"\"\n }\n },\n setup(props2) {\n return () => createVNode(\"div\", {\n \"class\": `${prefix}-catalog-link`,\n \"onClick\": (e) => {\n e.stopPropagation();\n const id = props2.markedHeadingId(props2.tocItem.text, props2.tocItem.level);\n const targetHeadEle = document.getElementById(id);\n const scrollContainer = props2.scrollElement instanceof HTMLElement ? props2.scrollElement : document.querySelector(props2.scrollElement);\n if (targetHeadEle && scrollContainer) {\n let par = targetHeadEle.offsetParent;\n let offsetTop = targetHeadEle.offsetTop;\n if (scrollContainer.contains(par)) {\n while (par && scrollContainer != par) {\n offsetTop += par == null ? void 0 : par.offsetTop;\n par = par == null ? void 0 : par.offsetParent;\n }\n }\n scrollContainer == null ? void 0 : scrollContainer.scrollTo({\n top: offsetTop,\n behavior: \"smooth\"\n });\n }\n }\n }, [createVNode(\"span\", null, [props2.tocItem.text]), props2.tocItem.children && props2.tocItem.children.map((item) => createVNode(CatalogLink, {\n \"markedHeadingId\": props2.markedHeadingId,\n \"key\": item.text,\n \"tocItem\": item,\n \"scrollElement\": props2.scrollElement\n }, null))]);\n }\n});\nvar style = \"\";\nconst Catalog = defineComponent({\n name: \"Catalog\",\n props: {\n editorId: {\n type: String\n },\n class: {\n type: String,\n default: \"\"\n },\n markedHeadingId: {\n type: Function,\n default: (text) => text\n },\n scrollElement: {\n type: [String, HTMLElement]\n },\n theme: {\n type: String,\n default: \"light\"\n }\n },\n setup(props2) {\n const editorId = props2.editorId;\n const state = reactive({\n list: [],\n show: false,\n scrollElement: props2.scrollElement || `#${editorId}-preview-wrapper`\n });\n const catalogs = computed(() => {\n const tocItems = [];\n state.list.forEach(({\n text,\n level\n }) => {\n const item = {\n level,\n text\n };\n if (tocItems.length === 0) {\n tocItems.push(item);\n } else {\n let lastItem = tocItems[tocItems.length - 1];\n if (item.level > lastItem.level) {\n for (let i = lastItem.level + 1; i <= 6; i++) {\n const {\n children\n } = lastItem;\n if (!children) {\n lastItem.children = [item];\n break;\n }\n lastItem = children[children.length - 1];\n if (item.level <= lastItem.level) {\n children.push(item);\n break;\n }\n }\n } else {\n tocItems.push(item);\n }\n }\n });\n return tocItems;\n });\n onMounted(() => {\n bus.on(editorId, {\n name: \"catalogChanged\",\n callback: (_list) => {\n state.list = _list;\n }\n });\n bus.emit(editorId, \"pushCatalog\");\n });\n return () => createVNode(\"div\", {\n \"class\": `${prefix}-catalog${props2.theme === \"dark\" ? \"-dark\" : \"\"} ${props2.class}`\n }, [catalogs.value.map((item) => {\n return createVNode(CatalogLink, {\n \"markedHeadingId\": props2.markedHeadingId,\n \"tocItem\": item,\n \"key\": item.text,\n \"scrollElement\": state.scrollElement\n }, null);\n })]);\n }\n});\nvar index = \"\";\nvar all = \"\";\nconst markedHeadingId = (text) => text;\nconst props = {\n modelValue: {\n type: String,\n default: \"\"\n },\n theme: {\n type: String,\n default: \"light\"\n },\n editorClass: {\n type: String,\n default: \"\"\n },\n hljs: {\n type: Object,\n default: null\n },\n highlightJs: {\n type: String,\n default: highlightUrl.js\n },\n highlightCss: {\n type: String,\n default: \"\"\n },\n historyLength: {\n type: Number,\n default: 10\n },\n onChange: {\n type: Function\n },\n onSave: {\n type: Function\n },\n onUploadImg: {\n type: Function\n },\n pageFullScreen: {\n type: Boolean,\n default: false\n },\n preview: {\n type: Boolean,\n default: true\n },\n htmlPreview: {\n type: Boolean,\n default: false\n },\n previewOnly: {\n type: Boolean,\n default: false\n },\n language: {\n type: String,\n default: \"zh-CN\"\n },\n languageUserDefined: {\n type: Object,\n default: () => ({})\n },\n toolbars: {\n type: Array,\n default: allToolbar\n },\n toolbarsExclude: {\n type: Array,\n default: []\n },\n prettier: {\n type: Boolean,\n default: true\n },\n prettierCDN: {\n type: String,\n default: prettierUrl.main\n },\n prettierMDCDN: {\n type: String,\n default: prettierUrl.markdown\n },\n onHtmlChanged: {\n type: Function\n },\n Cropper: {\n type: Function,\n default: null\n },\n cropperCss: {\n type: String,\n default: cropperUrl.css\n },\n cropperJs: {\n type: String,\n default: cropperUrl.js\n },\n iconfontJs: {\n type: String,\n default: iconfontUrl\n },\n onGetCatalog: {\n type: Function\n },\n editorId: {\n type: String,\n default: \"md-editor-v3\"\n },\n tabWidth: {\n type: Number,\n default: 2\n },\n showCodeRowNumber: {\n type: Boolean,\n default: false\n },\n screenfull: {\n type: Object,\n default: null\n },\n screenfullJs: {\n type: String,\n default: screenfullUrl\n },\n previewTheme: {\n type: String,\n default: \"default\"\n },\n markedHeading: {\n type: Function,\n default: (text, level, raw) => {\n const id = markedHeadingId(raw);\n if (text !== raw) {\n return `${text}`;\n } else {\n return `${raw}`;\n }\n }\n },\n style: {\n type: Object,\n default: () => ({})\n },\n markedHeadingId: {\n type: Function,\n default: markedHeadingId\n },\n tableShape: {\n type: Array,\n default: () => [6, 4]\n },\n mermaid: {\n type: Object\n },\n mermaidJs: {\n type: String,\n default: mermaidUrl\n },\n noMermaid: {\n type: Boolean,\n default: false\n },\n sanitize: {\n type: Function,\n default: (html) => html\n },\n placeholder: {\n type: String,\n default: \"\"\n },\n katex: {\n type: Object\n },\n katexJs: {\n type: String,\n default: katexJsUrl\n },\n katexCss: {\n type: String,\n default: katexCssUrl\n },\n noKatex: {\n type: Boolean,\n default: false\n },\n defToolbars: {\n type: [String, Object]\n },\n extensions: {\n type: Array\n },\n markedImage: {\n type: Function,\n default: (href, _, desc) => {\n return `
    \"${desc}\"
    ${desc}
    `;\n }\n }\n};\nvar Editor = defineComponent({\n name: \"MdEditorV3\",\n props,\n setup(props2, context) {\n const {\n editorId\n } = props2;\n useKeyBoard(props2, context);\n useProvide(props2);\n useExpansion(props2);\n const state = reactive({\n catalogVisible: false\n });\n const setting = reactive({\n pageFullScreen: props2.pageFullScreen,\n fullscreen: false,\n preview: props2.preview,\n htmlPreview: props2.preview ? false : props2.htmlPreview\n });\n const updateSetting = (v, k) => {\n setting[k] = v;\n if (k === \"preview\" && setting.preview) {\n setting.htmlPreview = false;\n } else if (k === \"htmlPreview\" && setting.htmlPreview) {\n setting.preview = false;\n }\n };\n let bodyOverflowHistory = \"\";\n const adjustBody = () => {\n if (setting.pageFullScreen || setting.fullscreen) {\n document.body.style.overflow = \"hidden\";\n } else {\n document.body.style.overflow = bodyOverflowHistory;\n }\n };\n watch(() => [setting.pageFullScreen, setting.fullscreen], adjustBody);\n onMounted(() => {\n if (!props2.previewOnly) {\n bus.on(editorId, {\n name: \"uploadImage\",\n callback(files, cb) {\n const insertHanlder = (urls) => {\n bus.emit(editorId, \"replace\", \"image\", {\n desc: \"\",\n urls\n });\n cb && cb();\n };\n if (props2.onUploadImg) {\n props2.onUploadImg(files, insertHanlder);\n } else {\n context.emit(\"onUploadImg\", files, insertHanlder);\n }\n }\n });\n }\n bodyOverflowHistory = document.body.style.overflow;\n adjustBody();\n bus.on(editorId, {\n name: \"catalogShow\",\n callback: () => {\n state.catalogVisible = !state.catalogVisible;\n }\n });\n });\n onBeforeUnmount(() => {\n bus.clear(editorId);\n });\n const catalogShow = computed(() => {\n return !props2.toolbarsExclude.includes(\"catalog\") && props2.toolbars.includes(\"catalog\");\n });\n return () => {\n const defToolbars = getSlot({\n props: props2,\n ctx: context\n }, \"defToolbars\");\n return createVNode(\"div\", {\n \"id\": editorId,\n \"class\": [prefix, props2.editorClass, props2.theme === \"dark\" && `${prefix}-dark`, setting.fullscreen || setting.pageFullScreen ? `${prefix}-fullscreen` : \"\", props2.previewOnly && `${prefix}-previewOnly`],\n \"style\": props2.style\n }, [!props2.previewOnly && createVNode(ToolBar, {\n \"prettier\": props2.prettier,\n \"screenfull\": props2.screenfull,\n \"screenfullJs\": props2.screenfullJs,\n \"toolbars\": props2.toolbars,\n \"toolbarsExclude\": props2.toolbarsExclude,\n \"setting\": setting,\n \"updateSetting\": updateSetting,\n \"tableShape\": props2.tableShape,\n \"defToolbars\": defToolbars\n }, null), createVNode(Content, {\n \"hljs\": props2.hljs,\n \"value\": props2.modelValue,\n \"onChange\": (value) => {\n if (props2.onChange) {\n props2.onChange(value);\n } else {\n context.emit(\"update:modelValue\", value);\n context.emit(\"onChange\", value);\n }\n },\n \"setting\": setting,\n \"onHtmlChanged\": (html) => {\n if (props2.onHtmlChanged) {\n props2.onHtmlChanged(html);\n } else {\n context.emit(\"onHtmlChanged\", html);\n }\n },\n \"onGetCatalog\": (list) => {\n if (props2.onGetCatalog) {\n props2.onGetCatalog(list);\n } else {\n context.emit(\"onGetCatalog\", list);\n }\n },\n \"markedHeading\": props2.markedHeading,\n \"mermaid\": props2.mermaid,\n \"mermaidJs\": props2.mermaidJs,\n \"noMermaid\": props2.noMermaid,\n \"sanitize\": props2.sanitize,\n \"placeholder\": props2.placeholder,\n \"katex\": props2.katex,\n \"katexJs\": props2.katexJs,\n \"katexCss\": props2.katexCss,\n \"noKatex\": props2.noKatex,\n \"extensions\": props2.extensions,\n \"markedImage\": props2.markedImage\n }, null), catalogShow.value && createVNode(Catalog, {\n \"theme\": props2.theme,\n \"style\": {\n display: state.catalogVisible ? \"block\" : \"none\"\n },\n \"class\": `${prefix}-catalog-editor`,\n \"editorId\": editorId,\n \"markedHeadingId\": props2.markedHeadingId\n }, null)]);\n };\n }\n});\nvar NormalToolbar = defineComponent({\n name: \"NormalToolbar\",\n props: {\n title: {\n type: String,\n default: \"\"\n },\n trigger: {\n type: [String, Object]\n },\n onClick: {\n type: Function,\n default: () => () => {\n }\n }\n },\n setup(props2, ctx) {\n return () => {\n const Trigger = getSlot({\n props: props2,\n ctx\n }, \"trigger\");\n return createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": props2.title,\n \"onClick\": props2.onClick\n }, [Trigger]);\n };\n }\n});\nvar DropdownToolbar = defineComponent({\n name: \"DropdownToolbar\",\n props: {\n title: {\n type: String,\n default: \"\"\n },\n visible: {\n type: Boolean\n },\n trigger: {\n type: [String, Object]\n },\n onChange: {\n type: Function,\n default: () => () => {\n }\n },\n overlay: {\n type: [String, Object]\n }\n },\n setup(props2, ctx) {\n return () => {\n const Trigger = getSlot({\n props: props2,\n ctx\n }, \"trigger\");\n const Overlay = getSlot({\n props: props2,\n ctx\n }, \"overlay\");\n return createVNode(Dropdown, {\n \"visible\": props2.visible,\n \"onChange\": props2.onChange,\n \"overlay\": Overlay\n }, {\n default: () => [createVNode(\"div\", {\n \"class\": `${prefix}-toolbar-item`,\n \"title\": props2.title || \"\"\n }, [Trigger])]\n });\n };\n }\n});\nEditor.install = (app) => {\n app.component(Editor.name, Editor);\n app.component(NormalToolbar.name, NormalToolbar);\n app.component(DropdownToolbar.name, DropdownToolbar);\n app.component(Catalog.name, Catalog);\n return app;\n};\nEditor.NormalToolbar = NormalToolbar;\nEditor.DropdownToolbar = DropdownToolbar;\nEditor.Catalog = Catalog;\nexport { Editor as default };\n","\r\n // https://imzbf.github.io/md-editor-v3/index\r\n // https://www.jianshu.com/p/0b06128a6117\r\n import { defineComponent } from 'vue';\r\n import MdEditor from 'md-editor-v3';\r\n import 'md-editor-v3/lib/style.css';\r\n\r\n export default defineComponent({\r\n components: { MdEditor },\r\n data() {\r\n return { text: '## 你好呀,欢迎!' };\r\n },\r\n methods:{\r\n submit(){\r\n console.log('this.text',this.text)\r\n }\r\n }\r\n });\r\n","import { render } from \"./mark-down.vue?vue&type=template&id=4ef17b3a&ts=true\"\nimport script from \"./mark-down.vue?vue&type=script&lang=ts\"\nexport * from \"./mark-down.vue?vue&type=script&lang=ts\"\n\nimport \"./mark-down.vue?vue&type=style&index=0&id=4ef17b3a&lang=scss\"\n\nimport exportComponent from \"F:\\\\2022\\\\cloude\\\\vue-admin-plus\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./mark-down.vue?vue&type=style&index=0&id=4ef17b3a&lang=scss\""],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/chunk-4ad08c7e.3f621fd2.js b/dist/js/chunk-4ad08c7e.3f621fd2.js deleted file mode 100644 index fa8f57a..0000000 --- a/dist/js/chunk-4ad08c7e.3f621fd2.js +++ /dev/null @@ -1,2 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-4ad08c7e"],{"717c":function(e,t,n){"use strict";n("9533")},9533:function(e,t,n){},"9ed6":function(e,t,n){"use strict";n.r(t);var r=n("1da1"),o=(n("96cf"),n("d9e2"),n("7a23")),c=n("6c02"),u=n("5502"),a=function(e){return Object(o["pushScopeId"])("data-v-e14fc078"),e=e(),Object(o["popScopeId"])(),e},i={class:"login-container"},l={class:"login-box"},d=a((function(){return Object(o["createElementVNode"])("div",{style:{color:"white","text-align":"center","margin-bottom":"15px"}},"登录系统-密码账号随便填 admin admin",-1)})),s={class:"login-box-content-right"},b=Object(o["createTextVNode"])("登录"),f=Object(o["defineComponent"])({setup:function(e){var t=Object(o["ref"])(),n=Object(c["d"])(),a=Object(u["b"])(),f=function(e,t,n){if(!t)return n(new Error("请输入用户名"));n()},p=function(e,t,n){""===t?n(new Error("请输入密码")):n()},j=Object(o["reactive"])({username:"",password:""}),O=Object(o["reactive"])({password:[{validator:p,trigger:"blur"}],username:[{validator:f,trigger:"blur"}]}),m=function(e){e&&e.validate(function(){var e=Object(r["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(console.log("valid==",t),!t){e.next=7;break}return e.next=4,a.dispatch("user/login",j);case 4:n.push({path:"/"}),e.next=9;break;case 7:return console.log("error submit!"),e.abrupt("return",!1);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())};return function(e,n){var r=Object(o["resolveComponent"])("el-input"),c=Object(o["resolveComponent"])("el-form-item"),u=Object(o["resolveComponent"])("el-button"),a=Object(o["resolveComponent"])("el-form");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",i,[Object(o["createElementVNode"])("div",l,[d,Object(o["createElementVNode"])("div",s,[Object(o["createVNode"])(a,{ref_key:"ruleFormRef",ref:t,model:Object(o["unref"])(j),"status-icon":"",rules:Object(o["unref"])(O),"label-width":"0",class:"demo-ruleForm"},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(c,{label:"",prop:"username"},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(r,{modelValue:Object(o["unref"])(j).username,"onUpdate:modelValue":n[0]||(n[0]=function(e){return Object(o["unref"])(j).username=e}),type:"text",onKeyup:n[1]||(n[1]=Object(o["withKeys"])((function(e){return m(t.value)}),["enter","native"]))},null,8,["modelValue"])]})),_:1}),Object(o["createVNode"])(c,{label:"",prop:"password"},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(r,{onKeyup:n[2]||(n[2]=Object(o["withKeys"])((function(e){return m(t.value)}),["enter","native"])),modelValue:Object(o["unref"])(j).password,"onUpdate:modelValue":n[3]||(n[3]=function(e){return Object(o["unref"])(j).password=e}),type:"password"},null,8,["modelValue"])]})),_:1}),Object(o["createVNode"])(c,{style:{width:"100%"}},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(u,{type:"primary",onClick:n[4]||(n[4]=function(e){return m(t.value)}),style:{width:"100%",height:"47px"}},{default:Object(o["withCtx"])((function(){return[b]})),_:1})]})),_:1})]})),_:1},8,["model","rules"])])])])}}}),p=(n("717c"),n("6b0d")),j=n.n(p);const O=j()(f,[["__scopeId","data-v-e14fc078"]]);t["default"]=O}}]); -//# sourceMappingURL=chunk-4ad08c7e.3f621fd2.js.map \ No newline at end of file diff --git a/dist/js/chunk-4ad08c7e.3f621fd2.js.map b/dist/js/chunk-4ad08c7e.3f621fd2.js.map deleted file mode 100644 index 87ca444..0000000 --- a/dist/js/chunk-4ad08c7e.3f621fd2.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/views/login/index.vue?3391","webpack:///./src/views/login/index.vue?8a95","webpack:///./src/views/login/index.vue"],"names":["_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","class","_hoisted_2","_hoisted_3","_createElementVNode","style","_hoisted_4","_hoisted_5","_createTextVNode","_defineComponent","setup","__props","ruleFormRef","ref","router","useRouter","store","useStore","validateUsername","rule","value","callback","Error","validatePass","ruleForm","reactive","username","password","rules","validator","trigger","submitForm","formEl","validate","valid","console","log","dispatch","push","path","_ctx","_cache","_component_el_input","_resolveComponent","_component_el_form_item","_component_el_button","_component_el_form","_openBlock","_createElementBlock","_createVNode","ref_key","model","_unref","default","_withCtx","label","prop","modelValue","$event","type","onKeyup","_withKeys","_","onClick","__exports__"],"mappings":"kHAAA,W,4ICGMA,EAAe,SAAAC,GAAC,OAAKC,yBAAa,mBAAmBD,EAAEA,IAAIE,0BAAcF,GACzEG,EAAa,CAAEC,MAAO,mBACtBC,EAAa,CAAED,MAAO,aACtBE,EAA2BP,GAAa,kBAAmBQ,gCAAoB,MAAO,CAAEC,MAAO,CAAC,MAAQ,QAAQ,aAAa,SAAS,gBAAgB,SAAW,4BAA6B,MAC9LC,EAAa,CAAEL,MAAO,2BACtBM,EAA0BC,6BAAiB,MAQrBC,+BAAiB,CAC3CC,MAD2C,SACrCC,GAEN,IAAMC,EAAcC,mBACdC,EAASC,iBACTC,EAAQC,iBAERC,EAAmB,SAACC,EAAWC,EAAYC,GAC/C,IAAKD,EACH,OAAOC,EAAS,IAAIC,MAAM,WAE5BD,KAEIE,EAAe,SAACJ,EAAWC,EAAYC,GAC7B,KAAVD,EACFC,EAAS,IAAIC,MAAM,UAEnBD,KAGEG,EAAWC,sBAAS,CACxBC,SAAU,GACVC,SAAU,KAGNC,EAAQH,sBAAS,CACrBE,SAAU,CAAC,CAAEE,UAAWN,EAAcO,QAAS,SAC/CJ,SAAU,CAAC,CAAEG,UAAWX,EAAkBY,QAAS,WAG/CC,EAAa,SAACC,GACbA,GACLA,EAAOC,SAAP,yDAAgB,WAAOC,GAAP,oFACdC,QAAQC,IAAI,UAAUF,IAClBA,EAFU,gCAINlB,EAAMqB,SAAS,aAAab,GAJtB,OAKZV,EAAOwB,KAAK,CACVC,KAAK,MANK,6BASZJ,QAAQC,IAAI,iBATA,mBAUL,GAVK,2CAAhB,wDAeJ,OAAO,SAACI,EAAUC,GAChB,IAAMC,EAAsBC,8BAAkB,YACxCC,EAA0BD,8BAAkB,gBAC5CE,EAAuBF,8BAAkB,aACzCG,EAAqBH,8BAAkB,WAE7C,OAAQI,yBAAcC,gCAAoB,MAAOhD,EAAY,CAC3DI,gCAAoB,MAAOF,EAAY,CACrCC,EACAC,gCAAoB,MAAOE,EAAY,CACrC2C,yBAAaH,EAAoB,CAC/BI,QAAS,cACTrC,IAAKD,EACLuC,MAAOC,mBAAO5B,GACd,cAAe,GACfI,MAAOwB,mBAAOxB,GACd,cAAe,IACf3B,MAAO,iBACN,CACDoD,QAASC,sBAAS,iBAAM,CACtBL,yBAAaL,EAAyB,CACpCW,MAAO,GACPC,KAAM,YACL,CACDH,QAASC,sBAAS,iBAAM,CACtBL,yBAAaP,EAAqB,CAChCe,WAAYL,mBAAO5B,GAAUE,SAC7B,sBAAuBe,EAAO,KAAOA,EAAO,GAAK,SAACiB,GAAD,OAAmBN,mBAAO5B,GAAUE,SAAYgC,IACjGC,KAAM,OACNC,QAASnB,EAAO,KAAOA,EAAO,GAAKoB,uBAAU,SAACH,GAAD,OAAkB3B,EAAWnB,EAAYQ,SAAS,CAAC,QAAQ,aACvG,KAAM,EAAG,CAAC,mBAEf0C,EAAG,IAELb,yBAAaL,EAAyB,CACpCW,MAAO,GACPC,KAAM,YACL,CACDH,QAASC,sBAAS,iBAAM,CACtBL,yBAAaP,EAAqB,CAChCkB,QAASnB,EAAO,KAAOA,EAAO,GAAKoB,uBAAU,SAACH,GAAD,OAAkB3B,EAAWnB,EAAYQ,SAAS,CAAC,QAAQ,YACxGqC,WAAYL,mBAAO5B,GAAUG,SAC7B,sBAAuBc,EAAO,KAAOA,EAAO,GAAK,SAACiB,GAAD,OAAmBN,mBAAO5B,GAAUG,SAAY+B,IACjGC,KAAM,YACL,KAAM,EAAG,CAAC,mBAEfG,EAAG,IAELb,yBAAaL,EAAyB,CAAEvC,MAAO,CAAC,MAAQ,SAAW,CACjEgD,QAASC,sBAAS,iBAAM,CACtBL,yBAAaJ,EAAsB,CACjCc,KAAM,UACNI,QAAStB,EAAO,KAAOA,EAAO,GAAK,SAACiB,GAAD,OAAkB3B,EAAWnB,EAAYQ,SAC5Ef,MAAO,CAAC,MAAQ,OAAO,OAAS,SAC/B,CACDgD,QAASC,sBAAS,iBAAM,CACtB/C,MAEFuD,EAAG,QAGPA,EAAG,QAGPA,EAAG,GACF,EAAG,CAAC,QAAS,oB,iCC1HxB,MAAME,EAA2B,IAAgB,EAAQ,CAAC,CAAC,YAAY,qBAExD","file":"js/chunk-4ad08c7e.3f621fd2.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=e14fc078&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, resolveComponent as _resolveComponent, withKeys as _withKeys, createVNode as _createVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e14fc078\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"login-container\" }\nconst _hoisted_2 = { class: \"login-box\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { style: {\"color\":\"white\",\"text-align\":\"center\",\"margin-bottom\":\"15px\"} }, \"登录系统-密码账号随便填 admin admin\", -1))\nconst _hoisted_4 = { class: \"login-box-content-right\" }\nconst _hoisted_5 = /*#__PURE__*/_createTextVNode(\"登录\")\n\nimport { ref, reactive } from 'vue'\r\n import type { FormInstance } from 'element-plus'\r\n import {useRouter} from 'vue-router'\r\n import {useStore} from \"vuex\";\r\n\r\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\r\n const ruleFormRef = ref()\r\n const router = useRouter()\r\n const store = useStore()\r\n\r\n const validateUsername = (rule: any, value: any, callback: any) => {\r\n if (!value) {\r\n return callback(new Error('请输入用户名'))\r\n }\r\n callback()\r\n }\r\n const validatePass = (rule: any, value: any, callback: any) => {\r\n if (value === '') {\r\n callback(new Error('请输入密码'))\r\n } else {\r\n callback()\r\n }\r\n }\r\n const ruleForm = reactive({\r\n username: '',\r\n password: '',\r\n })\r\n\r\n const rules = reactive({\r\n password: [{ validator: validatePass, trigger: 'blur' }],\r\n username: [{ validator: validateUsername, trigger: 'blur' }],\r\n })\r\n\r\n const submitForm = (formEl: FormInstance | undefined) => {\r\n if (!formEl) return\r\n formEl.validate(async (valid) => {\r\n console.log('valid==',valid)\r\n if (valid) {\r\n // 登录\r\n await store.dispatch('user/login',ruleForm)\r\n router.push({\r\n path:'/'\r\n })\r\n } else {\r\n console.log('error submit!')\r\n return false\r\n }\r\n })\r\n }\r\n\nreturn (_ctx: any,_cache: any) => {\n const _component_el_input = _resolveComponent(\"el-input\")!\n const _component_el_form_item = _resolveComponent(\"el-form-item\")!\n const _component_el_button = _resolveComponent(\"el-button\")!\n const _component_el_form = _resolveComponent(\"el-form\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_el_form, {\n ref_key: \"ruleFormRef\",\n ref: ruleFormRef,\n model: _unref(ruleForm),\n \"status-icon\": \"\",\n rules: _unref(rules),\n \"label-width\": \"0\",\n class: \"demo-ruleForm\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_el_form_item, {\n label: \"\",\n prop: \"username\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_el_input, {\n modelValue: _unref(ruleForm).username,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(ruleForm).username) = $event)),\n type: \"text\",\n onKeyup: _cache[1] || (_cache[1] = _withKeys(($event: any) => (submitForm(ruleFormRef.value)), [\"enter\",\"native\"]))\n }, null, 8, [\"modelValue\"])\n ]),\n _: 1\n }),\n _createVNode(_component_el_form_item, {\n label: \"\",\n prop: \"password\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_el_input, {\n onKeyup: _cache[2] || (_cache[2] = _withKeys(($event: any) => (submitForm(ruleFormRef.value)), [\"enter\",\"native\"])),\n modelValue: _unref(ruleForm).password,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(ruleForm).password) = $event)),\n type: \"password\"\n }, null, 8, [\"modelValue\"])\n ]),\n _: 1\n }),\n _createVNode(_component_el_form_item, { style: {\"width\":\"100%\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_el_button, {\n type: \"primary\",\n onClick: _cache[4] || (_cache[4] = ($event: any) => (submitForm(ruleFormRef.value))),\n style: {\"width\":\"100%\",\"height\":\"47px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_5\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"model\", \"rules\"])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./index.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./index.vue?vue&type=style&index=0&id=e14fc078&lang=scss&scoped=true\"\n\nimport exportComponent from \"F:\\\\2022\\\\cloude\\\\vue-admin-plus\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e14fc078\"]])\n\nexport default __exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/src/permission.js b/src/permission.js index 6b5a341..c0ac915 100644 --- a/src/permission.js +++ b/src/permission.js @@ -30,7 +30,7 @@ router.beforeEach(async(to, from, next) => { // 路由添加进去了没有及时更新 需要重新进去一次拦截 if(!store.state.permission.routes.length){ - + console.log('store.getters.roles',store.getters.roles) // 获取权限列表进行接口访问 因为这里页面要切换权限 // const roles = await store.dispatch('user/getInfo') const accessRoutes = await store.dispatch('permission/generateRoutes', store.getters.roles)