@symbiote-native/angular 0.1.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 (372) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +147 -0
  3. package/build/angular/components/activity-indicator/index.android.d.ts +12 -0
  4. package/build/angular/components/activity-indicator/index.android.js +21 -0
  5. package/build/angular/components/activity-indicator/index.android.js.map +1 -0
  6. package/build/angular/components/activity-indicator/index.d.ts +1 -0
  7. package/build/angular/components/activity-indicator/index.ios.d.ts +8 -0
  8. package/build/angular/components/activity-indicator/index.ios.js +21 -0
  9. package/build/angular/components/activity-indicator/index.ios.js.map +1 -0
  10. package/build/angular/components/activity-indicator/index.js +4 -0
  11. package/build/angular/components/activity-indicator/index.js.map +1 -0
  12. package/build/angular/components/activity-indicator/shared.d.ts +67 -0
  13. package/build/angular/components/activity-indicator/shared.js +260 -0
  14. package/build/angular/components/activity-indicator/shared.js.map +1 -0
  15. package/build/angular/components/button.d.ts +63 -0
  16. package/build/angular/components/button.js +332 -0
  17. package/build/angular/components/button.js.map +1 -0
  18. package/build/angular/components/drawer-layout-android/index.android.d.ts +34 -0
  19. package/build/angular/components/drawer-layout-android/index.android.js +291 -0
  20. package/build/angular/components/drawer-layout-android/index.android.js.map +1 -0
  21. package/build/angular/components/drawer-layout-android/index.d.ts +11 -0
  22. package/build/angular/components/drawer-layout-android/index.js +109 -0
  23. package/build/angular/components/drawer-layout-android/index.js.map +1 -0
  24. package/build/angular/components/drawer-layout-android/shared.d.ts +74 -0
  25. package/build/angular/components/drawer-layout-android/shared.js +138 -0
  26. package/build/angular/components/drawer-layout-android/shared.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 +689 -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 +408 -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.d.ts +59 -0
  46. package/build/angular/components/input-accessory-view.js +266 -0
  47. package/build/angular/components/input-accessory-view.js.map +1 -0
  48. package/build/angular/components/keyboard-avoiding-view.d.ts +82 -0
  49. package/build/angular/components/keyboard-avoiding-view.js +363 -0
  50. package/build/angular/components/keyboard-avoiding-view.js.map +1 -0
  51. package/build/angular/components/modal.d.ts +92 -0
  52. package/build/angular/components/modal.js +365 -0
  53. package/build/angular/components/modal.js.map +1 -0
  54. package/build/angular/components/pressable/index.d.ts +123 -0
  55. package/build/angular/components/pressable/index.js +421 -0
  56. package/build/angular/components/pressable/index.js.map +1 -0
  57. package/build/angular/components/refresh-control.d.ts +86 -0
  58. package/build/angular/components/refresh-control.js +347 -0
  59. package/build/angular/components/refresh-control.js.map +1 -0
  60. package/build/angular/components/safe-area-view.d.ts +57 -0
  61. package/build/angular/components/safe-area-view.js +253 -0
  62. package/build/angular/components/safe-area-view.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 +312 -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 +679 -0
  77. package/build/angular/components/scroll-view/shared.js.map +1 -0
  78. package/build/angular/components/scroll-view/sticky-header.d.ts +41 -0
  79. package/build/angular/components/scroll-view/sticky-header.js +208 -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 +604 -0
  98. package/build/angular/components/text-input.js.map +1 -0
  99. package/build/angular/components/touchable-native-feedback.d.ts +83 -0
  100. package/build/angular/components/touchable-native-feedback.js +376 -0
  101. package/build/angular/components/touchable-native-feedback.js.map +1 -0
  102. package/build/angular/components/touchable.d.ts +248 -0
  103. package/build/angular/components/touchable.js +1206 -0
  104. package/build/angular/components/touchable.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 +154 -0
  107. package/build/angular/components/virtualized-list/directives.js.map +1 -0
  108. package/build/angular/components/virtualized-list/index.d.ts +268 -0
  109. package/build/angular/components/virtualized-list/index.js +1162 -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 +77 -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 +722 -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.d.ts +22 -0
  121. package/build/angular/create-portal.js +74 -0
  122. package/build/angular/create-portal.js.map +1 -0
  123. package/build/angular/create-tunnel.d.ts +34 -0
  124. package/build/angular/create-tunnel.js +126 -0
  125. package/build/angular/create-tunnel.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 +21 -0
  133. package/build/angular/index.js +42 -0
  134. package/build/angular/index.js.map +1 -0
  135. package/build/angular/modules/animated/create-animated-component.d.ts +68 -0
  136. package/build/angular/modules/animated/create-animated-component.js +429 -0
  137. package/build/angular/modules/animated/create-animated-component.js.map +1 -0
  138. package/build/angular/modules/animated/index.d.ts +51 -0
  139. package/build/angular/modules/animated/index.js +59 -0
  140. package/build/angular/modules/animated/index.js.map +1 -0
  141. package/build/angular/modules/app-registry/index.d.ts +7 -0
  142. package/build/angular/modules/app-registry/index.js +23 -0
  143. package/build/angular/modules/app-registry/index.js.map +1 -0
  144. package/build/angular/modules/status-bar.d.ts +20 -0
  145. package/build/angular/modules/status-bar.js +59 -0
  146. package/build/angular/modules/status-bar.js.map +1 -0
  147. package/build/angular/primitives/index.d.ts +63 -0
  148. package/build/angular/primitives/index.js +189 -0
  149. package/build/angular/primitives/index.js.map +1 -0
  150. package/build/angular/primitives/shared.d.ts +89 -0
  151. package/build/angular/primitives/shared.js +172 -0
  152. package/build/angular/primitives/shared.js.map +1 -0
  153. package/build/angular/render.d.ts +11 -0
  154. package/build/angular/render.js +161 -0
  155. package/build/angular/render.js.map +1 -0
  156. package/build/angular/renderer.d.ts +38 -0
  157. package/build/angular/renderer.js +360 -0
  158. package/build/angular/renderer.js.map +1 -0
  159. package/build/angular/services/color-scheme.service.d.ts +16 -0
  160. package/build/angular/services/color-scheme.service.js +31 -0
  161. package/build/angular/services/color-scheme.service.js.map +1 -0
  162. package/build/angular/services/index.d.ts +2 -0
  163. package/build/angular/services/index.js +3 -0
  164. package/build/angular/services/index.js.map +1 -0
  165. package/build/angular/services/window-dimensions.service.d.ts +16 -0
  166. package/build/angular/services/window-dimensions.service.js +42 -0
  167. package/build/angular/services/window-dimensions.service.js.map +1 -0
  168. package/build/components/activity-indicator/index.android.d.ts +9 -0
  169. package/build/components/activity-indicator/index.android.js +64 -0
  170. package/build/components/activity-indicator/index.d.ts +1 -0
  171. package/build/components/activity-indicator/index.ios.d.ts +5 -0
  172. package/build/components/activity-indicator/index.ios.js +64 -0
  173. package/build/components/activity-indicator/index.js +3 -0
  174. package/build/components/activity-indicator/shared.d.ts +64 -0
  175. package/build/components/activity-indicator/shared.js +424 -0
  176. package/build/components/button.d.ts +60 -0
  177. package/build/components/button.js +456 -0
  178. package/build/components/drawer-layout-android/index.android.d.ts +29 -0
  179. package/build/components/drawer-layout-android/index.android.js +326 -0
  180. package/build/components/drawer-layout-android/index.d.ts +8 -0
  181. package/build/components/drawer-layout-android/index.js +145 -0
  182. package/build/components/drawer-layout-android/shared.d.ts +71 -0
  183. package/build/components/drawer-layout-android/shared.js +205 -0
  184. package/build/components/flat-list/index.d.ts +119 -0
  185. package/build/components/flat-list/index.js +692 -0
  186. package/build/components/image/index.android.d.ts +7 -0
  187. package/build/components/image/index.android.js +88 -0
  188. package/build/components/image/index.d.ts +1 -0
  189. package/build/components/image/index.ios.d.ts +7 -0
  190. package/build/components/image/index.ios.js +88 -0
  191. package/build/components/image/index.js +2 -0
  192. package/build/components/image/shared.d.ts +101 -0
  193. package/build/components/image/shared.js +407 -0
  194. package/build/components/image-background.d.ts +78 -0
  195. package/build/components/image-background.js +583 -0
  196. package/build/components/input-accessory-view.d.ts +56 -0
  197. package/build/components/input-accessory-view.js +407 -0
  198. package/build/components/keyboard-avoiding-view.d.ts +79 -0
  199. package/build/components/keyboard-avoiding-view.js +509 -0
  200. package/build/components/modal.d.ts +89 -0
  201. package/build/components/modal.js +534 -0
  202. package/build/components/pressable/index.d.ts +120 -0
  203. package/build/components/pressable/index.js +640 -0
  204. package/build/components/refresh-control.d.ts +83 -0
  205. package/build/components/refresh-control.js +514 -0
  206. package/build/components/safe-area-view.d.ts +54 -0
  207. package/build/components/safe-area-view.js +393 -0
  208. package/build/components/scroll-view/index.android.d.ts +16 -0
  209. package/build/components/scroll-view/index.android.js +228 -0
  210. package/build/components/scroll-view/index.d.ts +3 -0
  211. package/build/components/scroll-view/index.ios.d.ts +6 -0
  212. package/build/components/scroll-view/index.ios.js +113 -0
  213. package/build/components/scroll-view/index.js +5 -0
  214. package/build/components/scroll-view/projection.d.ts +32 -0
  215. package/build/components/scroll-view/projection.js +311 -0
  216. package/build/components/scroll-view/shared.d.ts +225 -0
  217. package/build/components/scroll-view/shared.js +757 -0
  218. package/build/components/scroll-view/sticky-header.d.ts +38 -0
  219. package/build/components/scroll-view/sticky-header.js +257 -0
  220. package/build/components/section-list/index.d.ts +113 -0
  221. package/build/components/section-list/index.js +768 -0
  222. package/build/components/switch/index.android.d.ts +17 -0
  223. package/build/components/switch/index.android.js +107 -0
  224. package/build/components/switch/index.d.ts +1 -0
  225. package/build/components/switch/index.ios.d.ts +16 -0
  226. package/build/components/switch/index.ios.js +106 -0
  227. package/build/components/switch/index.js +3 -0
  228. package/build/components/switch/shared.d.ts +37 -0
  229. package/build/components/switch/shared.js +176 -0
  230. package/build/components/text-input.d.ts +150 -0
  231. package/build/components/text-input.js +826 -0
  232. package/build/components/touchable-native-feedback.d.ts +80 -0
  233. package/build/components/touchable-native-feedback.js +550 -0
  234. package/build/components/touchable.d.ts +241 -0
  235. package/build/components/touchable.js +1672 -0
  236. package/build/components/virtualized-list/directives.d.ts +41 -0
  237. package/build/components/virtualized-list/directives.js +250 -0
  238. package/build/components/virtualized-list/index.d.ts +265 -0
  239. package/build/components/virtualized-list/index.js +1344 -0
  240. package/build/components/virtualized-section-list/directives.d.ts +28 -0
  241. package/build/components/virtualized-section-list/directives.js +149 -0
  242. package/build/components/virtualized-section-list/index.d.ts +175 -0
  243. package/build/components/virtualized-section-list/index.js +854 -0
  244. package/build/components.d.ts +39 -0
  245. package/build/components.js +37 -0
  246. package/build/create-portal.d.ts +17 -0
  247. package/build/create-portal.js +128 -0
  248. package/build/create-tunnel.d.ts +29 -0
  249. package/build/create-tunnel.js +181 -0
  250. package/build/descriptor-to-angular/index.d.ts +19 -0
  251. package/build/descriptor-to-angular/index.js +186 -0
  252. package/build/host-instance/index.d.ts +2 -0
  253. package/build/host-instance/index.js +36 -0
  254. package/build/index.d.ts +21 -0
  255. package/build/index.js +41 -0
  256. package/build/modules/animated/create-animated-component.d.ts +57 -0
  257. package/build/modules/animated/create-animated-component.js +490 -0
  258. package/build/modules/animated/index.d.ts +51 -0
  259. package/build/modules/animated/index.js +58 -0
  260. package/build/modules/app-registry/index.d.ts +7 -0
  261. package/build/modules/app-registry/index.js +22 -0
  262. package/build/modules/status-bar.d.ts +17 -0
  263. package/build/modules/status-bar.js +121 -0
  264. package/build/primitives/index.d.ts +32 -0
  265. package/build/primitives/index.js +386 -0
  266. package/build/primitives/shared.d.ts +84 -0
  267. package/build/primitives/shared.js +231 -0
  268. package/build/render.d.ts +11 -0
  269. package/build/render.js +160 -0
  270. package/build/renderer.d.ts +38 -0
  271. package/build/renderer.js +359 -0
  272. package/build/services/color-scheme.service.d.ts +13 -0
  273. package/build/services/color-scheme.service.js +72 -0
  274. package/build/services/index.d.ts +2 -0
  275. package/build/services/index.js +2 -0
  276. package/build/services/window-dimensions.service.d.ts +13 -0
  277. package/build/services/window-dimensions.service.js +83 -0
  278. package/metro-css-parser.cjs +11 -0
  279. package/package.json +57 -0
  280. package/src/__tests__/responder-change-detection.test.ts +102 -0
  281. package/src/__tests__/responder-nested-cd.test.ts +113 -0
  282. package/src/angular-gaps.test.ts +142 -0
  283. package/src/angular-imports.test.ts +100 -0
  284. package/src/components/activity-indicator/activity-indicator-class-style.test.ts +44 -0
  285. package/src/components/activity-indicator/activity-indicator.test.ts +131 -0
  286. package/src/components/activity-indicator/index.android.ts +16 -0
  287. package/src/components/activity-indicator/index.ios.ts +17 -0
  288. package/src/components/activity-indicator/index.ts +4 -0
  289. package/src/components/activity-indicator/shared.ts +206 -0
  290. package/src/components/button.ts +193 -0
  291. package/src/components/flat-list/column-wrapper-style-class.test.ts +116 -0
  292. package/src/components/flat-list/flat-list-array-style.test.ts +131 -0
  293. package/src/components/flat-list/flat-list-class-style.test.ts +74 -0
  294. package/src/components/flat-list/flat-list-scroll-containment.test.ts +107 -0
  295. package/src/components/flat-list/flat-list.test.ts +99 -0
  296. package/src/components/flat-list/index.ts +575 -0
  297. package/src/components/image/image-class-style.test.ts +46 -0
  298. package/src/components/image/index.android.ts +48 -0
  299. package/src/components/image/index.ios.ts +48 -0
  300. package/src/components/image/index.ts +3 -0
  301. package/src/components/image/shared.ts +478 -0
  302. package/src/components/image-background-class-style.test.ts +48 -0
  303. package/src/components/image-background-style-class.test.ts +79 -0
  304. package/src/components/image-background.ts +270 -0
  305. package/src/components/input-accessory-view.test.ts +43 -0
  306. package/src/components/input-accessory-view.ts +191 -0
  307. package/src/components/keyboard-avoiding-view.test.ts +54 -0
  308. package/src/components/keyboard-avoiding-view.ts +308 -0
  309. package/src/components/modal.test.ts +43 -0
  310. package/src/components/modal.ts +304 -0
  311. package/src/components/pressable/index.ts +371 -0
  312. package/src/components/pressable/pressable.test.ts +85 -0
  313. package/src/components/refresh-control.test.ts +41 -0
  314. package/src/components/refresh-control.ts +288 -0
  315. package/src/components/safe-area-view.test.ts +43 -0
  316. package/src/components/safe-area-view.ts +178 -0
  317. package/src/components/scroll-view/android-scroll-view-axis-projection.test.ts +123 -0
  318. package/src/components/scroll-view/content-container-style-class.test.ts +75 -0
  319. package/src/components/scroll-view/index.android.ts +190 -0
  320. package/src/components/scroll-view/index.ios.ts +79 -0
  321. package/src/components/scroll-view/index.ts +7 -0
  322. package/src/components/scroll-view/projection.ts +384 -0
  323. package/src/components/scroll-view/scroll-view-class-style.test.ts +134 -0
  324. package/src/components/scroll-view/scroll-view-projection.test.ts +194 -0
  325. package/src/components/scroll-view/shared.ts +836 -0
  326. package/src/components/scroll-view/sticky-header.ts +230 -0
  327. package/src/components/section-list/index.ts +445 -0
  328. package/src/components/switch/android-switch-class.test.ts +42 -0
  329. package/src/components/switch/index.android.ts +61 -0
  330. package/src/components/switch/index.ios.ts +60 -0
  331. package/src/components/switch/index.ts +4 -0
  332. package/src/components/switch/shared.ts +197 -0
  333. package/src/components/switch/switch.test.ts +92 -0
  334. package/src/components/text-input-class-style.test.ts +54 -0
  335. package/src/components/text-input.ts +536 -0
  336. package/src/components/touchable-native-feedback.test.ts +49 -0
  337. package/src/components/touchable-native-feedback.ts +260 -0
  338. package/src/components/touchable.test.ts +102 -0
  339. package/src/components/touchable.ts +643 -0
  340. package/src/components/virtualized-list/directives.ts +169 -0
  341. package/src/components/virtualized-list/index.ts +1204 -0
  342. package/src/components/virtualized-list/virtualized-list-class-style.test.ts +76 -0
  343. package/src/components/virtualized-section-list/directives.ts +91 -0
  344. package/src/components/virtualized-section-list/index.ts +598 -0
  345. package/src/components/virtualized-section-list/virtualized-section-list-class-style.test.ts +60 -0
  346. package/src/components.ts +149 -0
  347. package/src/create-portal.test.ts +90 -0
  348. package/src/create-portal.ts +74 -0
  349. package/src/create-tunnel.test.ts +120 -0
  350. package/src/create-tunnel.ts +136 -0
  351. package/src/descriptor-to-angular/descriptor-outlet.test.ts +94 -0
  352. package/src/descriptor-to-angular/index.ts +190 -0
  353. package/src/host-instance/host-instance.test.ts +49 -0
  354. package/src/host-instance/index.ts +36 -0
  355. package/src/index.ts +257 -0
  356. package/src/modules/animated/animated-scroll-view.test.ts +85 -0
  357. package/src/modules/animated/create-animated-component.ts +435 -0
  358. package/src/modules/animated/index.ts +105 -0
  359. package/src/modules/app-registry/app-registry.test.ts +106 -0
  360. package/src/modules/app-registry/index.ts +60 -0
  361. package/src/modules/status-bar.test.ts +50 -0
  362. package/src/modules/status-bar.ts +57 -0
  363. package/src/primitives/index.ts +119 -0
  364. package/src/primitives/shared.ts +191 -0
  365. package/src/render.test.ts +147 -0
  366. package/src/render.ts +224 -0
  367. package/src/renderer.test.ts +179 -0
  368. package/src/renderer.ts +407 -0
  369. package/src/services/color-scheme.service.ts +27 -0
  370. package/src/services/index.ts +2 -0
  371. package/src/services/services.test.ts +163 -0
  372. package/src/services/window-dimensions.service.ts +41 -0
@@ -0,0 +1,641 @@
1
+ // SectionList, the Angular public list-of-sections component. A thin convenience surface over
2
+ // VirtualizedSectionList, mirroring RN's layering (SectionList -> VirtualizedSectionList ->
3
+ // VirtualizedList). All section-flattening / windowing / sticky-header / imperative-scroll logic
4
+ // lives below; this layer re-exposes the same surface under the SectionList name and re-exposes the
5
+ // handle (delegating to the inner VirtualizedSectionList). The Angular twin of
6
+ // adapters/vue/src/components/section-list/index.ts.
7
+ //
8
+ // As in the Vue twin, SectionList is a PURE FORWARDER: its public prop surface IS
9
+ // VirtualizedSectionList's (RN layers them one-for-one), and the SectionList-flavour defaults
10
+ // (stickySectionHeadersEnabled per Platform.OS, the section entry keyExtractor) already live INSIDE
11
+ // VirtualizedSectionList — it applies `stickySectionHeadersEnabled ?? (Platform.OS === 'ios')` in
12
+ // its ngDoCheck and routes keyExtractor through the shared sectionEntryKey. So SectionList forwards
13
+ // each prop unchanged (undefined included) and the default lands one layer down; double-applying
14
+ // here would fight VSL. Vue spreads $attrs to do this in one line — Angular has no attrs-spread, so
15
+ // every prop is forwarded as an explicit @Input binding, except the seven list-lifecycle events
16
+ // (endReached/startReached/refresh/accessibilityAction/accessibilityTap/magicTap/
17
+ // accessibilityEscape), which are real @Output() EventEmitters re-emitted via a listener binding.
18
+ //
19
+ // TEMPLATE FORWARDING — RE-STAMP, the same pattern FlatList's single-column branch was fixed to use
20
+ // (see flat-list/index.ts). A bare `<ng-content></ng-content>` passthrough does NOT let
21
+ // VirtualizedSectionList's own @ContentChild resolve directives across the SECOND projection hop
22
+ // (SectionList's own `<ng-content>` re-projecting content that was actually authored on `<SectionList>`
23
+ // by the app, one level further out) — Angular's content queries resolve against what was projected
24
+ // directly onto the querying component's OWN tag, not transitively through a nested `<ng-content>`
25
+ // relay. So SectionList captures the app's `<ng-template vSectionItem>` / vSectionHeader /
26
+ // vSectionFooter / vSectionSeparator / vListHeader / vListFooter / vListEmpty / vListSeparator with
27
+ // its OWN @ContentChild (a single, direct projection hop — this always resolves) and re-authors
28
+ // equivalent `<ng-template>`s on `<VirtualizedSectionList>`, each forwarding the captured
29
+ // templateRef + context through VListOutletDirective, exactly mirroring how VirtualizedSectionList
30
+ // itself re-stamps its own captured directives onto its inner VirtualizedList.
31
+ import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, Input, Output, ViewChild, inject, } from '@angular/core';
32
+ import {} from '@symbiote-native/engine';
33
+ import { VListEmptyDirective, VListFooterDirective, VListHeaderDirective, VListSeparatorDirective, } from '../virtualized-list';
34
+ import { VListOutletDirective } from '../virtualized-list/directives';
35
+ import { stableAnchorStyle } from '../../primitives';
36
+ import { VSectionFooterDirective, VSectionHeaderDirective, VSectionItemDirective, VSectionSeparatorDirective, VirtualizedSectionList, } from '../virtualized-section-list';
37
+ import * as i0 from "@angular/core";
38
+ // Angular cannot preserve VListSeparatorDirective<ItemT>'s type parameter across this re-stamp
39
+ // reuse (the directive is matched structurally in SectionList's own template with no explicit type
40
+ // argument to pin ItemT to, so `let-leadingItem`/`let-trailingItem` arrive typed `unknown`) — even
41
+ // though VirtualizedSectionList's own unwrap always supplies a real ItemT value. The narrowest
42
+ // possible I/O-boundary cast for that gap; not a general-purpose unknown-to-T narrowing (mirrors
43
+ // flat-list/index.ts's identical asItem helper).
44
+ function asItem(value) {
45
+ return value;
46
+ }
47
+ // Re-export the section authoring directives + the list-level slot directives so app code importing
48
+ // from '@symbiote-native/angular' gets the full `<ng-template vSection*>` / `vList*` authoring surface
49
+ // alongside SectionList (mirrors how virtualized-section-list/index re-exports the section ones and
50
+ // FlatList re-exports the list-level ones).
51
+ export { VSectionFooterDirective, VSectionHeaderDirective, VSectionItemDirective, VSectionSeparatorDirective, } from '../virtualized-section-list';
52
+ export { VListEmptyDirective, VListFooterDirective, VListHeaderDirective, VListSeparatorDirective, } from '../virtualized-list';
53
+ export class SectionList {
54
+ sections;
55
+ keyExtractor;
56
+ stickySectionHeadersEnabled;
57
+ extraData;
58
+ endReached = new EventEmitter();
59
+ onEndReachedThreshold;
60
+ startReached = new EventEmitter();
61
+ onStartReachedThreshold;
62
+ refresh = new EventEmitter();
63
+ refreshing;
64
+ progressViewOffset;
65
+ initialNumToRender;
66
+ initialScrollIndex;
67
+ maxToRenderPerBatch;
68
+ updateCellsBatchingPeriod;
69
+ windowSize;
70
+ inverted;
71
+ maintainVisibleContentPosition;
72
+ onScroll;
73
+ onScrollBeginDrag;
74
+ onScrollEndDrag;
75
+ onMomentumScrollBegin;
76
+ onMomentumScrollEnd;
77
+ scrollEventThrottle;
78
+ keyboardShouldPersistTaps;
79
+ keyboardDismissMode;
80
+ style;
81
+ contentContainerStyle;
82
+ testID;
83
+ nativeID;
84
+ // Bound to the template's `[style]="resolvedStyle"`, which Angular compiles to the built-in
85
+ // ɵɵstyleMap instruction — it only understands a flat object, never an array (RN's own
86
+ // `style={[a, b]}` composition idiom crashes deep inside Angular's styling engine), so this
87
+ // flattens `style` via the engine's own flattenStyle before it ever reaches that binding.
88
+ // anchorHostStyle merges in this component's OWN anchor's class-derived style (see its doc
89
+ // comment) — `elementRef` below is SectionList's OWN host, not `list`'s inner VirtualizedSectionList.
90
+ // A plain `flattenStyle([...])` here would allocate a FRESH object on every getter read (every CD
91
+ // check), which — bound onto the nested VirtualizedSectionList/VirtualizedList's own `@Input()
92
+ // style` — defeats VirtualizedList's `ngDoCheck` dedup gate and free-runs change detection
93
+ // forever (the exact bug `stableAnchorStyle` exists to prevent, see its doc comment and the
94
+ // `flat-list-array-style.test.ts` regression it fixes). `cachedResolvedStyle` is the getter's own
95
+ // persisted "previous" value across reads, since a getter has no natural field to compare against.
96
+ cachedResolvedStyle;
97
+ get resolvedStyle() {
98
+ this.cachedResolvedStyle = stableAnchorStyle(this.elementRef, this.style, this.cachedResolvedStyle);
99
+ return this.cachedResolvedStyle;
100
+ }
101
+ accessible;
102
+ accessibilityLabel;
103
+ accessibilityHint;
104
+ accessibilityRole;
105
+ accessibilityState;
106
+ accessibilityValue;
107
+ accessibilityActions;
108
+ accessibilityLabelledBy;
109
+ importantForAccessibility;
110
+ accessibilityLiveRegion;
111
+ screenReaderFocusable;
112
+ accessibilityViewIsModal;
113
+ accessibilityElementsHidden;
114
+ accessibilityIgnoresInvertColors;
115
+ accessibilityLanguage;
116
+ accessibilityRespondsToUserInteraction;
117
+ accessibilityShowsLargeContentViewer;
118
+ accessibilityLargeContentTitle;
119
+ accessibilityAction = new EventEmitter();
120
+ accessibilityTap = new EventEmitter();
121
+ magicTap = new EventEmitter();
122
+ accessibilityEscape = new EventEmitter();
123
+ role;
124
+ ariaLabel;
125
+ ariaLabelledBy;
126
+ ariaLive;
127
+ ariaHidden;
128
+ ariaBusy;
129
+ ariaChecked;
130
+ ariaDisabled;
131
+ ariaExpanded;
132
+ ariaSelected;
133
+ ariaModal;
134
+ ariaValueMax;
135
+ ariaValueMin;
136
+ ariaValueNow;
137
+ ariaValueText;
138
+ // The app's section/list authoring templates, captured from the app's DIRECT projected content
139
+ // (single hop — always resolves) and re-stamped onto the inner VirtualizedSectionList above.
140
+ sectionItemDir;
141
+ sectionHeaderDir;
142
+ sectionFooterDir;
143
+ sectionSeparatorDir;
144
+ listHeaderDir;
145
+ listFooterDir;
146
+ listEmptyDir;
147
+ itemSeparatorDir;
148
+ // The composed inner VirtualizedSectionList. Its instance IS an IVirtualizedSectionListHandle, so
149
+ // SectionList's handle delegates straight to it. Available from ngAfterViewInit; reads lazily.
150
+ list;
151
+ // This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
152
+ // onto (see anchorHostStyle's doc comment) — NOT `list` above, which targets the real inner
153
+ // `<VirtualizedSectionList>` one level down (itself its own separate anchor host).
154
+ elementRef = inject(ElementRef);
155
+ // The item separator context: leadingItem/trailingItem arrive `unknown` from the template's `let`
156
+ // bindings (see the asItem boundary comment above), already-unwrapped real items (no envelope to
157
+ // narrow through, unlike a section header/footer entry).
158
+ itemSeparatorContext(highlighted, leadingItem, trailingItem) {
159
+ const isHighlighted = highlighted === true;
160
+ return {
161
+ $implicit: isHighlighted,
162
+ highlighted: isHighlighted,
163
+ leadingItem: asItem(leadingItem),
164
+ trailingItem: asItem(trailingItem),
165
+ };
166
+ }
167
+ // ---- imperative handle (the shared IVirtualizedSectionListHandle surface) — delegates down ----
168
+ scrollToLocation(params) {
169
+ this.list?.scrollToLocation(params);
170
+ }
171
+ flashScrollIndicators() {
172
+ this.list?.flashScrollIndicators();
173
+ }
174
+ getNativeScrollRef() {
175
+ return this.list?.getNativeScrollRef() ?? null;
176
+ }
177
+ getScrollableNode() {
178
+ return this.list?.getScrollableNode() ?? null;
179
+ }
180
+ getScrollResponder() {
181
+ return this.list?.getScrollResponder() ?? null;
182
+ }
183
+ getScrollNode() {
184
+ return this.list?.getScrollNode() ?? null;
185
+ }
186
+ recordInteraction() {
187
+ this.list?.recordInteraction();
188
+ }
189
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SectionList, deps: [], target: i0.ɵɵFactoryTarget.Component });
190
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: SectionList, isStandalone: true, selector: "SectionList", inputs: { sections: "sections", keyExtractor: "keyExtractor", stickySectionHeadersEnabled: "stickySectionHeadersEnabled", extraData: "extraData", onEndReachedThreshold: "onEndReachedThreshold", onStartReachedThreshold: "onStartReachedThreshold", refreshing: "refreshing", progressViewOffset: "progressViewOffset", initialNumToRender: "initialNumToRender", initialScrollIndex: "initialScrollIndex", maxToRenderPerBatch: "maxToRenderPerBatch", updateCellsBatchingPeriod: "updateCellsBatchingPeriod", windowSize: "windowSize", inverted: "inverted", maintainVisibleContentPosition: "maintainVisibleContentPosition", onScroll: "onScroll", onScrollBeginDrag: "onScrollBeginDrag", onScrollEndDrag: "onScrollEndDrag", onMomentumScrollBegin: "onMomentumScrollBegin", onMomentumScrollEnd: "onMomentumScrollEnd", scrollEventThrottle: "scrollEventThrottle", keyboardShouldPersistTaps: "keyboardShouldPersistTaps", keyboardDismissMode: "keyboardDismissMode", style: "style", contentContainerStyle: "contentContainerStyle", testID: "testID", nativeID: "nativeID", accessible: "accessible", accessibilityLabel: "accessibilityLabel", accessibilityHint: "accessibilityHint", accessibilityRole: "accessibilityRole", accessibilityState: "accessibilityState", accessibilityValue: "accessibilityValue", accessibilityActions: "accessibilityActions", accessibilityLabelledBy: "accessibilityLabelledBy", importantForAccessibility: "importantForAccessibility", accessibilityLiveRegion: "accessibilityLiveRegion", screenReaderFocusable: "screenReaderFocusable", accessibilityViewIsModal: "accessibilityViewIsModal", accessibilityElementsHidden: "accessibilityElementsHidden", accessibilityIgnoresInvertColors: "accessibilityIgnoresInvertColors", accessibilityLanguage: "accessibilityLanguage", accessibilityRespondsToUserInteraction: "accessibilityRespondsToUserInteraction", accessibilityShowsLargeContentViewer: "accessibilityShowsLargeContentViewer", accessibilityLargeContentTitle: "accessibilityLargeContentTitle", role: "role", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", ariaLive: "ariaLive", ariaHidden: "ariaHidden", ariaBusy: "ariaBusy", ariaChecked: "ariaChecked", ariaDisabled: "ariaDisabled", ariaExpanded: "ariaExpanded", ariaSelected: "ariaSelected", ariaModal: "ariaModal", ariaValueMax: "ariaValueMax", ariaValueMin: "ariaValueMin", ariaValueNow: "ariaValueNow", ariaValueText: "ariaValueText" }, outputs: { endReached: "endReached", startReached: "startReached", refresh: "refresh", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, queries: [{ propertyName: "sectionItemDir", first: true, predicate: VSectionItemDirective, descendants: true }, { propertyName: "sectionHeaderDir", first: true, predicate: VSectionHeaderDirective, descendants: true }, { propertyName: "sectionFooterDir", first: true, predicate: VSectionFooterDirective, descendants: true }, { propertyName: "sectionSeparatorDir", first: true, predicate: VSectionSeparatorDirective, descendants: true }, { propertyName: "listHeaderDir", first: true, predicate: VListHeaderDirective, descendants: true }, { propertyName: "listFooterDir", first: true, predicate: VListFooterDirective, descendants: true }, { propertyName: "listEmptyDir", first: true, predicate: VListEmptyDirective, descendants: true }, { propertyName: "itemSeparatorDir", first: true, predicate: VListSeparatorDirective, descendants: true }], viewQueries: [{ propertyName: "list", first: true, predicate: VirtualizedSectionList, descendants: true }], ngImport: i0, template: `
191
+ <VirtualizedSectionList
192
+ [sections]="sections"
193
+ [keyExtractor]="keyExtractor"
194
+ [stickySectionHeadersEnabled]="stickySectionHeadersEnabled"
195
+ [extraData]="extraData"
196
+ (endReached)="endReached.emit($event)"
197
+ [onEndReachedThreshold]="onEndReachedThreshold"
198
+ (startReached)="startReached.emit($event)"
199
+ [onStartReachedThreshold]="onStartReachedThreshold"
200
+ (refresh)="refresh.emit()"
201
+ [refreshRequested]="refresh.observed"
202
+ [refreshing]="refreshing"
203
+ [progressViewOffset]="progressViewOffset"
204
+ [initialNumToRender]="initialNumToRender"
205
+ [initialScrollIndex]="initialScrollIndex"
206
+ [maxToRenderPerBatch]="maxToRenderPerBatch"
207
+ [updateCellsBatchingPeriod]="updateCellsBatchingPeriod"
208
+ [windowSize]="windowSize"
209
+ [inverted]="inverted"
210
+ [maintainVisibleContentPosition]="maintainVisibleContentPosition"
211
+ [onScroll]="onScroll"
212
+ [onScrollBeginDrag]="onScrollBeginDrag"
213
+ [onScrollEndDrag]="onScrollEndDrag"
214
+ [onMomentumScrollBegin]="onMomentumScrollBegin"
215
+ [onMomentumScrollEnd]="onMomentumScrollEnd"
216
+ [scrollEventThrottle]="scrollEventThrottle"
217
+ [keyboardShouldPersistTaps]="keyboardShouldPersistTaps"
218
+ [keyboardDismissMode]="keyboardDismissMode"
219
+ [style]="resolvedStyle"
220
+ [contentContainerStyle]="contentContainerStyle"
221
+ [testID]="testID"
222
+ [nativeID]="nativeID"
223
+ [accessible]="accessible"
224
+ [accessibilityLabel]="accessibilityLabel"
225
+ [accessibilityHint]="accessibilityHint"
226
+ [accessibilityRole]="accessibilityRole"
227
+ [accessibilityState]="accessibilityState"
228
+ [accessibilityValue]="accessibilityValue"
229
+ [accessibilityActions]="accessibilityActions"
230
+ [accessibilityLabelledBy]="accessibilityLabelledBy"
231
+ [importantForAccessibility]="importantForAccessibility"
232
+ [accessibilityLiveRegion]="accessibilityLiveRegion"
233
+ [screenReaderFocusable]="screenReaderFocusable"
234
+ [accessibilityViewIsModal]="accessibilityViewIsModal"
235
+ [accessibilityElementsHidden]="accessibilityElementsHidden"
236
+ [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
237
+ [accessibilityLanguage]="accessibilityLanguage"
238
+ [accessibilityRespondsToUserInteraction]="accessibilityRespondsToUserInteraction"
239
+ [accessibilityShowsLargeContentViewer]="accessibilityShowsLargeContentViewer"
240
+ [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
241
+ (accessibilityAction)="accessibilityAction.emit($event)"
242
+ (accessibilityTap)="accessibilityTap.emit($event)"
243
+ (magicTap)="magicTap.emit($event)"
244
+ (accessibilityEscape)="accessibilityEscape.emit($event)"
245
+ [role]="role"
246
+ [ariaLabel]="ariaLabel"
247
+ [ariaLabelledBy]="ariaLabelledBy"
248
+ [ariaLive]="ariaLive"
249
+ [ariaHidden]="ariaHidden"
250
+ [ariaBusy]="ariaBusy"
251
+ [ariaChecked]="ariaChecked"
252
+ [ariaDisabled]="ariaDisabled"
253
+ [ariaExpanded]="ariaExpanded"
254
+ [ariaSelected]="ariaSelected"
255
+ [ariaModal]="ariaModal"
256
+ [ariaValueMax]="ariaValueMax"
257
+ [ariaValueMin]="ariaValueMin"
258
+ [ariaValueNow]="ariaValueNow"
259
+ [ariaValueText]="ariaValueText"
260
+ >
261
+ <ng-template
262
+ vSectionItem
263
+ let-item
264
+ let-index="index"
265
+ let-section="section"
266
+ let-separators="separators"
267
+ >
268
+ <ng-container
269
+ [vListOutlet]="sectionItemDir?.templateRef"
270
+ [vListOutletContext]="{ $implicit: item, item, index, section, separators }"
271
+ ></ng-container>
272
+ </ng-template>
273
+ @if (sectionHeaderDir !== undefined) {
274
+ <ng-template vSectionHeader let-section>
275
+ <ng-container
276
+ [vListOutlet]="sectionHeaderDir.templateRef"
277
+ [vListOutletContext]="{ $implicit: section, section }"
278
+ ></ng-container>
279
+ </ng-template>
280
+ }
281
+ @if (sectionFooterDir !== undefined) {
282
+ <ng-template vSectionFooter let-section>
283
+ <ng-container
284
+ [vListOutlet]="sectionFooterDir.templateRef"
285
+ [vListOutletContext]="{ $implicit: section, section }"
286
+ ></ng-container>
287
+ </ng-template>
288
+ }
289
+ @if (sectionSeparatorDir !== undefined) {
290
+ <ng-template vSectionSeparator>
291
+ <ng-container [vListOutlet]="sectionSeparatorDir.templateRef"></ng-container>
292
+ </ng-template>
293
+ }
294
+ @if (listHeaderDir !== undefined) {
295
+ <ng-template vListHeader>
296
+ <ng-container [vListOutlet]="listHeaderDir.templateRef"></ng-container>
297
+ </ng-template>
298
+ }
299
+ @if (listFooterDir !== undefined) {
300
+ <ng-template vListFooter>
301
+ <ng-container [vListOutlet]="listFooterDir.templateRef"></ng-container>
302
+ </ng-template>
303
+ }
304
+ @if (listEmptyDir !== undefined) {
305
+ <ng-template vListEmpty>
306
+ <ng-container [vListOutlet]="listEmptyDir.templateRef"></ng-container>
307
+ </ng-template>
308
+ }
309
+ @if (itemSeparatorDir !== undefined) {
310
+ <ng-template
311
+ vListSeparator
312
+ let-highlighted="highlighted"
313
+ let-leadingItem="leadingItem"
314
+ let-trailingItem="trailingItem"
315
+ >
316
+ <ng-container
317
+ [vListOutlet]="itemSeparatorDir.templateRef"
318
+ [vListOutletContext]="itemSeparatorContext(highlighted, leadingItem, trailingItem)"
319
+ ></ng-container>
320
+ </ng-template>
321
+ }
322
+ </VirtualizedSectionList>
323
+ `, isInline: true, dependencies: [{ kind: "component", type: VirtualizedSectionList, selector: "VirtualizedSectionList", inputs: ["sections", "keyExtractor", "stickySectionHeadersEnabled", "extraData", "onEndReachedThreshold", "onStartReachedThreshold", "refreshing", "progressViewOffset", "refreshRequested", "initialNumToRender", "initialScrollIndex", "maxToRenderPerBatch", "updateCellsBatchingPeriod", "windowSize", "inverted", "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", "accessibilityAction", "accessibilityTap", "magicTap", "accessibilityEscape"] }, { kind: "directive", type: VSectionItemDirective, selector: "[vSectionItem]" }, { kind: "directive", type: VSectionHeaderDirective, selector: "[vSectionHeader]" }, { kind: "directive", type: VSectionFooterDirective, selector: "[vSectionFooter]" }, { kind: "directive", type: VSectionSeparatorDirective, selector: "[vSectionSeparator]" }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
324
+ }
325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SectionList, decorators: [{
326
+ type: Component,
327
+ args: [{
328
+ selector: 'SectionList',
329
+ standalone: true,
330
+ imports: [
331
+ VirtualizedSectionList,
332
+ VSectionItemDirective,
333
+ VSectionHeaderDirective,
334
+ VSectionFooterDirective,
335
+ VSectionSeparatorDirective,
336
+ VListHeaderDirective,
337
+ VListFooterDirective,
338
+ VListEmptyDirective,
339
+ VListSeparatorDirective,
340
+ VListOutletDirective,
341
+ ],
342
+ changeDetection: ChangeDetectionStrategy.OnPush,
343
+ template: `
344
+ <VirtualizedSectionList
345
+ [sections]="sections"
346
+ [keyExtractor]="keyExtractor"
347
+ [stickySectionHeadersEnabled]="stickySectionHeadersEnabled"
348
+ [extraData]="extraData"
349
+ (endReached)="endReached.emit($event)"
350
+ [onEndReachedThreshold]="onEndReachedThreshold"
351
+ (startReached)="startReached.emit($event)"
352
+ [onStartReachedThreshold]="onStartReachedThreshold"
353
+ (refresh)="refresh.emit()"
354
+ [refreshRequested]="refresh.observed"
355
+ [refreshing]="refreshing"
356
+ [progressViewOffset]="progressViewOffset"
357
+ [initialNumToRender]="initialNumToRender"
358
+ [initialScrollIndex]="initialScrollIndex"
359
+ [maxToRenderPerBatch]="maxToRenderPerBatch"
360
+ [updateCellsBatchingPeriod]="updateCellsBatchingPeriod"
361
+ [windowSize]="windowSize"
362
+ [inverted]="inverted"
363
+ [maintainVisibleContentPosition]="maintainVisibleContentPosition"
364
+ [onScroll]="onScroll"
365
+ [onScrollBeginDrag]="onScrollBeginDrag"
366
+ [onScrollEndDrag]="onScrollEndDrag"
367
+ [onMomentumScrollBegin]="onMomentumScrollBegin"
368
+ [onMomentumScrollEnd]="onMomentumScrollEnd"
369
+ [scrollEventThrottle]="scrollEventThrottle"
370
+ [keyboardShouldPersistTaps]="keyboardShouldPersistTaps"
371
+ [keyboardDismissMode]="keyboardDismissMode"
372
+ [style]="resolvedStyle"
373
+ [contentContainerStyle]="contentContainerStyle"
374
+ [testID]="testID"
375
+ [nativeID]="nativeID"
376
+ [accessible]="accessible"
377
+ [accessibilityLabel]="accessibilityLabel"
378
+ [accessibilityHint]="accessibilityHint"
379
+ [accessibilityRole]="accessibilityRole"
380
+ [accessibilityState]="accessibilityState"
381
+ [accessibilityValue]="accessibilityValue"
382
+ [accessibilityActions]="accessibilityActions"
383
+ [accessibilityLabelledBy]="accessibilityLabelledBy"
384
+ [importantForAccessibility]="importantForAccessibility"
385
+ [accessibilityLiveRegion]="accessibilityLiveRegion"
386
+ [screenReaderFocusable]="screenReaderFocusable"
387
+ [accessibilityViewIsModal]="accessibilityViewIsModal"
388
+ [accessibilityElementsHidden]="accessibilityElementsHidden"
389
+ [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
390
+ [accessibilityLanguage]="accessibilityLanguage"
391
+ [accessibilityRespondsToUserInteraction]="accessibilityRespondsToUserInteraction"
392
+ [accessibilityShowsLargeContentViewer]="accessibilityShowsLargeContentViewer"
393
+ [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
394
+ (accessibilityAction)="accessibilityAction.emit($event)"
395
+ (accessibilityTap)="accessibilityTap.emit($event)"
396
+ (magicTap)="magicTap.emit($event)"
397
+ (accessibilityEscape)="accessibilityEscape.emit($event)"
398
+ [role]="role"
399
+ [ariaLabel]="ariaLabel"
400
+ [ariaLabelledBy]="ariaLabelledBy"
401
+ [ariaLive]="ariaLive"
402
+ [ariaHidden]="ariaHidden"
403
+ [ariaBusy]="ariaBusy"
404
+ [ariaChecked]="ariaChecked"
405
+ [ariaDisabled]="ariaDisabled"
406
+ [ariaExpanded]="ariaExpanded"
407
+ [ariaSelected]="ariaSelected"
408
+ [ariaModal]="ariaModal"
409
+ [ariaValueMax]="ariaValueMax"
410
+ [ariaValueMin]="ariaValueMin"
411
+ [ariaValueNow]="ariaValueNow"
412
+ [ariaValueText]="ariaValueText"
413
+ >
414
+ <ng-template
415
+ vSectionItem
416
+ let-item
417
+ let-index="index"
418
+ let-section="section"
419
+ let-separators="separators"
420
+ >
421
+ <ng-container
422
+ [vListOutlet]="sectionItemDir?.templateRef"
423
+ [vListOutletContext]="{ $implicit: item, item, index, section, separators }"
424
+ ></ng-container>
425
+ </ng-template>
426
+ @if (sectionHeaderDir !== undefined) {
427
+ <ng-template vSectionHeader let-section>
428
+ <ng-container
429
+ [vListOutlet]="sectionHeaderDir.templateRef"
430
+ [vListOutletContext]="{ $implicit: section, section }"
431
+ ></ng-container>
432
+ </ng-template>
433
+ }
434
+ @if (sectionFooterDir !== undefined) {
435
+ <ng-template vSectionFooter let-section>
436
+ <ng-container
437
+ [vListOutlet]="sectionFooterDir.templateRef"
438
+ [vListOutletContext]="{ $implicit: section, section }"
439
+ ></ng-container>
440
+ </ng-template>
441
+ }
442
+ @if (sectionSeparatorDir !== undefined) {
443
+ <ng-template vSectionSeparator>
444
+ <ng-container [vListOutlet]="sectionSeparatorDir.templateRef"></ng-container>
445
+ </ng-template>
446
+ }
447
+ @if (listHeaderDir !== undefined) {
448
+ <ng-template vListHeader>
449
+ <ng-container [vListOutlet]="listHeaderDir.templateRef"></ng-container>
450
+ </ng-template>
451
+ }
452
+ @if (listFooterDir !== undefined) {
453
+ <ng-template vListFooter>
454
+ <ng-container [vListOutlet]="listFooterDir.templateRef"></ng-container>
455
+ </ng-template>
456
+ }
457
+ @if (listEmptyDir !== undefined) {
458
+ <ng-template vListEmpty>
459
+ <ng-container [vListOutlet]="listEmptyDir.templateRef"></ng-container>
460
+ </ng-template>
461
+ }
462
+ @if (itemSeparatorDir !== undefined) {
463
+ <ng-template
464
+ vListSeparator
465
+ let-highlighted="highlighted"
466
+ let-leadingItem="leadingItem"
467
+ let-trailingItem="trailingItem"
468
+ >
469
+ <ng-container
470
+ [vListOutlet]="itemSeparatorDir.templateRef"
471
+ [vListOutletContext]="itemSeparatorContext(highlighted, leadingItem, trailingItem)"
472
+ ></ng-container>
473
+ </ng-template>
474
+ }
475
+ </VirtualizedSectionList>
476
+ `,
477
+ }]
478
+ }], propDecorators: { sections: [{
479
+ type: Input,
480
+ args: [{ required: true }]
481
+ }], keyExtractor: [{
482
+ type: Input
483
+ }], stickySectionHeadersEnabled: [{
484
+ type: Input
485
+ }], extraData: [{
486
+ type: Input
487
+ }], endReached: [{
488
+ type: Output
489
+ }], onEndReachedThreshold: [{
490
+ type: Input
491
+ }], startReached: [{
492
+ type: Output
493
+ }], onStartReachedThreshold: [{
494
+ type: Input
495
+ }], refresh: [{
496
+ type: Output
497
+ }], refreshing: [{
498
+ type: Input
499
+ }], progressViewOffset: [{
500
+ type: Input
501
+ }], initialNumToRender: [{
502
+ type: Input
503
+ }], initialScrollIndex: [{
504
+ type: Input
505
+ }], maxToRenderPerBatch: [{
506
+ type: Input
507
+ }], updateCellsBatchingPeriod: [{
508
+ type: Input
509
+ }], windowSize: [{
510
+ type: Input
511
+ }], inverted: [{
512
+ type: Input
513
+ }], maintainVisibleContentPosition: [{
514
+ type: Input
515
+ }], onScroll: [{
516
+ type: Input
517
+ }], onScrollBeginDrag: [{
518
+ type: Input
519
+ }], onScrollEndDrag: [{
520
+ type: Input
521
+ }], onMomentumScrollBegin: [{
522
+ type: Input
523
+ }], onMomentumScrollEnd: [{
524
+ type: Input
525
+ }], scrollEventThrottle: [{
526
+ type: Input
527
+ }], keyboardShouldPersistTaps: [{
528
+ type: Input
529
+ }], keyboardDismissMode: [{
530
+ type: Input
531
+ }], style: [{
532
+ type: Input
533
+ }], contentContainerStyle: [{
534
+ type: Input
535
+ }], testID: [{
536
+ type: Input
537
+ }], nativeID: [{
538
+ type: Input
539
+ }], accessible: [{
540
+ type: Input
541
+ }], accessibilityLabel: [{
542
+ type: Input
543
+ }], accessibilityHint: [{
544
+ type: Input
545
+ }], accessibilityRole: [{
546
+ type: Input
547
+ }], accessibilityState: [{
548
+ type: Input
549
+ }], accessibilityValue: [{
550
+ type: Input
551
+ }], accessibilityActions: [{
552
+ type: Input
553
+ }], accessibilityLabelledBy: [{
554
+ type: Input
555
+ }], importantForAccessibility: [{
556
+ type: Input
557
+ }], accessibilityLiveRegion: [{
558
+ type: Input
559
+ }], screenReaderFocusable: [{
560
+ type: Input
561
+ }], accessibilityViewIsModal: [{
562
+ type: Input
563
+ }], accessibilityElementsHidden: [{
564
+ type: Input
565
+ }], accessibilityIgnoresInvertColors: [{
566
+ type: Input
567
+ }], accessibilityLanguage: [{
568
+ type: Input
569
+ }], accessibilityRespondsToUserInteraction: [{
570
+ type: Input
571
+ }], accessibilityShowsLargeContentViewer: [{
572
+ type: Input
573
+ }], accessibilityLargeContentTitle: [{
574
+ type: Input
575
+ }], accessibilityAction: [{
576
+ type: Output
577
+ }], accessibilityTap: [{
578
+ type: Output
579
+ }], magicTap: [{
580
+ type: Output
581
+ }], accessibilityEscape: [{
582
+ type: Output
583
+ }], role: [{
584
+ type: Input
585
+ }], ariaLabel: [{
586
+ type: Input
587
+ }], ariaLabelledBy: [{
588
+ type: Input
589
+ }], ariaLive: [{
590
+ type: Input
591
+ }], ariaHidden: [{
592
+ type: Input
593
+ }], ariaBusy: [{
594
+ type: Input
595
+ }], ariaChecked: [{
596
+ type: Input
597
+ }], ariaDisabled: [{
598
+ type: Input
599
+ }], ariaExpanded: [{
600
+ type: Input
601
+ }], ariaSelected: [{
602
+ type: Input
603
+ }], ariaModal: [{
604
+ type: Input
605
+ }], ariaValueMax: [{
606
+ type: Input
607
+ }], ariaValueMin: [{
608
+ type: Input
609
+ }], ariaValueNow: [{
610
+ type: Input
611
+ }], ariaValueText: [{
612
+ type: Input
613
+ }], sectionItemDir: [{
614
+ type: ContentChild,
615
+ args: [VSectionItemDirective]
616
+ }], sectionHeaderDir: [{
617
+ type: ContentChild,
618
+ args: [VSectionHeaderDirective]
619
+ }], sectionFooterDir: [{
620
+ type: ContentChild,
621
+ args: [VSectionFooterDirective]
622
+ }], sectionSeparatorDir: [{
623
+ type: ContentChild,
624
+ args: [VSectionSeparatorDirective]
625
+ }], listHeaderDir: [{
626
+ type: ContentChild,
627
+ args: [VListHeaderDirective]
628
+ }], listFooterDir: [{
629
+ type: ContentChild,
630
+ args: [VListFooterDirective]
631
+ }], listEmptyDir: [{
632
+ type: ContentChild,
633
+ args: [VListEmptyDirective]
634
+ }], itemSeparatorDir: [{
635
+ type: ContentChild,
636
+ args: [VListSeparatorDirective]
637
+ }], list: [{
638
+ type: ViewChild,
639
+ args: [VirtualizedSectionList]
640
+ }] } });
641
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/section-list/index.ts"],"names":[],"mappings":"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"}