UNPKG

iobroker.lovelace

Version:

With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI

18 lines 24.2 kB
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[2302],{92020:function(t,e,r){r.a(t,async function(t,a){try{r.d(e,{d:function(){return c}});var o=r(83309),s=r(12010),i=r(95747),n=r(30162),l=t([n,i]);[n,i]=l.then?(await l)():l;const c=(t,e,r,a)=>{const l=null!=a?a:new Date;return(0,o.r)(t,l)?(0,n.fU)(t,e,r):(0,s.s)(t,l)?(0,i.ZS)(t,e,r):(0,i.aQ)(t,e,r)};a()}catch(c){a(c)}})},96986:function(t,e,r){r.d(e,{LR:function(){return i},m9:function(){return n}});const a={10:"mdi:battery-10",20:"mdi:battery-20",30:"mdi:battery-30",40:"mdi:battery-40",50:"mdi:battery-50",60:"mdi:battery-60",70:"mdi:battery-70",80:"mdi:battery-80",90:"mdi:battery-90",100:"mdi:battery"},o={10:"M16,18H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z",20:"M16,17H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z",30:"M16,15H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z",40:"M16,14H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z",50:"M16,13H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z",60:"M16,12H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z",70:"M16,10H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z",80:"M16,9H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z",90:"M16,8H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z",100:"M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z"},s={10:"mdi:battery-charging-10",20:"mdi:battery-charging-20",30:"mdi:battery-charging-30",40:"mdi:battery-charging-40",50:"mdi:battery-charging-50",60:"mdi:battery-charging-60",70:"mdi:battery-charging-70",80:"mdi:battery-charging-80",90:"mdi:battery-charging-90",100:"mdi:battery-charging"},i=(t,e)=>{const r=Number(t);if(isNaN(r))return"off"===t?"mdi:battery":"on"===t?"mdi:battery-alert":"mdi:battery-unknown";const o=10*Math.round(r/10);return e&&r>=10?s[o]:e?"mdi:battery-charging-outline":r<=5?"mdi:battery-alert-variant-outline":a[o]},n=t=>{const e=Number(t);if(isNaN(e))return"M15.07,12.25L14.17,13.17C13.63,13.71 13.25,14.18 13.09,15H11.05C11.16,14.1 11.56,13.28 12.17,12.67L13.41,11.41C13.78,11.05 14,10.55 14,10C14,8.89 13.1,8 12,8A2,2 0 0,0 10,10H8A4,4 0 0,1 12,6A4,4 0 0,1 16,10C16,10.88 15.64,11.68 15.07,12.25M13,19H11V17H13M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.66C6,21.4 6.6,22 7.33,22H16.67C17.4,22 18,21.4 18,20.66V5.33C18,4.59 17.4,4 16.67,4Z";if(e<=5)return"M14 20H6V6H14M14.67 4H13V2H7V4H5.33C4.6 4 4 4.6 4 5.33V20.67C4 21.4 4.6 22 5.33 22H14.67C15.4 22 16 21.4 16 20.67V5.33C16 4.6 15.4 4 14.67 4M21 7H19V13H21V8M21 15H19V17H21V15Z";const r=10*Math.round(e/10);return o[r]}},72945:function(t,e,r){var a=r(40445),o=r(5124),s=r(67576),i=r(96986);r(47680);let n,l=t=>t;class c extends o.WF{render(){var t;return this.batteryStateObj?(0,o.qy)(n||(n=l` <ha-icon .icon="${0}"></ha-icon> `),(0,i.LR)(this.batteryStateObj.state,"on"===(null===(t=this.batteryChargingStateObj)||void 0===t?void 0:t.state))):o.s6}}(0,a.Cg)([(0,s.MZ)({attribute:!1})],c.prototype,"batteryStateObj",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],c.prototype,"batteryChargingStateObj",void 0),c=(0,a.Cg)([(0,s.EM)("ha-battery-icon")],c)},70773:function(t,e,r){r.a(t,async function(t,e){try{var a=r(40445),o=r(92913),s=r(35932),i=r(83339),n=r(5124),l=r(67576),c=r(92020),d=t([c]);c=(d.then?(await d)():d)[0];const g=5e3;class h extends n.mN{disconnectedCallback(){super.disconnectedCallback(),this._clearTimeout()}connectedCallback(){super.connectedCallback(),this.datetime&&this._updateNextDay()}createRenderRoot(){return this}firstUpdated(t){super.firstUpdated(t),this._updateAbsolute()}update(t){super.update(t),this._updateAbsolute()}_clearTimeout(){this._timeout&&(window.clearTimeout(this._timeout),this._timeout=void 0)}_updateNextDay(){this._clearTimeout();const t=new Date,e=(0,o.f)((0,s.o)(t),1),r=(0,i.b)(e,t)+g;this._timeout=window.setTimeout(()=>{this._updateNextDay(),this._updateAbsolute()},r)}_updateAbsolute(){this.datetime?this.innerHTML=(0,c.d)(new Date(this.datetime),this.hass.locale,this.hass.config):this.innerHTML=this.hass.localize("ui.components.absolute_time.never")}}(0,a.Cg)([(0,l.MZ)({attribute:!1})],h.prototype,"hass",void 0),(0,a.Cg)([(0,l.MZ)({attribute:!1})],h.prototype,"datetime",void 0),h=(0,a.Cg)([(0,l.EM)("ha-absolute-time")],h),e()}catch(g){e(g)}})},6531:function(t,e,r){r.a(t,async function(t,e){try{r(62953);var a=r(40445),o=r(5124),s=r(67576),i=r(70773),n=r(36158),l=r(22675),c=r(64808),d=r(62688),g=t([i,n,d]);[i,n,d]=g.then?(await g)():g;let h,u,p,m,y,w=t=>t;class b extends o.WF{_localizeState(){return this.stateObj.attributes.device_class===c.Sn&&this.stateObj.state!==l.Hh&&this.stateObj.state!==l.HV?(0,o.qy)(h||(h=w` <hui-timestamp-display .hass="${0}" .ts="${0}" format="relative" capitalize></hui-timestamp-display> `),this.hass,new Date(this.stateObj.state)):this.hass.formatEntityState(this.stateObj)}_toggleAbsolute(){this._absoluteTime=!this._absoluteTime}render(){var t,e,r;const a=null!==(t=this.stateOverride)&&void 0!==t?t:this._localizeState();return(0,o.qy)(u||(u=w` <p class="state">${0}</p> <div class="time-row"> <p class="last-changed" @click="${0}"> ${0} </p> <slot name="after-time"></slot> </div> `),a,this._toggleAbsolute,this._absoluteTime?(0,o.qy)(p||(p=w` <ha-absolute-time .hass="${0}" .datetime="${0}"></ha-absolute-time> `),this.hass,null!==(e=this.changedOverride)&&void 0!==e?e:this.stateObj.last_changed):(0,o.qy)(m||(m=w` <ha-relative-time .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> `),this.hass,null!==(r=this.changedOverride)&&void 0!==r?r:this.stateObj.last_changed))}constructor(...t){super(...t),this._absoluteTime=!1}}b.styles=(0,o.AH)(y||(y=w`p{text-align:center;margin:0}.state{font-style:normal;font-weight:var(--ha-font-weight-normal);font-size:36px;line-height:var(--ha-line-height-condensed)}.time-row{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:var(--ha-space-5)}::slotted([slot=after-time]){position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%)}.last-changed{font-style:normal;font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-medium);line-height:var(--ha-line-height-normal);letter-spacing:.1px;padding:var(--ha-space-1) 0;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}`)),(0,a.Cg)([(0,s.MZ)({attribute:!1})],b.prototype,"hass",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],b.prototype,"stateObj",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],b.prototype,"stateOverride",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],b.prototype,"changedOverride",void 0),(0,a.Cg)([(0,s.wk)()],b.prototype,"_absoluteTime",void 0),b=(0,a.Cg)([(0,s.EM)("ha-more-info-state-header")],b),e()}catch(h){e(h)}})},37863:function(t,e,r){r.d(e,{K:function(){return o}});let a;const o=(0,r(5124).AH)(a||(a=(t=>t)`:host{display:flex;flex-direction:column;flex:1;justify-content:space-between}.controls{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.controls:not(:last-child){margin-bottom:var(--ha-space-6)}.controls>:not(:last-child){margin-bottom:var(--ha-space-6)}.buttons{display:flex;align-items:center;justify-content:center;margin-bottom:var(--ha-space-3)}.buttons>*{margin:var(--ha-space-2)}ha-attributes{display:block;width:100%}ha-more-info-control-select-container+ha-attributes:not([empty]){margin-top:var(--ha-space-4)}`))},69389:function(t,e,r){r.a(t,async function(t,a){try{r.r(e);r(18111),r(22489),r(62953);var o=r(40445),s=r(5124),i=r(67576),n=r(22786),l=r(69093),c=r(82286),d=r(67258),g=(r(72945),r(48374),r(28624),r(67094),r(22675)),h=r(59241),u=r(88360),p=r(22865),m=(r(87507),r(6531)),y=r(37863),w=t([m]);m=(w.then?(await w)():w)[0];let b,f,v,k,x,H,_,V=t=>t;const M="M15 13L11 17V14H2V12H11V9L15 13M5 20V16H7V18H17V10.19L12 5.69L7.21 10H4.22L12 3L22 12H19V20H5Z",C="M14,19H18V5H14M6,19H10V5H6V19Z",j="M8,5.14V19.14L19,12.14L8,5.14Z";class O extends s.WF{get _supportsStartPause(){return!!this.stateObj&&((0,c.$)(this.stateObj,p.mB.START_MOWING)||(0,c.$)(this.stateObj,p.mB.PAUSE))}get _startPauseIcon(){return this.stateObj&&(0,p.IQ)(this.stateObj)&&(0,c.$)(this.stateObj,p.mB.PAUSE)?C:j}get _startPauseLabel(){return this.stateObj&&this.hass?(0,p.IQ)(this.stateObj)&&(0,c.$)(this.stateObj,p.mB.PAUSE)?this.hass.localize("ui.dialogs.more_info_control.lawn_mower.pause"):this.hass.localize("ui.dialogs.more_info_control.lawn_mower.start_mowing"):""}get _startPauseDisabled(){return!this.stateObj||(this.stateObj.state===g.Hh||!(0,p.IQ)(this.stateObj)&&!(0,p.yU)(this.stateObj))}_renderBattery(){var t;if(!this.stateObj||!this.hass)return s.s6;const e=null===(t=this.hass.entities[this.stateObj.entity_id])||void 0===t?void 0:t.device_id,r=e?this._deviceEntities(e,this.hass.entities):[],a=(0,h.Er)(this.hass,r),o=a?this.hass.states[a.entity_id]:void 0,i=o?(0,l.t)(o):void 0;if(o&&("binary_sensor"===i||!isNaN(o.state))){const t=(0,h.DW)(this.hass,r),e=t?this.hass.states[null==t?void 0:t.entity_id]:void 0;return(0,s.qy)(b||(b=V` <span class="battery" slot="after-time"> ${0} <ha-battery-icon .hass="${0}" .batteryStateObj="${0}" .batteryChargingStateObj="${0}"></ha-battery-icon> </span> `),"binary_sensor"===i?s.s6:(0,s.qy)(f||(f=V`<span>${0}${0}%</span>`),Number(o.state).toFixed(),(0,d.d)(this.hass.locale)),this.hass,o,e)}return s.s6}_handleStartPause(){this.stateObj&&((0,u.j)(this,"light"),(0,p.IQ)(this.stateObj)?this.hass.callService("lawn_mower","pause",{entity_id:this.stateObj.entity_id}):this.hass.callService("lawn_mower","start_mowing",{entity_id:this.stateObj.entity_id}))}_handleDock(){this.stateObj&&((0,u.j)(this,"light"),this.hass.callService("lawn_mower","dock",{entity_id:this.stateObj.entity_id}))}render(){if(!this.stateObj)return s.s6;const t=this.stateObj,e=t.state===g.Hh,r=(0,c.$)(t,p.mB.DOCK),a=this._supportsStartPause||r;return(0,s.qy)(v||(v=V` <ha-more-info-state-header .hass="${0}" .stateObj="${0}"> ${0} </ha-more-info-state-header> <div class="controls"> <ha-state-control-lawn_mower-status .stateObj="${0}" .hass="${0}"></ha-state-control-lawn_mower-status> ${0} </div> `),this.hass,this.stateObj,this._renderBattery(),this.stateObj,this.hass,a?(0,s.qy)(k||(k=V` <div class="buttons"> <ha-control-button-group> ${0} ${0} </ha-control-button-group> </div> `),this._supportsStartPause?(0,s.qy)(x||(x=V` <ha-control-button .label="${0}" @click="${0}" .disabled="${0}"> <ha-svg-icon .path="${0}"></ha-svg-icon> </ha-control-button> `),this._startPauseLabel,this._handleStartPause,this._startPauseDisabled,this._startPauseIcon):s.s6,r?(0,s.qy)(H||(H=V` <ha-control-button .label="${0}" @click="${0}" .disabled="${0}"> <ha-svg-icon .path="${0}"></ha-svg-icon> </ha-control-button> `),this.hass.localize("ui.dialogs.more_info_control.lawn_mower.dock"),this._handleDock,e||!(0,p.gK)(t),M):s.s6):s.s6)}static get styles(){return[y.K,(0,s.AH)(_||(_=V`.battery{display:inline-flex;align-items:center;gap:var(--ha-space-1);font-size:var(--ha-font-size-m);color:var(--secondary-text-color);--mdc-icon-size:18px}.battery span{height:var(--mdc-icon-size);line-height:var(--mdc-icon-size)}ha-state-control-lawn_mower-status{margin-bottom:var(--ha-space-4)}ha-control-button-group{--control-button-group-thickness:48px;justify-content:center}ha-control-button-group ha-control-button{flex:0 0 auto;width:var(--control-button-group-thickness);--control-button-border-radius:var(--ha-border-radius-lg)}`))]}constructor(...t){super(...t),this._deviceEntities=(0,n.A)((t,e)=>Object.values(e).filter(e=>e.device_id===t))}}(0,o.Cg)([(0,i.MZ)({attribute:!1})],O.prototype,"hass",void 0),(0,o.Cg)([(0,i.MZ)({attribute:!1})],O.prototype,"stateObj",void 0),O=(0,o.Cg)([(0,i.EM)("more-info-lawn_mower")],O),a()}catch(b){a(b)}})},87507:function(t,e,r){var a=r(40445),o=r(5124),s=r(67576),i=r(89784),n=r(52658),l=r(22675),c=r(22865);let d,g,h=t=>t;class u extends o.WF{render(){const t=(e=this.stateObj).state===l.Hh?"idle":"error"===e.state?"error":(0,c.IQ)(e)?"mowing":"returning"===e.state?"returning":"paused"===e.state?"paused":"docked"===e.state?"docked":"idle";var e;const r={"--mower-color":(0,n.Se)(this.stateObj)||"var(--state-inactive-color)"};return(0,o.qy)(d||(d=h` <div class="container ${0}" style="${0}"> <svg viewBox="0 0 240 240" xmlns="http://www.w3.org/2000/svg" class="mower-svg"> <circle cx="120" cy="120" r="110" class="glow" fill="var(--mower-color)" opacity="0.06"/> <g class="dock-indicator"> <rect x="80" y="188" width="80" height="24" rx="7" fill="var(--card-background-color, #fff)" stroke="var(--mower-color)" stroke-width="2"/> </g> <g class="return-path"> <polygon points="120,220 110,208 130,208" fill="var(--mower-color)" stroke="var(--mower-color)" stroke-width="2" stroke-linejoin="round" opacity="0.55"/> </g> <g class="mower-body-rotate"> <g class="mower-body"> <g class="blade-disc"> <circle cx="120" cy="130" r="46" fill="none" stroke="var(--mower-color)" stroke-width="1.5" stroke-dasharray="8 6"/> <circle cx="120" cy="130" r="6" fill="var(--mower-color)"/> <line x1="120" y1="130" x2="120" y2="88" stroke="var(--mower-color)" stroke-width="2" stroke-linecap="round"/> <line x1="120" y1="130" x2="156" y2="151" stroke="var(--mower-color)" stroke-width="2" stroke-linecap="round"/> <line x1="120" y1="130" x2="84" y2="151" stroke="var(--mower-color)" stroke-width="2" stroke-linecap="round"/> </g> <g class="wheel wheel-left"> <rect x="50" y="144" width="12" height="40" rx="5" fill="var(--card-background-color, #fff)" stroke="var(--mower-color)" stroke-width="1.5" opacity="0.7"/> <line class="tread" x1="56" y1="148" x2="56" y2="180" stroke="var(--mower-color)" stroke-width="6" stroke-dasharray="3 3" stroke-linecap="butt" opacity="0.12"/> </g> <g class="wheel wheel-right"> <rect x="178" y="144" width="12" height="40" rx="5" fill="var(--card-background-color, #fff)" stroke="var(--mower-color)" stroke-width="1.5" opacity="0.7"/> <line class="tread" x1="184" y1="148" x2="184" y2="180" stroke="var(--mower-color)" stroke-width="6" stroke-dasharray="3 3" stroke-linecap="butt" opacity="0.12"/> </g> <path d="M 64,98 C 64,50 176,50 176,98 L 176,168 C 176,180 168,186 158,186 L 82,186 C 72,186 64,180 64,168 Z" fill="var(--card-background-color, #fff)" stroke="var(--mower-color)" stroke-width="2" class="body-shell"/> <path d="M 74,102 C 74,60 166,60 166,102 L 166,162 C 166,172 160,176 152,176 L 88,176 C 80,176 74,172 74,162 Z" fill="none" stroke="var(--mower-color)" stroke-width="0.8" opacity="0.2"/> <path d="M 64,102 C 64,52 176,52 176,102" fill="none" stroke="var(--mower-color)" stroke-width="4" stroke-linecap="round" class="bumper"/> <path d="M 72,100 C 72,58 168,58 168,100" fill="none" stroke="var(--mower-color)" stroke-width="1" stroke-linecap="round" opacity="0.15"/> <circle cx="92" cy="68" r="1.5" fill="var(--mower-color)" opacity="0.15"/> <circle cx="120" cy="60" r="1.5" fill="var(--mower-color)" opacity="0.15"/> <circle cx="148" cy="68" r="1.5" fill="var(--mower-color)" opacity="0.15"/> <circle cx="120" cy="78" r="4" fill="var(--mower-color)" opacity="0.08" class="led-ring"/> <circle cx="120" cy="78" r="2.5" fill="var(--mower-color)" opacity="0.5" class="led-dot"/> <circle cx="120" cy="148" r="8" fill="var(--mower-color)" opacity="0.06" class="power-ring"/> <circle cx="120" cy="148" r="4" fill="var(--mower-color)" opacity="0.2" class="power-dot"/> <mask id="outside-body"> <rect width="240" height="240" fill="white"/> <path d="M 60,98 C 60,46 180,46 180,98 L 180,170 C 180,182 172,190 160,190 L 80,190 C 68,190 60,182 60,170 Z" fill="black"/> </mask> <g class="particles" mask="url(#outside-body)"> <path class="grass g1" d="M64,110 q-3,4 -1,8" fill="none" stroke="var(--mower-color)" stroke-width="1.4" stroke-linecap="round"/> <path class="grass g2" d="M63,126 q-4,3 -2,8" fill="none" stroke="var(--mower-color)" stroke-width="1.2" stroke-linecap="round"/> <path class="grass g3" d="M64,140 q-4,3 -2,8" fill="none" stroke="var(--mower-color)" stroke-width="1.5" stroke-linecap="round"/> <path class="grass g4" d="M64,154 q-3,4 -1,8" fill="none" stroke="var(--mower-color)" stroke-width="1.1" stroke-linecap="round"/> <path class="grass g5" d="M66,168 q-3,3 -1,8" fill="none" stroke="var(--mower-color)" stroke-width="1.3" stroke-linecap="round"/> <path class="grass g6" d="M176,110 q3,4 1,8" fill="none" stroke="var(--mower-color)" stroke-width="1.4" stroke-linecap="round"/> <path class="grass g7" d="M177,126 q4,3 2,8" fill="none" stroke="var(--mower-color)" stroke-width="1.2" stroke-linecap="round"/> <path class="grass g8" d="M176,140 q4,3 2,8" fill="none" stroke="var(--mower-color)" stroke-width="1.5" stroke-linecap="round"/> <path class="grass g9" d="M176,154 q3,4 1,8" fill="none" stroke="var(--mower-color)" stroke-width="1.1" stroke-linecap="round"/> <path class="grass g10" d="M174,168 q3,3 1,8" fill="none" stroke="var(--mower-color)" stroke-width="1.3" stroke-linecap="round"/> <path class="grass g11" d="M90,68 q-3,-4 -1,-8" fill="none" stroke="var(--mower-color)" stroke-width="1.3" stroke-linecap="round"/> <path class="grass g12" d="M120,54 q1,-4 -1,-8" fill="none" stroke="var(--mower-color)" stroke-width="1.2" stroke-linecap="round"/> <path class="grass g13" d="M150,68 q3,-4 1,-8" fill="none" stroke="var(--mower-color)" stroke-width="1.3" stroke-linecap="round"/> <path class="grass g14" d="M92,186 q-3,4 -1,8" fill="none" stroke="var(--mower-color)" stroke-width="1.3" stroke-linecap="round"/> <path class="grass g15" d="M120,186 q2,4 0,9" fill="none" stroke="var(--mower-color)" stroke-width="1.1" stroke-linecap="round"/> <path class="grass g16" d="M148,186 q3,4 1,8" fill="none" stroke="var(--mower-color)" stroke-width="1.3" stroke-linecap="round"/> </g> </g> </g> </svg> </div> `),t,(0,i.W)(r))}}u.styles=(0,o.AH)(g||(g=h`:host{display:flex;align-items:center;justify-content:center}.container{width:200px;height:200px;position:relative}.mower-svg{width:100%;height:100%}.dock-indicator,.particles,.return-path{opacity:0;transition:opacity .4s ease}.blade-disc{opacity:0;transition:opacity .4s ease}.mowing .mower-body{animation:mower-wander 12s ease-in-out infinite;transform-origin:120px 120px}.mowing .blade-disc{opacity:.15;animation:blade-spin .8s linear infinite;transform-origin:120px 130px}.mowing .particles{opacity:1}.mowing .grass{animation:grass-eject var(--g-dur,2s) ease-out infinite;animation-delay:var(--g-delay, 0s)}.mowing .g1{--g-x:-36px;--g-y:-14px;--g-rot:-25deg;--g-dur:1.8s;--g-delay:0s}.mowing .g2{--g-x:-40px;--g-y:6px;--g-rot:18deg;--g-dur:2.1s;--g-delay:-0.7s}.mowing .g3{--g-x:-34px;--g-y:16px;--g-rot:32deg;--g-dur:1.9s;--g-delay:-1.3s}.mowing .g4{--g-x:-30px;--g-y:22px;--g-rot:-15deg;--g-dur:2.3s;--g-delay:-1.8s}.mowing .g5{--g-x:36px;--g-y:-14px;--g-rot:25deg;--g-dur:1.8s;--g-delay:-0.3s}.mowing .g6{--g-x:40px;--g-y:6px;--g-rot:-18deg;--g-dur:2.1s;--g-delay:-1s}.mowing .g7{--g-x:34px;--g-y:16px;--g-rot:-32deg;--g-dur:1.9s;--g-delay:-1.6s}.mowing .g8{--g-x:30px;--g-y:22px;--g-rot:15deg;--g-dur:2.3s;--g-delay:-0.5s}.mowing .g9{--g-x:-28px;--g-y:-30px;--g-rot:-40deg;--g-dur:2s;--g-delay:-0.4s}.mowing .g10{--g-x:-12px;--g-y:-34px;--g-rot:-20deg;--g-dur:1.8s;--g-delay:-1.1s}.mowing .g11{--g-x:3px;--g-y:-36px;--g-rot:8deg;--g-dur:1.7s;--g-delay:-1.7s}.mowing .g12{--g-x:14px;--g-y:-34px;--g-rot:20deg;--g-dur:1.8s;--g-delay:-0.2s}.mowing .g13{--g-x:28px;--g-y:-30px;--g-rot:40deg;--g-dur:2s;--g-delay:-0.9s}.mowing .g14{--g-x:-16px;--g-y:28px;--g-rot:22deg;--g-dur:2.2s;--g-delay:-0.8s}.mowing .g15{--g-x:5px;--g-y:30px;--g-rot:-8deg;--g-dur:1.6s;--g-delay:-1.5s}.mowing .g16{--g-x:16px;--g-y:28px;--g-rot:-22deg;--g-dur:2.2s;--g-delay:-0.4s}.mowing .tread{animation:tread-scroll .4s linear infinite}.mowing .led-dot{animation:led-pulse 2s ease-in-out infinite}.mower-body-rotate{transform-origin:120px 120px;transform:rotate(0deg);transition:transform .6s ease-in-out}.returning .mower-body-rotate{transform:rotate(180deg)}.returning .mower-body{animation:returning-drift 3s ease-in-out infinite}.returning .return-path{opacity:1;animation:return-arrow 1.6s ease-in-out infinite;transform-origin:120px 210px}.returning .blade-disc{opacity:.06}.returning .tread{animation:tread-scroll-reverse .6s linear infinite}.docked .dock-indicator{opacity:1}.docked .mower-body{opacity:.75}.docked .glow{animation:docked-glow 4s ease-in-out infinite}.docked .power-ring{animation:charge-pulse 2.5s ease-in-out infinite}.docked .led-dot{animation:charge-pulse 2.5s ease-in-out infinite}.paused .mower-body{opacity:.7}.paused .blade-disc{opacity:.04}.error .glow{animation:error-glow 1.8s ease-in-out infinite}.error .led-dot{animation:error-led .8s ease-in-out infinite}.idle .mower-body{opacity:.65}@keyframes mower-wander{0%{transform:rotate(0deg) translate(0,0)}15%{transform:rotate(0deg) translate(0,-30px)}25%{transform:rotate(0deg) translate(0,0)}32%{transform:rotate(-18deg) translate(0,0)}47%{transform:rotate(-18deg) translate(0,-28px)}57%{transform:rotate(-18deg) translate(0,0)}63%{transform:rotate(12deg) translate(0,0)}78%{transform:rotate(12deg) translate(0,-25px)}88%{transform:rotate(12deg) translate(0,0)}95%{transform:rotate(0deg) translate(0,0)}100%{transform:rotate(0deg) translate(0,0)}}@keyframes blade-spin{to{transform:rotate(360deg)}}@keyframes tread-scroll{to{stroke-dashoffset:-6}}@keyframes tread-scroll-reverse{to{stroke-dashoffset:6}}@keyframes grass-eject{0%{opacity:0;transform:translate(0,0) rotate(0deg) scale(.7)}12%{opacity:.65;transform:translate(calc(var(--g-x) * .12),calc(var(--g-y) * .12)) rotate(calc(var(--g-rot) * .1)) scale(1)}55%{opacity:.35;transform:translate(calc(var(--g-x) * .7),calc(var(--g-y) * .7)) rotate(calc(var(--g-rot) * .7)) scale(.8)}100%{opacity:0;transform:translate(var(--g-x),var(--g-y)) rotate(var(--g-rot)) scale(.4)}}@keyframes led-pulse{0%,100%{opacity:.3}50%{opacity:.8}}@keyframes returning-drift{0%,100%{transform:translateY(-6px)}50%{transform:translateY(4px)}}@keyframes return-arrow{0%,100%{transform:translateY(-6px);opacity:.3}50%{transform:translateY(4px);opacity:.85}}@keyframes docked-glow{0%,100%{opacity:.06}50%{opacity:.14}}@keyframes charge-pulse{0%,100%{opacity:.08}50%{opacity:.25}}@keyframes error-glow{0%,100%{opacity:.08}50%{opacity:.35}}@keyframes error-led{0%,100%{opacity:.2}50%{opacity:.9}}@media (prefers-reduced-motion:reduce){.docked .glow,.docked .led-dot,.docked .power-ring,.error .glow,.error .led-dot,.mowing .blade-disc,.mowing .grass,.mowing .led-dot,.mowing .mower-body,.mowing .tread,.returning .mower-body,.returning .return-path,.returning .tread{animation:none}.mower-body-rotate{transition:none}}`)),(0,a.Cg)([(0,s.MZ)({attribute:!1})],u.prototype,"hass",void 0),(0,a.Cg)([(0,s.MZ)({attribute:!1})],u.prototype,"stateObj",void 0),u=(0,a.Cg)([(0,s.EM)("ha-state-control-lawn_mower-status")],u)},83309:function(t,e,r){r.d(e,{r:function(){return s}});r(62953);var a=r(74816),o=r(35932);function s(t,e,r){const[s,i]=(0,a.x)(null==r?void 0:r.in,t,e);return+(0,o.o)(s)===+(0,o.o)(i)}},12010:function(t,e,r){r.d(e,{s:function(){return o}});r(62953);var a=r(74816);function o(t,e,r){const[o,s]=(0,a.x)(null==r?void 0:r.in,t,e);return o.getFullYear()===s.getFullYear()}}}]);