@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,473 +0,0 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, computed, inject, Input, Output, signal, 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, SymbioteStyleInputDirective, ViewHost, } from '../../primitives';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../primitives/shared";
7
- function isStyleFn(value) {
8
- return typeof value === 'function';
9
- }
10
- function asSymbioteEvent(event) {
11
- return typeof event === 'object' && event !== null && 'nativeEvent' in event
12
- ? event
13
- : undefined;
14
- }
15
- export class Pressable {
16
- // The press/hover lifecycle as real Angular events: `(press)="onTap($event)"`, not
17
- // `[onPress]="onTap"`. createPressHandlers still wants plain IPressHandler callbacks, so
18
- // emitterHandler() below adapts each EventEmitter into one - only while something is actually
19
- // subscribed (`.observed`), so an unbound onLongPress still skips arming the timer, exactly as
20
- // the old @Input()-absent case did.
21
- press = new EventEmitter();
22
- pressIn = new EventEmitter();
23
- pressOut = new EventEmitter();
24
- pressMove = new EventEmitter();
25
- longPress = new EventEmitter();
26
- hoverIn = new EventEmitter();
27
- hoverOut = new EventEmitter();
28
- // The four accessibility callbacks as real Angular events too, same tradeoff as press/hover
29
- // above: `(accessibilityAction)="emit(accessibilityAction, $event)"`, not
30
- // `[onAccessibilityAction]="onAccessibilityAction"`.
31
- accessibilityAction = new EventEmitter();
32
- accessibilityTap = new EventEmitter();
33
- magicTap = new EventEmitter();
34
- accessibilityEscape = new EventEmitter();
35
- delayLongPress;
36
- disabled;
37
- cancelable;
38
- hitSlop;
39
- pressRetentionOffset;
40
- unstable_pressDelay;
41
- android_ripple;
42
- android_disableSound;
43
- delayHoverIn;
44
- delayHoverOut;
45
- testID;
46
- nativeID;
47
- hasTVPreferredFocus;
48
- nextFocusDown;
49
- nextFocusForward;
50
- nextFocusLeft;
51
- nextFocusRight;
52
- nextFocusUp;
53
- style;
54
- accessible;
55
- accessibilityLabel;
56
- accessibilityHint;
57
- accessibilityRole;
58
- accessibilityState;
59
- accessibilityValue;
60
- accessibilityActions;
61
- accessibilityLabelledBy;
62
- importantForAccessibility;
63
- accessibilityLiveRegion;
64
- screenReaderFocusable;
65
- accessibilityViewIsModal;
66
- accessibilityElementsHidden;
67
- accessibilityIgnoresInvertColors;
68
- accessibilityLanguage;
69
- accessibilityRespondsToUserInteraction;
70
- accessibilityShowsLargeContentViewer;
71
- accessibilityLargeContentTitle;
72
- ariaLabel;
73
- ariaBusy;
74
- ariaChecked;
75
- ariaDisabled;
76
- ariaExpanded;
77
- ariaHidden;
78
- ariaLabelledBy;
79
- ariaLive;
80
- ariaSelected;
81
- ariaModal;
82
- ariaValueMax;
83
- ariaValueMin;
84
- ariaValueNow;
85
- ariaValueText;
86
- id;
87
- role;
88
- hostElement;
89
- // INTERNAL mutable state, driven by the press machine rather than by an @Input, so ngOnChanges
90
- // can never cover it - it carries its OWN signal, which is what lets the memoized bag below stay
91
- // correct across a press. Exposed as a plain boolean getter so a use site's `#ref.pressed` keeps
92
- // reading a boolean and the public surface is unchanged.
93
- pressedState = signal(false, /* @ts-ignore */
94
- ...(ngDevMode ? [{ debugName: "pressedState" }] : /* istanbul ignore next */ []));
95
- get pressed() {
96
- return this.pressedState();
97
- }
98
- runtime = createPressRuntime();
99
- host = {
100
- setPressed: pressed => {
101
- this.pressedState.set(pressed);
102
- this.changeDetector.detectChanges();
103
- },
104
- getMeasureFn: () => {
105
- const node = this.hostNode;
106
- if (node === undefined)
107
- return undefined;
108
- return callback => measure(node, callback);
109
- },
110
- schedule: (callback, ms) => {
111
- const id = setTimeout(callback, ms);
112
- return () => clearTimeout(id);
113
- },
114
- };
115
- changeDetector = inject(ChangeDetectorRef);
116
- // This component's OWN host - the non-painting anchor `class="..."` at the use site resolves
117
- // onto (see anchorHostStyle's doc comment) - NOT `hostElement` above, which targets the real
118
- // inner `symbiote-view` one level down.
119
- elementRef = inject(ElementRef);
120
- // Bridges the non-reactive @Input fields above into the reactive graph, so the computed() bag
121
- // below can memoize a value derived from them. Signal inputs would make this unnecessary, but
122
- // `input()` is visible only to the AOT compiler and this package's unit suite runs on JIT - see
123
- // the `angular-adapter-change-detection` skill, §6. Mirrors ScrollView's identical bridge
124
- // (components/scroll-view/shared.ts), including its constraint: ONLY safe for a bag whose every
125
- // dependency is an @Input or carries its own signal, never for plain internal mutable state.
126
- inputsRevision = signal(0, /* @ts-ignore */
127
- ...(ngDevMode ? [{ debugName: "inputsRevision" }] : /* istanbul ignore next */ []));
128
- // The anchor's class-derived style is the one hostProps dependency that is NOT an @Input:
129
- // `class="..."`/`[class.x]`/`[ngClass]` at the use site resolves through the renderer's
130
- // addClass/removeClass onto the anchor node (anchorHostStyle's doc comment), so it never appears
131
- // in SimpleChanges and ngOnChanges cannot cover it. The engine's commitClassStyle allocates a
132
- // fresh [classStyle, explicitStyle] array on exactly the passes where a class token actually
133
- // moved, so signal.set's own Object.is check makes an unchanged poll a no-op that dirties nothing.
134
- anchorStyle = signal(undefined, /* @ts-ignore */
135
- ...(ngDevMode ? [{ debugName: "anchorStyle" }] : /* istanbul ignore next */ []));
136
- // ngDoCheck is the only hook that observes the anchor AFTER the parent wrote it. Angular flushes
137
- // a node's pre-order hooks at the next `advance` PAST it (hooks.ts callHooks runs "until that
138
- // node index exclusive") or in refreshView's post-template flush - both strictly after the
139
- // parent's classProp on this element, and strictly before this component's own view refreshes.
140
- // Angular also nulls the active consumer around lifecycle hooks (render3/hooks.ts), so this
141
- // write registers no dependency on the caller's view and cannot throw NG0600.
142
- ngDoCheck() {
143
- this.anchorStyle.set(anchorHostStyle(this.elementRef));
144
- }
145
- ngOnChanges() {
146
- // Tells the computed bag below that an @Input moved - plain class fields are not reactive on
147
- // their own. Must stay in ngOnChanges: that is the single moment Angular has finished writing
148
- // every changed input for this pass.
149
- this.inputsRevision.update(revision => revision + 1);
150
- }
151
- get resolvedStyle() {
152
- const state = { pressed: this.pressed };
153
- return isStyleFn(this.style) ? this.style(state) : this.style;
154
- }
155
- get foldedAccessibility() {
156
- return resolveAccessibilityProps({
157
- accessibilityLabel: this.accessibilityLabel,
158
- accessibilityHint: this.accessibilityHint,
159
- accessibilityRole: this.accessibilityRole,
160
- accessibilityState: resolveDisabledAccessibilityState(this.accessibilityState, this.disabled),
161
- accessibilityValue: this.accessibilityValue,
162
- accessibilityActions: this.accessibilityActions,
163
- accessibilityLabelledBy: this.accessibilityLabelledBy,
164
- importantForAccessibility: this.importantForAccessibility,
165
- accessibilityLiveRegion: this.accessibilityLiveRegion,
166
- screenReaderFocusable: this.screenReaderFocusable,
167
- accessibilityViewIsModal: this.accessibilityViewIsModal,
168
- accessibilityElementsHidden: this.accessibilityElementsHidden,
169
- accessibilityIgnoresInvertColors: this.accessibilityIgnoresInvertColors,
170
- accessibilityLanguage: this.accessibilityLanguage,
171
- accessibilityRespondsToUserInteraction: this.accessibilityRespondsToUserInteraction,
172
- accessibilityShowsLargeContentViewer: this.accessibilityShowsLargeContentViewer,
173
- accessibilityLargeContentTitle: this.accessibilityLargeContentTitle,
174
- 'aria-label': this.ariaLabel,
175
- 'aria-busy': this.ariaBusy,
176
- 'aria-checked': this.ariaChecked,
177
- 'aria-disabled': this.ariaDisabled,
178
- 'aria-expanded': this.ariaExpanded,
179
- 'aria-hidden': this.ariaHidden,
180
- 'aria-labelledby': this.ariaLabelledBy,
181
- 'aria-live': this.ariaLive,
182
- 'aria-selected': this.ariaSelected,
183
- 'aria-modal': this.ariaModal,
184
- 'aria-valuemax': this.ariaValueMax,
185
- 'aria-valuemin': this.ariaValueMin,
186
- 'aria-valuenow': this.ariaValueNow,
187
- 'aria-valuetext': this.ariaValueText,
188
- id: this.id,
189
- role: this.role,
190
- });
191
- }
192
- get resolvedRippleProps() {
193
- return this.android_ripple === undefined
194
- ? undefined
195
- : rippleProps(this.android_ripple);
196
- }
197
- // Flat bag for `[symbioteHostProps]` (Renderer2.setProperty per key) - see primitives/shared.ts.
198
- //
199
- // MEASURED 2026-08-16: as a getter this rebuilt the bag on every refresh of this view, and a
200
- // press dirties this very view (SymbioteHostPropsDirective wraps each flat-bag onX with
201
- // markForCheck, and setPressed calls detectChanges outright), so `[symbioteHostProps]`'s
202
- // reference check failed every time and re-pushed every key through Renderer2.setProperty ->
203
- // routeProp for an identical bag. Memoized, an unchanged bag costs one reference compare.
204
- hostProps = computed(() => {
205
- this.inputsRevision();
206
- return {
207
- testID: this.testID,
208
- nativeID: this.nativeID,
209
- hasTVPreferredFocus: this.hasTVPreferredFocus,
210
- nextFocusDown: this.nextFocusDown,
211
- nextFocusForward: this.nextFocusForward,
212
- nextFocusLeft: this.nextFocusLeft,
213
- nextFocusRight: this.nextFocusRight,
214
- nextFocusUp: this.nextFocusUp,
215
- style: [this.anchorStyle(), this.resolvedStyle],
216
- accessible: this.accessible,
217
- ...this.foldedAccessibility,
218
- android_disableSound: this.android_disableSound,
219
- nativeBackgroundAndroid: this.resolvedRippleProps?.nativeBackgroundAndroid,
220
- nativeForegroundAndroid: this.resolvedRippleProps?.nativeForegroundAndroid,
221
- };
222
- }, /* @ts-ignore */
223
- ...(ngDevMode ? [{ debugName: "hostProps" }] : /* istanbul ignore next */ []));
224
- handlePressIn(event) {
225
- const symbioteEvent = asSymbioteEvent(event);
226
- if (shouldSuppressPress(this.disabled) || symbioteEvent === undefined)
227
- return;
228
- this.handlers.handlePressIn(symbioteEvent);
229
- }
230
- handlePressOut(event) {
231
- const symbioteEvent = asSymbioteEvent(event);
232
- if (shouldSuppressPress(this.disabled) || symbioteEvent === undefined)
233
- return;
234
- this.handlers.handlePressOut(symbioteEvent);
235
- }
236
- handlePress(event) {
237
- const symbioteEvent = asSymbioteEvent(event);
238
- if (shouldSuppressPress(this.disabled) || symbioteEvent === undefined)
239
- return;
240
- this.handlers.handlePress(symbioteEvent);
241
- }
242
- handleResponderMove(event) {
243
- const symbioteEvent = asSymbioteEvent(event);
244
- if (shouldSuppressPress(this.disabled) || symbioteEvent === undefined)
245
- return;
246
- this.handlers.handleResponderMove(symbioteEvent);
247
- }
248
- claimResponder() {
249
- return shouldClaimResponder(this.disabled);
250
- }
251
- allowTermination() {
252
- return isTerminationAllowed(this.cancelable);
253
- }
254
- emit(emitter, event) {
255
- const symbioteEvent = asSymbioteEvent(event);
256
- if (symbioteEvent !== undefined)
257
- emitter.emit(symbioteEvent);
258
- }
259
- // Hover has no event on a touch host (no pointer-enter/leave); this only records that someone
260
- // is listening anyway, mirroring core's noteHoverNoop but off `.observed` instead of an @Input.
261
- noteHoverNoop() {
262
- if (this.hoverIn.observed || this.hoverOut.observed) {
263
- dlog('Pressable hover is a no-op on this host (no pointer-enter/leave event)');
264
- }
265
- }
266
- // Wraps an @Output() as an IPressHandler only while it has a subscriber, so an unbound
267
- // (longPress) still skips arming the timer, matching createPressHandlers' "undefined means
268
- // nobody cares" contract.
269
- emitterHandler(emitter) {
270
- return emitter.observed ? event => emitter.emit(event) : undefined;
271
- }
272
- get handlers() {
273
- this.noteHoverNoop();
274
- const config = {
275
- onPress: this.emitterHandler(this.press),
276
- onPressIn: this.emitterHandler(this.pressIn),
277
- onPressOut: this.emitterHandler(this.pressOut),
278
- onPressMove: this.emitterHandler(this.pressMove),
279
- onLongPress: this.emitterHandler(this.longPress),
280
- delayLongPress: this.delayLongPress ?? DEFAULT_DELAY_LONG_PRESS_MS,
281
- unstable_pressDelay: this.unstable_pressDelay ?? 0,
282
- hitSlop: this.hitSlop,
283
- pressRetentionOffset: this.pressRetentionOffset,
284
- };
285
- return createPressHandlers(config, this.runtime, this.host);
286
- }
287
- get hostNode() {
288
- const native = this.hostElement?.nativeElement;
289
- return isSymbioteNode(native) ? native : undefined;
290
- }
291
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: Pressable, deps: [], target: i0.ɵɵFactoryTarget.Component });
292
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", 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 }], usesOnChanges: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
293
- <symbiote-view
294
- #host
295
- [symbioteHostProps]="hostProps()"
296
- (accessibilityAction)="emit(accessibilityAction, $event)"
297
- (accessibilityTap)="emit(accessibilityTap, $event)"
298
- (magicTap)="emit(magicTap, $event)"
299
- (accessibilityEscape)="emit(accessibilityEscape, $event)"
300
- (press)="handlePress($event)"
301
- (pressIn)="handlePressIn($event)"
302
- (pressOut)="handlePressOut($event)"
303
- (responderMove)="handleResponderMove($event)"
304
- (startShouldSetResponder)="claimResponder()"
305
- (responderTerminationRequest)="allowTermination()"
306
- >
307
- <ng-content></ng-content>
308
- </symbiote-view>
309
- `, 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 });
310
- }
311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: Pressable, decorators: [{
312
- type: Component,
313
- args: [{
314
- selector: 'Pressable, symbiote-pressable',
315
- standalone: true,
316
- hostDirectives: [
317
- { directive: SymbioteStyleInputDirective, inputs: ['style'] },
318
- ],
319
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
320
- imports: [ViewHost, SymbioteHostPropsDirective],
321
- template: `
322
- <symbiote-view
323
- #host
324
- [symbioteHostProps]="hostProps()"
325
- (accessibilityAction)="emit(accessibilityAction, $event)"
326
- (accessibilityTap)="emit(accessibilityTap, $event)"
327
- (magicTap)="emit(magicTap, $event)"
328
- (accessibilityEscape)="emit(accessibilityEscape, $event)"
329
- (press)="handlePress($event)"
330
- (pressIn)="handlePressIn($event)"
331
- (pressOut)="handlePressOut($event)"
332
- (responderMove)="handleResponderMove($event)"
333
- (startShouldSetResponder)="claimResponder()"
334
- (responderTerminationRequest)="allowTermination()"
335
- >
336
- <ng-content></ng-content>
337
- </symbiote-view>
338
- `,
339
- changeDetection: ChangeDetectionStrategy.OnPush,
340
- }]
341
- }], propDecorators: { press: [{
342
- type: Output
343
- }], pressIn: [{
344
- type: Output
345
- }], pressOut: [{
346
- type: Output
347
- }], pressMove: [{
348
- type: Output
349
- }], longPress: [{
350
- type: Output
351
- }], hoverIn: [{
352
- type: Output
353
- }], hoverOut: [{
354
- type: Output
355
- }], accessibilityAction: [{
356
- type: Output
357
- }], accessibilityTap: [{
358
- type: Output
359
- }], magicTap: [{
360
- type: Output
361
- }], accessibilityEscape: [{
362
- type: Output
363
- }], delayLongPress: [{
364
- type: Input
365
- }], disabled: [{
366
- type: Input
367
- }], cancelable: [{
368
- type: Input
369
- }], hitSlop: [{
370
- type: Input
371
- }], pressRetentionOffset: [{
372
- type: Input
373
- }], unstable_pressDelay: [{
374
- type: Input
375
- }], android_ripple: [{
376
- type: Input
377
- }], android_disableSound: [{
378
- type: Input
379
- }], delayHoverIn: [{
380
- type: Input
381
- }], delayHoverOut: [{
382
- type: Input
383
- }], testID: [{
384
- type: Input
385
- }], nativeID: [{
386
- type: Input
387
- }], hasTVPreferredFocus: [{
388
- type: Input
389
- }], nextFocusDown: [{
390
- type: Input
391
- }], nextFocusForward: [{
392
- type: Input
393
- }], nextFocusLeft: [{
394
- type: Input
395
- }], nextFocusRight: [{
396
- type: Input
397
- }], nextFocusUp: [{
398
- type: Input
399
- }], style: [{
400
- type: Input
401
- }], accessible: [{
402
- type: Input
403
- }], accessibilityLabel: [{
404
- type: Input
405
- }], accessibilityHint: [{
406
- type: Input
407
- }], accessibilityRole: [{
408
- type: Input
409
- }], accessibilityState: [{
410
- type: Input
411
- }], accessibilityValue: [{
412
- type: Input
413
- }], accessibilityActions: [{
414
- type: Input
415
- }], accessibilityLabelledBy: [{
416
- type: Input
417
- }], importantForAccessibility: [{
418
- type: Input
419
- }], accessibilityLiveRegion: [{
420
- type: Input
421
- }], screenReaderFocusable: [{
422
- type: Input
423
- }], accessibilityViewIsModal: [{
424
- type: Input
425
- }], accessibilityElementsHidden: [{
426
- type: Input
427
- }], accessibilityIgnoresInvertColors: [{
428
- type: Input
429
- }], accessibilityLanguage: [{
430
- type: Input
431
- }], accessibilityRespondsToUserInteraction: [{
432
- type: Input
433
- }], accessibilityShowsLargeContentViewer: [{
434
- type: Input
435
- }], accessibilityLargeContentTitle: [{
436
- type: Input
437
- }], ariaLabel: [{
438
- type: Input
439
- }], ariaBusy: [{
440
- type: Input
441
- }], ariaChecked: [{
442
- type: Input
443
- }], ariaDisabled: [{
444
- type: Input
445
- }], ariaExpanded: [{
446
- type: Input
447
- }], ariaHidden: [{
448
- type: Input
449
- }], ariaLabelledBy: [{
450
- type: Input
451
- }], ariaLive: [{
452
- type: Input
453
- }], ariaSelected: [{
454
- type: Input
455
- }], ariaModal: [{
456
- type: Input
457
- }], ariaValueMax: [{
458
- type: Input
459
- }], ariaValueMin: [{
460
- type: Input
461
- }], ariaValueNow: [{
462
- type: Input
463
- }], ariaValueText: [{
464
- type: Input
465
- }], id: [{
466
- type: Input
467
- }], role: [{
468
- type: Input
469
- }], hostElement: [{
470
- type: ViewChild,
471
- args: ['host', { read: ElementRef }]
472
- }] } });
473
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/pressable/index.ts"],"names":[],"mappings":"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"}
@@ -1,90 +0,0 @@
1
- import { EventEmitter, type AfterViewInit, type DoCheck, 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
- import * as i1 from "../../primitives/shared";
6
- type IHostProps = Record<string, unknown>;
7
- export interface IAngularRefreshControlProps extends IAccessibilityProps, IAriaProps {
8
- refreshing: boolean;
9
- onRefresh?: () => void | Promise<void>;
10
- tintColor?: string;
11
- title?: string;
12
- titleColor?: string;
13
- progressViewOffset?: number;
14
- colors?: readonly string[];
15
- progressBackgroundColor?: string;
16
- size?: 'default' | 'large';
17
- enabled?: boolean;
18
- style?: IStyleProp<IViewStyle>;
19
- }
20
- export type IAngularRefreshControlInputs = Omit<IAngularRefreshControlProps, 'onRefresh' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
21
- export declare class RefreshControl implements IAngularRefreshControlInputs, OnInit, OnChanges, DoCheck, AfterViewInit {
22
- refreshing: boolean;
23
- readonly refresh: EventEmitter<void>;
24
- tintColor?: string;
25
- title?: string;
26
- titleColor?: string;
27
- progressViewOffset?: number;
28
- colors?: readonly string[];
29
- progressBackgroundColor?: string;
30
- size?: 'default' | 'large';
31
- enabled?: boolean;
32
- style?: IStyleProp<IViewStyle>;
33
- testID?: string;
34
- nativeID?: string;
35
- accessible?: boolean;
36
- accessibilityLabel?: string;
37
- accessibilityHint?: string;
38
- accessibilityRole?: IAccessibilityProps['accessibilityRole'];
39
- accessibilityState?: IAccessibilityStateValue;
40
- accessibilityValue?: IAccessibilityProps['accessibilityValue'];
41
- accessibilityActions?: IAccessibilityProps['accessibilityActions'];
42
- accessibilityLabelledBy?: string | string[];
43
- importantForAccessibility?: IAccessibilityProps['importantForAccessibility'];
44
- accessibilityLiveRegion?: IAccessibilityProps['accessibilityLiveRegion'];
45
- screenReaderFocusable?: boolean;
46
- accessibilityViewIsModal?: boolean;
47
- accessibilityElementsHidden?: boolean;
48
- accessibilityIgnoresInvertColors?: boolean;
49
- accessibilityLanguage?: string;
50
- accessibilityRespondsToUserInteraction?: boolean;
51
- accessibilityShowsLargeContentViewer?: boolean;
52
- accessibilityLargeContentTitle?: string;
53
- readonly accessibilityAction: EventEmitter<ISymbioteEvent>;
54
- readonly accessibilityTap: EventEmitter<ISymbioteEvent>;
55
- readonly magicTap: EventEmitter<ISymbioteEvent>;
56
- readonly accessibilityEscape: EventEmitter<ISymbioteEvent>;
57
- role?: IAriaProps['role'];
58
- ariaLabel?: string;
59
- ariaLabelledBy?: string;
60
- ariaLive?: IAriaProps['aria-live'];
61
- ariaHidden?: boolean;
62
- ariaBusy?: boolean;
63
- ariaChecked?: boolean | 'mixed';
64
- ariaDisabled?: boolean;
65
- ariaExpanded?: boolean;
66
- ariaSelected?: boolean;
67
- ariaModal?: boolean;
68
- ariaValueMax?: number;
69
- ariaValueMin?: number;
70
- ariaValueNow?: number;
71
- ariaValueText?: string;
72
- private host?;
73
- private readonly elementRef;
74
- private lastNativeRefreshing;
75
- private refreshNativeNode;
76
- private readonly hostPropsRevision;
77
- private lastAnchorStyle;
78
- ngOnInit(): void;
79
- ngAfterViewInit(): void;
80
- ngOnChanges(changes: SimpleChanges): void;
81
- handleRefresh(nativeNode?: unknown): void;
82
- private syncNativeRefreshing;
83
- emit(emitter: EventEmitter<ISymbioteEvent>, event: unknown): void;
84
- ngDoCheck(): void;
85
- readonly hostProps: import("@angular/core").Signal<IHostProps>;
86
- get folded(): Partial<IAngularRefreshControlProps>;
87
- static ɵfac: i0.ɵɵFactoryDeclaration<RefreshControl, never>;
88
- 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, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
89
- }
90
- export {};