// retoor <retoor@molodetz.nl>
import { Component } from "./Component.js";
import { CodeBlock } from "../CodeBlock.js";
export class AppCode extends Component {
connectedCallback() {
if (this._enhanced) {
return;
}
this._enhanced = true;
let pre = this.querySelector("pre");
if (!pre) {
const source = this.textContent.replace(/^\n+|\s+$/g, "");
this.textContent = "";
pre = document.createElement("pre");
const code = document.createElement("code");
code.textContent = source;
pre.appendChild(code);
this.appendChild(pre);
}
const code = pre.querySelector("code");
const language = this.attr("language");
if (code && language) {
code.className = `language-${language}`;
}
CodeBlock.enhance(pre, { lineNumbers: this.boolAttr("line-numbers") });
}
}
customElements.define("dp-code", AppCode);