Compare commits

...

396 Commits

Author SHA1 Message Date
HayesGordon
439b413782 chore: release 4.18.6 2025-04-03 13:02:07 +00:00
CI
9ab4e378fc chore: bump rive web to 2.26.7 2025-04-03 14:58:32 +02:00
bodymovin
9061a93978 chore: release 4.18.5 2025-03-28 05:48:05 +00:00
Hernan Torrisi
88d1bc000c update to 2.26.6 2025-03-27 22:43:52 -07:00
bodymovin
9b1d3825f8 chore: release 4.18.4 2025-03-24 17:11:49 +00:00
Hernan Torrisi
277f4d7db0 update rive canvas to 2.26.5 2025-03-24 10:01:16 -07:00
bodymovin
e68ca963a9 chore: release 4.18.3 2025-02-28 01:37:00 +00:00
Hernan Torrisi
d820cdf6f1 update rive to 2.26.4 2025-02-27 17:31:48 -08:00
HayesGordon
c9a4dc0b5c chore: release 4.18.2 2025-02-17 11:19:33 +00:00
CI
19b58f5eb6 chore: update rive to 2.26.3 2025-02-17 12:14:25 +01:00
bodymovin
6263449898 chore: release 4.18.1 2025-02-15 01:07:50 +00:00
Hernan Torrisi
630f70a81d update rive to 2.26.2 2025-02-14 17:02:23 -08:00
bodymovin
bbd0d08fed chore: release 4.18.0 2025-02-11 20:20:14 +00:00
Hernan Torrisi
ef23793d26 update rive to 2.26.1 2025-02-11 11:49:47 -08:00
Hernan Torrisi
ca10584ed4 cleanup instance if use effect reruns and instance is not loaded 2025-02-04 07:43:18 -08:00
damzobridge
6fe765df84 chore: release 4.17.10 2025-01-27 23:34:24 +00:00
Chukwuma Okere
c62b80af09 chore: add React 19 support to package.json 2025-01-27 14:47:04 -08:00
bodymovin
777337c481 chore: release 4.17.9 2025-01-27 16:22:26 +00:00
Hernan Torrisi
da4b5978e7 update rive to 2.25.7 2025-01-27 08:17:38 -08:00
bodymovin
09c0d1f947 chore: release 4.17.8 2025-01-24 21:08:47 +00:00
Hernan Torrisi
0ca5933c41 update rive to 2.25.6 2025-01-24 13:03:56 -08:00
bodymovin
f272fd92f0 chore: release 4.17.7 2025-01-23 23:46:21 +00:00
CI
192a562764 chore: bump wasm to 2.25.5 2025-01-23 20:43:34 +02:00
bodymovin
224a768737 chore: release 4.17.6 2025-01-14 14:58:56 +00:00
Hernan Torrisi
c085bd5ea3 update rive to 2.25.4 2025-01-13 19:38:53 -08:00
bodymovin
bb13c71982 chore: release 4.17.5 2024-12-24 18:55:30 +00:00
Hernan Torrisi
779e06583c bump rive canvas to 2.25.3 2024-12-24 10:47:44 -08:00
bodymovin
e172e0f210 chore: release 4.17.4 2024-12-17 19:51:56 +00:00
Hernan Torrisi
abbcf14b70 rive canvas 2.25.2 2024-12-17 11:42:28 -08:00
bodymovin
a0885648ce chore: release 4.17.3 2024-12-13 04:18:27 +00:00
Hernan Torrisi
9f768bdd0c rive canvas 2.25.1 2024-12-12 20:09:59 -08:00
bodymovin
94c9a2a60b chore: release 4.17.2 2024-12-11 18:55:36 +00:00
Hernan Torrisi
dfe0d10936 rive canvas 2.25.0 2024-12-11 10:50:36 -08:00
bodymovin
d27eb7254d chore: release 4.17.1 2024-12-11 02:31:56 +00:00
Hernan Torrisi
c0b27bd018 rive canvas 2.24.1 2024-12-10 18:27:53 -08:00
bodymovin
739ac7c370 chore: release 4.17.0 2024-12-10 03:45:43 +00:00
Hernan Torrisi
b1b8040b4f bump rive canvas to 2.24.0 2024-12-09 19:40:57 -08:00
bodymovin
1f6ae83de3 chore: release 4.16.7 2024-11-27 23:26:32 +00:00
Hernan Torrisi
e5ff233c34 bump rive canvas to 2.23.11 2024-11-27 15:16:09 -08:00
lancesnider
64795564d8 chore: release 4.16.6 2024-11-22 16:22:19 +00:00
Lance
f0b32056a4 Bump rive canvas to 2.23.10 2024-11-22 08:12:52 -08:00
bodymovin
b5dc2fa8da chore: release 4.16.5 2024-11-21 15:08:14 +00:00
Hernan Torrisi
0108d425dd update rive canvas version 2024-11-21 07:04:03 -08:00
bodymovin
74a27143b4 chore: release 4.16.4 2024-11-15 20:29:44 +00:00
Hernan Torrisi
2cfb8a4955 bump rive canvas to 2.23.8 2024-11-15 11:53:45 -08:00
bodymovin
af6c3f84c6 chore: release 4.16.3 2024-11-14 17:10:05 +00:00
Hernan Torrisi
351d9966b1 bump rive canvas to 2.23.7 2024-11-14 09:01:19 -08:00
Hernan Torrisi
ba73cb7053 update react to 2.23.6 2024-11-13 10:01:41 -08:00
bodymovin
4a4f8a7151 chore: release 4.16.2 2024-11-12 18:32:33 +00:00
Hernan Torrisi
b5baef5ce7 updated rive canvas 2024-11-12 10:28:46 -08:00
bodymovin
79f80d39cd chore: release 4.16.1 2024-11-05 03:30:22 +00:00
Hernan Torrisi
e1ed8250e3 bump to canvas 2.23.4 2024-11-04 19:26:09 -08:00
HayesGordon
a40ba0dacc chore: release 4.16.0 2024-11-01 20:05:31 +00:00
CI
7ea9c8fbcb chore: bump again to make type check happy 2024-11-01 21:02:28 +01:00
CI
d4cef9a131 chore: bump js runtime again 2024-11-01 21:02:28 +01:00
CI
99489af287 chore: bump js and use public setters 2024-11-01 21:02:28 +01:00
CI
d881bb18c8 chore: bump to canvas 2.23.0 2024-11-01 21:02:28 +01:00
HayesGordon
2e461c66b3 chore: release 4.15.2 2024-10-30 21:24:23 +00:00
CI
bb078296d0 fix: account for scale factor in layout resizing 2024-10-30 22:20:53 +01:00
HayesGordon
f9bad8b62d chore: release 4.15.1 2024-10-30 21:01:51 +00:00
CI
e42f5e32d7 fix: only perform layout resizing if the Layout object exists 2024-10-30 21:58:08 +01:00
CI
83fa6635ec fix: additional layout configuration that react needs 2024-10-30 21:58:08 +01:00
HayesGordon
bdd4c84d8b chore: release 4.15.0 2024-10-30 17:27:37 +00:00
CI
414543d37d feat: responsive layouts! 2024-10-30 18:22:47 +01:00
bodymovin
119f7eea2a chore: release 4.14.6 2024-10-29 10:09:08 +00:00
Hernan Torrisi
92b0342882 rive canvas 2.21.7 2024-10-29 03:03:49 -07:00
bodymovin
38b0a1cc86 chore: release 4.14.5 2024-10-15 18:08:41 +00:00
Hernan Torrisi
2fd87e45e8 rive canvas 2.21.6 2024-10-15 11:00:46 -07:00
bodymovin
dc99fe27cc chore: release 4.14.4 2024-10-02 01:33:25 +00:00
Hernan Torrisi
2358c82626 update rive to 2.21.5 2024-10-01 18:29:22 -07:00
bodymovin
0475d47535 chore: release 4.14.3 2024-10-01 20:11:55 +00:00
Hernan Torrisi
f51e538479 update rive to 2.21.4 2024-10-01 12:38:55 -07:00
bodymovin
29fa6e76fb chore: release 4.14.2 2024-09-23 18:19:49 +00:00
Hernan Torrisi
2459c489bf bump rive canvas to 2.21.3 2024-09-23 11:07:00 -07:00
bodymovin
927dbc6b32 chore: release 4.14.1 2024-09-17 04:42:17 +00:00
Hernan Torrisi
8ebbfb164f bump rive canvas to 2.21.1 2024-09-16 21:38:59 -07:00
HayesGordon
388fd16b5b chore: release 4.14.0 2024-09-13 13:11:57 +00:00
Gordon Hayes
8c87bc0ab7 chore: bump rive canvas to 2.21.0 2024-09-13 14:56:12 +02:00
bodymovin
280b2ec4a4 chore: release 4.13.10 2024-09-12 10:28:35 +00:00
Hernan Torrisi
55a40c7d9f bump rive canvas to 2.20.2 2024-09-12 11:25:21 +01:00
bodymovin
d4e6243dbb chore: release 4.13.9 2024-09-10 13:40:20 +00:00
Hernan Torrisi
dc738d00a6 bump react canvas 2024-09-10 14:36:02 +01:00
Gordon Hayes
2ae22d6c30 docs: update links 2024-08-30 10:57:32 +02:00
bodymovin
4a3fc22261 chore: release 4.13.8 2024-08-21 19:46:57 +00:00
Hernan Torrisi
bdc734b90b update rive canvas 2024-08-21 14:40:37 -05:00
bodymovin
eeda717178 chore: release 4.13.7 2024-08-15 00:12:55 +00:00
Hernan Torrisi
178f04df61 update rive canvas to 2.19.8 2024-08-14 19:08:58 -05:00
bodymovin
ef11079784 chore: release 4.13.6 2024-08-09 17:54:12 +00:00
Hernan Torrisi
11f548b21c update rive canvas to 2.19.7 2024-08-09 12:44:25 -05:00
damzobridge
d0ff23c124 chore: release 4.13.5 2024-07-29 16:11:55 +00:00
Adam
a83f5a275a fix: add webgl2 package to dependencies 2024-07-25 14:00:47 -07:00
HayesGordon
b437230063 chore: release 4.13.4 2024-07-23 12:46:41 +00:00
Gordon Hayes
10912052f2 update rive version to 2.19.4 2024-07-23 13:11:36 +02:00
bodymovin
fe8265cd58 chore: release 4.13.3 2024-07-10 14:03:48 +00:00
Hernan Torrisi
5b458b76e5 update rive version to 2.19.3 2024-07-10 08:59:50 -05:00
bodymovin
1decbc7d85 chore: release 4.13.2 2024-07-05 23:51:13 +00:00
Hernan Torrisi
87627125f5 update rive version to 2.19.2 2024-07-05 18:31:00 -05:00
avivian
e823e9519f chore: release 4.13.1 2024-07-03 20:40:45 +00:00
Arthur Vivian
ac88187118 update rive version to 2.19.1 2024-07-03 21:35:30 +01:00
Adam
1897e823b9 fix: change initialization from play to load event 2024-07-02 10:16:07 -07:00
bodymovin
1a2e57a82c chore: release 4.13.0 2024-06-28 18:02:06 +00:00
Hernan Torrisi
0d16feeec1 update rive version to 2.19.0 2024-06-28 12:45:21 -05:00
damzobridge
ca48907649 chore: release 4.12.1 2024-06-25 23:06:05 +00:00
Adam
9b02c0f1bc fix: catch RiveFile initialization error in hook 2024-06-21 09:14:31 -07:00
HayesGordon
b25c775994 chore: release 4.12.0 2024-06-18 19:21:07 +00:00
Gordon Hayes
17811adac4 chore: bump rive web to 2.18.0 2024-06-18 21:15:11 +02:00
bodymovin
e4fcef529e chore: release 4.11.3 2024-06-08 03:56:42 +00:00
Hernan Torrisi
f51fe6ee2a update rive canvas to 2.17.3 2024-06-07 22:53:12 -05:00
bodymovin
0f558e66e1 chore: release 4.11.2 2024-06-07 01:10:59 +00:00
Hernan Torrisi
7a67fb14f7 bump rive 2024-06-06 20:06:49 -05:00
bodymovin
da3fc317ff chore: release 4.11.1 2024-06-06 18:08:51 +00:00
Hernan Torrisi
9b40a1a02e update rive version 2024-06-06 13:04:18 -05:00
Maxwell Talbot
aa92c01329 chore: release 4.11.0 2024-06-06 15:07:03 +01:00
Gordon Hayes
99a8a42a15 chore: bump web to v2.17.0 2024-06-06 10:24:12 +02:00
HayesGordon
f0ea7add89 chore: release 4.10.0 2024-05-28 08:45:14 +00:00
Hernan Torrisi
ac9f322ccb update comments 2024-05-27 20:19:23 -05:00
Hernan Torrisi
e1c2d108e9 add missing mocked methods 2024-05-27 20:19:23 -05:00
Hernan Torrisi
3aaee0bcf8 update canvas package version 2024-05-27 20:19:23 -05:00
Hernan Torrisi
e3739f1a1f request instance of rive file 2024-05-27 20:19:23 -05:00
Hernan Torrisi
0e0a2bd972 add status handling 2024-05-27 20:19:23 -05:00
Adam
5c47a411f2 test: update useRiveFile tests to check buffer changes 2024-05-27 20:19:23 -05:00
Adam
16dc257b2f feat: create useRiveFile hook 2024-05-27 20:19:23 -05:00
Hernan Torrisi
4678ea9ecf interpret undefined definition for shouldUseIntersectionObserver as true 2024-05-27 18:24:51 -05:00
Hernan Torrisi
d58963e29d edit hook description 2024-05-27 18:24:51 -05:00
Hernan Torrisi
c32433284a fix observer and use single instance 2024-05-27 18:24:51 -05:00
Hernan Torrisi
8bb5652df0 improve tests 2024-05-14 12:02:47 -05:00
Hernan Torrisi
9ecacf37fe fix tests 2024-05-14 12:02:47 -05:00
Hernan Torrisi
f837fbe0d4 WIP 2024-05-14 12:02:47 -05:00
Hernan Torrisi
8e181d6ae2 change hooks lifecycle to account for component reloading 2024-05-14 12:02:47 -05:00
mjtalbot
a3a41dca40 chore: release 4.9.5 2024-05-10 10:00:11 +00:00
Maxwell Talbot
b78c9715d7 bump canvas to 2.15.6 2024-05-10 10:51:08 +01:00
bodymovin
520e5bb51d chore: release 4.9.4 2024-05-09 00:49:46 +00:00
Hernan Torrisi
586ee4c002 bump version to 2.15.5 2024-05-08 19:46:15 -05:00
bodymovin
3d6c7ed499 chore: release 4.9.3 2024-05-08 17:09:41 +00:00
Hernan Torrisi
c3900b7845 bump version to 2.15.4 2024-05-08 12:05:23 -05:00
bodymovin
d369817113 chore: release 4.9.2 2024-04-30 20:06:06 +00:00
Hernan Torrisi
d68302ccb3 bump rive canvas to 2.15.2 2024-04-30 14:51:06 -05:00
bodymovin
bbd4cc7af6 chore: release 4.9.1 2024-04-30 16:46:29 +00:00
Hernan Torrisi
3936277f65 update to version 2.15.1 2024-04-30 11:37:50 -05:00
HayesGordon
aa2a783d1c chore: release 4.9.0 2024-04-24 14:04:19 +00:00
Gordon Hayes
d8d7d64749 chore: bump rive wasm to v2.15.0 2024-04-24 15:57:51 +02:00
mjtalbot
af3edad2c2 chore: release 4.8.10 2024-04-23 09:28:37 +00:00
Maxwell Talbot
5326f800f7 bump rive library dependencies to 2.14.4 2024-04-23 10:20:19 +01:00
mjtalbot
b44f9ad9e1 chore: release 4.8.9 2024-04-18 09:20:12 +00:00
Maxwell Talbot
b2495300b7 Bump rive js libraries to 2.14.3 2024-04-18 10:16:25 +01:00
mjtalbot
eb436263d7 chore: release 4.8.8 2024-04-17 16:24:43 +00:00
Maxwell Talbot
0e6385288e bump canvas and webgl to 2.14.2 2024-04-17 17:17:59 +01:00
bodymovin
78f75434fc chore: release 4.8.7 2024-04-11 19:04:48 +00:00
Hernan Torrisi
a9c2950419 bump react canvas to 2.14.1 2024-04-11 14:00:46 -05:00
avivian
e799f64554 chore: release 4.8.6 2024-04-09 08:54:46 +00:00
Arthur Vivian
95a1daa4ef Bump rive-canvas to 2.13.2 2024-04-09 09:51:08 +01:00
avivian
8a5b88c591 chore: release 4.8.5 2024-04-08 20:01:44 +00:00
Arthur Vivian
d3b29cf7d7 bump version to 2.13.0 2024-04-08 20:52:04 +01:00
bodymovin
611522b3e0 chore: release 4.8.4 2024-03-29 16:02:54 +00:00
Hernan Torrisi
89d35976d4 bump version to 2.12.0 2024-03-29 08:51:31 -07:00
Zach Plata
a7875b26a4 feat: add new webgl2 package for new Rive Renderer 2024-03-23 09:35:04 -06:00
Gordon
4653b8bea1 Update README.md 2024-03-12 09:00:09 +01:00
zplata
0d0688feb6 chore: release 4.8.3 2024-02-26 18:56:04 +00:00
Zach Plata
7a97c14c93 chore: bump rive-wasm to 2.10.3 for text bug fixes 2024-02-26 11:24:59 -06:00
zplata
cff787524d chore: release 4.8.2 2024-02-21 19:14:13 +00:00
Zach Plata
a34a588ee5 chore: bump rive-wasm to 2.10.2 for various dependency fixes 2024-02-21 12:50:24 -06:00
zplata
aa89f2a1ba chore: release 4.8.1 2024-02-09 17:21:53 +00:00
Zach Plata
39d275b3e0 chore: bump rive-wasm to 2.10.1 for text fix at c++ level 2024-02-09 11:12:10 -06:00
zplata
e22acf98ba chore: release 4.8.0 2024-02-06 17:12:52 +00:00
Zach Plata
2e52e35ddc chore: bump rive-wasm dependency to 2.10.0 2024-02-06 09:57:27 -06:00
zplata
f67cb244d2 chore: release 4.7.1 2024-01-09 20:41:52 +00:00
Zach Plata
c2319b8dea feat: add customDevicePixelRatio param from WASM for adjusting canvas size based on dpr 2024-01-09 14:13:01 -06:00
zplata
877e43e354 chore: release 4.7.0 2023-12-21 15:02:57 +00:00
Zach Plata
6a033a99d3 chore: bump rive-wasm to 2.9.0 for iOS check when creating offscreen webgl in c2d renderer 2023-12-21 08:59:58 -06:00
zplata
88f7558ddf chore: release 4.6.2 2023-12-15 23:30:03 +00:00
Zach Plata
cfe3a298fb chore: bump rive-wasm to 2.8.3 to reintroduce cleaning up of image textures 2023-12-15 17:26:22 -06:00
zplata
8e24185f3f chore: release 4.6.1 2023-12-15 19:26:43 +00:00
Zach Plata
5fad06d4bd chore: bump rive-wasm to 2.8.2 for additional proxy gl checks before rendering an image/mesh 2023-12-15 13:14:30 -06:00
zplata
df14bc383b chore: release 4.6.0 2023-12-15 04:33:10 +00:00
Zach Plata
b8dc1e5371 add webgl to 2.8.0 too 2023-12-14 22:27:17 -06:00
Zach Plata
1196dd4c4e chore: bump rive-wasm to 2.8.0 for GL as a proxy solution to checking lost context 2023-12-14 22:27:17 -06:00
zplata
06ceb3cdb0 chore: release 4.5.8 2023-12-15 02:07:25 +00:00
Zach Plata
acaa12f7fc revert wasm build to 2.7.7 for testing intermediate changes before 2.7.8 2023-12-14 20:03:07 -06:00
zplata
0acf384570 chore: release 4.5.7 2023-12-14 23:03:30 +00:00
Zach Plata
97a29acfdc chore: bump rive-wasm to 2.7.8 for texture deletion check 2023-12-14 17:00:15 -06:00
zplata
5eb5ccfdaa chore: release 4.5.6 2023-11-30 19:49:55 +00:00
Zach Plata
edcc2c1320 bump rive-wasm to 2.7.6 2023-11-30 13:47:04 -06:00
zplata
68d8ca44fa chore: release 4.5.5 2023-11-29 22:04:22 +00:00
Zach Plata
ee9b83d764 patch: bump wasm to 2.7.5 2023-11-29 16:01:24 -06:00
zplata
187066c2cb chore: release 4.5.4 2023-11-21 18:10:53 +00:00
Zach Plata
427d74d14f chore: bump rive-wasm to 2.7.4 for bone fixes 2023-11-21 12:07:37 -06:00
zplata
061377432e chore: release 4.5.3 2023-11-09 21:32:54 +00:00
Zach Plata
53d7548b15 patch: bump rive-wasm to 2.7.3 2023-11-09 15:29:14 -06:00
zplata
e1a4ca0058 chore: release 4.5.2 2023-11-08 21:18:12 +00:00
Zach Plata
83ebd6776d Tweak copy 2023-11-08 14:58:32 -06:00
Zach Plata
75dac6fe64 Add a react-canvas-lite package to build setup 2023-11-08 14:58:32 -06:00
zplata
e13c023933 chore: release 4.5.1 2023-11-08 19:43:58 +00:00
Zach Plata
95183ff8d5 Bump WASM dependency to 2.7.2 for nested input patch 2023-11-08 13:28:41 -06:00
HayesGordon
64416e0b4d chore: release 4.5.0 2023-10-26 11:15:57 +00:00
Gordon Hayes
1c6837bf92 chore: bump react to 4.5.0 2023-10-26 13:11:08 +02:00
bodymovin
15330ababe chore: release 4.4.0 2023-10-06 17:43:33 +00:00
Hernan Torrisi
af70b8150d bump rive-app versions to 2.5.0 2023-10-06 12:36:17 -04:00
zplata
a984e007f4 chore: release 4.3.4 2023-10-03 20:13:02 +00:00
Zach Plata
04d8e01f87 patch: bump rive-wasm to 2.4.4 2023-10-03 15:09:07 -05:00
zplata
44e46c5dee chore: release 4.3.3 2023-09-20 21:31:49 +00:00
Zach Plata
323e92e636 chore: bump wasm to 2.4.3 for url sanitization 2023-09-20 16:24:18 -05:00
zplata
a07fa02ed6 chore: release 4.3.2 2023-09-19 16:30:17 +00:00
Zach Plata
d710e1e4b2 chore: bump rive-wasm to 2.4.2 2023-09-19 11:25:50 -05:00
zplata
d35e9b2805 chore: release 4.3.1 2023-09-18 20:12:57 +00:00
Zach Plata
cf44463805 chore: bump rive-wasm to 2.4.1 for event updates 2023-09-18 15:05:39 -05:00
zplata
f59f44692a chore: release 4.3.0 2023-09-13 17:19:22 +00:00
Zach Plata
6ba68fab9e feature: Bump WASM dependency to support Rive Events 2023-09-13 09:49:44 -05:00
zplata
982addf163 chore: release 4.2.1 2023-09-07 01:35:06 +00:00
Zach Plata
dfd89c7691 chore: bump rive-wasm to 2.3.1 for mesh fix 2023-09-06 20:31:28 -05:00
luigi-rosso
0247a46c47 chore: release 4.2.0 2023-09-01 23:49:12 +00:00
Luigi Rosso
44626c7450 Updating rive wasm 2023-09-01 16:44:54 -07:00
zplata
c0eb7d689d chore: release 4.1.6 2023-08-26 02:09:57 +00:00
Zach Plata
ff7a6aa676 chore: bump rive-wasm for follow up solo fix 2023-08-25 21:06:07 -05:00
zplata
dc89439d84 chore: release 4.1.5 2023-08-25 18:27:52 +00:00
Zach Plata
7ebc10a4da chore: bump rive-wasm for follow path constraints on solos 2023-08-25 13:23:56 -05:00
zplata
e8e1a5bc08 chore: release 4.1.4 2023-08-14 14:23:58 +00:00
Zach Plata
1bb8885f22 chore: bump rive-wasm to 2.1.5 for follow path fix 2023-08-14 09:19:08 -05:00
zplata
00d13badcf chore: release 4.1.3 2023-08-10 22:48:49 +00:00
Zach Plata
b9ab7b83d2 chore: bump wasm to 2.1.3 2023-08-10 17:44:56 -05:00
zplata
e0f00174c8 chore: release 4.1.2 2023-08-05 16:29:45 +00:00
Zach Plata
200a86a6ba chore: bump rive-wasm to 2.1.2 2023-08-05 11:24:49 -05:00
zplata
26622596c8 chore: release 4.1.1 2023-08-03 13:44:49 +00:00
Zach Plata
ac789f0855 patch: bump rive-wasm to 2.1.1 2023-08-03 08:38:41 -05:00
zplata
6ecdc05aea chore: release 4.1.0 2023-07-31 19:07:05 +00:00
Slava Khanilo
f8aa50fa49 feature: expose RiveProps type from package 2023-07-31 13:52:14 -05:00
Zach Plata
b59bfdef84 feature: Add ability to get and set text via wasm runtime bump 2023-07-31 13:50:59 -05:00
luigi-rosso
948ded25f7 chore: release 4.0.0 2023-07-26 01:33:54 +00:00
Luigi Rosso
27f7f2b250 Bump to rive wasm 2.0.0 2023-07-25 18:29:22 -07:00
zplata
184ba2e110 chore: release 3.0.57 2023-07-25 20:18:00 +00:00
Zach Plata
f6d8db323b chore: remove dryrun from release it script 2023-07-25 15:11:10 -05:00
Gordon
301e58f390 docs: add awesome-rive 2023-07-25 14:57:42 -05:00
Zach Plata
4cce3067a7 chore: move to manual npm publish workflow 2023-07-25 14:52:52 -05:00
zplata
4496eff598 chore: release 3.0.56 2023-07-24 13:01:14 +00:00
Zach Plata
5e98586354 patch: bump rive-wasm for follow-path patch 2023-07-24 07:58:05 -05:00
zplata
f19295f9a5 chore: release 3.0.55 2023-07-19 14:04:30 +00:00
Zach Plata
70546308b4 feature: add onAdvance callback through wasm bump too 1.2.2 2023-07-19 09:01:24 -05:00
zplata
62a425f30e chore: release 3.0.54 2023-06-26 20:26:51 +00:00
Zach Plata
4a554dd1ad patch: Bump WASM runtimes for interpolation on states 2023-06-26 15:23:29 -05:00
zplata
3e6262f21f chore: release 3.0.53 2023-06-09 15:12:24 +00:00
Zach Plata
e57a99b2d1 Bump wasm to 1.2.0 2023-06-09 10:09:09 -05:00
zplata
8a968ec266 chore: release 3.0.52 2023-06-07 19:44:53 +00:00
Zach Plata
b5f00e5c97 fix: bump WASM to fix iterator over animatables 2023-06-07 14:41:46 -05:00
zplata
22e6dd3494 chore: release 3.0.51 2023-06-02 18:56:31 +00:00
Zach Plata
08b9f9a2aa Also export the container ref current element 2023-06-02 13:53:30 -05:00
Zach Plata
a24b910096 Update prop docs 2023-06-02 13:53:30 -05:00
Zach Plata
33760042d1 fix recursive useEffect call 2023-06-02 13:53:30 -05:00
Zach Plata
2c82fa04e7 Feature: Move canvas sizing logic into useResizeCanvas hook and clean up util hooks 2023-06-02 13:53:30 -05:00
zplata
2b249494d5 chore: release 3.0.50 2023-05-26 19:26:23 +00:00
Zach Plata
b56c17d48c feat: allow for children to be set inside the canvas for fallback content when canvas cannot be shown 2023-05-26 14:22:47 -05:00
zplata
a6fe08ced9 chore: release 3.0.49 2023-05-24 19:36:23 +00:00
Zach Plata
cd1e1410f4 add joystick support 2023-05-24 14:33:00 -05:00
zplata
353fbf8e9d chore: release 3.0.48 2023-05-18 21:37:38 +00:00
Zach Plata
ae05ad4375 feature: bump web runtime to support joysticks 2023-05-18 16:34:36 -05:00
zplata
ff8bbb084c chore: release 3.0.47 2023-05-12 21:16:59 +00:00
Zach Plata
89a6802fa0 patch: bump wasm to 1.1.6 for flicker fix 2023-05-12 16:14:04 -05:00
zplata
91025e6772 chore: release 3.0.46 2023-05-02 18:30:36 +00:00
Zach Plata
d3bc913bcf Add prop to the standalone Rive component 2023-05-02 13:27:38 -05:00
Zach Plata
ce56321e1d patch: bump rive-wasm to allow new parameter for disabling Rive listeners 2023-05-02 13:27:38 -05:00
caudetgit
4b6f5410fd chore: release 3.0.45 2023-04-19 20:21:31 +00:00
Chad Audet
6544874d3d Update add_to_project.yml
apply "triage" label, too
2023-04-19 13:18:24 -07:00
caudetgit
ed90c7f7c9 chore: release 3.0.44 2023-04-19 20:10:23 +00:00
Chad Audet
e06fdd1c8b Create add_to_project.yml
workflow that adds each new issue to the Runtime Issue Board
2023-04-19 13:07:28 -07:00
zplata
b8ffb6b53c chore: release 3.0.43 2023-04-14 15:52:47 +00:00
Zach Plata
2dc925ef70 patch: bump rive-wasm to take path fix 2023-04-14 10:49:40 -05:00
zplata
639de79c9e chore: release 3.0.42 2023-04-13 02:19:19 +00:00
Zach Plata
a9961c821a chore: bump rive-wasm to get solo patch 2023-04-12 21:16:29 -05:00
zplata
fc082d1a03 chore: release 3.0.41 2023-04-06 21:50:50 +00:00
Zach Plata
87fa1ae2a5 patch: bump wasm dependency for blend state enhancements 2023-04-06 16:48:11 -05:00
zplata
62490a50f9 chore: release 3.0.40 2023-04-05 20:47:45 +00:00
Zach Plata
fcc1a16df4 feature: Add support for touch and drag interactions on canvas 2023-04-05 15:44:36 -05:00
zplata
29e0ceb797 chore: release 3.0.39 2023-03-30 18:08:35 +00:00
Zach Plata
3e6a951ca1 fix: bump wasm dependency for clipping issue fix 2023-03-30 13:05:41 -05:00
zplata
04910f78f1 chore: release 3.0.38 2023-03-03 20:43:32 +00:00
Zach Plata
c2977c705c maint: bump wasm dependency for more speed on state updates 2023-03-03 14:40:24 -06:00
zplata
4e2137422b chore: release 3.0.37 2023-03-01 15:54:14 +00:00
Zach Plata
0696417926 maint: bump wasm dependency for more speed on state updates 2023-03-01 09:51:04 -06:00
zplata
f11a433365 chore: release 3.0.36 2023-02-22 19:03:57 +00:00
Zach Plata
48a4726d1f maint: bump wasm to support speed on states feature 2023-02-22 13:01:16 -06:00
Dillon Pentz
c927f24b5a Fix link to blog article 2023-01-18 14:44:57 -06:00
elVengador
3cbbf99fec Fix: matchMedia add event listener for safari 13 and older versions 2023-01-18 10:12:34 -06:00
zplata
03f05f57b7 chore: release 3.0.35 2023-01-17 20:15:23 +00:00
Zach Plata
8b483b807b fix: update rive-wasm to try patching slow burn memory leak 2023-01-17 14:12:39 -06:00
luigi-rosso
816fcfcdbc chore: release 3.0.34 2022-12-16 19:29:15 +00:00
Luigi Rosso
6c28a8795e Bumping rive-app/canvas & webgl versions. 2022-12-16 11:25:51 -08:00
zplata
6a57630ae6 chore: release 3.0.33 2022-11-08 20:15:00 +00:00
Zach Plata
acba24c4ed maint: bump wasm runtime and replace old skills rive file example 2022-11-08 14:10:33 -06:00
luigi-rosso
1e6eb5ec92 chore: release 3.0.32 2022-10-21 20:38:27 +00:00
Luigi Rosso
6871a81ebd Bumping to latest Rive WASM to fix https://2dimensions.slack.com/archives/CLLCU09T6/p1666370141425879 2022-10-21 13:35:28 -07:00
mjtalbot
33053b3b7f chore: release 3.0.31 2022-10-21 13:20:16 +00:00
Maxwell Talbot
4040083d5a bump runtimes to incorporate speed fix for state machines 2022-10-21 14:17:25 +01:00
avivian
2153b81e6b chore: release 3.0.30 2022-10-20 18:34:05 +00:00
Arthur Vivian
6b1500e681 Bump dependencies to fix call to runtime cleanup 2022-10-20 19:31:16 +01:00
avivian
503702cf1f chore: release 3.0.29 2022-10-20 17:06:43 +00:00
Arthur Vivian
7be20b0a87 Call cleanup on unmount 2022-10-20 18:03:30 +01:00
avivian
78491f5819 chore: release 3.0.28 2022-10-20 09:44:48 +00:00
Arthur Vivian
39edb88a19 Bump canvas and webgl dependencies to fix alignment memory leaks 2022-10-20 10:42:06 +01:00
zplata
fd1a1653b1 chore: release 3.0.27 2022-10-04 17:56:49 +00:00
Zach Plata
8d7f0ab28c Fix: Bump wasm to accomodate clipping bug on nested artboards 2022-10-04 12:53:17 -05:00
zplata
2a2e532564 chore: release 3.0.26 2022-09-22 17:15:22 +00:00
Zach Plata
2b1aa01a87 fix: Adjust canvas size if devicePixelRatio changes for any reaason 2022-09-22 12:12:32 -05:00
zplata
06c4e2aea3 chore: release 3.0.25 2022-09-21 14:23:55 +00:00
Zach Plata
819bd51ea9 patch: bump js runtime dependency to address content security policy issue in WASM build 2022-09-21 09:20:55 -05:00
zplata
6b7f113296 chore: release 3.0.24 2022-09-15 15:56:54 +00:00
Zach Plata
a62e9b3a9a add tests 2022-09-15 10:53:36 -05:00
Zach Plata
04685c0bcd fix: make a canvas of size 0 until we calculate the bounds appropriately 2022-09-15 10:53:36 -05:00
avivian
48fd9f9d80 chore: release 3.0.23 2022-08-31 10:27:17 +00:00
Arthur Vivian
3c578b730f Bump runtime version to fix broken version 2022-08-31 11:24:05 +01:00
avivian
7a46886133 chore: release 3.0.22 2022-08-30 17:09:24 +00:00
Arthur Vivian
092049d20f Update @rive-app/canvas and @rive-app/webgl dependencies to support non node builds 2022-08-30 18:06:18 +01:00
mjtalbot
f7aced03cd chore: release 3.0.21 2022-07-22 13:34:00 +00:00
Maxwell Talbot
eb07281415 rev rive-wasm dependencies & update render delay to be 0ms 2022-07-22 14:30:04 +01:00
mjtalbot
156b3bdfb5 chore: release 3.0.20 2022-07-22 12:56:26 +00:00
Maxwell Talbot
24d8e0a907 update tests 2022-07-22 13:52:42 +01:00
Maxwell Talbot
a1a155849a use window.settimeout and clear out some consts 2022-07-22 13:52:42 +01:00
Maxwell Talbot
59e67cec3d update name 2022-07-22 13:52:42 +01:00
Maxwell Talbot
84b18cc3dd ensure we re evaluate state machine inputs when we play is triggered, looks like there maybe additional situations where we are going to need this. 2022-07-22 13:52:42 +01:00
Maxwell Talbot
1092b44947 update resize behaviour to throttle, add parameters to enable switching modes 2022-07-22 13:52:42 +01:00
zplata
efe28aa5f3 chore: release 3.0.19 2022-07-19 23:48:34 +00:00
Zach Plata
16d836c959 fix tests that were automatically calling the rive load callback to be more controlled 2022-07-19 18:44:20 -05:00
Zach Plata
838ed1abf8 Fix: Add check before setting Rive as state variable on Rive instance load 2022-07-19 18:44:20 -05:00
mjtalbot
d010a55cc0 chore: release 3.0.18 2022-07-14 12:26:10 +00:00
Maxwell Talbot
fd1c00a995 update canvas dimensions to use clientWidth and Height as opposed to BoundingClient, to avoid getting scaled information 2022-07-14 13:22:12 +01:00
mjtalbot
45aec2db1c chore: release 3.0.17 2022-07-14 10:28:50 +00:00
Maxwell Talbot
62b3a1d8dc removed polyfill in favour of DIY appraoch to reduce package size 2022-07-14 11:24:55 +01:00
Maxwell Talbot
5be9d2f874 refactored the IE check into useSize 2022-07-14 11:24:55 +01:00
Maxwell Talbot
49a6b1de11 added additional linting 2022-07-14 11:24:55 +01:00
Zach Plata
ec61a6835d Fix useEffects so they're not in conditional statements 2022-07-14 11:24:55 +01:00
Zach Plata
ac29fa30a7 strip out storybook deploy workflow 2022-07-14 11:24:55 +01:00
Maxwell Talbot
e966316971 add resizeObserver to replace window listeners for all but IE 2022-07-14 11:24:55 +01:00
zplata
ae6efc14d4 chore: release 3.0.16 2022-07-12 20:54:19 +00:00
Zach Plata
8ce77f153c Adding more examples 2022-07-12 15:49:58 -05:00
Zach Plata
08638359bb Docs: Condense down README and add CONTRIBUTING guide 2022-07-12 15:49:58 -05:00
Zach Plata
7dbade4589 staged work 2022-07-12 15:49:58 -05:00
zplata
8175c4a4d4 chore: release 3.0.15 2022-06-28 14:41:23 +00:00
Zach Plata
795ee53340 Patch: Bump js runtime dependencies for nested artboard display patch 2022-06-28 09:37:52 -05:00
zplata
04353db432 chore: release 3.0.14 2022-06-28 01:26:01 +00:00
Zach Plata
1f0e511f6e Fix: Bump version because of race condition again 2022-06-27 20:22:16 -05:00
zplata
7aee5cfab4 Deploying to main from @ 3477afdef1 🚀 2022-06-27 23:51:09 +00:00
Zach Plata
3477afdef1 Fix: Intake JS runtime patches for starting animation frames 2022-06-27 18:48:51 -05:00
zplata
8b43a82c5f chore: release 3.0.12 2022-06-22 21:31:48 +00:00
Zach Plata
bd49e6a4ee Fix: Bump cpp to get nested artboard opacity fix and fill rule patch 2022-06-22 16:27:46 -05:00
Chris Dalton
1dbb9cd38d Bump @rive-app/canvas to take the fillRule bug fix
https://github.com/rive-app/rive/issues/3816
2022-06-22 13:37:27 -06:00
zplata
aee7407f79 chore: release 3.0.11 2022-06-22 17:01:51 +00:00
Zach Plata
b48de9db84 Docs: Code snippets update to use new React package structure 2022-06-22 11:58:30 -05:00
avivian
6772f166b7 chore: release 3.0.10 2022-06-20 10:13:49 +00:00
Arthur Vivian
3a0a959383 Maint: fix package version number to allow release 2022-06-20 11:09:52 +01:00
Arthur Vivian
314d7c19cc Maint: roll canvas and webgl dependencies to include updates for rounded corners 2022-06-20 10:54:41 +01:00
zplata
802648eda8 Deploying to main from @ 5ad5a957a6 🚀 2022-06-09 18:00:14 +00:00
Zach Plata
5ad5a957a6 Maint: Update docs for storybook link 2022-06-09 12:57:34 -05:00
zplata
414d6f895a chore: release 3.0.8 2022-06-09 16:00:03 +00:00
Zach Plata
38625a00c3 Maint: Add GH workflow for deploying storybook to Github Pages 2022-06-09 10:55:55 -05:00
zplata
bad688dfa3 chore: release 3.0.7 2022-06-08 14:51:07 +00:00
Zach Plata
ec230faa73 Feat: Move existing examples into Storybook and add documentation 2022-06-08 09:47:41 -05:00
zplata
90c6d1edb1 chore: release 3.0.6 2022-06-06 21:37:22 +00:00
Zach Plata
0480dc92c8 Maint: Roll canvas and webgl dependencies forward to support nested state machines 2022-06-06 16:35:08 -05:00
zplata
de24fa5641 chore: release 3.0.5 2022-05-26 19:54:00 +00:00
Zach Plata
1a49e89c33 Fix: A recent Bunchee patch version kind of breaks npm run build 2022-05-26 14:51:28 -05:00
Zach Plata
805afd5dff Maint: Bump wasm for another listener patch 2022-05-26 11:24:56 -05:00
Zach Plata
84d9730767 Feat: Add stateMachines param to the default Rive component 2022-05-25 10:27:13 -05:00
zplata
9abee34d12 chore: release 3.0.4 2022-05-23 21:24:05 +00:00
Zach Plata
12801b10cc Maint: Bump rive-wasm dependency for listener patches 2022-05-23 16:21:58 -05:00
zplata
da11387558 chore: release 3.0.3 2022-05-17 15:23:15 +00:00
Zach Plata
3902948a2e Feat: Bump wasm and add examples to support touch feature 2022-05-17 10:20:56 -05:00
zplata
21a17ed40e chore: release 3.0.2 2022-05-17 14:10:32 +00:00
Zach Plata
f0e70924ec Maint: Bump wasm dependencies 2022-05-17 09:08:25 -05:00
zplata
f4eccbe2ce chore: release 3.0.1 2022-04-26 19:25:32 +00:00
Zach Plata
83c81b49c5 Maint: Bump rive wasm to include fps counter API and take off major tag 2022-04-26 12:23:17 -07:00
avivian
5de40fad5b chore: release 3.0.0 2022-04-26 15:05:29 +00:00
Arthur Vivian
aab811b975 Fix animation playing with autoplay false when animation name passed 2022-04-26 16:03:06 +01:00
zplata
965507ac34 chore: release 2.0.0 2022-04-22 22:04:35 +00:00
Zach Plata
74b791ffa4 Fix: Authenticate registry before doing npm release dryrun 2022-04-22 15:02:27 -07:00
Zach Plata
2853851d52 Fix: Do npm install instead 2022-04-22 14:54:53 -07:00
Zach Plata
4f37bbdb76 fix up test 2022-04-22 14:48:17 -07:00
Zach Plata
39f1990eac Maint: Bump wasm dependencies and add major flags for the publish script 2022-04-22 14:48:17 -07:00
Zach Plata
bb7d3e4e6c Feat: Setup workflow to npm publish 2 new rive-react packages 2022-04-22 14:48:17 -07:00
Zach Plata
7f2bd76eb3 Fix up test 2022-04-22 14:48:17 -07:00
Zach Plata
5c0b9cd613 Breaking: Spread non-style props onto canvas element instead of containing div 2022-04-22 14:48:17 -07:00
Zach Plata
92dd811948 fix version compare function 2022-04-22 14:48:17 -07:00
Zach Plata
4429be44f2 Change rive-react-* references to be the shortened namespace-named convention 2022-04-22 14:48:17 -07:00
Zach Plata
9398e0d74e Update tests 2022-04-22 14:48:17 -07:00
Zach Plata
563dca3608 Move to using @rive-app/canvas as the backing renderer and update scripts accordingly. 2022-04-22 14:48:17 -07:00
Zach Plata
1da73aac05 Only run the publish job on PR merges to main 2022-04-22 14:48:17 -07:00
Zach Plata
5c4336b84f Update: Adding build scripts to prepare for split of rive-react into 2 package derivatives for canvas and webgl 2022-04-22 14:48:17 -07:00
zplata
6e72ed5271 chore: release 1.0.7 2022-04-20 15:28:24 +00:00
Zach Plata
464fa97c20 Maint: Allow peer dep React to use v18.0+ 2022-04-20 08:27:04 -07:00
zplata
ac01b7ec69 chore: release 1.0.6 2022-04-14 17:00:16 +00:00
Zach Plata
cd9baef250 Maint: Bump webgl dependency up to 1.0.39 2022-04-14 09:58:59 -07:00
zplata
3a2ed32856 chore: release 1.0.5 2022-04-11 17:04:44 +00:00
Zach Plata
d35f5b53c5 update readme 2022-04-11 10:03:36 -07:00
Zach Plata
73b57d0b81 Update readme 2022-04-11 10:03:36 -07:00
Zach Plata
0a18b522cc Feat: Add extra param to useStateMachineInput to set an initial value on the input when its loaded 2022-04-11 10:03:36 -07:00
avivian
5e34e13563 chore: release 1.0.4 2022-04-06 15:58:19 +00:00
Arthur Vivian
c3f138014d Add test for animations change on param update 2022-04-06 16:57:03 +01:00
Arthur Vivian
b13413ba8b Update animations on param change 2022-04-06 16:57:03 +01:00
zplata
881e38fe6a chore: release 1.0.3 2022-03-31 16:55:27 +00:00
Zach Plata
38c85624a7 Maint: Bump rive-cpp to help fix safari and performance issues 2022-03-31 09:54:16 -07:00
148 changed files with 4599 additions and 1357 deletions

View File

@@ -3,7 +3,11 @@ module.exports = {
browser: true,
es2021: true,
},
extends: ['plugin:react/recommended', 'prettier'],
extends: [
'plugin:react/recommended',
'prettier',
'plugin:storybook/recommended',
],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaFeatures: {
@@ -12,12 +16,19 @@ module.exports = {
ecmaVersion: 12,
sourceType: 'module',
},
plugins: ['@typescript-eslint', 'prettier'],
plugins: ['@typescript-eslint', 'prettier', 'react-hooks'],
rules: {
'@typescript-eslint/no-unused-vars': 'error',
'prefer-const': ['warn', { destructuring: 'all' }],
'prefer-const': [
'warn',
{
destructuring: 'all',
},
],
'no-var': 'error',
eqeqeq: ['error', 'smart'],
'react-hooks/rules-of-hooks': 'error', // Checks rules of Hooks
'react-hooks/exhaustive-deps': 'off', // Checks effect dependencies
},
settings: {
react: {

26
.github/workflows/add_to_project.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: Adds all new issues to project board
on:
issues:
types:
- opened
jobs:
add-to-project:
name: Add issue to project
runs-on: ubuntu-latest
steps:
- uses: actions/add-to-project@v0.5.0
with:
project-url: https://github.com/orgs/rive-app/projects/12/views/1
github-token: ${{ secrets.ADD_TO_PROJECT_ACTION }}
- uses: actions/github-script@v6
with:
script: |
github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ["triage"]
})

View File

@@ -1,14 +1,28 @@
name: Publish to NPM
on:
pull_request:
types: [closed]
branches:
- main
workflow_dispatch:
inputs:
major:
description: 'Major'
type: boolean
default: false
minor:
description: 'Minor'
type: boolean
default: false
jobs:
merge_job:
publish_job:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Git config
run: |
git config --local user.email 'hello@rive.app'
git config --local user.name ${{ github.actor }}
- name: Authenticate with registry
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
- uses: actions/setup-node@v2
with:
node-version: '16.x'
@@ -21,15 +35,24 @@ jobs:
run: npm run lint
- name: Run Tests
run: npm test
- name: Build
run: npm run build
- name: Git config
run: |
git config --local user.email 'hello@rive.app'
git config --local user.name ${{ github.actor }}
- name: Authenticate with registry
run: npm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }}
- name: Release
- if: ${{ inputs.major == true }}
name: Major Release - Bump version number, update changelog, push and tag
run: npm run release:major
env:
GITHUB_TOKEN: ${{ secrets.REPO_TOKEN }}
run: npm run release
PAT_GITHUB: ${{ secrets.PAT_GITHUB }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- if: ${{inputs.major == false && inputs.minor == true}}
name: Minor release - Bump version number, update changelog, push and tag
run: npm run release:minor
env:
GITHUB_TOKEN: ${{ secrets.REPO_TOKEN }}
PAT_GITHUB: ${{ secrets.PAT_GITHUB }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- if: ${{inputs.major == false && inputs.minor == false}}
name: Patch release - Bump version number, update changelog, push and tag
run: npm run release:patch
env:
GITHUB_TOKEN: ${{ secrets.REPO_TOKEN }}
PAT_GITHUB: ${{ secrets.PAT_GITHUB }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

30
.github/workflows/storybook.yml vendored Normal file
View File

@@ -0,0 +1,30 @@
name: Deploy Storybook
on:
# Testing to see if this job is causing the race condition
workflow_dispatch:
# pull_request:
# types: [closed]
# branches:
# - main
# paths: ['src', 'examples/stories/**'] # Trigger the action only when files change in the folders defined here
jobs:
build-and-deploy:
runs-on: ubuntu-latest
if: github.event.pull_request.merged == true
steps:
- name: Checkout 🛎️
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Install and Build 🔧
run: | # Install npm packages and build the Storybook files
npm install
npm run build-storybook
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@3.6.2
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: main # The branch the action should deploy to.
FOLDER: docs-build # The folder that the build-storybook script generates files.
CLEAN: true # Automatically remove deleted files from the deploy branch
TARGET_FOLDER: docs # The folder that we serve our Storybook files from

View File

@@ -1,5 +1,7 @@
{
"git": {
"addUntrackedFiles": true,
"requireCleanWorkingDir": false,
"commitMessage": "chore: release ${version}",
"tagName": "v${version}",
"changelog": "npx auto-changelog --stdout --commit-limit false --unreleased --template https://raw.githubusercontent.com/release-it/release-it/master/templates/changelog-compact.hbs"
@@ -12,6 +14,12 @@
"releaseName": "${version}"
},
"hooks": {
"after:bump": ["npx auto-changelog -p", "git add ./CHANGELOG.md"]
"after:version:bump": [
"npm run build",
"npm run setup-builds",
"npm run setup-packages",
"npx auto-changelog -p",
"npm run publish:all"
]
}
}

13
.storybook/main.js Normal file
View File

@@ -0,0 +1,13 @@
module.exports = {
"stories": [
"../examples/stories/*.stories.mdx",
"../examples/stories/*.stories.@(js|jsx|ts|tsx)"
],
"addons": [
"@storybook/addon-links",
"@storybook/addon-essentials",
"@storybook/addon-interactions"
],
"framework": "@storybook/react",
staticDirs: ['../examples/stories/assets'],
}

View File

@@ -0,0 +1,17 @@
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
rel="stylesheet"
data-href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&amp;display=swap"
/>
<link
rel="stylesheet"
data-href="https://fonts.googleapis.com/css2?family=Roboto+Mono&amp;display=swap"
/>
<style>
body {
font-family: 'Roboto', sans-serif;
font-size: 16px;
}
</style>

39
.storybook/preview.js Normal file
View File

@@ -0,0 +1,39 @@
export const parameters = {
actions: { argTypesRegex: "^on[A-Z].*" },
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/,
},
},
options: {
storySort: {
method: 'alphabetical',
order: ['Overview', 'Playback Controls', 'State Machines'],
},
},
viewMode: 'docs',
};
// The below function helps to default to the docs page, which contains all the documentation and examples
function clickDocsButtonOnFirstLoad() {
window.removeEventListener("load", clickDocsButtonOnFirstLoad);
try {
const docsButtonSelector = window.parent.document.evaluate(
"//button[contains(., 'Docs')]",
window.parent.document,
null,
XPathResult.ANY_TYPE,
null
);
const button = docsButtonSelector.iterateNext();
button.click();
} catch (error) {
// Do nothing if it wasn't able to click on Docs button.
}
}
window.addEventListener("load", clickDocsButtonOnFirstLoad);

View File

File diff suppressed because it is too large Load Diff

74
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,74 @@
# Contributing
We love contributions! If you want to run the project locally to test out changes, run the examples, or just see how things work under the hood, read on below.
## Local development
This runtime consumes specific tied-down versions of the [JS/WASM runtime](https://github.com/rive-app/rive-wasm) to have better control over changes that occur in that downstream runtime.
### Installation
1. Clone the project down
2. Run `npm i` in the shell/terminal at the base of the project to install the dependencies needed for the project
### Local dev server
To start the local dev server to reflect any changes made to the core `src/` files, run the following in a terminal tab:
```
npm run dev
```
### Running the example storybook locally
We use Storybook to deploy our examples out onto a public-facing page for folks to view and see code examples for. It also serves as the place we'll include any example suites. These story files are stored in `examples/**.stories.mdx`. `.mdx` is an extension Storybook supports to support both `jsx` (React files) and `md` (markdown) in one file.
To run Storybook, run the following command in the terminal:
```
npm run storybook
```
Any changes made in any files should reflect automatically, including the `.mdx` example files, and `src/` files.
### Testing
We also have a suite of unit tests against the high-level component and various hooks exported in the `test/` folder. When adding new components, changing the API, or underlying functionality, make sure to add a test here!
To run the test suite:
```
npm test
```
## Making changes
When you're ready to make changes, push up to a feature branch off of the `main` branch. Create a pull request to this repository in Github. When creating commit messages, please be as descriptive as possible to the changes being made.
For example, if the change is simply a bug fix or patch change:
```
git commit -m "Fix: Fixing a return type from useRive"
```
Or if it's simply a docs change:
```
git commit -m "Docs: Adding a new link for another example page"
```
For minor/major version releases, also ensure you preface commit messages with:
```
git commit -m "Major: Restructuring the useRive API with new parameters"
```
These messages help make the changelog clear as to what changes are made for future devs to see.
When pull requests are merged, the runtime will automatically deploy the next release version. By default, patch versions are published. If you want to set the next version as a minor/major version to be released, you have to manually update the `package.json` file at the root of the project to the verison you want it to.
You can find the deploy scripts in `.github/`
## Bumping the underlying JS/WASM runtime
Many times, fixes to the runtime and feature adds come from the underlying JS/WASM runtime. In these cases, just bump the `@rive-app/canvas` and `@rive-app/webgl` versions to the verison you need to incorporate the fix/feature. Run `npm i` and test out the change locally against the Storybook examples and run the test suite to make sure nothing breaks, and then submit a PR with just the `package.json` change if that's all that's needed.

208
README.md
View File

@@ -1,179 +1,79 @@
![Build Status](https://github.com/rive-app/rive-react/actions/workflows/tests.yml/badge.svg)
[![Storybook](https://cdn.jsdelivr.net/gh/storybookjs/brand@main/badge/badge-storybook.svg)](https://rive-app.github.io/rive-react)
![Discord badge](https://img.shields.io/discord/532365473602600965)
![Twitter handle](https://img.shields.io/twitter/follow/rive_app.svg?style=social&label=Follow)
# Rive React
React Runtime for [Rive](https://rive.app).
![Rive hero image](https://cdn.rive.app/rive_logo_dark_bg.png)
A wrapper around [Rive.js](https://github.com/rive-app/rive-wasm), providing full control over the js runtime while making it super simple to use in React applications.
A React runtime library for [Rive](https://rive.app).
Detailed runtime documentation can be found in [Rive's help center](https://help.rive.app/runtimes).
This library is a wrapper around the [JS/Wasm runtime](https://github.com/rive-app/rive-wasm), giving full control over the js runtime while providing components and hooks for React applications.
## Create and ship interactive animations to any platform
## Table of contents
[Rive](https://rive.app) is a real-time interactive design and animation tool. Use our collaborative editor to create motion graphics that respond to different states and user inputs. Then load your animations into apps, games, and websites with our lightweight open-source runtimes.
- :star: [Rive Overview](#rive-overview)
- 🚀 [Getting Started & API docs](#getting-started)
- :mag: [Supported Versions](#supported-versions)
- :books: [Examples](#examples)
- :runner: [Migration Guides](#migration-guides)
- 👨‍💻 [Contributing](#contributing)
- :question: [Issues](#issues)
## Installation
## Rive overview
```
npm i --save rive-react
```
[Rive](https://rive.app) is a real-time interactive design and animation tool that helps teams create and run interactive animations anywhere. Designers and developers use our collaborative editor to create motion graphics that respond to different states and user inputs. Our lightweight open-source runtime libraries allow them to load their animations into apps, games, and websites.
_Note: This library is using React hooks so the minimum version required for both react and react-dom is 16.8.0._
:house_with_garden: [Homepage](https://rive.app/)
### Migrating from v 0.0.x to 1.x.x
:blue_book: [General help docs](https://rive.app/community/doc/)
Starting in v 1.0.0, we've migrated from wrapping around the `@rive-app/canvas` runtime (which uses the `CanvasRendereringContext2D` renderer) to the `@rive-app/webgl` runtime (which uses the WebGL renderer). The high-level API doesn't require any change to upgrade, but there are some notes to consider about the backing renderer.
🛠 [Rive Forums](https://rive.app/community/forums/home)
The backing `WebGL` runtime allows for best performance across all devices, as well as support for some features that are not supported in the `canvas` renderer runtime. To allow the `react` runtime to support some of the newer features in Rive, we needed to switch the `rive-react` backing runtime to `@rive-app/webgl`.
## Getting started
One note about this switch is that some browsers may limit the number of concurrent WebGL contexts. For example, Chrome may only support up to 16 contexts concurrently. We pass a property called `useOffscreenRenderer` set to true to the backing runtime when instantiating Rive by default, which helps to manage the lifecycle of the `canvas` with a single offscreen `WebGL` context, even if there are many Rive animations on the screen (i.e 16+). If you need a single `WebGL` context per Rive animation/instance, pass in the `useOffscreenRenderer` property set to `false` in the `useRive` options, or as a prop in the default export component from this runtime. See below for an example:
Follow along with the link below for a quick start in getting Rive React integrated into your React apps.
```js
const {rive, RiveComponent} = useRive({
src: 'foo.riv',
}, {
// Default (you don't need to set this)
useOffscreenRenderer: true,
// To override and use one context per Rive instance, uncomment and use the line below
// useOffscreenRenderer: false,
});
- [Getting Started with Rive in React](https://rive.app/community/doc/react/docRfaSQ0eaE)
- [API documentation](https://rive.app/community/doc/parameters-and-return-values/docJlDMNulDh)
// or you can override the flag in JSX via props
return (
<Rive src="foo.riv" useOffscreenRenderer={false} />
);
```
For more information, see the Runtime sections of the Rive help documentation:
## Usage
- [Animation Playback](https://rive.app/community/doc/animation-playback/docDKKxsr7ko)
- [Layout](https://rive.app/community/doc/layout/docBl81zd1GB)
- [State Machines](https://rive.app/community/doc/state-machines/docxeznG7iiK)
- [Rive Text](https://rive.app/community/doc/text/docn2E6y1lXo)
- [Rive Events](https://rive.app/community/doc/rive-events/docbOnaeffgr)
- [Loading Assets](https://rive.app/community/doc/loading-assets/doct4wVHGPgC)
### Component
## Supported versions
Rive React provides a basic component as it's default import for displaying simple animations.
```js
import Rive from 'rive-react';
function Example() {
return <Rive src="loader.riv" />;
}
export default Example;
```
#### Props
- `src`: File path or URL to the .riv file to display.
- `artboard`: _(optional)_ Name to display.
- `animations`: _(optional)_ Name or list of names of animtions to play.
- `layout`: _(optional)_ Layout object to define how animations are displayed on the canvas. See [Rive.js](https://github.com/rive-app/rive-wasm#layout) for more details.
- _All attributes and eventHandlers that can be passed to a `div` element can also be passed to the `Rive` component and used in the same manner._
### useRive Hook
For more advanced usage, the `useRive` hook is provided. The hook will return a component and a [Rive.js](https://github.com/rive-app/rive-wasm) `Rive` object which gives you control of the current rive file.
```js
import { useRive } from 'rive-react';
function Example() {
const params = {
src: 'loader.riv',
autoplay: false,
};
const { RiveComponent, rive } = useRive(params);
return (
<RiveComponent
onMouseEnter={() => rive && rive.play()}
onMouseLeave={() => rive && rive.pause()}
/>
);
}
export default Example;
```
#### Parameters
- `riveParams`: Set of parameters that are passed to the Rive.js `Rive` class constructor. `null` and `undefined` can be passed to conditionally display the .riv file.
- `opts`: Rive React specific options.
#### Return Values
- `RiveComponent`: A Component that can be used to display your .riv file. This component accepts the same attributes and event handlers as a `div` element.
- `rive`: A Rive.js `Rive` object. This will return as null until the .riv file has fully loaded.
- `canvas`: HTMLCanvasElement object, on which the .riv file is rendering.
- `setCanvasRef`: A callback ref that can be passed to your own canvas element, if you wish to have control over the rendering of the Canvas element.
- `setContainerRef`: A callback ref that can be passed to a container element that wraps the canvas element, if you which to have control over the rendering of the container element.
_For the vast majority of use cases, you can just the returned `RiveComponent` and don't need to worry about `setCanvasRef` and `setContainerRef`._
#### riveParams
- `src?`: _(optional)_ File path or URL to the .riv file to use. One of `src` or `buffer` must be provided.
- `buffer?`: _(optional)_ ArrayBuffer containing the raw bytes from a .riv file. One of `src` or `buffer` must be provided.
- `artboard?`: _(optional)_ Name of the artboard to use.
- `animations?`: _(optional)_ Name or list of names of animations to play.
- `stateMachines?`: _(optional)_ Name of list of names of state machines to load.
- `layout?`: _(optional)_ Layout object to define how animations are displayed on the canvas. See [Rive.js](https://github.com/rive-app/rive-wasm#layout) for more details.
- `autoplay?`: _(optional)_ If `true`, the animation will automatically start playing when loaded. Defaults to false.
- `onLoad?`: _(optional)_ Callback that get's fired when the .rive file loads .
- `onLoadError?`: _(optional)_ Callback that get's fired when an error occurs loading the .riv file.
- `onPlay?`: _(optional)_ Callback that get's fired when the animation starts playing.
- `onPause?`: _(optional)_ Callback that get's fired when the animation pauses.
- `onStop?`: _(optional)_ Callback that get's fired when the animation stops playing.
- `onLoop?`: _(optional)_ Callback that get's fired when the animation completes a loop.
- `onStateChange?`: _(optional)_ Callback that get's fired when a state change occurs.
#### opts
- `useDevicePixelRatio`: _(optional)_ If `true`, the hook will scale the resolution of the animation based the [devicePixelRatio](https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio). Defaults to `true`. NOTE: Requires the `setContainerRef` ref callback to be passed to a element wrapping a canvas element. If you use the `RiveComponent`, then this will happen automatically.
- `fitCanvasToArtboardHeight`: _(optional)_ If `true`, then the canvas will resize based on the height of the artboard. Defaults to `false`.
- `useOffscreenRenderer`: _(optional)_ If `true`, the Rive instance will share (or create if one does not exist) an offscreen `WebGL` context. This allows you to display multiple Rive animations on one screen to work around some browser limitations regarding multiple concurrent WebGL contexts. If `false`, each Rive instance will have its own dedicated `WebGL` context, and you may need to be cautious of the browser limitations just mentioned. Defaults to `true`.
### useStateMachineInput Hook
The `useStateMachineInput` hook is provided to make it easier to interact with state machine inputs on a rive file.
```js
import { useRive, useStateMachineInput } from 'rive-react';
function Example() {
const STATE_MACHINE_NAME = 'button';
const INPUT_NAME = 'onClick';
const { RiveComponent, rive } = useRive({
src: 'button.riv',
stateMachines: STATE_MACHINE_NAME,
autoplay: true,
});
const onClickInput = useStateMachineInput(
rive,
STATE_MACHINE_NAME,
INPUT_NAME
);
// This example is using a state machine with a trigger input.
return <RiveComponent onClick={() => onClickInput.fire()} />;
}
export default Example;
```
See our [examples](examples) folder for working examples of [Boolean](examples/state-machine-boolean-input) and [Number](examples/state-machine-number-input) inputs.
#### Parameters
- `rive`: A `Rive` object. This is returned by the `useRive` hook.
- `stateMachineName`: Name of the state machine.
- `inputName`: Name of the state machine input.
#### Return Value
A Rive.js `stateMachineInput` object.
This library supports React versions `^16.8.0` through `^18.0.0`.
## Examples
The [examples](examples) shows a number of different ways to use Rive React. See the instructions for each example to run locally.
Check out our Storybook instance that shows how to use the library in small examples, along with code snippets! This includes examples using the basic component, as well as the convenient hooks exported to take advantage of state machines.
- [Example page](https://rive-app.github.io/rive-react)
- [Login screen w/ input tracking](https://rive-app.github.io/rive-use-cases/?path=/story/example-loginformcomponent--primary)
- [Mouse tracking](https://codesandbox.io/s/rive-mouse-track-test-t0y965?file=/src/App.js)
- [Accessibility concerns](https://rive.app/blog/accesible-web-animations-aria-live-regions)
### Awesome Rive
For even more examples and resources on using Rive at runtime or in other tools, checkout the [awesome-rive](https://github.com/rive-app/awesome-rive) repo.
## Migration guides
Using an older version of the runtime and need to learn how to upgrade to the latest version? Check out the migration guides below in our help center that help guide you through version bumps; breaking changes and all!
[Migration guides](https://rive.app/community/doc/migrating-from-v3-to-v4/dociIPXVHKFF)
## Contributing
We love contributions! Check out our [contributing docs](./CONTRIBUTING.md) to get more details into how to run this project, the examples, and more all locally.
## Issues
Have an issue with using the runtime, or want to suggest a feature/API to help make your development life better? Log an issue in our [issues](https://github.com/rive-app/rive-react/issues) tab! You can also browse older issues and discussion threads there to see solutions that may have worked for common problems.

View File

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,8 @@
/**
* Prism: Lightweight, robust, elegant syntax highlighting
*
* @license MIT <https://opensource.org/licenses/MIT>
* @author Lea Verou <https://lea.verou.me>
* @namespace
* @public
*/

View File

@@ -0,0 +1 @@
{"version":3,"file":"0.233bd6e2.iframe.bundle.js","sources":[],"mappings":";A","sourceRoot":""}

View File

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,8 @@
/**
* Prism: Lightweight, robust, elegant syntax highlighting
*
* @license MIT <https://opensource.org/licenses/MIT>
* @author Lea Verou <https://lea.verou.me>
* @namespace
* @public
*/

View File

File diff suppressed because one or more lines are too long

View File

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{"./node_modules/@storybook/preview-web/dist/esm/renderDocs.js":function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"renderDocs",(function(){return renderDocs})),__webpack_require__.d(__webpack_exports__,"unmountDocs",(function(){return unmountDocs}));__webpack_require__("./node_modules/regenerator-runtime/runtime.js"),__webpack_require__("./node_modules/core-js/modules/es.object.to-string.js"),__webpack_require__("./node_modules/core-js/modules/es.promise.js");var react=__webpack_require__("./node_modules/react/index.js"),react_default=__webpack_require__.n(react),react_dom=__webpack_require__("./node_modules/react-dom/index.js"),react_dom_default=__webpack_require__.n(react_dom),wrapper={fontSize:"14px",letterSpacing:"0.2px",margin:"10px 0"},main={margin:"auto",padding:30,borderRadius:10,background:"rgba(0,0,0,0.03)"},heading={textAlign:"center"},NoDocs_NoDocs=function NoDocs(){return react_default.a.createElement("div",{style:wrapper,className:"sb-nodocs sb-wrapper"},react_default.a.createElement("div",{style:main},react_default.a.createElement("h1",{style:heading},"No Docs"),react_default.a.createElement("p",null,"Sorry, but there are no docs for the selected story. To add them, set the story's ",react_default.a.createElement("code",null,"docs")," parameter. If you think this is an error:"),react_default.a.createElement("ul",null,react_default.a.createElement("li",null,"Please check the story definition."),react_default.a.createElement("li",null,"Please check the Storybook config."),react_default.a.createElement("li",null,"Try reloading the page.")),react_default.a.createElement("p",null,"If the problem persists, check the browser console, or the terminal you've run Storybook from.")))};function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)}))}}function renderDocs(story,docsContext,element,callback){return function renderDocsAsync(_x,_x2,_x3){return _renderDocsAsync.apply(this,arguments)}(story,docsContext,element).then(callback)}function _renderDocsAsync(){return(_renderDocsAsync=_asyncToGenerator(regeneratorRuntime.mark((function _callee(story,docsContext,element){var _docs$getContainer,_docs$getPage,docs,DocsContainer,Page,docsElement;return regeneratorRuntime.wrap((function _callee$(_context){for(;;)switch(_context.prev=_context.next){case 0:if(!(null!=(docs=story.parameters.docs)&&docs.getPage||null!=docs&&docs.page)||(null!=docs&&docs.getContainer||null!=docs&&docs.container)){_context.next=3;break}throw new Error("No `docs.container` set, did you run `addon-docs/preset`?");case 3:if(_context.t1=docs.container,_context.t1){_context.next=8;break}return _context.next=7,null===(_docs$getContainer=docs.getContainer)||void 0===_docs$getContainer?void 0:_docs$getContainer.call(docs);case 7:_context.t1=_context.sent;case 8:if(_context.t0=_context.t1,_context.t0){_context.next=11;break}_context.t0=function(_ref){var children=_ref.children;return react_default.a.createElement(react_default.a.Fragment,null,children)};case 11:if(DocsContainer=_context.t0,_context.t3=docs.page,_context.t3){_context.next=17;break}return _context.next=16,null===(_docs$getPage=docs.getPage)||void 0===_docs$getPage?void 0:_docs$getPage.call(docs);case 16:_context.t3=_context.sent;case 17:if(_context.t2=_context.t3,_context.t2){_context.next=20;break}_context.t2=NoDocs_NoDocs;case 20:return Page=_context.t2,docsElement=react_default.a.createElement(DocsContainer,{key:story.componentId,context:docsContext},react_default.a.createElement(Page,null)),_context.next=24,new Promise((function(resolve){react_dom_default.a.render(docsElement,element,resolve)}));case 24:case"end":return _context.stop()}}),_callee)})))).apply(this,arguments)}function unmountDocs(element){react_dom_default.a.unmountComponentAtNode(element)}NoDocs_NoDocs.displayName="NoDocs"}}]);

View File

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,31 @@
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/

View File

File diff suppressed because one or more lines are too long

View File

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,31 @@
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/

View File

@@ -0,0 +1 @@
{"version":3,"file":"6.e2fef599.iframe.bundle.js","sources":[],"mappings":";A","sourceRoot":""}

View File

File diff suppressed because one or more lines are too long

View File

File diff suppressed because one or more lines are too long

View File

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,12 @@
/*!
* OverlayScrollbars
* https://github.com/KingSora/OverlayScrollbars
*
* Version: 1.13.0
*
* Copyright KingSora | Rene Haas.
* https://github.com/KingSora
*
* Released under the MIT license.
* Date: 02.08.2020
*/

View File

File diff suppressed because one or more lines are too long

View File

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,12 @@
/*!
* OverlayScrollbars
* https://github.com/KingSora/OverlayScrollbars
*
* Version: 1.13.0
*
* Copyright KingSora | Rene Haas.
* https://github.com/KingSora
*
* Released under the MIT license.
* Date: 02.08.2020
*/

View File

@@ -0,0 +1 @@
{"version":3,"file":"9.1e553722.iframe.bundle.js","sources":[],"mappings":";A","sourceRoot":""}

View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{931:function(module,exports){module.exports=function(e,n){return n=n||{},new Promise((function(t,r){var s=new XMLHttpRequest,o=[],u=[],i={},a=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(s.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var l in s.open(n.method||"get",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,n,t){o.push(n=n.toLowerCase()),u.push([n,t]),i[n]=i[n]?i[n]+","+t:t})),t(a())},s.onerror=r,s.withCredentials="include"==n.credentials,n.headers)s.setRequestHeader(l,n.headers[l]);s.send(n.body||null)}))}}}]);

BIN
docs/baseball.riv Normal file
View File

Binary file not shown.

BIN
docs/favicon.ico Normal file
View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

367
docs/iframe.html Normal file
View File

@@ -0,0 +1,367 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><title>Webpack App</title><meta name="viewport" content="width=device-width,initial-scale=1"><base target="_parent"><style>/* While we aren't showing the main block yet, but still preparing, we want everything the user
has rendered, which may or may not be in #root, to be display none */
.sb-show-preparing-story:not(.sb-show-main) > :not(.sb-preparing-story) {
display: none;
}
.sb-show-preparing-docs:not(.sb-show-main) > :not(.sb-preparing-docs) {
display: none;
}
/* Hide our own blocks when we aren't supposed to be showing them */
:not(.sb-show-preparing-story) > .sb-preparing-story,
:not(.sb-show-preparing-docs) > .sb-preparing-docs,
:not(.sb-show-nopreview) > .sb-nopreview,
:not(.sb-show-errordisplay) > .sb-errordisplay {
display: none;
}
.sb-show-main.sb-main-centered {
margin: 0;
display: flex;
align-items: center;
min-height: 100vh;
}
.sb-show-main.sb-main-centered #root {
box-sizing: border-box;
margin: auto;
padding: 1rem;
max-height: 100%; /* Hack for centering correctly in IE11 */
}
/* Vertical centering fix for IE11 */
@media screen and (-ms-high-contrast: none), (-ms-high-contrast: active) {
.sb-show-main.sb-main-centered:after {
content: '';
min-height: inherit;
font-size: 0;
}
}
.sb-show-main.sb-main-fullscreen {
margin: 0;
padding: 0;
display: block;
}
.sb-show-main.sb-main-padded {
margin: 0;
padding: 1rem;
display: block;
box-sizing: border-box;
}
.sb-wrapper {
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
padding: 20px;
font-family: 'Nunito Sans', -apple-system, '.SFNSText-Regular', 'San Francisco',
BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
overflow: auto;
}
.sb-heading {
font-size: 14px;
font-weight: 600;
letter-spacing: 0.2px;
margin: 10px 0;
padding-right: 25px;
}
.sb-nopreview {
display: flex;
align-content: center;
justify-content: center;
}
.sb-nopreview_main {
margin: auto;
padding: 30px;
border-radius: 10px;
background: rgba(0, 0, 0, 0.03);
}
.sb-nopreview_heading {
text-align: center;
}
.sb-errordisplay {
border: 20px solid rgb(187, 49, 49);
background: #222;
color: #fff;
z-index: 999999;
}
.sb-errordisplay_code {
padding: 10px;
background: #000;
color: #eee;
font-family: 'Operator Mono', 'Fira Code Retina', 'Fira Code', 'FiraCode-Retina', 'Andale Mono',
'Lucida Console', Consolas, Monaco, monospace;
}
.sb-errordisplay pre {
white-space: pre-wrap;
}
@-webkit-keyframes sb-rotate360 {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes sb-rotate360 {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@-webkit-keyframes sb-glow {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0.4;
}
}
@keyframes sb-glow {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0.4;
}
}
/* We display the preparing loaders *over* the rendering story */
.sb-preparing-story,
.sb-preparing-docs {
background-color: white;
/* Maximum possible z-index. It would be better to use stacking contexts to ensure it's always
on top, but this isn't possible as it would require making CSS changes that could affect user code */
z-index: 2147483647;
}
.sb-loader {
-webkit-animation: sb-rotate360 0.7s linear infinite;
animation: sb-rotate360 0.7s linear infinite;
border-color: rgba(97, 97, 97, 0.29);
border-radius: 50%;
border-style: solid;
border-top-color: #646464;
border-width: 2px;
display: inline-block;
height: 32px;
left: 50%;
margin-left: -16px;
margin-top: -16px;
mix-blend-mode: difference;
overflow: hidden;
position: absolute;
top: 50%;
transition: all 200ms ease-out;
vertical-align: top;
width: 32px;
z-index: 4;
}
.sb-previewBlock {
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 4px;
box-shadow: rgba(0, 0, 0, 0.1) 0 1px 3px 0;
margin: 25px auto 40px;
max-width: 600px;
}
.sb-previewBlock_header {
align-items: center;
box-shadow: rgba(0, 0, 0, 0.1) 0 -1px 0 0 inset;
display: flex;
gap: 14px;
height: 40px;
padding: 0 12px;
}
.sb-previewBlock_icon {
-webkit-animation: sb-glow 1.5s ease-in-out infinite;
animation: sb-glow 1.5s ease-in-out infinite;
background: #e6e6e6;
height: 14px;
width: 14px;
}
.sb-previewBlock_icon:last-child {
margin-left: auto;
}
.sb-previewBlock_body {
-webkit-animation: sb-glow 1.5s ease-in-out infinite;
animation: sb-glow 1.5s ease-in-out infinite;
height: 182px;
position: relative;
}
.sb-argstableBlock {
border-collapse: collapse;
border-spacing: 0;
font-size: 13px;
line-height: 20px;
margin: 25px auto 40px;
max-width: 600px;
text-align: left;
width: 100%;
}
.sb-argstableBlock th:first-of-type,
.sb-argstableBlock td:first-of-type {
padding-left: 20px;
}
.sb-argstableBlock th:nth-of-type(2),
.sb-argstableBlock td:nth-of-type(2) {
width: 35%;
}
.sb-argstableBlock th:nth-of-type(3),
.sb-argstableBlock td:nth-of-type(3) {
width: 15%;
}
.sb-argstableBlock th:laste-of-type,
.sb-argstableBlock td:laste-of-type {
width: 25%;
padding-right: 20px;
}
.sb-argstableBlock th span,
.sb-argstableBlock td span {
-webkit-animation: sb-glow 1.5s ease-in-out infinite;
animation: sb-glow 1.5s ease-in-out infinite;
background-color: rgba(0, 0, 0, 0.1);
border-radius: 0;
box-shadow: none;
color: transparent;
}
.sb-argstableBlock th {
padding: 10px 15px;
}
.sb-argstableBlock-body {
border-radius: 4px;
box-shadow: rgba(0, 0, 0, 0.1) 0 1px 3px 1px, rgba(0, 0, 0, 0.065) 0 0 0 1px;
}
.sb-argstableBlock-body tr {
background: transparent;
overflow: hidden;
}
.sb-argstableBlock-body tr:not(:first-child) {
border-top: 1px solid #e6e6e6;
}
.sb-argstableBlock-body tr:first-child td:first-child {
border-top-left-radius: 4px;
}
.sb-argstableBlock-body tr:first-child td:last-child {
border-top-right-radius: 4px;
}
.sb-argstableBlock-body tr:last-child td:first-child {
border-bottom-left-radius: 4px;
}
.sb-argstableBlock-body tr:last-child td:last-child {
border-bottom-right-radius: 4px;
}
.sb-argstableBlock-body td {
background: #fff;
padding-bottom: 10px;
padding-top: 10px;
vertical-align: top;
}
.sb-argstableBlock-body td:not(:first-of-type) {
padding-left: 15px;
padding-right: 15px;
}
.sb-argstableBlock-body button {
-webkit-animation: sb-glow 1.5s ease-in-out infinite;
animation: sb-glow 1.5s ease-in-out infinite;
background-color: rgba(0, 0, 0, 0.1);
border: 0;
border-radius: 0;
box-shadow: none;
color: transparent;
display: inline;
font-size: 12px;
line-height: 1;
padding: 10px 16px;
}
.sb-argstableBlock-summary {
margin-top: 4px;
}
.sb-argstableBlock-code {
margin-right: 4px;
margin-bottom: 4px;
padding: 2px 5px;
}</style><script>/* globals window */
/* eslint-disable no-underscore-dangle */
try {
if (window.top !== window) {
window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.top.__REACT_DEVTOOLS_GLOBAL_HOOK__;
window.__VUE_DEVTOOLS_GLOBAL_HOOK__ = window.top.__VUE_DEVTOOLS_GLOBAL_HOOK__;
window.top.__VUE_DEVTOOLS_CONTEXT__ = window.document;
}
} catch (e) {
// eslint-disable-next-line no-console
console.warn('unable to connect to top frame for connecting dev tools');
}
window.onerror = function onerror(message, source, line, column, err) {
if (window.CONFIG_TYPE !== 'DEVELOPMENT') return;
// eslint-disable-next-line no-var, vars-on-top
var xhr = new window.XMLHttpRequest();
xhr.open('POST', '/runtime-error');
xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
xhr.send(
JSON.stringify({
/* eslint-disable object-shorthand */
message: message,
source: source,
line: line,
column: column,
error: err && { message: err.message, name: err.name, stack: err.stack },
origin: 'preview',
/* eslint-enable object-shorthand */
})
);
};</script><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="stylesheet" data-href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&amp;display=swap"><link rel="stylesheet" data-href="https://fonts.googleapis.com/css2?family=Roboto+Mono&amp;display=swap"><style>body {
font-family: 'Roboto', sans-serif;
font-size: 16px;
}</style><style>#root[hidden],
#docs-root[hidden] {
display: none !important;
}</style></head><body><div class="sb-preparing-story sb-wrapper"><div class="sb-loader"></div></div><div class="sb-preparing-docs sb-wrapper"><div class="sb-previewBlock"><div class="sb-previewBlock_header"><div class="sb-previewBlock_icon"></div><div class="sb-previewBlock_icon"></div><div class="sb-previewBlock_icon"></div><div class="sb-previewBlock_icon"></div></div><div class="sb-previewBlock_body"><div class="sb-loader"></div></div></div><table aria-hidden="true" class="sb-argstableBlock"><thead class="sb-argstableBlock-head"><tr><th><span>Name</span></th><th><span>Description</span></th><th><span>Default</span></th><th><span>Control</span></th></tr></thead><tbody class="sb-argstableBlock-body"><tr><td><span>propertyName</span><span title="Required">*</span></td><td><div><span>This is a short description</span></div><div class="sb-argstableBlock-summary"><div><span class="sb-argstableBlock-code">summary</span></div></div></td><td><div><span class="sb-argstableBlock-code">defaultValue</span></div></td><td><button>Set string</button></td></tr><tr><td><span>propertyName</span><span>*</span></td><td><div><span>This is a short description</span></div><div class="sb-argstableBlock-summary"><div><span class="sb-argstableBlock-code">summary</span></div></div></td><td><div><span class="sb-argstableBlock-code">defaultValue</span></div></td><td><button>Set string</button></td></tr><tr><td><span>propertyName</span><span>*</span></td><td><div><span>This is a short description</span></div><div class="sb-argstableBlock-summary"><div><span class="sb-argstableBlock-code">summary</span></div></div></td><td><div><span class="sb-argstableBlock-code">defaultValue</span></div></td><td><button>Set string</button></td></tr></tbody></table></div><div class="sb-nopreview sb-wrapper"><div class="sb-nopreview_main"><h1 class="sb-nopreview_heading sb-heading">No Preview</h1><p>Sorry, but you either have no stories or none are selected somehow.</p><ul><li>Please check the Storybook config.</li><li>Try reloading the page.</li></ul><p>If the problem persists, check the browser console, or the terminal you've run Storybook from.</p></div></div><div class="sb-errordisplay sb-wrapper"><pre id="error-message" class="sb-heading"></pre><pre class="sb-errordisplay_code"><code id="error-stack"></code></pre></div><div id="root"></div><div id="docs-root"></div><script>window['CONFIG_TYPE'] = "PRODUCTION";
window['LOGLEVEL'] = "info";
window['FRAMEWORK_OPTIONS'] = {};
window['FEATURES'] = {"postcss":true,"emotionAlias":false,"warnOnLegacyHierarchySeparator":true,"buildStoriesJson":false,"storyStoreV7":false,"modernInlineRender":false,"breakingChangesV7":false,"interactionsDebugger":false,"babelModeV7":false,"argTypeTargetsV7":false,"previewMdx2":false};
window['STORIES'] = [{"titlePrefix":"","directory":"./examples/stories","files":"*.stories.mdx","importPathMatcher":"^\\.[\\\\/](?:examples\\/stories\\/(?!\\.)(?=.)[^/]*?\\.stories\\.mdx)$"},{"titlePrefix":"","directory":"./examples/stories","files":"*.stories.@(js|jsx|ts|tsx)","importPathMatcher":"^\\.[\\\\/](?:examples\\/stories\\/(?!\\.)(?=.)[^/]*?\\.stories\\.(js|jsx|ts|tsx))$"}];</script><script src="runtime~main.e7f32bf8.iframe.bundle.js"></script><script src="vendors~main.16f7136c.iframe.bundle.js"></script><script src="main.19f2d967.iframe.bundle.js"></script></body></html>

59
docs/index.html Normal file
View File

@@ -0,0 +1,59 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"/><title>Webpack App</title><meta name="viewport" content="width=device-width,initial-scale=1"/><style>html, body {
overflow: hidden;
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
* {
box-sizing: border-box;
}</style><script>/* globals window */
/* eslint-disable no-underscore-dangle */
try {
if (window.top !== window) {
window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.top.__REACT_DEVTOOLS_GLOBAL_HOOK__;
}
} catch (e) {
// eslint-disable-next-line no-console
console.warn('unable to connect to top frame for connecting dev tools');
}
window.onerror = function onerror(message, source, line, column, err) {
if (window.CONFIG_TYPE !== 'DEVELOPMENT') return;
// eslint-disable-next-line no-var, vars-on-top
var xhr = new window.XMLHttpRequest();
xhr.open('POST', '/runtime-error');
xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
xhr.send(
JSON.stringify({
/* eslint-disable object-shorthand */
message: message,
source: source,
line: line,
column: column,
error: err && { message: err.message, name: err.name, stack: err.stack },
origin: 'manager',
/* eslint-enable object-shorthand */
})
);
};</script><style>#root[hidden],
#docs-root[hidden] {
display: none !important;
}</style></head><body><div id="root"></div><div id="docs-root"></div><script>window['CONFIG_TYPE'] = "PRODUCTION";
window['LOGLEVEL'] = "info";
window['FEATURES'] = {"postcss":true,"emotionAlias":false,"warnOnLegacyHierarchySeparator":true,"buildStoriesJson":false,"storyStoreV7":false,"modernInlineRender":false,"breakingChangesV7":false,"interactionsDebugger":false,"babelModeV7":false,"argTypeTargetsV7":false,"previewMdx2":false};
window['DOCS_MODE'] = false;</script><script src="runtime~main.8ab76b1af44e6332b6fc.manager.bundle.js"></script><script src="vendors~main.59133444ce5b3a186e53.manager.bundle.js"></script><script src="main.5ff01ce9b2f269a4e646.manager.bundle.js"></script></body></html>

View File

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{455:function(module,exports,__webpack_require__){__webpack_require__(456),__webpack_require__(822),__webpack_require__(826),__webpack_require__(827),__webpack_require__(823),__webpack_require__(820),__webpack_require__(819),__webpack_require__(821),__webpack_require__(818),__webpack_require__(824),__webpack_require__(825),module.exports=__webpack_require__(817)},502:function(module,exports){}},[[455,3,4]]]);

1
docs/project.json Normal file
View File

@@ -0,0 +1 @@
{"generatedAt":1656373830741,"builder":{"name":"webpack4"},"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":true,"hasStorybookEslint":true,"refCount":0,"packageManager":{"type":"npm","version":"8.11.0"},"storybookVersion":"6.5.9","language":"typescript","storybookPackages":{"@storybook/addon-actions":{"version":"6.5.9"},"@storybook/builder-webpack4":{"version":"6.5.9"},"@storybook/manager-webpack4":{"version":"6.5.9"},"@storybook/react":{"version":"6.5.9"},"@storybook/testing-library":{"version":"0.0.11"},"eslint-plugin-storybook":{"version":"0.5.13"}},"framework":{"name":"react"},"addons":{"@storybook/addon-links":{"version":"6.5.9"},"@storybook/addon-essentials":{"version":"6.5.9"},"@storybook/addon-interactions":{"version":"6.5.9"}}}

BIN
docs/rive_logo_black_2x.png Normal file
View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -0,0 +1 @@
!function(modules){function webpackJsonpCallback(data){for(var moduleId,chunkId,chunkIds=data[0],moreModules=data[1],executeModules=data[2],i=0,resolves=[];i<chunkIds.length;i++)chunkId=chunkIds[i],Object.prototype.hasOwnProperty.call(installedChunks,chunkId)&&installedChunks[chunkId]&&resolves.push(installedChunks[chunkId][0]),installedChunks[chunkId]=0;for(moduleId in moreModules)Object.prototype.hasOwnProperty.call(moreModules,moduleId)&&(modules[moduleId]=moreModules[moduleId]);for(parentJsonpFunction&&parentJsonpFunction(data);resolves.length;)resolves.shift()();return deferredModules.push.apply(deferredModules,executeModules||[]),checkDeferredModules()}function checkDeferredModules(){for(var result,i=0;i<deferredModules.length;i++){for(var deferredModule=deferredModules[i],fulfilled=!0,j=1;j<deferredModule.length;j++){var depId=deferredModule[j];0!==installedChunks[depId]&&(fulfilled=!1)}fulfilled&&(deferredModules.splice(i--,1),result=__webpack_require__(__webpack_require__.s=deferredModule[0]))}return result}var installedModules={},installedChunks={3:0},deferredModules=[];function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}__webpack_require__.e=function requireEnsure(chunkId){var promises=[],installedChunkData=installedChunks[chunkId];if(0!==installedChunkData)if(installedChunkData)promises.push(installedChunkData[2]);else{var promise=new Promise((function(resolve,reject){installedChunkData=installedChunks[chunkId]=[resolve,reject]}));promises.push(installedChunkData[2]=promise);var onScriptComplete,script=document.createElement("script");script.charset="utf-8",script.timeout=120,__webpack_require__.nc&&script.setAttribute("nonce",__webpack_require__.nc),script.src=function jsonpScriptSrc(chunkId){return __webpack_require__.p+""+({}[chunkId]||chunkId)+"."+{0:"f3c14cfa225a4c40c8ba",1:"44288d676d5217e7dfaf",5:"c79123fa7941ae9f0387",6:"2d406554b9c913afb448",7:"480c60c60f21bf435941",8:"6c22300703a58b9d6b46",9:"5e61b7f1b71ff49bf163"}[chunkId]+".manager.bundle.js"}(chunkId);var error=new Error;onScriptComplete=function(event){script.onerror=script.onload=null,clearTimeout(timeout);var chunk=installedChunks[chunkId];if(0!==chunk){if(chunk){var errorType=event&&("load"===event.type?"missing":event.type),realSrc=event&&event.target&&event.target.src;error.message="Loading chunk "+chunkId+" failed.\n("+errorType+": "+realSrc+")",error.name="ChunkLoadError",error.type=errorType,error.request=realSrc,chunk[1](error)}installedChunks[chunkId]=void 0}};var timeout=setTimeout((function(){onScriptComplete({type:"timeout",target:script})}),12e4);script.onerror=script.onload=onScriptComplete,document.head.appendChild(script)}return Promise.all(promises)},__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{enumerable:!0,get:getter})},__webpack_require__.r=function(exports){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},__webpack_require__.t=function(value,mode){if(1&mode&&(value=__webpack_require__(value)),8&mode)return value;if(4&mode&&"object"==typeof value&&value&&value.__esModule)return value;var ns=Object.create(null);if(__webpack_require__.r(ns),Object.defineProperty(ns,"default",{enumerable:!0,value:value}),2&mode&&"string"!=typeof value)for(var key in value)__webpack_require__.d(ns,key,function(key){return value[key]}.bind(null,key));return ns},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module.default}:function getModuleExports(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__.oe=function(err){throw console.error(err),err};var jsonpArray=window.webpackJsonp=window.webpackJsonp||[],oldJsonpFunction=jsonpArray.push.bind(jsonpArray);jsonpArray.push=webpackJsonpCallback,jsonpArray=jsonpArray.slice();for(var i=0;i<jsonpArray.length;i++)webpackJsonpCallback(jsonpArray[i]);var parentJsonpFunction=oldJsonpFunction;checkDeferredModules()}([]);

View File

@@ -0,0 +1 @@
!function(modules){function webpackJsonpCallback(data){for(var moduleId,chunkId,chunkIds=data[0],moreModules=data[1],executeModules=data[2],i=0,resolves=[];i<chunkIds.length;i++)chunkId=chunkIds[i],Object.prototype.hasOwnProperty.call(installedChunks,chunkId)&&installedChunks[chunkId]&&resolves.push(installedChunks[chunkId][0]),installedChunks[chunkId]=0;for(moduleId in moreModules)Object.prototype.hasOwnProperty.call(moreModules,moduleId)&&(modules[moduleId]=moreModules[moduleId]);for(parentJsonpFunction&&parentJsonpFunction(data);resolves.length;)resolves.shift()();return deferredModules.push.apply(deferredModules,executeModules||[]),checkDeferredModules()}function checkDeferredModules(){for(var result,i=0;i<deferredModules.length;i++){for(var deferredModule=deferredModules[i],fulfilled=!0,j=1;j<deferredModule.length;j++){var depId=deferredModule[j];0!==installedChunks[depId]&&(fulfilled=!1)}fulfilled&&(deferredModules.splice(i--,1),result=__webpack_require__(__webpack_require__.s=deferredModule[0]))}return result}var installedModules={},installedChunks={4:0},deferredModules=[];function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}__webpack_require__.e=function requireEnsure(chunkId){var promises=[],installedChunkData=installedChunks[chunkId];if(0!==installedChunkData)if(installedChunkData)promises.push(installedChunkData[2]);else{var promise=new Promise((function(resolve,reject){installedChunkData=installedChunks[chunkId]=[resolve,reject]}));promises.push(installedChunkData[2]=promise);var onScriptComplete,script=document.createElement("script");script.charset="utf-8",script.timeout=120,__webpack_require__.nc&&script.setAttribute("nonce",__webpack_require__.nc),script.src=function jsonpScriptSrc(chunkId){return __webpack_require__.p+""+({}[chunkId]||chunkId)+"."+{0:"233bd6e2",1:"7e5fbb8d",2:"89943a03",6:"e2fef599",7:"15129502",8:"b569e86b",9:"1e553722"}[chunkId]+".iframe.bundle.js"}(chunkId);var error=new Error;onScriptComplete=function(event){script.onerror=script.onload=null,clearTimeout(timeout);var chunk=installedChunks[chunkId];if(0!==chunk){if(chunk){var errorType=event&&("load"===event.type?"missing":event.type),realSrc=event&&event.target&&event.target.src;error.message="Loading chunk "+chunkId+" failed.\n("+errorType+": "+realSrc+")",error.name="ChunkLoadError",error.type=errorType,error.request=realSrc,chunk[1](error)}installedChunks[chunkId]=void 0}};var timeout=setTimeout((function(){onScriptComplete({type:"timeout",target:script})}),12e4);script.onerror=script.onload=onScriptComplete,document.head.appendChild(script)}return Promise.all(promises)},__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{enumerable:!0,get:getter})},__webpack_require__.r=function(exports){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},__webpack_require__.t=function(value,mode){if(1&mode&&(value=__webpack_require__(value)),8&mode)return value;if(4&mode&&"object"==typeof value&&value&&value.__esModule)return value;var ns=Object.create(null);if(__webpack_require__.r(ns),Object.defineProperty(ns,"default",{enumerable:!0,value:value}),2&mode&&"string"!=typeof value)for(var key in value)__webpack_require__.d(ns,key,function(key){return value[key]}.bind(null,key));return ns},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module.default}:function getModuleExports(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__.oe=function(err){throw console.error(err),err};var jsonpArray=window.webpackJsonp=window.webpackJsonp||[],oldJsonpFunction=jsonpArray.push.bind(jsonpArray);jsonpArray.push=webpackJsonpCallback,jsonpArray=jsonpArray.slice();for(var i=0;i<jsonpArray.length;i++)webpackJsonpCallback(jsonpArray[i]);var parentJsonpFunction=oldJsonpFunction;checkDeferredModules()}([]);

BIN
docs/truck.riv Normal file
View File

Binary file not shown.

View File

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,106 @@
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/
/*!
* https://github.com/es-shims/es5-shim
* @license es5-shim Copyright 2009-2020 by contributors, MIT License
* see https://github.com/es-shims/es5-shim/blob/master/LICENSE
*/
/*!
* https://github.com/paulmillr/es6-shim
* @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)
* and contributors, MIT License
* es6-shim: v0.35.4
* see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE
* Details and documentation:
* https://github.com/paulmillr/es6-shim/
*/
/*!
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/
/*!
* isobject <https://github.com/jonschlinkert/isobject>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/** @license React v0.20.2
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
//! stable.js 0.1.8, https://github.com/Two-Screen/stable
//! © 2018 Angry Bytes and contributors. MIT licensed.

View File

@@ -0,0 +1 @@
{"version":3,"file":"vendors~main.16f7136c.iframe.bundle.js","sources":[],"mappings":";A","sourceRoot":""}

View File

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,104 @@
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
/*!
* Fuse.js v3.6.1 - Lightweight fuzzy-search (http://fusejs.io)
*
* Copyright (c) 2012-2017 Kirollos Risk (http://kiro.me)
* All Rights Reserved. Apache Software License 2.0
*
* http://www.apache.org/licenses/LICENSE-2.0
*/
/*!
* https://github.com/es-shims/es5-shim
* @license es5-shim Copyright 2009-2020 by contributors, MIT License
* see https://github.com/es-shims/es5-shim/blob/master/LICENSE
*/
/*!
* https://github.com/paulmillr/es6-shim
* @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)
* and contributors, MIT License
* es6-shim: v0.35.4
* see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE
* Details and documentation:
* https://github.com/paulmillr/es6-shim/
*/
/*!
* isobject <https://github.com/jonschlinkert/isobject>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/*! store2 - v2.13.1 - 2021-12-20
* Copyright (c) 2021 Nathan Bubna; Licensed (MIT OR GPL-3.0) */
/**
* React Router DOM v6.0.2
*
* Copyright (c) Remix Software Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE.md file in the root directory of this source tree.
*
* @license MIT
*/
/**
* React Router v6.0.2
*
* Copyright (c) Remix Software Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE.md file in the root directory of this source tree.
*
* @license MIT
*/
/** @license React v0.20.2
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v17.0.2
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

View File

@@ -1,23 +0,0 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# production
/build
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*

View File

@@ -1,14 +0,0 @@
# Basic Typescript
This is an example app that uses the useRive hook with typescript.
## To Run
This example is created using [Create React App](https://reactjs.org/docs/create-a-new-react-app.html).
To install and run:
```
npm install
npm start
```

View File

@@ -1,44 +0,0 @@
{
"name": "basic-typescript",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.13.0",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"@types/jest": "^26.0.23",
"@types/node": "^12.20.14",
"@types/react": "^17.0.9",
"@types/react-dom": "^17.0.6",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"rive-react": "latest",
"typescript": "^4.3.2",
"web-vitals": "^1.1.2"
},
"scripts": {
"start": "SKIP_PREFLIGHT_CHECK=true react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}

View File

@@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<title>React App - Basic Typescript</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>

View File

@@ -1,19 +0,0 @@
import { useRive, UseRiveParameters } from 'rive-react';
function App() {
const params: UseRiveParameters = {
src: 'poison-loader.riv',
autoplay: true,
};
const { RiveComponent } = useRive(params);
return (
// The animation will fit to the parent element.
<div style={{ height: '500px', width: '500px' }}>
<RiveComponent />
</div>
);
}
export default App;

View File

@@ -1,10 +0,0 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);

View File

@@ -1 +0,0 @@
/// <reference types="react-scripts" />

View File

@@ -1,26 +0,0 @@
{
"compilerOptions": {
"target": "es5",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx"
},
"include": [
"src"
]
}

View File

@@ -1,14 +0,0 @@
# Basic with hook
This is a very basic example of using the useRive to autoplay a simple looping animation.
## To Run
This example is created using [Create React App](https://reactjs.org/docs/create-a-new-react-app.html).
To install and run:
```
npm install
npm start
```

View File

@@ -1,36 +0,0 @@
{
"name": "basic-with-hook",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.13.0",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"rive-react": "latest",
"web-vitals": "^1.1.2"
},
"scripts": {
"start": "SKIP_PREFLIGHT_CHECK=true react-scripts start"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}

View File

@@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<title>Rive React - Basic with Hook</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>

View File

@@ -1,19 +0,0 @@
import { useRive } from 'rive-react';
function App() {
const params = {
src: 'poison-loader.riv',
autoplay: true,
};
const { RiveComponent } = useRive(params);
return (
// The animation will fit to the parent element.
<div style={{ height: '500px', width: '500px' }}>
<RiveComponent />
</div>
);
}
export default App;

View File

@@ -1,10 +0,0 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);

View File

@@ -1,14 +0,0 @@
# Basic
This is a very basic example of using the Rive component to autoplay a simple looping animation.
## To Run
This example is created using [Create React App](https://reactjs.org/docs/create-a-new-react-app.html).
To install and run:
```
npm install
npm start
```

View File

@@ -1,36 +0,0 @@
{
"name": "basic-example",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.13.0",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"react": "file:../../node_modules/react",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"rive-react": "file:../..",
"web-vitals": "^1.1.2"
},
"scripts": {
"start": "SKIP_PREFLIGHT_CHECK=true react-scripts start"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}

View File

@@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<title>Rive React - Basic</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>

View File

Binary file not shown.

View File

@@ -1,12 +0,0 @@
import Rive from 'rive-react';
function App() {
return (
// The animation will fit to the parent element.
<div style={{ height: '500px', width: '500px' }}>
<Rive src="poison-loader.riv" autoplay />
</div>
);
}
export default App;

View File

@@ -1,10 +0,0 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);

View File

@@ -1,14 +0,0 @@
# Play on hover
This provides an example of how to play/pause a Rive animation when the mouse is hovered over it.
## To Run
This example is created using [Create React App](https://reactjs.org/docs/create-a-new-react-app.html).
To install and run:
```
npm install
npm start
```

View File

@@ -1,36 +0,0 @@
{
"name": "play-on-hover",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.13.0",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"rive-react": "latest",
"web-vitals": "^1.1.2"
},
"scripts": {
"start": "SKIP_PREFLIGHT_CHECK=true react-scripts start"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}

View File

@@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<title>Rive React - Play on hover</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>

View File

Binary file not shown.

View File

@@ -1,32 +0,0 @@
import { useRive } from 'rive-react';
function App() {
const params = {
src: 'poison-loader.riv',
autoplay: false,
};
const { RiveComponent, rive } = useRive(params);
function onMouseEnter() {
// `rive` will return as null until the file as fully loaded, so we include this
// guard to prevent any unwanted errors.
if (rive) {
rive.play();
}
}
function onMouseLeave() {
if (rive) {
rive.pause();
}
}
return (
<div style={{ height: '600px', width: '600px' }}>
<RiveComponent onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave} />
</div>
);
}
export default App;

View File

@@ -1,10 +0,0 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);

View File

@@ -1,14 +0,0 @@
# Play/Pause Buttons
This example shows how we can play/pause the Rive animation on a button click and update the text of the button based on events happening in the runtime.
## To Run
This example is created using [Create React App](https://reactjs.org/docs/create-a-new-react-app.html).
To install and run:
```
npm install
npm start
```

View File

@@ -1,36 +0,0 @@
{
"name": "play-pause-button",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.13.0",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"rive-react": "latest",
"web-vitals": "^1.1.2"
},
"scripts": {
"start": "SKIP_PREFLIGHT_CHECK=true react-scripts start"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}

View File

@@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<title>Rive React - Play/Pause Button</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>

View File

Binary file not shown.

View File

@@ -1,50 +0,0 @@
import { useEffect, useState } from 'react';
import { useRive } from 'rive-react';
function App() {
const [buttonText, setButtonText] = useState('Pause');
const { RiveComponent, rive } = useRive({
src: 'poison-loader.riv',
autoplay: true,
});
useEffect(() => {
if (rive) {
// "play" event is fired when the animation starts to play, so we update
// button text on this event.
rive.on('play', () => {
setButtonText('Pause');
});
// As above, the "pause" event is fired when the animation pauses.
rive.on('pause', () => {
setButtonText('Play');
});
}
// We listen for changes to the rive object. The rive object will be null
// until the rive file has loaded.
}, [rive]);
function onButtonClick() {
// `rive` will return as null until the file as fully loaded, so we include this
// guard to prevent any unwanted errors.
if (rive) {
if (rive.isPlaying) {
rive.pause();
} else {
rive.play();
}
}
}
return (
// The animation will fit to the parent element, so we set a large height
// and width for this example.
<div style={{ height: '500px', width: '500px' }}>
<RiveComponent />
<button onClick={onButtonClick}>{buttonText}</button>
</div>
);
}
export default App;

View File

@@ -1,10 +0,0 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);

View File

@@ -1,14 +0,0 @@
# State Machine Boolean Input
This example shows how to interact with a state machine, using various onMouse\* callbacks to trigger transations.
## To Run
This example is created using [Create React App](https://reactjs.org/docs/create-a-new-react-app.html).
To install and run:
```
npm install
npm start
```

View File

@@ -1,36 +0,0 @@
{
"name": "state-machine-boolean-input",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.13.0",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"rive-react": "latest",
"web-vitals": "^1.1.2"
},
"scripts": {
"start": "SKIP_PREFLIGHT_CHECK=true react-scripts start"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}

View File

@@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<title>Rive React - State Machine Boolean Input</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>

View File

@@ -1,58 +0,0 @@
import { useRive, useStateMachineInput } from 'rive-react';
function App() {
const STATE_MACHINE_NAME = 'State Machine 1';
const ON_HOVER_INPUT_NAME = 'Hover';
const ON_PRESSED_INPUT_NAME = 'Pressed';
const { RiveComponent, rive } = useRive({
src: 'like.riv',
stateMachines: STATE_MACHINE_NAME,
artboard: 'New Artboard',
autoplay: true,
});
// Both onHoverInput and onPressedInput are boolean inputs. To transition
// states we need to set the value property to true or false.
const onHoverInput = useStateMachineInput(
rive,
STATE_MACHINE_NAME,
ON_HOVER_INPUT_NAME
);
const onPressedInput = useStateMachineInput(
rive,
STATE_MACHINE_NAME,
ON_PRESSED_INPUT_NAME
);
function onMouseEnter() {
onHoverInput.value = true;
}
function onMouseLeave() {
onHoverInput.value = false;
}
function onMouseDown() {
onPressedInput.value = true;
}
function onMouseUp() {
onPressedInput.value = false;
}
return (
// The animation will fit to the parent element, so we set a large height
// and width for this example.
<div style={{ height: '500px', width: '500px' }}>
<RiveComponent
onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave}
onMouseDown={onMouseDown}
onMouseUp={onMouseUp}
/>
</div>
);
}
export default App;

View File

@@ -1,10 +0,0 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);

View File

@@ -1,14 +0,0 @@
# State Machine Number Input
This example shows how to interact with a state machine with number inputs. We trigger the transistions by changing the value of a number input.
## To Run
This example is created using [Create React App](https://reactjs.org/docs/create-a-new-react-app.html).
To install and run:
```
npm install
npm start
```

View File

@@ -1,36 +0,0 @@
{
"name": "state-machine-number-input",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.13.0",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"rive-react": "latest",
"web-vitals": "^1.1.2"
},
"scripts": {
"start": "SKIP_PREFLIGHT_CHECK=true react-scripts start"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}

View File

@@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<title>Rive React - State Machine Number Input</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>

View File

@@ -1,34 +0,0 @@
import { useRive, useStateMachineInput } from 'rive-react';
function App() {
const STATE_MACHINE_NAME = 'State Machine ';
const INPUT_NAME = 'Level';
const { RiveComponent, rive } = useRive({
src: 'skills.riv',
stateMachines: STATE_MACHINE_NAME,
artboard: 'New Artboard',
autoplay: true,
});
// levelInput is a number state machine input. To transition the state machine,
// we need to set the value to a number. For this state machine input, we need
// to set to 0, 1 or 2 for a state transition to occur.
const levelInput = useStateMachineInput(rive, STATE_MACHINE_NAME, INPUT_NAME);
return (
// The animation will fit to the parent element, so we set a large height
// and width for this example.
<div style={{ height: '500px', width: '500px' }}>
<RiveComponent />
<div>
Level:
<button onClick={() => (levelInput.value = 0)}>0</button>
<button onClick={() => (levelInput.value = 1)}>1</button>
<button onClick={() => (levelInput.value = 2)}>2</button>
</div>
</div>
);
}
export default App;

View File

@@ -1,10 +0,0 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);

View File

@@ -1,14 +0,0 @@
# State Machine Trigger Input
This example shows how to interact with a state machine with a trigger input. We call the `fire()` function on the state machine input to transition the state when the animation is clicked.
## To Run
This example is created using [Create React App](https://reactjs.org/docs/create-a-new-react-app.html).
To install and run:
```
npm install
npm start
```

View File

@@ -1,36 +0,0 @@
{
"name": "state-machine-trigger-input",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.13.0",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"rive-react": "latest",
"web-vitals": "^1.1.2"
},
"scripts": {
"start": "SKIP_PREFLIGHT_CHECK=true react-scripts start"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}

View File

@@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<title>Rive React - State Machine Trigger Input</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>

View File

@@ -1,31 +0,0 @@
import { useRive, useStateMachineInput } from 'rive-react';
function App() {
const STATE_MACHINE_NAME = 'State Machine 1';
const INPUT_NAME = 'Pressed';
const { RiveComponent, rive } = useRive({
src: 'piggy-bank.riv',
stateMachines: STATE_MACHINE_NAME,
artboard: 'New Artboard',
autoplay: true,
});
// pressedInput in a trigger state machine input. To transition the state
// we need to call the `fire()` method on the input.
const pressedInput = useStateMachineInput(
rive,
STATE_MACHINE_NAME,
INPUT_NAME
);
return (
// The animation will fit to the parent element, so we set a large height
// and width for this example.
<div style={{ height: '500px', width: '500px' }}>
<RiveComponent onClick={() => pressedInput.fire()} />
</div>
);
}
export default App;

View File

@@ -1,10 +0,0 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);

Some files were not shown because too many files have changed in this diff Show More