@nativescript/core 8.5.0-alpha.7 → 8.5.0-alpha.9

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.
@@ -1,4 +1,4 @@
1
- import type { Transition } from '.';
1
+ import type { Transition, TransitionNavigationType } from '.';
2
2
  import { Observable } from '../../data/observable';
3
3
  import { ViewBase } from '../core/view-base';
4
4
  import type { View } from '../core/view';
@@ -15,6 +15,58 @@ export declare enum SharedTransitionAnimationType {
15
15
  present = 0,
16
16
  dismiss = 1
17
17
  }
18
+ type SharedTransitionEventAction = 'present' | 'dismiss' | 'interactiveStart' | 'interactiveFinish';
19
+ export type SharedTransitionEventData = {
20
+ eventName: string;
21
+ data: {
22
+ id: number;
23
+ type: TransitionNavigationType;
24
+ action?: SharedTransitionEventAction;
25
+ percent?: number;
26
+ };
27
+ };
28
+ export type SharedRect = {
29
+ x?: number;
30
+ y?: number;
31
+ width?: number;
32
+ height?: number;
33
+ };
34
+ export type SharedProperties = SharedRect & {
35
+ opacity?: number;
36
+ scale?: {
37
+ x?: number;
38
+ y?: number;
39
+ };
40
+ };
41
+ export type SharedSpringProperties = {
42
+ tension?: number;
43
+ friction?: number;
44
+ mass?: number;
45
+ delay?: number;
46
+ velocity?: number;
47
+ animateOptions?: any;
48
+ };
49
+ type SharedTransitionPageProperties = SharedProperties & {
50
+ /**
51
+ * (iOS Only) Allow "independent" elements found only on one of the screens to take part in the animation.
52
+ * Note: This feature will be brought to Android in a future release.
53
+ */
54
+ sharedTransitionTags?: {
55
+ [key: string]: SharedProperties;
56
+ };
57
+ /**
58
+ * Spring animation settings.
59
+ * Defaults to 140 tension with 10 friction.
60
+ */
61
+ spring?: SharedSpringProperties;
62
+ };
63
+ type SharedTransitionPageWithDurationProperties = SharedTransitionPageProperties & {
64
+ /**
65
+ * Linear duration in milliseconds
66
+ * Note: When this is defined, it will override spring options and use only linear animation.
67
+ */
68
+ duration?: number | undefined | null;
69
+ };
18
70
  export interface SharedTransitionInteractiveOptions {
19
71
  /**
20
72
  * When the pan exceeds this percentage and you let go, finish the transition.
@@ -31,10 +83,6 @@ export interface SharedTransitionInteractiveOptions {
31
83
  percentFormula?: (eventData: PanGestureEventData) => number;
32
84
  }
33
85
  export interface SharedTransitionConfig {
34
- /**
35
- * Preconfigured transition or your own custom configured one.
36
- */
37
- instance?: Transition;
38
86
  /**
39
87
  * Interactive transition settings. (iOS only at the moment)
40
88
  */
@@ -46,64 +94,41 @@ export interface SharedTransitionConfig {
46
94
  dismiss?: SharedTransitionInteractiveOptions;
47
95
  };
48
96
  /**
49
- * View settings to start your transition.
97
+ * View settings to start your transition with.
50
98
  */
51
99
  pageStart?: SharedTransitionPageProperties;
52
100
  /**
53
- * View settings to end your transition.
101
+ * View settings to end your transition with.
54
102
  */
55
- pageEnd?: SharedTransitionPageProperties;
103
+ pageEnd?: SharedTransitionPageWithDurationProperties;
56
104
  /**
57
- * View settings to end your transition for the 'from' (aka outgoing or dismissed) page.
105
+ * View settings to return to the original page with.
58
106
  */
59
- pageReturn?: SharedTransitionPageProperties;
107
+ pageReturn?: SharedTransitionPageWithDurationProperties;
60
108
  }
61
109
  export interface SharedTransitionState extends SharedTransitionConfig {
110
+ /**
111
+ * (Internally used) Preconfigured transition or your own custom configured one.
112
+ */
113
+ instance?: Transition;
62
114
  /**
63
115
  * Page which will start the transition.
64
116
  */
65
117
  page?: ViewBase;
66
118
  activeType?: SharedTransitionAnimationType;
67
119
  toPage?: ViewBase;
68
- interactiveBegan?: boolean;
69
- interactiveCancelled?: boolean;
70
- }
71
- export type SharedRect = {
72
- x?: number;
73
- y?: number;
74
- width?: number;
75
- height?: number;
76
- };
77
- export type SharedProperties = SharedRect & {
78
- opacity?: number;
79
- scale?: {
80
- x?: number;
81
- y?: number;
82
- };
83
- };
84
- export type SharedSpringProperties = {
85
- tension?: number;
86
- friction?: number;
87
- mass?: number;
88
- delay?: number;
89
- velocity?: number;
90
- animateOptions?: any;
91
- };
92
- type SharedTransitionPageProperties = SharedProperties & {
93
120
  /**
94
- * Linear duration in milliseconds
95
- * Note: When this is defined, it will override spring options and use only linear animation.
121
+ * Whether interactive transition has began.
96
122
  */
97
- duration?: number;
98
- sharedTransitionTags?: {
99
- [key: string]: SharedProperties;
100
- };
123
+ interactiveBegan?: boolean;
101
124
  /**
102
- * Spring animation settings.
103
- * Defaults to 140 tension with 10 friction.
125
+ * Whether interactive transition was cancelled.
104
126
  */
105
- spring?: SharedSpringProperties;
106
- };
127
+ interactiveCancelled?: boolean;
128
+ }
129
+ declare class SharedTransitionObservable extends Observable {
130
+ on(eventNames: string, callback: (data: SharedTransitionEventData) => void, thisArg?: any): void;
131
+ }
107
132
  /**
108
133
  * Shared Element Transitions (preview)
109
134
  * Allows you to auto animate between shared elements on two different screesn to create smooth navigational experiences.
@@ -119,24 +144,45 @@ export declare class SharedTransition {
119
144
  static custom(transition: Transition, options?: SharedTransitionConfig): {
120
145
  instance: Transition;
121
146
  };
122
- static events(): Observable;
147
+ /**
148
+ * Listen to various shared element transition events.
149
+ * @returns Observable
150
+ */
151
+ static events(): SharedTransitionObservable;
152
+ /**
153
+ * When the transition starts.
154
+ */
123
155
  static startedEvent: string;
156
+ /**
157
+ * When the transition finishes.
158
+ */
124
159
  static finishedEvent: string;
125
- static cancelledEvent: string;
160
+ /**
161
+ * When the interactive transition cancels.
162
+ */
163
+ static interactiveCancelledEvent: string;
164
+ /**
165
+ * When the interactive transition updates with the percent value.
166
+ */
167
+ static interactiveUpdateEvent: string;
126
168
  /**
127
169
  * Enable to see various console logging output of Shared Element Transition behavior.
128
170
  */
129
171
  static DEBUG: boolean;
130
172
  /**
131
- * @private
173
+ * Update transition state.
174
+ * @param id Transition instance id
175
+ * @param state SharedTransitionState
132
176
  */
133
177
  static updateState(id: number, state: SharedTransitionState): void;
134
178
  /**
135
- * @private
179
+ * Get current state for any transition.
180
+ * @param id Transition instance id
136
181
  */
137
182
  static getState(id: number): SharedTransitionState;
138
183
  /**
139
- * @private
184
+ * Finish transition state.
185
+ * @param id Transition instance id
140
186
  */
141
187
  static finishState(id: number): void;
142
188
  /**
@@ -172,10 +218,10 @@ export declare function getSpringFromProps(props: SharedSpringProperties): {
172
218
  };
173
219
  /**
174
220
  * Page starting defaults for provided type.
175
- * @param type 'page' | 'modal'
221
+ * @param type TransitionNavigationType
176
222
  * @returns { x,y,width,height }
177
223
  */
178
- export declare function getPageStartDefaultsForType(type: 'page' | 'modal'): {
224
+ export declare function getPageStartDefaultsForType(type: TransitionNavigationType): {
179
225
  x: number;
180
226
  y: number;
181
227
  width: number;
@@ -16,6 +16,12 @@ export var SharedTransitionAnimationType;
16
16
  SharedTransitionAnimationType[SharedTransitionAnimationType["present"] = 0] = "present";
17
17
  SharedTransitionAnimationType[SharedTransitionAnimationType["dismiss"] = 1] = "dismiss";
18
18
  })(SharedTransitionAnimationType || (SharedTransitionAnimationType = {}));
19
+ class SharedTransitionObservable extends Observable {
20
+ // @ts-ignore
21
+ on(eventNames, callback, thisArg) {
22
+ super.on(eventNames, callback, thisArg);
23
+ }
24
+ }
19
25
  let sharedTransitionEvents;
20
26
  let currentStack;
21
27
  /**
@@ -36,16 +42,26 @@ export class SharedTransition {
36
42
  instance: transition,
37
43
  activeType: SharedTransitionAnimationType.present,
38
44
  });
45
+ const pageEnd = options?.pageEnd;
46
+ if (isNumber(pageEnd?.duration)) {
47
+ transition.setDuration(pageEnd?.duration);
48
+ }
39
49
  return { instance: transition };
40
50
  }
51
+ /**
52
+ * Listen to various shared element transition events.
53
+ * @returns Observable
54
+ */
41
55
  static events() {
42
56
  if (!sharedTransitionEvents) {
43
- sharedTransitionEvents = new Observable();
57
+ sharedTransitionEvents = new SharedTransitionObservable();
44
58
  }
45
59
  return sharedTransitionEvents;
46
60
  }
47
61
  /**
48
- * @private
62
+ * Update transition state.
63
+ * @param id Transition instance id
64
+ * @param state SharedTransitionState
49
65
  */
50
66
  static updateState(id, state) {
51
67
  if (!currentStack) {
@@ -64,13 +80,15 @@ export class SharedTransition {
64
80
  }
65
81
  }
66
82
  /**
67
- * @private
83
+ * Get current state for any transition.
84
+ * @param id Transition instance id
68
85
  */
69
86
  static getState(id) {
70
87
  return currentStack?.find((t) => t.instance?.id === id);
71
88
  }
72
89
  /**
73
- * @private
90
+ * Finish transition state.
91
+ * @param id Transition instance id
74
92
  */
75
93
  static finishState(id) {
76
94
  const index = currentStack?.findIndex((t) => t.instance?.id === id);
@@ -86,10 +104,10 @@ export class SharedTransition {
86
104
  */
87
105
  static getSharedElements(fromPage, toPage) {
88
106
  // 1. Presented view: gather all sharedTransitionTag views
89
- const presentedSharedElements = querySelectorAll(toPage, 'sharedTransitionTag');
107
+ const presentedSharedElements = querySelectorAll(toPage, 'sharedTransitionTag').filter((v) => !v.sharedTransitionIgnore);
90
108
  // console.log('presented sharedTransitionTag total:', presentedSharedElements.length);
91
109
  // 2. Presenting view: gather all sharedTransitionTag views
92
- const presentingSharedElements = querySelectorAll(fromPage, 'sharedTransitionTag');
110
+ const presentingSharedElements = querySelectorAll(fromPage, 'sharedTransitionTag').filter((v) => !v.sharedTransitionIgnore);
93
111
  // console.log(
94
112
  // 'presenting sharedTransitionTags:',
95
113
  // presentingSharedElements.map((v) => v.sharedTransitionTag)
@@ -103,9 +121,22 @@ export class SharedTransition {
103
121
  };
104
122
  }
105
123
  }
124
+ /**
125
+ * When the transition starts.
126
+ */
106
127
  SharedTransition.startedEvent = 'SharedTransitionStartedEvent';
128
+ /**
129
+ * When the transition finishes.
130
+ */
107
131
  SharedTransition.finishedEvent = 'SharedTransitionFinishedEvent';
108
- SharedTransition.cancelledEvent = 'SharedTransitionCancelledEvent';
132
+ /**
133
+ * When the interactive transition cancels.
134
+ */
135
+ SharedTransition.interactiveCancelledEvent = 'SharedTransitionInteractiveCancelledEvent';
136
+ /**
137
+ * When the interactive transition updates with the percent value.
138
+ */
139
+ SharedTransition.interactiveUpdateEvent = 'SharedTransitionInteractiveUpdateEvent';
109
140
  /**
110
141
  * Enable to see various console logging output of Shared Element Transition behavior.
111
142
  */
@@ -147,7 +178,7 @@ export function getSpringFromProps(props) {
147
178
  }
148
179
  /**
149
180
  * Page starting defaults for provided type.
150
- * @param type 'page' | 'modal'
181
+ * @param type TransitionNavigationType
151
182
  * @returns { x,y,width,height }
152
183
  */
153
184
  export function getPageStartDefaultsForType(type) {
@@ -1 +1 @@
1
- {"version":3,"file":"shared-transition.js","sourceRoot":"","sources":["../../../../../packages/core/ui/transition/shared-transition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared-transition.js","sourceRoot":"","sources":["../../../../../packages/core/ui/transition/shared-transition.ts"],"names":[],"mappings":"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"}