@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,1206 @@
1
+ // The Touchable* family for Angular, all built on Pressable (the Angular twin of the React/Vue
2
+ // adapter). The press-timing constants and the deactivation-floor math are shared with every
3
+ // adapter (@symbiote-native/components/state/touchable); here Angular owns only the Animated wiring + the
4
+ // press scheduling state:
5
+ // TouchableOpacity: animate an Animated.Value opacity toward activeOpacity on press-in and back
6
+ // to 1 on press-out, driven from Pressable's onPressIn/onPressOut. The opacity Value is held by
7
+ // IDENTITY as a plain field (an engine object, never an @Input / reactive wrap) and the
8
+ // <symbiote-animated-view> leaf commits it every frame.
9
+ // TouchableHighlight: paint underlayColor + lower child opacity while pressed, via Pressable's
10
+ // style-as-function (Pressable drives the pressed flag through its own responder lifecycle).
11
+ // TouchableWithoutFeedback: no visual change, just the press wiring forwarded through Pressable.
12
+ //
13
+ // Every Touchable's own press/hover/accessibility events are now real @Output() EventEmitters too,
14
+ // matching Pressable (which they wrap) — `(press)="handler($event)"`, never `[onPress]="handler"`.
15
+ // Non-event config (delayLongPress, hitSlop, ...) still rides down as plain @Input() bindings.
16
+ // Accessibility EVENTS forward straight through to Pressable's own outputs
17
+ // (`(accessibilityAction)="accessibilityAction.emit($event)"`); accessibility STATE folds the web
18
+ // aria-*/role aliases and merges `disabled` into the a11y state on Pressable's own host — no re-fold
19
+ // here (the a11y host is Pressable's view, mirroring React's `...rest` -> Pressable). No JS-side
20
+ // platform branch, so this stays a flat single file (see the
21
+ // symbiote-file-layout skill), mirroring React/Vue. Each Touchable forwards the Angular Pressable
22
+ // surface verbatim; parity is against that surface, exactly as React's Touchable parity is against
23
+ // the React Pressable surface.
24
+ import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, inject, Input, Output, } from '@angular/core';
25
+ import { computePressOutWait, DEFAULT_ACTIVE_OPACITY, DEFAULT_HIGHLIGHT_CHILD_OPACITY, DEFAULT_MIN_PRESS_DURATION_MS, DEFAULT_UNDERLAY_COLOR, OPACITY_ACTIVE_DURATION_MS, OPACITY_INACTIVE_DURATION_MS, RESTING_OPACITY, } from '@symbiote-native/components';
26
+ import { dlog, } from '@symbiote-native/engine';
27
+ import { anchorHostStyle, anchorStyleProp } from '../primitives';
28
+ import { Pressable } from './pressable';
29
+ import { Animated, AnimatedView } from '../modules/animated';
30
+ import * as i0 from "@angular/core";
31
+ export class TouchableOpacity {
32
+ press = new EventEmitter();
33
+ pressIn = new EventEmitter();
34
+ pressOut = new EventEmitter();
35
+ pressMove = new EventEmitter();
36
+ longPress = new EventEmitter();
37
+ hoverIn = new EventEmitter();
38
+ hoverOut = new EventEmitter();
39
+ accessibilityAction = new EventEmitter();
40
+ accessibilityTap = new EventEmitter();
41
+ magicTap = new EventEmitter();
42
+ accessibilityEscape = new EventEmitter();
43
+ activeOpacity;
44
+ delayPressIn;
45
+ delayPressOut;
46
+ minPressDuration;
47
+ style;
48
+ delayLongPress;
49
+ delayHoverIn;
50
+ delayHoverOut;
51
+ disabled;
52
+ cancelable;
53
+ hitSlop;
54
+ pressRetentionOffset;
55
+ unstable_pressDelay;
56
+ android_ripple;
57
+ android_disableSound;
58
+ testID;
59
+ nativeID;
60
+ hasTVPreferredFocus;
61
+ nextFocusDown;
62
+ nextFocusForward;
63
+ nextFocusLeft;
64
+ nextFocusRight;
65
+ nextFocusUp;
66
+ accessible;
67
+ accessibilityLabel;
68
+ accessibilityHint;
69
+ accessibilityRole;
70
+ accessibilityState;
71
+ accessibilityValue;
72
+ accessibilityActions;
73
+ accessibilityLabelledBy;
74
+ importantForAccessibility;
75
+ accessibilityLiveRegion;
76
+ screenReaderFocusable;
77
+ accessibilityViewIsModal;
78
+ accessibilityElementsHidden;
79
+ accessibilityIgnoresInvertColors;
80
+ accessibilityLanguage;
81
+ accessibilityRespondsToUserInteraction;
82
+ accessibilityShowsLargeContentViewer;
83
+ accessibilityLargeContentTitle;
84
+ ariaLabel;
85
+ ariaBusy;
86
+ ariaChecked;
87
+ ariaDisabled;
88
+ ariaExpanded;
89
+ ariaHidden;
90
+ ariaLabelledBy;
91
+ ariaLive;
92
+ ariaSelected;
93
+ ariaModal;
94
+ ariaValueMax;
95
+ ariaValueMin;
96
+ ariaValueNow;
97
+ ariaValueText;
98
+ id;
99
+ role;
100
+ // One Animated.Value per mount, resting at full opacity. Held by IDENTITY as a plain field (an
101
+ // engine object, never an @Input / reactive wrap); the <symbiote-animated-view> leaf rasterizes
102
+ // it for the first paint and drives it through setNativeProps every frame.
103
+ opacity = new Animated.Value(RESTING_OPACITY);
104
+ // The pending delayPressIn timer, so a release before it fires can flush it.
105
+ pressInTimer;
106
+ // When the active visual actually started, to floor onPressOut by minPressDuration.
107
+ activatedAt;
108
+ // This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
109
+ // onto (see anchorHostStyle's doc comment) — NOT the <symbiote-animated-view> leaf one level down.
110
+ elementRef = inject(ElementRef);
111
+ // The (possibly animated) style the leaf reduces: the anchor's class-derived style first, then
112
+ // the user's explicit style, then the live opacity layered on top (last wins via the style array
113
+ // the commit layer flattens). `unknown` because the array mixes a plain style with an
114
+ // AnimatedNode, exactly the bag AnimatedView's `style` input accepts.
115
+ get animatedStyle() {
116
+ return [anchorHostStyle(this.elementRef), this.style, { opacity: this.opacity }];
117
+ }
118
+ setOpacityTo(toValue, duration) {
119
+ Animated.timing(this.opacity, {
120
+ toValue,
121
+ duration,
122
+ easing: Animated.Easing.inOut(Animated.Easing.quad),
123
+ useNativeDriver: false,
124
+ }).start();
125
+ }
126
+ clearPressInTimer() {
127
+ if (this.pressInTimer !== undefined) {
128
+ clearTimeout(this.pressInTimer);
129
+ this.pressInTimer = undefined;
130
+ }
131
+ }
132
+ activate(event) {
133
+ this.activatedAt = Date.now();
134
+ this.setOpacityTo(this.activeOpacity ?? DEFAULT_ACTIVE_OPACITY, OPACITY_ACTIVE_DURATION_MS);
135
+ this.pressIn.emit(event);
136
+ }
137
+ deactivate(event) {
138
+ this.activatedAt = undefined;
139
+ this.setOpacityTo(RESTING_OPACITY, OPACITY_INACTIVE_DURATION_MS);
140
+ this.pressOut.emit(event);
141
+ }
142
+ // Arrow fields (stable identity for OnPush, `this` intact when Pressable's `(pressIn)` invokes
143
+ // them). RN's _createPressabilityConfig forwards delayPressIn — defer the active visual and
144
+ // pressIn behind the delay (a release before it elapses flushes it synchronously).
145
+ handlePressIn = (event) => {
146
+ const delayPressIn = this.delayPressIn ?? 0;
147
+ if (delayPressIn > 0) {
148
+ dlog(`TouchableOpacity pressIn deferred ${delayPressIn}ms`);
149
+ this.pressInTimer = setTimeout(() => {
150
+ this.pressInTimer = undefined;
151
+ this.activate(event);
152
+ }, delayPressIn);
153
+ return;
154
+ }
155
+ this.activate(event);
156
+ };
157
+ // delayPressOut + minPressDuration (RN _deactivate): the press-out waits at least minPressDuration
158
+ // past activation (so a fast tap holds the active visual) and at least delayPressOut, whichever is
159
+ // longer.
160
+ handlePressOut = (event) => {
161
+ if (this.pressInTimer !== undefined) {
162
+ this.clearPressInTimer();
163
+ this.activate(event);
164
+ }
165
+ const heldFor = this.activatedAt === undefined ? 0 : Date.now() - this.activatedAt;
166
+ const wait = computePressOutWait(heldFor, this.minPressDuration ?? DEFAULT_MIN_PRESS_DURATION_MS, this.delayPressOut ?? 0);
167
+ if (wait > 0) {
168
+ dlog(`TouchableOpacity pressOut deferred ${wait}ms`);
169
+ setTimeout(() => this.deactivate(event), wait);
170
+ return;
171
+ }
172
+ this.deactivate(event);
173
+ };
174
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TouchableOpacity, deps: [], target: i0.ɵɵFactoryTarget.Component });
175
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: TouchableOpacity, isStandalone: true, selector: "TouchableOpacity", inputs: { activeOpacity: "activeOpacity", delayPressIn: "delayPressIn", delayPressOut: "delayPressOut", minPressDuration: "minPressDuration", style: "style", delayLongPress: "delayLongPress", delayHoverIn: "delayHoverIn", delayHoverOut: "delayHoverOut", disabled: "disabled", cancelable: "cancelable", hitSlop: "hitSlop", pressRetentionOffset: "pressRetentionOffset", unstable_pressDelay: "unstable_pressDelay", android_ripple: "android_ripple", android_disableSound: "android_disableSound", testID: "testID", nativeID: "nativeID", hasTVPreferredFocus: "hasTVPreferredFocus", nextFocusDown: "nextFocusDown", nextFocusForward: "nextFocusForward", nextFocusLeft: "nextFocusLeft", nextFocusRight: "nextFocusRight", nextFocusUp: "nextFocusUp", 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", ariaLabel: "ariaLabel", ariaBusy: "ariaBusy", ariaChecked: "ariaChecked", ariaDisabled: "ariaDisabled", ariaExpanded: "ariaExpanded", ariaHidden: "ariaHidden", ariaLabelledBy: "ariaLabelledBy", ariaLive: "ariaLive", ariaSelected: "ariaSelected", ariaModal: "ariaModal", ariaValueMax: "ariaValueMax", ariaValueMin: "ariaValueMin", ariaValueNow: "ariaValueNow", ariaValueText: "ariaValueText", id: "id", role: "role" }, outputs: { press: "press", pressIn: "pressIn", pressOut: "pressOut", pressMove: "pressMove", longPress: "longPress", hoverIn: "hoverIn", hoverOut: "hoverOut", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, ngImport: i0, template: `
176
+ <Pressable
177
+ (press)="press.emit($event)"
178
+ (pressIn)="handlePressIn($event)"
179
+ (pressOut)="handlePressOut($event)"
180
+ (pressMove)="pressMove.emit($event)"
181
+ (longPress)="longPress.emit($event)"
182
+ (hoverIn)="hoverIn.emit($event)"
183
+ (hoverOut)="hoverOut.emit($event)"
184
+ [delayLongPress]="delayLongPress"
185
+ [delayHoverIn]="delayHoverIn"
186
+ [delayHoverOut]="delayHoverOut"
187
+ [disabled]="disabled"
188
+ [cancelable]="cancelable"
189
+ [hitSlop]="hitSlop"
190
+ [pressRetentionOffset]="pressRetentionOffset"
191
+ [unstable_pressDelay]="unstable_pressDelay"
192
+ [android_ripple]="android_ripple"
193
+ [android_disableSound]="android_disableSound"
194
+ [testID]="testID"
195
+ [nativeID]="nativeID"
196
+ [hasTVPreferredFocus]="hasTVPreferredFocus"
197
+ [nextFocusDown]="nextFocusDown"
198
+ [nextFocusForward]="nextFocusForward"
199
+ [nextFocusLeft]="nextFocusLeft"
200
+ [nextFocusRight]="nextFocusRight"
201
+ [nextFocusUp]="nextFocusUp"
202
+ [accessible]="accessible"
203
+ [accessibilityLabel]="accessibilityLabel"
204
+ [accessibilityHint]="accessibilityHint"
205
+ [accessibilityRole]="accessibilityRole"
206
+ [accessibilityState]="accessibilityState"
207
+ [accessibilityValue]="accessibilityValue"
208
+ [accessibilityActions]="accessibilityActions"
209
+ [accessibilityLabelledBy]="accessibilityLabelledBy"
210
+ [importantForAccessibility]="importantForAccessibility"
211
+ [accessibilityLiveRegion]="accessibilityLiveRegion"
212
+ [screenReaderFocusable]="screenReaderFocusable"
213
+ [accessibilityViewIsModal]="accessibilityViewIsModal"
214
+ [accessibilityElementsHidden]="accessibilityElementsHidden"
215
+ [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
216
+ [accessibilityLanguage]="accessibilityLanguage"
217
+ [accessibilityRespondsToUserInteraction]="accessibilityRespondsToUserInteraction"
218
+ [accessibilityShowsLargeContentViewer]="accessibilityShowsLargeContentViewer"
219
+ [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
220
+ (accessibilityAction)="accessibilityAction.emit($event)"
221
+ (accessibilityTap)="accessibilityTap.emit($event)"
222
+ (magicTap)="magicTap.emit($event)"
223
+ (accessibilityEscape)="accessibilityEscape.emit($event)"
224
+ [ariaLabel]="ariaLabel"
225
+ [ariaBusy]="ariaBusy"
226
+ [ariaChecked]="ariaChecked"
227
+ [ariaDisabled]="ariaDisabled"
228
+ [ariaExpanded]="ariaExpanded"
229
+ [ariaHidden]="ariaHidden"
230
+ [ariaLabelledBy]="ariaLabelledBy"
231
+ [ariaLive]="ariaLive"
232
+ [ariaSelected]="ariaSelected"
233
+ [ariaModal]="ariaModal"
234
+ [ariaValueMax]="ariaValueMax"
235
+ [ariaValueMin]="ariaValueMin"
236
+ [ariaValueNow]="ariaValueNow"
237
+ [ariaValueText]="ariaValueText"
238
+ [id]="id"
239
+ [role]="role"
240
+ >
241
+ <symbiote-animated-view [style]="animatedStyle">
242
+ <ng-content></ng-content>
243
+ </symbiote-animated-view>
244
+ </Pressable>
245
+ `, isInline: true, dependencies: [{ kind: "component", type: Pressable, selector: "Pressable, symbiote-pressable", inputs: ["delayLongPress", "disabled", "cancelable", "hitSlop", "pressRetentionOffset", "unstable_pressDelay", "android_ripple", "android_disableSound", "delayHoverIn", "delayHoverOut", "testID", "nativeID", "hasTVPreferredFocus", "nextFocusDown", "nextFocusForward", "nextFocusLeft", "nextFocusRight", "nextFocusUp", "style", "accessible", "accessibilityLabel", "accessibilityHint", "accessibilityRole", "accessibilityState", "accessibilityValue", "accessibilityActions", "accessibilityLabelledBy", "importantForAccessibility", "accessibilityLiveRegion", "screenReaderFocusable", "accessibilityViewIsModal", "accessibilityElementsHidden", "accessibilityIgnoresInvertColors", "accessibilityLanguage", "accessibilityRespondsToUserInteraction", "accessibilityShowsLargeContentViewer", "accessibilityLargeContentTitle", "ariaLabel", "ariaBusy", "ariaChecked", "ariaDisabled", "ariaExpanded", "ariaHidden", "ariaLabelledBy", "ariaLive", "ariaSelected", "ariaModal", "ariaValueMax", "ariaValueMin", "ariaValueNow", "ariaValueText", "id", "role"], outputs: ["press", "pressIn", "pressOut", "pressMove", "longPress", "hoverIn", "hoverOut", "accessibilityAction", "accessibilityTap", "magicTap", "accessibilityEscape"] }, { kind: "component", type: AnimatedView, selector: "AnimatedView, symbiote-animated-view", inputs: ["style", "animatedProps", "passthroughAnimatedPropExplicitValues"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
246
+ }
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TouchableOpacity, decorators: [{
248
+ type: Component,
249
+ args: [{
250
+ selector: 'TouchableOpacity',
251
+ standalone: true,
252
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
253
+ imports: [Pressable, AnimatedView],
254
+ changeDetection: ChangeDetectionStrategy.OnPush,
255
+ template: `
256
+ <Pressable
257
+ (press)="press.emit($event)"
258
+ (pressIn)="handlePressIn($event)"
259
+ (pressOut)="handlePressOut($event)"
260
+ (pressMove)="pressMove.emit($event)"
261
+ (longPress)="longPress.emit($event)"
262
+ (hoverIn)="hoverIn.emit($event)"
263
+ (hoverOut)="hoverOut.emit($event)"
264
+ [delayLongPress]="delayLongPress"
265
+ [delayHoverIn]="delayHoverIn"
266
+ [delayHoverOut]="delayHoverOut"
267
+ [disabled]="disabled"
268
+ [cancelable]="cancelable"
269
+ [hitSlop]="hitSlop"
270
+ [pressRetentionOffset]="pressRetentionOffset"
271
+ [unstable_pressDelay]="unstable_pressDelay"
272
+ [android_ripple]="android_ripple"
273
+ [android_disableSound]="android_disableSound"
274
+ [testID]="testID"
275
+ [nativeID]="nativeID"
276
+ [hasTVPreferredFocus]="hasTVPreferredFocus"
277
+ [nextFocusDown]="nextFocusDown"
278
+ [nextFocusForward]="nextFocusForward"
279
+ [nextFocusLeft]="nextFocusLeft"
280
+ [nextFocusRight]="nextFocusRight"
281
+ [nextFocusUp]="nextFocusUp"
282
+ [accessible]="accessible"
283
+ [accessibilityLabel]="accessibilityLabel"
284
+ [accessibilityHint]="accessibilityHint"
285
+ [accessibilityRole]="accessibilityRole"
286
+ [accessibilityState]="accessibilityState"
287
+ [accessibilityValue]="accessibilityValue"
288
+ [accessibilityActions]="accessibilityActions"
289
+ [accessibilityLabelledBy]="accessibilityLabelledBy"
290
+ [importantForAccessibility]="importantForAccessibility"
291
+ [accessibilityLiveRegion]="accessibilityLiveRegion"
292
+ [screenReaderFocusable]="screenReaderFocusable"
293
+ [accessibilityViewIsModal]="accessibilityViewIsModal"
294
+ [accessibilityElementsHidden]="accessibilityElementsHidden"
295
+ [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
296
+ [accessibilityLanguage]="accessibilityLanguage"
297
+ [accessibilityRespondsToUserInteraction]="accessibilityRespondsToUserInteraction"
298
+ [accessibilityShowsLargeContentViewer]="accessibilityShowsLargeContentViewer"
299
+ [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
300
+ (accessibilityAction)="accessibilityAction.emit($event)"
301
+ (accessibilityTap)="accessibilityTap.emit($event)"
302
+ (magicTap)="magicTap.emit($event)"
303
+ (accessibilityEscape)="accessibilityEscape.emit($event)"
304
+ [ariaLabel]="ariaLabel"
305
+ [ariaBusy]="ariaBusy"
306
+ [ariaChecked]="ariaChecked"
307
+ [ariaDisabled]="ariaDisabled"
308
+ [ariaExpanded]="ariaExpanded"
309
+ [ariaHidden]="ariaHidden"
310
+ [ariaLabelledBy]="ariaLabelledBy"
311
+ [ariaLive]="ariaLive"
312
+ [ariaSelected]="ariaSelected"
313
+ [ariaModal]="ariaModal"
314
+ [ariaValueMax]="ariaValueMax"
315
+ [ariaValueMin]="ariaValueMin"
316
+ [ariaValueNow]="ariaValueNow"
317
+ [ariaValueText]="ariaValueText"
318
+ [id]="id"
319
+ [role]="role"
320
+ >
321
+ <symbiote-animated-view [style]="animatedStyle">
322
+ <ng-content></ng-content>
323
+ </symbiote-animated-view>
324
+ </Pressable>
325
+ `,
326
+ }]
327
+ }], propDecorators: { press: [{
328
+ type: Output
329
+ }], pressIn: [{
330
+ type: Output
331
+ }], pressOut: [{
332
+ type: Output
333
+ }], pressMove: [{
334
+ type: Output
335
+ }], longPress: [{
336
+ type: Output
337
+ }], hoverIn: [{
338
+ type: Output
339
+ }], hoverOut: [{
340
+ type: Output
341
+ }], accessibilityAction: [{
342
+ type: Output
343
+ }], accessibilityTap: [{
344
+ type: Output
345
+ }], magicTap: [{
346
+ type: Output
347
+ }], accessibilityEscape: [{
348
+ type: Output
349
+ }], activeOpacity: [{
350
+ type: Input
351
+ }], delayPressIn: [{
352
+ type: Input
353
+ }], delayPressOut: [{
354
+ type: Input
355
+ }], minPressDuration: [{
356
+ type: Input
357
+ }], style: [{
358
+ type: Input
359
+ }], delayLongPress: [{
360
+ type: Input
361
+ }], delayHoverIn: [{
362
+ type: Input
363
+ }], delayHoverOut: [{
364
+ type: Input
365
+ }], disabled: [{
366
+ type: Input
367
+ }], cancelable: [{
368
+ type: Input
369
+ }], hitSlop: [{
370
+ type: Input
371
+ }], pressRetentionOffset: [{
372
+ type: Input
373
+ }], unstable_pressDelay: [{
374
+ type: Input
375
+ }], android_ripple: [{
376
+ type: Input
377
+ }], android_disableSound: [{
378
+ type: Input
379
+ }], testID: [{
380
+ type: Input
381
+ }], nativeID: [{
382
+ type: Input
383
+ }], hasTVPreferredFocus: [{
384
+ type: Input
385
+ }], nextFocusDown: [{
386
+ type: Input
387
+ }], nextFocusForward: [{
388
+ type: Input
389
+ }], nextFocusLeft: [{
390
+ type: Input
391
+ }], nextFocusRight: [{
392
+ type: Input
393
+ }], nextFocusUp: [{
394
+ type: Input
395
+ }], accessible: [{
396
+ type: Input
397
+ }], accessibilityLabel: [{
398
+ type: Input
399
+ }], accessibilityHint: [{
400
+ type: Input
401
+ }], accessibilityRole: [{
402
+ type: Input
403
+ }], accessibilityState: [{
404
+ type: Input
405
+ }], accessibilityValue: [{
406
+ type: Input
407
+ }], accessibilityActions: [{
408
+ type: Input
409
+ }], accessibilityLabelledBy: [{
410
+ type: Input
411
+ }], importantForAccessibility: [{
412
+ type: Input
413
+ }], accessibilityLiveRegion: [{
414
+ type: Input
415
+ }], screenReaderFocusable: [{
416
+ type: Input
417
+ }], accessibilityViewIsModal: [{
418
+ type: Input
419
+ }], accessibilityElementsHidden: [{
420
+ type: Input
421
+ }], accessibilityIgnoresInvertColors: [{
422
+ type: Input
423
+ }], accessibilityLanguage: [{
424
+ type: Input
425
+ }], accessibilityRespondsToUserInteraction: [{
426
+ type: Input
427
+ }], accessibilityShowsLargeContentViewer: [{
428
+ type: Input
429
+ }], accessibilityLargeContentTitle: [{
430
+ type: Input
431
+ }], ariaLabel: [{
432
+ type: Input
433
+ }], ariaBusy: [{
434
+ type: Input
435
+ }], ariaChecked: [{
436
+ type: Input
437
+ }], ariaDisabled: [{
438
+ type: Input
439
+ }], ariaExpanded: [{
440
+ type: Input
441
+ }], ariaHidden: [{
442
+ type: Input
443
+ }], ariaLabelledBy: [{
444
+ type: Input
445
+ }], ariaLive: [{
446
+ type: Input
447
+ }], ariaSelected: [{
448
+ type: Input
449
+ }], ariaModal: [{
450
+ type: Input
451
+ }], ariaValueMax: [{
452
+ type: Input
453
+ }], ariaValueMin: [{
454
+ type: Input
455
+ }], ariaValueNow: [{
456
+ type: Input
457
+ }], ariaValueText: [{
458
+ type: Input
459
+ }], id: [{
460
+ type: Input
461
+ }], role: [{
462
+ type: Input
463
+ }] } });
464
+ export class TouchableHighlight {
465
+ press = new EventEmitter();
466
+ pressIn = new EventEmitter();
467
+ pressOut = new EventEmitter();
468
+ pressMove = new EventEmitter();
469
+ longPress = new EventEmitter();
470
+ hoverIn = new EventEmitter();
471
+ hoverOut = new EventEmitter();
472
+ accessibilityAction = new EventEmitter();
473
+ accessibilityTap = new EventEmitter();
474
+ magicTap = new EventEmitter();
475
+ accessibilityEscape = new EventEmitter();
476
+ activeOpacity;
477
+ underlayColor;
478
+ delayPressIn;
479
+ delayPressOut;
480
+ minPressDuration;
481
+ style;
482
+ delayLongPress;
483
+ delayHoverIn;
484
+ delayHoverOut;
485
+ disabled;
486
+ cancelable;
487
+ hitSlop;
488
+ pressRetentionOffset;
489
+ unstable_pressDelay;
490
+ android_ripple;
491
+ android_disableSound;
492
+ testID;
493
+ nativeID;
494
+ hasTVPreferredFocus;
495
+ nextFocusDown;
496
+ nextFocusForward;
497
+ nextFocusLeft;
498
+ nextFocusRight;
499
+ nextFocusUp;
500
+ accessible;
501
+ accessibilityLabel;
502
+ accessibilityHint;
503
+ accessibilityRole;
504
+ accessibilityState;
505
+ accessibilityValue;
506
+ accessibilityActions;
507
+ accessibilityLabelledBy;
508
+ importantForAccessibility;
509
+ accessibilityLiveRegion;
510
+ screenReaderFocusable;
511
+ accessibilityViewIsModal;
512
+ accessibilityElementsHidden;
513
+ accessibilityIgnoresInvertColors;
514
+ accessibilityLanguage;
515
+ accessibilityRespondsToUserInteraction;
516
+ accessibilityShowsLargeContentViewer;
517
+ accessibilityLargeContentTitle;
518
+ ariaLabel;
519
+ ariaBusy;
520
+ ariaChecked;
521
+ ariaDisabled;
522
+ ariaExpanded;
523
+ ariaHidden;
524
+ ariaLabelledBy;
525
+ ariaLive;
526
+ ariaSelected;
527
+ ariaModal;
528
+ ariaValueMax;
529
+ ariaValueMin;
530
+ ariaValueNow;
531
+ ariaValueText;
532
+ id;
533
+ role;
534
+ // This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
535
+ // onto (see anchorHostStyle's doc comment) — NOT the Pressable one level down.
536
+ elementRef = inject(ElementRef);
537
+ // Pressable accepts a style-as-function and calls it with the live pressed state. Arrow field so
538
+ // `this` stays bound when Pressable invokes it; it reads the inputs LIVE at call time. The
539
+ // anchor's class-derived style goes first, then the user's explicit style, so an explicit
540
+ // [style] still beats the ambient class. When pressed, paint the underlay color + lower the
541
+ // child opacity (RN drives this with setState, not Animated, so we mirror that faithfully
542
+ // through Pressable's pressed flag, no tween) — the overlay always goes last so it wins.
543
+ pressedStyle = (state) => {
544
+ const anchorStyle = anchorStyleProp(this.elementRef);
545
+ if (!state.pressed)
546
+ return [anchorStyle, this.style];
547
+ const overlay = {
548
+ backgroundColor: this.underlayColor ?? DEFAULT_UNDERLAY_COLOR,
549
+ opacity: this.activeOpacity ?? DEFAULT_HIGHLIGHT_CHILD_OPACITY,
550
+ };
551
+ return [anchorStyle, this.style, overlay];
552
+ };
553
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TouchableHighlight, deps: [], target: i0.ɵɵFactoryTarget.Component });
554
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: TouchableHighlight, isStandalone: true, selector: "TouchableHighlight", inputs: { activeOpacity: "activeOpacity", underlayColor: "underlayColor", delayPressIn: "delayPressIn", delayPressOut: "delayPressOut", minPressDuration: "minPressDuration", style: "style", delayLongPress: "delayLongPress", delayHoverIn: "delayHoverIn", delayHoverOut: "delayHoverOut", disabled: "disabled", cancelable: "cancelable", hitSlop: "hitSlop", pressRetentionOffset: "pressRetentionOffset", unstable_pressDelay: "unstable_pressDelay", android_ripple: "android_ripple", android_disableSound: "android_disableSound", testID: "testID", nativeID: "nativeID", hasTVPreferredFocus: "hasTVPreferredFocus", nextFocusDown: "nextFocusDown", nextFocusForward: "nextFocusForward", nextFocusLeft: "nextFocusLeft", nextFocusRight: "nextFocusRight", nextFocusUp: "nextFocusUp", 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", ariaLabel: "ariaLabel", ariaBusy: "ariaBusy", ariaChecked: "ariaChecked", ariaDisabled: "ariaDisabled", ariaExpanded: "ariaExpanded", ariaHidden: "ariaHidden", ariaLabelledBy: "ariaLabelledBy", ariaLive: "ariaLive", ariaSelected: "ariaSelected", ariaModal: "ariaModal", ariaValueMax: "ariaValueMax", ariaValueMin: "ariaValueMin", ariaValueNow: "ariaValueNow", ariaValueText: "ariaValueText", id: "id", role: "role" }, outputs: { press: "press", pressIn: "pressIn", pressOut: "pressOut", pressMove: "pressMove", longPress: "longPress", hoverIn: "hoverIn", hoverOut: "hoverOut", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, ngImport: i0, template: `
555
+ <Pressable
556
+ [style]="pressedStyle"
557
+ (press)="press.emit($event)"
558
+ (pressIn)="pressIn.emit($event)"
559
+ (pressOut)="pressOut.emit($event)"
560
+ (pressMove)="pressMove.emit($event)"
561
+ (longPress)="longPress.emit($event)"
562
+ (hoverIn)="hoverIn.emit($event)"
563
+ (hoverOut)="hoverOut.emit($event)"
564
+ [delayLongPress]="delayLongPress"
565
+ [delayHoverIn]="delayHoverIn"
566
+ [delayHoverOut]="delayHoverOut"
567
+ [disabled]="disabled"
568
+ [cancelable]="cancelable"
569
+ [hitSlop]="hitSlop"
570
+ [pressRetentionOffset]="pressRetentionOffset"
571
+ [unstable_pressDelay]="unstable_pressDelay"
572
+ [android_ripple]="android_ripple"
573
+ [android_disableSound]="android_disableSound"
574
+ [testID]="testID"
575
+ [nativeID]="nativeID"
576
+ [hasTVPreferredFocus]="hasTVPreferredFocus"
577
+ [nextFocusDown]="nextFocusDown"
578
+ [nextFocusForward]="nextFocusForward"
579
+ [nextFocusLeft]="nextFocusLeft"
580
+ [nextFocusRight]="nextFocusRight"
581
+ [nextFocusUp]="nextFocusUp"
582
+ [accessible]="accessible"
583
+ [accessibilityLabel]="accessibilityLabel"
584
+ [accessibilityHint]="accessibilityHint"
585
+ [accessibilityRole]="accessibilityRole"
586
+ [accessibilityState]="accessibilityState"
587
+ [accessibilityValue]="accessibilityValue"
588
+ [accessibilityActions]="accessibilityActions"
589
+ [accessibilityLabelledBy]="accessibilityLabelledBy"
590
+ [importantForAccessibility]="importantForAccessibility"
591
+ [accessibilityLiveRegion]="accessibilityLiveRegion"
592
+ [screenReaderFocusable]="screenReaderFocusable"
593
+ [accessibilityViewIsModal]="accessibilityViewIsModal"
594
+ [accessibilityElementsHidden]="accessibilityElementsHidden"
595
+ [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
596
+ [accessibilityLanguage]="accessibilityLanguage"
597
+ [accessibilityRespondsToUserInteraction]="accessibilityRespondsToUserInteraction"
598
+ [accessibilityShowsLargeContentViewer]="accessibilityShowsLargeContentViewer"
599
+ [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
600
+ (accessibilityAction)="accessibilityAction.emit($event)"
601
+ (accessibilityTap)="accessibilityTap.emit($event)"
602
+ (magicTap)="magicTap.emit($event)"
603
+ (accessibilityEscape)="accessibilityEscape.emit($event)"
604
+ [ariaLabel]="ariaLabel"
605
+ [ariaBusy]="ariaBusy"
606
+ [ariaChecked]="ariaChecked"
607
+ [ariaDisabled]="ariaDisabled"
608
+ [ariaExpanded]="ariaExpanded"
609
+ [ariaHidden]="ariaHidden"
610
+ [ariaLabelledBy]="ariaLabelledBy"
611
+ [ariaLive]="ariaLive"
612
+ [ariaSelected]="ariaSelected"
613
+ [ariaModal]="ariaModal"
614
+ [ariaValueMax]="ariaValueMax"
615
+ [ariaValueMin]="ariaValueMin"
616
+ [ariaValueNow]="ariaValueNow"
617
+ [ariaValueText]="ariaValueText"
618
+ [id]="id"
619
+ [role]="role"
620
+ >
621
+ <ng-content></ng-content>
622
+ </Pressable>
623
+ `, isInline: true, dependencies: [{ kind: "component", type: Pressable, selector: "Pressable, symbiote-pressable", inputs: ["delayLongPress", "disabled", "cancelable", "hitSlop", "pressRetentionOffset", "unstable_pressDelay", "android_ripple", "android_disableSound", "delayHoverIn", "delayHoverOut", "testID", "nativeID", "hasTVPreferredFocus", "nextFocusDown", "nextFocusForward", "nextFocusLeft", "nextFocusRight", "nextFocusUp", "style", "accessible", "accessibilityLabel", "accessibilityHint", "accessibilityRole", "accessibilityState", "accessibilityValue", "accessibilityActions", "accessibilityLabelledBy", "importantForAccessibility", "accessibilityLiveRegion", "screenReaderFocusable", "accessibilityViewIsModal", "accessibilityElementsHidden", "accessibilityIgnoresInvertColors", "accessibilityLanguage", "accessibilityRespondsToUserInteraction", "accessibilityShowsLargeContentViewer", "accessibilityLargeContentTitle", "ariaLabel", "ariaBusy", "ariaChecked", "ariaDisabled", "ariaExpanded", "ariaHidden", "ariaLabelledBy", "ariaLive", "ariaSelected", "ariaModal", "ariaValueMax", "ariaValueMin", "ariaValueNow", "ariaValueText", "id", "role"], outputs: ["press", "pressIn", "pressOut", "pressMove", "longPress", "hoverIn", "hoverOut", "accessibilityAction", "accessibilityTap", "magicTap", "accessibilityEscape"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
624
+ }
625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TouchableHighlight, decorators: [{
626
+ type: Component,
627
+ args: [{
628
+ selector: 'TouchableHighlight',
629
+ standalone: true,
630
+ imports: [Pressable],
631
+ changeDetection: ChangeDetectionStrategy.OnPush,
632
+ template: `
633
+ <Pressable
634
+ [style]="pressedStyle"
635
+ (press)="press.emit($event)"
636
+ (pressIn)="pressIn.emit($event)"
637
+ (pressOut)="pressOut.emit($event)"
638
+ (pressMove)="pressMove.emit($event)"
639
+ (longPress)="longPress.emit($event)"
640
+ (hoverIn)="hoverIn.emit($event)"
641
+ (hoverOut)="hoverOut.emit($event)"
642
+ [delayLongPress]="delayLongPress"
643
+ [delayHoverIn]="delayHoverIn"
644
+ [delayHoverOut]="delayHoverOut"
645
+ [disabled]="disabled"
646
+ [cancelable]="cancelable"
647
+ [hitSlop]="hitSlop"
648
+ [pressRetentionOffset]="pressRetentionOffset"
649
+ [unstable_pressDelay]="unstable_pressDelay"
650
+ [android_ripple]="android_ripple"
651
+ [android_disableSound]="android_disableSound"
652
+ [testID]="testID"
653
+ [nativeID]="nativeID"
654
+ [hasTVPreferredFocus]="hasTVPreferredFocus"
655
+ [nextFocusDown]="nextFocusDown"
656
+ [nextFocusForward]="nextFocusForward"
657
+ [nextFocusLeft]="nextFocusLeft"
658
+ [nextFocusRight]="nextFocusRight"
659
+ [nextFocusUp]="nextFocusUp"
660
+ [accessible]="accessible"
661
+ [accessibilityLabel]="accessibilityLabel"
662
+ [accessibilityHint]="accessibilityHint"
663
+ [accessibilityRole]="accessibilityRole"
664
+ [accessibilityState]="accessibilityState"
665
+ [accessibilityValue]="accessibilityValue"
666
+ [accessibilityActions]="accessibilityActions"
667
+ [accessibilityLabelledBy]="accessibilityLabelledBy"
668
+ [importantForAccessibility]="importantForAccessibility"
669
+ [accessibilityLiveRegion]="accessibilityLiveRegion"
670
+ [screenReaderFocusable]="screenReaderFocusable"
671
+ [accessibilityViewIsModal]="accessibilityViewIsModal"
672
+ [accessibilityElementsHidden]="accessibilityElementsHidden"
673
+ [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
674
+ [accessibilityLanguage]="accessibilityLanguage"
675
+ [accessibilityRespondsToUserInteraction]="accessibilityRespondsToUserInteraction"
676
+ [accessibilityShowsLargeContentViewer]="accessibilityShowsLargeContentViewer"
677
+ [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
678
+ (accessibilityAction)="accessibilityAction.emit($event)"
679
+ (accessibilityTap)="accessibilityTap.emit($event)"
680
+ (magicTap)="magicTap.emit($event)"
681
+ (accessibilityEscape)="accessibilityEscape.emit($event)"
682
+ [ariaLabel]="ariaLabel"
683
+ [ariaBusy]="ariaBusy"
684
+ [ariaChecked]="ariaChecked"
685
+ [ariaDisabled]="ariaDisabled"
686
+ [ariaExpanded]="ariaExpanded"
687
+ [ariaHidden]="ariaHidden"
688
+ [ariaLabelledBy]="ariaLabelledBy"
689
+ [ariaLive]="ariaLive"
690
+ [ariaSelected]="ariaSelected"
691
+ [ariaModal]="ariaModal"
692
+ [ariaValueMax]="ariaValueMax"
693
+ [ariaValueMin]="ariaValueMin"
694
+ [ariaValueNow]="ariaValueNow"
695
+ [ariaValueText]="ariaValueText"
696
+ [id]="id"
697
+ [role]="role"
698
+ >
699
+ <ng-content></ng-content>
700
+ </Pressable>
701
+ `,
702
+ }]
703
+ }], propDecorators: { press: [{
704
+ type: Output
705
+ }], pressIn: [{
706
+ type: Output
707
+ }], pressOut: [{
708
+ type: Output
709
+ }], pressMove: [{
710
+ type: Output
711
+ }], longPress: [{
712
+ type: Output
713
+ }], hoverIn: [{
714
+ type: Output
715
+ }], hoverOut: [{
716
+ type: Output
717
+ }], accessibilityAction: [{
718
+ type: Output
719
+ }], accessibilityTap: [{
720
+ type: Output
721
+ }], magicTap: [{
722
+ type: Output
723
+ }], accessibilityEscape: [{
724
+ type: Output
725
+ }], activeOpacity: [{
726
+ type: Input
727
+ }], underlayColor: [{
728
+ type: Input
729
+ }], delayPressIn: [{
730
+ type: Input
731
+ }], delayPressOut: [{
732
+ type: Input
733
+ }], minPressDuration: [{
734
+ type: Input
735
+ }], style: [{
736
+ type: Input
737
+ }], delayLongPress: [{
738
+ type: Input
739
+ }], delayHoverIn: [{
740
+ type: Input
741
+ }], delayHoverOut: [{
742
+ type: Input
743
+ }], disabled: [{
744
+ type: Input
745
+ }], cancelable: [{
746
+ type: Input
747
+ }], hitSlop: [{
748
+ type: Input
749
+ }], pressRetentionOffset: [{
750
+ type: Input
751
+ }], unstable_pressDelay: [{
752
+ type: Input
753
+ }], android_ripple: [{
754
+ type: Input
755
+ }], android_disableSound: [{
756
+ type: Input
757
+ }], testID: [{
758
+ type: Input
759
+ }], nativeID: [{
760
+ type: Input
761
+ }], hasTVPreferredFocus: [{
762
+ type: Input
763
+ }], nextFocusDown: [{
764
+ type: Input
765
+ }], nextFocusForward: [{
766
+ type: Input
767
+ }], nextFocusLeft: [{
768
+ type: Input
769
+ }], nextFocusRight: [{
770
+ type: Input
771
+ }], nextFocusUp: [{
772
+ type: Input
773
+ }], accessible: [{
774
+ type: Input
775
+ }], accessibilityLabel: [{
776
+ type: Input
777
+ }], accessibilityHint: [{
778
+ type: Input
779
+ }], accessibilityRole: [{
780
+ type: Input
781
+ }], accessibilityState: [{
782
+ type: Input
783
+ }], accessibilityValue: [{
784
+ type: Input
785
+ }], accessibilityActions: [{
786
+ type: Input
787
+ }], accessibilityLabelledBy: [{
788
+ type: Input
789
+ }], importantForAccessibility: [{
790
+ type: Input
791
+ }], accessibilityLiveRegion: [{
792
+ type: Input
793
+ }], screenReaderFocusable: [{
794
+ type: Input
795
+ }], accessibilityViewIsModal: [{
796
+ type: Input
797
+ }], accessibilityElementsHidden: [{
798
+ type: Input
799
+ }], accessibilityIgnoresInvertColors: [{
800
+ type: Input
801
+ }], accessibilityLanguage: [{
802
+ type: Input
803
+ }], accessibilityRespondsToUserInteraction: [{
804
+ type: Input
805
+ }], accessibilityShowsLargeContentViewer: [{
806
+ type: Input
807
+ }], accessibilityLargeContentTitle: [{
808
+ type: Input
809
+ }], ariaLabel: [{
810
+ type: Input
811
+ }], ariaBusy: [{
812
+ type: Input
813
+ }], ariaChecked: [{
814
+ type: Input
815
+ }], ariaDisabled: [{
816
+ type: Input
817
+ }], ariaExpanded: [{
818
+ type: Input
819
+ }], ariaHidden: [{
820
+ type: Input
821
+ }], ariaLabelledBy: [{
822
+ type: Input
823
+ }], ariaLive: [{
824
+ type: Input
825
+ }], ariaSelected: [{
826
+ type: Input
827
+ }], ariaModal: [{
828
+ type: Input
829
+ }], ariaValueMax: [{
830
+ type: Input
831
+ }], ariaValueMin: [{
832
+ type: Input
833
+ }], ariaValueNow: [{
834
+ type: Input
835
+ }], ariaValueText: [{
836
+ type: Input
837
+ }], id: [{
838
+ type: Input
839
+ }], role: [{
840
+ type: Input
841
+ }] } });
842
+ export class TouchableWithoutFeedback {
843
+ // delayPressIn/delayPressOut/minPressDuration ride the prop type for surface parity with the
844
+ // other two, but TouchableWithoutFeedback has no visual feedback, so nothing schedules off them
845
+ // (RN's TouchableWithoutFeedback is the same pure passthrough).
846
+ press = new EventEmitter();
847
+ pressIn = new EventEmitter();
848
+ pressOut = new EventEmitter();
849
+ pressMove = new EventEmitter();
850
+ longPress = new EventEmitter();
851
+ hoverIn = new EventEmitter();
852
+ hoverOut = new EventEmitter();
853
+ accessibilityAction = new EventEmitter();
854
+ accessibilityTap = new EventEmitter();
855
+ magicTap = new EventEmitter();
856
+ accessibilityEscape = new EventEmitter();
857
+ delayPressIn;
858
+ delayPressOut;
859
+ minPressDuration;
860
+ style;
861
+ delayLongPress;
862
+ delayHoverIn;
863
+ delayHoverOut;
864
+ disabled;
865
+ cancelable;
866
+ hitSlop;
867
+ pressRetentionOffset;
868
+ unstable_pressDelay;
869
+ android_ripple;
870
+ android_disableSound;
871
+ testID;
872
+ nativeID;
873
+ hasTVPreferredFocus;
874
+ nextFocusDown;
875
+ nextFocusForward;
876
+ nextFocusLeft;
877
+ nextFocusRight;
878
+ nextFocusUp;
879
+ accessible;
880
+ accessibilityLabel;
881
+ accessibilityHint;
882
+ accessibilityRole;
883
+ accessibilityState;
884
+ accessibilityValue;
885
+ accessibilityActions;
886
+ accessibilityLabelledBy;
887
+ importantForAccessibility;
888
+ accessibilityLiveRegion;
889
+ screenReaderFocusable;
890
+ accessibilityViewIsModal;
891
+ accessibilityElementsHidden;
892
+ accessibilityIgnoresInvertColors;
893
+ accessibilityLanguage;
894
+ accessibilityRespondsToUserInteraction;
895
+ accessibilityShowsLargeContentViewer;
896
+ accessibilityLargeContentTitle;
897
+ ariaLabel;
898
+ ariaBusy;
899
+ ariaChecked;
900
+ ariaDisabled;
901
+ ariaExpanded;
902
+ ariaHidden;
903
+ ariaLabelledBy;
904
+ ariaLive;
905
+ ariaSelected;
906
+ ariaModal;
907
+ ariaValueMax;
908
+ ariaValueMin;
909
+ ariaValueNow;
910
+ ariaValueText;
911
+ id;
912
+ role;
913
+ // This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
914
+ // onto (see anchorHostStyle's doc comment) — NOT the Pressable one level down.
915
+ elementRef = inject(ElementRef);
916
+ // The anchor's class-derived style goes first, then the explicit style, so an explicit [style]
917
+ // still beats the ambient class.
918
+ get mergedStyle() {
919
+ return [anchorStyleProp(this.elementRef), this.style];
920
+ }
921
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TouchableWithoutFeedback, deps: [], target: i0.ɵɵFactoryTarget.Component });
922
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: TouchableWithoutFeedback, isStandalone: true, selector: "TouchableWithoutFeedback", inputs: { delayPressIn: "delayPressIn", delayPressOut: "delayPressOut", minPressDuration: "minPressDuration", style: "style", delayLongPress: "delayLongPress", delayHoverIn: "delayHoverIn", delayHoverOut: "delayHoverOut", disabled: "disabled", cancelable: "cancelable", hitSlop: "hitSlop", pressRetentionOffset: "pressRetentionOffset", unstable_pressDelay: "unstable_pressDelay", android_ripple: "android_ripple", android_disableSound: "android_disableSound", testID: "testID", nativeID: "nativeID", hasTVPreferredFocus: "hasTVPreferredFocus", nextFocusDown: "nextFocusDown", nextFocusForward: "nextFocusForward", nextFocusLeft: "nextFocusLeft", nextFocusRight: "nextFocusRight", nextFocusUp: "nextFocusUp", 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", ariaLabel: "ariaLabel", ariaBusy: "ariaBusy", ariaChecked: "ariaChecked", ariaDisabled: "ariaDisabled", ariaExpanded: "ariaExpanded", ariaHidden: "ariaHidden", ariaLabelledBy: "ariaLabelledBy", ariaLive: "ariaLive", ariaSelected: "ariaSelected", ariaModal: "ariaModal", ariaValueMax: "ariaValueMax", ariaValueMin: "ariaValueMin", ariaValueNow: "ariaValueNow", ariaValueText: "ariaValueText", id: "id", role: "role" }, outputs: { press: "press", pressIn: "pressIn", pressOut: "pressOut", pressMove: "pressMove", longPress: "longPress", hoverIn: "hoverIn", hoverOut: "hoverOut", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, ngImport: i0, template: `
923
+ <Pressable
924
+ [style]="mergedStyle"
925
+ (press)="press.emit($event)"
926
+ (pressIn)="pressIn.emit($event)"
927
+ (pressOut)="pressOut.emit($event)"
928
+ (pressMove)="pressMove.emit($event)"
929
+ (longPress)="longPress.emit($event)"
930
+ (hoverIn)="hoverIn.emit($event)"
931
+ (hoverOut)="hoverOut.emit($event)"
932
+ [delayLongPress]="delayLongPress"
933
+ [delayHoverIn]="delayHoverIn"
934
+ [delayHoverOut]="delayHoverOut"
935
+ [disabled]="disabled"
936
+ [cancelable]="cancelable"
937
+ [hitSlop]="hitSlop"
938
+ [pressRetentionOffset]="pressRetentionOffset"
939
+ [unstable_pressDelay]="unstable_pressDelay"
940
+ [android_ripple]="android_ripple"
941
+ [android_disableSound]="android_disableSound"
942
+ [testID]="testID"
943
+ [nativeID]="nativeID"
944
+ [hasTVPreferredFocus]="hasTVPreferredFocus"
945
+ [nextFocusDown]="nextFocusDown"
946
+ [nextFocusForward]="nextFocusForward"
947
+ [nextFocusLeft]="nextFocusLeft"
948
+ [nextFocusRight]="nextFocusRight"
949
+ [nextFocusUp]="nextFocusUp"
950
+ [accessible]="accessible"
951
+ [accessibilityLabel]="accessibilityLabel"
952
+ [accessibilityHint]="accessibilityHint"
953
+ [accessibilityRole]="accessibilityRole"
954
+ [accessibilityState]="accessibilityState"
955
+ [accessibilityValue]="accessibilityValue"
956
+ [accessibilityActions]="accessibilityActions"
957
+ [accessibilityLabelledBy]="accessibilityLabelledBy"
958
+ [importantForAccessibility]="importantForAccessibility"
959
+ [accessibilityLiveRegion]="accessibilityLiveRegion"
960
+ [screenReaderFocusable]="screenReaderFocusable"
961
+ [accessibilityViewIsModal]="accessibilityViewIsModal"
962
+ [accessibilityElementsHidden]="accessibilityElementsHidden"
963
+ [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
964
+ [accessibilityLanguage]="accessibilityLanguage"
965
+ [accessibilityRespondsToUserInteraction]="accessibilityRespondsToUserInteraction"
966
+ [accessibilityShowsLargeContentViewer]="accessibilityShowsLargeContentViewer"
967
+ [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
968
+ (accessibilityAction)="accessibilityAction.emit($event)"
969
+ (accessibilityTap)="accessibilityTap.emit($event)"
970
+ (magicTap)="magicTap.emit($event)"
971
+ (accessibilityEscape)="accessibilityEscape.emit($event)"
972
+ [ariaLabel]="ariaLabel"
973
+ [ariaBusy]="ariaBusy"
974
+ [ariaChecked]="ariaChecked"
975
+ [ariaDisabled]="ariaDisabled"
976
+ [ariaExpanded]="ariaExpanded"
977
+ [ariaHidden]="ariaHidden"
978
+ [ariaLabelledBy]="ariaLabelledBy"
979
+ [ariaLive]="ariaLive"
980
+ [ariaSelected]="ariaSelected"
981
+ [ariaModal]="ariaModal"
982
+ [ariaValueMax]="ariaValueMax"
983
+ [ariaValueMin]="ariaValueMin"
984
+ [ariaValueNow]="ariaValueNow"
985
+ [ariaValueText]="ariaValueText"
986
+ [id]="id"
987
+ [role]="role"
988
+ >
989
+ <ng-content></ng-content>
990
+ </Pressable>
991
+ `, isInline: true, dependencies: [{ kind: "component", type: Pressable, selector: "Pressable, symbiote-pressable", inputs: ["delayLongPress", "disabled", "cancelable", "hitSlop", "pressRetentionOffset", "unstable_pressDelay", "android_ripple", "android_disableSound", "delayHoverIn", "delayHoverOut", "testID", "nativeID", "hasTVPreferredFocus", "nextFocusDown", "nextFocusForward", "nextFocusLeft", "nextFocusRight", "nextFocusUp", "style", "accessible", "accessibilityLabel", "accessibilityHint", "accessibilityRole", "accessibilityState", "accessibilityValue", "accessibilityActions", "accessibilityLabelledBy", "importantForAccessibility", "accessibilityLiveRegion", "screenReaderFocusable", "accessibilityViewIsModal", "accessibilityElementsHidden", "accessibilityIgnoresInvertColors", "accessibilityLanguage", "accessibilityRespondsToUserInteraction", "accessibilityShowsLargeContentViewer", "accessibilityLargeContentTitle", "ariaLabel", "ariaBusy", "ariaChecked", "ariaDisabled", "ariaExpanded", "ariaHidden", "ariaLabelledBy", "ariaLive", "ariaSelected", "ariaModal", "ariaValueMax", "ariaValueMin", "ariaValueNow", "ariaValueText", "id", "role"], outputs: ["press", "pressIn", "pressOut", "pressMove", "longPress", "hoverIn", "hoverOut", "accessibilityAction", "accessibilityTap", "magicTap", "accessibilityEscape"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
992
+ }
993
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: TouchableWithoutFeedback, decorators: [{
994
+ type: Component,
995
+ args: [{
996
+ selector: 'TouchableWithoutFeedback',
997
+ standalone: true,
998
+ imports: [Pressable],
999
+ changeDetection: ChangeDetectionStrategy.OnPush,
1000
+ template: `
1001
+ <Pressable
1002
+ [style]="mergedStyle"
1003
+ (press)="press.emit($event)"
1004
+ (pressIn)="pressIn.emit($event)"
1005
+ (pressOut)="pressOut.emit($event)"
1006
+ (pressMove)="pressMove.emit($event)"
1007
+ (longPress)="longPress.emit($event)"
1008
+ (hoverIn)="hoverIn.emit($event)"
1009
+ (hoverOut)="hoverOut.emit($event)"
1010
+ [delayLongPress]="delayLongPress"
1011
+ [delayHoverIn]="delayHoverIn"
1012
+ [delayHoverOut]="delayHoverOut"
1013
+ [disabled]="disabled"
1014
+ [cancelable]="cancelable"
1015
+ [hitSlop]="hitSlop"
1016
+ [pressRetentionOffset]="pressRetentionOffset"
1017
+ [unstable_pressDelay]="unstable_pressDelay"
1018
+ [android_ripple]="android_ripple"
1019
+ [android_disableSound]="android_disableSound"
1020
+ [testID]="testID"
1021
+ [nativeID]="nativeID"
1022
+ [hasTVPreferredFocus]="hasTVPreferredFocus"
1023
+ [nextFocusDown]="nextFocusDown"
1024
+ [nextFocusForward]="nextFocusForward"
1025
+ [nextFocusLeft]="nextFocusLeft"
1026
+ [nextFocusRight]="nextFocusRight"
1027
+ [nextFocusUp]="nextFocusUp"
1028
+ [accessible]="accessible"
1029
+ [accessibilityLabel]="accessibilityLabel"
1030
+ [accessibilityHint]="accessibilityHint"
1031
+ [accessibilityRole]="accessibilityRole"
1032
+ [accessibilityState]="accessibilityState"
1033
+ [accessibilityValue]="accessibilityValue"
1034
+ [accessibilityActions]="accessibilityActions"
1035
+ [accessibilityLabelledBy]="accessibilityLabelledBy"
1036
+ [importantForAccessibility]="importantForAccessibility"
1037
+ [accessibilityLiveRegion]="accessibilityLiveRegion"
1038
+ [screenReaderFocusable]="screenReaderFocusable"
1039
+ [accessibilityViewIsModal]="accessibilityViewIsModal"
1040
+ [accessibilityElementsHidden]="accessibilityElementsHidden"
1041
+ [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
1042
+ [accessibilityLanguage]="accessibilityLanguage"
1043
+ [accessibilityRespondsToUserInteraction]="accessibilityRespondsToUserInteraction"
1044
+ [accessibilityShowsLargeContentViewer]="accessibilityShowsLargeContentViewer"
1045
+ [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
1046
+ (accessibilityAction)="accessibilityAction.emit($event)"
1047
+ (accessibilityTap)="accessibilityTap.emit($event)"
1048
+ (magicTap)="magicTap.emit($event)"
1049
+ (accessibilityEscape)="accessibilityEscape.emit($event)"
1050
+ [ariaLabel]="ariaLabel"
1051
+ [ariaBusy]="ariaBusy"
1052
+ [ariaChecked]="ariaChecked"
1053
+ [ariaDisabled]="ariaDisabled"
1054
+ [ariaExpanded]="ariaExpanded"
1055
+ [ariaHidden]="ariaHidden"
1056
+ [ariaLabelledBy]="ariaLabelledBy"
1057
+ [ariaLive]="ariaLive"
1058
+ [ariaSelected]="ariaSelected"
1059
+ [ariaModal]="ariaModal"
1060
+ [ariaValueMax]="ariaValueMax"
1061
+ [ariaValueMin]="ariaValueMin"
1062
+ [ariaValueNow]="ariaValueNow"
1063
+ [ariaValueText]="ariaValueText"
1064
+ [id]="id"
1065
+ [role]="role"
1066
+ >
1067
+ <ng-content></ng-content>
1068
+ </Pressable>
1069
+ `,
1070
+ }]
1071
+ }], propDecorators: { press: [{
1072
+ type: Output
1073
+ }], pressIn: [{
1074
+ type: Output
1075
+ }], pressOut: [{
1076
+ type: Output
1077
+ }], pressMove: [{
1078
+ type: Output
1079
+ }], longPress: [{
1080
+ type: Output
1081
+ }], hoverIn: [{
1082
+ type: Output
1083
+ }], hoverOut: [{
1084
+ type: Output
1085
+ }], accessibilityAction: [{
1086
+ type: Output
1087
+ }], accessibilityTap: [{
1088
+ type: Output
1089
+ }], magicTap: [{
1090
+ type: Output
1091
+ }], accessibilityEscape: [{
1092
+ type: Output
1093
+ }], delayPressIn: [{
1094
+ type: Input
1095
+ }], delayPressOut: [{
1096
+ type: Input
1097
+ }], minPressDuration: [{
1098
+ type: Input
1099
+ }], style: [{
1100
+ type: Input
1101
+ }], delayLongPress: [{
1102
+ type: Input
1103
+ }], delayHoverIn: [{
1104
+ type: Input
1105
+ }], delayHoverOut: [{
1106
+ type: Input
1107
+ }], disabled: [{
1108
+ type: Input
1109
+ }], cancelable: [{
1110
+ type: Input
1111
+ }], hitSlop: [{
1112
+ type: Input
1113
+ }], pressRetentionOffset: [{
1114
+ type: Input
1115
+ }], unstable_pressDelay: [{
1116
+ type: Input
1117
+ }], android_ripple: [{
1118
+ type: Input
1119
+ }], android_disableSound: [{
1120
+ type: Input
1121
+ }], testID: [{
1122
+ type: Input
1123
+ }], nativeID: [{
1124
+ type: Input
1125
+ }], hasTVPreferredFocus: [{
1126
+ type: Input
1127
+ }], nextFocusDown: [{
1128
+ type: Input
1129
+ }], nextFocusForward: [{
1130
+ type: Input
1131
+ }], nextFocusLeft: [{
1132
+ type: Input
1133
+ }], nextFocusRight: [{
1134
+ type: Input
1135
+ }], nextFocusUp: [{
1136
+ type: Input
1137
+ }], accessible: [{
1138
+ type: Input
1139
+ }], accessibilityLabel: [{
1140
+ type: Input
1141
+ }], accessibilityHint: [{
1142
+ type: Input
1143
+ }], accessibilityRole: [{
1144
+ type: Input
1145
+ }], accessibilityState: [{
1146
+ type: Input
1147
+ }], accessibilityValue: [{
1148
+ type: Input
1149
+ }], accessibilityActions: [{
1150
+ type: Input
1151
+ }], accessibilityLabelledBy: [{
1152
+ type: Input
1153
+ }], importantForAccessibility: [{
1154
+ type: Input
1155
+ }], accessibilityLiveRegion: [{
1156
+ type: Input
1157
+ }], screenReaderFocusable: [{
1158
+ type: Input
1159
+ }], accessibilityViewIsModal: [{
1160
+ type: Input
1161
+ }], accessibilityElementsHidden: [{
1162
+ type: Input
1163
+ }], accessibilityIgnoresInvertColors: [{
1164
+ type: Input
1165
+ }], accessibilityLanguage: [{
1166
+ type: Input
1167
+ }], accessibilityRespondsToUserInteraction: [{
1168
+ type: Input
1169
+ }], accessibilityShowsLargeContentViewer: [{
1170
+ type: Input
1171
+ }], accessibilityLargeContentTitle: [{
1172
+ type: Input
1173
+ }], ariaLabel: [{
1174
+ type: Input
1175
+ }], ariaBusy: [{
1176
+ type: Input
1177
+ }], ariaChecked: [{
1178
+ type: Input
1179
+ }], ariaDisabled: [{
1180
+ type: Input
1181
+ }], ariaExpanded: [{
1182
+ type: Input
1183
+ }], ariaHidden: [{
1184
+ type: Input
1185
+ }], ariaLabelledBy: [{
1186
+ type: Input
1187
+ }], ariaLive: [{
1188
+ type: Input
1189
+ }], ariaSelected: [{
1190
+ type: Input
1191
+ }], ariaModal: [{
1192
+ type: Input
1193
+ }], ariaValueMax: [{
1194
+ type: Input
1195
+ }], ariaValueMin: [{
1196
+ type: Input
1197
+ }], ariaValueNow: [{
1198
+ type: Input
1199
+ }], ariaValueText: [{
1200
+ type: Input
1201
+ }], id: [{
1202
+ type: Input
1203
+ }], role: [{
1204
+ type: Input
1205
+ }] } });
1206
+ //# sourceMappingURL=touchable.js.map