Initial Home Assistant commit

This commit is contained in:
francop committed 2026-06-05 22:34:31 -04:00
commit 6a58b10e6c
4494 files changed
+297833

No files matched your search

+229
View File
@@ -0,0 +1,229 @@
"""HACS gives you a powerful UI to handle downloads of all your custom needs.
For more details about this integration, please refer to the documentation at
https://hacs.xyz/
"""
from __future__ import annotations
from aiogithubapi import AIOGitHubAPIException, GitHub, GitHubAPI
from aiogithubapi.const import ACCEPT_HEADERS
from awesomeversion import AwesomeVersion
from homeassistant.components.frontend import async_remove_panel
from homeassistant.components.lovelace.system_health import system_health_info
from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry
from homeassistant.const import Platform, __version__ as HAVERSION
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.entity_registry import async_get as async_get_entity_registry
from homeassistant.helpers.event import async_call_later
from homeassistant.helpers.start import async_at_start
from homeassistant.loader import async_get_integration
from .base import HacsBase
from .const import DOMAIN, HACS_SYSTEM_ID, MINIMUM_HA_VERSION, STARTUP
from .data_client import HacsDataClient
from .enums import HacsDisabledReason, HacsStage, LovelaceMode
from .frontend import async_register_frontend
from .utils.data import HacsData
from .utils.queue_manager import QueueManager
from .utils.version import version_left_higher_or_equal_then_right
from .websocket import async_register_websocket_commands
PLATFORMS = [Platform.SWITCH, Platform.UPDATE]
async def _async_initialize_integration(
hass: HomeAssistant,
config_entry: ConfigEntry,
) -> bool:
"""Initialize the integration"""
hass.data[DOMAIN] = hacs = HacsBase()
hacs.enable_hacs()
if config_entry.source == SOURCE_IMPORT:
# Import is not supported
hass.async_create_task(hass.config_entries.async_remove(config_entry.entry_id))
return False
hacs.configuration.update_from_dict(
{
"config_entry": config_entry,
**config_entry.data,
**config_entry.options,
},
)
integration = await async_get_integration(hass, DOMAIN)
hacs.set_stage(None)
hacs.log.info(STARTUP, integration.version)
clientsession = async_get_clientsession(hass)
hacs.integration = integration
hacs.version = integration.version
hacs.configuration.dev = integration.version == "0.0.0"
hacs.hass = hass
hacs.queue = QueueManager(hass=hass)
hacs.data = HacsData(hacs=hacs)
hacs.data_client = HacsDataClient(
session=clientsession,
client_name=f"HACS/{integration.version}",
)
hacs.system.running = True
hacs.session = clientsession
hacs.core.lovelace_mode = LovelaceMode.YAML
try:
lovelace_info = await system_health_info(hacs.hass)
hacs.core.lovelace_mode = LovelaceMode(lovelace_info.get("mode", "yaml"))
except BaseException: # lgtm [py/catch-base-exception] pylint: disable=broad-except
# If this happens, the users YAML is not valid, we assume YAML mode
pass
hacs.core.config_path = hacs.hass.config.path()
if hacs.core.ha_version is None:
hacs.core.ha_version = AwesomeVersion(HAVERSION)
## Legacy GitHub client
hacs.github = GitHub(
hacs.configuration.token,
clientsession,
headers={
"User-Agent": f"HACS/{hacs.version}",
"Accept": ACCEPT_HEADERS["preview"],
},
)
## New GitHub client
hacs.githubapi = GitHubAPI(
token=hacs.configuration.token,
session=clientsession,
**{"client_name": f"HACS/{hacs.version}"},
)
async def async_startup():
"""HACS startup tasks."""
hacs.enable_hacs()
try:
import custom_components.custom_updater
except ImportError:
pass
else:
hacs.log.critical(
"HACS cannot be used with custom_updater. "
"To use HACS you need to remove custom_updater from `custom_components`",
)
hacs.disable_hacs(HacsDisabledReason.CONSTRAINS)
return False
if not version_left_higher_or_equal_then_right(
hacs.core.ha_version.string,
MINIMUM_HA_VERSION,
):
hacs.log.critical(
"You need HA version %s or newer to use this integration.",
MINIMUM_HA_VERSION,
)
hacs.disable_hacs(HacsDisabledReason.CONSTRAINS)
return False
if not await hacs.data.restore():
hacs.disable_hacs(HacsDisabledReason.RESTORE)
return False
hacs.set_active_categories()
async_register_websocket_commands(hass)
await async_register_frontend(hass, hacs)
await hass.config_entries.async_forward_entry_setups(config_entry, PLATFORMS)
hacs.set_stage(HacsStage.SETUP)
if hacs.system.disabled:
return False
hacs.set_stage(HacsStage.WAITING)
hacs.log.info("Setup complete, waiting for Home Assistant before startup tasks starts")
# Schedule startup tasks
async_at_start(hass=hass, at_start_cb=hacs.startup_tasks)
return not hacs.system.disabled
async def async_try_startup(_=None):
"""Startup wrapper for yaml config."""
try:
startup_result = await async_startup()
except AIOGitHubAPIException:
startup_result = False
if not startup_result:
if hacs.system.disabled_reason != HacsDisabledReason.INVALID_TOKEN:
hacs.log.info("Could not setup HACS, trying again in 15 min")
async_call_later(hass, 900, async_try_startup)
return
hacs.enable_hacs()
await async_try_startup()
# Remove old (v0-v1) sensor if it exists, can be removed in v3
er = async_get_entity_registry(hass)
if old_sensor := er.async_get_entity_id("sensor", DOMAIN, HACS_SYSTEM_ID):
er.async_remove(old_sensor)
# Mischief managed!
return True
async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool:
"""Set up this integration using UI."""
config_entry.async_on_unload(config_entry.add_update_listener(async_reload_entry))
setup_result = await _async_initialize_integration(hass=hass, config_entry=config_entry)
hacs: HacsBase = hass.data[DOMAIN]
return setup_result and not hacs.system.disabled
async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool:
"""Handle removal of an entry."""
hacs: HacsBase = hass.data[DOMAIN]
if hacs.queue.has_pending_tasks:
hacs.log.warning("Pending tasks, can not unload, try again later.")
return False
# Clear out pending queue
hacs.queue.clear()
for task in hacs.recurring_tasks:
# Cancel all pending tasks
task()
# Store data
await hacs.data.async_write(force=True)
try:
if hass.data.get("frontend_panels", {}).get("hacs"):
hacs.log.info("Removing sidepanel")
async_remove_panel(hass, "hacs")
except AttributeError:
pass
unload_ok = await hass.config_entries.async_unload_platforms(config_entry, PLATFORMS)
hacs.set_stage(None)
hacs.disable_hacs(HacsDisabledReason.REMOVED)
hass.data.pop(DOMAIN, None)
return unload_ok
async def async_reload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> None:
"""Reload the HACS config entry."""
if not await async_unload_entry(hass, config_entry):
return
await async_setup_entry(hass, config_entry)
File diff suppressed because it is too large. Load diff
+225
View File
@@ -0,0 +1,225 @@
"""Adds config flow for HACS."""
from __future__ import annotations
import asyncio
from contextlib import suppress
from typing import TYPE_CHECKING
from aiogithubapi import (
GitHubDeviceAPI,
GitHubException,
GitHubLoginDeviceModel,
GitHubLoginOauthModel,
)
from aiogithubapi.common.const import OAUTH_USER_LOGIN
from awesomeversion import AwesomeVersion
from homeassistant.config_entries import ConfigFlow, OptionsFlow
from homeassistant.const import __version__ as HAVERSION
from homeassistant.core import callback
from homeassistant.data_entry_flow import UnknownFlow
from homeassistant.helpers import aiohttp_client
from homeassistant.loader import async_get_integration
import voluptuous as vol
from .base import HacsBase
from .const import CLIENT_ID, DOMAIN, LOCALE, MINIMUM_HA_VERSION
from .utils.configuration_schema import (
APPDAEMON,
COUNTRY,
SIDEPANEL_ICON,
SIDEPANEL_TITLE,
)
from .utils.logger import LOGGER
if TYPE_CHECKING:
from homeassistant.core import HomeAssistant
class HacsFlowHandler(ConfigFlow, domain=DOMAIN):
"""Config flow for HACS."""
VERSION = 1
hass: HomeAssistant
activation_task: asyncio.Task | None = None
device: GitHubDeviceAPI | None = None
_registration: GitHubLoginDeviceModel | None = None
_activation: GitHubLoginOauthModel | None = None
_reauth: bool = False
def __init__(self) -> None:
"""Initialize."""
self._errors = {}
self._user_input = {}
async def async_step_user(self, user_input):
"""Handle a flow initialized by the user."""
self._errors = {}
if self._async_current_entries():
return self.async_abort(reason="single_instance_allowed")
if self.hass.data.get(DOMAIN):
return self.async_abort(reason="single_instance_allowed")
if user_input:
if [x for x in user_input if x.startswith("acc_") and not user_input[x]]:
self._errors["base"] = "acc"
return await self._show_config_form(user_input)
self._user_input = user_input
return await self.async_step_device(user_input)
# Initial form
return await self._show_config_form(user_input)
async def async_step_device(self, _user_input):
"""Handle device steps."""
async def _wait_for_activation() -> None:
try:
response = await self.device.activation(device_code=self._registration.device_code)
self._activation = response.data
finally:
async def _progress():
with suppress(UnknownFlow):
await self.hass.config_entries.flow.async_configure(flow_id=self.flow_id)
if not self.device:
integration = await async_get_integration(self.hass, DOMAIN)
self.device = GitHubDeviceAPI(
client_id=CLIENT_ID,
session=aiohttp_client.async_get_clientsession(self.hass),
**{"client_name": f"HACS/{integration.version}"},
)
try:
response = await self.device.register()
self._registration = response.data
except GitHubException as exception:
LOGGER.exception(exception)
return self.async_abort(reason="could_not_register")
if self.activation_task is None:
self.activation_task = self.hass.async_create_task(_wait_for_activation())
if self.activation_task.done():
if (exception := self.activation_task.exception()) is not None:
LOGGER.exception(exception)
return self.async_show_progress_done(next_step_id="could_not_register")
return self.async_show_progress_done(next_step_id="device_done")
show_progress_kwargs = {
"step_id": "device",
"progress_action": "wait_for_device",
"description_placeholders": {
"url": OAUTH_USER_LOGIN,
"code": self._registration.user_code,
},
"progress_task": self.activation_task,
}
return self.async_show_progress(**show_progress_kwargs)
async def _show_config_form(self, user_input):
"""Show the configuration form to edit location data."""
if not user_input:
user_input = {}
if AwesomeVersion(HAVERSION) < MINIMUM_HA_VERSION:
return self.async_abort(
reason="min_ha_version",
description_placeholders={"version": MINIMUM_HA_VERSION},
)
return self.async_show_form(
step_id="user",
data_schema=vol.Schema(
{
vol.Required("acc_logs", default=user_input.get("acc_logs", False)): bool,
vol.Required("acc_addons", default=user_input.get("acc_addons", False)): bool,
vol.Required(
"acc_untested", default=user_input.get("acc_untested", False)
): bool,
vol.Required("acc_disable", default=user_input.get("acc_disable", False)): bool,
}
),
errors=self._errors,
)
async def async_step_device_done(self, user_input: dict[str, bool] | None = None):
"""Handle device steps"""
if self._reauth:
existing_entry = self.hass.config_entries.async_get_entry(self.context["entry_id"])
self.hass.config_entries.async_update_entry(
existing_entry, data={**existing_entry.data, "token": self._activation.access_token}
)
await self.hass.config_entries.async_reload(existing_entry.entry_id)
return self.async_abort(reason="reauth_successful")
return self.async_create_entry(
title="",
data={
"token": self._activation.access_token,
},
options={
"experimental": True,
},
)
async def async_step_could_not_register(self, _user_input=None):
"""Handle issues that need transition await from progress step."""
return self.async_abort(reason="could_not_register")
async def async_step_reauth(self, _user_input=None):
"""Perform reauth upon an API authentication error."""
return await self.async_step_reauth_confirm()
async def async_step_reauth_confirm(self, user_input=None):
"""Dialog that informs the user that reauth is required."""
if user_input is None:
return self.async_show_form(
step_id="reauth_confirm",
data_schema=vol.Schema({}),
)
self._reauth = True
return await self.async_step_device(None)
@staticmethod
@callback
def async_get_options_flow(config_entry):
return HacsOptionsFlowHandler(config_entry)
class HacsOptionsFlowHandler(OptionsFlow):
"""HACS config flow options handler."""
def __init__(self, config_entry):
"""Initialize HACS options flow."""
if AwesomeVersion(HAVERSION) < "2024.11.99":
self.config_entry = config_entry
async def async_step_init(self, _user_input=None):
"""Manage the options."""
return await self.async_step_user()
async def async_step_user(self, user_input=None):
"""Handle a flow initialized by the user."""
hacs: HacsBase = self.hass.data.get(DOMAIN)
if user_input is not None:
return self.async_create_entry(title="", data={**user_input, "experimental": True})
if hacs is None or hacs.configuration is None:
return self.async_abort(reason="not_setup")
if hacs.queue.has_pending_tasks:
return self.async_abort(reason="pending_tasks")
schema = {
vol.Optional(SIDEPANEL_TITLE, default=hacs.configuration.sidepanel_title): str,
vol.Optional(SIDEPANEL_ICON, default=hacs.configuration.sidepanel_icon): str,
vol.Optional(COUNTRY, default=hacs.configuration.country): vol.In(LOCALE),
vol.Optional(APPDAEMON, default=hacs.configuration.appdaemon): bool,
}
return self.async_show_form(step_id="user", data_schema=vol.Schema(schema))
+294
View File
@@ -0,0 +1,294 @@
"""Constants for HACS"""
from typing import TypeVar
from aiogithubapi.common.const import ACCEPT_HEADERS
NAME_SHORT = "HACS"
DOMAIN = "hacs"
CLIENT_ID = "395a8e669c5de9f7c6e8"
MINIMUM_HA_VERSION = "2024.4.1"
URL_BASE = "/hacsfiles"
TV = TypeVar("TV")
PACKAGE_NAME = "custom_components.hacs"
DEFAULT_CONCURRENT_TASKS = 15
DEFAULT_CONCURRENT_BACKOFF_TIME = 1
HACS_REPOSITORY_ID = "172733314"
HACS_ACTION_GITHUB_API_HEADERS = {
"User-Agent": "HACS/action",
"Accept": ACCEPT_HEADERS["preview"],
}
VERSION_STORAGE = "6"
STORENAME = "hacs"
HACS_SYSTEM_ID = "0717a0cd-745c-48fd-9b16-c8534c9704f9-bc944b0f-fd42-4a58-a072-ade38d1444cd"
STARTUP = """
-------------------------------------------------------------------
HACS (Home Assistant Community Store)
Version: %s
This is a custom integration
If you have any issues with this you need to open an issue here:
https://github.com/hacs/integration/issues
-------------------------------------------------------------------
"""
LOCALE = [
"ALL",
"AF",
"AL",
"DZ",
"AS",
"AD",
"AO",
"AI",
"AQ",
"AG",
"AR",
"AM",
"AW",
"AU",
"AT",
"AZ",
"BS",
"BH",
"BD",
"BB",
"BY",
"BE",
"BZ",
"BJ",
"BM",
"BT",
"BO",
"BQ",
"BA",
"BW",
"BV",
"BR",
"IO",
"BN",
"BG",
"BF",
"BI",
"KH",
"CM",
"CA",
"CV",
"KY",
"CF",
"TD",
"CL",
"CN",
"CX",
"CC",
"CO",
"KM",
"CG",
"CD",
"CK",
"CR",
"HR",
"CU",
"CW",
"CY",
"CZ",
"CI",
"DK",
"DJ",
"DM",
"DO",
"EC",
"EG",
"SV",
"GQ",
"ER",
"EE",
"ET",
"FK",
"FO",
"FJ",
"FI",
"FR",
"GF",
"PF",
"TF",
"GA",
"GM",
"GE",
"DE",
"GH",
"GI",
"GR",
"GL",
"GD",
"GP",
"GU",
"GT",
"GG",
"GN",
"GW",
"GY",
"HT",
"HM",
"VA",
"HN",
"HK",
"HU",
"IS",
"IN",
"ID",
"IR",
"IQ",
"IE",
"IM",
"IL",
"IT",
"JM",
"JP",
"JE",
"JO",
"KZ",
"KE",
"KI",
"KP",
"KR",
"KW",
"KG",
"LA",
"LV",
"LB",
"LS",
"LR",
"LY",
"LI",
"LT",
"LU",
"MO",
"MK",
"MG",
"MW",
"MY",
"MV",
"ML",
"MT",
"MH",
"MQ",
"MR",
"MU",
"YT",
"MX",
"FM",
"MD",
"MC",
"MN",
"ME",
"MS",
"MA",
"MZ",
"MM",
"NA",
"NR",
"NP",
"NL",
"NC",
"NZ",
"NI",
"NE",
"NG",
"NU",
"NF",
"MP",
"NO",
"OM",
"PK",
"PW",
"PS",
"PA",
"PG",
"PY",
"PE",
"PH",
"PN",
"PL",
"PT",
"PR",
"QA",
"RO",
"RU",
"RW",
"RE",
"BL",
"SH",
"KN",
"LC",
"MF",
"PM",
"VC",
"WS",
"SM",
"ST",
"SA",
"SN",
"RS",
"SC",
"SL",
"SG",
"SX",
"SK",
"SI",
"SB",
"SO",
"ZA",
"GS",
"SS",
"ES",
"LK",
"SD",
"SR",
"SJ",
"SZ",
"SE",
"CH",
"SY",
"TW",
"TJ",
"TZ",
"TH",
"TL",
"TG",
"TK",
"TO",
"TT",
"TN",
"TR",
"TM",
"TC",
"TV",
"UG",
"UA",
"AE",
"GB",
"US",
"UM",
"UY",
"UZ",
"VU",
"VE",
"VN",
"VG",
"VI",
"WF",
"EH",
"YE",
"ZM",
"ZW",
]
+38
View File
@@ -0,0 +1,38 @@
"""Coordinator to trigger entity updates."""
from __future__ import annotations
from collections.abc import Callable
from typing import Any
from homeassistant.core import CALLBACK_TYPE, callback
from homeassistant.helpers.update_coordinator import BaseDataUpdateCoordinatorProtocol
class HacsUpdateCoordinator(BaseDataUpdateCoordinatorProtocol):
"""Dispatch updates to update entities."""
def __init__(self) -> None:
"""Initialize."""
self._listeners: dict[CALLBACK_TYPE, tuple[CALLBACK_TYPE, object | None]] = {}
@callback
def async_add_listener(
self, update_callback: CALLBACK_TYPE, context: Any = None
) -> Callable[[], None]:
"""Listen for data updates."""
@callback
def remove_listener() -> None:
"""Remove update listener."""
self._listeners.pop(remove_listener)
self._listeners[remove_listener] = (update_callback, context)
return remove_listener
@callback
def async_update_listeners(self) -> None:
"""Update all registered listeners."""
for update_callback, _ in list(self._listeners.values()):
update_callback()
+98
View File
@@ -0,0 +1,98 @@
"""HACS Data client."""
from __future__ import annotations
import asyncio
from typing import Any
from aiohttp import ClientSession, ClientTimeout
import voluptuous as vol
from .exceptions import HacsException, HacsNotModifiedException
from .utils.logger import LOGGER
from .utils.validate import (
VALIDATE_FETCHED_V2_CRITICAL_REPO_SCHEMA,
VALIDATE_FETCHED_V2_REMOVED_REPO_SCHEMA,
VALIDATE_FETCHED_V2_REPO_DATA,
)
CRITICAL_REMOVED_VALIDATORS = {
"critical": VALIDATE_FETCHED_V2_CRITICAL_REPO_SCHEMA,
"removed": VALIDATE_FETCHED_V2_REMOVED_REPO_SCHEMA,
}
class HacsDataClient:
"""HACS Data client."""
def __init__(self, session: ClientSession, client_name: str) -> None:
"""Initialize."""
self._client_name = client_name
self._etags = {}
self._session = session
async def _do_request(
self,
filename: str,
section: str | None = None,
) -> dict[str, dict[str, Any]] | list[str]:
"""Do request."""
endpoint = "/".join([v for v in [section, filename] if v is not None])
try:
response = await self._session.get(
f"https://data-v2.hacs.xyz/{endpoint}",
timeout=ClientTimeout(total=60),
headers={
"User-Agent": self._client_name,
"If-None-Match": self._etags.get(endpoint, ""),
},
)
if response.status == 304:
raise HacsNotModifiedException() from None
response.raise_for_status()
except HacsNotModifiedException:
raise
except TimeoutError:
raise HacsException("Timeout of 60s reached") from None
except Exception as exception:
raise HacsException(f"Error fetching data from HACS: {exception}") from exception
self._etags[endpoint] = response.headers.get("etag")
return await response.json()
async def get_data(self, section: str | None, *, validate: bool) -> dict[str, dict[str, Any]]:
"""Get data."""
data = await self._do_request(filename="data.json", section=section)
if not validate:
return data
if section in VALIDATE_FETCHED_V2_REPO_DATA:
validated = {}
for key, repo_data in data.items():
try:
validated[key] = VALIDATE_FETCHED_V2_REPO_DATA[section](repo_data)
except vol.Invalid as exception:
LOGGER.info(
"Got invalid data for %s (%s)", repo_data.get("full_name", key), exception
)
continue
return validated
if not (validator := CRITICAL_REMOVED_VALIDATORS.get(section)):
raise ValueError(f"Do not know how to validate {section}")
validated = []
for repo_data in data:
try:
validated.append(validator(repo_data))
except vol.Invalid as exception:
LOGGER.info("Got invalid data for %s (%s)", section, exception)
continue
return validated
async def get_repositories(self, section: str) -> list[str]:
"""Get repositories."""
return await self._do_request(filename="repositories.json", section=section)
+80
View File
@@ -0,0 +1,80 @@
"""Diagnostics support for HACS."""
from __future__ import annotations
from typing import Any
from aiogithubapi import GitHubException
from homeassistant.components.diagnostics import async_redact_data
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from .base import HacsBase
from .const import DOMAIN
async def async_get_config_entry_diagnostics(
hass: HomeAssistant,
entry: ConfigEntry,
) -> dict[str, Any]:
"""Return diagnostics for a config entry."""
hacs: HacsBase = hass.data[DOMAIN]
data = {
"entry": entry.as_dict(),
"hacs": {
"stage": hacs.stage,
"version": hacs.version,
"disabled_reason": hacs.system.disabled_reason,
"new": hacs.status.new,
"startup": hacs.status.startup,
"categories": hacs.common.categories,
"renamed_repositories": hacs.common.renamed_repositories,
"archived_repositories": hacs.common.archived_repositories,
"ignored_repositories": hacs.common.ignored_repositories,
"lovelace_mode": hacs.core.lovelace_mode,
"configuration": {},
},
"custom_repositories": [
repo.data.full_name
for repo in hacs.repositories.list_all
if not hacs.repositories.is_default(str(repo.data.id))
],
"repositories": [],
}
for key in (
"appdaemon",
"country",
"debug",
"dev",
"python_script",
"release_limit",
"theme",
):
data["hacs"]["configuration"][key] = getattr(hacs.configuration, key, None)
for repository in hacs.repositories.list_downloaded:
data["repositories"].append(
{
"data": repository.data.to_json(),
"integration_manifest": repository.integration_manifest,
"repository_manifest": repository.repository_manifest.to_dict(),
"ref": repository.ref,
"paths": {
"localpath": repository.localpath.replace(hacs.core.config_path, "/config"),
"local": repository.content.path.local.replace(
hacs.core.config_path, "/config"
),
"remote": repository.content.path.remote,
},
}
)
try:
rate_limit_response = await hacs.githubapi.rate_limit()
data["rate_limit"] = rate_limit_response.data.as_dict
except GitHubException as exception:
data["rate_limit"] = str(exception)
return async_redact_data(data, ("token",))
+143
View File
@@ -0,0 +1,143 @@
"""HACS Base entities."""
from __future__ import annotations
from typing import TYPE_CHECKING, Any
from homeassistant.core import callback
from homeassistant.helpers.device_registry import DeviceEntryType
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.entity import Entity
from homeassistant.helpers.update_coordinator import BaseCoordinatorEntity
from .const import DOMAIN, HACS_SYSTEM_ID, NAME_SHORT
from .coordinator import HacsUpdateCoordinator
from .enums import HacsDispatchEvent, HacsGitHubRepo
if TYPE_CHECKING:
from .base import HacsBase
from .repositories.base import HacsRepository
def system_info(hacs: HacsBase) -> dict:
"""Return system info."""
return {
"identifiers": {(DOMAIN, HACS_SYSTEM_ID)},
"name": NAME_SHORT,
"manufacturer": "hacs.xyz",
"model": "",
"sw_version": str(hacs.version),
"configuration_url": "homeassistant://hacs",
"entry_type": DeviceEntryType.SERVICE,
}
class HacsBaseEntity(Entity):
"""Base HACS entity."""
repository: HacsRepository | None = None
_attr_should_poll = False
def __init__(self, hacs: HacsBase) -> None:
"""Initialize."""
self.hacs = hacs
class HacsDispatcherEntity(HacsBaseEntity):
"""Base HACS entity listening to dispatcher signals."""
async def async_added_to_hass(self) -> None:
"""Register for status events."""
self.async_on_remove(
async_dispatcher_connect(
self.hass,
HacsDispatchEvent.REPOSITORY,
self._update_and_write_state,
)
)
@callback
def _update(self) -> None:
"""Update the sensor."""
async def async_update(self) -> None:
"""Manual updates of the sensor."""
self._update()
@callback
def _update_and_write_state(self, _: Any) -> None:
"""Update the entity and write state."""
self._update()
self.async_write_ha_state()
class HacsSystemEntity(HacsDispatcherEntity):
"""Base system entity."""
_attr_icon = "hacs:hacs"
_attr_unique_id = HACS_SYSTEM_ID
@property
def device_info(self) -> dict[str, any]:
"""Return device information about HACS."""
return system_info(self.hacs)
class HacsRepositoryEntity(BaseCoordinatorEntity[HacsUpdateCoordinator], HacsBaseEntity):
"""Base repository entity."""
def __init__(
self,
hacs: HacsBase,
repository: HacsRepository,
) -> None:
"""Initialize."""
BaseCoordinatorEntity.__init__(self, hacs.coordinators[repository.data.category])
HacsBaseEntity.__init__(self, hacs=hacs)
self.repository = repository
self._attr_unique_id = str(repository.data.id)
self._repo_last_fetched = repository.data.last_fetched
@property
def available(self) -> bool:
"""Return True if entity is available."""
return self.hacs.repositories.is_downloaded(repository_id=str(self.repository.data.id))
@property
def device_info(self) -> dict[str, any]:
"""Return device information about HACS."""
if self.repository.data.full_name == HacsGitHubRepo.INTEGRATION:
return system_info(self.hacs)
def _manufacturer():
if authors := self.repository.data.authors:
return ", ".join(author.replace("@", "") for author in authors)
return self.repository.data.full_name.split("/")[0]
return {
"identifiers": {(DOMAIN, str(self.repository.data.id))},
"name": self.repository.display_name,
"model": self.repository.data.category,
"manufacturer": _manufacturer(),
"configuration_url": f"homeassistant://hacs/repository/{self.repository.data.id}",
"entry_type": DeviceEntryType.SERVICE,
}
@callback
def _handle_coordinator_update(self) -> None:
"""Handle updated data from the coordinator."""
if (
self._repo_last_fetched is not None
and self.repository.data.last_fetched is not None
and self._repo_last_fetched >= self.repository.data.last_fetched
):
return
self._repo_last_fetched = self.repository.data.last_fetched
self.async_write_ha_state()
async def async_update(self) -> None:
"""Update the entity.
Only used by the generic entity update service.
"""
+71
View File
@@ -0,0 +1,71 @@
"""Helper constants."""
# pylint: disable=missing-class-docstring
from enum import StrEnum
class HacsGitHubRepo(StrEnum):
"""HacsGitHubRepo."""
DEFAULT = "hacs/default"
INTEGRATION = "hacs/integration"
class HacsCategory(StrEnum):
APPDAEMON = "appdaemon"
INTEGRATION = "integration"
LOVELACE = "lovelace"
PLUGIN = "plugin" # Kept for legacy purposes
PYTHON_SCRIPT = "python_script"
TEMPLATE = "template"
THEME = "theme"
REMOVED = "removed"
def __str__(self):
return str(self.value)
class HacsDispatchEvent(StrEnum):
"""HacsDispatchEvent."""
CONFIG = "hacs_dispatch_config"
ERROR = "hacs_dispatch_error"
RELOAD = "hacs_dispatch_reload"
REPOSITORY = "hacs_dispatch_repository"
REPOSITORY_DOWNLOAD_PROGRESS = "hacs_dispatch_repository_download_progress"
STAGE = "hacs_dispatch_stage"
STARTUP = "hacs_dispatch_startup"
STATUS = "hacs_dispatch_status"
class RepositoryFile(StrEnum):
"""Repository file names."""
HACS_JSON = "hacs.json"
MAINIFEST_JSON = "manifest.json"
class LovelaceMode(StrEnum):
"""Lovelace Modes."""
STORAGE = "storage"
AUTO = "auto"
AUTO_GEN = "auto-gen"
YAML = "yaml"
class HacsStage(StrEnum):
SETUP = "setup"
STARTUP = "startup"
WAITING = "waiting"
RUNNING = "running"
BACKGROUND = "background"
class HacsDisabledReason(StrEnum):
RATE_LIMIT = "rate_limit"
REMOVED = "removed"
INVALID_TOKEN = "invalid_token"
CONSTRAINS = "constrains"
LOAD_HACS = "load_hacs"
RESTORE = "restore"
+49
View File
@@ -0,0 +1,49 @@
"""Custom Exceptions for HACS."""
class HacsException(Exception):
"""Super basic."""
class HacsRepositoryArchivedException(HacsException):
"""For repositories that are archived."""
class HacsNotModifiedException(HacsException):
"""For responses that are not modified."""
class HacsExpectedException(HacsException):
"""For stuff that are expected."""
class HacsRepositoryExistException(HacsException):
"""For repositories that are already exist."""
class HacsExecutionStillInProgress(HacsException):
"""Exception to raise if execution is still in progress."""
class AddonRepositoryException(HacsException):
"""Exception to raise when user tries to add add-on repository."""
exception_message = (
"The repository does not seem to be a integration, "
"but an add-on repository. HACS does not manage add-ons."
)
def __init__(self) -> None:
super().__init__(self.exception_message)
class HomeAssistantCoreRepositoryException(HacsException):
"""Exception to raise when user tries to add the home-assistant/core repository."""
exception_message = (
"You can not add homeassistant/core, to use core integrations "
"check the Home Assistant documentation for how to add them."
)
def __init__(self) -> None:
super().__init__(self.exception_message)
+67
View File
@@ -0,0 +1,67 @@
"""Starting setup task: Frontend."""
from __future__ import annotations
import os
from typing import TYPE_CHECKING
from homeassistant.components.frontend import (
add_extra_js_url,
async_register_built_in_panel,
)
from .const import DOMAIN, URL_BASE
from .hacs_frontend import VERSION as FE_VERSION, locate_dir
from .utils.workarounds import async_register_static_path
if TYPE_CHECKING:
from homeassistant.core import HomeAssistant
from .base import HacsBase
async def async_register_frontend(hass: HomeAssistant, hacs: HacsBase) -> None:
"""Register the frontend."""
# Register frontend
if hacs.configuration.dev and (frontend_path := os.getenv("HACS_FRONTEND_DIR")):
hacs.log.warning(
"<HacsFrontend> Frontend development mode enabled. Do not run in production!"
)
await async_register_static_path(
hass, f"{URL_BASE}/frontend", f"{frontend_path}/hacs_frontend", cache_headers=False
)
hacs.frontend_version = "dev"
else:
await async_register_static_path(
hass, f"{URL_BASE}/frontend", locate_dir(), cache_headers=False
)
hacs.frontend_version = FE_VERSION
# Custom iconset
await async_register_static_path(
hass, f"{URL_BASE}/iconset.js", str(hacs.integration_dir / "iconset.js")
)
add_extra_js_url(hass, f"{URL_BASE}/iconset.js")
# Add to sidepanel if needed
if DOMAIN not in hass.data.get("frontend_panels", {}):
async_register_built_in_panel(
hass,
component_name="custom",
sidebar_title=hacs.configuration.sidepanel_title,
sidebar_icon=hacs.configuration.sidepanel_icon,
frontend_url_path=DOMAIN,
config={
"_panel_custom": {
"name": "hacs-frontend",
"embed_iframe": True,
"trust_external": False,
"js_url": f"/hacsfiles/frontend/entrypoint.js?hacstag={hacs.frontend_version}",
}
},
require_admin=True,
)
# Setup plugin endpoint if needed
await hacs.async_setup_frontend_endpoint_plugin()
@@ -0,0 +1,5 @@
"""HACS Frontend"""
from .version import VERSION
def locate_dir():
return __path__[0]
@@ -0,0 +1 @@
!function(){function n(n){var e=document.createElement("script");e.src=n,document.body.appendChild(e)}if(/.*Version\/(?:11|12)(?:\.\d+)*.*Safari\//.test(navigator.userAgent))n("/hacsfiles/frontend/frontend_es5/entrypoint.c180d0b256f9b6d0.js");else try{new Function("import('/hacsfiles/frontend/frontend_latest/entrypoint.bb9d28f38e9fba76.js')")()}catch(e){n("/hacsfiles/frontend/frontend_es5/entrypoint.c180d0b256f9b6d0.js")}}()
@@ -0,0 +1 @@
!function(){function e(e){var n=document.createElement("script");n.src=e,document.body.appendChild(n)}if(/.*Version\/(?:11|12)(?:\.\d+)*.*Safari\//.test(navigator.userAgent))e("/hacsfiles/frontend/frontend_es5/extra.5b474fd28ce35f7e.js");else try{new Function("import('/hacsfiles/frontend/frontend_latest/extra.fb9760592efef202.js')")()}catch(n){e("/hacsfiles/frontend/frontend_es5/extra.5b474fd28ce35f7e.js")}}()
@@ -0,0 +1,3 @@
/*! For license information please see 1044.39e84f00be9ca07a.js.LICENSE.txt */
"use strict";(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["1044"],{78611:function(t,e,i){i.d(e,{P:function(){return a}});i(71695),i(39527),i(41360),i(47021);const a=t=>(e,i)=>{if(e.constructor._observers){if(!e.constructor.hasOwnProperty("_observers")){const t=e.constructor._observers;e.constructor._observers=new Map,t.forEach(((t,i)=>e.constructor._observers.set(i,t)))}}else{e.constructor._observers=new Map;const t=e.updated;e.updated=function(e){t.call(this,e),e.forEach(((t,e)=>{const i=this.constructor._observers.get(e);void 0!==i&&i.call(this,this[e],t)}))}}e.constructor._observers.set(i,t)}},65703:function(t,e,i){i.d(e,{K:function(){return b}});i(71695),i(81804),i(22139),i(47021);var a=i(9065),o=(i(16060),i(78611)),r=i(91532),n=i(57243),s=i(50778),d=i(35359);let c,l,m,h,p,g,u,y,f,v,_=t=>t;class b extends n.oi{constructor(){super(...arguments),this.value="",this.group=null,this.tabindex=-1,this.disabled=!1,this.twoline=!1,this.activated=!1,this.graphic=null,this.multipleGraphics=!1,this.hasMeta=!1,this.noninteractive=!1,this.selected=!1,this.shouldRenderRipple=!1,this._managingList=null,this.boundOnClick=this.onClick.bind(this),this._firstChanged=!0,this._skipPropRequest=!1,this.rippleHandlers=new r.A((()=>(this.shouldRenderRipple=!0,this.ripple))),this.listeners=[{target:this,eventNames:["click"],cb:()=>{this.onClick()}},{target:this,eventNames:["mouseenter"],cb:this.rippleHandlers.startHover},{target:this,eventNames:["mouseleave"],cb:this.rippleHandlers.endHover},{target:this,eventNames:["focus"],cb:this.rippleHandlers.startFocus},{target:this,eventNames:["blur"],cb:this.rippleHandlers.endFocus},{target:this,eventNames:["mousedown","touchstart"],cb:t=>{const e=t.type;this.onDown("mousedown"===e?"mouseup":"touchend",t)}}]}get text(){const t=this.textContent;return t?t.trim():""}render(){const t=this.renderText(),e=this.graphic?this.renderGraphic():(0,n.dy)(c||(c=_``)),i=this.hasMeta?this.renderMeta():(0,n.dy)(l||(l=_``));return(0,n.dy)(m||(m=_` ${0} ${0} ${0} ${0}`),this.renderRipple(),e,t,i)}renderRipple(){return this.shouldRenderRipple?(0,n.dy)(h||(h=_` <mwc-ripple .activated="${0}"> </mwc-ripple>`),this.activated):this.activated?(0,n.dy)(p||(p=_`<div class="fake-activated-ripple"></div>`)):""}renderGraphic(){const t={multi:this.multipleGraphics};return(0,n.dy)(g||(g=_` <span class="mdc-deprecated-list-item__graphic material-icons ${0}"> <slot name="graphic"></slot> </span>`),(0,d.$)(t))}renderMeta(){return(0,n.dy)(u||(u=_` <span class="mdc-deprecated-list-item__meta material-icons"> <slot name="meta"></slot> </span>`))}renderText(){const t=this.twoline?this.renderTwoline():this.renderSingleLine();return(0,n.dy)(y||(y=_` <span class="mdc-deprecated-list-item__text"> ${0} </span>`),t)}renderSingleLine(){return(0,n.dy)(f||(f=_`<slot></slot>`))}renderTwoline(){return(0,n.dy)(v||(v=_` <span class="mdc-deprecated-list-item__primary-text"> <slot></slot> </span> <span class="mdc-deprecated-list-item__secondary-text"> <slot name="secondary"></slot> </span> `))}onClick(){this.fireRequestSelected(!this.selected,"interaction")}onDown(t,e){const i=()=>{window.removeEventListener(t,i),this.rippleHandlers.endPress()};window.addEventListener(t,i),this.rippleHandlers.startPress(e)}fireRequestSelected(t,e){if(this.noninteractive)return;const i=new CustomEvent("request-selected",{bubbles:!0,composed:!0,detail:{source:e,selected:t}});this.dispatchEvent(i)}connectedCallback(){super.connectedCallback(),this.noninteractive||this.setAttribute("mwc-list-item","");for(const t of this.listeners)for(const e of t.eventNames)t.target.addEventListener(e,t.cb,{passive:!0})}disconnectedCallback(){super.disconnectedCallback();for(const t of this.listeners)for(const e of t.eventNames)t.target.removeEventListener(e,t.cb);this._managingList&&(this._managingList.debouncedLayout?this._managingList.debouncedLayout(!0):this._managingList.layout(!0))}firstUpdated(){const t=new Event("list-item-rendered",{bubbles:!0,composed:!0});this.dispatchEvent(t)}}(0,a.gn)([(0,s.IO)("slot")],b.prototype,"slotElement",void 0),(0,a.gn)([(0,s.GC)("mwc-ripple")],b.prototype,"ripple",void 0),(0,a.gn)([(0,s.Cb)({type:String})],b.prototype,"value",void 0),(0,a.gn)([(0,s.Cb)({type:String,reflect:!0})],b.prototype,"group",void 0),(0,a.gn)([(0,s.Cb)({type:Number,reflect:!0})],b.prototype,"tabindex",void 0),(0,a.gn)([(0,s.Cb)({type:Boolean,reflect:!0}),(0,o.P)((function(t){t?this.setAttribute("aria-disabled","true"):this.setAttribute("aria-disabled","false")}))],b.prototype,"disabled",void 0),(0,a.gn)([(0,s.Cb)({type:Boolean,reflect:!0})],b.prototype,"twoline",void 0),(0,a.gn)([(0,s.Cb)({type:Boolean,reflect:!0})],b.prototype,"activated",void 0),(0,a.gn)([(0,s.Cb)({type:String,reflect:!0})],b.prototype,"graphic",void 0),(0,a.gn)([(0,s.Cb)({type:Boolean})],b.prototype,"multipleGraphics",void 0),(0,a.gn)([(0,s.Cb)({type:Boolean})],b.prototype,"hasMeta",void 0),(0,a.gn)([(0,s.Cb)({type:Boolean,reflect:!0}),(0,o.P)((function(t){t?(this.rLine truncated
//# sourceMappingURL=1044.39e84f00be9ca07a.js.map
@@ -0,0 +1,22 @@
/**
* @license
* Copyright 2018 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @license
* Copyright 2021 Google LLC
* SPDX-LIcense-Identifier: Apache-2.0
*/
/**
* Copyright 2020 The Pennsylvania State University
* @license Apache-2.0, see License.md for full text.
*/
@@ -0,0 +1 @@
{"version":3,"file":"1044.39e84f00be9ca07a.js","sources":["no-source/observer.ts","no-source/mwc-list-item-base.ts","no-source/mwc-list-item.css.ts","no-source/mwc-list-item.ts","no-source/node_modules/core-js/internals/array-from-constructor-and-list.js","no-source/node_modules/core-js/internals/array-group.js","no-source/node_modules/core-js/modules/esnext.array.group.js","no-source/node_modules/@lrnwebcomponents/simple-tooltip/simple-tooltip.js"],"names":["observer","proto","propName","constructor","_observers","hasOwnProperty","observers","Map","forEach","v","k","set","userUpdated","updated","changedProperties","call","this","get","undefined","ListItemBase","LitElement","value","group","tabindex","disabled","twoline","activated","graphic","multipleGraphics","hasMeta","noninteractive","selected","shouldRenderRipple","_managingList","boundOnClick","onClick","bind","_firstChanged","_skipPropRequest","rippleHandlers","RippleHandlers","ripple","listeners","target","eventNames","cb","startHover","endHover","startFocus","endFocus","e","name","type","onDown","text","textContent","trim","render","renderText","renderGraphic","html","_t","_","meta","renderMeta","_t2","_t3","renderRipple","_t4","_t5","graphicClasses","multi","_t6","classMap","_t7","inner","renderTwoline","renderSingleLine","_t8","_t9","_t10","fireRequestSelected","upName","evt","onUp","window","removeEventListener","endPress","addEventListener","startPress","source","customEv","CustomEvent","bubbles","composed","detail","dispatchEvent","connectedCallback","super","setAttribute","listener","eventName","passive","disconnectedCallback","debouncedLayout","layout","firstUpdated","ev","Event","__decorate","query","queryAsync","property","String","reflect","Number","Boolean","removeAttribute","tabIndex","role","getAttribute","isAriaSelectable","state","styles","css","ListItem","customElement","lengthOfArrayLike","module","exports","Constructor","list","$length","index","length","arguments","result","uncurryThis","IndexedObject","toObject","toPropertyKey","objectCreate","arrayFromConstructorAndList","$Array","Array","push","$this","callbackfn","that","specificConstructor","key","O","self","boundFunction","$","$group","addToUnscopables","SimpleTooltip","_onAnimationEnd","properties","Object","assign","for","manualMode","attribute","position","fitToVisibleBounds","offset","marginTop","animationDelay","animationEntry","animationExit","_showing","tag","animationConfig","entry","node","timing","delay","exit","setTimeout","hide","parentNode","ownerRoot","getRootNode","querySelector","nodeType","Node","DOCUMENT_FRAGMENT_NODE","host","_removeListeners","playAnimation","show","cancelAnimation","shadowRoot","classList","add","allChildrenEmpty","effectiveChildren","children","i","remove","_getAnimationType","updatePosition","_animationPlaying","_cancelAnimation","_onAnimationFinish","clearTimeout","__debounceCancel","_target","offsetParent","tooltipLeft","tooltipTop","parentRect","getBoundingClientRect","targetRect","thisRect","horizontalCenterOffset","width","verticalCenterOffset","height","targetLeft","left","targetTop","top","innerWidth","style","right","Math","max","innerHeight","bottom","_addListeners","_findTarget","_manualModeChanged","timingDelay","document","documentElement","setProperty","oldValue","_delayChange","newValue","customElements","define"],"mappings":";2LA8BO,MAAMA,EAAYA,GAErB,CAACC,EAAYC,KAEX,GAAMD,EAAME,YACFC,YAmBH,IAAKH,EAAME,YAAYE,eAAe,cAAe,CAC1D,MAAMC,EAAYL,EAAME,YAAYC,WACpCH,EAAME,YAAYC,WAAa,IAAIG,IACnCD,EAAUE,SAEN,CAACC,EAAQC,IAAmBT,EAAME,YAAYC,WAAWO,IAAID,EAAGD,UAxBhD,CACpBR,EAAME,YAAYC,WAAa,IAAIG,IACnC,MAAMK,EAAcX,EAAMY,QAC1BZ,EAAMY,QAAU,SACWC,GACzBF,EAAYG,KAAKC,KAAMF,GACvBA,EAAkBN,SAAQ,CAACC,EAAGC,KAC5B,MAGMV,EAFDgB,KAAKb,YACDC,WACkBa,IAAIP,QACdQ,IAAblB,GAEFA,EAASe,KAAKC,KAAOA,KAAaN,GAAID,KAG5C,EAWFR,EAAME,YAAYC,WAAWO,IAAIT,EAAUF,EAAS,4MC1BpD,MAAOmB,UAAqBC,EAAAA,GAAlCjB,WAAAA,uBAI4B,KAAAkB,MAAQ,GACO,KAAAC,MAAqB,KACrB,KAAAC,UAAY,EASrD,KAAAC,UAAW,EAC+B,KAAAC,SAAU,EACV,KAAAC,WAAY,EACb,KAAAC,QAAuB,KACrC,KAAAC,kBAAmB,EACnB,KAAAC,SAAU,EAarC,KAAAC,gBAAiB,EAwBjB,KAAAC,UAAW,EAEQ,KAAAC,oBAAqB,EAC/B,KAAAC,cAAiC,KAEhC,KAAAC,aAAelB,KAAKmB,QAAQC,KAAKpB,MACjC,KAAAqB,eAAgB,EAChB,KAAAC,kBAAmB,EACnB,KAAAC,eAAiC,IAAIC,EAAAA,GAAe,KAC5DxB,KAAKgB,oBAAqB,EACnBhB,KAAKyB,UAEJ,KAAAC,UAKN,CACE,CACEC,OAAQ3B,KACR4B,WAAY,CAAC,SACbC,GACIA,KACE7B,KAAKmB,SAAS,GAGtB,CACEQ,OAAQ3B,KACR4B,WAAY,CAAC,cACbC,GAAI7B,KAAKuB,eAAeO,YAE1B,CACEH,OAAQ3B,KACR4B,WAAY,CAAC,cACbC,GAAI7B,KAAKuB,eAAeQ,UAE1B,CACEJ,OAAQ3B,KACR4B,WAAY,CAAC,SACbC,GAAI7B,KAAKuB,eAAeS,YAE1B,CACEL,OAAQ3B,KACR4B,WAAY,CAAC,QACbC,GAAI7B,KAAKuB,eAAeU,UAE1B,CACEN,OAAQ3B,KACR4B,WAAY,CAAC,YAAa,cAC1BC,GACKK,IACC,MAAMC,EAAOD,EAAEE,KACfpC,KAAKqC,OAAgB,cAATF,EAAuB,UAAY,WAAYD,EAAE,GA4I7E,CAvIE,QAAII,GACF,MAAMC,EAAcvC,KAAKuC,YAEzB,OAAOA,EAAcA,EAAYC,OAAS,EAC5C,CAESC,MAAAA,GACP,MAAMH,EAAOtC,KAAK0C,aACZ/B,EAAUX,KAAKW,QAAUX,KAAK2C,iBAAkBC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,KACpDC,EAAO/C,KAAKa,QAAUb,KAAKgD,cAAeJ,EAAAA,EAAAA,IAAIKLine truncated
@@ -0,0 +1,2 @@
(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["1162"],{62347:function(t,e,n){"use strict";n(52247),n(92745),n(61495),n(61893);var r={single_source_shortest_paths:function(t,e,n){var o={},i={};i[e]=0;var s,u,a,c,f,l,h,g=r.PriorityQueue.make();for(g.push(e,0);!g.empty();)for(a in u=(s=g.pop()).value,c=s.cost,f=t[u]||{})f.hasOwnProperty(a)&&(l=c+f[a],h=i[a],(void 0===i[a]||h>l)&&(i[a]=l,g.push(a,l),o[a]=u));if(void 0!==n&&void 0===i[n]){var d=["Could not find a path from ",e," to ",n,"."].join("");throw new Error(d)}return o},extract_shortest_path_from_predecessor_list:function(t,e){for(var n=[],r=e;r;)n.push(r),t[r],r=t[r];return n.reverse(),n},find_path:function(t,e,n){var o=r.single_source_shortest_paths(t,e,n);return r.extract_shortest_path_from_predecessor_list(o,n)},PriorityQueue:{make:function(t){var e,n=r.PriorityQueue,o={};for(e in t=t||{},n)n.hasOwnProperty(e)&&(o[e]=n[e]);return o.queue=[],o.sorter=t.sorter||n.default_sorter,o},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var n={value:t,cost:e};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};t.exports=r},54647:function(t,e,n){n(52247),n(40251),n(11740);const r=n(27462),o=n(27084),i=n(90885),s=n(5066);function u(t,e,n,i,s){const u=[].slice.call(arguments,1),a=u.length,c="function"==typeof u[a-1];if(!c&&!r())throw new Error("Callback required as last argument");if(!c){if(a<1)throw new Error("Too few arguments provided");return 1===a?(n=e,e=i=void 0):2!==a||e.getContext||(i=n,n=e,e=void 0),new Promise((function(r,s){try{const s=o.create(n,i);r(t(s,e,i))}catch(u){s(u)}}))}if(a<2)throw new Error("Too few arguments provided");2===a?(s=n,n=e,e=i=void 0):3===a&&(e.getContext&&void 0===s?(s=i,i=void 0):(s=i,i=n,n=e,e=void 0));try{const r=o.create(n,i);s(null,t(r,e,i))}catch(f){s(f)}}e.create=o.create,e.toCanvas=u.bind(null,i.render),e.toDataURL=u.bind(null,i.renderToDataURL),e.toString=u.bind(null,(function(t,e,n){return s.render(t,n)}))},27462:function(t,e,n){n(40251),t.exports=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},5416:function(t,e,n){n(92745),n(61495);const r=n(17565).getSymbolSize;e.getRowColCoords=function(t){if(1===t)return[];const e=Math.floor(t/7)+2,n=r(t),o=145===n?26:2*Math.ceil((n-13)/(2*e-2)),i=[n-7];for(let r=1;r<e-1;r++)i[r]=i[r-1]-o;return i.push(6),i.reverse()},e.getPositions=function(t){const n=[],r=e.getRowColCoords(t),o=r.length;for(let e=0;e<o;e++)for(let t=0;t<o;t++)0===e&&0===t||0===e&&t===o-1||e===o-1&&0===t||n.push([r[e],r[t]]);return n}},22847:function(t,e,n){const r=n(10081),o=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function i(t){this.mode=r.ALPHANUMERIC,this.data=t}i.getBitsLength=function(t){return 11*Math.floor(t/2)+t%2*6},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(t){let e;for(e=0;e+2<=this.data.length;e+=2){let n=45*o.indexOf(this.data[e]);n+=o.indexOf(this.data[e+1]),t.put(n,11)}this.data.length%2&&t.put(o.indexOf(this.data[e]),6)},t.exports=i},60594:function(t,e,n){function r(){this.buffer=[],this.length=0}n(92745),r.prototype={get:function(t){const e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(let n=0;n<e;n++)this.putBit(1==(t>>>e-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){const e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},t.exports=r},11081:function(t,e,n){function r(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}n(52247),n(71695),n(82328),n(55751),n(26200),n(25754),n(22246),n(92789),n(36810),n(14953),n(58402),n(31503),n(16440),n(2213),n(57385),n(71375),n(15524),n(20267),r.prototype.set=function(t,e,n,r){const o=t*this.size+e;this.data[o]=n,r&&(this.reservedBit[o]=!0)},r.prototype.get=function(t,e){return this.data[t*this.size+e]},r.prototype.xor=function(t,e,n){this.data[t*this.size+e]^=n},r.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},t.exports=r},28888:function(t,e,n){n(71695),n(82328),n(55751),n(26200),n(25754),n(22246),n(92789),n(36810),n(14953),n(58402),n(31503),n(16440),n(2213),n(57385),n(71375),n(15524),n(20267);const r=n(10081);function o(t){this.mode=r.BYTE,this.data="string"==typeof t?(new TextEncoder).encode(t):new Uint8Array(t)}o.getBitsLength=function(t){return 8*t},o.prototype.getLength=function(){return this.data.length},o.prototype.getBitsLength=function(){return o.getBitsLength(this.data.length)},o.prototype.write=function(t){for(let e=0,n=this.data.length;e<n;e++)t.pLine truncated
//# sourceMappingURL=1162.bf81664890a4a83a.js.map
@@ -0,0 +1 @@
{"version":3,"file":"1162.bf81664890a4a83a.js","sources":["no-source/node_modules/dijkstrajs/dijkstra.js","no-source/node_modules/qrcode/lib/browser.js","no-source/node_modules/qrcode/lib/can-promise.js","no-source/node_modules/qrcode/lib/core/alignment-pattern.js","no-source/node_modules/qrcode/lib/core/alphanumeric-data.js","no-source/node_modules/qrcode/lib/core/bit-buffer.js","no-source/node_modules/qrcode/lib/core/bit-matrix.js","no-source/node_modules/qrcode/lib/core/byte-data.js","no-source/node_modules/qrcode/lib/core/error-correction-code.js","no-source/node_modules/qrcode/lib/core/error-correction-level.js","no-source/node_modules/qrcode/lib/core/finder-pattern.js","no-source/node_modules/qrcode/lib/core/format-info.js","no-source/node_modules/qrcode/lib/core/galois-field.js","no-source/node_modules/qrcode/lib/core/kanji-data.js","no-source/node_modules/qrcode/lib/core/mask-pattern.js","no-source/node_modules/qrcode/lib/core/mode.js","no-source/node_modules/qrcode/lib/core/numeric-data.js","no-source/node_modules/qrcode/lib/core/polynomial.js","no-source/node_modules/qrcode/lib/core/qrcode.js","no-source/node_modules/qrcode/lib/core/reed-solomon-encoder.js","no-source/node_modules/qrcode/lib/core/regex.js","no-source/node_modules/qrcode/lib/core/segments.js","no-source/node_modules/qrcode/lib/core/utils.js","no-source/node_modules/qrcode/lib/core/version-check.js","no-source/node_modules/qrcode/lib/core/version.js","no-source/node_modules/qrcode/lib/renderer/canvas.js","no-source/node_modules/qrcode/lib/renderer/svg-tag.js","no-source/node_modules/qrcode/lib/renderer/utils.js","no-source/node_modules/core-js/internals/array-from-constructor-and-list.js","no-source/node_modules/core-js/internals/string-repeat.js","no-source/node_modules/core-js/internals/this-number-value.js","no-source/node_modules/core-js/modules/es.number.to-fixed.js","no-source/node_modules/core-js/modules/es.typed-array.uint8-array.js"],"names":["require","dijkstra","single_source_shortest_paths","graph","s","d","predecessors","costs","closest","u","v","cost_of_s_to_u","adjacent_nodes","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","open","PriorityQueue","make","push","empty","pop","value","cost","hasOwnProperty","msg","join","Error","extract_shortest_path_from_predecessor_list","nodes","reverse","find_path","opts","key","T","t","queue","sorter","default_sorter","a","b","item","this","sort","shift","length","module","exports","canPromise","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","canvas","text","cb","args","slice","call","arguments","argsNum","isLastArgCb","undefined","getContext","Promise","resolve","reject","data","create","e","toCanvas","bind","render","toDataURL","renderToDataURL","toString","_","prototype","then","getSymbolSize","getRowColCoords","version","posCount","Math","floor","size","intervals","ceil","positions","i","getPositions","coords","pos","posLength","j","Mode","ALPHA_NUM_CHARS","AlphanumericData","mode","ALPHANUMERIC","getBitsLength","getLength","write","bitBuffer","indexOf","put","BitBuffer","buffer","get","index","bufIndex","num","putBit","getLengthInBits","bit","BitMatrix","Uint8Array","reservedBit","set","row","col","reserved","xor","isReserved","ByteData","BYTE","TextEncoder","encode","l","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","getBlocksCount","errorCorrectionLevel","L","M","Q","H","getTotalCodewordsCount","isValid","level","from","defaultValue","string","toLowerCase","fromString","Utils","G15_BCH","getBCHDigit","getEncodedBits","mask","EXP_TABLE","LOG_TABLE","x","log","n","exp","mul","y","KanjiData","KANJI","toSJIS","Patterns","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","getMaskAt","maskPattern","isNaN","parseInt","getPenaltyN1","points","sameCountCol","sameCountRow","lastCol","lastRow","getPenaltyN2","last","getPenaltyN3","bitsCol","bitsRow","getPenaltyN4","darkCount","modulesCount","abs","applyMask","pattern","getBestMask","setupFormatFunc","numPatterns","Object","keys","bestPattern","lowerPenalty","Infinity","p","penalty","VersionCheck","Regex","NUMERIC","id","ccBits","MIXED","getCharCountIndicator","getBestModeForData","dataStr","testNumeric","testAlphanumeric","testKanji","NumericData","group","substr","remainingNum","GF","p1","p2","coeff","mod","divident","divisor","result","offset","generateECPolynomial","degree","poly","AlignmentPattern","FinderPattern","MaskPattern","ECCode","ReedSolomonEncoder","Version","FormatInfo","Segments","setupFormatInfo","matrix","bits","createData","segments","forEach","dataTotalCodewordsBits","getSymbolTotalCodewords","remainingByte","totalCodewords","ecTotalCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup2","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","Array","ecData","maxDataSize","dataSize","max","r","createCodewords","createSymbol","isArray","fromArray","estimatedVeLine truncated
@@ -0,0 +1,2 @@
(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["1176"],{65509:function(t,e,i){i(63721),i(52247),i(71695),i(92745),i(82328),i(55751),i(26200),i(25754),i(22246),i(43451),i(19423),i(19134),i(5740),i(11740),i(44495),i(97003),i(32114),i(81804),i(92789),i(36810),i(14953),i(58402),i(31503),i(16440),i(2213),i(57385),i(71375),i(15524),i(20267),i(39527),i(99790),i(41360),i(13334),i(47021),i(34028),i(21478),i(35911),i(68289),t.exports=function(){"use strict";function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function e(e){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{};i%2?t(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}function n(t){var e=i(t,"string");return"symbol"==typeof e?e:e+""}function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){for(var i=0;i<e.length;i++){var a=e[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,n(a.key),a)}}function h(t,e,i){return e&&r(t.prototype,e),i&&r(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}function s(t,e,i){return(e=n(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function c(t){return p(t)||l(t)||d(t)||m()}function p(t){if(Array.isArray(t))return u(t)}function l(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function d(t,e){if(t){if("string"==typeof t)return u(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?u(t,e):void 0}}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function m(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var g="undefined"!=typeof window&&void 0!==window.document,f=g?window:{},v=!(!g||!f.document.documentElement)&&"ontouchstart"in f.document.documentElement,w=!!g&&"PointerEvent"in f,b="cropper",x="all",y="crop",M="move",C="zoom",D="e",k="w",A="s",B="n",O="ne",T="nw",E="se",z="sw",W="".concat(b,"-crop"),H="".concat(b,"-disabled"),N="".concat(b,"-hidden"),L="".concat(b,"-hide"),R="".concat(b,"-invisible"),X="".concat(b,"-modal"),Y="".concat(b,"-move"),j="".concat(b,"Action"),S="".concat(b,"Preview"),P="crop",I="move",U="none",q="crop",Q="cropend",Z="cropmove",F="cropstart",$="dblclick",G=v?"touchstart":"mousedown",V=v?"touchmove":"mousemove",K=v?"touchend touchcancel":"mouseup",J=w?"pointerdown":G,_=w?"pointermove":V,tt=w?"pointerup pointercancel":K,et="ready",it="resize",nt="wheel",at="zoom",ot="image/jpeg",rt=/^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/,ht=/^data:/,st=/^data:image\/jpeg;base64,/,ct=/^img|canvas$/i,pt=200,lt=100,dt={viewMode:0,dragMode:P,initialAspectRatio:NaN,aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:pt,minContainerHeight:lt,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},ut='<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="croppeLine truncated
//# sourceMappingURL=1176.fddf28197e706c45.js.map
@@ -0,0 +1 @@
{"version":3,"file":"1176.fddf28197e706c45.js","sources":["no-source/node_modules/cropperjs/dist/cropper.js","no-source/node_modules/core-js/internals/array-from-constructor-and-list.js","no-source/node_modules/core-js/modules/es.typed-array.uint8-array.js","no-source/node_modules/core-js/modules/web.self.js"],"names":["module","exports","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread2","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPrimitive","Symbol","toPrimitive","i","call","TypeError","String","Number","_toPropertyKey","_typeof","iterator","constructor","prototype","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","configurable","writable","key","_createClass","protoProps","staticProps","obj","value","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","isArray","_arrayLikeToArray","iter","from","minLen","n","toString","slice","name","test","len","arr2","IS_BROWSER","window","document","WINDOW","IS_TOUCH_DEVICE","documentElement","HAS_POINTER_EVENT","NAMESPACE","ACTION_ALL","ACTION_CROP","ACTION_MOVE","ACTION_ZOOM","ACTION_EAST","ACTION_WEST","ACTION_SOUTH","ACTION_NORTH","ACTION_NORTH_EAST","ACTION_NORTH_WEST","ACTION_SOUTH_EAST","ACTION_SOUTH_WEST","CLASS_CROP","concat","CLASS_DISABLED","CLASS_HIDDEN","CLASS_HIDE","CLASS_INVISIBLE","CLASS_MODAL","CLASS_MOVE","DATA_ACTION","DATA_PREVIEW","DRAG_MODE_CROP","DRAG_MODE_MOVE","DRAG_MODE_NONE","EVENT_CROP","EVENT_CROP_END","EVENT_CROP_MOVE","EVENT_CROP_START","EVENT_DBLCLICK","EVENT_TOUCH_START","EVENT_TOUCH_MOVE","EVENT_TOUCH_END","EVENT_POINTER_DOWN","EVENT_POINTER_MOVE","EVENT_POINTER_UP","EVENT_READY","EVENT_RESIZE","EVENT_WHEEL","EVENT_ZOOM","MIME_TYPE_JPEG","REGEXP_ACTIONS","REGEXP_DATA_URL","REGEXP_DATA_URL_JPEG","REGEXP_TAG_NAME","MIN_CONTAINER_WIDTH","MIN_CONTAINER_HEIGHT","DEFAULTS","viewMode","dragMode","initialAspectRatio","NaN","aspectRatio","data","preview","responsive","restore","checkCrossOrigin","checkOrientation","modal","guides","center","highlight","background","autoCrop","autoCropArea","movable","rotatable","scalable","zoomable","zoomOnTouch","zoomOnWheel","wheelZoomRatio","cropBoxMovable","cropBoxResizable","toggleDragModeOnDblclick","minCanvasWidth","minCanvasHeight","minCropBoxWidth","minCropBoxHeight","minContainerWidth","minContainerHeight","ready","cropstart","cropmove","cropend","crop","zoom","TEMPLATE","isNaN","isNumber","isPositiveNumber","Infinity","isUndefined","isObject","hasOwnProperty","isPlainObject","_constructor","error","isFunction","toArray","callback","assign","_len","args","_key","arg","REGEXP_DECIMALS","normalizeDecimalNumber","times","undefined","Math","round","REGEXP_SUFFIX","setStyle","element","styles","style","property","hasClass","classList","contains","className","indexOf","addClass","elem","add","trim","removeClass","remove","replace","toggleClass","added","REGEXP_CAMEL_CASE","toParamCase","toLowerCase","getData","dataset","getAttribute","setData","setAttribute","removeData","removeAttribute","REGEXP_SPACES","onceSupported","supported","once","listener","options","get","set","addEventListener","removeEventListener","removeListener","type","handler","split","event","listeners","addListener","_handler","_element$listeners","_len2","_key2","dispatchEvent","Event","CustomEvent","detail","bubbles","cancelable","createEvent","initCustomEvent","getOffset","box","getBoundingClientRect","left","pageXOffset","clientLeft","top","pageYOffset","clientTop","location","REGEXP_ORIGINS","isCrossOriginURL","url","parts","match","protocol","hostname","port","addTimestamp","timestamp","Date","getTime","getTransforms","_ref","rotate","scaleX","scaleY","translateX","translateY","values","transform","join","WebkitTransform","msTransform","getMaxZoomRatio","pointers","pointers2","maxRatio","pointer","pointerId","pointer2","x1","abs","startX","y1","startY","x2","endX","y2","endY","z1","sqrt","ratio","getPointer","_ref2","endOnly","pageX","pageY","end","getPointersCenter","count","_ref3","getAdjustedSizes","_ref4","height","width","isValidWidth","isValidHeight","adjustedWidth","getRotatedSizes","_ref5","degree","arc","PI","sinArc","sin","cosArc","cos","newWidth","newHeight","getSourceCanvas","image","_ref6","_ref7","_ref8","imageAspectRatio","imageNaturalWidth","naturalWidth","imageNaturalHeight","naturalHeight","_ref6$rotate","_ref6$scaleX","_ref6$scaleY","_ref8$fillColor","fillColor","_ref8$imageSmoothingE","imageSmoothingEnabled","_ref8$imageSmoothingQ","imageSmoothingQuality","_ref8$maxWidth","maxWidth","_ref8$maxHeight","maxHeight","_ref8$minWidth","minWidth","_ref8$minHeight","minHeight","canvas","createElement","context","getContext","maxSizes","minSizes","min","max","destMaxSizes","destMinSizes","destWidth","destHeight","params","fillStyle","fillRLine truncated
@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["1206"],{69484:function(e,t,i){i.a(e,(async function(e,t){try{var o=i(73577),a=i(72621),d=(i(71695),i(40251),i(39527),i(41360),i(47021),i(2394)),n=i(28737),r=i(75662),l=i(57243),s=i(50778),c=i(20552),u=i(11297),v=(i(59897),i(74064),i(70596),e([n]));n=(v.then?(await v)():v)[0];let h,f,p,b,m,x,g=e=>e;const k="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",y="M7,10L12,15L17,10H7Z",_="M7,15L12,10L17,15H7Z";(0,r.hC)("vaadin-combo-box-item",(0,l.iv)(h||(h=g`:host{padding:0!important}:host([focused]:not([disabled])){background-color:rgba(var(--rgb-primary-text-color,0,0,0),.12)}:host([selected]:not([disabled])){background-color:transparent;color:var(--mdc-theme-primary);--mdc-ripple-color:var(--mdc-theme-primary);--mdc-theme-text-primary-on-background:var(--mdc-theme-primary)}:host([selected]:not([disabled])):before{background-color:var(--mdc-theme-primary);opacity:.12;content:"";position:absolute;top:0;left:0;width:100%;height:100%}:host([selected][focused]:not([disabled])):before{opacity:.24}:host(:hover:not([disabled])){background-color:transparent}[part=content]{width:100%}[part=checkmark]{display:none}`)));(0,o.Z)([(0,s.Mo)("ha-combo-box")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,s.Cb)()],key:"value",value:void 0},{kind:"field",decorators:[(0,s.Cb)()],key:"placeholder",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"validationMessage",value:void 0},{kind:"field",decorators:[(0,s.Cb)()],key:"helper",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:"error-message"})],key:"errorMessage",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"invalid",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"icon",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"items",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"filteredItems",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"dataProvider",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:"allow-custom-value",type:Boolean})],key:"allowCustomValue",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({attribute:"item-value-path"})],key:"itemValuePath",value(){return"value"}},{kind:"field",decorators:[(0,s.Cb)({attribute:"item-label-path"})],key:"itemLabelPath",value(){return"label"}},{kind:"field",decorators:[(0,s.Cb)({attribute:"item-id-path"})],key:"itemIdPath",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"renderer",value:void 0},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"required",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({type:Boolean,reflect:!0})],key:"opened",value(){return!1}},{kind:"field",decorators:[(0,s.IO)("vaadin-combo-box-light",!0)],key:"_comboBox",value:void 0},{kind:"field",decorators:[(0,s.IO)("ha-textfield",!0)],key:"_inputElement",value:void 0},{kind:"field",key:"_overlayMutationObserver",value:void 0},{kind:"field",key:"_bodyMutationObserver",value:void 0},{kind:"method",key:"open",value:async function(){var e;await this.updateComplete,null===(e=this._comboBox)||void 0===e||e.open()}},{kind:"method",key:"focus",value:async function(){var e,t;await this.updateComplete,await(null===(e=this._inputElement)||void 0===e?void 0:e.updateComplete),null===(t=this._inputElement)||void 0===t||t.focus()}},{kind:"method",key:"disconnectedCallback",value:function(){(0,a.Z)(i,"disconnectedCallback",this,3)([]),this._overlayMutationObserver&&(this._overlayMutationObserver.disconnect(),this._overlayMutationObserver=void 0),this._bodyMutationObserver&&(this._bodyMutationObserver.disconnect(),this._bodyMutationObserver=void 0)}},{kind:"get",key:"selectedItem",value:function(){return this._comboBox.selectedItem}},{kind:"method",key:"setInputValue",value:function(e){this._comboBox.value=e}},{kind:"method",key:"render",value:function(){var e;return(0,l.dy)(f||(f=g` <vaadin-combo-box-light .itemValuePath="${0}" .itemIdPath="${0}" .itemLabelPath="${0}" .items="${0}" .value="${0}" .filteredItems="${0}" .dataProvider="${0}" .allowCustomValue="${0}" .disabled="${0}" .required="${0}" ${0} @opened-changed="${0}" @filter-changed="${0}" @value-changed="${0}" attr-for-value="value"> <ha-textfield label="${0}" placeholder="${0}" ?disabled="${0}" ?required="${0}" validationMessage="${0}" .errorMessage="${0}" class="input" autocapitalize="none" autocomplete="off" autocorrect="off" input-spellcheck="false" .suffix="${0}" .icon="${0}" .invalid="${0}" .helper="${0}" helperPersistent> <slot name="icon" slot="leadingIcon"></slot> </ha-te Line truncated
//# sourceMappingURL=1206.fa61cdb7c134588b.js.map
@@ -0,0 +1 @@
{"version":3,"file":"1206.fa61cdb7c134588b.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-combo-box.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-textfield.ts"],"names":["registerStyles","css","_t","_","_decorate","customElement","_initialize","_LitElement","HaComboBox","constructor","args","F","d","kind","decorators","property","attribute","key","value","type","Boolean","reflect","query","_this$_comboBox","this","updateComplete","_comboBox","open","_this$_inputElement","_this$_inputElement2","_inputElement","focus","_superPropGet","_overlayMutationObserver","disconnect","undefined","_bodyMutationObserver","selectedItem","_this$hass","html","_t2","itemValuePath","itemIdPath","itemLabelPath","items","filteredItems","dataProvider","allowCustomValue","disabled","required","comboBoxRenderer","renderer","_defaultRowRenderer","_openedChanged","_filterChanged","_valueChanged","ifDefined","label","placeholder","validationMessage","errorMessage","_t3","icon","invalid","helper","_t4","hass","localize","mdiClose","_clearValue","opened","mdiMenuUp","mdiMenuDown","_toggleOpen","item","_t5","ev","stopPropagation","fireEvent","_this$_comboBox2","_this$_comboBox3","close","inputElement","detail","setTimeout","overlay","document","querySelector","_removeInert","_observeBody","_this$_bodyMutationOb","window","MutationObserver","mutations","forEach","mutation","addedNodes","node","nodeName","removedNodes","_this$_overlayMutatio","observe","body","childList","_this$_overlayMutatio2","inert","attributeName","target","_this$_overlayMutatio3","attributes","_closeOnBlurIsPrevented","newValue","static","_t6","LitElement","_TextFieldBase","HaTextField","changedProperties","has","setCustomValidity","validateOnInitialRender","get","reportValidity","autocomplete","formElement","setAttribute","removeAttribute","autocorrect","inputSpellcheck","_icon","isTrailingIcon","styles","mainWindow","TextFieldBase"],"mappings":"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 truncated
@@ -0,0 +1,2 @@
(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["1236"],{4121:function(){Intl.PluralRules&&"function"==typeof Intl.PluralRules.__addLocaleData&&Intl.PluralRules.__addLocaleData({data:{categories:{cardinal:["one","other"],ordinal:["one","two","few","other"]},fn:function(e,n){var a=String(e).split("."),l=!a[1],t=Number(a[0])==e,o=t&&a[0].slice(-1),r=t&&a[0].slice(-2);return n?1==o&&11!=r?"one":2==o&&12!=r?"two":3==o&&13!=r?"few":"other":1==e&&l?"one":"other"}},locale:"en"})}}]);
//# sourceMappingURL=1236.7495ccc08957b0ec.js.map
@@ -0,0 +1 @@
{"version":3,"file":"1236.7495ccc08957b0ec.js","sources":["no-source/node_modules/@formatjs/intl-pluralrules/locale-data/en.js"],"names":["Intl","PluralRules","__addLocaleData","n","ord","s","String","split","v0","t0","Number","n10","slice","n100"],"mappings":"oGAEIA,KAAKC,aAA2D,mBAArCD,KAAKC,YAAYC,iBAC9CF,KAAKC,YAAYC,gBAAgB,CAAC,KAAO,CAAC,WAAa,CAAC,SAAW,CAAC,MAAM,SAAS,QAAU,CAAC,MAAM,MAAM,MAAM,UAAU,GAAK,SAASC,EAAGC,GAC3I,IAAIC,EAAIC,OAAOH,GAAGI,MAAM,KAAMC,GAAMH,EAAE,GAAII,EAAKC,OAAOL,EAAE,KAAOF,EAAGQ,EAAMF,GAAMJ,EAAE,GAAGO,OAAO,GAAIC,EAAOJ,GAAMJ,EAAE,GAAGO,OAAO,GACvH,OAAIR,EAAmB,GAAPO,GAAoB,IAARE,EAAa,MAC9B,GAAPF,GAAoB,IAARE,EAAa,MAClB,GAAPF,GAAoB,IAARE,EAAa,MACzB,QACQ,GAALV,GAAUK,EAAK,MAAQ,OAChC,GAAG,OAAS,M"}
@@ -0,0 +1,9 @@
/*! For license information please see 1244.479b2ebf71bab4e5.js.LICENSE.txt */
"use strict";(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["1244"],{84573:function(e,i,t){var a=t(73577),s=(t(71695),t(47021),t(74763)),o=t(50778);(0,a.Z)([(0,o.Mo)("ha-chip-set")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[]}}),s.l)},13978:function(e,i,t){var a=t(73577),s=t(72621),o=(t(71695),t(47021),t(74514)),l=t(57243),n=t(50778);let d,r=e=>e;(0,a.Z)([(0,n.Mo)("ha-input-chip")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",static:!0,key:"styles",value(){return[...(0,s.Z)(t,"styles",this),(0,l.iv)(d||(d=r`:host{--md-sys-color-primary:var(--primary-text-color);--md-sys-color-on-surface:var(--primary-text-color);--md-sys-color-on-surface-variant:var(--primary-text-color);--md-sys-color-on-secondary-container:var(--primary-text-color);--md-input-chip-container-shape:16px;--md-input-chip-outline-color:var(--outline-color);--md-input-chip-selected-container-color:rgba(
var(--rgb-primary-text-color),
0.15
);--ha-input-chip-selected-container-opacity:1;--md-input-chip-label-text-font:Roboto,sans-serif}::slotted([slot=icon]){display:flex;--mdc-icon-size:var(--md-input-chip-icon-size, 18px)}.selected::before{opacity:var(--ha-input-chip-selected-container-opacity)}`))]}}]}}),o.W)},62304:function(e,i,t){var a=t(73577),s=(t(71695),t(47021),t(57243)),o=t(50778),l=t(11297);t(26375);let n,d=e=>e;(0,a.Z)([(0,o.Mo)("ha-aliases-editor")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Array})],key:"aliases",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"method",key:"render",value:function(){return this.aliases?(0,s.dy)(n||(n=d` <ha-multi-textfield .hass="${0}" .value="${0}" .disabled="${0}" .label="${0}" .removeLabel="${0}" .addLabel="${0}" item-index @value-changed="${0}"> </ha-multi-textfield> `),this.hass,this.aliases,this.disabled,this.hass.localize("ui.dialogs.aliases.label"),this.hass.localize("ui.dialogs.aliases.remove"),this.hass.localize("ui.dialogs.aliases.add"),this._aliasesChanged):s.Ld}},{kind:"method",key:"_aliasesChanged",value:function(e){(0,l.B)(this,"value-changed",{value:e})}}]}}),s.oi)},69181:function(e,i,t){t.a(e,(async function(e,i){try{var a=t(73577),s=(t(19083),t(71695),t(19423),t(40251),t(61006),t(39527),t(92181),t(99790),t(13334),t(36993),t(47021),t(57243)),o=t(50778),l=t(35359),n=t(27486),d=t(11297),r=t(79575),c=t(59848),h=t(71656),u=t(92374),v=t(4557),p=t(88233),m=t(69484),f=(t(59897),t(74064),t(10508),e([m]));m=(f.then?(await f)():f)[0];let y,_,k,g,b=e=>e;const x="M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M4 6L6 4H10.9L4 10.9V6M4 13.7L13.7 4H18.6L4 18.6V13.7M20 18L18 20H13.1L20 13.1V18M20 10.3L10.3 20H5.4L20 5.4V10.3Z",$=e=>(0,s.dy)(y||(y=b`<ha-list-item graphic="icon" class="${0}"> ${0} ${0} </ha-list-item>`),(0,l.$)({"add-new":e.area_id===C}),e.icon?(0,s.dy)(_||(_=b`<ha-icon slot="graphic" .icon="${0}"></ha-icon>`),e.icon):(0,s.dy)(k||(k=b`<ha-svg-icon slot="graphic" .path="${0}"></ha-svg-icon>`),x),e.name),C="___ADD_NEW___",w="___NO_ITEMS___",A="___ADD_NEW_SUGGESTION___";(0,a.Z)([(0,o.Mo)("ha-area-picker")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,o.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,o.Cb)()],key:"value",value:void 0},{kind:"field",decorators:[(0,o.Cb)()],key:"helper",value:void 0},{kind:"field",decorators:[(0,o.Cb)()],key:"placeholder",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Boolean,attribute:"no-add"})],key:"noAdd",value(){return!1}},{kind:"field",decorators:[(0,o.Cb)({type:Array,attribute:"include-domains"})],key:"includeDomains",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Array,attribute:"exclude-domains"})],key:"excludeDomains",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Array,attribute:"include-device-classes"})],key:"includeDeviceClasses",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Array,attribute:"exclude-areas"})],key:"excludeAreas",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"deviceFilter",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:!1})],key:"entityFilter",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"required",value(){return!1}},{kind:"field",decorators:[(0,o.SB)()],key:"_opened",value:void 0},{kind:"field",decorators:[(0,o.IO)("ha-combo-box",!0)],key:"comboBox",value:void 0},{kind:"field",key:"_suggestion",value:void 0},{kind:"field",key:"_init",value(){return!1}},{kind:"method",key:"open",value:async function(){var e;await this.updateComplete,await(null===(e=this.comboBox)||void 0===e?void 0:e.open())}},{kind:"method",key:"focus",value:async function(){var e;await this.updateComplete,await(null===(e=this.comboBox)||void 0===e?void 0:e.focus())}},{kind:"field",key:"_getAreas",value(){return(0,n.Z)(((e,i,t,a,s,o,l,n,d,c)=>{let h,v,p={};(a||s||o||l||n)&&(p=(0,u.R6)(t),h=i,v=t.filter((e=>e.area_id)),a&&(h=h.filter((e=>{const i=p[e.id];return!(!i||!i.length)&&p[e.id].some((e=>a.includes((0,r.M)(e.entity_id))))})),v=v.filter((e=>a.includes((0,r.M)(e.entity_id))))),s&&(h=h.filter((e=>{const i=p[e.id];return!i||!i.length||t.every((e=>!s.includes((0,r.M)(e.entity_id))))})),v=v.filter((e=>!s.includes((0,r.M)(e.entity_id))))),o&&(h=h.filter((e=>{const i=p[e.id];return!(!i||!i.length)&&p[e.id].some((e=>{const i=this.hass.states[e.entity_id];return!!i&&(i.attributes.device_class&&o.includes(i.attributes.device_class))}))})),v=v.filter((e=>{const i=this.hass.states[e.entity_id];return i.attributes.device_class&&o.includes(i.attributes.device_class)})Line truncated
--mdc-typography-body2-font-family,
var(--mdc-typography-font-family, Roboto, sans-serif)
);-webkit-font-smoothing:antialiased;font-size:var(--mdc-typography-body2-font-size, .875rem);font-weight:var(--mdc-typography-body2-font-weight,400);line-height:normal;color:var(--secondary-text-color)}.body[two-line]{min-height:calc(var(--paper-item-body-two-line-min-height,72px) - 16px);flex:1}.content{display:contents}:host(:not([narrow])) .content{display:var(--settings-row-content-display,flex);justify-content:flex-end;flex:1;padding:16px 0}.content ::slotted(*){width:var(--settings-row-content-width)}:host([narrow]){align-items:normal;flex-direction:column;border-top:1px solid var(--divider-color);padding-bottom:8px}::slotted(ha-switch){padding:16px 0}.secondary{white-space:normal}.prefix-wrap{display:var(--settings-row-prefix-display)}:host([narrow]) .prefix-wrap{display:flex;align-items:center}:host([slim]),:host([slim]) .content,:host([slim]) ::slotted(ha-switch){padding:0}:host([slim]) .body{min-height:0}`))}}]}}),s.oi)},89073:function(e,i,t){t.a(e,(async function(e,a){try{t.r(i);var s=t(73577),o=(t(71695),t(40251),t(92519),t(42179),t(89256),t(24931),t(88463),t(57449),t(19814),t(81804),t(39527),t(99790),t(13334),t(47021),t(31622),t(2060),t(57243)),l=t(50778),n=t(91583),d=t(27486),r=t(11297),c=(t(84573),t(13978),t(17949),t(62304),t(44118)),h=t(10581),u=(t(18805),t(10508),t(70596),t(69181)),v=t(66193),p=t(88233),m=t(71656),f=e([h,u]);[h,u]=f.then?(await f)():f;let y,_,k,g,b,x,$,C,w,A=e=>e;const B="M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M4 6L6 4H10.9L4 10.9V6M4 13.7L13.7 4H18.6L4 18.6V13.7M20 18L18 20H13.1L20 13.1V18M20 10.3L10.3 20H5.4L20 5.4V10.3Z";let z=(0,s.Z)(null,(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,l.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_name",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_aliases",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_icon",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_level",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_error",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_params",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_submitting",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_addedAreas",value(){return new Set}},{kind:"field",decorators:[(0,l.SB)()],key:"_removedAreas",value(){return new Set}},{kind:"method",key:"showDialog",value:function(e){var i,t,a,s;this._params=e,this._error=void 0,this._name=this._params.entry?this._params.entry.name:this._params.suggestedName||"",this._aliases=(null===(i=this._params.entry)||void 0===i?void 0:i.aliases)||[],this._icon=(null===(t=this._params.entry)||void 0===t?void 0:t.icon)||null,this._level=null!==(a=null===(s=this._params.entry)||void 0===s?void 0:s.level)&&void 0!==a?a:null,this._addedAreas.clear(),this._removedAreas.clear()}},{kind:"method",key:"closeDialog",value:function(){this._error="",this._params=void 0,this._addedAreas.clear(),this._removedAreas.clear(),(0,r.B)(this,"dialog-closed",{dialog:this.localName})}},{kind:"field",key:"_floorAreas",value(){return(0,d.Z)(((e,i,t,a)=>Object.values(i).filter((i=>(i.floor_id===(null==e?void 0:e.floor_id)||t.has(i.area_id))&&!a.has(i.area_id)))))}},{kind:"method",key:"render",value:function(){var e;const i=this._floorAreas(null===(e=this._params)||void 0===e?void 0:e.entry,this.hass.areas,this._addedAreas,this._removedAreas);if(!this._params)return o.Ld;const t=this._params.entry,a=!this._isNameValid();return(0,o.dy)(y||(y=A` <ha-dialog open @closed="${0}" .heading="${0}"> <div> ${0} <div class="form"> ${0} <ha-textfield .value="${0}" @input="${0}" .label="${0}" .validationMessage="${0}" required dialogInitialFocus></ha-textfield> <ha-textfield .value="${0}" @input="${0}" .label="${0}" type="number"></ha-textfield> <ha-icon-picker .hass="${0}" .value="${0}" @value-changed="${0}" .label="${0}"> ${0} </ha-icon-picker> <h3 class="header"> ${0} </h3> <p class="description"> ${0} </p> ${0} <ha-area-picker no-add .hass="${0}" @value-changed="${0}" .excludeAreas="${0}" .label="${0}"></ha-area-picker> <h3 class="header"> ${0} </h3> <p class="description"> ${0} </p> <ha-aliases-editor .hass="${0}" .aliases="${0}" @value-changed="${0}"></ha-aliases-editor> </div> </div> <mwc-button slot="secondaryAction" @click="${0}"> ${0} </mwc-button> <mwc-button slot="primaryAction" @click="${0}" .disabled="${0}"> ${0} </mwc-button> </ha-dialog> `),this.closeDialog,(0,c.i)(this.hass,t?this.hass.localize("ui.panel.config.floors.editor.update_floor"):this.hass.localize("ui.panel.config.floors.editor.create_floor")),this._error?(0,o.dy)(_||(_=A`<ha-alert alert-type="error">${0}</ha-alert>`),this._error):"",t?(0,o.dy)(k||(k=A` <ha-settings-row> <span slot="heading"> ${0} </span> <span slot="description">${0}</span> </ha-settings-row> `),this.hass.localize("ui.panel.config.floors.editor.floor_id"),t.floor_id):o.Ld,this._name,thiLine truncated
//# sourceMappingURL=1244.479b2ebf71bab4e5.js.map
@@ -0,0 +1,5 @@
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
@@ -0,0 +1 @@
{"version":3,"file":"1244.479b2ebf71bab4e5.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/chips/ha-chip-set.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/chips/ha-input-chip.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-aliases-editor.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-area-picker.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-multi-textfield.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-settings-row.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/panels/config/areas/dialog-floor-registry-detail.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/panels/config/areas/show-dialog-area-registry-detail.ts","no-source/mwc-list-item.ts"],"names":["_decorate","customElement","_initialize","_MdChipSet","F","constructor","args","d","MdChipSet","_MdInputChip","HaInputChip","kind","static","key","value","_superPropGet","css","_t","_","MdInputChip","_LitElement","decorators","property","attribute","type","Array","Boolean","this","aliases","html","hass","disabled","localize","_aliasesChanged","nothing","fireEvent","LitElement","rowRenderer","item","classMap","area_id","ADD_NEW_ID","icon","_t2","_t3","mdiTextureBox","name","NO_ITEMS_ID","ADD_NEW_SUGGESTION_ID","state","query","_this$comboBox","updateComplete","comboBox","open","_this$comboBox2","focus","memoizeOne","areas","devices","entities","includeDomains","excludeDomains","includeDeviceClasses","deviceFilter","entityFilter","noAdd","excludeAreas","inputDevices","inputEntities","deviceEntityLookup","getDeviceEntityDisplayLookup","filter","entity","device","devEntities","id","length","some","includes","computeDomain","entity_id","every","stateObj","states","attributes","device_class","areaIds","outputAreas","map","concat","area","floor_id","picture","labels","created_at","modified_at","changedProps","_init","has","_opened","_getAreas","Object","values","assign","strings","items","filteredItems","_this$hass$areas$this","_t4","helper","_value","required","undefined","label","placeholder","_filterChanged","_openedChanged","_areaChanged","ev","_target$items","target","filterString","detail","fuzzyFilterSort","label_id","_suggestion","stopPropagation","newValue","setInputValue","loadFragmentTranslation","showAreaRegistryDetailDialog","suggestedName","createEntry","async","createAreaRegistryEntry","_setValue","err","showAlertDialog","title","text","message","setTimeout","_ref2","_this$addLabel","_this$hass2","_items","index","_ref","_this$removeLabel","_this$hass","indexSuffix","itemIndex","inputSuffix","inputPrefix","inputType","autocomplete","_editItem","_keyDown","removeLabel","_removeItem","_addItem","addLabel","_this$value","_this$shadowRoot","_fireChanged","field","shadowRoot","querySelector","splice","haStyle","reflect","threeLine","DialogFloorDetail","Set","params","_this$_params$entry","_this$_params$entry2","_this$_params$entry$l","_this$_params$entry3","_params","_error","_name","entry","_aliases","_icon","_level","level","_addedAreas","clear","_removedAreas","dialog","localName","added","removed","_this$_params","_floorAreas","nameInvalid","_isNameValid","closeDialog","createCloseHeading","_nameChanged","_levelChanged","_iconChanged","_t5","repeat","_t6","_openArea","_removeArea","_t7","_t8","_addArea","a","_updateEntry","_submitting","updateEntry","updateAreaRegistryEntry","areaId","delete","add","trim","Number","create","haStyleDialog","_t9","customElements","define","loadAreaRegistryDetailDialog","element","systemLogDetailParams","dialogTag","dialogImport","dialogParams","ListItem","ListItemBase","styles","__decorate"],"mappings":";iLAIsBA,EAAAA,EAAAA,GAAA,EADrBC,EAAAA,EAAAA,IAAc,iBAAc,SAAAC,EAAAC,GACc,OAAAC,EAD3C,cACsBD,EAAmBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAAnBK,EAAA,MAASC,EAAAA,uHCCPR,EAAAA,EAAAA,GAAA,EADvBC,EAAAA,EAAAA,IAAc,mBAAgB,SAAAC,EAAAO,GAA/B,MACaC,UAAWD,EAAqBJ,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,OA4B5C,OAAAE,EA5BYM,EAAWH,EAAA,EAAAI,KAAA,QAAAC,QAAA,EAAAC,IAAA,SAAAC,KAAAA,GAAA,MACG,KACvBC,EAAAA,EAAAA,GAFSL,EAAW,gBAGpBM,EAAAA,EAAAA,IAAGC,IAAAA,EAAAC,CAAA;;;gRAwBJ,OA3B8BC,EAAAA,qHCEdnB,EAAAA,EAAAA,GAAA,EADlBC,EAAAA,EAAAA,IAAc,uBAAoB,SAAAC,EAAAkB,GA+BlC,OAAAhB,EA/BD,cACmBgB,EAAoBf,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAI,KAAA,QAAAU,WAAA,EAChBC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQV,IAAA,OAAAC,WAAA,IAAAH,KAAA,QAAAU,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEE,KAAMC,SAAQZ,IAAA,UAAAC,WAAA,IAAAH,KAAA,QAAAU,WAAA,EAEzBC,EAAAA,EAAAA,IAAS,CAAEE,KAAME,WAAUb,IAAA,WAAAC,KAAALine truncated
@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["1285"],{65417:function(t,e,n){n.a(t,(async function(t,i){try{n.d(e,{WB:function(){return y},p6:function(){return l}});n(63434),n(96829),n(39527),n(67670);var a=n(16485),o=n(27486),r=n(50177),m=n(70691),u=t([a,m]);[a,m]=u.then?(await u)():u;(0,o.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{weekday:"long",month:"long",day:"numeric",timeZone:(0,m.f)(t.time_zone,e)})));const l=(t,e,n)=>c(e,n.time_zone).format(t),c=(0,o.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"long",day:"numeric",timeZone:(0,m.f)(t.time_zone,e)}))),y=((0,o.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"short",day:"numeric",timeZone:(0,m.f)(t.time_zone,e)}))),(t,e,n)=>{var i,a,o,m;const u=g(e,n.time_zone);if(e.date_format===r.t6.language||e.date_format===r.t6.system)return u.format(t);const l=u.formatToParts(t),c=null===(i=l.find((t=>"literal"===t.type)))||void 0===i?void 0:i.value,y=null===(a=l.find((t=>"day"===t.type)))||void 0===a?void 0:a.value,d=null===(o=l.find((t=>"month"===t.type)))||void 0===o?void 0:o.value,s=null===(m=l.find((t=>"year"===t.type)))||void 0===m?void 0:m.value,f=l.at(l.length-1);let h="literal"===(null==f?void 0:f.type)?null==f?void 0:f.value:"";"bg"===e.language&&e.date_format===r.t6.YMD&&(h="");return{[r.t6.DMY]:`${y}${c}${d}${c}${s}${h}`,[r.t6.MDY]:`${d}${c}${y}${c}${s}${h}`,[r.t6.YMD]:`${s}${c}${d}${c}${y}${h}`}[e.date_format]}),g=(0,o.Z)(((t,e)=>{const n=t.date_format===r.t6.system?void 0:t.language;return t.date_format===r.t6.language||(t.date_format,r.t6.system),new Intl.DateTimeFormat(n,{year:"numeric",month:"numeric",day:"numeric",timeZone:(0,m.f)(t.time_zone,e)})}));(0,o.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{day:"numeric",month:"short",timeZone:(0,m.f)(t.time_zone,e)}))),(0,o.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{month:"long",year:"numeric",timeZone:(0,m.f)(t.time_zone,e)}))),(0,o.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{month:"long",timeZone:(0,m.f)(t.time_zone,e)}))),(0,o.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",timeZone:(0,m.f)(t.time_zone,e)}))),(0,o.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{weekday:"long",timeZone:(0,m.f)(t.time_zone,e)}))),(0,o.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{weekday:"short",timeZone:(0,m.f)(t.time_zone,e)})));i()}catch(l){i(l)}}))},69027:function(t,e,n){n.a(t,(async function(t,i){try{n.d(e,{o0:function(){return y}});var a=n(16485),o=n(27486),r=n(65417),m=n(823),u=n(70691),l=n(51873),c=t([a,r,m,u]);[a,r,m,u]=c.then?(await c)():c;const y=(t,e,n)=>g(e,n.time_zone).format(t),g=(0,o.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"long",day:"numeric",hour:(0,l.y)(t)?"numeric":"2-digit",minute:"2-digit",hourCycle:(0,l.y)(t)?"h12":"h23",timeZone:(0,u.f)(t.time_zone,e)})));(0,o.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"short",day:"numeric",hour:(0,l.y)(t)?"numeric":"2-digit",minute:"2-digit",hourCycle:(0,l.y)(t)?"h12":"h23",timeZone:(0,u.f)(t.time_zone,e)}))),(0,o.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{month:"short",day:"numeric",hour:(0,l.y)(t)?"numeric":"2-digit",minute:"2-digit",hourCycle:(0,l.y)(t)?"h12":"h23",timeZone:(0,u.f)(t.time_zone,e)}))),(0,o.Z)(((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"long",day:"numeric",hour:(0,l.y)(t)?"numeric":"2-digit",minute:"2-digit",second:"2-digit",hourCycle:(0,l.y)(t)?"h12":"h23",timeZone:(0,u.f)(t.time_zone,e)})));i()}catch(y){i(y)}}))},21735:function(t,e,n){n.a(t,(async function(t,i){try{n.d(e,{$k:function(){return u},h6:function(){return c}});n(52247),n(95078);var a=n(16485),o=n(27486),r=t([a]);a=(r.then?(await r)():r)[0];const m=t=>t<10?`0${t}`:t,u=(t,e)=>{const n=e.days||0,i=e.hours||0,a=e.minutes||0,o=e.seconds||0,r=e.milliseconds||0;return n>0?`${Intl.NumberFormat(t.language,{style:"unit",unit:"day",unitDisplay:"long"}).format(n)} ${i}:${m(a)}:${m(o)}`:i>0?`${i}:${m(a)}:${m(o)}`:a>0?`${a}:${m(o)}`:o>0?Intl.NumberFormat(t.language,{style:"unit",unit:"second",unitDisplay:"long"}).format(o):r>0?Intl.NumberFormat(t.language,{style:"unit",unit:"millisecond",unitDisplay:"long"}).format(r):null},l=(0,o.Z)((t=>new Intl.DurationFormat(t.language,{style:"long"}))),c=(t,e)=>l(t).format(e);(0,o.Z)((t=>new Intl.DurationFormat(t.language,{style:"digital",hoursDisplay:"auto"}))),(0,o.Z)((t=>new Intl.DurationFormat(t.language,{style:"narrow",daysDisplay:"always"}))),(0,o.Z)((t=>new Intl.DurationFormat(t.language,{style:"narrow",hoursDisplay:"always"}))),(0,o.Z)((t=>new Intl.DurationFormat(t.language,{style:"narrow",minutesDisplay:"always"})));i()}catch(m){i(m)}}))},823:function(t,e,n){n.a(t,(async function(t,i){try{n.d(e,{Vu:function(){return y},Zs:function(){return f},mr:function(){return l},xO:function(){return d}});var a=n(16485),o=n(27486),r=n(70691),m=n(51873),u=t([a,r]);[a,r]=u.then?(await u)():u;const l=(t,e,n)=>c(e,n.time_zone).format(t),c=(0,o.Z)(((t,e)=>new Intl.DateTimeFormaLine truncated
//# sourceMappingURL=1285.d65cffca784bb9af.js.map
@@ -0,0 +1 @@
{"version":3,"file":"1285.d65cffca784bb9af.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/common/datetime/format_date.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/common/datetime/format_date_time.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/common/datetime/format_duration.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/common/datetime/format_time.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/common/datetime/resolve-time-zone.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/common/datetime/use_am_pm.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/common/entity/compute_attribute_display.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/common/string/capitalize-first-letter.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/common/string/is_date.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/data/entity_attributes.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/data/weather.ts"],"names":["memoizeOne","locale","serverTimeZone","Intl","DateTimeFormat","language","weekday","month","day","timeZone","resolveTimeZone","time_zone","formatDate","dateObj","config","formatDateMem","format","year","formatDateNumeric","_parts$find","_parts$find2","_parts$find3","_parts$find4","formatter","formatDateNumericMem","date_format","DateFormat","parts","formatToParts","literal","find","value","type","lastPart","at","length","lastLiteral","localeString","undefined","formatDateTime","formatDateTimeMem","hour","useAmPm","minute","hourCycle","second","leftPad","num","formatNumericDuration","duration","d","days","h","hours","m","minutes","s","seconds","ms","milliseconds","NumberFormat","style","unit","unitDisplay","formatDurationLongMem","DurationFormat","formatDurationLong","hoursDisplay","daysDisplay","minutesDisplay","formatTime","formatTimeMem","formatTimeWithSeconds","formatTimeWithSecondsMem","formatTimeWeekday","formatTimeWeekdayMem","formatTime24h","formatTime24hMem","hour12","RESOLVED_TIME_ZONE","_Intl$DateTimeFormat","_Intl$DateTimeFormat$","_Intl$DateTimeFormat$2","call","resolvedOptions","LOCAL_TIME_ZONE","option","TimeZone","time_format","TimeFormat","testLanguage","Date","toLocaleString","includes","computeAttributeNameDisplay","localize","stateObj","entities","attribute","entityId","entity_id","deviceClass","attributes","device_class","domain","computeDomain","entity","translationKey","translation_key","platform","capitalizeFirstLetter","replace","str","charAt","toUpperCase","slice","regExpString","RegExp","Set","DOMAIN_ATTRIBUTES_UNITS","climate","humidity","current_humidity","target_humidity_low","target_humidity_high","target_humidity_step","min_humidity","max_humidity","cover","current_position","current_tilt_position","fan","percentage","humidifier","light","color_temp","max_mireds","min_mireds","color_temp_kelvin","min_color_temp_kelvin","max_color_temp_kelvin","brightness","sun","azimuth","elevation","vacuum","battery_level","valve","sensor","media_player","volume_level","css","_t4","_"],"mappings":"0UAagCA,EAAAA,EAAAA,IAC9B,CAACC,EAA4BC,IAC3B,IAAIC,KAAKC,eAAeH,EAAOI,SAAU,CACvCC,QAAS,OACTC,MAAO,OACPC,IAAK,UACLC,UAAUC,EAAAA,EAAAA,GAAgBT,EAAOU,UAAWT,OAZ3C,MAiBMU,EAAaA,CACxBC,EACAZ,EACAa,IACGC,EAAcd,EAAQa,EAAOH,WAAWK,OAAOH,GAE9CE,GAAgBf,EAAAA,EAAAA,IACpB,CAACC,EAA4BC,IAC3B,IAAIC,KAAKC,eAAeH,EAAOI,SAAU,CACvCY,KAAM,UACNV,MAAO,OACPC,IAAK,UACLC,UAAUC,EAAAA,EAAAA,GAAgBT,EAAOU,UAAWT,OAsBrCgB,IAXclB,EAAAA,EAAAA,IACzB,CAACC,EAA4BC,IAC3B,IAAIC,KAAKC,eAAeH,EAAOI,SAAU,CACvCY,KAAM,UACNV,MAAO,QACPC,IAAK,UACLC,UAAUC,EAAAA,EAAAA,GAAgBT,EAAOU,UAAWT,OAKjBgB,CAC/BL,EACAZ,EACAa,KACG,IAAAK,EAAAC,EAAAC,EAAAC,EACH,MAAMC,EAAYC,EAAqBvB,EAAQa,EAAOH,WAEtD,GACEV,EAAOwB,cAAgBC,EAAAA,GAAAA,UACvBzB,EAAOwB,cAAgBC,EAAAA,GAAAA,OAEvB,OAAOH,EAAUP,OAAOH,GAG1B,MAAMc,EAAQJ,EAAUK,cAAcf,GAEhCgB,EAAyD,QAAlDV,EAAGQ,EAAMG,MAAMC,GAAyB,YAAfA,EAAMC,cAAmB,IAAAb,OAAA,EAA/CA,EAAiDY,MAC3DvB,EAAiD,QAA9CY,EAAGO,EAAMG,MAAMC,GAAyB,QAAfA,EAAMC,cAAe,IAAAZ,OAAA,EAA3CA,EAA6CW,MACnDxB,EAAqD,QAAhDc,EAAGM,EAAMG,MAAMC,GAAyB,UAAfA,EAAMC,cAAiB,IAAAX,OAAA,EAA7CA,EAA+CU,MACvDd,EAAmD,QAA/CK,EAAGK,EAAMG,MAAMC,GAAyB,SAAfA,EAAMC,cAAgB,IAAAV,OAAA,EAA5CA,EAA8CS,MAErDE,EAAWN,EAAMO,GAAGP,EAAMQ,OAAS,GACzC,IAAIC,EAAiC,aAAnBH,aAAQ,EAARA,EAAUD,MAAqBC,aAAQ,EAARA,EAAUF,MAAQ,GAE3C,OAApB9B,EAAOI,UAAqBJ,EAAOwB,cAAgBC,EAAAA,GAAAA,MACrDU,EAAc,IAShB,MANgB,CACd,CAACV,EAAAA,GAAAA,KAAiB,GAAGlB,IAAMqB,IAAUtB,IAAQsB,IAAULine truncated
@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["1442"],{9643:function(e,r,t){t.r(r),t.d(r,{HaQrCode:function(){return k}});var a=t(73577),i=t(72621),s=(t(71695),t(23669),t(13334),t(47021),t(57243)),o=t(50778),n=t(54647),d=(t(17949),t(91635));let c,l,h,u=e=>e,k=(0,a.Z)([(0,o.Mo)("ha-qr-code")],(function(e,r){class t extends r{constructor(...r){super(...r),e(this)}}return{F:t,d:[{kind:"field",decorators:[(0,o.Cb)()],key:"data",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:"error-correction-level"})],key:"errorCorrectionLevel",value(){return"medium"}},{kind:"field",decorators:[(0,o.Cb)({type:Number})],key:"width",value(){return 4}},{kind:"field",decorators:[(0,o.Cb)({type:Number})],key:"scale",value(){return 4}},{kind:"field",decorators:[(0,o.Cb)({type:Number})],key:"margin",value(){return 4}},{kind:"field",decorators:[(0,o.Cb)({attribute:!1,type:Number})],key:"maskPattern",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:"center-image"})],key:"centerImage",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_error",value:void 0},{kind:"field",decorators:[(0,o.IO)("canvas")],key:"_canvas",value:void 0},{kind:"method",key:"willUpdate",value:function(e){(0,i.Z)(t,"willUpdate",this,3)([e]),(e.has("data")||e.has("scale")||e.has("width")||e.has("margin")||e.has("maskPattern")||e.has("errorCorrectionLevel"))&&this._error&&(this._error=void 0)}},{kind:"method",key:"updated",value:function(e){const r=this._canvas;if(r&&this.data&&(e.has("data")||e.has("scale")||e.has("width")||e.has("margin")||e.has("maskPattern")||e.has("errorCorrectionLevel")||e.has("centerImage"))){const e=getComputedStyle(this),t=e.getPropertyValue("--rgb-primary-text-color"),a=e.getPropertyValue("--rgb-card-background-color"),i=(0,d.CO)(t.split(",").map((e=>parseInt(e,10)))),s=(0,d.CO)(a.split(",").map((e=>parseInt(e,10))));if(n.toCanvas(r,this.data,{errorCorrectionLevel:this.errorCorrectionLevel||(this.centerImage?"Q":"M"),width:this.width,scale:this.scale,margin:this.margin,maskPattern:this.maskPattern,color:{light:s,dark:i}}).catch((e=>{this._error=e.message})),this.centerImage){const e=this._canvas.getContext("2d"),t=new Image;t.src=this.centerImage,t.onload=()=>{null==e||e.drawImage(t,.375*r.width,.375*r.height,r.width/4,r.height/4)}}}}},{kind:"method",key:"render",value:function(){return this.data?this._error?(0,s.dy)(c||(c=u`<ha-alert alert-type="error">${0}</ha-alert>`),this._error):(0,s.dy)(l||(l=u`<canvas></canvas>`)):s.Ld}},{kind:"field",static:!0,key:"styles",value(){return(0,s.iv)(h||(h=u`:host{display:block}`))}}]}}),s.oi)}}]);
//# sourceMappingURL=1442.4559b6261e356849.js.map
@@ -0,0 +1 @@
{"version":3,"file":"1442.4559b6261e356849.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-qr-code.ts"],"names":["HaQrCode","_decorate","customElement","_initialize","_LitElement","constructor","args","F","d","kind","decorators","property","key","value","attribute","type","Number","state","query","changedProperties","_superPropGet","has","this","_error","undefined","canvas","_canvas","data","computedStyles","getComputedStyle","textRgb","getPropertyValue","backgroundRgb","textHex","rgb2hex","split","map","a","parseInt","backgroundHex","QRCode","errorCorrectionLevel","centerImage","width","scale","margin","maskPattern","color","light","dark","catch","err","message","context","getContext","imageObj","Image","src","onload","drawImage","height","html","_t","_","_t2","nothing","static","css","_t3","LitElement"],"mappings":"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"}
@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["1477"],{93721:function(e,i,t){t.r(i),t.d(i,{HaTimeSelector:function(){return o}});var d=t(73577),n=(t(71695),t(47021),t(57243)),l=t(50778);t(81483);let a,r=e=>e,o=(0,d.Z)([(0,l.Mo)("ha-selector-time")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,l.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,l.Cb)({attribute:!1})],key:"selector",value:void 0},{kind:"field",decorators:[(0,l.Cb)()],key:"value",value:void 0},{kind:"field",decorators:[(0,l.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,l.Cb)()],key:"helper",value:void 0},{kind:"field",decorators:[(0,l.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,l.Cb)({type:Boolean})],key:"required",value(){return!1}},{kind:"method",key:"render",value:function(){var e;return(0,n.dy)(a||(a=r` <ha-time-input .value="${0}" .locale="${0}" .disabled="${0}" .required="${0}" clearable .helper="${0}" .label="${0}" .enableSecond="${0}"></ha-time-input> `),"string"==typeof this.value?this.value:void 0,this.hass.locale,this.disabled,this.required,this.helper,this.label,!(null!==(e=this.selector.time)&&void 0!==e&&e.no_second))}}]}}),n.oi)},70596:function(e,i,t){var d=t(73577),n=t(72621),l=(t(71695),t(47021),t(1105)),a=t(33990),r=t(57243),o=t(50778),c=t(13089);let s,f,p,u,x=e=>e;(0,d.Z)([(0,o.Mo)("ha-textfield")],(function(e,i){class t extends i{constructor(...i){super(...i),e(this)}}return{F:t,d:[{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"invalid",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:"error-message"})],key:"errorMessage",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"icon",value(){return!1}},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"iconTrailing",value(){return!1}},{kind:"field",decorators:[(0,o.Cb)()],key:"autocomplete",value:void 0},{kind:"field",decorators:[(0,o.Cb)()],key:"autocorrect",value:void 0},{kind:"field",decorators:[(0,o.Cb)({attribute:"input-spellcheck"})],key:"inputSpellcheck",value:void 0},{kind:"field",decorators:[(0,o.IO)("input")],key:"formElement",value:void 0},{kind:"method",key:"updated",value:function(e){(0,n.Z)(t,"updated",this,3)([e]),(e.has("invalid")||e.has("errorMessage"))&&(this.setCustomValidity(this.invalid?this.errorMessage||this.validationMessage||"Invalid":""),(this.invalid||this.validateOnInitialRender||e.has("invalid")&&void 0!==e.get("invalid"))&&this.reportValidity()),e.has("autocomplete")&&(this.autocomplete?this.formElement.setAttribute("autocomplete",this.autocomplete):this.formElement.removeAttribute("autocomplete")),e.has("autocorrect")&&(this.autocorrect?this.formElement.setAttribute("autocorrect",this.autocorrect):this.formElement.removeAttribute("autocorrect")),e.has("inputSpellcheck")&&(this.inputSpellcheck?this.formElement.setAttribute("spellcheck",this.inputSpellcheck):this.formElement.removeAttribute("spellcheck"))}},{kind:"method",key:"renderIcon",value:function(e,i=!1){const t=i?"trailing":"leading";return(0,r.dy)(s||(s=x` <span class="mdc-text-field__icon mdc-text-field__icon--${0}" tabindex="${0}"> <slot name="${0}Icon"></slot> </span> `),t,i?1:-1,t)}},{kind:"field",static:!0,key:"styles",value(){return[a.W,(0,r.iv)(f||(f=x`.mdc-text-field__input{width:var(--ha-textfield-input-width,100%)}.mdc-text-field:not(.mdc-text-field--with-leading-icon){padding:var(--text-field-padding,0px 16px)}.mdc-text-field__affix--suffix{padding-left:var(--text-field-suffix-padding-left,12px);padding-right:var(--text-field-suffix-padding-right,0px);padding-inline-start:var(--text-field-suffix-padding-left,12px);padding-inline-end:var(--text-field-suffix-padding-right,0px);direction:ltr}.mdc-text-field--with-leading-icon{padding-inline-start:var(--text-field-suffix-padding-left,0px);padding-inline-end:var(--text-field-suffix-padding-right,16px);direction:var(--direction)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:var(--text-field-suffix-padding-left,0px);padding-right:var(--text-field-suffix-padding-right,0px);padding-inline-start:var(--text-field-suffix-padding-left,0px);padding-inline-end:var(--text-field-suffix-padding-right,0px)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--suffix{color:var(--secondary-text-color)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon{color:var(--secondary-text-color)}.mdc-text-field__icon--leading{margin-inline-start:16px;margin-inline-end:8px;direction:var(--direction)}.mdc-text-field__icon--trailing{padding:var(--textfield-icon-trailing-padding,12px)}.mdc-floating-label:not(.mdc-floating-label--float-above){text-overflow:ellipsis;width:inherit;padding-right:30px;padding-inline-end:30px;padding-inline-start:initial;box-sizing:border-box;direction:var(--direction)}input{text-align:var(--text-field-text-align,start)}::-ms-reveal{di Line truncated
//# sourceMappingURL=1477.aa80831c9f0c4257.js.map
@@ -0,0 +1 @@
{"version":3,"file":"1477.aa80831c9f0c4257.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-selector/ha-selector-time.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-textfield.ts"],"names":["HaTimeSelector","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","_this$selector$time","html","_t","_","this","undefined","hass","locale","disabled","required","helper","label","selector","time","no_second","LitElement","_TextFieldBase","HaTextField","query","changedProperties","_superPropGet","has","setCustomValidity","invalid","errorMessage","validationMessage","validateOnInitialRender","get","reportValidity","autocomplete","formElement","setAttribute","removeAttribute","autocorrect","inputSpellcheck","_icon","isTrailingIcon","static","styles","css","_t2","mainWindow","_t3","_t4","TextFieldBase"],"mappings":"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"}
@@ -0,0 +1,18 @@
/*! For license information please see 1533.c11cba73c9f06e34.js.LICENSE.txt */
"use strict";(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["1533"],{32517:function(t,e,i){var s=i(1569),r=i(85779),n=i(27803),o=i(31126),a=i(29660),l=s.RegExp,d=l.prototype;r&&a((function(){var t=!0;try{l(".","d")}catch(a){t=!1}var e={},i="",s=t?"dgimsy":"gimsy",r=function(t,s){Object.defineProperty(e,t,{get:function(){return i+=s,!0}})},n={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var o in t&&(n.hasIndices="d"),n)r(o,n[o]);return Object.getOwnPropertyDescriptor(d,"flags").get.call(e)!==s||i!==s}))&&n(d,"flags",{configurable:!0,get:o})},78755:function(t,e,i){i.d(e,{g:()=>$});var s=i("9065"),r=i("50778"),n=(i("71695"),i("19423"),i("47021"),i("57618"),i("26499"),i("23111"),i("57243")),o=i("35359"),a=i("79840"),l=i("13823"),d=i("64840");let c,m,u,h,p,g,f,v,y=t=>t;const b=(0,l.T)(n.oi);class x extends b{constructor(){super(...arguments),this.disabled=!1,this.type="text",this.isListItem=!0,this.href="",this.target=""}get isDisabled(){return this.disabled&&"link"!==this.type}willUpdate(t){this.href&&(this.type="link"),super.willUpdate(t)}render(){return this.renderListItem((0,n.dy)(c||(c=y` <md-item> <div slot="container"> ${0} ${0} </div> <slot name="start" slot="start"></slot> <slot name="end" slot="end"></slot> ${0} </md-item> `),this.renderRipple(),this.renderFocusRing(),this.renderBody()))}renderListItem(t){const e="link"===this.type;let i;switch(this.type){case"link":i=(0,a.i0)(m||(m=y`a`));break;case"button":i=(0,a.i0)(u||(u=y`button`));break;default:i=(0,a.i0)(h||(h=y`li`))}const s="text"!==this.type,r=e&&this.target?this.target:n.Ld;return(0,a.dy)(p||(p=y`
<${0}
id="item"
tabindex="${0}"
?disabled=${0}
role="listitem"
aria-selected=${0}
aria-checked=${0}
aria-expanded=${0}
aria-haspopup=${0}
class="list-item ${0}"
href=${0}
target=${0}
@focus=${0}
>${0}</${0}>
`),i,this.isDisabled||!s?-1:0,this.isDisabled,this.ariaSelected||n.Ld,this.ariaChecked||n.Ld,this.ariaExpanded||n.Ld,this.ariaHasPopup||n.Ld,(0,o.$)(this.getRenderClasses()),this.href||n.Ld,r,this.onFocus,t,i)}renderRipple(){return"text"===this.type?n.Ld:(0,n.dy)(g||(g=y` <md-ripple part="ripple" for="item" ?disabled="${0}"></md-ripple>`),this.isDisabled)}renderFocusRing(){return"text"===this.type?n.Ld:(0,n.dy)(f||(f=y` <md-focus-ring @visibility-changed="${0}" part="focus-ring" for="item" inward></md-focus-ring>`),this.onFocusRingVisibilityChanged)}onFocusRingVisibilityChanged(t){}getRenderClasses(){return{disabled:this.isDisabled}}renderBody(){return(0,n.dy)(v||(v=y` <slot></slot> <slot name="overline" slot="overline"></slot> <slot name="headline" slot="headline"></slot> <slot name="supporting-text" slot="supporting-text"></slot> <slot name="trailing-supporting-text" slot="trailing-supporting-text"></slot> `))}onFocus(){-1===this.tabIndex&&this.dispatchEvent((0,d.oh)())}focus(){var t;null===(t=this.listItemRoot)||void 0===t||t.focus()}}x.shadowRootOptions=Object.assign(Object.assign({},n.oi.shadowRootOptions),{},{delegatesFocus:!0}),(0,s.gn)([(0,r.Cb)({type:Boolean,reflect:!0})],x.prototype,"disabled",void 0),(0,s.gn)([(0,r.Cb)({reflect:!0})],x.prototype,"type",void 0),(0,s.gn)([(0,r.Cb)({type:Boolean,attribute:"md-list-item",reflect:!0})],x.prototype,"isListItem",void 0),(0,s.gn)([(0,r.Cb)()],x.prototype,"href",void 0),(0,s.gn)([(0,r.Cb)()],x.prototype,"target",void 0),(0,s.gn)([(0,r.IO)(".list-item")],x.prototype,"listItemRoot",void 0);let C;const w=(0,n.iv)(C||(C=(t=>t)`:host{display:flex;-webkit-tap-highlight-color:transparent;--md-ripple-hover-color:var(--md-list-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity:var(--md-list-item-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color:var(--md-list-item-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity:var(--md-list-item-pressed-state-layer-opacity, 0.12)}:host(:is([type=button]:not([disabled]),[type=link])){cursor:pointer}md-focus-ring{z-index:1;--md-focus-ring-shape:8px}a,button,li{background:0 0;border:none;cursor:inherit;padding:0;margin:0;text-align:unset;text-decoration:none}.list-item{border-radius:inherit;display:flex;flex:1;max-width:inherit;min-width:inherit;outline:0;-webkit-tap-highlight-color:transparent;width:100%}.list-item.interactive{cursor:pointer}.list-item.disabled{opacity:var(--md-list-item-disabled-opacity, .3);pointer-events:none}[slot=container]{pointer-events:none}md-ripple{border-radius:inherit}md-item{border-radius:inherit;flex:1;height:100%;color:var(--md-list-item-label-text-color,var(--md-sys-color-on-surface,#1d1b20));font-family:var(--md-list-item-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));line-height:var(--md-list-item-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));font-weight:var(--md-list-item-label-text-weight,var(--md-sys-typescale-body-large-weight,var(--md-ref-typeface-weight-regular,400)));min-height:var(--md-list-item-one-line-container-height,56px);padding-top:var(--md-list-item-top-space,12px);padding-bottom:var(--md-list-item-bottom-space,12px);padding-inline-start:var(--md-list-item-leading-space,16px);padding-inline-end:var(--md-list-item-trailing-space,16px)}md-item[multiline]{min-height:var(--md-list-item-two-line-container-height,72px)}[slot=supporting-text]{color:var(--md-list-item-supporting-text-color,var(--md-sys-color-on-surface-variant,#49454f));font-family:var(--md-list-item-supporting-text-font, var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-supporting-text-size, var(--md-sys-typescale-body-medium-size, .875rem));line-height:var(--md-list-item-supporting-text-line-height, var(--md-sys-typescale-body-medium-line-height, 1.25rem));font-weight:var(--md-list-item-supporting-text-weight,var(--md-sys-typescale-body-medium-weight,var(--md-ref-typeface-weight-regular,400)))}[slot=trailing-supporting-text]{color:var(--md-list-item-trailing-supporting-text-color,var(--md-sys-color-on-surface-variant,#49454f));font-family:var(--md-list-item-trailing-supporting-text-font, var(--md-sys-typescale-label-small-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-trailing-supporting-text-size, var(--md-sys-typescale-label-small-size, .6875rem));line-height:var(--md-list-item-trailing-supporting-text-line-height, var(--md-sys-typescale-label-small-line-height, 1rem));font-weight:var(--md-list-item-trailing-supporting-text-weight,var(--md-sys-typescale-label-small-weight,var(--md-ref-typeface-weight-medium,500)))}:is([slot=start],[slot=end])::slotted(*){fill:currentColor}[slot=start]{color:var(--md-list-item-leading-icon-color,var(--md-sys-color-on-surfaceLine truncated
//# sourceMappingURL=1533.c11cba73c9f06e34.js.map
@@ -0,0 +1,23 @@
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @license
* Copyright 2022 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @license
* Copyright 2024 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
@@ -0,0 +1 @@
{"version":3,"file":"1533.c11cba73c9f06e34.js","sources":["no-source/node_modules/core-js/modules/es.regexp.flags.js","no-source/list-item.ts","no-source/list-item-styles.ts","no-source/list.ts","no-source/list-styles.ts","no-source/node_modules/date-fns/parseISO.js","no-source/node_modules/home-assistant-js-websocket/dist/config.js","no-source/../src/directives/private-async-helpers.ts","no-source/../src/directives/until.ts"],"names":["globalThis","DESCRIPTORS","defineBuiltInAccessor","regExpFlags","fails","RegExp","RegExpPrototype","prototype","INDICES_SUPPORT","error","O","calls","expected","addGetter","key","chr","Object","defineProperty","get","pairs","dotAll","global","ignoreCase","multiline","sticky","hasIndices","getOwnPropertyDescriptor","call","configurable","listItemBaseClass","mixinDelegatesAria","LitElement","ListItemEl","constructor","disabled","type","isListItem","href","target","isDisabled","this","willUpdate","changed","super","render","renderListItem","html","_t","_","renderRipple","renderFocusRing","renderBody","content","isAnchor","tag","literal","_t2","_t3","_t4","isInteractive","nothing","staticHtml","_t5","ariaSelected","ariaChecked","ariaExpanded","ariaHasPopup","classMap","getRenderClasses","onFocus","_t6","_t7","onFocusRingVisibilityChanged","e","_t8","tabIndex","dispatchEvent","createRequestActivationEvent","focus","_this$listItemRoot","listItemRoot","shadowRootOptions","assign","delegatesFocus","__decorate","property","Boolean","reflect","attribute","query","styles","css","MdListItem","ListItem","customElement","NAVIGABLE_KEY_SET","Set","values","NavigableKeys","List","items","listController","ListController","isItem","item","hasAttribute","getPossibleItems","slotItems","isRtl","getComputedStyle","direction","deactivateItem","activateItem","isNavigableKey","has","isActivatable","internals","attachInternals","isServer","role","addEventListener","handleKeydown","onDeactivateItems","onRequestActivation","onSlotchange","activateNextItem","activatePreviousItem","queryAssignedElements","flatten","MdList","parseISO","argument","options","_options$additionalDi","invalidDate","constructFrom","in","NaN","additionalDigits","dateStrings","dateString","array","split","patterns","dateTimeDelimiter","timeString","length","test","date","timeZoneDelimiter","substr","token","timezone","exec","time","replace","splitDateString","parseYearResult","regex","captures","match","year","restDateString","parseInt","century","slice","parseYear","Date","dateRegex","isWeekDate","dayOfYear","parseDateUnit","month","day","week","dayOfWeek","_year","validateWeekDate","isoWeekYear","setUTCFullYear","fourthOfJanuaryDay","getUTCDay","diff","setUTCDate","getUTCDate","dayOfISOWeekYear","daysInMonths","isLeapYearIndex","validateDate","validateDayOfYearDate","Math","max","parseDate","isNaN","timestamp","offset","timeRegex","hours","parseTimeUnit","minutes","seconds","validateTime","millisecondsInHour","millisecondsInMinute","parseTime","tmpDate","result","toDate","setFullYear","getUTCFullYear","getUTCMonth","setHours","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","timezoneString","timezoneRegex","sign","_hours","validateTimezone","parseTimezone","value","parseFloat","STATE_NOT_RUNNING","s","t","G","disconnect","reconnect","deref","i","Y","Z","pause","Promise","resume","n","then","h","c","arguments","_$C_t","_$Cwt","_$Cq","r","_$CK","find","update","o","isConnected","disconnected","resolve","async","indexOf","setValue","reconnected","m"],"mappings":";uHAEA,IAAIA,EAAa,EAAQ,MACrBC,EAAc,EAAQ,OACtBC,EAAwB,EAAQ,OAChCC,EAAc,EAAQ,OACtBC,EAAQ,EAAQ,OAGhBC,EAASL,EAAWK,OACpBC,EAAkBD,EAAOE,UAChBN,GAAeG,GAAM,WAChC,IAAII,GAAkB,EACtB,IACEH,EAAO,IAAK,IACd,CAAE,MAAOI,GACPD,GAAkB,CACpB,CACA,IAAIE,EAAI,CAAC,EAELC,EAAQ,GACRC,EAAWJ,EAAkB,SAAW,QACxCK,EAAY,SAAUC,EAAKC,GAE7BC,OAAOC,eAAeP,EAAGI,EAAK,CAC5BI,IAAK,WAEH,OADAP,GAASI,GACF,CACT,GAEJ,EACII,EAAQ,CACVC,OAAQ,IACRC,OAAQ,IACRC,WAAY,IACZC,UAAW,IACXC,OAAQ,KAGV,IAAK,IAAIV,KADLN,IAAiBW,EAAMM,WAAa,KACxBN,EAAON,EAAUC,EAAKK,EAAML,IAI5C,OADaE,OAAOU,yBAAyBpB,EAAiB,SAASY,IAAIS,KAAKjB,KAC9DE,GAAYD,IAAUC,CAC1C,KAIYV,EAAsBI,EAAiB,QAAS,CAC1DsB,cAAc,EACdV,IAAKf,yOCtBP,MAAM0B,GAAoBC,EAAAA,EAAAA,GAAmBC,EAAAA,IAMvC,MAAOC,UAAmBH,EAAhCI,WAAAA,uBAU4C,KAAAC,UAAW,EAM1B,KAAAC,KAAqB,OAMhD,KAAAC,YAAa,EAKD,KAAAC,KAAO,GAMP,KAAAC,OAAuD,EA0IrE,CAtIE,cAAYC,GACV,OAAOC,KAAKN,UAA0B,SAAdM,KAAKL,IAC/B,CAEmBM,UAAAA,CAAWC,GACxBF,KAAKH,OACPG,KAAKL,KAAO,QAGdQ,MAAMF,WAAWC,EACnB,CAEmBE,MAAAA,GACjB,OAAOJ,KAAKK,gBAAeC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mJAGvBR,KAAKS,eAAkBT,KAAKU,kBAI9BV,KAAKW,cAGb,CAOUN,cAAAA,CAAeO,GACvB,MAAMC,EAAyB,SAAdb,KAAKL,KACtB,IAAImB,EACJ,OAAQd,KAAKL,MACX,IAAK,OACHmB,GAAMC,EAAAA,EAAAA,IAAOC,IAAAA,EAAAR,CAAA,MACb,MACF,IAAK,SACHM,GAAMC,EAAAA,EAAAA,IAAOE,IAAAA,EAAAT,CAAA,WACb,MACF,QAEEM,GAAMC,EAAAA,EAAAA,IAAOG,IAAAA,EAAAV,CAAA,OAIjB,MAAMW,EAA8B,SAAdnB,KAAKL,KAGrBG,EAASe,GAAcb,KAAKF,OAASE,KAAKF,OAASsB,EAAAA,GACzD,OAAOC,EAAAA,EAAAA,IAAUC,IAAAA,EAAAd,CAAA;SAAA;;oBAAA;oBAAA;;wBAAA;uBAAA;wBAAA;wBALine truncated
@@ -0,0 +1,3 @@
/*! For license information please see 1552.82d15d16af501c4d.js.LICENSE.txt */
"use strict";(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["1552"],{73293:function(t,e,i){i.d(e,{Fn:function(){return s},ku:function(){return x}});i(71695),i(92519),i(42179),i(89256),i(24931),i(88463),i(57449),i(19814),i(47021);var s={UNKNOWN:"Unknown",BACKSPACE:"Backspace",ENTER:"Enter",SPACEBAR:"Spacebar",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",END:"End",HOME:"Home",ARROW_LEFT:"ArrowLeft",ARROW_UP:"ArrowUp",ARROW_RIGHT:"ArrowRight",ARROW_DOWN:"ArrowDown",DELETE:"Delete",ESCAPE:"Escape",TAB:"Tab"},n=new Set;n.add(s.BACKSPACE),n.add(s.ENTER),n.add(s.SPACEBAR),n.add(s.PAGE_UP),n.add(s.PAGE_DOWN),n.add(s.END),n.add(s.HOME),n.add(s.ARROW_LEFT),n.add(s.ARROW_UP),n.add(s.ARROW_RIGHT),n.add(s.ARROW_DOWN),n.add(s.DELETE),n.add(s.ESCAPE),n.add(s.TAB);var d=8,o=13,a=32,r=33,l=34,c=35,m=36,h=37,u=38,p=39,I=40,E=46,_=27,S=9,A=new Map;A.set(d,s.BACKSPACE),A.set(o,s.ENTER),A.set(a,s.SPACEBAR),A.set(r,s.PAGE_UP),A.set(l,s.PAGE_DOWN),A.set(c,s.END),A.set(m,s.HOME),A.set(h,s.ARROW_LEFT),A.set(u,s.ARROW_UP),A.set(p,s.ARROW_RIGHT),A.set(I,s.ARROW_DOWN),A.set(E,s.DELETE),A.set(_,s.ESCAPE),A.set(S,s.TAB);var f=new Set;function x(t){var e=t.key;if(n.has(e))return e;var i=A.get(t.keyCode);return i||s.UNKNOWN}f.add(s.PAGE_UP),f.add(s.PAGE_DOWN),f.add(s.END),f.add(s.HOME),f.add(s.ARROW_LEFT),f.add(s.ARROW_UP),f.add(s.ARROW_RIGHT),f.add(s.ARROW_DOWN)},1328:function(t,e,i){var s,n;i.d(e,{KT:function(){return r},UX:function(){return d},j2:function(){return a}});var d={LIST_ITEM_ACTIVATED_CLASS:"mdc-list-item--activated",LIST_ITEM_CLASS:"mdc-list-item",LIST_ITEM_DISABLED_CLASS:"mdc-list-item--disabled",LIST_ITEM_SELECTED_CLASS:"mdc-list-item--selected",LIST_ITEM_TEXT_CLASS:"mdc-list-item__text",LIST_ITEM_PRIMARY_TEXT_CLASS:"mdc-list-item__primary-text",ROOT:"mdc-list"},o=((s={})[""+d.LIST_ITEM_ACTIVATED_CLASS]="mdc-list-item--activated",s[""+d.LIST_ITEM_CLASS]="mdc-list-item",s[""+d.LIST_ITEM_DISABLED_CLASS]="mdc-list-item--disabled",s[""+d.LIST_ITEM_SELECTED_CLASS]="mdc-list-item--selected",s[""+d.LIST_ITEM_PRIMARY_TEXT_CLASS]="mdc-list-item__primary-text",s[""+d.ROOT]="mdc-list",(n={})[""+d.LIST_ITEM_ACTIVATED_CLASS]="mdc-deprecated-list-item--activated",n[""+d.LIST_ITEM_CLASS]="mdc-deprecated-list-item",n[""+d.LIST_ITEM_DISABLED_CLASS]="mdc-deprecated-list-item--disabled",n[""+d.LIST_ITEM_SELECTED_CLASS]="mdc-deprecated-list-item--selected",n[""+d.LIST_ITEM_TEXT_CLASS]="mdc-deprecated-list-item__text",n[""+d.LIST_ITEM_PRIMARY_TEXT_CLASS]="mdc-deprecated-list-item__primary-text",n[""+d.ROOT]="mdc-deprecated-list",n),a={ACTION_EVENT:"MDCList:action",SELECTION_CHANGE_EVENT:"MDCList:selectionChange",ARIA_CHECKED:"aria-checked",ARIA_CHECKED_CHECKBOX_SELECTOR:'[role="checkbox"][aria-checked="true"]',ARIA_CHECKED_RADIO_SELECTOR:'[role="radio"][aria-checked="true"]',ARIA_CURRENT:"aria-current",ARIA_DISABLED:"aria-disabled",ARIA_ORIENTATION:"aria-orientation",ARIA_ORIENTATION_HORIZONTAL:"horizontal",ARIA_ROLE_CHECKBOX_SELECTOR:'[role="checkbox"]',ARIA_SELECTED:"aria-selected",ARIA_INTERACTIVE_ROLES_SELECTOR:'[role="listbox"], [role="menu"]',ARIA_MULTI_SELECTABLE_SELECTOR:'[aria-multiselectable="true"]',CHECKBOX_RADIO_SELECTOR:'input[type="checkbox"], input[type="radio"]',CHECKBOX_SELECTOR:'input[type="checkbox"]',CHILD_ELEMENTS_TO_TOGGLE_TABINDEX:"\n ."+d.LIST_ITEM_CLASS+" button:not(:disabled),\n ."+d.LIST_ITEM_CLASS+" a,\n ."+o[d.LIST_ITEM_CLASS]+" button:not(:disabled),\n ."+o[d.LIST_ITEM_CLASS]+" a\n ",DEPRECATED_SELECTOR:".mdc-deprecated-list",FOCUSABLE_CHILD_ELEMENTS:"\n ."+d.LIST_ITEM_CLASS+" button:not(:disabled),\n ."+d.LIST_ITEM_CLASS+" a,\n ."+d.LIST_ITEM_CLASS+' input[type="radio"]:not(:disabled),\n .'+d.LIST_ITEM_CLASS+' input[type="checkbox"]:not(:disabled),\n .'+o[d.LIST_ITEM_CLASS]+" button:not(:disabled),\n ."+o[d.LIST_ITEM_CLASS]+" a,\n ."+o[d.LIST_ITEM_CLASS]+' input[type="radio"]:not(:disabled),\n .'+o[d.LIST_ITEM_CLASS]+' input[type="checkbox"]:not(:disabled)\n ',RADIO_SELECTOR:'input[type="radio"]',SELECTED_ITEM_SELECTOR:'[aria-selected="true"], [aria-current="true"]'},r={UNSET_INDEX:-1,TYPEAHEAD_BUFFER_CLEAR_TIMEOUT_MS:300}},26625:function(t,e,i){i.d(e,{PV:function(){return r},ZP:function(){return m}});i(52247),i(71695),i(92745),i(61893),i(19423),i(92519),i(42179),i(89256),i(24931),i(88463),i(57449),i(19814),i(47021);var s=i(80573),n=i(73293),d=i(1328);const o=(t,e)=>t-e,a=["input","button","textarea","select"];function r(t){return t instanceof Set}const l=t=>{const e=t===d.KT.UNSET_INDEX?new Set:t;return r(e)?new Set(e):new Set([e])};class c extends s.K{constructor(t){super(Object.assign(Object.assign({},c.defaultAdapter),t)),this.isMulti_=!1,this.wrapFocus_=!1,this.isVertical_=!0,this.selectedIndex_=d.KT.UNSET_INDEX,this.focusedItemIndex_=d.KT.UNSET_INDEX,this.useActivatedClass_=!1,this.ariaCurrentAttrValue_=null}static get strings(){return d.j2}static get numbers(){return d.KT}static get defaultAdapter(){return{focusItemAtIndex:()=>{},getFocusedElemeLine truncated
//# sourceMappingURL=1552.82d15d16af501c4d.js.map
@@ -0,0 +1,34 @@
/**
* @license
* Copyright 2018 Google Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @license
* Copyright 2021 Google LLC
* SPDX-LIcense-Identifier: Apache-2.0
*/
@@ -0,0 +1 @@
{"version":3,"file":"1552.82d15d16af501c4d.js","sources":["no-source/keyboard.ts","no-source/constants.ts","no-source/mwc-list-foundation.ts","no-source/mwc-list-base.ts","no-source/mwc-list.css.ts","no-source/mwc-list.ts"],"names":["KEY","UNKNOWN","BACKSPACE","ENTER","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","DELETE","ESCAPE","TAB","normalizedKeys","Set","add","KEY_CODE","mappedKeyCodes","Map","set","navigationKeys","normalizeKey","evt","key","has","mappedKey","get","keyCode","cssClasses","LIST_ITEM_ACTIVATED_CLASS","LIST_ITEM_CLASS","LIST_ITEM_DISABLED_CLASS","LIST_ITEM_SELECTED_CLASS","LIST_ITEM_TEXT_CLASS","LIST_ITEM_PRIMARY_TEXT_CLASS","ROOT","deprecatedClassNameMap","_a","_b","strings","ACTION_EVENT","SELECTION_CHANGE_EVENT","ARIA_CHECKED","ARIA_CHECKED_CHECKBOX_SELECTOR","ARIA_CHECKED_RADIO_SELECTOR","ARIA_CURRENT","ARIA_DISABLED","ARIA_ORIENTATION","ARIA_ORIENTATION_HORIZONTAL","ARIA_ROLE_CHECKBOX_SELECTOR","ARIA_SELECTED","ARIA_INTERACTIVE_ROLES_SELECTOR","ARIA_MULTI_SELECTABLE_SELECTOR","CHECKBOX_RADIO_SELECTOR","CHECKBOX_SELECTOR","CHILD_ELEMENTS_TO_TOGGLE_TABINDEX","DEPRECATED_SELECTOR","FOCUSABLE_CHILD_ELEMENTS","RADIO_SELECTOR","SELECTED_ITEM_SELECTOR","numbers","UNSET_INDEX","TYPEAHEAD_BUFFER_CLEAR_TIMEOUT_MS","integerSort","a","b","ELEMENTS_KEY_ALLOWED_IN","isIndexSet","selectedIndex","createSetFromIndex","index","entry","MDCListFoundation","MDCFoundation","constructor","adapter","super","Object","assign","defaultAdapter","isMulti_","wrapFocus_","isVertical_","selectedIndex_","focusedItemIndex_","useActivatedClass_","ariaCurrentAttrValue_","focusItemAtIndex","getFocusedElementIndex","getListItemCount","isFocusInsideList","isRootFocused","notifyAction","notifySelected","getSelectedStateForElementIndex","setDisabledStateForElementIndex","getDisabledStateForElementIndex","setSelectedStateForElementIndex","setActivatedStateForElementIndex","setTabIndexForElementIndex","setAttributeForElementIndex","getAttributeForElementIndex","setWrapFocus","value","this","setMulti","currentIndex","isUnset","size","vals","Array","from","sort","setVerticalOrientation","setUseActivatedClass","useActivated","getSelectedIndex","setSelectedIndex","isIndexValid_","setMultiSelectionAtIndex_","setSingleSelectionAtIndex_","handleFocusIn","_","listItemIndex","handleFocusOut","setTimeout","setTabindexToFirstSelectedItem_","handleKeydown","event","isRootListItem","isArrowLeft","isArrowUp","isArrowRight","isArrowDown","isHome","isEnd","isEnter","isSpace","preventDefault","focusLastElement","focusFirstElement","nextIndex","preventDefaultEvent","focusNextElement","focusPrevElement","target","tagName","setSelectedIndexOnAction_","undefined","setTabindexAtIndex_","handleSingleSelection","isInteraction","force","prevIndex","lastIndex","setEnabled","itemIndex","isEnabled","toLowerCase","indexOf","setAriaForSingleSelectionAtIndex_","newIndex","diff","findIndexDiff","oldSet","newSet","oldArr","newArr","added","removed","oldSorted","newSorted","i","j","length","oldVal","newVal","push","isAriaCurrent","ariaAttribute","ariaAttributeValue","targetIndex","Math","min","Error","isOneInRange","isIndexInRange_","listSize","checkedIndex","toggleMultiAtIndex","newSelectionValue","delete","isListItem","element","hasAttribute","clearAndCreateItemsReadyPromise","oldResolver","itemsReadyResolver","itemsReady","Promise","res","ListBase","BaseElement","mdcAdapter","mdcFoundationClass","activatable","multi","wrapFocus","itemRoles","innerRole","innerAriaLabel","rootTabbable","previousTabindex","noninteractive","resolve","items_","debouncedFunction","callback","waitInMS","timeoutId","updateItems","clearTimeout","debounceLayout","layout","bind","debouncedLayout","call","getUpdateComplete","result","items","nodes","assignedElements","listItems","node","_managingList","setAttribute","selectedIndices","forEach","item","removeAttribute","selected","select","entries","next","itemsUpdatedEv","Event","bubbles","composed","dispatchEvent","mdcFoundation","render","role","ariaLabel","tabindex","html","_t","ifDefined","onKeydown","onFocusIn","onFocusOut","onRequestSelected","onListItemConnected","renderPlaceholder","emptyMessage","_t2","firstUpdated","mdcRoot","getIndexOfTarget","disabled","detail","source","stopPropagation","elements","path","composedPath","pathItem","isNodeElement","createAdapter","getFocusedItemIndex","attr","getAttribute","val","focus","init","ev","CustomEvent","doesElementContainFocus","getRootNode","activeElement","activated","selectUi","activate","deselectUi","toggle","e","first","activeElementPath","deepActiveElementPath","activeItem","root","blur","__decorate","property","type","String","query","queryAssignedNodes","Boolean","observer","newValue","oldValue","_newValue","reflect","tabbable","tabbableElements","styles","css","List","customElement"],"mappings":";qQA0BaA,EAAM,CACjBC,QAAS,UACTC,UAAW,YACXC,MAAO,QACPC,SAAU,WACVC,QAAS,SACTC,UAAW,WACXC,IAAK,MACLC,KAAM,OACNC,WAAY,YACZC,SAAU,ULine truncated
@@ -0,0 +1,3 @@
/*! For license information please see 166.f1a430d0b953db8b.js.LICENSE.txt */
"use strict";(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["166"],{65703:function(t,e,i){i.d(e,{K:function(){return b}});i(71695),i(81804),i(22139),i(47021);var r=i(9065),a=(i(16060),i(78611)),o=i(91532),s=i(57243),c=i(50778),d=i(35359);let n,l,p,h,m,g,_,v,u,f,y=t=>t;class b extends s.oi{constructor(){super(...arguments),this.value="",this.group=null,this.tabindex=-1,this.disabled=!1,this.twoline=!1,this.activated=!1,this.graphic=null,this.multipleGraphics=!1,this.hasMeta=!1,this.noninteractive=!1,this.selected=!1,this.shouldRenderRipple=!1,this._managingList=null,this.boundOnClick=this.onClick.bind(this),this._firstChanged=!0,this._skipPropRequest=!1,this.rippleHandlers=new o.A((()=>(this.shouldRenderRipple=!0,this.ripple))),this.listeners=[{target:this,eventNames:["click"],cb:()=>{this.onClick()}},{target:this,eventNames:["mouseenter"],cb:this.rippleHandlers.startHover},{target:this,eventNames:["mouseleave"],cb:this.rippleHandlers.endHover},{target:this,eventNames:["focus"],cb:this.rippleHandlers.startFocus},{target:this,eventNames:["blur"],cb:this.rippleHandlers.endFocus},{target:this,eventNames:["mousedown","touchstart"],cb:t=>{const e=t.type;this.onDown("mousedown"===e?"mouseup":"touchend",t)}}]}get text(){const t=this.textContent;return t?t.trim():""}render(){const t=this.renderText(),e=this.graphic?this.renderGraphic():(0,s.dy)(n||(n=y``)),i=this.hasMeta?this.renderMeta():(0,s.dy)(l||(l=y``));return(0,s.dy)(p||(p=y` ${0} ${0} ${0} ${0}`),this.renderRipple(),e,t,i)}renderRipple(){return this.shouldRenderRipple?(0,s.dy)(h||(h=y` <mwc-ripple .activated="${0}"> </mwc-ripple>`),this.activated):this.activated?(0,s.dy)(m||(m=y`<div class="fake-activated-ripple"></div>`)):""}renderGraphic(){const t={multi:this.multipleGraphics};return(0,s.dy)(g||(g=y` <span class="mdc-deprecated-list-item__graphic material-icons ${0}"> <slot name="graphic"></slot> </span>`),(0,d.$)(t))}renderMeta(){return(0,s.dy)(_||(_=y` <span class="mdc-deprecated-list-item__meta material-icons"> <slot name="meta"></slot> </span>`))}renderText(){const t=this.twoline?this.renderTwoline():this.renderSingleLine();return(0,s.dy)(v||(v=y` <span class="mdc-deprecated-list-item__text"> ${0} </span>`),t)}renderSingleLine(){return(0,s.dy)(u||(u=y`<slot></slot>`))}renderTwoline(){return(0,s.dy)(f||(f=y` <span class="mdc-deprecated-list-item__primary-text"> <slot></slot> </span> <span class="mdc-deprecated-list-item__secondary-text"> <slot name="secondary"></slot> </span> `))}onClick(){this.fireRequestSelected(!this.selected,"interaction")}onDown(t,e){const i=()=>{window.removeEventListener(t,i),this.rippleHandlers.endPress()};window.addEventListener(t,i),this.rippleHandlers.startPress(e)}fireRequestSelected(t,e){if(this.noninteractive)return;const i=new CustomEvent("request-selected",{bubbles:!0,composed:!0,detail:{source:e,selected:t}});this.dispatchEvent(i)}connectedCallback(){super.connectedCallback(),this.noninteractive||this.setAttribute("mwc-list-item","");for(const t of this.listeners)for(const e of t.eventNames)t.target.addEventListener(e,t.cb,{passive:!0})}disconnectedCallback(){super.disconnectedCallback();for(const t of this.listeners)for(const e of t.eventNames)t.target.removeEventListener(e,t.cb);this._managingList&&(this._managingList.debouncedLayout?this._managingList.debouncedLayout(!0):this._managingList.layout(!0))}firstUpdated(){const t=new Event("list-item-rendered",{bubbles:!0,composed:!0});this.dispatchEvent(t)}}(0,r.gn)([(0,c.IO)("slot")],b.prototype,"slotElement",void 0),(0,r.gn)([(0,c.GC)("mwc-ripple")],b.prototype,"ripple",void 0),(0,r.gn)([(0,c.Cb)({type:String})],b.prototype,"value",void 0),(0,r.gn)([(0,c.Cb)({type:String,reflect:!0})],b.prototype,"group",void 0),(0,r.gn)([(0,c.Cb)({type:Number,reflect:!0})],b.prototype,"tabindex",void 0),(0,r.gn)([(0,c.Cb)({type:Boolean,reflect:!0}),(0,a.P)((function(t){t?this.setAttribute("aria-disabled","true"):this.setAttribute("aria-disabled","false")}))],b.prototype,"disabled",void 0),(0,r.gn)([(0,c.Cb)({type:Boolean,reflect:!0})],b.prototype,"twoline",void 0),(0,r.gn)([(0,c.Cb)({type:Boolean,reflect:!0})],b.prototype,"activated",void 0),(0,r.gn)([(0,c.Cb)({type:String,reflect:!0})],b.prototype,"graphic",void 0),(0,r.gn)([(0,c.Cb)({type:Boolean})],b.prototype,"multipleGraphics",void 0),(0,r.gn)([(0,c.Cb)({type:Boolean})],b.prototype,"hasMeta",void 0),(0,r.gn)([(0,c.Cb)({type:Boolean,reflect:!0}),(0,a.P)((function(t){t?(this.removeAttribute("aria-checked"),this.removeAttribute("mwc-list-item"),this.selected=!1,this.activated=!1,this.tabIndex=-1):this.setAttribute("mwc-list-item","")}))],b.prototype,"noninteractive",void 0),(0,r.gn)([(0,c.Cb)({type:Boolean,reflect:!0}),(0,a.P)((function(t){const e=this.getAttribute("role"),i="gridcell"===e||"option"===e||"row"===e||"tab"===e;i&&t?this.setAttribute("aria-selected","true"):i&&this.setAttribute("aria-selected","false"),this._firstChanged?this._firstChanged=!1:this._skipPropRequest||this.fireRequestSelected(tLine truncated
//# sourceMappingURL=166.f1a430d0b953db8b.js.map
@@ -0,0 +1,11 @@
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @license
* Copyright 2021 Google LLC
* SPDX-LIcense-Identifier: Apache-2.0
*/
@@ -0,0 +1 @@
{"version":3,"file":"166.f1a430d0b953db8b.js","sources":["no-source/mwc-list-item-base.ts","no-source/mwc-list-item.css.ts","no-source/mwc-list-item.ts","no-source/node_modules/core-js/internals/array-from-constructor-and-list.js","no-source/node_modules/core-js/internals/array-group.js","no-source/node_modules/core-js/modules/esnext.array.group.js"],"names":["ListItemBase","LitElement","constructor","value","group","tabindex","disabled","twoline","activated","graphic","multipleGraphics","hasMeta","noninteractive","selected","shouldRenderRipple","_managingList","boundOnClick","this","onClick","bind","_firstChanged","_skipPropRequest","rippleHandlers","RippleHandlers","ripple","listeners","target","eventNames","cb","startHover","endHover","startFocus","endFocus","e","name","type","onDown","text","textContent","trim","render","renderText","renderGraphic","html","_t","_","meta","renderMeta","_t2","_t3","renderRipple","_t4","_t5","graphicClasses","multi","_t6","classMap","_t7","inner","renderTwoline","renderSingleLine","_t8","_t9","_t10","fireRequestSelected","upName","evt","onUp","window","removeEventListener","endPress","addEventListener","startPress","source","customEv","CustomEvent","bubbles","composed","detail","dispatchEvent","connectedCallback","super","setAttribute","listener","eventName","passive","disconnectedCallback","debouncedLayout","layout","firstUpdated","ev","Event","__decorate","query","queryAsync","property","String","reflect","Number","Boolean","observer","removeAttribute","tabIndex","role","getAttribute","isAriaSelectable","state","styles","css","ListItem","customElement","lengthOfArrayLike","module","exports","Constructor","list","$length","index","length","arguments","result","uncurryThis","IndexedObject","toObject","toPropertyKey","objectCreate","arrayFromConstructorAndList","$Array","Array","push","$this","callbackfn","that","specificConstructor","key","O","self","boundFunction","$","$group","addToUnscopables","proto","undefined"],"mappings":"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 truncated
@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["1663"],{69181:function(e,i,t){t.a(e,(async function(e,i){try{var a=t(73577),s=(t(19083),t(71695),t(19423),t(40251),t(61006),t(39527),t(92181),t(99790),t(13334),t(36993),t(47021),t(57243)),n=t(50778),r=t(35359),d=t(27486),l=t(11297),o=t(79575),c=t(59848),u=t(71656),h=t(92374),v=t(4557),p=t(88233),m=t(69484),k=(t(59897),t(74064),t(10508),e([m]));m=(k.then?(await k)():k)[0];let y,f,_,b,g=e=>e;const C="M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M4 6L6 4H10.9L4 10.9V6M4 13.7L13.7 4H18.6L4 18.6V13.7M20 18L18 20H13.1L20 13.1V18M20 10.3L10.3 20H5.4L20 5.4V10.3Z",x=e=>(0,s.dy)(y||(y=g`<ha-list-item graphic="icon" class="${0}"> ${0} ${0} </ha-list-item>`),(0,r.$)({"add-new":e.area_id===$}),e.icon?(0,s.dy)(f||(f=g`<ha-icon slot="graphic" .icon="${0}"></ha-icon>`),e.icon):(0,s.dy)(_||(_=g`<ha-svg-icon slot="graphic" .path="${0}"></ha-svg-icon>`),C),e.name),$="___ADD_NEW___",A="___NO_ITEMS___",B="___ADD_NEW_SUGGESTION___";(0,a.Z)([(0,n.Mo)("ha-area-picker")],(function(e,i){return{F:class extends i{constructor(...i){super(...i),e(this)}},d:[{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"value",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"helper",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"placeholder",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,attribute:"no-add"})],key:"noAdd",value(){return!1}},{kind:"field",decorators:[(0,n.Cb)({type:Array,attribute:"include-domains"})],key:"includeDomains",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Array,attribute:"exclude-domains"})],key:"excludeDomains",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Array,attribute:"include-device-classes"})],key:"includeDeviceClasses",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Array,attribute:"exclude-areas"})],key:"excludeAreas",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"deviceFilter",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"entityFilter",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"required",value(){return!1}},{kind:"field",decorators:[(0,n.SB)()],key:"_opened",value:void 0},{kind:"field",decorators:[(0,n.IO)("ha-combo-box",!0)],key:"comboBox",value:void 0},{kind:"field",key:"_suggestion",value:void 0},{kind:"field",key:"_init",value(){return!1}},{kind:"method",key:"open",value:async function(){var e;await this.updateComplete,await(null===(e=this.comboBox)||void 0===e?void 0:e.open())}},{kind:"method",key:"focus",value:async function(){var e;await this.updateComplete,await(null===(e=this.comboBox)||void 0===e?void 0:e.focus())}},{kind:"field",key:"_getAreas",value(){return(0,d.Z)(((e,i,t,a,s,n,r,d,l,c)=>{let u,v,p={};(a||s||n||r||d)&&(p=(0,h.R6)(t),u=i,v=t.filter((e=>e.area_id)),a&&(u=u.filter((e=>{const i=p[e.id];return!(!i||!i.length)&&p[e.id].some((e=>a.includes((0,o.M)(e.entity_id))))})),v=v.filter((e=>a.includes((0,o.M)(e.entity_id))))),s&&(u=u.filter((e=>{const i=p[e.id];return!i||!i.length||t.every((e=>!s.includes((0,o.M)(e.entity_id))))})),v=v.filter((e=>!s.includes((0,o.M)(e.entity_id))))),n&&(u=u.filter((e=>{const i=p[e.id];return!(!i||!i.length)&&p[e.id].some((e=>{const i=this.hass.states[e.entity_id];return!!i&&(i.attributes.device_class&&n.includes(i.attributes.device_class))}))})),v=v.filter((e=>{const i=this.hass.states[e.entity_id];return i.attributes.device_class&&n.includes(i.attributes.device_class)}))),r&&(u=u.filter((e=>r(e)))),d&&(u=u.filter((e=>{const i=p[e.id];return!(!i||!i.length)&&p[e.id].some((e=>{const i=this.hass.states[e.entity_id];return!!i&&d(i)}))})),v=v.filter((e=>{const i=this.hass.states[e.entity_id];return!!i&&d(i)}))));let m,k=e;return u&&(m=u.filter((e=>e.area_id)).map((e=>e.area_id))),v&&(m=(null!=m?m:[]).concat(v.filter((e=>e.area_id)).map((e=>e.area_id)))),m&&(k=k.filter((e=>m.includes(e.area_id)))),c&&(k=k.filter((e=>!c.includes(e.area_id)))),k.length||(k=[{area_id:A,floor_id:null,name:this.hass.localize("ui.components.area-picker.no_areas"),picture:null,icon:null,aliases:[],labels:[],created_at:0,modified_at:0}]),l?k:[...k,{area_id:$,floor_id:null,name:this.hass.localize("ui.components.area-picker.add_new"),picture:null,icon:"mdi:plus",aliases:[],labels:[],created_at:0,modified_at:0}]}))}},{kind:"method",key:"updated",value:function(e){if(!this._init&&this.hass||this._init&&e.has("_opened")&&this._opened){this._init=!0;const e=this._getAreas(Object.values(this.hass.areas),Object.values(this.hass.devices),Object.values(this.hass.entities),this.includeDomains,this.excludeDomains,this.includeDeviceClasses,this.deviceFilter,this.entityFilter,this.noAdd,this.excludeAreas).map((e=>Object.assiLine truncated
//# sourceMappingURL=1663.4461bc909c29671d.js.map
@@ -0,0 +1 @@
{"version":3,"file":"1663.4461bc909c29671d.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-area-picker.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-areas-picker.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-list-item.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-selector/ha-selector-area.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/data/area_registry.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/common/util/time-cache-function-promise.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/data/entity_sources.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/mixins/subscribe-mixin.ts","https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/panels/config/areas/show-dialog-area-registry-detail.ts"],"names":["rowRenderer","item","html","_t","_","classMap","area_id","ADD_NEW_ID","icon","_t2","_t3","mdiTextureBox","name","NO_ITEMS_ID","ADD_NEW_SUGGESTION_ID","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","Array","state","query","_this$comboBox","this","updateComplete","comboBox","open","_this$comboBox2","focus","memoizeOne","areas","devices","entities","includeDomains","excludeDomains","includeDeviceClasses","deviceFilter","entityFilter","noAdd","excludeAreas","inputDevices","inputEntities","deviceEntityLookup","getDeviceEntityDisplayLookup","filter","entity","device","devEntities","id","length","some","includes","computeDomain","entity_id","every","stateObj","hass","states","attributes","device_class","areaIds","outputAreas","map","concat","area","floor_id","localize","picture","aliases","labels","created_at","modified_at","changedProps","_init","has","_opened","_getAreas","Object","values","assign","strings","items","filteredItems","_this$hass$areas$this","_t4","helper","_value","disabled","required","undefined","label","placeholder","_filterChanged","_openedChanged","_areaChanged","ev","_target$items","target","filterString","detail","fuzzyFilterSort","label_id","_suggestion","stopPropagation","newValue","setInputValue","loadFragmentTranslation","showAreaRegistryDetailDialog","suggestedName","createEntry","async","createAreaRegistryEntry","_setValue","err","showAlertDialog","title","text","message","setTimeout","fireEvent","LitElement","_SubscribeMixin","nothing","currentAreas","_currentAreas","pickedAreaLabel","pickAreaLabel","_addArea","curValue","currentTarget","_updateAreas","ent","toAdd","static","css","SubscribeMixin","_ListItemBase","HaListItem","noninteractive","_superPropGet","styles","document","dir","ListItemBase","HaAreaSelector","getDeviceIntegrationLookup","selector","_selector$area","_selector$area2","ensureArray","integration","changedProperties","_this$selector$area","_this$selector$area2","multiple","isArray","_hasIntegration","_entitySources","fetchEntitySourcesWithCache","then","sources","_configEntries","getConfigEntries","entries","_this$selector$area3","_this$selector$area6","_this$selector$area7","_this$selector$area4","_this$selector$area5","_filterDevices","_filterEntities","_this$selector$area8","filterSelectorEntities","_this$selector$area9","deviceIntegrations","_deviceIntegrationLookup","filterSelectorDevices","callWS","updateAreaRegistryEntry","areaId","updates","areaCompare","order","a","b","indexA","indexOf","indexB","_entries$a$name","_entries$a","_entries$b$name","_entries$b","nameA","nameB","stringCompare","timeCachePromiseFunc","cacheKey","cacheTime","func","generateCacheKey","anyHass","lastResult","checkCachedResult","result","Promise","resultPromise","fetchEntitySources","hass2","keys","superClass","_superClass","SubscribeClass","_checkSubscribed","__unsubs","unsub","pop","unsubFunc","hassSubscribeRequiredHostProps","_this$hassSubscribeRe","isConnected","prop","hassSubscribe","loadAreaRegistryDetailDialog","element","systemLogDetailParams","dialogTag","dialogImport","dialogParams"],"mappings":"8rBAgCMA,EAAuDC,IAC3DC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,yEAEMC,EAAAA,EAAAA,GAAS,CAAE,UAAWJ,EAAKK,UAAYC,IAE7CN,EAAKO,MACHN,EAAAA,EAAAA,IAAIO,IAAAA,EAAAL,CAAA,mDAAiCH,EAAKO,OAC1CN,EAAAA,EAAAA,IAAIQ,IAAAA,EAAAN,CAAA,2DAAqCO,GAC3CV,EAAKW,MAGLL,EAAa,gBACbM,EAAc,iBACdC,EAAwB,4BAGLC,EAAAA,EAAAA,GAAA,EADxBC,EAAAA,EAAAA,IAAc,oBAAiB,SAAAC,EAAAC,GAib/B,OAAAC,EAjbD,cACyBD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EACtBC,EAAAA,EAAAA,IAAS,CAAEC,WALine truncated
@@ -0,0 +1,2 @@
"use strict";(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["170"],{3961:function(e,t,n){n.r(t),n.d(t,{HaIconButtonPrev:function(){return s}});var o=n(73577),i=(n(71695),n(47021),n(57243)),a=n(50778),r=n(13089);n(59897);let d,l=e=>e;let s=(0,o.Z)([(0,a.Mo)("ha-icon-button-prev")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,a.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,a.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,a.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,a.SB)()],key:"_icon",value(){return"rtl"===r.E.document.dir?"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z":"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z"}},{kind:"method",key:"render",value:function(){var e;return(0,i.dy)(d||(d=l` <ha-icon-button .disabled="${0}" .label="${0}" .path="${0}"></ha-icon-button> `),this.disabled,this.label||(null===(e=this.hass)||void 0===e?void 0:e.localize("ui.common.back"))||"Back",this._icon)}}]}}),i.oi)}}]);
//# sourceMappingURL=170.4f38a07dc7aa96bd.js.map
@@ -0,0 +1 @@
{"version":3,"file":"170.4f38a07dc7aa96bd.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/3ffbd435e0e5cf23872057187f3da53bb62441a2\n/src/components/ha-icon-button-prev.ts"],"names":["HaIconButtonPrev","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","state","mainWindow","_this$hass","html","_t","_","this","disabled","label","hass","localize","_icon","LitElement"],"mappings":"qQAQA,IACaA,GAAgBC,EAAAA,EAAAA,GAAA,EAD5BC,EAAAA,EAAAA,IAAc,yBAAsB,SAAAC,EAAAC,GAoBpC,OAAAC,EApBD,cAC6BD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAC1BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAEnDC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVO,EAAAA,EAAAA,OAAOJ,IAAA,QAAAC,KAAAA,GAAA,MACsB,QAA5BI,EAAAA,EAAAA,SAAAA,I,6HAAoE,IAAAT,KAAA,SAAAI,IAAA,SAAAC,MAEtE,WAAmC,IAAAK,EACjC,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mFAEKC,KAAKC,SACRD,KAAKE,QAAkB,QAAbN,EAAII,KAAKG,YAAI,IAAAP,OAAA,EAATA,EAAWQ,SAAS,oBAAqB,OACxDJ,KAAKK,MAGnB,IAAC,GAlBmCC,EAAAA,G"}
@@ -0,0 +1,3 @@
/*! For license information please see 1704.9ea8e814418dcff7.js.LICENSE.txt */
"use strict";(self.webpackChunkhacs_frontend=self.webpackChunkhacs_frontend||[]).push([["1704"],{49672:function(t,e,i){i.d(e,{p:function(){return r}});i(19083),i(61006);const r=(t,e)=>t&&t.config.components.includes(e)},99642:function(t,e,i){i.d(e,{I:function(){return r}});i(19083),i(71695),i(61006),i(47021);const r=(t,e,i,r)=>{const[a,o,d]=t.split(".",3);return Number(a)>e||Number(a)===e&&(void 0===r?Number(o)>=i:Number(o)>i)||void 0!==r&&Number(a)===e&&Number(o)===i&&Number(d)>=r}},71942:function(t,e,i){i.a(t,(async function(t,e){try{var r=i(73577),a=(i(71695),i(61893),i(40251),i(39527),i(99790),i(47021),i(57243)),o=i(50778),d=i(49672),s=i(11297),n=i(32770),c=i(52191),l=(i(17949),i(69484)),p=(i(74064),t([l]));l=(p.then?(await p)():p)[0];let h,m,g,u,v=t=>t;const y=t=>(0,a.dy)(h||(h=v`<ha-list-item twoline graphic="icon"> <span>${0}</span> <span slot="secondary">${0}</span> ${0} </ha-list-item>`),t.name,t.slug,t.icon?(0,a.dy)(m||(m=v`<img alt="" slot="graphic" .src="/api/hassio/addons/${0}/icon">`),t.slug):"");(0,r.Z)([(0,o.Mo)("ha-addon-picker")],(function(t,e){return{F:class extends e{constructor(...e){super(...e),t(this)}},d:[{kind:"field",key:"hass",value:void 0},{kind:"field",decorators:[(0,o.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,o.Cb)()],key:"value",value(){return""}},{kind:"field",decorators:[(0,o.Cb)()],key:"helper",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_addons",value:void 0},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"disabled",value(){return!1}},{kind:"field",decorators:[(0,o.Cb)({type:Boolean})],key:"required",value(){return!1}},{kind:"field",decorators:[(0,o.IO)("ha-combo-box")],key:"_comboBox",value:void 0},{kind:"field",decorators:[(0,o.SB)()],key:"_error",value:void 0},{kind:"method",key:"open",value:function(){var t;null===(t=this._comboBox)||void 0===t||t.open()}},{kind:"method",key:"focus",value:function(){var t;null===(t=this._comboBox)||void 0===t||t.focus()}},{kind:"method",key:"firstUpdated",value:function(){this._getAddons()}},{kind:"method",key:"render",value:function(){return this._error?(0,a.dy)(g||(g=v`<ha-alert alert-type="error">${0}</ha-alert>`),this._error):this._addons?(0,a.dy)(u||(u=v` <ha-combo-box .hass="${0}" .label="${0}" .value="${0}" .required="${0}" .disabled="${0}" .helper="${0}" .renderer="${0}" .items="${0}" item-value-path="slug" item-id-path="slug" item-label-path="name" @value-changed="${0}"></ha-combo-box> `),this.hass,void 0===this.label&&this.hass?this.hass.localize("ui.components.addon-picker.addon"):this.label,this._value,this.required,this.disabled,this.helper,y,this._addons,this._addonChanged):a.Ld}},{kind:"method",key:"_getAddons",value:async function(){try{if((0,d.p)(this.hass,"hassio")){const t=await(0,c.yt)(this.hass);this._addons=t.addons.filter((t=>t.version)).sort(((t,e)=>(0,n.$)(t.name,e.name,this.hass.locale.language)))}else this._error=this.hass.localize("ui.components.addon-picker.error.no_supervisor")}catch(t){this._error=this.hass.localize("ui.components.addon-picker.error.fetch_addons")}}},{kind:"get",key:"_value",value:function(){return this.value||""}},{kind:"method",key:"_addonChanged",value:function(t){t.stopPropagation();const e=t.detail.value;e!==this._value&&this._setValue(e)}},{kind:"method",key:"_setValue",value:function(t){this.value=t,setTimeout((()=>{(0,s.B)(this,"value-changed",{value:t}),(0,s.B)(this,"change")}),0)}}]}}),a.oi);e()}catch(h){e(h)}}))},74064:function(t,e,i){var r=i(73577),a=i(72621),o=(i(71695),i(47021),i(65703)),d=i(46289),s=i(57243),n=i(50778);let c,l,p,h=t=>t;(0,r.Z)([(0,n.Mo)("ha-list-item")],(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,d:[{kind:"method",key:"renderRipple",value:function(){return this.noninteractive?"":(0,a.Z)(i,"renderRipple",this,3)([])}},{kind:"get",static:!0,key:"styles",value:function(){return[d.W,(0,s.iv)(c||(c=h`:host{padding-left:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-inline-start:var(--mdc-list-side-padding-left,var(--mdc-list-side-padding,20px));padding-right:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px));padding-inline-end:var(--mdc-list-side-padding-right,var(--mdc-list-side-padding,20px))}:host([graphic=avatar]:not([twoLine])),:host([graphic=icon]:not([twoLine])){height:48px}span.material-icons:first-of-type{margin-inline-start:0px!important;margin-inline-end:var(--mdc-list-item-graphic-margin,16px)!important;direction:var(--direction)!important}span.material-icons:last-of-type{margin-inline-start:auto!important;margin-inline-end:0px!important;direction:var(--direction)!important}.mdc-deprecated-list-item__meta{display:var(--mdc-list-item-meta-display);align-items:center;flex-shrink:0}:host([graphic=icon]:not([twoline])) .mdc-deprecated-list-item__graphic{margin-inline-end:var(--mdc-list-item-graphic-margin,20px)!important}:host([multiline-secondary]){height:auto}:host([multiline-secondary]) .mdc-deprecated-list-item__text{paddin Line truncated
//# sourceMappingURL=1704.9ea8e814418dcff7.js.map
@@ -0,0 +1,11 @@
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @license
* Copyright 2021 Google LLC
* SPDX-LIcense-Identifier: Apache-2.0
*/
Loaded 100 of 4494 files, more files were not shown because too many files have changed in this diff. Show more