import { css, html, LitElement } from "lit";
import { property } from "lit/decorators.js";
export class CTLogo extends LitElement {
static override styles = css`
:host {
display: inline-block;
line-height: 0;
}
svg {
display: block;
}
@keyframes bounce {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-15px);
}
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes flip {
0% {
transform: rotateY(0deg);
}
50% {
transform: rotateY(180deg);
}
100% {
transform: rotateY(360deg);
}
}
@keyframes pulse-rotate {
0% {
transform: scale(1) rotate(0deg);
}
50% {
transform: scale(1.1) rotate(180deg);
}
100% {
transform: scale(1) rotate(360deg);
}
}
:host([loading]) .circle {
animation: bounce 0.5s ease-in-out infinite;
transform-origin: center;
}
:host([loading]) .triangle {
animation: spin 0.75s linear infinite;
transform-origin: center;
transform-box: fill-box;
}
:host([loading]) .rectangle {
animation: flip 1s ease-in-out infinite;
transform-origin: center;
transform-box: fill-box;
}
:host([loading]) .star {
animation: pulse-rotate 1s ease-in-out infinite;
transform-origin: center;
transform-box: fill-box;
}
`;
@property()
width = 32;
@property()
height = 32;
@property({ attribute: "background-color" })
backgroundColor = "white";
@property({ attribute: "shape-color" })
shapeColor = "#f9fafb";
@property({ type: Boolean, reflect: true })
loading = false;
override render() {
return html`
`;
}
}
customElements.define("ct-logo", CTLogo);