From 9d201a6305b559be949929cc38249f65f891385e Mon Sep 17 00:00:00 2001 From: Andrew Neisch Date: Thu, 14 Dec 2023 23:30:14 -0600 Subject: [PATCH] Changes --- README.md | 16 +++---- binary_sensor.yaml | 34 +++++++------- extras/appdaemon/apps/apps.yaml | 2 +- extras/esphome/midnight_reboot.yaml | 7 +-- extras/esphome/mom_and_dad_garage.yaml | 22 ++++----- extras/esphome/mom_and_dad_gate.yaml | 20 +++++---- packages/blinds.yaml | 13 +++--- packages/leak_detection.yaml | 2 +- scripts.yaml | 5 ++- ui-lovelace/03-common.yaml | 2 +- .../mini-media-player-bundle.js | 42 +++++++++--------- .../mini-media-player-bundle.js.gz | Bin 36819 -> 36964 bytes 12 files changed, 85 insertions(+), 80 deletions(-) diff --git a/README.md b/README.md index 8c2c8dd2..0bdd297b 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Build Status](https://github.com/aneisch/home-assistant-config/actions/workflows/check-ha-release-compatibility.yml/badge.svg)](https://github.com/aneisch/home-assistant-config/actions) [![GitHub last commit](https://img.shields.io/github/last-commit/aneisch/home-assistant-config)](https://github.com/aneisch/home-assistant-config/commits/master) [![GitHub commit activity](https://img.shields.io/github/commit-activity/y/aneisch/home-assistant-config)](https://github.com/aneisch/home-assistant-config/graphs/commit-activity) -[![HA Version](https://img.shields.io/badge/Running%20Home%20Assistant-2023.12.0%20(Latest)-brightgreen)](https://github.com/home-assistant/home-assistant/releases/latest) +[![HA Version](https://img.shields.io/badge/Running%20Home%20Assistant-2023.12.3%20(Latest)-brightgreen)](https://github.com/home-assistant/home-assistant/releases/latest)
Buy Me A Coffee @@ -55,7 +55,7 @@ Also using Grafana/Influx for graphing, both running in Docker containers on NUC ## Some statistics about my installation: Description | value -- | -- -Lines of ESPHome YAML | 2774 +Lines of ESPHome YAML | 2776 Lines of Home Assistant YAML | 8452 [Integrations](https://www.home-assistant.io/integrations/) in use | 52 Zigbee devices in [`zha`](https://www.home-assistant.io/integrations/zha/) | 26 @@ -65,12 +65,12 @@ Description | value -- | -- Entities in the [`alarm_control_panel`](https://www.home-assistant.io/components/alarm_control_panel) domain | 1 Entities in the [`automation`](https://www.home-assistant.io/components/automation) domain | 114 -Entities in the [`binary_sensor`](https://www.home-assistant.io/components/binary_sensor) domain | 137 -Entities in the [`button`](https://www.home-assistant.io/components/button) domain | 13 +Entities in the [`binary_sensor`](https://www.home-assistant.io/components/binary_sensor) domain | 138 +Entities in the [`button`](https://www.home-assistant.io/components/button) domain | 14 Entities in the [`camera`](https://www.home-assistant.io/components/camera) domain | 18 Entities in the [`climate`](https://www.home-assistant.io/components/climate) domain | 1 Entities in the [`counter`](https://www.home-assistant.io/components/counter) domain | 1 -Entities in the [`cover`](https://www.home-assistant.io/components/cover) domain | 13 +Entities in the [`cover`](https://www.home-assistant.io/components/cover) domain | 14 Entities in the [`device_tracker`](https://www.home-assistant.io/components/device_tracker) domain | 4 Entities in the [`event`](https://www.home-assistant.io/components/event) domain | 50 Entities in the [`fan`](https://www.home-assistant.io/components/fan) domain | 3 @@ -90,17 +90,17 @@ Entities in the [`remote`](https://www.home-assistant.io/components/remote) doma Entities in the [`scene`](https://www.home-assistant.io/components/scene) domain | 2 Entities in the [`script`](https://www.home-assistant.io/components/script) domain | 42 Entities in the [`select`](https://www.home-assistant.io/components/select) domain | 3 -Entities in the [`sensor`](https://www.home-assistant.io/components/sensor) domain | 392 +Entities in the [`sensor`](https://www.home-assistant.io/components/sensor) domain | 394 Entities in the [`siren`](https://www.home-assistant.io/components/siren) domain | 1 Entities in the [`sun`](https://www.home-assistant.io/components/sun) domain | 1 -Entities in the [`switch`](https://www.home-assistant.io/components/switch) domain | 162 +Entities in the [`switch`](https://www.home-assistant.io/components/switch) domain | 163 Entities in the [`timer`](https://www.home-assistant.io/components/timer) domain | 2 Entities in the [`tts`](https://www.home-assistant.io/components/tts) domain | 1 Entities in the [`update`](https://www.home-assistant.io/components/update) domain | 3 Entities in the [`vacuum`](https://www.home-assistant.io/components/vacuum) domain | 1 Entities in the [`weather`](https://www.home-assistant.io/components/weather) domain | 2 Entities in the [`zone`](https://www.home-assistant.io/components/zone) domain | 6 -**Total state objects** | **1154** +**Total state objects** | **1160** ## The HACS integrations/plugins that I use: **Appdaemon**:
[aneisch/follow_me_appdaemon](https://github.com/aneisch/follow_me_appdaemon)
diff --git a/binary_sensor.yaml b/binary_sensor.yaml index 16ec90ac..4fbea3c0 100644 --- a/binary_sensor.yaml +++ b/binary_sensor.yaml @@ -1,28 +1,28 @@ -- platform: ping - name: Thermostat Online - host: 10.0.0.29 - count: 2 +# - platform: ping +# name: Thermostat Online +# host: 10.0.0.29 +# count: 2 -- platform: ping - name: Andrew Work Laptop - host: 10.0.1.27 - count: 2 +# - platform: ping +# name: Andrew Work Laptop +# host: 10.0.1.27 +# count: 2 -- platform: ping - name: Andrew Work Test Laptop - host: 10.0.1.100 - count: 2 +# - platform: ping +# name: Andrew Work Test Laptop +# host: 10.0.1.100 +# count: 2 # - platform: ping # name: Kurt Tunnel # host: 192.168.88.1 # count: 2 -- platform: ping - name: internet_reachability - host: 1.1.1.1 - count: 3 - scan_interval: 10 +# - platform: ping +# name: internet_reachability +# host: 1.1.1.1 +# count: 3 +# scan_interval: 10 - platform: template sensors: diff --git a/extras/appdaemon/apps/apps.yaml b/extras/appdaemon/apps/apps.yaml index 77cb158a..4a20c61b 100644 --- a/extras/appdaemon/apps/apps.yaml +++ b/extras/appdaemon/apps/apps.yaml @@ -198,7 +198,7 @@ Front House Christmas Trees Timer: class: Timer entities: switch.dining_room_christmas_tree,switch.office_christmas_tree time_on: sunset - 00:20:00 - time_off: '23:30:00' + time_off: '23:00:00' ############ # Aquarium # diff --git a/extras/esphome/midnight_reboot.yaml b/extras/esphome/midnight_reboot.yaml index 67663e4a..788f5646 100644 --- a/extras/esphome/midnight_reboot.yaml +++ b/extras/esphome/midnight_reboot.yaml @@ -1,7 +1,8 @@ time: - - platform: homeassistant - id: homeassistant_time + - platform: sntp + id: sntp_time + timezone: America/Chicago on_time: - cron: '00 05 * * * *' then: - - switch.toggle: restart_device + - switch.toggle: reboot diff --git a/extras/esphome/mom_and_dad_garage.yaml b/extras/esphome/mom_and_dad_garage.yaml index 773f06ef..d905ff7e 100644 --- a/extras/esphome/mom_and_dad_garage.yaml +++ b/extras/esphome/mom_and_dad_garage.yaml @@ -2,11 +2,14 @@ esphome: name: mom_and_dad_garage platform: ESP8266 board: d1_mini_pro - platformio_options: - platform: espressif8266@2.6.3 - platform_packages: - - platformio/toolchain-xtensa@2.40802.200502 - - platformio/framework-arduinoespressif8266@3.20704.0 + # platformio_options: + # platform: espressif8266@2.6.3 + # platform_packages: + # - platformio/toolchain-xtensa@2.40802.200502 + # - platformio/framework-arduinoespressif8266@3.20704.0 + +<<: !include midnight_reboot.yaml + web_server: port: 80 @@ -65,8 +68,7 @@ switch: inverted: False - platform: restart - id: restart_switch - #name: "Mom and Dad Garage Reboot" + id: reboot - platform: template id: garage @@ -78,9 +80,9 @@ switch: mqtt: broker: MQTT_BROKER - port: 8883 - ssl_fingerprints: - - 3f3077cf1c6becb8fa6dbc497ac6d9dc2a51bd42 + port: 1883 + # ssl_fingerprints: + # - 3f3077cf1c6becb8fa6dbc497ac6d9dc2a51bd42 username: owntracks password: totallyowned log_topic: diff --git a/extras/esphome/mom_and_dad_gate.yaml b/extras/esphome/mom_and_dad_gate.yaml index 0655268b..8a5ae322 100644 --- a/extras/esphome/mom_and_dad_gate.yaml +++ b/extras/esphome/mom_and_dad_gate.yaml @@ -2,11 +2,13 @@ esphome: name: mom_and_dad_gate platform: ESP8266 board: d1_mini - platformio_options: - platform: espressif8266@2.6.3 - platform_packages: - - platformio/toolchain-xtensa - - platformio/framework-arduinoespressif8266 + # platformio_options: + # platform: espressif8266@2.6.3 + # platform_packages: + # - platformio/toolchain-xtensa + # - platformio/framework-arduinoespressif8266 + +<<: !include midnight_reboot.yaml web_server: port: 80 @@ -61,9 +63,9 @@ ota: mqtt: broker: MQTT_BROKER - port: 8883 - ssl_fingerprints: - - 3f3077cf1c6becb8fa6dbc497ac6d9dc2a51bd42 + port: 1883 + # ssl_fingerprints: + # - 3f3077cf1c6becb8fa6dbc497ac6d9dc2a51bd42 username: owntracks password: totallyowned log_topic: @@ -159,7 +161,7 @@ binary_sensor: switch: - platform: restart - id: Reboot + id: reboot # Actual GPIO output - platform: gpio diff --git a/packages/blinds.yaml b/packages/blinds.yaml index 58a90de6..929ae142 100644 --- a/packages/blinds.yaml +++ b/packages/blinds.yaml @@ -200,14 +200,13 @@ automation: entity_id: - cover.office_blinds - cover.dining_room_blinds - ## Only automate office auto-open for now # Only open blinds if guest mode is OFF - # - if: "{{ states('input_boolean.guest_mode') == 'off' }}" - # then: - # - service: cover.open_cover - # target: - # entity_id: - # - cover.guest_bedroom_blinds + - if: "{{ states('input_boolean.guest_mode') == 'off' }}" + then: + - service: cover.open_cover + target: + entity_id: + - cover.guest_bedroom_blinds # Prevent stuck "opening" or "closing" # - repeat: # count: "13" diff --git a/packages/leak_detection.yaml b/packages/leak_detection.yaml index 21440b10..6afb9601 100644 --- a/packages/leak_detection.yaml +++ b/packages/leak_detection.yaml @@ -88,7 +88,7 @@ automation: - binary_sensor.back_bathroom_toilet_water_detector - binary_sensor.kitchen_sink_water_detector - binary_sensor.master_bathroom_water_detector - - binary_sensor.water_shutoff_water_leak_detected + - binary_sensor.water_shutoff_water_detector to: "on" - platform: state id: esphome diff --git a/scripts.yaml b/scripts.yaml index ca766486..059ce0f6 100644 --- a/scripts.yaml +++ b/scripts.yaml @@ -173,6 +173,8 @@ notify_wrapper: - service: notify.signal_self data: message: "{{ message }}" + data: + priority: 0 else: # If no internet: send via cellular - if: '{{ "priority" in data }}' @@ -182,8 +184,7 @@ notify_wrapper: message: "{{ message }}" data: priority: "{{ data.priority }}" # passing priority to the notify_wrapper script is optional - # 1 results in a notification that overrides DnD - # 2 results in an emergency level notification (requires ack) + # https://pushover.net/api#priority else: - service: notify.cellular_message data: diff --git a/ui-lovelace/03-common.yaml b/ui-lovelace/03-common.yaml index b4c1fdc9..51634a23 100644 --- a/ui-lovelace/03-common.yaml +++ b/ui-lovelace/03-common.yaml @@ -19,7 +19,7 @@ cards: - switch.living_room_ceiling_fan_light - fan.living_room_ceiling_fan #- switch.ir_candles - - switch.upright_fan + #- switch.upright_fan - type: vertical-stack cards: diff --git a/www/community/mini-media-player/mini-media-player-bundle.js b/www/community/mini-media-player/mini-media-player-bundle.js index 9166b398..ce980263 100644 --- a/www/community/mini-media-player/mini-media-player-bundle.js +++ b/www/community/mini-media-player/mini-media-player-bundle.js @@ -92,7 +92,7 @@ class y{constructor(t,e,i){this.__parts=[],this.template=t,this.processor=e,this * Code distributed by Google as part of the polymer project is also * subject to an additional IP rights grant found at * http://polymer.github.io/PATENTS.txt - */;function N(t){let e=j.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},j.set(t.type,e));let i=e.stringsArray.get(t.strings);if(void 0!==i)return i;const o=t.strings.join(r);return i=e.keyString.get(o),void 0===i&&(i=new s(t,t.getTemplateElement()),e.keyString.set(o,i)),e.stringsArray.set(t.strings,i),i}const j=new Map,L=new WeakMap; + */;function N(t){let e=L.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},L.set(t.type,e));let i=e.stringsArray.get(t.strings);if(void 0!==i)return i;const o=t.strings.join(r);return i=e.keyString.get(o),void 0===i&&(i=new s(t,t.getTemplateElement()),e.keyString.set(o,i)),e.stringsArray.set(t.strings,i),i}const L=new Map,j=new WeakMap; /** * @license * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. @@ -145,7 +145,7 @@ class{handleAttributeExpressions(t,e,i,r){const o=e[0];if("."===o){return new M( * Code distributed by Google as part of the polymer project is also * subject to an additional IP rights grant found at * http://polymer.github.io/PATENTS.txt - */,R=(t,e)=>`${t}--${e}`;let z=!0;void 0===window.ShadyCSS?z=!1:void 0===window.ShadyCSS.prepareTemplateDom&&(console.warn("Incompatible ShadyCSS version detected. Please update to at least @webcomponents/webcomponentsjs@2.0.2 and @webcomponents/shadycss@1.3.1."),z=!1);const U=t=>e=>{const i=R(e.type,t);let o=j.get(i);void 0===o&&(o={stringsArray:new WeakMap,keyString:new Map},j.set(i,o));let n=o.stringsArray.get(e.strings);if(void 0!==n)return n;const a=e.strings.join(r);if(n=o.keyString.get(a),void 0===n){const i=e.getTemplateElement();z&&window.ShadyCSS.prepareTemplateDom(i,t),n=new s(e,i),o.keyString.set(a,n)}return o.stringsArray.set(e.strings,n),n},q=["html","svg"],B=new Set,F=(t,e,i)=>{B.add(t);const r=i?i.element:document.createElement("template"),o=e.querySelectorAll("style"),{length:n}=o;if(0===n)return void window.ShadyCSS.prepareTemplateStyles(r,t);const s=document.createElement("style");for(let t=0;t{q.forEach((e=>{const i=j.get(R(e,t));void 0!==i&&i.keyString.forEach((t=>{const{element:{content:e}}=t,i=new Set;Array.from(e.querySelectorAll("style")).forEach((t=>{i.add(t)})),u(t,i)}))}))})(t);const a=r.content;i?function(t,e,i=null){const{element:{content:r},parts:o}=t;if(null==i)return void r.appendChild(e);const n=document.createTreeWalker(r,133,null,!1);let s=d(o),a=0,l=-1;for(;n.nextNode();)for(l++,n.currentNode===i&&(a=p(e),i.parentNode.insertBefore(e,i));-1!==s&&o[s].index===l;){if(a>0){for(;-1!==s;)o[s].index+=a,s=d(o,s);return}s=d(o,s)}}(i,s,a.firstChild):a.insertBefore(s,a.firstChild),window.ShadyCSS.prepareTemplateStyles(r,t);const l=a.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==l)e.insertBefore(l.cloneNode(!0),e.firstChild);else if(i){a.insertBefore(s,a.firstChild);const t=new Set;t.add(s),u(i,t)}};window.JSCompiler_renameProperty=(t,e)=>t;const G={toAttribute(t,e){switch(e){case Boolean:return t?"":null;case Object:case Array:return null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){switch(e){case Boolean:return null!==t;case Number:return null===t?null:Number(t);case Object:case Array:return JSON.parse(t)}return t}},H=(t,e)=>e!==t&&(e==e||t==t),W={attribute:!0,type:String,converter:G,reflect:!1,hasChanged:H};class X extends HTMLElement{constructor(){super(),this.initialize()}static get observedAttributes(){this.finalize();const t=[];return this._classProperties.forEach(((e,i)=>{const r=this._attributeNameForProperty(i,e);void 0!==r&&(this._attributeToPropertyMap.set(r,i),t.push(r))})),t}static _ensureClassProperties(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;const t=Object.getPrototypeOf(this)._classProperties;void 0!==t&&t.forEach(((t,e)=>this._classProperties.set(e,t)))}}static createProperty(t,e=W){if(this._ensureClassProperties(),this._classProperties.set(t,e),e.noAccessor||this.prototype.hasOwnProperty(t))return;const i="symbol"==typeof t?Symbol():`__${t}`,r=this.getPropertyDescriptor(t,i,e);void 0!==r&&Object.defineProperty(this.prototype,t,r)}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(r){const o=this[t];this[e]=r,this.requestUpdateInternal(t,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this._classProperties&&this._classProperties.get(t)||W}static finalize(){const t=Object.getPrototypeOf(this);if(t.hasOwnProperty("finalized")||t.finalize(),this.finalized=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){const t=this.properties,e=[...Object.getOwnPropertyNames(t),..."function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t):[]];for(const i of e)this.createProperty(i,t[i])}}static _attributeNameForProperty(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}static _valueHasChanged(t,e,i=H){return i(t,e)}static _propertyValueFromAttribute(t,e){const i=e.type,r=e.converter||G,o="function"==typeof r?r:r.fromAttribute;return o?o(t,i):t}static _propertyValueToAttribute(t,e){if(void 0===e.reflect)return;const i=e.type,r=e.converter;return(r&&r.toAttribute||G.toAttribute)(t,i)}initialize(){this._updateState=0,this._updatePromise=new Promise((t=>this._enableUpdatingResolver=t)),this._changedProperties=new Map,this._saveInstanceProperties(),this.requestUpdateInternal()}_saveInstanceProperties(){this.constructor._classProperties.forEach(((t,e)=>{if(this.hasOwnProperty(e)){const t=this[e];delete this[e],this._instanceProperties||(this._instanceProperties=new Map),this._instanceProperties.set(e,t)}}))}_applyInstanceProperties(){this._instanceProperties.forEach(((t,e)=>this[e]=t)),this._instanceProperties=void 0}connectedCallback(){this.enableUpdating()}enableUpdating(){void 0!==this._enableUpdatingResolver&&(this._enableUpdatingResolver(),this._enableUpdatingResolver=void 0)}disconnectedCallback(){}attributeChangedCallback(t,e,i){e!==i&&this._attributeToProperty(t,i)}_propertyToAttribute(t,e,i=W){const r=this.constructor,o=r._attributeNameForProperty(t,i);if(void 0!==o){const t=r._propertyValueToAttribute(e,i);if(void 0===t)return;this._updateState=8|this._updateState,null==t?this.removeAttribute(o):this.setAttribute(o,t),this._updateState=-9&this._updateState}}_attributeToProperty(t,e){if(8&this._updateState)return;const i=this.constructor,r=i._attributeToPropertyMap.get(t);if(void 0!==r){const t=i.getPropertyOptions(r);this._updateState=16|this._updateState,this[r]=i._propertyValueFromAttribute(e,t),this._updateState=-17&this._updateState}}requestUpdateInternal(t,e,i){let r=!0;if(void 0!==t){const o=this.constructor;i=i||o.getPropertyOptions(t),o._valueHasChanged(this[t],e,i.hasChanged)?(this._changedProperties.has(t)||this._changedProperties.set(t,e),!0!==i.reflect||16&this._updateState||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(t,i))):r=!1}!this._hasRequestedUpdate&&r&&(this._updatePromise=this._enqueueUpdate())}requestUpdate(t,e){return this.requestUpdateInternal(t,e),this.updateComplete}async _enqueueUpdate(){this._updateState=4|this._updateState;try{await this._updatePromise}catch(t){}const t=this.performUpdate();return null!=t&&await t,!this._hasRequestedUpdate}get _hasRequestedUpdate(){return 4&this._updateState}get hasUpdated(){return 1&this._updateState}performUpdate(){if(!this._hasRequestedUpdate)return;this._instanceProperties&&this._applyInstanceProperties();let t=!1;const e=this._changedProperties;try{t=this.shouldUpdate(e),t?this.update(e):this._markUpdated()}catch(e){throw t=!1,this._markUpdated(),e}t&&(1&this._updateState||(this._updateState=1|this._updateState,this.firstUpdated(e)),this.updated(e))}_markUpdated(){this._changedProperties=new Map,this._updateState=-5&this._updateState}get updateComplete(){return this._getUpdateComplete()}_getUpdateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._updatePromise}shouldUpdate(t){return!0}update(t){void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach(((t,e)=>this._propertyToAttribute(e,this[e],t))),this._reflectingProperties=void 0),this._markUpdated()}updated(t){}firstUpdated(t){}}X.finalized=!0; + */,R=(t,e)=>`${t}--${e}`;let z=!0;void 0===window.ShadyCSS?z=!1:void 0===window.ShadyCSS.prepareTemplateDom&&(console.warn("Incompatible ShadyCSS version detected. Please update to at least @webcomponents/webcomponentsjs@2.0.2 and @webcomponents/shadycss@1.3.1."),z=!1);const U=t=>e=>{const i=R(e.type,t);let o=L.get(i);void 0===o&&(o={stringsArray:new WeakMap,keyString:new Map},L.set(i,o));let n=o.stringsArray.get(e.strings);if(void 0!==n)return n;const a=e.strings.join(r);if(n=o.keyString.get(a),void 0===n){const i=e.getTemplateElement();z&&window.ShadyCSS.prepareTemplateDom(i,t),n=new s(e,i),o.keyString.set(a,n)}return o.stringsArray.set(e.strings,n),n},q=["html","svg"],B=new Set,F=(t,e,i)=>{B.add(t);const r=i?i.element:document.createElement("template"),o=e.querySelectorAll("style"),{length:n}=o;if(0===n)return void window.ShadyCSS.prepareTemplateStyles(r,t);const s=document.createElement("style");for(let t=0;t{q.forEach((e=>{const i=L.get(R(e,t));void 0!==i&&i.keyString.forEach((t=>{const{element:{content:e}}=t,i=new Set;Array.from(e.querySelectorAll("style")).forEach((t=>{i.add(t)})),u(t,i)}))}))})(t);const a=r.content;i?function(t,e,i=null){const{element:{content:r},parts:o}=t;if(null==i)return void r.appendChild(e);const n=document.createTreeWalker(r,133,null,!1);let s=d(o),a=0,l=-1;for(;n.nextNode();)for(l++,n.currentNode===i&&(a=p(e),i.parentNode.insertBefore(e,i));-1!==s&&o[s].index===l;){if(a>0){for(;-1!==s;)o[s].index+=a,s=d(o,s);return}s=d(o,s)}}(i,s,a.firstChild):a.insertBefore(s,a.firstChild),window.ShadyCSS.prepareTemplateStyles(r,t);const l=a.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==l)e.insertBefore(l.cloneNode(!0),e.firstChild);else if(i){a.insertBefore(s,a.firstChild);const t=new Set;t.add(s),u(i,t)}};window.JSCompiler_renameProperty=(t,e)=>t;const G={toAttribute(t,e){switch(e){case Boolean:return t?"":null;case Object:case Array:return null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){switch(e){case Boolean:return null!==t;case Number:return null===t?null:Number(t);case Object:case Array:return JSON.parse(t)}return t}},H=(t,e)=>e!==t&&(e==e||t==t),W={attribute:!0,type:String,converter:G,reflect:!1,hasChanged:H};class J extends HTMLElement{constructor(){super(),this.initialize()}static get observedAttributes(){this.finalize();const t=[];return this._classProperties.forEach(((e,i)=>{const r=this._attributeNameForProperty(i,e);void 0!==r&&(this._attributeToPropertyMap.set(r,i),t.push(r))})),t}static _ensureClassProperties(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;const t=Object.getPrototypeOf(this)._classProperties;void 0!==t&&t.forEach(((t,e)=>this._classProperties.set(e,t)))}}static createProperty(t,e=W){if(this._ensureClassProperties(),this._classProperties.set(t,e),e.noAccessor||this.prototype.hasOwnProperty(t))return;const i="symbol"==typeof t?Symbol():`__${t}`,r=this.getPropertyDescriptor(t,i,e);void 0!==r&&Object.defineProperty(this.prototype,t,r)}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(r){const o=this[t];this[e]=r,this.requestUpdateInternal(t,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this._classProperties&&this._classProperties.get(t)||W}static finalize(){const t=Object.getPrototypeOf(this);if(t.hasOwnProperty("finalized")||t.finalize(),this.finalized=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){const t=this.properties,e=[...Object.getOwnPropertyNames(t),..."function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t):[]];for(const i of e)this.createProperty(i,t[i])}}static _attributeNameForProperty(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}static _valueHasChanged(t,e,i=H){return i(t,e)}static _propertyValueFromAttribute(t,e){const i=e.type,r=e.converter||G,o="function"==typeof r?r:r.fromAttribute;return o?o(t,i):t}static _propertyValueToAttribute(t,e){if(void 0===e.reflect)return;const i=e.type,r=e.converter;return(r&&r.toAttribute||G.toAttribute)(t,i)}initialize(){this._updateState=0,this._updatePromise=new Promise((t=>this._enableUpdatingResolver=t)),this._changedProperties=new Map,this._saveInstanceProperties(),this.requestUpdateInternal()}_saveInstanceProperties(){this.constructor._classProperties.forEach(((t,e)=>{if(this.hasOwnProperty(e)){const t=this[e];delete this[e],this._instanceProperties||(this._instanceProperties=new Map),this._instanceProperties.set(e,t)}}))}_applyInstanceProperties(){this._instanceProperties.forEach(((t,e)=>this[e]=t)),this._instanceProperties=void 0}connectedCallback(){this.enableUpdating()}enableUpdating(){void 0!==this._enableUpdatingResolver&&(this._enableUpdatingResolver(),this._enableUpdatingResolver=void 0)}disconnectedCallback(){}attributeChangedCallback(t,e,i){e!==i&&this._attributeToProperty(t,i)}_propertyToAttribute(t,e,i=W){const r=this.constructor,o=r._attributeNameForProperty(t,i);if(void 0!==o){const t=r._propertyValueToAttribute(e,i);if(void 0===t)return;this._updateState=8|this._updateState,null==t?this.removeAttribute(o):this.setAttribute(o,t),this._updateState=-9&this._updateState}}_attributeToProperty(t,e){if(8&this._updateState)return;const i=this.constructor,r=i._attributeToPropertyMap.get(t);if(void 0!==r){const t=i.getPropertyOptions(r);this._updateState=16|this._updateState,this[r]=i._propertyValueFromAttribute(e,t),this._updateState=-17&this._updateState}}requestUpdateInternal(t,e,i){let r=!0;if(void 0!==t){const o=this.constructor;i=i||o.getPropertyOptions(t),o._valueHasChanged(this[t],e,i.hasChanged)?(this._changedProperties.has(t)||this._changedProperties.set(t,e),!0!==i.reflect||16&this._updateState||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(t,i))):r=!1}!this._hasRequestedUpdate&&r&&(this._updatePromise=this._enqueueUpdate())}requestUpdate(t,e){return this.requestUpdateInternal(t,e),this.updateComplete}async _enqueueUpdate(){this._updateState=4|this._updateState;try{await this._updatePromise}catch(t){}const t=this.performUpdate();return null!=t&&await t,!this._hasRequestedUpdate}get _hasRequestedUpdate(){return 4&this._updateState}get hasUpdated(){return 1&this._updateState}performUpdate(){if(!this._hasRequestedUpdate)return;this._instanceProperties&&this._applyInstanceProperties();let t=!1;const e=this._changedProperties;try{t=this.shouldUpdate(e),t?this.update(e):this._markUpdated()}catch(e){throw t=!1,this._markUpdated(),e}t&&(1&this._updateState||(this._updateState=1|this._updateState,this.firstUpdated(e)),this.updated(e))}_markUpdated(){this._changedProperties=new Map,this._updateState=-5&this._updateState}get updateComplete(){return this._getUpdateComplete()}_getUpdateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._updatePromise}shouldUpdate(t){return!0}update(t){void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach(((t,e)=>this._propertyToAttribute(e,this[e],t))),this._reflectingProperties=void 0),this._markUpdated()}updated(t){}firstUpdated(t){}}J.finalized=!0; /** * @license * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. @@ -159,7 +159,7 @@ class{handleAttributeExpressions(t,e,i,r){const o=e[0];if("."===o){return new M( * subject to an additional IP rights grant found at * http://polymer.github.io/PATENTS.txt */ -const J=t=>e=>"function"==typeof e?((t,e)=>(window.customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:i,elements:r}=e;return{kind:i,elements:r,finisher(e){window.customElements.define(t,e)}}})(t,e),Y=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?Object.assign(Object.assign({},e),{finisher(i){i.createProperty(e.key,t)}}):{kind:"field",key:Symbol(),placement:"own",descriptor:{},initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function Z(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):Y(t,e)}const K=t=>function(t){return Z({attribute:!1,hasChanged:null==t?void 0:t.hasChanged})}(t) +const X=t=>e=>"function"==typeof e?((t,e)=>(window.customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:i,elements:r}=e;return{kind:i,elements:r,finisher(e){window.customElements.define(t,e)}}})(t,e),Y=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?Object.assign(Object.assign({},e),{finisher(i){i.createProperty(e.key,t)}}):{kind:"field",key:Symbol(),placement:"own",descriptor:{},initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function Z(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):Y(t,e)}const K=t=>function(t){return Z({attribute:!1,hasChanged:null==t?void 0:t.hasChanged})}(t) /** @license Copyright (c) 2019 The Polymer Project Authors. All rights reserved. @@ -183,7 +183,7 @@ found at http://polymer.github.io/PATENTS.txt * subject to an additional IP rights grant found at * http://polymer.github.io/PATENTS.txt */ -(window.litElementVersions||(window.litElementVersions=[])).push("2.5.1");const rt={};class ot extends X{static getStyles(){return this.styles}static _getUniqueStyles(){if(this.hasOwnProperty(JSCompiler_renameProperty("_styles",this)))return;const t=this.getStyles();if(Array.isArray(t)){const e=(t,i)=>t.reduceRight(((t,i)=>Array.isArray(i)?e(i,t):(t.add(i),t)),i),i=e(t,new Set),r=[];i.forEach((t=>r.unshift(t))),this._styles=r}else this._styles=void 0===t?[]:[t];this._styles=this._styles.map((t=>{if(t instanceof CSSStyleSheet&&!Q){const e=Array.prototype.slice.call(t.cssRules).reduce(((t,e)=>t+e.cssText),"");return new et(String(e),tt)}return t}))}initialize(){super.initialize(),this.constructor._getUniqueStyles(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow(this.constructor.shadowRootOptions)}adoptStyles(){const t=this.constructor._styles;0!==t.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?Q?this.renderRoot.adoptedStyleSheets=t.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(t.map((t=>t.cssText)),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(t){const e=this.render();super.update(t),e!==rt&&this.constructor.render(e,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach((t=>{const e=document.createElement("style");e.textContent=t.cssText,this.renderRoot.appendChild(e)})))}render(){return rt}}ot.finalized=!0,ot.render=(t,e,r)=>{if(!r||"object"!=typeof r||!r.scopeName)throw new Error("The `scopeName` option is required.");const o=r.scopeName,n=L.has(e),s=z&&11===e.nodeType&&!!e.host,a=s&&!B.has(o),l=a?document.createDocumentFragment():e;if(((t,e,r)=>{let o=L.get(e);void 0===o&&(i(e,e.firstChild),L.set(e,o=new C(Object.assign({templateFactory:N},r))),o.appendInto(e)),o.setValue(t),o.commit()})(t,l,Object.assign({templateFactory:U(o)},r)),a){const t=L.get(l);L.delete(l);const r=t.value instanceof y?t.value.template:void 0;F(o,l,r),i(e,e.firstChild),e.appendChild(l),L.set(e,t)}!n&&s&&window.ShadyCSS.styleElement(e.host)},ot.shadowRootOptions={mode:"open"}; +(window.litElementVersions||(window.litElementVersions=[])).push("2.5.1");const rt={};class ot extends J{static getStyles(){return this.styles}static _getUniqueStyles(){if(this.hasOwnProperty(JSCompiler_renameProperty("_styles",this)))return;const t=this.getStyles();if(Array.isArray(t)){const e=(t,i)=>t.reduceRight(((t,i)=>Array.isArray(i)?e(i,t):(t.add(i),t)),i),i=e(t,new Set),r=[];i.forEach((t=>r.unshift(t))),this._styles=r}else this._styles=void 0===t?[]:[t];this._styles=this._styles.map((t=>{if(t instanceof CSSStyleSheet&&!Q){const e=Array.prototype.slice.call(t.cssRules).reduce(((t,e)=>t+e.cssText),"");return new et(String(e),tt)}return t}))}initialize(){super.initialize(),this.constructor._getUniqueStyles(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow(this.constructor.shadowRootOptions)}adoptStyles(){const t=this.constructor._styles;0!==t.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?Q?this.renderRoot.adoptedStyleSheets=t.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(t.map((t=>t.cssText)),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(t){const e=this.render();super.update(t),e!==rt&&this.constructor.render(e,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach((t=>{const e=document.createElement("style");e.textContent=t.cssText,this.renderRoot.appendChild(e)})))}render(){return rt}}ot.finalized=!0,ot.render=(t,e,r)=>{if(!r||"object"!=typeof r||!r.scopeName)throw new Error("The `scopeName` option is required.");const o=r.scopeName,n=j.has(e),s=z&&11===e.nodeType&&!!e.host,a=s&&!B.has(o),l=a?document.createDocumentFragment():e;if(((t,e,r)=>{let o=j.get(e);void 0===o&&(i(e,e.firstChild),j.set(e,o=new C(Object.assign({templateFactory:N},r))),o.appendInto(e)),o.setValue(t),o.commit()})(t,l,Object.assign({templateFactory:U(o)},r)),a){const t=j.get(l);j.delete(l);const r=t.value instanceof y?t.value.template:void 0;F(o,l,r),i(e,e.firstChild),e.appendChild(l),j.set(e,t)}!n&&s&&window.ShadyCSS.styleElement(e.host)},ot.shadowRootOptions={mode:"open"}; /** * @license * Copyright (c) 2018 The Polymer Project Authors. All rights reserved. @@ -197,7 +197,7 @@ found at http://polymer.github.io/PATENTS.txt * subject to an additional IP rights grant found at * http://polymer.github.io/PATENTS.txt */ -class nt{constructor(t){this.classes=new Set,this.changed=!1,this.element=t;const e=(t.getAttribute("class")||"").split(/\s+/);for(const t of e)this.classes.add(t)}add(t){this.classes.add(t),this.changed=!0}remove(t){this.classes.delete(t),this.changed=!0}commit(){if(this.changed){let t="";this.classes.forEach((e=>t+=e+" ")),this.element.setAttribute("class",t)}}}const st=new WeakMap,at=g((t=>e=>{if(!(e instanceof P)||e instanceof T||"class"!==e.committer.name||e.committer.parts.length>1)throw new Error("The `classMap` directive must be used in the `class` attribute and must be the only part in the attribute.");const{committer:i}=e,{element:r}=i;let o=st.get(e);void 0===o&&(r.setAttribute("class",i.strings.join(" ")),st.set(e,o=new Set));const n=r.classList||new nt(r);o.forEach((e=>{e in t||(n.remove(e),o.delete(e))}));for(const e in t){const i=t[e];i!=o.has(e)&&(i?(n.add(e),o.add(e)):(n.remove(e),o.delete(e)))}"function"==typeof n.commit&&n.commit()})),lt=new WeakMap,ct=g((t=>e=>{if(!(e instanceof P)||e instanceof T||"style"!==e.committer.name||e.committer.parts.length>1)throw new Error("The `styleMap` directive must be used in the style attribute and must be the only part in the attribute.");const{committer:i}=e,{style:r}=i.element;let o=lt.get(e);void 0===o&&(r.cssText=i.strings.join(" "),lt.set(e,o=new Set)),o.forEach((e=>{e in t||(o.delete(e),-1===e.indexOf("-")?r[e]=null:r.removeProperty(e))}));for(const e in t)o.add(e),-1===e.indexOf("-")?r[e]=t[e]:r.setProperty(e,t[e])}));var ht=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var i=-1;return t.some((function(t,r){return t[0]===e&&(i=r,!0)})),i}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var i=t(this.__entries__,e),r=this.__entries__[i];return r&&r[1]},e.prototype.set=function(e,i){var r=t(this.__entries__,e);~r?this.__entries__[r][1]=i:this.__entries__.push([e,i])},e.prototype.delete=function(e){var i=this.__entries__,r=t(i,e);~r&&i.splice(r,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var i=0,r=this.__entries__;i0},t.prototype.connect_=function(){ut&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),gt?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){ut&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,i=void 0===e?"":e;mt.some((function(t){return!!~i.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),vt=function(t,e){for(var i=0,r=Object.keys(e);i0},t}(),Mt="undefined"!=typeof WeakMap?new WeakMap:new ht,Tt=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var i=ft.getInstance(),r=new Et(e,i,this);Mt.set(this,r)};["observe","unobserve","disconnect"].forEach((function(t){Tt.prototype[t]=function(){var e;return(e=Mt.get(this))[t].apply(e,arguments)}}));var Ot=void 0!==pt.ResizeObserver?pt.ResizeObserver:Tt;const At={repeat:!0,shuffle:!0,power_state:!0,artwork_border:!0,icon_state:!0,sound_mode:!0,runtime:!0,runtime_remaining:!0,volume:!1,volume_level:!0,controls:!1,play_pause:!1,play_stop:!0,prev:!1,next:!1,jump:!0,state_label:!1,progress:!1,icon:!1,name:!1,info:!1},Vt={OFF:"off",ALL:"all",ONE:"one"},Nt="mdi:cast",jt="mdi:chevron-down",Lt="mdi:speaker-multiple",Dt={true:"mdi:volume-off",false:"mdi:volume-high"},It="mdi:skip-next",Rt={true:"mdi:pause",false:"mdi:play"},zt="mdi:power",Ut="mdi:skip-previous",qt="mdi:shuffle",Bt={[Vt.OFF]:"mdi:repeat-off",[Vt.ONE]:"mdi:repeat-once",[Vt.ALL]:"mdi:repeat"},Ft={true:"mdi:stop",false:"mdi:play"},Gt="mdi:volume-minus",Ht="mdi:volume-plus",Wt="mdi:fast-forward",Xt="mdi:rewind",Jt=["entity","groupMgmtEntity","_overflow","break","thumbnail","prevThumbnail","edit","idle","cardHeight","backgroundColor","foregroundColor"],Yt=["media_duration","media_position","media_position_updated_at"],Zt=[{attr:"media_title"},{attr:"media_artist"},{attr:"media_series_title"},{attr:"media_season",prefix:"S"},{attr:"media_episode",prefix:"E"},{attr:"media_channel"},{attr:"app_name"}],Kt="sonos",Qt="squeezebox",te="soundtouch",ee="media_player",ie="heos";var re;!function(t){t.MORE_INFO="more-info",t.NAVIGATE="navigate",t.CALL_SERVICE="call-service",t.URL="url",t.FIRE_DOM_EVENT="fire-dom-event",t.NONE="none"}(re||(re={}));const oe=t=>{var e;(t=>{if(void 0===t.entity)throw new Error("You need to specify the required entity option.");if("media_player"!==t.entity.split(".")[0])throw new Error("Specify an entity from within the media_player domain.");if(void 0===t.type)throw new Error("You need to specify the required type option.")})(t);const i=Object.assign(Object.assign({artwork:"default",info:"default",group:!1,volume_stateless:!1,more_info:!0,source:"default",sound_mode:"default",toggle_power:!0,tap_action:{action:re.MORE_INFO},jump_amount:10},t),{hide:Object.assign(Object.assign({},At),t.hide),speaker_group:Object.assign(Object.assign({show_group_count:!0,platform:"sonos",supports_master:!0,entities:[]},t.sonos),t.speaker_group),shortcuts:Object.assign({label:"Shortcuts..."},t.shortcuts),max_volume:null!==(e=Number(t.max_volume))&&void 0!==e?e:100,min_volume:Number(t.min_volume)||0});return i.collapse=i.hide.controls||i.hide.volume,i.info=i.collapse&&"scroll"!==i.info?"short":i.info,i.flow=i.hide.icon&&i.hide.name&&i.hide.info,i};var ne;!function(t){t.PLAYING="playing",t.PAUSED="paused",t.IDLE="idle",t.OFF="off",t.ON="on",t.UNAVAILABLE="unavailable",t.UNKNOWN="unknown",t.STANDBY="standby"}(ne||(ne={}));class se{constructor(t,e,i){this.hass=t||{},this.config=e||{},this.entity=i||{},this.state=i.state,this._entityId=i&&i.entity_id||this.config.entity,this._attr=i.attributes||{},this.idle=!!e.idle_view&&this.idleView,this._active=this.isActive}get id(){return this.entity.entity_id}get icon(){return this._attr.icon}get isPaused(){return this.state===ne.PAUSED}get isPlaying(){return this.state===ne.PLAYING}get isIdle(){return this.state===ne.IDLE}get isStandby(){return this.state===ne.STANDBY}get isUnavailable(){return this.state===ne.UNAVAILABLE}get isOff(){return this.state===ne.OFF}get isActive(){return!this.isOff&&!this.isUnavailable&&!this.idle||!1}get assumedState(){return this._attr.assumed_state||!1}get shuffle(){return this._attr.shuffle||!1}get repeat(){return this._attr.repeat||Vt.OFF}get content(){return this._attr.media_content_type||"none"}get mediaDuration(){return this._attr.media_duration||0}get updatedAt(){return this._attr.media_position_updated_at||0}get position(){return this._attr.media_position||0}get name(){return this._attr.friendly_name||""}get groupCount(){return this.group.length}get isGrouped(){return this.group.length>1}get group(){return this.platform===Qt?this._attr.sync_group||[]:this.platform===ee||this.platform===ie||this.platform===Kt?this._attr.group_members||[]:this._attr[`${this.platform}_group`]||[]}get platform(){return this.config.speaker_group.platform}get master(){return this.supportsMaster&&this.group[0]||this._entityId}get isMaster(){return this.master===this._entityId}get sources(){return this._attr.source_list||[]}get source(){return this._attr.source||""}get soundModes(){return this._attr.sound_mode_list||[]}get soundMode(){return this._attr.sound_mode||""}get muted(){return this._attr.is_volume_muted||!1}get vol(){return this._attr.volume_level||0}get picture(){return this._attr.entity_picture_local||this._attr.entity_picture}get hasArtwork(){return!!this.picture&&"none"!==this.config.artwork&&this._active&&!this.idle}get mediaInfo(){return Zt.map((t=>Object.assign({text:this._attr[t.attr],prefix:""},t))).filter((t=>t.text))}get hasProgress(){return!this.config.hide.progress&&!this.idle&&Yt.every((t=>t in this._attr))}get supportsPrev(){return!!this._attr.supported_features&&(16|this._attr.supported_features)===this._attr.supported_features}get supportsNext(){return!!this._attr.supported_features&&(32|this._attr.supported_features)===this._attr.supported_features}get progress(){return this.isPlaying?this.position+(Date.now()-new Date(this.updatedAt).getTime())/1e3:this.position}get idleView(){const t=this.config.idle_view;return!!((null==t?void 0:t.when_idle)&&this.isIdle||(null==t?void 0:t.when_standby)&&this.isStandby||(null==t?void 0:t.when_paused)&&this.isPaused)||!(!this.updatedAt||!(null==t?void 0:t.after)||this.isPlaying)&&this.checkIdleAfter(t.after)}get trackIdle(){var t,e;return Boolean(this._active&&!this.isPlaying&&this.updatedAt&&(null===(e=null===(t=this.config)||void 0===t?void 0:t.idle_view)||void 0===e?void 0:e.after))}checkIdleAfter(t){const e=(Date.now()-new Date(this.updatedAt).getTime())/1e3;return this.idle=e>60*t,this._active=this.isActive,this.idle}get supportsShuffle(){return void 0!==this._attr.shuffle}get supportsRepeat(){return void 0!==this._attr.repeat}get supportsMute(){return void 0!==this._attr.is_volume_muted}get supportsVolumeSet(){return void 0!==this._attr.volume_level}get supportsMaster(){return this.platform!==Qt&&this.config.speaker_group.supports_master}async fetchArtwork(){const t=this._attr.entity_picture_local?this.hass.hassUrl(this.picture):this.picture;try{const e=await fetch(new Request(t)),i=(t=>{let e="";return[].slice.call(new Uint8Array(t)).forEach((t=>e+=String.fromCharCode(t))),window.btoa(e)})(await e.arrayBuffer());return`url(data:${e.headers.get("Content-Type")||"image/jpeg"};base64,${i})`}catch(t){return!1}}getAttribute(t){return this._attr[t]}toggle(t){return this.config.toggle_power?this.callService(t,"toggle"):this.isOff?this.callService(t,"turn_on"):void this.callService(t,"turn_off")}toggleMute(t){this.config.speaker_group.sync_volume?this.group.forEach((e=>{this.callService(t,"volume_mute",{entity_id:e,is_volume_muted:!this.muted})})):this.callService(t,"volume_mute",{is_volume_muted:!this.muted})}toggleShuffle(t){this.callService(t,"shuffle_set",{shuffle:!this.shuffle})}toggleRepeat(t){const e=Object.values(Vt),{length:i}=e,r=e.indexOf(this.repeat)-1,o=e[(r-1%i+i)%i];this.callService(t,"repeat_set",{repeat:o})}setSource(t,e){this.callService(t,"select_source",{source:e})}setMedia(t,e){this.callService(t,"play_media",Object.assign({},e))}play(t){this.callService(t,"media_play")}pause(t){this.callService(t,"media_pause")}playPause(t){this.callService(t,"media_play_pause")}playStop(t){this.isPlaying?this.callService(t,"media_stop"):this.callService(t,"media_play")}setSoundMode(t,e){this.callService(t,"select_sound_mode",{sound_mode:e})}next(t){this.callService(t,"media_next_track")}prev(t){this.callService(t,"media_previous_track")}stop(t){this.callService(t,"media_stop")}volumeUp(t){this.supportsVolumeSet&&this.config.volume_step&&this.config.volume_step>0?this.callService(t,"volume_set",{entity_id:this._entityId,volume_level:Math.min(this.vol+this.config.volume_step/100,1)}):this.callService(t,"volume_up")}volumeDown(t){this.supportsVolumeSet&&this.config.volume_step&&this.config.volume_step>0?this.callService(t,"volume_set",{entity_id:this._entityId,volume_level:Math.max(this.vol-this.config.volume_step/100,0)}):this.callService(t,"volume_down")}seek(t,e){this.callService(t,"media_seek",{seek_position:e})}jump(t,e){const i=this.progress+e,r=Math.min(Math.max(i,0),Number(this.mediaDuration)||i);this.callService(t,"media_seek",{seek_position:r})}setVolume(t,e){this.config.speaker_group.sync_volume&&this.config.speaker_group.entities?this.group.forEach((i=>{var r;const o=null===(r=this.config.speaker_group.entities)||void 0===r?void 0:r.find((t=>t.entity_id===i));if(void 0===o)return;let n=e;o.volume_offset&&(n+=o.volume_offset/100,n>1&&(n=1),n<0&&(n=0)),this.callService(t,"volume_set",{entity_id:i,volume_level:n})})):this.callService(t,"volume_set",{entity_id:this._entityId,volume_level:e})}handleGroupChange(t,e,i){const{platform:r}=this,o={entity_id:e};if(i)switch(o.master=this._entityId,r){case te:return this.handleSoundtouch(t,this.isGrouped?"ADD_ZONE_SLAVE":"CREATE_ZONE",e);case Qt:return this.callService(t,"sync",{entity_id:this._entityId,other_player:e},Qt);case ee:case Kt:return this.callService(t,"join",{entity_id:this._entityId,group_members:e},ee);case ie:return this.callService(t,"join",{entity_id:this._entityId,group_members:this.group.concat("string"==typeof e?[e]:e)},ee);default:return this.callService(t,"join",o,r)}else switch(r){case te:return this.handleSoundtouch(t,"REMOVE_ZONE_SLAVE",e);case Qt:return this.callService(t,"unsync",o,Qt);case ee:case Kt:return this.callService(t,"unjoin",{entity_id:e},ee);case ie:return this.callService(t,"unjoin",{entity_id:"string"==typeof e?e:e[0]},ee);default:return this.callService(t,"unjoin",o,r)}}handleSoundtouch(t,e,i){return this.callService(t,e,{master:this.master,slaves:i},te,!0)}toggleScript(t,e,i={}){const[,r]=e.split(".");this.callService(t,r,Object.assign({},i),"script")}toggleService(t,e,i={}){t.stopPropagation();const[r,o]=e.split(".");this.hass.callService(r,o,Object.assign({},i))}callService(t,e,i,r="media_player",o=!1){t.stopPropagation(),this.hass.callService(r,e,Object.assign(Object.assign({},!o&&{entity_id:this._entityId}),i))}}const ae=it` +class nt{constructor(t){this.classes=new Set,this.changed=!1,this.element=t;const e=(t.getAttribute("class")||"").split(/\s+/);for(const t of e)this.classes.add(t)}add(t){this.classes.add(t),this.changed=!0}remove(t){this.classes.delete(t),this.changed=!0}commit(){if(this.changed){let t="";this.classes.forEach((e=>t+=e+" ")),this.element.setAttribute("class",t)}}}const st=new WeakMap,at=g((t=>e=>{if(!(e instanceof P)||e instanceof T||"class"!==e.committer.name||e.committer.parts.length>1)throw new Error("The `classMap` directive must be used in the `class` attribute and must be the only part in the attribute.");const{committer:i}=e,{element:r}=i;let o=st.get(e);void 0===o&&(r.setAttribute("class",i.strings.join(" ")),st.set(e,o=new Set));const n=r.classList||new nt(r);o.forEach((e=>{e in t||(n.remove(e),o.delete(e))}));for(const e in t){const i=t[e];i!=o.has(e)&&(i?(n.add(e),o.add(e)):(n.remove(e),o.delete(e)))}"function"==typeof n.commit&&n.commit()})),lt=new WeakMap,ct=g((t=>e=>{if(!(e instanceof P)||e instanceof T||"style"!==e.committer.name||e.committer.parts.length>1)throw new Error("The `styleMap` directive must be used in the style attribute and must be the only part in the attribute.");const{committer:i}=e,{style:r}=i.element;let o=lt.get(e);void 0===o&&(r.cssText=i.strings.join(" "),lt.set(e,o=new Set)),o.forEach((e=>{e in t||(o.delete(e),-1===e.indexOf("-")?r[e]=null:r.removeProperty(e))}));for(const e in t)o.add(e),-1===e.indexOf("-")?r[e]=t[e]:r.setProperty(e,t[e])}));var ht=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var i=-1;return t.some((function(t,r){return t[0]===e&&(i=r,!0)})),i}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var i=t(this.__entries__,e),r=this.__entries__[i];return r&&r[1]},e.prototype.set=function(e,i){var r=t(this.__entries__,e);~r?this.__entries__[r][1]=i:this.__entries__.push([e,i])},e.prototype.delete=function(e){var i=this.__entries__,r=t(i,e);~r&&i.splice(r,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var i=0,r=this.__entries__;i0},t.prototype.connect_=function(){ut&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),gt?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){ut&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,i=void 0===e?"":e;mt.some((function(t){return!!~i.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),vt=function(t,e){for(var i=0,r=Object.keys(e);i0},t}(),Mt="undefined"!=typeof WeakMap?new WeakMap:new ht,Tt=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var i=ft.getInstance(),r=new Et(e,i,this);Mt.set(this,r)};["observe","unobserve","disconnect"].forEach((function(t){Tt.prototype[t]=function(){var e;return(e=Mt.get(this))[t].apply(e,arguments)}}));var Ot=void 0!==pt.ResizeObserver?pt.ResizeObserver:Tt;const At={repeat:!0,shuffle:!0,power_state:!0,artwork_border:!0,icon_state:!0,sound_mode:!0,runtime:!0,runtime_remaining:!0,volume:!1,volume_level:!0,controls:!1,play_pause:!1,play_stop:!0,prev:!1,next:!1,jump:!0,state_label:!1,progress:!1,icon:!1,name:!1,info:!1},Vt={OFF:"off",ALL:"all",ONE:"one"},Nt="mdi:cast",Lt="mdi:chevron-down",jt="mdi:speaker-multiple",Dt={true:"mdi:volume-off",false:"mdi:volume-high"},It="mdi:skip-next",Rt={true:"mdi:pause",false:"mdi:play"},zt="mdi:power",Ut="mdi:skip-previous",qt="mdi:shuffle",Bt={[Vt.OFF]:"mdi:repeat-off",[Vt.ONE]:"mdi:repeat-once",[Vt.ALL]:"mdi:repeat"},Ft={true:"mdi:stop",false:"mdi:play"},Gt="mdi:volume-minus",Ht="mdi:volume-plus",Wt="mdi:fast-forward",Jt="mdi:rewind",Xt=["entity","groupMgmtEntity","_overflow","break","thumbnail","prevThumbnail","edit","idle","cardHeight","backgroundColor","foregroundColor"],Yt=["media_duration","media_position","media_position_updated_at"],Zt=[{attr:"media_title"},{attr:"media_artist"},{attr:"media_series_title"},{attr:"media_season",prefix:"S"},{attr:"media_episode",prefix:"E"},{attr:"media_channel"},{attr:"app_name"}],Kt="sonos",Qt="squeezebox",te="soundtouch",ee="media_player",ie="heos";var re;!function(t){t.MORE_INFO="more-info",t.NAVIGATE="navigate",t.CALL_SERVICE="call-service",t.URL="url",t.FIRE_DOM_EVENT="fire-dom-event",t.NONE="none"}(re||(re={}));const oe=t=>{var e;(t=>{if(void 0===t.entity)throw new Error("You need to specify the required entity option.");if("media_player"!==t.entity.split(".")[0])throw new Error("Specify an entity from within the media_player domain.");if(void 0===t.type)throw new Error("You need to specify the required type option.")})(t);const i=Object.assign(Object.assign({artwork:"default",info:"default",group:!1,volume_stateless:!1,more_info:!0,source:"default",sound_mode:"default",toggle_power:!0,tap_action:{action:re.MORE_INFO},jump_amount:10},t),{hide:Object.assign(Object.assign({},At),t.hide),speaker_group:Object.assign(Object.assign({show_group_count:!0,platform:"sonos",supports_master:!0,entities:[]},t.sonos),t.speaker_group),shortcuts:Object.assign({label:"Shortcuts..."},t.shortcuts),max_volume:null!==(e=Number(t.max_volume))&&void 0!==e?e:100,min_volume:Number(t.min_volume)||0});return i.collapse=i.hide.controls||i.hide.volume,i.info=i.collapse&&"scroll"!==i.info?"short":i.info,i.flow=i.hide.icon&&i.hide.name&&i.hide.info,i};var ne;!function(t){t.PLAYING="playing",t.PAUSED="paused",t.IDLE="idle",t.OFF="off",t.ON="on",t.UNAVAILABLE="unavailable",t.UNKNOWN="unknown",t.STANDBY="standby"}(ne||(ne={}));class se{constructor(t,e,i){this.hass=t||{},this.config=e||{},this.entity=i||{},this.state=i.state,this._entityId=i&&i.entity_id||this.config.entity,this._attr=i.attributes||{},this.idle=!!e.idle_view&&this.idleView,this._active=this.isActive}get id(){return this.entity.entity_id}get icon(){return this._attr.icon}get isPaused(){return this.state===ne.PAUSED}get isPlaying(){return this.state===ne.PLAYING}get isIdle(){return this.state===ne.IDLE}get isStandby(){return this.state===ne.STANDBY}get isUnavailable(){return this.state===ne.UNAVAILABLE}get isOff(){return this.state===ne.OFF}get isActive(){return!this.isOff&&!this.isUnavailable&&!this.idle||!1}get assumedState(){return this._attr.assumed_state||!1}get shuffle(){return this._attr.shuffle||!1}get repeat(){return this._attr.repeat||Vt.OFF}get content(){return this._attr.media_content_type||"none"}get mediaDuration(){return this._attr.media_duration||0}get updatedAt(){return this._attr.media_position_updated_at||0}get position(){return this._attr.media_position||0}get name(){return this._attr.friendly_name||""}get groupCount(){return this.group.length}get isGrouped(){return this.group.length>1}get group(){return this.platform===Qt?this._attr.sync_group||[]:this.platform===ee||this.platform===ie||this.platform===Kt?this._attr.group_members||[]:this._attr[`${this.platform}_group`]||[]}get platform(){return this.config.speaker_group.platform}get master(){return this.supportsMaster&&this.group[0]||this._entityId}get isMaster(){return this.master===this._entityId}get sources(){return this._attr.source_list||[]}get source(){return this._attr.source||""}get soundModes(){return this._attr.sound_mode_list||[]}get soundMode(){return this._attr.sound_mode||""}get muted(){return this._attr.is_volume_muted||!1}get vol(){return this._attr.volume_level||0}get picture(){return this._attr.entity_picture_local||this._attr.entity_picture}get hasArtwork(){return!!this.picture&&"none"!==this.config.artwork&&this._active&&!this.idle}get mediaInfo(){return Zt.map((t=>Object.assign({text:this._attr[t.attr],prefix:""},t))).filter((t=>t.text))}get hasProgress(){return!this.config.hide.progress&&!this.idle&&Yt.every((t=>t in this._attr))}get supportsPrev(){return!!this._attr.supported_features&&(16|this._attr.supported_features)===this._attr.supported_features}get supportsNext(){return!!this._attr.supported_features&&(32|this._attr.supported_features)===this._attr.supported_features}get progress(){return this.isPlaying?this.position+(Date.now()-new Date(this.updatedAt).getTime())/1e3:this.position}get idleView(){const t=this.config.idle_view;return!!((null==t?void 0:t.when_idle)&&this.isIdle||(null==t?void 0:t.when_standby)&&this.isStandby||(null==t?void 0:t.when_paused)&&this.isPaused)||!(!this.updatedAt||!(null==t?void 0:t.after)||this.isPlaying)&&this.checkIdleAfter(t.after)}get trackIdle(){var t,e;return Boolean(this._active&&!this.isPlaying&&this.updatedAt&&(null===(e=null===(t=this.config)||void 0===t?void 0:t.idle_view)||void 0===e?void 0:e.after))}checkIdleAfter(t){const e=(Date.now()-new Date(this.updatedAt).getTime())/1e3;return this.idle=e>60*t,this._active=this.isActive,this.idle}get supportsShuffle(){return void 0!==this._attr.shuffle}get supportsRepeat(){return void 0!==this._attr.repeat}get supportsMute(){return void 0!==this._attr.is_volume_muted}get supportsVolumeSet(){return void 0!==this._attr.volume_level}get supportsMaster(){return this.platform!==Qt&&this.config.speaker_group.supports_master}async fetchArtwork(){const t=this._attr.entity_picture_local?this.hass.hassUrl(this.picture):this.picture;try{const e=await fetch(new Request(t)),i=(t=>{let e="";return[].slice.call(new Uint8Array(t)).forEach((t=>e+=String.fromCharCode(t))),window.btoa(e)})(await e.arrayBuffer());return`url(data:${e.headers.get("Content-Type")||"image/jpeg"};base64,${i})`}catch(t){return!1}}getAttribute(t){return this._attr[t]}toggle(t){return this.config.toggle_power?this.callService(t,"toggle"):this.isOff?this.callService(t,"turn_on"):void this.callService(t,"turn_off")}toggleMute(t){this.config.speaker_group.sync_volume?this.group.forEach((e=>{this.callService(t,"volume_mute",{entity_id:e,is_volume_muted:!this.muted})})):this.callService(t,"volume_mute",{is_volume_muted:!this.muted})}toggleShuffle(t){this.callService(t,"shuffle_set",{shuffle:!this.shuffle})}toggleRepeat(t){const e=Object.values(Vt),{length:i}=e,r=e.indexOf(this.repeat)-1,o=e[(r-1%i+i)%i];this.callService(t,"repeat_set",{repeat:o})}setSource(t,e){this.callService(t,"select_source",{source:e})}setMedia(t,e){this.callService(t,"play_media",Object.assign({},e))}play(t){this.callService(t,"media_play")}pause(t){this.callService(t,"media_pause")}playPause(t){this.callService(t,"media_play_pause")}playStop(t){this.isPlaying?this.callService(t,"media_stop"):this.callService(t,"media_play")}setSoundMode(t,e){this.callService(t,"select_sound_mode",{sound_mode:e})}next(t){this.callService(t,"media_next_track")}prev(t){this.callService(t,"media_previous_track")}stop(t){this.callService(t,"media_stop")}volumeUp(t){this.supportsVolumeSet&&this.config.volume_step&&this.config.volume_step>0?this.callService(t,"volume_set",{entity_id:this._entityId,volume_level:Math.min(this.vol+this.config.volume_step/100,1)}):this.callService(t,"volume_up")}volumeDown(t){this.supportsVolumeSet&&this.config.volume_step&&this.config.volume_step>0?this.callService(t,"volume_set",{entity_id:this._entityId,volume_level:Math.max(this.vol-this.config.volume_step/100,0)}):this.callService(t,"volume_down")}seek(t,e){this.callService(t,"media_seek",{seek_position:e})}jump(t,e){const i=this.progress+e,r=Math.min(Math.max(i,0),Number(this.mediaDuration)||i);this.callService(t,"media_seek",{seek_position:r})}setVolume(t,e){this.config.speaker_group.sync_volume&&this.config.speaker_group.entities?this.group.forEach((i=>{var r;const o=null===(r=this.config.speaker_group.entities)||void 0===r?void 0:r.find((t=>t.entity_id===i));if(void 0===o)return;let n=e;o.volume_offset&&(n+=o.volume_offset/100,n>1&&(n=1),n<0&&(n=0)),this.callService(t,"volume_set",{entity_id:i,volume_level:n})})):this.callService(t,"volume_set",{entity_id:this._entityId,volume_level:e})}handleGroupChange(t,e,i){const{platform:r}=this,o={entity_id:e};if(i)switch(o.master=this._entityId,r){case te:return this.handleSoundtouch(t,this.isGrouped?"ADD_ZONE_SLAVE":"CREATE_ZONE",e);case Qt:return this.callService(t,"sync",{entity_id:this._entityId,other_player:e},Qt);case ee:case Kt:return this.callService(t,"join",{entity_id:this._entityId,group_members:e},ee);case ie:return this.callService(t,"join",{entity_id:this._entityId,group_members:this.group.concat("string"==typeof e?[e]:e)},ee);default:return this.callService(t,"join",o,r)}else switch(r){case te:return this.handleSoundtouch(t,"REMOVE_ZONE_SLAVE",e);case Qt:return this.callService(t,"unsync",o,Qt);case ee:case Kt:return this.callService(t,"unjoin",{entity_id:e},ee);case ie:return this.callService(t,"unjoin",{entity_id:"string"==typeof e?e:e[0]},ee);default:return this.callService(t,"unjoin",o,r)}}handleSoundtouch(t,e,i){return this.callService(t,e,{master:this.master,slaves:i},te,!0)}toggleScript(t,e,i={}){const[,r]=e.split(".");this.callService(t,r,Object.assign({},i),"script")}toggleService(t,e,i={}){t.stopPropagation();const[r,o]=e.split(".");this.hass.callService(r,o,Object.assign({},i))}callService(t,e,i,r="media_player",o=!1){t.stopPropagation(),this.hass.callService(r,e,Object.assign(Object.assign({},!o&&{entity_id:this._entityId}),i))}}const ae=it` :host { overflow: visible !important; display: block; @@ -688,7 +688,7 @@ class nt{constructor(t){this.classes=new Set,this.changed=!1,this.element=t;cons mmp-icon-button ha-icon { display: flex; } -`;var ce=(t,e,i,r,o)=>{let n;switch(r.action){case"more-info":n=new Event("hass-more-info",{composed:!0}),n.detail={entityId:r.entity||o},t.dispatchEvent(n);break;case"navigate":if(!r.navigation_path)return;window.history.pushState(null,"",r.navigation_path),n=new Event("location-changed",{composed:!0}),n.detail={replace:!1},window.dispatchEvent(n);break;case"call-service":{if(!r.service)return;const[t,i]=r.service.split(".",2),o={...r.service_data};e.callService(t,i,o);break}case"url":if(!r.url)return;r.new_tab?window.open(r.url,"_blank"):window.location.href=r.url;break;case"fire-dom-event":n=new Event("ll-custom",{composed:!0,bubbles:!0}),n.detail=r,t.dispatchEvent(n)}r.haptic&&((t,e)=>{const i=new Event("haptic",{composed:!0});i.detail={haptic:e},t.dispatchEvent(i)})(t,r.haptic)};var he,ue,pe,de=(he=function(t,e){var i;window,i=function(){return function(t){var e={};function i(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=t,i.c=e,i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)i.d(r,o,function(e){return t[e]}.bind(null,o));return r},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=10)}([function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0}),e.assignDeep=e.mapValues=void 0,e.mapValues=function(t,e){var i={};for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];i[r]=e(o)}return i},e.assignDeep=function t(e){for(var i=[],r=1;r0){var o=Math.max(e,i);o>t.maxDimension&&(r=t.maxDimension/o)}else r=1/t.quality;r<1&&this.resize(e*r,i*r,r)},t}();e.ImageBase=r,e.applyFilters=function(t,e){if(e.length>0)for(var i=t.data,r=i.length/4,o=void 0,n=void 0,s=void 0,a=void 0,l=void 0,c=0;c0?t.filter((function(t){for(var i=t.r,r=t.g,o=t.b,n=0;n.04045?Math.pow((t+.005)/1.055,2.4):t/12.92,e=e>.04045?Math.pow((e+.005)/1.055,2.4):e/12.92,i=i>.04045?Math.pow((i+.005)/1.055,2.4):i/12.92,[.4124*(t*=100)+.3576*(e*=100)+.1805*(i*=100),.2126*t+.7152*e+.0722*i,.0193*t+.1192*e+.9505*i]}function n(t,e,i){return e/=100,i/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(e=e>.008856?Math.pow(e,1/3):7.787*e+16/116)-16,500*(t-e),200*(e-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]}function s(t,e,i){var r=o(t,e,i);return n(r[0],r[1],r[2])}function a(t,e){var i=t[0],r=t[1],o=t[2],n=e[0],s=e[1],a=e[2],l=i-n,c=r-s,h=o-a,u=Math.sqrt(r*r+o*o),p=n-i,d=Math.sqrt(s*s+a*a)-u,m=Math.sqrt(l*l+c*c+h*h),g=Math.sqrt(m)>Math.sqrt(Math.abs(p))+Math.sqrt(Math.abs(d))?Math.sqrt(m*m-p*p-d*d):0;return p/=1,d/=1*(1+.045*u),g/=1*(1+.015*u),Math.sqrt(p*p+d*d+g*g)}function l(t,e){return a(s.apply(void 0,t),s.apply(void 0,e))}Object.defineProperty(e,"__esModule",{value:!0}),e.getColorDiffStatus=e.hexDiff=e.rgbDiff=e.deltaE94=e.rgbToCIELab=e.xyzToCIELab=e.rgbToXyz=e.hslToRgb=e.rgbToHsl=e.rgbToHex=e.hexToRgb=e.DELTAE94_DIFF_STATUS=void 0,e.DELTAE94_DIFF_STATUS={NA:0,PERFECT:1,CLOSE:2,GOOD:10,SIMILAR:50},e.hexToRgb=r,e.rgbToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1,7)},e.rgbToHsl=function(t,e,i){t/=255,e/=255,i/=255;var r=Math.max(t,e,i),o=Math.min(t,e,i),n=0,s=0,a=(r+o)/2;if(r!==o){var l=r-o;switch(s=a>.5?l/(2-r-o):l/(r+o),r){case t:n=(e-i)/l+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}if(0===e)r=o=n=i;else{var a=i<.5?i*(1+e):i+e-i*e,l=2*i-a;r=s(l,a,t+1/3),o=s(l,a,t),n=s(l,a,t-1/3)}return[255*r,255*o,255*n]},e.rgbToXyz=o,e.xyzToCIELab=n,e.rgbToCIELab=s,e.deltaE94=a,e.rgbDiff=l,e.hexDiff=function(t,e){return l(r(t),r(e))},e.getColorDiffStatus=function(t){return t0&&this._opts.filters.splice(e)}return this},t.prototype.clearFilters=function(){return this._opts.filters=[],this},t.prototype.quality=function(t){return this._opts.quality=t,this},t.prototype.useImageClass=function(t){return this._opts.ImageClass=t,this},t.prototype.useGenerator=function(t,e){return this._opts.generators||(this._opts.generators=[]),this._opts.generators.push(e?{name:t,options:e}:t),this},t.prototype.useQuantizer=function(t,e){return this._opts.quantizer=e?{name:t,options:e}:t,this},t.prototype.build=function(){return new o.default(this._src,this._opts)},t.prototype.getPalette=function(t){return this.build().getPalette(t)},t.prototype.getSwatches=function(t){return this.build().getPalette(t)},t}();e.default=s},function(t,e,i){var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])},r(t,e)},function(t,e){function i(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype._initCanvas=function(){var t=this.image,e=this._canvas=document.createElement("canvas"),i=e.getContext("2d");if(!i)throw new ReferenceError("Failed to create canvas context");this._context=i,e.className="@vibrant/canvas",e.style.display="none",this._width=e.width=t.width,this._height=e.height=t.height,i.drawImage(t,0,0),document.body.appendChild(e)},e.prototype.load=function(t){var e,i,r,o,n,s,a,l=this;if("string"==typeof t)e=document.createElement("img"),i=t,(a=new URL(i,location.href)).protocol===location.protocol&&a.host===location.host&&a.port===location.port||(r=window.location.href,o=i,n=new URL(r),s=new URL(o),n.protocol===s.protocol&&n.hostname===s.hostname&&n.port===s.port)||(e.crossOrigin="anonymous"),e.src=i;else{if(!(t instanceof HTMLImageElement))return Promise.reject(new Error("Cannot load buffer as an image in browser"));e=t,i=t.src}return this.image=e,new Promise((function(t,r){var o=function(){l._initCanvas(),t(l)};e.complete?o():(e.onload=o,e.onerror=function(t){return r(new Error("Fail to load image: "+i))})}))},e.prototype.clear=function(){this._context.clearRect(0,0,this._width,this._height)},e.prototype.update=function(t){this._context.putImageData(t,0,0)},e.prototype.getWidth=function(){return this._width},e.prototype.getHeight=function(){return this._height},e.prototype.resize=function(t,e,i){var r=this,o=r._canvas,n=r._context,s=r.image;this._width=o.width=t,this._height=o.height=e,n.scale(i,i),n.drawImage(s,0,0)},e.prototype.getPixelCount=function(){return this._width*this._height},e.prototype.getImageData=function(){return this._context.getImageData(0,0,this._width,this._height)},e.prototype.remove=function(){this._canvas&&this._canvas.parentNode&&this._canvas.parentNode.removeChild(this._canvas)},e}(i(2).ImageBase);e.default=n},function(t,e,i){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},o=i(5),n=r(i(11));o.use(n.default),t.exports=o},function(t,e,i){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(i(12)),n=r(i(16)),s=(new(i(17).BasicPipeline)).filter.register("default",(function(t,e,i,r){return r>=125&&!(t>250&&e>250&&i>250)})).quantizer.register("mmcq",o.default).generator.register("default",n.default);e.default=s},function(t,e,i){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=i(3),n=r(i(13)),s=r(i(15));function a(t,e){for(var i=t.size();t.size()0))break;var o=r.split(),n=o[0],s=o[1];if(t.push(n),s&&s.count()>0&&t.push(s),t.size()===i)break;i=t.size()}}e.default=function(t,e){if(0===t.length||e.colorCount<2||e.colorCount>256)throw new Error("Wrong MMCQ parameters");var i=n.default.build(t);i.histogram.colorCount;var r=new s.default((function(t,e){return t.count()-e.count()}));r.push(i),a(r,.75*e.colorCount);var l=new s.default((function(t,e){return t.count()*t.volume()-e.count()*e.volume()}));return l.contents=r.contents,a(l,e.colorCount-l.size()),function(t){for(var e=[];t.size();){var i=t.pop(),r=i.avg();r[0],r[1],r[2],e.push(new o.Swatch(r,i.count()))}return e}(l)}},function(t,e,i){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(i(14)),n=function(){function t(t,e,i,r,o,n,s){this.histogram=s,this._volume=-1,this._count=-1,this.dimension={r1:t,r2:e,g1:i,g2:r,b1:o,b2:n}}return t.build=function(e){var i=new o.default(e,{sigBits:5});return new t(i.rmin,i.rmax,i.gmin,i.gmax,i.bmin,i.bmax,i)},t.prototype.invalidate=function(){this._volume=this._count=-1,this._avg=null},t.prototype.volume=function(){if(this._volume<0){var t=this.dimension,e=t.r1,i=t.r2,r=t.g1,o=t.g2,n=t.b1,s=t.b2;this._volume=(i-e+1)*(o-r+1)*(s-n+1)}return this._volume},t.prototype.count=function(){if(this._count<0){for(var t=this.histogram,e=t.hist,i=t.getColorIndex,r=this.dimension,o=r.r1,n=r.r2,s=r.g1,a=r.g2,l=r.b1,c=r.b2,h=0,u=o;u<=n;u++)for(var p=s;p<=a;p++)for(var d=l;d<=c;d++)h+=e[i(u,p,d)];this._count=h}return this._count},t.prototype.clone=function(){var e=this.histogram,i=this.dimension;return new t(i.r1,i.r2,i.g1,i.g2,i.b1,i.b2,e)},t.prototype.avg=function(){if(!this._avg){var t=this.histogram,e=t.hist,i=t.getColorIndex,r=this.dimension,o=r.r1,n=r.r2,s=r.g1,a=r.g2,l=r.b1,c=r.b2,h=0,u=void 0,p=void 0,d=void 0;u=p=d=0;for(var m=o;m<=n;m++)for(var g=s;g<=a;g++)for(var f=l;f<=c;f++){var v=e[i(m,g,f)];h+=v,u+=v*(m+.5)*8,p+=v*(g+.5)*8,d+=v*(f+.5)*8}this._avg=h?[~~(u/h),~~(p/h),~~(d/h)]:[~~(8*(o+n+1)/2),~~(8*(s+a+1)/2),~~(8*(l+c+1)/2)]}return this._avg},t.prototype.contains=function(t){var e=t[0],i=t[1],r=t[2],o=this.dimension,n=o.r1,s=o.r2,a=o.g1,l=o.g2,c=o.b1,h=o.b2;return i>>=3,r>>=3,(e>>=3)>=n&&e<=s&&i>=a&&i<=l&&r>=c&&r<=h},t.prototype.split=function(){var t=this.histogram,e=t.hist,i=t.getColorIndex,r=this.dimension,o=r.r1,n=r.r2,s=r.g1,a=r.g2,l=r.b1,c=r.b2,h=this.count();if(!h)return[];if(1===h)return[this.clone()];var u,p,d=n-o+1,m=a-s+1,g=c-l+1,f=Math.max(d,m,g),v=null;u=p=0;var _=null;if(f===d){_="r",v=new Uint32Array(n+1);for(var y=o;y<=n;y++){u=0;for(var b=s;b<=a;b++)for(var w=l;w<=c;w++)u+=e[i(y,b,w)];p+=u,v[y]=p}}else if(f===m)for(_="g",v=new Uint32Array(a+1),b=s;b<=a;b++){for(u=0,y=o;y<=n;y++)for(w=l;w<=c;w++)u+=e[i(y,b,w)];p+=u,v[b]=p}else for(_="b",v=new Uint32Array(c+1),w=l;w<=c;w++){for(u=0,y=o;y<=n;y++)for(b=s;b<=a;b++)u+=e[i(y,b,w)];p+=u,v[w]=p}for(var x=-1,k=new Uint32Array(v.length),S=0;Sp/2&&(x=S),k[S]=p-$}var P=this;return function(t){var e=t+"1",i=t+"2",r=P.dimension[e],o=P.dimension[i],n=P.clone(),s=P.clone(),a=x-r,l=o-x;for(a<=l?(o=Math.min(o-1,~~(x+l/2)),o=Math.max(0,o)):(o=Math.max(r,~~(x-1-a/2)),o=Math.min(P.dimension[i],o));!v[o];)o++;for(var c=k[o];!c&&v[o-1];)c=k[--o];return n.dimension[i]=o,s.dimension[e]=o+1,[n,s]}(_)},t}();e.default=n},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){this.pixels=t,this.opts=e;var i=e.sigBits,r=function(t,e,r){return(t<<2*i)+(e<>=d,u>>=d,p>>=d)]+=1,h>o&&(o=h),hs&&(s=u),ul&&(l=p),p0?t+1:t}),0),this.hist=m,this.rmax=o,this.rmin=n,this.gmax=s,this.gmin=a,this.bmax=l,this.bmin=c}return Object.defineProperty(t.prototype,"colorCount",{get:function(){return this._colorCount},enumerable:!1,configurable:!0}),t}();e.default=r},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t){this._comparator=t,this.contents=[],this._sorted=!1}return t.prototype._sort=function(){this._sorted||(this.contents.sort(this._comparator),this._sorted=!0)},t.prototype.push=function(t){this.contents.push(t),this._sorted=!1},t.prototype.peek=function(t){return this._sort(),t="number"==typeof t?t:this.contents.length-1,this.contents[t]},t.prototype.pop=function(){return this._sort(),this.contents.pop()},t.prototype.size=function(){return this.contents.length},t.prototype.map=function(t){return this._sort(),this.contents.map(t)},t}();e.default=r},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var r=i(3),o=i(4),n={targetDarkLuma:.26,maxDarkLuma:.45,minLightLuma:.55,targetLightLuma:.74,minNormalLuma:.3,targetNormalLuma:.5,maxNormalLuma:.7,targetMutesSaturation:.3,maxMutesSaturation:.4,targetVibrantSaturation:1,minVibrantSaturation:.35,weightSaturation:3,weightLuma:6.5,weightPopulation:.5};function s(t,e,i,r,o,n,s,a,l,c){var h=null,u=0;return e.forEach((function(e){var p=e.hsl,d=p[1],m=p[2];if(d>=a&&d<=l&&m>=o&&m<=n&&!function(t,e){return t.Vibrant===e||t.DarkVibrant===e||t.LightVibrant===e||t.Muted===e||t.DarkMuted===e||t.LightMuted===e}(t,e)){var g=function(t,e,i,r,o,n,s){function a(t,e){return 1-Math.abs(t-e)}return function(){for(var t=[],e=0;eu)&&(h=e,u=g)}})),h}e.default=function(t,e){e=Object.assign({},n,e);var i=function(t){var e=0;return t.forEach((function(t){e=Math.max(e,t.population)})),e}(t),a=function(t,e,i){var r={Vibrant:null,DarkVibrant:null,LightVibrant:null,Muted:null,DarkMuted:null,LightMuted:null};return r.Vibrant=s(r,t,e,i.targetNormalLuma,i.minNormalLuma,i.maxNormalLuma,i.targetVibrantSaturation,i.minVibrantSaturation,1,i),r.LightVibrant=s(r,t,e,i.targetLightLuma,i.minLightLuma,1,i.targetVibrantSaturation,i.minVibrantSaturation,1,i),r.DarkVibrant=s(r,t,e,i.targetDarkLuma,0,i.maxDarkLuma,i.targetVibrantSaturation,i.minVibrantSaturation,1,i),r.Muted=s(r,t,e,i.targetNormalLuma,i.minNormalLuma,i.maxNormalLuma,i.targetMutesSaturation,0,i.maxMutesSaturation,i),r.LightMuted=s(r,t,e,i.targetLightLuma,i.minLightLuma,1,i.targetMutesSaturation,0,i.maxMutesSaturation,i),r.DarkMuted=s(r,t,e,i.targetDarkLuma,0,i.maxDarkLuma,i.targetMutesSaturation,0,i.maxMutesSaturation,i),r}(t,i,e);return function(t,e,i){if(!t.Vibrant&&!t.DarkVibrant&&!t.LightVibrant){if(!t.DarkVibrant&&t.DarkMuted){var n=t.DarkMuted.hsl,s=n[0],a=n[1],l=n[2];l=i.targetDarkLuma,t.DarkVibrant=new r.Swatch(o.hslToRgb(s,a,l),0)}if(!t.LightVibrant&&t.LightMuted){var c=t.LightMuted.hsl;s=c[0],a=c[1],l=c[2],l=i.targetDarkLuma,t.DarkVibrant=new r.Swatch(o.hslToRgb(s,a,l),0)}}if(!t.Vibrant&&t.DarkVibrant){var h=t.DarkVibrant.hsl;s=h[0],a=h[1],l=h[2],l=i.targetNormalLuma,t.Vibrant=new r.Swatch(o.hslToRgb(s,a,l),0)}else if(!t.Vibrant&&t.LightVibrant){var u=t.LightVibrant.hsl;s=u[0],a=u[1],l=u[2],l=i.targetNormalLuma,t.Vibrant=new r.Swatch(o.hslToRgb(s,a,l),0)}if(!t.DarkVibrant&&t.Vibrant){var p=t.Vibrant.hsl;s=p[0],a=p[1],l=p[2],l=i.targetDarkLuma,t.DarkVibrant=new r.Swatch(o.hslToRgb(s,a,l),0)}if(!t.LightVibrant&&t.Vibrant){var d=t.Vibrant.hsl;s=d[0],a=d[1],l=d[2],l=i.targetLightLuma,t.LightVibrant=new r.Swatch(o.hslToRgb(s,a,l),0)}if(!t.Muted&&t.Vibrant){var m=t.Vibrant.hsl;s=m[0],a=m[1],l=m[2],l=i.targetMutesSaturation,t.Muted=new r.Swatch(o.hslToRgb(s,a,l),0)}if(!t.DarkMuted&&t.DarkVibrant){var g=t.DarkVibrant.hsl;s=g[0],a=g[1],l=g[2],l=i.targetMutesSaturation,t.DarkMuted=new r.Swatch(o.hslToRgb(s,a,l),0)}if(!t.LightMuted&&t.LightVibrant){var f=t.LightVibrant.hsl;s=f[0],a=f[1],l=f[2],l=i.targetMutesSaturation,t.LightMuted=new r.Swatch(o.hslToRgb(s,a,l),0)}}(a,0,e),a}},function(t,e,i){var r=this&&this.__awaiter||function(t,e,i,r){return new(i||(i=Promise))((function(o,n){function s(t){try{l(r.next(t))}catch(t){n(t)}}function a(t){try{l(r.throw(t))}catch(t){n(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}l((r=r.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var i,r,o,n,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return n={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function a(n){return function(a){return function(n){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,r&&(o=2&n[0]?r.return:n[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,n[1])).done)return o;switch(r=0,o&&(n=[2&n[0],o.value]),n[0]){case 0:case 1:o=n;break;case 4:return s.label++,{value:n[1],done:!1};case 5:s.label++,r=n[1],n=[0];continue;case 7:n=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==n[0]&&2!==n[0])){s=0;continue}if(3===n[0]&&(!o||n[1]>o[0]&&n[1]{const r=[t,e,i].map((t=>{let e=t;return e/=255,e<=.03928?e/12.92:((e+.055)/1.055)**2.4}));return.2126*r[0]+.7152*r[1]+.0722*r[2]},fe=(t,e)=>Math.round(100*(((t,e)=>{const i=ge(...t),r=ge(...e);return(Math.max(i,r)+.05)/(Math.min(i,r)+.05)})(t,e)+Number.EPSILON))/100;me._pipeline.generator.register("default",(t=>{t.sort(((t,e)=>e.population-t.population));const e=t[0];let i;const r=new Map,o=(t,i)=>(r.has(t)||r.set(t,fe(e.rgb,i)),r.get(t)>4.5);for(let e=1;e150)&&o(e.hex,e.rgb)){i=e.rgb;break}}}return void 0===i&&(i=e.getYiq()<200?[255,255,255]:[0,0,0]),[new e.constructor(i,0).hex,e.hex]}));customElements.get("ha-slider")||customElements.define("ha-slider",class extends(customElements.get("paper-slider")){}),customElements.get("ha-icon-button")||customElements.define("ha-icon-button",class extends(customElements.get("paper-icon-button")){}),customElements.get("ha-icon")||customElements.define("ha-icon",class extends(customElements.get("iron-icon")){});const ve={en:{placeholder:{tts:"Text to speech"},label:{leave:"Leave",ungroup:"Ungroup",group_all:"Group all",send:"Send",master:"Master"},state:{idle:"Idle",unavailable:"Unavailable"},title:{speaker_management:"Group management"}},de:{placeholder:{tts:"Text zum Sprechen"},label:{leave:"Verlassen",ungroup:"Teilen",group_all:"Gruppieren",send:"Senden",master:"Master"},state:{idle:"Pause",unavailable:"Nicht verfügbar"},title:{speaker_management:"Wiedergabe auf"}},fr:{placeholder:{tts:"Texte à lire"},label:{leave:"Quitter",ungroup:"Dégrouper",group_all:"Grouper tous",send:"Envoyer"},state:{idle:"Inactif",unavailable:"Indisponible"},title:{speaker_management:"Gestion des groupes"}},hu:{placeholder:{tts:"Szövegfelolvasás"},label:{leave:"Kilépés",ungroup:"Összes ki",group_all:"Összes be",send:"Küldés",master:"Forrás"},state:{idle:"Tétlen",unavailable:"Nem elérhető"},title:{speaker_management:"Hangszórók csoportosítása"}},is:{placeholder:{tts:"Texti sem á að segja"},label:{leave:"Yfirgefa",ungroup:"Aðskilja",group_all:"Sameina alla",send:"Senda",master:"Stjórnandi"},state:{idle:"Aðgerðalaus",unavailable:"Ekki tiltækt"},title:{speaker_management:"Stjórnun hópa"}},no:{placeholder:{tts:"Tekst til tale"},label:{leave:"Forlat",ungroup:"Oppløs gruppe",group_all:"Grupper alle",send:"Send",master:"Master"},state:{idle:"Inaktiv",unavailable:"Utilgjengelig"},title:{speaker_management:"Gruppestyring"}},pl:{placeholder:{tts:"Zamień tekst na mowę"},label:{leave:"Opuść",ungroup:"Usuń grupę",group_all:"Grupuj wszystkie",send:"Wyślij"},state:{idle:"brak aktywności",unavailable:"niedostępny"},title:{speaker_management:"Zarządzanie grupą"}},uk:{placeholder:{tts:"Текст для відтворення"},label:{leave:"Залишити",ungroup:"Розгрупувати",group_all:"Згрупувати всі",send:"Надіслати",master:"Головний"},state:{idle:"бездіяльність",unavailable:"недоступний"},title:{speaker_management:"Управління групою"}},cz:{placeholder:{tts:"Převeď text na řeč"},label:{leave:"Odejít",ungroup:"Zrušit seskupení",group_all:"Seskupit vše",send:"Poslat",master:"Master"},state:{idle:"Nečinný",unavailable:"Nedostupný"},title:{speaker_management:"Správa skupin"}},ru:{placeholder:{tts:"Преобразование текста в речь"},label:{leave:"Покинуть",ungroup:"Разгруппировать",group_all:"Сгруппировать все",send:"Отправить",master:"Мастер"},state:{idle:"Бездействие",unavailable:"Недоступен"},title:{speaker_management:"Управление группой"}},es:{placeholder:{tts:"Texto a voz"},label:{leave:"Salir",ungroup:"Desagrupar",group_all:"Agrupar todos",send:"Enviar",master:"Maestro"},state:{idle:"Inactivo",unavailable:"No disponible"},title:{speaker_management:"Gestión de grupo"}},zh:{placeholder:{tts:"播放文本"},label:{leave:"退出",ungroup:"取消组合",group_all:"组合全部",send:"发送",master:"主要的"},state:{idle:"空闲",unavailable:"不可用"},title:{speaker_management:"组合管理"}},ca:{placeholder:{tts:"Text a veu"},label:{leave:"Sortir",ungroup:"Desagrupar",group_all:"Agrupar-los tots",send:"Enviar",master:"Mestre"},state:{idle:"Inactiu",unavailable:"No disponible"},title:{speaker_management:"Gestió del grup"}}},_e=(t,e)=>e.split(".").reduce(((t,e)=>t&&t[e]||null),t),ye=(t,e,i,r="unknown")=>{const o=t.selectedLanguage||t.language,n=o.split("-")[0];return ve[o]&&_e(ve[o],e)||t.resources[o]&&i&&t.resources[o][i]||ve[n]&&_e(ve[n],e)||_e(ve.en,e)||r};let be=class extends ot{render(){return I` +`;var ce=(t,e,i,r,o)=>{let n;switch(r.action){case"more-info":n=new Event("hass-more-info",{composed:!0}),n.detail={entityId:r.entity||o},t.dispatchEvent(n);break;case"navigate":if(!r.navigation_path)return;window.history.pushState(null,"",r.navigation_path),n=new Event("location-changed",{composed:!0}),n.detail={replace:!1},window.dispatchEvent(n);break;case"call-service":{if(!r.service)return;const[t,i]=r.service.split(".",2),o={...r.service_data};e.callService(t,i,o);break}case"url":if(!r.url)return;r.new_tab?window.open(r.url,"_blank"):window.location.href=r.url;break;case"fire-dom-event":n=new Event("ll-custom",{composed:!0,bubbles:!0}),n.detail=r,t.dispatchEvent(n)}r.haptic&&((t,e)=>{const i=new Event("haptic",{composed:!0});i.detail={haptic:e},t.dispatchEvent(i)})(t,r.haptic)};var he,ue,pe,de=(he=function(t,e){var i;window,i=function(){return function(t){var e={};function i(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=t,i.c=e,i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)i.d(r,o,function(e){return t[e]}.bind(null,o));return r},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=10)}([function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0}),e.assignDeep=e.mapValues=void 0,e.mapValues=function(t,e){var i={};for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];i[r]=e(o)}return i},e.assignDeep=function t(e){for(var i=[],r=1;r0){var o=Math.max(e,i);o>t.maxDimension&&(r=t.maxDimension/o)}else r=1/t.quality;r<1&&this.resize(e*r,i*r,r)},t}();e.ImageBase=r,e.applyFilters=function(t,e){if(e.length>0)for(var i=t.data,r=i.length/4,o=void 0,n=void 0,s=void 0,a=void 0,l=void 0,c=0;c0?t.filter((function(t){for(var i=t.r,r=t.g,o=t.b,n=0;n.04045?Math.pow((t+.005)/1.055,2.4):t/12.92,e=e>.04045?Math.pow((e+.005)/1.055,2.4):e/12.92,i=i>.04045?Math.pow((i+.005)/1.055,2.4):i/12.92,[.4124*(t*=100)+.3576*(e*=100)+.1805*(i*=100),.2126*t+.7152*e+.0722*i,.0193*t+.1192*e+.9505*i]}function n(t,e,i){return e/=100,i/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(e=e>.008856?Math.pow(e,1/3):7.787*e+16/116)-16,500*(t-e),200*(e-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]}function s(t,e,i){var r=o(t,e,i);return n(r[0],r[1],r[2])}function a(t,e){var i=t[0],r=t[1],o=t[2],n=e[0],s=e[1],a=e[2],l=i-n,c=r-s,h=o-a,u=Math.sqrt(r*r+o*o),p=n-i,d=Math.sqrt(s*s+a*a)-u,m=Math.sqrt(l*l+c*c+h*h),g=Math.sqrt(m)>Math.sqrt(Math.abs(p))+Math.sqrt(Math.abs(d))?Math.sqrt(m*m-p*p-d*d):0;return p/=1,d/=1*(1+.045*u),g/=1*(1+.015*u),Math.sqrt(p*p+d*d+g*g)}function l(t,e){return a(s.apply(void 0,t),s.apply(void 0,e))}Object.defineProperty(e,"__esModule",{value:!0}),e.getColorDiffStatus=e.hexDiff=e.rgbDiff=e.deltaE94=e.rgbToCIELab=e.xyzToCIELab=e.rgbToXyz=e.hslToRgb=e.rgbToHsl=e.rgbToHex=e.hexToRgb=e.DELTAE94_DIFF_STATUS=void 0,e.DELTAE94_DIFF_STATUS={NA:0,PERFECT:1,CLOSE:2,GOOD:10,SIMILAR:50},e.hexToRgb=r,e.rgbToHex=function(t,e,i){return"#"+((1<<24)+(t<<16)+(e<<8)+i).toString(16).slice(1,7)},e.rgbToHsl=function(t,e,i){t/=255,e/=255,i/=255;var r=Math.max(t,e,i),o=Math.min(t,e,i),n=0,s=0,a=(r+o)/2;if(r!==o){var l=r-o;switch(s=a>.5?l/(2-r-o):l/(r+o),r){case t:n=(e-i)/l+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}if(0===e)r=o=n=i;else{var a=i<.5?i*(1+e):i+e-i*e,l=2*i-a;r=s(l,a,t+1/3),o=s(l,a,t),n=s(l,a,t-1/3)}return[255*r,255*o,255*n]},e.rgbToXyz=o,e.xyzToCIELab=n,e.rgbToCIELab=s,e.deltaE94=a,e.rgbDiff=l,e.hexDiff=function(t,e){return l(r(t),r(e))},e.getColorDiffStatus=function(t){return t0&&this._opts.filters.splice(e)}return this},t.prototype.clearFilters=function(){return this._opts.filters=[],this},t.prototype.quality=function(t){return this._opts.quality=t,this},t.prototype.useImageClass=function(t){return this._opts.ImageClass=t,this},t.prototype.useGenerator=function(t,e){return this._opts.generators||(this._opts.generators=[]),this._opts.generators.push(e?{name:t,options:e}:t),this},t.prototype.useQuantizer=function(t,e){return this._opts.quantizer=e?{name:t,options:e}:t,this},t.prototype.build=function(){return new o.default(this._src,this._opts)},t.prototype.getPalette=function(t){return this.build().getPalette(t)},t.prototype.getSwatches=function(t){return this.build().getPalette(t)},t}();e.default=s},function(t,e,i){var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])},r(t,e)},function(t,e){function i(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype._initCanvas=function(){var t=this.image,e=this._canvas=document.createElement("canvas"),i=e.getContext("2d");if(!i)throw new ReferenceError("Failed to create canvas context");this._context=i,e.className="@vibrant/canvas",e.style.display="none",this._width=e.width=t.width,this._height=e.height=t.height,i.drawImage(t,0,0),document.body.appendChild(e)},e.prototype.load=function(t){var e,i,r,o,n,s,a,l=this;if("string"==typeof t)e=document.createElement("img"),i=t,(a=new URL(i,location.href)).protocol===location.protocol&&a.host===location.host&&a.port===location.port||(r=window.location.href,o=i,n=new URL(r),s=new URL(o),n.protocol===s.protocol&&n.hostname===s.hostname&&n.port===s.port)||(e.crossOrigin="anonymous"),e.src=i;else{if(!(t instanceof HTMLImageElement))return Promise.reject(new Error("Cannot load buffer as an image in browser"));e=t,i=t.src}return this.image=e,new Promise((function(t,r){var o=function(){l._initCanvas(),t(l)};e.complete?o():(e.onload=o,e.onerror=function(t){return r(new Error("Fail to load image: "+i))})}))},e.prototype.clear=function(){this._context.clearRect(0,0,this._width,this._height)},e.prototype.update=function(t){this._context.putImageData(t,0,0)},e.prototype.getWidth=function(){return this._width},e.prototype.getHeight=function(){return this._height},e.prototype.resize=function(t,e,i){var r=this,o=r._canvas,n=r._context,s=r.image;this._width=o.width=t,this._height=o.height=e,n.scale(i,i),n.drawImage(s,0,0)},e.prototype.getPixelCount=function(){return this._width*this._height},e.prototype.getImageData=function(){return this._context.getImageData(0,0,this._width,this._height)},e.prototype.remove=function(){this._canvas&&this._canvas.parentNode&&this._canvas.parentNode.removeChild(this._canvas)},e}(i(2).ImageBase);e.default=n},function(t,e,i){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},o=i(5),n=r(i(11));o.use(n.default),t.exports=o},function(t,e,i){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(i(12)),n=r(i(16)),s=(new(i(17).BasicPipeline)).filter.register("default",(function(t,e,i,r){return r>=125&&!(t>250&&e>250&&i>250)})).quantizer.register("mmcq",o.default).generator.register("default",n.default);e.default=s},function(t,e,i){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=i(3),n=r(i(13)),s=r(i(15));function a(t,e){for(var i=t.size();t.size()0))break;var o=r.split(),n=o[0],s=o[1];if(t.push(n),s&&s.count()>0&&t.push(s),t.size()===i)break;i=t.size()}}e.default=function(t,e){if(0===t.length||e.colorCount<2||e.colorCount>256)throw new Error("Wrong MMCQ parameters");var i=n.default.build(t);i.histogram.colorCount;var r=new s.default((function(t,e){return t.count()-e.count()}));r.push(i),a(r,.75*e.colorCount);var l=new s.default((function(t,e){return t.count()*t.volume()-e.count()*e.volume()}));return l.contents=r.contents,a(l,e.colorCount-l.size()),function(t){for(var e=[];t.size();){var i=t.pop(),r=i.avg();r[0],r[1],r[2],e.push(new o.Swatch(r,i.count()))}return e}(l)}},function(t,e,i){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(i(14)),n=function(){function t(t,e,i,r,o,n,s){this.histogram=s,this._volume=-1,this._count=-1,this.dimension={r1:t,r2:e,g1:i,g2:r,b1:o,b2:n}}return t.build=function(e){var i=new o.default(e,{sigBits:5});return new t(i.rmin,i.rmax,i.gmin,i.gmax,i.bmin,i.bmax,i)},t.prototype.invalidate=function(){this._volume=this._count=-1,this._avg=null},t.prototype.volume=function(){if(this._volume<0){var t=this.dimension,e=t.r1,i=t.r2,r=t.g1,o=t.g2,n=t.b1,s=t.b2;this._volume=(i-e+1)*(o-r+1)*(s-n+1)}return this._volume},t.prototype.count=function(){if(this._count<0){for(var t=this.histogram,e=t.hist,i=t.getColorIndex,r=this.dimension,o=r.r1,n=r.r2,s=r.g1,a=r.g2,l=r.b1,c=r.b2,h=0,u=o;u<=n;u++)for(var p=s;p<=a;p++)for(var d=l;d<=c;d++)h+=e[i(u,p,d)];this._count=h}return this._count},t.prototype.clone=function(){var e=this.histogram,i=this.dimension;return new t(i.r1,i.r2,i.g1,i.g2,i.b1,i.b2,e)},t.prototype.avg=function(){if(!this._avg){var t=this.histogram,e=t.hist,i=t.getColorIndex,r=this.dimension,o=r.r1,n=r.r2,s=r.g1,a=r.g2,l=r.b1,c=r.b2,h=0,u=void 0,p=void 0,d=void 0;u=p=d=0;for(var m=o;m<=n;m++)for(var g=s;g<=a;g++)for(var f=l;f<=c;f++){var v=e[i(m,g,f)];h+=v,u+=v*(m+.5)*8,p+=v*(g+.5)*8,d+=v*(f+.5)*8}this._avg=h?[~~(u/h),~~(p/h),~~(d/h)]:[~~(8*(o+n+1)/2),~~(8*(s+a+1)/2),~~(8*(l+c+1)/2)]}return this._avg},t.prototype.contains=function(t){var e=t[0],i=t[1],r=t[2],o=this.dimension,n=o.r1,s=o.r2,a=o.g1,l=o.g2,c=o.b1,h=o.b2;return i>>=3,r>>=3,(e>>=3)>=n&&e<=s&&i>=a&&i<=l&&r>=c&&r<=h},t.prototype.split=function(){var t=this.histogram,e=t.hist,i=t.getColorIndex,r=this.dimension,o=r.r1,n=r.r2,s=r.g1,a=r.g2,l=r.b1,c=r.b2,h=this.count();if(!h)return[];if(1===h)return[this.clone()];var u,p,d=n-o+1,m=a-s+1,g=c-l+1,f=Math.max(d,m,g),v=null;u=p=0;var _=null;if(f===d){_="r",v=new Uint32Array(n+1);for(var y=o;y<=n;y++){u=0;for(var b=s;b<=a;b++)for(var w=l;w<=c;w++)u+=e[i(y,b,w)];p+=u,v[y]=p}}else if(f===m)for(_="g",v=new Uint32Array(a+1),b=s;b<=a;b++){for(u=0,y=o;y<=n;y++)for(w=l;w<=c;w++)u+=e[i(y,b,w)];p+=u,v[b]=p}else for(_="b",v=new Uint32Array(c+1),w=l;w<=c;w++){for(u=0,y=o;y<=n;y++)for(b=s;b<=a;b++)u+=e[i(y,b,w)];p+=u,v[w]=p}for(var x=-1,k=new Uint32Array(v.length),S=0;Sp/2&&(x=S),k[S]=p-$}var P=this;return function(t){var e=t+"1",i=t+"2",r=P.dimension[e],o=P.dimension[i],n=P.clone(),s=P.clone(),a=x-r,l=o-x;for(a<=l?(o=Math.min(o-1,~~(x+l/2)),o=Math.max(0,o)):(o=Math.max(r,~~(x-1-a/2)),o=Math.min(P.dimension[i],o));!v[o];)o++;for(var c=k[o];!c&&v[o-1];)c=k[--o];return n.dimension[i]=o,s.dimension[e]=o+1,[n,s]}(_)},t}();e.default=n},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t,e){this.pixels=t,this.opts=e;var i=e.sigBits,r=function(t,e,r){return(t<<2*i)+(e<>=d,u>>=d,p>>=d)]+=1,h>o&&(o=h),hs&&(s=u),ul&&(l=p),p0?t+1:t}),0),this.hist=m,this.rmax=o,this.rmin=n,this.gmax=s,this.gmin=a,this.bmax=l,this.bmin=c}return Object.defineProperty(t.prototype,"colorCount",{get:function(){return this._colorCount},enumerable:!1,configurable:!0}),t}();e.default=r},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(t){this._comparator=t,this.contents=[],this._sorted=!1}return t.prototype._sort=function(){this._sorted||(this.contents.sort(this._comparator),this._sorted=!0)},t.prototype.push=function(t){this.contents.push(t),this._sorted=!1},t.prototype.peek=function(t){return this._sort(),t="number"==typeof t?t:this.contents.length-1,this.contents[t]},t.prototype.pop=function(){return this._sort(),this.contents.pop()},t.prototype.size=function(){return this.contents.length},t.prototype.map=function(t){return this._sort(),this.contents.map(t)},t}();e.default=r},function(t,e,i){Object.defineProperty(e,"__esModule",{value:!0});var r=i(3),o=i(4),n={targetDarkLuma:.26,maxDarkLuma:.45,minLightLuma:.55,targetLightLuma:.74,minNormalLuma:.3,targetNormalLuma:.5,maxNormalLuma:.7,targetMutesSaturation:.3,maxMutesSaturation:.4,targetVibrantSaturation:1,minVibrantSaturation:.35,weightSaturation:3,weightLuma:6.5,weightPopulation:.5};function s(t,e,i,r,o,n,s,a,l,c){var h=null,u=0;return e.forEach((function(e){var p=e.hsl,d=p[1],m=p[2];if(d>=a&&d<=l&&m>=o&&m<=n&&!function(t,e){return t.Vibrant===e||t.DarkVibrant===e||t.LightVibrant===e||t.Muted===e||t.DarkMuted===e||t.LightMuted===e}(t,e)){var g=function(t,e,i,r,o,n,s){function a(t,e){return 1-Math.abs(t-e)}return function(){for(var t=[],e=0;eu)&&(h=e,u=g)}})),h}e.default=function(t,e){e=Object.assign({},n,e);var i=function(t){var e=0;return t.forEach((function(t){e=Math.max(e,t.population)})),e}(t),a=function(t,e,i){var r={Vibrant:null,DarkVibrant:null,LightVibrant:null,Muted:null,DarkMuted:null,LightMuted:null};return r.Vibrant=s(r,t,e,i.targetNormalLuma,i.minNormalLuma,i.maxNormalLuma,i.targetVibrantSaturation,i.minVibrantSaturation,1,i),r.LightVibrant=s(r,t,e,i.targetLightLuma,i.minLightLuma,1,i.targetVibrantSaturation,i.minVibrantSaturation,1,i),r.DarkVibrant=s(r,t,e,i.targetDarkLuma,0,i.maxDarkLuma,i.targetVibrantSaturation,i.minVibrantSaturation,1,i),r.Muted=s(r,t,e,i.targetNormalLuma,i.minNormalLuma,i.maxNormalLuma,i.targetMutesSaturation,0,i.maxMutesSaturation,i),r.LightMuted=s(r,t,e,i.targetLightLuma,i.minLightLuma,1,i.targetMutesSaturation,0,i.maxMutesSaturation,i),r.DarkMuted=s(r,t,e,i.targetDarkLuma,0,i.maxDarkLuma,i.targetMutesSaturation,0,i.maxMutesSaturation,i),r}(t,i,e);return function(t,e,i){if(!t.Vibrant&&!t.DarkVibrant&&!t.LightVibrant){if(!t.DarkVibrant&&t.DarkMuted){var n=t.DarkMuted.hsl,s=n[0],a=n[1],l=n[2];l=i.targetDarkLuma,t.DarkVibrant=new r.Swatch(o.hslToRgb(s,a,l),0)}if(!t.LightVibrant&&t.LightMuted){var c=t.LightMuted.hsl;s=c[0],a=c[1],l=c[2],l=i.targetDarkLuma,t.DarkVibrant=new r.Swatch(o.hslToRgb(s,a,l),0)}}if(!t.Vibrant&&t.DarkVibrant){var h=t.DarkVibrant.hsl;s=h[0],a=h[1],l=h[2],l=i.targetNormalLuma,t.Vibrant=new r.Swatch(o.hslToRgb(s,a,l),0)}else if(!t.Vibrant&&t.LightVibrant){var u=t.LightVibrant.hsl;s=u[0],a=u[1],l=u[2],l=i.targetNormalLuma,t.Vibrant=new r.Swatch(o.hslToRgb(s,a,l),0)}if(!t.DarkVibrant&&t.Vibrant){var p=t.Vibrant.hsl;s=p[0],a=p[1],l=p[2],l=i.targetDarkLuma,t.DarkVibrant=new r.Swatch(o.hslToRgb(s,a,l),0)}if(!t.LightVibrant&&t.Vibrant){var d=t.Vibrant.hsl;s=d[0],a=d[1],l=d[2],l=i.targetLightLuma,t.LightVibrant=new r.Swatch(o.hslToRgb(s,a,l),0)}if(!t.Muted&&t.Vibrant){var m=t.Vibrant.hsl;s=m[0],a=m[1],l=m[2],l=i.targetMutesSaturation,t.Muted=new r.Swatch(o.hslToRgb(s,a,l),0)}if(!t.DarkMuted&&t.DarkVibrant){var g=t.DarkVibrant.hsl;s=g[0],a=g[1],l=g[2],l=i.targetMutesSaturation,t.DarkMuted=new r.Swatch(o.hslToRgb(s,a,l),0)}if(!t.LightMuted&&t.LightVibrant){var f=t.LightVibrant.hsl;s=f[0],a=f[1],l=f[2],l=i.targetMutesSaturation,t.LightMuted=new r.Swatch(o.hslToRgb(s,a,l),0)}}(a,0,e),a}},function(t,e,i){var r=this&&this.__awaiter||function(t,e,i,r){return new(i||(i=Promise))((function(o,n){function s(t){try{l(r.next(t))}catch(t){n(t)}}function a(t){try{l(r.throw(t))}catch(t){n(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}l((r=r.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var i,r,o,n,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return n={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function a(n){return function(a){return function(n){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,r&&(o=2&n[0]?r.return:n[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,n[1])).done)return o;switch(r=0,o&&(n=[2&n[0],o.value]),n[0]){case 0:case 1:o=n;break;case 4:return s.label++,{value:n[1],done:!1};case 5:s.label++,r=n[1],n=[0];continue;case 7:n=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==n[0]&&2!==n[0])){s=0;continue}if(3===n[0]&&(!o||n[1]>o[0]&&n[1]{const r=[t,e,i].map((t=>{let e=t;return e/=255,e<=.03928?e/12.92:((e+.055)/1.055)**2.4}));return.2126*r[0]+.7152*r[1]+.0722*r[2]},fe=(t,e)=>Math.round(100*(((t,e)=>{const i=ge(...t),r=ge(...e);return(Math.max(i,r)+.05)/(Math.min(i,r)+.05)})(t,e)+Number.EPSILON))/100;me._pipeline.generator.register("default",(t=>{t.sort(((t,e)=>e.population-t.population));const e=t[0];let i;const r=new Map,o=(t,i)=>(r.has(t)||r.set(t,fe(e.rgb,i)),r.get(t)>4.5);for(let e=1;e150)&&o(e.hex,e.rgb)){i=e.rgb;break}}}return void 0===i&&(i=e.getYiq()<200?[255,255,255]:[0,0,0]),[new e.constructor(i,0).hex,e.hex]}));customElements.get("ha-slider")||customElements.define("ha-slider",class extends(customElements.get("paper-slider")){}),customElements.get("ha-icon-button")||customElements.define("ha-icon-button",class extends(customElements.get("paper-icon-button")){}),customElements.get("ha-icon")||customElements.define("ha-icon",class extends(customElements.get("iron-icon")){});const ve={en:{placeholder:{tts:"Text to speech"},label:{leave:"Leave",ungroup:"Ungroup",group_all:"Group all",send:"Send",master:"Master"},state:{idle:"Idle",unavailable:"Unavailable"},title:{speaker_management:"Group management"}},de:{placeholder:{tts:"Text zum Sprechen"},label:{leave:"Verlassen",ungroup:"Teilen",group_all:"Gruppieren",send:"Senden",master:"Master"},state:{idle:"Pause",unavailable:"Nicht verfügbar"},title:{speaker_management:"Wiedergabe auf"}},fi:{placeholder:{tts:"Teksti puheeksi"},label:{leave:"Jätä",ungroup:"Pura ryhmä",group_all:"Liitä kaikki",send:"Lähetä",master:"Master"},state:{idle:"Tauko",unavailable:"Ei käytettävissä"},title:{speaker_management:"Ryhmän hallinta"}},fr:{placeholder:{tts:"Texte à lire"},label:{leave:"Quitter",ungroup:"Dégrouper",group_all:"Grouper tous",send:"Envoyer"},state:{idle:"Inactif",unavailable:"Indisponible"},title:{speaker_management:"Gestion des groupes"}},hu:{placeholder:{tts:"Szövegfelolvasás"},label:{leave:"Kilépés",ungroup:"Összes ki",group_all:"Összes be",send:"Küldés",master:"Forrás"},state:{idle:"Tétlen",unavailable:"Nem elérhető"},title:{speaker_management:"Hangszórók csoportosítása"}},is:{placeholder:{tts:"Texti sem á að segja"},label:{leave:"Yfirgefa",ungroup:"Aðskilja",group_all:"Sameina alla",send:"Senda",master:"Stjórnandi"},state:{idle:"Aðgerðalaus",unavailable:"Ekki tiltækt"},title:{speaker_management:"Stjórnun hópa"}},no:{placeholder:{tts:"Tekst til tale"},label:{leave:"Forlat",ungroup:"Oppløs gruppe",group_all:"Grupper alle",send:"Send",master:"Master"},state:{idle:"Inaktiv",unavailable:"Utilgjengelig"},title:{speaker_management:"Gruppestyring"}},pl:{placeholder:{tts:"Zamień tekst na mowę"},label:{leave:"Opuść",ungroup:"Usuń grupę",group_all:"Grupuj wszystkie",send:"Wyślij"},state:{idle:"brak aktywności",unavailable:"niedostępny"},title:{speaker_management:"Zarządzanie grupą"}},sv:{placeholder:{tts:"Text till tal"},label:{leave:"Lämna",ungroup:"Avgruppera",group_all:"Gruppera alla",send:"Skicka",master:"Master"},state:{idle:"Inaktiv",unavailable:"Otillgänglig"},title:{speaker_management:"Gruppstyrning"}},uk:{placeholder:{tts:"Текст для відтворення"},label:{leave:"Залишити",ungroup:"Розгрупувати",group_all:"Згрупувати всі",send:"Надіслати",master:"Головний"},state:{idle:"бездіяльність",unavailable:"недоступний"},title:{speaker_management:"Управління групою"}},cz:{placeholder:{tts:"Převeď text na řeč"},label:{leave:"Odejít",ungroup:"Zrušit seskupení",group_all:"Seskupit vše",send:"Poslat",master:"Master"},state:{idle:"Nečinný",unavailable:"Nedostupný"},title:{speaker_management:"Správa skupin"}},ru:{placeholder:{tts:"Преобразование текста в речь"},label:{leave:"Покинуть",ungroup:"Разгруппировать",group_all:"Сгруппировать все",send:"Отправить",master:"Мастер"},state:{idle:"Бездействие",unavailable:"Недоступен"},title:{speaker_management:"Управление группой"}},es:{placeholder:{tts:"Texto a voz"},label:{leave:"Salir",ungroup:"Desagrupar",group_all:"Agrupar todos",send:"Enviar",master:"Maestro"},state:{idle:"Inactivo",unavailable:"No disponible"},title:{speaker_management:"Gestión de grupo"}},zh:{placeholder:{tts:"播放文本"},label:{leave:"退出",ungroup:"取消组合",group_all:"组合全部",send:"发送",master:"主要的"},state:{idle:"空闲",unavailable:"不可用"},title:{speaker_management:"组合管理"}},ca:{placeholder:{tts:"Text a veu"},label:{leave:"Sortir",ungroup:"Desagrupar",group_all:"Agrupar-los tots",send:"Enviar",master:"Mestre"},state:{idle:"Inactiu",unavailable:"No disponible"},title:{speaker_management:"Gestió del grup"}}},_e=(t,e)=>e.split(".").reduce(((t,e)=>t&&t[e]||null),t),ye=(t,e,i,r="unknown")=>{const o=t.selectedLanguage||t.language,n=o.split("-")[0];return ve[o]&&_e(ve[o],e)||t.resources[o]&&i&&t.resources[o][i]||ve[n]&&_e(ve[n],e)||_e(ve.en,e)||r};let be=class extends ot{render(){return I` ${this.label} @@ -706,7 +706,7 @@ class nt{constructor(t){this.classes=new Set,this.changed=!1,this.element=t;cons span[disabled] { opacity: 0.65; } - `}};t([Z({attribute:!1})],be.prototype,"checked",void 0),t([Z({attribute:!1})],be.prototype,"disabled",void 0),t([Z({attribute:!1})],be.prototype,"label",void 0),be=t([J("mmp-checkbox")],be);let we=class extends ot{render(){return I` + `}};t([Z({attribute:!1})],be.prototype,"checked",void 0),t([Z({attribute:!1})],be.prototype,"disabled",void 0),t([Z({attribute:!1})],be.prototype,"label",void 0),be=t([X("mmp-checkbox")],be);let we=class extends ot{render(){return I`
@@ -774,7 +774,7 @@ class nt{constructor(t){this.classes=new Set,this.changed=!1,this.element=t;cons top: 0; bottom: 0; } - `}};xe=t([J("mmp-button")],xe);let ke=class extends ot{get group(){return this.player.group}get master(){return this.player.master}get isMaster(){return this.player.isMaster}get isGrouped(){return this.player.isGrouped}handleGroupChange(t){const{entity:e,checked:i}=t.detail;this.player.handleGroupChange(t,e,i)}render(){if(!this.visible)return I``;const{group:t,isMaster:e,isGrouped:i}=this,{id:r}=this.player;return I` + `}};xe=t([X("mmp-button")],xe);let ke=class extends ot{get group(){return this.player.group}get master(){return this.player.master}get isMaster(){return this.player.isMaster}get isGrouped(){return this.player.isGrouped}handleGroupChange(t){const{entity:e,checked:i}=t.detail;this.player.handleGroupChange(t,e,i)}render(){if(!this.visible)return I``;const{group:t,isMaster:e,isGrouped:i}=this,{id:r}=this.player;return I`
${ye(this.hass,"title.speaker_management")} ${this.entities.map((t=>this.renderItem(t,r)))} @@ -827,7 +827,7 @@ class nt{constructor(t){this.classes=new Set,this.changed=!1,this.element=t;cons width: 50%; --mdc-theme-primary: transparent; } - `}};t([Z({attribute:!1})],ke.prototype,"hass",void 0),t([Z({attribute:!1})],ke.prototype,"entities",void 0),t([Z({attribute:!1})],ke.prototype,"player",void 0),t([Z({attribute:!1})],ke.prototype,"visible",void 0),ke=t([J("mmp-group-list")],ke);customElements.define("mmp-dropdown",class extends ot{static get properties(){return{items:[],label:String,selected:String,id:String,isOpen:Boolean}}get selectedIndex(){return this.items.map((t=>t.id)).indexOf(this.selected)}firstUpdated(){const t=this.shadowRoot.querySelector("#menu"),e=this.shadowRoot.querySelector("#button");t.anchor=e}render(){return I` + `}};t([Z({attribute:!1})],ke.prototype,"hass",void 0),t([Z({attribute:!1})],ke.prototype,"entities",void 0),t([Z({attribute:!1})],ke.prototype,"player",void 0),t([Z({attribute:!1})],ke.prototype,"visible",void 0),ke=t([X("mmp-group-list")],ke);customElements.define("mmp-dropdown",class extends ot{static get properties(){return{items:[],label:String,selected:String,id:String,isOpen:Boolean}}get selectedIndex(){return this.items.map((t=>t.id)).indexOf(this.selected)}firstUpdated(){const t=this.shadowRoot.querySelector("#menu"),e=this.shadowRoot.querySelector("#button");t.anchor=e}render(){return I`
t.stopPropagation()} @@ -836,9 +836,9 @@ class nt{constructor(t){this.classes=new Set,this.changed=!1,this.element=t;cons - + `:I` ${this.selected||this.label} - +
`} @@ -1132,7 +1132,7 @@ class nt{constructor(t){this.classes=new Set,this.changed=!1,this.element=t;cons :host([full]) { max-width: none; } - `}};t([Z({attribute:!1})],$e.prototype,"player",void 0),t([Z({attribute:!1})],$e.prototype,"icon",void 0),$e=t([J("mmp-source-menu")],$e);let Pe=class extends ot{constructor(){super(...arguments),this.selected=void 0}get mode(){return this.player.soundMode}get alternatives(){return this.player.soundModes.map((t=>({name:t,id:t,type:"soundMode"})))}render(){return I` + `}};t([Z({attribute:!1})],$e.prototype,"player",void 0),t([Z({attribute:!1})],$e.prototype,"icon",void 0),$e=t([X("mmp-source-menu")],$e);let Pe=class extends ot{constructor(){super(...arguments),this.selected=void 0}get mode(){return this.player.soundMode}get alternatives(){return this.player.soundModes.map((t=>({name:t,id:t,type:"soundMode"})))}render(){return I` this.player.jump(t,-this.jumpAmount)} - .icon=${Xt}> - + .icon=${Jt}> + `}handleStop(t){return this.config.hide.play_pause?this.player.playStop(t):this.player.stop(t)}handleVolumeChange(t){const e=parseFloat(t.target.value)/100;this.player.setVolume(t,e)}static get styles(){return[le,it` :host { @@ -1332,7 +1332,7 @@ class nt{constructor(t){this.classes=new Set,this.changed=!1,this.element=t;cons flex-shrink: 200; justify-content: center; } - `]}});customElements.define("mmp-powerstrip",class extends ot{static get properties(){return{hass:{},player:{},config:{},groupVisible:Boolean,idle:Boolean}}get icon(){return this.config.speaker_group.icon||Lt}get showGroupButton(){return this.config.speaker_group.entities.length>0}get showPowerButton(){return!this.config.hide.power}get powerColor(){return this.player.isActive&&!this.config.hide.power_state}get sourceSize(){return"icon"===this.config.source||this.hasControls||this.idle}get soundSize(){return"icon"===this.config.sound_mode||this.hasControls||this.idle}get hasControls(){return this.player.isActive&&this.config.hide.controls!==this.config.hide.volume}get hasSource(){return this.player.sources.length>0&&!this.config.hide.source}get hasSoundMode(){return this.player.soundModes.length>0&&!this.config.hide.sound_mode}get showLabel(){return!this.config.hide.state_label}render(){return this.player.isUnavailable&&this.showLabel?I` + `]}});customElements.define("mmp-powerstrip",class extends ot{static get properties(){return{hass:{},player:{},config:{},groupVisible:Boolean,idle:Boolean}}get icon(){return this.config.speaker_group.icon||jt}get showGroupButton(){return this.config.speaker_group.entities.length>0}get showPowerButton(){return!this.config.hide.power}get powerColor(){return this.player.isActive&&!this.config.hide.power_state}get sourceSize(){return"icon"===this.config.source||this.hasControls||this.idle}get soundSize(){return"icon"===this.config.sound_mode||this.hasControls||this.idle}get hasControls(){return this.player.isActive&&this.config.hide.controls!==this.config.hide.volume}get hasSource(){return this.player.sources.length>0&&!this.config.hide.source}get hasSoundMode(){return this.player.soundModes.length>0&&!this.config.hide.sound_mode}get showLabel(){return!this.config.hide.state_label}render(){return this.player.isUnavailable&&this.showLabel?I` ${ye(this.hass,"state.unavailable","state.default.unavailable")} `:I` ${this.idle?this.renderIdleView:""} @@ -1384,7 +1384,7 @@ class nt{constructor(t){this.classes=new Set,this.changed=!1,this.element=t;cons ha-icon-button { min-width: var(--mmp-unit); } - `]}});let Ce=class extends ot{constructor(){super(...arguments),this.initial=!0,this.picture=void 0,this.thumbnail="",this.prevThumbnail="",this.edit=!1,this.rtl=!1,this.cardHeight=0,this.foregroundColor="",this.backgroundColor="",this.break=!1}set hass(t){if(!t)return;const e=t.states[this.config.entity];if(this._hass=t,e&&this.entity!==e&&(this.entity=e,this.player=new se(t,this.config,e),this.rtl=this.computeRTL(t),this.idle=this.player.idle,this.player.trackIdle&&this.updateIdleStatus()),this.config&&this.config.speaker_group&&this.config.speaker_group.group_mgmt_entity){const e=t.states[this.config.speaker_group.group_mgmt_entity];e&&this.groupMgmtEntity!==e&&(this.groupMgmtEntity=e,this.groupMgmtPlayer=new se(t,this.config,e))}}get hass(){return this._hass}static async getConfigElement(){return await Promise.resolve().then((function(){return je})),document.createElement("mini-media-player-editor")}static get styles(){return[le,ae]}set overflow(t){this._overflow!==t&&(this._overflow=t)}get overflow(){return this._overflow}get name(){return this.config.name||this.player.name}setConfig(t){this.config=oe(t)}shouldUpdate(t){return void 0===this.break&&this.computeRect(this),t.has("prevThumbnail")&&this.prevThumbnail&&setTimeout((()=>{this.prevThumbnail=""}),1e3),t.has("player")&&"material"===this.config.artwork&&this.setColors(),Jt.some((e=>t.has(e)))&&Boolean(this.player)}firstUpdated(){new Ot((t=>{t.forEach((t=>{window.requestAnimationFrame((()=>{"scroll"===this.config.info&&this.computeOverflow(),this._resizeTimer||(this.computeRect(t),this._resizeTimer=setTimeout((()=>{this._resizeTimer=void 0,this._resizeEntry&&(this.computeRect(this._resizeEntry),this.measureCard())}),250)),this._resizeEntry=t}))}))})).observe(this),setTimeout((()=>this.initial=!1),250),this.edit=this.config.speaker_group.expanded||!1}updated(){"scroll"===this.config.info&&setTimeout((()=>{this.computeOverflow()}),10)}render({config:t}=this){return this.computeArtwork(),I` + `]}});let Ce=class extends ot{constructor(){super(...arguments),this.initial=!0,this.picture=void 0,this.thumbnail="",this.prevThumbnail="",this.edit=!1,this.rtl=!1,this.cardHeight=0,this.foregroundColor="",this.backgroundColor="",this.break=!1}set hass(t){if(!t)return;const e=t.states[this.config.entity];if(this._hass=t,e&&this.entity!==e&&(this.entity=e,this.player=new se(t,this.config,e),this.rtl=this.computeRTL(t),this.idle=this.player.idle,this.player.trackIdle&&this.updateIdleStatus()),this.config&&this.config.speaker_group&&this.config.speaker_group.group_mgmt_entity){const e=t.states[this.config.speaker_group.group_mgmt_entity];e&&this.groupMgmtEntity!==e&&(this.groupMgmtEntity=e,this.groupMgmtPlayer=new se(t,this.config,e))}}get hass(){return this._hass}static async getConfigElement(){return await Promise.resolve().then((function(){return Le})),document.createElement("mini-media-player-editor")}static get styles(){return[le,ae]}set overflow(t){this._overflow!==t&&(this._overflow=t)}get overflow(){return this._overflow}get name(){return this.config.name||this.player.name}setConfig(t){this.config=oe(t)}shouldUpdate(t){return void 0===this.break&&this.computeRect(this),t.has("prevThumbnail")&&this.prevThumbnail&&setTimeout((()=>{this.prevThumbnail=""}),1e3),t.has("player")&&"material"===this.config.artwork&&this.setColors(),Xt.some((e=>t.has(e)))&&Boolean(this.player)}firstUpdated(){new Ot((t=>{t.forEach((t=>{window.requestAnimationFrame((()=>{"scroll"===this.config.info&&this.computeOverflow(),this._resizeTimer||(this.computeRect(t),this._resizeTimer=setTimeout((()=>{this._resizeTimer=void 0,this._resizeEntry&&(this.computeRect(this._resizeEntry),this.measureCard())}),250)),this._resizeEntry=t}))}))})).observe(this),setTimeout((()=>this.initial=!1),250),this.edit=this.config.speaker_group.expanded||!1}updated(){"scroll"===this.config.info&&setTimeout((()=>{this.computeOverflow()}),10)}render({config:t}=this){return this.computeArtwork(),I`
`:""} ${t.map((t=>I`${t.prefix+t.text}`))} -
`}speakerCount(){if(this.config.speaker_group.show_group_count){const t=this.groupMgmtPlayer?this.groupMgmtPlayer.groupCount:this.player.groupCount;return t>1?" +"+(t-1):""}}computeStyles(){const{scale:t}=this.config;return ct(Object.assign(Object.assign({},t&&{"--mmp-unit":40*t+"px"}),this.foregroundColor&&this.player.isActive&&{"--mmp-text-color":this.foregroundColor,"--mmp-icon-color":this.foregroundColor,"--mmp-icon-active-color":this.foregroundColor,"--mmp-accent-color":this.foregroundColor,"--paper-slider-container-color":this.foregroundColor,"--secondary-text-color":this.foregroundColor,"--mmp-media-cover-info-color":this.foregroundColor}))}async computeArtwork(){const{picture:t,hasArtwork:e}=this.player;if(e&&t!==this.picture){this.picture=t;const e=await this.player.fetchArtwork();this.thumbnail&&(this.prevThumbnail=this.thumbnail),this.thumbnail=e||`url(${t})`}}computeIcon(){return this.config.icon?this.config.icon:this.player.icon||Nt}measureCard(){var t;const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("ha-card");e&&(this.cardHeight=e.offsetHeight)}computeOverflow(){var t;const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector(".marquee");if(e&&e.parentNode){const t=e.clientWidth>e.parentNode.clientWidth;this.overflow=t&&this.player.isActive?7.5+e.clientWidth/50:void 0}}computeRect(t){if("contentRect"in t){const{left:e,width:i}=t.contentRect;this.break=i+2*e<390}else{const{left:e,width:i}=t.getBoundingClientRect();this.break=i+2*e<390}}computeRTL(t){const e=t.language||"en";return t.translationMetadata.translations[e]&&t.translationMetadata.translations[e].isRTL||!1}toggleGroupList(){this.edit=!this.edit}updateIdleStatus(){var t,e;const i=null===(e=null===(t=this.config)||void 0===t?void 0:t.idle_view)||void 0===e?void 0:e.after;if(!i)return;this._idleTracker&&clearTimeout(this._idleTracker);const r=(Date.now()-new Date(this.player.updatedAt).getTime())/1e3;this._idleTracker=setTimeout((()=>{this.idle=this.player.checkIdleAfter(i),this.player.idle=this.idle,this._idleTracker=void 0}),1e3*(60*i-r))}getCardSize(){return this.config.collapse?1:2}async setColors(){if(this.player.picture!==this.picture){if(!this.player.picture)return this.foregroundColor="",void(this.backgroundColor="");try{[this.foregroundColor,this.backgroundColor]=await(async t=>new me(t,{colorCount:16}).getPalette())(this.player.picture)}catch(t){console.error("Error getting Image Colors",t),this.foregroundColor="",this.backgroundColor=""}}}};t([Z({attribute:!1})],Ce.prototype,"hass",null),t([K()],Ce.prototype,"_overflow",void 0),t([K()],Ce.prototype,"initial",void 0),t([K()],Ce.prototype,"picture",void 0),t([K()],Ce.prototype,"thumbnail",void 0),t([K()],Ce.prototype,"prevThumbnail",void 0),t([K()],Ce.prototype,"edit",void 0),t([K()],Ce.prototype,"rtl",void 0),t([K()],Ce.prototype,"cardHeight",void 0),t([K()],Ce.prototype,"foregroundColor",void 0),t([K()],Ce.prototype,"backgroundColor",void 0),t([K()],Ce.prototype,"config",void 0),t([K()],Ce.prototype,"_hass",void 0),t([K()],Ce.prototype,"entity",void 0),t([K()],Ce.prototype,"player",void 0),t([K()],Ce.prototype,"idle",void 0),t([K()],Ce.prototype,"groupMgmtPlayer",void 0),t([K()],Ce.prototype,"groupMgmtEntity",void 0),t([K()],Ce.prototype,"break",void 0),t([K()],Ce.prototype,"_resizeEntry",void 0),t([K()],Ce.prototype,"_resizeTimer",void 0),t([K()],Ce.prototype,"_idleTracker",void 0),Ce=t([J("mini-media-player")],Ce),window.customCards=window.customCards||[],window.customCards.push({type:"mini-media-player",name:"Mini Media Player",preview:!1,description:"A minimalistic yet customizable media player card"});const Ee=["cover","full-cover","material","cover-fit","none"],Me=["icon","full"],Te=["icon","full"],Oe=["short","scroll"],Ae=["play_pause","stop","play_stop","next"],Ve=(t,e=!1)=>{const i=t.map((t=>({name:t,id:t})));return e&&i.push({name:"Default",id:void 0}),i};class Ne extends ot{static get styles(){return[ae,it` + `}speakerCount(){if(this.config.speaker_group.show_group_count){const t=this.groupMgmtPlayer?this.groupMgmtPlayer.groupCount:this.player.groupCount;return t>1?" +"+(t-1):""}}computeStyles(){const{scale:t}=this.config;return ct(Object.assign(Object.assign({},t&&{"--mmp-unit":40*t+"px"}),this.foregroundColor&&this.player.isActive&&{"--mmp-text-color":this.foregroundColor,"--mmp-icon-color":this.foregroundColor,"--mmp-icon-active-color":this.foregroundColor,"--mmp-accent-color":this.foregroundColor,"--paper-slider-container-color":this.foregroundColor,"--secondary-text-color":this.foregroundColor,"--mmp-media-cover-info-color":this.foregroundColor}))}async computeArtwork(){const{picture:t,hasArtwork:e}=this.player;if(e&&t!==this.picture){this.picture=t;const e=await this.player.fetchArtwork();this.thumbnail&&(this.prevThumbnail=this.thumbnail),this.thumbnail=e||`url(${t})`}}computeIcon(){return this.config.icon?this.config.icon:this.player.icon||Nt}measureCard(){var t;const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("ha-card");e&&(this.cardHeight=e.offsetHeight)}computeOverflow(){var t;const e=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector(".marquee");if(e&&e.parentNode){const t=e.clientWidth>e.parentNode.clientWidth;this.overflow=t&&this.player.isActive?7.5+e.clientWidth/50:void 0}}computeRect(t){if("contentRect"in t){const{left:e,width:i}=t.contentRect;this.break=i+2*e<390}else{const{left:e,width:i}=t.getBoundingClientRect();this.break=i+2*e<390}}computeRTL(t){const e=t.language||"en";return t.translationMetadata.translations[e]&&t.translationMetadata.translations[e].isRTL||!1}toggleGroupList(){this.edit=!this.edit}updateIdleStatus(){var t,e;const i=null===(e=null===(t=this.config)||void 0===t?void 0:t.idle_view)||void 0===e?void 0:e.after;if(!i)return;this._idleTracker&&clearTimeout(this._idleTracker);const r=(Date.now()-new Date(this.player.updatedAt).getTime())/1e3;this._idleTracker=setTimeout((()=>{this.idle=this.player.checkIdleAfter(i),this.player.idle=this.idle,this._idleTracker=void 0}),1e3*(60*i-r))}getCardSize(){return this.config.collapse?1:2}async setColors(){if(this.player.picture!==this.picture){if(!this.player.picture)return this.foregroundColor="",void(this.backgroundColor="");try{[this.foregroundColor,this.backgroundColor]=await(async t=>new me(t,{colorCount:16}).getPalette())(this.player.picture)}catch(t){console.error("Error getting Image Colors",t),this.foregroundColor="",this.backgroundColor=""}}}};t([Z({attribute:!1})],Ce.prototype,"hass",null),t([K()],Ce.prototype,"_overflow",void 0),t([K()],Ce.prototype,"initial",void 0),t([K()],Ce.prototype,"picture",void 0),t([K()],Ce.prototype,"thumbnail",void 0),t([K()],Ce.prototype,"prevThumbnail",void 0),t([K()],Ce.prototype,"edit",void 0),t([K()],Ce.prototype,"rtl",void 0),t([K()],Ce.prototype,"cardHeight",void 0),t([K()],Ce.prototype,"foregroundColor",void 0),t([K()],Ce.prototype,"backgroundColor",void 0),t([K()],Ce.prototype,"config",void 0),t([K()],Ce.prototype,"_hass",void 0),t([K()],Ce.prototype,"entity",void 0),t([K()],Ce.prototype,"player",void 0),t([K()],Ce.prototype,"idle",void 0),t([K()],Ce.prototype,"groupMgmtPlayer",void 0),t([K()],Ce.prototype,"groupMgmtEntity",void 0),t([K()],Ce.prototype,"break",void 0),t([K()],Ce.prototype,"_resizeEntry",void 0),t([K()],Ce.prototype,"_resizeTimer",void 0),t([K()],Ce.prototype,"_idleTracker",void 0),Ce=t([X("mini-media-player")],Ce),window.customCards=window.customCards||[],window.customCards.push({type:"mini-media-player",name:"Mini Media Player",preview:!1,description:"A minimalistic yet customizable media player card"});const Ee=["cover","full-cover","material","cover-fit","none"],Me=["icon","full"],Te=["icon","full"],Oe=["short","scroll"],Ae=["play_pause","stop","play_stop","next"],Ve=(t,e=!1)=>{const i=t.map((t=>({name:t,id:t})));return e&&i.push({name:"Default",id:void 0}),i};class Ne extends ot{static get styles(){return[ae,it` .editor-side-by-side { display: flex; margin: 16px 0; @@ -1641,4 +1641,4 @@ class nt{constructor(t){this.classes=new Set,this.changed=!1,this.element=t;cons - `}valueChanged(t){if(!this._config||!this.hass)return;const{target:e}=t;this[`_${e.configValue}`]!==e.value&&(e.configValue&&(""===e.value?delete this._config[e.configValue]:this._config={...this._config,[e.configValue]:void 0!==e.checked?e.checked:e.value}),((t,e,i={},r={})=>{const o=new Event(e,{bubbles:void 0===r.bubbles||r.bubbles,cancelable:Boolean(r.cancelable),composed:void 0===r.composed||r.composed});o.detail=i,t.dispatchEvent(o)})(this,"config-changed",{config:this._config}))}}customElements.define("mini-media-player-editor",Ne);var je=Object.freeze({__proto__:null,default:Ne}); + `}valueChanged(t){if(!this._config||!this.hass)return;const{target:e}=t;this[`_${e.configValue}`]!==e.value&&(e.configValue&&(""===e.value?delete this._config[e.configValue]:this._config={...this._config,[e.configValue]:void 0!==e.checked?e.checked:e.value}),((t,e,i={},r={})=>{const o=new Event(e,{bubbles:void 0===r.bubbles||r.bubbles,cancelable:Boolean(r.cancelable),composed:void 0===r.composed||r.composed});o.detail=i,t.dispatchEvent(o)})(this,"config-changed",{config:this._config}))}}customElements.define("mini-media-player-editor",Ne);var Le=Object.freeze({__proto__:null,default:Ne}); diff --git a/www/community/mini-media-player/mini-media-player-bundle.js.gz b/www/community/mini-media-player/mini-media-player-bundle.js.gz index 83e92414f952add52d26a39048b3afae6d7bd8a9..651be04d83dcac104f886b4810d80dd501f91773 100644 GIT binary patch delta 36752 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%0AX*<@YClNa1a~FnT?OH{<;7;E|l}A~)^W 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 GGXemd)GhJ=