falling-animation 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"falling-animation.umd.js","sources":["../src/utils.ts","../src/animations/index.ts","../src/Particle.ts","../src/FallingAnimation.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ !function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i((t="undefined"!=typeof globalThis?globalThis:t||self).FallingAnimation={})}(this,function(t){"use strict";function i(t,i){return Math.random()*(i-t)+t}function e(t){return i(t.min,t.max)}let n=0;const s=(t,i)=>{0===t.vy&&0===t.vx||(t.y+=t.vy*i,t.x+=t.vx*i)},a={fall:s,swing:(t,i,e)=>{if(t.rotation=20*Math.sin(.002*(e+t.phase)),0===t.vy&&0===t.vx)return;t.y+=t.vy*i;const n=30*Math.sin(.002*(e+t.phase));t.x+=t.vx*i+.05*n},rotate:(t,i)=>{t.rotation+=t.rotationSpeed*i,0===t.vy&&0===t.vx||(t.y+=t.vy*i,t.x+=t.vx*i)},flutter:(t,i,e)=>{const n=.005;if(t.rotation=30*Math.sin((e+t.phase)*n),0===t.vy&&0===t.vx)return;const s=40*Math.sin((e+t.phase)*n);t.x+=t.vx*i+.03*s;const a=.3*Math.sin((e+t.phase)*n*2);t.y+=(t.vy+a)*i},spiral:(t,i,e)=>{const n=.003*(e+t.phase);if(t.rotation=n*(180/Math.PI),0===t.vy&&0===t.vx)return;t.y+=t.vy*i,t.x+=t.vx*i+25*Math.cos(n)*.02},tumble:(t,i,e)=>{var n,s,a;const o=null!==(n=t.data.tumbleSpeed)&&void 0!==n?n:5;if(t.rotation+=o*i,0===t.vy&&0===t.vx)return;const r=null!==(s=t.data.wobbleX)&&void 0!==s?s:.02,h=null!==(a=t.data.wobbleY)&&void 0!==a?a:.01;t.y+=t.vy*i,t.x+=t.vx*i+20*Math.sin((e+t.phase)*r)*.02,t.y+=.5*Math.sin((e+1.5*t.phase)*h)},zigzag:(t,i,e)=>{const n=(e+t.phase)%500/500,s=2*Math.abs(2*n-1)-1;if(t.rotation=25*s,0===t.vy&&0===t.vx)return;t.y+=t.vy*i,t.x+=t.vx*i+50*s*.02},float:(t,i,e)=>{const n=.001;if(t.rotation=10*Math.sin((e+t.phase)*n),0===t.vy&&0===t.vx)return;const s=5*Math.sin((e+t.phase)*n*2);t.y+=(.5*t.vy+.01*s)*i;const a=20*Math.sin((e+t.phase)*n);t.x+=t.vx*i+.01*a}};function o(t){var i;return null!==(i=a[t])&&void 0!==i?i:s}class r{constructor(t){this.options=t,this.id=++n,this.age=0,this.phase=Math.random()*Math.PI*2,this.data={},this.containerWidth=t.container.clientWidth,this.containerHeight=t.container.clientHeight;const s=function(t){var i;const e=t.reduce((t,i)=>{var e;return t+(null!==(e=i.weight)&&void 0!==e?e:1)},0);let n=Math.random()*e;for(const e of t)if(n-=null!==(i=e.weight)&&void 0!==i?i:1,n<=0)return e;return t[t.length-1]}(t.objects);var a;this.x=i(-50,this.containerWidth+50),this.y=-50,this.vy=.04*e(t.speed),this.vx=.04*t.wind*i(.5,1.5),this.size=e(t.size),this.opacity=e(t.opacity),this.rotation=i(0,360),this.rotationSpeed=i(-3,3),this.animation=(a=t.animation)[Math.floor(Math.random()*a.length)],this.initAnimationData(),this.element=this.createElement(s)}initAnimationData(){"tumble"===this.animation&&(this.data.tumbleSpeed=i(3,8),this.data.wobbleX=i(.01,.03),this.data.wobbleY=i(.005,.015))}createElement(t){var i,e,n,s;const a=document.createElement("div");switch(a.className="falling-particle",a.setAttribute("data-particle-id",String(this.id)),t.type){case"emoji":a.textContent=null!==(i=t.content)&&void 0!==i?i:"❄️",a.style.fontSize=`${this.size}px`,a.style.lineHeight="1";break;case"image":const o=document.createElement("img");o.src=null!==(n=null!==(e=t.src)&&void 0!==e?e:t.content)&&void 0!==n?n:"",o.alt="",o.style.width=`${this.size}px`,o.style.height=`${this.size}px`,o.style.objectFit="contain",o.draggable=!1,a.appendChild(o);break;case"html":a.innerHTML=null!==(s=t.content)&&void 0!==s?s:""}return Object.assign(a.style,{position:"absolute",pointerEvents:"none",userSelect:"none",willChange:"transform, opacity",opacity:String(this.opacity),left:"0",top:"0",transform:this.getTransform()}),a}getTransform(){return`translate3d(${this.x}px, ${this.y}px, 0) rotate(${this.rotation}deg)`}update(t,i){this.age+=t;o(this.animation)(this,t,i),this.element.style.transform=this.getTransform()}isOutOfBounds(){return this.y>this.containerHeight+100||this.x<-100||this.x>this.containerWidth+100}updateContainerSize(t,i){this.containerWidth=t,this.containerHeight=i}destroy(){this.element.remove()}}const h={speed:{min:2,max:5},spawnRate:3,maxParticles:50,animation:["fall"],size:{min:20,max:40},opacity:{min:.6,max:1},wind:0,autoStart:!0,zIndex:9999,responsive:!0};class l{constructor(t){if(this.particles=[],this.wrapper=null,this.isRunning=!1,this.isPaused=!1,this.animationId=null,this.lastSpawnTime=0,this.startTime=0,this.lastFrameTime=0,this.resizeHandler=null,this.animate=t=>{if(!this.isRunning)return;0===this.lastFrameTime&&(this.lastFrameTime=t,this.startTime=t);const i=Math.min(t-this.lastFrameTime,50),e=t-this.startTime;this.lastFrameTime=t;const n=1e3/this.options.spawnRate;t-this.lastSpawnTime>=n&&(this.spawnParticle(),this.lastSpawnTime=t);const s=[];for(const t of this.particles)t.update(i,e),t.isOutOfBounds()&&s.push(t);s.forEach(t=>this.removeParticle(t)),this.animationId=requestAnimationFrame(this.animate)},!t.objects||0===t.objects.length)throw new Error('[falling-animation] "objects" option is required and must not be empty');this.options=this.resolveOptions(t),this.createWrapper(),this.options.responsive&&this.setupResizeHandler(),this.options.autoStart&&this.start()}resolveOptions(t){var i,e,n,s,a,o,r,l,p;const c=function(t){if(!t)return document.body;if("string"==typeof t){return document.querySelector(t)||(console.warn(`[falling-animation] Container "${t}" not found, using document.body`),document.body)}return t}(t.container);let d;return d=t.animation?"string"==typeof t.animation?[t.animation]:t.animation:h.animation,{container:c,objects:t.objects,speed:null!==(i=t.speed)&&void 0!==i?i:h.speed,spawnRate:null!==(e=t.spawnRate)&&void 0!==e?e:h.spawnRate,maxParticles:null!==(n=t.maxParticles)&&void 0!==n?n:h.maxParticles,animation:d,size:null!==(s=t.size)&&void 0!==s?s:h.size,opacity:null!==(a=t.opacity)&&void 0!==a?a:h.opacity,wind:null!==(o=t.wind)&&void 0!==o?o:h.wind,autoStart:null!==(r=t.autoStart)&&void 0!==r?r:h.autoStart,zIndex:null!==(l=t.zIndex)&&void 0!==l?l:h.zIndex,responsive:null!==(p=t.responsive)&&void 0!==p?p:h.responsive}}createWrapper(){if(this.wrapper=document.createElement("div"),this.wrapper.className="falling-animation-wrapper",Object.assign(this.wrapper.style,{position:this.options.container===document.body?"fixed":"absolute",top:"0",left:"0",width:"100%",height:"100%",overflow:"hidden",pointerEvents:"none",zIndex:String(this.options.zIndex)}),this.options.container!==document.body){"static"===getComputedStyle(this.options.container).position&&(this.options.container.style.position="relative")}this.options.container.appendChild(this.wrapper)}setupResizeHandler(){this.resizeHandler=function(t,i){let e=!1;return function(...n){e||(t.apply(this,n),e=!0,setTimeout(()=>e=!1,i))}}(()=>{const t=this.options.container.clientWidth,i=this.options.container.clientHeight;this.particles.forEach(e=>{e.updateContainerSize(t,i)})},200),window.addEventListener("resize",this.resizeHandler)}spawnParticle(){if(this.particles.length>=this.options.maxParticles)return;const t=new r(this.options);this.particles.push(t),this.wrapper&&this.wrapper.appendChild(t.element)}removeParticle(t){const i=this.particles.indexOf(t);i>-1&&(this.particles.splice(i,1),t.destroy())}start(){this.isRunning||(this.isRunning=!0,this.isPaused=!1,this.lastFrameTime=0,this.lastSpawnTime=0,this.animationId=requestAnimationFrame(this.animate))}stop(){this.isRunning=!1,this.isPaused=!1,null!==this.animationId&&(cancelAnimationFrame(this.animationId),this.animationId=null),this.particles.forEach(t=>t.destroy()),this.particles=[]}pause(){this.isRunning&&!this.isPaused&&(this.isPaused=!0,this.isRunning=!1,null!==this.animationId&&(cancelAnimationFrame(this.animationId),this.animationId=null))}resume(){!this.isRunning&&this.isPaused&&(this.isRunning=!0,this.isPaused=!1,this.lastFrameTime=0,this.animationId=requestAnimationFrame(this.animate))}setOptions(t){t.speed&&(this.options.speed=t.speed),void 0!==t.spawnRate&&(this.options.spawnRate=t.spawnRate),void 0!==t.maxParticles&&(this.options.maxParticles=t.maxParticles),t.animation&&(this.options.animation="string"==typeof t.animation?[t.animation]:t.animation),t.size&&(this.options.size=t.size),t.opacity&&(this.options.opacity=t.opacity),void 0!==t.wind&&(this.options.wind=t.wind),t.objects&&(this.options.objects=t.objects)}getParticleCount(){return this.particles.length}getIsRunning(){return this.isRunning}getIsPaused(){return this.isPaused}destroy(){this.stop(),this.wrapper&&(this.wrapper.remove(),this.wrapper=null),this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null)}}
2
+ /**
3
+ * falling-animation
4
+ * A lightweight, customizable falling objects animation library
5
+ *
6
+ * @author phongdh
7
+ * @license MIT
8
+ */t.FallingAnimation=l,t.animations=a,t.default=l,t.getAnimation=o,Object.defineProperty(t,"__esModule",{value:!0})});
9
+ //# sourceMappingURL=falling-animation.umd.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"falling-animation.umd.min.js","sources":["../src/utils.ts","../src/animations/index.ts","../src/Particle.ts","../src/FallingAnimation.ts"],"sourcesContent":[null,null,null,null],"names":["randomRange","min","max","Math","random","randomFromRange","range","idCounter","fall","particle","deltaTime","vy","vx","y","x","animations","swing","elapsed","rotation","sin","phase","swingOffset","rotate","rotationSpeed","flutter","flutterFrequency","wobble","spiral","angle","PI","cos","tumble","tumbleSpeed","_a","data","wobbleX","_b","wobbleY","_c","zigzag","t","triangleWave","abs","float","floatFrequency","yWobble","xDrift","getAnimation","name","Particle","constructor","options","this","id","age","containerWidth","container","clientWidth","containerHeight","clientHeight","object","items","totalWeight","reduce","sum","item","weight","length","weightedRandomPick","objects","array","speed","wind","size","opacity","animation","floor","initAnimationData","element","createElement","document","className","setAttribute","String","type","textContent","content","style","fontSize","lineHeight","img","src","alt","width","height","objectFit","draggable","appendChild","innerHTML","_d","Object","assign","position","pointerEvents","userSelect","willChange","left","top","transform","getTransform","update","animationFn","isOutOfBounds","updateContainerSize","destroy","remove","DEFAULTS","spawnRate","maxParticles","autoStart","zIndex","responsive","FallingAnimation","particles","wrapper","isRunning","isPaused","animationId","lastSpawnTime","startTime","lastFrameTime","resizeHandler","animate","currentTime","spawnInterval","spawnParticle","particlesToRemove","push","forEach","p","removeParticle","requestAnimationFrame","Error","resolveOptions","createWrapper","setupResizeHandler","start","body","querySelector","console","warn","resolveContainer","_e","_f","_g","_h","_j","overflow","getComputedStyle","func","limit","inThrottle","args","apply","setTimeout","throttle","window","addEventListener","index","indexOf","splice","stop","cancelAnimationFrame","pause","resume","setOptions","newOptions","undefined","getParticleCount","getIsRunning","getIsPaused","removeEventListener"],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * FallingAnimation - Main class for creating falling object animations
3
+ */
4
+ import { FallingAnimationOptions } from './types';
5
+ export declare class FallingAnimation {
6
+ private options;
7
+ private particles;
8
+ private wrapper;
9
+ private isRunning;
10
+ private isPaused;
11
+ private animationId;
12
+ private lastSpawnTime;
13
+ private startTime;
14
+ private lastFrameTime;
15
+ private resizeHandler;
16
+ constructor(options: FallingAnimationOptions);
17
+ /**
18
+ * Merge user options with defaults
19
+ */
20
+ private resolveOptions;
21
+ /**
22
+ * Create wrapper element for particles
23
+ */
24
+ private createWrapper;
25
+ /**
26
+ * Setup resize handler for responsive behavior
27
+ */
28
+ private setupResizeHandler;
29
+ /**
30
+ * Spawn a new particle
31
+ */
32
+ private spawnParticle;
33
+ /**
34
+ * Remove a particle
35
+ */
36
+ private removeParticle;
37
+ /**
38
+ * Main animation loop
39
+ */
40
+ private animate;
41
+ /**
42
+ * Start the animation
43
+ */
44
+ start(): void;
45
+ /**
46
+ * Stop the animation and clear all particles
47
+ */
48
+ stop(): void;
49
+ /**
50
+ * Pause the animation (keeps particles in place)
51
+ */
52
+ pause(): void;
53
+ /**
54
+ * Resume a paused animation
55
+ */
56
+ resume(): void;
57
+ /**
58
+ * Update options dynamically
59
+ */
60
+ setOptions(newOptions: Partial<FallingAnimationOptions>): void;
61
+ /**
62
+ * Get current particle count
63
+ */
64
+ getParticleCount(): number;
65
+ /**
66
+ * Check if animation is running
67
+ */
68
+ getIsRunning(): boolean;
69
+ /**
70
+ * Check if animation is paused
71
+ */
72
+ getIsPaused(): boolean;
73
+ /**
74
+ * Destroy the animation and clean up
75
+ */
76
+ destroy(): void;
77
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Particle class - manages individual falling objects
3
+ */
4
+ import { ParticleState, AnimationType, ResolvedOptions } from './types';
5
+ export declare class Particle implements ParticleState {
6
+ id: number;
7
+ element: HTMLElement;
8
+ x: number;
9
+ y: number;
10
+ vx: number;
11
+ vy: number;
12
+ rotation: number;
13
+ rotationSpeed: number;
14
+ size: number;
15
+ opacity: number;
16
+ animation: AnimationType;
17
+ age: number;
18
+ phase: number;
19
+ data: Record<string, number>;
20
+ private containerWidth;
21
+ private containerHeight;
22
+ private options;
23
+ constructor(options: ResolvedOptions);
24
+ /**
25
+ * Initialize animation-specific data
26
+ */
27
+ private initAnimationData;
28
+ /**
29
+ * Create DOM element for the particle
30
+ */
31
+ private createElement;
32
+ /**
33
+ * Get CSS transform string
34
+ */
35
+ private getTransform;
36
+ /**
37
+ * Update particle state
38
+ */
39
+ update(deltaTime: number, elapsed: number): void;
40
+ /**
41
+ * Check if particle is out of bounds
42
+ */
43
+ isOutOfBounds(): boolean;
44
+ /**
45
+ * Update container dimensions (for resize handling)
46
+ */
47
+ updateContainerSize(width: number, height: number): void;
48
+ /**
49
+ * Remove particle from DOM
50
+ */
51
+ destroy(): void;
52
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Animation functions for falling particles
3
+ * Each animation modifies particle state based on deltaTime and elapsed time
4
+ */
5
+ import { AnimationFunction, AnimationRegistry } from '../types';
6
+ /**
7
+ * Simple vertical fall - no special effects
8
+ */
9
+ export declare const fall: AnimationFunction;
10
+ /**
11
+ * Swing - pendulum-like swinging motion while falling
12
+ */
13
+ export declare const swing: AnimationFunction;
14
+ /**
15
+ * Rotate - continuous 360° rotation while falling
16
+ */
17
+ export declare const rotate: AnimationFunction;
18
+ /**
19
+ * Flutter - butterfly-like fluttering motion
20
+ */
21
+ export declare const flutter: AnimationFunction;
22
+ /**
23
+ * Spiral - spiraling down pattern
24
+ */
25
+ export declare const spiral: AnimationFunction;
26
+ /**
27
+ * Tumble - chaotic tumbling motion
28
+ */
29
+ export declare const tumble: AnimationFunction;
30
+ /**
31
+ * Zigzag - zigzag falling pattern
32
+ */
33
+ export declare const zigzag: AnimationFunction;
34
+ /**
35
+ * Float - slow floating descent with gentle movement
36
+ */
37
+ export declare const float: AnimationFunction;
38
+ /**
39
+ * Animation registry - all available animations
40
+ */
41
+ export declare const animations: AnimationRegistry;
42
+ /**
43
+ * Get animation function by name
44
+ */
45
+ export declare function getAnimation(name: string): AnimationFunction;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * falling-animation
3
+ * A lightweight, customizable falling objects animation library
4
+ *
5
+ * @author phongdh
6
+ * @license MIT
7
+ */
8
+ export { FallingAnimation } from './FallingAnimation';
9
+ export type { FallingAnimationOptions, FallingObject, FallingObjectType, AnimationType, RangeValue } from './types';
10
+ export { animations, getAnimation } from './animations';
11
+ import { FallingAnimation } from './FallingAnimation';
12
+ export default FallingAnimation;
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Type definitions for falling-animation package
3
+ */
4
+ /** Object type that can fall */
5
+ export type FallingObjectType = 'emoji' | 'image' | 'html';
6
+ /** Single falling object configuration */
7
+ export interface FallingObject {
8
+ /** Type of the object */
9
+ type: FallingObjectType;
10
+ /** Content: emoji string, image URL, or HTML string */
11
+ content?: string;
12
+ /** Image source (for type: 'image') */
13
+ src?: string;
14
+ /** Optional weight for random selection (default: 1) */
15
+ weight?: number;
16
+ }
17
+ /** Range value for min/max configuration */
18
+ export interface RangeValue {
19
+ min: number;
20
+ max: number;
21
+ }
22
+ /** Available animation types */
23
+ export type AnimationType = 'fall' | 'swing' | 'rotate' | 'flutter' | 'spiral' | 'tumble' | 'zigzag' | 'float';
24
+ /** Animation function signature */
25
+ export type AnimationFunction = (particle: ParticleState, deltaTime: number, elapsed: number) => void;
26
+ /** Internal particle state */
27
+ export interface ParticleState {
28
+ /** Unique identifier */
29
+ id: number;
30
+ /** DOM element reference */
31
+ element: HTMLElement;
32
+ /** Current X position */
33
+ x: number;
34
+ /** Current Y position */
35
+ y: number;
36
+ /** Horizontal velocity */
37
+ vx: number;
38
+ /** Vertical velocity (speed) */
39
+ vy: number;
40
+ /** Current rotation angle (degrees) */
41
+ rotation: number;
42
+ /** Rotation speed (degrees per frame) */
43
+ rotationSpeed: number;
44
+ /** Particle size */
45
+ size: number;
46
+ /** Particle opacity */
47
+ opacity: number;
48
+ /** Animation type for this particle */
49
+ animation: AnimationType;
50
+ /** Time since spawn (ms) */
51
+ age: number;
52
+ /** Animation-specific phase offset */
53
+ phase: number;
54
+ /** Additional animation data */
55
+ data: Record<string, number>;
56
+ }
57
+ /** Main configuration options */
58
+ export interface FallingAnimationOptions {
59
+ /** Container element or selector (default: document.body) */
60
+ container?: HTMLElement | string;
61
+ /** Array of objects to fall */
62
+ objects: FallingObject[];
63
+ /** Falling speed range in pixels per frame (default: { min: 2, max: 5 }) */
64
+ speed?: RangeValue;
65
+ /** Number of objects spawned per second (default: 3) */
66
+ spawnRate?: number;
67
+ /** Maximum concurrent particles (default: 50) */
68
+ maxParticles?: number;
69
+ /** Animation type(s) to use (default: 'fall') */
70
+ animation?: AnimationType | AnimationType[];
71
+ /** Object size range in pixels (default: { min: 20, max: 40 }) */
72
+ size?: RangeValue;
73
+ /** Object opacity range (default: { min: 0.6, max: 1 }) */
74
+ opacity?: RangeValue;
75
+ /** Wind effect (-1 to 1, default: 0) */
76
+ wind?: number;
77
+ /** Auto start animation (default: true) */
78
+ autoStart?: boolean;
79
+ /** Z-index for the container (default: 9999) */
80
+ zIndex?: number;
81
+ /** Enable responsive behavior (default: true) */
82
+ responsive?: boolean;
83
+ }
84
+ /** Resolved options with all defaults applied */
85
+ export interface ResolvedOptions {
86
+ container: HTMLElement;
87
+ objects: FallingObject[];
88
+ speed: RangeValue;
89
+ spawnRate: number;
90
+ maxParticles: number;
91
+ animation: AnimationType[];
92
+ size: RangeValue;
93
+ opacity: RangeValue;
94
+ wind: number;
95
+ autoStart: boolean;
96
+ zIndex: number;
97
+ responsive: boolean;
98
+ }
99
+ /** Animation registry type */
100
+ export type AnimationRegistry = Record<AnimationType, AnimationFunction>;
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Utility functions for falling-animation
3
+ */
4
+ import { RangeValue } from './types';
5
+ /**
6
+ * Generate a random number between min and max
7
+ */
8
+ export declare function randomRange(min: number, max: number): number;
9
+ /**
10
+ * Generate a random number from a RangeValue
11
+ */
12
+ export declare function randomFromRange(range: RangeValue): number;
13
+ /**
14
+ * Generate a random integer between min and max (inclusive)
15
+ */
16
+ export declare function randomInt(min: number, max: number): number;
17
+ /**
18
+ * Pick a random item from an array
19
+ */
20
+ export declare function randomPick<T>(array: T[]): T;
21
+ /**
22
+ * Pick a random item based on weights
23
+ */
24
+ export declare function weightedRandomPick<T extends {
25
+ weight?: number;
26
+ }>(items: T[]): T;
27
+ /**
28
+ * Clamp a value between min and max
29
+ */
30
+ export declare function clamp(value: number, min: number, max: number): number;
31
+ /**
32
+ * Linear interpolation
33
+ */
34
+ export declare function lerp(start: number, end: number, t: number): number;
35
+ /**
36
+ * Convert degrees to radians
37
+ */
38
+ export declare function degToRad(degrees: number): number;
39
+ export declare function generateId(): number;
40
+ /**
41
+ * Resolve container from element or selector
42
+ */
43
+ export declare function resolveContainer(container: HTMLElement | string | undefined): HTMLElement;
44
+ /**
45
+ * Create a style string from object
46
+ */
47
+ export declare function styleToString(styles: Record<string, string | number>): string;
48
+ /**
49
+ * Throttle function calls
50
+ */
51
+ export declare function throttle<T extends (...args: unknown[]) => void>(func: T, limit: number): T;
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "falling-animation",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "description": "A lightweight, customizable falling objects animation library for web",
6
+ "main": "dist/falling-animation.cjs.js",
7
+ "module": "dist/falling-animation.esm.js",
8
+ "browser": "dist/falling-animation.umd.js",
9
+ "types": "dist/types/index.d.ts",
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "scripts": {
14
+ "build": "rollup -c",
15
+ "dev": "rollup -c -w",
16
+ "demo": "npx serve .",
17
+ "prepublishOnly": "npm run build"
18
+ },
19
+ "keywords": [
20
+ "falling",
21
+ "animation",
22
+ "particles",
23
+ "effects",
24
+ "snowfall",
25
+ "confetti",
26
+ "leaf",
27
+ "emoji"
28
+ ],
29
+ "author": "phong-baruby",
30
+ "license": "MIT",
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/phong-baruby/falling-package"
34
+ },
35
+ "bugs": {
36
+ "url": "https://github.com/phong-baruby/falling-package/issues"
37
+ },
38
+ "homepage": "https://github.com/phong-baruby/falling-package#readme",
39
+ "devDependencies": {
40
+ "@rollup/plugin-typescript": "^11.1.6",
41
+ "rollup": "^4.9.0",
42
+ "@rollup/plugin-terser": "^0.4.4",
43
+ "tslib": "^2.6.2",
44
+ "typescript": "^5.3.3"
45
+ }
46
+ }