@cohesivesystems/presentation-react 0.1.0-alpha.1
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/LICENSE +55 -0
- package/dist/collection-chrome-slot-renderer-registry.d.ts +12 -0
- package/dist/collection-chrome-slot-renderer-registry.d.ts.map +1 -0
- package/dist/collection-chrome-slot-renderer-registry.js +12 -0
- package/dist/collection-chrome-slot-renderer-registry.js.map +1 -0
- package/dist/collection-selection-state-context.d.ts +6 -0
- package/dist/collection-selection-state-context.d.ts.map +1 -0
- package/dist/collection-selection-state-context.js +25 -0
- package/dist/collection-selection-state-context.js.map +1 -0
- package/dist/collection-selection-state.d.ts +3 -0
- package/dist/collection-selection-state.d.ts.map +1 -0
- package/dist/collection-selection-state.js +52 -0
- package/dist/collection-selection-state.js.map +1 -0
- package/dist/document-workspace-runtime.d.ts +262 -0
- package/dist/document-workspace-runtime.d.ts.map +1 -0
- package/dist/document-workspace-runtime.js +699 -0
- package/dist/document-workspace-runtime.js.map +1 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +1 -0
- package/dist/input-form-endpoint-runtime.d.ts +140 -0
- package/dist/input-form-endpoint-runtime.d.ts.map +1 -0
- package/dist/input-form-endpoint-runtime.js +280 -0
- package/dist/input-form-endpoint-runtime.js.map +1 -0
- package/dist/local-flow-state-data-source-projection.d.ts +21 -0
- package/dist/local-flow-state-data-source-projection.d.ts.map +1 -0
- package/dist/local-flow-state-data-source-projection.js +65 -0
- package/dist/local-flow-state-data-source-projection.js.map +1 -0
- package/dist/navigation-runtime-context.d.ts +22 -0
- package/dist/navigation-runtime-context.d.ts.map +1 -0
- package/dist/navigation-runtime-context.js +23 -0
- package/dist/navigation-runtime-context.js.map +1 -0
- package/dist/navigation-shell-frame-renderer-registry.d.ts +20 -0
- package/dist/navigation-shell-frame-renderer-registry.d.ts.map +1 -0
- package/dist/navigation-shell-frame-renderer-registry.js +9 -0
- package/dist/navigation-shell-frame-renderer-registry.js.map +1 -0
- package/dist/navigation-shell-region-component-registry.d.ts +50 -0
- package/dist/navigation-shell-region-component-registry.d.ts.map +1 -0
- package/dist/navigation-shell-region-component-registry.js +44 -0
- package/dist/navigation-shell-region-component-registry.js.map +1 -0
- package/dist/navigation-shell-slot-renderer-registry.d.ts +22 -0
- package/dist/navigation-shell-slot-renderer-registry.d.ts.map +1 -0
- package/dist/navigation-shell-slot-renderer-registry.js +9 -0
- package/dist/navigation-shell-slot-renderer-registry.js.map +1 -0
- package/dist/page-host-projection.d.ts +127 -0
- package/dist/page-host-projection.d.ts.map +1 -0
- package/dist/page-host-projection.js +59 -0
- package/dist/page-host-projection.js.map +1 -0
- package/dist/page-host-renderer-registry.d.ts +72 -0
- package/dist/page-host-renderer-registry.d.ts.map +1 -0
- package/dist/page-host-renderer-registry.js +63 -0
- package/dist/page-host-renderer-registry.js.map +1 -0
- package/dist/presentation-action-group-runtime-options.d.ts +36 -0
- package/dist/presentation-action-group-runtime-options.d.ts.map +1 -0
- package/dist/presentation-action-group-runtime-options.js +50 -0
- package/dist/presentation-action-group-runtime-options.js.map +1 -0
- package/dist/presentation-action-runtime.d.ts +52 -0
- package/dist/presentation-action-runtime.d.ts.map +1 -0
- package/dist/presentation-action-runtime.js +78 -0
- package/dist/presentation-action-runtime.js.map +1 -0
- package/dist/presentation-data-source-binding-runtime.d.ts +3 -0
- package/dist/presentation-data-source-binding-runtime.d.ts.map +1 -0
- package/dist/presentation-data-source-binding-runtime.js +65 -0
- package/dist/presentation-data-source-binding-runtime.js.map +1 -0
- package/dist/presentation-data-source-binding.d.ts +12 -0
- package/dist/presentation-data-source-binding.d.ts.map +1 -0
- package/dist/presentation-data-source-binding.js +13 -0
- package/dist/presentation-data-source-binding.js.map +1 -0
- package/dist/presentation-flow-runtime.d.ts +139 -0
- package/dist/presentation-flow-runtime.d.ts.map +1 -0
- package/dist/presentation-flow-runtime.js +514 -0
- package/dist/presentation-flow-runtime.js.map +1 -0
- package/dist/presentation-module-context.d.ts +4 -0
- package/dist/presentation-module-context.d.ts.map +1 -0
- package/dist/presentation-module-context.js +6 -0
- package/dist/presentation-module-context.js.map +1 -0
- package/dist/presentation-module-provider.d.ts +7 -0
- package/dist/presentation-module-provider.d.ts.map +1 -0
- package/dist/presentation-module-provider.js +7 -0
- package/dist/presentation-module-provider.js.map +1 -0
- package/dist/presentation-projection-diagnostics-context.d.ts +8 -0
- package/dist/presentation-projection-diagnostics-context.d.ts.map +1 -0
- package/dist/presentation-projection-diagnostics-context.js +3 -0
- package/dist/presentation-projection-diagnostics-context.js.map +1 -0
- package/dist/presentation-projection-diagnostics-hooks.d.ts +4 -0
- package/dist/presentation-projection-diagnostics-hooks.d.ts.map +1 -0
- package/dist/presentation-projection-diagnostics-hooks.js +17 -0
- package/dist/presentation-projection-diagnostics-hooks.js.map +1 -0
- package/dist/presentation-projection-diagnostics-runtime.d.ts +12 -0
- package/dist/presentation-projection-diagnostics-runtime.d.ts.map +1 -0
- package/dist/presentation-projection-diagnostics-runtime.js +54 -0
- package/dist/presentation-projection-diagnostics-runtime.js.map +1 -0
- package/dist/presentation-projection-trace.d.ts +27 -0
- package/dist/presentation-projection-trace.d.ts.map +1 -0
- package/dist/presentation-projection-trace.js +54 -0
- package/dist/presentation-projection-trace.js.map +1 -0
- package/dist/presentation-query-form-runtime.d.ts +30 -0
- package/dist/presentation-query-form-runtime.d.ts.map +1 -0
- package/dist/presentation-query-form-runtime.js +75 -0
- package/dist/presentation-query-form-runtime.js.map +1 -0
- package/dist/presentation-query-form-state-adapter-registry.d.ts +4 -0
- package/dist/presentation-query-form-state-adapter-registry.d.ts.map +1 -0
- package/dist/presentation-query-form-state-adapter-registry.js +13 -0
- package/dist/presentation-query-form-state-adapter-registry.js.map +1 -0
- package/dist/presentation-query-form-state-context.d.ts +20 -0
- package/dist/presentation-query-form-state-context.d.ts.map +1 -0
- package/dist/presentation-query-form-state-context.js +20 -0
- package/dist/presentation-query-form-state-context.js.map +1 -0
- package/dist/presentation-query-form-state.d.ts +29 -0
- package/dist/presentation-query-form-state.d.ts.map +1 -0
- package/dist/presentation-query-form-state.js +99 -0
- package/dist/presentation-query-form-state.js.map +1 -0
- package/dist/presentation-renderer-registry.d.ts +109 -0
- package/dist/presentation-renderer-registry.d.ts.map +1 -0
- package/dist/presentation-renderer-registry.js +25 -0
- package/dist/presentation-renderer-registry.js.map +1 -0
- package/dist/presentation-standards-context.d.ts +4 -0
- package/dist/presentation-standards-context.d.ts.map +1 -0
- package/dist/presentation-standards-context.js +12 -0
- package/dist/presentation-standards-context.js.map +1 -0
- package/dist/presentation-standards-provider.d.ts +14 -0
- package/dist/presentation-standards-provider.d.ts.map +1 -0
- package/dist/presentation-standards-provider.js +16 -0
- package/dist/presentation-standards-provider.js.map +1 -0
- package/dist/projected-document-action-runtime-bindings.d.ts +20 -0
- package/dist/projected-document-action-runtime-bindings.d.ts.map +1 -0
- package/dist/projected-document-action-runtime-bindings.js +88 -0
- package/dist/projected-document-action-runtime-bindings.js.map +1 -0
- package/dist/projected-document-action-runtime.d.ts +76 -0
- package/dist/projected-document-action-runtime.d.ts.map +1 -0
- package/dist/projected-document-action-runtime.js +224 -0
- package/dist/projected-document-action-runtime.js.map +1 -0
- package/dist/projected-document-process-preview-action-runtime-bindings.d.ts +26 -0
- package/dist/projected-document-process-preview-action-runtime-bindings.d.ts.map +1 -0
- package/dist/projected-document-process-preview-action-runtime-bindings.js +106 -0
- package/dist/projected-document-process-preview-action-runtime-bindings.js.map +1 -0
- package/dist/projected-document-process-preview-action-runtime.d.ts +321 -0
- package/dist/projected-document-process-preview-action-runtime.d.ts.map +1 -0
- package/dist/projected-document-process-preview-action-runtime.js +729 -0
- package/dist/projected-document-process-preview-action-runtime.js.map +1 -0
- package/dist/projected-document-process-preview-capability-runtime.d.ts +47 -0
- package/dist/projected-document-process-preview-capability-runtime.d.ts.map +1 -0
- package/dist/projected-document-process-preview-capability-runtime.js +49 -0
- package/dist/projected-document-process-preview-capability-runtime.js.map +1 -0
- package/dist/projected-document-workspace-action-runtime.d.ts +87 -0
- package/dist/projected-document-workspace-action-runtime.d.ts.map +1 -0
- package/dist/projected-document-workspace-action-runtime.js +150 -0
- package/dist/projected-document-workspace-action-runtime.js.map +1 -0
- package/dist/projected-document-workspace-projection-renderer-diagnostics.d.ts +18 -0
- package/dist/projected-document-workspace-projection-renderer-diagnostics.d.ts.map +1 -0
- package/dist/projected-document-workspace-projection-renderer-diagnostics.js +207 -0
- package/dist/projected-document-workspace-projection-renderer-diagnostics.js.map +1 -0
- package/dist/projected-document-workspace-runtime-binding-diagnostics.d.ts +19 -0
- package/dist/projected-document-workspace-runtime-binding-diagnostics.d.ts.map +1 -0
- package/dist/projected-document-workspace-runtime-binding-diagnostics.js +124 -0
- package/dist/projected-document-workspace-runtime-binding-diagnostics.js.map +1 -0
- package/dist/projected-navigation-provider.d.ts +16 -0
- package/dist/projected-navigation-provider.d.ts.map +1 -0
- package/dist/projected-navigation-provider.js +51 -0
- package/dist/projected-navigation-provider.js.map +1 -0
- package/dist/projected-presentation-flow-host.d.ts +16 -0
- package/dist/projected-presentation-flow-host.d.ts.map +1 -0
- package/dist/projected-presentation-flow-host.js +14 -0
- package/dist/projected-presentation-flow-host.js.map +1 -0
- package/dist/projected-query-form-state-adapter.d.ts +12 -0
- package/dist/projected-query-form-state-adapter.d.ts.map +1 -0
- package/dist/projected-query-form-state-adapter.js +361 -0
- package/dist/projected-query-form-state-adapter.js.map +1 -0
- package/dist/react-router-binding.d.ts +133 -0
- package/dist/react-router-binding.d.ts.map +1 -0
- package/dist/react-router-binding.js +76 -0
- package/dist/react-router-binding.js.map +1 -0
- package/dist/react-router-path.d.ts +4 -0
- package/dist/react-router-path.d.ts.map +1 -0
- package/dist/react-router-path.js +11 -0
- package/dist/react-router-path.js.map +1 -0
- package/dist/scope-selection-context.d.ts +28 -0
- package/dist/scope-selection-context.d.ts.map +1 -0
- package/dist/scope-selection-context.js +13 -0
- package/dist/scope-selection-context.js.map +1 -0
- package/dist/scope-selection-provider.d.ts +33 -0
- package/dist/scope-selection-provider.d.ts.map +1 -0
- package/dist/scope-selection-provider.js +162 -0
- package/dist/scope-selection-provider.js.map +1 -0
- package/dist/scope-selection-request.d.ts +6 -0
- package/dist/scope-selection-request.d.ts.map +1 -0
- package/dist/scope-selection-request.js +12 -0
- package/dist/scope-selection-request.js.map +1 -0
- package/dist/standard-navigation-shell-frame-renderers.d.ts +15 -0
- package/dist/standard-navigation-shell-frame-renderers.d.ts.map +1 -0
- package/dist/standard-navigation-shell-frame-renderers.js +22 -0
- package/dist/standard-navigation-shell-frame-renderers.js.map +1 -0
- package/dist/standard-navigation-shell-slot-renderers.d.ts +59 -0
- package/dist/standard-navigation-shell-slot-renderers.d.ts.map +1 -0
- package/dist/standard-navigation-shell-slot-renderers.js +67 -0
- package/dist/standard-navigation-shell-slot-renderers.js.map +1 -0
- package/dist/view-chrome-slot-renderer-registry.d.ts +12 -0
- package/dist/view-chrome-slot-renderer-registry.d.ts.map +1 -0
- package/dist/view-chrome-slot-renderer-registry.js +12 -0
- package/dist/view-chrome-slot-renderer-registry.js.map +1 -0
- package/package.json +60 -0
- package/src/collection-chrome-slot-renderer-registry.ts +66 -0
- package/src/collection-selection-state-context.ts +51 -0
- package/src/collection-selection-state.tsx +101 -0
- package/src/document-workspace-runtime.tsx +1505 -0
- package/src/index.ts +50 -0
- package/src/input-form-endpoint-runtime.ts +632 -0
- package/src/local-flow-state-data-source-projection.ts +133 -0
- package/src/navigation-runtime-context.ts +40 -0
- package/src/navigation-shell-frame-renderer-registry.ts +54 -0
- package/src/navigation-shell-region-component-registry.tsx +127 -0
- package/src/navigation-shell-slot-renderer-registry.ts +88 -0
- package/src/page-host-projection.ts +356 -0
- package/src/page-host-renderer-registry.tsx +353 -0
- package/src/presentation-action-group-runtime-options.ts +121 -0
- package/src/presentation-action-runtime.ts +190 -0
- package/src/presentation-data-source-binding-runtime.ts +109 -0
- package/src/presentation-data-source-binding.tsx +24 -0
- package/src/presentation-flow-runtime.tsx +835 -0
- package/src/presentation-module-context.ts +10 -0
- package/src/presentation-module-provider.tsx +19 -0
- package/src/presentation-projection-diagnostics-context.ts +17 -0
- package/src/presentation-projection-diagnostics-hooks.ts +29 -0
- package/src/presentation-projection-diagnostics-runtime.tsx +95 -0
- package/src/presentation-projection-trace.ts +117 -0
- package/src/presentation-query-form-runtime.ts +148 -0
- package/src/presentation-query-form-state-adapter-registry.ts +25 -0
- package/src/presentation-query-form-state-context.ts +56 -0
- package/src/presentation-query-form-state.tsx +250 -0
- package/src/presentation-renderer-registry.ts +214 -0
- package/src/presentation-standards-context.ts +21 -0
- package/src/presentation-standards-provider.tsx +44 -0
- package/src/projected-document-action-runtime-bindings.ts +132 -0
- package/src/projected-document-action-runtime.ts +414 -0
- package/src/projected-document-process-preview-action-runtime-bindings.ts +231 -0
- package/src/projected-document-process-preview-action-runtime.ts +1725 -0
- package/src/projected-document-process-preview-capability-runtime.ts +216 -0
- package/src/projected-document-workspace-action-runtime.ts +402 -0
- package/src/projected-document-workspace-projection-renderer-diagnostics.ts +342 -0
- package/src/projected-document-workspace-runtime-binding-diagnostics.ts +208 -0
- package/src/projected-navigation-provider.tsx +104 -0
- package/src/projected-presentation-flow-host.tsx +46 -0
- package/src/projected-query-form-state-adapter.ts +578 -0
- package/src/react-router-binding.tsx +417 -0
- package/src/react-router-path.ts +16 -0
- package/src/scope-selection-context.ts +58 -0
- package/src/scope-selection-provider.tsx +324 -0
- package/src/scope-selection-request.ts +21 -0
- package/src/standard-navigation-shell-frame-renderers.tsx +106 -0
- package/src/standard-navigation-shell-slot-renderers.tsx +289 -0
- package/src/view-chrome-slot-renderer-registry.ts +66 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-flow-state-data-source-projection.d.ts","sourceRoot":"","sources":["../src/local-flow-state-data-source-projection.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,8CAA8C,EACnD,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACpB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAG/E,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,wBAAgB,sCAAsC,CAAC,EACrD,aAAa,EACb,aAAa,EACb,MAAM,EACN,KAAK,EACL,cAAc,GACf,EAAE;IACD,QAAQ,CAAC,aAAa,EAAE,SAAS,4BAA4B,EAAE,CAAA;IAC/D,QAAQ,CAAC,aAAa,EAAE,8CAA8C,CAAA;IACtE,QAAQ,CAAC,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,6BAA6B,GAAG,IAAI,CAAA;IACrD,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,6BAA6B,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAA;CACrG,GAAG,SAAS,6BAA6B,EAAE,CAoB3C;AAED,wBAAgB,kCAAkC,CAAC,EACjD,MAAM,EACN,MAAM,EACN,IAAI,GACL,EAAE;IACD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;CACrC,YAeA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { createPresentationEnumDiscriminator, findPresentationView, matchesPresentationEnum, presentationDataSourceBindings, resolvePresentationViewDataSourceIds, } from '@cohesivesystems/presentation-core';
|
|
2
|
+
import { viewSubjectKinds } from '@cohesivesystems/presentation-contracts';
|
|
3
|
+
export function createLocalFlowStateDataSourceBindings({ activeEntries, authorization, module, state, statesByFlowId, }) {
|
|
4
|
+
return activeEntries.flatMap((entry) => {
|
|
5
|
+
const flowState = statesByFlowId?.[entry.flow.Id] ?? state;
|
|
6
|
+
const dataSourceIds = resolveLocalFlowStateDataSourceIds({
|
|
7
|
+
flowId: entry.flow.Id,
|
|
8
|
+
module,
|
|
9
|
+
view: entry.view,
|
|
10
|
+
});
|
|
11
|
+
return dataSourceIds.map((dataSourceId) => presentationDataSourceBindings.localValue({
|
|
12
|
+
authorization,
|
|
13
|
+
data: flowState?.data ?? null,
|
|
14
|
+
dataSourceId,
|
|
15
|
+
error: flowState?.error,
|
|
16
|
+
isFetching: flowState?.isFetching,
|
|
17
|
+
isPending: flowState?.isPending,
|
|
18
|
+
}));
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export function resolveLocalFlowStateDataSourceIds({ flowId, module, view, }) {
|
|
22
|
+
if (!module || !view) {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
const dataSourceIds = new Set();
|
|
26
|
+
const visitedViewIds = new Set();
|
|
27
|
+
collectLocalFlowStateDataSourceIds({
|
|
28
|
+
dataSourceIds,
|
|
29
|
+
flowId,
|
|
30
|
+
module,
|
|
31
|
+
view,
|
|
32
|
+
visitedViewIds,
|
|
33
|
+
});
|
|
34
|
+
return Array.from(dataSourceIds);
|
|
35
|
+
}
|
|
36
|
+
function collectLocalFlowStateDataSourceIds({ dataSourceIds, flowId, module, view, visitedViewIds, }) {
|
|
37
|
+
if (visitedViewIds.has(view.Id)) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
visitedViewIds.add(view.Id);
|
|
41
|
+
if (isLocalFlowStateView(view, flowId)) {
|
|
42
|
+
for (const dataSourceId of resolvePresentationViewDataSourceIds(view)) {
|
|
43
|
+
dataSourceIds.add(dataSourceId);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
for (const region of view.Regions) {
|
|
47
|
+
for (const viewId of region.ViewIds) {
|
|
48
|
+
const childView = findPresentationView(module, viewId);
|
|
49
|
+
if (childView) {
|
|
50
|
+
collectLocalFlowStateDataSourceIds({
|
|
51
|
+
dataSourceIds,
|
|
52
|
+
flowId,
|
|
53
|
+
module,
|
|
54
|
+
view: childView,
|
|
55
|
+
visitedViewIds,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function isLocalFlowStateView(view, flowId) {
|
|
62
|
+
return (view.Subject.FlowId === flowId &&
|
|
63
|
+
matchesPresentationEnum(view.Subject.Kind, createPresentationEnumDiscriminator(viewSubjectKinds, 'localFlowState', 'LocalFlowState')));
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=local-flow-state-data-source-projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-flow-state-data-source-projection.js","sourceRoot":"","sources":["../src/local-flow-state-data-source-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { PresentationNavigationRuntime } from '@cohesivesystems/presentation-core';
|
|
2
|
+
/**
|
|
3
|
+
* Re-exports the core navigation runtime contracts used by React navigation
|
|
4
|
+
* providers and projected components.
|
|
5
|
+
*/
|
|
6
|
+
export type { PresentationHrefNavigator, PresentationNavigationHrefFactory, PresentationNavigationRuntime, PresentationRouteNavigator, } from '@cohesivesystems/presentation-core';
|
|
7
|
+
/**
|
|
8
|
+
* React context carrying navigation services for projected presentation
|
|
9
|
+
* components.
|
|
10
|
+
*
|
|
11
|
+
* The default runtime is intentionally inert so components can render in tests,
|
|
12
|
+
* previews, and partially wired hosts without failing at context-read time.
|
|
13
|
+
*/
|
|
14
|
+
export declare const PresentationNavigationRuntimeContext: import("react").Context<PresentationNavigationRuntime>;
|
|
15
|
+
/**
|
|
16
|
+
* Reads the active presentation navigation runtime from React context.
|
|
17
|
+
*
|
|
18
|
+
* Components should use this hook instead of importing a concrete router so the
|
|
19
|
+
* same projected UI can run under different host navigation adapters.
|
|
20
|
+
*/
|
|
21
|
+
export declare function usePresentationNavigationRuntime(): PresentationNavigationRuntime;
|
|
22
|
+
//# sourceMappingURL=navigation-runtime-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-runtime-context.d.ts","sourceRoot":"","sources":["../src/navigation-runtime-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,6BAA6B,EAC9B,MAAM,oCAAoC,CAAA;AAE3C;;;GAGG;AACH,YAAY,EACV,yBAAyB,EACzB,iCAAiC,EACjC,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,oCAAoC,CAAA;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC,wDAK7C,CAAA;AAEJ;;;;;GAKG;AACH,wBAAgB,gCAAgC,kCAE/C"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* React context carrying navigation services for projected presentation
|
|
4
|
+
* components.
|
|
5
|
+
*
|
|
6
|
+
* The default runtime is intentionally inert so components can render in tests,
|
|
7
|
+
* previews, and partially wired hosts without failing at context-read time.
|
|
8
|
+
*/
|
|
9
|
+
export const PresentationNavigationRuntimeContext = createContext({
|
|
10
|
+
createHref: () => null,
|
|
11
|
+
navigateHref: () => undefined,
|
|
12
|
+
navigateRoute: () => undefined,
|
|
13
|
+
});
|
|
14
|
+
/**
|
|
15
|
+
* Reads the active presentation navigation runtime from React context.
|
|
16
|
+
*
|
|
17
|
+
* Components should use this hook instead of importing a concrete router so the
|
|
18
|
+
* same projected UI can run under different host navigation adapters.
|
|
19
|
+
*/
|
|
20
|
+
export function usePresentationNavigationRuntime() {
|
|
21
|
+
return useContext(PresentationNavigationRuntimeContext);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=navigation-runtime-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-runtime-context.js","sourceRoot":"","sources":["../src/navigation-runtime-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAiBjD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAC/C,aAAa,CAAgC;IAC3C,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;IACtB,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS;IAC7B,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;CAC/B,CAAC,CAAA;AAEJ;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC;IAC9C,OAAO,UAAU,CAAC,oCAAoC,CAAC,CAAA;AACzD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { NavigationDefinition, NavigationNodeDefinition, NavigationShellKind, NavigationShellRegionDefinition, NavigationShellSlotDefinition } from '@cohesivesystems/presentation-contracts';
|
|
3
|
+
import { type NavigationShellFrameRendererBinding as CoreNavigationShellFrameRendererBinding, type NavigationShellFrameRendererRegistry as CoreNavigationShellFrameRendererRegistry } from '@cohesivesystems/presentation-core';
|
|
4
|
+
export { createNavigationShellFrameRendererKey, getNavigationShellFrameRendererRegistryKeys, hasNavigationShellFrameRendererBinding, } from '@cohesivesystems/presentation-core';
|
|
5
|
+
export interface ProjectedNavigationShellFrameRenderContext<TLayout = unknown> {
|
|
6
|
+
readonly activePath: string;
|
|
7
|
+
readonly children: ReactNode;
|
|
8
|
+
readonly layout: TLayout;
|
|
9
|
+
readonly navigation: NavigationDefinition;
|
|
10
|
+
readonly renderNodeIcon?: (node: NavigationNodeDefinition) => ReactNode;
|
|
11
|
+
readonly renderShellIcon?: (icon: string) => ReactNode;
|
|
12
|
+
readonly renderShellRegion?: (region: NavigationShellRegionDefinition) => ReactNode;
|
|
13
|
+
readonly renderSlot: (slot: NavigationShellSlotDefinition | null) => ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export type NavigationShellFrameRenderer<TLayout = unknown> = (context: ProjectedNavigationShellFrameRenderContext<TLayout>) => ReactNode;
|
|
16
|
+
export type NavigationShellFrameRendererRegistry<TLayout = unknown> = CoreNavigationShellFrameRendererRegistry<NavigationShellFrameRenderer<TLayout>>;
|
|
17
|
+
export type NavigationShellFrameRendererBinding<TLayout = unknown> = CoreNavigationShellFrameRendererBinding<NavigationShellFrameRenderer<TLayout>>;
|
|
18
|
+
export declare function createNavigationShellFrameRendererRegistry<TLayout>(bindings: readonly NavigationShellFrameRendererBinding<TLayout>[]): NavigationShellFrameRendererRegistry<TLayout>;
|
|
19
|
+
export declare function resolveNavigationShellFrameRenderer<TLayout>(registry: NavigationShellFrameRendererRegistry<TLayout> | null | undefined, kind: NavigationShellKind | string | number): NavigationShellFrameRenderer<TLayout> | null;
|
|
20
|
+
//# sourceMappingURL=navigation-shell-frame-renderer-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-shell-frame-renderer-registry.d.ts","sourceRoot":"","sources":["../src/navigation-shell-frame-renderer-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,+BAA+B,EAC/B,6BAA6B,EAC9B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAGL,KAAK,mCAAmC,IAAI,uCAAuC,EACnF,KAAK,oCAAoC,IAAI,wCAAwC,EACtF,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,qCAAqC,EACrC,2CAA2C,EAC3C,sCAAsC,GACvC,MAAM,oCAAoC,CAAA;AAE3C,MAAM,WAAW,0CAA0C,CAAC,OAAO,GAAG,OAAO;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAA;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,SAAS,CAAA;IACvE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAA;IACtD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,+BAA+B,KAAK,SAAS,CAAA;IACnF,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,6BAA6B,GAAG,IAAI,KAAK,SAAS,CAAA;CAC/E;AAED,MAAM,MAAM,4BAA4B,CAAC,OAAO,GAAG,OAAO,IAAI,CAC5D,OAAO,EAAE,0CAA0C,CAAC,OAAO,CAAC,KACzD,SAAS,CAAA;AAEd,MAAM,MAAM,oCAAoC,CAAC,OAAO,GAAG,OAAO,IAChE,wCAAwC,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,mCAAmC,CAAC,OAAO,GAAG,OAAO,IAC/D,uCAAuC,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAA;AAEhF,wBAAgB,0CAA0C,CAAC,OAAO,EAChE,QAAQ,EAAE,SAAS,mCAAmC,CAAC,OAAO,CAAC,EAAE,GAChE,oCAAoC,CAAC,OAAO,CAAC,CAE/C;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EACzD,QAAQ,EAAE,oCAAoC,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAC1E,IAAI,EAAE,mBAAmB,GAAG,MAAM,GAAG,MAAM,gDAG5C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createNavigationShellFrameRendererRegistry as createCoreNavigationShellFrameRendererRegistry, resolveNavigationShellFrameRenderer as resolveCoreNavigationShellFrameRenderer, } from '@cohesivesystems/presentation-core';
|
|
2
|
+
export { createNavigationShellFrameRendererKey, getNavigationShellFrameRendererRegistryKeys, hasNavigationShellFrameRendererBinding, } from '@cohesivesystems/presentation-core';
|
|
3
|
+
export function createNavigationShellFrameRendererRegistry(bindings) {
|
|
4
|
+
return createCoreNavigationShellFrameRendererRegistry(bindings);
|
|
5
|
+
}
|
|
6
|
+
export function resolveNavigationShellFrameRenderer(registry, kind) {
|
|
7
|
+
return resolveCoreNavigationShellFrameRenderer(registry, kind);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=navigation-shell-frame-renderer-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-shell-frame-renderer-registry.js","sourceRoot":"","sources":["../src/navigation-shell-frame-renderer-registry.ts"],"names":[],"mappings":"AASA,OAAO,EACL,0CAA0C,IAAI,8CAA8C,EAC5F,mCAAmC,IAAI,uCAAuC,GAG/E,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,qCAAqC,EACrC,2CAA2C,EAC3C,sCAAsC,GACvC,MAAM,oCAAoC,CAAA;AAuB3C,MAAM,UAAU,0CAA0C,CACxD,QAAiE;IAEjE,OAAO,8CAA8C,CAAC,QAAQ,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,QAA0E,EAC1E,IAA2C;IAE3C,OAAO,uCAAuC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AAChE,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { ComponentType, ReactNode } from 'react';
|
|
2
|
+
import { type NavigationShellRegionDefinition } from '@cohesivesystems/presentation-contracts';
|
|
3
|
+
import { getNavigationShellRegionComponentRegistryKeys, hasNavigationShellRegionComponentBinding, type NavigationShellRegionComponentModuleProjection, type NavigationShellRegionComponentRegistry as CoreNavigationShellRegionComponentRegistry, type NavigationShellRegionComponentResolution as CoreNavigationShellRegionComponentResolution, type ResolveNavigationShellRegionComponentOptions as CoreResolveNavigationShellRegionComponentOptions } from '@cohesivesystems/presentation-core';
|
|
4
|
+
export { getNavigationShellRegionComponentRegistryKeys, hasNavigationShellRegionComponentBinding, };
|
|
5
|
+
export type { NavigationShellRegionComponentModuleProjection };
|
|
6
|
+
/**
|
|
7
|
+
* Props passed to a React component that renders a navigation shell region.
|
|
8
|
+
*/
|
|
9
|
+
export interface NavigationShellRegionComponentProps {
|
|
10
|
+
/** Navigation shell region definition selected by the shell runtime. */
|
|
11
|
+
readonly region: NavigationShellRegionDefinition;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* React component type used to render one navigation shell region.
|
|
15
|
+
*/
|
|
16
|
+
export type NavigationShellRegionComponentRenderer = ComponentType<NavigationShellRegionComponentProps>;
|
|
17
|
+
/**
|
|
18
|
+
* React renderer registry for navigation shell regions.
|
|
19
|
+
*/
|
|
20
|
+
export type NavigationShellRegionComponentRegistry = CoreNavigationShellRegionComponentRegistry<NavigationShellRegionComponentRenderer>;
|
|
21
|
+
/**
|
|
22
|
+
* React-specific shell region component resolution.
|
|
23
|
+
*/
|
|
24
|
+
export type NavigationShellRegionComponentResolution = CoreNavigationShellRegionComponentResolution<NavigationShellRegionComponentRenderer>;
|
|
25
|
+
/**
|
|
26
|
+
* Inputs used to resolve a React navigation shell region renderer.
|
|
27
|
+
*
|
|
28
|
+
* The React wrapper supplies the React target discriminator internally.
|
|
29
|
+
*/
|
|
30
|
+
export type ResolveNavigationShellRegionComponentOptions = Omit<CoreResolveNavigationShellRegionComponentOptions<NavigationShellRegionComponentRenderer>, 'targetKind'>;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a typed React navigation shell region component registry.
|
|
33
|
+
*/
|
|
34
|
+
export declare function createNavigationShellRegionComponentRegistry(registry: NavigationShellRegionComponentRegistry): CoreNavigationShellRegionComponentRegistry<NavigationShellRegionComponentRenderer>;
|
|
35
|
+
/**
|
|
36
|
+
* Tests whether a React shell region resolves to a renderer through the active
|
|
37
|
+
* target bindings and registry.
|
|
38
|
+
*/
|
|
39
|
+
export declare function hasNavigationShellRegionComponentTargetBinding(options: ResolveNavigationShellRegionComponentOptions): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Host component that resolves and renders a projected navigation shell region.
|
|
42
|
+
*/
|
|
43
|
+
export declare function ProjectedNavigationShellRegionComponentHost({ componentSet, fallback, module, region, registry, }: ResolveNavigationShellRegionComponentOptions & {
|
|
44
|
+
readonly fallback?: ReactNode;
|
|
45
|
+
}): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null;
|
|
46
|
+
/**
|
|
47
|
+
* Resolves the React renderer for a projected navigation shell region.
|
|
48
|
+
*/
|
|
49
|
+
export declare function resolveNavigationShellRegionComponent(options: ResolveNavigationShellRegionComponentOptions): NavigationShellRegionComponentResolution;
|
|
50
|
+
//# sourceMappingURL=navigation-shell-region-component-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-shell-region-component-registry.d.ts","sourceRoot":"","sources":["../src/navigation-shell-region-component-registry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAErD,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAGL,6CAA6C,EAC7C,wCAAwC,EAGxC,KAAK,8CAA8C,EACnD,KAAK,sCAAsC,IAAI,0CAA0C,EACzF,KAAK,wCAAwC,IAAI,4CAA4C,EAC7F,KAAK,4CAA4C,IAAI,gDAAgD,EACtG,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EACL,6CAA6C,EAC7C,wCAAwC,GACzC,CAAA;AAED,YAAY,EAAE,8CAA8C,EAAE,CAAA;AAE9D;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,+BAA+B,CAAA;CACjD;AAED;;GAEG;AACH,MAAM,MAAM,sCAAsC,GAChD,aAAa,CAAC,mCAAmC,CAAC,CAAA;AAEpD;;GAEG;AACH,MAAM,MAAM,sCAAsC,GAChD,0CAA0C,CAAC,sCAAsC,CAAC,CAAA;AAEpF;;GAEG;AACH,MAAM,MAAM,wCAAwC,GAClD,4CAA4C,CAAC,sCAAsC,CAAC,CAAA;AAEtF;;;;GAIG;AACH,MAAM,MAAM,4CAA4C,GACtD,IAAI,CACF,gDAAgD,CAC9C,sCAAsC,CACvC,EACD,YAAY,CACb,CAAA;AAEH;;GAEG;AACH,wBAAgB,4CAA4C,CAC1D,QAAQ,EAAE,sCAAsC,sFAGjD;AAED;;;GAGG;AACH,wBAAgB,8CAA8C,CAC5D,OAAO,EAAE,4CAA4C,WAMtD;AAED;;GAEG;AACH,wBAAgB,2CAA2C,CAAC,EAC1D,YAAY,EACZ,QAAe,EACf,MAAM,EACN,MAAM,EACN,QAAQ,GACT,EAAE,4CAA4C,GAAG;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAC9B,+TAUA;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,4CAA4C,GACpD,wCAAwC,CAK1C"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { presentationTargetKinds, } from '@cohesivesystems/presentation-contracts';
|
|
3
|
+
import { createPresentationEnumDiscriminator, createNavigationShellRegionComponentRegistry as createCoreNavigationShellRegionComponentRegistry, getNavigationShellRegionComponentRegistryKeys, hasNavigationShellRegionComponentBinding, hasNavigationShellRegionComponentTargetBinding as hasCoreNavigationShellRegionComponentTargetBinding, resolveNavigationShellRegionComponent as resolveCoreNavigationShellRegionComponent, } from '@cohesivesystems/presentation-core';
|
|
4
|
+
export { getNavigationShellRegionComponentRegistryKeys, hasNavigationShellRegionComponentBinding, };
|
|
5
|
+
/**
|
|
6
|
+
* Creates a typed React navigation shell region component registry.
|
|
7
|
+
*/
|
|
8
|
+
export function createNavigationShellRegionComponentRegistry(registry) {
|
|
9
|
+
return createCoreNavigationShellRegionComponentRegistry(registry);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Tests whether a React shell region resolves to a renderer through the active
|
|
13
|
+
* target bindings and registry.
|
|
14
|
+
*/
|
|
15
|
+
export function hasNavigationShellRegionComponentTargetBinding(options) {
|
|
16
|
+
return hasCoreNavigationShellRegionComponentTargetBinding({
|
|
17
|
+
...options,
|
|
18
|
+
targetKind: reactPresentationTargetKind,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Host component that resolves and renders a projected navigation shell region.
|
|
23
|
+
*/
|
|
24
|
+
export function ProjectedNavigationShellRegionComponentHost({ componentSet, fallback = null, module, region, registry, }) {
|
|
25
|
+
const resolution = resolveNavigationShellRegionComponent({
|
|
26
|
+
componentSet,
|
|
27
|
+
module,
|
|
28
|
+
region,
|
|
29
|
+
registry,
|
|
30
|
+
});
|
|
31
|
+
const Renderer = resolution.renderer;
|
|
32
|
+
return Renderer ? _jsx(Renderer, { region: region }) : fallback;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolves the React renderer for a projected navigation shell region.
|
|
36
|
+
*/
|
|
37
|
+
export function resolveNavigationShellRegionComponent(options) {
|
|
38
|
+
return resolveCoreNavigationShellRegionComponent({
|
|
39
|
+
...options,
|
|
40
|
+
targetKind: reactPresentationTargetKind,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
const reactPresentationTargetKind = createPresentationEnumDiscriminator(presentationTargetKinds, 'react', 'React');
|
|
44
|
+
//# sourceMappingURL=navigation-shell-region-component-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-shell-region-component-registry.js","sourceRoot":"","sources":["../src/navigation-shell-region-component-registry.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,uBAAuB,GAExB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,mCAAmC,EACnC,4CAA4C,IAAI,gDAAgD,EAChG,6CAA6C,EAC7C,wCAAwC,EACxC,8CAA8C,IAAI,kDAAkD,EACpG,qCAAqC,IAAI,yCAAyC,GAKnF,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EACL,6CAA6C,EAC7C,wCAAwC,GACzC,CAAA;AA2CD;;GAEG;AACH,MAAM,UAAU,4CAA4C,CAC1D,QAAgD;IAEhD,OAAO,gDAAgD,CAAC,QAAQ,CAAC,CAAA;AACnE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8CAA8C,CAC5D,OAAqD;IAErD,OAAO,kDAAkD,CAAC;QACxD,GAAG,OAAO;QACV,UAAU,EAAE,2BAA2B;KACxC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2CAA2C,CAAC,EAC1D,YAAY,EACZ,QAAQ,GAAG,IAAI,EACf,MAAM,EACN,MAAM,EACN,QAAQ,GAGT;IACC,MAAM,UAAU,GAAG,qCAAqC,CAAC;QACvD,YAAY;QACZ,MAAM;QACN,MAAM;QACN,QAAQ;KACT,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;IAEpC,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qCAAqC,CACnD,OAAqD;IAErD,OAAO,yCAAyC,CAAC;QAC/C,GAAG,OAAO;QACV,UAAU,EAAE,2BAA2B;KACxC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,2BAA2B,GAAG,mCAAmC,CACrE,uBAAuB,EACvB,OAAO,EACP,OAAO,CACR,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { NavigationDefinition, NavigationNodeDefinition, NavigationShellRegionDefinition, NavigationShellSlotDefinition, NavigationShellSlotKind } from '@cohesivesystems/presentation-contracts';
|
|
3
|
+
import { type NavigationShellSlotRendererBinding as CoreNavigationShellSlotRendererBinding, type NavigationShellSlotRendererRegistry as CoreNavigationShellSlotRendererRegistry } from '@cohesivesystems/presentation-core';
|
|
4
|
+
export { createNavigationShellSlotRendererKey, getNavigationShellSlotRendererCandidateKeys, getNavigationShellSlotRendererRegistryKeys, hasNavigationShellSlotRendererBinding, navigationShellSlotAnyPlacement, } from '@cohesivesystems/presentation-core';
|
|
5
|
+
export interface ProjectedNavigationShellSlotRenderContext<TSlotLayout = unknown, TComponentSystem = unknown> {
|
|
6
|
+
readonly activePath: string;
|
|
7
|
+
readonly children: ReactNode;
|
|
8
|
+
readonly componentSystem: TComponentSystem;
|
|
9
|
+
readonly navigation: NavigationDefinition;
|
|
10
|
+
readonly renderNodeIcon?: (node: NavigationNodeDefinition) => ReactNode;
|
|
11
|
+
readonly renderShellIcon?: (icon: string) => ReactNode;
|
|
12
|
+
readonly renderShellRegion?: (region: NavigationShellRegionDefinition) => ReactNode;
|
|
13
|
+
readonly slot: NavigationShellSlotDefinition;
|
|
14
|
+
readonly slotLayout: TSlotLayout;
|
|
15
|
+
}
|
|
16
|
+
export type NavigationShellSlotRenderer<TSlotLayout = unknown, TComponentSystem = unknown> = (context: ProjectedNavigationShellSlotRenderContext<TSlotLayout, TComponentSystem>) => ReactNode;
|
|
17
|
+
export type NavigationShellSlotRendererRegistry<TSlotLayout = unknown, TComponentSystem = unknown> = CoreNavigationShellSlotRendererRegistry<NavigationShellSlotRenderer<TSlotLayout, TComponentSystem>>;
|
|
18
|
+
export type NavigationShellSlotRendererBinding<TSlotLayout = unknown, TComponentSystem = unknown> = CoreNavigationShellSlotRendererBinding<NavigationShellSlotRenderer<TSlotLayout, TComponentSystem>>;
|
|
19
|
+
export declare function createNavigationShellSlotRendererRegistry<TSlotLayout, TComponentSystem>(bindings: readonly NavigationShellSlotRendererBinding<TSlotLayout, TComponentSystem>[]): NavigationShellSlotRendererRegistry<TSlotLayout, TComponentSystem>;
|
|
20
|
+
export declare function resolveNavigationShellSlotRenderer<TSlotLayout, TComponentSystem>(registry: NavigationShellSlotRendererRegistry<TSlotLayout, TComponentSystem> | null | undefined, slot: NavigationShellSlotDefinition): NavigationShellSlotRenderer<TSlotLayout, TComponentSystem> | null;
|
|
21
|
+
export type { NavigationShellSlotKind };
|
|
22
|
+
//# sourceMappingURL=navigation-shell-slot-renderer-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-shell-slot-renderer-registry.d.ts","sourceRoot":"","sources":["../src/navigation-shell-slot-renderer-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,+BAA+B,EAC/B,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAGL,KAAK,kCAAkC,IAAI,sCAAsC,EACjF,KAAK,mCAAmC,IAAI,uCAAuC,EACpF,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,oCAAoC,EACpC,2CAA2C,EAC3C,0CAA0C,EAC1C,qCAAqC,EACrC,+BAA+B,GAChC,MAAM,oCAAoC,CAAA;AAE3C,MAAM,WAAW,yCAAyC,CACxD,WAAW,GAAG,OAAO,EACrB,gBAAgB,GAAG,OAAO;IAE1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAA;IAC1C,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAA;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,SAAS,CAAA;IACvE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAA;IACtD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,+BAA+B,KAAK,SAAS,CAAA;IACnF,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAA;IAC5C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAA;CACjC;AAED,MAAM,MAAM,2BAA2B,CACrC,WAAW,GAAG,OAAO,EACrB,gBAAgB,GAAG,OAAO,IACxB,CACF,OAAO,EAAE,yCAAyC,CAChD,WAAW,EACX,gBAAgB,CACjB,KACE,SAAS,CAAA;AAEd,MAAM,MAAM,mCAAmC,CAC7C,WAAW,GAAG,OAAO,EACrB,gBAAgB,GAAG,OAAO,IACxB,uCAAuC,CACzC,2BAA2B,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAC3D,CAAA;AAED,MAAM,MAAM,kCAAkC,CAC5C,WAAW,GAAG,OAAO,EACrB,gBAAgB,GAAG,OAAO,IACxB,sCAAsC,CACxC,2BAA2B,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAC3D,CAAA;AAED,wBAAgB,yCAAyC,CACvD,WAAW,EACX,gBAAgB,EAEhB,QAAQ,EAAE,SAAS,kCAAkC,CACnD,WAAW,EACX,gBAAgB,CACjB,EAAE,GACF,mCAAmC,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAEpE;AAED,wBAAgB,kCAAkC,CAChD,WAAW,EACX,gBAAgB,EAEhB,QAAQ,EAAE,mCAAmC,CAC3C,WAAW,EACX,gBAAgB,CACjB,GAAG,IAAI,GAAG,SAAS,EACpB,IAAI,EAAE,6BAA6B,qEAGpC;AAED,YAAY,EAAE,uBAAuB,EAAE,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createNavigationShellSlotRendererRegistry as createCoreNavigationShellSlotRendererRegistry, resolveNavigationShellSlotRenderer as resolveCoreNavigationShellSlotRenderer, } from '@cohesivesystems/presentation-core';
|
|
2
|
+
export { createNavigationShellSlotRendererKey, getNavigationShellSlotRendererCandidateKeys, getNavigationShellSlotRendererRegistryKeys, hasNavigationShellSlotRendererBinding, navigationShellSlotAnyPlacement, } from '@cohesivesystems/presentation-core';
|
|
3
|
+
export function createNavigationShellSlotRendererRegistry(bindings) {
|
|
4
|
+
return createCoreNavigationShellSlotRendererRegistry(bindings);
|
|
5
|
+
}
|
|
6
|
+
export function resolveNavigationShellSlotRenderer(registry, slot) {
|
|
7
|
+
return resolveCoreNavigationShellSlotRenderer(registry, slot);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=navigation-shell-slot-renderer-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-shell-slot-renderer-registry.js","sourceRoot":"","sources":["../src/navigation-shell-slot-renderer-registry.ts"],"names":[],"mappings":"AASA,OAAO,EACL,yCAAyC,IAAI,6CAA6C,EAC1F,kCAAkC,IAAI,sCAAsC,GAG7E,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,oCAAoC,EACpC,2CAA2C,EAC3C,0CAA0C,EAC1C,qCAAqC,EACrC,+BAA+B,GAChC,MAAM,oCAAoC,CAAA;AAyC3C,MAAM,UAAU,yCAAyC,CAIvD,QAGG;IAEH,OAAO,6CAA6C,CAAC,QAAQ,CAAC,CAAA;AAChE,CAAC;AAED,MAAM,UAAU,kCAAkC,CAIhD,QAGoB,EACpB,IAAmC;IAEnC,OAAO,sCAAsC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AAC/D,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { NavigationDefinitionProjection, NavigationTarget } from '@cohesivesystems/presentation-core';
|
|
3
|
+
import type { NavigationRouteDefinition, PageHostDefinition } from '@cohesivesystems/presentation-contracts';
|
|
4
|
+
/**
|
|
5
|
+
* Route parameter values resolved by the frontend router for a projected
|
|
6
|
+
* navigation route. Values are strings because this sits at the router binding
|
|
7
|
+
* boundary; semantic conversion belongs in the page-host or data-source layer.
|
|
8
|
+
*/
|
|
9
|
+
export type RouteParameterValues = Readonly<Record<string, string | undefined>>;
|
|
10
|
+
/**
|
|
11
|
+
* Complete rendering context for a resolved page host. Page-host renderers are
|
|
12
|
+
* the adapting boundary between semantic navigation/page-host IR and concrete
|
|
13
|
+
* React route components.
|
|
14
|
+
*
|
|
15
|
+
* @typeParam TModule - Presentation module shape available to the renderer.
|
|
16
|
+
* @typeParam TNavigation - Navigation graph shape used to resolve the route.
|
|
17
|
+
* @typeParam TRoute - Concrete navigation route type.
|
|
18
|
+
* @typeParam TPageHost - Concrete page-host type mounted by the route.
|
|
19
|
+
* @typeParam TProjectionContext - App-specific runtime context supplied by the navigation projection.
|
|
20
|
+
*/
|
|
21
|
+
export interface PageHostRenderContext<TModule, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext> {
|
|
22
|
+
/** App-specific projection context carried through navigation rendering. */
|
|
23
|
+
readonly context: TProjectionContext;
|
|
24
|
+
/** Presentation module that owns views, targets, workspaces, and bindings. */
|
|
25
|
+
readonly module: TModule;
|
|
26
|
+
/** Navigation graph that produced the current route/page-host pairing. */
|
|
27
|
+
readonly navigation: TNavigation;
|
|
28
|
+
/** Resolved semantic target for the active route. */
|
|
29
|
+
readonly navigationTarget: NavigationTarget<TRoute, TPageHost>;
|
|
30
|
+
/** Page host mounted by the active route. */
|
|
31
|
+
readonly pageHost: TPageHost;
|
|
32
|
+
/** Raw route parameters captured by the frontend router. */
|
|
33
|
+
readonly parameters: RouteParameterValues;
|
|
34
|
+
/** Active route definition from the navigation graph. */
|
|
35
|
+
readonly route: TRoute;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* React renderer for a resolved page host.
|
|
39
|
+
*/
|
|
40
|
+
export type PageHostComponentRenderer<TModule, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext> = (context: PageHostRenderContext<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>) => ReactNode;
|
|
41
|
+
/**
|
|
42
|
+
* Registry of concrete page-host renderers keyed by adapter component key.
|
|
43
|
+
* The semantic navigation runtime resolves which component key applies; this
|
|
44
|
+
* registry supplies the React implementation for that key.
|
|
45
|
+
*/
|
|
46
|
+
export type PageHostComponentRegistry<TComponentKey extends string, TModule, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext> = Readonly<Partial<Record<TComponentKey, PageHostComponentRenderer<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>>>>;
|
|
47
|
+
/**
|
|
48
|
+
* Convenience registry type for apps that use the standard generated
|
|
49
|
+
* navigation, route, and page-host shapes.
|
|
50
|
+
*/
|
|
51
|
+
export type SimplePageHostComponentRegistry<TComponentKey extends string, TModule, TProjectionContext> = PageHostComponentRegistry<TComponentKey, TModule, NavigationDefinitionProjection, NavigationRouteDefinition, PageHostDefinition, TProjectionContext>;
|
|
52
|
+
/**
|
|
53
|
+
* Convenience render-context type for apps that use the standard generated
|
|
54
|
+
* navigation, route, and page-host shapes.
|
|
55
|
+
*/
|
|
56
|
+
export type SimplePageHostRenderContext<TModule, TProjectionContext> = PageHostRenderContext<TModule, NavigationDefinitionProjection, NavigationRouteDefinition, PageHostDefinition, TProjectionContext>;
|
|
57
|
+
/**
|
|
58
|
+
* Convenience unknown-renderer type for apps that use the standard generated
|
|
59
|
+
* navigation, route, and page-host shapes.
|
|
60
|
+
*/
|
|
61
|
+
export type SimpleUnknownPageHostRenderer<TModule, TProjectionContext> = UnknownPageHostRenderer<TModule, NavigationDefinitionProjection, NavigationRouteDefinition, PageHostDefinition, TProjectionContext>;
|
|
62
|
+
/**
|
|
63
|
+
* Context passed when a route cannot be projected to a concrete page-host
|
|
64
|
+
* renderer. Unknown renderers should produce diagnostics, not throw, so route
|
|
65
|
+
* and binding problems remain visible inside the app shell.
|
|
66
|
+
*/
|
|
67
|
+
export interface UnknownPageHostRenderContext<TModule, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext> {
|
|
68
|
+
/** Component key that failed to resolve, when one was present. */
|
|
69
|
+
readonly componentKey?: string | null;
|
|
70
|
+
/** App-specific projection context carried through navigation rendering. */
|
|
71
|
+
readonly context: TProjectionContext;
|
|
72
|
+
/** Presentation module available during route projection. */
|
|
73
|
+
readonly module: TModule;
|
|
74
|
+
/** Navigation graph being projected. */
|
|
75
|
+
readonly navigation: TNavigation;
|
|
76
|
+
/** Resolved navigation target, or null when no route matched. */
|
|
77
|
+
readonly navigationTarget: NavigationTarget<TRoute, TPageHost> | null;
|
|
78
|
+
/** Page host selected by the route, or null when the route references none. */
|
|
79
|
+
readonly pageHost: TPageHost | null;
|
|
80
|
+
/** Raw route parameters captured by the frontend router. */
|
|
81
|
+
readonly parameters: RouteParameterValues;
|
|
82
|
+
/** Failure mode that prevented a page host from rendering. */
|
|
83
|
+
readonly reason: 'missing-page-host' | 'missing-component-binding' | 'unknown-component-key' | 'unmatched-route';
|
|
84
|
+
/** Active route, or null when no route matched the current URL. */
|
|
85
|
+
readonly route: TRoute | null;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Renderer for page-host projection failures.
|
|
89
|
+
*/
|
|
90
|
+
export type UnknownPageHostRenderer<TModule, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext> = (context: UnknownPageHostRenderContext<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>) => ReactNode;
|
|
91
|
+
/**
|
|
92
|
+
* Inputs required to render a page host after router matching and semantic
|
|
93
|
+
* navigation resolution have already occurred.
|
|
94
|
+
*/
|
|
95
|
+
export interface RenderPageHostOptions<TComponentKey extends string, TModule, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext> {
|
|
96
|
+
/** Concrete component key resolved from target bindings or caller policy. */
|
|
97
|
+
readonly componentKey?: string | null;
|
|
98
|
+
/** Registry that maps component keys to React page-host renderers. */
|
|
99
|
+
readonly componentRegistry: PageHostComponentRegistry<TComponentKey, TModule, TNavigation, TRoute, TPageHost, TProjectionContext>;
|
|
100
|
+
/** App-specific projection context carried through navigation rendering. */
|
|
101
|
+
readonly context: TProjectionContext;
|
|
102
|
+
/** Presentation module available during route projection. */
|
|
103
|
+
readonly module: TModule;
|
|
104
|
+
/** Navigation graph being projected. */
|
|
105
|
+
readonly navigation: TNavigation;
|
|
106
|
+
/** Resolved semantic target for the active route. */
|
|
107
|
+
readonly navigationTarget: NavigationTarget<TRoute, TPageHost>;
|
|
108
|
+
/** Page host selected by the route. Null is rendered through diagnostics. */
|
|
109
|
+
readonly pageHost: TPageHost | null;
|
|
110
|
+
/** Raw route parameters captured by the frontend router. */
|
|
111
|
+
readonly parameters: RouteParameterValues;
|
|
112
|
+
/** Diagnostic renderer used when the page host cannot be projected. */
|
|
113
|
+
readonly renderUnknownPageHost: UnknownPageHostRenderer<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>;
|
|
114
|
+
/** Active route definition from the navigation graph. */
|
|
115
|
+
readonly route: TRoute;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Projects a resolved semantic page host into a concrete React renderer.
|
|
119
|
+
*
|
|
120
|
+
* The function does only three things: validate that a page host exists,
|
|
121
|
+
* validate that a component key exists, and look up the corresponding renderer.
|
|
122
|
+
* Higher-level code owns route matching and component-key resolution; unknown
|
|
123
|
+
* cases are delegated to `renderUnknownPageHost` so projection failures remain
|
|
124
|
+
* visible and recoverable.
|
|
125
|
+
*/
|
|
126
|
+
export declare function renderPageHost<TComponentKey extends string, TModule, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext>({ componentKey, componentRegistry, context, module, navigation, navigationTarget, pageHost, parameters, renderUnknownPageHost, route, }: RenderPageHostOptions<TComponentKey, TModule, TNavigation, TRoute, TPageHost, TProjectionContext>): ReactNode;
|
|
127
|
+
//# sourceMappingURL=page-host-projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-host-projection.d.ts","sourceRoot":"","sources":["../src/page-host-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Projects a resolved semantic page host into a concrete React renderer.
|
|
3
|
+
*
|
|
4
|
+
* The function does only three things: validate that a page host exists,
|
|
5
|
+
* validate that a component key exists, and look up the corresponding renderer.
|
|
6
|
+
* Higher-level code owns route matching and component-key resolution; unknown
|
|
7
|
+
* cases are delegated to `renderUnknownPageHost` so projection failures remain
|
|
8
|
+
* visible and recoverable.
|
|
9
|
+
*/
|
|
10
|
+
export function renderPageHost({ componentKey, componentRegistry, context, module, navigation, navigationTarget, pageHost, parameters, renderUnknownPageHost, route, }) {
|
|
11
|
+
if (!pageHost) {
|
|
12
|
+
return renderUnknownPageHost({
|
|
13
|
+
context,
|
|
14
|
+
module,
|
|
15
|
+
navigation,
|
|
16
|
+
navigationTarget,
|
|
17
|
+
pageHost,
|
|
18
|
+
parameters,
|
|
19
|
+
reason: 'missing-page-host',
|
|
20
|
+
route,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
if (!componentKey) {
|
|
24
|
+
return renderUnknownPageHost({
|
|
25
|
+
context,
|
|
26
|
+
module,
|
|
27
|
+
navigation,
|
|
28
|
+
navigationTarget,
|
|
29
|
+
pageHost,
|
|
30
|
+
parameters,
|
|
31
|
+
reason: 'missing-component-binding',
|
|
32
|
+
route,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
const renderer = componentRegistry[componentKey];
|
|
36
|
+
if (!renderer) {
|
|
37
|
+
return renderUnknownPageHost({
|
|
38
|
+
componentKey,
|
|
39
|
+
context,
|
|
40
|
+
module,
|
|
41
|
+
navigation,
|
|
42
|
+
navigationTarget,
|
|
43
|
+
pageHost,
|
|
44
|
+
parameters,
|
|
45
|
+
reason: 'unknown-component-key',
|
|
46
|
+
route,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return renderer({
|
|
50
|
+
context,
|
|
51
|
+
module,
|
|
52
|
+
navigation,
|
|
53
|
+
navigationTarget,
|
|
54
|
+
pageHost,
|
|
55
|
+
parameters,
|
|
56
|
+
route,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=page-host-projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-host-projection.js","sourceRoot":"","sources":["../src/page-host-projection.ts"],"names":[],"mappings":"AA8QA;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAO5B,EACA,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,KAAK,GAQN;IACC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,qBAAqB,CAAC;YAC3B,OAAO;YACP,MAAM;YACN,UAAU;YACV,gBAAgB;YAChB,QAAQ;YACR,UAAU;YACV,MAAM,EAAE,mBAAmB;YAC3B,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,qBAAqB,CAAC;YAC3B,OAAO;YACP,MAAM;YACN,UAAU;YACV,gBAAgB;YAChB,QAAQ;YACR,UAAU;YACV,MAAM,EAAE,2BAA2B;YACnC,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,YAA6B,CAAC,CAAA;IACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,qBAAqB,CAAC;YAC3B,YAAY;YACZ,OAAO;YACP,MAAM;YACN,UAAU;YACV,gBAAgB;YAChB,QAAQ;YACR,UAAU;YACV,MAAM,EAAE,uBAAuB;YAC/B,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;QACd,OAAO;QACP,MAAM;QACN,UAAU;QACV,gBAAgB;QAChB,QAAQ;QACR,UAAU;QACV,KAAK;KACN,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { ComponentType } from 'react';
|
|
2
|
+
import { type NavigationRouteDefinition, type PageHostDefinition } from '@cohesivesystems/presentation-contracts';
|
|
3
|
+
import { presentationPageHostComponentRoles, resolveDefaultPresentationPageHostComponentRole, type NavigationDefinitionProjection, type PageHostRendererRegistry as CorePageHostRendererRegistry, type PageHostRendererResolution as CorePageHostRendererResolution, type PageHostRendererResolutionSource, type PageHostTargetBindingSource, type PresentationPageHostRendererModuleProjection } from '@cohesivesystems/presentation-core';
|
|
4
|
+
import type { PageHostComponentRenderer, PageHostRenderContext } from './page-host-projection.js';
|
|
5
|
+
import type { ProjectedNavigationTargetRenderContext, ProjectedNavigationTargetRenderer } from './react-router-binding.js';
|
|
6
|
+
export { presentationPageHostComponentRoles, resolveDefaultPresentationPageHostComponentRole, };
|
|
7
|
+
export type { PageHostRendererResolutionSource, PageHostTargetBindingSource, PresentationPageHostRendererModuleProjection, };
|
|
8
|
+
/**
|
|
9
|
+
* Renders a semantic page host after navigation has resolved the target route.
|
|
10
|
+
* These renderers sit at the projection boundary: they choose React components
|
|
11
|
+
* for page-host semantics without letting the router own application meaning.
|
|
12
|
+
*/
|
|
13
|
+
export type PageHostRenderer<TModule, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext> = PageHostComponentRenderer<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>;
|
|
14
|
+
/**
|
|
15
|
+
* React component type that consumes the fully resolved page-host context.
|
|
16
|
+
* Use `createPageHostComponentRenderer` to adapt one of these into a registry
|
|
17
|
+
* entry.
|
|
18
|
+
*/
|
|
19
|
+
export type PageHostRendererComponent<TModule, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext> = ComponentType<PageHostRenderContext<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>>;
|
|
20
|
+
/**
|
|
21
|
+
* Adapts a React component that consumes the resolved page-host context into a
|
|
22
|
+
* registry renderer. This keeps the registry declarative while allowing route
|
|
23
|
+
* hosts to remain ordinary components at the projection boundary.
|
|
24
|
+
*/
|
|
25
|
+
export declare function createPageHostComponentRenderer<TModule, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext>(Component: PageHostRendererComponent<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>): PageHostRenderer<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>;
|
|
26
|
+
export type PageHostRendererRegistry<TModule, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext> = CorePageHostRendererRegistry<PageHostRenderer<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>>;
|
|
27
|
+
/**
|
|
28
|
+
* Convenience registry type for apps that use the standard generated
|
|
29
|
+
* navigation, route, and page-host shapes.
|
|
30
|
+
*/
|
|
31
|
+
export type SimplePageHostRendererRegistry<TModule, TProjectionContext> = PageHostRendererRegistry<TModule, NavigationDefinitionProjection, NavigationRouteDefinition, PageHostDefinition, TProjectionContext>;
|
|
32
|
+
export type PageHostRendererResolution<TModule, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext> = CorePageHostRendererResolution<PageHostRenderer<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>>;
|
|
33
|
+
/**
|
|
34
|
+
* Options for adapting a page-host registry into a navigation-target renderer
|
|
35
|
+
* that can be passed to router projection.
|
|
36
|
+
*/
|
|
37
|
+
export interface CreatePageHostTargetRendererOptions<TComponentKey extends string, TModule extends PresentationPageHostRendererModuleProjection, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext> {
|
|
38
|
+
/** Registry used to resolve semantic page hosts to concrete renderers. */
|
|
39
|
+
readonly registry: PageHostRendererRegistry<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>;
|
|
40
|
+
/** Adapter component set to use when reading target bindings. */
|
|
41
|
+
readonly componentSet?: string | null;
|
|
42
|
+
/**
|
|
43
|
+
* Optional caller-supplied component-key resolver. When provided, this value
|
|
44
|
+
* takes precedence over PageHostComponent target bindings.
|
|
45
|
+
*/
|
|
46
|
+
readonly resolveComponentKey?: (context: ProjectedNavigationTargetRenderContext<TComponentKey, TModule, TNavigation, TRoute, TPageHost, TProjectionContext>) => string | null;
|
|
47
|
+
/**
|
|
48
|
+
* Optional caller-supplied component-role resolver. When provided, this value
|
|
49
|
+
* takes precedence over PageHostComponent target bindings.
|
|
50
|
+
*/
|
|
51
|
+
readonly resolveComponentRole?: (context: ProjectedNavigationTargetRenderContext<TComponentKey, TModule, TNavigation, TRoute, TPageHost, TProjectionContext>) => string | null;
|
|
52
|
+
}
|
|
53
|
+
export interface ResolvePageHostRendererOptions<TModule extends PresentationPageHostRendererModuleProjection, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext> {
|
|
54
|
+
readonly componentKey?: string | null;
|
|
55
|
+
readonly componentRole?: string | null;
|
|
56
|
+
readonly componentSet?: string | null;
|
|
57
|
+
readonly module: TModule;
|
|
58
|
+
readonly pageHost: TPageHost | null;
|
|
59
|
+
readonly registry: PageHostRendererRegistry<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>;
|
|
60
|
+
readonly route?: TRoute | null;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Creates a navigation-target renderer from a page-host registry. Resolution
|
|
64
|
+
* starts from the semantic page-host shape, resolves an adapter component role,
|
|
65
|
+
* then invokes the frontend interpreter registered for that role.
|
|
66
|
+
*/
|
|
67
|
+
export declare function createPageHostTargetRenderer<TComponentKey extends string, TModule extends PresentationPageHostRendererModuleProjection, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext>({ componentSet, registry, resolveComponentKey, resolveComponentRole, }: CreatePageHostTargetRendererOptions<TComponentKey, TModule, TNavigation, TRoute, TPageHost, TProjectionContext>): ProjectedNavigationTargetRenderer<TComponentKey, TModule, TNavigation, TRoute, TPageHost, TProjectionContext>;
|
|
68
|
+
/**
|
|
69
|
+
* Resolves a page-host renderer without rendering it.
|
|
70
|
+
*/
|
|
71
|
+
export declare function resolvePageHostRenderer<TModule extends PresentationPageHostRendererModuleProjection, TNavigation extends NavigationDefinitionProjection<TRoute, TPageHost>, TRoute extends NavigationRouteDefinition, TPageHost extends PageHostDefinition, TProjectionContext>({ componentKey, componentRole, componentSet, module, pageHost, registry, route, }: ResolvePageHostRendererOptions<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>): PageHostRendererResolution<TModule, TNavigation, TRoute, TPageHost, TProjectionContext>;
|
|
72
|
+
//# sourceMappingURL=page-host-renderer-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-host-renderer-registry.d.ts","sourceRoot":"","sources":["../src/page-host-renderer-registry.tsx"],"names":[],"mappings":"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"}
|