@symbiote-native/angular 3.3.0 → 3.5.0
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.
- package/babel-register-composed.cjs +1 -0
- package/build/angular/accessibility-inputs.d.ts +2 -1
- package/build/angular/accessibility-inputs.js +4 -1
- package/build/angular/accessibility-inputs.js.map +1 -1
- package/build/angular/callback-host.d.ts +1 -1
- package/build/angular/callback-host.js +57 -9
- package/build/angular/callback-host.js.map +1 -1
- package/build/angular/components/flat-list/flat-list-handle.d.ts +35 -0
- package/build/angular/components/flat-list/flat-list-handle.js +48 -0
- package/build/angular/components/flat-list/flat-list-handle.js.map +1 -0
- package/build/angular/components/flat-list/flat-list-template.d.ts +1 -1
- package/build/angular/components/flat-list/flat-list-template.js +16 -0
- package/build/angular/components/flat-list/flat-list-template.js.map +1 -1
- package/build/angular/components/flat-list/index.d.ts +6 -30
- package/build/angular/components/flat-list/index.js +6 -36
- package/build/angular/components/flat-list/index.js.map +1 -1
- package/build/angular/components/image-inputs.d.ts +4 -0
- package/build/angular/components/image-inputs.js +81 -0
- package/build/angular/components/image-inputs.js.map +1 -0
- package/build/angular/components/image-props-resolve.d.ts +3 -0
- package/build/angular/components/image-props-resolve.js +133 -0
- package/build/angular/components/image-props-resolve.js.map +1 -0
- package/build/angular/components/image-shared.d.ts +8 -6
- package/build/angular/components/image-shared.js +23 -212
- package/build/angular/components/image-shared.js.map +1 -1
- package/build/angular/components/input-accessory-view-props.d.ts +4 -4
- package/build/angular/components/keyboard-avoiding-view/index.d.ts +3 -6
- package/build/angular/components/keyboard-avoiding-view/index.js +29 -56
- package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
- package/build/angular/components/layout-conformance-props.d.ts +4 -0
- package/build/angular/components/layout-conformance-props.js +2 -0
- package/build/angular/components/layout-conformance-props.js.map +1 -0
- package/build/angular/components/modal/index.d.ts +6 -5
- package/build/angular/components/modal/index.js +17 -2
- package/build/angular/components/modal/index.js.map +1 -1
- package/build/angular/components/refresh-control-props.d.ts +7 -7
- package/build/angular/components/scroll-view-props.d.ts +8 -5
- package/build/angular/components/section-list/index.d.ts +17 -8
- package/build/angular/components/section-list/index.js +37 -28
- package/build/angular/components/section-list/index.js.map +1 -1
- package/build/angular/components/touchable-props.d.ts +2 -2
- package/build/angular/components/virtualized-list/cell-renderer-context.d.ts +12 -0
- package/build/angular/components/virtualized-list/cell-renderer-context.js +16 -0
- package/build/angular/components/virtualized-list/cell-renderer-context.js.map +1 -0
- package/build/angular/components/virtualized-list/directives.d.ts +26 -6
- package/build/angular/components/virtualized-list/directives.js +59 -5
- package/build/angular/components/virtualized-list/directives.js.map +1 -1
- package/build/angular/components/virtualized-list/index.d.ts +19 -15
- package/build/angular/components/virtualized-list/index.js +91 -61
- package/build/angular/components/virtualized-list/index.js.map +1 -1
- package/build/angular/components/virtualized-list/list-bags.d.ts +5 -1
- package/build/angular/components/virtualized-list/list-bags.js +31 -19
- package/build/angular/components/virtualized-list/list-bags.js.map +1 -1
- package/build/angular/components/virtualized-list/list-effects.d.ts +2 -2
- package/build/angular/components/virtualized-list/list-effects.js +17 -27
- package/build/angular/components/virtualized-list/list-effects.js.map +1 -1
- package/build/angular/components/virtualized-list/list-handle.d.ts +4 -1
- package/build/angular/components/virtualized-list/list-handle.js +13 -3
- package/build/angular/components/virtualized-list/list-handle.js.map +1 -1
- package/build/angular/components/virtualized-list/list-inputs.d.ts +19 -5
- package/build/angular/components/virtualized-list/list-inputs.js +47 -4
- package/build/angular/components/virtualized-list/list-inputs.js.map +1 -1
- package/build/angular/components/virtualized-list/list-props.d.ts +9 -3
- package/build/angular/components/virtualized-list/list-rows.d.ts +25 -0
- package/build/angular/components/virtualized-list/list-rows.js +25 -0
- package/build/angular/components/virtualized-list/list-rows.js.map +1 -0
- package/build/angular/components/virtualized-list/list-styles.d.ts +4 -0
- package/build/angular/components/virtualized-list/list-styles.js +10 -2
- package/build/angular/components/virtualized-list/list-styles.js.map +1 -1
- package/build/angular/components/virtualized-list/list-template.d.ts +1 -1
- package/build/angular/components/virtualized-list/list-template.js +159 -73
- package/build/angular/components/virtualized-list/list-template.js.map +1 -1
- package/build/angular/components/virtualized-list/nested-scope.d.ts +6 -0
- package/build/angular/components/virtualized-list/nested-scope.js +17 -0
- package/build/angular/components/virtualized-list/nested-scope.js.map +1 -0
- package/build/angular/components/virtualized-section-list/directives.d.ts +21 -9
- package/build/angular/components/virtualized-section-list/directives.js +8 -28
- package/build/angular/components/virtualized-section-list/directives.js.map +1 -1
- package/build/angular/components/virtualized-section-list/index.d.ts +39 -60
- package/build/angular/components/virtualized-section-list/index.js +67 -33
- package/build/angular/components/virtualized-section-list/index.js.map +1 -1
- package/build/angular/components/virtualized-section-list/section-cell.d.ts +29 -0
- package/build/angular/components/virtualized-section-list/section-cell.js +82 -0
- package/build/angular/components/virtualized-section-list/section-cell.js.map +1 -0
- package/build/angular/components/virtualized-section-list/section-list-props.d.ts +56 -0
- package/build/angular/components/virtualized-section-list/section-list-props.js +3 -0
- package/build/angular/components/virtualized-section-list/section-list-props.js.map +1 -0
- package/build/angular/components/virtualized-section-list/section-list-template.d.ts +1 -1
- package/build/angular/components/virtualized-section-list/section-list-template.js +34 -26
- package/build/angular/components/virtualized-section-list/section-list-template.js.map +1 -1
- package/build/angular/components.d.ts +7 -3
- package/build/angular/components.js +2 -1
- package/build/angular/components.js.map +1 -1
- package/build/angular/element-base.d.ts +17 -1
- package/build/angular/element-base.js +33 -1
- package/build/angular/element-base.js.map +1 -1
- package/build/angular/element-props.d.ts +7 -7
- package/build/angular/element-text-input-native.d.ts +27 -0
- package/build/angular/element-text-input-native.js +52 -0
- package/build/angular/element-text-input-native.js.map +1 -0
- package/build/angular/elements-controls.d.ts +8 -2
- package/build/angular/elements-controls.js +13 -1
- package/build/angular/elements-controls.js.map +1 -1
- package/build/angular/elements-layout.d.ts +20 -3
- package/build/angular/elements-layout.js +37 -3
- package/build/angular/elements-layout.js.map +1 -1
- package/build/angular/elements-press.d.ts +10 -3
- package/build/angular/elements-press.js +13 -1
- package/build/angular/elements-press.js.map +1 -1
- package/build/angular/elements.d.ts +3 -3
- package/build/angular/elements.js +3 -2
- package/build/angular/elements.js.map +1 -1
- package/build/angular/index.d.ts +15 -7
- package/build/angular/index.js +22 -25
- package/build/angular/index.js.map +1 -1
- package/build/angular/modules/animated/create-animated-component.d.ts +1 -1
- package/build/angular/modules/animated/create-animated-component.js +1 -1
- package/build/angular/modules/animated/create-animated-component.js.map +1 -1
- package/build/angular/modules/animated/index.d.ts +54 -41
- package/build/angular/modules/animated/index.js +2 -26
- package/build/angular/modules/animated/index.js.map +1 -1
- package/build/angular/modules/app-registry/index.d.ts +3 -3
- package/build/angular/modules/app-registry/index.js +2 -2
- package/build/angular/modules/app-registry/index.js.map +1 -1
- package/build/angular/modules/status-bar/index.d.ts +9 -5
- package/build/angular/modules/status-bar/index.js +21 -10
- package/build/angular/modules/status-bar/index.js.map +1 -1
- package/build/angular/primitives/index.d.ts +4 -0
- package/build/angular/primitives/index.js +12 -0
- package/build/angular/primitives/index.js.map +1 -1
- package/build/angular/render/index.d.ts +2 -2
- package/build/angular/render/index.js +10 -29
- package/build/angular/render/index.js.map +1 -1
- package/build/angular/root-tag.d.ts +4 -0
- package/build/angular/root-tag.js +10 -0
- package/build/angular/root-tag.js.map +1 -0
- package/build/angular/services/color-scheme.service.d.ts +1 -1
- package/package.json +6 -6
- package/src/accessibility-inputs.ts +3 -0
- package/src/callback-host.ts +56 -8
- package/src/components/flat-list/flat-list-handle.ts +64 -0
- package/src/components/flat-list/flat-list-template.ts +16 -0
- package/src/components/flat-list/index.ts +6 -48
- package/src/components/image-inputs.ts +94 -0
- package/src/components/image-props-resolve.ts +172 -0
- package/src/components/image-shared.ts +26 -291
- package/src/components/input-accessory-view-props.ts +12 -8
- package/src/components/keyboard-avoiding-view/index.ts +39 -79
- package/src/components/layout-conformance-props.ts +8 -0
- package/src/components/modal/index.ts +42 -20
- package/src/components/refresh-control-props.ts +29 -25
- package/src/components/scroll-view-props.ts +84 -76
- package/src/components/section-list/index.ts +34 -37
- package/src/components/touchable-props.ts +6 -2
- package/src/components/virtualized-list/cell-renderer-context.ts +36 -0
- package/src/components/virtualized-list/directives.ts +84 -8
- package/src/components/virtualized-list/index.ts +118 -85
- package/src/components/virtualized-list/list-bags.ts +38 -19
- package/src/components/virtualized-list/list-effects.ts +20 -32
- package/src/components/virtualized-list/list-handle.ts +17 -4
- package/src/components/virtualized-list/list-inputs.ts +47 -0
- package/src/components/virtualized-list/list-props.ts +57 -50
- package/src/components/virtualized-list/list-rows.ts +66 -0
- package/src/components/virtualized-list/list-styles.ts +30 -1
- package/src/components/virtualized-list/list-template.ts +159 -73
- package/src/components/virtualized-list/nested-scope.ts +22 -0
- package/src/components/virtualized-section-list/directives.ts +41 -40
- package/src/components/virtualized-section-list/index.ts +114 -118
- package/src/components/virtualized-section-list/section-cell.ts +109 -0
- package/src/components/virtualized-section-list/section-list-props.ts +79 -0
- package/src/components/virtualized-section-list/section-list-template.ts +34 -26
- package/src/components.ts +8 -0
- package/src/element-base.ts +17 -0
- package/src/element-props.ts +35 -33
- package/src/element-text-input-native.ts +31 -0
- package/src/elements-controls.ts +9 -1
- package/src/elements-layout.ts +27 -0
- package/src/elements-press.ts +10 -2
- package/src/elements.ts +3 -0
- package/src/index.ts +79 -22
- package/src/modules/animated/index.ts +2 -47
- package/src/modules/app-registry/index.ts +3 -1
- package/src/modules/status-bar/index.ts +24 -11
- package/src/primitives/index.ts +7 -0
- package/src/render/index.ts +23 -50
- package/src/root-tag.ts +14 -0
- package/src/services/color-scheme.service.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/render/index.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,yFAAyF;AACzF,2FAA2F;AAC3F,oFAAoF;AACpF,8EAA8E;AAC9E,8BAA8B;AAE9B,OAAO,EACL,aAAa,IAAI,mBAAmB,EACpC,aAAa,EACb,WAAW,EACX,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,GAIjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,eAAe,IAAI,cAAc,EACjC,uCAAuC,IAAI,sCAAsC,GAMlF,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE1E,0FAA0F;AAC1F,4FAA4F;AAC5F,6FAA6F;AAC7F,qFAAqF;AACrF,6FAA6F;AAC7F,0FAA0F;AAC1F,2CAA2C;AAC3C,SAAS,kBAAkB;IACzB,OAAO,IAAsC,CAAC;AAChD,CAAC;AACD,SAAS,aAAa,CAAC,QAAyC;IAC9D,yFAAyF;IACzF,uFAAuF;IACvF,wCAAwC;IACxC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE;QACzC,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,eAAe;KACvB,CAAC,CAAC;IACH,OAAO,QAA8B,CAAC;AACxC,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/render/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// RN's `RootTagContext` for Angular: `mount` provides the surface tag, 0 outside any surface
|
|
2
|
+
import { InjectionToken, inject } from '@angular/core';
|
|
3
|
+
const NO_SURFACE = 0;
|
|
4
|
+
export const ROOT_TAG = new InjectionToken('symbiote.rootTag', {
|
|
5
|
+
factory: () => NO_SURFACE,
|
|
6
|
+
});
|
|
7
|
+
export function injectRootTag() {
|
|
8
|
+
return inject(ROOT_TAG);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=root-tag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root-tag.js","sourceRoot":"","sources":["../../src/root-tag.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAE7F,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGvD,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAW,kBAAkB,EAAE;IACvE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU;CAC1B,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -9,7 +9,7 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
* State and lifecycle live in DI, not in a function closure.
|
|
10
10
|
*/
|
|
11
11
|
export declare class ColorSchemeService {
|
|
12
|
-
readonly colorScheme: import("@angular/core").WritableSignal<IColorSchemeName | null>;
|
|
12
|
+
readonly colorScheme: import("@angular/core").WritableSignal<IColorSchemeName | null | undefined>;
|
|
13
13
|
constructor();
|
|
14
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<ColorSchemeService, never>;
|
|
15
15
|
static ɵprov: i0.ɵɵInjectableDeclaration<ColorSchemeService>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@symbiote-native/angular",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0",
|
|
4
4
|
"description": "SymbioteNative's Angular adapter — a Renderer2/RendererFactory2 with DOM-less bootstrap driving real native iOS/Android views through the same engine as the other adapters.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -66,14 +66,14 @@
|
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@angular/compiler-cli": "~22.0.8",
|
|
68
68
|
"@react-native/typescript-config": "0.86.0",
|
|
69
|
-
"@symbiote-native/components": "3.
|
|
70
|
-
"@symbiote-native/css-parser": "0.
|
|
69
|
+
"@symbiote-native/components": "3.3.0",
|
|
70
|
+
"@symbiote-native/css-parser": "0.6.0"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
|
73
73
|
"@angular/core": ">=20",
|
|
74
74
|
"@angular/forms": ">=20",
|
|
75
75
|
"react-native": ">=0.86",
|
|
76
|
-
"@symbiote-native/engine": "^1.
|
|
76
|
+
"@symbiote-native/engine": "^1.8.0"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@angular/compiler": "~22.0.8",
|
|
@@ -83,8 +83,8 @@
|
|
|
83
83
|
"@types/babel__core": "^7.20.5",
|
|
84
84
|
"@types/node": "^26.0.0",
|
|
85
85
|
"typescript": "~6.0.0",
|
|
86
|
-
"@symbiote-native/engine": "1.
|
|
87
|
-
"@symbiote-native/test-utils": "0.
|
|
86
|
+
"@symbiote-native/engine": "1.8.0",
|
|
87
|
+
"@symbiote-native/test-utils": "0.5.1"
|
|
88
88
|
},
|
|
89
89
|
"scripts": {
|
|
90
90
|
"clean": "rm -rf build",
|
|
@@ -16,6 +16,8 @@ export abstract class AccessibilityInputsBase {
|
|
|
16
16
|
@Input() accessibilityState?: IAccessibilityStateValue;
|
|
17
17
|
@Input() accessibilityValue?: IAccessibilityProps['accessibilityValue'];
|
|
18
18
|
@Input() accessibilityActions?: IAccessibilityProps['accessibilityActions'];
|
|
19
|
+
@Input()
|
|
20
|
+
experimental_accessibilityOrder?: IAccessibilityProps['experimental_accessibilityOrder'];
|
|
19
21
|
@Input() accessibilityLabelledBy?: string | string[];
|
|
20
22
|
@Input()
|
|
21
23
|
importantForAccessibility?: IAccessibilityProps['importantForAccessibility'];
|
|
@@ -56,6 +58,7 @@ export abstract class AccessibilityInputsBase {
|
|
|
56
58
|
accessibilityState: this.accessibilityState,
|
|
57
59
|
accessibilityValue: this.accessibilityValue,
|
|
58
60
|
accessibilityActions: this.accessibilityActions,
|
|
61
|
+
experimental_accessibilityOrder: this.experimental_accessibilityOrder,
|
|
59
62
|
accessibilityLabelledBy: this.accessibilityLabelledBy,
|
|
60
63
|
importantForAccessibility: this.importantForAccessibility,
|
|
61
64
|
accessibilityLiveRegion: this.accessibilityLiveRegion,
|
package/src/callback-host.ts
CHANGED
|
@@ -40,14 +40,25 @@ const CALLBACK_INPUTS = [
|
|
|
40
40
|
'onAccessibilityEscape',
|
|
41
41
|
'onAccessibilityTap',
|
|
42
42
|
'onBlur',
|
|
43
|
+
'onBlurCapture',
|
|
43
44
|
'onChangeText',
|
|
45
|
+
'onClickCapture',
|
|
44
46
|
'onContentSizeChange',
|
|
45
47
|
'onEndEditing',
|
|
46
48
|
'onError',
|
|
47
49
|
'onFocus',
|
|
50
|
+
'onFocusCapture',
|
|
48
51
|
'onHoverIn',
|
|
49
52
|
'onHoverOut',
|
|
53
|
+
'onKeyDown',
|
|
54
|
+
'onKeyDownCapture',
|
|
50
55
|
'onKeyPress',
|
|
56
|
+
'onKeyUp',
|
|
57
|
+
'onKeyUpCapture',
|
|
58
|
+
'onKeyboardDidHide',
|
|
59
|
+
'onKeyboardDidShow',
|
|
60
|
+
'onKeyboardWillHide',
|
|
61
|
+
'onKeyboardWillShow',
|
|
51
62
|
'onLayout',
|
|
52
63
|
'onLoad',
|
|
53
64
|
'onLoadEnd',
|
|
@@ -73,6 +84,7 @@ const CALLBACK_INPUTS = [
|
|
|
73
84
|
'onResponderStart',
|
|
74
85
|
'onResponderTerminate',
|
|
75
86
|
'onResponderTerminationRequest',
|
|
87
|
+
'onScrollAnimationEnd',
|
|
76
88
|
'onScrollBeginDrag',
|
|
77
89
|
'onScrollEndDrag',
|
|
78
90
|
'onScrollToTop',
|
|
@@ -80,6 +92,14 @@ const CALLBACK_INPUTS = [
|
|
|
80
92
|
'onStartShouldSetResponder',
|
|
81
93
|
'onStartShouldSetResponderCapture',
|
|
82
94
|
'onSubmitEditing',
|
|
95
|
+
'onTouchCancel',
|
|
96
|
+
'onTouchCancelCapture',
|
|
97
|
+
'onTouchEnd',
|
|
98
|
+
'onTouchEndCapture',
|
|
99
|
+
'onTouchMove',
|
|
100
|
+
'onTouchMoveCapture',
|
|
101
|
+
'onTouchStart',
|
|
102
|
+
'onTouchStartCapture',
|
|
83
103
|
'onValueChange',
|
|
84
104
|
] as const;
|
|
85
105
|
|
|
@@ -95,15 +115,19 @@ const CALLBACK_INPUTS = [
|
|
|
95
115
|
*/
|
|
96
116
|
export const CALLBACK_ATTRIBUTE_SELECTOR =
|
|
97
117
|
'[onAccessibilityAction],[onAccessibilityEscape],[onAccessibilityTap],[onBlur],' +
|
|
98
|
-
'[
|
|
99
|
-
'[
|
|
118
|
+
'[onBlurCapture],[onChangeText],[onClickCapture],[onContentSizeChange],[onEndEditing],[onError],' +
|
|
119
|
+
'[onFocus],[onFocusCapture],[onHoverIn],[onHoverOut],' +
|
|
120
|
+
'[onKeyDown],[onKeyDownCapture],[onKeyPress],[onKeyUp],[onKeyUpCapture],' +
|
|
121
|
+
'[onKeyboardDidHide],[onKeyboardDidShow],[onKeyboardWillHide],[onKeyboardWillShow],' +
|
|
122
|
+
'[onLayout],[onLoad],[onLoadEnd],[onLoadStart],[onLongPress],[onMagicTap],' +
|
|
100
123
|
'[onMomentumScrollBegin],[onMomentumScrollEnd],[onMoveShouldSetResponder],' +
|
|
101
124
|
'[onMoveShouldSetResponderCapture],[onPartialLoad],[onPress],[onPressIn],[onPressMove],' +
|
|
102
125
|
'[onPressOut],[onProgress],[onRefresh],[onResponderEnd],[onResponderGrant],[onResponderMove],' +
|
|
103
126
|
'[onResponderReject],[onResponderRelease],[onResponderStart],[onResponderTerminate],' +
|
|
104
|
-
'[onResponderTerminationRequest],[onScrollBeginDrag],[onScrollEndDrag],[onScrollToTop],' +
|
|
127
|
+
'[onResponderTerminationRequest],[onScrollAnimationEnd],[onScrollBeginDrag],[onScrollEndDrag],[onScrollToTop],' +
|
|
105
128
|
'[onSelectionChange],[onStartShouldSetResponder],[onStartShouldSetResponderCapture],' +
|
|
106
|
-
'[onSubmitEditing],[
|
|
129
|
+
'[onSubmitEditing],[onTouchCancel],[onTouchCancelCapture],[onTouchEnd],[onTouchEndCapture],' +
|
|
130
|
+
'[onTouchMove],[onTouchMoveCapture],[onTouchStart],[onTouchStartCapture],[onValueChange]';
|
|
107
131
|
|
|
108
132
|
/** Exported for the guard alone — the decorator below must spell its own list for ngtsc. */
|
|
109
133
|
export const CALLBACK_INPUT_NAMES: readonly string[] = CALLBACK_INPUTS;
|
|
@@ -111,15 +135,19 @@ export const CALLBACK_INPUT_NAMES: readonly string[] = CALLBACK_INPUTS;
|
|
|
111
135
|
@Directive({
|
|
112
136
|
selector:
|
|
113
137
|
'[onAccessibilityAction],[onAccessibilityEscape],[onAccessibilityTap],[onBlur],' +
|
|
114
|
-
'[
|
|
115
|
-
'[
|
|
138
|
+
'[onBlurCapture],[onClickCapture],[onContentSizeChange],[onEndEditing],[onError],' +
|
|
139
|
+
'[onFocus],[onFocusCapture],[onHoverIn],[onHoverOut],' +
|
|
140
|
+
'[onKeyDown],[onKeyDownCapture],[onKeyPress],[onKeyUp],[onKeyUpCapture],' +
|
|
141
|
+
'[onKeyboardDidHide],[onKeyboardDidShow],[onKeyboardWillHide],' +
|
|
142
|
+
'[onKeyboardWillShow],[onLayout],[onLoad],[onLoadEnd],[onLoadStart],[onLongPress],[onMagicTap],' +
|
|
116
143
|
'[onMomentumScrollBegin],[onMomentumScrollEnd],[onMoveShouldSetResponder],' +
|
|
117
144
|
'[onMoveShouldSetResponderCapture],[onPartialLoad],[onPress],[onPressIn],[onPressMove],' +
|
|
118
145
|
'[onPressOut],[onProgress],[onRefresh],[onResponderEnd],[onResponderGrant],[onResponderMove],' +
|
|
119
146
|
'[onResponderReject],[onResponderRelease],[onResponderStart],[onResponderTerminate],' +
|
|
120
|
-
'[onResponderTerminationRequest],[onScrollBeginDrag],[onScrollEndDrag],[onScrollToTop],' +
|
|
147
|
+
'[onResponderTerminationRequest],[onScrollAnimationEnd],[onScrollBeginDrag],[onScrollEndDrag],[onScrollToTop],' +
|
|
121
148
|
'[onSelectionChange],[onStartShouldSetResponder],[onStartShouldSetResponderCapture],' +
|
|
122
|
-
'[onSubmitEditing],[
|
|
149
|
+
'[onSubmitEditing],[onTouchCancel],[onTouchCancelCapture],[onTouchEnd],[onTouchEndCapture],' +
|
|
150
|
+
'[onTouchMove],[onTouchMoveCapture],[onTouchStart],[onTouchStartCapture],[onValueChange]',
|
|
123
151
|
// DECLARED, and this is not an optimisation — it is what makes withholding the tag directives
|
|
124
152
|
// possible at all. `ɵɵproperty` on an element no directive claimed ends in `setDomProperty`, which
|
|
125
153
|
// runs `validateAgainstEventProperties` and THROWS NG0306 on any name beginning with `on`
|
|
@@ -136,13 +164,24 @@ export const CALLBACK_INPUT_NAMES: readonly string[] = CALLBACK_INPUTS;
|
|
|
136
164
|
'onAccessibilityEscape',
|
|
137
165
|
'onAccessibilityTap',
|
|
138
166
|
'onBlur',
|
|
167
|
+
'onBlurCapture',
|
|
168
|
+
'onClickCapture',
|
|
139
169
|
'onContentSizeChange',
|
|
140
170
|
'onEndEditing',
|
|
141
171
|
'onError',
|
|
142
172
|
'onFocus',
|
|
173
|
+
'onFocusCapture',
|
|
143
174
|
'onHoverIn',
|
|
144
175
|
'onHoverOut',
|
|
176
|
+
'onKeyDown',
|
|
177
|
+
'onKeyDownCapture',
|
|
145
178
|
'onKeyPress',
|
|
179
|
+
'onKeyUp',
|
|
180
|
+
'onKeyUpCapture',
|
|
181
|
+
'onKeyboardDidHide',
|
|
182
|
+
'onKeyboardDidShow',
|
|
183
|
+
'onKeyboardWillHide',
|
|
184
|
+
'onKeyboardWillShow',
|
|
146
185
|
'onLayout',
|
|
147
186
|
'onLoad',
|
|
148
187
|
'onLoadEnd',
|
|
@@ -168,6 +207,7 @@ export const CALLBACK_INPUT_NAMES: readonly string[] = CALLBACK_INPUTS;
|
|
|
168
207
|
'onResponderStart',
|
|
169
208
|
'onResponderTerminate',
|
|
170
209
|
'onResponderTerminationRequest',
|
|
210
|
+
'onScrollAnimationEnd',
|
|
171
211
|
'onScrollBeginDrag',
|
|
172
212
|
'onScrollEndDrag',
|
|
173
213
|
'onScrollToTop',
|
|
@@ -175,6 +215,14 @@ export const CALLBACK_INPUT_NAMES: readonly string[] = CALLBACK_INPUTS;
|
|
|
175
215
|
'onStartShouldSetResponder',
|
|
176
216
|
'onStartShouldSetResponderCapture',
|
|
177
217
|
'onSubmitEditing',
|
|
218
|
+
'onTouchCancel',
|
|
219
|
+
'onTouchCancelCapture',
|
|
220
|
+
'onTouchEnd',
|
|
221
|
+
'onTouchEndCapture',
|
|
222
|
+
'onTouchMove',
|
|
223
|
+
'onTouchMoveCapture',
|
|
224
|
+
'onTouchStart',
|
|
225
|
+
'onTouchStartCapture',
|
|
178
226
|
'onValueChange',
|
|
179
227
|
],
|
|
180
228
|
standalone: true,
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// The imperative scroll surface of the list, handed through to the list inside it
|
|
2
|
+
|
|
3
|
+
import { Directive } from '@angular/core';
|
|
4
|
+
import type {
|
|
5
|
+
IScrollViewHandle,
|
|
6
|
+
IVirtualizedListHandle,
|
|
7
|
+
} from '@symbiote-native/components';
|
|
8
|
+
import type { ISymbioteNode } from '@symbiote-native/engine';
|
|
9
|
+
import { ListInputsBase } from '../virtualized-list/list-inputs';
|
|
10
|
+
|
|
11
|
+
@Directive()
|
|
12
|
+
export abstract class FlatListHandleBase<ItemT>
|
|
13
|
+
extends ListInputsBase<ItemT>
|
|
14
|
+
implements IVirtualizedListHandle
|
|
15
|
+
{
|
|
16
|
+
// The composed inner list, whichever branch rendered, its instance is the scroll handle
|
|
17
|
+
protected abstract readonly listRef?: IVirtualizedListHandle;
|
|
18
|
+
|
|
19
|
+
scrollToOffset(params: { offset: number; animated?: boolean }): void {
|
|
20
|
+
this.listRef?.scrollToOffset(params);
|
|
21
|
+
}
|
|
22
|
+
scrollToIndex(params: {
|
|
23
|
+
index: number;
|
|
24
|
+
animated?: boolean;
|
|
25
|
+
viewOffset?: number;
|
|
26
|
+
viewPosition?: number;
|
|
27
|
+
}): void {
|
|
28
|
+
this.listRef?.scrollToIndex(params);
|
|
29
|
+
}
|
|
30
|
+
scrollToItem(params: {
|
|
31
|
+
item: unknown;
|
|
32
|
+
animated?: boolean;
|
|
33
|
+
viewPosition?: number;
|
|
34
|
+
}): void {
|
|
35
|
+
this.listRef?.scrollToItem(params);
|
|
36
|
+
}
|
|
37
|
+
scrollToEnd(params?: { animated?: boolean }): void {
|
|
38
|
+
this.listRef?.scrollToEnd(params);
|
|
39
|
+
}
|
|
40
|
+
flashScrollIndicators(): void {
|
|
41
|
+
this.listRef?.flashScrollIndicators();
|
|
42
|
+
}
|
|
43
|
+
getNativeScrollRef(): ISymbioteNode | null {
|
|
44
|
+
return this.listRef?.getNativeScrollRef() ?? null;
|
|
45
|
+
}
|
|
46
|
+
getScrollableNode(): IScrollViewHandle | null {
|
|
47
|
+
return this.listRef?.getScrollableNode() ?? null;
|
|
48
|
+
}
|
|
49
|
+
getScrollResponder(): IScrollViewHandle | null {
|
|
50
|
+
return this.listRef?.getScrollResponder() ?? null;
|
|
51
|
+
}
|
|
52
|
+
getScrollNode(): ISymbioteNode | null {
|
|
53
|
+
return this.listRef?.getScrollNode() ?? null;
|
|
54
|
+
}
|
|
55
|
+
getScrollRef(): ISymbioteNode | null {
|
|
56
|
+
return this.listRef?.getScrollRef() ?? null;
|
|
57
|
+
}
|
|
58
|
+
recordInteraction(): void {
|
|
59
|
+
this.listRef?.recordInteraction();
|
|
60
|
+
}
|
|
61
|
+
setNativeProps(props: Record<string, unknown>): void {
|
|
62
|
+
this.listRef?.setNativeProps(props);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -31,6 +31,7 @@ export const FLAT_LIST_TEMPLATE = `
|
|
|
31
31
|
[maxToRenderPerBatch]="maxToRenderPerBatch"
|
|
32
32
|
[updateCellsBatchingPeriod]="updateCellsBatchingPeriod"
|
|
33
33
|
[windowSize]="windowSize"
|
|
34
|
+
[disableVirtualization]="disableVirtualization"
|
|
34
35
|
[stickyHeaderIndices]="stickyHeaderIndices"
|
|
35
36
|
[maintainVisibleContentPosition]="maintainVisibleContentPosition"
|
|
36
37
|
[onScroll]="onScroll"
|
|
@@ -38,15 +39,21 @@ export const FLAT_LIST_TEMPLATE = `
|
|
|
38
39
|
[onScrollEndDrag]="onScrollEndDrag"
|
|
39
40
|
[onMomentumScrollBegin]="onMomentumScrollBegin"
|
|
40
41
|
[onMomentumScrollEnd]="onMomentumScrollEnd"
|
|
42
|
+
[onContentSizeChange]="onContentSizeChange"
|
|
41
43
|
[scrollEventThrottle]="scrollEventThrottle"
|
|
42
44
|
[keyboardShouldPersistTaps]="keyboardShouldPersistTaps"
|
|
43
45
|
[keyboardDismissMode]="keyboardDismissMode"
|
|
44
46
|
[removeClippedSubviews]="resolvedRemoveClippedSubviews"
|
|
45
47
|
[nestedScrollEnabled]="nestedScrollEnabled"
|
|
48
|
+
[stickyHeaderHiddenOnScroll]="stickyHeaderHiddenOnScroll"
|
|
49
|
+
[innerViewRef]="innerViewRef"
|
|
46
50
|
[testID]="testID"
|
|
47
51
|
[nativeID]="nativeID"
|
|
48
52
|
[style]="resolvedStyle"
|
|
49
53
|
[contentContainerStyle]="contentContainerStyle"
|
|
54
|
+
[listHeaderComponentStyle]="listHeaderComponentStyle"
|
|
55
|
+
[listFooterComponentStyle]="listFooterComponentStyle"
|
|
56
|
+
[cellRendererTemplate]="cellRendererTpl"
|
|
50
57
|
${LIST_ACCESSIBILITY_FORWARD}
|
|
51
58
|
>
|
|
52
59
|
<ng-template vListItem let-row let-separators="separators">
|
|
@@ -55,6 +62,7 @@ export const FLAT_LIST_TEMPLATE = `
|
|
|
55
62
|
<view [style]="columnCellStyle">
|
|
56
63
|
<ng-container
|
|
57
64
|
[vListOutlet]="itemDir?.templateRef"
|
|
65
|
+
[vListOutletComponent]="itemComponent"
|
|
58
66
|
[vListOutletContext]="cell.context"
|
|
59
67
|
></ng-container>
|
|
60
68
|
</view>
|
|
@@ -119,6 +127,7 @@ export const FLAT_LIST_TEMPLATE = `
|
|
|
119
127
|
[maxToRenderPerBatch]="maxToRenderPerBatch"
|
|
120
128
|
[updateCellsBatchingPeriod]="updateCellsBatchingPeriod"
|
|
121
129
|
[windowSize]="windowSize"
|
|
130
|
+
[disableVirtualization]="disableVirtualization"
|
|
122
131
|
[stickyHeaderIndices]="stickyHeaderIndices"
|
|
123
132
|
[maintainVisibleContentPosition]="maintainVisibleContentPosition"
|
|
124
133
|
[onScroll]="onScroll"
|
|
@@ -126,16 +135,23 @@ export const FLAT_LIST_TEMPLATE = `
|
|
|
126
135
|
[onScrollEndDrag]="onScrollEndDrag"
|
|
127
136
|
[onMomentumScrollBegin]="onMomentumScrollBegin"
|
|
128
137
|
[onMomentumScrollEnd]="onMomentumScrollEnd"
|
|
138
|
+
[onContentSizeChange]="onContentSizeChange"
|
|
129
139
|
[scrollEventThrottle]="scrollEventThrottle"
|
|
130
140
|
[keyboardShouldPersistTaps]="keyboardShouldPersistTaps"
|
|
131
141
|
[keyboardDismissMode]="keyboardDismissMode"
|
|
132
142
|
[removeClippedSubviews]="resolvedRemoveClippedSubviews"
|
|
133
143
|
[nestedScrollEnabled]="nestedScrollEnabled"
|
|
144
|
+
[stickyHeaderHiddenOnScroll]="stickyHeaderHiddenOnScroll"
|
|
145
|
+
[innerViewRef]="innerViewRef"
|
|
134
146
|
[testID]="testID"
|
|
135
147
|
[nativeID]="nativeID"
|
|
136
148
|
[style]="resolvedStyle"
|
|
137
149
|
[contentContainerStyle]="contentContainerStyle"
|
|
150
|
+
[listHeaderComponentStyle]="listHeaderComponentStyle"
|
|
151
|
+
[listFooterComponentStyle]="listFooterComponentStyle"
|
|
152
|
+
[cellRendererTemplate]="cellRendererTpl"
|
|
138
153
|
[itemTemplate]="itemDir?.templateRef"
|
|
154
|
+
[listItemComponent]="listItemComponent"
|
|
139
155
|
[itemSeparatorTemplate]="separatorDir?.templateRef"
|
|
140
156
|
${LIST_ACCESSIBILITY_FORWARD}
|
|
141
157
|
>
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
} from '@angular/core';
|
|
17
17
|
import {
|
|
18
18
|
SINGLE_COLUMN,
|
|
19
|
+
arrayLikeLength,
|
|
19
20
|
chunkIntoRows,
|
|
20
21
|
expandRowViewability,
|
|
21
22
|
firstItemOfRow,
|
|
@@ -23,7 +24,6 @@ import {
|
|
|
23
24
|
removeClippedSubviewsOrDefault,
|
|
24
25
|
rowKeyExtractor,
|
|
25
26
|
type IRow,
|
|
26
|
-
type IScrollViewHandle,
|
|
27
27
|
type ISeparators,
|
|
28
28
|
type IViewabilityConfigCallbackPair,
|
|
29
29
|
type IViewableItemsChangedInfo,
|
|
@@ -35,7 +35,6 @@ import {
|
|
|
35
35
|
flattenStyle,
|
|
36
36
|
resolveClassName,
|
|
37
37
|
type IStyleProp,
|
|
38
|
-
type ISymbioteNode,
|
|
39
38
|
type IViewStyle,
|
|
40
39
|
} from '@symbiote-native/engine';
|
|
41
40
|
import {
|
|
@@ -50,7 +49,7 @@ import {
|
|
|
50
49
|
type IVListSeparatorContext,
|
|
51
50
|
} from '../virtualized-list';
|
|
52
51
|
import { VListOutletDirective } from '../virtualized-list/directives';
|
|
53
|
-
import {
|
|
52
|
+
import { FlatListHandleBase } from './flat-list-handle';
|
|
54
53
|
import { provideGateDemand } from '../../gate-demand';
|
|
55
54
|
import {
|
|
56
55
|
stableAnchorStyle,
|
|
@@ -151,7 +150,7 @@ export type IFlatListInputs<ItemT> = Omit<
|
|
|
151
150
|
template: FLAT_LIST_TEMPLATE,
|
|
152
151
|
})
|
|
153
152
|
export class FlatList<ItemT = unknown>
|
|
154
|
-
extends
|
|
153
|
+
extends FlatListHandleBase<ItemT>
|
|
155
154
|
implements IFlatListInputs<ItemT>, IVirtualizedListHandle, DoCheck, OnChanges
|
|
156
155
|
{
|
|
157
156
|
@Input({ required: true }) data!: readonly ItemT[];
|
|
@@ -166,8 +165,7 @@ export class FlatList<ItemT = unknown>
|
|
|
166
165
|
);
|
|
167
166
|
}
|
|
168
167
|
|
|
169
|
-
|
|
170
|
-
@ViewChild(VirtualizedList) private listRef?: VirtualizedList;
|
|
168
|
+
@ViewChild(VirtualizedList) protected override listRef?: VirtualizedList;
|
|
171
169
|
|
|
172
170
|
// This component's own host, the anchor `class="..."` resolves onto, not the inner list's
|
|
173
171
|
private readonly elementRef = inject(ElementRef);
|
|
@@ -213,7 +211,7 @@ export class FlatList<ItemT = unknown>
|
|
|
213
211
|
? chunkIntoRows(this.data, this.columns)
|
|
214
212
|
: [];
|
|
215
213
|
dlog(
|
|
216
|
-
`Angular FlatList over ${this.data
|
|
214
|
+
`Angular FlatList over ${arrayLikeLength(this.data)} items, ${this.columns} column(s)`,
|
|
217
215
|
);
|
|
218
216
|
}
|
|
219
217
|
if (
|
|
@@ -225,7 +223,7 @@ export class FlatList<ItemT = unknown>
|
|
|
225
223
|
}
|
|
226
224
|
|
|
227
225
|
getFlatItem = (_data: unknown, index: number): ItemT => this.data[index];
|
|
228
|
-
getFlatCount = (_data: unknown): number => this.data
|
|
226
|
+
getFlatCount = (_data: unknown): number => arrayLikeLength(this.data);
|
|
229
227
|
|
|
230
228
|
// With several columns the virtualized stream is rows
|
|
231
229
|
getRow = (_data: unknown, index: number): IRow<ItemT> => this.rows[index];
|
|
@@ -291,44 +289,4 @@ export class FlatList<ItemT = unknown>
|
|
|
291
289
|
: undefined,
|
|
292
290
|
};
|
|
293
291
|
}
|
|
294
|
-
|
|
295
|
-
scrollToOffset(params: { offset: number; animated?: boolean }): void {
|
|
296
|
-
this.listRef?.scrollToOffset(params);
|
|
297
|
-
}
|
|
298
|
-
scrollToIndex(params: {
|
|
299
|
-
index: number;
|
|
300
|
-
animated?: boolean;
|
|
301
|
-
viewOffset?: number;
|
|
302
|
-
viewPosition?: number;
|
|
303
|
-
}): void {
|
|
304
|
-
this.listRef?.scrollToIndex(params);
|
|
305
|
-
}
|
|
306
|
-
scrollToItem(params: {
|
|
307
|
-
item: unknown;
|
|
308
|
-
animated?: boolean;
|
|
309
|
-
viewPosition?: number;
|
|
310
|
-
}): void {
|
|
311
|
-
this.listRef?.scrollToItem(params);
|
|
312
|
-
}
|
|
313
|
-
scrollToEnd(params?: { animated?: boolean }): void {
|
|
314
|
-
this.listRef?.scrollToEnd(params);
|
|
315
|
-
}
|
|
316
|
-
flashScrollIndicators(): void {
|
|
317
|
-
this.listRef?.flashScrollIndicators();
|
|
318
|
-
}
|
|
319
|
-
getNativeScrollRef(): IScrollViewHandle | null {
|
|
320
|
-
return this.listRef?.getNativeScrollRef() ?? null;
|
|
321
|
-
}
|
|
322
|
-
getScrollableNode(): IScrollViewHandle | null {
|
|
323
|
-
return this.listRef?.getScrollableNode() ?? null;
|
|
324
|
-
}
|
|
325
|
-
getScrollResponder(): IScrollViewHandle | null {
|
|
326
|
-
return this.listRef?.getScrollResponder() ?? null;
|
|
327
|
-
}
|
|
328
|
-
getScrollNode(): ISymbioteNode | null {
|
|
329
|
-
return this.listRef?.getScrollNode() ?? null;
|
|
330
|
-
}
|
|
331
|
-
recordInteraction(): void {
|
|
332
|
-
this.listRef?.recordInteraction();
|
|
333
|
-
}
|
|
334
292
|
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// The input and output names of `Animated.Image`, kept apart from the prop fold so the list reads
|
|
2
|
+
// as one table
|
|
3
|
+
|
|
4
|
+
export const IMAGE_INPUTS = [
|
|
5
|
+
'source',
|
|
6
|
+
'defaultSource',
|
|
7
|
+
'loadingIndicatorSource',
|
|
8
|
+
'style',
|
|
9
|
+
'resizeMode',
|
|
10
|
+
'resizeMethod',
|
|
11
|
+
'resizeMultiplier',
|
|
12
|
+
'tintColor',
|
|
13
|
+
'blurRadius',
|
|
14
|
+
'capInsets',
|
|
15
|
+
'fadeDuration',
|
|
16
|
+
'progressiveRenderingEnabled',
|
|
17
|
+
'src',
|
|
18
|
+
'srcSet',
|
|
19
|
+
'alt',
|
|
20
|
+
'width',
|
|
21
|
+
'height',
|
|
22
|
+
'crossOrigin',
|
|
23
|
+
'referrerPolicy',
|
|
24
|
+
'testID',
|
|
25
|
+
'nativeID',
|
|
26
|
+
'accessible',
|
|
27
|
+
'accessibilityLabel',
|
|
28
|
+
'accessibilityHint',
|
|
29
|
+
'accessibilityRole',
|
|
30
|
+
'accessibilityState',
|
|
31
|
+
'accessibilityValue',
|
|
32
|
+
'accessibilityActions',
|
|
33
|
+
'accessibilityLabelledBy',
|
|
34
|
+
'importantForAccessibility',
|
|
35
|
+
'accessibilityLiveRegion',
|
|
36
|
+
'screenReaderFocusable',
|
|
37
|
+
'accessibilityViewIsModal',
|
|
38
|
+
'accessibilityElementsHidden',
|
|
39
|
+
'accessibilityIgnoresInvertColors',
|
|
40
|
+
'accessibilityLanguage',
|
|
41
|
+
'accessibilityRespondsToUserInteraction',
|
|
42
|
+
'accessibilityShowsLargeContentViewer',
|
|
43
|
+
'accessibilityLargeContentTitle',
|
|
44
|
+
'role',
|
|
45
|
+
'ariaLabel: aria-label',
|
|
46
|
+
'ariaLabelledBy: aria-labelledby',
|
|
47
|
+
'ariaLive: aria-live',
|
|
48
|
+
'ariaHidden: aria-hidden',
|
|
49
|
+
'ariaBusy: aria-busy',
|
|
50
|
+
'ariaChecked: aria-checked',
|
|
51
|
+
'ariaDisabled: aria-disabled',
|
|
52
|
+
'ariaExpanded: aria-expanded',
|
|
53
|
+
'ariaSelected: aria-selected',
|
|
54
|
+
'ariaModal: aria-modal',
|
|
55
|
+
'ariaValueMax: aria-valuemax',
|
|
56
|
+
'ariaValueMin: aria-valuemin',
|
|
57
|
+
'ariaValueNow: aria-valuenow',
|
|
58
|
+
'ariaValueText: aria-valuetext',
|
|
59
|
+
'onAccessibilityAction',
|
|
60
|
+
'onAccessibilityTap',
|
|
61
|
+
'onMagicTap',
|
|
62
|
+
'onAccessibilityEscape',
|
|
63
|
+
'onLoadStart',
|
|
64
|
+
'onLoad',
|
|
65
|
+
'onLoadEnd',
|
|
66
|
+
'onError',
|
|
67
|
+
'onProgress',
|
|
68
|
+
'onPartialLoad',
|
|
69
|
+
];
|
|
70
|
+
|
|
71
|
+
type IImageOutput =
|
|
72
|
+
| 'accessibilityAction'
|
|
73
|
+
| 'accessibilityTap'
|
|
74
|
+
| 'magicTap'
|
|
75
|
+
| 'accessibilityEscape'
|
|
76
|
+
| 'loadStart'
|
|
77
|
+
| 'load'
|
|
78
|
+
| 'loadEnd'
|
|
79
|
+
| 'error'
|
|
80
|
+
| 'progress'
|
|
81
|
+
| 'partialLoad';
|
|
82
|
+
|
|
83
|
+
export const IMAGE_OUTPUTS: IImageOutput[] = [
|
|
84
|
+
'accessibilityAction',
|
|
85
|
+
'accessibilityTap',
|
|
86
|
+
'magicTap',
|
|
87
|
+
'accessibilityEscape',
|
|
88
|
+
'loadStart',
|
|
89
|
+
'load',
|
|
90
|
+
'loadEnd',
|
|
91
|
+
'error',
|
|
92
|
+
'progress',
|
|
93
|
+
'partialLoad',
|
|
94
|
+
];
|