@symbiote-native/angular 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/build/angular/bootstrap.js +1 -1
- package/build/angular/bootstrap.js.map +1 -1
- package/build/angular/components/activity-indicator/index.android.js +7 -2
- package/build/angular/components/activity-indicator/index.android.js.map +1 -1
- package/build/angular/components/activity-indicator/index.ios.js +3 -1
- package/build/angular/components/activity-indicator/index.ios.js.map +1 -1
- package/build/angular/components/activity-indicator/shared.d.ts +1 -1
- package/build/angular/components/activity-indicator/shared.js +1 -1
- package/build/angular/components/activity-indicator/shared.js.map +1 -1
- package/build/angular/components/button.js +13 -5
- package/build/angular/components/button.js.map +1 -1
- package/build/angular/components/flat-list/index.d.ts +1 -1
- package/build/angular/components/flat-list/index.js +47 -14
- package/build/angular/components/flat-list/index.js.map +1 -1
- package/build/angular/components/image/index.android.js +4 -2
- package/build/angular/components/image/index.android.js.map +1 -1
- package/build/angular/components/image/index.ios.js +4 -2
- package/build/angular/components/image/index.ios.js.map +1 -1
- package/build/angular/components/image/shared.js +18 -6
- package/build/angular/components/image/shared.js.map +1 -1
- package/build/angular/components/image-background.js +22 -8
- package/build/angular/components/image-background.js.map +1 -1
- package/build/angular/components/input-accessory-view/index.js +7 -2
- package/build/angular/components/input-accessory-view/index.js.map +1 -1
- package/build/angular/components/keyboard-avoiding-view/index.d.ts +1 -0
- package/build/angular/components/keyboard-avoiding-view/index.js +39 -9
- package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
- package/build/angular/components/modal/index.js +7 -2
- package/build/angular/components/modal/index.js.map +1 -1
- package/build/angular/components/pressable/index.d.ts +1 -1
- package/build/angular/components/pressable/index.js +6 -2
- package/build/angular/components/pressable/index.js.map +1 -1
- package/build/angular/components/refresh-control/index.js +3 -1
- package/build/angular/components/refresh-control/index.js.map +1 -1
- package/build/angular/components/safe-area-view/index.js +3 -1
- package/build/angular/components/safe-area-view/index.js.map +1 -1
- package/build/angular/components/scroll-view/index.android.js +44 -14
- package/build/angular/components/scroll-view/index.android.js.map +1 -1
- package/build/angular/components/scroll-view/index.ios.js +13 -5
- package/build/angular/components/scroll-view/index.ios.js.map +1 -1
- package/build/angular/components/scroll-view/projection.d.ts +32 -0
- package/build/angular/components/scroll-view/projection.js +212 -47
- package/build/angular/components/scroll-view/projection.js.map +1 -1
- package/build/angular/components/scroll-view/shared.js +28 -7
- package/build/angular/components/scroll-view/shared.js.map +1 -1
- package/build/angular/components/scroll-view/sticky-header.js +7 -3
- package/build/angular/components/scroll-view/sticky-header.js.map +1 -1
- package/build/angular/components/section-list/index.d.ts +6 -1
- package/build/angular/components/section-list/index.js +63 -18
- package/build/angular/components/section-list/index.js.map +1 -1
- package/build/angular/components/switch/index.android.js +17 -3
- package/build/angular/components/switch/index.android.js.map +1 -1
- package/build/angular/components/switch/index.ios.js +17 -3
- package/build/angular/components/switch/index.ios.js.map +1 -1
- package/build/angular/components/switch/shared.d.ts +1 -1
- package/build/angular/components/switch/shared.js +5 -2
- package/build/angular/components/switch/shared.js.map +1 -1
- package/build/angular/components/text-input.d.ts +1 -1
- package/build/angular/components/text-input.js +25 -5
- package/build/angular/components/text-input.js.map +1 -1
- package/build/angular/components/touchable/index.d.ts +29 -7
- package/build/angular/components/touchable/index.js +246 -69
- package/build/angular/components/touchable/index.js.map +1 -1
- package/build/angular/components/touchable-native-feedback/index.js +2 -2
- package/build/angular/components/touchable-native-feedback/index.js.map +1 -1
- package/build/angular/components/virtualized-list/directives.js +4 -0
- package/build/angular/components/virtualized-list/directives.js.map +1 -1
- package/build/angular/components/virtualized-list/index.d.ts +5 -2
- package/build/angular/components/virtualized-list/index.js +197 -60
- package/build/angular/components/virtualized-list/index.js.map +1 -1
- package/build/angular/components/virtualized-section-list/directives.js.map +1 -1
- package/build/angular/components/virtualized-section-list/index.d.ts +18 -1
- package/build/angular/components/virtualized-section-list/index.js +90 -21
- package/build/angular/components/virtualized-section-list/index.js.map +1 -1
- package/build/angular/components.d.ts +1 -1
- package/build/angular/components.js.map +1 -1
- package/build/angular/create-portal/index.js +5 -1
- package/build/angular/create-portal/index.js.map +1 -1
- package/build/angular/create-tunnel/index.js.map +1 -1
- package/build/angular/descriptor-to-angular/index.js +3 -1
- package/build/angular/descriptor-to-angular/index.js.map +1 -1
- package/build/angular/diagnostics.d.ts +33 -0
- package/build/angular/diagnostics.js +82 -0
- package/build/angular/diagnostics.js.map +1 -0
- package/build/angular/host-instance/index.js +1 -1
- package/build/angular/host-instance/index.js.map +1 -1
- package/build/angular/index.d.ts +5 -2
- package/build/angular/index.js +15 -1
- package/build/angular/index.js.map +1 -1
- package/build/angular/modules/animated/create-animated-component.js +27 -9
- package/build/angular/modules/animated/create-animated-component.js.map +1 -1
- package/build/angular/modules/app-registry/index.js.map +1 -1
- package/build/angular/modules/status-bar/index.js +1 -1
- package/build/angular/modules/status-bar/index.js.map +1 -1
- package/build/angular/primitives/index.d.ts +19 -2
- package/build/angular/primitives/index.js +39 -3
- package/build/angular/primitives/index.js.map +1 -1
- package/build/angular/primitives/shared.d.ts +9 -1
- package/build/angular/primitives/shared.js +49 -3
- package/build/angular/primitives/shared.js.map +1 -1
- package/build/angular/render/index.js +48 -5
- package/build/angular/render/index.js.map +1 -1
- package/build/angular/renderer/index.d.ts +1 -0
- package/build/angular/renderer/index.js +37 -2
- package/build/angular/renderer/index.js.map +1 -1
- package/build/angular/services/color-scheme.service.js.map +1 -1
- package/build/angular/services/window-dimensions.service.js +1 -1
- package/build/angular/services/window-dimensions.service.js.map +1 -1
- package/package.json +5 -5
- package/src/bootstrap.ts +4 -1
- package/src/components/activity-indicator/index.android.ts +7 -2
- package/src/components/activity-indicator/index.ios.ts +3 -1
- package/src/components/activity-indicator/shared.ts +32 -13
- package/src/components/button.ts +19 -6
- package/src/components/flat-list/index.ts +91 -29
- package/src/components/image/index.android.ts +9 -2
- package/src/components/image/index.ios.ts +9 -2
- package/src/components/image/shared.ts +58 -19
- package/src/components/image-background.ts +29 -10
- package/src/components/input-accessory-view/index.ts +27 -10
- package/src/components/keyboard-avoiding-view/index.ts +55 -15
- package/src/components/modal/index.ts +22 -8
- package/src/components/pressable/index.ts +51 -21
- package/src/components/refresh-control/index.ts +22 -8
- package/src/components/safe-area-view/index.ts +16 -7
- package/src/components/scroll-view/index.android.ts +31 -9
- package/src/components/scroll-view/index.ios.ts +17 -4
- package/src/components/scroll-view/projection.ts +290 -63
- package/src/components/scroll-view/shared.ts +93 -26
- package/src/components/scroll-view/sticky-header.ts +25 -8
- package/src/components/section-list/index.ts +61 -19
- package/src/components/switch/index.android.ts +14 -3
- package/src/components/switch/index.ios.ts +14 -3
- package/src/components/switch/shared.ts +15 -4
- package/src/components/text-input.ts +45 -13
- package/src/components/touchable/index.ts +296 -72
- package/src/components/touchable-native-feedback/index.ts +32 -10
- package/src/components/virtualized-list/directives.ts +19 -5
- package/src/components/virtualized-list/index.ts +274 -72
- package/src/components/virtualized-section-list/directives.ts +6 -3
- package/src/components/virtualized-section-list/index.ts +146 -34
- package/src/components.ts +4 -1
- package/src/create-portal/index.ts +8 -2
- package/src/create-tunnel/index.ts +3 -1
- package/src/descriptor-to-angular/index.ts +29 -8
- package/src/diagnostics.ts +138 -0
- package/src/host-instance/index.ts +9 -3
- package/src/index.ts +31 -2
- package/src/modules/animated/create-animated-component.ts +44 -15
- package/src/modules/app-registry/index.ts +3 -1
- package/src/modules/status-bar/index.ts +13 -4
- package/src/primitives/index.ts +46 -2
- package/src/primitives/shared.ts +70 -9
- package/src/render/index.ts +56 -6
- package/src/renderer/index.ts +76 -14
- package/src/services/color-scheme.service.ts +3 -1
- package/src/services/window-dimensions.service.ts +11 -4
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectorRef, Directive, ElementRef, inject, Input, Renderer2, } from '@angular/core';
|
|
2
|
+
import { countAngular } from '../diagnostics';
|
|
2
3
|
import { flattenStyle, isSymbioteNode, } from '@symbiote-native/engine';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
/**
|
|
@@ -72,7 +73,9 @@ function shallowStyleEqual(a, b) {
|
|
|
72
73
|
*/
|
|
73
74
|
export function stableAnchorStyle(elementRef, explicitStyle, previous) {
|
|
74
75
|
const next = flattenStyle([anchorHostStyle(elementRef), explicitStyle]);
|
|
75
|
-
return isRecord(previous) && shallowStyleEqual(previous, next)
|
|
76
|
+
return isRecord(previous) && shallowStyleEqual(previous, next)
|
|
77
|
+
? previous
|
|
78
|
+
: next;
|
|
76
79
|
}
|
|
77
80
|
const ON_PREFIX = /^on[A-Z]/;
|
|
78
81
|
// The one `onX` that fires per FRAME rather than per gesture, and with sticky headers RN pins
|
|
@@ -130,10 +133,12 @@ export class SymbioteStyleInputDirective {
|
|
|
130
133
|
// check re-dirties the view every tick and free-runs CD, the hazard `stableAnchorStyle` above
|
|
131
134
|
// prevents one level up.
|
|
132
135
|
ngDoCheck() {
|
|
136
|
+
countAngular('styleChecks');
|
|
133
137
|
const current = anchorHostStyle(this.elementRef);
|
|
134
138
|
if (isAnchorStyleUnchanged(this.lastAnchorStyle, current))
|
|
135
139
|
return;
|
|
136
140
|
this.lastAnchorStyle = current;
|
|
141
|
+
countAngular('styleMarks');
|
|
137
142
|
this.cdr.markForCheck();
|
|
138
143
|
}
|
|
139
144
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbioteStyleInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -153,7 +158,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
153
158
|
function isAnchorStyleUnchanged(previous, next) {
|
|
154
159
|
if (Object.is(previous, next))
|
|
155
160
|
return true;
|
|
156
|
-
return isRecord(previous) && isRecord(next) && shallowStyleEqual(previous, next);
|
|
161
|
+
return (isRecord(previous) && isRecord(next) && shallowStyleEqual(previous, next));
|
|
157
162
|
}
|
|
158
163
|
/**
|
|
159
164
|
* Base for all Angular primitive host components (`symbiote-view`, `symbiote-text`, ...).
|
|
@@ -170,6 +175,12 @@ function isAnchorStyleUnchanged(previous, next) {
|
|
|
170
175
|
export class SymbiotePrimitiveHost {
|
|
171
176
|
renderer = inject(Renderer2);
|
|
172
177
|
elementRef = inject(ElementRef);
|
|
178
|
+
// Counting only. Angular calls this once per view per check, so it is the only honest measure of
|
|
179
|
+
// how much tree a tick walks - and with CheckAlways primitives that is the whole application, not
|
|
180
|
+
// the screen on top. One integer increment next to a template refresh is not measurable.
|
|
181
|
+
ngDoCheck() {
|
|
182
|
+
countAngular('viewsChecked');
|
|
183
|
+
}
|
|
173
184
|
style;
|
|
174
185
|
/**
|
|
175
186
|
* The underlying engine host node (public instance). Exposed so `findNodeHandle` can resolve
|
|
@@ -182,7 +193,15 @@ export class SymbiotePrimitiveHost {
|
|
|
182
193
|
if (!('style' in changes))
|
|
183
194
|
return;
|
|
184
195
|
const value = this.style === undefined ? undefined : flattenStyle(this.style);
|
|
185
|
-
this.
|
|
196
|
+
this.setHostProp('style', value);
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Push one resolved prop onto the host element. `protected` rather than exposing the injected
|
|
200
|
+
* Renderer2/ElementRef, so a subclass applying its own defaults (TextHost) uses the same single
|
|
201
|
+
* write path this base already uses for `style`.
|
|
202
|
+
*/
|
|
203
|
+
setHostProp(key, value) {
|
|
204
|
+
this.renderer.setProperty(this.elementRef.nativeElement, key, value);
|
|
186
205
|
}
|
|
187
206
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbiotePrimitiveHost, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
188
207
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SymbiotePrimitiveHost, isStandalone: true, inputs: { style: "style" }, usesOnChanges: true, ngImport: i0 });
|
|
@@ -218,13 +237,40 @@ export class SymbioteHostPropsDirective {
|
|
|
218
237
|
// defeats every downstream identity check on the bag, so nothing upstream could ever conclude
|
|
219
238
|
// "this bag is unchanged" while a callback prop was in it.
|
|
220
239
|
wrappers = new WeakMap();
|
|
240
|
+
// Values pushed by the previous bag, so a push writes only what actually moved. Copied rather
|
|
241
|
+
// than aliased: a component is free to hand back the same object with mutated fields.
|
|
242
|
+
pushed = {};
|
|
221
243
|
get node() {
|
|
222
244
|
return this.elementRef.nativeElement;
|
|
223
245
|
}
|
|
246
|
+
// MEASURED 2026-08-20, headless 1000-row create: writing every key of every bag cost 104 000
|
|
247
|
+
// engine setProp calls where Solid's identical screen cost 12 000 — and 90 000 of them carried
|
|
248
|
+
// `undefined`. A composed component's bag is a FIXED-SHAPE literal (Pressable's is ~48 keys,
|
|
249
|
+
// most of them unset on any given instance), so the first push of a fresh node spends most of
|
|
250
|
+
// its work deleting keys the node never had. Diffing per key removes exactly that: an unset key
|
|
251
|
+
// is skipped on mount and still written the moment it changes to or from a real value.
|
|
224
252
|
set symbioteHostProps(props) {
|
|
253
|
+
const pushed = this.pushed;
|
|
254
|
+
// Only keys the node actually carries, so the vanished-key sweep below walks a handful rather
|
|
255
|
+
// than the bag's whole declared shape.
|
|
256
|
+
const next = {};
|
|
225
257
|
for (const [key, value] of Object.entries(props)) {
|
|
258
|
+
if (value !== undefined)
|
|
259
|
+
next[key] = value;
|
|
260
|
+
if (Object.is(pushed[key], value))
|
|
261
|
+
continue;
|
|
226
262
|
this.renderer.setProperty(this.elementRef.nativeElement, key, this.wrapCallback(key, value));
|
|
227
263
|
}
|
|
264
|
+
// A bag's key SET is not fixed across pushes — resolveAccessibilityProps folds aria-* aliases
|
|
265
|
+
// into a different shape once any of them holds a value — and a key that vanishes must clear
|
|
266
|
+
// the prop rather than leave the last value on the native view. A key still IN the bag was
|
|
267
|
+
// already handled above, `undefined` included.
|
|
268
|
+
for (const key of Object.keys(pushed)) {
|
|
269
|
+
if (key in props)
|
|
270
|
+
continue;
|
|
271
|
+
this.renderer.setProperty(this.elementRef.nativeElement, key, undefined);
|
|
272
|
+
}
|
|
273
|
+
this.pushed = next;
|
|
228
274
|
}
|
|
229
275
|
// A flat-bag `onX` callback (responder negotiation, onLongPress, …) is invoked by the engine's
|
|
230
276
|
// event dispatch — a plain JS call, entirely outside Angular. In Angular 20 a component compiles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/primitives/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,SAAS,EAET,UAAU,EACV,MAAM,EACN,KAAK,EAEL,SAAS,GAEV,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,cAAc,GAGf,MAAM,yBAAyB,CAAC;;AAEjC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,eAAe,CAAC,UAA+B;IAC7D,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAC;IACtC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,+FAA+F;AAC/F,+FAA+F;AAC/F,wFAAwF;AACxF,8FAA8F;AAC9F,wFAAwF;AACxF,yFAAyF;AACzF,wFAAwF;AACxF,SAAS,YAAY,CAAI,KAAc;IACrC,OAAO,CACL,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,KAAK;QACf,KAAK,KAAK,EAAE;QACZ,OAAO,KAAK,KAAK,QAAQ,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/primitives/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,SAAS,EAET,UAAU,EACV,MAAM,EACN,KAAK,EAEL,SAAS,GAEV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,cAAc,GAGf,MAAM,yBAAyB,CAAC;;AAEjC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,eAAe,CAAC,UAA+B;IAC7D,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAC;IACtC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,+FAA+F;AAC/F,+FAA+F;AAC/F,wFAAwF;AACxF,8FAA8F;AAC9F,wFAAwF;AACxF,yFAAyF;AACzF,wFAAwF;AACxF,SAAS,YAAY,CAAI,KAAc;IACrC,OAAO,CACL,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,KAAK;QACf,KAAK,KAAK,EAAE;QACZ,OAAO,KAAK,KAAK,QAAQ,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,UAA+B;IAE/B,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO,YAAY,CAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,iBAAiB,CACxB,CAA0B,EAC1B,CAA0B;IAE1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACzD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAA+B,EAC/B,aAAsB,EACtB,QAAiB;IAEjB,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IACxE,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC;QAC5D,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,SAAS,GAAG,UAAU,CAAC;AAE7B,8FAA8F;AAC9F,6FAA6F;AAC7F,kGAAkG;AAClG,wFAAwF;AACxF,EAAE;AACF,iGAAiG;AACjG,+FAA+F;AAC/F,oFAAoF;AACpF,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,MAAM,OAAO,2BAA2B;IACrB,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACjD,4FAA4F;IAC5F,0CAA0C;IACzB,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,eAAe,CAAU;IAEjC,KAAK,CAAW;IAEhB,WAAW;QACT,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED,6FAA6F;IAC7F,iGAAiG;IACjG,mFAAmF;IACnF,EAAE;IACF,+FAA+F;IAC/F,kGAAkG;IAClG,8FAA8F;IAC9F,yBAAyB;IACzB,SAAS;QACP,YAAY,CAAC,aAAa,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC;YAAE,OAAO;QAClE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,YAAY,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC1B,CAAC;uGA5BU,2BAA2B;2FAA3B,2BAA2B;;2FAA3B,2BAA2B;kBALvC,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,UAAU,EAAE,IAAI;oBAChB,MAAM,EAAE,CAAC,OAAO,CAAC;iBAClB;;AAgCD,8FAA8F;AAC9F,mGAAmG;AACnG,wBAAwB;AACxB,SAAS,sBAAsB,CAAC,QAAiB,EAAE,IAAa;IAC9D,IAAI,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,CACL,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AAEH,MAAM,OAAgB,qBAAqB;IACxB,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7B,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEjD,iGAAiG;IACjG,kGAAkG;IAClG,yFAAyF;IACzF,SAAS;QACP,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAEQ,KAAK,CAAuB;IAErC;;;OAGG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC;YAAE,OAAO;QAClC,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACO,WAAW,CAAC,GAAW,EAAE,KAAc;QAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;uGAnCmB,qBAAqB;2FAArB,qBAAqB;;2FAArB,qBAAqB;kBAD1C,SAAS;;sBAYP,KAAK;;AA2BR;;;;;;;;GAQG;AAOH,MAAM,OAAO,0BAA0B;IACpB,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7B,UAAU,GAAG,MAAM,CAAsB,UAAU,CAAC,CAAC;IACtE,6FAA6F;IAC7F,6FAA6F;IAC5E,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACjD,8FAA8F;IAC9F,+FAA+F;IAC/F,+FAA+F;IAC/F,+FAA+F;IAC/F,4FAA4F;IAC5F,uEAAuE;IACvE,EAAE;IACF,4FAA4F;IAC5F,8FAA8F;IAC9F,2DAA2D;IAC1C,QAAQ,GAAG,IAAI,OAAO,EAGpC,CAAC;IAEJ,8FAA8F;IAC9F,sFAAsF;IAC9E,MAAM,GAA4B,EAAE,CAAC;IAE7C,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,6FAA6F;IAC7F,+FAA+F;IAC/F,6FAA6F;IAC7F,8FAA8F;IAC9F,gGAAgG;IAChG,uFAAuF;IACvF,IAAI,iBAAiB,CAAC,KAA8B;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,8FAA8F;QAC9F,uCAAuC;QACvC,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3C,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;gBAAE,SAAS;YAC5C,IAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,GAAG,EACH,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAC9B,CAAC;QACJ,CAAC;QACD,8FAA8F;QAC9F,6FAA6F;QAC7F,2FAA2F;QAC3F,+CAA+C;QAC/C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,IAAI,GAAG,IAAI,KAAK;gBAAE,SAAS;YAC3B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,+FAA+F;IAC/F,iGAAiG;IACjG,mGAAmG;IACnG,iGAAiG;IACjG,+FAA+F;IAC/F,iGAAiG;IACjG,iGAAiG;IACjG,yFAAyF;IACzF,6FAA6F;IAC7F,gGAAgG;IAChG,0CAA0C;IAClC,YAAY,CAAC,GAAW,EAAE,KAAc;QAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QACtE,IAAI,GAAG,KAAK,kBAAkB;YAAE,OAAO,KAAK,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,6FAA6F;QAC7F,2FAA2F;QAC3F,2FAA2F;QAC3F,gBAAgB;QAChB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe,EAAW,EAAE;YAC9C,MAAM,MAAM,GAAY,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;uGAvFU,0BAA0B;2FAA1B,0BAA0B;;2FAA1B,0BAA0B;kBANtC,SAAS;mBAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,cAAc;oBACxB,MAAM,EAAE,CAAC,mBAAmB,CAAC;iBAC9B"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// SymbioteRendererFactory provided so Angular drives the engine, which commits into
|
|
5
5
|
// nativeFabricUIManager; RN's own renderer never in the path. Angular twin of
|
|
6
6
|
// adapters/vue/src/render.ts.
|
|
7
|
-
import { createElement as createEngineElement, createSurface, disposeRoot, dlog, toPublicInstance, } from '@symbiote-native/engine';
|
|
7
|
+
import { createElement as createEngineElement, createSurface, disposeRoot, dlog, reportUncaughtError, toPublicInstance, } from '@symbiote-native/engine';
|
|
8
8
|
import { descriptorFor } from '@symbiote-native/components';
|
|
9
9
|
import { ApplicationRef, createComponent, createEnvironmentInjector, DOCUMENT, ErrorHandler, RendererFactory2, ɵINJECTOR_SCOPE as INJECTOR_SCOPE, ɵprovideZonelessChangeDetectionInternal as provideZonelessChangeDetectionInternal, } from '@angular/core';
|
|
10
10
|
import { SymbioteRendererFactory } from '../renderer';
|
|
@@ -40,6 +40,31 @@ function createDetachedViewHost() {
|
|
|
40
40
|
const descriptor = descriptorFor('View');
|
|
41
41
|
return toPublicInstance(createEngineElement(descriptor.component, descriptor.isText));
|
|
42
42
|
}
|
|
43
|
+
// Angular's whole unhandled-error funnel: INTERNAL_APPLICATION_ERROR_HANDLER resolves this token
|
|
44
|
+
// and hands it everything the framework caught on the app's behalf — a scheduled (async) tick that
|
|
45
|
+
// threw, a template listener that threw, a rejected pending task. Routed to the engine so an
|
|
46
|
+
// Angular app reaches the same native redbox as a React one instead of a console line nobody sees
|
|
47
|
+
// off a dev machine.
|
|
48
|
+
//
|
|
49
|
+
// There is deliberately no caught-vs-uncaught split here, unlike the React adapter's
|
|
50
|
+
// onUncaughtError/onCaughtError pair. Angular has no error boundary, and every path where the app
|
|
51
|
+
// DID handle something keeps clear of this seam on its own: a `@defer` block with an `@error`
|
|
52
|
+
// branch renders that branch (defer/rendering.ts calls handleUncaughtError only when there is
|
|
53
|
+
// none), `resource()` parks the failure in its own error signal, and an app-level try/catch or
|
|
54
|
+
// `catchError` never reaches Angular at all. So anything arriving here is by construction
|
|
55
|
+
// unclaimed, and the redbox is the right answer for all of it.
|
|
56
|
+
//
|
|
57
|
+
// Two things this must not do. It must not also call `super.handleError` — reportUncaughtError
|
|
58
|
+
// picks exactly one channel (host reporter or console) precisely because RN routes console.error
|
|
59
|
+
// into LogBox too, so the pair would double-report every error. And it must not throw: the
|
|
60
|
+
// scheduler invokes this from inside its own `catch` (zoneless_scheduling_impl.ts's tick), where a
|
|
61
|
+
// second throw escapes to the host and kills the "report and keep running" behaviour the provider
|
|
62
|
+
// exists for.
|
|
63
|
+
class SymbioteErrorHandler extends ErrorHandler {
|
|
64
|
+
handleError(error) {
|
|
65
|
+
reportUncaughtError(error, { origin: 'angular render' });
|
|
66
|
+
}
|
|
67
|
+
}
|
|
43
68
|
function applyInputs(cmpRef, initialProps) {
|
|
44
69
|
if (initialProps === undefined)
|
|
45
70
|
return;
|
|
@@ -70,7 +95,23 @@ export function mount(rootTag, rootComponent, options) {
|
|
|
70
95
|
provide: RendererFactory2,
|
|
71
96
|
useValue: new SymbioteRendererFactory(surface),
|
|
72
97
|
},
|
|
73
|
-
|
|
98
|
+
// `getElementById` is not decoration: `resource()` resolves TransferState, whose root
|
|
99
|
+
// factory runs `retrieveTransferredState(doc, appId)` ->
|
|
100
|
+
// `doc.getElementById(appId + '-state')` (core/src/transfer_state.ts:156) to pick up
|
|
101
|
+
// server-rendered state. A stub without it makes that a TypeError, and because the throw
|
|
102
|
+
// happens while the component is being constructed, the ENTIRE screen renders nothing —
|
|
103
|
+
// white body under a native header that navigation drew anyway, no error surfaced. The
|
|
104
|
+
// `optional: true` on the injector lookup does not help: the token resolves, its factory
|
|
105
|
+
// is what throws. Returning null is the honest client answer — there is no server here, so
|
|
106
|
+
// `script?.tagName` short-circuits and the caller gets `{}`.
|
|
107
|
+
{
|
|
108
|
+
provide: DOCUMENT,
|
|
109
|
+
useValue: {
|
|
110
|
+
head: surface,
|
|
111
|
+
body: surface,
|
|
112
|
+
getElementById: () => null,
|
|
113
|
+
},
|
|
114
|
+
},
|
|
74
115
|
// createEnvironmentInjector with a null parent scopes this injector to {'environment'}
|
|
75
116
|
// only (see EnvironmentNgModuleRefAdapter), so providedIn:'root' tokens — ApplicationRef
|
|
76
117
|
// included — never resolve (R3Injector.get walks up for a `scopes` containing 'root', and
|
|
@@ -94,9 +135,11 @@ export function mount(rootTag, rootComponent, options) {
|
|
|
94
135
|
// `injector.get(ErrorHandler)`; a normal `bootstrapApplication` registers that token by
|
|
95
136
|
// default, but our from-scratch environment injector never did, so the lookup itself threw
|
|
96
137
|
// NG0201 and replaced the real error with "No provider found for ErrorHandler" — any async
|
|
97
|
-
// tick() exception crashed hard, uncaught, instead of being reported.
|
|
98
|
-
//
|
|
99
|
-
|
|
138
|
+
// tick() exception crashed hard, uncaught, instead of being reported. The token still has to
|
|
139
|
+
// be provided for exactly that reason; what it resolves to is now SymbioteErrorHandler
|
|
140
|
+
// (see above), which reports through the engine instead of Angular's `console.error('ERROR',
|
|
141
|
+
// e)` and, like the default, returns rather than rethrows so the app keeps running.
|
|
142
|
+
{ provide: ErrorHandler, useClass: SymbioteErrorHandler },
|
|
100
143
|
ColorSchemeService,
|
|
101
144
|
WindowDimensionsService,
|
|
102
145
|
], rootInjectorParent());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/render/index.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,yFAAyF;AACzF,2FAA2F;AAC3F,oFAAoF;AACpF,8EAA8E;AAC9E,8BAA8B;AAE9B,OAAO,EACL,aAAa,IAAI,mBAAmB,EACpC,aAAa,EACb,WAAW,EACX,IAAI,EACJ,gBAAgB,GAIjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAe,IAAI,cAAc,EACjC,uCAAuC,IAAI,sCAAsC,GAIlF,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE1E,0FAA0F;AAC1F,4FAA4F;AAC5F,6FAA6F;AAC7F,qFAAqF;AACrF,6FAA6F;AAC7F,0FAA0F;AAC1F,2CAA2C;AAC3C,SAAS,kBAAkB;IACzB,OAAO,IAAsC,CAAC;AAChD,CAAC;AACD,SAAS,aAAa,CAAC,QAAyC;IAC9D,yFAAyF;IACzF,uFAAuF;IACvF,wCAAwC;IACxC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE;QACzC,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,eAAe;KACvB,CAAC,CAAC;IACH,OAAO,QAA8B,CAAC;AACxC,CAAC;AAED,4FAA4F;AAC5F,+FAA+F;AAC/F,6FAA6F;AAC7F,8FAA8F;AAC9F,4FAA4F;AAC5F,8FAA8F;AAC9F,yCAAyC;AACzC,SAAS,sBAAsB;IAC7B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/render/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
import { appendChild, createAnchor, createElement, createRawText, dlog, getExplicitStyle, insertBefore, isDebug, isSymbioteNode, removeChild, routeProp, setEventListener, setText, toPublicInstance, RAW_TEXT_COMPONENT, SymbioteSurface, } from '@symbiote-native/engine';
|
|
8
8
|
import { descriptorFor } from '@symbiote-native/components';
|
|
9
9
|
import { isAnchorHostComponent } from '../anchor-host-registry';
|
|
10
|
-
import {
|
|
10
|
+
import { countAngular, noteAngularCreate, noteAngularWrite, } from '../diagnostics';
|
|
11
|
+
import { flushScrollViewProjections, getScrollViewProjection, removeScrollViewProjectedChild, } from '../components/scroll-view/projection';
|
|
11
12
|
function isSurface(parent) {
|
|
12
13
|
return parent instanceof SymbioteSurface;
|
|
13
14
|
}
|
|
@@ -37,7 +38,9 @@ function describeHost(node) {
|
|
|
37
38
|
if (isSurface(node))
|
|
38
39
|
return 'surface';
|
|
39
40
|
const anchorId = anchorDebugIds.get(node);
|
|
40
|
-
return anchorId !== undefined
|
|
41
|
+
return anchorId !== undefined
|
|
42
|
+
? `${node.component}#${anchorId}`
|
|
43
|
+
: node.component;
|
|
41
44
|
}
|
|
42
45
|
const PRIMITIVE_SELECTOR_ALIAS = {
|
|
43
46
|
// Public ergonomic selectors map directly to the engine primitive descriptors.
|
|
@@ -76,6 +79,8 @@ export class SymbioteRenderer {
|
|
|
76
79
|
// any other string flows through as a raw Fabric name (events/processors derived from its
|
|
77
80
|
// ViewConfig). toPublicInstance grafts the imperative API (measure / setNativeProps /
|
|
78
81
|
// focus) onto the raw node in place, returning the SAME identity the commit mirror keys on.
|
|
82
|
+
countAngular('nodesCreated');
|
|
83
|
+
noteAngularCreate(name);
|
|
79
84
|
const engineName = PRIMITIVE_SELECTOR_ALIAS[name] ?? name;
|
|
80
85
|
if (isAnchorHostComponent(engineName)) {
|
|
81
86
|
const anchor = tagAnchorForDebug(createAnchor());
|
|
@@ -91,11 +96,13 @@ export class SymbioteRenderer {
|
|
|
91
96
|
// Angular structural directives (*ngIf / @if / @for) need anchor nodes to track
|
|
92
97
|
// position. A real retained node the commit walk SKIPS — no native view. Twin of the
|
|
93
98
|
// Vue createComment path.
|
|
99
|
+
countAngular('nodesCreated');
|
|
94
100
|
const anchor = tagAnchorForDebug(createAnchor());
|
|
95
101
|
dlog(`Angular renderer createComment -> ${describeHost(anchor)}`);
|
|
96
102
|
return anchor;
|
|
97
103
|
}
|
|
98
104
|
createText(value) {
|
|
105
|
+
countAngular('nodesCreated');
|
|
99
106
|
return createRawText(value);
|
|
100
107
|
}
|
|
101
108
|
appendChild(parent, newChild) {
|
|
@@ -104,6 +111,7 @@ export class SymbioteRenderer {
|
|
|
104
111
|
// addLViewToLContainer: skip silently now, the later projection pass places it correctly.
|
|
105
112
|
if (parent === null)
|
|
106
113
|
return;
|
|
114
|
+
countAngular('nodesInserted');
|
|
107
115
|
assertTextPlacement(newChild, parent);
|
|
108
116
|
if (isSurface(parent)) {
|
|
109
117
|
dlog(`Angular renderer appendChild parent=surface child=${describeHost(newChild)}`);
|
|
@@ -124,6 +132,7 @@ export class SymbioteRenderer {
|
|
|
124
132
|
insertBefore(parent, newChild, refChild) {
|
|
125
133
|
if (parent === null)
|
|
126
134
|
return; // see the appendChild guard above
|
|
135
|
+
countAngular('nodesInserted');
|
|
127
136
|
assertTextPlacement(newChild, parent);
|
|
128
137
|
if (isSurface(parent)) {
|
|
129
138
|
dlog(`Angular renderer insertBefore parent=surface child=${describeHost(newChild)} ref=${refChild ? describeHost(refChild) : 'null'}`);
|
|
@@ -156,6 +165,7 @@ export class SymbioteRenderer {
|
|
|
156
165
|
// Detach from the child's own retained parent (a top-level node lives in
|
|
157
166
|
// surface.children with no parent). Angular's `parent` arg is ignored in favor of the
|
|
158
167
|
// authoritative link, mirroring the Vue adapter's remove.
|
|
168
|
+
countAngular('nodesRemoved');
|
|
159
169
|
const angularParent = _parent !== null ? describeHost(_parent) : 'null';
|
|
160
170
|
const retainedParent = oldChild.parent !== undefined ? describeHost(oldChild.parent) : 'none';
|
|
161
171
|
const wasProjected = removeScrollViewProjectedChild(oldChild, (parent, child) => removeChild(parent, child));
|
|
@@ -200,12 +210,16 @@ export class SymbioteRenderer {
|
|
|
200
210
|
setAttribute(el, name, value) {
|
|
201
211
|
if (isSurface(el))
|
|
202
212
|
return;
|
|
213
|
+
countAngular('rendererWrites');
|
|
214
|
+
noteAngularWrite(name);
|
|
203
215
|
routeProp(el, name, value);
|
|
204
216
|
this.surface.requestCommit();
|
|
205
217
|
}
|
|
206
218
|
removeAttribute(el, name) {
|
|
207
219
|
if (isSurface(el))
|
|
208
220
|
return;
|
|
221
|
+
countAngular('rendererWrites');
|
|
222
|
+
noteAngularWrite(name);
|
|
209
223
|
routeProp(el, name, undefined);
|
|
210
224
|
this.surface.requestCommit();
|
|
211
225
|
}
|
|
@@ -220,6 +234,8 @@ export class SymbioteRenderer {
|
|
|
220
234
|
addClass(el, name) {
|
|
221
235
|
if (isSurface(el))
|
|
222
236
|
return;
|
|
237
|
+
countAngular('rendererWrites');
|
|
238
|
+
noteAngularWrite('class');
|
|
223
239
|
const tokens = this.classTokens.get(el) ?? new Set();
|
|
224
240
|
tokens.add(name);
|
|
225
241
|
this.classTokens.set(el, tokens);
|
|
@@ -232,6 +248,8 @@ export class SymbioteRenderer {
|
|
|
232
248
|
const tokens = this.classTokens.get(el);
|
|
233
249
|
if (tokens === undefined)
|
|
234
250
|
return;
|
|
251
|
+
countAngular('rendererWrites');
|
|
252
|
+
noteAngularWrite('class');
|
|
235
253
|
tokens.delete(name);
|
|
236
254
|
routeProp(el, 'class', tokens.size > 0 ? [...tokens].join(' ') : undefined);
|
|
237
255
|
this.surface.requestCommit();
|
|
@@ -244,6 +262,8 @@ export class SymbioteRenderer {
|
|
|
244
262
|
setStyle(el, style, value) {
|
|
245
263
|
if (isSurface(el))
|
|
246
264
|
return;
|
|
265
|
+
countAngular('rendererWrites');
|
|
266
|
+
noteAngularWrite(`style.${style}`);
|
|
247
267
|
const current = getExplicitStyle(el);
|
|
248
268
|
const base = isRecord(current) ? current : {};
|
|
249
269
|
routeProp(el, 'style', { ...base, [style]: value });
|
|
@@ -255,6 +275,8 @@ export class SymbioteRenderer {
|
|
|
255
275
|
const current = getExplicitStyle(el);
|
|
256
276
|
if (!isRecord(current))
|
|
257
277
|
return;
|
|
278
|
+
countAngular('rendererWrites');
|
|
279
|
+
noteAngularWrite(`style.${style}`);
|
|
258
280
|
const { [style]: _removed, ...rest } = current;
|
|
259
281
|
routeProp(el, 'style', rest);
|
|
260
282
|
this.surface.requestCommit();
|
|
@@ -264,10 +286,14 @@ export class SymbioteRenderer {
|
|
|
264
286
|
setProperty(el, name, value) {
|
|
265
287
|
if (isSurface(el))
|
|
266
288
|
return;
|
|
289
|
+
countAngular('rendererWrites');
|
|
290
|
+
noteAngularWrite(name);
|
|
267
291
|
routeProp(el, name, value);
|
|
268
292
|
this.surface.requestCommit();
|
|
269
293
|
}
|
|
270
294
|
setValue(node, value) {
|
|
295
|
+
countAngular('rendererWrites');
|
|
296
|
+
noteAngularWrite('#text');
|
|
271
297
|
// A useful permanent seam: text mutations are low-frequency and the one place a stale
|
|
272
298
|
// `{{binding}}` (a change-detection gap) shows up as "the setValue never fired".
|
|
273
299
|
dlog(`Angular renderer setValue "${value}" on ${describeHost(node)}`);
|
|
@@ -297,5 +323,14 @@ export class SymbioteRendererFactory {
|
|
|
297
323
|
createRenderer(_hostElement, _type) {
|
|
298
324
|
return (this.renderer ??= new SymbioteRenderer(this.surface));
|
|
299
325
|
}
|
|
326
|
+
// Not commit coalescing (requestCommit owns that) — this is the one moment where a ScrollView's
|
|
327
|
+
// two input channels are known to be consistent: Angular has finished writing every `@Input` AND
|
|
328
|
+
// the renderer has finished every projected insert/remove for this pass, while the surface's
|
|
329
|
+
// commit is still only queued. Sticky projection reconciles are batched to here for both reasons;
|
|
330
|
+
// see flushScrollViewProjections.
|
|
331
|
+
end() {
|
|
332
|
+
countAngular('cdPasses');
|
|
333
|
+
flushScrollViewProjections();
|
|
334
|
+
}
|
|
300
335
|
}
|
|
301
336
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderer/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderer/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8EAA8E;AAC9E,oFAAoF;AACpF,qFAAqF;AACrF,wFAAwF;AACxF,4DAA4D;AAE5D,OAAO,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,cAAc,EACd,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,sCAAsC,CAAC;AAO9C,SAAS,SAAS,CAAC,MAAoB;IACrC,OAAO,MAAM,YAAY,eAAe,CAAC;AAC3C,CAAC;AAED,SAAS,SAAS,CAAC,IAAmB;IACpC,OAAO,IAAI,CAAC,SAAS,KAAK,kBAAkB,CAAC;AAC/C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,wFAAwF;AACxF,sFAAsF;AACtF,mFAAmF;AACnF,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAC3B,MAAM,cAAc,GAAG,IAAI,OAAO,EAAyB,CAAC;AAC5D,SAAS,iBAAiB,CAAC,IAAmB;IAC5C,IAAI,OAAO,EAAE,EAAE,CAAC;QACd,kBAAkB,IAAI,CAAC,CAAC;QACxB,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yFAAyF;AACzF,6FAA6F;AAC7F,SAAS,YAAY,CAAC,IAAqC;IACzD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACvD,IAAI,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,QAAQ,KAAK,SAAS;QAC3B,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE;QACjC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,wBAAwB,GAA2B;IACvD,+EAA+E;IAC/E,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;CACtB,CAAC;AAEF,+FAA+F;AAC/F,iGAAiG;AACjG,4EAA4E;AAE5E,sFAAsF;AACtF,wFAAwF;AACxF,yFAAyF;AACzF,SAAS,mBAAmB,CAAC,KAAoB,EAAE,MAAoB;IACrE,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CACb,gBAAgB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,oFAAoF;AACpF,6CAA6C;AAC7C,MAAM,OAAO,gBAAgB;IAME;IALpB,IAAI,GAA4B,EAAE,CAAC;IAC5C,qFAAqF;IACrF,uDAAuD;IACvD,WAAW,GAA2C,IAAI,CAAC;IAE3D,YAA6B,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAEzD,OAAO,KAAU,CAAC;IAElB,aAAa,CAAC,IAAY;QACxB,8EAA8E;QAC9E,uFAAuF;QACvF,uFAAuF;QACvF,0FAA0F;QAC1F,0FAA0F;QAC1F,sFAAsF;QACtF,4FAA4F;QAC5F,YAAY,CAAC,cAAc,CAAC,CAAC;QAC7B,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAC1D,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;YACjD,IAAI,CACF,yBAAyB,IAAI,mBAAmB,YAAY,CAAC,MAAM,CAAC,EAAE,CACvE,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,yBAAyB,IAAI,OAAO,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;QACjE,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,aAAa;QACX,gFAAgF;QAChF,qFAAqF;QACrF,0BAA0B;QAC1B,YAAY,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,qCAAqC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,YAAY,CAAC,cAAc,CAAC,CAAC;QAC7B,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,MAA2B,EAAE,QAAmB;QAC1D,oFAAoF;QACpF,sFAAsF;QACtF,0FAA0F;QAC1F,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO;QAC5B,YAAY,CAAC,eAAe,CAAC,CAAC;QAC9B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,IAAI,CACF,qDAAqD,YAAY,CAAC,QAAQ,CAAC,EAAE,CAC9E,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CACF,uCAAuC,YAAY,CAAC,MAAM,CAAC,UAAU,YAAY,CAAC,QAAQ,CAAC,eAAe,UAAU,KAAK,SAAS,EAAE,CACrI,CAAC;YACF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,UAAU,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAClE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAC3B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,YAAY,CACV,MAA2B,EAC3B,QAAmB,EACnB,QAA0B;QAE1B,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,CAAC,kCAAkC;QAC/D,YAAY,CAAC,eAAe,CAAC,CAAC;QAC9B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,IAAI,CACF,sDAAsD,YAAY,CAAC,QAAQ,CAAC,QAAQ,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CACjI,CAAC;YACF,IAAI,QAAQ;gBAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;;gBACjD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CACF,wCAAwC,YAAY,CAAC,MAAM,CAAC,UAAU,YAAY,CAAC,QAAQ,CAAC,QAAQ,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,eAAe,UAAU,KAAK,SAAS,EAAE,CACxL,CAAC;YACF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,UAAU,CAAC,oBAAoB,CAC7B,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;oBACxB,IAAI,MAAM,KAAK,SAAS;wBAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;;wBAChD,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC3C,CAAC,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,OAA4B,EAAE,QAAmB;QAC3D,yEAAyE;QACzE,sFAAsF;QACtF,0DAA0D;QAC1D,YAAY,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,aAAa,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACxE,MAAM,cAAc,GAClB,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzE,MAAM,YAAY,GAAG,8BAA8B,CACjD,QAAQ,EACR,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAC9C,CAAC;QACF,IAAI,CACF,8CAA8C,aAAa,mBAAmB,cAAc,UAAU,YAAY,CAAC,QAAQ,CAAC,kBAAkB,YAAY,EAAE,CAC7J,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,IAAI,MAAM,KAAK,SAAS;gBAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;;gBACnD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,kFAAkF;IAClF,gFAAgF;IAChF,6FAA6F;IAC7F,yFAAyF;IACzF,4FAA4F;IAC5F,8FAA8F;IAC9F,8FAA8F;IAC9F,sCAAsC;IACtC,EAAE;IACF,+FAA+F;IAC/F,6FAA6F;IAC7F,+FAA+F;IAC/F,6EAA6E;IAC7E,UAAU,CAAC,IAAe;QACxB,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;IAC7B,CAAC;IAED,WAAW,CAAC,IAAe;QACzB,MAAM,QAAQ,GACZ,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3E,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAED,kFAAkF;IAClF,uFAAuF;IACvF,0FAA0F;IAC1F,qFAAqF;IACrF,iBAAiB,CAAC,cAAqC;QACrD,OAAO,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;IAC5E,CAAC;IAED,YAAY,CAAC,EAAgB,EAAE,IAAY,EAAE,KAAa;QACxD,IAAI,SAAS,CAAC,EAAE,CAAC;YAAE,OAAO;QAC1B,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC/B,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,eAAe,CAAC,EAAgB,EAAE,IAAY;QAC5C,IAAI,SAAS,CAAC,EAAE,CAAC;YAAE,OAAO;QAC1B,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC/B,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,uFAAuF;IACvF,8FAA8F;IAC9F,oFAAoF;IACpF,oFAAoF;IACpF,0FAA0F;IAC1F,wFAAwF;IACxF,8CAA8C;IAC7B,WAAW,GAAG,IAAI,OAAO,EAA0B,CAAC;IAErE,QAAQ,CAAC,EAAgB,EAAE,IAAY;QACrC,IAAI,SAAS,CAAC,EAAE,CAAC;YAAE,OAAO;QAC1B,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC/B,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QAC7D,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACjC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,EAAgB,EAAE,IAAY;QACxC,IAAI,SAAS,CAAC,EAAE,CAAC;YAAE,OAAO;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC/B,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,0FAA0F;IAC1F,4FAA4F;IAC5F,6FAA6F;IAC7F,yFAAyF;IACzF,8FAA8F;IAC9F,QAAQ,CAAC,EAAgB,EAAE,KAAa,EAAE,KAAc;QACtD,IAAI,SAAS,CAAC,EAAE,CAAC;YAAE,OAAO;QAC1B,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC/B,gBAAgB,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,EAAgB,EAAE,KAAa;QACzC,IAAI,SAAS,CAAC,EAAE,CAAC;YAAE,OAAO;QAC1B,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO;QAC/B,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC/B,gBAAgB,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QACnC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAC/C,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,kFAAkF;IAClF,mFAAmF;IACnF,WAAW,CAAC,EAAgB,EAAE,IAAY,EAAE,KAAc;QACxD,IAAI,SAAS,CAAC,EAAE,CAAC;YAAE,OAAO;QAC1B,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC/B,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,IAAe,EAAE,KAAa;QACrC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC/B,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1B,sFAAsF;QACtF,iFAAiF;QACjF,IAAI,CAAC,8BAA8B,KAAK,QAAQ,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAED,uFAAuF;IACvF,yFAAyF;IACzF,0FAA0F;IAC1F,6DAA6D;IAC7D,MAAM,CACJ,MAAe,EACf,SAAiB,EACjB,QAA4C;QAE5C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAC7C,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,6EAA6E;AAC7E,2FAA2F;AAC3F,8CAA8C;AAC9C,MAAM,OAAO,uBAAuB;IAGL;IAFrB,QAAQ,CAA+B;IAE/C,YAA6B,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAEzD,cAAc,CACZ,YAAqB,EACrB,KAA2B;QAE3B,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,gGAAgG;IAChG,iGAAiG;IACjG,6FAA6F;IAC7F,kGAAkG;IAClG,kCAAkC;IAClC,GAAG;QACD,YAAY,CAAC,UAAU,CAAC,CAAC;QACzB,0BAA0B,EAAE,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-scheme.service.js","sourceRoot":"","sources":["../../../src/services/color-scheme.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,UAAU,EAAyB,MAAM,yBAAyB,CAAC;;AAE5E;;;;;;;GAOG;AAEH,MAAM,OAAO,kBAAkB;IACpB,WAAW,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"color-scheme.service.js","sourceRoot":"","sources":["../../../src/services/color-scheme.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,UAAU,EAAyB,MAAM,yBAAyB,CAAC;;AAE5E;;;;;;;GAOG;AAEH,MAAM,OAAO,kBAAkB;IACpB,WAAW,GAAG,MAAM,CAC3B,UAAU,CAAC,cAAc,EAAE;oFAC5B,CAAC;IAEF;QACE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAEtC,MAAM,YAAY,GAAG,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;YAC9D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE;YACxB,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;uGAfU,kBAAkB;2GAAlB,kBAAkB,cADL,MAAM;;2FACnB,kBAAkB;kBAD9B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DestroyRef, inject, Injectable, signal } from '@angular/core';
|
|
2
|
-
import { Dimensions } from '@symbiote-native/engine';
|
|
2
|
+
import { Dimensions, } from '@symbiote-native/engine';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
/**
|
|
5
5
|
* Angular twin of React's `useWindowDimensions` and Vue's `useWindowDimensions` composable. The
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window-dimensions.service.js","sourceRoot":"","sources":["../../../src/services/window-dimensions.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,
|
|
1
|
+
{"version":3,"file":"window-dimensions.service.js","sourceRoot":"","sources":["../../../src/services/window-dimensions.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,UAAU,GAGX,MAAM,yBAAyB,CAAC;;AAEjC;;;;;;;GAOG;AAEH,MAAM,OAAO,uBAAuB;IACzB,UAAU,GAAG,MAAM,CAAkB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;mFAAC,CAAC;IAExE;QACE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAEtC,MAAM,YAAY,GAAG,CAAC,MAAuB,EAAQ,EAAE;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IACE,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;gBAC9B,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;gBAChC,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;gBAC9B,OAAO,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,EACtC,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAC9C,QAAQ,EACR,CAAC,GAAmB,EAAE,EAAE;YACtB,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC,CACF,CAAC;QACF,0FAA0F;QAC1F,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEvC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE;YACxB,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;uGA9BU,uBAAuB;2GAAvB,uBAAuB,cADV,MAAM;;2FACnB,uBAAuB;kBADnC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@symbiote-native/angular",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "SymbioteNative's Angular adapter — a Renderer2/RendererFactory2 with DOM-less bootstrap driving real native iOS/Android views through the same engine as the other adapters.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
"dependencies": {
|
|
57
57
|
"@angular/compiler-cli": "~22.0.8",
|
|
58
58
|
"@react-native/typescript-config": "0.86.0",
|
|
59
|
-
"@symbiote-native/components": "0.
|
|
60
|
-
"@symbiote-native/css-parser": "0.
|
|
59
|
+
"@symbiote-native/components": "0.5.0",
|
|
60
|
+
"@symbiote-native/css-parser": "0.4.0"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"@angular/core": ">=20",
|
|
@@ -73,8 +73,8 @@
|
|
|
73
73
|
"@types/babel__core": "^7.20.5",
|
|
74
74
|
"@types/node": "^26.0.0",
|
|
75
75
|
"typescript": "~6.0.0",
|
|
76
|
-
"@symbiote-native/engine": "0.
|
|
77
|
-
"@symbiote-native/test-utils": "0.
|
|
76
|
+
"@symbiote-native/engine": "0.3.0",
|
|
77
|
+
"@symbiote-native/test-utils": "0.2.0"
|
|
78
78
|
},
|
|
79
79
|
"scripts": {
|
|
80
80
|
"clean": "rm -rf build",
|
package/src/bootstrap.ts
CHANGED
|
@@ -5,7 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
import { AppRegistry as RNAppRegistry } from 'react-native';
|
|
7
7
|
import type { Type } from '@angular/core';
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
bootstrapHost,
|
|
10
|
+
type IBootstrapHostOptions,
|
|
11
|
+
} from '@symbiote-native/components/bootstrap';
|
|
9
12
|
import { AppRegistry, setHostRegistrar } from './modules/app-registry';
|
|
10
13
|
|
|
11
14
|
export type { IBootstrapHostOptions } from '@symbiote-native/components/bootstrap';
|
|
@@ -7,12 +7,17 @@ export type { IActivityIndicatorProps } from './shared';
|
|
|
7
7
|
@Component({
|
|
8
8
|
selector: 'ActivityIndicator',
|
|
9
9
|
standalone: true,
|
|
10
|
-
hostDirectives: [
|
|
10
|
+
hostDirectives: [
|
|
11
|
+
{ directive: SymbioteStyleInputDirective, inputs: ['style'] },
|
|
12
|
+
],
|
|
11
13
|
imports: [DescriptorOutlet],
|
|
12
14
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
13
15
|
template: `<symbiote-descriptor-outlet [node]="descriptor" />`,
|
|
14
16
|
})
|
|
15
17
|
export class ActivityIndicator extends ActivityIndicatorBase {
|
|
16
18
|
protected readonly defaultColor = null;
|
|
17
|
-
protected override readonly nativeExtras = {
|
|
19
|
+
protected override readonly nativeExtras = {
|
|
20
|
+
styleAttr: 'Normal',
|
|
21
|
+
indeterminate: true,
|
|
22
|
+
};
|
|
18
23
|
}
|
|
@@ -9,7 +9,9 @@ const IOS_DEFAULT_COLOR = '#999999';
|
|
|
9
9
|
@Component({
|
|
10
10
|
selector: 'ActivityIndicator',
|
|
11
11
|
standalone: true,
|
|
12
|
-
hostDirectives: [
|
|
12
|
+
hostDirectives: [
|
|
13
|
+
{ directive: SymbioteStyleInputDirective, inputs: ['style'] },
|
|
14
|
+
],
|
|
13
15
|
imports: [DescriptorOutlet],
|
|
14
16
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
15
17
|
template: `<symbiote-descriptor-outlet [node]="descriptor" />`,
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Directive,
|
|
3
|
+
ElementRef,
|
|
4
|
+
EventEmitter,
|
|
5
|
+
inject,
|
|
6
|
+
Input,
|
|
7
|
+
Output,
|
|
8
|
+
} from '@angular/core';
|
|
2
9
|
import {
|
|
3
10
|
renderActivityIndicator,
|
|
4
11
|
resolveAccessibilityProps,
|
|
@@ -13,7 +20,10 @@ import type { ISymbioteEvent } from '@symbiote-native/engine';
|
|
|
13
20
|
import type { IDescriptor } from '@symbiote-native/components';
|
|
14
21
|
import { anchorHostStyle } from '../../primitives';
|
|
15
22
|
|
|
16
|
-
export type {
|
|
23
|
+
export type {
|
|
24
|
+
IActivityIndicatorProps,
|
|
25
|
+
IActivityIndicatorSize,
|
|
26
|
+
} from '@symbiote-native/components';
|
|
17
27
|
|
|
18
28
|
// Narrows anchorHostStyle's `unknown` (it reads an opaque engine prop bag) to the shape
|
|
19
29
|
// IActivityIndicatorProps['style'] actually declares, the same runtime guard image/shared.ts's
|
|
@@ -61,8 +71,10 @@ export abstract class ActivityIndicatorBase implements IActivityIndicatorInputs
|
|
|
61
71
|
@Input() accessibilityValue?: IAccessibilityProps['accessibilityValue'];
|
|
62
72
|
@Input() accessibilityActions?: IAccessibilityProps['accessibilityActions'];
|
|
63
73
|
@Input() accessibilityLabelledBy?: string | string[];
|
|
64
|
-
@Input()
|
|
65
|
-
|
|
74
|
+
@Input()
|
|
75
|
+
importantForAccessibility?: IAccessibilityProps['importantForAccessibility'];
|
|
76
|
+
@Input()
|
|
77
|
+
accessibilityLiveRegion?: IAccessibilityProps['accessibilityLiveRegion'];
|
|
66
78
|
@Input() screenReaderFocusable?: boolean;
|
|
67
79
|
@Input() accessibilityViewIsModal?: boolean;
|
|
68
80
|
@Input() accessibilityElementsHidden?: boolean;
|
|
@@ -107,14 +119,18 @@ export abstract class ActivityIndicatorBase implements IActivityIndicatorInputs
|
|
|
107
119
|
// closure even when nothing changed — every CD pass would read as "props changed" and force a
|
|
108
120
|
// real Fabric re-clone cascading up every ancestor to the root (the same hazard
|
|
109
121
|
// AnimatedComponentBase.reconcile() and ScrollViewStickyHeader's onHostLayout guard against).
|
|
110
|
-
private readonly onLayoutHandler = (event: ISymbioteEvent): void =>
|
|
111
|
-
|
|
112
|
-
|
|
122
|
+
private readonly onLayoutHandler = (event: ISymbioteEvent): void =>
|
|
123
|
+
this.layout.emit(event);
|
|
124
|
+
private readonly onAccessibilityActionHandler = (
|
|
125
|
+
event: ISymbioteEvent,
|
|
126
|
+
): void => this.accessibilityAction.emit(event);
|
|
113
127
|
private readonly onAccessibilityTapHandler = (event: ISymbioteEvent): void =>
|
|
114
128
|
this.accessibilityTap.emit(event);
|
|
115
|
-
private readonly onMagicTapHandler = (event: ISymbioteEvent): void =>
|
|
116
|
-
|
|
117
|
-
|
|
129
|
+
private readonly onMagicTapHandler = (event: ISymbioteEvent): void =>
|
|
130
|
+
this.magicTap.emit(event);
|
|
131
|
+
private readonly onAccessibilityEscapeHandler = (
|
|
132
|
+
event: ISymbioteEvent,
|
|
133
|
+
): void => this.accessibilityEscape.emit(event);
|
|
118
134
|
|
|
119
135
|
get descriptor(): IDescriptor {
|
|
120
136
|
const props = resolveAccessibilityProps<IActivityIndicatorProps>({
|
|
@@ -141,8 +157,10 @@ export abstract class ActivityIndicatorBase implements IActivityIndicatorInputs
|
|
|
141
157
|
accessibilityElementsHidden: this.accessibilityElementsHidden,
|
|
142
158
|
accessibilityIgnoresInvertColors: this.accessibilityIgnoresInvertColors,
|
|
143
159
|
accessibilityLanguage: this.accessibilityLanguage,
|
|
144
|
-
accessibilityRespondsToUserInteraction:
|
|
145
|
-
|
|
160
|
+
accessibilityRespondsToUserInteraction:
|
|
161
|
+
this.accessibilityRespondsToUserInteraction,
|
|
162
|
+
accessibilityShowsLargeContentViewer:
|
|
163
|
+
this.accessibilityShowsLargeContentViewer,
|
|
146
164
|
accessibilityLargeContentTitle: this.accessibilityLargeContentTitle,
|
|
147
165
|
onAccessibilityAction: this.emitterHandler(
|
|
148
166
|
this.accessibilityAction,
|
|
@@ -174,7 +192,8 @@ export abstract class ActivityIndicatorBase implements IActivityIndicatorInputs
|
|
|
174
192
|
'aria-valuetext': this.ariaValueText,
|
|
175
193
|
});
|
|
176
194
|
|
|
177
|
-
const { animating, color, hidesWhenStopped, size, style, ...passthrough } =
|
|
195
|
+
const { animating, color, hidesWhenStopped, size, style, ...passthrough } =
|
|
196
|
+
props;
|
|
178
197
|
return renderActivityIndicator(
|
|
179
198
|
{
|
|
180
199
|
animating: animating !== false,
|