@symbiote-native/angular 0.6.1 → 0.7.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 (206) hide show
  1. package/README.md +1 -1
  2. package/bin/symbiote-angular-dev.cjs +20 -19
  3. package/build/angular/anchor-host-registry.js +2 -2
  4. package/build/angular/anchor-host-registry.js.map +1 -1
  5. package/build/angular/components/activity-indicator/index.android.d.ts +2 -1
  6. package/build/angular/components/activity-indicator/index.android.js +6 -3
  7. package/build/angular/components/activity-indicator/index.android.js.map +1 -1
  8. package/build/angular/components/activity-indicator/index.ios.d.ts +2 -1
  9. package/build/angular/components/activity-indicator/index.ios.js +6 -3
  10. package/build/angular/components/activity-indicator/index.ios.js.map +1 -1
  11. package/build/angular/components/activity-indicator/shared.js +3 -3
  12. package/build/angular/components/button.d.ts +4 -2
  13. package/build/angular/components/button.js +28 -17
  14. package/build/angular/components/button.js.map +1 -1
  15. package/build/angular/components/flat-list/index.d.ts +5 -3
  16. package/build/angular/components/flat-list/index.js +35 -38
  17. package/build/angular/components/flat-list/index.js.map +1 -1
  18. package/build/angular/components/image/index.android.d.ts +8 -3
  19. package/build/angular/components/image/index.android.js +39 -9
  20. package/build/angular/components/image/index.android.js.map +1 -1
  21. package/build/angular/components/image/index.ios.d.ts +8 -3
  22. package/build/angular/components/image/index.ios.js +39 -9
  23. package/build/angular/components/image/index.ios.js.map +1 -1
  24. package/build/angular/components/image/shared.d.ts +4 -1
  25. package/build/angular/components/image/shared.js +33 -2
  26. package/build/angular/components/image/shared.js.map +1 -1
  27. package/build/angular/components/image-background.d.ts +2 -1
  28. package/build/angular/components/image-background.js +6 -4
  29. package/build/angular/components/image-background.js.map +1 -1
  30. package/build/angular/components/input-accessory-view/index.d.ts +9 -4
  31. package/build/angular/components/input-accessory-view/index.js +43 -9
  32. package/build/angular/components/input-accessory-view/index.js.map +1 -1
  33. package/build/angular/components/keyboard-avoiding-view/index.d.ts +2 -1
  34. package/build/angular/components/keyboard-avoiding-view/index.js +6 -4
  35. package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
  36. package/build/angular/components/modal/index.d.ts +11 -8
  37. package/build/angular/components/modal/index.js +45 -28
  38. package/build/angular/components/modal/index.js.map +1 -1
  39. package/build/angular/components/pressable/index.d.ts +11 -5
  40. package/build/angular/components/pressable/index.js +61 -12
  41. package/build/angular/components/pressable/index.js.map +1 -1
  42. package/build/angular/components/refresh-control/index.d.ts +8 -4
  43. package/build/angular/components/refresh-control/index.js +52 -16
  44. package/build/angular/components/refresh-control/index.js.map +1 -1
  45. package/build/angular/components/safe-area-view/index.d.ts +9 -4
  46. package/build/angular/components/safe-area-view/index.js +46 -9
  47. package/build/angular/components/safe-area-view/index.js.map +1 -1
  48. package/build/angular/components/scroll-view/index.android.d.ts +2 -3
  49. package/build/angular/components/scroll-view/index.android.js +49 -52
  50. package/build/angular/components/scroll-view/index.android.js.map +1 -1
  51. package/build/angular/components/scroll-view/index.ios.d.ts +2 -3
  52. package/build/angular/components/scroll-view/index.ios.js +15 -17
  53. package/build/angular/components/scroll-view/index.ios.js.map +1 -1
  54. package/build/angular/components/scroll-view/projection.d.ts +3 -0
  55. package/build/angular/components/scroll-view/projection.js +68 -7
  56. package/build/angular/components/scroll-view/projection.js.map +1 -1
  57. package/build/angular/components/scroll-view/shared.d.ts +14 -5
  58. package/build/angular/components/scroll-view/shared.js +198 -69
  59. package/build/angular/components/scroll-view/shared.js.map +1 -1
  60. package/build/angular/components/scroll-view/sticky-header.js +14 -19
  61. package/build/angular/components/scroll-view/sticky-header.js.map +1 -1
  62. package/build/angular/components/section-list/index.d.ts +2 -1
  63. package/build/angular/components/section-list/index.js +31 -39
  64. package/build/angular/components/section-list/index.js.map +1 -1
  65. package/build/angular/components/switch/index.android.d.ts +7 -3
  66. package/build/angular/components/switch/index.android.js +38 -10
  67. package/build/angular/components/switch/index.android.js.map +1 -1
  68. package/build/angular/components/switch/index.ios.d.ts +7 -3
  69. package/build/angular/components/switch/index.ios.js +38 -10
  70. package/build/angular/components/switch/index.ios.js.map +1 -1
  71. package/build/angular/components/switch/shared.d.ts +12 -3
  72. package/build/angular/components/switch/shared.js +66 -5
  73. package/build/angular/components/switch/shared.js.map +1 -1
  74. package/build/angular/components/text-input.d.ts +10 -2
  75. package/build/angular/components/text-input.js +46 -6
  76. package/build/angular/components/text-input.js.map +1 -1
  77. package/build/angular/components/touchable/index.d.ts +17 -8
  78. package/build/angular/components/touchable/index.js +78 -19
  79. package/build/angular/components/touchable/index.js.map +1 -1
  80. package/build/angular/components/touchable-native-feedback/index.d.ts +6 -3
  81. package/build/angular/components/touchable-native-feedback/index.js +61 -25
  82. package/build/angular/components/touchable-native-feedback/index.js.map +1 -1
  83. package/build/angular/components/virtualized-list/directives.js +18 -18
  84. package/build/angular/components/virtualized-list/index.d.ts +12 -4
  85. package/build/angular/components/virtualized-list/index.js +163 -68
  86. package/build/angular/components/virtualized-list/index.js.map +1 -1
  87. package/build/angular/components/virtualized-section-list/directives.js +12 -12
  88. package/build/angular/components/virtualized-section-list/index.d.ts +2 -1
  89. package/build/angular/components/virtualized-section-list/index.js +6 -4
  90. package/build/angular/components/virtualized-section-list/index.js.map +1 -1
  91. package/build/angular/components.d.ts +1 -1
  92. package/build/angular/components.js +5 -0
  93. package/build/angular/components.js.map +1 -1
  94. package/build/angular/create-portal/index.js +29 -35
  95. package/build/angular/create-portal/index.js.map +1 -1
  96. package/build/angular/create-tunnel/index.js +19 -22
  97. package/build/angular/create-tunnel/index.js.map +1 -1
  98. package/build/angular/descriptor-to-angular/index.js +3 -3
  99. package/build/angular/index.d.ts +4 -2
  100. package/build/angular/index.js +2 -2
  101. package/build/angular/index.js.map +1 -1
  102. package/build/angular/modules/animated/animated-leaf-binder.d.ts +1 -7
  103. package/build/angular/modules/animated/animated-leaf-binder.js +22 -72
  104. package/build/angular/modules/animated/animated-leaf-binder.js.map +1 -1
  105. package/build/angular/modules/animated/create-animated-component.d.ts +11 -6
  106. package/build/angular/modules/animated/create-animated-component.js +83 -50
  107. package/build/angular/modules/animated/create-animated-component.js.map +1 -1
  108. package/build/angular/modules/app-registry/index.js.map +1 -1
  109. package/build/angular/modules/status-bar/index.js +3 -3
  110. package/build/angular/primitives/index.d.ts +1 -1
  111. package/build/angular/primitives/index.js +46 -46
  112. package/build/angular/primitives/index.js.map +1 -1
  113. package/build/angular/primitives/shared.d.ts +39 -1
  114. package/build/angular/primitives/shared.js +110 -9
  115. package/build/angular/primitives/shared.js.map +1 -1
  116. package/build/angular/render/index.js +23 -35
  117. package/build/angular/render/index.js.map +1 -1
  118. package/build/angular/services/color-scheme.service.js +3 -3
  119. package/build/angular/services/window-dimensions.service.js +3 -3
  120. package/package.json +13 -8
  121. package/src/anchor-host-registry.ts +2 -2
  122. package/src/components/activity-indicator/index.android.ts +2 -0
  123. package/src/components/activity-indicator/index.ios.ts +2 -0
  124. package/src/components/button.ts +28 -14
  125. package/src/components/flat-list/index.ts +34 -36
  126. package/src/components/image/index.android.ts +50 -6
  127. package/src/components/image/index.ios.ts +50 -6
  128. package/src/components/image/shared.ts +34 -2
  129. package/src/components/image-background.ts +2 -1
  130. package/src/components/input-accessory-view/index.ts +42 -4
  131. package/src/components/keyboard-avoiding-view/index.ts +7 -1
  132. package/src/components/modal/index.ts +51 -26
  133. package/src/components/pressable/index.ts +67 -8
  134. package/src/components/refresh-control/index.ts +54 -12
  135. package/src/components/safe-area-view/index.ts +50 -5
  136. package/src/components/scroll-view/index.android.ts +34 -41
  137. package/src/components/scroll-view/index.ios.ts +10 -21
  138. package/src/components/scroll-view/projection.ts +79 -7
  139. package/src/components/scroll-view/shared.ts +223 -68
  140. package/src/components/scroll-view/sticky-header.ts +11 -16
  141. package/src/components/section-list/index.ts +27 -36
  142. package/src/components/switch/index.android.ts +48 -7
  143. package/src/components/switch/index.ios.ts +48 -7
  144. package/src/components/switch/shared.ts +79 -3
  145. package/src/components/text-input.ts +52 -2
  146. package/src/components/touchable/index.ts +76 -16
  147. package/src/components/touchable-native-feedback/index.ts +62 -21
  148. package/src/components/virtualized-list/index.ts +137 -44
  149. package/src/components/virtualized-section-list/index.ts +2 -1
  150. package/src/components.ts +5 -0
  151. package/src/create-portal/index.ts +23 -29
  152. package/src/create-tunnel/index.ts +13 -16
  153. package/src/index.ts +30 -1
  154. package/src/modules/animated/animated-leaf-binder.ts +28 -77
  155. package/src/modules/animated/create-animated-component.ts +75 -36
  156. package/src/modules/app-registry/index.ts +6 -8
  157. package/src/primitives/index.ts +1 -0
  158. package/src/primitives/shared.ts +102 -3
  159. package/src/render/index.ts +23 -35
  160. package/build/angular/modules/animated/animated-leaf-binder/index.d.ts +0 -14
  161. package/build/angular/modules/animated/animated-leaf-binder/index.js +0 -91
  162. package/build/angular/modules/animated/animated-leaf-binder/index.js.map +0 -1
  163. package/src/__tests__/responder-change-detection.test.ts +0 -102
  164. package/src/__tests__/responder-nested-cd.test.ts +0 -113
  165. package/src/angular-gaps.test.ts +0 -142
  166. package/src/angular-imports.test.ts +0 -100
  167. package/src/components/activity-indicator/activity-indicator-class-style.test.ts +0 -44
  168. package/src/components/activity-indicator/activity-indicator.test.ts +0 -131
  169. package/src/components/flat-list/column-wrapper-style-class.test.ts +0 -116
  170. package/src/components/flat-list/flat-list-array-style.test.ts +0 -131
  171. package/src/components/flat-list/flat-list-class-style.test.ts +0 -74
  172. package/src/components/flat-list/flat-list-scroll-containment.test.ts +0 -107
  173. package/src/components/flat-list/flat-list.test.ts +0 -99
  174. package/src/components/image/image-class-style.test.ts +0 -46
  175. package/src/components/image-background-class-style.test.ts +0 -48
  176. package/src/components/image-background-style-class.test.ts +0 -79
  177. package/src/components/input-accessory-view/input-accessory-view.test.ts +0 -43
  178. package/src/components/keyboard-avoiding-view/keyboard-avoiding-view.test.ts +0 -54
  179. package/src/components/modal/modal.test.ts +0 -43
  180. package/src/components/pressable/pressable.test.ts +0 -85
  181. package/src/components/refresh-control/refresh-control.test.ts +0 -41
  182. package/src/components/safe-area-view/safe-area-view.test.ts +0 -43
  183. package/src/components/scroll-view/android-scroll-view-axis-projection.test.ts +0 -123
  184. package/src/components/scroll-view/content-container-style-class.test.ts +0 -75
  185. package/src/components/scroll-view/scroll-view-class-style.test.ts +0 -134
  186. package/src/components/scroll-view/scroll-view-projection.test.ts +0 -194
  187. package/src/components/switch/android-switch-class.test.ts +0 -42
  188. package/src/components/switch/switch.test.ts +0 -92
  189. package/src/components/text-input-class-style.test.ts +0 -54
  190. package/src/components/touchable/touchable.test.ts +0 -102
  191. package/src/components/touchable-native-feedback/touchable-native-feedback.test.ts +0 -49
  192. package/src/components/virtualized-list/virtualized-list-class-style.test.ts +0 -76
  193. package/src/components/virtualized-section-list/virtualized-section-list-class-style.test.ts +0 -60
  194. package/src/create-portal/create-portal.test.ts +0 -90
  195. package/src/create-tunnel/create-tunnel.test.ts +0 -120
  196. package/src/descriptor-to-angular/descriptor-outlet.test.ts +0 -94
  197. package/src/host-instance/host-instance.test.ts +0 -49
  198. package/src/modules/animated/animated-leaf-binder/animated-leaf-binder.test.ts +0 -116
  199. package/src/modules/animated/animated-leaf-binder/index.ts +0 -101
  200. package/src/modules/animated/animated-leaf-binder.test.ts +0 -116
  201. package/src/modules/animated/animated-scroll-view.test.ts +0 -102
  202. package/src/modules/app-registry/app-registry.test.ts +0 -106
  203. package/src/modules/status-bar/status-bar.test.ts +0 -50
  204. package/src/render/render.test.ts +0 -147
  205. package/src/renderer/renderer.test.ts +0 -203
  206. package/src/services/services.test.ts +0 -163
@@ -1,7 +1,8 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { EventEmitter, type DoCheck, type OnChanges } from '@angular/core';
2
2
  import { type IAccessibilityProps, type IAccessibilityStateValue, type IAriaProps, type IPressableAndroidRippleConfig, type IPressHandler, type IPressState, type IRectOffset } from '@symbiote-native/components';
3
3
  import { type ISymbioteEvent, type IStyleProp, type IViewStyle } from '@symbiote-native/engine';
4
4
  import * as i0 from "@angular/core";
5
+ import * as i1 from "../../primitives/shared";
5
6
  export type { IPressState, IPressableAndroidRippleConfig } from '@symbiote-native/components';
6
7
  export interface IAngularPressableProps extends IAccessibilityProps, IAriaProps {
7
8
  onPress?: IPressHandler;
@@ -32,7 +33,7 @@ export interface IAngularPressableProps extends IAccessibilityProps, IAriaProps
32
33
  style?: IStyleProp<IViewStyle> | ((state: IPressState) => IStyleProp<IViewStyle>);
33
34
  }
34
35
  export type IAngularPressableInputs = Omit<IAngularPressableProps, 'onPress' | 'onPressIn' | 'onPressOut' | 'onPressMove' | 'onLongPress' | 'onHoverIn' | 'onHoverOut' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
35
- export declare class Pressable implements IAngularPressableInputs {
36
+ export declare class Pressable implements IAngularPressableInputs, OnChanges, DoCheck {
36
37
  readonly press: EventEmitter<ISymbioteEvent>;
37
38
  readonly pressIn: EventEmitter<ISymbioteEvent>;
38
39
  readonly pressOut: EventEmitter<ISymbioteEvent>;
@@ -98,15 +99,20 @@ export declare class Pressable implements IAngularPressableInputs {
98
99
  id?: string;
99
100
  role?: IAngularPressableProps['role'];
100
101
  private hostElement?;
101
- pressed: boolean;
102
+ private readonly pressedState;
103
+ get pressed(): boolean;
102
104
  private readonly runtime;
103
105
  private readonly host;
104
106
  private readonly changeDetector;
105
107
  private readonly elementRef;
108
+ private readonly inputsRevision;
109
+ private readonly anchorStyle;
110
+ ngDoCheck(): void;
111
+ ngOnChanges(): void;
106
112
  get resolvedStyle(): IStyleProp<IViewStyle> | undefined;
107
113
  get foldedAccessibility(): Partial<IAngularPressableProps>;
108
114
  get resolvedRippleProps(): Record<string, unknown> | undefined;
109
- get hostProps(): Record<string, unknown>;
115
+ readonly hostProps: import("@angular/core").Signal<Record<string, unknown>>;
110
116
  handlePressIn(event: unknown): void;
111
117
  handlePressOut(event: unknown): void;
112
118
  handlePress(event: unknown): void;
@@ -119,5 +125,5 @@ export declare class Pressable implements IAngularPressableInputs {
119
125
  private get handlers();
120
126
  private get hostNode();
121
127
  static ɵfac: i0.ɵɵFactoryDeclaration<Pressable, never>;
122
- static ɵcmp: i0.ɵɵComponentDeclaration<Pressable, "Pressable, symbiote-pressable", never, { "delayLongPress": { "alias": "delayLongPress"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "cancelable": { "alias": "cancelable"; "required": false; }; "hitSlop": { "alias": "hitSlop"; "required": false; }; "pressRetentionOffset": { "alias": "pressRetentionOffset"; "required": false; }; "unstable_pressDelay": { "alias": "unstable_pressDelay"; "required": false; }; "android_ripple": { "alias": "android_ripple"; "required": false; }; "android_disableSound": { "alias": "android_disableSound"; "required": false; }; "delayHoverIn": { "alias": "delayHoverIn"; "required": false; }; "delayHoverOut": { "alias": "delayHoverOut"; "required": false; }; "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "required": false; }; "hasTVPreferredFocus": { "alias": "hasTVPreferredFocus"; "required": false; }; "nextFocusDown": { "alias": "nextFocusDown"; "required": false; }; "nextFocusForward": { "alias": "nextFocusForward"; "required": false; }; "nextFocusLeft": { "alias": "nextFocusLeft"; "required": false; }; "nextFocusRight": { "alias": "nextFocusRight"; "required": false; }; "nextFocusUp": { "alias": "nextFocusUp"; "required": false; }; "style": { "alias": "style"; "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; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaBusy": { "alias": "ariaBusy"; "required": false; }; "ariaChecked": { "alias": "ariaChecked"; "required": false; }; "ariaDisabled": { "alias": "ariaDisabled"; "required": false; }; "ariaExpanded": { "alias": "ariaExpanded"; "required": false; }; "ariaHidden": { "alias": "ariaHidden"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaLive": { "alias": "ariaLive"; "required": false; }; "ariaSelected": { "alias": "ariaSelected"; "required": false; }; "ariaModal": { "alias": "ariaModal"; "required": false; }; "ariaValueMax": { "alias": "ariaValueMax"; "required": false; }; "ariaValueMin": { "alias": "ariaValueMin"; "required": false; }; "ariaValueNow": { "alias": "ariaValueNow"; "required": false; }; "ariaValueText": { "alias": "ariaValueText"; "required": false; }; "id": { "alias": "id"; "required": false; }; "role": { "alias": "role"; "required": false; }; }, { "press": "press"; "pressIn": "pressIn"; "pressOut": "pressOut"; "pressMove": "pressMove"; "longPress": "longPress"; "hoverIn": "hoverIn"; "hoverOut": "hoverOut"; "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, never, ["*"], true, never>;
128
+ static ɵcmp: i0.ɵɵComponentDeclaration<Pressable, "Pressable, symbiote-pressable", never, { "delayLongPress": { "alias": "delayLongPress"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "cancelable": { "alias": "cancelable"; "required": false; }; "hitSlop": { "alias": "hitSlop"; "required": false; }; "pressRetentionOffset": { "alias": "pressRetentionOffset"; "required": false; }; "unstable_pressDelay": { "alias": "unstable_pressDelay"; "required": false; }; "android_ripple": { "alias": "android_ripple"; "required": false; }; "android_disableSound": { "alias": "android_disableSound"; "required": false; }; "delayHoverIn": { "alias": "delayHoverIn"; "required": false; }; "delayHoverOut": { "alias": "delayHoverOut"; "required": false; }; "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "required": false; }; "hasTVPreferredFocus": { "alias": "hasTVPreferredFocus"; "required": false; }; "nextFocusDown": { "alias": "nextFocusDown"; "required": false; }; "nextFocusForward": { "alias": "nextFocusForward"; "required": false; }; "nextFocusLeft": { "alias": "nextFocusLeft"; "required": false; }; "nextFocusRight": { "alias": "nextFocusRight"; "required": false; }; "nextFocusUp": { "alias": "nextFocusUp"; "required": false; }; "style": { "alias": "style"; "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; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaBusy": { "alias": "ariaBusy"; "required": false; }; "ariaChecked": { "alias": "ariaChecked"; "required": false; }; "ariaDisabled": { "alias": "ariaDisabled"; "required": false; }; "ariaExpanded": { "alias": "ariaExpanded"; "required": false; }; "ariaHidden": { "alias": "ariaHidden"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaLive": { "alias": "ariaLive"; "required": false; }; "ariaSelected": { "alias": "ariaSelected"; "required": false; }; "ariaModal": { "alias": "ariaModal"; "required": false; }; "ariaValueMax": { "alias": "ariaValueMax"; "required": false; }; "ariaValueMin": { "alias": "ariaValueMin"; "required": false; }; "ariaValueNow": { "alias": "ariaValueNow"; "required": false; }; "ariaValueText": { "alias": "ariaValueText"; "required": false; }; "id": { "alias": "id"; "required": false; }; "role": { "alias": "role"; "required": false; }; }, { "press": "press"; "pressIn": "pressIn"; "pressOut": "pressOut"; "pressMove": "pressMove"; "longPress": "longPress"; "hoverIn": "hoverIn"; "hoverOut": "hoverOut"; "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, never, ["*"], true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
123
129
  }
@@ -1,8 +1,9 @@
1
- import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, inject, Input, Output, ViewChild, } from '@angular/core';
1
+ import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, computed, inject, Input, Output, signal, ViewChild, } from '@angular/core';
2
2
  import { createPressHandlers, createPressRuntime, DEFAULT_DELAY_LONG_PRESS_MS, isTerminationAllowed, resolveAccessibilityProps, resolveDisabledAccessibilityState, rippleProps, shouldClaimResponder, shouldSuppressPress, } from '@symbiote-native/components';
3
3
  import { dlog, isSymbioteNode, measure, } from '@symbiote-native/engine';
4
- import { anchorHostStyle, SymbioteHostPropsDirective, ViewHost } from '../../primitives';
4
+ import { anchorHostStyle, SymbioteHostPropsDirective, SymbioteStyleInputDirective, ViewHost, } from '../../primitives';
5
5
  import * as i0 from "@angular/core";
6
+ import * as i1 from "../../primitives/shared";
6
7
  function isStyleFn(value) {
7
8
  return typeof value === 'function';
8
9
  }
@@ -85,11 +86,19 @@ export class Pressable {
85
86
  id;
86
87
  role;
87
88
  hostElement;
88
- pressed = false;
89
+ // INTERNAL mutable state, driven by the press machine rather than by an @Input, so ngOnChanges
90
+ // can never cover it - it carries its OWN signal, which is what lets the memoized bag below stay
91
+ // correct across a press. Exposed as a plain boolean getter so a use site's `#ref.pressed` keeps
92
+ // reading a boolean and the public surface is unchanged.
93
+ pressedState = signal(false, /* @ts-ignore */
94
+ ...(ngDevMode ? [{ debugName: "pressedState" }] : /* istanbul ignore next */ []));
95
+ get pressed() {
96
+ return this.pressedState();
97
+ }
89
98
  runtime = createPressRuntime();
90
99
  host = {
91
100
  setPressed: pressed => {
92
- this.pressed = pressed;
101
+ this.pressedState.set(pressed);
93
102
  this.changeDetector.detectChanges();
94
103
  },
95
104
  getMeasureFn: () => {
@@ -108,6 +117,37 @@ export class Pressable {
108
117
  // onto (see anchorHostStyle's doc comment) - NOT `hostElement` above, which targets the real
109
118
  // inner `symbiote-view` one level down.
110
119
  elementRef = inject(ElementRef);
120
+ // Bridges the non-reactive @Input fields above into the reactive graph, so the computed() bag
121
+ // below can memoize a value derived from them. Signal inputs would make this unnecessary, but
122
+ // `input()` is visible only to the AOT compiler and this package's unit suite runs on JIT - see
123
+ // the `angular-adapter-change-detection` skill, §6. Mirrors ScrollView's identical bridge
124
+ // (components/scroll-view/shared.ts), including its constraint: ONLY safe for a bag whose every
125
+ // dependency is an @Input or carries its own signal, never for plain internal mutable state.
126
+ inputsRevision = signal(0, /* @ts-ignore */
127
+ ...(ngDevMode ? [{ debugName: "inputsRevision" }] : /* istanbul ignore next */ []));
128
+ // The anchor's class-derived style is the one hostProps dependency that is NOT an @Input:
129
+ // `class="..."`/`[class.x]`/`[ngClass]` at the use site resolves through the renderer's
130
+ // addClass/removeClass onto the anchor node (anchorHostStyle's doc comment), so it never appears
131
+ // in SimpleChanges and ngOnChanges cannot cover it. The engine's commitClassStyle allocates a
132
+ // fresh [classStyle, explicitStyle] array on exactly the passes where a class token actually
133
+ // moved, so signal.set's own Object.is check makes an unchanged poll a no-op that dirties nothing.
134
+ anchorStyle = signal(undefined, /* @ts-ignore */
135
+ ...(ngDevMode ? [{ debugName: "anchorStyle" }] : /* istanbul ignore next */ []));
136
+ // ngDoCheck is the only hook that observes the anchor AFTER the parent wrote it. Angular flushes
137
+ // a node's pre-order hooks at the next `advance` PAST it (hooks.ts callHooks runs "until that
138
+ // node index exclusive") or in refreshView's post-template flush - both strictly after the
139
+ // parent's classProp on this element, and strictly before this component's own view refreshes.
140
+ // Angular also nulls the active consumer around lifecycle hooks (render3/hooks.ts), so this
141
+ // write registers no dependency on the caller's view and cannot throw NG0600.
142
+ ngDoCheck() {
143
+ this.anchorStyle.set(anchorHostStyle(this.elementRef));
144
+ }
145
+ ngOnChanges() {
146
+ // Tells the computed bag below that an @Input moved - plain class fields are not reactive on
147
+ // their own. Must stay in ngOnChanges: that is the single moment Angular has finished writing
148
+ // every changed input for this pass.
149
+ this.inputsRevision.update(revision => revision + 1);
150
+ }
111
151
  get resolvedStyle() {
112
152
  const state = { pressed: this.pressed };
113
153
  return isStyleFn(this.style) ? this.style(state) : this.style;
@@ -153,7 +193,14 @@ export class Pressable {
153
193
  return this.android_ripple === undefined ? undefined : rippleProps(this.android_ripple);
154
194
  }
155
195
  // Flat bag for `[symbioteHostProps]` (Renderer2.setProperty per key) - see primitives/shared.ts.
156
- get hostProps() {
196
+ //
197
+ // MEASURED 2026-08-16: as a getter this rebuilt the bag on every refresh of this view, and a
198
+ // press dirties this very view (SymbioteHostPropsDirective wraps each flat-bag onX with
199
+ // markForCheck, and setPressed calls detectChanges outright), so `[symbioteHostProps]`'s
200
+ // reference check failed every time and re-pushed every key through Renderer2.setProperty ->
201
+ // routeProp for an identical bag. Memoized, an unchanged bag costs one reference compare.
202
+ hostProps = computed(() => {
203
+ this.inputsRevision();
157
204
  return {
158
205
  testID: this.testID,
159
206
  nativeID: this.nativeID,
@@ -163,14 +210,15 @@ export class Pressable {
163
210
  nextFocusLeft: this.nextFocusLeft,
164
211
  nextFocusRight: this.nextFocusRight,
165
212
  nextFocusUp: this.nextFocusUp,
166
- style: [anchorHostStyle(this.elementRef), this.resolvedStyle],
213
+ style: [this.anchorStyle(), this.resolvedStyle],
167
214
  accessible: this.accessible,
168
215
  ...this.foldedAccessibility,
169
216
  android_disableSound: this.android_disableSound,
170
217
  nativeBackgroundAndroid: this.resolvedRippleProps?.nativeBackgroundAndroid,
171
218
  nativeForegroundAndroid: this.resolvedRippleProps?.nativeForegroundAndroid,
172
219
  };
173
- }
220
+ }, /* @ts-ignore */
221
+ ...(ngDevMode ? [{ debugName: "hostProps" }] : /* istanbul ignore next */ []));
174
222
  handlePressIn(event) {
175
223
  const symbioteEvent = asSymbioteEvent(event);
176
224
  if (shouldSuppressPress(this.disabled) || symbioteEvent === undefined)
@@ -238,11 +286,11 @@ export class Pressable {
238
286
  const native = this.hostElement?.nativeElement;
239
287
  return isSymbioteNode(native) ? native : undefined;
240
288
  }
241
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Pressable, deps: [], target: i0.ɵɵFactoryTarget.Component });
242
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: Pressable, isStandalone: true, selector: "Pressable, symbiote-pressable", inputs: { delayLongPress: "delayLongPress", disabled: "disabled", cancelable: "cancelable", hitSlop: "hitSlop", pressRetentionOffset: "pressRetentionOffset", unstable_pressDelay: "unstable_pressDelay", android_ripple: "android_ripple", android_disableSound: "android_disableSound", delayHoverIn: "delayHoverIn", delayHoverOut: "delayHoverOut", testID: "testID", nativeID: "nativeID", hasTVPreferredFocus: "hasTVPreferredFocus", nextFocusDown: "nextFocusDown", nextFocusForward: "nextFocusForward", nextFocusLeft: "nextFocusLeft", nextFocusRight: "nextFocusRight", nextFocusUp: "nextFocusUp", style: "style", 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", ariaLabel: "ariaLabel", ariaBusy: "ariaBusy", ariaChecked: "ariaChecked", ariaDisabled: "ariaDisabled", ariaExpanded: "ariaExpanded", ariaHidden: "ariaHidden", ariaLabelledBy: "ariaLabelledBy", ariaLive: "ariaLive", ariaSelected: "ariaSelected", ariaModal: "ariaModal", ariaValueMax: "ariaValueMax", ariaValueMin: "ariaValueMin", ariaValueNow: "ariaValueNow", ariaValueText: "ariaValueText", id: "id", role: "role" }, outputs: { press: "press", pressIn: "pressIn", pressOut: "pressOut", pressMove: "pressMove", longPress: "longPress", hoverIn: "hoverIn", hoverOut: "hoverOut", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, viewQueries: [{ propertyName: "hostElement", first: true, predicate: ["host"], descendants: true, read: ElementRef }], ngImport: i0, template: `
289
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: Pressable, deps: [], target: i0.ɵɵFactoryTarget.Component });
290
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: Pressable, isStandalone: true, selector: "Pressable, symbiote-pressable", inputs: { delayLongPress: "delayLongPress", disabled: "disabled", cancelable: "cancelable", hitSlop: "hitSlop", pressRetentionOffset: "pressRetentionOffset", unstable_pressDelay: "unstable_pressDelay", android_ripple: "android_ripple", android_disableSound: "android_disableSound", delayHoverIn: "delayHoverIn", delayHoverOut: "delayHoverOut", testID: "testID", nativeID: "nativeID", hasTVPreferredFocus: "hasTVPreferredFocus", nextFocusDown: "nextFocusDown", nextFocusForward: "nextFocusForward", nextFocusLeft: "nextFocusLeft", nextFocusRight: "nextFocusRight", nextFocusUp: "nextFocusUp", style: "style", 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", ariaLabel: "ariaLabel", ariaBusy: "ariaBusy", ariaChecked: "ariaChecked", ariaDisabled: "ariaDisabled", ariaExpanded: "ariaExpanded", ariaHidden: "ariaHidden", ariaLabelledBy: "ariaLabelledBy", ariaLive: "ariaLive", ariaSelected: "ariaSelected", ariaModal: "ariaModal", ariaValueMax: "ariaValueMax", ariaValueMin: "ariaValueMin", ariaValueNow: "ariaValueNow", ariaValueText: "ariaValueText", id: "id", role: "role" }, outputs: { press: "press", pressIn: "pressIn", pressOut: "pressOut", pressMove: "pressMove", longPress: "longPress", hoverIn: "hoverIn", hoverOut: "hoverOut", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, viewQueries: [{ propertyName: "hostElement", first: true, predicate: ["host"], descendants: true, read: ElementRef }], usesOnChanges: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
243
291
  <symbiote-view
244
292
  #host
245
- [symbioteHostProps]="hostProps"
293
+ [symbioteHostProps]="hostProps()"
246
294
  (accessibilityAction)="emit(accessibilityAction, $event)"
247
295
  (accessibilityTap)="emit(accessibilityTap, $event)"
248
296
  (magicTap)="emit(magicTap, $event)"
@@ -258,17 +306,18 @@ export class Pressable {
258
306
  </symbiote-view>
259
307
  `, isInline: true, dependencies: [{ kind: "component", type: ViewHost, selector: "symbiote-view, View" }, { kind: "directive", type: SymbioteHostPropsDirective, selector: "[symbioteHostProps]", inputs: ["symbioteHostProps"], exportAs: ["symbioteHost"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
260
308
  }
261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: Pressable, decorators: [{
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: Pressable, decorators: [{
262
310
  type: Component,
263
311
  args: [{
264
312
  selector: 'Pressable, symbiote-pressable',
265
313
  standalone: true,
314
+ hostDirectives: [{ directive: SymbioteStyleInputDirective, inputs: ['style'] }],
266
315
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
267
316
  imports: [ViewHost, SymbioteHostPropsDirective],
268
317
  template: `
269
318
  <symbiote-view
270
319
  #host
271
- [symbioteHostProps]="hostProps"
320
+ [symbioteHostProps]="hostProps()"
272
321
  (accessibilityAction)="emit(accessibilityAction, $event)"
273
322
  (accessibilityTap)="emit(accessibilityTap, $event)"
274
323
  (magicTap)="emit(magicTap, $event)"
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/pressable/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/pressable/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { EventEmitter, type AfterViewInit, type OnChanges, type OnInit, type SimpleChanges } from '@angular/core';
1
+ import { EventEmitter, type AfterViewInit, type DoCheck, type OnChanges, type OnInit, type SimpleChanges } from '@angular/core';
2
2
  import { type IAccessibilityProps, type IAccessibilityStateValue, type IAriaProps } from '@symbiote-native/components';
3
3
  import { type IStyleProp, type ISymbioteEvent, type IViewStyle } from '@symbiote-native/engine';
4
4
  import * as i0 from "@angular/core";
5
+ import * as i1 from "../../primitives/shared";
5
6
  type IHostProps = Record<string, unknown>;
6
7
  export interface IAngularRefreshControlProps extends IAccessibilityProps, IAriaProps {
7
8
  refreshing: boolean;
@@ -17,7 +18,7 @@ export interface IAngularRefreshControlProps extends IAccessibilityProps, IAriaP
17
18
  style?: IStyleProp<IViewStyle>;
18
19
  }
19
20
  export type IAngularRefreshControlInputs = Omit<IAngularRefreshControlProps, 'onRefresh' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
20
- export declare class RefreshControl implements IAngularRefreshControlInputs, OnInit, OnChanges, AfterViewInit {
21
+ export declare class RefreshControl implements IAngularRefreshControlInputs, OnInit, OnChanges, DoCheck, AfterViewInit {
21
22
  refreshing: boolean;
22
23
  readonly refresh: EventEmitter<void>;
23
24
  tintColor?: string;
@@ -72,15 +73,18 @@ export declare class RefreshControl implements IAngularRefreshControlInputs, OnI
72
73
  private readonly elementRef;
73
74
  private lastNativeRefreshing;
74
75
  private refreshNativeNode;
76
+ private readonly hostPropsRevision;
77
+ private lastAnchorStyle;
75
78
  ngOnInit(): void;
76
79
  ngAfterViewInit(): void;
77
80
  ngOnChanges(changes: SimpleChanges): void;
78
81
  handleRefresh(nativeNode?: unknown): void;
79
82
  private syncNativeRefreshing;
80
83
  emit(emitter: EventEmitter<ISymbioteEvent>, event: unknown): void;
81
- get hostProps(): IHostProps;
84
+ ngDoCheck(): void;
85
+ readonly hostProps: import("@angular/core").Signal<IHostProps>;
82
86
  get folded(): Partial<IAngularRefreshControlProps>;
83
87
  static ɵfac: i0.ɵɵFactoryDeclaration<RefreshControl, never>;
84
- static ɵcmp: i0.ɵɵComponentDeclaration<RefreshControl, "RefreshControl", never, { "refreshing": { "alias": "refreshing"; "required": true; }; "tintColor": { "alias": "tintColor"; "required": false; }; "title": { "alias": "title"; "required": false; }; "titleColor": { "alias": "titleColor"; "required": false; }; "progressViewOffset": { "alias": "progressViewOffset"; "required": false; }; "colors": { "alias": "colors"; "required": false; }; "progressBackgroundColor": { "alias": "progressBackgroundColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; "enabled": { "alias": "enabled"; "required": false; }; "style": { "alias": "style"; "required": false; }; "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "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; }; "role": { "alias": "role"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledBy": { "alias": "aria-labelledby"; "required": false; }; "ariaLive": { "alias": "aria-live"; "required": false; }; "ariaHidden": { "alias": "aria-hidden"; "required": false; }; "ariaBusy": { "alias": "aria-busy"; "required": false; }; "ariaChecked": { "alias": "aria-checked"; "required": false; }; "ariaDisabled": { "alias": "aria-disabled"; "required": false; }; "ariaExpanded": { "alias": "aria-expanded"; "required": false; }; "ariaSelected": { "alias": "aria-selected"; "required": false; }; "ariaModal": { "alias": "aria-modal"; "required": false; }; "ariaValueMax": { "alias": "aria-valuemax"; "required": false; }; "ariaValueMin": { "alias": "aria-valuemin"; "required": false; }; "ariaValueNow": { "alias": "aria-valuenow"; "required": false; }; "ariaValueText": { "alias": "aria-valuetext"; "required": false; }; }, { "refresh": "refresh"; "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, never, ["*"], true, never>;
88
+ static ɵcmp: i0.ɵɵComponentDeclaration<RefreshControl, "RefreshControl", never, { "refreshing": { "alias": "refreshing"; "required": true; }; "tintColor": { "alias": "tintColor"; "required": false; }; "title": { "alias": "title"; "required": false; }; "titleColor": { "alias": "titleColor"; "required": false; }; "progressViewOffset": { "alias": "progressViewOffset"; "required": false; }; "colors": { "alias": "colors"; "required": false; }; "progressBackgroundColor": { "alias": "progressBackgroundColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; "enabled": { "alias": "enabled"; "required": false; }; "style": { "alias": "style"; "required": false; }; "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "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; }; "role": { "alias": "role"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledBy": { "alias": "aria-labelledby"; "required": false; }; "ariaLive": { "alias": "aria-live"; "required": false; }; "ariaHidden": { "alias": "aria-hidden"; "required": false; }; "ariaBusy": { "alias": "aria-busy"; "required": false; }; "ariaChecked": { "alias": "aria-checked"; "required": false; }; "ariaDisabled": { "alias": "aria-disabled"; "required": false; }; "ariaExpanded": { "alias": "aria-expanded"; "required": false; }; "ariaSelected": { "alias": "aria-selected"; "required": false; }; "ariaModal": { "alias": "aria-modal"; "required": false; }; "ariaValueMax": { "alias": "aria-valuemax"; "required": false; }; "ariaValueMin": { "alias": "aria-valuemin"; "required": false; }; "ariaValueNow": { "alias": "aria-valuenow"; "required": false; }; "ariaValueText": { "alias": "aria-valuetext"; "required": false; }; }, { "refresh": "refresh"; "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, never, ["*"], true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
85
89
  }
86
90
  export {};
@@ -1,21 +1,22 @@
1
1
  // RefreshControl, the Angular lifecycle half. On iOS this is the PullToRefreshView Fabric node that
2
2
  // lives INSIDE a ScrollView (a childless sibling before the content container); on Android it is
3
- // AndroidSwipeRefreshLayout and WRAPS the scroll view, receiving it through <ng-content>.
4
- // The Angular twin of the React/Vue RefreshControl. There is no JS-side platform renaming and no
5
- // shared render fn every prop forwards straight to the native node, which reads the ones it
6
- // understands and ignores the rest, so the Android-only and iOS-only families ride down harmlessly
7
- // on both. So this folds aria/role through the shared resolveAccessibilityProps and maps the native
8
- // props + a11y + onRefresh straight onto the symbiote-refresh-control host, children via <ng-content>.
9
- // No platform branch (one composed component both platforms), so this stays a flat single file.
3
+ // AndroidSwipeRefreshLayout and WRAPS the scroll view, receiving it through <ng-content>. There is
4
+ // no JS-side platform renaming and no shared render fn every prop forwards straight to the
5
+ // native node, which reads what it understands and ignores the rest, so Android-only and iOS-only
6
+ // prop families ride down harmlessly on both. This folds aria/role through the shared
7
+ // resolveAccessibilityProps and maps the native props + a11y + onRefresh onto the
8
+ // symbiote-refresh-control host, children via <ng-content>. One composed component covers both
9
+ // platforms, so this stays a flat single file.
10
10
  //
11
11
  // `refreshing` is a controlled prop: the parent owns it and pushes it down each commit; native
12
12
  // reports the gesture via the direct `topRefresh` event, which the engine routes to the host's
13
13
  // `refresh` listener (Angular blocks [onX] property bindings; events flow through (event) only).
14
- import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, inject, Input, Output, ViewChild, } from '@angular/core';
14
+ import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, computed, ElementRef, EventEmitter, inject, Input, Output, signal, ViewChild, } from '@angular/core';
15
15
  import { resolveAccessibilityProps, } from '@symbiote-native/components';
16
16
  import { dispatchViewCommand, dlog, isSymbioteEvent, isSymbioteNode, } from '@symbiote-native/engine';
17
- import { anchorHostStyle, RefreshControlHost, SymbioteHostPropsDirective } from '../../primitives';
17
+ import { anchorHostStyle, RefreshControlHost, SymbioteHostPropsDirective, SymbioteStyleInputDirective, } from '../../primitives';
18
18
  import * as i0 from "@angular/core";
19
+ import * as i1 from "../../primitives/shared";
19
20
  export class RefreshControl {
20
21
  // Controlled prop the parent owns; required to match the React reference surface.
21
22
  refreshing;
@@ -79,6 +80,18 @@ export class RefreshControl {
79
80
  elementRef = inject(ElementRef);
80
81
  lastNativeRefreshing = false;
81
82
  refreshNativeNode;
83
+ // Bridges the non-reactive @Input fields `hostProps` reads into the reactive graph, so it can
84
+ // memoize. Plain fields read inside a computed() are UNTRACKED - something must signal "a
85
+ // dependency changed" or the bag goes stale. Signal inputs would do this natively, but `input()`
86
+ // is visible only to the AOT compiler and this package's unit suite runs on JIT (see the
87
+ // `angular-adapter-change-detection` skill, §6); `signal()`/`computed()` are plain runtime APIs.
88
+ // Safe here because `refreshing` is a CONTROLLED @Input - the parent owns it, nothing in this
89
+ // class assigns it. The internal `lastNativeRefreshing` / `refreshNativeNode` fields drive the
90
+ // native handshake only; neither is read by the bag, so neither may bump this.
91
+ hostPropsRevision = signal(0, /* @ts-ignore */
92
+ ...(ngDevMode ? [{ debugName: "hostPropsRevision" }] : /* istanbul ignore next */ []));
93
+ // What the anchor's class-derived style was when the bag was last built (identity, not value).
94
+ lastAnchorStyle;
82
95
  ngOnInit() {
83
96
  dlog('RefreshControl -> PullToRefreshView');
84
97
  dlog(`RefreshControl refreshing=${String(this.refreshing)}`);
@@ -91,6 +104,9 @@ export class RefreshControl {
91
104
  this.lastNativeRefreshing = this.refreshing;
92
105
  }
93
106
  ngOnChanges(changes) {
107
+ // Before the `refreshing`-only early-return below: this is the single moment Angular has
108
+ // finished writing every changed @Input, and `hostProps` depends on the whole input surface.
109
+ this.hostPropsRevision.update(revision => revision + 1);
94
110
  const refreshing = changes.refreshing;
95
111
  if (refreshing === undefined)
96
112
  return;
@@ -123,11 +139,29 @@ export class RefreshControl {
123
139
  if (isSymbioteEvent(event))
124
140
  emitter.emit(event);
125
141
  }
142
+ // The anchor's class-derived style is NOT an @Input: `class="..."`/`[ngClass]` at the use site
143
+ // resolves through the renderer's addClass onto this component's anchor host (see
144
+ // anchorHostStyle's doc comment), so it never shows up in SimpleChanges and ngOnChanges alone
145
+ // would leave a later class toggle stranded. ngDoCheck runs at exactly the cadence the old
146
+ // getter was re-read, and bumps only on a real identity change.
147
+ ngDoCheck() {
148
+ const anchorStyle = anchorHostStyle(this.elementRef);
149
+ if (anchorStyle === this.lastAnchorStyle)
150
+ return;
151
+ this.lastAnchorStyle = anchorStyle;
152
+ this.hostPropsRevision.update(revision => revision + 1);
153
+ }
126
154
  // The full native + a11y prop bag applied onto the host in one shot via
127
155
  // [symbioteHostProps], instead of enumerating each key as its own template binding. The
128
156
  // anchor's class-derived style goes FIRST, this component's own explicit `style` @Input SECOND
129
157
  // — flattenStyle's later-wins collapse keeps an explicit [style] winning over its ambient class.
130
- get hostProps() {
158
+ //
159
+ // A computed(), not a getter: Angular re-reads a template getter on every refresh of this view
160
+ // and `[symbioteHostProps]` compares by REFERENCE, so a freshly rebuilt (but identical) bag
161
+ // re-pushes every key through renderer.setProperty -> the engine's prop routing. A pull gesture
162
+ // dirties this view through its own `(refresh)` binding, which is exactly when that waste hit.
163
+ hostProps = computed(() => {
164
+ this.hostPropsRevision();
131
165
  return {
132
166
  refreshing: this.refreshing,
133
167
  tintColor: this.tintColor,
@@ -144,7 +178,8 @@ export class RefreshControl {
144
178
  accessible: this.accessible,
145
179
  ...this.folded,
146
180
  };
147
- }
181
+ }, /* @ts-ignore */
182
+ ...(ngDevMode ? [{ debugName: "hostProps" }] : /* istanbul ignore next */ []));
148
183
  // Fold the web aria-*/role aliases into the canonical accessibility* props once per render, so the
149
184
  // host node never sees an aria-* key (native ignores them) — the shared transform every adapter runs.
150
185
  get folded() {
@@ -183,11 +218,11 @@ export class RefreshControl {
183
218
  'aria-valuetext': this.ariaValueText,
184
219
  });
185
220
  }
186
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: RefreshControl, deps: [], target: i0.ɵɵFactoryTarget.Component });
187
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: RefreshControl, isStandalone: true, selector: "RefreshControl", inputs: { refreshing: "refreshing", tintColor: "tintColor", title: "title", titleColor: "titleColor", progressViewOffset: "progressViewOffset", colors: "colors", progressBackgroundColor: "progressBackgroundColor", size: "size", enabled: "enabled", style: "style", testID: "testID", nativeID: "nativeID", accessible: "accessible", accessibilityLabel: "accessibilityLabel", accessibilityHint: "accessibilityHint", accessibilityRole: "accessibilityRole", accessibilityState: "accessibilityState", accessibilityValue: "accessibilityValue", accessibilityActions: "accessibilityActions", accessibilityLabelledBy: "accessibilityLabelledBy", importantForAccessibility: "importantForAccessibility", accessibilityLiveRegion: "accessibilityLiveRegion", screenReaderFocusable: "screenReaderFocusable", accessibilityViewIsModal: "accessibilityViewIsModal", accessibilityElementsHidden: "accessibilityElementsHidden", accessibilityIgnoresInvertColors: "accessibilityIgnoresInvertColors", accessibilityLanguage: "accessibilityLanguage", accessibilityRespondsToUserInteraction: "accessibilityRespondsToUserInteraction", accessibilityShowsLargeContentViewer: "accessibilityShowsLargeContentViewer", accessibilityLargeContentTitle: "accessibilityLargeContentTitle", role: "role", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledBy: ["aria-labelledby", "ariaLabelledBy"], ariaLive: ["aria-live", "ariaLive"], ariaHidden: ["aria-hidden", "ariaHidden"], ariaBusy: ["aria-busy", "ariaBusy"], ariaChecked: ["aria-checked", "ariaChecked"], ariaDisabled: ["aria-disabled", "ariaDisabled"], ariaExpanded: ["aria-expanded", "ariaExpanded"], ariaSelected: ["aria-selected", "ariaSelected"], ariaModal: ["aria-modal", "ariaModal"], ariaValueMax: ["aria-valuemax", "ariaValueMax"], ariaValueMin: ["aria-valuemin", "ariaValueMin"], ariaValueNow: ["aria-valuenow", "ariaValueNow"], ariaValueText: ["aria-valuetext", "ariaValueText"] }, outputs: { refresh: "refresh", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
221
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: RefreshControl, deps: [], target: i0.ɵɵFactoryTarget.Component });
222
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: RefreshControl, isStandalone: true, selector: "RefreshControl", inputs: { refreshing: "refreshing", tintColor: "tintColor", title: "title", titleColor: "titleColor", progressViewOffset: "progressViewOffset", colors: "colors", progressBackgroundColor: "progressBackgroundColor", size: "size", enabled: "enabled", style: "style", testID: "testID", nativeID: "nativeID", accessible: "accessible", accessibilityLabel: "accessibilityLabel", accessibilityHint: "accessibilityHint", accessibilityRole: "accessibilityRole", accessibilityState: "accessibilityState", accessibilityValue: "accessibilityValue", accessibilityActions: "accessibilityActions", accessibilityLabelledBy: "accessibilityLabelledBy", importantForAccessibility: "importantForAccessibility", accessibilityLiveRegion: "accessibilityLiveRegion", screenReaderFocusable: "screenReaderFocusable", accessibilityViewIsModal: "accessibilityViewIsModal", accessibilityElementsHidden: "accessibilityElementsHidden", accessibilityIgnoresInvertColors: "accessibilityIgnoresInvertColors", accessibilityLanguage: "accessibilityLanguage", accessibilityRespondsToUserInteraction: "accessibilityRespondsToUserInteraction", accessibilityShowsLargeContentViewer: "accessibilityShowsLargeContentViewer", accessibilityLargeContentTitle: "accessibilityLargeContentTitle", role: "role", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledBy: ["aria-labelledby", "ariaLabelledBy"], ariaLive: ["aria-live", "ariaLive"], ariaHidden: ["aria-hidden", "ariaHidden"], ariaBusy: ["aria-busy", "ariaBusy"], ariaChecked: ["aria-checked", "ariaChecked"], ariaDisabled: ["aria-disabled", "ariaDisabled"], ariaExpanded: ["aria-expanded", "ariaExpanded"], ariaSelected: ["aria-selected", "ariaSelected"], ariaModal: ["aria-modal", "ariaModal"], ariaValueMax: ["aria-valuemax", "ariaValueMax"], ariaValueMin: ["aria-valuemin", "ariaValueMin"], ariaValueNow: ["aria-valuenow", "ariaValueNow"], ariaValueText: ["aria-valuetext", "ariaValueText"] }, outputs: { refresh: "refresh", accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape" }, viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
188
223
  <symbiote-refresh-control
189
224
  #host
190
- [symbioteHostProps]="hostProps"
225
+ [symbioteHostProps]="hostProps()"
191
226
  (refresh)="handleRefresh()"
192
227
  (accessibilityAction)="emit(accessibilityAction, $event)"
193
228
  (accessibilityTap)="emit(accessibilityTap, $event)"
@@ -198,18 +233,19 @@ export class RefreshControl {
198
233
  </symbiote-refresh-control>
199
234
  `, isInline: true, dependencies: [{ kind: "component", type: RefreshControlHost, selector: "symbiote-refresh-control" }, { kind: "directive", type: SymbioteHostPropsDirective, selector: "[symbioteHostProps]", inputs: ["symbioteHostProps"], exportAs: ["symbioteHost"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
200
235
  }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: RefreshControl, decorators: [{
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: RefreshControl, decorators: [{
202
237
  type: Component,
203
238
  args: [{
204
239
  selector: 'RefreshControl',
205
240
  standalone: true,
241
+ hostDirectives: [{ directive: SymbioteStyleInputDirective, inputs: ['style'] }],
206
242
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
207
243
  imports: [RefreshControlHost, SymbioteHostPropsDirective],
208
244
  changeDetection: ChangeDetectionStrategy.OnPush,
209
245
  template: `
210
246
  <symbiote-refresh-control
211
247
  #host
212
- [symbioteHostProps]="hostProps"
248
+ [symbioteHostProps]="hostProps()"
213
249
  (refresh)="handleRefresh()"
214
250
  (accessibilityAction)="emit(accessibilityAction, $event)"
215
251
  (accessibilityTap)="emit(accessibilityTap, $event)"
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/refresh-control/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/refresh-control/index.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,iGAAiG;AACjG,mGAAmG;AACnG,6FAA6F;AAC7F,kGAAkG;AAClG,sFAAsF;AACtF,kFAAkF;AAClF,+FAA+F;AAC/F,+CAA+C;AAC/C,EAAE;AACF,+FAA+F;AAC/F,+FAA+F;AAC/F,iGAAiG;AAEjG,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,EACN,SAAS,GAMV,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,GAI1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,IAAI,EACJ,eAAe,EACf,cAAc,GAIf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;;;AAiE1B,MAAM,OAAO,cAAc;IAGzB,kFAAkF;IACvD,UAAU,CAAW;IAChD,iGAAiG;IACjG,qGAAqG;IAClF,OAAO,GAAG,IAAI,YAAY,EAAQ,CAAC;IAC7C,SAAS,CAAU;IACnB,KAAK,CAAU;IACf,UAAU,CAAU;IACpB,kBAAkB,CAAU;IAC5B,MAAM,CAAqB;IAC3B,uBAAuB,CAAU;IACjC,IAAI,CAAuB;IAC3B,OAAO,CAAW;IAClB,KAAK,CAA0B;IAC/B,MAAM,CAAU;IAChB,QAAQ,CAAU;IAClB,UAAU,CAAW;IACrB,kBAAkB,CAAU;IAC5B,iBAAiB,CAAU;IAC3B,iBAAiB,CAA4C;IAC7D,kBAAkB,CAA4B;IAC9C,kBAAkB,CAA6C;IAC/D,oBAAoB,CAA+C;IACnE,uBAAuB,CAAqB;IAC5C,yBAAyB,CAAoD;IAC7E,uBAAuB,CAAkD;IACzE,qBAAqB,CAAW;IAChC,wBAAwB,CAAW;IACnC,2BAA2B,CAAW;IACtC,gCAAgC,CAAW;IAC3C,qBAAqB,CAAU;IAC/B,sCAAsC,CAAW;IACjD,oCAAoC,CAAW;IAC/C,8BAA8B,CAAU;IAC9B,mBAAmB,GAAG,IAAI,YAAY,EAAkB,CAAC;IACzD,gBAAgB,GAAG,IAAI,YAAY,EAAkB,CAAC;IACtD,QAAQ,GAAG,IAAI,YAAY,EAAkB,CAAC;IAC9C,mBAAmB,GAAG,IAAI,YAAY,EAAkB,CAAC;IACnE,IAAI,CAAsB;IACd,SAAS,CAAU;IACd,cAAc,CAAU;IAC9B,QAAQ,CAA2B;IACjC,UAAU,CAAW;IACvB,QAAQ,CAAW;IAChB,WAAW,CAAqB;IAC/B,YAAY,CAAW;IACvB,YAAY,CAAW;IACvB,YAAY,CAAW;IAC1B,SAAS,CAAW;IACjB,YAAY,CAAU;IACtB,YAAY,CAAU;IACtB,YAAY,CAAU;IACrB,aAAa,CAAU;IAEhD,gGAAgG;IAChG,kDAAkD;IACvB,IAAI,CAAsB;IAErD,6FAA6F;IAC7F,gGAAgG;IAChG,6DAA6D;IAC5C,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEzC,oBAAoB,GAAG,KAAK,CAAC;IAC7B,iBAAiB,CAAU;IAEnC,8FAA8F;IAC9F,0FAA0F;IAC1F,iGAAiG;IACjG,yFAAyF;IACzF,iGAAiG;IACjG,8FAA8F;IAC9F,+FAA+F;IAC/F,+EAA+E;IAC9D,iBAAiB,GAAG,MAAM,CAAC,CAAC;0FAAC,CAAC;IAC/C,+FAA+F;IACvF,eAAe,CAAU;IAEjC,QAAQ;QACN,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC5C,IAAI,CAAC,6BAA6B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAC5B,IAAI,CAAC,0BAA0B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC;IAC3E,CAAC;IAED,eAAe;QACb,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,yFAAyF;QACzF,6FAA6F;QAC7F,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO;QACrC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;YAC3B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAChF,CAAC;IAED,4FAA4F;IAC5F,kGAAkG;IAClG,kGAAkG;IAClG,aAAa,CAAC,aAAsB,IAAI,CAAC,IAAI,EAAE,aAAa;QAC1D,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEO,oBAAoB,CAAC,UAAmB;QAC9C,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,oBAAoB;YAAE,OAAO;QAC1D,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YAAE,OAAO;QACxC,mBAAmB,CAAC,UAAU,EAAE,qBAAqB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC;IAC9C,CAAC;IAED,6FAA6F;IAC7F,oFAAoF;IACpF,IAAI,CAAC,OAAqC,EAAE,KAAc;QACxD,IAAI,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,+FAA+F;IAC/F,kFAAkF;IAClF,8FAA8F;IAC9F,2FAA2F;IAC3F,gEAAgE;IAChE,SAAS;QACP,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,WAAW,KAAK,IAAI,CAAC,eAAe;YAAE,OAAO;QACjD,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,wEAAwE;IACxE,wFAAwF;IACxF,+FAA+F;IAC/F,iGAAiG;IACjG,EAAE;IACF,+FAA+F;IAC/F,4FAA4F;IAC5F,gGAAgG;IAChG,+FAA+F;IACtF,SAAS,GAAG,QAAQ,CAAa,GAAG,EAAE;QAC7C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;YACrD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,IAAI,CAAC,MAAM;SACf,CAAC;IACJ,CAAC;kFAAC,CAAC;IAEH,mGAAmG;IACnG,sGAAsG;IACtG,IAAI,MAAM;QACR,OAAO,yBAAyB,CAAC;YAC/B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;YACzD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,gCAAgC,EAAE,IAAI,CAAC,gCAAgC;YACvE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,sCAAsC,EAAE,IAAI,CAAC,sCAAsC;YACnF,oCAAoC,EAAE,IAAI,CAAC,oCAAoC;YAC/E,8BAA8B,EAAE,IAAI,CAAC,8BAA8B;YACnE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,SAAS;YAC5B,iBAAiB,EAAE,IAAI,CAAC,cAAc;YACtC,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,aAAa,EAAE,IAAI,CAAC,UAAU;YAC9B,WAAW,EAAE,IAAI,CAAC,QAAQ;YAC1B,cAAc,EAAE,IAAI,CAAC,WAAW;YAChC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,YAAY,EAAE,IAAI,CAAC,SAAS;YAC5B,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,gBAAgB,EAAE,IAAI,CAAC,aAAa;SACrC,CAAC,CAAC;IACL,CAAC;uGA/MU,cAAc;2FAAd,cAAc,m0EAdf;;;;;;;;;;;;GAYT,4DAdS,kBAAkB,qEAAE,0BAA0B;;2FAgB7C,cAAc;kBArB1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/E,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;oBACzD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE;;;;;;;;;;;;GAYT;iBACF;;sBAKE,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBAGxB,MAAM;;sBACN,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,KAAK;;sBACL,MAAM;;sBACN,MAAM;;sBACN,MAAM;;sBACN,MAAM;;sBACN,KAAK;;sBACL,KAAK;uBAAC,YAAY;;sBAClB,KAAK;uBAAC,iBAAiB;;sBACvB,KAAK;uBAAC,WAAW;;sBACjB,KAAK;uBAAC,aAAa;;sBACnB,KAAK;uBAAC,WAAW;;sBACjB,KAAK;uBAAC,cAAc;;sBACpB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,YAAY;;sBAClB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,gBAAgB;;sBAItB,SAAS;uBAAC,MAAM"}
@@ -1,13 +1,14 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { EventEmitter, type DoCheck, type OnChanges } from '@angular/core';
2
2
  import { type IAccessibilityProps, type IAccessibilityStateValue, type IAriaProps } from '@symbiote-native/components';
3
3
  import { type IStyleProp, type ISymbioteEvent, type IViewStyle } from '@symbiote-native/engine';
4
4
  import * as i0 from "@angular/core";
5
+ import * as i1 from "../../primitives/shared";
5
6
  export interface IAngularSafeAreaViewProps extends IAccessibilityProps, IAriaProps {
6
7
  style?: IStyleProp<IViewStyle>;
7
8
  onLayout?: (event: ISymbioteEvent) => void;
8
9
  }
9
10
  export type IAngularSafeAreaViewInputs = Omit<IAngularSafeAreaViewProps, 'onLayout' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
10
- export declare class SafeAreaView implements IAngularSafeAreaViewInputs {
11
+ export declare class SafeAreaView implements IAngularSafeAreaViewInputs, OnChanges, DoCheck {
11
12
  style?: IStyleProp<IViewStyle>;
12
13
  readonly layout: EventEmitter<ISymbioteEvent>;
13
14
  readonly accessibilityAction: EventEmitter<ISymbioteEvent>;
@@ -51,7 +52,11 @@ export declare class SafeAreaView implements IAngularSafeAreaViewInputs {
51
52
  ariaValueText?: string;
52
53
  private readonly elementRef;
53
54
  emit(emitter: EventEmitter<ISymbioteEvent>, event: unknown): void;
54
- get hostProps(): Record<string, unknown>;
55
+ private readonly hostPropsRevision;
56
+ private lastAnchorStyle;
57
+ ngOnChanges(): void;
58
+ ngDoCheck(): void;
59
+ readonly hostProps: import("@angular/core").Signal<Record<string, unknown>>;
55
60
  static ɵfac: i0.ɵɵFactoryDeclaration<SafeAreaView, never>;
56
- static ɵcmp: i0.ɵɵComponentDeclaration<SafeAreaView, "SafeAreaView", never, { "style": { "alias": "style"; "required": false; }; "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "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; }; "role": { "alias": "role"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledBy": { "alias": "aria-labelledby"; "required": false; }; "ariaLive": { "alias": "aria-live"; "required": false; }; "ariaHidden": { "alias": "aria-hidden"; "required": false; }; "ariaBusy": { "alias": "aria-busy"; "required": false; }; "ariaChecked": { "alias": "aria-checked"; "required": false; }; "ariaDisabled": { "alias": "aria-disabled"; "required": false; }; "ariaExpanded": { "alias": "aria-expanded"; "required": false; }; "ariaSelected": { "alias": "aria-selected"; "required": false; }; "ariaModal": { "alias": "aria-modal"; "required": false; }; "ariaValueMax": { "alias": "aria-valuemax"; "required": false; }; "ariaValueMin": { "alias": "aria-valuemin"; "required": false; }; "ariaValueNow": { "alias": "aria-valuenow"; "required": false; }; "ariaValueText": { "alias": "aria-valuetext"; "required": false; }; }, { "layout": "layout"; "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, never, ["*"], true, never>;
61
+ static ɵcmp: i0.ɵɵComponentDeclaration<SafeAreaView, "SafeAreaView", never, { "style": { "alias": "style"; "required": false; }; "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "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; }; "role": { "alias": "role"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledBy": { "alias": "aria-labelledby"; "required": false; }; "ariaLive": { "alias": "aria-live"; "required": false; }; "ariaHidden": { "alias": "aria-hidden"; "required": false; }; "ariaBusy": { "alias": "aria-busy"; "required": false; }; "ariaChecked": { "alias": "aria-checked"; "required": false; }; "ariaDisabled": { "alias": "aria-disabled"; "required": false; }; "ariaExpanded": { "alias": "aria-expanded"; "required": false; }; "ariaSelected": { "alias": "aria-selected"; "required": false; }; "ariaModal": { "alias": "aria-modal"; "required": false; }; "ariaValueMax": { "alias": "aria-valuemax"; "required": false; }; "ariaValueMin": { "alias": "aria-valuemin"; "required": false; }; "ariaValueNow": { "alias": "aria-valuenow"; "required": false; }; "ariaValueText": { "alias": "aria-valuetext"; "required": false; }; }, { "layout": "layout"; "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; }, never, ["*"], true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
57
62
  }