UNPKG

iobroker.lovelace

Version:

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

1 lines 4.35 kB
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[77989],{51300:function(e,t,i){i.d(t,{MovePluginInstance:function(){return o}});i(45367),i(92731),i(3362),i(62953);var n=i(61688);function a(e,t,i,a,o,s,r){!function(e,t){var i,a;const o=e.options,s=o.move.path;if(!s.enable)return;const r=null!==(i=e.pathDelay)&&void 0!==i?i:0;if(e.lastPathTime<=r)return void(e.lastPathTime+=t.value);const c=null===(a=e.pathGenerator)||void 0===a?void 0:a.generate(e,t);c&&e.velocity.addTo(c);s.clamp&&(e.velocity.x=(0,n.qE8)(e.velocity.x,-1,1),e.velocity.y=(0,n.qE8)(e.velocity.y,-1,1));e.lastPathTime-=r}(e,r);const c=e.gravity,l=null!=c&&c.enable&&c.inverse?-1:1;o&&i&&(e.velocity.x+=o*r.factor/(60*i)),null!=c&&c.enable&&i&&(e.velocity.y+=l*(c.acceleration*r.factor)/(60*i));const p=e.moveDecay;e.velocity.multTo(null!=p?p:1);const v=e.velocity.mult(i);null!=c&&c.enable&&a>0&&(!c.inverse&&v.y>=0&&v.y>=a||c.inverse&&v.y<=0&&v.y<=-a)&&(v.y=l*a,i&&(e.velocity.y=v.y/i));const h=e.options.zIndex,y=(1-e.zIndexFactor)**h.velocityRate;v.multTo(y),v.multTo(s);const{position:u}=e;u.addTo(v),t.vibrate&&(u.x+=Math.sin(u.x*Math.cos(u.y))*s,u.y+=Math.cos(u.y*Math.sin(u.x))*s)}class o{destroy(){this.availablePathGenerators=new Map,this.pathGenerators=new Map}isEnabled(e){return!e.destroyed&&e.options.move.enable}particleCreated(e){const t=e.options.move,i=t.gravity,a=t.path;if(e.moveDecay=n.WH8-(0,n.VGA)(t.decay),e.pathDelay=(0,n.VGA)(a.delay.value)*n.XuV,a.generator){let t=this.pathGenerators.get(a.generator);t||(t=this.availablePathGenerators.get(a.generator),t&&(this.pathGenerators.set(a.generator,t),t.init())),e.pathGenerator=t}e.gravity={enable:i.enable,acceleration:(0,n.VGA)(i.acceleration),inverse:i.inverse},function(e,t){var i;const a=t.options.move.spin;if(!a.enable)return;const o=null!==(i=a.position)&&void 0!==i?i:{x:50,y:50},s={x:.01*o.x*e.canvas.size.width,y:.01*o.y*e.canvas.size.height},r=t.getPosition(),c=(0,n.YfF)(r,s),l=(0,n.VGA)(a.acceleration);t.retina.spinAcceleration=l*e.retina.pixelRatio,t.spin={center:s,direction:t.velocity.x>=0?n.pTR.clockwise:n.pTR.counterClockwise,angle:(0,n.G0i)()*n.R1e,radius:c,acceleration:t.retina.spinAcceleration}}(this._container,e)}particleDestroyed(e){const t=e.pathGenerator;null==t||t.reset(e)}particleUpdate(e,t){const i=e.options,o=i.move;if(!o.enable)return;const s=this._container,r=s.retina.pixelRatio,c=function(e){return e.slow.inRange?e.slow.factor:1}(e),l=s.retina.reduceFactor,p=e.retina.moveSpeed,v=e.retina.moveDrift,h=(0,n.W9e)(i.size.value)*r,y=p*(o.size?e.getRadius()/h:1)*c*(t.factor||1)*n.MXx,u=e.retina.maxSpeed;o.spin.enable?function(e,t,i,a){if(!t.spin)return;const o=t.spin.direction===n.pTR.clockwise,s={x:o?Math.cos:Math.sin,y:o?Math.sin:Math.cos};t.position.x=t.spin.center.x+t.spin.radius*s.x(t.spin.angle)*a,t.position.y=t.spin.center.y+t.spin.radius*s.y(t.spin.angle)*a,t.spin.radius+=t.spin.acceleration*a;const r=Math.max(e.canvas.size.width,e.canvas.size.height),c=r*n.MXx;t.spin.radius>c?(t.spin.radius=c,t.spin.acceleration*=-1):t.spin.radius<0&&(t.spin.radius=0,t.spin.acceleration*=-1),t.spin.angle+=.01*i*(1-t.spin.radius/r)}(s,e,y,l):a(e,o,y,u,v,l,t),function(e){var t,i;const a=e.initialPosition,{dx:o,dy:s}=(0,n.vrU)(a,e.position),r=Math.abs(o),c=Math.abs(s),{maxDistance:l}=e.retina,p=l.horizontal,v=l.vertical;if(!p&&!v)return;const h=null!==(i=v&&c>=v)&&void 0!==i&&i;if((null!==(t=p&&r>=p)&&void 0!==t&&t||h)&&!e.misplaced)e.misplaced=!!p&&r>p||!!v&&c>v,p&&(e.velocity.x=e.velocity.y*n.MXx-e.velocity.x),v&&(e.velocity.y=e.velocity.x*n.MXx-e.velocity.y);else if((!p||r<p)&&(!v||c<v)&&e.misplaced)e.misplaced=!1;else if(e.misplaced){const t=e.position,i=e.velocity;p&&(t.x<a.x&&i.x<0||t.x>a.x&&i.x>0)&&(i.x*=-(0,n.G0i)()),v&&(t.y<a.y&&i.y<0||t.y>a.y&&i.y>0)&&(i.y*=-(0,n.G0i)())}}(e)}preInit(){return this._init()}redrawInit(){return this._init()}update(){for(const e of this.pathGenerators.values())e.update()}async _init(){var e,t;const i=await(null===(e=(t=this._pluginManager).getPathGenerators)||void 0===e?void 0:e.call(t,this._container,!0));if(i){this.availablePathGenerators=i,this.pathGenerators=new Map;for(const e of this.pathGenerators.values())e.init()}}constructor(e,t){this._pluginManager=e,this._container=t,this.availablePathGenerators=new Map,this.pathGenerators=new Map}}}}]);