From ca3b3b336066e7263f24d1c246ecabccba875bcd Mon Sep 17 00:00:00 2001 From: CCOSTAN Date: Wed, 24 Jul 2024 05:48:36 +0000 Subject: [PATCH] Lots of troubleshooting and stuff related to OpenAI #1368 --- config/.HA_VERSION | 2 +- config/automation/Speech/announcements.yaml | 2 +- config/configuration.yaml | 2 +- .../speech_helper_sensors.yaml.disabled | 39 - config/packages/triggers/last_message.yaml | 32 +- config/packages/{neato.yaml => vacuum.yaml} | 38 +- config/script/speech_processing.yaml | 30 +- config/templates/speech/briefing.yaml | 34 +- .../community/lovelace-mushroom/mushroom.js | 3834 +++++++++++++++++ .../lovelace-mushroom/mushroom.js.gz | Bin 0 -> 154532 bytes .../xiaomi-vacuum-map-card.js | 1698 ++++++++ .../xiaomi-vacuum-map-card.js.gz | Bin 0 -> 95312 bytes 12 files changed, 5606 insertions(+), 105 deletions(-) delete mode 100755 config/packages/speech_helper_sensors.yaml.disabled rename config/packages/{neato.yaml => vacuum.yaml} (62%) create mode 100644 config/www/community/lovelace-mushroom/mushroom.js create mode 100644 config/www/community/lovelace-mushroom/mushroom.js.gz create mode 100644 config/www/community/lovelace-xiaomi-vacuum-map-card/xiaomi-vacuum-map-card.js create mode 100644 config/www/community/lovelace-xiaomi-vacuum-map-card/xiaomi-vacuum-map-card.js.gz diff --git a/config/.HA_VERSION b/config/.HA_VERSION index a2f4e9f5..61d3c46d 100755 --- a/config/.HA_VERSION +++ b/config/.HA_VERSION @@ -1 +1 @@ -2024.8.0.dev202407020219 \ No newline at end of file +2024.8.0.dev202407200219 \ No newline at end of file diff --git a/config/automation/Speech/announcements.yaml b/config/automation/Speech/announcements.yaml index cb73e86f..505aa23c 100755 --- a/config/automation/Speech/announcements.yaml +++ b/config/automation/Speech/announcements.yaml @@ -39,7 +39,7 @@ personarriving: > {% set person = expand('group.arriving')|map(attribute='name')|join(' and ') %} {%- macro greeting_sentence(person) -%} - {{ ["[Welcome " ~ person + " home]"] }} + {{"[Welcome " + person + " home]" }} {%- endmacro -%} {{greeting_sentence(person)}} diff --git a/config/configuration.yaml b/config/configuration.yaml index fbc26b70..0cd022fb 100755 --- a/config/configuration.yaml +++ b/config/configuration.yaml @@ -113,7 +113,7 @@ group: !include_dir_merge_named group sensor: !include_dir_merge_list sensor automation: !include_dir_merge_list automation scene: !include_dir_merge_list scene -switch: !include_dir_merge_list switch +# switch: !include_dir_merge_list switch script: !include_dir_merge_named script input_boolean: !include_dir_merge_named input_boolean shell_command: !include_dir_merge_named shell_command diff --git a/config/packages/speech_helper_sensors.yaml.disabled b/config/packages/speech_helper_sensors.yaml.disabled deleted file mode 100755 index a3a82eff..00000000 --- a/config/packages/speech_helper_sensors.yaml.disabled +++ /dev/null @@ -1,39 +0,0 @@ -#------------------------------------------- -# @BrianHanifin's Light sensor speech helper. - https://gist.github.com/brianhanifin/1f9436c7b6c28917c9be02605b6cff74 -#------------------------------------------- -#------LightSensor Node---http://amzn.to/2oUgj5i -homeassistant: - customize: - sensor.lights_on: - icon: mdi:sensor - friendly_name: Lights on - #emulated_hue_ - -#---Sensor for Light----------------------------- -sensor: - - platform: template - sensors: - lights_on: - value_template: > - {% macro get_lights_on() -%} - {%- for group in states.light|groupby('state') -%} - {%- for entity in group.list -%} - {%- if entity.state == 'on' - and entity.entity_id != 'light.dummy' - and entity.entity_id != 'light.garage_entry_light' - and entity.entity_id != 'light.hue' - and entity.entity_id != 'light.living_room' - and entity.entity_id != 'light.kitchen_undercabinet' - and entity.entity_id != 'light.porch_light' - and entity.entity_id != 'light.shoe_closet_light' - and not ('gateway_light' in entity.entity_id) - and not ('hub' in entity.entity_id) - and not (entity.entity_id).endswith('_led') - and not (entity.entity_id).endswith('nightlight') - and not (entity.entity_id).startswith('light.lamplinc') -%} - {{ entity.entity_id }}{{ ' ' }} - {%- endif -%} - {%- endfor -%} - {%- endfor -%} - {%- endmacro %} - {{ get_lights_on()|trim|replace(' ', ',') }} diff --git a/config/packages/triggers/last_message.yaml b/config/packages/triggers/last_message.yaml index 0238a0d5..c68cc784 100755 --- a/config/packages/triggers/last_message.yaml +++ b/config/packages/triggers/last_message.yaml @@ -7,22 +7,34 @@ homeassistant: input_boolean.lastmsg: friendly_name: 'Repeat Message' icon: mdi:repeat-once - - + #------------------------------------------- input_boolean: lastmsg: name: Last Message initial: off #------------------------------------------- -mqtt: - sensor: - - state_topic: "polly/lastmsg" - name: "Last Message" - - state_topic: "polly/lastmsg_openai" - name: "Last AI Message" - +template: + - trigger: + platform: event + event_type: openai_instructions_sent + sensor: + - name: "OpenAI" + state: "{{now()}}" + attributes: + instructions: "{{ trigger.event.data.instructions }}" + + - trigger: + platform: event + event_type: openai_response + sensor: + - name: "OpenAI" + state: "{{now()}}" + attributes: + response: "{{ trigger.event.data.response }}" + + ############################################################################## ### Automations - ############################################################################## @@ -46,7 +58,7 @@ automation: options: voice: JennyNeural message: >- - {{states.sensor.last_ai_message.state}} + "{{ state_attr('sensor.openai', 'response') }}" cache: false - service: input_boolean.turn_off diff --git a/config/packages/neato.yaml b/config/packages/vacuum.yaml similarity index 62% rename from config/packages/neato.yaml rename to config/packages/vacuum.yaml index db324528..b807d36f 100755 --- a/config/packages/neato.yaml +++ b/config/packages/vacuum.yaml @@ -2,17 +2,14 @@ # @CCOSTAN # Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig # Neato Support for D7 Connected Botvac - control my [Neato Vacuum](https://amzn.to/2kqnnqu) with Home Assistant. +# Switched from Neato to Dreame Vacuum - https://amzn.to/4f7NpFP #------------------------------------------- ############################################################################## ### Configuration - Authentication via the DEVELOPER Portal +### HACS - https://github.com/Tasshack/dreame-vacuum ############################################################################## -# neato: -# client_id: !secret neato_client_id -# client_secret: !secret neato_client_secret - - automation: ############################################################################## @@ -20,19 +17,18 @@ automation: ### https://www.vcloudinfo.com/2020/05/home-assistant-neato-vacuum-automation.html ############################################################################## - - alias: 'Help Neato' + - alias: 'Help Vacuum' id: 6548de52-a4a4-4df2-9d66-9c2c15577a7e trigger: - platform: state - entity_id: vacuum.neato_vac - to: 'error' + entity_id: sensor.l10s_vacuum_error + from: 'No error' - platform: event - event_type: event_did_someone_help_neato_loop + event_type: event_did_someone_help_vacuum_loop condition: - - condition: state - entity_id: vacuum.neato_vac - state: 'error' + - condition: template + value_template: "{{ states('sensor.l10s_vacuum_error') != 'No error' }}" action: - wait_template: "{{ states.group.family.state == 'home' }}" @@ -40,27 +36,27 @@ automation: - delay: 00:05:00 - service: vacuum.locate - entity_id: vacuum.neato_vac + entity_id: vacuum.l10s_vacuum - service: script.speech_engine data: - value1: > - {% set error = states.vacuum.neato_vac.attributes['status'] %} - {{ "Neato Vacuum is complaining about " ~ error ~ " [ask Residents to help]" }} + value1: > + {% set error_description = state_attr('sensor.l10s_vacuum_error', 'description') %} + {{ "Vacuum is complaining: " ~ error_description ~ " [ask Residents to help]" }} - service: script.notify_engine data: - title: 'Help Neato' - value1: "{{ states.vacuum.neato_vac.attributes['status'] }}" + title: 'Help vacuum' + value1: "{{ state_attr('sensor.l10s_vacuum_error', 'description') }}" who: 'family' ios_category: 'camera' - camera_entity: 'camera.neato_vac_cleaning_map' + camera_entity: 'camera.l10s_vacuum_map' content_type: 'jpeg' group: 'information' - delay: 00:01:00 - service: vacuum.locate - entity_id: vacuum.neato_vac + entity_id: vacuum.l10s_vacuum - delay: 00:20:00 - - event: event_did_someone_help_neato_loop + - event: event_did_someone_help_vacuum_loop diff --git a/config/script/speech_processing.yaml b/config/script/speech_processing.yaml index 3152de4b..793750e4 100755 --- a/config/script/speech_processing.yaml +++ b/config/script/speech_processing.yaml @@ -11,12 +11,11 @@ speech_processing: mode: queued sequence: - - service: mqtt.publish - data: - topic: 'polly/lastmsg' - payload: "Message: {{ now().strftime('%-I') }}:{{ now().strftime('%M') }} {{ now().strftime('%p') }}. {{ speech_message | striptags | truncate(220)}}" - retain: true + - event: openai_instructions_sent + event_data: + instructions: "{{ speech_message | striptags }}" + - condition: and conditions: - condition: or @@ -60,23 +59,10 @@ speech_processing: 0.2 {% endif %} - # - service: tts.amazon_polly_say - # data: - # entity_id: media_player.livingroomCC - # message: >- - # - # - # {{ speech_message }} - # - # - # cache: true - - service: conversation.process data: agent_id: conversation.openai_conversation text: >- - Take the following system generated information and review and relay the information as yourself. - Here is the information: {{ speech_message }} response_variable: agent @@ -89,11 +75,9 @@ speech_processing: {{ agent.response.speech.plain.speech }} cache: true - - service: mqtt.publish - data: - topic: 'polly/lastmsg_openai' - payload: "Message: {{ now().strftime('%-I') }}:{{ now().strftime('%M') }} {{ now().strftime('%p') }}. {{ agent.response.speech.plain.speech | striptags | truncate(220)}}" - retain: true + - event: openai_iresponse + event_data: + response: "{{ now().strftime('%B %d,%Y %-I:%M %p') }} {{ now().strftime('%p') }}. {{ agent.response.speech.plain.speech | striptags}}" - service: input_boolean.turn_off data: diff --git a/config/templates/speech/briefing.yaml b/config/templates/speech/briefing.yaml index 3b41356d..ee9624f1 100755 --- a/config/templates/speech/briefing.yaml +++ b/config/templates/speech/briefing.yaml @@ -6,17 +6,11 @@ {%- macro responsibilities() -%} {% set day_of_week = now().strftime('%a') %} {% if day_of_week in ['Wed', 'Sun'] %} - Today is {{ now().strftime('%A') }} and {{ now().strftime('%A') }} is garbage day. + Today is garbage day. {% if day_of_week == 'Wed' %} Both Recycling and regular Garbage goes out. {% endif %} {% endif %} - {% set day_of_year = now().strftime('%j')|int(9999) %} - {% if day_of_year % 2 != 0 %} - Today is Justin's day to do the chores. - {% else %} - Today is Paige's day to do the chores. - {% endif %} {%- endmacro -%} {%- macro inside_weather() -%} @@ -51,10 +45,16 @@ {%- endif -%} {%- endif %} {% endfor -%} + + {%- if states('sensor.pirateweather_alerts') == '1' -%} + {%- set alert_description = state_attr('sensor.pirateweather_alerts', 'description') %} + [WEATHER ALERT: Summarize the WHAT, WHEN and IMPACTS.] {{ alert_description }} + {%- endif %} {%- endmacro -%} {%- macro lightning() -%} - There have been {{ states('sensor.blitzortung_lightning_counter') }} lightning strikes detected within {{(states('sensor.blitzortung_lightning_distance') | int(9999)/ 1.69) | round (1, 'floor')}} Miles of our House. Please make sure everyone is inside the house. + There have been {{ states('sensor.blitzortung_lightning_counter') }} lightning strikes detected within {{(states('sensor.blitzortung_lightning_distance') | int(9999)/ 1.69) | round (1, 'floor')}} Miles of our House. + Nearest Storm Distance : {{states('sensor.pirateweather_nearest_storm_distance')}} Miles. {%- endmacro -%} {%- macro fridge() -%} @@ -215,11 +215,27 @@ {# a macro to call all macros :) #} {%- macro mother_of_all_macros() -%} - + + {# Augmenting the System Prompt for OpenAI #} + {% set current_date = now() %} + {% set month = current_date.strftime('%B') %} {% set day_of_week = now().strftime('%a') %} {% set hour = now().hour %} {% set minute = now().minute %} + {% set day = current_date.strftime('%d') %} + {% set year = current_date.strftime('%Y') %} + {% set time = current_date.strftime('%I:%M %p') %} + Current date time: {{ month }} {{ day }}, {{ year }} {{ time }} + Residents: + - Carlo (Dad): {{ states('person.carlo') }} + - Stacey (Mom): {{ states('person.stacey') }} + - Justin (Son): {{ states('person.justin') }} + - Paige (Daughter): {{ states('person.paige') }} + and our cat Molly: Always home. + [Avoid repeating information from the last broadcast if it was recently broadcasted] + Last broadcast: {{states('input_text.lastmsg_openai')}} + New Information: {% if call_no_announcement != 1 %} {% if now().strftime('%H')|int(9999)< 12 and now().strftime('%H')|int(9999)> 6 %} Good morning. diff --git a/config/www/community/lovelace-mushroom/mushroom.js b/config/www/community/lovelace-mushroom/mushroom.js new file mode 100644 index 00000000..fa5fbddf --- /dev/null +++ b/config/www/community/lovelace-mushroom/mushroom.js @@ -0,0 +1,3834 @@ +var t="https://github.com/piitaya/lovelace-mushroom",e=function(t,i){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},e(t,i)};function i(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}var o=function(){return o=Object.assign||function(t){for(var e,i=1,o=arguments.length;i=0;l--)(n=t[l])&&(a=(r<3?n(a):r>3?n(e,i,a):n(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a}function r(t){var e="function"==typeof Symbol&&Symbol.iterator,i=e&&t[e],o=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&o>=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")} +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const a=window,l=a.ShadowRoot&&(void 0===a.ShadyCSS||a.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),c=new WeakMap;let d=class{constructor(t,e,i){if(this._$cssResult$=!0,i!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(l&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=c.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&c.set(e,t))}return t}toString(){return this.cssText}};const u=t=>new d("string"==typeof t?t:t+"",void 0,s),h=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,i,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[o+1]),t[0]);return new d(i,t,s)},m=l?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return u(e)})(t):t +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */;var p;const f=window,g=f.trustedTypes,_=g?g.emptyScript:"",v=f.reactiveElementPolyfillSupport,b={toAttribute(t,e){switch(e){case Boolean:t=t?_:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},y=(t,e)=>e!==t&&(e==e||t==t),x={attribute:!0,type:String,converter:b,reflect:!1,hasChanged:y},w="finalized";let k=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const o=this._$Ep(i,e);void 0!==o&&(this._$Ev.set(o,i),t.push(o))})),t}static createProperty(t,e=x){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,o=this.getPropertyDescriptor(t,i,e);void 0!==o&&Object.defineProperty(this.prototype,t,o)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(o){const n=this[t];this[e]=o,this.requestUpdate(t,n,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||x}static finalize(){if(this.hasOwnProperty(w))return!1;this[w]=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(m(t))}else void 0!==t&&e.push(m(t));return e}static _$Ep(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return((t,e)=>{l?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),o=a.litNonce;void 0!==o&&i.setAttribute("nonce",o),i.textContent=e.cssText,t.appendChild(i)}))})(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e,i=x){var o;const n=this.constructor._$Ep(t,i);if(void 0!==n&&!0===i.reflect){const r=(void 0!==(null===(o=i.converter)||void 0===o?void 0:o.toAttribute)?i.converter:b).toAttribute(e,i.type);this._$El=t,null==r?this.removeAttribute(n):this.setAttribute(n,r),this._$El=null}}_$AK(t,e){var i;const o=this.constructor,n=o._$Ev.get(t);if(void 0!==n&&this._$El!==n){const t=o.getPropertyOptions(n),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(i=t.converter)||void 0===i?void 0:i.fromAttribute)?t.converter:b;this._$El=n,this[n]=r.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,i){let o=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||y)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,i))):o=!1),!this.isUpdatePending&&o&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}; +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +var C;k[w]=!0,k.elementProperties=new Map,k.elementStyles=[],k.shadowRootOptions={mode:"open"},null==v||v({ReactiveElement:k}),(null!==(p=f.reactiveElementVersions)&&void 0!==p?p:f.reactiveElementVersions=[]).push("1.6.2");const $=window,E=$.trustedTypes,A=E?E.createPolicy("lit-html",{createHTML:t=>t}):void 0,S="$lit$",I=`lit$${(Math.random()+"").slice(9)}$`,T="?"+I,O=`<${T}>`,z=document,M=()=>z.createComment(""),j=t=>null===t||"object"!=typeof t&&"function"!=typeof t,D=Array.isArray,L="[ \t\n\f\r]",P=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,N=/-->/g,R=/>/g,F=RegExp(`>|${L}(?:([^\\s"'>=/]+)(${L}*=${L}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),V=/'/g,B=/"/g,U=/^(?:script|style|textarea|title)$/i,H=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),Y=H(1),W=H(2),X=Symbol.for("lit-noChange"),K=Symbol.for("lit-nothing"),G=new WeakMap,q=z.createTreeWalker(z,129,null,!1);function Z(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==A?A.createHTML(e):e}const J=(t,e)=>{const i=t.length-1,o=[];let n,r=2===e?"":"",a=P;for(let e=0;e"===s[0]?(a=null!=n?n:P,c=-1):void 0===s[1]?c=-2:(c=a.lastIndex-s[2].length,l=s[1],a=void 0===s[3]?F:'"'===s[3]?B:V):a===B||a===V?a=F:a===N||a===R?a=P:(a=F,n=void 0);const u=a===F&&t[e+1].startsWith("/>")?" ":"";r+=a===P?i+O:c>=0?(o.push(l),i.slice(0,c)+S+i.slice(c)+I+u):i+I+(-2===c?(o.push(void 0),e):u)}return[Z(t,r+(t[i]||"")+(2===e?"":"")),o]};class Q{constructor({strings:t,_$litType$:e},i){let o;this.parts=[];let n=0,r=0;const a=t.length-1,l=this.parts,[s,c]=J(t,e);if(this.el=Q.createElement(s,i),q.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(o=q.nextNode())&&l.length0){o.textContent=E?E.emptyScript:"";for(let i=0;iD(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]))(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==K&&j(this._$AH)?this._$AA.nextSibling.data=t:this.$(z.createTextNode(t)),this._$AH=t}g(t){var e;const{values:i,_$litType$:o}=t,n="number"==typeof o?this._$AC(t):(void 0===o.el&&(o.el=Q.createElement(Z(o.h,o.h[0]),this.options)),o);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===n)this._$AH.v(i);else{const t=new et(n,this),e=t.u(this.options);t.v(i),this.$(e),this._$AH=t}}_$AC(t){let e=G.get(t.strings);return void 0===e&&G.set(t.strings,e=new Q(t)),e}T(t){D(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,o=0;for(const n of t)o===e.length?e.push(i=new it(this.k(M()),this.k(M()),this,this.options)):i=e[o],i._$AI(n),o++;o2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=K}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,o){const n=this.strings;let r=!1;if(void 0===n)t=tt(this,t,e,0),r=!j(t)||t!==this._$AH&&t!==X,r&&(this._$AH=t);else{const o=t;let a,l;for(t=n[0],a=0;a{var o,n;const r=null!==(o=null==i?void 0:i.renderBefore)&&void 0!==o?o:e;let a=r._$litPart$;if(void 0===a){const t=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:null;r._$litPart$=a=new it(e.insertBefore(M(),t),t,void 0,null!=i?i:{})}return a._$AI(t),a})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return X}};ht.finalized=!0,ht._$litElement$=!0,null===(dt=globalThis.litElementHydrateSupport)||void 0===dt||dt.call(globalThis,{LitElement:ht});const mt=globalThis.litElementPolyfillSupport;null==mt||mt({LitElement:ht}),(null!==(ut=globalThis.litElementVersions)&&void 0!==ut?ut:globalThis.litElementVersions=[]).push("3.3.2"); +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +const pt=t=>e=>"function"==typeof e?((t,e)=>(customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:i,elements:o}=e;return{kind:i,elements:o,finisher(e){customElements.define(t,e)}}})(t,e) +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */,ft=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}},gt=(t,e,i)=>{e.constructor.createProperty(i,t)};function _t(t){return(e,i)=>void 0!==i?gt(t,e,i):ft(t,e)} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */function vt(t){return _t({...t,state:!0})} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const bt=({finisher:t,descriptor:e})=>(i,o)=>{var n;if(void 0===o){const o=null!==(n=i.originalKey)&&void 0!==n?n:i.key,r=null!=e?{kind:"method",placement:"prototype",key:o,descriptor:e(i.key)}:{...i,key:o};return null!=t&&(r.finisher=function(e){t(e,o)}),r}{const n=i.constructor;void 0!==e&&Object.defineProperty(i,o,e(o)),null==t||t(n,o)}} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */;function yt(t){return bt({finisher:(e,i)=>{Object.assign(e.prototype[i],t)}})} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */function xt(t,e){return bt({descriptor:e=>{const i={get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==i?i:null},enumerable:!0,configurable:!0};return i}})} +/** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */var wt;null===(wt=window.HTMLSlotElement)||void 0===wt||wt.prototype.assignedElements;var kt,Ct,$t,Et,At,St=Number.isNaN||function(t){return"number"==typeof t&&t!=t};function It(t,e){if(t.length!==e.length)return!1;for(var i=0;inew Intl.DateTimeFormat(t.language,{weekday:"long",month:"long",day:"numeric",timeZone:"server"===t.time_zone?e:void 0})));const Ot=Tt(((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",month:"long",day:"numeric",timeZone:"server"===t.time_zone?e:void 0})));Tt(((t,e)=>{const i=t.date_format===Et.system?void 0:t.language;return t.date_format===Et.language||(t.date_format,Et.system),new Intl.DateTimeFormat(i,{year:"numeric",month:"numeric",day:"numeric",timeZone:"server"===t.time_zone?e:void 0})})),Tt(((t,e)=>new Intl.DateTimeFormat(t.language,{day:"numeric",month:"short",timeZone:"server"===t.time_zone?e:void 0}))),Tt(((t,e)=>new Intl.DateTimeFormat(t.language,{month:"long",year:"numeric",timeZone:"server"===t.time_zone?e:void 0}))),Tt(((t,e)=>new Intl.DateTimeFormat(t.language,{month:"long",timeZone:"server"===t.time_zone?e:void 0}))),Tt(((t,e)=>new Intl.DateTimeFormat(t.language,{year:"numeric",timeZone:"server"===t.time_zone?e:void 0}))),Tt(((t,e)=>new Intl.DateTimeFormat(t.language,{weekday:"long",timeZone:"server"===t.time_zone?e:void 0}))),Tt(((t,e)=>new Intl.DateTimeFormat(t.language,{weekday:"short",timeZone:"server"===t.time_zone?e:void 0})));const zt=Tt((t=>{if(t.time_format===Ct.language||t.time_format===Ct.system){const e=t.time_format===Ct.language?t.language:void 0,i=(new Date).toLocaleString(e);return i.includes("AM")||i.includes("PM")}return t.time_format===Ct.am_pm})),Mt=Tt(((t,e)=>new Intl.DateTimeFormat("en"!==t.language||zt(t)?t.language:"en-u-hc-h23",{hour:"numeric",minute:"2-digit",hour12:zt(t),timeZone:"server"===t.time_zone?e:void 0})));Tt(((t,e)=>new Intl.DateTimeFormat("en"!==t.language||zt(t)?t.language:"en-u-hc-h23",{hour:zt(t)?"numeric":"2-digit",minute:"2-digit",second:"2-digit",hour12:zt(t),timeZone:"server"===t.time_zone?e:void 0}))),Tt(((t,e)=>new Intl.DateTimeFormat("en"!==t.language||zt(t)?t.language:"en-u-hc-h23",{weekday:"long",hour:zt(t)?"numeric":"2-digit",minute:"2-digit",hour12:zt(t),timeZone:"server"===t.time_zone?e:void 0}))),Tt(((t,e)=>new Intl.DateTimeFormat("en-GB",{hour:"numeric",minute:"2-digit",hour12:!1,timeZone:"server"===t.time_zone?e:void 0})));const jt=(t,e,i)=>Dt(e,i.time_zone).format(t),Dt=Tt(((t,e)=>new Intl.DateTimeFormat("en"!==t.language||zt(t)?t.language:"en-u-hc-h23",{year:"numeric",month:"long",day:"numeric",hour:zt(t)?"numeric":"2-digit",minute:"2-digit",hour12:zt(t),timeZone:"server"===t.time_zone?e:void 0})));Tt(((t,e)=>new Intl.DateTimeFormat("en"!==t.language||zt(t)?t.language:"en-u-hc-h23",{year:"numeric",month:"short",day:"numeric",hour:zt(t)?"numeric":"2-digit",minute:"2-digit",hour12:zt(t),timeZone:"server"===t.time_zone?e:void 0}))),Tt(((t,e)=>new Intl.DateTimeFormat("en"!==t.language||zt(t)?t.language:"en-u-hc-h23",{month:"short",day:"numeric",hour:zt(t)?"numeric":"2-digit",minute:"2-digit",hour12:zt(t),timeZone:"server"===t.time_zone?e:void 0}))),Tt(((t,e)=>new Intl.DateTimeFormat("en"!==t.language||zt(t)?t.language:"en-u-hc-h23",{year:"numeric",month:"long",day:"numeric",hour:zt(t)?"numeric":"2-digit",minute:"2-digit",second:"2-digit",hour12:zt(t),timeZone:"server"===t.time_zone?e:void 0})));const Lt=(t,e,i,o)=>{o=o||{},i=null==i?{}:i;const n=new Event(e,{bubbles:void 0===o.bubbles||o.bubbles,cancelable:Boolean(o.cancelable),composed:void 0===o.composed||o.composed});return n.detail=i,t.dispatchEvent(n),n},Pt=t=>t.substr(0,t.indexOf(".")),Nt="unavailable",Rt="unknown",Ft="off",Vt=[Nt,Rt,Ft];function Bt(t){const e=Pt(t.entity_id),i=t.state;if(["button","input_button","scene"].includes(e))return i!==Nt;if(Vt.includes(i))return!1;switch(e){case"cover":case"valve":return!["closed","closing"].includes(i);case"device_tracker":case"person":return"not_home"!==i;case"media_player":return"standby"!==i;case"vacuum":return!["idle","docked","paused"].includes(i);case"plant":return"problem"===i;default:return!0}}function Ut(t){return t.state!==Nt}function Ht(t){return t.state===Ft}function Yt(t){return t.attributes.entity_picture_local||t.attributes.entity_picture}const Wt=(t,e)=>Xt(t.attributes,e),Xt=(t,e)=>0!=(t.supported_features&e);Tt((t=>new Intl.Collator(t))),Tt((t=>new Intl.Collator(t,{sensitivity:"accent"})));const Kt=t=>Xt(t,4)&&"number"==typeof t.in_progress,Gt=t=>(t=>Kt(t.attributes))(t)||!!t.attributes.in_progress,qt=(t,e=2)=>{let i=""+t;for(let t=1;tfunction(t){const e=Math.floor(t/1e3/3600),i=Math.floor(t/1e3%3600/60),o=Math.floor(t/1e3%3600%60),n=Math.floor(t%1e3);return e>0?`${e}:${qt(i)}:${qt(o)}`:i>0?`${i}:${qt(o)}`:o>0||n>0?`${o}${n>0?`.${qt(n,3)}`:""}`:null}(parseFloat(t)*Zt[e])||"0",Qt=(t,e=2)=>Math.round(t*10**e)/10**e,te=(t,e,i)=>{const o=e?(t=>{switch(t.number_format){case kt.comma_decimal:return["en-US","en"];case kt.decimal_comma:return["de","es","it"];case kt.space_comma:return["fr","sv","cs"];case kt.system:return;default:return t.language}})(e):void 0;if(Number.isNaN=Number.isNaN||function t(e){return"number"==typeof e&&t(e)},(null==e?void 0:e.number_format)!==kt.none&&!Number.isNaN(Number(t))&&Intl)try{return new Intl.NumberFormat(o,ie(t,i)).format(Number(t))}catch(e){return console.error(e),new Intl.NumberFormat(void 0,ie(t,i)).format(Number(t))}return"string"==typeof t?t:`${Qt(t,null==i?void 0:i.maximumFractionDigits).toString()}${"currency"===(null==i?void 0:i.style)?` ${i.currency}`:""}`},ee=(t,e)=>{var i;const o=null==e?void 0:e.display_precision;return null!=o?{maximumFractionDigits:o,minimumFractionDigits:o}:Number.isInteger(Number(null===(i=t.attributes)||void 0===i?void 0:i.step))&&Number.isInteger(Number(t.state))?{maximumFractionDigits:0}:null!=t.attributes.step?{maximumFractionDigits:Math.ceil(Math.log10(1/t.attributes.step))}:void 0},ie=(t,e)=>{const i=Object.assign({maximumFractionDigits:2},e);if("string"!=typeof t)return i;if(!e||void 0===e.minimumFractionDigits&&void 0===e.maximumFractionDigits){const e=t.indexOf(".")>-1?t.split(".")[1].length:0;i.minimumFractionDigits=e,i.maximumFractionDigits=e}return i},oe=t=>{switch(t.language){case"cz":case"de":case"fi":case"fr":case"sk":case"sv":return" ";default:return""}},ne=(t,e,i,o,n,r)=>{const a=n[e.entity_id];return re(t,i,o,a,e.entity_id,e.attributes,void 0!==r?r:e.state)},re=(t,e,i,o,n,r,a)=>{var l;if(a===Rt||a===Nt)return t(`state.default.${a}`);if((t=>!!t.unit_of_measurement||!!t.state_class)(r)){if("duration"===r.device_class&&r.unit_of_measurement&&Zt[r.unit_of_measurement])try{return Jt(a,r.unit_of_measurement)}catch(t){}if("monetary"===r.device_class)try{return te(a,e,Object.assign({style:"currency",currency:r.unit_of_measurement,minimumFractionDigits:2},ee({state:a,attributes:r},o)))}catch(t){}const t=r.unit_of_measurement?"%"===r.unit_of_measurement?oe(e)+"%":` ${r.unit_of_measurement}`:"";return`${te(a,e,ee({state:a,attributes:r},o))}${t}`}const s=Pt(n);if("datetime"===s){const t=new Date(a);return jt(t,e,i)}if(["date","input_datetime","time"].includes(s))try{const t=a.split(" ");if(2===t.length)return jt(new Date(t.join("T")),Object.assign(Object.assign({},e),{time_zone:$t.local}),i);if(1===t.length){if(a.includes("-"))return((t,e,i)=>Ot(e,i.time_zone).format(t))(new Date(`${a}T00:00`),Object.assign(Object.assign({},e),{time_zone:$t.local}),i);if(a.includes(":")){const t=new Date;return((t,e,i)=>Mt(e,i.time_zone).format(t))(new Date(`${t.toISOString().split("T")[0]}T${a}`),Object.assign(Object.assign({},e),{time_zone:$t.local}),i)}}return a}catch(t){return a}if("counter"===s||"number"===s||"input_number"===s)return te(a,e,ee({state:a,attributes:r},o));if(["button","event","input_button","scene","stt","tts"].includes(s)||"sensor"===s&&"timestamp"===r.device_class)try{return jt(new Date(a),e,i)}catch(t){return a}return"update"===s?"on"===a?(t=>Kt(t)||!!t.in_progress)(r)?Xt(r,4)&&"number"==typeof r.in_progress?t("ui.card.update.installing_with_progress",{progress:r.in_progress}):t("ui.card.update.installing"):r.latest_version:r.skipped_version===r.latest_version?null!==(l=r.latest_version)&&void 0!==l?l:t("state.default.unavailable"):t("ui.card.update.up_to_date"):(null==o?void 0:o.translation_key)&&t(`component.${o.platform}.entity.${s}.${o.translation_key}.state.${a}`)||r.device_class&&t(`component.${s}.entity_component.${r.device_class}.state.${a}`)||t(`component.${s}.entity_component._.state.${a}`)||a};class ae extends TypeError{constructor(t,e){let i;const{message:o,...n}=t,{path:r}=t;super(0===r.length?o:"At path: "+r.join(".")+" -- "+o),this.value=void 0,this.key=void 0,this.type=void 0,this.refinement=void 0,this.path=void 0,this.branch=void 0,this.failures=void 0,Object.assign(this,n),this.name=this.constructor.name,this.failures=()=>{var o;return null!=(o=i)?o:i=[t,...e()]}}}function le(t){return"object"==typeof t&&null!=t}function se(t){return"string"==typeof t?JSON.stringify(t):""+t}function ce(t,e,i,o){if(!0===t)return;!1===t?t={}:"string"==typeof t&&(t={message:t});const{path:n,branch:r}=e,{type:a}=i,{refinement:l,message:s="Expected a value of type `"+a+"`"+(l?" with refinement `"+l+"`":"")+", but received: `"+se(o)+"`"}=t;return{value:o,type:a,refinement:l,key:n[n.length-1],path:n,branch:r,...t,message:s}}function*de(t,e,i,o){(function(t){return le(t)&&"function"==typeof t[Symbol.iterator]})(t)||(t=[t]);for(const n of t){const t=ce(n,e,i,o);t&&(yield t)}}function*ue(t,e,i){void 0===i&&(i={});const{path:o=[],branch:n=[t],coerce:r=!1,mask:a=!1}=i,l={path:o,branch:n};if(r&&(t=e.coercer(t,l),a&&"type"!==e.type&&le(e.schema)&&le(t)&&!Array.isArray(t)))for(const i in t)void 0===e.schema[i]&&delete t[i];let s=!0;for(const i of e.validator(t,l))s=!1,yield[i,void 0];for(let[i,c,d]of e.entries(t,l)){const e=ue(c,d,{path:void 0===i?o:[...o,i],branch:void 0===i?n:[...n,c],coerce:r,mask:a});for(const o of e)o[0]?(s=!1,yield[o[0],void 0]):r&&(c=o[1],void 0===i?t=c:t instanceof Map?t.set(i,c):t instanceof Set?t.add(c):le(t)&&(t[i]=c))}if(s)for(const i of e.refiner(t,l))s=!1,yield[i,void 0];s&&(yield[void 0,t])}class he{constructor(t){this.TYPE=void 0,this.type=void 0,this.schema=void 0,this.coercer=void 0,this.validator=void 0,this.refiner=void 0,this.entries=void 0;const{type:e,schema:i,validator:o,refiner:n,coercer:r=(t=>t),entries:a=function*(){}}=t;this.type=e,this.schema=i,this.entries=a,this.coercer=r,this.validator=o?(t,e)=>de(o(t,e),e,this,t):()=>[],this.refiner=n?(t,e)=>de(n(t,e),e,this,t):()=>[]}assert(t){return me(t,this)}create(t){return function(t,e){const i=pe(t,e,{coerce:!0});if(i[0])throw i[0];return i[1]}(t,this)}is(t){return function(t,e){const i=pe(t,e);return!i[0]}(t,this)}mask(t){return function(t,e){const i=pe(t,e,{coerce:!0,mask:!0});if(i[0])throw i[0];return i[1]}(t,this)}validate(t,e){return void 0===e&&(e={}),pe(t,this,e)}}function me(t,e){const i=pe(t,e);if(i[0])throw i[0]}function pe(t,e,i){void 0===i&&(i={});const o=ue(t,e,i),n=function(t){const{done:e,value:i}=t.next();return e?void 0:i}(o);if(n[0]){const t=new ae(n[0],(function*(){for(const t of o)t[0]&&(yield t[0])}));return[t,void 0]}return[void 0,n[1]]}function fe(){for(var t=arguments.length,e=new Array(t),i=0;it.schema)),r=Object.assign({},...n);return o?Ae(r):Ce(r)}function ge(t,e){return new he({type:t,schema:null,validator:e})}function _e(t){return new he({type:"dynamic",schema:null,*entries(e,i){const o=t(e,i);yield*o.entries(e,i)},validator:(e,i)=>t(e,i).validator(e,i),coercer:(e,i)=>t(e,i).coercer(e,i),refiner:(e,i)=>t(e,i).refiner(e,i)})}function ve(){return ge("any",(()=>!0))}function be(t){return new he({type:"array",schema:t,*entries(e){if(t&&Array.isArray(e))for(const[i,o]of e.entries())yield[i,o,t]},coercer:t=>Array.isArray(t)?t.slice():t,validator:t=>Array.isArray(t)||"Expected an array value, but received: "+se(t)})}function ye(){return ge("boolean",(t=>"boolean"==typeof t))}function xe(t){const e={},i=t.map((t=>se(t))).join();for(const i of t)e[i]=i;return new he({type:"enums",schema:e,validator:e=>t.includes(e)||"Expected one of `"+i+"`, but received: "+se(e)})}function we(t){const e=se(t),i=typeof t;return new he({type:"literal",schema:"string"===i||"number"===i||"boolean"===i?t:null,validator:i=>i===t||"Expected the literal `"+e+"`, but received: "+se(i)})}function ke(){return ge("number",(t=>"number"==typeof t&&!isNaN(t)||"Expected a number, but received: "+se(t)))}function Ce(t){const e=t?Object.keys(t):[],i=ge("never",(()=>!1));return new he({type:"object",schema:t||null,*entries(o){if(t&&le(o)){const n=new Set(Object.keys(o));for(const i of e)n.delete(i),yield[i,o[i],t[i]];for(const t of n)yield[t,o[t],i]}},validator:t=>le(t)||"Expected an object, but received: "+se(t),coercer:t=>le(t)?{...t}:t})}function $e(t){return new he({...t,validator:(e,i)=>void 0===e||t.validator(e,i),refiner:(e,i)=>void 0===e||t.refiner(e,i)})}function Ee(){return ge("string",(t=>"string"==typeof t||"Expected a string, but received: "+se(t)))}function Ae(t){const e=Object.keys(t);return new he({type:"type",schema:t,*entries(i){if(le(i))for(const o of e)yield[o,i[o],t[o]]},validator:t=>le(t)||"Expected an object, but received: "+se(t)})}function Se(t){const e=t.map((t=>t.type)).join(" | ");return new he({type:"union",schema:null,coercer(e,i){const o=t.find((t=>{const[i]=t.validate(e,{coerce:!0});return!i}))||ge("unknown",(()=>!0));return o.coercer(e,i)},validator(i,o){const n=[];for(const e of t){const[...t]=ue(i,e,o),[r]=t;if(!r[0])return[];for(const[e]of t)e&&n.push(e)}return["Expected the value to satisfy a union of `"+e+"`, but received: "+se(i),...n]}})}function Ie(t){const e=t.language||"en";return t.translationMetadata.translations[e]&&t.translationMetadata.translations[e].isRTL||!1}const Te=(t,e,i=!1)=>{let o;const n=(...n)=>{const r=i&&!o;clearTimeout(o),o=window.setTimeout((()=>{o=void 0,i||t(...n)}),e),r&&t(...n)};return n.cancel=()=>{clearTimeout(o)},n},Oe=(t,e)=>{if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){if(t.constructor!==e.constructor)return!1;let i,o;if(Array.isArray(t)){if(o=t.length,o!==e.length)return!1;for(i=o;0!=i--;)if(!Oe(t[i],e[i]))return!1;return!0}if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(i of t.entries())if(!e.has(i[0]))return!1;for(i of t.entries())if(!Oe(i[1],e.get(i[0])))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(i of t.entries())if(!e.has(i[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(e)){if(o=t.length,o!==e.length)return!1;for(i=o;0!=i--;)if(t[i]!==e[i])return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();const n=Object.keys(t);if(o=n.length,o!==Object.keys(e).length)return!1;for(i=o;0!=i--;)if(!Object.prototype.hasOwnProperty.call(e,n[i]))return!1;for(i=o;0!=i--;){const o=n[i];if(!Oe(t[o],e[o]))return!1}return!0}return t!=t&&e!=e},ze=()=>new Promise((t=>{var e;e=t,requestAnimationFrame((()=>setTimeout(e,0)))})),Me={auto:1,heat_cool:2,heat:3,cool:4,dry:5,fan_only:6,off:7},je=(t,e)=>Me[t]-Me[e];const De=["hs","xy","rgb","rgbw","rgbww"],Le=[...De,"color_temp","brightness","white"],Pe=16384,Ne="returning",Re=8192,Fe=(t,e,i)=>t.subscribeMessage((t=>e(t)),Object.assign({type:"render_template"},i)) +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */,Ve=1,Be=3,Ue=4,He=t=>(...e)=>({_$litDirective$:t,values:e});let Ye=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};const We=(t,e)=>{const i=(()=>{const t=document.body;if(t.querySelector("action-handler"))return t.querySelector("action-handler");const e=document.createElement("action-handler");return t.appendChild(e),e})();i&&i.bind(t,e)},Xe=He(class extends Ye{update(t,[e]){return We(t.element,e),X}render(t){}}),Ke=async(t,e,i,o)=>{Lt(t,"hass-action",{config:i,action:o})};function Ge(t){return void 0!==t&&"none"!==t.action}const qe=Ce({user:Ee()}),Ze=Se([ye(),Ce({text:$e(Ee()),excemptions:$e(be(qe))})]),Je=Ce({action:we("url"),url_path:Ee(),confirmation:$e(Ze)}),Qe=Ce({action:we("call-service"),service:Ee(),service_data:$e(Ce()),data:$e(Ce()),target:$e(Ce({entity_id:$e(Se([Ee(),be(Ee())])),device_id:$e(Se([Ee(),be(Ee())])),area_id:$e(Se([Ee(),be(Ee())]))})),confirmation:$e(Ze)}),ti=Ce({action:we("navigate"),navigation_path:Ee(),confirmation:$e(Ze)}),ei=Ae({action:we("assist"),pipeline_id:$e(Ee()),start_listening:$e(ye())}),ii=Ae({action:we("fire-dom-event")}),oi=Ce({action:xe(["none","toggle","more-info","call-service","url","navigate","assist"]),confirmation:$e(Ze)}),ni=_e((t=>{if(t&&"object"==typeof t&&"action"in t)switch(t.action){case"call-service":return Qe;case"fire-dom-event":return ii;case"navigate":return ti;case"url":return Je;case"assist":return ei}return oi})),ri=h` + #sortable a:nth-of-type(2n) paper-icon-item { + animation-name: keyframes1; + animation-iteration-count: infinite; + transform-origin: 50% 10%; + animation-delay: -0.75s; + animation-duration: 0.25s; + } + + #sortable a:nth-of-type(2n-1) paper-icon-item { + animation-name: keyframes2; + animation-iteration-count: infinite; + animation-direction: alternate; + transform-origin: 30% 5%; + animation-delay: -0.5s; + animation-duration: 0.33s; + } + + #sortable a { + height: 48px; + display: flex; + } + + #sortable { + outline: none; + display: block !important; + } + + .hidden-panel { + display: flex !important; + } + + .sortable-fallback { + display: none; + } + + .sortable-ghost { + opacity: 0.4; + } + + .sortable-fallback { + opacity: 0; + } + + @keyframes keyframes1 { + 0% { + transform: rotate(-1deg); + animation-timing-function: ease-in; + } + + 50% { + transform: rotate(1.5deg); + animation-timing-function: ease-out; + } + } + + @keyframes keyframes2 { + 0% { + transform: rotate(1deg); + animation-timing-function: ease-in; + } + + 50% { + transform: rotate(-1.5deg); + animation-timing-function: ease-out; + } + } + + .show-panel, + .hide-panel { + display: none; + position: absolute; + top: 0; + right: 4px; + --mdc-icon-button-size: 40px; + } + + :host([rtl]) .show-panel { + right: initial; + left: 4px; + } + + .hide-panel { + top: 4px; + right: 8px; + } + + :host([rtl]) .hide-panel { + right: initial; + left: 8px; + } + + :host([expanded]) .hide-panel { + display: block; + } + + :host([expanded]) .show-panel { + display: inline-flex; + } + + paper-icon-item.hidden-panel, + paper-icon-item.hidden-panel span, + paper-icon-item.hidden-panel ha-icon[slot="item-icon"] { + color: var(--secondary-text-color); + cursor: pointer; + } +`;var ai={form:{color_picker:{values:{default:"اللون الإفتراضي"}},info_picker:{values:{default:"المعلومات الافتراضية",name:"الإسم",state:"الحالة","last-changed":"آخر تغيير","last-updated":"آخر تحديث",none:"لا شئ"}},icon_type_picker:{values:{default:"النوع افتراضي",icon:"أيقونة","entity-picture":"صورة الكيان",none:"لا شئ"}},layout_picker:{values:{default:"تخطيط افتراضي",vertical:"تخطيط رأسي",horizontal:"تخطيط أفقي"}},alignment_picker:{values:{default:"المحاذاة الافتراضية",start:"بداية",end:"نهاية",center:"توسيط",justify:"مساواة"}}},card:{generic:{icon_color:"لون الأيقونة",layout:"التخطيط",fill_container:"ملئ الحاوية",primary_info:"المعلومات الأساسية",secondary_info:"المعلومات الفرعية",icon_type:"نوع الأيقونة",content_info:"المحتوى",use_entity_picture:"استخدم صورة الكيان؟",collapsible_controls:"تصغير عناصر التحكم عند الإيقاف",icon_animation:"تحريك الرمز عندما يكون نشطًا؟"},light:{show_brightness_control:"التحكم في السطوع؟",use_light_color:"استخدم لون فاتح",show_color_temp_control:"التحكم في حرارة اللون؟",show_color_control:"التحكم في اللون؟",incompatible_controls:"قد لا يتم عرض بعض عناصر التحكم إذا كان الضوء الخاص بك لا يدعم الميزة."},fan:{show_percentage_control:"التحكم في النسبة المئوية؟",show_oscillate_control:"التحكم في التذبذب؟"},cover:{show_buttons_control:"أزرار التحكم؟",show_position_control:"التحكم في الموقع؟"},template:{primary:"المعلومات الأساسية",secondary:"المعلومات الثانوية",multiline_secondary:"متعدد الأسطر الثانوية؟",entity_extra:"تستخدم في القوالب والإجراءات",content:"المحتوى",badge_icon:"أيقونة الشارة",badge_color:"لون الشارة",picture:"صورة (ستحل محل الأيقونة)"},title:{title:"العنوان",subtitle:"العنوان الفرعي"},chips:{alignment:"محاذاة"},weather:{show_conditions:"الأحوال الجوية؟",show_temperature:"الطقس؟"},update:{show_buttons_control:"أزرار التحكم؟"},vacuum:{commands:"الاوامر"},"media-player":{use_media_info:"استخدم معلومات الوسائط",use_media_artwork:"استخدم صورة الوسائط",show_volume_level:"إظهار مستوى الصوت",media_controls:"التحكم في الوسائط",media_controls_list:{on_off:"تشغيل/إيقاف",shuffle:"خلط",previous:"السابق",play_pause_stop:"تشغيل/إيقاف مؤقت/إيقاف",next:"التالي",repeat:"وضع التكرار"},volume_controls:"التحكم في الصوت",volume_controls_list:{volume_buttons:"أزرار الصوت",volume_set:"مستوى الصوت",volume_mute:"كتم"}},lock:{lock:"مقفل",unlock:"إلغاء قفل",open:"مفتوح"},humidifier:{show_target_humidity_control:"التحكم في الرطوبة؟?"},climate:{show_temperature_control:"التحكم في درجة الحرارة؟",hvac_modes:"أوضاع HVAC"}},chip:{sub_element_editor:{title:"محرر الرقاقة"},conditional:{chip:"رقاقة"},"chip-picker":{chips:"رقاقات",add:"أضف رقاقة",edit:"تعديل",clear:"مسح",select:"اختر الرقاقة",types:{action:"إجراء","alarm-control-panel":"تنبيه",back:"رجوع",conditional:"مشروط",entity:"الكيان",light:"Light",menu:"القائمة",template:"قالب",weather:"الطقس"}}}},li={editor:ai},si={form:{color_picker:{values:{default:"Основен цвят"}},info_picker:{values:{default:"Основна информация",name:"Име",state:"Състояние","last-changed":"Последно Променен","last-updated":"Последно Актуализиран",none:"Липсва"}},icon_type_picker:{values:{default:"Основен тип",icon:"Икона","entity-picture":"Картина на обекта",none:"Липсва"}},layout_picker:{values:{default:"Основно оформление",vertical:"Вертикално оформление",horizontal:"Хоризонтално оформление"}},alignment_picker:{values:{default:"Основно подравняване",start:"Старт",end:"Край",center:"Център",justify:"Подравнен"}}},card:{generic:{icon_color:"Цвят на икона",layout:"Оформление",fill_container:"Изпълване на контейнера",primary_info:"Първостепенна информация",secondary_info:"Второстепенна информация",icon_type:"Тип на икона",content_info:"Съдържание",use_entity_picture:"Използвай снимката на обекта?",collapsible_controls:"Свий контролите при изключен",icon_animation:"Анимирай иконата при активен?"},light:{show_brightness_control:"Контрол на яркостта?",use_light_color:"Използвай цвета на светлината",show_color_temp_control:"Контрол на температурата?",show_color_control:"Контрол на цвета?",incompatible_controls:"Някои опции могат да бъдат скрити при условие че осветителното тяло не поддържа фунцията."},fan:{show_percentage_control:"Процентов контрол?",show_oscillate_control:"Контрол на трептенето?"},cover:{show_buttons_control:"Контролни бутони?",show_position_control:"Контрол на позицията?",show_tilt_position_control:"Контрол на наклона?"},template:{primary:"Първостепенна информация",secondary:"Второстепенна информация",multiline_secondary:"Много-редова второстепенна информация?",entity_extra:"Използван в шаблони и действия",content:"Съдържание",badge_icon:"Икона на значка",badge_color:"Цвят на значка",picture:"Картина (ще замени иконата)"},title:{title:"Заглавие",subtitle:"Подзаглавие"},chips:{alignment:"Подравняване"},weather:{show_conditions:"Условия?",show_temperature:"Температура?"},update:{show_buttons_control:"Контролни бутони?"},vacuum:{commands:"Конади",commands_list:{on_off:"Вкл./Изкл."}},"media-player":{use_media_info:"Използвай информация от медията",use_media_artwork:"Използвай визуалните детайли от медията",show_volume_level:"Покажи контрола за звук",media_controls:"Контрол на Медиата",media_controls_list:{on_off:"Вкл./Изкл.",shuffle:"Разбъркано",previous:"Предишен",play_pause_stop:"Пусни/пауза/стоп",next:"Следващ",repeat:"Повтаряне"},volume_controls:"Контрол на звука",volume_controls_list:{volume_buttons:"Бутони за звук",volume_set:"Ниво на звука",volume_mute:"Заглуши"}},lock:{lock:"Заключен",unlock:"Отключен",open:"Отворен"},humidifier:{show_target_humidity_control:"Контрол на влажността?"},climate:{show_temperature_control:"Контрол на температурата?",hvac_modes:"HVAC Режими"}},chip:{sub_element_editor:{title:"Чип редактор"},conditional:{chip:"Чип"},"chip-picker":{chips:"Чипове",add:"Добави чип",edit:"Редактирай",clear:"Изчисти",select:"Избери чип",types:{action:"Действия","alarm-control-panel":"Аларма",back:"Назад",conditional:"Условни",entity:"Обект",light:"Осветление",menu:"Меню",template:"Шаблон",weather:"Време"}}}},ci={editor:si},di={form:{color_picker:{values:{default:"Color per defecte"}},info_picker:{values:{default:"Informació per defecte",name:"Nom",state:"Estat","last-changed":"Últim Canvi","last-updated":"Última Actualització",none:"Cap"}},icon_type_picker:{values:{default:"Tipus per defecte",icon:"Icona","entity-picture":"Entitat d'imatge",none:"Cap"}},layout_picker:{values:{default:"Distribució per defecte",vertical:"Distribució vertical",horizontal:"Distribució horitzontal"}},alignment_picker:{values:{default:"Alineació per defecte",start:"Inici",end:"Final",center:"Centre",justify:"Justifica"}}},card:{generic:{icon_color:"Color d'icona",layout:"Distribució",fill_container:"Emplena el contenidor",primary_info:"Informació primaria",secondary_info:"Informació secundaria",icon_type:"Tipus d'icona",content_info:"Contingut",use_entity_picture:"Fer servir la imatge de l'entitat?",collapsible_controls:"Amaga els controls en desactivar",icon_animation:"Animar icona en activar?"},light:{show_brightness_control:"Control de brillantor?",use_light_color:"Fes servir el color del llum",show_color_temp_control:"Control de la temperatura del color?",show_color_control:"Control de color?",incompatible_controls:"Alguns controls no es mostraran si l'entitat no suporta eixa funció."},fan:{show_percentage_control:"Control de percentatge?",show_oscillate_control:"Control d'oscil·lació?"},cover:{show_buttons_control:"Botons de control?",show_position_control:"Control de posició?",show_tilt_position_control:"Control d'inclinació?"},template:{primary:"Informació primaria",secondary:"Informació secundaria",multiline_secondary:"Secundaria en varies línies?",entity_extra:"Utilitzats en plantilles i accions",content:"Contingut",badge_icon:"Icona de la insígnia",badge_color:"Color de la insígnia",picture:"Imatge (reemplaçarà la icona)"},title:{title:"Títol",subtitle:"Subtítol",title_tap_action:"Acció en tocar el títol",subtitle_tap_action:"Acció en tocar el subtítol"},chips:{alignment:"Alineació"},weather:{show_conditions:"Condicions?",show_temperature:"Temperatura?"},update:{show_buttons_control:"Botons de control?"},vacuum:{commands:"Comandaments",commands_list:{on_off:"Engegar/Apagar"}},"media-player":{use_media_info:"Empra la informació multimèdia",use_media_artwork:"Fes servir l'art multimèdia",show_volume_level:"Mostra el nivell de volum",media_controls:"Controls multimèdia",media_controls_list:{on_off:"Engegar/Apagar",shuffle:"Mesclar",previous:"Pista anterior",play_pause_stop:"Reproduïr/Pausar/Detindre",next:"Pista següent",repeat:"Mode de repetició"},volume_controls:"Controls de volum",volume_controls_list:{volume_buttons:"Botons de volum",volume_set:"Nivell de volum",volume_mute:"Silenci"}},lock:{lock:"Bloqueja",unlock:"Desbloqueja",open:"Obri"},humidifier:{show_target_humidity_control:"Control d'humitat?"},climate:{show_temperature_control:"Control de temperatura?",hvac_modes:"Modes HVAC"},number:{display_mode:"Mode de visualització",display_mode_list:{default:"Per defecte (lliscant)",slider:"Lliscant",buttons:"Botons"}}},chip:{sub_element_editor:{title:"Editor de xips"},conditional:{chip:"Xip"},"chip-picker":{chips:"Xips",add:"Afegir xip",edit:"Editar",clear:"Buidar",select:"Seleccionar chip",types:{action:"Acció","alarm-control-panel":"Alarma",back:"Tornar",conditional:"Condicional",entity:"Entitat",light:"Llum",menu:"Menú",spacer:"Espai",template:"Plantilla",weather:"Oratge"}}}},ui={not_found:"No s'ha trobat l'entitat"},hi={editor:di,card:ui},mi={form:{color_picker:{values:{default:"Výchozí barva"}},info_picker:{values:{default:"Základní informace",name:"Název",state:"Stav","last-changed":"Poslední změna","last-updated":"Poslední update",none:"Nic"}},icon_type_picker:{values:{default:"Výchozí typ",icon:"Ikona","entity-picture":"Ikona entity",none:"Nic"}},layout_picker:{values:{default:"Výchozí rozložení",vertical:"Svislé rozložení",horizontal:"Vodorovné rozložení"}},alignment_picker:{values:{default:"Výchozí zarovnání",start:"Začátek",end:"Konec",center:"Na střed",justify:"Do bloku"}}},card:{generic:{icon_color:"Barva ikony",layout:"Rozložení",fill_container:"Vyplnit prostor",primary_info:"Základní informace",secondary_info:"Sekundární informace",icon_type:"Typ ikony",content_info:"Obsah",use_entity_picture:"Použít ikonu entity?",collapsible_controls:"Skrýt ovládací prvky pokud je VYP",icon_animation:"Animovaná ikona, pokud je aktivní?"},light:{show_brightness_control:"Ovládání jasu?",use_light_color:"Ikona podle barvy světla?",show_color_temp_control:"Ovládání teploty světla?",show_color_control:"Ovládání barvy světla?",incompatible_controls:"Některé ovládací prvky se nemusí zobrazit, pokud vaše světlo tuto funkci nepodporuje."},fan:{show_percentage_control:"Ovládání v procentech?",show_oscillate_control:"Oscillate control?"},cover:{show_buttons_control:"Zobrazit ovládací tlačítka?",show_position_control:"Zobrazit ovládání polohy?",show_tilt_position_control:"Zobrazit ovládání náklonu?"},template:{primary:"Základní informace",secondary:"Sekundární informace",multiline_secondary:"Víceřádková sekundární informace?",entity_extra:"Použito v šablonách a akcích",content:"Obsah",badge_icon:"Ikona odznaku",badge_color:"Barva odznaku",picture:"Obrázek (nahradí ikonu)"},title:{title:"Titulek",subtitle:"Popis",title_tap_action:"Titulek akce klepnutím",subtitle_tap_action:"Popis akce klepnutím"},chips:{alignment:"Zarovnání"},weather:{show_conditions:"Zobrazit podmínky?",show_temperature:"Zobrazit teplotu?"},update:{show_buttons_control:"Zobrazit ovládací tlačítka?"},vacuum:{commands:"Příkazy",commands_list:{on_off:"Vyp / Zap"}},"media-player":{use_media_info:"Použít informace o médiích",use_media_artwork:"Použít ilustrace médií",show_volume_level:"Zobrazit úroveň hlasitosti",media_controls:"Ovládání médií",media_controls_list:{on_off:"Vyp / Zap",shuffle:"Zamíchat",previous:"Předchozí skladba",play_pause_stop:"hrát/pauza/zastavit",next:"Další skladba",repeat:"Opakovat"},volume_controls:"Ovládání hlasitosti",volume_controls_list:{volume_buttons:"Tlačítka hlasitosti",volume_set:"Úroveň hlasitosti",volume_mute:"Ztlumit"}},lock:{lock:"Zamčeno",unlock:"Odemčeno",open:"Otevřeno"},humidifier:{show_target_humidity_control:"Ovládání vlhkosti?"},climate:{show_temperature_control:"Ovládání teploty?",hvac_modes:"HVAC Mód"},number:{display_mode:"Režim zobrazení",display_mode_list:{default:"Výchozí (posuvník)",slider:"Posuvník",buttons:"Tlačítka"}}},chip:{sub_element_editor:{title:"Editor tlačítek"},conditional:{chip:"Tlačítko"},"chip-picker":{chips:"Tlačítka",add:"Přidat tlačítko",edit:"Editovat",clear:"Vymazat",select:"Vybrat tlačítko",types:{action:"Akce","alarm-control-panel":"Alarm",back:"Zpět",conditional:"Podmínky",entity:"Entita",light:"Světlo",menu:"Menu",spacer:"Mezera",template:"Šablona",weather:"Počasí"}}}},pi={not_found:"Entita nebyla nalezena"},fi={editor:mi,card:pi},gi={form:{color_picker:{values:{default:"Standard farve"}},info_picker:{values:{default:"Standard information",name:"Navn",state:"Status","last-changed":"Sidst ændret","last-updated":"Sidst opdateret",none:"Ingen"}},icon_type_picker:{values:{default:"Standard type",icon:"Ikon","entity-picture":"Enheds billede",none:"Ingen"}},layout_picker:{values:{default:"Standard layout",vertical:"Vertikal layout",horizontal:"Horisontal layout"}},alignment_picker:{values:{default:"Standard justering",start:"Start",end:"Slut",center:"Centrer",justify:"Lige margener"}}},card:{generic:{icon_color:"Ikon farve",layout:"Layout",fill_container:"Fyld container",primary_info:"Primær information",secondary_info:"Sekundær information",icon_type:"Ikon type",content_info:"Indhold",use_entity_picture:"Brug enheds billede?",collapsible_controls:"Skjul kontroller når slukket",icon_animation:"Animér ikon når aktiv?"},light:{show_brightness_control:"Lysstyrkekontrol?",use_light_color:"Brug lysfarve",show_color_temp_control:"Temperatur farvekontrol?",show_color_control:"Farvekontrol?",incompatible_controls:"Nogle kontroller vises muligvis ikke, hvis dit lys ikke understøtter funktionen."},fan:{show_percentage_control:"Procentvis kontrol?",show_oscillate_control:"Oscillerende kontrol?"},cover:{show_buttons_control:"Betjeningsknapper?",show_position_control:"Positionskontrol?"},template:{primary:"Primær information",secondary:"Sekundær information",multiline_secondary:"Multi-linje skundær?",entity_extra:"Anvendes i skabelober og handlinger",content:"Indhold",badge_icon:"Badge ikon",badge_color:"Badge farve",picture:"Billede (erstatter ikonen)"},title:{title:"Titel",subtitle:"Undertitel"},chips:{alignment:"Justering"},weather:{show_conditions:"Forhold?",show_temperature:"Temperatur?"},update:{show_buttons_control:"Betjeningsknapper?"},vacuum:{commands:"Kommandoer"},"media-player":{use_media_info:"Brug medie info",use_media_artwork:"Brug mediebilleder",show_volume_level:"Vis volumen niveau",media_controls:"Medie kontrol",media_controls_list:{on_off:"Tænd/Sluk",shuffle:"Bland",previous:"Forrige nummer",play_pause_stop:"Afspil/Pause/Stop",next:"Næste nummer",repeat:"Gentagelsestilstand"},volume_controls:"Volumen kontrol",volume_controls_list:{volume_buttons:"Volumen knapper",volume_set:"Volumenniveau",volume_mute:"Lydløs"}},lock:{lock:"Lås",unlock:"Lås op",open:"Åben"},humidifier:{show_target_humidity_control:"Luftfugtigheds kontrol?"},climate:{show_temperature_control:"Temperatur kontrol?",hvac_modes:"HVAC-tilstande"}},chip:{sub_element_editor:{title:"Chip-editor"},conditional:{chip:"Chip"},"chip-picker":{chips:"Chips",add:"Tilføj chip",edit:"Rediger",clear:"Nulstil",select:"Vælg chip",types:{action:"Handling","alarm-control-panel":"Alarm",back:"Tilbage",conditional:"Betinget",entity:"Enhed",light:"Lys",menu:"Menu",template:"Skabelon",weather:"Vejr"}}}},_i={editor:gi},vi={form:{color_picker:{values:{default:"Standardfarbe"}},info_picker:{values:{default:"Standard-Information",name:"Name",state:"Zustand","last-changed":"Letzte Änderung","last-updated":"Letzte Aktualisierung",none:"Keine"}},icon_type_picker:{values:{default:"Standard-Typ",icon:"Icon","entity-picture":"Entitätsbild",none:"Keines"}},layout_picker:{values:{default:"Standard-Layout",vertical:"Vertikales Layout",horizontal:"Horizontales Layout"}},alignment_picker:{values:{default:"Standard",start:"Anfang",end:"Ende",center:"Mitte",justify:"Ausrichten"}}},card:{generic:{icon_color:"Icon-Farbe",layout:"Layout",fill_container:"Container ausfüllen",primary_info:"Primäre Information",secondary_info:"Sekundäre Information",icon_type:"Icon-Typ",content_info:"Inhalt",use_entity_picture:"Entitätsbild verwenden?",collapsible_controls:"Schieberegler einklappen, wenn aus",icon_animation:"Icon animieren, wenn aktiv?"},light:{show_brightness_control:"Helligkeitsregelung?",use_light_color:"Farbsteuerung verwenden",show_color_temp_control:"Farbtemperatursteuerung?",show_color_control:"Farbsteuerung?",incompatible_controls:"Einige Steuerelemente werden möglicherweise nicht angezeigt, wenn Ihr Licht diese Funktion nicht unterstützt."},fan:{show_percentage_control:"Prozentuale Kontrolle?",show_oscillate_control:"Oszillationssteuerung?"},cover:{show_buttons_control:"Schaltflächensteuerung?",show_position_control:"Positionssteuerung?",show_tilt_position_control:"Winkelsteuerung?"},template:{primary:"Primäre Information",secondary:"Sekundäre Information",multiline_secondary:"Mehrzeilig sekundär?",entity_extra:"Wird in Vorlagen und Aktionen verwendet",content:"Inhalt",badge_icon:"Badge-Icon",badge_color:"Badge-Farbe",picture:"Bild (ersetzt das Icon)"},title:{title:"Titel",subtitle:"Untertitel",title_tap_action:"Titel Tipp-Aktion",subtitle_tap_action:"Untertitel Tipp-Aktion"},chips:{alignment:"Ausrichtung"},weather:{show_conditions:"Bedingungen?",show_temperature:"Temperatur?"},update:{show_buttons_control:"Schaltflächensteuerung?"},vacuum:{commands:"Befehle",commands_list:{on_off:"An/Ausschalten"}},"media-player":{use_media_info:"Medieninfos verwenden",use_media_artwork:"Mediengrafik verwenden",show_volume_level:"Lautstärke-Level anzeigen",media_controls:"Mediensteuerung",media_controls_list:{on_off:"Ein/Aus",shuffle:"Zufällige Wiedergabe",previous:"Vorheriger Titel",play_pause_stop:"Play/Pause/Stop",next:"Nächster Titel",repeat:"Wiederholen"},volume_controls:"Lautstärkesteuerung",volume_controls_list:{volume_buttons:"Lautstärke-Buttons",volume_set:"Lautstärke-Level",volume_mute:"Stumm"}},lock:{lock:"Verriegeln",unlock:"Entriegeln",open:"Öffnen"},humidifier:{show_target_humidity_control:"Luftfeuchtigkeitssteuerung?"},climate:{show_temperature_control:"Temperatursteuerung?",hvac_modes:"HVAC-Modi"},number:{display_mode:"Anzeigemodus",display_mode_list:{default:"Standard (Schieberegler)",slider:"Schieberegler",buttons:"Buttons"}}},chip:{sub_element_editor:{title:"Chip Editor"},conditional:{chip:"Chip"},"chip-picker":{chips:"Chips",add:"Chip hinzufügen",edit:"Editieren",clear:"Löschen",select:"Chip auswählen",types:{action:"Aktion","alarm-control-panel":"Alarm",back:"Zurück",conditional:"Bedingung",entity:"Entität",light:"Licht",menu:"Menü",spacer:"Abstand",template:"Vorlage",weather:"Wetter"}}}},bi={not_found:"Entität nicht gefunden"},yi={editor:vi,card:bi},xi={form:{color_picker:{values:{default:"Προεπιλεγμένο χρώμα"}},info_picker:{values:{default:"Προεπιλεγμένες πληροφορίες",name:"Όνομα",state:"Κατάσταση","last-changed":"Τελευταία αλλαγή","last-updated":"Τελευταία ενημέρωση",none:"Τίποτα"}},layout_picker:{values:{default:"Προεπιλεγμένη διάταξη",vertical:"Κάθετη διάταξη",horizontal:"Οριζόντια διάταξη"}},alignment_picker:{values:{default:"Προεπιλεγμένη στοίχιση",start:"Στοίχιση αριστερά",end:"Στοίχιση δεξιά",center:"Στοίχιση στο κέντρο",justify:"Πλήρης στοίχιση"}}},card:{generic:{icon_color:"Χρώμα εικονιδίου",layout:"Διάταξη",primary_info:"Πρωτεύουσες πληροφορίες",secondary_info:"Δευτερεύουσες πληροφορίες",content_info:"Περιεχόμενο",use_entity_picture:"Χρήση εικόνας οντότητας;",icon_animation:"Κίνηση εικονιδίου όταν είναι ενεργό;"},light:{show_brightness_control:"Έλεγχος φωτεινότητας;",use_light_color:"Χρήση χρώματος φωτος",show_color_temp_control:"Έλεγχος χρώματος θερμοκρασίας;",show_color_control:"Έλεγχος χρώματος;",incompatible_controls:"Ορισμένα στοιχεία ελέγχου ενδέχεται να μην εμφανίζονται εάν το φωτιστικό σας δεν υποστηρίζει τη λειτουργία."},fan:{show_percentage_control:"Έλεγχος ποσοστού;",show_oscillate_control:"Έλεγχος ταλάντωσης;"},cover:{show_buttons_control:"Έλεγχος κουμπιών;",show_position_control:"Έλεγχος θέσης;"},template:{primary:"Πρωτεύουσες πληροφορίες",secondary:"Δευτερεύουσες πληροφορίες",multiline_secondary:"Δευτερεύουσες πολλαπλών γραμμών;",entity_extra:"Χρησιμοποιείται σε πρότυπα και ενέργειες",content:"Περιεχόμενο"},title:{title:"Τίτλος",subtitle:"Υπότιτλος"},chips:{alignment:"Ευθυγράμμιση"},weather:{show_conditions:"Συνθήκες;",show_temperature:"Θερμοκρασία;"},update:{show_buttons_control:"Έλεγχος κουμπιών;"},vacuum:{commands:"Εντολές"},"media-player":{use_media_info:"Χρήση πληροφοριών πολυμέσων",use_media_artwork:"Χρήση έργων τέχνης πολυμέσων",media_controls:"Έλεγχος πολυμέσων",media_controls_list:{on_off:"Ενεργοποίηση/απενεργοποίηση",shuffle:"Τυχαία σειρά",previous:"Προηγούμενο κομμάτι",play_pause_stop:"Αναπαραγωγή/παύση/διακοπή",next:"Επόμενο κομμάτι",repeat:"Λειτουργία επανάληψης"},volume_controls:"Χειριστήρια έντασης ήχου",volume_controls_list:{volume_buttons:"Κουμπιά έντασης ήχου",volume_set:"Επίπεδο έντασης ήχου",volume_mute:"Σίγαση"}}},chip:{sub_element_editor:{title:"Επεξεργαστής Chip"},conditional:{chip:"Chip"},"chip-picker":{chips:"Chips",add:"Προσθήκη chip",edit:"Επεξεργασία",clear:"Καθαρισμός",select:"Επιλογή chip",types:{action:"Ενέργεια","alarm-control-panel":"Συναγερμός",back:"Πίσω",conditional:"Υπό προϋποθέσεις",entity:"Οντότητα",light:"Φως",menu:"Μενού",template:"Πρότυπο",weather:"Καιρός"}}}},wi={editor:xi},ki={form:{color_picker:{values:{default:"Default color"}},info_picker:{values:{default:"Default information",name:"Name",state:"State","last-changed":"Last Changed","last-updated":"Last Updated",none:"None"}},icon_type_picker:{values:{default:"Default type",icon:"Icon","entity-picture":"Entity picture",none:"None"}},layout_picker:{values:{default:"Default layout",vertical:"Vertical layout",horizontal:"Horizontal layout"}},alignment_picker:{values:{default:"Default alignment",start:"Start",end:"End",center:"Center",justify:"Justify"}}},card:{generic:{icon_color:"Icon color",layout:"Layout",fill_container:"Fill container",primary_info:"Primary information",secondary_info:"Secondary information",icon_type:"Icon type",content_info:"Content",use_entity_picture:"Use entity picture?",collapsible_controls:"Collapse controls when off",icon_animation:"Animate icon when active?"},light:{show_brightness_control:"Brightness control?",use_light_color:"Use light color",show_color_temp_control:"Temperature color control?",show_color_control:"Color control?",incompatible_controls:"Some controls may not be displayed if your light does not support the feature."},fan:{show_percentage_control:"Percentage control?",show_oscillate_control:"Oscillate control?"},cover:{show_buttons_control:"Control buttons?",show_position_control:"Position control?",show_tilt_position_control:"Tilt control?"},template:{primary:"Primary information",secondary:"Secondary information",multiline_secondary:"Multiline secondary?",entity_extra:"Used in templates and actions",content:"Content",badge_icon:"Badge icon",badge_color:"Badge color",picture:"Picture (will replace the icon)"},title:{title:"Title",subtitle:"Subtitle",title_tap_action:"Title tap action",subtitle_tap_action:"Subtitle tap action"},chips:{alignment:"Alignment"},weather:{show_conditions:"Conditions?",show_temperature:"Temperature?"},update:{show_buttons_control:"Control buttons?"},vacuum:{commands:"Commands",commands_list:{on_off:"Turn on/off"}},"media-player":{use_media_info:"Use media info",use_media_artwork:"Use media artwork",show_volume_level:"Show volume level",media_controls:"Media controls",media_controls_list:{on_off:"Turn on/off",shuffle:"Shuffle",previous:"Previous track",play_pause_stop:"Play/pause/stop",next:"Next track",repeat:"Repeat mode"},volume_controls:"Volume controls",volume_controls_list:{volume_buttons:"Volume buttons",volume_set:"Volume level",volume_mute:"Mute"}},lock:{lock:"Lock",unlock:"Unlock",open:"Open"},humidifier:{show_target_humidity_control:"Humidity control?"},climate:{show_temperature_control:"Temperature control?",hvac_modes:"HVAC Modes"},number:{display_mode:"Display Mode",display_mode_list:{default:"Default (slider)",slider:"Slider",buttons:"Buttons"}}},chip:{sub_element_editor:{title:"Chip editor"},conditional:{chip:"Chip"},"chip-picker":{chips:"Chips",add:"Add chip",edit:"Edit",clear:"Clear",select:"Select chip",types:{action:"Action","alarm-control-panel":"Alarm",back:"Back",conditional:"Conditional",entity:"Entity",light:"Light",menu:"Menu",spacer:"Spacer",template:"Template",weather:"Weather"}}}},Ci={not_found:"Entity not found"},$i={editor:ki,card:Ci},Ei={form:{color_picker:{values:{default:"Color predeterminado"}},info_picker:{values:{default:"Información predeterminada",name:"Nombre",state:"Estado","last-changed":"Último cambio","last-updated":"Última actualización",none:"Ninguno"}},icon_type_picker:{values:{default:"Por defecto",icon:"Icono","entity-picture":"Imagen de entidad",none:"Ninguno"}},layout_picker:{values:{default:"Diseño predeterminado",vertical:"Diseño vertical",horizontal:"Diseño horizontal"}},alignment_picker:{values:{default:"Alineación predeterminada",start:"Inicio",end:"Final",center:"Centrado",justify:"Justificado"}}},card:{generic:{icon_color:"Color de icono",layout:"Diseño",fill_container:"Rellenar",primary_info:"Información primaria",secondary_info:"Información secundaria",icon_type:"Icono",content_info:"Contenido",use_entity_picture:"¿Usar imagen de entidad?",collapsible_controls:"Contraer controles cuando está apagado",icon_animation:"¿Icono animado cuando está activo?"},light:{show_brightness_control:"¿Controlar brillo?",use_light_color:"Usar color de la luz",show_color_temp_control:"¿Controlar temperatura del color?",show_color_control:"¿Controlar color?",incompatible_controls:"Es posible que algunos controles no se muestren si la luz no es compatible con esta función."},fan:{show_percentage_control:"¿Controlar porcentaje?",show_oscillate_control:"¿Controlar oscilación?"},cover:{show_buttons_control:"¿Botones de control?",show_position_control:"¿Control de posición?",show_tilt_position_control:"¿Control de inclinación?"},template:{primary:"Información primaria",secondary:"Información secundaria",multiline_secondary:"¿Secundaria multilínea?",entity_extra:"Utilizado en plantillas y acciones.",content:"Contenido",badge_icon:"Icono del distintivo",badge_color:"Color del distintivo",picture:"Imagen (sustituirá al icono)"},title:{title:"Título",subtitle:"Subtítulo",title_tap_action:"Acción al tocar el título",subtitle_tap_action:"Acción al tocar el subtítulo"},chips:{alignment:"Alineación"},weather:{show_conditions:"¿Condiciones?",show_temperature:"¿Temperatura?"},update:{show_buttons_control:"¿Botones de control?"},vacuum:{commands:"Comandos",commands_list:{on_off:"Activar/desactivar"}},"media-player":{use_media_info:"Usar información multimedia",use_media_artwork:"Usar ilustraciones multimedia",show_volume_level:"Mostrar nivel de volumen",media_controls:"Controles multimedia",media_controls_list:{on_off:"Activar/desactivar",shuffle:"Aleatoria",previous:"Pista anterior",play_pause_stop:"Reproducir/pausa/parar",next:"Pista siguiente",repeat:"Modo de repetición"},volume_controls:"Controles de volumen",volume_controls_list:{volume_buttons:"Botones de volumen",volume_set:"Nivel de volumen",volume_mute:"Silenciar"}},lock:{lock:"Bloquear",unlock:"Desbloquear",open:"Abrir"},humidifier:{show_target_humidity_control:"¿Controlar humedad?"},climate:{show_temperature_control:"¿Control de temperatura?",hvac_modes:"Modos de climatización"}},chip:{sub_element_editor:{title:"Editor de chip"},conditional:{chip:"Chip"},"chip-picker":{chips:"Chips",add:"Añadir chip",edit:"Editar",clear:"Limpiar",select:"Seleccionar chip",types:{action:"Acción","alarm-control-panel":"Alarma",back:"Volver",conditional:"Condicional",entity:"Entidad",light:"Luz",menu:"Menú",template:"Plantilla",weather:"Clima"}}}},Ai={editor:Ei},Si={form:{color_picker:{values:{default:"Oletusväri"}},info_picker:{values:{default:"Oletustiedot",name:"Nimi",state:"Tila","last-changed":"Viimeksi muuttunut","last-updated":"Viimeksi päivittynyt",none:"Ei mitään"}},icon_type_picker:{values:{default:"Oletustyyppi",icon:"Kuvake","entity-picture":"Kohteen kuva",none:"Ei mitään"}},layout_picker:{values:{default:"Oletusasettelu",vertical:"Pystysuuntainen",horizontal:"Vaakasuuntainen"}},alignment_picker:{values:{default:"Keskitys",start:"Alku",end:"Loppu",center:"Keskitä",justify:"Sovita"}}},card:{generic:{icon_color:"Ikonin väri",layout:"Asettelu",fill_container:"Täytä alue",primary_info:"Ensisijaiset tiedot",secondary_info:"Toissijaiset tiedot",icon_type:"Kuvakkeen tyyppi",content_info:"Sisältö",use_entity_picture:"Käytä kohteen kuvaa?",collapsible_controls:"Piilota toiminnot off-tilassa",icon_animation:"Animoi kuvake, kun aktiivinen?"},light:{show_brightness_control:"Kirkkauden säätö?",use_light_color:"Käytä valaisimen väriä",show_color_temp_control:"Värilämpötilan säätö?",show_color_control:"Värin säätö?",incompatible_controls:"Jotkin toiminnot eivät näy, jos valaisimesi ei tue niitä."},fan:{show_percentage_control:"Prosentuaalinen säätö?",show_oscillate_control:"Oskillaation säätö?"},cover:{show_buttons_control:"Toimintopainikkeet?",show_position_control:"Sijainnin hallinta?"},template:{primary:"Ensisijaiset tiedot",secondary:"Toissijaiset tiedot",multiline_secondary:"Monirivinen toissijainen tieto?",entity_extra:"Käytetään malleissa ja toiminnoissa",content:"Sisältö",badge_icon:"Merkin kuvake",badge_color:"Merkin väri",picture:"Kuva (korvaa kuvakkeen)"},title:{title:"Otsikko",subtitle:"Tekstitys"},chips:{alignment:"Asettelu"},weather:{show_conditions:"Ehdot?",show_temperature:"Lämpötila?"},update:{show_buttons_control:"Toimintopainikkeet?"},vacuum:{commands:"Komennot"},"media-player":{use_media_info:"Käytä median tietoja",use_media_artwork:"Käytä median kuvituksia",show_volume_level:"Näytä äänenvoimakkuuden hallinta",media_controls:"Toiminnot",media_controls_list:{on_off:"Päälle/pois",shuffle:"Sekoita",previous:"Edellinen kappale",play_pause_stop:"Toista/keskeytä/pysäytä",next:"Seuraava kappale",repeat:"Jatkuva toisto"},volume_controls:"Äänenvoimakkuuden hallinta",volume_controls_list:{volume_buttons:"Äänenvoimakkuuspainikkeet",volume_set:"Äänenvoimakkuus",volume_mute:"Mykistä"}},lock:{lock:"Lukitse",unlock:"Poista lukitus",open:"Avaa"},humidifier:{show_target_humidity_control:"Kosteudenhallinta?"}},chip:{sub_element_editor:{title:"Merkkieditori"},conditional:{chip:"Merkki"},"chip-picker":{chips:"Merkit",add:"Lisää merkki",edit:"Muokkaa",clear:"Tyhjennä",select:"Valitse merkki",types:{action:"Toiminto","alarm-control-panel":"Hälytys",back:"Takaisin",conditional:"Ehdollinen",entity:"Kohde",light:"Valaisin",menu:"Valikko",template:"Malli",weather:"Sää"}}}},Ii={editor:Si},Ti={form:{color_picker:{values:{default:"Couleur par défaut"}},info_picker:{values:{default:"Information par défaut",name:"Nom",state:"État","last-changed":"Dernière modification","last-updated":"Dernière mise à jour",none:"Aucune"}},icon_type_picker:{values:{default:"Type par défaut",icon:"Icône","entity-picture":"Image de l'entité",none:"Aucune"}},layout_picker:{values:{default:"Disposition par défault",vertical:"Disposition verticale",horizontal:"Disposition horizontale"}},alignment_picker:{values:{default:"Alignement par défaut",start:"Début",end:"Fin",center:"Centré",justify:"Justifié"}}},card:{generic:{icon_color:"Couleur de l'icône",layout:"Disposition",fill_container:"Remplir le conteneur",primary_info:"Information principale",secondary_info:"Information secondaire",icon_type:"Type d'icône",content_info:"Contenu",use_entity_picture:"Utiliser l'image de l'entité ?",collapsible_controls:"Reduire les contrôles quand éteint",icon_animation:"Animation de l'icône ?"},light:{show_brightness_control:"Contrôle de luminosité ?",use_light_color:"Utiliser la couleur de la lumière",show_color_temp_control:"Contrôle de la température ?",show_color_control:"Contrôle de la couleur ?",incompatible_controls:"Certains contrôles peuvent ne pas être affichés si votre lumière ne supporte pas la fonctionnalité."},fan:{show_percentage_control:"Contrôle de la vitesse ?",show_oscillate_control:"Contrôle de l'oscillation ?"},cover:{show_buttons_control:"Contrôle avec boutons ?",show_position_control:"Contrôle de la position ?"},template:{primary:"Information principale",secondary:"Information secondaire",multiline_secondary:"Information secondaire sur plusieurs lignes ?",entity_extra:"Utilisée pour les templates et les actions",content:"Contenu",badge_icon:"Icône du badge",badge_color:"Couleur du badge",picture:"Picture (remplacera l'icône)"},title:{title:"Titre",subtitle:"Sous-titre",title_tap_action:"Appui sur le titre",subtitle_tap_action:"Appui sur le sous-titre"},chips:{alignment:"Alignement"},weather:{show_conditons:"Conditions ?",show_temperature:"Température ?"},update:{show_buttons_control:"Contrôle avec boutons ?"},vacuum:{commands:"Commandes",commands_list:{on_off:"Allumer/Éteindre"}},"media-player":{use_media_info:"Utiliser les informations du media",use_media_artwork:"Utiliser l'illustration du media",show_volume_level:"Afficher le niveau de volume",media_controls:"Contrôles du media",media_controls_list:{on_off:"Allumer/Éteindre",shuffle:"Lecture aléatoire",previous:"Précédent",play_pause_stop:"Lecture/pause/stop",next:"Suivant",repeat:"Mode de répétition"},volume_controls:"Contrôles du volume",volume_controls_list:{volume_buttons:"Bouton de volume",volume_set:"Niveau de volume",volume_mute:"Muet"}},lock:{lock:"Verrouiller",unlock:"Déverrouiller",open:"Ouvrir"},humidifier:{show_target_humidity_control:"Contrôle d'humidité ?"},climate:{show_temperature_control:"Contrôle de la température?",hvac_modes:"Modes du thermostat"},number:{display_mode:"Mode d'affichage",display_mode_list:{default:"Par défaut (Curseur)",slider:"Curseur",buttons:"Boutons"}}},chip:{sub_element_editor:{title:'Éditeur de "chip"'},conditional:{chip:"Chip"},"chip-picker":{chips:'"Chips"',add:'Ajouter une "chip"',edit:"Modifier",clear:"Effacer",select:'Sélectionner une "chip"',types:{action:"Action","alarm-control-panel":"Alarme",back:"Retour",conditional:"Conditionnel",entity:"Entité",light:"Lumière",menu:"Menu",spacer:"Espacement",template:"Template",weather:"Météo"}}}},Oi={editor:Ti},zi={form:{color_picker:{values:{default:"צבע ברירת מחדל"}},info_picker:{values:{default:"מידע ברירת מחדל",name:"שם",state:"מצב","last-changed":"שונה לאחרונה","last-updated":"עודכן לאחרונה",none:"ריק"}},layout_picker:{values:{default:"סידור ברירת מחדל",vertical:"סידור מאונך",horizontal:"סידור מאוזן"}},alignment_picker:{values:{default:"יישור ברירת מחדל",start:"התחלה",end:"סוף",center:"אמצע",justify:"מוצדק"}}},card:{generic:{icon_color:"צבע אייקון",layout:"סידור",fill_container:"מלא גבולות",primary_info:"מידע ראשי",secondary_info:"מידע מישני",content_info:"תוכן",use_entity_picture:"השתמש בתמונת ישות",collapsible_controls:"הסתר שליטה כשאר מכובה",icon_animation:"הנפש אייקון"},light:{show_brightness_control:"שליטה בבהירות?",use_light_color:"השתמש בצבע האור",show_color_temp_control:"הצג פקד גוון תאורה?",show_color_control:"הצג פקד צבע",incompatible_controls:"יתכן וחלק מהכפתורים לא יופיעו אם התאורה אינה תומכת בתכונה."},fan:{show_percentage_control:"שליטה באחוז?",show_oscillate_control:"שליטה בהתנדנדות?"},cover:{show_buttons_control:"הצג כפתורי שליטה",show_position_control:"הצג פקדי מיקום"},template:{primary:"מידע ראשי",secondary:"מידע מישני",multiline_secondary:"מידע מישני רב קווי",entity_extra:"משמש בתבניות ופעולות",content:"תוכן"},title:{title:"כותרת",subtitle:"כתובית"},chips:{alignment:"יישור"},weather:{show_conditions:"הצג תנאים?",show_temperature:"הצג טמפרטורה?"},update:{show_buttons_control:"הצג כפתורי שליטה?"},vacuum:{commands:"פקודות",icon_animation:"הנפשת אייקון"},"media-player":{use_media_info:"השתמש במידע מדיה",use_media_artwork:"השתמש באומנות מדיה",show_volume_level:"הצג שליטת ווליום",media_controls:"שליטה במדיה",media_controls_list:{on_off:"הדלק/כבה",shuffle:"ערבב",previous:"רצועה קודמת",play_pause_stop:"נגן/השהה/הפסק",next:"רצועה הבאה",repeat:"חזרה"},volume_controls:"שליטה בווליום",volume_controls_list:{volume_buttons:"כפתורי ווליום",volume_set:"רמת ווליום",volume_mute:"השתק"}},lock:{lock:"נעל",unlock:"בטל נעילה",open:"פתח"},humidifier:{show_target_humidity_control:"הצג פקדי לחות"}},chip:{sub_element_editor:{title:"עורך שבב"},conditional:{chip:"שבב"},"chip-picker":{chips:"שבבים",add:"הוסף שבב",edit:"ערוך",clear:"נקה",select:"בחר שבב",types:{action:"פעולה","alarm-control-panel":"אזעקה",back:"חזור",conditional:"מותנה",entity:"ישות",light:"אור",menu:"תפריט",template:"תבנית",weather:"מזג אוויר"}}}},Mi={editor:zi},ji={form:{color_picker:{values:{default:"Alapértelmezett szín"}},info_picker:{values:{default:"Alepértelmezett információ",name:"Név",state:"Állapot","last-changed":"Utoljára módosítva","last-updated":"Utoljára frissítve",none:"Egyik sem"}},icon_type_picker:{values:{default:"Alapértelmezett típus",icon:"Ikon","entity-picture":"Entitás kép",none:"Egyik sem"}},layout_picker:{values:{default:"Alapértelmezet elrendezés",vertical:"Függőleges elrendezés",horizontal:"Vízszintes elrendezés"}},alignment_picker:{values:{default:"Alapértelmezett rendezés",start:"Kezdete",end:"Vége",center:"Közepe",justify:"Sorkizárt"}}},card:{generic:{icon_color:"Ikon szín",layout:"Elrendezés",fill_container:"Tároló kitöltése",primary_info:"Elsődleges információ",secondary_info:"Másodlagos információ",icon_type:"Ikon típus",content_info:"Tartalom",use_entity_picture:"Entitás kép használata",collapsible_controls:"Vezérlők összezárása kikapcsolt állapotban",icon_animation:"Ikon animálása aktív állapotban"},light:{show_brightness_control:"Fényerő vezérlő",use_light_color:"Fény szín használata",show_color_temp_control:"Színhőmérséklet vezérlő",show_color_control:"Szín vezérlő",incompatible_controls:"Azok a vezérlők nem lesznek megjelenítve, amelyeket a fényforrás nem támogat."},fan:{show_percentage_control:"Százalékos vezérlő",show_oscillate_control:"Oszcilláció vezérlő"},cover:{show_buttons_control:"Vezérlő gombok",show_position_control:"Pozíció vezérlő",show_tilt_position_control:"Dőlésszög szabályzó"},template:{primary:"Elsődleges információ",secondary:"Másodlagos információ",multiline_secondary:"Másodlagost több sorba?",entity_extra:"Műveletek és sablonok használatakor",content:"Tartalom",badge_icon:"Jelvény ikon",badge_color:"Jelvény szín",picture:"Kép (lecseréli az ikont)"},title:{title:"Fejléc",subtitle:"Alcím",title_tap_action:"Fejlécre koppintáskor",subtitle_tap_action:"Alcímre koppintáskor"},chips:{alignment:"Rendezés"},weather:{show_conditions:"Állapotok",show_temperature:"Hőmérséklet"},update:{show_buttons_control:"Vezérlő gombok"},vacuum:{commands:"Utasítások",commands_list:{on_off:"Ki/Bekapcsolás"}},"media-player":{use_media_info:"Média infó használata",use_media_artwork:"Média borító használata",show_volume_level:"Hangerő mutatása",media_controls:"Média vezérlők",media_controls_list:{on_off:"Ki/bekapcsolás",shuffle:"Véletlen lejátszás",previous:"Előző szám",play_pause_stop:"Lejátszás/szünet/állj",next:"Következő szám",repeat:"Ismétlés módja"},volume_controls:"Hangerő vezérlők",volume_controls_list:{volume_buttons:"Hangerő gombok",volume_set:"Hangerő szint",volume_mute:"Némítás"}},lock:{lock:"Zár",unlock:"Nyit",open:"Nyitva"},humidifier:{show_target_humidity_control:"Páratartalom vezérlő"},climate:{show_temperature_control:"Hőmérséklet vezérlő",hvac_modes:"HVAC mód"},number:{display_mode:"Megjelenítési mód",display_mode_list:{default:"Alepértelmezett (csúszka)",slider:"Csúszka",buttons:"Gombok"}}},chip:{sub_element_editor:{title:"Chip szerkesztő"},conditional:{chip:"Chip"},"chip-picker":{chips:"Chip-ek",add:"Chip hozzáadása",edit:"Szerkesztés",clear:"Ürítés",select:"Chip kiválasztása",types:{action:"Művelet","alarm-control-panel":"Riasztó",back:"Vissza",conditional:"Feltételes",entity:"Entitás",light:"Fényforrás",menu:"Menü",spacer:"Térköz",template:"Sablon",weather:"Időjárás"}}}},Di={not_found:"Entitás nem található"},Li={editor:ji,card:Di},Pi={form:{color_picker:{values:{default:"Warna bawaan"}},info_picker:{values:{default:"Informasi bawaan",name:"Nama",state:"Status","last-changed":"Terakhir Diubah","last-updated":"Terakhir Diperbarui",none:"Tidak ada"}},icon_type_picker:{values:{default:"Tipe bawaan",icon:"Ikon","entity-picture":"Gambar entitas",none:"Tidak ada"}},layout_picker:{values:{default:"Tata letak bawaan",vertical:"Tata letak vertikal",horizontal:"Tata letak horizontal"}},alignment_picker:{values:{default:"Perataan bawaan",start:"Awal",end:"Akhir",center:"Tengah",justify:"Rata kanan-kiri"}}},card:{generic:{icon_color:"Warna ikon",layout:"Tata letak",fill_container:"Isi kontainer",primary_info:"Informasi primer",secondary_info:"Informasi sekunder",icon_type:"Tipe ikon",content_info:"Konten",use_entity_picture:"Gunakan gambar entitas?",collapsible_controls:"Sembunyikan kontrol saat mati",icon_animation:"Animasikan ikon saat aktif?"},light:{show_brightness_control:"Kontrol kecerahan?",use_light_color:"Gunakan warna lampu",show_color_temp_control:"Kontrol suhu warna?",show_color_control:"Kontrol warna?",incompatible_controls:"Beberapa kontrol mungkin tidak ditampilkan jika lampu Anda tidak mendukung fitur tersebut."},fan:{show_percentage_control:"Kontrol persentase?",show_oscillate_control:"Kontrol osilasi?"},cover:{show_buttons_control:"Tombol kontrol?",show_position_control:"Kontrol posisi?",show_tilt_position_control:"Kontrol kemiringan?"},template:{primary:"Informasi primer",secondary:"Informasi sekunder",multiline_secondary:"Info sekunder multibaris?",entity_extra:"Digunakan dalam templat dan tindakan",content:"Konten",badge_icon:"Ikon lencana",badge_color:"Warna lencana",picture:"Gambar (akan menggantikan ikon)"},title:{title:"Judul",subtitle:"Subjudul",title_tap_action:"Tindakan ketuk judul",subtitle_tap_action:"Tindakan ketuk subjudul"},chips:{alignment:"Perataan"},weather:{show_conditions:"Kondisi?",show_temperature:"Suhu?"},update:{show_buttons_control:"Tombol kontrol?"},vacuum:{commands:"Perintah",commands_list:{on_off:"Nyalakan/Matikan"}},"media-player":{use_media_info:"Gunakan info media",use_media_artwork:"Gunakan gambar seni media",show_volume_level:"Tampilkan level volume",media_controls:"Kontrol media",media_controls_list:{on_off:"Nyalakan/Matikan",shuffle:"Acak",previous:"Lagu sebelumnya",play_pause_stop:"Putar/jeda/stop",next:"Lagu berikutnya",repeat:"Mode pengulangan"},volume_controls:"Kontrol volume",volume_controls_list:{volume_buttons:"Tombol volume",volume_set:"Level volume",volume_mute:"Bisukan"}},lock:{lock:"Kunci",unlock:"Buka kunci",open:"Buka"},humidifier:{show_target_humidity_control:"Kontrol kelembapan?"},climate:{show_temperature_control:"Kontrol suhu?",hvac_modes:"Mode HVAC"},number:{display_mode:"Mode Tampilan",display_mode_list:{default:"Bawaan (geser)",slider:"Geser",buttons:"Tombol"}}},chip:{sub_element_editor:{title:"Editor cip"},conditional:{chip:"Cip"},"chip-picker":{chips:"Cip",add:"Tambah cip",edit:"Edit",clear:"Hapus",select:"Pilih cip",types:{action:"Tindakan","alarm-control-panel":"Alarm",back:"Kembali",conditional:"Kondisional",entity:"Entitas",light:"Lampu",menu:"Menu",spacer:"Pemisah",template:"Templat",weather:"Cuaca"}}}},Ni={not_found:"Entitas tidak ditemukan"},Ri={editor:Pi,card:Ni},Fi={form:{color_picker:{values:{default:"Colore predefinito"}},info_picker:{values:{default:"Informazione predefinita",name:"Nome",state:"Stato","last-changed":"Ultimo cambiamento","last-updated":"Ultimo aggiornamento",none:"Nessuno"}},icon_type_picker:{values:{default:"Tipo predefinito",icon:"Icona","entity-picture":"Immagine dell'entità",none:"Nessuna"}},layout_picker:{values:{default:"Disposizione predefinita",vertical:"Disposizione verticale",horizontal:"Disposizione orizzontale"}},alignment_picker:{values:{default:"Allineamento predefinito",start:"Inizio",end:"Fine",center:"Centro",justify:"Giustificato"}}},card:{generic:{icon_color:"Colore dell'icona",layout:"Disposizione",fill_container:"Riempi il contenitore",primary_info:"Informazione primaria",secondary_info:"Informazione secondaria",icon_type:"Tipo icona",content_info:"Contenuto",use_entity_picture:"Usa l'immagine dell'entità",collapsible_controls:"Nascondi i controlli quando spento",icon_animation:"Anima l'icona quando attiva"},light:{use_light_color:"Usa il colore della luce",show_brightness_control:"Controllo luminosità",show_color_temp_control:"Controllo temperatura",show_color_control:"Controllo colore",incompatible_controls:"Alcuni controlli potrebbero non essere mostrati se la tua luce non li supporta."},fan:{show_percentage_control:"Controllo potenza",show_oscillate_control:"Controllo oscillazione"},cover:{show_buttons_control:"Pulsanti di controllo",show_position_control:"Controllo percentuale apertura",show_tilt_position_control:"Controllo percentuale inclinazione"},template:{primary:"Informazione primaria",secondary:"Informazione secondaria",multiline_secondary:"Abilita frasi multilinea",entity_extra:"Usato in templates ed azioni",content:"Contenuto",badge_icon:"Icona del badge",badge_color:"Colore del badge",picture:"Immagine (sostituirà l'icona)"},title:{title:"Titolo",subtitle:"Sottotitolo",title_tap_action:"Azione di tap sul titolo",subtitle_tap_action:"Azione di tap sul sottotitolo"},chips:{alignment:"Allineamento"},weather:{show_conditions:"Condizioni",show_temperature:"Temperatura"},update:{show_buttons_control:"Pulsanti di controllo"},vacuum:{commands:"Comandi",commands_list:{on_off:"Accendi/Spegni"}},"media-player":{use_media_info:"Mostra le informazioni della sorgente",use_media_artwork:"Usa la copertina della sorgente",show_volume_level:"Mostra volume",media_controls:"Controlli media",media_controls_list:{on_off:"Accendi/Spegni",shuffle:"Riproduzione casuale",previous:"Traccia precedente",play_pause_stop:"Play/Pausa/Stop",next:"Traccia successiva",repeat:"Ciclo continuo"},volume_controls:"Controlli del Volume",volume_controls_list:{volume_buttons:"Bottoni del volume",volume_set:"Livello del volume",volume_mute:"Silenzia"}},lock:{lock:"Blocca",unlock:"Sblocca",open:"Aperto"},humidifier:{show_target_humidity_control:"Controllo umidità"},climate:{show_temperature_control:"Controllo della temperatura?",hvac_modes:"Modalità del termostato"},number:{display_mode:"Modalità di visualizzazione",display_mode_list:{default:"Predefinito (cursore)",slider:"Cursore",buttons:"Pulsanti"}}},chip:{sub_element_editor:{title:"Editor di chip"},conditional:{chip:"Chip"},"chip-picker":{chips:"Chips",add:"Aggiungi chip",edit:"Modifica",clear:"Rimuovi",select:"Seleziona chip",types:{action:"Azione","alarm-control-panel":"Allarme",back:"Pulsante indietro",conditional:"Condizione",entity:"Entità",light:"Luce",menu:"Menù",spacer:"Distanziere",template:"Modello",weather:"Meteo"}}}},Vi={not_found:"Entità non trovata"},Bi={editor:Fi,card:Vi},Ui={form:{color_picker:{values:{default:"기본 색"}},info_picker:{values:{default:"기본 정보",name:"이름",state:"상태","last-changed":"마지막 변경","last-updated":"마지막 업데이트",none:"없음"}},icon_type_picker:{values:{default:"기본 타입",icon:"아이콘","entity-picture":"엔티티 사진",none:"없음"}},layout_picker:{values:{default:"기본 레이아웃",vertical:"수직 레이아웃",horizontal:"수평 레이아웃"}},alignment_picker:{values:{default:"기본 정렬",start:"시작",end:"끝",center:"중앙",justify:"행 정렬"}}},card:{generic:{icon_color:"아이콘 색",layout:"레이아웃",fill_container:"콘테이너 채우기",primary_info:"기본 정보",secondary_info:"보조 정보",icon_type:"아이콘 타입",content_info:"내용 정보",use_entity_picture:"엔티티 사진 사용",collapsible_controls:"꺼져있을 때 컨트롤 접기",icon_animation:"활성화 시 아이콘 애니메이션 사용"},light:{show_brightness_control:"밝기 컨트롤 표시",use_light_color:"조명 색 사용",show_color_temp_control:"색 온도 컨트롤 표시",show_color_control:"색 컨트롤 표시",incompatible_controls:"조명이 기능을 지원하지 않는 경우 일부 컨트롤이 표시되지 않을 수 있습니다."},fan:{show_percentage_control:"퍼센트 컨트롤",show_oscillate_control:"오실레이트 컨트롤"},cover:{show_buttons_control:"컨트롤 버튼 표시",show_position_control:"위치 컨트롤 표시",show_tilt_position_control:"기울기 컨트롤 표시"},template:{primary:"기본 정보",secondary:"보조 정보",multiline_secondary:"Multiline secondary?",entity_extra:"템플릿 및 작업에 사용",content:"내용",badge_icon:"뱃지 아이콘",badge_color:"뱃지 색",picture:"그림 (아이콘 대체)"},title:{title:"제목",subtitle:"부제목",title_tap_action:"제목 탭 액션",subtitle_tap_action:"부제목 탭 액션"},chips:{alignment:"정렬"},weather:{show_conditions:"조건 표시",show_temperature:"온도 표시"},update:{show_buttons_control:"컨트롤 버튼 표시"},vacuum:{commands:"명령어",commands_list:{on_off:"켜기/끄기"}},"media-player":{use_media_info:"미디어 정보 사용",use_media_artwork:"미디어 아트워크 사용",show_volume_level:"볼륨 레벨 표시",media_controls:"미디어 컨트롤",media_controls_list:{on_off:"켜기/끄기",shuffle:"섞기",previous:"이전 트랙",play_pause_stop:"재생/일시 정지/정지",next:"다음 트랙",repeat:"반복 모드"},volume_controls:"볼륨 컨트롤",volume_controls_list:{volume_buttons:"볼륨 버튼",volume_set:"볼륨 레벨",volume_mute:"음소거"}},lock:{lock:"잠금",unlock:"잠금 해제",open:"열기"},humidifier:{show_target_humidity_control:"습도 조절 표시"},climate:{show_temperature_control:"온도 조절 표시",hvac_modes:"HVAC 모드"}},chip:{sub_element_editor:{title:"칩 에디터"},conditional:{chip:"칩"},"chip-picker":{chips:"칩",add:"칩 추가",edit:"수정",clear:"클리어",select:"칩 선택",types:{action:"액션","alarm-control-panel":"알람",back:"이전",conditional:"Conditional",entity:"엔티티",light:"조명",menu:"메뉴",template:"템플릿",weather:"날씨"}}}},Hi={editor:Ui},Yi={form:{color_picker:{values:{default:"Standard farge"}},info_picker:{values:{default:"Standard informasjon",name:"Navn",state:"Tilstand","last-changed":"Sist endret","last-updated":"Sist oppdatert",none:"Ingen"}},layout_picker:{values:{default:"Standardoppsett",vertical:"Vertikalt oppsett",horizontal:"Horisontalt oppsett"}},alignment_picker:{values:{default:"Standard justering",start:"Start",end:"Slutt",center:"Senter",justify:"Bekreft"}}},card:{generic:{icon_color:"Ikon farge",layout:"Oppsett",primary_info:"Primærinformasjon",secondary_info:"Sekundærinformasjon",content_info:"Innhold",use_entity_picture:"Bruk enhetsbilde?",icon_animation:"Animer ikon når aktivt?"},light:{show_brightness_control:"Lysstyrkekontroll?",use_light_color:"Bruk lys farge",show_color_temp_control:"Temperatur fargekontroll?",show_color_control:"Fargekontroll?",incompatible_controls:"Noen kontroller vises kanskje ikke hvis lyset ditt ikke støtter denne funksjonen."},fan:{show_percentage_control:"Prosentvis kontroll?",show_oscillate_control:"Oscillerende kontroll?"},cover:{show_buttons_control:"Kontollere med knapper?",show_position_control:"Posisjonskontroll?"},template:{primary:"Primærinformasjon",secondary:"Sekundærinformasjon",multiline_secondary:"Multiline sekundær?",entity_extra:"Brukes i maler og handlinger",content:"Inhold"},title:{title:"Tittel",subtitle:"Undertekst"},chips:{alignment:"Justering"},weather:{show_conditions:"Forhold?",show_temperature:"Temperatur?"},vacuum:{commands:"Kommandoer"}},chip:{sub_element_editor:{title:"Chip redaktør"},conditional:{chip:"Chip"},"chip-picker":{chips:"Chips",add:"Legg til chip",edit:"Endre",clear:"Klare",select:"Velg chip",types:{action:"Handling","alarm-control-panel":"Alarm",back:"Tilbake",conditional:"Betinget",entity:"Entitet",light:"Lys",menu:"Meny",template:"Mal",weather:"Vær"}}}},Wi={editor:Yi},Xi={form:{color_picker:{values:{default:"Standaard kleur"}},info_picker:{values:{default:"Standaard informatie",name:"Naam",state:"Staat","last-changed":"Laatst gewijzigd","last-updated":"Laatst bijgewerkt",none:"Geen"}},icon_type_picker:{values:{default:"Standaard icoon type",icon:"Icoon","entity-picture":"Entiteit afbeelding",none:"Geen"}},layout_picker:{values:{default:"Standaard lay-out",vertical:"Verticale lay-out",horizontal:"Horizontale lay-out"}},alignment_picker:{values:{default:"Standaard uitlijning",start:"Begin",end:"Einde",center:"Midden",justify:"Uitlijnen "}}},card:{generic:{icon_color:"Icoon kleur",layout:"Lay-out",fill_container:"Vul container",primary_info:"Primaire informatie",secondary_info:"Secundaire informatie",icon_type:"Icoon type",content_info:"Inhoud",use_entity_picture:"Gebruik entiteit afbeelding",collapsible_controls:"Bedieningselementen verbergen wanneer uitgeschakeld",icon_animation:"Pictogram animeren indien actief"},light:{show_brightness_control:"Bediening helderheid",use_light_color:"Gebruik licht kleur",show_color_temp_control:"Bediening kleurtemperatuur",show_color_control:"Bediening kleur",incompatible_controls:"Sommige bedieningselementen worden mogelijk niet weergegeven als uw lamp deze functie niet ondersteunt."},fan:{show_percentage_control:"Bediening middels percentage",show_oscillate_control:"Bediening oscillatie"},cover:{show_buttons_control:"Toon knoppen",show_position_control:"Toon positie bediening",show_tilt_position_control:"Toon tilt control"},template:{primary:"Primaire informatie",secondary:"Secundaire informatie",multiline_secondary:"Secundaire informatie op meerdere lijnen weergeven",entity_extra:"Gebruikt in sjablonen en acties",content:"Inhoud",badge_icon:"Badge icoon",badge_color:"Badge kleur",picture:"Afbeelding (zal het icoon vervangen)"},title:{title:"Titel",subtitle:"Ondertitel",title_tap_action:"Titel tik actie",subtitle_tap_action:"Ondertitel tik actie"},chips:{alignment:"Uitlijning"},weather:{show_conditions:"Weerbeeld",show_temperature:"Temperatuur"},update:{show_buttons_control:"Bedieningsknoppen"},vacuum:{commands:"Commando's",commands_list:{on_off:"Zet aan/uit"}},"media-player":{use_media_info:"Gebruik media informatie",use_media_artwork:"Gebruik media omslag",show_volume_level:"Toon volumeniveau",media_controls:"Mediabediening",media_controls_list:{on_off:"zet aan/uit",shuffle:"Shuffle",previous:"Vorige nummer",play_pause_stop:"Speel/pauze/stop",next:"Volgende nummer",repeat:"Herhalen"},volume_controls:"Volumeregeling",volume_controls_list:{volume_buttons:"Volume knoppen",volume_set:"Volumeniveau",volume_mute:"Dempen"}},lock:{lock:"Vergrendel",unlock:"Ontgrendel",open:"Open"},humidifier:{show_target_humidity_control:"Vochtigheid controle?"},climate:{show_temperature_control:"Temperatuur controle",hvac_modes:"HVAC Modes"},number:{display_mode:"Weergave Modus",display_mode_list:{default:"Standaard (schuifbalk)",slider:"Schuifbalk",buttons:"Knoppen"}}},chip:{sub_element_editor:{title:"Chip editor"},conditional:{chip:"Chip"},"chip-picker":{chips:"Chips",add:"Toevoegen chip",edit:"Bewerk",clear:"Maak leeg",select:"Selecteer chip",types:{action:"Actie","alarm-control-panel":"Alarm",back:"Terug",conditional:"Voorwaardelijk",entity:"Entiteit",light:"Licht",menu:"Menu",spacer:"Afstandhouder",template:"Sjabloon",weather:"Weer"}}}},Ki={not_found:"Entiteit niet gevonden"},Gi={editor:Xi,card:Ki},qi={form:{color_picker:{values:{default:"Domyślny kolor"}},info_picker:{values:{default:"Domyślne informacje",name:"Nazwa",state:"Stan","last-changed":"Ostatnia zmiana","last-updated":"Ostatnia aktualizacja",none:"Brak"}},icon_type_picker:{values:{default:"Domyślny typ",icon:"Ikona","entity-picture":"Obraz encji",none:"Brak"}},layout_picker:{values:{default:"Układ domyślny",vertical:"Układ pionowy",horizontal:"Układ poziomy"}},alignment_picker:{values:{default:"Wyrównanie domyślne",start:"Wyrównanie do lewej",end:"Wyrównanie do prawej",center:"Wyśrodkowanie",justify:"Justowanie"}}},card:{generic:{icon_color:"Kolor ikony",layout:"Układ",fill_container:"Wypełnij zawartością",primary_info:"Informacje główne",secondary_info:"Informacje drugorzędne",icon_type:"Typ ikony",content_info:"Zawartość",use_entity_picture:"Użyć obrazu encji?",collapsible_controls:"Zwiń sterowanie, jeśli wyłączone",icon_animation:"Animować, gdy aktywny?"},light:{show_brightness_control:"Sterowanie jasnością?",use_light_color:"Użyj koloru światła",show_color_temp_control:"Sterowanie temperaturą światła?",show_color_control:"Sterowanie kolorami?",incompatible_controls:"Niektóre funkcje są niewidoczne, jeśli światło ich nie obsługuje."},fan:{show_percentage_control:"Sterowanie procentowe?",show_oscillate_control:"Sterowanie oscylacją?"},cover:{show_buttons_control:"Przyciski sterujące?",show_position_control:"Sterowanie położeniem?",show_tilt_position_control:"Sterowanie poziomem otwarcia?"},template:{primary:"Informacje główne",secondary:"Informacje drugorzędne",multiline_secondary:"Drugorzędne wielowierszowe?",entity_extra:"Używane w szablonach i akcjach",content:"Zawartość",badge_icon:"Ikona odznaki",badge_color:"Kolor odznaki",picture:"Obraz (zamiast ikony)"},title:{title:"Tytuł",subtitle:"Podtytuł"},chips:{alignment:"Wyrównanie"},weather:{show_conditions:"Warunki?",show_temperature:"Temperatura?"},update:{show_buttons_control:"Przyciski sterujące?"},vacuum:{commands:"Polecenia"},"media-player":{use_media_info:"Użyj informacji o multimediach",use_media_artwork:"Użyj okładek multimediów",show_volume_level:"Wyświetl poziom głośności",media_controls:"Sterowanie multimediami",media_controls_list:{on_off:"Włącz/wyłącz",shuffle:"Losowo",previous:"Poprzednie nagranie",play_pause_stop:"Odtwórz/Pauza/Zatrzymaj",next:"Następne nagranie",repeat:"Powtarzanie"},volume_controls:"Sterowanie głośnością",volume_controls_list:{volume_buttons:"Przyciski głośności",volume_set:"Poziom głośności",volume_mute:"Wycisz"}},lock:{lock:"Zablokuj",unlock:"Odblokuj",open:"Otwórz"},humidifier:{show_target_humidity_control:"Sterowanie wilgotnością?"},climate:{show_temperature_control:"Sterowanie temperaturą?",hvac_modes:"Tryby urządzenia"}},chip:{sub_element_editor:{title:"Edytor czipów"},conditional:{chip:"Czip"},"chip-picker":{chips:"Czipy",add:"Dodaj czip",edit:"Edytuj",clear:"Wyczyść",select:"Wybierz czip",types:{action:"Akcja","alarm-control-panel":"Alarm",back:"Wstecz",conditional:"Warunkowy",entity:"Encja",light:"Światło",menu:"Menu",spacer:"Odstęp",template:"Szablon",weather:"Pogoda"}}}},Zi={editor:qi},Ji={form:{color_picker:{values:{default:"Cor padrão"}},info_picker:{values:{default:"Informações padrão",name:"Nome",state:"Estado","last-changed":"Última alteração","last-updated":"Última atualização",none:"Nenhum"}},layout_picker:{values:{default:"Layout padrão",vertical:"Layout vertical",horizontal:"Layout horizontal"}},alignment_picker:{values:{default:"Padrão (inicio)",end:"Final",center:"Centro",justify:"Justificado"}}},card:{generic:{icon_color:"Cor do ícone?",layout:"Layout",primary_info:"Informações primárias",secondary_info:"Informações secundárias",use_entity_picture:"Usar imagem da entidade?",icon_animation:"Animar ícone quando ativo?"},light:{show_brightness_control:"Mostrar controle de brilho?",use_light_color:"Usar cor da luz?",show_color_temp_control:"Mostrar controle de temperatura?",show_color_control:"Mostrar controle de cor?",incompatible_controls:"Alguns controles podem não ser exibidos se sua luz não suportar o recurso."},fan:{show_percentage_control:"Mostrar controle de porcentagem?",show_oscillate_control:"Mostrar controle de oscilação?"},cover:{show_buttons_control:"Mostrar botões?",show_position_control:"Mostrar controle de posição?"},template:{primary:"Informações primárias",secondary:"Informações secundárias",multiline_secondary:"Multilinha secundária?",content:"Conteúdo"},title:{title:"Título",subtitle:"Subtítulo"},chips:{alignment:"Alinhamento"},weather:{show_conditions:"Condições?",show_temperature:"Temperatura?"}},chip:{sub_element_editor:{title:"Editor de fichas"},conditional:{chip:"Ficha"},"chip-picker":{chips:"Fichas",add:"Adicionar ficha",edit:"Editar",clear:"Limpar",select:"Selecionar ficha",types:{action:"Ação","alarm-control-panel":"Alarme",back:"Voltar",conditional:"Condicional",entity:"Entidade",light:"Iluminação",menu:"Menu",template:"Modelo",weather:"Clima"}}}},Qi={editor:Ji},to={form:{color_picker:{values:{default:"Cor padrão"}},info_picker:{values:{default:"Informações padrão",name:"Nome",state:"Estado","last-changed":"Última alteração","last-updated":"Última atualização",none:"Nenhum"}},layout_picker:{values:{default:"Layout padrão",vertical:"Layout vertical",horizontal:"Layout horizontal"}},alignment_picker:{values:{default:"Padrão (inicio)",end:"Fim",center:"Centrado",justify:"Justificado"}}},card:{generic:{icon_color:"Cor do ícone?",layout:"Layout",primary_info:"Informações primárias",secondary_info:"Informações secundárias",use_entity_picture:"Usar imagem da entidade?",icon_animation:"Animar ícone quando ativo?"},light:{show_brightness_control:"Mostrar controle de brilho?",use_light_color:"Usar cor da luz?",show_color_temp_control:"Mostrar controle de temperatura?",show_color_control:"Mostrar controle de cor?",incompatible_controls:"Alguns controles podem não ser exibidos se a luz não suportar o recurso."},fan:{show_percentage_control:"Mostrar controle de porcentagem?",show_oscillate_control:"Mostrar controle de oscilação?"},cover:{show_buttons_control:"Mostrar botões?",show_position_control:"Mostrar controle de posição?"},template:{primary:"Informações primárias",secondary:"Informações secundárias",multiline_secondary:"Multilinha secundária?",content:"Conteúdo"},title:{title:"Título",subtitle:"Subtítulo"},chips:{alignment:"Alinhamento"},weather:{show_conditions:"Condições?",show_temperature:"Temperatura?"}},chip:{sub_element_editor:{title:"Editor de fichas"},conditional:{chip:"Ficha"},"chip-picker":{chips:"Fichas",add:"Adicionar ficha",edit:"Editar",clear:"Limpar",select:"Selecionar ficha",types:{action:"Ação","alarm-control-panel":"Alarme",back:"Voltar",conditional:"Condicional",entity:"Entidade",light:"Iluminação",menu:"Menu",template:"Modelo",weather:"Clima"}}}},eo={editor:to},io={form:{color_picker:{values:{default:"Culoare implicită"}},info_picker:{values:{default:"Informație implicită",name:"Nume",state:"Stare","last-changed":"Ultima modificare","last-updated":"Ultima actulizare",none:"Niciuna"}},icon_type_picker:{values:{default:"Tip implicit",icon:"Pictogramă","entity-picture":"Imagine",none:"Niciuna"}},layout_picker:{values:{default:"Aranjare implicită",vertical:"Verticală",horizontal:"Orizontală"}},alignment_picker:{values:{default:"Aliniere implicită",start:"Stânga",end:"Dreapta",center:"Centrat",justify:"Umplere"}}},card:{generic:{icon_color:"Culoare pictogramă",layout:"Aranjare",fill_container:"Umplere container",primary_info:"Informație principală",secondary_info:"Informație secundară",icon_type:"Tip pictogramă",content_info:"Conținut",use_entity_picture:"Imagine?",collapsible_controls:"Restrângere la dezactivare"},light:{show_brightness_control:"Comandă pentru strălucire?",use_light_color:"Folosește culoarea luminii",show_color_temp_control:"Comandă pentru temperatură de culoare?",show_color_control:"Comandă pentru culoare?",incompatible_controls:"Unele comenzi ar putea să nu fie afișate dacă lumina nu suportă această caracteristică."},fan:{icon_animation:"Animare pictograma la activare?",show_percentage_control:"Comandă procent?",show_oscillate_control:"Comandă oscilație?"},cover:{show_buttons_control:"Comenzi pentru control?",show_position_control:"Comandă pentru poziție?",show_tilt_position_control:"Comandă pentru înclinare?"},template:{primary:"Informație principală",secondary:"Informație secundară",multiline_secondary:"Informație secundară pe mai multe linii?",entity_extra:"Folosită în șabloane și acțiuni",content:"Conținut",badge_icon:"Pictogramă insignă",badge_color:"Culoare insignă",picture:"Imagine (inlocuiește pictograma)"},title:{title:"Titlu",subtitle:"Subtitlu"},chips:{alignment:"Aliniere"},weather:{show_conditions:"Condiții?",show_temperature:"Temperatură?"},update:{show_buttons_control:"Comenzi control?"},vacuum:{commands:"Comenzi"},"media-player":{use_media_info:"Informații media",use_media_artwork:"Grafică media",show_volume_level:"Nivel volum",media_controls:"Comenzi media",media_controls_list:{on_off:"Pornit/Oprit",shuffle:"Amestecare",previous:"Pista anterioară",play_pause_stop:"Redare/Pauză/Stop",next:"Pista următoare",repeat:"Mod repetare"},volume_controls:"Comenzi volum",volume_controls_list:{volume_buttons:"Comenzi volum",volume_set:"Nivel volum",volume_mute:"Dezactivare sunet"}},lock:{lock:"Încuie",unlock:"Descuie",open:"Deschide"},humidifier:{show_target_humidity_control:"Comenzi umiditate?"},climate:{show_temperature_control:"Comenzi temperatură?",hvac_modes:"Moduri HVAC"}},chip:{sub_element_editor:{title:"Editor jeton"},conditional:{chip:"Jeton"},"chip-picker":{chips:"Jetoane",add:"Adaugă jeton",edit:"Modifică",clear:"Șterge",select:"Alege jeton",types:{action:"Acțiune","alarm-control-panel":"Alarmă",back:"Înapoi",conditional:"Condițional",entity:"Entitate",light:"Lumină",menu:"Meniu",template:"Șablon",weather:"Vreme"}}}},oo={editor:io},no={form:{color_picker:{values:{default:"Цвет по умолчанию"}},info_picker:{values:{default:"По умолчанию",name:"Имя",state:"Статус","last-changed":"Последнее изменение","last-updated":"Последнее обновление",none:"Нет"}},icon_type_picker:{values:{default:"По умолчанию",icon:"Иконка","entity-picture":"Изображение",none:"Нет"}},layout_picker:{values:{default:"Расположение по умолчанию",vertical:"Вертикальное расположение",horizontal:"Горизонтальное расположение"}},alignment_picker:{values:{default:"Выравнивание по умолчанию",start:"К началу",end:"К концу",center:"По центру",justify:"На всю ширину"}}},card:{generic:{icon_color:"Цвет иконки",layout:"Расположение",fill_container:"Заполнение",primary_info:"Основная информация",secondary_info:"Второстепенная информация",icon_type:"Тип иконки",content_info:"Содержимое",use_entity_picture:"Использовать изображение объекта?",collapsible_controls:"Сворачивать элементы управления при выключении"},light:{show_brightness_control:"Управлять яркостью?",use_light_color:"Использовать текущий цвет света",show_color_temp_control:"Управлять цветовой температурой?",show_color_control:"Управлять цветом?",incompatible_controls:"Некоторые элементы управления могут не отображаться, если ваш светильник не поддерживает эти функции."},fan:{icon_animation:"Анимировать иконку когда включено?",show_percentage_control:"Управлять процентами?",show_oscillate_control:"Oscillate control?"},cover:{show_buttons_control:"Добавить кнопки управления?",show_position_control:"Управлять позицией?",show_tilt_position_control:"Управлять наклоном?"},template:{primary:"Основная информация",secondary:"Второстепенная информация",multiline_secondary:"Многострочная Второстепенная информация?",entity_extra:"Используется в шаблонах и действиях",content:"Содержимое",badge_icon:"Иконка значка",badge_color:"Цвет значка",picture:"Изображение (заменить иконку)"},title:{title:"Заголовок",subtitle:"Подзаголовок"},chips:{alignment:"Выравнивание"},weather:{show_conditions:"Условия?",show_temperature:"Температура?"},update:{show_buttons_control:"Кнопки управления?"},vacuum:{commands:"Команды"},"media-player":{use_media_info:"Использовать информацию с медиа-устройства",use_media_artwork:"Использовать обложку с медиа-устройства",show_volume_level:"Показать уровень громкости",media_controls:"Управление медиа-устройством",media_controls_list:{on_off:"Включение/выключение",shuffle:"Перемешивание",previous:"Предыдущий трек",play_pause_stop:"Воспроизведение/пауза/остановка",next:"Следующий трек",repeat:"Режим повтора"},volume_controls:"Регулятор громкости",volume_controls_list:{volume_buttons:"Кнопки громкости",volume_set:"Уровень громкости",volume_mute:"Без звука"}},lock:{lock:"Закрыто",unlock:"Разблокировано",open:"Открыто"},humidifier:{show_target_humidity_control:"Управлять целевым уровенем влажности?"},climate:{show_temperature_control:"Управлять целевой температурой?",hvac_modes:"Режимы работы"}},chip:{sub_element_editor:{title:"Редактор мини-карточек"},conditional:{chip:"Мини-карточка"},"chip-picker":{chips:"Мини-карточки",add:"Добавить мини-карточку",edit:"Изменить",clear:"Очистить",select:"Выбрать мини-карточку",types:{action:"Действие","alarm-control-panel":"Тревога",back:"Назад",conditional:"Условия",entity:"Объект",light:"Освещение",menu:"Меню",template:"Шаблон",weather:"Погода"}}}},ro={editor:no},ao={form:{color_picker:{values:{default:"Privzeta barva"}},info_picker:{values:{default:"Privzete informacije",name:"Naziv",state:"Stanje","last-changed":"Zadnja sprememba","last-updated":"Zadnja posodobitev",none:"Brez"}},icon_type_picker:{values:{default:"Privzeta vrsta",icon:"Ikona","entity-picture":"Slika entitete",none:"Brez"}},layout_picker:{values:{default:"Privzeta postavitev",vertical:"Vertikalna postavitev",horizontal:"Horizontalna postavitev"}},alignment_picker:{values:{default:"Privzeta poravnava",start:"Pričetek",end:"Konec",center:"Center",justify:"Poravnava"}}},card:{generic:{icon_color:"Barva ikone",layout:"Postavitev",fill_container:"Zapolnitev prostora",primary_info:"Primarna informacija",secondary_info:"Sekundarna informacija",icon_type:"Vrsta ikone",content_info:"Vsebina",use_entity_picture:"Uporabi sliko entitete?",collapsible_controls:"Strni kontrolnike, ko so izklopljeni",icon_animation:"Animacija ikone, ko je aktivna?"},light:{show_brightness_control:"Nadzor svetlosti?",use_light_color:"Uporabi svetlo barvo",show_color_temp_control:"Nadzor temperature barve?",show_color_control:"Nadzor barv?",incompatible_controls:"Nekateri kontrolniki morda ne bodo prikazani, če vaša luč ne podpira te funkcije."},fan:{show_percentage_control:"Kontrola v odstotkih?",show_oscillate_control:"Kontrola nihanja?"},cover:{show_buttons_control:"Gumbi za upravljanje?",show_position_control:"Nadzor položaja?",show_tilt_position_control:"Nadzor nagiba?"},template:{primary:"Primarna informacija",secondary:"Sekundarna informacija",multiline_secondary:"Večvrstični sekundarni?",entity_extra:"Uporablja se v predlogah in dejanjih",content:"Vsebina",badge_icon:"Ikona značke",badge_color:"Barva značke",picture:"Slika (nadomestila bo ikono)"},title:{title:"Naziv",subtitle:"Podnaslov",title_tap_action:"Dejanje dotika naslova",subtitle_tap_action:"Dejanje dotika podnapisov"},chips:{alignment:"Poravnava"},weather:{show_conditions:"Pogoji?",show_temperature:"Temperatura?"},update:{show_buttons_control:"Gumbi za upravljanje?"},vacuum:{commands:"Ukazi",commands_list:{on_off:"Vklop/izklop"}},"media-player":{use_media_info:"Uporabite informacije o medijih",use_media_artwork:"Uporabite medijsko umetniško delo",show_volume_level:"Pokaži raven glasnosti",media_controls:"Nadzor medijev",media_controls_list:{on_off:"Vklop/izklop",shuffle:"Naključno",previous:"Prejšnja skladba",play_pause_stop:"Predvajaj/pavza/ustavi",next:"Naslednja skladba",repeat:"Ponavljajoči način"},volume_controls:"Kontrole glasnosti",volume_controls_list:{volume_buttons:"Gumbi za glasnost",volume_set:"Raven glasnosti",volume_mute:"Tiho"}},lock:{lock:"Zaklepanje",unlock:"Odkleni",open:"Odprto"},humidifier:{show_target_humidity_control:"Nadzor vlažnosti?"},climate:{show_temperature_control:"Nadzor temperature?",hvac_modes:"HVAC načini"},number:{display_mode:"Način prikaza",display_mode_list:{default:"Privzeto (drsnik)",slider:"Drsnik",buttons:"Gumbi"}}},chip:{sub_element_editor:{title:"Urejevalnik čipov"},conditional:{chip:"Ćiš"},"chip-picker":{chips:"Čipi",add:"Dodaj čip",edit:"Uredi",clear:"Pobriši",select:"Izbira čipa",types:{action:"Dejanje","alarm-control-panel":"Alarm",back:"Nazaj",conditional:"Pogojno",entity:"Entiteta",light:"Svetloba",menu:"Meni",spacer:"Distančnik",template:"Predloga",weather:"Vreme"}}}},lo={not_found:"Entiteta ni najdena"},so={editor:ao,card:lo},co={form:{color_picker:{values:{default:"Predvolená farba"}},info_picker:{values:{default:"Predvolené informácie",name:"Názov",state:"Stav","last-changed":"Posledná zmena","last-updated":"Posledná aktualizácia",none:"Žiadna"}},icon_type_picker:{values:{default:"Predvolený typ",icon:"Ikona","entity-picture":"Obrázok entity",none:"Žiadny"}},layout_picker:{values:{default:"Predvolené rozloženie",vertical:"Zvislé rozloženie",horizontal:"Vodorovné rozloženie"}},alignment_picker:{values:{default:"Predvolené zarovnanie",start:"Začiatok",end:"Koniec",center:"Stred",justify:"Vyplniť"}}},card:{generic:{icon_color:"Farba ikony",layout:"Rozloženie",fill_container:"Vyplniť priestor",primary_info:"Základné info",secondary_info:"Doplnkové info",icon_type:"Typ ikony",content_info:"Obsah",use_entity_picture:"Použiť obrázok entity?",collapsible_controls:"Skryť ovládanie v stave VYP.",icon_animation:"Animovaná ikona v stave ZAP?"},light:{show_brightness_control:"Ovládanie jasu?",use_light_color:"Použiť farbu svetla",show_color_temp_control:"Ovládanie teploty?",show_color_control:"Ovládanie farby?",incompatible_controls:"Niektoré ovládacie prvky sa nemusia zobraziť, pokiaľ ich svetlo nepodporuje."},fan:{show_percentage_control:"Ovládanie rýchlosti v percentách?",show_oscillate_control:"Ovládanie oscilácie?"},cover:{show_buttons_control:"Zobraziť ovládacie tlačidlá?",show_position_control:"Ovládanie pozície?",show_tilt_position_control:"Ovládanie natočenia?"},template:{primary:"Základné info",secondary:"Doplnkové info",multiline_secondary:"Viacriadkové doplnkové info?",entity_extra:"Použitá v šablónach a akciách",content:"Obsah",badge_icon:"Ikona odznaku",badge_color:"Farba odznaku",picture:"Obrázok (nahrádza ikonu)"},title:{title:"Nadpis",subtitle:"Podnadpis",title_tap_action:"Akcia klepnutia na názov",subtitle_tap_action:"Akcia klepnutia na titulky"},chips:{alignment:"Zarovnanie"},weather:{show_conditions:"Zobraziť podmienky?",show_temperature:"Zobraziť teplotu?"},update:{show_buttons_control:"Zobraziť ovládacie tlačidlá?"},vacuum:{commands:"Príkazy",commands_list:{on_off:"Zapnúť/Vypnúť"}},"media-player":{use_media_info:"Použiť info o médiu",use_media_artwork:"Použiť obrázok z média",show_volume_level:"Zobraziť úroveň hlasitosti",media_controls:"Ovládanie média",media_controls_list:{on_off:"Zap / Vyp",shuffle:"Premiešať",previous:"Predchádzajúca",play_pause_stop:"Spustiť/pauza/stop",next:"Ďalšia",repeat:"Opakovať"},volume_controls:"Ovládanie hlasitosti",volume_controls_list:{volume_buttons:"Tlačidlá hlasitosti",volume_set:"Úroveň hlasitosti",volume_mute:"Stlmiť"}},lock:{lock:"Zamknuté",unlock:"Odomknuté",open:"Otvorené"},humidifier:{show_target_humidity_control:"Ovládanie vlhkosti?"},climate:{show_temperature_control:"Ovládanie teploty?",hvac_modes:"HVAC mód"},number:{display_mode:"Režim zobrazenia",display_mode_list:{default:"Predvolené (posúvač)",slider:"Posúvač",buttons:"Tlačidlá"}}},chip:{sub_element_editor:{title:"Editor štítkov"},conditional:{chip:"Štítok"},"chip-picker":{chips:"Štítky",add:"Pridať štítok",edit:"Editovať",clear:"Vymazať",select:"Vybrať štítok",types:{action:"Akcia","alarm-control-panel":"Alarm",back:"Späť",conditional:"Podmienené",entity:"Entita",light:"Svetlo",menu:"Menu",spacer:"Medzera",template:"Šablóna",weather:"Počasie"}}}},uo={not_found:"Entita nenájdená"},ho={editor:co,card:uo},mo={form:{color_picker:{values:{default:"Standardfärg"}},info_picker:{values:{default:"Förvald information",name:"Namn",state:"Status","last-changed":"Sist ändrad","last-updated":"Sist uppdaterad",none:"Ingen"}},layout_picker:{values:{default:"Standard",vertical:"Vertikal",horizontal:"Horisontell"}},alignment_picker:{values:{default:"Standard (början)",end:"Slutet",center:"Centrerad",justify:"Anpassa"}}},card:{generic:{icon_color:"Ikonens färg",layout:"Layout",primary_info:"Primär information",secondary_info:"Sekundär information",use_entity_picture:"Använd enheten bild?",icon_animation:"Animera ikonen när fläkten är på?"},light:{show_brightness_control:"Styr ljushet?",use_light_color:"Styr ljusets färg",show_color_temp_control:"Styr färgtemperatur?",show_color_control:"Styr färg?",incompatible_controls:"Kontroller som inte stöds av enheten kommer inte visas."},fan:{show_percentage_control:"Procentuell kontroll?",show_oscillate_control:"Kontroll för oscillera?"},cover:{show_buttons_control:"Visa kontrollknappar?",show_position_control:"Visa positionskontroll?"},template:{primary:"Primär information",secondary:"Sekundär information",multiline_secondary:"Sekundär med flera rader?",content:"Innehåll"},title:{title:"Rubrik",subtitle:"Underrubrik"},chips:{alignment:"Justering"},weather:{show_conditions:"Förhållanden?",show_temperature:"Temperatur?"}},chip:{sub_element_editor:{title:"Chipredigerare"},conditional:{chip:"Chip"},"chip-picker":{chips:"Chips",add:"Lägg till chip",edit:"Redigera",clear:"Rensa",select:"Välj chip",types:{action:"Händelse","alarm-control-panel":"Alarm",back:"Bakåt",conditional:"Villkorad",entity:"Enhet",light:"Ljus",menu:"Meny",template:"Mall",weather:"Väder"}}}},po={editor:mo},fo={form:{color_picker:{values:{default:"Varsayılan renk"}},info_picker:{values:{default:"Varsayılan bilgi",name:"İsim",state:"Durum","last-changed":"Son Değişim","last-updated":"Son Güncelleme",none:"None"}},layout_picker:{values:{default:"Varsayılan düzen",vertical:"Dikey düzen",horizontal:"Yatay düzen"}},alignment_picker:{values:{default:"Varsayılan hizalama",start:"Sola yasla",end:"Sağa yasla",center:"Ortala",justify:"İki yana yasla"}}},card:{generic:{icon_color:"Simge renki",layout:"Düzen",primary_info:"Birinci bilgi",secondary_info:"İkinci bilgi",content_info:"İçerik",use_entity_picture:"Varlık resmi kullanılsın",icon_animation:"Aktif olduğunda simgeyi hareket ettir"},light:{show_brightness_control:"Parlaklık kontrolü",use_light_color:"Işık rengini kullan",show_color_temp_control:"Renk ısısı kontrolü",show_color_control:"Renk kontrolü",incompatible_controls:"Kullandığınız lamba bu özellikleri desteklemiyorsa bazı kontroller görüntülenemeyebilir."},fan:{show_percentage_control:"Yüzde kontrolü",show_oscillate_control:"Salınım kontrolü"},cover:{show_buttons_control:"Düğme kontrolleri",show_position_control:"Pozisyon kontrolü"},template:{primary:"Birinci bilgi",secondary:"İkinci bilgi",multiline_secondary:"İkinci bilgi çok satır olsun",entity_extra:"Şablonlarda ve eylemlerde kullanılsın",content:"İçerik"},title:{title:"Başlık",subtitle:"Altbaşlık"},chips:{alignment:"Hizalama"},weather:{show_conditions:"Hava koşulu",show_temperature:"Sıcaklık"},update:{show_buttons_control:"Düğme kontrolü"},vacuum:{commands:"Komutlar"}},chip:{sub_element_editor:{title:"Chip düzenleyici"},conditional:{chip:"Chip"},"chip-picker":{chips:"Chips",add:"Chip ekle",edit:"Düzenle",clear:"Temizle",select:"Chip seç",types:{action:"Eylem","alarm-control-panel":"Alarm",back:"Geri",conditional:"Koşullu",entity:"Varlık",light:"Işık",menu:"Menü",template:"Şablon",weather:"Hava Durumu"}}}},go={editor:fo},_o={form:{color_picker:{values:{default:"Колір за замовчуванням"}},info_picker:{values:{default:"Інформація за замовчуванням",name:"Назва",state:"Стан","last-changed":"Востаннє змінено","last-updated":"Востаннє оновлено",none:"Нічого"}},icon_type_picker:{values:{default:"За замовчуванням",icon:"Іконка","entity-picture":"Зображення сутності",none:"Нічого"}},layout_picker:{values:{default:"Розташування за замовчуванням",vertical:"Вертикальне розташування",horizontal:"Горизонтальне розташування"}},alignment_picker:{values:{default:"Вирівнювання за замовчуванням",start:"На початку",end:"В кінці",center:"По центру",justify:"Вирівняти"}}},card:{generic:{icon_color:"Колір іконки",layout:"Розташування",fill_container:"Заповнити контейнер",primary_info:"Головна інформація",secondary_info:"Додаткова інформація",icon_type:"Тип іконки",content_info:"Вміст",use_entity_picture:"Використовувати зображення сутності?",collapsible_controls:"Приховувати елементи керування коли вимкнено?",icon_animation:"Анімувати іконку при активації?"},light:{show_brightness_control:"Контроль яскравості?",use_light_color:"Використовувати колір світла",show_color_temp_control:"Керування температурою світла?",show_color_control:"Керування кольором світла?",incompatible_controls:"Деякі елементи керування можуть не відображатись якщо ваш пристрій не підтримує цю функцію."},fan:{show_percentage_control:"Керування швидкістю?",show_oscillate_control:"Керування повротом?"},cover:{show_buttons_control:"Кнопки керування?",show_position_control:"Керування позицією?",show_tilt_position_control:"Керування нахилом?"},template:{primary:"Головна інформація",secondary:"Додаткова інформаіця",multiline_secondary:"Багаторядкова додаткова інформація?",entity_extra:"Використовується в шаблонах та діях",content:"Вміст",badge_icon:"Іконка значка",badge_color:"Колір значка",picture:"Зображення (замінить іконку)"},title:{title:"Заголовок",subtitle:"Підзаголовок",title_tap_action:"Дія при дотику до заголовку",subtitle_tap_action:"Дія при дотику до підзаголовку"},chips:{alignment:"Вирівнювання"},weather:{show_conditions:"Умови?",show_temperature:"Температура?"},update:{show_buttons_control:"Кнопки керування?"},vacuum:{commands:"Команди",commands_list:{on_off:"Увімкнути/Вимкнути"}},"media-player":{use_media_info:"Використовувати інформацію медіа",use_media_artwork:"Використовувати зображення медіа",show_volume_level:"Показати рівень гучності",media_controls:"Керування медіа",media_controls_list:{on_off:"Увімкнути/Вимкнути",shuffle:"Перемішати",previous:"Попередній трек",play_pause_stop:"Відтворити/пауза/стоп",next:"Наступний трек",repeat:"Режим повторення"},volume_controls:"Елементи керування гучністю",volume_controls_list:{volume_buttons:"Кнопки гучності",volume_set:"Рівень гучності",volume_mute:"Вимк. звук"}},lock:{lock:"Зачинити",unlock:"Відчинити",open:"Відкрити"},humidifier:{show_target_humidity_control:"Керування вологістю?"},climate:{show_temperature_control:"Керування температурою?",hvac_modes:"Режими"},number:{display_mode:"Відображати режим",display_mode_list:{default:"За замовчуванням (повзунок)",slider:"Повзунок",buttons:"Кнопки"}}},chip:{sub_element_editor:{title:"Редактор міні-карток"},conditional:{chip:"Міні-картка"},"chip-picker":{chips:"Міні-картки",add:"Додати міні-картку",edit:"Редагувати",clear:"Очистити",select:"Обрати міні-картку",types:{action:"Дія","alarm-control-panel":"Сигналізація",back:"Назад",conditional:"Умовна",entity:"Сутність",light:"Світло",menu:"Меню",spacer:"Порожнє місце",template:"Вручну",weather:"Погода"}}}},vo={not_found:"Сутність не знайдено"},bo={editor:_o,card:vo},yo={form:{color_picker:{values:{default:"Màu mặc định"}},info_picker:{values:{default:"Thông tin mặc định",name:"Tên",state:"Trạng thái","last-changed":"Lần thay đổi cuối","last-updated":"Lần cập nhật cuối",none:"Không có"}},icon_type_picker:{values:{default:"Kiểu mặc định",icon:"Biểu tượng","entity-picture":"Ảnh thực thể",none:"Không có"}},layout_picker:{values:{default:"Bố cục mặc định",vertical:"Bố cục dọc",horizontal:"Bố cục ngang"}},alignment_picker:{values:{default:"Căn chỉnh mặc định",start:"Căn đầu",end:"Căn cuối",center:"Căn giữa",justify:"Căn hai bên"}}},card:{generic:{icon_color:"Màu biểu tượng",layout:"Bố cục",fill_container:"Làm đầy ô chứa",primary_info:"Thông tin chính",secondary_info:"Thông tin phụ",icon_type:"Kiểu biểu tượng",content_info:"Nội dung",use_entity_picture:"Dùng ảnh của thực thể?",collapsible_controls:"Thu nhỏ điều kiển khi tắt",icon_animation:"Biểu tượng chuyển động khi kích hoạt?"},light:{show_brightness_control:"Điều khiển độ sáng?",use_light_color:"Dùng màu đèn",show_color_temp_control:"Điều khiển nhiệt độ màu?",show_color_control:"Điều khiển màu sắc?",incompatible_controls:"Một số điều khiển sẽ không được hiển thị nếu đèn của bạn không hỗ trợ tính năng đó."},fan:{show_percentage_control:"Điều khiển dạng phần trăm?",show_oscillate_control:"Điều khiển xoay?"},cover:{show_buttons_control:"Điều khiển nút bấm?",show_position_control:"Điều khiển vị trí?",show_tilt_position_control:"Điều khiển độ nghiêng?"},template:{primary:"Thông tin chính",secondary:"Thông tin phụ",multiline_secondary:"Nhiều dòng thông tin phụ?",entity_extra:"Được sử dụng trong bản mẫu và hành động",content:"Nội dung",badge_icon:"Biểu tượng huy hiệu",badge_color:"Màu huy hiệu",picture:"Ảnh (thay cho biểu tượng)"},title:{title:"Tiêu đề",subtitle:"Phụ đề",title_tap_action:"Hành động khi nhấp tiêu đề",subtitle_tap_action:"Hành động khi nhấp phụ đề"},chips:{alignment:"Căn chỉnh"},weather:{show_conditions:"Điều kiện?",show_temperature:"Nhiệt độ?"},update:{show_buttons_control:"Điều khiển nút bấm?"},vacuum:{commands:"Mệnh lệnh",commands_list:{on_off:"Bật/tắt"}},"media-player":{use_media_info:"Dùng thông tin đa phương tiện",use_media_artwork:"Dùng ảnh đa phương tiện",show_volume_level:"Hiện mức âm lượng",media_controls:"Điều khiển đa phương tiện",media_controls_list:{on_off:"Bật/tắt",shuffle:"Xáo trộn",previous:"Bài trước",play_pause_stop:"Phát/tạm dừng/dừng",next:"Bài tiếp theo",repeat:"Chế độ lặp lại"},volume_controls:"Điều khiển âm lượng",volume_controls_list:{volume_buttons:"Nút âm lượng",volume_set:"Mức âm lượng",volume_mute:"Im lặng"}},lock:{lock:"Khóa",unlock:"Mở khóa",open:"Mở"},humidifier:{show_target_humidity_control:"Điều khiển độ ẩm?"},climate:{show_temperature_control:"Điều khiển nhiệt độ?",hvac_modes:"Chế độ điều hòa"},number:{display_mode:"Chế độ hiển thị",display_mode_list:{default:"Mặc định (thanh trượt)",slider:"Thanh trượt",buttons:"Nút"}}},chip:{sub_element_editor:{title:"Trình soạn phỉnh"},conditional:{chip:"Phỉnh"},"chip-picker":{chips:"Phỉnh",add:"Thêm phỉnh",edit:"Chỉnh sửa",clear:"Tẩy trống",select:"Chọn phỉnh",types:{action:"Hành động","alarm-control-panel":"Báo động",back:"Quay về",conditional:"Điều kiện",entity:"Thực thể",light:"Đèn",menu:"Trình đơn",spacer:"Ngăn cách",template:"Mẫu",weather:"Thời tiết"}}}},xo={not_found:"Không tìm thấy thực thể"},wo={editor:yo,card:xo},ko={form:{color_picker:{values:{default:"默认颜色"}},info_picker:{values:{default:"默认信息",name:"名称",state:"状态","last-changed":"变更时间","last-updated":"更新时间",none:"无"}},icon_type_picker:{values:{default:"默认类型",icon:"图标","entity-picture":"实体图片",none:"无"}},layout_picker:{values:{default:"默认布局",vertical:"垂直布局",horizontal:"水平布局"}},alignment_picker:{values:{default:"默认",start:"左对齐",end:"右对齐",center:"居中对齐",justify:"两端对齐"}}},card:{generic:{icon_color:"图标颜色",layout:"布局",fill_container:"填满容器",primary_info:"首要信息",secondary_info:"次要信息",icon_type:"图标类型",content_info:"内容",use_entity_picture:"使用实体图片?",collapsible_controls:"关闭时隐藏控制器",icon_animation:"激活时使用动态图标?"},light:{show_brightness_control:"亮度控制?",use_light_color:"使用灯光颜色",show_color_temp_control:"色温控制?",show_color_control:"颜色控制?",incompatible_controls:"设备不支持的控制器将不会显示。"},fan:{show_percentage_control:"百分比控制?",show_oscillate_control:"摆动控制?"},cover:{show_buttons_control:"按钮控制?",show_position_control:"位置控制?",show_tilt_position_control:"角度控制?"},template:{primary:"首要信息",secondary:"次要信息",multiline_secondary:"多行次要信息?",entity_extra:"用于模板和动作",content:"内容",badge_icon:"徽标图标",badge_color:"徽标颜色",picture:"图片 (将会替代图标)"},title:{title:"标题",subtitle:"子标题",title_tap_action:"标题点击动作",subtitle_tap_action:"子标题点击动作"},chips:{alignment:"对齐"},weather:{show_conditions:"条件?",show_temperature:"温度?"},update:{show_buttons_control:"控制按钮?"},vacuum:{commands:"命令",commands_list:{on_off:"开/关"}},"media-player":{use_media_info:"使用媒体信息",use_media_artwork:"使用媒体插图",show_volume_level:"显示音量大小",media_controls:"媒体控制",media_controls_list:{on_off:"开启/关闭",shuffle:"随机",previous:"上一曲",play_pause_stop:"播放/暂停/停止",next:"下一曲",repeat:"循环模式"},volume_controls:"音量控制",volume_controls_list:{volume_buttons:"音量按钮",volume_set:"音量等级",volume_mute:"静音"}},lock:{lock:"锁定",unlock:"解锁",open:"打开"},humidifier:{show_target_humidity_control:"湿度控制?"},climate:{show_temperature_control:"温度控制?",hvac_modes:"空调模式"},number:{display_mode:"显示模式",display_mode_list:{default:"默认 (滑块)",slider:"滑块",buttons:"按钮"}}},chip:{sub_element_editor:{title:"Chip 编辑"},conditional:{chip:"Chip"},"chip-picker":{chips:"Chips",add:"添加 chip",edit:"编辑",clear:"清除",select:"选择 chip",types:{action:"动作","alarm-control-panel":"警戒控制台",back:"返回",conditional:"条件显示",entity:"实体",light:"灯光",menu:"菜单",spacer:"占位符",template:"模板",weather:"天气"}}}},Co={not_found:"未找到实体"},$o={editor:ko,card:Co},Eo={form:{color_picker:{values:{default:"預設顏色"}},info_picker:{values:{default:"預設訊息",name:"名稱",state:"狀態","last-changed":"最近變動時間","last-updated":"最近更新時間",none:"無"}},icon_type_picker:{values:{default:"預設樣式",icon:"圖示","entity-picture":"實體圖片",none:"無"}},layout_picker:{values:{default:"預設佈局",vertical:"垂直佈局",horizontal:"水平佈局"}},alignment_picker:{values:{default:"預設對齊",start:"居左對齊",end:"居右對齊",center:"居中對齊",justify:"兩端對齊"}}},card:{generic:{icon_color:"圖示顏色",layout:"佈局",fill_container:"填滿容器",primary_info:"主要訊息",secondary_info:"次要訊息",icon_type:"圖示樣式",content_info:"內容",use_entity_picture:"使用實體圖片?",collapsible_controls:"關閉時隱藏控制項",icon_animation:"啟動時使用動態圖示?"},light:{show_brightness_control:"亮度控制?",use_light_color:"使用燈光顏色",show_color_temp_control:"色溫控制?",show_color_control:"色彩控制?",incompatible_controls:"不會顯示裝置不支援的控制。"},fan:{show_percentage_control:"百分比控制?",show_oscillate_control:"擺頭控制?"},cover:{show_buttons_control:"按鈕控制?",show_position_control:"位置控制?",show_tilt_position_control:"角度控制?"},template:{primary:"主要訊息",secondary:"次要訊息",multiline_secondary:"多行次要訊息?",entity_extra:"用於模板與動作",content:"內容",badge_icon:"角標圖示",badge_color:"角標顏色",picture:"圖片 (將會取代圖示)"},title:{title:"標題",subtitle:"副標題",title_tap_action:"標題點擊動作",subtitle_tap_action:"副標題點擊動作"},chips:{alignment:"對齊"},weather:{show_conditions:"狀況?",show_temperature:"溫度?"},update:{show_buttons_control:"按鈕控制?"},vacuum:{commands:"指令",commands_list:{on_off:"開啟、關閉"}},"media-player":{use_media_info:"使用媒體資訊",use_media_artwork:"使用媒體插圖",show_volume_level:"顯示音量大小",media_controls:"媒體控制",media_controls_list:{on_off:"開啟、關閉",shuffle:"隨機播放",previous:"上一首",play_pause_stop:"播放、暫停、停止",next:"下一首",repeat:"重複播放"},volume_controls:"音量控制",volume_controls_list:{volume_buttons:"音量按鈕",volume_set:"音量等級",volume_mute:"靜音"}},lock:{lock:"上鎖",unlock:"解鎖",open:"打開"},humidifier:{show_target_humidity_control:"溼度控制?"},climate:{show_temperature_control:"溫度控制?",hvac_modes:"空調模式"},number:{display_mode:"顯示模式",display_mode_list:{default:"預設 (滑桿)",slider:"滑桿",buttons:"按鈕"}}},chip:{sub_element_editor:{title:"小卡片編輯器"},conditional:{chip:"小卡片"},"chip-picker":{chips:"小卡片",add:"新增小卡片",edit:"編輯",clear:"清除",select:"選擇小卡片",types:{action:"動作","alarm-control-panel":"警報器控制",back:"返回",conditional:"條件",entity:"實體",light:"燈光",menu:"選單",spacer:"佔位符",template:"模板",weather:"天氣"}}}},Ao={not_found:"未找到實體"},So={editor:Eo,card:Ao};const Io={ar:Object.freeze({__proto__:null,default:li,editor:ai}),bg:Object.freeze({__proto__:null,default:ci,editor:si}),ca:Object.freeze({__proto__:null,card:ui,default:hi,editor:di}),cs:Object.freeze({__proto__:null,card:pi,default:fi,editor:mi}),da:Object.freeze({__proto__:null,default:_i,editor:gi}),de:Object.freeze({__proto__:null,card:bi,default:yi,editor:vi}),el:Object.freeze({__proto__:null,default:wi,editor:xi}),en:Object.freeze({__proto__:null,card:Ci,default:$i,editor:ki}),es:Object.freeze({__proto__:null,default:Ai,editor:Ei}),fi:Object.freeze({__proto__:null,default:Ii,editor:Si}),fr:Object.freeze({__proto__:null,default:Oi,editor:Ti}),he:Object.freeze({__proto__:null,default:Mi,editor:zi}),hu:Object.freeze({__proto__:null,card:Di,default:Li,editor:ji}),id:Object.freeze({__proto__:null,card:Ni,default:Ri,editor:Pi}),it:Object.freeze({__proto__:null,card:Vi,default:Bi,editor:Fi}),"ko-KR":Object.freeze({__proto__:null,default:Hi,editor:Ui}),nb:Object.freeze({__proto__:null,default:Wi,editor:Yi}),nl:Object.freeze({__proto__:null,card:Ki,default:Gi,editor:Xi}),pl:Object.freeze({__proto__:null,default:Zi,editor:qi}),"pt-BR":Object.freeze({__proto__:null,default:Qi,editor:Ji}),"pt-PT":Object.freeze({__proto__:null,default:eo,editor:to}),ro:Object.freeze({__proto__:null,default:oo,editor:io}),ru:Object.freeze({__proto__:null,default:ro,editor:no}),sl:Object.freeze({__proto__:null,card:lo,default:so,editor:ao}),sk:Object.freeze({__proto__:null,card:uo,default:ho,editor:co}),sv:Object.freeze({__proto__:null,default:po,editor:mo}),tr:Object.freeze({__proto__:null,default:go,editor:fo}),uk:Object.freeze({__proto__:null,card:vo,default:bo,editor:_o}),vi:Object.freeze({__proto__:null,card:xo,default:wo,editor:yo}),"zh-Hans":Object.freeze({__proto__:null,card:Co,default:$o,editor:ko}),"zh-Hant":Object.freeze({__proto__:null,card:Ao,default:So,editor:Eo})};function To(t,e){try{return t.split(".").reduce(((t,e)=>t[e]),Io[e])}catch(t){return}}function Oo(t){return function(e){var i;let o=To(e,null!==(i=null==t?void 0:t.locale.language)&&void 0!==i?i:"en");return o||(o=To(e,"en")),null!=o?o:e}} +/** + * @license + * Copyright 2020 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. + */var zo="Unknown",Mo="Backspace",jo="Enter",Do="Spacebar",Lo="PageUp",Po="PageDown",No="End",Ro="Home",Fo="ArrowLeft",Vo="ArrowUp",Bo="ArrowRight",Uo="ArrowDown",Ho="Delete",Yo="Escape",Wo="Tab",Xo=new Set;Xo.add(Mo),Xo.add(jo),Xo.add(Do),Xo.add(Lo),Xo.add(Po),Xo.add(No),Xo.add(Ro),Xo.add(Fo),Xo.add(Vo),Xo.add(Bo),Xo.add(Uo),Xo.add(Ho),Xo.add(Yo),Xo.add(Wo);var Ko=8,Go=13,qo=32,Zo=33,Jo=34,Qo=35,tn=36,en=37,on=38,nn=39,rn=40,an=46,ln=27,sn=9,cn=new Map;cn.set(Ko,Mo),cn.set(Go,jo),cn.set(qo,Do),cn.set(Zo,Lo),cn.set(Jo,Po),cn.set(Qo,No),cn.set(tn,Ro),cn.set(en,Fo),cn.set(on,Vo),cn.set(nn,Bo),cn.set(rn,Uo),cn.set(an,Ho),cn.set(ln,Yo),cn.set(sn,Wo);var dn=new Set;function un(t){var e=t.key;if(Xo.has(e))return e;var i=cn.get(t.keyCode);return i||zo} +/** + * @license + * Copyright 2020 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. + */dn.add(Lo),dn.add(Po),dn.add(No),dn.add(Ro),dn.add(Fo),dn.add(Vo),dn.add(Bo),dn.add(Uo);var hn={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"},mn=new Set;mn.add(hn.BACKSPACE),mn.add(hn.ENTER),mn.add(hn.SPACEBAR),mn.add(hn.PAGE_UP),mn.add(hn.PAGE_DOWN),mn.add(hn.END),mn.add(hn.HOME),mn.add(hn.ARROW_LEFT),mn.add(hn.ARROW_UP),mn.add(hn.ARROW_RIGHT),mn.add(hn.ARROW_DOWN),mn.add(hn.DELETE),mn.add(hn.ESCAPE),mn.add(hn.TAB);var pn=8,fn=13,gn=32,_n=33,vn=34,bn=35,yn=36,xn=37,wn=38,kn=39,Cn=40,$n=46,En=27,An=9,Sn=new Map;Sn.set(pn,hn.BACKSPACE),Sn.set(fn,hn.ENTER),Sn.set(gn,hn.SPACEBAR),Sn.set(_n,hn.PAGE_UP),Sn.set(vn,hn.PAGE_DOWN),Sn.set(bn,hn.END),Sn.set(yn,hn.HOME),Sn.set(xn,hn.ARROW_LEFT),Sn.set(wn,hn.ARROW_UP),Sn.set(kn,hn.ARROW_RIGHT),Sn.set(Cn,hn.ARROW_DOWN),Sn.set($n,hn.DELETE),Sn.set(En,hn.ESCAPE),Sn.set(An,hn.TAB);var In,Tn,On=new Set;function zn(t){var e=t.key;if(mn.has(e))return e;var i=Sn.get(t.keyCode);return i||hn.UNKNOWN} +/** + * @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. + */On.add(hn.PAGE_UP),On.add(hn.PAGE_DOWN),On.add(hn.END),On.add(hn.HOME),On.add(hn.ARROW_LEFT),On.add(hn.ARROW_UP),On.add(hn.ARROW_RIGHT),On.add(hn.ARROW_DOWN);var Mn="mdc-list-item--activated",jn="mdc-list-item",Dn="mdc-list-item--disabled",Ln="mdc-list-item--selected",Pn="mdc-list-item__text",Nn="mdc-list-item__primary-text",Rn="mdc-list";(In={})[""+Mn]="mdc-list-item--activated",In[""+jn]="mdc-list-item",In[""+Dn]="mdc-list-item--disabled",In[""+Ln]="mdc-list-item--selected",In[""+Nn]="mdc-list-item__primary-text",In[""+Rn]="mdc-list";var Fn=((Tn={})[""+Mn]="mdc-deprecated-list-item--activated",Tn[""+jn]="mdc-deprecated-list-item",Tn[""+Dn]="mdc-deprecated-list-item--disabled",Tn[""+Ln]="mdc-deprecated-list-item--selected",Tn[""+Pn]="mdc-deprecated-list-item__text",Tn[""+Nn]="mdc-deprecated-list-item__primary-text",Tn[""+Rn]="mdc-deprecated-list",Tn);Fn[jn],Fn[jn],Fn[jn],Fn[jn],Fn[jn],Fn[jn];var Vn={UNSET_INDEX:-1,TYPEAHEAD_BUFFER_CLEAR_TIMEOUT_MS:300},Bn=["input","button","textarea","select"],Un=function(t){var e=t.target;if(e){var i=(""+e.tagName).toLowerCase();-1===Bn.indexOf(i)&&t.preventDefault()}}; +/** + * @license + * Copyright 2020 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. + */function Hn(t,e){for(var i=new Map,o=0;oe&&!i(r[l].index)){s=l;break}if(-1!==s)return o.sortedIndexCursor=s,r[o.sortedIndexCursor].index;return-1}(r,a,s,e):function(t,e,i){var o=i.typeaheadBuffer[0],n=t.get(o);if(!n)return-1;var r=n[i.sortedIndexCursor];if(0===r.text.lastIndexOf(i.typeaheadBuffer,0)&&!e(r.index))return r.index;var a=(i.sortedIndexCursor+1)%n.length,l=-1;for(;a!==i.sortedIndexCursor;){var s=n[a],c=0===s.text.lastIndexOf(i.typeaheadBuffer,0),d=!e(s.index);if(c&&d){l=a;break}a=(a+1)%n.length}if(-1!==l)return i.sortedIndexCursor=l,n[i.sortedIndexCursor].index;return-1}(r,s,e),-1===i||l||n(i),i}function Wn(t){return t.typeaheadBuffer.length>0}function Xn(t){return{addClass:e=>{t.classList.add(e)},removeClass:e=>{t.classList.remove(e)},hasClass:e=>t.classList.contains(e)}}const Kn=()=>{},Gn={get passive(){return!1}};document.addEventListener("x",Kn,Gn),document.removeEventListener("x",Kn); +/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ +class qn extends ht{click(){if(this.mdcRoot)return this.mdcRoot.focus(),void this.mdcRoot.click();super.click()}createFoundation(){void 0!==this.mdcFoundation&&this.mdcFoundation.destroy(),this.mdcFoundationClass&&(this.mdcFoundation=new this.mdcFoundationClass(this.createAdapter()),this.mdcFoundation.init())}firstUpdated(){this.createFoundation()}} +/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */var Zn,Jn;const Qn=null!==(Jn=null===(Zn=window.ShadyDOM)||void 0===Zn?void 0:Zn.inUse)&&void 0!==Jn&&Jn;class tr extends qn{constructor(){super(...arguments),this.disabled=!1,this.containingForm=null,this.formDataListener=t=>{this.disabled||this.setFormData(t.formData)}}findFormElement(){if(!this.shadowRoot||Qn)return null;const t=this.getRootNode().querySelectorAll("form");for(const e of Array.from(t))if(e.contains(this))return e;return null}connectedCallback(){var t;super.connectedCallback(),this.containingForm=this.findFormElement(),null===(t=this.containingForm)||void 0===t||t.addEventListener("formdata",this.formDataListener)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this.containingForm)||void 0===t||t.removeEventListener("formdata",this.formDataListener),this.containingForm=null}click(){this.formElement&&!this.disabled&&(this.formElement.focus(),this.formElement.click())}firstUpdated(){super.firstUpdated(),this.shadowRoot&&this.mdcRoot.addEventListener("change",(t=>{this.dispatchEvent(new Event("change",t))}))}}tr.shadowRootOptions={mode:"open",delegatesFocus:!0},n([_t({type:Boolean})],tr.prototype,"disabled",void 0); +/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ +const er=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)} +/** + * @license + * Copyright 2016 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. + */;var ir=function(){function t(t){void 0===t&&(t={}),this.adapter=t}return Object.defineProperty(t,"cssClasses",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{}},enumerable:!1,configurable:!0}),t.prototype.init=function(){},t.prototype.destroy=function(){},t}(),or={LABEL_FLOAT_ABOVE:"mdc-floating-label--float-above",LABEL_REQUIRED:"mdc-floating-label--required",LABEL_SHAKE:"mdc-floating-label--shake",ROOT:"mdc-floating-label"},nr=function(t){function e(i){var n=t.call(this,o(o({},e.defaultAdapter),i))||this;return n.shakeAnimationEndHandler=function(){n.handleShakeAnimationEnd()},n}return i(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return or},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},getWidth:function(){return 0},registerInteractionHandler:function(){},deregisterInteractionHandler:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){this.adapter.registerInteractionHandler("animationend",this.shakeAnimationEndHandler)},e.prototype.destroy=function(){this.adapter.deregisterInteractionHandler("animationend",this.shakeAnimationEndHandler)},e.prototype.getWidth=function(){return this.adapter.getWidth()},e.prototype.shake=function(t){var i=e.cssClasses.LABEL_SHAKE;t?this.adapter.addClass(i):this.adapter.removeClass(i)},e.prototype.float=function(t){var i=e.cssClasses,o=i.LABEL_FLOAT_ABOVE,n=i.LABEL_SHAKE;t?this.adapter.addClass(o):(this.adapter.removeClass(o),this.adapter.removeClass(n))},e.prototype.setRequired=function(t){var i=e.cssClasses.LABEL_REQUIRED;t?this.adapter.addClass(i):this.adapter.removeClass(i)},e.prototype.handleShakeAnimationEnd=function(){var t=e.cssClasses.LABEL_SHAKE;this.adapter.removeClass(t)},e}(ir); +/** + * @license + * Copyright 2016 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. + */const rr=He(class extends Ye{constructor(t){switch(super(t),this.foundation=null,this.previousPart=null,t.type){case Ve:case Be:break;default:throw new Error("FloatingLabel directive only support attribute and property parts")}}update(t,[e]){if(t!==this.previousPart){this.foundation&&this.foundation.destroy(),this.previousPart=t;const e=t.element;e.classList.add("mdc-floating-label");const i=(t=>({addClass:e=>t.classList.add(e),removeClass:e=>t.classList.remove(e),getWidth:()=>t.scrollWidth,registerInteractionHandler:(e,i)=>{t.addEventListener(e,i)},deregisterInteractionHandler:(e,i)=>{t.removeEventListener(e,i)}}))(e);this.foundation=new nr(i),this.foundation.init()}return this.render(e)}render(t){return this.foundation}}); +/** + * @license + * Copyright 2016 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. + */var ar=function(){function t(t){void 0===t&&(t={}),this.adapter=t}return Object.defineProperty(t,"cssClasses",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{}},enumerable:!1,configurable:!0}),t.prototype.init=function(){},t.prototype.destroy=function(){},t}(),lr={LINE_RIPPLE_ACTIVE:"mdc-line-ripple--active",LINE_RIPPLE_DEACTIVATING:"mdc-line-ripple--deactivating"},sr=function(t){function e(i){var n=t.call(this,o(o({},e.defaultAdapter),i))||this;return n.transitionEndHandler=function(t){n.handleTransitionEnd(t)},n}return i(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return lr},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!1},setStyle:function(){},registerEventHandler:function(){},deregisterEventHandler:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){this.adapter.registerEventHandler("transitionend",this.transitionEndHandler)},e.prototype.destroy=function(){this.adapter.deregisterEventHandler("transitionend",this.transitionEndHandler)},e.prototype.activate=function(){this.adapter.removeClass(lr.LINE_RIPPLE_DEACTIVATING),this.adapter.addClass(lr.LINE_RIPPLE_ACTIVE)},e.prototype.setRippleCenter=function(t){this.adapter.setStyle("transform-origin",t+"px center")},e.prototype.deactivate=function(){this.adapter.addClass(lr.LINE_RIPPLE_DEACTIVATING)},e.prototype.handleTransitionEnd=function(t){var e=this.adapter.hasClass(lr.LINE_RIPPLE_DEACTIVATING);"opacity"===t.propertyName&&e&&(this.adapter.removeClass(lr.LINE_RIPPLE_ACTIVE),this.adapter.removeClass(lr.LINE_RIPPLE_DEACTIVATING))},e}(ar); +/** + * @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. + */const cr=He(class extends Ye{constructor(t){switch(super(t),this.previousPart=null,this.foundation=null,t.type){case Ve:case Be:return;default:throw new Error("LineRipple only support attribute and property parts.")}}update(t,e){if(this.previousPart!==t){this.foundation&&this.foundation.destroy(),this.previousPart=t;const e=t.element;e.classList.add("mdc-line-ripple");const i=(t=>({addClass:e=>t.classList.add(e),removeClass:e=>t.classList.remove(e),hasClass:e=>t.classList.contains(e),setStyle:(e,i)=>t.style.setProperty(e,i),registerEventHandler:(e,i)=>{t.addEventListener(e,i)},deregisterEventHandler:(e,i)=>{t.removeEventListener(e,i)}}))(e);this.foundation=new sr(i),this.foundation.init()}return this.render()}render(){return this.foundation}}); +/** + * @license + * Copyright 2016 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. + */var dr=function(){function t(t){void 0===t&&(t={}),this.adapter=t}return Object.defineProperty(t,"cssClasses",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{}},enumerable:!1,configurable:!0}),t.prototype.init=function(){},t.prototype.destroy=function(){},t}(),ur="Unknown",hr="Backspace",mr="Enter",pr="Spacebar",fr="PageUp",gr="PageDown",_r="End",vr="Home",br="ArrowLeft",yr="ArrowUp",xr="ArrowRight",wr="ArrowDown",kr="Delete",Cr="Escape",$r="Tab",Er=new Set; +/** + * @license + * Copyright 2020 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. + */Er.add(hr),Er.add(mr),Er.add(pr),Er.add(fr),Er.add(gr),Er.add(_r),Er.add(vr),Er.add(br),Er.add(yr),Er.add(xr),Er.add(wr),Er.add(kr),Er.add(Cr),Er.add($r);var Ar=8,Sr=13,Ir=32,Tr=33,Or=34,zr=35,Mr=36,jr=37,Dr=38,Lr=39,Pr=40,Nr=46,Rr=27,Fr=9,Vr=new Map;Vr.set(Ar,hr),Vr.set(Sr,mr),Vr.set(Ir,pr),Vr.set(Tr,fr),Vr.set(Or,gr),Vr.set(zr,_r),Vr.set(Mr,vr),Vr.set(jr,br),Vr.set(Dr,yr),Vr.set(Lr,xr),Vr.set(Pr,wr),Vr.set(Nr,kr),Vr.set(Rr,Cr),Vr.set(Fr,$r);var Br,Ur,Hr=new Set;function Yr(t){var e=t.key;if(Er.has(e))return e;var i=Vr.get(t.keyCode);return i||ur} +/** + * @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. + */Hr.add(fr),Hr.add(gr),Hr.add(_r),Hr.add(vr),Hr.add(br),Hr.add(yr),Hr.add(xr),Hr.add(wr),function(t){t[t.BOTTOM=1]="BOTTOM",t[t.CENTER=2]="CENTER",t[t.RIGHT=4]="RIGHT",t[t.FLIP_RTL=8]="FLIP_RTL"}(Br||(Br={})),function(t){t[t.TOP_LEFT=0]="TOP_LEFT",t[t.TOP_RIGHT=4]="TOP_RIGHT",t[t.BOTTOM_LEFT=1]="BOTTOM_LEFT",t[t.BOTTOM_RIGHT=5]="BOTTOM_RIGHT",t[t.TOP_START=8]="TOP_START",t[t.TOP_END=12]="TOP_END",t[t.BOTTOM_START=9]="BOTTOM_START",t[t.BOTTOM_END=13]="BOTTOM_END"}(Ur||(Ur={})); +/** + * @license + * Copyright 2016 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. + */ +var Wr={ACTIVATED:"mdc-select--activated",DISABLED:"mdc-select--disabled",FOCUSED:"mdc-select--focused",INVALID:"mdc-select--invalid",MENU_INVALID:"mdc-select__menu--invalid",OUTLINED:"mdc-select--outlined",REQUIRED:"mdc-select--required",ROOT:"mdc-select",WITH_LEADING_ICON:"mdc-select--with-leading-icon"},Xr={ARIA_CONTROLS:"aria-controls",ARIA_DESCRIBEDBY:"aria-describedby",ARIA_SELECTED_ATTR:"aria-selected",CHANGE_EVENT:"MDCSelect:change",HIDDEN_INPUT_SELECTOR:'input[type="hidden"]',LABEL_SELECTOR:".mdc-floating-label",LEADING_ICON_SELECTOR:".mdc-select__icon",LINE_RIPPLE_SELECTOR:".mdc-line-ripple",MENU_SELECTOR:".mdc-select__menu",OUTLINE_SELECTOR:".mdc-notched-outline",SELECTED_TEXT_SELECTOR:".mdc-select__selected-text",SELECT_ANCHOR_SELECTOR:".mdc-select__anchor",VALUE_ATTR:"data-value"},Kr={LABEL_SCALE:.75,UNSET_INDEX:-1,CLICK_DEBOUNCE_TIMEOUT_MS:330},Gr=function(t){function e(i,n){void 0===n&&(n={});var r=t.call(this,o(o({},e.defaultAdapter),i))||this;return r.disabled=!1,r.isMenuOpen=!1,r.useDefaultValidation=!0,r.customValidity=!0,r.lastSelectedIndex=Kr.UNSET_INDEX,r.clickDebounceTimeout=0,r.recentlyClicked=!1,r.leadingIcon=n.leadingIcon,r.helperText=n.helperText,r}return i(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return Wr},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return Kr},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return Xr},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!1},activateBottomLine:function(){},deactivateBottomLine:function(){},getSelectedIndex:function(){return-1},setSelectedIndex:function(){},hasLabel:function(){return!1},floatLabel:function(){},getLabelWidth:function(){return 0},setLabelRequired:function(){},hasOutline:function(){return!1},notchOutline:function(){},closeOutline:function(){},setRippleCenter:function(){},notifyChange:function(){},setSelectedText:function(){},isSelectAnchorFocused:function(){return!1},getSelectAnchorAttr:function(){return""},setSelectAnchorAttr:function(){},removeSelectAnchorAttr:function(){},addMenuClass:function(){},removeMenuClass:function(){},openMenu:function(){},closeMenu:function(){},getAnchorElement:function(){return null},setMenuAnchorElement:function(){},setMenuAnchorCorner:function(){},setMenuWrapFocus:function(){},focusMenuItemAtIndex:function(){},getMenuItemCount:function(){return 0},getMenuItemValues:function(){return[]},getMenuItemTextAtIndex:function(){return""},isTypeaheadInProgress:function(){return!1},typeaheadMatchItem:function(){return-1}}},enumerable:!1,configurable:!0}),e.prototype.getSelectedIndex=function(){return this.adapter.getSelectedIndex()},e.prototype.setSelectedIndex=function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1),t>=this.adapter.getMenuItemCount()||(t===Kr.UNSET_INDEX?this.adapter.setSelectedText(""):this.adapter.setSelectedText(this.adapter.getMenuItemTextAtIndex(t).trim()),this.adapter.setSelectedIndex(t),e&&this.adapter.closeMenu(),i||this.lastSelectedIndex===t||this.handleChange(),this.lastSelectedIndex=t)},e.prototype.setValue=function(t,e){void 0===e&&(e=!1);var i=this.adapter.getMenuItemValues().indexOf(t);this.setSelectedIndex(i,!1,e)},e.prototype.getValue=function(){var t=this.adapter.getSelectedIndex(),e=this.adapter.getMenuItemValues();return t!==Kr.UNSET_INDEX?e[t]:""},e.prototype.getDisabled=function(){return this.disabled},e.prototype.setDisabled=function(t){this.disabled=t,this.disabled?(this.adapter.addClass(Wr.DISABLED),this.adapter.closeMenu()):this.adapter.removeClass(Wr.DISABLED),this.leadingIcon&&this.leadingIcon.setDisabled(this.disabled),this.disabled?this.adapter.removeSelectAnchorAttr("tabindex"):this.adapter.setSelectAnchorAttr("tabindex","0"),this.adapter.setSelectAnchorAttr("aria-disabled",this.disabled.toString())},e.prototype.openMenu=function(){this.adapter.addClass(Wr.ACTIVATED),this.adapter.openMenu(),this.isMenuOpen=!0,this.adapter.setSelectAnchorAttr("aria-expanded","true")},e.prototype.setHelperTextContent=function(t){this.helperText&&this.helperText.setContent(t)},e.prototype.layout=function(){if(this.adapter.hasLabel()){var t=this.getValue().length>0,e=this.adapter.hasClass(Wr.FOCUSED),i=t||e,o=this.adapter.hasClass(Wr.REQUIRED);this.notchOutline(i),this.adapter.floatLabel(i),this.adapter.setLabelRequired(o)}},e.prototype.layoutOptions=function(){var t=this.adapter.getMenuItemValues().indexOf(this.getValue());this.setSelectedIndex(t,!1,!0)},e.prototype.handleMenuOpened=function(){if(0!==this.adapter.getMenuItemValues().length){var t=this.getSelectedIndex(),e=t>=0?t:0;this.adapter.focusMenuItemAtIndex(e)}},e.prototype.handleMenuClosing=function(){this.adapter.setSelectAnchorAttr("aria-expanded","false")},e.prototype.handleMenuClosed=function(){this.adapter.removeClass(Wr.ACTIVATED),this.isMenuOpen=!1,this.adapter.isSelectAnchorFocused()||this.blur()},e.prototype.handleChange=function(){this.layout(),this.adapter.notifyChange(this.getValue()),this.adapter.hasClass(Wr.REQUIRED)&&this.useDefaultValidation&&this.setValid(this.isValid())},e.prototype.handleMenuItemAction=function(t){this.setSelectedIndex(t,!0)},e.prototype.handleFocus=function(){this.adapter.addClass(Wr.FOCUSED),this.layout(),this.adapter.activateBottomLine()},e.prototype.handleBlur=function(){this.isMenuOpen||this.blur()},e.prototype.handleClick=function(t){this.disabled||this.recentlyClicked||(this.setClickDebounceTimeout(),this.isMenuOpen?this.adapter.closeMenu():(this.adapter.setRippleCenter(t),this.openMenu()))},e.prototype.handleKeydown=function(t){if(!this.isMenuOpen&&this.adapter.hasClass(Wr.FOCUSED)){var e=Yr(t)===mr,i=Yr(t)===pr,o=Yr(t)===yr,n=Yr(t)===wr;if(!(t.ctrlKey||t.metaKey)&&(!i&&t.key&&1===t.key.length||i&&this.adapter.isTypeaheadInProgress())){var r=i?" ":t.key,a=this.adapter.typeaheadMatchItem(r,this.getSelectedIndex());return a>=0&&this.setSelectedIndex(a),void t.preventDefault()}(e||i||o||n)&&(this.openMenu(),t.preventDefault())}},e.prototype.notchOutline=function(t){if(this.adapter.hasOutline()){var e=this.adapter.hasClass(Wr.FOCUSED);if(t){var i=Kr.LABEL_SCALE,o=this.adapter.getLabelWidth()*i;this.adapter.notchOutline(o)}else e||this.adapter.closeOutline()}},e.prototype.setLeadingIconAriaLabel=function(t){this.leadingIcon&&this.leadingIcon.setAriaLabel(t)},e.prototype.setLeadingIconContent=function(t){this.leadingIcon&&this.leadingIcon.setContent(t)},e.prototype.getUseDefaultValidation=function(){return this.useDefaultValidation},e.prototype.setUseDefaultValidation=function(t){this.useDefaultValidation=t},e.prototype.setValid=function(t){this.useDefaultValidation||(this.customValidity=t),this.adapter.setSelectAnchorAttr("aria-invalid",(!t).toString()),t?(this.adapter.removeClass(Wr.INVALID),this.adapter.removeMenuClass(Wr.MENU_INVALID)):(this.adapter.addClass(Wr.INVALID),this.adapter.addMenuClass(Wr.MENU_INVALID)),this.syncHelperTextValidity(t)},e.prototype.isValid=function(){return this.useDefaultValidation&&this.adapter.hasClass(Wr.REQUIRED)&&!this.adapter.hasClass(Wr.DISABLED)?this.getSelectedIndex()!==Kr.UNSET_INDEX&&(0!==this.getSelectedIndex()||Boolean(this.getValue())):this.customValidity},e.prototype.setRequired=function(t){t?this.adapter.addClass(Wr.REQUIRED):this.adapter.removeClass(Wr.REQUIRED),this.adapter.setSelectAnchorAttr("aria-required",t.toString()),this.adapter.setLabelRequired(t)},e.prototype.getRequired=function(){return"true"===this.adapter.getSelectAnchorAttr("aria-required")},e.prototype.init=function(){var t=this.adapter.getAnchorElement();t&&(this.adapter.setMenuAnchorElement(t),this.adapter.setMenuAnchorCorner(Ur.BOTTOM_START)),this.adapter.setMenuWrapFocus(!1),this.setDisabled(this.adapter.hasClass(Wr.DISABLED)),this.syncHelperTextValidity(!this.adapter.hasClass(Wr.INVALID)),this.layout(),this.layoutOptions()},e.prototype.blur=function(){this.adapter.removeClass(Wr.FOCUSED),this.layout(),this.adapter.deactivateBottomLine(),this.adapter.hasClass(Wr.REQUIRED)&&this.useDefaultValidation&&this.setValid(this.isValid())},e.prototype.syncHelperTextValidity=function(t){if(this.helperText){this.helperText.setValidity(t);var e=this.helperText.isVisible(),i=this.helperText.getId();e&&i?this.adapter.setSelectAnchorAttr(Xr.ARIA_DESCRIBEDBY,i):this.adapter.removeSelectAnchorAttr(Xr.ARIA_DESCRIBEDBY)}},e.prototype.setClickDebounceTimeout=function(){var t=this;clearTimeout(this.clickDebounceTimeout),this.clickDebounceTimeout=setTimeout((function(){t.recentlyClicked=!1}),Kr.CLICK_DEBOUNCE_TIMEOUT_MS),this.recentlyClicked=!0},e}(dr); +/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +const qr=He(class extends Ye{constructor(t){var e;if(super(t),t.type!==Ve||"class"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(t,[e]){var i,o;if(void 0===this.it){this.it=new Set,void 0!==t.strings&&(this.nt=new Set(t.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in e)e[t]&&!(null===(i=this.nt)||void 0===i?void 0:i.has(t))&&this.it.add(t);return this.render(e)}const n=t.element.classList;this.it.forEach((t=>{t in e||(n.remove(t),this.it.delete(t))}));for(const t in e){const i=!!e[t];i===this.it.has(t)||(null===(o=this.nt)||void 0===o?void 0:o.has(t))||(i?(n.add(t),this.it.add(t)):(n.remove(t),this.it.delete(t)))}return X}}),Zr=t=>null!=t?t:K +/** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */,Jr=(t={})=>{const e={};for(const i in t)e[i]=t[i];return Object.assign({badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:!0,valueMissing:!1},e)}; +/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */class Qr extends tr{constructor(){super(...arguments),this.mdcFoundationClass=Gr,this.disabled=!1,this.outlined=!1,this.label="",this.outlineOpen=!1,this.outlineWidth=0,this.value="",this.name="",this.selectedText="",this.icon="",this.menuOpen=!1,this.helper="",this.validateOnInitialRender=!1,this.validationMessage="",this.required=!1,this.naturalMenuWidth=!1,this.isUiValid=!0,this.fixedMenuPosition=!1,this.typeaheadState={bufferClearTimeout:0,currentFirstChar:"",sortedIndexCursor:0,typeaheadBuffer:""},this.sortedIndexByFirstChar=new Map,this.menuElement_=null,this.listeners=[],this.onBodyClickBound=()=>{},this._menuUpdateComplete=null,this.valueSetDirectly=!1,this.validityTransform=null,this._validity=Jr()}get items(){return this.menuElement_||(this.menuElement_=this.menuElement),this.menuElement_?this.menuElement_.items:[]}get selected(){const t=this.menuElement;return t?t.selected:null}get index(){const t=this.menuElement;return t?t.index:-1}get shouldRenderHelperText(){return!!this.helper||!!this.validationMessage}get validity(){return this._checkValidity(this.value),this._validity}render(){const t={"mdc-select--disabled":this.disabled,"mdc-select--no-label":!this.label,"mdc-select--filled":!this.outlined,"mdc-select--outlined":this.outlined,"mdc-select--with-leading-icon":!!this.icon,"mdc-select--required":this.required,"mdc-select--invalid":!this.isUiValid},e=this.label?"label":void 0,i=this.shouldRenderHelperText?"helper-text":void 0;return Y` +
+ + +
+ ${this.renderRipple()} + ${this.outlined?this.renderOutline():this.renderLabel()} + ${this.renderLeadingIcon()} + + ${this.selectedText} + + + + + + + + + + ${this.renderLineRipple()} +
+ ${this.renderMenu()} +
+ ${this.renderHelperText()}`}renderMenu(){const t=this.getMenuClasses();return Y` + + ${this.renderMenuContent()} + `}getMenuClasses(){return{"mdc-select__menu":!0,"mdc-menu":!0,"mdc-menu-surface":!0,"mdc-select__menu--invalid":!this.isUiValid}}renderMenuContent(){return Y``}renderRipple(){return this.outlined?K:Y` + + `}renderOutline(){return this.outlined?Y` + + ${this.renderLabel()} + `:K}renderLabel(){return this.label?Y` + ${this.label} + `:K}renderLeadingIcon(){return this.icon?Y`
${this.icon}
`:K}renderLineRipple(){return this.outlined?K:Y` + + `}renderHelperText(){if(!this.shouldRenderHelperText)return K;const t=this.validationMessage&&!this.isUiValid;return Y` +

${t?this.validationMessage:this.helper}

`}createAdapter(){return Object.assign(Object.assign({},Xn(this.mdcRoot)),{activateBottomLine:()=>{this.lineRippleElement&&this.lineRippleElement.lineRippleFoundation.activate()},deactivateBottomLine:()=>{this.lineRippleElement&&this.lineRippleElement.lineRippleFoundation.deactivate()},hasLabel:()=>!!this.label,floatLabel:t=>{this.labelElement&&this.labelElement.floatingLabelFoundation.float(t)},getLabelWidth:()=>this.labelElement?this.labelElement.floatingLabelFoundation.getWidth():0,setLabelRequired:t=>{this.labelElement&&this.labelElement.floatingLabelFoundation.setRequired(t)},hasOutline:()=>this.outlined,notchOutline:t=>{this.outlineElement&&!this.outlineOpen&&(this.outlineWidth=t,this.outlineOpen=!0)},closeOutline:()=>{this.outlineElement&&(this.outlineOpen=!1)},setRippleCenter:t=>{if(this.lineRippleElement){this.lineRippleElement.lineRippleFoundation.setRippleCenter(t)}},notifyChange:async t=>{if(!this.valueSetDirectly&&t===this.value)return;this.valueSetDirectly=!1,this.value=t,await this.updateComplete;const e=new Event("change",{bubbles:!0});this.dispatchEvent(e)},setSelectedText:t=>this.selectedText=t,isSelectAnchorFocused:()=>{const t=this.anchorElement;if(!t)return!1;return t.getRootNode().activeElement===t},getSelectAnchorAttr:t=>{const e=this.anchorElement;return e?e.getAttribute(t):null},setSelectAnchorAttr:(t,e)=>{const i=this.anchorElement;i&&i.setAttribute(t,e)},removeSelectAnchorAttr:t=>{const e=this.anchorElement;e&&e.removeAttribute(t)},openMenu:()=>{this.menuOpen=!0},closeMenu:()=>{this.menuOpen=!1},addMenuClass:()=>{},removeMenuClass:()=>{},getAnchorElement:()=>this.anchorElement,setMenuAnchorElement:()=>{},setMenuAnchorCorner:()=>{const t=this.menuElement;t&&(t.corner="BOTTOM_START")},setMenuWrapFocus:t=>{const e=this.menuElement;e&&(e.wrapFocus=t)},focusMenuItemAtIndex:t=>{const e=this.menuElement;if(!e)return;const i=e.items[t];i&&i.focus()},getMenuItemCount:()=>{const t=this.menuElement;return t?t.items.length:0},getMenuItemValues:()=>{const t=this.menuElement;if(!t)return[];return t.items.map((t=>t.value))},getMenuItemTextAtIndex:t=>{const e=this.menuElement;if(!e)return"";const i=e.items[t];return i?i.text:""},getSelectedIndex:()=>this.index,setSelectedIndex:()=>{},isTypeaheadInProgress:()=>Wn(this.typeaheadState),typeaheadMatchItem:(t,e)=>{if(!this.menuElement)return-1;const i={focusItemAtIndex:t=>{this.menuElement.focusItemAtIndex(t)},focusedItemIndex:e||this.menuElement.getFocusedItemIndex(),nextChar:t,sortedIndexByFirstChar:this.sortedIndexByFirstChar,skipFocus:!1,isItemAtIndexDisabled:t=>this.items[t].disabled},o=Yn(i,this.typeaheadState);return-1!==o&&this.select(o),o}})}checkValidity(){const t=this._checkValidity(this.value);if(!t){const t=new Event("invalid",{bubbles:!1,cancelable:!0});this.dispatchEvent(t)}return t}reportValidity(){const t=this.checkValidity();return this.isUiValid=t,t}_checkValidity(t){const e=this.formElement.validity;let i=Jr(e);if(this.validityTransform){const e=this.validityTransform(t,i);i=Object.assign(Object.assign({},i),e)}return this._validity=i,this._validity.valid}setCustomValidity(t){this.validationMessage=t,this.formElement.setCustomValidity(t)}async getUpdateComplete(){await this._menuUpdateComplete;return await super.getUpdateComplete()}async firstUpdated(){const t=this.menuElement;if(t&&(this._menuUpdateComplete=t.updateComplete,await this._menuUpdateComplete),super.firstUpdated(),this.mdcFoundation.isValid=()=>!0,this.mdcFoundation.setValid=()=>{},this.mdcFoundation.setDisabled(this.disabled),this.validateOnInitialRender&&this.reportValidity(),!this.selected){!this.items.length&&this.slotElement&&this.slotElement.assignedNodes({flatten:!0}).length&&(await new Promise((t=>requestAnimationFrame(t))),await this.layout());const t=this.items.length&&""===this.items[0].value;if(!this.value&&t)return void this.select(0);this.selectByValue(this.value)}this.sortedIndexByFirstChar=Hn(this.items.length,(t=>this.items[t].text))}onItemsUpdated(){this.sortedIndexByFirstChar=Hn(this.items.length,(t=>this.items[t].text))}select(t){const e=this.menuElement;e&&e.select(t)}selectByValue(t){let e=-1;for(let i=0;i0,n=i&&this.index{this.menuElement.focusItemAtIndex(t)},focusedItemIndex:e,isTargetListItem:!!i&&i.hasAttribute("mwc-list-item"),sortedIndexByFirstChar:this.sortedIndexByFirstChar,isItemAtIndexDisabled:t=>this.items[t].disabled};!function(t,e){var i=t.event,o=t.isTargetListItem,n=t.focusedItemIndex,r=t.focusItemAtIndex,a=t.sortedIndexByFirstChar,l=t.isItemAtIndexDisabled,s="ArrowLeft"===zn(i),c="ArrowUp"===zn(i),d="ArrowRight"===zn(i),u="ArrowDown"===zn(i),h="Home"===zn(i),m="End"===zn(i),p="Enter"===zn(i),f="Spacebar"===zn(i);i.altKey||i.ctrlKey||i.metaKey||s||c||d||u||h||m||p||(f||1!==i.key.length?f&&(o&&Un(i),o&&Wn(e)&&Yn({focusItemAtIndex:r,focusedItemIndex:n,nextChar:" ",sortedIndexByFirstChar:a,skipFocus:!1,isItemAtIndexDisabled:l},e)):(Un(i),Yn({focusItemAtIndex:r,focusedItemIndex:n,nextChar:i.key.toLowerCase(),sortedIndexByFirstChar:a,skipFocus:!1,isItemAtIndexDisabled:l},e)))} +/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */(o,this.typeaheadState)}async onSelected(t){this.mdcFoundation||await this.updateComplete,this.mdcFoundation.handleMenuItemAction(t.detail.index);const e=this.items[t.detail.index];e&&(this.value=e.value)}onOpened(){this.mdcFoundation&&(this.menuOpen=!0,this.mdcFoundation.handleMenuOpened())}onClosed(){this.mdcFoundation&&(this.menuOpen=!1,this.mdcFoundation.handleMenuClosed())}setFormData(t){this.name&&null!==this.selected&&t.append(this.name,this.value)}async layout(t=!0){this.mdcFoundation&&this.mdcFoundation.layout(),await this.updateComplete;const e=this.menuElement;e&&e.layout(t);const i=this.labelElement;if(!i)return void(this.outlineOpen=!1);const o=!!this.label&&!!this.value;if(i.floatingLabelFoundation.float(o),!this.outlined)return;this.outlineOpen=o,await this.updateComplete;const n=i.floatingLabelFoundation.getWidth();this.outlineOpen&&(this.outlineWidth=n)}async layoutOptions(){this.mdcFoundation&&this.mdcFoundation.layoutOptions()}}n([xt(".mdc-select")],Qr.prototype,"mdcRoot",void 0),n([xt(".formElement")],Qr.prototype,"formElement",void 0),n([xt("slot")],Qr.prototype,"slotElement",void 0),n([xt("select")],Qr.prototype,"nativeSelectElement",void 0),n([xt("input")],Qr.prototype,"nativeInputElement",void 0),n([xt(".mdc-line-ripple")],Qr.prototype,"lineRippleElement",void 0),n([xt(".mdc-floating-label")],Qr.prototype,"labelElement",void 0),n([xt("mwc-notched-outline")],Qr.prototype,"outlineElement",void 0),n([xt(".mdc-menu")],Qr.prototype,"menuElement",void 0),n([xt(".mdc-select__anchor")],Qr.prototype,"anchorElement",void 0),n([_t({type:Boolean,attribute:"disabled",reflect:!0}),er((function(t){this.mdcFoundation&&this.mdcFoundation.setDisabled(t)}))],Qr.prototype,"disabled",void 0),n([_t({type:Boolean}),er((function(t,e){void 0!==e&&this.outlined!==e&&this.layout(!1)}))],Qr.prototype,"outlined",void 0),n([_t({type:String}),er((function(t,e){void 0!==e&&this.label!==e&&this.layout(!1)}))],Qr.prototype,"label",void 0),n([vt()],Qr.prototype,"outlineOpen",void 0),n([vt()],Qr.prototype,"outlineWidth",void 0),n([_t({type:String}),er((function(t){if(this.mdcFoundation){const e=null===this.selected&&!!t,i=this.selected&&this.selected.value!==t;(e||i)&&this.selectByValue(t),this.reportValidity()}}))],Qr.prototype,"value",void 0),n([_t()],Qr.prototype,"name",void 0),n([vt()],Qr.prototype,"selectedText",void 0),n([_t({type:String})],Qr.prototype,"icon",void 0),n([vt()],Qr.prototype,"menuOpen",void 0),n([_t({type:String})],Qr.prototype,"helper",void 0),n([_t({type:Boolean})],Qr.prototype,"validateOnInitialRender",void 0),n([_t({type:String})],Qr.prototype,"validationMessage",void 0),n([_t({type:Boolean})],Qr.prototype,"required",void 0),n([_t({type:Boolean})],Qr.prototype,"naturalMenuWidth",void 0),n([vt()],Qr.prototype,"isUiValid",void 0),n([_t({type:Boolean})],Qr.prototype,"fixedMenuPosition",void 0),n([yt({capture:!0})],Qr.prototype,"handleTypeahead",null); +/** + * @license + * Copyright 2021 Google LLC + * SPDX-LIcense-Identifier: Apache-2.0 + */ +const ta=h`.mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:0.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);text-decoration:inherit;text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform, inherit);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl] .mdc-floating-label,.mdc-floating-label[dir=rtl]{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.mdc-floating-label--float-above{cursor:auto}.mdc-floating-label--required::after{margin-left:1px;margin-right:0px;content:"*"}[dir=rtl] .mdc-floating-label--required::after,.mdc-floating-label--required[dir=rtl]::after{margin-left:0;margin-right:1px}.mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-standard 250ms 1}@keyframes mdc-floating-label-shake-float-above-standard{0%{transform:translateX(calc(0 - 0%)) translateY(-106%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-106%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-106%) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-106%) scale(0.75)}}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{border-bottom-width:1px}.mdc-line-ripple::before{z-index:1}.mdc-line-ripple::after{transform:scaleX(0);border-bottom-width:2px;opacity:0;z-index:2}.mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline,.mdc-notched-outline[dir=rtl]{text-align:right}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{box-sizing:border-box;height:100%;border-top:1px solid;border-bottom:1px solid;pointer-events:none}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;width:12px}[dir=rtl] .mdc-notched-outline__leading,.mdc-notched-outline__leading[dir=rtl]{border-left:none;border-right:1px solid}.mdc-notched-outline__trailing{border-left:none;border-right:1px solid;flex-grow:1}[dir=rtl] .mdc-notched-outline__trailing,.mdc-notched-outline__trailing[dir=rtl]{border-left:1px solid;border-right:none}.mdc-notched-outline__notch{flex:0 0 auto;width:auto;max-width:calc(100% - 12px * 2)}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(100% / 0.75)}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch,.mdc-notched-outline--notched .mdc-notched-outline__notch[dir=rtl]{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}.mdc-select{display:inline-flex;position:relative}.mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text{color:rgba(0, 0, 0, 0.87)}.mdc-select.mdc-select--disabled .mdc-select__selected-text{color:rgba(0, 0, 0, 0.38)}.mdc-select:not(.mdc-select--disabled) .mdc-floating-label{color:rgba(0, 0, 0, 0.6)}.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label{color:rgba(98, 0, 238, 0.87)}.mdc-select.mdc-select--disabled .mdc-floating-label{color:rgba(0, 0, 0, 0.38)}.mdc-select:not(.mdc-select--disabled) .mdc-select__dropdown-icon{fill:rgba(0, 0, 0, 0.54)}.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-select__dropdown-icon{fill:#6200ee;fill:var(--mdc-theme-primary, #6200ee)}.mdc-select.mdc-select--disabled .mdc-select__dropdown-icon{fill:rgba(0, 0, 0, 0.38)}.mdc-select:not(.mdc-select--disabled)+.mdc-select-helper-text{color:rgba(0, 0, 0, 0.6)}.mdc-select.mdc-select--disabled+.mdc-select-helper-text{color:rgba(0, 0, 0, 0.38)}.mdc-select:not(.mdc-select--disabled) .mdc-select__icon{color:rgba(0, 0, 0, 0.54)}.mdc-select.mdc-select--disabled .mdc-select__icon{color:rgba(0, 0, 0, 0.38)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-select.mdc-select--disabled .mdc-select__selected-text{color:GrayText}.mdc-select.mdc-select--disabled .mdc-select__dropdown-icon{fill:red}.mdc-select.mdc-select--disabled .mdc-floating-label{color:GrayText}.mdc-select.mdc-select--disabled .mdc-line-ripple::before{border-bottom-color:GrayText}.mdc-select.mdc-select--disabled .mdc-notched-outline__leading,.mdc-select.mdc-select--disabled .mdc-notched-outline__notch,.mdc-select.mdc-select--disabled .mdc-notched-outline__trailing{border-color:GrayText}.mdc-select.mdc-select--disabled .mdc-select__icon{color:GrayText}.mdc-select.mdc-select--disabled+.mdc-select-helper-text{color:GrayText}}.mdc-select .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-select .mdc-select__anchor{padding-left:16px;padding-right:0}[dir=rtl] .mdc-select .mdc-select__anchor,.mdc-select .mdc-select__anchor[dir=rtl]{padding-left:0;padding-right:16px}.mdc-select.mdc-select--with-leading-icon .mdc-select__anchor{padding-left:0;padding-right:0}[dir=rtl] .mdc-select.mdc-select--with-leading-icon .mdc-select__anchor,.mdc-select.mdc-select--with-leading-icon .mdc-select__anchor[dir=rtl]{padding-left:0;padding-right:0}.mdc-select .mdc-select__icon{width:24px;height:24px;font-size:24px}.mdc-select .mdc-select__dropdown-icon{width:24px;height:24px}.mdc-select .mdc-select__menu .mdc-deprecated-list-item{padding-left:16px;padding-right:16px}[dir=rtl] .mdc-select .mdc-select__menu .mdc-deprecated-list-item,.mdc-select .mdc-select__menu .mdc-deprecated-list-item[dir=rtl]{padding-left:16px;padding-right:16px}.mdc-select .mdc-select__menu .mdc-deprecated-list-item__graphic{margin-left:0;margin-right:12px}[dir=rtl] .mdc-select .mdc-select__menu .mdc-deprecated-list-item__graphic,.mdc-select .mdc-select__menu .mdc-deprecated-list-item__graphic[dir=rtl]{margin-left:12px;margin-right:0}.mdc-select__dropdown-icon{margin-left:12px;margin-right:12px;display:inline-flex;position:relative;align-self:center;align-items:center;justify-content:center;flex-shrink:0;pointer-events:none}.mdc-select__dropdown-icon .mdc-select__dropdown-icon-active,.mdc-select__dropdown-icon .mdc-select__dropdown-icon-inactive{position:absolute;top:0;left:0}.mdc-select__dropdown-icon .mdc-select__dropdown-icon-graphic{width:41.6666666667%;height:20.8333333333%}.mdc-select__dropdown-icon .mdc-select__dropdown-icon-inactive{opacity:1;transition:opacity 75ms linear 75ms}.mdc-select__dropdown-icon .mdc-select__dropdown-icon-active{opacity:0;transition:opacity 75ms linear}[dir=rtl] .mdc-select__dropdown-icon,.mdc-select__dropdown-icon[dir=rtl]{margin-left:12px;margin-right:12px}.mdc-select--activated .mdc-select__dropdown-icon .mdc-select__dropdown-icon-inactive{opacity:0;transition:opacity 49.5ms linear}.mdc-select--activated .mdc-select__dropdown-icon .mdc-select__dropdown-icon-active{opacity:1;transition:opacity 100.5ms linear 49.5ms}.mdc-select__anchor{width:200px;min-width:0;flex:1 1 auto;position:relative;box-sizing:border-box;overflow:hidden;outline:none;cursor:pointer}.mdc-select__anchor .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-select__selected-text-container{display:flex;appearance:none;pointer-events:none;box-sizing:border-box;width:auto;min-width:0;flex-grow:1;height:28px;border:none;outline:none;padding:0;background-color:transparent;color:inherit}.mdc-select__selected-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:0.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);text-decoration:inherit;text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;width:100%;text-align:left}[dir=rtl] .mdc-select__selected-text,.mdc-select__selected-text[dir=rtl]{text-align:right}.mdc-select--invalid:not(.mdc-select--disabled) .mdc-floating-label{color:#b00020;color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label{color:#b00020;color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--invalid+.mdc-select-helper-text--validation-msg{color:#b00020;color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled) .mdc-select__dropdown-icon{fill:#b00020;fill:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-select__dropdown-icon{fill:#b00020;fill:var(--mdc-theme-error, #b00020)}.mdc-select--disabled{cursor:default;pointer-events:none}.mdc-select--with-leading-icon .mdc-select__menu .mdc-deprecated-list-item{padding-left:12px;padding-right:12px}[dir=rtl] .mdc-select--with-leading-icon .mdc-select__menu .mdc-deprecated-list-item,.mdc-select--with-leading-icon .mdc-select__menu .mdc-deprecated-list-item[dir=rtl]{padding-left:12px;padding-right:12px}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-select__menu::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:"";pointer-events:none}}@media screen and (forced-colors: active)and (forced-colors: active),screen and (-ms-high-contrast: active)and (forced-colors: active){.mdc-select__menu::before{border-color:CanvasText}}.mdc-select__menu .mdc-deprecated-list .mdc-select__icon,.mdc-select__menu .mdc-list .mdc-select__icon{margin-left:0;margin-right:0}[dir=rtl] .mdc-select__menu .mdc-deprecated-list .mdc-select__icon,[dir=rtl] .mdc-select__menu .mdc-list .mdc-select__icon,.mdc-select__menu .mdc-deprecated-list .mdc-select__icon[dir=rtl],.mdc-select__menu .mdc-list .mdc-select__icon[dir=rtl]{margin-left:0;margin-right:0}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected,.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--activated,.mdc-select__menu .mdc-list .mdc-deprecated-list-item--selected,.mdc-select__menu .mdc-list .mdc-deprecated-list-item--activated{color:#000;color:var(--mdc-theme-on-surface, #000)}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected .mdc-deprecated-list-item__graphic,.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--activated .mdc-deprecated-list-item__graphic,.mdc-select__menu .mdc-list .mdc-deprecated-list-item--selected .mdc-deprecated-list-item__graphic,.mdc-select__menu .mdc-list .mdc-deprecated-list-item--activated .mdc-deprecated-list-item__graphic{color:#000;color:var(--mdc-theme-on-surface, #000)}.mdc-select__menu .mdc-list-item__start{display:inline-flex;align-items:center}.mdc-select__option{padding-left:16px;padding-right:16px}[dir=rtl] .mdc-select__option,.mdc-select__option[dir=rtl]{padding-left:16px;padding-right:16px}.mdc-select__one-line-option.mdc-list-item--with-one-line{height:48px}.mdc-select__two-line-option.mdc-list-item--with-two-lines{height:64px}.mdc-select__two-line-option.mdc-list-item--with-two-lines .mdc-list-item__start{margin-top:20px}.mdc-select__two-line-option.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-select__two-line-option.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-select__two-line-option.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-select__two-line-option.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-select__two-line-option.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:36px;content:"";vertical-align:0}.mdc-select__option-with-leading-content{padding-left:0;padding-right:12px}.mdc-select__option-with-leading-content.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-select__option-with-leading-content.mdc-list-item,.mdc-select__option-with-leading-content.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-select__option-with-leading-content .mdc-list-item__start{margin-left:12px;margin-right:0}[dir=rtl] .mdc-select__option-with-leading-content .mdc-list-item__start,.mdc-select__option-with-leading-content .mdc-list-item__start[dir=rtl]{margin-left:0;margin-right:12px}.mdc-select__option-with-leading-content .mdc-list-item__start{width:36px;height:24px}[dir=rtl] .mdc-select__option-with-leading-content,.mdc-select__option-with-leading-content[dir=rtl]{padding-left:12px;padding-right:0}.mdc-select__option-with-meta.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-select__option-with-meta.mdc-list-item,.mdc-select__option-with-meta.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-select__option-with-meta .mdc-list-item__end{margin-left:12px;margin-right:12px}[dir=rtl] .mdc-select__option-with-meta .mdc-list-item__end,.mdc-select__option-with-meta .mdc-list-item__end[dir=rtl]{margin-left:12px;margin-right:12px}.mdc-select--filled .mdc-select__anchor{height:56px;display:flex;align-items:baseline}.mdc-select--filled .mdc-select__anchor::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-select--filled.mdc-select--no-label .mdc-select__anchor .mdc-select__selected-text::before{content:"​"}.mdc-select--filled.mdc-select--no-label .mdc-select__anchor .mdc-select__selected-text-container{height:100%;display:inline-flex;align-items:center}.mdc-select--filled.mdc-select--no-label .mdc-select__anchor::before{display:none}.mdc-select--filled .mdc-select__anchor{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:0;border-bottom-left-radius:0}.mdc-select--filled:not(.mdc-select--disabled) .mdc-select__anchor{background-color:whitesmoke}.mdc-select--filled.mdc-select--disabled .mdc-select__anchor{background-color:#fafafa}.mdc-select--filled:not(.mdc-select--disabled) .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.42)}.mdc-select--filled:not(.mdc-select--disabled):hover .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.87)}.mdc-select--filled:not(.mdc-select--disabled) .mdc-line-ripple::after{border-bottom-color:#6200ee;border-bottom-color:var(--mdc-theme-primary, #6200ee)}.mdc-select--filled.mdc-select--disabled .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.06)}.mdc-select--filled .mdc-floating-label{max-width:calc(100% - 64px)}.mdc-select--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 64px / 0.75)}.mdc-select--filled .mdc-menu-surface--is-open-below{border-top-left-radius:0px;border-top-right-radius:0px}.mdc-select--filled.mdc-select--focused.mdc-line-ripple::after{transform:scale(1, 2);opacity:1}.mdc-select--filled .mdc-floating-label{left:16px;right:initial}[dir=rtl] .mdc-select--filled .mdc-floating-label,.mdc-select--filled .mdc-floating-label[dir=rtl]{left:initial;right:16px}.mdc-select--filled.mdc-select--with-leading-icon .mdc-floating-label{left:48px;right:initial}[dir=rtl] .mdc-select--filled.mdc-select--with-leading-icon .mdc-floating-label,.mdc-select--filled.mdc-select--with-leading-icon .mdc-floating-label[dir=rtl]{left:initial;right:48px}.mdc-select--filled.mdc-select--with-leading-icon .mdc-floating-label{max-width:calc(100% - 96px)}.mdc-select--filled.mdc-select--with-leading-icon .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 96px / 0.75)}.mdc-select--invalid:not(.mdc-select--disabled) .mdc-line-ripple::before{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled):hover .mdc-line-ripple::before{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-select--invalid:not(.mdc-select--disabled) .mdc-line-ripple::after{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-select--outlined{border:none}.mdc-select--outlined .mdc-select__anchor{height:56px}.mdc-select--outlined .mdc-select__anchor .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1)}.mdc-select--outlined .mdc-select__anchor .mdc-floating-label--float-above{font-size:.75rem}.mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) scale(0.75)}.mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-select--outlined .mdc-select__anchor .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-select-outlined-56px 250ms 1}@keyframes mdc-floating-label-shake-float-above-select-outlined-56px{0%{transform:translateX(calc(0 - 0%)) translateY(-34.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-34.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-34.75px) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-34.75px) scale(0.75)}}.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;border-bottom-left-radius:var(--mdc-shape-small, 4px)}[dir=rtl] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-top-left-radius:0;border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:4px;border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}@supports(top: max(0%)){.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px, var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2)}}.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-top-left-radius:0;border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:4px;border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}[dir=rtl] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;border-bottom-left-radius:var(--mdc-shape-small, 4px)}@supports(top: max(0%)){.mdc-select--outlined .mdc-select__anchor{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}[dir=rtl] .mdc-select--outlined .mdc-select__anchor,.mdc-select--outlined .mdc-select__anchor[dir=rtl]{padding-left:0}@supports(top: max(0%)){[dir=rtl] .mdc-select--outlined .mdc-select__anchor,.mdc-select--outlined .mdc-select__anchor[dir=rtl]{padding-right:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-select--outlined+.mdc-select-helper-text{margin-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}[dir=rtl] .mdc-select--outlined+.mdc-select-helper-text,.mdc-select--outlined+.mdc-select-helper-text[dir=rtl]{margin-left:0}@supports(top: max(0%)){[dir=rtl] .mdc-select--outlined+.mdc-select-helper-text,.mdc-select--outlined+.mdc-select-helper-text[dir=rtl]{margin-right:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}.mdc-select--outlined:not(.mdc-select--disabled) .mdc-select__anchor{background-color:transparent}.mdc-select--outlined.mdc-select--disabled .mdc-select__anchor{background-color:transparent}.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing{border-color:rgba(0, 0, 0, 0.38)}.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:rgba(0, 0, 0, 0.87)}.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-width:2px}.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#6200ee;border-color:var(--mdc-theme-primary, #6200ee)}.mdc-select--outlined.mdc-select--disabled .mdc-notched-outline__leading,.mdc-select--outlined.mdc-select--disabled .mdc-notched-outline__notch,.mdc-select--outlined.mdc-select--disabled .mdc-notched-outline__trailing{border-color:rgba(0, 0, 0, 0.06)}.mdc-select--outlined .mdc-select__anchor :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-select--outlined .mdc-select__anchor{display:flex;align-items:baseline;overflow:visible}.mdc-select--outlined .mdc-select__anchor .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-select-outlined 250ms 1}.mdc-select--outlined .mdc-select__anchor .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1)}.mdc-select--outlined .mdc-select__anchor .mdc-floating-label--float-above{font-size:.75rem}.mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) scale(0.75)}.mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-select--outlined .mdc-select__anchor .mdc-select__selected-text::before{content:"​"}.mdc-select--outlined .mdc-select__anchor .mdc-select__selected-text-container{height:100%;display:inline-flex;align-items:center}.mdc-select--outlined .mdc-select__anchor::before{display:none}.mdc-select--outlined .mdc-select__selected-text-container{display:flex;border:none;z-index:1;background-color:transparent}.mdc-select--outlined .mdc-select__icon{z-index:2}.mdc-select--outlined .mdc-floating-label{line-height:1.15rem;left:4px;right:initial}[dir=rtl] .mdc-select--outlined .mdc-floating-label,.mdc-select--outlined .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-select--outlined.mdc-select--focused .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-select--outlined.mdc-select--invalid:not(.mdc-select--disabled) .mdc-notched-outline__leading,.mdc-select--outlined.mdc-select--invalid:not(.mdc-select--disabled) .mdc-notched-outline__notch,.mdc-select--outlined.mdc-select--invalid:not(.mdc-select--disabled) .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-select--outlined.mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined.mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined.mdc-select--invalid:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-select--outlined.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-width:2px}.mdc-select--outlined.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,.mdc-select--outlined.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,.mdc-select--outlined.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label,.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above{transform:translateY(-37.25px) translateX(-32px) scale(1)}[dir=rtl] .mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above,.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-37.25px) translateX(32px) scale(1)}.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--float-above{font-size:.75rem}.mdc-select--outlined.mdc-select--with-leading-icon.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--outlined.mdc-select--with-leading-icon .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) translateX(-32px) scale(0.75)}[dir=rtl] .mdc-select--outlined.mdc-select--with-leading-icon.mdc-notched-outline--upgraded .mdc-floating-label--float-above,[dir=rtl] .mdc-select--outlined.mdc-select--with-leading-icon .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--outlined.mdc-select--with-leading-icon.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],.mdc-select--outlined.mdc-select--with-leading-icon .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-34.75px) translateX(32px) scale(0.75)}.mdc-select--outlined.mdc-select--with-leading-icon.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-select--outlined.mdc-select--with-leading-icon .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-select-outlined-leading-icon-56px 250ms 1}@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon-56px{0%{transform:translateX(calc(0 - 32px)) translateY(-34.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 32px)) translateY(-34.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 32px)) translateY(-34.75px) scale(0.75)}100%{transform:translateX(calc(0 - 32px)) translateY(-34.75px) scale(0.75)}}[dir=rtl] .mdc-select--outlined.mdc-select--with-leading-icon .mdc-floating-label--shake,.mdc-select--outlined.mdc-select--with-leading-icon[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-select-outlined-leading-icon-56px 250ms 1}@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon-56px-rtl{0%{transform:translateX(calc(0 - -32px)) translateY(-34.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - -32px)) translateY(-34.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - -32px)) translateY(-34.75px) scale(0.75)}100%{transform:translateX(calc(0 - -32px)) translateY(-34.75px) scale(0.75)}}.mdc-select--outlined.mdc-select--with-leading-icon .mdc-select__anchor :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 96px)}.mdc-select--outlined .mdc-menu-surface{margin-bottom:8px}.mdc-select--outlined.mdc-select--no-label .mdc-menu-surface,.mdc-select--outlined .mdc-menu-surface--is-open-below{margin-bottom:0}.mdc-select__anchor{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0);will-change:transform,opacity}.mdc-select__anchor .mdc-select__ripple::before,.mdc-select__anchor .mdc-select__ripple::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-select__anchor .mdc-select__ripple::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-select__anchor .mdc-select__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-select__anchor.mdc-ripple-upgraded .mdc-select__ripple::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-select__anchor.mdc-ripple-upgraded .mdc-select__ripple::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-select__anchor.mdc-ripple-upgraded--unbounded .mdc-select__ripple::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-select__anchor.mdc-ripple-upgraded--foreground-activation .mdc-select__ripple::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-select__anchor.mdc-ripple-upgraded--foreground-deactivation .mdc-select__ripple::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-select__anchor .mdc-select__ripple::before,.mdc-select__anchor .mdc-select__ripple::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-select__anchor.mdc-ripple-upgraded .mdc-select__ripple::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-select__anchor .mdc-select__ripple::before,.mdc-select__anchor .mdc-select__ripple::after{background-color:rgba(0, 0, 0, 0.87);background-color:var(--mdc-ripple-color, rgba(0, 0, 0, 0.87))}.mdc-select__anchor:hover .mdc-select__ripple::before,.mdc-select__anchor.mdc-ripple-surface--hover .mdc-select__ripple::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-select__anchor.mdc-ripple-upgraded--background-focused .mdc-select__ripple::before,.mdc-select__anchor:not(.mdc-ripple-upgraded):focus .mdc-select__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-select__anchor .mdc-select__ripple{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected .mdc-deprecated-list-item__ripple::before,.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected .mdc-deprecated-list-item__ripple::after{background-color:#000;background-color:var(--mdc-ripple-color, var(--mdc-theme-on-surface, #000))}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected:hover .mdc-deprecated-list-item__ripple::before,.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected.mdc-ripple-surface--hover .mdc-deprecated-list-item__ripple::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected.mdc-ripple-upgraded--background-focused .mdc-deprecated-list-item__ripple::before,.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected:not(.mdc-ripple-upgraded):focus .mdc-deprecated-list-item__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected:not(.mdc-ripple-upgraded) .mdc-deprecated-list-item__ripple::after{transition:opacity 150ms linear}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected:not(.mdc-ripple-upgraded):active .mdc-deprecated-list-item__ripple::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected .mdc-list-item__ripple::before,.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected .mdc-list-item__ripple::after{background-color:#000;background-color:var(--mdc-ripple-color, var(--mdc-theme-on-surface, #000))}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected:hover .mdc-list-item__ripple::before,.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected.mdc-ripple-surface--hover .mdc-list-item__ripple::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected.mdc-ripple-upgraded--background-focused .mdc-list-item__ripple::before,.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected:not(.mdc-ripple-upgraded):focus .mdc-list-item__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected:not(.mdc-ripple-upgraded) .mdc-list-item__ripple::after{transition:opacity 150ms linear}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected:not(.mdc-ripple-upgraded):active .mdc-list-item__ripple::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-select__menu .mdc-deprecated-list .mdc-deprecated-list-item--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-select-helper-text{margin:0;margin-left:16px;margin-right:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:0.75rem;font-size:var(--mdc-typography-caption-font-size, 0.75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:0.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, 0.0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform, inherit);display:block;margin-top:0;line-height:normal}[dir=rtl] .mdc-select-helper-text,.mdc-select-helper-text[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-select-helper-text::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.mdc-select-helper-text--validation-msg{opacity:0;transition:opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-select--invalid+.mdc-select-helper-text--validation-msg,.mdc-select-helper-text--validation-msg-persistent{opacity:1}.mdc-select--with-leading-icon .mdc-select__icon{display:inline-block;box-sizing:border-box;border:none;text-decoration:none;cursor:pointer;user-select:none;flex-shrink:0;align-self:center;background-color:transparent;fill:currentColor}.mdc-select--with-leading-icon .mdc-select__icon{margin-left:12px;margin-right:12px}[dir=rtl] .mdc-select--with-leading-icon .mdc-select__icon,.mdc-select--with-leading-icon .mdc-select__icon[dir=rtl]{margin-left:12px;margin-right:12px}.mdc-select__icon:not([tabindex]),.mdc-select__icon[tabindex="-1"]{cursor:default;pointer-events:none}.material-icons{font-family:var(--mdc-icon-font, "Material Icons");font-weight:normal;font-style:normal;font-size:var(--mdc-icon-size, 24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}:host{display:inline-block;vertical-align:top;outline:none}.mdc-select{width:100%}[hidden]{display:none}.mdc-select__icon{z-index:2}.mdc-select--with-leading-icon{--mdc-list-item-graphic-margin: calc( 48px - var(--mdc-list-item-graphic-size, 24px) - var(--mdc-list-side-padding, 16px) )}.mdc-select .mdc-select__anchor .mdc-select__selected-text{overflow:hidden}.mdc-select .mdc-select__anchor *{display:inline-flex}.mdc-select .mdc-select__anchor .mdc-floating-label{display:inline-block}mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-select-outlined-idle-border-color, rgba(0, 0, 0, 0.38) );--mdc-notched-outline-notch-offset: 1px}:host(:not([disabled]):hover) .mdc-select:not(.mdc-select--invalid):not(.mdc-select--focused) mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-select-outlined-hover-border-color, rgba(0, 0, 0, 0.87) )}:host(:not([disabled])) .mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text{color:rgba(0, 0, 0, 0.87);color:var(--mdc-select-ink-color, rgba(0, 0, 0, 0.87))}:host(:not([disabled])) .mdc-select:not(.mdc-select--disabled) .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.42);border-bottom-color:var(--mdc-select-idle-line-color, rgba(0, 0, 0, 0.42))}:host(:not([disabled])) .mdc-select:not(.mdc-select--disabled):hover .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.87);border-bottom-color:var(--mdc-select-hover-line-color, rgba(0, 0, 0, 0.87))}:host(:not([disabled])) .mdc-select:not(.mdc-select--outlined):not(.mdc-select--disabled) .mdc-select__anchor{background-color:whitesmoke;background-color:var(--mdc-select-fill-color, whitesmoke)}:host(:not([disabled])) .mdc-select.mdc-select--invalid .mdc-select__dropdown-icon{fill:var(--mdc-select-error-dropdown-icon-color, var(--mdc-select-error-color, var(--mdc-theme-error, #b00020)))}:host(:not([disabled])) .mdc-select.mdc-select--invalid .mdc-floating-label,:host(:not([disabled])) .mdc-select.mdc-select--invalid .mdc-floating-label::after{color:var(--mdc-select-error-color, var(--mdc-theme-error, #b00020))}:host(:not([disabled])) .mdc-select.mdc-select--invalid mwc-notched-outline{--mdc-notched-outline-border-color: var(--mdc-select-error-color, var(--mdc-theme-error, #b00020))}.mdc-select__menu--invalid{--mdc-theme-primary: var(--mdc-select-error-color, var(--mdc-theme-error, #b00020))}:host(:not([disabled])) .mdc-select:not(.mdc-select--invalid):not(.mdc-select--focused) .mdc-floating-label,:host(:not([disabled])) .mdc-select:not(.mdc-select--invalid):not(.mdc-select--focused) .mdc-floating-label::after{color:rgba(0, 0, 0, 0.6);color:var(--mdc-select-label-ink-color, rgba(0, 0, 0, 0.6))}:host(:not([disabled])) .mdc-select:not(.mdc-select--invalid):not(.mdc-select--focused) .mdc-select__dropdown-icon{fill:rgba(0, 0, 0, 0.54);fill:var(--mdc-select-dropdown-icon-color, rgba(0, 0, 0, 0.54))}:host(:not([disabled])) .mdc-select.mdc-select--focused mwc-notched-outline{--mdc-notched-outline-stroke-width: 2px;--mdc-notched-outline-notch-offset: 2px}:host(:not([disabled])) .mdc-select.mdc-select--focused:not(.mdc-select--invalid) mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-select-focused-label-color, var(--mdc-theme-primary, rgba(98, 0, 238, 0.87)) )}:host(:not([disabled])) .mdc-select.mdc-select--focused:not(.mdc-select--invalid) .mdc-select__dropdown-icon{fill:rgba(98,0,238,.87);fill:var(--mdc-select-focused-dropdown-icon-color, var(--mdc-theme-primary, rgba(98, 0, 238, 0.87)))}:host(:not([disabled])) .mdc-select.mdc-select--focused:not(.mdc-select--invalid) .mdc-floating-label{color:#6200ee;color:var(--mdc-theme-primary, #6200ee)}:host(:not([disabled])) .mdc-select.mdc-select--focused:not(.mdc-select--invalid) .mdc-floating-label::after{color:#6200ee;color:var(--mdc-theme-primary, #6200ee)}:host(:not([disabled])) .mdc-select-helper-text:not(.mdc-select-helper-text--validation-msg){color:var(--mdc-select-label-ink-color, rgba(0, 0, 0, 0.6))}:host([disabled]){pointer-events:none}:host([disabled]) .mdc-select:not(.mdc-select--outlined).mdc-select--disabled .mdc-select__anchor{background-color:#fafafa;background-color:var(--mdc-select-disabled-fill-color, #fafafa)}:host([disabled]) .mdc-select.mdc-select--outlined mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-select-outlined-disabled-border-color, rgba(0, 0, 0, 0.06) )}:host([disabled]) .mdc-select .mdc-select__dropdown-icon{fill:rgba(0, 0, 0, 0.38);fill:var(--mdc-select-disabled-dropdown-icon-color, rgba(0, 0, 0, 0.38))}:host([disabled]) .mdc-select:not(.mdc-select--invalid):not(.mdc-select--focused) .mdc-floating-label,:host([disabled]) .mdc-select:not(.mdc-select--invalid):not(.mdc-select--focused) .mdc-floating-label::after{color:rgba(0, 0, 0, 0.38);color:var(--mdc-select-disabled-ink-color, rgba(0, 0, 0, 0.38))}:host([disabled]) .mdc-select-helper-text{color:rgba(0, 0, 0, 0.38);color:var(--mdc-select-disabled-ink-color, rgba(0, 0, 0, 0.38))}:host([disabled]) .mdc-select__selected-text{color:rgba(0, 0, 0, 0.38);color:var(--mdc-select-disabled-ink-color, rgba(0, 0, 0, 0.38))}`;let ea=class extends Qr{constructor(){super(...arguments),this._translationsUpdated=Te((async()=>{await ze(),this.layoutOptions()}),500)}renderLeadingIcon(){return this.icon?Y``:K}connectedCallback(){super.connectedCallback(),window.addEventListener("translations-updated",this._translationsUpdated)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("translations-updated",this._translationsUpdated)}};ea.styles=[ta,h` + .mdc-select__anchor { + height: var(--select-height, 56px) !important; + } + `],n([_t({type:Boolean})],ea.prototype,"icon",void 0),ea=n([pt("mushroom-select")],ea);const ia=["default","start","center","end","justify"],oa={default:"mdi:format-align-left",start:"mdi:format-align-left",center:"mdi:format-align-center",end:"mdi:format-align-right",justify:"mdi:format-align-justify"};let na=class extends ht{constructor(){super(...arguments),this.label="",this.configValue=""}_selectChanged(t){const e=t.target.value;e&&this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:"default"!==e?e:""}}))}render(){const t=Oo(this.hass),e=this.value||"default";return Y` + t.stopPropagation()} + .value=${this.value||"default"} + fixedMenuPosition + naturalMenuWidth + > + + ${ia.map((e=>Y` + + ${t(`editor.form.alignment_picker.values.${e}`)} + + + `))} + + `}static get styles(){return h` + mushroom-select { + width: 100%; + } + `}};n([_t()],na.prototype,"label",void 0),n([_t()],na.prototype,"value",void 0),n([_t()],na.prototype,"configValue",void 0),n([_t()],na.prototype,"hass",void 0),na=n([pt("mushroom-alignment-picker")],na);let ra=class extends ht{render(){return Y` + + `}_valueChanged(t){Lt(this,"value-changed",{value:t.detail.value||void 0})}};n([_t()],ra.prototype,"hass",void 0),n([_t()],ra.prototype,"selector",void 0),n([_t()],ra.prototype,"value",void 0),n([_t()],ra.prototype,"label",void 0),ra=n([pt("ha-selector-mush_alignment")],ra); +/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +const aa="important",la=" !"+aa,sa=He(class extends Ye{constructor(t){var e;if(super(t),t.type!==Ve||"style"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce(((e,i)=>{const o=t[i];return null==o?e:e+`${i=i.includes("-")?i:i.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${o};`}),"")}update(t,[e]){const{style:i}=t.element;if(void 0===this.ht){this.ht=new Set;for(const t in e)this.ht.add(t);return this.render(e)}this.ht.forEach((t=>{null==e[t]&&(this.ht.delete(t),t.includes("-")?i.removeProperty(t):i[t]="")}));for(const t in e){const o=e[t];if(null!=o){this.ht.add(t);const e="string"==typeof o&&o.endsWith(la);t.includes("-")||e?i.setProperty(t,e?o.slice(0,-11):o,e?aa:""):i[t]=o}}return X}});var ca={exports:{}},da={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},ua={exports:{}},ha=function(t){return!(!t||"string"==typeof t)&&(t instanceof Array||Array.isArray(t)||t.length>=0&&(t.splice instanceof Function||Object.getOwnPropertyDescriptor(t,t.length-1)&&"String"!==t.constructor.name))},ma=Array.prototype.concat,pa=Array.prototype.slice,fa=ua.exports=function(t){for(var e=[],i=0,o=t.length;i=4&&1!==t[3]&&(e=", "+t[3]),"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+e+")"},wa.to.keyword=function(t){return ya[t.slice(0,3)]};var $a=ca.exports;const Ea=da,Aa={};for(const t of Object.keys(Ea))Aa[Ea[t]]=t;const Sa={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};var Ia=Sa;for(const t of Object.keys(Sa)){if(!("channels"in Sa[t]))throw new Error("missing channels property: "+t);if(!("labels"in Sa[t]))throw new Error("missing channel labels property: "+t);if(Sa[t].labels.length!==Sa[t].channels)throw new Error("channel and label counts mismatch: "+t);const{channels:e,labels:i}=Sa[t];delete Sa[t].channels,delete Sa[t].labels,Object.defineProperty(Sa[t],"channels",{value:e}),Object.defineProperty(Sa[t],"labels",{value:i})}function Ta(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}Sa.rgb.hsl=function(t){const e=t[0]/255,i=t[1]/255,o=t[2]/255,n=Math.min(e,i,o),r=Math.max(e,i,o),a=r-n;let l,s;r===n?l=0:e===r?l=(i-o)/a:i===r?l=2+(o-e)/a:o===r&&(l=4+(e-i)/a),l=Math.min(60*l,360),l<0&&(l+=360);const c=(n+r)/2;return s=r===n?0:c<=.5?a/(r+n):a/(2-r-n),[l,100*s,100*c]},Sa.rgb.hsv=function(t){let e,i,o,n,r;const a=t[0]/255,l=t[1]/255,s=t[2]/255,c=Math.max(a,l,s),d=c-Math.min(a,l,s),u=function(t){return(c-t)/6/d+.5};return 0===d?(n=0,r=0):(r=d/c,e=u(a),i=u(l),o=u(s),a===c?n=o-i:l===c?n=1/3+e-o:s===c&&(n=2/3+i-e),n<0?n+=1:n>1&&(n-=1)),[360*n,100*r,100*c]},Sa.rgb.hwb=function(t){const e=t[0],i=t[1];let o=t[2];const n=Sa.rgb.hsl(t)[0],r=1/255*Math.min(e,Math.min(i,o));return o=1-1/255*Math.max(e,Math.max(i,o)),[n,100*r,100*o]},Sa.rgb.cmyk=function(t){const e=t[0]/255,i=t[1]/255,o=t[2]/255,n=Math.min(1-e,1-i,1-o);return[100*((1-e-n)/(1-n)||0),100*((1-i-n)/(1-n)||0),100*((1-o-n)/(1-n)||0),100*n]},Sa.rgb.keyword=function(t){const e=Aa[t];if(e)return e;let i,o=1/0;for(const e of Object.keys(Ea)){const n=Ta(t,Ea[e]);n.04045?((e+.055)/1.055)**2.4:e/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;return[100*(.4124*e+.3576*i+.1805*o),100*(.2126*e+.7152*i+.0722*o),100*(.0193*e+.1192*i+.9505*o)]},Sa.rgb.lab=function(t){const e=Sa.rgb.xyz(t);let i=e[0],o=e[1],n=e[2];i/=95.047,o/=100,n/=108.883,i=i>.008856?i**(1/3):7.787*i+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;return[116*o-16,500*(i-o),200*(o-n)]},Sa.hsl.rgb=function(t){const e=t[0]/360,i=t[1]/100,o=t[2]/100;let n,r,a;if(0===i)return a=255*o,[a,a,a];n=o<.5?o*(1+i):o+i-o*i;const l=2*o-n,s=[0,0,0];for(let t=0;t<3;t++)r=e+1/3*-(t-1),r<0&&r++,r>1&&r--,a=6*r<1?l+6*(n-l)*r:2*r<1?n:3*r<2?l+(n-l)*(2/3-r)*6:l,s[t]=255*a;return s},Sa.hsl.hsv=function(t){const e=t[0];let i=t[1]/100,o=t[2]/100,n=i;const r=Math.max(o,.01);o*=2,i*=o<=1?o:2-o,n*=r<=1?r:2-r;return[e,100*(0===o?2*n/(r+n):2*i/(o+i)),100*((o+i)/2)]},Sa.hsv.rgb=function(t){const e=t[0]/60,i=t[1]/100;let o=t[2]/100;const n=Math.floor(e)%6,r=e-Math.floor(e),a=255*o*(1-i),l=255*o*(1-i*r),s=255*o*(1-i*(1-r));switch(o*=255,n){case 0:return[o,s,a];case 1:return[l,o,a];case 2:return[a,o,s];case 3:return[a,l,o];case 4:return[s,a,o];case 5:return[o,a,l]}},Sa.hsv.hsl=function(t){const e=t[0],i=t[1]/100,o=t[2]/100,n=Math.max(o,.01);let r,a;a=(2-i)*o;const l=(2-i)*n;return r=i*n,r/=l<=1?l:2-l,r=r||0,a/=2,[e,100*r,100*a]},Sa.hwb.rgb=function(t){const e=t[0]/360;let i=t[1]/100,o=t[2]/100;const n=i+o;let r;n>1&&(i/=n,o/=n);const a=Math.floor(6*e),l=1-o;r=6*e-a,0!=(1&a)&&(r=1-r);const s=i+r*(l-i);let c,d,u;switch(a){default:case 6:case 0:c=l,d=s,u=i;break;case 1:c=s,d=l,u=i;break;case 2:c=i,d=l,u=s;break;case 3:c=i,d=s,u=l;break;case 4:c=s,d=i,u=l;break;case 5:c=l,d=i,u=s}return[255*c,255*d,255*u]},Sa.cmyk.rgb=function(t){const e=t[0]/100,i=t[1]/100,o=t[2]/100,n=t[3]/100;return[255*(1-Math.min(1,e*(1-n)+n)),255*(1-Math.min(1,i*(1-n)+n)),255*(1-Math.min(1,o*(1-n)+n))]},Sa.xyz.rgb=function(t){const e=t[0]/100,i=t[1]/100,o=t[2]/100;let n,r,a;return n=3.2406*e+-1.5372*i+-.4986*o,r=-.9689*e+1.8758*i+.0415*o,a=.0557*e+-.204*i+1.057*o,n=n>.0031308?1.055*n**(1/2.4)-.055:12.92*n,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,a=a>.0031308?1.055*a**(1/2.4)-.055:12.92*a,n=Math.min(Math.max(0,n),1),r=Math.min(Math.max(0,r),1),a=Math.min(Math.max(0,a),1),[255*n,255*r,255*a]},Sa.xyz.lab=function(t){let e=t[0],i=t[1],o=t[2];e/=95.047,i/=100,o/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;return[116*i-16,500*(e-i),200*(i-o)]},Sa.lab.xyz=function(t){let e,i,o;i=(t[0]+16)/116,e=t[1]/500+i,o=i-t[2]/200;const n=i**3,r=e**3,a=o**3;return i=n>.008856?n:(i-16/116)/7.787,e=r>.008856?r:(e-16/116)/7.787,o=a>.008856?a:(o-16/116)/7.787,e*=95.047,i*=100,o*=108.883,[e,i,o]},Sa.lab.lch=function(t){const e=t[0],i=t[1],o=t[2];let n;n=360*Math.atan2(o,i)/2/Math.PI,n<0&&(n+=360);return[e,Math.sqrt(i*i+o*o),n]},Sa.lch.lab=function(t){const e=t[0],i=t[1],o=t[2]/360*2*Math.PI;return[e,i*Math.cos(o),i*Math.sin(o)]},Sa.rgb.ansi16=function(t,e=null){const[i,o,n]=t;let r=null===e?Sa.rgb.hsv(t)[2]:e;if(r=Math.round(r/50),0===r)return 30;let a=30+(Math.round(n/255)<<2|Math.round(o/255)<<1|Math.round(i/255));return 2===r&&(a+=60),a},Sa.hsv.ansi16=function(t){return Sa.rgb.ansi16(Sa.hsv.rgb(t),t[2])},Sa.rgb.ansi256=function(t){const e=t[0],i=t[1],o=t[2];if(e===i&&i===o)return e<8?16:e>248?231:Math.round((e-8)/247*24)+232;return 16+36*Math.round(e/255*5)+6*Math.round(i/255*5)+Math.round(o/255*5)},Sa.ansi16.rgb=function(t){let e=t%10;if(0===e||7===e)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];const i=.5*(1+~~(t>50));return[(1&e)*i*255,(e>>1&1)*i*255,(e>>2&1)*i*255]},Sa.ansi256.rgb=function(t){if(t>=232){const e=10*(t-232)+8;return[e,e,e]}let e;t-=16;return[Math.floor(t/36)/5*255,Math.floor((e=t%36)/6)/5*255,e%6/5*255]},Sa.rgb.hex=function(t){const e=(((255&Math.round(t[0]))<<16)+((255&Math.round(t[1]))<<8)+(255&Math.round(t[2]))).toString(16).toUpperCase();return"000000".substring(e.length)+e},Sa.hex.rgb=function(t){const e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let i=e[0];3===e[0].length&&(i=i.split("").map((t=>t+t)).join(""));const o=parseInt(i,16);return[o>>16&255,o>>8&255,255&o]},Sa.rgb.hcg=function(t){const e=t[0]/255,i=t[1]/255,o=t[2]/255,n=Math.max(Math.max(e,i),o),r=Math.min(Math.min(e,i),o),a=n-r;let l,s;return l=a<1?r/(1-a):0,s=a<=0?0:n===e?(i-o)/a%6:n===i?2+(o-e)/a:4+(e-i)/a,s/=6,s%=1,[360*s,100*a,100*l]},Sa.hsl.hcg=function(t){const e=t[1]/100,i=t[2]/100,o=i<.5?2*e*i:2*e*(1-i);let n=0;return o<1&&(n=(i-.5*o)/(1-o)),[t[0],100*o,100*n]},Sa.hsv.hcg=function(t){const e=t[1]/100,i=t[2]/100,o=e*i;let n=0;return o<1&&(n=(i-o)/(1-o)),[t[0],100*o,100*n]},Sa.hcg.rgb=function(t){const e=t[0]/360,i=t[1]/100,o=t[2]/100;if(0===i)return[255*o,255*o,255*o];const n=[0,0,0],r=e%1*6,a=r%1,l=1-a;let s=0;switch(Math.floor(r)){case 0:n[0]=1,n[1]=a,n[2]=0;break;case 1:n[0]=l,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=a;break;case 3:n[0]=0,n[1]=l,n[2]=1;break;case 4:n[0]=a,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=l}return s=(1-i)*o,[255*(i*n[0]+s),255*(i*n[1]+s),255*(i*n[2]+s)]},Sa.hcg.hsv=function(t){const e=t[1]/100,i=e+t[2]/100*(1-e);let o=0;return i>0&&(o=e/i),[t[0],100*o,100*i]},Sa.hcg.hsl=function(t){const e=t[1]/100,i=t[2]/100*(1-e)+.5*e;let o=0;return i>0&&i<.5?o=e/(2*i):i>=.5&&i<1&&(o=e/(2*(1-i))),[t[0],100*o,100*i]},Sa.hcg.hwb=function(t){const e=t[1]/100,i=e+t[2]/100*(1-e);return[t[0],100*(i-e),100*(1-i)]},Sa.hwb.hcg=function(t){const e=t[1]/100,i=1-t[2]/100,o=i-e;let n=0;return o<1&&(n=(i-o)/(1-o)),[t[0],100*o,100*n]},Sa.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},Sa.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},Sa.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},Sa.gray.hsl=function(t){return[0,0,t[0]]},Sa.gray.hsv=Sa.gray.hsl,Sa.gray.hwb=function(t){return[0,100,t[0]]},Sa.gray.cmyk=function(t){return[0,0,0,t[0]]},Sa.gray.lab=function(t){return[t[0],0,0]},Sa.gray.hex=function(t){const e=255&Math.round(t[0]/100*255),i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i},Sa.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]};const Oa=Ia;function za(t){const e=function(){const t={},e=Object.keys(Oa);for(let i=e.length,o=0;o{Pa[t]={},Object.defineProperty(Pa[t],"channels",{value:Da[t].channels}),Object.defineProperty(Pa[t],"labels",{value:Da[t].labels});const e=La(t);Object.keys(e).forEach((i=>{const o=e[i];Pa[t][i]=function(t){const e=function(...e){const i=e[0];if(null==i)return i;i.length>1&&(e=i);const o=t(e);if("object"==typeof o)for(let t=o.length,e=0;e1&&(e=i),t(e))};return"conversion"in t&&(e.conversion=t.conversion),e}(o)}))}));const Na=$a,Ra=Pa,Fa=["keyword","gray","hex"],Va={};for(const t of Object.keys(Ra))Va[[...Ra[t].labels].sort().join("")]=t;const Ba={};function Ua(t,e){if(!(this instanceof Ua))return new Ua(t,e);if(e&&e in Fa&&(e=null),e&&!(e in Ra))throw new Error("Unknown model: "+e);let i,o;if(null==t)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(t instanceof Ua)this.model=t.model,this.color=[...t.color],this.valpha=t.valpha;else if("string"==typeof t){const e=Na.get(t);if(null===e)throw new Error("Unable to parse color from string: "+t);this.model=e.model,o=Ra[this.model].channels,this.color=e.value.slice(0,o),this.valpha="number"==typeof e.value[o]?e.value[o]:1}else if(t.length>0){this.model=e||"rgb",o=Ra[this.model].channels;const i=Array.prototype.slice.call(t,0,o);this.color=Xa(i,o),this.valpha="number"==typeof t[o]?t[o]:1}else if("number"==typeof t)this.model="rgb",this.color=[t>>16&255,t>>8&255,255&t],this.valpha=1;else{this.valpha=1;const e=Object.keys(t);"alpha"in t&&(e.splice(e.indexOf("alpha"),1),this.valpha="number"==typeof t.alpha?t.alpha:0);const o=e.sort().join("");if(!(o in Va))throw new Error("Unable to parse color from object: "+JSON.stringify(t));this.model=Va[o];const{labels:n}=Ra[this.model],r=[];for(i=0;i(t%360+360)%360)),saturationl:Ya("hsl",1,Wa(100)),lightness:Ya("hsl",2,Wa(100)),saturationv:Ya("hsv",1,Wa(100)),value:Ya("hsv",2,Wa(100)),chroma:Ya("hcg",1,Wa(100)),gray:Ya("hcg",2,Wa(100)),white:Ya("hwb",1,Wa(100)),wblack:Ya("hwb",2,Wa(100)),cyan:Ya("cmyk",0,Wa(100)),magenta:Ya("cmyk",1,Wa(100)),yellow:Ya("cmyk",2,Wa(100)),black:Ya("cmyk",3,Wa(100)),x:Ya("xyz",0,Wa(95.047)),y:Ya("xyz",1,Wa(100)),z:Ya("xyz",2,Wa(108.833)),l:Ya("lab",0,Wa(100)),a:Ya("lab",1),b:Ya("lab",2),keyword(t){return void 0!==t?new Ua(t):Ra[this.model].keyword(this.color)},hex(t){return void 0!==t?new Ua(t):Na.to.hex(this.rgb().round().color)},hexa(t){if(void 0!==t)return new Ua(t);const e=this.rgb().round().color;let i=Math.round(255*this.valpha).toString(16).toUpperCase();return 1===i.length&&(i="0"+i),Na.to.hex(e)+i},rgbNumber(){const t=this.rgb().color;return(255&t[0])<<16|(255&t[1])<<8|255&t[2]},luminosity(){const t=this.rgb().color,e=[];for(const[i,o]of t.entries()){const t=o/255;e[i]=t<=.04045?t/12.92:((t+.055)/1.055)**2.4}return.2126*e[0]+.7152*e[1]+.0722*e[2]},contrast(t){const e=this.luminosity(),i=t.luminosity();return e>i?(e+.05)/(i+.05):(i+.05)/(e+.05)},level(t){const e=this.contrast(t);return e>=7?"AAA":e>=4.5?"AA":""},isDark(){const t=this.rgb().color;return(2126*t[0]+7152*t[1]+722*t[2])/1e4<128},isLight(){return!this.isDark()},negate(){const t=this.rgb();for(let e=0;e<3;e++)t.color[e]=255-t.color[e];return t},lighten(t){const e=this.hsl();return e.color[2]+=e.color[2]*t,e},darken(t){const e=this.hsl();return e.color[2]-=e.color[2]*t,e},saturate(t){const e=this.hsl();return e.color[1]+=e.color[1]*t,e},desaturate(t){const e=this.hsl();return e.color[1]-=e.color[1]*t,e},whiten(t){const e=this.hwb();return e.color[1]+=e.color[1]*t,e},blacken(t){const e=this.hwb();return e.color[2]+=e.color[2]*t,e},grayscale(){const t=this.rgb().color,e=.3*t[0]+.59*t[1]+.11*t[2];return Ua.rgb(e,e,e)},fade(t){return this.alpha(this.valpha-this.valpha*t)},opaquer(t){return this.alpha(this.valpha+this.valpha*t)},rotate(t){const e=this.hsl();let i=e.color[0];return i=(i+t)%360,i=i<0?360+i:i,e.color[0]=i,e},mix(t,e){if(!t||!t.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof t);const i=t.rgb(),o=this.rgb(),n=void 0===e?.5:e,r=2*n-1,a=i.alpha()-o.alpha(),l=((r*a==-1?r:(r+a)/(1+r*a))+1)/2,s=1-l;return Ua.rgb(l*i.red()+s*o.red(),l*i.green()+s*o.green(),l*i.blue()+s*o.blue(),i.alpha()*n+o.alpha()*(1-n))}};for(const t of Object.keys(Ra)){if(Fa.includes(t))continue;const{channels:e}=Ra[t];Ua.prototype[t]=function(...e){return this.model===t?new Ua(this):e.length>0?new Ua(e,t):new Ua([...(i=Ra[this.model][t].raw(this.color),Array.isArray(i)?i:[i]),this.valpha],t);var i},Ua[t]=function(...i){let o=i[0];return"number"==typeof o&&(o=Xa(i,e)),new Ua(o,t)}}function Ha(t){return function(e){return function(t,e){return Number(t.toFixed(e))}(e,t)}}function Ya(t,e,i){t=Array.isArray(t)?t:[t];for(const o of t)(Ba[o]||(Ba[o]=[]))[e]=i;return t=t[0],function(o){let n;return void 0!==o?(i&&(o=i(o)),n=this[t](),n.color[e]=o,n):(n=this[t]().color[e],i&&(n=i(n)),n)}}function Wa(t){return function(e){return Math.max(0,Math.min(t,e))}}function Xa(t,e){for(let i=0;it.stopPropagation()} + .value=${this.value||"default"} + fixedMenuPosition + naturalMenuWidth + > + ${this.renderColorCircle(this.value||"grey")} + + ${t("editor.form.color_picker.values.default")} + + ${Ga.map((t=>Y` + + ${function(t){return t.split("-").map((t=>function(t){return t.charAt(0).toUpperCase()+t.slice(1)}(t))).join(" ")}(t)} + ${this.renderColorCircle(t)} + + `))} + + `}renderColorCircle(t){return Y` + + `}static get styles(){return h` + mushroom-select { + width: 100%; + } + .circle-color { + display: block; + background-color: rgb(var(--main-color)); + border-radius: 10px; + width: 20px; + height: 20px; + } + `}};n([_t()],Qa.prototype,"label",void 0),n([_t()],Qa.prototype,"value",void 0),n([_t()],Qa.prototype,"configValue",void 0),n([_t()],Qa.prototype,"hass",void 0),Qa=n([pt("mushroom-color-picker")],Qa);let tl=class extends ht{render(){return Y` + + `}_valueChanged(t){Lt(this,"value-changed",{value:t.detail.value||void 0})}};n([_t()],tl.prototype,"hass",void 0),n([_t()],tl.prototype,"selector",void 0),n([_t()],tl.prototype,"value",void 0),n([_t()],tl.prototype,"label",void 0),tl=n([pt("ha-selector-mush_color")],tl);const el=["button","input_button","scene"],il=["name","state","last-changed","last-updated","none"],ol=["icon","entity-picture","none"];function nl(t,e,i,o,n){switch(t){case"name":return e;case"state":const t=o.entity_id.split(".")[0];return"timestamp"!==o.attributes.device_class&&!el.includes(t)||!Ut(o)||function(t){return t.state===Rt}(o)?i:Y` + + `;case"last-changed":return Y` + + `;case"last-updated":return Y` + + `;case"none":return}}function rl(t,e){return"entity-picture"===e?Yt(t):void 0}let al=class extends ht{constructor(){super(...arguments),this.label="",this.configValue=""}_selectChanged(t){const e=t.target.value;e&&this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:"default"!==e?e:""}}))}render(){const t=Oo(this.hass);return Y` + t.stopPropagation()} + .value=${this.value||"default"} + fixedMenuPosition + naturalMenuWidth + > + + ${t("editor.form.icon_type_picker.values.default")} + + ${ol.map((e=>Y` + + ${t(`editor.form.icon_type_picker.values.${e}`)||function(t){return t.charAt(0).toUpperCase()+t.slice(1)}(e)} + + `))} + + `}static get styles(){return h` + mushroom-select { + width: 100%; + } + `}};n([_t()],al.prototype,"label",void 0),n([_t()],al.prototype,"value",void 0),n([_t()],al.prototype,"configValue",void 0),n([_t()],al.prototype,"hass",void 0),al=n([pt("mushroom-icon-type-picker")],al);let ll=class extends ht{render(){return Y` + + `}_valueChanged(t){Lt(this,"value-changed",{value:t.detail.value||void 0})}};n([_t()],ll.prototype,"hass",void 0),n([_t()],ll.prototype,"selector",void 0),n([_t()],ll.prototype,"value",void 0),n([_t()],ll.prototype,"label",void 0),ll=n([pt("ha-selector-mush_icon_type")],ll);let sl=class extends ht{constructor(){super(...arguments),this.label="",this.configValue=""}_selectChanged(t){const e=t.target.value;e&&this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:"default"!==e?e:""}}))}render(){var t;const e=Oo(this.hass);return Y` + t.stopPropagation()} + .value=${this.value||"default"} + fixedMenuPosition + naturalMenuWidth + > + + ${e("editor.form.info_picker.values.default")} + + ${(null!==(t=this.infos)&&void 0!==t?t:il).map((t=>Y` + + ${e(`editor.form.info_picker.values.${t}`)||function(t){return t.charAt(0).toUpperCase()+t.slice(1)}(t)} + + `))} + + `}static get styles(){return h` + mushroom-select { + width: 100%; + } + `}};n([_t()],sl.prototype,"label",void 0),n([_t()],sl.prototype,"value",void 0),n([_t()],sl.prototype,"configValue",void 0),n([_t()],sl.prototype,"infos",void 0),n([_t()],sl.prototype,"hass",void 0),sl=n([pt("mushroom-info-picker")],sl);let cl=class extends ht{render(){return Y` + + `}_valueChanged(t){Lt(this,"value-changed",{value:t.detail.value||void 0})}};n([_t()],cl.prototype,"hass",void 0),n([_t()],cl.prototype,"selector",void 0),n([_t()],cl.prototype,"value",void 0),n([_t()],cl.prototype,"label",void 0),cl=n([pt("ha-selector-mush_info")],cl);const dl=["default","horizontal","vertical"],ul={default:"mdi:card-text-outline",vertical:"mdi:focus-field-vertical",horizontal:"mdi:focus-field-horizontal"};let hl=class extends ht{constructor(){super(...arguments),this.label="",this.configValue=""}_selectChanged(t){const e=t.target.value;e&&this.dispatchEvent(new CustomEvent("value-changed",{detail:{value:"default"!==e?e:""}}))}render(){const t=Oo(this.hass),e=this.value||"default";return Y` + t.stopPropagation()} + .value=${e} + fixedMenuPosition + naturalMenuWidth + > + + ${dl.map((e=>Y` + + ${t(`editor.form.layout_picker.values.${e}`)} + + + `))} + + `}static get styles(){return h` + mushroom-select { + width: 100%; + } + `}};n([_t()],hl.prototype,"label",void 0),n([_t()],hl.prototype,"value",void 0),n([_t()],hl.prototype,"configValue",void 0),n([_t()],hl.prototype,"hass",void 0),hl=n([pt("mushroom-layout-picker")],hl);let ml=class extends ht{render(){return Y` + + `}_valueChanged(t){Lt(this,"value-changed",{value:t.detail.value||void 0})}};n([_t()],ml.prototype,"hass",void 0),n([_t()],ml.prototype,"selector",void 0),n([_t()],ml.prototype,"value",void 0),n([_t()],ml.prototype,"label",void 0),ml=n([pt("ha-selector-mush_layout")],ml);Tt((t=>{const e={};for(const i of t)e[i.entity_id]=i;return e})),Tt((t=>{const e={};for(const i of t)e[i.id]=i;return e}));const pl={armed_home:{feature:1,service:"alarm_arm_home",icon:"mdi:home"},armed_away:{feature:2,service:"alarm_arm_away",icon:"mdi:lock"},armed_night:{feature:4,service:"alarm_arm_night",icon:"mdi:moon-waning-crescent"},armed_vacation:{feature:32,service:"alarm_arm_vacation",icon:"mdi:airplane"},armed_custom_bypass:{feature:16,service:"alarm_arm_custom_bypass",icon:"mdi:shield"},disarmed:{service:"alarm_disarm",icon:"mdi:shield-off"}};let fl=class extends ht{constructor(){super(...arguments),this.icon=""}render(){return Y` +
+ +
+ `}static get styles(){return h` + :host { + --main-color: rgb(var(--rgb-grey)); + --icon-color: rgb(var(--rgb-white)); + } + .badge { + display: flex; + align-items: center; + justify-content: center; + line-height: 0; + width: var(--badge-size); + height: var(--badge-size); + font-size: var(--badge-size); + border-radius: var(--badge-border-radius); + background-color: var(--main-color); + transition: background-color 280ms ease-in-out; + } + .badge ha-icon { + --mdc-icon-size: var(--badge-icon-size); + color: var(--icon-color); + } + `}};n([_t()],fl.prototype,"icon",void 0),fl=n([pt("mushroom-badge-icon")],fl);let gl=class extends ht{constructor(){super(...arguments),this.title="",this.disabled=!1}render(){return Y` + + `}static get styles(){return h` + :host { + --icon-color: var(--primary-text-color); + --icon-color-disabled: rgb(var(--rgb-disabled)); + --bg-color: rgba(var(--rgb-primary-text-color), 0.05); + --bg-color-disabled: rgba(var(--rgb-disabled), 0.2); + height: var(--control-height); + width: calc(var(--control-height) * var(--control-button-ratio)); + flex: none; + } + .button { + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 100%; + border-radius: var(--control-border-radius); + border: none; + background-color: var(--bg-color); + transition: background-color 280ms ease-in-out; + font-size: var(--control-height); + margin: 0; + padding: 0; + box-sizing: border-box; + line-height: 0; + } + .button:disabled { + cursor: not-allowed; + background-color: var(--bg-color-disabled); + } + .button ::slotted(*) { + --mdc-icon-size: var(--control-icon-size); + color: var(--icon-color); + pointer-events: none; + } + .button:disabled ::slotted(*) { + color: var(--icon-color-disabled); + } + `}};n([_t()],gl.prototype,"title",void 0),n([_t({type:Boolean})],gl.prototype,"disabled",void 0),gl=n([pt("mushroom-button")],gl);let _l=class extends ht{constructor(){super(...arguments),this.fill=!1,this.rtl=!1}render(){return Y` +
+ +
+ `}static get styles(){return h` + :host { + display: flex; + flex-direction: row; + width: 100%; + } + .container { + width: 100%; + display: flex; + flex-direction: row; + justify-content: flex-end; + } + .container ::slotted(*:not(:last-child)) { + margin-right: var(--spacing); + } + :host([rtl]) .container ::slotted(*:not(:last-child)) { + margin-right: initial; + margin-left: var(--spacing); + } + .container > ::slotted(mushroom-button) { + width: 0; + flex-grow: 0; + flex-shrink: 1; + flex-basis: calc(var(--control-height) * var(--control-button-ratio)); + } + .container > ::slotted(mushroom-input-number) { + width: 0; + flex-grow: 0; + flex-shrink: 1; + flex-basis: calc(var(--control-height) * var(--control-button-ratio) * 3); + } + .container.fill > ::slotted(mushroom-button), + .container.fill > ::slotted(mushroom-input-number) { + flex-grow: 1; + } + `}};n([_t()],_l.prototype,"fill",void 0),n([_t()],_l.prototype,"rtl",void 0),_l=n([pt("mushroom-button-group")],_l);let vl=class extends ht{render(){var t,e,i,o;return Y` +
+ +
+ `}static get styles(){return h` + .container { + display: flex; + flex-direction: column; + flex-shrink: 0; + flex-grow: 0; + box-sizing: border-box; + justify-content: space-between; + height: 100%; + } + .container > ::slotted(*:not(:last-child)) { + margin-bottom: var(--spacing); + } + .container.horizontal { + flex-direction: row; + } + .container.horizontal > ::slotted(*) { + flex: 1; + min-width: 0; + } + .container.no-info > ::slotted(mushroom-state-item) { + flex: none; + } + .container.no-info.no-icon > ::slotted(mushroom-state-item) { + margin-right: 0; + margin-left: 0; + margin-bottom: 0; + } + .container.horizontal > ::slotted(*:not(:last-child)) { + margin-right: var(--spacing); + margin-bottom: 0; + } + :host([rtl]) .container.horizontal > ::slotted(*:not(:last-child)) { + margin-right: initial; + margin-left: var(--spacing); + margin-bottom: 0; + } + `}};n([_t()],vl.prototype,"appearance",void 0),vl=n([pt("mushroom-card")],vl);const bl={pulse:"@keyframes pulse {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }",spin:"@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }",cleaning:"@keyframes cleaning {\n 0% {\n transform: rotate(0) translate(0);\n }\n 5% {\n transform: rotate(0) translate(0, -3px);\n }\n 10% {\n transform: rotate(0) translate(0, 1px);\n }\n 15% {\n transform: rotate(0) translate(0);\n }\n\n 20% {\n transform: rotate(30deg) translate(0);\n }\n 25% {\n transform: rotate(30deg) translate(0, -3px);\n }\n 30% {\n transform: rotate(30deg) translate(0, 1px);\n }\n 35% {\n transform: rotate(30deg) translate(0);\n }\n 40% {\n transform: rotate(0) translate(0);\n }\n\n 45% {\n transform: rotate(-30deg) translate(0);\n }\n 50% {\n transform: rotate(-30deg) translate(0, -3px);\n }\n 55% {\n transform: rotate(-30deg) translate(0, 1px);\n }\n 60% {\n transform: rotate(-30deg) translate(0);\n }\n 70% {\n transform: rotate(0deg) translate(0);\n }\n 100% {\n transform: rotate(0deg);\n }\n }",returning:"@keyframes returning {\n 0% {\n transform: rotate(0);\n }\n 25% {\n transform: rotate(20deg);\n }\n 50% {\n transform: rotate(0);\n }\n 75% {\n transform: rotate(-20deg);\n }\n 100% {\n transform: rotate(0);\n }\n }"},yl=h` + ${u(bl.pulse)} + `,xl=(h` + ${u(bl.spin)} + `,h` + ${u(bl.cleaning)} + `,h` + ${u(bl.returning)} + `,h` + ${u(Object.values(bl).join("\n"))} +`);let wl=class extends ht{render(){return Y` +
+ +
+ `}static get styles(){return[xl,h` + :host { + --icon-color: var(--primary-text-color); + --icon-color-disabled: rgb(var(--rgb-disabled)); + --shape-color: rgba(var(--rgb-primary-text-color), 0.05); + --shape-color-disabled: rgba(var(--rgb-disabled), 0.2); + --shape-animation: none; + --shape-outline-color: transparent; + flex: none; + } + .shape { + position: relative; + width: var(--icon-size); + height: var(--icon-size); + font-size: var(--icon-size); + border-radius: var(--icon-border-radius); + display: flex; + align-items: center; + justify-content: center; + background-color: var(--shape-color); + transition-property: background-color, box-shadow; + transition-duration: 280ms; + transition-timing-function: ease-out; + animation: var(--shape-animation); + box-shadow: 0 0 0 1px var(--shape-outline-color); + } + + .shape ::slotted(*) { + display: flex; + color: var(--icon-color); + transition: color 280ms ease-in-out; + } + ::slotted(ha-icon), + ::slotted(ha-state-icon) { + display: flex; + line-height: 0; + --mdc-icon-size: var(--icon-symbol-size); + } + .shape.disabled { + background-color: var(--shape-color-disabled); + } + .shape.disabled ::slotted(*) { + color: var(--icon-color-disabled); + } + `]}};n([_t({type:Boolean})],wl.prototype,"disabled",void 0),wl=n([pt("mushroom-shape-icon")],wl);let kl=class extends ht{constructor(){super(...arguments),this.multiline_secondary=!1}render(){var t;return Y` +
+ ${null!==(t=this.primary)&&void 0!==t?t:""} + ${this.secondary?Y`${this.secondary}`:K} +
+ `}static get styles(){return h` + .container { + min-width: 0; + flex: 1; + display: flex; + flex-direction: column; + } + .primary { + font-weight: var(--card-primary-font-weight); + font-size: var(--card-primary-font-size); + line-height: var(--card-primary-line-height); + color: var(--card-primary-color); + letter-spacing: var(--card-primary-letter-spacing); + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + } + .secondary { + font-weight: var(--card-secondary-font-weight); + font-size: var(--card-secondary-font-size); + line-height: var(--card-secondary-line-height); + color: var(--card-secondary-color); + letter-spacing: var(--card-secondary-letter-spacing); + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + } + .multiline_secondary { + white-space: pre-wrap; + } + `}};n([_t({attribute:!1})],kl.prototype,"primary",void 0),n([_t({attribute:!1})],kl.prototype,"secondary",void 0),n([_t({type:Boolean})],kl.prototype,"multiline_secondary",void 0),kl=n([pt("mushroom-state-info")],kl);let Cl=class extends ht{render(){var t,e,i,o;return Y` +
+ ${"none"!==(null===(e=this.appearance)||void 0===e?void 0:e.icon_type)?Y` +
+ + +
+ `:K} + ${"none"!==(null===(i=this.appearance)||void 0===i?void 0:i.primary_info)||"none"!==(null===(o=this.appearance)||void 0===o?void 0:o.secondary_info)?Y` +
+ +
+ `:K} +
+ `}static get styles(){return h` + .container { + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-start; + } + .container > *:not(:last-child) { + margin-right: var(--spacing); + } + :host([rtl]) .container > *:not(:last-child) { + margin-right: initial; + margin-left: var(--spacing); + } + .icon { + position: relative; + } + .icon ::slotted(*[slot="badge"]) { + position: absolute; + top: -3px; + right: -3px; + } + :host([rtl]) .icon ::slotted(*[slot="badge"]) { + right: initial; + left: -3px; + } + .info { + min-width: 0; + width: 100%; + display: flex; + flex-direction: column; + } + .container.vertical { + flex-direction: column; + } + .container.vertical > *:not(:last-child) { + margin-bottom: var(--spacing); + margin-right: 0; + margin-left: 0; + } + :host([rtl]) .container.vertical > *:not(:last-child) { + margin-right: initial; + margin-left: initial; + } + .container.vertical .info { + text-align: center; + } + `}};function $l(t){var e,i,o,n,r;return{layout:null!==(e=t.layout)&&void 0!==e?e:El(t),fill_container:null!==(i=t.fill_container)&&void 0!==i&&i,primary_info:null!==(o=t.primary_info)&&void 0!==o?o:Sl(t),secondary_info:null!==(n=t.secondary_info)&&void 0!==n?n:Il(t),icon_type:null!==(r=t.icon_type)&&void 0!==r?r:Al(t)}}function El(t){return t.vertical?"vertical":"default"}function Al(t){return t.hide_icon?"none":t.use_entity_picture||t.use_media_artwork?"entity-picture":"icon"}function Sl(t){return t.hide_name?"none":"name"}function Il(t){return t.hide_state?"none":"state"}n([_t()],Cl.prototype,"appearance",void 0),Cl=n([pt("mushroom-state-item")],Cl);let Tl=class extends ht{constructor(){super(...arguments),this.picture_url=""}render(){return Y` +
+ +
+ `}static get styles(){return h` + :host { + --main-color: var(--primary-text-color); + --icon-color-disabled: rgb(var(--rgb-disabled)); + --shape-color: rgba(var(--rgb-primary-text-color), 0.05); + --shape-color-disabled: rgba(var(--rgb-disabled), 0.2); + flex: none; + } + .container { + position: relative; + width: var(--icon-size); + height: var(--icon-size); + flex: none; + display: flex; + align-items: center; + justify-content: center; + } + .picture { + width: 100%; + height: 100%; + border-radius: var(--icon-border-radius); + } + `}};n([_t()],Tl.prototype,"picture_url",void 0),Tl=n([pt("mushroom-shape-avatar")],Tl);const Ol=h` + --spacing: var(--mush-spacing, 12px); + + /* Title */ + --title-padding: var(--mush-title-padding, 24px 12px 8px); + --title-spacing: var(--mush-title-spacing, 8px); + --title-font-size: var(--mush-title-font-size, 24px); + --title-font-weight: var(--mush-title-font-weight, normal); + --title-line-height: var(--mush-title-line-height, 32px); + --title-color: var(--mush-title-color, var(--primary-text-color)); + --title-letter-spacing: var(--mush-title-letter-spacing, -0.288px); + --subtitle-font-size: var(--mush-subtitle-font-size, 16px); + --subtitle-font-weight: var(--mush-subtitle-font-weight, normal); + --subtitle-line-height: var(--mush-subtitle-line-height, 24px); + --subtitle-color: var(--mush-subtitle-color, var(--secondary-text-color)); + --subtitle-letter-spacing: var(--mush-subtitle-letter-spacing, 0px); + + /* Card */ + --card-primary-font-size: var(--mush-card-primary-font-size, 14px); + --card-secondary-font-size: var(--mush-card-secondary-font-size, 12px); + --card-primary-font-weight: var(--mush-card-primary-font-weight, 500); + --card-secondary-font-weight: var(--mush-card-secondary-font-weight, 400); + --card-primary-line-height: var(--mush-card-primary-line-height, 20px); + --card-secondary-line-height: var(--mush-card-secondary-line-height, 16px); + --card-primary-color: var(--mush-card-primary-color, var(--primary-text-color)); + --card-secondary-color: var(--mush-card-secondary-color, var(--primary-text-color)); + --card-primary-letter-spacing: var(--mush-card-primary-letter-spacing, 0.1px); + --card-secondary-letter-spacing: var(--mush-card-secondary-letter-spacing, 0.4px); + + /* Chips */ + --chip-spacing: var(--mush-chip-spacing, 8px); + --chip-padding: var(--mush-chip-padding, 0 0.25em); + --chip-height: var(--mush-chip-height, 36px); + --chip-border-radius: var(--mush-chip-border-radius, 19px); + --chip-border-width: var(--mush-chip-border-width, var(--ha-card-border-width, 1px)); + --chip-border-color: var( + --mush-chip-border-color, + var(--ha-card-border-color, var(--divider-color)) + ); + --chip-box-shadow: var(--mush-chip-box-shadow, var(--ha-card-box-shadow, "none")); + --chip-font-size: var(--mush-chip-font-size, 0.3em); + --chip-font-weight: var(--mush-chip-font-weight, bold); + --chip-icon-size: var(--mush-chip-icon-size, 0.5em); + --chip-avatar-padding: var(--mush-chip-avatar-padding, 0.1em); + --chip-avatar-border-radius: var(--mush-chip-avatar-border-radius, 50%); + --chip-background: var( + --mush-chip-background, + var(--ha-card-background, var(--card-background-color, white)) + ); + /* Controls */ + --control-border-radius: var(--mush-control-border-radius, 12px); + --control-height: var(--mush-control-height, 40px); + --control-button-ratio: var(--mush-control-button-ratio, 1); + --control-icon-size: var(--mush-control-icon-size, 0.5em); + + /* Slider */ + --slider-threshold: var(--mush-slider-threshold); + + /* Input Number */ + --input-number-debounce: var(--mush-input-number-debounce); + + /* Layout */ + --layout-align: var(--mush-layout-align, center); + + /* Badge */ + --badge-size: var(--mush-badge-size, 16px); + --badge-icon-size: var(--mush-badge-icon-size, 0.75em); + --badge-border-radius: var(--mush-badge-border-radius, 50%); + + /* Icon */ + --icon-border-radius: var(--mush-icon-border-radius, 50%); + --icon-size: var(--mush-icon-size, 40px); + --icon-symbol-size: var(--mush-icon-symbol-size, 0.6em); +`,zl=h` + /* RGB */ + /* Standard colors */ + --rgb-red: var(--mush-rgb-red, var(--default-red)); + --rgb-pink: var(--mush-rgb-pink, var(--default-pink)); + --rgb-purple: var(--mush-rgb-purple, var(--default-purple)); + --rgb-deep-purple: var(--mush-rgb-deep-purple, var(--default-deep-purple)); + --rgb-indigo: var(--mush-rgb-indigo, var(--default-indigo)); + --rgb-blue: var(--mush-rgb-blue, var(--default-blue)); + --rgb-light-blue: var(--mush-rgb-light-blue, var(--default-light-blue)); + --rgb-cyan: var(--mush-rgb-cyan, var(--default-cyan)); + --rgb-teal: var(--mush-rgb-teal, var(--default-teal)); + --rgb-green: var(--mush-rgb-green, var(--default-green)); + --rgb-light-green: var(--mush-rgb-light-green, var(--default-light-green)); + --rgb-lime: var(--mush-rgb-lime, var(--default-lime)); + --rgb-yellow: var(--mush-rgb-yellow, var(--default-yellow)); + --rgb-amber: var(--mush-rgb-amber, var(--default-amber)); + --rgb-orange: var(--mush-rgb-orange, var(--default-orange)); + --rgb-deep-orange: var(--mush-rgb-deep-orange, var(--default-deep-orange)); + --rgb-brown: var(--mush-rgb-brown, var(--default-brown)); + --rgb-light-grey: var(--mush-rgb-light-grey, var(--default-light-grey)); + --rgb-grey: var(--mush-rgb-grey, var(--default-grey)); + --rgb-dark-grey: var(--mush-rgb-dark-grey, var(--default-dark-grey)); + --rgb-blue-grey: var(--mush-rgb-blue-grey, var(--default-blue-grey)); + --rgb-black: var(--mush-rgb-black, var(--default-black)); + --rgb-white: var(--mush-rgb-white, var(--default-white)); + --rgb-disabled: var(--mush-rgb-disabled, var(--default-disabled)); + + /* Action colors */ + --rgb-info: var(--mush-rgb-info, var(--rgb-blue)); + --rgb-success: var(--mush-rgb-success, var(--rgb-green)); + --rgb-warning: var(--mush-rgb-warning, var(--rgb-orange)); + --rgb-danger: var(--mush-rgb-danger, var(--rgb-red)); + + /* State colors */ + --rgb-state-vacuum: var(--mush-rgb-state-vacuum, var(--rgb-teal)); + --rgb-state-fan: var(--mush-rgb-state-fan, var(--rgb-green)); + --rgb-state-light: var(--mush-rgb-state-light, var(--rgb-orange)); + --rgb-state-entity: var(--mush-rgb-state-entity, var(--rgb-blue)); + --rgb-state-media-player: var(--mush-rgb-state-media-player, var(--rgb-indigo)); + --rgb-state-lock: var(--mush-rgb-state-lock, var(--rgb-blue)); + --rgb-state-number: var(--mush-rgb-state-number, var(--rgb-blue)); + --rgb-state-humidifier: var(--mush-rgb-state-humidifier, var(--rgb-purple)); + + /* State alarm colors */ + --rgb-state-alarm-disarmed: var(--mush-rgb-state-alarm-disarmed, var(--rgb-info)); + --rgb-state-alarm-armed: var(--mush-rgb-state-alarm-armed, var(--rgb-success)); + --rgb-state-alarm-triggered: var(--mush-rgb-state-alarm-triggered, var(--rgb-danger)); + + /* State person colors */ + --rgb-state-person-home: var(--mush-rgb-state-person-home, var(--rgb-success)); + --rgb-state-person-not-home: var(--mush-rgb-state-person-not-home, var(--rgb-danger)); + --rgb-state-person-zone: var(--mush-rgb-state-person-zone, var(--rgb-info)); + --rgb-state-person-unknown: var(--mush-rgb-state-person-unknown, var(--rgb-grey)); + + /* State update colors */ + --rgb-state-update-on: var(--mush-rgb-state-update-on, var(--rgb-orange)); + --rgb-state-update-off: var(--mush-rgb-update-off, var(--rgb-green)); + --rgb-state-update-installing: var(--mush-rgb-update-installing, var(--rgb-blue)); + + /* State lock colors */ + --rgb-state-lock-locked: var(--mush-rgb-state-lock-locked, var(--rgb-green)); + --rgb-state-lock-unlocked: var(--mush-rgb-state-lock-unlocked, var(--rgb-red)); + --rgb-state-lock-pending: var(--mush-rgb-state-lock-pending, var(--rgb-orange)); + + /* State cover colors */ + --rgb-state-cover-open: var(--mush-rgb-state-cover-open, var(--rgb-blue)); + --rgb-state-cover-closed: var(--mush-rgb-state-cover-closed, var(--rgb-disabled)); + + /* State climate colors */ + --rgb-state-climate-auto: var(--mush-rgb-state-climate-auto, var(--rgb-green)); + --rgb-state-climate-cool: var(--mush-rgb-state-climate-cool, var(--rgb-blue)); + --rgb-state-climate-dry: var(--mush-rgb-state-climate-dry, var(--rgb-orange)); + --rgb-state-climate-fan-only: var(--mush-rgb-state-climate-fan-only, var(--rgb-teal)); + --rgb-state-climate-heat: var(--mush-rgb-state-climate-heat, var(--rgb-deep-orange)); + --rgb-state-climate-heat-cool: var(--mush-rgb-state-climate-heat-cool, var(--rgb-green)); + --rgb-state-climate-idle: var(--mush-rgb-state-climate-idle, var(--rgb-disabled)); + --rgb-state-climate-off: var(--mush-rgb-state-climate-off, var(--rgb-disabled)); +`;function Ml(t){return!!t&&t.themes.darkMode}class jl extends ht{updated(t){if(super.updated(t),t.has("hass")&&this.hass){const e=Ml(t.get("hass")),i=Ml(this.hass);e!==i&&this.toggleAttribute("dark-mode",i)}}static get styles(){return[xl,h` + :host { + ${Za} + } + :host([dark-mode]) { + ${Ja} + } + :host { + ${zl} + ${Ol} + } + `]}}n([_t({attribute:!1})],jl.prototype,"hass",void 0);class Dl extends jl{constructor(){super(...arguments),this._inGrid=!1}get _stateObj(){if(!this._config||!this.hass||!this._config.entity)return;const t=this._config.entity;return this.hass.states[t]}get hasControls(){return!1}setConfig(t){this._config=Object.assign({tap_action:{action:"more-info"},hold_action:{action:"more-info"}},t)}getGridSize(){const{grid_columns:t,grid_rows:e}=this.getLayoutOptions();return[t,e]}getCardSize(){var t;let e=1;if(!this._config)return e;const i=$l(this._config);return"vertical"===i.layout&&(e+=1),"horizontal"===(null==i?void 0:i.layout)||!this.hasControls||"collapsible_controls"in this._config&&(null===(t=this._config)||void 0===t?void 0:t.collapsible_controls)||(e+=1),e}getLayoutOptions(){this._inGrid=!0;const t={grid_columns:2,grid_rows:1};if(!this._config)return t;const e=$l(this._config);return"vertical"===e.layout&&(t.grid_rows+=1),"horizontal"===e.layout&&(t.grid_columns=4),"horizontal"!==(null==e?void 0:e.layout)&&this.hasControls&&(t.grid_rows+=1),t}renderPicture(t){return Y` + + `}renderNotFound(t){const e=$l(t),i=Ie(this.hass),o=Oo(this.hass);return Y` + + + + + + + + + + + + `}renderIcon(t,e){const i=Bt(t);return Y` + + + `}renderBadge(t){return!Ut(t)?Y` + + `:K}renderStateInfo(t,e,i,o){const n=this.hass.formatEntityState?this.hass.formatEntityState(t):ne(this.hass.localize,t,this.hass.locale,this.hass.config,this.hass.entities),r=null!=o?o:n,a=nl(e.primary_info,i,r,t,this.hass),l=nl(e.secondary_info,i,r,t,this.hass);return Y` + + `}}n([vt()],Dl.prototype,"_config",void 0),n([_t({reflect:!0,type:String})],Dl.prototype,"layout",void 0),n([_t({attribute:"in-grid",reflect:!0,type:Boolean})],Dl.prototype,"_inGrid",void 0);const Ll=h` + ha-card { + box-sizing: border-box; + padding: var(--spacing); + display: flex; + flex-direction: column; + justify-content: var(--layout-align); + height: auto; + } + ha-card.fill-container { + height: 100%; + } + :host([layout="grid"]) ha-card, + :host([in-grid]) ha-card { + height: 100%; + } + :host([layout="grid"]) ha-card mushroom-card, + :host([in-grid]) ha-card mushroom-card { + height: 100%; + } + .actions { + display: flex; + flex-direction: row; + align-items: flex-start; + justify-content: flex-start; + overflow-x: auto; + overflow-y: hidden; + scrollbar-width: none; /* Firefox */ + -ms-overflow-style: none; /* IE 10+ */ + } + .actions::-webkit-scrollbar { + background: transparent; /* Chrome/Safari/Webkit */ + height: 0px; + } + .actions *:not(:last-child) { + margin-right: var(--spacing); + } + .actions[rtl] *:not(:last-child) { + margin-right: initial; + margin-left: var(--spacing); + } + .unavailable { + --main-color: rgb(var(--rgb-warning)); + } + .not-found { + --main-color: rgb(var(--rgb-danger)); + } + mushroom-state-item[disabled] { + cursor: initial; + } +`;function Pl(e){const i=window;i.customCards=i.customCards||[];const o=e.type.replace("-card","").replace("mushroom-","");i.customCards.push(Object.assign(Object.assign({},e),{preview:!0,documentationURL:`${t}/blob/main/docs/cards/${o}.md`}))}const Nl="mushroom",Rl=`${Nl}-alarm-control-panel-card`,Fl=`${Rl}-editor`,Vl=["alarm_control_panel"],Bl={disarmed:"var(--rgb-state-alarm-disarmed)",armed:"var(--rgb-state-alarm-armed)",triggered:"var(--rgb-state-alarm-triggered)",unavailable:"var(--rgb-warning)"};function Ul(t){var e;return null!==(e=Bl[t.split("_")[0]])&&void 0!==e?e:"var(--rgb-grey)"}function Hl(t){return["arming","triggered","pending",Nt].indexOf(t)>=0}Pl({type:Rl,name:"Mushroom Alarm Control Panel Card",description:"Card for alarm control panel"});let Yl=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return Wd})),document.createElement(Fl)}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>Vl.includes(t.split(".")[0])));return{type:`custom:${Rl}`,entity:e[0],states:["armed_home","armed_away"]}}get hasControls(){var t,e;return Boolean(null===(e=null===(t=this._config)||void 0===t?void 0:t.states)||void 0===e?void 0:e.length)}_onTap(t,e){t.stopPropagation(),(async(t,e,i,o)=>{var n,r;const{service:a}=pl[o];let l;if("disarmed"!==o&&i.attributes.code_arm_required||"disarmed"===o&&i.attributes.code_format){const a=await((t,e)=>t.callWS({type:"config/entity_registry/get",entity_id:e}))(e,i.entity_id).catch((()=>{}));if(!(null===(r=null===(n=null==a?void 0:a.options)||void 0===n?void 0:n.alarm_control_panel)||void 0===r?void 0:r.default_code)){const n="disarmed"===o,r=await window.loadCardHelpers(),a=await r.showEnterCodeDialog(t,{codeFormat:i.attributes.code_format,title:e.localize("ui.card.alarm_control_panel."+(n?"disarm":"arm")),submitText:e.localize("ui.card.alarm_control_panel."+(n?"disarm":"arm"))});if(null==a)throw new Error("Code dialog closed");l=a}}await e.callService("alarm_control_panel",a,{entity_id:i.entity_id,code:l})})(this,this.hass,this._stateObj,e)}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){if(!this.hass||!this._config||!this._config.entity)return K;const t=this._stateObj;if(!t)return this.renderNotFound(this._config);const e=this._config.name||t.attributes.friendly_name||"",i=this._config.icon,o=$l(this._config),n=rl(t,o.icon_type),r=this._config.states&&this._config.states.length>0?function(t){return"disarmed"===t.state}(t)?this._config.states.map((t=>({mode:t}))):[{mode:"disarmed"}]:[],a=function(t){return Nt!==t.state}(t),l=Ie(this.hass);return Y` + + + + ${n?this.renderPicture(n):this.renderIcon(t,i)} + ${this.renderBadge(t)} + ${this.renderStateInfo(t,o,e)}; + + ${r.length>0?Y` + + ${r.map((t=>Y` + this._onTap(e,t.mode)} + .disabled=${!a} + > + + + + `))} + + `:K} + + + `}renderIcon(t,e){const i=Ul(t.state),o=Hl(t.state);return Y` + + + + `}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + mushroom-shape-icon.pulse { + --shape-animation: 1s ease 0s infinite normal none running pulse; + } + `]}};Yl=n([pt(Rl)],Yl);let Wl=class extends ht{constructor(){super(...arguments),this.icon="",this.label="",this.avatar="",this.avatarOnly=!1}render(){return Y` + + ${this.avatar?Y` `:K} + ${this.avatarOnly?K:Y` +
+ +
+ `} +
+ `}static get styles(){return[xl,h` + :host { + --icon-color: var(--primary-text-color); + --text-color: var(--primary-text-color); + } + ha-card { + box-sizing: border-box; + height: var(--chip-height); + min-width: var(--chip-height); + font-size: var(--chip-height); + width: auto; + border-radius: var(--chip-border-radius); + display: flex; + flex-direction: row; + align-items: center; + background: var(--chip-background); + border-width: var(--chip-border-width); + border-color: var(--chip-border-color); + box-shadow: var(--chip-box-shadow); + box-sizing: content-box; + } + .avatar { + --avatar-size: calc(var(--chip-height) - 2 * var(--chip-avatar-padding)); + border-radius: var(--chip-avatar-border-radius); + height: var(--avatar-size); + width: var(--avatar-size); + margin-left: var(--chip-avatar-padding); + box-sizing: border-box; + object-fit: cover; + } + :host([rtl]) .avatar { + margin-left: initial; + margin-right: var(--chip-avatar-padding); + } + .content { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + height: 100%; + padding: var(--chip-padding); + line-height: 0; + } + ::slotted(ha-icon), + ::slotted(ha-state-icon) { + display: flex; + line-height: 0; + --mdc-icon-size: var(--chip-icon-size); + color: var(--icon-color); + } + ::slotted(svg) { + width: var(--chip-icon-size); + height: var(--chip-icon-size); + display: flex; + } + ::slotted(span) { + font-weight: var(--chip-font-weight); + font-size: var(--chip-font-size); + line-height: 1; + color: var(--text-color); + } + ::slotted(*:not(:last-child)) { + margin-right: 0.15em; + } + :host([rtl]) ::slotted(*:not(:last-child)) { + margin-right: initial; + margin-left: 0.15em; + } + `]}};n([_t()],Wl.prototype,"icon",void 0),n([_t()],Wl.prototype,"label",void 0),n([_t()],Wl.prototype,"avatar",void 0),n([_t()],Wl.prototype,"avatarOnly",void 0),Wl=n([pt("mushroom-chip")],Wl);const Xl=t=>{try{const e=Kl(t.type);if(customElements.get(e)){const i=document.createElement(e,t);return i.setConfig(t),i}const i=document.createElement(e);return customElements.whenDefined(e).then((()=>{try{customElements.upgrade(i),i.setConfig(t)}catch(t){}})),i}catch(t){return void console.error(t)}};function Kl(t){return`${Nl}-${t}-chip`}function Gl(t){return`${Nl}-${t}-chip-editor`}let ql=class extends ht{static async getConfigElement(){return await Promise.resolve().then((function(){return Gd})),document.createElement(Gl("entity"))}static async getStubConfig(t){return{type:"entity",entity:Object.keys(t.states)[0]}}setConfig(t){this._config=t}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){var t;if(!this.hass||!this._config||!this._config.entity)return K;const e=this._config.entity,i=this.hass.states[e];if(!i)return K;const o=this._config.name||i.attributes.friendly_name||"",n=this._config.icon,r=this._config.icon_color,a=this._config.use_entity_picture?Yt(i):void 0,l=this.hass.formatEntityState?this.hass.formatEntityState(i):ne(this.hass.localize,i,this.hass.locale,this.hass.config,this.hass.entities),s=Bt(i),c=nl(null!==(t=this._config.content_info)&&void 0!==t?t:"state",o,l,i,this.hass),d=Ie(this.hass);return Y` + + ${a?K:this.renderIcon(i,n,r,s)} + ${c?Y`${c}`:K} + + `}renderIcon(t,e,i,o){const n={};if(i){const t=qa(i);n["--color"]=`rgb(${t})`}return Y` + + `}static get styles(){return h` + mushroom-chip { + cursor: pointer; + } + ha-state-icon.active { + color: var(--color); + } + `}};n([_t({attribute:!1})],ql.prototype,"hass",void 0),n([vt()],ql.prototype,"_config",void 0),ql=n([pt(Kl("entity"))],ql);const Zl=new Set(["partlycloudy","cloudy","fog","windy","windy-variant","hail","rainy","snowy","snowy-rainy","pouring","lightning","lightning-rainy"]),Jl=new Set(["hail","rainy","pouring"]),Ql=new Set(["windy","windy-variant"]),ts=new Set(["snowy","snowy-rainy"]),es=new Set(["lightning","lightning-rainy"]),is=h` + .rain { + fill: var(--weather-icon-rain-color, #30b3ff); + } + .sun { + fill: var(--weather-icon-sun-color, #fdd93c); + } + .moon { + fill: var(--weather-icon-moon-color, #fcf497); + } + .cloud-back { + fill: var(--weather-icon-cloud-back-color, #d4d4d4); + } + .cloud-front { + fill: var(--weather-icon-cloud-front-color, #f9f9f9); + } +`,os=(t,e)=>W` + + ${"sunny"===t?W` + + `:""} + ${"clear-night"===t?W` + + `:""} + ${"partlycloudy"===t&&e?W` + + `:"partlycloudy"===t?W` + + `:""} + ${Zl.has(t)?W` + + + `:""} + ${Jl.has(t)?W` + + + + + `:""} + ${"pouring"===t?W` + + + `:""} + ${Ql.has(t)?W` + + + `:""} + ${ts.has(t)?W` + + + + `:""} + ${es.has(t)?W` + + `:""} + `;let ns=class extends ht{static async getConfigElement(){return await Promise.resolve().then((function(){return Qd})),document.createElement(Gl("weather"))}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>"weather"===t.split(".")[0]));return{type:"weather",entity:e[0]}}setConfig(t){this._config=t}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){if(!this.hass||!this._config||!this._config.entity)return K;const t=this._config.entity,e=this.hass.states[t];if(!e)return K;const i=os(e.state,!0),o=[];if(this._config.show_conditions){const t=this.hass.formatEntityState?this.hass.formatEntityState(e):ne(this.hass.localize,e,this.hass.locale,this.hass.config,this.hass.entities);o.push(t)}if(this._config.show_temperature){const t=`${te(e.attributes.temperature,this.hass.locale)} ${this.hass.config.unit_system.temperature}`;o.push(t)}const n=Ie(this.hass);return Y` + + ${i} + ${o.length>0?Y`${o.join(" / ")}`:K} + + `}static get styles(){return[is,h` + mushroom-chip { + cursor: pointer; + } + `]}};n([_t({attribute:!1})],ns.prototype,"hass",void 0),n([vt()],ns.prototype,"_config",void 0),ns=n([pt(Kl("weather"))],ns);const rs="mdi:arrow-left";let as=class extends ht{static async getConfigElement(){return await Promise.resolve().then((function(){return iu})),document.createElement(Gl("back"))}static async getStubConfig(t){return{type:"back"}}setConfig(t){this._config=t}_handleAction(){window.history.back()}render(){if(!this.hass||!this._config)return K;const t=this._config.icon||rs,e=Ie(this.hass);return Y` + + + + `}static get styles(){return h` + mushroom-chip { + cursor: pointer; + } + `}};n([_t({attribute:!1})],as.prototype,"hass",void 0),n([vt()],as.prototype,"_config",void 0),as=n([pt(Kl("back"))],as);const ls="mdi:flash";let ss=class extends ht{static async getConfigElement(){return await Promise.resolve().then((function(){return ru})),document.createElement(Gl("action"))}static async getStubConfig(t){return{type:"action"}}setConfig(t){this._config=t}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){if(!this.hass||!this._config)return K;const t=this._config.icon||ls,e=this._config.icon_color,i={};if(e){const t=qa(e);i["--color"]=`rgb(${t})`}const o=Ie(this.hass);return Y` + + + + `}static get styles(){return h` + mushroom-chip { + cursor: pointer; + } + ha-state-icon { + color: var(--color); + } + `}};n([_t({attribute:!1})],ss.prototype,"hass",void 0),n([vt()],ss.prototype,"_config",void 0),ss=n([pt(Kl("action"))],ss);const cs="mdi:menu";let ds=class extends ht{static async getConfigElement(){return await Promise.resolve().then((function(){return su})),document.createElement(Gl("menu"))}static async getStubConfig(t){return{type:"menu"}}setConfig(t){this._config=t}_handleAction(){Lt(this,"hass-toggle-menu")}render(){if(!this.hass||!this._config)return K;const t=this._config.icon||cs,e=Ie(this.hass);return Y` + + + + `}static get styles(){return h` + mushroom-chip { + cursor: pointer; + } + `}};n([_t({attribute:!1})],ds.prototype,"hass",void 0),n([vt()],ds.prototype,"_config",void 0),ds=n([pt(Kl("menu"))],ds);const us=new Set(["clear-night","cloudy","fog","lightning","lightning-rainy","partlycloudy","pouring","rainy","hail","snowy","snowy-rainy","sunny","windy","windy-variant"]),hs=t=>{if(!t||!t.startsWith("weather-"))return;const e=t.replace("weather-","");return us.has(e)?os(e,!0):void 0},ms=["content","icon","icon_color","picture"];let ps=class extends ht{constructor(){super(...arguments),this._templateResults={},this._unsubRenderTemplates=new Map}static async getConfigElement(){return await Promise.resolve().then((function(){return gu})),document.createElement(Gl("template"))}static async getStubConfig(t){return{type:"template"}}setConfig(t){ms.forEach((e=>{var i,o;(null===(i=this._config)||void 0===i?void 0:i[e])===t[e]&&(null===(o=this._config)||void 0===o?void 0:o.entity)==t.entity||this._tryDisconnectKey(e)})),this._config=Object.assign({tap_action:{action:"toggle"},hold_action:{action:"more-info"}},t)}connectedCallback(){super.connectedCallback(),this._tryConnect()}disconnectedCallback(){this._tryDisconnect()}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}isTemplate(t){var e;const i=null===(e=this._config)||void 0===e?void 0:e[t];return null==i?void 0:i.includes("{")}getValue(t){var e,i,o;return this.isTemplate(t)?null===(i=null===(e=this._templateResults[t])||void 0===e?void 0:e.result)||void 0===i?void 0:i.toString():null===(o=this._config)||void 0===o?void 0:o[t]}render(){if(!this.hass||!this._config)return K;const t=this.getValue("icon"),e=this.getValue("icon_color"),i=this.getValue("content"),o=this.getValue("picture"),n=Ie(this.hass),r=hs(t);return Y` + + ${o?K:r||(t?this.renderIcon(t,e):K)} + ${i?this.renderContent(i):K} + + `}renderIcon(t,e){const i={};if(e){const t=qa(e);i["--color"]=`rgb(${t})`}return Y``}renderContent(t){return Y`${t}`}updated(t){super.updated(t),this._config&&this.hass&&this._tryConnect()}async _tryConnect(){ms.forEach((t=>{this._tryConnectKey(t)}))}async _tryConnectKey(t){var e,i;if(void 0===this._unsubRenderTemplates.get(t)&&this.hass&&this._config&&this.isTemplate(t))try{const i=Fe(this.hass.connection,(e=>{this._templateResults=Object.assign(Object.assign({},this._templateResults),{[t]:e})}),{template:null!==(e=this._config[t])&&void 0!==e?e:"",entity_ids:this._config.entity_id,variables:{config:this._config,user:this.hass.user.name,entity:this._config.entity},strict:!0});this._unsubRenderTemplates.set(t,i),await i}catch(e){const o={result:null!==(i=this._config[t])&&void 0!==i?i:"",listeners:{all:!1,domains:[],entities:[],time:!1}};this._templateResults=Object.assign(Object.assign({},this._templateResults),{[t]:o}),this._unsubRenderTemplates.delete(t)}}async _tryDisconnect(){ms.forEach((t=>{this._tryDisconnectKey(t)}))}async _tryDisconnectKey(t){const e=this._unsubRenderTemplates.get(t);if(e)try{(await e)(),this._unsubRenderTemplates.delete(t)}catch(t){if("not_found"!==t.code&&"template_error"!==t.code)throw t}}static get styles(){return h` + mushroom-chip { + cursor: pointer; + } + ha-state-icon { + color: var(--color); + } + ${is} + `}};n([_t({attribute:!1})],ps.prototype,"hass",void 0),n([vt()],ps.prototype,"_config",void 0),n([vt()],ps.prototype,"_templateResults",void 0),n([vt()],ps.prototype,"_unsubRenderTemplates",void 0),ps=n([pt(Kl("template"))],ps);const fs=()=>{var t,e,i;customElements.get("ha-form")||null===(t=customElements.get("hui-button-card"))||void 0===t||t.getConfigElement(),customElements.get("ha-entity-picker")||null===(e=customElements.get("hui-entities-card"))||void 0===e||e.getConfigElement(),customElements.get("ha-card-conditions-editor")||null===(i=customElements.get("hui-conditional-card"))||void 0===i||i.getConfigElement()},gs=Kl("conditional"),_s=async()=>{if(customElements.get(gs))return;if(!customElements.get("hui-conditional-base")){(await window.loadCardHelpers()).createCardElement({type:"conditional",card:{type:"button"},conditions:[]})}const t=await(async t=>{let e=customElements.get(t);return e||(await customElements.whenDefined(t),customElements.get(t))})("hui-conditional-base");class e extends t{static async getConfigElement(){return await Promise.resolve().then((function(){return kp})),document.createElement(Gl("conditional"))}static async getStubConfig(){return{type:"conditional",conditions:[]}}setConfig(t){if(this.validateConfig(t),!t.chip)throw new Error("No chip configured");this._element=Xl(t.chip)}}customElements.get(gs)||customElements.define(gs,e)};function vs(t){return null!=t.attributes.brightness?Math.max(Math.round(100*t.attributes.brightness/255),1):void 0}function bs(t){return null!=t.attributes.rgb_color?t.attributes.rgb_color:void 0}function ys(t){return Ka.rgb(t).l()>96}function xs(t){return Ka.rgb(t).l()>97}function ws(t){return(t=>{var e;return(null===(e=t.attributes.supported_color_modes)||void 0===e?void 0:e.some((t=>De.includes(t))))||!1})(t)}function ks(t){return(t=>{var e;return(null===(e=t.attributes.supported_color_modes)||void 0===e?void 0:e.some((t=>Le.includes(t))))||!1})(t)}let Cs=class extends ht{static async getConfigElement(){return await Promise.resolve().then((function(){return Op})),document.createElement(Gl("light"))}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>"light"===t.split(".")[0]));return{type:"light",entity:e[0]}}setConfig(t){this._config=Object.assign({tap_action:{action:"toggle"},hold_action:{action:"more-info"}},t)}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){var t,e;if(!this.hass||!this._config||!this._config.entity)return K;const i=this._config.entity,o=this.hass.states[i];if(!o)return K;const n=this._config.name||o.attributes.friendly_name||"",r=this._config.icon,a=this.hass.formatEntityState?this.hass.formatEntityState(o):ne(this.hass.localize,o,this.hass.locale,this.hass.config,this.hass.entities),l=Bt(o),s=bs(o),c={};if(s&&(null===(t=this._config)||void 0===t?void 0:t.use_light_color)){const t=s.join(",");c["--color"]=`rgb(${t})`,xs(s)&&(c["--color"]="rgba(var(--rgb-primary-text-color), 0.2)")}const d=nl(null!==(e=this._config.content_info)&&void 0!==e?e:"state",n,a,o,this.hass),u=Ie(this.hass);return Y` + + + ${d?Y`${d}`:K} + + `}static get styles(){return h` + :host { + --color: rgb(var(--rgb-state-light)); + } + mushroom-chip { + cursor: pointer; + } + ha-state-icon.active { + color: var(--color); + } + `}};n([_t({attribute:!1})],Cs.prototype,"hass",void 0),n([vt()],Cs.prototype,"_config",void 0),Cs=n([pt(Kl("light"))],Cs);let $s=class extends ht{static async getConfigElement(){return await Promise.resolve().then((function(){return jp})),document.createElement(Gl("alarm-control-panel"))}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>Vl.includes(t.split(".")[0])));return{type:"alarm-control-panel",entity:e[0]}}setConfig(t){this._config=t}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){var t;if(!this.hass||!this._config||!this._config.entity)return K;const e=this._config.entity,i=this.hass.states[e];if(!i)return K;const o=this._config.name||i.attributes.friendly_name||"",n=this._config.icon,r=Ul(i.state),a=Hl(i.state),l=this.hass.formatEntityState?this.hass.formatEntityState(i):ne(this.hass.localize,i,this.hass.locale,this.hass.config,this.hass.entities),s={};if(r){const t=qa(r);s["--color"]=`rgb(${t})`}const c=nl(null!==(t=this._config.content_info)&&void 0!==t?t:"state",o,l,i,this.hass),d=Ie(this.hass);return Y` + + + ${c?Y`${c}`:K} + + `}static get styles(){return h` + mushroom-chip { + cursor: pointer; + } + ha-state-icon { + color: var(--color); + } + ha-state-icon.pulse { + animation: 1s ease 0s infinite normal none running pulse; + } + ${yl} + `}};n([_t({attribute:!1})],$s.prototype,"hass",void 0),n([vt()],$s.prototype,"_config",void 0),$s=n([pt(Kl("alarm-control-panel"))],$s);let Es=class extends ht{setConfig(){}static get styles(){return h` + :host { + flex-grow: 1; + } + `}};Es=n([pt(Kl("spacer"))],Es);const As=`${Nl}-chips-card`,Ss=`${As}-editor`;Pl({type:As,name:"Mushroom Chips Card",description:"Card with chips to display informations"});let Is=class extends ht{static async getConfigElement(){return await Promise.resolve().then((function(){return Qp})),document.createElement(Ss)}static async getStubConfig(t){const e=await Promise.all([ql.getStubConfig(t)]);return{type:`custom:${As}`,chips:e}}set hass(t){var e;const i=Ml(this._hass),o=Ml(t);i!==o&&this.toggleAttribute("dark-mode",o),this._hass=t,null===(e=this.shadowRoot)||void 0===e||e.querySelectorAll("div > *").forEach((e=>{e.hass=t}))}getCardSize(){return 1}setConfig(t){this._config=t}render(){if(!this._config||!this._hass)return K;let t="";this._config.alignment&&(t=`align-${this._config.alignment}`);const e=Ie(this._hass);return Y` + +
+ ${this._config.chips.map((t=>this.renderChip(t)))} +
+
+ `}renderChip(t){"conditional"===t.type&&_s();const e=Xl(t);return e?(this._hass&&(e.hass=this._hass),e.editMode=this.editMode||this.preview,e.preview=this.preview||this.editMode,Y`${e}`):K}static get styles(){return[jl.styles,h` + ha-card { + background: none; + box-shadow: none; + border-radius: 0; + border: none; + } + .chip-container { + display: flex; + flex-direction: row; + align-items: flex-start; + justify-content: flex-start; + flex-wrap: wrap; + gap: var(--chip-spacing); + } + .chip-container.align-end { + justify-content: flex-end; + } + .chip-container.align-center { + justify-content: center; + } + .chip-container.align-justify { + justify-content: space-between; + } + `]}};n([_t()],Is.prototype,"preview",void 0),n([_t()],Is.prototype,"editMode",void 0),n([vt()],Is.prototype,"_config",void 0),Is=n([pt(As)],Is);const Ts=`${Nl}-climate-card`,Os=`${Ts}-editor`,zs=["climate"],Ms={auto:"var(--rgb-state-climate-auto)",cool:"var(--rgb-state-climate-cool)",dry:"var(--rgb-state-climate-dry)",fan_only:"var(--rgb-state-climate-fan-only)",heat:"var(--rgb-state-climate-heat)",heat_cool:"var(--rgb-state-climate-heat-cool)",off:"var(--rgb-state-climate-off)"},js={cooling:"var(--rgb-state-climate-cool)",drying:"var(--rgb-state-climate-dry)",heating:"var(--rgb-state-climate-heat)",idle:"var(--rgb-state-climate-idle)",off:"var(--rgb-state-climate-off)"},Ds={auto:"mdi:calendar-sync",cool:"mdi:snowflake",dry:"mdi:water-percent",fan_only:"mdi:fan",heat:"mdi:fire",heat_cool:"mdi:autorenew",off:"mdi:power"},Ls={cooling:"mdi:snowflake",drying:"mdi:water-percent",heating:"mdi:fire",idle:"mdi:clock-outline",off:"mdi:power"};function Ps(t){var e;return null!==(e=Ms[t])&&void 0!==e?e:Ms.off}let Ns=class extends ht{constructor(){super(...arguments),this.fill=!1}callService(t){t.stopPropagation();const e=t.target.mode;this.hass.callService("climate","set_hvac_mode",{entity_id:this.entity.entity_id,hvac_mode:e})}render(){const t=Ie(this.hass),e=this.entity.attributes.hvac_modes.filter((t=>{var e;return(null!==(e=this.modes)&&void 0!==e?e:[]).includes(t)})).sort(je);return Y` + + ${e.map((t=>this.renderModeButton(t)))} + + `}renderModeButton(t){const e={},i="off"===t?"var(--rgb-grey)":Ps(t);return t===this.entity.state&&(e["--icon-color"]=`rgb(${i})`,e["--bg-color"]=`rgba(${i}, 0.2)`),Y` + + + + `}};n([_t({attribute:!1})],Ns.prototype,"hass",void 0),n([_t({attribute:!1})],Ns.prototype,"entity",void 0),n([_t({attribute:!1})],Ns.prototype,"modes",void 0),n([_t()],Ns.prototype,"fill",void 0),Ns=n([pt("mushroom-climate-hvac-modes-control")],Ns);let Rs=class extends ht{constructor(){super(...arguments),this.disabled=!1,this.formatOptions={},this.pending=!1,this.dispatchValue=t=>{this.pending=!1,this.dispatchEvent(new CustomEvent("change",{detail:{value:t}}))},this.debounceDispatchValue=this.dispatchValue}get _precision(){return Math.ceil(Math.log10(1/this._step))}get _step(){var t;return null!==(t=this.step)&&void 0!==t?t:1}_incrementValue(t){if(t.stopPropagation(),null==this.value)return;const e=Qt(this.value+this._step,this._precision);this._processNewValue(e)}_decrementValue(t){if(t.stopPropagation(),null==this.value)return;const e=Qt(this.value-this._step,this._precision);this._processNewValue(e)}firstUpdated(t){super.firstUpdated(t);const e=(t=>{const e=window.getComputedStyle(t).getPropertyValue("--input-number-debounce"),i=parseFloat(e);return isNaN(i)?2e3:i})(this.container);e&&(this.debounceDispatchValue=Te(this.dispatchValue,e))}_processNewValue(t){const e=((t,e,i)=>{let o;return o=e?Math.max(t,e):t,o=i?Math.min(o,i):o,o})(t,this.min,this.max);this.value!==e&&(this.value=e,this.pending=!0),this.debounceDispatchValue(e)}render(){const t=null!=this.value?te(this.value,this.locale,this.formatOptions):"-";return Y` +
+ + + ${t} + + +
+ `}static get styles(){return h` + :host { + --text-color: var(--primary-text-color); + --text-color-disabled: rgb(var(--rgb-disabled)); + --icon-color: var(--primary-text-color); + --icon-color-disabled: rgb(var(--rgb-disabled)); + --bg-color: rgba(var(--rgb-primary-text-color), 0.05); + --bg-color-disabled: rgba(var(--rgb-disabled), 0.2); + height: var(--control-height); + width: calc(var(--control-height) * var(--control-button-ratio) * 3); + flex: none; + } + .container { + box-sizing: border-box; + width: 100%; + height: 100%; + padding: 6px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + border-radius: var(--control-border-radius); + border: none; + background-color: var(--bg-color); + transition: background-color 280ms ease-in-out; + height: var(--control-height); + overflow: hidden; + } + .button { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + padding: 4px; + border: none; + background: none; + cursor: pointer; + border-radius: var(--control-border-radius); + line-height: 0; + height: 100%; + } + .minus { + padding-right: 0; + } + .plus { + padding-left: 0; + } + .button:disabled { + cursor: not-allowed; + } + .button ha-icon { + font-size: var(--control-height); + --mdc-icon-size: var(--control-icon-size); + color: var(--icon-color); + pointer-events: none; + } + .button:disabled ha-icon { + color: var(--icon-color-disabled); + } + .value { + text-align: center; + flex-grow: 1; + flex-shrink: 0; + flex-basis: 20px; + font-weight: bold; + color: var(--text-color); + } + .value.disabled { + color: var(--text-color-disabled); + } + .value.pending { + opacity: 0.5; + } + `}};n([_t({attribute:!1})],Rs.prototype,"locale",void 0),n([_t({type:Boolean})],Rs.prototype,"disabled",void 0),n([_t({attribute:!1,type:Number,reflect:!0})],Rs.prototype,"value",void 0),n([_t({type:Number})],Rs.prototype,"step",void 0),n([_t({type:Number})],Rs.prototype,"min",void 0),n([_t({type:Number})],Rs.prototype,"max",void 0),n([_t({attribute:"false"})],Rs.prototype,"formatOptions",void 0),n([vt()],Rs.prototype,"pending",void 0),n([xt("#container")],Rs.prototype,"container",void 0),Rs=n([pt("mushroom-input-number")],Rs);let Fs=class extends ht{constructor(){super(...arguments),this.fill=!1}get _stepSize(){return this.entity.attributes.target_temp_step?this.entity.attributes.target_temp_step:"°F"===this.hass.config.unit_system.temperature?1:.5}onValueChange(t){const e=t.detail.value;this.hass.callService("climate","set_temperature",{entity_id:this.entity.entity_id,temperature:e})}onLowValueChange(t){const e=t.detail.value;this.hass.callService("climate","set_temperature",{entity_id:this.entity.entity_id,target_temp_low:e,target_temp_high:this.entity.attributes.target_temp_high})}onHighValueChange(t){const e=t.detail.value;this.hass.callService("climate","set_temperature",{entity_id:this.entity.entity_id,target_temp_low:this.entity.attributes.target_temp_low,target_temp_high:e})}render(){const t=Ie(this.hass),e=Ut(this.entity),i=1===this._stepSize?{maximumFractionDigits:0}:{minimumFractionDigits:1,maximumFractionDigits:1},o=t=>({"--bg-color":`rgba(var(--rgb-state-climate-${t}), 0.05)`,"--icon-color":`rgb(var(--rgb-state-climate-${t}))`,"--text-color":`rgb(var(--rgb-state-climate-${t}))`});return Y` + + ${null!=this.entity.attributes.temperature?Y` + + `:K} + ${null!=this.entity.attributes.target_temp_low&&null!=this.entity.attributes.target_temp_high?Y` + + `:K} + + `}};n([_t({attribute:!1})],Fs.prototype,"hass",void 0),n([_t({attribute:!1})],Fs.prototype,"entity",void 0),n([_t()],Fs.prototype,"fill",void 0),Fs=n([pt("mushroom-climate-temperature-control")],Fs);const Vs={temperature_control:"mdi:thermometer",hvac_mode_control:"mdi:thermostat"};Pl({type:Ts,name:"Mushroom Climate Card",description:"Card for climate entity"});let Bs=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return af})),document.createElement(Os)}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>zs.includes(t.split(".")[0])));return{type:`custom:${Ts}`,entity:e[0]}}get _controls(){if(!this._config||!this._stateObj)return[];const t=this._stateObj,e=[];var i;return(null!=(i=t).attributes.temperature||null!=i.attributes.target_temp_low&&null!=i.attributes.target_temp_high)&&this._config.show_temperature_control&&e.push("temperature_control"),((t,e)=>(t.attributes.hvac_modes||[]).some((t=>(null!=e?e:[]).includes(t))))(t,this._config.hvac_modes)&&e.push("hvac_mode_control"),e}get hasControls(){return this._controls.length>0}_onControlTap(t,e){e.stopPropagation(),this._activeControl=t}setConfig(t){super.setConfig(Object.assign({tap_action:{action:"toggle"},hold_action:{action:"more-info"}},t)),this.updateActiveControl()}updated(t){super.updated(t),this.hass&&t.has("hass")&&this.updateActiveControl()}updateActiveControl(){const t=!!this._activeControl&&this._controls.includes(this._activeControl);this._activeControl=t?this._activeControl:this._controls[0]}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){if(!this.hass||!this._config||!this._config.entity)return K;const t=this._stateObj;if(!t)return this.renderNotFound(this._config);const e=this._config.name||t.attributes.friendly_name||"",i=this._config.icon,o=$l(this._config),n=rl(t,o.icon_type);let r=this.hass.formatEntityState?this.hass.formatEntityState(t):ne(this.hass.localize,t,this.hass.locale,this.hass.config,this.hass.entities);if(null!==t.attributes.current_temperature){r+=` - ${te(t.attributes.current_temperature,this.hass.locale)} ${this.hass.config.unit_system.temperature}`}const a=Ie(this.hass),l=(!this._config.collapsible_controls||Bt(t))&&this._controls.length;return Y` + + + + ${n?this.renderPicture(n):this.renderIcon(t,i)} + ${this.renderBadge(t)} + ${this.renderStateInfo(t,o,e,r)}; + + ${l?Y` +
+ ${this.renderActiveControl(t)} + ${this.renderOtherControls()} +
+ `:K} +
+
+ `}renderIcon(t,e){const i=Ut(t),o=Ps(t.state),n={};return n["--icon-color"]=`rgb(${o})`,n["--shape-color"]=`rgba(${o}, 0.2)`,Y` + + + + `}renderBadge(t){return!Ut(t)?super.renderBadge(t):this.renderActionBadge(t)}renderActionBadge(t){const e=t.attributes.hvac_action;if(!e||"off"==e)return K;const i=function(t){var e;return null!==(e=js[t])&&void 0!==e?e:js.off}(e),o=function(t){var e;return null!==(e=Ls[t])&&void 0!==e?e:""}(e);return o?Y` + + `:K}renderOtherControls(){const t=this._controls.filter((t=>t!=this._activeControl));return Y` + ${t.map((t=>Y` + this._onControlTap(t,e)}> + + + `))} + `}renderActiveControl(t){var e;const i=null!==(e=this._config.hvac_modes)&&void 0!==e?e:[],o=$l(this._config);switch(this._activeControl){case"temperature_control":return Y` + + `;case"hvac_mode_control":return Y` + + `;default:return K}}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + mushroom-climate-temperature-control, + mushroom-climate-hvac-modes-control { + flex: 1; + } + `]}};n([vt()],Bs.prototype,"_activeControl",void 0),Bs=n([pt(Ts)],Bs);const Us=`${Nl}-cover-card`,Hs=`${Us}-editor`,Ys=["cover"];let Ws=class extends ht{constructor(){super(...arguments),this.fill=!1}_onOpenTap(t){t.stopPropagation(),this.hass.callService("cover","open_cover",{entity_id:this.entity.entity_id})}_onCloseTap(t){t.stopPropagation(),this.hass.callService("cover","close_cover",{entity_id:this.entity.entity_id})}_onStopTap(t){t.stopPropagation(),this.hass.callService("cover","stop_cover",{entity_id:this.entity.entity_id})}get openDisabled(){const t=!0===this.entity.attributes.assumed_state;return((void 0!==(e=this.entity).attributes.current_position?100===e.attributes.current_position:"open"===e.state)||function(t){return"opening"===t.state}(this.entity))&&!t;var e}get closedDisabled(){const t=!0===this.entity.attributes.assumed_state;return((void 0!==(e=this.entity).attributes.current_position?0===e.attributes.current_position:"closed"===e.state)||function(t){return"closing"===t.state}(this.entity))&&!t;var e}render(){const t=Ie(this.hass);return Y` + + ${Wt(this.entity,1)?Y` + + {switch(t.attributes.device_class){case"awning":case"curtain":case"door":case"gate":return"mdi:arrow-expand-horizontal";default:return"mdi:arrow-up"}})(this.entity)}> + + `:void 0} + ${Wt(this.entity,8)?Y` + + + + `:void 0} + ${Wt(this.entity,2)?Y` + + {switch(t.attributes.device_class){case"awning":case"curtain":case"door":case"gate":return"mdi:arrow-collapse-horizontal";default:return"mdi:arrow-down"}})(this.entity)}> + + `:void 0} + + `}};n([_t({attribute:!1})],Ws.prototype,"hass",void 0),n([_t({attribute:!1})],Ws.prototype,"entity",void 0),n([_t()],Ws.prototype,"fill",void 0),Ws=n([pt("mushroom-cover-buttons-control")],Ws);var Xs; +/*! Hammer.JS - v2.0.7 - 2016-04-22 + * http://hammerjs.github.io/ + * + * Copyright (c) 2016 Jorik Tangelder; + * Licensed under the MIT license */Xs={exports:{}},function(t,e,i,o){var n,r=["","webkit","Moz","MS","ms","o"],a=e.createElement("div"),l="function",s=Math.round,c=Math.abs,d=Date.now;function u(t,e,i){return setTimeout(v(t,i),e)}function h(t,e,i){return!!Array.isArray(t)&&(m(t,i[e],i),!0)}function m(t,e,i){var n;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==o)for(n=0;n\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",r=t.console&&(t.console.warn||t.console.log);return r&&r.call(t.console,n,o),e.apply(this,arguments)}}n="function"!=typeof Object.assign?function(t){if(t===o||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i-1}function $(t){return t.trim().split(/\s+/g)}function E(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var o=0;oi[e]})),o}function I(t,e){for(var i,n,a=e[0].toUpperCase()+e.slice(1),l=0;l1&&!i.firstMultiple?i.firstMultiple=Q(e):1===r&&(i.firstMultiple=!1);var a=i.firstInput,l=i.firstMultiple,s=l?l.center:a.center,u=e.center=tt(n);e.timeStamp=d(),e.deltaTime=e.timeStamp-a.timeStamp,e.angle=nt(s,u),e.distance=ot(s,u),function(t,e){var i=e.center,o=t.offsetDelta||{},n=t.prevDelta||{},r=t.prevInput||{};e.eventType!==N&&r.eventType!==R||(n=t.prevDelta={x:r.deltaX||0,y:r.deltaY||0},o=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=n.x+(i.x-o.x),e.deltaY=n.y+(i.y-o.y)}(i,e),e.offsetDirection=it(e.deltaX,e.deltaY);var h,m,p=et(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=p.x,e.overallVelocityY=p.y,e.overallVelocity=c(p.x)>c(p.y)?p.x:p.y,e.scale=l?(h=l.pointers,ot((m=n)[0],m[1],q)/ot(h[0],h[1],q)):1,e.rotation=l?function(t,e){return nt(e[1],e[0],q)+nt(t[1],t[0],q)}(l.pointers,n):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,n,r,a,l=t.lastInterval||e,s=e.timeStamp-l.timeStamp;if(e.eventType!=F&&(s>P||l.velocity===o)){var d=e.deltaX-l.deltaX,u=e.deltaY-l.deltaY,h=et(s,d,u);n=h.x,r=h.y,i=c(h.x)>c(h.y)?h.x:h.y,a=it(d,u),t.lastInterval=e}else i=l.velocity,n=l.velocityX,r=l.velocityY,a=l.direction;e.velocity=i,e.velocityX=n,e.velocityY=r,e.direction=a}(i,e);var f=t.element;k(e.srcEvent.target,f)&&(f=e.srcEvent.target),e.target=f}(t,i),t.emit("hammer.input",i),t.recognize(i),t.session.prevInput=i}function Q(t){for(var e=[],i=0;i=c(e)?t<0?B:U:e<0?H:Y}function ot(t,e,i){i||(i=G);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return Math.sqrt(o*o+n*n)}function nt(t,e,i){i||(i=G);var o=e[i[0]]-t[i[0]],n=e[i[1]]-t[i[1]];return 180*Math.atan2(n,o)/Math.PI}Z.prototype={handler:function(){},init:function(){this.evEl&&x(this.element,this.evEl,this.domHandler),this.evTarget&&x(this.target,this.evTarget,this.domHandler),this.evWin&&x(O(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&w(this.element,this.evEl,this.domHandler),this.evTarget&&w(this.target,this.evTarget,this.domHandler),this.evWin&&w(O(this.element),this.evWin,this.domHandler)}};var rt={mousedown:N,mousemove:2,mouseup:R},at="mousedown",lt="mousemove mouseup";function st(){this.evEl=at,this.evWin=lt,this.pressed=!1,Z.apply(this,arguments)}_(st,Z,{handler:function(t){var e=rt[t.type];e&N&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=R),this.pressed&&(e&R&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:L,srcEvent:t}))}});var ct={pointerdown:N,pointermove:2,pointerup:R,pointercancel:F,pointerout:F},dt={2:D,3:"pen",4:L,5:"kinect"},ut="pointerdown",ht="pointermove pointerup pointercancel";function mt(){this.evEl=ut,this.evWin=ht,Z.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}t.MSPointerEvent&&!t.PointerEvent&&(ut="MSPointerDown",ht="MSPointerMove MSPointerUp MSPointerCancel"),_(mt,Z,{handler:function(t){var e=this.store,i=!1,o=t.type.toLowerCase().replace("ms",""),n=ct[o],r=dt[t.pointerType]||t.pointerType,a=r==D,l=E(e,t.pointerId,"pointerId");n&N&&(0===t.button||a)?l<0&&(e.push(t),l=e.length-1):n&(R|F)&&(i=!0),l<0||(e[l]=t,this.callback(this.manager,n,{pointers:e,changedPointers:[t],pointerType:r,srcEvent:t}),i&&e.splice(l,1))}});var pt={touchstart:N,touchmove:2,touchend:R,touchcancel:F};function ft(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,Z.apply(this,arguments)}function gt(t,e){var i=A(t.touches),o=A(t.changedTouches);return e&(R|F)&&(i=S(i.concat(o),"identifier")),[i,o]}_(ft,Z,{handler:function(t){var e=pt[t.type];if(e===N&&(this.started=!0),this.started){var i=gt.call(this,t,e);e&(R|F)&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:D,srcEvent:t})}}});var _t={touchstart:N,touchmove:2,touchend:R,touchcancel:F},vt="touchstart touchmove touchend touchcancel";function bt(){this.evTarget=vt,this.targetIds={},Z.apply(this,arguments)}function yt(t,e){var i=A(t.touches),o=this.targetIds;if(e&(2|N)&&1===i.length)return o[i[0].identifier]=!0,[i,i];var n,r,a=A(t.changedTouches),l=[],s=this.target;if(r=i.filter((function(t){return k(t.target,s)})),e===N)for(n=0;n-1&&o.splice(t,1)}),xt)}}function $t(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,o=0;o-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,i=this.state;function o(i){e.manager.emit(i,t)}i<8&&o(e.options.event+Rt(i)),o(e.options.event),t.additionalEvent&&o(t.additionalEvent),i>=8&&o(e.options.event+Rt(i))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=Pt},canEmit:function(){for(var t=0;te.threshold&&n&e.direction},attrTest:function(t){return Bt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Ft(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),_(Ht,Bt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Ot]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),_(Yt,Nt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[It]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distancee.time;if(this._input=t,!o||!i||t.eventType&(R|F)&&!n)this.reset();else if(t.eventType&N)this.reset(),this._timer=u((function(){this.state=8,this.tryEmit()}),e.time,this);else if(t.eventType&R)return 8;return Pt},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&t.eventType&R?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=d(),this.manager.emit(this.options.event,this._input)))}}),_(Wt,Bt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Ot]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),_(Xt,Bt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:W|X,pointers:1},getTouchAction:function(){return Ut.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return i&(W|X)?e=t.overallVelocity:i&W?e=t.overallVelocityX:i&X&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&c(e)>this.options.velocity&&t.eventType&R},emit:function(t){var e=Ft(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),_(Kt,Nt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Tt]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,o=t.distance{const e=t.center.x,i=t.target.getBoundingClientRect().left,o=t.target.clientWidth;return Math.max(Math.min(1,(e-i)/o),0)};let Gs=class extends ht{constructor(){super(...arguments),this.disabled=!1,this.inactive=!1,this.step=1,this.min=0,this.max=100,this.controlled=!1}valueToPercentage(t){return(t-this.min)/(this.max-this.min)}percentageToValue(t){return(this.max-this.min)*t+this.min}firstUpdated(t){super.firstUpdated(t),this.setupListeners()}connectedCallback(){super.connectedCallback(),this.setupListeners()}disconnectedCallback(){super.disconnectedCallback(),this.destroyListeners()}setupListeners(){if(this.slider&&!this._mc){const t=(t=>{const e=window.getComputedStyle(t).getPropertyValue("--slider-threshold"),i=parseFloat(e);return isNaN(i)?10:i})(this.slider);let e;this._mc=new Hammer.Manager(this.slider,{touchAction:"pan-y"}),this._mc.add(new Hammer.Pan({threshold:t,direction:Hammer.DIRECTION_ALL,enable:!0})),this._mc.add(new Hammer.Tap({event:"singletap"})),this._mc.on("panstart",(()=>{this.disabled||(this.controlled=!0,e=this.value)})),this._mc.on("pancancel",(()=>{this.disabled||(this.controlled=!1,this.value=e)})),this._mc.on("panmove",(t=>{if(this.disabled)return;const e=Ks(t);this.value=this.percentageToValue(e),this.dispatchEvent(new CustomEvent("current-change",{detail:{value:Math.round(this.value/this.step)*this.step}}))})),this._mc.on("panend",(t=>{if(this.disabled)return;this.controlled=!1;const e=Ks(t);this.value=Math.round(this.percentageToValue(e)/this.step)*this.step,this.dispatchEvent(new CustomEvent("current-change",{detail:{value:void 0}})),this.dispatchEvent(new CustomEvent("change",{detail:{value:this.value}}))})),this._mc.on("singletap",(t=>{if(this.disabled)return;const e=Ks(t);this.value=Math.round(this.percentageToValue(e)/this.step)*this.step,this.dispatchEvent(new CustomEvent("change",{detail:{value:this.value}}))}))}}destroyListeners(){this._mc&&(this._mc.destroy(),this._mc=void 0)}render(){var t;return Y` +
+
+
+ ${this.showActive?Y`
`:K} + ${this.showIndicator?Y`
`:K} +
+
+ `}static get styles(){return h` + :host { + --main-color: rgba(var(--rgb-secondary-text-color), 1); + --bg-gradient: none; + --bg-color: rgba(var(--rgb-secondary-text-color), 0.2); + --main-color-inactive: rgb(var(--rgb-disabled)); + --bg-color-inactive: rgba(var(--rgb-disabled), 0.2); + } + .container { + display: flex; + flex-direction: row; + height: var(--control-height); + } + .slider { + position: relative; + height: 100%; + width: 100%; + border-radius: var(--control-border-radius); + transform: translateZ(0); + overflow: hidden; + cursor: pointer; + } + .slider * { + pointer-events: none; + } + .slider .slider-track-background { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + background-color: var(--bg-color); + background-image: var(--gradient); + } + .slider .slider-track-active { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + transform: scale3d(var(--value, 0), 1, 1); + transform-origin: left; + background-color: var(--main-color); + transition: transform 180ms ease-in-out; + } + .slider .slider-track-indicator { + position: absolute; + top: 0; + bottom: 0; + left: calc(var(--value, 0) * (100% - 10px)); + width: 10px; + border-radius: 3px; + background-color: white; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12); + transition: left 180ms ease-in-out; + } + .slider .slider-track-indicator:after { + display: block; + content: ""; + background-color: var(--main-color); + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; + height: 20px; + width: 2px; + border-radius: 1px; + } + .inactive .slider .slider-track-background { + background-color: var(--bg-color-inactive); + background-image: none; + } + .inactive .slider .slider-track-indicator:after { + background-color: var(--main-color-inactive); + } + .inactive .slider .slider-track-active { + background-color: var(--main-color-inactive); + } + .controlled .slider .slider-track-active { + transition: none; + } + .controlled .slider .slider-track-indicator { + transition: none; + } + `}};function qs(t){return null!=t.attributes.current_position?Math.round(t.attributes.current_position):void 0}function Zs(t){const e=t.state;return"open"===e||"opening"===e?"var(--rgb-state-cover-open)":"closed"===e||"closing"===e?"var(--rgb-state-cover-closed)":"var(--rgb-disabled)"}n([_t({type:Boolean})],Gs.prototype,"disabled",void 0),n([_t({type:Boolean})],Gs.prototype,"inactive",void 0),n([_t({type:Boolean,attribute:"show-active"})],Gs.prototype,"showActive",void 0),n([_t({type:Boolean,attribute:"show-indicator"})],Gs.prototype,"showIndicator",void 0),n([_t({attribute:!1,type:Number,reflect:!0})],Gs.prototype,"value",void 0),n([_t({type:Number})],Gs.prototype,"step",void 0),n([_t({type:Number})],Gs.prototype,"min",void 0),n([_t({type:Number})],Gs.prototype,"max",void 0),n([vt()],Gs.prototype,"controlled",void 0),n([xt("#slider")],Gs.prototype,"slider",void 0),Gs=n([pt("mushroom-slider")],Gs);let Js=class extends ht{onChange(t){const e=t.detail.value;this.hass.callService("cover","set_cover_position",{entity_id:this.entity.entity_id,position:e})}onCurrentChange(t){const e=t.detail.value;this.dispatchEvent(new CustomEvent("current-change",{detail:{value:e}}))}render(){const t=qs(this.entity);return Y` + + `}static get styles(){return h` + mushroom-slider { + --main-color: var(--slider-color); + --bg-color: var(--slider-bg-color); + } + `}};n([_t({attribute:!1})],Js.prototype,"hass",void 0),n([_t({attribute:!1})],Js.prototype,"entity",void 0),Js=n([pt("mushroom-cover-position-control")],Js);const Qs=function(t=24,e=.2){const i=[];for(let o=0;o + `}static get styles(){const t=Qs.map((([t,e])=>`${e} ${100*t}%`)).join(", ");return h` + mushroom-slider { + --main-color: var(--slider-color); + --bg-color: var(--slider-bg-color); + --gradient: -webkit-linear-gradient(right, ${u(t)}); + } + `}};n([_t({attribute:!1})],tc.prototype,"hass",void 0),n([_t({attribute:!1})],tc.prototype,"entity",void 0),tc=n([pt("mushroom-cover-tilt-position-control")],tc);const ec={buttons_control:"mdi:gesture-tap-button",position_control:"mdi:gesture-swipe-horizontal",tilt_position_control:"mdi:rotate-right"};Pl({type:Us,name:"Mushroom Cover Card",description:"Card for cover entity"});let ic=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return uf})),document.createElement(Hs)}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>Ys.includes(t.split(".")[0])));return{type:`custom:${Us}`,entity:e[0]}}get hasControls(){return this._controls.length>0}get _nextControl(){var t;if(this._activeControl)return null!==(t=this._controls[this._controls.indexOf(this._activeControl)+1])&&void 0!==t?t:this._controls[0]}_onNextControlTap(t){t.stopPropagation(),this._activeControl=this._nextControl}getCardSize(){return 1}setConfig(t){super.setConfig(Object.assign({tap_action:{action:"toggle"},hold_action:{action:"more-info"}},t)),this.updateActiveControl(),this.updatePosition()}get _controls(){if(!this._config||!this._stateObj)return[];const t=[];return this._config.show_buttons_control&&t.push("buttons_control"),this._config.show_position_control&&t.push("position_control"),this._config.show_tilt_position_control&&t.push("tilt_position_control"),t}updateActiveControl(){const t=!!this._activeControl&&this._controls.includes(this._activeControl);this._activeControl=t?this._activeControl:this._controls[0]}updated(t){super.updated(t),this.hass&&t.has("hass")&&(this.updatePosition(),this.updateActiveControl())}updatePosition(){this.position=void 0;const t=this._stateObj;t&&(this.position=qs(t))}onCurrentPositionChange(t){null!=t.detail.value&&(this.position=t.detail.value)}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){if(!this.hass||!this._config||!this._config.entity)return K;const t=this._stateObj;if(!t)return this.renderNotFound(this._config);const e=this._config.name||t.attributes.friendly_name||"",i=this._config.icon,o=$l(this._config),n=rl(t,o.icon_type);let r=this.hass.formatEntityState?this.hass.formatEntityState(t):ne(this.hass.localize,t,this.hass.locale,this.hass.config,this.hass.entities);this.position&&(r+=` - ${this.position}${oe(this.hass.locale)}%`);const a=Ie(this.hass);return Y` + + + + ${n?this.renderPicture(n):this.renderIcon(t,i)} + ${this.renderBadge(t)} + ${this.renderStateInfo(t,o,e,r)}; + + ${this._controls.length>0?Y` +
+ ${this.renderActiveControl(t,o.layout)} + ${this.renderNextControlButton()} +
+ `:K} +
+
+ `}renderIcon(t,e){const i={},o=Ut(t),n=Zs(t);return i["--icon-color"]=`rgb(${n})`,i["--shape-color"]=`rgba(${n}, 0.2)`,Y` + + + `}renderNextControlButton(){return this._nextControl&&this._nextControl!=this._activeControl?Y` + + + + `:K}renderActiveControl(t,e){switch(this._activeControl){case"buttons_control":return Y` + + `;case"position_control":{const e=Zs(t),i={};return i["--slider-color"]=`rgb(${e})`,i["--slider-bg-color"]=`rgba(${e}, 0.2)`,Y` + + `}case"tilt_position_control":{const e=Zs(t),i={};return i["--slider-color"]=`rgb(${e})`,i["--slider-bg-color"]=`rgba(${e}, 0.2)`,Y` + + `}default:return K}}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + mushroom-shape-icon { + --icon-color: rgb(var(--rgb-state-cover)); + --shape-color: rgba(var(--rgb-state-cover), 0.2); + } + mushroom-cover-buttons-control, + mushroom-cover-position-control { + flex: 1; + } + mushroom-cover-tilt-position-control { + flex: 1; + } + `]}};n([vt()],ic.prototype,"_activeControl",void 0),n([vt()],ic.prototype,"position",void 0),ic=n([pt(Us)],ic);const oc=`${Nl}-entity-card`,nc=`${oc}-editor`;Pl({type:oc,name:"Mushroom Entity Card",description:"Card for all entities"});let rc=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return ff})),document.createElement(nc)}static async getStubConfig(t){const e=Object.keys(t.states);return{type:`custom:${oc}`,entity:e[0]}}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){if(!this._config||!this.hass||!this._config.entity)return K;const t=this._stateObj;if(!t)return this.renderNotFound(this._config);const e=this._config.name||t.attributes.friendly_name||"",i=this._config.icon,o=$l(this._config),n=rl(t,o.icon_type),r=Ie(this.hass);return Y` + + + + ${n?this.renderPicture(n):this.renderIcon(t,i)} + ${this.renderBadge(t)} + ${this.renderStateInfo(t,o,e)}; + + + + `}renderIcon(t,e){var i;const o=Bt(t),n={},r=null===(i=this._config)||void 0===i?void 0:i.icon_color;if(r){const t=qa(r);n["--icon-color"]=`rgb(${t})`,n["--shape-color"]=`rgba(${t}, 0.2)`}return Y` + + + + `}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + mushroom-shape-icon { + --icon-color: rgb(var(--rgb-state-entity)); + --shape-color: rgba(var(--rgb-state-entity), 0.2); + } + `]}};rc=n([pt(oc)],rc);const ac=`${Nl}-fan-card`,lc=`${ac}-editor`,sc=["fan"];function cc(t){return null!=t.attributes.percentage?Math.round(t.attributes.percentage):void 0}function dc(t){return null!=t.attributes.oscillating&&Boolean(t.attributes.oscillating)}let uc=class extends ht{_onTap(t){t.stopPropagation();const e=dc(this.entity);this.hass.callService("fan","oscillate",{entity_id:this.entity.entity_id,oscillating:!e})}render(){const t=dc(this.entity),e=Bt(this.entity);return Y` + + + + `}static get styles(){return h` + :host { + display: flex; + } + mushroom-button.active { + --icon-color: rgb(var(--rgb-state-fan)); + --bg-color: rgba(var(--rgb-state-fan), 0.2); + } + `}};n([_t({attribute:!1})],uc.prototype,"hass",void 0),n([_t({attribute:!1})],uc.prototype,"entity",void 0),uc=n([pt("mushroom-fan-oscillate-control")],uc);let hc=class extends ht{onChange(t){const e=t.detail.value;this.hass.callService("fan","set_percentage",{entity_id:this.entity.entity_id,percentage:e})}onCurrentChange(t){const e=t.detail.value;this.dispatchEvent(new CustomEvent("current-change",{detail:{value:e}}))}render(){const t=cc(this.entity);return Y` + + `;var e}static get styles(){return h` + mushroom-slider { + --main-color: rgb(var(--rgb-state-fan)); + --bg-color: rgba(var(--rgb-state-fan), 0.2); + } + `}};n([_t({attribute:!1})],hc.prototype,"hass",void 0),n([_t({attribute:!1})],hc.prototype,"entity",void 0),hc=n([pt("mushroom-fan-percentage-control")],hc),Pl({type:ac,name:"Mushroom Fan Card",description:"Card for fan entity"});let mc=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return yf})),document.createElement(lc)}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>sc.includes(t.split(".")[0])));return{type:`custom:${ac}`,entity:e[0]}}get hasControls(){var t,e;return Boolean(null===(t=this._config)||void 0===t?void 0:t.show_percentage_control)||Boolean(null===(e=this._config)||void 0===e?void 0:e.show_oscillate_control)}setConfig(t){super.setConfig(Object.assign({tap_action:{action:"toggle"},hold_action:{action:"more-info"}},t)),this.updatePercentage()}updated(t){super.updated(t),this.hass&&t.has("hass")&&this.updatePercentage()}updatePercentage(){this.percentage=void 0;const t=this._stateObj;this._config&&this.hass&&t&&(this.percentage=cc(t))}onCurrentPercentageChange(t){null!=t.detail.value&&(this.percentage=Math.round(t.detail.value))}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){if(!this._config||!this.hass||!this._config.entity)return K;const t=this._stateObj;if(!t)return this.renderNotFound(this._config);const e=this._config.name||t.attributes.friendly_name||"",i=this._config.icon,o=$l(this._config),n=rl(t,o.icon_type);let r=this.hass.formatEntityState?this.hass.formatEntityState(t):ne(this.hass.localize,t,this.hass.locale,this.hass.config,this.hass.entities);null!=this.percentage&&"on"===t.state&&(r=`${this.percentage}${oe(this.hass.locale)}%`);const a=Ie(this.hass),l=(!this._config.collapsible_controls||Bt(t))&&(this._config.show_percentage_control||this._config.show_oscillate_control);return Y` + + + + ${n?this.renderPicture(n):this.renderIcon(t,i)} + ${this.renderBadge(t)} + ${this.renderStateInfo(t,o,e,r)}; + + ${l?Y` +
+ ${this._config.show_percentage_control?Y` + + `:K} + ${this._config.show_oscillate_control?Y` + + `:K} +
+ `:K} +
+
+ `}renderIcon(t,e){var i;let o={};const n=cc(t),r=Bt(t);if(r)if(n){const t=1.5*(n/100)**.5;o["--animation-duration"]=1/t+"s"}else o["--animation-duration"]="1s";return Y` + + + + `}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + mushroom-shape-icon { + --icon-color: rgb(var(--rgb-state-fan)); + --shape-color: rgba(var(--rgb-state-fan), 0.2); + } + .spin ha-state-icon { + animation: var(--animation-duration) infinite linear spin; + } + mushroom-fan-percentage-control { + flex: 1; + } + `]}};n([vt()],mc.prototype,"percentage",void 0),mc=n([pt(ac)],mc);const pc=`${Nl}-humidifier-card`,fc=`${pc}-editor`,gc=["humidifier"];let _c=class extends ht{onChange(t){const e=t.detail.value;this.hass.callService("humidifier","set_humidity",{entity_id:this.entity.entity_id,humidity:e})}onCurrentChange(t){const e=t.detail.value;this.dispatchEvent(new CustomEvent("current-change",{detail:{value:e}}))}render(){const t=this.entity.attributes.max_humidity||100,e=this.entity.attributes.min_humidity||0;return Y``}static get styles(){return h` + mushroom-slider { + --main-color: rgb(var(--rgb-state-humidifier)); + --bg-color: rgba(var(--rgb-state-humidifier), 0.2); + } + `}};n([_t({attribute:!1})],_c.prototype,"hass",void 0),n([_t({attribute:!1})],_c.prototype,"entity",void 0),n([_t({attribute:!1})],_c.prototype,"color",void 0),_c=n([pt("mushroom-humidifier-humidity-control")],_c),Pl({type:pc,name:"Mushroom Humidifier Card",description:"Card for humidifier entity"});let vc=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return $f})),document.createElement(fc)}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>gc.includes(t.split(".")[0])));return{type:`custom:${pc}`,entity:e[0]}}get hasControls(){var t;return Boolean(null===(t=this._config)||void 0===t?void 0:t.show_target_humidity_control)}setConfig(t){super.setConfig(Object.assign({tap_action:{action:"toggle"},hold_action:{action:"more-info"}},t))}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}onCurrentHumidityChange(t){null!=t.detail.value&&(this.humidity=t.detail.value)}render(){if(!this._config||!this.hass||!this._config.entity)return K;const t=this._stateObj;if(!t)return this.renderNotFound(this._config);const e=this._config.name||t.attributes.friendly_name||"",i=this._config.icon,o=$l(this._config),n=rl(t,o.icon_type);let r=this.hass.formatEntityState?this.hass.formatEntityState(t):ne(this.hass.localize,t,this.hass.locale,this.hass.config,this.hass.entities);this.humidity&&(r=`${this.humidity}${oe(this.hass.locale)}%`);const a=Ie(this.hass),l=(!this._config.collapsible_controls||Bt(t))&&this._config.show_target_humidity_control;return Y` + + + + ${n?this.renderPicture(n):this.renderIcon(t,i)} + ${this.renderBadge(t)} + ${this.renderStateInfo(t,o,e,r)}; + + ${l?Y` +
+ +
+ `:K} +
+
+ `}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + mushroom-shape-icon { + --icon-color: rgb(var(--rgb-state-humidifier)); + --shape-color: rgba(var(--rgb-state-humidifier), 0.2); + } + mushroom-humidifier-humidity-control { + flex: 1; + } + `]}};n([vt()],vc.prototype,"humidity",void 0),vc=n([pt(pc)],vc);const bc=`${Nl}-number-card`,yc=`${bc}-editor`,xc=["number","input_number"];let wc=class extends ht{onChange(t){const e=t.detail.value,i=this.entity.entity_id.split(".")[0];this.hass.callService(i,"set_value",{entity_id:this.entity.entity_id,value:e})}onCurrentChange(t){const e=t.detail.value;this.dispatchEvent(new CustomEvent("current-change",{detail:{value:e}}))}render(){var t;const e=Number(this.entity.state),i=null!==(t=ee(this.entity,this.hass.entities[this.entity.entity_id]))&&void 0!==t?t:ie(this.entity.state);return"buttons"===this.displayMode?Y` + + `:Y` + + `}static get styles(){return h` + :host { + --slider-color: rgb(var(--rgb-state-number)); + --slider-outline-color: transparent; + --slider-bg-color: rgba(var(--rgb-state-number), 0.2); + } + mushroom-slider { + --main-color: var(--slider-color); + --bg-color: var(--slider-bg-color); + --main-outline-color: var(--slider-outline-color); + } + `}};n([_t({attribute:!1})],wc.prototype,"hass",void 0),n([_t({attribute:!1})],wc.prototype,"entity",void 0),n([_t({attribute:!1})],wc.prototype,"displayMode",void 0),wc=n([pt("mushroom-number-value-control")],wc),Pl({type:bc,name:"Mushroom Number Card",description:"Card for number and input number entity"});let kc=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return Of})),document.createElement(yc)}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>xc.includes(t.split(".")[0])));return{type:`custom:${bc}`,entity:e[0]}}get hasControls(){return!0}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}onCurrentValueChange(t){null!=t.detail.value&&(this.value=t.detail.value)}updated(t){super.updated(t),this.hass&&t.has("hass")&&this.updateValue()}updateValue(){this.value=void 0;const t=this._stateObj;t&&!Number.isNaN(t.state)&&(this.value=Number(t.state))}render(){var t,e,i;if(!this._config||!this.hass||!this._config.entity)return K;const o=this._stateObj;if(!o)return this.renderNotFound(this._config);const n=this._config.name||o.attributes.friendly_name||"",r=this._config.icon,a=$l(this._config),l=rl(o,a.icon_type);let s=this.hass.formatEntityState?this.hass.formatEntityState(o):ne(this.hass.localize,o,this.hass.locale,this.hass.config,this.hass.entities);if(void 0!==this.value){s=`${te(this.value,this.hass.locale,null!==(t=ee(o,this.hass.entities[o.entity_id]))&&void 0!==t?t:ie(o.state))} ${null!==(e=o.attributes.unit_of_measurement)&&void 0!==e?e:""}`}const c=Ie(this.hass),d={},u=null===(i=this._config)||void 0===i?void 0:i.icon_color;if(u){const t=qa(u);d["--slider-color"]=`rgb(${t})`,d["--slider-bg-color"]=`rgba(${t}, 0.2)`}return Y` + + + + ${l?this.renderPicture(l):this.renderIcon(o,r)} + ${this.renderBadge(o)} + ${this.renderStateInfo(o,a,n,s)}; + +
+ +
+
+
+ `}renderIcon(t,e){var i;const o=Bt(t),n={},r=null===(i=this._config)||void 0===i?void 0:i.icon_color;if(r){const t=qa(r);n["--icon-color"]=`rgb(${t})`,n["--shape-color"]=`rgba(${t}, 0.2)`}return Y` + + + + `}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + mushroom-shape-icon { + --icon-color: rgb(var(--rgb-state-number)); + --shape-color: rgba(var(--rgb-state-number), 0.2); + } + mushroom-number-value-control { + flex: 1; + } + `]}};n([vt()],kc.prototype,"value",void 0),kc=n([pt(bc)],kc);const Cc=`${Nl}-light-card`,$c=`${Cc}-editor`,Ec=["light"];let Ac=class extends ht{onChange(t){const e=t.detail.value;this.hass.callService("light","turn_on",{entity_id:this.entity.entity_id,brightness_pct:e})}onCurrentChange(t){const e=t.detail.value;this.dispatchEvent(new CustomEvent("current-change",{detail:{value:e}}))}render(){const t=vs(this.entity);return Y` + + `}static get styles(){return h` + :host { + --slider-color: rgb(var(--rgb-state-light)); + --slider-outline-color: transparent; + --slider-bg-color: rgba(var(--rgb-state-light), 0.2); + } + mushroom-slider { + --main-color: var(--slider-color); + --bg-color: var(--slider-bg-color); + --main-outline-color: var(--slider-outline-color); + } + `}};n([_t({attribute:!1})],Ac.prototype,"hass",void 0),n([_t({attribute:!1})],Ac.prototype,"entity",void 0),Ac=n([pt("mushroom-light-brightness-control")],Ac);const Sc=[[0,"#f00"],[.17,"#ff0"],[.33,"#0f0"],[.5,"#0ff"],[.66,"#00f"],[.83,"#f0f"],[1,"#f00"]];let Ic=class extends ht{constructor(){super(...arguments),this._percent=0}_percentToRGB(t){return Ka.hsv(360*t,100,100).rgb().array()}_rgbToPercent(t){return Ka.rgb(t).hsv().hue()/360}onChange(t){const e=t.detail.value;this._percent=e;const i=this._percentToRGB(e/100);3===i.length&&this.hass.callService("light","turn_on",{entity_id:this.entity.entity_id,rgb_color:i})}render(){const t=this._percent||100*this._rgbToPercent(this.entity.attributes.rgb_color);return Y` + + `}static get styles(){const t=Sc.map((([t,e])=>`${e} ${100*t}%`)).join(", ");return h` + mushroom-slider { + --gradient: -webkit-linear-gradient(left, ${u(t)}); + } + `}};n([_t({attribute:!1})],Ic.prototype,"hass",void 0),n([_t({attribute:!1})],Ic.prototype,"entity",void 0),Ic=n([pt("mushroom-light-color-control")],Ic);let Tc=class extends ht{onChange(t){const e=t.detail.value;this.hass.callService("light","turn_on",{entity_id:this.entity.entity_id,color_temp:e})}render(){var t,e;const i=null!=(o=this.entity).attributes.color_temp?Math.round(o.attributes.color_temp):void 0;var o;return Y` + + `}static get styles(){return h` + mushroom-slider { + --gradient: -webkit-linear-gradient(right, rgb(255, 160, 0) 0%, white 100%); + } + `}};n([_t({attribute:!1})],Tc.prototype,"hass",void 0),n([_t({attribute:!1})],Tc.prototype,"entity",void 0),Tc=n([pt("mushroom-light-color-temp-control")],Tc);const Oc={brightness_control:"mdi:brightness-4",color_temp_control:"mdi:thermometer",color_control:"mdi:palette"};Pl({type:Cc,name:"Mushroom Light Card",description:"Card for light entity"});let zc=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return Sp})),document.createElement($c)}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>Ec.includes(t.split(".")[0])));return{type:`custom:${Cc}`,entity:e[0]}}get _controls(){if(!this._config||!this._stateObj)return[];const t=this._stateObj,e=[];return this._config.show_brightness_control&&ks(t)&&e.push("brightness_control"),this._config.show_color_temp_control&&function(t){var e,i;return null!==(i=null===(e=t.attributes.supported_color_modes)||void 0===e?void 0:e.some((t=>["color_temp"].includes(t))))&&void 0!==i&&i}(t)&&e.push("color_temp_control"),this._config.show_color_control&&ws(t)&&e.push("color_control"),e}get hasControls(){return this._controls.length>0}setConfig(t){super.setConfig(Object.assign({tap_action:{action:"toggle"},hold_action:{action:"more-info"}},t)),this.updateActiveControl(),this.updateBrightness()}_onControlTap(t,e){e.stopPropagation(),this._activeControl=t}updated(t){super.updated(t),this.hass&&t.has("hass")&&(this.updateActiveControl(),this.updateBrightness())}updateBrightness(){this.brightness=void 0;const t=this._stateObj;t&&(this.brightness=vs(t))}onCurrentBrightnessChange(t){null!=t.detail.value&&(this.brightness=t.detail.value)}updateActiveControl(){const t=!!this._activeControl&&this._controls.includes(this._activeControl);this._activeControl=t?this._activeControl:this._controls[0]}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){if(!this._config||!this.hass||!this._config.entity)return K;const t=this._stateObj;if(!t)return this.renderNotFound(this._config);const e=this._config.name||t.attributes.friendly_name||"",i=this._config.icon,o=$l(this._config),n=rl(t,o.icon_type);let r=this.hass.formatEntityState?this.hass.formatEntityState(t):ne(this.hass.localize,t,this.hass.locale,this.hass.config,this.hass.entities);null!=this.brightness&&(r=`${this.brightness}${oe(this.hass.locale)}%`);const a=Ie(this.hass),l=(!this._config.collapsible_controls||Bt(t))&&this._controls.length;return Y` + + + + ${n?this.renderPicture(n):this.renderIcon(t,i)} + ${this.renderBadge(t)} + ${this.renderStateInfo(t,o,e,r)}; + + ${l?Y` +
+ ${this.renderActiveControl(t)} + ${this.renderOtherControls()} +
+ `:K} +
+
+ `}renderIcon(t,e){var i,o;const n=bs(t),r=Bt(t),a={},l=null===(i=this._config)||void 0===i?void 0:i.icon_color;if(n&&(null===(o=this._config)||void 0===o?void 0:o.use_light_color)){const t=n.join(",");a["--icon-color"]=`rgb(${t})`,a["--shape-color"]=`rgba(${t}, 0.25)`,ys(n)&&!this.hass.themes.darkMode&&(a["--shape-outline-color"]="rgba(var(--rgb-primary-text-color), 0.05)",xs(n)&&(a["--icon-color"]="rgba(var(--rgb-primary-text-color), 0.2)"))}else if(l){const t=qa(l);a["--icon-color"]=`rgb(${t})`,a["--shape-color"]=`rgba(${t}, 0.2)`}return Y` + + + + `}renderOtherControls(){const t=this._controls.filter((t=>t!=this._activeControl));return Y` + ${t.map((t=>Y` + this._onControlTap(t,e)}> + + + `))} + `}renderActiveControl(t){var e,i;switch(this._activeControl){case"brightness_control":const o=bs(t),n={},r=null===(e=this._config)||void 0===e?void 0:e.icon_color;if(o&&(null===(i=this._config)||void 0===i?void 0:i.use_light_color)){const t=o.join(",");n["--slider-color"]=`rgb(${t})`,n["--slider-bg-color"]=`rgba(${t}, 0.2)`,ys(o)&&!this.hass.themes.darkMode&&(n["--slider-bg-color"]="rgba(var(--rgb-primary-text-color), 0.05)",n["--slider-color"]="rgba(var(--rgb-primary-text-color), 0.15)")}else if(r){const t=qa(r);n["--slider-color"]=`rgb(${t})`,n["--slider-bg-color"]=`rgba(${t}, 0.2)`}return Y` + + `;case"color_temp_control":return Y` + + `;case"color_control":return Y` + + `;default:return K}}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + mushroom-shape-icon { + --icon-color: rgb(var(--rgb-state-light)); + --shape-color: rgba(var(--rgb-state-light), 0.2); + } + mushroom-light-brightness-control, + mushroom-light-color-temp-control, + mushroom-light-color-control { + flex: 1; + } + `]}};n([vt()],zc.prototype,"_activeControl",void 0),n([vt()],zc.prototype,"brightness",void 0),zc=n([pt(Cc)],zc);const Mc=`${Nl}-lock-card`,jc=`${Mc}-editor`,Dc=["lock"];function Lc(t){return"unlocked"===t.state}function Pc(t){return"locked"===t.state}function Nc(t){switch(t.state){case"locking":case"unlocking":return!0;default:return!1}}const Rc=[{icon:"mdi:lock",title:"lock",serviceName:"lock",isVisible:t=>Lc(t),isDisabled:()=>!1},{icon:"mdi:lock-open",title:"unlock",serviceName:"unlock",isVisible:t=>Pc(t),isDisabled:()=>!1},{icon:"mdi:lock-clock",isVisible:t=>Nc(t),isDisabled:()=>!0},{icon:"mdi:door-open",title:"open",serviceName:"open",isVisible:t=>Wt(t,1)&&Lc(t),isDisabled:t=>Nc(t)}];let Fc=class extends ht{constructor(){super(...arguments),this.fill=!1}callService(t){t.stopPropagation();const e=t.target.entry;this.hass.callService("lock",e.serviceName,{entity_id:this.entity.entity_id})}render(){const t=Ie(this.hass),e=Oo(this.hass);return Y` + ${Rc.filter((t=>t.isVisible(this.entity))).map((t=>Y` + + + + `))} + `}};n([_t({attribute:!1})],Fc.prototype,"hass",void 0),n([_t({attribute:!1})],Fc.prototype,"entity",void 0),n([_t({type:Boolean})],Fc.prototype,"fill",void 0),Fc=n([pt("mushroom-lock-buttons-control")],Fc),Pl({type:Mc,name:"Mushroom Lock Card",description:"Card for all lock entities"});let Vc=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return Df})),document.createElement(jc)}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>Dc.includes(t.split(".")[0])));return{type:`custom:${Mc}`,entity:e[0]}}get hasControls(){return!0}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){if(!this._config||!this.hass||!this._config.entity)return K;const t=this._stateObj;if(!t)return this.renderNotFound(this._config);const e=this._config.name||t.attributes.friendly_name||"",i=this._config.icon,o=$l(this._config),n=rl(t,o.icon_type),r=Ie(this.hass);return Y` + + + + ${n?this.renderPicture(n):this.renderIcon(t,i)} + ${this.renderBadge(t)} + ${this.renderStateInfo(t,o,e)}; + +
+ + +
+
+
+ `}renderIcon(t,e){const i=Ut(t),o={"--icon-color":"rgb(var(--rgb-state-lock))","--shape-color":"rgba(var(--rgb-state-lock), 0.2)"};return Pc(t)?(o["--icon-color"]="rgb(var(--rgb-state-lock-locked))",o["--shape-color"]="rgba(var(--rgb-state-lock-locked), 0.2)"):Lc(t)?(o["--icon-color"]="rgb(var(--rgb-state-lock-unlocked))",o["--shape-color"]="rgba(var(--rgb-state-lock-unlocked), 0.2)"):Nc(t)&&(o["--icon-color"]="rgb(var(--rgb-state-lock-pending))",o["--shape-color"]="rgba(var(--rgb-state-lock-pending), 0.2)"),Y` + + + + `}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + mushroom-lock-buttons-control { + flex: 1; + } + `]}};Vc=n([pt(Mc)],Vc);const Bc=`${Nl}-media-player-card`,Uc=`${Bc}-editor`,Hc=["media_player"];function Yc(t){return null!=t.attributes.volume_level?100*t.attributes.volume_level:void 0}const Wc=(t,e)=>{if(!t)return[];const i=t.state;if("off"===i)return Wt(t,128)&&e.includes("on_off")?[{icon:"mdi:power",action:"turn_on"}]:[];const o=[];Wt(t,256)&&e.includes("on_off")&&o.push({icon:"mdi:power",action:"turn_off"});const n=!0===t.attributes.assumed_state,r=t.attributes;return("playing"===i||"paused"===i||n)&&Wt(t,32768)&&e.includes("shuffle")&&o.push({icon:!0===r.shuffle?"mdi:shuffle":"mdi:shuffle-disabled",action:"shuffle_set"}),("playing"===i||"paused"===i||n)&&Wt(t,16)&&e.includes("previous")&&o.push({icon:"mdi:skip-previous",action:"media_previous_track"}),!n&&("playing"===i&&(Wt(t,1)||Wt(t,4096))||("paused"===i||"idle"===i)&&Wt(t,Pe)||"on"===i&&(Wt(t,Pe)||Wt(t,1)))&&e.includes("play_pause_stop")&&o.push({icon:"on"===i?"mdi:play-pause":"playing"!==i?"mdi:play":Wt(t,1)?"mdi:pause":"mdi:stop",action:"playing"!==i?"media_play":Wt(t,1)?"media_pause":"media_stop"}),n&&Wt(t,Pe)&&e.includes("play_pause_stop")&&o.push({icon:"mdi:play",action:"media_play"}),n&&Wt(t,1)&&e.includes("play_pause_stop")&&o.push({icon:"mdi:pause",action:"media_pause"}),n&&Wt(t,4096)&&e.includes("play_pause_stop")&&o.push({icon:"mdi:stop",action:"media_stop"}),("playing"===i||"paused"===i||n)&&Wt(t,32)&&e.includes("next")&&o.push({icon:"mdi:skip-next",action:"media_next_track"}),("playing"===i||"paused"===i||n)&&Wt(t,262144)&&e.includes("repeat")&&o.push({icon:"all"===r.repeat?"mdi:repeat":"one"===r.repeat?"mdi:repeat-once":"mdi:repeat-off",action:"repeat_set"}),o.length>0?o:[]},Xc=(t,e,i)=>{let o={};"shuffle_set"===i?o={shuffle:!e.attributes.shuffle}:"repeat_set"===i?o={repeat:"all"===e.attributes.repeat?"one":"off"===e.attributes.repeat?"all":"off"}:"volume_mute"===i&&(o={is_volume_muted:!e.attributes.is_volume_muted}),t.callService("media_player",i,Object.assign({entity_id:e.entity_id},o))};let Kc=class extends ht{constructor(){super(...arguments),this.fill=!1}_handleClick(t){t.stopPropagation();const e=t.target.action;Xc(this.hass,this.entity,e)}render(){const t=Ie(this.hass),e=Wc(this.entity,this.controls);return Y` + + ${e.map((t=>Y` + + + + `))} + + `}};n([_t({attribute:!1})],Kc.prototype,"hass",void 0),n([_t({attribute:!1})],Kc.prototype,"entity",void 0),n([_t({attribute:!1})],Kc.prototype,"controls",void 0),n([_t({type:Boolean})],Kc.prototype,"fill",void 0),Kc=n([pt("mushroom-media-player-media-control")],Kc);let Gc=class extends ht{constructor(){super(...arguments),this.fill=!1}handleSliderChange(t){const e=t.detail.value;this.hass.callService("media_player","volume_set",{entity_id:this.entity.entity_id,volume_level:e/100})}handleSliderCurrentChange(t){let e=t.detail.value;this.dispatchEvent(new CustomEvent("current-change",{detail:{value:e}}))}handleClick(t){t.stopPropagation();const e=t.target.action;Xc(this.hass,this.entity,e)}render(){var t,e,i;if(!this.entity)return K;const o=Yc(this.entity),n=Ie(this.hass),r=(null===(t=this.controls)||void 0===t?void 0:t.includes("volume_set"))&&Wt(this.entity,4),a=(null===(e=this.controls)||void 0===e?void 0:e.includes("volume_mute"))&&Wt(this.entity,8),l=(null===(i=this.controls)||void 0===i?void 0:i.includes("volume_buttons"))&&Wt(this.entity,1024);return Y` + + ${r?Y` `:K} + ${a?Y` + + + + `:void 0} + ${l?Y` + + + `:void 0} + ${l?Y` + + + `:void 0} + + `}static get styles(){return h` + mushroom-slider { + flex: 1; + --main-color: rgb(var(--rgb-state-media-player)); + --bg-color: rgba(var(--rgb-state-media-player), 0.2); + } + `}};n([_t({attribute:!1})],Gc.prototype,"hass",void 0),n([_t({attribute:!1})],Gc.prototype,"entity",void 0),n([_t({type:Boolean})],Gc.prototype,"fill",void 0),n([_t({attribute:!1})],Gc.prototype,"controls",void 0),Gc=n([pt("mushroom-media-player-volume-control")],Gc);const qc={media_control:"mdi:play-pause",volume_control:"mdi:volume-high"};Pl({type:Bc,name:"Mushroom Media Card",description:"Card for media player entity"});let Zc=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return Bf})),document.createElement(Uc)}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>Hc.includes(t.split(".")[0])));return{type:`custom:${Bc}`,entity:e[0]}}get hasControls(){var t,e,i,o;return Boolean(null===(e=null===(t=this._config)||void 0===t?void 0:t.media_controls)||void 0===e?void 0:e.length)||Boolean(null===(o=null===(i=this._config)||void 0===i?void 0:i.volume_controls)||void 0===o?void 0:o.length)}get _controls(){if(!this._config||!this._stateObj)return[];const t=this._stateObj,e=[];return((t,e)=>Wc(t,null!=e?e:[]).length>0)(t,this._config.media_controls)&&e.push("media_control"),((t,e)=>(null==e?void 0:e.includes("volume_buttons"))&&Wt(t,1024)||(null==e?void 0:e.includes("volume_mute"))&&Wt(t,8)||(null==e?void 0:e.includes("volume_set"))&&Wt(t,4))(t,this._config.volume_controls)&&e.push("volume_control"),e}_onControlTap(t,e){e.stopPropagation(),this._activeControl=t}setConfig(t){super.setConfig(t),this.updateActiveControl(),this.updateVolume()}updated(t){super.updated(t),this.hass&&t.has("hass")&&(this.updateActiveControl(),this.updateVolume())}updateVolume(){this.volume=void 0;const t=this._stateObj;if(!t)return;const e=Yc(t);this.volume=null!=e?Math.round(e):e}onCurrentVolumeChange(t){null!=t.detail.value&&(this.volume=t.detail.value)}updateActiveControl(){const t=!!this._activeControl&&this._controls.includes(this._activeControl);this._activeControl=t?this._activeControl:this._controls[0]}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){if(!this._config||!this.hass||!this._config.entity)return K;const t=this._stateObj;if(!t)return this.renderNotFound(this._config);const e=function(t,e){var i,o=t.icon;if(![Nt,Rt,Ft].includes(e.state)&&t.use_media_info)switch(null===(i=e.attributes.app_name)||void 0===i?void 0:i.toLowerCase()){case"spotify":return"mdi:spotify";case"google podcasts":return"mdi:google-podcast";case"plex":return"mdi:plex";case"soundcloud":return"mdi:soundcloud";case"youtube":return"mdi:youtube";case"oto music":return"mdi:music-circle";case"netflix":return"mdi:netflix";default:return}return o}(this._config,t),i=function(t,e){let i=t.name||e.attributes.friendly_name||"";return![Nt,Rt,Ft].includes(e.state)&&t.use_media_info&&e.attributes.media_title&&(i=e.attributes.media_title),i}(this._config,t),o=function(t,e,i){let o=i.formatEntityState?i.formatEntityState(e):ne(i.localize,e,i.locale,i.config,i.entities);return![Nt,Rt,Ft].includes(e.state)&&t.use_media_info&&(t=>{let e;switch(t.attributes.media_content_type){case"music":case"image":e=t.attributes.media_artist;break;case"playlist":e=t.attributes.media_playlist;break;case"tvshow":e=t.attributes.media_series_title,t.attributes.media_season&&(e+=" S"+t.attributes.media_season,t.attributes.media_episode&&(e+="E"+t.attributes.media_episode));break;default:e=t.attributes.app_name||""}return e})(e)||o}(this._config,t,this.hass),n=$l(this._config),r=rl(t,n.icon_type),a=null!=this.volume&&this._config.show_volume_level?`${o} - ${this.volume}${oe(this.hass.locale)}%`:o,l=Ie(this.hass),s=(!this._config.collapsible_controls||Bt(t))&&this._controls.length;return Y` + + + + ${r?this.renderPicture(r):this.renderIcon(t,e)} + ${this.renderBadge(t)} + ${this.renderStateInfo(t,n,i,a)}; + + ${s?Y` +
+ ${this.renderActiveControl(t,n.layout)} + ${this.renderOtherControls()} +
+ `:K} +
+
+ `}renderOtherControls(){const t=this._controls.filter((t=>t!=this._activeControl));return Y` + ${t.map((t=>Y` + this._onControlTap(t,e)}> + + + `))} + `}renderActiveControl(t,e){var i,o,n,r;const a=null!==(o=null===(i=this._config)||void 0===i?void 0:i.media_controls)&&void 0!==o?o:[],l=null!==(r=null===(n=this._config)||void 0===n?void 0:n.volume_controls)&&void 0!==r?r:[];switch(this._activeControl){case"media_control":return Y` + + + `;case"volume_control":return Y` + + `;default:return K}}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + mushroom-shape-icon { + --icon-color: rgb(var(--rgb-state-media-player)); + --shape-color: rgba(var(--rgb-state-media-player), 0.2); + } + mushroom-media-player-media-control, + mushroom-media-player-volume-control { + flex: 1; + } + `]}};n([vt()],Zc.prototype,"_activeControl",void 0),n([vt()],Zc.prototype,"volume",void 0),Zc=n([pt(Bc)],Zc);const Jc=`${Nl}-person-card`,Qc=`${Jc}-editor`,td=["person","device_tracker"];Pl({type:Jc,name:"Mushroom Person Card",description:"Card for person entity"});let ed=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return Wf})),document.createElement(Qc)}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>td.includes(t.split(".")[0])));return{type:`custom:${Jc}`,entity:e[0]}}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){if(!this._config||!this.hass||!this._config.entity)return K;const t=this._stateObj;if(!t)return this.renderNotFound(this._config);const e=this._config.name||t.attributes.friendly_name||"",i=this._config.icon,o=$l(this._config),n=rl(t,o.icon_type),r=Ie(this.hass);return Y` + + + + ${n?this.renderPicture(n):this.renderIcon(t,i)} + ${this.renderBadge(t)} + ${this.renderStateInfo(t,o,e)}; + + + + `}renderStateBadge(t){const e=Object.values(this.hass.states).filter((t=>t.entity_id.startsWith("zone."))),i=function(t,e){const i=t.state;if(i===Rt)return"mdi:help";if("not_home"===i)return"mdi:home-export-outline";if("home"===i)return"mdi:home";const o=e.find((t=>i===t.attributes.friendly_name));return o&&o.attributes.icon?o.attributes.icon:"mdi:home"}(t,e),o=function(t,e){const i=t.state;if(i===Rt)return"var(--rgb-state-person-unknown)";if("not_home"===i)return"var(--rgb-state-person-not-home)";if("home"===i)return"var(--rgb-state-person-home)";const o=e.some((t=>i===t.attributes.friendly_name));return o?"var(--rgb-state-person-zone)":"var(--rgb-state-person-home)"}(t,e);return Y` + + `}renderBadge(t){return!Ut(t)?super.renderBadge(t):this.renderStateBadge(t)}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + `]}};ed=n([pt(Jc)],ed);const id=`${Nl}-select-card`,od=`${id}-editor`,nd=["input_select","select"];function rd(t){return null!=t.state?t.state:void 0}let ad=class extends ht{_selectChanged(t){const e=t.target.value,i=rd(this.entity);e&&e!==i&&this._setValue(e)}_setValue(t){const e=this.entity.entity_id.split(".")[0];this.hass.callService(e,"select_option",{entity_id:this.entity.entity_id,option:t})}render(){const t=rd(this.entity),e=this.entity.attributes.options;return Y` + t.stopPropagation()} + .value=${null!=t?t:""} + naturalMenuWidth + fixedMenuPosition + > + ${e.map((t=>Y` + + ${this.hass.formatEntityState?this.hass.formatEntityState(this.entity,t):ne(this.hass.localize,this.entity,this.hass.locale,this.hass.config,this.hass.entities,t)} + + `))} + + `}static get styles(){return h` + mushroom-select { + --select-height: 42px; + width: 100%; + } + `}};n([_t()],ad.prototype,"hass",void 0),n([_t({attribute:!1})],ad.prototype,"entity",void 0),ad=n([pt("mushroom-select-option-control")],ad),Pl({type:id,name:"Mushroom Select Card",description:"Card for select and input_select entities"});let ld=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return qf})),document.createElement(od)}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>nd.includes(t.split(".")[0])));return{type:`custom:${id}`,entity:e[0]}}get hasControls(){return!0}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){var t;if(!this._config||!this.hass||!this._config.entity)return K;const e=this._stateObj;if(!e)return this.renderNotFound(this._config);const i=this._config.name||e.attributes.friendly_name||"",o=this._config.icon,n=$l(this._config),r=rl(e,n.icon_type),a=Ie(this.hass),l=null===(t=this._config)||void 0===t?void 0:t.icon_color,s={};if(l){const t=qa(l);s["--mdc-theme-primary"]=`rgb(${t})`}return Y` + + + + ${r?this.renderPicture(r):this.renderIcon(e,o)} + ${this.renderBadge(e)} + ${this.renderStateInfo(e,n,i)}; + +
+ +
+
+
+ `}renderIcon(t,e){var i;const o=Bt(t),n={},r=null===(i=this._config)||void 0===i?void 0:i.icon_color;if(r){const t=qa(r);n["--icon-color"]=`rgb(${t})`,n["--shape-color"]=`rgba(${t}, 0.2)`}return Y` + + + + `}static get styles(){return[super.styles,Ll,h` + .actions { + overflow: visible; + display: block; + } + mushroom-state-item { + cursor: pointer; + } + mushroom-shape-icon { + --icon-color: rgb(var(--rgb-state-entity)); + --shape-color: rgba(var(--rgb-state-entity), 0.2); + } + mushroom-select-option-control { + flex: 1; + --mdc-theme-primary: rgb(var(--rgb-state-entity)); + } + `]}};ld=n([pt(id)],ld);const sd=`${Nl}-template-card`,cd=`${sd}-editor`;Pl({type:sd,name:"Mushroom Template Card",description:"Card for custom rendering with templates"});const dd=["icon","icon_color","badge_color","badge_icon","primary","secondary","picture"];let ud=class extends jl{constructor(){super(...arguments),this._templateResults={},this._unsubRenderTemplates=new Map,this._inGrid=!1}static async getConfigElement(){return await Promise.resolve().then((function(){return mu})),document.createElement(cd)}static async getStubConfig(t){return{type:`custom:${sd}`,primary:"Hello, {{user}}",secondary:"How are you?",icon:"mdi:home"}}getCardSize(){let t=1;if(!this._config)return t;return"vertical"===$l(this._config).layout&&(t+=1),t}getGridSize(){const{grid_columns:t,grid_rows:e}=this.getLayoutOptions();return[t,e]}getLayoutOptions(){var t;this._inGrid=!0;const e={grid_columns:2,grid_rows:1};if(!this._config)return e;const i=$l(this._config);return"vertical"===i.layout&&(e.grid_rows+=1),"horizontal"===i.layout&&(e.grid_columns=4),(null===(t=this._config)||void 0===t?void 0:t.multiline_secondary)&&(e.grid_rows=void 0),e}setConfig(t){dd.forEach((e=>{var i,o;(null===(i=this._config)||void 0===i?void 0:i[e])===t[e]&&(null===(o=this._config)||void 0===o?void 0:o.entity)==t.entity||this._tryDisconnectKey(e)})),this._config=Object.assign({tap_action:{action:"toggle"},hold_action:{action:"more-info"}},t)}connectedCallback(){super.connectedCallback(),this._tryConnect()}disconnectedCallback(){this._tryDisconnect()}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}isTemplate(t){var e;const i=null===(e=this._config)||void 0===e?void 0:e[t];return null==i?void 0:i.includes("{")}getValue(t){var e,i,o;return this.isTemplate(t)?null===(i=null===(e=this._templateResults[t])||void 0===e?void 0:e.result)||void 0===i?void 0:i.toString():null===(o=this._config)||void 0===o?void 0:o[t]}render(){if(!this._config||!this.hass)return K;const t=this.getValue("icon"),e=this.getValue("icon_color"),i=this.getValue("badge_icon"),o=this.getValue("badge_color"),n=this.getValue("primary"),r=this.getValue("secondary"),a=this.getValue("picture"),l=this._config.multiline_secondary,s=Ie(this.hass),c=$l({fill_container:this._config.fill_container,layout:this._config.layout,icon_type:Boolean(a)?"entity-picture":Boolean(t)?"icon":"none",primary_info:Boolean(n)?"name":"none",secondary_info:Boolean(r)?"state":"none"}),d=hs(t);return Y` + + + + ${a?this.renderPicture(a):d?Y`
${d}
`:t?this.renderIcon(t,e):K} + ${(t||a)&&i?this.renderBadgeIcon(i,o):void 0} + +
+
+
+ `}renderPicture(t){return Y` + + `}renderIcon(t,e){const i={};if(e){const t=qa(e);i["--icon-color"]=`rgb(${t})`,i["--shape-color"]=`rgba(${t}, 0.2)`}return Y` + + + + `}renderBadgeIcon(t,e){const i={};if(e){const t=qa(e);i["--main-color"]=`rgba(${t})`}return Y` + + `}updated(t){super.updated(t),this._config&&this.hass&&this._tryConnect()}async _tryConnect(){dd.forEach((t=>{this._tryConnectKey(t)}))}async _tryConnectKey(t){var e,i;if(void 0===this._unsubRenderTemplates.get(t)&&this.hass&&this._config&&this.isTemplate(t))try{const i=Fe(this.hass.connection,(e=>{this._templateResults=Object.assign(Object.assign({},this._templateResults),{[t]:e})}),{template:null!==(e=this._config[t])&&void 0!==e?e:"",entity_ids:this._config.entity_id,variables:{config:this._config,user:this.hass.user.name,entity:this._config.entity},strict:!0});this._unsubRenderTemplates.set(t,i),await i}catch(e){const o={result:null!==(i=this._config[t])&&void 0!==i?i:"",listeners:{all:!1,domains:[],entities:[],time:!1}};this._templateResults=Object.assign(Object.assign({},this._templateResults),{[t]:o}),this._unsubRenderTemplates.delete(t)}}async _tryDisconnect(){dd.forEach((t=>{this._tryDisconnectKey(t)}))}async _tryDisconnectKey(t){const e=this._unsubRenderTemplates.get(t);if(e)try{(await e)(),this._unsubRenderTemplates.delete(t)}catch(t){if("not_found"!==t.code&&"template_error"!==t.code)throw t}}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + mushroom-shape-icon { + --icon-color: rgb(var(--rgb-disabled)); + --shape-color: rgba(var(--rgb-disabled), 0.2); + } + svg { + width: var(--icon-size); + height: var(--icon-size); + display: flex; + } + ${is} + `]}};n([vt()],ud.prototype,"_config",void 0),n([vt()],ud.prototype,"_templateResults",void 0),n([vt()],ud.prototype,"_unsubRenderTemplates",void 0),n([_t({reflect:!0,type:String})],ud.prototype,"layout",void 0),n([_t({attribute:"in-grid",reflect:!0,type:Boolean})],ud.prototype,"_inGrid",void 0),ud=n([pt(sd)],ud);const hd=`${Nl}-title-card`,md=`${hd}-editor`;Pl({type:hd,name:"Mushroom Title Card",description:"Title and subtitle to separate sections"});const pd=["title","subtitle"];let fd=class extends jl{constructor(){super(...arguments),this._templateResults={},this._unsubRenderTemplates=new Map}static async getConfigElement(){return await Promise.resolve().then((function(){return ig})),document.createElement(md)}static async getStubConfig(t){return{type:`custom:${hd}`,title:"Hello, {{ user }} !"}}getCardSize(){return 1}setConfig(t){pd.forEach((e=>{var i;(null===(i=this._config)||void 0===i?void 0:i[e])!==t[e]&&this._tryDisconnectKey(e)})),this._config=Object.assign({title_tap_action:{action:"none"},subtitle_tap_action:{action:"none"}},t)}connectedCallback(){super.connectedCallback(),this._tryConnect()}disconnectedCallback(){this._tryDisconnect()}isTemplate(t){var e;const i=null===(e=this._config)||void 0===e?void 0:e[t];return null==i?void 0:i.includes("{")}getValue(t){var e,i,o;return this.isTemplate(t)?null===(i=null===(e=this._templateResults[t])||void 0===e?void 0:e.result)||void 0===i?void 0:i.toString():null===(o=this._config)||void 0===o?void 0:o[t]}_handleTitleAction(t){const e={tap_action:this._config.title_tap_action};Ke(this,this.hass,e,t.detail.action)}_handleSubtitleAction(t){const e={tap_action:this._config.subtitle_tap_action};Ke(this,this.hass,e,t.detail.action)}render(){if(!this._config||!this.hass)return K;const t=this.getValue("title"),e=this.getValue("subtitle");let i="";this._config.alignment&&(i=`align-${this._config.alignment}`);const o=Boolean(this._config.title_tap_action&&"none"!==this._config.title_tap_action.action),n=Boolean(this._config.subtitle_tap_action&&"none"!==this._config.subtitle_tap_action.action),r=Ie(this.hass);return Y` + + ${t?Y` +
+

${t}${this.renderArrow()}

+
+ `:K} + ${e?Y` +
+

${e}${this.renderArrow()}

+
+ `:K} +
+ `}renderArrow(){const t=Ie(this.hass);return Y` `}updated(t){super.updated(t),this._config&&this.hass&&this._tryConnect()}async _tryConnect(){pd.forEach((t=>{this._tryConnectKey(t)}))}async _tryConnectKey(t){var e,i;if(void 0===this._unsubRenderTemplates.get(t)&&this.hass&&this._config&&this.isTemplate(t))try{const i=Fe(this.hass.connection,(e=>{this._templateResults=Object.assign(Object.assign({},this._templateResults),{[t]:e})}),{template:null!==(e=this._config[t])&&void 0!==e?e:"",entity_ids:this._config.entity_id,variables:{config:this._config,user:this.hass.user.name},strict:!0});this._unsubRenderTemplates.set(t,i),await i}catch(e){const o={result:null!==(i=this._config[t])&&void 0!==i?i:"",listeners:{all:!1,domains:[],entities:[],time:!1}};this._templateResults=Object.assign(Object.assign({},this._templateResults),{[t]:o}),this._unsubRenderTemplates.delete(t)}}async _tryDisconnect(){pd.forEach((t=>{this._tryDisconnectKey(t)}))}async _tryDisconnectKey(t){const e=this._unsubRenderTemplates.get(t);if(e)try{(await e)(),this._unsubRenderTemplates.delete(t)}catch(t){if("not_found"!==t.code&&"template_error"!==t.code)throw t}}static get styles(){return[super.styles,Ll,h` + .header { + display: block; + padding: var(--title-padding); + background: none; + border: none; + box-shadow: none; + } + .header div * { + margin: 0; + white-space: pre-wrap; + } + .header div:not(:last-of-type) { + margin-bottom: var(--title-spacing); + } + .actionable { + cursor: pointer; + } + .header ha-icon { + display: none; + } + .actionable ha-icon { + display: inline-block; + margin-left: 4px; + transition: transform 180ms ease-in-out; + } + .actionable:hover ha-icon { + transform: translateX(4px); + } + [rtl] .actionable ha-icon { + margin-left: initial; + margin-right: 4px; + } + [rtl] .actionable:hover ha-icon { + transform: translateX(-4px); + } + .title { + color: var(--title-color); + font-size: var(--title-font-size); + font-weight: var(--title-font-weight); + line-height: var(--title-line-height); + letter-spacing: var(--title-letter-spacing); + --mdc-icon-size: var(--title-font-size); + } + .subtitle { + color: var(--subtitle-color); + font-size: var(--subtitle-font-size); + font-weight: var(--subtitle-font-weight); + line-height: var(--subtitle-line-height); + letter-spacing: var(--subtitle-letter-spacing); + --mdc-icon-size: var(--subtitle-font-size); + } + .align-start { + text-align: start; + } + .align-end { + text-align: end; + } + .align-center { + text-align: center; + } + .align-justify { + text-align: justify; + } + `]}};n([vt()],fd.prototype,"_config",void 0),n([vt()],fd.prototype,"_templateResults",void 0),n([vt()],fd.prototype,"_unsubRenderTemplates",void 0),fd=n([pt(hd)],fd);const gd=`${Nl}-update-card`,_d=`${gd}-editor`,vd=["update"],bd={on:"var(--rgb-state-update-on)",off:"var(--rgb-state-update-off)",installing:"var(--rgb-state-update-installing)"};let yd=class extends ht{constructor(){super(...arguments),this.fill=!1}_handleInstall(){this.hass.callService("update","install",{entity_id:this.entity.entity_id})}_handleSkip(t){t.stopPropagation(),this.hass.callService("update","skip",{entity_id:this.entity.entity_id})}get installDisabled(){if(!Ut(this.entity))return!0;const t=this.entity.attributes.latest_version&&this.entity.attributes.skipped_version===this.entity.attributes.latest_version;return!Bt(this.entity)&&!t||Gt(this.entity)}get skipDisabled(){if(!Ut(this.entity))return!0;return this.entity.attributes.latest_version&&this.entity.attributes.skipped_version===this.entity.attributes.latest_version||!Bt(this.entity)||Gt(this.entity)}render(){const t=Ie(this.hass);return Y` + + + + + + + + + `}};n([_t({attribute:!1})],yd.prototype,"hass",void 0),n([_t({attribute:!1})],yd.prototype,"entity",void 0),n([_t({type:Boolean})],yd.prototype,"fill",void 0),yd=n([pt("mushroom-update-buttons-control")],yd),Pl({type:gd,name:"Mushroom Update Card",description:"Card for update entity"});let xd=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return lg})),document.createElement(_d)}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>vd.includes(t.split(".")[0])));return{type:`custom:${gd}`,entity:e[0]}}get hasControls(){return!(!this._stateObj||!this._config)&&(Boolean(this._config.show_buttons_control)&&Wt(this._stateObj,1))}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){if(!this._config||!this.hass||!this._config.entity)return K;const t=this._stateObj;if(!t)return this.renderNotFound(this._config);const e=this._config.name||t.attributes.friendly_name||"",i=this._config.icon,o=$l(this._config),n=rl(t,o.icon_type),r=Ie(this.hass),a=(!this._config.collapsible_controls||Bt(t))&&this._config.show_buttons_control&&Wt(t,1);return Y` + + + + ${n?this.renderPicture(n):this.renderIcon(t,i)} + ${this.renderBadge(t)} + ${this.renderStateInfo(t,o,e)}; + + ${a?Y` +
+ +
+ `:K} +
+
+ `}renderIcon(t,e){const i=Gt(t),o=function(t,e){return e?bd.installing:bd[t]||"var(--rgb-grey)"}(t.state,i),n={"--icon-color":`rgb(${o})`,"--shape-color":`rgba(${o}, 0.2)`};return Y` + + + + `}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + mushroom-shape-icon { + --icon-color: rgb(var(--rgb-state-entity)); + --shape-color: rgba(var(--rgb-state-entity), 0.2); + } + mushroom-shape-icon.pulse { + --shape-animation: 1s ease 0s infinite normal none running pulse; + } + mushroom-update-buttons-control { + flex: 1; + } + `]}};xd=n([pt(gd)],xd);const wd=`${Nl}-vacuum-card`,kd=`${wd}-editor`,Cd=["vacuum"];function $d(t){switch(t.state){case"cleaning":case"on":return!0;default:return!1}}function Ed(t){return t.state===Ne}const Ad=(t,e,i)=>Sd(t,e,i)&&(!e.isVisible||e.isVisible(t)),Sd=(t,e,i)=>e.isSupported(t)&&i.includes(e.command),Id=[{icon:"mdi:power",serviceName:"turn_on",command:"on_off",isSupported:t=>Wt(t,1),isVisible:t=>!Bt(t),isDisabled:()=>!1},{icon:"mdi:power",serviceName:"turn_off",command:"on_off",isSupported:t=>Wt(t,2),isVisible:t=>Bt(t),isDisabled:()=>!1},{icon:"mdi:play",serviceName:"start",command:"start_pause",isSupported:t=>Wt(t,Re),isVisible:t=>!$d(t),isDisabled:()=>!1},{icon:"mdi:pause",serviceName:"pause",command:"start_pause",isSupported:t=>Wt(t,Re)&&Wt(t,4),isVisible:t=>$d(t),isDisabled:()=>!1},{icon:"mdi:play-pause",serviceName:"start_pause",command:"start_pause",isSupported:t=>!Wt(t,Re)&&Wt(t,4),isDisabled:()=>!1},{icon:"mdi:stop",serviceName:"stop",command:"stop",isSupported:t=>Wt(t,8),isDisabled:t=>function(t){switch(t.state){case"docked":case"off":case"idle":case Ne:return!0;default:return!1}}(t)},{icon:"mdi:target-variant",serviceName:"clean_spot",command:"clean_spot",isSupported:t=>Wt(t,1024),isDisabled:()=>!1},{icon:"mdi:map-marker",serviceName:"locate",command:"locate",isSupported:t=>Wt(t,512),isDisabled:t=>Ed(t)},{icon:"mdi:home-map-marker",serviceName:"return_to_base",command:"return_home",isSupported:t=>Wt(t,16),isDisabled:()=>!1}];let Td=class extends ht{constructor(){super(...arguments),this.fill=!1}callService(t){t.stopPropagation();const e=t.target.entry;this.hass.callService("vacuum",e.serviceName,{entity_id:this.entity.entity_id})}render(){const t=Ie(this.hass);return Y` + + ${Id.filter((t=>Ad(this.entity,t,this.commands))).map((t=>Y` + + + + `))} + + `}};n([_t({attribute:!1})],Td.prototype,"hass",void 0),n([_t({attribute:!1})],Td.prototype,"entity",void 0),n([_t({attribute:!1})],Td.prototype,"commands",void 0),n([_t({type:Boolean})],Td.prototype,"fill",void 0),Td=n([pt("mushroom-vacuum-commands-control")],Td),Pl({type:wd,name:"Mushroom Vacuum Card",description:"Card for vacuum entity"});let Od=class extends Dl{static async getConfigElement(){return await Promise.resolve().then((function(){return mg})),document.createElement(kd)}static async getStubConfig(t){const e=Object.keys(t.states).filter((t=>Cd.includes(t.split(".")[0])));return{type:`custom:${wd}`,entity:e[0]}}get hasControls(){var t,e,i;return!(!this._stateObj||!this._config)&&(e=this._stateObj,i=null!==(t=this._config.commands)&&void 0!==t?t:[],Id.some((t=>Sd(e,t,i))))}_handleAction(t){Ke(this,this.hass,this._config,t.detail.action)}render(){var t,e;if(!this._config||!this.hass||!this._config.entity)return K;const i=this._stateObj;if(!i)return this.renderNotFound(this._config);const o=this._config.name||i.attributes.friendly_name||"",n=this._config.icon,r=$l(this._config),a=rl(i,r.icon_type),l=Ie(this.hass),s=null!==(e=null===(t=this._config)||void 0===t?void 0:t.commands)&&void 0!==e?e:[];return Y` + + + + ${a?this.renderPicture(a):this.renderIcon(i,n)} + ${this.renderBadge(i)} + ${this.renderStateInfo(i,r,o)}; + + ${((t,e)=>Id.some((i=>Ad(t,i,e))))(i,s)?Y` +
+ + +
+ `:K} +
+
+ `}renderIcon(t,e){var i,o;return Y` + + + `}static get styles(){return[super.styles,Ll,h` + mushroom-state-item { + cursor: pointer; + } + mushroom-shape-icon { + --icon-color: rgb(var(--rgb-state-vacuum)); + --shape-color: rgba(var(--rgb-state-vacuum), 0.2); + } + .cleaning ha-state-icon { + animation: 5s infinite linear cleaning; + } + .cleaning ha-state-icon { + animation: 2s infinite linear returning; + } + mushroom-vacuum-commands-control { + flex: 1; + } + `]}};Od=n([pt(wd)],Od),console.info("%c🍄 Mushroom 🍄 - 3.6.4","color: #ef5350; font-weight: 700;");const zd=Ce({tap_action:$e(ni),hold_action:$e(ni),double_tap_action:$e(ni)}),Md=t=>[{name:"tap_action",selector:{"ui-action":{actions:t}}},{name:"hold_action",selector:{"ui-action":{actions:t}}},{name:"double_tap_action",selector:{"ui-action":{actions:t}}}],jd=Ce({layout:$e(Se([we("horizontal"),we("vertical"),we("default")])),fill_container:$e(ye()),primary_info:$e(xe(il)),secondary_info:$e(xe(il)),icon_type:$e(xe(ol))}),Dd=[{type:"grid",name:"",schema:[{name:"layout",selector:{mush_layout:{}}},{name:"fill_container",selector:{boolean:{}}}]},{type:"grid",name:"",schema:[{name:"primary_info",selector:{mush_info:{}}},{name:"secondary_info",selector:{mush_info:{}}},{name:"icon_type",selector:{mush_icon_type:{}}}]}],Ld=["icon_color","layout","fill_container","primary_info","secondary_info","icon_type","content_info","use_entity_picture","collapsible_controls","icon_animation"],Pd=Ce({entity:$e(Ee()),name:$e(Ee()),icon:$e(Ee())}),Nd=Ce({index:$e(ke()),view_index:$e(ke()),view_layout:ve(),type:Ee(),layout_options:ve(),visibility:ve()}),Rd=fe(Nd,fe(Pd,jd,zd),Ce({states:$e(be()),show_keypad:(Fd=$e(ye()),Vd=(t,e)=>{console.warn(`🍄 "${e.path}" option is deprecated and no longer available. Remove it from your YAML configuration or use the built-in Home Assistant alarm panel card if you want keypad.`)},new he({...Fd,refiner:(t,e)=>void 0===t||Fd.refiner(t,e),validator:(t,e)=>void 0===t||(Vd(t,e),Fd.validator(t,e))}))}));var Fd,Vd;const Bd=["more-info","navigate","url","call-service","assist","none"],Ud=["armed_home","armed_away","armed_night","armed_vacation","armed_custom_bypass"],Hd=Tt((t=>[{name:"entity",selector:{entity:{domain:Vl}}},{name:"name",selector:{text:{}}},{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},...Dd,{type:"multi_select",name:"states",options:Ud.map((e=>[e,t(`ui.card.alarm_control_panel.${e.replace("armed","arm")}`)]))},...Md(Bd)]));let Yd=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):"states"===t.name?this.hass.localize("ui.panel.lovelace.editor.card.alarm-panel.available_states"):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,Rd),this._config=t}render(){if(!this.hass||!this._config)return K;const t=Hd(this.hass.localize);return Y` + + `}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],Yd.prototype,"_config",void 0),Yd=n([pt(Fl)],Yd);var Wd=Object.freeze({__proto__:null,get SwitchCardEditor(){return Yd}});const Xd=[{name:"entity",selector:{entity:{}}},{type:"grid",name:"",schema:[{name:"name",selector:{text:{}}},{name:"content_info",selector:{mush_info:{}}}]},{type:"grid",name:"",schema:[{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},{name:"icon_color",selector:{mush_color:{}}}]},{name:"use_entity_picture",selector:{boolean:{}}},...Md()];let Kd=class extends ht{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}setConfig(t){this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([_t({attribute:!1})],Kd.prototype,"hass",void 0),n([vt()],Kd.prototype,"_config",void 0),Kd=n([pt(Gl("entity"))],Kd);var Gd=Object.freeze({__proto__:null,get EntityChipEditor(){return Kd}});const qd=["show_conditions","show_temperature"],Zd=[{name:"entity",selector:{entity:{domain:["weather"]}}},{type:"grid",name:"",schema:[{name:"show_conditions",selector:{boolean:{}}},{name:"show_temperature",selector:{boolean:{}}}]},...Md(["more-info","navigate","url","call-service","assist","none"])];let Jd=class extends ht{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):qd.includes(t.name)?e(`editor.card.weather.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}setConfig(t){this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([_t({attribute:!1})],Jd.prototype,"hass",void 0),n([vt()],Jd.prototype,"_config",void 0),Jd=n([pt(Gl("weather"))],Jd);var Qd=Object.freeze({__proto__:null,get WeatherChipEditor(){return Jd}});const tu=[{name:"icon",selector:{icon:{placeholder:rs}}}];let eu=class extends ht{constructor(){super(...arguments),this._computeLabel=t=>this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}setConfig(t){this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([_t({attribute:!1})],eu.prototype,"hass",void 0),n([vt()],eu.prototype,"_config",void 0),eu=n([pt(Gl("back"))],eu);var iu=Object.freeze({__proto__:null,get BackChipEditor(){return eu}});const ou=[{type:"grid",name:"",schema:[{name:"icon",selector:{icon:{placeholder:ls}}},{name:"icon_color",selector:{mush_color:{}}}]},...Md(["navigate","url","call-service","assist","none"])];let nu=class extends ht{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}setConfig(t){this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([_t({attribute:!1})],nu.prototype,"hass",void 0),n([vt()],nu.prototype,"_config",void 0),nu=n([pt(Gl("action"))],nu);var ru=Object.freeze({__proto__:null,get EntityChipEditor(){return nu}});const au=[{name:"icon",selector:{icon:{placeholder:cs}}}];let lu=class extends ht{constructor(){super(...arguments),this._computeLabel=t=>this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}setConfig(t){this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([_t({attribute:!1})],lu.prototype,"hass",void 0),n([vt()],lu.prototype,"_config",void 0),lu=n([pt(Gl("menu"))],lu);var su=Object.freeze({__proto__:null,get MenuChipEditor(){return lu}});const cu=fe(Nd,fe(jd,zd),Ce({entity:$e(Ee()),icon:$e(Ee()),icon_color:$e(Ee()),primary:$e(Ee()),secondary:$e(Ee()),badge_icon:$e(Ee()),badge_color:$e(Ee()),picture:$e(Ee()),multiline_secondary:$e(ye()),entity_id:$e(Se([Ee(),be(Ee())]))})),du=["badge_icon","badge_color","content","primary","secondary","multiline_secondary","picture"],uu=[{name:"entity",selector:{entity:{}}},{name:"icon",selector:{template:{}}},{name:"icon_color",selector:{template:{}}},{name:"primary",selector:{template:{}}},{name:"secondary",selector:{template:{}}},{name:"badge_icon",selector:{template:{}}},{name:"badge_color",selector:{template:{}}},{name:"picture",selector:{template:{}}},{type:"grid",name:"",schema:[{name:"layout",selector:{mush_layout:{}}},{name:"fill_container",selector:{boolean:{}}},{name:"multiline_secondary",selector:{boolean:{}}}]},...Md()];let hu=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return"entity"===t.name?`${this.hass.localize("ui.panel.lovelace.editor.card.generic.entity")} (${e("editor.card.template.entity_extra")})`:Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):du.includes(t.name)?e(`editor.card.template.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,cu),this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],hu.prototype,"_config",void 0),hu=n([pt(cd)],hu);var mu=Object.freeze({__proto__:null,TEMPLATE_LABELS:du,get TemplateCardEditor(){return hu}});const pu=[{name:"entity",selector:{entity:{}}},{name:"icon",selector:{template:{}}},{name:"icon_color",selector:{template:{}}},{name:"picture",selector:{template:{}}},{name:"content",selector:{template:{}}},...Md()];let fu=class extends ht{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return"entity"===t.name?`${this.hass.localize("ui.panel.lovelace.editor.card.generic.entity")} (${e("editor.card.template.entity_extra")})`:Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):du.includes(t.name)?e(`editor.card.template.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}setConfig(t){this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([_t({attribute:!1})],fu.prototype,"hass",void 0),n([vt()],fu.prototype,"_config",void 0),fu=n([pt(Gl("template"))],fu);var gu=Object.freeze({__proto__:null,get EntityChipEditor(){return fu}}); +/** + * @license + * Copyright 2021 Google LLC + * SPDX-LIcense-Identifier: Apache-2.0 + */const _u=h`.mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:0.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);text-decoration:inherit;text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform, inherit);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl] .mdc-floating-label,.mdc-floating-label[dir=rtl]{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.mdc-floating-label--float-above{cursor:auto}.mdc-floating-label--required::after{margin-left:1px;margin-right:0px;content:"*"}[dir=rtl] .mdc-floating-label--required::after,.mdc-floating-label--required[dir=rtl]::after{margin-left:0;margin-right:1px}.mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-standard 250ms 1}@keyframes mdc-floating-label-shake-float-above-standard{0%{transform:translateX(calc(0 - 0%)) translateY(-106%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-106%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-106%) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-106%) scale(0.75)}}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{border-bottom-width:1px}.mdc-line-ripple::before{z-index:1}.mdc-line-ripple::after{transform:scaleX(0);border-bottom-width:2px;opacity:0;z-index:2}.mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline,.mdc-notched-outline[dir=rtl]{text-align:right}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{box-sizing:border-box;height:100%;border-top:1px solid;border-bottom:1px solid;pointer-events:none}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;width:12px}[dir=rtl] .mdc-notched-outline__leading,.mdc-notched-outline__leading[dir=rtl]{border-left:none;border-right:1px solid}.mdc-notched-outline__trailing{border-left:none;border-right:1px solid;flex-grow:1}[dir=rtl] .mdc-notched-outline__trailing,.mdc-notched-outline__trailing[dir=rtl]{border-left:1px solid;border-right:none}.mdc-notched-outline__notch{flex:0 0 auto;width:auto;max-width:calc(100% - 12px * 2)}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(100% / 0.75)}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch,.mdc-notched-outline--notched .mdc-notched-outline__notch[dir=rtl]{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-text-field--filled{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0);will-change:transform,opacity}.mdc-text-field--filled .mdc-text-field__ripple::before,.mdc-text-field--filled .mdc-text-field__ripple::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-text-field--filled .mdc-text-field__ripple::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-text-field--filled .mdc-text-field__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-text-field--filled.mdc-ripple-upgraded .mdc-text-field__ripple::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-text-field--filled.mdc-ripple-upgraded .mdc-text-field__ripple::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-text-field--filled.mdc-ripple-upgraded--unbounded .mdc-text-field__ripple::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-text-field--filled.mdc-ripple-upgraded--foreground-activation .mdc-text-field__ripple::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-text-field--filled.mdc-ripple-upgraded--foreground-deactivation .mdc-text-field__ripple::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-text-field--filled .mdc-text-field__ripple::before,.mdc-text-field--filled .mdc-text-field__ripple::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-text-field--filled.mdc-ripple-upgraded .mdc-text-field__ripple::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-text-field__ripple{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.mdc-text-field{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:0;border-bottom-left-radius:0;display:inline-flex;align-items:baseline;padding:0 16px;position:relative;box-sizing:border-box;overflow:hidden;will-change:opacity,transform,color}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(0, 0, 0, 0.6)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input{color:rgba(0, 0, 0, 0.87)}@media all{.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:rgba(0, 0, 0, 0.54)}}@media all{.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:rgba(0, 0, 0, 0.54)}}.mdc-text-field .mdc-text-field__input{caret-color:#6200ee;caret-color:var(--mdc-theme-primary, #6200ee)}.mdc-text-field:not(.mdc-text-field--disabled)+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:rgba(0, 0, 0, 0.6)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field-character-counter,.mdc-text-field:not(.mdc-text-field--disabled)+.mdc-text-field-helper-line .mdc-text-field-character-counter{color:rgba(0, 0, 0, 0.6)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon--leading{color:rgba(0, 0, 0, 0.54)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon--trailing{color:rgba(0, 0, 0, 0.54)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--prefix{color:rgba(0, 0, 0, 0.6)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--suffix{color:rgba(0, 0, 0, 0.6)}.mdc-text-field .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-text-field__input{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:0.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);text-decoration:inherit;text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform, inherit);height:28px;transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);width:100%;min-width:0;border:none;border-radius:0;background:none;appearance:none;padding:0}.mdc-text-field__input::-ms-clear{display:none}.mdc-text-field__input::-webkit-calendar-picker-indicator{display:none}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}@media all{.mdc-text-field__input::placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0}}@media all{.mdc-text-field__input:-ms-input-placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0}}@media all{.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}}@media all{.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}}.mdc-text-field__affix{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:0.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);text-decoration:inherit;text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform, inherit);height:28px;transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;white-space:nowrap}.mdc-text-field--label-floating .mdc-text-field__affix,.mdc-text-field--no-label .mdc-text-field__affix{opacity:1}@supports(-webkit-hyphens: none){.mdc-text-field--outlined .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field__affix--prefix,.mdc-text-field__affix--prefix[dir=rtl]{padding-left:2px;padding-right:0}.mdc-text-field--end-aligned .mdc-text-field__affix--prefix{padding-left:0;padding-right:12px}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--end-aligned .mdc-text-field__affix--prefix[dir=rtl]{padding-left:12px;padding-right:0}.mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field__affix--suffix,.mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:12px}.mdc-text-field--end-aligned .mdc-text-field__affix--suffix{padding-left:2px;padding-right:0}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--end-aligned .mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:2px}.mdc-text-field--filled{height:56px}.mdc-text-field--filled .mdc-text-field__ripple::before,.mdc-text-field--filled .mdc-text-field__ripple::after{background-color:rgba(0, 0, 0, 0.87);background-color:var(--mdc-ripple-color, rgba(0, 0, 0, 0.87))}.mdc-text-field--filled:hover .mdc-text-field__ripple::before,.mdc-text-field--filled.mdc-ripple-surface--hover .mdc-text-field__ripple::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-text-field--filled.mdc-ripple-upgraded--background-focused .mdc-text-field__ripple::before,.mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-text-field--filled::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:whitesmoke}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.42)}.mdc-text-field--filled:not(.mdc-text-field--disabled):hover .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.87)}.mdc-text-field--filled .mdc-line-ripple::after{border-bottom-color:#6200ee;border-bottom-color:var(--mdc-theme-primary, #6200ee)}.mdc-text-field--filled .mdc-floating-label{left:16px;right:initial}[dir=rtl] .mdc-text-field--filled .mdc-floating-label,.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:16px}.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{height:100%}.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label{display:none}.mdc-text-field--filled.mdc-text-field--no-label::before{display:none}@supports(-webkit-hyphens: none){.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field--outlined{height:56px;overflow:visible}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1)}.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) scale(0.75)}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined{0%{transform:translateX(calc(0 - 0%)) translateY(-34.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-34.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-34.75px) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-34.75px) scale(0.75)}}.mdc-text-field--outlined .mdc-text-field__input{height:100%}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:rgba(0, 0, 0, 0.38)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:rgba(0, 0, 0, 0.87)}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#6200ee;border-color:var(--mdc-theme-primary, #6200ee)}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;border-bottom-left-radius:var(--mdc-shape-small, 4px)}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-top-left-radius:0;border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:4px;border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px, var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2)}}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-top-left-radius:0;border-top-right-radius:4px;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:4px;border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-top-left-radius:4px;border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:4px;border-bottom-left-radius:var(--mdc-shape-small, 4px)}@supports(top: max(0%)){.mdc-text-field--outlined{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined{padding-right:max(16px, var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-right:max(16px, var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-left:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-right:max(16px, var(--mdc-shape-small, 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-right:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:max(16px, var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-right:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-right:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-text-field--outlined .mdc-text-field__ripple::before,.mdc-text-field--outlined .mdc-text-field__ripple::after{background-color:transparent;background-color:var(--mdc-ripple-color, transparent)}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:initial}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-text-field--outlined .mdc-text-field__input{display:flex;border:none !important;background-color:transparent}.mdc-text-field--outlined .mdc-notched-outline{z-index:1}.mdc-text-field--textarea{flex-direction:column;align-items:center;width:auto;height:auto;padding:0;transition:none}.mdc-text-field--textarea .mdc-floating-label{top:19px}.mdc-text-field--textarea .mdc-floating-label:not(.mdc-floating-label--float-above){transform:none}.mdc-text-field--textarea .mdc-text-field__input{flex-grow:1;height:auto;min-height:1.5rem;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;resize:none;padding:0 16px;line-height:1.5rem}.mdc-text-field--textarea.mdc-text-field--filled::before{display:none}.mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-10.25px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-filled 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-filled{0%{transform:translateX(calc(0 - 0%)) translateY(-10.25px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-10.25px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-10.25px) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-10.25px) scale(0.75)}}.mdc-text-field--textarea.mdc-text-field--filled .mdc-text-field__input{margin-top:23px;margin-bottom:9px}.mdc-text-field--textarea.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-27.25px) scale(1)}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-24.75px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-outlined{0%{transform:translateX(calc(0 - 0%)) translateY(-24.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-24.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-24.75px) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-24.75px) scale(0.75)}}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label{top:18px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field__input{margin-bottom:2px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter{align-self:flex-end;padding:0 16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::after{display:inline-block;width:0;height:16px;content:"";vertical-align:-16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::before{display:none}.mdc-text-field__resizer{align-self:stretch;display:inline-flex;flex-direction:column;flex-grow:1;max-height:100%;max-width:100%;min-height:56px;min-width:fit-content;min-width:-moz-available;min-width:-webkit-fill-available;overflow:hidden;resize:both}.mdc-text-field--filled .mdc-text-field__resizer{transform:translateY(-1px)}.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateY(1px)}.mdc-text-field--outlined .mdc-text-field__resizer{transform:translateX(-1px) translateY(-1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer,.mdc-text-field--outlined .mdc-text-field__resizer[dir=rtl]{transform:translateX(1px) translateY(-1px)}.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateX(1px) translateY(1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input[dir=rtl],.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter[dir=rtl]{transform:translateX(-1px) translateY(1px)}.mdc-text-field--with-leading-icon{padding-left:0;padding-right:16px}[dir=rtl] .mdc-text-field--with-leading-icon,.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:16px;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 48px);left:48px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:48px}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 64px / 0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) translateX(-32px) scale(1)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-37.25px) translateX(32px) scale(1)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) translateX(-32px) scale(0.75)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-34.75px) translateX(32px) scale(0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon{0%{transform:translateX(calc(0 - 32px)) translateY(-34.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 32px)) translateY(-34.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 32px)) translateY(-34.75px) scale(0.75)}100%{transform:translateX(calc(0 - 32px)) translateY(-34.75px) scale(0.75)}}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake,.mdc-text-field--with-leading-icon.mdc-text-field--outlined[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl{0%{transform:translateX(calc(0 - -32px)) translateY(-34.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - -32px)) translateY(-34.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - -32px)) translateY(-34.75px) scale(0.75)}100%{transform:translateX(calc(0 - -32px)) translateY(-34.75px) scale(0.75)}}.mdc-text-field--with-trailing-icon{padding-left:16px;padding-right:0}[dir=rtl] .mdc-text-field--with-trailing-icon,.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0;padding-right:16px}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 64px)}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 64px / 0.75)}.mdc-text-field--with-trailing-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 96px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 96px / 0.75)}.mdc-text-field-helper-line{display:flex;justify-content:space-between;box-sizing:border-box}.mdc-text-field+.mdc-text-field-helper-line{padding-right:16px;padding-left:16px}.mdc-form-field>.mdc-text-field+label{align-self:flex-start}.mdc-text-field--focused:not(.mdc-text-field--disabled) .mdc-floating-label{color:rgba(98, 0, 238, 0.87)}.mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--focused .mdc-notched-outline__trailing{border-width:2px}.mdc-text-field--focused+.mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg){opacity:1}.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-text-field--focused.mdc-text-field--outlined.mdc-text-field--textarea .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-line-ripple::before{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label{color:#b00020;color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{color:#b00020;color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid .mdc-text-field__input{caret-color:#b00020;caret-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__icon--trailing{color:#b00020;color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__leading,.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__notch,.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch,.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--invalid:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border-color:#b00020;border-color:var(--mdc-theme-error, #b00020)}.mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{opacity:1}.mdc-text-field--disabled{pointer-events:none}.mdc-text-field--disabled .mdc-text-field__input{color:rgba(0, 0, 0, 0.38)}@media all{.mdc-text-field--disabled .mdc-text-field__input::placeholder{color:rgba(0, 0, 0, 0.38)}}@media all{.mdc-text-field--disabled .mdc-text-field__input:-ms-input-placeholder{color:rgba(0, 0, 0, 0.38)}}.mdc-text-field--disabled .mdc-floating-label{color:rgba(0, 0, 0, 0.38)}.mdc-text-field--disabled+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:rgba(0, 0, 0, 0.38)}.mdc-text-field--disabled .mdc-text-field-character-counter,.mdc-text-field--disabled+.mdc-text-field-helper-line .mdc-text-field-character-counter{color:rgba(0, 0, 0, 0.38)}.mdc-text-field--disabled .mdc-text-field__icon--leading{color:rgba(0, 0, 0, 0.3)}.mdc-text-field--disabled .mdc-text-field__icon--trailing{color:rgba(0, 0, 0, 0.3)}.mdc-text-field--disabled .mdc-text-field__affix--prefix{color:rgba(0, 0, 0, 0.38)}.mdc-text-field--disabled .mdc-text-field__affix--suffix{color:rgba(0, 0, 0, 0.38)}.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.06)}.mdc-text-field--disabled .mdc-notched-outline__leading,.mdc-text-field--disabled .mdc-notched-outline__notch,.mdc-text-field--disabled .mdc-notched-outline__trailing{border-color:rgba(0, 0, 0, 0.06)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field__input::placeholder{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field__input:-ms-input-placeholder{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-floating-label{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled+.mdc-text-field-helper-line .mdc-text-field-helper-text{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field-character-counter,.mdc-text-field--disabled+.mdc-text-field-helper-line .mdc-text-field-character-counter{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field__icon--leading{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field__icon--trailing{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field__affix--prefix{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-text-field__affix--suffix{color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:GrayText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-text-field--disabled .mdc-notched-outline__leading,.mdc-text-field--disabled .mdc-notched-outline__notch,.mdc-text-field--disabled .mdc-notched-outline__trailing{border-color:GrayText}}@media screen and (forced-colors: active){.mdc-text-field--disabled .mdc-text-field__input{background-color:Window}.mdc-text-field--disabled .mdc-floating-label{z-index:1}}.mdc-text-field--disabled .mdc-floating-label{cursor:default}.mdc-text-field--disabled.mdc-text-field--filled{background-color:#fafafa}.mdc-text-field--disabled.mdc-text-field--filled .mdc-text-field__ripple{display:none}.mdc-text-field--disabled .mdc-text-field__input{pointer-events:auto}.mdc-text-field--end-aligned .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--end-aligned .mdc-text-field__input[dir=rtl]{text-align:left}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix{direction:ltr}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--leading,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--leading{order:1}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{order:2}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input{order:3}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{order:4}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--trailing,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--trailing{order:5}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--prefix{padding-right:12px}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--suffix{padding-left:2px}.mdc-text-field-helper-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:0.75rem;font-size:var(--mdc-typography-caption-font-size, 0.75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:0.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, 0.0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform, inherit);display:block;margin-top:0;line-height:normal;margin:0;opacity:0;will-change:opacity;transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-text-field-helper-text::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.mdc-text-field-helper-text--persistent{transition:none;opacity:1;will-change:initial}.mdc-text-field-character-counter{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:0.75rem;font-size:var(--mdc-typography-caption-font-size, 0.75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:0.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, 0.0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform, inherit);display:block;margin-top:0;line-height:normal;margin-left:auto;margin-right:0;padding-left:16px;padding-right:0;white-space:nowrap}.mdc-text-field-character-counter::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}[dir=rtl] .mdc-text-field-character-counter,.mdc-text-field-character-counter[dir=rtl]{margin-left:0;margin-right:auto}[dir=rtl] .mdc-text-field-character-counter,.mdc-text-field-character-counter[dir=rtl]{padding-left:0;padding-right:16px}.mdc-text-field__icon{align-self:center;cursor:pointer}.mdc-text-field__icon:not([tabindex]),.mdc-text-field__icon[tabindex="-1"]{cursor:default;pointer-events:none}.mdc-text-field__icon svg{display:block}.mdc-text-field__icon--leading{margin-left:16px;margin-right:8px}[dir=rtl] .mdc-text-field__icon--leading,.mdc-text-field__icon--leading[dir=rtl]{margin-left:8px;margin-right:16px}.mdc-text-field__icon--trailing{padding:12px;margin-left:0px;margin-right:0px}[dir=rtl] .mdc-text-field__icon--trailing,.mdc-text-field__icon--trailing[dir=rtl]{margin-left:0px;margin-right:0px}.material-icons{font-family:var(--mdc-icon-font, "Material Icons");font-weight:normal;font-style:normal;font-size:var(--mdc-icon-size, 24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}:host{display:inline-flex;flex-direction:column;outline:none}.mdc-text-field{width:100%}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.42);border-bottom-color:var(--mdc-text-field-idle-line-color, rgba(0, 0, 0, 0.42))}.mdc-text-field:not(.mdc-text-field--disabled):hover .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.87);border-bottom-color:var(--mdc-text-field-hover-line-color, rgba(0, 0, 0, 0.87))}.mdc-text-field.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:rgba(0, 0, 0, 0.06);border-bottom-color:var(--mdc-text-field-disabled-line-color, rgba(0, 0, 0, 0.06))}.mdc-text-field.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:#b00020;border-bottom-color:var(--mdc-theme-error, #b00020)}.mdc-text-field__input{direction:inherit}mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-text-field-outlined-idle-border-color, rgba(0, 0, 0, 0.38) )}:host(:not([disabled]):hover) :not(.mdc-text-field--invalid):not(.mdc-text-field--focused) mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-text-field-outlined-hover-border-color, rgba(0, 0, 0, 0.87) )}:host(:not([disabled])) .mdc-text-field:not(.mdc-text-field--outlined){background-color:var(--mdc-text-field-fill-color, whitesmoke)}:host(:not([disabled])) .mdc-text-field.mdc-text-field--invalid mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-text-field-error-color, var(--mdc-theme-error, #b00020) )}:host(:not([disabled])) .mdc-text-field.mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-character-counter,:host(:not([disabled])) .mdc-text-field.mdc-text-field--invalid .mdc-text-field__icon{color:var(--mdc-text-field-error-color, var(--mdc-theme-error, #b00020))}:host(:not([disabled])) .mdc-text-field:not(.mdc-text-field--invalid):not(.mdc-text-field--focused) .mdc-floating-label,:host(:not([disabled])) .mdc-text-field:not(.mdc-text-field--invalid):not(.mdc-text-field--focused) .mdc-floating-label::after{color:var(--mdc-text-field-label-ink-color, rgba(0, 0, 0, 0.6))}:host(:not([disabled])) .mdc-text-field.mdc-text-field--focused mwc-notched-outline{--mdc-notched-outline-stroke-width: 2px}:host(:not([disabled])) .mdc-text-field.mdc-text-field--focused:not(.mdc-text-field--invalid) mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-text-field-focused-label-color, var(--mdc-theme-primary, rgba(98, 0, 238, 0.87)) )}:host(:not([disabled])) .mdc-text-field.mdc-text-field--focused:not(.mdc-text-field--invalid) .mdc-floating-label{color:#6200ee;color:var(--mdc-theme-primary, #6200ee)}:host(:not([disabled])) .mdc-text-field .mdc-text-field__input{color:var(--mdc-text-field-ink-color, rgba(0, 0, 0, 0.87))}:host(:not([disabled])) .mdc-text-field .mdc-text-field__input::placeholder{color:var(--mdc-text-field-label-ink-color, rgba(0, 0, 0, 0.6))}:host(:not([disabled])) .mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg),:host(:not([disabled])) .mdc-text-field-helper-line:not(.mdc-text-field--invalid) .mdc-text-field-character-counter{color:var(--mdc-text-field-label-ink-color, rgba(0, 0, 0, 0.6))}:host([disabled]) .mdc-text-field:not(.mdc-text-field--outlined){background-color:var(--mdc-text-field-disabled-fill-color, #fafafa)}:host([disabled]) .mdc-text-field.mdc-text-field--outlined mwc-notched-outline{--mdc-notched-outline-border-color: var( --mdc-text-field-outlined-disabled-border-color, rgba(0, 0, 0, 0.06) )}:host([disabled]) .mdc-text-field:not(.mdc-text-field--invalid):not(.mdc-text-field--focused) .mdc-floating-label,:host([disabled]) .mdc-text-field:not(.mdc-text-field--invalid):not(.mdc-text-field--focused) .mdc-floating-label::after{color:var(--mdc-text-field-disabled-ink-color, rgba(0, 0, 0, 0.38))}:host([disabled]) .mdc-text-field .mdc-text-field__input,:host([disabled]) .mdc-text-field .mdc-text-field__input::placeholder{color:var(--mdc-text-field-disabled-ink-color, rgba(0, 0, 0, 0.38))}:host([disabled]) .mdc-text-field-helper-line .mdc-text-field-helper-text,:host([disabled]) .mdc-text-field-helper-line .mdc-text-field-character-counter{color:var(--mdc-text-field-disabled-ink-color, rgba(0, 0, 0, 0.38))}` +/** + * @license + * Copyright 2016 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. + */;var vu=function(){function t(t){void 0===t&&(t={}),this.adapter=t}return Object.defineProperty(t,"cssClasses",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return{}},enumerable:!1,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{}},enumerable:!1,configurable:!0}),t.prototype.init=function(){},t.prototype.destroy=function(){},t}(),bu={ARIA_CONTROLS:"aria-controls",ARIA_DESCRIBEDBY:"aria-describedby",INPUT_SELECTOR:".mdc-text-field__input",LABEL_SELECTOR:".mdc-floating-label",LEADING_ICON_SELECTOR:".mdc-text-field__icon--leading",LINE_RIPPLE_SELECTOR:".mdc-line-ripple",OUTLINE_SELECTOR:".mdc-notched-outline",PREFIX_SELECTOR:".mdc-text-field__affix--prefix",SUFFIX_SELECTOR:".mdc-text-field__affix--suffix",TRAILING_ICON_SELECTOR:".mdc-text-field__icon--trailing"},yu={DISABLED:"mdc-text-field--disabled",FOCUSED:"mdc-text-field--focused",HELPER_LINE:"mdc-text-field-helper-line",INVALID:"mdc-text-field--invalid",LABEL_FLOATING:"mdc-text-field--label-floating",NO_LABEL:"mdc-text-field--no-label",OUTLINED:"mdc-text-field--outlined",ROOT:"mdc-text-field",TEXTAREA:"mdc-text-field--textarea",WITH_LEADING_ICON:"mdc-text-field--with-leading-icon",WITH_TRAILING_ICON:"mdc-text-field--with-trailing-icon",WITH_INTERNAL_COUNTER:"mdc-text-field--with-internal-counter"},xu={LABEL_SCALE:.75},wu=["pattern","min","max","required","step","minlength","maxlength"],ku=["color","date","datetime-local","month","range","time","week"],Cu=["mousedown","touchstart"],$u=["click","keydown"],Eu=function(t){function e(i,n){void 0===n&&(n={});var r=t.call(this,o(o({},e.defaultAdapter),i))||this;return r.isFocused=!1,r.receivedUserInput=!1,r.valid=!0,r.useNativeValidation=!0,r.validateOnValueChange=!0,r.helperText=n.helperText,r.characterCounter=n.characterCounter,r.leadingIcon=n.leadingIcon,r.trailingIcon=n.trailingIcon,r.inputFocusHandler=function(){r.activateFocus()},r.inputBlurHandler=function(){r.deactivateFocus()},r.inputInputHandler=function(){r.handleInput()},r.setPointerXOffset=function(t){r.setTransformOrigin(t)},r.textFieldInteractionHandler=function(){r.handleTextFieldInteraction()},r.validationAttributeChangeHandler=function(t){r.handleValidationAttributeChange(t)},r}return i(e,t),Object.defineProperty(e,"cssClasses",{get:function(){return yu},enumerable:!1,configurable:!0}),Object.defineProperty(e,"strings",{get:function(){return bu},enumerable:!1,configurable:!0}),Object.defineProperty(e,"numbers",{get:function(){return xu},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shouldAlwaysFloat",{get:function(){var t=this.getNativeInput().type;return ku.indexOf(t)>=0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shouldFloat",{get:function(){return this.shouldAlwaysFloat||this.isFocused||!!this.getValue()||this.isBadInput()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"shouldShake",{get:function(){return!this.isFocused&&!this.isValid()&&!!this.getValue()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultAdapter",{get:function(){return{addClass:function(){},removeClass:function(){},hasClass:function(){return!0},setInputAttr:function(){},removeInputAttr:function(){},registerTextFieldInteractionHandler:function(){},deregisterTextFieldInteractionHandler:function(){},registerInputInteractionHandler:function(){},deregisterInputInteractionHandler:function(){},registerValidationAttributeChangeHandler:function(){return new MutationObserver((function(){}))},deregisterValidationAttributeChangeHandler:function(){},getNativeInput:function(){return null},isFocused:function(){return!1},activateLineRipple:function(){},deactivateLineRipple:function(){},setLineRippleTransformOrigin:function(){},shakeLabel:function(){},floatLabel:function(){},setLabelRequired:function(){},hasLabel:function(){return!1},getLabelWidth:function(){return 0},hasOutline:function(){return!1},notchOutline:function(){},closeOutline:function(){}}},enumerable:!1,configurable:!0}),e.prototype.init=function(){var t,e,i,o;this.adapter.hasLabel()&&this.getNativeInput().required&&this.adapter.setLabelRequired(!0),this.adapter.isFocused()?this.inputFocusHandler():this.adapter.hasLabel()&&this.shouldFloat&&(this.notchOutline(!0),this.adapter.floatLabel(!0),this.styleFloating(!0)),this.adapter.registerInputInteractionHandler("focus",this.inputFocusHandler),this.adapter.registerInputInteractionHandler("blur",this.inputBlurHandler),this.adapter.registerInputInteractionHandler("input",this.inputInputHandler);try{for(var n=r(Cu),a=n.next();!a.done;a=n.next()){var l=a.value;this.adapter.registerInputInteractionHandler(l,this.setPointerXOffset)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}try{for(var s=r($u),c=s.next();!c.done;c=s.next()){l=c.value;this.adapter.registerTextFieldInteractionHandler(l,this.textFieldInteractionHandler)}}catch(t){i={error:t}}finally{try{c&&!c.done&&(o=s.return)&&o.call(s)}finally{if(i)throw i.error}}this.validationObserver=this.adapter.registerValidationAttributeChangeHandler(this.validationAttributeChangeHandler),this.setcharacterCounter(this.getValue().length)},e.prototype.destroy=function(){var t,e,i,o;this.adapter.deregisterInputInteractionHandler("focus",this.inputFocusHandler),this.adapter.deregisterInputInteractionHandler("blur",this.inputBlurHandler),this.adapter.deregisterInputInteractionHandler("input",this.inputInputHandler);try{for(var n=r(Cu),a=n.next();!a.done;a=n.next()){var l=a.value;this.adapter.deregisterInputInteractionHandler(l,this.setPointerXOffset)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}try{for(var s=r($u),c=s.next();!c.done;c=s.next()){l=c.value;this.adapter.deregisterTextFieldInteractionHandler(l,this.textFieldInteractionHandler)}}catch(t){i={error:t}}finally{try{c&&!c.done&&(o=s.return)&&o.call(s)}finally{if(i)throw i.error}}this.adapter.deregisterValidationAttributeChangeHandler(this.validationObserver)},e.prototype.handleTextFieldInteraction=function(){var t=this.adapter.getNativeInput();t&&t.disabled||(this.receivedUserInput=!0)},e.prototype.handleValidationAttributeChange=function(t){var e=this;t.some((function(t){return wu.indexOf(t)>-1&&(e.styleValidity(!0),e.adapter.setLabelRequired(e.getNativeInput().required),!0)})),t.indexOf("maxlength")>-1&&this.setcharacterCounter(this.getValue().length)},e.prototype.notchOutline=function(t){if(this.adapter.hasOutline()&&this.adapter.hasLabel())if(t){var e=this.adapter.getLabelWidth()*xu.LABEL_SCALE;this.adapter.notchOutline(e)}else this.adapter.closeOutline()},e.prototype.activateFocus=function(){this.isFocused=!0,this.styleFocused(this.isFocused),this.adapter.activateLineRipple(),this.adapter.hasLabel()&&(this.notchOutline(this.shouldFloat),this.adapter.floatLabel(this.shouldFloat),this.styleFloating(this.shouldFloat),this.adapter.shakeLabel(this.shouldShake)),!this.helperText||!this.helperText.isPersistent()&&this.helperText.isValidation()&&this.valid||this.helperText.showToScreenReader()},e.prototype.setTransformOrigin=function(t){if(!this.isDisabled()&&!this.adapter.hasOutline()){var e=t.touches,i=e?e[0]:t,o=i.target.getBoundingClientRect(),n=i.clientX-o.left;this.adapter.setLineRippleTransformOrigin(n)}},e.prototype.handleInput=function(){this.autoCompleteFocus(),this.setcharacterCounter(this.getValue().length)},e.prototype.autoCompleteFocus=function(){this.receivedUserInput||this.activateFocus()},e.prototype.deactivateFocus=function(){this.isFocused=!1,this.adapter.deactivateLineRipple();var t=this.isValid();this.styleValidity(t),this.styleFocused(this.isFocused),this.adapter.hasLabel()&&(this.notchOutline(this.shouldFloat),this.adapter.floatLabel(this.shouldFloat),this.styleFloating(this.shouldFloat),this.adapter.shakeLabel(this.shouldShake)),this.shouldFloat||(this.receivedUserInput=!1)},e.prototype.getValue=function(){return this.getNativeInput().value},e.prototype.setValue=function(t){if(this.getValue()!==t&&(this.getNativeInput().value=t),this.setcharacterCounter(t.length),this.validateOnValueChange){var e=this.isValid();this.styleValidity(e)}this.adapter.hasLabel()&&(this.notchOutline(this.shouldFloat),this.adapter.floatLabel(this.shouldFloat),this.styleFloating(this.shouldFloat),this.validateOnValueChange&&this.adapter.shakeLabel(this.shouldShake))},e.prototype.isValid=function(){return this.useNativeValidation?this.isNativeInputValid():this.valid},e.prototype.setValid=function(t){this.valid=t,this.styleValidity(t);var e=!t&&!this.isFocused&&!!this.getValue();this.adapter.hasLabel()&&this.adapter.shakeLabel(e)},e.prototype.setValidateOnValueChange=function(t){this.validateOnValueChange=t},e.prototype.getValidateOnValueChange=function(){return this.validateOnValueChange},e.prototype.setUseNativeValidation=function(t){this.useNativeValidation=t},e.prototype.isDisabled=function(){return this.getNativeInput().disabled},e.prototype.setDisabled=function(t){this.getNativeInput().disabled=t,this.styleDisabled(t)},e.prototype.setHelperTextContent=function(t){this.helperText&&this.helperText.setContent(t)},e.prototype.setLeadingIconAriaLabel=function(t){this.leadingIcon&&this.leadingIcon.setAriaLabel(t)},e.prototype.setLeadingIconContent=function(t){this.leadingIcon&&this.leadingIcon.setContent(t)},e.prototype.setTrailingIconAriaLabel=function(t){this.trailingIcon&&this.trailingIcon.setAriaLabel(t)},e.prototype.setTrailingIconContent=function(t){this.trailingIcon&&this.trailingIcon.setContent(t)},e.prototype.setcharacterCounter=function(t){if(this.characterCounter){var e=this.getNativeInput().maxLength;if(-1===e)throw new Error("MDCTextFieldFoundation: Expected maxlength html property on text input or textarea.");this.characterCounter.setCounterValue(t,e)}},e.prototype.isBadInput=function(){return this.getNativeInput().validity.badInput||!1},e.prototype.isNativeInputValid=function(){return this.getNativeInput().validity.valid},e.prototype.styleValidity=function(t){var i=e.cssClasses.INVALID;if(t?this.adapter.removeClass(i):this.adapter.addClass(i),this.helperText){if(this.helperText.setValidity(t),!this.helperText.isValidation())return;var o=this.helperText.isVisible(),n=this.helperText.getId();o&&n?this.adapter.setInputAttr(bu.ARIA_DESCRIBEDBY,n):this.adapter.removeInputAttr(bu.ARIA_DESCRIBEDBY)}},e.prototype.styleFocused=function(t){var i=e.cssClasses.FOCUSED;t?this.adapter.addClass(i):this.adapter.removeClass(i)},e.prototype.styleDisabled=function(t){var i=e.cssClasses,o=i.DISABLED,n=i.INVALID;t?(this.adapter.addClass(o),this.adapter.removeClass(n)):this.adapter.removeClass(o),this.leadingIcon&&this.leadingIcon.setDisabled(t),this.trailingIcon&&this.trailingIcon.setDisabled(t)},e.prototype.styleFloating=function(t){var i=e.cssClasses.LABEL_FLOATING;t?this.adapter.addClass(i):this.adapter.removeClass(i)},e.prototype.getNativeInput=function(){return(this.adapter?this.adapter.getNativeInput():null)||{disabled:!1,maxLength:-1,required:!1,type:"input",validity:{badInput:!1,valid:!0},value:""}},e}(vu); +/** + * @license + * Copyright 2016 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: BSD-3-Clause + */ +const Au={},Su=He(class extends Ye{constructor(t){if(super(t),t.type!==Be&&t.type!==Ve&&t.type!==Ue)throw Error("The `live` directive is not allowed on child or event bindings");if(!(t=>void 0===t.strings)(t))throw Error("`live` bindings can only contain a single expression")}render(t){return t}update(t,[e]){if(e===X||e===K)return e;const i=t.element,o=t.name;if(t.type===Be){if(e===i[o])return X}else if(t.type===Ue){if(!!e===i.hasAttribute(o))return X}else if(t.type===Ve&&i.getAttribute(o)===e+"")return X;return((t,e=Au)=>{t._$AH=e; +/** + * @license + * Copyright 2020 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */})(t),e}}),Iu=["touchstart","touchmove","scroll","mousewheel"],Tu=(t={})=>{const e={};for(const i in t)e[i]=t[i];return Object.assign({badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:!0,valueMissing:!1},e)};class Ou extends tr{constructor(){super(...arguments),this.mdcFoundationClass=Eu,this.value="",this.type="text",this.placeholder="",this.label="",this.icon="",this.iconTrailing="",this.disabled=!1,this.required=!1,this.minLength=-1,this.maxLength=-1,this.outlined=!1,this.helper="",this.validateOnInitialRender=!1,this.validationMessage="",this.autoValidate=!1,this.pattern="",this.min="",this.max="",this.step=null,this.size=null,this.helperPersistent=!1,this.charCounter=!1,this.endAligned=!1,this.prefix="",this.suffix="",this.name="",this.readOnly=!1,this.autocapitalize="",this.outlineOpen=!1,this.outlineWidth=0,this.isUiValid=!0,this.focused=!1,this._validity=Tu(),this.validityTransform=null}get validity(){return this._checkValidity(this.value),this._validity}get willValidate(){return this.formElement.willValidate}get selectionStart(){return this.formElement.selectionStart}get selectionEnd(){return this.formElement.selectionEnd}focus(){const t=new CustomEvent("focus");this.formElement.dispatchEvent(t),this.formElement.focus()}blur(){const t=new CustomEvent("blur");this.formElement.dispatchEvent(t),this.formElement.blur()}select(){this.formElement.select()}setSelectionRange(t,e,i){this.formElement.setSelectionRange(t,e,i)}update(t){t.has("autoValidate")&&this.mdcFoundation&&this.mdcFoundation.setValidateOnValueChange(this.autoValidate),t.has("value")&&"string"!=typeof this.value&&(this.value=`${this.value}`),super.update(t)}setFormData(t){this.name&&t.append(this.name,this.value)}render(){const t=this.charCounter&&-1!==this.maxLength,e=!!this.helper||!!this.validationMessage||t,i={"mdc-text-field--disabled":this.disabled,"mdc-text-field--no-label":!this.label,"mdc-text-field--filled":!this.outlined,"mdc-text-field--outlined":this.outlined,"mdc-text-field--with-leading-icon":this.icon,"mdc-text-field--with-trailing-icon":this.iconTrailing,"mdc-text-field--end-aligned":this.endAligned};return Y` + + ${this.renderHelperText(e,t)} + `}updated(t){t.has("value")&&void 0!==t.get("value")&&(this.mdcFoundation.setValue(this.value),this.autoValidate&&this.reportValidity())}renderRipple(){return this.outlined?"":Y` + + `}renderOutline(){return this.outlined?Y` + + ${this.renderLabel()} + `:""}renderLabel(){return this.label?Y` + ${this.label} + `:""}renderLeadingIcon(){return this.icon?this.renderIcon(this.icon):""}renderTrailingIcon(){return this.iconTrailing?this.renderIcon(this.iconTrailing,!0):""}renderIcon(t,e=!1){return Y`${t}`}renderPrefix(){return this.prefix?this.renderAffix(this.prefix):""}renderSuffix(){return this.suffix?this.renderAffix(this.suffix,!0):""}renderAffix(t,e=!1){return Y` + ${t}`}renderInput(t){const e=-1===this.minLength?void 0:this.minLength,i=-1===this.maxLength?void 0:this.maxLength,o=this.autocapitalize?this.autocapitalize:void 0,n=this.validationMessage&&!this.isUiValid,r=this.label?"label":void 0,a=t?"helper-text":void 0,l=this.focused||this.helperPersistent||n?"helper-text":void 0;return Y` + `}renderLineRipple(){return this.outlined?"":Y` + + `}renderHelperText(t,e){const i=this.validationMessage&&!this.isUiValid,o={"mdc-text-field-helper-text--persistent":this.helperPersistent,"mdc-text-field-helper-text--validation-msg":i},n=this.focused||this.helperPersistent||i?void 0:"true",r=i?this.validationMessage:this.helper;return t?Y` +
+
${r}
+ ${this.renderCharCounter(e)} +
`:""}renderCharCounter(t){const e=Math.min(this.value.length,this.maxLength);return t?Y` + ${e} / ${this.maxLength}`:""}onInputFocus(){this.focused=!0}onInputBlur(){this.focused=!1,this.reportValidity()}checkValidity(){const t=this._checkValidity(this.value);if(!t){const t=new Event("invalid",{bubbles:!1,cancelable:!0});this.dispatchEvent(t)}return t}reportValidity(){const t=this.checkValidity();return this.mdcFoundation.setValid(t),this.isUiValid=t,t}_checkValidity(t){const e=this.formElement.validity;let i=Tu(e);if(this.validityTransform){const e=this.validityTransform(t,i);i=Object.assign(Object.assign({},i),e),this.mdcFoundation.setUseNativeValidation(!1)}else this.mdcFoundation.setUseNativeValidation(!0);return this._validity=i,this._validity.valid}setCustomValidity(t){this.validationMessage=t,this.formElement.setCustomValidity(t)}handleInputChange(){this.value=this.formElement.value}createAdapter(){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.getRootAdapterMethods()),this.getInputAdapterMethods()),this.getLabelAdapterMethods()),this.getLineRippleAdapterMethods()),this.getOutlineAdapterMethods())}getRootAdapterMethods(){return Object.assign({registerTextFieldInteractionHandler:(t,e)=>this.addEventListener(t,e),deregisterTextFieldInteractionHandler:(t,e)=>this.removeEventListener(t,e),registerValidationAttributeChangeHandler:t=>{const e=new MutationObserver((e=>{t((t=>t.map((t=>t.attributeName)).filter((t=>t)))(e))}));return e.observe(this.formElement,{attributes:!0}),e},deregisterValidationAttributeChangeHandler:t=>t.disconnect()},Xn(this.mdcRoot))}getInputAdapterMethods(){return{getNativeInput:()=>this.formElement,setInputAttr:()=>{},removeInputAttr:()=>{},isFocused:()=>!!this.shadowRoot&&this.shadowRoot.activeElement===this.formElement,registerInputInteractionHandler:(t,e)=>this.formElement.addEventListener(t,e,{passive:t in Iu}),deregisterInputInteractionHandler:(t,e)=>this.formElement.removeEventListener(t,e)}}getLabelAdapterMethods(){return{floatLabel:t=>this.labelElement&&this.labelElement.floatingLabelFoundation.float(t),getLabelWidth:()=>this.labelElement?this.labelElement.floatingLabelFoundation.getWidth():0,hasLabel:()=>Boolean(this.labelElement),shakeLabel:t=>this.labelElement&&this.labelElement.floatingLabelFoundation.shake(t),setLabelRequired:t=>{this.labelElement&&this.labelElement.floatingLabelFoundation.setRequired(t)}}}getLineRippleAdapterMethods(){return{activateLineRipple:()=>{this.lineRippleElement&&this.lineRippleElement.lineRippleFoundation.activate()},deactivateLineRipple:()=>{this.lineRippleElement&&this.lineRippleElement.lineRippleFoundation.deactivate()},setLineRippleTransformOrigin:t=>{this.lineRippleElement&&this.lineRippleElement.lineRippleFoundation.setRippleCenter(t)}}}async getUpdateComplete(){var t;const e=await super.getUpdateComplete();return await(null===(t=this.outlineElement)||void 0===t?void 0:t.updateComplete),e}firstUpdated(){var t;super.firstUpdated(),this.mdcFoundation.setValidateOnValueChange(this.autoValidate),this.validateOnInitialRender&&this.reportValidity(),null===(t=this.outlineElement)||void 0===t||t.updateComplete.then((()=>{var t;this.outlineWidth=(null===(t=this.labelElement)||void 0===t?void 0:t.floatingLabelFoundation.getWidth())||0}))}getOutlineAdapterMethods(){return{closeOutline:()=>this.outlineElement&&(this.outlineOpen=!1),hasOutline:()=>Boolean(this.outlineElement),notchOutline:t=>{this.outlineElement&&!this.outlineOpen&&(this.outlineWidth=t,this.outlineOpen=!0)}}}async layout(){await this.updateComplete;const t=this.labelElement;if(!t)return void(this.outlineOpen=!1);const e=!!this.label&&!!this.value;if(t.floatingLabelFoundation.float(e),!this.outlined)return;this.outlineOpen=e,await this.updateComplete;const i=t.floatingLabelFoundation.getWidth();this.outlineOpen&&(this.outlineWidth=i,await this.updateComplete)}}n([xt(".mdc-text-field")],Ou.prototype,"mdcRoot",void 0),n([xt("input")],Ou.prototype,"formElement",void 0),n([xt(".mdc-floating-label")],Ou.prototype,"labelElement",void 0),n([xt(".mdc-line-ripple")],Ou.prototype,"lineRippleElement",void 0),n([xt("mwc-notched-outline")],Ou.prototype,"outlineElement",void 0),n([xt(".mdc-notched-outline__notch")],Ou.prototype,"notchElement",void 0),n([_t({type:String})],Ou.prototype,"value",void 0),n([_t({type:String})],Ou.prototype,"type",void 0),n([_t({type:String})],Ou.prototype,"placeholder",void 0),n([_t({type:String}),er((function(t,e){void 0!==e&&this.label!==e&&this.layout()}))],Ou.prototype,"label",void 0),n([_t({type:String})],Ou.prototype,"icon",void 0),n([_t({type:String})],Ou.prototype,"iconTrailing",void 0),n([_t({type:Boolean,reflect:!0})],Ou.prototype,"disabled",void 0),n([_t({type:Boolean})],Ou.prototype,"required",void 0),n([_t({type:Number})],Ou.prototype,"minLength",void 0),n([_t({type:Number})],Ou.prototype,"maxLength",void 0),n([_t({type:Boolean,reflect:!0}),er((function(t,e){void 0!==e&&this.outlined!==e&&this.layout()}))],Ou.prototype,"outlined",void 0),n([_t({type:String})],Ou.prototype,"helper",void 0),n([_t({type:Boolean})],Ou.prototype,"validateOnInitialRender",void 0),n([_t({type:String})],Ou.prototype,"validationMessage",void 0),n([_t({type:Boolean})],Ou.prototype,"autoValidate",void 0),n([_t({type:String})],Ou.prototype,"pattern",void 0),n([_t({type:String})],Ou.prototype,"min",void 0),n([_t({type:String})],Ou.prototype,"max",void 0),n([_t({type:String})],Ou.prototype,"step",void 0),n([_t({type:Number})],Ou.prototype,"size",void 0),n([_t({type:Boolean})],Ou.prototype,"helperPersistent",void 0),n([_t({type:Boolean})],Ou.prototype,"charCounter",void 0),n([_t({type:Boolean})],Ou.prototype,"endAligned",void 0),n([_t({type:String})],Ou.prototype,"prefix",void 0),n([_t({type:String})],Ou.prototype,"suffix",void 0),n([_t({type:String})],Ou.prototype,"name",void 0),n([_t({type:String})],Ou.prototype,"inputMode",void 0),n([_t({type:Boolean})],Ou.prototype,"readOnly",void 0),n([_t({type:String})],Ou.prototype,"autocapitalize",void 0),n([vt()],Ou.prototype,"outlineOpen",void 0),n([vt()],Ou.prototype,"outlineWidth",void 0),n([vt()],Ou.prototype,"isUiValid",void 0),n([vt()],Ou.prototype,"focused",void 0),n([yt({passive:!0})],Ou.prototype,"handleInputChange",null);class zu extends Ou{updated(t){super.updated(t),(t.has("invalid")&&(this.invalid||void 0!==t.get("invalid"))||t.has("errorMessage"))&&(this.setCustomValidity(this.invalid?this.errorMessage||"Invalid":""),this.reportValidity())}renderOutline(){return""}renderIcon(t,e=!1){const i=e?"trailing":"leading";return Y` + + + + `}} +/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */ +function Mu(t){return null==t}zu.styles=[_u,h` + .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); + } + + input { + text-align: var(--text-field-text-align); + } + + /* Chrome, Safari, Edge, Opera */ + :host([no-spinner]) input::-webkit-outer-spin-button, + :host([no-spinner]) input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; + } + + /* Firefox */ + :host([no-spinner]) input[type="number"] { + -moz-appearance: textfield; + } + + .mdc-text-field__ripple { + overflow: hidden; + } + + .mdc-text-field { + overflow: var(--text-field-overflow); + } + `],n([_t({type:Boolean})],zu.prototype,"invalid",void 0),n([_t({attribute:"error-message"})],zu.prototype,"errorMessage",void 0),customElements.define("mushroom-textfield",zu);var ju=function(t,e){var i,o="";for(i=0;il&&(e=o-l+(r=" ... ").length),i-o>l&&(i=o+l-(a=" ...").length),{str:r+t.slice(e,i).replace(/\t/g,"→")+a,pos:o-e+r.length}}function Bu(t,e){return Pu.repeat(" ",e-t.length)+t}var Uu=function(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var i,o=/\r?\n|\r|\0/g,n=[0],r=[],a=-1;i=o.exec(t.buffer);)r.push(i.index),n.push(i.index+i[0].length),t.position<=i.index&&a<0&&(a=n.length-2);a<0&&(a=n.length-1);var l,s,c="",d=Math.min(t.line+e.linesAfter,r.length).toString().length,u=e.maxLength-(e.indent+d+3);for(l=1;l<=e.linesBefore&&!(a-l<0);l++)s=Vu(t.buffer,n[a-l],r[a-l],t.position-(n[a]-n[a-l]),u),c=Pu.repeat(" ",e.indent)+Bu((t.line-l+1).toString(),d)+" | "+s.str+"\n"+c;for(s=Vu(t.buffer,n[a],r[a],t.position,u),c+=Pu.repeat(" ",e.indent)+Bu((t.line+1).toString(),d)+" | "+s.str+"\n",c+=Pu.repeat("-",e.indent+d+3+s.pos)+"^\n",l=1;l<=e.linesAfter&&!(a+l>=r.length);l++)s=Vu(t.buffer,n[a+l],r[a+l],t.position-(n[a]-n[a+l]),u),c+=Pu.repeat(" ",e.indent)+Bu((t.line+l+1).toString(),d)+" | "+s.str+"\n";return c.replace(/\n$/,"")},Hu=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Yu=["scalar","sequence","mapping"];var Wu=function(t,e){if(e=e||{},Object.keys(e).forEach((function(e){if(-1===Hu.indexOf(e))throw new Fu('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')})),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=function(t){var e={};return null!==t&&Object.keys(t).forEach((function(i){t[i].forEach((function(t){e[String(t)]=i}))})),e}(e.styleAliases||null),-1===Yu.indexOf(this.kind))throw new Fu('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function Xu(t,e){var i=[];return t[e].forEach((function(t){var e=i.length;i.forEach((function(i,o){i.tag===t.tag&&i.kind===t.kind&&i.multi===t.multi&&(e=o)})),i[e]=t})),i}function Ku(t){return this.extend(t)}Ku.prototype.extend=function(t){var e=[],i=[];if(t instanceof Wu)i.push(t);else if(Array.isArray(t))i=i.concat(t);else{if(!t||!Array.isArray(t.implicit)&&!Array.isArray(t.explicit))throw new Fu("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(i=i.concat(t.explicit))}e.forEach((function(t){if(!(t instanceof Wu))throw new Fu("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new Fu("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new Fu("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),i.forEach((function(t){if(!(t instanceof Wu))throw new Fu("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var o=Object.create(Ku.prototype);return o.implicit=(this.implicit||[]).concat(e),o.explicit=(this.explicit||[]).concat(i),o.compiledImplicit=Xu(o,"implicit"),o.compiledExplicit=Xu(o,"explicit"),o.compiledTypeMap=function(){var t,e,i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function o(t){t.multi?(i.multi[t.kind].push(t),i.multi.fallback.push(t)):i[t.kind][t.tag]=i.fallback[t.tag]=t}for(t=0,e=arguments.length;t=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),ih=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var oh=/^[-+]?[0-9]+e/;var nh=new Wu("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!ih.test(t)||"_"===t[t.length-1])},construct:function(t){var e,i;return i="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===i?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:i*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||Pu.isNegativeZero(t))},represent:function(t,e){var i;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Pu.isNegativeZero(t))return"-0.0";return i=t.toString(10),oh.test(i)?i.replace("e",".e"):i},defaultStyle:"lowercase"}),rh=Gu.extend({implicit:[qu,Zu,eh,nh]}),ah=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),lh=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var sh=new Wu("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==ah.exec(t)||null!==lh.exec(t))},construct:function(t){var e,i,o,n,r,a,l,s,c=0,d=null;if(null===(e=ah.exec(t))&&(e=lh.exec(t)),null===e)throw new Error("Date resolve error");if(i=+e[1],o=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(i,o,n));if(r=+e[4],a=+e[5],l=+e[6],e[7]){for(c=e[7].slice(0,3);c.length<3;)c+="0";c=+c}return e[9]&&(d=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(d=-d)),s=new Date(Date.UTC(i,o,n,r,a,l,c)),d&&s.setTime(s.getTime()-d),s},instanceOf:Date,represent:function(t){return t.toISOString()}});var ch=new Wu("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}}),dh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var uh=new Wu("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,i,o=0,n=t.length,r=dh;for(i=0;i64)){if(e<0)return!1;o+=6}return o%8==0},construct:function(t){var e,i,o=t.replace(/[\r\n=]/g,""),n=o.length,r=dh,a=0,l=[];for(e=0;e>16&255),l.push(a>>8&255),l.push(255&a)),a=a<<6|r.indexOf(o.charAt(e));return 0===(i=n%4*6)?(l.push(a>>16&255),l.push(a>>8&255),l.push(255&a)):18===i?(l.push(a>>10&255),l.push(a>>2&255)):12===i&&l.push(a>>4&255),new Uint8Array(l)},predicate:function(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)},represent:function(t){var e,i,o="",n=0,r=t.length,a=dh;for(e=0;e>18&63],o+=a[n>>12&63],o+=a[n>>6&63],o+=a[63&n]),n=(n<<8)+t[e];return 0===(i=r%3)?(o+=a[n>>18&63],o+=a[n>>12&63],o+=a[n>>6&63],o+=a[63&n]):2===i?(o+=a[n>>10&63],o+=a[n>>4&63],o+=a[n<<2&63],o+=a[64]):1===i&&(o+=a[n>>2&63],o+=a[n<<4&63],o+=a[64],o+=a[64]),o}}),hh=Object.prototype.hasOwnProperty,mh=Object.prototype.toString;var ph=new Wu("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,i,o,n,r,a=[],l=t;for(e=0,i=l.length;e>10),56320+(t-65536&1023))}for(var Uh=new Array(256),Hh=new Array(256),Yh=0;Yh<256;Yh++)Uh[Yh]=Vh(Yh)?1:0,Hh[Yh]=Vh(Yh);function Wh(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||bh,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Xh(t,e){var i={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return i.snippet=Uu(i),new Fu(e,i)}function Kh(t,e){throw Xh(t,e)}function Gh(t,e){t.onWarning&&t.onWarning.call(null,Xh(t,e))}var qh={YAML:function(t,e,i){var o,n,r;null!==t.version&&Kh(t,"duplication of %YAML directive"),1!==i.length&&Kh(t,"YAML directive accepts exactly one argument"),null===(o=/^([0-9]+)\.([0-9]+)$/.exec(i[0]))&&Kh(t,"ill-formed argument of the YAML directive"),n=parseInt(o[1],10),r=parseInt(o[2],10),1!==n&&Kh(t,"unacceptable YAML version of the document"),t.version=i[0],t.checkLineBreaks=r<2,1!==r&&2!==r&&Gh(t,"unsupported YAML version of the document")},TAG:function(t,e,i){var o,n;2!==i.length&&Kh(t,"TAG directive accepts exactly two arguments"),o=i[0],n=i[1],Oh.test(o)||Kh(t,"ill-formed tag handle (first argument) of the TAG directive"),yh.call(t.tagMap,o)&&Kh(t,'there is a previously declared suffix for "'+o+'" tag handle'),zh.test(n)||Kh(t,"ill-formed tag prefix (second argument) of the TAG directive");try{n=decodeURIComponent(n)}catch(e){Kh(t,"tag prefix is malformed: "+n)}t.tagMap[o]=n}};function Zh(t,e,i,o){var n,r,a,l;if(e1&&(t.result+=Pu.repeat("\n",e-1))}function nm(t,e){var i,o,n=t.tag,r=t.anchor,a=[],l=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=a),o=t.input.charCodeAt(t.position);0!==o&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,Kh(t,"tab characters must not be used in indentation")),45===o)&&Lh(t.input.charCodeAt(t.position+1));)if(l=!0,t.position++,em(t,!0,-1)&&t.lineIndent<=e)a.push(null),o=t.input.charCodeAt(t.position);else if(i=t.line,lm(t,e,kh,!1,!0),a.push(t.result),em(t,!0,-1),o=t.input.charCodeAt(t.position),(t.line===i||t.lineIndent>e)&&0!==o)Kh(t,"bad indentation of a sequence entry");else if(t.lineIndente?p=1:t.lineIndent===e?p=0:t.lineIndente?p=1:t.lineIndent===e?p=0:t.lineIndente)&&(_&&(a=t.line,l=t.lineStart,s=t.position),lm(t,e,Ch,!0,n)&&(_?f=t.result:g=t.result),_||(Qh(t,h,m,p,f,g,a,l,s),p=f=g=null),em(t,!0,-1),c=t.input.charCodeAt(t.position)),(t.line===r||t.lineIndent>e)&&0!==c)Kh(t,"bad indentation of a mapping entry");else if(t.lineIndent=0))break;0===n?Kh(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?Kh(t,"repeat of an indentation width identifier"):(c=e+n-1,s=!0)}if(Dh(r)){do{r=t.input.charCodeAt(++t.position)}while(Dh(r));if(35===r)do{r=t.input.charCodeAt(++t.position)}while(!jh(r)&&0!==r)}for(;0!==r;){for(tm(t),t.lineIndent=0,r=t.input.charCodeAt(t.position);(!s||t.lineIndentc&&(c=t.lineIndent),jh(r))d++;else{if(t.lineIndent0){for(n=a,r=0;n>0;n--)(a=Nh(l=t.input.charCodeAt(++t.position)))>=0?r=(r<<4)+a:Kh(t,"expected hexadecimal character");t.result+=Bh(r),t.position++}else Kh(t,"unknown escape sequence");i=o=t.position}else jh(l)?(Zh(t,i,o,!0),om(t,em(t,!1,e)),i=o=t.position):t.position===t.lineStart&&im(t)?Kh(t,"unexpected end of the document within a double quoted scalar"):(t.position++,o=t.position)}Kh(t,"unexpected end of the stream within a double quoted scalar")}(t,h)?g=!0:!function(t){var e,i,o;if(42!==(o=t.input.charCodeAt(t.position)))return!1;for(o=t.input.charCodeAt(++t.position),e=t.position;0!==o&&!Lh(o)&&!Ph(o);)o=t.input.charCodeAt(++t.position);return t.position===e&&Kh(t,"name of an alias node must contain at least one character"),i=t.input.slice(e,t.position),yh.call(t.anchorMap,i)||Kh(t,'unidentified alias "'+i+'"'),t.result=t.anchorMap[i],em(t,!0,-1),!0}(t)?function(t,e,i){var o,n,r,a,l,s,c,d,u=t.kind,h=t.result;if(Lh(d=t.input.charCodeAt(t.position))||Ph(d)||35===d||38===d||42===d||33===d||124===d||62===d||39===d||34===d||37===d||64===d||96===d)return!1;if((63===d||45===d)&&(Lh(o=t.input.charCodeAt(t.position+1))||i&&Ph(o)))return!1;for(t.kind="scalar",t.result="",n=r=t.position,a=!1;0!==d;){if(58===d){if(Lh(o=t.input.charCodeAt(t.position+1))||i&&Ph(o))break}else if(35===d){if(Lh(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&im(t)||i&&Ph(d))break;if(jh(d)){if(l=t.line,s=t.lineStart,c=t.lineIndent,em(t,!1,-1),t.lineIndent>=e){a=!0,d=t.input.charCodeAt(t.position);continue}t.position=r,t.line=l,t.lineStart=s,t.lineIndent=c;break}}a&&(Zh(t,n,r,!1),om(t,t.line-l),n=r=t.position,a=!1),Dh(d)||(r=t.position+1),d=t.input.charCodeAt(++t.position)}return Zh(t,n,r,!1),!!t.result||(t.kind=u,t.result=h,!1)}(t,h,xh===i)&&(g=!0,null===t.tag&&(t.tag="?")):(g=!0,null===t.tag&&null===t.anchor||Kh(t,"alias node should not have any properties")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===p&&(g=l&&nm(t,m))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&Kh(t,'unacceptable node kind for ! tag; it should be "scalar", not "'+t.kind+'"'),s=0,c=t.implicitTypes.length;s"),null!==t.result&&u.kind!==t.kind&&Kh(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+u.kind+'", not "'+t.kind+'"'),u.resolve(t.result,t.tag)?(t.result=u.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):Kh(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||g}function sm(t){var e,i,o,n,r=t.position,a=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(n=t.input.charCodeAt(t.position))&&(em(t,!0,-1),n=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==n));){for(a=!0,n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!Lh(n);)n=t.input.charCodeAt(++t.position);for(o=[],(i=t.input.slice(e,t.position)).length<1&&Kh(t,"directive name must not be less than one character in length");0!==n;){for(;Dh(n);)n=t.input.charCodeAt(++t.position);if(35===n){do{n=t.input.charCodeAt(++t.position)}while(0!==n&&!jh(n));break}if(jh(n))break;for(e=t.position;0!==n&&!Lh(n);)n=t.input.charCodeAt(++t.position);o.push(t.input.slice(e,t.position))}0!==n&&tm(t),yh.call(qh,i)?qh[i](t,i,o):Gh(t,'unknown document directive "'+i+'"')}em(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,em(t,!0,-1)):a&&Kh(t,"directives end mark is expected"),lm(t,t.lineIndent-1,Ch,!1,!0),em(t,!0,-1),t.checkLineBreaks&&Ih.test(t.input.slice(r,t.position))&&Gh(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&im(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,em(t,!0,-1)):t.position=55296&&o<=56319&&e+1=56320&&i<=57343?1024*(o-55296)+i-56320+65536:o}function Qm(t){return/^\n* /.test(t)}var tp=1,ep=2,ip=3,op=4,np=5;function rp(t,e,i,o,n,r,a,l){var s,c=0,d=null,u=!1,h=!1,m=-1!==o,p=-1,f=function(t){return Gm(t)&&t!==pm&&!Km(t)&&t!==Am&&t!==Om&&t!==Sm&&t!==Em&&t!==Mm&&t!==jm&&t!==Lm&&t!==Nm&&t!==xm&&t!==km&&t!==$m&&t!==bm&&t!==Pm&&t!==Im&&t!==Tm&&t!==Cm&&t!==ym&&t!==wm&&t!==zm&&t!==Dm}(Jm(t,0))&&function(t){return!Km(t)&&t!==Sm}(Jm(t,t.length-1));if(e||a)for(s=0;s=65536?s+=2:s++){if(!Gm(c=Jm(t,s)))return np;f=f&&Zm(c,d,l),d=c}else{for(s=0;s=65536?s+=2:s++){if((c=Jm(t,s))===gm)u=!0,m&&(h=h||s-p-1>o&&" "!==t[p+1],p=s);else if(!Gm(c))return np;f=f&&Zm(c,d,l),d=c}h=h||m&&s-p-1>o&&" "!==t[p+1]}return u||h?i>9&&Qm(t)?np:a?r===Hm?np:ep:h?op:ip:!f||a||n(t)?r===Hm?np:ep:tp}function ap(t,e,i,o,n){t.dump=function(){if(0===e.length)return t.quotingType===Hm?'""':"''";if(!t.noCompatMode&&(-1!==Fm.indexOf(e)||Vm.test(e)))return t.quotingType===Hm?'"'+e+'"':"'"+e+"'";var r=t.indent*Math.max(1,i),a=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-r),l=o||t.flowLevel>-1&&i>=t.flowLevel;switch(rp(e,l,t.indent,a,(function(e){return function(t,e){var i,o;for(i=0,o=t.implicitTypes.length;i"+lp(e,t.indent)+sp(Wm(function(t,e){var i,o,n=/(\n+)([^\n]*)/g,r=(l=t.indexOf("\n"),l=-1!==l?l:t.length,n.lastIndex=l,cp(t.slice(0,l),e)),a="\n"===t[0]||" "===t[0];var l;for(;o=n.exec(t);){var s=o[1],c=o[2];i=" "===c[0],r+=s+(a||i||""===c?"":"\n")+cp(c,e),a=i}return r}(e,a),r));case np:return'"'+function(t){for(var e,i="",o=0,n=0;n=65536?n+=2:n++)o=Jm(t,n),!(e=Rm[o])&&Gm(o)?(i+=t[n],o>=65536&&(i+=t[n+1])):i+=e||Bm(o);return i}(e)+'"';default:throw new Fu("impossible error: invalid scalar style")}}()}function lp(t,e){var i=Qm(t)?String(e):"",o="\n"===t[t.length-1];return i+(o&&("\n"===t[t.length-2]||"\n"===t)?"+":o?"":"-")+"\n"}function sp(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function cp(t,e){if(""===t||" "===t[0])return t;for(var i,o,n=/ [^ ]/g,r=0,a=0,l=0,s="";i=n.exec(t);)(l=i.index)-r>e&&(o=a>r?a:l,s+="\n"+t.slice(r,o),r=o+1),a=l;return s+="\n",t.length-r>e&&a>r?s+=t.slice(r,a)+"\n"+t.slice(a+1):s+=t.slice(r),s.slice(1)}function dp(t,e,i,o){var n,r,a,l="",s=t.tag;for(n=0,r=i.length;n tag resolver accepts not "'+s+'" style');o=l.represent[s](e,s)}t.dump=o}return!0}return!1}function hp(t,e,i,o,n,r,a){t.tag=null,t.dump=i,up(t,i,!1)||up(t,i,!0);var l,s=hm.call(t.dump),c=o;o&&(o=t.flowLevel<0||t.flowLevel>e);var d,u,h="[object Object]"===s||"[object Array]"===s;if(h&&(u=-1!==(d=t.duplicates.indexOf(i))),(null!==t.tag&&"?"!==t.tag||u||2!==t.indent&&e>0)&&(n=!1),u&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(h&&u&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),"[object Object]"===s)o&&0!==Object.keys(t.dump).length?(!function(t,e,i,o){var n,r,a,l,s,c,d="",u=t.tag,h=Object.keys(i);if(!0===t.sortKeys)h.sort();else if("function"==typeof t.sortKeys)h.sort(t.sortKeys);else if(t.sortKeys)throw new Fu("sortKeys must be a boolean or a function");for(n=0,r=h.length;n1024)&&(t.dump&&gm===t.dump.charCodeAt(0)?c+="?":c+="? "),c+=t.dump,s&&(c+=Xm(t,e)),hp(t,e+1,l,!0,s)&&(t.dump&&gm===t.dump.charCodeAt(0)?c+=":":c+=": ",d+=c+=t.dump));t.tag=u,t.dump=d||"{}"}(t,e,t.dump,n),u&&(t.dump="&ref_"+d+t.dump)):(!function(t,e,i){var o,n,r,a,l,s="",c=t.tag,d=Object.keys(i);for(o=0,n=d.length;o1024&&(l+="? "),l+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),hp(t,e,a,!1,!1)&&(s+=l+=t.dump));t.tag=c,t.dump="{"+s+"}"}(t,e,t.dump),u&&(t.dump="&ref_"+d+" "+t.dump));else if("[object Array]"===s)o&&0!==t.dump.length?(t.noArrayIndent&&!a&&e>0?dp(t,e-1,t.dump,n):dp(t,e,t.dump,n),u&&(t.dump="&ref_"+d+t.dump)):(!function(t,e,i){var o,n,r,a="",l=t.tag;for(o=0,n=i.length;o",t.dump=l+" "+t.dump)}return!0}function mp(t,e){var i,o,n=[],r=[];for(pp(t,n,r),i=0,o=r.length;i0}get hasError(){return void 0!==this._errors&&this._errors.length>0}get GUImode(){return this._guiMode}set GUImode(t){this._guiMode=t,Lt(this,"GUImode-changed",{guiMode:t,guiModeAvailable:!(this.hasWarning||this.hasError||!1===this._guiSupported)})}toggleMode(){this.GUImode=!this.GUImode}focusYamlEditor(){var t,e;(null===(t=this._configElement)||void 0===t?void 0:t.focusYamlEditor)&&this._configElement.focusYamlEditor(),(null===(e=this._yamlEditor)||void 0===e?void 0:e.codemirror)&&this._yamlEditor.codemirror.focus()}async getConfigElement(){}get configElementType(){return this.value?this.value.type:void 0}render(){return Y` +
+ ${this.GUImode?Y` +
+ ${this._loading?Y` + + `:this._configElement} +
+ `:Y` +
+ +
+ `} + ${!1===this._guiSupported&&this.configElementType?Y` +
+ ${this.hass.localize("ui.errors.config.editor_not_available","type",this.configElementType)} +
+ `:""} + ${this.hasError?Y` +
+ ${this.hass.localize("ui.errors.config.error_detected")}: +
+
    + ${this._errors.map((t=>Y`
  • ${t}
  • `))} +
+
+ `:""} + ${this.hasWarning?Y` + + ${this._warnings.length>0&&void 0!==this._warnings[0]?Y` +
    + ${this._warnings.map((t=>Y`
  • ${t}
  • `))} +
+ `:void 0} + ${this.hass.localize("ui.errors.config.edit_in_yaml_supported")} +
+ `:""} +
+ `}updated(t){super.updated(t),this._configElement&&t.has("hass")&&(this._configElement.hass=this.hass),this._configElement&&"lovelace"in this._configElement&&t.has("lovelace")&&(this._configElement.lovelace=this.lovelace)}_handleUIConfigChanged(t){t.stopPropagation();const e=t.detail.config;this.value=e}_handleYAMLChanged(t){t.stopPropagation();const e=t.detail.value;e!==this.yaml&&(this.yaml=e)}async _updateConfigElement(){var t;if(!this.value)return;let e;try{if(this._errors=void 0,this._warnings=void 0,this._configElementType!==this.configElementType){if(this._guiSupported=void 0,this._configElement=void 0,!this.configElementType)throw new Error(this.hass.localize("ui.errors.config.no_type_provided"));this._configElementType=this.configElementType,this._loading=!0,e=await this.getConfigElement(),e&&(e.hass=this.hass,"lovelace"in e&&(e.lovelace=this.lovelace),e.addEventListener("config-changed",(t=>this._handleUIConfigChanged(t))),this._configElement=e,this._guiSupported=!0)}if(this._configElement)try{this._configElement.setConfig(this.value)}catch(t){const e=((t,e)=>{if(!(e instanceof ae))return{warnings:[e.message],errors:void 0};const i=[],o=[];for(const n of e.failures())if(void 0===n.value)i.push(t.localize("ui.errors.config.key_missing","key",n.path.join(".")));else if("never"===n.type)o.push(t.localize("ui.errors.config.key_not_expected","key",n.path.join(".")));else{if("union"===n.type)continue;"enums"===n.type?o.push(t.localize("ui.errors.config.key_wrong_type","key",n.path.join("."),"type_correct",n.message.replace("Expected ","").split(", ")[0],"type_wrong",JSON.stringify(n.value))):o.push(t.localize("ui.errors.config.key_wrong_type","key",n.path.join("."),"type_correct",n.refinement||n.type,"type_wrong",JSON.stringify(n.value)))}return{warnings:o,errors:i}})(this.hass,t);throw new _p("Config is not supported",e.warnings,e.errors)}else this.GUImode=!1}catch(e){e instanceof _p?(this._warnings=null!==(t=e.warnings)&&void 0!==t?t:[e.message],this._errors=e.errors||void 0):this._errors=[e.message],this.GUImode=!1}finally{this._loading=!1}}_ignoreKeydown(t){t.stopPropagation()}static get styles(){return h` + :host { + display: flex; + } + .wrapper { + width: 100%; + } + .gui-editor, + .yaml-editor { + padding: 8px 0px; + } + ha-code-editor { + --code-mirror-max-height: calc(100vh - 245px); + } + .error, + .warning, + .info { + word-break: break-word; + margin-top: 8px; + } + .error { + color: var(--error-color); + } + .warning { + color: var(--warning-color); + } + .warning ul, + .error ul { + margin: 4px 0; + } + .warning li, + .error li { + white-space: pre-wrap; + } + ha-circular-progress { + display: block; + margin: auto; + } + `}}n([_t({attribute:!1})],vp.prototype,"hass",void 0),n([_t({attribute:!1})],vp.prototype,"lovelace",void 0),n([vt()],vp.prototype,"_yaml",void 0),n([vt()],vp.prototype,"_config",void 0),n([vt()],vp.prototype,"_configElement",void 0),n([vt()],vp.prototype,"_configElementType",void 0),n([vt()],vp.prototype,"_guiMode",void 0),n([vt()],vp.prototype,"_errors",void 0),n([vt()],vp.prototype,"_warnings",void 0),n([vt()],vp.prototype,"_guiSupported",void 0),n([vt()],vp.prototype,"_loading",void 0),n([xt("ha-code-editor")],vp.prototype,"_yamlEditor",void 0);let bp=class extends vp{get configElementType(){var t;return null===(t=this.value)||void 0===t?void 0:t.type}async getConfigElement(){const t=await yp(this.configElementType);if(t&&t.getConfigElement)return t.getConfigElement()}};bp=n([pt("mushroom-chip-element-editor")],bp);const yp=t=>customElements.get(Kl(t)),xp=["action","alarm-control-panel","back","conditional","entity","light","menu","spacer","template","weather"];let wp=class extends ht{constructor(){super(...arguments),this._GUImode=!0,this._guiModeAvailable=!0,this._cardTab=!1}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){this._config=t}focusYamlEditor(){var t;null===(t=this._cardEditorEl)||void 0===t||t.focusYamlEditor()}render(){var t;if(!this.hass||!this._config)return K;const e=Oo(this.hass);return Y` + + + + + ${this._cardTab?Y` +
+ ${void 0!==(null===(t=this._config.chip)||void 0===t?void 0:t.type)?Y` +
+ + ${this.hass.localize(!this._cardEditorEl||this._GUImode?"ui.panel.lovelace.editor.edit_card.show_code_editor":"ui.panel.lovelace.editor.edit_card.show_visual_editor")} + + ${this.hass.localize("ui.panel.lovelace.editor.card.conditional.change_type")} +
+ + `:Y` + t.stopPropagation()} + fixedMenuPosition + naturalMenuWidth + > + ${xp.map((t=>Y` + + ${e(`editor.chip.chip-picker.types.${t}`)} + + `))} + + `} +
+ `:Y` + + `} + `}_selectTab(t){this._cardTab=1===t.detail.index}_toggleMode(){var t;null===(t=this._cardEditorEl)||void 0===t||t.toggleMode()}_setMode(t){this._GUImode=t,this._cardEditorEl&&(this._cardEditorEl.GUImode=t)}_handleGUIModeChanged(t){t.stopPropagation(),this._GUImode=t.detail.guiMode,this._guiModeAvailable=t.detail.guiModeAvailable}async _handleChipPicked(t){const e=t.target.value;if(""===e)return;let i;const o=yp(e);i=o&&o.getStubConfig?await o.getStubConfig(this.hass):{type:e},t.target.value="",t.stopPropagation(),this._config&&(this._setMode(!0),this._guiModeAvailable=!0,this._config=Object.assign(Object.assign({},this._config),{chip:i}),Lt(this,"config-changed",{config:this._config}))}_handleChipChanged(t){t.stopPropagation(),this._config&&(this._config=Object.assign(Object.assign({},this._config),{chip:t.detail.config}),this._guiModeAvailable=t.detail.guiModeAvailable,Lt(this,"config-changed",{config:this._config}))}_handleReplaceChip(){this._config&&(this._config=Object.assign(Object.assign({},this._config),{chip:void 0}),Lt(this,"config-changed",{config:this._config}))}_conditionChanged(t){if(t.stopPropagation(),!this._config)return;const e=t.detail.value;this._config=Object.assign(Object.assign({},this._config),{conditions:e}),Lt(this,"config-changed",{config:this._config})}static get styles(){return h` + mwc-tab-bar { + border-bottom: 1px solid var(--divider-color); + } + .card { + margin-top: 8px; + border: 1px solid var(--divider-color); + padding: 12px; + } + .card mushroom-select { + width: 100%; + margin-top: 0px; + } + @media (max-width: 450px) { + .card { + margin: 8px -12px 0; + } + } + .card .card-options { + display: flex; + justify-content: flex-end; + width: 100%; + } + .gui-mode-button { + margin-right: auto; + } + `}};n([_t({attribute:!1})],wp.prototype,"hass",void 0),n([_t({attribute:!1})],wp.prototype,"lovelace",void 0),n([vt()],wp.prototype,"_config",void 0),n([vt()],wp.prototype,"_GUImode",void 0),n([vt()],wp.prototype,"_guiModeAvailable",void 0),n([vt()],wp.prototype,"_cardTab",void 0),n([xt("mushroom-chip-element-editor")],wp.prototype,"_cardEditorEl",void 0),wp=n([pt(Gl("conditional"))],wp);var kp=Object.freeze({__proto__:null,get ConditionalChipEditor(){return wp}});const Cp=fe(Nd,fe(Pd,jd,zd),Ce({icon_color:$e(Ee()),show_brightness_control:$e(ye()),show_color_temp_control:$e(ye()),show_color_control:$e(ye()),collapsible_controls:$e(ye()),use_light_color:$e(ye())})),$p=["show_brightness_control","use_light_color","show_color_temp_control","show_color_control"],Ep=[{name:"entity",selector:{entity:{domain:Ec}}},{name:"name",selector:{text:{}}},{type:"grid",name:"",schema:[{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},{name:"icon_color",selector:{mush_color:{}}}]},...Dd,{type:"grid",name:"",schema:[{name:"use_light_color",selector:{boolean:{}}},{name:"show_brightness_control",selector:{boolean:{}}},{name:"show_color_temp_control",selector:{boolean:{}}},{name:"show_color_control",selector:{boolean:{}}},{name:"collapsible_controls",selector:{boolean:{}}}]},...Md()];let Ap=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):$p.includes(t.name)?e(`editor.card.light.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,Cp),this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],Ap.prototype,"_config",void 0),Ap=n([pt($c)],Ap);var Sp=Object.freeze({__proto__:null,LIGHT_LABELS:$p,get LightCardEditor(){return Ap}});const Ip=[{name:"entity",selector:{entity:{domain:Ec}}},{type:"grid",name:"",schema:[{name:"name",selector:{text:{}}},{name:"content_info",selector:{mush_info:{}}}]},{type:"grid",name:"",schema:[{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},{name:"use_light_color",selector:{boolean:{}}}]},...Md()];let Tp=class extends ht{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):$p.includes(t.name)?e(`editor.card.light.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}setConfig(t){this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([_t({attribute:!1})],Tp.prototype,"hass",void 0),n([vt()],Tp.prototype,"_config",void 0),Tp=n([pt(Gl("light"))],Tp);var Op=Object.freeze({__proto__:null,get LightChipEditor(){return Tp}});const zp=[{name:"entity",selector:{entity:{domain:Vl}}},{type:"grid",name:"",schema:[{name:"name",selector:{text:{}}},{name:"content_info",selector:{mush_info:{}}}]},{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},...Md(["more-info","navigate","url","call-service","assist","none"])];let Mp=class extends ht{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}setConfig(t){this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([_t({attribute:!1})],Mp.prototype,"hass",void 0),n([vt()],Mp.prototype,"_config",void 0),Mp=n([pt(Gl("alarm-control-panel"))],Mp);var jp=Object.freeze({__proto__:null,get AlarmControlPanelChipEditor(){return Mp}});let Dp=class extends ht{constructor(){super(...arguments),this._guiModeAvailable=!0,this._guiMode=!0}render(){const t=Oo(this.hass);return Y` +
+
+ + + + ${t("editor.chip.sub_element_editor.title")} +
+ + ${this.hass.localize(this._guiMode?"ui.panel.lovelace.editor.edit_card.show_code_editor":"ui.panel.lovelace.editor.edit_card.show_visual_editor")} + +
+ ${"chip"===this.config.type?Y` + + `:""} + `}_goBack(){Lt(this,"go-back")}_toggleMode(){var t;null===(t=this._editorElement)||void 0===t||t.toggleMode()}_handleGUIModeChanged(t){t.stopPropagation(),this._guiMode=t.detail.guiMode,this._guiModeAvailable=t.detail.guiModeAvailable}_handleConfigChanged(t){this._guiModeAvailable=t.detail.guiModeAvailable}static get styles(){return h` + .header { + display: flex; + justify-content: space-between; + align-items: center; + } + .back-title { + display: flex; + align-items: center; + font-size: 18px; + } + ha-icon { + display: flex; + align-items: center; + justify-content: center; + } + `}};n([_t({attribute:!1})],Dp.prototype,"config",void 0),n([vt()],Dp.prototype,"_guiModeAvailable",void 0),n([vt()],Dp.prototype,"_guiMode",void 0),n([xt(".editor")],Dp.prototype,"_editorElement",void 0),Dp=n([pt("mushroom-sub-element-editor")],Dp); +/** + * @license + * Copyright 2018 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +const Lp={},Pp=He(class extends Ye{constructor(){super(...arguments),this.st=Lp}render(t,e){return e()}update(t,[e,i]){if(Array.isArray(e)){if(Array.isArray(this.st)&&this.st.length===e.length&&e.every(((t,e)=>t===this.st[e])))return X}else if(this.st===e)return X;return this.st=Array.isArray(e)?Array.from(e):e,this.render(e,i)}});let Np;const Rp=new Set(["spacer"]);let Fp=class extends jl{constructor(){super(...arguments),this._attached=!1,this._renderEmptySortable=!1}connectedCallback(){super.connectedCallback(),this._attached=!0}disconnectedCallback(){super.disconnectedCallback(),this._attached=!1}render(){if(!this.chips||!this.hass)return K;const t=Oo(this.hass);return Y` +

+ ${this.label||`${t("editor.chip.chip-picker.chips")} (${this.hass.localize("ui.panel.lovelace.editor.card.config.required")})`} +

+
+ ${Pp([this.chips,this._renderEmptySortable],(()=>this._renderEmptySortable?"":this.chips.map(((e,i)=>Y` +
+
+ +
+ ${Y` +
+
+ ${this._renderChipLabel(e)} + + ${this._renderChipSecondary(e)} + +
+
+ `} + ${Rp.has(e.type)?K:Y` + + + + `} + + + +
+ `))))} +
+ t.stopPropagation()} + fixedMenuPosition + naturalMenuWidth + > + ${xp.map((e=>Y` + + ${t(`editor.chip.chip-picker.types.${e}`)} + + `))} + + `}updated(t){var e;super.updated(t);const i=t.has("_attached"),o=t.has("chips");if(o||i)return i&&!this._attached?(null===(e=this._sortable)||void 0===e||e.destroy(),void(this._sortable=void 0)):void(this._sortable||!this.chips?o&&this._handleChipsChanged():this._createSortable())}async _handleChipsChanged(){this._renderEmptySortable=!0,await this.updateComplete;const t=this.shadowRoot.querySelector(".chips");for(;t.lastElementChild;)t.removeChild(t.lastElementChild);this._renderEmptySortable=!1}async _createSortable(){if(!Np){const t=await Promise.resolve().then((function(){return Lv}));Np=t.Sortable,Np.mount(t.OnSpill),Np.mount(t.AutoScroll())}this._sortable=new Np(this.shadowRoot.querySelector(".chips"),{animation:150,fallbackClass:"sortable-fallback",handle:".handle",onEnd:async t=>this._chipMoved(t)})}async _addChips(t){const e=t.target,i=e.value;if(""===i)return;let o;"conditional"===i&&await _s();const n=yp(i);o=n&&n.getStubConfig?await n.getStubConfig(this.hass):{type:i};const r=this.chips.concat(o);e.value="",Lt(this,"chips-changed",{chips:r})}_chipMoved(t){if(t.oldIndex===t.newIndex)return;const e=this.chips.concat();e.splice(t.newIndex,0,e.splice(t.oldIndex,1)[0]),Lt(this,"chips-changed",{chips:e})}_removeChip(t){const e=t.currentTarget.index,i=this.chips.concat();i.splice(e,1),Lt(this,"chips-changed",{chips:i})}_editChip(t){const e=t.currentTarget.index;Lt(this,"edit-detail-element",{subElementConfig:{index:e,type:"chip",elementConfig:this.chips[e]}})}_renderChipLabel(t){return Oo(this.hass)(`editor.chip.chip-picker.types.${t.type}`)}_renderChipSecondary(t){var e,i;const o=Oo(this.hass);if("entity"in t&&t.entity)return`${null!==(i=null!==(e=this.getEntityName(t.entity))&&void 0!==e?e:t.entity)&&void 0!==i?i:""}`;if("chip"in t&&t.chip){const e=o(`editor.chip.chip-picker.types.${t.chip.type}`);return this._renderChipSecondary(t.chip)?`${this._renderChipSecondary(t.chip)} (via ${e})`:e}return""}getEntityName(t){if(!this.hass)return;const e=this.hass.states[t];return e?e.attributes.friendly_name:void 0}static get styles(){return[super.styles,ri,h` + .chip { + display: flex; + align-items: center; + } + + ha-icon { + display: flex; + } + + mushroom-select { + width: 100%; + } + + .chip .handle { + padding-right: 8px; + cursor: move; + } + + .chip .handle > * { + pointer-events: none; + } + + .special-row { + height: 60px; + font-size: 16px; + display: flex; + align-items: center; + justify-content: space-between; + flex-grow: 1; + } + + .special-row div { + display: flex; + flex-direction: column; + } + + .remove-icon, + .edit-icon { + --mdc-icon-button-size: 36px; + color: var(--secondary-text-color); + } + + .secondary { + font-size: 12px; + color: var(--secondary-text-color); + } + `]}};n([_t({attribute:!1})],Fp.prototype,"chips",void 0),n([_t()],Fp.prototype,"label",void 0),n([vt()],Fp.prototype,"_attached",void 0),n([vt()],Fp.prototype,"_renderEmptySortable",void 0),Fp=n([pt("mushroom-chips-card-chips-editor")],Fp);const Vp=Ce({type:we("action"),icon:$e(Ee()),icon_color:$e(Ee()),tap_action:$e(ni),hold_action:$e(ni),double_tap_action:$e(ni)}),Bp=Ce({type:we("back"),icon:$e(Ee()),icon_color:$e(Ee())}),Up=Ce({type:we("entity"),entity:$e(Ee()),name:$e(Ee()),content_info:$e(Ee()),icon:$e(Ee()),icon_color:$e(Ee()),use_entity_picture:$e(ye()),tap_action:$e(ni),hold_action:$e(ni),double_tap_action:$e(ni)}),Hp=Ce({type:we("menu"),icon:$e(Ee()),icon_color:$e(Ee())}),Yp=Ce({type:we("weather"),entity:$e(Ee()),tap_action:$e(ni),hold_action:$e(ni),double_tap_action:$e(ni),show_temperature:$e(ye()),show_conditions:$e(ye())}),Wp=Ce({type:we("conditional"),chip:$e(ve()),conditions:$e(be(ve()))}),Xp=Ce({type:we("light"),entity:$e(Ee()),name:$e(Ee()),content_info:$e(Ee()),icon:$e(Ee()),use_light_color:$e(ye()),tap_action:$e(ni),hold_action:$e(ni),double_tap_action:$e(ni)}),Kp=Ce({type:we("template"),entity:$e(Ee()),tap_action:$e(ni),hold_action:$e(ni),double_tap_action:$e(ni),content:$e(Ee()),icon:$e(Ee()),icon_color:$e(Ee()),picture:$e(Ee()),entity_id:$e(Se([Ee(),be(Ee())]))}),Gp=Ce({type:we("spacer")}),qp=_e((t=>{if(t&&"object"==typeof t&&"type"in t)switch(t.type){case"action":return Vp;case"back":return Bp;case"entity":return Up;case"menu":return Hp;case"weather":return Yp;case"conditional":return Wp;case"light":return Xp;case"template":return Kp;case"spacer":return Gp}return Ce()})),Zp=fe(Nd,Ce({chips:be(qp),alignment:$e(Ee())}));let Jp=class extends jl{connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,Zp),this._config=t}get _title(){return this._config.title||""}get _theme(){return this._config.theme||""}render(){if(!this.hass||!this._config)return K;if(this._subElementEditorConfig)return Y` + + + `;const t=Oo(this.hass);return Y` +
+ + +
+ + `}_valueChanged(t){var e,i,o;if(!this._config||!this.hass)return;const n=t.target,r=n.configValue||(null===(e=this._subElementEditorConfig)||void 0===e?void 0:e.type),a=null!==(o=null!==(i=n.checked)&&void 0!==i?i:t.detail.value)&&void 0!==o?o:n.value;if("chip"===r||t.detail&&t.detail.chips){const e=t.detail.chips||this._config.chips.concat();"chip"===r&&(a?e[this._subElementEditorConfig.index]=a:(e.splice(this._subElementEditorConfig.index,1),this._goBack()),this._subElementEditorConfig.elementConfig=a),this._config=Object.assign(Object.assign({},this._config),{chips:e})}else r&&(a?this._config=Object.assign(Object.assign({},this._config),{[r]:a}):(this._config=Object.assign({},this._config),delete this._config[r]));Lt(this,"config-changed",{config:this._config})}_handleSubElementChanged(t){var e;if(t.stopPropagation(),!this._config||!this.hass)return;const i=null===(e=this._subElementEditorConfig)||void 0===e?void 0:e.type,o=t.detail.config;if("chip"===i){const t=this._config.chips.concat();o?t[this._subElementEditorConfig.index]=o:(t.splice(this._subElementEditorConfig.index,1),this._goBack()),this._config=Object.assign(Object.assign({},this._config),{chips:t})}else i&&(""===o?(this._config=Object.assign({},this._config),delete this._config[i]):this._config=Object.assign(Object.assign({},this._config),{[i]:o}));this._subElementEditorConfig=Object.assign(Object.assign({},this._subElementEditorConfig),{elementConfig:o}),Lt(this,"config-changed",{config:this._config})}_editDetailElement(t){this._subElementEditorConfig=t.detail.subElementConfig}_goBack(){this._subElementEditorConfig=void 0}};n([vt()],Jp.prototype,"_config",void 0),n([vt()],Jp.prototype,"_subElementEditorConfig",void 0),Jp=n([pt(Ss)],Jp);var Qp=Object.freeze({__proto__:null,get ChipsCardEditor(){return Jp}});const tf=["auto","heat_cool","heat","cool","dry","fan_only","off"],ef=fe(Nd,fe(Pd,jd,zd),Ce({show_temperature_control:$e(ye()),hvac_modes:$e(be(Ee())),collapsible_controls:$e(ye())})),of=["hvac_modes","show_temperature_control"],nf=Tt((t=>[{name:"entity",selector:{entity:{domain:zs}}},{name:"name",selector:{text:{}}},{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},...Dd,{type:"grid",name:"",schema:[{name:"hvac_modes",selector:{select:{options:tf.map((e=>({value:e,label:t(`component.climate.entity_component._.state.${e}`)}))),mode:"dropdown",multiple:!0}}},{name:"show_temperature_control",selector:{boolean:{}}},{name:"collapsible_controls",selector:{boolean:{}}}]},...Md()]));let rf=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):of.includes(t.name)?e(`editor.card.climate.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,ef),this._config=t}render(){if(!this.hass||!this._config)return K;const t=nf(this.hass.localize);return Y` + + `}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],rf.prototype,"_config",void 0),rf=n([pt(Os)],rf);var af=Object.freeze({__proto__:null,get ClimateCardEditor(){return rf}});const lf=fe(Nd,fe(Pd,jd,zd),Ce({show_buttons_control:$e(ye()),show_position_control:$e(ye()),show_tilt_position_control:$e(ye())})),sf=["show_buttons_control","show_position_control","show_tilt_position_control"],cf=[{name:"entity",selector:{entity:{domain:Ys}}},{name:"name",selector:{text:{}}},{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},...Dd,{type:"grid",name:"",schema:[{name:"show_position_control",selector:{boolean:{}}},{name:"show_tilt_position_control",selector:{boolean:{}}},{name:"show_buttons_control",selector:{boolean:{}}}]},...Md()];let df=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):sf.includes(t.name)?e(`editor.card.cover.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,lf),this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],df.prototype,"_config",void 0),df=n([pt(Hs)],df);var uf=Object.freeze({__proto__:null,get CoverCardEditor(){return df}});const hf=fe(Nd,fe(Pd,jd,zd),Ce({icon_color:$e(Ee())})),mf=[{name:"entity",selector:{entity:{}}},{name:"name",selector:{text:{}}},{type:"grid",name:"",schema:[{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},{name:"icon_color",selector:{mush_color:{}}}]},...Dd,...Md()];let pf=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,hf),this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],pf.prototype,"_config",void 0),pf=n([pt(nc)],pf);var ff=Object.freeze({__proto__:null,get EntityCardEditor(){return pf}});const gf=fe(Nd,fe(Pd,jd,zd),Ce({icon_animation:$e(ye()),show_percentage_control:$e(ye()),show_oscillate_control:$e(ye()),collapsible_controls:$e(ye())})),_f=["icon_animation","show_percentage_control","show_oscillate_control"],vf=[{name:"entity",selector:{entity:{domain:sc}}},{name:"name",selector:{text:{}}},{type:"grid",name:"",schema:[{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},{name:"icon_animation",selector:{boolean:{}}}]},...Dd,{type:"grid",name:"",schema:[{name:"show_percentage_control",selector:{boolean:{}}},{name:"show_oscillate_control",selector:{boolean:{}}},{name:"collapsible_controls",selector:{boolean:{}}}]},...Md()];let bf=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):_f.includes(t.name)?e(`editor.card.fan.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,gf),this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],bf.prototype,"_config",void 0),bf=n([pt(lc)],bf);var yf=Object.freeze({__proto__:null,get FanCardEditor(){return bf}});const xf=fe(Nd,fe(Pd,jd,zd),Ce({show_target_humidity_control:$e(ye()),collapsible_controls:$e(ye())})),wf=["show_target_humidity_control"],kf=[{name:"entity",selector:{entity:{domain:gc}}},{name:"name",selector:{text:{}}},{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},...Dd,{type:"grid",name:"",schema:[{name:"show_target_humidity_control",selector:{boolean:{}}},{name:"collapsible_controls",selector:{boolean:{}}}]},...Md()];let Cf=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):wf.includes(t.name)?e(`editor.card.humidifier.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,xf),this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],Cf.prototype,"_config",void 0),Cf=n([pt(fc)],Cf);var $f=Object.freeze({__proto__:null,get HumidifierCardEditor(){return Cf}});const Ef=["slider","buttons"],Af=fe(Nd,fe(Pd,jd,zd),Ce({icon_color:$e(Ee()),display_mode:$e(xe(Ef))})),Sf=["display_mode"],If=Tt((t=>[{name:"entity",selector:{entity:{domain:xc}}},{name:"name",selector:{text:{}}},{type:"grid",name:"",schema:[{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},{name:"icon_color",selector:{mush_color:{}}}]},...Dd,{name:"display_mode",selector:{select:{options:["default",...Ef].map((e=>({value:e,label:t(`editor.card.number.display_mode_list.${e}`)}))),mode:"dropdown"}}},...Md()]));let Tf=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Sf.includes(t.name)?e(`editor.card.number.${t.name}`):Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,Af),this._config=t}render(){if(!this.hass||!this._config)return K;const t=Oo(this.hass),e=If(t),i=Object.assign({},this._config);return i.display_mode||(i.display_mode="default"),Y` + + `}_valueChanged(t){const e=Object.assign({},t.detail.value);"default"===e.display_mode&&delete e.display_mode,Lt(this,"config-changed",{config:e})}};n([vt()],Tf.prototype,"_config",void 0),Tf=n([pt(yc)],Tf);var Of=Object.freeze({__proto__:null,NUMBER_LABELS:Sf,get NumberCardEditor(){return Tf}});const zf=fe(Nd,fe(Pd,jd,zd)),Mf=[{name:"entity",selector:{entity:{domain:Dc}}},{name:"name",selector:{text:{}}},{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},...Dd,...Md()];let jf=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,zf),this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],jf.prototype,"_config",void 0),jf=n([pt(jc)],jf);var Df=Object.freeze({__proto__:null,get LockCardEditor(){return jf}});const Lf=["on_off","shuffle","previous","play_pause_stop","next","repeat"],Pf=["volume_mute","volume_set","volume_buttons"],Nf=fe(Nd,fe(Pd,jd,zd),Ce({use_media_info:$e(ye()),show_volume_level:$e(ye()),volume_controls:$e(be(xe(Pf))),media_controls:$e(be(xe(Lf))),collapsible_controls:$e(ye())})),Rf=["use_media_info","use_media_artwork","show_volume_level","media_controls","volume_controls"],Ff=Tt((t=>[{name:"entity",selector:{entity:{domain:Hc}}},{name:"name",selector:{text:{}}},{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},...Dd,{type:"grid",name:"",schema:[{name:"use_media_info",selector:{boolean:{}}},{name:"show_volume_level",selector:{boolean:{}}}]},{type:"grid",name:"",schema:[{name:"volume_controls",selector:{select:{options:Pf.map((e=>({value:e,label:t(`editor.card.media-player.volume_controls_list.${e}`)}))),mode:"list",multiple:!0}}},{name:"media_controls",selector:{select:{options:Lf.map((e=>({value:e,label:t(`editor.card.media-player.media_controls_list.${e}`)}))),mode:"list",multiple:!0}}},{name:"collapsible_controls",selector:{boolean:{}}}]},...Md()]));let Vf=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):Rf.includes(t.name)?e(`editor.card.media-player.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,Nf),this._config=t}render(){if(!this.hass||!this._config)return K;const t=Oo(this.hass),e=Ff(t);return Y` + + `}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],Vf.prototype,"_config",void 0),Vf=n([pt(Uc)],Vf);var Bf=Object.freeze({__proto__:null,MEDIA_LABELS:Rf,get MediaCardEditor(){return Vf}});const Uf=fe(Nd,fe(Pd,jd,zd)),Hf=[{name:"entity",selector:{entity:{domain:td}}},{name:"name",selector:{text:{}}},{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},...Dd,...Md(["more-info","navigate","url","call-service","assist","none"])];let Yf=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,Uf),this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],Yf.prototype,"_config",void 0),Yf=n([pt(Qc)],Yf);var Wf=Object.freeze({__proto__:null,get SwitchCardEditor(){return Yf}});const Xf=fe(Nd,fe(Pd,jd,zd),Ce({icon_color:$e(Ee())})),Kf=[{name:"entity",selector:{entity:{domain:nd}}},{name:"name",selector:{text:{}}},{type:"grid",name:"",schema:[{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},{name:"icon_color",selector:{mush_color:{}}}]},...Dd,...Md(["more-info","navigate","url","call-service","assist","none"])];let Gf=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,Xf),this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],Gf.prototype,"_config",void 0),Gf=n([pt(od)],Gf);var qf=Object.freeze({__proto__:null,get SelectCardEditor(){return Gf}});const Zf=fe(Nd,Ce({title:$e(Ee()),subtitle:$e(Ee()),alignment:$e(Ee()),title_tap_action:$e(ni),subtitle_tap_action:$e(ni)})),Jf=["navigate","url","call-service","none"],Qf=["title","subtitle","title_tap_action","subtitle_tap_action"],tg=[{name:"title",selector:{template:{}}},{name:"subtitle",selector:{template:{}}},{name:"alignment",selector:{mush_alignment:{}}},{name:"title_tap_action",selector:{"ui-action":{actions:Jf}}},{name:"subtitle_tap_action",selector:{"ui-action":{actions:Jf}}}];let eg=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Qf.includes(t.name)?e(`editor.card.title.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,Zf),this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],eg.prototype,"_config",void 0),eg=n([pt(md)],eg);var ig=Object.freeze({__proto__:null,get TitleCardEditor(){return eg}});const og=fe(Nd,fe(Pd,jd,zd),Ce({show_buttons_control:$e(ye()),collapsible_controls:$e(ye())})),ng=["show_buttons_control"],rg=[{name:"entity",selector:{entity:{domain:vd}}},{name:"name",selector:{text:{}}},{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},...Dd,{type:"grid",name:"",schema:[{name:"show_buttons_control",selector:{boolean:{}}},{name:"collapsible_controls",selector:{boolean:{}}}]},...Md(["more-info","navigate","url","call-service","assist","none"])];let ag=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):ng.includes(t.name)?e(`editor.card.update.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,og),this._config=t}render(){return this.hass&&this._config?Y` + + `:K}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],ag.prototype,"_config",void 0),ag=n([pt(_d)],ag);var lg=Object.freeze({__proto__:null,get UpdateCardEditor(){return ag}});const sg=["on_off","start_pause","stop","locate","clean_spot","return_home"],cg=fe(Nd,fe(Pd,jd,zd),Ce({icon_animation:$e(ye()),commands:$e(be(Ee()))})),dg=["commands"],ug=Tt(((t,e)=>[{name:"entity",selector:{entity:{domain:Cd}}},{name:"name",selector:{text:{}}},{type:"grid",name:"",schema:[{name:"icon",selector:{icon:{}},context:{icon_entity:"entity"}},{name:"icon_animation",selector:{boolean:{}}}]},...Dd,{name:"commands",selector:{select:{mode:"list",multiple:!0,options:sg.map((i=>({value:i,label:"on_off"===i?e(`editor.card.vacuum.commands_list.${i}`):t(`ui.dialogs.more_info_control.vacuum.${i}`)})))}}},...Md()]));let hg=class extends jl{constructor(){super(...arguments),this._computeLabel=t=>{const e=Oo(this.hass);return Ld.includes(t.name)?e(`editor.card.generic.${t.name}`):dg.includes(t.name)?e(`editor.card.vacuum.${t.name}`):this.hass.localize(`ui.panel.lovelace.editor.card.generic.${t.name}`)}}connectedCallback(){super.connectedCallback(),fs()}setConfig(t){me(t,cg),this._config=t}render(){if(!this.hass||!this._config)return K;const t=Oo(this.hass),e=ug(this.hass.localize,t);return Y` + + `}_valueChanged(t){Lt(this,"config-changed",{config:t.detail.value})}};n([vt()],hg.prototype,"_config",void 0),hg=n([pt(kd)],hg);var mg=Object.freeze({__proto__:null,get VacuumCardEditor(){return hg}}); +/**! + * Sortable 1.15.2 + * @author RubaXa + * @author owenm + * @license MIT + */function pg(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function fg(t){for(var e=1;e=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}function yg(t){return function(t){if(Array.isArray(t))return xg(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return xg(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return xg(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xg(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,o=new Array(e);i"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(t){return!1}return!1}}function Mg(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function jg(t,e,i,o){if(t){i=i||document;do{if(null!=e&&(">"===e[0]?t.parentNode===i&&zg(t,e):zg(t,e))||o&&t===i)return t;if(t===i)break}while(t=Mg(t))}return null}var Dg,Lg=/\s+/g;function Pg(t,e,i){if(t&&e)if(t.classList)t.classList[i?"add":"remove"](e);else{var o=(" "+t.className+" ").replace(Lg," ").replace(" "+e+" "," ");t.className=(o+(i?" "+e:"")).replace(Lg," ")}}function Ng(t,e,i){var o=t&&t.style;if(o){if(void 0===i)return document.defaultView&&document.defaultView.getComputedStyle?i=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(i=t.currentStyle),void 0===e?i:i[e];e in o||-1!==e.indexOf("webkit")||(e="-webkit-"+e),o[e]=i+("string"==typeof i?"":"px")}}function Rg(t,e){var i="";if("string"==typeof t)i=t;else do{var o=Ng(t,"transform");o&&"none"!==o&&(i=o+" "+i)}while(!e&&(t=t.parentNode));var n=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return n&&new n(i)}function Fg(t,e,i){if(t){var o=t.getElementsByTagName(e),n=0,r=o.length;if(i)for(;n=Bg(o)[i]))return o;if(o===Vg())break;o=Kg(o,!1)}return!1}function Hg(t,e,i,o){for(var n=0,r=0,a=t.children;r2&&void 0!==arguments[2]?arguments[2]:{},o=i.evt,n=bg(i,s_);a_.pluginEvent.bind(ev)(t,e,fg({dragEl:u_,parentEl:h_,ghostEl:m_,rootEl:p_,nextEl:f_,lastDownEl:g_,cloneEl:__,cloneHidden:v_,dragStarted:O_,putSortable:C_,activeSortable:ev.active,originalEvent:o,oldIndex:b_,oldDraggableIndex:x_,newIndex:y_,newDraggableIndex:w_,hideGhostForTarget:Z_,unhideGhostForTarget:J_,cloneNowHidden:function(){v_=!0},cloneNowShown:function(){v_=!1},dispatchSortableEvent:function(t){d_({sortable:e,name:t,originalEvent:o})}},n))};function d_(t){l_(fg({putSortable:C_,cloneEl:__,targetEl:u_,rootEl:p_,oldIndex:b_,oldDraggableIndex:x_,newIndex:y_,newDraggableIndex:w_},t))}var u_,h_,m_,p_,f_,g_,__,v_,b_,y_,x_,w_,k_,C_,$_,E_,A_,S_,I_,T_,O_,z_,M_,j_,D_,L_=!1,P_=!1,N_=[],R_=!1,F_=!1,V_=[],B_=!1,U_=[],H_="undefined"!=typeof document,Y_=Ag,W_=Cg||kg?"cssFloat":"float",X_=H_&&!Sg&&!Ag&&"draggable"in document.createElement("div"),K_=function(){if(H_){if(kg)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}(),G_=function(t,e){var i=Ng(t),o=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),n=Hg(t,0,e),r=Hg(t,1,e),a=n&&Ng(n),l=r&&Ng(r),s=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+Bg(n).width,c=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+Bg(r).width;if("flex"===i.display)return"column"===i.flexDirection||"column-reverse"===i.flexDirection?"vertical":"horizontal";if("grid"===i.display)return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(n&&a.float&&"none"!==a.float){var d="left"===a.float?"left":"right";return!r||"both"!==l.clear&&l.clear!==d?"horizontal":"vertical"}return n&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||s>=o&&"none"===i[W_]||r&&"none"===i[W_]&&s+c>o)?"vertical":"horizontal"},q_=function(t){function e(t,i){return function(o,n,r,a){var l=o.options.group.name&&n.options.group.name&&o.options.group.name===n.options.group.name;if(null==t&&(i||l))return!0;if(null==t||!1===t)return!1;if(i&&"clone"===t)return t;if("function"==typeof t)return e(t(o,n,r,a),i)(o,n,r,a);var s=(i?o:n).options.group.name;return!0===t||"string"==typeof t&&t===s||t.join&&t.indexOf(s)>-1}}var i={},o=t.group;o&&"object"==gg(o)||(o={name:o}),i.name=o.name,i.checkPull=e(o.pull,!0),i.checkPut=e(o.put),i.revertClone=o.revertClone,t.group=i},Z_=function(){!K_&&m_&&Ng(m_,"display","none")},J_=function(){!K_&&m_&&Ng(m_,"display","")};H_&&!Sg&&document.addEventListener("click",(function(t){if(P_)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),P_=!1,!1}),!0);var Q_=function(t){if(u_){var e=function(t,e){var i;return N_.some((function(o){var n=o[i_].options.emptyInsertThreshold;if(n&&!Yg(o)){var r=Bg(o),a=t>=r.left-n&&t<=r.right+n,l=e>=r.top-n&&e<=r.bottom+n;return a&&l?i=o:void 0}})),i}((t=t.touches?t.touches[0]:t).clientX,t.clientY);if(e){var i={};for(var o in t)t.hasOwnProperty(o)&&(i[o]=t[o]);i.target=i.rootEl=e,i.preventDefault=void 0,i.stopPropagation=void 0,e[i_]._onDragOver(i)}}},tv=function(t){u_&&u_.parentNode[i_]._isOutsideThisEl(t.target)};function ev(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=vg({},e),t[i_]=this;var i={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return G_(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==ev.supportPointer&&"PointerEvent"in window&&!Eg,emptyInsertThreshold:5};for(var o in a_.initializePlugins(this,t,i),i)!(o in e)&&(e[o]=i[o]);for(var n in q_(e),this)"_"===n.charAt(0)&&"function"==typeof this[n]&&(this[n]=this[n].bind(this));this.nativeDraggable=!e.forceFallback&&X_,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?Tg(t,"pointerdown",this._onTapStart):(Tg(t,"mousedown",this._onTapStart),Tg(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(Tg(t,"dragover",this),Tg(t,"dragenter",this)),N_.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),vg(this,o_())}function iv(t,e,i,o,n,r,a,l){var s,c,d=t[i_],u=d.options.onMove;return!window.CustomEvent||kg||Cg?(s=document.createEvent("Event")).initEvent("move",!0,!0):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=i,s.draggedRect=o,s.related=n||e,s.relatedRect=r||Bg(e),s.willInsertAfter=l,s.originalEvent=a,t.dispatchEvent(s),u&&(c=u.call(d,s,a)),c}function ov(t){t.draggable=!1}function nv(){B_=!1}function rv(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent,i=e.length,o=0;i--;)o+=e.charCodeAt(i);return o.toString(36)}function av(t){return setTimeout(t,0)}function lv(t){return clearTimeout(t)}ev.prototype={constructor:ev,_isOutsideThisEl:function(t){this.el.contains(t)||t===this.el||(z_=null)},_getDirection:function(t,e){return"function"==typeof this.options.direction?this.options.direction.call(this,t,e,u_):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,i=this.el,o=this.options,n=o.preventOnFilter,r=t.type,a=t.touches&&t.touches[0]||t.pointerType&&"touch"===t.pointerType&&t,l=(a||t).target,s=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||l,c=o.filter;if(function(t){U_.length=0;var e=t.getElementsByTagName("input"),i=e.length;for(;i--;){var o=e[i];o.checked&&U_.push(o)}}(i),!u_&&!(/mousedown|pointerdown/.test(r)&&0!==t.button||o.disabled)&&!s.isContentEditable&&(this.nativeDraggable||!Eg||!l||"SELECT"!==l.tagName.toUpperCase())&&!((l=jg(l,o.draggable,i,!1))&&l.animated||g_===l)){if(b_=Wg(l),x_=Wg(l,o.draggable),"function"==typeof c){if(c.call(this,t,l,this))return d_({sortable:e,rootEl:s,name:"filter",targetEl:l,toEl:i,fromEl:i}),c_("filter",e,{evt:t}),void(n&&t.cancelable&&t.preventDefault())}else if(c&&(c=c.split(",").some((function(o){if(o=jg(s,o.trim(),i,!1))return d_({sortable:e,rootEl:o,name:"filter",targetEl:l,fromEl:i,toEl:i}),c_("filter",e,{evt:t}),!0}))))return void(n&&t.cancelable&&t.preventDefault());o.handle&&!jg(s,o.handle,i,!1)||this._prepareDragStart(t,a,l)}}},_prepareDragStart:function(t,e,i){var o,n=this,r=n.el,a=n.options,l=r.ownerDocument;if(i&&!u_&&i.parentNode===r){var s=Bg(i);if(p_=r,h_=(u_=i).parentNode,f_=u_.nextSibling,g_=i,k_=a.group,ev.dragged=u_,$_={target:u_,clientX:(e||t).clientX,clientY:(e||t).clientY},I_=$_.clientX-s.left,T_=$_.clientY-s.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,u_.style["will-change"]="all",o=function(){c_("delayEnded",n,{evt:t}),ev.eventCanceled?n._onDrop():(n._disableDelayedDragEvents(),!$g&&n.nativeDraggable&&(u_.draggable=!0),n._triggerDragStart(t,e),d_({sortable:n,name:"choose",originalEvent:t}),Pg(u_,a.chosenClass,!0))},a.ignore.split(",").forEach((function(t){Fg(u_,t.trim(),ov)})),Tg(l,"dragover",Q_),Tg(l,"mousemove",Q_),Tg(l,"touchmove",Q_),Tg(l,"mouseup",n._onDrop),Tg(l,"touchend",n._onDrop),Tg(l,"touchcancel",n._onDrop),$g&&this.nativeDraggable&&(this.options.touchStartThreshold=4,u_.draggable=!0),c_("delayStart",this,{evt:t}),!a.delay||a.delayOnTouchOnly&&!e||this.nativeDraggable&&(Cg||kg))o();else{if(ev.eventCanceled)return void this._onDrop();Tg(l,"mouseup",n._disableDelayedDrag),Tg(l,"touchend",n._disableDelayedDrag),Tg(l,"touchcancel",n._disableDelayedDrag),Tg(l,"mousemove",n._delayedDragTouchMoveHandler),Tg(l,"touchmove",n._delayedDragTouchMoveHandler),a.supportPointer&&Tg(l,"pointermove",n._delayedDragTouchMoveHandler),n._dragStartTimer=setTimeout(o,a.delay)}}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){u_&&ov(u_),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;Og(t,"mouseup",this._disableDelayedDrag),Og(t,"touchend",this._disableDelayedDrag),Og(t,"touchcancel",this._disableDelayedDrag),Og(t,"mousemove",this._delayedDragTouchMoveHandler),Og(t,"touchmove",this._delayedDragTouchMoveHandler),Og(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?Tg(document,"pointermove",this._onTouchMove):Tg(document,e?"touchmove":"mousemove",this._onTouchMove):(Tg(u_,"dragend",this),Tg(p_,"dragstart",this._onDragStart));try{document.selection?av((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(t,e){if(L_=!1,p_&&u_){c_("dragStarted",this,{evt:e}),this.nativeDraggable&&Tg(document,"dragover",tv);var i=this.options;!t&&Pg(u_,i.dragClass,!1),Pg(u_,i.ghostClass,!0),ev.active=this,t&&this._appendGhost(),d_({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(E_){this._lastX=E_.clientX,this._lastY=E_.clientY,Z_();for(var t=document.elementFromPoint(E_.clientX,E_.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(E_.clientX,E_.clientY))!==e;)e=t;if(u_.parentNode[i_]._isOutsideThisEl(t),e)do{if(e[i_]){if(e[i_]._onDragOver({clientX:E_.clientX,clientY:E_.clientY,target:t,rootEl:e})&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);J_()}},_onTouchMove:function(t){if($_){var e=this.options,i=e.fallbackTolerance,o=e.fallbackOffset,n=t.touches?t.touches[0]:t,r=m_&&Rg(m_,!0),a=m_&&r&&r.a,l=m_&&r&&r.d,s=Y_&&D_&&Xg(D_),c=(n.clientX-$_.clientX+o.x)/(a||1)+(s?s[0]-V_[0]:0)/(a||1),d=(n.clientY-$_.clientY+o.y)/(l||1)+(s?s[1]-V_[1]:0)/(l||1);if(!ev.active&&!L_){if(i&&Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))n.right+r||t.clientY>o.bottom&&t.clientX>o.left:t.clientY>n.bottom+r||t.clientX>o.right&&t.clientY>o.top}(t,n,this)&&!f.animated){if(f===u_)return O(!1);if(f&&r===t.target&&(a=f),a&&(i=Bg(a)),!1!==iv(p_,r,u_,e,a,i,t,!!a))return T(),f&&f.nextSibling?r.insertBefore(u_,f.nextSibling):r.appendChild(u_),h_=r,z(),O(!0)}else if(f&&function(t,e,i){var o=Bg(Hg(i.el,0,i.options,!0)),n=e_(i.el,i.options,m_),r=10;return e?t.clientXd+c*r/2:su-j_)return-M_}else if(s>d+c*(1-n)/2&&su-c*r/2))return s>d+c/2?1:-1;return 0}(t,a,i,n,x?1:l.swapThreshold,null==l.invertedSwapThreshold?l.swapThreshold:l.invertedSwapThreshold,F_,z_===a),0!==_){var $=Wg(u_);do{$-=_,b=h_.children[$]}while(b&&("none"===Ng(b,"display")||b===m_))}if(0===_||b===a)return O(!1);z_=a,M_=_;var E=a.nextElementSibling,A=!1,S=iv(p_,r,u_,e,a,i,t,A=1===_);if(!1!==S)return 1!==S&&-1!==S||(A=1===S),B_=!0,setTimeout(nv,30),T(),A&&!E?r.appendChild(u_):a.parentNode.insertBefore(u_,A?E:a),k&&Zg(k,0,C-k.scrollTop),h_=u_.parentNode,void 0===v||F_||(j_=Math.abs(v-Bg(a)[w])),z(),O(!0)}if(r.contains(u_))return O(!1)}return!1}function I(l,s){c_(l,m,fg({evt:t,isOwner:d,axis:n?"vertical":"horizontal",revert:o,dragRect:e,targetRect:i,canSort:u,fromSortable:h,target:a,completed:O,onMove:function(i,o){return iv(p_,r,u_,e,i,Bg(i),t,o)},changed:z},s))}function T(){I("dragOverAnimationCapture"),m.captureAnimationState(),m!==h&&h.captureAnimationState()}function O(e){return I("dragOverCompleted",{insertion:e}),e&&(d?c._hideClone():c._showClone(m),m!==h&&(Pg(u_,C_?C_.options.ghostClass:c.options.ghostClass,!1),Pg(u_,l.ghostClass,!0)),C_!==m&&m!==ev.active?C_=m:m===ev.active&&C_&&(C_=null),h===m&&(m._ignoreWhileAnimating=a),m.animateAll((function(){I("dragOverAnimationComplete"),m._ignoreWhileAnimating=null})),m!==h&&(h.animateAll(),h._ignoreWhileAnimating=null)),(a===u_&&!u_.animated||a===r&&!a.animated)&&(z_=null),l.dragoverBubble||t.rootEl||a===document||(u_.parentNode[i_]._isOutsideThisEl(t.target),!e&&Q_(t)),!l.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),p=!0}function z(){y_=Wg(u_),w_=Wg(u_,l.draggable),d_({sortable:m,name:"change",toEl:r,newIndex:y_,newDraggableIndex:w_,originalEvent:t})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){Og(document,"mousemove",this._onTouchMove),Og(document,"touchmove",this._onTouchMove),Og(document,"pointermove",this._onTouchMove),Og(document,"dragover",Q_),Og(document,"mousemove",Q_),Og(document,"touchmove",Q_)},_offUpEvents:function(){var t=this.el.ownerDocument;Og(t,"mouseup",this._onDrop),Og(t,"touchend",this._onDrop),Og(t,"pointerup",this._onDrop),Og(t,"touchcancel",this._onDrop),Og(document,"selectstart",this)},_onDrop:function(t){var e=this.el,i=this.options;y_=Wg(u_),w_=Wg(u_,i.draggable),c_("drop",this,{evt:t}),h_=u_&&u_.parentNode,y_=Wg(u_),w_=Wg(u_,i.draggable),ev.eventCanceled||(L_=!1,F_=!1,R_=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),lv(this.cloneId),lv(this._dragStartId),this.nativeDraggable&&(Og(document,"drop",this),Og(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Eg&&Ng(document.body,"user-select",""),Ng(u_,"transform",""),t&&(O_&&(t.cancelable&&t.preventDefault(),!i.dropBubble&&t.stopPropagation()),m_&&m_.parentNode&&m_.parentNode.removeChild(m_),(p_===h_||C_&&"clone"!==C_.lastPutMode)&&__&&__.parentNode&&__.parentNode.removeChild(__),u_&&(this.nativeDraggable&&Og(u_,"dragend",this),ov(u_),u_.style["will-change"]="",O_&&!L_&&Pg(u_,C_?C_.options.ghostClass:this.options.ghostClass,!1),Pg(u_,this.options.chosenClass,!1),d_({sortable:this,name:"unchoose",toEl:h_,newIndex:null,newDraggableIndex:null,originalEvent:t}),p_!==h_?(y_>=0&&(d_({rootEl:h_,name:"add",toEl:h_,fromEl:p_,originalEvent:t}),d_({sortable:this,name:"remove",toEl:h_,originalEvent:t}),d_({rootEl:h_,name:"sort",toEl:h_,fromEl:p_,originalEvent:t}),d_({sortable:this,name:"sort",toEl:h_,originalEvent:t})),C_&&C_.save()):y_!==b_&&y_>=0&&(d_({sortable:this,name:"update",toEl:h_,originalEvent:t}),d_({sortable:this,name:"sort",toEl:h_,originalEvent:t})),ev.active&&(null!=y_&&-1!==y_||(y_=b_,w_=x_),d_({sortable:this,name:"end",toEl:h_,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){c_("nulling",this),p_=u_=h_=m_=f_=__=g_=v_=$_=E_=O_=y_=w_=b_=x_=z_=M_=C_=k_=ev.dragged=ev.ghost=ev.clone=ev.active=null,U_.forEach((function(t){t.checked=!0})),U_.length=A_=S_=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":u_&&(this._onDragOver(t),function(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move");t.cancelable&&t.preventDefault()}(t));break;case"selectstart":t.preventDefault()}},toArray:function(){for(var t,e=[],i=this.el.children,o=0,n=i.length,r=this.options;o1&&(Iv.forEach((function(t){o.addAnimationState({target:t,rect:zv?Bg(t):n}),t_(t),t.fromRect=n,e.removeAnimationState(t)})),zv=!1,function(t,e){Iv.forEach((function(i,o){var n=e.children[i.sortableIndex+(t?Number(o):0)];n?e.insertBefore(i,n):e.appendChild(i)}))}(!this.options.removeCloneOnHide,i))},dragOverCompleted:function(t){var e=t.sortable,i=t.isOwner,o=t.insertion,n=t.activeSortable,r=t.parentEl,a=t.putSortable,l=this.options;if(o){if(i&&n._hideClone(),Ov=!1,l.animation&&Iv.length>1&&(zv||!i&&!n.options.sort&&!a)){var s=Bg(Ev,!1,!0,!0);Iv.forEach((function(t){t!==Ev&&(Qg(t,s),r.appendChild(t))})),zv=!0}if(!i)if(zv||Dv(),Iv.length>1){var c=Sv;n._showClone(e),n.options.animation&&!Sv&&c&&Tv.forEach((function(t){n.addAnimationState({target:t,rect:Av}),t.fromRect=Av,t.thisAnimationDuration=null}))}else n._showClone(e)}},dragOverAnimationCapture:function(t){var e=t.dragRect,i=t.isOwner,o=t.activeSortable;if(Iv.forEach((function(t){t.thisAnimationDuration=null})),o.options.animation&&!i&&o.multiDrag.isMultiDrag){Av=vg({},e);var n=Rg(Ev,!0);Av.top-=n.f,Av.left-=n.e}},dragOverAnimationComplete:function(){zv&&(zv=!1,Dv())},drop:function(t){var e=t.originalEvent,i=t.rootEl,o=t.parentEl,n=t.sortable,r=t.dispatchSortableEvent,a=t.oldIndex,l=t.putSortable,s=l||this.sortable;if(e){var c=this.options,d=o.children;if(!Mv)if(c.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),Pg(Ev,c.selectedClass,!~Iv.indexOf(Ev)),~Iv.indexOf(Ev))Iv.splice(Iv.indexOf(Ev),1),Cv=null,l_({sortable:n,rootEl:i,name:"deselect",targetEl:Ev,originalEvent:e});else{if(Iv.push(Ev),l_({sortable:n,rootEl:i,name:"select",targetEl:Ev,originalEvent:e}),e.shiftKey&&Cv&&n.el.contains(Cv)){var u,h,m=Wg(Cv),p=Wg(Ev);if(~m&&~p&&m!==p)for(p>m?(h=m,u=p):(h=p,u=m+1);h1){var f=Bg(Ev),g=Wg(Ev,":not(."+this.options.selectedClass+")");if(!Ov&&c.animation&&(Ev.thisAnimationDuration=null),s.captureAnimationState(),!Ov&&(c.animation&&(Ev.fromRect=f,Iv.forEach((function(t){if(t.thisAnimationDuration=null,t!==Ev){var e=zv?Bg(t):f;t.fromRect=e,s.addAnimationState({target:t,rect:e})}}))),Dv(),Iv.forEach((function(t){d[g]?o.insertBefore(t,d[g]):o.appendChild(t),g++})),a===Wg(Ev))){var _=!1;Iv.forEach((function(t){t.sortableIndex===Wg(t)||(_=!0)})),_&&(r("update"),r("sort"))}Iv.forEach((function(t){t_(t)})),s.animateAll()}$v=s}(i===o||l&&"clone"!==l.lastPutMode)&&Tv.forEach((function(t){t.parentNode&&t.parentNode.removeChild(t)}))}},nullingGlobal:function(){this.isMultiDrag=Mv=!1,Tv.length=0},destroyGlobal:function(){this._deselectMultiDrag(),Og(document,"pointerup",this._deselectMultiDrag),Og(document,"mouseup",this._deselectMultiDrag),Og(document,"touchend",this._deselectMultiDrag),Og(document,"keydown",this._checkKeyDown),Og(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(t){if(!(void 0!==Mv&&Mv||$v!==this.sortable||t&&jg(t.target,this.options.draggable,this.sortable.el,!1)||t&&0!==t.button))for(;Iv.length;){var e=Iv[0];Pg(e,this.options.selectedClass,!1),Iv.shift(),l_({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:e,originalEvent:t})}},_checkKeyDown:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},vg(t,{pluginName:"multiDrag",utils:{select:function(t){var e=t.parentNode[i_];e&&e.options.multiDrag&&!~Iv.indexOf(t)&&($v&&$v!==e&&($v.multiDrag._deselectMultiDrag(),$v=e),Pg(t,e.options.selectedClass,!0),Iv.push(t))},deselect:function(t){var e=t.parentNode[i_],i=Iv.indexOf(t);e&&e.options.multiDrag&&~i&&(Pg(t,e.options.selectedClass,!1),Iv.splice(i,1))}},eventProperties:function(){var t=this,e=[],i=[];return Iv.forEach((function(o){var n;e.push({multiDragElement:o,index:o.sortableIndex}),n=zv&&o!==Ev?-1:zv?Wg(o,":not(."+t.options.selectedClass+")"):Wg(o),i.push({multiDragElement:o,index:n})})),{items:yg(Iv),clones:[].concat(Tv),oldIndicies:e,newIndicies:i}},optionListeners:{multiDragKey:function(t){return"ctrl"===(t=t.toLowerCase())?t="Control":t.length>1&&(t=t.charAt(0).toUpperCase()+t.substr(1)),t}}})},OnSpill:kv,Sortable:ev,Swap:function(){function t(){this.defaults={swapClass:"sortable-swap-highlight"}}return t.prototype={dragStart:function(t){var e=t.dragEl;wv=e},dragOverValid:function(t){var e=t.completed,i=t.target,o=t.onMove,n=t.activeSortable,r=t.changed,a=t.cancel;if(n.options.swap){var l=this.sortable.el,s=this.options;if(i&&i!==l){var c=wv;!1!==o(i)?(Pg(i,s.swapClass,!0),wv=i):wv=null,c&&c!==wv&&Pg(c,s.swapClass,!1)}r(),e(!0),a()}},drop:function(t){var e=t.activeSortable,i=t.putSortable,o=t.dragEl,n=i||this.sortable,r=this.options;wv&&Pg(wv,r.swapClass,!1),wv&&(r.swap||i&&i.options.swap)&&o!==wv&&(n.captureAnimationState(),n!==e&&e.captureAnimationState(),function(t,e){var i,o,n=t.parentNode,r=e.parentNode;if(!n||!r||n.isEqualNode(e)||r.isEqualNode(t))return;i=Wg(t),o=Wg(e),n.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

t4!A_AP4u|<8n5K)_fSbZvt}7=U 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[s])&&(r=(o<3?n(r):o>3?n(t,i,r):n(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r}"function"==typeof SuppressedError&&SuppressedError; +/** + * @license + * Copyright 2019 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +const t=window,i=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),n=new WeakMap;class o{constructor(e,t,i){if(this._$cssResult$=!0,i!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(i&&void 0===e){const i=void 0!==t&&1===t.length;i&&(e=n.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&n.set(t,e))}return e}toString(){return this.cssText}}const r=(e,...t)=>{const i=1===e.length?e[0]:t.reduce(((t,i,a)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+e[a+1]),e[0]);return new o(i,e,a)},s=i?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const i of e.cssRules)t+=i.cssText;return(e=>new o("string"==typeof e?e:e+"",void 0,a))(t)})(e):e +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */;var l;const c=window,d=c.trustedTypes,u=d?d.emptyScript:"",m=c.reactiveElementPolyfillSupport,p={toAttribute(e,t){switch(t){case Boolean:e=e?u:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let i=e;switch(t){case Boolean:i=null!==e;break;case Number:i=null===e?null:Number(e);break;case Object:case Array:try{i=JSON.parse(e)}catch(e){i=null}}return i}},_=(e,t)=>t!==e&&(t==t||e==e),v={attribute:!0,type:String,converter:p,reflect:!1,hasChanged:_},g="finalized";class h extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(e){var t;this.finalize(),(null!==(t=this.h)&&void 0!==t?t:this.h=[]).push(e)}static get observedAttributes(){this.finalize();const e=[];return this.elementProperties.forEach(((t,i)=>{const a=this._$Ep(i,t);void 0!==a&&(this._$Ev.set(a,i),e.push(a))})),e}static createProperty(e,t=v){if(t.state&&(t.attribute=!1),this.finalize(),this.elementProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){const i="symbol"==typeof e?Symbol():"__"+e,a=this.getPropertyDescriptor(e,i,t);void 0!==a&&Object.defineProperty(this.prototype,e,a)}}static getPropertyDescriptor(e,t,i){return{get(){return this[t]},set(a){const n=this[e];this[t]=a,this.requestUpdate(e,n,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)||v}static finalize(){if(this.hasOwnProperty(g))return!1;this[g]=!0;const e=Object.getPrototypeOf(this);if(e.finalize(),void 0!==e.h&&(this.h=[...e.h]),this.elementProperties=new Map(e.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const e=this.properties,t=[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e)];for(const i of t)this.createProperty(i,e[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const i=new Set(e.flat(1/0).reverse());for(const e of i)t.unshift(s(e))}else void 0!==e&&t.push(s(e));return t}static _$Ep(e,t){const i=t.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof e?e.toLowerCase():void 0}_$Eu(){var e;this._$E_=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(e=this.constructor.h)||void 0===e||e.forEach((e=>e(this)))}addController(e){var t,i;(null!==(t=this._$ES)&&void 0!==t?t:this._$ES=[]).push(e),void 0!==this.renderRoot&&this.isConnected&&(null===(i=e.hostConnected)||void 0===i||i.call(e))}removeController(e){var t;null===(t=this._$ES)||void 0===t||t.splice(this._$ES.indexOf(e)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((e,t)=>{this.hasOwnProperty(t)&&(this._$Ei.set(t,this[t]),delete this[t])}))}createRenderRoot(){var e;const a=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return((e,a)=>{i?e.adoptedStyleSheets=a.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet)):a.forEach((i=>{const a=document.createElement("style"),n=t.litNonce;void 0!==n&&a.setAttribute("nonce",n),a.textContent=i.cssText,e.appendChild(a)}))})(a,this.constructor.elementStyles),a}connectedCallback(){var e;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostConnected)||void 0===t?void 0:t.call(e)}))}enableUpdating(e){}disconnectedCallback(){var e;null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostDisconnected)||void 0===t?void 0:t.call(e)}))}attributeChangedCallback(e,t,i){this._$AK(e,i)}_$EO(e,t,i=v){var a;const n=this.constructor._$Ep(e,i);if(void 0!==n&&!0===i.reflect){const o=(void 0!==(null===(a=i.converter)||void 0===a?void 0:a.toAttribute)?i.converter:p).toAttribute(t,i.type);this._$El=e,null==o?this.removeAttribute(n):this.setAttribute(n,o),this._$El=null}}_$AK(e,t){var i;const a=this.constructor,n=a._$Ev.get(e);if(void 0!==n&&this._$El!==n){const e=a.getPropertyOptions(n),o="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==(null===(i=e.converter)||void 0===i?void 0:i.fromAttribute)?e.converter:p;this._$El=n,this[n]=o.fromAttribute(t,e.type),this._$El=null}}requestUpdate(e,t,i){let a=!0;void 0!==e&&(((i=i||this.constructor.getPropertyOptions(e)).hasChanged||_)(this[e],t)?(this._$AL.has(e)||this._$AL.set(e,t),!0===i.reflect&&this._$El!==e&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(e,i))):a=!1),!this.isUpdatePending&&a&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var e;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((e,t)=>this[t]=e)),this._$Ei=void 0);let t=!1;const i=this._$AL;try{t=this.shouldUpdate(i),t?(this.willUpdate(i),null===(e=this._$ES)||void 0===e||e.forEach((e=>{var t;return null===(t=e.hostUpdate)||void 0===t?void 0:t.call(e)})),this.update(i)):this._$Ek()}catch(e){throw t=!1,this._$Ek(),e}t&&this._$AE(i)}willUpdate(e){}_$AE(e){var t;null===(t=this._$ES)||void 0===t||t.forEach((e=>{var t;return null===(t=e.hostUpdated)||void 0===t?void 0:t.call(e)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(e){return!0}update(e){void 0!==this._$EC&&(this._$EC.forEach(((e,t)=>this._$EO(t,this[t],e))),this._$EC=void 0),this._$Ek()}updated(e){}firstUpdated(e){}} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +var f;h[g]=!0,h.elementProperties=new Map,h.elementStyles=[],h.shadowRootOptions={mode:"open"},null==m||m({ReactiveElement:h}),(null!==(l=c.reactiveElementVersions)&&void 0!==l?l:c.reactiveElementVersions=[]).push("1.6.3");const b=window,y=b.trustedTypes,k=y?y.createPolicy("lit-html",{createHTML:e=>e}):void 0,A="$lit$",x=`lit$${(Math.random()+"").slice(9)}$`,E="?"+x,w=`<${E}>`,z=document,P=()=>z.createComment(""),M=e=>null===e||"object"!=typeof e&&"function"!=typeof e,T=Array.isArray,S="[ \t\n\f\r]",C=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,O=/-->/g,N=/>/g,R=RegExp(`>|${S}(?:([^\\s"'>=/]+)(${S}*=${S}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),$=/'/g,j=/"/g,L=/^(?:script|style|textarea|title)$/i,I=e=>(t,...i)=>({_$litType$:e,strings:t,values:i}),D=I(1),V=I(2),F=Symbol.for("lit-noChange"),U=Symbol.for("lit-nothing"),q=new WeakMap,H=z.createTreeWalker(z,129,null,!1);function K(e,t){if(!Array.isArray(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==k?k.createHTML(t):t}const X=(e,t)=>{const i=e.length-1,a=[];let n,o=2===t?"":"",r=C;for(let t=0;t"===l[0]?(r=null!=n?n:C,c=-1):void 0===l[1]?c=-2:(c=r.lastIndex-l[2].length,s=l[1],r=void 0===l[3]?R:'"'===l[3]?j:$):r===j||r===$?r=R:r===O||r===N?r=C:(r=R,n=void 0);const u=r===R&&e[t+1].startsWith("/>")?" ":"";o+=r===C?i+w:c>=0?(a.push(s),i.slice(0,c)+A+i.slice(c)+x+u):i+x+(-2===c?(a.push(void 0),t):u)}return[K(e,o+(e[i]||"")+(2===t?"":"")),a]};class G{constructor({strings:e,_$litType$:t},i){let a;this.parts=[];let n=0,o=0;const r=e.length-1,s=this.parts,[l,c]=X(e,t);if(this.el=G.createElement(l,i),H.currentNode=this.el.content,2===t){const e=this.el.content,t=e.firstChild;t.remove(),e.append(...t.childNodes)}for(;null!==(a=H.nextNode())&&s.length0){a.textContent=y?y.emptyScript:"";for(let i=0;iT(e)||"function"==typeof(null==e?void 0:e[Symbol.iterator]))(e)?this.T(e):this._(e)}k(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}$(e){this._$AH!==e&&(this._$AR(),this._$AH=this.k(e))}_(e){this._$AH!==U&&M(this._$AH)?this._$AA.nextSibling.data=e:this.$(z.createTextNode(e)),this._$AH=e}g(e){var t;const{values:i,_$litType$:a}=e,n="number"==typeof a?this._$AC(e):(void 0===a.el&&(a.el=G.createElement(K(a.h,a.h[0]),this.options)),a);if((null===(t=this._$AH)||void 0===t?void 0:t._$AD)===n)this._$AH.v(i);else{const e=new Z(n,this),t=e.u(this.options);e.v(i),this.$(t),this._$AH=e}}_$AC(e){let t=q.get(e.strings);return void 0===t&&q.set(e.strings,t=new G(e)),t}T(e){T(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let i,a=0;for(const n of e)a===t.length?t.push(i=new Y(this.k(P()),this.k(P()),this,this.options)):i=t[a],i._$AI(n),a++;a2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=U}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(e,t=this,i,a){const n=this.strings;let o=!1;if(void 0===n)e=B(this,e,t,0),o=!M(e)||e!==this._$AH&&e!==F,o&&(this._$AH=e);else{const a=e;let r,s;for(e=n[0],r=0;r{var a,n;const o=null!==(a=null==i?void 0:i.renderBefore)&&void 0!==a?a:t;let r=o._$litPart$;if(void 0===r){const e=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:null;o._$litPart$=r=new Y(t.insertBefore(P(),e),e,void 0,null!=i?i:{})}return r._$AI(e),r})(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!1)}render(){return F}}re.finalized=!0,re._$litElement$=!0,null===(ne=globalThis.litElementHydrateSupport)||void 0===ne||ne.call(globalThis,{LitElement:re});const se=globalThis.litElementPolyfillSupport;null==se||se({LitElement:re}),(null!==(oe=globalThis.litElementVersions)&&void 0!==oe?oe:globalThis.litElementVersions=[]).push("3.3.3"); +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +const le=e=>t=>"function"==typeof t?((e,t)=>(customElements.define(e,t),t))(e,t):((e,t)=>{const{kind:i,elements:a}=t;return{kind:i,elements:a,finisher(t){customElements.define(e,t)}}})(e,t) +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */,ce=(e,t)=>"method"===t.kind&&t.descriptor&&!("value"in t.descriptor)?{...t,finisher(i){i.createProperty(t.key,e)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:t.key,initializer(){"function"==typeof t.initializer&&(this[t.key]=t.initializer.call(this))},finisher(i){i.createProperty(t.key,e)}},de=(e,t,i)=>{t.constructor.createProperty(i,e)};function ue(e){return(t,i)=>void 0!==i?de(e,t,i):ce(e,t) +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */}function me(e){return ue({...e,state:!0})} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */const pe=({finisher:e,descriptor:t})=>(i,a)=>{var n;if(void 0===a){const a=null!==(n=i.originalKey)&&void 0!==n?n:i.key,o=null!=t?{kind:"method",placement:"prototype",key:a,descriptor:t(i.key)}:{...i,key:a};return null!=e&&(o.finisher=function(t){e(t,a)}),o}{const n=i.constructor;void 0!==t&&Object.defineProperty(i,a,t(a)),null==e||e(n,a)}} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */;function _e(e,t){return pe({descriptor:i=>{const a={get(){var t,i;return null!==(i=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(e))&&void 0!==i?i:null},enumerable:!0,configurable:!0};if(t){const t="symbol"==typeof i?Symbol():"__"+i;a.get=function(){var i,a;return void 0===this[t]&&(this[t]=null!==(a=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(e))&&void 0!==a?a:null),this[t]}}return a}})} +/** + * @license + * Copyright 2017 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +/** + * @license + * Copyright 2021 Google LLC + * SPDX-License-Identifier: BSD-3-Clause + */ +var ve,ge,he;function fe(e){return e.substr(0,e.indexOf("."))}null===(ve=window.HTMLSlotElement)||void 0===ve||ve.prototype.assignedElements,function(e){e.language="language",e.system="system",e.comma_decimal="comma_decimal",e.decimal_comma="decimal_comma",e.space_comma="space_comma",e.none="none"}(ge||(ge={})),function(e){e.language="language",e.system="system",e.am_pm="12",e.twenty_four="24"}(he||(he={}));var be=["closed","locked","off"],ye=function(e,t,i,a){a=a||{},i=null==i?{}:i;var n=new Event(t,{bubbles:void 0===a.bubbles||a.bubbles,cancelable:Boolean(a.cancelable),composed:void 0===a.composed||a.composed});return n.detail=i,e.dispatchEvent(n),n},ke=function(e){ye(window,"haptic",e)},Ae=function(e,t){return function(e,t,i){void 0===i&&(i=!0);var a,n=fe(t),o="group"===n?"homeassistant":n;switch(n){case"lock":a=i?"unlock":"lock";break;case"cover":a=i?"open_cover":"close_cover";break;default:a=i?"turn_on":"turn_off"}return e.callService(o,a,{entity_id:t})}(e,t,be.includes(e.states[t].state))},xe=function(e,t,i,a){if(a||(a={action:"more-info"}),!a.confirmation||a.confirmation.exemptions&&a.confirmation.exemptions.some((function(e){return e.user===t.user.id}))||(ke("warning"),confirm(a.confirmation.text||"Are you sure you want to "+a.action+"?")))switch(a.action){case"more-info":(i.entity||i.camera_image)&&ye(e,"hass-more-info",{entityId:i.entity?i.entity:i.camera_image});break;case"navigate":a.navigation_path&&function(e,t,i){void 0===i&&(i=!1),i?history.replaceState(null,"",t):history.pushState(null,"",t),ye(window,"location-changed",{replace:i})}(0,a.navigation_path);break;case"url":a.url_path&&window.open(a.url_path);break;case"toggle":i.entity&&(Ae(t,i.entity),ke("success"));break;case"call-service":if(!a.service)return void ke("failure");var n=a.service.split(".",2);t.callService(n[0],n[1],a.service_data,a.target),ke("success");break;case"fire-dom-event":ye(e,"ll-custom",a)}},Ee=function(e,t,i,a){var n;"double_tap"===a&&i.double_tap_action?n=i.double_tap_action:"hold"===a&&i.hold_action?n=i.hold_action:"tap"===a&&i.tap_action&&(n=i.tap_action),xe(e,t,i,n)};function we(e){return void 0!==e&&"none"!==e.action}var ze={version:"Versió",invalid_configuration:"Configuració no vàlida {0}",description:"Una targeta que et permet controlar l'aspiradora",old_configuration:"S'ha detectat una configuració antiga. Ajusta la teva configuració a l'últim esquema o crea una nova targeta des de zero.",old_configuration_migration_link:"Guia de migrat"},Pe={invalid:"Plantilla no vàlida!",vacuum_goto:"Marcar i anar",vacuum_goto_predefined:"Punts",vacuum_clean_segment:"Habitacions",vacuum_clean_point:"Netejar punt",vacuum_clean_point_predefined:"Punts",vacuum_clean_zone:"Netejar zona",vacuum_clean_zone_predefined:"Llista de zones",vacuum_follow_path:"Camí"},Me={preset:{entity:{missing:"Propietat no trobada: entity"},preset_name:{missing:"Propietat no trobada: preset_name"},platform:{invalid:"Plataforma d'aspiradora no vàlida: {0}"},map_source:{missing:"Propietat no trobada: map_source",none_provided:"Cap càmera ni imatge proporcionada",ambiguous:"Només es permet una font de mapa"},calibration_source:{missing:"Propietat no trobada: calibration_source",ambiguous:"Només es permet una font de calibratge",none_provided:"No s'ha proporcionat cap font de calibratge",calibration_points:{invalid_number:"Es requereixen exactament 3 o 4 punts de calibratge",missing_map:"Cada punt de calibratge ha de contenir coordenades del mapa",missing_vacuum:"Cada punt de calibratge ha de contenir les coordenades de l'aspiradora",missing_coordinate:"Els punts de calibratge de l'aspiradora i del mapa han de contenir les coordenades x i y"}},icons:{invalid:"Error a la configuració: icons",icon:{missing:"Cada entrada de la llista d'icones ha de contenir la propietat de la icona"}},tiles:{invalid:"Error a la configuració: tiles",entity:{missing:"Cada entrada de la llista de mosaics ha de contenir l'entitat o la variable interna"},label:{missing:"Cada entrada de la llista de mosaics ha de contenir una etiqueta"}},map_modes:{invalid:"Error a la configuració: map_modes",icon:{missing:"Falta la icona del mode de mapa"},name:{missing:"Manca el nom del mode de mapa"},template:{invalid:"Plantilla no vàlida: {0}"},predefined_selections:{not_applicable:"El mode {0} no admet seleccions predefinides",zones:{missing:"Manquen configuracions de zones",invalid_parameters_number:"Cada zona ha de tenir 4 paràmetres"},points:{position:{missing:"Manquen configuracions de punts",invalid_parameters_number:"Cada punt ha de tenir 2 paràmetres"}},rooms:{id:{missing:"Falta l'identificador de l'habitació",invalid_format:"Identificador de l'habitació no vàlid: {0}"},outline:{invalid_parameters_number:"Cada punt del contorn de l'habitació ha de tenir 2 paràmetres"}},label:{x:{missing:"L'etiqueta ha de tenir la propietat x"},y:{missing:"L'etiqueta ha de tenir la propietat y"},text:{missing:"L'etiqueta ha de tenir propietat text"}},icon:{x:{missing:"La icona ha de tenir la propietat x"},y:{missing:"La icona ha de tenir la propietat y"},name:{missing:"La icona ha de tenir una propietat name"}}},service_call_schema:{missing:"Falta l'esquema de trucada de servei",service:{missing:"L'esquema de trucada de servei ha de contenir service",invalid:"Servei no vàlid: {0}"}}}},invalid_entities:"Entitats no vàlides:",invalid_calibration:"Calibració no vàlida, comproveu la vostra configuració"},Te={status:{label:"Estat",value:{starting:"Començant","charger disconnected":"Carregador desconnectat",idle:"Inactiu","remote control active":"Comandament a distància actiu",cleaning:"Netejant","returning home":"Tornant a casa","manual mode":"Mode manual",charging:"Carregant","charging problem":"Problema de càrrega",paused:"En pausa","spot cleaning":"Neteja per punts",error:"Error","shutting down":"Apagant",updating:"Actualitzant",docking:"Acoblament","going to target":"Anant a l'objectiu","zoned cleaning":"Neteja per zones","segment cleaning":"Neteja per segments","emptying the bin":"Buidant el dipòsit","charging complete":"Càrrega completa","device offline":"Dispositiu desconnectat"}},battery_level:{label:"Bateria"},fan_speed:{label:"Velocitat del ventilador",value:{silent:"Silenciós",standard:"Normal",medium:"Mitjà",turbo:"Turbo",auto:"Automàtic",gentle:"Suau"}},sensor_dirty_left:{label:"Sensors"},filter_left:{label:"Filtre"},main_brush_left:{label:"Raspall principal"},side_brush_left:{label:"Raspall lateral"},cleaning_count:{label:"Recompte de neteja"},cleaned_area:{label:"Zona netejada"},cleaning_time:{label:"Temps de neteja"},mop_left:{label:"Fregona"},bin_full:{label:"Dipòsit ple",value:{true:"Sí",false:"No"}},bin_present:{label:"Dipòsit introduït",value:{true:"Sí",false:"No"}}},Se={vacuum_start:"Començar",vacuum_pause:"Pausa",vacuum_stop:"Atura",vacuum_return_to_base:"Tornar a la base",vacuum_clean_spot:"Netejar punt",vacuum_locate:"Localitzar",vacuum_set_fan_speed:"Canvia la velocitat del ventilador"},Ce={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},Oe={success:"Fet!",no_selection:"No s'ha proporcionat cap selecció",failed:"No s'ha pogut trucar al servei"},Ne={description:{before_link:"Aquest editor visual només admet una configuració bàsica amb una entitat de càmera creada amb ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Per a una configuració més avançada, utilitzeu el mode YAML."},label:{name:"Títol (opcional)",entity:"Entitat de l'aspiradora (obligatori)",camera:"Entitat de la càmera (obligatori)",vacuum_platform:"Plataforma de la aspiradora (obligatori)",map_locked:"Mapa bloquejat(opcional)",two_finger_pan:"Moure amb dos dits (opcional)",platforms_documentation:"Documentació de la plataforma seleccionadan ({0})",selection:"Selecció:",copy:"Copiar",copied:"Copiat!",set_static_config:"Genera una configuració estàtica",config_set:"Configuració realitzada!\nObriu l'editor de configuració per ajustar-lo.",config_set_failed:"No s'ha pogut actualitzar la configuració.",generate_rooms_config:"Genera la configuració de les habitacions",copy_service_call:"Trucada de servei de còpia"}},Re={common:ze,map_mode:Pe,validation:Me,tile:Te,icon:Se,unit:Ce,popups:Oe,editor:Ne},$e=Object.freeze({__proto__:null,common:ze,map_mode:Pe,validation:Me,tile:Te,icon:Se,unit:Ce,popups:Oe,editor:Ne,default:Re}),je={version:"Verze",invalid_configuration:"Neplatná konfigurace {0}",description:"Karta pomocí které můžete ovládat váš vysavač",old_configuration:"Detekována zastaralá konfigurace. Upravte prosím konfiguraci nebo kartu vytvořte znovu od začátku.",old_configuration_migration_link:"Návod na úpravu konfigurace"},Le={invalid:"Neplatná šablona",vacuum_goto:"Přesun na bod",vacuum_goto_predefined:"Přesun na bod ze seznamu",vacuum_clean_segment:"Úklid místnosti",vacuum_clean_point:"Úklid bodu",vacuum_clean_point_predefined:"Úklid bodu ze seznamu",vacuum_clean_zone:"Úklid oblasti",vacuum_clean_zone_predefined:"Úklid oblasti ze seznamu",vacuum_follow_path:"Trasa"},Ie={preset:{entity:{missing:'Chybějící položka "entity"'},preset_name:{missing:'Chybějící položka "preset_name"'},platform:{invalid:"Neplatná platforma vysavače: {0}"},map_source:{missing:'Chybějící položka "map_source"',none_provided:"Chybějící odkaz na kameru nebo obrázek s mapou",ambiguous:"Povolen pouze jeden zdroj mapy"},calibration_source:{missing:'Chybějící položka "calibration_source"',ambiguous:"Povolen pouze jeden zdroj kalibrace",none_provided:"Chybějící zdroj kalibrace",calibration_points:{invalid_number:"Požadovány 3 nebo 4 kalibrační body",missing_map:"Každý kalibrační bod musí obsahovat souřadnice mapy",missing_vacuum:"Každý kalibrační bod musí obsahovat souřadnice vysavače",missing_coordinate:'Souřadnice mapy i vysavače musí vždy obsahovat položku "x" a "y"'}},icons:{invalid:'Neplatná konfigurace pro položku "icons"',icon:{missing:'Každý záznam v seznamu ikon musí vždy obsahovat položku "icon"'}},tiles:{invalid:'Neplatná konfigurace pro položku "tiles"',entity:{missing_outdated_translation:'Každý záznam v seznamu dlaždic musí vždy obsahovat položku "entity"'},label:{missing:'Každý záznam v seznamu dlaždic musí vždy obsahovat položku "label"'}},map_modes:{invalid:'Neplatná konfigurace pro položku "map_modes"',icon:{missing:"Chybějící ikona pro mapový režim"},name:{missing:"Chybějící název pro mapový režim"},template:{invalid:"Neplatná šablona: {0}"},predefined_selections:{not_applicable:"Režim {0} nepodporuje výběr z přednastavených možností",zones:{missing:"Chybějící konfigurace oblastí",invalid_parameters_number:"Každá oblast musí mít 4 parametry"},points:{position:{missing:"Chybějící konfigurace bodů",invalid_parameters_number:"Každý bod musí mít 2 parametry"}},rooms:{id:{missing:"Chybějící identifikátor místnosti",invalid_format:"Neplatný identifikátor místnosti: {0}"},outline:{invalid_parameters_number:"Každý bod ohraničení místnosti musí mít 2 parametry"}},label:{x:{missing:'Popisek musí mít položku "x"'},y:{missing:'Popisek musí mít položku "y"'},text:{missing:'Popisek musí mít položku "text"'}},icon:{x:{missing:'Ikona musí mít položku "x"'},y:{missing:'Ikona musí mít položku "y"'},name:{missing:'Ikona musí mít položku "name"'}}},service_call_schema:{missing:"Chybějící formát volání služby",service:{missing:'Formát volání služby musí obsahovat položku "service"',invalid:"Neplatná služba: {0}"}}}},invalid_entities:"Neplatné entity:",invalid_calibration:"Neplatná kalibrace, prosím zkontrolujte konfiguraci"},De={status:{label:"Stav",value:{starting:"Zapínání","charger disconnected":"Nabíječka odpojena",idle:"Nečinný","remote control active":"Dálkové ovládání aktivní",cleaning:"Uklízení","returning home":"Návrat do základny","manual mode":"Manuální režim",charging:"Nabíjení","charging problem":"Problém s nabíjením",paused:"Pozastaven","spot cleaning":"Uklízení bodu",error:"Chyba","shutting down":"Vypínání",updating:"Probíhá aktualizace",docking:"Parkování","going to target":"Přesun na bod","zoned cleaning":"Uklízení oblasti","segment cleaning":"Uklízení místnosti","emptying the bin":"Vyprazdňování zásobníku","charging complete":"Nabíjení dokončeno","device offline":"Zařízení je nedostupné"}},battery_level:{label:"Baterie"},fan_speed:{label:"Stupeň vysávání",value:{silent:"Tichý",standard:"Standardní",medium:"Střední",turbo:"Turbo",auto:"Automatický",gentle:"Slabý"}},sensor_dirty_left:{label:"Čistota senzorů"},filter_left:{label:"Životnost filtru"},main_brush_left:{label:"Životnost hlavního kartáče"},side_brush_left:{label:"Životnost bočních kartáčů"},cleaning_count:{label:"Počet úklidů"},cleaned_area:{label:"Uklizená plocha"},cleaning_time:{label:"Doba uklízení"},mop_left:{label:"Životnost mopu"}},Ve={vacuum_start:"Zahájit úklid",vacuum_pause:"Pozastavit úklid",vacuum_stop:"Ukončit úklid",vacuum_return_to_base:"Návrat do základny",vacuum_clean_spot:"Uklidit bod",vacuum_locate:"Najít",vacuum_set_fan_speed:"Nastavit stupeň vysávání"},Fe={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},Ue={success:"Volání služby bylo úspěšné",no_selection:"Nebyl proveden žádný výběr",failed:"Volání služby selhalo"},qe={description:{before_link:"Tento editor podporuje pouze základní konfiguraci s použitím entity kamera vytvořené pomocí ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Pro pokročilá nastavení použijte editor kódu."},label:{name:"Titulek (volitelná položka)",entity:"Entita vysavače (povinná položka)",camera:"Entita kamery (povinná položka)",vacuum_platform:"Platforma vysavače (povinná položka)",map_locked:"Uzamčení mapy",two_finger_pan:"Posuv mapy dvěma prsty"}},He={common:je,map_mode:Le,validation:Ie,tile:De,icon:Ve,unit:Fe,popups:Ue,editor:qe},Ke=Object.freeze({__proto__:null,common:je,map_mode:Le,validation:Ie,tile:De,icon:Ve,unit:Fe,popups:Ue,editor:qe,default:He}),Xe={version:"Version",invalid_configuration:"Ugyldig konfiguration {0}",description:"Et kort som lader dig styre din robotstøvsuger",old_configuration:"Gammel opsætning fundet. Juster dine indstillinger til det seneste format, eller lav et nyt kort fra bunden.",old_configuration_migration_link:"Migrerings vejledning"},Ge={invalid:"Ugyldigt template!",vacuum_goto:"Klik & Gå",vacuum_goto_predefined:"Punkter",vacuum_clean_segment:"Rum",vacuum_clean_zone:"Zone rengøring",vacuum_clean_zone_predefined:"Zoner",vacuum_follow_path:"Sti"},Be={preset:{entity:{missing:"Mangler indstilling: entity"},preset_name:{missing:"Mangler indstilling: preset_name"},platform:{invalid:"Ugyldig støvsuger platform: {0}"},map_source:{missing:"Mangler indstilling: map_source",none_provided:"Intet kamera eller billede er angivet",ambiguous:"Kun en kort-kilde tilladt"},calibration_source:{missing:"Mangler indstilling: calibration_source",ambiguous:"Kun en kalibrerings-kilde tilladt",none_provided:"Ingen kalibrerings kilde angivet",calibration_points:{invalid_number:"Nøjagtigt 3 eller 4 kalibreringspunkter påkrævet",missing_map:"Alle kalibreringspunkter skal indeholde kort koordinater",missing_vacuum:"Alle kalibreringspunkter skal indeholde støvsuger koordinater",missing_coordinate:"Kort og støvsugers kalibreringspunkter skal indeholde både x og y koordinater"}},icons:{invalid:"Fejl i konfiguration: icons",icon:{missing:"Alle punkter i icons listen skal indeholde icon egenskaben"}},tiles:{invalid:"Fejl i konfiguration: tiles",entity:{missing_outdated_translation:"Alle punkter i tiles listen skal indehold entity egenskaben"},label:{missing:"Alle punkter i tiles listen skal indehold label egenskaben"}},map_modes:{invalid:"Fejl i konfiguration: map_modes",icon:{missing:"Ikon mangler"},name:{missing:"Navn mangler"},template:{invalid:"Ugyldigt template: {0}"},predefined_selections:{not_applicable:"Mode {0} understøtter ikke predefinerede valg",zones:{missing:"Zone konfiguration mangler",invalid_parameters_number:"En zone skal indeholde 4 parametre."},points:{position:{missing:"Punkt konfiguration mangler",invalid_parameters_number:"Et punkt skal indeholde 2 parametre"}},rooms:{id:{missing:"Rummets id mangler",invalid_format:"Ugyldigt rum id: {0}"},outline:{invalid_parameters_number:"Et punkt i rummets kant skal indeholde 2 parametre"}},label:{x:{missing:"Label skal indeholde egenskaben x"},y:{missing:"Label skal indeholde egenskaben y"},text:{missing:"Label skal indeholde egenskaben text"}},icon:{x:{missing:"Icon skal indeholde egenskaben x"},y:{missing:"Icon skal indeholde egenskaben y"},name:{missing:"Icon skal indeholde egenskaben name"}}},service_call_schema:{missing:"Service-kald indstillingerne mangler",service:{missing:"Service-kald indstillinger skal indeholde en service",invalid:"Ugyldig service: {0}"}}}},invalid_entities:"Ugyldige entiteter:",invalid_calibration:"Ugyldig kalibrering, du bedes gennemgå din konfiguration"},Ze={status:{label:"Status",value:{starting:"Starter","charger disconnected":"Oplader koblet fra",idle:"Ledig","remote control active":"Fjernstyring aktivt",cleaning:"Rengører","returning home":"Vender hjem","manual mode":"Manuel tilstand",charging:"Oplader","charging problem":"Opladnings-problem",paused:"Sat på pause","spot cleaning":"Spot rengøring",error:"Fejl","shutting down":"Slukker",updating:"Opdaterer",docking:"Docker","going to target":"Går til mål","zoned cleaning":"Zone rengøring","segment cleaning":"Segment rengøring","emptying the bin":"Tømmes","charging complete":"Fuldt opladt","device offline":"Enhed offline"}},battery_level:{label:"Batteri"},fan_speed:{label:"Hastighed",value:{silent:"Stille",standard:"Standard",medium:"Medium",turbo:"Turbo",auto:"Auto",gentle:"Mild"}},sensor_dirty_left:{label:"Sensor vedl."},filter_left:{label:"Filter vedl."},main_brush_left:{label:"Hovedbørste vedl."},side_brush_left:{label:"Sidebørste vedl."},cleaning_count:{label:"Rengøringstæller"},cleaned_area:{label:"Rengjort areal"},cleaning_time:{label:"Rengørings tid"}},Ye={vacuum_start:"Start",vacuum_pause:"Pause",vacuum_stop:"Stop",vacuum_return_to_base:"Returner",vacuum_clean_spot:"Spotrengør",vacuum_locate:"Find",vacuum_set_fan_speed:"Skift hastighed"},Je={hour_shortcut:"t",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},We={success:"Succes!",no_selection:"Intet valg angivet",failed:"Service-kald fejlede"},Qe={description:{before_link:"Den visuelle editor understøtter kun kun en konfiguration med en kamera entitet lavet med ",link_text:"Xiaomi Cloud Map Extractor",after_link:". For en mere advanceret konfiguration, brug YAML mode."},label:{name:"Titel (valgfrit)",entity:"Støvsuger entitet (påkrævet)",camera:"Kamera entitet (påkrævet)",vacuum_platform:"Støvsuger platform (påkrævet)",map_locked:"Kort låst (valgfrit)",two_finger_pan:"To-finger panorering (valgfrit)"}},et={common:Xe,map_mode:Ge,validation:Be,tile:Ze,icon:Ye,unit:Je,popups:We,editor:Qe},tt=Object.freeze({__proto__:null,common:Xe,map_mode:Ge,validation:Be,tile:Ze,icon:Ye,unit:Je,popups:We,editor:Qe,default:et}),it={version:"Version",invalid_configuration:"Ungültige Konfiguration {0}",description:"Eine Karte, mit der Sie Ihren Staubsauger kontrollieren können.",old_configuration:"Es wurde eine alte Konfiguration erkannt. Passen Sie Ihre Konfiguration an das neueste Schema an oder erstellen Sie eine neue Karte von Grund auf.",old_configuration_migration_link:"Migrationsanleitung"},at={invalid:"Ungültige Vorlage!",vacuum_goto:"Pin & Go",vacuum_goto_predefined:"Punkte",vacuum_clean_segment:"Räume",vacuum_clean_point:"Reinige Punkte",vacuum_clean_point_predefined:"Punkte",vacuum_clean_zone:"Zone reinigen",vacuum_clean_zone_predefined:"Zonenliste",vacuum_follow_path:"Pfad"},nt={preset:{entity:{missing:"Fehlende Eigenschaft: entity"},preset_name:{missing:"Fehlende Eigenschaft: preset_name,"},platform:{invalid:"Ungültige Staubsauger-Plattform: {0}"},map_source:{missing:"Fehlende Eigenschaft: map_source",none_provided:"Keine Kamera und kein Bild vorhanden",ambiguous:"Nur eine Kartenquelle erlaubt"},calibration_source:{missing:"Fehlende Eigenschaft: calibration_source",ambiguous:"Nur eine Kalibrierungsquelle erlaubt",none_provided:"Keine Kalibrierungsquelle vorhanden",calibration_points:{invalid_number:"Genau 3 oder 4 Kalibrierungspunkte erforderlich",missing_map:"Jeder Kalibrierungspunkt muss Kartenkoordinaten enthalten",missing_vacuum:"Jeder Kalibrierungspunkt muss Stabsauger-Koordinaten enthalten",missing_coordinate:"Karten- und Vakuumkalibrierungspunkte müssen sowohl x- als auch y-Koordinaten enthalten"}},icons:{invalid:"Fehler in der Konfiguration: icons",icon:{missing:"Jeder Eintrag der Icon-Liste muss die Ikoneneigenschaft"}},tiles:{invalid:"Fehler in der Konfiguration: tiles",entity:{missing_outdated_translation:"Jeder Eintrag der Kachel-Liste muss eine Entität enthalten"},label:{missing:"Jeder Eintrag der Kachel-Liste muss ein Label enthalten"}},map_modes:{invalid:"Fehler in der Konfiguration: map_modes",icon:{missing:"Fehlendes Symbol für den Kartenmodus"},name:{missing:"Fehlender Name für den Kartenmodus"},template:{invalid:"Ungültige Vorlage: {0}"},predefined_selections:{not_applicable:"Modus {0} unterstützt keine vordefinierte Auswahl",zones:{missing:"Fehlende Zonenkonfiguration",invalid_parameters_number:"Jede Zone muss 4 Parameter haben"},points:{position:{missing:"Konfiguration der fehlenden Punkte",invalid_parameters_number:"Jeder Punkt muss 2 Parameter haben"}},rooms:{id:{missing:"Fehlende Raum ID",invalid_format:"Ungültige Raum ID: {0}"},outline:{invalid_parameters_number:"Jeder Punkt des Raumes muss 2 Parameter haben."}},label:{x:{missing:"Das Label muss die Eigenschaft x haben"},y:{missing:"Das Label muss die Eigenschaft y haben"},text:{missing:"Das Label muss eine Text-Eigenschaft haben"}},icon:{x:{missing:"Das Icon muss die Eigenschaft x haben"},y:{missing:"Das Icon muss die Eigenschaft y haben"},name:{missing:"Das Icon muss eine Text-Eigenschaft haben"}}},service_call_schema:{missing:"Fehlendes Schema des Service-Aufrufs",service:{missing:"Schema des Service-Aufrufs muss Dienst enthalten",invalid:"Ungültiger Service: {0}"}}}},invalid_entities:"Ungültige Entitäten:",invalid_calibration:"Ungültige Kalibrierung, bitte überprüfen Sie Ihre Konfiguration"},ot={status:{label:"Status",value:{starting:"Starte","charger disconnected":"Ladegerät getrennt",idle:"Inaktiv","remote control active":"Fernsteuerung aktiv",cleaning:"Säubern","returning home":"Kehre zur Ladestation zurück","manual mode":"Manueller Modus",charging:"Lade","charging problem":"Lade-Problem",paused:"Pause","spot cleaning":"Spot-Reinigung",error:"Fehler","shutting down":"Herunterfahren",updating:"Aktualisiere",docking:"Andocken","going to target":"Fahre zum Ziel","zoned cleaning":"Zonen-Reinigung","segment cleaning":"Segment-Reinigung","emptying the bin":"Leere den Staubbehälter","charging complete":"Ladung vollständig","device offline":"Gerät offline"}},battery_level:{label:"Batterie"},fan_speed:{label:"Lüftergeschwindigkeit",value:{silent:"Leise",standard:"Standard",medium:"Medium",turbo:"Turbo",auto:"Auto",gentle:"Sanft"}},sensor_dirty_left:{label:"Sensoren verbleibend"},filter_left:{label:"Filter verbleibend"},main_brush_left:{label:"Hauptbürste verbleibend"},side_brush_left:{label:"Seitenbürste verbleibend"},cleaning_count:{label:"Anzahl der Reinigungen"},cleaned_area:{label:"Gereinigte Fläche"},cleaning_time:{label:"Zeit der Reinigung"}},rt={vacuum_start:"Start",vacuum_pause:"Pause",vacuum_stop:"Stop",vacuum_return_to_base:"Rückkehr zur Basis",vacuum_clean_spot:"Reinige Stelle",vacuum_locate:"Finden",vacuum_set_fan_speed:"Lüftergeschwindigkeit ändern"},st={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},lt={success:"Erfolg!",no_selection:"Keine Auswahl vorgesehen",failed:"Der Dienst konnte nicht aufgerufen werden"},ct={description:{before_link:"Dieser visuelle Editor unterstützt nur eine einfache Konfiguration mit einer Kameraeinheit, die mit ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Für erweiterte Einstellungen verwenden Sie den YAML-Modus."},label:{name:"Titel (optional)",entity:"Staubsauger Entität (required)",camera:"Kamera Entität (required)",vacuum_platform:"Staubsauger-Plattform (required)",map_locked:"Karte gesperrt (optional)",two_finger_pan:"Zwei-Finger-Pan (optional)"}},dt={common:it,map_mode:at,validation:nt,tile:ot,icon:rt,unit:st,popups:lt,editor:ct},ut=Object.freeze({__proto__:null,common:it,map_mode:at,validation:nt,tile:ot,icon:rt,unit:st,popups:lt,editor:ct,default:dt}),mt={version:"Έκδοση",invalid_configuration:"Μη αποδεκτές ρυθμίσεις {0}",description:"Μία κάρτα που σας επιτρέπει να ελέγξετε την σκούπα σας",old_configuration:"Ανιχνεύθυκαν παλιές ρυθμίσεις. Προσαρμόστε τις ρυθμίσεις σας στο πιο πρόσφατο μοντέλο ή δημιουργήστε μια νέα κάρτα από την αρχή.",old_configuration_migration_link:"Οδηγός μετατροπής παλιών ρυθμίσεων"},pt={invalid:"Μη αποδεκτό πρότυπο!",vacuum_goto:"Πήγαινε Εδώ",vacuum_goto_predefined:"Σημεία",vacuum_clean_segment:"Δωμάτια",vacuum_clean_point:"Σκούπισμα σε σημείο",vacuum_clean_point_predefined:"Σημεία",vacuum_clean_zone:"Σκούπισμα σε ζώνη",vacuum_clean_zone_predefined:"Λίστα ζωνών καθαρισμού",vacuum_follow_path:"Διαδρομή"},_t={preset:{entity:{missing:"Λείπει η ιδιότητα: entity"},preset_name:{missing:"Λείπει η ιδιότητα: preset_name"},platform:{invalid:"Μη αποδεκτή πλατφόρμα σκούπας: {0}"},map_source:{missing:"Λείπει η ιδιότητα: map_source",none_provided:"Δεν ρυθμίστηκε ούτε κάμερα ούτε εικόνα",ambiguous:"Επιτρέπεται μόνο μία πηγή χάρτη"},calibration_source:{missing:"Λείπει η ιδιότητα: calibration_source",ambiguous:"Επιτρέπεται μόνο μία πηγή βαθμονόμησης",none_provided:"Δεν ρυθμίστηκε πηγή βαθμονόμησης",calibration_points:{invalid_number:"Απαιτούνται ακριβώς 3 ή 4 σημεία βαθμονόμησης",missing_map:"Κάθε σημείο βαθμονόμησης πρέπει να περιέχει συντεταγμένες του χάρτη",missing_vacuum:"Κάθε σημείο βαθμονόμησης πρέπει να περιέχει συντεταγμένες της σκούπας",missing_coordinate:"Τα σημεία βαθμονόμησης του χάρτη και της σκούπας πρέπει να περιέχουν συντεταγμένες x και y"}},icons:{invalid:"Λάθος στις ρυθμίσεις: icons",icon:{missing:"Κάθε εγγραφή icon πρέπει να περιέχει μια ιδιότητα icon"}},tiles:{invalid:"Λάθος στις ρυθμίσεις: tiles",entity:{missing_outdated_translation:"Κάθε εγγραφή tile πρέπει να περιέχει entity"},label:{missing:"Κάθε εγγραφή tile πρέπει να περιέχει label"}},map_modes:{invalid:"Λάθος στις ρυθμίσεις: map_modes",icon:{missing:"Λείπει το εικονίδιο του τρόπου λειτουργίας χάρτη"},name:{missing:"Λείπει το όνομα του τρόπου λειτουργίας χάρτη"},template:{invalid:"Μη αποδεκτό πρότυπο: {0}"},predefined_selections:{not_applicable:"Η λειτουργία {0} δεν υποστηρίζει προκαθορισμένες επιλογές",zones:{missing:"Λείπει η ρύθμιση ζωνών καθαρισμού",invalid_parameters_number:"Κάθε ζώνη καθαρισμού πρέπει να έχει 4 παραμέτρους"},points:{position:{missing:"Λείπει η ρύθμιση σημείων",invalid_parameters_number:"Each point must have 2 parameters"}},rooms:{id:{missing:"Λείπει το αναγνωριστικό του δωματίου",invalid_format:"Λάθος αναγνωριστικό δωματίου: {0}"},outline:{invalid_parameters_number:"Κάθε σημείο του περιγράμματος του δωματίου πρέπει να έχει 2 παραμέτρους"}},label:{x:{missing:"Η ταμπέλα πρέπει να έχει ιδιότητα x"},y:{missing:"Η ταμπέλα πρέπει να έχει ιδιότητα y"},text:{missing:"Η ταμπέλα πρέπει να έχει ιδιότητα κειμένου"}},icon:{x:{missing:"Το εικονίδιο πρέπει να έχει ιδιότητα x"},y:{missing:"Το εικονίδιο πρέπει να έχει ιδιότητα y"},name:{missing:"Το εικονίδιο πρέπει να έχει ιδιότητα ονόματος"}}},service_call_schema:{missing:"Λείπει το μοντέλο κλήσης υπηρεσίας",service:{missing:"Το μοντέλο κλήσης υπηρεσίας πρέπει να εμπεριέχει υπηρεσία",invalid:"Μη έγκυρη υπηρεσία: {0}"}}}},invalid_entities:"Λάθος οντότητες:",invalid_calibration:"Λάθος βαθμονόμηση, παρακαλώ ελέγξτε τις ρυθμίσεις σας"},vt={status:{label:"Κατάσταση",value:{starting:"Γίνεται εκκίνηση","charger disconnected":"Αποσυνδέθηκε από τη φόρτιση",idle:"Σε αδράνεια","remote control active":"Χειροκίνητος έλεγχος ενεργός",cleaning:"Γίνεται καθαρισμός","returning home":"Επιστροφή στη βάση","manual mode":"Χειροκίνητη λειτουργία",charging:"Σε φόρτιση","charging problem":"Πρόβλημα φόρτισης",paused:"Σε παύση","spot cleaning":"Καθαρισμός σημείου",error:"Σφάλμα","shutting down":"Γίνεται τερματισμός",updating:"Γίνεται αναβάθμιση",docking:"Σύνδεση στη βάση","going to target":"Πορεία προς προορισμό","zoned cleaning":"Καθαρισμός ζώνης","segment cleaning":"Καθαρισμός τμήματος","emptying the bin":"Άδειασμα κάδου","charging complete":"Φόρτιση πλήρης","device offline":"Συσκευή εκτός δικτύου"}},battery_level:{label:"Μπαταρία"},fan_speed:{label:"Ταχύτητα ανεμιστήρα",value:{silent:"Αθόρυβο",standard:"Τυπικό",medium:"Μέτριο",turbo:"Τούρμπο",auto:"Αυτόματο",gentle:"Ήπιο"}},sensor_dirty_left:{label:"Συντήρηση αισθητήρων"},filter_left:{label:"Συντήρηση φίλτρου"},main_brush_left:{label:"Συντήρηση κύριας βούρτσας"},side_brush_left:{label:"Συντήρηση πλαϊνής βούρτσας"},cleaning_count:{label:"Αριθμός σκουπισμάτων"},cleaned_area:{label:"Έκταση που καθαρίστηκε"},cleaning_time:{label:"Χρόνος καθαρισμού"},mop_left:{label:"Συντήρηση σφουγγαρίστρας"},bin_full:{label:"Κάδος γεμάτος",value:{true:"Ναι",false:"Όχι"}},bin_present:{label:"Κάδος παρών",value:{true:"Ναι",false:"Όχι"}}},gt={vacuum_start:"Έναρξη",vacuum_pause:"Παύση",vacuum_stop:"Διακοπή",vacuum_return_to_base:"Επιστροφή στη βάση",vacuum_clean_spot:"Καθαρισμός σημείου",vacuum_locate:"Εντοπισμός",vacuum_set_fan_speed:"Αλλαγή ταχύτητας ανεμιστήρα"},ht={hour_shortcut:"ω",meter_shortcut:"μ",meter_squared_shortcut:"τ.μ.",minute_shortcut:"λεπ"},ft={success:"Επιτυχία!",no_selection:"Δεν δόθηκε επιλογή",failed:"Αποτυχία κλήσης υπηρεσίας"},bt={description:{before_link:"Αυτό η οπτική διεπαφή επεξεργασίας υποστηρίζει μόνο βασικές ρυθμίσεις με μια οντότητα κάμερας που δημιουργήθηκε χρησιμοποιώντας ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Για πιο εξελιγμένες ρυθμίσεις χρησιμοποιήστε τη μέθοδο επεξεργασίας αρχείου YAML."},label:{name:"Τίτλος (προεραιτικό)",entity:"Οντότητα σκούπας (απαραίτητο)",camera:"Οντότητα κάμερας (απαραίτητο)",vacuum_platform:"Πλατφόρμα σκούπας (απαραίτητο)",map_locked:"Κλείδωμα χάρτη (προεραιτικό)",two_finger_pan:"Μετακίνηση με δύο δάχτυλα (προεραιτικό)",platforms_documentation:"Τεκμηρίωση της επιλεγμένης πλατφόρμας ({0})",selection:"Επιλογή:",copy:"Αντιγραφή",copied:"Αντιγράφηκε!",set_static_config:"Δημιουργία στατικών ρυθμίσεων",config_set:"Ρύθμιση παραμέτρων!\nΑνοίξτε τον επεξεργαστή παραμέτρων για να τον προσαρμόσετε.",config_set_failed:"Απέτυχε η ενημέρωση των ρυθμίσεων.",generate_rooms_config:"Δημιουργία παραμέτρων δωματίων",copy_service_call:"Αντιγραφή κλήσης υπηρεσίας"}},yt={common:mt,map_mode:pt,validation:_t,tile:vt,icon:gt,unit:ht,popups:ft,editor:bt},kt=Object.freeze({__proto__:null,common:mt,map_mode:pt,validation:_t,tile:vt,icon:gt,unit:ht,popups:ft,editor:bt,default:yt}),At={version:"Version",invalid_configuration:"Invalid configuration {0}",description:"A card that lets you control your vacuum using a map",old_configuration:"Old configuration detected. Adjust your config to the latest schema or create a new card from the scratch.",old_configuration_migration_link:"Migration guide"},xt={invalid:"Invalid template!",vacuum_goto:"Pin & Go",vacuum_goto_predefined:"Points",vacuum_clean_segment:"Rooms",vacuum_clean_point:"Clean point",vacuum_clean_point_predefined:"Points",vacuum_clean_zone:"Zone cleanup",vacuum_clean_zone_predefined:"Zones list",vacuum_follow_path:"Path"},Et={preset:{entity:{missing:"Missing property: entity"},preset_name:{missing:"Missing property: preset_name"},platform:{invalid:"Invalid vacuum platform: {0}"},map_source:{missing:"Missing property: map_source",none_provided:"No camera neither image provided",ambiguous:"Only one map source allowed"},calibration_source:{missing:"Missing property: calibration_source",ambiguous:"Only one calibration source allowed",none_provided:"No calibration source provided",calibration_points:{invalid_number:"Exactly 3 or 4 calibration points required",missing_map:"Each calibration point must contain map coordinates",missing_vacuum:"Each calibration point must contain vacuum coordinates",missing_coordinate:"Map and vacuum calibration points must contain both x and y coordinate"}},icons:{invalid:"Error in configuration: icons",icon:{missing:"Each entry of icons list must contain icon property"}},tiles:{invalid:"Error in configuration: tiles",entity:{missing:"Each entry of tiles list must contain entity or internal variable"},label:{missing:"Each entry of tiles list must contain label"}},map_modes:{invalid:"Error in configuration: map_modes",icon:{missing:"Missing icon of map mode"},name:{missing:"Missing name of map mode"},template:{invalid:"Invalid template: {0}"},predefined_selections:{not_applicable:"Mode {0} does not support predefined selections",zones:{missing:"Missing zones configuration",invalid_parameters_number:"Each zone must have 4 parameters"},points:{position:{missing:"Missing points configuration",invalid_parameters_number:"Each point must have 2 parameters"}},rooms:{id:{missing:"Missing room id",invalid_format:"Invalid room id: {0}"},outline:{invalid_parameters_number:"Each point of room outline must have 2 parameters"}},label:{x:{missing:"Label must have x property"},y:{missing:"Label must have y property"},text:{missing:"Label must have text property"}},icon:{x:{missing:"Icon must have x property"},y:{missing:"Icon must have y property"},name:{missing:"Icon must have name property"}}},service_call_schema:{missing:"Missing service call schema",service:{missing:"Service call schema must contain service",invalid:"Invalid service: {0}"}}}},invalid_entities:"Invalid entities:",invalid_calibration:"Invalid calibration, please check your configuration"},wt={status:{label:"Status",value:{starting:"Starting","charger disconnected":"Charger disconnected",idle:"Idle","remote control active":"Remote control active",cleaning:"Cleaning","returning home":"Returning home","manual mode":"Manual mode",charging:"Charging","charging problem":"Charging problem",paused:"Paused","spot cleaning":"Spot cleaning",error:"Error","shutting down":"Shutting down",updating:"Updating",docking:"Docking","going to target":"Going to target","zoned cleaning":"Zoned cleaning","segment cleaning":"Segment cleaning","emptying the bin":"Emptying the bin","charging complete":"Charging complete","device offline":"Device offline"}},battery_level:{label:"Battery"},fan_speed:{label:"Fan speed",value:{silent:"Silent",standard:"Standard",medium:"Medium",turbo:"Turbo",auto:"Auto",gentle:"Gentle"}},sensor_dirty_left:{label:"Sensors left"},filter_left:{label:"Filter left"},main_brush_left:{label:"Main brush left"},side_brush_left:{label:"Side brush left"},cleaning_count:{label:"Cleaning count"},cleaned_area:{label:"Cleaned area"},total_cleaned_area:{label:"Total cleaned area"},cleaning_time:{label:"Cleaning time"},total_cleaning_time:{label:"Total cleaning time"},mop_left:{label:"Mop left"},bin_full:{label:"Bin full",value:{true:"Yes",false:"No"}},bin_present:{label:"Bin present",value:{true:"Yes",false:"No"}},water_volume:{label:"Water volume"},mop_pad_humidity:{label:"Mop pad"}},zt={vacuum_start:"Start",vacuum_pause:"Pause",vacuum_stop:"Stop",vacuum_return_to_base:"Return to base",vacuum_clean_spot:"Clean spot",vacuum_locate:"Locate",vacuum_set_fan_speed:"Change fan speed"},Pt={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},Mt={success:"Success!",no_selection:"No selection provided",failed:"Failed to call service"},Tt={description:{before_link:"This visual editor supports only a basic configuration with a camera entity created using ",link_text:"Xiaomi Cloud Map Extractor",after_link:". For more advanced setup use YAML mode."},label:{name:"Title (optional)",entity:"Vacuum entity (required)",camera:"Camera entity (required)",vacuum_platform:"Vacuum platform (required)",map_locked:"Map locked (optional)",two_finger_pan:"Two finger pan (optional)",platforms_documentation:"Chosen platform's documentation ({0})",selection:"Selection:",copy:"Copy",copied:"Copied!",set_static_config:"Generate static config",config_set:"Config set!\nOpen config editor to adjust it.",config_set_failed:"Failed to update config.",generate_rooms_config:"Generate rooms config",copy_service_call:"Copy service call"},alerts:{set_static_config:"You should use this functionality only if you want to manually adjust automatically generated configuration.\nContinue?"}},St={common:At,map_mode:xt,validation:Et,tile:wt,icon:zt,unit:Pt,popups:Mt,editor:Tt},Ct=Object.freeze({__proto__:null,common:At,map_mode:xt,validation:Et,tile:wt,icon:zt,unit:Pt,popups:Mt,editor:Tt,default:St}),Ot={version:"Versión",invalid_configuration:"Configuración no válida {0}",description:"Una tarjeta que te permite controlar la aspiradora",old_configuration:"Se ha detectado una configuración antigua. Ajusta tu configuración al último esquema o crea una nueva tarjeta desde cero.",old_configuration_migration_link:"Guía de migrado."},Nt={invalid:"Plantilla no válida!",vacuum_goto:"Marcar e ir",vacuum_goto_predefined:"Puntos",vacuum_clean_segment:"Habitaciones",vacuum_clean_point:"Limpiar punto",vacuum_clean_point_predefined:"Puntos",vacuum_clean_zone:"Limpiar zona",vacuum_clean_zone_predefined:"Lista de zonas",vacuum_follow_path:"Ruta"},Rt={preset:{entity:{missing:"Propiedad no encontrada: entity"},preset_name:{missing:"Propiedad no encontrada: preset_name"},platform:{invalid:"Plataforma de aspiradora no válida: {0}"},map_source:{missing:"Propiedad no encontrada: map_source",none_provided:"Sin cámara ni imagen proporcionada",ambiguous:"Solo se permite una fuente de mapa"},calibration_source:{missing:"Propiedad no encontrada: calibration_source",ambiguous:"Sólo se permite una fuente de calibración",none_provided:"No se proporciona fuente de calibración",calibration_points:{invalid_number:"Se requieren 3 o 4 puntos de calibración",missing_map:"Cada punto de calibración debe contener las coordenadas del mapa",missing_vacuum:"Cada punto de calibración debe contener las coordenadas de la aspiradora",missing_coordinate:"Los puntos de calibración de la aspiradora y del mapa deben contener las coordenadas x e y"}},icons:{invalid:"Error en la configuración: icons",icon:{missing:"Cada entrada de la lista de iconos debe contener la propiedad del icono."}},tiles:{invalid:"Error en la configuración: tiles",entity:{missing_outdated_translation:"Cada entrada de la lista de mosaicos debe contener la entidad."},label:{missing:"Cada entrada de la lista de mosaicos debe contener una etiqueta."}},map_modes:{invalid:"Error en la configuración: map_modes",icon:{missing:"Falta el icono del modo de mapa"},name:{missing:"Falta el nombre del modo de mapa"},template:{invalid:"Plantilla no válida: {0}"},predefined_selections:{not_applicable:"El modo {0} no admite selecciones predefinidas",zones:{missing:"Faltan configuraciones de zonas",invalid_parameters_number:"Cada zona debe tener 4 parámetros"},points:{position:{missing:"Faltan configuraciones de puntos",invalid_parameters_number:"Cada punto debe tener 2 parámetros"}},rooms:{id:{missing:"Falta la identificación de la habitación",invalid_format:"Identificación de la habitación no válida: {0}"},outline:{invalid_parameters_number:"Cada punto del contorno de la habitación debe tener 2 parámetros"}},label:{x:{missing:"La etiqueta debe tener la propiedad x"},y:{missing:"La etiqueta debe tener la propiedad y"},text:{missing:"La etiqueta debe tener la propiedad text"}},icon:{x:{missing:"El ícono debe tener la propiedad x"},y:{missing:"El ícono debe tener la propiedad y"},name:{missing:"El ícono debe tener la propiedad name"}}},service_call_schema:{missing:"Falta un esquema de llamada de servicio",service:{missing:"El esquema de llamada de servicio debe contener service",invalid:"Servicio no válido: {0}"}}}},invalid_entities:"Entidades no válidas:",invalid_calibration:"Calibración no válida, verifica la configuración."},$t={status:{label:"Estado",value:{starting:"Iniciando","charger disconnected":"Cargador desconectado",idle:"Inactivo","remote control active":"Control remoto activo",cleaning:"Limpiando","returning home":"Volviendo a la base","manual mode":"Modo manual",charging:"Cargando","charging problem":"Error de carga",paused:"Pausado","spot cleaning":"Limpieza por puntos",error:"Error","shutting down":"Apagando",updating:"Actualizando",docking:"Acoplamiento","going to target":"Ir al objetivo","zoned cleaning":"Limpieza por zonas","segment cleaning":"Limpieza por segmentos","emptying the bin":"Vaciando el depósito","charging complete":"Carga completa","device offline":"Dispositivo desconectado"}},battery_level:{label:"Batería"},fan_speed:{label:"Velocidad del ventilador",value:{silent:"Silencioso",standard:"Normal",medium:"Medio",turbo:"Turbo",auto:"Automático",gentle:"Suave"}},sensor_dirty_left:{label:"Sensores"},filter_left:{label:"Filtro"},main_brush_left:{label:"Cepillo"},side_brush_left:{label:"Cepillo lateral"},cleaning_count:{label:"Contador de limpieza"},cleaned_area:{label:"Área limpiada"},cleaning_time:{label:"Tiempo de limpieza"},mop_left:{label:"Mopa"}},jt={vacuum_start:"Iniciar",vacuum_pause:"Pausar",vacuum_stop:"Detener",vacuum_return_to_base:"Volver a la base",vacuum_clean_spot:"Limpiar punto",vacuum_locate:"Localizar",vacuum_set_fan_speed:"Cambiar la velocidad del ventilador"},Lt={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},It={success:"¡Listo!",no_selection:"No se ha proporcionado ninguna selección",failed:"No se pudo llamar al servicio"},Dt={description:{before_link:"Este editor visual sólo admite una configuración básica con una entidad de cámara creada utilizando ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Para una configuración más avanzada, utiliza el modo YAML."},label:{name:"Título (opcional)",entity:"Entidad de la aspiradora (requerido)",camera:"Entidad de la cámara (requerido)",vacuum_platform:"Plataforma de la aspiradora (requerido)",map_locked:"Bloquear mapa (opcional)",two_finger_pan:"Mover con dos dedos (opcional)"}},Vt={common:Ot,map_mode:Nt,validation:Rt,tile:$t,icon:jt,unit:Lt,popups:It,editor:Dt},Ft=Object.freeze({__proto__:null,common:Ot,map_mode:Nt,validation:Rt,tile:$t,icon:jt,unit:Lt,popups:It,editor:Dt,default:Vt}),Ut={version:"Versio",invalid_configuration:"Virheellinen määritys {0}",description:"Kortti, jolla voit hallita imuriasi",old_configuration:"Vanha rakenne havaittu. Muokkaa rakenne viimeisimmän skeeman mukaiseksi tai luo uusi kortti.",old_configuration_migration_link:"Migraatio-ohje"},qt={invalid:"Virheellinen malli!",vacuum_goto:"Pin & Go",vacuum_goto_predefined:"Pisteet",vacuum_clean_segment:"Huoneet",vacuum_clean_point:"Puhdista piste",vacuum_clean_point_predefined:"Pisteet",vacuum_clean_zone:"Aluepuhdistus",vacuum_clean_zone_predefined:"Alueet",vacuum_follow_path:"Reitti"},Ht={preset:{entity:{missing:"Puuttuva ominaisuus: entity"},preset_name:{missing:"Puuttuva ominaisuus: preset_name"},platform:{invalid:"Virheellinen imurin alusta: {0}"},map_source:{missing:"Puuttuva ominaisuus: map_source",none_provided:"Ei kameraa eikä kuvaa",ambiguous:"Vain yksi karttalähde sallittu"},calibration_source:{missing:"Puuttuva ominaisuus: calibration_source",ambiguous:"Vain yksi kalibrointilähde on sallittu",none_provided:"Kalibrointilähde puuttuu",calibration_points:{invalid_number:"Tarvitaan täsmälleen 3 tai 4 kalibrointipistettä",missing_map:"Jokaisen kalibrointipisteen tulee sisältää karttakoordinaatit",missing_vacuum:"Jokaisen kalibrointipisteen tulee sisältää imurikoordinaatit",missing_coordinate:"Kartta- ja imurikalibrointipisteiden tulee sisältää sekä x- että y-koordinaatit"}},icons:{invalid:"Virhe määrityksessä: icons",icon:{missing:"Jokaisen kuvakeluettelon merkinnän tulee sisältää kuvakeominaisuus"}},tiles:{invalid:"Virhe määrityksessä: tiles",entity:{missing:"Jokaisen ruutuluettelon merkinnän on sisällettävä entiteetti tai sisäinen muuttuja"},label:{missing:"Jokaisen ruutuluettelon merkinnän on sisällettävä tunniste"}},map_modes:{invalid:"Virhe määrityksessä: map_modes",icon:{missing:"Karttatilan kuvake puuttuu"},name:{missing:"Karttatilan nimi puuttuu"},template:{invalid:"Virheellinen malli: {0}"},predefined_selections:{not_applicable:"Tila {0} ei tue ennalta määritettyjä valintoja",zones:{missing:"Alueiden määritys puuttuu",invalid_parameters_number:"Jokaisella alueella on oltava 4 parametria"},points:{position:{missing:"Pisteiden määritys puuttuu",invalid_parameters_number:"Jokaisella pisteellä on oltava 2 parametria"}},rooms:{id:{missing:"Huoneen id puuttuu",invalid_format:"Virheellinen huoneen id: {0}"},outline:{invalid_parameters_number:"Jokaisella huoneen ääriviivan pisteellä on oltava 2 parametria"}},label:{x:{missing:"Tunnisteella on oltava x-ominaisuus"},y:{missing:"Tunnisteella on oltava y-ominaisuus"},text:{missing:"Tunnisteella on oltava tekstiominaisuus"}},icon:{x:{missing:"Kuvakkeella on oltava x-ominaisuus"},y:{missing:"Kuvakkeella on oltava y-ominaisuus"},name:{missing:"Kuvakkeella on oltava nimiominaisuus"}}},service_call_schema:{missing:"Puuttuva palvelukutsuskeema",service:{missing:"Palvelukutsuskeeman tulee sisältää palvelu",invalid:"Virheellinen palvelu: {0}"}}}},invalid_entities:"Virheelliset entiteetit:",invalid_calibration:"Virheellinen kalibrointi, tarkista asetukset"},Kt={status:{label:"Tila",value:{starting:"Käynnistetään","charger disconnected":"Laturi irroitettu",idle:"Lepotila","remote control active":"Kaukosäädin aktiivinen",cleaning:"Puhdistetaan","returning home":"Palataan telakkaan","manual mode":"Manuaalinen tila",charging:"Ladataan","charging problem":"Latausvirhe",paused:"Tauotettu","spot cleaning":"Kohdan puhdistus",error:"Virhe","shutting down":"Sammutetaan",updating:"Päivitetään",docking:"Telakoidutaan","going to target":"Mennään kohteeseen","zoned cleaning":"Aluepuhdistus","segment cleaning":"Segmentin puhdistus","emptying the bin":"Tyhjennetään säiliötä","charging complete":"Lataus valmis","device offline":"Laite poissa päältä"}},battery_level:{label:"Akku"},fan_speed:{label:"Tuulettimen nopeus",value:{silent:"Hiljainen",standard:"Vakio",medium:"Keskinopeus",turbo:"Turbo",auto:"Auto",gentle:"Kevyt"}},sensor_dirty_left:{label:"Anturit jäljellä"},filter_left:{label:"Suodatin jäljellä"},main_brush_left:{label:"Pääharja jäljellä"},side_brush_left:{label:"Sivuharja jäljellä"},cleaning_count:{label:"Puhdistusmäärä"},cleaned_area:{label:"Puhdistettu alue"},total_cleaned_area:{label:"Puhdistettu alue yhteensä"},cleaning_time:{label:"Puhdistusaika"},total_cleaning_time:{label:"Kokonaispuhdistusaika"},mop_left:{label:"Moppi jäljellä"},bin_full:{label:"Säiliö täynnä",value:{true:"Kyllä",false:"Ei"}},bin_present:{label:"Säiliö löytyy",value:{true:"Kyllä",false:"Ei"}},water_volume:{label:"Veden määrä"},mop_pad_humidity:{label:"Moppi tyyny"}},Xt={vacuum_start:"Käynnistä",vacuum_pause:"Tauko",vacuum_stop:"Pysäytä",vacuum_return_to_base:"Palaa telakkaan",vacuum_clean_spot:"Siivoa kohta",vacuum_locate:"Paikanna",vacuum_set_fan_speed:"Vaihda tuulettimen nopeutta"},Gt={hour_shortcut:"t",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},Bt={success:"Onnistui!",no_selection:"Valintoja ei annettu",failed:"Virhe kutsuessa palvelua"},Zt={description:{before_link:"Visuaalinen editori tukee vain peruskokoonpanoa, jossa kamerakokonaisuus on luotu käyttämällä ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Käytä YAML-tilaa edistyneempään asennukseen."},label:{name:"Otsikko (valinnainen)",entity:"Imuri entiteetti (vaadittu)",camera:"Kamera entiteetti (vaadittu)",vacuum_platform:"Imurin alusta (vaadittu)",map_locked:"Kartta lukittu (valinnainen)",two_finger_pan:"Liikuta karttaa kahdella sormella (valinnainen)",platforms_documentation:"Valitun alustan dokumentaatio ({0})",selection:"Valinta:",copy:"Kopioi",copied:"Kopioitu!",set_static_config:"Luo staattiset asetukset",config_set:"Määritykset asetettu!\nMuokkaa sitä avaamalla asetuseditori.",config_set_failed:"Konfiguroinnin päivitys epäonnistui.",generate_rooms_config:"Luo huoneiden asetukset",copy_service_call:"Kopioi palvelukutsu"},alerts:{set_static_config:"Käytä tätä toimintoa vain, jos haluat säätää automaattisesti luotuja määrityksiä manuaalisesti.\nJatketaanko?"}},Yt={common:Ut,map_mode:qt,validation:Ht,tile:Kt,icon:Xt,unit:Gt,popups:Bt,editor:Zt},Jt=Object.freeze({__proto__:null,common:Ut,map_mode:qt,validation:Ht,tile:Kt,icon:Xt,unit:Gt,popups:Bt,editor:Zt,default:Yt}),Wt={version:"Version",invalid_configuration:"Configuration invalide {0}",description:"Une carte qui vous permet de contrôler votre robot aspirateur",old_configuration:"Ancienne configuration détectée. Ajustez votre configuration à la nouvelle version ou récréez totalement une nouvelle carte.",old_configuration_migration_link:"Guide de migration"},Qt={invalid:"Template incorrect !",vacuum_goto:"Cible",vacuum_goto_predefined:"Points",vacuum_clean_segment:"Pièces",vacuum_clean_point:"Nettoyage ciblé",vacuum_clean_point_predefined:"Points",vacuum_clean_zone:"Nettoyage de zone",vacuum_clean_zone_predefined:"Liste des zones",vacuum_follow_path:"Chemin"},ei={preset:{entity:{missing:"Paramètre manquant : entity"},preset_name:{missing:"Paramètre manquant : preset_name"},platform:{invalid:"Plateforme incorrecte : {0}"},map_source:{missing:"Paramètre manquant : map_source",none_provided:"Aucune caméra ou image fournie",ambiguous:"Une seule source de carte autorisée"},calibration_source:{missing:"Paramètre manquant : calibration_source",ambiguous:"Une seule source de calibration autorisée",none_provided:"Aucune source de calibration fournie",calibration_points:{invalid_number:"3 ou 4 points de calibration sont nécessaires",missing_map:"Chaque point de calibration doit avoir des coordonnées de carte",missing_vacuum:"Chaque point de calibration doit avoir des coordonnées de robot",missing_coordinate:"Tous les points de calibration doivent avoir des coordonnées x et y"}},icons:{invalid:"Erreur de configuration : icônes",icon:{missing:"Chaque élément de la liste d'icônes doit avoir une propriété « icon »"}},tiles:{invalid:"Erreur de configuration : tuiles",entity:{missing_outdated_translation:"Chaque élément de la liste de tuiles doit avoir une propriété « entity »"},label:{missing:"Chaque élément de la liste de tuiles doit avoir une propriété « label »"}},map_modes:{invalid:"Erreur de configuration : modes de carte",icon:{missing:"Icône de mode de carte manquante"},name:{missing:"Nom de mode de carte manquant"},template:{invalid:"Template incorrect : {0}"},predefined_selections:{not_applicable:"Ce mode {0} ne supporte pas les sélections prédéfinies",zones:{missing:"Configuration des zones manquante",invalid_parameters_number:"Chaque zone doit avoir 4 paramètres"},points:{position:{missing:"Configuration des points manquante",invalid_parameters_number:"Chaque point doit avoir 2 paramètres"}},rooms:{id:{missing:"id de pièce manquant",invalid_format:"id de pièce incorrect : {0}"},outline:{invalid_parameters_number:"Chaque point de contour de pièce doit avoir 2 paramètres"}},label:{x:{missing:"L'étiquette doit avoir une propriété « x »"},y:{missing:"L'étiquette doit avoir une propriété « y »"},text:{missing:"L'étiquette doit avoir une propriété « text »"}},icon:{x:{missing:"L'icône doit avoir une propriété x property"},y:{missing:"L'icône doit avoir une propriété y property"},name:{missing:"L'icône doit avoir une propriété « name »"}}},service_call_schema:{missing:"Schema d'appel du service manquant",service:{missing:"Le schema doit contenir un service",invalid:"Service incorrect : {0}"}}}},invalid_entities:"Entités incorrectes :",invalid_calibration:"Calibration incorrecte, vérifiez votre configuration"},ti={status:{label:"Statut",value:{starting:"Démarrage...","charger disconnected":"Chargeur déconnecté",idle:"Inactif","remote control active":"Télécommande active",cleaning:"Nettoyage","returning home":"Retour à la station","manual mode":"Mode manuel",charging:"En charge","charging problem":"Problème de chargement",paused:"En pause","spot cleaning":"Nettoyage ciblé",error:"Erreur","shutting down":"Arrêt en cours...",updating:"Mise à jour",docking:"Retour à la station","going to target":"En route vers la cible","zoned cleaning":"Nettoyage de zone","segment cleaning":"Nettoyage de pièce","emptying the bin":"Vidage du réservoir","charging complete":"Chargement terminé","device offline":"Hors ligne"}},battery_level:{label:"Batterie"},fan_speed:{label:"Puissance",value:{silent:"Silencieux",standard:"Standard",medium:"Moyen",turbo:"Turbo",auto:"Auto",gentle:"Calme"}},sensor_dirty_left:{label:"Capteurs"},filter_left:{label:"Filtre"},main_brush_left:{label:"Brosse principale"},side_brush_left:{label:"Brosse latérale"},cleaning_count:{label:"Nombre de nettoyages"},cleaned_area:{label:"Surface nettoyée"},cleaning_time:{label:"Durée de nettoyage"},mop_left:{label:"Serpillère"}},ii={vacuum_start:"Démarrage",vacuum_pause:"Pause",vacuum_stop:"Stop",vacuum_return_to_base:"Retour à la station",vacuum_clean_spot:"Nettoyage ciblé",vacuum_locate:"Localiser",vacuum_set_fan_speed:"Changer la puissance"},ai={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},ni={success:"Réussi !",no_selection:"Sélection non fournie",failed:"L'appel au service a échoué"},oi={description:{before_link:"Cet éditeur visuel ne permet qu'une configuration de base avec une entité caméra créée avec ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Pour un paramétrage plus avancé, utilisez le mode YAML."},label:{name:"Titre (optionnel)",entity:"Entité de l'aspirateur (obligatoire)",camera:"Entité de la caméra (obligatoire)",vacuum_platform:"Plateforme (obligatoire)",map_locked:"Carte verrouillée (optionnel)",two_finger_pan:"Déplacement à deux doigts (optionnel)"}},ri={common:Wt,map_mode:Qt,validation:ei,tile:ti,icon:ii,unit:ai,popups:ni,editor:oi},si=Object.freeze({__proto__:null,common:Wt,map_mode:Qt,validation:ei,tile:ti,icon:ii,unit:ai,popups:ni,editor:oi,default:ri}),li={version:"גירסה",invalid_configuration:"תצורה לא חוקית {0}",description:"כרטיס המאפשר לך לשלוט בשואב שלך",old_configuration:"זוהתה תצורה ישנה. יש להתאים את התצורה שלך לסכמה העדכנית ביותר או ליצור כרטיס חדש מההתחלה.",old_configuration_migration_link:"מדריך להגירה"},ci={invalid:"תבנית לא חוקית!",vacuum_goto:"נעץ וסע",vacuum_goto_predefined:"נקודות",vacuum_clean_segment:"חדרים",vacuum_clean_point:"נקה נקודה",vacuum_clean_point_predefined:"נקודות",vacuum_clean_zone:"ניקוי אזור",vacuum_clean_zone_predefined:"רשימת אזורים",vacuum_follow_path:"נתיב"},di={preset:{entity:{missing:"נכס חסר: ישות"},preset_name:{missing:"חסר מאפיין: preset_name"},platform:{invalid:"פלטפורמת שואב לא חוקית: {0}"},map_source:{missing:"נכס חסר: map_source",none_provided:"לא סופקה אף תמונה",ambiguous:"ניתן להשתמש במקור מפה אחד בלבד"},calibration_source:{missing:"חסר מאפיין: calibration_source",ambiguous:"מותר רק מקור כיול אחד",none_provided:"לא סופק מקור כיול",calibration_points:{invalid_number:"דרושות בדיוק 3 או 4 נקודות כיול",missing_map:"כל נקודת כיול חייבת להכיל קואורדינטות מפה",missing_vacuum:"כל נקודת כיול חייבת להכיל קואורדינטות שואב",missing_coordinate:"נקודות כיול במפה ובשואב חייבות להכיל גם קואורדינטות x וגם y"}},icons:{invalid:"שגיאה בתצורה: סמלילים",icon:{missing:"כל כניסה של רשימת הסמלילים חייבת להכיל מאפיין סמליל"}},tiles:{invalid:"שגיאה בתצורה: אריחים",entity:{missing:"כל ערך של רשימת אריחים חייב להכיל ישות"},label:{missing:"כל כניסה של רשימת אריחים חייבת להכיל תווית"}},map_modes:{invalid:"שגיאה בתצורה: map_modes",icon:{missing:"חסר סמליל של מצב מפה"},name:{missing:"חסר שם של מצב מפה"},template:{invalid:"תבנית לא חוקית: {0}"},predefined_selections:{not_applicable:"מצב {0} אינו תומך בבחירות מוגדרות מראש",zones:{missing:"תצורת אזורים חסרים",invalid_parameters_number:"כל אזור חייב לכלול 4 פרמטרים"},points:{position:{missing:"תצורת נקודות חסרות",invalid_parameters_number:"לכל נקודה חייבת להיות 2 פרמטרים"}},rooms:{id:{missing:"מזהה חדר חסר",invalid_format:"מזהה חדר לא חוקי: {0}"},outline:{invalid_parameters_number:"כל נקודה של מתאר החדר חייבת להיות בעלת 2 פרמטרים"}},label:{x:{missing:"חייב להיות מאפיין x לתבנית"},y:{missing:"חייב להיות מאפיין y לתבנית"},text:{missing:"חייב להיות מאפיין שם לתבנית"}},icon:{x:{missing:"חייב להיות מאפיין x לסמליל"},y:{missing:"חייב להיות מאפיין y לסמליל"},name:{missing:"חייב להיות מאפיין שם לסמליל"}}},service_call_schema:{missing:"סכימת קריאת שירות חסרה",service:{missing:"סכימת קריאת השירות חייבת להכיל שירות",invalid:"שירות לא חוקי: {0}"}}}},invalid_entities:"ישויות לא חוקיות:",invalid_calibration:"כיול לא חוקי, אנא בדוק את התצורה שלך"},ui={status:{label:"סטטוס",value:{starting:"מתחיל","charger disconnected":"המטען מנותק",idle:"ממתין","remote control active":"שליטה מרוחק פעילה",cleaning:"מנקה","returning home":"חוזר הביתה","manual mode":"מצב ידני",charging:"טעינה","charging problem":"בעיית טעינה",paused:"מושהה","spot cleaning":"ניקוי נקודתי",error:"שגיאה","shutting down":"מתכבה",updating:"מתעדכן",docking:"בעגינה","going to target":"בדרך אל היעד","zoned cleaning":"ניקוי אזור","segment cleaning":"ניקוי מקטע","emptying the bin":"ריקון האשפה","charging complete":"טעינה הושלמה","device offline":"התקן לא מקוון"}},battery_level:{label:"סוללה"},fan_speed:{label:"מהירות מאוורר",value:{silent:"שקט",standard:"סטנדרט",medium:"בינוני",turbo:"טורבו",auto:"אוטומט",gentle:"עדין"}},sensor_dirty_left:{label:"נותר לחיישנים"},filter_left:{label:"נותר למסנן"},main_brush_left:{label:"נותר למברשת ראשית"},side_brush_left:{label:"נותר למברשת צד"},cleaning_count:{label:"כמות נקיונות"},cleaned_area:{label:"שטח שנוקה"},total_cleaned_area:{label:"סך השטח שנוקה"},cleaning_time:{label:"זמן ניקיון"},total_cleaning_time:{label:"סך זמן הניקיון"},mop_left:{label:"נותר למטלית"},bin_full:{label:"פח מלא",value:{true:"כן",false:"לא"}},bin_present:{label:"מיכל קיים",value:{true:"כן",false:"לא"}},water_volume:{label:"רמת מים"},mop_pad_humidity:{label:"משטח ניגוב"}},mi={vacuum_start:"התחל",vacuum_pause:"השהה",vacuum_stop:"עצור",vacuum_return_to_base:"חוזר לתחנת עגינה",vacuum_clean_spot:"ניקוי נקודה",vacuum_locate:"איתור",vacuum_set_fan_speed:"שנה מהירות מאוורר"},pi={hour_shortcut:"ש",meter_shortcut:"מ",meter_squared_shortcut:"m²",minute_shortcut:"דק"},_i={success:"הצליח!",no_selection:"לא סופקה בחירה",failed:"התקשרות לשירות נכשלה"},vi={description:{before_link:"עורך חזותי זה תומך רק בתצורה בסיסית עם ישות מצלמה שנוצרה באמצעות ",link_text:"Xiaomi Cloud Map Extractor",after_link:". להגדרה מתקדמת יותר השתמש במצב YAML."},label:{name:"כותרת (אופציונלי)",entity:"יישות שואב (נדרש)",camera:"יישות מצלמה (נדרש)",vacuum_platform:"פלטפורמת שואב (נדרש)",map_locked:"נעילת מפה (אופציונלי)",two_finger_pan:"צביטת שתי אצבעות (אופציונלי)",platforms_documentation:"תיעוד הפלטפורמה שנבחרה ({0})",selection:"בחירה:",copy:"העתקה",copied:"הועתק!",set_static_config:"יצירת תצורה סטטית",config_set:"תצורה הוגדרה!\nיש לפתוח את עורך התצורה כדי להתאים אותו.",config_set_failed:"עדכון התצורה נכשל.",generate_rooms_config:"יצירת תצורת חדרים",copy_service_call:"העתקת קריאת שירות"},alerts:{set_static_config:"עליך להשתמש בפונקציונליות זו רק אם ברצונך להתאים באופן ידני את התצורה שנוצרה באופן אוטומטי.\nלהמשיך?"}},gi={common:li,map_mode:ci,validation:di,tile:ui,icon:mi,unit:pi,popups:_i,editor:vi},hi=Object.freeze({__proto__:null,common:li,map_mode:ci,validation:di,tile:ui,icon:mi,unit:pi,popups:_i,editor:vi,default:gi}),fi={version:"Verzió",invalid_configuration:"Érvénytelen konfiguráció {0}",description:"Egy kártya, amely lehetővé teszi a vákuum szabályozását",old_configuration:"Régi konfiguráció észlelve. Állítsa be a konfigurációt a legújabb sémához, vagy hozzon létre egy új kártyát.",old_configuration_migration_link:"Migrációs útmutató"},bi={invalid:"Érvénytelen sablon!",vacuum_goto:"Pin & Go",vacuum_goto_predefined:"Pontok",vacuum_clean_segment:"Szobák",vacuum_clean_zone:"Zóna takarítás",vacuum_clean_zone_predefined:"Zónák listája",vacuum_follow_path:"Pálya"},yi={preset:{entity:{missing:"Hiányzó tulajdonság: entity"},preset_name:{missing:"Hiányzó tulajdonság: preset_name"},platform:{invalid:"Érvénytelen vákuumplatform: {0}"},map_source:{missing:"Hiányzó tulajdonság: map_source",none_provided:"Nincs kamera és kép sem biztosított",ambiguous:"Csak egy térképforrás engedélyezett"},calibration_source:{missing:"Hiányzó tulajdonság: calibration_source",ambiguous:"Csak egy kalibrációs forrás engedélyezett",none_provided:"Nincs megadva kalibrációs forrás",calibration_points:{invalid_number:"Pontosan 3 vagy 4 kalibrációs pont szükséges",missing_map:"Minden kalibrációs pontnak tartalmaznia kell a térkép koordinátáit",missing_vacuum:"Minden kalibrációs pontnak vákuumkoordinátákat kell tartalmaznia",missing_coordinate:"A térképi és vákuumkalibrációs pontoknak x és y koordinátát is tartalmazniuk kell"}},icons:{invalid:"Hiba a konfigurációban: icons",icon:{missing:"Az ikonlista minden bejegyzésének tartalmaznia kell az ikon tulajdonságot"}},tiles:{invalid:"Hiba a konfigurációban: tiles",entity:{missing_outdated_translation:"A csempelista minden bejegyzésének tartalmaznia kell entitást"},label:{missing:"A csempelista minden bejegyzésének tartalmaznia kell egy címkét"}},map_modes:{invalid:"Hiba a konfigurációban: map_modes",icon:{missing:"Hiányzik a térkép mód ikonja"},name:{missing:"A térképmód neve hiányzik"},template:{invalid:"Érvénytelen sablon: {0}"},predefined_selections:{not_applicable:"A(z) {0} mód nem támogatja az előre meghatározott kijelöléseket",zones:{missing:"Hiányzó zónák konfigurációja",invalid_parameters_number:"Minden zónának 4 paraméterrel kell rendelkeznie"},points:{position:{missing:"Hiányzó pontok konfigurációja",invalid_parameters_number:"Minden pontnak 2 paraméterrel kell rendelkeznie"}},rooms:{id:{missing:"Hiányzó szoba id",invalid_format:"Érvénytelen szoba id: {0}"},outline:{invalid_parameters_number:"A helyiség körvonalának minden pontján 2 paraméterrel kell rendelkeznie"}},label:{x:{missing:"A címkének x tulajdonsággal kell rendelkeznie"},y:{missing:"A címkének y tulajdonsággal kell rendelkeznie"},text:{missing:"A címkének szövegtulajdonsággal kell rendelkeznie"}},icon:{x:{missing:"Az ikonnak x tulajdonsággal kell rendelkeznie"},y:{missing:"Az ikonnak y tulajdonsággal kell rendelkeznie"},name:{missing:"Az ikonnak név tulajdonsággal kell rendelkeznie"}}},service_call_schema:{missing:"Hiányzó szolgáltatáshívási séma",service:{missing:"A szolgáltatáshívási sémának tartalmaznia kell a szolgáltatást",invalid:"Érvénytelen szolgáltatás: {0}"}}}},invalid_entities:"Érvénytelen entitások:",invalid_calibration:"Érvénytelen kalibráció, ellenőrizze a konfigurációt"},ki={status:{label:"Státusz"},battery_level:{label:"Akkumulátor"},fan_speed:{label:"Ventilátor üzemmód"},sensor_dirty_left:{label:"Szenzorok"},filter_left:{label:"Szűrő"},main_brush_left:{label:"Fő kefe"},side_brush_left:{label:"Oldalkefe"},cleaning_count:{label:"Takarítás számláló"},cleaned_area:{label:"Tisztított terület"},cleaning_time:{label:"Takarítási idő"}},Ai={vacuum_start:"Indítás",vacuum_pause:"Szünet",vacuum_stop:"Álljon meg",vacuum_return_to_base:"Vissza a bázisra",vacuum_clean_spot:"Clean spot",vacuum_locate:"Robot megkeresése",vacuum_set_fan_speed:"Ventilátor üzemmódjának módosítása"},xi={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},Ei={success:"Siker!",no_selection:"Nincs kiválasztva",failed:"Nem sikerült meghívni a szolgáltatást"},wi={description:{before_link:"Ez a vizuális szerkesztő csak az alapkonfigurációt támogatja a segítségével létrehozott kameraentitással ",link_text:"Xiaomi Cloud Map Extractor",after_link:". A fejlettebb beállításhoz használja a YAML módot."},label:{name:"Cím (nem kötelező)",entity:"Vákuum entitás (kötelező)",camera:"Kamera entitás (kötelező)",vacuum_platform:"Vákuumos platform (szükséges)",map_locked:"Térkép zárolva (opcionális)",two_finger_pan:"Kétujjas pásztázás (opcionális)"}},zi={common:fi,map_mode:bi,validation:yi,tile:ki,icon:Ai,unit:xi,popups:Ei,editor:wi},Pi=Object.freeze({__proto__:null,common:fi,map_mode:bi,validation:yi,tile:ki,icon:Ai,unit:xi,popups:Ei,editor:wi,default:zi}),Mi={version:"Útgáfa",invalid_configuration:"Ógildar stillingar {0}",description:"Spjald sem leyfir þér að stjórna ryksuguvélmenni þínu",old_configuration:"Gamlar stillingar fundust. Uppfærðu stillingarnar fyrir nýjustu útgáfu eða búðu til nýtt spjald frá grunni.",old_configuration_migration_link:"Aðlögunar leiðbeiningar"},Ti={invalid:"Ógilt sniðmát!",vacuum_goto:"Velja og af stað!",vacuum_goto_predefined:"Deplar",vacuum_clean_segment:"Herbergi",vacuum_clean_point:"Hreinn depill",vacuum_clean_point_predefined:"Deplar",vacuum_clean_zone:"Þrífa svæði",vacuum_clean_zone_predefined:"Svæðislistar",vacuum_follow_path:"Ferill"},Si={preset:{entity:{missing:"Vantar einingu: entity"},preset_name:{missing:"Vantar einingu: preset_name"},platform:{invalid:"Rangt ryksugu sniðmát: {0}"},map_source:{missing:"Vantar einingu: map_source",none_provided:"Enginn myndavél né mynd er skráð",ambiguous:"Aðeins einn uppruni fyrir kort leyfður"},calibration_source:{missing:"Vantar einindi: calibration_source",ambiguous:"Aðeins ein kvörðunar stilling leyfð",none_provided:"Engin kvörðunarstilling er skilgreind",calibration_points:{invalid_number:":Þú verður að skilagreina nákvæmlega 3 eða 4 kvörðunar punkta",missing_map:"Hver punktur verður að vera hnit á kortinu",missing_vacuum:"Hver punktur á kortinu verður að vera hnit fyrir ryksuguna.",missing_coordinate:"Kort og ryksugu stillingar verða að innihalda x og y hnit"}},icons:{invalid:"Villa í stillingum: icons",icon:{missing:'Hver færsla fyrir smámynd verður að innihalda "icon" stillingu'}},tiles:{invalid:"Villa í stillingum: tiles",entity:{missing_outdated_translation:'Hver færsla á lista verður að innihalda "entity"'},label:{missing:'Hver færsla á lista verður að innihalda "label"'}},map_modes:{invalid:"Villa í stillingum: map_modes",icon:{missing:'Það vantar "icon" fyrir kortaham'},name:{missing:'Það vantar "name" einindið fyrir kortaham'},template:{invalid:"Rangt sniðmát: {0}"},predefined_selections:{not_applicable:"Hamur {0} styður ekki fyrirfram skilgreint val",zones:{missing:"Það vantar skilgreiningar fyrir svæði",invalid_parameters_number:"Hvert svæði verður að hafa 4 færibreytur"},points:{position:{missing:"Það vantar stillingar fyrir hnit",invalid_parameters_number:"Hvert hnit verður að hafa 2 færibreytur"}},rooms:{id:{missing:"Það vantar auðkenni herbergis",invalid_format:"Vitlaust auðkenni : {0}"},outline:{invalid_parameters_number:"Hvert hnit í útlínum fyrir herbergi verður að innihalda 2 færibreytur"}},label:{x:{missing:"Merkimiði verður að innihalda x einingu"},y:{missing:"Merkimiði verður að innihalda y einingu"},text:{missing:'Merkimiði verður að innihalda "text" einingu'}},icon:{x:{missing:"Smámynd verður að innihalda x einingu"},y:{missing:"Smámynd verður að innihalda y einingu"},name:{missing:'Smámynd verður að innihalda "name" einingu'}}},service_call_schema:{missing:"Skema fyrir þjónustukall vantar",service:{missing:'Skema fyrir þjónustukall verður að innihalda "service"',invalid:"Röng þjónusta: {0}"}}}},invalid_entities:"Röng einindi:",invalid_calibration:"Röng kvörðun, athugaðu stillingarnar þínar"},Ci={status:{label:"Staða",value:{starting:"Ræsi","charger disconnected":"Hleðslutæki aftengt",idle:"Aðgerðarlaus","remote control active":"Fjarstýring virk",cleaning:"Að þrífa","returning home":"Á leiðinni heim","manual mode":"Handvirk stýring",charging:"Í hleðslu","charging problem":"Vandamál við hleðslu",paused:"Í bið","spot cleaning":"Hreinsa blett",error:"Villa","shutting down":"Slekk á",updating:"Uppfæri",docking:"Við hleðslustöð","going to target":"Fer á skotmark","zoned cleaning":"Þrífa svæði","segment cleaning":"Þrífa herbergi","emptying the bin":"Tæma ruslatunnu","charging complete":"Hleðslu lokið","device offline":"Tæki er ótengt"}},battery_level:{label:"Rafhlaða"},fan_speed:{label:"Viftuhraði",value:{silent:"Hljóðlátur",standard:"Venjulegur",medium:"Miðlungs",turbo:"Túrbó",auto:"Sjálfvirkt",gentle:"Þægilegur"}},sensor_dirty_left:{label:"Vegg og fallskynjarar eftir"},filter_left:{label:"Sía eftir"},main_brush_left:{label:"Aðalbursti eftir"},side_brush_left:{label:"Hliðarbursti eftir"},cleaning_count:{label:"Fjöldi þrifa"},cleaned_area:{label:"Svæði þrifið"},cleaning_time:{label:"Þriftími"},mop_left:{label:"Moppa eftir"}},Oi={vacuum_start:"Ræsa",vacuum_pause:"Gera hlé",vacuum_stop:"Stoppa",vacuum_return_to_base:"Tilbaka á stöð",vacuum_clean_spot:"Hreinsa blett",vacuum_locate:"Finna",vacuum_set_fan_speed:"Breyta viftuhraða"},Ni={hour_shortcut:"k",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"mín"},Ri={success:"Virkaði!",no_selection:"Ekkert val",failed:"Villa við þjónustukall"},$i={description:{before_link:'Sjónrænn ritill styður aðeins grunn stillingar með "camera" einingunni sem notar ',link_text:"Xiaomi Cloud Map Extractor",after_link:". Fyrir ítarstillingar, notaðu YAML ham."},label:{name:"Titill (valkvætt)",entity:"Vacuum eining (nauðsynlegt)",camera:"Camera eining (nauðsynlegt)",vacuum_platform:"Vacuum platform (nauðsynlegt)",map_locked:"Læsa korti (valkvætt)",two_finger_pan:"Val með 2 fingrum (valkvætt)"}},ji={common:Mi,map_mode:Ti,validation:Si,tile:Ci,icon:Oi,unit:Ni,popups:Ri,editor:$i},Li=Object.freeze({__proto__:null,common:Mi,map_mode:Ti,validation:Si,tile:Ci,icon:Oi,unit:Ni,popups:Ri,editor:$i,default:ji}),Ii={version:"Versione",invalid_configuration:"Configurazione non valida {0}",description:"Una card per controllare il tuo robot aspirapolvere",old_configuration:"Trovata una vecchia configurazione. Correggi la configurazione all'ultima possibile o crea una nuova card.",old_configuration_migration_link:"Guida Migrazione"},Di={invalid:"Template non valido!",vacuum_goto:"Pin & Go",vacuum_goto_predefined:"Punti",vacuum_clean_segment:"Stanze",vacuum_clean_point:"Punto di pulizia",vacuum_clean_point_predefined:"Punti",vacuum_clean_zone:"Pulizia a Zone",vacuum_clean_zone_predefined:"Lista Zone",vacuum_follow_path:"Percorso"},Vi={preset:{entity:{missing:"Proprietà Mancante: entity"},preset_name:{missing:"Proprietà Mancante: preset_name"},platform:{invalid:"Piattaforma aspirapolvere non valida: {0}"},map_source:{missing:"Proprietà Mancante: map_source",none_provided:"Inserire camera o immagine",ambiguous:"È consentita una sola sorgente della mappa"},calibration_source:{missing:"Proprietà Mancante: calibration_source",ambiguous:"È consentita una solo una sorgente di calibrazione",none_provided:"Nessuna fonte di calibrazione fornita",calibration_points:{invalid_number:"Esattamente 3 o 4 punti di calibrazione richiesti",missing_map:"Ogni punto di calibrazione deve contenere le coordinate della mappa",missing_vacuum:"Ciascun punto di calibrazione deve contenere le coordinate dell'aspirapolvere",missing_coordinate:"I punti di calibrazione della mappa e dell'aspirapolvere devono contenere sia le coordinate x che y"}},icons:{invalid:"Errore nella configurazione: icons",icon:{missing:"Ogni voce dell'elenco delle icone deve contenere la proprietà dell'icona"}},tiles:{invalid:"Errore nella configurazione: tiles",entity:{missing_outdated_translation:"Ogni voce dell'elenco 'tile' deve contenere una entity"},label:{missing:"Ogni voce dell'elenco 'tile' deve contenere una label"}},map_modes:{invalid:"Errore nella configurazione: map_modes",icon:{missing:"Icona della modalità mappa mancante"},name:{missing:"Nome della modalità mappa mancante"},template:{invalid:"Template non valido: {0}"},predefined_selections:{not_applicable:"Modalità {0} non supporta le selezioni predefinite",zones:{missing:"Configurazione zone mancante",invalid_parameters_number:"Ogni zona deve avere 4 parametri"},points:{position:{missing:"Configurazione punti mancante",invalid_parameters_number:"Ogni punto deve avere 2 parametri"}},rooms:{id:{missing:"ID stanza mancante",invalid_format:"ID stanza non valido: {0}"},outline:{invalid_parameters_number:"Ogni punto del contorno della stanza deve avere 2 parametri"}},label:{x:{missing:"Label deve avere la proprietà x"},y:{missing:"Label deve avere la proprietà y"},text:{missing:"Label deve avere la proprietà text"}},icon:{x:{missing:"Icon deve avere la proprietà x"},y:{missing:"Icon deve avere la proprietà y"},name:{missing:"Icon deve avere la proprietà name"}}},service_call_schema:{missing:"Schema della chiamata al servizio mancante",service:{missing:"La chiamata al servizio deve contenere un servizio",invalid:"Servizio non valido: {0}"}}}},invalid_entities:"Entità non valide:",invalid_calibration:"Calibrazione non valida, per favore controlla la configurazione"},Fi={status:{label:"Stato",value:{starting:"Avvio","charger disconnected":"Caricabatterie scollegato",idle:"Riposo","remote control active":"Controllo remoto attivo",cleaning:"Pulizia","returning home":"Ritorno alla base","manual mode":"Modalità Manuale",charging:"Caricamento","charging problem":"Problema di ricarica",paused:"Pausa","spot cleaning":"Pulizia a punti",error:"Errore","shutting down":"Spegnimento",updating:"Aggiornamento in corso",docking:"In base","going to target":"Andando al punto","zoned cleaning":"Pulizia a zone","segment cleaning":"Pulizia segmenti","emptying the bin":"Svuotare il contenitore","charging complete":"Carica Completata","device offline":"Device offline"}},battery_level:{label:"Batteria"},fan_speed:{label:"Velocità Ventola",value:{silent:"Silenzioso",standard:"Standard",medium:"Media",turbo:"Turbo",auto:"Auto",gentle:"Delicato"}},sensor_dirty_left:{label:"Sensori"},filter_left:{label:"Filtro"},main_brush_left:{label:"Spazzola Principale"},side_brush_left:{label:"Spazzola laterale"},cleaning_count:{label:"Conteggio pulizia"},cleaned_area:{label:"Area pulita"},total_cleaned_area:{label:"Area totale pulita"},cleaning_time:{label:"Tempo di pulizia"},total_cleaning_time:{label:"Tempo totale di pulizia"},mop_left:{label:"Panno"},bin_full:{label:"Cestino pieno",value:{true:"Si",false:"No"}},bin_present:{label:"Cestino presente",value:{true:"Si",false:"No"}},water_volume:{label:"Volume dell'acqua"},mop_pad_humidity:{label:"Umidità del panno"}},Ui={vacuum_start:"Avvia",vacuum_pause:"Pausa",vacuum_stop:"Stop",vacuum_return_to_base:"Ritorna alla base",vacuum_clean_spot:"Pulizia spot",vacuum_locate:"Localizza",vacuum_set_fan_speed:"Cambia velocità ventola"},qi={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},Hi={success:"Confermato!",no_selection:"Nessuna Selezione",failed:"Chiamata al servizio fallita"},Ki={description:{before_link:"Questo editor visivo supporta solo una configurazione di base con un'entità telecamera creata utilizzando ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Per una configurazione più avanzata usa la modalità YAML."},label:{name:"Titolo (opzionale)",entity:"Entità Aspirapolvere (obbligatorio)",camera:"Entità camera (obbligatorio)",vacuum_platform:"Piattaforma aspirapolvere (obbligatorio)",map_locked:"Blocco mappa (opzionale)",two_finger_pan:"Zoom a due dita (opzionale)",platforms_documentation:"Documentazione della piattaforma scelta ({0})",selection:"Selezione:",copy:"Copia",copied:"Copiato!",set_static_config:"Genera configurazione statica",config_set:"Configurazione impostata!\nApri l'editor di configurazione per modificarla.",config_set_failed:"Impossibile aggiornare la configurazione.",generate_rooms_config:"Genera configurazione delle stanze",copy_service_call:"Copia chiamata di servizio"},alerts:{set_static_config:"Dovresti utilizzare questa funzionalità solo se desideri regolare manualmente la configurazione generata automaticamente.\nContinuare?"}},Xi={common:Ii,map_mode:Di,validation:Vi,tile:Fi,icon:Ui,unit:qi,popups:Hi,editor:Ki},Gi=Object.freeze({__proto__:null,common:Ii,map_mode:Di,validation:Vi,tile:Fi,icon:Ui,unit:qi,popups:Hi,editor:Ki,default:Xi}),Bi={version:"Versjon",invalid_configuration:"Ugyldig konfigurasjon {0}",description:"Et kort som lar deg kontrollere støvsugeren din",old_configuration:"Gammel konfigurasjon oppdaget. Rediger din konfigurasjon til nyeste skjema, eller lag et nytt kort.",old_configuration_migration_link:"Guide for migrering"},Zi={invalid:"Ugyldig template!",vacuum_goto:"Klikk & Gå",vacuum_goto_predefined:"Punkter",vacuum_clean_segment:"Rom",vacuum_clean_point:"Rengjøringspunkt",vacuum_clean_point_predefined:"Punkter",vacuum_clean_zone:"Sonerengjøring",vacuum_clean_zone_predefined:"Soneliste",vacuum_follow_path:"Sti"},Yi={preset:{entity:{missing:"Mangler egenskap: entity"},preset_name:{missing:"Mangler egenskap: preset_name"},platform:{invalid:"Ugyldig støvsugerplattform: {0}"},map_source:{missing:"Mangler egenskap: map_source",none_provided:"Ingen kamera eller bilder spesifisert",ambiguous:"Bare en kart-kilde er tillatt"},calibration_source:{missing:"Mangler egenskap: calibration_source",ambiguous:"Kun en kalibreringskilde tillatt",none_provided:"Ingen kalibreringskilde spesifisert",calibration_points:{invalid_number:"Eksakt 3 eller 4 kalibreringspunkter kreves",missing_map:"Hvert kalibreringspunkt må inneholde koordinater for kart",missing_vacuum:"Hvert kalibreringspunkt må inneholde koordinater for støvsuger",missing_coordinate:"Kalibreringspunkter for kart og støvsuger må inneholde både x og y koordinater"}},icons:{invalid:"Feil i konfigurasjon: icons",icon:{missing:"Hver post med icons må inneholde icon-egenskap"}},tiles:{invalid:"Feil i konfigurasjon: tiles",entity:{missing_outdated_translation:"Hver post med tiles må inneholde entity"},label:{missing:"Hver post med tiles må inneholde label"}},map_modes:{invalid:"Feil i konfigurasjon: map_modes",icon:{missing:"Ikon for map mode mangler"},name:{missing:"Navn for map mode mangler"},template:{invalid:"Ugyldig template: {0}"},predefined_selections:{not_applicable:"Modus {0} støtter ikke forhåndsdefinerte valg",zones:{missing:"Mangler sonens konfigurasjon",invalid_parameters_number:"Hver sone må ha 4 parametere"},points:{position:{missing:"Konfigurasjon av punktet mangler",invalid_parameters_number:"Hvert punkt må ha 2 parametere"}},rooms:{id:{missing:"Rommets id mangler",invalid_format:"Feil id på rom: {0}"},outline:{invalid_parameters_number:"Hvert punkt i romomrisset må ha 2 parametere"}},label:{x:{missing:"Label må ha egenskapen x"},y:{missing:"Label må ha egenskapen y"},text:{missing:"Label må ha egenskapen text"}},icon:{x:{missing:"Icon må ha egenskapen x"},y:{missing:"Icon må ha egenskapen y"},name:{missing:"Icon må ha egenskapen name"}}},service_call_schema:{missing:"Manglende service call schema",service:{missing:"Service call schema må inneholde service",invalid:"Ugyldig service: {0}"}}}},invalid_entities:"Ugyldige entiteter:",invalid_calibration:"Ugyldig kalibrering, vennligst se over din konfigurasjon"},Ji={status:{label:"Status",value:{starting:"Starter","charger disconnected":"Lader frakoblet",idle:"Inaktiv","remote control active":"Fjernkontroll aktiv",cleaning:"Rengjøring","returning home":"På vei hjem","manual mode":"Manuell modus",charging:"Lader","charging problem":"Ladeproblem",paused:"Pause","spot cleaning":"Flekkrengjøring",error:"Feil","shutting down":"Slår av",updating:"Oppdaterer",docking:"Docking","going to target":"Går til destinasjon","zoned cleaning":"Sonerengjøring","segment cleaning":"Rengjøring av rom","emptying the bin":"Tømmer beholderen","charging complete":"Lading fullført","device offline":"Enhet offline"}},battery_level:{label:"Batteri"},fan_speed:{label:"Viftehastighet",value:{Silent:"Stille",Standard:"Standard",Medium:"Medium",Turbo:"Turbo",Auto:"Auto",Gentle:"Forsiktig"}},sensor_dirty_left:{label:"Sensorer igjen"},filter_left:{label:"Filter igjen"},main_brush_left:{label:"Hovedbørste igjen"},side_brush_left:{label:"Sidebørste igjen"},cleaning_count:{label:"Antall rengjøringer"},cleaned_area:{label:"Rengjort område"},cleaning_time:{label:"Rengjøringstid"},mop_left:{label:"Mopp igjen"}},Wi={vacuum_start:"Start",vacuum_pause:"Pause",vacuum_stop:"Stopp",vacuum_return_to_base:"Gå tilbake til basen",vacuum_clean_spot:"Flekkrengjøring",vacuum_locate:"Lokaliser",vacuum_set_fan_speed:"Endre viftehastighet"},Qi={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},ea={success:"Suksess!",no_selection:"Ingen valg er gitt",failed:"Kunne ikke kalle tjenesten"},ta={description:{before_link:"Denne visuelle editoren støtter bare en grunnleggende konfigurasjon med en kameraenhet opprettet ved hjelp av ",link_text:"Xiaomi Cloud Map Extractor",after_link:". For mer avansert oppsett bruk YAML-modus."},label:{name:"Tittel (valgfritt)",entity:"Støvsuger-entitet (obligatorisk)",camera:"Kamera-entitet (obligatorisk)",vacuum_platform:"Støvsugerplattform (obligatorisk)",map_locked:"Låst kart (valgfritt)",two_finger_pan:"Panorering med to fingre (valgfritt)"}},ia={common:Bi,map_mode:Zi,validation:Yi,tile:Ji,icon:Wi,unit:Qi,popups:ea,editor:ta},aa=Object.freeze({__proto__:null,common:Bi,map_mode:Zi,validation:Yi,tile:Ji,icon:Wi,unit:Qi,popups:ea,editor:ta,default:ia}),na={version:"Versie",invalid_configuration:"Ongeldige configuratie {0}",description:"Een kaart waarmee je jouw robotstofzuiger kunt bedienen.",old_configuration:"Oude configuratie gevonden. Pas je configuratie aan op basis van de nieuwe versie of maak een volledig nieuwe kaart.",old_configuration_migration_link:"Uitleg configuratie aanpassen"},oa={invalid:"Ongeldig sjabloon!",vacuum_goto:"Pin & Go",vacuum_goto_predefined:"Punten",vacuum_clean_segment:"Kamers",vacuum_clean_point:"Schoonmaakpunten",vacuum_clean_point_predefined:"Punten",vacuum_clean_zone:"Zone schoonmaak",vacuum_clean_zone_predefined:"Zonelijst",vacuum_follow_path:"Pad"},ra={preset:{entity:{missing:"Ontbrekende parameter: entity"},preset_name:{missing:"Ontbrekende parameter: preset_name"},platform:{invalid:"Ongeldig stofzuigerplatform: {0}"},map_source:{missing:"Ontbrekende parameter: map_source",none_provided:"Geen camera of afbeelding opgegeven",ambiguous:"Slechts één kaartbron toegestaan"},calibration_source:{missing:"Ontbrekende parameter: calibration_source",ambiguous:"Slechts één kalibratiebron toegestaan",none_provided:"Geen kalibratiebron opgegeven",calibration_points:{invalid_number:"Precies 3 of 4 kalibratiepunten vereist",missing_map:"Elk kalibratiepunt moet kaart-coördinaten bevatten",missing_vacuum:"Elk kalibratiepunt moet stofzuiger coördinaten bevatten",missing_coordinate:"Kalibratiepunten van kaart en stofzuiger moeten zowel een X- als Y-coördinaat bevatten"}},icons:{invalid:"Fout in configuratie: icons",icon:{missing:"Elk item in de lijst moet de eigenschap « icon » bevatten"}},tiles:{invalid:"Fout in configuratie: tiles",entity:{missing_outdated_translation:"Elk item in de lijst moet de eigenschap « entity » bevatten"},label:{missing:"Elk item in de lijst moet de eigenschap « label » bevatten"}},map_modes:{invalid:"Fout in configuratie: map_modes",icon:{missing:"Pictogram van kaartmodus ontbreekt"},name:{missing:"Naam van kaartmodus ontbreekt"},template:{invalid:"Ongeldig sjabloon: {0}"},predefined_selections:{not_applicable:"Modus {0} ondersteunt geen vooraf gedefinieerde selecties",zones:{missing:"Zone-configuratie ontbreekt",invalid_parameters_number:"Elke zone moet 4 coördinaten hebben"},points:{position:{missing:"Puntenconfiguratie ontbreekt",invalid_parameters_number:"Elk punt moet 2 coördinaten hebben"}},rooms:{id:{missing:"Kamer-id ontbreekt",invalid_format:"Ongeldige kamer-id: {0}"},outline:{invalid_parameters_number:"Elk punt van de kameromtrek moet 2 coördinaten hebben"}},label:{x:{missing:"Elk label moet de eigenschap « x » bevatten"},y:{missing:"Elk label moet de eigenschap « y » bevatten"},text:{missing:"Elk label moet de eigenschap « text » bevatten"}},icon:{x:{missing:"Elk pictogram moet de eigenschap « x » bevatten"},y:{missing:"Elk pictogram moet de eigenschap « y » bevatten"},name:{missing:"Elk pictogram moet de eigenschap « name » bevatten"}}},service_call_schema:{missing:"Serviceoproep schema",service:{missing:"Serviceoproep-schema moet een service bevatten",invalid:"Ongeldige service: {0}"}}}},invalid_entities:"Ongeldige entiteiten:",invalid_calibration:"Ongeldige kalibratie, controleer je configuratie"},sa={status:{label:"Status",value:{starting:"Starten","charger disconnected":"Lader niet aangesloten",idle:"Inactief","remote control active":"Afstandsbediening actief",cleaning:"Schoonmaken","returning home":"Terugkeren naar basisstation","manual mode":"Handmatige modus",charging:"Laden","charging problem":"Laadprobleem",paused:"Gepauzeerd","spot cleaning":"Spot schoonmaken",error:"Fout","shutting down":"Afsluiten",updating:"Updaten",docking:"Docking","going to target":"Onderweg naar doel","zoned cleaning":"Zone schoonmaken","segment cleaning":"Kamers schoonmaken","emptying the bin":"Opvangbak leegmaken","charging complete":"Opladen voltooid","device offline":"Apparaat offline"}},battery_level:{label:"Accupercentage"},fan_speed:{label:"Ventilatorsnelheid",value:{silent:"Stil",standard:"Standaard",medium:"Gemiddeld",turbo:"Turbo",auto:"Automatisch",gentle:"Zacht"}},sensor_dirty_left:{label:"Sensors"},filter_left:{label:"Filter"},main_brush_left:{label:"Hoofdborstel"},side_brush_left:{label:"Zijborstel"},cleaning_count:{label:"Schoonmaakteller"},cleaned_area:{label:"Oppervlakte"},total_cleaned_area:{label:"Totale schoongemaakte oppervlakte"},cleaning_time:{label:"Schoonmaaktijd"},total_cleaning_time:{label:"Totale schoonmaaktijd"},mop_left:{label:"Dweil"},bin_full:{label:"Afvalcontainer vol",value:{true:"Yes",false:"No"}},bin_present:{label:"Afvalcontainer aanwezig",value:{true:"Yes",false:"No"}},water_volume:{label:"Watervolume"},mop_pad_humidity:{label:"Dweildoek"}},la={vacuum_start:"Start",vacuum_pause:"Pause",vacuum_stop:"Stop",vacuum_return_to_base:"Terug naar basisstation",vacuum_clean_spot:"Spot schoonmaak",vacuum_locate:"Lokaliseren",vacuum_set_fan_speed:"Ventilatorsnelheid aanpassen"},ca={hour_shortcut:"u",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},da={success:"Succes!",no_selection:"Geen selectie opgegeven",failed:"Fout bij aanroepen service"},ua={description:{before_link:"Deze grafische editor ondersteunt slechts een basis-configuratie met een camera-entiteit die gemaakt is met ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Gebruik de YAML-modus voor een meer uitgebreide configuratie."},label:{name:"Titel (optioneel)",entity:"Stofzuigerentiteit (verplicht)",camera:"Camera-entiteit (verplicht)",vacuum_platform:"Stofzuigerplatform (verplicht)",map_locked:"Kaart vergrendelen (optioneel)",two_finger_pan:"Kaart verplaatsen met twee vingers (optioneel)",platforms_documentation:"Documentatie van gekozen stofzuigerplatform ({0})",selection:"Selectie:",copy:"Kopiëren",copied:"Gekopieerd!",set_static_config:"Statische configuratie aanmaken",config_set:"Configuratie ingesteld!\nOpen de configuratie-editor om deze aan te passen.",config_set_failed:"Bijwerken van de configuratie mislukt",generate_rooms_config:"Kamer-configuratie aanmaken",copy_service_call:"Service Call kopiëren"},alerts:{set_static_config:"Gebruik deze functionaliteit alleen als je de gegenereerde configuratie nog handmatig wil aanpassen.\nDoorgaan?"}},ma={common:na,map_mode:oa,validation:ra,tile:sa,icon:la,unit:ca,popups:da,editor:ua},pa=Object.freeze({__proto__:null,common:na,map_mode:oa,validation:ra,tile:sa,icon:la,unit:ca,popups:da,editor:ua,default:ma}),_a={version:"Wersja",invalid_configuration:"Nieprawidłowa konfiguracja {0}",description:"Karta pozwalająca na kontrolowanie odkurzacza przy użyciu mapy",old_configuration:"Wykryto starą wersję konfiguracji. Dostosuj kartę do najnowszej wersji, albo utwórz ją od nowa.",old_configuration_migration_link:"Przewodnik po migracji"},va={invalid:"Nieprawidłowa wartość template",vacuum_goto:"Idź do punktu",vacuum_goto_predefined:"Zapisane punkty",vacuum_clean_segment:"Pokoje",vacuum_clean_point:"Sprzątanie punktowe",vacuum_clean_point_predefined:"Zapisane punkty",vacuum_clean_zone:"Sprzątanie strefowe",vacuum_clean_zone_predefined:"Zapisane strefy",vacuum_follow_path:"Ścieżka"},ga={preset:{entity:{missing:"Brakujący parametr: entity"},preset_name:{missing:"Brakujący parametr: preset_name"},platform:{invalid:"Nieprawidłowa platforma odkurzacza: {0}"},map_source:{missing:"Brakujący parametr: map_source",none_provided:"Nie podano źródła mapy",ambiguous:"Można podać tylko jedno źródło mapy"},calibration_source:{missing:"Brakujący parametr: calibration_source",ambiguous:"Można podać tylko jedno źródło kalibracji",none_provided:"Nie podano źródła kalibracji",calibration_points:{invalid_number:"Wymagane 3 bądź 4 punkty kalibracyjne",missing_map:"Każdy punkt kalibracyjny musi posiadać współrzędne na mapie",missing_vacuum:"Każdy punkt kalibracyjny musi posiadać współrzędne w układzie odkurzacza",missing_coordinate:"Każdy punkt kalibracyjny musi mieć współrzędne x i y"}},icons:{invalid:"Błąd w konfiguracji: icons",icon:{missing:'Każda pozycja na liście ikon musi posiadać parametr "icon"'}},tiles:{invalid:"Błąd w konfiguracji: tiles",entity:{missing:'Każda pozycja na liście kafelków musi posiadać parametr "entity" albo "internal_variable"'},label:{missing:'Każda pozycja na liście kafelków musi posiadać parametr "label"'}},map_modes:{invalid:"Błąd w konfiguracji: map_modes",icon:{missing:"Brakująca ikona szablonu trybu mapy"},name:{missing:"Brakująca nazwa szablonu trybu mapy"},template:{invalid:"Nieprawidłowy szablon trybu mapy: {0}"},predefined_selections:{not_applicable:"Szablon {0} nie wspiera zapisywania zaznaczeń",zones:{missing:"Brakująca lista zapisanych stref",invalid_parameters_number:"Każda zapisana strefa musi posiadać 4 współrzędne"},points:{position:{missing:"Brakująca lista zapisanych punktów",invalid_parameters_number:"Każdy zapisany punkt musi posiadać 2 współrzędne"}},rooms:{id:{missing:"Brakujący identyfikator pokoju",invalid_format:"Nieprawidłowy identyfikator pokoju: {0}"},outline:{invalid_parameters_number:"Każdy punkt obrysu pokoju musi posiadać 2 współrzędne"}},label:{x:{missing:"Każda etykieta musi posiadać współrzędną x"},y:{missing:"Każda etykieta musi posiadać współrzędną y"},text:{missing:"Każda etykieta musi posiadać tekst"}},icon:{x:{missing:"Każda ikona musi posiadać współrzędną x"},y:{missing:"Każda ikona musi posiadać współrzędną y"},name:{missing:'Każda ikona musi posiadać parametr "name"'}}},service_call_schema:{missing:"Brakujący schemat wywołania usługi",service:{missing:"Każdy schemat usługi musi posiadać podaną nazwę usługi ",invalid:"Nieprawidłowa usługa: {0}"}}}},invalid_entities:"Nieprawidłowe encje:",invalid_calibration:"Nieprawidłowa kalibracja, sprawdź konfigurację"},ha={status:{label:"Status",value:{starting:"Uruchamianie","charger disconnected":"Ładowarka odłączona",idle:"Nieaktywny","remote control active":"Zdalne sterowanie",cleaning:"Sprzątanie","returning home":"Powrót do stacji","manual mode":"Tryb manualny",charging:"Ładowanie","charging problem":"Problem z ładowaniem",paused:"Wstrzymany","spot cleaning":"Sprzątanie punktowe",error:"Błąd","shutting down":"Wyłączanie",updating:"Aktualizowanie",docking:"Dokowanie","going to target":"W drodze do celu","zoned cleaning":"Sprzątanie strefowe","segment cleaning":"Sprzątanie pokoju","emptying the bin":"Opróżnianie pojemnika","charging complete":"Ładowanie zakończone","device offline":"Offline"}},battery_level:{label:"Bateria"},fan_speed:{label:"Wentylator",value:{silent:"Cichy",standard:"Normalny",medium:"Średni",turbo:"Turbo",auto:"Automatyczny",gentle:"Delikatny"}},sensor_dirty_left:{label:"Sensory"},filter_left:{label:"Filtr"},main_brush_left:{label:"Główna szczotka"},side_brush_left:{label:"Boczna szczotka"},cleaning_count:{label:"Licznik sprzątań"},cleaned_area:{label:"Powierzchnia"},total_cleaned_area:{label:"Całkowita powierzchnia"},cleaning_time:{label:"Czas sprzątania"},total_cleaning_time:{label:"Całkowity czas sprzątania"},mop_left:{label:"Mop"},bin_full:{label:"Pojemnik pełny",value:{true:"Tak",false:"Nie"}},bin_present:{label:"Pojemnik włożony",value:{true:"Tak",false:"Nie"}},water_volume:{label:"Poziom wody"},mop_pad_humidity:{label:"Wilgotność mopa"}},fa={vacuum_start:"Uruchom",vacuum_pause:"Wstrzymaj",vacuum_stop:"Zatrzymaj",vacuum_return_to_base:"Wróć do stacji dokującej",vacuum_clean_spot:"Wyczyść miejsce",vacuum_locate:"Zlokalizuj",vacuum_set_fan_speed:"Zmień prędkość wentylatora"},ba={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},ya={success:"Usługa wywołana!",no_selection:"Nie wybrano zaznaczenia",failed:"Błąd wywołania usługi"},ka={description:{before_link:"Ten edytor interfejsu wspiera jedynie podstawową konfigurację dla kamery utworzonej przy użyciu ",link_text:"Xiaomi Cloud Map Extractora",after_link:". W celu bardziej zaawansowanej konfiguracji użyj trybu YAML."},label:{name:"Tytuł (opcjonalny)",entity:"Encja odkurzacza (wymagana)",camera:"Kamera z mapą (wymagana)",vacuum_platform:"Platforma integracji odkurzacza (wymagana)",map_locked:"Blokada mapy (opcjonalna)",two_finger_pan:"Przesuwanie mapy dwoma palcami (opcjonalne)",platforms_documentation:"Dokumentacja wybranej platformy ({0})",selection:"Zaznaczenie:",copy:"Kopiuj",copied:"Skopiowano!",set_static_config:"Wygeneruj statyczną konfigurację",config_set:"Ustawiono konfigurację!\nOtwórz edytor YAML w celu dostosowania.",config_set_failed:"Błąd aktualizacji konfiguracji.",generate_rooms_config:"Wygeneruj konfigurację pokoi",copy_service_call:"Skopiuj wywołanie usługi"},alerts:{set_static_config:"Ten przycisk powinien zostać użyty tylko wtedy, jeśli chcesz ręcznie dostosować automatycznie wygenerowaną konfigurację.\nKontynuować?"}},Aa={common:_a,map_mode:va,validation:ga,tile:ha,icon:fa,unit:ba,popups:ya,editor:ka},xa=Object.freeze({__proto__:null,common:_a,map_mode:va,validation:ga,tile:ha,icon:fa,unit:ba,popups:ya,editor:ka,default:Aa}),Ea={version:"Versão",invalid_configuration:"Configuração inválida {0}",description:"Um cartão que lhe permite controlar o seu aspirador",old_configuration:"COnfiguração antiga detectada. Ajuste sua configuração para a versão mais recente ou crie um novo cartão do zero.",old_configuration_migration_link:"Guia de migração"},wa={invalid:"Template inválido!",vacuum_goto:"Clicar & Ir",vacuum_goto_predefined:"Pontos",vacuum_clean_segment:"Quartos",vacuum_clean_point:"Local de limpeza",vacuum_clean_point_predefined:"Pontos",vacuum_clean_zone:"Limpeza de zona",vacuum_clean_zone_predefined:"Lista de zonas",vacuum_follow_path:"Caminho"},za={preset:{entity:{missing:"Propriedade em falta: entidade"},preset_name:{missing:"Propriedade em falta: preset_name"},platform:{invalid:"Plataforma de aspirador inválida: {0}"},map_source:{missing:"Propriedade em falta: map_source",none_provided:"Nenhuma câmera nem imagem fornecida",ambiguous:"Apenas uma fonte de mapa permitida"},calibration_source:{missing:"Propriedade em falta: calibration_source",ambiguous:"Apenas uma fonte de calibração permitida",none_provided:"Nenhuma fonte de calibração fornecida",calibration_points:{invalid_number:"São necessários, exactamente, 3 ou 4 pontos de calibração",missing_map:"Cada ponto de calibração deve conter coordenadas do mapa",missing_vacuum:"Cada ponto de calibração deve conter coordenadas do aspirador",missing_coordinate:"Os pontos de calibração do mapa e do aspirador devem conter as coordenadas x e y"}},icons:{invalid:"Erro na configuração: icones",icon:{missing:"Cada entrada na lista de ícones deve conter a propriedade do ícone"}},tiles:{invalid:"Erro na configuração: tiles",entity:{missing:"Cada entrada da lista deve conter uma entidade ou variável interna"},label:{missing:"Cada entrada da lista deve conter uma etiqueta"}},map_modes:{invalid:"Erro na configuração: map_modes",icon:{missing:"Falta o ícone do modo de mapa"},name:{missing:"Falta o nome do modo de mapa"},template:{invalid:"Template inválido: {0}"},predefined_selections:{not_applicable:"O modo {0} não oferece suporte a seleções predefinidas",zones:{missing:"Configuração de zonas em falta",invalid_parameters_number:"Cada zona deve ter 4 parâmetros"},points:{position:{missing:"Configuração de locais em falta",invalid_parameters_number:"Cada local deve ter 2 parâmetros"}},rooms:{id:{missing:"Identificação do quarto em falta",invalid_format:"Id do quarto inválido: {0}"},outline:{invalid_parameters_number:"Cada local do limite exterior do quarto deve ter 2 parâmetros"}},label:{x:{missing:"A etiqueta deve ter a propriedade x"},y:{missing:"A etiqueta deve ter a propriedade y"},text:{missing:"A etiqueta deve ter um texto x"}},icon:{x:{missing:"O ícone deve ter a propriedade x"},y:{missing:"O ícone deve ter a propriedade y"},name:{missing:"O ícone deve ter um nome"}}},service_call_schema:{missing:"Falta a chamada de serviço",service:{missing:"A chamada de serviço deve conter o serviço",invalid:"serviço inválido: {0}"}}}},invalid_entities:"Entidades inválidas:",invalid_calibration:"Calibração inválida, verifique sua configuração"},Pa={status:{label:"Estado",value:{starting:"A iniciar","charger disconnected":"Carregador desligado",idle:"Em espera","remote control active":"Controlo remoto activo",cleaning:"A limpar","returning home":"A voltar á base","manual mode":"Modo manual",charging:"A carregar","charging problem":"Problema de carregamento",paused:"Em pausa","spot cleaning":"Limpeza de local",error:"Erro","shutting down":"A desligar",updating:"A actualizar",docking:"A atracar","going to target":"A caminho do alvo","zoned cleaning":"Limpeza de zona","segment cleaning":"Limpeza de segmento","emptying the bin":"A esvaziar o depósito","charging complete":"Carregamento completo","device offline":"Dispositivo offline"}},battery_level:{label:"Bateria"},fan_speed:{label:"Velocidade da ventoinha",value:{silent:"Silenciosa",standard:"Normal",medium:"Média",turbo:"Turbo",auto:"Automática",gentle:"Gentil"}},sensor_dirty_left:{label:"Sensores"},filter_left:{label:"Filtro"},main_brush_left:{label:"Escova principal"},side_brush_left:{label:"Escova lateral"},cleaning_count:{label:"Contagem de limpezas"},cleaned_area:{label:"Área limpa"},total_cleaned_area:{label:"Área total limpa"},cleaning_time:{label:"Tempo de limpeza"},total_cleaning_time:{label:"Tempo total de limpeza"},mop_left:{label:"Mopa"},bin_full:{label:"Depósito cheio",value:{true:"Sim",false:"Não"}},bin_present:{label:"Depósito presente",value:{true:"Sim",false:"Não"}},water_volume:{label:"Volume de Água"},mop_pad_humidity:{label:"Pano da mopa"}},Ma={vacuum_start:"Iniciar",vacuum_pause:"Pausar",vacuum_stop:"Parar",vacuum_return_to_base:"Voltar à base",vacuum_clean_spot:"Limpar local",vacuum_locate:"Localizar",vacuum_set_fan_speed:"Mudar velocidade da ventoinha"},Ta={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},Sa={success:"Sucesso!",no_selection:"NoNenhuma seleção fornecida",failed:"Falha ao chamar o serviço"},Ca={description:{before_link:"O editor visual suporta apenas uma configuração básica usando uma entidade, usando ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Para configuração avançada use o modo YAML."},label:{name:"Título (opcional)",entity:"ENtidade de aspirador (necessária)",camera:"Entidade de camera (necessária)",vacuum_platform:"Plataforma dp aspirador (necessária)",map_locked:"MMapa trancado (opcional)",two_finger_pan:"Deslocamento com 2 dedos (opcional)",platforms_documentation:"Documentação da plataforma escolhida ({0})",selection:"Delecção:",copy:"Copiar",copied:"Copiado!",set_static_config:"Gerar configuração estática",config_set:"Definição de configuração set!\nAbrir o editor de configuração par ajustar.",config_set_failed:"Falha ao actualizar a configuração.",generate_rooms_config:"Gerar configuração de quartos",copy_service_call:"Copiar a chamada de serviço"},alerts:{set_static_config:"Só deve usar esta funcionalidade se quiser ajustar manualmente as configurações geradas automaticamente.\nContinuar?"}},Oa={common:Ea,map_mode:wa,validation:za,tile:Pa,icon:Ma,unit:Ta,popups:Sa,editor:Ca},Na=Object.freeze({__proto__:null,common:Ea,map_mode:wa,validation:za,tile:Pa,icon:Ma,unit:Ta,popups:Sa,editor:Ca,default:Oa}),Ra={version:"Versão",invalid_configuration:"configuração inválida {0}",description:"Um cartão que permite que você controlar seu aspirador",old_configuration:"Configuração antiga detectada. Ajuste sua configuração para a versão mais recente ou crie um novo cartão do zero.",old_configuration_migration_link:"Guia de migração"},$a={invalid:"template inválido!",vacuum_goto:"Click & vai",vacuum_goto_predefined:"Local",vacuum_clean_segment:"Quartos",vacuum_clean_zone:"Limpar zona",vacuum_clean_zone_predefined:"Lista de zonas",vacuum_follow_path:"Seguir caminho"},ja={preset:{entity:{missing:"Propriedade ausente: entidade"},preset_name:{missing:"Propriedade ausente: preset_name"},platform:{invalid:"Plataforma de aspirador inválida: {0}"},map_source:{missing:"Propriedade ausente: map_source",none_provided:"Nenhuma câmera nem imagem fornecida",ambiguous:"Apenas uma fonte de mapa permitida"},calibration_source:{missing:"Propriedade ausente: calibration_source",ambiguous:"Apenas uma fonte de calibração permitida",none_provided:"Nenhuma fonte de calibração fornecida",calibration_points:{invalid_number:"Exatamente 3 ou 4 pontos de calibração são necessários",missing_map:"Cada ponto de calibração deve conter coordenadas do mapa",missing_vacuum:"Cada ponto de calibração deve conter coordenadas do aspirador",missing_coordinate:"Os pontos de calibração do mapa e do aspirador devem conter as coordenadas x e y"}},icons:{invalid:"Erro na configuração: icones",icon:{missing:"Cada entrada na lista de ícones deve conter a propriedade do ícone"}},tiles:{invalid:"Erro na configuração: tiles",entity:{missing_outdated_translation:"Cada entrada da lista de tiles deve conter entidade"},label:{missing:"Cada entrada da lista de tiles deve conter label"}},map_modes:{invalid:"Erro na configuração: map_modes",icon:{missing:"Falta o ícone no modo de mapa"},name:{missing:"Falta o nome no modo de mapa"},template:{invalid:"Template inválido: {0}"},predefined_selections:{not_applicable:"O modo {0} não oferece suporte a seleções predefinidas",zones:{missing:"Falta a Configuração de zonas",invalid_parameters_number:"Cada zona deve ter 4 parâmetros"},points:{position:{missing:"Falta a configuração do local",invalid_parameters_number:"Cada local deve ter 2 parâmetros"}},rooms:{id:{missing:"Falta o id do quarto",invalid_format:"Id inválido do quarto: {0}"},outline:{invalid_parameters_number:"Cada local da borda do quarto deve ter 2 parâmetros"}},label:{x:{missing:"A label deve ter a propriedade x"},y:{missing:"A label deve ter a propriedade y"},text:{missing:"A label deve ter um texto"}},icon:{x:{missing:"O ícone deve ter a propriedade x"},y:{missing:"O ícone deve ter a propriedade y"},name:{missing:"O ícone deve ter um nome"}}},service_call_schema:{missing:"Falta o call service",service:{missing:"O call service deve conter o serviço",invalid:"serviço inválido: {0}"}}}},invalid_entities:"entidades inválidas:",invalid_calibration:"Calibração inválida, verifique sua configuração"},La={status:{label:"Status"},battery_level:{label:"Bateria"},fan_speed:{label:"Velocidade"},sensor_dirty_left:{label:"Sensores"},filter_left:{label:"Filtro"},main_brush_left:{label:"Escova principal"},side_brush_left:{label:"Escova lateral"},cleaning_count:{label:"Contagem de limpezas"},cleaned_area:{label:"Área limpa"},cleaning_time:{label:"Tempo de limpeza"}},Ia={vacuum_start:"Começar",vacuum_pause:"Pausar",vacuum_stop:"Parar",vacuum_return_to_base:"Voltar para a base",vacuum_clean_spot:"Limpar local",vacuum_locate:"Localizar",vacuum_set_fan_speed:"Mudar velocidade"},Da={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},Va={success:"Successo!",no_selection:"Nenhuma seleção fornecida",failed:"Falha em chamar o serviço"},Fa={description:{before_link:"Este editor suporta apenas uma configuração básica usando uma entidade de câmera",link_text:"Xiaomi Cloud Map Extractor",after_link:". Para um setup avancado use o YAML mode."},label:{name:"Título (opicional)",entity:"Entidade do aspirador (Obrigatório)",camera:"Entidade da camera (Obrigatório)",vacuum_platform:"Plataforma do aspirador (Obrigatório)",map_locked:"Mapa travado (Opicional)",two_finger_pan:"Movimente com dois dedos (Opicional)"}},Ua={common:Ra,map_mode:$a,validation:ja,tile:La,icon:Ia,unit:Da,popups:Va,editor:Fa},qa=Object.freeze({__proto__:null,common:Ra,map_mode:$a,validation:ja,tile:La,icon:Ia,unit:Da,popups:Va,editor:Fa,default:Ua}),Ha={version:"Versiune",invalid_configuration:"Configurație invalidă {0}",description:"Un card care vă lasă să vă configurați aspiratorul",old_configuration:"Configurație veche detectată. Modificați fisierul de configurare la ultima versiune sau creați un nou card de la inceput.",old_configuration_migration_link:"Ghid de migrare"},Ka={invalid:"Template invalid!",vacuum_goto:"Punct și Mergi",vacuum_goto_predefined:"Puncte",vacuum_clean_segment:"Camere",vacuum_clean_point:"Punct de curățare",vacuum_clean_point_predefined:"Puncte predefinite",vacuum_clean_zone:"Zonă de curățare",vacuum_clean_zone_predefined:"Listă zone",vacuum_follow_path:"Cale"},Xa={preset:{entity:{missing:"Proprietate lipsă: entity"},preset_name:{missing:"Proprietate lipsă: preset_name"},platform:{invalid:"Invalid vacuum platform: {0}"},map_source:{missing:"Missing property: map_source",none_provided:"No camera neither image provided",ambiguous:"Only one map source allowed"},calibration_source:{missing:"Missing property: calibration_source",ambiguous:"Only one calibration source allowed",none_provided:"No calibration source provided",calibration_points:{invalid_number:"Exactly 3 or 4 calibration points required",missing_map:"Each calibration point must contain map coordinates",missing_vacuum:"Each calibration point must contain vacuum coordinates",missing_coordinate:"Map and vacuum calibration points must contain both x and y coordinate"}},icons:{invalid:"Eroare în configurare: icons",icon:{missing:"Fiecare intrare din lista de pictograme trebuie să conțină proprietatea pictogramei"}},tiles:{invalid:"Eroare în configurare: tiles",entity:{missing:"Each entry of tiles list must contain entity or internal variable"},label:{missing:"Fiecare intrare a listei de plăci trebuie să conțină o etichetă"}},map_modes:{invalid:"Eroare în configurare: map_modes",icon:{missing:"Lipsește pictograma modului hartă"},name:{missing:"Lipsește numele modului hartă"},template:{invalid:"Template invalid: {0}"},predefined_selections:{not_applicable:"Modul {0} nu suportă selecțiile predefinite",zones:{missing:"Lipsă zone în configurație",invalid_parameters_number:"Fiecare zonă trebuie să aibă 4 parametri"},points:{position:{missing:"Lipsă puncte în configurație",invalid_parameters_number:"Fiecare punct trebuie să aibă 2 parametri"}},rooms:{id:{missing:"Lipsă id cameră",invalid_format:"Id cameră invalid: {0}"},outline:{invalid_parameters_number:"Fiecare punct al conturului camerei trebuie să aibă 2 parametri"}},label:{x:{missing:"Eticheta trebuie să aibă proprietatea x"},y:{missing:"Eticheta trebuie să aibă proprietatea y"},text:{missing:"Eticheta trebuie să aibă proprietatea text"}},icon:{x:{missing:"Pictograma trebuie să aibă proprietatea x"},y:{missing:"Pictograma trebuie să aibă proprietatea y"},name:{missing:"Pictograma trebuie să aibă proprietatea nume"}}},service_call_schema:{missing:"Lipsește schema de apel de service",service:{missing:"Schema de apel de service trebuie să conțină serviciu",invalid:"Serviciu invalid: {0}"}}}},invalid_entities:"Entități invalide:",invalid_calibration:"Calibrare nevalidă, vă rugăm să vă verificați configurația"},Ga={status:{label:"Stare",value:{starting:"Pornire","charger disconnected":"Încărcătorul a fost deconectat",idle:"Inactiv","remote control active":"Telecomanda activa",cleaning:"Curățare","returning home":"Întoarcere acasă","manual mode":"Mod manual",charging:"Se încarcă","charging problem":"Probleme de încărcare",paused:"În pauză","spot cleaning":"Curățarea petelor",error:"Eroare","shutting down":"Se închide",updating:"Se updatează",docking:"Andocare","going to target":"Mergând la țintă","zoned cleaning":"Curățare zonă","segment cleaning":"Curățare segment","emptying the bin":"Golirea coșului de gunoi","charging complete":"Încarcare completă","device offline":"Dispozitiv offline"}},battery_level:{label:"Baterie"},fan_speed:{label:"Viteza ventilatorului",value:{silent:"Tăcut",standard:"Standard",medium:"Mediu",turbo:"Turbo",auto:"Auto",gentle:"Blând"}},sensor_dirty_left:{label:"Timp rămas senzori"},filter_left:{label:"Timp rămas filtru"},main_brush_left:{label:"Timp rămas peria principală"},side_brush_left:{label:"Timp rămas peria laterală"},cleaning_count:{label:"Număr de curățări"},cleaned_area:{label:"Zonă curățată"},cleaning_time:{label:"Timp de curățare"},mop_left:{label:"Timp rămas mop"},bin_full:{label:"Coș de gunoi plin",value:{true:"Da",false:"Nu"}},bin_present:{label:"Coș de gunoi prezent",value:{true:"Da",false:"Nu"}}},Ba={vacuum_start:"Start",vacuum_pause:"Pauză",vacuum_stop:"Stop",vacuum_return_to_base:"Întoarceți-vă la bază",vacuum_clean_spot:"Curățare pată",vacuum_locate:"Localizați",vacuum_set_fan_speed:"Schimbă viteza ventilatorului"},Za={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},Ya={success:"Succes!",no_selection:"Nu este oferită nicio selecție",failed:"Nu s-a putut apela serviciul"},Ja={description:{before_link:"Acest editor vizual acceptă doar o configurație de bază cu o entitate de cameră creată folosind ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Pentru o configurare mai avansată, utilizați modul YAML."},label:{name:"Titlu (opțional)",entity:"Entitate aspirator (necesar)",camera:"Entitate camera (necesar)",vacuum_platform:"Platformă aspirator (necesar)",map_locked:"Hartă blocată (opțional)",two_finger_pan:"Mișcare hartă cu două degete (opțional)",platforms_documentation:"Documentația platformei alese ({0})",selection:"Selecție:",copy:"Copiază",copied:"Copiat!",set_static_config:"Generează config static",config_set:"Configurare setată!\nDeschide editorul de configurare pentru a-l ajusta.",config_set_failed:"Nu s-a putut actualiza configurația.",generate_rooms_config:"Generați configurația camerelor",copy_service_call:"Copiere apel de serviciu"}},Wa={common:Ha,map_mode:Ka,validation:Xa,tile:Ga,icon:Ba,unit:Za,popups:Ya,editor:Ja},Qa=Object.freeze({__proto__:null,common:Ha,map_mode:Ka,validation:Xa,tile:Ga,icon:Ba,unit:Za,popups:Ya,editor:Ja,default:Wa}),en={version:"Версия",invalid_configuration:"Неверная конфигурация {0}",description:"Карточка, позволяющая управлять вашим пылесосом",old_configuration:"Обнаружена устаревшая конфигурация. Приведите ваш конфиг в соответствие с новой версией, или создайте новую карточку с нуля.",old_configuration_migration_link:"Руководство по переходу с предыдущих версий."},tn={invalid:"Неверный шаблон!",vacuum_goto:"Точка назначения",vacuum_goto_predefined:"Предустановленные точки",vacuum_clean_segment:"Комнаты",vacuum_clean_point:"Уборка точки",vacuum_clean_point_predefined:"Список точек",vacuum_clean_zone:"Уборка зоны",vacuum_clean_zone_predefined:"Список зон",vacuum_follow_path:"Путь"},an={preset:{entity:{missing:"Не указано свойство: entity"},preset_name:{missing:"Не указано свойство: preset_name"},platform:{invalid:"Неверная платформа: {0}"},map_source:{missing:"Не указано свойство: map_source",none_provided:"Не предоставлена ни камера ни изображение",ambiguous:"Допустим только один источник для карты"},calibration_source:{missing:"Не указано свойство: calibration_source",ambiguous:"Допустим только один источник для калибровки",none_provided:"Не предоставлен источник калибровки",calibration_points:{invalid_number:"Для калибровки требуется 3 или 4 точки",missing_map:"Каждая точка калибровки должна содержать координаты карты",missing_vacuum:"Каждая точка калибровки должна содержать координаты пылесоса",missing_coordinate:"Калибровочные точки карты и пылесоса должны содержать как x так и y координаты"}},icons:{invalid:"Ошибка в конфигурации: icons",icon:{missing:"Каждое вхождение в списке иконок должен содержать icon property"}},tiles:{invalid:"Ошибка в конфигурации: tiles",entity:{missing_outdated_translation:"Каждое вхождение в списке плиток должно содержать entity"},label:{missing:"Каждое вхождение в списке плиток должно содержать label"}},map_modes:{invalid:"Ошибка в конфигурации: map_modes",icon:{missing:"Не указана иконка для влажной уборки"},name:{missing:"Не указано имя для влажной уборки"},template:{invalid:"Неверный шаблон: {0}"},predefined_selections:{not_applicable:"Режим {0} не поддерживает предустановленые элементы",zones:{missing:"Не указана конфигурация зоны",invalid_parameters_number:"Каждая зона должна содержать 4 параметра"},points:{position:{missing:"Не указана конфигурация для точек",invalid_parameters_number:"Каждая точка должна содержать 2 параметра"}},rooms:{id:{missing:"Не указан id комнаты",invalid_format:"Некорректный id комнаты: {0}"},outline:{invalid_parameters_number:"Каждая точка контура комнаты должна содержать 2 параметра"}},label:{x:{missing:"Ярлык должен содержать свойство x"},y:{missing:"Ярлык должен содержать свойство y"},text:{missing:"Ярлык должен содержать свойство text"}},icon:{x:{missing:"Иконка должна содержать свойство x"},y:{missing:"Иконка должна содержать свойство y"},name:{missing:"Иконка должна содержать свойство name"}}},service_call_schema:{missing:"Отсутствует схема вызова службы",service:{missing:"Схема вызова службы должна содержать service",invalid:"Некорректная служба: {0}"}}}},invalid_entities:"Некорректные сущности:",invalid_calibration:"Некорректная калибровка, проверьте вашу конфигурацию"},nn={status:{label:"Статус",value:{starting:"Начало уборки","charger disconnected":"Зарядное устройство отключено",idle:"Ожидание","remote control active":"Включено управление через пульт",cleaning:"Уборка","returning home":"Возвращение на базу","manual mode":"Ручной режим",charging:"Зарядка","charging problem":"Проблема с зарядкой",paused:"Пауза","spot cleaning":"Уборка точки",error:"Ошибка","shutting down":"Выключение",updating:"Обновление",docking:"Остановка у базы","going to target":"Направление до точки","zoned cleaning":"Уборка зоны","segment cleaning":"Уборка","emptying the bin":"Очистка бака","charging complete":"Зарядка завершена","device offline":"Устройство не в сети"}},battery_level:{label:"Уровень заряда"},fan_speed:{label:"Мощность всасывания",value:{silent:"Тихий",standard:"Стандарт",medium:"Средний",turbo:"Турбо",auto:"Авто",gentle:"Слабый"}},sensor_dirty_left:{label:"Уровень загрязнения датчиков"},filter_left:{label:"Ресурс фильтра"},main_brush_left:{label:"Ресурс основной щётки"},side_brush_left:{label:"Ресурс боковой щётки"},cleaning_count:{label:"Число уборок"},cleaned_area:{label:"Площадь уборки"},cleaning_time:{label:"Время уборки"},mop_left:{label:"Ресурс тряпки"}},on={vacuum_start:"Старт",vacuum_pause:"Пауза",vacuum_stop:"Стоп",vacuum_return_to_base:"Вернуть к базе",vacuum_clean_spot:"Убрать точку",vacuum_locate:"Обнаружить",vacuum_set_fan_speed:"Изменить мощность всасывания"},rn={hour_shortcut:"ч",meter_shortcut:"м",meter_squared_shortcut:"м²",minute_shortcut:"мин"},sn={success:"Успех!",no_selection:"Ничего не выбрано",failed:"Не удалось вызвать службу"},ln={description:{before_link:"Данный редактор поддерживает только базовую конфигурацию с камерой, созданной посредством",link_text:"Xiaomi Cloud Map Extractor",after_link:". Для более тонкой настройки, используйте YAML-мод."},label:{name:"Заголовок (опционально)",entity:"Сущность пылесоса (обязательно)",camera:"Сущность камеры (обязательно)",vacuum_platform:"Платформа пылесоса (обязательно)",map_locked:"Блокировка карты (опционально)",two_finger_pan:"Перемещение жестом двумя пальцами (опционально)"}},cn={common:en,map_mode:tn,validation:an,tile:nn,icon:on,unit:rn,popups:sn,editor:ln},dn=Object.freeze({__proto__:null,common:en,map_mode:tn,validation:an,tile:nn,icon:on,unit:rn,popups:sn,editor:ln,default:cn}),un={version:"Verzia",invalid_configuration:"Neplatná konfigurácia {0}",description:"Karta pomocou ktorej môžete ovládať váš vysávač",old_configuration:"Detekovaná zastaralá konfigurácia. Upravte prosím konfiguráciu alebo kartu vytvorte znovu od začiatku.",old_configuration_migration_link:"Návod na úpravu konfigurácie"},mn={invalid:"Neplatná šablóna",vacuum_goto:"Presun na bod",vacuum_goto_predefined:"Presun na bod zo zoznamu",vacuum_clean_segment:"Upratovanie miestnosti",vacuum_clean_point:"Upratovanie bodu",vacuum_clean_point_predefined:"Upratovanie bodu zo zoznamu",vacuum_clean_zone:"Upratovanie oblasti",vacuum_clean_zone_predefined:"Upratovanie oblasti zo zoznamu",vacuum_follow_path:"Trasa"},pn={preset:{entity:{missing:'Chýbajúca položka "entity"'},preset_name:{missing:'Chýbajúca položka "preset_name"'},platform:{invalid:"Neplatná platforma vysávača: {0}"},map_source:{missing:'Chýbajúca položka "map_source"',none_provided:"Chýbajúci odkaz na kameru alebo obrázok s mapou",ambiguous:"Povolený iba jeden zdroj mapy"},calibration_source:{missing:'Chýbajúca položka "calibration_source"',ambiguous:"Povolený iba jeden zdroj kalibrácie",none_provided:"Chýbajúci zdroj kalibrácie",calibration_points:{invalid_number:"Požadované 3 alebo 4 kalibračné body",missing_map:"Každý kalibračný bod musí obsahovať súradnice mapy",missing_vacuum:"Každý kalibračný bod musí obsahovať súradnice vysávača",missing_coordinate:'Súradnice mapy aj vysávače musia vždy obsahovať položku "x" a "y"'}},icons:{invalid:'Neplatná konfigurácia pre položku "icons"',icon:{missing:'Každý záznam v zozname ikon musí vždy obsahovať položku "icon"'}},tiles:{invalid:'Neplatná konfigurácia pre položku "tiles"',entity:{missing_outdated_translation:'Každý záznam v zozname dlaždíc musí vždy obsahovať položku "entity"'},label:{missing:'Každý záznam v zozname dlaždíc musí vždy obsahovať položku "label"'}},map_modes:{invalid:'Neplatná konfigurácia pre položku "map_modes"',icon:{missing:"Chýbajúca ikona pre mapový režim"},name:{missing:"Chýbajúci názov pre mapový režim"},template:{invalid:"Neplatná šablóna: {0}"},predefined_selections:{not_applicable:"Režim {0} nepodporuje výber z prednastavených možností",zones:{missing:"Chýbajúce konfigurácie oblastí",invalid_parameters_number:"Každá oblasť musí mať 4 parametre"},points:{position:{missing:"Chýbajúce konfigurácie bodov",invalid_parameters_number:"Každý bod musí mať 2 parametre"}},rooms:{id:{missing:"Chýbajúci ID miestnosti",invalid_format:"Neplatný ID miestnosti: {0}"},outline:{invalid_parameters_number:"Každý bod ohraničenia miestnosti musí mať 2 parametre"}},label:{x:{missing:'Štítok musí mať položku "x"'},y:{missing:'Štítok musí mať položku "y"'},text:{missing:'Štítok musí mať položku "text"'}},icon:{x:{missing:'Ikona musí mať položku "x"'},y:{missing:'Ikona musí mať položku "y"'},name:{missing:'Ikona musí mať položku "name"'}}},service_call_schema:{missing:"Chýbajúci formát volania služby",service:{missing:'Formát volania služby musí obsahovať položku "service"',invalid:"Neplatná služba: {0}"}}}},invalid_entities:"Neplatné entity:",invalid_calibration:"Neplatná kalibrácia, prosím skontrolujte konfiguráciu"},_n={status:{label:"Stav",value:{starting:"Zapínanie","charger disconnected":"Nabíječka odpojena",idle:"Nečinný","remote control active":"Diaľkové ovládanie aktívne",cleaning:"Upratovanie","returning home":"Návrat do základne","manual mode":"Manuálny režim",charging:"Nabíjanie","charging problem":"Problém s nabíjaním",paused:"Pozastavený","spot cleaning":"Upratovanie bodu",error:"Chyba","shutting down":"Vypínanie",updating:"Prebieha aktualizácia",docking:"Parkovanie","going to target":"Presun na bod","zoned cleaning":"Upratovanie oblasti","segment cleaning":"Upratovanie miestnosti","emptying the bin":"Vyprázdňovanie zásobníka","charging complete":"Nabíjanie dokončené","device offline":"Zariadenie je nedostupné"}},battery_level:{label:"Batéria"},fan_speed:{label:"Stupeň vysávania",value:{silent:"Tiché",standard:"Štandardné",medium:"Stredné",turbo:"Turbo",auto:"Automatické",gentle:"Slabé"}},sensor_dirty_left:{label:"Čistota senzorov"},filter_left:{label:"Životnosť filtra"},main_brush_left:{label:"Životnosť hlavnej kefy"},side_brush_left:{label:"Životnosť bočej kefy"},cleaning_count:{label:"Počet upratovaní"},cleaned_area:{label:"Uprataná plocha"},cleaning_time:{label:"Doba upratovania"},mop_left:{label:"Životnosť mopu"}},vn={vacuum_start:"Začať upratovanie",vacuum_pause:"Pozastaviť upratovanie",vacuum_stop:"Ukončiť upratovanie",vacuum_return_to_base:"Návrat do základne",vacuum_clean_spot:"Upratať bod",vacuum_locate:"Nájsť",vacuum_set_fan_speed:"Nastaviť stupeň vysávania"},gn={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},hn={success:"Volanie služby bolo úspešné",no_selection:"Nebol vykonaný žiadny výber",failed:"Volanie služby zlyhalo"},fn={description:{before_link:"Tento editor podporuje iba základnú konfiguráciu s použitím entity kamera vytvorené pomocou ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Pre pokročilé nastavenia použite editor kódu."},label:{name:"Titulok (voliteľná položka)",entity:"Entita vysávača (povinná položka)",camera:"Entita kamery (povinná položka)",vacuum_platform:"Platforma vysávača (povinná položka)",map_locked:"Uzamknutie mapy",two_finger_pan:"Posuv mapy dvoma prstami"}},bn={common:un,map_mode:mn,validation:pn,tile:_n,icon:vn,unit:gn,popups:hn,editor:fn},yn=Object.freeze({__proto__:null,common:un,map_mode:mn,validation:pn,tile:_n,icon:vn,unit:gn,popups:hn,editor:fn,default:bn}),kn={version:"Version",invalid_configuration:"Ogiltig configuration {0}",description:"Ett kort som låter dig kontrollera din dammsugare",old_configuration:"Gammal konfiguration upptäckt. Editera din konfiguration till senaste schema eller skapa ett nytt kort från början.",old_configuration_migration_link:"Guide för migrering"},An={invalid:"Ogiltig template!",vacuum_goto:"Klicka & Gå",vacuum_goto_predefined:"Punkter",vacuum_clean_segment:"Rum",vacuum_clean_point:"Städpunkt",vacuum_clean_point_predefined:"Punkter",vacuum_clean_zone:"Zonstädning",vacuum_clean_zone_predefined:"Zonlista",vacuum_follow_path:"Bana"},xn={preset:{entity:{missing:"Saknar egenskap: entity"},preset_name:{missing:"Saknar egenskap: preset_name"},platform:{invalid:"Ogiltig dammsugarplattform: {0}"},map_source:{missing:"Saknar egenskap: map_source",none_provided:"Ingen kamera elle bild angiven",ambiguous:"Endast en kartkälla tillåts"},calibration_source:{missing:"Saknar egenskap: calibration_source",ambiguous:"Endast en kalibreringskälla tillåts",none_provided:"Ingen kallibreringskälla angiven",calibration_points:{invalid_number:"Exakt 3 eller 4 kalibreringspunkter krävs",missing_map:"Varje kalibreringspunkt måste innehålla koordinater för karta",missing_vacuum:"Varje kalibreringspunkt måste innehålla koordinater för dammsugare",missing_coordinate:"Kalibreringspunkter för karta och dammsugare måste innehålla både x och y koordinater"}},icons:{invalid:"Fel i konfigurationen: icons",icon:{missing:"Varje post med icons måste innehålla icon-egenskap"}},tiles:{invalid:"Fel i konfigurationen: tiles",entity:{missing_outdated_translation:"Varje post med tiles måste innehålla entity"},label:{missing:"Varje post med tiles måste innehålla label"}},map_modes:{invalid:"Fel i konfigurationen: map_modes",icon:{missing:"Saknar ikon för map mode"},name:{missing:"Saknar namn för map mode"},template:{invalid:"Ogiltig template: {0}"},predefined_selections:{not_applicable:"Läge {0} har inte stöd för fördefinierade val",zones:{missing:"Zonens konfiguration saknas",invalid_parameters_number:"Varje zon måste ha 4 parametrar"},points:{position:{missing:"Punktens konfiguration saknas",invalid_parameters_number:"Varje punkt måste ha 2 parametrar"}},rooms:{id:{missing:"Rummets id saknas",invalid_format:"Felaktigt id för rum: {0}"},outline:{invalid_parameters_number:"Varje punk för rumskonturen måste ha 2 parametrar"}},label:{x:{missing:"Label måste ha egenskapen x"},y:{missing:"Label måste ha egenskapen y"},text:{missing:"Label måste ha egenskapen text"}},icon:{x:{missing:"Icon måste ha egenskapen x"},y:{missing:"Icon måste ha egenskapen y"},name:{missing:"Icon måste ha egenskapen name"}}},service_call_schema:{missing:"Service call schema saknas",service:{missing:"Service call schema måste innehålla service",invalid:"Ogiltig service: {0}"}}}},invalid_entities:"Ogiltiga entiteter:",invalid_calibration:"Ogiltig kalibrering, vänligen se över din konfiguration"},En={status:{label:"Status",value:{starting:"Startar","charger disconnected":"Laddare frånkopplad",idle:"Inaktiv","remote control active":"Fjärrkontroll aktiv",cleaning:"Städar","returning home":"Återvänder hem","manual mode":"Manuellt läge",charging:"Laddar","charging problem":"Laddningsproblem",paused:"Pausad","spot cleaning":"Spot-rengöring",error:"Fel","shutting down":"Stänger av",updating:"Uppdaterar",docking:"Dockar","going to target":"Går till destination","zoned cleaning":"Städning av zon","segment cleaning":"Städning av rum","emptying the bin":"Tömmer behållaren","charging complete":"Färdigladdad","device offline":"Enhet offline"}},battery_level:{label:"Batteri"},fan_speed:{label:"Fläkthastighet",value:{silent:"Tyst",standard:"Standard",medium:"Medium",turbo:"Turbo",auto:"Auto",gentle:"Försiktig"}},sensor_dirty_left:{label:"Sensorer kvar"},filter_left:{label:"Filter kvar"},main_brush_left:{label:"Huvudborste kvar"},side_brush_left:{label:"Sidoborste kvar"},cleaning_count:{label:"Antal städningar"},cleaned_area:{label:"Städat område"},cleaning_time:{label:"Städtid"},mop_left:{label:"Mopp kvar"}},wn={vacuum_start:"Start",vacuum_pause:"Paus",vacuum_stop:"Stopp",vacuum_return_to_base:"Återgå till basen",vacuum_clean_spot:"Spot-rengöring",vacuum_locate:"Lokalisera",vacuum_set_fan_speed:"Ändra fläkthastighet"},zn={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},Pn={success:"Lyckades!",no_selection:"Inget urval tillhandahålls",failed:"Mysslyckades kalla på tjänsten"},Mn={description:{before_link:"Denna visuella redigerare stöder endast en grundläggande konfiguration med en kameraenhet skapad med hjälp av ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Använd YAML-läget för avancerade inställningar."},label:{name:"Titel (valfritt)",entity:"Dammsugar-entitet (obligatoriskt)",camera:"Kamera-entitet (obligatoriskt)",vacuum_platform:"Dammsugarplattform (obligatoriskt)",map_locked:"Låst karta (valfritt)",two_finger_pan:"Panorering med två fingrar (valfritt)"}},Tn={common:kn,map_mode:An,validation:xn,tile:En,icon:wn,unit:zn,popups:Pn,editor:Mn},Sn=Object.freeze({__proto__:null,common:kn,map_mode:An,validation:xn,tile:En,icon:wn,unit:zn,popups:Pn,editor:Mn,default:Tn}),Cn={version:"Sürüm",invalid_configuration:"Geçersiz yapılandırma {0}",description:"Vakumunuzu kontrol etmenizi sağlayan bir kart",old_configuration:"Eski yapılandırma algılandı. Yapılandırmanızı en son şemaya göre ayarlayın veya sıfırdan yeni bir kart oluşturun.",old_configuration_migration_link:"Taşıma kılavuzu"},On={invalid:"Geçersiz şablon!",vacuum_goto:"Sabitle ve Git",vacuum_goto_predefined:"Noktalar",vacuum_clean_segment:"Odalar",vacuum_clean_point:"Temiz alan",vacuum_clean_point_predefined:"Noktalar",vacuum_clean_zone:"Bölge temizliği",vacuum_clean_zone_predefined:"Bölge listesi",vacuum_follow_path:"Yol"},Nn={preset:{entity:{missing:"Eksik özellik: varlık"},preset_name:{missing:"Eksik özellik: ön_ayar_adı(preset_name)"},platform:{invalid:"Geçersiz vakum platformu: {0}"},map_source:{missing:"Eksik özellik: harita kaynağı (map_source)",none_provided:"Kamera yok, görüntü de sağlanmadı",ambiguous:"Yalnızca bir harita kaynağına izin verilir"},calibration_source:{missing:"Eksik özellik: kalibrasyon_kaynak (calibration_source)",ambiguous:"Yalnızca bir kalibrasyon kaynağına izin verilir",none_provided:"Kalibrasyon kaynağı sağlanmadı",calibration_points:{invalid_number:"Tam olarak 3 veya 4 kalibrasyon noktası gerekli",missing_map:"Her kalibrasyon noktası harita koordinatlarını içermelidir",missing_vacuum:"Her kalibrasyon noktası vakum koordinatlarını içermelidir",missing_coordinate:"Harita ve vakum kalibrasyon noktaları hem x hem de y koordinatını içermelidir"}},icons:{invalid:"Yapılandırmada hata: simgeler",icon:{missing:"Simgeler listesinin her girişi, simge özelliği içermelidir"}},tiles:{invalid:"Yapılandırmada hata: döşemeler",entity:{missing_outdated_translation:"Kutucuk listesinin her girişi varlık içermelidir"},label:{missing:"Fayans listesinin her girişi etiket içermelidir"}},map_modes:{invalid:"Yapılandırmada hata: map_modes",icon:{missing:"Harita modunun eksik simgesi"},name:{missing:"Harita modunun adı eksik"},template:{invalid:"Geçersiz şablon: {0}"},predefined_selections:{not_applicable:"Mod {0} önceden tanımlanmış seçimleri desteklemiyor",zones:{missing:"Eksik bölge yapılandırması",invalid_parameters_number:"Her bölgenin 4 parametresi olmalıdır"},points:{position:{missing:"Eksik nokta yapılandırması",invalid_parameters_number:"Her noktanın 2 parametresi olmalıdır"}},rooms:{id:{missing:"Eksik oda kimliği",invalid_format:"Geçersiz oda kimliği: {0}"},outline:{invalid_parameters_number:"Oda anahattının her noktası 2 parametreye sahip olmalıdır"}},label:{x:{missing:"Etiketin x özelliği olmalıdır"},y:{missing:"Etiketin y özelliği olmalıdır"},text:{missing:"Etiketin metin özelliği olmalıdır"}},icon:{x:{missing:"Simgenin x özelliği olmalıdır"},y:{missing:"Simgenin y özelliği olmalıdır"},name:{missing:"Simge isim özelliğine sahip olmalıdır"}}},service_call_schema:{missing:"Eksik servis çağrısı şeması",service:{missing:"Servis çağrısı şeması servis içermelidir",invalid:"Geçersiz hizmet: {0}"}}}},invalid_entities:"Geçersiz varlıklar:",invalid_calibration:"Geçersiz kalibrasyon, lütfen yapılandırmanızı kontrol edin"},Rn={status:{label:"Durum",value:{starting:"Başlangıç","charger disconnected":"Şarj cihazının bağlantısı kesildi",idle:"Idle","remote control active":"Uzaktan kumanda aktif",cleaning:"Temizleme","returning home":"Eve dönüş","manual mode":"Manual mod",charging:"Şarj oluyor","charging problem":"Şarj sorunu",paused:"Duraklatıldı","spot cleaning":"Nokta temizleme",error:"Hata","shutting down":"Kapatılıyor",updating:"Güncelleniyor",docking:"Yerleştirme","going to target":"Hedefe gidiyor","zoned cleaning":"Bölgeli temizlik","segment cleaning":"Segment temizliği","emptying the bin":"Çöp haznesini boşalt","charging complete":"Şarj tamamlandı","device offline":"Cihaz çevrimdışı"}},battery_level:{label:"Pil"},fan_speed:{label:"Süpürme Modu",value:{silent:"Sessiz",standard:"Standart",medium:"Orta",turbo:"Güçlü",auto:"Otomatik",gentle:"Uysal"}},sensor_dirty_left:{label:"Sensör kirli"},filter_left:{label:"Filtre"},main_brush_left:{label:"Ana Fırça"},side_brush_left:{label:"Yan Fırça"},cleaning_count:{label:"Temizleme sayısı"},cleaned_area:{label:"Temizlenmiş alan"},cleaning_time:{label:"Temizlik zamanı"},mop_left:{label:"Paspaslama"}},$n={vacuum_start:"Başlat",vacuum_pause:"Duraklat",vacuum_stop:"Durdur",vacuum_return_to_base:"Üniteye geri dön",vacuum_clean_spot:"Temiz nokta",vacuum_locate:"Bul",vacuum_set_fan_speed:"Fan hızını değiştir"},jn={hour_shortcut:"S",meter_shortcut:"D",meter_squared_shortcut:"m²",minute_shortcut:"Sn"},Ln={success:"Başarı!",no_selection:"Seçim sağlanmadı",failed:"Servis aranamadı"},In={description:{before_link:"Bu görsel düzenleyici, kullanılarak oluşturulan bir kamera varlığı ile yalnızca temel bir yapılandırmayı destekler.",link_text:"Xiaomi Bulut Haritası Çıkarıcı",after_link:". Daha gelişmiş kurulum için YAML modunu kullanın."},label:{name:"Başlık (isteğe bağlı)",entity:"Vakum varlığı (gerekli)",camera:"Kamera varlığı (gerekli)",vacuum_platform:"Vakum platformu (gerekli)",map_locked:"Harita kilitli (isteğe bağlı)",two_finger_pan:"İki parmaklı tava (isteğe bağlı)"}},Dn={common:Cn,map_mode:On,validation:Nn,tile:Rn,icon:$n,unit:jn,popups:Ln,editor:In},Vn=Object.freeze({__proto__:null,common:Cn,map_mode:On,validation:Nn,tile:Rn,icon:$n,unit:jn,popups:Ln,editor:In,default:Dn}),Fn={version:"Version",invalid_configuration:"Недійсна конфігурація {0}",description:"Картка, яка дає змогу контролювати пилосос",old_configuration:"Виявлено стару конфігурацію. Налаштуйте конфігурацію до останньої схеми або створіть нову картку з початку.",old_configuration_migration_link:"Посібник з міграції"},Un={invalid:"Недійсний шаблон!",vacuum_goto:"Рух до цілі",vacuum_goto_predefined:"Збережені точки",vacuum_clean_segment:"Кімнати",vacuum_clean_point:"Точкове прибирання",vacuum_clean_point_predefined:"Збережені точки",vacuum_clean_zone:"Зональне прибирання",vacuum_clean_zone_predefined:"Список зон",vacuum_follow_path:"Шлях"},qn={preset:{entity:{missing:"Відсутній параметр: entity"},preset_name:{missing:"Відсутній параметр: preset_name"},platform:{invalid:"Недійсна платформа пилососа: {0}"},map_source:{missing:"Відсутній параметр: map_source",none_provided:"Не вказано джерело мапи",ambiguous:"Дозволено тільки одне джерело мапи"},calibration_source:{missing:"Відсутній параметр: calibration_source",ambiguous:"Дозволено тільки одне джерело калібрування",none_provided:"Не вказано джерело калібрування",calibration_points:{invalid_number:"Потрібні 3 або 4 точки калібрування",missing_map:"Кожна точка калібрування повинна мати координати на мапі",missing_vacuum:"Кожна точка калібрування повинна мати координати в системі пилососа",missing_coordinate:"Кожна точка калібрування повинна мати координати x і y"}},icons:{invalid:"Помилка в конфігурації: icons",icon:{missing:'Кожен елемент у списку піктограм повинен мати параметр "icon"'}},tiles:{invalid:"Помилка в конфігурації: tiles",entity:{missing_outdated_translation:'Кожен елемент у списку плиток повинен мати параметр "entity"'},label:{missing:'Кожен елемент у списку плиток повинен мати параметр "label"'}},map_modes:{invalid:"Помилка в конфігурації: map_modes",icon:{missing:"Відсутня піктограма шаблону режиму мапи"},name:{missing:"Відсутня назва шаблону режиму мапи"},template:{invalid:"Недійсний шаблон: {0}"},predefined_selections:{not_applicable:"Шаблон {0} не підтримує збереження вибраних елементів",zones:{missing:"Відсутній список збережених зон",invalid_parameters_number:"Кожна збережена зона повинна мати 4 координати"},points:{position:{missing:"Відсутній список збережених точок",invalid_parameters_number:"Кожна записана точка повинна мати 2 координати"}},rooms:{id:{missing:"Відсутній ідентифікатор кімнати",invalid_format:"Недійсний ідентифікатор кімнати: {0}"},outline:{invalid_parameters_number:"Кожна точка контуру кімнати повинна мати 2 координати"}},label:{x:{missing:"Кожна мітка повинна мати координату x"},y:{missing:"Кожна мітка повинна мати координату y"},text:{missing:"Кожна мітка повинна містити текст"}},icon:{x:{missing:"Кожна піктограма повинна мати координату x"},y:{missing:"Кожна піктограма повинна мати координату y"},name:{missing:'Кожна піктограма повинна мати параметр "name"'}}},service_call_schema:{missing:"Відсутня схема виклику служби",service:{missing:"Кожна схема служби повинна мати назву служби",invalid:"Недійсна служба: {0}"}}}},invalid_entities:"Недійсні сутності:",invalid_calibration:"Неправильне калібрування, перевірте конфігурацію"},Hn={status:{label:"Статус",value:{starting:"Початок","charger disconnected":"Зарядний пристрій відключено",idle:"Неактивний","remote control active":"Пульт",cleaning:"Прибирання","returning home":"Повернення до док-станції","manual mode":"Ручний режим",charging:"Заряджання","charging problem":"Проблема з заряджанням",paused:"Призупинено","spot cleaning":"Точкове очищення",error:"Помилка","shutting down":"Вимкнення",updating:"Оновлення",docking:"Стиковка","going to target":"По шляху до цілі","zoned cleaning":"Зональне прибирання","segment cleaning":"Прибирання кімнати","emptying the bin":"Спорожнення контейнера","charging complete":"Заряджання завершено","device offline":"Офлайн"}},battery_level:{label:"Батарея"},fan_speed:{label:"Потужність",value:{silent:"Тихий",standard:"Стандарт",medium:"Середній",turbo:"Турбо",auto:"Авто",gentle:"Делікатний"}},sensor_dirty_left:{label:"Сенсор"},filter_left:{label:"Фільтр"},main_brush_left:{label:"Основна щітка"},side_brush_left:{label:"Бокова щітка"},cleaning_count:{label:"Лічильник прибирань"},cleaned_area:{label:"Прибрано"},cleaning_time:{label:"Час прибирання"},mop_left:{label:"Швабра"}},Kn={vacuum_start:"Старт",vacuum_pause:"Пауза",vacuum_stop:"Стоп",vacuum_return_to_base:"Повернення на базу",vacuum_clean_spot:"Прибрати місце",vacuum_locate:"Пошук",vacuum_set_fan_speed:"Зміна потужності"},Xn={hour_shortcut:"h",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"min"},Gn={success:"Успіх!",no_selection:"Виділення не зроблено",failed:"Не вдалося викликати службу"},Bn={description:{before_link:"Цей редактор інтерфейсу підтримує лише базову конфігурацію для камери, створеної за допомогою ",link_text:"Xiaomi Cloud Map Extractor",after_link:". Для більш розширеного налаштування використовуйте режим YAML."},label:{name:"Назва (опція)",entity:"Сутність пилососу (необхідно)",camera:"Сутність камери (необхідно)",vacuum_platform:"Платформа інтеграції пилососу (необхідно)",map_locked:"Блокування мапи (опція)",two_finger_pan:"Переміщеня мапи двома пальцями (опція)"}},Zn={common:Fn,map_mode:Un,validation:qn,tile:Hn,icon:Kn,unit:Xn,popups:Gn,editor:Bn},Yn=Object.freeze({__proto__:null,common:Fn,map_mode:Un,validation:qn,tile:Hn,icon:Kn,unit:Xn,popups:Gn,editor:Bn,default:Zn}),Jn={version:"版本",invalid_configuration:"配置无效 {0}",description:"一个可以控制扫地机的卡片",old_configuration:"检测到旧版本的配置。请按照新版本说明修改配置或者重新创建新卡片",old_configuration_migration_link:"迁移向导"},Wn={invalid:"模板无效!",vacuum_goto:"指哪到哪",vacuum_goto_predefined:"目标点",vacuum_clean_segment:"选区清扫",vacuum_clean_point:"局部清扫",vacuum_clean_point_predefined:"自定义局部清扫",vacuum_clean_zone:"划区清扫",vacuum_clean_zone_predefined:"自定义区域清扫",vacuum_follow_path:"路径规划"},Qn={preset:{entity:{missing:"缺少属性:entity"},preset_name:{missing:"缺少属性:preset_name"},platform:{invalid:"扫地机平台无效:{0}"},map_source:{missing:"缺少属性:map_source",none_provided:"未提供摄像头或者图像",ambiguous:"只允许一张地图"},calibration_source:{missing:"缺少属性:calibration_source",ambiguous:"只允许一个校准源",none_provided:"未提供校准源",calibration_points:{invalid_number:"需要3或4个校准点",missing_map:"每个校准点必须包含地图坐标",missing_vacuum:"每个校准点必须包含扫地机坐标",missing_coordinate:"地图校准点和扫地机校准点必须同时包含x坐标和y坐标"}},icons:{invalid:"配置错误:icons",icon:{missing:"图标列表中每一条记录必须包含icon属性"}},tiles:{invalid:"配置错误:tiles",entity:{missing_outdated_translation:"板块列表中每一条记录必须包含实体"},label:{missing:"板块列表中每一条记录必须包含标签"}},map_modes:{invalid:"配置错误:map_modes",icon:{missing:"缺少该地图模式的图标"},name:{missing:"缺少该地图模式的名称"},template:{invalid:"模板无效:{0}"},predefined_selections:{not_applicable:"模式 {0} 不支持选择预置",zones:{missing:"缺少区域配置",invalid_parameters_number:"每个区域必须包含4个参数"},points:{position:{missing:"缺少坐标点配置",invalid_parameters_number:"每个坐标点必须包含2个参数"}},rooms:{id:{missing:"缺少房间id",invalid_format:"房间id无效:{0}"},outline:{invalid_parameters_number:"每个房间边框必须包含2个参数"}},label:{x:{missing:"标签必须包含x值"},y:{missing:"标签必须包含y值"},text:{missing:"标签必须包含文本值"}},icon:{x:{missing:"图标必须包含x值"},y:{missing:"标题必须包含y值"},name:{missing:"标题必须包含名称"}}},service_call_schema:{missing:"缺少服务调用架构",service:{missing:"服务调用架构必须包含服务",invalid:"服务无效:{0}"}}}},invalid_entities:"实体无效:",invalid_calibration:"校准无效,请检查配置"},eo={status:{label:"状态",value:{starting:"开始清扫","charger disconnected":"与充电座断开",idle:"空闲","remote control active":"开始遥控模式",cleaning:"清扫中","returning home":"正在回充","manual mode":"手动模式",charging:"正在充电","charging problem":"充电错误",paused:"暂停","spot cleaning":"局部清扫",error:"错误","shutting down":"正在关机",updating:"正在更新",docking:"停靠","going to target":"正在前往目标点","zoned cleaning":"划区清扫","segment cleaning":"选区清扫","emptying the bin":"清理尘盒","charging complete":"充电完成","device offline":"设备离线"}},battery_level:{label:"剩余电量"},fan_speed:{label:"吸力",value:{silent:"安静",standard:"标准",medium:"强力",turbo:"MAX",auto:"自动",gentle:"轻柔"}},sensor_dirty_left:{label:"传感器维护剩余"},filter_left:{label:"滤网剩余"},main_brush_left:{label:"主刷剩余"},side_brush_left:{label:"边刷剩余"},cleaning_count:{label:"总清扫次数"},cleaned_area:{label:"总清扫面积"},cleaning_time:{label:"总清扫时间"},mop_left:{label:"拖布剩余"}},to={vacuum_start:"开始",vacuum_pause:"暂停",vacuum_stop:"结束",vacuum_return_to_base:"回充",vacuum_clean_spot:"局部清扫",vacuum_locate:"定位",vacuum_set_fan_speed:"更改吸力"},io={hour_shortcut:"小时",meter_shortcut:"米",meter_squared_shortcut:"平米",minute_shortcut:"分钟"},ao={success:"指令发送成功!",no_selection:"未提供选择",failed:"调用服务失败"},no={description:{before_link:"该可视化编辑器仅支持一些基本配置,且必须使用以下集成创建的摄像机实体:",link_text:"Xiaomi Cloud Map Extractor",after_link:"。想要使用高级设置,请使用YAML模式"},label:{name:"标题(可选)",entity:"扫地机实体(必填)",camera:"摄像机实体(必填)",vacuum_platform:"扫地机平台(必填)",map_locked:"地图锁定(可选)",two_finger_pan:"双指缩放(可选)"}},oo={common:Jn,map_mode:Wn,validation:Qn,tile:eo,icon:to,unit:io,popups:ao,editor:no},ro=Object.freeze({__proto__:null,common:Jn,map_mode:Wn,validation:Qn,tile:eo,icon:to,unit:io,popups:ao,editor:no,default:oo}),so={version:"版本",invalid_configuration:"設定錯誤 {0}",description:"一張能讓您控制掃地機器人的卡片",old_configuration:"檢測到設定已過時,請按照新版本說明並進行修正或重新新增一張新的卡片",old_configuration_migration_link:"移轉指南"},lo={invalid:"模板錯誤!",vacuum_goto:"指哪到哪",vacuum_goto_predefined:"目標點",vacuum_clean_segment:"選區清掃",vacuum_clean_point:"局部清掃",vacuum_clean_point_predefined:"局部目標",vacuum_clean_zone:"劃區清掃",vacuum_clean_zone_predefined:"目標區域",vacuum_follow_path:"路徑規劃"},co={preset:{entity:{missing:"設定錯誤: entity"},preset_name:{missing:"設定錯誤: preset_name"},platform:{invalid:"錯誤的 vacuum platform: {0}"},map_source:{missing:"設定錯誤: map_source",none_provided:"未提供攝影機或圖片",ambiguous:"只允許一張地圖源"},calibration_source:{missing:"設定錯誤: calibration_source",ambiguous:"只允許一個校準源",none_provided:"未提供校準源",calibration_points:{invalid_number:"需要 3 或 4 個校準點",missing_map:"每個校準點必須包含地圖座標",missing_vacuum:"每個校準點必須包含吸塵器座標",missing_coordinate:"地圖校準點和吸塵器校準點必須同時包含 x 座標和 y 座標"}},icons:{invalid:"設定錯誤: icons",icon:{missing:"Icon list 必須包含 icon"}},tiles:{invalid:"設定錯誤: tiles",entity:{missing_outdated_translation:"tiles list 必須包含 entity"},label:{missing:"tiles list 必須包含 label"}},map_modes:{invalid:"設定錯誤: map_modes",icon:{missing:"Map modes 的 icon(圖標) 設定錯誤"},name:{missing:"Map modes 的 name(名稱) 設定錯誤"},template:{invalid:"模板錯誤: {0}"},predefined_selections:{not_applicable:"Mode {0} 不支援 predefined selections",zones:{missing:"zones 設定錯誤",invalid_parameters_number:"zones 必須包含 4 個參數"},points:{position:{missing:"points 設定錯誤",invalid_parameters_number:"points 必須包含 2 個參數"}},rooms:{id:{missing:"room id 錯誤",invalid_format:"room id 錯誤: {0}"},outline:{invalid_parameters_number:"room 的 point(座標) 必須包含 2 個參數"}},label:{x:{missing:"label 必須包含 x 值"},y:{missing:"label 必須包含 y 值"},text:{missing:"label 必須包含 text"}},icon:{x:{missing:"icon 必須包含 x 值"},y:{missing:"icon 必須包含 y 值"},name:{missing:"icon 必須包含 name"}}},service_call_schema:{missing:"服務執行失敗",service:{missing:"執行服務(service)必須包含該服務(service)",invalid:"服務錯誤: {0}"}}}},invalid_entities:"錯誤的 entities(實體): ",invalid_calibration:"calibration(校準)失敗,請檢查設定"},uo={status:{label:"狀態",value:{starting:"開始清掃","charger disconnected":"與充電座斷開",idle:"閒置","remote control active":"開始遙控模式",cleaning:"清掃中","returning home":"回充中","manual mode":"手動模式",charging:"充電中","charging problem":"充電錯誤",paused:"暫停","spot cleaning":"局部清掃",error:"錯誤","shutting down":"關機中",updating:"更新中",docking:"Docking","going to target":"正在行進至目標點","zoned cleaning":"劃區清掃","segment cleaning":"選區清掃","emptying the bin":"清理集塵盒","charging complete":"充電完成","device offline":"裝置離線"}},battery_level:{label:"剩餘電量"},fan_speed:{label:"吸力",value:{silent:"安靜",standard:"標準",medium:"強力",turbo:"MAX",auto:"自動",gentle:"拖地"}},sensor_dirty_left:{label:"感應器剩餘"},filter_left:{label:"濾網剩餘"},main_brush_left:{label:"主刷剩餘"},side_brush_left:{label:"邊刷剩餘"},cleaning_count:{label:"累積清掃次數"},cleaned_area:{label:"累積清掃面積"},cleaning_time:{label:"累積清掃時間"},mop_left:{label:"抹布剩餘"}},mo={vacuum_start:"開始",vacuum_pause:"暫停",vacuum_stop:"停止",vacuum_return_to_base:"回充",vacuum_clean_spot:"局部清掃",vacuum_locate:"定位",vacuum_set_fan_speed:"調整吸力"},po={hour_shortcut:"小時",meter_shortcut:"m",meter_squared_shortcut:"m²",minute_shortcut:"分鐘"},_o={success:"Success!",no_selection:"未選擇目標",failed:"執行服務失敗"},vo={description:{before_link:"此面板僅支援基本的設定,並且只能使用以下的附加元件新增攝影機實體: ",link_text:"Xiaomi Cloud Map Extractor",after_link:"。如需更豐富的進階設定,請使用 YAML 編輯"},label:{name:"標題(選填)",entity:"掃地機器人實體(必填)",camera:"攝影機實體(必填)",vacuum_platform:"vacuum platform(必填)",map_locked:"鎖定地圖(選填)",two_finger_pan:"雙指縮放(選填)"}},go={common:so,map_mode:lo,validation:co,tile:uo,icon:mo,unit:po,popups:_o,editor:vo},ho=Object.freeze({__proto__:null,common:so,map_mode:lo,validation:co,tile:uo,icon:mo,unit:po,popups:_o,editor:vo,default:go});function fo(e){return!!e&&(e instanceof Date&&!isNaN(e.valueOf()))}const bo=(e,t)=>yo(t).format(e),yo=e=>new Intl.DateTimeFormat(e.language,{year:"numeric",month:"long",day:"numeric"}),ko=e=>{if(e.time_format===he.language||e.time_format===he.system){const t=e.time_format===he.language?e.language:void 0,i=(new Date).toLocaleString(t);return i.includes("AM")||i.includes("PM")}return e.time_format===he.am_pm},Ao=(e,t)=>xo(t).format(e),xo=e=>new Intl.DateTimeFormat("en"!==e.language||ko(e)?e.language:"en-u-hc-h23",{year:"numeric",month:"long",day:"numeric",hour:ko(e)?"numeric":"2-digit",minute:"2-digit",hour12:ko(e)}),Eo=(e,t)=>wo(t).format(e),wo=e=>new Intl.DateTimeFormat("en"!==e.language||ko(e)?e.language:"en-u-hc-h23",{year:"numeric",month:"long",day:"numeric",hour:ko(e)?"numeric":"2-digit",minute:"2-digit",second:"2-digit",hour12:ko(e)});var zo,Po,Mo;!function(e){e.language="language",e.system="system",e.comma_decimal="comma_decimal",e.decimal_comma="decimal_comma",e.space_comma="space_comma",e.none="none"}(zo||(zo={})),function(e){e.language="language",e.system="system",e.am_pm="12",e.twenty_four="24"}(Po||(Po={})),function(e){e.language="language",e.monday="monday",e.tuesday="tuesday",e.wednesday="wednesday",e.thursday="thursday",e.friday="friday",e.saturday="saturday",e.sunday="sunday"}(Mo||(Mo={}));const To=(e,t,i)=>{const a=t?(e=>{switch(e.number_format){case zo.comma_decimal:return["en-US","en"];case zo.decimal_comma:return["de","es","it"];case zo.space_comma:return["fr","sv","cs"];case zo.system:return;default:return e.language}})(t):void 0;if(Number.isNaN=Number.isNaN||function e(t){return"number"==typeof t&&e(t)},(null==t?void 0:t.number_format)!==zo.none&&!Number.isNaN(Number(e))&&Intl)try{return new Intl.NumberFormat(a,Co(e,i)).format(Number(e))}catch(t){return console.error(t),new Intl.NumberFormat(void 0,Co(e,i)).format(Number(e))}return!Number.isNaN(Number(e))&&""!==e&&(null==t?void 0:t.number_format)===zo.none&&Intl?new Intl.NumberFormat("en-US",Co(e,Object.assign(Object.assign({},i),{useGrouping:!1}))).format(Number(e)):"string"==typeof e?e:`${((e,t=2)=>Math.round(e*10**t)/10**t)(e,null==i?void 0:i.maximumFractionDigits).toString()}${"currency"===(null==i?void 0:i.style)?` ${i.currency}`:""}`},So=(e,t)=>{var i;const a=null==t?void 0:t.display_precision;return null!=a?{maximumFractionDigits:a,minimumFractionDigits:a}:Number.isInteger(Number(null===(i=e.attributes)||void 0===i?void 0:i.step))&&Number.isInteger(Number(e.state))?{maximumFractionDigits:0}:void 0},Co=(e,t)=>{const i=Object.assign({maximumFractionDigits:2},t);if("string"!=typeof e)return i;if(!t||void 0===t.minimumFractionDigits&&void 0===t.maximumFractionDigits){const t=e.indexOf(".")>-1?e.split(".")[1].length:0;i.minimumFractionDigits=t,i.maximumFractionDigits=t}return i},Oo="^\\d{4}-(0[1-9]|1[0-2])-([12]\\d|0[1-9]|3[01])",No=new RegExp(Oo+"$"),Ro=new RegExp(Oo),$o=(e,t=!1)=>t?Ro.test(e):No.test(e),jo=/^\d{4}-(0[1-9]|1[0-2])-([12]\d|0[1-9]|3[01])[T| ](((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([.,]\d+(?!:))?)(\8[0-5]\d([.,]\d+)?)?([zZ]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)$/,Lo=e=>jo.test(e),Io=e=>e.substr(0,e.indexOf(".")),Do=(e,t,i,a,n,o)=>{const r=void 0!==o?o:t.attributes[n];if(null===r)return e("state.default.unknown");if("number"==typeof r)return To(r,i);if("string"==typeof r&&$o(r,!0)){if(Lo(r)){const e=new Date(r);if(fo(e))return Eo(e,i)}const e=new Date(r);if(fo(e))return bo(e,i)}if(Array.isArray(r)&&r.some((e=>e instanceof Object))||!Array.isArray(r)&&r instanceof Object)return JSON.stringify(r);if(Array.isArray(r))return r.map((o=>Do(e,t,i,a,n,o))).join(", ");const s=t.entity_id,l=Io(s),c=t.attributes.device_class,d=null==a?void 0:a[s],u=null==d?void 0:d.translation_key;return u&&e(`component.${d.platform}.entity.${l}.${u}.state_attributes.${n}.state.${r}`)||c&&e(`component.${l}.entity_component.${c}.state_attributes.${n}.state.${r}`)||e(`component.${l}.entity_component._.state_attributes.${n}.state.${r}`)||r},Vo=(e,t,i,a)=>{const n=t.entity_id,o=t.attributes.device_class,r=Io(n),s=i[n],l=null==s?void 0:s.translation_key;return l&&e(`component.${s.platform}.entity.${r}.${l}.state_attributes.${a}.name`)||o&&e(`component.${r}.entity_component.${o}.state_attributes.${a}.name`)||e(`component.${r}.entity_component._.state_attributes.${a}.name`)||(c=a.replace(/_/g," ").replace(/\bid\b/g,"ID").replace(/\bip\b/g,"IP").replace(/\bmac\b/g,"MAC").replace(/\bgps\b/g,"GPS")).charAt(0).toUpperCase()+c.slice(1);var c};const Fo={ms:1,s:1e3,min:6e4,h:36e5,d:864e5},Uo=(e,t)=>function(e){const t=Math.floor(e/1e3/3600),i=Math.floor(e/1e3%3600/60),a=Math.floor(e/1e3%3600%60),n=Math.floor(e%1e3);if(t>0)return`${t}:${qo(i)}:${qo(a)}`;if(i>0)return`${i}:${qo(a)}`;if(a>0||n>0)return`${a}${n>0?`.${qo(n,3)}`:""}`;return null}(parseFloat(e)*Fo[t])||"0",qo=(e,t=2)=>{let i=""+e;for(let e=1;eKo(t).format(e),Ko=e=>new Intl.DateTimeFormat("en"!==e.language||ko(e)?e.language:"en-u-hc-h23",{hour:"numeric",minute:"2-digit",hour12:ko(e)}),Xo=e=>{switch(e.language){case"cz":case"de":case"fi":case"fr":case"sk":case"sv":return" ";default:return""}},Go=(e,t,i,a,n)=>{const o=null==a?void 0:a[t.entity_id];return Bo(e,i,o,t.entity_id,t.attributes,void 0!==n?n:t.state)},Bo=(e,t,i,a,n,o)=>{if("unknown"===o||"unavailable"===o)return e(`state.default.${o}`);if((e=>!!e.unit_of_measurement||!!e.state_class)(n)){if("duration"===n.device_class&&n.unit_of_measurement&&Fo[n.unit_of_measurement])try{return Uo(o,n.unit_of_measurement)}catch(e){}if("monetary"===n.device_class)try{return To(o,t,Object.assign({style:"currency",currency:n.unit_of_measurement,minimumFractionDigits:2},So({state:o,attributes:n},i)))}catch(e){}const e=n.unit_of_measurement?"%"===n.unit_of_measurement?Xo(t)+"%":` ${n.unit_of_measurement}`:"";return`${To(o,t,So({state:o,attributes:n},i))}${e}`}const r=Io(a);if(["date","input_datetime","time"].includes(r)){if(void 0===o){let e;return n.has_date&&n.has_time?(e=new Date(n.year,n.month-1,n.day,n.hour,n.minute),Ao(e,t)):n.has_date?(e=new Date(n.year,n.month-1,n.day),bo(e,t)):n.has_time?(e=new Date,e.setHours(n.hour,n.minute),Ho(e,t)):o}try{const e=o.split(" ");if(2===e.length)return Ao(new Date(e.join("T")),t);if(1===e.length){if(o.includes("-"))return bo(new Date(`${o}T00:00`),t);if(o.includes(":")){const e=new Date;return Ho(new Date(`${e.toISOString().split("T")[0]}T${o}`),t)}}return o}catch(e){return o}}if("humidifier"===r&&"on"===o&&n.humidity)return`${n.humidity} %`;if("counter"===r||"number"===r||"input_number"===r)return To(o,t,So({state:o,attributes:n},i));if(["button","input_button","scene","stt","tts"].includes(r)||"sensor"===r&&"timestamp"===n.device_class)try{return Ao(new Date(o),t)}catch(e){return o}return(null==i?void 0:i.translation_key)&&e(`component.${i.platform}.entity.${r}.${i.translation_key}.state.${o}`)||n.device_class&&e(`component.${r}.entity_component.${n.device_class}.state.${o}`)||e(`component.${r}.entity_component._.state.${o}`)||o},Zo={ca:$e,cs:Ke,da:tt,de:ut,el:kt,en:Ct,es:Ft,fi:Jt,fr:si,he:hi,hu:Pi,is:Li,it:Gi,"nb-NO":aa,nl:pa,pl:xa,pt:Na,"pt-BR":qa,ro:Qa,ru:dn,sk:yn,sv:Sn,tr:Vn,uk:Yn,zh:ro,"zh-Hant":ho};function Yo(e,t="",i="",a="",n=e){const o="en";if(!a)try{a=JSON.parse(localStorage.getItem("selectedLanguage")||`"${o}"`)}catch(e){a=(localStorage.getItem("selectedLanguage")||o).replace(/['"]+/g,"")}let r;try{r=Jo(e,null!=a?a:o)}catch(t){r=Jo(e,o)}return void 0===r&&(r=Jo(e,o)),r=null!=r?r:n,""!==t&&""!==i&&(r=r.replace(t,i)),r}function Jo(e,t){try{return e.split(".").reduce(((e,t)=>e[t]),Zo[t])}catch(e){return}}function Wo(e,t,i){return"string"==typeof e?Yo(e,"","",t,i):Yo(...e,t,i)}function Qo(e,t,i,a){var n,o;return Wo(e,null!==(n=null==i?void 0:i.language)&&void 0!==n?n:null===(o=null==t?void 0:t.locale)||void 0===o?void 0:o.language,a)}function er(e,t,i){return"attribute"in t&&void 0!==t.attribute?void 0!==i.attributes[t.attribute]?function(e,t,i){const a=t.attributes[i];if(null===a)return"—";if(Array.isArray(a)&&a.some((e=>e instanceof Object))||!Array.isArray(a)&&a instanceof Object)return JSON.stringify(a);if("number"==typeof a)return To(a,e.locale);if("string"==typeof a&&$o(a,!0)){if(Lo(a)){const t=new Date(a);if(fo(t))return Eo(t,e.locale)}const t=new Date(a);if(fo(t))return bo(t,e.locale)}return Array.isArray(a)?a.join(", "):Do(e.localize,t,e.locale,e.entities,i)}(e,i,t.attribute):e.localize("state.default.unknown"):Go(e.localize,i,e.locale,e.entities)}var tr,ir,ar={default_templates:["vacuum_clean_zone","vacuum_goto"],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"EXTERNAL",max_repeats:3,id_type:"number",service_call_schema:{service:"vacuum.send_command",service_data:{command:"app_segment_clean",entity_id:"[[entity_id]]",params:[{segments:"[[selection]]",repeat:"[[repeats]]"}]}}},vacuum_clean_zone:{name:"map_mode.vacuum_clean_zone",icon:"mdi:select-drag",selection_type:"MANUAL_RECTANGLE",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,max_selections:5,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"xiaomi_miio.vacuum_clean_zone",service_data:{zone:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_clean_zone_predefined:{name:"map_mode.vacuum_clean_zone_predefined",icon:"mdi:floor-plan",selection_type:"PREDEFINED_RECTANGLE",max_selections:5,coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"xiaomi_miio.vacuum_clean_zone",service_data:{zone:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_goto:{name:"map_mode.vacuum_goto",icon:"mdi:map-marker-plus",selection_type:"MANUAL_POINT",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"NONE",service_call_schema:{service:"xiaomi_miio.vacuum_goto",service_data:{x_coord:"[[point_x]]",y_coord:"[[point_y]]",entity_id:"[[entity_id]]"}}},vacuum_goto_predefined:{name:"map_mode.vacuum_goto_predefined",icon:"mdi:map-marker",selection_type:"PREDEFINED_POINT",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"NONE",service_call_schema:{service:"xiaomi_miio.vacuum_goto",service_data:{x_coord:"[[point_x]]",y_coord:"[[point_y]]",entity_id:"[[entity_id]]"}}},vacuum_follow_path:{name:"map_mode.vacuum_follow_path",icon:"mdi:map-marker-path",selection_type:"MANUAL_PATH",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"NONE",service_call_schema:{service:"script.vacuum_follow_path",service_data:{service:"xiaomi_miio.vacuum_goto",mode:"individual",path:"[[selection]]",entity_id:"[[entity_id]]"}}}}},nr={from_attributes:[{tile_id:"sensor_dirty_left",attribute:"sensor_dirty_left",label:"tile.sensor_dirty_left.label",icon:"mdi:eye-outline",unit:"unit.hour_shortcut",hold_action:{action:"call-service",service:"vacuum.send_command",confirmation:{},service_data:{command:"reset_consumable",params:"sensor_dirty_time",entity_id:"[[vacuum_entity_id]]"}}},{tile_id:"filter_left",attribute:"filter_left",label:"tile.filter_left.label",icon:"mdi:air-filter",unit:"unit.hour_shortcut",hold_action:{action:"call-service",service:"vacuum.send_command",confirmation:{},service_data:{command:"reset_consumable",params:"filter_work_time",entity_id:"[[vacuum_entity_id]]"}}},{tile_id:"main_brush_left",attribute:"main_brush_left",label:"tile.main_brush_left.label",icon:"mdi:brush",unit:"unit.hour_shortcut",hold_action:{action:"call-service",service:"vacuum.send_command",confirmation:{},service_data:{command:"reset_consumable",params:"main_brush_work_time",entity_id:"[[vacuum_entity_id]]"}}},{tile_id:"side_brush_left",attribute:"side_brush_left",label:"tile.side_brush_left.label",icon:"mdi:brush",unit:"unit.hour_shortcut",hold_action:{action:"call-service",service:"vacuum.send_command",confirmation:{},service_data:{command:"reset_consumable",params:"side_brush_work_time",entity_id:"[[vacuum_entity_id]]"}}},{tile_id:"cleaning_count",attribute:"cleaning_count",label:"tile.cleaning_count.label",icon:"mdi:counter"}],from_sensors:[{tile_id:"sensor_dirty_left",unique_id_regex:"consumable_sensor_dirty_left_",label:"tile.sensor_dirty_left.label",unit:"unit.hour_shortcut",multiplier:.0002777777777777778,hold_action:{action:"call-service",service:"vacuum.send_command",confirmation:{},service_data:{command:"reset_consumable",params:"sensor_dirty_time",entity_id:"[[vacuum_entity_id]]"}}},{tile_id:"filter_left",unique_id_regex:"consumable_filter_left_",label:"tile.filter_left.label",unit:"unit.hour_shortcut",multiplier:.0002777777777777778,hold_action:{action:"call-service",service:"vacuum.send_command",confirmation:{},service_data:{command:"reset_consumable",params:"filter_work_time",entity_id:"[[vacuum_entity_id]]"}}},{tile_id:"main_brush_left",unique_id_regex:"consumable_main_brush_left_",label:"tile.main_brush_left.label",unit:"unit.hour_shortcut",multiplier:.0002777777777777778,hold_action:{action:"call-service",service:"vacuum.send_command",confirmation:{},service_data:{command:"reset_consumable",params:"main_brush_work_time",entity_id:"[[vacuum_entity_id]]"}}},{tile_id:"side_brush_left",unique_id_regex:"consumable_side_brush_left_",label:"tile.side_brush_left.label",unit:"unit.hour_shortcut",multiplier:.0002777777777777778,hold_action:{action:"call-service",service:"vacuum.send_command",confirmation:{},service_data:{command:"reset_consumable",params:"side_brush_work_time",entity_id:"[[vacuum_entity_id]]"}}},{tile_id:"cleaning_count",unique_id_regex:"clean_history_count_",label:"tile.cleaning_count.label"}]},or={map_modes:ar,tiles:nr},rr=Object.freeze({__proto__:null,map_modes:ar,tiles:nr,default:or}),sr={default_templates:["vacuum_clean_zone","vacuum_goto"],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"REPEAT",max_repeats:3,service_call_schema:{service:"vacuum.vacuum_clean_segment",service_data:{segments:"[[selection]]",entity_id:"[[entity_id]]"}}},vacuum_clean_zone:{name:"map_mode.vacuum_clean_zone",icon:"mdi:select-drag",selection_type:"MANUAL_RECTANGLE",coordinates_rounding:!1,coordinates_to_meters_divider:1,max_selections:5,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"vacuum.vacuum_clean_zone",service_data:{zone:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_clean_zone_predefined:{name:"map_mode.vacuum_clean_zone_predefined",icon:"mdi:floor-plan",selection_type:"PREDEFINED_RECTANGLE",max_selections:5,coordinates_rounding:!1,coordinates_to_meters_divider:1,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"vacuum.vacuum_clean_zone",service_data:{zone:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_goto:{name:"map_mode.vacuum_goto",icon:"mdi:map-marker-plus",selection_type:"MANUAL_POINT",coordinates_rounding:!1,coordinates_to_meters_divider:1,repeats_type:"NONE",service_call_schema:{service:"vacuum.vacuum_goto",service_data:{x_coord:"[[point_x]]",y_coord:"[[point_y]]",entity_id:"[[entity_id]]"}}},vacuum_goto_predefined:{name:"map_mode.vacuum_goto_predefined",icon:"mdi:map-marker",selection_type:"PREDEFINED_POINT",coordinates_rounding:!1,coordinates_to_meters_divider:1,repeats_type:"NONE",service_call_schema:{service:"vacuum.vacuum_goto",service_data:{x_coord:"[[point_x]]",y_coord:"[[point_y]]",entity_id:"[[entity_id]]"}}},vacuum_follow_path:{name:"map_mode.vacuum_follow_path",icon:"mdi:map-marker-path",selection_type:"MANUAL_PATH",coordinates_rounding:!1,coordinates_to_meters_divider:1,repeats_type:"NONE",service_call_schema:{service:"script.vacuum_follow_path",service_data:{service:"vacuum.vacuum_goto",mode:"individual",path:"[[selection]]",entity_id:"[[entity_id]]"}}}}},lr={from_attributes:[{tile_id:"cleaned_area",attribute:"cleaned_area",label:"tile.cleaned_area.label",icon:"mdi:texture-box",unit:"unit.meter_squared_shortcut"},{tile_id:"cleaning_time",attribute:"cleaning_time",label:"tile.cleaning_time.label",icon:"mdi:timer-sand",unit:"unit.minute_shortcut"}]},cr={map_modes:sr,tiles:lr},dr=Object.freeze({__proto__:null,map_modes:sr,tiles:lr,default:cr}),ur={default_templates:["vacuum_clean_zone","vacuum_clean_point"],templates:{vacuum_clean_zone:{name:"map_mode.vacuum_clean_zone",icon:"mdi:select-drag",selection_type:"MANUAL_RECTANGLE",coordinates_rounding:!1,coordinates_to_meters_divider:1,max_selections:5,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"vacuum.xiaomi_clean_zone",service_data:{zone:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_clean_zone_predefined:{name:"map_mode.vacuum_clean_zone_predefined",icon:"mdi:floor-plan",selection_type:"PREDEFINED_RECTANGLE",max_selections:5,coordinates_rounding:!1,coordinates_to_meters_divider:1,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"vacuum.xiaomi_clean_zone",service_data:{zone:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_clean_point:{name:"map_mode.vacuum_clean_point",icon:"mdi:map-marker-plus",selection_type:"MANUAL_POINT",coordinates_rounding:!1,coordinates_to_meters_divider:1,repeats_type:"NONE",service_call_schema:{service:"vacuum.xiaomi_clean_point",service_data:{point:"[[selection]]",entity_id:"[[entity_id]]"}}},vacuum_clean_point_predefined:{name:"map_mode.vacuum_clean_point_predefined",icon:"mdi:map-marker",selection_type:"PREDEFINED_POINT",coordinates_rounding:!1,coordinates_to_meters_divider:1,repeats_type:"NONE",service_call_schema:{service:"vacuum.xiaomi_clean_point",service_data:{point:"[[selection]]",entity_id:"[[entity_id]]"}}},vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",max_selections:5,repeats_type:"NONE",service_call_schema:{service:"vacuum.send_command",evaluate_data_as_template:!0,service_data:{entity_id:"[[entity_id]]",command:"set_mode_withroom",params:"[ \"{{state_attr('[[entity_id]]', 'is_mop')}}\", 1, [[selection_size]], [[selection_unwrapped]] ]|[[jsonify]]"}}}}},mr={from_attributes:[{tile_id:"filter_left",attribute:"filter_left",label:"tile.filter_left.label",icon:"mdi:air-filter",unit:"unit.hour_shortcut"},{tile_id:"main_brush_left",attribute:"main_brush_left",label:"tile.main_brush_left.label",icon:"mdi:brush",unit:"unit.hour_shortcut"},{tile_id:"side_brush_left",attribute:"side_brush_left",label:"tile.side_brush_left.label",icon:"mdi:brush",unit:"unit.hour_shortcut"},{tile_id:"mop_left",attribute:"mop_left",label:"tile.mop_left.label",icon:"mdi:format-color-fill",unit:"unit.hour_shortcut"}]},pr={map_modes:ur,tiles:mr},_r=Object.freeze({__proto__:null,map_modes:ur,tiles:mr,default:pr}),vr={default_templates:["vacuum_clean_zone","vacuum_goto"],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"mqtt.publish",evaluate_data_as_template:!0,service_data:{topic:"[[topic]]/custom_command",payload:'{ "command": "segmented_cleanup", "segment_ids": [[selection]], "repeats": [[repeats]], "afterCleaning": "{{ \'Base\' if \'afterCleaning\' in \'[[afterCleaning]]\' else \'[[afterCleaning]]\'}}" }'}}},vacuum_clean_zone:{name:"map_mode.vacuum_clean_zone",icon:"mdi:select-drag",selection_type:"MANUAL_RECTANGLE",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"EXTERNAL",max_selections:5,max_repeats:3,service_call_schema:{service:"mqtt.publish",evaluate_data_as_template:!0,service_data:{topic:"[[topic]]/custom_command",payload:'{"command": "zoned_cleanup","zone_coordinates": [{%for s in (\'[[selection]]\')|from_json %}{ "x1": {{s[0]}}, "y1": {{s[1]}}, "x2": {{s[2]}}, "y2": {{s[3]}}, "repeats": [[repeats]]}{%if not loop.last%},{%endif%}{%endfor%}],"afterCleaning": "{{ \'Base\' if \'afterCleaning\' in \'[[afterCleaning]]\' else \'[[afterCleaning]]\'}}"}'}}},vacuum_clean_zone_predefined:{name:"map_mode.vacuum_clean_zone_predefined",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"mqtt.publish",evaluate_data_as_template:!0,service_data:{topic:"[[topic]]/custom_command",payload:'{"command": "zoned_cleanup","zone_ids": [{%for s in (\'[[selection]]\')|from_json %}{ "id": "{{s}}", "repeats": [[repeats]]}{%if not loop.last%},{%endif%}{%endfor%}],"afterCleaning": "{{ \'Base\' if \'afterCleaning\' in \'[[afterCleaning]]\' else \'[[afterCleaning]]\'}}"}'}}},vacuum_goto:{name:"map_mode.vacuum_goto",icon:"mdi:map-marker-plus",selection_type:"MANUAL_POINT",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"NONE",service_call_schema:{service:"mqtt.publish",service_data:{topic:"[[topic]]/custom_command",payload:'{ "command": "go_to", "spot_coordinates": { "x": [[point_x]], "y": [[point_y]] } }'}}},vacuum_goto_predefined:{name:"map_mode.vacuum_goto_predefined",icon:"mdi:map-marker",max_selections:1,selection_type:"ROOM",repeats_type:"NONE",service_call_schema:{service:"mqtt.publish",service_data:{topic:"[[topic]]/custom_command",payload:'{ "command": "go_to", "spot_id": "[[selection_unwrapped]]" }'}}}}},gr={from_attributes:[{tile_id:"filter_left",attribute:"filter",label:"tile.filter_left.label",icon:"mdi:air-filter",unit:"unit.hour_shortcut",hold_action:{action:"call-service",service:"mqtt.publish",confirmation:{},service_data:{topic:"[[topic]]/custom_command",payload:'{"command": "reset_consumable",\n"consumable": "filter_work_time"}'}}},{tile_id:"main_brush_left",attribute:"mainBrush",label:"tile.main_brush_left.label",icon:"mdi:brush",unit:"unit.hour_shortcut",hold_action:{action:"call-service",service:"mqtt.publish",confirmation:{},service_data:{topic:"[[topic]]/custom_command",payload:'{"command": "reset_consumable",\n"consumable": "main_brush_work_time"}'}}},{tile_id:"side_brush_left",attribute:"sideBrush",label:"tile.side_brush_left.label",icon:"mdi:brush",unit:"unit.hour_shortcut",hold_action:{action:"call-service",service:"mqtt.publish",confirmation:{},service_data:{topic:"[[topic]]/custom_command",payload:'{"command": "reset_consumable",\n"consumable": "side_brush_work_time"}'}}}]},hr={map_modes:vr,tiles:gr},fr=Object.freeze({__proto__:null,map_modes:vr,tiles:gr,default:hr}),br={default_templates:["vacuum_clean_zone","vacuum_goto"],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"REPEAT",max_repeats:3,service_call_schema:{service:"vacuum.send_command",service_data:{command:"app_segment_clean",params:"[[selection]]",entity_id:"[[entity_id]]"}}},vacuum_clean_zone:{name:"map_mode.vacuum_clean_zone",icon:"mdi:select-drag",selection_type:"MANUAL_RECTANGLE",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,max_selections:5,repeats_type:"INTERNAL",max_repeats:3,service_call_schema:{service:"vacuum.send_command",service_data:{command:"app_zoned_clean",params:"[[selection]]",entity_id:"[[entity_id]]"}}},vacuum_clean_zone_predefined:{name:"map_mode.vacuum_clean_zone_predefined",icon:"mdi:floor-plan",selection_type:"PREDEFINED_RECTANGLE",max_selections:5,coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"INTERNAL",max_repeats:3,service_call_schema:{service:"vacuum.send_command",service_data:{command:"app_zoned_clean",params:"[[selection]]",entity_id:"[[entity_id]]"}}},vacuum_goto:{name:"map_mode.vacuum_goto",icon:"mdi:map-marker-plus",selection_type:"MANUAL_POINT",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"NONE",service_call_schema:{service:"vacuum.send_command",service_data:{command:"app_goto_target",params:"[[selection]]",entity_id:"[[entity_id]]"}}},vacuum_goto_predefined:{name:"map_mode.vacuum_goto_predefined",icon:"mdi:map-marker",selection_type:"PREDEFINED_POINT",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"NONE",service_call_schema:{service:"vacuum.send_command",service_data:{command:"app_goto_target",params:"[[selection]]",entity_id:"[[entity_id]]"}}},vacuum_follow_path:{name:"map_mode.vacuum_follow_path",icon:"mdi:map-marker-path",selection_type:"MANUAL_PATH",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"NONE",service_call_schema:{service:"script.vacuum_follow_path",service_data:{service:"vacuum.send_command",mode:"send_command",path:"[[selection]]",entity_id:"[[entity_id]]"}}}}},yr={from_attributes:[],from_sensors:[]},kr={map_modes:br,tiles:yr},Ar=Object.freeze({__proto__:null,map_modes:br,tiles:yr,default:kr}),xr={default_templates:[],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"EXTERNAL",max_selections:1,max_repeats:3,service_call_schema:{service:"xiaomi_miot.call_action"}},vacuum_clean_zone:{name:"map_mode.vacuum_clean_zone",icon:"mdi:select-drag",selection_type:"MANUAL_RECTANGLE",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,max_selections:1,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"xiaomi_miot.call_action"}},vacuum_clean_zone_predefined:{name:"map_mode.vacuum_clean_zone_predefined",icon:"mdi:floor-plan",selection_type:"PREDEFINED_RECTANGLE",max_selections:1,coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"xiaomi_miot.call_action"}}}},Er={from_attributes:[{tile_id:"status",attribute:"vacuum.status_desc",label:"tile.status.label",icon:"mdi:robot-vacuum",translation_keys:["starting","charger disconnected","idle","remote control active","cleaning","returning home","manual mode","charging","charging problem","paused","spot cleaning","error","shutting down","updating","docking","going to target","zoned cleaning","segment cleaning","emptying the bin","charging complete","device offline"]}]},wr={map_modes:xr,tiles:Er},zr=Object.freeze({__proto__:null,map_modes:xr,tiles:Er,default:wr}),Pr={default_templates:["vacuum_clean_zone","vacuum_clean_point"],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"REPEAT",max_repeats:3,service_call_schema:{service:"viomi_vacuum_v8.clean_segment",service_data:{segments:"[[selection]]",entity_id:"[[entity_id]]"}}},vacuum_clean_zone:{name:"map_mode.vacuum_clean_zone",icon:"mdi:select-drag",selection_type:"MANUAL_RECTANGLE",coordinates_rounding:!1,coordinates_to_meters_divider:1,max_selections:5,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"viomi_vacuum_v8.clean_zone",service_data:{zone:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_clean_zone_predefined:{name:"map_mode.vacuum_clean_zone_predefined",icon:"mdi:floor-plan",selection_type:"PREDEFINED_RECTANGLE",max_selections:5,coordinates_rounding:!1,coordinates_to_meters_divider:1,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"viomi_vacuum_v8.clean_zone",service_data:{zone:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_clean_point:{name:"map_mode.vacuum_clean_point",icon:"mdi:map-marker-plus",selection_type:"MANUAL_POINT",coordinates_rounding:!1,coordinates_to_meters_divider:1,repeats_type:"NONE",service_call_schema:{service:"viomi_vacuum_v8.clean_point",service_data:{point:"[[selection]]",entity_id:"[[entity_id]]"}}},vacuum_clean_point_predefined:{name:"map_mode.vacuum_clean_point_predefined",icon:"mdi:map-marker",selection_type:"PREDEFINED_POINT",coordinates_rounding:!1,coordinates_to_meters_divider:1,repeats_type:"NONE",service_call_schema:{service:"viomi_vacuum_v8.clean_point",service_data:{point:"[[selection]]",entity_id:"[[entity_id]]"}}}}},Mr={from_attributes:[{tile_id:"cleaned_area",attribute:"cleaned_area",label:"tile.cleaned_area.label",icon:"mdi:texture-box",unit:"unit.meter_squared_shortcut"},{tile_id:"cleaning_time",attribute:"cleaning_time",label:"tile.cleaning_time.label",icon:"mdi:timer-sand",unit:"unit.minute_shortcut"}]},Tr={map_modes:Pr,tiles:Mr},Sr=Object.freeze({__proto__:null,map_modes:Pr,tiles:Mr,default:Tr}),Cr={default_templates:["vacuum_clean_zone","vacuum_goto"],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"mqtt.publish",service_data:{topic:"[[topic]]/MapSegmentationCapability/clean/set",payload:'{"segment_ids": [[selection]], "iterations": [[repeats]], "customOrder": true}'}}},vacuum_clean_zone:{name:"map_mode.vacuum_clean_zone",icon:"mdi:select-drag",selection_type:"MANUAL_RECTANGLE",coordinates_rounding:!0,coordinates_to_meters_divider:100,repeats_type:"EXTERNAL",max_selections:5,max_repeats:3,service_call_schema:{service:"mqtt.publish",evaluate_data_as_template:!0,service_data:{topic:"[[topic]]/ZoneCleaningCapability/start/set",payload:'{"zones": [{%for s in (\'[[selection]]\')|from_json %}{ "points": {"pA": { "x": {{s[0]}}, "y": {{s[1]}} }, "pB": { "x": {{s[2]}}, "y": {{s[1]}} }, "pC": { "x": {{s[2]}}, "y": {{s[3]}} }, "pD": { "x": {{s[0]}}, "y": {{s[3]}} } }, "iterations": [[repeats]]}{%if not loop.last%},{%endif%}{%endfor%}]}'}}},vacuum_clean_zone_predefined:{name:"map_mode.vacuum_clean_zone_predefined",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"mqtt.publish",evaluate_data_as_template:!0,service_data:{topic:"[[topic]]/ZoneCleaningCapability/start/set",payload:'{"zones": [{%for s in (\'[[selection]]\')|from_json %}{ "points": {"pA": { "x": {{s[0]}}, "y": {{s[1]}} }, "pB": { "x": {{s[2]}}, "y": {{s[1]}} }, "pC": { "x": {{s[2]}}, "y": {{s[3]}} }, "pD": { "x": {{s[0]}}, "y": {{s[3]}} } }, "iterations": [[repeats]]}{%if not loop.last%},{%endif%}{%endfor%}]}'}}},vacuum_goto:{name:"map_mode.vacuum_goto",icon:"mdi:map-marker-plus",selection_type:"MANUAL_POINT",coordinates_rounding:!0,coordinates_to_meters_divider:100,repeats_type:"NONE",service_call_schema:{service:"mqtt.publish",service_data:{topic:"[[topic]]/GoToLocationCapability/go/set",payload:'{ "coordinates": { "x": [[point_x]], "y": [[point_y]] } }'}}},vacuum_goto_predefined:{name:"map_mode.vacuum_goto_predefined",icon:"mdi:map-marker",max_selections:1,selection_type:"ROOM",repeats_type:"NONE",service_call_schema:{service:"mqtt.publish",service_data:{topic:"[[topic]]/GoToLocationCapability/go/set",payload:'{ "coordinates": { "x": "[[point_x]]", "y": "[[point_y]]" } }'}}}}},Or={from_sensors:[{tile_id:"filter_left",unique_id_regex:"_sensor_ConsumableMonitoringCapability_filter_main",label:"tile.filter_left.label",icon:"mdi:air-filter",unit:"unit.hour_shortcut",multiplier:.016666666666666666},{tile_id:"main_brush_left",unique_id_regex:"_sensor_ConsumableMonitoringCapability_brush_main",label:"tile.main_brush_left.label",icon:"mdi:brush",unit:"unit.hour_shortcut",multiplier:.016666666666666666},{tile_id:"side_brush_left",unique_id_regex:"_sensor_ConsumableMonitoringCapability_brush_side_right",label:"tile.side_brush_left.label",icon:"mdi:brush",unit:"unit.hour_shortcut",multiplier:.016666666666666666},{tile_id:"cleaned_area",unique_id_regex:"_sensor_CurrentStatisticsCapability_area",label:"tile.cleaned_area.label",icon:"mdi:texture-box",unit:"unit.meter_squared_shortcut",multiplier:1e-4},{tile_id:"cleaning_time",unique_id_regex:"_sensor_CurrentStatisticsCapability_time",label:"tile.cleaning_time.label",icon:"mdi:timer-sand",unit:"unit.minute_shortcut",multiplier:.016666666666666666}]},Nr={map_modes:Cr,tiles:Or},Rr=Object.freeze({__proto__:null,map_modes:Cr,tiles:Or,default:Nr}),$r={default_templates:[],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"NONE",service_call_schema:{service:"neato.custom_cleaning",service_data:{zone:"[[selection_unwrapped]]",entity_id:"[[entity_id]]"}}}}},jr={from_attributes:[{tile_id:"cleaned_area",attribute:"clean_area",label:"tile.cleaned_area.label",icon:"mdi:texture-box",unit:"unit.meter_squared_shortcut"}]},Lr=[{vacuum:{x:0,y:0},map:{x:0,y:0}},{vacuum:{x:1,y:0},map:{x:1,y:0}},{vacuum:{x:0,y:1},map:{x:0,y:1}}],Ir={map_modes:$r,tiles:jr,calibration_points:Lr},Dr=Object.freeze({__proto__:null,map_modes:$r,tiles:jr,calibration_points:Lr,default:Ir}),Vr={default_templates:[],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"EXTERNAL",max_repeats:2,service_call_schema:{service:"vacuum.send_command",evaluate_data_as_template:!0,service_data:{entity_id:"[[entity_id]]",command:"start",params:{pmap_id:"[[pmap_id]]",regions:'[{%set s=\'[[selection]]\'|from_json%}{%set v=\'[[variables]]\'|from_json%}{%for i in range(s|length)%} {"params": {"noAutoPasses": true, "twoPass": {{ (([[repeats]] == 2) | string).lower() }}}, "region_id": "{{s[i]}}", "type": "{{v[i][\'type\']}}" }{%if not loop.last%},{%endif%}{%endfor%}]|[[jsonify_jinja]]'}}}}}},Fr={from_attributes:[{tile_id:"bin_present",attribute:"bin_present",label:"tile.bin_present.label",icon:"mdi:delete-restore",translation_keys:["true","false"]},{tile_id:"bin_full",attribute:"bin_full",label:"tile.bin_full.label",icon:"mdi:delete",translation_keys:["true","false"]}]},Ur=[{vacuum:{x:0,y:0},map:{x:0,y:0}},{vacuum:{x:1,y:0},map:{x:1,y:0}},{vacuum:{x:0,y:1},map:{x:0,y:1}}],qr={map_modes:Vr,tiles:Fr,calibration_points:Ur},Hr=Object.freeze({__proto__:null,map_modes:Vr,tiles:Fr,calibration_points:Ur,default:qr}),Kr={default_templates:["vacuum_clean_zone"],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"EXTERNAL",max_repeats:2,service_call_schema:{service:"vacuum.send_command",service_data:{entity_id:"[[entity_id]]",command:"spot_area",params:{rooms:"[[selection_unwrapped]]",cleanings:"[[repeats]]"}}}},vacuum_clean_zone:{name:"map_mode.vacuum_clean_zone",icon:"mdi:select-drag",selection_type:"MANUAL_RECTANGLE",coordinates_rounding:!0,coordinates_to_meters_divider:-1,repeats_type:"NONE",max_selections:1,service_call_schema:{service:"vacuum.send_command",service_data:{entity_id:"[[entity_id]]",command:"custom_area",params:{coordinates:"[[selection_unwrapped]]"}}}},vacuum_clean_zone_predefined:{name:"map_mode.vacuum_clean_zone_predefined",icon:"mdi:floor-plan",selection_type:"PREDEFINED_RECTANGLE",max_selections:1,coordinates_rounding:!0,coordinates_to_meters_divider:-1,repeats_type:"NONE",service_call_schema:{service:"vacuum.send_command",service_data:{entity_id:"[[entity_id]]",command:"custom_area",params:{coordinates:"[[selection_unwrapped]]"}}}}}},Xr={from_sensors:[{tile_id:"water_amount",unique_id_regex:"_water_amount",label:"tile.water_amount.label",icon:"mdi:water"},{tile_id:"cleaning_time",unique_id_regex:"_stats_time",label:"tile.cleaning_time.label",icon:"mdi:timer-sand",unit:"unit.minute_shortcut"},{tile_id:"cleaned_area",unique_id_regex:"_stats_area",label:"tile.cleaned_area.label",icon:"mdi:texture-box",unit:"unit.meter_squared_shortcut"},{tile_id:"mop_attached",unique_id_regex:"_mop_attached",label:"tile.mop_attached.label",icon:"mdi:water"},{tile_id:"cleaning_time",unique_id_regex:"_stats_time",label:"tile.cleaning_time.label",icon:"mdi:timer-sand",unit:"unit.minute_shortcut"},{tile_id:"total_cleaned_area",unique_id_regex:"_stats_total_area",label:"tile.total_cleaned_area.label",icon:"mdi:texture-box",unit:"unit.meter_squared_shortcut"},{tile_id:"cleaning_time",unique_id_regex:"_stats_total_time",label:"tile.total_cleaning_time.label",icon:"mdi:timer-sand",unit:"unit.hour_shortcut"},{tile_id:"cleaning_count",unique_id_regex:"_stats_total_cleanings",label:"tile.cleaning_count.label"}]},Gr=[{type:"menu",menu_id:"water_amount",icon_id:"water_amount",unique_id_regex:"_water_amount",available_values_attribute:"options",icon:"mdi:water",icon_mapping:{low:"mdi:water-minus",medium:"mdi:water",high:"mdi:water-plus",ultrahigh:"mdi:water-alert"},tap_action:{action:"call-service",service:"select.select_option",service_data:{option:"[[value]]",entity_id:"[[entity_id]]"}}}],Br=[{vacuum:{x:0,y:0},map:{x:400,y:400}},{vacuum:{x:6400,y:0},map:{x:528,y:400}},{vacuum:{x:0,y:6400},map:{x:400,y:528}}],Zr={map_modes:Kr,tiles:Xr,icons:Gr,calibration_points:Br},Yr=Object.freeze({__proto__:null,map_modes:Kr,tiles:Xr,icons:Gr,calibration_points:Br,default:Zr}),Jr={default_templates:["vacuum_clean_zone","vacuum_clean_point"],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"EXTERNAL",max_repeats:3,max_selections:60,service_call_schema:{service:"dreame_vacuum.vacuum_clean_segment",service_data:{segments:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_clean_zone:{name:"map_mode.vacuum_clean_zone",icon:"mdi:select-drag",selection_type:"MANUAL_RECTANGLE",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,max_selections:20,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"dreame_vacuum.vacuum_clean_zone",service_data:{zone:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_clean_zone_predefined:{name:"map_mode.vacuum_clean_zone_predefined",icon:"mdi:vector-selection",selection_type:"PREDEFINED_RECTANGLE",max_selections:20,coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"dreame_vacuum.vacuum_clean_zone",service_data:{zone:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_clean_point:{name:"map_mode.vacuum_clean_point",icon:"mdi:map-marker-plus",selection_type:"MANUAL_POINT",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"dreame_vacuum.vacuum_clean_spot",service_data:{points:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_clean_point_predefined:{name:"map_mode.vacuum_clean_point_predefined",icon:"mdi:map-marker",selection_type:"PREDEFINED_POINT",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"EXTERNAL",max_selections:20,max_repeats:3,service_call_schema:{service:"dreame_vacuum.vacuum_clean_spot",service_data:{points:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}}}},Wr={from_attributes:[{tile_id:"water_volume",attribute:"water_volume",label:"tile.water_volume.label",icon:"mdi:water"},{tile_id:"mop_pad_humidity",attribute:"mop_pad_humidity",label:"tile.mop_pad_humidity.label",icon:"mdi:water-percent"},{tile_id:"cleaned_area",attribute:"cleaned_area",label:"tile.cleaned_area.label",icon:"mdi:ruler-square",unit:"unit.meter_squared_shortcut"},{tile_id:"cleaning_time",attribute:"cleaning_time",label:"tile.cleaning_time.label",icon:"mdi:timer-sand",unit:"unit.minute_shortcut"},{tile_id:"cleaning_count",attribute:"cleaning_count",label:"tile.cleaning_count.label",icon:"mdi:counter",unit:"x"},{tile_id:"total_cleaned_area",attribute:"total_cleaned_area",label:"tile.total_cleaned_area.label",icon:"mdi:set-square",unit:"unit.meter_squared_shortcut"}]},Qr=[{type:"menu",menu_id:"water_volume",icon_id:"water_volume",unique_id_regex:"_water_volume",available_values_attribute:"options",icon:"mdi:water-off",icon_mapping:{low:"mdi:water-minus",medium:"mdi:water",high:"mdi:water-plus"},tap_action:{action:"call-service",service:"select.select_option",service_data:{option:"[[value]]",entity_id:"[[entity_id]]"}}},{type:"menu",menu_id:"mop_pad_humidity",icon_id:"mop_pad_humidity",unique_id_regex:"_mop_pad_humidity",available_values_attribute:"options",icon:"mdi:water-off",icon_mapping:{slightly_dry:"mdi:water-minus",moist:"mdi:water",wet:"mdi:water-plus"},tap_action:{action:"call-service",service:"select.select_option",service_data:{option:"[[value]]",entity_id:"[[entity_id]]"}}}],es={map_modes:Jr,tiles:Wr,icons:Qr},ts=Object.freeze({__proto__:null,map_modes:Jr,tiles:Wr,icons:Qr,default:es}),is={default_templates:["vacuum_clean_zone","vacuum_goto"],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"roborock.vacuum_clean_segment",service_data:{segments:"[[selection]]",entity_id:"[[entity_id]]",repeats:"[[repeats]]"}}},vacuum_clean_zone:{name:"map_mode.vacuum_clean_zone",icon:"mdi:select-drag",selection_type:"MANUAL_RECTANGLE",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,max_selections:5,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"roborock.vacuum_clean_zone",service_data:{zone:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_clean_zone_predefined:{name:"map_mode.vacuum_clean_zone_predefined",icon:"mdi:floor-plan",selection_type:"PREDEFINED_RECTANGLE",max_selections:5,coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"EXTERNAL",max_repeats:3,service_call_schema:{service:"roborock.vacuum_clean_zone",service_data:{zone:"[[selection]]",repeats:"[[repeats]]",entity_id:"[[entity_id]]"}}},vacuum_goto:{name:"map_mode.vacuum_goto",icon:"mdi:map-marker-plus",selection_type:"MANUAL_POINT",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"NONE",service_call_schema:{service:"roborock.vacuum_goto",service_data:{x_coord:"[[point_x]]",y_coord:"[[point_y]]",entity_id:"[[entity_id]]"}}},vacuum_goto_predefined:{name:"map_mode.vacuum_goto_predefined",icon:"mdi:map-marker",selection_type:"PREDEFINED_POINT",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"NONE",service_call_schema:{service:"roborock.vacuum_goto",service_data:{x_coord:"[[point_x]]",y_coord:"[[point_y]]",entity_id:"[[entity_id]]"}}},vacuum_follow_path:{name:"map_mode.vacuum_follow_path",icon:"mdi:map-marker-path",selection_type:"MANUAL_PATH",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"NONE",service_call_schema:{service:"script.vacuum_follow_path",service_data:{service:"roborock.vacuum_goto",mode:"individual",path:"[[selection]]",entity_id:"[[entity_id]]"}}}}},as={from_sensors:[{tile_id:"sensor_dirty_left",unique_id_regex:"consumable_sensor_dirty_left_",label:"tile.sensor_dirty_left.label",unit:"unit.hour_shortcut",multiplier:.0002777777777777778,hold_action:{action:"call-service",service:"vacuum.send_command",confirmation:{},service_data:{command:"reset_consumable",params:"sensor_dirty_time",entity_id:"[[vacuum_entity_id]]"}}},{tile_id:"filter_left",unique_id_regex:"consumable_filter_left_",label:"tile.filter_left.label",unit:"unit.hour_shortcut",multiplier:.0002777777777777778,hold_action:{action:"call-service",service:"vacuum.send_command",confirmation:{},service_data:{command:"reset_consumable",params:"filter_work_time",entity_id:"[[vacuum_entity_id]]"}}},{tile_id:"main_brush_left",unique_id_regex:"consumable_main_brush_left_",label:"tile.main_brush_left.label",unit:"unit.hour_shortcut",multiplier:.0002777777777777778,hold_action:{action:"call-service",service:"vacuum.send_command",confirmation:{},service_data:{command:"reset_consumable",params:"main_brush_work_time",entity_id:"[[vacuum_entity_id]]"}}},{tile_id:"side_brush_left",unique_id_regex:"consumable_side_brush_left_",label:"tile.side_brush_left.label",unit:"unit.hour_shortcut",multiplier:.0002777777777777778,hold_action:{action:"call-service",service:"vacuum.send_command",confirmation:{},service_data:{command:"reset_consumable",params:"side_brush_work_time",entity_id:"[[vacuum_entity_id]]"}}},{tile_id:"cleaning_count",unique_id_regex:"clean_history_count_",label:"tile.cleaning_count.label"},{tile_id:"cleaned_area",unique_id_regex:"current_clean_area_",label:"tile.cleaned_area.label",unit:"unit.meter_squared_shortcut",precision:2},{tile_id:"cleaning_time",unique_id_regex:"current_clean_time_",label:"tile.cleaning_time.label",unit:"unit.minute_shortcut",multiplier:.016667}]},ns=[{type:"menu",menu_id:"water_box_mode",icon_id:"water_box_mode",unique_id_regex:"water_box_mode_",available_values_attribute:"options",icon:"mdi:water",icon_mapping:{off:"mdi:water-remove",mild:"mdi:water-minus",moderate:"mdi:water",intense:"mdi:water-plus",custom:"mdi:water-sync"},tap_action:{action:"call-service",service:"select.select_option",service_data:{option:"[[value]]",entity_id:"[[entity_id]]"}}},{type:"menu",menu_id:"mop_mode",icon_id:"mop_mode",unique_id_regex:"mop_mode_",available_values_attribute:"options",icon:"mdi:water",icon_mapping:{standard:"mdi:standard-definition",deep:"mdi:high-definition",deep_plus:"mdi:ultra-high-definition",custom:"mdi:fit-to-screen-outline"},tap_action:{action:"call-service",service:"select.select_option",service_data:{option:"[[value]]",entity_id:"[[entity_id]]"}}}],os={map_modes:is,tiles:as,icons:ns},rs=Object.freeze({__proto__:null,map_modes:is,tiles:as,icons:ns,default:os}),ss={default_templates:[],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",repeats_type:"NONE",max_selection:"20",service_call_schema:{service:"vacuum.send_command",service_data:{entity_id:"[[entity_id]]",command:"sweep_rooms",params:{rooms:"[[selection]]"}}}}}},ls={from_attributes:[{tile_id:"filter_left",attribute:"filter",label:"tile.filter_left.label",icon:"mdi:air-filter",unit:"unit.hour_shortcut"},{tile_id:"main_brush_left",attribute:"main_brush",label:"tile.main_brush_left.label",icon:"mdi:brush",unit:"unit.hour_shortcut"},{tile_id:"side_brush_left",attribute:"side_brush",label:"tile.side_brush_left.label",icon:"mdi:brush",unit:"unit.hour_shortcut"}]},cs=[{vacuum:{x:0,y:0},map:{x:0,y:0}},{vacuum:{x:1,y:0},map:{x:1,y:0}},{vacuum:{x:0,y:1},map:{x:0,y:1}}],ds={map_modes:ss,tiles:ls,calibration_points:cs},us=Object.freeze({__proto__:null,map_modes:ss,tiles:ls,calibration_points:cs,default:ds}),ms={default_templates:[],templates:{vacuum_clean_segment:{name:"map_mode.vacuum_clean_segment",icon:"mdi:floor-plan",selection_type:"ROOM",service_call_schema:{service:"myneato.custom_cleaning",service_data:{zone:"[[selection_unwrapped]]",entity_id:"[[entity_id]]",mode:"[[mode]]"}}}}},ps=[{type:"single",menu_id:"mode_selector",icon:"mdi:fan-speed-1",label:"Eco",tap_action:{action:"fire-dom-event",xiaomi_vacuum_map_card:{action_handler_id:"this",action:"internal_variable.set",data:{variable:"mode",value:"eco"}}},conditions:[{internal_variable:"mode",value:"eco"}]},{type:"single",menu_id:"mode_selector",icon:"mdi:fan-speed-2",label:"Turbo",tap_action:{action:"fire-dom-event",xiaomi_vacuum_map_card:{action_handler_id:"this",action:"internal_variable.set",data:{variable:"mode",value:"turbo"}}},conditions:[{internal_variable:"mode",value:"turbo"}]},{menu_id:"mode_selector",icon:"mdi:fan-speed-3",label:"Max",tap_action:{action:"fire-dom-event",xiaomi_vacuum_map_card:{action_handler_id:"this",action:"internal_variable.set",data:{variable:"mode",value:"max"}}},conditions:[{internal_variable:"mode",value:"max"}]}],_s={from_attributes:[{tile_id:"cleaned_area",attribute:"clean_area",label:"tile.cleaned_area.label",icon:"mdi:texture-box",unit:"unit.meter_squared_shortcut"}]},vs=[{vacuum:{x:0,y:0},map:{x:0,y:0}},{vacuum:{x:1,y:0},map:{x:1,y:0}},{vacuum:{x:0,y:1},map:{x:0,y:1}}],gs={mode:"eco"},hs={map_modes:ms,icons:ps,tiles:_s,calibration_points:vs,internal_variables:gs},fs=Object.freeze({__proto__:null,map_modes:ms,icons:ps,tiles:_s,calibration_points:vs,internal_variables:gs,default:hs}),bs={default_templates:["vacuum_clean_zone","vacuum_goto","vacuum_follow_path"],templates:{vacuum_clean_zone:{name:"map_mode.vacuum_clean_zone",icon:"mdi:select-drag",selection_type:"MANUAL_RECTANGLE",coordinates_rounding:!1,coordinates_to_meters_divider:1,max_selections:1,repeats_type:"NONE",service_call_schema:{service:"persistent_notification.create",service_data:{zones:"[[selection]]"}}},vacuum_goto:{name:"map_mode.vacuum_goto",icon:"mdi:map-marker-plus",selection_type:"MANUAL_POINT",coordinates_rounding:!1,coordinates_to_meters_divider:1,repeats_type:"NONE",service_call_schema:{service:"persistent_notification.create",service_data:{x_coord:"[[point_x]]",y_coord:"[[point_y]]",point:"[[selection]]"}}},vacuum_follow_path:{name:"map_mode.vacuum_follow_path",icon:"mdi:map-marker-path",selection_type:"MANUAL_PATH",coordinates_rounding:!1,coordinates_to_meters_divider:1,repeats_type:"NONE",service_call_schema:{service:"persistent_notification.create",service_data:{path:"[[selection]]"}}}}},ys={map_modes:bs},ks=Object.freeze({__proto__:null,map_modes:bs,default:ys}),As={default_templates:["vacuum_clean_zone","vacuum_goto","vacuum_follow_path"],templates:{vacuum_clean_zone:{name:"map_mode.vacuum_clean_zone",icon:"mdi:select-drag",selection_type:"MANUAL_RECTANGLE",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,max_selections:1,repeats_type:"NONE",service_call_schema:{service:"persistent_notification.create",service_data:{zones:"[[selection]]"}}},vacuum_goto:{name:"map_mode.vacuum_goto",icon:"mdi:map-marker-plus",selection_type:"MANUAL_POINT",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"NONE",service_call_schema:{service:"persistent_notification.create",service_data:{x_coord:"[[point_x]]",y_coord:"[[point_y]]",point:"[[selection]]"}}},vacuum_follow_path:{name:"map_mode.vacuum_follow_path",icon:"mdi:map-marker-path",selection_type:"MANUAL_PATH",coordinates_rounding:!0,coordinates_to_meters_divider:1e3,repeats_type:"NONE",service_call_schema:{service:"persistent_notification.create",service_data:{path:"[[selection]]"}}}}},xs={map_modes:As},Es=Object.freeze({__proto__:null,map_modes:As,default:xs});!function(e){e[e.MANUAL_RECTANGLE=0]="MANUAL_RECTANGLE",e[e.PREDEFINED_RECTANGLE=1]="PREDEFINED_RECTANGLE",e[e.ROOM=2]="ROOM",e[e.MANUAL_PATH=3]="MANUAL_PATH",e[e.MANUAL_POINT=4]="MANUAL_POINT",e[e.PREDEFINED_POINT=5]="PREDEFINED_POINT"}(tr||(tr={}));class ws{static getPlatformsWithDefaultCalibration(){return[ws.BENJAMIN_PAAP_MYNEATO_PLATFORM,ws.DEEBOTUNIVERSE_DEEBOT_4_HOME_ASSISTANT_PLATFORM,ws.NEATO_PLATFORM,ws.ROMEDTINO_SIMPLE_WAZE_PLATFORM,ws.ROOMBA_PLATFORM]}static getPlatforms(){return Array.from(ws.TEMPLATES.keys())}static getPlatformName(e){return null!=e?e:ws.XIAOMI_MIIO_PLATFORM}static getPlatformsDocumentationUrl(e){var t,i;const a=null!==(i=null!==(t=ws.TEMPLATE_DOCUMENTATIONS_URLS.get(e))&&void 0!==t?t:ws.TEMPLATE_DOCUMENTATIONS_URLS.get(ws.XIAOMI_MIIO_PLATFORM))&&void 0!==i?i:"";return ws.DOCUMENTATION_URL_FORMAT.replace("{0}",a)}static isValidModeTemplate(e,t){return void 0!==t&&Object.keys(this.getPlatformTemplate(e).map_modes.templates).includes(t)}static getModeTemplate(e,t){return this.getPlatformTemplate(e).map_modes.templates[t]}static generateDefaultModes(e){return this.getPlatformTemplate(e).map_modes.default_templates.map((e=>({template:e})))}static getTilesFromAttributesTemplates(e){var t,i;return null!==(i=null===(t=this.getPlatformTemplate(e).tiles)||void 0===t?void 0:t.from_attributes)&&void 0!==i?i:[]}static getTilesFromSensorsTemplates(e){var t,i;return null!==(i=null===(t=this.getPlatformTemplate(e).tiles)||void 0===t?void 0:t.from_sensors)&&void 0!==i?i:[]}static getIconsTemplates(e){var t;return null!==(t=this.getPlatformTemplate(e).icons)&&void 0!==t?t:[]}static getRoomsTemplate(e){const t=this.getPlatformTemplate(e);for(const e in t.map_modes.templates){if(t.map_modes.templates[e].selection_type===tr[tr.ROOM])return e}}static getCalibration(e){return this.getPlatformTemplate(ws.getPlatformName(e)).calibration_points}static getVariables(e){return this.getPlatformTemplate(ws.getPlatformName(e)).internal_variables}static getPlatformTemplate(e){var t,i;return null!==(i=null!==(t=this.TEMPLATES.get(e))&&void 0!==t?t:this.TEMPLATES.get(this.XIAOMI_MIIO_PLATFORM))&&void 0!==i?i:{templates:[],default_templates:{}}}}ws.XIAOMI_MIIO_PLATFORM="default",ws.KRZYSZTOFHAJDAMOWICZ_MIIO2_PLATFORM="KrzysztofHajdamowicz/miio2",ws.MAROTOWEB_VIOMISE_PLATFORM="marotoweb/viomise",ws.RAND256_VALETUDO_RE_PLATFORM="rand256/ValetudoRE",ws.SEND_COMMAND_PLATFORM="send_command",ws.ALONE_XIAOMI_MIOT_PLATFORM="al-one/hass-xiaomi-miot",ws.TYKAROL_VIOMI_VACUUM_V8_PLATFORM="tykarol/viomi-vacuum-v8",ws.HYPFER_VALETUDO_PLATFORM="Hypfer/Valetudo",ws.NEATO_PLATFORM="Neato",ws.ROOMBA_PLATFORM="Roomba",ws.TASSHACK_DREAME_VACUUM_PLATFORM="Tasshack/dreame-vacuum",ws.DEEBOTUNIVERSE_DEEBOT_4_HOME_ASSISTANT_PLATFORM="DeebotUniverse/Deebot-4-Home-Assistant",ws.HUMBERTOGONTIJO_ROBOROCK_PLATFORM="humbertogontijo/homeassistant-roborock",ws.ROMEDTINO_SIMPLE_WAZE_PLATFORM="romedtino/simple-wyze-vac",ws.BENJAMIN_PAAP_MYNEATO_PLATFORM="BenjaminPaap/home-assistant-myneato",ws.SETUP_INTEGER_PLATFORM="Setup integer",ws.SETUP_DECIMAL_PLATFORM="Setup decimal",ws.DOCUMENTATION_URL_FORMAT="https://github.com/PiotrMachowski/lovelace-xiaomi-vacuum-map-card/tree/master/docs/templates/{0}.md",ws.TEMPLATES=new Map([[ws.XIAOMI_MIIO_PLATFORM,rr],[ws.KRZYSZTOFHAJDAMOWICZ_MIIO2_PLATFORM,dr],[ws.MAROTOWEB_VIOMISE_PLATFORM,_r],[ws.TYKAROL_VIOMI_VACUUM_V8_PLATFORM,Sr],[ws.HYPFER_VALETUDO_PLATFORM,Rr],[ws.RAND256_VALETUDO_RE_PLATFORM,fr],[ws.TASSHACK_DREAME_VACUUM_PLATFORM,ts],[ws.HUMBERTOGONTIJO_ROBOROCK_PLATFORM,rs],[ws.SEND_COMMAND_PLATFORM,Ar],[ws.ALONE_XIAOMI_MIOT_PLATFORM,zr],[ws.NEATO_PLATFORM,Dr],[ws.ROOMBA_PLATFORM,Hr],[ws.DEEBOTUNIVERSE_DEEBOT_4_HOME_ASSISTANT_PLATFORM,Yr],[ws.ROMEDTINO_SIMPLE_WAZE_PLATFORM,us],[ws.BENJAMIN_PAAP_MYNEATO_PLATFORM,fs],[ws.SETUP_INTEGER_PLATFORM,Es],[ws.SETUP_DECIMAL_PLATFORM,ks]]),ws.TEMPLATE_DOCUMENTATIONS_URLS=new Map([[ws.XIAOMI_MIIO_PLATFORM,"xiaomiMiio"],[ws.KRZYSZTOFHAJDAMOWICZ_MIIO2_PLATFORM,"krzysztofHajdamowiczMiio2"],[ws.MAROTOWEB_VIOMISE_PLATFORM,"marotowebViomise"],[ws.TYKAROL_VIOMI_VACUUM_V8_PLATFORM,"tykarolViomiVacuumV8"],[ws.HYPFER_VALETUDO_PLATFORM,"hypferValetudo"],[ws.RAND256_VALETUDO_RE_PLATFORM,"rand256ValetudoRe"],[ws.TASSHACK_DREAME_VACUUM_PLATFORM,"tasshackDreameVacuum"],[ws.HUMBERTOGONTIJO_ROBOROCK_PLATFORM,"humbertogontijoHomeassistantRoborock"],[ws.SEND_COMMAND_PLATFORM,"sendCommand"],[ws.ALONE_XIAOMI_MIOT_PLATFORM,"alOneHassXiaomiMiot"],[ws.NEATO_PLATFORM,"neato"],[ws.ROOMBA_PLATFORM,"roomba"],[ws.DEEBOTUNIVERSE_DEEBOT_4_HOME_ASSISTANT_PLATFORM,"DeebotUniverseDeebot4homeAssistant"],[ws.ROMEDTINO_SIMPLE_WAZE_PLATFORM,"romedtinoSimpleWyze"],[ws.BENJAMIN_PAAP_MYNEATO_PLATFORM,"BenjaminPaapMyNeato"],[ws.SETUP_INTEGER_PLATFORM,"setup"],[ws.SETUP_DECIMAL_PLATFORM,"setup"]]),function(e){e[e.NONE=0]="NONE",e[e.INTERNAL=1]="INTERNAL",e[e.EXTERNAL=2]="EXTERNAL",e[e.REPEAT=3]="REPEAT"}(ir||(ir={}));const zs="v2.2.4",Ps="xiaomi-vacuum-map-card",Ms="xiaomi-vacuum-map-card-editor",Ts="action-handler-xiaomi-vacuum-map-card",Ss="data:image/png;base64,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",Cs="map-card-selection-changed",Os="map-card-autogenerated-config-get",Ns="map-card-autogenerated-config",Rs="map-card-room-config-get",$s="map-card-room-config",js="map-card-service-call-get",Ls="map-card-service-call",Is="ll-custom",Ds="xiaomi_vacuum_map_card",Vs={run_immediately:!0,selection_type:tr[tr.ROOM],repeats_type:ir[ir.NONE]};var Fs,Us,qs,Hs;!function(e){e.ENTITY_ID="entity_id",e.SELECTION="selection",e.SELECTION_SIZE="selection_size",e.SELECTION_UNWRAPPED="selection_unwrapped",e.REPEATS="repeats",e.POINT_X="point_x",e.POINT_Y="point_y"}(Fs||(Fs={})),function(e){e.ENTITY_ID="entity_id",e.VACUUM_ENTITY_ID="vacuum_entity_id",e.ATTRIBUTE="attribute"}(Us||(Us={}));class Ks{constructor(e,t,i,a){this.domain=e,this.service=t,this.serviceData=i,this.target=a}}class Xs{constructor(e){var t;this.config=e,this.service=e.service,this.serviceData=e.service_data,this.target=e.target,this.evaluateDataAsTemplate=null!==(t=e.evaluate_data_as_template)&&void 0!==t&&t}apply(e,t,i,a){const n=Xs.getDefaultVariables(e,t,i);let o,r;this.serviceData&&(o=cl(this.serviceData,n,a)),this.target&&(r=cl(this.target,n,a));const s=this.service.split(".");return new Ks(s[0],s[1],o,r)}static getDefaultVariables(e,t,i){const a={};return a[Fs.ENTITY_ID]=e,a[Fs.SELECTION]=t,a[Fs.SELECTION_SIZE]=t.length,a[Fs.SELECTION_UNWRAPPED]=JSON.stringify(t).replaceAll("[","").replaceAll("]","").replaceAll('"',""),a[Fs.REPEATS]=i,a[Fs.POINT_X]=this.isPoint(t)?t[0]:"",a[Fs.POINT_Y]=this.isPoint(t)?t[1]:"",a}static isPoint(e){return"number"==typeof e[0]&&2==e.length}}!function(e){e.JSONIFY="|[[jsonify]]",e.JSONIFY_JINJA="|[[jsonify_jinja]]"}(qs||(qs={}));class Gs{constructor(e,t,i){var a,n,o,r,s,l,c,d,u,m;this.config=t,this.name=null!==(a=t.name)&&void 0!==a?a:Wo("map_mode.invalid",i),this.icon=null!==(n=t.icon)&&void 0!==n?n:"mdi:help",this.idType=t.id_type,this.selectionType=t.selection_type?tr[t.selection_type]:tr.PREDEFINED_POINT,this.maxSelections=null!==(o=t.max_selections)&&void 0!==o?o:999,this.coordinatesRounding=null===(r=t.coordinates_rounding)||void 0===r||r,this.coordinatesToMetersDivider=null!==(s=t.coordinates_to_meters_divider)&&void 0!==s?s:1e3,this.runImmediately=null!==(l=t.run_immediately)&&void 0!==l&&l,this.repeatsType=t.repeats_type?ir[t.repeats_type]:ir.NONE,this.maxRepeats=null!==(c=t.max_repeats)&&void 0!==c?c:1,this.serviceCallSchema=new Xs(null!==(d=t.service_call_schema)&&void 0!==d?d:{}),this.predefinedSelections=null!==(u=t.predefined_selections)&&void 0!==u?u:[],this.variables=null!==(m=t.variables)&&void 0!==m?m:{},this._applyTemplateIfPossible(e,t,i),Gs.PREDEFINED_SELECTION_TYPES.includes(this.selectionType)||(this.runImmediately=!1)}async getServiceCall(e,t,i,a,n){let o=this._applyData(t,i,a,n);if(this.serviceCallSchema.evaluateDataAsTemplate)try{const t=await async function(e,t){return new Promise((i=>{e.connection.subscribeMessage((e=>i(e.result)),{type:"render_template",template:t})}))}(e,JSON.stringify(o.serviceData));try{const e="string"==typeof t?JSON.parse(t):t;sl(e,(e=>e.endsWith(qs.JSONIFY_JINJA)?JSON.parse(e.replace(qs.JSONIFY_JINJA,"")):e)),o=Object.assign(Object.assign({},o),{serviceData:e})}catch(e){throw console.error("Failed to parse template output",t),e}}catch(e){console.error("Failed to evaluate template",o.serviceData)}return o}toMapModeConfig(){var e;return{name:this.name,icon:this.icon,run_immediately:this.runImmediately,coordinates_rounding:this.coordinatesRounding,coordinates_to_meters_divider:this.coordinatesToMetersDivider,selection_type:tr[this.selectionType],id_type:this.idType,max_selections:this.maxSelections,repeats_type:ir[this.repeatsType],max_repeats:this.maxRepeats,service_call_schema:JSON.parse(JSON.stringify(this.serviceCallSchema.config)),predefined_selections:this.predefinedSelections,variables:Object.fromEntries(Object.entries(null!==(e=this.variables)&&void 0!==e?e:{}).map((([e,t])=>[e.substr(2,e.length-4),t])))}}_applyTemplateIfPossible(e,t,i){if(!t.template||!ws.isValidModeTemplate(e,t.template))return;const a=ws.getModeTemplate(e,t.template);!t.name&&a.name&&(this.name=Wo(a.name,i)),!t.icon&&a.icon&&(this.icon=a.icon),!t.selection_type&&a.selection_type&&(this.selectionType=tr[a.selection_type]),!t.id_type&&a.id_type&&(this.idType=a.id_type),!t.max_selections&&a.max_selections&&(this.maxSelections=a.max_selections),void 0===t.coordinates_rounding&&void 0!==a.coordinates_rounding&&(this.coordinatesRounding=a.coordinates_rounding),void 0===t.coordinates_to_meters_divider&&void 0!==a.coordinates_to_meters_divider&&(this.coordinatesToMetersDivider=a.coordinates_to_meters_divider),void 0===t.run_immediately&&void 0!==a.run_immediately&&(this.runImmediately=a.run_immediately),!t.repeats_type&&a.repeats_type&&(this.repeatsType=ir[a.repeats_type]),!t.max_repeats&&a.max_repeats&&(this.maxRepeats=a.max_repeats),!t.service_call_schema&&a.service_call_schema&&(this.serviceCallSchema=new Xs(a.service_call_schema))}_applyData(e,t,i,a){return this.serviceCallSchema.apply(e,t,i,Object.assign(Object.assign({},this.variables),a))}}Gs.PREDEFINED_SELECTION_TYPES=[tr.PREDEFINED_RECTANGLE,tr.ROOM,tr.PREDEFINED_POINT];class Bs{constructor(e,t){this.x=e,this.y=t}}function Zs(e){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation()}function Ys(e,t){const i=e.indexOf(t,0);return i>-1&&e.splice(i,1),i}function Js(e,t){var i,a,n,o,r,s,l,c;const d=new Set;return e.entity&&d.add(e.entity),e.map_source.camera&&d.add(e.map_source.camera),(null===(i=e.calibration_source)||void 0===i?void 0:i.entity)&&d.add(e.calibration_source.entity),(null!==(a=e.conditions)&&void 0!==a?a:[]).map((e=>null==e?void 0:e.entity)).forEach((e=>{e&&d.add(e)})),(null!==(n=e.icons)&&void 0!==n?n:[]).forEach((e=>{e.hasOwnProperty("entity")&&d.add(e.entity)})),(null!==(o=e.icons)&&void 0!==o?o:[]).filter((e=>e.conditions)).flatMap((e=>e.conditions)).map((e=>null==e?void 0:e.entity)).forEach((e=>{e&&d.add(e)})),(null!==(r=e.tiles)&&void 0!==r?r:[]).forEach((e=>{e.entity&&d.add(e.entity)})),(null!==(s=e.tiles)&&void 0!==s?s:[]).forEach((e=>{e.icon_source&&d.add(e.icon_source.split(".attributes.")[0])})),(null!==(l=e.tiles)&&void 0!==l?l:[]).filter((e=>e.conditions)).flatMap((e=>e.conditions)).map((e=>null==e?void 0:e.entity)).forEach((e=>{e&&d.add(e)})),(null!==(c=e.map_modes)&&void 0!==c?c:[]).map((i=>new Gs(ws.getPlatformName(e.vacuum_platform),i,t))).forEach((e=>function(e){const t=new Set;switch(e.selectionType){case tr.PREDEFINED_RECTANGLE:e.predefinedSelections.map((e=>e)).filter((e=>"string"==typeof e.zones)).forEach((e=>t.add(e.zones.split(".attributes.")[0])));break;case tr.PREDEFINED_POINT:e.predefinedSelections.map((e=>e)).filter((e=>"string"==typeof e.position)).forEach((e=>t.add(e.position.split(".attributes.")[0])))}return t}(e).forEach((e=>d.add(e))))),d}function Ws(e){var t;const i=new Set;return[e,...null!==(t=e.additional_presets)&&void 0!==t?t:[]].flatMap((t=>[...Js(t,e.language)])).forEach((e=>i.add(e))),[...i]}function Qs(e,t,i){var a;return(null!==(a=e.conditions)&&void 0!==a?a:[]).every((e=>function(e,t,i){let a="";return e.internal_variable&&e.internal_variable in t?a=t[e.internal_variable]:e.entity&&(a=e.attribute?i.states[e.entity].attributes[e.attribute]:i.states[e.entity].state),e.value?a==e.value:!!e.value_not&&a!=e.value_not}(e,t,i)))}function el(e,t){return e?t():null}function tl(e,t,i){return i?()=>il(e,t,i):i=>{var a,n;return il(e,t,null!==(n=null===(a=null==i?void 0:i.detail)||void 0===a?void 0:a.action)&&void 0!==n?n:"tap")}}function il(e,t,i){var a;if(e.hass&&t&&i){const n=e._getCurrentPreset(),o=e._getCurrentMode();let r={};r[Us.VACUUM_ENTITY_ID]=n.entity,t.hasOwnProperty("attribute")&&(r[Us.ATTRIBUTE]=t.attribute),t.hasOwnProperty("variables")&&(r=Object.assign(Object.assign({},r),t.variables));const s=t.hasOwnProperty("entity")?t.entity:n.entity,{selection:l,variables:c}=e._getSelection(o),d=cl(t,Xs.getDefaultVariables(s,l,e.repeats),r,e.internalVariables,null!==(a=null==o?void 0:o.variables)&&void 0!==a?a:{},c);Ee(e,e.hass,d,i)}}function al(e,t,i){let a,n;return e instanceof MouseEvent&&(a=e.offsetX,n=e.offsetY),window.TouchEvent&&e instanceof TouchEvent&&e.touches&&(a=(e.touches[0].clientX-t.getBoundingClientRect().x)/i,n=(e.touches[0].clientY-t.getBoundingClientRect().y)/i),new Bs(a,n)}async function nl(e,t){let i;try{i=await async function(e,t){const i=(await e.callWS({type:"config/entity_registry/get",entity_id:t})).device_id,a=(await e.callWS({type:"config/entity_registry/list"})).filter((e=>e.device_id===i)),n=await Promise.all(a.map((t=>e.callWS({type:"config/entity_registry/get",entity_id:t.entity_id}))));return n.filter((e=>null==e.disabled_by))}(e,t)}catch(e){i=[]}return i}async function ol(e){await new Promise((t=>setTimeout((()=>t()),e)))}function rl(e){const t=document.createElement("textarea");t.style.position="fixed",t.style.left="0",t.style.top="0",t.style.opacity="0",t.value=e,document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t)}function sl(e,t){for(const[i,a]of Object.entries(e))"object"==typeof a?sl(a,t):"string"==typeof a&&(e[i]=t(a))}function ll(e,t){var i;const a=Object.fromEntries(Object.entries(null!=t?t:{}).map((([e,t])=>[`[[${e}]]`,t]))),n=e=>e in a?a[e]:null;return null!==(i=n(e))&&void 0!==i?i:function(e,t,i){let a=e;if(Object.keys(t).forEach((e=>{let t=i(e);"object"==typeof t&&(t=JSON.stringify(t)),a=a.replaceAll(e,`${t}`)})),a.endsWith(qs.JSONIFY))return JSON.parse(a.replace(qs.JSONIFY,""));return a}(e,a,n)}function cl(e,...t){const i=JSON.parse(JSON.stringify(e));let a={};for(const e of t)a=Object.assign(Object.assign({},e),a);return sl(i,(e=>ll(e,a))),i}class dl{static render(e){return D` +

+
+ +
+
Success!
+
+ `}static showToast(e,t,i,a,n,o,r="",s=2e3){const l=null==e?void 0:e.getElementById(`${i}-toast`),c=null==e?void 0:e.getElementById(`${i}-toast-text`),d=null==e?void 0:e.getElementById(`${i}-toast-icon`);l&&c&&d&&(l.className+=" show",c.innerText=t(a)+(r?`\n${r}`:""),d.children[0].setAttribute("icon",n),d.style.color=o?"var(--map-card-internal-toast-successful-icon-color)":"var(--map-card-internal-toast-unsuccessful-icon-color)",ol(s).then((()=>l.className=l.className.replace(" show",""))))}static get styles(){return r` + .toast { + visibility: hidden; + display: inline-flex; + width: calc(100% - 60px); + min-height: 50px; + color: var(--primary-text-color); + text-align: center; + border-radius: var(--map-card-internal-small-radius); + padding-inline-start: 30px; + position: absolute; + z-index: 1; + bottom: 30px; + font-size: 17px; + } + + .toast-icon { + display: flex; + justify-content: center; + align-items: center; + width: 50px; + background-color: var(--map-card-internal-primary-color); + border-start-start-radius: var(--map-card-internal-small-radius); + border-end-start-radius: var(--map-card-internal-small-radius); + color: #0f0; + } + + .toast-text { + box-sizing: border-box; + display: flex; + align-items: center; + padding-left: 10px; + padding-right: 10px; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + background-color: var(--paper-listbox-background-color); + color: var(--primary-text-color); + vertical-align: middle; + overflow: hidden; + border-color: var(--map-card-internal-primary-color); + border-style: solid; + border-width: 1px; + border-start-end-radius: var(--map-card-internal-small-radius); + border-end-end-radius: var(--map-card-internal-small-radius); + } + + .toast.show { + visibility: visible; + -webkit-animation: fadein 0.5s, stay 1s 1s, fadeout 0.5s 1.5s; + animation: fadein 0.5s, stay 1s 1s, fadeout 0.5s 1.5s; + } + + @-webkit-keyframes fadein { + from { + bottom: 0; + opacity: 0; + } + to { + bottom: 30px; + opacity: 1; + } + } + @keyframes fadein { + from { + bottom: 0; + opacity: 0; + } + to { + bottom: 30px; + opacity: 1; + } + } + @-webkit-keyframes stay { + } + @keyframes stay { + } + @-webkit-keyframes fadeout { + from { + bottom: 30px; + opacity: 1; + } + to { + bottom: 60px; + opacity: 0; + } + } + @keyframes fadeout { + from { + bottom: 30px; + opacity: 1; + } + to { + bottom: 60px; + opacity: 0; + } + } + `}}let ul=Hs=class extends re{constructor(){super(),this._initialized=!1,this._handleNewSelection=this._handleNewSelection.bind(this),this._handleAutogeneratedConfig=this._handleAutogeneratedConfig.bind(this),this._handleRoomConfig=this._handleRoomConfig.bind(this),this._handleServiceCall=this._handleServiceCall.bind(this)}get _title(){var e;return(null===(e=this._config)||void 0===e?void 0:e.title)||""}get _entity(){var e;return(null===(e=this._config)||void 0===e?void 0:e.entity)||""}get _vacuum_platform(){var e;return(null===(e=this._config)||void 0===e?void 0:e.vacuum_platform)||""}get _camera(){var e,t;return(null===(t=null===(e=this._config)||void 0===e?void 0:e.map_source)||void 0===t?void 0:t.camera)||""}get _map_locked(){var e;return(null===(e=this._config)||void 0===e?void 0:e.map_locked)||!1}get _two_finger_pan(){var e;return(null===(e=this._config)||void 0===e?void 0:e.two_finger_pan)||!1}static _copyServiceCall(){window.dispatchEvent(new Event(js))}_setStaticConfig(){window.confirm(this._localize("editor.alerts.set_static_config"))&&window.dispatchEvent(new Event(Os))}static _generateRoomsConfig(){window.dispatchEvent(new Event(Rs))}setConfig(e){this._config=e,this.loadCardHelpers()}connectedCallback(){super.connectedCallback(),window.addEventListener(Cs,this._handleNewSelection),window.addEventListener(Ns,this._handleAutogeneratedConfig),window.addEventListener($s,this._handleRoomConfig),window.addEventListener(Ls,this._handleServiceCall)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener(Cs,this._handleNewSelection),window.removeEventListener(Ns,this._handleAutogeneratedConfig),window.removeEventListener($s,this._handleRoomConfig),window.removeEventListener(Ls,this._handleServiceCall)}shouldUpdate(){return this._initialized||this._initialize(),!0}render(){var e,t,i,a,n;if(!this.hass||!this._helpers)return D``;this._helpers.importMoreInfoControl("climate");const o=Object.keys(this.hass.states),r=o.filter((e=>"camera"===e.substr(0,e.indexOf(".")))),s=o.filter((e=>"vacuum"===e.substr(0,e.indexOf(".")))),l=ws.getPlatforms(),c=void 0===(null===(t=null===(e=this.hass.states[this._camera])||void 0===e?void 0:e.attributes)||void 0===t?void 0:t.rooms)||void 0===ws.getRoomsTemplate(this._vacuum_platform);return D` +
+
+ ${this._localize("editor.description.before_link")}${this._localize("editor.description.link_text")}${this._localize("editor.description.after_link")} +
+
+ +
+
+ + ${s.map((e=>D` ${e} `))} + +
+ +
+ + ${r.map((e=>D` ${e} `))} + +
+
+ + + +
+
+ + + +
+
+

${this._localize("editor.label.selection")}

+ ${null!==(n=this._lastSelection)&&void 0!==n?n:"[]"} + + ${this._localize("editor.label.copy")} + +
+
+ + ${this._localize("editor.label.set_static_config")} + + + ${this._localize("editor.label.generate_rooms_config")} + + + ${this._localize("editor.label.copy_service_call")} + +
+
${this._localize("common.version")} ${zs}
+ ${dl.render("editor")} +
+ `}_initialize(){void 0!==this.hass&&void 0!==this._config&&void 0!==this._helpers&&(this._initialized=!0)}async loadCardHelpers(){this._helpers=await window.loadCardHelpers()}_handleNewSelection(e){this._lastSelection=JSON.stringify(e.selection).replaceAll(",",", ")}_handleAutogeneratedConfig(e){const t=e.presetConfig;this._showToast("editor.label.config_set","mdi:check",!0),this._setConfig(t)}_handleRoomConfig(e){var t,i,a,n,o;const r=ws.getRoomsTemplate(this._vacuum_platform),s=e.roomConfig;if(!s)return void this._showToast("editor.label.config_set_failed","mdi:close",!1);const l=null!==(i=null===(t=this._config)||void 0===t?void 0:t.map_modes)&&void 0!==i?i:[];0!==l.length&&(null!==(a=s.modeIndex)&&void 0!==a?a:-1)>=0?l[null!==(n=s.modeIndex)&&void 0!==n?n:-1]=Object.assign(Object.assign({},l[null!==(o=s.modeIndex)&&void 0!==o?o:-1]),{predefined_selections:s.rooms}):(0===l.length&&l.push(...ws.generateDefaultModes(this._vacuum_platform)),r&&l.push({template:r,predefined_selections:s.rooms})),this._config&&this._setConfig(Object.assign(Object.assign({},this._config),{map_modes:l})),this._showToast("editor.label.config_set","mdi:check",!0)}_handleServiceCall(e){const t=e.serviceCall;rl(null!=t?t:""),this._showToast("editor.label.copied","mdi:content-copy",!0)}_copySelection(){var e;rl(null!==(e=this._lastSelection)&&void 0!==e?e:[]),this._showToast("editor.label.copied","mdi:content-copy",!0)}_showToast(e,t,i,a=""){dl.showToast(this.shadowRoot,(e=>this._localize(e)),"editor",e,t,i,a)}_platformChanged(e){if(!this._config||!this.hass)return;const t=e.target.value;if(this._vacuum_platform===t)return;const i=Object.assign({},this._config);i.vacuum_platform=t,ws.getCalibration(i.vacuum_platform)?i.calibration_source&&i.calibration_source.camera&&delete i.calibration_source:!i.calibration_source&&i.map_source&&i.map_source.camera&&(i.calibration_source={camera:!0}),this._config=i,ye(this,"config-changed",{config:this._config})}_cameraChanged(e){if(!this._config||!this.hass)return;const t=e.target.value;if(this._camera===t)return;const i=Object.assign({},this._config);i.map_source={camera:t},ws.getCalibration(this._config.vacuum_platform)||i.calibration_source||!("calibration_points"in this.hass.states[t].attributes)||(i.calibration_source={camera:!0}),this._config=i,ye(this,"config-changed",{config:this._config})}_valueChanged(e){if(!this._config||!this.hass)return;const t=e.target;if(this[`_${t.configValue}`]!==t.value){if(t.configValue)this._config=Object.assign(Object.assign({},this._config),{[t.configValue]:void 0!==t.checked?t.checked:t.value});else{const e=Object.assign({},this._config);delete e[t.configValue],this._config=e}ye(this,"config-changed",{config:this._config})}}_setConfig(e){this._config=Object.assign({},e),ye(this,"config-changed",{config:this._config})}_localize(e){return Qo(e,this.hass)}static get styles(){return r` + .card-config { + position: relative; + --map-card-internal-toast-successful-icon-color: var( + --map-card-toast-successful-icon-color, + rgb(0, 255, 0) + ); + --map-card-internal-toast-unsuccessful-icon-color: var( + --map-card-toast-unsuccessful-icon-color, + rgb(255, 0, 0) + ); + --map-card-internal-small-radius: var(--map-card-small-radius, 18px); + --map-card-internal-primary-color: var(--map-card-primary-color, var(--slider-color)); + padding-bottom: 15px; + } + + .values { + padding-left: 16px; + margin: 8px; + display: grid; + } + + .switch-wrapper { + padding: 8px; + } + + .selection-controls-wrapper { + display: flex; + align-content: stretch; + justify-content: space-between; + align-items: center; + } + + .config-buttons-wrapper { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 20px; + } + + .selection-text { + flex-grow: 1; + padding: 10px; + } + + .separated { + border-top: solid 1px; + border-top-color: var(--primary-text-color); + } + + .version { + position: absolute; + bottom: 0; + right: 0; + opacity: 30%; + } + + ${dl.styles} + `}};var ml;e([ue({attribute:!1})],ul.prototype,"hass",void 0),e([me()],ul.prototype,"_config",void 0),e([me()],ul.prototype,"_helpers",void 0),e([me()],ul.prototype,"_lastSelection",void 0),ul=Hs=e([le(Ms)],ul),function(e){e.CLEANING_START="cleaning.start",e.INTERNAL_VARIABLE_SET="internal_variable.set",e.MAP_MODE_NEXT="map_mode.next",e.MAP_MODE_PREVIOUS="map_mode.previous",e.MAP_MODE_SET="map_mode.set",e.REPEATS_DECREMENT="repeats.decrement",e.REPEATS_INCREMENT="repeats.increment",e.REPEATS_SET="repeats.set",e.SELECTION_CLEAR="selection.clear"}(ml||(ml={}));class pl{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,i){this._$Ct=e,this._$AM=t,this._$Ci=i}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}const _l="ontouchstart"in window||navigator.maxTouchPoints>0;class vl extends HTMLElement{constructor(){super(),this.holdTime=500,this.held=!1,this.ripple=document.createElement("mwc-ripple")}connectedCallback(){Object.assign(this.style,{position:"absolute",width:_l?"100px":"50px",height:_l?"100px":"50px",transform:"translate(-50%, -50%)",pointerEvents:"none",zIndex:"999"}),this.appendChild(this.ripple),this.ripple.primary=!0,["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((e=>{document.addEventListener(e,(()=>{clearTimeout(this.timer),this.stopAnimation(),this.timer=void 0}),{passive:!0})}))}bind(e,t){if(e.actionHandler)return;e.actionHandler=!0,e.addEventListener("contextmenu",(e=>{const t=e||window.event;return t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0,t.returnValue=!1,!1}));const i=e=>{let t,i;this.held=!1,e.touches?(t=e.touches[0].pageX,i=e.touches[0].pageY):(t=e.pageX,i=e.pageY),this.timer=window.setTimeout((()=>{this.startAnimation(t,i),this.held=!0}),this.holdTime)},a=i=>{i.preventDefault(),["touchend","touchcancel"].includes(i.type)&&void 0===this.timer||(clearTimeout(this.timer),this.stopAnimation(),this.timer=void 0,this.held?ye(e,"action",{action:"hold"}):t.hasDoubleClick?"click"===i.type&&i.detail<2||!this.dblClickTimeout?this.dblClickTimeout=window.setTimeout((()=>{this.dblClickTimeout=void 0,ye(e,"action",{action:"tap"})}),250):(clearTimeout(this.dblClickTimeout),this.dblClickTimeout=void 0,ye(e,"action",{action:"double_tap"})):ye(e,"action",{action:"tap"}))};e.addEventListener("touchstart",i,{passive:!0}),e.addEventListener("touchend",a),e.addEventListener("touchcancel",a),e.addEventListener("mousedown",i,{passive:!0}),e.addEventListener("click",a),e.addEventListener("keyup",(e=>{13===e.keyCode&&a(e)}))}startAnimation(e,t){Object.assign(this.style,{left:`${e}px`,top:`${t}px`,display:null}),this.ripple.disabled=!1,this.ripple.active=!0,this.ripple.unbounded=!0}stopAnimation(){this.ripple.active=!1,this.ripple.disabled=!0,this.style.display="none"}}customElements.define(Ts,vl);const gl=(e,t)=>{const i=(()=>{const e=document.body;if(e.querySelector(Ts))return e.querySelector(Ts);const t=document.createElement(Ts);return e.appendChild(t),t})();i&&i.bind(e,t)},hl=(e=>(...t)=>({_$litDirective$:e,values:t}))(class extends pl{update(e,[t]){return gl(e.element,t),F}render(e){}});class fl{constructor(e){this.id=-1,this.nativePointer=e,this.pageX=e.pageX,this.pageY=e.pageY,this.clientX=e.clientX,this.clientY=e.clientY,self.Touch&&e instanceof Touch?this.id=e.identifier:bl(e)&&(this.id=e.pointerId)}getCoalesced(){if("getCoalescedEvents"in this.nativePointer){const e=this.nativePointer.getCoalescedEvents().map((e=>new fl(e)));if(e.length>0)return e}return[this]}}const bl=e=>"pointerId"in e,yl=e=>"changedTouches"in e,kl=()=>{};class Al{constructor(e,{start:t=()=>!0,move:i=kl,end:a=kl,rawUpdates:n=!1,avoidPointerEvents:o=!1}={}){this._element=e,this.startPointers=[],this.currentPointers=[],this._excludeFromButtonsCheck=new Set,this._pointerStart=e=>{if(bl(e)&&0===e.buttons)this._excludeFromButtonsCheck.add(e.pointerId);else if(!(1&e.buttons))return;const t=new fl(e);if(!this.currentPointers.some((e=>e.id===t.id))&&this._triggerPointerStart(t,e))if(bl(e)){(e.target&&"setPointerCapture"in e.target?e.target:this._element).setPointerCapture(e.pointerId),this._element.addEventListener(this._rawUpdates?"pointerrawupdate":"pointermove",this._move),this._element.addEventListener("pointerup",this._pointerEnd),this._element.addEventListener("pointercancel",this._pointerEnd)}else window.addEventListener("mousemove",this._move),window.addEventListener("mouseup",this._pointerEnd)},this._touchStart=e=>{for(const t of Array.from(e.changedTouches))this._triggerPointerStart(new fl(t),e)},this._move=e=>{if(!(yl(e)||bl(e)&&this._excludeFromButtonsCheck.has(e.pointerId)||0!==e.buttons))return void this._pointerEnd(e);const t=this.currentPointers.slice(),i=yl(e)?Array.from(e.changedTouches).map((e=>new fl(e))):[new fl(e)],a=[];for(const e of i){const t=this.currentPointers.findIndex((t=>t.id===e.id));-1!==t&&(a.push(e),this.currentPointers[t]=e)}0!==a.length&&this._moveCallback(t,a,e)},this._triggerPointerEnd=(e,t)=>{if(!yl(t)&&1&t.buttons)return!1;const i=this.currentPointers.findIndex((t=>t.id===e.id));if(-1===i)return!1;this.currentPointers.splice(i,1),this.startPointers.splice(i,1),this._excludeFromButtonsCheck.delete(e.id);const a=!("mouseup"===t.type||"touchend"===t.type||"pointerup"===t.type);return this._endCallback(e,t,a),!0},this._pointerEnd=e=>{if(this._triggerPointerEnd(new fl(e),e))if(bl(e)){if(this.currentPointers.length)return;this._element.removeEventListener(this._rawUpdates?"pointerrawupdate":"pointermove",this._move),this._element.removeEventListener("pointerup",this._pointerEnd),this._element.removeEventListener("pointercancel",this._pointerEnd)}else window.removeEventListener("mousemove",this._move),window.removeEventListener("mouseup",this._pointerEnd)},this._touchEnd=e=>{for(const t of Array.from(e.changedTouches))this._triggerPointerEnd(new fl(t),e)},this._startCallback=t,this._moveCallback=i,this._endCallback=a,this._rawUpdates=n&&"onpointerrawupdate"in window,self.PointerEvent&&!o?this._element.addEventListener("pointerdown",this._pointerStart):(this._element.addEventListener("mousedown",this._pointerStart),this._element.addEventListener("touchstart",this._touchStart),this._element.addEventListener("touchmove",this._move),this._element.addEventListener("touchend",this._touchEnd),this._element.addEventListener("touchcancel",this._touchEnd))}stop(){this._element.removeEventListener("pointerdown",this._pointerStart),this._element.removeEventListener("mousedown",this._pointerStart),this._element.removeEventListener("touchstart",this._touchStart),this._element.removeEventListener("touchmove",this._move),this._element.removeEventListener("touchend",this._touchEnd),this._element.removeEventListener("touchcancel",this._touchEnd),this._element.removeEventListener(this._rawUpdates?"pointerrawupdate":"pointermove",this._move),this._element.removeEventListener("pointerup",this._pointerEnd),this._element.removeEventListener("pointercancel",this._pointerEnd),window.removeEventListener("mousemove",this._move),window.removeEventListener("mouseup",this._pointerEnd)}_triggerPointerStart(e,t){return!!this._startCallback(e,t)&&(this.currentPointers.push(e),this.startPointers.push(e),!0)}}const xl="min-scale",El="max-scale",wl="locked",zl="no-default-pan",Pl="two-finger-pan";function Ml(e,t){return t?Math.sqrt((t.clientX-e.clientX)**2+(t.clientY-e.clientY)**2):0}function Tl(e,t){return t?{clientX:(e.clientX+t.clientX)/2,clientY:(e.clientY+t.clientY)/2}:e}function Sl(e,t){return"number"==typeof e?e:e.trimRight().endsWith("%")?t*parseFloat(e)/100:parseFloat(e)}let Cl;function Ol(){return Cl||(Cl=document.createElementNS("http://www.w3.org/2000/svg","svg"))}function Nl(){return Ol().createSVGMatrix()}function Rl(){return Ol().createSVGPoint()}const $l=.01;class jl extends HTMLElement{static get observedAttributes(){return[xl,El,zl,Pl,wl]}constructor(){super(),this._transform=Nl(),this._enablePan=!0,this._locked=!1,this._twoFingerPan=!1,new MutationObserver((()=>this._stageElChange())).observe(this,{childList:!0});const e=new Al(this,{start:(t,i)=>!(i.target.classList.contains("draggable")&&e.currentPointers.length<2)&&(!(2===e.currentPointers.length||!this._positioningEl||this.locked)&&((this.enablePan||1==e.currentPointers.length||i instanceof PointerEvent&&"mouse"==i.pointerType)&&(this.enablePan=!0),!0)),move:t=>{this.enablePan&&this._onPointerMove(t,e.currentPointers)},end:(t,i,a)=>(this.twoFingerPan&&1==e.currentPointers.length&&(this.enablePan=!1),Zs(i),!1)});this.addEventListener("wheel",(e=>this._onWheel(e)))}attributeChangedCallback(e,t,i){e===xl&&this.scalethis.maxScale&&this.setTransform({scale:this.maxScale}),e===zl&&(this.enablePan=!("1"==i||"true"==i)),e===Pl&&("1"==i||"true"==i?(this.twoFingerPan=!0,this.enablePan=!1):(this.twoFingerPan=!1,this.enablePan=!0)),e===wl&&(this.locked="1"==i||"true"==i)}get minScale(){const e=this.getAttribute(xl);if(!e)return $l;const t=parseFloat(e);return Number.isFinite(t)?Math.max($l,t):$l}set minScale(e){e&&this.setAttribute(xl,String(e))}get maxScale(){const e=this.getAttribute(El);if(!e)return 100;const t=parseFloat(e);return Number.isFinite(t)?Math.min(100,t):100}set maxScale(e){e&&this.setAttribute(El,String(e))}set enablePan(e){this._enablePan=e,this._enablePan?this._enablePan&&"none"!=this.style.touchAction&&(this.style.touchAction="none"):this.style.touchAction="pan-y pan-x"}get enablePan(){return this._enablePan}set locked(e){this._locked=e}get locked(){return this._locked}set twoFingerPan(e){this._twoFingerPan=e}get twoFingerPan(){return this._twoFingerPan}connectedCallback(){this._stageElChange()}get x(){return this._transform.e}get y(){return this._transform.f}get scale(){return this._transform.a}scaleTo(e,t={}){let{originX:i=0,originY:a=0}=t;const{relativeTo:n="content",allowChangeEvent:o=!1}=t,r="content"===n?this._positioningEl:this;if(!r||!this._positioningEl)return void this.setTransform({scale:e,allowChangeEvent:o});const s=r.getBoundingClientRect();if(i=Sl(i,s.width),a=Sl(a,s.height),"content"===n)i+=this.x,a+=this.y;else{const e=this._positioningEl.getBoundingClientRect();i-=e.left,a-=e.top}this._applyChange({allowChangeEvent:o,originX:i,originY:a,scaleDiff:e/this.scale})}setTransform(e={}){const{scale:t=this.scale,allowChangeEvent:i=!1}=e;let{x:a=this.x,y:n=this.y}=e;if(!this._positioningEl)return void this._updateTransform(t,a,n,i);const o=this.getBoundingClientRect(),r=this._positioningEl.getBoundingClientRect();if(!o.width||!o.height)return void this._updateTransform(t,a,n,i);let s=Rl();s.x=r.left-o.left,s.y=r.top-o.top;let l=Rl();l.x=r.width+s.x,l.y=r.height+s.y;const c=Nl().translate(a,n).scale(t).multiply(this._transform.inverse());s=s.matrixTransform(c),l=l.matrixTransform(c),s.x>o.width?a+=o.width-s.x:l.x<0&&(a+=-l.x),s.y>o.height?n+=o.height-s.y:l.y<0&&(n+=-l.y),this._updateTransform(t,a,n,i)}_updateTransform(e,t,i,a){if(!(ethis.maxScale)&&(e!==this.scale||t!==this.x||i!==this.y)&&(this._transform.e=t,this._transform.f=i,this._transform.d=this._transform.a=e,this.style.setProperty("--x",this.x+"px"),this.style.setProperty("--y",this.y+"px"),this.style.setProperty("--scale",this.scale+""),a)){const e=new Event("change",{bubbles:!0});this.dispatchEvent(e)}}_stageElChange(){this._positioningEl=void 0,0!==this.children.length&&(this._positioningEl=this.children[0],this.children.length>1&&console.warn(" must not have more than one child."),this.setTransform({allowChangeEvent:!0}))}_onWheel(e){if(!this._positioningEl||this.locked)return;e.preventDefault();const t=this._positioningEl.getBoundingClientRect();let{deltaY:i}=e;const{ctrlKey:a,deltaMode:n}=e;1===n&&(i*=15);const o=1-i/(a?100:300);this._applyChange({scaleDiff:o,originX:e.clientX-t.left,originY:e.clientY-t.top,allowChangeEvent:!0})}_onPointerMove(e,t){if(!this._positioningEl)return;const i=this._positioningEl.getBoundingClientRect(),a=Tl(e[0],e[1]),n=Tl(t[0],t[1]),o=a.clientX-i.left,r=a.clientY-i.top,s=Ml(e[0],e[1]),l=Ml(t[0],t[1]),c=s?l/s:1;this._applyChange({originX:o,originY:r,scaleDiff:c,panX:n.clientX-a.clientX,panY:n.clientY-a.clientY,allowChangeEvent:!0})}_applyChange(e={}){const{panX:t=0,panY:i=0,originX:a=0,originY:n=0,scaleDiff:o=1,allowChangeEvent:r=!1}=e,s=Nl().translate(t,i).translate(a,n).translate(this.x,this.y).scale(o).translate(-a,-n).scale(this.scale);this.setTransform({allowChangeEvent:r,scale:s.a,x:s.e,y:s.f})}}customElements.define("pinch-zoom",jl);class Ll{constructor(e){this._context=e}get variables(){return{}}static findTopLeft(e){const t=e.sort(((e,t)=>e[1]-t[1]))[0],i=e.indexOf(t),a=e[(i+1)%4],n=e[(i+3)%4],o=Ll.calcAngle(t,a)Math.PI/2&&(i=Math.PI-i),i}static _reverse([e,t,i,a]){return[e,a,i,t]}scaled(e){return e/this._context.scale()}scaledCss(e){return parseFloat(this._context.cssEvaluator(e))/this._context.scale()}realScaled(e){return e/this._context.realScale()}realScaled2(e){return e*this._context.realScale()}realScaled2Point(e){return[this.realScaled2(e[0]),this.realScaled2(e[1])]}realScaledPoint(e){return[this.realScaled(e[0]),this.realScaled(e[1])]}update(){this._context.update(),this._context.selectionChanged()}localize(e){return this._context.localize(e)}getMousePosition(e){return this._context.mousePositionCalculator(e)}vacuumToRealMap(e,t){var i;const a=null===(i=this._context.coordinatesConverter())||void 0===i?void 0:i.vacuumToMap(e,t);if(!a)throw Error("Missing calibration");return a}vacuumToScaledMap(e,t){return this.realScaled2Point(this.vacuumToRealMap(e,t))}scaledMapToVacuum(e,t){const[i,a]=this.realScaledPoint([e,t]);return this.realMapToVacuum(i,a)}realMapToVacuum(e,t){var i;const a=null===(i=this._context.coordinatesConverter())||void 0===i?void 0:i.mapToVacuum(e,t);if(!a)throw Error("Missing calibration");return this._context.roundMap(a)}renderIcon(e,t,i){const a=e?this.vacuumToScaledMap(e.x,e.y):[];return V`${el(null!=e&&a.length>0,(()=>V` + + +
+ +
+ +
+ `))}`}renderLabel(e,t){const i=e?this.vacuumToScaledMap(e.x,e.y):[];return V`${el(null!=e&&i.length>0,(()=>{var a,n;return V` + + ${null==e?void 0:e.text} + + `}))}`}vacuumToMapRect([e,t,i,a]){const n=[e,t],o=[i,t],r=[i,a],s=[e,a],l=this.vacuumToScaledMap(e,t),c=this.vacuumToScaledMap(i,t),d=this.vacuumToScaledMap(i,a),u=this.vacuumToScaledMap(e,a),m=[n,o,r,s,n,o,r,s],p=[l,c,d,u,l,c,d,u],_=[l,c,d,u],v=p.indexOf(Ll.findTopLeft(_)),g=p.slice(v,v+4),h=this._isCounterClockwise(g),f=m.slice(v,v+4);return h?[Ll._reverse(g),Ll._reverse(f)]:[g,f]}_isCounterClockwise(e){let t=0;return e.forEach(((i,a)=>t+=(e[(a+1)%4][0]-i[0])*(e[(a+1)%4][1]+i[1]))),t<0}static get styles(){return r` + .icon-foreign-object { + overflow: visible; + pointer-events: none; + } + + .map-icon-wrapper { + position: center; + display: flex; + align-items: center; + justify-content: center; + pointer-events: auto; + } + `}}var Il;!function(e){e[e.NONE=0]="NONE",e[e.RESIZE=1]="RESIZE",e[e.MOVE=2]="MOVE"}(Il||(Il={}));class Dl extends Ll{constructor(e,t,i,a,n,o){super(o),this._id=n,this._dragMode=Il.NONE,this._vacRect=this._toVacuumFromDimensions(e,t,i,a),this._vacRectSnapshot=this._vacRect}static _toPoints(e){const t=e.filter((e=>!isNaN(e[0])&&!isNaN(e[1]))).map((e=>e.join(", "))).join(" ");return 3==t.length&&console.error(`Points: ${t}`),t}render(){const e=this._vacRect,t=this.vacuumToMapRect(e)[0],i=t[0],a=t[2],n=t[3],o=Dl.calcAngle(t[0],t[3]);return V` + + + + + + ${this._id} ${this._getDimensions()} + + + + + + + + + + + `}isSelected(){return null!=this._selectedElement}externalDrag(e){this._drag(e)}toVacuum(e=null){const[t,i,a,n]=this._vacRect,o=[Math.min(t,a),Math.min(i,n),Math.max(t,a),Math.max(i,n)];return null!=e?[...o,e]:o}_getDimensions(){const[e,t,i,a]=this.toVacuum(),n=Math.abs(i-e),o=Math.abs(a-t),r=this._context.coordinatesToMetersDivider();if(-1===r)return"";const s=e=>(e/r).toFixed(1);return`${s(n)}${this.localize("unit.meter_shortcut")} x ${s(o)}${this.localize("unit.meter_shortcut")}`}_startDrag(e){var t;if(window.TouchEvent&&e instanceof TouchEvent&&e.touches.length>1)return;if(!e.target.classList.contains("draggable"))return;if(!(null===(t=e.target.parentElement)||void 0===t?void 0:t.classList.contains("manual-rectangle-wrapper")))return;if(!e.target.parentElement)return;Zs(e),this._selectedTarget=e.target;const i=e.target;i.classList.contains("movable")?this._dragMode=Il.MOVE:i.classList.contains("resizer")?this._dragMode=Il.RESIZE:this._dragMode=Il.NONE,this._selectedElement=e.target.parentElement,this._vacRectSnapshot=[...this._vacRect];const a=this.getMousePosition(e);this._startPointSnapshot=this.scaledMapToVacuum(a.x,a.y),this.update()}_drag(e){if(!(window.TouchEvent&&e instanceof TouchEvent&&e.touches.length>1)&&this._selectedElement){Zs(e);const t=this.getMousePosition(e);if(t){const e=this.scaledMapToVacuum(t.x,t.y),i=e[0]-this._startPointSnapshot[0],a=e[1]-this._startPointSnapshot[1];switch(this._dragMode){case Il.MOVE:this._vacRect=[this._vacRectSnapshot[0]+i,this._vacRectSnapshot[1]+a,this._vacRectSnapshot[2]+i,this._vacRectSnapshot[3]+a],this._setup(this.vacuumToMapRect(this._vacRect)[0]);break;case Il.RESIZE:const e=this.vacuumToMapRect(this._vacRectSnapshot)[1][0],t=[...this._vacRect];e[0]===this._vacRectSnapshot[0]?this._vacRect[2]=this._vacRectSnapshot[2]+i:this._vacRect[0]=this._vacRectSnapshot[0]+i,e[1]===this._vacRectSnapshot[1]?this._vacRect[3]=this._vacRectSnapshot[3]+a:this._vacRect[1]=this._vacRectSnapshot[1]+a,Math.sign(this._vacRect[0]-this._vacRect[2])==Math.sign(t[0]-t[2])&&Math.sign(this._vacRect[1]-this._vacRect[3])==Math.sign(t[1]-t[3])||(this._vacRect=t),this._setup(this.vacuumToMapRect(this._vacRect)[0]);case Il.NONE:}}}}_setup(e){var t,i,a,n,o,r,s,l,c,d,u,m,p,_,v,g,h;null===(a=null===(i=null===(t=this._selectedElement)||void 0===t?void 0:t.children)||void 0===i?void 0:i.item(0))||void 0===a||a.setAttribute("points",Dl._toPoints(e));const f=e[0],b=e[2],y=e[3],k=Dl.calcAngle(e[0],e[3]);null===(o=null===(n=this._selectedElement)||void 0===n?void 0:n.style)||void 0===o||o.setProperty("--x-resize",b[0]+"px"),null===(s=null===(r=this._selectedElement)||void 0===r?void 0:r.style)||void 0===s||s.setProperty("--y-resize",b[1]+"px"),null===(c=null===(l=this._selectedElement)||void 0===l?void 0:l.style)||void 0===c||c.setProperty("--x-delete",y[0]+"px"),null===(u=null===(d=this._selectedElement)||void 0===d?void 0:d.style)||void 0===u||u.setProperty("--y-delete",y[1]+"px"),null===(p=null===(m=this._selectedElement)||void 0===m?void 0:m.style)||void 0===p||p.setProperty("--x-description",f[0]+"px"),null===(v=null===(_=this._selectedElement)||void 0===_?void 0:_.style)||void 0===v||v.setProperty("--y-description",f[1]+"px"),null===(h=null===(g=this._selectedElement)||void 0===g?void 0:g.style)||void 0===h||h.setProperty("--angle-description",k+"rad")}_endDrag(e){Zs(e),this._selectedElement=null,this._selectedTarget=null,this.update()}_delete(e){Zs(e);const t=Ys(this._context.selectedManualRectangles(),this);if(t>-1){for(let e=t;e .manual-rectangle { + stroke: var(--map-card-internal-manual-rectangle-line-color-selected); + fill: var(--map-card-internal-manual-rectangle-fill-color-selected); + } + + .manual-rectangle-description { + transform: translate( + calc( + var(--x-description) + var(--map-card-internal-manual-rectangle-description-offset-x) / + var(--map-scale) + ), + calc( + var(--y-description) + var(--map-card-internal-manual-rectangle-description-offset-y) / + var(--map-scale) + ) + ) + rotate(var(--angle-description)); + font-size: calc(var(--map-card-internal-manual-rectangle-description-font-size) / var(--map-scale)); + fill: var(--map-card-internal-manual-rectangle-description-color); + background: transparent; + } + + .manual-rectangle-delete-circle { + r: calc(var(--map-card-internal-manual-rectangle-delete-circle-radius) / var(--map-scale)); + cx: var(--x-delete); + cy: var(--y-delete); + stroke: var(--map-card-internal-manual-rectangle-delete-circle-line-color); + fill: var(--map-card-internal-manual-rectangle-delete-circle-fill-color); + stroke-width: calc( + var(--map-card-internal-manual-rectangle-delete-circle-line-width) / var(--map-scale) + ); + } + + .manual-rectangle-delete-icon { + fill: var(--map-card-internal-manual-rectangle-delete-icon-color); + transform: translate( + calc(var(--x-delete) - 8.5px / var(--map-scale)), + calc(var(--y-delete) - 8.5px / var(--map-scale)) + ) + scale(calc(0.71 / var(--map-scale))); + pointer-events: none; + } + + .manual-rectangle-wrapper.selected > .manual-rectangle-delete-circle { + stroke: var(--map-card-internal-manual-rectangle-delete-circle-line-color-selected); + fill: var(--map-card-internal-manual-rectangle-delete-circle-fill-color-selected); + opacity: 50%; + } + + .manual-rectangle-wrapper.selected > .manual-rectangle-delete-icon { + fill: var(--map-card-internal-manual-rectangle-delete-icon-color-selected); + opacity: 50%; + } + + .manual-rectangle-resize-circle { + r: calc(var(--map-card-internal-manual-rectangle-resize-circle-radius) / var(--map-scale)); + cx: var(--x-resize); + cy: var(--y-resize); + stroke: var(--map-card-internal-manual-rectangle-resize-circle-line-color); + fill: var(--map-card-internal-manual-rectangle-resize-circle-fill-color); + stroke-width: calc( + var(--map-card-internal-manual-rectangle-resize-circle-line-width) / var(--map-scale) + ); + } + + .manual-rectangle-resize-icon { + fill: var(--map-card-internal-manual-rectangle-resize-icon-color); + transform: translate( + calc(var(--x-resize) - 8.5px / var(--map-scale)), + calc(var(--y-resize) - 8.5px / var(--map-scale)) + ) + scale(calc(0.71 / var(--map-scale))); + pointer-events: none; + } + + .manual-rectangle-wrapper.selected > .manual-rectangle-resize-circle { + stroke: var(--map-card-internal-manual-rectangle-resize-circle-line-color-selected); + fill: var(--map-card-internal-manual-rectangle-resize-circle-fill-color-selected); + opacity: 50%; + } + + .manual-rectangle-wrapper.selected > .manual-rectangle-resize-icon { + fill: var(--map-card-internal-manual-rectangle-resize-icon-color-selected); + opacity: 50%; + } + `}}class Vl{constructor(e,t,i,a,n,o,r,s,l,c,d,u,m,p,_,v){this.scale=e,this.realScale=t,this.mousePositionCalculator=i,this.update=a,this.selectionChanged=n,this.coordinatesConverter=o,this.selectedManualRectangles=r,this.selectedPredefinedRectangles=s,this.selectedRooms=l,this.selectedPredefinedPoint=c,this.roundingEnabled=d,this.coordinatesToMetersDivider=u,this.maxSelections=m,this.cssEvaluator=p,this.runImmediately=_,this.localize=v}roundMap([e,t]){return this.roundingEnabled()?[Math.round(e),Math.round(t)]:[e,t]}}class Fl extends Ll{constructor(e,t,i){super(i),this._x=e,this._y=t}}class Ul extends Fl{constructor(e,t,i){super(e,t,i)}render(){return V` + + + + `}imageX(){return this.realScaled(this._x)}imageY(){return this.realScaled(this._y)}toVacuum(e=null){const[t,i]=this.realMapToVacuum(this.imageX(),this.imageY());return null===e?[t,i]:[t,i,e]}static get styles(){return r` + .manual-point-wrapper { + stroke: var(--map-card-internal-manual-point-line-color); + stroke-width: calc(var(--map-card-internal-manual-point-line-width) / var(--map-scale)); + --radius: calc(var(--map-card-internal-manual-point-radius) / var(--map-scale)); + } + + .manual-point { + cx: var(--x-point); + cy: var(--y-point); + r: var(--radius); + fill: var(--map-card-internal-manual-point-fill-color); + } + `}}class ql extends Ll{constructor(e,t,i){super(i),this.x=e,this.y=t}imageX(){return this.realScaled(this.x)}imageY(){return this.realScaled(this.y)}renderMask(){return V` + + `}render(){return V` + + `}}class Hl extends Ll{constructor(e,t){super(t),this.points=e}render(){if(0===this.points.length)return V``;const e=this.points.map((e=>e.x)),t=this.points.map((e=>e.y)),i=Math.max(...e),a=Math.min(...e),n=Math.max(...t),o=Math.min(...t);return V` + + + + + ${this.points.map((e=>e.renderMask()))} + + + ${this.points.map((e=>e.render()))} + + + + `}toVacuum(e=null){return this.points.map((t=>{const[i,a]=this.realMapToVacuum(t.imageX(),t.imageY());return null===e?[i,a]:[i,a,e]}))}addPoint(e,t){this.points.push(new ql(e,t,this._context))}clear(){this.points=[]}removeLast(){this.points.pop()}static get styles(){return r` + .manual-path-wrapper { + --radius: calc(var(--map-card-internal-manual-path-point-radius) / var(--map-scale)); + } + + .manual-path-line { + fill: transparent; + stroke: var(--map-card-internal-manual-path-line-color); + stroke-width: calc(var(--map-card-internal-manual-path-line-width) / var(--map-scale)); + } + + .manual-path-point { + r: var(--radius); + stroke: var(--map-card-internal-manual-path-point-line-color); + fill: var(--map-card-internal-manual-path-point-fill-color); + stroke-width: calc(var(--map-card-internal-manual-path-point-line-width) / var(--map-scale)); + } + `}}class Kl extends Ll{constructor(e,t){var i;super(t),this._config=e,this._selected=!1,this._iconConfig=null!==(i=this._config.icon)&&void 0!==i?i:{x:this._config.position[0],y:this._config.position[1],name:"mdi:map-marker"}}get variables(){var e;return null!==(e=this._config.variables)&&void 0!==e?e:super.variables}static getFromEntities(e,t,i){return e.predefinedSelections.map((e=>e)).filter((e=>"string"==typeof e.position)).map((e=>e.position.split(".attributes."))).flatMap((e=>{const i=t.states[e[0]],a=2===e.length?i.attributes[e[1]]:i.state;let n;try{n=JSON.parse(a)}catch(e){n=a}return n})).map((e=>new Kl({position:e,label:void 0,icon:{x:e[0],y:e[1],name:"mdi:map-marker"}},i())))}render(){return V` + + ${this.renderIcon(this._iconConfig,(()=>this._click()),"predefined-point-icon-wrapper")} + ${this.renderLabel(this._config.label,"predefined-point-label")} + + `}toVacuum(e=null){return"string"==typeof this._config.position?[0,0]:null===e?this._config.position:[...this._config.position,e]}async _click(){if(this._selected=!this._selected,ke("selection"),this._selected){const e=this._context.selectedPredefinedPoint().pop();void 0!==e&&(e._selected=!1),this._context.selectedPredefinedPoint().push(this)}else Ys(this._context.selectedPredefinedPoint(),this);if(await this._context.runImmediately())return this._selected=!1,void Ys(this._context.selectedPredefinedPoint(),this);this.update()}static get styles(){return r` + .predefined-point-wrapper { + } + + .predefined-point-icon-wrapper { + x: var(--x-icon); + y: var(--y-icon); + height: var(--map-card-internal-predefined-point-icon-wrapper-size); + width: var(--map-card-internal-predefined-point-icon-wrapper-size); + border-radius: var(--map-card-internal-small-radius); + transform-box: fill-box; + overflow: hidden; + transform: translate( + calc(var(--map-card-internal-predefined-point-icon-wrapper-size) / -2), + calc(var(--map-card-internal-predefined-point-icon-wrapper-size) / -2) + ) + scale(calc(1 / var(--map-scale))); + background: var(--map-card-internal-predefined-point-icon-background-color); + color: var(--map-card-internal-predefined-point-icon-color); + --mdc-icon-size: var(--map-card-internal-predefined-point-icon-size); + transition: color var(--map-card-internal-transitions-duration) ease, + background var(--map-card-internal-transitions-duration) ease; + } + + .predefined-point-label { + text-anchor: middle; + dominant-baseline: middle; + pointer-events: none; + font-size: calc(var(--map-card-internal-predefined-point-label-font-size) / var(--map-scale)); + fill: var(--map-card-internal-predefined-point-label-color); + transition: color var(--map-card-internal-transitions-duration) ease, + background var(--map-card-internal-transitions-duration) ease; + } + + .predefined-point-wrapper.selected > * > .predefined-point-icon-wrapper { + background: var(--map-card-internal-predefined-point-icon-background-color-selected); + color: var(--map-card-internal-predefined-point-icon-color-selected); + } + + .predefined-point-wrapper.selected > .predefined-point-label { + fill: var(--map-card-internal-predefined-point-label-color-selected); + } + `}}class Xl extends Ll{constructor(e,t){super(t),this._config=e,this._selected=!1}get variables(){var e;return null!==(e=this._config.variables)&&void 0!==e?e:super.variables}static getFromEntities(e,t,i){return e.predefinedSelections.map((e=>e)).filter((e=>"string"==typeof e.zones)).map((e=>e.zones.split(".attributes."))).flatMap((e=>{const i=t.states[e[0]],a=2===e.length?i.attributes[e[1]]:i.state;let n;try{n=JSON.parse(a)}catch(e){n=a}return n})).map((e=>new Xl({zones:[e],label:void 0,icon:{x:(e[0]+e[2])/2,y:(e[1]+e[3])/2,name:"mdi:broom"}},i())))}render(){let e=[];"string"!=typeof this._config.zones&&(e=this._config.zones);const t=e.map((e=>this.vacuumToMapRect(e)[0]));return V` + + ${t.map((e=>V` + + + `))} + ${this.renderIcon(this._config.icon,(()=>this._click()),"predefined-rectangle-icon-wrapper")} + ${this.renderLabel(this._config.label,"predefined-rectangle-label")} + + `}size(){return this._config.zones.length}toVacuum(e){return"string"==typeof this._config.zones?[]:null===e?this._config.zones:this._config.zones.map((t=>[...t,e]))}async _click(){if(!this._selected&&this._context.selectedPredefinedRectangles().map((e=>e.size())).reduce(((e,t)=>e+t),0)+this.size()>this._context.maxSelections())ke("failure");else{if(this._selected=!this._selected,this._selected?this._context.selectedPredefinedRectangles().push(this):Ys(this._context.selectedPredefinedRectangles(),this),await this._context.runImmediately())return this._selected=!1,void Ys(this._context.selectedPredefinedRectangles(),this);ke("selection"),this.update()}}static get styles(){return r` + .predefined-rectangle-wrapper { + } + + .predefined-rectangle-wrapper.selected { + } + + .predefined-rectangle { + width: var(--width); + height: var(--height); + x: var(--x); + y: var(--y); + stroke: var(--map-card-internal-predefined-rectangle-line-color); + stroke-linejoin: round; + stroke-dasharray: calc( + var(--map-card-internal-predefined-rectangle-line-segment-line) / var(--map-scale) + ), + calc(var(--map-card-internal-predefined-rectangle-line-segment-gap) / var(--map-scale)); + fill: var(--map-card-internal-predefined-rectangle-fill-color); + stroke-width: calc(var(--map-card-internal-predefined-rectangle-line-width) / var(--map-scale)); + transition: stroke var(--map-card-internal-transitions-duration) ease, + fill var(--map-card-internal-transitions-duration) ease; + } + + .predefined-rectangle-icon-wrapper { + x: var(--x-icon); + y: var(--y-icon); + height: var(--map-card-internal-predefined-rectangle-icon-wrapper-size); + width: var(--map-card-internal-predefined-rectangle-icon-wrapper-size); + border-radius: var(--map-card-internal-small-radius); + transform-box: fill-box; + transform: translate( + calc(var(--map-card-internal-predefined-rectangle-icon-wrapper-size) / -2), + calc(var(--map-card-internal-predefined-rectangle-icon-wrapper-size) / -2) + ) + scale(calc(1 / var(--map-scale))); + background: var(--map-card-internal-predefined-rectangle-icon-background-color); + color: var(--map-card-internal-predefined-rectangle-icon-color); + --mdc-icon-size: var(--map-card-internal-predefined-rectangle-icon-size); + transition: color var(--map-card-internal-transitions-duration) ease, + background var(--map-card-internal-transitions-duration) ease; + } + + .predefined-rectangle-label { + text-anchor: middle; + dominant-baseline: middle; + pointer-events: none; + font-size: calc(var(--map-card-internal-predefined-rectangle-label-font-size) / var(--map-scale)); + fill: var(--map-card-internal-predefined-rectangle-label-color); + transition: color var(--map-card-internal-transitions-duration) ease, + background var(--map-card-internal-transitions-duration) ease; + } + + .predefined-rectangle-wrapper.selected > .predefined-rectangle { + stroke: var(--map-card-internal-predefined-rectangle-line-color-selected); + fill: var(--map-card-internal-predefined-rectangle-fill-color-selected); + } + + .predefined-rectangle-wrapper.selected > * > .predefined-rectangle-icon-wrapper { + background: var(--map-card-internal-predefined-rectangle-icon-background-color-selected); + color: var(--map-card-internal-predefined-rectangle-icon-color-selected); + } + + .predefined-rectangle-wrapper.selected > .predefined-rectangle-label { + fill: var(--map-card-internal-predefined-rectangle-label-color-selected); + } + `}}class Gl extends Ll{constructor(e,t){super(t),this._config=e,this._selected=!1}get variables(){var e;return null!==(e=this._config.variables)&&void 0!==e?e:super.variables}render(){var e,t;const i=(null!==(t=null===(e=this._config)||void 0===e?void 0:e.outline)&&void 0!==t?t:[]).map((e=>this.vacuumToScaledMap(e[0],e[1])));return V` + + + + ${this.renderIcon(this._config.icon,(()=>this._click()),"room-icon-wrapper")} + ${this.renderLabel(this._config.label,"room-label")} + + `}toVacuum(){return this._config.id}async _click(){if(!this._selected&&this._context.selectedRooms().length>=this._context.maxSelections())ke("failure");else{if(this._selected=!this._selected,this._selected?this._context.selectedRooms().push(this):Ys(this._context.selectedRooms(),this),this._context.selectionChanged(),await this._context.runImmediately())return this._selected=!1,Ys(this._context.selectedRooms(),this),void this._context.selectionChanged();ke("selection"),this.update()}}static get styles(){return r` + .room-wrapper { + } + + .room-outline { + stroke: var(--map-card-internal-room-outline-line-color); + stroke-width: calc(var(--map-card-internal-room-outline-line-width) / var(--map-scale)); + fill: var(--map-card-internal-room-outline-fill-color); + stroke-linejoin: round; + stroke-dasharray: calc(var(--map-card-internal-room-outline-line-segment-line) / var(--map-scale)), + calc(var(--map-card-internal-room-outline-line-segment-gap) / var(--map-scale)); + transition: stroke var(--map-card-internal-transitions-duration) ease, + fill var(--map-card-internal-transitions-duration) ease; + } + + .room-icon-wrapper { + x: var(--x-icon); + y: var(--y-icon); + height: var(--map-card-internal-room-icon-wrapper-size); + width: var(--map-card-internal-room-icon-wrapper-size); + border-radius: var(--map-card-internal-small-radius); + transform-box: fill-box; + overflow: hidden; + transform: translate( + calc(var(--map-card-internal-room-icon-wrapper-size) / -2), + calc(var(--map-card-internal-room-icon-wrapper-size) / -2) + ) + scale(calc(1 / var(--map-scale))); + background: var(--map-card-internal-room-icon-background-color); + color: var(--map-card-internal-room-icon-color); + --mdc-icon-size: var(--map-card-internal-room-icon-size); + transition: color var(--map-card-internal-transitions-duration) ease, + background var(--map-card-internal-transitions-duration) ease; + } + + .room-label { + text-anchor: middle; + dominant-baseline: middle; + pointer-events: none; + font-size: calc(var(--map-card-internal-room-label-font-size) / var(--map-scale)); + fill: var(--map-card-internal-room-label-color); + transition: color var(--map-card-internal-transitions-duration) ease, + background var(--map-card-internal-transitions-duration) ease; + } + + .room-wrapper.selected > .room-outline { + stroke: var(--map-card-internal-room-outline-line-color-selected); + fill: var(--map-card-internal-room-outline-fill-color-selected); + } + + .room-wrapper.selected > * > .room-icon-wrapper { + background: var(--map-card-internal-room-icon-background-color-selected); + color: var(--map-card-internal-room-icon-color-selected); + } + + .room-wrapper.selected > .room-label { + fill: var(--map-card-internal-room-label-color-selected); + } + `}}function Bl(e){return void 0===e.x?["validation.preset.map_modes.predefined_selections.icon.x.missing"]:void 0===e.y?["validation.preset.map_modes.predefined_selections.icon.y.missing"]:e.name?[]:["validation.preset.map_modes.predefined_selections.icon.name.missing"]}function Zl(e){return void 0===e.x?["validation.preset.map_modes.predefined_selections.label.x.missing"]:void 0===e.y?["validation.preset.map_modes.predefined_selections.label.y.missing"]:e.text?[]:["validation.preset.map_modes.predefined_selections.label.text.missing"]}function Yl(e,t,i){var a,n;if(!t)return["validation.preset.map_modes.invalid"];if(t.template&&!ws.isValidModeTemplate(e,t.template))return[["validation.preset.map_modes.template.invalid","{0}",t.template]];const o=[];t.template||t.icon||o.push("validation.preset.map_modes.icon.missing"),t.template||t.name||o.push("validation.preset.map_modes.name.missing"),t.template||t.service_call_schema||o.push("validation.preset.map_modes.service_call_schema.missing");const r=new Gs(e,t,i);switch(r.selectionType){case tr.PREDEFINED_RECTANGLE:r.predefinedSelections.flatMap((e=>function(e){const t=e,i=[];return t.zones||i.push("validation.preset.map_modes.predefined_selections.zones.missing"),"string"!=typeof t.zones&&t.zones.filter((e=>4!=e.length)).length>0&&i.push("validation.preset.map_modes.predefined_selections.zones.invalid_parameters_number"),t.icon&&Bl(t.icon).forEach((e=>i.push(e))),t.label&&Zl(t.label).forEach((e=>i.push(e))),i}(e))).forEach((e=>o.push(e)));break;case tr.ROOM:r.predefinedSelections.flatMap((e=>function(e){var t;const i=e,a=[];return void 0===i.id&&a.push("validation.preset.map_modes.predefined_selections.rooms.id.missing"),i.id.toString().match(/^[A-Za-z0-9 _]+$/i)||a.push(["validation.preset.map_modes.predefined_selections.rooms.id.invalid_format","{0}",i.id.toString()]),(null!==(t=i.outline)&&void 0!==t?t:[]).filter((e=>2!=e.length)).length>0&&a.push("validation.preset.map_modes.predefined_selections.rooms.outline.invalid_parameters_number"),i.icon&&Bl(i.icon).forEach((e=>a.push(e))),i.label&&Zl(i.label).forEach((e=>a.push(e))),a}(e))).forEach((e=>o.push(e)));break;case tr.PREDEFINED_POINT:r.predefinedSelections.flatMap((e=>function(e){var t;const i=e,a=[];return i.position||a.push("validation.preset.map_modes.predefined_selections.points.position.missing"),"string"!=typeof i.position&&2!=(null===(t=i.position)||void 0===t?void 0:t.length)&&a.push("validation.preset.map_modes.predefined_selections.points.position.invalid_parameters_number"),i.icon&&Bl(i.icon).forEach((e=>a.push(e))),i.label&&Zl(i.label).forEach((e=>a.push(e))),a}(e))).forEach((e=>o.push(e)));break;case tr.MANUAL_RECTANGLE:case tr.MANUAL_PATH:case tr.MANUAL_POINT:null!==(n=null===(a=r.predefinedSelections)||void 0===a?void 0:a.length)&&void 0!==n&&n&&o.push(["validation.preset.map_modes.predefined_selections.not_applicable","{0}",tr[r.selectionType]])}return t.service_call_schema&&function(e){return e.service?e.service.includes(".")?[]:[["validation.preset.map_modes.service_call_schema.service.invalid","{0}",e.service]]:["validation.preset.map_modes.service_call_schema.service.missing"]}(t.service_call_schema).forEach((e=>o.push(e))),o}function Jl(e,t,i){var a,n,o;const r=[],s=ws.getPlatformsWithDefaultCalibration(),l=new Map([["entity","validation.preset.entity.missing"],["map_source","validation.preset.map_source.missing"]]),c=ws.getPlatformName(e.vacuum_platform);s.includes(c)||l.set("calibration_source","validation.preset.calibration_source.missing");const d=Object.keys(e);var u,m;return l.forEach(((e,t)=>{d.includes(t)||r.push(e)})),e.map_source&&(u=e.map_source,u.camera||u.image?u.camera&&u.image?["validation.preset.map_source.ambiguous"]:[]:["validation.preset.map_source.none_provided"]).forEach((e=>r.push(e))),e.calibration_source&&(m=e.calibration_source,Object.keys(m).filter((e=>"attribute"!=e)).length>1?["validation.preset.calibration_source.ambiguous"]:m.calibration_points?[3,4].includes(m.calibration_points.length)?m.calibration_points.flatMap((e=>function(e){const t=[];return(null==e?void 0:e.map)||t.push("validation.preset.calibration_source.calibration_points.missing_map"),(null==e?void 0:e.vacuum)||t.push("validation.preset.calibration_source.calibration_points.missing_vacuum"),[null==e?void 0:e.map,null==e?void 0:e.vacuum].filter((e=>void 0===e.x||void 0===e.y)).length>0&&t.push("validation.preset.calibration_source.calibration_points.missing_coordinate"),t}(e))):["validation.preset.calibration_source.calibration_points.invalid_number"]:[]).forEach((e=>r.push(e))),e.vacuum_platform&&!ws.getPlatforms().includes(e.vacuum_platform)&&r.push(["validation.preset.platform.invalid","{0}",e.vacuum_platform]),(null!==(a=e.icons)&&void 0!==a?a:[]).flatMap((e=>function(e){if(!e)return["validation.preset.icons.invalid"];const t=[];return e.icon||"menu"===e.type||e.replace_config||t.push("validation.preset.icons.icon.missing"),t}(e))).forEach((e=>r.push(e))),(null!==(n=e.tiles)&&void 0!==n?n:[]).flatMap((e=>function(e){if(!e)return["validation.preset.tiles.invalid"];const t=[];return e.replace_config||(e.entity||e.internal_variable||t.push("validation.preset.tiles.entity.missing"),e.label||e.entity||t.push("validation.preset.tiles.label.missing")),t}(e))).forEach((e=>r.push(e))),(null!==(o=e.map_modes)&&void 0!==o?o:[]).flatMap((e=>Yl(c,e,i))).forEach((e=>r.push(e))),!e.preset_name&&t&&r.push("validation.preset.preset_name.missing"),r}class Wl{static generate(e,t,i,a,n,o,r,s,l,c){var d;const u=(null!=t?t:[]).filter((e=>void 0!==s(e))),m=-1===(null!==(d=null==t?void 0:t.length)&&void 0!==d?d:-1)?c(e,i,a,o,u,n):r?c(e,i,a,o,u,n).then((e=>{const i=e.map((e=>{var t;return null!==(t=s(e))&&void 0!==t?t:""}));return[...e,...(null!=t?t:[]).filter((e=>{var t;return!(e.replace_config||void 0!==s(e)&&i.includes(null!==(t=s(e))&&void 0!==t?t:""))}))]})):new Promise((e=>e(null!=t?t:[])));return m.then((e=>[...e].sort(l)))}}class Ql{constructor(e){this._userDefinedTiles=e,this._tiles=[]}addTiles(e){e.forEach((e=>this.addTile(e)))}addTile(e){e.tile_id&&this._tiles.map((e=>e.tile_id)).includes(e.tile_id)||(e.tile_id&&this._userDefinedTiles.some((t=>t.tile_id===e.tile_id))?this._userDefinedTiles.filter((t=>t.tile_id===e.tile_id)).forEach((t=>{t.replace_config?this._tiles.push(Object.assign(Object.assign({},e),t)):this._tiles.push(t)})):this._tiles.push(e))}get tiles(){return this._tiles}}class ec{static async generate(e,t,i,a,n,o){if(!e)return new Promise((e=>e([])));const r=e.states[t];if(!r)return[];const s=new Ql(n);return s.addTiles(ec.getCommonTiles(r,t,a)),s.addTiles(await ec.getTilesFromEntities(e,t,i,a,o)),s.addTiles(ec.getTilesFromAttributes(e,r,t,i,a,o)),s.tiles}static getCommonTiles(e,t,i){const a=[];return"status"in e.attributes&&a.push({tile_id:"status",entity:t,label:Wo("tile.status.label",i),attribute:"status",icon:"mdi:robot-vacuum",translations:ec.generateTranslationKeys(["starting","charger disconnected","idle","remote control active","cleaning","returning home","manual mode","charging","charging problem","paused","spot cleaning","error","shutting down","updating","docking","going to target","zoned cleaning","segment cleaning","emptying the bin","charging complete","device offline"],"status",i)}),"battery_level"in e.attributes&&"battery_icon"in e.attributes&&a.push({tile_id:"battery_level",entity:t,label:Wo("tile.battery_level.label",i),attribute:"battery_level",icon_source:`${t}.attributes.battery_icon`,unit:"%"}),"battery_level"in e.attributes&&!("battery_icon"in e.attributes)&&a.push({tile_id:"battery_level",entity:t,label:Wo("tile.battery_level.label",i),attribute:"battery_level",icon:"mdi:battery",unit:"%"}),"fan_speed"in e.attributes&&a.push({tile_id:"fan_speed",entity:t,label:Wo("tile.fan_speed.label",i),attribute:"fan_speed",icon:"mdi:fan",translations:ec.generateTranslationKeys(["silent","standard","medium","turbo","auto","gentle"],"fan_speed",i)}),a}static getTilesFromAttributes(e,t,i,a,n,o){return ws.getTilesFromAttributesTemplates(a).filter((e=>e.attribute in t.attributes)).map((t=>ec.mapAttributeToTile(e,i,t,n,o)))}static async getTilesFromEntities(e,t,i,a,n){const o=await nl(e,t);return o.length>0?ws.getTilesFromSensorsTemplates(i).map((e=>({tile:e,entity:o.filter((t=>t.unique_id.match(e.unique_id_regex)))}))).flatMap((i=>i.entity.map((o=>ec.mapEntryToTile(e,t,o,i.tile,a,n))))):[]}static mapEntryToTile(e,t,i,a,n,o){var r,s;return ec.mapToTile(e,a,t,i.entity_id,void 0,null!==(s=null!==(r=a.icon)&&void 0!==r?r:i.icon)&&void 0!==s?s:i.original_icon,n,o)}static mapAttributeToTile(e,t,i,a,n){return ec.mapToTile(e,i,t,t,i.attribute,i.icon,a,n)}static mapToTile(e,t,i,a,n,o,r,s){var l;const c=Object.assign(Object.assign({},t),{entity:a,label:ec.getTileLabel(e,t,r,a,n),attribute:n,icon:o,unit:t.unit?Wo(t.unit,r):void 0,precision:t.precision?t.precision:0,multiplier:t.multiplier?t.multiplier:void 0,translations:ec.generateTranslationKeys(null!==(l=t.translation_keys)&&void 0!==l?l:[],t.tile_id,r)});return cl(ec.cleanup(c),ec.getDefaultVariables(i,a,n),s)}static getTileLabel(e,t,i,a,n){var o;return void 0!==t.label?Wo(t.label,i):void 0!==n?Vo(e.localize,e.states[a],e.entities,n):null!==(o=e.states[a].attributes.friendly_name)&&void 0!==o?o:a}static generateTranslationKeys(e,t,i){const a={};return t&&e.forEach((e=>{const n=Wo(`tile.${t}.value.${e}`,i,"");n&&(a[e]=n)})),a}static cleanup(e){const t=["unique_id_regex","translation_keys"],i=e;for(const e in i)i.hasOwnProperty(e)&&t.includes(e)&&delete i[e];return i}static getDefaultVariables(e,t,i){const a={};return a[Us.ENTITY_ID]=null!=t?t:e,a[Us.VACUUM_ENTITY_ID]=e,a[Us.ATTRIBUTE]=null!=i?i:"",a}}function tc(e,t){return void 0===e.order&&void 0===t.order?0:void 0===e.order?1:void 0===t.order?-1:e.order-t.order}class ic{constructor(e){this._userDefinedIcons=e,this._icons=[]}addIcons(e){e.forEach((e=>this.addIcon(e)))}addIcon(e){e.icon_id&&this._icons.map((e=>e.icon_id)).includes(e.icon_id)||(e.icon_id&&this._userDefinedIcons.some((t=>t.icon_id===e.icon_id))?this._userDefinedIcons.filter((t=>t.icon_id===e.icon_id)).forEach((t=>{t.replace_config?this._icons.push(Object.assign(Object.assign({},e),t)):this._icons.push(t)})):this._icons.push(e))}get icons(){return this._icons}}class ac{static async generate(e,t,i,a,n,o){if(!e)return[];const r=new ic(n);return r.addIcons(ac.getCommonIcons(e,t,a)),r.addIcons(await ac.getIconsFromEntities(e,t,i)),r.icons}static getCommonIcons(e,t,i){var a;const n=e.states[t],o=n&&n.attributes,r=[];ac.isFeatureSupported(n,8192)&&r.push({icon:"mdi:play",conditions:[{entity:t,value_not:"cleaning"},{entity:t,value_not:"error"},{entity:t,value_not:"returning"}],tooltip:Wo("icon.vacuum_start",i),tap_action:{action:"call-service",service:"vacuum.start",service_data:{entity_id:t}}}),ac.isFeatureSupported(n,4)&&r.push({icon:"mdi:pause",conditions:[{entity:t,value_not:"docked"},{entity:t,value_not:"idle"},{entity:t,value_not:"error"},{entity:t,value_not:"paused"}],tooltip:Wo("icon.vacuum_pause",i),tap_action:{action:"call-service",service:"vacuum.pause",service_data:{entity_id:t}}}),ac.isFeatureSupported(n,8)&&r.push({icon:"mdi:stop",conditions:[{entity:t,value_not:"docked"},{entity:t,value_not:"idle"},{entity:t,value_not:"error"},{entity:t,value_not:"paused"}],tooltip:Wo("icon.vacuum_stop",i),tap_action:{action:"call-service",service:"vacuum.stop",service_data:{entity_id:t}}}),ac.isFeatureSupported(n,16)&&r.push({icon:"mdi:home-map-marker",conditions:[{entity:t,value_not:"docked"},{entity:t,value_not:"returning"}],tooltip:Wo("icon.vacuum_return_to_base",i),tap_action:{action:"call-service",service:"vacuum.return_to_base",service_data:{entity_id:t}}}),ac.isFeatureSupported(n,1024)&&r.push({icon:"mdi:target-variant",conditions:[{entity:t,value_not:"docked"},{entity:t,value_not:"error"},{entity:t,value_not:"cleaning"},{entity:t,value_not:"returning"}],tooltip:Wo("icon.vacuum_clean_spot",i),tap_action:{action:"call-service",service:"vacuum.clean_spot",service_data:{entity_id:t}}}),ac.isFeatureSupported(n,512)&&r.push({icon:"mdi:map-marker",tooltip:Wo("icon.vacuum_locate",i),tap_action:{action:"call-service",service:"vacuum.locate",service_data:{entity_id:t}}});const s=o&&null!==(a=n.attributes.fan_speed_list)&&void 0!==a?a:[];for(let e=0;e({entity:t,attribute:"fan_speed",value_not:e}))),tooltip:Wo("icon.vacuum_set_fan_speed",i),tap_action:{action:"call-service",service:"vacuum.set_fan_speed",service_data:{entity_id:t,fan_speed:s[0]}}}),r}static async getIconsFromEntities(e,t,i){const a=await nl(e,t);return ws.getIconsTemplates(i).flatMap((e=>ac.createIcon(e,a)))}static createIcon(e,t){return"single"==e.type?ac.createSingleIcon(e,t):"menu"==e.type?ac.createMenuIcon(e,t):[e]}static createSingleIcon(e,t){var i,a,n;const o=t.filter((t=>t.unique_id.match(e.unique_id_regex)));if(1!==o.length)return[];const r=o[0],s=Object.assign(Object.assign({},e),{icon:null!==(a=null!==(i=e.icon)&&void 0!==i?i:r.icon)&&void 0!==a?a:r.original_icon,variables:Object.assign(Object.assign({},null!==(n=e.variables)&&void 0!==n?n:{}),{entity:r.entity_id})});return s.hasOwnProperty("unique_id_regex")&&delete s.unique_id_regex,[s]}static createMenuIcon(e,t){var i,a;const n=t.filter((t=>t.unique_id.match(e.unique_id_regex)));if(1!==n.length)return[];const o=n[0],r=Object.assign(Object.assign({},e),{entity:o.entity_id,icon:null!==(a=null!==(i=e.icon)&&void 0!==i?i:o.icon)&&void 0!==a?a:o.original_icon});return r.hasOwnProperty("unique_id_regex")&&delete r.unique_id_regex,[r]}static isFeatureSupported(e,t){var i;return e&&e.attributes&&((null!==(i=e.attributes.supported_features)&&void 0!==i?i:0)&t)===t}}function nc(e,t){return void 0===e.order&&void 0===t.order?0:void 0===e.order?1:void 0===t.order?-1:e.order-t.order}function oc(e,t){return Array.isArray(t)?[e.a*t[0]+e.c*t[1]+e.e,e.b*t[0]+e.d*t[1]+e.f]:{x:e.a*t.x+e.c*t.y+e.e,y:e.b*t.x+e.d*t.y+e.f}}function rc(...e){const t=(e,t)=>({a:e.a*t.a+e.c*t.b,c:e.a*t.c+e.c*t.d,e:e.a*t.e+e.c*t.f+e.e,b:e.b*t.a+e.d*t.b,d:e.b*t.c+e.d*t.d,f:e.b*t.e+e.d*t.f+e.f});switch((e=Array.isArray(e[0])?e[0]:e).length){case 0:throw new Error("no matrices provided");case 1:return e[0];case 2:return t(e[0],e[1]);default:{const[i,a,...n]=e;return rc(t(i,a),...n)}}}function sc(e,t){const i=null!=e[0].x?e[0].x:e[0][0],a=null!=e[0].y?e[0].y:e[0][1],n=null!=t[0].x?t[0].x:t[0][0],o=null!=t[0].y?t[0].y:t[0][1],r=null!=e[1].x?e[1].x:e[1][0],s=null!=e[1].y?e[1].y:e[1][1],l=null!=t[1].x?t[1].x:t[1][0],c=null!=t[1].y?t[1].y:t[1][1],d=null!=e[2].x?e[2].x:e[2][0],u=null!=e[2].y?e[2].y:e[2][1],m=null!=t[2].x?t[2].x:t[2][0],p=null!=t[2].y?t[2].y:t[2][1],_={a:n-m,b:o-p,c:l-m,d:c-p,e:m,f:p},v=function(e){const{a:t,b:i,c:a,d:n,e:o,f:r}=e,s=t*n-i*a;return{a:n/s,b:i/-s,c:a/-s,d:t/s,e:(n*o-a*r)/-s,f:(i*o-t*r)/s}}({a:i-d,b:a-u,c:r-d,d:s-u,e:d,f:u});return function(e,t=1e10){return{a:Math.round(e.a*t)/t,b:Math.round(e.b*t)/t,c:Math.round(e.c*t)/t,d:Math.round(e.d*t)/t,e:Math.round(e.e*t)/t,f:Math.round(e.f*t)/t}}(rc([_,v]))}function lc(e,t,i,a){var n=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(n,lc.prototype),n.expected=t,n.found=i,n.location=a,n.name="SyntaxError",n}function cc(e,t,i){return i=i||" ",e.length>t?e:(t-=e.length,e+(i+=i.repeat(t)).slice(0,t))}ac._ICON_MAPPING={Silent:"mdi:fan-remove",Basic:"mdi:fan-speed-1",Standard:"mdi:fan-speed-1",Strong:"mdi:fan-speed-2",Medium:"mdi:fan-speed-2","Full Speed":"mdi:fan-speed-3",Turbo:"mdi:fan-speed-3",Auto:"mdi:fan-auto",Gentle:"mdi:waves"},function(e,t){function i(){this.constructor=e}i.prototype=t.prototype,e.prototype=new i}(lc,Error),lc.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var i,a=null;for(i=0;i0){for(t=1,i=1;t=0;o--)s[o]=a(e[o],t,i+1,n);return s}function n(e){var t,i=e.length,a=Array(i);for(t=i-1;-1!==t;--t)a[t]=e[t];return a}function o(e){if("object"!=typeof e)return e;var t=n;return a(e,i(e),0,t)}function r(e,t,i){void 0===i&&(i=0);var a,n=e[i],o=Array(n);if(i===e.length-1){for(a=n-2;a>=0;a-=2)o[a+1]=t,o[a]=t;return-1===a&&(o[0]=t),o}for(a=n-1;a>=0;a--)o[a]=r(e,t,i+1);return o}function s(e){return function(e){var t,i,a,n,o=e.length,r=Array(o);for(t=o-1;t>=0;t--){for(n=Array(o),i=t+2,a=o-1;a>=i;a-=2)n[a]=0,n[a-1]=0;for(a>t&&(n[a]=0),n[t]=e[t],a=t-1;a>=1;a-=2)n[a]=0,n[a-1]=0;0===a&&(n[0]=0),r[t]=n}return r}(r([e],1))}function l(e,t){var i,a,n,o,r,s,l,c,d,u,m;for(o=e.length,r=t.length,s=t[0].length,l=Array(o),i=o-1;i>=0;i--){for(c=Array(s),d=e[i],n=s-1;n>=0;n--){for(u=d[r-1]*t[r-1][n],a=r-2;a>=1;a-=2)m=a-1,u+=d[a]*t[a][n]+d[m]*t[m][n];0===a&&(u+=d[0]*t[0][n]),c[n]=u}l[i]=c}return l}function c(e,t){var i,a,n=e.length,o=e[n-1]*t[n-1];for(i=n-2;i>=1;i-=2)a=i-1,o+=e[i]*t[i]+e[a]*t[a];return 0===i&&(o+=e[0]*t[0]),o}function d(e){var t,i,a,n,o,r=e.length,s=e[0].length,l=Array(s);for(i=0;i=1;t-=2){for(n=e[t],a=e[t-1],i=s-1;i>=1;--i)(o=l[i])[t]=n[i],o[t-1]=a[i],(o=l[--i])[t]=n[i],o[t-1]=a[i];0===i&&((o=l[0])[t]=n[0],o[t-1]=a[0])}if(0===t){for(a=e[0],i=s-1;i>=1;--i)l[i][0]=a[i],l[--i][0]=a[i];0===i&&(l[0][0]=a[0])}return l}function u(e,t,a){if(a){var n=t;t=e,e=n}var r,u=[[e[0],e[1],1,0,0,0,-1*t[0]*e[0],-1*t[0]*e[1]],[0,0,0,e[0],e[1],1,-1*t[1]*e[0],-1*t[1]*e[1]],[e[2],e[3],1,0,0,0,-1*t[2]*e[2],-1*t[2]*e[3]],[0,0,0,e[2],e[3],1,-1*t[3]*e[2],-1*t[3]*e[3]],[e[4],e[5],1,0,0,0,-1*t[4]*e[4],-1*t[4]*e[5]],[0,0,0,e[4],e[5],1,-1*t[5]*e[4],-1*t[5]*e[5]],[e[6],e[7],1,0,0,0,-1*t[6]*e[6],-1*t[6]*e[7]],[0,0,0,e[6],e[7],1,-1*t[7]*e[6],-1*t[7]*e[7]]],m=t;try{r=function(e){var t,a,n,r,l,c,d,u,m=i(e),p=Math.abs,_=m[0],v=m[1],g=o(e),h=s(_);for(c=0;cb&&(f=l,b=d);for(a=g[f],g[f]=g[c],g[c]=a,r=h[f],h[f]=h[c],h[c]=r,u=a[c],d=c;d!==v;++d)a[d]/=u;for(d=v-1;-1!==d;--d)r[d]/=u;for(l=_-1;-1!==l;--l)if(l!==c){for(t=g[l],n=h[l],u=t[c],d=c+1;d!==v;++d)t[d]-=a[d]*u;for(d=v-1;d>0;--d)n[d]-=r[d]*u,n[--d]-=r[d]*u;0===d&&(n[0]-=r[0]*u)}}return h}(l(d(u),u))}catch(e){return[1,0,0,0,1,0,0,0]}for(var p,_=function(e,t){var i,a=e.length,n=Array(a);for(i=a-1;i>=0;i--)n[i]=c(e[i],t);return n}(l(r,d(u)),m),v=0;v<_.length;v++)_[v]=(p=_[v],Math.round(1e10*p)/1e10);return _[8]=1,_}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var i=u(e,t,!1);return function(e,t){return function(e,t,i){var a=[];return a[0]=(e[0]*t+e[1]*i+e[2])/(e[6]*t+e[7]*i+1),a[1]=(e[3]*t+e[4]*i+e[5])/(e[6]*t+e[7]*i+1),a}(i,e,t)}}},dc(uc={exports:{}},uc.exports),uc.exports),_c=function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}(pc);!function(e){e[e.AFFINE=0]="AFFINE",e[e.PERSPECTIVE=1]="PERSPECTIVE"}(mc||(mc={}));class vc{constructor(e){const t=null==e?void 0:e.map((e=>e.map)),i=null==e?void 0:e.map((e=>e.vacuum));if(t&&i)if(3===t.length)this.transformMode=mc.AFFINE,this.mapToVacuumMatrix=sc(t,i),this.vacuumToMapMatrix=sc(i,t),this.calibrated=!(!this.mapToVacuumMatrix||!this.vacuumToMapMatrix);else{this.transformMode=mc.PERSPECTIVE;const e=t.flatMap((e=>[e.x,e.y])),a=i.flatMap((e=>[e.x,e.y]));this.mapToVacuumTransformer=_c(e,a),this.vacuumToMapTransformer=_c(a,e),this.calibrated=!0}else this.calibrated=!1}mapToVacuum(e,t){if(this.transformMode===mc.AFFINE&&this.mapToVacuumMatrix)return oc(this.mapToVacuumMatrix,[e,t]);if(this.transformMode===mc.PERSPECTIVE&&this.mapToVacuumTransformer)return this.mapToVacuumTransformer(e,t);throw Error("Missing calibration")}vacuumToMap(e,t){if(this.transformMode===mc.AFFINE&&this.vacuumToMapMatrix)return oc(this.vacuumToMapMatrix,[e,t]);if(this.transformMode===mc.PERSPECTIVE&&this.vacuumToMapTransformer)return this.vacuumToMapTransformer(e,t);throw Error("Missing calibration")}}Object.entries||(Object.entries=function(e){const t=Object.keys(e);let i=t.length;const a=new Array(i);for(;i--;)a[i]=[t[i],e[t[i]]];return a}) +/** + * Object.entriesFrom() polyfill + * @author Chris Ferdinandi + * @license MIT + * https://vanillajstoolkit.com/polyfills/objectfromentries/ + */,Object.fromEntries||(Object.fromEntries=function(e){if(!e||!e[Symbol.iterator])throw new Error("Object.fromEntries() requires a single iterable argument");const t={};for(const[i,a]of e)t[i]=a;return t});class gc extends re{createRenderRoot(){return this}}let hc=class extends gc{constructor(){super(...arguments),this.additionalClasses=[]}render(){const e=this.values[this.currentIndex];return D` + + + ${this.values.map(((e,t)=>D` + +
+
+ + + +
+
${e.name}
+
+
`))} +
+ `}updateStyles(e){var t,i,a;const n=null===(i=null===(t=this.menu)||void 0===t?void 0:t.shadowRoot)||void 0===i?void 0:i.querySelector("div");if(this.menu&&n){const t=50,i=(e-1)*t+32;window.innerHeight-n.getBoundingClientRect().bottom>=i?(n.style.marginTop="0px",this.menu.style.marginTop="0px",n.style.marginBottom=`-${t}px`,this.menu.style.marginBottom=`${t}px`):(n.style.marginTop=`-${t}px`,this.menu.style.marginTop=`${t}px`,n.style.marginBottom="0px",this.menu.style.marginBottom="0px");const o=null===(a=this.menu.shadowRoot)||void 0===a?void 0:a.querySelector("mwc-menu");o&&(o.style.zIndex="1",o.style.position="fixed"),this.menu.querySelectorAll("mwc-list-item").forEach((e=>{e.shadowRoot.querySelector("span").style.flexGrow="1"}))}}static get styles(){return r` + .dropdown-menu { + --mdc-menu-item-height: 50px; + --mdc-theme-primary: transparent; + --mdc-list-vertical-padding: 0px; + --mdc-list-side-padding: 0px; + --mdc-shape-medium: var(--map-card-internal-big-radius); + --mdc-ripple-color: transparent; + } + + .dropdown-menu-button { + display: inline-flex; + } + + .dropdown-list-item:host:host { + flex-grow: 1; + } + + .dropdown-menu-button-button { + width: 50px; + height: 50px; + border-radius: var(--map-card-internal-big-radius); + display: flex; + justify-content: center; + background-color: var(--map-card-internal-primary-color); + align-items: center; + } + + .dropdown-menu-button-text { + display: inline-flex; + line-height: 50px; + background-color: transparent; + padding-left: 10px; + padding-right: 15px; + } + + .dropdown-menu-entry { + display: inline-flex; + width: 100%; + } + + .dropdown-menu-entry.selected { + border-radius: var(--map-card-internal-big-radius); + background-color: var(--map-card-internal-primary-color); + color: var(--map-card-internal-primary-text-color); + } + + .dropdown-menu-entry-button-wrapper.first:not(.selected) { + border-top-left-radius: var(--map-card-internal-big-radius); + border-top-right-radius: var(--map-card-internal-big-radius); + } + + .dropdown-menu-entry-button-wrapper.last:not(.selected) { + border-bottom-left-radius: var(--map-card-internal-big-radius); + border-bottom-right-radius: var(--map-card-internal-big-radius); + } + + .dropdown-menu-entry-button.selected { + border-start-start-radius: var(--map-card-internal-big-radius); + border-end-start-radius: var(--map-card-internal-big-radius); + background-color: var(--map-card-internal-primary-color); + color: var(--map-card-internal-primary-text-color); + } + + .dropdown-menu-entry-button-wrapper { + background-color: var(--map-card-internal-secondary-color); + color: var(--map-card-internal-secondary-text-color); + overflow: hidden; + } + + .dropdown-menu-entry-button { + width: 50px; + height: 50px; + display: flex; + justify-content: center; + align-items: center; + background-color: var(--map-card-internal-secondary-color); + color: var(--map-card-internal-secondary-text-color); + } + + .dropdown-menu-entry-text { + display: inline-flex; + line-height: 50px; + background-color: transparent; + padding-left: 10px; + padding-right: 15px; + } + + .dropdown-menu-listbox { + padding: 0; + background-color: transparent; + } + `}};e([ue({attribute:!1})],hc.prototype,"values",void 0),e([ue({attribute:!1})],hc.prototype,"currentIndex",void 0),e([ue({attribute:!1})],hc.prototype,"setValue",void 0),e([ue({attribute:!1})],hc.prototype,"renderNameCollapsed",void 0),e([ue({attribute:!1})],hc.prototype,"additionalClasses",void 0),e([_e(".dropdown-menu")],hc.prototype,"menu",void 0),hc=e([le("xvmc-dropdown-menu")],hc);let fc=class extends gc{render(){var e,t,i;if(!(this.config&&this.hass&&this.onAction&&this.internalVariables))return;this.className="tile-wrapper clickable ripple "+(this.config.tile_id?`tile-${this.config.tile_id}-wrapper`:"");const a=this.config.entity?this.hass.states[this.config.entity]:void 0;if(!a)return;const n=this.getTileLabel(a),o=this.getTileValue(a),r=this.getIcon(a),s=a?function(e){return fe(e.entity_id)}(a):void 0;return D` +
+
${n}
+
+ ${el(""!==r,(()=>D` +
+ null!=e?e:U)(s)} + data-state=${null==a?void 0:a.state}> + +
`))} +
${o}
+
+
+ `}getTileLabel(e){var t,i,a;return void 0!==this.config.label?this.config.label:void 0!==e?void 0!==this.config.attribute?Vo(this.hass.localize,e,this.hass.entities,this.config.attribute):null!==(i=null===(t=e.attributes)||void 0===t?void 0:t.friendly_name)&&void 0!==i?i:this.config.entity:null!==(a=this.config.tile_id)&&void 0!==a?a:"tile"}getTileValue(e){var t,i;let a="";const n=this.getUnit(),o=void 0!==this.config.multiplier||void 0!==this.config.precision;if(this.config.entity&&e)if(o)a=this.config.attribute?e.attributes[this.config.attribute]:e.state;else{a=er(this.hass,this.config,e);const t=e.attributes.unit_of_measurement;""!==n&&t&&a.endsWith(t)&&(a=a.substring(0,a.length-t.length).trimEnd())}else this.config.internal_variable&&this.config.internal_variable in this.internalVariables&&(a=this.internalVariables[this.config.internal_variable]);!o||null===a||"number"!=typeof a&&isNaN(+a)||(a=parseFloat(a.toString())*(null!==(t=this.config.multiplier)&&void 0!==t?t:1),void 0!==this.config.precision&&(a=a.toFixed(this.config.precision)));const r=null!==(i=this.config.translations)&&void 0!==i?i:{};return`${a}`.toLowerCase()in r&&(a=r[`${a}`.toLowerCase()]),`${a}${n}`}getIcon(e){var t;if(this.config.icon_source){const e=this.config.icon_source.split(".attributes."),t=this.hass.states[e[0]];let i=t.state;return 2===e.length&&(i=t.attributes[e[1]]),i}return void 0===this.config.icon&&e?null!==(t=e.attributes.icon)&&void 0!==t?t:null:this.config.icon}getUnit(){return this.config.unit?"%"===this.config.unit?Xo(this.hass.locale)+"%":` ${this.config.unit}`:""}static get styles(){return r` + .tile-wrapper { + min-width: fit-content; + width: 80px; + padding: 10px; + border-radius: var(--map-card-internal-small-radius); + background-color: var(--map-card-internal-tertiary-color); + flex-grow: 1; + overflow: hidden; + color: var(--map-card-internal-tertiary-text-color); + } + + .tile-title { + font-size: smaller; + } + + .tile-value-wrapper { + display: inline-flex; + align-items: flex-end; + padding-top: 5px; + } + + .tile-icon { + padding-right: 5px; + } + + .tile-value { + } + `}};e([ue({attribute:!1})],fc.prototype,"config",void 0),e([ue({attribute:!1})],fc.prototype,"hass",void 0),e([ue({attribute:!1})],fc.prototype,"isInEditor",void 0),e([ue({attribute:!1})],fc.prototype,"onAction",void 0),e([ue({attribute:!1})],fc.prototype,"internalVariables",void 0),fc=e([le("xvmc-tile")],fc);let bc=class extends gc{render(){var e,t,i;if(0!==(null!==(t=null===(e=this.tiles)||void 0===e?void 0:e.length)&&void 0!==t?t:0))return D` +
+ ${null===(i=this.tiles)||void 0===i?void 0:i.map((e=>D` + + `))} + `}static get styles(){return r` + .tiles-wrapper { + display: flex; + flex-wrap: wrap; + justify-content: space-evenly; + align-items: stretch; + gap: 5px; + } + + ${fc.styles} + `}};e([ue({attribute:!1})],bc.prototype,"tiles",void 0),e([ue({attribute:!1})],bc.prototype,"hass",void 0),e([ue({attribute:!1})],bc.prototype,"isInEditor",void 0),e([ue({attribute:!1})],bc.prototype,"onAction",void 0),e([ue({attribute:!1})],bc.prototype,"internalVariables",void 0),bc=e([le("xvmc-tiles-wrapper")],bc);let yc=class extends gc{render(){var e;const t=this.config.map((e=>{var t;return{icon:e.icon,name:null!==(t=e.label)&&void 0!==t?t:""}})),i=this.config.findIndex((e=>e.isSelected)),a=`icon-menu-${this.config[0].menu_id}`;return D` + this.onAction(this.config[e])()} + .renderNameCollapsed=${!1} + .additionalClasses=${[a,"dropdown-icon"]}> + + `}static get styles(){return r` + .dropdown-icon * .dropdown-menu-button-button { + background-color: transparent; + } + `}};e([ue({attribute:!1})],yc.prototype,"config",void 0),e([ue({attribute:!1})],yc.prototype,"isInEditor",void 0),e([ue({attribute:!1})],yc.prototype,"onAction",void 0),yc=e([le("xvmc-dropdown-icon")],yc);let kc=class extends gc{render(){var e,t,i;return D` + + + + `}static get styles(){return r` + .single-icon { + float: left; + width: 50px; + height: 50px; + display: flex; + justify-content: center; + align-items: center; + background-color: transparent; + border-radius: var(--map-card-internal-big-radius); + } + `}};e([ue({attribute:!1})],kc.prototype,"config",void 0),e([ue({attribute:!1})],kc.prototype,"isInEditor",void 0),e([ue({attribute:!1})],kc.prototype,"onAction",void 0),kc=e([le("xvmc-single-icon")],kc);let Ac=class extends gc{render(){return Array.isArray(this.config)?D` + + + `:D` + + + `}static get styles(){return r` + ${kc.styles} + ${yc.styles} + `}};var xc;e([ue({attribute:!1})],Ac.prototype,"config",void 0),e([ue({attribute:!1})],Ac.prototype,"isInEditor",void 0),e([ue({attribute:!1})],Ac.prototype,"onAction",void 0),Ac=e([le("xvmc-icon")],Ac);let Ec=xc=class extends gc{render(){var e,t,i;if(0!==(null!==(t=null===(e=this.icons)||void 0===e?void 0:e.length)&&void 0!==t?t:0))return D` +
+
+ ${null===(i=this.icons)||void 0===i?void 0:i.map((e=>D` + + `))} +
+
+ `}static get styles(){return r` + .icons-wrapper { + display: flex; + justify-content: center; + align-items: center; + } + + .icons-list { + float: right; + border-radius: var(--map-card-internal-big-radius); + overflow: hidden; + background-color: var(--map-card-internal-secondary-color); + color: var(--map-card-internal-secondary-text-color); + display: flex; + flex-wrap: wrap; + justify-content: center; + } + + ${Ac.styles} + `}static preprocessIcons(e,t,i){if(void 0===e)return[];const a=[],n=new Map;xc.expandMenus(e,t,i).forEach((e=>{const o=Qs(e,t,i);if(void 0===e.menu_id)o&&a.push(e);else{const t=Object.assign(Object.assign({},e),{isSelected:o});n.has(e.menu_id)&&Array.isArray(a[n.get(e.menu_id)])?a[n.get(e.menu_id)].push(t):(n.set(e.menu_id,a.length),a.push([t]))}}));for(let e=a.length-1;e>=0;e--)Array.isArray(a[e])&&!a[e].some((e=>e.isSelected))&&a.splice(e,1);return a}static expandMenus(e,t,i){return e.flatMap((e=>"menu"===e.type?xc.expandMenu(e,t,i):[e]))}static expandMenu(e,t,i){var a;const n=i.states[e.entity];return(null!==(a=n.attributes[e.available_values_attribute])&&void 0!==a?a:[]).map((t=>{var a,o,r,s,l,c;return Object.assign(Object.assign({},e),{label:null!==(o=null===(a=e.value_translation_keys)||void 0===a?void 0:a[t])&&void 0!==o?o:xc.getLabel(i,n,t,e.current_value_attribute),icon:null!==(s=null===(r=e.icon_mapping)||void 0===r?void 0:r[t])&&void 0!==s?s:e.icon,icon_id:`${e.icon_id}_${t.replace(" ","_").toLowerCase()}`,conditions:[...null!==(l=e.conditions)&&void 0!==l?l:[],{entity:e.entity,attribute:e.current_value_attribute,value:`${t}`}],variables:Object.assign(Object.assign({},null!==(c=null==e?void 0:e.variables)&&void 0!==c?c:{}),{value:t})})}))}static getLabel(e,t,i,a){return a?function(e,t,i,a){return Do(e.localize,t,e.locale,e.entities,i,a)}(e,t,a,i):function(e,t,i){return Go(e.localize,t,e.locale,e.entities,i)}(e,t,i)}};e([ue({attribute:!1})],Ec.prototype,"icons",void 0),e([ue({attribute:!1})],Ec.prototype,"isInEditor",void 0),e([ue({attribute:!1})],Ec.prototype,"onAction",void 0),Ec=xc=e([le("xvmc-icons-wrapper")],Ec);let wc=class extends gc{render(){var e;if(this.availablePresets.length<2)return;const t="rtl"===(null===(e=getComputedStyle(this))||void 0===e?void 0:e.getPropertyValue("direction"));return D` +
+
+ + +
+
+
${this.presetName}
+
+ ${new Array(this.availablePresets.length).fill(0).map(((e,t)=>t===this.availablePresetIndex?"●":"○"))} +
+
+
+ + +
+
+ `}static get styles(){return r` + .preset-selector-wrapper { + width: 100%; + display: inline-flex; + align-content: center; + justify-content: space-between; + align-items: center; + } + + .preset-selector-icon-wrapper { + height: 44px; + width: 44px; + display: grid; + place-items: center; + } + + .preset-selector-icon { + cursor: pointer; + } + + .preset-selector-icon.disabled { + color: var(--map-card-internal-disabled-text-color); + cursor: default; + } + + .preset-label-wrapper { + display: flex; + flex-direction: column; + align-items: center; + } + + .preset-indicator { + line-height: 50%; + } + `}};var zc;e([ue({attribute:!1})],wc.prototype,"availablePresets",void 0),e([ue({attribute:!1})],wc.prototype,"availablePresetIndex",void 0),e([ue({attribute:!1})],wc.prototype,"openPreviousPreset",void 0),e([ue({attribute:!1})],wc.prototype,"previousPresetIndex",void 0),e([ue({attribute:!1})],wc.prototype,"presetActivable",void 0),e([ue({attribute:!1})],wc.prototype,"presetName",void 0),e([ue({attribute:!1})],wc.prototype,"executePresetsActivation",void 0),e([ue({attribute:!1})],wc.prototype,"openNextPreset",void 0),e([ue({attribute:!1})],wc.prototype,"nextPresetIndex",void 0),wc=e([le("xvmc-preset-selector")],wc);const Pc=" XIAOMI-VACUUM-MAP-CARD",Mc=` ${Wo("common.version")} ${zs}`,Tc=Math.max(25,Mc.length)+3,Sc=(e,t)=>e+" ".repeat(t-e.length);console.info(`%c${Sc(Pc,Tc)}\n%c${Sc(Mc,Tc)}`,"color: orange; font-weight: bold; background: black","color: white; font-weight: bold; background: dimgray");const Cc=window;Cc.customCards=Cc.customCards||[],Cc.customCards.push({type:Ps,name:"Vacuum Map Card",description:Wo("common.description")});let Oc=zc=class extends re{constructor(){super(),this.oldConfig=!1,this.repeats=1,this.selectedMode=0,this.mapLocked=!1,this.configErrors=[],this.connected=!1,this.internalVariables={},this.watchedEntities=[],this.selectedManualRectangles=[],this.selectedManualPath=new Hl([],this._getContext()),this.selectedPredefinedRectangles=[],this.selectedRooms=[],this.selectedPredefinedPoint=[],this.selectablePredefinedRectangles=[],this.selectableRooms=[],this.selectablePredefinedPoints=[],this.modes=[],this.isInEditor=!1,this._handleAutogeneratedConfigGet=this._handleAutogeneratedConfigGet.bind(this),this._handleRoomsConfigGet=this._handleRoomsConfigGet.bind(this),this._handleServiceCallGet=this._handleServiceCallGet.bind(this),this._handleLovelaceDomEvent=this._handleLovelaceDomEvent.bind(this)}get hass(){return this._hass}set hass(e){const t=!this._hass&&e;this._hass=e,this.lastHassUpdate=new Date,t&&this._firstHass()}static async getConfigElement(){return document.createElement(Ms)}static getStubConfig(e){const t=Object.keys(e.states),i=t.filter((e=>"camera"===e.substr(0,e.indexOf(".")))).filter((t=>null==e?void 0:e.states[t].attributes.calibration_points)),a=t.filter((e=>"vacuum"===e.substr(0,e.indexOf("."))));if(0!==i.length&&0!==a.length)return{type:"custom:"+Ps,map_source:{camera:i[0]},calibration_source:{camera:!0},entity:a[0],vacuum_platform:ws.XIAOMI_MIIO_PLATFORM}}setConfig(e){if(!e)throw new Error(this._localize("common.invalid_configuration"));this.config=e,function(e){return e.map_image||e.map_camera}(e)?this.oldConfig=!0:(this.configErrors=function(e){var t,i,a;const n=[],o=(null!==(i=null===(t=e.additional_presets)||void 0===t?void 0:t.length)&&void 0!==i?i:0)>0;return Jl(e,o,e.language).forEach((e=>n.push(e))),null===(a=e.additional_presets)||void 0===a||a.flatMap((t=>Jl(t,o,e.language))).forEach((e=>n.push(e))),n.map((t=>Wo(t,e.language)))}(this.config),this.configErrors.length>0||(this.watchedEntities=Ws(this.config),this._setPresetIndex(0,!1,!0),this.requestUpdate("config")))}getCardSize(){return 12}connectedCallback(){super.connectedCallback(),this._isInEditor()&&(window.addEventListener(Os,this._handleAutogeneratedConfigGet),window.addEventListener(Rs,this._handleRoomsConfigGet),window.addEventListener(js,this._handleServiceCallGet),this.isInEditor=!0),document.addEventListener(Is,this._handleLovelaceDomEvent),this.connected=!0,this._updateElements(),ol(100).then((()=>this.requestUpdate()))}disconnectedCallback(){super.disconnectedCallback(),this._isInEditor()&&(window.removeEventListener(Os,this._handleAutogeneratedConfigGet),window.removeEventListener(Rs,this._handleRoomsConfigGet),window.removeEventListener(js,this._handleServiceCallGet)),document.removeEventListener(Is,this._handleLovelaceDomEvent),this.connected=!1}shouldUpdate(e){return!!this.config&&function(e,t,i,a){if(t.has("config")||i)return!0;const n=t.get("hass");return!n||e.some((e=>n.states[e]!==(null==a?void 0:a.states[e])))}(this.watchedEntities,e,!1,this.hass)}render(){var e,t,i,a,n,o,r,s,l,c,d,u;if(this.oldConfig)return this._showOldConfig();if(this.configErrors.length>0)return this._showConfigErrors(this.configErrors);const m=function(e,t){const i=Object.keys(t.states);return e.filter((e=>!i.includes(e)))}(this.watchedEntities,this.hass);if(m.length>0)return this._showInvalidEntities(m);let p=this._getCurrentPreset();const _=this._getAllPresets();let v=this._getAllAvailablePresets(),g=v.indexOf(_[this.presetIndex]);-1===g&&(this._firstHass(),p=this._getCurrentPreset(),v=this._getAllAvailablePresets(),g=v.indexOf(_[this.presetIndex])),this._updateCalibration(p);const h=null===(e=p.tiles)||void 0===e?void 0:e.filter((e=>Qs(e,this.internalVariables,this.hass))),f=Ec.preprocessIcons(p.icons,this.internalVariables,this.hass),b=this.modes,y=this._getMapSrc(p),k=!!this.coordinatesConverter&&this.coordinatesConverter.calibrated,A=k?this._createMapControls():[],x=D` +
+ camera_image +
+ + ${k?this._drawSelection():null} + +
+
+ `;return D` + + ${el((null!==(c=this.config.title)&&void 0!==c?c:"").length>0,(()=>D`

${this.config.title}

`))} + this._openPreviousPreset()} + .previousPresetIndex=${this._getPreviousPresetIndex()} + .presetActivable=${void 0!==p.activate} + .presetName=${p.preset_name} + .executePresetsActivation=${()=>this._executePresetsActivation()} + .openNextPreset=${()=>this._openNextPreset()} + .nextPresetIndex=${this._getNextPresetIndex()}> + +
+ + ${x} + +
+
+ +
+
+ +
+ + +
+
+
+
+ ${el(!k,(()=>this._showInvalidCalibrationWarning()))} + ${el(b.length>1||A.length>0||0!==(null!==(d=null==f?void 0:f.length)&&void 0!==d?d:0)||0!==(null!==(u=null==h?void 0:h.length)&&void 0!==u?u:0),(()=>D` +
+ ${el(k&&(b.length>1||A.length>0),(()=>D` +
+
+ ${el(b.length>1,(()=>D` + this._setCurrentMode(e)} + .renderNameCollapsed=${!0}> + + `))} + ${el(A.length>0,(()=>D`
${A}
`))} +
+
+ `))} + tl(this,e,t)}> + + tl(this,e,t)} + .internalVariables=${this.internalVariables}> + +
`))} + ${dl.render("map-card")} +
+ `}updated(e){this._updateElements()}_getCurrentPreset(){return this.currentPreset}_getCalibration(e){var t,i,a,n,o,r,s,l,c,d,u,m,p;if(null===(t=e.calibration_source)||void 0===t?void 0:t.identity)return[{map:{x:0,y:0},vacuum:{x:0,y:0}},{map:{x:1,y:0},vacuum:{x:1,y:0}},{map:{x:0,y:1},vacuum:{x:0,y:1}}];if((null===(i=e.calibration_source)||void 0===i?void 0:i.calibration_points)&&[3,4].includes(e.calibration_source.calibration_points.length))return e.calibration_source.calibration_points;if(!this.hass)return;if((null===(a=e.calibration_source)||void 0===a?void 0:a.entity)&&!(null===(n=e.calibration_source)||void 0===n?void 0:n.attribute))return JSON.parse(null===(o=this.hass.states[e.calibration_source.entity])||void 0===o?void 0:o.state);if((null===(r=e.calibration_source)||void 0===r?void 0:r.entity)&&(null===(s=e.calibration_source)||void 0===s?void 0:s.attribute))return null===(l=this.hass.states[e.calibration_source.entity])||void 0===l?void 0:l.attributes[e.calibration_source.attribute];if(null===(c=e.calibration_source)||void 0===c?void 0:c.camera)return null===(m=this.hass.states[null!==(u=null===(d=e.map_source)||void 0===d?void 0:d.camera)&&void 0!==u?u:""])||void 0===m?void 0:m.attributes.calibration_points;if(null===(p=e.calibration_source)||void 0===p?void 0:p.platform)return ws.getCalibration(e.calibration_source.platform);const _=ws.getCalibration(e.vacuum_platform);return _||void 0}_firstHass(){if(0===this.configErrors.length&&!this.oldConfig){const e=this._getAllPresets(),t=this._getAllAvailablePresets(),i=e.indexOf(t[0]);this._setPresetIndex(i,!1,!0)}}_getAllPresets(){var e;return[this.config,...null!==(e=this.config.additional_presets)&&void 0!==e?e:[]]}_getAllAvailablePresets(){const e=this._getAllPresets(),t=e.filter((e=>{var t,i;return 0===(null!==(i=null===(t=e.conditions)||void 0===t?void 0:t.length)&&void 0!==i?i:0)||Qs(e,this.internalVariables,this.hass)}));return 0===t.length?[e[0]]:t}_getPreviousPresetIndex(){const e=this._getAllPresets(),t=e.filter(((e,t)=>{var i,a;return t{var i,a;return t>this.presetIndex&&(0===(null!==(a=null===(i=e.conditions)||void 0===i?void 0:i.length)&&void 0!==a?a:0)||Qs(e,this.internalVariables,this.hass))}));return 0==t.length?-1:e.indexOf(t[0])}_openPreviousPreset(){const e=this._getPreviousPresetIndex();e>=0&&this._setPresetIndex(e,!0)}_openNextPreset(){const e=this._getNextPresetIndex();e>=0&&this._setPresetIndex(e,!0)}_setPresetIndex(e,t=!1,i=!1){var a,n,o,r,s;if((e=Math.min(Math.max(e,0),null!==(n=null===(a=this.config.additional_presets)||void 0===a?void 0:a.length)&&void 0!==n?n:0))===this.presetIndex&&!i)return;const l=0===e?this.config:(null!==(o=this.config.additional_presets)&&void 0!==o?o:[])[e-1];this.mapLocked||null===(r=this._getPinchZoom())||void 0===r||r.setTransform({scale:1,x:0,y:0,allowChangeEvent:!0}),t&&ke("selection"),this.mapLocked=null!==(s=null==l?void 0:l.map_locked)&&void 0!==s&&s,this.selectedMode=0,this.realScale=1,this.mapScale=1,this.mapX=0,this.mapY=0,this.hass&&this._updateCalibration(l),this.modes=this._getModes(l),this.presetIndex=e,this.currentPreset=l,this.internalVariables=this._getInternalVariables(l),this._getIconsAndTiles(l,this.internalVariables).then((([e,t])=>this._setPreset(Object.assign(Object.assign({},l),{tiles:t,icons:e})))).then((()=>setTimeout((()=>this.requestUpdate()),100))).then((()=>this._setCurrentMode(0,!1))),t&&this.currentPreset.activate_on_switch&&this._executePresetsActivation(),this._selectionChanged()}_getInternalVariables(e){var t,i;return Object.assign(Object.assign({},null!==(t=ws.getVariables(e.vacuum_platform))&&void 0!==t?t:{}),null!==(i=e.internal_variables)&&void 0!==i?i:{})}_getIconsAndTiles(e,t){var i,a;const n=ws.getPlatformName(e.vacuum_platform),o=Wl.generate(this.hass,e.icons,e.entity,n,t,this.config.language,null!==(i=e.append_icons)&&void 0!==i&&i,(e=>e.icon_id),nc,ac.generate),r=Wl.generate(this.hass,e.tiles,e.entity,n,t,this.config.language,null!==(a=e.append_tiles)&&void 0!==a&&a,(e=>e.tile_id),tc,ec.generate);return Promise.all([o,r])}_getModes(e){var t,i,a;const n=ws.getPlatformName(e.vacuum_platform);return(-1===(null!==(i=null===(t=e.map_modes)||void 0===t?void 0:t.length)&&void 0!==i?i:-1)||n.startsWith("Setup")?ws.generateDefaultModes(n):null!==(a=e.map_modes)&&void 0!==a?a:[Vs]).map((e=>new Gs(n,e,this.config.language)))}_executePresetsActivation(){if(this.currentPreset.activate){const e=new Xs(this.currentPreset.activate).apply(this.currentPreset.entity,[],0,{});this.hass.callService(e.domain,e.service,e.serviceData,e.target).then((()=>ke("success")))}}_setPreset(e){this.currentPreset=e,this.watchedEntities=Ws(Object.assign({type:""},e))}_updateCalibration(e){this.coordinatesConverter=void 0;const t=this._getCalibration(e);this.coordinatesConverter=new vc(t)}_getMapSrc(e){if(e.map_source.camera){if(this.connected&&this.lastHassUpdate&&this.lastHassUpdate.getTime()+36e4>=(new Date).getTime()){return`${this.hass.hassUrl(this.hass.states[e.map_source.camera].attributes.entity_picture)}&v=${+new Date}`}return Ss}return e.map_source.image?`${e.map_source.image}`:Ss}_createMapControls(){const e=[],t=this._getCurrentMode();return t?(t.selectionType===tr.MANUAL_RECTANGLE&&e.push(D` + + + + `),t.selectionType===tr.MANUAL_PATH&&e.push(D` + + + + + + + `),t.repeatsType!==ir.NONE&&e.push(D` + +
×${this.repeats}
+
+ `),t.runImmediately||e.push(D` + + + + + `),e):[]}_getContext(){return new Vl((()=>this.mapScale),(()=>this.realScale),(e=>this._getMousePosition(e)),(()=>this.requestUpdate()),(()=>this._selectionChanged()),(()=>this.coordinatesConverter),(()=>this.selectedManualRectangles),(()=>this.selectedPredefinedRectangles),(()=>this.selectedRooms),(()=>this.selectedPredefinedPoint),(()=>{var e,t;return null!==(t=null===(e=this._getCurrentMode())||void 0===e?void 0:e.coordinatesRounding)&&void 0!==t&&t}),(()=>{var e,t;return null!==(t=null===(e=this._getCurrentMode())||void 0===e?void 0:e.coordinatesToMetersDivider)&&void 0!==t?t:1}),(()=>{var e,t;return null!==(t=null===(e=this._getCurrentMode())||void 0===e?void 0:e.maxSelections)&&void 0!==t?t:0}),(e=>this._getCssProperty(e)),(()=>this._runImmediately()),(e=>this._localize(e)))}_getMousePosition(e){return al(e,this._getSvgWrapper(),this.mapScale)}_setCurrentMode(e,t=!0){const i=this.modes[e];switch(this.selectedManualRectangles=[],this.selectedManualPoint=void 0,this.selectedManualPath.clear(),this.selectedPredefinedRectangles=[],this.selectedRooms=[],this.selectedPredefinedPoint=[],this.selectablePredefinedRectangles=[],this.selectableRooms=[],this.selectablePredefinedPoints=[],null==i?void 0:i.selectionType){case tr.PREDEFINED_RECTANGLE:const e=Xl.getFromEntities(i,this.hass,(()=>this._getContext())),t=i.predefinedSelections.map((e=>e)).filter((e=>"string"!=typeof e.zones)).map((e=>new Xl(e,this._getContext())));this.selectablePredefinedRectangles=e.concat(t);break;case tr.ROOM:this.selectableRooms=i.predefinedSelections.map((e=>new Gl(e,this._getContext())));break;case tr.PREDEFINED_POINT:const a=Kl.getFromEntities(i,this.hass,(()=>this._getContext())),n=i.predefinedSelections.map((e=>e)).filter((e=>"string"!=typeof e.position)).map((e=>new Kl(e,this._getContext())));this.selectablePredefinedPoints=a.concat(n)}this.selectedMode!=e&&t&&ke("selection"),this.selectedMode=e,this._selectionChanged()}_getCurrentMode(){return this.modes[this.selectedMode]}_getSelection(e){var t,i,a,n,o,r,s;if(!e)return{selection:[],variables:{}};const l=e.repeatsType===ir.INTERNAL?this.repeats:null;let c=[],d={};const u=e=>{var t,i;return Object.assign(Object.assign({},null!==(i=null===(t=e[0])||void 0===t?void 0:t.variables)&&void 0!==i?i:{}),{variables:e.map((e=>{var t;return null!==(t=null==e?void 0:e.variables)&&void 0!==t?t:{}}))})};switch(e.selectionType){case tr.MANUAL_RECTANGLE:c=this.selectedManualRectangles.map((e=>e.toVacuum(l))),d=u(this.selectedManualRectangles);break;case tr.PREDEFINED_RECTANGLE:c=this.selectedPredefinedRectangles.map((e=>e.toVacuum(l))).reduce(((e,t)=>e.concat(t)),[]),d=null!==(i=null===(t=this.selectedPredefinedRectangles[0])||void 0===t?void 0:t.variables)&&void 0!==i?i:{},d=u(this.selectedPredefinedRectangles);break;case tr.ROOM:const m=this.selectedRooms.map((e=>e.toVacuum())).map((t=>zc.adjustRoomId(t,e)));c=[...m,...l&&m.length>0?[l]:[]],d=null!==(n=null===(a=this.selectedRooms[0])||void 0===a?void 0:a.variables)&&void 0!==n?n:{},d=u(this.selectedRooms);break;case tr.MANUAL_PATH:c=this.selectedManualPath.toVacuum(l),d=null!==(o=this.selectedManualPath.variables)&&void 0!==o?o:{},d=u([this.selectedManualPath]);break;case tr.MANUAL_POINT:c=null!==(s=null===(r=this.selectedManualPoint)||void 0===r?void 0:r.toVacuum(l))&&void 0!==s?s:[],d=u([this.selectedManualPoint]);break;case tr.PREDEFINED_POINT:c=this.selectedPredefinedPoint.map((e=>e.toVacuum(l))).reduce(((e,t)=>e.concat(t)),[]),d=u(this.selectedPredefinedPoint)}return e.repeatsType===ir.REPEAT&&(c=Array(this.repeats).fill(0).flatMap((()=>c))),{selection:c,variables:d}}async _runImmediately(){var e,t;return!(null===(t=null===(e=this._getCurrentMode())||void 0===e?void 0:e.runImmediately)||void 0===t||!t)&&(await this._run(!1),!0)}_selectionChanged(){const e=this._getCurrentMode(),{selection:t}=this._getSelection(e);if(this.isInEditor){const e=new Event(Cs);e.selection=null!=t?t:"[]",window.dispatchEvent(e)}}_isInEditor(){return function e(t){var i,a,n,o,r,s,l,c,d,u,m;return"hui-card"===(null===(a=null===(i=t.parentElement)||void 0===i?void 0:i.tagName)||void 0===a?void 0:a.toLowerCase())&&"preview"in(null!==(o=null===(n=t.parentElement)||void 0===n?void 0:n.attributes)&&void 0!==o?o:[])||"hui-section"===(null===(s=null===(r=t.parentElement)||void 0===r?void 0:r.tagName)||void 0===s?void 0:s.toLowerCase())&&"preview"in(null!==(c=null===(l=t.parentElement)||void 0===l?void 0:l.attributes)&&void 0!==c?c:[])||"hui-card-preview"===(null===(u=null===(d=t.parentElement)||void 0===d?void 0:d.tagName)||void 0===u?void 0:u.toLowerCase())||null!=t.parentElement&&e(t.parentElement)||"[object ShadowRoot]"==(null===(m=t.parentNode)||void 0===m?void 0:m.toString())&&e(t.getRootNode().host)}(this)}async _handleAutogeneratedConfigGet(){var e;const t=new Event(Ns),i=await Promise.all((null!==(e=this.config.additional_presets)&&void 0!==e?e:[]).map((async e=>await this._getConfigOfPreset(e))));t.presetConfig=Object.assign(Object.assign(Object.assign({},this.config),await this._getConfigOfPreset(this.config)),{additional_presets:i}),window.dispatchEvent(t)}async _getConfigOfPreset(e){const t=this._getInternalVariables(e),[i,a]=await this._getIconsAndTiles(e,t);return Object.assign(Object.assign({},e),{icons:JSON.parse(JSON.stringify(i)),tiles:JSON.parse(JSON.stringify(a)),map_modes:this._getModes(e).map((e=>e.toMapModeConfig()))})}_handleRoomsConfigGet(){const e=new Event($s);e.roomConfig=this._getRoomsConfig(),window.dispatchEvent(e)}async _handleServiceCallGet(){const e=this._getCurrentPreset(),t=this._getCurrentMode(),{selection:i,variables:a}=this._getSelection(t);if(0!=i.length&&t){const n=await t.getServiceCall(this.hass,e.entity,i,this.repeats,Object.assign(Object.assign({},this.internalVariables),a)),o=new Event(Ls);o.serviceCall=JSON.stringify(n,null,2),window.dispatchEvent(o)}else this._showToast("popups.no_selection","mdi:close",!1),ke("failure")}async _handleLovelaceDomEvent(e){var t;const i=e;if(Ds in i.detail&&"action_handler_id"in i.detail[Ds]&&i.detail[Ds].action_handler_id===(null!==(t=this.config.action_handler_id)&&void 0!==t?t:"this")){const e=i.detail[Ds];if(void 0===e.action)return;const t=e.action,a=e.data,n=this._getCurrentMode();switch(t){case ml.CLEANING_START:await this._run(!1);break;case ml.INTERNAL_VARIABLE_SET:this._setInternalVariable(a.variable,a.value);break;case ml.MAP_MODE_NEXT:this._setCurrentMode((this.selectedMode+1)%this.modes.length,!1);break;case ml.MAP_MODE_PREVIOUS:this._setCurrentMode((this.selectedMode-1+this.modes.length)%this.modes.length,!1);break;case ml.MAP_MODE_SET:this._setCurrentMode(a.index%this.modes.length,!1);break;case ml.REPEATS_DECREMENT:n&&(this.repeats=(this.repeats+n.maxRepeats-2)%n.maxRepeats+1);break;case ml.REPEATS_INCREMENT:n&&(this.repeats=this.repeats%n.maxRepeats+1);break;case ml.REPEATS_SET:n&&(this.repeats=(a.value+n.maxRepeats-1)%n.maxRepeats+1);break;case ml.SELECTION_CLEAR:this._setCurrentMode(this.selectedMode)}}}_setInternalVariable(e,t){const i=Object.assign({},this.internalVariables);i[e]=t,this.internalVariables=i,this.requestUpdate()}_getRoomsConfig(){var e,t,i,a,n,o,r,s,l,c;const d=this._getCurrentPreset(),u=null===(i=this.hass.states[null!==(t=null===(e=d.map_source)||void 0===e?void 0:e.camera)&&void 0!==t?t:""])||void 0===i?void 0:i.attributes.rooms,m=new Array;if(u){const e=this.modes.filter((e=>e.selectionType===tr.ROOM)).reverse()[0],t=e?this.modes.indexOf(e):-1;for(const e in u){if(!u.hasOwnProperty(e))continue;const t=u[e];if(!(t.outline||t.x0||t.y0||t.x1||t.y1))continue;const i=null!==(a=t.outline)&&void 0!==a?a:[[t.x0,t.y0],[t.x1,t.y0],[t.x1,t.y1],[t.x0,t.y1]],d=i.toString().includes("."),p=(e,t=1)=>d?e/t:Math.round(e/t),_=i.reduce(((e,t)=>{var i;return e+(null!==(i=t[0])&&void 0!==i?i:0)}),0),v=i.reduce(((e,t)=>{var i;return e+(null!==(i=t[1])&&void 0!==i?i:0)}),0),g={id:e,icon:{name:null!==(n=t.icon)&&void 0!==n?n:"mdi:broom",x:null!==(o=t.x)&&void 0!==o?o:p(_,i.length),y:null!==(r=t.y)&&void 0!==r?r:p(v,i.length)},label:{text:null!==(s=t.name)&&void 0!==s?s:`Room ${e}`,x:null!==(l=t.x)&&void 0!==l?l:p(_,i.length),y:null!==(c=t.y)&&void 0!==c?c:p(v,i.length),offset_y:35},outline:i};m.push(g)}return{modeIndex:t,rooms:m}}}static adjustRoomId(e,t){return"number"===t.idType?+e:e}async _run(e){var t,i;const a=this._getCurrentPreset(),n=this._getCurrentMode(),{selection:o,variables:r}=this._getSelection(n);if(0!=o.length&&n){const i=this.repeats,s=await n.getServiceCall(this.hass,a.entity,o,i,Object.assign(Object.assign({},this.internalVariables),r));if(e||null!==(t=this.config.debug)&&void 0!==t&&t){const e=JSON.stringify(s,null,2);this._showToast("popups.success","mdi:check",!0),console.log(e),window.alert(e),ke("success")}else this.hass.callService(s.domain,s.service,s.serviceData,s.target).then((()=>{this._showToast("popups.success","mdi:check",!0),ke("success")}),(e=>{this._showToast("popups.failed","mdi:close",!1,e.message),ke("failure")}))}else this._showToast("popups.no_selection","mdi:close",!1),ke("failure");(null===(i=a.clean_selection_on_start)||void 0===i||i)&&this._setCurrentMode(this.selectedMode),this._selectionChanged()}_updateElements(){var e,t;const i=null===(t=null===(e=this._modesDropdownMenu)||void 0===e?void 0:e.shadowRoot)||void 0===t?void 0:t.querySelector(".dropdown-content");i&&(i.style.borderRadius=this._getCssProperty("--map-card-internal-big-radius")),ol(100).then((()=>this._calculateBasicScale()))}_drawSelection(){var e,t,i;switch(null===(e=this._getCurrentMode())||void 0===e?void 0:e.selectionType){case tr.MANUAL_RECTANGLE:return V`${this.selectedManualRectangles.map((e=>e.render()))}`;case tr.PREDEFINED_RECTANGLE:return V`${this.selectablePredefinedRectangles.map((e=>e.render()))}`;case tr.ROOM:return V`${this.selectableRooms.map((e=>e.render()))}`;case tr.MANUAL_PATH:return V`${null===(t=this.selectedManualPath)||void 0===t?void 0:t.render()}`;case tr.MANUAL_POINT:return V`${null===(i=this.selectedManualPoint)||void 0===i?void 0:i.render()}`;case tr.PREDEFINED_POINT:return V`${this.selectablePredefinedPoints.map((e=>e.render()))}`;default:return null}}_toggleLock(){this.mapLocked=!this.mapLocked,ke("selection"),ol(500).then((()=>this.requestUpdate()))}_addRectangle(){var e,t,i,a,n,o,r,s;const l=this._getCurrentPreset(),c=this._getCurrentMode(),d=null!==(t=null===(e=l.map_source.crop)||void 0===e?void 0:e.top)&&void 0!==t?t:0,u=null!==(a=null===(i=l.map_source.crop)||void 0===i?void 0:i.bottom)&&void 0!==a?a:0,m=null!==(o=null===(n=l.map_source.crop)||void 0===n?void 0:n.left)&&void 0!==o?o:0,p=null!==(s=null===(r=l.map_source.crop)||void 0===r?void 0:r.right)&&void 0!==s?s:0;if(this._calculateBasicScale(),!c||this.selectedManualRectangles.length>=c.maxSelections)return void ke("failure");const _=this.realImageHeight*this.realScale-d-u,v=this.realImageWidth*this.realScale-m-p,g=(this.selectedManualRectangles.length+1).toString(),h=(v/3+m-this.mapX)/this.mapScale,f=(_/3+d-this.mapY)/this.mapScale,b=v/3/this.mapScale,y=_/3/this.mapScale;this.selectedManualRectangles.push(new Dl(h,f,b,y,g,this._getContext())),this._selectionChanged(),ke("selection"),this.requestUpdate()}_mouseDown(e){e instanceof MouseEvent&&0!=e.button||(this.shouldHandleMouseUp=!0)}_mouseMove(e){e.target.classList.contains("draggable")||(this.selectedManualRectangles.filter((e=>e.isSelected())).forEach((t=>t.externalDrag(e))),this.shouldHandleMouseUp=!1)}_mouseUp(e){const t=this._getCurrentMode();if(!(e instanceof MouseEvent&&0!=e.button)&&this.shouldHandleMouseUp&&t){const{x:i,y:a}=al(e,this._getSvgWrapper(),1);switch(t.selectionType){case tr.MANUAL_PATH:ke("selection"),this.selectedManualPath.addPoint(i,a),this._selectionChanged();break;case tr.MANUAL_POINT:ke("selection"),this.selectedManualPoint=new Ul(i,a,this._getContext()),this._selectionChanged();break;default:return}Zs(e),this.requestUpdate()}this.shouldHandleMouseUp=!1}_handleRunAction(){return async e=>{var t;if(this.hass&&(null===(t=null==e?void 0:e.detail)||void 0===t?void 0:t.action))switch(e.detail.action){case"tap":await this._run(!1);break;case"hold":await this._run(!0);break;case"double_tap":console.log(JSON.stringify(Object.assign(Object.assign({},this._getCurrentPreset()),{additional_presets:void 0,title:void 0,type:void 0}),null,2)),window.alert("Configuration available in browser's console"),ke("success")}}}_restoreMap(){const e=this._getMapZoomerContent();e.style.transitionDuration=this._getCssProperty("--map-card-internal-transitions-duration"),this._getPinchZoom().setTransform({scale:1,x:0,y:0,allowChangeEvent:!0}),this.mapScale=1,ke("selection"),ol(300).then((()=>e.style.transitionDuration="0s"))}_getCssProperty(e){return getComputedStyle(this._getMapImage()).getPropertyValue(e)}_zoomIn(){ke("selection"),this._updateScale(1.5)}_zoomOut(){ke("selection"),this._updateScale(1/1.5)}_updateScale(e){const t=this._getMapZoomerContent(),i=this._getPinchZoom(),a=this._getPinchZoom().getBoundingClientRect();this.mapScale=Math.max(this.mapScale*e,.5),t.style.transitionDuration="200ms",i.scaleTo(this.mapScale,{originX:a.left+a.width/2,originY:a.top+a.height/2,relativeTo:"container",allowChangeEvent:!0}),ol(300).then((()=>t.style.transitionDuration="0s"))}_calculateBasicScale(){const e=this._getMapImage();e&&e.naturalWidth>0&&(this.realImageWidth=e.naturalWidth,this.realImageHeight=e.naturalHeight,this.realScale=e.width/e.naturalWidth)}_calculateScale(){const e=this._getPinchZoom();this.mapScale=e.scale,this.mapX=e.x,this.mapY=e.y}_getPinchZoom(){var e;return null===(e=this.shadowRoot)||void 0===e?void 0:e.getElementById("map-zoomer")}_getMapImage(){var e;return null===(e=this.shadowRoot)||void 0===e?void 0:e.getElementById("map-image")}_getMapZoomerContent(){var e;return null===(e=this.shadowRoot)||void 0===e?void 0:e.getElementById("map-zoomer-content")}_getSvgWrapper(){var e;return null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#svg-wrapper")}_showConfigErrors(e){e.forEach((e=>console.error(e)));const t=document.createElement("hui-error-card");return t.setConfig({type:"error",error:e[0],origConfig:this.config}),D` ${t} `}_showOldConfig(){return D` + +

Xiaomi Vacuum Map Card ${zs}

+

${this._localize("common.old_configuration")}

+

+ ${this._localize("common.old_configuration_migration_link")} +

+
+ `}_showInvalidEntities(e){return D` + +

${this._localize("validation.invalid_entities")}

+
    + ${e.map((e=>D`
  • +
    ${e}
    +
  • `))} +
+
+ `}_showInvalidCalibrationWarning(){return D` ${this._localize("validation.invalid_calibration")} `}_localize(e){return Qo(e,this.hass,this.config)}_showToast(e,t,i,a=""){dl.showToast(this.shadowRoot,(e=>this._localize(e)),"map-card",e,t,i,a)}static get styles(){return r` + ha-card { + overflow: hidden; + display: flow-root; + --map-card-internal-primary-color: var(--map-card-primary-color, var(--slider-color)); + --map-card-internal-primary-text-color: var(--map-card-primary-text-color, var(--primary-text-color)); + --map-card-internal-secondary-color: var(--map-card-secondary-color, var(--slider-secondary-color)); + --map-card-internal-secondary-text-color: var( + --map-card-secondary-text-color, + var(--text-light-primary-color) + ); + --map-card-internal-tertiary-color: var(--map-card-tertiary-color, var(--secondary-background-color)); + --map-card-internal-tertiary-text-color: var(--map-card-tertiary-text-color, var(--primary-text-color)); + --map-card-internal-disabled-text-color: var( + --map-card-disabled-text-color, + var(--disabled-text-color) + ); + --map-card-internal-zoomer-background: var( + --map-card-zoomer-background, + var(--map-card-internal-tertiary-color) + ); + --map-card-internal-ripple-color: var(--map-card-ripple-color, #7a7f87); + --map-card-internal-big-radius: var(--map-card-big-radius, 25px); + --map-card-internal-small-radius: var(--map-card-small-radius, 18px); + --map-card-internal-predefined-point-icon-wrapper-size: var( + --map-card-predefined-point-icon-wrapper-size, + 36px + ); + --map-card-internal-predefined-point-icon-size: var(--map-card-predefined-point-icon-size, 24px); + --map-card-internal-predefined-point-icon-color: var( + --map-card-predefined-point-icon-color, + var(--map-card-internal-secondary-text-color) + ); + --map-card-internal-predefined-point-icon-color-selected: var( + --map-card-predefined-point-icon-color-selected, + var(--map-card-internal-primary-text-color) + ); + --map-card-internal-predefined-point-icon-background-color: var( + --map-card-predefined-point-icon-background-color, + var(--map-card-internal-secondary-color) + ); + --map-card-internal-predefined-point-icon-background-color-selected: var( + --map-card-predefined-point-icon-background-color-selected, + var(--map-card-internal-primary-color) + ); + --map-card-internal-predefined-point-label-color: var( + --map-card-predefined-point-label-color, + var(--map-card-internal-secondary-text-color) + ); + --map-card-internal-predefined-point-label-color-selected: var( + --map-card-predefined-point-label-color-selected, + var(--map-card-internal-primary-text-color) + ); + --map-card-internal-predefined-point-label-font-size: var( + --map-card-predefined-point-label-font-size, + 12px + ); + --map-card-internal-manual-point-radius: var(--map-card-manual-point-radius, 5px); + --map-card-internal-manual-point-line-color: var(--map-card-manual-point-line-color, yellow); + --map-card-internal-manual-point-fill-color: var(--map-card-manual-point-fill-color, transparent); + --map-card-internal-manual-point-line-width: var(--map-card-manual-point-line-width, 1px); + --map-card-internal-manual-path-point-radius: var(--map-card-manual-path-point-radius, 5px); + --map-card-internal-manual-path-point-line-color: var(--map-card-manual-path-point-line-color, yellow); + --map-card-internal-manual-path-point-fill-color: var( + --map-card-manual-path-point-fill-color, + transparent + ); + --map-card-internal-manual-path-point-line-width: var(--map-card-manual-path-point-line-width, 1px); + --map-card-internal-manual-path-line-color: var(--map-card-manual-path-line-color, yellow); + --map-card-internal-manual-path-line-width: var(--map-card-manual-path-line-width, 1px); + --map-card-internal-predefined-rectangle-line-width: var( + --map-card-predefined-rectangle-line-width, + 1px + ); + --map-card-internal-predefined-rectangle-line-color: var( + --map-card-predefined-rectangle-line-color, + white + ); + --map-card-internal-predefined-rectangle-fill-color: var( + --map-card-predefined-rectangle-fill-color, + transparent + ); + --map-card-internal-predefined-rectangle-line-color-selected: var( + --map-card-predefined-rectangle-line-color-selected, + white + ); + --map-card-internal-predefined-rectangle-fill-color-selected: var( + --map-card-predefined-rectangle-fill-color-selected, + rgba(255, 255, 255, 0.2) + ); + --map-card-internal-predefined-rectangle-line-segment-line: var( + --map-card-predefined-rectangle-line-segment-line, + 10px + ); + --map-card-internal-predefined-rectangle-line-segment-gap: var( + --map-card-predefined-rectangle-line-segment-gap, + 5px + ); + --map-card-internal-predefined-rectangle-icon-wrapper-size: var( + --map-card-predefined-rectangle-icon-wrapper-size, + 36px + ); + --map-card-internal-predefined-rectangle-icon-size: var( + --map-card-predefined-rectangle-icon-size, + 24px + ); + --map-card-internal-predefined-rectangle-icon-color: var( + --map-card-predefined-rectangle-icon-color, + var(--map-card-internal-secondary-text-color) + ); + --map-card-internal-predefined-rectangle-icon-color-selected: var( + --map-card-predefined-rectangle-icon-color-selected, + var(--map-card-internal-primary-text-color) + ); + --map-card-internal-predefined-rectangle-icon-background-color: var( + --map-card-predefined-rectangle-icon-background-color, + var(--map-card-internal-secondary-color) + ); + --map-card-internal-predefined-rectangle-icon-background-color-selected: var( + --map-card-predefined-rectangle-icon-background-color-selected, + var(--map-card-internal-primary-color) + ); + --map-card-internal-predefined-rectangle-label-color: var( + --map-card-predefined-rectangle-label-color, + var(--map-card-internal-secondary-text-color) + ); + --map-card-internal-predefined-rectangle-label-color-selected: var( + --map-card-predefined-rectangle-label-color-selected, + var(--map-card-internal-primary-text-color) + ); + --map-card-internal-predefined-rectangle-label-font-size: var( + --map-card-predefined-rectangle-label-font-size, + 12px + ); + --map-card-internal-manual-rectangle-line-width: var(--map-card-manual-rectangle-line-width, 1px); + --map-card-internal-manual-rectangle-line-color: var(--map-card-manual-rectangle-line-color, white); + --map-card-internal-manual-rectangle-fill-color: var( + --map-card-manual-rectangle-fill-color, + rgba(255, 255, 255, 0.2) + ); + --map-card-internal-manual-rectangle-line-color-selected: var( + --map-card-manual-rectangle-line-color-selected, + white + ); + --map-card-internal-manual-rectangle-fill-color-selected: var( + --map-card-manual-rectangle-fill-color-selected, + transparent + ); + --map-card-internal-manual-rectangle-line-segment-line: var( + --map-card-manual-rectangle-line-segment-line, + 10px + ); + --map-card-internal-manual-rectangle-line-segment-gap: var( + --map-card-manual-rectangle-line-segment-gap, + 5px + ); + --map-card-internal-manual-rectangle-description-color: var( + --map-card-manual-rectangle-description-color, + white + ); + --map-card-internal-manual-rectangle-description-font-size: var( + --map-card-manual-rectangle-description-font-size, + 12px + ); + --map-card-internal-manual-rectangle-description-offset-x: var( + --map-card-manual-rectangle-description-offset-x, + 2px + ); + --map-card-internal-manual-rectangle-description-offset-y: var( + --map-card-manual-rectangle-description-offset-y, + -8px + ); + --map-card-internal-manual-rectangle-delete-circle-radius: var( + --map-card-manual-rectangle-delete-circle-radius, + 13px + ); + --map-card-internal-manual-rectangle-delete-circle-line-color: var( + --map-card-manual-rectangle-delete-circle-line-color, + white + ); + --map-card-internal-manual-rectangle-delete-circle-fill-color: var( + --map-card-manual-rectangle-delete-circle-fill-color, + var(--map-card-internal-secondary-color) + ); + --map-card-internal-manual-rectangle-delete-circle-line-color-selected: var( + --map-card-manual-rectangle-delete-circle-line-color-selected, + white + ); + --map-card-internal-manual-rectangle-delete-circle-fill-color-selected: var( + --map-card-manual-rectangle-delete-circle-fill-color-selected, + var(--map-card-internal-primary-color) + ); + --map-card-internal-manual-rectangle-delete-circle-line-width: var( + --map-card-manual-rectangle-delete-circle-line-width, + 1px + ); + --map-card-internal-manual-rectangle-delete-icon-color: var( + --map-card-manual-rectangle-delete-icon-color, + var(--map-card-internal-secondary-text-color) + ); + --map-card-internal-manual-rectangle-delete-icon-color-selected: var( + --map-card-manual-rectangle-delete-icon-color-selected, + var(--map-card-internal-primary-text-color) + ); + --map-card-internal-manual-rectangle-resize-circle-radius: var( + --map-card-manual-rectangle-resize-circle-radius, + 13px + ); + --map-card-internal-manual-rectangle-resize-circle-line-color: var( + --map-card-manual-rectangle-resize-circle-line-color, + white + ); + --map-card-internal-manual-rectangle-resize-circle-fill-color: var( + --map-card-manual-rectangle-resize-circle-fill-color, + var(--map-card-internal-secondary-color) + ); + --map-card-internal-manual-rectangle-resize-circle-line-color-selected: var( + --map-card-manual-rectangle-resize-circle-line-color-selected, + white + ); + --map-card-internal-manual-rectangle-resize-circle-fill-color-selected: var( + --map-card-manual-rectangle-resize-circle-fill-color-selected, + var(--map-card-internal-primary-color) + ); + --map-card-internal-manual-rectangle-resize-circle-line-width: var( + --map-card-manual-rectangle-resize-circle-line-width, + 1px + ); + --map-card-internal-manual-rectangle-resize-icon-color: var( + --map-card-manual-rectangle-resize-icon-color, + var(--map-card-internal-secondary-text-color) + ); + --map-card-internal-manual-rectangle-resize-icon-color-selected: var( + --map-card-manual-rectangle-resize-icon-color-selected, + var(--map-card-internal-primary-text-color) + ); + --map-card-internal-room-outline-line-color: var(--map-card-room-outline-line-color, white); + --map-card-internal-room-outline-line-width: var(--map-card-room-outline-line-width, 1px); + --map-card-internal-room-outline-line-segment-line: var( + --map-card-room-outline-line-segment-line, + 10px + ); + --map-card-internal-room-outline-line-segment-gap: var(--map-card-room-outline-line-segment-gap, 5px); + --map-card-internal-room-outline-fill-color: var(--map-card-room-outline-fill-color, transparent); + --map-card-internal-room-outline-line-color-selected: var( + --map-card-room-outline-line-color-selected, + white + ); + --map-card-internal-room-outline-fill-color-selected: var( + --map-card-room-outline-fill-color-selected, + rgba(255, 255, 255, 0.3) + ); + --map-card-internal-room-icon-wrapper-size: var(--map-card-room-icon-wrapper-size, 36px); + --map-card-internal-room-icon-size: var(--map-card-room-icon-size, 24px); + --map-card-internal-room-icon-color: var( + --map-card-room-icon-color, + var(--map-card-internal-secondary-text-color) + ); + --map-card-internal-room-icon-color-selected: var( + --map-card-room-icon-color-selected, + var(--map-card-internal-primary-text-color) + ); + --map-card-internal-room-icon-background-color: var( + --map-card-room-icon-background-color, + var(--map-card-internal-secondary-color) + ); + --map-card-internal-room-icon-background-color-selected: var( + --map-card-room-icon-background-color-selected, + var(--map-card-internal-primary-color) + ); + --map-card-internal-room-label-color: var( + --map-card-room-label-color, + var(--map-card-internal-secondary-text-color) + ); + --map-card-internal-room-label-color-selected: var( + --map-card-room-label-color-selected, + var(--map-card-internal-primary-text-color) + ); + --map-card-internal-room-label-font-size: var(--map-card-room-label-font-size, 12px); + --map-card-internal-toast-successful-icon-color: var( + --map-card-toast-successful-icon-color, + rgb(0, 255, 0) + ); + --map-card-internal-toast-unsuccessful-icon-color: var( + --map-card-toast-unsuccessful-icon-color, + rgb(255, 0, 0) + ); + --map-card-internal-transitions-duration: var(--map-card-transitions-duration, 200ms); + } + + .clickable { + cursor: pointer; + } + + .map-wrapper { + position: relative; + height: max-content; + } + + #map-zoomer { + overflow: hidden; + display: block; + --scale: 1; + --x: 0; + --y: 0; + background: var(--map-card-internal-zoomer-background); + } + + #map-zoomer-content { + transform: translate(var(--x), var(--y)) scale(var(--scale)); + transform-origin: 0 0; + position: relative; + } + + #map-image { + width: 100%; + margin-bottom: -6px; + } + + #map-image.zoomed { + image-rendering: pixelated; + } + + #map-image-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + + .standalone-icon-on-map { + background-color: var(--map-card-internal-secondary-color); + color: var(--map-card-internal-secondary-text-color); + border-radius: var(--map-card-internal-small-radius); + margin: 5px; + width: 36px; + height: 36px; + display: flex; + justify-content: center; + align-items: center; + } + + .map-zoom-icons { + right: 0; + bottom: 0; + position: absolute; + display: inline-flex; + background-color: var(--map-card-internal-secondary-color); + color: var(--map-card-internal-secondary-text-color); + border-radius: var(--map-card-internal-small-radius); + margin: 5px; + direction: ltr; + } + + .map-zoom-icons-main { + display: inline-flex; + border-radius: var(--map-card-internal-small-radius); + background-color: var(--map-card-internal-primary-color); + color: var(--map-card-internal-primary-text-color); + } + + .icon-on-map { + touch-action: auto; + pointer-events: auto; + height: 36px; + width: 36px; + display: flex; + justify-content: center; + align-items: center; + } + + .controls-wrapper { + margin: 15px; + display: flex; + flex-direction: column; + gap: 10px; + } + + .map-controls { + width: 100%; + display: inline-flex; + gap: 10px; + place-content: space-between; + flex-wrap: wrap; + } + + .map-actions-list { + border-radius: var(--map-card-internal-big-radius); + overflow: hidden; + background-color: var(--map-card-internal-secondary-color); + color: var(--map-card-internal-secondary-text-color); + margin-inline-start: auto; + display: inline-flex; + height: min-content; + } + + .map-actions-item.main { + border-radius: var(--map-card-internal-big-radius); + background-color: var(--map-card-internal-primary-color); + color: var(--map-card-internal-primary-text-color); + } + + .map-actions-item { + width: 50px; + height: 50px; + display: flex; + justify-content: center; + align-items: center; + background-color: transparent; + } + + .ripple { + position: relative; + overflow: hidden; + transform: translate3d(0, 0, 0); + } + + .ripple:after { + content: ""; + display: block; + position: absolute; + border-radius: 50%; + width: 100%; + height: 100%; + top: 0; + left: 0; + pointer-events: none; + background-image: radial-gradient(circle, var(--map-card-internal-ripple-color) 2%, transparent 10.01%); + background-repeat: no-repeat; + background-position: 50%; + transform: scale(10, 10); + opacity: 0; + transition: transform 0.5s, opacity 1s; + } + + .ripple:active:after { + transform: scale(0, 0); + opacity: 0.7; + transition: 0s; + } + + ${wc.styles} + ${Ll.styles} + ${Dl.styles} + ${Xl.styles} + ${Hl.styles} + ${Ul.styles} + ${Kl.styles} + ${Gl.styles} + ${Ec.styles} + ${bc.styles} + ${hc.styles} + ${dl.styles} + `}};e([me()],Oc.prototype,"oldConfig",void 0),e([me()],Oc.prototype,"config",void 0),e([me()],Oc.prototype,"presetIndex",void 0),e([me()],Oc.prototype,"realScale",void 0),e([me()],Oc.prototype,"realImageWidth",void 0),e([me()],Oc.prototype,"realImageHeight",void 0),e([me()],Oc.prototype,"mapScale",void 0),e([me()],Oc.prototype,"mapX",void 0),e([me()],Oc.prototype,"mapY",void 0),e([me()],Oc.prototype,"repeats",void 0),e([me()],Oc.prototype,"selectedMode",void 0),e([me()],Oc.prototype,"mapLocked",void 0),e([me()],Oc.prototype,"configErrors",void 0),e([me()],Oc.prototype,"connected",void 0),e([me()],Oc.prototype,"internalVariables",void 0),e([_e(".modes-dropdown-menu")],Oc.prototype,"_modesDropdownMenu",void 0),e([function(e){return pe({descriptor:t=>({get(){var t,i;return null!==(i=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelectorAll(e))&&void 0!==i?i:[]},enumerable:!0,configurable:!0})})}(".icon-dropdown-menu")],Oc.prototype,"_iconDropdownMenus",void 0),e([ue({attribute:!1})],Oc.prototype,"_hass",void 0),Oc=zc=e([le(Ps)],Oc);export{Oc as XiaomiVacuumMapCard}; diff --git a/config/www/community/lovelace-xiaomi-vacuum-map-card/xiaomi-vacuum-map-card.js.gz b/config/www/community/lovelace-xiaomi-vacuum-map-card/xiaomi-vacuum-map-card.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..934841c51c88d31035e66dbe16e62c8e402a2f30 GIT binary patch literal 95312 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%0DxmD=>06h+3yX9F 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 literal 0 HcmV?d00001