@tsparticles/angular
Version:
Official tsParticles Angular Component - Easily create highly customizable particle, confetti and fireworks animations and use them as animated backgrounds for your website. Ready to use components available also for Web Components, React, Vue.js (2.x and
1 lines • 7.37 kB
Source Map (JSON)
{"version":3,"file":"tsparticles-angular.mjs","sources":["../../../projects/ng-particles/src/lib/ng-particles.service.ts","../../../projects/ng-particles/src/lib/ng-particles.component.ts","../../../projects/ng-particles/src/lib/ng-particles.module.ts","../../../projects/ng-particles/src/public-api.ts","../../../projects/ng-particles/src/tsparticles-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Engine, tsParticles } from '@tsparticles/engine';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NgParticlesService {\n private initialized = new BehaviorSubject<boolean>(false);\n\n getInstallationStatus() {\n return this.initialized.asObservable();\n }\n\n async init(particlesInit: (engine: Engine) => Promise<void>) {\n await particlesInit(tsParticles);\n\n this.initialized.next(true);\n }\n}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { from, mergeMap, Subject, Subscription, takeUntil } from 'rxjs';\nimport { tsParticles } from '@tsparticles/engine';\nimport type { Container, Engine } from '@tsparticles/engine';\nimport { IParticlesProps } from './ng-particles.module';\nimport { NgParticlesService } from './ng-particles.service';\n\n@Component({\n selector: 'ngx-particles',\n template: '<div [id]=\"id\"></div>',\n})\nexport class NgxParticlesComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input() options?: IParticlesProps;\n @Input() url?: string;\n @Input() id: string;\n @Input() particlesInit?: (engine: Engine) => Promise<void>;\n @Output() particlesLoaded: EventEmitter<Container> = new EventEmitter<Container>();\n\n private subscription?: Subscription;\n private destroy$ = new Subject<void>();\n private container?: Container;\n\n constructor(\n @Inject(PLATFORM_ID) protected platformId: string,\n private readonly particlesService: NgParticlesService,\n ) {\n this.id = 'tsparticles';\n }\n\n public ngOnInit() {\n this.subscription = this.particlesService.getInstallationStatus().subscribe(() => {\n this.container?.destroy();\n this.loadParticles();\n });\n }\n\n public ngAfterViewInit(): void {\n if (isPlatformServer(this.platformId)) {\n return;\n }\n\n this.loadParticles();\n }\n\n public ngOnDestroy(): void {\n this.container?.destroy();\n this.subscription?.unsubscribe();\n this.destroy$.next();\n }\n\n private loadParticles(): void {\n const cb = (container?: Container) => {\n this.container = container;\n this.particlesLoaded.emit(container);\n };\n\n from(this.particlesInit ? this.particlesInit(tsParticles) : Promise.resolve())\n .pipe(\n mergeMap(() => {\n return tsParticles.load({ id: this.id, url: this.url, options: this.options });\n }),\n takeUntil(this.destroy$),\n )\n .subscribe(cb);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NgxParticlesComponent } from './ng-particles.component';\nimport type { ISourceOptions } from '@tsparticles/engine';\nimport { NgParticlesService } from './ng-particles.service';\n\n@NgModule({\n declarations: [NgxParticlesComponent],\n exports: [NgxParticlesComponent],\n providers: [NgParticlesService],\n})\nexport class NgxParticlesModule {}\n\nexport type IParticlesProps = ISourceOptions;\nexport { NgParticlesService };\n","/*\n * Public API Surface of ng-particles\n */\n\nexport * from './lib/ng-particles.component';\nexport * from './lib/ng-particles.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgParticlesService"],"mappings":"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"}