@hakit/components
Version:
A series of components to work with @hakit/core
87 lines (86 loc) • 2.19 kB
JavaScript
import { supportsFeatureFromAttributes as o, localize as c } from "@hakit/core";
import { AlarmControlPanelEntityFeature as a } from "./types.js";
const s = {
armed_home: {
feature: a.ARM_HOME,
service: "alarm_arm_home",
icon: "mdi:home"
},
armed_away: {
feature: a.ARM_AWAY,
service: "alarm_arm_away",
icon: "mdi:lock"
},
armed_night: {
feature: a.ARM_NIGHT,
service: "alarm_arm_night",
icon: "mdi:moon-waning-crescent"
},
armed_vacation: {
feature: a.ARM_VACATION,
service: "alarm_arm_vacation",
icon: "mdi:airplane"
},
armed_custom_bypass: {
feature: a.ARM_CUSTOM_BYPASS,
service: "alarm_arm_custom_bypass",
icon: "mdi:shield"
},
disarmed: {
service: "alarm_disarm",
icon: "mdi:shield-off"
},
triggered: {
feature: a.TRIGGER,
service: "",
icon: "mdi:alert"
},
pending: {
feature: a.TRIGGER,
service: "",
icon: "mdi:clock"
},
arming: {
feature: a.TRIGGER,
service: "",
icon: "mdi:clock"
}
}, _ = (r, e) => {
const m = e?.(r);
if (m) return m;
switch (r) {
case "disarmed":
return "var(--ha-error-color)";
case "armed_away":
return "var(--ha-success-color)";
case "armed_home":
return "var(--ha-success-color)";
case "armed_custom_bypass":
return "var(--ha-success-color)";
case "armed_night":
return "var(--ha-success-color)";
case "armed_vacation":
return "var(--ha-success-color)";
default:
return "var(--ha-warning-color)";
}
}, d = ["arm_home", "arm_away"], i = {
arm_home: "armed_home",
arm_away: "armed_away",
arm_night: "armed_night",
arm_vacation: "armed_vacation",
arm_custom_bypass: "armed_custom_bypass",
disarm: "disarmed",
triggered: "triggered",
pending: "pending",
arming: "arming"
}, u = (r, e) => e?.[r] ?? c(r === "arm_custom_bypass" ? "custom_bypass" : r), l = (r, e) => e.filter((m) => r && o(r.attributes, s[i[m]].feature || 0));
export {
s as ALARM_MODES,
i as ALARM_MODE_STATE_MAP,
d as DEFAULT_STATES,
_ as _getActionColor,
u as _getActionLabel,
l as filterSupportedAlarmStates
};
//# sourceMappingURL=shared.js.map