@symbiote-native/angular 1.0.0 → 2.0.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 (248) hide show
  1. package/README.md +13 -10
  2. package/babel-register-composed.cjs +41 -19
  3. package/bin/symbiote-angular-dev.cjs +16 -4
  4. package/build/angular/anchor-host-registry.js +1 -17
  5. package/build/angular/anchor-host-registry.js.map +1 -1
  6. package/build/angular/change-detection-flush.d.ts +31 -0
  7. package/build/angular/change-detection-flush.js +110 -0
  8. package/build/angular/change-detection-flush.js.map +1 -0
  9. package/build/angular/components/activity-indicator-props.d.ts +2 -0
  10. package/build/angular/components/activity-indicator-props.js +2 -0
  11. package/build/angular/components/activity-indicator-props.js.map +1 -0
  12. package/build/angular/components/button-props.d.ts +2 -0
  13. package/build/angular/components/button-props.js +2 -0
  14. package/build/angular/components/button-props.js.map +1 -0
  15. package/build/angular/components/flat-list/index.d.ts +2 -1
  16. package/build/angular/components/flat-list/index.js +22 -10
  17. package/build/angular/components/flat-list/index.js.map +1 -1
  18. package/build/angular/components/image-background-props.d.ts +6 -0
  19. package/build/angular/components/image-background-props.js +2 -0
  20. package/build/angular/components/image-background-props.js.map +1 -0
  21. package/build/angular/components/{image/shared.d.ts → image-shared.d.ts} +1 -1
  22. package/build/angular/components/{image/shared.js → image-shared.js} +7 -2
  23. package/build/angular/components/image-shared.js.map +1 -0
  24. package/build/angular/components/input-accessory-view-props.d.ts +7 -0
  25. package/build/angular/components/input-accessory-view-props.js +9 -0
  26. package/build/angular/components/input-accessory-view-props.js.map +1 -0
  27. package/build/angular/components/keyboard-avoiding-view/index.js +11 -17
  28. package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
  29. package/build/angular/components/modal/index.d.ts +1 -0
  30. package/build/angular/components/modal/index.js +19 -12
  31. package/build/angular/components/modal/index.js.map +1 -1
  32. package/build/angular/components/pressable-props.d.ts +32 -0
  33. package/build/angular/components/pressable-props.js +11 -0
  34. package/build/angular/components/pressable-props.js.map +1 -0
  35. package/build/angular/components/refresh-control-props.d.ts +16 -0
  36. package/build/angular/components/refresh-control-props.js +14 -0
  37. package/build/angular/components/refresh-control-props.js.map +1 -0
  38. package/build/angular/components/safe-area-view-props.d.ts +7 -0
  39. package/build/angular/components/safe-area-view-props.js +11 -0
  40. package/build/angular/components/safe-area-view-props.js.map +1 -0
  41. package/build/angular/components/scroll-view-props.d.ts +76 -0
  42. package/build/angular/components/scroll-view-props.js +18 -0
  43. package/build/angular/components/scroll-view-props.js.map +1 -0
  44. package/build/angular/components/text-input-props.d.ts +45 -0
  45. package/build/angular/components/text-input-props.js +18 -0
  46. package/build/angular/components/text-input-props.js.map +1 -0
  47. package/build/angular/components/touchable-native-feedback/touchable-native-feedback-props.d.ts +6 -0
  48. package/build/angular/components/touchable-native-feedback/touchable-native-feedback-props.js +2 -0
  49. package/build/angular/components/touchable-native-feedback/touchable-native-feedback-props.js.map +1 -0
  50. package/build/angular/components/touchable-props.d.ts +14 -0
  51. package/build/angular/components/touchable-props.js +13 -0
  52. package/build/angular/components/touchable-props.js.map +1 -0
  53. package/build/angular/components/touchable-without-feedback/touchable-without-feedback-props.d.ts +3 -0
  54. package/build/angular/components/touchable-without-feedback/touchable-without-feedback-props.js +2 -0
  55. package/build/angular/components/touchable-without-feedback/touchable-without-feedback-props.js.map +1 -0
  56. package/build/angular/components/virtualized-list/index.d.ts +5 -1
  57. package/build/angular/components/virtualized-list/index.js +366 -280
  58. package/build/angular/components/virtualized-list/index.js.map +1 -1
  59. package/build/angular/components.d.ts +20 -26
  60. package/build/angular/components.js +12 -14
  61. package/build/angular/components.js.map +1 -1
  62. package/build/angular/create-portal/index.d.ts +2 -2
  63. package/build/angular/create-portal/index.js +5 -5
  64. package/build/angular/create-tunnel/index.js +1 -1
  65. package/build/angular/element-props.d.ts +53 -0
  66. package/build/angular/element-props.js +2 -0
  67. package/build/angular/element-props.js.map +1 -0
  68. package/build/angular/elements.d.ts +528 -0
  69. package/build/angular/elements.js +1444 -0
  70. package/build/angular/elements.js.map +1 -0
  71. package/build/angular/host-instance/index.js +1 -1
  72. package/build/angular/index.d.ts +4 -2
  73. package/build/angular/index.js +15 -1
  74. package/build/angular/index.js.map +1 -1
  75. package/build/angular/modules/animated/create-animated-component.d.ts +5 -6
  76. package/build/angular/modules/animated/create-animated-component.js +60 -73
  77. package/build/angular/modules/animated/create-animated-component.js.map +1 -1
  78. package/build/angular/modules/animated/index.js +1 -1
  79. package/build/angular/modules/animated/index.js.map +1 -1
  80. package/build/angular/modules/image/index.d.ts +3 -0
  81. package/build/angular/modules/image/index.js +16 -0
  82. package/build/angular/modules/image/index.js.map +1 -0
  83. package/build/angular/primitives/index.d.ts +18 -18
  84. package/build/angular/primitives/index.js +40 -36
  85. package/build/angular/primitives/index.js.map +1 -1
  86. package/build/angular/primitives/shared.d.ts +2 -3
  87. package/build/angular/primitives/shared.js +8 -53
  88. package/build/angular/primitives/shared.js.map +1 -1
  89. package/build/angular/register.d.ts +1 -1
  90. package/build/angular/register.js +12 -31
  91. package/build/angular/register.js.map +1 -1
  92. package/build/angular/render/index.js +3 -3
  93. package/build/angular/render/index.js.map +1 -1
  94. package/build/angular/renderer/index.js +113 -67
  95. package/build/angular/renderer/index.js.map +1 -1
  96. package/build/angular/renderer/value-change.d.ts +2 -0
  97. package/build/angular/renderer/value-change.js +9 -0
  98. package/build/angular/renderer/value-change.js.map +1 -0
  99. package/metro-config.cjs +23 -5
  100. package/metro-css-parser.cjs +2 -1
  101. package/package.json +5 -14
  102. package/src/anchor-host-registry.ts +1 -17
  103. package/src/change-detection-flush.ts +120 -0
  104. package/src/components/activity-indicator-props.ts +21 -0
  105. package/src/components/button-props.ts +26 -0
  106. package/src/components/flat-list/index.ts +12 -4
  107. package/src/components/image-background-props.ts +24 -0
  108. package/src/components/{image/shared.ts → image-shared.ts} +6 -1
  109. package/src/components/input-accessory-view-props.ts +21 -0
  110. package/src/components/keyboard-avoiding-view/index.ts +6 -9
  111. package/src/components/modal/index.ts +15 -7
  112. package/src/components/pressable-props.ts +73 -0
  113. package/src/components/refresh-control-props.ts +43 -0
  114. package/src/components/safe-area-view-props.ts +28 -0
  115. package/src/components/scroll-view-props.ts +109 -0
  116. package/src/components/text-input-props.ts +72 -0
  117. package/src/components/touchable-native-feedback/touchable-native-feedback-props.ts +23 -0
  118. package/src/components/touchable-props.ts +30 -0
  119. package/src/components/touchable-without-feedback/touchable-without-feedback-props.ts +21 -0
  120. package/src/components/virtualized-list/index.ts +239 -156
  121. package/src/components.ts +84 -35
  122. package/src/create-portal/index.ts +5 -5
  123. package/src/create-tunnel/index.ts +1 -1
  124. package/src/diagnostics.ts +1 -1
  125. package/src/element-props.ts +90 -0
  126. package/src/elements.ts +919 -0
  127. package/src/host-instance/index.ts +1 -1
  128. package/src/index.ts +52 -15
  129. package/src/modules/animated/create-animated-component.ts +50 -55
  130. package/src/modules/animated/index.ts +1 -1
  131. package/src/modules/image/index.ts +18 -0
  132. package/src/primitives/index.ts +22 -18
  133. package/src/primitives/shared.ts +11 -44
  134. package/src/register.ts +12 -40
  135. package/src/render/index.ts +3 -3
  136. package/src/renderer/index.ts +122 -73
  137. package/src/renderer/value-change.ts +8 -0
  138. package/babel-lower-host-primitives.cjs +0 -636
  139. package/build/angular/components/activity-indicator/index.android.d.ts +0 -13
  140. package/build/angular/components/activity-indicator/index.android.js +0 -29
  141. package/build/angular/components/activity-indicator/index.android.js.map +0 -1
  142. package/build/angular/components/activity-indicator/index.d.ts +0 -1
  143. package/build/angular/components/activity-indicator/index.ios.d.ts +0 -9
  144. package/build/angular/components/activity-indicator/index.ios.js +0 -26
  145. package/build/angular/components/activity-indicator/index.ios.js.map +0 -1
  146. package/build/angular/components/activity-indicator/index.js +0 -4
  147. package/build/angular/components/activity-indicator/index.js.map +0 -1
  148. package/build/angular/components/activity-indicator/shared.d.ts +0 -67
  149. package/build/angular/components/activity-indicator/shared.js +0 -260
  150. package/build/angular/components/activity-indicator/shared.js.map +0 -1
  151. package/build/angular/components/button.d.ts +0 -68
  152. package/build/angular/components/button.js +0 -360
  153. package/build/angular/components/button.js.map +0 -1
  154. package/build/angular/components/image/index.android.d.ts +0 -15
  155. package/build/angular/components/image/index.android.js +0 -83
  156. package/build/angular/components/image/index.android.js.map +0 -1
  157. package/build/angular/components/image/index.d.ts +0 -1
  158. package/build/angular/components/image/index.ios.d.ts +0 -15
  159. package/build/angular/components/image/index.ios.js +0 -83
  160. package/build/angular/components/image/index.ios.js.map +0 -1
  161. package/build/angular/components/image/index.js +0 -3
  162. package/build/angular/components/image/index.js.map +0 -1
  163. package/build/angular/components/image/shared.js.map +0 -1
  164. package/build/angular/components/image-background.d.ts +0 -85
  165. package/build/angular/components/image-background.js +0 -443
  166. package/build/angular/components/image-background.js.map +0 -1
  167. package/build/angular/components/input-accessory-view/index.d.ts +0 -66
  168. package/build/angular/components/input-accessory-view/index.js +0 -287
  169. package/build/angular/components/input-accessory-view/index.js.map +0 -1
  170. package/build/angular/components/pressable/index.d.ts +0 -134
  171. package/build/angular/components/pressable/index.js +0 -514
  172. package/build/angular/components/pressable/index.js.map +0 -1
  173. package/build/angular/components/refresh-control/index.d.ts +0 -91
  174. package/build/angular/components/refresh-control/index.js +0 -382
  175. package/build/angular/components/refresh-control/index.js.map +0 -1
  176. package/build/angular/components/safe-area-view/index.d.ts +0 -64
  177. package/build/angular/components/safe-area-view/index.js +0 -287
  178. package/build/angular/components/safe-area-view/index.js.map +0 -1
  179. package/build/angular/components/scroll-view/index.android.d.ts +0 -20
  180. package/build/angular/components/scroll-view/index.android.js +0 -262
  181. package/build/angular/components/scroll-view/index.android.js.map +0 -1
  182. package/build/angular/components/scroll-view/index.d.ts +0 -3
  183. package/build/angular/components/scroll-view/index.ios.d.ts +0 -8
  184. package/build/angular/components/scroll-view/index.ios.js +0 -92
  185. package/build/angular/components/scroll-view/index.ios.js.map +0 -1
  186. package/build/angular/components/scroll-view/index.js +0 -6
  187. package/build/angular/components/scroll-view/index.js.map +0 -1
  188. package/build/angular/components/scroll-view/projection.d.ts +0 -67
  189. package/build/angular/components/scroll-view/projection.js +0 -560
  190. package/build/angular/components/scroll-view/projection.js.map +0 -1
  191. package/build/angular/components/scroll-view/shared.d.ts +0 -241
  192. package/build/angular/components/scroll-view/shared.js +0 -848
  193. package/build/angular/components/scroll-view/shared.js.map +0 -1
  194. package/build/angular/components/scroll-view/sticky-header.d.ts +0 -40
  195. package/build/angular/components/scroll-view/sticky-header.js +0 -224
  196. package/build/angular/components/scroll-view/sticky-header.js.map +0 -1
  197. package/build/angular/components/switch/index.android.d.ts +0 -24
  198. package/build/angular/components/switch/index.android.js +0 -112
  199. package/build/angular/components/switch/index.android.js.map +0 -1
  200. package/build/angular/components/switch/index.d.ts +0 -1
  201. package/build/angular/components/switch/index.ios.d.ts +0 -23
  202. package/build/angular/components/switch/index.ios.js +0 -111
  203. package/build/angular/components/switch/index.ios.js.map +0 -1
  204. package/build/angular/components/switch/index.js +0 -4
  205. package/build/angular/components/switch/index.js.map +0 -1
  206. package/build/angular/components/switch/shared.d.ts +0 -49
  207. package/build/angular/components/switch/shared.js +0 -191
  208. package/build/angular/components/switch/shared.js.map +0 -1
  209. package/build/angular/components/text-input.d.ts +0 -167
  210. package/build/angular/components/text-input.js +0 -684
  211. package/build/angular/components/text-input.js.map +0 -1
  212. package/build/angular/components/touchable/index.d.ts +0 -283
  213. package/build/angular/components/touchable/index.js +0 -1453
  214. package/build/angular/components/touchable/index.js.map +0 -1
  215. package/build/angular/components/touchable-native-feedback/index.d.ts +0 -87
  216. package/build/angular/components/touchable-native-feedback/index.js +0 -409
  217. package/build/angular/components/touchable-native-feedback/index.js.map +0 -1
  218. package/build/angular/state-style.d.ts +0 -9
  219. package/build/angular/state-style.js +0 -39
  220. package/build/angular/state-style.js.map +0 -1
  221. package/metro-transformer.cjs +0 -69
  222. package/src/components/activity-indicator/index.android.ts +0 -23
  223. package/src/components/activity-indicator/index.ios.ts +0 -21
  224. package/src/components/activity-indicator/index.ts +0 -4
  225. package/src/components/activity-indicator/shared.ts +0 -225
  226. package/src/components/button.ts +0 -237
  227. package/src/components/image/index.android.ts +0 -95
  228. package/src/components/image/index.ios.ts +0 -95
  229. package/src/components/image/index.ts +0 -3
  230. package/src/components/image-background.ts +0 -308
  231. package/src/components/input-accessory-view/index.ts +0 -246
  232. package/src/components/pressable/index.ts +0 -522
  233. package/src/components/refresh-control/index.ts +0 -349
  234. package/src/components/safe-area-view/index.ts +0 -247
  235. package/src/components/scroll-view/index.android.ts +0 -205
  236. package/src/components/scroll-view/index.ios.ts +0 -81
  237. package/src/components/scroll-view/index.ts +0 -7
  238. package/src/components/scroll-view/projection.ts +0 -713
  239. package/src/components/scroll-view/shared.ts +0 -1093
  240. package/src/components/scroll-view/sticky-header.ts +0 -267
  241. package/src/components/switch/index.android.ts +0 -113
  242. package/src/components/switch/index.ios.ts +0 -112
  243. package/src/components/switch/index.ts +0 -4
  244. package/src/components/switch/shared.ts +0 -284
  245. package/src/components/text-input.ts +0 -669
  246. package/src/components/touchable/index.ts +0 -956
  247. package/src/components/touchable-native-feedback/index.ts +0 -327
  248. package/src/state-style.ts +0 -39
package/README.md CHANGED
@@ -52,24 +52,27 @@ RNAppRegistry.registerRunnable(appName, ({ rootTag }) => {
52
52
  });
53
53
  ```
54
54
 
55
- The app is ordinary standalone Angular it just imports primitives from `@symbiote-native/angular`
56
- instead of `react-native`. A tap→increment counter:
55
+ The app is ordinary standalone Angular. The native primitives are lowercase intrinsic tags, same as
56
+ every other adapter — Angular still needs them declared in the component's `imports:` array (an
57
+ Angular "element directive" is what makes `ngtsc` accept the tag with typed props), so
58
+ `SYMBIOTE_ELEMENTS` from `@symbiote-native/angular` covers the whole primitive surface in one import.
59
+ A tap→increment counter:
57
60
 
58
61
  ```ts
59
62
  import { Component, signal } from '@angular/core';
60
- import { View, Text, Pressable } from '@symbiote-native/angular';
63
+ import { SYMBIOTE_ELEMENTS } from '@symbiote-native/angular';
61
64
 
62
65
  @Component({
63
66
  selector: 'app-root',
64
67
  standalone: true,
65
- imports: [View, Text, Pressable],
68
+ imports: [SYMBIOTE_ELEMENTS],
66
69
  template: `
67
- <View [style]="{ padding: 24 }">
68
- <Text>Taps: {{ count() }}</Text>
69
- <Pressable (press)="count.set(count() + 1)">
70
- <Text>Tap me</Text>
71
- </Pressable>
72
- </View>
70
+ <view [style]="{ padding: 24 }">
71
+ <text>Taps: {{ count() }}</text>
72
+ <pressable (press)="count.set(count() + 1)">
73
+ <text>Tap me</text>
74
+ </pressable>
75
+ </view>
73
76
  `,
74
77
  })
75
78
  export class AppComponent {
@@ -10,31 +10,53 @@
10
10
  // truth: core/components/src/component-names/index.ios.ts's ISymbioteIntrinsic union. Kept in
11
11
  // sync by the drift-protection test in babel-register-composed.test.ts.
12
12
  const PRIMITIVE_SELECTORS = new Set([
13
- 'symbiote-view',
13
+ 'view',
14
14
  // Same RCTView as a plain view; the tag exists so the host-behavior registry can key on it.
15
- 'symbiote-pressable',
16
- 'symbiote-text',
17
- 'symbiote-image',
18
- 'symbiote-scroll-view',
19
- 'symbiote-scroll-content',
20
- 'symbiote-horizontal-scroll-view',
21
- 'symbiote-horizontal-scroll-content',
22
- 'symbiote-text-input',
23
- 'symbiote-text-input-multiline',
15
+ 'pressable',
16
+ // RN's TouchableOpacity is ONE Animated.View, so this is the same RCTView again — the tag
17
+ // carries the press machine plus the engine-side opacity fade.
18
+ 'touchable-opacity',
19
+ // Same RCTView again, plus the underlay show/hide machine on the engine node.
20
+ 'touchable-highlight',
21
+ // The one primitive that resolves to NO Fabric view: RN's TouchableNativeFeedback clones onto
22
+ // its single child and renders nothing (TouchableNativeFeedback.js:339). It is still a PRIMITIVE
23
+ // here — what this Set decides is "not a composed Angular component", and an anchor-backed
24
+ // primitive is exactly that.
25
+ 'touchable-native-feedback',
26
+ // The second anchor-backed primitive, same shape (TouchableWithoutFeedback.js:286).
27
+ 'touchable-without-feedback',
28
+ 'button',
29
+ 'text',
30
+ 'image',
31
+ // The box RN wraps the background image in — the tag an app writes. The image itself is built by
32
+ // the behavior and never named in a template, so it needs no entry.
33
+ 'image-background',
34
+ 'scroll-view',
35
+ 'scroll-content',
36
+ 'horizontal-scroll-view',
37
+ 'horizontal-scroll-content',
38
+ 'text-input',
39
+ 'text-input-multiline',
24
40
  // The COMPONENT path's pair. Only a lowering transform may emit the plain tags above — those
25
41
  // carry the engine's TextInput machine, and this adapter's own component runs that state in
26
42
  // its template. See `core/components/src/component-names/shared.ts`.
27
- 'symbiote-text-input-managed',
28
- 'symbiote-text-input-multiline-managed',
29
- 'symbiote-switch',
43
+ 'text-input-managed',
44
+ 'text-input-multiline-managed',
45
+ 'switch',
30
46
  // The component path's spelling — same native view, a tag the engine's Switch behavior does
31
47
  // not carry. See `core/components/src/component-names/shared.ts`.
32
- 'symbiote-switch-managed',
33
- 'symbiote-activity-indicator',
34
- 'symbiote-safe-area-view',
35
- 'symbiote-modal',
36
- 'symbiote-refresh-control',
37
- 'symbiote-input-accessory-view',
48
+ 'switch-managed',
49
+ // The centering RCTView RN wraps the spinner in — the tag an app writes — plus the native
50
+ // spinner the ActivityIndicator behavior builds under it.
51
+ 'activity-indicator',
52
+ 'activity-indicator-spinner',
53
+ 'safe-area-view',
54
+ 'modal',
55
+ 'refresh-control',
56
+ // RN's JS sticky wrapper as a tag: the same RCTView again, carrying the pin the engine's
57
+ // ScrollView behavior drives.
58
+ 'sticky-header',
59
+ 'input-accessory-view',
38
60
  ]);
39
61
 
40
62
  // Inject from the package barrel — the ONE resolution route every consumer already uses, so the
@@ -37,7 +37,10 @@ function resolveWatchTsconfig(tsconfigName) {
37
37
  // broke `@types/node` resolution (TS2688) even though the extended real config was found fine.
38
38
  const buildDir = path.resolve(projectRoot, 'build');
39
39
  fs.mkdirSync(buildDir, { recursive: true });
40
- const watchConfigPath = path.join(buildDir, `symbiote-angular-dev-watch-${process.pid}.json`);
40
+ const watchConfigPath = path.join(
41
+ buildDir,
42
+ `symbiote-angular-dev-watch-${process.pid}.json`,
43
+ );
41
44
  fs.writeFileSync(
42
45
  watchConfigPath,
43
46
  JSON.stringify({
@@ -53,7 +56,10 @@ function resolveWatchTsconfig(tsconfigName) {
53
56
  // reliably blows past macOS's per-process fd limit (EMFILE) — doubly likely here since ngc
54
57
  // --watch adds a second watcher on top of Metro's own. Warn instead of letting everyone
55
58
  // individually debug a native stack trace down to this one missing binary.
56
- const watchmanCheck = spawnSync('watchman', ['--version'], { stdio: 'ignore', shell: true });
59
+ const watchmanCheck = spawnSync('watchman', ['--version'], {
60
+ stdio: 'ignore',
61
+ shell: true,
62
+ });
57
63
  if (watchmanCheck.status !== 0) {
58
64
  console.warn(
59
65
  '[symbiote-angular-dev] watchman not found on PATH. Metro will fall back to watching files ' +
@@ -62,7 +68,10 @@ if (watchmanCheck.status !== 0) {
62
68
  );
63
69
  }
64
70
 
65
- const initialBuild = spawnSync('ngc', ['-p', TSCONFIG], { stdio: 'inherit', shell: true });
71
+ const initialBuild = spawnSync('ngc', ['-p', TSCONFIG], {
72
+ stdio: 'inherit',
73
+ shell: true,
74
+ });
66
75
  if (initialBuild.status !== 0) {
67
76
  process.exit(initialBuild.status ?? 1);
68
77
  }
@@ -72,7 +81,10 @@ const ngcWatch = spawn('ngc', ['-p', watchTsconfigPath, '--watch'], {
72
81
  stdio: 'inherit',
73
82
  shell: true,
74
83
  });
75
- const metro = spawn('react-native', ['start', ...metroArgs], { stdio: 'inherit', shell: true });
84
+ const metro = spawn('react-native', ['start', ...metroArgs], {
85
+ stdio: 'inherit',
86
+ shell: true,
87
+ });
76
88
 
77
89
  function stopNgcWatch() {
78
90
  ngcWatch.kill();
@@ -32,7 +32,6 @@ const ANCHOR_HOST_COMPONENTS = new Set([
32
32
  // view instead (a real device-visible bug, not a silent no-op). This Set holds only
33
33
  // adapter/engine-owned selectors; app code and third-party packages self-register their own
34
34
  // composed components through registerComposedComponent instead of being hardcoded here.
35
- 'ActivityIndicator',
36
35
  'Button',
37
36
  'FlatList',
38
37
  'AnimatedView',
@@ -46,30 +45,15 @@ const ANCHOR_HOST_COMPONENTS = new Set([
46
45
  'symbiote-descriptor-outlet',
47
46
  'tunnel-out',
48
47
  'Image',
49
- 'ImageBackground',
50
- 'InputAccessoryView',
51
48
  'KeyboardAvoidingView',
52
49
  'Modal',
53
- 'Pressable',
54
- 'RefreshControl',
55
- 'SafeAreaView',
56
- 'ScrollView',
57
- 'ScrollViewStickyHeader',
58
50
  'SectionList',
59
- 'symbiote-sticky-header',
51
+ 'sticky-header',
60
52
  'StatusBar',
61
53
  'Switch',
62
54
  'Text',
63
- 'TextInput',
64
- 'TouchableHighlight',
65
- 'TouchableNativeFeedback',
66
- 'TouchableOpacity',
67
- 'TouchableWithoutFeedback',
68
55
  'VirtualizedList',
69
56
  'VirtualizedSectionList',
70
- // 'symbiote-pressable' deliberately NOT here — see Pressable's own @Component comment
71
- // (components/pressable/index.ts). It is the host-behavior registry's tag, never a spelling
72
- // of the composed component now, so it must resolve to a real, painting node.
73
57
  ].map(selector => selector.toLowerCase()));
74
58
  // A composed component's selector must be registered so createElement gives it a non-painting
75
59
  // anchor host (see the Set comment above). Tests register their own child-component selectors
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-host-registry.js","sourceRoot":"","sources":["../../src/anchor-host-registry.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,EAAE;AACF,sFAAsF;AACtF,8FAA8F;AAC9F,iGAAiG;AACjG,6FAA6F;AAC7F,gGAAgG;AAChG,8FAA8F;AAC9F,yCAAyC;AACzC,EAAE;AACF,kGAAkG;AAClG,4FAA4F;AAC5F,gGAAgG;AAChG,6FAA6F;AAC7F,iGAAiG;AACjG,6FAA6F;AAC7F,4FAA4F;AAC5F,wBAAwB;AAExB,kGAAkG;AAClG,8FAA8F;AAC9F,+FAA+F;AAC/F,kGAAkG;AAClG,kGAAkG;AAClG,yBAAyB;AACzB,MAAM,sBAAsB,GAAgB,IAAI,GAAG,CACjD;IACE,0FAA0F;IAC1F,2FAA2F;IAC3F,2FAA2F;IAC3F,uFAAuF;IACvF,4FAA4F;IAC5F,6FAA6F;IAC7F,oFAAoF;IACpF,4FAA4F;IAC5F,yFAAyF;IACzF,mBAAmB;IACnB,QAAQ;IACR,UAAU;IACV,cAAc;IACd,wBAAwB;IACxB,cAAc;IACd,wBAAwB;IACxB,eAAe;IACf,yBAAyB;IACzB,oBAAoB;IACpB,+BAA+B;IAC/B,4BAA4B;IAC5B,YAAY;IACZ,OAAO;IACP,iBAAiB;IACjB,oBAAoB;IACpB,sBAAsB;IACtB,OAAO;IACP,WAAW;IACX,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,wBAAwB;IACxB,aAAa;IACb,wBAAwB;IACxB,WAAW;IACX,QAAQ;IACR,MAAM;IACN,WAAW;IACX,oBAAoB;IACpB,yBAAyB;IACzB,kBAAkB;IAClB,0BAA0B;IAC1B,iBAAiB;IACjB,wBAAwB;IACxB,sFAAsF;IACtF,4FAA4F;IAC5F,8EAA8E;CAC/E,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAC1C,CAAC;AAEF,8FAA8F;AAC9F,8FAA8F;AAC9F,+FAA+F;AAC/F,sCAAsC;AACtC,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,yFAAyF;AACzF,yFAAyF;AACzF,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,OAAO,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"anchor-host-registry.js","sourceRoot":"","sources":["../../src/anchor-host-registry.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,EAAE;AACF,sFAAsF;AACtF,8FAA8F;AAC9F,iGAAiG;AACjG,6FAA6F;AAC7F,gGAAgG;AAChG,8FAA8F;AAC9F,yCAAyC;AACzC,EAAE;AACF,kGAAkG;AAClG,4FAA4F;AAC5F,gGAAgG;AAChG,6FAA6F;AAC7F,iGAAiG;AACjG,6FAA6F;AAC7F,4FAA4F;AAC5F,wBAAwB;AAExB,kGAAkG;AAClG,8FAA8F;AAC9F,+FAA+F;AAC/F,kGAAkG;AAClG,kGAAkG;AAClG,yBAAyB;AACzB,MAAM,sBAAsB,GAAgB,IAAI,GAAG,CACjD;IACE,0FAA0F;IAC1F,2FAA2F;IAC3F,2FAA2F;IAC3F,uFAAuF;IACvF,4FAA4F;IAC5F,6FAA6F;IAC7F,oFAAoF;IACpF,4FAA4F;IAC5F,yFAAyF;IACzF,QAAQ;IACR,UAAU;IACV,cAAc;IACd,wBAAwB;IACxB,cAAc;IACd,wBAAwB;IACxB,eAAe;IACf,yBAAyB;IACzB,oBAAoB;IACpB,+BAA+B;IAC/B,4BAA4B;IAC5B,YAAY;IACZ,OAAO;IACP,sBAAsB;IACtB,OAAO;IACP,aAAa;IACb,eAAe;IACf,WAAW;IACX,QAAQ;IACR,MAAM;IACN,iBAAiB;IACjB,wBAAwB;CACzB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAC1C,CAAC;AAEF,8FAA8F;AAC9F,8FAA8F;AAC9F,+FAA+F;AAC/F,sCAAsC;AACtC,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,yFAAyF;AACzF,yFAAyF;AACzF,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,OAAO,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9D,CAAC"}
@@ -0,0 +1,31 @@
1
+ interface IViewMarker {
2
+ markForCheck(): void;
3
+ }
4
+ type ICallbackWrapper = (key: string, value: unknown) => unknown;
5
+ /**
6
+ * Makes an app callback handed to the engine as a PROP re-enter Angular's update loop.
7
+ *
8
+ * An `(event)` binding is wrapped by Angular's own `wrapListenerIn_markDirtyAndPreventDefault` and
9
+ * notifies on its own. A `[onPressMove]="fn"` prop is an `@Input` forwarded to the node, and the
10
+ * ENGINE calls it on event dispatch — Angular is told NOTHING, so a plain field mutation inside it
11
+ * dirties no view and the template reading it stays stale until something unrelated ticks.
12
+ * Device-reported 2026-09-11: a pan readout stuck at `dx 0 · dy 0` for a whole gesture, its real
13
+ * numbers arriving on the next button press.
14
+ *
15
+ * `markForCheck()` is one of the two notification sources Angular sanctions for an event source
16
+ * outside the framework (the other is writing a signal the template reads, which an ADAPTER cannot
17
+ * choose on the app's behalf). It flags the INJECTING view and every ancestor with RefreshView —
18
+ * the reach `detectChanges()` does not have — and notifies the scheduler.
19
+ *
20
+ * `flushViewFor` is the second, narrower half: three behaviors read the app's answer back inside
21
+ * the SAME microtask turn, and `markForCheck` only SCHEDULES. It is a no-op on a node that
22
+ * registered no flush.
23
+ *
24
+ * ONE wrapper per original handler, for the caller's lifetime. A fresh closure per push would make
25
+ * the engine store a new listener every time and would defeat every downstream identity check.
26
+ */
27
+ export declare function createCallbackWrapper(view: IViewMarker, node: unknown): ICallbackWrapper;
28
+ export declare function registerViewFlush(node: object, flush: () => void): void;
29
+ export declare function unregisterViewFlush(node: object): void;
30
+ export declare function flushViewFor(node: unknown): void;
31
+ export {};
@@ -0,0 +1,110 @@
1
+ // A dependency-free LEAF so `renderer/index.ts` can ask a view to re-check itself without importing
2
+ // the element directives, which import the renderer (same reasoning as `renderer/value-change.ts`
3
+ // and `anchor-host-registry.ts`).
4
+ //
5
+ // WHY ANYTHING IS NEEDED. Zoneless change detection is scheduled on a
6
+ // requestAnimationFrame/setTimeout RACE (`ChangeDetectionSchedulerImpl`, upstream
7
+ // `zoneless_scheduling_impl.ts`), so an app's state update from a native event lands a whole
8
+ // MACROTASK later. A bound template listener DOES notify Angular — that is one of the documented
9
+ // notification sources — so nothing is missing; what is wrong is the TIMING. Three engine behaviors
10
+ // read the app's answer back within the same MICROTASK turn:
11
+ //
12
+ // behaviors/text-input.ts `afterCommit` re-commands the native text from `props.value`
13
+ // behaviors/switch.ts `queueMicrotask` snap-back reads `props.value`
14
+ // behaviors/refresh-control.ts `queueMicrotask` snap-back reads `props.refreshing`
15
+ //
16
+ // Every other adapter's state update lands inside that turn; zoneless Angular cannot, so all three
17
+ // read the PRE-event value and UNDO the user. Device-reported 2026-09-11: `[(value)]` on a
18
+ // `<text-input>` commanded the stale text back after one keystroke, a `[(value)]` `<switch>` snapped
19
+ // straight off again, and pull-to-refresh stopped itself.
20
+ //
21
+ // WHY `ChangeDetectorRef.detectChanges()` AND NOT `ApplicationRef.tick()`. Both re-evaluate the
22
+ // binding; only one of them is safe to call from a native event. `tick()` emits `afterTick`
23
+ // UNCONDITIONALLY — `dirtyFlags === 0` included — and the scheduler's `afterTick` subscriber runs
24
+ // `switchToMicrotaskScheduler`, which sets `useMicrotaskScheduler` for the rest of the turn. Every
25
+ // notification raised while that flag is set is counted by `trackMicrotaskNotificationForDebugging`
26
+ // against `CONSECUTIVE_MICROTASK_NOTIFICATION_LIMIT` (100), and the ONLY reset is a notification
27
+ // raised while it is clear. A commit can dispatch further events (`onLayout`), each of which
28
+ // notifies, so forcing a tick per native event turns that into NG0103, "Angular could not stabilize
29
+ // because there were endless change notifications" — device-reported the same day, on the first fix
30
+ // for the paragraph above. `ViewRef.detectChanges()` sets `RefreshView` and calls
31
+ // `detectChangesInternal` (upstream `render3/view_ref.ts`): no `afterTick`, no scheduler
32
+ // notification, so it cannot open that window at all. It is also the narrower answer — the only
33
+ // view that has to be re-checked is the one holding the binding.
34
+ //
35
+ // The flush is registered by the element DIRECTIVE, which is the only thing here that owns a
36
+ // `ChangeDetectorRef` for that view. A tag written under `CUSTOM_ELEMENTS_SCHEMA` with no directive
37
+ // matched therefore gets no flush and keeps the stale-read behaviour — the directive is the
38
+ // supported route (`[(value)]` is NG8007 without it), and this leaf has no way to reach a view it
39
+ // was never handed.
40
+ //
41
+ // When a fourth behavior starts reading an app value back, it needs a name in the renderer's
42
+ // `READ_BACK_*` sets — the census is `queueMicrotask` / `afterCommit` in
43
+ // `core/components/src/behaviors`.
44
+ const viewFlushes = new WeakMap();
45
+ const ON_PREFIX = /^on[A-Z]/;
46
+ // The one `onX` that fires per FRAME rather than per gesture — with sticky headers RN pins
47
+ // `scrollEventThrottle` to 1, i.e. 60 times a second. `markForCheck` walks to the ROOT, so wrapping
48
+ // it costs a full ancestor-screen template execution per frame: measured as the canary's ~37fps
49
+ // scroll (`components/virtualized-list/scroll-cost.test.ts`). Nothing loses its refresh — the list
50
+ // marks itself when its window moves, sticky rides the native driver, and a caller's own handler is
51
+ // typically an Animated.event touching no Angular state. Drag and momentum begin/end stay wrapped;
52
+ // once per gesture is not a hot path.
53
+ const PER_FRAME_CALLBACK = 'onScroll';
54
+ /**
55
+ * Makes an app callback handed to the engine as a PROP re-enter Angular's update loop.
56
+ *
57
+ * An `(event)` binding is wrapped by Angular's own `wrapListenerIn_markDirtyAndPreventDefault` and
58
+ * notifies on its own. A `[onPressMove]="fn"` prop is an `@Input` forwarded to the node, and the
59
+ * ENGINE calls it on event dispatch — Angular is told NOTHING, so a plain field mutation inside it
60
+ * dirties no view and the template reading it stays stale until something unrelated ticks.
61
+ * Device-reported 2026-09-11: a pan readout stuck at `dx 0 · dy 0` for a whole gesture, its real
62
+ * numbers arriving on the next button press.
63
+ *
64
+ * `markForCheck()` is one of the two notification sources Angular sanctions for an event source
65
+ * outside the framework (the other is writing a signal the template reads, which an ADAPTER cannot
66
+ * choose on the app's behalf). It flags the INJECTING view and every ancestor with RefreshView —
67
+ * the reach `detectChanges()` does not have — and notifies the scheduler.
68
+ *
69
+ * `flushViewFor` is the second, narrower half: three behaviors read the app's answer back inside
70
+ * the SAME microtask turn, and `markForCheck` only SCHEDULES. It is a no-op on a node that
71
+ * registered no flush.
72
+ *
73
+ * ONE wrapper per original handler, for the caller's lifetime. A fresh closure per push would make
74
+ * the engine store a new listener every time and would defeat every downstream identity check.
75
+ */
76
+ export function createCallbackWrapper(view, node) {
77
+ const wrappers = new WeakMap();
78
+ return (key, value) => {
79
+ if (!ON_PREFIX.test(key) || typeof value !== 'function')
80
+ return value;
81
+ if (key === PER_FRAME_CALLBACK)
82
+ return value;
83
+ const cached = wrappers.get(value);
84
+ if (cached !== undefined)
85
+ return cached;
86
+ // Reflect.apply rather than a cast-to-signature local: `typeof value === 'function'` narrows to
87
+ // `Function`, which carries no call signature, and this repo does not use `as` to paper over it.
88
+ // `undefined` as the receiver preserves the previous unbound call.
89
+ const wrapper = (...args) => {
90
+ const result = Reflect.apply(value, undefined, args);
91
+ view.markForCheck();
92
+ flushViewFor(node);
93
+ return result;
94
+ };
95
+ wrappers.set(value, wrapper);
96
+ return wrapper;
97
+ };
98
+ }
99
+ export function registerViewFlush(node, flush) {
100
+ viewFlushes.set(node, flush);
101
+ }
102
+ export function unregisterViewFlush(node) {
103
+ viewFlushes.delete(node);
104
+ }
105
+ export function flushViewFor(node) {
106
+ if (typeof node !== 'object' || node === null)
107
+ return;
108
+ viewFlushes.get(node)?.();
109
+ }
110
+ //# sourceMappingURL=change-detection-flush.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-detection-flush.js","sourceRoot":"","sources":["../../src/change-detection-flush.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,kGAAkG;AAClG,kCAAkC;AAClC,EAAE;AACF,sEAAsE;AACtE,kFAAkF;AAClF,6FAA6F;AAC7F,iGAAiG;AACjG,oGAAoG;AACpG,6DAA6D;AAC7D,EAAE;AACF,+FAA+F;AAC/F,iFAAiF;AACjF,sFAAsF;AACtF,EAAE;AACF,mGAAmG;AACnG,2FAA2F;AAC3F,qGAAqG;AACrG,0DAA0D;AAC1D,EAAE;AACF,gGAAgG;AAChG,4FAA4F;AAC5F,kGAAkG;AAClG,mGAAmG;AACnG,oGAAoG;AACpG,iGAAiG;AACjG,6FAA6F;AAC7F,oGAAoG;AACpG,oGAAoG;AACpG,kFAAkF;AAClF,yFAAyF;AACzF,gGAAgG;AAChG,iEAAiE;AACjE,EAAE;AACF,6FAA6F;AAC7F,oGAAoG;AACpG,4FAA4F;AAC5F,kGAAkG;AAClG,oBAAoB;AACpB,EAAE;AACF,6FAA6F;AAC7F,yEAAyE;AACzE,mCAAmC;AACnC,MAAM,WAAW,GAAG,IAAI,OAAO,EAAsB,CAAC;AAEtD,MAAM,SAAS,GAAG,UAAU,CAAC;AAE7B,2FAA2F;AAC3F,oGAAoG;AACpG,gGAAgG;AAChG,mGAAmG;AACnG,oGAAoG;AACpG,mGAAmG;AACnG,sCAAsC;AACtC,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAQtC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAiB,EACjB,IAAa;IAEb,MAAM,QAAQ,GAAG,IAAI,OAAO,EAA2C,CAAC;IACxE,OAAO,CAAC,GAAW,EAAE,KAAc,EAAW,EAAE;QAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QACtE,IAAI,GAAG,KAAK,kBAAkB;YAAE,OAAO,KAAK,CAAC;QAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,gGAAgG;QAChG,iGAAiG;QACjG,mEAAmE;QACnE,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe,EAAW,EAAE;YAC9C,MAAM,MAAM,GAAY,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,KAAiB;IAC/D,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO;IACtD,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { IActivityIndicatorProps as ICoreActivityIndicatorProps } from '@symbiote-native/components';
2
+ export type IActivityIndicatorProps = Omit<ICoreActivityIndicatorProps, 'onLayout' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=activity-indicator-props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-indicator-props.js","sourceRoot":"","sources":["../../../src/components/activity-indicator-props.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import type { IButtonProps as ICoreButtonProps } from '@symbiote-native/components';
2
+ export type IButtonProps = Omit<ICoreButtonProps, 'onPress' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=button-props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-props.js","sourceRoot":"","sources":["../../../src/components/button-props.ts"],"names":[],"mappings":""}
@@ -29,6 +29,7 @@ export declare class FlatList<ItemT = unknown> implements IFlatListInputs<ItemT>
29
29
  averageItemLength: number;
30
30
  }>;
31
31
  data: readonly ItemT[];
32
+ testID?: string;
32
33
  numColumns?: number;
33
34
  columnWrapperStyle?: IStyleProp<IViewStyle> | string;
34
35
  keyExtractor?: (item: ItemT, index: number) => string;
@@ -120,5 +121,5 @@ export declare class FlatList<ItemT = unknown> implements IFlatListInputs<ItemT>
120
121
  getScrollNode(): ISymbioteNode | null;
121
122
  recordInteraction(): void;
122
123
  static ɵfac: i0.ɵɵFactoryDeclaration<FlatList<any>, never>;
123
- static ɵcmp: i0.ɵɵComponentDeclaration<FlatList<any>, "FlatList", never, { "data": { "alias": "data"; "required": true; }; "numColumns": { "alias": "numColumns"; "required": false; }; "columnWrapperStyle": { "alias": "columnWrapperStyle"; "required": false; }; "keyExtractor": { "alias": "keyExtractor"; "required": false; }; "getItemLayout": { "alias": "getItemLayout"; "required": false; }; "horizontal": { "alias": "horizontal"; "required": false; }; "inverted": { "alias": "inverted"; "required": false; }; "extraData": { "alias": "extraData"; "required": false; }; "onEndReachedThreshold": { "alias": "onEndReachedThreshold"; "required": false; }; "onStartReachedThreshold": { "alias": "onStartReachedThreshold"; "required": false; }; "refreshing": { "alias": "refreshing"; "required": false; }; "progressViewOffset": { "alias": "progressViewOffset"; "required": false; }; "viewabilityConfig": { "alias": "viewabilityConfig"; "required": false; }; "viewabilityConfigCallbackPairs": { "alias": "viewabilityConfigCallbackPairs"; "required": false; }; "initialNumToRender": { "alias": "initialNumToRender"; "required": false; }; "initialScrollIndex": { "alias": "initialScrollIndex"; "required": false; }; "maxToRenderPerBatch": { "alias": "maxToRenderPerBatch"; "required": false; }; "updateCellsBatchingPeriod": { "alias": "updateCellsBatchingPeriod"; "required": false; }; "windowSize": { "alias": "windowSize"; "required": false; }; "stickyHeaderIndices": { "alias": "stickyHeaderIndices"; "required": false; }; "maintainVisibleContentPosition": { "alias": "maintainVisibleContentPosition"; "required": false; }; "onScroll": { "alias": "onScroll"; "required": false; }; "onScrollBeginDrag": { "alias": "onScrollBeginDrag"; "required": false; }; "onScrollEndDrag": { "alias": "onScrollEndDrag"; "required": false; }; "onMomentumScrollBegin": { "alias": "onMomentumScrollBegin"; "required": false; }; "onMomentumScrollEnd": { "alias": "onMomentumScrollEnd"; "required": false; }; "scrollEventThrottle": { "alias": "scrollEventThrottle"; "required": false; }; "keyboardShouldPersistTaps": { "alias": "keyboardShouldPersistTaps"; "required": false; }; "keyboardDismissMode": { "alias": "keyboardDismissMode"; "required": false; }; "style": { "alias": "style"; "required": false; }; "contentContainerStyle": { "alias": "contentContainerStyle"; "required": false; }; }, { "endReached": "endReached"; "startReached": "startReached"; "refresh": "refresh"; "viewableItemsChanged": "viewableItemsChanged"; "scrollToIndexFailed": "scrollToIndexFailed"; }, ["itemDir", "headerDir", "footerDir", "emptyDir", "separatorDir"], never, true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
124
+ static ɵcmp: i0.ɵɵComponentDeclaration<FlatList<any>, "FlatList", never, { "data": { "alias": "data"; "required": true; }; "testID": { "alias": "testID"; "required": false; }; "numColumns": { "alias": "numColumns"; "required": false; }; "columnWrapperStyle": { "alias": "columnWrapperStyle"; "required": false; }; "keyExtractor": { "alias": "keyExtractor"; "required": false; }; "getItemLayout": { "alias": "getItemLayout"; "required": false; }; "horizontal": { "alias": "horizontal"; "required": false; }; "inverted": { "alias": "inverted"; "required": false; }; "extraData": { "alias": "extraData"; "required": false; }; "onEndReachedThreshold": { "alias": "onEndReachedThreshold"; "required": false; }; "onStartReachedThreshold": { "alias": "onStartReachedThreshold"; "required": false; }; "refreshing": { "alias": "refreshing"; "required": false; }; "progressViewOffset": { "alias": "progressViewOffset"; "required": false; }; "viewabilityConfig": { "alias": "viewabilityConfig"; "required": false; }; "viewabilityConfigCallbackPairs": { "alias": "viewabilityConfigCallbackPairs"; "required": false; }; "initialNumToRender": { "alias": "initialNumToRender"; "required": false; }; "initialScrollIndex": { "alias": "initialScrollIndex"; "required": false; }; "maxToRenderPerBatch": { "alias": "maxToRenderPerBatch"; "required": false; }; "updateCellsBatchingPeriod": { "alias": "updateCellsBatchingPeriod"; "required": false; }; "windowSize": { "alias": "windowSize"; "required": false; }; "stickyHeaderIndices": { "alias": "stickyHeaderIndices"; "required": false; }; "maintainVisibleContentPosition": { "alias": "maintainVisibleContentPosition"; "required": false; }; "onScroll": { "alias": "onScroll"; "required": false; }; "onScrollBeginDrag": { "alias": "onScrollBeginDrag"; "required": false; }; "onScrollEndDrag": { "alias": "onScrollEndDrag"; "required": false; }; "onMomentumScrollBegin": { "alias": "onMomentumScrollBegin"; "required": false; }; "onMomentumScrollEnd": { "alias": "onMomentumScrollEnd"; "required": false; }; "scrollEventThrottle": { "alias": "scrollEventThrottle"; "required": false; }; "keyboardShouldPersistTaps": { "alias": "keyboardShouldPersistTaps"; "required": false; }; "keyboardDismissMode": { "alias": "keyboardDismissMode"; "required": false; }; "style": { "alias": "style"; "required": false; }; "contentContainerStyle": { "alias": "contentContainerStyle"; "required": false; }; }, { "endReached": "endReached"; "startReached": "startReached"; "refresh": "refresh"; "viewableItemsChanged": "viewableItemsChanged"; "scrollToIndexFailed": "scrollToIndexFailed"; }, ["itemDir", "headerDir", "footerDir", "emptyDir", "separatorDir"], never, true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
124
125
  }
@@ -77,6 +77,12 @@ export class FlatList {
77
77
  viewableItemsChanged = new EventEmitter();
78
78
  scrollToIndexFailed = new EventEmitter();
79
79
  data;
80
+ // RN's FlatList spreads its props onto the VirtualizedList it renders, so `testID` lands on the
81
+ // scroll view. Angular has no spread, and this one was simply missing: `<FlatList testID="x">`
82
+ // compiled (a static attribute on a component tag is never checked), reached the non-painting
83
+ // anchor host, and committed nowhere — so the list was untargetable by a test or an e2e selector
84
+ // while looking perfectly healthy on screen. VirtualizedList has always declared it.
85
+ testID;
80
86
  numColumns;
81
87
  columnWrapperStyle;
82
88
  keyExtractor;
@@ -265,7 +271,7 @@ export class FlatList {
265
271
  this.listRef?.recordInteraction();
266
272
  }
267
273
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: FlatList, deps: [], target: i0.ɵɵFactoryTarget.Component });
268
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: FlatList, isStandalone: true, selector: "FlatList", inputs: { data: "data", numColumns: "numColumns", columnWrapperStyle: "columnWrapperStyle", keyExtractor: "keyExtractor", getItemLayout: "getItemLayout", horizontal: "horizontal", inverted: "inverted", extraData: "extraData", onEndReachedThreshold: "onEndReachedThreshold", onStartReachedThreshold: "onStartReachedThreshold", refreshing: "refreshing", progressViewOffset: "progressViewOffset", viewabilityConfig: "viewabilityConfig", viewabilityConfigCallbackPairs: "viewabilityConfigCallbackPairs", initialNumToRender: "initialNumToRender", initialScrollIndex: "initialScrollIndex", maxToRenderPerBatch: "maxToRenderPerBatch", updateCellsBatchingPeriod: "updateCellsBatchingPeriod", windowSize: "windowSize", stickyHeaderIndices: "stickyHeaderIndices", maintainVisibleContentPosition: "maintainVisibleContentPosition", onScroll: "onScroll", onScrollBeginDrag: "onScrollBeginDrag", onScrollEndDrag: "onScrollEndDrag", onMomentumScrollBegin: "onMomentumScrollBegin", onMomentumScrollEnd: "onMomentumScrollEnd", scrollEventThrottle: "scrollEventThrottle", keyboardShouldPersistTaps: "keyboardShouldPersistTaps", keyboardDismissMode: "keyboardDismissMode", style: "style", contentContainerStyle: "contentContainerStyle" }, outputs: { endReached: "endReached", startReached: "startReached", refresh: "refresh", viewableItemsChanged: "viewableItemsChanged", scrollToIndexFailed: "scrollToIndexFailed" }, queries: [{ propertyName: "itemDir", first: true, predicate: VListItemDirective, descendants: true }, { propertyName: "headerDir", first: true, predicate: VListHeaderDirective, descendants: true }, { propertyName: "footerDir", first: true, predicate: VListFooterDirective, descendants: true }, { propertyName: "emptyDir", first: true, predicate: VListEmptyDirective, descendants: true }, { propertyName: "separatorDir", first: true, predicate: VListSeparatorDirective, descendants: true }], viewQueries: [{ propertyName: "listRef", first: true, predicate: VirtualizedList, descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
274
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: FlatList, isStandalone: true, selector: "FlatList", inputs: { data: "data", testID: "testID", numColumns: "numColumns", columnWrapperStyle: "columnWrapperStyle", keyExtractor: "keyExtractor", getItemLayout: "getItemLayout", horizontal: "horizontal", inverted: "inverted", extraData: "extraData", onEndReachedThreshold: "onEndReachedThreshold", onStartReachedThreshold: "onStartReachedThreshold", refreshing: "refreshing", progressViewOffset: "progressViewOffset", viewabilityConfig: "viewabilityConfig", viewabilityConfigCallbackPairs: "viewabilityConfigCallbackPairs", initialNumToRender: "initialNumToRender", initialScrollIndex: "initialScrollIndex", maxToRenderPerBatch: "maxToRenderPerBatch", updateCellsBatchingPeriod: "updateCellsBatchingPeriod", windowSize: "windowSize", stickyHeaderIndices: "stickyHeaderIndices", maintainVisibleContentPosition: "maintainVisibleContentPosition", onScroll: "onScroll", onScrollBeginDrag: "onScrollBeginDrag", onScrollEndDrag: "onScrollEndDrag", onMomentumScrollBegin: "onMomentumScrollBegin", onMomentumScrollEnd: "onMomentumScrollEnd", scrollEventThrottle: "scrollEventThrottle", keyboardShouldPersistTaps: "keyboardShouldPersistTaps", keyboardDismissMode: "keyboardDismissMode", style: "style", contentContainerStyle: "contentContainerStyle" }, outputs: { endReached: "endReached", startReached: "startReached", refresh: "refresh", viewableItemsChanged: "viewableItemsChanged", scrollToIndexFailed: "scrollToIndexFailed" }, queries: [{ propertyName: "itemDir", first: true, predicate: VListItemDirective, descendants: true }, { propertyName: "headerDir", first: true, predicate: VListHeaderDirective, descendants: true }, { propertyName: "footerDir", first: true, predicate: VListFooterDirective, descendants: true }, { propertyName: "emptyDir", first: true, predicate: VListEmptyDirective, descendants: true }, { propertyName: "separatorDir", first: true, predicate: VListSeparatorDirective, descendants: true }], viewQueries: [{ propertyName: "listRef", first: true, predicate: VirtualizedList, descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
269
275
  @if (isMultiColumn) {
270
276
  <VirtualizedList
271
277
  [data]="rows"
@@ -303,20 +309,21 @@ export class FlatList {
303
309
  [scrollEventThrottle]="scrollEventThrottle"
304
310
  [keyboardShouldPersistTaps]="keyboardShouldPersistTaps"
305
311
  [keyboardDismissMode]="keyboardDismissMode"
312
+ [testID]="testID"
306
313
  [style]="resolvedStyle"
307
314
  [contentContainerStyle]="contentContainerStyle"
308
315
  >
309
316
  <ng-template vListItem let-row let-separators="separators">
310
- <symbiote-view [style]="rowStyle">
317
+ <view [style]="rowStyle">
311
318
  @for (cell of rowCells(row, separators); track cell.key) {
312
- <symbiote-view [style]="columnCellStyle">
319
+ <view [style]="columnCellStyle">
313
320
  <ng-container
314
321
  [vListOutlet]="itemDir?.templateRef"
315
322
  [vListOutletContext]="cell.context"
316
323
  ></ng-container>
317
- </symbiote-view>
324
+ </view>
318
325
  }
319
- </symbiote-view>
326
+ </view>
320
327
  </ng-template>
321
328
  @if (headerDir !== undefined) {
322
329
  <ng-template vListHeader>
@@ -386,6 +393,7 @@ export class FlatList {
386
393
  [scrollEventThrottle]="scrollEventThrottle"
387
394
  [keyboardShouldPersistTaps]="keyboardShouldPersistTaps"
388
395
  [keyboardDismissMode]="keyboardDismissMode"
396
+ [testID]="testID"
389
397
  [style]="resolvedStyle"
390
398
  [contentContainerStyle]="contentContainerStyle"
391
399
  >
@@ -432,7 +440,7 @@ export class FlatList {
432
440
  }
433
441
  </VirtualizedList>
434
442
  }
435
- `, isInline: true, dependencies: [{ kind: "component", type: VirtualizedList, selector: "VirtualizedList", inputs: ["data", "getItem", "getItemCount", "keyExtractor", "getItemLayout", "horizontal", "inverted", "extraData", "onEndReachedThreshold", "onStartReachedThreshold", "refreshing", "progressViewOffset", "refreshRequested", "viewabilityConfig", "viewabilityConfigCallbackPairs", "initialNumToRender", "initialScrollIndex", "maxToRenderPerBatch", "updateCellsBatchingPeriod", "windowSize", "stickyHeaderIndices", "maintainVisibleContentPosition", "onScroll", "onScrollBeginDrag", "onScrollEndDrag", "onMomentumScrollBegin", "onMomentumScrollEnd", "scrollEventThrottle", "keyboardShouldPersistTaps", "keyboardDismissMode", "style", "contentContainerStyle", "testID", "nativeID", "accessible", "accessibilityLabel", "accessibilityHint", "accessibilityRole", "accessibilityState", "accessibilityValue", "accessibilityActions", "accessibilityLabelledBy", "importantForAccessibility", "accessibilityLiveRegion", "screenReaderFocusable", "accessibilityViewIsModal", "accessibilityElementsHidden", "accessibilityIgnoresInvertColors", "accessibilityLanguage", "accessibilityRespondsToUserInteraction", "accessibilityShowsLargeContentViewer", "accessibilityLargeContentTitle", "role", "ariaLabel", "ariaLabelledBy", "ariaLive", "ariaHidden", "ariaBusy", "ariaChecked", "ariaDisabled", "ariaExpanded", "ariaSelected", "ariaModal", "ariaValueMax", "ariaValueMin", "ariaValueNow", "ariaValueText"], outputs: ["endReached", "startReached", "refresh", "viewableItemsChanged", "scrollToIndexFailed", "accessibilityAction", "accessibilityTap", "magicTap", "accessibilityEscape"] }, { kind: "directive", type: VListItemDirective, selector: "[vListItem]" }, { kind: "directive", type: VListHeaderDirective, selector: "[vListHeader]" }, { kind: "directive", type: VListFooterDirective, selector: "[vListFooter]" }, { kind: "directive", type: VListEmptyDirective, selector: "[vListEmpty]" }, { kind: "directive", type: VListSeparatorDirective, selector: "[vListSeparator]" }, { kind: "directive", type: VListOutletDirective, selector: "[vListOutlet]", inputs: ["vListOutlet", "vListOutletContext"] }, { kind: "component", type: ViewHost, selector: "symbiote-view, View" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
443
+ `, isInline: true, dependencies: [{ kind: "component", type: VirtualizedList, selector: "VirtualizedList", inputs: ["data", "getItem", "getItemCount", "keyExtractor", "getItemLayout", "horizontal", "inverted", "extraData", "onEndReachedThreshold", "onStartReachedThreshold", "refreshing", "progressViewOffset", "refreshRequested", "viewabilityConfig", "viewabilityConfigCallbackPairs", "initialNumToRender", "initialScrollIndex", "maxToRenderPerBatch", "updateCellsBatchingPeriod", "windowSize", "stickyHeaderIndices", "maintainVisibleContentPosition", "onScroll", "onScrollBeginDrag", "onScrollEndDrag", "onMomentumScrollBegin", "onMomentumScrollEnd", "scrollEventThrottle", "keyboardShouldPersistTaps", "keyboardDismissMode", "style", "contentContainerStyle", "testID", "nativeID", "accessible", "accessibilityLabel", "accessibilityHint", "accessibilityRole", "accessibilityState", "accessibilityValue", "accessibilityActions", "accessibilityLabelledBy", "importantForAccessibility", "accessibilityLiveRegion", "screenReaderFocusable", "accessibilityViewIsModal", "accessibilityElementsHidden", "accessibilityIgnoresInvertColors", "accessibilityLanguage", "accessibilityRespondsToUserInteraction", "accessibilityShowsLargeContentViewer", "accessibilityLargeContentTitle", "role", "ariaLabel", "ariaLabelledBy", "ariaLive", "ariaHidden", "ariaBusy", "ariaChecked", "ariaDisabled", "ariaExpanded", "ariaSelected", "ariaModal", "ariaValueMax", "ariaValueMin", "ariaValueNow", "ariaValueText"], outputs: ["endReached", "startReached", "refresh", "viewableItemsChanged", "scrollToIndexFailed", "accessibilityAction", "accessibilityTap", "magicTap", "accessibilityEscape"] }, { kind: "directive", type: VListItemDirective, selector: "[vListItem]" }, { kind: "directive", type: VListHeaderDirective, selector: "[vListHeader]" }, { kind: "directive", type: VListFooterDirective, selector: "[vListFooter]" }, { kind: "directive", type: VListEmptyDirective, selector: "[vListEmpty]" }, { kind: "directive", type: VListSeparatorDirective, selector: "[vListSeparator]" }, { kind: "directive", type: VListOutletDirective, selector: "[vListOutlet]", inputs: ["vListOutlet", "vListOutletContext"] }, { kind: "component", type: ViewHost, selector: "view" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
436
444
  }
437
445
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: FlatList, decorators: [{
438
446
  type: Component,
@@ -492,20 +500,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
492
500
  [scrollEventThrottle]="scrollEventThrottle"
493
501
  [keyboardShouldPersistTaps]="keyboardShouldPersistTaps"
494
502
  [keyboardDismissMode]="keyboardDismissMode"
503
+ [testID]="testID"
495
504
  [style]="resolvedStyle"
496
505
  [contentContainerStyle]="contentContainerStyle"
497
506
  >
498
507
  <ng-template vListItem let-row let-separators="separators">
499
- <symbiote-view [style]="rowStyle">
508
+ <view [style]="rowStyle">
500
509
  @for (cell of rowCells(row, separators); track cell.key) {
501
- <symbiote-view [style]="columnCellStyle">
510
+ <view [style]="columnCellStyle">
502
511
  <ng-container
503
512
  [vListOutlet]="itemDir?.templateRef"
504
513
  [vListOutletContext]="cell.context"
505
514
  ></ng-container>
506
- </symbiote-view>
515
+ </view>
507
516
  }
508
- </symbiote-view>
517
+ </view>
509
518
  </ng-template>
510
519
  @if (headerDir !== undefined) {
511
520
  <ng-template vListHeader>
@@ -575,6 +584,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
575
584
  [scrollEventThrottle]="scrollEventThrottle"
576
585
  [keyboardShouldPersistTaps]="keyboardShouldPersistTaps"
577
586
  [keyboardDismissMode]="keyboardDismissMode"
587
+ [testID]="testID"
578
588
  [style]="resolvedStyle"
579
589
  [contentContainerStyle]="contentContainerStyle"
580
590
  >
@@ -636,6 +646,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
636
646
  }], data: [{
637
647
  type: Input,
638
648
  args: [{ required: true }]
649
+ }], testID: [{
650
+ type: Input
639
651
  }], numColumns: [{
640
652
  type: Input
641
653
  }], columnWrapperStyle: [{
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/flat-list/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/flat-list/index.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,+FAA+F;AAC/F,oGAAoG;AACpG,uFAAuF;AACvF,4FAA4F;AAC5F,4EAA4E;AAC5E,EAAE;AACF,oGAAoG;AACpG,oGAAoG;AACpG,sFAAsF;AACtF,gGAAgG;AAChG,0FAA0F;AAC1F,mDAAmD;AACnD,kGAAkG;AAClG,gGAAgG;AAChG,oGAAoG;AACpG,iFAAiF;AACjF,sFAAsF;AACtF,+FAA+F;AAC/F,+FAA+F;AAC/F,8FAA8F;AAC9F,+FAA+F;AAC/F,iGAAiG;AACjG,gGAAgG;AAChG,kGAAkG;AAClG,EAAE;AACF,uFAAuF;AACvF,gGAAgG;AAChG,+FAA+F;AAC/F,iGAAiG;AACjG,+FAA+F;AAC/F,iDAAiD;AAEjD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,KAAK,EACL,MAAM,EACN,SAAS,EACT,MAAM,GAIP,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,eAAe,GAOhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,gBAAgB,GAIjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,GAIxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,QAAQ,GACT,MAAM,kBAAkB,CAAC;;;AAE1B,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AACD,SAAS,KAAK,CAAQ,KAAc;IAClC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,QAAQ,CACxC,CAAC;AACJ,CAAC;AACD,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,UAAU;QACxC,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,UAAU,CAC3C,CAAC;AACJ,CAAC;AACD,iGAAiG;AACjG,4EAA4E;AAC5E,MAAM,eAAe,GAAgB;IACnC,SAAS,EAAE,GAAS,EAAE,CAAC,SAAS;IAChC,WAAW,EAAE,GAAS,EAAE,CAAC,SAAS;IAClC,WAAW,EAAE,GAAS,EAAE,CAAC,SAAS;CACnC,CAAC;AAEF,+FAA+F;AAC/F,gGAAgG;AAChG,mGAAmG;AACnG,6FAA6F;AAC7F,mGAAmG;AACnG,SAAS,MAAM,CAAQ,KAAc;IACnC,OAAO,KAA0B,CAAC;AACpC,CAAC;AAUD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAiO7B,MAAM,OAAO,QAAQ;IAGnB,6FAA6F;IAC7F,kGAAkG;IAClG,mFAAmF;IAChE,UAAU,GAAG,IAAI,YAAY,EAE5C,CAAC;IACc,YAAY,GAAG,IAAI,YAAY,EAE9C,CAAC;IACc,OAAO,GAAG,IAAI,YAAY,EAAQ,CAAC;IACnC,oBAAoB,GAAG,IAAI,YAAY,EAEvD,CAAC;IACe,mBAAmB,GAAG,IAAI,YAAY,EAIrD,CAAC;IACsB,IAAI,CAAoB;IACnD,gGAAgG;IAChG,+FAA+F;IAC/F,8FAA8F;IAC9F,iGAAiG;IACjG,qFAAqF;IAC5E,MAAM,CAAU;IAChB,UAAU,CAAU;IACpB,kBAAkB,CAAmC;IACrD,YAAY,CAA0C;IACtD,aAAa,CAGiC;IAC9C,UAAU,CAAW;IACrB,QAAQ,CAAW;IACnB,SAAS,CAAW;IACpB,qBAAqB,CAAU;IAC/B,uBAAuB,CAAU;IACjC,UAAU,CAAkB;IAC5B,kBAAkB,CAAU;IAErC,iBAAiB,CAAqD;IAEtE,8BAA8B,CAA2C;IAChE,kBAAkB,CAAU;IAC5B,kBAAkB,CAAU;IAC5B,mBAAmB,CAAU;IAC7B,yBAAyB,CAAU;IACnC,UAAU,CAAU;IACpB,mBAAmB,CAAY;IAC/B,8BAA8B,CAGrC;IACO,QAAQ,CAA4C;IAE7D,iBAAiB,CAAqD;IAC7D,eAAe,CAAmD;IAE3E,qBAAqB,CAAyD;IAE9E,mBAAmB,CAAuD;IACjE,mBAAmB,CAAU;IAC7B,yBAAyB,CAA4C;IACrE,mBAAmB,CAAsC;IACzD,KAAK,CAA0B;IAC/B,qBAAqB,CAA0B;IAExD,uFAAuF;IACvF,8FAA8F;IAC9F,iGAAiG;IAC/D,OAAO,CAA6B;IAClC,SAAS,CAAwB;IACjC,SAAS,CAAwB;IAClC,QAAQ,CAAuB;IAElE,YAAY,CAAkC;IAE9C,sFAAsF;IACtF,yEAAyE;IACrC,OAAO,CAAmB;IAE9D,6FAA6F;IAC7F,+FAA+F;IAC/F,4EAA4E;IAC3D,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEjD,oFAAoF;IACpF,IAAI,GAAkB,EAAE,CAAC;IACzB,uFAAuF;IACvF,0FAA0F;IAC1F,2FAA2F;IAC3F,0FAA0F;IAC1F,6FAA6F;IAC7F,QAAQ,GAAe,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAChE,mBAAmB,CAAiD;IAC3D,eAAe,GAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACnD,aAAa,GAA2B,SAAS,CAAC;IAElD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC;IAC1C,CAAC;IACD,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;IACtC,CAAC;IAED,+FAA+F;IAC/F,6FAA6F;IAC7F,gGAAgG;IAChG,8FAA8F;IAC9F,qEAAqE;IACrE,SAAS;QACP,IAAI,CAAC,aAAa,GAAG,iBAAiB,CACpC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,OAAO,CAAC,oBAAoB,CAAC,KAAK,SAAS,EAAE,CAAC;YAChD,sFAAsF;YACtF,yCAAyC;YACzC,MAAM,0BAA0B,GAC9B,OAAO,IAAI,CAAC,kBAAkB,KAAK,QAAQ;gBACzC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAC3C,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;gBAC3B,EAAE,aAAa,EAAE,KAAK,EAAE;gBACxB,0BAA0B;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YACzE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa;gBAC5B,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;gBACxC,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,CACF,yBAAyB,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,YAAY,CACnF,CAAC;QACJ,CAAC;QACD,IACE,OAAO,CAAC,gCAAgC,CAAC,KAAK,SAAS;YACvD,OAAO,CAAC,YAAY,CAAC,KAAK,SAAS,EACnC,CAAC;YACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,WAAW,GAAG,CAAC,KAAc,EAAE,KAAa,EAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzE,YAAY,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAE5D,0EAA0E;IAC1E,MAAM,GAAG,CAAC,KAAc,EAAE,KAAa,EAAe,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1E,WAAW,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC3D,MAAM,GAAG,CAAC,GAAgB,EAAE,MAAc,EAAU,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAE5E,uFAAuF;IACvF,yEAAyE;IACzE,uBAAuB,GAAG,CACxB,IAA4C,EACtC,EAAE;QACR,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC5B,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAC9C,CAAC;IACJ,CAAC,CAAC;IAEM,wBAAwB;QAE9B,OAAO,IAAI,CAAC,8BAA8B,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,sBAAsB,EAAE,CACtB,OAA+C,EACzC,EAAE;gBACR,IAAI,CAAC,sBAAsB,EAAE,CAC3B,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CACjD,CAAC;YACJ,CAAC;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAED,+FAA+F;IAC/F,iGAAiG;IACjG,kGAAkG;IAClG,2EAA2E;IAC3E,QAAQ,CACN,GAAY,EACZ,UAAmB;QAEnB,IAAI,CAAC,KAAK,CAAQ,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC;QACvE,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY;gBAC3B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;gBAChC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oGAAoG;IACpG,iGAAiG;IACjG,+DAA+D;IAC/D,mBAAmB,CACjB,WAAoB,EACpB,UAAmB,EACnB,WAAoB;QAEpB,MAAM,aAAa,GAAG,WAAW,KAAK,IAAI,CAAC;QAC3C,OAAO;YACL,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,KAAK,CAAQ,UAAU,CAAC;gBACnC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC;gBAC3B,CAAC,CAAC,SAAS;YACb,YAAY,EAAE,KAAK,CAAQ,WAAW,CAAC;gBACrC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC;gBAC7B,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED,2FAA2F;IAC3F,sEAAsE;IACtE,oBAAoB,CAClB,WAAoB,EACpB,WAAoB,EACpB,YAAqB;QAErB,MAAM,aAAa,GAAG,WAAW,KAAK,IAAI,CAAC;QAC3C,OAAO;YACL,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,MAAM,CAAQ,WAAW,CAAC;YACvC,YAAY,EAAE,MAAM,CAAQ,YAAY,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED,6FAA6F;IAE7F,cAAc,CAAC,MAA8C;QAC3D,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,aAAa,CAAC,MAKb;QACC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,YAAY,CAAC,MAIZ;QACC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,WAAW,CAAC,MAA+B;QACzC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,qBAAqB;QACnB,IAAI,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACxC,CAAC;IACD,kBAAkB;QAChB,OAAO,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,IAAI,CAAC;IACpD,CAAC;IACD,iBAAiB;QACf,OAAO,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,IAAI,CAAC;IACnD,CAAC;IACD,kBAAkB;QAChB,OAAO,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,IAAI,CAAC;IACpD,CAAC;IACD,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,IAAI,CAAC;IAC/C,CAAC;IACD,iBAAiB;QACf,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IACpC,CAAC;uGAvRU,QAAQ;2FAAR,QAAQ,k/CAyEL,kBAAkB,4EAClB,oBAAoB,4EACpB,oBAAoB,2EACpB,mBAAmB,+EACnB,uBAAuB,yFAK1B,eAAe,kKA7PhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyKT,4DAnLC,eAAe,ulDACf,kBAAkB,wDAClB,oBAAoB,0DACpB,oBAAoB,0DACpB,mBAAmB,yDACnB,uBAAuB,6DACvB,oBAAoB,yGACpB,QAAQ;;2FA8KC,QAAQ;kBA7LpB,SAAS;mBAAC;oBACT,QAAQ,EAAE,UAAU;oBACpB,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE;wBACd,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;qBAC9D;oBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE;wBACP,eAAe;wBACf,kBAAkB;wBAClB,oBAAoB;wBACpB,oBAAoB;wBACpB,mBAAmB;wBACnB,uBAAuB;wBACvB,oBAAoB;wBACpB,QAAQ;qBACT;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyKT;iBACF;;sBAOE,MAAM;;sBAGN,MAAM;;sBAGN,MAAM;;sBACN,MAAM;;sBAGN,MAAM;;sBAKN,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBAMxB,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBAIL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBAEL,KAAK;;sBAEL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBAIL,KAAK;;sBACL,KAAK;;sBAEL,KAAK;;sBACL,KAAK;;sBAEL,KAAK;;sBAEL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBAKL,YAAY;uBAAC,kBAAkB;;sBAC/B,YAAY;uBAAC,oBAAoB;;sBACjC,YAAY;uBAAC,oBAAoB;;sBACjC,YAAY;uBAAC,mBAAmB;;sBAChC,YAAY;uBAAC,uBAAuB;;sBAKpC,SAAS;uBAAC,eAAe"}
@@ -0,0 +1,6 @@
1
+ import type { IImageProps } from '@symbiote-native/components';
2
+ import type { IStyleProp, IViewStyle } from '@symbiote-native/engine';
3
+ export interface IAngularImageBackgroundProps extends Omit<IImageProps, 'style'> {
4
+ style?: IStyleProp<IViewStyle>;
5
+ imageStyle?: IStyleProp<IViewStyle> | string;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=image-background-props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-background-props.js","sourceRoot":"","sources":["../../../src/components/image-background-props.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '@angular/core';
2
- import { type IGatedAccessibilityEvent } from '../../gate-demand';
2
+ import { type IGatedAccessibilityEvent } from '../gate-demand';
3
3
  import { type IAccessibilityProps, type IAriaProps, type IImageProps, type IImageSourceProp } from '@symbiote-native/components';
4
4
  import { type ISymbioteEvent } from '@symbiote-native/engine';
5
5
  export { setImageSourceResolver } from '@symbiote-native/components';