@symbiote-native/angular 0.0.0-canary-20260724081123

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +157 -0
  3. package/babel-linker.cjs +7 -0
  4. package/babel-register-composed.cjs +127 -0
  5. package/bin/symbiote-angular-dev.cjs +93 -0
  6. package/build/angular/anchor-host-registry.d.ts +2 -0
  7. package/build/angular/anchor-host-registry.js +84 -0
  8. package/build/angular/anchor-host-registry.js.map +1 -0
  9. package/build/angular/bootstrap.d.ts +7 -0
  10. package/build/angular/bootstrap.js +15 -0
  11. package/build/angular/bootstrap.js.map +1 -0
  12. package/build/angular/components/activity-indicator/index.android.d.ts +12 -0
  13. package/build/angular/components/activity-indicator/index.android.js +21 -0
  14. package/build/angular/components/activity-indicator/index.android.js.map +1 -0
  15. package/build/angular/components/activity-indicator/index.d.ts +1 -0
  16. package/build/angular/components/activity-indicator/index.ios.d.ts +8 -0
  17. package/build/angular/components/activity-indicator/index.ios.js +21 -0
  18. package/build/angular/components/activity-indicator/index.ios.js.map +1 -0
  19. package/build/angular/components/activity-indicator/index.js +4 -0
  20. package/build/angular/components/activity-indicator/index.js.map +1 -0
  21. package/build/angular/components/activity-indicator/shared.d.ts +67 -0
  22. package/build/angular/components/activity-indicator/shared.js +260 -0
  23. package/build/angular/components/activity-indicator/shared.js.map +1 -0
  24. package/build/angular/components/button.d.ts +63 -0
  25. package/build/angular/components/button.js +332 -0
  26. package/build/angular/components/button.js.map +1 -0
  27. package/build/angular/components/flat-list/index.d.ts +122 -0
  28. package/build/angular/components/flat-list/index.js +688 -0
  29. package/build/angular/components/flat-list/index.js.map +1 -0
  30. package/build/angular/components/image/index.android.d.ts +10 -0
  31. package/build/angular/components/image/index.android.js +59 -0
  32. package/build/angular/components/image/index.android.js.map +1 -0
  33. package/build/angular/components/image/index.d.ts +1 -0
  34. package/build/angular/components/image/index.ios.d.ts +10 -0
  35. package/build/angular/components/image/index.ios.js +59 -0
  36. package/build/angular/components/image/index.ios.js.map +1 -0
  37. package/build/angular/components/image/index.js +3 -0
  38. package/build/angular/components/image/index.js.map +1 -0
  39. package/build/angular/components/image/shared.d.ts +101 -0
  40. package/build/angular/components/image/shared.js +406 -0
  41. package/build/angular/components/image/shared.js.map +1 -0
  42. package/build/angular/components/image-background.d.ts +81 -0
  43. package/build/angular/components/image-background.js +418 -0
  44. package/build/angular/components/image-background.js.map +1 -0
  45. package/build/angular/components/input-accessory-view/index.d.ts +60 -0
  46. package/build/angular/components/input-accessory-view/index.js +251 -0
  47. package/build/angular/components/input-accessory-view/index.js.map +1 -0
  48. package/build/angular/components/keyboard-avoiding-view/index.d.ts +82 -0
  49. package/build/angular/components/keyboard-avoiding-view/index.js +358 -0
  50. package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -0
  51. package/build/angular/components/modal/index.d.ts +92 -0
  52. package/build/angular/components/modal/index.js +360 -0
  53. package/build/angular/components/modal/index.js.map +1 -0
  54. package/build/angular/components/pressable/index.d.ts +123 -0
  55. package/build/angular/components/pressable/index.js +420 -0
  56. package/build/angular/components/pressable/index.js.map +1 -0
  57. package/build/angular/components/refresh-control/index.d.ts +86 -0
  58. package/build/angular/components/refresh-control/index.js +342 -0
  59. package/build/angular/components/refresh-control/index.js.map +1 -0
  60. package/build/angular/components/safe-area-view/index.d.ts +57 -0
  61. package/build/angular/components/safe-area-view/index.js +248 -0
  62. package/build/angular/components/safe-area-view/index.js.map +1 -0
  63. package/build/angular/components/scroll-view/index.android.d.ts +21 -0
  64. package/build/angular/components/scroll-view/index.android.js +235 -0
  65. package/build/angular/components/scroll-view/index.android.js.map +1 -0
  66. package/build/angular/components/scroll-view/index.d.ts +3 -0
  67. package/build/angular/components/scroll-view/index.ios.d.ts +9 -0
  68. package/build/angular/components/scroll-view/index.ios.js +86 -0
  69. package/build/angular/components/scroll-view/index.ios.js.map +1 -0
  70. package/build/angular/components/scroll-view/index.js +6 -0
  71. package/build/angular/components/scroll-view/index.js.map +1 -0
  72. package/build/angular/components/scroll-view/projection.d.ts +32 -0
  73. package/build/angular/components/scroll-view/projection.js +334 -0
  74. package/build/angular/components/scroll-view/projection.js.map +1 -0
  75. package/build/angular/components/scroll-view/shared.d.ts +230 -0
  76. package/build/angular/components/scroll-view/shared.js +682 -0
  77. package/build/angular/components/scroll-view/shared.js.map +1 -0
  78. package/build/angular/components/scroll-view/sticky-header.d.ts +40 -0
  79. package/build/angular/components/scroll-view/sticky-header.js +225 -0
  80. package/build/angular/components/scroll-view/sticky-header.js.map +1 -0
  81. package/build/angular/components/section-list/index.d.ts +116 -0
  82. package/build/angular/components/section-list/index.js +641 -0
  83. package/build/angular/components/section-list/index.js.map +1 -0
  84. package/build/angular/components/switch/index.android.d.ts +20 -0
  85. package/build/angular/components/switch/index.android.js +70 -0
  86. package/build/angular/components/switch/index.android.js.map +1 -0
  87. package/build/angular/components/switch/index.d.ts +1 -0
  88. package/build/angular/components/switch/index.ios.d.ts +19 -0
  89. package/build/angular/components/switch/index.ios.js +69 -0
  90. package/build/angular/components/switch/index.ios.js.map +1 -0
  91. package/build/angular/components/switch/index.js +4 -0
  92. package/build/angular/components/switch/index.js.map +1 -0
  93. package/build/angular/components/switch/shared.d.ts +40 -0
  94. package/build/angular/components/switch/shared.js +127 -0
  95. package/build/angular/components/switch/shared.js.map +1 -0
  96. package/build/angular/components/text-input.d.ts +153 -0
  97. package/build/angular/components/text-input.js +599 -0
  98. package/build/angular/components/text-input.js.map +1 -0
  99. package/build/angular/components/touchable/index.d.ts +245 -0
  100. package/build/angular/components/touchable/index.js +1186 -0
  101. package/build/angular/components/touchable/index.js.map +1 -0
  102. package/build/angular/components/touchable-native-feedback/index.d.ts +83 -0
  103. package/build/angular/components/touchable-native-feedback/index.js +371 -0
  104. package/build/angular/components/touchable-native-feedback/index.js.map +1 -0
  105. package/build/angular/components/virtualized-list/directives.d.ts +54 -0
  106. package/build/angular/components/virtualized-list/directives.js +153 -0
  107. package/build/angular/components/virtualized-list/directives.js.map +1 -0
  108. package/build/angular/components/virtualized-list/index.d.ts +253 -0
  109. package/build/angular/components/virtualized-list/index.js +1031 -0
  110. package/build/angular/components/virtualized-list/index.js.map +1 -0
  111. package/build/angular/components/virtualized-section-list/directives.d.ts +37 -0
  112. package/build/angular/components/virtualized-section-list/directives.js +76 -0
  113. package/build/angular/components/virtualized-section-list/directives.js.map +1 -0
  114. package/build/angular/components/virtualized-section-list/index.d.ts +178 -0
  115. package/build/angular/components/virtualized-section-list/index.js +720 -0
  116. package/build/angular/components/virtualized-section-list/index.js.map +1 -0
  117. package/build/angular/components.d.ts +39 -0
  118. package/build/angular/components.js +38 -0
  119. package/build/angular/components.js.map +1 -0
  120. package/build/angular/create-portal/index.d.ts +22 -0
  121. package/build/angular/create-portal/index.js +74 -0
  122. package/build/angular/create-portal/index.js.map +1 -0
  123. package/build/angular/create-tunnel/index.d.ts +34 -0
  124. package/build/angular/create-tunnel/index.js +126 -0
  125. package/build/angular/create-tunnel/index.js.map +1 -0
  126. package/build/angular/descriptor-to-angular/index.d.ts +22 -0
  127. package/build/angular/descriptor-to-angular/index.js +142 -0
  128. package/build/angular/descriptor-to-angular/index.js.map +1 -0
  129. package/build/angular/host-instance/index.d.ts +2 -0
  130. package/build/angular/host-instance/index.js +37 -0
  131. package/build/angular/host-instance/index.js.map +1 -0
  132. package/build/angular/index.d.ts +22 -0
  133. package/build/angular/index.js +46 -0
  134. package/build/angular/index.js.map +1 -0
  135. package/build/angular/modules/animated/animated-leaf-binder/index.d.ts +14 -0
  136. package/build/angular/modules/animated/animated-leaf-binder/index.js +91 -0
  137. package/build/angular/modules/animated/animated-leaf-binder/index.js.map +1 -0
  138. package/build/angular/modules/animated/animated-leaf-binder.d.ts +14 -0
  139. package/build/angular/modules/animated/animated-leaf-binder.js +91 -0
  140. package/build/angular/modules/animated/animated-leaf-binder.js.map +1 -0
  141. package/build/angular/modules/animated/create-animated-component.d.ts +59 -0
  142. package/build/angular/modules/animated/create-animated-component.js +364 -0
  143. package/build/angular/modules/animated/create-animated-component.js.map +1 -0
  144. package/build/angular/modules/animated/index.d.ts +51 -0
  145. package/build/angular/modules/animated/index.js +59 -0
  146. package/build/angular/modules/animated/index.js.map +1 -0
  147. package/build/angular/modules/app-registry/index.d.ts +7 -0
  148. package/build/angular/modules/app-registry/index.js +23 -0
  149. package/build/angular/modules/app-registry/index.js.map +1 -0
  150. package/build/angular/modules/status-bar/index.d.ts +20 -0
  151. package/build/angular/modules/status-bar/index.js +59 -0
  152. package/build/angular/modules/status-bar/index.js.map +1 -0
  153. package/build/angular/primitives/index.d.ts +63 -0
  154. package/build/angular/primitives/index.js +189 -0
  155. package/build/angular/primitives/index.js.map +1 -0
  156. package/build/angular/primitives/shared.d.ts +88 -0
  157. package/build/angular/primitives/shared.js +171 -0
  158. package/build/angular/primitives/shared.js.map +1 -0
  159. package/build/angular/render/index.d.ts +11 -0
  160. package/build/angular/render/index.js +171 -0
  161. package/build/angular/render/index.js.map +1 -0
  162. package/build/angular/renderer/index.d.ts +37 -0
  163. package/build/angular/renderer/index.js +301 -0
  164. package/build/angular/renderer/index.js.map +1 -0
  165. package/build/angular/services/color-scheme.service.d.ts +16 -0
  166. package/build/angular/services/color-scheme.service.js +31 -0
  167. package/build/angular/services/color-scheme.service.js.map +1 -0
  168. package/build/angular/services/index.d.ts +2 -0
  169. package/build/angular/services/index.js +3 -0
  170. package/build/angular/services/index.js.map +1 -0
  171. package/build/angular/services/window-dimensions.service.d.ts +16 -0
  172. package/build/angular/services/window-dimensions.service.js +42 -0
  173. package/build/angular/services/window-dimensions.service.js.map +1 -0
  174. package/metro-config.cjs +48 -0
  175. package/metro-css-parser.cjs +13 -0
  176. package/package.json +80 -0
  177. package/src/__tests__/responder-change-detection.test.ts +102 -0
  178. package/src/__tests__/responder-nested-cd.test.ts +113 -0
  179. package/src/anchor-host-registry.ts +88 -0
  180. package/src/angular-gaps.test.ts +142 -0
  181. package/src/angular-imports.test.ts +100 -0
  182. package/src/bootstrap.ts +26 -0
  183. package/src/components/activity-indicator/activity-indicator-class-style.test.ts +44 -0
  184. package/src/components/activity-indicator/activity-indicator.test.ts +131 -0
  185. package/src/components/activity-indicator/index.android.ts +16 -0
  186. package/src/components/activity-indicator/index.ios.ts +17 -0
  187. package/src/components/activity-indicator/index.ts +4 -0
  188. package/src/components/activity-indicator/shared.ts +206 -0
  189. package/src/components/button.ts +193 -0
  190. package/src/components/flat-list/column-wrapper-style-class.test.ts +116 -0
  191. package/src/components/flat-list/flat-list-array-style.test.ts +131 -0
  192. package/src/components/flat-list/flat-list-class-style.test.ts +74 -0
  193. package/src/components/flat-list/flat-list-scroll-containment.test.ts +107 -0
  194. package/src/components/flat-list/flat-list.test.ts +99 -0
  195. package/src/components/flat-list/index.ts +574 -0
  196. package/src/components/image/image-class-style.test.ts +46 -0
  197. package/src/components/image/index.android.ts +48 -0
  198. package/src/components/image/index.ios.ts +48 -0
  199. package/src/components/image/index.ts +3 -0
  200. package/src/components/image/shared.ts +479 -0
  201. package/src/components/image-background-class-style.test.ts +48 -0
  202. package/src/components/image-background-style-class.test.ts +79 -0
  203. package/src/components/image-background.ts +270 -0
  204. package/src/components/input-accessory-view/index.ts +185 -0
  205. package/src/components/input-accessory-view/input-accessory-view.test.ts +43 -0
  206. package/src/components/keyboard-avoiding-view/index.ts +303 -0
  207. package/src/components/keyboard-avoiding-view/keyboard-avoiding-view.test.ts +54 -0
  208. package/src/components/modal/index.ts +299 -0
  209. package/src/components/modal/modal.test.ts +43 -0
  210. package/src/components/pressable/index.ts +373 -0
  211. package/src/components/pressable/pressable.test.ts +85 -0
  212. package/src/components/refresh-control/index.ts +284 -0
  213. package/src/components/refresh-control/refresh-control.test.ts +41 -0
  214. package/src/components/safe-area-view/index.ts +177 -0
  215. package/src/components/safe-area-view/safe-area-view.test.ts +43 -0
  216. package/src/components/scroll-view/android-scroll-view-axis-projection.test.ts +123 -0
  217. package/src/components/scroll-view/content-container-style-class.test.ts +75 -0
  218. package/src/components/scroll-view/index.android.ts +190 -0
  219. package/src/components/scroll-view/index.ios.ts +79 -0
  220. package/src/components/scroll-view/index.ts +7 -0
  221. package/src/components/scroll-view/projection.ts +414 -0
  222. package/src/components/scroll-view/scroll-view-class-style.test.ts +134 -0
  223. package/src/components/scroll-view/scroll-view-projection.test.ts +194 -0
  224. package/src/components/scroll-view/shared.ts +844 -0
  225. package/src/components/scroll-view/sticky-header.ts +255 -0
  226. package/src/components/section-list/index.ts +445 -0
  227. package/src/components/switch/android-switch-class.test.ts +42 -0
  228. package/src/components/switch/index.android.ts +61 -0
  229. package/src/components/switch/index.ios.ts +60 -0
  230. package/src/components/switch/index.ts +4 -0
  231. package/src/components/switch/shared.ts +197 -0
  232. package/src/components/switch/switch.test.ts +92 -0
  233. package/src/components/text-input-class-style.test.ts +54 -0
  234. package/src/components/text-input.ts +531 -0
  235. package/src/components/touchable/index.ts +629 -0
  236. package/src/components/touchable/touchable.test.ts +102 -0
  237. package/src/components/touchable-native-feedback/index.ts +254 -0
  238. package/src/components/touchable-native-feedback/touchable-native-feedback.test.ts +49 -0
  239. package/src/components/virtualized-list/directives.ts +168 -0
  240. package/src/components/virtualized-list/index.ts +992 -0
  241. package/src/components/virtualized-list/virtualized-list-class-style.test.ts +76 -0
  242. package/src/components/virtualized-section-list/directives.ts +90 -0
  243. package/src/components/virtualized-section-list/index.ts +601 -0
  244. package/src/components/virtualized-section-list/virtualized-section-list-class-style.test.ts +60 -0
  245. package/src/components.ts +149 -0
  246. package/src/create-portal/create-portal.test.ts +90 -0
  247. package/src/create-portal/index.ts +74 -0
  248. package/src/create-tunnel/create-tunnel.test.ts +120 -0
  249. package/src/create-tunnel/index.ts +136 -0
  250. package/src/descriptor-to-angular/descriptor-outlet.test.ts +94 -0
  251. package/src/descriptor-to-angular/index.ts +190 -0
  252. package/src/host-instance/host-instance.test.ts +49 -0
  253. package/src/host-instance/index.ts +36 -0
  254. package/src/index.ts +261 -0
  255. package/src/modules/animated/animated-leaf-binder/animated-leaf-binder.test.ts +116 -0
  256. package/src/modules/animated/animated-leaf-binder/index.ts +101 -0
  257. package/src/modules/animated/animated-leaf-binder.test.ts +116 -0
  258. package/src/modules/animated/animated-leaf-binder.ts +101 -0
  259. package/src/modules/animated/animated-scroll-view.test.ts +102 -0
  260. package/src/modules/animated/create-animated-component.ts +365 -0
  261. package/src/modules/animated/index.ts +105 -0
  262. package/src/modules/app-registry/app-registry.test.ts +106 -0
  263. package/src/modules/app-registry/index.ts +60 -0
  264. package/src/modules/status-bar/index.ts +57 -0
  265. package/src/modules/status-bar/status-bar.test.ts +50 -0
  266. package/src/primitives/index.ts +119 -0
  267. package/src/primitives/shared.ts +190 -0
  268. package/src/render/index.ts +235 -0
  269. package/src/render/render.test.ts +147 -0
  270. package/src/renderer/index.ts +347 -0
  271. package/src/renderer/renderer.test.ts +203 -0
  272. package/src/services/color-scheme.service.ts +27 -0
  273. package/src/services/index.ts +2 -0
  274. package/src/services/services.test.ts +163 -0
  275. package/src/services/window-dimensions.service.ts +41 -0
  276. package/tsconfig.angular.base.json +30 -0
@@ -0,0 +1,599 @@
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
+ import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, inject, Input, Output, ViewChild, } from '@angular/core';
28
+ import { foldText, eventCountFromChange, textFromChange, shouldCommandText, renderTextInput, resolveAccessibilityProps, resolveTextInputProps, INITIAL_EVENT_COUNT, SELECTION_NONE, } from '@symbiote-native/components';
29
+ import { blurTextInput, dispatchViewCommand, dlog, isSymbioteEvent, isSymbioteNode, setInputBlurred, setInputFocused, whenCommitted, } from '@symbiote-native/engine';
30
+ import { anchorHostStyle, MultilineTextInputHost, SymbioteHostPropsDirective, TextInputHost, } from '../primitives';
31
+ import * as i0 from "@angular/core";
32
+ export class TextInput {
33
+ value;
34
+ defaultValue;
35
+ placeholder;
36
+ placeholderTextColor;
37
+ editable;
38
+ keyboardType;
39
+ secureTextEntry;
40
+ maxLength;
41
+ multiline;
42
+ selection;
43
+ autoCapitalize;
44
+ autoCorrect;
45
+ autoComplete;
46
+ textContentType;
47
+ autoFocus;
48
+ showSoftInputOnFocus;
49
+ returnKeyType;
50
+ selectTextOnFocus;
51
+ scrollEnabled;
52
+ numberOfLines;
53
+ textAlign;
54
+ blurOnSubmit;
55
+ inputMode;
56
+ enterKeyHint;
57
+ readOnly;
58
+ submitBehavior;
59
+ cursorColor;
60
+ selectionColor;
61
+ selectionHandleColor;
62
+ underlineColorAndroid;
63
+ inputAccessoryViewID;
64
+ style;
65
+ testID;
66
+ nativeID;
67
+ // The event lifecycle as real Angular events: `(valueChange)="onText($event)"`, not
68
+ // `[onValueChange]="onText"`. `focus`/`blur` collide with this same class's OWN imperative
69
+ // `focus()`/`blur()` handle methods (ITextInputHandle — the RN ref API a parent calls via
70
+ // `@ViewChild(TextInput)`), so those two alias their public @Output() binding name back to
71
+ // `focus`/`blur` while the class member itself is named `focusEvent`/`blurEvent` — the same
72
+ // `@Output(bindingName) memberName` alias this file already uses for `@Input('aria-label')`.
73
+ // `value`/`valueChange` names match Switch/Slider exactly, so `[(value)]="text"` (banana-in-a-box)
74
+ // works here too — see `valueChange`'s single-arg (text-only) signature above.
75
+ valueChange = new EventEmitter();
76
+ change = new EventEmitter();
77
+ focusEvent = new EventEmitter();
78
+ blurEvent = new EventEmitter();
79
+ endEditing = new EventEmitter();
80
+ submitEditing = new EventEmitter();
81
+ keyPress = new EventEmitter();
82
+ selectionChange = new EventEmitter();
83
+ contentSizeChange = new EventEmitter();
84
+ accessibilityAction = new EventEmitter();
85
+ accessibilityTap = new EventEmitter();
86
+ magicTap = new EventEmitter();
87
+ accessibilityEscape = new EventEmitter();
88
+ accessible;
89
+ accessibilityLabel;
90
+ accessibilityHint;
91
+ accessibilityRole;
92
+ accessibilityState;
93
+ accessibilityValue;
94
+ accessibilityActions;
95
+ accessibilityLabelledBy;
96
+ importantForAccessibility;
97
+ accessibilityLiveRegion;
98
+ screenReaderFocusable;
99
+ accessibilityViewIsModal;
100
+ accessibilityElementsHidden;
101
+ accessibilityIgnoresInvertColors;
102
+ accessibilityLanguage;
103
+ accessibilityRespondsToUserInteraction;
104
+ accessibilityShowsLargeContentViewer;
105
+ accessibilityLargeContentTitle;
106
+ role;
107
+ ariaLabel;
108
+ ariaLabelledBy;
109
+ ariaLive;
110
+ ariaHidden;
111
+ ariaBusy;
112
+ ariaChecked;
113
+ ariaDisabled;
114
+ ariaExpanded;
115
+ ariaSelected;
116
+ hostRef;
117
+ // This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
118
+ // onto (see anchorHostStyle's doc comment) — NOT `hostRef` above, which targets the real inner
119
+ // symbiote-text-input(-multiline) one level down.
120
+ elementRef = inject(ElementRef);
121
+ // The count native last acknowledged; the controlled write / clear / setSelection echo it so
122
+ // native's eventLag lands on 0 and the write applies. A plain field (read live by the imperative
123
+ // handle), the Angular twin of React's useState / Vue's ref.
124
+ mostRecentEventCount = INITIAL_EVENT_COUNT;
125
+ // The last text native holds, as far as JS knows. Seeded on the first `value` change (the `text`
126
+ // prop already carries the mount value down via createNode, so the FIRST controlled value is not
127
+ // a divergence and must NOT re-command); later divergences flow through setTextAndSelection.
128
+ lastNativeText;
129
+ // JS-side focus state, mirrored from the focus/blur events for isFocused(): native exposes no
130
+ // synchronous focus getter (RN's TextInputState holds the same).
131
+ focused = false;
132
+ cancelAutoFocus;
133
+ get isMultiline() {
134
+ return this.multiline === true;
135
+ }
136
+ get hostProps() {
137
+ return renderTextInput({
138
+ multiline: this.isMultiline,
139
+ text: foldText(this.value, this.defaultValue),
140
+ mostRecentEventCount: this.mostRecentEventCount,
141
+ selection: this.selection,
142
+ folded: this.foldedNativeProps,
143
+ passthrough: this.buildPassthrough(),
144
+ }).props;
145
+ }
146
+ ngOnChanges(changes) {
147
+ const valueChange = changes['value'];
148
+ if (valueChange === undefined)
149
+ return;
150
+ // The first value is the seed, not a divergence: record it and do not command.
151
+ if (valueChange.firstChange) {
152
+ this.lastNativeText = foldText(this.value, this.defaultValue);
153
+ return;
154
+ }
155
+ this.commitControlledValue();
156
+ }
157
+ // autoFocus is driven in JS, not as a native prop: once the node is committed, command `focus`
158
+ // down once (RN does the same via TextInputState.focusInput). Under Angular's async-batched
159
+ // commit the node has no Fabric tag at ngAfterViewInit, so whenCommitted defers the command to
160
+ // the commit that assigns the tag; cancelled on destroy so an un-committed pending focus leaks.
161
+ ngAfterViewInit() {
162
+ if (this.autoFocus !== true)
163
+ return;
164
+ const node = this.hostNode;
165
+ if (node === undefined)
166
+ return;
167
+ dlog('TextInput autoFocus -> focus command');
168
+ this.cancelAutoFocus = whenCommitted(node, () => dispatchViewCommand(node, 'focus', []));
169
+ }
170
+ ngOnDestroy() {
171
+ this.cancelAutoFocus?.();
172
+ }
173
+ handleChange(event) {
174
+ if (!isSymbioteEvent(event))
175
+ return;
176
+ // Event seam: the controlled handshake hinges on the change payload carrying `text`
177
+ // (+ `eventCount`). iOS and Android Fabric can key these differently, so log the actual shape.
178
+ dlog(`TextInput change keys=[${Object.keys(event.nativeEvent).join(',')}] ` +
179
+ `text=${JSON.stringify(event.nativeEvent.text)} count=${JSON.stringify(event.nativeEvent.eventCount)}`);
180
+ const text = textFromChange(event);
181
+ if (text !== undefined) {
182
+ // Record the text first, then the count, so the count never runs ahead of the text it
183
+ // stands for. The host re-pushes the count on the parent's value-driven CD, never here:
184
+ // pushing the stale `text` prop now (eventLag 0) would revert the keystroke.
185
+ this.lastNativeText = text;
186
+ this.valueChange.emit(text);
187
+ }
188
+ const count = eventCountFromChange(event);
189
+ if (count !== undefined)
190
+ this.mostRecentEventCount = count;
191
+ this.change.emit(event);
192
+ }
193
+ handleFocus(event) {
194
+ if (!isSymbioteEvent(event))
195
+ return;
196
+ this.focused = true;
197
+ // Track focus app-wide so Keyboard.dismiss can blur this input without a ref.
198
+ const node = this.hostNode;
199
+ if (node !== undefined)
200
+ setInputFocused(node);
201
+ this.focusEvent.emit(event);
202
+ }
203
+ handleBlur(event) {
204
+ if (!isSymbioteEvent(event))
205
+ return;
206
+ this.focused = false;
207
+ const node = this.hostNode;
208
+ if (node !== undefined)
209
+ setInputBlurred(node);
210
+ this.blurEvent.emit(event);
211
+ }
212
+ // Forward an engine event onto the matching @Output(), narrowing the template's untyped $event
213
+ // first. Angular blocks [onX] property bindings, so every native event flows through (event).
214
+ emit(emitter, event) {
215
+ if (isSymbioteEvent(event))
216
+ emitter.emit(event);
217
+ }
218
+ // The imperative API RN exposes on a TextInput ref; in Angular the component instance IS the
219
+ // handle (a parent reads it via @ViewChild(TextInput) and calls these). focus/blur drive native
220
+ // view commands; clear and setSelection reuse setTextAndSelection (the same stale-safe path as a
221
+ // controlled write) echoing the acknowledged event count.
222
+ focus() {
223
+ const node = this.hostNode;
224
+ if (node !== undefined)
225
+ dispatchViewCommand(node, 'focus', []);
226
+ }
227
+ blur() {
228
+ // Routes through TextInputState so the app-wide focus tracking clears too.
229
+ blurTextInput(this.hostNode ?? null);
230
+ }
231
+ clear() {
232
+ const node = this.hostNode;
233
+ if (node === undefined)
234
+ return;
235
+ dispatchViewCommand(node, 'setTextAndSelection', [this.mostRecentEventCount, '', 0, 0]);
236
+ this.lastNativeText = '';
237
+ }
238
+ isFocused() {
239
+ return this.focused;
240
+ }
241
+ setSelection(start, end) {
242
+ const node = this.hostNode;
243
+ if (node === undefined)
244
+ return;
245
+ const current = this.lastNativeText ?? '';
246
+ dispatchViewCommand(node, 'setTextAndSelection', [
247
+ this.mostRecentEventCount,
248
+ current,
249
+ start,
250
+ end,
251
+ ]);
252
+ }
253
+ // Controlled write: when JS-side `value` diverges from what native reported, command the new
254
+ // text down with the acknowledged count; a plain prop re-push would race the user's keystrokes.
255
+ // whenCommitted defers it past the async commit so the node's Fabric tag exists; the predicate
256
+ // narrows `value` to string and makes the call a no-op unless the text diverged.
257
+ commitControlledValue() {
258
+ const node = this.hostNode;
259
+ if (node === undefined)
260
+ return;
261
+ const value = this.value;
262
+ if (!shouldCommandText(this.lastNativeText, value))
263
+ return;
264
+ const selStart = this.selection?.start ?? SELECTION_NONE;
265
+ const selEnd = this.selection?.end ?? this.selection?.start ?? SELECTION_NONE;
266
+ const count = this.mostRecentEventCount;
267
+ dlog(`TextInput setTextAndSelection count=${count} text=${JSON.stringify(value)}`);
268
+ this.lastNativeText = value;
269
+ whenCommitted(node, () => dispatchViewCommand(node, 'setTextAndSelection', [count, value, selStart, selEnd]));
270
+ }
271
+ buildPassthrough() {
272
+ return {
273
+ ...this.foldedAccessibility,
274
+ accessible: this.accessible,
275
+ testID: this.testID,
276
+ nativeID: this.nativeID,
277
+ placeholder: this.placeholder,
278
+ placeholderTextColor: this.placeholderTextColor,
279
+ maxLength: this.maxLength,
280
+ secureTextEntry: this.secureTextEntry,
281
+ autoCapitalize: this.autoCapitalize,
282
+ autoCorrect: this.autoCorrect,
283
+ selectTextOnFocus: this.selectTextOnFocus,
284
+ scrollEnabled: this.scrollEnabled,
285
+ numberOfLines: this.numberOfLines,
286
+ textAlign: this.textAlign,
287
+ inputAccessoryViewID: this.inputAccessoryViewID,
288
+ style: [anchorHostStyle(this.elementRef), this.style],
289
+ };
290
+ }
291
+ get foldedNativeProps() {
292
+ return resolveTextInputProps({
293
+ inputMode: this.inputMode,
294
+ keyboardType: this.keyboardType,
295
+ enterKeyHint: this.enterKeyHint,
296
+ returnKeyType: this.returnKeyType,
297
+ readOnly: this.readOnly,
298
+ editable: this.editable,
299
+ submitBehavior: this.submitBehavior,
300
+ blurOnSubmit: this.blurOnSubmit,
301
+ multiline: this.isMultiline,
302
+ cursorColor: this.cursorColor,
303
+ selectionColor: this.selectionColor,
304
+ selectionHandleColor: this.selectionHandleColor,
305
+ autoComplete: this.autoComplete,
306
+ textContentType: this.textContentType,
307
+ showSoftInputOnFocus: this.showSoftInputOnFocus,
308
+ underlineColorAndroid: this.underlineColorAndroid,
309
+ });
310
+ }
311
+ // Fold the web aria-*/role aliases into the canonical accessibility* props once per render, so
312
+ // the host node never sees an aria-* key (native ignores them) — the shared transform every
313
+ // adapter runs. TextInput is its own host element (not a View wrapper), so it folds a11y here.
314
+ get foldedAccessibility() {
315
+ return resolveAccessibilityProps({
316
+ accessibilityLabel: this.accessibilityLabel,
317
+ accessibilityHint: this.accessibilityHint,
318
+ accessibilityRole: this.accessibilityRole,
319
+ accessibilityState: this.accessibilityState,
320
+ accessibilityValue: this.accessibilityValue,
321
+ accessibilityActions: this.accessibilityActions,
322
+ accessibilityLabelledBy: this.accessibilityLabelledBy,
323
+ importantForAccessibility: this.importantForAccessibility,
324
+ accessibilityLiveRegion: this.accessibilityLiveRegion,
325
+ screenReaderFocusable: this.screenReaderFocusable,
326
+ accessibilityViewIsModal: this.accessibilityViewIsModal,
327
+ accessibilityElementsHidden: this.accessibilityElementsHidden,
328
+ accessibilityIgnoresInvertColors: this.accessibilityIgnoresInvertColors,
329
+ accessibilityLanguage: this.accessibilityLanguage,
330
+ accessibilityRespondsToUserInteraction: this.accessibilityRespondsToUserInteraction,
331
+ accessibilityShowsLargeContentViewer: this.accessibilityShowsLargeContentViewer,
332
+ accessibilityLargeContentTitle: this.accessibilityLargeContentTitle,
333
+ role: this.role,
334
+ 'aria-label': this.ariaLabel,
335
+ 'aria-labelledby': this.ariaLabelledBy,
336
+ 'aria-live': this.ariaLive,
337
+ 'aria-hidden': this.ariaHidden,
338
+ 'aria-busy': this.ariaBusy,
339
+ 'aria-checked': this.ariaChecked,
340
+ 'aria-disabled': this.ariaDisabled,
341
+ 'aria-expanded': this.ariaExpanded,
342
+ 'aria-selected': this.ariaSelected,
343
+ });
344
+ }
345
+ get hostNode() {
346
+ const native = this.hostRef?.node;
347
+ return isSymbioteNode(native) ? native : undefined;
348
+ }
349
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TextInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
350
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: TextInput, isStandalone: true, selector: "TextInput", inputs: { value: "value", defaultValue: "defaultValue", placeholder: "placeholder", placeholderTextColor: "placeholderTextColor", editable: "editable", keyboardType: "keyboardType", secureTextEntry: "secureTextEntry", maxLength: "maxLength", multiline: "multiline", selection: "selection", autoCapitalize: "autoCapitalize", autoCorrect: "autoCorrect", autoComplete: "autoComplete", textContentType: "textContentType", autoFocus: "autoFocus", showSoftInputOnFocus: "showSoftInputOnFocus", returnKeyType: "returnKeyType", selectTextOnFocus: "selectTextOnFocus", scrollEnabled: "scrollEnabled", numberOfLines: "numberOfLines", textAlign: "textAlign", blurOnSubmit: "blurOnSubmit", inputMode: "inputMode", enterKeyHint: "enterKeyHint", readOnly: "readOnly", submitBehavior: "submitBehavior", cursorColor: "cursorColor", selectionColor: "selectionColor", selectionHandleColor: "selectionHandleColor", underlineColorAndroid: "underlineColorAndroid", inputAccessoryViewID: "inputAccessoryViewID", style: "style", testID: "testID", nativeID: "nativeID", accessible: "accessible", accessibilityLabel: "accessibilityLabel", accessibilityHint: "accessibilityHint", accessibilityRole: "accessibilityRole", accessibilityState: "accessibilityState", accessibilityValue: "accessibilityValue", accessibilityActions: "accessibilityActions", accessibilityLabelledBy: "accessibilityLabelledBy", importantForAccessibility: "importantForAccessibility", accessibilityLiveRegion: "accessibilityLiveRegion", screenReaderFocusable: "screenReaderFocusable", accessibilityViewIsModal: "accessibilityViewIsModal", accessibilityElementsHidden: "accessibilityElementsHidden", accessibilityIgnoresInvertColors: "accessibilityIgnoresInvertColors", accessibilityLanguage: "accessibilityLanguage", accessibilityRespondsToUserInteraction: "accessibilityRespondsToUserInteraction", accessibilityShowsLargeContentViewer: "accessibilityShowsLargeContentViewer", accessibilityLargeContentTitle: "accessibilityLargeContentTitle", role: "role", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledBy: ["aria-labelledby", "ariaLabelledBy"], ariaLive: ["aria-live", "ariaLive"], ariaHidden: ["aria-hidden", "ariaHidden"], ariaBusy: ["aria-busy", "ariaBusy"], ariaChecked: ["aria-checked", "ariaChecked"], ariaDisabled: ["aria-disabled", "ariaDisabled"], ariaExpanded: ["aria-expanded", "ariaExpanded"], ariaSelected: ["aria-selected", "ariaSelected"] }, outputs: { 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" }, viewQueries: [{ propertyName: "hostRef", first: true, predicate: ["host"], descendants: true, read: SymbioteHostPropsDirective }], usesOnChanges: true, ngImport: i0, template: `
351
+ @if (isMultiline) {
352
+ <symbiote-text-input-multiline
353
+ #host
354
+ [symbioteHostProps]="hostProps"
355
+ (change)="handleChange($event)"
356
+ (focus)="handleFocus($event)"
357
+ (blur)="handleBlur($event)"
358
+ (selectionChange)="emit(selectionChange, $event)"
359
+ (submitEditing)="emit(submitEditing, $event)"
360
+ (keyPress)="emit(keyPress, $event)"
361
+ (endEditing)="emit(endEditing, $event)"
362
+ (contentSizeChange)="emit(contentSizeChange, $event)"
363
+ (accessibilityAction)="emit(accessibilityAction, $event)"
364
+ (accessibilityTap)="emit(accessibilityTap, $event)"
365
+ (magicTap)="emit(magicTap, $event)"
366
+ (accessibilityEscape)="emit(accessibilityEscape, $event)"
367
+ ></symbiote-text-input-multiline>
368
+ } @else {
369
+ <symbiote-text-input
370
+ #host
371
+ [symbioteHostProps]="hostProps"
372
+ (change)="handleChange($event)"
373
+ (focus)="handleFocus($event)"
374
+ (blur)="handleBlur($event)"
375
+ (selectionChange)="emit(selectionChange, $event)"
376
+ (submitEditing)="emit(submitEditing, $event)"
377
+ (keyPress)="emit(keyPress, $event)"
378
+ (endEditing)="emit(endEditing, $event)"
379
+ (contentSizeChange)="emit(contentSizeChange, $event)"
380
+ (accessibilityAction)="emit(accessibilityAction, $event)"
381
+ (accessibilityTap)="emit(accessibilityTap, $event)"
382
+ (magicTap)="emit(magicTap, $event)"
383
+ (accessibilityEscape)="emit(accessibilityEscape, $event)"
384
+ ></symbiote-text-input>
385
+ }
386
+ `, isInline: true, dependencies: [{ kind: "directive", type: SymbioteHostPropsDirective, selector: "[symbioteHostProps]", inputs: ["symbioteHostProps"], exportAs: ["symbioteHost"] }, { kind: "component", type: TextInputHost, selector: "symbiote-text-input" }, { kind: "component", type: MultilineTextInputHost, selector: "symbiote-text-input-multiline" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
387
+ }
388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TextInput, decorators: [{
389
+ type: Component,
390
+ args: [{
391
+ selector: 'TextInput',
392
+ standalone: true,
393
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
394
+ imports: [SymbioteHostPropsDirective, TextInputHost, MultilineTextInputHost],
395
+ changeDetection: ChangeDetectionStrategy.OnPush,
396
+ template: `
397
+ @if (isMultiline) {
398
+ <symbiote-text-input-multiline
399
+ #host
400
+ [symbioteHostProps]="hostProps"
401
+ (change)="handleChange($event)"
402
+ (focus)="handleFocus($event)"
403
+ (blur)="handleBlur($event)"
404
+ (selectionChange)="emit(selectionChange, $event)"
405
+ (submitEditing)="emit(submitEditing, $event)"
406
+ (keyPress)="emit(keyPress, $event)"
407
+ (endEditing)="emit(endEditing, $event)"
408
+ (contentSizeChange)="emit(contentSizeChange, $event)"
409
+ (accessibilityAction)="emit(accessibilityAction, $event)"
410
+ (accessibilityTap)="emit(accessibilityTap, $event)"
411
+ (magicTap)="emit(magicTap, $event)"
412
+ (accessibilityEscape)="emit(accessibilityEscape, $event)"
413
+ ></symbiote-text-input-multiline>
414
+ } @else {
415
+ <symbiote-text-input
416
+ #host
417
+ [symbioteHostProps]="hostProps"
418
+ (change)="handleChange($event)"
419
+ (focus)="handleFocus($event)"
420
+ (blur)="handleBlur($event)"
421
+ (selectionChange)="emit(selectionChange, $event)"
422
+ (submitEditing)="emit(submitEditing, $event)"
423
+ (keyPress)="emit(keyPress, $event)"
424
+ (endEditing)="emit(endEditing, $event)"
425
+ (contentSizeChange)="emit(contentSizeChange, $event)"
426
+ (accessibilityAction)="emit(accessibilityAction, $event)"
427
+ (accessibilityTap)="emit(accessibilityTap, $event)"
428
+ (magicTap)="emit(magicTap, $event)"
429
+ (accessibilityEscape)="emit(accessibilityEscape, $event)"
430
+ ></symbiote-text-input>
431
+ }
432
+ `,
433
+ }]
434
+ }], propDecorators: { value: [{
435
+ type: Input
436
+ }], defaultValue: [{
437
+ type: Input
438
+ }], placeholder: [{
439
+ type: Input
440
+ }], placeholderTextColor: [{
441
+ type: Input
442
+ }], editable: [{
443
+ type: Input
444
+ }], keyboardType: [{
445
+ type: Input
446
+ }], secureTextEntry: [{
447
+ type: Input
448
+ }], maxLength: [{
449
+ type: Input
450
+ }], multiline: [{
451
+ type: Input
452
+ }], selection: [{
453
+ type: Input
454
+ }], autoCapitalize: [{
455
+ type: Input
456
+ }], autoCorrect: [{
457
+ type: Input
458
+ }], autoComplete: [{
459
+ type: Input
460
+ }], textContentType: [{
461
+ type: Input
462
+ }], autoFocus: [{
463
+ type: Input
464
+ }], showSoftInputOnFocus: [{
465
+ type: Input
466
+ }], returnKeyType: [{
467
+ type: Input
468
+ }], selectTextOnFocus: [{
469
+ type: Input
470
+ }], scrollEnabled: [{
471
+ type: Input
472
+ }], numberOfLines: [{
473
+ type: Input
474
+ }], textAlign: [{
475
+ type: Input
476
+ }], blurOnSubmit: [{
477
+ type: Input
478
+ }], inputMode: [{
479
+ type: Input
480
+ }], enterKeyHint: [{
481
+ type: Input
482
+ }], readOnly: [{
483
+ type: Input
484
+ }], submitBehavior: [{
485
+ type: Input
486
+ }], cursorColor: [{
487
+ type: Input
488
+ }], selectionColor: [{
489
+ type: Input
490
+ }], selectionHandleColor: [{
491
+ type: Input
492
+ }], underlineColorAndroid: [{
493
+ type: Input
494
+ }], inputAccessoryViewID: [{
495
+ type: Input
496
+ }], style: [{
497
+ type: Input
498
+ }], testID: [{
499
+ type: Input
500
+ }], nativeID: [{
501
+ type: Input
502
+ }], valueChange: [{
503
+ type: Output
504
+ }], change: [{
505
+ type: Output
506
+ }], focusEvent: [{
507
+ type: Output,
508
+ args: ['focus']
509
+ }], blurEvent: [{
510
+ type: Output,
511
+ args: ['blur']
512
+ }], endEditing: [{
513
+ type: Output
514
+ }], submitEditing: [{
515
+ type: Output
516
+ }], keyPress: [{
517
+ type: Output
518
+ }], selectionChange: [{
519
+ type: Output
520
+ }], contentSizeChange: [{
521
+ type: Output
522
+ }], accessibilityAction: [{
523
+ type: Output
524
+ }], accessibilityTap: [{
525
+ type: Output
526
+ }], magicTap: [{
527
+ type: Output
528
+ }], accessibilityEscape: [{
529
+ type: Output
530
+ }], accessible: [{
531
+ type: Input
532
+ }], accessibilityLabel: [{
533
+ type: Input
534
+ }], accessibilityHint: [{
535
+ type: Input
536
+ }], accessibilityRole: [{
537
+ type: Input
538
+ }], accessibilityState: [{
539
+ type: Input
540
+ }], accessibilityValue: [{
541
+ type: Input
542
+ }], accessibilityActions: [{
543
+ type: Input
544
+ }], accessibilityLabelledBy: [{
545
+ type: Input
546
+ }], importantForAccessibility: [{
547
+ type: Input
548
+ }], accessibilityLiveRegion: [{
549
+ type: Input
550
+ }], screenReaderFocusable: [{
551
+ type: Input
552
+ }], accessibilityViewIsModal: [{
553
+ type: Input
554
+ }], accessibilityElementsHidden: [{
555
+ type: Input
556
+ }], accessibilityIgnoresInvertColors: [{
557
+ type: Input
558
+ }], accessibilityLanguage: [{
559
+ type: Input
560
+ }], accessibilityRespondsToUserInteraction: [{
561
+ type: Input
562
+ }], accessibilityShowsLargeContentViewer: [{
563
+ type: Input
564
+ }], accessibilityLargeContentTitle: [{
565
+ type: Input
566
+ }], role: [{
567
+ type: Input
568
+ }], ariaLabel: [{
569
+ type: Input,
570
+ args: ['aria-label']
571
+ }], ariaLabelledBy: [{
572
+ type: Input,
573
+ args: ['aria-labelledby']
574
+ }], ariaLive: [{
575
+ type: Input,
576
+ args: ['aria-live']
577
+ }], ariaHidden: [{
578
+ type: Input,
579
+ args: ['aria-hidden']
580
+ }], ariaBusy: [{
581
+ type: Input,
582
+ args: ['aria-busy']
583
+ }], ariaChecked: [{
584
+ type: Input,
585
+ args: ['aria-checked']
586
+ }], ariaDisabled: [{
587
+ type: Input,
588
+ args: ['aria-disabled']
589
+ }], ariaExpanded: [{
590
+ type: Input,
591
+ args: ['aria-expanded']
592
+ }], ariaSelected: [{
593
+ type: Input,
594
+ args: ['aria-selected']
595
+ }], hostRef: [{
596
+ type: ViewChild,
597
+ args: ['host', { read: SymbioteHostPropsDirective }]
598
+ }] } });
599
+ //# sourceMappingURL=text-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-input.js","sourceRoot":"","sources":["../../../src/components/text-input.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,sGAAsG;AACtG,sGAAsG;AACtG,gGAAgG;AAChG,iGAAiG;AACjG,iGAAiG;AACjG,kGAAkG;AAClG,8FAA8F;AAC9F,iGAAiG;AACjG,0FAA0F;AAC1F,gGAAgG;AAChG,0FAA0F;AAC1F,+FAA+F;AAC/F,EAAE;AACF,iGAAiG;AACjG,gGAAgG;AAChG,8FAA8F;AAC9F,+FAA+F;AAC/F,2FAA2F;AAC3F,+EAA+E;AAC/E,+FAA+F;AAC/F,iGAAiG;AACjG,gGAAgG;AAChG,2FAA2F;AAC3F,mFAAmF;AACnF,gDAAgD;AAEhD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,GAKV,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,GAWf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,IAAI,EACJ,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,aAAa,GAKd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,0BAA0B,EAC1B,aAAa,GACd,MAAM,eAAe,CAAC;;AAmHvB,MAAM,OAAO,SAAS;IAGX,KAAK,CAAU;IACf,YAAY,CAAU;IACtB,WAAW,CAAU;IACrB,oBAAoB,CAAU;IAC9B,QAAQ,CAAW;IACnB,YAAY,CAAU;IACtB,eAAe,CAAW;IAC1B,SAAS,CAAU;IACnB,SAAS,CAAW;IACpB,SAAS,CAAuB;IAChC,cAAc,CAA4C;IAC1D,WAAW,CAAW;IACtB,YAAY,CAAU;IACtB,eAAe,CAAU;IACzB,SAAS,CAAW;IACpB,oBAAoB,CAAW;IAC/B,aAAa,CAAU;IACvB,iBAAiB,CAAW;IAC5B,aAAa,CAAW;IACxB,aAAa,CAAU;IACvB,SAAS,CAAuC;IAChD,YAAY,CAAW;IACvB,SAAS,CAAc;IACvB,YAAY,CAAiB;IAC7B,QAAQ,CAAW;IACnB,cAAc,CAAmB;IACjC,WAAW,CAAU;IACrB,cAAc,CAAU;IACxB,oBAAoB,CAAU;IAC9B,qBAAqB,CAAU;IAC/B,oBAAoB,CAAU;IAC9B,KAAK,CAA0B;IAC/B,MAAM,CAAU;IAChB,QAAQ,CAAU;IAE3B,oFAAoF;IACpF,2FAA2F;IAC3F,0FAA0F;IAC1F,2FAA2F;IAC3F,4FAA4F;IAC5F,6FAA6F;IAC7F,mGAAmG;IACnG,+EAA+E;IAC5D,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;IACzC,MAAM,GAAG,IAAI,YAAY,EAAkB,CAAC;IACrC,UAAU,GAAG,IAAI,YAAY,EAAkB,CAAC;IACjD,SAAS,GAAG,IAAI,YAAY,EAAkB,CAAC;IACrD,UAAU,GAAG,IAAI,YAAY,EAAkB,CAAC;IAChD,aAAa,GAAG,IAAI,YAAY,EAAkB,CAAC;IACnD,QAAQ,GAAG,IAAI,YAAY,EAAkB,CAAC;IAC9C,eAAe,GAAG,IAAI,YAAY,EAAkB,CAAC;IACrD,iBAAiB,GAAG,IAAI,YAAY,EAAkB,CAAC;IACvD,mBAAmB,GAAG,IAAI,YAAY,EAAkB,CAAC;IACzD,gBAAgB,GAAG,IAAI,YAAY,EAAkB,CAAC;IACtD,QAAQ,GAAG,IAAI,YAAY,EAAkB,CAAC;IAC9C,mBAAmB,GAAG,IAAI,YAAY,EAAkB,CAAC;IAEnE,UAAU,CAAW;IACrB,kBAAkB,CAAU;IAC5B,iBAAiB,CAAU;IAC3B,iBAAiB,CAA4C;IAC7D,kBAAkB,CAA4B;IAC9C,kBAAkB,CAA6C;IAC/D,oBAAoB,CAA+C;IACnE,uBAAuB,CAAqB;IAC5C,yBAAyB,CAAoD;IAC7E,uBAAuB,CAAkD;IACzE,qBAAqB,CAAW;IAChC,wBAAwB,CAAW;IACnC,2BAA2B,CAAW;IACtC,gCAAgC,CAAW;IAC3C,qBAAqB,CAAU;IAC/B,sCAAsC,CAAW;IACjD,oCAAoC,CAAW;IAC/C,8BAA8B,CAAU;IACxC,IAAI,CAAsB;IACd,SAAS,CAAU;IACd,cAAc,CAAU;IAC9B,QAAQ,CAA2B;IACjC,UAAU,CAAW;IACvB,QAAQ,CAAW;IAChB,WAAW,CAAqB;IAC/B,YAAY,CAAW;IACvB,YAAY,CAAW;IACvB,YAAY,CAAW;IAGvC,OAAO,CAA8B;IAE7C,6FAA6F;IAC7F,+FAA+F;IAC/F,kDAAkD;IACjC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEjD,6FAA6F;IAC7F,iGAAiG;IACjG,6DAA6D;IACrD,oBAAoB,GAAG,mBAAmB,CAAC;IACnD,iGAAiG;IACjG,iGAAiG;IACjG,6FAA6F;IACrF,cAAc,CAAqB;IAC3C,8FAA8F;IAC9F,iEAAiE;IACzD,OAAO,GAAG,KAAK,CAAC;IAChB,eAAe,CAAc;IAErC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;IACjC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,eAAe,CAAC;YACrB,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC;YAC7C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,iBAAiB;YAC9B,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE;SACrC,CAAC,CAAC,KAAK,CAAC;IACX,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO;QACtC,+EAA+E;QAC/E,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,+FAA+F;IAC/F,4FAA4F;IAC5F,+FAA+F;IAC/F,gGAAgG;IAChG,eAAe;QACb,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;YAAE,OAAO;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,WAAW;QACT,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY,CAAC,KAAc;QACzB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO;QACpC,oFAAoF;QACpF,+FAA+F;QAC/F,IAAI,CACF,0BAA0B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;YACpE,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CACzG,CAAC;QACF,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,sFAAsF;YACtF,wFAAwF;YACxF,6EAA6E;YAC7E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,WAAW,CAAC,KAAc;QACxB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO;QACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,8EAA8E;QAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS;YAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU,CAAC,KAAc;QACvB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO;QACpC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS;YAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,+FAA+F;IAC/F,8FAA8F;IAC9F,IAAI,CAAC,OAAqC,EAAE,KAAc;QACxD,IAAI,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,6FAA6F;IAC7F,gGAAgG;IAChG,iGAAiG;IACjG,0DAA0D;IAC1D,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS;YAAE,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,IAAI;QACF,2EAA2E;QAC3E,aAAa,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,YAAY,CAAC,KAAa,EAAE,GAAW;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;QAC1C,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,EAAE;YAC/C,IAAI,CAAC,oBAAoB;YACzB,OAAO;YACP,KAAK;YACL,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;IAED,6FAA6F;IAC7F,gGAAgG;IAChG,+FAA+F;IAC/F,iFAAiF;IACzE,qBAAqB;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC;YAAE,OAAO;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,cAAc,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,cAAc,CAAC;QAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACxC,IAAI,CAAC,uCAAuC,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,CACvB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CACnF,CAAC;IACJ,CAAC;IAEO,gBAAgB;QACtB,OAAO;YACL,GAAG,IAAI,CAAC,mBAAmB;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,KAAK,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,IAAY,iBAAiB;QAC3B,OAAO,qBAAqB,CAAC;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC,CAAC;IACL,CAAC;IAED,+FAA+F;IAC/F,4FAA4F;IAC5F,+FAA+F;IAC/F,IAAY,mBAAmB;QAC7B,OAAO,yBAAyB,CAAC;YAC/B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;YACzD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,gCAAgC,EAAE,IAAI,CAAC,gCAAgC;YACvE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,sCAAsC,EAAE,IAAI,CAAC,sCAAsC;YACnF,oCAAoC,EAAE,IAAI,CAAC,oCAAoC;YAC/E,8BAA8B,EAAE,IAAI,CAAC,8BAA8B;YACnE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,SAAS;YAC5B,iBAAiB,EAAE,IAAI,CAAC,cAAc;YACtC,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,aAAa,EAAE,IAAI,CAAC,UAAU;YAC9B,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,cAAc,EAAE,IAAI,CAAC,WAAW;YAChC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;SACnC,CAAC,CAAC;IACL,CAAC;IAED,IAAY,QAAQ;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;QAClC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;uGA5UU,SAAS;2FAAT,SAAS,+4FAyFO,0BAA0B,kDA/H3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCT,4DAtCS,0BAA0B,2HAAE,aAAa,gEAAE,sBAAsB;;2FAwChE,SAAS;kBA5CrB,SAAS;mBAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,0BAA0B,EAAE,aAAa,EAAE,sBAAsB,CAAC;oBAC5E,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCT;iBACF;;sBAIE,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBAUL,MAAM;;sBACN,MAAM;;sBACN,MAAM;uBAAC,OAAO;;sBACd,MAAM;uBAAC,MAAM;;sBACb,MAAM;;sBACN,MAAM;;sBACN,MAAM;;sBACN,MAAM;;sBACN,MAAM;;sBACN,MAAM;;sBACN,MAAM;;sBACN,MAAM;;sBACN,MAAM;;sBAEN,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;uBAAC,YAAY;;sBAClB,KAAK;uBAAC,iBAAiB;;sBACvB,KAAK;uBAAC,WAAW;;sBACjB,KAAK;uBAAC,aAAa;;sBACnB,KAAK;uBAAC,WAAW;;sBACjB,KAAK;uBAAC,cAAc;;sBACpB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBAErB,SAAS;uBAAC,MAAM,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE"}