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