Files
calendar/packages/embeds/embed-core/src/Inline/inline.ts
T

24 lines
700 B
TypeScript

import { CalWindow } from "@calcom/embed-snippet";
import loaderCss from "../loader.css";
import inlineHtml from "./inlineHtml";
export class Inline extends HTMLElement {
//@ts-ignore
static get observedAttributes() {
return ["loading"];
}
attributeChangedCallback(name: string, oldValue: string, newValue: string) {
if (name === "loading" && newValue == "done") {
(this.shadowRoot!.querySelector("#loader")! as HTMLElement).style.display = "none";
}
}
constructor() {
super();
this.attachShadow({ mode: "open" });
this.shadowRoot!.innerHTML = `<style>${
(window as CalWindow).Cal!.__css
}</style><style>${loaderCss}</style>${inlineHtml}`;
}
}