import { LitElement } from "lit"; import { HomeAssistant } from "../../types"; export function computeRTL(hass: HomeAssistant) { const lang = hass.language || "en"; if (hass.translationMetadata.translations[lang]) { return hass.translationMetadata.translations[lang].isRTL || false; } return false; } export function computeRTLDirection(hass: HomeAssistant) { return emitRTLDirection(computeRTL(hass)); } export function emitRTLDirection(rtl: boolean) { return rtl ? "rtl" : "ltr"; } export function computeDirectionStyles(isRTL: boolean, element: LitElement) { const direction: string = emitRTLDirection(isRTL); setDirectionStyles(direction, element); } export function setDirectionStyles(direction: string, element: LitElement) { element.style.direction = direction; element.style.setProperty("--direction", direction); element.style.setProperty( "--float-start", direction === "ltr" ? "left" : "right" ); element.style.setProperty( "--float-end", direction === "ltr" ? "right" : "left" ); }