react-confetti-burst 1.0.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.
Files changed (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +303 -0
  3. package/dist/cjs/components.d.ts +219 -0
  4. package/dist/cjs/components.d.ts.map +1 -0
  5. package/dist/cjs/components.js +341 -0
  6. package/dist/cjs/components.js.map +1 -0
  7. package/dist/cjs/confetti-engine.d.ts +122 -0
  8. package/dist/cjs/confetti-engine.d.ts.map +1 -0
  9. package/dist/cjs/confetti-engine.js +589 -0
  10. package/dist/cjs/confetti-engine.js.map +1 -0
  11. package/dist/cjs/confetti.d.ts +50 -0
  12. package/dist/cjs/confetti.d.ts.map +1 -0
  13. package/dist/cjs/confetti.js +446 -0
  14. package/dist/cjs/confetti.js.map +1 -0
  15. package/dist/cjs/constants.d.ts +147 -0
  16. package/dist/cjs/constants.d.ts.map +1 -0
  17. package/dist/cjs/constants.js +609 -0
  18. package/dist/cjs/constants.js.map +1 -0
  19. package/dist/cjs/hooks.d.ts +94 -0
  20. package/dist/cjs/hooks.d.ts.map +1 -0
  21. package/dist/cjs/hooks.js +225 -0
  22. package/dist/cjs/hooks.js.map +1 -0
  23. package/dist/cjs/index.d.ts +34 -0
  24. package/dist/cjs/index.d.ts.map +1 -0
  25. package/dist/cjs/index.js +180 -0
  26. package/dist/cjs/index.js.map +1 -0
  27. package/dist/cjs/particle.d.ts +50 -0
  28. package/dist/cjs/particle.d.ts.map +1 -0
  29. package/dist/cjs/particle.js +475 -0
  30. package/dist/cjs/particle.js.map +1 -0
  31. package/dist/cjs/shapes.d.ts +190 -0
  32. package/dist/cjs/shapes.d.ts.map +1 -0
  33. package/dist/cjs/shapes.js +272 -0
  34. package/dist/cjs/shapes.js.map +1 -0
  35. package/dist/cjs/types.d.ts +720 -0
  36. package/dist/cjs/types.d.ts.map +1 -0
  37. package/dist/cjs/types.js +25 -0
  38. package/dist/cjs/types.js.map +1 -0
  39. package/dist/cjs/utils.d.ts +90 -0
  40. package/dist/cjs/utils.d.ts.map +1 -0
  41. package/dist/cjs/utils.js +330 -0
  42. package/dist/cjs/utils.js.map +1 -0
  43. package/dist/esm/components.js +334 -0
  44. package/dist/esm/components.js.map +1 -0
  45. package/dist/esm/confetti-engine.js +581 -0
  46. package/dist/esm/confetti-engine.js.map +1 -0
  47. package/dist/esm/confetti.js +443 -0
  48. package/dist/esm/confetti.js.map +1 -0
  49. package/dist/esm/constants.js +605 -0
  50. package/dist/esm/constants.js.map +1 -0
  51. package/dist/esm/hooks.js +218 -0
  52. package/dist/esm/hooks.js.map +1 -0
  53. package/dist/esm/index.js +146 -0
  54. package/dist/esm/index.js.map +1 -0
  55. package/dist/esm/particle.js +465 -0
  56. package/dist/esm/particle.js.map +1 -0
  57. package/dist/esm/shapes.js +265 -0
  58. package/dist/esm/shapes.js.map +1 -0
  59. package/dist/esm/types.js +24 -0
  60. package/dist/esm/types.js.map +1 -0
  61. package/dist/esm/utils.js +309 -0
  62. package/dist/esm/utils.js.map +1 -0
  63. package/dist/types/components.d.ts +219 -0
  64. package/dist/types/components.d.ts.map +1 -0
  65. package/dist/types/confetti-engine.d.ts +122 -0
  66. package/dist/types/confetti-engine.d.ts.map +1 -0
  67. package/dist/types/confetti.d.ts +50 -0
  68. package/dist/types/confetti.d.ts.map +1 -0
  69. package/dist/types/constants.d.ts +147 -0
  70. package/dist/types/constants.d.ts.map +1 -0
  71. package/dist/types/hooks.d.ts +94 -0
  72. package/dist/types/hooks.d.ts.map +1 -0
  73. package/dist/types/index.d.ts +34 -0
  74. package/dist/types/index.d.ts.map +1 -0
  75. package/dist/types/particle.d.ts +50 -0
  76. package/dist/types/particle.d.ts.map +1 -0
  77. package/dist/types/shapes.d.ts +190 -0
  78. package/dist/types/shapes.d.ts.map +1 -0
  79. package/dist/types/types.d.ts +720 -0
  80. package/dist/types/types.d.ts.map +1 -0
  81. package/dist/types/utils.d.ts +90 -0
  82. package/dist/types/utils.d.ts.map +1 -0
  83. package/package.json +73 -0
@@ -0,0 +1,609 @@
1
+ "use strict";
2
+ /**
3
+ * Default constants and configuration values
4
+ *
5
+ * All default values are carefully tuned for optimal visual appeal
6
+ * and performance across different devices and screen sizes.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.PRESETS = exports.EMOJI_SETS = exports.COLOR_PALETTES = exports.STAR_INNER_RATIO = exports.STAR_POINTS = exports.CLEANUP_DELAY = exports.PERFORMANCE = exports.TRANSPARENT_COLOR = exports.SHAPE_ASPECT_RATIOS = exports.EASING_FUNCTIONS = exports.MATH_CONSTANTS = exports.DIRECTION_ANGLES = exports.DEFAULT_CONFIG = exports.DEFAULT_ACCESSIBILITY = exports.DEFAULT_CANVAS = exports.DEFAULT_FIREWORK = exports.DEFAULT_CONTINUOUS = exports.DEFAULT_GLOW = exports.DEFAULT_TRAIL = exports.DEFAULT_PARTICLE = exports.DEFAULT_DIRECTION = exports.DEFAULT_PHYSICS = exports.DEFAULT_COLORS = void 0;
10
+ exports.getPreset = getPreset;
11
+ /**
12
+ * Default vibrant color palette for confetti particles
13
+ * Designed for high visibility on both light and dark backgrounds
14
+ */
15
+ exports.DEFAULT_COLORS = [
16
+ '#FF6B6B', // Coral Red
17
+ '#4ECDC4', // Teal
18
+ '#FFE66D', // Yellow
19
+ '#95E1D3', // Mint
20
+ '#F38181', // Salmon
21
+ '#AA96DA', // Lavender
22
+ '#FCBAD3', // Pink
23
+ '#A8D8EA', // Sky Blue
24
+ '#FF9A8B', // Peach
25
+ '#88D8B0', // Sea Green
26
+ ];
27
+ /**
28
+ * Default physics configuration
29
+ */
30
+ exports.DEFAULT_PHYSICS = {
31
+ gravity: 0.3,
32
+ drag: 0.02,
33
+ friction: 0.99,
34
+ rotationSpeed: 1,
35
+ wind: 0,
36
+ windVariation: 0,
37
+ tumble: true,
38
+ decay: 0.98,
39
+ bounce: 0,
40
+ floor: null,
41
+ wobble: false,
42
+ wobbleSpeed: 1,
43
+ };
44
+ /**
45
+ * Default direction configuration
46
+ */
47
+ exports.DEFAULT_DIRECTION = {
48
+ direction: 'up',
49
+ spread: 45,
50
+ velocity: [20, 40],
51
+ };
52
+ /**
53
+ * Default particle configuration
54
+ */
55
+ exports.DEFAULT_PARTICLE = {
56
+ colors: exports.DEFAULT_COLORS,
57
+ shapes: ['square', 'circle'],
58
+ size: [8, 12],
59
+ opacity: [0.8, 1],
60
+ lifespan: 3000,
61
+ fadeOut: true,
62
+ scaleDown: true,
63
+ spin: true,
64
+ spinSpeed: [-10, 10],
65
+ tilt: [-15, 15],
66
+ depth3D: 0,
67
+ };
68
+ /**
69
+ * Default trail configuration
70
+ */
71
+ exports.DEFAULT_TRAIL = {
72
+ enabled: false,
73
+ length: 10,
74
+ fade: 0.5,
75
+ width: 0.5,
76
+ };
77
+ /**
78
+ * Default glow configuration
79
+ */
80
+ exports.DEFAULT_GLOW = {
81
+ enabled: false,
82
+ blur: 10,
83
+ color: null,
84
+ intensity: 0.5,
85
+ };
86
+ /**
87
+ * Default continuous mode configuration
88
+ */
89
+ exports.DEFAULT_CONTINUOUS = {
90
+ recycle: false,
91
+ numberOfPieces: 200,
92
+ spawnRate: 50,
93
+ run: true,
94
+ tweenDuration: 5000,
95
+ };
96
+ /**
97
+ * Default firework configuration
98
+ */
99
+ exports.DEFAULT_FIREWORK = {
100
+ secondaryExplosions: true,
101
+ burstCount: 80,
102
+ burstDelay: 500,
103
+ spread: 360,
104
+ launchHeight: 0.6,
105
+ rocketColors: ['#ffd700', '#ff6b35', '#ff0000'],
106
+ burstColors: ['#ff0000', '#00ff00', '#0000ff', '#ffff00', '#ff00ff', '#00ffff'],
107
+ trailLength: 10,
108
+ riseDuration: 1000,
109
+ showRocket: true,
110
+ };
111
+ /**
112
+ * Default canvas configuration
113
+ */
114
+ exports.DEFAULT_CANVAS = {
115
+ width: null,
116
+ height: null,
117
+ autoResize: true,
118
+ resizeDebounce: 100,
119
+ frameRate: null,
120
+ pixelRatio: null,
121
+ useWorker: false,
122
+ useOffscreen: false,
123
+ };
124
+ /**
125
+ * Default accessibility configuration
126
+ */
127
+ exports.DEFAULT_ACCESSIBILITY = {
128
+ disableForReducedMotion: false,
129
+ ariaLabel: 'Confetti animation',
130
+ ariaHidden: true,
131
+ };
132
+ /**
133
+ * Complete default configuration
134
+ */
135
+ exports.DEFAULT_CONFIG = {
136
+ particleCount: 50,
137
+ particle: exports.DEFAULT_PARTICLE,
138
+ physics: exports.DEFAULT_PHYSICS,
139
+ direction: exports.DEFAULT_DIRECTION,
140
+ mode: 'burst',
141
+ easing: 'easeOut',
142
+ zIndex: 9999,
143
+ autoCleanup: true,
144
+ scalar: 1,
145
+ drift: 0,
146
+ flat: false,
147
+ };
148
+ /**
149
+ * Direction angles in degrees (0 = right, counter-clockwise)
150
+ */
151
+ exports.DIRECTION_ANGLES = {
152
+ up: 90,
153
+ down: 270,
154
+ left: 180,
155
+ right: 0,
156
+ };
157
+ /**
158
+ * Pre-calculated values for performance
159
+ */
160
+ exports.MATH_CONSTANTS = {
161
+ DEG_TO_RAD: Math.PI / 180,
162
+ RAD_TO_DEG: 180 / Math.PI,
163
+ TWO_PI: Math.PI * 2,
164
+ HALF_PI: Math.PI / 2,
165
+ };
166
+ /**
167
+ * Easing functions for smooth animations
168
+ */
169
+ exports.EASING_FUNCTIONS = {
170
+ linear: (t) => t,
171
+ easeIn: (t) => t * t * t,
172
+ easeOut: (t) => 1 - Math.pow(1 - t, 3),
173
+ easeInOut: (t) => t < 0.5
174
+ ? 4 * t * t * t
175
+ : 1 - Math.pow(-2 * t + 2, 3) / 2,
176
+ bounce: (t) => {
177
+ const n1 = 7.5625;
178
+ const d1 = 2.75;
179
+ if (t < 1 / d1) {
180
+ return n1 * t * t;
181
+ }
182
+ else if (t < 2 / d1) {
183
+ return n1 * (t -= 1.5 / d1) * t + 0.75;
184
+ }
185
+ else if (t < 2.5 / d1) {
186
+ return n1 * (t -= 2.25 / d1) * t + 0.9375;
187
+ }
188
+ else {
189
+ return n1 * (t -= 2.625 / d1) * t + 0.984375;
190
+ }
191
+ },
192
+ elastic: (t) => {
193
+ const c4 = (2 * Math.PI) / 3;
194
+ if (t === 0)
195
+ return 0;
196
+ if (t === 1)
197
+ return 1;
198
+ return Math.pow(2, -10 * t) * Math.sin((t * 10 - 0.75) * c4) + 1;
199
+ },
200
+ back: (t) => {
201
+ const c1 = 1.70158;
202
+ const c3 = c1 + 1;
203
+ return 1 + c3 * Math.pow(t - 1, 3) + c1 * Math.pow(t - 1, 2);
204
+ },
205
+ circ: (t) => Math.sqrt(1 - Math.pow(t - 1, 2)),
206
+ expo: (t) => t === 1 ? 1 : 1 - Math.pow(2, -10 * t),
207
+ };
208
+ /**
209
+ * Shape rendering aspect ratios
210
+ */
211
+ exports.SHAPE_ASPECT_RATIOS = {
212
+ square: 1,
213
+ circle: 1,
214
+ rectangle: 2,
215
+ triangle: 1,
216
+ star: 1,
217
+ line: 4,
218
+ heart: 1,
219
+ diamond: 1,
220
+ hexagon: 1,
221
+ spiral: 1,
222
+ ribbon: 3,
223
+ custom: 1,
224
+ };
225
+ /**
226
+ * Default transparent color for fallback
227
+ */
228
+ exports.TRANSPARENT_COLOR = {
229
+ r: 0,
230
+ g: 0,
231
+ b: 0,
232
+ a: 0,
233
+ };
234
+ /**
235
+ * Performance tuning constants
236
+ */
237
+ exports.PERFORMANCE = {
238
+ /** Maximum particles before reducing quality */
239
+ MAX_PARTICLES: 500,
240
+ /** Frame time budget in ms (targeting 60fps) */
241
+ FRAME_BUDGET: 16.67,
242
+ /** Minimum opacity before particle is considered dead */
243
+ MIN_OPACITY: 0.01,
244
+ /** Minimum size before particle is considered dead */
245
+ MIN_SIZE: 0.5,
246
+ /** Device pixel ratio limit for high-DPI displays */
247
+ MAX_DPR: 2,
248
+ };
249
+ /**
250
+ * Canvas cleanup delay in milliseconds
251
+ */
252
+ exports.CLEANUP_DELAY = 100;
253
+ /**
254
+ * Star shape points configuration
255
+ */
256
+ exports.STAR_POINTS = 5;
257
+ exports.STAR_INNER_RATIO = 0.5;
258
+ /**
259
+ * Color palettes for presets
260
+ */
261
+ exports.COLOR_PALETTES = {
262
+ rainbow: exports.DEFAULT_COLORS,
263
+ pride: ['#E40303', '#FF8C00', '#FFED00', '#008026', '#24408E', '#732982'],
264
+ christmas: ['#C41E3A', '#165B33', '#FFD700', '#FFFFFF', '#BB2528'],
265
+ halloween: ['#FF6600', '#000000', '#8B008B', '#00FF00', '#FFD700'],
266
+ pastel: ['#FFB3BA', '#FFDFBA', '#FFFFBA', '#BAFFC9', '#BAE1FF'],
267
+ neon: ['#FF00FF', '#00FFFF', '#FF0080', '#80FF00', '#FF8000'],
268
+ gold: ['#FFD700', '#DAA520', '#B8860B', '#FFC125', '#FFDF00'],
269
+ silver: ['#C0C0C0', '#A8A8A8', '#D3D3D3', '#DCDCDC', '#E8E8E8'],
270
+ hearts: ['#FF69B4', '#FF1493', '#FF007F', '#DC143C', '#FFB6C1'],
271
+ ocean: ['#006994', '#00CED1', '#20B2AA', '#48D1CC', '#87CEEB'],
272
+ };
273
+ /**
274
+ * Emoji sets for presets
275
+ */
276
+ exports.EMOJI_SETS = {
277
+ celebration: ['🎉', '🎊', '🥳', '✨', '🎈'],
278
+ hearts: ['❤️', '💕', '💖', '💗', '💓', '💘'],
279
+ stars: ['⭐', '🌟', '✨', '💫', '⚡'],
280
+ money: ['💰', '💵', '💸', '🤑', '💎'],
281
+ christmas: ['🎄', '🎅', '🎁', '❄️', '⭐'],
282
+ halloween: ['🎃', '👻', '🦇', '🕷️', '💀'],
283
+ birthday: ['🎂', '🎁', '🎈', '🎉', '🥳'],
284
+ food: ['🍕', '🍔', '🍟', '🌭', '🍿'],
285
+ };
286
+ /**
287
+ * Preset configurations for quick setup
288
+ */
289
+ exports.PRESETS = {
290
+ default: {
291
+ name: 'default',
292
+ description: 'Default balanced confetti burst',
293
+ options: {},
294
+ },
295
+ celebration: {
296
+ name: 'celebration',
297
+ description: 'Big celebration with lots of colorful confetti',
298
+ options: {
299
+ particleCount: 100,
300
+ particle: {
301
+ colors: [...exports.COLOR_PALETTES.rainbow],
302
+ shapes: ['square', 'circle', 'star'],
303
+ size: [10, 15],
304
+ lifespan: 4000,
305
+ },
306
+ direction: {
307
+ direction: 'radial',
308
+ spread: 360,
309
+ velocity: [25, 50],
310
+ },
311
+ },
312
+ },
313
+ firework: {
314
+ name: 'firework',
315
+ description: 'Firework-style explosion with secondary bursts',
316
+ options: {
317
+ mode: 'firework',
318
+ particleCount: 80,
319
+ particle: {
320
+ colors: [...exports.COLOR_PALETTES.neon],
321
+ shapes: ['circle', 'star'],
322
+ size: [4, 8],
323
+ trail: { enabled: true, length: 8, fade: 0.6 },
324
+ glow: { enabled: true, blur: 8, intensity: 0.7 },
325
+ },
326
+ firework: {
327
+ secondaryExplosions: true,
328
+ burstCount: 80,
329
+ },
330
+ },
331
+ },
332
+ snow: {
333
+ name: 'snow',
334
+ description: 'Gentle falling snowflakes',
335
+ options: {
336
+ mode: 'snow',
337
+ particleCount: 150,
338
+ particle: {
339
+ colors: ['#FFFFFF', '#F0F8FF', '#E0FFFF'],
340
+ shapes: ['circle'],
341
+ size: [3, 8],
342
+ lifespan: 8000,
343
+ opacity: [0.6, 1],
344
+ },
345
+ physics: {
346
+ gravity: 0.05,
347
+ wind: 0.3,
348
+ windVariation: 0.2,
349
+ wobble: true,
350
+ wobbleSpeed: 2,
351
+ },
352
+ continuous: {
353
+ recycle: true,
354
+ numberOfPieces: 150,
355
+ },
356
+ },
357
+ },
358
+ rain: {
359
+ name: 'rain',
360
+ description: 'Rainfall effect',
361
+ options: {
362
+ mode: 'rain',
363
+ particleCount: 200,
364
+ particle: {
365
+ colors: ['#6CA0DC', '#4A90D9', '#2E7BB9'],
366
+ shapes: ['line'],
367
+ size: [2, 4],
368
+ lifespan: 2000,
369
+ },
370
+ physics: {
371
+ gravity: 0.8,
372
+ wind: 0.1,
373
+ },
374
+ direction: {
375
+ direction: 'down',
376
+ spread: 10,
377
+ velocity: [30, 50],
378
+ },
379
+ continuous: {
380
+ recycle: true,
381
+ },
382
+ },
383
+ },
384
+ sparkle: {
385
+ name: 'sparkle',
386
+ description: 'Sparkling stars with glow effect',
387
+ options: {
388
+ particleCount: 40,
389
+ particle: {
390
+ colors: [...exports.COLOR_PALETTES.gold],
391
+ shapes: ['star'],
392
+ size: [6, 12],
393
+ glow: { enabled: true, blur: 15, intensity: 0.8 },
394
+ },
395
+ physics: {
396
+ gravity: 0.1,
397
+ },
398
+ },
399
+ },
400
+ confetti: {
401
+ name: 'confetti',
402
+ description: 'Classic confetti falling from top',
403
+ options: {
404
+ mode: 'continuous',
405
+ particleCount: 200,
406
+ particle: {
407
+ shapes: ['square', 'rectangle'],
408
+ size: [8, 14],
409
+ },
410
+ physics: {
411
+ gravity: 0.2,
412
+ wind: 0.1,
413
+ wobble: true,
414
+ },
415
+ continuous: {
416
+ recycle: true,
417
+ numberOfPieces: 200,
418
+ },
419
+ spawnArea: {
420
+ x: 0,
421
+ y: 0,
422
+ width: typeof window !== 'undefined' ? window.innerWidth : 1920,
423
+ height: 0,
424
+ },
425
+ },
426
+ },
427
+ emoji: {
428
+ name: 'emoji',
429
+ description: 'Emoji celebration',
430
+ options: {
431
+ particleCount: 30,
432
+ particle: {
433
+ images: exports.EMOJI_SETS.celebration.map(emoji => ({
434
+ src: emoji,
435
+ isEmoji: true,
436
+ scale: 1.5,
437
+ })),
438
+ size: [20, 30],
439
+ lifespan: 4000,
440
+ },
441
+ direction: {
442
+ direction: 'up',
443
+ spread: 60,
444
+ velocity: [20, 35],
445
+ },
446
+ },
447
+ },
448
+ hearts: {
449
+ name: 'hearts',
450
+ description: 'Floating hearts',
451
+ options: {
452
+ particleCount: 50,
453
+ particle: {
454
+ colors: [...exports.COLOR_PALETTES.hearts],
455
+ shapes: ['heart'],
456
+ size: [12, 20],
457
+ lifespan: 5000,
458
+ },
459
+ physics: {
460
+ gravity: -0.1,
461
+ wobble: true,
462
+ },
463
+ direction: {
464
+ direction: 'up',
465
+ spread: 90,
466
+ velocity: [10, 20],
467
+ },
468
+ },
469
+ },
470
+ stars: {
471
+ name: 'stars',
472
+ description: 'Shooting stars',
473
+ options: {
474
+ particleCount: 60,
475
+ particle: {
476
+ colors: [...exports.COLOR_PALETTES.gold, '#FFFFFF'],
477
+ shapes: ['star'],
478
+ size: [8, 16],
479
+ trail: { enabled: true, length: 12, fade: 0.4 },
480
+ },
481
+ direction: {
482
+ direction: 'radial',
483
+ spread: 360,
484
+ velocity: [30, 60],
485
+ },
486
+ },
487
+ },
488
+ money: {
489
+ name: 'money',
490
+ description: 'Money rain',
491
+ options: {
492
+ particleCount: 40,
493
+ particle: {
494
+ colors: ['#85BB65', '#228B22', '#32CD32'],
495
+ images: exports.EMOJI_SETS.money.map(emoji => ({
496
+ src: emoji,
497
+ isEmoji: true,
498
+ })),
499
+ size: [20, 30],
500
+ lifespan: 4000,
501
+ },
502
+ physics: {
503
+ gravity: 0.15,
504
+ wobble: true,
505
+ },
506
+ },
507
+ },
508
+ pride: {
509
+ name: 'pride',
510
+ description: 'Pride rainbow celebration',
511
+ options: {
512
+ particleCount: 100,
513
+ particle: {
514
+ colors: [...exports.COLOR_PALETTES.pride],
515
+ shapes: ['square', 'rectangle', 'heart'],
516
+ size: [10, 16],
517
+ },
518
+ direction: {
519
+ direction: 'radial',
520
+ spread: 360,
521
+ velocity: [25, 45],
522
+ },
523
+ },
524
+ },
525
+ christmas: {
526
+ name: 'christmas',
527
+ description: 'Christmas celebration',
528
+ options: {
529
+ particleCount: 80,
530
+ particle: {
531
+ colors: [...exports.COLOR_PALETTES.christmas],
532
+ shapes: ['star', 'circle'],
533
+ size: [8, 14],
534
+ images: exports.EMOJI_SETS.christmas.map(emoji => ({
535
+ src: emoji,
536
+ isEmoji: true,
537
+ })),
538
+ },
539
+ },
540
+ },
541
+ halloween: {
542
+ name: 'halloween',
543
+ description: 'Spooky Halloween',
544
+ options: {
545
+ particleCount: 60,
546
+ particle: {
547
+ colors: [...exports.COLOR_PALETTES.halloween],
548
+ shapes: ['circle', 'star'],
549
+ images: exports.EMOJI_SETS.halloween.map(emoji => ({
550
+ src: emoji,
551
+ isEmoji: true,
552
+ })),
553
+ size: [15, 25],
554
+ },
555
+ physics: {
556
+ gravity: 0.2,
557
+ wobble: true,
558
+ },
559
+ },
560
+ },
561
+ newYear: {
562
+ name: 'newYear',
563
+ description: 'New Year celebration with fireworks',
564
+ options: {
565
+ mode: 'firework',
566
+ particleCount: 100,
567
+ particle: {
568
+ colors: [...exports.COLOR_PALETTES.gold, ...exports.COLOR_PALETTES.silver],
569
+ shapes: ['star', 'circle'],
570
+ size: [6, 12],
571
+ trail: { enabled: true, length: 10 },
572
+ glow: { enabled: true, blur: 12 },
573
+ },
574
+ firework: {
575
+ secondaryExplosions: true,
576
+ burstCount: 100,
577
+ },
578
+ },
579
+ },
580
+ birthday: {
581
+ name: 'birthday',
582
+ description: 'Birthday party celebration',
583
+ options: {
584
+ particleCount: 80,
585
+ particle: {
586
+ colors: [...exports.COLOR_PALETTES.pastel, ...exports.COLOR_PALETTES.rainbow],
587
+ shapes: ['star', 'circle', 'heart'],
588
+ images: exports.EMOJI_SETS.birthday.map(emoji => ({
589
+ src: emoji,
590
+ isEmoji: true,
591
+ })),
592
+ size: [12, 20],
593
+ lifespan: 5000,
594
+ },
595
+ direction: {
596
+ direction: 'up',
597
+ spread: 80,
598
+ velocity: [25, 45],
599
+ },
600
+ },
601
+ },
602
+ };
603
+ /**
604
+ * Get preset options by name
605
+ */
606
+ function getPreset(name) {
607
+ return exports.PRESETS[name].options;
608
+ }
609
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}