UNPKG

@aegenet/au2-prism

Version:

DRAFT - Aurelia 2 - Prism View/Editor plugin

58 lines (55 loc) 19.9 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("aurelia"),O=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");const ue="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}",me=`<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 fe=Object.create,H=Object.defineProperty,ge=Object.getOwnPropertyDescriptor,_e=(i,e)=>(e=Symbol[i])?e:Symbol.for("Symbol."+i),P=i=>{throw TypeError(i)},Z=(i,e,t)=>e in i?H(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,F=(i,e)=>H(i,"name",{value:e,configurable:!0}),be=i=>[,,,fe(null)],G=["class","method","getter","setter","accessor","field","value","get","set"],T=i=>i!==void 0&&typeof i!="function"?P("Function expected"):i,ye=(i,e,t,o,s)=>({kind:G[i],name:e,metadata:o,addInitializer:r=>t._?P("Already initialized"):s.push(T(r||null))}),ve=(i,e)=>Z(e,_e("metadata"),i[3]),y=(i,e,t,o)=>{for(var s=0,r=i[e>>1],c=r&&r.length;s<c;s++)e&1?r[s].call(t):o=r[s].call(t,o);return o},x=(i,e,t,o,s,r)=>{var c,l,p,a,_,n=e&7,v=!!(e&8),d=!!(e&16),w=n>3?i.length+1:n?v?1:2:0,R=G[n+5],A=n>3&&(i[w-1]=[]),M=i[w]||(i[w]=[]),g=n&&(!d&&!v&&(s=s.prototype),n<5&&(n>3||!d)&&ge(n<4?s:{get[t](){return U(this,r)},set[t](u){return j(this,r,u)}},t));n?d&&n<4&&F(r,(n>2?"set ":n>1?"get ":"")+t):F(s,t);for(var K=o.length-1;K>=0;K--)a=ye(n,t,p={},i[3],M),n&&(a.static=v,a.private=d,_=a.access={has:d?u=>ke(s,u):u=>t in u},n^3&&(_.get=d?u=>(n^1?U:we)(u,s,n^4?r:g.get):u=>u[t]),n>2&&(_.set=d?(u,S)=>j(u,s,S,n^4?r:g.set):(u,S)=>u[t]=S)),l=(0,o[K])(n?n<4?d?r:g[R]:n>4?void 0:{get:g.get,set:g.set}:s,a),p._=1,n^4||l===void 0?T(l)&&(n>4?A.unshift(l):n?d?r=l:g[R]=l:s=l):typeof l!="object"||l===null?P("Object expected"):(T(c=l.get)&&(g.get=c),T(c=l.set)&&(g.set=c),T(c=l.init)&&A.unshift(c));return n||ve(i,s),g&&H(s,t,g),d?n^4?r:g:s},h=(i,e,t)=>Z(i,typeof e!="symbol"?e+"":e,t),W=(i,e,t)=>e.has(i)||P("Cannot "+t),ke=(i,e)=>Object(e)!==e?P('Cannot use the "in" operator on this value'):i.has(e),U=(i,e,t)=>(W(i,e,"read from private field"),t?t.call(i):e.get(i)),j=(i,e,t,o)=>(W(i,e,"write to private field"),o?o.call(i,t):e.set(i,t),t),we=(i,e,t)=>(W(i,e,"access private method"),t),J,X,ee,te,ie,ne,re,se,oe,m;const Ee=typeof window<"u"&&navigator&&/Win/i.test(navigator.platform),N=typeof window<"u"&&navigator&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);oe=[k.inject(HTMLElement),k.customElement({name:"prism-editor",template:me})],se=[k.bindable()],re=[k.bindable()],ne=[k.bindable()],ie=[k.bindable()],te=[k.bindable()],ee=[k.bindable()],X=[k.bindable()],J=[k.bindable()];let f=class b{constructor(e){this._element=e,h(this,"preRef"),h(this,"textAreaRef"),h(this,"measureRef"),h(this,"_boundedKeydown"),h(this,"observer"),h(this,"lineNumbers",y(m,8,this,!1)),y(m,11,this),h(this,"lineIndexWraps",[]),h(this,"readonly",y(m,12,this,!1)),y(m,15,this),h(this,"code",y(m,16,this,"")),y(m,19,this),h(this,"highlight",y(m,20,this)),y(m,23,this),h(this,"tabSize",y(m,24,this,2)),y(m,27,this),h(this,"insertSpaces",y(m,28,this,!0)),y(m,31,this),h(this,"ignoreTabKey",y(m,32,this,!1)),y(m,35,this),h(this,"placeholder",y(m,36,this,"")),y(m,39,this),h(this,"capture",!0),h(this,"history",{stack:[],offset:-1}),h(this,"lineNumbersHeight","20px");const t=document.createElement("style");t.textContent=ue,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=O.highlight(this.code,O.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 s=0,r=0;this.measureRef.textContent="M";const c=this.measureRef.offsetWidth;t.forEach((l,p)=>{s=c*(l.length||1),r=Math.ceil(s/e.clientWidth);for(let a=0;a<r;a++)o.push({idx:p+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:s}=this.history;if(o.length&&s>-1){this.history.stack=o.slice(0,s+1);const p=this.history.stack.length;if(p>b._HISTORY_LIMIT){const a=p-b._HISTORY_LIMIT;this.history.stack=o.slice(a,p),this.history.offset=Math.max(this.history.offset-a,0)}}const r=Date.now();if(t){const p=this.history.stack[this.history.offset];if(p&&r-p.timestamp<b._HISTORY_TIME_GAP){const a=/[^a-z0-9]([a-z0-9]+)$/i,_=(c=this._getLines(p.value,p.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:r};return}}}this.history.stack.push({...e,timestamp:r}),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:s,selectionEnd:r}=this.textAreaRef;this._recordChange({value:o,selectionStart:s,selectionEnd:r},!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:s}=this;if(e.defaultPrevented)return;e.key===b._KEY_ESCAPE&&(e.target.blur(),this.$emit("blur",e));const{value:r,selectionStart:c,selectionEnd:l}=e.target,p=(o?" ":" ").repeat(t);if(e.key===b._KEY_TAB&&!s&&this.capture)if(e.preventDefault(),e.shiftKey){const a=this._getLines(r,c),_=a.length-1,n=this._getLines(r,l).length-1,v=r.split(` `).map((d,w)=>w>=_&&w<=n&&d.startsWith(p)?d.substring(p.length):d).join(` `);if(r!==v){const d=a[_];this._applyEdits({value:v,selectionStart:d.startsWith(p)?c-p.length:c,selectionEnd:l-(r.length-v.length)})}}else if(c!==l){const a=this._getLines(r,c),_=a.length-1,n=this._getLines(r,l).length-1,v=a[_];this._applyEdits({value:r.split(` `).map((d,w)=>w>=_&&w<=n?p+d:d).join(` `),selectionStart:/\S/.test(v)?c+p.length:c,selectionEnd:l+p.length*(n-_+1)})}else{const a=c+p.length;this._applyEdits({value:r.substring(0,c)+p+r.substring(l),selectionStart:a,selectionEnd:a})}else if(e.key===b._KEY_BACKSPACE){const a=c!==l;if(r.substring(0,c).endsWith(p)&&!a){e.preventDefault();const n=c-p.length;this._applyEdits({value:r.substring(0,c-p.length)+r.substring(l),selectionStart:n,selectionEnd:n})}}else if(e.key===b._KEY_ENTER){if(c===l){const a=this._getLines(r,c).pop(),_=a==null?void 0:a.match(/^\s+/);if(_&&_[0]){e.preventDefault();const n=` `+_[0],v=c+n.length;this._applyEdits({value:r.substring(0,c)+n+r.substring(l),selectionStart:v,selectionEnd:v})}}}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:r.substring(0,c)+a[0]+r.substring(c,l)+a[1]+r.substring(l),selectionStart:c,selectionEnd:l+2}))}else(N?e.metaKey&&e.key===b._KEY_Z:e.ctrlKey&&e.key===b._KEY_Z)&&!e.shiftKey&&!e.altKey?(e.preventDefault(),this.undo()):(N?e.metaKey&&e.key===b._KEY_Z&&e.shiftKey:Ee?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&&(!N||e.shiftKey)&&(e.preventDefault(),this.capture=!this.capture)}$emit(e,t){console.log(e,t)}};m=be();x(m,5,"lineNumbers",se,f);x(m,5,"readonly",re,f);x(m,5,"code",ne,f);x(m,5,"highlight",ie,f);x(m,5,"tabSize",te,f);x(m,5,"insertSpaces",ee,f);x(m,5,"ignoreTabKey",X,f);x(m,5,"placeholder",J,f);f=x(m,0,"PrismEditor",oe,f);h(f,"_KEY_ENTER","Enter");h(f,"_KEY_TAB","Tab");h(f,"_KEY_BACKSPACE","Backspace");h(f,"_KEY_Y","y");h(f,"_KEY_Z","z");h(f,"_KEY_M","m");h(f,"_KEY_PARENS","(");h(f,"_KEY_BRACKETS","{");h(f,"_KEY_QUOTE",'"');h(f,"_KEY_BACK_QUOTE","'");h(f,"_KEY_ESCAPE","Escape");h(f,"_HISTORY_LIMIT",100);h(f,"_HISTORY_TIME_GAP",3e3);y(m,1,f);let xe=f;const Ke="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}",Se=`<div> <pre class="\${lineNumbers ? 'line-numbers' : ''}" data-start="1"><code ref="codeArea" class="language-\${language}"></code></pre> </div> `;var Ce=Object.create,B=Object.defineProperty,ze=Object.getOwnPropertyDescriptor,Re=(i,e)=>(e=Symbol[i])?e:Symbol.for("Symbol."+i),L=i=>{throw TypeError(i)},ae=(i,e,t)=>e in i?B(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,q=(i,e)=>B(i,"name",{value:e,configurable:!0}),Ae=i=>[,,,Ce(null)],le=["class","method","getter","setter","accessor","field","value","get","set"],Y=i=>i!==void 0&&typeof i!="function"?L("Function expected"):i,Te=(i,e,t,o,s)=>({kind:le[i],name:e,metadata:o,addInitializer:r=>t._?L("Already initialized"):s.push(Y(r||null))}),Ye=(i,e)=>ae(e,Re("metadata"),i[3]),C=(i,e,t,o)=>{for(var s=0,r=i[e>>1],c=r&&r.length;s<c;s++)e&1?r[s].call(t):o=r[s].call(t,o);return o},I=(i,e,t,o,s,r)=>{var c,l,p,a,_,n=e&7,v=!!(e&8),d=!!(e&16),w=n>3?i.length+1:n?v?1:2:0,R=le[n+5],A=n>3&&(i[w-1]=[]),M=i[w]||(i[w]=[]),g=n&&(!d&&!v&&(s=s.prototype),n<5&&(n>3||!d)&&ze(n<4?s:{get[t](){return Q(this,r)},set[t](u){return V(this,r,u)}},t));n?d&&n<4&&q(r,(n>2?"set ":n>1?"get ":"")+t):q(s,t);for(var K=o.length-1;K>=0;K--)a=Te(n,t,p={},i[3],M),n&&(a.static=v,a.private=d,_=a.access={has:d?u=>Pe(s,u):u=>t in u},n^3&&(_.get=d?u=>(n^1?Q:Le)(u,s,n^4?r:g.get):u=>u[t]),n>2&&(_.set=d?(u,S)=>V(u,s,S,n^4?r:g.set):(u,S)=>u[t]=S)),l=(0,o[K])(n?n<4?d?r:g[R]:n>4?void 0:{get:g.get,set:g.set}:s,a),p._=1,n^4||l===void 0?Y(l)&&(n>4?A.unshift(l):n?d?r=l:g[R]=l:s=l):typeof l!="object"||l===null?L("Object expected"):(Y(c=l.get)&&(g.get=c),Y(c=l.set)&&(g.set=c),Y(c=l.init)&&A.unshift(c));return n||Ye(i,s),g&&B(s,t,g),d?n^4?r:g:s},$=(i,e,t)=>ae(i,typeof e!="symbol"?e+"":e,t),D=(i,e,t)=>e.has(i)||L("Cannot "+t),Pe=(i,e)=>Object(e)!==e?L('Cannot use the "in" operator on this value'):i.has(e),Q=(i,e,t)=>(D(i,e,"read from private field"),t?t.call(i):e.get(i)),V=(i,e,t,o)=>(D(i,e,"write to private field"),o?o.call(i,t):e.set(i,t),t),Le=(i,e,t)=>(D(i,e,"access private method"),t),ce,de,he,pe,E;pe=[k.customElement({name:"prism-view",template:Se}),k.inject(HTMLElement)],he=[k.bindable()],de=[k.bindable()],ce=[k.bindable()];class z{constructor(e){this._element=e,$(this,"codeArea"),$(this,"code",C(E,8,this)),C(E,11,this),$(this,"language",C(E,12,this,"javascript")),C(E,15,this),$(this,"lineNumbers",C(E,16,this,!1)),C(E,19,this);const t=document.createElement("style");t.textContent=Ke,this._element.appendChild(t)}attached(e){this.codeChanged(this.code,"")}codeChanged(e,t){e!==t&&(this.codeArea.textContent=e,O.highlightElement(this.codeArea))}}E=Ae();I(E,5,"code",he,z);I(E,5,"language",de,z);I(E,5,"lineNumbers",ce,z);z=I(E,0,"PrismView",pe,z);C(E,1,z);exports.PrismEditor=xe;exports.PrismView=z; //# sourceMappingURL=index.cjs.map