@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.
Files changed (187) hide show
  1. package/babel-register-composed.cjs +1 -0
  2. package/build/angular/accessibility-inputs.d.ts +2 -1
  3. package/build/angular/accessibility-inputs.js +4 -1
  4. package/build/angular/accessibility-inputs.js.map +1 -1
  5. package/build/angular/callback-host.d.ts +1 -1
  6. package/build/angular/callback-host.js +57 -9
  7. package/build/angular/callback-host.js.map +1 -1
  8. package/build/angular/components/flat-list/flat-list-handle.d.ts +35 -0
  9. package/build/angular/components/flat-list/flat-list-handle.js +48 -0
  10. package/build/angular/components/flat-list/flat-list-handle.js.map +1 -0
  11. package/build/angular/components/flat-list/flat-list-template.d.ts +1 -1
  12. package/build/angular/components/flat-list/flat-list-template.js +16 -0
  13. package/build/angular/components/flat-list/flat-list-template.js.map +1 -1
  14. package/build/angular/components/flat-list/index.d.ts +6 -30
  15. package/build/angular/components/flat-list/index.js +6 -36
  16. package/build/angular/components/flat-list/index.js.map +1 -1
  17. package/build/angular/components/image-inputs.d.ts +4 -0
  18. package/build/angular/components/image-inputs.js +81 -0
  19. package/build/angular/components/image-inputs.js.map +1 -0
  20. package/build/angular/components/image-props-resolve.d.ts +3 -0
  21. package/build/angular/components/image-props-resolve.js +133 -0
  22. package/build/angular/components/image-props-resolve.js.map +1 -0
  23. package/build/angular/components/image-shared.d.ts +8 -6
  24. package/build/angular/components/image-shared.js +23 -212
  25. package/build/angular/components/image-shared.js.map +1 -1
  26. package/build/angular/components/input-accessory-view-props.d.ts +4 -4
  27. package/build/angular/components/keyboard-avoiding-view/index.d.ts +3 -6
  28. package/build/angular/components/keyboard-avoiding-view/index.js +29 -56
  29. package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
  30. package/build/angular/components/layout-conformance-props.d.ts +4 -0
  31. package/build/angular/components/layout-conformance-props.js +2 -0
  32. package/build/angular/components/layout-conformance-props.js.map +1 -0
  33. package/build/angular/components/modal/index.d.ts +6 -5
  34. package/build/angular/components/modal/index.js +17 -2
  35. package/build/angular/components/modal/index.js.map +1 -1
  36. package/build/angular/components/refresh-control-props.d.ts +7 -7
  37. package/build/angular/components/scroll-view-props.d.ts +8 -5
  38. package/build/angular/components/section-list/index.d.ts +17 -8
  39. package/build/angular/components/section-list/index.js +37 -28
  40. package/build/angular/components/section-list/index.js.map +1 -1
  41. package/build/angular/components/touchable-props.d.ts +2 -2
  42. package/build/angular/components/virtualized-list/cell-renderer-context.d.ts +12 -0
  43. package/build/angular/components/virtualized-list/cell-renderer-context.js +16 -0
  44. package/build/angular/components/virtualized-list/cell-renderer-context.js.map +1 -0
  45. package/build/angular/components/virtualized-list/directives.d.ts +26 -6
  46. package/build/angular/components/virtualized-list/directives.js +59 -5
  47. package/build/angular/components/virtualized-list/directives.js.map +1 -1
  48. package/build/angular/components/virtualized-list/index.d.ts +19 -15
  49. package/build/angular/components/virtualized-list/index.js +91 -61
  50. package/build/angular/components/virtualized-list/index.js.map +1 -1
  51. package/build/angular/components/virtualized-list/list-bags.d.ts +5 -1
  52. package/build/angular/components/virtualized-list/list-bags.js +31 -19
  53. package/build/angular/components/virtualized-list/list-bags.js.map +1 -1
  54. package/build/angular/components/virtualized-list/list-effects.d.ts +2 -2
  55. package/build/angular/components/virtualized-list/list-effects.js +17 -27
  56. package/build/angular/components/virtualized-list/list-effects.js.map +1 -1
  57. package/build/angular/components/virtualized-list/list-handle.d.ts +4 -1
  58. package/build/angular/components/virtualized-list/list-handle.js +13 -3
  59. package/build/angular/components/virtualized-list/list-handle.js.map +1 -1
  60. package/build/angular/components/virtualized-list/list-inputs.d.ts +19 -5
  61. package/build/angular/components/virtualized-list/list-inputs.js +47 -4
  62. package/build/angular/components/virtualized-list/list-inputs.js.map +1 -1
  63. package/build/angular/components/virtualized-list/list-props.d.ts +9 -3
  64. package/build/angular/components/virtualized-list/list-rows.d.ts +25 -0
  65. package/build/angular/components/virtualized-list/list-rows.js +25 -0
  66. package/build/angular/components/virtualized-list/list-rows.js.map +1 -0
  67. package/build/angular/components/virtualized-list/list-styles.d.ts +4 -0
  68. package/build/angular/components/virtualized-list/list-styles.js +10 -2
  69. package/build/angular/components/virtualized-list/list-styles.js.map +1 -1
  70. package/build/angular/components/virtualized-list/list-template.d.ts +1 -1
  71. package/build/angular/components/virtualized-list/list-template.js +159 -73
  72. package/build/angular/components/virtualized-list/list-template.js.map +1 -1
  73. package/build/angular/components/virtualized-list/nested-scope.d.ts +6 -0
  74. package/build/angular/components/virtualized-list/nested-scope.js +17 -0
  75. package/build/angular/components/virtualized-list/nested-scope.js.map +1 -0
  76. package/build/angular/components/virtualized-section-list/directives.d.ts +21 -9
  77. package/build/angular/components/virtualized-section-list/directives.js +8 -28
  78. package/build/angular/components/virtualized-section-list/directives.js.map +1 -1
  79. package/build/angular/components/virtualized-section-list/index.d.ts +39 -60
  80. package/build/angular/components/virtualized-section-list/index.js +67 -33
  81. package/build/angular/components/virtualized-section-list/index.js.map +1 -1
  82. package/build/angular/components/virtualized-section-list/section-cell.d.ts +29 -0
  83. package/build/angular/components/virtualized-section-list/section-cell.js +82 -0
  84. package/build/angular/components/virtualized-section-list/section-cell.js.map +1 -0
  85. package/build/angular/components/virtualized-section-list/section-list-props.d.ts +56 -0
  86. package/build/angular/components/virtualized-section-list/section-list-props.js +3 -0
  87. package/build/angular/components/virtualized-section-list/section-list-props.js.map +1 -0
  88. package/build/angular/components/virtualized-section-list/section-list-template.d.ts +1 -1
  89. package/build/angular/components/virtualized-section-list/section-list-template.js +34 -26
  90. package/build/angular/components/virtualized-section-list/section-list-template.js.map +1 -1
  91. package/build/angular/components.d.ts +7 -3
  92. package/build/angular/components.js +2 -1
  93. package/build/angular/components.js.map +1 -1
  94. package/build/angular/element-base.d.ts +17 -1
  95. package/build/angular/element-base.js +33 -1
  96. package/build/angular/element-base.js.map +1 -1
  97. package/build/angular/element-props.d.ts +7 -7
  98. package/build/angular/element-text-input-native.d.ts +27 -0
  99. package/build/angular/element-text-input-native.js +52 -0
  100. package/build/angular/element-text-input-native.js.map +1 -0
  101. package/build/angular/elements-controls.d.ts +8 -2
  102. package/build/angular/elements-controls.js +13 -1
  103. package/build/angular/elements-controls.js.map +1 -1
  104. package/build/angular/elements-layout.d.ts +20 -3
  105. package/build/angular/elements-layout.js +37 -3
  106. package/build/angular/elements-layout.js.map +1 -1
  107. package/build/angular/elements-press.d.ts +10 -3
  108. package/build/angular/elements-press.js +13 -1
  109. package/build/angular/elements-press.js.map +1 -1
  110. package/build/angular/elements.d.ts +3 -3
  111. package/build/angular/elements.js +3 -2
  112. package/build/angular/elements.js.map +1 -1
  113. package/build/angular/index.d.ts +15 -7
  114. package/build/angular/index.js +22 -25
  115. package/build/angular/index.js.map +1 -1
  116. package/build/angular/modules/animated/create-animated-component.d.ts +1 -1
  117. package/build/angular/modules/animated/create-animated-component.js +1 -1
  118. package/build/angular/modules/animated/create-animated-component.js.map +1 -1
  119. package/build/angular/modules/animated/index.d.ts +54 -41
  120. package/build/angular/modules/animated/index.js +2 -26
  121. package/build/angular/modules/animated/index.js.map +1 -1
  122. package/build/angular/modules/app-registry/index.d.ts +3 -3
  123. package/build/angular/modules/app-registry/index.js +2 -2
  124. package/build/angular/modules/app-registry/index.js.map +1 -1
  125. package/build/angular/modules/status-bar/index.d.ts +9 -5
  126. package/build/angular/modules/status-bar/index.js +21 -10
  127. package/build/angular/modules/status-bar/index.js.map +1 -1
  128. package/build/angular/primitives/index.d.ts +4 -0
  129. package/build/angular/primitives/index.js +12 -0
  130. package/build/angular/primitives/index.js.map +1 -1
  131. package/build/angular/render/index.d.ts +2 -2
  132. package/build/angular/render/index.js +10 -29
  133. package/build/angular/render/index.js.map +1 -1
  134. package/build/angular/root-tag.d.ts +4 -0
  135. package/build/angular/root-tag.js +10 -0
  136. package/build/angular/root-tag.js.map +1 -0
  137. package/build/angular/services/color-scheme.service.d.ts +1 -1
  138. package/package.json +6 -6
  139. package/src/accessibility-inputs.ts +3 -0
  140. package/src/callback-host.ts +56 -8
  141. package/src/components/flat-list/flat-list-handle.ts +64 -0
  142. package/src/components/flat-list/flat-list-template.ts +16 -0
  143. package/src/components/flat-list/index.ts +6 -48
  144. package/src/components/image-inputs.ts +94 -0
  145. package/src/components/image-props-resolve.ts +172 -0
  146. package/src/components/image-shared.ts +26 -291
  147. package/src/components/input-accessory-view-props.ts +12 -8
  148. package/src/components/keyboard-avoiding-view/index.ts +39 -79
  149. package/src/components/layout-conformance-props.ts +8 -0
  150. package/src/components/modal/index.ts +42 -20
  151. package/src/components/refresh-control-props.ts +29 -25
  152. package/src/components/scroll-view-props.ts +84 -76
  153. package/src/components/section-list/index.ts +34 -37
  154. package/src/components/touchable-props.ts +6 -2
  155. package/src/components/virtualized-list/cell-renderer-context.ts +36 -0
  156. package/src/components/virtualized-list/directives.ts +84 -8
  157. package/src/components/virtualized-list/index.ts +118 -85
  158. package/src/components/virtualized-list/list-bags.ts +38 -19
  159. package/src/components/virtualized-list/list-effects.ts +20 -32
  160. package/src/components/virtualized-list/list-handle.ts +17 -4
  161. package/src/components/virtualized-list/list-inputs.ts +47 -0
  162. package/src/components/virtualized-list/list-props.ts +57 -50
  163. package/src/components/virtualized-list/list-rows.ts +66 -0
  164. package/src/components/virtualized-list/list-styles.ts +30 -1
  165. package/src/components/virtualized-list/list-template.ts +159 -73
  166. package/src/components/virtualized-list/nested-scope.ts +22 -0
  167. package/src/components/virtualized-section-list/directives.ts +41 -40
  168. package/src/components/virtualized-section-list/index.ts +114 -118
  169. package/src/components/virtualized-section-list/section-cell.ts +109 -0
  170. package/src/components/virtualized-section-list/section-list-props.ts +79 -0
  171. package/src/components/virtualized-section-list/section-list-template.ts +34 -26
  172. package/src/components.ts +8 -0
  173. package/src/element-base.ts +17 -0
  174. package/src/element-props.ts +35 -33
  175. package/src/element-text-input-native.ts +31 -0
  176. package/src/elements-controls.ts +9 -1
  177. package/src/elements-layout.ts +27 -0
  178. package/src/elements-press.ts +10 -2
  179. package/src/elements.ts +3 -0
  180. package/src/index.ts +79 -22
  181. package/src/modules/animated/index.ts +2 -47
  182. package/src/modules/app-registry/index.ts +3 -1
  183. package/src/modules/status-bar/index.ts +24 -11
  184. package/src/primitives/index.ts +7 -0
  185. package/src/render/index.ts +23 -50
  186. package/src/root-tag.ts +14 -0
  187. 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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/render/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import type { IRootTag } from '@symbiote-native/engine';
3
+ export declare const ROOT_TAG: InjectionToken<number>;
4
+ export declare function injectRootTag(): IRootTag;
@@ -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.0",
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.2.0",
70
- "@symbiote-native/css-parser": "0.5.4"
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.6.0"
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.6.0",
87
- "@symbiote-native/test-utils": "0.4.7"
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,
@@ -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
- '[onChangeText],[onContentSizeChange],[onEndEditing],[onError],[onFocus],[onHoverIn],[onHoverOut],' +
99
- '[onKeyPress],[onLayout],[onLoad],[onLoadEnd],[onLoadStart],[onLongPress],[onMagicTap],' +
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],[onValueChange]';
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
- '[onContentSizeChange],[onEndEditing],[onError],[onFocus],[onHoverIn],[onHoverOut],' +
115
- '[onKeyPress],[onLayout],[onLoad],[onLoadEnd],[onLoadStart],[onLongPress],[onMagicTap],' +
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],[onValueChange]',
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 { ListInputsBase } from '../virtualized-list/list-inputs';
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 ListInputsBase<ItemT>
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
- // The composed inner list, whichever branch rendered, its instance is the scroll handle
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?.length ?? 0} items, ${this.columns} column(s)`,
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.length;
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
+ ];