@nativescript/core 8.5.0-alpha.2 → 8.5.0-alpha.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 (77) hide show
  1. package/file-system/file-system-access.android.d.ts +13 -0
  2. package/file-system/file-system-access.android.js +141 -0
  3. package/file-system/file-system-access.android.js.map +1 -1
  4. package/file-system/file-system-access.d.ts +12 -0
  5. package/file-system/file-system-access.ios.d.ts +7 -0
  6. package/file-system/file-system-access.ios.js +56 -0
  7. package/file-system/file-system-access.ios.js.map +1 -1
  8. package/package.json +1 -1
  9. package/platforms/android/widgets-release.aar +0 -0
  10. package/ui/core/view/index.android.js +1 -22
  11. package/ui/core/view/index.android.js.map +1 -1
  12. package/ui/core/view/index.ios.js +28 -12
  13. package/ui/core/view/index.ios.js.map +1 -1
  14. package/ui/core/view/view-common.d.ts +4 -0
  15. package/ui/core/view/view-common.js +26 -12
  16. package/ui/core/view/view-common.js.map +1 -1
  17. package/ui/core/view/view-helper/index.ios.d.ts +10 -0
  18. package/ui/core/view/view-helper/index.ios.js +99 -40
  19. package/ui/core/view/view-helper/index.ios.js.map +1 -1
  20. package/ui/frame/fragment.transitions.d.ts +0 -4
  21. package/ui/frame/frame-common.d.ts +2 -2
  22. package/ui/frame/frame-common.js.map +1 -1
  23. package/ui/frame/index.android.js +2 -4
  24. package/ui/frame/index.android.js.map +1 -1
  25. package/ui/frame/index.ios.js +58 -9
  26. package/ui/frame/index.ios.js.map +1 -1
  27. package/ui/index.d.ts +2 -0
  28. package/ui/index.js +2 -0
  29. package/ui/index.js.map +1 -1
  30. package/ui/page/index.ios.d.ts +4 -1
  31. package/ui/page/index.ios.js +81 -56
  32. package/ui/page/index.ios.js.map +1 -1
  33. package/ui/styling/background.ios.js +3 -0
  34. package/ui/styling/background.ios.js.map +1 -1
  35. package/ui/transition/fade-transition.d.ts +1 -3
  36. package/ui/transition/fade-transition.ios.d.ts +14 -1
  37. package/ui/transition/fade-transition.ios.js +60 -26
  38. package/ui/transition/fade-transition.ios.js.map +1 -1
  39. package/ui/transition/index.android.d.ts +0 -3
  40. package/ui/transition/index.android.js +0 -5
  41. package/ui/transition/index.android.js.map +1 -1
  42. package/ui/transition/index.d.ts +9 -9
  43. package/ui/transition/index.ios.d.ts +0 -3
  44. package/ui/transition/index.ios.js +0 -33
  45. package/ui/transition/index.ios.js.map +1 -1
  46. package/ui/transition/modal-transition.android.d.ts +3 -4
  47. package/ui/transition/modal-transition.android.js +4 -51
  48. package/ui/transition/modal-transition.android.js.map +1 -1
  49. package/ui/transition/modal-transition.ios.d.ts +6 -1
  50. package/ui/transition/modal-transition.ios.js +287 -79
  51. package/ui/transition/modal-transition.ios.js.map +1 -1
  52. package/ui/transition/page-transition.android.d.ts +4 -4
  53. package/ui/transition/page-transition.android.js +44 -33
  54. package/ui/transition/page-transition.android.js.map +1 -1
  55. package/ui/transition/page-transition.ios.d.ts +21 -1
  56. package/ui/transition/page-transition.ios.js +471 -181
  57. package/ui/transition/page-transition.ios.js.map +1 -1
  58. package/ui/transition/shared-transition.d.ts +80 -7
  59. package/ui/transition/shared-transition.js +37 -8
  60. package/ui/transition/shared-transition.js.map +1 -1
  61. package/ui/transition/slide-transition.android.d.ts +1 -1
  62. package/ui/transition/slide-transition.android.js +1 -1
  63. package/ui/transition/slide-transition.android.js.map +1 -1
  64. package/ui/transition/slide-transition.d.ts +1 -1
  65. package/ui/transition/slide-transition.ios.d.ts +15 -2
  66. package/ui/transition/slide-transition.ios.js +86 -52
  67. package/ui/transition/slide-transition.ios.js.map +1 -1
  68. package/utils/native-helper.d.ts +35 -0
  69. package/utils/native-helper.ios.d.ts +13 -0
  70. package/utils/native-helper.ios.js +73 -0
  71. package/utils/native-helper.ios.js.map +1 -1
  72. package/utils/number-utils.d.ts +10 -0
  73. package/utils/number-utils.js +12 -0
  74. package/utils/number-utils.js.map +1 -1
  75. package/ui/frame/fragment.transitions.ios.d.ts +0 -2
  76. package/ui/frame/fragment.transitions.ios.js +0 -71
  77. package/ui/frame/fragment.transitions.ios.js.map +0 -1
@@ -1,6 +1,9 @@
1
1
  import { Screen } from '../../platform';
2
- import { Transition, iosMatchLayerProperties, iosPrintRect, iosSnapshotView } from '.';
3
- import { SharedTransition, SharedTransitionAnimationType, DEFAULT_DURATION } from './shared-transition';
2
+ import { iOSNativeHelper } from '../../utils/native-helper';
3
+ import { isNumber } from '../../utils/types';
4
+ import { Transition } from '.';
5
+ import { SharedTransition, SharedTransitionAnimationType, DEFAULT_DURATION, DEFAULT_SPRING } from './shared-transition';
6
+ import { GestureStateTypes } from '../gestures';
4
7
  export class ModalTransition extends Transition {
5
8
  iosPresentedController(presented, presenting, source) {
6
9
  this.transitionController = ModalTransitionController.initWithOwner(new WeakRef(this));
@@ -14,18 +17,181 @@ export class ModalTransition extends Transition {
14
17
  return this.transitionController;
15
18
  }
16
19
  iosInteractionDismiss(animator) {
17
- console.log('-- iosInteractionDismiss --');
18
- return null;
20
+ // console.log('-- iosInteractionDismiss --');
21
+ this.interactiveController = PercentInteractiveController.initWithOwner(new WeakRef(this));
22
+ return this.interactiveController;
19
23
  }
20
24
  iosInteractionPresented(animator) {
21
- console.log('-- iosInteractionPresented --');
25
+ // console.log('-- iosInteractionPresented --');
22
26
  return null;
23
27
  }
24
- iosPresentedViewController(presented, presenting, source) {
25
- console.log('-- iosPresentedViewController --');
26
- return null;
28
+ setupInteractiveGesture(startCallback, view) {
29
+ this._interactiveStartCallback = startCallback;
30
+ this._interactiveDismissGesture = this._interactiveDismissGestureHandler.bind(this);
31
+ view.on('pan', this._interactiveDismissGesture);
32
+ // this.interactiveGestureRecognizer = UIScreenEdgePanGestureRecognizer.alloc().initWithTargetAction()
33
+ // let edgeSwipeGestureRecognizer = UIScreenEdgePanGestureRecognizer(target: self, action: #selector(handleSwipe(_:)))
34
+ // edgeSwipeGestureRecognizer.edges = .left
35
+ // view.addGestureRecognizer(edgeSwipeGestureRecognizer)
36
+ }
37
+ _interactiveDismissGestureHandler(args) {
38
+ if (args?.ios?.view) {
39
+ const state = SharedTransition.getState(this.id);
40
+ // SharedTransition.updateState(this.id, {
41
+ // interactiveBegan: true,
42
+ // interactiveCancelled: false
43
+ // });
44
+ const percent = state.interactive?.dismiss?.percentFormula ? state.interactive.dismiss.percentFormula(args) : args.deltaY / (args.ios.view.bounds.size.height / 2);
45
+ if (SharedTransition.DEBUG) {
46
+ console.log('Interactive dismissal percentage:', percent);
47
+ }
48
+ switch (args.state) {
49
+ case GestureStateTypes.began:
50
+ SharedTransition.updateState(this.id, {
51
+ interactiveBegan: true,
52
+ interactiveCancelled: false,
53
+ });
54
+ if (this._interactiveStartCallback) {
55
+ this._interactiveStartCallback();
56
+ }
57
+ break;
58
+ case GestureStateTypes.changed:
59
+ if (percent < 1) {
60
+ if (this.interactiveController) {
61
+ this.interactiveController.updateInteractiveTransition(percent);
62
+ }
63
+ }
64
+ break;
65
+ case GestureStateTypes.cancelled:
66
+ case GestureStateTypes.ended:
67
+ if (this.interactiveController) {
68
+ const finishThreshold = isNumber(state.interactive?.dismiss?.finishThreshold) ? state.interactive.dismiss.finishThreshold : 0.5;
69
+ if (percent > finishThreshold) {
70
+ this.interactiveController.finishInteractiveTransition();
71
+ }
72
+ else {
73
+ SharedTransition.updateState(this.id, {
74
+ interactiveCancelled: true,
75
+ });
76
+ this.interactiveController.cancelInteractiveTransition();
77
+ }
78
+ }
79
+ break;
80
+ }
81
+ }
27
82
  }
28
83
  }
84
+ var PercentInteractiveController = /** @class */ (function (_super) {
85
+ __extends(PercentInteractiveController, _super);
86
+ function PercentInteractiveController() {
87
+ var _this = _super !== null && _super.apply(this, arguments) || this;
88
+ _this.started = false;
89
+ return _this;
90
+ }
91
+ PercentInteractiveController.initWithOwner = function (owner) {
92
+ var ctrl = PercentInteractiveController.new();
93
+ ctrl.owner = owner;
94
+ return ctrl;
95
+ };
96
+ PercentInteractiveController.prototype.startInteractiveTransition = function (transitionContext) {
97
+ // console.log('startInteractiveTransition');
98
+ this.transitionContext = transitionContext;
99
+ };
100
+ PercentInteractiveController.prototype.updateInteractiveTransition = function (percentComplete) {
101
+ var _a;
102
+ var owner = (_a = this.owner) === null || _a === void 0 ? void 0 : _a.deref();
103
+ if (owner) {
104
+ if (!this.started) {
105
+ this.started = true;
106
+ for (var _i = 0, _b = owner.sharedElements.presented; _i < _b.length; _i++) {
107
+ var p = _b[_i];
108
+ p.view.opacity = 0;
109
+ }
110
+ for (var _c = 0, _d = owner.sharedElements.presenting; _c < _d.length; _c++) {
111
+ var p = _d[_c];
112
+ p.snapshot.alpha = p.endOpacity;
113
+ this.transitionContext.containerView.addSubview(p.snapshot);
114
+ }
115
+ var state = SharedTransition.getState(owner.id);
116
+ var toProps = state.toPageStart;
117
+ var startY_1 = isNumber(toProps === null || toProps === void 0 ? void 0 : toProps.y) ? toProps === null || toProps === void 0 ? void 0 : toProps.y : Screen.mainScreen.heightDIPs;
118
+ this.backgroundAnimation = UIViewPropertyAnimator.alloc().initWithDurationDampingRatioAnimations(1, 1, function () {
119
+ for (var _i = 0, _a = owner.sharedElements.presenting; _i < _a.length; _i++) {
120
+ var p = _a[_i];
121
+ p.snapshot.frame = p.startFrame;
122
+ iOSNativeHelper.copyLayerProperties(p.snapshot, p.view.ios);
123
+ p.snapshot.alpha = 1;
124
+ }
125
+ owner.presented.view.alpha = 0;
126
+ owner.presented.view.frame = CGRectMake(0, startY_1, owner.presented.view.bounds.size.width, owner.presented.view.bounds.size.height);
127
+ });
128
+ }
129
+ this.backgroundAnimation.fractionComplete = percentComplete;
130
+ }
131
+ };
132
+ PercentInteractiveController.prototype.cancelInteractiveTransition = function () {
133
+ var _this = this;
134
+ var _a, _b, _c;
135
+ // console.log('cancelInteractiveTransition');
136
+ var owner = (_a = this.owner) === null || _a === void 0 ? void 0 : _a.deref();
137
+ if (owner && this.started) {
138
+ var state = SharedTransition.getState(owner.id);
139
+ if (!state) {
140
+ return;
141
+ }
142
+ if (this.backgroundAnimation) {
143
+ this.backgroundAnimation.reversed = true;
144
+ var duration = isNumber((_b = state.toPageStart) === null || _b === void 0 ? void 0 : _b.duration) ? ((_c = state.toPageStart) === null || _c === void 0 ? void 0 : _c.duration) / 1000 : DEFAULT_DURATION;
145
+ this.backgroundAnimation.continueAnimationWithTimingParametersDurationFactor(null, duration);
146
+ setTimeout(function () {
147
+ for (var _i = 0, _a = owner.sharedElements.presented; _i < _a.length; _i++) {
148
+ var p = _a[_i];
149
+ p.view.opacity = 1;
150
+ }
151
+ for (var _b = 0, _c = owner.sharedElements.presenting; _b < _c.length; _b++) {
152
+ var p = _c[_b];
153
+ p.snapshot.removeFromSuperview();
154
+ }
155
+ owner.presented.view.alpha = 1;
156
+ _this.backgroundAnimation = null;
157
+ _this.started = false;
158
+ _this.transitionContext.cancelInteractiveTransition();
159
+ _this.transitionContext.completeTransition(false);
160
+ }, duration * 1000);
161
+ }
162
+ }
163
+ };
164
+ PercentInteractiveController.prototype.finishInteractiveTransition = function () {
165
+ var _this = this;
166
+ var _a, _b, _c;
167
+ // console.log('finishInteractiveTransition');
168
+ var owner = (_a = this.owner) === null || _a === void 0 ? void 0 : _a.deref();
169
+ if (owner && this.started) {
170
+ if (this.backgroundAnimation) {
171
+ this.backgroundAnimation.reversed = false;
172
+ var state = SharedTransition.getState(owner.id);
173
+ if (!state) {
174
+ SharedTransition.finishState(owner.id);
175
+ this.transitionContext.completeTransition(true);
176
+ return;
177
+ }
178
+ var duration = isNumber((_b = state.fromPageEnd) === null || _b === void 0 ? void 0 : _b.duration) ? ((_c = state.fromPageEnd) === null || _c === void 0 ? void 0 : _c.duration) / 1000 : DEFAULT_DURATION;
179
+ this.backgroundAnimation.continueAnimationWithTimingParametersDurationFactor(null, duration);
180
+ setTimeout(function () {
181
+ for (var _i = 0, _a = owner.sharedElements.presenting; _i < _a.length; _i++) {
182
+ var presenting = _a[_i];
183
+ presenting.view.opacity = presenting.startOpacity;
184
+ }
185
+ SharedTransition.finishState(owner.id);
186
+ _this.transitionContext.finishInteractiveTransition();
187
+ _this.transitionContext.completeTransition(true);
188
+ }, duration * 1000);
189
+ }
190
+ }
191
+ };
192
+ PercentInteractiveController.ObjCProtocols = [UIViewControllerInteractiveTransitioning];
193
+ return PercentInteractiveController;
194
+ }(UIPercentDrivenInteractiveTransition));
29
195
  var ModalTransitionController = /** @class */ (function (_super) {
30
196
  __extends(ModalTransitionController, _super);
31
197
  function ModalTransitionController() {
@@ -40,8 +206,7 @@ var ModalTransitionController = /** @class */ (function (_super) {
40
206
  return DEFAULT_DURATION;
41
207
  };
42
208
  ModalTransitionController.prototype.animateTransition = function (transitionContext) {
43
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
44
- // console.log('ModalTransitionController animateTransition:', animationType);
209
+ // console.log('ModalTransitionController animateTransition');
45
210
  var owner = this.owner.deref();
46
211
  if (owner) {
47
212
  // console.log('owner.id:', owner.id);
@@ -52,13 +217,15 @@ var ModalTransitionController = /** @class */ (function (_super) {
52
217
  // console.log('state.activeType:', state.activeType)
53
218
  switch (state_1.activeType) {
54
219
  case SharedTransitionAnimationType.present: {
55
- console.log('-- Transition present --');
220
+ // console.log('-- Transition present --');
56
221
  transitionContext.containerView.addSubview(owner.presented.view);
57
222
  owner.presented.view.layoutIfNeeded();
58
- var _q = SharedTransition.getSharedElements(state_1.page, state_1.toPage), sharedElements = _q.sharedElements, presented = _q.presented;
59
- console.log(' ');
60
- console.log("1. Found sharedTransitionTags to animate:", sharedElements.map(function (v) { return v.sharedTransitionTag; }));
61
- console.log("2. Take snapshots of shared elements and position them based on presenting view:");
223
+ var _a = SharedTransition.getSharedElements(state_1.page, state_1.toPage), sharedElements = _a.sharedElements, presented = _a.presented;
224
+ if (SharedTransition.DEBUG) {
225
+ console.log(' ModalTransition: Present');
226
+ console.log("1. Found sharedTransitionTags to animate:", sharedElements.map(function (v) { return v.sharedTransitionTag; }));
227
+ console.log("2. Take snapshots of shared elements and position them based on presenting view:");
228
+ }
62
229
  var _loop_1 = function (presentingView) {
63
230
  if (!owner.sharedElements) {
64
231
  owner.sharedElements = {
@@ -79,19 +246,21 @@ var ModalTransitionController = /** @class */ (function (_super) {
79
246
  // in case the image is loaded async, we need to update the snapshot when it changes
80
247
  // todo: remove listener on transition end
81
248
  presentedView.on('imageSourceChange', function () {
82
- sharedElementSnapshot.image = iosSnapshotView(presentedSharedElement);
249
+ sharedElementSnapshot.image = iOSNativeHelper.snapshotView(presentedSharedElement, Screen.mainScreen.scale);
83
250
  sharedElementSnapshot.tintColor = presentedSharedElement.tintColor;
84
251
  });
85
252
  sharedElementSnapshot.tintColor = presentedSharedElement.tintColor;
86
253
  sharedElementSnapshot.contentMode = presentedSharedElement.contentMode;
87
254
  }
88
- iosMatchLayerProperties(sharedElementSnapshot, presentingSharedElement);
255
+ iOSNativeHelper.copyLayerProperties(sharedElementSnapshot, presentingSharedElement);
89
256
  sharedElementSnapshot.clipsToBounds = true;
90
257
  // console.log('---> snapshot: ', sharedElementSnapshot);
91
258
  var startFrame = presentingSharedElement.convertRectToView(presentingSharedElement.bounds, transitionContext.containerView);
92
259
  var endFrame = presentedSharedElement.convertRectToView(presentedSharedElement.bounds, transitionContext.containerView);
93
260
  sharedElementSnapshot.frame = startFrame;
94
- console.log('---> ', presentingView.sharedTransitionTag, ' frame:', iosPrintRect(sharedElementSnapshot.frame));
261
+ if (SharedTransition.DEBUG) {
262
+ console.log('---> ', presentingView.sharedTransitionTag, ' frame:', iOSNativeHelper.printCGRect(sharedElementSnapshot.frame));
263
+ }
95
264
  owner.sharedElements.presenting.push({
96
265
  view: presentingView,
97
266
  startFrame: startFrame,
@@ -124,24 +293,14 @@ var ModalTransitionController = /** @class */ (function (_super) {
124
293
  var presented_1 = _a[_i];
125
294
  presented_1.view.opacity = presented_1.startOpacity;
126
295
  }
127
- // TODO: Discuss with Igor whether this is necessary
128
- // potential this could help smooth some shared element transitions
129
- UIView.animateWithDurationAnimationsCompletion(0, // Igor: disabled for now, we'll talk about this and decide
130
- function () {
131
- for (var _i = 0, _a = owner.sharedElements.presenting; _i < _a.length; _i++) {
132
- var presenting = _a[_i];
133
- presenting.snapshot.alpha = presenting.endOpacity;
134
- }
135
- }, function () {
136
- for (var _i = 0, _a = owner.sharedElements.presenting; _i < _a.length; _i++) {
137
- var presenting = _a[_i];
138
- presenting.snapshot.removeFromSuperview();
139
- }
140
- SharedTransition.updateState(owner.id, {
141
- activeType: SharedTransitionAnimationType.dismiss,
142
- });
143
- transitionContext.completeTransition(true);
296
+ for (var _b = 0, _c = owner.sharedElements.presenting; _b < _c.length; _b++) {
297
+ var presenting = _c[_b];
298
+ presenting.snapshot.removeFromSuperview();
299
+ }
300
+ SharedTransition.updateState(owner.id, {
301
+ activeType: SharedTransitionAnimationType.dismiss,
144
302
  });
303
+ transitionContext.completeTransition(true);
145
304
  };
146
305
  var updateFramePresent_1 = function () {
147
306
  // https://stackoverflow.com/a/27997678/1418981
@@ -150,7 +309,9 @@ var ModalTransitionController = /** @class */ (function (_super) {
150
309
  // Not sure if best to leave all the time?
151
310
  // owner.presented.view.setNeedsLayout();
152
311
  // owner.presented.view.layoutIfNeeded();
153
- console.log('3. Animating shared elements:');
312
+ if (SharedTransition.DEBUG) {
313
+ console.log('3. Animating shared elements:');
314
+ }
154
315
  var _loop_2 = function (presented_2) {
155
316
  var presentingMatch = owner.sharedElements.presenting.find(function (v) { return v.view.sharedTransitionTag === presented_2.view.sharedTransitionTag; });
156
317
  // Workaround wrong origin due ongoing layout process.
@@ -158,53 +319,77 @@ var ModalTransitionController = /** @class */ (function (_super) {
158
319
  var correctedEndFrame = CGRectMake(updatedEndFrame.origin.x, updatedEndFrame.origin.y, presentingMatch.endFrame.size.width, presentingMatch.endFrame.size.height);
159
320
  presentingMatch.snapshot.frame = correctedEndFrame;
160
321
  // apply view and layer properties to the snapshot view to match the source/presented view
161
- iosMatchLayerProperties(presentingMatch.snapshot, presented_2.view.ios);
322
+ iOSNativeHelper.copyLayerProperties(presentingMatch.snapshot, presented_2.view.ios);
162
323
  // create a snapshot of the presented view
163
- presentingMatch.snapshot.image = iosSnapshotView(presented_2.view.ios);
324
+ presentingMatch.snapshot.image = iOSNativeHelper.snapshotView(presented_2.view.ios, Screen.mainScreen.scale);
164
325
  // apply correct alpha
165
326
  presentingMatch.snapshot.alpha = presentingMatch.endOpacity;
166
- console.log("---> ".concat(presentingMatch.view.sharedTransitionTag, " animate to: "), iosPrintRect(correctedEndFrame));
327
+ if (SharedTransition.DEBUG) {
328
+ console.log("---> ".concat(presentingMatch.view.sharedTransitionTag, " animate to: "), iOSNativeHelper.printCGRect(correctedEndFrame));
329
+ }
167
330
  };
168
331
  for (var _i = 0, _a = owner.sharedElements.presented; _i < _a.length; _i++) {
169
332
  var presented_2 = _a[_i];
170
333
  _loop_2(presented_2);
171
334
  }
172
- console.log(' ');
173
335
  };
174
336
  // starting page properties
175
- owner.presented.view.alpha = typeof ((_a = state_1.toPageStart) === null || _a === void 0 ? void 0 : _a.opacity) === 'number' ? (_b = state_1.toPageStart) === null || _b === void 0 ? void 0 : _b.opacity : 0;
176
- var startX = typeof ((_c = state_1.toPageStart) === null || _c === void 0 ? void 0 : _c.x) === 'number' ? (_d = state_1.toPageStart) === null || _d === void 0 ? void 0 : _d.x : 0;
177
- var startY = typeof ((_e = state_1.toPageStart) === null || _e === void 0 ? void 0 : _e.y) === 'number' ? (_f = state_1.toPageStart) === null || _f === void 0 ? void 0 : _f.y : Screen.mainScreen.heightDIPs;
178
- var startWidth = typeof ((_g = state_1.toPageStart) === null || _g === void 0 ? void 0 : _g.width) === 'number' ? (_h = state_1.toPageStart) === null || _h === void 0 ? void 0 : _h.width : Screen.mainScreen.widthDIPs;
179
- var startHeight = typeof ((_j = state_1.toPageStart) === null || _j === void 0 ? void 0 : _j.height) === 'number' ? (_k = state_1.toPageStart) === null || _k === void 0 ? void 0 : _k.height : Screen.mainScreen.heightDIPs;
337
+ var toProps = state_1.toPageStart;
338
+ owner.presented.view.alpha = isNumber(toProps === null || toProps === void 0 ? void 0 : toProps.opacity) ? toProps === null || toProps === void 0 ? void 0 : toProps.opacity : 0;
339
+ var startX = isNumber(toProps === null || toProps === void 0 ? void 0 : toProps.x) ? toProps === null || toProps === void 0 ? void 0 : toProps.x : 0;
340
+ var startY = isNumber(toProps === null || toProps === void 0 ? void 0 : toProps.y) ? toProps === null || toProps === void 0 ? void 0 : toProps.y : Screen.mainScreen.heightDIPs;
341
+ var startWidth = isNumber(toProps === null || toProps === void 0 ? void 0 : toProps.width) ? toProps === null || toProps === void 0 ? void 0 : toProps.width : Screen.mainScreen.widthDIPs;
342
+ var startHeight = isNumber(toProps === null || toProps === void 0 ? void 0 : toProps.height) ? toProps === null || toProps === void 0 ? void 0 : toProps.height : Screen.mainScreen.heightDIPs;
180
343
  owner.presented.view.frame = CGRectMake(startX, startY, startWidth, startHeight);
181
- UIView.animateWithDurationDelayUsingSpringWithDampingInitialSpringVelocityOptionsAnimationsCompletion(typeof ((_l = state_1.toPageStart) === null || _l === void 0 ? void 0 : _l.duration) === 'number' ? ((_m = state_1.toPageStart) === null || _m === void 0 ? void 0 : _m.duration) / 1000 : DEFAULT_DURATION, 0, 0.5, 3, UIViewAnimationOptions.CurveEaseInOut, function () {
182
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
344
+ var animateProperties_1 = function () {
345
+ var props = state_1.toPageEnd;
183
346
  // animate page properties to the following:
184
- owner.presented.view.alpha = typeof ((_a = state_1.toPageEnd) === null || _a === void 0 ? void 0 : _a.opacity) === 'number' ? (_b = state_1.toPageEnd) === null || _b === void 0 ? void 0 : _b.opacity : 1;
185
- var endX = typeof ((_c = state_1.toPageEnd) === null || _c === void 0 ? void 0 : _c.x) === 'number' ? (_d = state_1.toPageEnd) === null || _d === void 0 ? void 0 : _d.x : 0;
186
- var endY = typeof ((_e = state_1.toPageEnd) === null || _e === void 0 ? void 0 : _e.y) === 'number' ? (_f = state_1.toPageEnd) === null || _f === void 0 ? void 0 : _f.y : 0;
187
- var endWidth = typeof ((_g = state_1.toPageEnd) === null || _g === void 0 ? void 0 : _g.width) === 'number' ? (_h = state_1.toPageEnd) === null || _h === void 0 ? void 0 : _h.width : Screen.mainScreen.widthDIPs;
188
- var endHeight = typeof ((_j = state_1.toPageEnd) === null || _j === void 0 ? void 0 : _j.height) === 'number' ? (_k = state_1.toPageEnd) === null || _k === void 0 ? void 0 : _k.height : Screen.mainScreen.heightDIPs;
347
+ owner.presented.view.alpha = isNumber(props === null || props === void 0 ? void 0 : props.opacity) ? props === null || props === void 0 ? void 0 : props.opacity : 1;
348
+ var endX = isNumber(props === null || props === void 0 ? void 0 : props.x) ? props === null || props === void 0 ? void 0 : props.x : 0;
349
+ var endY = isNumber(props === null || props === void 0 ? void 0 : props.y) ? props === null || props === void 0 ? void 0 : props.y : 0;
350
+ var endWidth = isNumber(props === null || props === void 0 ? void 0 : props.width) ? props === null || props === void 0 ? void 0 : props.width : Screen.mainScreen.widthDIPs;
351
+ var endHeight = isNumber(props === null || props === void 0 ? void 0 : props.height) ? props === null || props === void 0 ? void 0 : props.height : Screen.mainScreen.heightDIPs;
189
352
  owner.presented.view.frame = CGRectMake(endX, endY, endWidth, endHeight);
190
- updateFramePresent_1();
191
- }, function () {
192
- cleanupPresent_1();
193
- });
353
+ };
354
+ if (isNumber(toProps === null || toProps === void 0 ? void 0 : toProps.duration)) {
355
+ // override spring and use only linear animation
356
+ UIView.animateWithDurationAnimationsCompletion((toProps === null || toProps === void 0 ? void 0 : toProps.duration) / 1000, function () {
357
+ animateProperties_1();
358
+ updateFramePresent_1();
359
+ }, function () {
360
+ cleanupPresent_1();
361
+ });
362
+ }
363
+ else {
364
+ var spring = toProps === null || toProps === void 0 ? void 0 : toProps.spring;
365
+ iOSNativeHelper.animateWithSpring({
366
+ tension: isNumber(spring === null || spring === void 0 ? void 0 : spring.tension) ? spring === null || spring === void 0 ? void 0 : spring.tension : DEFAULT_SPRING.tension,
367
+ friction: isNumber(spring === null || spring === void 0 ? void 0 : spring.friction) ? spring === null || spring === void 0 ? void 0 : spring.tension : DEFAULT_SPRING.friction,
368
+ animations: function () {
369
+ animateProperties_1();
370
+ updateFramePresent_1();
371
+ },
372
+ completion: function () {
373
+ cleanupPresent_1();
374
+ },
375
+ });
376
+ }
194
377
  break;
195
378
  }
196
379
  case SharedTransitionAnimationType.dismiss: {
197
- console.log('-- Transition dismiss --');
380
+ // console.log('-- Transition dismiss --');
198
381
  // console.log('transitionContext.containerView.subviews.count:', transitionContext.containerView.subviews.count);
199
- console.log(' ');
200
- console.log("1. Dismiss sharedTransitionTags to animate:", owner.sharedElements.presented.map(function (p) { return p.view.sharedTransitionTag; }));
201
- console.log("2. Add back previously stored sharedElements to dismiss:");
202
- for (var _r = 0, _s = owner.sharedElements.presented; _r < _s.length; _r++) {
203
- var p = _s[_r];
382
+ if (SharedTransition.DEBUG) {
383
+ console.log(' ModalTransition: Dismiss');
384
+ console.log("1. Dismiss sharedTransitionTags to animate:", owner.sharedElements.presented.map(function (p) { return p.view.sharedTransitionTag; }));
385
+ console.log("2. Add back previously stored sharedElements to dismiss:");
386
+ }
387
+ for (var _b = 0, _c = owner.sharedElements.presented; _b < _c.length; _b++) {
388
+ var p = _c[_b];
204
389
  p.view.opacity = 0;
205
390
  }
206
- for (var _t = 0, _u = owner.sharedElements.presenting; _t < _u.length; _t++) {
207
- var p = _u[_t];
391
+ for (var _d = 0, _e = owner.sharedElements.presenting; _d < _e.length; _d++) {
392
+ var p = _e[_d];
208
393
  p.snapshot.alpha = p.endOpacity;
209
394
  transitionContext.containerView.addSubview(p.snapshot);
210
395
  }
@@ -217,28 +402,51 @@ var ModalTransitionController = /** @class */ (function (_super) {
217
402
  transitionContext.completeTransition(true);
218
403
  };
219
404
  var updateFrameDismiss_1 = function () {
220
- console.log('3. Dismissing shared elements:');
405
+ if (SharedTransition.DEBUG) {
406
+ console.log('3. Dismissing shared elements:');
407
+ }
221
408
  for (var _i = 0, _a = owner.sharedElements.presenting; _i < _a.length; _i++) {
222
409
  var presenting = _a[_i];
223
- iosMatchLayerProperties(presenting.snapshot, presenting.view.ios);
410
+ iOSNativeHelper.copyLayerProperties(presenting.snapshot, presenting.view.ios);
224
411
  presenting.snapshot.frame = presenting.startFrame;
225
412
  presenting.snapshot.alpha = presenting.startOpacity;
226
- console.log("---> ".concat(presenting.view.sharedTransitionTag, " animate to: "), iosPrintRect(presenting.startFrame));
413
+ if (SharedTransition.DEBUG) {
414
+ console.log("---> ".concat(presenting.view.sharedTransitionTag, " animate to: "), iOSNativeHelper.printCGRect(presenting.startFrame));
415
+ }
227
416
  }
228
- console.log(' ');
229
417
  };
230
- UIView.animateWithDurationDelayUsingSpringWithDampingInitialSpringVelocityOptionsAnimationsCompletion(typeof ((_o = state_1.fromPageEnd) === null || _o === void 0 ? void 0 : _o.duration) === 'number' ? ((_p = state_1.fromPageEnd) === null || _p === void 0 ? void 0 : _p.duration) / 1000 : DEFAULT_DURATION, 0, 0.5, 3, UIViewAnimationOptions.CurveEaseInOut, function () {
231
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
232
- owner.presented.view.alpha = typeof ((_a = state_1.fromPageEnd) === null || _a === void 0 ? void 0 : _a.opacity) === 'number' ? (_b = state_1.fromPageEnd) === null || _b === void 0 ? void 0 : _b.opacity : 0;
233
- var endX = typeof ((_c = state_1.fromPageEnd) === null || _c === void 0 ? void 0 : _c.x) === 'number' ? (_d = state_1.fromPageEnd) === null || _d === void 0 ? void 0 : _d.x : 0;
234
- var endY = typeof ((_e = state_1.fromPageEnd) === null || _e === void 0 ? void 0 : _e.y) === 'number' ? (_f = state_1.fromPageEnd) === null || _f === void 0 ? void 0 : _f.y : Screen.mainScreen.heightDIPs;
235
- var endWidth = typeof ((_g = state_1.fromPageEnd) === null || _g === void 0 ? void 0 : _g.width) === 'number' ? (_h = state_1.fromPageEnd) === null || _h === void 0 ? void 0 : _h.width : Screen.mainScreen.widthDIPs;
236
- var endHeight = typeof ((_j = state_1.fromPageEnd) === null || _j === void 0 ? void 0 : _j.height) === 'number' ? (_k = state_1.fromPageEnd) === null || _k === void 0 ? void 0 : _k.height : Screen.mainScreen.heightDIPs;
418
+ var props_1 = state_1.fromPageEnd;
419
+ var animateProperties_2 = function () {
420
+ owner.presented.view.alpha = isNumber(props_1 === null || props_1 === void 0 ? void 0 : props_1.opacity) ? props_1 === null || props_1 === void 0 ? void 0 : props_1.opacity : 0;
421
+ var endX = isNumber(props_1 === null || props_1 === void 0 ? void 0 : props_1.x) ? props_1 === null || props_1 === void 0 ? void 0 : props_1.x : 0;
422
+ var endY = isNumber(props_1 === null || props_1 === void 0 ? void 0 : props_1.y) ? props_1 === null || props_1 === void 0 ? void 0 : props_1.y : Screen.mainScreen.heightDIPs;
423
+ var endWidth = isNumber(props_1 === null || props_1 === void 0 ? void 0 : props_1.width) ? props_1 === null || props_1 === void 0 ? void 0 : props_1.width : Screen.mainScreen.widthDIPs;
424
+ var endHeight = isNumber(props_1 === null || props_1 === void 0 ? void 0 : props_1.height) ? props_1 === null || props_1 === void 0 ? void 0 : props_1.height : Screen.mainScreen.heightDIPs;
237
425
  owner.presented.view.frame = CGRectMake(endX, endY, endWidth, endHeight);
238
- updateFrameDismiss_1();
239
- }, function () {
240
- cleanupDismiss_1();
241
- });
426
+ };
427
+ if (isNumber(props_1 === null || props_1 === void 0 ? void 0 : props_1.duration)) {
428
+ // override spring and use only linear animation
429
+ UIView.animateWithDurationAnimationsCompletion((props_1 === null || props_1 === void 0 ? void 0 : props_1.duration) / 1000, function () {
430
+ animateProperties_2();
431
+ updateFrameDismiss_1();
432
+ }, function () {
433
+ cleanupDismiss_1();
434
+ });
435
+ }
436
+ else {
437
+ var spring = props_1 === null || props_1 === void 0 ? void 0 : props_1.spring;
438
+ iOSNativeHelper.animateWithSpring({
439
+ tension: isNumber(spring === null || spring === void 0 ? void 0 : spring.tension) ? spring === null || spring === void 0 ? void 0 : spring.tension : DEFAULT_SPRING.tension,
440
+ friction: isNumber(spring === null || spring === void 0 ? void 0 : spring.friction) ? spring === null || spring === void 0 ? void 0 : spring.tension : DEFAULT_SPRING.friction,
441
+ animations: function () {
442
+ animateProperties_2();
443
+ updateFrameDismiss_1();
444
+ },
445
+ completion: function () {
446
+ cleanupDismiss_1();
447
+ },
448
+ });
449
+ }
242
450
  break;
243
451
  }
244
452
  }
@@ -1 +1 @@
1
- {"version":3,"file":"modal-transition.ios.js","sourceRoot":"","sources":["../../../../../packages/core/ui/transition/modal-transition.ios.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAExG,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAS9C,sBAAsB,CAAC,SAA2B,EAAE,UAA4B,EAAE,MAAwB;QACzG,IAAI,CAAC,oBAAoB,GAAG,yBAAyB,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,yCAAyC;QACzC,OAAO,IAAI,CAAC,oBAAoB,CAAC;IAClC,CAAC;IAED,sBAAsB,CAAC,SAA2B;QACjD,IAAI,CAAC,oBAAoB,GAAG,yBAAyB,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IAClC,CAAC;IAED,qBAAqB,CAAC,QAA+C;QACpE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,uBAAuB,CAAC,QAA+C;QACtE,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,0BAA0B,CAAC,SAA2B,EAAE,UAA4B,EAAE,MAAwB;QAC7G,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
1
+ {"version":3,"file":"modal-transition.ios.js","sourceRoot":"","sources":["../../../../../packages/core/ui/transition/modal-transition.ios.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { BackstackEntry } from '../frame';
2
- import { Transition } from '.';
3
- export declare class PageTransition extends Transition {
4
- createAndroidAnimator(transitionType: string): void;
5
- test(fragmentTransaction: androidx.fragment.app.FragmentTransaction, currentEntry: BackstackEntry, newEntry: BackstackEntry): void;
2
+ import { FadeTransition } from './fade-transition';
3
+ export declare class PageTransition extends FadeTransition {
4
+ constructor(duration?: number, curve?: any);
5
+ androidFragmentTransactionCallback(fragmentTransaction: androidx.fragment.app.FragmentTransaction, currentEntry: BackstackEntry, newEntry: BackstackEntry): void;
6
6
  }
@@ -1,54 +1,65 @@
1
- import { Transition } from '.';
1
+ import { FadeTransition } from './fade-transition';
2
2
  import { SharedTransition } from './shared-transition';
3
- export class PageTransition extends Transition {
4
- createAndroidAnimator(transitionType) {
5
- console.log('HELLO PageTransition', transitionType);
3
+ var CustomInterpolator = /** @class */ (function (_super) {
4
+ __extends(CustomInterpolator, _super);
5
+ function CustomInterpolator() {
6
+ return _super !== null && _super.apply(this, arguments) || this;
6
7
  }
7
- test(fragmentTransaction, currentEntry, newEntry) {
8
- console.log('HELLO PageTransition', fragmentTransaction);
8
+ CustomInterpolator.prototype.getInterpolation = function (input) {
9
+ // HACK: we speed up the interpolation by 10% to fix the issue with the transition not being finished
10
+ // and the views shifting from their intended final position...
11
+ // this is really just a hack and should be fixed properly once we
12
+ // can figure out the root cause of the issue.
13
+ var res = _super.prototype.getInterpolation.call(this, input) * 1.1;
14
+ if (res > 1) {
15
+ return float(1);
16
+ }
17
+ return float(res);
18
+ };
19
+ return CustomInterpolator;
20
+ }(android.view.animation.AnticipateOvershootInterpolator));
21
+ function setTransitionName(view) {
22
+ if (!view.sharedTransitionTag) {
23
+ return;
24
+ }
25
+ try {
26
+ androidx.core.view.ViewCompat.setTransitionName(view.nativeView, view.sharedTransitionTag);
27
+ }
28
+ catch (err) {
29
+ // ignore
30
+ }
31
+ }
32
+ export class PageTransition extends FadeTransition {
33
+ constructor(duration, curve) {
34
+ // disable custom curves until we can fix the issue with the animation not completing
35
+ if (curve) {
36
+ console.warn('PageTransition does not support custom curves at the moment. The passed in curve will be ignored.');
37
+ }
38
+ super(duration);
39
+ }
40
+ androidFragmentTransactionCallback(fragmentTransaction, currentEntry, newEntry) {
9
41
  const fromPage = currentEntry.resolvedPage;
10
42
  const toPage = newEntry.resolvedPage;
11
- const currentFragment = currentEntry ? currentEntry.fragment : null;
12
43
  const newFragment = newEntry.fragment;
13
- const { sharedElements, presented, presenting } = SharedTransition.getSharedElements(fromPage, toPage);
14
- // fragmentTransaction.addSharedElement();
15
- toPage.on('loaded', () => {
16
- presented.forEach((v) => {
17
- console.log({
18
- presentedSharedElements: true,
19
- nativeView: !!v.nativeView,
20
- sharedTransitionTag: v.sharedTransitionTag,
21
- });
22
- androidx.core.view.ViewCompat.setTransitionName(v.nativeView, v.sharedTransitionTag);
23
- });
24
- // setTimeout(() => {
44
+ const { presented, presenting } = SharedTransition.getSharedElements(fromPage, toPage);
45
+ toPage.once('loaded', () => {
46
+ presented.forEach(setTransitionName);
25
47
  newFragment.startPostponedEnterTransition();
26
- // }, 2000)
27
- });
28
- presenting.forEach((v) => {
29
- console.log({
30
- presentingSharedElements: true,
31
- nativeView: !!v.nativeView,
32
- sharedTransitionTag: v.sharedTransitionTag,
33
- });
34
- androidx.core.view.ViewCompat.setTransitionName(v.nativeView, v.sharedTransitionTag);
35
48
  });
36
49
  presenting.forEach((v) => {
50
+ setTransitionName(v);
37
51
  fragmentTransaction.addSharedElement(v.nativeView, v.sharedTransitionTag);
38
52
  });
39
53
  fragmentTransaction.setReorderingAllowed(true);
40
54
  const transitionSet = new androidx.transition.TransitionSet();
41
- transitionSet.setDuration(2000);
55
+ transitionSet.setDuration(this.getDuration());
42
56
  transitionSet.addTransition(new androidx.transition.ChangeBounds());
43
57
  transitionSet.addTransition(new androidx.transition.ChangeTransform());
44
- // transitionSet.addTransition(new androidx.transition.ChangeClipBounds());
58
+ transitionSet.setInterpolator(new CustomInterpolator());
45
59
  // postpone enter until we call "loaded" on the new page
46
60
  newFragment.postponeEnterTransition();
47
61
  newFragment.setSharedElementEnterTransition(transitionSet);
48
62
  newFragment.setSharedElementReturnTransition(transitionSet);
49
- // newFragment.setSharedElementReturnTransition(new androidx.transition.ChangeBounds());
50
- // currentFragment.setSharedElementEnterTransition(new androidx.transition.ChangeBounds());
51
- // currentFragment.setSharedElementReturnTransition(new androidx.transition.ChangeBounds());
52
63
  }
53
64
  }
54
65
  //# sourceMappingURL=page-transition.android.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-transition.android.js","sourceRoot":"","sources":["../../../../../packages/core/ui/transition/page-transition.android.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-transition.android.js","sourceRoot":"","sources":["../../../../../packages/core/ui/transition/page-transition.android.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;AAmBvD,SAAS,iBAAiB,CAAC,IAAc;IACxC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;QAC9B,OAAO;KACP;IACD,IAAI;QACH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;KAC3F;IAAC,OAAO,GAAG,EAAE;QACb,SAAS;KACT;AACF,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,cAAc;IACjD,YAAY,QAAiB,EAAE,KAAW;QACzC,qFAAqF;QACrF,IAAI,KAAK,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAC;SAClH;QACD,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjB,CAAC;IAED,kCAAkC,CAAC,mBAA8D,EAAE,YAA4B,EAAE,QAAwB;QACxJ,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC;QAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC;QACrC,MAAM,WAAW,GAAmC,QAAQ,CAAC,QAAQ,CAAC;QAEtE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEvF,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC1B,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACrC,WAAW,CAAC,6BAA6B,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrB,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC9D,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9C,aAAa,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;QACpE,aAAa,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;QACvE,aAAa,CAAC,eAAe,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QAExD,wDAAwD;QACxD,WAAW,CAAC,uBAAuB,EAAE,CAAC;QACtC,WAAW,CAAC,+BAA+B,CAAC,aAAa,CAAC,CAAC;QAC3D,WAAW,CAAC,gCAAgC,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;CACD"}