import {LitElement, html, css} from "/card-tools/lit-element.js";
import { Controller } from "./controller.js";
import { LightController } from "./light-controller.js";
import { MediaPlayerController } from "./media-player-controller.js";
import { ClimateController } from "./climate-controller.js";
import { CoverController } from "./cover-controller.js";
import { FanController } from "./fan-controller.js";
import { InputNumberController } from "./input-number-controller.js";
import { InputSelectController } from "./input-select-controller.js";
const controllers = {
light: LightController,
media_player: MediaPlayerController,
climate: ClimateController,
cover: CoverController,
fan: FanController,
input_number: InputNumberController,
input_select: InputSelectController,
};
class SliderEntityRow extends LitElement {
static get properties() {
return {
hass: {},
};
}
setConfig(config) {
this._config = config;
const domain = config.entity.split('.')[0];
const ctrlClass = controllers[domain];
if(!ctrlClass)
throw new Error(`Unsupported entity type: ${domain}`);
this.ctrl = new ctrlClass(config);
}
render() {
const c = this.ctrl;
c.hass = this.hass;
const slider = html`