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.isEqualNode(r)&&i=0;s--)(n=e[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,iVBORw0KGgoAAAANSUhEUgAAAUAAAADwCAYAAABxLb1rAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5QsWDwwxfsgRyAAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAtkSURBVHja7d19zCVXXQfw725368JuC7JtUWKXKiLUF7aQVhRYSUEUGiGAaEUJEkBAMWZVasQivlQrxVZAFgIiiYCgIWDiGxZECoKKS60FxQCW1yLU0hcXWlraZdc/znmSeWbvs8+duTNz99l+PslNdp699/zuzD33d+ecOedMAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAoNh2n+3VWkicneWiSByT5xiTbk3w1yS1Jbkjy8fr41yT/mOTAgjHvmeRRSR6T5CFJTq2PE5P8X5Lrk/xHkquSvCPJfy3wme1O8tga7/QkpyXZkeTGGue/k1xeH/+jmh+zpqozzJk0Dh/lcTDJbUm+lOQTSd6T5DVJnpXkm3rGfPY6MZuPq+co7+FJ9ncoc+Xx9SQfSPL8JCd13IddSV6d5PaOMT+e5NeS3KtDrPPql2HeGIeSvCXJ/QaqC9cm2dahnFNar9+7QWL2ebxoSXXm8MiPbRMfr2XkoYV37lCSf07yY0k2LyEBbkpySX0fi34wP9jh/e9N8rUF492a5IJ14uxI8lcLxLgzyS8PVBcuWEIyuuA4SoBD15m7WgIcNA9tzjA2Jfn+JG9N8uEkD5747PVVSX6l1aR/b5JnJjkzycm1WfHNSb6nNo9fkeTfe8bbmuRNSV5Wy11xXZLLahK9b5K71eb3mfXsbV+Sz7bKunuSRx4l1r1rE/3xrb/vr0ntrNoE/oYk35JkT/0xaDZ9tyS5NMkfDfCZv7A23aa0jJhDm7LO3JW79HrnoXbm3df6/xNqIrlPDfL0JH9SP8B2Jv5akqf12IG3tcqZ55T2ia3X3JLkRzvEvF+S3699gPOeAf7hjF+ei2o/4zwf0uOT/Gfj9X9zlB+oK1qxbkjy1Dni3D3JS2acFV/Yoy78bWv7JROcjS0j5r4Rv5xT1Zm1fKbx2usGaiWOcbyWlof67tzWJM9I8skZH/DTJ0iA7T6/J/U88KfV/rL1EuBTZxzkH+8Rb0uSX6/N07Uq84tasf63nsF28TOtJHiw9pV2qQvnt758X60VcMxktIyYYyXAKevM8Z4AR8tDi+7c9iRvbJVxe5KzR0yA92k9f+yrZNuSfLHDF2we5yZ5w4y/n1o7e5sf5Lk9Y1zaes//1LEuPCXJE1p/e93IyWgZMfdt8DpzV06AC+ehoXbuda1yPlx/ucZIgA9rPf9tIyfAn2/FuyLjDSX6zVas1y9Q1t2SfLpV3vd1TEZJuVLePJN84MgJcOqY+zZ4nZEAO+ahzSPswM/VpsuKByX5qZE+1C0zmrFj+oXW9iX14A5tU5Lntf522QLl3ZYy7KLpeT3K+dVWX8zvTvDFXUbMjVhn6JGHxkiAd+bIYQu/ONJOtgf5Prg2Hcdw3yT3b2x/Ksk7R4p1ZsrV3xX7B2jev6E2o5vNqK4+kOSvG9srg83HtIyYG7HO0CMPbR4p+DtTOiNX7E73wbjz+GQrCe5I8tqUISFDayeMK0b8Jd/T2n7/AGVenzKQdsWu+ujqha1EeskElXkZMTdanaFHHhorAR5OmbrT9OiRYrWbdk9K8rEkL0iZBjeUs2ecmYylPX7pyoHK/dA6cebx0ZRO5hWPTPK4kSvyMmJutDpDjzy0ecTgV7W2v2ukOH8wI9YZKWP7PpYybu7dKQNQn1Ur5bYecdpN60+PeOxOaW1/dqByP7dOnHm9OGUox4rfG7kuTRXz+Rl2ZsOUdWYZhj5ek+ehMStt+8PeNVKc25P88FF+XXfWrL83yR/Xs6Avp/SrXZwyCX0eO1vbN4947Nrzgw8MVO6BdeLM69qsvjq3O8lPjlyRlxFzUVPWGXrkoTET4Jdb2yeNGOuG2ix6TpJr5nj+1iTnpPQt/VtNnues85p7rrN/Q2ofq1sHKveW1vbJC5R1cSuhXpTVU7zGsIyYi5iyztAjD42ZAKce63QoZezPd6RcRLgoZaWIL83x2ocn+WDKmK213DlhQm8nqu0DlbtjwC/kTVl9MeKMJD878mc8dsxX1Xrb5/E7S64zyzD08Zo8D42ZAIf8snVxuJ7Rvbg2fU9LWQThh1LGlL01ZTjCrGPxyhy56MBa73/nyF/0pnsMVG67nBsXLO/lSb7Q2L5wgi/5MmIOdfaxM0ztqHlozAR4xjpt8Sldl+Tv69nD+SmXwnenrI7SHpbw0jV+NdoXEE4fuUm/Zr/FAk5fJ05XtyX5rcb2qem2dNVGidnXlHWGHnlozAR4Vmv76mPswHwkyXNz5OjwB2b2dKv2QOQfGPG9tY/V2QOV2+7nvGqAMl+f1eMLfymrB3GPYRkx+5iyztAjD42ZAB/b+PehJO86Rg/QnyX5l9bfvnvG89rPefSI76k98HnPAGXubCX2TyX5/ADlfj2rl9janrJiyZiWEbOPKesMPfLQWAlwT8p0rhXvTVnK6Vj1kXX6DZIybOb6xva3pixYOYaPZvXFm4cm+c4Fy3xG6/N+z4Dv9+0p91ZZ8ZyMM/Nn2TG7mrLO0CMPjZEAT0gZhNx06TF+oO5obX9xxnMOpUyza7ow41ztPpzSP5lWM6+vbSmTw5teO/B7bi5asDXTXOVbRswupqwz9MhDYyTAl2b1ZPV3J/m7kXZyb8rV3kX3o7k01MGs3Tf2siRfaWw/LN3utTHLuSkr2rbty+qZD89MuYNYHxcl+bbG9vsy3PS65q9r83M+P+PfGmEZMbuass7QMQ8NmQBPTBlG0jxTOZB+yy7Na0vKFcF/WKD588SsvjhweavZ0nRzyhSspouT/ESPuJtrAn9XZk9Juy6rx7xtSvLnKVevu3h26zM52DpzGlJz0YJNM47V8RKziynrDAvkoUUWInxySr9V8/V3pPuE9a4Lor4gqxfL/NN0m3P8tJSl1pvveb2+tk058g5th+rp9rzj9R6XskDjevd3OCHlhkjNWDfX971eM2p7yn002nMw50l+ay1OOo83Ze35n3uP8ZhjLYk/ZZ1Zy2dy/C+IulAemudmJCfVpHRObW68MkeuNLxy274f6bHziyTA5uNDKSsqPyblTmkn1j6ieyX53vqluHJGhXzunO/z5JTb77Xj3pgyUPe8lLF722oFf0DKQOzLUm5a3n7d0SrzvTP7XsBX1l+53fVsYGvKLQIeUc84Pj/jNa+Zs/9pkWR0Rta+7ePeYzzmmDdFmrLOHM8JcLQ8NNQ9P/dn/WXLm82zRe4L/NMpQyIWfc9fqWV1PdV+9QCxb8r607m2J/nLBWIcTLltaN+68JSOx+blEyfAoWKOfV/gKevMFAnwWLsvcN88NEjgD9b+tK79U4veGH1X7Qf8RI/3fEeSN2exmRZ7UtYc6xr76pS5xzs6xDov5V7GXeL8RVYPBZgiAZ6SMuVoygQ4RMwpbow+dZ25qyXATnloS4edP5wyufvW2g/1hXpqvr+ejg8xqLaPzyX5jfr49pSlsR5Uv/S76unySbWJe6A2Oa6uzZG3Z/aQly7eXx/3Txno+oiUW1furE3urfWYXVv7cN6XsjLwNT1ivSPlStZDUgZ4nlub+KfVL8VNKeMHr0mZ+nd5Zs97HtsNtX/rt4/zmBuhzhxvjtU8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASf4fJ6JYBxmOptUAAAAASUVORK5CYII=",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 00000000..934841c5 Binary files /dev/null and b/config/www/community/lovelace-xiaomi-vacuum-map-card/xiaomi-vacuum-map-card.js.gz differ