@rive-app/react-native 0.2.1 → 0.2.3

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 (33) 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/android/src/main/java/com/rive/RiveReactNativeView.kt +70 -52
  5. package/ios/HybridRiveFile.swift +1 -0
  6. package/ios/HybridViewModel.swift +1 -0
  7. package/ios/RiveReactNativeView.swift +17 -19
  8. package/lib/module/core/RiveView.js +38 -9
  9. package/lib/module/core/RiveView.js.map +1 -1
  10. package/lib/module/hooks/useRive.js +56 -38
  11. package/lib/module/hooks/useRive.js.map +1 -1
  12. package/lib/module/hooks/useRiveBoolean.js +17 -5
  13. package/lib/module/hooks/useRiveBoolean.js.map +1 -1
  14. package/lib/module/hooks/useRiveColor.js +38 -10
  15. package/lib/module/hooks/useRiveColor.js.map +1 -1
  16. package/lib/module/hooks/useRiveEnum.js +21 -9
  17. package/lib/module/hooks/useRiveEnum.js.map +1 -1
  18. package/lib/module/hooks/useRiveList.js +170 -54
  19. package/lib/module/hooks/useRiveList.js.map +1 -1
  20. package/lib/module/hooks/useRiveNumber.js +17 -5
  21. package/lib/module/hooks/useRiveNumber.js.map +1 -1
  22. package/lib/module/hooks/useRiveProperty.js +2 -2
  23. package/lib/module/hooks/useRiveProperty.js.map +1 -1
  24. package/lib/module/hooks/useRiveString.js +17 -5
  25. package/lib/module/hooks/useRiveString.js.map +1 -1
  26. package/lib/module/hooks/useRiveTrigger.js +50 -15
  27. package/lib/module/hooks/useRiveTrigger.js.map +1 -1
  28. package/lib/typescript/src/hooks/useRiveEnum.d.ts.map +1 -1
  29. package/lib/typescript/src/specs/RiveView.nitro.d.ts +1 -1
  30. package/lib/typescript/src/specs/RiveView.nitro.d.ts.map +1 -1
  31. package/package.json +4 -2
  32. package/src/hooks/useRiveEnum.ts +5 -4
  33. package/src/specs/RiveView.nitro.ts +1 -1
@@ -24,13 +24,22 @@ class HybridRiveFile : HybridRiveFileSpec() {
24
24
  get() = riveFile?.viewModelCount?.toDouble()
25
25
 
26
26
  override fun viewModelByIndex(index: Double): HybridViewModelSpec? {
27
- val vm = riveFile?.getViewModelByIndex(index.toInt()) ?: return null
28
- return HybridViewModel(vm)
27
+ if (index < 0) return null
28
+ return try {
29
+ val vm = riveFile?.getViewModelByIndex(index.toInt()) ?: return null
30
+ HybridViewModel(vm)
31
+ } catch (e: Exception) {
32
+ null
33
+ }
29
34
  }
30
35
 
31
36
  override fun viewModelByName(name: String): HybridViewModelSpec? {
32
- val vm = riveFile?.getViewModelByName(name) ?: return null
33
- return HybridViewModel(vm)
37
+ return try {
38
+ val vm = riveFile?.getViewModelByName(name) ?: return null
39
+ HybridViewModel(vm)
40
+ } catch (e: Exception) {
41
+ null
42
+ }
34
43
  }
35
44
 
36
45
  override fun defaultArtboardViewModel(artboardBy: ArtboardBy?): HybridViewModelSpec? {
@@ -16,6 +16,7 @@ class HybridViewModel(private val viewModel: ViewModel) : HybridViewModelSpec()
16
16
  get() = viewModel.name
17
17
 
18
18
  override fun createInstanceByIndex(index: Double): HybridViewModelInstanceSpec? {
19
+ if (index < 0) return null
19
20
  try {
20
21
  val vmi = viewModel.createInstanceFromIndex(index.toInt())
21
22
  return HybridViewModelInstance(vmi)
@@ -12,7 +12,7 @@ class HybridViewModelColorProperty(private val viewModelColor: ViewModelColorPro
12
12
  override var value: Double
13
13
  get() = viewModelColor.value.toDouble()
14
14
  set(value) {
15
- viewModelColor.value = value.toInt()
15
+ viewModelColor.value = value.toLong().toInt()
16
16
  }
17
17
 
18
18
  override fun addListener(onChanged: (value: Double) -> Unit): () -> Unit {
@@ -77,6 +77,7 @@ class RiveReactNativeView(context: ThemedReactContext) : FrameLayout(context) {
77
77
  private var eventListeners: MutableList<RiveFileController.RiveEventListener> = mutableListOf()
78
78
  private val viewReadyDeferred = CompletableDeferred<Boolean>()
79
79
  private var _activeStateMachineName: String? = null
80
+ private var _pendingBindData: BindData? = null
80
81
  private var willDispose = false
81
82
 
82
83
  init {
@@ -119,8 +120,8 @@ class RiveReactNativeView(context: ThemedReactContext) : FrameLayout(context) {
119
120
  riveAnimationView?.layoutScaleFactor = config.layoutScaleFactor
120
121
  }
121
122
 
122
- if (dataBindingChanged || initialUpdate) {
123
- applyDataBinding(config.bindData)
123
+ if (dataBindingChanged || initialUpdate || reload) {
124
+ applyDataBinding(config.bindData, config.autoPlay)
124
125
  }
125
126
 
126
127
  viewReadyDeferred.complete(true)
@@ -142,50 +143,36 @@ class RiveReactNativeView(context: ThemedReactContext) : FrameLayout(context) {
142
143
  }
143
144
  }
144
145
 
145
- fun applyDataBinding(bindData: BindData) {
146
+ fun applyDataBinding(bindData: BindData, autoPlay: Boolean) {
146
147
  val stateMachines = riveAnimationView?.controller?.stateMachines
147
- if (stateMachines.isNullOrEmpty()) return
148
+ if (stateMachines.isNullOrEmpty()) {
149
+ _pendingBindData = bindData
150
+ return
151
+ }
148
152
 
149
- val stateMachine = stateMachines.first()
153
+ bindToStateMachine(bindData)
150
154
 
151
- when (bindData) {
152
- is BindData.None -> {
153
- stateMachine.viewModelInstance = null
154
- }
155
- is BindData.Auto -> {
156
- val artboard = riveAnimationView?.controller?.activeArtboard
157
- val file = riveAnimationView?.controller?.file
158
- if (artboard != null && file != null) {
159
- try {
160
- file.defaultViewModelForArtboard(artboard)
161
- } catch (e: ViewModelException) {
162
- null
163
- }?.let {
164
- val instance = it.createDefaultInstance()
165
- stateMachine.viewModelInstance = instance
166
- }
167
- }
168
- }
169
- is BindData.Instance -> {
170
- stateMachine.viewModelInstance = bindData.instance
171
- }
172
- is BindData.ByName -> {
173
- val artboard = riveAnimationView?.controller?.activeArtboard
174
- val file = riveAnimationView?.controller?.file
175
- if (artboard != null && file != null) {
176
- val viewModel = file.defaultViewModelForArtboard(artboard)
177
- val instance = viewModel.createInstanceFromName(bindData.name)
178
- stateMachine.viewModelInstance = instance
179
- }
155
+ if (autoPlay) {
156
+ stateMachines.first().name.let { smName ->
157
+ riveAnimationView?.play(smName, isStateMachine = true)
180
158
  }
181
159
  }
160
+ }
182
161
 
183
- stateMachine.name.let { smName ->
184
- riveAnimationView?.play(smName, isStateMachine = true)
162
+ fun play() {
163
+ if (_activeStateMachineName == null) {
164
+ _activeStateMachineName = getSafeStateMachineName()
185
165
  }
166
+ riveAnimationView?.play()
167
+ applyPendingBindData()
186
168
  }
187
169
 
188
- fun play() = riveAnimationView?.play()
170
+ private fun applyPendingBindData() {
171
+ _pendingBindData?.let { bindData ->
172
+ _pendingBindData = null
173
+ bindToStateMachine(bindData)
174
+ }
175
+ }
189
176
 
190
177
  fun pause() = riveAnimationView?.pause()
191
178
 
@@ -324,6 +311,44 @@ class RiveReactNativeView(context: ThemedReactContext) : FrameLayout(context) {
324
311
 
325
312
  //region Internal
326
313
 
314
+ private fun bindToStateMachine(bindData: BindData) {
315
+ val stateMachines = riveAnimationView?.controller?.stateMachines
316
+ if (stateMachines.isNullOrEmpty()) return
317
+ val stateMachine = stateMachines.first()
318
+
319
+ when (bindData) {
320
+ is BindData.None -> {
321
+ stateMachine.viewModelInstance = null
322
+ }
323
+ is BindData.Auto -> {
324
+ val artboard = riveAnimationView?.controller?.activeArtboard
325
+ val file = riveAnimationView?.controller?.file
326
+ if (artboard != null && file != null) {
327
+ try {
328
+ file.defaultViewModelForArtboard(artboard)
329
+ } catch (e: ViewModelException) {
330
+ null
331
+ }?.let {
332
+ val instance = it.createDefaultInstance()
333
+ stateMachine.viewModelInstance = instance
334
+ }
335
+ }
336
+ }
337
+ is BindData.Instance -> {
338
+ stateMachine.viewModelInstance = bindData.instance
339
+ }
340
+ is BindData.ByName -> {
341
+ val artboard = riveAnimationView?.controller?.activeArtboard
342
+ val file = riveAnimationView?.controller?.file
343
+ if (artboard != null && file != null) {
344
+ val viewModel = file.defaultViewModelForArtboard(artboard)
345
+ val instance = viewModel.createInstanceFromName(bindData.name)
346
+ stateMachine.viewModelInstance = instance
347
+ }
348
+ }
349
+ }
350
+ }
351
+
327
352
  private fun convertEventProperties(properties: Map<String, Any>?): Map<String, EventPropertiesOutput>? {
328
353
  if (properties == null) return null
329
354
 
@@ -363,24 +388,17 @@ class RiveReactNativeView(context: ThemedReactContext) : FrameLayout(context) {
363
388
  }
364
389
  }
365
390
 
366
- // TODO: this is throwing when autoplay is false
367
- // TODO: This is a temporary solution to get the state machine name as Android supports
391
+ // This is a temporary solution to get the state machine name as Android supports
368
392
  // playing multiple state machines, but in React Native we only allow playing one.
369
393
  /**
370
- * Gets the name of the active state machine.
371
- * @throws Error if the state machine name could not be found
372
- * @return The name of the state machine that "is playing" / "will be played"
394
+ * Gets the name of the active state machine, or null if no state machines are loaded yet
395
+ * (e.g. when autoPlay is false and the state machine hasn't been started).
396
+ * @return The name of the state machine, or null
373
397
  */
374
- private fun getSafeStateMachineName(): String {
375
- try {
376
- val stateMachines = riveAnimationView?.controller?.stateMachines
377
- if (stateMachines.isNullOrEmpty()) {
378
- throw Exception("No state machines found in the Rive file")
379
- }
380
- return stateMachines.first().name
381
- } catch (e: Exception) {
382
- throw Error(e.message)
383
- }
398
+ private fun getSafeStateMachineName(): String? {
399
+ val stateMachines = riveAnimationView?.controller?.stateMachines
400
+ if (stateMachines.isNullOrEmpty()) return null
401
+ return stateMachines.first().name
384
402
  }
385
403
 
386
404
  /**
@@ -36,6 +36,7 @@ class HybridRiveFile: HybridRiveFileSpec, RiveViewSource {
36
36
  }
37
37
 
38
38
  func viewModelByIndex(index: Double) throws -> (any HybridViewModelSpec)? {
39
+ guard index >= 0 else { return nil }
39
40
  guard let vm = riveFile?.viewModel(at: UInt(index)) else { return nil }
40
41
  return HybridViewModel(viewModel: vm)
41
42
  }
@@ -14,6 +14,7 @@ class HybridViewModel: HybridViewModelSpec {
14
14
  var modelName: String { viewModel?.name ?? "" }
15
15
 
16
16
  func createInstanceByIndex(index: Double) throws -> (any HybridViewModelInstanceSpec)? {
17
+ guard index >= 0 else { return nil }
17
18
  guard let viewModel = viewModel,
18
19
  let vmi = viewModel.createInstance(fromIndex: UInt(index)) else { return nil }
19
20
  return HybridViewModelInstance(viewModelInstance: vmi)
@@ -81,8 +81,8 @@ class RiveReactNativeView: UIView, RiveStateMachineDelegate {
81
81
  viewReadyContinuation = nil
82
82
  }
83
83
 
84
- if dataBindingChanged || initialUpdate {
85
- try applyDataBinding(config.bindData)
84
+ if dataBindingChanged || initialUpdate || reload {
85
+ try applyDataBinding(config.bindData, autoPlay: config.autoPlay)
86
86
  }
87
87
  }
88
88
 
@@ -94,19 +94,28 @@ class RiveReactNativeView: UIView, RiveStateMachineDelegate {
94
94
  return baseViewModel?.riveModel?.stateMachine?.viewModelInstance
95
95
  }
96
96
 
97
- func applyDataBinding(_ bindData: BindData) throws {
97
+ func applyDataBinding(_ bindData: BindData, autoPlay: Bool) throws {
98
+ try bindToStateMachine(bindData)
99
+
100
+ if autoPlay {
101
+ play()
102
+ }
103
+ }
104
+
105
+ @MainActor
106
+ func play() {
107
+ baseViewModel?.play()
108
+ }
109
+
110
+ private func bindToStateMachine(_ bindData: BindData) throws {
98
111
  let stateMachine = baseViewModel?.riveModel?.stateMachine
99
112
  let artboard = baseViewModel?.riveModel?.artboard
100
113
 
101
114
  switch bindData {
102
115
  case .none:
103
116
  baseViewModel?.riveModel?.disableAutoBind()
104
-
105
117
  case .auto:
106
- baseViewModel?.riveModel?.enableAutoBind { _ in
107
- // Auto-bind callback
108
- }
109
-
118
+ baseViewModel?.riveModel?.enableAutoBind { _ in }
110
119
  case .byName(let name):
111
120
  guard let artboard = artboard,
112
121
  let riveFile = baseViewModel?.riveModel?.riveFile,
@@ -116,20 +125,9 @@ class RiveReactNativeView: UIView, RiveStateMachineDelegate {
116
125
  throw NitroRiveError.instanceNotFound(message: "\(name) instance not found")
117
126
  }
118
127
  stateMachine?.bind(viewModelInstance: instance)
119
- // this should be added if we support only playing artboards on their own - https://github.com/rive-app/rive-nitro-react-native/pull/23#discussion_r2534698281
120
- // artboard.bind(viewModelInstance: instance)
121
-
122
128
  case .instance(let instance):
123
129
  stateMachine?.bind(viewModelInstance: instance)
124
- // this should be added if we support only playing artboards on their own - https://github.com/rive-app/rive-nitro-react-native/pull/23#discussion_r2534698281
125
- // artboard?.bind(viewModelInstance: instance)
126
130
  }
127
- play()
128
- }
129
-
130
- @MainActor
131
- func play() {
132
- baseViewModel?.play()
133
131
  }
134
132
 
135
133
  @MainActor
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { NitroRiveView } from "./NitroRiveViewComponent.js";
4
5
  import { RiveErrorType } from "./Errors.js";
5
6
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -36,16 +37,44 @@ const defaultOnError = error => console.error(`[${RiveErrorType[error.type]}] ${
36
37
  * - pause(): Pauses the Rive graphic
37
38
  */
38
39
  export function RiveView(props) {
39
- const {
40
- onError,
41
- ...rest
42
- } = props;
40
+ const $ = _c(8);
41
+ let onError;
42
+ let rest;
43
+ if ($[0] !== props) {
44
+ ({
45
+ onError,
46
+ ...rest
47
+ } = props);
48
+ $[0] = props;
49
+ $[1] = onError;
50
+ $[2] = rest;
51
+ } else {
52
+ onError = $[1];
53
+ rest = $[2];
54
+ }
43
55
  const wrappedOnError = onError ?? defaultOnError;
44
- return /*#__PURE__*/_jsx(NitroRiveView, {
45
- ...rest,
46
- onError: {
56
+ let t0;
57
+ if ($[3] !== wrappedOnError) {
58
+ t0 = {
47
59
  f: wrappedOnError
48
- }
49
- });
60
+ };
61
+ $[3] = wrappedOnError;
62
+ $[4] = t0;
63
+ } else {
64
+ t0 = $[4];
65
+ }
66
+ let t1;
67
+ if ($[5] !== rest || $[6] !== t0) {
68
+ t1 = /*#__PURE__*/_jsx(NitroRiveView, {
69
+ ...rest,
70
+ onError: t0
71
+ });
72
+ $[5] = rest;
73
+ $[6] = t0;
74
+ $[7] = t1;
75
+ } else {
76
+ t1 = $[7];
77
+ }
78
+ return t1;
50
79
  }
51
80
  //# sourceMappingURL=RiveView.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NitroRiveView","RiveErrorType","jsx","_jsx","defaultOnError","error","console","type","message","RiveView","props","onError","rest","wrappedOnError","f"],"sourceRoot":"../../../src","sources":["core/RiveView.tsx"],"mappings":";;AACA,SAASA,aAAa,QAAQ,6BAA0B;AACxD,SAASC,aAAa,QAAwB,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOzD,MAAMC,cAAc,GAAIC,KAAgB,IACtCC,OAAO,CAACD,KAAK,CAAC,IAAIJ,aAAa,CAACI,KAAK,CAACE,IAAI,CAAC,KAAKF,KAAK,CAACG,OAAO,EAAE,CAAC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQA,CAACC,KAAoB,EAAE;EAC7C,MAAM;IAAEC,OAAO;IAAE,GAAGC;EAAK,CAAC,GAAGF,KAAK;EAClC,MAAMG,cAAc,GAAGF,OAAO,IAAIP,cAAc;EAEhD,oBAAOD,IAAA,CAACH,aAAa;IAAA,GAAKY,IAAI;IAAED,OAAO,EAAE;MAAEG,CAAC,EAAED;IAAe;EAAE,CAAE,CAAC;AACpE","ignoreList":[]}
1
+ {"version":3,"names":["NitroRiveView","RiveErrorType","jsx","_jsx","defaultOnError","error","console","type","message","RiveView","props","$","_c","onError","rest","wrappedOnError","t0","f","t1"],"sourceRoot":"../../../src","sources":["core/RiveView.tsx"],"mappings":";;;AACA,SAASA,aAAa,QAAQ,6BAA0B;AACxD,SAASC,aAAa,QAAwB,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOzD,MAAMC,cAAc,GAAIC,KAAgB,IACtCC,OAAO,CAACD,KAAK,CAAC,IAAIJ,aAAa,CAACI,KAAK,CAACE,IAAI,CAAC,KAAKF,KAAK,CAACG,OAAO,EAAE,CAAC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAAC,SAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAA,IAAAC,OAAA;EAAA,IAAAC,IAAA;EAAA,IAAAH,CAAA,QAAAD,KAAA;IACL;MAAAG,OAAA;MAAA,GAAAC;IAAA,IAA6BJ,KAAK;IAACC,CAAA,MAAAD,KAAA;IAAAC,CAAA,MAAAE,OAAA;IAAAF,CAAA,MAAAG,IAAA;EAAA;IAAAD,OAAA,GAAAF,CAAA;IAAAG,IAAA,GAAAH,CAAA;EAAA;EACnC,MAAAI,cAAA,GAAuBF,OAAyB,IAAzBT,cAAyB;EAAC,IAAAY,EAAA;EAAA,IAAAL,CAAA,QAAAI,cAAA;IAERC,EAAA;MAAAC,CAAA,EAAKF;IAAe,CAAC;IAAAJ,CAAA,MAAAI,cAAA;IAAAJ,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAAA,IAAAO,EAAA;EAAA,IAAAP,CAAA,QAAAG,IAAA,IAAAH,CAAA,QAAAK,EAAA;IAAvDE,EAAA,gBAAAf,IAAA,CAACH,aAAa;MAAA,GAAKc,IAAI;MAAWD,OAAqB,EAArBG;IAAqB,CAAG,CAAC;IAAAL,CAAA,MAAAG,IAAA;IAAAH,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAAA,OAA3DO,EAA2D;AAAA","ignoreList":[]}
@@ -1,51 +1,69 @@
1
1
  "use strict";
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { useRef, useCallback, useState } from 'react';
4
5
  export function useRive() {
6
+ const $ = _c(4);
5
7
  const riveRef = useRef(null);
6
8
  const [riveViewRef, setRiveViewRef] = useState(null);
7
9
  const timeoutRef = useRef(null);
8
- const setRef = useCallback(node => {
9
- if (riveRef.current !== node) {
10
- riveRef.current = node;
11
-
12
- // Clear any existing timeout
13
- if (timeoutRef.current) {
14
- clearTimeout(timeoutRef.current);
15
- }
16
- const timeout = new Promise((_, reject) => {
17
- timeoutRef.current = setTimeout(() => {
18
- reject(new Error('Rive view ready timeout'));
19
- }, 5000);
20
- });
21
-
22
- // TODO: Need to clear out the awaitViewReady promise if it times out
23
- // or add this timeout natively and return false
24
- Promise.race([node?.awaitViewReady(), timeout]).then(result => {
25
- if (result === true) {
26
- setRiveViewRef(node);
27
- } else {
28
- console.warn('Rive view ready check returned false');
29
- setRiveViewRef(null);
30
- }
31
- }).catch(error => {
32
- console.warn('Failed to initialize Rive view:', error);
33
- setRiveViewRef(null);
34
- }).finally(() => {
35
- // Clear the timeout in both success and error cases
10
+ let t0;
11
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
12
+ t0 = node => {
13
+ if (riveRef.current !== node) {
14
+ riveRef.current = node;
36
15
  if (timeoutRef.current) {
37
16
  clearTimeout(timeoutRef.current);
38
- timeoutRef.current = null;
39
17
  }
40
- });
41
- }
42
- }, []);
43
- return {
44
- riveRef,
45
- riveViewRef,
46
- setHybridRef: {
18
+ const timeout = new Promise((_, reject) => {
19
+ timeoutRef.current = setTimeout(() => {
20
+ reject(new Error("Rive view ready timeout"));
21
+ }, 5000);
22
+ });
23
+ Promise.race([node?.awaitViewReady(), timeout]).then(result => {
24
+ if (result === true) {
25
+ setRiveViewRef(node);
26
+ } else {
27
+ console.warn("Rive view ready check returned false");
28
+ setRiveViewRef(null);
29
+ }
30
+ }).catch(error => {
31
+ console.warn("Failed to initialize Rive view:", error);
32
+ setRiveViewRef(null);
33
+ }).finally(() => {
34
+ if (timeoutRef.current) {
35
+ clearTimeout(timeoutRef.current);
36
+ timeoutRef.current = null;
37
+ }
38
+ });
39
+ }
40
+ };
41
+ $[0] = t0;
42
+ } else {
43
+ t0 = $[0];
44
+ }
45
+ const setRef = t0;
46
+ let t1;
47
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
48
+ t1 = {
47
49
  f: setRef
48
- }
49
- };
50
+ };
51
+ $[1] = t1;
52
+ } else {
53
+ t1 = $[1];
54
+ }
55
+ let t2;
56
+ if ($[2] !== riveViewRef) {
57
+ t2 = {
58
+ riveRef,
59
+ riveViewRef,
60
+ setHybridRef: t1
61
+ };
62
+ $[2] = riveViewRef;
63
+ $[3] = t2;
64
+ } else {
65
+ t2 = $[3];
66
+ }
67
+ return t2;
50
68
  }
51
69
  //# sourceMappingURL=useRive.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useCallback","useState","useRive","riveRef","riveViewRef","setRiveViewRef","timeoutRef","setRef","node","current","clearTimeout","timeout","Promise","_","reject","setTimeout","Error","race","awaitViewReady","then","result","console","warn","catch","error","finally","setHybridRef","f"],"sourceRoot":"../../../src","sources":["hooks/useRive.ts"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAGrD,OAAO,SAASC,OAAOA,CAAA,EAAG;EACxB,MAAMC,OAAO,GAAGJ,MAAM,CAAc,IAAI,CAAC;EACzC,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAGJ,QAAQ,CAAqB,IAAI,CAAC;EACxE,MAAMK,UAAU,GAAGP,MAAM,CAAuC,IAAI,CAAC;EAErE,MAAMQ,MAAM,GAAGP,WAAW,CAAEQ,IAAwB,IAAK;IACvD,IAAIL,OAAO,CAACM,OAAO,KAAKD,IAAI,EAAE;MAC5BL,OAAO,CAACM,OAAO,GAAGD,IAAI;;MAEtB;MACA,IAAIF,UAAU,CAACG,OAAO,EAAE;QACtBC,YAAY,CAACJ,UAAU,CAACG,OAAO,CAAC;MAClC;MAEA,MAAME,OAAO,GAAG,IAAIC,OAAO,CAAC,CAACC,CAAC,EAAEC,MAAM,KAAK;QACzCR,UAAU,CAACG,OAAO,GAAGM,UAAU,CAAC,MAAM;UACpCD,MAAM,CAAC,IAAIE,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC9C,CAAC,EAAE,IAAI,CAAC;MACV,CAAC,CAAC;;MAEF;MACA;MACAJ,OAAO,CAACK,IAAI,CAAC,CAACT,IAAI,EAAEU,cAAc,CAAC,CAAC,EAAEP,OAAO,CAAC,CAAC,CAC5CQ,IAAI,CAAEC,MAAM,IAAK;QAChB,IAAIA,MAAM,KAAK,IAAI,EAAE;UACnBf,cAAc,CAACG,IAAI,CAAC;QACtB,CAAC,MAAM;UACLa,OAAO,CAACC,IAAI,CAAC,sCAAsC,CAAC;UACpDjB,cAAc,CAAC,IAAI,CAAC;QACtB;MACF,CAAC,CAAC,CACDkB,KAAK,CAAEC,KAAK,IAAK;QAChBH,OAAO,CAACC,IAAI,CAAC,iCAAiC,EAAEE,KAAK,CAAC;QACtDnB,cAAc,CAAC,IAAI,CAAC;MACtB,CAAC,CAAC,CACDoB,OAAO,CAAC,MAAM;QACb;QACA,IAAInB,UAAU,CAACG,OAAO,EAAE;UACtBC,YAAY,CAACJ,UAAU,CAACG,OAAO,CAAC;UAChCH,UAAU,CAACG,OAAO,GAAG,IAAI;QAC3B;MACF,CAAC,CAAC;IACN;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLN,OAAO;IACPC,WAAW;IACXsB,YAAY,EAAE;MACZC,CAAC,EAAEpB;IACL;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useCallback","useState","useRive","$","_c","riveRef","riveViewRef","setRiveViewRef","timeoutRef","t0","Symbol","for","node","current","clearTimeout","timeout","Promise","_","reject","setTimeout","Error","race","awaitViewReady","then","result","console","warn","catch","error","finally","setRef","t1","f","t2","setHybridRef"],"sourceRoot":"../../../src","sources":["hooks/useRive.ts"],"mappings":";;;AAAA,SAASA,MAAM,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAGrD,OAAO,SAAAC,QAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EACL,MAAAC,OAAA,GAAgBN,MAAM,CAAc,IAAI,CAAC;EACzC,OAAAO,WAAA,EAAAC,cAAA,IAAsCN,QAAQ,CAAqB,IAAI,CAAC;EACxE,MAAAO,UAAA,GAAmBT,MAAM,CAAuC,IAAI,CAAC;EAAC,IAAAU,EAAA;EAAA,IAAAN,CAAA,QAAAO,MAAA,CAAAC,GAAA;IAE3CF,EAAA,GAAAG,IAAA;MACzB,IAAIP,OAAO,CAAAQ,OAAQ,KAAKD,IAAI;QAC1BP,OAAO,CAAAQ,OAAA,GAAWD,IAAH;QAGf,IAAIJ,UAAU,CAAAK,OAAQ;UACpBC,YAAY,CAACN,UAAU,CAAAK,OAAQ,CAAC;QAAA;QAGlC,MAAAE,OAAA,GAAgB,IAAIC,OAAO,CAAC,CAAAC,CAAA,EAAAC,MAAA;UAC1BV,UAAU,CAAAK,OAAA,GAAWM,UAAU,CAAC;YAC9BD,MAAM,CAAC,IAAIE,KAAK,CAAC,yBAAyB,CAAC,CAAC;UAAA,CAC7C,EAAE,IAAI,CAFW;QAAA,CAGnB,CAAC;QAIFJ,OAAO,CAAAK,IAAK,CAAC,CAACT,IAAI,EAAAU,cAAkB,CAAD,CAAC,EAAEP,OAAO,CAAC,CAAC,CAAAQ,IACxC,CAACC,MAAA;UACJ,IAAIA,MAAM,KAAK,IAAI;YACjBjB,cAAc,CAACK,IAAI,CAAC;UAAA;YAEpBa,OAAO,CAAAC,IAAK,CAAC,sCAAsC,CAAC;YACpDnB,cAAc,CAAC,IAAI,CAAC;UAAA;QACrB,CACF,CAAC,CAAAoB,KACI,CAACC,KAAA;UACLH,OAAO,CAAAC,IAAK,CAAC,iCAAiC,EAAEE,KAAK,CAAC;UACtDrB,cAAc,CAAC,IAAI,CAAC;QAAA,CACrB,CAAC,CAAAsB,OACM,CAAC;UAEP,IAAIrB,UAAU,CAAAK,OAAQ;YACpBC,YAAY,CAACN,UAAU,CAAAK,OAAQ,CAAC;YAChCL,UAAU,CAAAK,OAAA,GAAW,IAAH;UAAA;QACnB,CACF,CAAC;MAAA;IACL,CACF;IAAAV,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAtCD,MAAA2B,MAAA,GAAerB,EAsCT;EAAC,IAAAsB,EAAA;EAAA,IAAA5B,CAAA,QAAAO,MAAA,CAAAC,GAAA;IAKSoB,EAAA;MAAAC,CAAA,EACTF;IACL,CAAC;IAAA3B,CAAA,MAAA4B,EAAA;EAAA;IAAAA,EAAA,GAAA5B,CAAA;EAAA;EAAA,IAAA8B,EAAA;EAAA,IAAA9B,CAAA,QAAAG,WAAA;IALI2B,EAAA;MAAA5B,OAAA;MAAAC,WAAA;MAAA4B,YAAA,EAGSH;IAGhB,CAAC;IAAA5B,CAAA,MAAAG,WAAA;IAAAH,CAAA,MAAA8B,EAAA;EAAA;IAAAA,EAAA,GAAA9B,CAAA;EAAA;EAAA,OANM8B,EAMN;AAAA","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 BOOLEAN_PROPERTY_OPTIONS = {
5
6
  getProperty: (vmi, p) => vmi.booleanProperty(p)
@@ -13,11 +14,22 @@ const BOOLEAN_PROPERTY_OPTIONS = {
13
14
  * @returns An object with the boolean value, a setter function, and an error if the property is not found
14
15
  */
15
16
  export function useRiveBoolean(path, viewModelInstance) {
17
+ const $ = _c(4);
16
18
  const [value, setValue, error] = useRiveProperty(viewModelInstance, path, BOOLEAN_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=useRiveBoolean.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useRiveProperty","BOOLEAN_PROPERTY_OPTIONS","getProperty","vmi","p","booleanProperty","useRiveBoolean","path","viewModelInstance","value","setValue","error"],"sourceRoot":"../../../src","sources":["hooks/useRiveBoolean.ts"],"mappings":";;AAKA,SAASA,eAAe,QAAQ,sBAAmB;AAEnD,MAAMC,wBAAwB,GAAG;EAC/BC,WAAW,EAAEA,CAACC,GAAsB,EAAEC,CAAS,KAAKD,GAAG,CAACE,eAAe,CAACD,CAAC;AAC3E,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,cAAcA,CAC5BC,IAAY,EACZC,iBAA4C,EACZ;EAChC,MAAM,CAACC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,CAAC,GAAGX,eAAe,CAG9CQ,iBAAiB,EAAED,IAAI,EAAEN,wBAAwB,CAAC;EACpD,OAAO;IAAEQ,KAAK;IAAEC,QAAQ;IAAEC;EAAM,CAAC;AACnC","ignoreList":[]}
1
+ {"version":3,"names":["useRiveProperty","BOOLEAN_PROPERTY_OPTIONS","getProperty","vmi","p","booleanProperty","useRiveBoolean","path","viewModelInstance","$","_c","value","setValue","error","t0"],"sourceRoot":"../../../src","sources":["hooks/useRiveBoolean.ts"],"mappings":";;;AAKA,SAASA,eAAe,QAAQ,sBAAmB;AAEnD,MAAMC,wBAAwB,GAAG;EAC/BC,WAAW,EAAEA,CAACC,GAAsB,EAAEC,CAAS,KAAKD,GAAG,CAACE,eAAe,CAACD,CAAC;AAC3E,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAAE,eAAAC,IAAA,EAAAC,iBAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAIL,OAAAC,KAAA,EAAAC,QAAA,EAAAC,KAAA,IAAiCb,eAAe,CAG9CQ,iBAAiB,EAAED,IAAI,EAAEN,wBAAwB,CAAC;EAAC,IAAAa,EAAA;EAAA,IAAAL,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAE,KAAA;IAC9CG,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 } from 'react';
4
5
  import { useRiveProperty } from "./useRiveProperty.js";
5
6
  import { RiveColor } from "../core/RiveColor.js";
@@ -14,16 +15,43 @@ const COLOR_PROPERTY_OPTIONS = {
14
15
  * @returns An object with the color value as RGBA, a setter function that accepts either RGBA or hex string, and an error if the property is not found
15
16
  */
16
17
  export function useRiveColor(path, viewModelInstance) {
18
+ const $ = _c(8);
17
19
  const [rawValue, setRawValue, error] = useRiveProperty(viewModelInstance, path, COLOR_PROPERTY_OPTIONS);
18
- const value = rawValue !== undefined ? RiveColor.fromInt(rawValue) : undefined;
19
- const setValue = useCallback(newValue => {
20
- const color = typeof newValue === 'string' ? RiveColor.fromHexString(newValue) : newValue;
21
- setRawValue(color.toInt());
22
- }, [setRawValue]);
23
- return {
24
- value,
25
- setValue,
26
- error
27
- };
20
+ let t0;
21
+ if ($[0] !== rawValue) {
22
+ t0 = rawValue !== undefined ? RiveColor.fromInt(rawValue) : undefined;
23
+ $[0] = rawValue;
24
+ $[1] = t0;
25
+ } else {
26
+ t0 = $[1];
27
+ }
28
+ const value = t0;
29
+ let t1;
30
+ if ($[2] !== setRawValue) {
31
+ t1 = newValue => {
32
+ const color = typeof newValue === "string" ? RiveColor.fromHexString(newValue) : newValue;
33
+ setRawValue(color.toInt());
34
+ };
35
+ $[2] = setRawValue;
36
+ $[3] = t1;
37
+ } else {
38
+ t1 = $[3];
39
+ }
40
+ const setValue = t1;
41
+ let t2;
42
+ if ($[4] !== error || $[5] !== setValue || $[6] !== value) {
43
+ t2 = {
44
+ value,
45
+ setValue,
46
+ error
47
+ };
48
+ $[4] = error;
49
+ $[5] = setValue;
50
+ $[6] = value;
51
+ $[7] = t2;
52
+ } else {
53
+ t2 = $[7];
54
+ }
55
+ return t2;
28
56
  }
29
57
  //# sourceMappingURL=useRiveColor.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useRiveProperty","RiveColor","COLOR_PROPERTY_OPTIONS","getProperty","vmi","p","colorProperty","useRiveColor","path","viewModelInstance","rawValue","setRawValue","error","value","undefined","fromInt","setValue","newValue","color","fromHexString","toInt"],"sourceRoot":"../../../src","sources":["hooks/useRiveColor.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAKnC,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,SAAS,QAAQ,sBAAmB;AAE7C,MAAMC,sBAAsB,GAAG;EAC7BC,WAAW,EAAEA,CAACC,GAAsB,EAAEC,CAAS,KAAKD,GAAG,CAACE,aAAa,CAACD,CAAC;AACzE,CAAC;AAQD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,YAAYA,CAC1BC,IAAY,EACZC,iBAA4C,EACxB;EACpB,MAAM,CAACC,QAAQ,EAAEC,WAAW,EAAEC,KAAK,CAAC,GAAGZ,eAAe,CAGpDS,iBAAiB,EAAED,IAAI,EAAEN,sBAAsB,CAAC;EAElD,MAAMW,KAAK,GACTH,QAAQ,KAAKI,SAAS,GAAGb,SAAS,CAACc,OAAO,CAACL,QAAQ,CAAC,GAAGI,SAAS;EAElE,MAAME,QAAQ,GAAGjB,WAAW,CACzBkB,QAA4B,IAAK;IAChC,MAAMC,KAAK,GACT,OAAOD,QAAQ,KAAK,QAAQ,GACxBhB,SAAS,CAACkB,aAAa,CAACF,QAAQ,CAAC,GACjCA,QAAQ;IACdN,WAAW,CAACO,KAAK,CAACE,KAAK,CAAC,CAAC,CAAC;EAC5B,CAAC,EACD,CAACT,WAAW,CACd,CAAC;EAED,OAAO;IAAEE,KAAK;IAAEG,QAAQ;IAAEJ;EAAM,CAAC;AACnC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useRiveProperty","RiveColor","COLOR_PROPERTY_OPTIONS","getProperty","vmi","p","colorProperty","useRiveColor","path","viewModelInstance","$","_c","rawValue","setRawValue","error","t0","undefined","fromInt","value","t1","newValue","color","fromHexString","toInt","setValue","t2"],"sourceRoot":"../../../src","sources":["hooks/useRiveColor.ts"],"mappings":";;;AAAA,SAASA,WAAW,QAAQ,OAAO;AAKnC,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,SAAS,QAAQ,sBAAmB;AAE7C,MAAMC,sBAAsB,GAAG;EAC7BC,WAAW,EAAEA,CAACC,GAAsB,EAAEC,CAAS,KAAKD,GAAG,CAACE,aAAa,CAACD,CAAC;AACzE,CAAC;AAQD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAAE,aAAAC,IAAA,EAAAC,iBAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAIL,OAAAC,QAAA,EAAAC,WAAA,EAAAC,KAAA,IAAuCd,eAAe,CAGpDS,iBAAiB,EAAED,IAAI,EAAEN,sBAAsB,CAAC;EAAC,IAAAa,EAAA;EAAA,IAAAL,CAAA,QAAAE,QAAA;IAGjDG,EAAA,GAAAH,QAAQ,KAAKI,SAAmD,GAAvCf,SAAS,CAAAgB,OAAQ,CAACL,QAAoB,CAAC,GAAhEI,SAAgE;IAAAN,CAAA,MAAAE,QAAA;IAAAF,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EADlE,MAAAQ,KAAA,GACEH,EAAgE;EAAC,IAAAI,EAAA;EAAA,IAAAT,CAAA,QAAAG,WAAA;IAGjEM,EAAA,GAAAC,QAAA;MACE,MAAAC,KAAA,GACE,OAAOD,QAAQ,KAAK,QAER,GADRnB,SAAS,CAAAqB,aAAc,CAACF,QACjB,CAAC,GAFZA,QAEY;MACdP,WAAW,CAACQ,KAAK,CAAAE,KAAM,CAAC,CAAC,CAAC;IAAA,CAC3B;IAAAb,CAAA,MAAAG,WAAA;IAAAH,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAPH,MAAAc,QAAA,GAAiBL,EAShB;EAAC,IAAAM,EAAA;EAAA,IAAAf,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAc,QAAA,IAAAd,CAAA,QAAAQ,KAAA;IAEKO,EAAA;MAAAP,KAAA;MAAAM,QAAA;MAAAV;IAAyB,CAAC;IAAAJ,CAAA,MAAAI,KAAA;IAAAJ,CAAA,MAAAc,QAAA;IAAAd,CAAA,MAAAQ,KAAA;IAAAR,CAAA,MAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAAA,OAA1Be,EAA0B;AAAA","ignoreList":[]}
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback } from 'react';
3
+ import { c as _c } from "react/compiler-runtime";
4
4
  import { useRiveProperty } from "./useRiveProperty.js";
5
+ const ENUM_PROPERTY_OPTIONS = {
6
+ getProperty: (vmi, p) => vmi.enumProperty(p)
7
+ };
5
8
 
6
9
  /**
7
10
  * Hook for interacting with enum ViewModel instance properties.
@@ -11,13 +14,22 @@ import { useRiveProperty } from "./useRiveProperty.js";
11
14
  * @returns An object with the enum value, a setter function, and an error if the property is not found
12
15
  */
13
16
  export function useRiveEnum(path, viewModelInstance) {
14
- const [value, setValue, error] = useRiveProperty(viewModelInstance, path, {
15
- getProperty: useCallback((vmi, p) => vmi.enumProperty(p), [])
16
- });
17
- return {
18
- value,
19
- setValue,
20
- error
21
- };
17
+ const $ = _c(4);
18
+ const [value, setValue, error] = useRiveProperty(viewModelInstance, path, ENUM_PROPERTY_OPTIONS);
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=useRiveEnum.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useRiveProperty","useRiveEnum","path","viewModelInstance","value","setValue","error","getProperty","vmi","p","enumProperty"],"sourceRoot":"../../../src","sources":["hooks/useRiveEnum.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAMnC,SAASC,eAAe,QAAQ,sBAAmB;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CACzBC,IAAY,EACZC,iBAA4C,EACb;EAC/B,MAAM,CAACC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,CAAC,GAAGN,eAAe,CAG9CG,iBAAiB,EAAED,IAAI,EAAE;IACzBK,WAAW,EAAER,WAAW,CAAC,CAACS,GAAG,EAAEC,CAAC,KAAKD,GAAG,CAACE,YAAY,CAACD,CAAC,CAAC,EAAE,EAAE;EAC9D,CAAC,CAAC;EACF,OAAO;IAAEL,KAAK;IAAEC,QAAQ;IAAEC;EAAM,CAAC;AACnC","ignoreList":[]}
1
+ {"version":3,"names":["useRiveProperty","ENUM_PROPERTY_OPTIONS","getProperty","vmi","p","enumProperty","useRiveEnum","path","viewModelInstance","$","_c","value","setValue","error","t0"],"sourceRoot":"../../../src","sources":["hooks/useRiveEnum.ts"],"mappings":";;;AAKA,SAASA,eAAe,QAAQ,sBAAmB;AAEnD,MAAMC,qBAAqB,GAAG;EAC5BC,WAAW,EAAEA,CAACC,GAAsB,EAAEC,CAAS,KAAKD,GAAG,CAACE,YAAY,CAACD,CAAC;AACxE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAAE,YAAAC,IAAA,EAAAC,iBAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAIL,OAAAC,KAAA,EAAAC,QAAA,EAAAC,KAAA,IAAiCb,eAAe,CAG9CQ,iBAAiB,EAAED,IAAI,EAAEN,qBAAqB,CAAC;EAAC,IAAAa,EAAA;EAAA,IAAAL,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAE,KAAA;IAC3CG,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, 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":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useRiveEnum.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useRiveEnum.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGtD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAC3C,qBAAqB,CAAC,MAAM,CAAC,CAQ/B"}
1
+ {"version":3,"file":"useRiveEnum.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useRiveEnum.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAOtD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAC3C,qBAAqB,CAAC,MAAM,CAAC,CAM/B"}
@@ -19,7 +19,7 @@ export interface DataBindByName {
19
19
  export interface RiveViewProps extends HybridViewProps {
20
20
  /** Name of the artboard to display from the Rive file */
21
21
  artboardName?: string;
22
- /** Name of the state mgachine to play */
22
+ /** Name of the state machine to play */
23
23
  stateMachineName?: string;
24
24
  /** Whether to automatically start playing the state machine */
25
25
  autoPlay?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"RiveView.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/RiveView.nitro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RiveView.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/RiveView.nitro.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rive-app/react-native",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Rive React Native",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -84,6 +84,7 @@
84
84
  "@types/react": "^19.0.0",
85
85
  "@typescript-eslint/eslint-plugin": "^8.46.4",
86
86
  "@typescript-eslint/parser": "^8.46.4",
87
+ "babel-plugin-react-compiler": "^1.0.0",
87
88
  "commitlint": "^19.6.1",
88
89
  "del-cli": "^5.1.0",
89
90
  "eslint": "^9.22.0",
@@ -167,7 +168,8 @@
167
168
  [
168
169
  "module",
169
170
  {
170
- "esm": true
171
+ "esm": true,
172
+ "configFile": true
171
173
  }
172
174
  ],
173
175
  [
@@ -1,4 +1,3 @@
1
- import { useCallback } from 'react';
2
1
  import {
3
2
  type ViewModelEnumProperty,
4
3
  type ViewModelInstance,
@@ -6,6 +5,10 @@ import {
6
5
  import type { UseRivePropertyResult } from '../types';
7
6
  import { useRiveProperty } from './useRiveProperty';
8
7
 
8
+ const ENUM_PROPERTY_OPTIONS = {
9
+ getProperty: (vmi: ViewModelInstance, p: string) => vmi.enumProperty(p),
10
+ };
11
+
9
12
  /**
10
13
  * Hook for interacting with enum ViewModel instance properties.
11
14
  *
@@ -20,8 +23,6 @@ export function useRiveEnum(
20
23
  const [value, setValue, error] = useRiveProperty<
21
24
  ViewModelEnumProperty,
22
25
  string
23
- >(viewModelInstance, path, {
24
- getProperty: useCallback((vmi, p) => vmi.enumProperty(p), []),
25
- });
26
+ >(viewModelInstance, path, ENUM_PROPERTY_OPTIONS);
26
27
  return { value, setValue, error };
27
28
  }
@@ -25,7 +25,7 @@ export interface DataBindByName {
25
25
  export interface RiveViewProps extends HybridViewProps {
26
26
  /** Name of the artboard to display from the Rive file */
27
27
  artboardName?: string;
28
- /** Name of the state mgachine to play */
28
+ /** Name of the state machine to play */
29
29
  stateMachineName?: string;
30
30
  /** Whether to automatically start playing the state machine */
31
31
  autoPlay?: boolean;