@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,332 @@
1
+ // Button for Angular. The minimal cross-platform button in RN's iOS shape (Button.js): a
2
+ // TouchableOpacity wrapping a Text. The base text style, the role constant, and the color fold are
3
+ // shared in @symbiote-native/components/view; here Angular only composes its TouchableOpacity + a
4
+ // symbiote-text child and re-maps the few Button-owned props. The Angular twin of the React/Vue
5
+ // adapter's Button. No JS-side platform branch, so this stays a flat single file.
6
+ //
7
+ // RN's Button fixes accessibilityRole="button", marks the root accessible, and propagates `disabled`
8
+ // into the accessibility state; those three win over any caller value. `title` becomes the Text
9
+ // child; disabled forwards straight; touchSoundDisabled maps to the pressable's android_disableSound.
10
+ // Every OTHER field of the shared IButtonProps (title, color, disabled, touchSoundDisabled, testID,
11
+ // TV-focus, accessibility state) is agnostic and stays RE-EXPORTED from @symbiote-native/components
12
+ // verbatim. onPress and the four accessibility callbacks are the
13
+ // exceptions: each is a real @Output() here (`press`, `accessibilityAction`, `accessibilityTap`,
14
+ // `magicTap`, `accessibilityEscape`), mirroring the Vue adapter's Button, which forks the SAME onPress
15
+ // field the same way (`Omit<ICoreButtonProps, 'onPress'>` + a `press` emit) — not a new precedent, the
16
+ // existing one extended to accessibility.
17
+ import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, inject, Input, Output, } from '@angular/core';
18
+ import { BUTTON_ACCESSIBILITY_ROLE, resolveButtonTextStyle, } from '@symbiote-native/components';
19
+ import { anchorStyleProp, TextHost } from '../primitives';
20
+ import { TouchableOpacity } from './touchable';
21
+ import * as i0 from "@angular/core";
22
+ export class Button {
23
+ // This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
24
+ // onto (see anchorHostStyle's doc comment in primitives/shared.ts) — NOT the inner
25
+ // TouchableOpacity/Pressable one level down. RN's real Button takes no `style` prop, so this
26
+ // is the only style source forwarded.
27
+ elementRef = inject(ElementRef);
28
+ press = new EventEmitter();
29
+ accessibilityAction = new EventEmitter();
30
+ accessibilityTap = new EventEmitter();
31
+ magicTap = new EventEmitter();
32
+ accessibilityEscape = new EventEmitter();
33
+ // Button-owned props: title is the Text child, color/disabled fold into the label style, and
34
+ // touchSoundDisabled re-maps onto TouchableOpacity.
35
+ title = '';
36
+ color;
37
+ disabled;
38
+ touchSoundDisabled;
39
+ testID;
40
+ // TV-focus props (Button.js): inert on a phone host, forwarded through TouchableOpacity.
41
+ hasTVPreferredFocus;
42
+ nextFocusDown;
43
+ nextFocusForward;
44
+ nextFocusLeft;
45
+ nextFocusRight;
46
+ nextFocusUp;
47
+ // Accessibility surface (IAccessibilityProps). accessibilityRole, accessible, and
48
+ // accessibilityState are declared for surface completeness but Button forces its own
49
+ // (button / true / { disabled }); the caller value is ignored, mirroring RN's Button.js.
50
+ nativeID;
51
+ accessible;
52
+ accessibilityLabel;
53
+ accessibilityHint;
54
+ accessibilityRole;
55
+ accessibilityState;
56
+ accessibilityValue;
57
+ accessibilityActions;
58
+ accessibilityLabelledBy;
59
+ importantForAccessibility;
60
+ accessibilityLiveRegion;
61
+ screenReaderFocusable;
62
+ accessibilityViewIsModal;
63
+ accessibilityElementsHidden;
64
+ accessibilityIgnoresInvertColors;
65
+ accessibilityLanguage;
66
+ accessibilityRespondsToUserInteraction;
67
+ accessibilityShowsLargeContentViewer;
68
+ accessibilityLargeContentTitle;
69
+ // Web-alias a11y surface (IAriaProps). External dashed aliases are exposed as Angular inputs and
70
+ // forwarded to TouchableOpacity's camelCase aria inputs.
71
+ role;
72
+ ariaLabel;
73
+ ariaLabelledBy;
74
+ ariaLive;
75
+ ariaHidden;
76
+ ariaBusy;
77
+ ariaChecked;
78
+ ariaDisabled;
79
+ ariaExpanded;
80
+ ariaSelected;
81
+ ariaModal;
82
+ ariaValueMax;
83
+ ariaValueMin;
84
+ ariaValueNow;
85
+ ariaValueText;
86
+ // RN's Button is always accessibilityRole="button"; the shared role constant, not a literal.
87
+ buttonRole = BUTTON_ACCESSIBILITY_ROLE;
88
+ // The label style with the caller color tinted in and `disabled` greying it out (disabled wins),
89
+ // computed by the shared fold so every adapter paints the identical button.
90
+ get textStyle() {
91
+ return resolveButtonTextStyle(this.color, this.disabled);
92
+ }
93
+ get anchorStyle() {
94
+ return anchorStyleProp(this.elementRef);
95
+ }
96
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Button, deps: [], target: i0.ɵɵFactoryTarget.Component });
97
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: Button, isStandalone: true, selector: "Button", inputs: { title: "title", color: "color", disabled: "disabled", touchSoundDisabled: "touchSoundDisabled", testID: "testID", hasTVPreferredFocus: "hasTVPreferredFocus", nextFocusDown: "nextFocusDown", nextFocusForward: "nextFocusForward", nextFocusLeft: "nextFocusLeft", nextFocusRight: "nextFocusRight", nextFocusUp: "nextFocusUp", nativeID: "nativeID", accessible: "accessible", accessibilityLabel: "accessibilityLabel", accessibilityHint: "accessibilityHint", accessibilityRole: "accessibilityRole", accessibilityState: "accessibilityState", accessibilityValue: "accessibilityValue", accessibilityActions: "accessibilityActions", accessibilityLabelledBy: "accessibilityLabelledBy", importantForAccessibility: "importantForAccessibility", accessibilityLiveRegion: "accessibilityLiveRegion", screenReaderFocusable: "screenReaderFocusable", accessibilityViewIsModal: "accessibilityViewIsModal", accessibilityElementsHidden: "accessibilityElementsHidden", accessibilityIgnoresInvertColors: "accessibilityIgnoresInvertColors", accessibilityLanguage: "accessibilityLanguage", accessibilityRespondsToUserInteraction: "accessibilityRespondsToUserInteraction", accessibilityShowsLargeContentViewer: "accessibilityShowsLargeContentViewer", accessibilityLargeContentTitle: "accessibilityLargeContentTitle", role: "role", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledBy: ["aria-labelledby", "ariaLabelledBy"], ariaLive: ["aria-live", "ariaLive"], ariaHidden: ["aria-hidden", "ariaHidden"], ariaBusy: ["aria-busy", "ariaBusy"], ariaChecked: ["aria-checked", "ariaChecked"], ariaDisabled: ["aria-disabled", "ariaDisabled"], ariaExpanded: ["aria-expanded", "ariaExpanded"], ariaSelected: ["aria-selected", "ariaSelected"], ariaModal: ["aria-modal", "ariaModal"], ariaValueMax: ["aria-valuemax", "ariaValueMax"], ariaValueMin: ["aria-valuemin", "ariaValueMin"], ariaValueNow: ["aria-valuenow", "ariaValueNow"], ariaValueText: ["aria-valuetext", "ariaValueText"] }, outputs: { press: "press", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, ngImport: i0, template: `
98
+ <TouchableOpacity
99
+ [style]="anchorStyle"
100
+ (press)="press.emit($event)"
101
+ [disabled]="disabled"
102
+ [android_disableSound]="touchSoundDisabled"
103
+ [accessibilityRole]="buttonRole"
104
+ [accessible]="true"
105
+ [accessibilityState]="{ disabled }"
106
+ [testID]="testID"
107
+ [nativeID]="nativeID"
108
+ [hasTVPreferredFocus]="hasTVPreferredFocus"
109
+ [nextFocusDown]="nextFocusDown"
110
+ [nextFocusForward]="nextFocusForward"
111
+ [nextFocusLeft]="nextFocusLeft"
112
+ [nextFocusRight]="nextFocusRight"
113
+ [nextFocusUp]="nextFocusUp"
114
+ [accessibilityLabel]="accessibilityLabel"
115
+ [accessibilityHint]="accessibilityHint"
116
+ [accessibilityValue]="accessibilityValue"
117
+ [accessibilityActions]="accessibilityActions"
118
+ [accessibilityLabelledBy]="accessibilityLabelledBy"
119
+ [importantForAccessibility]="importantForAccessibility"
120
+ [accessibilityLiveRegion]="accessibilityLiveRegion"
121
+ [screenReaderFocusable]="screenReaderFocusable"
122
+ [accessibilityViewIsModal]="accessibilityViewIsModal"
123
+ [accessibilityElementsHidden]="accessibilityElementsHidden"
124
+ [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
125
+ [accessibilityLanguage]="accessibilityLanguage"
126
+ [accessibilityRespondsToUserInteraction]="accessibilityRespondsToUserInteraction"
127
+ [accessibilityShowsLargeContentViewer]="accessibilityShowsLargeContentViewer"
128
+ [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
129
+ (accessibilityAction)="accessibilityAction.emit($event)"
130
+ (accessibilityTap)="accessibilityTap.emit($event)"
131
+ (magicTap)="magicTap.emit($event)"
132
+ (accessibilityEscape)="accessibilityEscape.emit($event)"
133
+ [ariaLabel]="ariaLabel"
134
+ [ariaBusy]="ariaBusy"
135
+ [ariaChecked]="ariaChecked"
136
+ [ariaDisabled]="ariaDisabled"
137
+ [ariaExpanded]="ariaExpanded"
138
+ [ariaHidden]="ariaHidden"
139
+ [ariaLabelledBy]="ariaLabelledBy"
140
+ [ariaLive]="ariaLive"
141
+ [ariaSelected]="ariaSelected"
142
+ [ariaModal]="ariaModal"
143
+ [ariaValueMax]="ariaValueMax"
144
+ [ariaValueMin]="ariaValueMin"
145
+ [ariaValueNow]="ariaValueNow"
146
+ [ariaValueText]="ariaValueText"
147
+ [role]="role"
148
+ >
149
+ <symbiote-text [style]="textStyle">{{ title }}</symbiote-text>
150
+ </TouchableOpacity>
151
+ `, isInline: true, dependencies: [{ kind: "component", type: TouchableOpacity, selector: "TouchableOpacity", inputs: ["activeOpacity", "delayPressIn", "delayPressOut", "minPressDuration", "style", "delayLongPress", "delayHoverIn", "delayHoverOut", "disabled", "cancelable", "hitSlop", "pressRetentionOffset", "unstable_pressDelay", "android_ripple", "android_disableSound", "testID", "nativeID", "hasTVPreferredFocus", "nextFocusDown", "nextFocusForward", "nextFocusLeft", "nextFocusRight", "nextFocusUp", "accessible", "accessibilityLabel", "accessibilityHint", "accessibilityRole", "accessibilityState", "accessibilityValue", "accessibilityActions", "accessibilityLabelledBy", "importantForAccessibility", "accessibilityLiveRegion", "screenReaderFocusable", "accessibilityViewIsModal", "accessibilityElementsHidden", "accessibilityIgnoresInvertColors", "accessibilityLanguage", "accessibilityRespondsToUserInteraction", "accessibilityShowsLargeContentViewer", "accessibilityLargeContentTitle", "ariaLabel", "ariaBusy", "ariaChecked", "ariaDisabled", "ariaExpanded", "ariaHidden", "ariaLabelledBy", "ariaLive", "ariaSelected", "ariaModal", "ariaValueMax", "ariaValueMin", "ariaValueNow", "ariaValueText", "id", "role"], outputs: ["press", "pressIn", "pressOut", "pressMove", "longPress", "hoverIn", "hoverOut", "accessibilityAction", "accessibilityTap", "magicTap", "accessibilityEscape"] }, { kind: "component", type: TextHost, selector: "symbiote-text, Text" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
152
+ }
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Button, decorators: [{
154
+ type: Component,
155
+ args: [{
156
+ selector: 'Button',
157
+ standalone: true,
158
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
159
+ imports: [TouchableOpacity, TextHost],
160
+ changeDetection: ChangeDetectionStrategy.OnPush,
161
+ template: `
162
+ <TouchableOpacity
163
+ [style]="anchorStyle"
164
+ (press)="press.emit($event)"
165
+ [disabled]="disabled"
166
+ [android_disableSound]="touchSoundDisabled"
167
+ [accessibilityRole]="buttonRole"
168
+ [accessible]="true"
169
+ [accessibilityState]="{ disabled }"
170
+ [testID]="testID"
171
+ [nativeID]="nativeID"
172
+ [hasTVPreferredFocus]="hasTVPreferredFocus"
173
+ [nextFocusDown]="nextFocusDown"
174
+ [nextFocusForward]="nextFocusForward"
175
+ [nextFocusLeft]="nextFocusLeft"
176
+ [nextFocusRight]="nextFocusRight"
177
+ [nextFocusUp]="nextFocusUp"
178
+ [accessibilityLabel]="accessibilityLabel"
179
+ [accessibilityHint]="accessibilityHint"
180
+ [accessibilityValue]="accessibilityValue"
181
+ [accessibilityActions]="accessibilityActions"
182
+ [accessibilityLabelledBy]="accessibilityLabelledBy"
183
+ [importantForAccessibility]="importantForAccessibility"
184
+ [accessibilityLiveRegion]="accessibilityLiveRegion"
185
+ [screenReaderFocusable]="screenReaderFocusable"
186
+ [accessibilityViewIsModal]="accessibilityViewIsModal"
187
+ [accessibilityElementsHidden]="accessibilityElementsHidden"
188
+ [accessibilityIgnoresInvertColors]="accessibilityIgnoresInvertColors"
189
+ [accessibilityLanguage]="accessibilityLanguage"
190
+ [accessibilityRespondsToUserInteraction]="accessibilityRespondsToUserInteraction"
191
+ [accessibilityShowsLargeContentViewer]="accessibilityShowsLargeContentViewer"
192
+ [accessibilityLargeContentTitle]="accessibilityLargeContentTitle"
193
+ (accessibilityAction)="accessibilityAction.emit($event)"
194
+ (accessibilityTap)="accessibilityTap.emit($event)"
195
+ (magicTap)="magicTap.emit($event)"
196
+ (accessibilityEscape)="accessibilityEscape.emit($event)"
197
+ [ariaLabel]="ariaLabel"
198
+ [ariaBusy]="ariaBusy"
199
+ [ariaChecked]="ariaChecked"
200
+ [ariaDisabled]="ariaDisabled"
201
+ [ariaExpanded]="ariaExpanded"
202
+ [ariaHidden]="ariaHidden"
203
+ [ariaLabelledBy]="ariaLabelledBy"
204
+ [ariaLive]="ariaLive"
205
+ [ariaSelected]="ariaSelected"
206
+ [ariaModal]="ariaModal"
207
+ [ariaValueMax]="ariaValueMax"
208
+ [ariaValueMin]="ariaValueMin"
209
+ [ariaValueNow]="ariaValueNow"
210
+ [ariaValueText]="ariaValueText"
211
+ [role]="role"
212
+ >
213
+ <symbiote-text [style]="textStyle">{{ title }}</symbiote-text>
214
+ </TouchableOpacity>
215
+ `,
216
+ }]
217
+ }], propDecorators: { press: [{
218
+ type: Output
219
+ }], accessibilityAction: [{
220
+ type: Output
221
+ }], accessibilityTap: [{
222
+ type: Output
223
+ }], magicTap: [{
224
+ type: Output
225
+ }], accessibilityEscape: [{
226
+ type: Output
227
+ }], title: [{
228
+ type: Input
229
+ }], color: [{
230
+ type: Input
231
+ }], disabled: [{
232
+ type: Input
233
+ }], touchSoundDisabled: [{
234
+ type: Input
235
+ }], testID: [{
236
+ type: Input
237
+ }], hasTVPreferredFocus: [{
238
+ type: Input
239
+ }], nextFocusDown: [{
240
+ type: Input
241
+ }], nextFocusForward: [{
242
+ type: Input
243
+ }], nextFocusLeft: [{
244
+ type: Input
245
+ }], nextFocusRight: [{
246
+ type: Input
247
+ }], nextFocusUp: [{
248
+ type: Input
249
+ }], nativeID: [{
250
+ type: Input
251
+ }], accessible: [{
252
+ type: Input
253
+ }], accessibilityLabel: [{
254
+ type: Input
255
+ }], accessibilityHint: [{
256
+ type: Input
257
+ }], accessibilityRole: [{
258
+ type: Input
259
+ }], accessibilityState: [{
260
+ type: Input
261
+ }], accessibilityValue: [{
262
+ type: Input
263
+ }], accessibilityActions: [{
264
+ type: Input
265
+ }], accessibilityLabelledBy: [{
266
+ type: Input
267
+ }], importantForAccessibility: [{
268
+ type: Input
269
+ }], accessibilityLiveRegion: [{
270
+ type: Input
271
+ }], screenReaderFocusable: [{
272
+ type: Input
273
+ }], accessibilityViewIsModal: [{
274
+ type: Input
275
+ }], accessibilityElementsHidden: [{
276
+ type: Input
277
+ }], accessibilityIgnoresInvertColors: [{
278
+ type: Input
279
+ }], accessibilityLanguage: [{
280
+ type: Input
281
+ }], accessibilityRespondsToUserInteraction: [{
282
+ type: Input
283
+ }], accessibilityShowsLargeContentViewer: [{
284
+ type: Input
285
+ }], accessibilityLargeContentTitle: [{
286
+ type: Input
287
+ }], role: [{
288
+ type: Input
289
+ }], ariaLabel: [{
290
+ type: Input,
291
+ args: ['aria-label']
292
+ }], ariaLabelledBy: [{
293
+ type: Input,
294
+ args: ['aria-labelledby']
295
+ }], ariaLive: [{
296
+ type: Input,
297
+ args: ['aria-live']
298
+ }], ariaHidden: [{
299
+ type: Input,
300
+ args: ['aria-hidden']
301
+ }], ariaBusy: [{
302
+ type: Input,
303
+ args: ['aria-busy']
304
+ }], ariaChecked: [{
305
+ type: Input,
306
+ args: ['aria-checked']
307
+ }], ariaDisabled: [{
308
+ type: Input,
309
+ args: ['aria-disabled']
310
+ }], ariaExpanded: [{
311
+ type: Input,
312
+ args: ['aria-expanded']
313
+ }], ariaSelected: [{
314
+ type: Input,
315
+ args: ['aria-selected']
316
+ }], ariaModal: [{
317
+ type: Input,
318
+ args: ['aria-modal']
319
+ }], ariaValueMax: [{
320
+ type: Input,
321
+ args: ['aria-valuemax']
322
+ }], ariaValueMin: [{
323
+ type: Input,
324
+ args: ['aria-valuemin']
325
+ }], ariaValueNow: [{
326
+ type: Input,
327
+ args: ['aria-valuenow']
328
+ }], ariaValueText: [{
329
+ type: Input,
330
+ args: ['aria-valuetext']
331
+ }] } });
332
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/button.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ import { EventEmitter, type OnChanges, type SimpleChanges } from '@angular/core';
2
+ import { type IRow, type IScrollViewHandle, type IViewabilityConfigCallbackPair, type IViewableItemsChangedInfo, type IVirtualizedListHandle } from '@symbiote-native/components';
3
+ import { type IStyleProp, type ISymbioteNode, type IViewStyle } from '@symbiote-native/engine';
4
+ import { VListEmptyDirective, VListFooterDirective, VListHeaderDirective, VListItemDirective, VListSeparatorDirective, type IVirtualizedListProps, type IVListItemContext, type IVListSeparatorContext } from '../virtualized-list';
5
+ import * as i0 from "@angular/core";
6
+ export type { ISeparators, IViewableItemsChangedInfo, IViewabilityConfigCallbackPair, IVirtualizedListHandle, } from '@symbiote-native/components';
7
+ export { VListEmptyDirective, VListFooterDirective, VListHeaderDirective, VListItemDirective, VListSeparatorDirective, } from '../virtualized-list';
8
+ export type { IVListItemContext, IVListSeparatorContext } from '../virtualized-list';
9
+ export type IFlatListHandle = IVirtualizedListHandle;
10
+ export type IFlatListProps<ItemT> = Omit<IVirtualizedListProps<ItemT>, 'data' | 'getItem' | 'getItemCount'> & {
11
+ data: readonly ItemT[];
12
+ numColumns?: number;
13
+ columnWrapperStyle?: IStyleProp<IViewStyle> | string;
14
+ };
15
+ export type IFlatListInputs<ItemT> = Omit<IFlatListProps<ItemT>, 'onEndReached' | 'onStartReached' | 'onRefresh' | 'onViewableItemsChanged' | 'onScrollToIndexFailed'>;
16
+ export declare class FlatList<ItemT = unknown> implements IFlatListInputs<ItemT>, IVirtualizedListHandle, OnChanges {
17
+ readonly endReached: EventEmitter<{
18
+ distanceFromEnd: number;
19
+ }>;
20
+ readonly startReached: EventEmitter<{
21
+ distanceFromStart: number;
22
+ }>;
23
+ readonly refresh: EventEmitter<void>;
24
+ readonly viewableItemsChanged: EventEmitter<IViewableItemsChangedInfo<ItemT>>;
25
+ readonly scrollToIndexFailed: EventEmitter<{
26
+ index: number;
27
+ highestMeasuredFrameIndex: number;
28
+ averageItemLength: number;
29
+ }>;
30
+ data: readonly ItemT[];
31
+ numColumns?: number;
32
+ columnWrapperStyle?: IStyleProp<IViewStyle> | string;
33
+ keyExtractor?: (item: ItemT, index: number) => string;
34
+ getItemLayout?: (data: unknown, index: number) => {
35
+ length: number;
36
+ offset: number;
37
+ index: number;
38
+ };
39
+ horizontal?: boolean;
40
+ inverted?: boolean;
41
+ extraData?: unknown;
42
+ onEndReachedThreshold?: number;
43
+ onStartReachedThreshold?: number;
44
+ refreshing?: boolean | null;
45
+ progressViewOffset?: number;
46
+ viewabilityConfig?: IVirtualizedListProps<ItemT>['viewabilityConfig'];
47
+ viewabilityConfigCallbackPairs?: IViewabilityConfigCallbackPair<ItemT>[];
48
+ initialNumToRender?: number;
49
+ initialScrollIndex?: number;
50
+ maxToRenderPerBatch?: number;
51
+ updateCellsBatchingPeriod?: number;
52
+ windowSize?: number;
53
+ stickyHeaderIndices?: number[];
54
+ maintainVisibleContentPosition?: {
55
+ minIndexForVisible: number;
56
+ autoscrollToTopThreshold?: number;
57
+ };
58
+ onScroll?: IVirtualizedListProps<ItemT>['onScroll'];
59
+ onScrollBeginDrag?: IVirtualizedListProps<ItemT>['onScrollBeginDrag'];
60
+ onScrollEndDrag?: IVirtualizedListProps<ItemT>['onScrollEndDrag'];
61
+ onMomentumScrollBegin?: IVirtualizedListProps<ItemT>['onMomentumScrollBegin'];
62
+ onMomentumScrollEnd?: IVirtualizedListProps<ItemT>['onMomentumScrollEnd'];
63
+ scrollEventThrottle?: number;
64
+ keyboardShouldPersistTaps?: boolean | 'always' | 'never' | 'handled';
65
+ keyboardDismissMode?: 'none' | 'on-drag' | 'interactive';
66
+ style?: IStyleProp<IViewStyle>;
67
+ contentContainerStyle?: IStyleProp<IViewStyle>;
68
+ itemDir?: VListItemDirective<ItemT>;
69
+ headerDir?: VListHeaderDirective;
70
+ footerDir?: VListFooterDirective;
71
+ emptyDir?: VListEmptyDirective;
72
+ separatorDir?: VListSeparatorDirective<ItemT>;
73
+ private listRef?;
74
+ private readonly elementRef;
75
+ rows: IRow<ItemT>[];
76
+ rowStyle: IViewStyle;
77
+ rowViewabilityPairs?: IViewabilityConfigCallbackPair<IRow<ItemT>>[];
78
+ readonly columnCellStyle: IViewStyle;
79
+ resolvedStyle: IViewStyle | undefined;
80
+ get columns(): number;
81
+ get isMultiColumn(): boolean;
82
+ ngOnChanges(changes: SimpleChanges): void;
83
+ getFlatItem: (_data: unknown, index: number) => ItemT;
84
+ getFlatCount: (_data: unknown) => number;
85
+ getRow: (_data: unknown, index: number) => IRow<ItemT>;
86
+ getRowCount: (_data: unknown) => number;
87
+ rowKey: (row: IRow<ItemT>, _index: number) => string;
88
+ rowViewableItemsChanged: (info: IViewableItemsChangedInfo<IRow<ItemT>>) => void;
89
+ private buildRowViewabilityPairs;
90
+ rowCells(row: unknown, separators: unknown): {
91
+ key: string;
92
+ context: IVListItemContext<ItemT>;
93
+ }[];
94
+ rowSeparatorContext(highlighted: unknown, leadingRow: unknown, trailingRow: unknown): IVListSeparatorContext<ItemT>;
95
+ itemSeparatorContext(highlighted: unknown, leadingItem: unknown, trailingItem: unknown): IVListSeparatorContext<ItemT>;
96
+ scrollToOffset(params: {
97
+ offset: number;
98
+ animated?: boolean;
99
+ }): void;
100
+ scrollToIndex(params: {
101
+ index: number;
102
+ animated?: boolean;
103
+ viewOffset?: number;
104
+ viewPosition?: number;
105
+ }): void;
106
+ scrollToItem(params: {
107
+ item: unknown;
108
+ animated?: boolean;
109
+ viewPosition?: number;
110
+ }): void;
111
+ scrollToEnd(params?: {
112
+ animated?: boolean;
113
+ }): void;
114
+ flashScrollIndicators(): void;
115
+ getNativeScrollRef(): IScrollViewHandle | null;
116
+ getScrollableNode(): IScrollViewHandle | null;
117
+ getScrollResponder(): IScrollViewHandle | null;
118
+ getScrollNode(): ISymbioteNode | null;
119
+ recordInteraction(): void;
120
+ static ɵfac: i0.ɵɵFactoryDeclaration<FlatList<any>, never>;
121
+ static ɵcmp: i0.ɵɵComponentDeclaration<FlatList<any>, "FlatList", never, { "data": { "alias": "data"; "required": true; }; "numColumns": { "alias": "numColumns"; "required": false; }; "columnWrapperStyle": { "alias": "columnWrapperStyle"; "required": false; }; "keyExtractor": { "alias": "keyExtractor"; "required": false; }; "getItemLayout": { "alias": "getItemLayout"; "required": false; }; "horizontal": { "alias": "horizontal"; "required": false; }; "inverted": { "alias": "inverted"; "required": false; }; "extraData": { "alias": "extraData"; "required": false; }; "onEndReachedThreshold": { "alias": "onEndReachedThreshold"; "required": false; }; "onStartReachedThreshold": { "alias": "onStartReachedThreshold"; "required": false; }; "refreshing": { "alias": "refreshing"; "required": false; }; "progressViewOffset": { "alias": "progressViewOffset"; "required": false; }; "viewabilityConfig": { "alias": "viewabilityConfig"; "required": false; }; "viewabilityConfigCallbackPairs": { "alias": "viewabilityConfigCallbackPairs"; "required": false; }; "initialNumToRender": { "alias": "initialNumToRender"; "required": false; }; "initialScrollIndex": { "alias": "initialScrollIndex"; "required": false; }; "maxToRenderPerBatch": { "alias": "maxToRenderPerBatch"; "required": false; }; "updateCellsBatchingPeriod": { "alias": "updateCellsBatchingPeriod"; "required": false; }; "windowSize": { "alias": "windowSize"; "required": false; }; "stickyHeaderIndices": { "alias": "stickyHeaderIndices"; "required": false; }; "maintainVisibleContentPosition": { "alias": "maintainVisibleContentPosition"; "required": false; }; "onScroll": { "alias": "onScroll"; "required": false; }; "onScrollBeginDrag": { "alias": "onScrollBeginDrag"; "required": false; }; "onScrollEndDrag": { "alias": "onScrollEndDrag"; "required": false; }; "onMomentumScrollBegin": { "alias": "onMomentumScrollBegin"; "required": false; }; "onMomentumScrollEnd": { "alias": "onMomentumScrollEnd"; "required": false; }; "scrollEventThrottle": { "alias": "scrollEventThrottle"; "required": false; }; "keyboardShouldPersistTaps": { "alias": "keyboardShouldPersistTaps"; "required": false; }; "keyboardDismissMode": { "alias": "keyboardDismissMode"; "required": false; }; "style": { "alias": "style"; "required": false; }; "contentContainerStyle": { "alias": "contentContainerStyle"; "required": false; }; }, { "endReached": "endReached"; "startReached": "startReached"; "refresh": "refresh"; "viewableItemsChanged": "viewableItemsChanged"; "scrollToIndexFailed": "scrollToIndexFailed"; }, ["itemDir", "headerDir", "footerDir", "emptyDir", "separatorDir"], never, true, never>;
122
+ }