import "@polymer/iron-flex-layout/iron-flex-layout-classes";
import { html } from "@polymer/polymer/lib/utils/html-tag";
import { PolymerElement } from "@polymer/polymer/polymer-element";
import "../components/entity/state-info";
import LocalizeMixin from "../mixins/localize-mixin";
import { attributeClassNames } from "../common/entity/attribute_class_names";
import { computeStateDisplay } from "../common/entity/compute_state_display";
import { computeRTL } from "../common/util/compute_rtl";
/*
* @appliesMixin LocalizeMixin
*/
class StateCardDisplay extends LocalizeMixin(PolymerElement) {
static get template() {
return html`
${this.stateInfoTemplate}
[[computeStateDisplay(localize, stateObj, language)]]
`;
}
static get stateInfoTemplate() {
return html`
`;
}
static get properties() {
return {
hass: Object,
stateObj: Object,
inDialog: {
type: Boolean,
value: false,
},
rtl: {
type: Boolean,
reflectToAttribute: true,
computed: "_computeRTL(hass)",
},
};
}
computeStateDisplay(localize, stateObj, language) {
return computeStateDisplay(localize, stateObj, language);
}
computeClassNames(stateObj) {
const classes = [
"state",
attributeClassNames(stateObj, ["unit_of_measurement"]),
];
return classes.join(" ");
}
_computeRTL(hass) {
return computeRTL(hass);
}
}
customElements.define("state-card-display", StateCardDisplay);