@symbiote-native/angular 0.6.0 → 0.6.1

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 (151) hide show
  1. package/babel-register-composed.cjs +11 -3
  2. package/build/angular/anchor-host-registry.d.ts +2 -0
  3. package/build/angular/anchor-host-registry.js +84 -0
  4. package/build/angular/anchor-host-registry.js.map +1 -0
  5. package/build/angular/components/input-accessory-view/index.d.ts +2 -1
  6. package/build/angular/components/input-accessory-view/index.js +28 -39
  7. package/build/angular/components/input-accessory-view/index.js.map +1 -1
  8. package/build/angular/components/scroll-view/projection.js +70 -48
  9. package/build/angular/components/scroll-view/projection.js.map +1 -1
  10. package/build/angular/components/scroll-view/shared.js +28 -25
  11. package/build/angular/components/scroll-view/shared.js.map +1 -1
  12. package/build/angular/components/scroll-view/sticky-header.d.ts +6 -7
  13. package/build/angular/components/scroll-view/sticky-header.js +82 -65
  14. package/build/angular/components/scroll-view/sticky-header.js.map +1 -1
  15. package/build/angular/components/touchable/index.d.ts +2 -5
  16. package/build/angular/components/touchable/index.js +36 -56
  17. package/build/angular/components/touchable/index.js.map +1 -1
  18. package/build/angular/components/virtualized-list/index.d.ts +5 -20
  19. package/build/angular/components/virtualized-list/index.js +145 -275
  20. package/build/angular/components/virtualized-list/index.js.map +1 -1
  21. package/build/angular/components/virtualized-section-list/index.js +2 -4
  22. package/build/angular/components/virtualized-section-list/index.js.map +1 -1
  23. package/build/angular/index.d.ts +2 -1
  24. package/build/angular/index.js +6 -1
  25. package/build/angular/index.js.map +1 -1
  26. package/build/angular/renderer/index.d.ts +0 -1
  27. package/build/angular/renderer/index.js +5 -60
  28. package/build/angular/renderer/index.js.map +1 -1
  29. package/package.json +4 -3
  30. package/src/__tests__/responder-nested-cd.test.ts +1 -1
  31. package/src/anchor-host-registry.ts +88 -0
  32. package/src/components/input-accessory-view/index.ts +30 -39
  33. package/src/components/scroll-view/projection.ts +76 -46
  34. package/src/components/scroll-view/shared.ts +27 -19
  35. package/src/components/scroll-view/sticky-header.ts +89 -64
  36. package/src/components/touchable/index.ts +52 -66
  37. package/src/components/virtualized-list/index.ts +157 -368
  38. package/src/components/virtualized-section-list/index.ts +6 -3
  39. package/src/index.ts +6 -1
  40. package/src/renderer/index.ts +5 -63
  41. package/src/renderer/renderer.test.ts +2 -1
  42. package/build/bootstrap.d.ts +0 -7
  43. package/build/bootstrap.js +0 -14
  44. package/build/components/activity-indicator/index.android.d.ts +0 -9
  45. package/build/components/activity-indicator/index.android.js +0 -64
  46. package/build/components/activity-indicator/index.d.ts +0 -1
  47. package/build/components/activity-indicator/index.ios.d.ts +0 -5
  48. package/build/components/activity-indicator/index.ios.js +0 -64
  49. package/build/components/activity-indicator/index.js +0 -3
  50. package/build/components/activity-indicator/shared.d.ts +0 -64
  51. package/build/components/activity-indicator/shared.js +0 -424
  52. package/build/components/button.d.ts +0 -60
  53. package/build/components/button.js +0 -456
  54. package/build/components/flat-list/index.d.ts +0 -119
  55. package/build/components/flat-list/index.js +0 -691
  56. package/build/components/image/index.android.d.ts +0 -7
  57. package/build/components/image/index.android.js +0 -88
  58. package/build/components/image/index.d.ts +0 -1
  59. package/build/components/image/index.ios.d.ts +0 -7
  60. package/build/components/image/index.ios.js +0 -88
  61. package/build/components/image/index.js +0 -2
  62. package/build/components/image/shared.d.ts +0 -101
  63. package/build/components/image/shared.js +0 -405
  64. package/build/components/image-background.d.ts +0 -78
  65. package/build/components/image-background.js +0 -583
  66. package/build/components/input-accessory-view/index.d.ts +0 -56
  67. package/build/components/input-accessory-view/index.js +0 -403
  68. package/build/components/keyboard-avoiding-view/index.d.ts +0 -79
  69. package/build/components/keyboard-avoiding-view/index.js +0 -504
  70. package/build/components/modal/index.d.ts +0 -89
  71. package/build/components/modal/index.js +0 -529
  72. package/build/components/pressable/index.d.ts +0 -120
  73. package/build/components/pressable/index.js +0 -639
  74. package/build/components/refresh-control/index.d.ts +0 -83
  75. package/build/components/refresh-control/index.js +0 -509
  76. package/build/components/safe-area-view/index.d.ts +0 -54
  77. package/build/components/safe-area-view/index.js +0 -388
  78. package/build/components/scroll-view/index.android.d.ts +0 -16
  79. package/build/components/scroll-view/index.android.js +0 -228
  80. package/build/components/scroll-view/index.d.ts +0 -3
  81. package/build/components/scroll-view/index.ios.d.ts +0 -6
  82. package/build/components/scroll-view/index.ios.js +0 -113
  83. package/build/components/scroll-view/index.js +0 -5
  84. package/build/components/scroll-view/projection.d.ts +0 -32
  85. package/build/components/scroll-view/projection.js +0 -311
  86. package/build/components/scroll-view/shared.d.ts +0 -225
  87. package/build/components/scroll-view/shared.js +0 -757
  88. package/build/components/scroll-view/sticky-header.d.ts +0 -38
  89. package/build/components/scroll-view/sticky-header.js +0 -257
  90. package/build/components/section-list/index.d.ts +0 -113
  91. package/build/components/section-list/index.js +0 -768
  92. package/build/components/switch/index.android.d.ts +0 -17
  93. package/build/components/switch/index.android.js +0 -107
  94. package/build/components/switch/index.d.ts +0 -1
  95. package/build/components/switch/index.ios.d.ts +0 -16
  96. package/build/components/switch/index.ios.js +0 -106
  97. package/build/components/switch/index.js +0 -3
  98. package/build/components/switch/shared.d.ts +0 -37
  99. package/build/components/switch/shared.js +0 -176
  100. package/build/components/text-input.d.ts +0 -150
  101. package/build/components/text-input.js +0 -821
  102. package/build/components/touchable/index.d.ts +0 -241
  103. package/build/components/touchable/index.js +0 -1672
  104. package/build/components/touchable-native-feedback/index.d.ts +0 -80
  105. package/build/components/touchable-native-feedback/index.js +0 -545
  106. package/build/components/virtualized-list/directives.d.ts +0 -41
  107. package/build/components/virtualized-list/directives.js +0 -249
  108. package/build/components/virtualized-list/index.d.ts +0 -265
  109. package/build/components/virtualized-list/index.js +0 -1343
  110. package/build/components/virtualized-section-list/directives.d.ts +0 -28
  111. package/build/components/virtualized-section-list/directives.js +0 -148
  112. package/build/components/virtualized-section-list/index.d.ts +0 -175
  113. package/build/components/virtualized-section-list/index.js +0 -854
  114. package/build/components.d.ts +0 -39
  115. package/build/components.js +0 -37
  116. package/build/create-portal/index.d.ts +0 -17
  117. package/build/create-portal/index.js +0 -128
  118. package/build/create-tunnel/index.d.ts +0 -29
  119. package/build/create-tunnel/index.js +0 -181
  120. package/build/descriptor-to-angular/index.d.ts +0 -19
  121. package/build/descriptor-to-angular/index.js +0 -186
  122. package/build/host-instance/index.d.ts +0 -2
  123. package/build/host-instance/index.js +0 -36
  124. package/build/index.d.ts +0 -21
  125. package/build/index.js +0 -40
  126. package/build/modules/animated/animated-leaf-binder/index.d.ts +0 -14
  127. package/build/modules/animated/animated-leaf-binder/index.js +0 -90
  128. package/build/modules/animated/animated-leaf-binder.d.ts +0 -14
  129. package/build/modules/animated/animated-leaf-binder.js +0 -90
  130. package/build/modules/animated/create-animated-component.d.ts +0 -48
  131. package/build/modules/animated/create-animated-component.js +0 -425
  132. package/build/modules/animated/index.d.ts +0 -51
  133. package/build/modules/animated/index.js +0 -58
  134. package/build/modules/app-registry/index.d.ts +0 -7
  135. package/build/modules/app-registry/index.js +0 -22
  136. package/build/modules/status-bar/index.d.ts +0 -17
  137. package/build/modules/status-bar/index.js +0 -121
  138. package/build/primitives/index.d.ts +0 -32
  139. package/build/primitives/index.js +0 -386
  140. package/build/primitives/shared.d.ts +0 -83
  141. package/build/primitives/shared.js +0 -230
  142. package/build/render/index.d.ts +0 -11
  143. package/build/render/index.js +0 -170
  144. package/build/renderer/index.d.ts +0 -38
  145. package/build/renderer/index.js +0 -355
  146. package/build/services/color-scheme.service.d.ts +0 -13
  147. package/build/services/color-scheme.service.js +0 -72
  148. package/build/services/index.d.ts +0 -2
  149. package/build/services/index.js +0 -2
  150. package/build/services/window-dimensions.service.d.ts +0 -13
  151. package/build/services/window-dimensions.service.js +0 -83
@@ -1,821 +0,0 @@
1
- // TextInput, the Angular lifecycle half. The folds/maps (value->text, the W3C/alias resolution)
2
- // and the controlled-write predicate live in @symbiote-native/components/state, the render (intrinsic
3
- // + native-prop mapping) in @symbiote-native/components/view, both shared verbatim with the React and
4
- // Vue adapters. Here Angular supplies only the lifecycle: renderTextInput picks ONE of two host
5
- // intrinsics at runtime (symbiote-text-input / symbiote-text-input-multiline) via `@if`/`@else`,
6
- // each wired through the shared `SymbioteHostPropsDirective` (`[symbioteHostProps]="hostProps"`,
7
- // `../primitives/shared.ts`) so the flat resolved prop bag doesn't need enumerating as individual
8
- // `[prop]` bindings; a @ViewChild reading that directive (by its `#host` template ref, across
9
- // either branch) exposes `.node` — the host BY IDENTITY (so imperative commands hit the engine's
10
- // WeakMap mirror). A plain field holds the acknowledged event count, ngOnChanges runs the
11
- // controlled-write command, ngAfterViewInit drives the mount autoFocus, and the class itself is
12
- // the imperative handle (ITextInputHandle). The Angular twin of React's useRef/useState +
13
- // useLayoutEffect + useImperativeHandle and Vue's shallowRef + watch(flush:'post') + expose().
14
- //
15
- // Two Angular-specific seams. (1) Events: Angular forbids [onX] property bindings, so the host's
16
- // change/focus/blur + the remaining native events ride the structural (event) channel and route
17
- // to real @Output() EventEmitters (valueChange is DERIVED from change, never a native event —
18
- // React/Vue fold both into one onValueChange(text, event) callback, but Angular's EventEmitter
19
- // only carries one value, so valueChange stays text-only to keep [(value)] banana-in-a-box
20
- // working; `change` stays a second, separate @Output() for the raw event). The
21
- // non-function props travel the flat-bag path via the host-props directive. (2) Commit timing:
22
- // Angular's change detection is async/batched (zoneless), so a native command wired at lifecycle
23
- // time has no Fabric tag yet; the controlled write + autoFocus defer through whenCommitted, the
24
- // same gotcha Vue hits. The controlled handshake hinges on commanding native back with the
25
- // ACKNOWLEDGED event count (setTextAndSelection), never a plain prop re-push — see
26
- // @symbiote-native/components/state/text-input.
27
- var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
28
- function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
29
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
30
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
31
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
32
- var _, done = false;
33
- for (var i = decorators.length - 1; i >= 0; i--) {
34
- var context = {};
35
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
36
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
37
- context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
38
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
39
- if (kind === "accessor") {
40
- if (result === void 0) continue;
41
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
42
- if (_ = accept(result.get)) descriptor.get = _;
43
- if (_ = accept(result.set)) descriptor.set = _;
44
- if (_ = accept(result.init)) initializers.unshift(_);
45
- }
46
- else if (_ = accept(result)) {
47
- if (kind === "field") initializers.unshift(_);
48
- else descriptor[key] = _;
49
- }
50
- }
51
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
52
- done = true;
53
- };
54
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
55
- var useValue = arguments.length > 2;
56
- for (var i = 0; i < initializers.length; i++) {
57
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
58
- }
59
- return useValue ? value : void 0;
60
- };
61
- import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, inject, Input, Output, ViewChild, } from '@angular/core';
62
- import { foldText, eventCountFromChange, textFromChange, shouldCommandText, renderTextInput, resolveAccessibilityProps, resolveTextInputProps, INITIAL_EVENT_COUNT, SELECTION_NONE, } from '@symbiote-native/components';
63
- import { blurTextInput, dispatchViewCommand, dlog, isSymbioteEvent, isSymbioteNode, setInputBlurred, setInputFocused, whenCommitted, } from '@symbiote-native/engine';
64
- import { anchorHostStyle, MultilineTextInputHost, SymbioteHostPropsDirective, TextInputHost, } from '../primitives';
65
- let TextInput = (() => {
66
- let _classDecorators = [Component({
67
- selector: 'TextInput',
68
- standalone: true,
69
- schemas: [CUSTOM_ELEMENTS_SCHEMA],
70
- imports: [SymbioteHostPropsDirective, TextInputHost, MultilineTextInputHost],
71
- changeDetection: ChangeDetectionStrategy.OnPush,
72
- template: `
73
- @if (isMultiline) {
74
- <symbiote-text-input-multiline
75
- #host
76
- [symbioteHostProps]="hostProps"
77
- (change)="handleChange($event)"
78
- (focus)="handleFocus($event)"
79
- (blur)="handleBlur($event)"
80
- (selectionChange)="emit(selectionChange, $event)"
81
- (submitEditing)="emit(submitEditing, $event)"
82
- (keyPress)="emit(keyPress, $event)"
83
- (endEditing)="emit(endEditing, $event)"
84
- (contentSizeChange)="emit(contentSizeChange, $event)"
85
- (accessibilityAction)="emit(accessibilityAction, $event)"
86
- (accessibilityTap)="emit(accessibilityTap, $event)"
87
- (magicTap)="emit(magicTap, $event)"
88
- (accessibilityEscape)="emit(accessibilityEscape, $event)"
89
- ></symbiote-text-input-multiline>
90
- } @else {
91
- <symbiote-text-input
92
- #host
93
- [symbioteHostProps]="hostProps"
94
- (change)="handleChange($event)"
95
- (focus)="handleFocus($event)"
96
- (blur)="handleBlur($event)"
97
- (selectionChange)="emit(selectionChange, $event)"
98
- (submitEditing)="emit(submitEditing, $event)"
99
- (keyPress)="emit(keyPress, $event)"
100
- (endEditing)="emit(endEditing, $event)"
101
- (contentSizeChange)="emit(contentSizeChange, $event)"
102
- (accessibilityAction)="emit(accessibilityAction, $event)"
103
- (accessibilityTap)="emit(accessibilityTap, $event)"
104
- (magicTap)="emit(magicTap, $event)"
105
- (accessibilityEscape)="emit(accessibilityEscape, $event)"
106
- ></symbiote-text-input>
107
- }
108
- `,
109
- })];
110
- let _classDescriptor;
111
- let _classExtraInitializers = [];
112
- let _classThis;
113
- let _value_decorators;
114
- let _value_initializers = [];
115
- let _value_extraInitializers = [];
116
- let _defaultValue_decorators;
117
- let _defaultValue_initializers = [];
118
- let _defaultValue_extraInitializers = [];
119
- let _placeholder_decorators;
120
- let _placeholder_initializers = [];
121
- let _placeholder_extraInitializers = [];
122
- let _placeholderTextColor_decorators;
123
- let _placeholderTextColor_initializers = [];
124
- let _placeholderTextColor_extraInitializers = [];
125
- let _editable_decorators;
126
- let _editable_initializers = [];
127
- let _editable_extraInitializers = [];
128
- let _keyboardType_decorators;
129
- let _keyboardType_initializers = [];
130
- let _keyboardType_extraInitializers = [];
131
- let _secureTextEntry_decorators;
132
- let _secureTextEntry_initializers = [];
133
- let _secureTextEntry_extraInitializers = [];
134
- let _maxLength_decorators;
135
- let _maxLength_initializers = [];
136
- let _maxLength_extraInitializers = [];
137
- let _multiline_decorators;
138
- let _multiline_initializers = [];
139
- let _multiline_extraInitializers = [];
140
- let _selection_decorators;
141
- let _selection_initializers = [];
142
- let _selection_extraInitializers = [];
143
- let _autoCapitalize_decorators;
144
- let _autoCapitalize_initializers = [];
145
- let _autoCapitalize_extraInitializers = [];
146
- let _autoCorrect_decorators;
147
- let _autoCorrect_initializers = [];
148
- let _autoCorrect_extraInitializers = [];
149
- let _autoComplete_decorators;
150
- let _autoComplete_initializers = [];
151
- let _autoComplete_extraInitializers = [];
152
- let _textContentType_decorators;
153
- let _textContentType_initializers = [];
154
- let _textContentType_extraInitializers = [];
155
- let _autoFocus_decorators;
156
- let _autoFocus_initializers = [];
157
- let _autoFocus_extraInitializers = [];
158
- let _showSoftInputOnFocus_decorators;
159
- let _showSoftInputOnFocus_initializers = [];
160
- let _showSoftInputOnFocus_extraInitializers = [];
161
- let _returnKeyType_decorators;
162
- let _returnKeyType_initializers = [];
163
- let _returnKeyType_extraInitializers = [];
164
- let _selectTextOnFocus_decorators;
165
- let _selectTextOnFocus_initializers = [];
166
- let _selectTextOnFocus_extraInitializers = [];
167
- let _scrollEnabled_decorators;
168
- let _scrollEnabled_initializers = [];
169
- let _scrollEnabled_extraInitializers = [];
170
- let _numberOfLines_decorators;
171
- let _numberOfLines_initializers = [];
172
- let _numberOfLines_extraInitializers = [];
173
- let _textAlign_decorators;
174
- let _textAlign_initializers = [];
175
- let _textAlign_extraInitializers = [];
176
- let _blurOnSubmit_decorators;
177
- let _blurOnSubmit_initializers = [];
178
- let _blurOnSubmit_extraInitializers = [];
179
- let _inputMode_decorators;
180
- let _inputMode_initializers = [];
181
- let _inputMode_extraInitializers = [];
182
- let _enterKeyHint_decorators;
183
- let _enterKeyHint_initializers = [];
184
- let _enterKeyHint_extraInitializers = [];
185
- let _readOnly_decorators;
186
- let _readOnly_initializers = [];
187
- let _readOnly_extraInitializers = [];
188
- let _submitBehavior_decorators;
189
- let _submitBehavior_initializers = [];
190
- let _submitBehavior_extraInitializers = [];
191
- let _cursorColor_decorators;
192
- let _cursorColor_initializers = [];
193
- let _cursorColor_extraInitializers = [];
194
- let _selectionColor_decorators;
195
- let _selectionColor_initializers = [];
196
- let _selectionColor_extraInitializers = [];
197
- let _selectionHandleColor_decorators;
198
- let _selectionHandleColor_initializers = [];
199
- let _selectionHandleColor_extraInitializers = [];
200
- let _underlineColorAndroid_decorators;
201
- let _underlineColorAndroid_initializers = [];
202
- let _underlineColorAndroid_extraInitializers = [];
203
- let _inputAccessoryViewID_decorators;
204
- let _inputAccessoryViewID_initializers = [];
205
- let _inputAccessoryViewID_extraInitializers = [];
206
- let _style_decorators;
207
- let _style_initializers = [];
208
- let _style_extraInitializers = [];
209
- let _testID_decorators;
210
- let _testID_initializers = [];
211
- let _testID_extraInitializers = [];
212
- let _nativeID_decorators;
213
- let _nativeID_initializers = [];
214
- let _nativeID_extraInitializers = [];
215
- let _valueChange_decorators;
216
- let _valueChange_initializers = [];
217
- let _valueChange_extraInitializers = [];
218
- let _change_decorators;
219
- let _change_initializers = [];
220
- let _change_extraInitializers = [];
221
- let _focusEvent_decorators;
222
- let _focusEvent_initializers = [];
223
- let _focusEvent_extraInitializers = [];
224
- let _blurEvent_decorators;
225
- let _blurEvent_initializers = [];
226
- let _blurEvent_extraInitializers = [];
227
- let _endEditing_decorators;
228
- let _endEditing_initializers = [];
229
- let _endEditing_extraInitializers = [];
230
- let _submitEditing_decorators;
231
- let _submitEditing_initializers = [];
232
- let _submitEditing_extraInitializers = [];
233
- let _keyPress_decorators;
234
- let _keyPress_initializers = [];
235
- let _keyPress_extraInitializers = [];
236
- let _selectionChange_decorators;
237
- let _selectionChange_initializers = [];
238
- let _selectionChange_extraInitializers = [];
239
- let _contentSizeChange_decorators;
240
- let _contentSizeChange_initializers = [];
241
- let _contentSizeChange_extraInitializers = [];
242
- let _accessibilityAction_decorators;
243
- let _accessibilityAction_initializers = [];
244
- let _accessibilityAction_extraInitializers = [];
245
- let _accessibilityTap_decorators;
246
- let _accessibilityTap_initializers = [];
247
- let _accessibilityTap_extraInitializers = [];
248
- let _magicTap_decorators;
249
- let _magicTap_initializers = [];
250
- let _magicTap_extraInitializers = [];
251
- let _accessibilityEscape_decorators;
252
- let _accessibilityEscape_initializers = [];
253
- let _accessibilityEscape_extraInitializers = [];
254
- let _accessible_decorators;
255
- let _accessible_initializers = [];
256
- let _accessible_extraInitializers = [];
257
- let _accessibilityLabel_decorators;
258
- let _accessibilityLabel_initializers = [];
259
- let _accessibilityLabel_extraInitializers = [];
260
- let _accessibilityHint_decorators;
261
- let _accessibilityHint_initializers = [];
262
- let _accessibilityHint_extraInitializers = [];
263
- let _accessibilityRole_decorators;
264
- let _accessibilityRole_initializers = [];
265
- let _accessibilityRole_extraInitializers = [];
266
- let _accessibilityState_decorators;
267
- let _accessibilityState_initializers = [];
268
- let _accessibilityState_extraInitializers = [];
269
- let _accessibilityValue_decorators;
270
- let _accessibilityValue_initializers = [];
271
- let _accessibilityValue_extraInitializers = [];
272
- let _accessibilityActions_decorators;
273
- let _accessibilityActions_initializers = [];
274
- let _accessibilityActions_extraInitializers = [];
275
- let _accessibilityLabelledBy_decorators;
276
- let _accessibilityLabelledBy_initializers = [];
277
- let _accessibilityLabelledBy_extraInitializers = [];
278
- let _importantForAccessibility_decorators;
279
- let _importantForAccessibility_initializers = [];
280
- let _importantForAccessibility_extraInitializers = [];
281
- let _accessibilityLiveRegion_decorators;
282
- let _accessibilityLiveRegion_initializers = [];
283
- let _accessibilityLiveRegion_extraInitializers = [];
284
- let _screenReaderFocusable_decorators;
285
- let _screenReaderFocusable_initializers = [];
286
- let _screenReaderFocusable_extraInitializers = [];
287
- let _accessibilityViewIsModal_decorators;
288
- let _accessibilityViewIsModal_initializers = [];
289
- let _accessibilityViewIsModal_extraInitializers = [];
290
- let _accessibilityElementsHidden_decorators;
291
- let _accessibilityElementsHidden_initializers = [];
292
- let _accessibilityElementsHidden_extraInitializers = [];
293
- let _accessibilityIgnoresInvertColors_decorators;
294
- let _accessibilityIgnoresInvertColors_initializers = [];
295
- let _accessibilityIgnoresInvertColors_extraInitializers = [];
296
- let _accessibilityLanguage_decorators;
297
- let _accessibilityLanguage_initializers = [];
298
- let _accessibilityLanguage_extraInitializers = [];
299
- let _accessibilityRespondsToUserInteraction_decorators;
300
- let _accessibilityRespondsToUserInteraction_initializers = [];
301
- let _accessibilityRespondsToUserInteraction_extraInitializers = [];
302
- let _accessibilityShowsLargeContentViewer_decorators;
303
- let _accessibilityShowsLargeContentViewer_initializers = [];
304
- let _accessibilityShowsLargeContentViewer_extraInitializers = [];
305
- let _accessibilityLargeContentTitle_decorators;
306
- let _accessibilityLargeContentTitle_initializers = [];
307
- let _accessibilityLargeContentTitle_extraInitializers = [];
308
- let _role_decorators;
309
- let _role_initializers = [];
310
- let _role_extraInitializers = [];
311
- let _ariaLabel_decorators;
312
- let _ariaLabel_initializers = [];
313
- let _ariaLabel_extraInitializers = [];
314
- let _ariaLabelledBy_decorators;
315
- let _ariaLabelledBy_initializers = [];
316
- let _ariaLabelledBy_extraInitializers = [];
317
- let _ariaLive_decorators;
318
- let _ariaLive_initializers = [];
319
- let _ariaLive_extraInitializers = [];
320
- let _ariaHidden_decorators;
321
- let _ariaHidden_initializers = [];
322
- let _ariaHidden_extraInitializers = [];
323
- let _ariaBusy_decorators;
324
- let _ariaBusy_initializers = [];
325
- let _ariaBusy_extraInitializers = [];
326
- let _ariaChecked_decorators;
327
- let _ariaChecked_initializers = [];
328
- let _ariaChecked_extraInitializers = [];
329
- let _ariaDisabled_decorators;
330
- let _ariaDisabled_initializers = [];
331
- let _ariaDisabled_extraInitializers = [];
332
- let _ariaExpanded_decorators;
333
- let _ariaExpanded_initializers = [];
334
- let _ariaExpanded_extraInitializers = [];
335
- let _ariaSelected_decorators;
336
- let _ariaSelected_initializers = [];
337
- let _ariaSelected_extraInitializers = [];
338
- let _hostRef_decorators;
339
- let _hostRef_initializers = [];
340
- let _hostRef_extraInitializers = [];
341
- var TextInput = class {
342
- static { _classThis = this; }
343
- static {
344
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
345
- _value_decorators = [Input()];
346
- _defaultValue_decorators = [Input()];
347
- _placeholder_decorators = [Input()];
348
- _placeholderTextColor_decorators = [Input()];
349
- _editable_decorators = [Input()];
350
- _keyboardType_decorators = [Input()];
351
- _secureTextEntry_decorators = [Input()];
352
- _maxLength_decorators = [Input()];
353
- _multiline_decorators = [Input()];
354
- _selection_decorators = [Input()];
355
- _autoCapitalize_decorators = [Input()];
356
- _autoCorrect_decorators = [Input()];
357
- _autoComplete_decorators = [Input()];
358
- _textContentType_decorators = [Input()];
359
- _autoFocus_decorators = [Input()];
360
- _showSoftInputOnFocus_decorators = [Input()];
361
- _returnKeyType_decorators = [Input()];
362
- _selectTextOnFocus_decorators = [Input()];
363
- _scrollEnabled_decorators = [Input()];
364
- _numberOfLines_decorators = [Input()];
365
- _textAlign_decorators = [Input()];
366
- _blurOnSubmit_decorators = [Input()];
367
- _inputMode_decorators = [Input()];
368
- _enterKeyHint_decorators = [Input()];
369
- _readOnly_decorators = [Input()];
370
- _submitBehavior_decorators = [Input()];
371
- _cursorColor_decorators = [Input()];
372
- _selectionColor_decorators = [Input()];
373
- _selectionHandleColor_decorators = [Input()];
374
- _underlineColorAndroid_decorators = [Input()];
375
- _inputAccessoryViewID_decorators = [Input()];
376
- _style_decorators = [Input()];
377
- _testID_decorators = [Input()];
378
- _nativeID_decorators = [Input()];
379
- _valueChange_decorators = [Output()];
380
- _change_decorators = [Output()];
381
- _focusEvent_decorators = [Output('focus')];
382
- _blurEvent_decorators = [Output('blur')];
383
- _endEditing_decorators = [Output()];
384
- _submitEditing_decorators = [Output()];
385
- _keyPress_decorators = [Output()];
386
- _selectionChange_decorators = [Output()];
387
- _contentSizeChange_decorators = [Output()];
388
- _accessibilityAction_decorators = [Output()];
389
- _accessibilityTap_decorators = [Output()];
390
- _magicTap_decorators = [Output()];
391
- _accessibilityEscape_decorators = [Output()];
392
- _accessible_decorators = [Input()];
393
- _accessibilityLabel_decorators = [Input()];
394
- _accessibilityHint_decorators = [Input()];
395
- _accessibilityRole_decorators = [Input()];
396
- _accessibilityState_decorators = [Input()];
397
- _accessibilityValue_decorators = [Input()];
398
- _accessibilityActions_decorators = [Input()];
399
- _accessibilityLabelledBy_decorators = [Input()];
400
- _importantForAccessibility_decorators = [Input()];
401
- _accessibilityLiveRegion_decorators = [Input()];
402
- _screenReaderFocusable_decorators = [Input()];
403
- _accessibilityViewIsModal_decorators = [Input()];
404
- _accessibilityElementsHidden_decorators = [Input()];
405
- _accessibilityIgnoresInvertColors_decorators = [Input()];
406
- _accessibilityLanguage_decorators = [Input()];
407
- _accessibilityRespondsToUserInteraction_decorators = [Input()];
408
- _accessibilityShowsLargeContentViewer_decorators = [Input()];
409
- _accessibilityLargeContentTitle_decorators = [Input()];
410
- _role_decorators = [Input()];
411
- _ariaLabel_decorators = [Input('aria-label')];
412
- _ariaLabelledBy_decorators = [Input('aria-labelledby')];
413
- _ariaLive_decorators = [Input('aria-live')];
414
- _ariaHidden_decorators = [Input('aria-hidden')];
415
- _ariaBusy_decorators = [Input('aria-busy')];
416
- _ariaChecked_decorators = [Input('aria-checked')];
417
- _ariaDisabled_decorators = [Input('aria-disabled')];
418
- _ariaExpanded_decorators = [Input('aria-expanded')];
419
- _ariaSelected_decorators = [Input('aria-selected')];
420
- _hostRef_decorators = [ViewChild('host', { read: SymbioteHostPropsDirective })];
421
- __esDecorate(null, null, _value_decorators, { kind: "field", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
422
- __esDecorate(null, null, _defaultValue_decorators, { kind: "field", name: "defaultValue", static: false, private: false, access: { has: obj => "defaultValue" in obj, get: obj => obj.defaultValue, set: (obj, value) => { obj.defaultValue = value; } }, metadata: _metadata }, _defaultValue_initializers, _defaultValue_extraInitializers);
423
- __esDecorate(null, null, _placeholder_decorators, { kind: "field", name: "placeholder", static: false, private: false, access: { has: obj => "placeholder" in obj, get: obj => obj.placeholder, set: (obj, value) => { obj.placeholder = value; } }, metadata: _metadata }, _placeholder_initializers, _placeholder_extraInitializers);
424
- __esDecorate(null, null, _placeholderTextColor_decorators, { kind: "field", name: "placeholderTextColor", static: false, private: false, access: { has: obj => "placeholderTextColor" in obj, get: obj => obj.placeholderTextColor, set: (obj, value) => { obj.placeholderTextColor = value; } }, metadata: _metadata }, _placeholderTextColor_initializers, _placeholderTextColor_extraInitializers);
425
- __esDecorate(null, null, _editable_decorators, { kind: "field", name: "editable", static: false, private: false, access: { has: obj => "editable" in obj, get: obj => obj.editable, set: (obj, value) => { obj.editable = value; } }, metadata: _metadata }, _editable_initializers, _editable_extraInitializers);
426
- __esDecorate(null, null, _keyboardType_decorators, { kind: "field", name: "keyboardType", static: false, private: false, access: { has: obj => "keyboardType" in obj, get: obj => obj.keyboardType, set: (obj, value) => { obj.keyboardType = value; } }, metadata: _metadata }, _keyboardType_initializers, _keyboardType_extraInitializers);
427
- __esDecorate(null, null, _secureTextEntry_decorators, { kind: "field", name: "secureTextEntry", static: false, private: false, access: { has: obj => "secureTextEntry" in obj, get: obj => obj.secureTextEntry, set: (obj, value) => { obj.secureTextEntry = value; } }, metadata: _metadata }, _secureTextEntry_initializers, _secureTextEntry_extraInitializers);
428
- __esDecorate(null, null, _maxLength_decorators, { kind: "field", name: "maxLength", static: false, private: false, access: { has: obj => "maxLength" in obj, get: obj => obj.maxLength, set: (obj, value) => { obj.maxLength = value; } }, metadata: _metadata }, _maxLength_initializers, _maxLength_extraInitializers);
429
- __esDecorate(null, null, _multiline_decorators, { kind: "field", name: "multiline", static: false, private: false, access: { has: obj => "multiline" in obj, get: obj => obj.multiline, set: (obj, value) => { obj.multiline = value; } }, metadata: _metadata }, _multiline_initializers, _multiline_extraInitializers);
430
- __esDecorate(null, null, _selection_decorators, { kind: "field", name: "selection", static: false, private: false, access: { has: obj => "selection" in obj, get: obj => obj.selection, set: (obj, value) => { obj.selection = value; } }, metadata: _metadata }, _selection_initializers, _selection_extraInitializers);
431
- __esDecorate(null, null, _autoCapitalize_decorators, { kind: "field", name: "autoCapitalize", static: false, private: false, access: { has: obj => "autoCapitalize" in obj, get: obj => obj.autoCapitalize, set: (obj, value) => { obj.autoCapitalize = value; } }, metadata: _metadata }, _autoCapitalize_initializers, _autoCapitalize_extraInitializers);
432
- __esDecorate(null, null, _autoCorrect_decorators, { kind: "field", name: "autoCorrect", static: false, private: false, access: { has: obj => "autoCorrect" in obj, get: obj => obj.autoCorrect, set: (obj, value) => { obj.autoCorrect = value; } }, metadata: _metadata }, _autoCorrect_initializers, _autoCorrect_extraInitializers);
433
- __esDecorate(null, null, _autoComplete_decorators, { kind: "field", name: "autoComplete", static: false, private: false, access: { has: obj => "autoComplete" in obj, get: obj => obj.autoComplete, set: (obj, value) => { obj.autoComplete = value; } }, metadata: _metadata }, _autoComplete_initializers, _autoComplete_extraInitializers);
434
- __esDecorate(null, null, _textContentType_decorators, { kind: "field", name: "textContentType", static: false, private: false, access: { has: obj => "textContentType" in obj, get: obj => obj.textContentType, set: (obj, value) => { obj.textContentType = value; } }, metadata: _metadata }, _textContentType_initializers, _textContentType_extraInitializers);
435
- __esDecorate(null, null, _autoFocus_decorators, { kind: "field", name: "autoFocus", static: false, private: false, access: { has: obj => "autoFocus" in obj, get: obj => obj.autoFocus, set: (obj, value) => { obj.autoFocus = value; } }, metadata: _metadata }, _autoFocus_initializers, _autoFocus_extraInitializers);
436
- __esDecorate(null, null, _showSoftInputOnFocus_decorators, { kind: "field", name: "showSoftInputOnFocus", static: false, private: false, access: { has: obj => "showSoftInputOnFocus" in obj, get: obj => obj.showSoftInputOnFocus, set: (obj, value) => { obj.showSoftInputOnFocus = value; } }, metadata: _metadata }, _showSoftInputOnFocus_initializers, _showSoftInputOnFocus_extraInitializers);
437
- __esDecorate(null, null, _returnKeyType_decorators, { kind: "field", name: "returnKeyType", static: false, private: false, access: { has: obj => "returnKeyType" in obj, get: obj => obj.returnKeyType, set: (obj, value) => { obj.returnKeyType = value; } }, metadata: _metadata }, _returnKeyType_initializers, _returnKeyType_extraInitializers);
438
- __esDecorate(null, null, _selectTextOnFocus_decorators, { kind: "field", name: "selectTextOnFocus", static: false, private: false, access: { has: obj => "selectTextOnFocus" in obj, get: obj => obj.selectTextOnFocus, set: (obj, value) => { obj.selectTextOnFocus = value; } }, metadata: _metadata }, _selectTextOnFocus_initializers, _selectTextOnFocus_extraInitializers);
439
- __esDecorate(null, null, _scrollEnabled_decorators, { kind: "field", name: "scrollEnabled", static: false, private: false, access: { has: obj => "scrollEnabled" in obj, get: obj => obj.scrollEnabled, set: (obj, value) => { obj.scrollEnabled = value; } }, metadata: _metadata }, _scrollEnabled_initializers, _scrollEnabled_extraInitializers);
440
- __esDecorate(null, null, _numberOfLines_decorators, { kind: "field", name: "numberOfLines", static: false, private: false, access: { has: obj => "numberOfLines" in obj, get: obj => obj.numberOfLines, set: (obj, value) => { obj.numberOfLines = value; } }, metadata: _metadata }, _numberOfLines_initializers, _numberOfLines_extraInitializers);
441
- __esDecorate(null, null, _textAlign_decorators, { kind: "field", name: "textAlign", static: false, private: false, access: { has: obj => "textAlign" in obj, get: obj => obj.textAlign, set: (obj, value) => { obj.textAlign = value; } }, metadata: _metadata }, _textAlign_initializers, _textAlign_extraInitializers);
442
- __esDecorate(null, null, _blurOnSubmit_decorators, { kind: "field", name: "blurOnSubmit", static: false, private: false, access: { has: obj => "blurOnSubmit" in obj, get: obj => obj.blurOnSubmit, set: (obj, value) => { obj.blurOnSubmit = value; } }, metadata: _metadata }, _blurOnSubmit_initializers, _blurOnSubmit_extraInitializers);
443
- __esDecorate(null, null, _inputMode_decorators, { kind: "field", name: "inputMode", static: false, private: false, access: { has: obj => "inputMode" in obj, get: obj => obj.inputMode, set: (obj, value) => { obj.inputMode = value; } }, metadata: _metadata }, _inputMode_initializers, _inputMode_extraInitializers);
444
- __esDecorate(null, null, _enterKeyHint_decorators, { kind: "field", name: "enterKeyHint", static: false, private: false, access: { has: obj => "enterKeyHint" in obj, get: obj => obj.enterKeyHint, set: (obj, value) => { obj.enterKeyHint = value; } }, metadata: _metadata }, _enterKeyHint_initializers, _enterKeyHint_extraInitializers);
445
- __esDecorate(null, null, _readOnly_decorators, { kind: "field", name: "readOnly", static: false, private: false, access: { has: obj => "readOnly" in obj, get: obj => obj.readOnly, set: (obj, value) => { obj.readOnly = value; } }, metadata: _metadata }, _readOnly_initializers, _readOnly_extraInitializers);
446
- __esDecorate(null, null, _submitBehavior_decorators, { kind: "field", name: "submitBehavior", static: false, private: false, access: { has: obj => "submitBehavior" in obj, get: obj => obj.submitBehavior, set: (obj, value) => { obj.submitBehavior = value; } }, metadata: _metadata }, _submitBehavior_initializers, _submitBehavior_extraInitializers);
447
- __esDecorate(null, null, _cursorColor_decorators, { kind: "field", name: "cursorColor", static: false, private: false, access: { has: obj => "cursorColor" in obj, get: obj => obj.cursorColor, set: (obj, value) => { obj.cursorColor = value; } }, metadata: _metadata }, _cursorColor_initializers, _cursorColor_extraInitializers);
448
- __esDecorate(null, null, _selectionColor_decorators, { kind: "field", name: "selectionColor", static: false, private: false, access: { has: obj => "selectionColor" in obj, get: obj => obj.selectionColor, set: (obj, value) => { obj.selectionColor = value; } }, metadata: _metadata }, _selectionColor_initializers, _selectionColor_extraInitializers);
449
- __esDecorate(null, null, _selectionHandleColor_decorators, { kind: "field", name: "selectionHandleColor", static: false, private: false, access: { has: obj => "selectionHandleColor" in obj, get: obj => obj.selectionHandleColor, set: (obj, value) => { obj.selectionHandleColor = value; } }, metadata: _metadata }, _selectionHandleColor_initializers, _selectionHandleColor_extraInitializers);
450
- __esDecorate(null, null, _underlineColorAndroid_decorators, { kind: "field", name: "underlineColorAndroid", static: false, private: false, access: { has: obj => "underlineColorAndroid" in obj, get: obj => obj.underlineColorAndroid, set: (obj, value) => { obj.underlineColorAndroid = value; } }, metadata: _metadata }, _underlineColorAndroid_initializers, _underlineColorAndroid_extraInitializers);
451
- __esDecorate(null, null, _inputAccessoryViewID_decorators, { kind: "field", name: "inputAccessoryViewID", static: false, private: false, access: { has: obj => "inputAccessoryViewID" in obj, get: obj => obj.inputAccessoryViewID, set: (obj, value) => { obj.inputAccessoryViewID = value; } }, metadata: _metadata }, _inputAccessoryViewID_initializers, _inputAccessoryViewID_extraInitializers);
452
- __esDecorate(null, null, _style_decorators, { kind: "field", name: "style", static: false, private: false, access: { has: obj => "style" in obj, get: obj => obj.style, set: (obj, value) => { obj.style = value; } }, metadata: _metadata }, _style_initializers, _style_extraInitializers);
453
- __esDecorate(null, null, _testID_decorators, { kind: "field", name: "testID", static: false, private: false, access: { has: obj => "testID" in obj, get: obj => obj.testID, set: (obj, value) => { obj.testID = value; } }, metadata: _metadata }, _testID_initializers, _testID_extraInitializers);
454
- __esDecorate(null, null, _nativeID_decorators, { kind: "field", name: "nativeID", static: false, private: false, access: { has: obj => "nativeID" in obj, get: obj => obj.nativeID, set: (obj, value) => { obj.nativeID = value; } }, metadata: _metadata }, _nativeID_initializers, _nativeID_extraInitializers);
455
- __esDecorate(null, null, _valueChange_decorators, { kind: "field", name: "valueChange", static: false, private: false, access: { has: obj => "valueChange" in obj, get: obj => obj.valueChange, set: (obj, value) => { obj.valueChange = value; } }, metadata: _metadata }, _valueChange_initializers, _valueChange_extraInitializers);
456
- __esDecorate(null, null, _change_decorators, { kind: "field", name: "change", static: false, private: false, access: { has: obj => "change" in obj, get: obj => obj.change, set: (obj, value) => { obj.change = value; } }, metadata: _metadata }, _change_initializers, _change_extraInitializers);
457
- __esDecorate(null, null, _focusEvent_decorators, { kind: "field", name: "focusEvent", static: false, private: false, access: { has: obj => "focusEvent" in obj, get: obj => obj.focusEvent, set: (obj, value) => { obj.focusEvent = value; } }, metadata: _metadata }, _focusEvent_initializers, _focusEvent_extraInitializers);
458
- __esDecorate(null, null, _blurEvent_decorators, { kind: "field", name: "blurEvent", static: false, private: false, access: { has: obj => "blurEvent" in obj, get: obj => obj.blurEvent, set: (obj, value) => { obj.blurEvent = value; } }, metadata: _metadata }, _blurEvent_initializers, _blurEvent_extraInitializers);
459
- __esDecorate(null, null, _endEditing_decorators, { kind: "field", name: "endEditing", static: false, private: false, access: { has: obj => "endEditing" in obj, get: obj => obj.endEditing, set: (obj, value) => { obj.endEditing = value; } }, metadata: _metadata }, _endEditing_initializers, _endEditing_extraInitializers);
460
- __esDecorate(null, null, _submitEditing_decorators, { kind: "field", name: "submitEditing", static: false, private: false, access: { has: obj => "submitEditing" in obj, get: obj => obj.submitEditing, set: (obj, value) => { obj.submitEditing = value; } }, metadata: _metadata }, _submitEditing_initializers, _submitEditing_extraInitializers);
461
- __esDecorate(null, null, _keyPress_decorators, { kind: "field", name: "keyPress", static: false, private: false, access: { has: obj => "keyPress" in obj, get: obj => obj.keyPress, set: (obj, value) => { obj.keyPress = value; } }, metadata: _metadata }, _keyPress_initializers, _keyPress_extraInitializers);
462
- __esDecorate(null, null, _selectionChange_decorators, { kind: "field", name: "selectionChange", static: false, private: false, access: { has: obj => "selectionChange" in obj, get: obj => obj.selectionChange, set: (obj, value) => { obj.selectionChange = value; } }, metadata: _metadata }, _selectionChange_initializers, _selectionChange_extraInitializers);
463
- __esDecorate(null, null, _contentSizeChange_decorators, { kind: "field", name: "contentSizeChange", static: false, private: false, access: { has: obj => "contentSizeChange" in obj, get: obj => obj.contentSizeChange, set: (obj, value) => { obj.contentSizeChange = value; } }, metadata: _metadata }, _contentSizeChange_initializers, _contentSizeChange_extraInitializers);
464
- __esDecorate(null, null, _accessibilityAction_decorators, { kind: "field", name: "accessibilityAction", static: false, private: false, access: { has: obj => "accessibilityAction" in obj, get: obj => obj.accessibilityAction, set: (obj, value) => { obj.accessibilityAction = value; } }, metadata: _metadata }, _accessibilityAction_initializers, _accessibilityAction_extraInitializers);
465
- __esDecorate(null, null, _accessibilityTap_decorators, { kind: "field", name: "accessibilityTap", static: false, private: false, access: { has: obj => "accessibilityTap" in obj, get: obj => obj.accessibilityTap, set: (obj, value) => { obj.accessibilityTap = value; } }, metadata: _metadata }, _accessibilityTap_initializers, _accessibilityTap_extraInitializers);
466
- __esDecorate(null, null, _magicTap_decorators, { kind: "field", name: "magicTap", static: false, private: false, access: { has: obj => "magicTap" in obj, get: obj => obj.magicTap, set: (obj, value) => { obj.magicTap = value; } }, metadata: _metadata }, _magicTap_initializers, _magicTap_extraInitializers);
467
- __esDecorate(null, null, _accessibilityEscape_decorators, { kind: "field", name: "accessibilityEscape", static: false, private: false, access: { has: obj => "accessibilityEscape" in obj, get: obj => obj.accessibilityEscape, set: (obj, value) => { obj.accessibilityEscape = value; } }, metadata: _metadata }, _accessibilityEscape_initializers, _accessibilityEscape_extraInitializers);
468
- __esDecorate(null, null, _accessible_decorators, { kind: "field", name: "accessible", static: false, private: false, access: { has: obj => "accessible" in obj, get: obj => obj.accessible, set: (obj, value) => { obj.accessible = value; } }, metadata: _metadata }, _accessible_initializers, _accessible_extraInitializers);
469
- __esDecorate(null, null, _accessibilityLabel_decorators, { kind: "field", name: "accessibilityLabel", static: false, private: false, access: { has: obj => "accessibilityLabel" in obj, get: obj => obj.accessibilityLabel, set: (obj, value) => { obj.accessibilityLabel = value; } }, metadata: _metadata }, _accessibilityLabel_initializers, _accessibilityLabel_extraInitializers);
470
- __esDecorate(null, null, _accessibilityHint_decorators, { kind: "field", name: "accessibilityHint", static: false, private: false, access: { has: obj => "accessibilityHint" in obj, get: obj => obj.accessibilityHint, set: (obj, value) => { obj.accessibilityHint = value; } }, metadata: _metadata }, _accessibilityHint_initializers, _accessibilityHint_extraInitializers);
471
- __esDecorate(null, null, _accessibilityRole_decorators, { kind: "field", name: "accessibilityRole", static: false, private: false, access: { has: obj => "accessibilityRole" in obj, get: obj => obj.accessibilityRole, set: (obj, value) => { obj.accessibilityRole = value; } }, metadata: _metadata }, _accessibilityRole_initializers, _accessibilityRole_extraInitializers);
472
- __esDecorate(null, null, _accessibilityState_decorators, { kind: "field", name: "accessibilityState", static: false, private: false, access: { has: obj => "accessibilityState" in obj, get: obj => obj.accessibilityState, set: (obj, value) => { obj.accessibilityState = value; } }, metadata: _metadata }, _accessibilityState_initializers, _accessibilityState_extraInitializers);
473
- __esDecorate(null, null, _accessibilityValue_decorators, { kind: "field", name: "accessibilityValue", static: false, private: false, access: { has: obj => "accessibilityValue" in obj, get: obj => obj.accessibilityValue, set: (obj, value) => { obj.accessibilityValue = value; } }, metadata: _metadata }, _accessibilityValue_initializers, _accessibilityValue_extraInitializers);
474
- __esDecorate(null, null, _accessibilityActions_decorators, { kind: "field", name: "accessibilityActions", static: false, private: false, access: { has: obj => "accessibilityActions" in obj, get: obj => obj.accessibilityActions, set: (obj, value) => { obj.accessibilityActions = value; } }, metadata: _metadata }, _accessibilityActions_initializers, _accessibilityActions_extraInitializers);
475
- __esDecorate(null, null, _accessibilityLabelledBy_decorators, { kind: "field", name: "accessibilityLabelledBy", static: false, private: false, access: { has: obj => "accessibilityLabelledBy" in obj, get: obj => obj.accessibilityLabelledBy, set: (obj, value) => { obj.accessibilityLabelledBy = value; } }, metadata: _metadata }, _accessibilityLabelledBy_initializers, _accessibilityLabelledBy_extraInitializers);
476
- __esDecorate(null, null, _importantForAccessibility_decorators, { kind: "field", name: "importantForAccessibility", static: false, private: false, access: { has: obj => "importantForAccessibility" in obj, get: obj => obj.importantForAccessibility, set: (obj, value) => { obj.importantForAccessibility = value; } }, metadata: _metadata }, _importantForAccessibility_initializers, _importantForAccessibility_extraInitializers);
477
- __esDecorate(null, null, _accessibilityLiveRegion_decorators, { kind: "field", name: "accessibilityLiveRegion", static: false, private: false, access: { has: obj => "accessibilityLiveRegion" in obj, get: obj => obj.accessibilityLiveRegion, set: (obj, value) => { obj.accessibilityLiveRegion = value; } }, metadata: _metadata }, _accessibilityLiveRegion_initializers, _accessibilityLiveRegion_extraInitializers);
478
- __esDecorate(null, null, _screenReaderFocusable_decorators, { kind: "field", name: "screenReaderFocusable", static: false, private: false, access: { has: obj => "screenReaderFocusable" in obj, get: obj => obj.screenReaderFocusable, set: (obj, value) => { obj.screenReaderFocusable = value; } }, metadata: _metadata }, _screenReaderFocusable_initializers, _screenReaderFocusable_extraInitializers);
479
- __esDecorate(null, null, _accessibilityViewIsModal_decorators, { kind: "field", name: "accessibilityViewIsModal", static: false, private: false, access: { has: obj => "accessibilityViewIsModal" in obj, get: obj => obj.accessibilityViewIsModal, set: (obj, value) => { obj.accessibilityViewIsModal = value; } }, metadata: _metadata }, _accessibilityViewIsModal_initializers, _accessibilityViewIsModal_extraInitializers);
480
- __esDecorate(null, null, _accessibilityElementsHidden_decorators, { kind: "field", name: "accessibilityElementsHidden", static: false, private: false, access: { has: obj => "accessibilityElementsHidden" in obj, get: obj => obj.accessibilityElementsHidden, set: (obj, value) => { obj.accessibilityElementsHidden = value; } }, metadata: _metadata }, _accessibilityElementsHidden_initializers, _accessibilityElementsHidden_extraInitializers);
481
- __esDecorate(null, null, _accessibilityIgnoresInvertColors_decorators, { kind: "field", name: "accessibilityIgnoresInvertColors", static: false, private: false, access: { has: obj => "accessibilityIgnoresInvertColors" in obj, get: obj => obj.accessibilityIgnoresInvertColors, set: (obj, value) => { obj.accessibilityIgnoresInvertColors = value; } }, metadata: _metadata }, _accessibilityIgnoresInvertColors_initializers, _accessibilityIgnoresInvertColors_extraInitializers);
482
- __esDecorate(null, null, _accessibilityLanguage_decorators, { kind: "field", name: "accessibilityLanguage", static: false, private: false, access: { has: obj => "accessibilityLanguage" in obj, get: obj => obj.accessibilityLanguage, set: (obj, value) => { obj.accessibilityLanguage = value; } }, metadata: _metadata }, _accessibilityLanguage_initializers, _accessibilityLanguage_extraInitializers);
483
- __esDecorate(null, null, _accessibilityRespondsToUserInteraction_decorators, { kind: "field", name: "accessibilityRespondsToUserInteraction", static: false, private: false, access: { has: obj => "accessibilityRespondsToUserInteraction" in obj, get: obj => obj.accessibilityRespondsToUserInteraction, set: (obj, value) => { obj.accessibilityRespondsToUserInteraction = value; } }, metadata: _metadata }, _accessibilityRespondsToUserInteraction_initializers, _accessibilityRespondsToUserInteraction_extraInitializers);
484
- __esDecorate(null, null, _accessibilityShowsLargeContentViewer_decorators, { kind: "field", name: "accessibilityShowsLargeContentViewer", static: false, private: false, access: { has: obj => "accessibilityShowsLargeContentViewer" in obj, get: obj => obj.accessibilityShowsLargeContentViewer, set: (obj, value) => { obj.accessibilityShowsLargeContentViewer = value; } }, metadata: _metadata }, _accessibilityShowsLargeContentViewer_initializers, _accessibilityShowsLargeContentViewer_extraInitializers);
485
- __esDecorate(null, null, _accessibilityLargeContentTitle_decorators, { kind: "field", name: "accessibilityLargeContentTitle", static: false, private: false, access: { has: obj => "accessibilityLargeContentTitle" in obj, get: obj => obj.accessibilityLargeContentTitle, set: (obj, value) => { obj.accessibilityLargeContentTitle = value; } }, metadata: _metadata }, _accessibilityLargeContentTitle_initializers, _accessibilityLargeContentTitle_extraInitializers);
486
- __esDecorate(null, null, _role_decorators, { kind: "field", name: "role", static: false, private: false, access: { has: obj => "role" in obj, get: obj => obj.role, set: (obj, value) => { obj.role = value; } }, metadata: _metadata }, _role_initializers, _role_extraInitializers);
487
- __esDecorate(null, null, _ariaLabel_decorators, { kind: "field", name: "ariaLabel", static: false, private: false, access: { has: obj => "ariaLabel" in obj, get: obj => obj.ariaLabel, set: (obj, value) => { obj.ariaLabel = value; } }, metadata: _metadata }, _ariaLabel_initializers, _ariaLabel_extraInitializers);
488
- __esDecorate(null, null, _ariaLabelledBy_decorators, { kind: "field", name: "ariaLabelledBy", static: false, private: false, access: { has: obj => "ariaLabelledBy" in obj, get: obj => obj.ariaLabelledBy, set: (obj, value) => { obj.ariaLabelledBy = value; } }, metadata: _metadata }, _ariaLabelledBy_initializers, _ariaLabelledBy_extraInitializers);
489
- __esDecorate(null, null, _ariaLive_decorators, { kind: "field", name: "ariaLive", static: false, private: false, access: { has: obj => "ariaLive" in obj, get: obj => obj.ariaLive, set: (obj, value) => { obj.ariaLive = value; } }, metadata: _metadata }, _ariaLive_initializers, _ariaLive_extraInitializers);
490
- __esDecorate(null, null, _ariaHidden_decorators, { kind: "field", name: "ariaHidden", static: false, private: false, access: { has: obj => "ariaHidden" in obj, get: obj => obj.ariaHidden, set: (obj, value) => { obj.ariaHidden = value; } }, metadata: _metadata }, _ariaHidden_initializers, _ariaHidden_extraInitializers);
491
- __esDecorate(null, null, _ariaBusy_decorators, { kind: "field", name: "ariaBusy", static: false, private: false, access: { has: obj => "ariaBusy" in obj, get: obj => obj.ariaBusy, set: (obj, value) => { obj.ariaBusy = value; } }, metadata: _metadata }, _ariaBusy_initializers, _ariaBusy_extraInitializers);
492
- __esDecorate(null, null, _ariaChecked_decorators, { kind: "field", name: "ariaChecked", static: false, private: false, access: { has: obj => "ariaChecked" in obj, get: obj => obj.ariaChecked, set: (obj, value) => { obj.ariaChecked = value; } }, metadata: _metadata }, _ariaChecked_initializers, _ariaChecked_extraInitializers);
493
- __esDecorate(null, null, _ariaDisabled_decorators, { kind: "field", name: "ariaDisabled", static: false, private: false, access: { has: obj => "ariaDisabled" in obj, get: obj => obj.ariaDisabled, set: (obj, value) => { obj.ariaDisabled = value; } }, metadata: _metadata }, _ariaDisabled_initializers, _ariaDisabled_extraInitializers);
494
- __esDecorate(null, null, _ariaExpanded_decorators, { kind: "field", name: "ariaExpanded", static: false, private: false, access: { has: obj => "ariaExpanded" in obj, get: obj => obj.ariaExpanded, set: (obj, value) => { obj.ariaExpanded = value; } }, metadata: _metadata }, _ariaExpanded_initializers, _ariaExpanded_extraInitializers);
495
- __esDecorate(null, null, _ariaSelected_decorators, { kind: "field", name: "ariaSelected", static: false, private: false, access: { has: obj => "ariaSelected" in obj, get: obj => obj.ariaSelected, set: (obj, value) => { obj.ariaSelected = value; } }, metadata: _metadata }, _ariaSelected_initializers, _ariaSelected_extraInitializers);
496
- __esDecorate(null, null, _hostRef_decorators, { kind: "field", name: "hostRef", static: false, private: false, access: { has: obj => "hostRef" in obj, get: obj => obj.hostRef, set: (obj, value) => { obj.hostRef = value; } }, metadata: _metadata }, _hostRef_initializers, _hostRef_extraInitializers);
497
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
498
- TextInput = _classThis = _classDescriptor.value;
499
- if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
500
- __runInitializers(_classThis, _classExtraInitializers);
501
- }
502
- value = __runInitializers(this, _value_initializers, void 0);
503
- defaultValue = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _defaultValue_initializers, void 0));
504
- placeholder = (__runInitializers(this, _defaultValue_extraInitializers), __runInitializers(this, _placeholder_initializers, void 0));
505
- placeholderTextColor = (__runInitializers(this, _placeholder_extraInitializers), __runInitializers(this, _placeholderTextColor_initializers, void 0));
506
- editable = (__runInitializers(this, _placeholderTextColor_extraInitializers), __runInitializers(this, _editable_initializers, void 0));
507
- keyboardType = (__runInitializers(this, _editable_extraInitializers), __runInitializers(this, _keyboardType_initializers, void 0));
508
- secureTextEntry = (__runInitializers(this, _keyboardType_extraInitializers), __runInitializers(this, _secureTextEntry_initializers, void 0));
509
- maxLength = (__runInitializers(this, _secureTextEntry_extraInitializers), __runInitializers(this, _maxLength_initializers, void 0));
510
- multiline = (__runInitializers(this, _maxLength_extraInitializers), __runInitializers(this, _multiline_initializers, void 0));
511
- selection = (__runInitializers(this, _multiline_extraInitializers), __runInitializers(this, _selection_initializers, void 0));
512
- autoCapitalize = (__runInitializers(this, _selection_extraInitializers), __runInitializers(this, _autoCapitalize_initializers, void 0));
513
- autoCorrect = (__runInitializers(this, _autoCapitalize_extraInitializers), __runInitializers(this, _autoCorrect_initializers, void 0));
514
- autoComplete = (__runInitializers(this, _autoCorrect_extraInitializers), __runInitializers(this, _autoComplete_initializers, void 0));
515
- textContentType = (__runInitializers(this, _autoComplete_extraInitializers), __runInitializers(this, _textContentType_initializers, void 0));
516
- autoFocus = (__runInitializers(this, _textContentType_extraInitializers), __runInitializers(this, _autoFocus_initializers, void 0));
517
- showSoftInputOnFocus = (__runInitializers(this, _autoFocus_extraInitializers), __runInitializers(this, _showSoftInputOnFocus_initializers, void 0));
518
- returnKeyType = (__runInitializers(this, _showSoftInputOnFocus_extraInitializers), __runInitializers(this, _returnKeyType_initializers, void 0));
519
- selectTextOnFocus = (__runInitializers(this, _returnKeyType_extraInitializers), __runInitializers(this, _selectTextOnFocus_initializers, void 0));
520
- scrollEnabled = (__runInitializers(this, _selectTextOnFocus_extraInitializers), __runInitializers(this, _scrollEnabled_initializers, void 0));
521
- numberOfLines = (__runInitializers(this, _scrollEnabled_extraInitializers), __runInitializers(this, _numberOfLines_initializers, void 0));
522
- textAlign = (__runInitializers(this, _numberOfLines_extraInitializers), __runInitializers(this, _textAlign_initializers, void 0));
523
- blurOnSubmit = (__runInitializers(this, _textAlign_extraInitializers), __runInitializers(this, _blurOnSubmit_initializers, void 0));
524
- inputMode = (__runInitializers(this, _blurOnSubmit_extraInitializers), __runInitializers(this, _inputMode_initializers, void 0));
525
- enterKeyHint = (__runInitializers(this, _inputMode_extraInitializers), __runInitializers(this, _enterKeyHint_initializers, void 0));
526
- readOnly = (__runInitializers(this, _enterKeyHint_extraInitializers), __runInitializers(this, _readOnly_initializers, void 0));
527
- submitBehavior = (__runInitializers(this, _readOnly_extraInitializers), __runInitializers(this, _submitBehavior_initializers, void 0));
528
- cursorColor = (__runInitializers(this, _submitBehavior_extraInitializers), __runInitializers(this, _cursorColor_initializers, void 0));
529
- selectionColor = (__runInitializers(this, _cursorColor_extraInitializers), __runInitializers(this, _selectionColor_initializers, void 0));
530
- selectionHandleColor = (__runInitializers(this, _selectionColor_extraInitializers), __runInitializers(this, _selectionHandleColor_initializers, void 0));
531
- underlineColorAndroid = (__runInitializers(this, _selectionHandleColor_extraInitializers), __runInitializers(this, _underlineColorAndroid_initializers, void 0));
532
- inputAccessoryViewID = (__runInitializers(this, _underlineColorAndroid_extraInitializers), __runInitializers(this, _inputAccessoryViewID_initializers, void 0));
533
- style = (__runInitializers(this, _inputAccessoryViewID_extraInitializers), __runInitializers(this, _style_initializers, void 0));
534
- testID = (__runInitializers(this, _style_extraInitializers), __runInitializers(this, _testID_initializers, void 0));
535
- nativeID = (__runInitializers(this, _testID_extraInitializers), __runInitializers(this, _nativeID_initializers, void 0));
536
- // The event lifecycle as real Angular events: `(valueChange)="onText($event)"`, not
537
- // `[onValueChange]="onText"`. `focus`/`blur` collide with this same class's OWN imperative
538
- // `focus()`/`blur()` handle methods (ITextInputHandle — the RN ref API a parent calls via
539
- // `@ViewChild(TextInput)`), so those two alias their public @Output() binding name back to
540
- // `focus`/`blur` while the class member itself is named `focusEvent`/`blurEvent` — the same
541
- // `@Output(bindingName) memberName` alias this file already uses for `@Input('aria-label')`.
542
- // `value`/`valueChange` names match Switch/Slider exactly, so `[(value)]="text"` (banana-in-a-box)
543
- // works here too — see `valueChange`'s single-arg (text-only) signature above.
544
- valueChange = (__runInitializers(this, _nativeID_extraInitializers), __runInitializers(this, _valueChange_initializers, new EventEmitter()));
545
- change = (__runInitializers(this, _valueChange_extraInitializers), __runInitializers(this, _change_initializers, new EventEmitter()));
546
- focusEvent = (__runInitializers(this, _change_extraInitializers), __runInitializers(this, _focusEvent_initializers, new EventEmitter()));
547
- blurEvent = (__runInitializers(this, _focusEvent_extraInitializers), __runInitializers(this, _blurEvent_initializers, new EventEmitter()));
548
- endEditing = (__runInitializers(this, _blurEvent_extraInitializers), __runInitializers(this, _endEditing_initializers, new EventEmitter()));
549
- submitEditing = (__runInitializers(this, _endEditing_extraInitializers), __runInitializers(this, _submitEditing_initializers, new EventEmitter()));
550
- keyPress = (__runInitializers(this, _submitEditing_extraInitializers), __runInitializers(this, _keyPress_initializers, new EventEmitter()));
551
- selectionChange = (__runInitializers(this, _keyPress_extraInitializers), __runInitializers(this, _selectionChange_initializers, new EventEmitter()));
552
- contentSizeChange = (__runInitializers(this, _selectionChange_extraInitializers), __runInitializers(this, _contentSizeChange_initializers, new EventEmitter()));
553
- accessibilityAction = (__runInitializers(this, _contentSizeChange_extraInitializers), __runInitializers(this, _accessibilityAction_initializers, new EventEmitter()));
554
- accessibilityTap = (__runInitializers(this, _accessibilityAction_extraInitializers), __runInitializers(this, _accessibilityTap_initializers, new EventEmitter()));
555
- magicTap = (__runInitializers(this, _accessibilityTap_extraInitializers), __runInitializers(this, _magicTap_initializers, new EventEmitter()));
556
- accessibilityEscape = (__runInitializers(this, _magicTap_extraInitializers), __runInitializers(this, _accessibilityEscape_initializers, new EventEmitter()));
557
- accessible = (__runInitializers(this, _accessibilityEscape_extraInitializers), __runInitializers(this, _accessible_initializers, void 0));
558
- accessibilityLabel = (__runInitializers(this, _accessible_extraInitializers), __runInitializers(this, _accessibilityLabel_initializers, void 0));
559
- accessibilityHint = (__runInitializers(this, _accessibilityLabel_extraInitializers), __runInitializers(this, _accessibilityHint_initializers, void 0));
560
- accessibilityRole = (__runInitializers(this, _accessibilityHint_extraInitializers), __runInitializers(this, _accessibilityRole_initializers, void 0));
561
- accessibilityState = (__runInitializers(this, _accessibilityRole_extraInitializers), __runInitializers(this, _accessibilityState_initializers, void 0));
562
- accessibilityValue = (__runInitializers(this, _accessibilityState_extraInitializers), __runInitializers(this, _accessibilityValue_initializers, void 0));
563
- accessibilityActions = (__runInitializers(this, _accessibilityValue_extraInitializers), __runInitializers(this, _accessibilityActions_initializers, void 0));
564
- accessibilityLabelledBy = (__runInitializers(this, _accessibilityActions_extraInitializers), __runInitializers(this, _accessibilityLabelledBy_initializers, void 0));
565
- importantForAccessibility = (__runInitializers(this, _accessibilityLabelledBy_extraInitializers), __runInitializers(this, _importantForAccessibility_initializers, void 0));
566
- accessibilityLiveRegion = (__runInitializers(this, _importantForAccessibility_extraInitializers), __runInitializers(this, _accessibilityLiveRegion_initializers, void 0));
567
- screenReaderFocusable = (__runInitializers(this, _accessibilityLiveRegion_extraInitializers), __runInitializers(this, _screenReaderFocusable_initializers, void 0));
568
- accessibilityViewIsModal = (__runInitializers(this, _screenReaderFocusable_extraInitializers), __runInitializers(this, _accessibilityViewIsModal_initializers, void 0));
569
- accessibilityElementsHidden = (__runInitializers(this, _accessibilityViewIsModal_extraInitializers), __runInitializers(this, _accessibilityElementsHidden_initializers, void 0));
570
- accessibilityIgnoresInvertColors = (__runInitializers(this, _accessibilityElementsHidden_extraInitializers), __runInitializers(this, _accessibilityIgnoresInvertColors_initializers, void 0));
571
- accessibilityLanguage = (__runInitializers(this, _accessibilityIgnoresInvertColors_extraInitializers), __runInitializers(this, _accessibilityLanguage_initializers, void 0));
572
- accessibilityRespondsToUserInteraction = (__runInitializers(this, _accessibilityLanguage_extraInitializers), __runInitializers(this, _accessibilityRespondsToUserInteraction_initializers, void 0));
573
- accessibilityShowsLargeContentViewer = (__runInitializers(this, _accessibilityRespondsToUserInteraction_extraInitializers), __runInitializers(this, _accessibilityShowsLargeContentViewer_initializers, void 0));
574
- accessibilityLargeContentTitle = (__runInitializers(this, _accessibilityShowsLargeContentViewer_extraInitializers), __runInitializers(this, _accessibilityLargeContentTitle_initializers, void 0));
575
- role = (__runInitializers(this, _accessibilityLargeContentTitle_extraInitializers), __runInitializers(this, _role_initializers, void 0));
576
- ariaLabel = (__runInitializers(this, _role_extraInitializers), __runInitializers(this, _ariaLabel_initializers, void 0));
577
- ariaLabelledBy = (__runInitializers(this, _ariaLabel_extraInitializers), __runInitializers(this, _ariaLabelledBy_initializers, void 0));
578
- ariaLive = (__runInitializers(this, _ariaLabelledBy_extraInitializers), __runInitializers(this, _ariaLive_initializers, void 0));
579
- ariaHidden = (__runInitializers(this, _ariaLive_extraInitializers), __runInitializers(this, _ariaHidden_initializers, void 0));
580
- ariaBusy = (__runInitializers(this, _ariaHidden_extraInitializers), __runInitializers(this, _ariaBusy_initializers, void 0));
581
- ariaChecked = (__runInitializers(this, _ariaBusy_extraInitializers), __runInitializers(this, _ariaChecked_initializers, void 0));
582
- ariaDisabled = (__runInitializers(this, _ariaChecked_extraInitializers), __runInitializers(this, _ariaDisabled_initializers, void 0));
583
- ariaExpanded = (__runInitializers(this, _ariaDisabled_extraInitializers), __runInitializers(this, _ariaExpanded_initializers, void 0));
584
- ariaSelected = (__runInitializers(this, _ariaExpanded_extraInitializers), __runInitializers(this, _ariaSelected_initializers, void 0));
585
- hostRef = (__runInitializers(this, _ariaSelected_extraInitializers), __runInitializers(this, _hostRef_initializers, void 0));
586
- // This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
587
- // onto (see anchorHostStyle's doc comment) — NOT `hostRef` above, which targets the real inner
588
- // symbiote-text-input(-multiline) one level down.
589
- elementRef = (__runInitializers(this, _hostRef_extraInitializers), inject(ElementRef));
590
- // The count native last acknowledged; the controlled write / clear / setSelection echo it so
591
- // native's eventLag lands on 0 and the write applies. A plain field (read live by the imperative
592
- // handle), the Angular twin of React's useState / Vue's ref.
593
- mostRecentEventCount = INITIAL_EVENT_COUNT;
594
- // The last text native holds, as far as JS knows. Seeded on the first `value` change (the `text`
595
- // prop already carries the mount value down via createNode, so the FIRST controlled value is not
596
- // a divergence and must NOT re-command); later divergences flow through setTextAndSelection.
597
- lastNativeText;
598
- // JS-side focus state, mirrored from the focus/blur events for isFocused(): native exposes no
599
- // synchronous focus getter (RN's TextInputState holds the same).
600
- focused = false;
601
- cancelAutoFocus;
602
- get isMultiline() {
603
- return this.multiline === true;
604
- }
605
- get hostProps() {
606
- return renderTextInput({
607
- multiline: this.isMultiline,
608
- text: foldText(this.value, this.defaultValue),
609
- mostRecentEventCount: this.mostRecentEventCount,
610
- selection: this.selection,
611
- folded: this.foldedNativeProps,
612
- passthrough: this.buildPassthrough(),
613
- }).props;
614
- }
615
- ngOnChanges(changes) {
616
- const valueChange = changes['value'];
617
- if (valueChange === undefined)
618
- return;
619
- // The first value is the seed, not a divergence: record it and do not command.
620
- if (valueChange.firstChange) {
621
- this.lastNativeText = foldText(this.value, this.defaultValue);
622
- return;
623
- }
624
- this.commitControlledValue();
625
- }
626
- // autoFocus is driven in JS, not as a native prop: once the node is committed, command `focus`
627
- // down once (RN does the same via TextInputState.focusInput). Under Angular's async-batched
628
- // commit the node has no Fabric tag at ngAfterViewInit, so whenCommitted defers the command to
629
- // the commit that assigns the tag; cancelled on destroy so an un-committed pending focus leaks.
630
- ngAfterViewInit() {
631
- if (this.autoFocus !== true)
632
- return;
633
- const node = this.hostNode;
634
- if (node === undefined)
635
- return;
636
- dlog('TextInput autoFocus -> focus command');
637
- this.cancelAutoFocus = whenCommitted(node, () => dispatchViewCommand(node, 'focus', []));
638
- }
639
- ngOnDestroy() {
640
- this.cancelAutoFocus?.();
641
- }
642
- handleChange(event) {
643
- if (!isSymbioteEvent(event))
644
- return;
645
- // Event seam: the controlled handshake hinges on the change payload carrying `text`
646
- // (+ `eventCount`). iOS and Android Fabric can key these differently, so log the actual shape.
647
- dlog(`TextInput change keys=[${Object.keys(event.nativeEvent).join(',')}] ` +
648
- `text=${JSON.stringify(event.nativeEvent.text)} count=${JSON.stringify(event.nativeEvent.eventCount)}`);
649
- const text = textFromChange(event);
650
- if (text !== undefined) {
651
- // Record the text first, then the count, so the count never runs ahead of the text it
652
- // stands for. The host re-pushes the count on the parent's value-driven CD, never here:
653
- // pushing the stale `text` prop now (eventLag 0) would revert the keystroke.
654
- this.lastNativeText = text;
655
- this.valueChange.emit(text);
656
- }
657
- const count = eventCountFromChange(event);
658
- if (count !== undefined)
659
- this.mostRecentEventCount = count;
660
- this.change.emit(event);
661
- }
662
- handleFocus(event) {
663
- if (!isSymbioteEvent(event))
664
- return;
665
- this.focused = true;
666
- // Track focus app-wide so Keyboard.dismiss can blur this input without a ref.
667
- const node = this.hostNode;
668
- if (node !== undefined)
669
- setInputFocused(node);
670
- this.focusEvent.emit(event);
671
- }
672
- handleBlur(event) {
673
- if (!isSymbioteEvent(event))
674
- return;
675
- this.focused = false;
676
- const node = this.hostNode;
677
- if (node !== undefined)
678
- setInputBlurred(node);
679
- this.blurEvent.emit(event);
680
- }
681
- // Forward an engine event onto the matching @Output(), narrowing the template's untyped $event
682
- // first. Angular blocks [onX] property bindings, so every native event flows through (event).
683
- emit(emitter, event) {
684
- if (isSymbioteEvent(event))
685
- emitter.emit(event);
686
- }
687
- // The imperative API RN exposes on a TextInput ref; in Angular the component instance IS the
688
- // handle (a parent reads it via @ViewChild(TextInput) and calls these). focus/blur drive native
689
- // view commands; clear and setSelection reuse setTextAndSelection (the same stale-safe path as a
690
- // controlled write) echoing the acknowledged event count.
691
- focus() {
692
- const node = this.hostNode;
693
- if (node !== undefined)
694
- dispatchViewCommand(node, 'focus', []);
695
- }
696
- blur() {
697
- // Routes through TextInputState so the app-wide focus tracking clears too.
698
- blurTextInput(this.hostNode ?? null);
699
- }
700
- clear() {
701
- const node = this.hostNode;
702
- if (node === undefined)
703
- return;
704
- dispatchViewCommand(node, 'setTextAndSelection', [this.mostRecentEventCount, '', 0, 0]);
705
- this.lastNativeText = '';
706
- }
707
- isFocused() {
708
- return this.focused;
709
- }
710
- setSelection(start, end) {
711
- const node = this.hostNode;
712
- if (node === undefined)
713
- return;
714
- const current = this.lastNativeText ?? '';
715
- dispatchViewCommand(node, 'setTextAndSelection', [
716
- this.mostRecentEventCount,
717
- current,
718
- start,
719
- end,
720
- ]);
721
- }
722
- // Controlled write: when JS-side `value` diverges from what native reported, command the new
723
- // text down with the acknowledged count; a plain prop re-push would race the user's keystrokes.
724
- // whenCommitted defers it past the async commit so the node's Fabric tag exists; the predicate
725
- // narrows `value` to string and makes the call a no-op unless the text diverged.
726
- commitControlledValue() {
727
- const node = this.hostNode;
728
- if (node === undefined)
729
- return;
730
- const value = this.value;
731
- if (!shouldCommandText(this.lastNativeText, value))
732
- return;
733
- const selStart = this.selection?.start ?? SELECTION_NONE;
734
- const selEnd = this.selection?.end ?? this.selection?.start ?? SELECTION_NONE;
735
- const count = this.mostRecentEventCount;
736
- dlog(`TextInput setTextAndSelection count=${count} text=${JSON.stringify(value)}`);
737
- this.lastNativeText = value;
738
- whenCommitted(node, () => dispatchViewCommand(node, 'setTextAndSelection', [count, value, selStart, selEnd]));
739
- }
740
- buildPassthrough() {
741
- return {
742
- ...this.foldedAccessibility,
743
- accessible: this.accessible,
744
- testID: this.testID,
745
- nativeID: this.nativeID,
746
- placeholder: this.placeholder,
747
- placeholderTextColor: this.placeholderTextColor,
748
- maxLength: this.maxLength,
749
- secureTextEntry: this.secureTextEntry,
750
- autoCapitalize: this.autoCapitalize,
751
- autoCorrect: this.autoCorrect,
752
- selectTextOnFocus: this.selectTextOnFocus,
753
- scrollEnabled: this.scrollEnabled,
754
- numberOfLines: this.numberOfLines,
755
- textAlign: this.textAlign,
756
- inputAccessoryViewID: this.inputAccessoryViewID,
757
- style: [anchorHostStyle(this.elementRef), this.style],
758
- };
759
- }
760
- get foldedNativeProps() {
761
- return resolveTextInputProps({
762
- inputMode: this.inputMode,
763
- keyboardType: this.keyboardType,
764
- enterKeyHint: this.enterKeyHint,
765
- returnKeyType: this.returnKeyType,
766
- readOnly: this.readOnly,
767
- editable: this.editable,
768
- submitBehavior: this.submitBehavior,
769
- blurOnSubmit: this.blurOnSubmit,
770
- multiline: this.isMultiline,
771
- cursorColor: this.cursorColor,
772
- selectionColor: this.selectionColor,
773
- selectionHandleColor: this.selectionHandleColor,
774
- autoComplete: this.autoComplete,
775
- textContentType: this.textContentType,
776
- showSoftInputOnFocus: this.showSoftInputOnFocus,
777
- underlineColorAndroid: this.underlineColorAndroid,
778
- });
779
- }
780
- // Fold the web aria-*/role aliases into the canonical accessibility* props once per render, so
781
- // the host node never sees an aria-* key (native ignores them) — the shared transform every
782
- // adapter runs. TextInput is its own host element (not a View wrapper), so it folds a11y here.
783
- get foldedAccessibility() {
784
- return resolveAccessibilityProps({
785
- accessibilityLabel: this.accessibilityLabel,
786
- accessibilityHint: this.accessibilityHint,
787
- accessibilityRole: this.accessibilityRole,
788
- accessibilityState: this.accessibilityState,
789
- accessibilityValue: this.accessibilityValue,
790
- accessibilityActions: this.accessibilityActions,
791
- accessibilityLabelledBy: this.accessibilityLabelledBy,
792
- importantForAccessibility: this.importantForAccessibility,
793
- accessibilityLiveRegion: this.accessibilityLiveRegion,
794
- screenReaderFocusable: this.screenReaderFocusable,
795
- accessibilityViewIsModal: this.accessibilityViewIsModal,
796
- accessibilityElementsHidden: this.accessibilityElementsHidden,
797
- accessibilityIgnoresInvertColors: this.accessibilityIgnoresInvertColors,
798
- accessibilityLanguage: this.accessibilityLanguage,
799
- accessibilityRespondsToUserInteraction: this.accessibilityRespondsToUserInteraction,
800
- accessibilityShowsLargeContentViewer: this.accessibilityShowsLargeContentViewer,
801
- accessibilityLargeContentTitle: this.accessibilityLargeContentTitle,
802
- role: this.role,
803
- 'aria-label': this.ariaLabel,
804
- 'aria-labelledby': this.ariaLabelledBy,
805
- 'aria-live': this.ariaLive,
806
- 'aria-hidden': this.ariaHidden,
807
- 'aria-busy': this.ariaBusy,
808
- 'aria-checked': this.ariaChecked,
809
- 'aria-disabled': this.ariaDisabled,
810
- 'aria-expanded': this.ariaExpanded,
811
- 'aria-selected': this.ariaSelected,
812
- });
813
- }
814
- get hostNode() {
815
- const native = this.hostRef?.node;
816
- return isSymbioteNode(native) ? native : undefined;
817
- }
818
- };
819
- return TextInput = _classThis;
820
- })();
821
- export { TextInput };