@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,421 @@
1
+ import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, inject, Input, Output, ViewChild, } from '@angular/core';
2
+ import { createPressHandlers, createPressRuntime, DEFAULT_DELAY_LONG_PRESS_MS, resolveAccessibilityProps, resolveDisabledAccessibilityState, rippleProps, } from '@symbiote-native/components';
3
+ import { dlog, isSymbioteNode, measure, } from '@symbiote-native/engine';
4
+ import { anchorHostStyle, SymbioteHostPropsDirective, ViewHost } from '../../primitives';
5
+ import * as i0 from "@angular/core";
6
+ function isStyleFn(value) {
7
+ return typeof value === 'function';
8
+ }
9
+ function asSymbioteEvent(event) {
10
+ return typeof event === 'object' && event !== null && 'nativeEvent' in event
11
+ ? event
12
+ : undefined;
13
+ }
14
+ export class Pressable {
15
+ // The press/hover lifecycle as real Angular events: `(press)="onTap($event)"`, not
16
+ // `[onPress]="onTap"`. createPressHandlers still wants plain IPressHandler callbacks, so
17
+ // emitterHandler() below adapts each EventEmitter into one — only while something is actually
18
+ // subscribed (`.observed`), so an unbound onLongPress still skips arming the timer, exactly as
19
+ // the old @Input()-absent case did.
20
+ press = new EventEmitter();
21
+ pressIn = new EventEmitter();
22
+ pressOut = new EventEmitter();
23
+ pressMove = new EventEmitter();
24
+ longPress = new EventEmitter();
25
+ hoverIn = new EventEmitter();
26
+ hoverOut = new EventEmitter();
27
+ // The four accessibility callbacks as real Angular events too, same tradeoff as press/hover
28
+ // above: `(accessibilityAction)="emit(accessibilityAction, $event)"`, not
29
+ // `[onAccessibilityAction]="onAccessibilityAction"`.
30
+ accessibilityAction = new EventEmitter();
31
+ accessibilityTap = new EventEmitter();
32
+ magicTap = new EventEmitter();
33
+ accessibilityEscape = new EventEmitter();
34
+ delayLongPress;
35
+ disabled;
36
+ cancelable;
37
+ hitSlop;
38
+ pressRetentionOffset;
39
+ unstable_pressDelay;
40
+ android_ripple;
41
+ android_disableSound;
42
+ delayHoverIn;
43
+ delayHoverOut;
44
+ testID;
45
+ nativeID;
46
+ hasTVPreferredFocus;
47
+ nextFocusDown;
48
+ nextFocusForward;
49
+ nextFocusLeft;
50
+ nextFocusRight;
51
+ nextFocusUp;
52
+ style;
53
+ accessible;
54
+ accessibilityLabel;
55
+ accessibilityHint;
56
+ accessibilityRole;
57
+ accessibilityState;
58
+ accessibilityValue;
59
+ accessibilityActions;
60
+ accessibilityLabelledBy;
61
+ importantForAccessibility;
62
+ accessibilityLiveRegion;
63
+ screenReaderFocusable;
64
+ accessibilityViewIsModal;
65
+ accessibilityElementsHidden;
66
+ accessibilityIgnoresInvertColors;
67
+ accessibilityLanguage;
68
+ accessibilityRespondsToUserInteraction;
69
+ accessibilityShowsLargeContentViewer;
70
+ accessibilityLargeContentTitle;
71
+ ariaLabel;
72
+ ariaBusy;
73
+ ariaChecked;
74
+ ariaDisabled;
75
+ ariaExpanded;
76
+ ariaHidden;
77
+ ariaLabelledBy;
78
+ ariaLive;
79
+ ariaSelected;
80
+ ariaModal;
81
+ ariaValueMax;
82
+ ariaValueMin;
83
+ ariaValueNow;
84
+ ariaValueText;
85
+ id;
86
+ role;
87
+ hostElement;
88
+ pressed = false;
89
+ runtime = createPressRuntime();
90
+ host = {
91
+ setPressed: pressed => {
92
+ this.pressed = pressed;
93
+ this.changeDetector.detectChanges();
94
+ },
95
+ getMeasureFn: () => {
96
+ const node = this.hostNode;
97
+ if (node === undefined)
98
+ return undefined;
99
+ return callback => measure(node, callback);
100
+ },
101
+ schedule: (callback, ms) => {
102
+ const id = setTimeout(callback, ms);
103
+ return () => clearTimeout(id);
104
+ },
105
+ };
106
+ changeDetector = inject(ChangeDetectorRef);
107
+ // This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
108
+ // onto (see anchorHostStyle's doc comment) — NOT `hostElement` above, which targets the real
109
+ // inner `symbiote-view` one level down.
110
+ elementRef = inject(ElementRef);
111
+ get resolvedStyle() {
112
+ const state = { pressed: this.pressed };
113
+ return isStyleFn(this.style) ? this.style(state) : this.style;
114
+ }
115
+ get foldedAccessibility() {
116
+ return resolveAccessibilityProps({
117
+ accessibilityLabel: this.accessibilityLabel,
118
+ accessibilityHint: this.accessibilityHint,
119
+ accessibilityRole: this.accessibilityRole,
120
+ accessibilityState: resolveDisabledAccessibilityState(this.accessibilityState, this.disabled),
121
+ accessibilityValue: this.accessibilityValue,
122
+ accessibilityActions: this.accessibilityActions,
123
+ accessibilityLabelledBy: this.accessibilityLabelledBy,
124
+ importantForAccessibility: this.importantForAccessibility,
125
+ accessibilityLiveRegion: this.accessibilityLiveRegion,
126
+ screenReaderFocusable: this.screenReaderFocusable,
127
+ accessibilityViewIsModal: this.accessibilityViewIsModal,
128
+ accessibilityElementsHidden: this.accessibilityElementsHidden,
129
+ accessibilityIgnoresInvertColors: this.accessibilityIgnoresInvertColors,
130
+ accessibilityLanguage: this.accessibilityLanguage,
131
+ accessibilityRespondsToUserInteraction: this.accessibilityRespondsToUserInteraction,
132
+ accessibilityShowsLargeContentViewer: this.accessibilityShowsLargeContentViewer,
133
+ accessibilityLargeContentTitle: this.accessibilityLargeContentTitle,
134
+ 'aria-label': this.ariaLabel,
135
+ 'aria-busy': this.ariaBusy,
136
+ 'aria-checked': this.ariaChecked,
137
+ 'aria-disabled': this.ariaDisabled,
138
+ 'aria-expanded': this.ariaExpanded,
139
+ 'aria-hidden': this.ariaHidden,
140
+ 'aria-labelledby': this.ariaLabelledBy,
141
+ 'aria-live': this.ariaLive,
142
+ 'aria-selected': this.ariaSelected,
143
+ 'aria-modal': this.ariaModal,
144
+ 'aria-valuemax': this.ariaValueMax,
145
+ 'aria-valuemin': this.ariaValueMin,
146
+ 'aria-valuenow': this.ariaValueNow,
147
+ 'aria-valuetext': this.ariaValueText,
148
+ id: this.id,
149
+ role: this.role,
150
+ });
151
+ }
152
+ get resolvedRippleProps() {
153
+ return this.android_ripple === undefined ? undefined : rippleProps(this.android_ripple);
154
+ }
155
+ // Assembles the SAME resolved values the template used to bind one-by-one into a single
156
+ // flat bag for `[symbioteHostProps]` (Renderer2.setProperty per key) — see primitives/shared.ts.
157
+ get hostProps() {
158
+ return {
159
+ testID: this.testID,
160
+ nativeID: this.nativeID,
161
+ hasTVPreferredFocus: this.hasTVPreferredFocus,
162
+ nextFocusDown: this.nextFocusDown,
163
+ nextFocusForward: this.nextFocusForward,
164
+ nextFocusLeft: this.nextFocusLeft,
165
+ nextFocusRight: this.nextFocusRight,
166
+ nextFocusUp: this.nextFocusUp,
167
+ style: [anchorHostStyle(this.elementRef), this.resolvedStyle],
168
+ accessible: this.accessible,
169
+ ...this.foldedAccessibility,
170
+ android_disableSound: this.android_disableSound,
171
+ nativeBackgroundAndroid: this.resolvedRippleProps?.nativeBackgroundAndroid,
172
+ nativeForegroundAndroid: this.resolvedRippleProps?.nativeForegroundAndroid,
173
+ };
174
+ }
175
+ handlePressIn(event) {
176
+ const symbioteEvent = asSymbioteEvent(event);
177
+ if (this.disabled === true || symbioteEvent === undefined)
178
+ return;
179
+ this.handlers.handlePressIn(symbioteEvent);
180
+ }
181
+ handlePressOut(event) {
182
+ const symbioteEvent = asSymbioteEvent(event);
183
+ if (this.disabled === true || symbioteEvent === undefined)
184
+ return;
185
+ this.handlers.handlePressOut(symbioteEvent);
186
+ }
187
+ handlePress(event) {
188
+ const symbioteEvent = asSymbioteEvent(event);
189
+ if (this.disabled === true || symbioteEvent === undefined)
190
+ return;
191
+ this.handlers.handlePress(symbioteEvent);
192
+ }
193
+ handleResponderMove(event) {
194
+ const symbioteEvent = asSymbioteEvent(event);
195
+ if (this.disabled === true || symbioteEvent === undefined)
196
+ return;
197
+ this.handlers.handleResponderMove(symbioteEvent);
198
+ }
199
+ claimResponder() {
200
+ return this.disabled !== true;
201
+ }
202
+ allowTermination() {
203
+ return this.cancelable !== false;
204
+ }
205
+ emit(emitter, event) {
206
+ const symbioteEvent = asSymbioteEvent(event);
207
+ if (symbioteEvent !== undefined)
208
+ emitter.emit(symbioteEvent);
209
+ }
210
+ // Hover has no event on a touch host (no pointer-enter/leave); this only records that someone
211
+ // is listening anyway, mirroring core's noteHoverNoop but off `.observed` instead of an @Input.
212
+ noteHoverNoop() {
213
+ if (this.hoverIn.observed || this.hoverOut.observed) {
214
+ dlog('Pressable hover is a no-op on this host (no pointer-enter/leave event)');
215
+ }
216
+ }
217
+ // Wraps an @Output() as an IPressHandler only while it has a subscriber, so an unbound
218
+ // (longPress) still skips arming the timer — the same "undefined means nobody cares" contract
219
+ // createPressHandlers had with the old @Input() callbacks.
220
+ emitterHandler(emitter) {
221
+ return emitter.observed ? event => emitter.emit(event) : undefined;
222
+ }
223
+ get handlers() {
224
+ this.noteHoverNoop();
225
+ const config = {
226
+ onPress: this.emitterHandler(this.press),
227
+ onPressIn: this.emitterHandler(this.pressIn),
228
+ onPressOut: this.emitterHandler(this.pressOut),
229
+ onPressMove: this.emitterHandler(this.pressMove),
230
+ onLongPress: this.emitterHandler(this.longPress),
231
+ delayLongPress: this.delayLongPress ?? DEFAULT_DELAY_LONG_PRESS_MS,
232
+ unstable_pressDelay: this.unstable_pressDelay ?? 0,
233
+ hitSlop: this.hitSlop,
234
+ pressRetentionOffset: this.pressRetentionOffset,
235
+ };
236
+ return createPressHandlers(config, this.runtime, this.host);
237
+ }
238
+ get hostNode() {
239
+ const native = this.hostElement?.nativeElement;
240
+ return isSymbioteNode(native) ? native : undefined;
241
+ }
242
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: Pressable, deps: [], target: i0.ɵɵFactoryTarget.Component });
243
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: Pressable, isStandalone: true, selector: "Pressable, symbiote-pressable", inputs: { delayLongPress: "delayLongPress", disabled: "disabled", cancelable: "cancelable", hitSlop: "hitSlop", pressRetentionOffset: "pressRetentionOffset", unstable_pressDelay: "unstable_pressDelay", android_ripple: "android_ripple", android_disableSound: "android_disableSound", delayHoverIn: "delayHoverIn", delayHoverOut: "delayHoverOut", testID: "testID", nativeID: "nativeID", hasTVPreferredFocus: "hasTVPreferredFocus", nextFocusDown: "nextFocusDown", nextFocusForward: "nextFocusForward", nextFocusLeft: "nextFocusLeft", nextFocusRight: "nextFocusRight", nextFocusUp: "nextFocusUp", style: "style", 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" }, viewQueries: [{ propertyName: "hostElement", first: true, predicate: ["host"], descendants: true, read: ElementRef }], ngImport: i0, template: `
244
+ <symbiote-view
245
+ #host
246
+ [symbioteHostProps]="hostProps"
247
+ (accessibilityAction)="emit(accessibilityAction, $event)"
248
+ (accessibilityTap)="emit(accessibilityTap, $event)"
249
+ (magicTap)="emit(magicTap, $event)"
250
+ (accessibilityEscape)="emit(accessibilityEscape, $event)"
251
+ (press)="handlePress($event)"
252
+ (pressIn)="handlePressIn($event)"
253
+ (pressOut)="handlePressOut($event)"
254
+ (responderMove)="handleResponderMove($event)"
255
+ (startShouldSetResponder)="claimResponder()"
256
+ (responderTerminationRequest)="allowTermination()"
257
+ >
258
+ <ng-content></ng-content>
259
+ </symbiote-view>
260
+ `, isInline: true, dependencies: [{ kind: "component", type: ViewHost, selector: "symbiote-view, View" }, { kind: "directive", type: SymbioteHostPropsDirective, selector: "[symbioteHostProps]", inputs: ["symbioteHostProps"], exportAs: ["symbioteHost"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
261
+ }
262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: Pressable, decorators: [{
263
+ type: Component,
264
+ args: [{
265
+ selector: 'Pressable, symbiote-pressable',
266
+ standalone: true,
267
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
268
+ imports: [ViewHost, SymbioteHostPropsDirective],
269
+ template: `
270
+ <symbiote-view
271
+ #host
272
+ [symbioteHostProps]="hostProps"
273
+ (accessibilityAction)="emit(accessibilityAction, $event)"
274
+ (accessibilityTap)="emit(accessibilityTap, $event)"
275
+ (magicTap)="emit(magicTap, $event)"
276
+ (accessibilityEscape)="emit(accessibilityEscape, $event)"
277
+ (press)="handlePress($event)"
278
+ (pressIn)="handlePressIn($event)"
279
+ (pressOut)="handlePressOut($event)"
280
+ (responderMove)="handleResponderMove($event)"
281
+ (startShouldSetResponder)="claimResponder()"
282
+ (responderTerminationRequest)="allowTermination()"
283
+ >
284
+ <ng-content></ng-content>
285
+ </symbiote-view>
286
+ `,
287
+ changeDetection: ChangeDetectionStrategy.OnPush,
288
+ }]
289
+ }], propDecorators: { press: [{
290
+ type: Output
291
+ }], pressIn: [{
292
+ type: Output
293
+ }], pressOut: [{
294
+ type: Output
295
+ }], pressMove: [{
296
+ type: Output
297
+ }], longPress: [{
298
+ type: Output
299
+ }], hoverIn: [{
300
+ type: Output
301
+ }], hoverOut: [{
302
+ type: Output
303
+ }], accessibilityAction: [{
304
+ type: Output
305
+ }], accessibilityTap: [{
306
+ type: Output
307
+ }], magicTap: [{
308
+ type: Output
309
+ }], accessibilityEscape: [{
310
+ type: Output
311
+ }], delayLongPress: [{
312
+ type: Input
313
+ }], disabled: [{
314
+ type: Input
315
+ }], cancelable: [{
316
+ type: Input
317
+ }], hitSlop: [{
318
+ type: Input
319
+ }], pressRetentionOffset: [{
320
+ type: Input
321
+ }], unstable_pressDelay: [{
322
+ type: Input
323
+ }], android_ripple: [{
324
+ type: Input
325
+ }], android_disableSound: [{
326
+ type: Input
327
+ }], delayHoverIn: [{
328
+ type: Input
329
+ }], delayHoverOut: [{
330
+ type: Input
331
+ }], testID: [{
332
+ type: Input
333
+ }], nativeID: [{
334
+ type: Input
335
+ }], hasTVPreferredFocus: [{
336
+ type: Input
337
+ }], nextFocusDown: [{
338
+ type: Input
339
+ }], nextFocusForward: [{
340
+ type: Input
341
+ }], nextFocusLeft: [{
342
+ type: Input
343
+ }], nextFocusRight: [{
344
+ type: Input
345
+ }], nextFocusUp: [{
346
+ type: Input
347
+ }], style: [{
348
+ type: Input
349
+ }], accessible: [{
350
+ type: Input
351
+ }], accessibilityLabel: [{
352
+ type: Input
353
+ }], accessibilityHint: [{
354
+ type: Input
355
+ }], accessibilityRole: [{
356
+ type: Input
357
+ }], accessibilityState: [{
358
+ type: Input
359
+ }], accessibilityValue: [{
360
+ type: Input
361
+ }], accessibilityActions: [{
362
+ type: Input
363
+ }], accessibilityLabelledBy: [{
364
+ type: Input
365
+ }], importantForAccessibility: [{
366
+ type: Input
367
+ }], accessibilityLiveRegion: [{
368
+ type: Input
369
+ }], screenReaderFocusable: [{
370
+ type: Input
371
+ }], accessibilityViewIsModal: [{
372
+ type: Input
373
+ }], accessibilityElementsHidden: [{
374
+ type: Input
375
+ }], accessibilityIgnoresInvertColors: [{
376
+ type: Input
377
+ }], accessibilityLanguage: [{
378
+ type: Input
379
+ }], accessibilityRespondsToUserInteraction: [{
380
+ type: Input
381
+ }], accessibilityShowsLargeContentViewer: [{
382
+ type: Input
383
+ }], accessibilityLargeContentTitle: [{
384
+ type: Input
385
+ }], ariaLabel: [{
386
+ type: Input
387
+ }], ariaBusy: [{
388
+ type: Input
389
+ }], ariaChecked: [{
390
+ type: Input
391
+ }], ariaDisabled: [{
392
+ type: Input
393
+ }], ariaExpanded: [{
394
+ type: Input
395
+ }], ariaHidden: [{
396
+ type: Input
397
+ }], ariaLabelledBy: [{
398
+ type: Input
399
+ }], ariaLive: [{
400
+ type: Input
401
+ }], ariaSelected: [{
402
+ type: Input
403
+ }], ariaModal: [{
404
+ type: Input
405
+ }], ariaValueMax: [{
406
+ type: Input
407
+ }], ariaValueMin: [{
408
+ type: Input
409
+ }], ariaValueNow: [{
410
+ type: Input
411
+ }], ariaValueText: [{
412
+ type: Input
413
+ }], id: [{
414
+ type: Input
415
+ }], role: [{
416
+ type: Input
417
+ }], hostElement: [{
418
+ type: ViewChild,
419
+ args: ['host', { read: ElementRef }]
420
+ }] } });
421
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/pressable/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import { EventEmitter, type AfterViewInit, type OnChanges, type OnInit, type SimpleChanges } from '@angular/core';
2
+ import { type IAccessibilityProps, type IAccessibilityStateValue, type IAriaProps } from '@symbiote-native/components';
3
+ import { type IStyleProp, type ISymbioteEvent, type IViewStyle } from '@symbiote-native/engine';
4
+ import * as i0 from "@angular/core";
5
+ type IHostProps = Record<string, unknown>;
6
+ export interface IAngularRefreshControlProps extends IAccessibilityProps, IAriaProps {
7
+ refreshing: boolean;
8
+ onRefresh?: () => void | Promise<void>;
9
+ tintColor?: string;
10
+ title?: string;
11
+ titleColor?: string;
12
+ progressViewOffset?: number;
13
+ colors?: readonly string[];
14
+ progressBackgroundColor?: string;
15
+ size?: 'default' | 'large';
16
+ enabled?: boolean;
17
+ style?: IStyleProp<IViewStyle>;
18
+ }
19
+ export type IAngularRefreshControlInputs = Omit<IAngularRefreshControlProps, 'onRefresh' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
20
+ export declare class RefreshControl implements IAngularRefreshControlInputs, OnInit, OnChanges, AfterViewInit {
21
+ refreshing: boolean;
22
+ readonly refresh: EventEmitter<void>;
23
+ tintColor?: string;
24
+ title?: string;
25
+ titleColor?: string;
26
+ progressViewOffset?: number;
27
+ colors?: readonly string[];
28
+ progressBackgroundColor?: string;
29
+ size?: 'default' | 'large';
30
+ enabled?: boolean;
31
+ style?: IStyleProp<IViewStyle>;
32
+ testID?: string;
33
+ nativeID?: string;
34
+ accessible?: boolean;
35
+ accessibilityLabel?: string;
36
+ accessibilityHint?: string;
37
+ accessibilityRole?: IAccessibilityProps['accessibilityRole'];
38
+ accessibilityState?: IAccessibilityStateValue;
39
+ accessibilityValue?: IAccessibilityProps['accessibilityValue'];
40
+ accessibilityActions?: IAccessibilityProps['accessibilityActions'];
41
+ accessibilityLabelledBy?: string | string[];
42
+ importantForAccessibility?: IAccessibilityProps['importantForAccessibility'];
43
+ accessibilityLiveRegion?: IAccessibilityProps['accessibilityLiveRegion'];
44
+ screenReaderFocusable?: boolean;
45
+ accessibilityViewIsModal?: boolean;
46
+ accessibilityElementsHidden?: boolean;
47
+ accessibilityIgnoresInvertColors?: boolean;
48
+ accessibilityLanguage?: string;
49
+ accessibilityRespondsToUserInteraction?: boolean;
50
+ accessibilityShowsLargeContentViewer?: boolean;
51
+ accessibilityLargeContentTitle?: string;
52
+ readonly accessibilityAction: EventEmitter<ISymbioteEvent>;
53
+ readonly accessibilityTap: EventEmitter<ISymbioteEvent>;
54
+ readonly magicTap: EventEmitter<ISymbioteEvent>;
55
+ readonly accessibilityEscape: EventEmitter<ISymbioteEvent>;
56
+ role?: IAriaProps['role'];
57
+ ariaLabel?: string;
58
+ ariaLabelledBy?: string;
59
+ ariaLive?: IAriaProps['aria-live'];
60
+ ariaHidden?: boolean;
61
+ ariaBusy?: boolean;
62
+ ariaChecked?: boolean | 'mixed';
63
+ ariaDisabled?: boolean;
64
+ ariaExpanded?: boolean;
65
+ ariaSelected?: boolean;
66
+ ariaModal?: boolean;
67
+ ariaValueMax?: number;
68
+ ariaValueMin?: number;
69
+ ariaValueNow?: number;
70
+ ariaValueText?: string;
71
+ private host?;
72
+ private readonly elementRef;
73
+ private lastNativeRefreshing;
74
+ private refreshNativeNode;
75
+ ngOnInit(): void;
76
+ ngAfterViewInit(): void;
77
+ ngOnChanges(changes: SimpleChanges): void;
78
+ handleRefresh(nativeNode?: unknown): void;
79
+ private syncNativeRefreshing;
80
+ emit(emitter: EventEmitter<ISymbioteEvent>, event: unknown): void;
81
+ get hostProps(): IHostProps;
82
+ get folded(): Partial<IAngularRefreshControlProps>;
83
+ static ɵfac: i0.ɵɵFactoryDeclaration<RefreshControl, never>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<RefreshControl, "RefreshControl", never, { "refreshing": { "alias": "refreshing"; "required": true; }; "tintColor": { "alias": "tintColor"; "required": false; }; "title": { "alias": "title"; "required": false; }; "titleColor": { "alias": "titleColor"; "required": false; }; "progressViewOffset": { "alias": "progressViewOffset"; "required": false; }; "colors": { "alias": "colors"; "required": false; }; "progressBackgroundColor": { "alias": "progressBackgroundColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; "enabled": { "alias": "enabled"; "required": false; }; "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; }; }, { "refresh": "refresh"; "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, never, ["*"], true, never>;
85
+ }
86
+ export {};