@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 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/switch/index.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,6FAA6F;AAE7F,cAAc,aAAa,CAAC"}
@@ -1,49 +0,0 @@
1
- import { EventEmitter, type OnChanges } from '@angular/core';
2
- import type { ControlValueAccessor } from '@angular/forms';
3
- import type { ISwitchPlatform, ISwitchProps, ISwitchTrackColor } from '@symbiote-native/components';
4
- import { type ISymbioteEvent, type IStyleProp, type IViewStyle } from '@symbiote-native/engine';
5
- import * as i0 from "@angular/core";
6
- export type { ISwitchProps, ISwitchTrackColor, } from '@symbiote-native/components';
7
- export type ISwitchInputs = Pick<ISwitchProps, 'value' | 'disabled' | 'trackColor' | 'thumbColor' | 'ios_backgroundColor' | 'style' | 'nativeID' | 'testID' | 'accessibilityLabel' | 'accessibilityRole' | 'accessibilityState' | 'accessibilityValue' | 'accessibilityHint' | 'accessible' | 'role' | 'aria-label' | 'aria-disabled' | 'aria-checked'>;
8
- type ISwitchHostPlatform = ISwitchPlatform & {
9
- snapBackCommand: string;
10
- };
11
- type IHostProps = Record<string, unknown>;
12
- export declare abstract class SwitchBase implements ISwitchInputs, ControlValueAccessor, OnChanges {
13
- readonly valueChange: EventEmitter<boolean>;
14
- readonly change: EventEmitter<ISymbioteEvent>;
15
- value: boolean | undefined;
16
- disabled: boolean | undefined;
17
- trackColor: ISwitchTrackColor | undefined;
18
- thumbColor: string | undefined;
19
- ios_backgroundColor: string | undefined;
20
- style: IStyleProp<IViewStyle> | undefined;
21
- nativeID: string | undefined;
22
- testID: string | undefined;
23
- accessibilityLabel: string | undefined;
24
- accessibilityRole: ISwitchInputs['accessibilityRole'];
25
- accessibilityState: ISwitchInputs['accessibilityState'];
26
- accessibilityValue: ISwitchInputs['accessibilityValue'];
27
- accessibilityHint: string | undefined;
28
- accessible: boolean | undefined;
29
- role: ISwitchInputs['role'];
30
- 'aria-label': string | undefined;
31
- 'aria-disabled': boolean | undefined;
32
- 'aria-checked': boolean | 'mixed' | undefined;
33
- protected abstract readonly platform: ISwitchHostPlatform;
34
- private switchState;
35
- private readonly changeDetector;
36
- private readonly inputsRevision;
37
- ngOnChanges(): void;
38
- readonly hostProps: import("@angular/core").Signal<IHostProps>;
39
- protected buildHostProps(): IHostProps;
40
- handleChange(event: unknown, node: unknown): void;
41
- private snapBackIfNeeded;
42
- writeValue(value: boolean | null): void;
43
- registerOnChange(fn: (value: boolean) => void): void;
44
- registerOnTouched(fn: () => void): void;
45
- setDisabledState(isDisabled: boolean): void;
46
- private inputProps;
47
- static ɵfac: i0.ɵɵFactoryDeclaration<SwitchBase, never>;
48
- static ɵdir: i0.ɵɵDirectiveDeclaration<SwitchBase, never, never, {}, { "valueChange": "valueChange"; "change": "change"; }, never, never, true, never>;
49
- }
@@ -1,191 +0,0 @@
1
- import { ChangeDetectorRef, Directive, EventEmitter, Output, computed, inject, signal, } from '@angular/core';
2
- import { renderSwitch, resolveAccessibilityProps, } from '@symbiote-native/components';
3
- import { createInitialSwitchState, shouldSnapBack, switchReducer, valueFromChange, } from '@symbiote-native/components';
4
- import { dispatchViewCommand, dlog, isSymbioteNode, whenCommitted, } from '@symbiote-native/engine';
5
- import * as i0 from "@angular/core";
6
- function readSwitchNode(value) {
7
- if (isSymbioteNode(value))
8
- return value;
9
- if (typeof value === 'object' &&
10
- value !== null &&
11
- 'node' in value &&
12
- isSymbioteNode(value.node)) {
13
- return value.node;
14
- }
15
- return null;
16
- }
17
- function isSwitchEvent(event) {
18
- return (typeof event === 'object' &&
19
- event !== null &&
20
- 'nativeEvent' in event &&
21
- typeof event.nativeEvent === 'object' &&
22
- event.nativeEvent !== null);
23
- }
24
- // @Directive() (no selector) is the Angular-sanctioned decorator for an abstract base whose
25
- // concrete subclasses are real @Components — ngc's AOT build (NG2007) requires it the moment the
26
- // base itself carries decorated members (@Output() here), mirroring ScrollViewBase.
27
- export class SwitchBase {
28
- // The value/change lifecycle as real Angular events: `(valueChange)="onToggle($event)"`, not
29
- // `[onValueChange]="onToggle"` — mirrors Pressable's press/hover @Output() conversion. Unlike
30
- // Pressable's createPressHandlers, handleChange() below calls `.emit()` unconditionally: it needs
31
- // no "was this bound" adapter because EventEmitter.emit() is already a safe no-op with no subscribers.
32
- valueChange = new EventEmitter();
33
- change = new EventEmitter();
34
- value;
35
- disabled;
36
- trackColor;
37
- thumbColor;
38
- ios_backgroundColor;
39
- style;
40
- nativeID;
41
- testID;
42
- accessibilityLabel;
43
- accessibilityRole;
44
- accessibilityState;
45
- accessibilityValue;
46
- accessibilityHint;
47
- accessible;
48
- role;
49
- 'aria-label';
50
- 'aria-disabled';
51
- 'aria-checked';
52
- // NOT a hostProps dependency - only snapBackIfNeeded reads it, and the bag's `value` comes from
53
- // the @Input, not from this reducer state. So it stays a plain field; if a future change makes
54
- // the bag read it, it must become a signal first (see inputsRevision's note).
55
- switchState = createInitialSwitchState();
56
- // Only setDisabledState()/writeValue() need this: @angular/forms mutates `value`/`disabled` from
57
- // OUTSIDE Angular's own binding path, which doesn't itself schedule a tick under zoneless CD.
58
- changeDetector = inject(ChangeDetectorRef);
59
- // Bridges the non-reactive @Input fields into the reactive graph so hostProps below can be a
60
- // memoized computed(). Signal inputs would make this unnecessary, but `input()` is visible only
61
- // to the AOT compiler and this package's unit suite runs on JIT - see the
62
- // `angular-adapter-change-detection` skill, §6. `signal()`/`computed()` are plain runtime APIs
63
- // and need no compiler support, which is what makes this bridge possible at all.
64
- //
65
- // Bumped from ngOnChanges (covers every @Input) AND from the two ControlValueAccessor writers
66
- // below, which assign `value`/`disabled` from OUTSIDE Angular's binding path and so never reach
67
- // ngOnChanges. ONLY a genuine dependency of the bag may bump it - widening it to "bump on
68
- // everything" silently un-memoizes the bag and defeats the point. State that is not an @Input
69
- // and is not one of those two writers needs its OWN signal instead (the platform components'
70
- // anchor style is exactly that case).
71
- inputsRevision = signal(0, /* @ts-ignore */
72
- ...(ngDevMode ? [{ debugName: "inputsRevision" }] : /* istanbul ignore next */ []));
73
- ngOnChanges() {
74
- this.inputsRevision.update(revision => revision + 1);
75
- }
76
- // MEASURED 2026-08-16: as a getter this rebuilt the bag on every refresh of this view, so
77
- // `[symbioteHostProps]`'s reference check failed every time and every key was re-pushed through
78
- // Renderer2 -> routeProp - pure waste when nothing changed. computed() returns the SAME object
79
- // until a tracked dependency actually changes, and the input setter then skips the whole spread.
80
- //
81
- // A computed FIELD cannot be overridden by a subclass accessor the way a getter can, so the
82
- // platform components override buildHostProps() below and this stays the single memoization
83
- // point for every platform.
84
- hostProps = computed(() => {
85
- this.inputsRevision();
86
- return this.buildHostProps();
87
- }, /* @ts-ignore */
88
- ...(ngDevMode ? [{ debugName: "hostProps" }] : /* istanbul ignore next */ []));
89
- buildHostProps() {
90
- const props = resolveAccessibilityProps(this.inputProps());
91
- const { value, disabled, trackColor, thumbColor, ios_backgroundColor, style, onValueChange: _onValueChange, ...passthrough } = props;
92
- return renderSwitch({
93
- value: value === true,
94
- disabled,
95
- trackColor,
96
- thumbColor,
97
- ios_backgroundColor,
98
- style,
99
- passthrough,
100
- }, this.platform).props;
101
- }
102
- handleChange(event, node) {
103
- if (!isSwitchEvent(event))
104
- return;
105
- this.change.emit(event);
106
- const next = valueFromChange(event);
107
- dlog(`Switch onChange value=${String(next)} eventCount=${String(event.nativeEvent.eventCount)}`);
108
- if (next === undefined)
109
- return;
110
- this.valueChange.emit(next);
111
- this.switchState = switchReducer(this.switchState, {
112
- type: 'native-reported',
113
- value: next,
114
- });
115
- const hostNode = readSwitchNode(node);
116
- if (hostNode === null)
117
- return;
118
- queueMicrotask(() => this.snapBackIfNeeded(hostNode));
119
- }
120
- snapBackIfNeeded(node) {
121
- const fabricValue = this.value === true;
122
- if (!shouldSnapBack(this.switchState, fabricValue)) {
123
- dlog(`Switch snap-back no-op reported=${String(this.switchState.lastNativeReport)} value=${fabricValue}`);
124
- return;
125
- }
126
- dlog(`Switch ${this.platform.snapBackCommand} snap-back reported=${String(this.switchState.lastNativeReport)} value=${fabricValue}`);
127
- whenCommitted(node, () => {
128
- dispatchViewCommand(node, this.platform.snapBackCommand, [fabricValue]);
129
- });
130
- }
131
- // ControlValueAccessor — `value` is a plain field feeding `hostProps` on every CD check, no
132
- // ngOnChanges/stale-safe commit dance to guard (unlike TextInput, a boolean toggle has no
133
- // keystroke to race), so writeValue()/setDisabledState() can set it straight.
134
- writeValue(value) {
135
- this.value = value ?? false;
136
- // `value` feeds hostProps but this write bypasses Angular's binding path, so ngOnChanges never
137
- // fires for it - without the bump the memoized bag would keep reporting the old value and the
138
- // switch would stop reflecting a form-driven change.
139
- this.inputsRevision.update(revision => revision + 1);
140
- this.changeDetector.markForCheck();
141
- }
142
- registerOnChange(fn) {
143
- this.valueChange.subscribe(fn);
144
- }
145
- registerOnTouched(fn) {
146
- // Switch has no blur concept (it's a discrete toggle, not a text field) — `change` is the
147
- // closest touched signal, same convention Angular's own checkbox CVAs use.
148
- this.change.subscribe(() => fn());
149
- }
150
- setDisabledState(isDisabled) {
151
- this.disabled = isDisabled;
152
- // Same reason as writeValue: an @angular/forms write that never reaches ngOnChanges.
153
- this.inputsRevision.update(revision => revision + 1);
154
- this.changeDetector.markForCheck();
155
- }
156
- inputProps() {
157
- const props = {
158
- value: this.value,
159
- disabled: this.disabled,
160
- trackColor: this.trackColor,
161
- thumbColor: this.thumbColor,
162
- ios_backgroundColor: this.ios_backgroundColor,
163
- style: this.style,
164
- };
165
- return {
166
- ...props,
167
- nativeID: this.nativeID,
168
- testID: this.testID,
169
- accessibilityLabel: this.accessibilityLabel,
170
- accessibilityRole: this.accessibilityRole,
171
- accessibilityState: this.accessibilityState,
172
- accessibilityValue: this.accessibilityValue,
173
- accessibilityHint: this.accessibilityHint,
174
- accessible: this.accessible,
175
- role: this.role,
176
- 'aria-label': this['aria-label'],
177
- 'aria-disabled': this['aria-disabled'],
178
- 'aria-checked': this['aria-checked'],
179
- };
180
- }
181
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SwitchBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
182
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SwitchBase, isStandalone: true, outputs: { valueChange: "valueChange", change: "change" }, usesOnChanges: true, ngImport: i0 });
183
- }
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SwitchBase, decorators: [{
185
- type: Directive
186
- }], propDecorators: { valueChange: [{
187
- type: Output
188
- }], change: [{
189
- type: Output
190
- }] } });
191
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/components/switch/shared.ts"],"names":[],"mappings":"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"}
@@ -1,161 +0,0 @@
1
- import { EventEmitter, type AfterViewInit, type OnChanges, type OnDestroy, type SimpleChanges } from '@angular/core';
2
- import { type ControlValueAccessor } from '@angular/forms';
3
- import { type IAccessibilityProps, type IAccessibilityStateValue, type IAriaProps, type IEnterKeyHint, type IInputMode, type ISubmitBehavior, type ITextInputEventHandler, type ITextInputHandle, type ITextInputSelection } from '@symbiote-native/components';
4
- import { type IStyleProp, type ISymbioteEvent, type ITextStyle } from '@symbiote-native/engine';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../primitives/shared";
7
- export type { ITextInputHandle, ITextInputSelection, IInputMode, IEnterKeyHint, ISubmitBehavior, };
8
- export interface IAngularTextInputProps extends IAccessibilityProps, IAriaProps {
9
- value?: string;
10
- defaultValue?: string;
11
- placeholder?: string;
12
- placeholderTextColor?: string;
13
- editable?: boolean;
14
- keyboardType?: string;
15
- secureTextEntry?: boolean;
16
- maxLength?: number;
17
- multiline?: boolean;
18
- selection?: ITextInputSelection;
19
- autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';
20
- autoCorrect?: boolean;
21
- autoComplete?: string;
22
- textContentType?: string;
23
- autoFocus?: boolean;
24
- showSoftInputOnFocus?: boolean;
25
- returnKeyType?: string;
26
- selectTextOnFocus?: boolean;
27
- scrollEnabled?: boolean;
28
- numberOfLines?: number;
29
- textAlign?: 'left' | 'center' | 'right';
30
- blurOnSubmit?: boolean;
31
- inputMode?: IInputMode;
32
- enterKeyHint?: IEnterKeyHint;
33
- readOnly?: boolean;
34
- submitBehavior?: ISubmitBehavior;
35
- cursorColor?: string;
36
- selectionColor?: string;
37
- selectionHandleColor?: string;
38
- underlineColorAndroid?: string;
39
- inputAccessoryViewID?: string;
40
- style?: IStyleProp<ITextStyle>;
41
- onValueChange?: (text: string) => void;
42
- onChange?: ITextInputEventHandler;
43
- onFocus?: ITextInputEventHandler;
44
- onBlur?: ITextInputEventHandler;
45
- onEndEditing?: ITextInputEventHandler;
46
- onSubmitEditing?: ITextInputEventHandler;
47
- onKeyPress?: ITextInputEventHandler;
48
- onSelectionChange?: ITextInputEventHandler;
49
- onContentSizeChange?: ITextInputEventHandler;
50
- }
51
- export type IAngularTextInputInputs = Omit<IAngularTextInputProps, 'onValueChange' | 'onChange' | 'onFocus' | 'onBlur' | 'onEndEditing' | 'onSubmitEditing' | 'onKeyPress' | 'onSelectionChange' | 'onContentSizeChange' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
52
- export declare class TextInput implements IAngularTextInputInputs, ITextInputHandle, OnChanges, AfterViewInit, OnDestroy, ControlValueAccessor {
53
- value?: string;
54
- defaultValue?: string;
55
- placeholder?: string;
56
- placeholderTextColor?: string;
57
- editable?: boolean;
58
- keyboardType?: string;
59
- secureTextEntry?: boolean;
60
- maxLength?: number;
61
- multiline?: boolean;
62
- selection?: ITextInputSelection;
63
- autoCapitalize?: IAngularTextInputProps['autoCapitalize'];
64
- autoCorrect?: boolean;
65
- autoComplete?: string;
66
- textContentType?: string;
67
- autoFocus?: boolean;
68
- showSoftInputOnFocus?: boolean;
69
- returnKeyType?: string;
70
- selectTextOnFocus?: boolean;
71
- scrollEnabled?: boolean;
72
- numberOfLines?: number;
73
- textAlign?: IAngularTextInputProps['textAlign'];
74
- blurOnSubmit?: boolean;
75
- inputMode?: IInputMode;
76
- enterKeyHint?: IEnterKeyHint;
77
- readOnly?: boolean;
78
- submitBehavior?: ISubmitBehavior;
79
- cursorColor?: string;
80
- selectionColor?: string;
81
- selectionHandleColor?: string;
82
- underlineColorAndroid?: string;
83
- inputAccessoryViewID?: string;
84
- style?: IStyleProp<ITextStyle>;
85
- testID?: string;
86
- nativeID?: string;
87
- readonly valueChange: EventEmitter<string>;
88
- readonly change: EventEmitter<ISymbioteEvent>;
89
- readonly focusEvent: EventEmitter<ISymbioteEvent>;
90
- readonly blurEvent: EventEmitter<ISymbioteEvent>;
91
- readonly endEditing: EventEmitter<ISymbioteEvent>;
92
- readonly submitEditing: EventEmitter<ISymbioteEvent>;
93
- readonly keyPress: EventEmitter<ISymbioteEvent>;
94
- readonly selectionChange: EventEmitter<ISymbioteEvent>;
95
- readonly contentSizeChange: EventEmitter<ISymbioteEvent>;
96
- readonly accessibilityAction: EventEmitter<ISymbioteEvent>;
97
- readonly accessibilityTap: EventEmitter<ISymbioteEvent>;
98
- readonly magicTap: EventEmitter<ISymbioteEvent>;
99
- readonly accessibilityEscape: EventEmitter<ISymbioteEvent>;
100
- accessible?: boolean;
101
- accessibilityLabel?: string;
102
- accessibilityHint?: string;
103
- accessibilityRole?: IAccessibilityProps['accessibilityRole'];
104
- accessibilityState?: IAccessibilityStateValue;
105
- accessibilityValue?: IAccessibilityProps['accessibilityValue'];
106
- accessibilityActions?: IAccessibilityProps['accessibilityActions'];
107
- accessibilityLabelledBy?: string | string[];
108
- importantForAccessibility?: IAccessibilityProps['importantForAccessibility'];
109
- accessibilityLiveRegion?: IAccessibilityProps['accessibilityLiveRegion'];
110
- screenReaderFocusable?: boolean;
111
- accessibilityViewIsModal?: boolean;
112
- accessibilityElementsHidden?: boolean;
113
- accessibilityIgnoresInvertColors?: boolean;
114
- accessibilityLanguage?: string;
115
- accessibilityRespondsToUserInteraction?: boolean;
116
- accessibilityShowsLargeContentViewer?: boolean;
117
- accessibilityLargeContentTitle?: string;
118
- role?: IAriaProps['role'];
119
- ariaLabel?: string;
120
- ariaLabelledBy?: string;
121
- ariaLive?: IAriaProps['aria-live'];
122
- ariaHidden?: boolean;
123
- ariaBusy?: boolean;
124
- ariaChecked?: boolean | 'mixed';
125
- ariaDisabled?: boolean;
126
- ariaExpanded?: boolean;
127
- ariaSelected?: boolean;
128
- private hostRef?;
129
- private readonly elementRef;
130
- private readonly changeDetector;
131
- private mostRecentEventCount;
132
- private lastNativeText;
133
- private focused;
134
- private cancelAutoFocus?;
135
- private isFirstFormWrite;
136
- get isMultiline(): boolean;
137
- get hostProps(): Record<string, unknown>;
138
- ngOnChanges(changes: SimpleChanges): void;
139
- writeValue(value: string | null): void;
140
- registerOnChange(fn: (value: string) => void): void;
141
- registerOnTouched(fn: () => void): void;
142
- setDisabledState(isDisabled: boolean): void;
143
- ngAfterViewInit(): void;
144
- ngOnDestroy(): void;
145
- handleChange(event: unknown): void;
146
- handleFocus(event: unknown): void;
147
- handleBlur(event: unknown): void;
148
- emit(emitter: EventEmitter<ISymbioteEvent>, event: unknown): void;
149
- focus(): void;
150
- blur(): void;
151
- clear(): void;
152
- isFocused(): boolean;
153
- setSelection(start: number, end: number): void;
154
- private commitControlledValue;
155
- private buildPassthrough;
156
- private get foldedNativeProps();
157
- private get foldedAccessibility();
158
- private get hostNode();
159
- static ɵfac: i0.ɵɵFactoryDeclaration<TextInput, never>;
160
- static ɵcmp: i0.ɵɵComponentDeclaration<TextInput, "TextInput", never, { "value": { "alias": "value"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "placeholderTextColor": { "alias": "placeholderTextColor"; "required": false; }; "editable": { "alias": "editable"; "required": false; }; "keyboardType": { "alias": "keyboardType"; "required": false; }; "secureTextEntry": { "alias": "secureTextEntry"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "multiline": { "alias": "multiline"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; "autoCapitalize": { "alias": "autoCapitalize"; "required": false; }; "autoCorrect": { "alias": "autoCorrect"; "required": false; }; "autoComplete": { "alias": "autoComplete"; "required": false; }; "textContentType": { "alias": "textContentType"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "showSoftInputOnFocus": { "alias": "showSoftInputOnFocus"; "required": false; }; "returnKeyType": { "alias": "returnKeyType"; "required": false; }; "selectTextOnFocus": { "alias": "selectTextOnFocus"; "required": false; }; "scrollEnabled": { "alias": "scrollEnabled"; "required": false; }; "numberOfLines": { "alias": "numberOfLines"; "required": false; }; "textAlign": { "alias": "textAlign"; "required": false; }; "blurOnSubmit": { "alias": "blurOnSubmit"; "required": false; }; "inputMode": { "alias": "inputMode"; "required": false; }; "enterKeyHint": { "alias": "enterKeyHint"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "submitBehavior": { "alias": "submitBehavior"; "required": false; }; "cursorColor": { "alias": "cursorColor"; "required": false; }; "selectionColor": { "alias": "selectionColor"; "required": false; }; "selectionHandleColor": { "alias": "selectionHandleColor"; "required": false; }; "underlineColorAndroid": { "alias": "underlineColorAndroid"; "required": false; }; "inputAccessoryViewID": { "alias": "inputAccessoryViewID"; "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; }; }, { "valueChange": "valueChange"; "change": "change"; "focusEvent": "focus"; "blurEvent": "blur"; "endEditing": "endEditing"; "submitEditing": "submitEditing"; "keyPress": "keyPress"; "selectionChange": "selectionChange"; "contentSizeChange": "contentSizeChange"; "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, never, never, true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
161
- }