@symbiote-native/navigation 2.0.3 → 2.1.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/build/angular/drawer/index.js +6 -4
- package/build/angular/stack/index.d.ts +2 -0
- package/build/angular/stack/index.js +23 -3
- package/build/angular/tabs/index.d.ts +1 -1
- package/build/angular/tabs/index.js +20 -7
- package/build/core/index.d.ts +2 -1
- package/build/core/index.js +5 -1
- package/build/core/stack-router-state/index.d.ts +2 -0
- package/build/core/stack-router-state/index.js +44 -0
- package/build/core/tab-router-state/index.d.ts +1 -0
- package/build/core/tab-router-state/index.js +19 -0
- package/build/react/drawer/index.js +23 -13
- package/build/react/stack/index.js +13 -2
- package/build/react/tabs/index.js +23 -9
- package/build/svelte/attachments.d.ts +5 -0
- package/build/svelte/attachments.js +61 -0
- package/build/svelte/descriptor-subtree.d.ts +3 -0
- package/build/svelte/descriptor-subtree.js +37 -0
- package/build/svelte/drawer/drawer-props.d.ts +14 -0
- package/build/svelte/drawer/drawer-props.js +3 -0
- package/build/svelte/drawer/index.d.ts +10 -0
- package/build/svelte/drawer/index.js +6 -0
- package/build/svelte/drawer/index.svelte +421 -0
- package/build/svelte/drawer/index.svelte.d.ts +10 -0
- package/build/svelte/drawer-screen-props.d.ts +13 -0
- package/build/svelte/drawer-screen-props.js +4 -0
- package/build/svelte/drawer-screen.svelte +24 -0
- package/build/svelte/drawer-screen.svelte.d.ts +4 -0
- package/build/svelte/index.d.ts +21 -0
- package/build/svelte/index.js +20 -0
- package/build/svelte/linking.svelte.d.ts +2 -0
- package/build/svelte/linking.svelte.js +55 -0
- package/build/svelte/navigation-context.d.ts +14 -0
- package/build/svelte/navigation-context.js +44 -0
- package/build/svelte/navigation-scope.svelte +24 -0
- package/build/svelte/navigation-scope.svelte.d.ts +9 -0
- package/build/svelte/registry-host.d.ts +1 -0
- package/build/svelte/registry-host.js +26 -0
- package/build/svelte/runes/index.d.ts +12 -0
- package/build/svelte/runes/index.js +12 -0
- package/build/svelte/runes/use-drawer-navigation.svelte.d.ts +6 -0
- package/build/svelte/runes/use-drawer-navigation.svelte.js +19 -0
- package/build/svelte/runes/use-focus-effect.svelte.d.ts +1 -0
- package/build/svelte/runes/use-focus-effect.svelte.js +31 -0
- package/build/svelte/runes/use-is-focused.svelte.d.ts +3 -0
- package/build/svelte/runes/use-is-focused.svelte.js +34 -0
- package/build/svelte/runes/use-navigation-state.svelte.d.ts +4 -0
- package/build/svelte/runes/use-navigation-state.svelte.js +39 -0
- package/build/svelte/runes/use-navigation.svelte.d.ts +9 -0
- package/build/svelte/runes/use-navigation.svelte.js +22 -0
- package/build/svelte/runes/use-route.svelte.d.ts +4 -0
- package/build/svelte/runes/use-route.svelte.js +12 -0
- package/build/svelte/runes/use-stack-navigation.svelte.d.ts +6 -0
- package/build/svelte/runes/use-stack-navigation.svelte.js +22 -0
- package/build/svelte/runes/use-tab-navigation.svelte.d.ts +6 -0
- package/build/svelte/runes/use-tab-navigation.svelte.js +19 -0
- package/build/svelte/screen-props.d.ts +21 -0
- package/build/svelte/screen-props.js +6 -0
- package/build/svelte/screen-registry.d.ts +17 -0
- package/build/svelte/screen-registry.js +57 -0
- package/build/svelte/screen.svelte +28 -0
- package/build/svelte/screen.svelte.d.ts +4 -0
- package/build/svelte/stack/index.d.ts +14 -0
- package/build/svelte/stack/index.js +7 -0
- package/build/svelte/stack/index.svelte +224 -0
- package/build/svelte/stack/index.svelte.d.ts +15 -0
- package/build/svelte/stack/stack-props.d.ts +20 -0
- package/build/svelte/stack/stack-props.js +4 -0
- package/build/svelte/stack/stack-screen.svelte +148 -0
- package/build/svelte/stack/stack-screen.svelte.d.ts +4 -0
- package/build/svelte/tab-screen-props.d.ts +13 -0
- package/build/svelte/tab-screen-props.js +4 -0
- package/build/svelte/tab-screen.svelte +26 -0
- package/build/svelte/tab-screen.svelte.d.ts +4 -0
- package/build/svelte/tabs/index.d.ts +8 -0
- package/build/svelte/tabs/index.js +6 -0
- package/build/svelte/tabs/index.svelte +247 -0
- package/build/svelte/tabs/index.svelte.d.ts +8 -0
- package/build/svelte/tabs/tab-props.d.ts +7 -0
- package/build/svelte/tabs/tab-props.js +3 -0
- package/build/vue/drawer/index.js +6 -5
- package/build/vue/stack/index.js +26 -12
- package/build/vue/tabs/index.js +48 -35
- package/build-ngc/angular/drawer/index.js +9 -7
- package/build-ngc/angular/drawer/index.js.map +1 -1
- package/build-ngc/angular/drawer-screen.directive.js +3 -3
- package/build-ngc/angular/navigation-context.service.js +3 -3
- package/build-ngc/angular/navigation-scope.directive.js +3 -3
- package/build-ngc/angular/screen.directive.js +3 -3
- package/build-ngc/angular/search-bar-ref.directive.js +3 -3
- package/build-ngc/angular/stack/index.d.ts +2 -0
- package/build-ngc/angular/stack/index.js +26 -6
- package/build-ngc/angular/stack/index.js.map +1 -1
- package/build-ngc/angular/tab-screen.directive.js +3 -3
- package/build-ngc/angular/tabs/index.d.ts +1 -1
- package/build-ngc/angular/tabs/index.js +23 -10
- package/build-ngc/angular/tabs/index.js.map +1 -1
- package/build-ngc/core/index.d.ts +2 -1
- package/build-ngc/core/index.js +5 -1
- package/build-ngc/core/index.js.map +1 -1
- package/build-ngc/core/stack-router-state/index.d.ts +2 -0
- package/build-ngc/core/stack-router-state/index.js +45 -0
- package/build-ngc/core/stack-router-state/index.js.map +1 -0
- package/build-ngc/core/tab-router-state/index.d.ts +1 -0
- package/build-ngc/core/tab-router-state/index.js +19 -0
- package/build-ngc/core/tab-router-state/index.js.map +1 -1
- package/package.json +28 -14
- package/src/angular/drawer/index.ts +6 -4
- package/src/angular/stack/index.ts +23 -2
- package/src/angular/tabs/index.ts +19 -5
- package/src/core/index.ts +11 -1
- package/src/core/stack-router-state/index.ts +49 -0
- package/src/core/tab-router-state/index.ts +25 -0
- package/src/react/drawer/index.ts +28 -13
- package/src/react/stack/index.ts +15 -1
- package/src/react/tabs/index.ts +43 -10
- package/src/svelte/attachments.ts +68 -0
- package/src/svelte/descriptor-subtree.ts +49 -0
- package/src/svelte/drawer/drawer-props.ts +28 -0
- package/src/svelte/drawer/index.svelte +421 -0
- package/src/svelte/drawer/index.ts +10 -0
- package/src/svelte/drawer-screen-props.ts +20 -0
- package/src/svelte/drawer-screen.svelte +24 -0
- package/src/svelte/fabric-tree.test-helper.ts +61 -0
- package/src/svelte/index.ts +71 -0
- package/src/svelte/linking.svelte.ts +66 -0
- package/src/svelte/navigation-context.ts +62 -0
- package/src/svelte/navigation-scope.svelte +24 -0
- package/src/svelte/registry-host.ts +26 -0
- package/src/svelte/runes/index.ts +17 -0
- package/src/svelte/runes/use-drawer-navigation.svelte.ts +29 -0
- package/src/svelte/runes/use-focus-effect.svelte.ts +35 -0
- package/src/svelte/runes/use-is-focused.svelte.ts +38 -0
- package/src/svelte/runes/use-navigation-state.svelte.ts +46 -0
- package/src/svelte/runes/use-navigation.svelte.ts +39 -0
- package/src/svelte/runes/use-route.svelte.ts +16 -0
- package/src/svelte/runes/use-stack-navigation.svelte.ts +32 -0
- package/src/svelte/runes/use-tab-navigation.svelte.ts +29 -0
- package/src/svelte/screen-props.ts +45 -0
- package/src/svelte/screen-registry.ts +92 -0
- package/src/svelte/screen.svelte +28 -0
- package/src/svelte/stack/index.svelte +224 -0
- package/src/svelte/stack/index.ts +11 -0
- package/src/svelte/stack/stack-props.ts +31 -0
- package/src/svelte/stack/stack-screen.svelte +148 -0
- package/src/svelte/svelte-ambient.d.ts +6 -0
- package/src/svelte/svelte-compile.test-helper.ts +143 -0
- package/src/svelte/tab-screen-props.ts +20 -0
- package/src/svelte/tab-screen.svelte +26 -0
- package/src/svelte/tabs/index.svelte +247 -0
- package/src/svelte/tabs/index.ts +10 -0
- package/src/svelte/tabs/tab-props.ts +13 -0
- package/src/vue/drawer/index.ts +6 -5
- package/src/vue/stack/index.ts +28 -11
- package/src/vue/tabs/index.ts +68 -65
|
@@ -9,10 +9,10 @@ export class DrawerScreenDirective {
|
|
|
9
9
|
component;
|
|
10
10
|
options;
|
|
11
11
|
initialParams;
|
|
12
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
13
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DrawerScreenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
13
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: DrawerScreenDirective, isStandalone: true, selector: "ng-template[symbioteDrawerScreen]", inputs: { name: "name", component: "component", options: "options", initialParams: "initialParams" }, ngImport: i0 });
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DrawerScreenDirective, decorators: [{
|
|
16
16
|
type: Directive,
|
|
17
17
|
args: [{
|
|
18
18
|
selector: 'ng-template[symbioteDrawerScreen]',
|
|
@@ -42,10 +42,10 @@ export class NavigationContextService {
|
|
|
42
42
|
setRoute(route) {
|
|
43
43
|
this.routeSignal.set(route);
|
|
44
44
|
}
|
|
45
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
46
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: NavigationContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
46
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: NavigationContextService });
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: NavigationContextService, decorators: [{
|
|
49
49
|
type: Injectable
|
|
50
50
|
}] });
|
|
51
51
|
// Every injectX function (./injectors/*) opens with the same optional-inject-then-throw guard;
|
|
@@ -19,10 +19,10 @@ export class NavigationScopeDirective {
|
|
|
19
19
|
this.context.navigation = this.navigation;
|
|
20
20
|
this.context.emitter = this.emitter;
|
|
21
21
|
}
|
|
22
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
23
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.
|
|
22
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: NavigationScopeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
23
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: NavigationScopeDirective, isStandalone: true, selector: "[symbioteNavigationScope]", inputs: { route: ["symbioteNavigationScope", "route"], navigation: "navigation", emitter: "emitter" }, providers: [NavigationContextService], usesOnChanges: true, ngImport: i0 });
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: NavigationScopeDirective, decorators: [{
|
|
26
26
|
type: Directive,
|
|
27
27
|
args: [{
|
|
28
28
|
selector: '[symbioteNavigationScope]',
|
|
@@ -12,10 +12,10 @@ export class ScreenDirective {
|
|
|
12
12
|
component;
|
|
13
13
|
options;
|
|
14
14
|
initialParams;
|
|
15
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
16
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScreenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
16
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: ScreenDirective, isStandalone: true, selector: "ng-template[symbioteScreen]", inputs: { name: "name", component: "component", options: "options", initialParams: "initialParams" }, ngImport: i0 });
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScreenDirective, decorators: [{
|
|
19
19
|
type: Directive,
|
|
20
20
|
args: [{
|
|
21
21
|
selector: 'ng-template[symbioteScreen]',
|
|
@@ -28,10 +28,10 @@ export class SearchBarRefDirective {
|
|
|
28
28
|
if (this.ref)
|
|
29
29
|
this.ref.current = null;
|
|
30
30
|
}
|
|
31
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
32
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SearchBarRefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
32
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: SearchBarRefDirective, isStandalone: true, selector: "[symbioteSearchBarRef]", inputs: { ref: ["symbioteSearchBarRef", "ref"] }, ngImport: i0 });
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SearchBarRefDirective, decorators: [{
|
|
35
35
|
type: Directive,
|
|
36
36
|
args: [{
|
|
37
37
|
selector: '[symbioteSearchBarRef]',
|
|
@@ -33,9 +33,11 @@ export declare class Stack implements AfterContentInit, OnDestroy, INavigatorHan
|
|
|
33
33
|
ngAfterContentInit(): void;
|
|
34
34
|
ngOnDestroy(): void;
|
|
35
35
|
private rebuildRegistry;
|
|
36
|
+
private reconcileWithRegistry;
|
|
36
37
|
private initializeState;
|
|
37
38
|
private createRoute;
|
|
38
39
|
private dispatch;
|
|
40
|
+
private commitState;
|
|
39
41
|
emitterFor(routeKey: string): INavigationEmitter;
|
|
40
42
|
private mergedOptionsFor;
|
|
41
43
|
componentFor(route: IRoute<unknown>): Type<unknown> | null;
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
// self-registers instead: `adapters/angular/babel-register-composed.cjs` (a Metro babel preset
|
|
36
36
|
// applied bundle-wide, not scoped to adapters/angular) scans this package's own AOT-compiled
|
|
37
37
|
// (`ngc`) `ɵɵngDeclareComponent({selector: 'Stack', ...})` output and auto-calls
|
|
38
|
-
// `registerComposedComponent('Stack')` at bundle time - same mechanism
|
|
38
|
+
// `registerComposedComponent('Stack')` at bundle time - same mechanism `examples/angular`
|
|
39
39
|
// navigation-demo screens and `@symbiote-native/slider`'s `Slider` rely on for their own composed
|
|
40
40
|
// components mounted statically or via `NgComponentOutlet`. Unregistered, `createElement('Stack')`
|
|
41
41
|
// falls through to a real `createNode` call and RN paints its own "Unimplemented component"
|
|
@@ -47,7 +47,7 @@ import { ChangeDetectionStrategy, Component, ContentChildren, Input, NO_ERRORS_S
|
|
|
47
47
|
import { NgComponentOutlet, NgTemplateOutlet } from '@angular/common';
|
|
48
48
|
import { SymbioteHostPropsDirective } from '@symbiote-native/angular';
|
|
49
49
|
import { Platform, dlog } from '@symbiote-native/engine';
|
|
50
|
-
import { NAVIGATION_EVENT_BLUR, NAVIGATION_EVENT_FOCUS, NAVIGATION_EVENT_STATE, RNS_MODAL_SCREEN_VIEW_NAME, SCREEN_ON_APPEAR, SCREEN_ON_DISAPPEAR, SCREEN_ON_DISMISSED, SCREEN_ON_HEADER_BACK_BUTTON_CLICKED, STACK_ON_FINISH_TRANSITIONING, buildSearchBarPassthrough, createInitialNavigatorState, createNavigationEmitter, navigatorReducer, resolveHeaderInModalStackStyle, resolveScreenRenderPlan, resolveStackProps, } from '../../core';
|
|
50
|
+
import { NAVIGATION_EVENT_BLUR, NAVIGATION_EVENT_FOCUS, NAVIGATION_EVENT_STATE, RNS_MODAL_SCREEN_VIEW_NAME, SCREEN_ON_APPEAR, SCREEN_ON_DISAPPEAR, SCREEN_ON_DISMISSED, SCREEN_ON_HEADER_BACK_BUTTON_CLICKED, STACK_ON_FINISH_TRANSITIONING, buildSearchBarPassthrough, createInitialNavigatorState, createNavigationEmitter, navigatorReducer, reconcileStackRoutes, resolveHeaderInModalStackStyle, resolveScreenRenderPlan, resolveStackProps, } from '../../core';
|
|
51
51
|
import { NavigationScopeDirective } from '../navigation-scope.directive';
|
|
52
52
|
import { SearchBarRefDirective } from '../search-bar-ref.directive';
|
|
53
53
|
import { ScreenDirective } from '../screen.directive';
|
|
@@ -104,6 +104,21 @@ export class Stack {
|
|
|
104
104
|
for (const screen of this.screenChildren) {
|
|
105
105
|
this.registry.set(screen.name, screen);
|
|
106
106
|
}
|
|
107
|
+
this.reconcileWithRegistry();
|
|
108
|
+
}
|
|
109
|
+
// A `<ng-template symbioteScreen>` marker can leave the @ContentChildren query (a marker behind
|
|
110
|
+
// an `@if`, a data-driven screen list) while its route is still in the pushed history, which
|
|
111
|
+
// would leave that entry with nothing for componentFor() to mount (reconcileStackRoutes' header).
|
|
112
|
+
// The signal write lives HERE, in the query-change callback, and never in a computed/template
|
|
113
|
+
// accessor - reconciliation is a reaction to the registry changing, not a derivation of it.
|
|
114
|
+
reconcileWithRegistry() {
|
|
115
|
+
const current = this.stateSignal();
|
|
116
|
+
if (current === undefined)
|
|
117
|
+
return;
|
|
118
|
+
const next = reconcileStackRoutes(current, [...this.registry.keys()]);
|
|
119
|
+
if (next === current)
|
|
120
|
+
return;
|
|
121
|
+
this.commitState(next);
|
|
107
122
|
}
|
|
108
123
|
initializeState() {
|
|
109
124
|
if (this.stateSignal() !== undefined)
|
|
@@ -124,7 +139,12 @@ export class Stack {
|
|
|
124
139
|
const current = this.stateSignal();
|
|
125
140
|
if (current === undefined)
|
|
126
141
|
return;
|
|
127
|
-
|
|
142
|
+
this.commitState(navigatorReducer(current, action));
|
|
143
|
+
}
|
|
144
|
+
// The one write path into stateSignal, shared by a dispatched action and a registry-driven
|
|
145
|
+
// reconciliation: both invalidate the plan cache, broadcast to every still-live route, and prune
|
|
146
|
+
// the emitters of routes that are gone.
|
|
147
|
+
commitState(next) {
|
|
128
148
|
this.planCache.clear();
|
|
129
149
|
this.stateSignal.set(next);
|
|
130
150
|
const liveRouteKeys = new Set(next.routes.map(route => route.key));
|
|
@@ -238,8 +258,8 @@ export class Stack {
|
|
|
238
258
|
searchBarProps(route, index) {
|
|
239
259
|
return this.planFor(route, index).searchBarProps ?? {};
|
|
240
260
|
}
|
|
241
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
242
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.
|
|
261
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: Stack, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
262
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: Stack, isStandalone: true, selector: "Stack", inputs: { initialRouteName: "initialRouteName", screenOptions: "screenOptions" }, queries: [{ propertyName: "screenChildren", predicate: ScreenDirective }], ngImport: i0, template: `
|
|
243
263
|
@if (state(); as currentState) {
|
|
244
264
|
<RNSScreenStack [symbioteHostProps]="stackHostProps()">
|
|
245
265
|
@for (route of currentState.routes; track route.key; let idx = $index) {
|
|
@@ -310,7 +330,7 @@ export class Stack {
|
|
|
310
330
|
</ng-template>
|
|
311
331
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: NavigationScopeDirective, selector: "[symbioteNavigationScope]", inputs: ["symbioteNavigationScope", "navigation", "emitter"] }, { kind: "directive", type: SearchBarRefDirective, selector: "[symbioteSearchBarRef]", inputs: ["symbioteSearchBarRef"] }, { kind: "directive", type: SymbioteHostPropsDirective, selector: "[symbioteHostProps]", inputs: ["symbioteHostProps"], exportAs: ["symbioteHost"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
312
332
|
}
|
|
313
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
333
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: Stack, decorators: [{
|
|
314
334
|
type: Component,
|
|
315
335
|
args: [{
|
|
316
336
|
selector: 'Stack',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/angular/stack/index.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,+FAA+F;AAC/F,kGAAkG;AAClG,mGAAmG;AACnG,6FAA6F;AAC7F,kGAAkG;AAClG,iGAAiG;AACjG,qFAAqF;AACrF,mGAAmG;AACnG,mGAAmG;AACnG,qCAAqC;AACrC,+FAA+F;AAC/F,kGAAkG;AAClG,mGAAmG;AACnG,yFAAyF;AACzF,4FAA4F;AAC5F,EAAE;AACF,+EAA+E;AAC/E,kGAAkG;AAClG,6FAA6F;AAC7F,kGAAkG;AAClG,+FAA+F;AAC/F,+FAA+F;AAC/F,mGAAmG;AACnG,2FAA2F;AAC3F,wFAAwF;AACxF,mGAAmG;AACnG,yFAAyF;AACzF,+FAA+F;AAC/F,4BAA4B;AAC5B,EAAE;AACF,8FAA8F;AAC9F,6FAA6F;AAC7F,0FAA0F;AAC1F,+FAA+F;AAC/F,6FAA6F;AAC7F,iFAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/angular/stack/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,10 @@ export class TabScreenDirective {
|
|
|
9
9
|
component;
|
|
10
10
|
options;
|
|
11
11
|
initialParams;
|
|
12
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
13
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TabScreenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
13
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: TabScreenDirective, isStandalone: true, selector: "ng-template[symbioteTabScreen]", inputs: { name: "name", component: "component", options: "options", initialParams: "initialParams" }, ngImport: i0 });
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TabScreenDirective, decorators: [{
|
|
16
16
|
type: Directive,
|
|
17
17
|
args: [{
|
|
18
18
|
selector: 'ng-template[symbioteTabScreen]',
|
|
@@ -33,7 +33,7 @@ export declare class Tab implements AfterContentInit, OnDestroy, ITabNavigatorHa
|
|
|
33
33
|
ngOnDestroy(): void;
|
|
34
34
|
private rebuildRegistry;
|
|
35
35
|
private routesFromRegistry;
|
|
36
|
-
private
|
|
36
|
+
private syncRegistry;
|
|
37
37
|
private dispatch;
|
|
38
38
|
private resolveTabOptions;
|
|
39
39
|
focusedRoute(): IRoute<unknown> | undefined;
|
|
@@ -19,7 +19,7 @@ import { ChangeDetectionStrategy, Component, ContentChildren, Input, QueryList,
|
|
|
19
19
|
import { NgComponentOutlet } from '@angular/common';
|
|
20
20
|
import { dlog } from '@symbiote-native/engine';
|
|
21
21
|
import { DescriptorOutlet, View } from '@symbiote-native/angular';
|
|
22
|
-
import { NAVIGATION_EVENT_BLUR, NAVIGATION_EVENT_FOCUS, createInitialTabState, createNavigationEmitter, diffFocusedRoute, isFocusedRoute, renderTabBar, tabRouterReducer, } from '../../core';
|
|
22
|
+
import { NAVIGATION_EVENT_BLUR, NAVIGATION_EVENT_FOCUS, createInitialTabState, createNavigationEmitter, diffFocusedRoute, isFocusedRoute, reconcileTabRoutes, renderTabBar, tabRouterReducer, } from '../../core';
|
|
23
23
|
import { NavigationScopeDirective } from '../navigation-scope.directive';
|
|
24
24
|
import { TabScreenDirective } from '../tab-screen.directive';
|
|
25
25
|
import * as i0 from "@angular/core";
|
|
@@ -45,10 +45,9 @@ export class Tab {
|
|
|
45
45
|
jumpTo = (name, params) => this.dispatch({ type: 'jumpTo', name, params });
|
|
46
46
|
setParams = (params, key) => this.dispatch({ type: 'setParams', key, params });
|
|
47
47
|
ngAfterContentInit() {
|
|
48
|
-
this.
|
|
49
|
-
this.initializeState();
|
|
48
|
+
this.syncRegistry();
|
|
50
49
|
this.tabScreenChildrenSubscription = this.tabScreenChildren.changes.subscribe(() => {
|
|
51
|
-
this.
|
|
50
|
+
this.syncRegistry();
|
|
52
51
|
});
|
|
53
52
|
}
|
|
54
53
|
ngOnDestroy() {
|
|
@@ -69,12 +68,26 @@ export class Tab {
|
|
|
69
68
|
params: entry.initialParams,
|
|
70
69
|
}));
|
|
71
70
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
// A <ng-template symbioteTabScreen> can appear or disappear after mount (a marker behind an
|
|
72
|
+
// @if, a data-driven screen list), so the route list follows the LIVE query instead of staying
|
|
73
|
+
// frozen at whatever ngAfterContentInit first saw: reconcileTabRoutes (core) keeps each
|
|
74
|
+
// surviving route's key and accumulated params and moves focus only when the focused route is
|
|
75
|
+
// the one that left. Runs from the query's own `changes` subscription - an ordinary imperative
|
|
76
|
+
// callback, deliberately not a computed, since this writes the state signal.
|
|
77
|
+
syncRegistry() {
|
|
78
|
+
this.rebuildRegistry();
|
|
75
79
|
const routes = this.routesFromRegistry();
|
|
76
80
|
if (routes.length === 0)
|
|
77
81
|
dlog('Tab: no <ng-template symbioteTabScreen> children registered');
|
|
82
|
+
const current = this.stateSignal();
|
|
83
|
+
if (current !== undefined) {
|
|
84
|
+
this.stateSignal.set(reconcileTabRoutes(current, routes));
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
// Seeding an empty list would resolve initialRouteName against nothing and lose it once the
|
|
88
|
+
// markers do arrive, so the state stays unseeded until at least one has registered.
|
|
89
|
+
if (routes.length === 0)
|
|
90
|
+
return;
|
|
78
91
|
this.stateSignal.set(createInitialTabState(routes, this.initialRouteName));
|
|
79
92
|
}
|
|
80
93
|
dispatch(action) {
|
|
@@ -174,8 +187,8 @@ export class Tab {
|
|
|
174
187
|
: this.screenOptions;
|
|
175
188
|
return renderTabBar({ items, style: focusedOptions?.tabBarStyle, passthrough: {} });
|
|
176
189
|
}
|
|
177
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
178
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.
|
|
190
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: Tab, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
191
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: Tab, isStandalone: true, selector: "Tab", inputs: { initialRouteName: "initialRouteName", screenOptions: "screenOptions" }, queries: [{ propertyName: "tabScreenChildren", predicate: TabScreenDirective }], ngImport: i0, template: `
|
|
179
192
|
<View [style]="rootStyle">
|
|
180
193
|
<View [style]="contentStyle">
|
|
181
194
|
@if (focusedRoute(); as route) {
|
|
@@ -194,7 +207,7 @@ export class Tab {
|
|
|
194
207
|
</View>
|
|
195
208
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: NavigationScopeDirective, selector: "[symbioteNavigationScope]", inputs: ["symbioteNavigationScope", "navigation", "emitter"] }, { kind: "component", type: DescriptorOutlet, selector: "symbiote-descriptor-outlet", inputs: ["node"] }, { kind: "component", type: View, selector: "symbiote-view, View" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
196
209
|
}
|
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
210
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: Tab, decorators: [{
|
|
198
211
|
type: Component,
|
|
199
212
|
args: [{
|
|
200
213
|
selector: 'Tab',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/angular/tabs/index.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,kGAAkG;AAClG,kGAAkG;AAClG,8FAA8F;AAC9F,+FAA+F;AAC/F,+FAA+F;AAC/F,kGAAkG;AAClG,6DAA6D;AAC7D,+FAA+F;AAC/F,kGAAkG;AAClG,iGAAiG;AACjG,iGAAiG;AACjG,gCAAgC;AAChC,EAAE;AACF,iGAAiG;AACjG,kGAAkG;AAClG,gBAAgB;AAEhB,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,eAAe,EACf,KAAK,EACL,SAAS,EACT,MAAM,EACN,SAAS,GAIV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAUpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;;AAK7D,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACnC,MAAM,iBAAiB,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAEtC,IAAI,kBAAkB,GAAG,CAAC,CAAC;AA0B3B,MAAM,OAAO,GAAG;IAEG,iBAAiB,CAAiC;IAE1D,gBAAgB,CAAU;IAC1B,aAAa,CAAe;IAE5B,SAAS,GAAG,cAAc,CAAC;IAC3B,YAAY,GAAG,iBAAiB,CAAC;IAEzB,aAAa,GAAG,OAAO,CAAC,kBAAkB,IAAI,CAAC,CAAC,EAAE,CAAC;IACpE,8FAA8F;IAC9F,sFAAsF;IACrE,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC1D,6BAA6B,CAA0C;IAE9D,WAAW,GAAG,MAAM,CAA8B,SAAS;oFAAC,CAAC;IACrE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IAEvC,iBAAiB,CAAqB;IACtC,cAAc,CAAiC;IAE9C,MAAM,GAAG,CAAC,IAAY,EAAE,MAAgB,EAAQ,EAAE,CACzD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,SAAS,GAAG,CAAC,MAAe,EAAE,GAAW,EAAQ,EAAE,CAC1D,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAEpD,kBAAkB;QAChB,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/angular/tabs/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './constants';
|
|
2
2
|
export { createInitialNavigatorState, navigatorReducer, computeActivityState, isTopRoute, } from './navigator-state';
|
|
3
3
|
export type { IRoute, INavigatorState, INavigatorAction } from './navigator-state';
|
|
4
|
+
export { reconcileStackRoutes } from './stack-router-state';
|
|
4
5
|
export type { IStackAnimation, IStackPresentation, IHeaderBackButtonDisplayMode, IHeaderUserInterfaceStyle, IOptionalBooleanNativeProp, ISheetAllowedDetents, ISheetLargestUndimmedDetent, ISheetInitialDetent, IHeaderBarButtonIcon, IHeaderBarButtonItemBadge, IHeaderBarButtonItemAction, IHeaderBarButtonMenuAction, IHeaderBarButtonSubmenu, IHeaderBarButtonItemMenu, IHeaderBarButtonItemSpacing, IHeaderBarButtonItem, ISearchBarAutoCapitalize, ISearchBarPlacement, ISearchBarOptions, IScreenOrientation, IScreenOptions, INavigatorPlatform, IScreenViewProps, IHeaderConfigViewProps, IStackViewProps, ISearchBarViewProps, } from './navigator-props';
|
|
5
6
|
export { resolveHeaderConfigView, resolveScreenView, resolveSearchBarView } from './screen-options';
|
|
6
7
|
export { buildSearchBarHandle } from './search-bar-commands';
|
|
@@ -11,7 +12,7 @@ export { serializeNavigatorState, deserializeNavigatorState } from './state-pers
|
|
|
11
12
|
export { createNavigationEmitter, diffFocusedRoute, NAVIGATION_EVENT_FOCUS, NAVIGATION_EVENT_BLUR, NAVIGATION_EVENT_STATE, NAVIGATION_EVENT_BEFORE_REMOVE, } from './navigation-events';
|
|
12
13
|
export type { INavigationEmitter, INavigationEventListener, INavigationEventName, IFocusTransition, } from './navigation-events';
|
|
13
14
|
export { isRecord } from './guards';
|
|
14
|
-
export { createInitialTabState, tabRouterReducer, isFocusedRoute } from './tab-router-state';
|
|
15
|
+
export { createInitialTabState, tabRouterReducer, reconcileTabRoutes, isFocusedRoute, } from './tab-router-state';
|
|
15
16
|
export type { ITabRouterState, ITabRouterAction } from './tab-router-state';
|
|
16
17
|
export type { ITabBarIcon, ITabOptions } from './tab-options';
|
|
17
18
|
export { renderTabBarItem, renderTabBar } from './render-tabs';
|
package/build-ngc/core/index.js
CHANGED
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
// the descriptor bridge.
|
|
8
8
|
export * from './constants';
|
|
9
9
|
export { createInitialNavigatorState, navigatorReducer, computeActivityState, isTopRoute, } from './navigator-state';
|
|
10
|
+
// Drops history entries whose `<Stack.Screen>` marker has unregistered - see
|
|
11
|
+
// stack-router-state.ts's header for why the Stack's history needs this and the Tab's projection
|
|
12
|
+
// does not.
|
|
13
|
+
export { reconcileStackRoutes } from './stack-router-state';
|
|
10
14
|
export { resolveHeaderConfigView, resolveScreenView, resolveSearchBarView } from './screen-options';
|
|
11
15
|
export { buildSearchBarHandle } from './search-bar-commands';
|
|
12
16
|
export { resolveScreenProps, resolveStackProps, renderHeaderConfig, resolveSearchBarProps, resolveScreenContentWrapperStyle, resolveScreenViewName, isHeaderInModal, resolveHeaderInModalStackStyle, resolveHeaderInModalScreenStyle, buildSearchBarPassthrough, resolveScreenRenderPlan, } from './render-stack';
|
|
@@ -18,7 +22,7 @@ export { createNavigationEmitter, diffFocusedRoute, NAVIGATION_EVENT_FOCUS, NAVI
|
|
|
18
22
|
export { isRecord } from './guards';
|
|
19
23
|
// Bottom-tabs navigator: a FOCUSED-INDEX router (not a stack - see tab-router-state.ts) driving
|
|
20
24
|
// a pure-JS tab bar render, framework-agnostic and shared verbatim by every adapter.
|
|
21
|
-
export { createInitialTabState, tabRouterReducer, isFocusedRoute } from './tab-router-state';
|
|
25
|
+
export { createInitialTabState, tabRouterReducer, reconcileTabRoutes, isFocusedRoute, } from './tab-router-state';
|
|
22
26
|
export { renderTabBarItem, renderTabBar } from './render-tabs';
|
|
23
27
|
// Linking config: resolves a URL to a route (and back), the piece @react-navigation's
|
|
24
28
|
// NavigationContainer `linking` prop provides on top of the framework-agnostic Linking module.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,2FAA2F;AAC3F,gFAAgF;AAChF,yFAAyF;AACzF,2FAA2F;AAC3F,+FAA+F;AAC/F,yBAAyB;AAEzB,cAAc,aAAa,CAAC;AAE5B,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,GACX,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,2FAA2F;AAC3F,gFAAgF;AAChF,yFAAyF;AACzF,2FAA2F;AAC3F,+FAA+F;AAC/F,yBAAyB;AAEzB,cAAc,aAAa,CAAC;AAE5B,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,GACX,MAAM,mBAAmB,CAAC;AAG3B,6EAA6E;AAC7E,iGAAiG;AACjG,YAAY;AACZ,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA+B5D,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,gCAAgC,EAChC,qBAAqB,EACrB,eAAe,EACf,8BAA8B,EAC9B,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAQ7B,8FAA8F;AAC9F,+FAA+F;AAC/F,kGAAkG;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,gGAAgG;AAChG,qFAAqF;AACrF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG/D,sFAAsF;AACtF,+FAA+F;AAC/F,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG5E,4EAA4E;AAC5E,iGAAiG;AACjG,iGAAiG;AACjG,OAAO,EACL,8BAA8B,EAC9B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAW/B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,iCAAiC,EACjC,iCAAiC,EACjC,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAYjE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// StackRouter: the registry-reconciliation half (framework-agnostic, zero render). A Stack's route
|
|
2
|
+
// list is navigation HISTORY, not a projection of the registered `<Stack.Screen>` markers the way a
|
|
3
|
+
// Tab's is (tab-router-state) - it seeds exactly one route and grows only through push/replace. So
|
|
4
|
+
// a marker that unregisters while its route still sits in the history (a marker behind an `{#if}`,
|
|
5
|
+
// a data-driven screen list) leaves behind an entry nothing can render: the route stays, the
|
|
6
|
+
// adapter's componentFor() finds no screen, and the user is parked on a blank RNSScreen with no
|
|
7
|
+
// way to tell what happened. Mirrors @react-navigation/routers' StackRouter.getStateForRouteNames-
|
|
8
|
+
// Change, which filters those routes out of the history and pulls the focused index back into
|
|
9
|
+
// range.
|
|
10
|
+
//
|
|
11
|
+
// Deliberately NOT a navigatorReducer action: this is not something a caller dispatches, it is a
|
|
12
|
+
// reaction to the registry changing underneath an unchanged history, and each adapter observes
|
|
13
|
+
// that change through its own lifecycle. Keeping it a separate pure function lets every adapter
|
|
14
|
+
// wire it its own way without teaching the reducer about a registry it has never seen.
|
|
15
|
+
// The contract, and the two places it deliberately parts from upstream:
|
|
16
|
+
//
|
|
17
|
+
// - SURVIVORS KEEP THEIR IDENTITY. A stack route's key is COUNTER-derived (every adapter's
|
|
18
|
+
// createRoute increments a per-navigator sequence), not name-derived like a tab route's, so
|
|
19
|
+
// re-deriving the list from the registry would hand every survivor a brand-new key and remount
|
|
20
|
+
// live screens. Only the phantom entries go; every other route object passes through by
|
|
21
|
+
// reference, params included.
|
|
22
|
+
//
|
|
23
|
+
// - THE FOCUSED ROUTE IS THE TOP ONE. This state carries no `index` field: the focused route is
|
|
24
|
+
// always the last one (see computeActivityState's comment for why no route can outrank it), so
|
|
25
|
+
// upstream's `index: Math.min(state.index, routes.length - 1)` degenerates here to "the last
|
|
26
|
+
// survivor". Dropping the FOCUSED route therefore lands the user on the nearest still-registered
|
|
27
|
+
// route beneath it - where a pop() would have left them - rather than on nothing.
|
|
28
|
+
//
|
|
29
|
+
// - THE ROUTE LIST IS NEVER EMPTIED. `routes.length - 1` IS the focused index, so an empty list
|
|
30
|
+
// means no focused route at all - the blank screen this function exists to prevent. When nothing
|
|
31
|
+
// in the history survives (every marker gone, or the whole screen set swapped for new names) the
|
|
32
|
+
// state is returned UNCHANGED. Upstream instead pushes a freshly nanoid()-keyed route for
|
|
33
|
+
// initialRouteName; we cannot, because minting a route key belongs to the caller here
|
|
34
|
+
// (navigator-state.ts's header) and a derivation that mints one would allocate a new key on every
|
|
35
|
+
// re-run. Unchanged is also the right answer for the usual cause of a momentarily empty registry
|
|
36
|
+
// - markers unregistering and re-registering across a re-render - since the next run reconciles
|
|
37
|
+
// for real.
|
|
38
|
+
export function reconcileStackRoutes(state, registeredNames) {
|
|
39
|
+
const routes = state.routes.filter(route => registeredNames.includes(route.name));
|
|
40
|
+
// filter preserves order, so an unchanged length means nothing was dropped.
|
|
41
|
+
if (routes.length === state.routes.length || routes.length === 0)
|
|
42
|
+
return state;
|
|
43
|
+
return { routes };
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/stack-router-state/index.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,oGAAoG;AACpG,mGAAmG;AACnG,mGAAmG;AACnG,6FAA6F;AAC7F,gGAAgG;AAChG,mGAAmG;AACnG,8FAA8F;AAC9F,SAAS;AACT,EAAE;AACF,iGAAiG;AACjG,+FAA+F;AAC/F,gGAAgG;AAChG,uFAAuF;AAIvF,wEAAwE;AACxE,EAAE;AACF,2FAA2F;AAC3F,8FAA8F;AAC9F,iGAAiG;AACjG,0FAA0F;AAC1F,gCAAgC;AAChC,EAAE;AACF,gGAAgG;AAChG,iGAAiG;AACjG,+FAA+F;AAC/F,mGAAmG;AACnG,oFAAoF;AACpF,EAAE;AACF,gGAAgG;AAChG,mGAAmG;AACnG,mGAAmG;AACnG,4FAA4F;AAC5F,wFAAwF;AACxF,oGAAoG;AACpG,mGAAmG;AACnG,kGAAkG;AAClG,cAAc;AACd,MAAM,UAAU,oBAAoB,CAClC,KAAsB,EACtB,eAAkC;IAElC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAClF,4EAA4E;IAC5E,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/E,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
|
|
@@ -15,5 +15,6 @@ export type ITabRouterAction = {
|
|
|
15
15
|
params: unknown;
|
|
16
16
|
};
|
|
17
17
|
export declare function createInitialTabState(routes: readonly IRouteEntry[], initialRouteName?: string): ITabRouterState;
|
|
18
|
+
export declare function reconcileTabRoutes(state: ITabRouterState, nextRoutes: readonly IRouteEntry[]): ITabRouterState;
|
|
18
19
|
export declare function tabRouterReducer(state: ITabRouterState, action: ITabRouterAction): ITabRouterState;
|
|
19
20
|
export declare function isFocusedRoute(index: number, focusedIndex: number): boolean;
|
|
@@ -14,6 +14,25 @@ export function createInitialTabState(routes, initialRouteName) {
|
|
|
14
14
|
const index = routes.findIndex(route => route.name === initialRouteName);
|
|
15
15
|
return { routes, index: index === -1 ? INITIAL_FOCUSED_INDEX : index };
|
|
16
16
|
}
|
|
17
|
+
// A screen marker can appear or disappear after mount (a marker behind an `{#if}`, a data-driven
|
|
18
|
+
// screen list), so a navigator's route list has to follow its registry instead of staying frozen
|
|
19
|
+
// at whatever createInitialTabState saw first. Mirrors TabRouter.getStateForRouteNamesChange:
|
|
20
|
+
// membership and order come from `nextRoutes`, but a route that survives keeps its IDENTITY (its
|
|
21
|
+
// key) and everything jumpTo/setParams accumulated onto its params - only genuinely new names
|
|
22
|
+
// take their entry from `nextRoutes`. Focus follows the previously focused route's NAME, so an
|
|
23
|
+
// unrelated screen disappearing never moves the user; when the focused route is the one that
|
|
24
|
+
// disappeared, focus falls back to the first route, the same landing spot every unresolvable
|
|
25
|
+
// focus gets here (createInitialTabState's own fallback).
|
|
26
|
+
export function reconcileTabRoutes(state, nextRoutes) {
|
|
27
|
+
const routes = nextRoutes.map(next => state.routes.find(route => route.name === next.name) ?? next);
|
|
28
|
+
const isUnchanged = routes.length === state.routes.length &&
|
|
29
|
+
routes.every((route, at) => route === state.routes[at]);
|
|
30
|
+
if (isUnchanged)
|
|
31
|
+
return state;
|
|
32
|
+
const focusedName = state.routes[state.index]?.name;
|
|
33
|
+
const index = routes.findIndex(route => route.name === focusedName);
|
|
34
|
+
return { routes, index: index === -1 ? INITIAL_FOCUSED_INDEX : index };
|
|
35
|
+
}
|
|
17
36
|
// jumpTo moves the focused index to an existing route by name and optionally merges params
|
|
18
37
|
// (navigation.jumpTo(name, params) - the tab-actions doc's own signature); it never adds,
|
|
19
38
|
// removes, or reorders routes (mirrors TabRouter: JUMP_TO is a no-op when the target name isn't
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/tab-router-state/index.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,+FAA+F;AAC/F,iGAAiG;AACjG,4FAA4F;AAC5F,uFAAuF;AACvF,0FAA0F;AAC1F,8FAA8F;AAC9F,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAgBxC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,MAAM,UAAU,qBAAqB,CACnC,MAA8B,EAC9B,gBAAyB;IAEzB,IAAI,gBAAgB,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IACpF,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;IACzE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACzE,CAAC;AAED,2FAA2F;AAC3F,0FAA0F;AAC1F,gGAAgG;AAChG,iGAAiG;AACjG,iGAAiG;AACjG,MAAM,UAAU,gBAAgB,CAC9B,KAAsB,EACtB,MAAwB;IAExB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;YAC7D,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACjF,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACrC,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;YACxE,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACjF,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC;QAC9B,CAAC;QAED;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,YAAoB;IAChE,OAAO,KAAK,KAAK,YAAY,CAAC;AAChC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/tab-router-state/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@symbiote-native/navigation",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Native stack navigator for SymbioteNative, built on react-native-screens' native view primitives (RNSScreen/RNSScreenStack) — one framework-agnostic core, reachable from the React, Vue, and Angular adapters.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -30,6 +30,10 @@
|
|
|
30
30
|
"types": "./build/vue/index.d.ts",
|
|
31
31
|
"default": "./build/vue/index.js"
|
|
32
32
|
},
|
|
33
|
+
"./svelte": {
|
|
34
|
+
"types": "./build/svelte/index.d.ts",
|
|
35
|
+
"default": "./build/svelte/index.js"
|
|
36
|
+
},
|
|
33
37
|
"./angular": {
|
|
34
38
|
"types": "./build-ngc/angular/index.d.ts",
|
|
35
39
|
"default": "./build-ngc/angular/index.js"
|
|
@@ -141,19 +145,21 @@
|
|
|
141
145
|
},
|
|
142
146
|
"dependencies": {
|
|
143
147
|
"react-native-screens": "4.26.0",
|
|
144
|
-
"@symbiote-native/components": "0.
|
|
148
|
+
"@symbiote-native/components": "0.4.0"
|
|
145
149
|
},
|
|
146
150
|
"peerDependencies": {
|
|
147
151
|
"@angular/common": ">=20",
|
|
148
152
|
"@angular/core": ">=20",
|
|
153
|
+
"@symbiote-native/angular": ">=0.6.2",
|
|
149
154
|
"@symbiote-native/engine": ">=0.1.7",
|
|
155
|
+
"@symbiote-native/react": ">=0.2.8",
|
|
156
|
+
"@symbiote-native/svelte": ">=0.1.0",
|
|
157
|
+
"@symbiote-native/vue": ">=0.3.8",
|
|
150
158
|
"@vue/runtime-core": "^3.5.13",
|
|
151
159
|
"react": ">=19.0.0",
|
|
152
160
|
"react-native": ">=0.86",
|
|
153
|
-
"
|
|
154
|
-
"
|
|
155
|
-
"@symbiote-native/react": "0.2.8",
|
|
156
|
-
"@symbiote-native/vue": "0.3.8"
|
|
161
|
+
"svelte": ">=5.56.0",
|
|
162
|
+
"vue": ">=3.5.0"
|
|
157
163
|
},
|
|
158
164
|
"peerDependenciesMeta": {
|
|
159
165
|
"@angular/common": {
|
|
@@ -168,6 +174,9 @@
|
|
|
168
174
|
"@symbiote-native/react": {
|
|
169
175
|
"optional": true
|
|
170
176
|
},
|
|
177
|
+
"@symbiote-native/svelte": {
|
|
178
|
+
"optional": true
|
|
179
|
+
},
|
|
171
180
|
"@symbiote-native/vue": {
|
|
172
181
|
"optional": true
|
|
173
182
|
},
|
|
@@ -177,25 +186,30 @@
|
|
|
177
186
|
"react": {
|
|
178
187
|
"optional": true
|
|
179
188
|
},
|
|
189
|
+
"svelte": {
|
|
190
|
+
"optional": true
|
|
191
|
+
},
|
|
180
192
|
"vue": {
|
|
181
193
|
"optional": true
|
|
182
194
|
}
|
|
183
195
|
},
|
|
184
196
|
"devDependencies": {
|
|
185
|
-
"@angular/common": "
|
|
186
|
-
"@angular/compiler": "
|
|
187
|
-
"@angular/compiler-cli": "
|
|
188
|
-
"@angular/core": "
|
|
197
|
+
"@angular/common": "~22.0.8",
|
|
198
|
+
"@angular/compiler": "~22.0.8",
|
|
199
|
+
"@angular/compiler-cli": "~22.0.8",
|
|
200
|
+
"@angular/core": "~22.0.8",
|
|
189
201
|
"@types/node": "^26.0.0",
|
|
190
202
|
"@types/react": "^19.2.0",
|
|
191
203
|
"@vue/runtime-core": "^3.5.13",
|
|
192
204
|
"react": "19.2.3",
|
|
205
|
+
"svelte": "^5.56.0",
|
|
193
206
|
"typescript": "~6.0.0",
|
|
194
|
-
"@symbiote-native/angular": "0.
|
|
195
|
-
"@symbiote-native/engine": "0.
|
|
196
|
-
"@symbiote-native/react": "0.
|
|
207
|
+
"@symbiote-native/angular": "0.7.0",
|
|
208
|
+
"@symbiote-native/engine": "0.2.0",
|
|
209
|
+
"@symbiote-native/react": "0.3.0",
|
|
210
|
+
"@symbiote-native/svelte": "0.2.0",
|
|
197
211
|
"@symbiote-native/test-utils": "0.1.6",
|
|
198
|
-
"@symbiote-native/vue": "0.
|
|
212
|
+
"@symbiote-native/vue": "0.4.0"
|
|
199
213
|
},
|
|
200
214
|
"scripts": {
|
|
201
215
|
"clean": "rm -rf build-ngc",
|