18 lines
537 B
TypeScript
18 lines
537 B
TypeScript
class AppLinkElement extends HTMLElement {
|
|
static observedAttributes = ["icon", "href", "target"];
|
|
|
|
constructor() {
|
|
super();
|
|
this.innerHTML = `
|
|
<a href="${this.getAttribute("href")}" target="${this.getAttribute("target") || ""}"
|
|
class="d-flex align-items-center text-body text-decoration-none">
|
|
<span class="fs-4">
|
|
<span class="bi bi-${this.getAttribute("icon")} me-1"></span>
|
|
<span>${this.textContent}</span>
|
|
</span>
|
|
</a>`;
|
|
}
|
|
}
|
|
|
|
customElements.define("app-link", AppLinkElement);
|