@symbiote-native/angular 0.8.0 → 2.0.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 (256) hide show
  1. package/README.md +13 -10
  2. package/babel-register-composed.cjs +58 -18
  3. package/bin/symbiote-angular-dev.cjs +16 -4
  4. package/build/angular/anchor-host-registry.js +1 -15
  5. package/build/angular/anchor-host-registry.js.map +1 -1
  6. package/build/angular/change-detection-flush.d.ts +31 -0
  7. package/build/angular/change-detection-flush.js +110 -0
  8. package/build/angular/change-detection-flush.js.map +1 -0
  9. package/build/angular/components/activity-indicator-props.d.ts +2 -0
  10. package/build/angular/components/activity-indicator-props.js +2 -0
  11. package/build/angular/components/activity-indicator-props.js.map +1 -0
  12. package/build/angular/components/button-props.d.ts +2 -0
  13. package/build/angular/components/button-props.js +2 -0
  14. package/build/angular/components/button-props.js.map +1 -0
  15. package/build/angular/components/flat-list/index.d.ts +2 -1
  16. package/build/angular/components/flat-list/index.js +22 -10
  17. package/build/angular/components/flat-list/index.js.map +1 -1
  18. package/build/angular/components/image-background-props.d.ts +6 -0
  19. package/build/angular/components/image-background-props.js +2 -0
  20. package/build/angular/components/image-background-props.js.map +1 -0
  21. package/build/angular/components/{image/shared.d.ts → image-shared.d.ts} +4 -4
  22. package/build/angular/components/{image/shared.js → image-shared.js} +39 -28
  23. package/build/angular/components/image-shared.js.map +1 -0
  24. package/build/angular/components/input-accessory-view-props.d.ts +7 -0
  25. package/build/angular/components/input-accessory-view-props.js +9 -0
  26. package/build/angular/components/input-accessory-view-props.js.map +1 -0
  27. package/build/angular/components/keyboard-avoiding-view/index.d.ts +2 -1
  28. package/build/angular/components/keyboard-avoiding-view/index.js +28 -27
  29. package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
  30. package/build/angular/components/modal/index.d.ts +2 -0
  31. package/build/angular/components/modal/index.js +33 -20
  32. package/build/angular/components/modal/index.js.map +1 -1
  33. package/build/angular/components/pressable-props.d.ts +32 -0
  34. package/build/angular/components/pressable-props.js +11 -0
  35. package/build/angular/components/pressable-props.js.map +1 -0
  36. package/build/angular/components/refresh-control-props.d.ts +16 -0
  37. package/build/angular/components/refresh-control-props.js +14 -0
  38. package/build/angular/components/refresh-control-props.js.map +1 -0
  39. package/build/angular/components/safe-area-view-props.d.ts +7 -0
  40. package/build/angular/components/safe-area-view-props.js +11 -0
  41. package/build/angular/components/safe-area-view-props.js.map +1 -0
  42. package/build/angular/components/scroll-view-props.d.ts +76 -0
  43. package/build/angular/components/scroll-view-props.js +18 -0
  44. package/build/angular/components/scroll-view-props.js.map +1 -0
  45. package/build/angular/components/section-list/index.d.ts +3 -0
  46. package/build/angular/components/section-list/index.js +10 -1
  47. package/build/angular/components/section-list/index.js.map +1 -1
  48. package/build/angular/components/text-input-props.d.ts +45 -0
  49. package/build/angular/components/text-input-props.js +18 -0
  50. package/build/angular/components/text-input-props.js.map +1 -0
  51. package/build/angular/components/touchable-native-feedback/touchable-native-feedback-props.d.ts +6 -0
  52. package/build/angular/components/touchable-native-feedback/touchable-native-feedback-props.js +2 -0
  53. package/build/angular/components/touchable-native-feedback/touchable-native-feedback-props.js.map +1 -0
  54. package/build/angular/components/touchable-props.d.ts +14 -0
  55. package/build/angular/components/touchable-props.js +13 -0
  56. package/build/angular/components/touchable-props.js.map +1 -0
  57. package/build/angular/components/touchable-without-feedback/touchable-without-feedback-props.d.ts +3 -0
  58. package/build/angular/components/touchable-without-feedback/touchable-without-feedback-props.js +2 -0
  59. package/build/angular/components/touchable-without-feedback/touchable-without-feedback-props.js.map +1 -0
  60. package/build/angular/components/virtualized-list/index.d.ts +8 -1
  61. package/build/angular/components/virtualized-list/index.js +373 -278
  62. package/build/angular/components/virtualized-list/index.js.map +1 -1
  63. package/build/angular/components/virtualized-section-list/index.d.ts +3 -0
  64. package/build/angular/components/virtualized-section-list/index.js +10 -1
  65. package/build/angular/components/virtualized-section-list/index.js.map +1 -1
  66. package/build/angular/components.d.ts +21 -27
  67. package/build/angular/components.js +13 -15
  68. package/build/angular/components.js.map +1 -1
  69. package/build/angular/create-portal/index.d.ts +11 -2
  70. package/build/angular/create-portal/index.js +37 -11
  71. package/build/angular/create-portal/index.js.map +1 -1
  72. package/build/angular/create-tunnel/index.js +1 -1
  73. package/build/angular/element-props.d.ts +53 -0
  74. package/build/angular/element-props.js +2 -0
  75. package/build/angular/element-props.js.map +1 -0
  76. package/build/angular/elements.d.ts +528 -0
  77. package/build/angular/elements.js +1444 -0
  78. package/build/angular/elements.js.map +1 -0
  79. package/build/angular/gate-demand.d.ts +37 -0
  80. package/build/angular/gate-demand.js +84 -0
  81. package/build/angular/gate-demand.js.map +1 -0
  82. package/build/angular/host-instance/index.js +1 -1
  83. package/build/angular/index.d.ts +5 -2
  84. package/build/angular/index.js +16 -1
  85. package/build/angular/index.js.map +1 -1
  86. package/build/angular/modules/animated/create-animated-component.d.ts +6 -6
  87. package/build/angular/modules/animated/create-animated-component.js +73 -81
  88. package/build/angular/modules/animated/create-animated-component.js.map +1 -1
  89. package/build/angular/modules/animated/index.js +1 -1
  90. package/build/angular/modules/animated/index.js.map +1 -1
  91. package/build/angular/modules/image/index.d.ts +3 -0
  92. package/build/angular/modules/image/index.js +16 -0
  93. package/build/angular/modules/image/index.js.map +1 -0
  94. package/build/angular/primitives/index.d.ts +28 -16
  95. package/build/angular/primitives/index.js +77 -31
  96. package/build/angular/primitives/index.js.map +1 -1
  97. package/build/angular/primitives/shared.d.ts +2 -3
  98. package/build/angular/primitives/shared.js +8 -53
  99. package/build/angular/primitives/shared.js.map +1 -1
  100. package/build/angular/register.d.ts +1 -0
  101. package/build/angular/register.js +16 -0
  102. package/build/angular/register.js.map +1 -0
  103. package/build/angular/render/index.js +4 -2
  104. package/build/angular/render/index.js.map +1 -1
  105. package/build/angular/renderer/index.js +207 -60
  106. package/build/angular/renderer/index.js.map +1 -1
  107. package/build/angular/renderer/value-change.d.ts +2 -0
  108. package/build/angular/renderer/value-change.js +9 -0
  109. package/build/angular/renderer/value-change.js.map +1 -0
  110. package/metro-config.cjs +23 -5
  111. package/metro-css-parser.cjs +2 -1
  112. package/package.json +17 -7
  113. package/src/anchor-host-registry.ts +1 -15
  114. package/src/change-detection-flush.ts +120 -0
  115. package/src/components/activity-indicator-props.ts +21 -0
  116. package/src/components/button-props.ts +26 -0
  117. package/src/components/flat-list/index.ts +12 -4
  118. package/src/components/image-background-props.ts +24 -0
  119. package/src/components/{image/shared.ts → image-shared.ts} +57 -26
  120. package/src/components/input-accessory-view-props.ts +21 -0
  121. package/src/components/keyboard-avoiding-view/index.ts +27 -16
  122. package/src/components/modal/index.ts +32 -11
  123. package/src/components/pressable-props.ts +73 -0
  124. package/src/components/refresh-control-props.ts +43 -0
  125. package/src/components/safe-area-view-props.ts +28 -0
  126. package/src/components/scroll-view-props.ts +109 -0
  127. package/src/components/section-list/index.ts +18 -0
  128. package/src/components/text-input-props.ts +72 -0
  129. package/src/components/touchable-native-feedback/touchable-native-feedback-props.ts +23 -0
  130. package/src/components/touchable-props.ts +30 -0
  131. package/src/components/touchable-without-feedback/touchable-without-feedback-props.ts +21 -0
  132. package/src/components/virtualized-list/index.ts +254 -153
  133. package/src/components/virtualized-section-list/index.ts +18 -0
  134. package/src/components.ts +86 -35
  135. package/src/create-portal/index.ts +39 -9
  136. package/src/create-tunnel/index.ts +1 -1
  137. package/src/diagnostics.ts +1 -1
  138. package/src/element-props.ts +90 -0
  139. package/src/elements.ts +919 -0
  140. package/src/gate-demand.ts +109 -0
  141. package/src/host-instance/index.ts +1 -1
  142. package/src/index.ts +54 -15
  143. package/src/modules/animated/create-animated-component.ts +73 -59
  144. package/src/modules/animated/index.ts +1 -1
  145. package/src/modules/image/index.ts +18 -0
  146. package/src/primitives/index.ts +47 -16
  147. package/src/primitives/shared.ts +11 -44
  148. package/src/register.ts +15 -0
  149. package/src/render/index.ts +4 -2
  150. package/src/renderer/index.ts +239 -80
  151. package/src/renderer/value-change.ts +8 -0
  152. package/build/angular/components/activity-indicator/index.android.d.ts +0 -13
  153. package/build/angular/components/activity-indicator/index.android.js +0 -29
  154. package/build/angular/components/activity-indicator/index.android.js.map +0 -1
  155. package/build/angular/components/activity-indicator/index.d.ts +0 -1
  156. package/build/angular/components/activity-indicator/index.ios.d.ts +0 -9
  157. package/build/angular/components/activity-indicator/index.ios.js +0 -26
  158. package/build/angular/components/activity-indicator/index.ios.js.map +0 -1
  159. package/build/angular/components/activity-indicator/index.js +0 -4
  160. package/build/angular/components/activity-indicator/index.js.map +0 -1
  161. package/build/angular/components/activity-indicator/shared.d.ts +0 -67
  162. package/build/angular/components/activity-indicator/shared.js +0 -260
  163. package/build/angular/components/activity-indicator/shared.js.map +0 -1
  164. package/build/angular/components/button.d.ts +0 -65
  165. package/build/angular/components/button.js +0 -351
  166. package/build/angular/components/button.js.map +0 -1
  167. package/build/angular/components/image/index.android.d.ts +0 -15
  168. package/build/angular/components/image/index.android.js +0 -91
  169. package/build/angular/components/image/index.android.js.map +0 -1
  170. package/build/angular/components/image/index.d.ts +0 -1
  171. package/build/angular/components/image/index.ios.d.ts +0 -15
  172. package/build/angular/components/image/index.ios.js +0 -91
  173. package/build/angular/components/image/index.ios.js.map +0 -1
  174. package/build/angular/components/image/index.js +0 -3
  175. package/build/angular/components/image/index.js.map +0 -1
  176. package/build/angular/components/image/shared.js.map +0 -1
  177. package/build/angular/components/image-background.d.ts +0 -82
  178. package/build/angular/components/image-background.js +0 -434
  179. package/build/angular/components/image-background.js.map +0 -1
  180. package/build/angular/components/input-accessory-view/index.d.ts +0 -65
  181. package/build/angular/components/input-accessory-view/index.js +0 -290
  182. package/build/angular/components/input-accessory-view/index.js.map +0 -1
  183. package/build/angular/components/pressable/index.d.ts +0 -129
  184. package/build/angular/components/pressable/index.js +0 -473
  185. package/build/angular/components/pressable/index.js.map +0 -1
  186. package/build/angular/components/refresh-control/index.d.ts +0 -90
  187. package/build/angular/components/refresh-control/index.js +0 -380
  188. package/build/angular/components/refresh-control/index.js.map +0 -1
  189. package/build/angular/components/safe-area-view/index.d.ts +0 -62
  190. package/build/angular/components/safe-area-view/index.js +0 -287
  191. package/build/angular/components/safe-area-view/index.js.map +0 -1
  192. package/build/angular/components/scroll-view/index.android.d.ts +0 -20
  193. package/build/angular/components/scroll-view/index.android.js +0 -262
  194. package/build/angular/components/scroll-view/index.android.js.map +0 -1
  195. package/build/angular/components/scroll-view/index.d.ts +0 -3
  196. package/build/angular/components/scroll-view/index.ios.d.ts +0 -8
  197. package/build/angular/components/scroll-view/index.ios.js +0 -92
  198. package/build/angular/components/scroll-view/index.ios.js.map +0 -1
  199. package/build/angular/components/scroll-view/index.js +0 -6
  200. package/build/angular/components/scroll-view/index.js.map +0 -1
  201. package/build/angular/components/scroll-view/projection.d.ts +0 -67
  202. package/build/angular/components/scroll-view/projection.js +0 -560
  203. package/build/angular/components/scroll-view/projection.js.map +0 -1
  204. package/build/angular/components/scroll-view/shared.d.ts +0 -239
  205. package/build/angular/components/scroll-view/shared.js +0 -832
  206. package/build/angular/components/scroll-view/shared.js.map +0 -1
  207. package/build/angular/components/scroll-view/sticky-header.d.ts +0 -40
  208. package/build/angular/components/scroll-view/sticky-header.js +0 -224
  209. package/build/angular/components/scroll-view/sticky-header.js.map +0 -1
  210. package/build/angular/components/switch/index.android.d.ts +0 -24
  211. package/build/angular/components/switch/index.android.js +0 -112
  212. package/build/angular/components/switch/index.android.js.map +0 -1
  213. package/build/angular/components/switch/index.d.ts +0 -1
  214. package/build/angular/components/switch/index.ios.d.ts +0 -23
  215. package/build/angular/components/switch/index.ios.js +0 -111
  216. package/build/angular/components/switch/index.ios.js.map +0 -1
  217. package/build/angular/components/switch/index.js +0 -4
  218. package/build/angular/components/switch/index.js.map +0 -1
  219. package/build/angular/components/switch/shared.d.ts +0 -49
  220. package/build/angular/components/switch/shared.js +0 -191
  221. package/build/angular/components/switch/shared.js.map +0 -1
  222. package/build/angular/components/text-input.d.ts +0 -161
  223. package/build/angular/components/text-input.js +0 -659
  224. package/build/angular/components/text-input.js.map +0 -1
  225. package/build/angular/components/touchable/index.d.ts +0 -276
  226. package/build/angular/components/touchable/index.js +0 -1422
  227. package/build/angular/components/touchable/index.js.map +0 -1
  228. package/build/angular/components/touchable-native-feedback/index.d.ts +0 -86
  229. package/build/angular/components/touchable-native-feedback/index.js +0 -407
  230. package/build/angular/components/touchable-native-feedback/index.js.map +0 -1
  231. package/src/components/activity-indicator/index.android.ts +0 -23
  232. package/src/components/activity-indicator/index.ios.ts +0 -21
  233. package/src/components/activity-indicator/index.ts +0 -4
  234. package/src/components/activity-indicator/shared.ts +0 -225
  235. package/src/components/button.ts +0 -220
  236. package/src/components/image/index.android.ts +0 -99
  237. package/src/components/image/index.ios.ts +0 -99
  238. package/src/components/image/index.ts +0 -3
  239. package/src/components/image-background.ts +0 -290
  240. package/src/components/input-accessory-view/index.ts +0 -240
  241. package/src/components/pressable/index.ts +0 -462
  242. package/src/components/refresh-control/index.ts +0 -340
  243. package/src/components/safe-area-view/index.ts +0 -231
  244. package/src/components/scroll-view/index.android.ts +0 -205
  245. package/src/components/scroll-view/index.ios.ts +0 -81
  246. package/src/components/scroll-view/index.ts +0 -7
  247. package/src/components/scroll-view/projection.ts +0 -713
  248. package/src/components/scroll-view/shared.ts +0 -1066
  249. package/src/components/scroll-view/sticky-header.ts +0 -267
  250. package/src/components/switch/index.android.ts +0 -113
  251. package/src/components/switch/index.ios.ts +0 -112
  252. package/src/components/switch/index.ts +0 -4
  253. package/src/components/switch/shared.ts +0 -284
  254. package/src/components/text-input.ts +0 -613
  255. package/src/components/touchable/index.ts +0 -913
  256. package/src/components/touchable-native-feedback/index.ts +0 -317
@@ -1,65 +0,0 @@
1
- import { EventEmitter, type DoCheck, type OnChanges } 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
- import * as i1 from "../../primitives/shared";
6
- export interface IAngularInputAccessoryViewProps extends IAccessibilityProps, IAriaProps {
7
- nativeID?: string;
8
- backgroundColor?: string;
9
- style?: IStyleProp<IViewStyle>;
10
- }
11
- export type IAngularInputAccessoryViewInputs = Omit<IAngularInputAccessoryViewProps, 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
12
- export declare class InputAccessoryView implements IAngularInputAccessoryViewInputs, OnChanges, DoCheck {
13
- nativeID?: string;
14
- backgroundColor?: string;
15
- style?: IStyleProp<IViewStyle>;
16
- readonly accessibilityAction: EventEmitter<ISymbioteEvent>;
17
- readonly accessibilityTap: EventEmitter<ISymbioteEvent>;
18
- readonly magicTap: EventEmitter<ISymbioteEvent>;
19
- readonly accessibilityEscape: EventEmitter<ISymbioteEvent>;
20
- testID?: string;
21
- accessible?: boolean;
22
- accessibilityLabel?: string;
23
- accessibilityHint?: string;
24
- accessibilityRole?: IAccessibilityProps['accessibilityRole'];
25
- accessibilityState?: IAccessibilityStateValue;
26
- accessibilityValue?: IAccessibilityProps['accessibilityValue'];
27
- accessibilityActions?: IAccessibilityProps['accessibilityActions'];
28
- accessibilityLabelledBy?: string | string[];
29
- importantForAccessibility?: IAccessibilityProps['importantForAccessibility'];
30
- accessibilityLiveRegion?: IAccessibilityProps['accessibilityLiveRegion'];
31
- screenReaderFocusable?: boolean;
32
- accessibilityViewIsModal?: boolean;
33
- accessibilityElementsHidden?: boolean;
34
- accessibilityIgnoresInvertColors?: boolean;
35
- accessibilityLanguage?: string;
36
- accessibilityRespondsToUserInteraction?: boolean;
37
- accessibilityShowsLargeContentViewer?: boolean;
38
- accessibilityLargeContentTitle?: string;
39
- role?: IAriaProps['role'];
40
- ariaLabel?: string;
41
- ariaLabelledBy?: string;
42
- ariaLive?: IAriaProps['aria-live'];
43
- ariaHidden?: boolean;
44
- ariaBusy?: boolean;
45
- ariaChecked?: boolean | 'mixed';
46
- ariaDisabled?: boolean;
47
- ariaExpanded?: boolean;
48
- ariaSelected?: boolean;
49
- ariaModal?: boolean;
50
- ariaValueMax?: number;
51
- ariaValueMin?: number;
52
- ariaValueNow?: number;
53
- ariaValueText?: string;
54
- private readonly elementRef;
55
- emit(emitter: EventEmitter<ISymbioteEvent>, event: unknown): void;
56
- private get descriptor();
57
- private readonly hostPropsRevision;
58
- private lastAnchorStyle;
59
- ngOnChanges(): void;
60
- ngDoCheck(): void;
61
- readonly hostProps: import("@angular/core").Signal<Record<string, unknown>>;
62
- private accessibilityInputs;
63
- static ɵfac: i0.ɵɵFactoryDeclaration<InputAccessoryView, never>;
64
- static ɵcmp: i0.ɵɵComponentDeclaration<InputAccessoryView, "InputAccessoryView", never, { "nativeID": { "alias": "nativeID"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "style": { "alias": "style"; "required": false; }; "testID": { "alias": "testID"; "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; }; }, { "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, never, ["*"], true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
65
- }
@@ -1,290 +0,0 @@
1
- // InputAccessoryView, the Angular lifecycle half (iOS). RCTInputAccessoryView is a real Fabric
2
- // host node that docks its content above the keyboard; a TextInput points at it by nativeID through
3
- // its inputAccessoryViewID. The host-node assembly (nativeID / backgroundColor / style /
4
- // accessibility forwarding) lives framework-agnostic in
5
- // @symbiote-native/components/renderInputAccessoryView and is shared verbatim with React/Vue; here
6
- // Angular supplies only the lifecycle — it folds aria/role, reads the resolved props off the
7
- // Descriptor, and nests the user children under the host via <ng-content>. The Angular twin of the
8
- // React/Vue InputAccessoryView. No platform branch, so this stays flat.
9
- import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, computed, ElementRef, EventEmitter, inject, Input, Output, signal, } from '@angular/core';
10
- import { renderInputAccessoryView, resolveAccessibilityProps, } from '@symbiote-native/components';
11
- import { isSymbioteEvent, } from '@symbiote-native/engine';
12
- import { anchorHostStyle, InputAccessoryViewHost, SymbioteHostPropsDirective, SymbioteStyleInputDirective, } from '../../primitives';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "../../primitives/shared";
15
- export class InputAccessoryView {
16
- nativeID;
17
- backgroundColor;
18
- style;
19
- accessibilityAction = new EventEmitter();
20
- accessibilityTap = new EventEmitter();
21
- magicTap = new EventEmitter();
22
- accessibilityEscape = new EventEmitter();
23
- testID;
24
- accessible;
25
- accessibilityLabel;
26
- accessibilityHint;
27
- accessibilityRole;
28
- accessibilityState;
29
- accessibilityValue;
30
- accessibilityActions;
31
- accessibilityLabelledBy;
32
- importantForAccessibility;
33
- accessibilityLiveRegion;
34
- screenReaderFocusable;
35
- accessibilityViewIsModal;
36
- accessibilityElementsHidden;
37
- accessibilityIgnoresInvertColors;
38
- accessibilityLanguage;
39
- accessibilityRespondsToUserInteraction;
40
- accessibilityShowsLargeContentViewer;
41
- accessibilityLargeContentTitle;
42
- role;
43
- ariaLabel;
44
- ariaLabelledBy;
45
- ariaLive;
46
- ariaHidden;
47
- ariaBusy;
48
- ariaChecked;
49
- ariaDisabled;
50
- ariaExpanded;
51
- ariaSelected;
52
- ariaModal;
53
- ariaValueMax;
54
- ariaValueMin;
55
- ariaValueNow;
56
- ariaValueText;
57
- // This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
58
- // onto (see anchorHostStyle's doc comment). InputAccessoryView has no inner ViewChild, so this
59
- // is the only ElementRef in the class.
60
- elementRef = inject(ElementRef);
61
- // Forward an engine event to the matching @Output(), narrowing the template's untyped $event.
62
- emit(emitter, event) {
63
- if (isSymbioteEvent(event))
64
- emitter.emit(event);
65
- }
66
- // renderInputAccessoryView owns the host-node assembly (shared with React/Vue); the adapter reads
67
- // the resolved host props off the Descriptor it returns.
68
- get descriptor() {
69
- return renderInputAccessoryView({
70
- nativeID: this.nativeID,
71
- backgroundColor: this.backgroundColor,
72
- style: this.style,
73
- passthrough: resolveAccessibilityProps(this.accessibilityInputs()),
74
- });
75
- }
76
- // Bridges the non-reactive fields `hostProps` reads into the reactive graph, so it can memoize.
77
- // Plain fields read inside a computed() are UNTRACKED - something must signal "a dependency
78
- // changed" or the bag goes stale. Signal inputs would do this natively, but `input()` is visible
79
- // only to the AOT compiler and this package's unit suite runs on JIT (see the
80
- // `angular-adapter-change-detection` skill, §6); `signal()`/`computed()` are plain runtime APIs.
81
- hostPropsRevision = signal(0, /* @ts-ignore */
82
- ...(ngDevMode ? [{ debugName: "hostPropsRevision" }] : /* istanbul ignore next */ []));
83
- // What the anchor's class-derived style was when the bag was last built (identity, not value).
84
- lastAnchorStyle;
85
- ngOnChanges() {
86
- // The single moment Angular has finished writing every changed @Input for this pass.
87
- this.hostPropsRevision.update(revision => revision + 1);
88
- }
89
- // The anchor's class-derived style is NOT an @Input: `class="..."`/`[ngClass]` at the use site
90
- // resolves through the renderer's addClass onto this component's anchor host (see
91
- // anchorHostStyle's doc comment), so it never shows up in SimpleChanges and ngOnChanges alone
92
- // would leave a later class toggle stranded. ngDoCheck runs at exactly the cadence the old
93
- // getter was re-read, and bumps only on a real identity change.
94
- ngDoCheck() {
95
- const anchorStyle = anchorHostStyle(this.elementRef);
96
- if (anchorStyle === this.lastAnchorStyle)
97
- return;
98
- this.lastAnchorStyle = anchorStyle;
99
- this.hostPropsRevision.update(revision => revision + 1);
100
- }
101
- // The anchor's class-derived style goes FIRST, the Descriptor's resolved style SECOND —
102
- // flattenStyle's later-wins collapse keeps an explicit [style] winning over its ambient class.
103
- //
104
- // A computed(), not a getter: Angular re-reads a template getter on every refresh of this view
105
- // and `[symbioteHostProps]` compares by REFERENCE, so a freshly rebuilt (but identical) bag
106
- // re-pushes every key through renderer.setProperty -> the engine's prop routing - and this one
107
- // re-runs renderInputAccessoryView to build it.
108
- hostProps = computed(() => {
109
- this.hostPropsRevision();
110
- const descriptorProps = this.descriptor.props;
111
- return {
112
- ...descriptorProps,
113
- style: [anchorHostStyle(this.elementRef), descriptorProps.style],
114
- };
115
- }, /* @ts-ignore */
116
- ...(ngDevMode ? [{ debugName: "hostProps" }] : /* istanbul ignore next */ []));
117
- // Typed as the a11y intersection WITH the string index (the bag renderInputAccessoryView spreads
118
- // into the host props), so resolveAccessibilityProps's result stays assignable to passthrough.
119
- accessibilityInputs() {
120
- return {
121
- testID: this.testID,
122
- accessible: this.accessible,
123
- accessibilityLabel: this.accessibilityLabel,
124
- accessibilityHint: this.accessibilityHint,
125
- accessibilityRole: this.accessibilityRole,
126
- accessibilityState: this.accessibilityState,
127
- accessibilityValue: this.accessibilityValue,
128
- accessibilityActions: this.accessibilityActions,
129
- accessibilityLabelledBy: this.accessibilityLabelledBy,
130
- importantForAccessibility: this.importantForAccessibility,
131
- accessibilityLiveRegion: this.accessibilityLiveRegion,
132
- screenReaderFocusable: this.screenReaderFocusable,
133
- accessibilityViewIsModal: this.accessibilityViewIsModal,
134
- accessibilityElementsHidden: this.accessibilityElementsHidden,
135
- accessibilityIgnoresInvertColors: this.accessibilityIgnoresInvertColors,
136
- accessibilityLanguage: this.accessibilityLanguage,
137
- accessibilityRespondsToUserInteraction: this.accessibilityRespondsToUserInteraction,
138
- accessibilityShowsLargeContentViewer: this.accessibilityShowsLargeContentViewer,
139
- accessibilityLargeContentTitle: this.accessibilityLargeContentTitle,
140
- role: this.role,
141
- 'aria-label': this.ariaLabel,
142
- 'aria-labelledby': this.ariaLabelledBy,
143
- 'aria-live': this.ariaLive,
144
- 'aria-hidden': this.ariaHidden,
145
- 'aria-busy': this.ariaBusy,
146
- 'aria-checked': this.ariaChecked,
147
- 'aria-disabled': this.ariaDisabled,
148
- 'aria-expanded': this.ariaExpanded,
149
- 'aria-selected': this.ariaSelected,
150
- 'aria-modal': this.ariaModal,
151
- 'aria-valuemax': this.ariaValueMax,
152
- 'aria-valuemin': this.ariaValueMin,
153
- 'aria-valuenow': this.ariaValueNow,
154
- 'aria-valuetext': this.ariaValueText,
155
- };
156
- }
157
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: InputAccessoryView, deps: [], target: i0.ɵɵFactoryTarget.Component });
158
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: InputAccessoryView, isStandalone: true, selector: "InputAccessoryView", inputs: { nativeID: "nativeID", backgroundColor: "backgroundColor", style: "style", testID: "testID", 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: { accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, usesOnChanges: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
159
- <symbiote-input-accessory-view
160
- [symbioteHostProps]="hostProps()"
161
- (accessibilityAction)="emit(accessibilityAction, $event)"
162
- (accessibilityTap)="emit(accessibilityTap, $event)"
163
- (magicTap)="emit(magicTap, $event)"
164
- (accessibilityEscape)="emit(accessibilityEscape, $event)"
165
- >
166
- <ng-content></ng-content>
167
- </symbiote-input-accessory-view>
168
- `, isInline: true, dependencies: [{ kind: "component", type: InputAccessoryViewHost, selector: "symbiote-input-accessory-view" }, { kind: "directive", type: SymbioteHostPropsDirective, selector: "[symbioteHostProps]", inputs: ["symbioteHostProps"], exportAs: ["symbioteHost"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
169
- }
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: InputAccessoryView, decorators: [{
171
- type: Component,
172
- args: [{
173
- selector: 'InputAccessoryView',
174
- standalone: true,
175
- hostDirectives: [
176
- { directive: SymbioteStyleInputDirective, inputs: ['style'] },
177
- ],
178
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
179
- imports: [InputAccessoryViewHost, SymbioteHostPropsDirective],
180
- changeDetection: ChangeDetectionStrategy.OnPush,
181
- template: `
182
- <symbiote-input-accessory-view
183
- [symbioteHostProps]="hostProps()"
184
- (accessibilityAction)="emit(accessibilityAction, $event)"
185
- (accessibilityTap)="emit(accessibilityTap, $event)"
186
- (magicTap)="emit(magicTap, $event)"
187
- (accessibilityEscape)="emit(accessibilityEscape, $event)"
188
- >
189
- <ng-content></ng-content>
190
- </symbiote-input-accessory-view>
191
- `,
192
- }]
193
- }], propDecorators: { nativeID: [{
194
- type: Input
195
- }], backgroundColor: [{
196
- type: Input
197
- }], style: [{
198
- type: Input
199
- }], accessibilityAction: [{
200
- type: Output
201
- }], accessibilityTap: [{
202
- type: Output
203
- }], magicTap: [{
204
- type: Output
205
- }], accessibilityEscape: [{
206
- type: Output
207
- }], testID: [{
208
- type: Input
209
- }], accessible: [{
210
- type: Input
211
- }], accessibilityLabel: [{
212
- type: Input
213
- }], accessibilityHint: [{
214
- type: Input
215
- }], accessibilityRole: [{
216
- type: Input
217
- }], accessibilityState: [{
218
- type: Input
219
- }], accessibilityValue: [{
220
- type: Input
221
- }], accessibilityActions: [{
222
- type: Input
223
- }], accessibilityLabelledBy: [{
224
- type: Input
225
- }], importantForAccessibility: [{
226
- type: Input
227
- }], accessibilityLiveRegion: [{
228
- type: Input
229
- }], screenReaderFocusable: [{
230
- type: Input
231
- }], accessibilityViewIsModal: [{
232
- type: Input
233
- }], accessibilityElementsHidden: [{
234
- type: Input
235
- }], accessibilityIgnoresInvertColors: [{
236
- type: Input
237
- }], accessibilityLanguage: [{
238
- type: Input
239
- }], accessibilityRespondsToUserInteraction: [{
240
- type: Input
241
- }], accessibilityShowsLargeContentViewer: [{
242
- type: Input
243
- }], accessibilityLargeContentTitle: [{
244
- type: Input
245
- }], role: [{
246
- type: Input
247
- }], ariaLabel: [{
248
- type: Input,
249
- args: ['aria-label']
250
- }], ariaLabelledBy: [{
251
- type: Input,
252
- args: ['aria-labelledby']
253
- }], ariaLive: [{
254
- type: Input,
255
- args: ['aria-live']
256
- }], ariaHidden: [{
257
- type: Input,
258
- args: ['aria-hidden']
259
- }], ariaBusy: [{
260
- type: Input,
261
- args: ['aria-busy']
262
- }], ariaChecked: [{
263
- type: Input,
264
- args: ['aria-checked']
265
- }], ariaDisabled: [{
266
- type: Input,
267
- args: ['aria-disabled']
268
- }], ariaExpanded: [{
269
- type: Input,
270
- args: ['aria-expanded']
271
- }], ariaSelected: [{
272
- type: Input,
273
- args: ['aria-selected']
274
- }], ariaModal: [{
275
- type: Input,
276
- args: ['aria-modal']
277
- }], ariaValueMax: [{
278
- type: Input,
279
- args: ['aria-valuemax']
280
- }], ariaValueMin: [{
281
- type: Input,
282
- args: ['aria-valuemin']
283
- }], ariaValueNow: [{
284
- type: Input,
285
- args: ['aria-valuenow']
286
- }], ariaValueText: [{
287
- type: Input,
288
- args: ['aria-valuetext']
289
- }] } });
290
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/input-accessory-view/index.ts"],"names":[],"mappings":"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"}
@@ -1,129 +0,0 @@
1
- import { EventEmitter, type DoCheck, type OnChanges } from '@angular/core';
2
- import { type IAccessibilityProps, type IAccessibilityStateValue, type IAriaProps, type IPressableAndroidRippleConfig, type IPressHandler, type IPressState, type IRectOffset } from '@symbiote-native/components';
3
- import { type ISymbioteEvent, type IStyleProp, type IViewStyle } from '@symbiote-native/engine';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../primitives/shared";
6
- export type { IPressState, IPressableAndroidRippleConfig, } from '@symbiote-native/components';
7
- export interface IAngularPressableProps extends IAccessibilityProps, IAriaProps {
8
- onPress?: IPressHandler;
9
- onPressIn?: IPressHandler;
10
- onPressOut?: IPressHandler;
11
- onPressMove?: IPressHandler;
12
- onLongPress?: IPressHandler;
13
- delayLongPress?: number;
14
- disabled?: boolean;
15
- cancelable?: boolean;
16
- hitSlop?: IRectOffset;
17
- pressRetentionOffset?: IRectOffset;
18
- unstable_pressDelay?: number;
19
- android_ripple?: IPressableAndroidRippleConfig;
20
- android_disableSound?: boolean;
21
- onHoverIn?: IPressHandler;
22
- onHoverOut?: IPressHandler;
23
- delayHoverIn?: number;
24
- delayHoverOut?: number;
25
- testID?: string;
26
- nativeID?: string;
27
- hasTVPreferredFocus?: boolean;
28
- nextFocusDown?: number;
29
- nextFocusForward?: number;
30
- nextFocusLeft?: number;
31
- nextFocusRight?: number;
32
- nextFocusUp?: number;
33
- style?: IStyleProp<IViewStyle> | ((state: IPressState) => IStyleProp<IViewStyle>);
34
- }
35
- export type IAngularPressableInputs = Omit<IAngularPressableProps, 'onPress' | 'onPressIn' | 'onPressOut' | 'onPressMove' | 'onLongPress' | 'onHoverIn' | 'onHoverOut' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
36
- export declare class Pressable implements IAngularPressableInputs, OnChanges, DoCheck {
37
- readonly press: EventEmitter<ISymbioteEvent>;
38
- readonly pressIn: EventEmitter<ISymbioteEvent>;
39
- readonly pressOut: EventEmitter<ISymbioteEvent>;
40
- readonly pressMove: EventEmitter<ISymbioteEvent>;
41
- readonly longPress: EventEmitter<ISymbioteEvent>;
42
- readonly hoverIn: EventEmitter<ISymbioteEvent>;
43
- readonly hoverOut: EventEmitter<ISymbioteEvent>;
44
- readonly accessibilityAction: EventEmitter<ISymbioteEvent>;
45
- readonly accessibilityTap: EventEmitter<ISymbioteEvent>;
46
- readonly magicTap: EventEmitter<ISymbioteEvent>;
47
- readonly accessibilityEscape: EventEmitter<ISymbioteEvent>;
48
- delayLongPress?: number;
49
- disabled?: boolean;
50
- cancelable?: boolean;
51
- hitSlop?: IRectOffset;
52
- pressRetentionOffset?: IRectOffset;
53
- unstable_pressDelay?: number;
54
- android_ripple?: IPressableAndroidRippleConfig;
55
- android_disableSound?: boolean;
56
- delayHoverIn?: number;
57
- delayHoverOut?: number;
58
- testID?: string;
59
- nativeID?: string;
60
- hasTVPreferredFocus?: boolean;
61
- nextFocusDown?: number;
62
- nextFocusForward?: number;
63
- nextFocusLeft?: number;
64
- nextFocusRight?: number;
65
- nextFocusUp?: number;
66
- style?: IAngularPressableProps['style'];
67
- accessible?: boolean;
68
- accessibilityLabel?: string;
69
- accessibilityHint?: string;
70
- accessibilityRole?: IAngularPressableProps['accessibilityRole'];
71
- accessibilityState?: IAccessibilityStateValue;
72
- accessibilityValue?: IAngularPressableProps['accessibilityValue'];
73
- accessibilityActions?: IAngularPressableProps['accessibilityActions'];
74
- accessibilityLabelledBy?: string | string[];
75
- importantForAccessibility?: IAccessibilityProps['importantForAccessibility'];
76
- accessibilityLiveRegion?: IAccessibilityProps['accessibilityLiveRegion'];
77
- screenReaderFocusable?: boolean;
78
- accessibilityViewIsModal?: boolean;
79
- accessibilityElementsHidden?: boolean;
80
- accessibilityIgnoresInvertColors?: boolean;
81
- accessibilityLanguage?: string;
82
- accessibilityRespondsToUserInteraction?: boolean;
83
- accessibilityShowsLargeContentViewer?: boolean;
84
- accessibilityLargeContentTitle?: string;
85
- ariaLabel?: string;
86
- ariaBusy?: boolean;
87
- ariaChecked?: boolean | 'mixed';
88
- ariaDisabled?: boolean;
89
- ariaExpanded?: boolean;
90
- ariaHidden?: boolean;
91
- ariaLabelledBy?: string;
92
- ariaLive?: IAriaProps['aria-live'];
93
- ariaSelected?: boolean;
94
- ariaModal?: boolean;
95
- ariaValueMax?: number;
96
- ariaValueMin?: number;
97
- ariaValueNow?: number;
98
- ariaValueText?: string;
99
- id?: string;
100
- role?: IAngularPressableProps['role'];
101
- private hostElement?;
102
- private readonly pressedState;
103
- get pressed(): boolean;
104
- private readonly runtime;
105
- private readonly host;
106
- private readonly changeDetector;
107
- private readonly elementRef;
108
- private readonly inputsRevision;
109
- private readonly anchorStyle;
110
- ngDoCheck(): void;
111
- ngOnChanges(): void;
112
- get resolvedStyle(): IStyleProp<IViewStyle> | undefined;
113
- get foldedAccessibility(): Partial<IAngularPressableProps>;
114
- get resolvedRippleProps(): Record<string, unknown> | undefined;
115
- readonly hostProps: import("@angular/core").Signal<Record<string, unknown>>;
116
- handlePressIn(event: unknown): void;
117
- handlePressOut(event: unknown): void;
118
- handlePress(event: unknown): void;
119
- handleResponderMove(event: unknown): void;
120
- claimResponder(): boolean;
121
- allowTermination(): boolean;
122
- emit(emitter: EventEmitter<ISymbioteEvent>, event: unknown): void;
123
- private noteHoverNoop;
124
- private emitterHandler;
125
- private get handlers();
126
- private get hostNode();
127
- static ɵfac: i0.ɵɵFactoryDeclaration<Pressable, never>;
128
- static ɵcmp: i0.ɵɵComponentDeclaration<Pressable, "Pressable, symbiote-pressable", never, { "delayLongPress": { "alias": "delayLongPress"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "cancelable": { "alias": "cancelable"; "required": false; }; "hitSlop": { "alias": "hitSlop"; "required": false; }; "pressRetentionOffset": { "alias": "pressRetentionOffset"; "required": false; }; "unstable_pressDelay": { "alias": "unstable_pressDelay"; "required": false; }; "android_ripple": { "alias": "android_ripple"; "required": false; }; "android_disableSound": { "alias": "android_disableSound"; "required": false; }; "delayHoverIn": { "alias": "delayHoverIn"; "required": false; }; "delayHoverOut": { "alias": "delayHoverOut"; "required": false; }; "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "required": false; }; "hasTVPreferredFocus": { "alias": "hasTVPreferredFocus"; "required": false; }; "nextFocusDown": { "alias": "nextFocusDown"; "required": false; }; "nextFocusForward": { "alias": "nextFocusForward"; "required": false; }; "nextFocusLeft": { "alias": "nextFocusLeft"; "required": false; }; "nextFocusRight": { "alias": "nextFocusRight"; "required": false; }; "nextFocusUp": { "alias": "nextFocusUp"; "required": false; }; "style": { "alias": "style"; "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; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaBusy": { "alias": "ariaBusy"; "required": false; }; "ariaChecked": { "alias": "ariaChecked"; "required": false; }; "ariaDisabled": { "alias": "ariaDisabled"; "required": false; }; "ariaExpanded": { "alias": "ariaExpanded"; "required": false; }; "ariaHidden": { "alias": "ariaHidden"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaLive": { "alias": "ariaLive"; "required": false; }; "ariaSelected": { "alias": "ariaSelected"; "required": false; }; "ariaModal": { "alias": "ariaModal"; "required": false; }; "ariaValueMax": { "alias": "ariaValueMax"; "required": false; }; "ariaValueMin": { "alias": "ariaValueMin"; "required": false; }; "ariaValueNow": { "alias": "ariaValueNow"; "required": false; }; "ariaValueText": { "alias": "ariaValueText"; "required": false; }; "id": { "alias": "id"; "required": false; }; "role": { "alias": "role"; "required": false; }; }, { "press": "press"; "pressIn": "pressIn"; "pressOut": "pressOut"; "pressMove": "pressMove"; "longPress": "longPress"; "hoverIn": "hoverIn"; "hoverOut": "hoverOut"; "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, never, ["*"], true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
129
- }