UNPKG

@aegenet/au2-prism

Version:

DRAFT - Aurelia 2 - Prism View/Editor plugin

58 lines (55 loc) 20.5 kB
(function(x,y){typeof exports=="object"&&typeof module<"u"?y(exports,require("aurelia"),require("prismjs"),require("prismjs/components/prism-cmake.js"),require("prismjs/components/prism-javascript.js"),require("prismjs/components/prism-json.js"),require("prismjs/plugins/line-numbers/prism-line-numbers.js")):typeof define=="function"&&define.amd?define(["exports","aurelia","prismjs","/home/runner/work/au2/au2/packages/au2-prism/node_modules/prismjs/components/prism-cmake.js","/home/runner/work/au2/au2/packages/au2-prism/node_modules/prismjs/components/prism-javascript.js","/home/runner/work/au2/au2/packages/au2-prism/node_modules/prismjs/components/prism-json.js","/home/runner/work/au2/au2/packages/au2-prism/node_modules/prismjs/plugins/line-numbers/prism-line-numbers.js"],y):(x=typeof globalThis<"u"?globalThis:x||self,y(x["@aegenet/au2-prism"]={},x.aurelia,x.Prism))})(this,function(x,y,N){"use strict";const me="code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.my-editor{background-color:#2d2d2d;color:#ccc;height:auto!important;font-family:Fira code,Fira Mono,Consolas,Menlo,Courier,monospace;font-size:14px;line-height:1.5;padding:1em}.prism-editor-wrapper{height:100%;display:flex;align-items:flex-start;overflow:auto;tab-size:1.5em;-moz-tab-size:1.5em}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.prism-editor-wrapper .prism-editor__textarea{color:transparent!important}.prism-editor-wrapper .prism-editor__textarea::selection{background-color:#accef7!important;color:transparent!important}}.prism-editor-wrapper .prism-editor__container{position:relative;text-align:left;box-sizing:border-box;padding:0;overflow:hidden;width:100%}.prism-editor-wrapper .prism-editor__line-numbers{height:100%;overflow:hidden;flex-shrink:0;padding-top:4px;margin-top:0;margin-right:10px}.prism-editor-wrapper .prism-editor__line-number{text-align:right;white-space:nowrap}.prism-editor-wrapper .prism-editor__textarea{position:absolute;top:0;left:0;height:100%;width:100%;resize:none;color:inherit;overflow:hidden;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-text-fill-color:transparent}.prism-editor-wrapper .prism-editor__textarea:focus{outline:none!important}.prism-editor-wrapper .prism-editor__textarea,.prism-editor-wrapper .prism-editor__editor{margin:0;border:0;background:none;box-sizing:inherit;display:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-variant-ligatures:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;-moz-tab-size:inherit;tab-size:inherit;text-indent:inherit;text-rendering:inherit;text-transform:inherit;white-space:pre-wrap;word-wrap:keep-all;overflow-wrap:break-word;padding:0}.prism-editor-wrapper .prism-editor__textarea--empty{-webkit-text-fill-color:inherit!important}.prism-editor-wrapper .prism-editor__editor{position:relative;pointer-events:none}",fe=`<div class="prism-editor"> <div class="prism-editor-wrapper my-editor" language.bind="language"> <div if.bind="lineNumbers" aria-hidden="true" class="prism-editor__line-numbers" style.bind="{ minHeight: lineNumbersHeight, borderRight: '1px solid darkgrey' }"> <div style="padding-right: 1em;" > <div class="prism-editor__line-width-calc" style="height: 0px; visibility: hidden; pointer-events: none;"> 999 </div> <div repeat.for="nbr of lineIndexWraps" class="prism-editor__line-number token comment"> \${$first || lineIndexWraps[$index - 1].idx !== nbr.idx ? nbr.idx : '-'} </div> </div> </div> <div class="prism-editor__container" style.bind="lineNumbers === true ? { wordBreak: 'break-all' } : {}"> <textarea value.bind="code" style="padding-top:4px" ref="textAreaRef" spellcheck="false" autocapitalize="off" autocomplete="off" autocorrect="off" data-gramm="false" placeholder.bind="placeholder" readonly.bind="readonly" data-testid="textarea" class="prism-editor__textarea \${isEmpty ? 'prism-editor__textarea--empty' : ''}" > </textarea> <pre ref="preRef" data-testid="preview" class="prism-editor__editor" style="padding-top:4px; border-top-left-radius: 0px; border-bottom-left-radius: 0px;" innerhtml.bind="content" ></pre> </div> </div> </div> <span ref="measureRef" class="" style="visibility: hidden; position: absolute;white-space:pre"></span> `;var ge=Object.create,j=Object.defineProperty,_e=Object.getOwnPropertyDescriptor,be=(i,e)=>(e=Symbol[i])?e:Symbol.for("Symbol."+i),T=i=>{throw TypeError(i)},F=(i,e,t)=>e in i?j(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,U=(i,e)=>j(i,"name",{value:e,configurable:!0}),ye=i=>[,,,ge(null)],q=["class","method","getter","setter","accessor","field","value","get","set"],A=i=>i!==void 0&&typeof i!="function"?T("Function expected"):i,ve=(i,e,t,o,r)=>({kind:q[i],name:e,metadata:o,addInitializer:s=>t._?T("Already initialized"):r.push(A(s||null))}),ke=(i,e)=>F(e,be("metadata"),i[3]),v=(i,e,t,o)=>{for(var r=0,s=i[e>>1],c=s&&s.length;r<c;r++)e&1?s[r].call(t):o=s[r].call(t,o);return o},K=(i,e,t,o,r,s)=>{var c,l,h,a,_,n=e&7,k=!!(e&8),p=!!(e&16),w=n>3?i.length+1:n?k?1:2:0,$=q[n+5],P=n>3&&(i[w-1]=[]),D=i[w]||(i[w]=[]),g=n&&(!p&&!k&&(r=r.prototype),n<5&&(n>3||!p)&&_e(n<4?r:{get[t](){return Q(this,s)},set[t](m){return V(this,s,m)}},t));n?p&&n<4&&U(s,(n>2?"set ":n>1?"get ":"")+t):U(r,t);for(var z=o.length-1;z>=0;z--)a=ve(n,t,h={},i[3],D),n&&(a.static=k,a.private=p,_=a.access={has:p?m=>we(r,m):m=>t in m},n^3&&(_.get=p?m=>(n^1?Q:Ee)(m,r,n^4?s:g.get):m=>m[t]),n>2&&(_.set=p?(m,R)=>V(m,r,R,n^4?s:g.set):(m,R)=>m[t]=R)),l=(0,o[z])(n?n<4?p?s:g[$]:n>4?void 0:{get:g.get,set:g.set}:r,a),h._=1,n^4||l===void 0?A(l)&&(n>4?P.unshift(l):n?p?s=l:g[$]=l:r=l):typeof l!="object"||l===null?T("Object expected"):(A(c=l.get)&&(g.get=c),A(c=l.set)&&(g.set=c),A(c=l.init)&&P.unshift(c));return n||ke(i,r),g&&j(r,t,g),p?n^4?s:g:r},d=(i,e,t)=>F(i,typeof e!="symbol"?e+"":e,t),O=(i,e,t)=>e.has(i)||T("Cannot "+t),we=(i,e)=>Object(e)!==e?T('Cannot use the "in" operator on this value'):i.has(e),Q=(i,e,t)=>(O(i,e,"read from private field"),t?t.call(i):e.get(i)),V=(i,e,t,o)=>(O(i,e,"write to private field"),o?o.call(i,t):e.set(i,t),t),Ee=(i,e,t)=>(O(i,e,"access private method"),t),Z,G,J,X,ee,te,ie,ne,se,u;const xe=typeof window<"u"&&navigator&&/Win/i.test(navigator.platform),H=typeof window<"u"&&navigator&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);se=[y.inject(HTMLElement),y.customElement({name:"prism-editor",template:fe})],ne=[y.bindable()],ie=[y.bindable()],te=[y.bindable()],ee=[y.bindable()],X=[y.bindable()],J=[y.bindable()],G=[y.bindable()],Z=[y.bindable()];let f=class b{constructor(e){this._element=e,d(this,"preRef"),d(this,"textAreaRef"),d(this,"measureRef"),d(this,"_boundedKeydown"),d(this,"observer"),d(this,"lineNumbers",v(u,8,this,!1)),v(u,11,this),d(this,"lineIndexWraps",[]),d(this,"readonly",v(u,12,this,!1)),v(u,15,this),d(this,"code",v(u,16,this,"")),v(u,19,this),d(this,"highlight",v(u,20,this)),v(u,23,this),d(this,"tabSize",v(u,24,this,2)),v(u,27,this),d(this,"insertSpaces",v(u,28,this,!0)),v(u,31,this),d(this,"ignoreTabKey",v(u,32,this,!1)),v(u,35,this),d(this,"placeholder",v(u,36,this,"")),v(u,39,this),d(this,"capture",!0),d(this,"history",{stack:[],offset:-1}),d(this,"lineNumbersHeight","20px");const t=document.createElement("style");t.textContent=me,this._element.appendChild(t)}lineNumbersChanged(){this.setLineNumbersHeight(),this.setLineNumbersWrap()}contentChanged(){this.lineNumbers&&(this.setLineNumbersHeight(),this.setLineNumbersWrap())}get isEmpty(){var e;return((e=this.code)==null?void 0:e.length)===0}generateContent(){const e=N.highlight(this.code,N.languages.javascript,"javascript")+"<br />";return this.contentChanged(),e}get lineNumbersCount(){return this.code.split(/\r\n|\n/).length}bound(e,t){this.code==null&&(this.code="")}attached(e){const t=getComputedStyle(this.preRef);this.measureRef.style.font=t.font,this.measureRef.style.padding=t.padding,this.measureRef.style.margin=t.margin,this.measureRef.style.border=t.border,this.measureRef.style.lineHeight=t.lineHeight,this.measureRef.style.textAlign=t.textAlign,this.measureRef.style.overflow=t.overflow,this.measureRef.style.letterSpacing=t.letterSpacing,this._boundedKeydown=this.handleKeyDown.bind(this),this.textAreaRef.addEventListener("keydown",this._boundedKeydown),this.codeChanged(this.code,this.code);let o=this.observer;o===void 0&&(o=this.observer=new ResizeObserver(()=>{this.setLineNumbersHeight(),this.setLineNumbersWrap()})),o.observe(this.textAreaRef,{box:"border-box"})}detaching(e,t){this._boundedKeydown&&this.textAreaRef.removeEventListener("keydown",this._boundedKeydown),this.observer.disconnect(),this.observer=void 0}setLineNumbersHeight(){this.lineNumbersHeight=getComputedStyle(this.preRef).height}setLineNumbersWrap(){const e=this.preRef,t=this.code.split(/\r\n|\n/),o=[];let r=0,s=0;this.measureRef.textContent="M";const c=this.measureRef.offsetWidth;t.forEach((l,h)=>{r=c*(l.length||1),s=Math.ceil(r/e.clientWidth);for(let a=0;a<s;a++)o.push({idx:h+1,wrap:a})}),this.measureRef.textContent="",this.lineIndexWraps=o}_getLines(e,t){return e.substring(0,t).split(` `)}_applyEdits(e){const t=this.textAreaRef,o=this.history.stack[this.history.offset];o&&t&&(this.history.stack[this.history.offset]={...o,selectionStart:t.selectionStart,selectionEnd:t.selectionEnd}),this._recordChange(e),this._updateInput(e)}_recordChange(e,t=!1){var c,l;const{stack:o,offset:r}=this.history;if(o.length&&r>-1){this.history.stack=o.slice(0,r+1);const h=this.history.stack.length;if(h>b._HISTORY_LIMIT){const a=h-b._HISTORY_LIMIT;this.history.stack=o.slice(a,h),this.history.offset=Math.max(this.history.offset-a,0)}}const s=Date.now();if(t){const h=this.history.stack[this.history.offset];if(h&&s-h.timestamp<b._HISTORY_TIME_GAP){const a=/[^a-z0-9]([a-z0-9]+)$/i,_=(c=this._getLines(h.value,h.selectionStart).pop())==null?void 0:c.match(a),n=(l=this._getLines(e.value,e.selectionStart).pop())==null?void 0:l.match(a);if(_&&n&&n[1].startsWith(_[1])){this.history.stack[this.history.offset]={...e,timestamp:s};return}}}this.history.stack.push({...e,timestamp:s}),this.history.offset++}_updateInput(e){const t=this.textAreaRef;t&&(this.code=e.value||"",t.value=e.value,t.selectionStart=e.selectionStart,t.selectionEnd=e.selectionEnd)}codeChanged(e,t){e==null&&(this.code="");const{value:o,selectionStart:r,selectionEnd:s}=this.textAreaRef;this._recordChange({value:o,selectionStart:r,selectionEnd:s},!0),this.preRef.innerHTML=this.generateContent()}undo(){const{stack:e,offset:t}=this.history,o=e[t-1];o&&(this._updateInput(o),this.history.offset=Math.max(t-1,0))}redo(){const{stack:e,offset:t}=this.history,o=e[t+1];o&&(this._updateInput(o),this.history.offset=Math.min(t+1,e.length-1))}handleKeyDown(e){const{tabSize:t,insertSpaces:o,ignoreTabKey:r}=this;if(e.defaultPrevented)return;e.key===b._KEY_ESCAPE&&(e.target.blur(),this.$emit("blur",e));const{value:s,selectionStart:c,selectionEnd:l}=e.target,h=(o?" ":" ").repeat(t);if(e.key===b._KEY_TAB&&!r&&this.capture)if(e.preventDefault(),e.shiftKey){const a=this._getLines(s,c),_=a.length-1,n=this._getLines(s,l).length-1,k=s.split(` `).map((p,w)=>w>=_&&w<=n&&p.startsWith(h)?p.substring(h.length):p).join(` `);if(s!==k){const p=a[_];this._applyEdits({value:k,selectionStart:p.startsWith(h)?c-h.length:c,selectionEnd:l-(s.length-k.length)})}}else if(c!==l){const a=this._getLines(s,c),_=a.length-1,n=this._getLines(s,l).length-1,k=a[_];this._applyEdits({value:s.split(` `).map((p,w)=>w>=_&&w<=n?h+p:p).join(` `),selectionStart:/\S/.test(k)?c+h.length:c,selectionEnd:l+h.length*(n-_+1)})}else{const a=c+h.length;this._applyEdits({value:s.substring(0,c)+h+s.substring(l),selectionStart:a,selectionEnd:a})}else if(e.key===b._KEY_BACKSPACE){const a=c!==l;if(s.substring(0,c).endsWith(h)&&!a){e.preventDefault();const n=c-h.length;this._applyEdits({value:s.substring(0,c-h.length)+s.substring(l),selectionStart:n,selectionEnd:n})}}else if(e.key===b._KEY_ENTER){if(c===l){const a=this._getLines(s,c).pop(),_=a==null?void 0:a.match(/^\s+/);if(_&&_[0]){e.preventDefault();const n=` `+_[0],k=c+n.length;this._applyEdits({value:s.substring(0,c)+n+s.substring(l),selectionStart:k,selectionEnd:k})}}}else if(e.key===b._KEY_PARENS||e.key===b._KEY_BRACKETS||e.key===b._KEY_QUOTE||e.key===b._KEY_BACK_QUOTE){let a;e.key===b._KEY_PARENS&&e.shiftKey?a=["(",")"]:e.key===b._KEY_BRACKETS?e.shiftKey?a=["{","}"]:a=["[","]"]:e.key===b._KEY_QUOTE?e.shiftKey?a=['"','"']:a=["'","'"]:e.key===b._KEY_BACK_QUOTE&&!e.shiftKey&&(a=["`","`"]),c!==l&&a&&(e.preventDefault(),this._applyEdits({value:s.substring(0,c)+a[0]+s.substring(c,l)+a[1]+s.substring(l),selectionStart:c,selectionEnd:l+2}))}else(H?e.metaKey&&e.key===b._KEY_Z:e.ctrlKey&&e.key===b._KEY_Z)&&!e.shiftKey&&!e.altKey?(e.preventDefault(),this.undo()):(H?e.metaKey&&e.key===b._KEY_Z&&e.shiftKey:xe?e.ctrlKey&&e.key===b._KEY_Y:e.ctrlKey&&e.key===b._KEY_Z&&e.shiftKey)&&!e.altKey?(e.preventDefault(),this.redo()):e.key===b._KEY_M&&e.ctrlKey&&(!H||e.shiftKey)&&(e.preventDefault(),this.capture=!this.capture)}$emit(e,t){console.log(e,t)}};u=ye(),K(u,5,"lineNumbers",ne,f),K(u,5,"readonly",ie,f),K(u,5,"code",te,f),K(u,5,"highlight",ee,f),K(u,5,"tabSize",X,f),K(u,5,"insertSpaces",J,f),K(u,5,"ignoreTabKey",G,f),K(u,5,"placeholder",Z,f),f=K(u,0,"PrismEditor",se,f),d(f,"_KEY_ENTER","Enter"),d(f,"_KEY_TAB","Tab"),d(f,"_KEY_BACKSPACE","Backspace"),d(f,"_KEY_Y","y"),d(f,"_KEY_Z","z"),d(f,"_KEY_M","m"),d(f,"_KEY_PARENS","("),d(f,"_KEY_BRACKETS","{"),d(f,"_KEY_QUOTE",'"'),d(f,"_KEY_BACK_QUOTE","'"),d(f,"_KEY_ESCAPE","Escape"),d(f,"_HISTORY_LIMIT",100),d(f,"_HISTORY_TIME_GAP",3e3),v(u,1,f);let Ke=f;const Se="code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}",Ce=`<div> <pre class="\${lineNumbers ? 'line-numbers' : ''}" data-start="1"><code ref="codeArea" class="language-\${language}"></code></pre> </div> `;var ze=Object.create,W=Object.defineProperty,Re=Object.getOwnPropertyDescriptor,Te=(i,e)=>(e=Symbol[i])?e:Symbol.for("Symbol."+i),Y=i=>{throw TypeError(i)},re=(i,e,t)=>e in i?W(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,oe=(i,e)=>W(i,"name",{value:e,configurable:!0}),Ae=i=>[,,,ze(null)],ae=["class","method","getter","setter","accessor","field","value","get","set"],L=i=>i!==void 0&&typeof i!="function"?Y("Function expected"):i,Ye=(i,e,t,o,r)=>({kind:ae[i],name:e,metadata:o,addInitializer:s=>t._?Y("Already initialized"):r.push(L(s||null))}),Le=(i,e)=>re(e,Te("metadata"),i[3]),S=(i,e,t,o)=>{for(var r=0,s=i[e>>1],c=s&&s.length;r<c;r++)e&1?s[r].call(t):o=s[r].call(t,o);return o},I=(i,e,t,o,r,s)=>{var c,l,h,a,_,n=e&7,k=!!(e&8),p=!!(e&16),w=n>3?i.length+1:n?k?1:2:0,$=ae[n+5],P=n>3&&(i[w-1]=[]),D=i[w]||(i[w]=[]),g=n&&(!p&&!k&&(r=r.prototype),n<5&&(n>3||!p)&&Re(n<4?r:{get[t](){return le(this,s)},set[t](m){return ce(this,s,m)}},t));n?p&&n<4&&oe(s,(n>2?"set ":n>1?"get ":"")+t):oe(r,t);for(var z=o.length-1;z>=0;z--)a=Ye(n,t,h={},i[3],D),n&&(a.static=k,a.private=p,_=a.access={has:p?m=>$e(r,m):m=>t in m},n^3&&(_.get=p?m=>(n^1?le:Pe)(m,r,n^4?s:g.get):m=>m[t]),n>2&&(_.set=p?(m,R)=>ce(m,r,R,n^4?s:g.set):(m,R)=>m[t]=R)),l=(0,o[z])(n?n<4?p?s:g[$]:n>4?void 0:{get:g.get,set:g.set}:r,a),h._=1,n^4||l===void 0?L(l)&&(n>4?P.unshift(l):n?p?s=l:g[$]=l:r=l):typeof l!="object"||l===null?Y("Object expected"):(L(c=l.get)&&(g.get=c),L(c=l.set)&&(g.set=c),L(c=l.init)&&P.unshift(c));return n||Le(i,r),g&&W(r,t,g),p?n^4?s:g:r},M=(i,e,t)=>re(i,typeof e!="symbol"?e+"":e,t),B=(i,e,t)=>e.has(i)||Y("Cannot "+t),$e=(i,e)=>Object(e)!==e?Y('Cannot use the "in" operator on this value'):i.has(e),le=(i,e,t)=>(B(i,e,"read from private field"),t?t.call(i):e.get(i)),ce=(i,e,t,o)=>(B(i,e,"write to private field"),o?o.call(i,t):e.set(i,t),t),Pe=(i,e,t)=>(B(i,e,"access private method"),t),de,pe,he,ue,E;ue=[y.customElement({name:"prism-view",template:Ce}),y.inject(HTMLElement)],he=[y.bindable()],pe=[y.bindable()],de=[y.bindable()];class C{constructor(e){this._element=e,M(this,"codeArea"),M(this,"code",S(E,8,this)),S(E,11,this),M(this,"language",S(E,12,this,"javascript")),S(E,15,this),M(this,"lineNumbers",S(E,16,this,!1)),S(E,19,this);const t=document.createElement("style");t.textContent=Se,this._element.appendChild(t)}attached(e){this.codeChanged(this.code,"")}codeChanged(e,t){e!==t&&(this.codeArea.textContent=e,N.highlightElement(this.codeArea))}}E=Ae(),I(E,5,"code",he,C),I(E,5,"language",pe,C),I(E,5,"lineNumbers",de,C),C=I(E,0,"PrismView",ue,C),S(E,1,C),x.PrismEditor=Ke,x.PrismView=C,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})}); //# sourceMappingURL=index.umd.js.map