diff --git a/src/components/ha-card.js b/src/components/ha-card.js deleted file mode 100644 index 44e58f43e9..0000000000 --- a/src/components/ha-card.js +++ /dev/null @@ -1,42 +0,0 @@ -import "@polymer/paper-styles/element-styles/paper-material-styles"; -import { html } from "@polymer/polymer/lib/utils/html-tag"; -import { PolymerElement } from "@polymer/polymer/polymer-element"; - -class HaCard extends PolymerElement { - static get template() { - return html` - - - - - `; - } - - static get properties() { - return { - header: String, - }; - } -} - -customElements.define("ha-card", HaCard); diff --git a/src/components/ha-card.ts b/src/components/ha-card.ts new file mode 100644 index 0000000000..917ec69f8d --- /dev/null +++ b/src/components/ha-card.ts @@ -0,0 +1,45 @@ +import { + css, + CSSResult, + html, + LitElement, + property, + TemplateResult, +} from "lit-element"; + +class HaCard extends LitElement { + @property() public header?: string; + + static get styles(): CSSResult { + return css` + :host { + background: var( + --ha-card-background, + var(--paper-card-background-color, white) + ); + border-radius: var(--ha-card-border-radius, 2px); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), + 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2); + color: var(--primary-text-color); + display: block; + transition: all 0.3s ease-out; + } + .header:not(:empty) { + font-size: 24px; + letter-spacing: -0.012em; + line-height: 32px; + opacity: 0.87; + padding: 24px 16px 16px; + } + `; + } + + protected render(): TemplateResult { + return html` +
${this.header}
+ + `; + } +} + +customElements.define("ha-card", HaCard);