react-native-smooth-clip-view 0.2.6 → 0.2.7

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.
@@ -90,11 +90,6 @@ static std::array<double, 7> SmoothClipVelocityChannels(
90
90
  smoothclip::TimingAnimation _timingAnimation;
91
91
  smoothclip::SpringAnimation _springAnimation;
92
92
  SmoothClipAnimationDelegate *_animationDelegate;
93
- BOOL _animationPaused;
94
- CGRect _pausedRect;
95
- CGFloat _pausedRadius;
96
- CGPoint _pausedContentTranslation;
97
- CFTimeInterval _pausedRemaining;
98
93
 
99
94
  // 'inherit' velocity samples (normalized geometry, per view); recording/
100
95
  // coalescing/projection live in the shared cpp/SmoothClipVelocityTracker.h
@@ -151,24 +146,15 @@ static std::array<double, 7> SmoothClipVelocityChannels(
151
146
  _activeAnimationId = 0;
152
147
  _activeAnimationKind = 0;
153
148
  _pendingAnimationInstall = NO;
154
- _animationPaused = NO;
155
149
  smoothclip::clearVelocitySamples(_velocitySamples);
156
- [[NSNotificationCenter defaultCenter]
157
- addObserver:self
158
- selector:@selector(applicationWillResignActive)
159
- name:UIApplicationWillResignActiveNotification
160
- object:nil];
161
- [[NSNotificationCenter defaultCenter]
162
- addObserver:self
163
- selector:@selector(applicationDidBecomeActive)
164
- name:UIApplicationDidBecomeActiveNotification
165
- object:nil];
150
+ // App-state transitions are observed by the registry itself (see
151
+ // installApplicationStateObservers): the active flag is process-global,
152
+ // so its observer must outlive any individual view.
166
153
  }
167
154
  return self;
168
155
  }
169
156
 
170
157
  - (void)dealloc {
171
- [[NSNotificationCenter defaultCenter] removeObserver:self];
172
158
  if (_driverId != 0) {
173
159
  smoothclip::unregisterView(_driverId, self);
174
160
  }
@@ -176,8 +162,8 @@ static std::array<double, 7> SmoothClipVelocityChannels(
176
162
 
177
163
  - (void)didMoveToWindow {
178
164
  [super didMoveToWindow];
179
- if (_driverId != 0 && [self smoothClipCanDisplay]) {
180
- smoothclip::viewBecameDisplayable(_driverId, self);
165
+ if (_driverId != 0) {
166
+ smoothclip::viewDisplayabilityChanged(_driverId, self);
181
167
  }
182
168
  }
183
169
 
@@ -338,7 +324,6 @@ static std::array<double, 7> SmoothClipVelocityChannels(
338
324
 
339
325
  - (void)smoothClipApplyPresentation:(smoothclip::Presentation)presentation
340
326
  recordVelocitySample:(BOOL)recordVelocitySample {
341
- _animationPaused = NO;
342
327
  [self stopLayerAnimationWithoutCallback];
343
328
  [self storeRequestedPresentation:presentation];
344
329
  [self applyRequestedClip];
@@ -374,20 +359,26 @@ static std::array<double, 7> SmoothClipVelocityChannels(
374
359
  - (BOOL)smoothClipIsJoinable {
375
360
  // A view without layout reports zero geometry from
376
361
  // smoothClipCurrentPresentation and must not be used as a join reference.
377
- return _hasLayout;
362
+ return _hasLayout && self.bounds.size.width > 0 &&
363
+ self.bounds.size.height > 0;
378
364
  }
379
365
 
380
366
  - (BOOL)smoothClipCanDisplay {
381
367
  // A CA animation committed while this view's layer tree is detached from
382
368
  // the render tree does not survive the later attach commit; installs and
383
369
  // latch starts must wait until a frame can actually be produced.
384
- return _hasLayout && self.window != nil;
370
+ return [self smoothClipIsJoinable] && self.window != nil &&
371
+ smoothclip::applicationIsActive();
385
372
  }
386
373
 
387
374
  - (BOOL)smoothClipHasPendingInstall {
388
375
  return _pendingAnimationInstall;
389
376
  }
390
377
 
378
+ - (void)smoothClipClearVelocitySamples {
379
+ smoothclip::clearVelocitySamples(_velocitySamples);
380
+ }
381
+
391
382
  - (double)smoothClipSpringContinuationVelocity {
392
383
  if (_activeAnimationId == 0 || _activeAnimationKind != 2 ||
393
384
  _pendingAnimationInstall) {
@@ -408,7 +399,6 @@ static std::array<double, 7> SmoothClipVelocityChannels(
408
399
  const CGPoint visibleContentTranslation = CGPointMake(
409
400
  visible.contentTranslateX,
410
401
  visible.contentTranslateY);
411
- _animationPaused = NO;
412
402
  [self stopLayerAnimationWithoutCallback];
413
403
  _requestedClip = visibleRect;
414
404
  _requestedRadius = visible.clip.radius;
@@ -416,9 +406,6 @@ static std::array<double, 7> SmoothClipVelocityChannels(
416
406
  [self writeLayerRect:visibleRect radius:visible.clip.radius];
417
407
  [self writeContentTranslation:visibleContentTranslation];
418
408
  [self syncVisibilityForRect:visibleRect];
419
- [self recordInteractiveRect:visibleRect
420
- radius:visible.clip.radius
421
- contentTranslation:visibleContentTranslation];
422
409
  return visible;
423
410
  }
424
411
 
@@ -449,7 +436,6 @@ static std::array<double, 7> SmoothClipVelocityChannels(
449
436
  _ignoreAnimationCallback = NO;
450
437
  _activeAnimationId = 0;
451
438
  _activeAnimationKind = 0;
452
- _animationPaused = NO;
453
439
  _animationDelegate = nil;
454
440
  }
455
441
 
@@ -809,7 +795,6 @@ static std::array<double, 7> SmoothClipVelocityChannels(
809
795
  const CGPoint visibleContentTranslation = CGPointMake(
810
796
  visible.contentTranslateX,
811
797
  visible.contentTranslateY);
812
- _animationPaused = NO;
813
798
  [self stopLayerAnimationWithoutCallback];
814
799
  if (useTarget) {
815
800
  [self applyRequestedClip];
@@ -820,68 +805,6 @@ static std::array<double, 7> SmoothClipVelocityChannels(
820
805
  [self writeLayerRect:visibleRect radius:visible.clip.radius];
821
806
  [self writeContentTranslation:visibleContentTranslation];
822
807
  [self syncVisibilityForRect:visibleRect];
823
- [self recordInteractiveRect:visibleRect
824
- radius:visible.clip.radius
825
- contentTranslation:visibleContentTranslation];
826
- }
827
- }
828
-
829
- - (void)applicationWillResignActive {
830
- if (_activeAnimationId == 0 || _animationPaused) return;
831
- const double springContinuationVelocity =
832
- _activeAnimationKind == 2
833
- ? [self smoothClipSpringContinuationVelocity]
834
- : 0;
835
- const smoothclip::Presentation visible =
836
- [self smoothClipCurrentPresentation];
837
- _pausedRect = CGRectMake(
838
- visible.clip.x,
839
- visible.clip.y,
840
- visible.clip.width,
841
- visible.clip.height);
842
- _pausedRadius = visible.clip.radius;
843
- _pausedContentTranslation = CGPointMake(
844
- visible.contentTranslateX,
845
- visible.contentTranslateY);
846
- _pausedRemaining = MAX(
847
- 0, _animationDuration - (CACurrentMediaTime() - _animationStartedAt));
848
- if (_activeAnimationKind == 1 && _animationDuration > 0) {
849
- const double progress = smoothclip::clamp01(
850
- 1 - _pausedRemaining / _animationDuration);
851
- _timingAnimation =
852
- smoothclip::timingRemainder(_timingAnimation, progress).animation;
853
- _pausedRemaining = _timingAnimation.durationMs / 1000.0;
854
- } else if (_activeAnimationKind == 2) {
855
- _springAnimation.initialVelocity = springContinuationVelocity;
856
- _springAnimation.inheritVelocity = false;
857
- }
858
- const int32_t animationId = _activeAnimationId;
859
- const NSInteger animationKind = _activeAnimationKind;
860
- [self stopLayerAnimationWithoutCallback];
861
- _activeAnimationId = animationId;
862
- _activeAnimationKind = animationKind;
863
- [self writeLayerRect:_pausedRect radius:_pausedRadius];
864
- [self writeContentTranslation:_pausedContentTranslation];
865
- _animationPaused = YES;
866
- }
867
-
868
- - (void)applicationDidBecomeActive {
869
- if (!_animationPaused || _activeAnimationId == 0) return;
870
- _animationPaused = NO;
871
- SmoothNormalizedClipGeometry target;
872
- if ([self normalizedRequestedGeometry:&target]) {
873
- if (_activeAnimationKind == 3) {
874
- _activeAnimationKind = 1;
875
- _timingAnimation = {
876
- _pausedRemaining * 1000.0, 0, 0, 1, 1, 2};
877
- }
878
- [self installAnimationFromRect:_pausedRect
879
- fromRadius:_pausedRadius
880
- fromContentTranslation:_pausedContentTranslation
881
- toRect:target.rect
882
- toRadius:target.radius
883
- toContentTranslation:_requestedContentTranslation
884
- duration:_pausedRemaining];
885
808
  }
886
809
  }
887
810
 
@@ -891,7 +814,6 @@ static std::array<double, 7> SmoothClipVelocityChannels(
891
814
  if (_ignoreAnimationCallback || animationId != _activeAnimationId) return;
892
815
  _activeAnimationId = 0;
893
816
  _activeAnimationKind = 0;
894
- _animationPaused = NO;
895
817
  _animationDelegate = nil;
896
818
  [self syncVisibilityForRect:_normalizedClip];
897
819
  smoothclip::viewAnimationDidStop(
@@ -941,31 +863,10 @@ static std::array<double, 7> SmoothClipVelocityChannels(
941
863
 
942
864
  - (void)updateLayoutMetrics:(const LayoutMetrics &)layoutMetrics
943
865
  oldLayoutMetrics:(const LayoutMetrics &)oldLayoutMetrics {
944
- if (!_hasLayout && _pendingAnimationInstall && _driverId != 0) {
945
- // A native animation install arrived before the first layout. Join it now
946
- // through the registry so it starts from live presentation geometry with
947
- // the true remaining duration instead of jumping to the target.
948
- [super updateLayoutMetrics:layoutMetrics oldLayoutMetrics:oldLayoutMetrics];
949
- _hasLayout = YES;
950
- [self layoutContentContainer];
951
- if (self.window == nil) {
952
- // Still detached (transparentModal subtree before presentation): an
953
- // install here would not survive the attach commit. Keep the install
954
- // pending; didMoveToWindow completes it.
955
- return;
956
- }
957
- _pendingAnimationInstall = NO;
958
- if (!smoothclip::joinActiveAnimation(_driverId, self)) {
959
- // The animation finished or was cancelled while awaiting layout.
960
- _activeAnimationId = 0;
961
- _activeAnimationKind = 0;
962
- [self applyRequestedClip];
963
- }
964
- return;
965
- }
966
866
  CGFloat visibleRadius = 0;
967
867
  const BOOL wasAnimating = _activeAnimationId != 0;
968
- const smoothclip::Presentation visible = wasAnimating
868
+ const BOOL wasPending = _pendingAnimationInstall;
869
+ const smoothclip::Presentation visible = wasAnimating && !wasPending
969
870
  ? [self smoothClipCurrentPresentation]
970
871
  : smoothclip::Presentation{{0, 0, 0, 0, 0}, 0, 0};
971
872
  const CGRect visibleRect = CGRectMake(
@@ -982,36 +883,29 @@ static std::array<double, 7> SmoothClipVelocityChannels(
982
883
  (CACurrentMediaTime() - _animationStartedAt))
983
884
  : 0;
984
885
  const double springContinuationVelocity =
985
- wasAnimating && !_animationPaused && _activeAnimationKind == 2
886
+ wasAnimating && !wasPending && _activeAnimationKind == 2
986
887
  ? [self smoothClipSpringContinuationVelocity]
987
888
  : 0;
988
889
 
989
890
  [super updateLayoutMetrics:layoutMetrics oldLayoutMetrics:oldLayoutMetrics];
990
891
  _hasLayout = YES;
991
892
  [self layoutContentContainer];
992
- if (wasAnimating && _animationPaused) {
993
- SmoothNormalizedClipGeometry paused;
994
- if (SmoothClipNormalizeGeometry(
995
- CGRectGetMinX(_pausedRect),
996
- CGRectGetMinY(_pausedRect),
997
- CGRectGetWidth(_pausedRect),
998
- CGRectGetHeight(_pausedRect),
999
- _pausedRadius,
1000
- self.bounds.size,
1001
- &paused)) {
1002
- _pausedRect = paused.rect;
1003
- _pausedRadius = paused.radius;
1004
- [self writeLayerRect:paused.rect radius:paused.radius];
1005
- }
1006
- } else if (wasAnimating) {
1007
- if (![self smoothClipCanDisplay]) {
1008
- // Relayout while detached, with an animation dispatched to this view
1009
- // (a transparentModal subtree resized before presentation): an install
1010
- // from this commit would not survive the attach commit. Keep the
1011
- // install deferred; didMoveToWindow completes it via the registry join.
1012
- _pendingAnimationInstall = YES;
1013
- return;
1014
- }
893
+ if (_driverId != 0) {
894
+ // Both edges matter: zero size/detach/background suspend an installed
895
+ // participant; the first positive visible layout resumes the held latch.
896
+ smoothclip::viewDisplayabilityChanged(_driverId, self);
897
+ }
898
+ if (wasPending) {
899
+ // The registry either kept the install deferred or installed the rebased
900
+ // latch. Relayout must not independently restart a background-held id.
901
+ if (_activeAnimationId == 0) [self applyRequestedClip];
902
+ return;
903
+ }
904
+ if (wasAnimating) {
905
+ // A negative transition may have frozen this host and re-latched the
906
+ // registry above. Its non-recording freeze is already the correct model
907
+ // state for the new lifecycle; do not resurrect a local timer.
908
+ if (_activeAnimationId == 0 || ![self smoothClipCanDisplay]) return;
1015
909
  const int32_t animationId = _activeAnimationId;
1016
910
  const NSInteger animationKind = _activeAnimationKind;
1017
911
  [self stopLayerAnimationWithoutCallback];
@@ -1050,19 +944,14 @@ static std::array<double, 7> SmoothClipVelocityChannels(
1050
944
  duration:remaining];
1051
945
  }
1052
946
  } else {
947
+ if (_driverId != 0 && smoothclip::hasActiveAnimation(_driverId)) {
948
+ // Registry-level lifecycle pause owns the frozen model. A layout pass
949
+ // while its latch is held must not apply the requested target or start a
950
+ // per-view timer; foreground/reattach will normalize and resume it once.
951
+ return;
952
+ }
1053
953
  [self applyRequestedClip];
1054
954
  }
1055
- // First layout is the other moment this view can become displayable: when
1056
- // the window attach ran first, didMoveToWindow saw _hasLayout == NO and did
1057
- // nothing, and nothing else tells the registry. Android notifies from both
1058
- // triggers (setViewHostGeometryAndroid and viewBecameDisplayableAndroid);
1059
- // without this a held latch — including one re-latched by unregisterView
1060
- // when the last displayable host left — would never start on iOS. Costs one
1061
- // registry lookup per layout; viewBecameDisplayable returns immediately when
1062
- // there is no animation to resume.
1063
- if (_driverId != 0 && [self smoothClipCanDisplay]) {
1064
- smoothclip::viewBecameDisplayable(_driverId, self);
1065
- }
1066
955
  }
1067
956
 
1068
957
  - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
@@ -1128,7 +1017,6 @@ static std::array<double, 7> SmoothClipVelocityChannels(
1128
1017
  }
1129
1018
  [self stopLayerAnimationWithoutCallback];
1130
1019
  _pendingAnimationInstall = NO;
1131
- _animationPaused = NO;
1132
1020
  smoothclip::clearVelocitySamples(_velocitySamples);
1133
1021
  [super prepareForRecycle];
1134
1022
  _requestedClip = CGRectZero;
@@ -23,7 +23,10 @@ bool joinActiveAnimation(uint64_t driverId, SmoothClipView *view);
23
23
  // A CA animation committed while the host's layer tree is detached (e.g. a
24
24
  // transparentModal subtree before its view controller is presented) does not
25
25
  // survive the attach commit; installs must therefore wait for this signal.
26
- void viewBecameDisplayable(uint64_t driverId, SmoothClipView *view);
26
+ void viewDisplayabilityChanged(uint64_t driverId, SmoothClipView *view);
27
+ void applicationWillResignActive();
28
+ void applicationDidBecomeActive();
29
+ bool applicationIsActive();
27
30
  void viewAnimationDidStop(
28
31
  uint64_t driverId,
29
32
  int32_t animationId,
@@ -24,6 +24,14 @@ export function detachDriverState(state) {
24
24
  if (statesById.get(state.driverId) === state) {
25
25
  statesById.delete(state.driverId);
26
26
  }
27
+ // Requests pending at teardown were settled by rejectDriverRequests, but
28
+ // their completion deferrals can no longer be released: the late-scheduled
29
+ // resolver's releaseDriverCompletions no-ops against a detached state. An
30
+ // effect replay reattaches THIS same object, so a stale positive count
31
+ // would queue every future completion forever. The deferrals died with
32
+ // their requests — reset them.
33
+ state.completionDeferrals = 0;
34
+ state.deferredCompletions.length = 0;
27
35
  }
28
36
  export function createDriverState(driverId, initialPresentation, source, onAnimationComplete, activeAnimationId, ownership) {
29
37
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["states","WeakMap","statesById","Map","nextDriverId","Date","now","allocateDriverId","Number","isSafeInteger","setDriverState","driver","state","set","attachDriverState","driverId","detachDriverState","get","delete","createDriverState","initialPresentation","source","onAnimationComplete","activeAnimationId","ownership","mountedViews","Set","animationParticipants","failedAnimations","completionDeferrals","deferredCompletions","registerDriverView","getDriverState","token","add","animationId","participants","has","snapshotDriverViews","finishDriverAnimation","finished","result","deliverDriverCompletion","push","current","deferDriverCompletions","releaseDriverCompletions","deferred","splice","Error"],"sourceRoot":"../../src","sources":["driverState.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["states","WeakMap","statesById","Map","nextDriverId","Date","now","allocateDriverId","Number","isSafeInteger","setDriverState","driver","state","set","attachDriverState","driverId","detachDriverState","get","delete","completionDeferrals","deferredCompletions","length","createDriverState","initialPresentation","source","onAnimationComplete","activeAnimationId","ownership","mountedViews","Set","animationParticipants","failedAnimations","registerDriverView","getDriverState","token","add","animationId","participants","has","snapshotDriverViews","finishDriverAnimation","finished","result","deliverDriverCompletion","push","current","deferDriverCompletions","releaseDriverCompletions","deferred","splice","Error"],"sourceRoot":"../../src","sources":["driverState.ts"],"mappings":";;AAoBA,MAAMA,MAAM,GAAG,IAAIC,OAAO,CAAgC,CAAC;AAC3D,MAAMC,UAAU,GAAG,IAAIC,GAAG,CAAsB,CAAC;AACjD,IAAIC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI;AAEpC,OAAO,SAASC,gBAAgBA,CAAA,EAAW;EACzCH,YAAY,IAAI,CAAC;EACjB,IAAI,CAACI,MAAM,CAACC,aAAa,CAACL,YAAY,CAAC,EAAEA,YAAY,GAAG,CAAC;EACzD,OAAOA,YAAY;AACrB;AAEA,OAAO,SAASM,cAAcA,CAC5BC,MAAwB,EACxBC,KAAkB,EACZ;EACN;EACA;EACAZ,MAAM,CAACa,GAAG,CAACF,MAAM,EAAEC,KAAK,CAAC;AAC3B;;AAEA;AACA;AACA;AACA,OAAO,SAASE,iBAAiBA,CAACF,KAAkB,EAAQ;EAC1DV,UAAU,CAACW,GAAG,CAACD,KAAK,CAACG,QAAQ,EAAEH,KAAK,CAAC;AACvC;AAEA,OAAO,SAASI,iBAAiBA,CAACJ,KAAkB,EAAQ;EAC1D,IAAIV,UAAU,CAACe,GAAG,CAACL,KAAK,CAACG,QAAQ,CAAC,KAAKH,KAAK,EAAE;IAC5CV,UAAU,CAACgB,MAAM,CAACN,KAAK,CAACG,QAAQ,CAAC;EACnC;EACA;EACA;EACA;EACA;EACA;EACA;EACAH,KAAK,CAACO,mBAAmB,GAAG,CAAC;EAC7BP,KAAK,CAACQ,mBAAmB,CAACC,MAAM,GAAG,CAAC;AACtC;AAEA,OAAO,SAASC,iBAAiBA,CAC/BP,QAAgB,EAChBQ,mBAA2C,EAC3CC,MAA2C,EAC3CC,mBAAuD,EACvDC,iBAAuC,EACvCC,SAA+B,EAClB;EACb,OAAO;IACLZ,QAAQ;IACRQ,mBAAmB;IACnBC,MAAM;IACNE,iBAAiB;IACjBC,SAAS;IACTF,mBAAmB;IACnBG,YAAY,EAAE,IAAIC,GAAG,CAAC,CAAC;IACvBC,qBAAqB,EAAE,IAAI3B,GAAG,CAAC,CAAC;IAChC4B,gBAAgB,EAAE,IAAIF,GAAG,CAAC,CAAC;IAC3BV,mBAAmB,EAAE,CAAC;IACtBC,mBAAmB,EAAE;EACvB,CAAC;AACH;AAEA,OAAO,SAASY,kBAAkBA,CAACrB,MAAwB,EAAc;EACvE,MAAMC,KAAK,GAAGqB,cAAc,CAACtB,MAAM,CAAC;EACpC,MAAMuB,KAAK,GAAG,CAAC,CAAC;EAChBtB,KAAK,CAACgB,YAAY,CAACO,GAAG,CAACD,KAAK,CAAC;EAC7B,OAAO,MAAM;IACXtB,KAAK,CAACgB,YAAY,CAACV,MAAM,CAACgB,KAAK,CAAC;IAChC,KAAK,MAAM,CAACE,WAAW,EAAEC,YAAY,CAAC,IAAIzB,KAAK,CAACkB,qBAAqB,EAAE;MACrE,IAAIO,YAAY,CAACC,GAAG,CAACJ,KAAK,CAAC,EAAEtB,KAAK,CAACmB,gBAAgB,CAACI,GAAG,CAACC,WAAW,CAAC;IACtE;EACF,CAAC;AACH;AAEA,OAAO,SAASG,mBAAmBA,CACjCxB,QAAgB,EAChBqB,WAAmB,EACb;EACN,MAAMxB,KAAK,GAAGV,UAAU,CAACe,GAAG,CAACF,QAAQ,CAAC;EACtC,IAAIH,KAAK,EAAE;IACTA,KAAK,CAACkB,qBAAqB,CAACjB,GAAG,CAACuB,WAAW,EAAE,IAAIP,GAAG,CAACjB,KAAK,CAACgB,YAAY,CAAC,CAAC;EAC3E;AACF;AAEA,OAAO,SAASY,qBAAqBA,CACnCzB,QAAgB,EAChBqB,WAAmB,EACnBK,QAAiB,EACR;EACT,MAAM7B,KAAK,GAAGV,UAAU,CAACe,GAAG,CAACF,QAAQ,CAAC;EACtC,IAAI,CAACH,KAAK,EAAE,OAAO6B,QAAQ;EAC3B,MAAMC,MAAM,GAAGD,QAAQ,IAAI,CAAC7B,KAAK,CAACmB,gBAAgB,CAACO,GAAG,CAACF,WAAW,CAAC;EACnExB,KAAK,CAACkB,qBAAqB,CAACZ,MAAM,CAACkB,WAAW,CAAC;EAC/CxB,KAAK,CAACmB,gBAAgB,CAACb,MAAM,CAACkB,WAAW,CAAC;EAC1C,OAAOM,MAAM;AACf;AAEA,OAAO,SAASC,uBAAuBA,CACrC5B,QAAgB,EAChBqB,WAAmB,EACnBK,QAAiB,EACX;EACN,MAAM7B,KAAK,GAAGV,UAAU,CAACe,GAAG,CAACF,QAAQ,CAAC;EACtC,IAAI,CAACH,KAAK,EAAE;EACZ,MAAM8B,MAAM,GAAG;IAAEN,WAAW;IAAEK;EAAS,CAAC;EACxC,IAAI7B,KAAK,CAACO,mBAAmB,GAAG,CAAC,EAAE;IACjCP,KAAK,CAACQ,mBAAmB,CAACwB,IAAI,CAACF,MAAM,CAAC;IACtC;EACF;EACA9B,KAAK,CAACa,mBAAmB,CAACoB,OAAO,GAAGH,MAAM,CAAC;AAC7C;AAEA,OAAO,SAASI,sBAAsBA,CAAC/B,QAAgB,EAAQ;EAC7D,MAAMH,KAAK,GAAGV,UAAU,CAACe,GAAG,CAACF,QAAQ,CAAC;EACtC,IAAIH,KAAK,EAAEA,KAAK,CAACO,mBAAmB,IAAI,CAAC;AAC3C;AAEA,OAAO,SAAS4B,wBAAwBA,CAAChC,QAAgB,EAAQ;EAC/D,MAAMH,KAAK,GAAGV,UAAU,CAACe,GAAG,CAACF,QAAQ,CAAC;EACtC,IAAI,CAACH,KAAK,IAAIA,KAAK,CAACO,mBAAmB,KAAK,CAAC,EAAE;EAC/CP,KAAK,CAACO,mBAAmB,IAAI,CAAC;EAC9B,IAAIP,KAAK,CAACO,mBAAmB,KAAK,CAAC,EAAE;EACrC,MAAM6B,QAAQ,GAAGpC,KAAK,CAACQ,mBAAmB,CAAC6B,MAAM,CAAC,CAAC,CAAC;EACpD,KAAK,MAAMP,MAAM,IAAIM,QAAQ,EAAE;IAC7BpC,KAAK,CAACa,mBAAmB,CAACoB,OAAO,GAAGH,MAAM,CAAC;EAC7C;AACF;AAEA,OAAO,SAAST,cAAcA,CAACtB,MAAwB,EAAe;EACpE,MAAMC,KAAK,GAAGZ,MAAM,CAACiB,GAAG,CAACN,MAAM,CAAC;EAChC,IAAI,CAACC,KAAK,EAAE;IACV,MAAM,IAAIsC,KAAK,CACb,kEACF,CAAC;EACH;EACA,OAAOtC,KAAK;AACd","ignoreList":[]}
@@ -64,7 +64,14 @@ function animationIsFinite(target, animation) {
64
64
  return false;
65
65
  }
66
66
  if (animation.type === 'timing') {
67
- return Number.isFinite(animation.duration) && animation.controlPoints.every(Number.isFinite);
67
+ const [x1,, x2] = animation.controlPoints;
68
+ return Number.isFinite(animation.duration) && animation.controlPoints.every(Number.isFinite) &&
69
+ // A cubic-bezier easing is only defined for x within [0,1] (the CSS /
70
+ // CoreAnimation / Reanimated Easing.bezier contract). Out-of-range x
71
+ // makes the Android parameter solve meaningless while CoreAnimation
72
+ // silently clamps — reject like any other invalid input instead of
73
+ // diverging per platform.
74
+ x1 >= 0 && x1 <= 1 && x2 >= 0 && x2 <= 1;
68
75
  }
69
76
  if (animation.type === 'spring') {
70
77
  return [animation.mass ?? 1, animation.stiffness ?? 100, animation.damping ?? 10, animation.initialVelocity === 'inherit' ? 0 : animation.initialVelocity ?? 0].every(Number.isFinite);
@@ -195,6 +202,10 @@ export function useSmoothClipDriver(initialValue, options = {}) {
195
202
  const animateOnUI = (target, animation) => {
196
203
  'worklet';
197
204
 
205
+ // Cleanup owns the terminal state. Check it before validation so even an
206
+ // invalid stale call cannot mint a native rejection id/completion against
207
+ // a driver whose listener and registry entry are already gone.
208
+ if (disposed.value !== 0) return 0;
198
209
  if (!isFiniteClipPresentation(target) || !animationIsFinite(target, animation)) {
199
210
  return rejectAnimationHostFunction(driverId);
200
211
  }
@@ -204,7 +215,6 @@ export function useSmoothClipDriver(initialValue, options = {}) {
204
215
  // rejectAnimation, which would mint an id and a completion for a driver
205
216
  // whose JS state is already detached. This is the "unsupported dispatch"
206
217
  // arm of the documented 0 contract.
207
- if (disposed.value !== 0) return 0;
208
218
  const from = animation.from;
209
219
  if (from !== undefined) {
210
220
  // Fused hot write: exactly setScalars(from…) issued immediately
@@ -255,8 +265,10 @@ export function useSmoothClipDriver(initialValue, options = {}) {
255
265
  // dispatch. A missing driver is accepted when this call carries the
256
266
  // authoritative interactive start above; a start-less missing-state
257
267
  // request remains unsupported rather than inventing zero geometry.
258
- // Validation failures never get here (they reject before any side
259
- // effect with a fresh id and one finished:false completion).
268
+ // Validation failures never get here: they reject before any side
269
+ // effect, with a fresh id and one finished:false completion once the
270
+ // native entry exists — in the pre-seed window rejectAnimation has no
271
+ // entry and returns the bare 0 sentinel with no completion instead.
260
272
  ownership.value = INTERACTIVE;
261
273
  presentation.value = start;
262
274
  if (scalarsWereStale) scalarsStale.value = 1;
@@ -332,10 +344,15 @@ export function useSmoothClipDriver(initialValue, options = {}) {
332
344
  return promise;
333
345
  },
334
346
  set(next) {
347
+ // Teardown resolves (undefined) rather than rejects: `set` is a
348
+ // documented fire-and-forget call, and a promise discarded with
349
+ // `void` must not become an unhandled rejection at unmount.
335
350
  const {
336
351
  requestId,
337
352
  promise
338
- } = createReactRequest(driverId);
353
+ } = createReactRequest(driverId, false, {
354
+ value: undefined
355
+ });
339
356
  scheduleOnUI(() => {
340
357
  'worklet';
341
358
 
@@ -345,10 +362,14 @@ export function useSmoothClipDriver(initialValue, options = {}) {
345
362
  return promise;
346
363
  },
347
364
  animateTo(target, animation) {
365
+ // Teardown resolves with the documented 0 rejection sentinel (see
366
+ // `set` above): the README's own example voids this promise.
348
367
  const {
349
368
  requestId,
350
369
  promise
351
- } = createReactRequest(driverId, true);
370
+ } = createReactRequest(driverId, true, {
371
+ value: 0
372
+ });
352
373
  scheduleOnUI(() => {
353
374
  'worklet';
354
375
 
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useSharedValue","isRNRuntime","scheduleOnRN","scheduleOnUI","NativeSmoothClipModule","allocateDriverId","attachDriverState","createDriverState","detachDriverState","getDriverState","setDriverState","completeNativeAnimation","synchronizeNativeCompletion","clipPresentationEquals","createClipPresentation","isFiniteClipPresentation","createReactRequest","rejectDriverRequests","resolveReactRequest","INTERACTIVE","NATIVE","setPresentationHostFunction","setClipPresentation","beginInteractionHostFunction","beginInteraction","animateTimingHostFunction","animateTiming","animateSpringHostFunction","animateSpring","animateKeyframesHostFunction","animateKeyframes","rejectAnimationHostFunction","rejectAnimation","cancelAnimationHostFunction","cancelAnimation","destroyDriverHostFunction","destroyDriver","resolver","globalThis","__smoothClipPinnedResolver","reduceMotionCode","value","animationIsFinite","target","animation","from","undefined","type","Number","isFinite","duration","controlPoints","every","mass","stiffness","damping","initialVelocity","frames","length","previousOffset","frame","offset","presentation","presentationFromNative","values","fallback","clip","x","y","width","height","radius","contentTranslateX","contentTranslateY","flattenedKeyframes","push","uiOnly","Error","useSmoothClipDriver","initialValue","options","initialPresentation","ownership","suppressDeliveries","activeAnimationId","scalarsStale","disposed","callbackRef","onAnimationComplete","driverRef","current","driverId","reduceMotion","seedPresentation","next","beginOnUI","setOnUI","setScalarsOnUI","overridePendingAnimation","animateOnUI","scalarsWereStale","hasInteractiveStart","start","startClip","targetClip","workletGlobal","startedAtMs","__frameTimestamp","_getAnimationTimestamp","NaN","animationId","x1","y1","x2","y2","Math","max","inheritVelocity","cancelOnUI","behavior","driver","kind","ui","set","setScalars","animateTo","cancel","react","requestId","promise","result","currentDriver","state","subscription","onClipAnimationComplete","finished","source","listenerId","nativeDriverId","owner","suppressed","active","stale","gone","setter","last","deliver","addListener","remove","destroy","removeListener"],"sourceRoot":"../../src","sources":["drivers.native.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useSharedValue","isRNRuntime","scheduleOnRN","scheduleOnUI","NativeSmoothClipModule","allocateDriverId","attachDriverState","createDriverState","detachDriverState","getDriverState","setDriverState","completeNativeAnimation","synchronizeNativeCompletion","clipPresentationEquals","createClipPresentation","isFiniteClipPresentation","createReactRequest","rejectDriverRequests","resolveReactRequest","INTERACTIVE","NATIVE","setPresentationHostFunction","setClipPresentation","beginInteractionHostFunction","beginInteraction","animateTimingHostFunction","animateTiming","animateSpringHostFunction","animateSpring","animateKeyframesHostFunction","animateKeyframes","rejectAnimationHostFunction","rejectAnimation","cancelAnimationHostFunction","cancelAnimation","destroyDriverHostFunction","destroyDriver","resolver","globalThis","__smoothClipPinnedResolver","reduceMotionCode","value","animationIsFinite","target","animation","from","undefined","type","x1","x2","controlPoints","Number","isFinite","duration","every","mass","stiffness","damping","initialVelocity","frames","length","previousOffset","frame","offset","presentation","presentationFromNative","values","fallback","clip","x","y","width","height","radius","contentTranslateX","contentTranslateY","flattenedKeyframes","push","uiOnly","Error","useSmoothClipDriver","initialValue","options","initialPresentation","ownership","suppressDeliveries","activeAnimationId","scalarsStale","disposed","callbackRef","onAnimationComplete","driverRef","current","driverId","reduceMotion","seedPresentation","next","beginOnUI","setOnUI","setScalarsOnUI","overridePendingAnimation","animateOnUI","scalarsWereStale","hasInteractiveStart","start","startClip","targetClip","workletGlobal","startedAtMs","__frameTimestamp","_getAnimationTimestamp","NaN","animationId","y1","y2","Math","max","inheritVelocity","cancelOnUI","behavior","driver","kind","ui","set","setScalars","animateTo","cancel","react","requestId","promise","result","currentDriver","state","subscription","onClipAnimationComplete","finished","source","listenerId","nativeDriverId","owner","suppressed","active","stale","gone","setter","last","deliver","addListener","remove","destroy","removeListener"],"sourceRoot":"../../src","sources":["drivers.native.ts"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ import { deferDriverCompletions, releaseDriverCompletions } from "./driverState.
4
4
  const requests = new Map();
5
5
  const requestsByDriver = new Map();
6
6
  let nextRequestId = 0;
7
- export function createReactRequest(driverId, deferCompletions = false) {
7
+ export function createReactRequest(driverId, deferCompletions = false, teardownResolution) {
8
8
  nextRequestId = nextRequestId % 0x7ffffffe + 1;
9
9
  const requestId = nextRequestId;
10
10
  let resolveRequest;
@@ -15,7 +15,8 @@ export function createReactRequest(driverId, deferCompletions = false) {
15
15
  });
16
16
  requests.set(requestId, {
17
17
  resolve: resolveRequest,
18
- reject: rejectRequest
18
+ reject: rejectRequest,
19
+ teardownResolution
19
20
  });
20
21
  const driverRequests = requestsByDriver.get(driverId) ?? new Set();
21
22
  driverRequests.add(requestId);
@@ -43,7 +44,12 @@ export function rejectDriverRequests(driverId) {
43
44
  for (const requestId of driverRequests) {
44
45
  const request = requests.get(requestId);
45
46
  requests.delete(requestId);
46
- request?.reject(new Error('[SmoothClipView] Driver was destroyed.'));
47
+ if (!request) continue;
48
+ if (request.teardownResolution) {
49
+ request.resolve(request.teardownResolution.value);
50
+ } else {
51
+ request.reject(new Error('[SmoothClipView] Driver was destroyed.'));
52
+ }
47
53
  }
48
54
  requestsByDriver.delete(driverId);
49
55
  }
@@ -1 +1 @@
1
- {"version":3,"names":["deferDriverCompletions","releaseDriverCompletions","requests","Map","requestsByDriver","nextRequestId","createReactRequest","driverId","deferCompletions","requestId","resolveRequest","rejectRequest","promise","Promise","resolve","reject","set","driverRequests","get","Set","add","resolveReactRequest","value","releaseCompletions","request","delete","size","queueMicrotask","rejectDriverRequests","Error"],"sourceRoot":"../../src","sources":["reactRequests.ts"],"mappings":";;AAAA,SACEA,sBAAsB,EACtBC,wBAAwB,QACnB,kBAAe;AAOtB,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAAyB,CAAC;AAClD,MAAMC,gBAAgB,GAAG,IAAID,GAAG,CAAsB,CAAC;AACvD,IAAIE,aAAa,GAAG,CAAC;AAErB,OAAO,SAASC,kBAAkBA,CAChCC,QAAgB,EAChBC,gBAAgB,GAAG,KAAK,EACoB;EAC5CH,aAAa,GAAIA,aAAa,GAAG,UAAU,GAAI,CAAC;EAChD,MAAMI,SAAS,GAAGJ,aAAa;EAC/B,IAAIK,cAAmC;EACvC,IAAIC,aAAsC;EAC1C,MAAMC,OAAO,GAAG,IAAIC,OAAO,CAAI,CAACC,OAAO,EAAEC,MAAM,KAAK;IAClDL,cAAc,GAAGI,OAAO;IACxBH,aAAa,GAAGI,MAAM;EACxB,CAAC,CAAC;EACFb,QAAQ,CAACc,GAAG,CAACP,SAAS,EAAE;IACtBK,OAAO,EAAEJ,cAA0C;IACnDK,MAAM,EAAEJ;EACV,CAAC,CAAC;EACF,MAAMM,cAAc,GAAGb,gBAAgB,CAACc,GAAG,CAACX,QAAQ,CAAC,IAAI,IAAIY,GAAG,CAAS,CAAC;EAC1EF,cAAc,CAACG,GAAG,CAACX,SAAS,CAAC;EAC7BL,gBAAgB,CAACY,GAAG,CAACT,QAAQ,EAAEU,cAAc,CAAC;EAC9C,IAAIT,gBAAgB,EAAER,sBAAsB,CAACO,QAAQ,CAAC;EACtD,OAAO;IAAEE,SAAS;IAAEG;EAAQ,CAAC;AAC/B;AAEA,OAAO,SAASS,mBAAmBA,CACjCd,QAAgB,EAChBE,SAAiB,EACjBa,KAAc,EACdC,kBAAkB,GAAG,KAAK,EACpB;EACN,MAAMC,OAAO,GAAGtB,QAAQ,CAACgB,GAAG,CAACT,SAAS,CAAC;EACvCP,QAAQ,CAACuB,MAAM,CAAChB,SAAS,CAAC;EAC1B,MAAMQ,cAAc,GAAGb,gBAAgB,CAACc,GAAG,CAACX,QAAQ,CAAC;EACrDU,cAAc,EAAEQ,MAAM,CAAChB,SAAS,CAAC;EACjC,IAAIQ,cAAc,EAAES,IAAI,KAAK,CAAC,EAAEtB,gBAAgB,CAACqB,MAAM,CAAClB,QAAQ,CAAC;EACjEiB,OAAO,EAAEV,OAAO,CAACQ,KAAK,CAAC;EACvB,IAAIC,kBAAkB,EAAE;IACtBI,cAAc,CAAC,MAAM1B,wBAAwB,CAACM,QAAQ,CAAC,CAAC;EAC1D;AACF;AAEA,OAAO,SAASqB,oBAAoBA,CAACrB,QAAgB,EAAQ;EAC3D,MAAMU,cAAc,GAAGb,gBAAgB,CAACc,GAAG,CAACX,QAAQ,CAAC;EACrD,IAAI,CAACU,cAAc,EAAE;EACrB,KAAK,MAAMR,SAAS,IAAIQ,cAAc,EAAE;IACtC,MAAMO,OAAO,GAAGtB,QAAQ,CAACgB,GAAG,CAACT,SAAS,CAAC;IACvCP,QAAQ,CAACuB,MAAM,CAAChB,SAAS,CAAC;IAC1Be,OAAO,EAAET,MAAM,CAAC,IAAIc,KAAK,CAAC,wCAAwC,CAAC,CAAC;EACtE;EACAzB,gBAAgB,CAACqB,MAAM,CAAClB,QAAQ,CAAC;AACnC","ignoreList":[]}
1
+ {"version":3,"names":["deferDriverCompletions","releaseDriverCompletions","requests","Map","requestsByDriver","nextRequestId","createReactRequest","driverId","deferCompletions","teardownResolution","requestId","resolveRequest","rejectRequest","promise","Promise","resolve","reject","set","driverRequests","get","Set","add","resolveReactRequest","value","releaseCompletions","request","delete","size","queueMicrotask","rejectDriverRequests","Error"],"sourceRoot":"../../src","sources":["reactRequests.ts"],"mappings":";;AAAA,SACEA,sBAAsB,EACtBC,wBAAwB,QACnB,kBAAe;AAYtB,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAAyB,CAAC;AAClD,MAAMC,gBAAgB,GAAG,IAAID,GAAG,CAAsB,CAAC;AACvD,IAAIE,aAAa,GAAG,CAAC;AAErB,OAAO,SAASC,kBAAkBA,CAChCC,QAAgB,EAChBC,gBAAgB,GAAG,KAAK,EACxBC,kBAAuC,EACK;EAC5CJ,aAAa,GAAIA,aAAa,GAAG,UAAU,GAAI,CAAC;EAChD,MAAMK,SAAS,GAAGL,aAAa;EAC/B,IAAIM,cAAmC;EACvC,IAAIC,aAAsC;EAC1C,MAAMC,OAAO,GAAG,IAAIC,OAAO,CAAI,CAACC,OAAO,EAAEC,MAAM,KAAK;IAClDL,cAAc,GAAGI,OAAO;IACxBH,aAAa,GAAGI,MAAM;EACxB,CAAC,CAAC;EACFd,QAAQ,CAACe,GAAG,CAACP,SAAS,EAAE;IACtBK,OAAO,EAAEJ,cAA0C;IACnDK,MAAM,EAAEJ,aAAa;IACrBH;EACF,CAAC,CAAC;EACF,MAAMS,cAAc,GAAGd,gBAAgB,CAACe,GAAG,CAACZ,QAAQ,CAAC,IAAI,IAAIa,GAAG,CAAS,CAAC;EAC1EF,cAAc,CAACG,GAAG,CAACX,SAAS,CAAC;EAC7BN,gBAAgB,CAACa,GAAG,CAACV,QAAQ,EAAEW,cAAc,CAAC;EAC9C,IAAIV,gBAAgB,EAAER,sBAAsB,CAACO,QAAQ,CAAC;EACtD,OAAO;IAAEG,SAAS;IAAEG;EAAQ,CAAC;AAC/B;AAEA,OAAO,SAASS,mBAAmBA,CACjCf,QAAgB,EAChBG,SAAiB,EACjBa,KAAc,EACdC,kBAAkB,GAAG,KAAK,EACpB;EACN,MAAMC,OAAO,GAAGvB,QAAQ,CAACiB,GAAG,CAACT,SAAS,CAAC;EACvCR,QAAQ,CAACwB,MAAM,CAAChB,SAAS,CAAC;EAC1B,MAAMQ,cAAc,GAAGd,gBAAgB,CAACe,GAAG,CAACZ,QAAQ,CAAC;EACrDW,cAAc,EAAEQ,MAAM,CAAChB,SAAS,CAAC;EACjC,IAAIQ,cAAc,EAAES,IAAI,KAAK,CAAC,EAAEvB,gBAAgB,CAACsB,MAAM,CAACnB,QAAQ,CAAC;EACjEkB,OAAO,EAAEV,OAAO,CAACQ,KAAK,CAAC;EACvB,IAAIC,kBAAkB,EAAE;IACtBI,cAAc,CAAC,MAAM3B,wBAAwB,CAACM,QAAQ,CAAC,CAAC;EAC1D;AACF;AAEA,OAAO,SAASsB,oBAAoBA,CAACtB,QAAgB,EAAQ;EAC3D,MAAMW,cAAc,GAAGd,gBAAgB,CAACe,GAAG,CAACZ,QAAQ,CAAC;EACrD,IAAI,CAACW,cAAc,EAAE;EACrB,KAAK,MAAMR,SAAS,IAAIQ,cAAc,EAAE;IACtC,MAAMO,OAAO,GAAGvB,QAAQ,CAACiB,GAAG,CAACT,SAAS,CAAC;IACvCR,QAAQ,CAACwB,MAAM,CAAChB,SAAS,CAAC;IAC1B,IAAI,CAACe,OAAO,EAAE;IACd,IAAIA,OAAO,CAAChB,kBAAkB,EAAE;MAC9BgB,OAAO,CAACV,OAAO,CAACU,OAAO,CAAChB,kBAAkB,CAACc,KAAK,CAAC;IACnD,CAAC,MAAM;MACLE,OAAO,CAACT,MAAM,CAAC,IAAIc,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACrE;EACF;EACA1B,gBAAgB,CAACsB,MAAM,CAACnB,QAAQ,CAAC;AACnC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"driverState.d.ts","sourceRoot":"","sources":["../../../src/driverState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAe,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAY,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,sBAAsB,CAAC;IAC5C,MAAM,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,mBAAmB,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;KAC9D,CAAC;IACF,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;CAC5C,CAAC;AAMF,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,WAAW,GACjB,IAAI,CAIN;AAKD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAI1D;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,sBAAsB,EAC3C,MAAM,EAAE,WAAW,CAAC,sBAAsB,CAAC,EAC3C,mBAAmB,EAAE,WAAW,CAAC,qBAAqB,CAAC,EACvD,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EACvC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,WAAW,CAcb;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAUvE;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,IAAI,CAKN;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAOT;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,GAChB,IAAI,CASN;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAG7D;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS/D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAQpE"}
1
+ {"version":3,"file":"driverState.d.ts","sourceRoot":"","sources":["../../../src/driverState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAe,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAY,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,sBAAsB,CAAC;IAC5C,MAAM,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,mBAAmB,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;KAC9D,CAAC;IACF,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;CAC5C,CAAC;AAMF,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,WAAW,GACjB,IAAI,CAIN;AAKD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAY1D;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,sBAAsB,EAC3C,MAAM,EAAE,WAAW,CAAC,sBAAsB,CAAC,EAC3C,mBAAmB,EAAE,WAAW,CAAC,qBAAqB,CAAC,EACvD,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EACvC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,WAAW,CAcb;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAUvE;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,IAAI,CAKN;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAOT;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,GAChB,IAAI,CASN;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAG7D;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS/D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAQpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"drivers.native.d.ts","sourceRoot":"","sources":["../../../src/drivers.native.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,sBAAsB,EAEtB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,kBAAe,CAAC;AAavB,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC5B,MAAM,eAAY,CAAC;AAiKpB,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,YAAY,GAAG,sBAAsB,EACnD,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CAslBlB;AAED,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,CAAC"}
1
+ {"version":3,"file":"drivers.native.d.ts","sourceRoot":"","sources":["../../../src/drivers.native.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,sBAAsB,EAEtB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,kBAAe,CAAC;AAavB,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC5B,MAAM,eAAY,CAAC;AA2KpB,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,YAAY,GAAG,sBAAsB,EACnD,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CAomBlB;AAED,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,CAAC"}
@@ -1,4 +1,6 @@
1
- export declare function createReactRequest<T>(driverId: number, deferCompletions?: boolean): {
1
+ export declare function createReactRequest<T>(driverId: number, deferCompletions?: boolean, teardownResolution?: {
2
+ value: unknown;
3
+ }): {
2
4
  requestId: number;
3
5
  promise: Promise<T>;
4
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"reactRequests.d.ts","sourceRoot":"","sources":["../../../src/reactRequests.ts"],"names":[],"mappings":"AAcA,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,UAAQ,GACvB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAkB5C;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,EACd,kBAAkB,UAAQ,GACzB,IAAI,CAUN;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS3D"}
1
+ {"version":3,"file":"reactRequests.d.ts","sourceRoot":"","sources":["../../../src/reactRequests.ts"],"names":[],"mappings":"AAmBA,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,UAAQ,EACxB,kBAAkB,CAAC,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GACtC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAmB5C;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,EACd,kBAAkB,UAAQ,GACzB,IAAI,CAUN;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAc3D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-smooth-clip-view",
3
- "version": "0.2.6",
3
+ "version": "0.2.7",
4
4
  "description": "Layout-free animated rounded clipping for React Native Fabric",
5
5
  "main": "./lib/module/index.js",
6
6
  "module": "./lib/module/index.js",