@symbiote-native/angular 0.0.0-canary-20260724081123

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 (276) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +157 -0
  3. package/babel-linker.cjs +7 -0
  4. package/babel-register-composed.cjs +127 -0
  5. package/bin/symbiote-angular-dev.cjs +93 -0
  6. package/build/angular/anchor-host-registry.d.ts +2 -0
  7. package/build/angular/anchor-host-registry.js +84 -0
  8. package/build/angular/anchor-host-registry.js.map +1 -0
  9. package/build/angular/bootstrap.d.ts +7 -0
  10. package/build/angular/bootstrap.js +15 -0
  11. package/build/angular/bootstrap.js.map +1 -0
  12. package/build/angular/components/activity-indicator/index.android.d.ts +12 -0
  13. package/build/angular/components/activity-indicator/index.android.js +21 -0
  14. package/build/angular/components/activity-indicator/index.android.js.map +1 -0
  15. package/build/angular/components/activity-indicator/index.d.ts +1 -0
  16. package/build/angular/components/activity-indicator/index.ios.d.ts +8 -0
  17. package/build/angular/components/activity-indicator/index.ios.js +21 -0
  18. package/build/angular/components/activity-indicator/index.ios.js.map +1 -0
  19. package/build/angular/components/activity-indicator/index.js +4 -0
  20. package/build/angular/components/activity-indicator/index.js.map +1 -0
  21. package/build/angular/components/activity-indicator/shared.d.ts +67 -0
  22. package/build/angular/components/activity-indicator/shared.js +260 -0
  23. package/build/angular/components/activity-indicator/shared.js.map +1 -0
  24. package/build/angular/components/button.d.ts +63 -0
  25. package/build/angular/components/button.js +332 -0
  26. package/build/angular/components/button.js.map +1 -0
  27. package/build/angular/components/flat-list/index.d.ts +122 -0
  28. package/build/angular/components/flat-list/index.js +688 -0
  29. package/build/angular/components/flat-list/index.js.map +1 -0
  30. package/build/angular/components/image/index.android.d.ts +10 -0
  31. package/build/angular/components/image/index.android.js +59 -0
  32. package/build/angular/components/image/index.android.js.map +1 -0
  33. package/build/angular/components/image/index.d.ts +1 -0
  34. package/build/angular/components/image/index.ios.d.ts +10 -0
  35. package/build/angular/components/image/index.ios.js +59 -0
  36. package/build/angular/components/image/index.ios.js.map +1 -0
  37. package/build/angular/components/image/index.js +3 -0
  38. package/build/angular/components/image/index.js.map +1 -0
  39. package/build/angular/components/image/shared.d.ts +101 -0
  40. package/build/angular/components/image/shared.js +406 -0
  41. package/build/angular/components/image/shared.js.map +1 -0
  42. package/build/angular/components/image-background.d.ts +81 -0
  43. package/build/angular/components/image-background.js +418 -0
  44. package/build/angular/components/image-background.js.map +1 -0
  45. package/build/angular/components/input-accessory-view/index.d.ts +60 -0
  46. package/build/angular/components/input-accessory-view/index.js +251 -0
  47. package/build/angular/components/input-accessory-view/index.js.map +1 -0
  48. package/build/angular/components/keyboard-avoiding-view/index.d.ts +82 -0
  49. package/build/angular/components/keyboard-avoiding-view/index.js +358 -0
  50. package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -0
  51. package/build/angular/components/modal/index.d.ts +92 -0
  52. package/build/angular/components/modal/index.js +360 -0
  53. package/build/angular/components/modal/index.js.map +1 -0
  54. package/build/angular/components/pressable/index.d.ts +123 -0
  55. package/build/angular/components/pressable/index.js +420 -0
  56. package/build/angular/components/pressable/index.js.map +1 -0
  57. package/build/angular/components/refresh-control/index.d.ts +86 -0
  58. package/build/angular/components/refresh-control/index.js +342 -0
  59. package/build/angular/components/refresh-control/index.js.map +1 -0
  60. package/build/angular/components/safe-area-view/index.d.ts +57 -0
  61. package/build/angular/components/safe-area-view/index.js +248 -0
  62. package/build/angular/components/safe-area-view/index.js.map +1 -0
  63. package/build/angular/components/scroll-view/index.android.d.ts +21 -0
  64. package/build/angular/components/scroll-view/index.android.js +235 -0
  65. package/build/angular/components/scroll-view/index.android.js.map +1 -0
  66. package/build/angular/components/scroll-view/index.d.ts +3 -0
  67. package/build/angular/components/scroll-view/index.ios.d.ts +9 -0
  68. package/build/angular/components/scroll-view/index.ios.js +86 -0
  69. package/build/angular/components/scroll-view/index.ios.js.map +1 -0
  70. package/build/angular/components/scroll-view/index.js +6 -0
  71. package/build/angular/components/scroll-view/index.js.map +1 -0
  72. package/build/angular/components/scroll-view/projection.d.ts +32 -0
  73. package/build/angular/components/scroll-view/projection.js +334 -0
  74. package/build/angular/components/scroll-view/projection.js.map +1 -0
  75. package/build/angular/components/scroll-view/shared.d.ts +230 -0
  76. package/build/angular/components/scroll-view/shared.js +682 -0
  77. package/build/angular/components/scroll-view/shared.js.map +1 -0
  78. package/build/angular/components/scroll-view/sticky-header.d.ts +40 -0
  79. package/build/angular/components/scroll-view/sticky-header.js +225 -0
  80. package/build/angular/components/scroll-view/sticky-header.js.map +1 -0
  81. package/build/angular/components/section-list/index.d.ts +116 -0
  82. package/build/angular/components/section-list/index.js +641 -0
  83. package/build/angular/components/section-list/index.js.map +1 -0
  84. package/build/angular/components/switch/index.android.d.ts +20 -0
  85. package/build/angular/components/switch/index.android.js +70 -0
  86. package/build/angular/components/switch/index.android.js.map +1 -0
  87. package/build/angular/components/switch/index.d.ts +1 -0
  88. package/build/angular/components/switch/index.ios.d.ts +19 -0
  89. package/build/angular/components/switch/index.ios.js +69 -0
  90. package/build/angular/components/switch/index.ios.js.map +1 -0
  91. package/build/angular/components/switch/index.js +4 -0
  92. package/build/angular/components/switch/index.js.map +1 -0
  93. package/build/angular/components/switch/shared.d.ts +40 -0
  94. package/build/angular/components/switch/shared.js +127 -0
  95. package/build/angular/components/switch/shared.js.map +1 -0
  96. package/build/angular/components/text-input.d.ts +153 -0
  97. package/build/angular/components/text-input.js +599 -0
  98. package/build/angular/components/text-input.js.map +1 -0
  99. package/build/angular/components/touchable/index.d.ts +245 -0
  100. package/build/angular/components/touchable/index.js +1186 -0
  101. package/build/angular/components/touchable/index.js.map +1 -0
  102. package/build/angular/components/touchable-native-feedback/index.d.ts +83 -0
  103. package/build/angular/components/touchable-native-feedback/index.js +371 -0
  104. package/build/angular/components/touchable-native-feedback/index.js.map +1 -0
  105. package/build/angular/components/virtualized-list/directives.d.ts +54 -0
  106. package/build/angular/components/virtualized-list/directives.js +153 -0
  107. package/build/angular/components/virtualized-list/directives.js.map +1 -0
  108. package/build/angular/components/virtualized-list/index.d.ts +253 -0
  109. package/build/angular/components/virtualized-list/index.js +1031 -0
  110. package/build/angular/components/virtualized-list/index.js.map +1 -0
  111. package/build/angular/components/virtualized-section-list/directives.d.ts +37 -0
  112. package/build/angular/components/virtualized-section-list/directives.js +76 -0
  113. package/build/angular/components/virtualized-section-list/directives.js.map +1 -0
  114. package/build/angular/components/virtualized-section-list/index.d.ts +178 -0
  115. package/build/angular/components/virtualized-section-list/index.js +720 -0
  116. package/build/angular/components/virtualized-section-list/index.js.map +1 -0
  117. package/build/angular/components.d.ts +39 -0
  118. package/build/angular/components.js +38 -0
  119. package/build/angular/components.js.map +1 -0
  120. package/build/angular/create-portal/index.d.ts +22 -0
  121. package/build/angular/create-portal/index.js +74 -0
  122. package/build/angular/create-portal/index.js.map +1 -0
  123. package/build/angular/create-tunnel/index.d.ts +34 -0
  124. package/build/angular/create-tunnel/index.js +126 -0
  125. package/build/angular/create-tunnel/index.js.map +1 -0
  126. package/build/angular/descriptor-to-angular/index.d.ts +22 -0
  127. package/build/angular/descriptor-to-angular/index.js +142 -0
  128. package/build/angular/descriptor-to-angular/index.js.map +1 -0
  129. package/build/angular/host-instance/index.d.ts +2 -0
  130. package/build/angular/host-instance/index.js +37 -0
  131. package/build/angular/host-instance/index.js.map +1 -0
  132. package/build/angular/index.d.ts +22 -0
  133. package/build/angular/index.js +46 -0
  134. package/build/angular/index.js.map +1 -0
  135. package/build/angular/modules/animated/animated-leaf-binder/index.d.ts +14 -0
  136. package/build/angular/modules/animated/animated-leaf-binder/index.js +91 -0
  137. package/build/angular/modules/animated/animated-leaf-binder/index.js.map +1 -0
  138. package/build/angular/modules/animated/animated-leaf-binder.d.ts +14 -0
  139. package/build/angular/modules/animated/animated-leaf-binder.js +91 -0
  140. package/build/angular/modules/animated/animated-leaf-binder.js.map +1 -0
  141. package/build/angular/modules/animated/create-animated-component.d.ts +59 -0
  142. package/build/angular/modules/animated/create-animated-component.js +364 -0
  143. package/build/angular/modules/animated/create-animated-component.js.map +1 -0
  144. package/build/angular/modules/animated/index.d.ts +51 -0
  145. package/build/angular/modules/animated/index.js +59 -0
  146. package/build/angular/modules/animated/index.js.map +1 -0
  147. package/build/angular/modules/app-registry/index.d.ts +7 -0
  148. package/build/angular/modules/app-registry/index.js +23 -0
  149. package/build/angular/modules/app-registry/index.js.map +1 -0
  150. package/build/angular/modules/status-bar/index.d.ts +20 -0
  151. package/build/angular/modules/status-bar/index.js +59 -0
  152. package/build/angular/modules/status-bar/index.js.map +1 -0
  153. package/build/angular/primitives/index.d.ts +63 -0
  154. package/build/angular/primitives/index.js +189 -0
  155. package/build/angular/primitives/index.js.map +1 -0
  156. package/build/angular/primitives/shared.d.ts +88 -0
  157. package/build/angular/primitives/shared.js +171 -0
  158. package/build/angular/primitives/shared.js.map +1 -0
  159. package/build/angular/render/index.d.ts +11 -0
  160. package/build/angular/render/index.js +171 -0
  161. package/build/angular/render/index.js.map +1 -0
  162. package/build/angular/renderer/index.d.ts +37 -0
  163. package/build/angular/renderer/index.js +301 -0
  164. package/build/angular/renderer/index.js.map +1 -0
  165. package/build/angular/services/color-scheme.service.d.ts +16 -0
  166. package/build/angular/services/color-scheme.service.js +31 -0
  167. package/build/angular/services/color-scheme.service.js.map +1 -0
  168. package/build/angular/services/index.d.ts +2 -0
  169. package/build/angular/services/index.js +3 -0
  170. package/build/angular/services/index.js.map +1 -0
  171. package/build/angular/services/window-dimensions.service.d.ts +16 -0
  172. package/build/angular/services/window-dimensions.service.js +42 -0
  173. package/build/angular/services/window-dimensions.service.js.map +1 -0
  174. package/metro-config.cjs +48 -0
  175. package/metro-css-parser.cjs +13 -0
  176. package/package.json +80 -0
  177. package/src/__tests__/responder-change-detection.test.ts +102 -0
  178. package/src/__tests__/responder-nested-cd.test.ts +113 -0
  179. package/src/anchor-host-registry.ts +88 -0
  180. package/src/angular-gaps.test.ts +142 -0
  181. package/src/angular-imports.test.ts +100 -0
  182. package/src/bootstrap.ts +26 -0
  183. package/src/components/activity-indicator/activity-indicator-class-style.test.ts +44 -0
  184. package/src/components/activity-indicator/activity-indicator.test.ts +131 -0
  185. package/src/components/activity-indicator/index.android.ts +16 -0
  186. package/src/components/activity-indicator/index.ios.ts +17 -0
  187. package/src/components/activity-indicator/index.ts +4 -0
  188. package/src/components/activity-indicator/shared.ts +206 -0
  189. package/src/components/button.ts +193 -0
  190. package/src/components/flat-list/column-wrapper-style-class.test.ts +116 -0
  191. package/src/components/flat-list/flat-list-array-style.test.ts +131 -0
  192. package/src/components/flat-list/flat-list-class-style.test.ts +74 -0
  193. package/src/components/flat-list/flat-list-scroll-containment.test.ts +107 -0
  194. package/src/components/flat-list/flat-list.test.ts +99 -0
  195. package/src/components/flat-list/index.ts +574 -0
  196. package/src/components/image/image-class-style.test.ts +46 -0
  197. package/src/components/image/index.android.ts +48 -0
  198. package/src/components/image/index.ios.ts +48 -0
  199. package/src/components/image/index.ts +3 -0
  200. package/src/components/image/shared.ts +479 -0
  201. package/src/components/image-background-class-style.test.ts +48 -0
  202. package/src/components/image-background-style-class.test.ts +79 -0
  203. package/src/components/image-background.ts +270 -0
  204. package/src/components/input-accessory-view/index.ts +185 -0
  205. package/src/components/input-accessory-view/input-accessory-view.test.ts +43 -0
  206. package/src/components/keyboard-avoiding-view/index.ts +303 -0
  207. package/src/components/keyboard-avoiding-view/keyboard-avoiding-view.test.ts +54 -0
  208. package/src/components/modal/index.ts +299 -0
  209. package/src/components/modal/modal.test.ts +43 -0
  210. package/src/components/pressable/index.ts +373 -0
  211. package/src/components/pressable/pressable.test.ts +85 -0
  212. package/src/components/refresh-control/index.ts +284 -0
  213. package/src/components/refresh-control/refresh-control.test.ts +41 -0
  214. package/src/components/safe-area-view/index.ts +177 -0
  215. package/src/components/safe-area-view/safe-area-view.test.ts +43 -0
  216. package/src/components/scroll-view/android-scroll-view-axis-projection.test.ts +123 -0
  217. package/src/components/scroll-view/content-container-style-class.test.ts +75 -0
  218. package/src/components/scroll-view/index.android.ts +190 -0
  219. package/src/components/scroll-view/index.ios.ts +79 -0
  220. package/src/components/scroll-view/index.ts +7 -0
  221. package/src/components/scroll-view/projection.ts +414 -0
  222. package/src/components/scroll-view/scroll-view-class-style.test.ts +134 -0
  223. package/src/components/scroll-view/scroll-view-projection.test.ts +194 -0
  224. package/src/components/scroll-view/shared.ts +844 -0
  225. package/src/components/scroll-view/sticky-header.ts +255 -0
  226. package/src/components/section-list/index.ts +445 -0
  227. package/src/components/switch/android-switch-class.test.ts +42 -0
  228. package/src/components/switch/index.android.ts +61 -0
  229. package/src/components/switch/index.ios.ts +60 -0
  230. package/src/components/switch/index.ts +4 -0
  231. package/src/components/switch/shared.ts +197 -0
  232. package/src/components/switch/switch.test.ts +92 -0
  233. package/src/components/text-input-class-style.test.ts +54 -0
  234. package/src/components/text-input.ts +531 -0
  235. package/src/components/touchable/index.ts +629 -0
  236. package/src/components/touchable/touchable.test.ts +102 -0
  237. package/src/components/touchable-native-feedback/index.ts +254 -0
  238. package/src/components/touchable-native-feedback/touchable-native-feedback.test.ts +49 -0
  239. package/src/components/virtualized-list/directives.ts +168 -0
  240. package/src/components/virtualized-list/index.ts +992 -0
  241. package/src/components/virtualized-list/virtualized-list-class-style.test.ts +76 -0
  242. package/src/components/virtualized-section-list/directives.ts +90 -0
  243. package/src/components/virtualized-section-list/index.ts +601 -0
  244. package/src/components/virtualized-section-list/virtualized-section-list-class-style.test.ts +60 -0
  245. package/src/components.ts +149 -0
  246. package/src/create-portal/create-portal.test.ts +90 -0
  247. package/src/create-portal/index.ts +74 -0
  248. package/src/create-tunnel/create-tunnel.test.ts +120 -0
  249. package/src/create-tunnel/index.ts +136 -0
  250. package/src/descriptor-to-angular/descriptor-outlet.test.ts +94 -0
  251. package/src/descriptor-to-angular/index.ts +190 -0
  252. package/src/host-instance/host-instance.test.ts +49 -0
  253. package/src/host-instance/index.ts +36 -0
  254. package/src/index.ts +261 -0
  255. package/src/modules/animated/animated-leaf-binder/animated-leaf-binder.test.ts +116 -0
  256. package/src/modules/animated/animated-leaf-binder/index.ts +101 -0
  257. package/src/modules/animated/animated-leaf-binder.test.ts +116 -0
  258. package/src/modules/animated/animated-leaf-binder.ts +101 -0
  259. package/src/modules/animated/animated-scroll-view.test.ts +102 -0
  260. package/src/modules/animated/create-animated-component.ts +365 -0
  261. package/src/modules/animated/index.ts +105 -0
  262. package/src/modules/app-registry/app-registry.test.ts +106 -0
  263. package/src/modules/app-registry/index.ts +60 -0
  264. package/src/modules/status-bar/index.ts +57 -0
  265. package/src/modules/status-bar/status-bar.test.ts +50 -0
  266. package/src/primitives/index.ts +119 -0
  267. package/src/primitives/shared.ts +190 -0
  268. package/src/render/index.ts +235 -0
  269. package/src/render/render.test.ts +147 -0
  270. package/src/renderer/index.ts +347 -0
  271. package/src/renderer/renderer.test.ts +203 -0
  272. package/src/services/color-scheme.service.ts +27 -0
  273. package/src/services/index.ts +2 -0
  274. package/src/services/services.test.ts +163 -0
  275. package/src/services/window-dimensions.service.ts +41 -0
  276. package/tsconfig.angular.base.json +30 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/components/scroll-view/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { EventEmitter, type OnChanges, type OnDestroy, type OnInit } from '@angular/core';
2
+ import { AnimatedValue, type ISymbioteEvent } from '@symbiote-native/engine';
3
+ import { type IStickyHeaderProps } from '@symbiote-native/components';
4
+ import * as i0 from "@angular/core";
5
+ export type IStickyHeaderComponentType = unknown;
6
+ export declare class ScrollViewStickyHeader implements Omit<IStickyHeaderProps, 'onLayout'>, OnInit, OnChanges, OnDestroy {
7
+ scrollAnimatedValue: AnimatedValue;
8
+ nextHeaderLayoutY: number | undefined;
9
+ inverted: boolean | undefined;
10
+ scrollViewHeight: number | undefined;
11
+ readonly layout: EventEmitter<ISymbioteEvent>;
12
+ private readonly state;
13
+ private animatedTranslateY;
14
+ private interpolation;
15
+ private debounceTimer;
16
+ private listenerId;
17
+ private readonly changeDetector;
18
+ private readonly elementRef;
19
+ ngOnInit(): void;
20
+ ngOnChanges(): void;
21
+ ngOnDestroy(): void;
22
+ get headerStyle(): unknown;
23
+ private readonly onHostLayout;
24
+ readonly headerAnimatedProps: Record<string, unknown>;
25
+ get passthrough(): {
26
+ style: {
27
+ transform: Array<{
28
+ translateY: number;
29
+ }>;
30
+ };
31
+ } | null;
32
+ private inputs;
33
+ private dispatch;
34
+ private runEffects;
35
+ private handleLayout;
36
+ private readonly animatedValueListener;
37
+ private teardown;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScrollViewStickyHeader, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<ScrollViewStickyHeader, "ScrollViewStickyHeader, symbiote-sticky-header", never, { "scrollAnimatedValue": { "alias": "scrollAnimatedValue"; "required": false; }; "nextHeaderLayoutY": { "alias": "nextHeaderLayoutY"; "required": false; }; "inverted": { "alias": "inverted"; "required": false; }; "scrollViewHeight": { "alias": "scrollViewHeight"; "required": false; }; }, { "layout": "layout"; }, never, ["*"], true, never>;
40
+ }
@@ -0,0 +1,225 @@
1
+ // Sticky headers: the Angular twin of adapters/{react,vue}/src/components/scroll-view/
2
+ // sticky-header.{tsx,ts}, the JS layer RN implements in ScrollView.js / ScrollViewStickyHeader.js.
3
+ //
4
+ // Source-based: RN does stickiness PURELY IN JS. A single `_scrollAnimatedValue` an Animated.event
5
+ // drives from `onScroll` feeds each flagged header's translateY through an interpolation that pins
6
+ // it to the top (or bottom, inverted) until the next header collides with it. The native Fabric
7
+ // scroll view does NOT honor `stickyHeaderIndices` on its own. The load-bearing top/inverted
8
+ // interpolation math (computeStickyInterpolation) lives framework-agnostic in @symbiote-native/components
9
+ // this file holds the Angular component shell, the layout state, and the interpolation
10
+ // build, sharing the math verbatim with React/Vue. Angular supplies only the lifecycle (inputs +
11
+ // manual change detection instead of useState/useEffect or refs/watch).
12
+ //
13
+ // This is the public sticky-header WRAPPER for explicit composition. ScrollView also auto-wraps
14
+ // projected direct children named by stickyHeaderIndices through its projection bridge (see
15
+ // projection.ts), because Angular templates cannot map <ng-content> children directly; that auto
16
+ // path intentionally uses this built-in wrapper rather than dynamically instantiating arbitrary
17
+ // custom component classes.
18
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, inject, } from '@angular/core';
19
+ import { AnimatedValue, Platform, dlog, } from '@symbiote-native/engine';
20
+ import { createInitialStickyState, readLayoutNumber, reduceSticky, STICKY_HEADER_Z_INDEX, } from '@symbiote-native/components';
21
+ import { AnimatedView } from '../../modules/animated';
22
+ import { anchorHostStyle } from '../../primitives';
23
+ import * as i0 from "@angular/core";
24
+ // One sticky header. Measures its own y/height via onLayout, interpolates the shared scroll offset
25
+ // into a translateY that keeps it pinned to the top (or bottom, inverted) until the next header
26
+ // collides with it, and drives that translate through the native driver when available so the pin
27
+ // tracks scroll on the UI thread (no JS jitter). Ported from ScrollViewStickyHeader.js, including
28
+ // the Fabric ShadowTree debounce path. The inputs (scrollAnimatedValue/nextHeaderLayoutY/…) never
29
+ // reach the host node: they configure the interpolation; only the resolved transform reaches
30
+ // AnimatedView (a scrollAnimatedValue on a host node would crash Android's folly::dynamic).
31
+ export class ScrollViewStickyHeader {
32
+ // A fresh fallback AnimatedValue keeps the component working if the parent ever fails to supply
33
+ // one (the wrap invariant); held by IDENTITY in a plain field (Angular does not proxy fields).
34
+ scrollAnimatedValue = new AnimatedValue(0);
35
+ nextHeaderLayoutY = undefined;
36
+ inverted = undefined;
37
+ scrollViewHeight = undefined;
38
+ // The parent's layout recorder (RN _onStickyHeaderLayout): records this header's own y so the
39
+ // previous header learns its collision point. Called after the header measures.
40
+ layout = new EventEmitter();
41
+ // The one folded state cell, mutated in place by reduceSticky. The DECISIONS — zero-swallow gate,
42
+ // debounce delay, rebuild ranges — all live there; this component supplies only the Angular
43
+ // lifecycle (inputs + manual change detection), the interpolation-node + listener wiring, the
44
+ // debounce setTimeout, and the markForCheck re-render.
45
+ state = createInitialStickyState();
46
+ // The animated node driving the transform (RN's animatedTranslateY), replaced by the
47
+ // rebuild-interpolation effect. When the scroll value is native, this interpolation runs on the UI
48
+ // thread: the smooth pin.
49
+ animatedTranslateY = new AnimatedValue(0).interpolate({
50
+ inputRange: [-1, 0],
51
+ outputRange: [0, 0],
52
+ });
53
+ // The current interpolation node + its listener id, held so the next rebuild detaches the old
54
+ // listener (an engine call the reducer does not own) and ngOnDestroy cleans up.
55
+ interpolation;
56
+ debounceTimer;
57
+ listenerId;
58
+ changeDetector = inject(ChangeDetectorRef);
59
+ // This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
60
+ // onto (see anchorHostStyle's doc comment in primitives/shared.ts) — NOT the inner AnimatedView
61
+ // one level down.
62
+ elementRef = inject(ElementRef);
63
+ ngOnInit() {
64
+ this.dispatch({ kind: 'inputs-changed' });
65
+ }
66
+ // Rebuild on any layout/collision input change (RN's effect deps: measured, layoutY, layoutHeight,
67
+ // scrollViewHeight, nextHeaderLayoutY, inverted). scrollAnimatedValue is stable for one ScrollView.
68
+ ngOnChanges() {
69
+ this.dispatch({ kind: 'inputs-changed' });
70
+ }
71
+ ngOnDestroy() {
72
+ this.teardown();
73
+ }
74
+ get headerStyle() {
75
+ // collapsable:false keeps the wrapper a real Yoga node; zIndex paints the pinned header OVER the
76
+ // rows scrolling under it. The interpolation node rides inside the transform; AnimatedView's
77
+ // reduceProps rasterizes it into a numeric translateY for the committed tree. This component is
78
+ // its own ANCHOR_HOST_COMPONENTS entry, so a `class="..."` at its use site resolves onto
79
+ // `elementRef`, not the inner AnimatedView — merge it back in (anchorHostStyle's doc comment),
80
+ // anchor style first so the fixed transform/zIndex below still wins on conflict.
81
+ return [
82
+ anchorHostStyle(this.elementRef),
83
+ { transform: [{ translateY: this.animatedTranslateY }], zIndex: STICKY_HEADER_Z_INDEX },
84
+ ];
85
+ }
86
+ // Stable reference (bound once) so AnimatedView's directive does not re-wire the layout listener
87
+ // every change-detection pass.
88
+ onHostLayout = (event) => this.handleLayout(event);
89
+ // Also a stable reference, not a getter: jsonEqual (commit.ts) can't structurally compare the
90
+ // embedded onLayout function, so a fresh object here would read as "props changed" on every
91
+ // change-detection pass and force a real Fabric re-clone that cascades up every ancestor to the
92
+ // root (see AnimatedComponentBase.reconcile()'s identical warning) — every unrelated press
93
+ // anywhere in the app, not just this header's own layout events. Not `private`: the template
94
+ // binds it directly (`strictTemplates` requires template-bound members stay accessible).
95
+ headerAnimatedProps = {
96
+ onLayout: this.onHostLayout,
97
+ collapsable: false,
98
+ };
99
+ // The EXPLICIT debounced translateY overrides the committed transform for hit-testing while
100
+ // animatedTranslateY does the smooth (native-driven) pin (RN ScrollViewStickyHeader.js).
101
+ get passthrough() {
102
+ return this.state.translateY !== null
103
+ ? { style: { transform: [{ translateY: this.state.translateY }] } }
104
+ : null;
105
+ }
106
+ inputs() {
107
+ return {
108
+ os: Platform.OS,
109
+ inverted: this.inverted,
110
+ scrollViewHeight: this.scrollViewHeight,
111
+ nextHeaderLayoutY: this.nextHeaderLayoutY,
112
+ };
113
+ }
114
+ dispatch(action) {
115
+ this.runEffects(reduceSticky(this.state, action, this.inputs()).effects);
116
+ }
117
+ runEffects(effects) {
118
+ for (const effect of effects) {
119
+ switch (effect.kind) {
120
+ case 'rebuild-interpolation': {
121
+ // Detach the old listener, build a fresh interpolation onto the shared scroll value, and
122
+ // wire the settled-value listener (symbiote is always Fabric; RN attaches it only there).
123
+ if (this.interpolation !== undefined && this.listenerId !== undefined) {
124
+ this.interpolation.removeListener(this.listenerId);
125
+ this.listenerId = undefined;
126
+ }
127
+ const next = this.scrollAnimatedValue.interpolate({
128
+ inputRange: effect.inputRange,
129
+ outputRange: effect.outputRange,
130
+ });
131
+ this.listenerId = next.addListener(this.animatedValueListener);
132
+ this.interpolation = next;
133
+ this.animatedTranslateY = next;
134
+ dlog(`Angular ScrollViewStickyHeader interpolation measured=${this.state.measured} y=${this.state.layoutY}`);
135
+ break;
136
+ }
137
+ case 'schedule-debounce':
138
+ // The animated value updates several times per frame; debounce the settled value into the
139
+ // committed transform so hit detection stays current (a Fabric issue, worse on Android).
140
+ if (this.debounceTimer !== undefined)
141
+ clearTimeout(this.debounceTimer);
142
+ this.debounceTimer = setTimeout(() => {
143
+ this.debounceTimer = undefined;
144
+ this.dispatch({ kind: 'debounce-fired', value: effect.value });
145
+ }, effect.delay);
146
+ break;
147
+ case 'apply-passthrough':
148
+ this.changeDetector.markForCheck();
149
+ break;
150
+ case 'record-header-y':
151
+ // The Angular header records through the `layout` EventEmitter (handleLayout below), the
152
+ // public recorder contract; the reducer emits no index for it.
153
+ break;
154
+ }
155
+ }
156
+ }
157
+ // Record own y/height, mark measured, rebuild the interpolation (all via the reducer), then fire
158
+ // the parent's recorder (RN ScrollViewStickyHeader.js._onLayout order). The wrapped child keeps its
159
+ // own onLayout binding (projected with its bindings intact), so unlike React/Vue we do not forward.
160
+ handleLayout(event) {
161
+ const y = readLayoutNumber(event, 'y');
162
+ const height = readLayoutNumber(event, 'height');
163
+ // Keep the previous value when a field is absent (RN sets state only on a defined read).
164
+ this.dispatch({
165
+ kind: 'layout',
166
+ y: y ?? this.state.layoutY,
167
+ height: height ?? this.state.layoutHeight,
168
+ });
169
+ this.layout.emit(event);
170
+ this.changeDetector.markForCheck();
171
+ }
172
+ animatedValueListener = ({ value }) => {
173
+ if (typeof value === 'number')
174
+ this.dispatch({ kind: 'animated-tick', value });
175
+ };
176
+ teardown() {
177
+ if (this.interpolation !== undefined && this.listenerId !== undefined) {
178
+ this.interpolation.removeListener(this.listenerId);
179
+ this.listenerId = undefined;
180
+ }
181
+ if (this.debounceTimer !== undefined) {
182
+ clearTimeout(this.debounceTimer);
183
+ this.debounceTimer = undefined;
184
+ }
185
+ }
186
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollViewStickyHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
187
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ScrollViewStickyHeader, isStandalone: true, selector: "ScrollViewStickyHeader, symbiote-sticky-header", inputs: { scrollAnimatedValue: "scrollAnimatedValue", nextHeaderLayoutY: "nextHeaderLayoutY", inverted: "inverted", scrollViewHeight: "scrollViewHeight" }, outputs: { layout: "layout" }, usesOnChanges: true, ngImport: i0, template: `
188
+ <AnimatedView
189
+ [style]="headerStyle"
190
+ [animatedProps]="headerAnimatedProps"
191
+ [passthroughAnimatedPropExplicitValues]="passthrough"
192
+ >
193
+ <ng-content></ng-content>
194
+ </AnimatedView>
195
+ `, isInline: true, dependencies: [{ kind: "component", type: AnimatedView, selector: "AnimatedView, symbiote-animated-view", inputs: ["style", "animatedProps", "passthroughAnimatedPropExplicitValues"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
196
+ }
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollViewStickyHeader, decorators: [{
198
+ type: Component,
199
+ args: [{
200
+ selector: 'ScrollViewStickyHeader, symbiote-sticky-header',
201
+ standalone: true,
202
+ imports: [AnimatedView],
203
+ changeDetection: ChangeDetectionStrategy.OnPush,
204
+ template: `
205
+ <AnimatedView
206
+ [style]="headerStyle"
207
+ [animatedProps]="headerAnimatedProps"
208
+ [passthroughAnimatedPropExplicitValues]="passthrough"
209
+ >
210
+ <ng-content></ng-content>
211
+ </AnimatedView>
212
+ `,
213
+ }]
214
+ }], propDecorators: { scrollAnimatedValue: [{
215
+ type: Input
216
+ }], nextHeaderLayoutY: [{
217
+ type: Input
218
+ }], inverted: [{
219
+ type: Input
220
+ }], scrollViewHeight: [{
221
+ type: Input
222
+ }], layout: [{
223
+ type: Output
224
+ }] } });
225
+ //# sourceMappingURL=sticky-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sticky-header.js","sourceRoot":"","sources":["../../../../src/components/scroll-view/sticky-header.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import type { IAccessibilityProps, IAccessibilityStateValue, IAriaProps, IScrollViewHandle, ISection, IVirtualizedSectionListHandle } from '@symbiote-native/components';
3
+ import { type IStyleProp, type ISymbioteEvent, type ISymbioteNode, type IViewStyle } from '@symbiote-native/engine';
4
+ import { VListEmptyDirective, VListFooterDirective, VListHeaderDirective, VListSeparatorDirective, type IVListSeparatorContext } from '../virtualized-list';
5
+ import { VSectionFooterDirective, VSectionHeaderDirective, VSectionItemDirective, VSectionSeparatorDirective, type IVirtualizedSectionListProps } from '../virtualized-section-list';
6
+ import * as i0 from "@angular/core";
7
+ export type { ISection } from '@symbiote-native/components';
8
+ export type ISectionListHandle = IVirtualizedSectionListHandle;
9
+ export { VSectionFooterDirective, VSectionHeaderDirective, VSectionItemDirective, VSectionSeparatorDirective, } from '../virtualized-section-list';
10
+ export { VListEmptyDirective, VListFooterDirective, VListHeaderDirective, VListSeparatorDirective, } from '../virtualized-list';
11
+ export type ISectionListProps<ItemT> = IVirtualizedSectionListProps<ItemT>;
12
+ export type ISectionListInputs<ItemT> = Omit<ISectionListProps<ItemT>, 'onEndReached' | 'onStartReached' | 'onRefresh' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
13
+ export declare class SectionList<ItemT = unknown> implements ISectionListInputs<ItemT>, IVirtualizedSectionListHandle {
14
+ sections: ReadonlyArray<ISection<ItemT>>;
15
+ keyExtractor?: (item: ItemT, index: number) => string;
16
+ stickySectionHeadersEnabled?: boolean;
17
+ extraData?: unknown;
18
+ readonly endReached: EventEmitter<{
19
+ distanceFromEnd: number;
20
+ }>;
21
+ onEndReachedThreshold?: number;
22
+ readonly startReached: EventEmitter<{
23
+ distanceFromStart: number;
24
+ }>;
25
+ onStartReachedThreshold?: number;
26
+ readonly refresh: EventEmitter<void>;
27
+ refreshing?: boolean | null;
28
+ progressViewOffset?: number;
29
+ initialNumToRender?: number;
30
+ initialScrollIndex?: number;
31
+ maxToRenderPerBatch?: number;
32
+ updateCellsBatchingPeriod?: number;
33
+ windowSize?: number;
34
+ inverted?: boolean;
35
+ maintainVisibleContentPosition?: {
36
+ minIndexForVisible: number;
37
+ autoscrollToTopThreshold?: number;
38
+ };
39
+ onScroll?: (event: ISymbioteEvent) => void;
40
+ onScrollBeginDrag?: (event: ISymbioteEvent) => void;
41
+ onScrollEndDrag?: (event: ISymbioteEvent) => void;
42
+ onMomentumScrollBegin?: (event: ISymbioteEvent) => void;
43
+ onMomentumScrollEnd?: (event: ISymbioteEvent) => void;
44
+ scrollEventThrottle?: number;
45
+ keyboardShouldPersistTaps?: boolean | 'always' | 'never' | 'handled';
46
+ keyboardDismissMode?: 'none' | 'on-drag' | 'interactive';
47
+ style?: IStyleProp<IViewStyle>;
48
+ contentContainerStyle?: IStyleProp<IViewStyle>;
49
+ testID?: string;
50
+ nativeID?: string;
51
+ private cachedResolvedStyle;
52
+ get resolvedStyle(): IViewStyle;
53
+ accessible?: boolean;
54
+ accessibilityLabel?: string;
55
+ accessibilityHint?: string;
56
+ accessibilityRole?: IAccessibilityProps['accessibilityRole'];
57
+ accessibilityState?: IAccessibilityStateValue;
58
+ accessibilityValue?: IAccessibilityProps['accessibilityValue'];
59
+ accessibilityActions?: IAccessibilityProps['accessibilityActions'];
60
+ accessibilityLabelledBy?: string | string[];
61
+ importantForAccessibility?: IAccessibilityProps['importantForAccessibility'];
62
+ accessibilityLiveRegion?: IAccessibilityProps['accessibilityLiveRegion'];
63
+ screenReaderFocusable?: boolean;
64
+ accessibilityViewIsModal?: boolean;
65
+ accessibilityElementsHidden?: boolean;
66
+ accessibilityIgnoresInvertColors?: boolean;
67
+ accessibilityLanguage?: string;
68
+ accessibilityRespondsToUserInteraction?: boolean;
69
+ accessibilityShowsLargeContentViewer?: boolean;
70
+ accessibilityLargeContentTitle?: string;
71
+ readonly accessibilityAction: EventEmitter<ISymbioteEvent>;
72
+ readonly accessibilityTap: EventEmitter<ISymbioteEvent>;
73
+ readonly magicTap: EventEmitter<ISymbioteEvent>;
74
+ readonly accessibilityEscape: EventEmitter<ISymbioteEvent>;
75
+ role?: IAriaProps['role'];
76
+ ariaLabel?: string;
77
+ ariaLabelledBy?: string;
78
+ ariaLive?: IAriaProps['aria-live'];
79
+ ariaHidden?: boolean;
80
+ ariaBusy?: boolean;
81
+ ariaChecked?: boolean | 'mixed';
82
+ ariaDisabled?: boolean;
83
+ ariaExpanded?: boolean;
84
+ ariaSelected?: boolean;
85
+ ariaModal?: boolean;
86
+ ariaValueMax?: number;
87
+ ariaValueMin?: number;
88
+ ariaValueNow?: number;
89
+ ariaValueText?: string;
90
+ sectionItemDir?: VSectionItemDirective<ItemT>;
91
+ sectionHeaderDir?: VSectionHeaderDirective<ItemT>;
92
+ sectionFooterDir?: VSectionFooterDirective<ItemT>;
93
+ sectionSeparatorDir?: VSectionSeparatorDirective;
94
+ listHeaderDir?: VListHeaderDirective;
95
+ listFooterDir?: VListFooterDirective;
96
+ listEmptyDir?: VListEmptyDirective;
97
+ itemSeparatorDir?: VListSeparatorDirective<ItemT>;
98
+ private list?;
99
+ private readonly elementRef;
100
+ itemSeparatorContext(highlighted: unknown, leadingItem: unknown, trailingItem: unknown): IVListSeparatorContext<ItemT>;
101
+ scrollToLocation(params: {
102
+ sectionIndex: number;
103
+ itemIndex: number;
104
+ viewOffset?: number;
105
+ viewPosition?: number;
106
+ animated?: boolean;
107
+ }): void;
108
+ flashScrollIndicators(): void;
109
+ getNativeScrollRef(): IScrollViewHandle | null;
110
+ getScrollableNode(): IScrollViewHandle | null;
111
+ getScrollResponder(): IScrollViewHandle | null;
112
+ getScrollNode(): ISymbioteNode | null;
113
+ recordInteraction(): void;
114
+ static ɵfac: i0.ɵɵFactoryDeclaration<SectionList<any>, never>;
115
+ static ɵcmp: i0.ɵɵComponentDeclaration<SectionList<any>, "SectionList", never, { "sections": { "alias": "sections"; "required": true; }; "keyExtractor": { "alias": "keyExtractor"; "required": false; }; "stickySectionHeadersEnabled": { "alias": "stickySectionHeadersEnabled"; "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; }; "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; }; "inverted": { "alias": "inverted"; "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; }; "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "required": false; }; "accessible": { "alias": "accessible"; "required": false; }; "accessibilityLabel": { "alias": "accessibilityLabel"; "required": false; }; "accessibilityHint": { "alias": "accessibilityHint"; "required": false; }; "accessibilityRole": { "alias": "accessibilityRole"; "required": false; }; "accessibilityState": { "alias": "accessibilityState"; "required": false; }; "accessibilityValue": { "alias": "accessibilityValue"; "required": false; }; "accessibilityActions": { "alias": "accessibilityActions"; "required": false; }; "accessibilityLabelledBy": { "alias": "accessibilityLabelledBy"; "required": false; }; "importantForAccessibility": { "alias": "importantForAccessibility"; "required": false; }; "accessibilityLiveRegion": { "alias": "accessibilityLiveRegion"; "required": false; }; "screenReaderFocusable": { "alias": "screenReaderFocusable"; "required": false; }; "accessibilityViewIsModal": { "alias": "accessibilityViewIsModal"; "required": false; }; "accessibilityElementsHidden": { "alias": "accessibilityElementsHidden"; "required": false; }; "accessibilityIgnoresInvertColors": { "alias": "accessibilityIgnoresInvertColors"; "required": false; }; "accessibilityLanguage": { "alias": "accessibilityLanguage"; "required": false; }; "accessibilityRespondsToUserInteraction": { "alias": "accessibilityRespondsToUserInteraction"; "required": false; }; "accessibilityShowsLargeContentViewer": { "alias": "accessibilityShowsLargeContentViewer"; "required": false; }; "accessibilityLargeContentTitle": { "alias": "accessibilityLargeContentTitle"; "required": false; }; "role": { "alias": "role"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaLive": { "alias": "ariaLive"; "required": false; }; "ariaHidden": { "alias": "ariaHidden"; "required": false; }; "ariaBusy": { "alias": "ariaBusy"; "required": false; }; "ariaChecked": { "alias": "ariaChecked"; "required": false; }; "ariaDisabled": { "alias": "ariaDisabled"; "required": false; }; "ariaExpanded": { "alias": "ariaExpanded"; "required": false; }; "ariaSelected": { "alias": "ariaSelected"; "required": false; }; "ariaModal": { "alias": "ariaModal"; "required": false; }; "ariaValueMax": { "alias": "ariaValueMax"; "required": false; }; "ariaValueMin": { "alias": "ariaValueMin"; "required": false; }; "ariaValueNow": { "alias": "ariaValueNow"; "required": false; }; "ariaValueText": { "alias": "ariaValueText"; "required": false; }; }, { "endReached": "endReached"; "startReached": "startReached"; "refresh": "refresh"; "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, ["sectionItemDir", "sectionHeaderDir", "sectionFooterDir", "sectionSeparatorDir", "listHeaderDir", "listFooterDir", "listEmptyDir", "itemSeparatorDir"], never, true, never>;
116
+ }