@symbiote-native/angular 3.3.0 → 3.5.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 (187) hide show
  1. package/babel-register-composed.cjs +1 -0
  2. package/build/angular/accessibility-inputs.d.ts +2 -1
  3. package/build/angular/accessibility-inputs.js +4 -1
  4. package/build/angular/accessibility-inputs.js.map +1 -1
  5. package/build/angular/callback-host.d.ts +1 -1
  6. package/build/angular/callback-host.js +57 -9
  7. package/build/angular/callback-host.js.map +1 -1
  8. package/build/angular/components/flat-list/flat-list-handle.d.ts +35 -0
  9. package/build/angular/components/flat-list/flat-list-handle.js +48 -0
  10. package/build/angular/components/flat-list/flat-list-handle.js.map +1 -0
  11. package/build/angular/components/flat-list/flat-list-template.d.ts +1 -1
  12. package/build/angular/components/flat-list/flat-list-template.js +16 -0
  13. package/build/angular/components/flat-list/flat-list-template.js.map +1 -1
  14. package/build/angular/components/flat-list/index.d.ts +6 -30
  15. package/build/angular/components/flat-list/index.js +6 -36
  16. package/build/angular/components/flat-list/index.js.map +1 -1
  17. package/build/angular/components/image-inputs.d.ts +4 -0
  18. package/build/angular/components/image-inputs.js +81 -0
  19. package/build/angular/components/image-inputs.js.map +1 -0
  20. package/build/angular/components/image-props-resolve.d.ts +3 -0
  21. package/build/angular/components/image-props-resolve.js +133 -0
  22. package/build/angular/components/image-props-resolve.js.map +1 -0
  23. package/build/angular/components/image-shared.d.ts +8 -6
  24. package/build/angular/components/image-shared.js +23 -212
  25. package/build/angular/components/image-shared.js.map +1 -1
  26. package/build/angular/components/input-accessory-view-props.d.ts +4 -4
  27. package/build/angular/components/keyboard-avoiding-view/index.d.ts +3 -6
  28. package/build/angular/components/keyboard-avoiding-view/index.js +29 -56
  29. package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
  30. package/build/angular/components/layout-conformance-props.d.ts +4 -0
  31. package/build/angular/components/layout-conformance-props.js +2 -0
  32. package/build/angular/components/layout-conformance-props.js.map +1 -0
  33. package/build/angular/components/modal/index.d.ts +6 -5
  34. package/build/angular/components/modal/index.js +17 -2
  35. package/build/angular/components/modal/index.js.map +1 -1
  36. package/build/angular/components/refresh-control-props.d.ts +7 -7
  37. package/build/angular/components/scroll-view-props.d.ts +8 -5
  38. package/build/angular/components/section-list/index.d.ts +17 -8
  39. package/build/angular/components/section-list/index.js +37 -28
  40. package/build/angular/components/section-list/index.js.map +1 -1
  41. package/build/angular/components/touchable-props.d.ts +2 -2
  42. package/build/angular/components/virtualized-list/cell-renderer-context.d.ts +12 -0
  43. package/build/angular/components/virtualized-list/cell-renderer-context.js +16 -0
  44. package/build/angular/components/virtualized-list/cell-renderer-context.js.map +1 -0
  45. package/build/angular/components/virtualized-list/directives.d.ts +26 -6
  46. package/build/angular/components/virtualized-list/directives.js +59 -5
  47. package/build/angular/components/virtualized-list/directives.js.map +1 -1
  48. package/build/angular/components/virtualized-list/index.d.ts +19 -15
  49. package/build/angular/components/virtualized-list/index.js +91 -61
  50. package/build/angular/components/virtualized-list/index.js.map +1 -1
  51. package/build/angular/components/virtualized-list/list-bags.d.ts +5 -1
  52. package/build/angular/components/virtualized-list/list-bags.js +31 -19
  53. package/build/angular/components/virtualized-list/list-bags.js.map +1 -1
  54. package/build/angular/components/virtualized-list/list-effects.d.ts +2 -2
  55. package/build/angular/components/virtualized-list/list-effects.js +17 -27
  56. package/build/angular/components/virtualized-list/list-effects.js.map +1 -1
  57. package/build/angular/components/virtualized-list/list-handle.d.ts +4 -1
  58. package/build/angular/components/virtualized-list/list-handle.js +13 -3
  59. package/build/angular/components/virtualized-list/list-handle.js.map +1 -1
  60. package/build/angular/components/virtualized-list/list-inputs.d.ts +19 -5
  61. package/build/angular/components/virtualized-list/list-inputs.js +47 -4
  62. package/build/angular/components/virtualized-list/list-inputs.js.map +1 -1
  63. package/build/angular/components/virtualized-list/list-props.d.ts +9 -3
  64. package/build/angular/components/virtualized-list/list-rows.d.ts +25 -0
  65. package/build/angular/components/virtualized-list/list-rows.js +25 -0
  66. package/build/angular/components/virtualized-list/list-rows.js.map +1 -0
  67. package/build/angular/components/virtualized-list/list-styles.d.ts +4 -0
  68. package/build/angular/components/virtualized-list/list-styles.js +10 -2
  69. package/build/angular/components/virtualized-list/list-styles.js.map +1 -1
  70. package/build/angular/components/virtualized-list/list-template.d.ts +1 -1
  71. package/build/angular/components/virtualized-list/list-template.js +159 -73
  72. package/build/angular/components/virtualized-list/list-template.js.map +1 -1
  73. package/build/angular/components/virtualized-list/nested-scope.d.ts +6 -0
  74. package/build/angular/components/virtualized-list/nested-scope.js +17 -0
  75. package/build/angular/components/virtualized-list/nested-scope.js.map +1 -0
  76. package/build/angular/components/virtualized-section-list/directives.d.ts +21 -9
  77. package/build/angular/components/virtualized-section-list/directives.js +8 -28
  78. package/build/angular/components/virtualized-section-list/directives.js.map +1 -1
  79. package/build/angular/components/virtualized-section-list/index.d.ts +39 -60
  80. package/build/angular/components/virtualized-section-list/index.js +67 -33
  81. package/build/angular/components/virtualized-section-list/index.js.map +1 -1
  82. package/build/angular/components/virtualized-section-list/section-cell.d.ts +29 -0
  83. package/build/angular/components/virtualized-section-list/section-cell.js +82 -0
  84. package/build/angular/components/virtualized-section-list/section-cell.js.map +1 -0
  85. package/build/angular/components/virtualized-section-list/section-list-props.d.ts +56 -0
  86. package/build/angular/components/virtualized-section-list/section-list-props.js +3 -0
  87. package/build/angular/components/virtualized-section-list/section-list-props.js.map +1 -0
  88. package/build/angular/components/virtualized-section-list/section-list-template.d.ts +1 -1
  89. package/build/angular/components/virtualized-section-list/section-list-template.js +34 -26
  90. package/build/angular/components/virtualized-section-list/section-list-template.js.map +1 -1
  91. package/build/angular/components.d.ts +7 -3
  92. package/build/angular/components.js +2 -1
  93. package/build/angular/components.js.map +1 -1
  94. package/build/angular/element-base.d.ts +17 -1
  95. package/build/angular/element-base.js +33 -1
  96. package/build/angular/element-base.js.map +1 -1
  97. package/build/angular/element-props.d.ts +7 -7
  98. package/build/angular/element-text-input-native.d.ts +27 -0
  99. package/build/angular/element-text-input-native.js +52 -0
  100. package/build/angular/element-text-input-native.js.map +1 -0
  101. package/build/angular/elements-controls.d.ts +8 -2
  102. package/build/angular/elements-controls.js +13 -1
  103. package/build/angular/elements-controls.js.map +1 -1
  104. package/build/angular/elements-layout.d.ts +20 -3
  105. package/build/angular/elements-layout.js +37 -3
  106. package/build/angular/elements-layout.js.map +1 -1
  107. package/build/angular/elements-press.d.ts +10 -3
  108. package/build/angular/elements-press.js +13 -1
  109. package/build/angular/elements-press.js.map +1 -1
  110. package/build/angular/elements.d.ts +3 -3
  111. package/build/angular/elements.js +3 -2
  112. package/build/angular/elements.js.map +1 -1
  113. package/build/angular/index.d.ts +15 -7
  114. package/build/angular/index.js +22 -25
  115. package/build/angular/index.js.map +1 -1
  116. package/build/angular/modules/animated/create-animated-component.d.ts +1 -1
  117. package/build/angular/modules/animated/create-animated-component.js +1 -1
  118. package/build/angular/modules/animated/create-animated-component.js.map +1 -1
  119. package/build/angular/modules/animated/index.d.ts +54 -41
  120. package/build/angular/modules/animated/index.js +2 -26
  121. package/build/angular/modules/animated/index.js.map +1 -1
  122. package/build/angular/modules/app-registry/index.d.ts +3 -3
  123. package/build/angular/modules/app-registry/index.js +2 -2
  124. package/build/angular/modules/app-registry/index.js.map +1 -1
  125. package/build/angular/modules/status-bar/index.d.ts +9 -5
  126. package/build/angular/modules/status-bar/index.js +21 -10
  127. package/build/angular/modules/status-bar/index.js.map +1 -1
  128. package/build/angular/primitives/index.d.ts +4 -0
  129. package/build/angular/primitives/index.js +12 -0
  130. package/build/angular/primitives/index.js.map +1 -1
  131. package/build/angular/render/index.d.ts +2 -2
  132. package/build/angular/render/index.js +10 -29
  133. package/build/angular/render/index.js.map +1 -1
  134. package/build/angular/root-tag.d.ts +4 -0
  135. package/build/angular/root-tag.js +10 -0
  136. package/build/angular/root-tag.js.map +1 -0
  137. package/build/angular/services/color-scheme.service.d.ts +1 -1
  138. package/package.json +6 -6
  139. package/src/accessibility-inputs.ts +3 -0
  140. package/src/callback-host.ts +56 -8
  141. package/src/components/flat-list/flat-list-handle.ts +64 -0
  142. package/src/components/flat-list/flat-list-template.ts +16 -0
  143. package/src/components/flat-list/index.ts +6 -48
  144. package/src/components/image-inputs.ts +94 -0
  145. package/src/components/image-props-resolve.ts +172 -0
  146. package/src/components/image-shared.ts +26 -291
  147. package/src/components/input-accessory-view-props.ts +12 -8
  148. package/src/components/keyboard-avoiding-view/index.ts +39 -79
  149. package/src/components/layout-conformance-props.ts +8 -0
  150. package/src/components/modal/index.ts +42 -20
  151. package/src/components/refresh-control-props.ts +29 -25
  152. package/src/components/scroll-view-props.ts +84 -76
  153. package/src/components/section-list/index.ts +34 -37
  154. package/src/components/touchable-props.ts +6 -2
  155. package/src/components/virtualized-list/cell-renderer-context.ts +36 -0
  156. package/src/components/virtualized-list/directives.ts +84 -8
  157. package/src/components/virtualized-list/index.ts +118 -85
  158. package/src/components/virtualized-list/list-bags.ts +38 -19
  159. package/src/components/virtualized-list/list-effects.ts +20 -32
  160. package/src/components/virtualized-list/list-handle.ts +17 -4
  161. package/src/components/virtualized-list/list-inputs.ts +47 -0
  162. package/src/components/virtualized-list/list-props.ts +57 -50
  163. package/src/components/virtualized-list/list-rows.ts +66 -0
  164. package/src/components/virtualized-list/list-styles.ts +30 -1
  165. package/src/components/virtualized-list/list-template.ts +159 -73
  166. package/src/components/virtualized-list/nested-scope.ts +22 -0
  167. package/src/components/virtualized-section-list/directives.ts +41 -40
  168. package/src/components/virtualized-section-list/index.ts +114 -118
  169. package/src/components/virtualized-section-list/section-cell.ts +109 -0
  170. package/src/components/virtualized-section-list/section-list-props.ts +79 -0
  171. package/src/components/virtualized-section-list/section-list-template.ts +34 -26
  172. package/src/components.ts +8 -0
  173. package/src/element-base.ts +17 -0
  174. package/src/element-props.ts +35 -33
  175. package/src/element-text-input-native.ts +31 -0
  176. package/src/elements-controls.ts +9 -1
  177. package/src/elements-layout.ts +27 -0
  178. package/src/elements-press.ts +10 -2
  179. package/src/elements.ts +3 -0
  180. package/src/index.ts +79 -22
  181. package/src/modules/animated/index.ts +2 -47
  182. package/src/modules/app-registry/index.ts +3 -1
  183. package/src/modules/status-bar/index.ts +24 -11
  184. package/src/primitives/index.ts +7 -0
  185. package/src/render/index.ts +23 -50
  186. package/src/root-tag.ts +14 -0
  187. package/src/services/color-scheme.service.ts +1 -1
@@ -1,218 +1,12 @@
1
- // The input surface and prop fold `AnimatedImage` builds on. The primitive is the `<image>` tag
2
- // (`ImageElement`), which folds its source via `registerImageBehavior`; `Animated.Image` stays a
3
- // component and is the only consumer left, one flat file (`symbiote-file-layout`).
1
+ // The input surface and prop fold `Animated.Image` builds on, the `<image>` tag is `ImageElement`
4
2
  import { EventEmitter, computed, signal } from '@angular/core';
5
3
  import { gateWanted, injectGateDemand, } from '../gate-demand';
6
- import { imageStatics, renderImage, resolveAccessibilityProps, } from '@symbiote-native/components';
7
- import { isSymbioteEvent, } from '@symbiote-native/engine';
4
+ import { imageStatics, } from '@symbiote-native/components';
5
+ import { isSymbioteEvent } from '@symbiote-native/engine';
6
+ import { resolveImageProps } from './image-props-resolve';
8
7
  export { setImageSourceResolver } from '@symbiote-native/components';
9
- export const IMAGE_INPUTS = [
10
- 'source',
11
- 'defaultSource',
12
- 'loadingIndicatorSource',
13
- 'style',
14
- 'resizeMode',
15
- 'resizeMethod',
16
- 'tintColor',
17
- 'blurRadius',
18
- 'capInsets',
19
- 'fadeDuration',
20
- 'progressiveRenderingEnabled',
21
- 'src',
22
- 'srcSet',
23
- 'alt',
24
- 'width',
25
- 'height',
26
- 'crossOrigin',
27
- 'referrerPolicy',
28
- 'testID',
29
- 'nativeID',
30
- 'accessible',
31
- 'accessibilityLabel',
32
- 'accessibilityHint',
33
- 'accessibilityRole',
34
- 'accessibilityState',
35
- 'accessibilityValue',
36
- 'accessibilityActions',
37
- 'accessibilityLabelledBy',
38
- 'importantForAccessibility',
39
- 'accessibilityLiveRegion',
40
- 'screenReaderFocusable',
41
- 'accessibilityViewIsModal',
42
- 'accessibilityElementsHidden',
43
- 'accessibilityIgnoresInvertColors',
44
- 'accessibilityLanguage',
45
- 'accessibilityRespondsToUserInteraction',
46
- 'accessibilityShowsLargeContentViewer',
47
- 'accessibilityLargeContentTitle',
48
- 'role',
49
- 'ariaLabel: aria-label',
50
- 'ariaLabelledBy: aria-labelledby',
51
- 'ariaLive: aria-live',
52
- 'ariaHidden: aria-hidden',
53
- 'ariaBusy: aria-busy',
54
- 'ariaChecked: aria-checked',
55
- 'ariaDisabled: aria-disabled',
56
- 'ariaExpanded: aria-expanded',
57
- 'ariaSelected: aria-selected',
58
- 'ariaModal: aria-modal',
59
- 'ariaValueMax: aria-valuemax',
60
- 'ariaValueMin: aria-valuemin',
61
- 'ariaValueNow: aria-valuenow',
62
- 'ariaValueText: aria-valuetext',
63
- 'onAccessibilityAction',
64
- 'onAccessibilityTap',
65
- 'onMagicTap',
66
- 'onAccessibilityEscape',
67
- 'onLoadStart',
68
- 'onLoad',
69
- 'onLoadEnd',
70
- 'onError',
71
- 'onProgress',
72
- 'onPartialLoad',
73
- ];
74
- export const IMAGE_OUTPUTS = [
75
- 'accessibilityAction',
76
- 'accessibilityTap',
77
- 'magicTap',
78
- 'accessibilityEscape',
79
- 'loadStart',
80
- 'load',
81
- 'loadEnd',
82
- 'error',
83
- 'progress',
84
- 'partialLoad',
85
- ];
86
- function asSource(value) {
87
- if (typeof value === 'number')
88
- return value;
89
- if (typeof value === 'object' && value !== null)
90
- return value;
91
- return undefined;
92
- }
93
- function asResizeMode(value) {
94
- if (value === 'cover' ||
95
- value === 'contain' ||
96
- value === 'stretch' ||
97
- value === 'repeat' ||
98
- value === 'center') {
99
- return value;
100
- }
101
- return undefined;
102
- }
103
- function asString(value) {
104
- return typeof value === 'string' ? value : undefined;
105
- }
106
- function asNumber(value) {
107
- return typeof value === 'number' ? value : undefined;
108
- }
109
- function asCrossOrigin(value) {
110
- return value === 'anonymous' || value === 'use-credentials'
111
- ? value
112
- : undefined;
113
- }
114
- function asStyle(value) {
115
- return typeof value === 'object' && value !== null ? value : undefined;
116
- }
117
- // Narrows a value out of the untyped animated prop bag. A runtime guard rather than a cast: the
118
- // bag is built at runtime from merged animated values, so nothing upstream has proven the shape.
119
- export function isImageEventCallback(value) {
120
- return typeof value === 'function';
121
- }
122
- export function resolveImageProps(input) {
123
- const passthrough = {
124
- resizeMethod: input['resizeMethod'],
125
- blurRadius: asNumber(input['blurRadius']),
126
- capInsets: input['capInsets'],
127
- fadeDuration: asNumber(input['fadeDuration']),
128
- progressiveRenderingEnabled: typeof input['progressiveRenderingEnabled'] === 'boolean'
129
- ? input['progressiveRenderingEnabled']
130
- : undefined,
131
- testID: asString(input['testID']),
132
- nativeID: asString(input['nativeID']),
133
- accessible: typeof input['accessible'] === 'boolean'
134
- ? input['accessible']
135
- : undefined,
136
- accessibilityLabel: asString(input['accessibilityLabel']),
137
- accessibilityHint: asString(input['accessibilityHint']),
138
- accessibilityRole: input['accessibilityRole'],
139
- accessibilityState: input['accessibilityState'],
140
- accessibilityValue: input['accessibilityValue'],
141
- accessibilityActions: input['accessibilityActions'],
142
- accessibilityLabelledBy: input['accessibilityLabelledBy'],
143
- importantForAccessibility: input['importantForAccessibility'],
144
- accessibilityLiveRegion: input['accessibilityLiveRegion'],
145
- screenReaderFocusable: typeof input['screenReaderFocusable'] === 'boolean'
146
- ? input['screenReaderFocusable']
147
- : undefined,
148
- accessibilityViewIsModal: typeof input['accessibilityViewIsModal'] === 'boolean'
149
- ? input['accessibilityViewIsModal']
150
- : undefined,
151
- accessibilityElementsHidden: typeof input['accessibilityElementsHidden'] === 'boolean'
152
- ? input['accessibilityElementsHidden']
153
- : undefined,
154
- accessibilityIgnoresInvertColors: typeof input['accessibilityIgnoresInvertColors'] === 'boolean'
155
- ? input['accessibilityIgnoresInvertColors']
156
- : undefined,
157
- accessibilityLanguage: asString(input['accessibilityLanguage']),
158
- accessibilityRespondsToUserInteraction: typeof input['accessibilityRespondsToUserInteraction'] === 'boolean'
159
- ? input['accessibilityRespondsToUserInteraction']
160
- : undefined,
161
- accessibilityShowsLargeContentViewer: typeof input['accessibilityShowsLargeContentViewer'] === 'boolean'
162
- ? input['accessibilityShowsLargeContentViewer']
163
- : undefined,
164
- accessibilityLargeContentTitle: asString(input['accessibilityLargeContentTitle']),
165
- role: input['role'],
166
- 'aria-label': asString(input['ariaLabel'] ?? input['aria-label']),
167
- 'aria-labelledby': asString(input['ariaLabelledBy'] ?? input['aria-labelledby']),
168
- 'aria-live': input['ariaLive'],
169
- 'aria-hidden': typeof input['ariaHidden'] === 'boolean'
170
- ? input['ariaHidden']
171
- : undefined,
172
- 'aria-busy': typeof input['ariaBusy'] === 'boolean' ? input['ariaBusy'] : undefined,
173
- 'aria-checked': input['ariaChecked'],
174
- 'aria-disabled': typeof input['ariaDisabled'] === 'boolean'
175
- ? input['ariaDisabled']
176
- : undefined,
177
- 'aria-expanded': typeof input['ariaExpanded'] === 'boolean'
178
- ? input['ariaExpanded']
179
- : undefined,
180
- 'aria-selected': typeof input['ariaSelected'] === 'boolean'
181
- ? input['ariaSelected']
182
- : undefined,
183
- 'aria-modal': typeof input['ariaModal'] === 'boolean' ? input['ariaModal'] : undefined,
184
- 'aria-valuemax': asNumber(input['ariaValueMax']),
185
- 'aria-valuemin': asNumber(input['ariaValueMin']),
186
- 'aria-valuenow': asNumber(input['ariaValueNow']),
187
- 'aria-valuetext': asString(input['ariaValueText']),
188
- onAccessibilityAction: input['onAccessibilityAction'],
189
- onAccessibilityTap: input['onAccessibilityTap'],
190
- onMagicTap: input['onMagicTap'],
191
- onAccessibilityEscape: input['onAccessibilityEscape'],
192
- onLoadStart: input['onLoadStart'],
193
- onLoad: input['onLoad'],
194
- onLoadEnd: input['onLoadEnd'],
195
- onError: input['onError'],
196
- onProgress: input['onProgress'],
197
- onPartialLoad: input['onPartialLoad'],
198
- };
199
- return renderImage({
200
- source: asSource(input['source']),
201
- defaultSource: asSource(input['defaultSource']),
202
- loadingIndicatorSource: asSource(input['loadingIndicatorSource']),
203
- style: asStyle(input['style']),
204
- resizeMode: asResizeMode(input['resizeMode']),
205
- tintColor: asString(input['tintColor']),
206
- src: asString(input['src']),
207
- srcSet: asString(input['srcSet']),
208
- alt: asString(input['alt']),
209
- width: asNumber(input['width']),
210
- height: asNumber(input['height']),
211
- crossOrigin: asCrossOrigin(input['crossOrigin']),
212
- referrerPolicy: asString(input['referrerPolicy']),
213
- passthrough: resolveAccessibilityProps(passthrough),
214
- }).props;
215
- }
8
+ export { IMAGE_INPUTS, IMAGE_OUTPUTS } from './image-inputs';
9
+ export { isImageEventCallback, resolveImageProps } from './image-props-resolve';
216
10
  export class ImageBase {
217
11
  constructor() {
218
12
  this.accessibilityAction = new EventEmitter();
@@ -319,7 +113,15 @@ export class ImageBase {
319
113
  this.onPartialLoad?.(event);
320
114
  this.partialLoad.emit(event);
321
115
  }
116
+ // Three groups, so no single getter holds every input name at once
322
117
  get imageInputProps() {
118
+ return {
119
+ ...this.sourceInputProps,
120
+ ...this.accessibilityInputProps,
121
+ ...this.handlerInputProps,
122
+ };
123
+ }
124
+ get sourceInputProps() {
323
125
  return {
324
126
  source: this.source,
325
127
  defaultSource: this.defaultSource,
@@ -327,6 +129,7 @@ export class ImageBase {
327
129
  style: this.style,
328
130
  resizeMode: this.resizeMode,
329
131
  resizeMethod: this.resizeMethod,
132
+ resizeMultiplier: this.resizeMultiplier,
330
133
  tintColor: this.tintColor,
331
134
  blurRadius: this.blurRadius,
332
135
  capInsets: this.capInsets,
@@ -339,6 +142,10 @@ export class ImageBase {
339
142
  height: this.height,
340
143
  crossOrigin: this.crossOrigin,
341
144
  referrerPolicy: this.referrerPolicy,
145
+ };
146
+ }
147
+ get accessibilityInputProps() {
148
+ return {
342
149
  testID: this.testID,
343
150
  nativeID: this.nativeID,
344
151
  accessible: this.accessible,
@@ -374,6 +181,10 @@ export class ImageBase {
374
181
  ariaValueMin: this.ariaValueMin,
375
182
  ariaValueNow: this.ariaValueNow,
376
183
  ariaValueText: this.ariaValueText,
184
+ };
185
+ }
186
+ get handlerInputProps() {
187
+ return {
377
188
  onAccessibilityAction: this.gatedAccessibilityHandler('accessibilityAction', this.onAccessibilityAction),
378
189
  onAccessibilityTap: this.gatedAccessibilityHandler('accessibilityTap', this.onAccessibilityTap),
379
190
  onMagicTap: this.gatedAccessibilityHandler('magicTap', this.onMagicTap),
@@ -1 +1 @@
1
- {"version":3,"file":"image-shared.js","sourceRoot":"","sources":["../../../src/components/image-shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-shared.js","sourceRoot":"","sources":["../../../src/components/image-shared.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { IAccessibilityProps, IAriaProps } from '@symbiote-native/components';
2
- import type { IStyleProp, IViewStyle } from '@symbiote-native/engine';
3
- export interface IAngularInputAccessoryViewProps extends IAccessibilityProps, IAriaProps {
2
+ import type { IColorValue, IStyleProp, IViewStyle } from '@symbiote-native/engine';
3
+ export type IAngularInputAccessoryViewProps = IAccessibilityProps & IAriaProps & {
4
4
  nativeID?: string;
5
- backgroundColor?: string;
5
+ backgroundColor?: IColorValue;
6
6
  style?: IStyleProp<IViewStyle>;
7
- }
7
+ };
@@ -5,14 +5,14 @@ import { AccessibilityEventsBase } from '../../accessibility-events';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../../primitives/shared";
7
7
  export type { IKeyboardAvoidingBehavior } from '@symbiote-native/components';
8
- export interface IAngularKeyboardAvoidingViewProps extends IAccessibilityProps, IAriaProps {
8
+ export type IAngularKeyboardAvoidingViewProps = IAccessibilityProps & IAriaProps & {
9
9
  behavior?: IKeyboardAvoidingBehavior;
10
10
  enabled?: boolean;
11
11
  keyboardVerticalOffset?: number;
12
12
  contentContainerStyle?: IStyleProp<IViewStyle>;
13
13
  style?: IStyleProp<IViewStyle>;
14
14
  onLayout?: (event: ISymbioteEvent) => void;
15
- }
15
+ };
16
16
  export type IAngularKeyboardAvoidingViewInputs = Omit<IAngularKeyboardAvoidingViewProps, 'onLayout' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
17
17
  export declare class KeyboardAvoidingView extends AccessibilityEventsBase implements IAngularKeyboardAvoidingViewInputs, OnInit, OnDestroy {
18
18
  behavior?: IKeyboardAvoidingBehavior;
@@ -24,16 +24,13 @@ export declare class KeyboardAvoidingView extends AccessibilityEventsBase implem
24
24
  testID?: string;
25
25
  nativeID?: string;
26
26
  private inset;
27
- private frame?;
28
- private initialHeight?;
29
27
  private prefersCrossFadeTransitions;
30
28
  private subscriptions;
31
29
  private readonly changeDetector;
32
30
  private readonly elementRef;
31
+ private readonly model;
33
32
  ngOnInit(): void;
34
33
  ngOnDestroy(): void;
35
- private onShow;
36
- private onHide;
37
34
  handleLayout(event: unknown): void;
38
35
  private get effectiveInset();
39
36
  private get resolvedLayout();
@@ -11,8 +11,8 @@
11
11
  // Full parity: behavior 'height'|'position'|'padding', enabled, keyboardVerticalOffset,
12
12
  // contentContainerStyle, onLayout, plus the full a11y/aria surface every View carries.
13
13
  import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, inject, Input, Output, } from '@angular/core';
14
- import { computeInset, configureKeyboardAvoidingAnimation, keyboardAvoidingEventNamesFor, readKeyboardAnimationTiming, readKeyboardFrame, readLayoutFrame, readPrefersCrossFadeTransitions, resolveAccessibilityProps, resolveKeyboardAvoidingLayout, DEFAULT_VERTICAL_OFFSET, } from '@symbiote-native/components';
15
- import { Keyboard, Platform, dlog, isSymbioteEvent, } from '@symbiote-native/engine';
14
+ import { createKeyboardAvoidingModel, keyboardAvoidingEventNamesFor, readPrefersCrossFadeTransitions, resolveAccessibilityProps, resolveKeyboardAvoidingLayout, DEFAULT_VERTICAL_OFFSET, } from '@symbiote-native/components';
15
+ import { Keyboard, Platform, isSymbioteEvent, } from '@symbiote-native/engine';
16
16
  import { AccessibilityEventsBase } from '../../accessibility-events';
17
17
  import { anchorHostStyle, SymbioteHostPropsDirective, SymbioteStyleInputDirective, ViewHost, } from '../../primitives';
18
18
  import * as i0 from "@angular/core";
@@ -25,31 +25,38 @@ export class KeyboardAvoidingView extends AccessibilityEventsBase {
25
25
  // (see the class's `handleLayout`) — the engine's bubble() treats ANCHOR_HOST_COMPONENTS as
26
26
  // transparent to listener lookup, so there is no double-fire.
27
27
  this.layout = new EventEmitter();
28
- // How far the view must move so it no longer overlaps the keyboard. A plain field, not reactive:
29
- // OnPush + zoneless means a keyboard event mutates it and pulls the view via markForCheck.
28
+ // Plain field, the model sets it and `markForCheck` pulls the OnPush view
30
29
  this.inset = 0;
31
- // The iOS "Prefer Cross-Fade Transitions" setting, read once per mount. Deliberately a plain
32
- // field and NOT markForCheck'd when the promise lands: it is a device setting that cannot change
33
- // mid-session, and it feeds only the NEXT keyboard event's math — never the current render — so
34
- // under zoneless CD there is nothing to repaint at resolve time. The keyboard event that does use
35
- // it already calls markForCheck itself.
30
+ // A device setting that cannot change mid-session, learning it must not repaint
36
31
  this.prefersCrossFadeTransitions = false;
37
32
  this.subscriptions = [];
38
33
  this.changeDetector = inject(ChangeDetectorRef);
39
- // This component's OWN host — the non-painting anchor `class="..."` at the use site resolves
40
- // onto (see anchorHostStyle's doc comment) — NOT a ViewChild into the inner view (this
41
- // component has none; the wrapper IS the outer template node hostProps binds onto).
34
+ // This component's own host, the anchor that `class` at the use site resolves onto
42
35
  this.elementRef = inject(ElementRef);
36
+ // Options are read at event time, т.к. an `@Input` can change under a live subscription
37
+ this.model = createKeyboardAvoidingModel({
38
+ options: () => ({
39
+ behavior: this.behavior,
40
+ enabled: this.enabled !== false,
41
+ keyboardVerticalOffset: this.keyboardVerticalOffset ?? DEFAULT_VERTICAL_OFFSET,
42
+ }),
43
+ setInset: value => {
44
+ this.inset = value;
45
+ this.changeDetector.markForCheck();
46
+ },
47
+ prefersCrossFade: () => this.prefersCrossFadeTransitions,
48
+ });
43
49
  }
44
50
  ngOnInit() {
45
- // TWO events, picked per host, never three: iOS takes the will* pair so the view rides up with
46
- // the keyboard animation, Android the did* pair. The change-frame notification is deliberately
47
- // absent — with an undocked/split/floating iOS keyboard it fires BEFORE the hide, so listening
48
- // to it applies a frame captured mid-dismissal (RN KeyboardAvoidingView.js's own comment).
51
+ // iOS takes the `will*` pair so the view rides up with the keyboard, Android the `did*` pair
49
52
  const events = keyboardAvoidingEventNamesFor(Platform.OS);
50
53
  this.subscriptions = [
51
- Keyboard.addListener(events.show, payload => this.onShow(payload)),
52
- Keyboard.addListener(events.hide, () => this.onHide()),
54
+ Keyboard.addListener(events.show, payload => {
55
+ this.model.keyboardShown(payload);
56
+ // An unchanged inset skips `setInset`, the event still has to carry a new `@Input` down
57
+ this.changeDetector.markForCheck();
58
+ }),
59
+ Keyboard.addListener(events.hide, this.model.keyboardHidden),
53
60
  ];
54
61
  // The core wrapper, not AccessibilityInfo directly: the engine's iOS getter REJECTS on a
55
62
  // native error (RN parity), and nobody awaits this read, so an unwrapped call would surface
@@ -63,43 +70,11 @@ export class KeyboardAvoidingView extends AccessibilityEventsBase {
63
70
  subscription.remove();
64
71
  this.subscriptions = [];
65
72
  }
66
- onShow(payload) {
67
- const keyboard = readKeyboardFrame(payload);
68
- const offset = this.keyboardVerticalOffset ?? DEFAULT_VERTICAL_OFFSET;
69
- const next = computeInset(this.frame, keyboard, offset, {
70
- // Read off the field at event time, not captured when the subscription was built: `behavior`
71
- // is an @Input that can change under a long-lived subscription, and a stale one keeps
72
- // applying the old mode's math (it gates the previous-inset correction below).
73
- behavior: this.behavior,
74
- // The inset CURRENTLY applied (RN's this.state.bottom), read off the field at event time so
75
- // 'height' mode's fixpoint correction sees the live value: that mode SHRINKS the wrapper by
76
- // the inset, so the next onLayout reports a frame shorter by exactly that much.
77
- previousInset: this.inset,
78
- prefersCrossFadeTransitions: this.prefersCrossFadeTransitions,
79
- });
80
- // RN's `_updateBottomIfNecessary` skips the animation when the inset did not change.
81
- if (next !== this.inset)
82
- configureKeyboardAvoidingAnimation(readKeyboardAnimationTiming(payload), this.enabled !== false);
83
- dlog(`KeyboardAvoidingView show -> inset ${next}`);
84
- this.inset = next;
85
- this.changeDetector.markForCheck();
86
- }
87
- onHide() {
88
- dlog('KeyboardAvoidingView hide -> inset 0');
89
- this.inset = 0;
90
- this.changeDetector.markForCheck();
91
- }
92
- // The wrapper's onLayout measures the frame BEFORE forwarding to the caller's onLayout, so the
93
- // next keyboard event's inset math has the view's real position (React/Vue's handleLayout).
73
+ // Measured before the caller's `layout` output fires
94
74
  handleLayout(event) {
95
75
  if (!isSymbioteEvent(event))
96
76
  return;
97
- const measured = readLayoutFrame(event.nativeEvent.layout);
98
- if (measured !== undefined) {
99
- this.frame = measured;
100
- if (this.initialHeight === undefined)
101
- this.initialHeight = measured.height;
102
- }
77
+ this.model.laidOut(event.nativeEvent.layout);
103
78
  this.layout.emit(event);
104
79
  }
105
80
  // RN gates every inset on `enabled ?? true`; only an explicit `false` disables, forcing the inset
@@ -107,14 +82,12 @@ export class KeyboardAvoidingView extends AccessibilityEventsBase {
107
82
  get effectiveInset() {
108
83
  return this.enabled === false ? 0 : this.inset;
109
84
  }
110
- // The behavior + effective inset → wrapper/inner styles and the nesting decision (the shared core
111
- // of RN's render). Recomputed per CD pass, the Angular twin of React/Vue's per-render call.
112
- // Named `resolvedLayout`, not `layout` — that name is now the onLayout @Output() EventEmitter.
85
+ // Not `layout`, that name is the `onLayout` output
113
86
  get resolvedLayout() {
114
87
  return resolveKeyboardAvoidingLayout({
115
88
  behavior: this.behavior,
116
89
  effectiveInset: this.effectiveInset,
117
- initialHeight: this.initialHeight,
90
+ initialHeight: this.model.initialHeight(),
118
91
  style: this.style,
119
92
  contentContainerStyle: this.contentContainerStyle,
120
93
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/keyboard-avoiding-view/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/keyboard-avoiding-view/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ILayoutConformanceMode } from '@symbiote-native/components';
2
+ export type IAngularLayoutConformanceProps = {
3
+ mode: ILayoutConformanceMode;
4
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=layout-conformance-props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-conformance-props.js","sourceRoot":"","sources":["../../../src/components/layout-conformance-props.ts"],"names":[],"mappings":""}
@@ -1,14 +1,14 @@
1
1
  import { EventEmitter, type DoCheck, type OnChanges, type OnInit, type SimpleChanges } from '@angular/core';
2
2
  import { type IAccessibilityProps, type IAriaProps, type IModalAnimationType, type IModalOrientation, type IModalPresentationStyle } from '@symbiote-native/components';
3
- import { type IStyleProp, type ISymbioteEvent, type IViewStyle } from '@symbiote-native/engine';
3
+ import { type IColorValue, type IStyleProp, type ISymbioteEvent, type IViewStyle } from '@symbiote-native/engine';
4
4
  import { AccessibilityEventsBase } from '../../accessibility-events';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../../primitives/shared";
7
7
  export type { IModalAnimationType, IModalPresentationStyle, IModalOrientation, IModalOrientationChangeEvent, } from '@symbiote-native/components';
8
- export interface IAngularModalProps extends IAccessibilityProps, IAriaProps {
8
+ export type IAngularModalProps = IAccessibilityProps & IAriaProps & {
9
9
  visible?: boolean;
10
10
  transparent?: boolean;
11
- backdropColor?: string;
11
+ backdropColor?: IColorValue;
12
12
  animationType?: IModalAnimationType;
13
13
  presentationStyle?: IModalPresentationStyle;
14
14
  supportedOrientations?: ReadonlyArray<IModalOrientation>;
@@ -21,7 +21,7 @@ export interface IAngularModalProps extends IAccessibilityProps, IAriaProps {
21
21
  onRequestClose?: () => void;
22
22
  onOrientationChange?: (event: ISymbioteEvent) => void;
23
23
  style?: IStyleProp<IViewStyle>;
24
- }
24
+ };
25
25
  export type IAngularModalInputs = Omit<IAngularModalProps, 'onShow' | 'onDismiss' | 'onRequestClose' | 'onOrientationChange' | 'onAccessibilityAction' | 'onAccessibilityTap' | 'onMagicTap' | 'onAccessibilityEscape'>;
26
26
  export declare class Modal extends AccessibilityEventsBase implements IAngularModalInputs, OnInit, OnChanges, DoCheck {
27
27
  readonly show: EventEmitter<void>;
@@ -29,7 +29,7 @@ export declare class Modal extends AccessibilityEventsBase implements IAngularMo
29
29
  readonly requestClose: EventEmitter<void>;
30
30
  visible?: boolean;
31
31
  transparent?: boolean;
32
- backdropColor?: string;
32
+ backdropColor?: IColorValue;
33
33
  animationType?: IModalAnimationType;
34
34
  presentationStyle?: IModalPresentationStyle;
35
35
  supportedOrientations?: ReadonlyArray<IModalOrientation>;
@@ -44,6 +44,7 @@ export declare class Modal extends AccessibilityEventsBase implements IAngularMo
44
44
  private readonly changeDetector;
45
45
  private readonly elementRef;
46
46
  ngOnInit(): void;
47
+ private warnOnMisuse;
47
48
  private readonly hostPropsRevision;
48
49
  private lastAnchorStyle;
49
50
  ngOnChanges(changes: SimpleChanges): void;
@@ -6,9 +6,10 @@
6
6
  // show (ngOnChanges) and dropped by the native dismiss on iOS, reusing renderModal's resolved props.
7
7
  // The user children nest UNDER the container View via <ng-content>.
8
8
  import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, ElementRef, EventEmitter, inject, Input, Output, signal, } from '@angular/core';
9
- import { createInitialModalState, isModalVisible, modalReducer, modalVisibilityAction, renderModal, resolveAccessibilityProps, shouldRenderModal, } from '@symbiote-native/components';
9
+ import { createInitialModalState, isModalVisible, modalReducer, modalVisibilityAction, renderModal, resolveAccessibilityProps, shouldRenderModal, warnAboutModalProps, } from '@symbiote-native/components';
10
10
  import { dlog, isSymbioteEvent, Platform, } from '@symbiote-native/engine';
11
11
  import { AccessibilityEventsBase } from '../../accessibility-events';
12
+ import { ListScopeProvider, NO_LIST_SCOPE, } from '../virtualized-list/nested-scope';
12
13
  import { anchorHostStyle, ModalHost, SymbioteHostPropsDirective, SymbioteStyleInputDirective, ViewHost, } from '../../primitives';
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "../../primitives/shared";
@@ -68,10 +69,22 @@ export class Modal extends AccessibilityEventsBase {
68
69
  ngOnInit() {
69
70
  this.state = createInitialModalState(isModalVisible(this.visible));
70
71
  }
72
+ // RN checks on mount and on every update, a dev build only
73
+ warnOnMisuse() {
74
+ warnAboutModalProps({
75
+ presentationStyle: this.presentationStyle,
76
+ transparent: this.transparent,
77
+ navigationBarTranslucent: this.navigationBarTranslucent,
78
+ statusBarTranslucent: this.statusBarTranslucent,
79
+ allowSwipeDismissal: this.allowSwipeDismissal,
80
+ onRequestClose: this.requestClose.observed,
81
+ });
82
+ }
71
83
  ngOnChanges(changes) {
72
84
  // Before the keep-alive early-return below: this is the single moment Angular has finished
73
85
  // writing every changed @Input, and `hostProps` depends on far more than `visible`.
74
86
  this.hostPropsRevision.update(revision => revision + 1);
87
+ this.warnOnMisuse();
75
88
  const visibleChange = changes.visible;
76
89
  // First change is reflected by the ngOnInit seed; only later toggles drive the keep-alive.
77
90
  if (visibleChange === undefined || visibleChange.firstChange)
@@ -153,7 +166,7 @@ export class Modal extends AccessibilityEventsBase {
153
166
  return { testID: this.testID, ...this.accessibilityInputProps() };
154
167
  }
155
168
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: Modal, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: Modal, isStandalone: true, selector: "Modal", inputs: { visible: "visible", transparent: "transparent", backdropColor: "backdropColor", animationType: "animationType", presentationStyle: "presentationStyle", supportedOrientations: "supportedOrientations", hardwareAccelerated: "hardwareAccelerated", statusBarTranslucent: "statusBarTranslucent", navigationBarTranslucent: "navigationBarTranslucent", allowSwipeDismissal: "allowSwipeDismissal", style: "style", testID: "testID" }, outputs: { show: "show", dismiss: "dismiss", requestClose: "requestClose", orientationChange: "orientationChange" }, usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
169
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: Modal, isStandalone: true, selector: "Modal", inputs: { visible: "visible", transparent: "transparent", backdropColor: "backdropColor", animationType: "animationType", presentationStyle: "presentationStyle", supportedOrientations: "supportedOrientations", hardwareAccelerated: "hardwareAccelerated", statusBarTranslucent: "statusBarTranslucent", navigationBarTranslucent: "navigationBarTranslucent", allowSwipeDismissal: "allowSwipeDismissal", style: "style", testID: "testID" }, outputs: { show: "show", dismiss: "dismiss", requestClose: "requestClose", orientationChange: "orientationChange" }, providers: [{ provide: ListScopeProvider, useValue: NO_LIST_SCOPE }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
157
170
  @if (shouldRender) {
158
171
  <modal
159
172
  [symbioteHostProps]="hostProps()"
@@ -179,6 +192,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
179
192
  ],
180
193
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
181
194
  imports: [ModalHost, ViewHost, SymbioteHostPropsDirective],
195
+ // The content sits outside the list's scroll, so a list in it is not nested in that list
196
+ providers: [{ provide: ListScopeProvider, useValue: NO_LIST_SCOPE }],
182
197
  changeDetection: ChangeDetectionStrategy.OnPush,
183
198
  template: `
184
199
  @if (shouldRender) {