@symbiote-native/angular 3.0.2 → 3.1.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 (55) hide show
  1. package/build/angular/callback-host.d.ts +2 -5
  2. package/build/angular/callback-host.js +11 -36
  3. package/build/angular/callback-host.js.map +1 -1
  4. package/build/angular/change-detection-flush.d.ts +1 -0
  5. package/build/angular/change-detection-flush.js +58 -14
  6. package/build/angular/change-detection-flush.js.map +1 -1
  7. package/build/angular/components/flat-list/index.d.ts +4 -2
  8. package/build/angular/components/flat-list/index.js +28 -78
  9. package/build/angular/components/flat-list/index.js.map +1 -1
  10. package/build/angular/components/image-shared.d.ts +8 -2
  11. package/build/angular/components/modal/index.d.ts +1 -0
  12. package/build/angular/components/modal/index.js +23 -16
  13. package/build/angular/components/modal/index.js.map +1 -1
  14. package/build/angular/components/section-list/index.d.ts +3 -1
  15. package/build/angular/components/section-list/index.js +10 -2
  16. package/build/angular/components/section-list/index.js.map +1 -1
  17. package/build/angular/components/virtualized-list/directives.js +7 -4
  18. package/build/angular/components/virtualized-list/directives.js.map +1 -1
  19. package/build/angular/components/virtualized-list/index.d.ts +10 -2
  20. package/build/angular/components/virtualized-list/index.js +45 -25
  21. package/build/angular/components/virtualized-list/index.js.map +1 -1
  22. package/build/angular/components/virtualized-section-list/index.d.ts +5 -1
  23. package/build/angular/components/virtualized-section-list/index.js +10 -2
  24. package/build/angular/components/virtualized-section-list/index.js.map +1 -1
  25. package/build/angular/element-props.d.ts +16 -5
  26. package/build/angular/elements.d.ts +5 -21
  27. package/build/angular/elements.js +18 -26
  28. package/build/angular/elements.js.map +1 -1
  29. package/build/angular/index.d.ts +0 -1
  30. package/build/angular/index.js +5 -7
  31. package/build/angular/index.js.map +1 -1
  32. package/build/angular/renderer/index.d.ts +11 -0
  33. package/build/angular/renderer/index.js +97 -12
  34. package/build/angular/renderer/index.js.map +1 -1
  35. package/build/angular/runtime-matching.d.ts +0 -1
  36. package/build/angular/runtime-matching.js +6 -29
  37. package/build/angular/runtime-matching.js.map +1 -1
  38. package/package.json +4 -4
  39. package/src/callback-host.ts +10 -43
  40. package/src/change-detection-flush.ts +67 -14
  41. package/src/components/flat-list/index.ts +22 -54
  42. package/src/components/modal/index.ts +22 -16
  43. package/src/components/section-list/index.ts +4 -0
  44. package/src/components/virtualized-list/directives.ts +10 -8
  45. package/src/components/virtualized-list/index.ts +38 -13
  46. package/src/components/virtualized-section-list/index.ts +6 -0
  47. package/src/element-props.ts +22 -13
  48. package/src/elements.ts +21 -56
  49. package/src/index.ts +5 -7
  50. package/src/renderer/index.ts +107 -11
  51. package/src/runtime-matching.ts +6 -30
  52. package/build/angular/style-host.d.ts +0 -11
  53. package/build/angular/style-host.js +0 -86
  54. package/build/angular/style-host.js.map +0 -1
  55. package/src/style-host.ts +0 -94
@@ -2,7 +2,6 @@ import { ElementRef, EventEmitter } from '@angular/core';
2
2
  import type { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
3
3
  import { type ControlValueAccessor } from '@angular/forms';
4
4
  import { SymbioteCallbackHost } from './callback-host';
5
- import { SymbioteStyleHost } from './style-host';
6
5
  import type { IActivityIndicatorProps, IImageProps, INativeFeedbackBackground, IInputAccessoryViewViewProps, IModalViewProps, ISwitchProps, ITextInputProps } from '@symbiote-native/components';
7
6
  import type { IElementProps, IStickyHeaderElementProps, ITextElementProps } from './element-props';
8
7
  import type { IAngularImageBackgroundProps } from './components/image-background-props';
@@ -85,23 +84,7 @@ export declare abstract class SymbioteElement implements OnChanges {
85
84
  shouldRasterizeIOS?: IElementProps['shouldRasterizeIOS'];
86
85
  needsOffscreenAlphaCompositing?: IElementProps['needsOffscreenAlphaCompositing'];
87
86
  style?: IElementProps['style'];
88
- /**
89
- * Declared so Angular SHADOWS the `[class]` binding into it instead of decomposing the string.
90
- *
91
- * A styling binding goes to a directive input when the directive declares that exact public name
92
- * — `setShadowStylingInputFlags` sets `hasClassInput`/`hasStyleInput` off the input map, and
93
- * `checkStylingMap` then hands the whole value over and never calls the renderer per key
94
- * (`view/directives.ts`, `instructions/styling.ts`). `style` has been declared here all along and
95
- * is shadowed; `class` was not, so every `[class]` reached the renderer one TOKEN at a time — on
96
- * the element-directive path as much as the bare one. Measured at ~3.3 us per class binding
97
- * (`adapter-create-cost.itest.ts`, "prices the class channel"), on the channel every example app
98
- * uses for its static look.
99
- *
100
- * `[class.foo]` and `[ngClass]` are NOT shadowed and keep arriving as `addClass`, so a node can
101
- * now be told its classes both ways at once; the renderer unions the two sources
102
- * (`classStringFor`). Typed as a string rather than RN's `className`, because that is what
103
- * `ɵɵclassMap` hands over after it concatenates any static `class=` prefix.
104
- */
87
+ styleProp?: IElementProps['styleProp'];
105
88
  class?: string;
106
89
  onPress?: IElementProps['onPress'];
107
90
  onPressIn?: IElementProps['onPressIn'];
@@ -113,7 +96,7 @@ export declare abstract class SymbioteElement implements OnChanges {
113
96
  onBlur?: IElementProps['onBlur'];
114
97
  ngOnChanges(changes: SimpleChanges): void;
115
98
  static ɵfac: i0.ɵɵFactoryDeclaration<SymbioteElement, never>;
116
- static ɵdir: i0.ɵɵDirectiveDeclaration<SymbioteElement, never, never, { "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "required": false; }; "id": { "alias": "id"; "required": false; }; "accessible": { "alias": "accessible"; "required": false; }; "accessibilityLabel": { "alias": "accessibilityLabel"; "required": false; }; "accessibilityHint": { "alias": "accessibilityHint"; "required": false; }; "accessibilityRole": { "alias": "accessibilityRole"; "required": false; }; "accessibilityState": { "alias": "accessibilityState"; "required": false; }; "accessibilityValue": { "alias": "accessibilityValue"; "required": false; }; "accessibilityActions": { "alias": "accessibilityActions"; "required": false; }; "accessibilityLabelledBy": { "alias": "accessibilityLabelledBy"; "required": false; }; "importantForAccessibility": { "alias": "importantForAccessibility"; "required": false; }; "accessibilityLiveRegion": { "alias": "accessibilityLiveRegion"; "required": false; }; "screenReaderFocusable": { "alias": "screenReaderFocusable"; "required": false; }; "accessibilityViewIsModal": { "alias": "accessibilityViewIsModal"; "required": false; }; "accessibilityElementsHidden": { "alias": "accessibilityElementsHidden"; "required": false; }; "accessibilityIgnoresInvertColors": { "alias": "accessibilityIgnoresInvertColors"; "required": false; }; "accessibilityLanguage": { "alias": "accessibilityLanguage"; "required": false; }; "accessibilityRespondsToUserInteraction": { "alias": "accessibilityRespondsToUserInteraction"; "required": false; }; "accessibilityShowsLargeContentViewer": { "alias": "accessibilityShowsLargeContentViewer"; "required": false; }; "accessibilityLargeContentTitle": { "alias": "accessibilityLargeContentTitle"; "required": false; }; "onAccessibilityAction": { "alias": "onAccessibilityAction"; "required": false; }; "onAccessibilityTap": { "alias": "onAccessibilityTap"; "required": false; }; "onMagicTap": { "alias": "onMagicTap"; "required": false; }; "onAccessibilityEscape": { "alias": "onAccessibilityEscape"; "required": false; }; "role": { "alias": "role"; "required": false; }; "aria-label": { "alias": "aria-label"; "required": false; }; "aria-labelledby": { "alias": "aria-labelledby"; "required": false; }; "aria-live": { "alias": "aria-live"; "required": false; }; "aria-hidden": { "alias": "aria-hidden"; "required": false; }; "aria-busy": { "alias": "aria-busy"; "required": false; }; "aria-checked": { "alias": "aria-checked"; "required": false; }; "aria-disabled": { "alias": "aria-disabled"; "required": false; }; "aria-expanded": { "alias": "aria-expanded"; "required": false; }; "aria-selected": { "alias": "aria-selected"; "required": false; }; "aria-modal": { "alias": "aria-modal"; "required": false; }; "aria-valuemax": { "alias": "aria-valuemax"; "required": false; }; "aria-valuemin": { "alias": "aria-valuemin"; "required": false; }; "aria-valuenow": { "alias": "aria-valuenow"; "required": false; }; "aria-valuetext": { "alias": "aria-valuetext"; "required": false; }; "onStartShouldSetResponder": { "alias": "onStartShouldSetResponder"; "required": false; }; "onStartShouldSetResponderCapture": { "alias": "onStartShouldSetResponderCapture"; "required": false; }; "onMoveShouldSetResponder": { "alias": "onMoveShouldSetResponder"; "required": false; }; "onMoveShouldSetResponderCapture": { "alias": "onMoveShouldSetResponderCapture"; "required": false; }; "onResponderGrant": { "alias": "onResponderGrant"; "required": false; }; "onResponderReject": { "alias": "onResponderReject"; "required": false; }; "onResponderStart": { "alias": "onResponderStart"; "required": false; }; "onResponderMove": { "alias": "onResponderMove"; "required": false; }; "onResponderEnd": { "alias": "onResponderEnd"; "required": false; }; "onResponderRelease": { "alias": "onResponderRelease"; "required": false; }; "onResponderTerminate": { "alias": "onResponderTerminate"; "required": false; }; "onResponderTerminationRequest": { "alias": "onResponderTerminationRequest"; "required": false; }; "pointerEvents": { "alias": "pointerEvents"; "required": false; }; "hitSlop": { "alias": "hitSlop"; "required": false; }; "focusable": { "alias": "focusable"; "required": false; }; "collapsable": { "alias": "collapsable"; "required": false; }; "removeClippedSubviews": { "alias": "removeClippedSubviews"; "required": false; }; "renderToHardwareTextureAndroid": { "alias": "renderToHardwareTextureAndroid"; "required": false; }; "shouldRasterizeIOS": { "alias": "shouldRasterizeIOS"; "required": false; }; "needsOffscreenAlphaCompositing": { "alias": "needsOffscreenAlphaCompositing"; "required": false; }; "style": { "alias": "style"; "required": false; }; "class": { "alias": "class"; "required": false; }; "onPress": { "alias": "onPress"; "required": false; }; "onPressIn": { "alias": "onPressIn"; "required": false; }; "onPressOut": { "alias": "onPressOut"; "required": false; }; "onPressMove": { "alias": "onPressMove"; "required": false; }; "onLongPress": { "alias": "onLongPress"; "required": false; }; "onLayout": { "alias": "onLayout"; "required": false; }; "onFocus": { "alias": "onFocus"; "required": false; }; "onBlur": { "alias": "onBlur"; "required": false; }; }, {}, never, never, true, never>;
99
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SymbioteElement, never, never, { "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "required": false; }; "id": { "alias": "id"; "required": false; }; "accessible": { "alias": "accessible"; "required": false; }; "accessibilityLabel": { "alias": "accessibilityLabel"; "required": false; }; "accessibilityHint": { "alias": "accessibilityHint"; "required": false; }; "accessibilityRole": { "alias": "accessibilityRole"; "required": false; }; "accessibilityState": { "alias": "accessibilityState"; "required": false; }; "accessibilityValue": { "alias": "accessibilityValue"; "required": false; }; "accessibilityActions": { "alias": "accessibilityActions"; "required": false; }; "accessibilityLabelledBy": { "alias": "accessibilityLabelledBy"; "required": false; }; "importantForAccessibility": { "alias": "importantForAccessibility"; "required": false; }; "accessibilityLiveRegion": { "alias": "accessibilityLiveRegion"; "required": false; }; "screenReaderFocusable": { "alias": "screenReaderFocusable"; "required": false; }; "accessibilityViewIsModal": { "alias": "accessibilityViewIsModal"; "required": false; }; "accessibilityElementsHidden": { "alias": "accessibilityElementsHidden"; "required": false; }; "accessibilityIgnoresInvertColors": { "alias": "accessibilityIgnoresInvertColors"; "required": false; }; "accessibilityLanguage": { "alias": "accessibilityLanguage"; "required": false; }; "accessibilityRespondsToUserInteraction": { "alias": "accessibilityRespondsToUserInteraction"; "required": false; }; "accessibilityShowsLargeContentViewer": { "alias": "accessibilityShowsLargeContentViewer"; "required": false; }; "accessibilityLargeContentTitle": { "alias": "accessibilityLargeContentTitle"; "required": false; }; "onAccessibilityAction": { "alias": "onAccessibilityAction"; "required": false; }; "onAccessibilityTap": { "alias": "onAccessibilityTap"; "required": false; }; "onMagicTap": { "alias": "onMagicTap"; "required": false; }; "onAccessibilityEscape": { "alias": "onAccessibilityEscape"; "required": false; }; "role": { "alias": "role"; "required": false; }; "aria-label": { "alias": "aria-label"; "required": false; }; "aria-labelledby": { "alias": "aria-labelledby"; "required": false; }; "aria-live": { "alias": "aria-live"; "required": false; }; "aria-hidden": { "alias": "aria-hidden"; "required": false; }; "aria-busy": { "alias": "aria-busy"; "required": false; }; "aria-checked": { "alias": "aria-checked"; "required": false; }; "aria-disabled": { "alias": "aria-disabled"; "required": false; }; "aria-expanded": { "alias": "aria-expanded"; "required": false; }; "aria-selected": { "alias": "aria-selected"; "required": false; }; "aria-modal": { "alias": "aria-modal"; "required": false; }; "aria-valuemax": { "alias": "aria-valuemax"; "required": false; }; "aria-valuemin": { "alias": "aria-valuemin"; "required": false; }; "aria-valuenow": { "alias": "aria-valuenow"; "required": false; }; "aria-valuetext": { "alias": "aria-valuetext"; "required": false; }; "onStartShouldSetResponder": { "alias": "onStartShouldSetResponder"; "required": false; }; "onStartShouldSetResponderCapture": { "alias": "onStartShouldSetResponderCapture"; "required": false; }; "onMoveShouldSetResponder": { "alias": "onMoveShouldSetResponder"; "required": false; }; "onMoveShouldSetResponderCapture": { "alias": "onMoveShouldSetResponderCapture"; "required": false; }; "onResponderGrant": { "alias": "onResponderGrant"; "required": false; }; "onResponderReject": { "alias": "onResponderReject"; "required": false; }; "onResponderStart": { "alias": "onResponderStart"; "required": false; }; "onResponderMove": { "alias": "onResponderMove"; "required": false; }; "onResponderEnd": { "alias": "onResponderEnd"; "required": false; }; "onResponderRelease": { "alias": "onResponderRelease"; "required": false; }; "onResponderTerminate": { "alias": "onResponderTerminate"; "required": false; }; "onResponderTerminationRequest": { "alias": "onResponderTerminationRequest"; "required": false; }; "pointerEvents": { "alias": "pointerEvents"; "required": false; }; "hitSlop": { "alias": "hitSlop"; "required": false; }; "focusable": { "alias": "focusable"; "required": false; }; "collapsable": { "alias": "collapsable"; "required": false; }; "removeClippedSubviews": { "alias": "removeClippedSubviews"; "required": false; }; "renderToHardwareTextureAndroid": { "alias": "renderToHardwareTextureAndroid"; "required": false; }; "shouldRasterizeIOS": { "alias": "shouldRasterizeIOS"; "required": false; }; "needsOffscreenAlphaCompositing": { "alias": "needsOffscreenAlphaCompositing"; "required": false; }; "style": { "alias": "style"; "required": false; }; "styleProp": { "alias": "styleProp"; "required": false; }; "class": { "alias": "class"; "required": false; }; "onPress": { "alias": "onPress"; "required": false; }; "onPressIn": { "alias": "onPressIn"; "required": false; }; "onPressOut": { "alias": "onPressOut"; "required": false; }; "onPressMove": { "alias": "onPressMove"; "required": false; }; "onLongPress": { "alias": "onLongPress"; "required": false; }; "onLayout": { "alias": "onLayout"; "required": false; }; "onFocus": { "alias": "onFocus"; "required": false; }; "onBlur": { "alias": "onBlur"; "required": false; }; }, {}, never, never, true, never>;
117
100
  }
118
101
  /**
119
102
  * The base for a tag whose app callback an engine behavior READS BACK inside the same microtask
@@ -203,6 +186,7 @@ export declare class ButtonElement extends TouchableOpacityElement {
203
186
  }
204
187
  export declare class TextElement extends SymbioteElement {
205
188
  style?: ITextElementProps['style'];
189
+ styleProp?: ITextElementProps['styleProp'];
206
190
  numberOfLines?: ITextElementProps['numberOfLines'];
207
191
  ellipsizeMode?: ITextElementProps['ellipsizeMode'];
208
192
  selectable?: ITextElementProps['selectable'];
@@ -213,7 +197,7 @@ export declare class TextElement extends SymbioteElement {
213
197
  selectionColor?: ITextElementProps['selectionColor'];
214
198
  disabled?: ITextElementProps['disabled'];
215
199
  static ɵfac: i0.ɵɵFactoryDeclaration<TextElement, never>;
216
- static ɵdir: i0.ɵɵDirectiveDeclaration<TextElement, "text, symbiote-text", never, { "style": { "alias": "style"; "required": false; }; "numberOfLines": { "alias": "numberOfLines"; "required": false; }; "ellipsizeMode": { "alias": "ellipsizeMode"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "adjustsFontSizeToFit": { "alias": "adjustsFontSizeToFit"; "required": false; }; "minimumFontScale": { "alias": "minimumFontScale"; "required": false; }; "allowFontScaling": { "alias": "allowFontScaling"; "required": false; }; "maxFontSizeMultiplier": { "alias": "maxFontSizeMultiplier"; "required": false; }; "selectionColor": { "alias": "selectionColor"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
200
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TextElement, "text, symbiote-text", never, { "style": { "alias": "style"; "required": false; }; "styleProp": { "alias": "styleProp"; "required": false; }; "numberOfLines": { "alias": "numberOfLines"; "required": false; }; "ellipsizeMode": { "alias": "ellipsizeMode"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "adjustsFontSizeToFit": { "alias": "adjustsFontSizeToFit"; "required": false; }; "minimumFontScale": { "alias": "minimumFontScale"; "required": false; }; "allowFontScaling": { "alias": "allowFontScaling"; "required": false; }; "maxFontSizeMultiplier": { "alias": "maxFontSizeMultiplier"; "required": false; }; "selectionColor": { "alias": "selectionColor"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
217
201
  }
218
202
  export declare class ImageElement extends SymbioteElement {
219
203
  source?: IImageProps['source'];
@@ -538,5 +522,5 @@ export declare class InputAccessoryViewElement extends SymbioteElement {
538
522
  * `elements.test.ts` asserts this covers every key of `COMPONENT_DESCRIPTORS`, derived from that
539
523
  * table, so a future primitive joins by existing rather than by someone remembering.
540
524
  */
541
- export declare const SYMBIOTE_ELEMENTS: readonly [typeof ViewElement, typeof PressableElement, typeof TouchableOpacityElement, typeof TouchableHighlightElement, typeof TouchableNativeFeedbackElement, typeof TouchableWithoutFeedbackElement, typeof ButtonElement, typeof TextElement, typeof ImageElement, typeof ImageBackgroundElement, typeof ScrollViewElement, typeof HorizontalScrollViewElement, typeof ScrollContentElement, typeof HorizontalScrollContentElement, typeof TextInputElement, typeof MultilineTextInputElement, typeof SwitchElement, typeof ActivityIndicatorElement, typeof ActivityIndicatorSpinnerElement, typeof SafeAreaViewElement, typeof ModalElement, typeof RefreshControlElement, typeof StickyHeaderElement, typeof InputAccessoryViewElement, typeof TextInputValueAccessor, typeof SwitchValueAccessor, typeof SymbioteCallbackHost, typeof SymbioteStyleHost];
525
+ export declare const SYMBIOTE_ELEMENTS: readonly [typeof ViewElement, typeof PressableElement, typeof TouchableOpacityElement, typeof TouchableHighlightElement, typeof TouchableNativeFeedbackElement, typeof TouchableWithoutFeedbackElement, typeof ButtonElement, typeof TextElement, typeof ImageElement, typeof ImageBackgroundElement, typeof ScrollViewElement, typeof HorizontalScrollViewElement, typeof ScrollContentElement, typeof HorizontalScrollContentElement, typeof TextInputElement, typeof MultilineTextInputElement, typeof SwitchElement, typeof ActivityIndicatorElement, typeof ActivityIndicatorSpinnerElement, typeof SafeAreaViewElement, typeof ModalElement, typeof RefreshControlElement, typeof StickyHeaderElement, typeof InputAccessoryViewElement, typeof TextInputValueAccessor, typeof SwitchValueAccessor, typeof SymbioteCallbackHost];
542
526
  export {};
@@ -38,7 +38,6 @@ import { VALUE_CHANGE_EVENT } from './renderer/value-change';
38
38
  import { registerViewFlush, unregisterViewFlush, } from './change-detection-flush';
39
39
  import { SymbioteCallbackHost } from './callback-host';
40
40
  import { withholdFromRuntimeMatching } from './runtime-matching';
41
- import { SymbioteStyleHost } from './style-host';
42
41
  import * as i0 from "@angular/core";
43
42
  /**
44
43
  * The shared half of every element directive: the prop surface all tags accept, and the ONE
@@ -65,7 +64,7 @@ export class SymbioteElement {
65
64
  }
66
65
  }
67
66
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbioteElement, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
68
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SymbioteElement, isStandalone: true, inputs: { testID: "testID", nativeID: "nativeID", id: "id", accessible: "accessible", accessibilityLabel: "accessibilityLabel", accessibilityHint: "accessibilityHint", accessibilityRole: "accessibilityRole", accessibilityState: "accessibilityState", accessibilityValue: "accessibilityValue", accessibilityActions: "accessibilityActions", accessibilityLabelledBy: "accessibilityLabelledBy", importantForAccessibility: "importantForAccessibility", accessibilityLiveRegion: "accessibilityLiveRegion", screenReaderFocusable: "screenReaderFocusable", accessibilityViewIsModal: "accessibilityViewIsModal", accessibilityElementsHidden: "accessibilityElementsHidden", accessibilityIgnoresInvertColors: "accessibilityIgnoresInvertColors", accessibilityLanguage: "accessibilityLanguage", accessibilityRespondsToUserInteraction: "accessibilityRespondsToUserInteraction", accessibilityShowsLargeContentViewer: "accessibilityShowsLargeContentViewer", accessibilityLargeContentTitle: "accessibilityLargeContentTitle", onAccessibilityAction: "onAccessibilityAction", onAccessibilityTap: "onAccessibilityTap", onMagicTap: "onMagicTap", onAccessibilityEscape: "onAccessibilityEscape", role: "role", "aria-label": "aria-label", "aria-labelledby": "aria-labelledby", "aria-live": "aria-live", "aria-hidden": "aria-hidden", "aria-busy": "aria-busy", "aria-checked": "aria-checked", "aria-disabled": "aria-disabled", "aria-expanded": "aria-expanded", "aria-selected": "aria-selected", "aria-modal": "aria-modal", "aria-valuemax": "aria-valuemax", "aria-valuemin": "aria-valuemin", "aria-valuenow": "aria-valuenow", "aria-valuetext": "aria-valuetext", onStartShouldSetResponder: "onStartShouldSetResponder", onStartShouldSetResponderCapture: "onStartShouldSetResponderCapture", onMoveShouldSetResponder: "onMoveShouldSetResponder", onMoveShouldSetResponderCapture: "onMoveShouldSetResponderCapture", onResponderGrant: "onResponderGrant", onResponderReject: "onResponderReject", onResponderStart: "onResponderStart", onResponderMove: "onResponderMove", onResponderEnd: "onResponderEnd", onResponderRelease: "onResponderRelease", onResponderTerminate: "onResponderTerminate", onResponderTerminationRequest: "onResponderTerminationRequest", pointerEvents: "pointerEvents", hitSlop: "hitSlop", focusable: "focusable", collapsable: "collapsable", removeClippedSubviews: "removeClippedSubviews", renderToHardwareTextureAndroid: "renderToHardwareTextureAndroid", shouldRasterizeIOS: "shouldRasterizeIOS", needsOffscreenAlphaCompositing: "needsOffscreenAlphaCompositing", style: "style", class: "class", onPress: "onPress", onPressIn: "onPressIn", onPressOut: "onPressOut", onPressMove: "onPressMove", onLongPress: "onLongPress", onLayout: "onLayout", onFocus: "onFocus", onBlur: "onBlur" }, usesOnChanges: true, ngImport: i0 }); }
67
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SymbioteElement, isStandalone: true, inputs: { testID: "testID", nativeID: "nativeID", id: "id", accessible: "accessible", accessibilityLabel: "accessibilityLabel", accessibilityHint: "accessibilityHint", accessibilityRole: "accessibilityRole", accessibilityState: "accessibilityState", accessibilityValue: "accessibilityValue", accessibilityActions: "accessibilityActions", accessibilityLabelledBy: "accessibilityLabelledBy", importantForAccessibility: "importantForAccessibility", accessibilityLiveRegion: "accessibilityLiveRegion", screenReaderFocusable: "screenReaderFocusable", accessibilityViewIsModal: "accessibilityViewIsModal", accessibilityElementsHidden: "accessibilityElementsHidden", accessibilityIgnoresInvertColors: "accessibilityIgnoresInvertColors", accessibilityLanguage: "accessibilityLanguage", accessibilityRespondsToUserInteraction: "accessibilityRespondsToUserInteraction", accessibilityShowsLargeContentViewer: "accessibilityShowsLargeContentViewer", accessibilityLargeContentTitle: "accessibilityLargeContentTitle", onAccessibilityAction: "onAccessibilityAction", onAccessibilityTap: "onAccessibilityTap", onMagicTap: "onMagicTap", onAccessibilityEscape: "onAccessibilityEscape", role: "role", "aria-label": "aria-label", "aria-labelledby": "aria-labelledby", "aria-live": "aria-live", "aria-hidden": "aria-hidden", "aria-busy": "aria-busy", "aria-checked": "aria-checked", "aria-disabled": "aria-disabled", "aria-expanded": "aria-expanded", "aria-selected": "aria-selected", "aria-modal": "aria-modal", "aria-valuemax": "aria-valuemax", "aria-valuemin": "aria-valuemin", "aria-valuenow": "aria-valuenow", "aria-valuetext": "aria-valuetext", onStartShouldSetResponder: "onStartShouldSetResponder", onStartShouldSetResponderCapture: "onStartShouldSetResponderCapture", onMoveShouldSetResponder: "onMoveShouldSetResponder", onMoveShouldSetResponderCapture: "onMoveShouldSetResponderCapture", onResponderGrant: "onResponderGrant", onResponderReject: "onResponderReject", onResponderStart: "onResponderStart", onResponderMove: "onResponderMove", onResponderEnd: "onResponderEnd", onResponderRelease: "onResponderRelease", onResponderTerminate: "onResponderTerminate", onResponderTerminationRequest: "onResponderTerminationRequest", pointerEvents: "pointerEvents", hitSlop: "hitSlop", focusable: "focusable", collapsable: "collapsable", removeClippedSubviews: "removeClippedSubviews", renderToHardwareTextureAndroid: "renderToHardwareTextureAndroid", shouldRasterizeIOS: "shouldRasterizeIOS", needsOffscreenAlphaCompositing: "needsOffscreenAlphaCompositing", style: "style", styleProp: "styleProp", class: "class", onPress: "onPress", onPressIn: "onPressIn", onPressOut: "onPressOut", onPressMove: "onPressMove", onLongPress: "onLongPress", onLayout: "onLayout", onFocus: "onFocus", onBlur: "onBlur" }, usesOnChanges: true, ngImport: i0 }); }
69
68
  }
70
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbioteElement, decorators: [{
71
70
  type: Directive
@@ -191,6 +190,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
191
190
  type: Input
192
191
  }], style: [{
193
192
  type: Input
193
+ }], styleProp: [{
194
+ type: Input
194
195
  }], class: [{
195
196
  type: Input
196
197
  }], onPress: [{
@@ -441,15 +442,18 @@ export class TextElement extends SymbioteElement {
441
442
  // initializer is what TS2612 asks for to accept a redeclaration as deliberate; `declare` would
442
443
  // be the other answer and cannot carry a decorator.
443
444
  this.style = undefined;
445
+ this.styleProp = undefined;
444
446
  }
445
447
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TextElement, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
446
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: TextElement, isStandalone: true, selector: "text, symbiote-text", inputs: { style: "style", numberOfLines: "numberOfLines", ellipsizeMode: "ellipsizeMode", selectable: "selectable", adjustsFontSizeToFit: "adjustsFontSizeToFit", minimumFontScale: "minimumFontScale", allowFontScaling: "allowFontScaling", maxFontSizeMultiplier: "maxFontSizeMultiplier", selectionColor: "selectionColor", disabled: "disabled" }, usesInheritance: true, ngImport: i0 }); }
448
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: TextElement, isStandalone: true, selector: "text, symbiote-text", inputs: { style: "style", styleProp: "styleProp", numberOfLines: "numberOfLines", ellipsizeMode: "ellipsizeMode", selectable: "selectable", adjustsFontSizeToFit: "adjustsFontSizeToFit", minimumFontScale: "minimumFontScale", allowFontScaling: "allowFontScaling", maxFontSizeMultiplier: "maxFontSizeMultiplier", selectionColor: "selectionColor", disabled: "disabled" }, usesInheritance: true, ngImport: i0 }); }
447
449
  }
448
450
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TextElement, decorators: [{
449
451
  type: Directive,
450
452
  args: [{ selector: 'text, symbiote-text', standalone: true }]
451
453
  }], propDecorators: { style: [{
452
454
  type: Input
455
+ }], styleProp: [{
456
+ type: Input
453
457
  }], numberOfLines: [{
454
458
  type: Input
455
459
  }], ellipsizeMode: [{
@@ -1177,35 +1181,23 @@ export const SYMBIOTE_ELEMENTS = [
1177
1181
  // bind one and carries the `ChangeDetectorRef` their wrapper needs. It rides this list for the same
1178
1182
  // reason the accessors do, and `elements.test.ts` subtracts it from the tag-coverage check by name.
1179
1183
  SymbioteCallbackHost,
1180
- // The other attribute-matched one: it claims `[style]` and `[class]` so an RN style ARRAY never
1181
- // reaches Angular's styling engine, which cannot represent one and throws. See `style-host.ts`.
1182
- SymbioteStyleHost,
1183
1184
  ];
1184
1185
  // THE DIRECTIVES THAT GO ON MATCHING, and the list is the exceptions rather than the rule.
1185
1186
  //
1186
- // A tag directive here is, with four exceptions, nothing but `@Input()` declarations over one
1187
- // inherited `ngOnChanges` that forwards each of them to the renderer which is the call
1188
- // `ɵɵproperty` makes directly on an element nothing claimed. So the instance buys a compile-time
1189
- // check at ~8.5-9.4 us of run time per element, and `./runtime-matching` keeps the check while
1190
- // dropping the instance.
1191
- //
1192
- // These four cannot go, because they DO something when they are built:
1187
+ // EVERY TAG DIRECTIVE IS WITHHELD. Each is `@Input()` declarations over one inherited `ngOnChanges`
1188
+ // forwarding to the renderer (the call `ɵɵproperty` makes directly on an unclaimed element), so the
1189
+ // instance bought a compile-time check at ~8 us of run time per element.
1193
1190
  //
1194
- // text-input, text-input-multiline, switch `ValueChangeElement` listens for the engine's value
1195
- // event and registers a view flush, which is what stops
1196
- // a controlled value being undone inside one microtask
1197
- // refresh-control `ReadBackElement`, the same flush for the same reason
1191
+ // The read-back tags (text-input, text-input-multiline, switch, refresh-control) need a synchronous
1192
+ // view flush; the renderer marks them at creation and the flush finds their view lazily
1193
+ // (`change-detection-flush.ts`). `[(value)]` reaches the renderer's `listen('valueChange')` bridge.
1198
1194
  //
1199
- // The two form accessors and `SymbioteCallbackHost` are absent from both lists deliberately: they
1200
- // match on an ATTRIBUTE rather than a tag, so they already land only where they are needed.
1201
- withholdFromRuntimeMatching(SYMBIOTE_ELEMENTS.filter(directive => directive !== TextInputElement &&
1202
- directive !== MultilineTextInputElement &&
1203
- directive !== SwitchElement &&
1204
- directive !== RefreshControlElement &&
1205
- directive !== TextInputValueAccessor &&
1195
+ // `[style]`/`[class]` stay unclaimed as on a DOM element (see `SymbioteElement.style`). What still
1196
+ // matches is selected on an ATTRIBUTE an app writes: the two form accessors and
1197
+ // `SymbioteCallbackHost`.
1198
+ withholdFromRuntimeMatching(SYMBIOTE_ELEMENTS.filter(directive => directive !== TextInputValueAccessor &&
1206
1199
  directive !== SwitchValueAccessor &&
1207
- directive !== SymbioteCallbackHost &&
1208
- directive !== SymbioteStyleHost));
1200
+ directive !== SymbioteCallbackHost));
1209
1201
  const DECLARES_EVERY_PROP = {
1210
1202
  view: true,
1211
1203
  pressable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"elements.js","sourceRoot":"","sources":["../../src/elements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elements.js","sourceRoot":"","sources":["../../src/elements.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@ export type { IActivityIndicatorProps, IAngularPressableInputs, IAngularImageBac
7
7
  export { setImageSourceResolver } from './components';
8
8
  export { SYMBIOTE_ELEMENTS, SymbioteElement, ActivityIndicatorElement, ActivityIndicatorSpinnerElement, ButtonElement, HorizontalScrollContentElement, HorizontalScrollViewElement, ImageBackgroundElement, ImageElement, InputAccessoryViewElement, ModalElement, MultilineTextInputElement, PressableElement, RefreshControlElement, SafeAreaViewElement, ScrollContentElement, ScrollViewElement, StickyHeaderElement, SwitchElement, SwitchValueAccessor, TextElement, TextInputElement, TextInputValueAccessor, TouchableHighlightElement, TouchableNativeFeedbackElement, TouchableOpacityElement, TouchableWithoutFeedbackElement, ViewElement, } from './elements';
9
9
  export { CALLBACK_ATTRIBUTE_SELECTOR, SymbioteCallbackHost, } from './callback-host';
10
- export { STYLE_HOST_SELECTOR, SymbioteStyleHost } from './style-host';
11
10
  export type { IElementProps, IStickyHeaderElementProps, ITextElementProps, } from './element-props';
12
11
  export { mount, unmount } from './render';
13
12
  export { DescriptorOutlet } from './descriptor-to-angular';
@@ -9,8 +9,8 @@
9
9
  // `@Component`s on the `view` and `text` SELECTORS — a second mechanism on the same tags
10
10
  // `SYMBIOTE_ELEMENTS` covers, kept for one stated reason their own header gives: "Declaring `style`
11
11
  // as a real Angular input prevents Angular's CSS style engine from decomposing RN `StyleProp`
12
- // arrays". `SymbioteStyleHost` does exactly that now, for every tag, at a directive's cost rather
13
- // than a component's.
12
+ // arrays". A tag takes an array or press-state callback as `[styleProp]`, a plain property binding
13
+ // with no instance behind it.
14
14
  //
15
15
  // An app loses nothing it cannot spell better: `@ViewChild('ref')` on a template reference returns
16
16
  // Angular's own `ElementRef<IHostInstance>`, whose `nativeElement` IS the engine host node — the same
@@ -48,10 +48,9 @@ export { setImageSourceResolver } from './components';
48
48
  //
49
49
  // They were removed on 2026-09-18 and put back the same hour. The reason to remove them is real: a
50
50
  // withheld tag directive (`./runtime-matching`) is a compile-time declaration and nothing else, so
51
- // what makes `<view [style]="[a, b]">` work at RUN time is `SymbioteStyleHost`, and what makes
52
- // `<view [onPress]="fn">` work at all is `SymbioteCallbackHost` claiming the name before
53
- // `setDomProperty` throws NG0306. Both ride this array. A narrow `imports: [ViewElement]` type-checks
54
- // and then fails on a device the first time the app writes an array style.
51
+ // what makes `<view [onPress]="fn">` work at all is `SymbioteCallbackHost` claiming the name before
52
+ // `setDomProperty` throws NG0306. It rides this array, so a narrow `imports: [ViewElement]`
53
+ // type-checks and then fails on a device the first time the app binds an `on*` prop.
55
54
  //
56
55
  // WHAT PUTS THEM BACK is NG3004: `Unable to import directive ViewElement — the symbol is not
57
56
  // exported from index.d.ts`. ngtsc resolves every directive reachable through an imported array to an
@@ -68,7 +67,6 @@ export { SYMBIOTE_ELEMENTS, SymbioteElement, ActivityIndicatorElement, ActivityI
68
67
  // this selector costs to match, and a second copy there would price a different one the day either
69
68
  // drifts. The two host classes are exported for the same reason the array is: they are part of it.
70
69
  export { CALLBACK_ATTRIBUTE_SELECTOR, SymbioteCallbackHost, } from './callback-host';
71
- export { STYLE_HOST_SELECTOR, SymbioteStyleHost } from './style-host';
72
70
  export { mount, unmount } from './render';
73
71
  // The generic Descriptor→Angular bridge, the twin of descriptorToReact/descriptorToVue.
74
72
  // Exported so a component defined OUTSIDE this package (e.g.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,9 @@ export declare class SymbioteRenderer implements Renderer2 {
8
8
  destroyNode: ((node: ISymbioteNode) => void) | null;
9
9
  private pendingStyleNode;
10
10
  private pendingStyle;
11
+ private matchCandidate;
12
+ private matchCandidateSize;
13
+ private readonly matchedKeys;
11
14
  private pendingClassNode;
12
15
  private readonly releaseBeforeFlush;
13
16
  constructor(surface: SymbioteSurface);
@@ -72,10 +75,18 @@ export declare class SymbioteRenderer implements Renderer2 {
72
75
  * this simply stops sharing — it never stops being correct.
73
76
  */
74
77
  private readonly publishedStyles;
78
+ private readonly publishedSizes;
75
79
  /** A published object equal to this one, or this one — which then becomes the published copy. */
76
80
  private canonicalStyle;
81
+ /** Open this node's style run (closing any other); a no-op when it is already the open one. */
82
+ private openRun;
83
+ private isChoosingCandidate;
84
+ private chooseCandidate;
85
+ /** Stop matching: write the keys matched so far into the accumulator the run goes on with. */
86
+ private materializeMatch;
77
87
  /** The accumulator for this node's style run, opening one (and closing any other) if needed. */
78
88
  private openStyleRun;
89
+ private writeStyle;
79
90
  createElement(name: string): IHostNode;
80
91
  createComment(): IHostNode;
81
92
  createText(value: string): IHostNode;
@@ -32,7 +32,18 @@ function isRecord(value) {
32
32
  // same fold as the function prop `onValueChange`. See `listen()`. The two names live in a leaf
33
33
  // module so `elements.ts`'s ControlValueAccessor can name them without importing this cyclic file.
34
34
  import { VALUE_CHANGE_EVENT, VALUE_CHANGE_PROP } from './value-change';
35
- import { createCallbackWrapper, flushViewFor, isWrappableCallback, } from '../change-detection-flush';
35
+ import { createCallbackWrapper, flushViewFor, isWrappableCallback, markReadBackNode, } from '../change-detection-flush';
36
+ // The tags whose behavior reads the app's answer back inside the event's own turn - the three
37
+ // behaviors `../change-detection-flush` names, plus the multiline spelling of the input. Marked at
38
+ // creation so a flush finds their view lazily instead of a directive instance per element.
39
+ const READ_BACK_TAGS = new Set([
40
+ 'text-input',
41
+ 'text-input-multiline',
42
+ 'switch',
43
+ 'refresh-control',
44
+ ]);
45
+ // The property binding an RN StyleProp travels as; see `SymbioteElement.style`.
46
+ const STYLE_PROP_BINDING = 'styleProp';
36
47
  // The app callbacks an engine behavior READS BACK inside the same microtask turn, as an Angular
37
48
  // `(event)` binding — `valueChange` is handled in `listen` on its own, since it also needs the field
38
49
  // unwrapped. Zoneless change detection is a macrotask, so without a flush the behavior reads the
@@ -164,6 +175,8 @@ export class SymbioteRenderer {
164
175
  // render.ts (unmount), so per-node cleanup is a no-op.
165
176
  this.destroyNode = null;
166
177
  this.pendingStyle = {};
178
+ this.matchCandidateSize = 0;
179
+ this.matchedKeys = [];
167
180
  /**
168
181
  * Style objects this renderer has already published, so a list of identical rows sends ONE.
169
182
  *
@@ -183,6 +196,11 @@ export class SymbioteRenderer {
183
196
  * this simply stops sharing — it never stops being correct.
184
197
  */
185
198
  this.publishedStyles = [];
199
+ // Key count of each entry above, index for index: how a key-by-key match knows it is complete.
200
+ this.publishedSizes = [];
201
+ // The FIRST key picks the candidate: a row alternates styles (row, cell, cell, input), so the
202
+ // front entry is usually the neighbour's.
203
+ this.isChoosingCandidate = false;
186
204
  // Ivy compiles every class= / [class.foo] / [ngClass] form down to per-token addClass/
187
205
  // removeClass calls (never a single setAttribute('class', ...) call), so a per-node token set
188
206
  // is accumulated here and re-joined into one string on every change, then handed to
@@ -239,10 +257,19 @@ export class SymbioteRenderer {
239
257
  flushStyling() {
240
258
  const styled = this.pendingStyleNode;
241
259
  if (styled !== undefined) {
242
- const style = this.pendingStyle;
243
260
  this.pendingStyleNode = undefined;
244
- this.pendingStyle = {};
245
- routeProp(styled, 'style', this.canonicalStyle(style));
261
+ const candidate = this.matchCandidate;
262
+ if (candidate !== undefined &&
263
+ this.matchedKeys.length === this.matchCandidateSize) {
264
+ this.matchCandidate = undefined;
265
+ routeProp(styled, 'style', candidate);
266
+ }
267
+ else {
268
+ this.materializeMatch();
269
+ const style = this.pendingStyle;
270
+ this.pendingStyle = {};
271
+ routeProp(styled, 'style', this.canonicalStyle(style));
272
+ }
246
273
  }
247
274
  const classed = this.pendingClassNode;
248
275
  if (classed !== undefined) {
@@ -285,26 +312,78 @@ export class SymbioteRenderer {
285
312
  if (at > 0) {
286
313
  this.publishedStyles.splice(at, 1);
287
314
  this.publishedStyles.unshift(known);
315
+ this.publishedSizes.unshift(this.publishedSizes.splice(at, 1)[0]);
288
316
  }
289
317
  return known;
290
318
  }
291
319
  this.publishedStyles.unshift(style);
292
- if (this.publishedStyles.length > STYLE_CACHE)
320
+ this.publishedSizes.unshift(Object.keys(style).length);
321
+ if (this.publishedStyles.length > STYLE_CACHE) {
293
322
  this.publishedStyles.pop();
323
+ this.publishedSizes.pop();
324
+ }
294
325
  return style;
295
326
  }
296
- /** The accumulator for this node's style run, opening one (and closing any other) if needed. */
297
- openStyleRun(el) {
327
+ /** Open this node's style run (closing any other); a no-op when it is already the open one. */
328
+ openRun(el) {
298
329
  if (this.pendingStyleNode === el)
299
- return this.pendingStyle;
330
+ return;
300
331
  this.flushStyling();
332
+ this.pendingStyleNode = el;
301
333
  // Seeded from what is STANDING, because Angular sends only the keys that changed — an update
302
334
  // that moves one key must not drop the rest.
303
335
  const current = getExplicitStyle(el);
304
- this.pendingStyle = isRecord(current) ? { ...current } : {};
305
- this.pendingStyleNode = el;
336
+ if (isRecord(current)) {
337
+ this.pendingStyle = { ...current };
338
+ return;
339
+ }
340
+ this.isChoosingCandidate = true;
341
+ this.matchedKeys.length = 0;
342
+ }
343
+ chooseCandidate(key, value) {
344
+ this.isChoosingCandidate = false;
345
+ if (value === undefined)
346
+ return;
347
+ for (let at = 0; at < this.publishedStyles.length; at += 1) {
348
+ const known = this.publishedStyles[at];
349
+ if (!Object.is(known[key], value))
350
+ continue;
351
+ this.matchCandidate = known;
352
+ this.matchCandidateSize = this.publishedSizes[at] ?? 0;
353
+ return;
354
+ }
355
+ }
356
+ /** Stop matching: write the keys matched so far into the accumulator the run goes on with. */
357
+ materializeMatch() {
358
+ this.isChoosingCandidate = false;
359
+ const candidate = this.matchCandidate;
360
+ if (candidate === undefined)
361
+ return;
362
+ this.matchCandidate = undefined;
363
+ for (const key of this.matchedKeys)
364
+ this.pendingStyle[key] = candidate[key];
365
+ }
366
+ /** The accumulator for this node's style run, opening one (and closing any other) if needed. */
367
+ openStyleRun(el) {
368
+ this.openRun(el);
369
+ this.materializeMatch();
306
370
  return this.pendingStyle;
307
371
  }
372
+ writeStyle(el, key, value) {
373
+ this.openRun(el);
374
+ if (this.isChoosingCandidate)
375
+ this.chooseCandidate(key, value);
376
+ const candidate = this.matchCandidate;
377
+ if (candidate !== undefined &&
378
+ value !== undefined &&
379
+ Object.is(candidate[key], value) &&
380
+ !this.matchedKeys.includes(key)) {
381
+ this.matchedKeys.push(key);
382
+ return;
383
+ }
384
+ this.materializeMatch();
385
+ this.pendingStyle[key] = value;
386
+ }
308
387
  createElement(name) {
309
388
  // `name` is the component's host tag — a symbiote intrinsic (`view`,
310
389
  // `text`, …), a public ergonomic alias (`View`, `Text`), or a raw Fabric view
@@ -344,6 +423,8 @@ export class SymbioteRenderer {
344
423
  if (isDebug()) {
345
424
  dlog(`angular createElement ${name} -> ${descriptor.component}`);
346
425
  }
426
+ if (READ_BACK_TAGS.has(engineName))
427
+ markReadBackNode(node);
347
428
  return toPublicInstance(node);
348
429
  }
349
430
  createComment() {
@@ -526,7 +607,7 @@ export class SymbioteRenderer {
526
607
  return;
527
608
  countAngular('rendererWrites');
528
609
  noteAngularStyleWrite(style);
529
- this.openStyleRun(el)[style] = value;
610
+ this.writeStyle(el, style, value);
530
611
  this.surface.requestCommit();
531
612
  }
532
613
  removeStyle(el, style) {
@@ -582,7 +663,11 @@ export class SymbioteRenderer {
582
663
  }
583
664
  }
584
665
  this.flushStyling();
585
- routeProp(el, name, this.wrapCallback(el, name, value));
666
+ // `[styleProp]` IS `style`, carried as a plain property so an RN array or press-state callback
667
+ // reaches the engine whole instead of Angular's styling engine. Binding it beside `[style]` on one
668
+ // element makes the later write win - they are one prop.
669
+ const propName = name === STYLE_PROP_BINDING ? 'style' : name;
670
+ routeProp(el, propName, this.wrapCallback(el, propName, value));
586
671
  this.surface.requestCommit();
587
672
  }
588
673
  // AN `on*` PROP IS CALLED BY THE ENGINE, so Angular is told nothing and a plain field mutation