diff --git a/src/dialogs/more-info/controls/more-info-default.js b/src/dialogs/more-info/controls/more-info-default.js
deleted file mode 100644
index ee1c44a59d..0000000000
--- a/src/dialogs/more-info/controls/more-info-default.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import { html } from "@polymer/polymer/lib/utils/html-tag";
-import { PolymerElement } from "@polymer/polymer/polymer-element";
-
-import "../../../components/ha-attributes";
-
-class MoreInfoDefault extends PolymerElement {
- static get template() {
- return html`
-
- `;
- }
-
- static get properties() {
- return {
- stateObj: {
- type: Object,
- },
- };
- }
-}
-
-customElements.define("more-info-default", MoreInfoDefault);
diff --git a/src/dialogs/more-info/controls/more-info-default.ts b/src/dialogs/more-info/controls/more-info-default.ts
new file mode 100644
index 0000000000..946ed20009
--- /dev/null
+++ b/src/dialogs/more-info/controls/more-info-default.ts
@@ -0,0 +1,34 @@
+import {
+ LitElement,
+ html,
+ TemplateResult,
+ property,
+ customElement,
+} from "lit-element";
+import { HassEntity } from "home-assistant-js-websocket";
+
+import { HomeAssistant } from "../../../types";
+
+import "../../../components/ha-attributes";
+
+@customElement("more-info-default")
+class MoreInfoDefault extends LitElement {
+ @property() public hass!: HomeAssistant;
+ @property() public stateObj?: HassEntity;
+
+ protected render(): TemplateResult | void {
+ if (!this.hass || !this.stateObj) {
+ return html``;
+ }
+
+ return html`
+
+ `;
+ }
+}
+
+declare global {
+ interface HTMLElementTagNameMap {
+ "more-info-default": MoreInfoDefault;
+ }
+}