@symbiote-native/angular 0.6.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/README.md +3 -3
  2. package/bin/symbiote-angular-dev.cjs +20 -19
  3. package/build/angular/anchor-host-registry.js +2 -2
  4. package/build/angular/anchor-host-registry.js.map +1 -1
  5. package/build/angular/bootstrap.js +1 -1
  6. package/build/angular/bootstrap.js.map +1 -1
  7. package/build/angular/components/activity-indicator/index.android.d.ts +2 -1
  8. package/build/angular/components/activity-indicator/index.android.js +12 -4
  9. package/build/angular/components/activity-indicator/index.android.js.map +1 -1
  10. package/build/angular/components/activity-indicator/index.ios.d.ts +2 -1
  11. package/build/angular/components/activity-indicator/index.ios.js +8 -3
  12. package/build/angular/components/activity-indicator/index.ios.js.map +1 -1
  13. package/build/angular/components/activity-indicator/shared.d.ts +1 -1
  14. package/build/angular/components/activity-indicator/shared.js +4 -4
  15. package/build/angular/components/activity-indicator/shared.js.map +1 -1
  16. package/build/angular/components/button.d.ts +4 -2
  17. package/build/angular/components/button.js +41 -22
  18. package/build/angular/components/button.js.map +1 -1
  19. package/build/angular/components/flat-list/index.d.ts +6 -4
  20. package/build/angular/components/flat-list/index.js +80 -50
  21. package/build/angular/components/flat-list/index.js.map +1 -1
  22. package/build/angular/components/image/index.android.d.ts +8 -3
  23. package/build/angular/components/image/index.android.js +42 -10
  24. package/build/angular/components/image/index.android.js.map +1 -1
  25. package/build/angular/components/image/index.ios.d.ts +8 -3
  26. package/build/angular/components/image/index.ios.js +42 -10
  27. package/build/angular/components/image/index.ios.js.map +1 -1
  28. package/build/angular/components/image/shared.d.ts +4 -1
  29. package/build/angular/components/image/shared.js +51 -8
  30. package/build/angular/components/image/shared.js.map +1 -1
  31. package/build/angular/components/image-background.d.ts +2 -1
  32. package/build/angular/components/image-background.js +26 -10
  33. package/build/angular/components/image-background.js.map +1 -1
  34. package/build/angular/components/input-accessory-view/index.d.ts +9 -4
  35. package/build/angular/components/input-accessory-view/index.js +49 -10
  36. package/build/angular/components/input-accessory-view/index.js.map +1 -1
  37. package/build/angular/components/keyboard-avoiding-view/index.d.ts +3 -1
  38. package/build/angular/components/keyboard-avoiding-view/index.js +44 -12
  39. package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
  40. package/build/angular/components/modal/index.d.ts +11 -8
  41. package/build/angular/components/modal/index.js +51 -29
  42. package/build/angular/components/modal/index.js.map +1 -1
  43. package/build/angular/components/pressable/index.d.ts +12 -6
  44. package/build/angular/components/pressable/index.js +66 -13
  45. package/build/angular/components/pressable/index.js.map +1 -1
  46. package/build/angular/components/refresh-control/index.d.ts +8 -4
  47. package/build/angular/components/refresh-control/index.js +54 -16
  48. package/build/angular/components/refresh-control/index.js.map +1 -1
  49. package/build/angular/components/safe-area-view/index.d.ts +9 -4
  50. package/build/angular/components/safe-area-view/index.js +48 -9
  51. package/build/angular/components/safe-area-view/index.js.map +1 -1
  52. package/build/angular/components/scroll-view/index.android.d.ts +2 -3
  53. package/build/angular/components/scroll-view/index.android.js +88 -61
  54. package/build/angular/components/scroll-view/index.android.js.map +1 -1
  55. package/build/angular/components/scroll-view/index.ios.d.ts +2 -3
  56. package/build/angular/components/scroll-view/index.ios.js +24 -18
  57. package/build/angular/components/scroll-view/index.ios.js.map +1 -1
  58. package/build/angular/components/scroll-view/projection.d.ts +35 -0
  59. package/build/angular/components/scroll-view/projection.js +279 -53
  60. package/build/angular/components/scroll-view/projection.js.map +1 -1
  61. package/build/angular/components/scroll-view/shared.d.ts +14 -5
  62. package/build/angular/components/scroll-view/shared.js +225 -75
  63. package/build/angular/components/scroll-view/shared.js.map +1 -1
  64. package/build/angular/components/scroll-view/sticky-header.js +21 -22
  65. package/build/angular/components/scroll-view/sticky-header.js.map +1 -1
  66. package/build/angular/components/section-list/index.d.ts +7 -1
  67. package/build/angular/components/section-list/index.js +91 -54
  68. package/build/angular/components/section-list/index.js.map +1 -1
  69. package/build/angular/components/switch/index.android.d.ts +7 -3
  70. package/build/angular/components/switch/index.android.js +52 -10
  71. package/build/angular/components/switch/index.android.js.map +1 -1
  72. package/build/angular/components/switch/index.ios.d.ts +7 -3
  73. package/build/angular/components/switch/index.ios.js +52 -10
  74. package/build/angular/components/switch/index.ios.js.map +1 -1
  75. package/build/angular/components/switch/shared.d.ts +13 -4
  76. package/build/angular/components/switch/shared.js +71 -7
  77. package/build/angular/components/switch/shared.js.map +1 -1
  78. package/build/angular/components/text-input.d.ts +11 -3
  79. package/build/angular/components/text-input.js +68 -8
  80. package/build/angular/components/text-input.js.map +1 -1
  81. package/build/angular/components/touchable/index.d.ts +40 -9
  82. package/build/angular/components/touchable/index.js +303 -67
  83. package/build/angular/components/touchable/index.js.map +1 -1
  84. package/build/angular/components/touchable-native-feedback/index.d.ts +6 -3
  85. package/build/angular/components/touchable-native-feedback/index.js +63 -27
  86. package/build/angular/components/touchable-native-feedback/index.js.map +1 -1
  87. package/build/angular/components/virtualized-list/directives.js +22 -18
  88. package/build/angular/components/virtualized-list/directives.js.map +1 -1
  89. package/build/angular/components/virtualized-list/index.d.ts +15 -4
  90. package/build/angular/components/virtualized-list/index.js +326 -94
  91. package/build/angular/components/virtualized-list/index.js.map +1 -1
  92. package/build/angular/components/virtualized-section-list/directives.js +12 -12
  93. package/build/angular/components/virtualized-section-list/directives.js.map +1 -1
  94. package/build/angular/components/virtualized-section-list/index.d.ts +19 -1
  95. package/build/angular/components/virtualized-section-list/index.js +93 -22
  96. package/build/angular/components/virtualized-section-list/index.js.map +1 -1
  97. package/build/angular/components.d.ts +2 -2
  98. package/build/angular/components.js +5 -0
  99. package/build/angular/components.js.map +1 -1
  100. package/build/angular/create-portal/index.js +34 -36
  101. package/build/angular/create-portal/index.js.map +1 -1
  102. package/build/angular/create-tunnel/index.js +19 -22
  103. package/build/angular/create-tunnel/index.js.map +1 -1
  104. package/build/angular/descriptor-to-angular/index.js +6 -4
  105. package/build/angular/descriptor-to-angular/index.js.map +1 -1
  106. package/build/angular/diagnostics.d.ts +33 -0
  107. package/build/angular/diagnostics.js +82 -0
  108. package/build/angular/diagnostics.js.map +1 -0
  109. package/build/angular/host-instance/index.js +1 -1
  110. package/build/angular/host-instance/index.js.map +1 -1
  111. package/build/angular/index.d.ts +9 -4
  112. package/build/angular/index.js +17 -3
  113. package/build/angular/index.js.map +1 -1
  114. package/build/angular/modules/animated/animated-leaf-binder.d.ts +1 -7
  115. package/build/angular/modules/animated/animated-leaf-binder.js +22 -72
  116. package/build/angular/modules/animated/animated-leaf-binder.js.map +1 -1
  117. package/build/angular/modules/animated/create-animated-component.d.ts +11 -6
  118. package/build/angular/modules/animated/create-animated-component.js +106 -55
  119. package/build/angular/modules/animated/create-animated-component.js.map +1 -1
  120. package/build/angular/modules/status-bar/index.js +4 -4
  121. package/build/angular/modules/status-bar/index.js.map +1 -1
  122. package/build/angular/primitives/index.d.ts +20 -3
  123. package/build/angular/primitives/index.js +84 -48
  124. package/build/angular/primitives/index.js.map +1 -1
  125. package/build/angular/primitives/shared.d.ts +48 -2
  126. package/build/angular/primitives/shared.js +158 -11
  127. package/build/angular/primitives/shared.js.map +1 -1
  128. package/build/angular/render/index.js +69 -38
  129. package/build/angular/render/index.js.map +1 -1
  130. package/build/angular/renderer/index.d.ts +1 -0
  131. package/build/angular/renderer/index.js +37 -2
  132. package/build/angular/renderer/index.js.map +1 -1
  133. package/build/angular/services/color-scheme.service.js +3 -3
  134. package/build/angular/services/color-scheme.service.js.map +1 -1
  135. package/build/angular/services/window-dimensions.service.js +4 -4
  136. package/build/angular/services/window-dimensions.service.js.map +1 -1
  137. package/package.json +10 -8
  138. package/src/anchor-host-registry.ts +2 -2
  139. package/src/bootstrap.ts +4 -1
  140. package/src/components/activity-indicator/index.android.ts +8 -1
  141. package/src/components/activity-indicator/index.ios.ts +4 -0
  142. package/src/components/activity-indicator/shared.ts +32 -13
  143. package/src/components/button.ts +46 -19
  144. package/src/components/flat-list/index.ts +122 -62
  145. package/src/components/image/index.android.ts +58 -7
  146. package/src/components/image/index.ios.ts +58 -7
  147. package/src/components/image/shared.ts +92 -21
  148. package/src/components/image-background.ts +29 -9
  149. package/src/components/input-accessory-view/index.ts +67 -12
  150. package/src/components/keyboard-avoiding-view/index.ts +61 -15
  151. package/src/components/modal/index.ts +72 -33
  152. package/src/components/pressable/index.ts +117 -28
  153. package/src/components/refresh-control/index.ts +74 -18
  154. package/src/components/safe-area-view/index.ts +64 -10
  155. package/src/components/scroll-view/index.android.ts +62 -47
  156. package/src/components/scroll-view/index.ios.ts +19 -17
  157. package/src/components/scroll-view/projection.ts +363 -64
  158. package/src/components/scroll-view/shared.ts +312 -90
  159. package/src/components/scroll-view/sticky-header.ts +36 -24
  160. package/src/components/section-list/index.ts +86 -53
  161. package/src/components/switch/index.android.ts +60 -8
  162. package/src/components/switch/index.ios.ts +60 -8
  163. package/src/components/switch/shared.ts +93 -6
  164. package/src/components/text-input.ts +95 -13
  165. package/src/components/touchable/index.ts +348 -64
  166. package/src/components/touchable-native-feedback/index.ts +94 -31
  167. package/src/components/virtualized-list/directives.ts +19 -5
  168. package/src/components/virtualized-list/index.ts +380 -85
  169. package/src/components/virtualized-section-list/directives.ts +6 -3
  170. package/src/components/virtualized-section-list/index.ts +146 -33
  171. package/src/components.ts +9 -1
  172. package/src/create-portal/index.ts +31 -31
  173. package/src/create-tunnel/index.ts +16 -17
  174. package/src/descriptor-to-angular/index.ts +29 -8
  175. package/src/diagnostics.ts +138 -0
  176. package/src/host-instance/index.ts +9 -3
  177. package/src/index.ts +61 -3
  178. package/src/modules/animated/animated-leaf-binder.ts +28 -77
  179. package/src/modules/animated/create-animated-component.ts +115 -47
  180. package/src/modules/app-registry/index.ts +9 -9
  181. package/src/modules/status-bar/index.ts +13 -4
  182. package/src/primitives/index.ts +47 -2
  183. package/src/primitives/shared.ts +170 -10
  184. package/src/render/index.ts +77 -39
  185. package/src/renderer/index.ts +76 -14
  186. package/src/services/color-scheme.service.ts +3 -1
  187. package/src/services/window-dimensions.service.ts +11 -4
  188. package/build/angular/modules/animated/animated-leaf-binder/index.d.ts +0 -14
  189. package/build/angular/modules/animated/animated-leaf-binder/index.js +0 -91
  190. package/build/angular/modules/animated/animated-leaf-binder/index.js.map +0 -1
  191. package/src/modules/animated/animated-leaf-binder/index.ts +0 -101
@@ -4,7 +4,7 @@
4
4
  // declarative shape: a component that renders nothing and re-applies the props through
5
5
  // ngOnChanges on mount + every prop change. Imperative statics are attached to the component
6
6
  // object the same way RN does.
7
- import { Component, Input } from '@angular/core';
7
+ import { Component, Input, } from '@angular/core';
8
8
  import { applyStatusBarProps, statusBarImperative, statusBarCurrentHeight, } from '@symbiote-native/engine';
9
9
  import * as i0 from "@angular/core";
10
10
  class StatusBarComponent {
@@ -27,10 +27,10 @@ class StatusBarComponent {
27
27
  translucent: this.translucent,
28
28
  };
29
29
  }
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: StatusBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: StatusBarComponent, isStandalone: true, selector: "StatusBar", inputs: { barStyle: "barStyle", hidden: "hidden", animated: "animated", networkActivityIndicatorVisible: "networkActivityIndicatorVisible", backgroundColor: "backgroundColor", translucent: "translucent" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: StatusBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: StatusBarComponent, isStandalone: true, selector: "StatusBar", inputs: { barStyle: "barStyle", hidden: "hidden", animated: "animated", networkActivityIndicatorVisible: "networkActivityIndicatorVisible", backgroundColor: "backgroundColor", translucent: "translucent" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: StatusBarComponent, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: StatusBarComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{
36
36
  selector: 'StatusBar',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/status-bar/index.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,yGAAyG;AACzG,wFAAwF;AACxF,uFAAuF;AACvF,6FAA6F;AAC7F,+BAA+B;AAE/B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAsC,MAAM,eAAe,CAAC;AACrF,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GAIvB,MAAM,yBAAyB,CAAC;;AAIjC,MAKM,kBAAkB;IACb,QAAQ,CAAmB;IAC3B,MAAM,CAAW;IACjB,QAAQ,CAAW;IACnB,+BAA+B,CAAW;IAC1C,eAAe,CAAe;IAC9B,WAAW,CAAW;IAE/B,WAAW,CAAC,QAAuB;QACjC,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACzC,CAAC;IAEO,UAAU;QAChB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,+BAA+B,EAAE,IAAI,CAAC,+BAA+B;YACrE,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;IACJ,CAAC;uGArBG,kBAAkB;2FAAlB,kBAAkB,wSAFZ,EAAE;;2FAER,kBAAkB;kBALvB,SAAS;mBAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,EAAE;iBACb;;sBAEE,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;AAkBR,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;AAEpF,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,eAAe,EAAE;IAC3D,GAAG,EAAE,sBAAsB;IAC3B,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GACpB,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/status-bar/index.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,yGAAyG;AACzG,wFAAwF;AACxF,uFAAuF;AACvF,6FAA6F;AAC7F,+BAA+B;AAE/B,OAAO,EACL,SAAS,EACT,KAAK,GAGN,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GAIvB,MAAM,yBAAyB,CAAC;;AAIjC,MAKM,kBAAkB;IACb,QAAQ,CAAmB;IAC3B,MAAM,CAAW;IACjB,QAAQ,CAAW;IACnB,+BAA+B,CAAW;IAC1C,eAAe,CAAe;IAC9B,WAAW,CAAW;IAE/B,WAAW,CAAC,QAAuB;QACjC,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACzC,CAAC;IAEO,UAAU;QAChB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,+BAA+B,EAAE,IAAI,CAAC,+BAA+B;YACrE,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;IACJ,CAAC;uGArBG,kBAAkB;2FAAlB,kBAAkB,wSAFZ,EAAE;;2FAER,kBAAkB;kBALvB,SAAS;mBAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,EAAE;iBACb;;sBAEE,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;AAkBR,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CACxC,kBAAkB,EAClB,mBAAmB,CACpB,CAAC;AAEF,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,eAAe,EAAE;IAC3D,GAAG,EAAE,sBAAsB;IAC3B,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAElB,oBAAoB,CAAC"}
@@ -1,13 +1,30 @@
1
+ import { type OnInit, type SimpleChanges } from '@angular/core';
2
+ import { type IEllipsizeMode } from '@symbiote-native/components';
1
3
  import { SymbiotePrimitiveHost } from './shared';
2
4
  import * as i0 from "@angular/core";
3
- export { anchorHostStyle, anchorStyleProp, stableAnchorStyle, SymbioteHostPropsDirective, } from './shared';
5
+ export { anchorHostStyle, anchorStyleProp, stableAnchorStyle, SymbioteHostPropsDirective, SymbioteStyleInputDirective, } from './shared';
4
6
  export declare class ViewHost extends SymbiotePrimitiveHost {
5
7
  static ɵfac: i0.ɵɵFactoryDeclaration<ViewHost, never>;
6
8
  static ɵcmp: i0.ɵɵComponentDeclaration<ViewHost, "symbiote-view, View", never, {}, {}, never, ["*"], true, never>;
7
9
  }
8
- export declare class TextHost extends SymbiotePrimitiveHost {
10
+ /**
11
+ * Text carries the two defaults RN's Text.js applies unconditionally (`ellipsizeMode ?? 'tail'`,
12
+ * `allowFontScaling !== false`, Text.js:288-291). Without them native falls back to `clip` and a
13
+ * clamped Text cuts mid-word with no ellipsis — device-observed on the other adapters 2026-08-19.
14
+ *
15
+ * They are declared as real `@Input()`s, unlike the pass-through props the base's comment
16
+ * describes, for one reason: the default can only be applied by code that can SEE whether the
17
+ * caller supplied a value. A host-binding pass-through is invisible here, so blindly writing
18
+ * 'tail' would silently overwrite an explicit `ellipsizeMode="clip"`.
19
+ */
20
+ export declare class TextHost extends SymbiotePrimitiveHost implements OnInit {
21
+ ellipsizeMode?: IEllipsizeMode;
22
+ allowFontScaling?: boolean;
23
+ ngOnInit(): void;
24
+ ngOnChanges(changes: SimpleChanges): void;
25
+ private applyTextDefaults;
9
26
  static ɵfac: i0.ɵɵFactoryDeclaration<TextHost, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<TextHost, "symbiote-text, Text", never, {}, {}, never, ["*"], true, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextHost, "symbiote-text, Text", never, { "ellipsizeMode": { "alias": "ellipsizeMode"; "required": false; }; "allowFontScaling": { "alias": "allowFontScaling"; "required": false; }; }, {}, never, ["*"], true, never>;
11
28
  }
12
29
  export declare class ImageHost extends SymbiotePrimitiveHost {
13
30
  static ɵfac: i0.ɵɵFactoryDeclaration<ImageHost, never>;
@@ -2,15 +2,16 @@
2
2
  // components that directly own the `symbiote-*` selectors; every composed adapter
3
3
  // component imports them and renders them in its template. Declaring `style` as a real
4
4
  // Angular input prevents Angular's CSS style engine from decomposing RN `StyleProp` arrays.
5
- import { Component } from '@angular/core';
5
+ import { Component, Input, } from '@angular/core';
6
+ import { resolveTextProps, } from '@symbiote-native/components';
6
7
  import { SymbiotePrimitiveHost } from './shared';
7
8
  import * as i0 from "@angular/core";
8
- export { anchorHostStyle, anchorStyleProp, stableAnchorStyle, SymbioteHostPropsDirective, } from './shared';
9
+ export { anchorHostStyle, anchorStyleProp, stableAnchorStyle, SymbioteHostPropsDirective, SymbioteStyleInputDirective, } from './shared';
9
10
  export class ViewHost extends SymbiotePrimitiveHost {
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
11
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ViewHost, isStandalone: true, selector: "symbiote-view, View", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ViewHost, isStandalone: true, selector: "symbiote-view, View", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
12
13
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ViewHost, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ViewHost, decorators: [{
14
15
  type: Component,
15
16
  args: [{
16
17
  selector: 'symbiote-view, View',
@@ -18,23 +19,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
18
19
  template: '<ng-content></ng-content>',
19
20
  }]
20
21
  }] });
22
+ /**
23
+ * Text carries the two defaults RN's Text.js applies unconditionally (`ellipsizeMode ?? 'tail'`,
24
+ * `allowFontScaling !== false`, Text.js:288-291). Without them native falls back to `clip` and a
25
+ * clamped Text cuts mid-word with no ellipsis — device-observed on the other adapters 2026-08-19.
26
+ *
27
+ * They are declared as real `@Input()`s, unlike the pass-through props the base's comment
28
+ * describes, for one reason: the default can only be applied by code that can SEE whether the
29
+ * caller supplied a value. A host-binding pass-through is invisible here, so blindly writing
30
+ * 'tail' would silently overwrite an explicit `ellipsizeMode="clip"`.
31
+ */
21
32
  export class TextHost extends SymbiotePrimitiveHost {
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TextHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: TextHost, isStandalone: true, selector: "symbiote-text, Text", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
33
+ ellipsizeMode;
34
+ allowFontScaling;
35
+ // ngOnChanges fires before ngOnInit when a binding exists, and not at all when none does —
36
+ // so both hooks are needed to guarantee the defaults land exactly once per settled value.
37
+ ngOnInit() {
38
+ this.applyTextDefaults();
39
+ }
40
+ ngOnChanges(changes) {
41
+ super.ngOnChanges(changes);
42
+ if ('ellipsizeMode' in changes || 'allowFontScaling' in changes) {
43
+ this.applyTextDefaults();
44
+ }
45
+ }
46
+ applyTextDefaults() {
47
+ const resolved = resolveTextProps({
48
+ ellipsizeMode: this.ellipsizeMode,
49
+ allowFontScaling: this.allowFontScaling,
50
+ });
51
+ this.setHostProp('ellipsizeMode', resolved.ellipsizeMode);
52
+ this.setHostProp('allowFontScaling', resolved.allowFontScaling);
53
+ }
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TextHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
55
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: TextHost, isStandalone: true, selector: "symbiote-text, Text", inputs: { ellipsizeMode: "ellipsizeMode", allowFontScaling: "allowFontScaling" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
24
56
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TextHost, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TextHost, decorators: [{
26
58
  type: Component,
27
59
  args: [{
28
60
  selector: 'symbiote-text, Text',
29
61
  standalone: true,
30
62
  template: '<ng-content></ng-content>',
31
63
  }]
32
- }] });
64
+ }], propDecorators: { ellipsizeMode: [{
65
+ type: Input
66
+ }], allowFontScaling: [{
67
+ type: Input
68
+ }] } });
33
69
  export class ImageHost extends SymbiotePrimitiveHost {
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ImageHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ImageHost, isStandalone: true, selector: "symbiote-image", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ImageHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ImageHost, isStandalone: true, selector: "symbiote-image", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
36
72
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ImageHost, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ImageHost, decorators: [{
38
74
  type: Component,
39
75
  args: [{
40
76
  selector: 'symbiote-image',
@@ -43,10 +79,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
43
79
  }]
44
80
  }] });
45
81
  export class ScrollViewHost extends SymbiotePrimitiveHost {
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
47
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ScrollViewHost, isStandalone: true, selector: "symbiote-scroll-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
82
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
83
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ScrollViewHost, isStandalone: true, selector: "symbiote-scroll-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
48
84
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollViewHost, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollViewHost, decorators: [{
50
86
  type: Component,
51
87
  args: [{
52
88
  selector: 'symbiote-scroll-view',
@@ -55,10 +91,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
55
91
  }]
56
92
  }] });
57
93
  export class ScrollContentView extends SymbiotePrimitiveHost {
58
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollContentView, deps: null, target: i0.ɵɵFactoryTarget.Component });
59
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ScrollContentView, isStandalone: true, selector: "symbiote-scroll-content", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
94
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollContentView, deps: null, target: i0.ɵɵFactoryTarget.Component });
95
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ScrollContentView, isStandalone: true, selector: "symbiote-scroll-content", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
60
96
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollContentView, decorators: [{
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollContentView, decorators: [{
62
98
  type: Component,
63
99
  args: [{
64
100
  selector: 'symbiote-scroll-content',
@@ -67,10 +103,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
67
103
  }]
68
104
  }] });
69
105
  export class HorizontalScrollView extends SymbiotePrimitiveHost {
70
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: HorizontalScrollView, deps: null, target: i0.ɵɵFactoryTarget.Component });
71
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: HorizontalScrollView, isStandalone: true, selector: "symbiote-horizontal-scroll-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: HorizontalScrollView, deps: null, target: i0.ɵɵFactoryTarget.Component });
107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: HorizontalScrollView, isStandalone: true, selector: "symbiote-horizontal-scroll-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
72
108
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: HorizontalScrollView, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: HorizontalScrollView, decorators: [{
74
110
  type: Component,
75
111
  args: [{
76
112
  selector: 'symbiote-horizontal-scroll-view',
@@ -79,10 +115,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
79
115
  }]
80
116
  }] });
81
117
  export class HorizontalScrollContentView extends SymbiotePrimitiveHost {
82
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: HorizontalScrollContentView, deps: null, target: i0.ɵɵFactoryTarget.Component });
83
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: HorizontalScrollContentView, isStandalone: true, selector: "symbiote-horizontal-scroll-content", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
118
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: HorizontalScrollContentView, deps: null, target: i0.ɵɵFactoryTarget.Component });
119
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: HorizontalScrollContentView, isStandalone: true, selector: "symbiote-horizontal-scroll-content", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
84
120
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: HorizontalScrollContentView, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: HorizontalScrollContentView, decorators: [{
86
122
  type: Component,
87
123
  args: [{
88
124
  selector: 'symbiote-horizontal-scroll-content',
@@ -91,10 +127,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
91
127
  }]
92
128
  }] });
93
129
  export class TextInputHost extends SymbiotePrimitiveHost {
94
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TextInputHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
95
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: TextInputHost, isStandalone: true, selector: "symbiote-text-input", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
130
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TextInputHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
131
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: TextInputHost, isStandalone: true, selector: "symbiote-text-input", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
96
132
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: TextInputHost, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TextInputHost, decorators: [{
98
134
  type: Component,
99
135
  args: [{
100
136
  selector: 'symbiote-text-input',
@@ -103,10 +139,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
103
139
  }]
104
140
  }] });
105
141
  export class MultilineTextInputHost extends SymbiotePrimitiveHost {
106
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MultilineTextInputHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
107
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: MultilineTextInputHost, isStandalone: true, selector: "symbiote-text-input-multiline", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
142
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MultilineTextInputHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
143
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: MultilineTextInputHost, isStandalone: true, selector: "symbiote-text-input-multiline", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
108
144
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MultilineTextInputHost, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MultilineTextInputHost, decorators: [{
110
146
  type: Component,
111
147
  args: [{
112
148
  selector: 'symbiote-text-input-multiline',
@@ -115,10 +151,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
115
151
  }]
116
152
  }] });
117
153
  export class SwitchHost extends SymbiotePrimitiveHost {
118
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SwitchHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
119
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: SwitchHost, isStandalone: true, selector: "symbiote-switch", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
154
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SwitchHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
155
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: SwitchHost, isStandalone: true, selector: "symbiote-switch", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
120
156
  }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SwitchHost, decorators: [{
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SwitchHost, decorators: [{
122
158
  type: Component,
123
159
  args: [{
124
160
  selector: 'symbiote-switch',
@@ -127,10 +163,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
127
163
  }]
128
164
  }] });
129
165
  export class ActivityIndicatorHost extends SymbiotePrimitiveHost {
130
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ActivityIndicatorHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
131
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ActivityIndicatorHost, isStandalone: true, selector: "symbiote-activity-indicator", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
166
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ActivityIndicatorHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
167
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ActivityIndicatorHost, isStandalone: true, selector: "symbiote-activity-indicator", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
132
168
  }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ActivityIndicatorHost, decorators: [{
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ActivityIndicatorHost, decorators: [{
134
170
  type: Component,
135
171
  args: [{
136
172
  selector: 'symbiote-activity-indicator',
@@ -139,10 +175,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
139
175
  }]
140
176
  }] });
141
177
  export class SafeAreaViewHost extends SymbiotePrimitiveHost {
142
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SafeAreaViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
143
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: SafeAreaViewHost, isStandalone: true, selector: "symbiote-safe-area-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
178
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SafeAreaViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
179
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: SafeAreaViewHost, isStandalone: true, selector: "symbiote-safe-area-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
144
180
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SafeAreaViewHost, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SafeAreaViewHost, decorators: [{
146
182
  type: Component,
147
183
  args: [{
148
184
  selector: 'symbiote-safe-area-view',
@@ -151,10 +187,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
151
187
  }]
152
188
  }] });
153
189
  export class ModalHost extends SymbiotePrimitiveHost {
154
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ModalHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
155
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ModalHost, isStandalone: true, selector: "symbiote-modal", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
190
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ModalHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
191
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ModalHost, isStandalone: true, selector: "symbiote-modal", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
156
192
  }
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ModalHost, decorators: [{
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ModalHost, decorators: [{
158
194
  type: Component,
159
195
  args: [{
160
196
  selector: 'symbiote-modal',
@@ -163,10 +199,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
163
199
  }]
164
200
  }] });
165
201
  export class RefreshControlHost extends SymbiotePrimitiveHost {
166
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: RefreshControlHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
167
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: RefreshControlHost, isStandalone: true, selector: "symbiote-refresh-control", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
202
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: RefreshControlHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
203
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: RefreshControlHost, isStandalone: true, selector: "symbiote-refresh-control", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
168
204
  }
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: RefreshControlHost, decorators: [{
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: RefreshControlHost, decorators: [{
170
206
  type: Component,
171
207
  args: [{
172
208
  selector: 'symbiote-refresh-control',
@@ -175,10 +211,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
175
211
  }]
176
212
  }] });
177
213
  export class InputAccessoryViewHost extends SymbiotePrimitiveHost {
178
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InputAccessoryViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
179
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: InputAccessoryViewHost, isStandalone: true, selector: "symbiote-input-accessory-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
214
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: InputAccessoryViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
215
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: InputAccessoryViewHost, isStandalone: true, selector: "symbiote-input-accessory-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
180
216
  }
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InputAccessoryViewHost, decorators: [{
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: InputAccessoryViewHost, decorators: [{
182
218
  type: Component,
183
219
  args: [{
184
220
  selector: 'symbiote-input-accessory-view',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primitives/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primitives/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ElementRef, type OnChanges, type SimpleChanges } from '@angular/core';
1
+ import { type DoCheck, ElementRef, type OnChanges, type SimpleChanges } from '@angular/core';
2
2
  import { type IHostInstance, type IStyleProp } from '@symbiote-native/engine';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
@@ -42,6 +42,43 @@ export declare function anchorStyleProp<T>(elementRef: ElementRef<unknown>): ISt
42
42
  * `@Input() style` binding sees NO change and skips its own update on an unrelated tick.
43
43
  */
44
44
  export declare function stableAnchorStyle(elementRef: ElementRef<unknown>, explicitStyle: unknown, previous: unknown): Record<string, unknown>;
45
+ /**
46
+ * Restores the OnPush dirty-marking Angular skips for a `[style]` binding that a directive
47
+ * declares as an input. Attach it to any component declaring a `style` input:
48
+ * `hostDirectives: [{ directive: SymbioteStyleInputDirective, inputs: ['style'] }]`.
49
+ *
50
+ * An ordinary `[foo]` binding compiles to `ɵɵproperty` -> `setPropertyAndInputs`, whose last act
51
+ * for a component host is `markDirtyIfOnPush` (`render3/instructions/shared.ts`) — the flag
52
+ * `detectChangesInView` needs before it will re-execute a non-CheckAlways view. `[style]` and
53
+ * `[class]` do NOT take that path: they compile to the styling instructions, which on finding a
54
+ * directive input of the same name hand off to `setDirectiveInputsWhichShadowsStyling`
55
+ * (`render3/instructions/property.ts`) — two lines that write the input and stop. No dirty flag.
56
+ * The input lands and `ngOnChanges` fires, but the receiving component's own template, and every
57
+ * getter it reads, is frozen at its creation value. Verified against @angular/core 22.0.8.
58
+ *
59
+ * Symbiote sits squarely on that gap: every composed component declares `style` as a real
60
+ * `@Input()` on purpose, because a raw `[style]` binding would otherwise be decomposed key by key
61
+ * by Angular's CSS style engine, which cannot represent an RN StyleProp array or an Animated value
62
+ * (see `SymbiotePrimitiveHost` above). So the one binding name Angular forgets to mark is the one
63
+ * carrying the whole styling surface.
64
+ *
65
+ * `markForCheck()` here is exactly the skipped `markDirtyIfOnPush`, not a bigger hammer: the write
66
+ * happens inside the parent's refresh, and `markViewDirty` uses the `Dirty` bit alone while views
67
+ * are refreshing (`render3/instructions/mark_view_dirty.ts`), which the ancestors then clear at the
68
+ * end of their own `refreshView`. A component that already bridges its inputs into a signal (the
69
+ * `inputsRevision` + `computed` pattern — Pressable, ScrollView) is immune on its own, since a
70
+ * signal write dirties the template consumer, which `detectChangesInView` honors in any mode.
71
+ */
72
+ export declare class SymbioteStyleInputDirective implements DoCheck, OnChanges {
73
+ private readonly cdr;
74
+ private readonly elementRef;
75
+ private lastAnchorStyle;
76
+ style?: unknown;
77
+ ngOnChanges(): void;
78
+ ngDoCheck(): void;
79
+ static ɵfac: i0.ɵɵFactoryDeclaration<SymbioteStyleInputDirective, never>;
80
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SymbioteStyleInputDirective, "[symbioteStyleInput]", never, { "style": { "alias": "style"; "required": false; }; }, {}, never, never, true, never>;
81
+ }
45
82
  /**
46
83
  * Base for all Angular primitive host components (`symbiote-view`, `symbiote-text`, ...).
47
84
  * RN's `StyleProp` can be an object, an array, nested arrays, falsy entries, and Animated
@@ -54,9 +91,10 @@ export declare function stableAnchorStyle(elementRef: ElementRef<unknown>, expli
54
91
  * Angular then treats them as host property bindings and still dispatches them through the
55
92
  * custom renderer's `setProperty`, so the engine's `routeProp` handles them as usual.
56
93
  */
57
- export declare abstract class SymbiotePrimitiveHost implements OnChanges {
94
+ export declare abstract class SymbiotePrimitiveHost implements DoCheck, OnChanges {
58
95
  private readonly renderer;
59
96
  private readonly elementRef;
97
+ ngDoCheck(): void;
60
98
  style?: IStyleProp<unknown>;
61
99
  /**
62
100
  * The underlying engine host node (public instance). Exposed so `findNodeHandle` can resolve
@@ -64,6 +102,12 @@ export declare abstract class SymbiotePrimitiveHost implements OnChanges {
64
102
  */
65
103
  get nativeElement(): IHostInstance;
66
104
  ngOnChanges(changes: SimpleChanges): void;
105
+ /**
106
+ * Push one resolved prop onto the host element. `protected` rather than exposing the injected
107
+ * Renderer2/ElementRef, so a subclass applying its own defaults (TextHost) uses the same single
108
+ * write path this base already uses for `style`.
109
+ */
110
+ protected setHostProp(key: string, value: unknown): void;
67
111
  static ɵfac: i0.ɵɵFactoryDeclaration<SymbiotePrimitiveHost, never>;
68
112
  static ɵdir: i0.ɵɵDirectiveDeclaration<SymbiotePrimitiveHost, never, never, { "style": { "alias": "style"; "required": false; }; }, {}, never, never, true, never>;
69
113
  }
@@ -80,6 +124,8 @@ export declare class SymbioteHostPropsDirective {
80
124
  private readonly renderer;
81
125
  private readonly elementRef;
82
126
  private readonly cdr;
127
+ private readonly wrappers;
128
+ private pushed;
83
129
  get node(): unknown;
84
130
  set symbioteHostProps(props: Record<string, unknown>);
85
131
  private wrapCallback;