@symbiote-native/angular 2.0.1 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +5 -4
  2. package/babel-register-composed.cjs +0 -8
  3. package/build/angular/callback-host.d.ts +25 -0
  4. package/build/angular/callback-host.js +211 -0
  5. package/build/angular/callback-host.js.map +1 -0
  6. package/build/angular/change-detection-flush.d.ts +14 -2
  7. package/build/angular/change-detection-flush.js +54 -6
  8. package/build/angular/change-detection-flush.js.map +1 -1
  9. package/build/angular/components/flat-list/index.js +39 -86
  10. package/build/angular/components/flat-list/index.js.map +1 -1
  11. package/build/angular/components/image-shared.js +49 -110
  12. package/build/angular/components/image-shared.js.map +1 -1
  13. package/build/angular/components/keyboard-avoiding-view/index.js +33 -72
  14. package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
  15. package/build/angular/components/modal/index.js +58 -103
  16. package/build/angular/components/modal/index.js.map +1 -1
  17. package/build/angular/components/pressable-props.d.ts +2 -0
  18. package/build/angular/components/section-list/index.js +20 -103
  19. package/build/angular/components/section-list/index.js.map +1 -1
  20. package/build/angular/components/touchable-props.d.ts +1 -0
  21. package/build/angular/components/virtualized-list/directives.js +32 -22
  22. package/build/angular/components/virtualized-list/directives.js.map +1 -1
  23. package/build/angular/components/virtualized-list/index.d.ts +7 -1
  24. package/build/angular/components/virtualized-list/index.js +350 -359
  25. package/build/angular/components/virtualized-list/index.js.map +1 -1
  26. package/build/angular/components/virtualized-section-list/directives.js +20 -12
  27. package/build/angular/components/virtualized-section-list/directives.js.map +1 -1
  28. package/build/angular/components/virtualized-section-list/index.js +36 -142
  29. package/build/angular/components/virtualized-section-list/index.js.map +1 -1
  30. package/build/angular/components.d.ts +1 -1
  31. package/build/angular/components.js +1 -1
  32. package/build/angular/components.js.map +1 -1
  33. package/build/angular/create-portal/index.js +9 -8
  34. package/build/angular/create-portal/index.js.map +1 -1
  35. package/build/angular/create-tunnel/index.js +13 -12
  36. package/build/angular/create-tunnel/index.js.map +1 -1
  37. package/build/angular/descriptor-to-angular/index.js +6 -6
  38. package/build/angular/descriptor-to-angular/index.js.map +1 -1
  39. package/build/angular/diagnostics.d.ts +13 -0
  40. package/build/angular/diagnostics.js +18 -0
  41. package/build/angular/diagnostics.js.map +1 -1
  42. package/build/angular/element-props.d.ts +1 -3
  43. package/build/angular/elements.d.ts +46 -32
  44. package/build/angular/elements.js +217 -434
  45. package/build/angular/elements.js.map +1 -1
  46. package/build/angular/index.d.ts +3 -1
  47. package/build/angular/index.js +44 -13
  48. package/build/angular/index.js.map +1 -1
  49. package/build/angular/modules/animated/animated-leaf-binder.js +0 -2
  50. package/build/angular/modules/animated/animated-leaf-binder.js.map +1 -1
  51. package/build/angular/modules/animated/create-animated-component.js +69 -74
  52. package/build/angular/modules/animated/create-animated-component.js.map +1 -1
  53. package/build/angular/modules/animated/index.d.ts +30 -19
  54. package/build/angular/modules/status-bar/index.js +2 -8
  55. package/build/angular/modules/status-bar/index.js.map +1 -1
  56. package/build/angular/primitives/index.d.ts +14 -28
  57. package/build/angular/primitives/index.js +44 -107
  58. package/build/angular/primitives/index.js.map +1 -1
  59. package/build/angular/primitives/shared.d.ts +1 -0
  60. package/build/angular/primitives/shared.js +47 -32
  61. package/build/angular/primitives/shared.js.map +1 -1
  62. package/build/angular/render/index.js +40 -3
  63. package/build/angular/render/index.js.map +1 -1
  64. package/build/angular/renderer/index.d.ts +80 -0
  65. package/build/angular/renderer/index.js +324 -114
  66. package/build/angular/renderer/index.js.map +1 -1
  67. package/build/angular/runtime-matching.d.ts +9 -0
  68. package/build/angular/runtime-matching.js +82 -0
  69. package/build/angular/runtime-matching.js.map +1 -0
  70. package/build/angular/services/color-scheme.service.js +4 -4
  71. package/build/angular/services/color-scheme.service.js.map +1 -1
  72. package/build/angular/services/window-dimensions.service.js +4 -4
  73. package/build/angular/services/window-dimensions.service.js.map +1 -1
  74. package/build/angular/style-host.d.ts +11 -0
  75. package/build/angular/style-host.js +86 -0
  76. package/build/angular/style-host.js.map +1 -0
  77. package/package.json +6 -6
  78. package/src/callback-host.ts +229 -0
  79. package/src/change-detection-flush.ts +62 -9
  80. package/src/components/flat-list/index.ts +2 -1
  81. package/src/components/keyboard-avoiding-view/index.ts +8 -0
  82. package/src/components/pressable-props.ts +8 -0
  83. package/src/components/touchable-props.ts +4 -0
  84. package/src/components/virtualized-list/index.ts +98 -45
  85. package/src/components.ts +0 -2
  86. package/src/diagnostics.ts +18 -0
  87. package/src/element-props.ts +1 -5
  88. package/src/elements.ts +159 -38
  89. package/src/index.ts +47 -14
  90. package/src/primitives/index.ts +14 -70
  91. package/src/primitives/shared.ts +21 -6
  92. package/src/render/index.ts +56 -2
  93. package/src/renderer/index.ts +378 -104
  94. package/src/runtime-matching.ts +80 -0
  95. package/src/style-host.ts +94 -0
  96. package/tsconfig.angular.base.json +11 -0
@@ -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,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
+ {"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;IAQtB,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;8GArBG,kBAAkB;kGAAlB,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,5 +1,3 @@
1
- import { type OnInit, type SimpleChanges } from '@angular/core';
2
- import { type IEllipsizeMode } from '@symbiote-native/components';
3
1
  import { SymbiotePrimitiveHost } from './shared';
4
2
  import * as i0 from "@angular/core";
5
3
  export { anchorHostStyle, anchorStyleProp, stableAnchorStyle, SymbioteHostPropsDirective, SymbioteStyleInputDirective, } from './shared';
@@ -8,23 +6,23 @@ export declare class ViewHost extends SymbiotePrimitiveHost {
8
6
  static ɵcmp: i0.ɵɵComponentDeclaration<ViewHost, "view", never, {}, {}, never, ["*"], true, never>;
9
7
  }
10
8
  /**
11
- * Text carries the two defaults RN's Text.js applies unconditionally (`ellipsizeMode ?? 'tail'`,
12
- * `allowFontScaling !== false`, Text.js:289 and :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.
9
+ * Text is an ORDINARY primitive host as of 2026-09-18, and the two `@Input()`s it used to declare
10
+ * are gone with the code that needed them.
14
11
  *
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"`.
12
+ * They existed for one stated reason: a default can only be applied by code that can SEE whether the
13
+ * caller supplied a value, and a pass-through host binding is invisible to the component so the
14
+ * defaults had to be applied where the inputs were readable. That argument was sound and it is now
15
+ * answered one layer down. The payload builder reads the AUTHORED bag, so it can tell an absent
16
+ * `ellipsizeMode` from an explicit `clip` without anyone declaring anything; the rule is keyed on the
17
+ * component (`foldTextDefaults`, `SymbioteFabricProps.cpp`) and reaches every `RCTText` however it
18
+ * was spelled.
19
+ *
20
+ * The pass-through is therefore the CORRECT path for both props now, and `text-defaults.test.ts`'s
21
+ * "never overwrites a value the caller supplied" is what proves the authored value still arrives.
19
22
  */
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;
23
+ export declare class TextHost extends SymbiotePrimitiveHost {
26
24
  static ɵfac: i0.ɵɵFactoryDeclaration<TextHost, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<TextHost, "text", never, { "ellipsizeMode": { "alias": "ellipsizeMode"; "required": false; }; "allowFontScaling": { "alias": "allowFontScaling"; "required": false; }; }, {}, never, ["*"], true, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextHost, "text", never, {}, {}, never, ["*"], true, never>;
28
26
  }
29
27
  export declare class ImageHost extends SymbiotePrimitiveHost {
30
28
  static ɵfac: i0.ɵɵFactoryDeclaration<ImageHost, never>;
@@ -54,22 +52,10 @@ export declare class MultilineTextInputHost extends SymbiotePrimitiveHost {
54
52
  static ɵfac: i0.ɵɵFactoryDeclaration<MultilineTextInputHost, never>;
55
53
  static ɵcmp: i0.ɵɵComponentDeclaration<MultilineTextInputHost, "text-input-multiline", never, {}, {}, never, ["*"], true, never>;
56
54
  }
57
- export declare class ManagedTextInputHost extends SymbiotePrimitiveHost {
58
- static ɵfac: i0.ɵɵFactoryDeclaration<ManagedTextInputHost, never>;
59
- static ɵcmp: i0.ɵɵComponentDeclaration<ManagedTextInputHost, "text-input-managed", never, {}, {}, never, ["*"], true, never>;
60
- }
61
- export declare class ManagedMultilineTextInputHost extends SymbiotePrimitiveHost {
62
- static ɵfac: i0.ɵɵFactoryDeclaration<ManagedMultilineTextInputHost, never>;
63
- static ɵcmp: i0.ɵɵComponentDeclaration<ManagedMultilineTextInputHost, "text-input-multiline-managed", never, {}, {}, never, ["*"], true, never>;
64
- }
65
55
  export declare class SwitchHost extends SymbiotePrimitiveHost {
66
56
  static ɵfac: i0.ɵɵFactoryDeclaration<SwitchHost, never>;
67
57
  static ɵcmp: i0.ɵɵComponentDeclaration<SwitchHost, "switch", never, {}, {}, never, ["*"], true, never>;
68
58
  }
69
- export declare class ManagedSwitchHost extends SymbiotePrimitiveHost {
70
- static ɵfac: i0.ɵɵFactoryDeclaration<ManagedSwitchHost, never>;
71
- static ɵcmp: i0.ɵɵComponentDeclaration<ManagedSwitchHost, "switch-managed", never, {}, {}, never, ["*"], true, never>;
72
- }
73
59
  export declare class ActivityIndicatorHost extends SymbiotePrimitiveHost {
74
60
  static ɵfac: i0.ɵɵFactoryDeclaration<ActivityIndicatorHost, never>;
75
61
  static ɵcmp: i0.ɵɵComponentDeclaration<ActivityIndicatorHost, "activity-indicator", never, {}, {}, never, ["*"], true, never>;
@@ -2,14 +2,13 @@
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, Input, } from '@angular/core';
6
- import { resolveTextProps, } from '@symbiote-native/components';
5
+ import { Component } from '@angular/core';
7
6
  import { SymbiotePrimitiveHost } from './shared';
8
7
  import * as i0 from "@angular/core";
9
8
  export { anchorHostStyle, anchorStyleProp, stableAnchorStyle, SymbioteHostPropsDirective, SymbioteStyleInputDirective, } from './shared';
10
9
  export class ViewHost extends SymbiotePrimitiveHost {
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: "view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ViewHost, isStandalone: true, selector: "view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
13
12
  }
14
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ViewHost, decorators: [{
15
14
  type: Component,
@@ -20,39 +19,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
20
19
  }]
21
20
  }] });
22
21
  /**
23
- * Text carries the two defaults RN's Text.js applies unconditionally (`ellipsizeMode ?? 'tail'`,
24
- * `allowFontScaling !== false`, Text.js:289 and :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.
22
+ * Text is an ORDINARY primitive host as of 2026-09-18, and the two `@Input()`s it used to declare
23
+ * are gone with the code that needed them.
26
24
  *
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"`.
25
+ * They existed for one stated reason: a default can only be applied by code that can SEE whether the
26
+ * caller supplied a value, and a pass-through host binding is invisible to the component so the
27
+ * defaults had to be applied where the inputs were readable. That argument was sound and it is now
28
+ * answered one layer down. The payload builder reads the AUTHORED bag, so it can tell an absent
29
+ * `ellipsizeMode` from an explicit `clip` without anyone declaring anything; the rule is keyed on the
30
+ * component (`foldTextDefaults`, `SymbioteFabricProps.cpp`) and reaches every `RCTText` however it
31
+ * was spelled.
32
+ *
33
+ * The pass-through is therefore the CORRECT path for both props now, and `text-defaults.test.ts`'s
34
+ * "never overwrites a value the caller supplied" is what proves the authored value still arrives.
31
35
  */
32
36
  export class TextHost extends SymbiotePrimitiveHost {
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: "text", inputs: { ellipsizeMode: "ellipsizeMode", allowFontScaling: "allowFontScaling" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TextHost, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: TextHost, isStandalone: true, selector: "text", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
56
39
  }
57
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TextHost, decorators: [{
58
41
  type: Component,
@@ -61,14 +44,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
61
44
  standalone: true,
62
45
  template: '<ng-content></ng-content>',
63
46
  }]
64
- }], propDecorators: { ellipsizeMode: [{
65
- type: Input
66
- }], allowFontScaling: [{
67
- type: Input
68
- }] } });
47
+ }] });
69
48
  export class ImageHost extends SymbiotePrimitiveHost {
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: "image", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ImageHost, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ImageHost, isStandalone: true, selector: "image", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
72
51
  }
73
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ImageHost, decorators: [{
74
53
  type: Component,
@@ -79,8 +58,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
79
58
  }]
80
59
  }] });
81
60
  export class ScrollViewHost extends SymbiotePrimitiveHost {
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: "scroll-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ScrollViewHost, isStandalone: true, selector: "scroll-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
84
63
  }
85
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollViewHost, decorators: [{
86
65
  type: Component,
@@ -91,8 +70,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
91
70
  }]
92
71
  }] });
93
72
  export class ScrollContentView extends SymbiotePrimitiveHost {
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: "scroll-content", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollContentView, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ScrollContentView, isStandalone: true, selector: "scroll-content", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
96
75
  }
97
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollContentView, decorators: [{
98
77
  type: Component,
@@ -103,8 +82,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
103
82
  }]
104
83
  }] });
105
84
  export class HorizontalScrollView extends SymbiotePrimitiveHost {
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: "horizontal-scroll-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: HorizontalScrollView, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: HorizontalScrollView, isStandalone: true, selector: "horizontal-scroll-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
108
87
  }
109
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: HorizontalScrollView, decorators: [{
110
89
  type: Component,
@@ -115,8 +94,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
115
94
  }]
116
95
  }] });
117
96
  export class HorizontalScrollContentView extends SymbiotePrimitiveHost {
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: "horizontal-scroll-content", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: HorizontalScrollContentView, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: HorizontalScrollContentView, isStandalone: true, selector: "horizontal-scroll-content", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
120
99
  }
121
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: HorizontalScrollContentView, decorators: [{
122
101
  type: Component,
@@ -126,12 +105,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
126
105
  template: '<ng-content></ng-content>',
127
106
  }]
128
107
  }] });
129
- // The pair the LOWERED path commits — declared so the tag alphabet stays complete, though no
130
- // Angular template renders them: this adapter has no lowering transform. The `-managed` pair below
131
- // is what its own TextInput renders.
132
108
  export class TextInputHost extends SymbiotePrimitiveHost {
133
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TextInputHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
134
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: TextInputHost, isStandalone: true, selector: "text-input", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TextInputHost, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: TextInputHost, isStandalone: true, selector: "text-input", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
135
111
  }
136
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TextInputHost, decorators: [{
137
113
  type: Component,
@@ -142,8 +118,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
142
118
  }]
143
119
  }] });
144
120
  export class MultilineTextInputHost extends SymbiotePrimitiveHost {
145
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MultilineTextInputHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
146
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: MultilineTextInputHost, isStandalone: true, selector: "text-input-multiline", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MultilineTextInputHost, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: MultilineTextInputHost, isStandalone: true, selector: "text-input-multiline", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
147
123
  }
148
124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: MultilineTextInputHost, decorators: [{
149
125
  type: Component,
@@ -153,33 +129,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
153
129
  template: '<ng-content></ng-content>',
154
130
  }]
155
131
  }] });
156
- export class ManagedTextInputHost extends SymbiotePrimitiveHost {
157
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ManagedTextInputHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
158
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ManagedTextInputHost, isStandalone: true, selector: "text-input-managed", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
159
- }
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ManagedTextInputHost, decorators: [{
161
- type: Component,
162
- args: [{
163
- selector: 'text-input-managed',
164
- standalone: true,
165
- template: '<ng-content></ng-content>',
166
- }]
167
- }] });
168
- export class ManagedMultilineTextInputHost extends SymbiotePrimitiveHost {
169
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ManagedMultilineTextInputHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
170
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ManagedMultilineTextInputHost, isStandalone: true, selector: "text-input-multiline-managed", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
171
- }
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ManagedMultilineTextInputHost, decorators: [{
173
- type: Component,
174
- args: [{
175
- selector: 'text-input-multiline-managed',
176
- standalone: true,
177
- template: '<ng-content></ng-content>',
178
- }]
179
- }] });
180
132
  export class SwitchHost extends SymbiotePrimitiveHost {
181
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SwitchHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
182
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: SwitchHost, isStandalone: true, selector: "switch", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SwitchHost, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: SwitchHost, isStandalone: true, selector: "switch", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
183
135
  }
184
136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SwitchHost, decorators: [{
185
137
  type: Component,
@@ -189,28 +141,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
189
141
  template: '<ng-content></ng-content>',
190
142
  }]
191
143
  }] });
192
- // The component path's spelling — same native Switch/AndroidSwitch, a tag the engine's Switch
193
- // behavior does not carry. See `component-names/shared.ts` for why the wrapper may not share the
194
- // lowered tag; mirrors `ManagedTextInputHost` above.
195
- export class ManagedSwitchHost extends SymbiotePrimitiveHost {
196
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ManagedSwitchHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
197
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ManagedSwitchHost, isStandalone: true, selector: "switch-managed", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
198
- }
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ManagedSwitchHost, decorators: [{
200
- type: Component,
201
- args: [{
202
- selector: 'switch-managed',
203
- standalone: true,
204
- template: '<ng-content></ng-content>',
205
- }]
206
- }] });
207
144
  // The centering RCTView RN wraps the spinner in (ActivityIndicator.js:112), not the spinner —
208
145
  // which is what this tag resolved to until 2026-09-09. The native view moved to
209
146
  // `activity-indicator-spinner`, built by the engine's ActivityIndicator behavior, so nothing writes
210
147
  // it in a template and it needs no host here.
211
148
  export class ActivityIndicatorHost extends SymbiotePrimitiveHost {
212
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ActivityIndicatorHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
213
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ActivityIndicatorHost, isStandalone: true, selector: "activity-indicator", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
149
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ActivityIndicatorHost, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
150
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ActivityIndicatorHost, isStandalone: true, selector: "activity-indicator", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
214
151
  }
215
152
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ActivityIndicatorHost, decorators: [{
216
153
  type: Component,
@@ -221,8 +158,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
221
158
  }]
222
159
  }] });
223
160
  export class SafeAreaViewHost extends SymbiotePrimitiveHost {
224
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SafeAreaViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
225
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: SafeAreaViewHost, isStandalone: true, selector: "safe-area-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SafeAreaViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
162
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: SafeAreaViewHost, isStandalone: true, selector: "safe-area-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
226
163
  }
227
164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SafeAreaViewHost, decorators: [{
228
165
  type: Component,
@@ -233,8 +170,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
233
170
  }]
234
171
  }] });
235
172
  export class ModalHost extends SymbiotePrimitiveHost {
236
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ModalHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
237
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ModalHost, isStandalone: true, selector: "modal", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
173
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ModalHost, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
174
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: ModalHost, isStandalone: true, selector: "modal", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
238
175
  }
239
176
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ModalHost, decorators: [{
240
177
  type: Component,
@@ -245,8 +182,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
245
182
  }]
246
183
  }] });
247
184
  export class RefreshControlHost extends SymbiotePrimitiveHost {
248
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: RefreshControlHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
249
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: RefreshControlHost, isStandalone: true, selector: "refresh-control", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
185
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: RefreshControlHost, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
186
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: RefreshControlHost, isStandalone: true, selector: "refresh-control", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
250
187
  }
251
188
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: RefreshControlHost, decorators: [{
252
189
  type: Component,
@@ -257,8 +194,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
257
194
  }]
258
195
  }] });
259
196
  export class InputAccessoryViewHost extends SymbiotePrimitiveHost {
260
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: InputAccessoryViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component });
261
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: InputAccessoryViewHost, isStandalone: true, selector: "input-accessory-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: InputAccessoryViewHost, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
198
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: InputAccessoryViewHost, isStandalone: true, selector: "input-accessory-view", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
262
199
  }
263
200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: InputAccessoryViewHost, decorators: [{
264
201
  type: Component,
@@ -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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"}
@@ -125,6 +125,7 @@ export declare class SymbioteHostPropsDirective {
125
125
  private readonly elementRef;
126
126
  private readonly cdr;
127
127
  private readonly wrapCallback;
128
+ private registerMarkerAndWrap;
128
129
  private pushed;
129
130
  get node(): unknown;
130
131
  set symbioteHostProps(props: Record<string, unknown>);
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectorRef, Directive, ElementRef, inject, Input, Renderer2, } from '@angular/core';
2
2
  import { countAngular } from '../diagnostics';
3
- import { createCallbackWrapper } from '../change-detection-flush';
4
- import { flattenStyle, isSymbioteNode, } from '@symbiote-native/engine';
3
+ import { createCallbackWrapper, registerViewMarker, } from '../change-detection-flush';
4
+ import { flattenStyle, isSymbioteNode, propOf, } from '@symbiote-native/engine';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
7
7
  * A composed Angular component (Pressable, SafeAreaView, ScrollView, ...) is created as a
@@ -28,7 +28,7 @@ import * as i0 from "@angular/core";
28
28
  */
29
29
  export function anchorHostStyle(elementRef) {
30
30
  const node = elementRef.nativeElement;
31
- return isSymbioteNode(node) ? node.props.style : undefined;
31
+ return isSymbioteNode(node) ? propOf(node, 'style') : undefined;
32
32
  }
33
33
  // anchorHostStyle returns `unknown` (it reads whatever already resolved onto the anchor node's
34
34
  // props bag); a style prop's fields are all optional so any object structurally satisfies it —
@@ -106,12 +106,12 @@ export function stableAnchorStyle(elementRef, explicitStyle, previous) {
106
106
  * signal write dirties the template consumer, which `detectChangesInView` honors in any mode.
107
107
  */
108
108
  export class SymbioteStyleInputDirective {
109
- cdr = inject(ChangeDetectorRef);
110
- // A host directive's ElementRef is the HOST COMPONENT's element - i.e. exactly the anchor a
111
- // `class=` at the use site resolves onto.
112
- elementRef = inject(ElementRef);
113
- lastAnchorStyle;
114
- style;
109
+ constructor() {
110
+ this.cdr = inject(ChangeDetectorRef);
111
+ // A host directive's ElementRef is the HOST COMPONENT's element - i.e. exactly the anchor a
112
+ // `class=` at the use site resolves onto.
113
+ this.elementRef = inject(ElementRef);
114
+ }
115
115
  ngOnChanges() {
116
116
  this.cdr.markForCheck();
117
117
  }
@@ -132,8 +132,8 @@ export class SymbioteStyleInputDirective {
132
132
  countAngular('styleMarks');
133
133
  this.cdr.markForCheck();
134
134
  }
135
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbioteStyleInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
136
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SymbioteStyleInputDirective, isStandalone: true, selector: "[symbioteStyleInput]", inputs: { style: "style" }, usesOnChanges: true, ngImport: i0 });
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbioteStyleInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
136
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SymbioteStyleInputDirective, isStandalone: true, selector: "[symbioteStyleInput]", inputs: { style: "style" }, usesOnChanges: true, ngImport: i0 }); }
137
137
  }
138
138
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbioteStyleInputDirective, decorators: [{
139
139
  type: Directive,
@@ -164,15 +164,16 @@ function isAnchorStyleUnchanged(previous, next) {
164
164
  * custom renderer's `setProperty`, so the engine's `routeProp` handles them as usual.
165
165
  */
166
166
  export class SymbiotePrimitiveHost {
167
- renderer = inject(Renderer2);
168
- elementRef = inject(ElementRef);
167
+ constructor() {
168
+ this.renderer = inject(Renderer2);
169
+ this.elementRef = inject(ElementRef);
170
+ }
169
171
  // Counting only. Angular calls this once per view per check, so it is the only honest measure of
170
172
  // how much tree a tick walks - and with CheckAlways primitives that is the whole application, not
171
173
  // the screen on top. One integer increment next to a template refresh is not measurable.
172
174
  ngDoCheck() {
173
175
  countAngular('viewsChecked');
174
176
  }
175
- style;
176
177
  /**
177
178
  * The underlying engine host node (public instance). Exposed so `findNodeHandle` can resolve
178
179
  * an Angular template ref (`#ref`) on a primitive host to its native reactTag.
@@ -194,8 +195,8 @@ export class SymbiotePrimitiveHost {
194
195
  setHostProp(key, value) {
195
196
  this.renderer.setProperty(this.elementRef.nativeElement, key, value);
196
197
  }
197
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbiotePrimitiveHost, deps: [], target: i0.ɵɵFactoryTarget.Directive });
198
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SymbiotePrimitiveHost, isStandalone: true, inputs: { style: "style" }, usesOnChanges: true, ngImport: i0 });
198
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbiotePrimitiveHost, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
199
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SymbiotePrimitiveHost, isStandalone: true, inputs: { style: "style" }, usesOnChanges: true, ngImport: i0 }); }
199
200
  }
200
201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbiotePrimitiveHost, decorators: [{
201
202
  type: Directive
@@ -212,20 +213,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
212
213
  * with `ref.node` exposing the native element for any imperative follow-up call.
213
214
  */
214
215
  export class SymbioteHostPropsDirective {
215
- renderer = inject(Renderer2);
216
- elementRef = inject(ElementRef);
217
- // The directive lives in its HOST component's template, so its injected ChangeDetectorRef IS
218
- // that component's own view detector the one thing that can refresh it (see wrapCallback).
219
- cdr = inject(ChangeDetectorRef);
220
- // A flat-bag `onX` callback (responder negotiation, onLongPress, …) is invoked by the engine's
221
- // event dispatch a plain JS call, entirely outside Angular so nothing dirties the view that
222
- // binds its result: the "pan does nothing" bug. Shared with the TAG path's `SymbioteElement`,
223
- // which has the identical deficit; the mechanism, the `onScroll` exemption and why the wrapper
224
- // is cached per original handler live in `createCallbackWrapper`.
225
- wrapCallback = createCallbackWrapper(this.cdr, this.elementRef.nativeElement);
226
- // Values pushed by the previous bag, so a push writes only what actually moved. Copied rather
227
- // than aliased: a component is free to hand back the same object with mutated fields.
228
- pushed = {};
216
+ constructor() {
217
+ this.renderer = inject(Renderer2);
218
+ this.elementRef = inject(ElementRef);
219
+ // The directive lives in its HOST component's template, so its injected ChangeDetectorRef IS
220
+ // that component's own view detector — the one thing that can refresh it (see wrapCallback).
221
+ this.cdr = inject(ChangeDetectorRef);
222
+ // A flat-bag `onX` callback (responder negotiation, onLongPress, …) is invoked by the engine's
223
+ // event dispatch a plain JS call, entirely outside Angular — so nothing dirties the view that
224
+ // binds its result: the "pan does nothing" bug. Shared with the TAG path's `SymbioteElement`,
225
+ // which has the identical deficit; the mechanism, the `onScroll` exemption and why the wrapper
226
+ // is cached per original handler live in `createCallbackWrapper`.
227
+ //
228
+ // THE REF REACHES THE WRAPPER BY THE NODE NOW, not as an argument. `SymbioteElement` stopped
229
+ // injecting one per element — it was ~1-2.4 us on every tag of a screen to serve the few that carry
230
+ // a callback — so `createCallbackWrapper` looks its marker up in `markViewFor`. This directive
231
+ // keeps its own injection because it is matched by an ATTRIBUTE a composed component writes
232
+ // deliberately, not by every element, and registers it here for the same node the wrapper holds.
233
+ this.wrapCallback = this.registerMarkerAndWrap();
234
+ // Values pushed by the previous bag, so a push writes only what actually moved. Copied rather
235
+ // than aliased: a component is free to hand back the same object with mutated fields.
236
+ this.pushed = {};
237
+ }
238
+ registerMarkerAndWrap() {
239
+ const node = this.elementRef.nativeElement;
240
+ if (typeof node === 'object' && node !== null)
241
+ registerViewMarker(node, this.cdr);
242
+ return createCallbackWrapper(node);
243
+ }
229
244
  get node() {
230
245
  return this.elementRef.nativeElement;
231
246
  }
@@ -258,8 +273,8 @@ export class SymbioteHostPropsDirective {
258
273
  }
259
274
  this.pushed = next;
260
275
  }
261
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbioteHostPropsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
262
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SymbioteHostPropsDirective, isStandalone: true, selector: "[symbioteHostProps]", inputs: { symbioteHostProps: "symbioteHostProps" }, exportAs: ["symbioteHost"], ngImport: i0 });
276
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbioteHostPropsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
277
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SymbioteHostPropsDirective, isStandalone: true, selector: "[symbioteHostProps]", inputs: { symbioteHostProps: "symbioteHostProps" }, exportAs: ["symbioteHost"], ngImport: i0 }); }
263
278
  }
264
279
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbioteHostPropsDirective, decorators: [{
265
280
  type: Directive,
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/primitives/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/primitives/shared.ts"],"names":[],"mappings":"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"}