micro-canvas-confetti-native 0.1.0 → 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.
- package/README.md +158 -142
- package/lib/commonjs/api.js +3 -3
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/coins.js.map +1 -1
- package/lib/commonjs/constants.js +6 -6
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/core.js.map +1 -1
- package/lib/commonjs/engine.js +3 -3
- package/lib/commonjs/engine.js.map +1 -1
- package/lib/commonjs/hooks/useReducedMotion.js +3 -3
- package/lib/commonjs/hooks/useReducedMotion.js.map +1 -1
- package/lib/commonjs/host/ParticleHost.js +3 -3
- package/lib/commonjs/host/ParticleHost.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/physics/collect.js.map +1 -1
- package/lib/commonjs/physics/drag.js.map +1 -1
- package/lib/commonjs/physics/spawn.js.map +1 -1
- package/lib/commonjs/physics/wobble.js.map +1 -1
- package/lib/commonjs/sequence.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/math.js.map +1 -1
- package/lib/commonjs/utils/validation.js +3 -3
- package/lib/commonjs/utils/validation.js.map +1 -1
- package/lib/module/api.js +3 -3
- package/lib/module/api.js.map +1 -1
- package/lib/module/coins.js.map +1 -1
- package/lib/module/constants.js +6 -6
- package/lib/module/constants.js.map +1 -1
- package/lib/module/core.js +3 -3
- package/lib/module/core.js.map +1 -1
- package/lib/module/engine.js +3 -3
- package/lib/module/engine.js.map +1 -1
- package/lib/module/hooks/useReducedMotion.js +3 -3
- package/lib/module/hooks/useReducedMotion.js.map +1 -1
- package/lib/module/host/ParticleHost.js +3 -3
- package/lib/module/host/ParticleHost.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/physics/collect.js.map +1 -1
- package/lib/module/physics/drag.js.map +1 -1
- package/lib/module/physics/spawn.js.map +1 -1
- package/lib/module/physics/wobble.js.map +1 -1
- package/lib/module/sequence.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/math.js.map +1 -1
- package/lib/module/utils/validation.js +3 -3
- package/lib/module/utils/validation.js.map +1 -1
- package/package.json +118 -118
- package/src/api.ts +78 -78
- package/src/coins.ts +8 -8
- package/src/constants.ts +187 -187
- package/src/core.ts +18 -18
- package/src/engine.ts +354 -354
- package/src/hooks/useReducedMotion.ts +26 -26
- package/src/host/ParticleHost.tsx +181 -181
- package/src/index.ts +33 -33
- package/src/physics/collect.ts +100 -100
- package/src/physics/drag.ts +15 -15
- package/src/physics/spawn.ts +139 -139
- package/src/physics/wobble.ts +11 -11
- package/src/sequence.ts +39 -39
- package/src/types.ts +243 -243
- package/src/utils/math.ts +49 -49
- package/src/utils/validation.ts +203 -203
package/README.md
CHANGED
|
@@ -1,142 +1,158 @@
|
|
|
1
|
-
# micro-canvas-confetti-native
|
|
2
|
-
|
|
3
|
-
Confetti and coin bursts for React Native
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
npm
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
confetti(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
appearance: "coin",
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
|
102
|
-
|
|
|
103
|
-
| `
|
|
104
|
-
| `
|
|
105
|
-
| `
|
|
106
|
-
| `
|
|
107
|
-
| `
|
|
108
|
-
| `
|
|
109
|
-
| `
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
1
|
+
# micro-canvas-confetti-native
|
|
2
|
+
|
|
3
|
+
**Confetti and coin bursts for React Native — Views and Image only, no extra native module.**
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/micro-canvas-confetti-native)
|
|
6
|
+
[](https://www.npmjs.com/package/micro-canvas-confetti-native)
|
|
7
|
+
[](https://bundlephobia.com/package/micro-canvas-confetti-native)
|
|
8
|
+
[](https://github.com/MosheHatab/micro-canvas-confetti-native/actions/workflows/ci.yml)
|
|
9
|
+
[](https://www.npmjs.com/package/micro-canvas-confetti-native#provenance)
|
|
10
|
+
[](https://www.npmjs.com/package/micro-canvas-confetti-native)
|
|
11
|
+
[](./LICENSE)
|
|
12
|
+
|
|
13
|
+
Confetti and coin bursts for React Native. Same presets and physics as [`micro-canvas-confetti-physics`](https://www.npmjs.com/package/micro-canvas-confetti-physics), plus image coins and a **collect** flight that starts big and shrinks into a label or box.
|
|
14
|
+
|
|
15
|
+
Drawn with `View` and `Image` only. Peers are `react` and `react-native`. No Skia, no Reanimated, no extra native module.
|
|
16
|
+
|
|
17
|
+
## Install
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
npm install micro-canvas-confetti-native
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Mount one overlay at the root. It does not take touches.
|
|
24
|
+
|
|
25
|
+
```tsx
|
|
26
|
+
import { ParticleHost } from "micro-canvas-confetti-native";
|
|
27
|
+
import { View } from "react-native";
|
|
28
|
+
|
|
29
|
+
export function Root() {
|
|
30
|
+
return (
|
|
31
|
+
<View style={{ flex: 1 }}>
|
|
32
|
+
<App />
|
|
33
|
+
<ParticleHost />
|
|
34
|
+
</View>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Quick start
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
import { confetti, measureCenter } from "micro-canvas-confetti-native";
|
|
43
|
+
import { Circle, Svg } from "react-native-svg";
|
|
44
|
+
|
|
45
|
+
confetti();
|
|
46
|
+
confetti({ preset: "cannon", origin: { x: 180, y: 640 } });
|
|
47
|
+
|
|
48
|
+
// coinType omitted → h-keystone. Or pass your own PNG / SVG node.
|
|
49
|
+
confetti({ appearance: "coin", particleCount: 12, origin: { x: 200, y: 400 } });
|
|
50
|
+
confetti({
|
|
51
|
+
appearance: "coin",
|
|
52
|
+
particleCount: 12,
|
|
53
|
+
coinSource: require("./coins/guess-and-draw.png"),
|
|
54
|
+
});
|
|
55
|
+
confetti({
|
|
56
|
+
appearance: "coin",
|
|
57
|
+
particleCount: 8,
|
|
58
|
+
renderCoin: () => (
|
|
59
|
+
<Svg width="100%" height="100%" viewBox="0 0 32 32">
|
|
60
|
+
<Circle cx="16" cy="16" r="14" fill="#f5b301" />
|
|
61
|
+
</Svg>
|
|
62
|
+
),
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
await confetti.collect({
|
|
66
|
+
appearance: "coin",
|
|
67
|
+
coinSource: require("./coins/stellar-gateway.png"),
|
|
68
|
+
origin: { x: screenW / 2, y: screenH / 2 },
|
|
69
|
+
target: await measureCenter(coinsLabelRef),
|
|
70
|
+
particleCount: 8,
|
|
71
|
+
onArrive: () => addCoin(),
|
|
72
|
+
});
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
`collect` flies pieces from `origin` to `target`. They start about 2.4× size, follow a short arc, and shrink to about 0.2× as they land. `target` is window coordinates. `measureCenter(ref)` reads a view with `measureInWindow` and returns its center. Pass `trackTarget: () => latestCenter` when that view can move, for example while the screen scrolls.
|
|
76
|
+
|
|
77
|
+
Calls made before `ParticleHost` mounts are queued.
|
|
78
|
+
|
|
79
|
+
## Coins
|
|
80
|
+
|
|
81
|
+
The library ships one built-in, `h-keystone` (`DEFAULT_COIN_TYPE`). Pass your own art per burst:
|
|
82
|
+
|
|
83
|
+
| Input | Use |
|
|
84
|
+
| --- | --- |
|
|
85
|
+
| `coinType` | Omit it, or `"h-keystone"` |
|
|
86
|
+
| `coinSource` | A PNG or WebP. Anything `<Image source>` accepts: `require("./coin.png")` or `{ uri }` |
|
|
87
|
+
| `renderCoin` | `(index) => ReactElement`. An SVG from `react-native-svg`, or any view you already render. This package does not parse SVG files |
|
|
88
|
+
|
|
89
|
+
`renderCoin` wins over `coinSource`, which wins over `coinType`. The node should fill the piece (`width` and `height` `"100%"`). The host moves one wrapper view per coin.
|
|
90
|
+
|
|
91
|
+
A shared PNG is decoded once. An SVG (or any custom tree) is copied once per coin, so keep that burst smaller when the graphic is heavy.
|
|
92
|
+
|
|
93
|
+
### Artwork that reads well
|
|
94
|
+
|
|
95
|
+
- PNG-24 or WebP, transparent, sRGB, square **256×256**
|
|
96
|
+
- Disc centered with about **8%** padding so rotation does not clip the edge
|
|
97
|
+
- Still readable at **~32dp** (the shrunk end) and **~96dp** (the big start)
|
|
98
|
+
|
|
99
|
+
## API
|
|
100
|
+
|
|
101
|
+
| Option | Burst default | Notes |
|
|
102
|
+
| --- | --- | --- |
|
|
103
|
+
| `appearance` | `"confetti"` | `"coin"` draws the coin image |
|
|
104
|
+
| `coinType` | `"h-keystone"` | Built-in coin. Ignored when `coinSource` or `renderCoin` is set |
|
|
105
|
+
| `coinSource` | — | Your PNG or WebP. Overrides `coinType` |
|
|
106
|
+
| `renderCoin` | — | `(index) => node`. Your SVG or view. Overrides `coinSource` |
|
|
107
|
+
| `particleCount` | 60 confetti / 12 coins | You choose the count. Each piece is a view, so a higher count costs more. Safety cap: **300** confetti and **150** coins. A higher request is clamped, and the library warns. |
|
|
108
|
+
| `origin` | center of the host | Window coordinates |
|
|
109
|
+
| `preset` | — | `celebration`, `subtle`, `cannon`, `spark` |
|
|
110
|
+
| `angle` | `270` | Degrees, up |
|
|
111
|
+
| `spread` | `45` | Cone in degrees |
|
|
112
|
+
| `startVelocity` | `45` | |
|
|
113
|
+
| `gravity` | `1.2` | |
|
|
114
|
+
| `drag` | `0.08` | |
|
|
115
|
+
| `duration` | `"normal"` | `short` \| `normal` \| `long` |
|
|
116
|
+
| `scalar` | `1` | Size, `0.2`–`3` |
|
|
117
|
+
| `burstRadius` | `0` | Max distance from origin. `0` = no limit |
|
|
118
|
+
| `colors` / `shapes` | festive palette, rect + circle | Confetti only |
|
|
119
|
+
| `disableForReducedMotion` | `true` | No-op when the OS reduce-motion setting is on |
|
|
120
|
+
|
|
121
|
+
Collect-only: `target` (required), `flightMs` (900), `staggerMs` (60), `onArrive(index, total)`.
|
|
122
|
+
|
|
123
|
+
- `confetti(options?)` → `{ reset, isActive }`
|
|
124
|
+
- `confetti.promise(options?)` → resolves when that burst is gone
|
|
125
|
+
- `confetti.collect(options)` → resolves when every piece has landed
|
|
126
|
+
- `confettiSequence(steps)` (alias `sequence`) → `{ cancel, promise }`
|
|
127
|
+
- `reset()` — clear the screen
|
|
128
|
+
- `getActiveParticleCount()`
|
|
129
|
+
- `measureCenter(ref)` → `Promise<{ x, y }>`
|
|
130
|
+
|
|
131
|
+
## What stays on the web package
|
|
132
|
+
|
|
133
|
+
Canvas snapshot, motion trails, and the velocity heatmap. Those need a canvas. This package draws each piece as a view, so `particleCount` is yours up to the safety cap (300 confetti, 150 coins).
|
|
134
|
+
|
|
135
|
+
## Demo
|
|
136
|
+
|
|
137
|
+
The full playground (presets, coin types, collect-into-a-badge) is in [`example/`](./example):
|
|
138
|
+
|
|
139
|
+
```sh
|
|
140
|
+
cd example
|
|
141
|
+
npm install
|
|
142
|
+
npm run start # press a / i / w for Android / iOS / web
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Hosted playground on [**Expo Snack**](https://snack.expo.dev/@moshehat/micro-canvas-confetti-native) — same screen as `example/`, in the browser and on a phone via QR. It installs `micro-canvas-confetti-native` from npm. Snack does not follow localhost; a new save replaces what that URL shows.
|
|
146
|
+
|
|
147
|
+
## Development
|
|
148
|
+
|
|
149
|
+
```sh
|
|
150
|
+
npm test
|
|
151
|
+
npm run lint
|
|
152
|
+
npm run typecheck
|
|
153
|
+
npm run build
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Cloning this repo to publish your own package: [PUBLISHING.md](./PUBLISHING.md).
|
|
157
|
+
|
|
158
|
+
MIT © Moshe Hatab
|
package/lib/commonjs/api.js
CHANGED
|
@@ -62,9 +62,9 @@ function getActiveParticleCount() {
|
|
|
62
62
|
|
|
63
63
|
/** Anything with React Native's `measureInWindow` — a `View`, `Text`, or `Pressable` ref. */
|
|
64
64
|
|
|
65
|
-
/**
|
|
66
|
-
* Center of a mounted view in window coordinates — use it as a collect `target`
|
|
67
|
-
* (or a burst `origin`). Accepts the ref object or the instance.
|
|
65
|
+
/**
|
|
66
|
+
* Center of a mounted view in window coordinates — use it as a collect `target`
|
|
67
|
+
* (or a burst `origin`). Accepts the ref object or the instance.
|
|
68
68
|
*/
|
|
69
69
|
function measureCenter(ref) {
|
|
70
70
|
const node = ref !== null && "current" in ref ? ref.current : ref;
|
package/lib/commonjs/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_engine","require","_sequence","engine","exports","ParticleEngine","reset","launchBurst","options","batch","promise","createBatch","burst","handle","isActive","remaining","collect","onArrive","error","Promise","reject","confetti","Object","assign","confettiSequence","createSequenceRunner","getActiveParticleCount","activeCount","measureCenter","ref","node","current","measureInWindow","TypeError","resolve","x","y","width","height"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["_engine","require","_sequence","engine","exports","ParticleEngine","reset","launchBurst","options","batch","promise","createBatch","burst","handle","isActive","remaining","collect","onArrive","error","Promise","reject","confetti","Object","assign","confettiSequence","createSequenceRunner","getActiveParticleCount","activeCount","measureCenter","ref","node","current","measureInWindow","TypeError","resolve","x","y","width","height"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAUA;AACO,MAAME,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAIE,sBAAc,CAAC,CAAC;;AAE1C;AACO,SAASC,KAAKA,CAAA,EAAS;EAC7BH,MAAM,CAACG,KAAK,CAAC,CAAC;AACf;AAEA,SAASC,WAAWA,CAACC,OAAyB,EAAsD;EACnG,MAAM;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAG,IAAAC,mBAAW,EAAC,CAAC;EACxCR,MAAM,CAACS,KAAK,CAACJ,OAAO,EAAEC,KAAK,CAAC;EAC5B,OAAO;IACNI,MAAM,EAAE;MAAEP,KAAK;MAAEQ,QAAQ,EAAEA,CAAA,KAAML,KAAK,CAACM,SAAS,KAAK;IAAE,CAAC;IACxDL;EACD,CAAC;AACF;;AAEA;AACO,SAASM,OAAOA,CAACR,OAAuB,EAAiB;EAC/D,MAAM;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAG,IAAAC,mBAAW,EAACH,OAAO,EAAES,QAAQ,CAAC;EACzD,IAAI;IACHd,MAAM,CAACa,OAAO,CAACR,OAAO,EAAEC,KAAK,CAAC;EAC/B,CAAC,CAAC,OAAOS,KAAK,EAAE;IACf,OAAOC,OAAO,CAACC,MAAM,CAACF,KAAK,CAAC;EAC7B;EACA,OAAOR,OAAO;AACf;;AAEA;AACO,MAAMW,QAAoB,GAAAjB,OAAA,CAAAiB,QAAA,GAAGC,MAAM,CAACC,MAAM,CAC/Cf,OAAyB,IAAqBD,WAAW,CAACC,OAAO,CAAC,CAACK,MAAM,EAC1E;EACCH,OAAO,EAAGF,OAAyB,IAAoBD,WAAW,CAACC,OAAO,CAAC,CAACE,OAAO;EACnFM;AACD,CACD,CAAC;;AAED;AACO,MAAMQ,gBAAoC,GAAApB,OAAA,CAAAoB,gBAAA,GAAG,IAAAC,8BAAoB,EAACJ,QAAQ,CAAC;;AAElF;AACO,SAASK,sBAAsBA,CAAA,EAAW;EAChD,OAAOvB,MAAM,CAACwB,WAAW;AAC1B;;AAEA;;AAKA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAC5BC,GAAgE,EACtC;EAC1B,MAAMC,IAAI,GAAGD,GAAG,KAAK,IAAI,IAAI,SAAS,IAAIA,GAAG,GAAGA,GAAG,CAACE,OAAO,GAAGF,GAAG;EACjE,IAAIC,IAAI,KAAK,IAAI,IAAI,OAAOA,IAAI,CAACE,eAAe,KAAK,UAAU,EAAE;IAChE,OAAOb,OAAO,CAACC,MAAM,CAAC,IAAIa,SAAS,CAAC,uDAAuD,CAAC,CAAC;EAC9F;EACA,OAAO,IAAId,OAAO,CAAEe,OAAO,IAAK;IAC/BJ,IAAI,CAACE,eAAe,CAAC,CAACG,CAAC,EAAEC,CAAC,EAAEC,KAAK,EAAEC,MAAM,KAAK;MAC7CJ,OAAO,CAAC;QAAEC,CAAC,EAAEA,CAAC,GAAGE,KAAK,GAAG,CAAC;QAAED,CAAC,EAAEA,CAAC,GAAGE,MAAM,GAAG;MAAE,CAAC,CAAC;IACjD,CAAC,CAAC;EACH,CAAC,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["COIN_IMAGES","exports","require"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["COIN_IMAGES","exports","require"],"sourceRoot":"../../src","sources":["coins.ts"],"mappings":";;;;;;AAIA;AACO,MAAMA,WAAkD,GAAAC,OAAA,CAAAD,WAAA,GAAG;EACjE,YAAY,EAAEE,OAAO,CAAC,+BAA+B;AACtD,CAAC","ignoreList":[]}
|
|
@@ -7,9 +7,9 @@ exports.WOBBLE_DRAG = exports.SUBTLE_COLORS = exports.SPARK_COLORS = exports.SKE
|
|
|
7
7
|
const DEFAULT_PARTICLE_COUNT = exports.DEFAULT_PARTICLE_COUNT = 60;
|
|
8
8
|
const DEFAULT_COIN_COUNT = exports.DEFAULT_COIN_COUNT = 12;
|
|
9
9
|
const MIN_PARTICLE_COUNT = exports.MIN_PARTICLE_COUNT = 1;
|
|
10
|
-
/**
|
|
11
|
-
* Safety ceilings. The caller chooses `particleCount`; each piece is a view,
|
|
12
|
-
* so a high count costs more. Requests above these are clamped and warned.
|
|
10
|
+
/**
|
|
11
|
+
* Safety ceilings. The caller chooses `particleCount`; each piece is a view,
|
|
12
|
+
* so a high count costs more. Requests above these are clamped and warned.
|
|
13
13
|
*/
|
|
14
14
|
const MAX_CONFETTI_PIECES = exports.MAX_CONFETTI_PIECES = 300;
|
|
15
15
|
const MAX_COIN_PIECES = exports.MAX_COIN_PIECES = 150;
|
|
@@ -30,9 +30,9 @@ const CULL_MARGIN = exports.CULL_MARGIN = 50;
|
|
|
30
30
|
const SETTLE_VELOCITY_THRESHOLD = exports.SETTLE_VELOCITY_THRESHOLD = 0.05;
|
|
31
31
|
const SETTLE_Y_OFFSET = exports.SETTLE_Y_OFFSET = 50;
|
|
32
32
|
|
|
33
|
-
/**
|
|
34
|
-
* The shared physics constants are tuned in small units; the host advances
|
|
35
|
-
* the simulation this many seconds per real second so bursts read at phone scale.
|
|
33
|
+
/**
|
|
34
|
+
* The shared physics constants are tuned in small units; the host advances
|
|
35
|
+
* the simulation this many seconds per real second so bursts read at phone scale.
|
|
36
36
|
*/
|
|
37
37
|
const SIMULATION_TIME_SCALE = exports.SIMULATION_TIME_SCALE = 12;
|
|
38
38
|
/** Longest frame step in seconds, so a dropped frame does not teleport pieces. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_PARTICLE_COUNT","exports","DEFAULT_COIN_COUNT","MIN_PARTICLE_COUNT","MAX_CONFETTI_PIECES","MAX_COIN_PIECES","DEFAULT_ANGLE","DEFAULT_SPREAD","DEFAULT_START_VELOCITY","DEFAULT_GRAVITY","DEFAULT_DRAG","DEFAULT_DECAY","DEFAULT_SCALAR","MIN_SCALAR","MAX_SCALAR","ROTATION_DRAG","WOBBLE_DRAG","MIN_FLATNESS","SKEW_FACTOR","CULL_MARGIN","SETTLE_VELOCITY_THRESHOLD","SETTLE_Y_OFFSET","SIMULATION_TIME_SCALE","MAX_FRAME_SECONDS","DEFAULT_FRAME_SECONDS","DEFAULT_BURST_RADIUS","MAX_BURST_RADIUS","DURATION_TICKS","short","normal","long","DURATION_DRAG","DURATION_SCALAR","DEFAULT_COLORS","CELEBRATION_COLORS","SUBTLE_COLORS","CANNON_COLORS","SPARK_COLORS","DEFAULT_SHAPES","CONFETTI_WIDTH_RANGE","CONFETTI_HEIGHT_RANGE","COIN_TYPES","DEFAULT_COIN_TYPE","COIN_SIZE","COIN_ROTATION_FACTOR","DEFAULT_COLLECT_FLIGHT_MS","COLLECT_FLIGHT_JITTER_MS","DEFAULT_COLLECT_STAGGER_MS","COLLECT_STAGGER_JITTER_MS","MAX_COLLECT_FLIGHT_MS","MAX_COLLECT_STAGGER_MS","COLLECT_START_SCALE","COLLECT_END_SCALE","COLLECT_FADE_START","COLLECT_ORIGIN_SCATTER","COLLECT_ARC_BEND","COLLECT_SPIN_RANGE","DEFAULT_PHYSICS","gravity","drag","rotationDrag","wobbleDrag","minFlatness","skewFactor","decay","PRESET_OPTIONS","celebration","particleCount","startVelocity","spread","duration","scalar","colors","shapes","subtle","cannon","angle","spark","burstRadius"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["DEFAULT_PARTICLE_COUNT","exports","DEFAULT_COIN_COUNT","MIN_PARTICLE_COUNT","MAX_CONFETTI_PIECES","MAX_COIN_PIECES","DEFAULT_ANGLE","DEFAULT_SPREAD","DEFAULT_START_VELOCITY","DEFAULT_GRAVITY","DEFAULT_DRAG","DEFAULT_DECAY","DEFAULT_SCALAR","MIN_SCALAR","MAX_SCALAR","ROTATION_DRAG","WOBBLE_DRAG","MIN_FLATNESS","SKEW_FACTOR","CULL_MARGIN","SETTLE_VELOCITY_THRESHOLD","SETTLE_Y_OFFSET","SIMULATION_TIME_SCALE","MAX_FRAME_SECONDS","DEFAULT_FRAME_SECONDS","DEFAULT_BURST_RADIUS","MAX_BURST_RADIUS","DURATION_TICKS","short","normal","long","DURATION_DRAG","DURATION_SCALAR","DEFAULT_COLORS","CELEBRATION_COLORS","SUBTLE_COLORS","CANNON_COLORS","SPARK_COLORS","DEFAULT_SHAPES","CONFETTI_WIDTH_RANGE","CONFETTI_HEIGHT_RANGE","COIN_TYPES","DEFAULT_COIN_TYPE","COIN_SIZE","COIN_ROTATION_FACTOR","DEFAULT_COLLECT_FLIGHT_MS","COLLECT_FLIGHT_JITTER_MS","DEFAULT_COLLECT_STAGGER_MS","COLLECT_STAGGER_JITTER_MS","MAX_COLLECT_FLIGHT_MS","MAX_COLLECT_STAGGER_MS","COLLECT_START_SCALE","COLLECT_END_SCALE","COLLECT_FADE_START","COLLECT_ORIGIN_SCATTER","COLLECT_ARC_BEND","COLLECT_SPIN_RANGE","DEFAULT_PHYSICS","gravity","drag","rotationDrag","wobbleDrag","minFlatness","skewFactor","decay","PRESET_OPTIONS","celebration","particleCount","startVelocity","spread","duration","scalar","colors","shapes","subtle","cannon","angle","spark","burstRadius"],"sourceRoot":"../../src","sources":["constants.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_collect","_drag","_spawn","_wobble","_validation"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["_constants","require","_collect","_drag","_spawn","_wobble","_validation"],"sourceRoot":"../../src","sources":["core.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AAQA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,WAAA,GAAAL,OAAA","ignoreList":[]}
|
package/lib/commonjs/engine.js
CHANGED
|
@@ -29,9 +29,9 @@ const HIDDEN_FRAME = {
|
|
|
29
29
|
opacity: 0
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
/**
|
|
33
|
-
* Framework-free store behind `confetti()`. The `ParticleHost` attaches to it,
|
|
34
|
-
* reports size and reduced motion, steps it every frame, and draws its slots.
|
|
32
|
+
/**
|
|
33
|
+
* Framework-free store behind `confetti()`. The `ParticleHost` attaches to it,
|
|
34
|
+
* reports size and reduced motion, steps it every frame, and draws its slots.
|
|
35
35
|
*/
|
|
36
36
|
class ParticleEngine {
|
|
37
37
|
slots = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_collect","_spawn","_wobble","_validation","HIDDEN_FRAME","x","y","rotation","scale","scaleX","skewX","opacity","ParticleEngine","slots","nextId","clockMs","viewport","width","height","center","reducedMotion","attached","pending","onChange","attach","bounds","setBounds","queued","request","detach","reset","setReducedMotion","reduced","isAttached","getSlots","activeCount","count","slot","alive","burst","options","batch","run","resolved","parseConfettiOptions","skipForMotion","settle","particles","spawnParticles","slice","capacity","appearance","warnIfScreenCapped","particleCount","length","compact","forEach","particle","index","push","kind","id","physics","originY","origin","look","lookOf","color","shape","notify","collect","parseCollectOptions","pieces","spawnCollectPieces","piece","startedAtMs","trackTarget","frame","size","step","dtSeconds","simDt","SIMULATION_TIME_SCALE","anyAlive","integrateParticle","isParticleDead","kill","nextTarget","undefined","Number","isFinite","retargetCollectPiece","sample","sampleCollectPiece","done","onArrive","total","clearIfIdle","batches","Set","add","remaining","resolve","disableForReducedMotion","max","MAX_COIN_PIECES","MAX_CONFETTI_PIECES","used","Math","filter","exports","coinType","coinSource","renderCoin","frameOf","isCoin","computeWobbleScale","wobblePhase","minFlatness","computeSkewX","skewFactor","createBatch","promise","Promise","settled"],"sourceRoot":"..\\..\\src","sources":["engine.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_constants","require","_collect","_spawn","_wobble","_validation","HIDDEN_FRAME","x","y","rotation","scale","scaleX","skewX","opacity","ParticleEngine","slots","nextId","clockMs","viewport","width","height","center","reducedMotion","attached","pending","onChange","attach","bounds","setBounds","queued","request","detach","reset","setReducedMotion","reduced","isAttached","getSlots","activeCount","count","slot","alive","burst","options","batch","run","resolved","parseConfettiOptions","skipForMotion","settle","particles","spawnParticles","slice","capacity","appearance","warnIfScreenCapped","particleCount","length","compact","forEach","particle","index","push","kind","id","physics","originY","origin","look","lookOf","color","shape","notify","collect","parseCollectOptions","pieces","spawnCollectPieces","piece","startedAtMs","trackTarget","frame","size","step","dtSeconds","simDt","SIMULATION_TIME_SCALE","anyAlive","integrateParticle","isParticleDead","kill","nextTarget","undefined","Number","isFinite","retargetCollectPiece","sample","sampleCollectPiece","done","onArrive","total","clearIfIdle","batches","Set","add","remaining","resolve","disableForReducedMotion","max","MAX_COIN_PIECES","MAX_CONFETTI_PIECES","used","Math","filter","exports","coinType","coinSource","renderCoin","frameOf","isCoin","computeWobbleScale","wobblePhase","minFlatness","computeSkewX","skewFactor","createBatch","promise","Promise","settled"],"sourceRoot":"../../src","sources":["engine.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useReducedMotion = useReducedMotion;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
/**
|
|
10
|
-
* Reactively report whether the user prefers reduced motion, backed by
|
|
11
|
-
* `AccessibilityInfo.isReduceMotionEnabled`. Defaults to `false`.
|
|
9
|
+
/**
|
|
10
|
+
* Reactively report whether the user prefers reduced motion, backed by
|
|
11
|
+
* `AccessibilityInfo.isReduceMotionEnabled`. Defaults to `false`.
|
|
12
12
|
*/
|
|
13
13
|
function useReducedMotion() {
|
|
14
14
|
const [reduced, setReduced] = (0, _react.useState)(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","useReducedMotion","reduced","setReduced","useState","useEffect","mounted","AccessibilityInfo","isReduceMotionEnabled","then","value","catch","undefined","subscription","addEventListener","remove"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","useReducedMotion","reduced","setReduced","useState","useEffect","mounted","AccessibilityInfo","isReduceMotionEnabled","then","value","catch","undefined","subscription","addEventListener","remove"],"sourceRoot":"../../../src","sources":["hooks/useReducedMotion.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACO,SAASE,gBAAgBA,CAAA,EAAY;EAC3C,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAE7C,IAAAC,gBAAS,EAAC,MAAM;IACf,IAAIC,OAAO,GAAG,IAAI;IAClBC,8BAAiB,CAACC,qBAAqB,CAAC,CAAC,CACvCC,IAAI,CAAEC,KAAK,IAAK;MAChB,IAAIJ,OAAO,EAAEH,UAAU,CAACO,KAAK,CAAC;IAC/B,CAAC,CAAC,CACDC,KAAK,CAAC,MAAMC,SAAS,CAAC;IACxB,MAAMC,YAAY,GAAGN,8BAAiB,CAACO,gBAAgB,CAAC,qBAAqB,EAAEX,UAAU,CAAC;IAC1F,OAAO,MAAM;MACZG,OAAO,GAAG,KAAK;MACfO,YAAY,CAACE,MAAM,CAAC,CAAC;IACtB,CAAC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOb,OAAO;AACf","ignoreList":[]}
|
|
@@ -89,9 +89,9 @@ function Piece({
|
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
/**
|
|
93
|
-
* Full-screen, touch-through overlay that draws every `confetti()` burst and
|
|
94
|
-
* `confetti.collect()` flight. Mount it once, as the last child of your root view.
|
|
92
|
+
/**
|
|
93
|
+
* Full-screen, touch-through overlay that draws every `confetti()` burst and
|
|
94
|
+
* `confetti.collect()` flight. Mount it once, as the last child of your root view.
|
|
95
95
|
*/
|
|
96
96
|
function ParticleHost({
|
|
97
97
|
zIndex = DEFAULT_Z_INDEX
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_api","_coins","_engine","_useReducedMotion","_math","_jsxRuntime","DEFAULT_Z_INDEX","nativeStyle","frame","look","opacity","transform","translateX","x","width","translateY","y","height","rotate","rotation","scale","scaleX","skewX","applyFrame","node","setNativeProps","style","undefined","String","Piece","slot","onRef","ref","id","box","motion","frameOf","customCoin","useMemo","renderCoin","index","jsx","View","collapsable","styles","piece","children","appearance","Image","source","coinSource","COIN_IMAGES","coinType","resizeMode","fadeDuration","radius","shape","Math","max","backgroundColor","color","borderRadius","ParticleHost","zIndex","rerender","useReducer","n","offset","setOffset","useState","rootRef","useRef","nodes","Map","frameHandle","lastTimestamp","reducedMotion","useReducedMotion","useEffect","engine","setReducedMotion","tick","useCallback","timestamp","dt","computeDeltaSeconds","current","anyAlive","step","getSlots","get","requestAnimationFrame","clearIfIdle","Dimensions","attach","activeCount","cancelAnimationFrame","detach","onLayout","event","nativeEvent","layout","root","measureInWindow","setBounds","w","h","set","delete","pointerEvents","StyleSheet","absoluteFill","webFixed","elevation","canvas","left","top","map","Platform","OS","position","create"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_api","_coins","_engine","_useReducedMotion","_math","_jsxRuntime","DEFAULT_Z_INDEX","nativeStyle","frame","look","opacity","transform","translateX","x","width","translateY","y","height","rotate","rotation","scale","scaleX","skewX","applyFrame","node","setNativeProps","style","undefined","String","Piece","slot","onRef","ref","id","box","motion","frameOf","customCoin","useMemo","renderCoin","index","jsx","View","collapsable","styles","piece","children","appearance","Image","source","coinSource","COIN_IMAGES","coinType","resizeMode","fadeDuration","radius","shape","Math","max","backgroundColor","color","borderRadius","ParticleHost","zIndex","rerender","useReducer","n","offset","setOffset","useState","rootRef","useRef","nodes","Map","frameHandle","lastTimestamp","reducedMotion","useReducedMotion","useEffect","engine","setReducedMotion","tick","useCallback","timestamp","dt","computeDeltaSeconds","current","anyAlive","step","getSlots","get","requestAnimationFrame","clearIfIdle","Dimensions","attach","activeCount","cancelAnimationFrame","detach","onLayout","event","nativeEvent","layout","root","measureInWindow","setBounds","w","h","set","delete","pointerEvents","StyleSheet","absoluteFill","webFixed","elevation","canvas","left","top","map","Platform","OS","position","create"],"sourceRoot":"../../../src","sources":["host/ParticleHost.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_api","require","_coins","_constants","_useReducedMotion","_ParticleHost"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["_api","require","_coins","_constants","_useReducedMotion","_ParticleHost"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAUA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_math","_wobble","spawnCollectPieces","options","origin","target","dx","x","dy","y","distance","Math","hypot","normalX","normalY","size","appearance","COIN_SIZE","scalar","CONFETTI_WIDTH_RANGE","pieces","delayMs","i","particleCount","scatterAngle","randomInRange","PI","scatter","COLLECT_ORIGIN_SCATTER","startX","cos","startY","sin","bend","COLLECT_ARC_BEND","push","controlX","controlY","endX","endY","flightMs","max","COLLECT_FLIGHT_JITTER_MS","color","pickRandom","colors","shape","shapes","wobblePhase","wobbleSpeed","COLLECT_SPIN_RANGE","staggerMs","COLLECT_STAGGER_JITTER_MS","retargetCollectPiece","piece","sampleCollectPiece","elapsedMs","local","t","min","path","easeInOutCubic","inv","fade","COLLECT_FADE_START","spinSeconds","scale","lerp","COLLECT_START_SCALE","COLLECT_END_SCALE","easeInQuad","scaleX","computeWobbleScale","MIN_FLATNESS","opacity","done"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["_constants","require","_math","_wobble","spawnCollectPieces","options","origin","target","dx","x","dy","y","distance","Math","hypot","normalX","normalY","size","appearance","COIN_SIZE","scalar","CONFETTI_WIDTH_RANGE","pieces","delayMs","i","particleCount","scatterAngle","randomInRange","PI","scatter","COLLECT_ORIGIN_SCATTER","startX","cos","startY","sin","bend","COLLECT_ARC_BEND","push","controlX","controlY","endX","endY","flightMs","max","COLLECT_FLIGHT_JITTER_MS","color","pickRandom","colors","shape","shapes","wobblePhase","wobbleSpeed","COLLECT_SPIN_RANGE","staggerMs","COLLECT_STAGGER_JITTER_MS","retargetCollectPiece","piece","sampleCollectPiece","elapsedMs","local","t","min","path","easeInOutCubic","inv","fade","COLLECT_FADE_START","spinSeconds","scale","lerp","COLLECT_START_SCALE","COLLECT_END_SCALE","easeInQuad","scaleX","computeWobbleScale","MIN_FLATNESS","opacity","done"],"sourceRoot":"../../../src","sources":["physics/collect.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["applyDrag","velocity","drag","dt","Math","exp","applyDrag2D","vx","vy","dragDecay"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["applyDrag","velocity","drag","dt","Math","exp","applyDrag2D","vx","vy","dragDecay"],"sourceRoot":"../../../src","sources":["physics/drag.ts"],"mappings":";;;;;;;AAAA;AACO,SAASA,SAASA,CAACC,QAAgB,EAAEC,IAAY,EAAEC,EAAU,EAAU;EAC7E,OAAOF,QAAQ,GAAGG,IAAI,CAACC,GAAG,CAAC,CAACH,IAAI,GAAGC,EAAE,CAAC;AACvC;;AAEA;AACO,SAASG,WAAWA,CAC1BC,EAAU,EACVC,EAAU,EACVN,IAAY,EACZC,EAAU,EACmB;EAC7B,MAAMM,SAAS,GAAGL,IAAI,CAACC,GAAG,CAAC,CAACH,IAAI,GAAGC,EAAE,CAAC;EACtC,OAAO;IAAEI,EAAE,EAAEA,EAAE,GAAGE,SAAS;IAAED,EAAE,EAAEA,EAAE,GAAGC;EAAU,CAAC;AAClD","ignoreList":[]}
|