ngx-dom-confetti 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ngx-dom-confetti.mjs +35 -37
- package/fesm2022/ngx-dom-confetti.mjs.map +1 -1
- package/lib/confetti-component.d.ts +2 -2
- package/lib/confetti-directive.d.ts +2 -2
- package/lib/confetti-module.d.ts +4 -4
- package/lib/confetti-provider.d.ts +2 -0
- package/lib/confetti-service.d.ts +1 -1
- package/package.json +3 -5
- package/public-api.d.ts +1 -0
- package/esm2022/lib/confetti-component.mjs +0 -48
- package/esm2022/lib/confetti-directive.mjs +0 -45
- package/esm2022/lib/confetti-module.mjs +0 -68
- package/esm2022/lib/confetti-renderer.mjs +0 -113
- package/esm2022/lib/confetti-service.mjs +0 -29
- package/esm2022/lib/config.mjs +0 -18
- package/esm2022/ngx-dom-confetti.mjs +0 -5
- package/esm2022/public-api.mjs +0 -9
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { coerceElement, coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
1
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
3
2
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { InjectionToken, Directive, Optional, Inject, Injectable, Component, Input, NgModule } from '@angular/core';
|
|
3
|
+
import { InjectionToken, Directive, Optional, Inject, Injectable, Component, Input, NgModule, makeEnvironmentProviders } from '@angular/core';
|
|
5
4
|
import * as i1 from '@angular/cdk/platform';
|
|
5
|
+
import { coerceElement, coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
6
6
|
|
|
7
7
|
const NGX_CONFETTI_GLOBAL_CONFIG = new InjectionToken('ngx-confetti-global-config');
|
|
8
8
|
const defaultColors = ["#a864fd", "#29cdff", "#78ff44", "#ff718d", "#fdff6a"];
|
|
@@ -61,7 +61,6 @@ class ConfettiRenderer {
|
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
updateFetti(fetti, progress, dragFriction, decay) {
|
|
64
|
-
/* eslint-disable no-param-reassign */
|
|
65
64
|
fetti.physics.x += Math.cos(fetti.physics.angle2D) * fetti.physics.velocity;
|
|
66
65
|
fetti.physics.y += Math.sin(fetti.physics.angle2D) * fetti.physics.velocity;
|
|
67
66
|
fetti.physics.z += Math.sin(fetti.physics.angle3D) * fetti.physics.velocity;
|
|
@@ -83,7 +82,6 @@ class ConfettiRenderer {
|
|
|
83
82
|
fetti.element.style.transform = transform;
|
|
84
83
|
fetti.element.style.opacity = (1 - progress).toString();
|
|
85
84
|
;
|
|
86
|
-
/* eslint-enable */
|
|
87
85
|
}
|
|
88
86
|
animate(root, fettis, dragFriction, decay, duration, stagger) {
|
|
89
87
|
let startTime;
|
|
@@ -138,28 +136,29 @@ class NgxConfettiDirective {
|
|
|
138
136
|
this._elementRef = _elementRef;
|
|
139
137
|
this.ngZone = ngZone;
|
|
140
138
|
this.platform = platform;
|
|
141
|
-
this._globalConfig = (globalConfig ||
|
|
139
|
+
this._globalConfig = (globalConfig ||
|
|
140
|
+
defaultsConfettiConfig);
|
|
142
141
|
this._confettiRenderer = new ConfettiRenderer(document);
|
|
143
142
|
}
|
|
144
143
|
launch(config) {
|
|
145
144
|
if (!this.platform.isBrowser) {
|
|
146
145
|
return;
|
|
147
146
|
}
|
|
148
|
-
const element = coerceElement(this._elementRef);
|
|
147
|
+
// const element = coerceElement(this._elementRef);
|
|
149
148
|
this.ngZone.runOutsideAngular(() => {
|
|
150
149
|
this._confettiRenderer.launch(this._elementRef.nativeElement, config ?? this._globalConfig);
|
|
151
150
|
});
|
|
152
151
|
}
|
|
153
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
154
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxConfettiDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.Platform }, { token: DOCUMENT, optional: true }, { token: NGX_CONFETTI_GLOBAL_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
153
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: NgxConfettiDirective, isStandalone: true, selector: "[confetti], [ngxConfetti]", exportAs: ["ngxConfetti"], ngImport: i0 }); }
|
|
155
154
|
}
|
|
156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxConfettiDirective, decorators: [{
|
|
157
156
|
type: Directive,
|
|
158
157
|
args: [{
|
|
159
158
|
selector: '[confetti], [ngxConfetti]',
|
|
160
159
|
exportAs: 'ngxConfetti',
|
|
161
160
|
}]
|
|
162
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.Platform }, { type:
|
|
161
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.Platform }, { type: Document, decorators: [{
|
|
163
162
|
type: Optional
|
|
164
163
|
}, {
|
|
165
164
|
type: Inject,
|
|
@@ -179,12 +178,12 @@ class NgxDomConfettiService {
|
|
|
179
178
|
open(el, config) {
|
|
180
179
|
this._confettiRenderer.launch(coerceElement(el), config ?? this._globalConfig);
|
|
181
180
|
}
|
|
182
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
183
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
181
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxDomConfettiService, deps: [{ token: DOCUMENT, optional: true }, { token: NGX_CONFETTI_GLOBAL_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
182
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxDomConfettiService }); }
|
|
184
183
|
}
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxDomConfettiService, decorators: [{
|
|
186
185
|
type: Injectable
|
|
187
|
-
}], ctorParameters: () => [{ type:
|
|
186
|
+
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
188
187
|
type: Optional
|
|
189
188
|
}, {
|
|
190
189
|
type: Inject,
|
|
@@ -209,18 +208,18 @@ class NgxDomConfettiComponent {
|
|
|
209
208
|
constructor(el, document, globalConfig) {
|
|
210
209
|
this.el = el;
|
|
211
210
|
this._config = {
|
|
212
|
-
...globalConfig
|
|
211
|
+
...globalConfig,
|
|
213
212
|
};
|
|
214
213
|
this._confettiRenderer = new ConfettiRenderer(document);
|
|
215
214
|
this._active = false;
|
|
216
215
|
}
|
|
217
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
218
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
216
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxDomConfettiComponent, deps: [{ token: i0.ElementRef }, { token: DOCUMENT, optional: true }, { token: NGX_CONFETTI_GLOBAL_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
217
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: NgxDomConfettiComponent, isStandalone: true, selector: "ngx-dom-confetti", inputs: { config: "config", active: "active" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }
|
|
219
218
|
}
|
|
220
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxDomConfettiComponent, decorators: [{
|
|
221
220
|
type: Component,
|
|
222
221
|
args: [{ selector: 'ngx-dom-confetti', template: ` <ng-content></ng-content> ` }]
|
|
223
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type:
|
|
222
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: Document, decorators: [{
|
|
224
223
|
type: Optional
|
|
225
224
|
}, {
|
|
226
225
|
type: Inject,
|
|
@@ -261,11 +260,9 @@ class NgxDomConfettiModule {
|
|
|
261
260
|
],
|
|
262
261
|
};
|
|
263
262
|
}
|
|
264
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
265
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
266
|
-
|
|
267
|
-
NgxConfettiDirective] }); }
|
|
268
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxDomConfettiModule, providers: [
|
|
263
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxDomConfettiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
264
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: NgxDomConfettiModule, imports: [CommonModule, NgxDomConfettiComponent, NgxConfettiDirective], exports: [NgxDomConfettiComponent, NgxConfettiDirective] }); }
|
|
265
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxDomConfettiModule, providers: [
|
|
269
266
|
{
|
|
270
267
|
provide: NGX_CONFETTI_GLOBAL_CONFIG,
|
|
271
268
|
useValue: defaultsConfettiConfig,
|
|
@@ -273,16 +270,11 @@ class NgxDomConfettiModule {
|
|
|
273
270
|
NgxDomConfettiService,
|
|
274
271
|
], imports: [CommonModule] }); }
|
|
275
272
|
}
|
|
276
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: NgxDomConfettiModule, decorators: [{
|
|
277
274
|
type: NgModule,
|
|
278
275
|
args: [{
|
|
279
|
-
declarations: [
|
|
280
|
-
|
|
281
|
-
NgxConfettiDirective,
|
|
282
|
-
],
|
|
283
|
-
imports: [
|
|
284
|
-
CommonModule,
|
|
285
|
-
],
|
|
276
|
+
declarations: [],
|
|
277
|
+
imports: [CommonModule, NgxDomConfettiComponent, NgxConfettiDirective],
|
|
286
278
|
providers: [
|
|
287
279
|
{
|
|
288
280
|
provide: NGX_CONFETTI_GLOBAL_CONFIG,
|
|
@@ -290,13 +282,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
290
282
|
},
|
|
291
283
|
NgxDomConfettiService,
|
|
292
284
|
],
|
|
293
|
-
exports: [
|
|
294
|
-
NgxDomConfettiComponent,
|
|
295
|
-
NgxConfettiDirective
|
|
296
|
-
]
|
|
285
|
+
exports: [NgxDomConfettiComponent, NgxConfettiDirective],
|
|
297
286
|
}]
|
|
298
287
|
}] });
|
|
299
288
|
|
|
289
|
+
function provideConfetti(config) {
|
|
290
|
+
return makeEnvironmentProviders([
|
|
291
|
+
{
|
|
292
|
+
provide: NGX_CONFETTI_GLOBAL_CONFIG,
|
|
293
|
+
useValue: config ?? defaultsConfettiConfig,
|
|
294
|
+
},
|
|
295
|
+
]);
|
|
296
|
+
}
|
|
297
|
+
|
|
300
298
|
/*
|
|
301
299
|
* Public API Surface of ngx-dom-confetti
|
|
302
300
|
*/
|
|
@@ -305,5 +303,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
305
303
|
* Generated bundle index. Do not edit.
|
|
306
304
|
*/
|
|
307
305
|
|
|
308
|
-
export { NGX_CONFETTI_GLOBAL_CONFIG, NgxConfettiDirective, NgxDomConfettiComponent, NgxDomConfettiModule, NgxDomConfettiService, defaultsConfettiConfig };
|
|
306
|
+
export { NGX_CONFETTI_GLOBAL_CONFIG, NgxConfettiDirective, NgxDomConfettiComponent, NgxDomConfettiModule, NgxDomConfettiService, defaultsConfettiConfig, provideConfetti };
|
|
309
307
|
//# sourceMappingURL=ngx-dom-confetti.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-dom-confetti.mjs","sources":["../../../packages/ngx-dom-confetti/src/lib/config.ts","../../../packages/ngx-dom-confetti/src/lib/confetti-renderer.ts","../../../packages/ngx-dom-confetti/src/lib/confetti-directive.ts","../../../packages/ngx-dom-confetti/src/lib/confetti-service.ts","../../../packages/ngx-dom-confetti/src/lib/confetti-component.ts","../../../packages/ngx-dom-confetti/src/lib/confetti-module.ts","../../../packages/ngx-dom-confetti/src/public-api.ts","../../../packages/ngx-dom-confetti/src/ngx-dom-confetti.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\n\nexport interface ConfettiConfig {\n angle: number;\n spread: number;\n width: string;\n height: string;\n perspective: string;\n duration: number;\n dragFriction: number;\n stagger: number;\n startVelocity: number;\n elementCount: number;\n decay: number;\n colors: string[];\n random: () => number;\n}\n\nexport const NGX_CONFETTI_GLOBAL_CONFIG = new InjectionToken<ConfettiConfig>(\n 'ngx-confetti-global-config',\n);\n\nconst defaultColors = [\"#a864fd\", \"#29cdff\", \"#78ff44\", \"#ff718d\", \"#fdff6a\"];\n\nexport const defaultsConfettiConfig = {\n angle: 90,\n spread: 45,\n startVelocity: 45,\n elementCount: 50,\n width: \"10px\",\n height: \"10px\",\n perspective: \"\",\n colors: defaultColors,\n duration: 3000,\n stagger: 0,\n dragFriction: 0.1,\n random: Math.random\n}\n","import { ConfettiConfig, defaultsConfettiConfig } from './config';\n\ninterface IPhysics {\n x: number;\n y: number;\n z: number;\n wobble: number;\n wobbleSpeed: number;\n velocity: number;\n angle2D: number;\n angle3D: number;\n tiltAngle: number;\n tiltAngleSpeed: number;\n}\n\ninterface IFetti {\n element: HTMLDivElement,\n physics: IPhysics\n}\n\nexport class ConfettiRenderer {\n\n constructor(private _document: Document) { }\n\n private createElements(\n elementCount: number,\n colors: string[],\n width: string,\n height: string\n ): {\n fragment: DocumentFragment,\n elements: HTMLDivElement[]\n } {\n const fragment = this._document.createDocumentFragment();\n const elements = Array.from({ length: elementCount }).map((_, index) => {\n const element = this._document.createElement('div');\n const color = colors[index % colors.length];\n element.style.backgroundColor = color;\n element.style.width = width;\n element.style.height = height;\n element.style.position = 'absolute';\n element.style.willChange = 'transform, opacity';\n element.style.visibility = 'hidden';\n fragment.appendChild(element);\n return element;\n });\n\n return {\n fragment,\n elements,\n };\n }\n\n private randomPhysics(\n angle: number,\n spread: number,\n startVelocity: number,\n random: () => number\n ): IPhysics {\n const radAngle = angle * (Math.PI / 180);\n const radSpread = spread * (Math.PI / 180);\n return {\n x: 0,\n y: 0,\n z: 0,\n wobble: random() * 10,\n wobbleSpeed: 0.1 + random() * 0.1,\n velocity: startVelocity * 0.5 + random() * startVelocity,\n angle2D: -radAngle + (0.5 * radSpread - random() * radSpread),\n angle3D: -(Math.PI / 4) + random() * (Math.PI / 2),\n tiltAngle: random() * Math.PI,\n tiltAngleSpeed: 0.1 + random() * 0.3,\n };\n }\n\n private updateFetti(fetti: IFetti, progress: number, dragFriction: number, decay: number) {\n /* eslint-disable no-param-reassign */\n fetti.physics.x += Math.cos(fetti.physics.angle2D) * fetti.physics.velocity;\n fetti.physics.y += Math.sin(fetti.physics.angle2D) * fetti.physics.velocity;\n fetti.physics.z += Math.sin(fetti.physics.angle3D) * fetti.physics.velocity;\n fetti.physics.wobble += fetti.physics.wobbleSpeed;\n // Backward compatibility\n if (decay) {\n fetti.physics.velocity *= decay;\n } else {\n fetti.physics.velocity -= fetti.physics.velocity * dragFriction;\n }\n fetti.physics.y += 3;\n fetti.physics.tiltAngle += fetti.physics.tiltAngleSpeed;\n\n const { x, y, z, tiltAngle, wobble } = fetti.physics;\n const wobbleX = x + 10 * Math.cos(wobble);\n const wobbleY = y + 10 * Math.sin(wobble);\n const transform = `translate3d(${wobbleX}px, ${wobbleY}px, ${z}px) rotate3d(1, 1, 1, ${tiltAngle}rad)`;\n\n fetti.element.style.visibility = \"visible\";\n fetti.element.style.transform = transform;\n fetti.element.style.opacity = (1 - progress).toString();;\n /* eslint-enable */\n }\n\n private animate(root: HTMLElement, fettis: Array<IFetti>, dragFriction: number, decay: number, duration: number, stagger: number) {\n let startTime: number;\n let isActive = true;\n\n const update = (time: number) => {\n if (!isActive) return;\n\n if (!startTime) startTime = time;\n const elapsed = time - startTime;\n const progress = startTime === time ? 0 : (time - startTime) / duration;\n fettis.slice(0, Math.ceil(elapsed / stagger)).forEach(fetti => {\n this.updateFetti(fetti, progress, dragFriction, decay);\n });\n\n if (time - startTime < duration) {\n requestAnimationFrame(update);\n } else {\n fettis.forEach((fetti) => {\n if (fetti.element.parentNode === root) {\n root.removeChild(fetti.element);\n }\n })\n\n isActive = false;\n }\n }\n\n requestAnimationFrame(update);\n\n return new Promise<void>(resolve => {\n const checkIfDone = setInterval(() => {\n if (!isActive) {\n clearInterval(checkIfDone);\n resolve();\n }\n }, 100);\n });\n }\n\n public launch(root: HTMLElement, config?: Partial<ConfettiConfig>): Promise<void> {\n const {\n elementCount,\n colors,\n width,\n height,\n perspective,\n angle,\n spread,\n startVelocity,\n decay,\n dragFriction,\n duration,\n stagger,\n random,\n } = { ...defaultsConfettiConfig, ...config } as ConfettiConfig;\n root.style.perspective = perspective;\n const { fragment, elements } = this.createElements(\n elementCount ?? 50,\n colors,\n width,\n height\n );\n root.appendChild(fragment);\n const fettis = elements.map((element) => ({\n element,\n physics: this.randomPhysics(angle, spread, startVelocity, random),\n }));\n\n return this.animate(root, fettis, dragFriction, decay, duration, stagger);\n }\n}\n","import { coerceElement } from '@angular/cdk/coercion';\nimport {Platform} from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n} from '@angular/core';\nimport { ConfettiRenderer } from './confetti-renderer';\nimport { ConfettiConfig, defaultsConfettiConfig, NGX_CONFETTI_GLOBAL_CONFIG } from './config';\n\n@Directive({\n selector: '[confetti], [ngxConfetti]',\n exportAs: 'ngxConfetti',\n})\nexport class NgxConfettiDirective {\n\n private _globalConfig: ConfettiConfig;\n\n private _confettiRenderer: ConfettiRenderer;\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private ngZone: NgZone,\n private platform: Platform,\n @Optional() @Inject(DOCUMENT) document: any,\n @Optional() @Inject(NGX_CONFETTI_GLOBAL_CONFIG) globalConfig?: ConfettiConfig,\n ) {\n this._globalConfig = (globalConfig || defaultsConfettiConfig) as ConfettiConfig;\n this._confettiRenderer = new ConfettiRenderer(document);\n }\n\n\n public launch(config?: Partial<ConfettiConfig>) {\n if (!this.platform.isBrowser) {\n return;\n }\n const element = coerceElement(this._elementRef);\n this.ngZone.runOutsideAngular(() => {\n this._confettiRenderer.launch(this._elementRef.nativeElement, config ?? this._globalConfig);\n })\n\n }\n\n}\n","import { coerceElement } from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport { ElementRef, Inject, Injectable, Optional } from '@angular/core';\nimport { ConfettiRenderer } from './confetti-renderer';\nimport { ConfettiConfig, NGX_CONFETTI_GLOBAL_CONFIG } from './config';\n\n@Injectable()\nexport class NgxDomConfettiService {\n\n private _confettiRenderer: ConfettiRenderer;\n\n private _globalConfig: ConfettiConfig;\n\n constructor(\n @Optional() @Inject(DOCUMENT) document: any,\n @Inject(NGX_CONFETTI_GLOBAL_CONFIG) globalConfig: ConfettiConfig,\n ) {\n this._confettiRenderer = new ConfettiRenderer(document);\n this._globalConfig = globalConfig;\n }\n\n public open(el: HTMLElement | ElementRef, config?: Partial<ConfettiConfig>) {\n this._confettiRenderer.launch(\n coerceElement(el),\n config ?? this._globalConfig\n );\n }\n}\n","import { BooleanInput, coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport { Component, ElementRef, Inject, Input, Optional } from '@angular/core';\n\nimport { ConfettiRenderer } from './confetti-renderer';\nimport { ConfettiConfig, NGX_CONFETTI_GLOBAL_CONFIG } from './config';\n\n@Component({\n selector: 'ngx-dom-confetti',\n template: ` <ng-content></ng-content> `,\n styles: [],\n})\nexport class NgxDomConfettiComponent {\n\n private _confettiRenderer: ConfettiRenderer;\n\n private _config: Partial<ConfettiConfig>;\n\n private _active: boolean;\n\n @Input()\n public set config(_config: Partial<ConfettiConfig>) {\n if (_config) {\n this._config = Object.assign(this._config, _config);\n }\n }\n\n @Input()\n public set active(_active: BooleanInput) {\n this._active = coerceBooleanProperty(_active);\n if (this._active) {\n this._confettiRenderer.launch(coerceElement(this.el), this._config);\n }\n }\n\n constructor(\n private el: ElementRef,\n @Optional() @Inject(DOCUMENT) document: any,\n @Optional() @Inject(NGX_CONFETTI_GLOBAL_CONFIG) globalConfig?: ConfettiConfig) {\n this._config = {\n ...globalConfig\n };\n this._confettiRenderer = new ConfettiRenderer(document);\n this._active = false;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgxConfettiDirective } from './confetti-directive';\nimport { NgxDomConfettiComponent } from './confetti-component';\nimport { NgxDomConfettiService } from './confetti-service';\nimport { defaultsConfettiConfig, NGX_CONFETTI_GLOBAL_CONFIG } from './config';\n\n\n@NgModule({\n declarations: [\n NgxDomConfettiComponent,\n NgxConfettiDirective,\n\n ],\n imports: [\n CommonModule,\n ],\n providers: [\n {\n provide: NGX_CONFETTI_GLOBAL_CONFIG,\n useValue: defaultsConfettiConfig,\n },\n NgxDomConfettiService,\n ],\n exports: [\n NgxDomConfettiComponent,\n NgxConfettiDirective\n ]\n})\nexport class NgxDomConfettiModule {\n\n static forRoot(): ModuleWithProviders<NgxDomConfettiModule> {\n return {\n ngModule: NgxDomConfettiModule,\n providers: [\n {\n provide: NGX_CONFETTI_GLOBAL_CONFIG,\n useValue: defaultsConfettiConfig,\n },\n NgxDomConfettiService,\n ],\n };\n }\n\n static forChild(): ModuleWithProviders<NgxDomConfettiModule> {\n return {\n ngModule: NgxDomConfettiModule,\n providers: [\n {\n provide: NGX_CONFETTI_GLOBAL_CONFIG,\n useValue: defaultsConfettiConfig,\n },\n NgxDomConfettiService,\n ],\n };\n }\n }\n","/*\n * Public API Surface of ngx-dom-confetti\n */\nexport * from './lib/confetti-directive';\nexport * from './lib/confetti-service';\nexport * from './lib/confetti-component';\nexport * from './lib/confetti-module';\nexport * from './lib/config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-dom-confetti.mjs","sources":["../../../packages/ngx-dom-confetti/src/lib/config.ts","../../../packages/ngx-dom-confetti/src/lib/confetti-renderer.ts","../../../packages/ngx-dom-confetti/src/lib/confetti-directive.ts","../../../packages/ngx-dom-confetti/src/lib/confetti-service.ts","../../../packages/ngx-dom-confetti/src/lib/confetti-component.ts","../../../packages/ngx-dom-confetti/src/lib/confetti-module.ts","../../../packages/ngx-dom-confetti/src/lib/confetti-provider.ts","../../../packages/ngx-dom-confetti/src/public-api.ts","../../../packages/ngx-dom-confetti/src/ngx-dom-confetti.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\n\nexport interface ConfettiConfig {\n angle: number;\n spread: number;\n width: string;\n height: string;\n perspective: string;\n duration: number;\n dragFriction: number;\n stagger: number;\n startVelocity: number;\n elementCount: number;\n decay: number;\n colors: string[];\n random: () => number;\n}\n\nexport const NGX_CONFETTI_GLOBAL_CONFIG = new InjectionToken<ConfettiConfig>(\n 'ngx-confetti-global-config',\n);\n\nconst defaultColors = [\"#a864fd\", \"#29cdff\", \"#78ff44\", \"#ff718d\", \"#fdff6a\"];\n\nexport const defaultsConfettiConfig = {\n angle: 90,\n spread: 45,\n startVelocity: 45,\n elementCount: 50,\n width: \"10px\",\n height: \"10px\",\n perspective: \"\",\n colors: defaultColors,\n duration: 3000,\n stagger: 0,\n dragFriction: 0.1,\n random: Math.random\n}\n","import { ConfettiConfig, defaultsConfettiConfig } from './config';\n\ninterface IPhysics {\n x: number;\n y: number;\n z: number;\n wobble: number;\n wobbleSpeed: number;\n velocity: number;\n angle2D: number;\n angle3D: number;\n tiltAngle: number;\n tiltAngleSpeed: number;\n}\n\ninterface IFetti {\n element: HTMLDivElement,\n physics: IPhysics\n}\n\nexport class ConfettiRenderer {\n\n constructor(private _document: Document) { }\n\n private createElements(\n elementCount: number,\n colors: string[],\n width: string,\n height: string\n ): {\n fragment: DocumentFragment,\n elements: HTMLDivElement[]\n } {\n const fragment = this._document.createDocumentFragment();\n const elements = Array.from({ length: elementCount }).map((_, index) => {\n const element = this._document.createElement('div');\n const color = colors[index % colors.length];\n element.style.backgroundColor = color;\n element.style.width = width;\n element.style.height = height;\n element.style.position = 'absolute';\n element.style.willChange = 'transform, opacity';\n element.style.visibility = 'hidden';\n fragment.appendChild(element);\n return element;\n });\n\n return {\n fragment,\n elements,\n };\n }\n\n private randomPhysics(\n angle: number,\n spread: number,\n startVelocity: number,\n random: () => number\n ): IPhysics {\n const radAngle = angle * (Math.PI / 180);\n const radSpread = spread * (Math.PI / 180);\n return {\n x: 0,\n y: 0,\n z: 0,\n wobble: random() * 10,\n wobbleSpeed: 0.1 + random() * 0.1,\n velocity: startVelocity * 0.5 + random() * startVelocity,\n angle2D: -radAngle + (0.5 * radSpread - random() * radSpread),\n angle3D: -(Math.PI / 4) + random() * (Math.PI / 2),\n tiltAngle: random() * Math.PI,\n tiltAngleSpeed: 0.1 + random() * 0.3,\n };\n }\n\n private updateFetti(fetti: IFetti, progress: number, dragFriction: number, decay: number) {\n \n fetti.physics.x += Math.cos(fetti.physics.angle2D) * fetti.physics.velocity;\n fetti.physics.y += Math.sin(fetti.physics.angle2D) * fetti.physics.velocity;\n fetti.physics.z += Math.sin(fetti.physics.angle3D) * fetti.physics.velocity;\n fetti.physics.wobble += fetti.physics.wobbleSpeed;\n // Backward compatibility\n if (decay) {\n fetti.physics.velocity *= decay;\n } else {\n fetti.physics.velocity -= fetti.physics.velocity * dragFriction;\n }\n fetti.physics.y += 3;\n fetti.physics.tiltAngle += fetti.physics.tiltAngleSpeed;\n\n const { x, y, z, tiltAngle, wobble } = fetti.physics;\n const wobbleX = x + 10 * Math.cos(wobble);\n const wobbleY = y + 10 * Math.sin(wobble);\n const transform = `translate3d(${wobbleX}px, ${wobbleY}px, ${z}px) rotate3d(1, 1, 1, ${tiltAngle}rad)`;\n\n fetti.element.style.visibility = \"visible\";\n fetti.element.style.transform = transform;\n fetti.element.style.opacity = (1 - progress).toString();;\n \n }\n\n private animate(root: HTMLElement, fettis: IFetti[], dragFriction: number, decay: number, duration: number, stagger: number) {\n let startTime: number;\n let isActive = true;\n\n const update = (time: number) => {\n if (!isActive) return;\n\n if (!startTime) startTime = time;\n const elapsed = time - startTime;\n const progress = startTime === time ? 0 : (time - startTime) / duration;\n fettis.slice(0, Math.ceil(elapsed / stagger)).forEach(fetti => {\n this.updateFetti(fetti, progress, dragFriction, decay);\n });\n\n if (time - startTime < duration) {\n requestAnimationFrame(update);\n } else {\n fettis.forEach((fetti) => {\n if (fetti.element.parentNode === root) {\n root.removeChild(fetti.element);\n }\n })\n\n isActive = false;\n }\n }\n\n requestAnimationFrame(update);\n\n return new Promise<void>(resolve => {\n const checkIfDone = setInterval(() => {\n if (!isActive) {\n clearInterval(checkIfDone);\n resolve();\n }\n }, 100);\n });\n }\n\n public launch(root: HTMLElement, config?: Partial<ConfettiConfig>): Promise<void> {\n const {\n elementCount,\n colors,\n width,\n height,\n perspective,\n angle,\n spread,\n startVelocity,\n decay,\n dragFriction,\n duration,\n stagger,\n random,\n } = { ...defaultsConfettiConfig, ...config } as ConfettiConfig;\n root.style.perspective = perspective;\n const { fragment, elements } = this.createElements(\n elementCount ?? 50,\n colors,\n width,\n height\n );\n root.appendChild(fragment);\n const fettis = elements.map((element) => ({\n element,\n physics: this.randomPhysics(angle, spread, startVelocity, random),\n }));\n\n return this.animate(root, fettis, dragFriction, decay, duration, stagger);\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, Inject, NgZone, Optional } from '@angular/core';\nimport { ConfettiRenderer } from './confetti-renderer';\nimport {\n ConfettiConfig,\n defaultsConfettiConfig,\n NGX_CONFETTI_GLOBAL_CONFIG,\n} from './config';\n\n@Directive({\n selector: '[confetti], [ngxConfetti]',\n exportAs: 'ngxConfetti',\n})\nexport class NgxConfettiDirective {\n private _globalConfig: ConfettiConfig;\n\n private _confettiRenderer: ConfettiRenderer;\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private ngZone: NgZone,\n private platform: Platform,\n @Optional() @Inject(DOCUMENT) document: Document,\n @Optional()\n @Inject(NGX_CONFETTI_GLOBAL_CONFIG)\n globalConfig?: ConfettiConfig,\n ) {\n this._globalConfig = (globalConfig ||\n defaultsConfettiConfig) as ConfettiConfig;\n this._confettiRenderer = new ConfettiRenderer(document);\n }\n public launch(config?: Partial<ConfettiConfig>) {\n if (!this.platform.isBrowser) {\n return;\n }\n // const element = coerceElement(this._elementRef);\n this.ngZone.runOutsideAngular(() => {\n this._confettiRenderer.launch(\n this._elementRef.nativeElement,\n config ?? this._globalConfig,\n );\n });\n }\n}\n","import { coerceElement } from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport { ElementRef, Inject, Injectable, Optional } from '@angular/core';\nimport { ConfettiRenderer } from './confetti-renderer';\nimport { ConfettiConfig, NGX_CONFETTI_GLOBAL_CONFIG } from './config';\n\n@Injectable()\nexport class NgxDomConfettiService {\n private _confettiRenderer: ConfettiRenderer;\n\n private _globalConfig: ConfettiConfig;\n\n constructor(\n @Optional() @Inject(DOCUMENT) document: Document,\n @Inject(NGX_CONFETTI_GLOBAL_CONFIG) globalConfig: ConfettiConfig,\n ) {\n this._confettiRenderer = new ConfettiRenderer(document);\n this._globalConfig = globalConfig;\n }\n\n public open(el: HTMLElement | ElementRef, config?: Partial<ConfettiConfig>) {\n this._confettiRenderer.launch(\n coerceElement(el),\n config ?? this._globalConfig,\n );\n }\n}\n","import {\n BooleanInput,\n coerceBooleanProperty,\n coerceElement,\n} from '@angular/cdk/coercion';\nimport { DOCUMENT } from '@angular/common';\nimport { Component, ElementRef, Inject, Input, Optional } from '@angular/core';\n\nimport { ConfettiRenderer } from './confetti-renderer';\nimport { ConfettiConfig, NGX_CONFETTI_GLOBAL_CONFIG } from './config';\n\n@Component({\n selector: 'ngx-dom-confetti',\n template: ` <ng-content></ng-content> `,\n styles: [],\n})\nexport class NgxDomConfettiComponent {\n private _confettiRenderer: ConfettiRenderer;\n\n private _config: Partial<ConfettiConfig>;\n\n private _active: boolean;\n\n @Input()\n public set config(_config: Partial<ConfettiConfig>) {\n if (_config) {\n this._config = Object.assign(this._config, _config);\n }\n }\n\n @Input()\n public set active(_active: BooleanInput) {\n this._active = coerceBooleanProperty(_active);\n if (this._active) {\n this._confettiRenderer.launch(coerceElement(this.el), this._config);\n }\n }\n\n constructor(\n private el: ElementRef,\n @Optional() @Inject(DOCUMENT) document: Document,\n @Optional()\n @Inject(NGX_CONFETTI_GLOBAL_CONFIG)\n globalConfig?: ConfettiConfig,\n ) {\n this._config = {\n ...globalConfig,\n };\n this._confettiRenderer = new ConfettiRenderer(document);\n this._active = false;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgxConfettiDirective } from './confetti-directive';\nimport { NgxDomConfettiComponent } from './confetti-component';\nimport { NgxDomConfettiService } from './confetti-service';\nimport { defaultsConfettiConfig, NGX_CONFETTI_GLOBAL_CONFIG } from './config';\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, NgxDomConfettiComponent, NgxConfettiDirective],\n providers: [\n {\n provide: NGX_CONFETTI_GLOBAL_CONFIG,\n useValue: defaultsConfettiConfig,\n },\n NgxDomConfettiService,\n ],\n exports: [NgxDomConfettiComponent, NgxConfettiDirective],\n})\nexport class NgxDomConfettiModule {\n static forRoot(): ModuleWithProviders<NgxDomConfettiModule> {\n return {\n ngModule: NgxDomConfettiModule,\n providers: [\n {\n provide: NGX_CONFETTI_GLOBAL_CONFIG,\n useValue: defaultsConfettiConfig,\n },\n NgxDomConfettiService,\n ],\n };\n }\n\n static forChild(): ModuleWithProviders<NgxDomConfettiModule> {\n return {\n ngModule: NgxDomConfettiModule,\n providers: [\n {\n provide: NGX_CONFETTI_GLOBAL_CONFIG,\n useValue: defaultsConfettiConfig,\n },\n NgxDomConfettiService,\n ],\n };\n }\n}\n","import { makeEnvironmentProviders } from '@angular/core';\nimport {\n ConfettiConfig,\n defaultsConfettiConfig,\n NGX_CONFETTI_GLOBAL_CONFIG,\n} from './config';\n\nexport function provideConfetti(config?: ConfettiConfig) {\n return makeEnvironmentProviders([\n {\n provide: NGX_CONFETTI_GLOBAL_CONFIG,\n useValue: config ?? defaultsConfettiConfig,\n },\n ]);\n}\n","/*\n * Public API Surface of ngx-dom-confetti\n */\nexport * from './lib/confetti-directive';\nexport * from './lib/confetti-service';\nexport * from './lib/confetti-component';\nexport * from './lib/confetti-module';\nexport * from './lib/confetti-provider';\nexport * from './lib/config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export declare class NgxDomConfettiComponent {
|
|
|
9
9
|
private _active;
|
|
10
10
|
set config(_config: Partial<ConfettiConfig>);
|
|
11
11
|
set active(_active: BooleanInput);
|
|
12
|
-
constructor(el: ElementRef, document:
|
|
12
|
+
constructor(el: ElementRef, document: Document, globalConfig?: ConfettiConfig);
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxDomConfettiComponent, [null, { optional: true; }, { optional: true; }]>;
|
|
14
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgxDomConfettiComponent, "ngx-dom-confetti", never, { "config": { "alias": "config"; "required": false; }; "active": { "alias": "active"; "required": false; }; }, {}, never, ["*"],
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgxDomConfettiComponent, "ngx-dom-confetti", never, { "config": { "alias": "config"; "required": false; }; "active": { "alias": "active"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
15
15
|
}
|
|
@@ -8,8 +8,8 @@ export declare class NgxConfettiDirective {
|
|
|
8
8
|
private platform;
|
|
9
9
|
private _globalConfig;
|
|
10
10
|
private _confettiRenderer;
|
|
11
|
-
constructor(_elementRef: ElementRef<HTMLElement>, ngZone: NgZone, platform: Platform, document:
|
|
11
|
+
constructor(_elementRef: ElementRef<HTMLElement>, ngZone: NgZone, platform: Platform, document: Document, globalConfig?: ConfettiConfig);
|
|
12
12
|
launch(config?: Partial<ConfettiConfig>): void;
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxConfettiDirective, [null, null, null, { optional: true; }, { optional: true; }]>;
|
|
14
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxConfettiDirective, "[confetti], [ngxConfetti]", ["ngxConfetti"], {}, {}, never, never,
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgxConfettiDirective, "[confetti], [ngxConfetti]", ["ngxConfetti"], {}, {}, never, never, true, never>;
|
|
15
15
|
}
|
package/lib/confetti-module.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ModuleWithProviders } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
4
|
-
import * as i2 from "./confetti-
|
|
5
|
-
import * as i3 from "
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "./confetti-component";
|
|
5
|
+
import * as i3 from "./confetti-directive";
|
|
6
6
|
export declare class NgxDomConfettiModule {
|
|
7
7
|
static forRoot(): ModuleWithProviders<NgxDomConfettiModule>;
|
|
8
8
|
static forChild(): ModuleWithProviders<NgxDomConfettiModule>;
|
|
9
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxDomConfettiModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxDomConfettiModule, [typeof i1.
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxDomConfettiModule, never, [typeof i1.CommonModule, typeof i2.NgxDomConfettiComponent, typeof i3.NgxConfettiDirective], [typeof i2.NgxDomConfettiComponent, typeof i3.NgxConfettiDirective]>;
|
|
11
11
|
static ɵinj: i0.ɵɵInjectorDeclaration<NgxDomConfettiModule>;
|
|
12
12
|
}
|
|
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
export declare class NgxDomConfettiService {
|
|
5
5
|
private _confettiRenderer;
|
|
6
6
|
private _globalConfig;
|
|
7
|
-
constructor(document:
|
|
7
|
+
constructor(document: Document, globalConfig: ConfettiConfig);
|
|
8
8
|
open(el: HTMLElement | ElementRef, config?: Partial<ConfettiConfig>): void;
|
|
9
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxDomConfettiService, [{ optional: true; }, null]>;
|
|
10
10
|
static ɵprov: i0.ɵɵInjectableDeclaration<NgxDomConfettiService>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ngx-dom-confetti",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dom-confetti",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
},
|
|
17
17
|
"homepage": "https://github.com/damingerdai/ngx-dom-confetti",
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@angular/common": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0",
|
|
20
|
-
"@angular/core": "^14.0.0|| ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0"
|
|
19
|
+
"@angular/common": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
20
|
+
"@angular/core": "^14.0.0|| ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"tslib": "^2.3.0"
|
|
@@ -30,8 +30,6 @@
|
|
|
30
30
|
},
|
|
31
31
|
".": {
|
|
32
32
|
"types": "./index.d.ts",
|
|
33
|
-
"esm2022": "./esm2022/ngx-dom-confetti.mjs",
|
|
34
|
-
"esm": "./esm2022/ngx-dom-confetti.mjs",
|
|
35
33
|
"default": "./fesm2022/ngx-dom-confetti.mjs"
|
|
36
34
|
}
|
|
37
35
|
},
|
package/public-api.d.ts
CHANGED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { Component, Inject, Input, Optional } from '@angular/core';
|
|
4
|
-
import { ConfettiRenderer } from './confetti-renderer';
|
|
5
|
-
import { NGX_CONFETTI_GLOBAL_CONFIG } from './config';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class NgxDomConfettiComponent {
|
|
8
|
-
set config(_config) {
|
|
9
|
-
if (_config) {
|
|
10
|
-
this._config = Object.assign(this._config, _config);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
set active(_active) {
|
|
14
|
-
this._active = coerceBooleanProperty(_active);
|
|
15
|
-
if (this._active) {
|
|
16
|
-
this._confettiRenderer.launch(coerceElement(this.el), this._config);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
constructor(el, document, globalConfig) {
|
|
20
|
-
this.el = el;
|
|
21
|
-
this._config = {
|
|
22
|
-
...globalConfig
|
|
23
|
-
};
|
|
24
|
-
this._confettiRenderer = new ConfettiRenderer(document);
|
|
25
|
-
this._active = false;
|
|
26
|
-
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxDomConfettiComponent, deps: [{ token: i0.ElementRef }, { token: DOCUMENT, optional: true }, { token: NGX_CONFETTI_GLOBAL_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: NgxDomConfettiComponent, selector: "ngx-dom-confetti", inputs: { config: "config", active: "active" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }
|
|
29
|
-
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxDomConfettiComponent, decorators: [{
|
|
31
|
-
type: Component,
|
|
32
|
-
args: [{ selector: 'ngx-dom-confetti', template: ` <ng-content></ng-content> ` }]
|
|
33
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
34
|
-
type: Optional
|
|
35
|
-
}, {
|
|
36
|
-
type: Inject,
|
|
37
|
-
args: [DOCUMENT]
|
|
38
|
-
}] }, { type: undefined, decorators: [{
|
|
39
|
-
type: Optional
|
|
40
|
-
}, {
|
|
41
|
-
type: Inject,
|
|
42
|
-
args: [NGX_CONFETTI_GLOBAL_CONFIG]
|
|
43
|
-
}] }], propDecorators: { config: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], active: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmV0dGktY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbmd4LWRvbS1jb25mZXR0aS9zcmMvbGliL2NvbmZldHRpLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBa0IsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBT3RFLE1BQU0sT0FBTyx1QkFBdUI7SUFRbEMsSUFDVyxNQUFNLENBQUMsT0FBZ0M7UUFDaEQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQsSUFDVyxNQUFNLENBQUMsT0FBcUI7UUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFDVSxFQUFjLEVBQ1EsUUFBYSxFQUNLLFlBQTZCO1FBRnJFLE9BQUUsR0FBRixFQUFFLENBQVk7UUFHdEIsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLEdBQUcsWUFBWTtTQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQzs4R0FoQ1UsdUJBQXVCLDRDQXlCWixRQUFRLDZCQUNSLDBCQUEwQjtrR0ExQnJDLHVCQUF1Qix3R0FIeEIsNkJBQTZCOzsyRkFHNUIsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQiw2QkFBNkI7OzBCQTRCcEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxRQUFROzswQkFDM0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywwQkFBMEI7eUNBakJyQyxNQUFNO3NCQURoQixLQUFLO2dCQVFLLE1BQU07c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbmZldHRpUmVuZGVyZXIgfSBmcm9tICcuL2NvbmZldHRpLXJlbmRlcmVyJztcbmltcG9ydCB7IENvbmZldHRpQ29uZmlnLCBOR1hfQ09ORkVUVElfR0xPQkFMX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LWRvbS1jb25mZXR0aScsXG4gIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd4RG9tQ29uZmV0dGlDb21wb25lbnQge1xuXG4gIHByaXZhdGUgX2NvbmZldHRpUmVuZGVyZXI6IENvbmZldHRpUmVuZGVyZXI7XG5cbiAgcHJpdmF0ZSBfY29uZmlnOiBQYXJ0aWFsPENvbmZldHRpQ29uZmlnPjtcblxuICBwcml2YXRlIF9hY3RpdmU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjb25maWcoX2NvbmZpZzogUGFydGlhbDxDb25mZXR0aUNvbmZpZz4pIHtcbiAgICBpZiAoX2NvbmZpZykge1xuICAgICAgdGhpcy5fY29uZmlnID0gT2JqZWN0LmFzc2lnbih0aGlzLl9jb25maWcsIF9jb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYWN0aXZlKF9hY3RpdmU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2FjdGl2ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShfYWN0aXZlKTtcbiAgICBpZiAodGhpcy5fYWN0aXZlKSB7XG4gICAgICB0aGlzLl9jb25mZXR0aVJlbmRlcmVyLmxhdW5jaChjb2VyY2VFbGVtZW50KHRoaXMuZWwpLCB0aGlzLl9jb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5HWF9DT05GRVRUSV9HTE9CQUxfQ09ORklHKSBnbG9iYWxDb25maWc/OiBDb25mZXR0aUNvbmZpZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IHtcbiAgICAgIC4uLmdsb2JhbENvbmZpZ1xuICAgIH07XG4gICAgdGhpcy5fY29uZmV0dGlSZW5kZXJlciA9IG5ldyBDb25mZXR0aVJlbmRlcmVyKGRvY3VtZW50KTtcbiAgICB0aGlzLl9hY3RpdmUgPSBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { coerceElement } from '@angular/cdk/coercion';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { Directive, Inject, Optional, } from '@angular/core';
|
|
4
|
-
import { ConfettiRenderer } from './confetti-renderer';
|
|
5
|
-
import { defaultsConfettiConfig, NGX_CONFETTI_GLOBAL_CONFIG } from './config';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/cdk/platform";
|
|
8
|
-
export class NgxConfettiDirective {
|
|
9
|
-
constructor(_elementRef, ngZone, platform, document, globalConfig) {
|
|
10
|
-
this._elementRef = _elementRef;
|
|
11
|
-
this.ngZone = ngZone;
|
|
12
|
-
this.platform = platform;
|
|
13
|
-
this._globalConfig = (globalConfig || defaultsConfettiConfig);
|
|
14
|
-
this._confettiRenderer = new ConfettiRenderer(document);
|
|
15
|
-
}
|
|
16
|
-
launch(config) {
|
|
17
|
-
if (!this.platform.isBrowser) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
const element = coerceElement(this._elementRef);
|
|
21
|
-
this.ngZone.runOutsideAngular(() => {
|
|
22
|
-
this._confettiRenderer.launch(this._elementRef.nativeElement, config ?? this._globalConfig);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxConfettiDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.Platform }, { token: DOCUMENT, optional: true }, { token: NGX_CONFETTI_GLOBAL_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
26
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: NgxConfettiDirective, selector: "[confetti], [ngxConfetti]", exportAs: ["ngxConfetti"], ngImport: i0 }); }
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxConfettiDirective, decorators: [{
|
|
29
|
-
type: Directive,
|
|
30
|
-
args: [{
|
|
31
|
-
selector: '[confetti], [ngxConfetti]',
|
|
32
|
-
exportAs: 'ngxConfetti',
|
|
33
|
-
}]
|
|
34
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.Platform }, { type: undefined, decorators: [{
|
|
35
|
-
type: Optional
|
|
36
|
-
}, {
|
|
37
|
-
type: Inject,
|
|
38
|
-
args: [DOCUMENT]
|
|
39
|
-
}] }, { type: undefined, decorators: [{
|
|
40
|
-
type: Optional
|
|
41
|
-
}, {
|
|
42
|
-
type: Inject,
|
|
43
|
-
args: [NGX_CONFETTI_GLOBAL_CONFIG]
|
|
44
|
-
}] }] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmV0dGktZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbmd4LWRvbS1jb25mZXR0aS9zcmMvbGliL2NvbmZldHRpLWRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFDTCxTQUFTLEVBRVQsTUFBTSxFQUlOLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQWtCLHNCQUFzQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFNOUYsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQixZQUNVLFdBQW9DLEVBQ3BDLE1BQWMsRUFDZCxRQUFrQixFQUNJLFFBQWEsRUFDSyxZQUE2QjtRQUpyRSxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFJMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLFlBQVksSUFBSSxzQkFBc0IsQ0FBbUIsQ0FBQztRQUNoRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBR00sTUFBTSxDQUFDLE1BQWdDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUYsQ0FBQyxDQUFDLENBQUE7SUFFSixDQUFDOzhHQTNCVSxvQkFBb0IsMEZBVVQsUUFBUSw2QkFDUiwwQkFBMEI7a0dBWHJDLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxRQUFRLEVBQUUsYUFBYTtpQkFDeEI7OzBCQVdJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsUUFBUTs7MEJBQzNCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZldHRpUmVuZGVyZXIgfSBmcm9tICcuL2NvbmZldHRpLXJlbmRlcmVyJztcbmltcG9ydCB7IENvbmZldHRpQ29uZmlnLCBkZWZhdWx0c0NvbmZldHRpQ29uZmlnLCBOR1hfQ09ORkVUVElfR0xPQkFMX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NvbmZldHRpXSwgW25neENvbmZldHRpXScsXG4gIGV4cG9ydEFzOiAnbmd4Q29uZmV0dGknLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hDb25mZXR0aURpcmVjdGl2ZSB7XG5cbiAgcHJpdmF0ZSBfZ2xvYmFsQ29uZmlnOiBDb25mZXR0aUNvbmZpZztcblxuICBwcml2YXRlIF9jb25mZXR0aVJlbmRlcmVyOiBDb25mZXR0aVJlbmRlcmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5HWF9DT05GRVRUSV9HTE9CQUxfQ09ORklHKSBnbG9iYWxDb25maWc/OiBDb25mZXR0aUNvbmZpZyxcbiAgKSB7XG4gICAgdGhpcy5fZ2xvYmFsQ29uZmlnID0gKGdsb2JhbENvbmZpZyB8fCBkZWZhdWx0c0NvbmZldHRpQ29uZmlnKSBhcyBDb25mZXR0aUNvbmZpZztcbiAgICB0aGlzLl9jb25mZXR0aVJlbmRlcmVyID0gbmV3IENvbmZldHRpUmVuZGVyZXIoZG9jdW1lbnQpO1xuICB9XG5cblxuICBwdWJsaWMgbGF1bmNoKGNvbmZpZz86IFBhcnRpYWw8Q29uZmV0dGlDb25maWc+KSB7XG4gICAgaWYgKCF0aGlzLnBsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBlbGVtZW50ID0gY29lcmNlRWxlbWVudCh0aGlzLl9lbGVtZW50UmVmKTtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLl9jb25mZXR0aVJlbmRlcmVyLmxhdW5jaCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGNvbmZpZyA/PyB0aGlzLl9nbG9iYWxDb25maWcpO1xuICAgIH0pXG5cbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { NgxConfettiDirective } from './confetti-directive';
|
|
4
|
-
import { NgxDomConfettiComponent } from './confetti-component';
|
|
5
|
-
import { NgxDomConfettiService } from './confetti-service';
|
|
6
|
-
import { defaultsConfettiConfig, NGX_CONFETTI_GLOBAL_CONFIG } from './config';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class NgxDomConfettiModule {
|
|
9
|
-
static forRoot() {
|
|
10
|
-
return {
|
|
11
|
-
ngModule: NgxDomConfettiModule,
|
|
12
|
-
providers: [
|
|
13
|
-
{
|
|
14
|
-
provide: NGX_CONFETTI_GLOBAL_CONFIG,
|
|
15
|
-
useValue: defaultsConfettiConfig,
|
|
16
|
-
},
|
|
17
|
-
NgxDomConfettiService,
|
|
18
|
-
],
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
static forChild() {
|
|
22
|
-
return {
|
|
23
|
-
ngModule: NgxDomConfettiModule,
|
|
24
|
-
providers: [
|
|
25
|
-
{
|
|
26
|
-
provide: NGX_CONFETTI_GLOBAL_CONFIG,
|
|
27
|
-
useValue: defaultsConfettiConfig,
|
|
28
|
-
},
|
|
29
|
-
NgxDomConfettiService,
|
|
30
|
-
],
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxDomConfettiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
34
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: NgxDomConfettiModule, declarations: [NgxDomConfettiComponent,
|
|
35
|
-
NgxConfettiDirective], imports: [CommonModule], exports: [NgxDomConfettiComponent,
|
|
36
|
-
NgxConfettiDirective] }); }
|
|
37
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxDomConfettiModule, providers: [
|
|
38
|
-
{
|
|
39
|
-
provide: NGX_CONFETTI_GLOBAL_CONFIG,
|
|
40
|
-
useValue: defaultsConfettiConfig,
|
|
41
|
-
},
|
|
42
|
-
NgxDomConfettiService,
|
|
43
|
-
], imports: [CommonModule] }); }
|
|
44
|
-
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxDomConfettiModule, decorators: [{
|
|
46
|
-
type: NgModule,
|
|
47
|
-
args: [{
|
|
48
|
-
declarations: [
|
|
49
|
-
NgxDomConfettiComponent,
|
|
50
|
-
NgxConfettiDirective,
|
|
51
|
-
],
|
|
52
|
-
imports: [
|
|
53
|
-
CommonModule,
|
|
54
|
-
],
|
|
55
|
-
providers: [
|
|
56
|
-
{
|
|
57
|
-
provide: NGX_CONFETTI_GLOBAL_CONFIG,
|
|
58
|
-
useValue: defaultsConfettiConfig,
|
|
59
|
-
},
|
|
60
|
-
NgxDomConfettiService,
|
|
61
|
-
],
|
|
62
|
-
exports: [
|
|
63
|
-
NgxDomConfettiComponent,
|
|
64
|
-
NgxConfettiDirective
|
|
65
|
-
]
|
|
66
|
-
}]
|
|
67
|
-
}] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmV0dGktbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbmd4LWRvbS1jb25mZXR0aS9zcmMvbGliL2NvbmZldHRpLW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQXdCOUUsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsMEJBQTBCO29CQUNuQyxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQztnQkFDRCxxQkFBcUI7YUFDdEI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRO1FBQ2IsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSwwQkFBMEI7b0JBQ25DLFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDO2dCQUNELHFCQUFxQjthQUN0QjtTQUNGLENBQUM7SUFDSixDQUFDOzhHQTFCVSxvQkFBb0I7K0dBQXBCLG9CQUFvQixpQkFuQjdCLHVCQUF1QjtZQUN2QixvQkFBb0IsYUFJcEIsWUFBWSxhQVVaLHVCQUF1QjtZQUN2QixvQkFBb0I7K0dBR1gsb0JBQW9CLGFBWnBCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjtnQkFDbkMsUUFBUSxFQUFFLHNCQUFzQjthQUNqQztZQUNELHFCQUFxQjtTQUN0QixZQVJDLFlBQVk7OzJGQWNILG9CQUFvQjtrQkFyQmhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3FCQUVyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsUUFBUSxFQUFFLHNCQUFzQjt5QkFDakM7d0JBQ0QscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2QixvQkFBb0I7cUJBQ3JCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3hDb25mZXR0aURpcmVjdGl2ZSB9IGZyb20gJy4vY29uZmV0dGktZGlyZWN0aXZlJztcbmltcG9ydCB7IE5neERvbUNvbmZldHRpQ29tcG9uZW50IH0gZnJvbSAnLi9jb25mZXR0aS1jb21wb25lbnQnO1xuaW1wb3J0IHsgTmd4RG9tQ29uZmV0dGlTZXJ2aWNlIH0gZnJvbSAnLi9jb25mZXR0aS1zZXJ2aWNlJztcbmltcG9ydCB7IGRlZmF1bHRzQ29uZmV0dGlDb25maWcsIE5HWF9DT05GRVRUSV9HTE9CQUxfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE5neERvbUNvbmZldHRpQ29tcG9uZW50LFxuICAgIE5neENvbmZldHRpRGlyZWN0aXZlLFxuXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HWF9DT05GRVRUSV9HTE9CQUxfQ09ORklHLFxuICAgICAgdXNlVmFsdWU6IGRlZmF1bHRzQ29uZmV0dGlDb25maWcsXG4gICAgfSxcbiAgICBOZ3hEb21Db25mZXR0aVNlcnZpY2UsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBOZ3hEb21Db25mZXR0aUNvbXBvbmVudCxcbiAgICBOZ3hDb25mZXR0aURpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE5neERvbUNvbmZldHRpTW9kdWxlIHtcblxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neERvbUNvbmZldHRpTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ3hEb21Db25mZXR0aU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTkdYX0NPTkZFVFRJX0dMT0JBTF9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IGRlZmF1bHRzQ29uZmV0dGlDb25maWcsXG4gICAgICAgIH0sXG4gICAgICAgIE5neERvbUNvbmZldHRpU2VydmljZSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBmb3JDaGlsZCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neERvbUNvbmZldHRpTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ3hEb21Db25mZXR0aU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTkdYX0NPTkZFVFRJX0dMT0JBTF9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IGRlZmF1bHRzQ29uZmV0dGlDb25maWcsXG4gICAgICAgIH0sXG4gICAgICAgIE5neERvbUNvbmZldHRpU2VydmljZSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuIH1cbiJdfQ==
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { defaultsConfettiConfig } from './config';
|
|
2
|
-
export class ConfettiRenderer {
|
|
3
|
-
constructor(_document) {
|
|
4
|
-
this._document = _document;
|
|
5
|
-
}
|
|
6
|
-
createElements(elementCount, colors, width, height) {
|
|
7
|
-
const fragment = this._document.createDocumentFragment();
|
|
8
|
-
const elements = Array.from({ length: elementCount }).map((_, index) => {
|
|
9
|
-
const element = this._document.createElement('div');
|
|
10
|
-
const color = colors[index % colors.length];
|
|
11
|
-
element.style.backgroundColor = color;
|
|
12
|
-
element.style.width = width;
|
|
13
|
-
element.style.height = height;
|
|
14
|
-
element.style.position = 'absolute';
|
|
15
|
-
element.style.willChange = 'transform, opacity';
|
|
16
|
-
element.style.visibility = 'hidden';
|
|
17
|
-
fragment.appendChild(element);
|
|
18
|
-
return element;
|
|
19
|
-
});
|
|
20
|
-
return {
|
|
21
|
-
fragment,
|
|
22
|
-
elements,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
randomPhysics(angle, spread, startVelocity, random) {
|
|
26
|
-
const radAngle = angle * (Math.PI / 180);
|
|
27
|
-
const radSpread = spread * (Math.PI / 180);
|
|
28
|
-
return {
|
|
29
|
-
x: 0,
|
|
30
|
-
y: 0,
|
|
31
|
-
z: 0,
|
|
32
|
-
wobble: random() * 10,
|
|
33
|
-
wobbleSpeed: 0.1 + random() * 0.1,
|
|
34
|
-
velocity: startVelocity * 0.5 + random() * startVelocity,
|
|
35
|
-
angle2D: -radAngle + (0.5 * radSpread - random() * radSpread),
|
|
36
|
-
angle3D: -(Math.PI / 4) + random() * (Math.PI / 2),
|
|
37
|
-
tiltAngle: random() * Math.PI,
|
|
38
|
-
tiltAngleSpeed: 0.1 + random() * 0.3,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
updateFetti(fetti, progress, dragFriction, decay) {
|
|
42
|
-
/* eslint-disable no-param-reassign */
|
|
43
|
-
fetti.physics.x += Math.cos(fetti.physics.angle2D) * fetti.physics.velocity;
|
|
44
|
-
fetti.physics.y += Math.sin(fetti.physics.angle2D) * fetti.physics.velocity;
|
|
45
|
-
fetti.physics.z += Math.sin(fetti.physics.angle3D) * fetti.physics.velocity;
|
|
46
|
-
fetti.physics.wobble += fetti.physics.wobbleSpeed;
|
|
47
|
-
// Backward compatibility
|
|
48
|
-
if (decay) {
|
|
49
|
-
fetti.physics.velocity *= decay;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
fetti.physics.velocity -= fetti.physics.velocity * dragFriction;
|
|
53
|
-
}
|
|
54
|
-
fetti.physics.y += 3;
|
|
55
|
-
fetti.physics.tiltAngle += fetti.physics.tiltAngleSpeed;
|
|
56
|
-
const { x, y, z, tiltAngle, wobble } = fetti.physics;
|
|
57
|
-
const wobbleX = x + 10 * Math.cos(wobble);
|
|
58
|
-
const wobbleY = y + 10 * Math.sin(wobble);
|
|
59
|
-
const transform = `translate3d(${wobbleX}px, ${wobbleY}px, ${z}px) rotate3d(1, 1, 1, ${tiltAngle}rad)`;
|
|
60
|
-
fetti.element.style.visibility = "visible";
|
|
61
|
-
fetti.element.style.transform = transform;
|
|
62
|
-
fetti.element.style.opacity = (1 - progress).toString();
|
|
63
|
-
;
|
|
64
|
-
/* eslint-enable */
|
|
65
|
-
}
|
|
66
|
-
animate(root, fettis, dragFriction, decay, duration, stagger) {
|
|
67
|
-
let startTime;
|
|
68
|
-
let isActive = true;
|
|
69
|
-
const update = (time) => {
|
|
70
|
-
if (!isActive)
|
|
71
|
-
return;
|
|
72
|
-
if (!startTime)
|
|
73
|
-
startTime = time;
|
|
74
|
-
const elapsed = time - startTime;
|
|
75
|
-
const progress = startTime === time ? 0 : (time - startTime) / duration;
|
|
76
|
-
fettis.slice(0, Math.ceil(elapsed / stagger)).forEach(fetti => {
|
|
77
|
-
this.updateFetti(fetti, progress, dragFriction, decay);
|
|
78
|
-
});
|
|
79
|
-
if (time - startTime < duration) {
|
|
80
|
-
requestAnimationFrame(update);
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
fettis.forEach((fetti) => {
|
|
84
|
-
if (fetti.element.parentNode === root) {
|
|
85
|
-
root.removeChild(fetti.element);
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
isActive = false;
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
requestAnimationFrame(update);
|
|
92
|
-
return new Promise(resolve => {
|
|
93
|
-
const checkIfDone = setInterval(() => {
|
|
94
|
-
if (!isActive) {
|
|
95
|
-
clearInterval(checkIfDone);
|
|
96
|
-
resolve();
|
|
97
|
-
}
|
|
98
|
-
}, 100);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
launch(root, config) {
|
|
102
|
-
const { elementCount, colors, width, height, perspective, angle, spread, startVelocity, decay, dragFriction, duration, stagger, random, } = { ...defaultsConfettiConfig, ...config };
|
|
103
|
-
root.style.perspective = perspective;
|
|
104
|
-
const { fragment, elements } = this.createElements(elementCount ?? 50, colors, width, height);
|
|
105
|
-
root.appendChild(fragment);
|
|
106
|
-
const fettis = elements.map((element) => ({
|
|
107
|
-
element,
|
|
108
|
-
physics: this.randomPhysics(angle, spread, startVelocity, random),
|
|
109
|
-
}));
|
|
110
|
-
return this.animate(root, fettis, dragFriction, decay, duration, stagger);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmV0dGktcmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9uZ3gtZG9tLWNvbmZldHRpL3NyYy9saWIvY29uZmV0dGktcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQW9CbEUsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUFvQixTQUFtQjtRQUFuQixjQUFTLEdBQVQsU0FBUyxDQUFVO0lBQUksQ0FBQztJQUVwQyxjQUFjLENBQ3BCLFlBQW9CLEVBQ3BCLE1BQWdCLEVBQ2hCLEtBQWEsRUFDYixNQUFjO1FBS2QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3pELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDckUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUM1QixPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLG9CQUFvQixDQUFDO1lBQ2hELE9BQU8sQ0FBQyxLQUFLLENB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LEdBQ1AsR0FBRyxFQUFFLEdBQUcsc0JBQXNCLEVBQUUsR0FBRyxNQUFNLEVBQW9CLENBQUM7UUFDL0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQ3JDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FDaEQsWUFBWSxJQUFJLEVBQUUsRUFDbEIsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLENBQ1AsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4QyxPQUFPO1lBQ1AsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDO1NBQ2xFLENBQUMsQ0FBQyxDQUFDO1FBRUosT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmV0dGlDb25maWcsIGRlZmF1bHRzQ29uZmV0dGlDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5cbmludGVyZmFjZSBJUGh5c2ljcyB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB6OiBudW1iZXI7XG4gIHdvYmJsZTogbnVtYmVyO1xuICB3b2JibGVTcGVlZDogbnVtYmVyO1xuICB2ZWxvY2l0eTogbnVtYmVyO1xuICBhbmdsZTJEOiBudW1iZXI7XG4gIGFuZ2xlM0Q6IG51bWJlcjtcbiAgdGlsdEFuZ2xlOiBudW1iZXI7XG4gIHRpbHRBbmdsZVNwZWVkOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBJRmV0dGkge1xuICBlbGVtZW50OiBIVE1MRGl2RWxlbWVudCxcbiAgcGh5c2ljczogSVBoeXNpY3Ncbn1cblxuZXhwb3J0IGNsYXNzIENvbmZldHRpUmVuZGVyZXIge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RvY3VtZW50OiBEb2N1bWVudCkgeyB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVFbGVtZW50cyhcbiAgICBlbGVtZW50Q291bnQ6IG51bWJlcixcbiAgICBjb2xvcnM6IHN0cmluZ1tdLFxuICAgIHdpZHRoOiBzdHJpbmcsXG4gICAgaGVpZ2h0OiBzdHJpbmdcbiAgKToge1xuICAgIGZyYWdtZW50OiBEb2N1bWVudEZyYWdtZW50LFxuICAgIGVsZW1lbnRzOiBIVE1MRGl2RWxlbWVudFtdXG4gIH0ge1xuICAgIGNvbnN0IGZyYWdtZW50ID0gdGhpcy5fZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgIGNvbnN0IGVsZW1lbnRzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogZWxlbWVudENvdW50IH0pLm1hcCgoXywgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIGNvbnN0IGNvbG9yID0gY29sb3JzW2luZGV4ICUgY29sb3JzLmxlbmd0aF07XG4gICAgICBlbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9IGNvbG9yO1xuICAgICAgZWxlbWVudC5zdHlsZS53aWR0aCA9IHdpZHRoO1xuICAgICAgZWxlbWVudC5zdHlsZS5oZWlnaHQgPSBoZWlnaHQ7XG4gICAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIGVsZW1lbnQuc3R5bGUud2lsbENoYW5nZSA9ICd0cmFuc2Zvcm0sIG9wYWNpdHknO1xuICAgICAgZWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZyYWdtZW50LFxuICAgICAgZWxlbWVudHMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmFuZG9tUGh5c2ljcyhcbiAgICBhbmdsZTogbnVtYmVyLFxuICAgIHNwcmVhZDogbnVtYmVyLFxuICAgIHN0YXJ0VmVsb2NpdHk6IG51bWJlcixcbiAgICByYW5kb206ICgpID0+IG51bWJlclxuICApOiBJUGh5c2ljcyB7XG4gICAgY29uc3QgcmFkQW5nbGUgPSBhbmdsZSAqIChNYXRoLlBJIC8gMTgwKTtcbiAgICBjb25zdCByYWRTcHJlYWQgPSBzcHJlYWQgKiAoTWF0aC5QSSAvIDE4MCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IDAsXG4gICAgICB5OiAwLFxuICAgICAgejogMCxcbiAgICAgIHdvYmJsZTogcmFuZG9tKCkgKiAxMCxcbiAgICAgIHdvYmJsZVNwZWVkOiAwLjEgKyByYW5kb20oKSAqIDAuMSxcbiAgICAgIHZlbG9jaXR5OiBzdGFydFZlbG9jaXR5ICogMC41ICsgcmFuZG9tKCkgKiBzdGFydFZlbG9jaXR5LFxuICAgICAgYW5nbGUyRDogLXJhZEFuZ2xlICsgKDAuNSAqIHJhZFNwcmVhZCAtIHJhbmRvbSgpICogcmFkU3ByZWFkKSxcbiAgICAgIGFuZ2xlM0Q6IC0oTWF0aC5QSSAvIDQpICsgcmFuZG9tKCkgKiAoTWF0aC5QSSAvIDIpLFxuICAgICAgdGlsdEFuZ2xlOiByYW5kb20oKSAqIE1hdGguUEksXG4gICAgICB0aWx0QW5nbGVTcGVlZDogMC4xICsgcmFuZG9tKCkgKiAwLjMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRmV0dGkoZmV0dGk6IElGZXR0aSwgcHJvZ3Jlc3M6IG51bWJlciwgZHJhZ0ZyaWN0aW9uOiBudW1iZXIsIGRlY2F5OiBudW1iZXIpIHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuICAgIGZldHRpLnBoeXNpY3MueCArPSBNYXRoLmNvcyhmZXR0aS5waHlzaWNzLmFuZ2xlMkQpICogZmV0dGkucGh5c2ljcy52ZWxvY2l0eTtcbiAgICBmZXR0aS5waHlzaWNzLnkgKz0gTWF0aC5zaW4oZmV0dGkucGh5c2ljcy5hbmdsZTJEKSAqIGZldHRpLnBoeXNpY3MudmVsb2NpdHk7XG4gICAgZmV0dGkucGh5c2ljcy56ICs9IE1hdGguc2luKGZldHRpLnBoeXNpY3MuYW5nbGUzRCkgKiBmZXR0aS5waHlzaWNzLnZlbG9jaXR5O1xuICAgIGZldHRpLnBoeXNpY3Mud29iYmxlICs9IGZldHRpLnBoeXNpY3Mud29iYmxlU3BlZWQ7XG4gICAgLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgIGlmIChkZWNheSkge1xuICAgICAgZmV0dGkucGh5c2ljcy52ZWxvY2l0eSAqPSBkZWNheTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmV0dGkucGh5c2ljcy52ZWxvY2l0eSAtPSBmZXR0aS5waHlzaWNzLnZlbG9jaXR5ICogZHJhZ0ZyaWN0aW9uO1xuICAgIH1cbiAgICBmZXR0aS5waHlzaWNzLnkgKz0gMztcbiAgICBmZXR0aS5waHlzaWNzLnRpbHRBbmdsZSArPSBmZXR0aS5waHlzaWNzLnRpbHRBbmdsZVNwZWVkO1xuXG4gICAgY29uc3QgeyB4LCB5LCB6LCB0aWx0QW5nbGUsIHdvYmJsZSB9ID0gZmV0dGkucGh5c2ljcztcbiAgICBjb25zdCB3b2JibGVYID0geCArIDEwICogTWF0aC5jb3Mod29iYmxlKTtcbiAgICBjb25zdCB3b2JibGVZID0geSArIDEwICogTWF0aC5zaW4od29iYmxlKTtcbiAgICBjb25zdCB0cmFuc2Zvcm0gPSBgdHJhbnNsYXRlM2QoJHt3b2JibGVYfXB4LCAke3dvYmJsZVl9cHgsICR7en1weCkgcm90YXRlM2QoMSwgMSwgMSwgJHt0aWx0QW5nbGV9cmFkKWA7XG5cbiAgICBmZXR0aS5lbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSBcInZpc2libGVcIjtcbiAgICBmZXR0aS5lbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTtcbiAgICBmZXR0aS5lbGVtZW50LnN0eWxlLm9wYWNpdHkgPSAoMSAtIHByb2dyZXNzKS50b1N0cmluZygpOztcbiAgICAvKiBlc2xpbnQtZW5hYmxlICovXG4gIH1cblxuICBwcml2YXRlIGFuaW1hdGUocm9vdDogSFRNTEVsZW1lbnQsIGZldHRpczogQXJyYXk8SUZldHRpPiwgZHJhZ0ZyaWN0aW9uOiBudW1iZXIsIGRlY2F5OiBudW1iZXIsIGR1cmF0aW9uOiBudW1iZXIsIHN0YWdnZXI6IG51bWJlcikge1xuICAgIGxldCBzdGFydFRpbWU6IG51bWJlcjtcbiAgICBsZXQgaXNBY3RpdmUgPSB0cnVlO1xuXG4gICAgY29uc3QgdXBkYXRlID0gKHRpbWU6IG51bWJlcikgPT4ge1xuICAgICAgaWYgKCFpc0FjdGl2ZSkgcmV0dXJuO1xuXG4gICAgICBpZiAoIXN0YXJ0VGltZSkgc3RhcnRUaW1lID0gdGltZTtcbiAgICAgIGNvbnN0IGVsYXBzZWQgPSB0aW1lIC0gc3RhcnRUaW1lO1xuICAgICAgY29uc3QgcHJvZ3Jlc3MgPSBzdGFydFRpbWUgPT09IHRpbWUgPyAwIDogKHRpbWUgLSBzdGFydFRpbWUpIC8gZHVyYXRpb247XG4gICAgICBmZXR0aXMuc2xpY2UoMCwgTWF0aC5jZWlsKGVsYXBzZWQgLyBzdGFnZ2VyKSkuZm9yRWFjaChmZXR0aSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlRmV0dGkoZmV0dGksIHByb2dyZXNzLCBkcmFnRnJpY3Rpb24sIGRlY2F5KTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGltZSAtIHN0YXJ0VGltZSA8IGR1cmF0aW9uKSB7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSh1cGRhdGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmV0dGlzLmZvckVhY2goKGZldHRpKSA9PiB7XG4gICAgICAgICAgaWYgKGZldHRpLmVsZW1lbnQucGFyZW50Tm9kZSA9PT0gcm9vdCkge1xuICAgICAgICAgICAgcm9vdC5yZW1vdmVDaGlsZChmZXR0aS5lbGVtZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgaXNBY3RpdmUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodXBkYXRlKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHtcbiAgICAgIGNvbnN0IGNoZWNrSWZEb25lID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBpZiAoIWlzQWN0aXZlKSB7XG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0lmRG9uZSk7XG4gICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9XG4gICAgICB9LCAxMDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGxhdW5jaChyb290OiBIVE1MRWxlbWVudCwgY29uZmlnPzogUGFydGlhbDxDb25mZXR0aUNvbmZpZz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7XG4gICAgICBlbGVtZW50Q291bnQsXG4gICAgICBjb2xvcnMsXG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIHBlcnNwZWN0aXZlLFxuICAgICAgYW5nbGUsXG4gICAgICBzcHJlYWQsXG4gICAgICBzdGFydFZlbG9jaXR5LFxuICAgICAgZGVjYXksXG4gICAgICBkcmFnRnJpY3Rpb24sXG4gICAgICBkdXJhdGlvbixcbiAgICAgIHN0YWdnZXIsXG4gICAgICByYW5kb20sXG4gICAgfSA9IHsgLi4uZGVmYXVsdHNDb25mZXR0aUNvbmZpZywgLi4uY29uZmlnIH0gYXMgQ29uZmV0dGlDb25maWc7XG4gICAgcm9vdC5zdHlsZS5wZXJzcGVjdGl2ZSA9IHBlcnNwZWN0aXZlO1xuICAgIGNvbnN0IHsgZnJhZ21lbnQsIGVsZW1lbnRzIH0gPSB0aGlzLmNyZWF0ZUVsZW1lbnRzKFxuICAgICAgZWxlbWVudENvdW50ID8/IDUwLFxuICAgICAgY29sb3JzLFxuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHRcbiAgICApO1xuICAgIHJvb3QuYXBwZW5kQ2hpbGQoZnJhZ21lbnQpO1xuICAgIGNvbnN0IGZldHRpcyA9IGVsZW1lbnRzLm1hcCgoZWxlbWVudCkgPT4gKHtcbiAgICAgIGVsZW1lbnQsXG4gICAgICBwaHlzaWNzOiB0aGlzLnJhbmRvbVBoeXNpY3MoYW5nbGUsIHNwcmVhZCwgc3RhcnRWZWxvY2l0eSwgcmFuZG9tKSxcbiAgICB9KSk7XG5cbiAgICByZXR1cm4gdGhpcy5hbmltYXRlKHJvb3QsIGZldHRpcywgZHJhZ0ZyaWN0aW9uLCBkZWNheSwgZHVyYXRpb24sIHN0YWdnZXIpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { coerceElement } from '@angular/cdk/coercion';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
|
4
|
-
import { ConfettiRenderer } from './confetti-renderer';
|
|
5
|
-
import { NGX_CONFETTI_GLOBAL_CONFIG } from './config';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class NgxDomConfettiService {
|
|
8
|
-
constructor(document, globalConfig) {
|
|
9
|
-
this._confettiRenderer = new ConfettiRenderer(document);
|
|
10
|
-
this._globalConfig = globalConfig;
|
|
11
|
-
}
|
|
12
|
-
open(el, config) {
|
|
13
|
-
this._confettiRenderer.launch(coerceElement(el), config ?? this._globalConfig);
|
|
14
|
-
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxDomConfettiService, deps: [{ token: DOCUMENT, optional: true }, { token: NGX_CONFETTI_GLOBAL_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxDomConfettiService }); }
|
|
17
|
-
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgxDomConfettiService, decorators: [{
|
|
19
|
-
type: Injectable
|
|
20
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
21
|
-
type: Optional
|
|
22
|
-
}, {
|
|
23
|
-
type: Inject,
|
|
24
|
-
args: [DOCUMENT]
|
|
25
|
-
}] }, { type: undefined, decorators: [{
|
|
26
|
-
type: Inject,
|
|
27
|
-
args: [NGX_CONFETTI_GLOBAL_CONFIG]
|
|
28
|
-
}] }] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmV0dGktc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL25neC1kb20tY29uZmV0dGkvc3JjL2xpYi9jb25mZXR0aS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFjLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBa0IsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR3RFLE1BQU0sT0FBTyxxQkFBcUI7SUFNaEMsWUFDZ0MsUUFBYSxFQUNQLFlBQTRCO1FBRWhFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxJQUFJLENBQUMsRUFBNEIsRUFBRSxNQUFnQztRQUN4RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUMzQixhQUFhLENBQUMsRUFBRSxDQUFDLEVBQ2pCLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxDQUM3QixDQUFDO0lBQ0osQ0FBQzs4R0FuQlUscUJBQXFCLGtCQU9WLFFBQVEsNkJBQ3BCLDBCQUEwQjtrSEFSekIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVOzswQkFRTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUMzQixNQUFNOzJCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmV0dGlSZW5kZXJlciB9IGZyb20gJy4vY29uZmV0dGktcmVuZGVyZXInO1xuaW1wb3J0IHsgQ29uZmV0dGlDb25maWcsIE5HWF9DT05GRVRUSV9HTE9CQUxfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmd4RG9tQ29uZmV0dGlTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9jb25mZXR0aVJlbmRlcmVyOiBDb25mZXR0aVJlbmRlcmVyO1xuXG4gIHByaXZhdGUgX2dsb2JhbENvbmZpZzogQ29uZmV0dGlDb25maWc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSxcbiAgICBASW5qZWN0KE5HWF9DT05GRVRUSV9HTE9CQUxfQ09ORklHKSBnbG9iYWxDb25maWc6IENvbmZldHRpQ29uZmlnLFxuICApIHtcbiAgICB0aGlzLl9jb25mZXR0aVJlbmRlcmVyID0gbmV3IENvbmZldHRpUmVuZGVyZXIoZG9jdW1lbnQpO1xuICAgIHRoaXMuX2dsb2JhbENvbmZpZyA9IGdsb2JhbENvbmZpZztcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKGVsOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYsIGNvbmZpZz86IFBhcnRpYWw8Q29uZmV0dGlDb25maWc+KSB7XG4gICAgdGhpcy5fY29uZmV0dGlSZW5kZXJlci5sYXVuY2goXG4gICAgICBjb2VyY2VFbGVtZW50KGVsKSxcbiAgICAgIGNvbmZpZyA/PyB0aGlzLl9nbG9iYWxDb25maWdcbiAgICApO1xuICB9XG59XG4iXX0=
|
package/esm2022/lib/config.mjs
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from "@angular/core";
|
|
2
|
-
export const NGX_CONFETTI_GLOBAL_CONFIG = new InjectionToken('ngx-confetti-global-config');
|
|
3
|
-
const defaultColors = ["#a864fd", "#29cdff", "#78ff44", "#ff718d", "#fdff6a"];
|
|
4
|
-
export const defaultsConfettiConfig = {
|
|
5
|
-
angle: 90,
|
|
6
|
-
spread: 45,
|
|
7
|
-
startVelocity: 45,
|
|
8
|
-
elementCount: 50,
|
|
9
|
-
width: "10px",
|
|
10
|
-
height: "10px",
|
|
11
|
-
perspective: "",
|
|
12
|
-
colors: defaultColors,
|
|
13
|
-
duration: 3000,
|
|
14
|
-
stagger: 0,
|
|
15
|
-
dragFriction: 0.1,
|
|
16
|
-
random: Math.random
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbmd4LWRvbS1jb25mZXR0aS9zcmMvbGliL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBa0IvQyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FDMUQsNEJBQTRCLENBQzdCLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUU5RSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxLQUFLLEVBQUUsRUFBRTtJQUNULE1BQU0sRUFBRSxFQUFFO0lBQ1YsYUFBYSxFQUFFLEVBQUU7SUFDakIsWUFBWSxFQUFFLEVBQUU7SUFDaEIsS0FBSyxFQUFFLE1BQU07SUFDYixNQUFNLEVBQUUsTUFBTTtJQUNkLFdBQVcsRUFBRSxFQUFFO0lBQ2YsTUFBTSxFQUFFLGFBQWE7SUFDckIsUUFBUSxFQUFFLElBQUk7SUFDZCxPQUFPLEVBQUUsQ0FBQztJQUNWLFlBQVksRUFBRSxHQUFHO0lBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtDQUNwQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZldHRpQ29uZmlnIHtcbiAgYW5nbGU6IG51bWJlcjtcbiAgc3ByZWFkOiBudW1iZXI7XG4gIHdpZHRoOiBzdHJpbmc7XG4gIGhlaWdodDogc3RyaW5nO1xuICBwZXJzcGVjdGl2ZTogc3RyaW5nO1xuICBkdXJhdGlvbjogbnVtYmVyO1xuICBkcmFnRnJpY3Rpb246IG51bWJlcjtcbiAgc3RhZ2dlcjogbnVtYmVyO1xuICBzdGFydFZlbG9jaXR5OiBudW1iZXI7XG4gIGVsZW1lbnRDb3VudDogbnVtYmVyO1xuICBkZWNheTogbnVtYmVyO1xuICBjb2xvcnM6IHN0cmluZ1tdO1xuICByYW5kb206ICgpID0+IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IE5HWF9DT05GRVRUSV9HTE9CQUxfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPENvbmZldHRpQ29uZmlnPihcbiAgJ25neC1jb25mZXR0aS1nbG9iYWwtY29uZmlnJyxcbik7XG5cbmNvbnN0IGRlZmF1bHRDb2xvcnMgPSBbXCIjYTg2NGZkXCIsIFwiIzI5Y2RmZlwiLCBcIiM3OGZmNDRcIiwgXCIjZmY3MThkXCIsIFwiI2ZkZmY2YVwiXTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRzQ29uZmV0dGlDb25maWcgPSB7XG4gIGFuZ2xlOiA5MCxcbiAgc3ByZWFkOiA0NSxcbiAgc3RhcnRWZWxvY2l0eTogNDUsXG4gIGVsZW1lbnRDb3VudDogNTAsXG4gIHdpZHRoOiBcIjEwcHhcIixcbiAgaGVpZ2h0OiBcIjEwcHhcIixcbiAgcGVyc3BlY3RpdmU6IFwiXCIsXG4gIGNvbG9yczogZGVmYXVsdENvbG9ycyxcbiAgZHVyYXRpb246IDMwMDAsXG4gIHN0YWdnZXI6IDAsXG4gIGRyYWdGcmljdGlvbjogMC4xLFxuICByYW5kb206IE1hdGgucmFuZG9tXG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRvbS1jb25mZXR0aS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL25neC1kb20tY29uZmV0dGkvc3JjL25neC1kb20tY29uZmV0dGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of ngx-dom-confetti
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib/confetti-directive';
|
|
5
|
-
export * from './lib/confetti-service';
|
|
6
|
-
export * from './lib/confetti-component';
|
|
7
|
-
export * from './lib/confetti-module';
|
|
8
|
-
export * from './lib/config';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL25neC1kb20tY29uZmV0dGkvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtZG9tLWNvbmZldHRpXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZldHRpLWRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25mZXR0aS1zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZldHRpLWNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25mZXR0aS1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uZmlnJztcbiJdfQ==
|