@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,347 @@
1
+ // RefreshControl, the Angular lifecycle half. On iOS this is the PullToRefreshView Fabric node that
2
+ // lives INSIDE a ScrollView (a childless sibling before the content container); on Android it is
3
+ // AndroidSwipeRefreshLayout and WRAPS the scroll view (ADR 0020), receiving it through <ng-content>.
4
+ // The Angular twin of the React/Vue RefreshControl. There is no JS-side platform renaming and no
5
+ // shared render fn — every prop forwards straight to the native node, which reads the ones it
6
+ // understands and ignores the rest, so the Android-only and iOS-only families ride down harmlessly
7
+ // on both. So this folds aria/role through the shared resolveAccessibilityProps and maps the native
8
+ // props + a11y + onRefresh straight onto the symbiote-refresh-control host, children via <ng-content>.
9
+ // No platform branch (one composed component both platforms), so this stays a flat single file (ADR 0026).
10
+ //
11
+ // `refreshing` is a controlled prop: the parent owns it and pushes it down each commit; native
12
+ // reports the gesture via the direct `topRefresh` event, which the engine routes to the host's
13
+ // `refresh` listener (Angular blocks [onX] property bindings; events flow through (event) only).
14
+ import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, inject, Input, Output, ViewChild, } from '@angular/core';
15
+ import { resolveAccessibilityProps, } from '@symbiote-native/components';
16
+ import { dispatchViewCommand, dlog, isSymbioteNode, } from '@symbiote-native/engine';
17
+ import { anchorHostStyle, RefreshControlHost, SymbioteHostPropsDirective } from '../primitives';
18
+ import * as i0 from "@angular/core";
19
+ // Angular infers an `(event)` binding's $event as the DOM Event for a custom-schema element,
20
+ // so each handler enters as `unknown` and is narrowed here before reaching a typed callback.
21
+ function isSymbioteEvent(value) {
22
+ return typeof value === 'object' && value !== null && 'nativeEvent' in value;
23
+ }
24
+ export class RefreshControl {
25
+ // Controlled prop the parent owns; required to match the React reference surface.
26
+ refreshing;
27
+ // RN's onRefresh is `() => void | Promise<void>`, so the callback shape allows an async handler;
28
+ // the @Output() itself only signals the gesture (fire-and-forget, native already starts refreshing).
29
+ refresh = new EventEmitter();
30
+ tintColor;
31
+ title;
32
+ titleColor;
33
+ progressViewOffset;
34
+ colors;
35
+ progressBackgroundColor;
36
+ size;
37
+ enabled;
38
+ style;
39
+ testID;
40
+ nativeID;
41
+ accessible;
42
+ accessibilityLabel;
43
+ accessibilityHint;
44
+ accessibilityRole;
45
+ accessibilityState;
46
+ accessibilityValue;
47
+ accessibilityActions;
48
+ accessibilityLabelledBy;
49
+ importantForAccessibility;
50
+ accessibilityLiveRegion;
51
+ screenReaderFocusable;
52
+ accessibilityViewIsModal;
53
+ accessibilityElementsHidden;
54
+ accessibilityIgnoresInvertColors;
55
+ accessibilityLanguage;
56
+ accessibilityRespondsToUserInteraction;
57
+ accessibilityShowsLargeContentViewer;
58
+ accessibilityLargeContentTitle;
59
+ accessibilityAction = new EventEmitter();
60
+ accessibilityTap = new EventEmitter();
61
+ magicTap = new EventEmitter();
62
+ accessibilityEscape = new EventEmitter();
63
+ role;
64
+ ariaLabel;
65
+ ariaLabelledBy;
66
+ ariaLive;
67
+ ariaHidden;
68
+ ariaBusy;
69
+ ariaChecked;
70
+ ariaDisabled;
71
+ ariaExpanded;
72
+ ariaSelected;
73
+ ariaModal;
74
+ ariaValueMax;
75
+ ariaValueMin;
76
+ ariaValueNow;
77
+ ariaValueText;
78
+ // The inner symbiote-refresh-control primitive — NOT this component's own anchor host. Used for
79
+ // the imperative dispatchViewCommand calls below.
80
+ host;
81
+ // This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
82
+ // onto (see anchorHostStyle's doc comment) — distinct from `host` above, which targets the real
83
+ // inner `symbiote-refresh-control` primitive one level down.
84
+ elementRef = inject(ElementRef);
85
+ lastNativeRefreshing = false;
86
+ refreshNativeNode;
87
+ ngOnInit() {
88
+ dlog('RefreshControl -> PullToRefreshView');
89
+ dlog(`RefreshControl refreshing=${String(this.refreshing)}`);
90
+ if (this.enabled !== undefined)
91
+ dlog(`RefreshControl enabled=${String(this.enabled)} (Android-only)`);
92
+ if (this.refresh.observed)
93
+ dlog('RefreshControl refresh listener wired');
94
+ }
95
+ ngAfterViewInit() {
96
+ this.lastNativeRefreshing = this.refreshing;
97
+ }
98
+ ngOnChanges(changes) {
99
+ const refreshing = changes.refreshing;
100
+ if (refreshing === undefined)
101
+ return;
102
+ if (refreshing.firstChange) {
103
+ this.lastNativeRefreshing = this.refreshing;
104
+ return;
105
+ }
106
+ this.syncNativeRefreshing(this.refreshNativeNode ?? this.host?.nativeElement);
107
+ }
108
+ // Native starts the spinner before JS runs. Mirror RN's RefreshControl controlled-component
109
+ // handshake: remember that native is refreshing, call the user's callback, then after Angular has
110
+ // had a chance to propagate `[refreshing]`, force native back to the JS value if it stayed false.
111
+ handleRefresh(nativeNode = this.host?.nativeElement) {
112
+ this.refreshNativeNode = nativeNode;
113
+ this.lastNativeRefreshing = true;
114
+ this.refresh.emit();
115
+ queueMicrotask(() => this.syncNativeRefreshing(nativeNode));
116
+ }
117
+ syncNativeRefreshing(nativeNode) {
118
+ if (this.refreshing === this.lastNativeRefreshing)
119
+ return;
120
+ if (!isSymbioteNode(nativeNode))
121
+ return;
122
+ dispatchViewCommand(nativeNode, 'setNativeRefreshing', [this.refreshing]);
123
+ this.lastNativeRefreshing = this.refreshing;
124
+ }
125
+ // Forward an engine event to the matching @Output(), narrowing the template's untyped $event
126
+ // first. The accessibility* events arrive on the engine's structural event channel.
127
+ emit(emitter, event) {
128
+ if (isSymbioteEvent(event))
129
+ emitter.emit(event);
130
+ }
131
+ // The full native + a11y prop bag applied onto the host in one shot via
132
+ // [symbioteHostProps], instead of enumerating each key as its own template binding. The
133
+ // anchor's class-derived style goes FIRST, this component's own explicit `style` @Input SECOND
134
+ // — flattenStyle's later-wins collapse keeps an explicit [style] winning over its ambient class.
135
+ get hostProps() {
136
+ return {
137
+ refreshing: this.refreshing,
138
+ tintColor: this.tintColor,
139
+ title: this.title,
140
+ titleColor: this.titleColor,
141
+ progressViewOffset: this.progressViewOffset,
142
+ colors: this.colors,
143
+ progressBackgroundColor: this.progressBackgroundColor,
144
+ size: this.size,
145
+ enabled: this.enabled,
146
+ style: [anchorHostStyle(this.elementRef), this.style],
147
+ testID: this.testID,
148
+ nativeID: this.nativeID,
149
+ accessible: this.accessible,
150
+ ...this.folded,
151
+ };
152
+ }
153
+ // Fold the web aria-*/role aliases into the canonical accessibility* props once per render, so the
154
+ // host node never sees an aria-* key (native ignores them) — the shared transform every adapter runs.
155
+ get folded() {
156
+ return resolveAccessibilityProps({
157
+ accessibilityLabel: this.accessibilityLabel,
158
+ accessibilityHint: this.accessibilityHint,
159
+ accessibilityRole: this.accessibilityRole,
160
+ accessibilityState: this.accessibilityState,
161
+ accessibilityValue: this.accessibilityValue,
162
+ accessibilityActions: this.accessibilityActions,
163
+ accessibilityLabelledBy: this.accessibilityLabelledBy,
164
+ importantForAccessibility: this.importantForAccessibility,
165
+ accessibilityLiveRegion: this.accessibilityLiveRegion,
166
+ screenReaderFocusable: this.screenReaderFocusable,
167
+ accessibilityViewIsModal: this.accessibilityViewIsModal,
168
+ accessibilityElementsHidden: this.accessibilityElementsHidden,
169
+ accessibilityIgnoresInvertColors: this.accessibilityIgnoresInvertColors,
170
+ accessibilityLanguage: this.accessibilityLanguage,
171
+ accessibilityRespondsToUserInteraction: this.accessibilityRespondsToUserInteraction,
172
+ accessibilityShowsLargeContentViewer: this.accessibilityShowsLargeContentViewer,
173
+ accessibilityLargeContentTitle: this.accessibilityLargeContentTitle,
174
+ role: this.role,
175
+ 'aria-label': this.ariaLabel,
176
+ 'aria-labelledby': this.ariaLabelledBy,
177
+ 'aria-live': this.ariaLive,
178
+ 'aria-hidden': this.ariaHidden,
179
+ 'aria-busy': this.ariaBusy,
180
+ 'aria-checked': this.ariaChecked,
181
+ 'aria-disabled': this.ariaDisabled,
182
+ 'aria-expanded': this.ariaExpanded,
183
+ 'aria-selected': this.ariaSelected,
184
+ 'aria-modal': this.ariaModal,
185
+ 'aria-valuemax': this.ariaValueMax,
186
+ 'aria-valuemin': this.ariaValueMin,
187
+ 'aria-valuenow': this.ariaValueNow,
188
+ 'aria-valuetext': this.ariaValueText,
189
+ });
190
+ }
191
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: RefreshControl, deps: [], target: i0.ɵɵFactoryTarget.Component });
192
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: RefreshControl, isStandalone: true, selector: "RefreshControl", inputs: { refreshing: "refreshing", tintColor: "tintColor", title: "title", titleColor: "titleColor", progressViewOffset: "progressViewOffset", colors: "colors", progressBackgroundColor: "progressBackgroundColor", size: "size", enabled: "enabled", style: "style", 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: ["aria-label", "ariaLabel"], ariaLabelledBy: ["aria-labelledby", "ariaLabelledBy"], ariaLive: ["aria-live", "ariaLive"], ariaHidden: ["aria-hidden", "ariaHidden"], ariaBusy: ["aria-busy", "ariaBusy"], ariaChecked: ["aria-checked", "ariaChecked"], ariaDisabled: ["aria-disabled", "ariaDisabled"], ariaExpanded: ["aria-expanded", "ariaExpanded"], ariaSelected: ["aria-selected", "ariaSelected"], ariaModal: ["aria-modal", "ariaModal"], ariaValueMax: ["aria-valuemax", "ariaValueMax"], ariaValueMin: ["aria-valuemin", "ariaValueMin"], ariaValueNow: ["aria-valuenow", "ariaValueNow"], ariaValueText: ["aria-valuetext", "ariaValueText"] }, outputs: { refresh: "refresh", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
193
+ <symbiote-refresh-control
194
+ #host
195
+ [symbioteHostProps]="hostProps"
196
+ (refresh)="handleRefresh()"
197
+ (accessibilityAction)="emit(accessibilityAction, $event)"
198
+ (accessibilityTap)="emit(accessibilityTap, $event)"
199
+ (magicTap)="emit(magicTap, $event)"
200
+ (accessibilityEscape)="emit(accessibilityEscape, $event)"
201
+ >
202
+ <ng-content></ng-content>
203
+ </symbiote-refresh-control>
204
+ `, isInline: true, dependencies: [{ kind: "component", type: RefreshControlHost, selector: "symbiote-refresh-control" }, { kind: "directive", type: SymbioteHostPropsDirective, selector: "[symbioteHostProps]", inputs: ["symbioteHostProps"], exportAs: ["symbioteHost"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
205
+ }
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: RefreshControl, decorators: [{
207
+ type: Component,
208
+ args: [{
209
+ selector: 'RefreshControl',
210
+ standalone: true,
211
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
212
+ imports: [RefreshControlHost, SymbioteHostPropsDirective],
213
+ changeDetection: ChangeDetectionStrategy.OnPush,
214
+ template: `
215
+ <symbiote-refresh-control
216
+ #host
217
+ [symbioteHostProps]="hostProps"
218
+ (refresh)="handleRefresh()"
219
+ (accessibilityAction)="emit(accessibilityAction, $event)"
220
+ (accessibilityTap)="emit(accessibilityTap, $event)"
221
+ (magicTap)="emit(magicTap, $event)"
222
+ (accessibilityEscape)="emit(accessibilityEscape, $event)"
223
+ >
224
+ <ng-content></ng-content>
225
+ </symbiote-refresh-control>
226
+ `,
227
+ }]
228
+ }], propDecorators: { refreshing: [{
229
+ type: Input,
230
+ args: [{ required: true }]
231
+ }], refresh: [{
232
+ type: Output
233
+ }], tintColor: [{
234
+ type: Input
235
+ }], title: [{
236
+ type: Input
237
+ }], titleColor: [{
238
+ type: Input
239
+ }], progressViewOffset: [{
240
+ type: Input
241
+ }], colors: [{
242
+ type: Input
243
+ }], progressBackgroundColor: [{
244
+ type: Input
245
+ }], size: [{
246
+ type: Input
247
+ }], enabled: [{
248
+ type: Input
249
+ }], style: [{
250
+ type: Input
251
+ }], testID: [{
252
+ type: Input
253
+ }], nativeID: [{
254
+ type: Input
255
+ }], accessible: [{
256
+ type: Input
257
+ }], accessibilityLabel: [{
258
+ type: Input
259
+ }], accessibilityHint: [{
260
+ type: Input
261
+ }], accessibilityRole: [{
262
+ type: Input
263
+ }], accessibilityState: [{
264
+ type: Input
265
+ }], accessibilityValue: [{
266
+ type: Input
267
+ }], accessibilityActions: [{
268
+ type: Input
269
+ }], accessibilityLabelledBy: [{
270
+ type: Input
271
+ }], importantForAccessibility: [{
272
+ type: Input
273
+ }], accessibilityLiveRegion: [{
274
+ type: Input
275
+ }], screenReaderFocusable: [{
276
+ type: Input
277
+ }], accessibilityViewIsModal: [{
278
+ type: Input
279
+ }], accessibilityElementsHidden: [{
280
+ type: Input
281
+ }], accessibilityIgnoresInvertColors: [{
282
+ type: Input
283
+ }], accessibilityLanguage: [{
284
+ type: Input
285
+ }], accessibilityRespondsToUserInteraction: [{
286
+ type: Input
287
+ }], accessibilityShowsLargeContentViewer: [{
288
+ type: Input
289
+ }], accessibilityLargeContentTitle: [{
290
+ type: Input
291
+ }], accessibilityAction: [{
292
+ type: Output
293
+ }], accessibilityTap: [{
294
+ type: Output
295
+ }], magicTap: [{
296
+ type: Output
297
+ }], accessibilityEscape: [{
298
+ type: Output
299
+ }], role: [{
300
+ type: Input
301
+ }], ariaLabel: [{
302
+ type: Input,
303
+ args: ['aria-label']
304
+ }], ariaLabelledBy: [{
305
+ type: Input,
306
+ args: ['aria-labelledby']
307
+ }], ariaLive: [{
308
+ type: Input,
309
+ args: ['aria-live']
310
+ }], ariaHidden: [{
311
+ type: Input,
312
+ args: ['aria-hidden']
313
+ }], ariaBusy: [{
314
+ type: Input,
315
+ args: ['aria-busy']
316
+ }], ariaChecked: [{
317
+ type: Input,
318
+ args: ['aria-checked']
319
+ }], ariaDisabled: [{
320
+ type: Input,
321
+ args: ['aria-disabled']
322
+ }], ariaExpanded: [{
323
+ type: Input,
324
+ args: ['aria-expanded']
325
+ }], ariaSelected: [{
326
+ type: Input,
327
+ args: ['aria-selected']
328
+ }], ariaModal: [{
329
+ type: Input,
330
+ args: ['aria-modal']
331
+ }], ariaValueMax: [{
332
+ type: Input,
333
+ args: ['aria-valuemax']
334
+ }], ariaValueMin: [{
335
+ type: Input,
336
+ args: ['aria-valuemin']
337
+ }], ariaValueNow: [{
338
+ type: Input,
339
+ args: ['aria-valuenow']
340
+ }], ariaValueText: [{
341
+ type: Input,
342
+ args: ['aria-valuetext']
343
+ }], host: [{
344
+ type: ViewChild,
345
+ args: ['host']
346
+ }] } });
347
+ //# sourceMappingURL=refresh-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh-control.js","sourceRoot":"","sources":["../../../src/components/refresh-control.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { type IAccessibilityProps, type IAccessibilityStateValue, type IAriaProps } from '@symbiote-native/components';
3
+ import type { IStyleProp, ISymbioteEvent, IViewStyle } from '@symbiote-native/engine';
4
+ import * as i0 from "@angular/core";
5
+ export interface IAngularSafeAreaViewProps extends IAccessibilityProps, IAriaProps {
6
+ style?: IStyleProp<IViewStyle>;
7
+ onLayout?: (event: ISymbioteEvent) => void;
8
+ }
9
+ export type IAngularSafeAreaViewInputs = Omit<IAngularSafeAreaViewProps, 'onLayout' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
10
+ export declare class SafeAreaView implements IAngularSafeAreaViewInputs {
11
+ style?: IStyleProp<IViewStyle>;
12
+ readonly layout: EventEmitter<ISymbioteEvent>;
13
+ readonly accessibilityAction: EventEmitter<ISymbioteEvent>;
14
+ readonly accessibilityTap: EventEmitter<ISymbioteEvent>;
15
+ readonly magicTap: EventEmitter<ISymbioteEvent>;
16
+ readonly accessibilityEscape: EventEmitter<ISymbioteEvent>;
17
+ testID?: string;
18
+ nativeID?: string;
19
+ accessible?: boolean;
20
+ accessibilityLabel?: string;
21
+ accessibilityHint?: string;
22
+ accessibilityRole?: IAccessibilityProps['accessibilityRole'];
23
+ accessibilityState?: IAccessibilityStateValue;
24
+ accessibilityValue?: IAccessibilityProps['accessibilityValue'];
25
+ accessibilityActions?: IAccessibilityProps['accessibilityActions'];
26
+ accessibilityLabelledBy?: string | string[];
27
+ importantForAccessibility?: IAccessibilityProps['importantForAccessibility'];
28
+ accessibilityLiveRegion?: IAccessibilityProps['accessibilityLiveRegion'];
29
+ screenReaderFocusable?: boolean;
30
+ accessibilityViewIsModal?: boolean;
31
+ accessibilityElementsHidden?: boolean;
32
+ accessibilityIgnoresInvertColors?: boolean;
33
+ accessibilityLanguage?: string;
34
+ accessibilityRespondsToUserInteraction?: boolean;
35
+ accessibilityShowsLargeContentViewer?: boolean;
36
+ accessibilityLargeContentTitle?: string;
37
+ role?: IAriaProps['role'];
38
+ ariaLabel?: string;
39
+ ariaLabelledBy?: string;
40
+ ariaLive?: IAriaProps['aria-live'];
41
+ ariaHidden?: boolean;
42
+ ariaBusy?: boolean;
43
+ ariaChecked?: boolean | 'mixed';
44
+ ariaDisabled?: boolean;
45
+ ariaExpanded?: boolean;
46
+ ariaSelected?: boolean;
47
+ ariaModal?: boolean;
48
+ ariaValueMax?: number;
49
+ ariaValueMin?: number;
50
+ ariaValueNow?: number;
51
+ ariaValueText?: string;
52
+ private readonly elementRef;
53
+ emit(emitter: EventEmitter<ISymbioteEvent>, event: unknown): void;
54
+ get hostProps(): Record<string, unknown>;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<SafeAreaView, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<SafeAreaView, "SafeAreaView", never, { "style": { "alias": "style"; "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": "aria-label"; "required": false; }; "ariaLabelledBy": { "alias": "aria-labelledby"; "required": false; }; "ariaLive": { "alias": "aria-live"; "required": false; }; "ariaHidden": { "alias": "aria-hidden"; "required": false; }; "ariaBusy": { "alias": "aria-busy"; "required": false; }; "ariaChecked": { "alias": "aria-checked"; "required": false; }; "ariaDisabled": { "alias": "aria-disabled"; "required": false; }; "ariaExpanded": { "alias": "aria-expanded"; "required": false; }; "ariaSelected": { "alias": "aria-selected"; "required": false; }; "ariaModal": { "alias": "aria-modal"; "required": false; }; "ariaValueMax": { "alias": "aria-valuemax"; "required": false; }; "ariaValueMin": { "alias": "aria-valuemin"; "required": false; }; "ariaValueNow": { "alias": "aria-valuenow"; "required": false; }; "ariaValueText": { "alias": "aria-valuetext"; "required": false; }; }, { "layout": "layout"; "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, never, ["*"], true, never>;
57
+ }