@symbiote-native/angular 0.6.2 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/symbiote-angular-dev.cjs +20 -19
- package/build/angular/anchor-host-registry.js +2 -2
- package/build/angular/anchor-host-registry.js.map +1 -1
- package/build/angular/components/activity-indicator/index.android.d.ts +2 -1
- package/build/angular/components/activity-indicator/index.android.js +6 -3
- package/build/angular/components/activity-indicator/index.android.js.map +1 -1
- package/build/angular/components/activity-indicator/index.ios.d.ts +2 -1
- package/build/angular/components/activity-indicator/index.ios.js +6 -3
- package/build/angular/components/activity-indicator/index.ios.js.map +1 -1
- package/build/angular/components/activity-indicator/shared.js +3 -3
- package/build/angular/components/button.d.ts +4 -2
- package/build/angular/components/button.js +28 -17
- package/build/angular/components/button.js.map +1 -1
- package/build/angular/components/flat-list/index.d.ts +5 -3
- package/build/angular/components/flat-list/index.js +35 -38
- package/build/angular/components/flat-list/index.js.map +1 -1
- package/build/angular/components/image/index.android.d.ts +8 -3
- package/build/angular/components/image/index.android.js +39 -9
- package/build/angular/components/image/index.android.js.map +1 -1
- package/build/angular/components/image/index.ios.d.ts +8 -3
- package/build/angular/components/image/index.ios.js +39 -9
- package/build/angular/components/image/index.ios.js.map +1 -1
- package/build/angular/components/image/shared.d.ts +4 -1
- package/build/angular/components/image/shared.js +33 -2
- package/build/angular/components/image/shared.js.map +1 -1
- package/build/angular/components/image-background.d.ts +2 -1
- package/build/angular/components/image-background.js +6 -4
- package/build/angular/components/image-background.js.map +1 -1
- package/build/angular/components/input-accessory-view/index.d.ts +9 -4
- package/build/angular/components/input-accessory-view/index.js +43 -9
- package/build/angular/components/input-accessory-view/index.js.map +1 -1
- package/build/angular/components/keyboard-avoiding-view/index.d.ts +2 -1
- package/build/angular/components/keyboard-avoiding-view/index.js +6 -4
- package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
- package/build/angular/components/modal/index.d.ts +11 -8
- package/build/angular/components/modal/index.js +45 -28
- package/build/angular/components/modal/index.js.map +1 -1
- package/build/angular/components/pressable/index.d.ts +11 -5
- package/build/angular/components/pressable/index.js +61 -12
- package/build/angular/components/pressable/index.js.map +1 -1
- package/build/angular/components/refresh-control/index.d.ts +8 -4
- package/build/angular/components/refresh-control/index.js +52 -16
- package/build/angular/components/refresh-control/index.js.map +1 -1
- package/build/angular/components/safe-area-view/index.d.ts +9 -4
- package/build/angular/components/safe-area-view/index.js +46 -9
- package/build/angular/components/safe-area-view/index.js.map +1 -1
- package/build/angular/components/scroll-view/index.android.d.ts +2 -3
- package/build/angular/components/scroll-view/index.android.js +49 -52
- package/build/angular/components/scroll-view/index.android.js.map +1 -1
- package/build/angular/components/scroll-view/index.ios.d.ts +2 -3
- package/build/angular/components/scroll-view/index.ios.js +15 -17
- package/build/angular/components/scroll-view/index.ios.js.map +1 -1
- package/build/angular/components/scroll-view/projection.d.ts +3 -0
- package/build/angular/components/scroll-view/projection.js +68 -7
- package/build/angular/components/scroll-view/projection.js.map +1 -1
- package/build/angular/components/scroll-view/shared.d.ts +14 -5
- package/build/angular/components/scroll-view/shared.js +198 -69
- package/build/angular/components/scroll-view/shared.js.map +1 -1
- package/build/angular/components/scroll-view/sticky-header.js +14 -19
- package/build/angular/components/scroll-view/sticky-header.js.map +1 -1
- package/build/angular/components/section-list/index.d.ts +2 -1
- package/build/angular/components/section-list/index.js +31 -39
- package/build/angular/components/section-list/index.js.map +1 -1
- package/build/angular/components/switch/index.android.d.ts +7 -3
- package/build/angular/components/switch/index.android.js +38 -10
- package/build/angular/components/switch/index.android.js.map +1 -1
- package/build/angular/components/switch/index.ios.d.ts +7 -3
- package/build/angular/components/switch/index.ios.js +38 -10
- package/build/angular/components/switch/index.ios.js.map +1 -1
- package/build/angular/components/switch/shared.d.ts +12 -3
- package/build/angular/components/switch/shared.js +66 -5
- package/build/angular/components/switch/shared.js.map +1 -1
- package/build/angular/components/text-input.d.ts +10 -2
- package/build/angular/components/text-input.js +46 -6
- package/build/angular/components/text-input.js.map +1 -1
- package/build/angular/components/touchable/index.d.ts +17 -8
- package/build/angular/components/touchable/index.js +78 -19
- package/build/angular/components/touchable/index.js.map +1 -1
- package/build/angular/components/touchable-native-feedback/index.d.ts +6 -3
- package/build/angular/components/touchable-native-feedback/index.js +61 -25
- package/build/angular/components/touchable-native-feedback/index.js.map +1 -1
- package/build/angular/components/virtualized-list/directives.js +18 -18
- package/build/angular/components/virtualized-list/index.d.ts +12 -4
- package/build/angular/components/virtualized-list/index.js +163 -68
- package/build/angular/components/virtualized-list/index.js.map +1 -1
- package/build/angular/components/virtualized-section-list/directives.js +12 -12
- package/build/angular/components/virtualized-section-list/index.d.ts +2 -1
- package/build/angular/components/virtualized-section-list/index.js +6 -4
- 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 +5 -0
- package/build/angular/components.js.map +1 -1
- package/build/angular/create-portal/index.js +29 -35
- package/build/angular/create-portal/index.js.map +1 -1
- package/build/angular/create-tunnel/index.js +19 -22
- package/build/angular/create-tunnel/index.js.map +1 -1
- package/build/angular/descriptor-to-angular/index.js +3 -3
- package/build/angular/index.d.ts +4 -2
- package/build/angular/index.js +2 -2
- package/build/angular/index.js.map +1 -1
- package/build/angular/modules/animated/animated-leaf-binder.d.ts +1 -7
- package/build/angular/modules/animated/animated-leaf-binder.js +22 -72
- package/build/angular/modules/animated/animated-leaf-binder.js.map +1 -1
- package/build/angular/modules/animated/create-animated-component.d.ts +11 -6
- package/build/angular/modules/animated/create-animated-component.js +83 -50
- 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 +3 -3
- package/build/angular/primitives/index.d.ts +1 -1
- package/build/angular/primitives/index.js +46 -46
- package/build/angular/primitives/index.js.map +1 -1
- package/build/angular/primitives/shared.d.ts +39 -1
- package/build/angular/primitives/shared.js +110 -9
- package/build/angular/primitives/shared.js.map +1 -1
- package/build/angular/render/index.js +23 -35
- package/build/angular/render/index.js.map +1 -1
- package/build/angular/services/color-scheme.service.js +3 -3
- package/build/angular/services/window-dimensions.service.js +3 -3
- package/package.json +9 -7
- package/src/anchor-host-registry.ts +2 -2
- package/src/components/activity-indicator/index.android.ts +2 -0
- package/src/components/activity-indicator/index.ios.ts +2 -0
- package/src/components/button.ts +28 -14
- package/src/components/flat-list/index.ts +34 -36
- package/src/components/image/index.android.ts +50 -6
- package/src/components/image/index.ios.ts +50 -6
- package/src/components/image/shared.ts +34 -2
- package/src/components/image-background.ts +2 -1
- package/src/components/input-accessory-view/index.ts +42 -4
- package/src/components/keyboard-avoiding-view/index.ts +7 -1
- package/src/components/modal/index.ts +51 -26
- package/src/components/pressable/index.ts +67 -8
- package/src/components/refresh-control/index.ts +54 -12
- package/src/components/safe-area-view/index.ts +50 -5
- package/src/components/scroll-view/index.android.ts +34 -41
- package/src/components/scroll-view/index.ios.ts +10 -21
- package/src/components/scroll-view/projection.ts +79 -7
- package/src/components/scroll-view/shared.ts +223 -68
- package/src/components/scroll-view/sticky-header.ts +11 -16
- package/src/components/section-list/index.ts +27 -36
- package/src/components/switch/index.android.ts +48 -7
- package/src/components/switch/index.ios.ts +48 -7
- package/src/components/switch/shared.ts +79 -3
- package/src/components/text-input.ts +52 -2
- package/src/components/touchable/index.ts +76 -16
- package/src/components/touchable-native-feedback/index.ts +62 -21
- package/src/components/virtualized-list/index.ts +137 -44
- package/src/components/virtualized-section-list/index.ts +2 -1
- package/src/components.ts +5 -0
- package/src/create-portal/index.ts +23 -29
- package/src/create-tunnel/index.ts +13 -16
- package/src/index.ts +30 -1
- package/src/modules/animated/animated-leaf-binder.ts +28 -77
- package/src/modules/animated/create-animated-component.ts +75 -36
- package/src/modules/app-registry/index.ts +6 -8
- package/src/primitives/index.ts +1 -0
- package/src/primitives/shared.ts +102 -3
- package/src/render/index.ts +23 -35
- package/build/angular/modules/animated/animated-leaf-binder/index.d.ts +0 -14
- package/build/angular/modules/animated/animated-leaf-binder/index.js +0 -91
- package/build/angular/modules/animated/animated-leaf-binder/index.js.map +0 -1
- package/src/modules/animated/animated-leaf-binder/index.ts +0 -101
|
@@ -1,91 +1,41 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
// (
|
|
9
|
-
//
|
|
10
|
-
|
|
1
|
+
// Angular's binding of the shared AnimatedProps leaf lifecycle (core/engine's
|
|
2
|
+
// createAnimatedLeafLifecycle). The POLICY - when to rebuild, when to skip, attach-new-before-
|
|
3
|
+
// detach-old, native event rebinding - lives in the engine and is identical for every adapter;
|
|
4
|
+
// this class supplies only the two things that are genuinely Angular's: how the host node is
|
|
5
|
+
// resolved (a @ViewChild directive, not a ref), and the whenCommitted deferral its batched
|
|
6
|
+
// change detection forces.
|
|
7
|
+
//
|
|
8
|
+
// Pure Fabrication (GRASP): kept as its own class rather than folded into AnimatedComponentBase so
|
|
9
|
+
// AnimatedImage - which must extend ImageBase instead - gets the same wiring by composition rather
|
|
10
|
+
// than copy-paste.
|
|
11
|
+
import { createAnimatedLeafLifecycle, whenCommitted, } from '@symbiote-native/engine';
|
|
11
12
|
export class AnimatedLeafBinder {
|
|
12
13
|
resolveNode;
|
|
13
|
-
|
|
14
|
-
// The leaf currently wired into the value graph. Null until the first reconcile.
|
|
15
|
-
attached = null;
|
|
16
|
-
// The whenCommitted waiter for the current leaf's node binding, cancelled before the next.
|
|
17
|
-
cancelBind;
|
|
18
|
-
// Detachers for any Animated.event prop bound natively to the committed node (JS path: none).
|
|
19
|
-
eventDetachers = [];
|
|
14
|
+
lifecycle;
|
|
20
15
|
// `resolveNode` stays a caller-supplied resolver (not a constructor-captured node) so this
|
|
21
|
-
// class never needs to know HOW the host node is found
|
|
16
|
+
// class never needs to know HOW the host node is found - AnimatedComponentBase and
|
|
22
17
|
// AnimatedImage both resolve it the same way (resolveHostNode + isSymbioteNode over their
|
|
23
18
|
// own @ViewChild), but that's Angular DI state this binder has no business touching.
|
|
24
19
|
// `label` is purely diagnostic (dlog), mirroring the constructor.name the pre-extraction
|
|
25
20
|
// dlog call used.
|
|
26
21
|
constructor(resolveNode, label) {
|
|
27
22
|
this.resolveNode = resolveNode;
|
|
28
|
-
this.
|
|
23
|
+
this.lifecycle = createAnimatedLeafLifecycle(label);
|
|
29
24
|
}
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
//
|
|
25
|
+
// Only the NATIVE half is deferred through whenCommitted (which runs it NOW when the node is
|
|
26
|
+
// already committed - the steady state, and the only path a scroll frame takes). The leaf itself
|
|
27
|
+
// always joins the value graph synchronously: deferring THAT too put the build behind a
|
|
28
|
+
// canceller the next reconcile drops, so a component reconciling faster than it commits never
|
|
29
|
+
// attached anything and a sticky header's rebuilt interpolation never reached the graph.
|
|
30
|
+
// Regression-covered in leaf-attach-before-commit.test.ts.
|
|
36
31
|
reconcile(props, wantsNative) {
|
|
37
|
-
dlog(`${this.label} reconcile`);
|
|
38
|
-
const newLeaf = new AnimatedProps(props);
|
|
39
|
-
newLeaf.__attach();
|
|
40
|
-
if (this.attached !== null && this.attached !== newLeaf)
|
|
41
|
-
this.attached.__detach();
|
|
42
|
-
this.attached = newLeaf;
|
|
43
|
-
this.bindNode(newLeaf, props, wantsNative);
|
|
44
|
-
}
|
|
45
|
-
// Bind the leaf to the host's Fabric node THROUGH whenCommitted: under Angular's zoneless
|
|
46
|
-
// batched change detection the inner host's tag does not exist yet at ngAfterViewInit time
|
|
47
|
-
// (the same async-commit gotcha Vue documents), so binding eagerly would no-op. whenCommitted
|
|
48
|
-
// runs the action now if already committed, else after the commit that assigns the tag.
|
|
49
|
-
bindNode(leaf, props, wantsNative) {
|
|
50
|
-
this.cancelBind?.();
|
|
51
|
-
this.cancelBind = undefined;
|
|
52
32
|
const node = this.resolveNode();
|
|
53
|
-
|
|
54
|
-
return;
|
|
55
|
-
this.cancelBind = whenCommitted(node, () => {
|
|
56
|
-
leaf.setNativeView(node);
|
|
57
|
-
if (wantsNative)
|
|
58
|
-
leaf.__makeNative();
|
|
59
|
-
this.attachEvents(node, props);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
// Native-attach any Animated.event prop (e.g. onScroll={Animated.event(…,{useNativeDriver:true})})
|
|
63
|
-
// to the committed node. attachNativeEventHandler no-ops (returns undefined) unless the prop is a
|
|
64
|
-
// native event handler with a committed tag, so the JS path stays the fallback. Rebound each
|
|
65
|
-
// reconcile so a new inline event re-attaches; detached first to avoid leaking the prior binding.
|
|
66
|
-
attachEvents(node, props) {
|
|
67
|
-
this.detachEvents();
|
|
68
|
-
for (const key of Object.keys(props)) {
|
|
69
|
-
const attachment = attachNativeEventHandler(node, key, props[key]);
|
|
70
|
-
if (attachment !== undefined)
|
|
71
|
-
this.eventDetachers.push(attachment.detach);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
detachEvents() {
|
|
75
|
-
for (const detach of this.eventDetachers)
|
|
76
|
-
detach();
|
|
77
|
-
this.eventDetachers = [];
|
|
33
|
+
this.lifecycle.reconcile(props, node, wantsNative, bind => node === null ? undefined : whenCommitted(node, bind));
|
|
78
34
|
}
|
|
79
35
|
// Tear down everything: cancel a still-pending bind, drop native event listeners, detach the
|
|
80
36
|
// current leaf from the value graph. Safe to call even if reconcile() was never called.
|
|
81
37
|
destroy() {
|
|
82
|
-
this.
|
|
83
|
-
this.cancelBind = undefined;
|
|
84
|
-
this.detachEvents();
|
|
85
|
-
if (this.attached !== null) {
|
|
86
|
-
this.attached.__detach();
|
|
87
|
-
this.attached = null;
|
|
88
|
-
}
|
|
38
|
+
this.lifecycle.teardown();
|
|
89
39
|
}
|
|
90
40
|
}
|
|
91
41
|
//# sourceMappingURL=animated-leaf-binder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animated-leaf-binder.js","sourceRoot":"","sources":["../../../../src/modules/animated/animated-leaf-binder.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"animated-leaf-binder.js","sourceRoot":"","sources":["../../../../src/modules/animated/animated-leaf-binder.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+FAA+F;AAC/F,+FAA+F;AAC/F,6FAA6F;AAC7F,2FAA2F;AAC3F,2BAA2B;AAC3B,EAAE;AACF,mGAAmG;AACnG,mGAAmG;AACnG,mBAAmB;AACnB,OAAO,EACL,2BAA2B,EAC3B,aAAa,GAGd,MAAM,yBAAyB,CAAC;AAEjC,MAAM,OAAO,kBAAkB;IAUV;IATF,SAAS,CAAyB;IAEnD,2FAA2F;IAC3F,mFAAmF;IACnF,0FAA0F;IAC1F,qFAAqF;IACrF,yFAAyF;IACzF,kBAAkB;IAClB,YACmB,WAAuC,EACxD,KAAa;QADI,gBAAW,GAAX,WAAW,CAA4B;QAGxD,IAAI,CAAC,SAAS,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,6FAA6F;IAC7F,iGAAiG;IACjG,wFAAwF;IACxF,8FAA8F;IAC9F,yFAAyF;IACzF,2DAA2D;IAC3D,SAAS,CAAC,KAA8B,EAAE,WAAoB;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,CACxD,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,6FAA6F;IAC7F,wFAAwF;IACxF,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { type AfterViewInit, type OnChanges, type OnDestroy, type Type } from '@angular/core';
|
|
1
|
+
import { type AfterViewInit, type DoCheck, type OnChanges, type OnDestroy, type Type } from '@angular/core';
|
|
2
2
|
import { FlatList } from '../../components/flat-list';
|
|
3
3
|
import { ImageBase } from '../../components/image/shared';
|
|
4
4
|
import { SectionList } from '../../components/section-list';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../primitives/shared";
|
|
6
7
|
export declare const ANIMATED_INPUTS: string[];
|
|
7
8
|
export declare const ANIMATED_IMAGE_INPUTS: string[];
|
|
8
|
-
export declare abstract class AnimatedComponentBase implements AfterViewInit, OnChanges, OnDestroy {
|
|
9
|
+
export declare abstract class AnimatedComponentBase implements AfterViewInit, DoCheck, OnChanges, OnDestroy {
|
|
9
10
|
style: unknown;
|
|
10
11
|
animatedProps: Record<string, unknown> | undefined;
|
|
11
12
|
passthroughAnimatedPropExplicitValues: unknown;
|
|
@@ -14,6 +15,8 @@ export declare abstract class AnimatedComponentBase implements AfterViewInit, On
|
|
|
14
15
|
private readonly leafBinder;
|
|
15
16
|
private viewReady;
|
|
16
17
|
get reducedProps(): Record<string, unknown>;
|
|
18
|
+
private readonly anchorStyle;
|
|
19
|
+
ngDoCheck(): void;
|
|
17
20
|
ngAfterViewInit(): void;
|
|
18
21
|
ngOnChanges(): void;
|
|
19
22
|
ngOnDestroy(): void;
|
|
@@ -25,11 +28,11 @@ export declare abstract class AnimatedComponentBase implements AfterViewInit, On
|
|
|
25
28
|
}
|
|
26
29
|
export declare class AnimatedView extends AnimatedComponentBase {
|
|
27
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<AnimatedView, never>;
|
|
28
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AnimatedView, "AnimatedView, symbiote-animated-view", never, { "style": { "alias": "style"; "required": false; }; "animatedProps": { "alias": "animatedProps"; "required": false; }; "passthroughAnimatedPropExplicitValues": { "alias": "passthroughAnimatedPropExplicitValues"; "required": false; }; }, {}, never, ["*"], true,
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AnimatedView, "AnimatedView, symbiote-animated-view", never, { "style": { "alias": "style"; "required": false; }; "animatedProps": { "alias": "animatedProps"; "required": false; }; "passthroughAnimatedPropExplicitValues": { "alias": "passthroughAnimatedPropExplicitValues"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
|
|
29
32
|
}
|
|
30
33
|
export declare class AnimatedText extends AnimatedComponentBase {
|
|
31
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<AnimatedText, never>;
|
|
32
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AnimatedText, "AnimatedText, symbiote-animated-text", never, { "style": { "alias": "style"; "required": false; }; "animatedProps": { "alias": "animatedProps"; "required": false; }; "passthroughAnimatedPropExplicitValues": { "alias": "passthroughAnimatedPropExplicitValues"; "required": false; }; }, {}, never, ["*"], true,
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AnimatedText, "AnimatedText, symbiote-animated-text", never, { "style": { "alias": "style"; "required": false; }; "animatedProps": { "alias": "animatedProps"; "required": false; }; "passthroughAnimatedPropExplicitValues": { "alias": "passthroughAnimatedPropExplicitValues"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
|
|
33
36
|
}
|
|
34
37
|
export declare class AnimatedImage extends ImageBase implements AfterViewInit, OnChanges, OnDestroy {
|
|
35
38
|
animatedProps: Record<string, unknown> | undefined;
|
|
@@ -39,6 +42,8 @@ export declare class AnimatedImage extends ImageBase implements AfterViewInit, O
|
|
|
39
42
|
private readonly leafBinder;
|
|
40
43
|
private viewReady;
|
|
41
44
|
get animatedImageProps(): Record<string, unknown>;
|
|
45
|
+
private readonly anchorStyle;
|
|
46
|
+
ngDoCheck(): void;
|
|
42
47
|
ngAfterViewInit(): void;
|
|
43
48
|
ngOnChanges(): void;
|
|
44
49
|
ngOnDestroy(): void;
|
|
@@ -46,13 +51,13 @@ export declare class AnimatedImage extends ImageBase implements AfterViewInit, O
|
|
|
46
51
|
private mergedProps;
|
|
47
52
|
private hostNode;
|
|
48
53
|
static ɵfac: i0.ɵɵFactoryDeclaration<AnimatedImage, never>;
|
|
49
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AnimatedImage, "AnimatedImage, symbiote-animated-image", never, { "source": { "alias": "source"; "required": false; }; "defaultSource": { "alias": "defaultSource"; "required": false; }; "loadingIndicatorSource": { "alias": "loadingIndicatorSource"; "required": false; }; "style": { "alias": "style"; "required": false; }; "resizeMode": { "alias": "resizeMode"; "required": false; }; "resizeMethod": { "alias": "resizeMethod"; "required": false; }; "tintColor": { "alias": "tintColor"; "required": false; }; "blurRadius": { "alias": "blurRadius"; "required": false; }; "capInsets": { "alias": "capInsets"; "required": false; }; "fadeDuration": { "alias": "fadeDuration"; "required": false; }; "progressiveRenderingEnabled": { "alias": "progressiveRenderingEnabled"; "required": false; }; "src": { "alias": "src"; "required": false; }; "srcSet": { "alias": "srcSet"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "crossOrigin": { "alias": "crossOrigin"; "required": false; }; "referrerPolicy": { "alias": "referrerPolicy"; "required": false; }; "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "required": false; }; "accessible": { "alias": "accessible"; "required": false; }; "accessibilityLabel": { "alias": "accessibilityLabel"; "required": false; }; "accessibilityHint": { "alias": "accessibilityHint"; "required": false; }; "accessibilityRole": { "alias": "accessibilityRole"; "required": false; }; "accessibilityState": { "alias": "accessibilityState"; "required": false; }; "accessibilityValue": { "alias": "accessibilityValue"; "required": false; }; "accessibilityActions": { "alias": "accessibilityActions"; "required": false; }; "accessibilityLabelledBy": { "alias": "accessibilityLabelledBy"; "required": false; }; "importantForAccessibility": { "alias": "importantForAccessibility"; "required": false; }; "accessibilityLiveRegion": { "alias": "accessibilityLiveRegion"; "required": false; }; "screenReaderFocusable": { "alias": "screenReaderFocusable"; "required": false; }; "accessibilityViewIsModal": { "alias": "accessibilityViewIsModal"; "required": false; }; "accessibilityElementsHidden": { "alias": "accessibilityElementsHidden"; "required": false; }; "accessibilityIgnoresInvertColors": { "alias": "accessibilityIgnoresInvertColors"; "required": false; }; "accessibilityLanguage": { "alias": "accessibilityLanguage"; "required": false; }; "accessibilityRespondsToUserInteraction": { "alias": "accessibilityRespondsToUserInteraction"; "required": false; }; "accessibilityShowsLargeContentViewer": { "alias": "accessibilityShowsLargeContentViewer"; "required": false; }; "accessibilityLargeContentTitle": { "alias": "accessibilityLargeContentTitle"; "required": false; }; "role": { "alias": "role"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledBy": { "alias": "aria-labelledby"; "required": false; }; "ariaLive": { "alias": "aria-live"; "required": false; }; "ariaHidden": { "alias": "aria-hidden"; "required": false; }; "ariaBusy": { "alias": "aria-busy"; "required": false; }; "ariaChecked": { "alias": "aria-checked"; "required": false; }; "ariaDisabled": { "alias": "aria-disabled"; "required": false; }; "ariaExpanded": { "alias": "aria-expanded"; "required": false; }; "ariaSelected": { "alias": "aria-selected"; "required": false; }; "ariaModal": { "alias": "aria-modal"; "required": false; }; "ariaValueMax": { "alias": "aria-valuemax"; "required": false; }; "ariaValueMin": { "alias": "aria-valuemin"; "required": false; }; "ariaValueNow": { "alias": "aria-valuenow"; "required": false; }; "ariaValueText": { "alias": "aria-valuetext"; "required": false; }; "onAccessibilityAction": { "alias": "onAccessibilityAction"; "required": false; }; "onAccessibilityTap": { "alias": "onAccessibilityTap"; "required": false; }; "onMagicTap": { "alias": "onMagicTap"; "required": false; }; "onAccessibilityEscape": { "alias": "onAccessibilityEscape"; "required": false; }; "onLoadStart": { "alias": "onLoadStart"; "required": false; }; "onLoad": { "alias": "onLoad"; "required": false; }; "onLoadEnd": { "alias": "onLoadEnd"; "required": false; }; "onError": { "alias": "onError"; "required": false; }; "onProgress": { "alias": "onProgress"; "required": false; }; "onPartialLoad": { "alias": "onPartialLoad"; "required": false; }; "animatedProps": { "alias": "animatedProps"; "required": false; }; "passthroughAnimatedPropExplicitValues": { "alias": "passthroughAnimatedPropExplicitValues"; "required": false; }; }, { "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; "loadStart": "loadStart"; "load": "load"; "loadEnd": "loadEnd"; "error": "error"; "progress": "progress"; "partialLoad": "partialLoad"; }, never, ["*"], true,
|
|
54
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AnimatedImage, "AnimatedImage, symbiote-animated-image", never, { "source": { "alias": "source"; "required": false; }; "defaultSource": { "alias": "defaultSource"; "required": false; }; "loadingIndicatorSource": { "alias": "loadingIndicatorSource"; "required": false; }; "style": { "alias": "style"; "required": false; }; "resizeMode": { "alias": "resizeMode"; "required": false; }; "resizeMethod": { "alias": "resizeMethod"; "required": false; }; "tintColor": { "alias": "tintColor"; "required": false; }; "blurRadius": { "alias": "blurRadius"; "required": false; }; "capInsets": { "alias": "capInsets"; "required": false; }; "fadeDuration": { "alias": "fadeDuration"; "required": false; }; "progressiveRenderingEnabled": { "alias": "progressiveRenderingEnabled"; "required": false; }; "src": { "alias": "src"; "required": false; }; "srcSet": { "alias": "srcSet"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "crossOrigin": { "alias": "crossOrigin"; "required": false; }; "referrerPolicy": { "alias": "referrerPolicy"; "required": false; }; "testID": { "alias": "testID"; "required": false; }; "nativeID": { "alias": "nativeID"; "required": false; }; "accessible": { "alias": "accessible"; "required": false; }; "accessibilityLabel": { "alias": "accessibilityLabel"; "required": false; }; "accessibilityHint": { "alias": "accessibilityHint"; "required": false; }; "accessibilityRole": { "alias": "accessibilityRole"; "required": false; }; "accessibilityState": { "alias": "accessibilityState"; "required": false; }; "accessibilityValue": { "alias": "accessibilityValue"; "required": false; }; "accessibilityActions": { "alias": "accessibilityActions"; "required": false; }; "accessibilityLabelledBy": { "alias": "accessibilityLabelledBy"; "required": false; }; "importantForAccessibility": { "alias": "importantForAccessibility"; "required": false; }; "accessibilityLiveRegion": { "alias": "accessibilityLiveRegion"; "required": false; }; "screenReaderFocusable": { "alias": "screenReaderFocusable"; "required": false; }; "accessibilityViewIsModal": { "alias": "accessibilityViewIsModal"; "required": false; }; "accessibilityElementsHidden": { "alias": "accessibilityElementsHidden"; "required": false; }; "accessibilityIgnoresInvertColors": { "alias": "accessibilityIgnoresInvertColors"; "required": false; }; "accessibilityLanguage": { "alias": "accessibilityLanguage"; "required": false; }; "accessibilityRespondsToUserInteraction": { "alias": "accessibilityRespondsToUserInteraction"; "required": false; }; "accessibilityShowsLargeContentViewer": { "alias": "accessibilityShowsLargeContentViewer"; "required": false; }; "accessibilityLargeContentTitle": { "alias": "accessibilityLargeContentTitle"; "required": false; }; "role": { "alias": "role"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledBy": { "alias": "aria-labelledby"; "required": false; }; "ariaLive": { "alias": "aria-live"; "required": false; }; "ariaHidden": { "alias": "aria-hidden"; "required": false; }; "ariaBusy": { "alias": "aria-busy"; "required": false; }; "ariaChecked": { "alias": "aria-checked"; "required": false; }; "ariaDisabled": { "alias": "aria-disabled"; "required": false; }; "ariaExpanded": { "alias": "aria-expanded"; "required": false; }; "ariaSelected": { "alias": "aria-selected"; "required": false; }; "ariaModal": { "alias": "aria-modal"; "required": false; }; "ariaValueMax": { "alias": "aria-valuemax"; "required": false; }; "ariaValueMin": { "alias": "aria-valuemin"; "required": false; }; "ariaValueNow": { "alias": "aria-valuenow"; "required": false; }; "ariaValueText": { "alias": "aria-valuetext"; "required": false; }; "onAccessibilityAction": { "alias": "onAccessibilityAction"; "required": false; }; "onAccessibilityTap": { "alias": "onAccessibilityTap"; "required": false; }; "onMagicTap": { "alias": "onMagicTap"; "required": false; }; "onAccessibilityEscape": { "alias": "onAccessibilityEscape"; "required": false; }; "onLoadStart": { "alias": "onLoadStart"; "required": false; }; "onLoad": { "alias": "onLoad"; "required": false; }; "onLoadEnd": { "alias": "onLoadEnd"; "required": false; }; "onError": { "alias": "onError"; "required": false; }; "onProgress": { "alias": "onProgress"; "required": false; }; "onPartialLoad": { "alias": "onPartialLoad"; "required": false; }; "animatedProps": { "alias": "animatedProps"; "required": false; }; "passthroughAnimatedPropExplicitValues": { "alias": "passthroughAnimatedPropExplicitValues"; "required": false; }; }, { "accessibilityAction": "accessibilityAction"; "accessibilityTap": "accessibilityTap"; "magicTap": "magicTap"; "accessibilityEscape": "accessibilityEscape"; "loadStart": "loadStart"; "load": "load"; "loadEnd": "loadEnd"; "error": "error"; "progress": "progress"; "partialLoad": "partialLoad"; }, never, ["*"], true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
|
|
50
55
|
}
|
|
51
56
|
export declare class AnimatedScrollView extends AnimatedComponentBase {
|
|
52
57
|
get reducedProps(): Record<string, unknown>;
|
|
53
58
|
get contentProps(): Record<string, unknown>;
|
|
54
59
|
static ɵfac: i0.ɵɵFactoryDeclaration<AnimatedScrollView, never>;
|
|
55
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AnimatedScrollView, "AnimatedScrollView, symbiote-animated-scroll-view", never, { "style": { "alias": "style"; "required": false; }; "animatedProps": { "alias": "animatedProps"; "required": false; }; "passthroughAnimatedPropExplicitValues": { "alias": "passthroughAnimatedPropExplicitValues"; "required": false; }; }, {}, never, ["*"], true,
|
|
60
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AnimatedScrollView, "AnimatedScrollView, symbiote-animated-scroll-view", never, { "style": { "alias": "style"; "required": false; }; "animatedProps": { "alias": "animatedProps"; "required": false; }; "passthroughAnimatedPropExplicitValues": { "alias": "passthroughAnimatedPropExplicitValues"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof i1.SymbioteStyleInputDirective; inputs: { "style": "style"; }; outputs: {}; }]>;
|
|
56
61
|
}
|
|
57
62
|
export declare const AnimatedFlatList: typeof FlatList;
|
|
58
63
|
export declare const AnimatedSectionList: typeof SectionList;
|
|
@@ -1,32 +1,29 @@
|
|
|
1
|
-
// createAnimatedComponent for @symbiote-native/angular
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
// values for the first paint, bind the leaf to the committed host node, swap leaves on
|
|
11
|
-
// re-render, tear down on destroy) lives once in AnimatedComponentBase; only the per-host
|
|
12
|
-
// template differs.
|
|
1
|
+
// createAnimatedComponent for @symbiote-native/angular. React/Vue have a runtime HOC
|
|
2
|
+
// (`createAnimatedComponent(Component)` builds a fresh wrapped component on the fly); Angular
|
|
3
|
+
// can't — the AOT-under-Metro build compiles every @Component ahead of time and ships no JIT
|
|
4
|
+
// compiler to Hermes, so a runtime `Component({...})(class)` would throw. The AOT-safe
|
|
5
|
+
// equivalent is an EXPLICIT set of standalone components — AnimatedView / AnimatedText /
|
|
6
|
+
// AnimatedImage / AnimatedScrollView — each a thin @Component over the matching host primitive,
|
|
7
|
+
// sharing one abstract lifecycle base. The mechanism (build an AnimatedProps leaf, reduce
|
|
8
|
+
// animated props to current values for the first paint, bind the leaf to the committed host
|
|
9
|
+
// node, swap leaves on re-render, tear down on destroy) lives once in AnimatedComponentBase.
|
|
13
10
|
//
|
|
14
11
|
// The framework-agnostic half (reduceProps / readPassthroughStyle / resolveHostNode /
|
|
15
12
|
// AnimatedProps / attachNativeEventHandler / isNativeAnimatedAvailable) comes from
|
|
16
|
-
// @symbiote-native/engine, shared
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, Directive, ElementRef, inject, ViewChild, } from '@angular/core';
|
|
13
|
+
// @symbiote-native/engine, shared with React and Vue. The per-frame path NEVER goes through
|
|
14
|
+
// Angular change detection: value.setValue / animation -> flushValue -> AnimatedProps.update()
|
|
15
|
+
// -> setNativeProps(node), same as the other adapters.
|
|
16
|
+
import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, Directive, ElementRef, inject, signal, ViewChild, } from '@angular/core';
|
|
21
17
|
import { isNativeAnimatedAvailable, isSymbioteNode, reduceProps, readPassthroughStyle, resolveHostNode, } from '@symbiote-native/engine';
|
|
22
18
|
import { selectScrollIntrinsics } from '@symbiote-native/components';
|
|
23
19
|
import { Image, ScrollView, Text, View } from '../../components';
|
|
24
|
-
import { anchorHostStyle,
|
|
20
|
+
import { anchorHostStyle, ImageHost, ScrollViewHost, SymbioteHostPropsDirective, SymbioteStyleInputDirective, TextHost, ViewHost, } from '../../primitives';
|
|
25
21
|
import { FlatList } from '../../components/flat-list';
|
|
26
22
|
import { IMAGE_INPUTS, IMAGE_OUTPUTS, ImageBase, resolveImageProps, } from '../../components/image/shared';
|
|
27
23
|
import { SectionList } from '../../components/section-list';
|
|
28
24
|
import { AnimatedLeafBinder } from './animated-leaf-binder';
|
|
29
25
|
import * as i0 from "@angular/core";
|
|
26
|
+
import * as i1 from "../../primitives/shared";
|
|
30
27
|
// RN's prop carrying explicit (already-rasterized) values that override the animated prop in
|
|
31
28
|
// the COMMITTED props (sticky-header passthrough). Named once so the directive input and the
|
|
32
29
|
// reconcile agree.
|
|
@@ -34,9 +31,8 @@ const PASSTHROUGH_PROP = 'passthroughAnimatedPropExplicitValues';
|
|
|
34
31
|
// The inputs every animated wrapper accepts. `style` is the (possibly animated) style — the
|
|
35
32
|
// common path (TouchableOpacity passes `[style, { opacity }]`). `animatedProps` is the generic
|
|
36
33
|
// escape hatch for any OTHER prop that may hold an AnimatedNode or an Animated.event handler,
|
|
37
|
-
// plus static host props to forward (the React/Vue `rest`).
|
|
38
|
-
//
|
|
39
|
-
// Switch/Image), so they are inherited consistently.
|
|
34
|
+
// plus static host props to forward (the React/Vue `rest`). Each concrete @Component re-lists
|
|
35
|
+
// these (Angular's inputs-on-base convention, mirroring Switch/Image).
|
|
40
36
|
export const ANIMATED_INPUTS = ['style', 'animatedProps', PASSTHROUGH_PROP];
|
|
41
37
|
export const ANIMATED_IMAGE_INPUTS = [...IMAGE_INPUTS, 'animatedProps', PASSTHROUGH_PROP];
|
|
42
38
|
// The shared lifecycle for every animated wrapper. Concrete subclasses add ONLY a @Component
|
|
@@ -73,9 +69,27 @@ export class AnimatedComponentBase {
|
|
|
73
69
|
reduced['style'] =
|
|
74
70
|
reduced['style'] === undefined ? passthroughStyle : [reduced['style'], passthroughStyle];
|
|
75
71
|
}
|
|
76
|
-
reduced['style'] = [
|
|
72
|
+
reduced['style'] = [this.anchorStyle(), reduced['style']];
|
|
77
73
|
return reduced;
|
|
78
74
|
}
|
|
75
|
+
// The anchor's class-derived style, polled rather than read live inside `reducedProps`.
|
|
76
|
+
//
|
|
77
|
+
// Two different writers land style on this component's anchor and NEITHER goes through
|
|
78
|
+
// ngOnChanges: `class=` / `[class.x]` / `[ngClass]` at the use site (via the renderer's
|
|
79
|
+
// addClass/removeClass -> commitClassStyle), and a `[style]` binding from a composing parent
|
|
80
|
+
// that Angular writes as a host property because `style` is not declared as an @Input here.
|
|
81
|
+
// Reading them live in the getter worked at CREATION only - nothing dirties THIS view when the
|
|
82
|
+
// anchor changes, so the getter was never re-read and the update was lost. Device-visible as a
|
|
83
|
+
// TouchableOpacity whose `class` toggled after mount never repainted.
|
|
84
|
+
//
|
|
85
|
+
// ngDoCheck runs during the PARENT's refresh even when this view is skipped, and the signal
|
|
86
|
+
// write is what then marks this view for refresh. `signal.set`'s own Object.is makes an
|
|
87
|
+
// unchanged poll a no-op, so a steady screen costs one property read per pass and nothing else.
|
|
88
|
+
anchorStyle = signal(undefined, /* @ts-ignore */
|
|
89
|
+
...(ngDevMode ? [{ debugName: "anchorStyle" }] : /* istanbul ignore next */ []));
|
|
90
|
+
ngDoCheck() {
|
|
91
|
+
this.anchorStyle.set(anchorHostStyle(this.elementRef));
|
|
92
|
+
}
|
|
79
93
|
ngAfterViewInit() {
|
|
80
94
|
this.viewReady = true;
|
|
81
95
|
this.reconcile();
|
|
@@ -114,28 +128,29 @@ export class AnimatedComponentBase {
|
|
|
114
128
|
const resolved = resolveHostNode(this.hostDirective?.node);
|
|
115
129
|
return isSymbioteNode(resolved) ? resolved : null;
|
|
116
130
|
}
|
|
117
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
118
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.
|
|
131
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AnimatedComponentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
132
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: AnimatedComponentBase, isStandalone: true, viewQueries: [{ propertyName: "hostDirective", first: true, predicate: SymbioteHostPropsDirective, descendants: true }], usesOnChanges: true, ngImport: i0 });
|
|
119
133
|
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AnimatedComponentBase, decorators: [{
|
|
121
135
|
type: Directive
|
|
122
136
|
}], propDecorators: { hostDirective: [{
|
|
123
137
|
type: ViewChild,
|
|
124
138
|
args: [SymbioteHostPropsDirective]
|
|
125
139
|
}] } });
|
|
126
140
|
export class AnimatedView extends AnimatedComponentBase {
|
|
127
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
128
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.
|
|
141
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AnimatedView, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
142
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: AnimatedView, isStandalone: true, selector: "AnimatedView, symbiote-animated-view", inputs: { style: "style", animatedProps: "animatedProps", passthroughAnimatedPropExplicitValues: "passthroughAnimatedPropExplicitValues" }, usesInheritance: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
|
|
129
143
|
<symbiote-view [symbioteHostProps]="reducedProps">
|
|
130
144
|
<ng-content></ng-content>
|
|
131
145
|
</symbiote-view>
|
|
132
146
|
`, isInline: true, dependencies: [{ kind: "directive", type: SymbioteHostPropsDirective, selector: "[symbioteHostProps]", inputs: ["symbioteHostProps"], exportAs: ["symbioteHost"] }, { kind: "component", type: ViewHost, selector: "symbiote-view, View" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
133
147
|
}
|
|
134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AnimatedView, decorators: [{
|
|
135
149
|
type: Component,
|
|
136
150
|
args: [{
|
|
137
151
|
selector: 'AnimatedView, symbiote-animated-view',
|
|
138
152
|
standalone: true,
|
|
153
|
+
hostDirectives: [{ directive: SymbioteStyleInputDirective, inputs: ['style'] }],
|
|
139
154
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
140
155
|
imports: [SymbioteHostPropsDirective, ViewHost],
|
|
141
156
|
inputs: ANIMATED_INPUTS,
|
|
@@ -148,18 +163,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
148
163
|
}]
|
|
149
164
|
}] });
|
|
150
165
|
export class AnimatedText extends AnimatedComponentBase {
|
|
151
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
152
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.
|
|
166
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AnimatedText, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
167
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: AnimatedText, isStandalone: true, selector: "AnimatedText, symbiote-animated-text", inputs: { style: "style", animatedProps: "animatedProps", passthroughAnimatedPropExplicitValues: "passthroughAnimatedPropExplicitValues" }, usesInheritance: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
|
|
153
168
|
<symbiote-text [symbioteHostProps]="reducedProps">
|
|
154
169
|
<ng-content></ng-content>
|
|
155
170
|
</symbiote-text>
|
|
156
171
|
`, isInline: true, dependencies: [{ kind: "directive", type: SymbioteHostPropsDirective, selector: "[symbioteHostProps]", inputs: ["symbioteHostProps"], exportAs: ["symbioteHost"] }, { kind: "component", type: TextHost, selector: "symbiote-text, Text" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
157
172
|
}
|
|
158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AnimatedText, decorators: [{
|
|
159
174
|
type: Component,
|
|
160
175
|
args: [{
|
|
161
176
|
selector: 'AnimatedText, symbiote-animated-text',
|
|
162
177
|
standalone: true,
|
|
178
|
+
hostDirectives: [{ directive: SymbioteStyleInputDirective, inputs: ['style'] }],
|
|
163
179
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
164
180
|
imports: [SymbioteHostPropsDirective, TextHost],
|
|
165
181
|
inputs: ANIMATED_INPUTS,
|
|
@@ -194,6 +210,24 @@ export class AnimatedImage extends ImageBase {
|
|
|
194
210
|
resolved['style'] = [anchorHostStyle(this.elementRef), resolved['style']];
|
|
195
211
|
return resolved;
|
|
196
212
|
}
|
|
213
|
+
// The anchor's class-derived style, polled rather than read live inside `reducedProps`.
|
|
214
|
+
//
|
|
215
|
+
// Two different writers land style on this component's anchor and NEITHER goes through
|
|
216
|
+
// ngOnChanges: `class=` / `[class.x]` / `[ngClass]` at the use site (via the renderer's
|
|
217
|
+
// addClass/removeClass -> commitClassStyle), and a `[style]` binding from a composing parent
|
|
218
|
+
// that Angular writes as a host property because `style` is not declared as an @Input here.
|
|
219
|
+
// Reading them live in the getter worked at CREATION only - nothing dirties THIS view when the
|
|
220
|
+
// anchor changes, so the getter was never re-read and the update was lost. Device-visible as a
|
|
221
|
+
// TouchableOpacity whose `class` toggled after mount never repainted.
|
|
222
|
+
//
|
|
223
|
+
// ngDoCheck runs during the PARENT's refresh even when this view is skipped, and the signal
|
|
224
|
+
// write is what then marks this view for refresh. `signal.set`'s own Object.is makes an
|
|
225
|
+
// unchanged poll a no-op, so a steady screen costs one property read per pass and nothing else.
|
|
226
|
+
anchorStyle = signal(undefined, /* @ts-ignore */
|
|
227
|
+
...(ngDevMode ? [{ debugName: "anchorStyle" }] : /* istanbul ignore next */ []));
|
|
228
|
+
ngDoCheck() {
|
|
229
|
+
this.anchorStyle.set(anchorHostStyle(this.elementRef));
|
|
230
|
+
}
|
|
197
231
|
ngAfterViewInit() {
|
|
198
232
|
this.viewReady = true;
|
|
199
233
|
this.reconcile();
|
|
@@ -225,8 +259,8 @@ export class AnimatedImage extends ImageBase {
|
|
|
225
259
|
const resolved = resolveHostNode(this.hostDirective?.node);
|
|
226
260
|
return isSymbioteNode(resolved) ? resolved : null;
|
|
227
261
|
}
|
|
228
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
229
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.
|
|
262
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AnimatedImage, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
263
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: AnimatedImage, isStandalone: true, selector: "AnimatedImage, symbiote-animated-image", inputs: { source: "source", defaultSource: "defaultSource", loadingIndicatorSource: "loadingIndicatorSource", style: "style", resizeMode: "resizeMode", resizeMethod: "resizeMethod", tintColor: "tintColor", blurRadius: "blurRadius", capInsets: "capInsets", fadeDuration: "fadeDuration", progressiveRenderingEnabled: "progressiveRenderingEnabled", src: "src", srcSet: "srcSet", alt: "alt", width: "width", height: "height", crossOrigin: "crossOrigin", referrerPolicy: "referrerPolicy", testID: "testID", nativeID: "nativeID", accessible: "accessible", accessibilityLabel: "accessibilityLabel", accessibilityHint: "accessibilityHint", accessibilityRole: "accessibilityRole", accessibilityState: "accessibilityState", accessibilityValue: "accessibilityValue", accessibilityActions: "accessibilityActions", accessibilityLabelledBy: "accessibilityLabelledBy", importantForAccessibility: "importantForAccessibility", accessibilityLiveRegion: "accessibilityLiveRegion", screenReaderFocusable: "screenReaderFocusable", accessibilityViewIsModal: "accessibilityViewIsModal", accessibilityElementsHidden: "accessibilityElementsHidden", accessibilityIgnoresInvertColors: "accessibilityIgnoresInvertColors", accessibilityLanguage: "accessibilityLanguage", accessibilityRespondsToUserInteraction: "accessibilityRespondsToUserInteraction", accessibilityShowsLargeContentViewer: "accessibilityShowsLargeContentViewer", accessibilityLargeContentTitle: "accessibilityLargeContentTitle", role: "role", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledBy: ["aria-labelledby", "ariaLabelledBy"], ariaLive: ["aria-live", "ariaLive"], ariaHidden: ["aria-hidden", "ariaHidden"], ariaBusy: ["aria-busy", "ariaBusy"], ariaChecked: ["aria-checked", "ariaChecked"], ariaDisabled: ["aria-disabled", "ariaDisabled"], ariaExpanded: ["aria-expanded", "ariaExpanded"], ariaSelected: ["aria-selected", "ariaSelected"], ariaModal: ["aria-modal", "ariaModal"], ariaValueMax: ["aria-valuemax", "ariaValueMax"], ariaValueMin: ["aria-valuemin", "ariaValueMin"], ariaValueNow: ["aria-valuenow", "ariaValueNow"], ariaValueText: ["aria-valuetext", "ariaValueText"], onAccessibilityAction: "onAccessibilityAction", onAccessibilityTap: "onAccessibilityTap", onMagicTap: "onMagicTap", onAccessibilityEscape: "onAccessibilityEscape", onLoadStart: "onLoadStart", onLoad: "onLoad", onLoadEnd: "onLoadEnd", onError: "onError", onProgress: "onProgress", onPartialLoad: "onPartialLoad", animatedProps: "animatedProps", passthroughAnimatedPropExplicitValues: "passthroughAnimatedPropExplicitValues" }, outputs: { accessibilityAction: "accessibilityAction", accessibilityTap: "accessibilityTap", magicTap: "magicTap", accessibilityEscape: "accessibilityEscape", loadStart: "loadStart", load: "load", loadEnd: "loadEnd", error: "error", progress: "progress", partialLoad: "partialLoad" }, viewQueries: [{ propertyName: "hostDirective", first: true, predicate: SymbioteHostPropsDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
|
|
230
264
|
<symbiote-image
|
|
231
265
|
[symbioteHostProps]="animatedImageProps"
|
|
232
266
|
(accessibilityAction)="handleAccessibilityAction($event)"
|
|
@@ -244,11 +278,12 @@ export class AnimatedImage extends ImageBase {
|
|
|
244
278
|
</symbiote-image>
|
|
245
279
|
`, isInline: true, dependencies: [{ kind: "directive", type: SymbioteHostPropsDirective, selector: "[symbioteHostProps]", inputs: ["symbioteHostProps"], exportAs: ["symbioteHost"] }, { kind: "component", type: ImageHost, selector: "symbiote-image" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
246
280
|
}
|
|
247
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
281
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AnimatedImage, decorators: [{
|
|
248
282
|
type: Component,
|
|
249
283
|
args: [{
|
|
250
284
|
selector: 'AnimatedImage, symbiote-animated-image',
|
|
251
285
|
standalone: true,
|
|
286
|
+
hostDirectives: [{ directive: SymbioteStyleInputDirective, inputs: ['style'] }],
|
|
252
287
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
253
288
|
imports: [SymbioteHostPropsDirective, ImageHost],
|
|
254
289
|
inputs: ANIMATED_IMAGE_INPUTS,
|
|
@@ -278,20 +313,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
278
313
|
}] } });
|
|
279
314
|
export class AnimatedScrollView extends AnimatedComponentBase {
|
|
280
315
|
// RN defaults nested scrolling ON (ScrollView.js `nestedScrollEnabled ?? true`) — Android
|
|
281
|
-
// needs it explicit or a ScrollView
|
|
282
|
-
//
|
|
283
|
-
//
|
|
284
|
-
//
|
|
316
|
+
// needs it explicit or a nested ScrollView never receives touch (swallowed by the outer one;
|
|
317
|
+
// iOS doesn't gate on this). The real ScrollView component already defaults this
|
|
318
|
+
// (scroll-view/shared.ts), but AnimatedScrollView talks to the raw primitive directly and
|
|
319
|
+
// must apply it too.
|
|
285
320
|
//
|
|
286
|
-
// scrollViewBaseStyle (overflow: 'scroll' + the per-axis flexDirection) is the
|
|
287
|
-
//
|
|
288
|
-
//
|
|
289
|
-
//
|
|
290
|
-
//
|
|
291
|
-
//
|
|
292
|
-
// (symbiote-scroll-view/symbiote-scroll-content, not the horizontal variants), so
|
|
293
|
-
// selectScrollIntrinsics is always called with isHorizontal=false here — matching what the
|
|
294
|
-
// template can actually render.
|
|
321
|
+
// scrollViewBaseStyle (overflow: 'scroll' + the per-axis flexDirection) is the other thing the
|
|
322
|
+
// real ScrollView applies that this bespoke template used to skip — without it, iOS Fabric
|
|
323
|
+
// never clips content to the scroll view's frame (invisible on Android, whose native ViewGroup
|
|
324
|
+
// clips regardless of style). This wrapper has no `horizontal` input and its template is
|
|
325
|
+
// hardcoded to the vertical intrinsics, so selectScrollIntrinsics is always called with
|
|
326
|
+
// isHorizontal=false here, matching what the template can actually render.
|
|
295
327
|
get reducedProps() {
|
|
296
328
|
const reduced = super.reducedProps;
|
|
297
329
|
const { scrollViewBaseStyle } = selectScrollIntrinsics(false, undefined);
|
|
@@ -310,8 +342,8 @@ export class AnimatedScrollView extends AnimatedComponentBase {
|
|
|
310
342
|
const { contentStyle } = selectScrollIntrinsics(false, undefined);
|
|
311
343
|
return { style: contentStyle, collapsable: false };
|
|
312
344
|
}
|
|
313
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
314
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.
|
|
345
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AnimatedScrollView, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
346
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: AnimatedScrollView, isStandalone: true, selector: "AnimatedScrollView, symbiote-animated-scroll-view", inputs: { style: "style", animatedProps: "animatedProps", passthroughAnimatedPropExplicitValues: "passthroughAnimatedPropExplicitValues" }, usesInheritance: true, hostDirectives: [{ directive: i1.SymbioteStyleInputDirective, inputs: ["style", "style"] }], ngImport: i0, template: `
|
|
315
347
|
<symbiote-scroll-view [symbioteHostProps]="reducedProps">
|
|
316
348
|
<symbiote-scroll-content [symbioteHostProps]="contentProps">
|
|
317
349
|
<ng-content></ng-content>
|
|
@@ -319,11 +351,12 @@ export class AnimatedScrollView extends AnimatedComponentBase {
|
|
|
319
351
|
</symbiote-scroll-view>
|
|
320
352
|
`, isInline: true, dependencies: [{ kind: "directive", type: SymbioteHostPropsDirective, selector: "[symbioteHostProps]", inputs: ["symbioteHostProps"], exportAs: ["symbioteHost"] }, { kind: "component", type: ScrollViewHost, selector: "symbiote-scroll-view" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
321
353
|
}
|
|
322
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
354
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AnimatedScrollView, decorators: [{
|
|
323
355
|
type: Component,
|
|
324
356
|
args: [{
|
|
325
357
|
selector: 'AnimatedScrollView, symbiote-animated-scroll-view',
|
|
326
358
|
standalone: true,
|
|
359
|
+
hostDirectives: [{ directive: SymbioteStyleInputDirective, inputs: ['style'] }],
|
|
327
360
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
328
361
|
imports: [SymbioteHostPropsDirective, ScrollViewHost],
|
|
329
362
|
inputs: ANIMATED_INPUTS,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-animated-component.js","sourceRoot":"","sources":["../../../../src/modules/animated/create-animated-component.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"create-animated-component.js","sourceRoot":"","sources":["../../../../src/modules/animated/create-animated-component.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,8FAA8F;AAC9F,6FAA6F;AAC7F,uFAAuF;AACvF,yFAAyF;AACzF,gGAAgG;AAChG,0FAA0F;AAC1F,4FAA4F;AAC5F,6FAA6F;AAC7F,EAAE;AACF,sFAAsF;AACtF,mFAAmF;AACnF,4FAA4F;AAC5F,+FAA+F;AAC/F,uDAAuD;AAEvD,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,sBAAsB,EACtB,SAAS,EACT,UAAU,EACV,MAAM,EACN,MAAM,EACN,SAAS,GAMV,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EACL,eAAe,EACf,SAAS,EACT,cAAc,EACd,0BAA0B,EAC1B,2BAA2B,EAC3B,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;;;AAE5D,6FAA6F;AAC7F,6FAA6F;AAC7F,mBAAmB;AACnB,MAAM,gBAAgB,GAAG,uCAAuC,CAAC;AAEjE,4FAA4F;AAC5F,+FAA+F;AAC/F,8FAA8F;AAC9F,8FAA8F;AAC9F,uEAAuE;AACvE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAG,YAAY,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAE1F,6FAA6F;AAC7F,4FAA4F;AAC5F,+FAA+F;AAC/F,2FAA2F;AAC3F,oFAAoF;AAEpF,MAAM,OAAgB,qBAAqB;IAGzC,KAAK,CAAU;IACf,aAAa,CAAsC;IACnD,qCAAqC,CAAU;IAE/C,+EAA+E;IAC/E,4FAA4F;IAC5F,8FAA8F;IAC9F,gGAAgG;IAC/E,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEjD,8FAA8F;IAC9F,gGAAgG;IACjD,aAAa,CAA8B;IAE1F,8FAA8F;IAC9F,6FAA6F;IAC7F,6FAA6F;IAC7F,gFAAgF;IAC/D,UAAU,GAAG,IAAI,kBAAkB,CAClD,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CACtB,CAAC;IACF,+FAA+F;IACvF,SAAS,GAAG,KAAK,CAAC;IAE1B,+FAA+F;IAC/F,6FAA6F;IAC7F,2FAA2F;IAC3F,IAAI,YAAY;QACd,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC1F,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,wFAAwF;IACxF,EAAE;IACF,uFAAuF;IACvF,wFAAwF;IACxF,6FAA6F;IAC7F,4FAA4F;IAC5F,+FAA+F;IAC/F,+FAA+F;IAC/F,sEAAsE;IACtE,EAAE;IACF,4FAA4F;IAC5F,wFAAwF;IACxF,gGAAgG;IAC/E,WAAW,GAAG,MAAM,CAAU,SAAS;oFAAC,CAAC;IAE1D,SAAS;QACP,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,eAAe;QACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,6FAA6F;IAC7F,+FAA+F;IAC/F,+FAA+F;IAC/F,uFAAuF;IACvF,oGAAoG;IAC5F,SAAS;QACf,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,4BAA4B,GAChC,IAAI,CAAC,qCAAqC,KAAK,IAAI;YACnD,IAAI,CAAC,qCAAqC,KAAK,SAAS,CAAC;QAC3D,MAAM,WAAW,GAAG,4BAA4B,IAAI,yBAAyB,EAAE,CAAC;QAChF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,8FAA8F;IAC9F,4FAA4F;IAC5F,kBAAkB;IACV,WAAW;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACjF,CAAC;IAED,yFAAyF;IACzF,2FAA2F;IAC3F,gDAAgD;IACxC,QAAQ;QACd,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC3D,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;uGAvGmB,qBAAqB;2FAArB,qBAAqB,6FAe9B,0BAA0B;;2FAfjB,qBAAqB;kBAD1C,SAAS;;sBAgBP,SAAS;uBAAC,0BAA0B;;AAyGvC,MAAM,OAAO,YAAa,SAAQ,qBAAqB;uGAA1C,YAAY;2FAAZ,YAAY,gWAPb;;;;GAIT,4DANS,0BAA0B,2HAAE,QAAQ;;2FASnC,YAAY;kBAdxB,SAAS;mBAAC;oBACT,QAAQ,EAAE,sCAAsC;oBAChD,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/E,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,0BAA0B,EAAE,QAAQ,CAAC;oBAC/C,MAAM,EAAE,eAAe;oBACvB,QAAQ,EAAE;;;;GAIT;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;;AAiBD,MAAM,OAAO,YAAa,SAAQ,qBAAqB;uGAA1C,YAAY;2FAAZ,YAAY,gWAPb;;;;GAIT,4DANS,0BAA0B,2HAAE,QAAQ;;2FASnC,YAAY;kBAdxB,SAAS;mBAAC;oBACT,QAAQ,EAAE,sCAAsC;oBAChD,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/E,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,0BAA0B,EAAE,QAAQ,CAAC;oBAC/C,MAAM,EAAE,eAAe;oBACvB,QAAQ,EAAE;;;;GAIT;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;;AA8BD,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,aAAa,CAAsC;IACnD,qCAAqC,CAAU;IAE/C,yFAAyF;IACzF,+CAA+C;IAC9B,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEF,aAAa,CAA8B;IAE1F,8FAA8F;IAC9F,4FAA4F;IAC5F,qEAAqE;IACpD,UAAU,GAAG,IAAI,kBAAkB,CAClD,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CACtB,CAAC;IACM,SAAS,GAAG,KAAK,CAAC;IAE1B,IAAI,kBAAkB;QACpB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC1F,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC5C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,wFAAwF;IACxF,EAAE;IACF,uFAAuF;IACvF,wFAAwF;IACxF,6FAA6F;IAC7F,4FAA4F;IAC5F,+FAA+F;IAC/F,+FAA+F;IAC/F,sEAAsE;IACtE,EAAE;IACF,4FAA4F;IAC5F,wFAAwF;IACxF,gGAAgG;IAC/E,WAAW,GAAG,MAAM,CAAU,SAAS;oFAAC,CAAC;IAE1D,SAAS;QACP,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,eAAe;QACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,4BAA4B,GAChC,IAAI,CAAC,qCAAqC,KAAK,IAAI;YACnD,IAAI,CAAC,qCAAqC,KAAK,SAAS,CAAC;QAC3D,MAAM,WAAW,GAAG,4BAA4B,IAAI,yBAAyB,EAAE,CAAC;QAChF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC;IAEO,WAAW;QACjB,MAAM,KAAK,GAA4B,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAC;QACzE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAChE,IAAI,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC9C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,QAAQ;QACd,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC3D,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;uGApFU,aAAa;2FAAb,aAAa,s6FAQb,0BAA0B,yLA3B3B;;;;;;;;;;;;;;;;GAgBT,4DAnBS,0BAA0B,2HAAE,SAAS;;2FAsBpC,aAAa;kBA3BzB,SAAS;mBAAC;oBACT,QAAQ,EAAE,wCAAwC;oBAClD,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/E,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC;oBAChD,MAAM,EAAE,qBAAqB;oBAC7B,OAAO,EAAE,aAAa;oBACtB,QAAQ,EAAE;;;;;;;;;;;;;;;;GAgBT;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;;sBASE,SAAS;uBAAC,0BAA0B;;AA+FvC,MAAM,OAAO,kBAAmB,SAAQ,qBAAqB;IAC3D,0FAA0F;IAC1F,6FAA6F;IAC7F,iFAAiF;IACjF,0FAA0F;IAC1F,qBAAqB;IACrB,EAAE;IACF,+FAA+F;IAC/F,2FAA2F;IAC3F,+FAA+F;IAC/F,yFAAyF;IACzF,wFAAwF;IACxF,2EAA2E;IAC3E,IAAa,YAAY;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC;QACnC,MAAM,EAAE,mBAAmB,EAAE,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzE,MAAM,cAAc,GAA4B;YAC9C,GAAG,OAAO;YACV,KAAK,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC;SAC5C,CAAC;QACF,OAAO,cAAc,CAAC,mBAAmB,KAAK,SAAS;YACrD,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,mBAAmB,EAAE,IAAI,EAAE;YAClD,CAAC,CAAC,cAAc,CAAC;IACrB,CAAC;IAED,0FAA0F;IAC1F,+FAA+F;IAC/F,2EAA2E;IAC3E,IAAI,YAAY;QACd,MAAM,EAAE,YAAY,EAAE,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAClE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IACrD,CAAC;uGA/BU,kBAAkB;2FAAlB,kBAAkB,6WATnB;;;;;;GAMT,4DARS,0BAA0B,2HAAE,cAAc;;2FAWzC,kBAAkB;kBAhB9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,mDAAmD;oBAC7D,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/E,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,0BAA0B,EAAE,cAAc,CAAC;oBACrD,MAAM,EAAE,eAAe;oBACvB,QAAQ,EAAE;;;;;;GAMT;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;;AAmCD,iGAAiG;AACjG,kGAAkG;AAClG,uFAAuF;AACvF,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAE/C,6FAA6F;AAC7F,iGAAiG;AACjG,0FAA0F;AAC1F,8EAA8E;AAC9E,yBAAyB;AACzB,MAAM,UAAU,uBAAuB,CAAC,IAAa;IACnD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IACvC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IACvC,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,aAAa,CAAC;IACzC,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,kBAAkB,CAAC;IACnD,MAAM,IAAI,KAAK,CACb,6FAA6F;QAC3F,6FAA6F;QAC7F,2EAA2E;QAC3E,mEAAmE,CACtE,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/app-registry/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,qDAAqD;AACrD,gFAAgF;AAChF,kGAAkG;AAClG,yFAAyF;AACzF,iFAAiF;AACjF,2FAA2F;AAG3F,OAAO,EACL,iBAAiB,EACjB,IAAI,GAGL,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/app-registry/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,qDAAqD;AACrD,gFAAgF;AAChF,kGAAkG;AAClG,yFAAyF;AACzF,iFAAiF;AACjF,2FAA2F;AAG3F,OAAO,EACL,iBAAiB,EACjB,IAAI,GAGL,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAYrC,SAAS,WAAW,CAClB,iBAAqC,EACrC,2BAAwE;IAExE,OAAO,aAAa,CAAC,EAAE;QACrB,IAAI,CAAC,oCAAoC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1E,oFAAoF;QACpF,6CAA6C;QAC7C,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE;YAChD,YAAY,EAAE,aAAa,CAAC,YAAY;YACxC,gBAAgB,EAAE,2BAA2B,EAAE,EAAE,CAAC,aAAa,CAAC;SACjE,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,iBAAiB,CAGzD,WAAW,CAAC,CAAC;AAEf,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -27,10 +27,10 @@ class StatusBarComponent {
|
|
|
27
27
|
translucent: this.translucent,
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
31
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.
|
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: StatusBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: StatusBarComponent, isStandalone: true, selector: "StatusBar", inputs: { barStyle: "barStyle", hidden: "hidden", animated: "animated", networkActivityIndicatorVisible: "networkActivityIndicatorVisible", backgroundColor: "backgroundColor", translucent: "translucent" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
32
32
|
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: StatusBarComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
35
|
args: [{
|
|
36
36
|
selector: 'StatusBar',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SymbiotePrimitiveHost } from './shared';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
export { anchorHostStyle, anchorStyleProp, stableAnchorStyle, SymbioteHostPropsDirective, } from './shared';
|
|
3
|
+
export { anchorHostStyle, anchorStyleProp, stableAnchorStyle, SymbioteHostPropsDirective, SymbioteStyleInputDirective, } from './shared';
|
|
4
4
|
export declare class ViewHost extends SymbiotePrimitiveHost {
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<ViewHost, never>;
|
|
6
6
|
static ɵcmp: i0.ɵɵComponentDeclaration<ViewHost, "symbiote-view, View", never, {}, {}, never, ["*"], true, never>;
|