@symbiote-native/angular 0.8.0 → 1.0.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/babel-lower-host-primitives.cjs +636 -0
- package/babel-register-composed.cjs +21 -3
- package/build/angular/anchor-host-registry.js +3 -1
- package/build/angular/anchor-host-registry.js.map +1 -1
- package/build/angular/components/button.d.ts +3 -0
- package/build/angular/components/button.js +10 -1
- package/build/angular/components/button.js.map +1 -1
- package/build/angular/components/image/index.android.js +0 -8
- package/build/angular/components/image/index.android.js.map +1 -1
- package/build/angular/components/image/index.ios.js +0 -8
- package/build/angular/components/image/index.ios.js.map +1 -1
- package/build/angular/components/image/shared.d.ts +4 -4
- package/build/angular/components/image/shared.js +33 -27
- package/build/angular/components/image/shared.js.map +1 -1
- package/build/angular/components/image-background.d.ts +3 -0
- package/build/angular/components/image-background.js +10 -1
- package/build/angular/components/image-background.js.map +1 -1
- package/build/angular/components/input-accessory-view/index.d.ts +2 -1
- package/build/angular/components/input-accessory-view/index.js +11 -14
- 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 +17 -10
- package/build/angular/components/keyboard-avoiding-view/index.js.map +1 -1
- package/build/angular/components/modal/index.d.ts +1 -0
- package/build/angular/components/modal/index.js +14 -8
- package/build/angular/components/modal/index.js.map +1 -1
- package/build/angular/components/pressable/index.d.ts +9 -4
- package/build/angular/components/pressable/index.js +55 -14
- package/build/angular/components/pressable/index.js.map +1 -1
- package/build/angular/components/refresh-control/index.d.ts +2 -1
- package/build/angular/components/refresh-control/index.js +10 -8
- package/build/angular/components/refresh-control/index.js.map +1 -1
- package/build/angular/components/safe-area-view/index.d.ts +3 -1
- package/build/angular/components/safe-area-view/index.js +19 -19
- package/build/angular/components/safe-area-view/index.js.map +1 -1
- package/build/angular/components/scroll-view/shared.d.ts +2 -0
- package/build/angular/components/scroll-view/shared.js +20 -4
- package/build/angular/components/scroll-view/shared.js.map +1 -1
- package/build/angular/components/section-list/index.d.ts +3 -0
- package/build/angular/components/section-list/index.js +10 -1
- package/build/angular/components/section-list/index.js.map +1 -1
- package/build/angular/components/switch/index.android.js +6 -6
- package/build/angular/components/switch/index.android.js.map +1 -1
- package/build/angular/components/switch/index.ios.js +6 -6
- package/build/angular/components/switch/index.ios.js.map +1 -1
- package/build/angular/components/text-input.d.ts +7 -1
- package/build/angular/components/text-input.js +54 -29
- package/build/angular/components/text-input.js.map +1 -1
- package/build/angular/components/touchable/index.d.ts +7 -0
- package/build/angular/components/touchable/index.js +34 -3
- package/build/angular/components/touchable/index.js.map +1 -1
- package/build/angular/components/touchable-native-feedback/index.d.ts +2 -1
- package/build/angular/components/touchable-native-feedback/index.js +17 -15
- package/build/angular/components/touchable-native-feedback/index.js.map +1 -1
- package/build/angular/components/virtualized-list/index.d.ts +3 -0
- package/build/angular/components/virtualized-list/index.js +10 -1
- package/build/angular/components/virtualized-list/index.js.map +1 -1
- package/build/angular/components/virtualized-section-list/index.d.ts +3 -0
- package/build/angular/components/virtualized-section-list/index.js +10 -1
- 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 +1 -1
- package/build/angular/components.js.map +1 -1
- package/build/angular/create-portal/index.d.ts +11 -2
- package/build/angular/create-portal/index.js +37 -11
- package/build/angular/create-portal/index.js.map +1 -1
- package/build/angular/gate-demand.d.ts +37 -0
- package/build/angular/gate-demand.js +84 -0
- package/build/angular/gate-demand.js.map +1 -0
- package/build/angular/index.d.ts +1 -0
- package/build/angular/index.js +1 -0
- package/build/angular/index.js.map +1 -1
- package/build/angular/modules/animated/create-animated-component.d.ts +1 -0
- package/build/angular/modules/animated/create-animated-component.js +14 -9
- package/build/angular/modules/animated/create-animated-component.js.map +1 -1
- package/build/angular/primitives/index.d.ts +13 -1
- package/build/angular/primitives/index.js +43 -1
- package/build/angular/primitives/index.js.map +1 -1
- package/build/angular/register.d.ts +1 -0
- package/build/angular/register.js +35 -0
- package/build/angular/register.js.map +1 -0
- package/build/angular/render/index.js +3 -1
- package/build/angular/render/index.js.map +1 -1
- package/build/angular/renderer/index.js +120 -19
- package/build/angular/renderer/index.js.map +1 -1
- package/build/angular/state-style.d.ts +9 -0
- package/build/angular/state-style.js +39 -0
- package/build/angular/state-style.js.map +1 -0
- package/metro-transformer.cjs +69 -0
- package/package.json +27 -8
- package/src/anchor-host-registry.ts +3 -1
- package/src/components/button.ts +17 -0
- package/src/components/image/index.android.ts +0 -4
- package/src/components/image/index.ios.ts +0 -4
- package/src/components/image/shared.ts +52 -26
- package/src/components/image-background.ts +18 -0
- package/src/components/input-accessory-view/index.ts +14 -8
- package/src/components/keyboard-avoiding-view/index.ts +21 -7
- package/src/components/modal/index.ts +17 -4
- package/src/components/pressable/index.ts +70 -10
- package/src/components/refresh-control/index.ts +14 -5
- package/src/components/safe-area-view/index.ts +28 -12
- package/src/components/scroll-view/shared.ts +31 -4
- package/src/components/section-list/index.ts +18 -0
- package/src/components/switch/index.android.ts +4 -4
- package/src/components/switch/index.ios.ts +4 -4
- package/src/components/text-input.ts +73 -17
- package/src/components/touchable/index.ts +43 -0
- package/src/components/touchable-native-feedback/index.ts +18 -8
- package/src/components/virtualized-list/index.ts +18 -0
- package/src/components/virtualized-section-list/index.ts +18 -0
- package/src/components.ts +2 -0
- package/src/create-portal/index.ts +39 -9
- package/src/gate-demand.ts +109 -0
- package/src/index.ts +2 -0
- package/src/modules/animated/create-animated-component.ts +23 -4
- package/src/primitives/index.ts +28 -1
- package/src/register.ts +43 -0
- package/src/render/index.ts +3 -1
- package/src/renderer/index.ts +144 -34
- package/src/state-style.ts +39 -0
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
// engine's tiny mutation API; the engine owns all Fabric clone-on-write, shared with
|
|
5
5
|
// every other adapter. This is the Angular twin of adapters/vue/src/renderer.ts — proof
|
|
6
6
|
// that the same engine mutation API drives both frameworks.
|
|
7
|
-
import { appendChild, createAnchor, createElement, createRawText, dlog, getExplicitStyle, insertBefore, isDebug, isSymbioteNode, removeChild, routeProp, setEventListener, setText, toPublicInstance, RAW_TEXT_COMPONENT, SymbioteSurface, } from '@symbiote-native/engine';
|
|
7
|
+
import { appendChild, createAnchor, createElement, createRawText, dlog, getExplicitStyle, insertBefore, isDebug, isSymbioteNode, removeChild, routeProp, setEventListener, setProp, setText, toPublicInstance, RAW_TEXT_COMPONENT, SymbioteSurface, } from '@symbiote-native/engine';
|
|
8
8
|
import { descriptorFor } from '@symbiote-native/components';
|
|
9
|
+
import { foldHostBag } from '@symbiote-native/components/fold-host-bag';
|
|
9
10
|
import { isAnchorHostComponent } from '../anchor-host-registry';
|
|
10
11
|
import { countAngular, noteAngularCreate, noteAngularWrite, } from '../diagnostics';
|
|
11
12
|
import { flushScrollViewProjections, getScrollViewProjection, removeScrollViewProjectedChild, } from '../components/scroll-view/projection';
|
|
@@ -18,6 +19,61 @@ function isRawText(node) {
|
|
|
18
19
|
function isRecord(value) {
|
|
19
20
|
return typeof value === 'object' && value !== null;
|
|
20
21
|
}
|
|
22
|
+
// RN's Text.js applies two defaults on the way to native (core/components/host-primitives.cjs's
|
|
23
|
+
// `Text.defaults`; the authority on what they MEAN is core/components/src/text-props.ts's
|
|
24
|
+
// resolveTextProps, which the composed `Text` @Component already calls). That component's own
|
|
25
|
+
// host paints directly (Text is not anchor-hosted — see the top-level "View/Text's own component
|
|
26
|
+
// doesn't have this split" reasoning elsewhere in this file), so createElement runs for its INNER
|
|
27
|
+
// symbiote-text node too; seeding here therefore covers both the composed Text and any bare
|
|
28
|
+
// `symbiote-text` a future lowering emits, uniformly. Found missing 2026-08-31 (a cross-adapter
|
|
29
|
+
// key-count diff against Vue's real BenchmarkRow.vue) — without this a lowered Text's
|
|
30
|
+
// `numberOfLines` clips with no ellipsis, silently, on device only. Vue's renderer already does
|
|
31
|
+
// this (`adapters/vue/src/renderer/index.ts`'s `seedTextDefaults`); Angular's simply never did.
|
|
32
|
+
//
|
|
33
|
+
// Sourced from `foldHostBag` (`@symbiote-native/components/fold-host-bag`, driven by
|
|
34
|
+
// `HOST_PRIMITIVES.Text.defaults`) rather than a second hardcoded copy — React and Svelte call the
|
|
35
|
+
// same function directly; this used to be a THIRD, independent restatement of the same two
|
|
36
|
+
// defaults, with nothing to catch it drifting from the spec if a default's value ever changed.
|
|
37
|
+
// `foldHostBag('symbiote-text', {})` on an EMPTY bag folds every default with no authored value to
|
|
38
|
+
// override it (the alias loop has nothing to fold — `id` is only rewritten when present), which is
|
|
39
|
+
// exactly the seed this function needs.
|
|
40
|
+
function seedTextDefaults(node) {
|
|
41
|
+
const seeded = foldHostBag('symbiote-text', {});
|
|
42
|
+
for (const [key, value] of Object.entries(seeded))
|
|
43
|
+
setProp(node, key, value);
|
|
44
|
+
}
|
|
45
|
+
// An explicit `undefined` must NOT clear one of those defaults — RN treats a missing prop and an
|
|
46
|
+
// explicit undefined alike, and only a literal `false` opts allowFontScaling out. Reached only
|
|
47
|
+
// when a later write clears a key back to undefined, so it costs nothing on the common path.
|
|
48
|
+
// `foldHostBag` folds every Text default when called this way (not just `key`), because its
|
|
49
|
+
// contract is "fold a whole bag" — the extra key computed alongside `key` is simply unread here.
|
|
50
|
+
function textDefaultFor(el, key) {
|
|
51
|
+
if (isSurface(el) || !el.isText)
|
|
52
|
+
return undefined;
|
|
53
|
+
return foldHostBag('symbiote-text', { [key]: undefined })[key];
|
|
54
|
+
}
|
|
55
|
+
// RN's `id` is the modern W3C-named alias for `nativeID` (core/components/host-primitives.cjs's
|
|
56
|
+
// `ID_ALIAS`) — View.js/Text.js copy it over unconditionally, so the two name ONE native prop.
|
|
57
|
+
// React/Solid/Svelte fold it in a wrapper or transform; Angular had it nowhere, so `<View
|
|
58
|
+
// id="x">`/`[id]="x"` reached Fabric with an unknown `id` key and no `nativeID` — silently, on
|
|
59
|
+
// device only. Lives in the renderer (mirroring Vue's `PROP_ALIASES`) so it covers every path
|
|
60
|
+
// that can set a prop — `setAttribute`, `setProperty`, and (should a future lowering emit one) a
|
|
61
|
+
// hand-built call — not just the composed component's own `id` @Input.
|
|
62
|
+
// `symbioteStyle` is what the lowering transform emits in place of `[style]`: Angular routes a
|
|
63
|
+
// `style` binding to its own CSS styling engine, which cannot represent an RN StyleProp (an array
|
|
64
|
+
// throws inside change detection). Under any other name it is an ordinary property binding and
|
|
65
|
+
// arrives here.
|
|
66
|
+
// Angular's two-way sugar `[(value)]` compiles to a `(valueChange)` binding; the engine knows the
|
|
67
|
+
// same fold as the function prop `onValueChange`. See `listen()`.
|
|
68
|
+
const VALUE_CHANGE_EVENT = 'valueChange';
|
|
69
|
+
const VALUE_CHANGE_PROP = 'onValueChange';
|
|
70
|
+
const PROP_ALIASES = new Map([
|
|
71
|
+
['id', 'nativeID'],
|
|
72
|
+
['symbioteStyle', 'style'],
|
|
73
|
+
]);
|
|
74
|
+
function aliasedPropName(name) {
|
|
75
|
+
return PROP_ALIASES.get(name) ?? name;
|
|
76
|
+
}
|
|
21
77
|
// Diagnostic-only: tags each anchor with a sequential id so log lines can tell distinct
|
|
22
78
|
// anchors apart (they all otherwise print the same generic '#anchor' component name).
|
|
23
79
|
// Gated behind isDebug() so a production build pays zero cost (no WeakMap writes).
|
|
@@ -53,6 +109,10 @@ const PRIMITIVE_SELECTOR_ALIAS = {
|
|
|
53
109
|
// Inserting a bare raw-text node anywhere but inside a <Text> is invalid in Fabric (a
|
|
54
110
|
// stray RCTRawText would paint). Angular's ɵɵtext only ever lands text inside a <Text>,
|
|
55
111
|
// but guard anyway for parity with the Vue adapter and to fail loudly on a bad template.
|
|
112
|
+
// `removeScrollViewProjectedChild` takes a remove callback and uses it only when the child turns
|
|
113
|
+
// out to be projected, which almost none are — so the engine's own `removeChild` is passed by
|
|
114
|
+
// reference rather than wrapped in an arrow. The wrapper was allocated on EVERY removed node:
|
|
115
|
+
// 10 000 closures on a Clear whose engine window is 0.1 ms.
|
|
56
116
|
function assertTextPlacement(child, parent) {
|
|
57
117
|
if (isRawText(child) && (isSurface(parent) || !parent.isText)) {
|
|
58
118
|
throw new Error(`Text string "${String(child.props.text)}" must be rendered inside a <Text>`);
|
|
@@ -77,19 +137,30 @@ export class SymbioteRenderer {
|
|
|
77
137
|
// name for a native leaf. Public aliases are normalized to their engine primitive name
|
|
78
138
|
// before descriptor lookup. descriptorFor resolves it; an unknown `symbiote-*` is a typo,
|
|
79
139
|
// any other string flows through as a raw Fabric name (events/processors derived from its
|
|
80
|
-
// ViewConfig).
|
|
81
|
-
//
|
|
140
|
+
// ViewConfig). The imperative API (measure / setNativeProps / focus) is on the node's
|
|
141
|
+
// prototype, so toPublicInstance hands back the SAME identity the commit mirror keys on.
|
|
82
142
|
countAngular('nodesCreated');
|
|
83
143
|
noteAngularCreate(name);
|
|
84
144
|
const engineName = PRIMITIVE_SELECTOR_ALIAS[name] ?? name;
|
|
85
145
|
if (isAnchorHostComponent(engineName)) {
|
|
86
146
|
const anchor = tagAnchorForDebug(createAnchor());
|
|
87
|
-
|
|
147
|
+
if (isDebug()) {
|
|
148
|
+
dlog(`angular createElement ${name} -> anchor host ${describeHost(anchor)}`);
|
|
149
|
+
}
|
|
88
150
|
return anchor;
|
|
89
151
|
}
|
|
90
152
|
const descriptor = descriptorFor(engineName);
|
|
91
|
-
|
|
92
|
-
|
|
153
|
+
// The tag, not just the resolved Fabric name: the host-behavior registry is keyed by the
|
|
154
|
+
// INTRINSIC tag (host-behavior.ts's own comment), and a node only ever carries the resolved
|
|
155
|
+
// name afterward. Omitting this argument means attachHostBehavior looks up the WRONG key
|
|
156
|
+
// (e.g. 'RCTView') and any registered behavior silently never attaches — Vue's renderer
|
|
157
|
+
// already passes this correctly (`createElement(descriptor.component, descriptor.isText, type)`).
|
|
158
|
+
const node = createElement(descriptor.component, descriptor.isText, engineName);
|
|
159
|
+
if (descriptor.isText)
|
|
160
|
+
seedTextDefaults(node);
|
|
161
|
+
if (isDebug()) {
|
|
162
|
+
dlog(`angular createElement ${name} -> ${descriptor.component}`);
|
|
163
|
+
}
|
|
93
164
|
return toPublicInstance(node);
|
|
94
165
|
}
|
|
95
166
|
createComment() {
|
|
@@ -98,7 +169,9 @@ export class SymbioteRenderer {
|
|
|
98
169
|
// Vue createComment path.
|
|
99
170
|
countAngular('nodesCreated');
|
|
100
171
|
const anchor = tagAnchorForDebug(createAnchor());
|
|
101
|
-
|
|
172
|
+
if (isDebug()) {
|
|
173
|
+
dlog(`Angular renderer createComment -> ${describeHost(anchor)}`);
|
|
174
|
+
}
|
|
102
175
|
return anchor;
|
|
103
176
|
}
|
|
104
177
|
createText(value) {
|
|
@@ -114,12 +187,16 @@ export class SymbioteRenderer {
|
|
|
114
187
|
countAngular('nodesInserted');
|
|
115
188
|
assertTextPlacement(newChild, parent);
|
|
116
189
|
if (isSurface(parent)) {
|
|
117
|
-
|
|
190
|
+
if (isDebug()) {
|
|
191
|
+
dlog(`Angular renderer appendChild parent=surface child=${describeHost(newChild)}`);
|
|
192
|
+
}
|
|
118
193
|
parent.appendChild(newChild);
|
|
119
194
|
}
|
|
120
195
|
else {
|
|
121
196
|
const projection = getScrollViewProjection(parent);
|
|
122
|
-
|
|
197
|
+
if (isDebug()) {
|
|
198
|
+
dlog(`Angular renderer appendChild parent=${describeHost(parent)} child=${describeHost(newChild)} projection=${projection !== undefined}`);
|
|
199
|
+
}
|
|
123
200
|
if (projection !== undefined) {
|
|
124
201
|
projection.appendProjectedChild(parent, newChild, (target, child) => appendChild(target, child));
|
|
125
202
|
}
|
|
@@ -135,7 +212,9 @@ export class SymbioteRenderer {
|
|
|
135
212
|
countAngular('nodesInserted');
|
|
136
213
|
assertTextPlacement(newChild, parent);
|
|
137
214
|
if (isSurface(parent)) {
|
|
138
|
-
|
|
215
|
+
if (isDebug()) {
|
|
216
|
+
dlog(`Angular renderer insertBefore parent=surface child=${describeHost(newChild)} ref=${refChild ? describeHost(refChild) : 'null'}`);
|
|
217
|
+
}
|
|
139
218
|
if (refChild)
|
|
140
219
|
parent.insertBefore(newChild, refChild);
|
|
141
220
|
else
|
|
@@ -143,7 +222,9 @@ export class SymbioteRenderer {
|
|
|
143
222
|
}
|
|
144
223
|
else {
|
|
145
224
|
const projection = getScrollViewProjection(parent);
|
|
146
|
-
|
|
225
|
+
if (isDebug()) {
|
|
226
|
+
dlog(`Angular renderer insertBefore parent=${describeHost(parent)} child=${describeHost(newChild)} ref=${refChild ? describeHost(refChild) : 'null'} projection=${projection !== undefined}`);
|
|
227
|
+
}
|
|
147
228
|
if (projection !== undefined) {
|
|
148
229
|
projection.insertProjectedChild(parent, newChild, refChild, (target, child, before) => {
|
|
149
230
|
if (before === undefined)
|
|
@@ -166,10 +247,12 @@ export class SymbioteRenderer {
|
|
|
166
247
|
// surface.children with no parent). Angular's `parent` arg is ignored in favor of the
|
|
167
248
|
// authoritative link, mirroring the Vue adapter's remove.
|
|
168
249
|
countAngular('nodesRemoved');
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
250
|
+
const wasProjected = removeScrollViewProjectedChild(oldChild, removeChild);
|
|
251
|
+
if (isDebug()) {
|
|
252
|
+
const angularParent = _parent !== null ? describeHost(_parent) : 'null';
|
|
253
|
+
const retainedParent = oldChild.parent !== undefined ? describeHost(oldChild.parent) : 'none';
|
|
254
|
+
dlog(`Angular renderer removeChild angularParent=${angularParent} retainedParent=${retainedParent} child=${describeHost(oldChild)} viaProjection=${wasProjected}`);
|
|
255
|
+
}
|
|
173
256
|
if (!wasProjected) {
|
|
174
257
|
const parent = oldChild.parent;
|
|
175
258
|
if (parent !== undefined)
|
|
@@ -212,7 +295,7 @@ export class SymbioteRenderer {
|
|
|
212
295
|
return;
|
|
213
296
|
countAngular('rendererWrites');
|
|
214
297
|
noteAngularWrite(name);
|
|
215
|
-
routeProp(el, name, value);
|
|
298
|
+
routeProp(el, aliasedPropName(name), value);
|
|
216
299
|
this.surface.requestCommit();
|
|
217
300
|
}
|
|
218
301
|
removeAttribute(el, name) {
|
|
@@ -220,7 +303,8 @@ export class SymbioteRenderer {
|
|
|
220
303
|
return;
|
|
221
304
|
countAngular('rendererWrites');
|
|
222
305
|
noteAngularWrite(name);
|
|
223
|
-
|
|
306
|
+
const aliased = aliasedPropName(name);
|
|
307
|
+
routeProp(el, aliased, textDefaultFor(el, aliased));
|
|
224
308
|
this.surface.requestCommit();
|
|
225
309
|
}
|
|
226
310
|
// Ivy compiles every class= / [class.foo] / [ngClass] form down to per-token addClass/
|
|
@@ -288,7 +372,8 @@ export class SymbioteRenderer {
|
|
|
288
372
|
return;
|
|
289
373
|
countAngular('rendererWrites');
|
|
290
374
|
noteAngularWrite(name);
|
|
291
|
-
|
|
375
|
+
const aliased = aliasedPropName(name);
|
|
376
|
+
routeProp(el, aliased, value === undefined ? textDefaultFor(el, aliased) : value);
|
|
292
377
|
this.surface.requestCommit();
|
|
293
378
|
}
|
|
294
379
|
setValue(node, value) {
|
|
@@ -296,7 +381,9 @@ export class SymbioteRenderer {
|
|
|
296
381
|
noteAngularWrite('#text');
|
|
297
382
|
// A useful permanent seam: text mutations are low-frequency and the one place a stale
|
|
298
383
|
// `{{binding}}` (a change-detection gap) shows up as "the setValue never fired".
|
|
299
|
-
|
|
384
|
+
if (isDebug()) {
|
|
385
|
+
dlog(`Angular renderer setValue "${value}" on ${describeHost(node)}`);
|
|
386
|
+
}
|
|
300
387
|
setText(node, value);
|
|
301
388
|
this.surface.requestCommit();
|
|
302
389
|
}
|
|
@@ -307,6 +394,20 @@ export class SymbioteRenderer {
|
|
|
307
394
|
listen(target, eventName, callback) {
|
|
308
395
|
if (!isSymbioteNode(target))
|
|
309
396
|
return () => { };
|
|
397
|
+
// `[(value)]` desugars to `(valueChange)`, which is the spelling every Angular template writes
|
|
398
|
+
// for a Switch or a TextInput. On the COMPONENT path it is an `@Output()` the wrapper derives
|
|
399
|
+
// from the raw `change` payload; on a LOWERED element there is no component, and registering
|
|
400
|
+
// `valueChange` as an engine event would wait forever for a Fabric event of that name.
|
|
401
|
+
//
|
|
402
|
+
// The lowered path already carries the same fold under RN's own spelling: both behaviors call
|
|
403
|
+
// `node.props.onValueChange(value, event)` — a plain function PROP, not an event
|
|
404
|
+
// (`behaviors/switch.ts`, `behaviors/text-input.ts`). So this is a rename, not a mechanism:
|
|
405
|
+
// route the binding to that prop and `[(value)]` behaves identically on both paths. Without it
|
|
406
|
+
// the transform had to refuse to lower the two primitives whose idiomatic spelling this is.
|
|
407
|
+
if (eventName === VALUE_CHANGE_EVENT) {
|
|
408
|
+
routeProp(target, VALUE_CHANGE_PROP, callback);
|
|
409
|
+
return () => routeProp(target, VALUE_CHANGE_PROP, undefined);
|
|
410
|
+
}
|
|
310
411
|
setEventListener(target, eventName, callback);
|
|
311
412
|
return () => setEventListener(target, eventName, undefined);
|
|
312
413
|
}
|
|
@@ -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":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type PipeTransform } from '@angular/core';
|
|
2
|
+
import type { IResolvedStateStyle } from '@symbiote-native/components/state-style';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export { resolveStateStyle, type IPressStateArgument, type IResolvedStateStyle, } from '@symbiote-native/components/state-style';
|
|
5
|
+
export declare class SymbioteStateStylePipe implements PipeTransform {
|
|
6
|
+
transform(value: unknown): IResolvedStateStyle;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SymbioteStateStylePipe, never>;
|
|
8
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<SymbioteStateStylePipe, "resolveStateStyle", true>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Angular-only addition to this otherwise byte-identical file: a template expression can call a
|
|
2
|
+
// PIPE, never an arbitrary imported function — `resolveStateStyle(x)` in a template resolves as
|
|
3
|
+
// `ctx.resolveStateStyle(x)`, a component-instance method lookup, which the lowering transform has
|
|
4
|
+
// no component to add one to (verified against the installed compiler-cli, 2026-09-01: the linker
|
|
5
|
+
// compiles it straight to a `ctx.` property read with no error, so this fails at RUNTIME —
|
|
6
|
+
// `ctx.resolveStateStyle is not a function` — not at compile time). A pipe is the one thing that
|
|
7
|
+
// resolves through `dependencies` the way a component/directive does.
|
|
8
|
+
//
|
|
9
|
+
// `emitStyleExpressionOnce` still applies: the transform's `@let pair = (expr | resolveStateStyle);`
|
|
10
|
+
// evaluates `expr` exactly once (verified via the compiled `ɵɵpipeBind1` call) and `pair.style` /
|
|
11
|
+
// `pair.activeStyle` are two cheap reads of the local, never a second evaluation of `expr`.
|
|
12
|
+
import { Pipe } from '@angular/core';
|
|
13
|
+
import { resolveStateStyle as resolveStateStyleImpl } from '@symbiote-native/components/state-style';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
// Re-export only. The implementation is shared (`@symbiote-native/components`) because two adapters
|
|
16
|
+
// had written byte-identical copies; this file exists so the code a transform EMITS keeps importing
|
|
17
|
+
// from the adapter package the app already depends on, rather than reaching past it.
|
|
18
|
+
//
|
|
19
|
+
// Imported from the SUBPATH, not the barrel: every adapter barrel re-exports
|
|
20
|
+
// `@symbiote-native/components` wholesale, so a name on that barrel silently becomes public API on
|
|
21
|
+
// all five — which is how a transform internal nearly shipped as a supported export.
|
|
22
|
+
//
|
|
23
|
+
// Present on every adapter, including those with no lowering transform yet: a per-framework subpath
|
|
24
|
+
// that four of five declare is exactly the silent gap `tests/package-subpath-parity.test.ts` exists
|
|
25
|
+
// to catch, and the file costs a re-export. Deliberately NOT on the public barrel — the emitted
|
|
26
|
+
// code names it, app code does not.
|
|
27
|
+
export { resolveStateStyle, } from '@symbiote-native/components/state-style';
|
|
28
|
+
export class SymbioteStateStylePipe {
|
|
29
|
+
transform(value) {
|
|
30
|
+
return resolveStateStyleImpl(value);
|
|
31
|
+
}
|
|
32
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbioteStateStylePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
33
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: SymbioteStateStylePipe, isStandalone: true, name: "resolveStateStyle" });
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SymbioteStateStylePipe, decorators: [{
|
|
36
|
+
type: Pipe,
|
|
37
|
+
args: [{ name: 'resolveStateStyle', standalone: true }]
|
|
38
|
+
}] });
|
|
39
|
+
//# sourceMappingURL=state-style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-style.js","sourceRoot":"","sources":["../../src/state-style.ts"],"names":[],"mappings":"AAkBA,gGAAgG;AAChG,gGAAgG;AAChG,mGAAmG;AACnG,kGAAkG;AAClG,2FAA2F;AAC3F,iGAAiG;AACjG,sEAAsE;AACtE,EAAE;AACF,qGAAqG;AACrG,kGAAkG;AAClG,4FAA4F;AAC5F,OAAO,EAAE,IAAI,EAAsB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;;AA9BrG,oGAAoG;AACpG,oGAAoG;AACpG,qFAAqF;AACrF,EAAE;AACF,6EAA6E;AAC7E,mGAAmG;AACnG,qFAAqF;AACrF,EAAE;AACF,oGAAoG;AACpG,oGAAoG;AACpG,gGAAgG;AAChG,oCAAoC;AACpC,OAAO,EACL,iBAAiB,GAGlB,MAAM,yCAAyC,CAAC;AAkBjD,MAAM,OAAO,sBAAsB;IACjC,SAAS,CAAC,KAAc;QACtB,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;uGAHU,sBAAsB;qGAAtB,sBAAsB;;2FAAtB,sBAAsB;kBADlC,IAAI;mBAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,IAAI,EAAE"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// The Angular app-side Metro transformer: host-primitive lowering + the CSS pipeline.
|
|
2
|
+
//
|
|
3
|
+
// Point `metro.config.js`'s `babelTransformerPath` here INSTEAD of `./metro-css-parser`, and do
|
|
4
|
+
// NOT also list `./babel-lower-host-primitives` in `babel.config.js` — as a babel plugin it does
|
|
5
|
+
// half the job, silently.
|
|
6
|
+
//
|
|
7
|
+
// WHY a source pre-pass and not a plugin. Angular's linker reads an INLINE template by SLICING THE
|
|
8
|
+
// FILE'S SOURCE TEXT at the AST node's own byte range (`templateFromPartialCode` in
|
|
9
|
+
// `@angular/compiler-cli`'s bundled linker: `code: this.code`, `range: {startPos, endPos}`), never
|
|
10
|
+
// from the string the AST carries. So a plugin that rewrites `template` in the AST is invisible to
|
|
11
|
+
// a linker running in the SAME babel pass, while its edit to `dependencies` — read as an ordinary
|
|
12
|
+
// AST array — lands. The result is the worst of both: the primitives are gone from `dependencies`
|
|
13
|
+
// and the tags are still `<View>`/`<Pressable>`, so they match no directive at all, no component
|
|
14
|
+
// template runs, and the screen loses its styles and its press handlers with nothing red anywhere.
|
|
15
|
+
//
|
|
16
|
+
// Printing the lowered AST back to TEXT before Metro parses it is what makes the two agree: the
|
|
17
|
+
// linker then slices the rewritten template out of the source it was handed.
|
|
18
|
+
//
|
|
19
|
+
// .cjs for the same reason as this package's other loose scripts: Metro `require()`s a
|
|
20
|
+
// babelTransformerPath directly, and the package is "type": "module".
|
|
21
|
+
const { transformSync } = require('@babel/core');
|
|
22
|
+
const { readFileSync } = require('node:fs');
|
|
23
|
+
const { createHash } = require('node:crypto');
|
|
24
|
+
const {
|
|
25
|
+
createCssMetroTransformer,
|
|
26
|
+
resolveUpstreamTransformer,
|
|
27
|
+
} = require('@symbiote-native/css-parser');
|
|
28
|
+
|
|
29
|
+
const LOWER_PLUGIN_PATH = require.resolve('./babel-lower-host-primitives.cjs');
|
|
30
|
+
const lowerHostPrimitives = require(LOWER_PLUGIN_PATH);
|
|
31
|
+
|
|
32
|
+
// ngc's partial output is the only thing this can act on, and every such file names the declaration
|
|
33
|
+
// helper. Cheaper than parsing every file in the bundle to find out it has no component in it.
|
|
34
|
+
const PARTIAL_DECLARATION_MARKER = 'ɵɵngDeclareComponent';
|
|
35
|
+
|
|
36
|
+
function createLoweringTransformer(upstreamTransformer) {
|
|
37
|
+
return {
|
|
38
|
+
transform(params) {
|
|
39
|
+
if (!params.src.includes(PARTIAL_DECLARATION_MARKER)) {
|
|
40
|
+
return upstreamTransformer.transform(params);
|
|
41
|
+
}
|
|
42
|
+
const lowered = transformSync(params.src, {
|
|
43
|
+
filename: params.filename,
|
|
44
|
+
babelrc: false,
|
|
45
|
+
configFile: false,
|
|
46
|
+
plugins: [lowerHostPrimitives],
|
|
47
|
+
});
|
|
48
|
+
return upstreamTransformer.transform({
|
|
49
|
+
...params,
|
|
50
|
+
src: lowered?.code ?? params.src,
|
|
51
|
+
});
|
|
52
|
+
},
|
|
53
|
+
// Metro's own key covers the upstream transformer and babel.config.js, NOT a plugin this file
|
|
54
|
+
// require()s itself — so editing the lowering rules would otherwise be served from cache and
|
|
55
|
+
// read on device as "the change did nothing".
|
|
56
|
+
getCacheKey(...args) {
|
|
57
|
+
const upstream = upstreamTransformer.getCacheKey?.(...args) ?? '';
|
|
58
|
+
const plugin = createHash('sha1')
|
|
59
|
+
.update(readFileSync(LOWER_PLUGIN_PATH))
|
|
60
|
+
.digest('hex');
|
|
61
|
+
return `${upstream}-symbiote-lower-${plugin}`;
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
module.exports = createCssMetroTransformer(
|
|
67
|
+
createLoweringTransformer(resolveUpstreamTransformer()),
|
|
68
|
+
);
|
|
69
|
+
module.exports.createLoweringTransformer = createLoweringTransformer;
|
package/package.json
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@symbiote-native/angular",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.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
|
+
"keywords": [
|
|
6
|
+
"react-native",
|
|
7
|
+
"symbiote-native",
|
|
8
|
+
"angular",
|
|
9
|
+
"renderer2",
|
|
10
|
+
"fabric",
|
|
11
|
+
"cross-platform",
|
|
12
|
+
"ios",
|
|
13
|
+
"android"
|
|
14
|
+
],
|
|
5
15
|
"license": "MIT",
|
|
6
16
|
"repository": {
|
|
7
17
|
"type": "git",
|
|
@@ -29,19 +39,28 @@
|
|
|
29
39
|
"default": "./src/bootstrap.ts"
|
|
30
40
|
},
|
|
31
41
|
"./metro-css-parser": "./metro-css-parser.cjs",
|
|
42
|
+
"./metro-transformer": "./metro-transformer.cjs",
|
|
32
43
|
"./metro-config": "./metro-config.cjs",
|
|
33
44
|
"./babel-linker": "./babel-linker.cjs",
|
|
34
45
|
"./babel-register-composed": "./babel-register-composed.cjs",
|
|
35
|
-
"./
|
|
46
|
+
"./babel-lower-host-primitives": "./babel-lower-host-primitives.cjs",
|
|
47
|
+
"./tsconfig.angular.base.json": "./tsconfig.angular.base.json",
|
|
48
|
+
"./state-style": {
|
|
49
|
+
"types": "./build/angular/state-style.d.ts",
|
|
50
|
+
"react-native": "./build/angular/state-style.js",
|
|
51
|
+
"default": "./src/state-style.ts"
|
|
52
|
+
}
|
|
36
53
|
},
|
|
37
54
|
"files": [
|
|
38
55
|
"src",
|
|
39
56
|
"build",
|
|
40
57
|
"bin",
|
|
41
58
|
"metro-css-parser.cjs",
|
|
59
|
+
"metro-transformer.cjs",
|
|
42
60
|
"metro-config.cjs",
|
|
43
61
|
"babel-linker.cjs",
|
|
44
62
|
"babel-register-composed.cjs",
|
|
63
|
+
"babel-lower-host-primitives.cjs",
|
|
45
64
|
"tsconfig.angular.base.json",
|
|
46
65
|
"!src/**/*.test.*",
|
|
47
66
|
"!src/**/*.spec.*",
|
|
@@ -56,14 +75,14 @@
|
|
|
56
75
|
"dependencies": {
|
|
57
76
|
"@angular/compiler-cli": "~22.0.8",
|
|
58
77
|
"@react-native/typescript-config": "0.86.0",
|
|
59
|
-
"@symbiote-native/components": "0.
|
|
60
|
-
"@symbiote-native/css-parser": "0.
|
|
78
|
+
"@symbiote-native/components": "1.0.0",
|
|
79
|
+
"@symbiote-native/css-parser": "0.5.0"
|
|
61
80
|
},
|
|
62
81
|
"peerDependencies": {
|
|
63
82
|
"@angular/core": ">=20",
|
|
64
83
|
"@angular/forms": ">=20",
|
|
65
|
-
"
|
|
66
|
-
"
|
|
84
|
+
"react-native": ">=0.86",
|
|
85
|
+
"@symbiote-native/engine": "^0.4.0"
|
|
67
86
|
},
|
|
68
87
|
"devDependencies": {
|
|
69
88
|
"@angular/compiler": "~22.0.8",
|
|
@@ -73,8 +92,8 @@
|
|
|
73
92
|
"@types/babel__core": "^7.20.5",
|
|
74
93
|
"@types/node": "^26.0.0",
|
|
75
94
|
"typescript": "~6.0.0",
|
|
76
|
-
"@symbiote-native/engine": "0.
|
|
77
|
-
"@symbiote-native/test-utils": "0.
|
|
95
|
+
"@symbiote-native/engine": "0.4.0",
|
|
96
|
+
"@symbiote-native/test-utils": "0.3.0"
|
|
78
97
|
},
|
|
79
98
|
"scripts": {
|
|
80
99
|
"clean": "rm -rf build",
|
|
@@ -69,7 +69,9 @@ const ANCHOR_HOST_COMPONENTS: Set<string> = new Set(
|
|
|
69
69
|
'TouchableWithoutFeedback',
|
|
70
70
|
'VirtualizedList',
|
|
71
71
|
'VirtualizedSectionList',
|
|
72
|
-
'symbiote-pressable'
|
|
72
|
+
// 'symbiote-pressable' deliberately NOT here — see Pressable's own @Component comment
|
|
73
|
+
// (components/pressable/index.ts). It is the host-behavior registry's tag, never a spelling
|
|
74
|
+
// of the composed component now, so it must resolve to a real, painting node.
|
|
73
75
|
].map(selector => selector.toLowerCase()),
|
|
74
76
|
);
|
|
75
77
|
|
package/src/components/button.ts
CHANGED
|
@@ -41,6 +41,13 @@ import type {
|
|
|
41
41
|
} from '@symbiote-native/engine';
|
|
42
42
|
import { anchorStyleProp, TextHost } from '../primitives';
|
|
43
43
|
import { TouchableOpacity } from './touchable';
|
|
44
|
+
import {
|
|
45
|
+
gateWanted,
|
|
46
|
+
injectGateDemandAbove,
|
|
47
|
+
provideGateDemand,
|
|
48
|
+
type IGateDemand,
|
|
49
|
+
type IGatedAccessibilityEvent,
|
|
50
|
+
} from '../gate-demand';
|
|
44
51
|
|
|
45
52
|
export type IButtonProps = Omit<
|
|
46
53
|
ICoreButtonProps,
|
|
@@ -54,6 +61,7 @@ export type IButtonProps = Omit<
|
|
|
54
61
|
@Component({
|
|
55
62
|
selector: 'Button',
|
|
56
63
|
standalone: true,
|
|
64
|
+
viewProviders: [provideGateDemand(() => Button)],
|
|
57
65
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
58
66
|
imports: [TouchableOpacity, TextHost],
|
|
59
67
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -130,6 +138,15 @@ export class Button implements IButtonProps, DoCheck {
|
|
|
130
138
|
@Output() readonly magicTap = new EventEmitter<ISymbioteEvent>();
|
|
131
139
|
@Output() readonly accessibilityEscape = new EventEmitter<ISymbioteEvent>();
|
|
132
140
|
|
|
141
|
+
// This wrapper binds the four gated accessibility events on the component it renders, which
|
|
142
|
+
// Angular forces to be unconditional and which would light that component's gates on every
|
|
143
|
+
// instance. It answers for them instead — see `gate-demand.ts`.
|
|
144
|
+
private readonly gateDemandAbove = injectGateDemandAbove();
|
|
145
|
+
|
|
146
|
+
wantsGate(name: IGatedAccessibilityEvent): boolean {
|
|
147
|
+
return gateWanted(this.gateDemandAbove, name, this[name]);
|
|
148
|
+
}
|
|
149
|
+
|
|
133
150
|
// Button-owned props: title is the Text child, color/disabled fold into the label style, and
|
|
134
151
|
// touchSoundDisabled re-maps onto TouchableOpacity.
|
|
135
152
|
@Input() title = '';
|
|
@@ -42,10 +42,6 @@ export type {
|
|
|
42
42
|
template: `
|
|
43
43
|
<symbiote-image
|
|
44
44
|
[symbioteHostProps]="imageProps()"
|
|
45
|
-
(accessibilityAction)="handleAccessibilityAction($event)"
|
|
46
|
-
(accessibilityTap)="handleAccessibilityTap($event)"
|
|
47
|
-
(magicTap)="handleMagicTap($event)"
|
|
48
|
-
(accessibilityEscape)="handleAccessibilityEscape($event)"
|
|
49
45
|
(loadStart)="handleLoadStart($event)"
|
|
50
46
|
(load)="handleLoad($event)"
|
|
51
47
|
(loadEnd)="handleLoadEnd($event)"
|
|
@@ -42,10 +42,6 @@ export type {
|
|
|
42
42
|
template: `
|
|
43
43
|
<symbiote-image
|
|
44
44
|
[symbioteHostProps]="imageProps()"
|
|
45
|
-
(accessibilityAction)="handleAccessibilityAction($event)"
|
|
46
|
-
(accessibilityTap)="handleAccessibilityTap($event)"
|
|
47
|
-
(magicTap)="handleMagicTap($event)"
|
|
48
|
-
(accessibilityEscape)="handleAccessibilityEscape($event)"
|
|
49
45
|
(loadStart)="handleLoadStart($event)"
|
|
50
46
|
(load)="handleLoad($event)"
|
|
51
47
|
(loadEnd)="handleLoadEnd($event)"
|