@rive-app/react-native 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/android/src/main/java/com/margelo/nitro/rive/HybridRiveFile.kt +13 -4
  2. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModel.kt +1 -0
  3. package/android/src/main/java/com/margelo/nitro/rive/HybridViewModelColorProperty.kt +1 -1
  4. package/ios/HybridRiveFile.swift +1 -0
  5. package/ios/HybridViewModel.swift +1 -0
  6. package/lib/module/core/RiveView.js +38 -9
  7. package/lib/module/core/RiveView.js.map +1 -1
  8. package/lib/module/hooks/useRive.js +56 -38
  9. package/lib/module/hooks/useRive.js.map +1 -1
  10. package/lib/module/hooks/useRiveBoolean.js +17 -5
  11. package/lib/module/hooks/useRiveBoolean.js.map +1 -1
  12. package/lib/module/hooks/useRiveColor.js +38 -10
  13. package/lib/module/hooks/useRiveColor.js.map +1 -1
  14. package/lib/module/hooks/useRiveEnum.js +21 -9
  15. package/lib/module/hooks/useRiveEnum.js.map +1 -1
  16. package/lib/module/hooks/useRiveList.js +170 -54
  17. package/lib/module/hooks/useRiveList.js.map +1 -1
  18. package/lib/module/hooks/useRiveNumber.js +17 -5
  19. package/lib/module/hooks/useRiveNumber.js.map +1 -1
  20. package/lib/module/hooks/useRiveProperty.js +2 -2
  21. package/lib/module/hooks/useRiveProperty.js.map +1 -1
  22. package/lib/module/hooks/useRiveString.js +17 -5
  23. package/lib/module/hooks/useRiveString.js.map +1 -1
  24. package/lib/module/hooks/useRiveTrigger.js +50 -15
  25. package/lib/module/hooks/useRiveTrigger.js.map +1 -1
  26. package/lib/module/hooks/useViewModelInstance.js +97 -12
  27. package/lib/module/hooks/useViewModelInstance.js.map +1 -1
  28. package/lib/typescript/src/hooks/useRiveEnum.d.ts.map +1 -1
  29. package/lib/typescript/src/hooks/useViewModelInstance.d.ts +82 -13
  30. package/lib/typescript/src/hooks/useViewModelInstance.d.ts.map +1 -1
  31. package/lib/typescript/src/specs/RiveView.nitro.d.ts +1 -1
  32. package/lib/typescript/src/specs/RiveView.nitro.d.ts.map +1 -1
  33. package/package.json +4 -2
  34. package/src/hooks/useRiveEnum.ts +5 -4
  35. package/src/hooks/useViewModelInstance.ts +198 -35
  36. package/src/specs/RiveView.nitro.ts +1 -1
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { useCallback, useEffect, useState, useMemo } from 'react';
4
5
  /**
5
6
  * Hook for interacting with list ViewModel instance properties.
@@ -9,63 +10,178 @@ import { useCallback, useEffect, useState, useMemo } from 'react';
9
10
  * @returns An object with list length, manipulation methods, and error state
10
11
  */
11
12
  export function useRiveList(path, viewModelInstance) {
13
+ const $ = _c(36);
12
14
  const [error, setError] = useState(null);
13
15
  const [revision, setRevision] = useState(0);
14
- useEffect(() => {
15
- setError(null);
16
- }, [path, viewModelInstance]);
17
- const property = useMemo(() => {
18
- if (!viewModelInstance) return undefined;
19
- return viewModelInstance.listProperty(path);
20
- }, [viewModelInstance, path]);
21
- useEffect(() => {
22
- if (viewModelInstance && !property) {
23
- setError(new Error(`List property "${path}" not found in the ViewModel instance`));
16
+ let t0;
17
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
18
+ t0 = () => {
19
+ setError(null);
20
+ };
21
+ $[0] = t0;
22
+ } else {
23
+ t0 = $[0];
24
+ }
25
+ let t1;
26
+ if ($[1] !== path || $[2] !== viewModelInstance) {
27
+ t1 = [path, viewModelInstance];
28
+ $[1] = path;
29
+ $[2] = viewModelInstance;
30
+ $[3] = t1;
31
+ } else {
32
+ t1 = $[3];
33
+ }
34
+ useEffect(t0, t1);
35
+ let t2;
36
+ bb0: {
37
+ if (!viewModelInstance) {
38
+ t2 = undefined;
39
+ break bb0;
40
+ }
41
+ let t3;
42
+ if ($[4] !== path || $[5] !== viewModelInstance) {
43
+ t3 = viewModelInstance.listProperty(path);
44
+ $[4] = path;
45
+ $[5] = viewModelInstance;
46
+ $[6] = t3;
47
+ } else {
48
+ t3 = $[6];
24
49
  }
25
- }, [viewModelInstance, property, path]);
26
- useEffect(() => {
27
- if (!property) return;
28
- const removeListener = property.addListener(() => {
29
- setRevision(r => r + 1);
30
- });
31
- return () => {
32
- removeListener();
33
- property.removeListeners();
34
- property.dispose();
50
+ t2 = t3;
51
+ }
52
+ const property = t2;
53
+ let t3;
54
+ let t4;
55
+ if ($[7] !== path || $[8] !== property || $[9] !== viewModelInstance) {
56
+ t3 = () => {
57
+ if (viewModelInstance && !property) {
58
+ setError(new Error(`List property "${path}" not found in the ViewModel instance`));
59
+ }
60
+ };
61
+ t4 = [viewModelInstance, property, path];
62
+ $[7] = path;
63
+ $[8] = property;
64
+ $[9] = viewModelInstance;
65
+ $[10] = t3;
66
+ $[11] = t4;
67
+ } else {
68
+ t3 = $[10];
69
+ t4 = $[11];
70
+ }
71
+ useEffect(t3, t4);
72
+ let t5;
73
+ let t6;
74
+ if ($[12] !== property) {
75
+ t5 = () => {
76
+ if (!property) {
77
+ return;
78
+ }
79
+ const removeListener = property.addListener(() => {
80
+ setRevision(_temp);
81
+ });
82
+ return () => {
83
+ removeListener();
84
+ property.removeListeners();
85
+ property.dispose();
86
+ };
87
+ };
88
+ t6 = [property];
89
+ $[12] = property;
90
+ $[13] = t5;
91
+ $[14] = t6;
92
+ } else {
93
+ t5 = $[13];
94
+ t6 = $[14];
95
+ }
96
+ useEffect(t5, t6);
97
+ const length = property?.length ?? 0;
98
+ let t7;
99
+ if ($[15] !== property) {
100
+ t7 = index => property?.getInstanceAt(index);
101
+ $[15] = property;
102
+ $[16] = t7;
103
+ } else {
104
+ t7 = $[16];
105
+ }
106
+ const getInstanceAt = t7;
107
+ let t8;
108
+ if ($[17] !== property) {
109
+ t8 = instance => {
110
+ property?.addInstance(instance);
35
111
  };
36
- }, [property]);
37
- const length = useMemo(() => {
38
- // revision is used to trigger re-computation when list changes
39
- revision;
40
- return property?.length ?? 0;
41
- }, [property, revision]);
42
- const getInstanceAt = useCallback(index => {
43
- return property?.getInstanceAt(index);
44
- }, [property]);
45
- const addInstance = useCallback(instance => {
46
- property?.addInstance(instance);
47
- }, [property]);
48
- const addInstanceAt = useCallback((instance, index) => {
49
- return property?.addInstanceAt(instance, index) ?? false;
50
- }, [property]);
51
- const removeInstance = useCallback(instance => {
52
- property?.removeInstance(instance);
53
- }, [property]);
54
- const removeInstanceAt = useCallback(index => {
55
- property?.removeInstanceAt(index);
56
- }, [property]);
57
- const swap = useCallback((index1, index2) => {
58
- return property?.swap(index1, index2) ?? false;
59
- }, [property]);
60
- return {
61
- length,
62
- getInstanceAt,
63
- addInstance,
64
- addInstanceAt,
65
- removeInstance,
66
- removeInstanceAt,
67
- swap,
68
- error
69
- };
112
+ $[17] = property;
113
+ $[18] = t8;
114
+ } else {
115
+ t8 = $[18];
116
+ }
117
+ const addInstance = t8;
118
+ let t9;
119
+ if ($[19] !== property) {
120
+ t9 = (instance_0, index_0) => property?.addInstanceAt(instance_0, index_0) ?? false;
121
+ $[19] = property;
122
+ $[20] = t9;
123
+ } else {
124
+ t9 = $[20];
125
+ }
126
+ const addInstanceAt = t9;
127
+ let t10;
128
+ if ($[21] !== property) {
129
+ t10 = instance_1 => {
130
+ property?.removeInstance(instance_1);
131
+ };
132
+ $[21] = property;
133
+ $[22] = t10;
134
+ } else {
135
+ t10 = $[22];
136
+ }
137
+ const removeInstance = t10;
138
+ let t11;
139
+ if ($[23] !== property) {
140
+ t11 = index_1 => {
141
+ property?.removeInstanceAt(index_1);
142
+ };
143
+ $[23] = property;
144
+ $[24] = t11;
145
+ } else {
146
+ t11 = $[24];
147
+ }
148
+ const removeInstanceAt = t11;
149
+ let t12;
150
+ if ($[25] !== property) {
151
+ t12 = (index1, index2) => property?.swap(index1, index2) ?? false;
152
+ $[25] = property;
153
+ $[26] = t12;
154
+ } else {
155
+ t12 = $[26];
156
+ }
157
+ const swap = t12;
158
+ let t13;
159
+ if ($[27] !== addInstance || $[28] !== addInstanceAt || $[29] !== error || $[30] !== getInstanceAt || $[31] !== length || $[32] !== removeInstance || $[33] !== removeInstanceAt || $[34] !== swap) {
160
+ t13 = {
161
+ length,
162
+ getInstanceAt,
163
+ addInstance,
164
+ addInstanceAt,
165
+ removeInstance,
166
+ removeInstanceAt,
167
+ swap,
168
+ error
169
+ };
170
+ $[27] = addInstance;
171
+ $[28] = addInstanceAt;
172
+ $[29] = error;
173
+ $[30] = getInstanceAt;
174
+ $[31] = length;
175
+ $[32] = removeInstance;
176
+ $[33] = removeInstanceAt;
177
+ $[34] = swap;
178
+ $[35] = t13;
179
+ } else {
180
+ t13 = $[35];
181
+ }
182
+ return t13;
183
+ }
184
+ function _temp(r) {
185
+ return r + 1;
70
186
  }
71
187
  //# sourceMappingURL=useRiveList.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","useMemo","useRiveList","path","viewModelInstance","error","setError","revision","setRevision","property","undefined","listProperty","Error","removeListener","addListener","r","removeListeners","dispose","length","getInstanceAt","index","addInstance","instance","addInstanceAt","removeInstance","removeInstanceAt","swap","index1","index2"],"sourceRoot":"../../../src","sources":["hooks/useRiveList.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useState","useMemo","useRiveList","path","viewModelInstance","$","_c","error","setError","revision","setRevision","t0","Symbol","for","t1","t2","bb0","undefined","t3","listProperty","property","t4","Error","t5","t6","removeListener","addListener","_temp","removeListeners","dispose","length","t7","index","getInstanceAt","t8","instance","addInstance","t9","instance_0","index_0","addInstanceAt","t10","instance_1","removeInstance","t11","index_1","removeInstanceAt","t12","index1","index2","swap","t13","r"],"sourceRoot":"../../../src","sources":["hooks/useRiveList.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { useRiveProperty } from "./useRiveProperty.js";
4
5
  const NUMBER_PROPERTY_OPTIONS = {
5
6
  getProperty: (vmi, p) => vmi.numberProperty(p)
@@ -13,11 +14,22 @@ const NUMBER_PROPERTY_OPTIONS = {
13
14
  * @returns An object with the number value, a setter function, and an error if the property is not found
14
15
  */
15
16
  export function useRiveNumber(path, viewModelInstance) {
17
+ const $ = _c(4);
16
18
  const [value, setValue, error] = useRiveProperty(viewModelInstance, path, NUMBER_PROPERTY_OPTIONS);
17
- return {
18
- value,
19
- setValue,
20
- error
21
- };
19
+ let t0;
20
+ if ($[0] !== error || $[1] !== setValue || $[2] !== value) {
21
+ t0 = {
22
+ value,
23
+ setValue,
24
+ error
25
+ };
26
+ $[0] = error;
27
+ $[1] = setValue;
28
+ $[2] = value;
29
+ $[3] = t0;
30
+ } else {
31
+ t0 = $[3];
32
+ }
33
+ return t0;
22
34
  }
23
35
  //# sourceMappingURL=useRiveNumber.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useRiveProperty","NUMBER_PROPERTY_OPTIONS","getProperty","vmi","p","numberProperty","useRiveNumber","path","viewModelInstance","value","setValue","error"],"sourceRoot":"../../../src","sources":["hooks/useRiveNumber.ts"],"mappings":";;AAKA,SAASA,eAAe,QAAQ,sBAAmB;AAEnD,MAAMC,uBAAuB,GAAG;EAC9BC,WAAW,EAAEA,CAACC,GAAsB,EAAEC,CAAS,KAAKD,GAAG,CAACE,cAAc,CAACD,CAAC;AAC1E,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,aAAaA,CAC3BC,IAAY,EACZC,iBAA4C,EACb;EAC/B,MAAM,CAACC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,CAAC,GAAGX,eAAe,CAG9CQ,iBAAiB,EAAED,IAAI,EAAEN,uBAAuB,CAAC;EACnD,OAAO;IAAEQ,KAAK;IAAEC,QAAQ;IAAEC;EAAM,CAAC;AACnC","ignoreList":[]}
1
+ {"version":3,"names":["useRiveProperty","NUMBER_PROPERTY_OPTIONS","getProperty","vmi","p","numberProperty","useRiveNumber","path","viewModelInstance","$","_c","value","setValue","error","t0"],"sourceRoot":"../../../src","sources":["hooks/useRiveNumber.ts"],"mappings":";;;AAKA,SAASA,eAAe,QAAQ,sBAAmB;AAEnD,MAAMC,uBAAuB,GAAG;EAC9BC,WAAW,EAAEA,CAACC,GAAsB,EAAEC,CAAS,KAAKD,GAAG,CAACE,cAAc,CAACD,CAAC;AAC1E,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAAE,cAAAC,IAAA,EAAAC,iBAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAIL,OAAAC,KAAA,EAAAC,QAAA,EAAAC,KAAA,IAAiCb,eAAe,CAG9CQ,iBAAiB,EAAED,IAAI,EAAEN,uBAAuB,CAAC;EAAC,IAAAa,EAAA;EAAA,IAAAL,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAE,KAAA;IAC7CG,EAAA;MAAAH,KAAA;MAAAC,QAAA;MAAAC;IAAyB,CAAC;IAAAJ,CAAA,MAAAI,KAAA;IAAAJ,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAE,KAAA;IAAAF,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAAA,OAA1BK,EAA0B;AAAA","ignoreList":[]}
@@ -65,8 +65,8 @@ export function useRiveProperty(viewModelInstance, path, options) {
65
65
  if (!property) {
66
66
  setError(new Error(`Cannot set value for property "${path}" because it was not found. Your view model instance may be undefined, or the path may be incorrect.`));
67
67
  } else {
68
- const newValue = typeof valueOrUpdater === 'function' ? valueOrUpdater(property.value) : valueOrUpdater;
69
- property.value = newValue;
68
+ const newValue_0 = typeof valueOrUpdater === 'function' ? valueOrUpdater(property.value) : valueOrUpdater;
69
+ property.value = newValue_0;
70
70
  }
71
71
  }, [property, path]);
72
72
  return [value, setPropertyValue, error, property];
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","useMemo","useRiveProperty","viewModelInstance","path","options","property","getProperty","value","setValue","error","setError","Error","removeListener","onPropertyEventOverride","addListener","newValue","dispose","setPropertyValue","valueOrUpdater"],"sourceRoot":"../../../src","sources":["hooks/useRiveProperty.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,OAAO,QAAQ,OAAO;AAOjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAC7BC,iBAAuD,EACvDC,IAAY,EACZC,OAKC,EAMD;EACA;EACA,MAAMC,QAAQ,GAAGL,OAAO,CAAC,MAAM;IAC7B,IAAI,CAACE,iBAAiB,EAAE;IACxB,OAAOE,OAAO,CAACE,WAAW,CACxBJ,iBAAiB,EACjBC,IACF,CAAC;EACH,CAAC,EAAE,CAACC,OAAO,EAAEF,iBAAiB,EAAEC,IAAI,CAAC,CAAC;;EAEtC;EACA,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAGT,QAAQ,CAAgB,MAAMM,QAAQ,EAAEE,KAAK,CAAC;EACxE,MAAM,CAACE,KAAK,EAAEC,QAAQ,CAAC,GAAGX,QAAQ,CAAe,IAAI,CAAC;;EAEtD;EACAD,SAAS,CAAC,MAAM;IACd,IAAIO,QAAQ,EAAE;MACZG,QAAQ,CAACH,QAAQ,CAACE,KAAK,CAAC;IAC1B;EACF,CAAC,EAAE,CAACF,QAAQ,CAAC,CAAC;;EAEd;EACAP,SAAS,CAAC,MAAM;IACdY,QAAQ,CAAC,IAAI,CAAC;EAChB,CAAC,EAAE,CAACP,IAAI,EAAED,iBAAiB,CAAC,CAAC;;EAE7B;EACAJ,SAAS,CAAC,MAAM;IACd,IAAII,iBAAiB,IAAI,CAACG,QAAQ,EAAE;MAClCK,QAAQ,CACN,IAAIC,KAAK,CAAC,aAAaR,IAAI,uCAAuC,CACpE,CAAC;IACH;EACF,CAAC,EAAE,CAACD,iBAAiB,EAAEG,QAAQ,EAAEF,IAAI,CAAC,CAAC;;EAEvC;EACAL,SAAS,CAAC,MAAM;IACd,IAAI,CAACO,QAAQ,EAAE;;IAEf;IACA;IACA,MAAMO,cAAc,GAAGR,OAAO,CAACS,uBAAuB,GAClDR,QAAQ,CAACS,WAAW,CAACV,OAAO,CAACS,uBAAuB,CAAC,GACrDR,QAAQ,CAACS,WAAW,CAAEC,QAAQ,IAAK;MACjCP,QAAQ,CAACO,QAAQ,CAAC;IACpB,CAAC,CAAC;IAEN,OAAO,MAAM;MACXH,cAAc,CAAC,CAAC;MAChBP,QAAQ,CAACW,OAAO,CAAC,CAAC;IACpB,CAAC;EACH,CAAC,EAAE,CAACZ,OAAO,EAAEC,QAAQ,CAAC,CAAC;;EAEvB;EACA,MAAMY,gBAAgB,GAAGpB,WAAW,CACjCqB,cAAqD,IAAK;IACzD,IAAI,CAACb,QAAQ,EAAE;MACbK,QAAQ,CACN,IAAIC,KAAK,CACP,kCAAkCR,IAAI,sGACxC,CACF,CAAC;IACH,CAAC,MAAM;MACL,MAAMY,QAAQ,GACZ,OAAOG,cAAc,KAAK,UAAU,GAC/BA,cAAc,CACbb,QAAQ,CAACE,KACX,CAAC,GACDW,cAAc;MACpBb,QAAQ,CAACE,KAAK,GAAGQ,QAAQ;IAC3B;EACF,CAAC,EACD,CAACV,QAAQ,EAAEF,IAAI,CACjB,CAAC;EAED,OAAO,CAACI,KAAK,EAAEU,gBAAgB,EAAER,KAAK,EAAEJ,QAAQ,CAAiB;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useState","useMemo","useRiveProperty","viewModelInstance","path","options","property","getProperty","value","setValue","error","setError","Error","removeListener","onPropertyEventOverride","addListener","newValue","dispose","setPropertyValue","valueOrUpdater"],"sourceRoot":"../../../src","sources":["hooks/useRiveProperty.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,OAAO,QAAQ,OAAO;AAOjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAC7BC,iBAAuD,EACvDC,IAAY,EACZC,OAKC,EAMD;EACA;EACA,MAAMC,QAAQ,GAAGL,OAAO,CAAC,MAAM;IAC7B,IAAI,CAACE,iBAAiB,EAAE;IACxB,OAAOE,OAAO,CAACE,WAAW,CACxBJ,iBAAiB,EACjBC,IACF,CAAC;EACH,CAAC,EAAE,CAACC,OAAO,EAAEF,iBAAiB,EAAEC,IAAI,CAAC,CAAC;;EAEtC;EACA,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAGT,QAAQ,CAAgB,MAAMM,QAAQ,EAAEE,KAAK,CAAC;EACxE,MAAM,CAACE,KAAK,EAAEC,QAAQ,CAAC,GAAGX,QAAQ,CAAe,IAAI,CAAC;;EAEtD;EACAD,SAAS,CAAC,MAAM;IACd,IAAIO,QAAQ,EAAE;MACZG,QAAQ,CAACH,QAAQ,CAACE,KAAK,CAAC;IAC1B;EACF,CAAC,EAAE,CAACF,QAAQ,CAAC,CAAC;;EAEd;EACAP,SAAS,CAAC,MAAM;IACdY,QAAQ,CAAC,IAAI,CAAC;EAChB,CAAC,EAAE,CAACP,IAAI,EAAED,iBAAiB,CAAC,CAAC;;EAE7B;EACAJ,SAAS,CAAC,MAAM;IACd,IAAII,iBAAiB,IAAI,CAACG,QAAQ,EAAE;MAClCK,QAAQ,CACN,IAAIC,KAAK,CAAC,aAAaR,IAAI,uCAAuC,CACpE,CAAC;IACH;EACF,CAAC,EAAE,CAACD,iBAAiB,EAAEG,QAAQ,EAAEF,IAAI,CAAC,CAAC;;EAEvC;EACAL,SAAS,CAAC,MAAM;IACd,IAAI,CAACO,QAAQ,EAAE;;IAEf;IACA;IACA,MAAMO,cAAc,GAAGR,OAAO,CAACS,uBAAuB,GAClDR,QAAQ,CAACS,WAAW,CAACV,OAAO,CAACS,uBAAuB,CAAC,GACrDR,QAAQ,CAACS,WAAW,CAAEC,QAAQ,IAAK;MACjCP,QAAQ,CAACO,QAAQ,CAAC;IACpB,CAAC,CAAC;IAEN,OAAO,MAAM;MACXH,cAAc,CAAC,CAAC;MAChBP,QAAQ,CAACW,OAAO,CAAC,CAAC;IACpB,CAAC;EACH,CAAC,EAAE,CAACZ,OAAO,EAAEC,QAAQ,CAAC,CAAC;;EAEvB;EACA,MAAMY,gBAAgB,GAAGpB,WAAW,CACjCqB,cAAqD,IAAK;IACzD,IAAI,CAACb,QAAQ,EAAE;MACbK,QAAQ,CACN,IAAIC,KAAK,CACP,kCAAkCR,IAAI,sGACxC,CACF,CAAC;IACH,CAAC,MAAM;MACL,MAAMY,UAAQ,GACZ,OAAOG,cAAc,KAAK,UAAU,GAC/BA,cAAc,CACbb,QAAQ,CAACE,KACX,CAAC,GACDW,cAAc;MACpBb,QAAQ,CAACE,KAAK,GAAGQ,UAAQ;IAC3B;EACF,CAAC,EACD,CAACV,QAAQ,EAAEF,IAAI,CACjB,CAAC;EAED,OAAO,CAACI,KAAK,EAAEU,gBAAgB,EAAER,KAAK,EAAEJ,QAAQ,CAAiB;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { useRiveProperty } from "./useRiveProperty.js";
4
5
  const STRING_PROPERTY_OPTIONS = {
5
6
  getProperty: (vmi, p) => vmi.stringProperty(p)
@@ -13,11 +14,22 @@ const STRING_PROPERTY_OPTIONS = {
13
14
  * @returns An object with the number value, a setter function, and an error if the property is not found
14
15
  */
15
16
  export function useRiveString(path, viewModelInstance) {
17
+ const $ = _c(4);
16
18
  const [value, setValue, error] = useRiveProperty(viewModelInstance, path, STRING_PROPERTY_OPTIONS);
17
- return {
18
- value,
19
- setValue,
20
- error
21
- };
19
+ let t0;
20
+ if ($[0] !== error || $[1] !== setValue || $[2] !== value) {
21
+ t0 = {
22
+ value,
23
+ setValue,
24
+ error
25
+ };
26
+ $[0] = error;
27
+ $[1] = setValue;
28
+ $[2] = value;
29
+ $[3] = t0;
30
+ } else {
31
+ t0 = $[3];
32
+ }
33
+ return t0;
22
34
  }
23
35
  //# sourceMappingURL=useRiveString.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useRiveProperty","STRING_PROPERTY_OPTIONS","getProperty","vmi","p","stringProperty","useRiveString","path","viewModelInstance","value","setValue","error"],"sourceRoot":"../../../src","sources":["hooks/useRiveString.ts"],"mappings":";;AAKA,SAASA,eAAe,QAAQ,sBAAmB;AAEnD,MAAMC,uBAAuB,GAAG;EAC9BC,WAAW,EAAEA,CAACC,GAAsB,EAAEC,CAAS,KAAKD,GAAG,CAACE,cAAc,CAACD,CAAC;AAC1E,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,aAAaA,CAC3BC,IAAY,EACZC,iBAA4C,EACb;EAC/B,MAAM,CAACC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,CAAC,GAAGX,eAAe,CAG9CQ,iBAAiB,EAAED,IAAI,EAAEN,uBAAuB,CAAC;EACnD,OAAO;IAAEQ,KAAK;IAAEC,QAAQ;IAAEC;EAAM,CAAC;AACnC","ignoreList":[]}
1
+ {"version":3,"names":["useRiveProperty","STRING_PROPERTY_OPTIONS","getProperty","vmi","p","stringProperty","useRiveString","path","viewModelInstance","$","_c","value","setValue","error","t0"],"sourceRoot":"../../../src","sources":["hooks/useRiveString.ts"],"mappings":";;;AAKA,SAASA,eAAe,QAAQ,sBAAmB;AAEnD,MAAMC,uBAAuB,GAAG;EAC9BC,WAAW,EAAEA,CAACC,GAAsB,EAAEC,CAAS,KAAKD,GAAG,CAACE,cAAc,CAACD,CAAC;AAC1E,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAAE,cAAAC,IAAA,EAAAC,iBAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAIL,OAAAC,KAAA,EAAAC,QAAA,EAAAC,KAAA,IAAiCb,eAAe,CAG9CQ,iBAAiB,EAAED,IAAI,EAAEN,uBAAuB,CAAC;EAAC,IAAAa,EAAA;EAAA,IAAAL,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAE,KAAA;IAC7CG,EAAA;MAAAH,KAAA;MAAAC,QAAA;MAAAC;IAAyB,CAAC;IAAAJ,CAAA,MAAAI,KAAA;IAAAJ,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAE,KAAA;IAAAF,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAAA,OAA1BK,EAA0B;AAAA","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { useCallback, useMemo } from 'react';
4
5
  import { useRiveProperty } from "./useRiveProperty.js";
5
6
  const getTriggerProperty = (vmi, p) => vmi.triggerProperty(p);
@@ -12,22 +13,56 @@ const getTriggerProperty = (vmi, p) => vmi.triggerProperty(p);
12
13
  * @returns A trigger function that can be called to fire the trigger
13
14
  */
14
15
  export function useRiveTrigger(path, viewModelInstance, params) {
16
+ const $ = _c(9);
17
+ let t0;
18
+ if ($[0] !== params) {
19
+ t0 = params ?? {};
20
+ $[0] = params;
21
+ $[1] = t0;
22
+ } else {
23
+ t0 = $[1];
24
+ }
15
25
  const {
16
26
  onTrigger
17
- } = params ?? {};
18
- const triggerOptions = useMemo(() => ({
19
- getProperty: getTriggerProperty,
20
- onPropertyEventOverride: onTrigger
21
- }), [onTrigger]);
22
- const [_, __, error, property] = useRiveProperty(viewModelInstance, path, triggerOptions);
23
- const trigger = useCallback(() => {
24
- if (property) {
25
- property.trigger();
26
- }
27
- }, [property]);
28
- return {
29
- trigger,
30
- error
31
- };
27
+ } = t0;
28
+ let t1;
29
+ if ($[2] !== onTrigger) {
30
+ t1 = {
31
+ getProperty: getTriggerProperty,
32
+ onPropertyEventOverride: onTrigger
33
+ };
34
+ $[2] = onTrigger;
35
+ $[3] = t1;
36
+ } else {
37
+ t1 = $[3];
38
+ }
39
+ const triggerOptions = t1;
40
+ const [,, error, property] = useRiveProperty(viewModelInstance, path, triggerOptions);
41
+ let t2;
42
+ if ($[4] !== property) {
43
+ t2 = () => {
44
+ if (property) {
45
+ property.trigger();
46
+ }
47
+ };
48
+ $[4] = property;
49
+ $[5] = t2;
50
+ } else {
51
+ t2 = $[5];
52
+ }
53
+ const trigger = t2;
54
+ let t3;
55
+ if ($[6] !== error || $[7] !== trigger) {
56
+ t3 = {
57
+ trigger,
58
+ error
59
+ };
60
+ $[6] = error;
61
+ $[7] = trigger;
62
+ $[8] = t3;
63
+ } else {
64
+ t3 = $[8];
65
+ }
66
+ return t3;
32
67
  }
33
68
  //# sourceMappingURL=useRiveTrigger.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useMemo","useRiveProperty","getTriggerProperty","vmi","p","triggerProperty","useRiveTrigger","path","viewModelInstance","params","onTrigger","triggerOptions","getProperty","onPropertyEventOverride","_","__","error","property","trigger"],"sourceRoot":"../../../src","sources":["hooks/useRiveTrigger.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAS5C,SAASC,eAAe,QAAQ,sBAAmB;AAEnD,MAAMC,kBAAkB,GAAGA,CAACC,GAAsB,EAAEC,CAAS,KAC3DD,GAAG,CAACE,eAAe,CAACD,CAAC,CAAC;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,cAAcA,CAC5BC,IAAY,EACZC,iBAA4C,EAC5CC,MAA8C,EACxB;EACtB,MAAM;IAAEC;EAAU,CAAC,GAAGD,MAAM,IAAI,CAAC,CAAC;EAElC,MAAME,cAAc,GAAGX,OAAO,CAC5B,OAAO;IACLY,WAAW,EAAEV,kBAAkB;IAC/BW,uBAAuB,EAAEH;EAC3B,CAAC,CAAC,EACF,CAACA,SAAS,CACZ,CAAC;EAED,MAAM,CAACI,CAAC,EAAEC,EAAE,EAAEC,KAAK,EAAEC,QAAQ,CAAC,GAAGhB,eAAe,CAG9CO,iBAAiB,EAAED,IAAI,EAAEI,cAAc,CAAC;EAE1C,MAAMO,OAAO,GAAGnB,WAAW,CAAC,MAAM;IAChC,IAAIkB,QAAQ,EAAE;MACZA,QAAQ,CAACC,OAAO,CAAC,CAAC;IACpB;EACF,CAAC,EAAE,CAACD,QAAQ,CAAC,CAAC;EAEd,OAAO;IAAEC,OAAO;IAAEF;EAAM,CAAC;AAC3B","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useMemo","useRiveProperty","getTriggerProperty","vmi","p","triggerProperty","useRiveTrigger","path","viewModelInstance","params","$","_c","t0","onTrigger","t1","getProperty","onPropertyEventOverride","triggerOptions","error","property","t2","trigger","t3"],"sourceRoot":"../../../src","sources":["hooks/useRiveTrigger.ts"],"mappings":";;;AAAA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAS5C,SAASC,eAAe,QAAQ,sBAAmB;AAEnD,MAAMC,kBAAkB,GAAGA,CAACC,GAAsB,EAAEC,CAAS,KAC3DD,GAAG,CAACE,eAAe,CAACD,CAAC,CAAC;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAAE,eAAAC,IAAA,EAAAC,iBAAA,EAAAC,MAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAF,CAAA,QAAAD,MAAA;IAKiBG,EAAA,GAAAH,MAAY,IAAZ,CAAW,CAAC;IAAAC,CAAA,MAAAD,MAAA;IAAAC,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EAAlC;IAAAG;EAAA,IAAsBD,EAAY;EAAC,IAAAE,EAAA;EAAA,IAAAJ,CAAA,QAAAG,SAAA;IAG1BC,EAAA;MAAAC,WAAA,EACQb,kBAAkB;MAAAc,uBAAA,EACNH;IAC3B,CAAC;IAAAH,CAAA,MAAAG,SAAA;IAAAH,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAJH,MAAAO,cAAA,GACSH,EAGN;EAIH,UAAAI,KAAA,EAAAC,QAAA,IAAiClB,eAAe,CAG9CO,iBAAiB,EAAED,IAAI,EAAEU,cAAc,CAAC;EAAC,IAAAG,EAAA;EAAA,IAAAV,CAAA,QAAAS,QAAA;IAEfC,EAAA,GAAAA,CAAA;MAC1B,IAAID,QAAQ;QACVA,QAAQ,CAAAE,OAAQ,CAAC,CAAC;MAAA;IACnB,CACF;IAAAX,CAAA,MAAAS,QAAA;IAAAT,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAJD,MAAAW,OAAA,GAAgBD,EAIF;EAAC,IAAAE,EAAA;EAAA,IAAAZ,CAAA,QAAAQ,KAAA,IAAAR,CAAA,QAAAW,OAAA;IAERC,EAAA;MAAAD,OAAA;MAAAH;IAAiB,CAAC;IAAAR,CAAA,MAAAQ,KAAA;IAAAR,CAAA,MAAAW,OAAA;IAAAX,CAAA,MAAAY,EAAA;EAAA;IAAAA,EAAA,GAAAZ,CAAA;EAAA;EAAA,OAAlBY,EAAkB;AAAA","ignoreList":[]}
@@ -2,13 +2,28 @@
2
2
 
3
3
  import { useMemo, useEffect, useRef } from 'react';
4
4
  import { callDispose } from "../core/callDispose.js";
5
+ import { ArtboardByName } from "../specs/ArtboardBy.js";
6
+
7
+ /**
8
+ * Use the ViewModel assigned to the default artboard.
9
+ */
10
+
11
+ /**
12
+ * Use the ViewModel assigned to a specific artboard.
13
+ */
14
+
15
+ /**
16
+ * Use a ViewModel by name (file-wide lookup).
17
+ * ViewModels are defined at the file level, not per-artboard.
18
+ */
19
+
5
20
  function isRiveViewRef(source) {
6
- return source !== null && source !== undefined && 'getViewModelInstance' in source;
21
+ return source !== null && 'getViewModelInstance' in source;
7
22
  }
8
23
  function isRiveFile(source) {
9
- return source !== null && source !== undefined && 'defaultArtboardViewModel' in source;
24
+ return source !== null && 'defaultArtboardViewModel' in source;
10
25
  }
11
- function createInstance(source, name, useNew) {
26
+ function createInstance(source, instanceName, artboardName, viewModelName, useNew) {
12
27
  if (!source) {
13
28
  return {
14
29
  instance: null,
@@ -23,8 +38,40 @@ function createInstance(source, name, useNew) {
23
38
  };
24
39
  }
25
40
  if (isRiveFile(source)) {
26
- const viewModel = source.defaultArtboardViewModel();
27
- const vmi = viewModel?.createDefaultInstance();
41
+ let viewModel;
42
+ if (viewModelName) {
43
+ viewModel = source.viewModelByName(viewModelName);
44
+ if (!viewModel) {
45
+ return {
46
+ instance: null,
47
+ needsDispose: false,
48
+ error: `ViewModel '${viewModelName}' not found`
49
+ };
50
+ }
51
+ } else {
52
+ viewModel = source.defaultArtboardViewModel(artboardName ? ArtboardByName(artboardName) : undefined);
53
+ if (!viewModel) {
54
+ if (artboardName) {
55
+ return {
56
+ instance: null,
57
+ needsDispose: false,
58
+ error: `Artboard '${artboardName}' not found or has no ViewModel`
59
+ };
60
+ }
61
+ return {
62
+ instance: null,
63
+ needsDispose: false
64
+ };
65
+ }
66
+ }
67
+ const vmi = instanceName ? viewModel.createInstanceByName(instanceName) : viewModel.createDefaultInstance();
68
+ if (!vmi && instanceName) {
69
+ return {
70
+ instance: null,
71
+ needsDispose: false,
72
+ error: `ViewModel instance '${instanceName}' not found`
73
+ };
74
+ }
28
75
  return {
29
76
  instance: vmi ?? null,
30
77
  needsDispose: true
@@ -33,8 +80,15 @@ function createInstance(source, name, useNew) {
33
80
 
34
81
  // ViewModel source
35
82
  let vmi;
36
- if (name) {
37
- vmi = source.createInstanceByName(name);
83
+ if (instanceName) {
84
+ vmi = source.createInstanceByName(instanceName);
85
+ if (!vmi) {
86
+ return {
87
+ instance: null,
88
+ needsDispose: false,
89
+ error: `ViewModel instance '${instanceName}' not found`
90
+ };
91
+ }
38
92
  } else if (useNew) {
39
93
  vmi = source.createInstance();
40
94
  } else {
@@ -50,7 +104,7 @@ function createInstance(source, name, useNew) {
50
104
  * Hook for getting a ViewModelInstance from a RiveFile, ViewModel, or RiveViewRef.
51
105
  *
52
106
  * @param source - The RiveFile, ViewModel, or RiveViewRef to get an instance from
53
- * @param params - Configuration for which instance to retrieve (only used with ViewModel)
107
+ * @param params - Configuration for which instance to retrieve
54
108
  * @returns The ViewModelInstance or null if not found
55
109
  *
56
110
  * @example
@@ -62,6 +116,27 @@ function createInstance(source, name, useNew) {
62
116
  *
63
117
  * @example
64
118
  * ```tsx
119
+ * // From RiveFile with specific instance name
120
+ * const { riveFile } = useRiveFile(require('./animation.riv'));
121
+ * const instance = useViewModelInstance(riveFile, { instanceName: 'PersonInstance' });
122
+ * ```
123
+ *
124
+ * @example
125
+ * ```tsx
126
+ * // From RiveFile with specific ViewModel name
127
+ * const { riveFile } = useRiveFile(require('./animation.riv'));
128
+ * const instance = useViewModelInstance(riveFile, { viewModelName: 'Settings' });
129
+ * ```
130
+ *
131
+ * @example
132
+ * ```tsx
133
+ * // From RiveFile with specific artboard
134
+ * const { riveFile } = useRiveFile(require('./animation.riv'));
135
+ * const instance = useViewModelInstance(riveFile, { artboardName: 'MainArtboard' });
136
+ * ```
137
+ *
138
+ * @example
139
+ * ```tsx
65
140
  * // From RiveViewRef (get auto-bound instance)
66
141
  * const { riveViewRef, setHybridRef } = useRive();
67
142
  * const instance = useViewModelInstance(riveViewRef);
@@ -100,21 +175,31 @@ function createInstance(source, name, useNew) {
100
175
  * // Values are already set here
101
176
  * ```
102
177
  */
178
+ // RiveFile overloads
179
+
180
+ // ViewModel overloads
181
+
182
+ // RiveViewRef overloads
103
183
 
184
+ // Implementation
104
185
  export function useViewModelInstance(source, params) {
105
- const name = params?.name;
186
+ const fileInstanceName = params?.instanceName;
187
+ const viewModelInstanceName = params?.name;
188
+ const instanceName = fileInstanceName ?? viewModelInstanceName;
189
+ const artboardName = params?.artboardName;
190
+ const viewModelName = params?.viewModelName;
106
191
  const useNew = params?.useNew ?? false;
107
192
  const required = params?.required ?? false;
108
193
  const onInit = params?.onInit;
109
194
  const prevInstanceRef = useRef(null);
110
195
  const result = useMemo(() => {
111
- const created = createInstance(source, name, useNew);
196
+ const created = createInstance(source, instanceName, artboardName, viewModelName, useNew);
112
197
  if (created.instance && onInit) {
113
198
  onInit(created.instance);
114
199
  }
115
200
  return created;
116
201
  // eslint-disable-next-line react-hooks/exhaustive-deps -- onInit excluded intentionally
117
- }, [source, name, useNew]);
202
+ }, [source, instanceName, artboardName, viewModelName, useNew]);
118
203
 
119
204
  // Dispose previous instance if it changed and needed disposal
120
205
  if (prevInstanceRef.current && prevInstanceRef.current.instance !== result.instance && prevInstanceRef.current.needsDispose && prevInstanceRef.current.instance) {
@@ -132,7 +217,7 @@ export function useViewModelInstance(source, params) {
132
217
  };
133
218
  }, []);
134
219
  if (required && result.instance === null) {
135
- throw new Error('useViewModelInstance: Failed to get ViewModelInstance. ' + 'Ensure the source has a valid ViewModel and instance available.');
220
+ throw new Error(result.error ? `useViewModelInstance: ${result.error}` : 'useViewModelInstance: Failed to get ViewModelInstance. ' + 'Ensure the source has a valid ViewModel and instance available.');
136
221
  }
137
222
  return result.instance;
138
223
  }