@symbiote-native/angular 0.0.0-canary-20260724081123

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +157 -0
  3. package/babel-linker.cjs +7 -0
  4. package/babel-register-composed.cjs +127 -0
  5. package/bin/symbiote-angular-dev.cjs +93 -0
  6. package/build/angular/anchor-host-registry.d.ts +2 -0
  7. package/build/angular/anchor-host-registry.js +84 -0
  8. package/build/angular/anchor-host-registry.js.map +1 -0
  9. package/build/angular/bootstrap.d.ts +7 -0
  10. package/build/angular/bootstrap.js +15 -0
  11. package/build/angular/bootstrap.js.map +1 -0
  12. package/build/angular/components/activity-indicator/index.android.d.ts +12 -0
  13. package/build/angular/components/activity-indicator/index.android.js +21 -0
  14. package/build/angular/components/activity-indicator/index.android.js.map +1 -0
  15. package/build/angular/components/activity-indicator/index.d.ts +1 -0
  16. package/build/angular/components/activity-indicator/index.ios.d.ts +8 -0
  17. package/build/angular/components/activity-indicator/index.ios.js +21 -0
  18. package/build/angular/components/activity-indicator/index.ios.js.map +1 -0
  19. package/build/angular/components/activity-indicator/index.js +4 -0
  20. package/build/angular/components/activity-indicator/index.js.map +1 -0
  21. package/build/angular/components/activity-indicator/shared.d.ts +67 -0
  22. package/build/angular/components/activity-indicator/shared.js +260 -0
  23. package/build/angular/components/activity-indicator/shared.js.map +1 -0
  24. package/build/angular/components/button.d.ts +63 -0
  25. package/build/angular/components/button.js +332 -0
  26. package/build/angular/components/button.js.map +1 -0
  27. package/build/angular/components/flat-list/index.d.ts +122 -0
  28. package/build/angular/components/flat-list/index.js +688 -0
  29. package/build/angular/components/flat-list/index.js.map +1 -0
  30. package/build/angular/components/image/index.android.d.ts +10 -0
  31. package/build/angular/components/image/index.android.js +59 -0
  32. package/build/angular/components/image/index.android.js.map +1 -0
  33. package/build/angular/components/image/index.d.ts +1 -0
  34. package/build/angular/components/image/index.ios.d.ts +10 -0
  35. package/build/angular/components/image/index.ios.js +59 -0
  36. package/build/angular/components/image/index.ios.js.map +1 -0
  37. package/build/angular/components/image/index.js +3 -0
  38. package/build/angular/components/image/index.js.map +1 -0
  39. package/build/angular/components/image/shared.d.ts +101 -0
  40. package/build/angular/components/image/shared.js +406 -0
  41. package/build/angular/components/image/shared.js.map +1 -0
  42. package/build/angular/components/image-background.d.ts +81 -0
  43. package/build/angular/components/image-background.js +418 -0
  44. package/build/angular/components/image-background.js.map +1 -0
  45. package/build/angular/components/input-accessory-view/index.d.ts +60 -0
  46. package/build/angular/components/input-accessory-view/index.js +251 -0
  47. package/build/angular/components/input-accessory-view/index.js.map +1 -0
  48. package/build/angular/components/keyboard-avoiding-view/index.d.ts +82 -0
  49. package/build/angular/components/keyboard-avoiding-view/index.js +358 -0
  50. package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -0
  51. package/build/angular/components/modal/index.d.ts +92 -0
  52. package/build/angular/components/modal/index.js +360 -0
  53. package/build/angular/components/modal/index.js.map +1 -0
  54. package/build/angular/components/pressable/index.d.ts +123 -0
  55. package/build/angular/components/pressable/index.js +420 -0
  56. package/build/angular/components/pressable/index.js.map +1 -0
  57. package/build/angular/components/refresh-control/index.d.ts +86 -0
  58. package/build/angular/components/refresh-control/index.js +342 -0
  59. package/build/angular/components/refresh-control/index.js.map +1 -0
  60. package/build/angular/components/safe-area-view/index.d.ts +57 -0
  61. package/build/angular/components/safe-area-view/index.js +248 -0
  62. package/build/angular/components/safe-area-view/index.js.map +1 -0
  63. package/build/angular/components/scroll-view/index.android.d.ts +21 -0
  64. package/build/angular/components/scroll-view/index.android.js +235 -0
  65. package/build/angular/components/scroll-view/index.android.js.map +1 -0
  66. package/build/angular/components/scroll-view/index.d.ts +3 -0
  67. package/build/angular/components/scroll-view/index.ios.d.ts +9 -0
  68. package/build/angular/components/scroll-view/index.ios.js +86 -0
  69. package/build/angular/components/scroll-view/index.ios.js.map +1 -0
  70. package/build/angular/components/scroll-view/index.js +6 -0
  71. package/build/angular/components/scroll-view/index.js.map +1 -0
  72. package/build/angular/components/scroll-view/projection.d.ts +32 -0
  73. package/build/angular/components/scroll-view/projection.js +334 -0
  74. package/build/angular/components/scroll-view/projection.js.map +1 -0
  75. package/build/angular/components/scroll-view/shared.d.ts +230 -0
  76. package/build/angular/components/scroll-view/shared.js +682 -0
  77. package/build/angular/components/scroll-view/shared.js.map +1 -0
  78. package/build/angular/components/scroll-view/sticky-header.d.ts +40 -0
  79. package/build/angular/components/scroll-view/sticky-header.js +225 -0
  80. package/build/angular/components/scroll-view/sticky-header.js.map +1 -0
  81. package/build/angular/components/section-list/index.d.ts +116 -0
  82. package/build/angular/components/section-list/index.js +641 -0
  83. package/build/angular/components/section-list/index.js.map +1 -0
  84. package/build/angular/components/switch/index.android.d.ts +20 -0
  85. package/build/angular/components/switch/index.android.js +70 -0
  86. package/build/angular/components/switch/index.android.js.map +1 -0
  87. package/build/angular/components/switch/index.d.ts +1 -0
  88. package/build/angular/components/switch/index.ios.d.ts +19 -0
  89. package/build/angular/components/switch/index.ios.js +69 -0
  90. package/build/angular/components/switch/index.ios.js.map +1 -0
  91. package/build/angular/components/switch/index.js +4 -0
  92. package/build/angular/components/switch/index.js.map +1 -0
  93. package/build/angular/components/switch/shared.d.ts +40 -0
  94. package/build/angular/components/switch/shared.js +127 -0
  95. package/build/angular/components/switch/shared.js.map +1 -0
  96. package/build/angular/components/text-input.d.ts +153 -0
  97. package/build/angular/components/text-input.js +599 -0
  98. package/build/angular/components/text-input.js.map +1 -0
  99. package/build/angular/components/touchable/index.d.ts +245 -0
  100. package/build/angular/components/touchable/index.js +1186 -0
  101. package/build/angular/components/touchable/index.js.map +1 -0
  102. package/build/angular/components/touchable-native-feedback/index.d.ts +83 -0
  103. package/build/angular/components/touchable-native-feedback/index.js +371 -0
  104. package/build/angular/components/touchable-native-feedback/index.js.map +1 -0
  105. package/build/angular/components/virtualized-list/directives.d.ts +54 -0
  106. package/build/angular/components/virtualized-list/directives.js +153 -0
  107. package/build/angular/components/virtualized-list/directives.js.map +1 -0
  108. package/build/angular/components/virtualized-list/index.d.ts +253 -0
  109. package/build/angular/components/virtualized-list/index.js +1031 -0
  110. package/build/angular/components/virtualized-list/index.js.map +1 -0
  111. package/build/angular/components/virtualized-section-list/directives.d.ts +37 -0
  112. package/build/angular/components/virtualized-section-list/directives.js +76 -0
  113. package/build/angular/components/virtualized-section-list/directives.js.map +1 -0
  114. package/build/angular/components/virtualized-section-list/index.d.ts +178 -0
  115. package/build/angular/components/virtualized-section-list/index.js +720 -0
  116. package/build/angular/components/virtualized-section-list/index.js.map +1 -0
  117. package/build/angular/components.d.ts +39 -0
  118. package/build/angular/components.js +38 -0
  119. package/build/angular/components.js.map +1 -0
  120. package/build/angular/create-portal/index.d.ts +22 -0
  121. package/build/angular/create-portal/index.js +74 -0
  122. package/build/angular/create-portal/index.js.map +1 -0
  123. package/build/angular/create-tunnel/index.d.ts +34 -0
  124. package/build/angular/create-tunnel/index.js +126 -0
  125. package/build/angular/create-tunnel/index.js.map +1 -0
  126. package/build/angular/descriptor-to-angular/index.d.ts +22 -0
  127. package/build/angular/descriptor-to-angular/index.js +142 -0
  128. package/build/angular/descriptor-to-angular/index.js.map +1 -0
  129. package/build/angular/host-instance/index.d.ts +2 -0
  130. package/build/angular/host-instance/index.js +37 -0
  131. package/build/angular/host-instance/index.js.map +1 -0
  132. package/build/angular/index.d.ts +22 -0
  133. package/build/angular/index.js +46 -0
  134. package/build/angular/index.js.map +1 -0
  135. package/build/angular/modules/animated/animated-leaf-binder/index.d.ts +14 -0
  136. package/build/angular/modules/animated/animated-leaf-binder/index.js +91 -0
  137. package/build/angular/modules/animated/animated-leaf-binder/index.js.map +1 -0
  138. package/build/angular/modules/animated/animated-leaf-binder.d.ts +14 -0
  139. package/build/angular/modules/animated/animated-leaf-binder.js +91 -0
  140. package/build/angular/modules/animated/animated-leaf-binder.js.map +1 -0
  141. package/build/angular/modules/animated/create-animated-component.d.ts +59 -0
  142. package/build/angular/modules/animated/create-animated-component.js +364 -0
  143. package/build/angular/modules/animated/create-animated-component.js.map +1 -0
  144. package/build/angular/modules/animated/index.d.ts +51 -0
  145. package/build/angular/modules/animated/index.js +59 -0
  146. package/build/angular/modules/animated/index.js.map +1 -0
  147. package/build/angular/modules/app-registry/index.d.ts +7 -0
  148. package/build/angular/modules/app-registry/index.js +23 -0
  149. package/build/angular/modules/app-registry/index.js.map +1 -0
  150. package/build/angular/modules/status-bar/index.d.ts +20 -0
  151. package/build/angular/modules/status-bar/index.js +59 -0
  152. package/build/angular/modules/status-bar/index.js.map +1 -0
  153. package/build/angular/primitives/index.d.ts +63 -0
  154. package/build/angular/primitives/index.js +189 -0
  155. package/build/angular/primitives/index.js.map +1 -0
  156. package/build/angular/primitives/shared.d.ts +88 -0
  157. package/build/angular/primitives/shared.js +171 -0
  158. package/build/angular/primitives/shared.js.map +1 -0
  159. package/build/angular/render/index.d.ts +11 -0
  160. package/build/angular/render/index.js +171 -0
  161. package/build/angular/render/index.js.map +1 -0
  162. package/build/angular/renderer/index.d.ts +37 -0
  163. package/build/angular/renderer/index.js +301 -0
  164. package/build/angular/renderer/index.js.map +1 -0
  165. package/build/angular/services/color-scheme.service.d.ts +16 -0
  166. package/build/angular/services/color-scheme.service.js +31 -0
  167. package/build/angular/services/color-scheme.service.js.map +1 -0
  168. package/build/angular/services/index.d.ts +2 -0
  169. package/build/angular/services/index.js +3 -0
  170. package/build/angular/services/index.js.map +1 -0
  171. package/build/angular/services/window-dimensions.service.d.ts +16 -0
  172. package/build/angular/services/window-dimensions.service.js +42 -0
  173. package/build/angular/services/window-dimensions.service.js.map +1 -0
  174. package/metro-config.cjs +48 -0
  175. package/metro-css-parser.cjs +13 -0
  176. package/package.json +80 -0
  177. package/src/__tests__/responder-change-detection.test.ts +102 -0
  178. package/src/__tests__/responder-nested-cd.test.ts +113 -0
  179. package/src/anchor-host-registry.ts +88 -0
  180. package/src/angular-gaps.test.ts +142 -0
  181. package/src/angular-imports.test.ts +100 -0
  182. package/src/bootstrap.ts +26 -0
  183. package/src/components/activity-indicator/activity-indicator-class-style.test.ts +44 -0
  184. package/src/components/activity-indicator/activity-indicator.test.ts +131 -0
  185. package/src/components/activity-indicator/index.android.ts +16 -0
  186. package/src/components/activity-indicator/index.ios.ts +17 -0
  187. package/src/components/activity-indicator/index.ts +4 -0
  188. package/src/components/activity-indicator/shared.ts +206 -0
  189. package/src/components/button.ts +193 -0
  190. package/src/components/flat-list/column-wrapper-style-class.test.ts +116 -0
  191. package/src/components/flat-list/flat-list-array-style.test.ts +131 -0
  192. package/src/components/flat-list/flat-list-class-style.test.ts +74 -0
  193. package/src/components/flat-list/flat-list-scroll-containment.test.ts +107 -0
  194. package/src/components/flat-list/flat-list.test.ts +99 -0
  195. package/src/components/flat-list/index.ts +574 -0
  196. package/src/components/image/image-class-style.test.ts +46 -0
  197. package/src/components/image/index.android.ts +48 -0
  198. package/src/components/image/index.ios.ts +48 -0
  199. package/src/components/image/index.ts +3 -0
  200. package/src/components/image/shared.ts +479 -0
  201. package/src/components/image-background-class-style.test.ts +48 -0
  202. package/src/components/image-background-style-class.test.ts +79 -0
  203. package/src/components/image-background.ts +270 -0
  204. package/src/components/input-accessory-view/index.ts +185 -0
  205. package/src/components/input-accessory-view/input-accessory-view.test.ts +43 -0
  206. package/src/components/keyboard-avoiding-view/index.ts +303 -0
  207. package/src/components/keyboard-avoiding-view/keyboard-avoiding-view.test.ts +54 -0
  208. package/src/components/modal/index.ts +299 -0
  209. package/src/components/modal/modal.test.ts +43 -0
  210. package/src/components/pressable/index.ts +373 -0
  211. package/src/components/pressable/pressable.test.ts +85 -0
  212. package/src/components/refresh-control/index.ts +284 -0
  213. package/src/components/refresh-control/refresh-control.test.ts +41 -0
  214. package/src/components/safe-area-view/index.ts +177 -0
  215. package/src/components/safe-area-view/safe-area-view.test.ts +43 -0
  216. package/src/components/scroll-view/android-scroll-view-axis-projection.test.ts +123 -0
  217. package/src/components/scroll-view/content-container-style-class.test.ts +75 -0
  218. package/src/components/scroll-view/index.android.ts +190 -0
  219. package/src/components/scroll-view/index.ios.ts +79 -0
  220. package/src/components/scroll-view/index.ts +7 -0
  221. package/src/components/scroll-view/projection.ts +414 -0
  222. package/src/components/scroll-view/scroll-view-class-style.test.ts +134 -0
  223. package/src/components/scroll-view/scroll-view-projection.test.ts +194 -0
  224. package/src/components/scroll-view/shared.ts +844 -0
  225. package/src/components/scroll-view/sticky-header.ts +255 -0
  226. package/src/components/section-list/index.ts +445 -0
  227. package/src/components/switch/android-switch-class.test.ts +42 -0
  228. package/src/components/switch/index.android.ts +61 -0
  229. package/src/components/switch/index.ios.ts +60 -0
  230. package/src/components/switch/index.ts +4 -0
  231. package/src/components/switch/shared.ts +197 -0
  232. package/src/components/switch/switch.test.ts +92 -0
  233. package/src/components/text-input-class-style.test.ts +54 -0
  234. package/src/components/text-input.ts +531 -0
  235. package/src/components/touchable/index.ts +629 -0
  236. package/src/components/touchable/touchable.test.ts +102 -0
  237. package/src/components/touchable-native-feedback/index.ts +254 -0
  238. package/src/components/touchable-native-feedback/touchable-native-feedback.test.ts +49 -0
  239. package/src/components/virtualized-list/directives.ts +168 -0
  240. package/src/components/virtualized-list/index.ts +992 -0
  241. package/src/components/virtualized-list/virtualized-list-class-style.test.ts +76 -0
  242. package/src/components/virtualized-section-list/directives.ts +90 -0
  243. package/src/components/virtualized-section-list/index.ts +601 -0
  244. package/src/components/virtualized-section-list/virtualized-section-list-class-style.test.ts +60 -0
  245. package/src/components.ts +149 -0
  246. package/src/create-portal/create-portal.test.ts +90 -0
  247. package/src/create-portal/index.ts +74 -0
  248. package/src/create-tunnel/create-tunnel.test.ts +120 -0
  249. package/src/create-tunnel/index.ts +136 -0
  250. package/src/descriptor-to-angular/descriptor-outlet.test.ts +94 -0
  251. package/src/descriptor-to-angular/index.ts +190 -0
  252. package/src/host-instance/host-instance.test.ts +49 -0
  253. package/src/host-instance/index.ts +36 -0
  254. package/src/index.ts +261 -0
  255. package/src/modules/animated/animated-leaf-binder/animated-leaf-binder.test.ts +116 -0
  256. package/src/modules/animated/animated-leaf-binder/index.ts +101 -0
  257. package/src/modules/animated/animated-leaf-binder.test.ts +116 -0
  258. package/src/modules/animated/animated-leaf-binder.ts +101 -0
  259. package/src/modules/animated/animated-scroll-view.test.ts +102 -0
  260. package/src/modules/animated/create-animated-component.ts +365 -0
  261. package/src/modules/animated/index.ts +105 -0
  262. package/src/modules/app-registry/app-registry.test.ts +106 -0
  263. package/src/modules/app-registry/index.ts +60 -0
  264. package/src/modules/status-bar/index.ts +57 -0
  265. package/src/modules/status-bar/status-bar.test.ts +50 -0
  266. package/src/primitives/index.ts +119 -0
  267. package/src/primitives/shared.ts +190 -0
  268. package/src/render/index.ts +235 -0
  269. package/src/render/render.test.ts +147 -0
  270. package/src/renderer/index.ts +347 -0
  271. package/src/renderer/renderer.test.ts +203 -0
  272. package/src/services/color-scheme.service.ts +27 -0
  273. package/src/services/index.ts +2 -0
  274. package/src/services/services.test.ts +163 -0
  275. package/src/services/window-dimensions.service.ts +41 -0
  276. package/tsconfig.angular.base.json +30 -0
@@ -0,0 +1,420 @@
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, isTerminationAllowed, resolveAccessibilityProps, resolveDisabledAccessibilityState, rippleProps, shouldClaimResponder, shouldSuppressPress, } 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
+ // Flat bag for `[symbioteHostProps]` (Renderer2.setProperty per key) - see primitives/shared.ts.
156
+ get hostProps() {
157
+ return {
158
+ testID: this.testID,
159
+ nativeID: this.nativeID,
160
+ hasTVPreferredFocus: this.hasTVPreferredFocus,
161
+ nextFocusDown: this.nextFocusDown,
162
+ nextFocusForward: this.nextFocusForward,
163
+ nextFocusLeft: this.nextFocusLeft,
164
+ nextFocusRight: this.nextFocusRight,
165
+ nextFocusUp: this.nextFocusUp,
166
+ style: [anchorHostStyle(this.elementRef), this.resolvedStyle],
167
+ accessible: this.accessible,
168
+ ...this.foldedAccessibility,
169
+ android_disableSound: this.android_disableSound,
170
+ nativeBackgroundAndroid: this.resolvedRippleProps?.nativeBackgroundAndroid,
171
+ nativeForegroundAndroid: this.resolvedRippleProps?.nativeForegroundAndroid,
172
+ };
173
+ }
174
+ handlePressIn(event) {
175
+ const symbioteEvent = asSymbioteEvent(event);
176
+ if (shouldSuppressPress(this.disabled) || symbioteEvent === undefined)
177
+ return;
178
+ this.handlers.handlePressIn(symbioteEvent);
179
+ }
180
+ handlePressOut(event) {
181
+ const symbioteEvent = asSymbioteEvent(event);
182
+ if (shouldSuppressPress(this.disabled) || symbioteEvent === undefined)
183
+ return;
184
+ this.handlers.handlePressOut(symbioteEvent);
185
+ }
186
+ handlePress(event) {
187
+ const symbioteEvent = asSymbioteEvent(event);
188
+ if (shouldSuppressPress(this.disabled) || symbioteEvent === undefined)
189
+ return;
190
+ this.handlers.handlePress(symbioteEvent);
191
+ }
192
+ handleResponderMove(event) {
193
+ const symbioteEvent = asSymbioteEvent(event);
194
+ if (shouldSuppressPress(this.disabled) || symbioteEvent === undefined)
195
+ return;
196
+ this.handlers.handleResponderMove(symbioteEvent);
197
+ }
198
+ claimResponder() {
199
+ return shouldClaimResponder(this.disabled);
200
+ }
201
+ allowTermination() {
202
+ return isTerminationAllowed(this.cancelable);
203
+ }
204
+ emit(emitter, event) {
205
+ const symbioteEvent = asSymbioteEvent(event);
206
+ if (symbioteEvent !== undefined)
207
+ emitter.emit(symbioteEvent);
208
+ }
209
+ // Hover has no event on a touch host (no pointer-enter/leave); this only records that someone
210
+ // is listening anyway, mirroring core's noteHoverNoop but off `.observed` instead of an @Input.
211
+ noteHoverNoop() {
212
+ if (this.hoverIn.observed || this.hoverOut.observed) {
213
+ dlog('Pressable hover is a no-op on this host (no pointer-enter/leave event)');
214
+ }
215
+ }
216
+ // Wraps an @Output() as an IPressHandler only while it has a subscriber, so an unbound
217
+ // (longPress) still skips arming the timer, matching createPressHandlers' "undefined means
218
+ // nobody cares" contract.
219
+ emitterHandler(emitter) {
220
+ return emitter.observed ? event => emitter.emit(event) : undefined;
221
+ }
222
+ get handlers() {
223
+ this.noteHoverNoop();
224
+ const config = {
225
+ onPress: this.emitterHandler(this.press),
226
+ onPressIn: this.emitterHandler(this.pressIn),
227
+ onPressOut: this.emitterHandler(this.pressOut),
228
+ onPressMove: this.emitterHandler(this.pressMove),
229
+ onLongPress: this.emitterHandler(this.longPress),
230
+ delayLongPress: this.delayLongPress ?? DEFAULT_DELAY_LONG_PRESS_MS,
231
+ unstable_pressDelay: this.unstable_pressDelay ?? 0,
232
+ hitSlop: this.hitSlop,
233
+ pressRetentionOffset: this.pressRetentionOffset,
234
+ };
235
+ return createPressHandlers(config, this.runtime, this.host);
236
+ }
237
+ get hostNode() {
238
+ const native = this.hostElement?.nativeElement;
239
+ return isSymbioteNode(native) ? native : undefined;
240
+ }
241
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Pressable, deps: [], target: i0.ɵɵFactoryTarget.Component });
242
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", 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: `
243
+ <symbiote-view
244
+ #host
245
+ [symbioteHostProps]="hostProps"
246
+ (accessibilityAction)="emit(accessibilityAction, $event)"
247
+ (accessibilityTap)="emit(accessibilityTap, $event)"
248
+ (magicTap)="emit(magicTap, $event)"
249
+ (accessibilityEscape)="emit(accessibilityEscape, $event)"
250
+ (press)="handlePress($event)"
251
+ (pressIn)="handlePressIn($event)"
252
+ (pressOut)="handlePressOut($event)"
253
+ (responderMove)="handleResponderMove($event)"
254
+ (startShouldSetResponder)="claimResponder()"
255
+ (responderTerminationRequest)="allowTermination()"
256
+ >
257
+ <ng-content></ng-content>
258
+ </symbiote-view>
259
+ `, 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 });
260
+ }
261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Pressable, decorators: [{
262
+ type: Component,
263
+ args: [{
264
+ selector: 'Pressable, symbiote-pressable',
265
+ standalone: true,
266
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
267
+ imports: [ViewHost, SymbioteHostPropsDirective],
268
+ template: `
269
+ <symbiote-view
270
+ #host
271
+ [symbioteHostProps]="hostProps"
272
+ (accessibilityAction)="emit(accessibilityAction, $event)"
273
+ (accessibilityTap)="emit(accessibilityTap, $event)"
274
+ (magicTap)="emit(magicTap, $event)"
275
+ (accessibilityEscape)="emit(accessibilityEscape, $event)"
276
+ (press)="handlePress($event)"
277
+ (pressIn)="handlePressIn($event)"
278
+ (pressOut)="handlePressOut($event)"
279
+ (responderMove)="handleResponderMove($event)"
280
+ (startShouldSetResponder)="claimResponder()"
281
+ (responderTerminationRequest)="allowTermination()"
282
+ >
283
+ <ng-content></ng-content>
284
+ </symbiote-view>
285
+ `,
286
+ changeDetection: ChangeDetectionStrategy.OnPush,
287
+ }]
288
+ }], propDecorators: { press: [{
289
+ type: Output
290
+ }], pressIn: [{
291
+ type: Output
292
+ }], pressOut: [{
293
+ type: Output
294
+ }], pressMove: [{
295
+ type: Output
296
+ }], longPress: [{
297
+ type: Output
298
+ }], hoverIn: [{
299
+ type: Output
300
+ }], hoverOut: [{
301
+ type: Output
302
+ }], accessibilityAction: [{
303
+ type: Output
304
+ }], accessibilityTap: [{
305
+ type: Output
306
+ }], magicTap: [{
307
+ type: Output
308
+ }], accessibilityEscape: [{
309
+ type: Output
310
+ }], delayLongPress: [{
311
+ type: Input
312
+ }], disabled: [{
313
+ type: Input
314
+ }], cancelable: [{
315
+ type: Input
316
+ }], hitSlop: [{
317
+ type: Input
318
+ }], pressRetentionOffset: [{
319
+ type: Input
320
+ }], unstable_pressDelay: [{
321
+ type: Input
322
+ }], android_ripple: [{
323
+ type: Input
324
+ }], android_disableSound: [{
325
+ type: Input
326
+ }], delayHoverIn: [{
327
+ type: Input
328
+ }], delayHoverOut: [{
329
+ type: Input
330
+ }], testID: [{
331
+ type: Input
332
+ }], nativeID: [{
333
+ type: Input
334
+ }], hasTVPreferredFocus: [{
335
+ type: Input
336
+ }], nextFocusDown: [{
337
+ type: Input
338
+ }], nextFocusForward: [{
339
+ type: Input
340
+ }], nextFocusLeft: [{
341
+ type: Input
342
+ }], nextFocusRight: [{
343
+ type: Input
344
+ }], nextFocusUp: [{
345
+ type: Input
346
+ }], style: [{
347
+ type: Input
348
+ }], accessible: [{
349
+ type: Input
350
+ }], accessibilityLabel: [{
351
+ type: Input
352
+ }], accessibilityHint: [{
353
+ type: Input
354
+ }], accessibilityRole: [{
355
+ type: Input
356
+ }], accessibilityState: [{
357
+ type: Input
358
+ }], accessibilityValue: [{
359
+ type: Input
360
+ }], accessibilityActions: [{
361
+ type: Input
362
+ }], accessibilityLabelledBy: [{
363
+ type: Input
364
+ }], importantForAccessibility: [{
365
+ type: Input
366
+ }], accessibilityLiveRegion: [{
367
+ type: Input
368
+ }], screenReaderFocusable: [{
369
+ type: Input
370
+ }], accessibilityViewIsModal: [{
371
+ type: Input
372
+ }], accessibilityElementsHidden: [{
373
+ type: Input
374
+ }], accessibilityIgnoresInvertColors: [{
375
+ type: Input
376
+ }], accessibilityLanguage: [{
377
+ type: Input
378
+ }], accessibilityRespondsToUserInteraction: [{
379
+ type: Input
380
+ }], accessibilityShowsLargeContentViewer: [{
381
+ type: Input
382
+ }], accessibilityLargeContentTitle: [{
383
+ type: Input
384
+ }], ariaLabel: [{
385
+ type: Input
386
+ }], ariaBusy: [{
387
+ type: Input
388
+ }], ariaChecked: [{
389
+ type: Input
390
+ }], ariaDisabled: [{
391
+ type: Input
392
+ }], ariaExpanded: [{
393
+ type: Input
394
+ }], ariaHidden: [{
395
+ type: Input
396
+ }], ariaLabelledBy: [{
397
+ type: Input
398
+ }], ariaLive: [{
399
+ type: Input
400
+ }], ariaSelected: [{
401
+ type: Input
402
+ }], ariaModal: [{
403
+ type: Input
404
+ }], ariaValueMax: [{
405
+ type: Input
406
+ }], ariaValueMin: [{
407
+ type: Input
408
+ }], ariaValueNow: [{
409
+ type: Input
410
+ }], ariaValueText: [{
411
+ type: Input
412
+ }], id: [{
413
+ type: Input
414
+ }], role: [{
415
+ type: Input
416
+ }], hostElement: [{
417
+ type: ViewChild,
418
+ args: ['host', { read: ElementRef }]
419
+ }] } });
420
+ //# 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 {};