UNPKG

3.37 kBJavaScriptView Raw
1/*! For license information please see 955.min.js.LICENSE.txt */
2(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[955],{5955:(t,o,s)=>{s.d(o,{DestroyUpdater:()=>v});var e=s(5540);class i{load(t){t&&(void 0!==t.bottom&&(this.bottom=(0,e.DT)(t.bottom)),void 0!==t.left&&(this.left=(0,e.DT)(t.left)),void 0!==t.right&&(this.right=(0,e.DT)(t.right)),void 0!==t.top&&(this.top=(0,e.DT)(t.top)))}}class r extends e.PV{constructor(){super(),this.value=3}}class l extends e.PV{constructor(){super(),this.value={min:4,max:9}}}class n{constructor(){this.count=1,this.factor=new r,this.rate=new l,this.sizeOffset=!0}load(t){t&&(void 0!==t.color&&(this.color=e.Oi.create(this.color,t.color)),void 0!==t.count&&(this.count=t.count),this.factor.load(t.factor),this.rate.load(t.rate),this.particles=(0,e.wJ)(t.particles,(t=>(0,e.zw)({},t))),void 0!==t.sizeOffset&&(this.sizeOffset=t.sizeOffset),t.colorOffset&&(this.colorOffset=this.colorOffset??{},void 0!==t.colorOffset.h&&(this.colorOffset.h=t.colorOffset.h),void 0!==t.colorOffset.s&&(this.colorOffset.s=t.colorOffset.s),void 0!==t.colorOffset.l&&(this.colorOffset.l=t.colorOffset.l)))}}class c{constructor(){this.bounds=new i,this.mode="none",this.split=new n}load(t){t&&(t.mode&&(this.mode=t.mode),t.bounds&&this.bounds.load(t.bounds),this.split.load(t.split))}}const a=0,d=.5,f=0,h=1,u=500;function p(t,o,s,i){const r=s.options.destroy;if(!r)return;const l=r.split,n=(0,e.yV)(t,o,s.options),c=(0,e.VG)(l.factor.value),p=s.getFillColor();l.color?n.color.load(l.color):l.colorOffset&&p?n.color.load({value:{hsl:{h:p.h+(0,e.VG)(l.colorOffset.h??a),s:p.s+(0,e.VG)(l.colorOffset.s??a),l:p.l+(0,e.VG)(l.colorOffset.l??a)}}}):n.color.load({value:{hsl:s.getFillColor()}}),n.move.load({center:{x:s.position.x,y:s.position.y,mode:"precise"}}),(0,e.Et)(n.size.value)?n.size.value/=c:(n.size.value.min/=c,n.size.value.max/=c),n.load(i);const v=l.sizeOffset?(0,e.DT)(-s.size.value,s.size.value):a,y={x:s.position.x+(0,e.BH)(v),y:s.position.y+(0,e.BH)(v)};return o.particles.addParticle(y,n,s.group,(t=>!(t.size.value<d)&&(t.velocity.length=(0,e.BH)((0,e.DT)(s.velocity.length,t.velocity.length)),t.splitCount=(s.splitCount??f)+h,t.unbreakable=!0,setTimeout((()=>{t.unbreakable=!1}),u),!0)))}class v{constructor(t,o){this.container=o,this.engine=t}init(t){const o=this.container,s=t.options.destroy;if(!s)return;t.splitCount=0;const i=s.bounds;t.destroyBounds||(t.destroyBounds={});const{bottom:r,left:l,right:n,top:c}=i,{destroyBounds:a}=t,d=o.canvas.size;r&&(a.bottom=(0,e.VG)(r)*d.height/e.a5),l&&(a.left=(0,e.VG)(l)*d.width/e.a5),n&&(a.right=(0,e.VG)(n)*d.width/e.a5),c&&(a.top=(0,e.VG)(c)*d.height/e.a5)}isEnabled(t){return!t.destroyed}loadOptions(t,...o){t.destroy||(t.destroy=new c);for(const s of o)t.destroy.load(s?.destroy)}particleDestroyed(t,o){if(o)return;const s=t.options.destroy;s&&"split"===s.mode&&function(t,o,s){const i=s.options.destroy;if(!i)return;const r=i.split;if(r.count>=0&&(void 0===s.splitCount||s.splitCount++>r.count))return;const l=(0,e.VG)(r.rate.value),n=(0,e.TA)(r.particles);for(let e=0;e<l;e++)p(t,o,s,n)}(this.engine,this.container,t)}update(t){if(!this.isEnabled(t))return;const o=t.getPosition(),s=t.destroyBounds;s&&(void 0!==s.bottom&&o.y>=s.bottom||void 0!==s.left&&o.x<=s.left||void 0!==s.right&&o.x>=s.right||void 0!==s.top&&o.y<=s.top)&&t.destroy()}}}}]);
\No newline at end of file