@cohesivesystems/presentation-core 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/api-scope-request.d.ts +43 -0
- package/dist/api-scope-request.d.ts.map +1 -0
- package/dist/api-scope-request.js +96 -0
- package/dist/api-scope-request.js.map +1 -0
- package/dist/collection-chrome-icons.d.ts +18 -0
- package/dist/collection-chrome-icons.d.ts.map +1 -0
- package/dist/collection-chrome-icons.js +57 -0
- package/dist/collection-chrome-icons.js.map +1 -0
- package/dist/collection-chrome-runtime.d.ts +25 -0
- package/dist/collection-chrome-runtime.d.ts.map +1 -0
- package/dist/collection-chrome-runtime.js +72 -0
- package/dist/collection-chrome-runtime.js.map +1 -0
- package/dist/collection-chrome-slot-renderer-registry.d.ts +110 -0
- package/dist/collection-chrome-slot-renderer-registry.d.ts.map +1 -0
- package/dist/collection-chrome-slot-renderer-registry.js +136 -0
- package/dist/collection-chrome-slot-renderer-registry.js.map +1 -0
- package/dist/collection-selection-state.d.ts +18 -0
- package/dist/collection-selection-state.d.ts.map +1 -0
- package/dist/collection-selection-state.js +2 -0
- package/dist/collection-selection-state.js.map +1 -0
- package/dist/data-source-projection.d.ts +475 -0
- package/dist/data-source-projection.d.ts.map +1 -0
- package/dist/data-source-projection.js +880 -0
- package/dist/data-source-projection.js.map +1 -0
- package/dist/data-source-query-lowering.d.ts +35 -0
- package/dist/data-source-query-lowering.d.ts.map +1 -0
- package/dist/data-source-query-lowering.js +104 -0
- package/dist/data-source-query-lowering.js.map +1 -0
- package/dist/date-time-filter-model.d.ts +20 -0
- package/dist/date-time-filter-model.d.ts.map +1 -0
- package/dist/date-time-filter-model.js +115 -0
- package/dist/date-time-filter-model.js.map +1 -0
- package/dist/document-badge-icons.d.ts +4 -0
- package/dist/document-badge-icons.d.ts.map +1 -0
- package/dist/document-badge-icons.js +4 -0
- package/dist/document-badge-icons.js.map +1 -0
- package/dist/document-module.d.ts +268 -0
- package/dist/document-module.d.ts.map +1 -0
- package/dist/document-module.js +347 -0
- package/dist/document-module.js.map +1 -0
- package/dist/document-summary-model.d.ts +2 -0
- package/dist/document-summary-model.d.ts.map +1 -0
- package/dist/document-summary-model.js +2 -0
- package/dist/document-summary-model.js.map +1 -0
- package/dist/document-workspace-chrome-projection.d.ts +18 -0
- package/dist/document-workspace-chrome-projection.d.ts.map +1 -0
- package/dist/document-workspace-chrome-projection.js +35 -0
- package/dist/document-workspace-chrome-projection.js.map +1 -0
- package/dist/document-workspace-surface-slots.d.ts +75 -0
- package/dist/document-workspace-surface-slots.d.ts.map +1 -0
- package/dist/document-workspace-surface-slots.js +268 -0
- package/dist/document-workspace-surface-slots.js.map +1 -0
- package/dist/endpoint-executor.d.ts +62 -0
- package/dist/endpoint-executor.d.ts.map +1 -0
- package/dist/endpoint-executor.js +35 -0
- package/dist/endpoint-executor.js.map +1 -0
- package/dist/field-display-resolution.d.ts +5 -0
- package/dist/field-display-resolution.d.ts.map +1 -0
- package/dist/field-display-resolution.js +50 -0
- package/dist/field-display-resolution.js.map +1 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +89 -0
- package/dist/index.js.map +1 -0
- package/dist/module.d.ts +48 -0
- package/dist/module.d.ts.map +1 -0
- package/dist/module.js +108 -0
- package/dist/module.js.map +1 -0
- package/dist/navigation-shell-frame-renderer-registry.d.ts +12 -0
- package/dist/navigation-shell-frame-renderer-registry.d.ts.map +1 -0
- package/dist/navigation-shell-frame-renderer-registry.js +29 -0
- package/dist/navigation-shell-frame-renderer-registry.js.map +1 -0
- package/dist/navigation-shell-layout-runtime.d.ts +29 -0
- package/dist/navigation-shell-layout-runtime.d.ts.map +1 -0
- package/dist/navigation-shell-layout-runtime.js +50 -0
- package/dist/navigation-shell-layout-runtime.js.map +1 -0
- package/dist/navigation-shell-region-component-registry.d.ts +96 -0
- package/dist/navigation-shell-region-component-registry.d.ts.map +1 -0
- package/dist/navigation-shell-region-component-registry.js +108 -0
- package/dist/navigation-shell-region-component-registry.js.map +1 -0
- package/dist/navigation-shell-runtime.d.ts +48 -0
- package/dist/navigation-shell-runtime.d.ts.map +1 -0
- package/dist/navigation-shell-runtime.js +457 -0
- package/dist/navigation-shell-runtime.js.map +1 -0
- package/dist/navigation-shell-slot-renderer-registry.d.ts +15 -0
- package/dist/navigation-shell-slot-renderer-registry.d.ts.map +1 -0
- package/dist/navigation-shell-slot-renderer-registry.js +48 -0
- package/dist/navigation-shell-slot-renderer-registry.js.map +1 -0
- package/dist/navigation.d.ts +84 -0
- package/dist/navigation.d.ts.map +1 -0
- package/dist/navigation.js +167 -0
- package/dist/navigation.js.map +1 -0
- package/dist/object-path.d.ts +23 -0
- package/dist/object-path.d.ts.map +1 -0
- package/dist/object-path.js +63 -0
- package/dist/object-path.js.map +1 -0
- package/dist/page-host-renderer-registry.d.ts +119 -0
- package/dist/page-host-renderer-registry.d.ts.map +1 -0
- package/dist/page-host-renderer-registry.js +305 -0
- package/dist/page-host-renderer-registry.js.map +1 -0
- package/dist/presentation-action-endpoint-request-projection.d.ts +23 -0
- package/dist/presentation-action-endpoint-request-projection.d.ts.map +1 -0
- package/dist/presentation-action-endpoint-request-projection.js +117 -0
- package/dist/presentation-action-endpoint-request-projection.js.map +1 -0
- package/dist/presentation-action-endpoint.d.ts +24 -0
- package/dist/presentation-action-endpoint.d.ts.map +1 -0
- package/dist/presentation-action-endpoint.js +56 -0
- package/dist/presentation-action-endpoint.js.map +1 -0
- package/dist/presentation-action-icons.d.ts +4 -0
- package/dist/presentation-action-icons.d.ts.map +1 -0
- package/dist/presentation-action-icons.js +4 -0
- package/dist/presentation-action-icons.js.map +1 -0
- package/dist/presentation-action-result-state.d.ts +48 -0
- package/dist/presentation-action-result-state.d.ts.map +1 -0
- package/dist/presentation-action-result-state.js +109 -0
- package/dist/presentation-action-result-state.js.map +1 -0
- package/dist/presentation-action-runtime-binding.d.ts +48 -0
- package/dist/presentation-action-runtime-binding.d.ts.map +1 -0
- package/dist/presentation-action-runtime-binding.js +52 -0
- package/dist/presentation-action-runtime-binding.js.map +1 -0
- package/dist/presentation-action-runtime-diagnostics.d.ts +18 -0
- package/dist/presentation-action-runtime-diagnostics.d.ts.map +1 -0
- package/dist/presentation-action-runtime-diagnostics.js +69 -0
- package/dist/presentation-action-runtime-diagnostics.js.map +1 -0
- package/dist/presentation-action-runtime-labels.d.ts +15 -0
- package/dist/presentation-action-runtime-labels.d.ts.map +1 -0
- package/dist/presentation-action-runtime-labels.js +28 -0
- package/dist/presentation-action-runtime-labels.js.map +1 -0
- package/dist/presentation-action-runtime-projection.d.ts +17 -0
- package/dist/presentation-action-runtime-projection.d.ts.map +1 -0
- package/dist/presentation-action-runtime-projection.js +31 -0
- package/dist/presentation-action-runtime-projection.js.map +1 -0
- package/dist/presentation-badge-resolution.d.ts +8 -0
- package/dist/presentation-badge-resolution.d.ts.map +1 -0
- package/dist/presentation-badge-resolution.js +73 -0
- package/dist/presentation-badge-resolution.js.map +1 -0
- package/dist/presentation-collection-pagination.d.ts +32 -0
- package/dist/presentation-collection-pagination.d.ts.map +1 -0
- package/dist/presentation-collection-pagination.js +275 -0
- package/dist/presentation-collection-pagination.js.map +1 -0
- package/dist/presentation-content-diagnostics.d.ts +17 -0
- package/dist/presentation-content-diagnostics.d.ts.map +1 -0
- package/dist/presentation-content-diagnostics.js +61 -0
- package/dist/presentation-content-diagnostics.js.map +1 -0
- package/dist/presentation-content-resolution.d.ts +9 -0
- package/dist/presentation-content-resolution.d.ts.map +1 -0
- package/dist/presentation-content-resolution.js +19 -0
- package/dist/presentation-content-resolution.js.map +1 -0
- package/dist/presentation-data-source-binding-model.d.ts +81 -0
- package/dist/presentation-data-source-binding-model.d.ts.map +1 -0
- package/dist/presentation-data-source-binding-model.js +56 -0
- package/dist/presentation-data-source-binding-model.js.map +1 -0
- package/dist/presentation-data-source-runtime.d.ts +62 -0
- package/dist/presentation-data-source-runtime.d.ts.map +1 -0
- package/dist/presentation-data-source-runtime.js +80 -0
- package/dist/presentation-data-source-runtime.js.map +1 -0
- package/dist/presentation-design-intent-diagnostics.d.ts +25 -0
- package/dist/presentation-design-intent-diagnostics.d.ts.map +1 -0
- package/dist/presentation-design-intent-diagnostics.js +55 -0
- package/dist/presentation-design-intent-diagnostics.js.map +1 -0
- package/dist/presentation-icon-diagnostics.d.ts +45 -0
- package/dist/presentation-icon-diagnostics.d.ts.map +1 -0
- package/dist/presentation-icon-diagnostics.js +235 -0
- package/dist/presentation-icon-diagnostics.js.map +1 -0
- package/dist/presentation-icon-registry.d.ts +36 -0
- package/dist/presentation-icon-registry.d.ts.map +1 -0
- package/dist/presentation-icon-registry.js +81 -0
- package/dist/presentation-icon-registry.js.map +1 -0
- package/dist/presentation-navigation-action-runtime-bindings.d.ts +13 -0
- package/dist/presentation-navigation-action-runtime-bindings.d.ts.map +1 -0
- package/dist/presentation-navigation-action-runtime-bindings.js +29 -0
- package/dist/presentation-navigation-action-runtime-bindings.js.map +1 -0
- package/dist/presentation-pagination.d.ts +98 -0
- package/dist/presentation-pagination.d.ts.map +1 -0
- package/dist/presentation-pagination.js +427 -0
- package/dist/presentation-pagination.js.map +1 -0
- package/dist/presentation-projection-coverage.d.ts +38 -0
- package/dist/presentation-projection-coverage.d.ts.map +1 -0
- package/dist/presentation-projection-coverage.js +2429 -0
- package/dist/presentation-projection-coverage.js.map +1 -0
- package/dist/presentation-projection-diagnostics.d.ts +33 -0
- package/dist/presentation-projection-diagnostics.d.ts.map +1 -0
- package/dist/presentation-projection-diagnostics.js +17 -0
- package/dist/presentation-projection-diagnostics.js.map +1 -0
- package/dist/presentation-projection-trace.d.ts +97 -0
- package/dist/presentation-projection-trace.d.ts.map +1 -0
- package/dist/presentation-projection-trace.js +110 -0
- package/dist/presentation-projection-trace.js.map +1 -0
- package/dist/presentation-query-form-state.d.ts +15 -0
- package/dist/presentation-query-form-state.d.ts.map +1 -0
- package/dist/presentation-query-form-state.js +20 -0
- package/dist/presentation-query-form-state.js.map +1 -0
- package/dist/presentation-renderer-registry.d.ts +86 -0
- package/dist/presentation-renderer-registry.d.ts.map +1 -0
- package/dist/presentation-renderer-registry.js +108 -0
- package/dist/presentation-renderer-registry.js.map +1 -0
- package/dist/presentation-semantics.d.ts +288 -0
- package/dist/presentation-semantics.d.ts.map +1 -0
- package/dist/presentation-semantics.js +560 -0
- package/dist/presentation-semantics.js.map +1 -0
- package/dist/presentation-standards.d.ts +8 -0
- package/dist/presentation-standards.d.ts.map +1 -0
- package/dist/presentation-standards.js +9 -0
- package/dist/presentation-standards.js.map +1 -0
- package/dist/presentation-test-selectors.d.ts +146 -0
- package/dist/presentation-test-selectors.d.ts.map +1 -0
- package/dist/presentation-test-selectors.js +113 -0
- package/dist/presentation-test-selectors.js.map +1 -0
- package/dist/presentation-value-formatting.d.ts +12 -0
- package/dist/presentation-value-formatting.d.ts.map +1 -0
- package/dist/presentation-value-formatting.js +33 -0
- package/dist/presentation-value-formatting.js.map +1 -0
- package/dist/presentation-value-resolution.d.ts +7 -0
- package/dist/presentation-value-resolution.d.ts.map +1 -0
- package/dist/presentation-value-resolution.js +69 -0
- package/dist/presentation-value-resolution.js.map +1 -0
- package/dist/presentation-view-tree.d.ts +6 -0
- package/dist/presentation-view-tree.d.ts.map +1 -0
- package/dist/presentation-view-tree.js +15 -0
- package/dist/presentation-view-tree.js.map +1 -0
- package/dist/process-task-model.d.ts +80 -0
- package/dist/process-task-model.d.ts.map +1 -0
- package/dist/process-task-model.js +52 -0
- package/dist/process-task-model.js.map +1 -0
- package/dist/process-task-projection.d.ts +46 -0
- package/dist/process-task-projection.d.ts.map +1 -0
- package/dist/process-task-projection.js +233 -0
- package/dist/process-task-projection.js.map +1 -0
- package/dist/projected-action-status-projection.d.ts +18 -0
- package/dist/projected-action-status-projection.d.ts.map +1 -0
- package/dist/projected-action-status-projection.js +19 -0
- package/dist/projected-action-status-projection.js.map +1 -0
- package/dist/projected-activity-state-model.d.ts +22 -0
- package/dist/projected-activity-state-model.d.ts.map +1 -0
- package/dist/projected-activity-state-model.js +87 -0
- package/dist/projected-activity-state-model.js.map +1 -0
- package/dist/projected-collection-action-runtime-bindings.d.ts +12 -0
- package/dist/projected-collection-action-runtime-bindings.d.ts.map +1 -0
- package/dist/projected-collection-action-runtime-bindings.js +37 -0
- package/dist/projected-collection-action-runtime-bindings.js.map +1 -0
- package/dist/projected-collection-action-runtime-diagnostics.d.ts +23 -0
- package/dist/projected-collection-action-runtime-diagnostics.d.ts.map +1 -0
- package/dist/projected-collection-action-runtime-diagnostics.js +168 -0
- package/dist/projected-collection-action-runtime-diagnostics.js.map +1 -0
- package/dist/projected-collection-runtime.d.ts +475 -0
- package/dist/projected-collection-runtime.d.ts.map +1 -0
- package/dist/projected-collection-runtime.js +832 -0
- package/dist/projected-collection-runtime.js.map +1 -0
- package/dist/projected-document-action-diagnostics.d.ts +16 -0
- package/dist/projected-document-action-diagnostics.d.ts.map +1 -0
- package/dist/projected-document-action-diagnostics.js +113 -0
- package/dist/projected-document-action-diagnostics.js.map +1 -0
- package/dist/projected-document-action-enablements.d.ts +25 -0
- package/dist/projected-document-action-enablements.d.ts.map +1 -0
- package/dist/projected-document-action-enablements.js +38 -0
- package/dist/projected-document-action-enablements.js.map +1 -0
- package/dist/projected-document-action-projection.d.ts +45 -0
- package/dist/projected-document-action-projection.d.ts.map +1 -0
- package/dist/projected-document-action-projection.js +201 -0
- package/dist/projected-document-action-projection.js.map +1 -0
- package/dist/projected-document-action-runtime-profile-diagnostics.d.ts +16 -0
- package/dist/projected-document-action-runtime-profile-diagnostics.d.ts.map +1 -0
- package/dist/projected-document-action-runtime-profile-diagnostics.js +168 -0
- package/dist/projected-document-action-runtime-profile-diagnostics.js.map +1 -0
- package/dist/projected-document-action-runtime-profile.d.ts +64 -0
- package/dist/projected-document-action-runtime-profile.d.ts.map +1 -0
- package/dist/projected-document-action-runtime-profile.js +33 -0
- package/dist/projected-document-action-runtime-profile.js.map +1 -0
- package/dist/projected-document-action-status-notice-diagnostics.d.ts +10 -0
- package/dist/projected-document-action-status-notice-diagnostics.d.ts.map +1 -0
- package/dist/projected-document-action-status-notice-diagnostics.js +64 -0
- package/dist/projected-document-action-status-notice-diagnostics.js.map +1 -0
- package/dist/projected-document-badge-formatting.d.ts +2 -0
- package/dist/projected-document-badge-formatting.d.ts.map +1 -0
- package/dist/projected-document-badge-formatting.js +7 -0
- package/dist/projected-document-badge-formatting.js.map +1 -0
- package/dist/projected-document-editor-model.d.ts +4 -0
- package/dist/projected-document-editor-model.d.ts.map +1 -0
- package/dist/projected-document-editor-model.js +2 -0
- package/dist/projected-document-editor-model.js.map +1 -0
- package/dist/projected-document-field-navigation.d.ts +72 -0
- package/dist/projected-document-field-navigation.d.ts.map +1 -0
- package/dist/projected-document-field-navigation.js +143 -0
- package/dist/projected-document-field-navigation.js.map +1 -0
- package/dist/projected-document-field-semantics.d.ts +5 -0
- package/dist/projected-document-field-semantics.d.ts.map +1 -0
- package/dist/projected-document-field-semantics.js +16 -0
- package/dist/projected-document-field-semantics.js.map +1 -0
- package/dist/projected-document-workspace-data-source-bindings.d.ts +69 -0
- package/dist/projected-document-workspace-data-source-bindings.d.ts.map +1 -0
- package/dist/projected-document-workspace-data-source-bindings.js +81 -0
- package/dist/projected-document-workspace-data-source-bindings.js.map +1 -0
- package/dist/projected-document-workspace-notice-diagnostics.d.ts +12 -0
- package/dist/projected-document-workspace-notice-diagnostics.d.ts.map +1 -0
- package/dist/projected-document-workspace-notice-diagnostics.js +13 -0
- package/dist/projected-document-workspace-notice-diagnostics.js.map +1 -0
- package/dist/projected-input-form-runtime.d.ts +62 -0
- package/dist/projected-input-form-runtime.d.ts.map +1 -0
- package/dist/projected-input-form-runtime.js +2 -0
- package/dist/projected-input-form-runtime.js.map +1 -0
- package/dist/projected-process-task-notice-diagnostics.d.ts +13 -0
- package/dist/projected-process-task-notice-diagnostics.d.ts.map +1 -0
- package/dist/projected-process-task-notice-diagnostics.js +170 -0
- package/dist/projected-process-task-notice-diagnostics.js.map +1 -0
- package/dist/projected-query-form-runtime.d.ts +46 -0
- package/dist/projected-query-form-runtime.d.ts.map +1 -0
- package/dist/projected-query-form-runtime.js +2 -0
- package/dist/projected-query-form-runtime.js.map +1 -0
- package/dist/prompt-document-preview-projection.d.ts +46 -0
- package/dist/prompt-document-preview-projection.d.ts.map +1 -0
- package/dist/prompt-document-preview-projection.js +173 -0
- package/dist/prompt-document-preview-projection.js.map +1 -0
- package/dist/prompt-icons.d.ts +4 -0
- package/dist/prompt-icons.d.ts.map +1 -0
- package/dist/prompt-icons.js +4 -0
- package/dist/prompt-icons.js.map +1 -0
- package/dist/prompt-status-message-resolution.d.ts +18 -0
- package/dist/prompt-status-message-resolution.d.ts.map +1 -0
- package/dist/prompt-status-message-resolution.js +83 -0
- package/dist/prompt-status-message-resolution.js.map +1 -0
- package/dist/query-form-lowering.d.ts +16 -0
- package/dist/query-form-lowering.d.ts.map +1 -0
- package/dist/query-form-lowering.js +38 -0
- package/dist/query-form-lowering.js.map +1 -0
- package/dist/query-form-url-state.d.ts +44 -0
- package/dist/query-form-url-state.d.ts.map +1 -0
- package/dist/query-form-url-state.js +197 -0
- package/dist/query-form-url-state.js.map +1 -0
- package/dist/query-offset-page.d.ts +13 -0
- package/dist/query-offset-page.d.ts.map +1 -0
- package/dist/query-offset-page.js +24 -0
- package/dist/query-offset-page.js.map +1 -0
- package/dist/relation-query-input-form-target.d.ts +10 -0
- package/dist/relation-query-input-form-target.d.ts.map +1 -0
- package/dist/relation-query-input-form-target.js +30 -0
- package/dist/relation-query-input-form-target.js.map +1 -0
- package/dist/scope-selection.d.ts +94 -0
- package/dist/scope-selection.d.ts.map +1 -0
- package/dist/scope-selection.js +95 -0
- package/dist/scope-selection.js.map +1 -0
- package/dist/target-bindings.d.ts +39 -0
- package/dist/target-bindings.d.ts.map +1 -0
- package/dist/target-bindings.js +40 -0
- package/dist/target-bindings.js.map +1 -0
- package/dist/view-chrome-content-diagnostics.d.ts +8 -0
- package/dist/view-chrome-content-diagnostics.d.ts.map +1 -0
- package/dist/view-chrome-content-diagnostics.js +84 -0
- package/dist/view-chrome-content-diagnostics.js.map +1 -0
- package/dist/view-chrome-icons.d.ts +12 -0
- package/dist/view-chrome-icons.d.ts.map +1 -0
- package/dist/view-chrome-icons.js +50 -0
- package/dist/view-chrome-icons.js.map +1 -0
- package/dist/view-chrome-slot-renderer-registry.d.ts +19 -0
- package/dist/view-chrome-slot-renderer-registry.d.ts.map +1 -0
- package/dist/view-chrome-slot-renderer-registry.js +62 -0
- package/dist/view-chrome-slot-renderer-registry.js.map +1 -0
- package/package.json +53 -0
- package/src/api-scope-request.ts +186 -0
- package/src/collection-chrome-icons.ts +89 -0
- package/src/collection-chrome-runtime.ts +151 -0
- package/src/collection-chrome-slot-renderer-registry.ts +227 -0
- package/src/collection-selection-state.ts +32 -0
- package/src/data-source-projection.ts +2149 -0
- package/src/data-source-query-lowering.ts +217 -0
- package/src/date-time-filter-model.ts +156 -0
- package/src/document-badge-icons.ts +3 -0
- package/src/document-module.ts +741 -0
- package/src/document-summary-model.ts +1 -0
- package/src/document-workspace-chrome-projection.ts +62 -0
- package/src/document-workspace-surface-slots.ts +458 -0
- package/src/endpoint-executor.ts +122 -0
- package/src/field-display-resolution.ts +99 -0
- package/src/index.ts +104 -0
- package/src/module.ts +281 -0
- package/src/navigation-shell-frame-renderer-registry.ts +65 -0
- package/src/navigation-shell-layout-runtime.ts +124 -0
- package/src/navigation-shell-region-component-registry.ts +242 -0
- package/src/navigation-shell-runtime.ts +579 -0
- package/src/navigation-shell-slot-renderer-registry.ts +94 -0
- package/src/navigation.ts +364 -0
- package/src/object-path.ts +99 -0
- package/src/page-host-renderer-registry.ts +615 -0
- package/src/presentation-action-endpoint-request-projection.ts +223 -0
- package/src/presentation-action-endpoint.ts +130 -0
- package/src/presentation-action-icons.ts +3 -0
- package/src/presentation-action-result-state.ts +189 -0
- package/src/presentation-action-runtime-binding.ts +177 -0
- package/src/presentation-action-runtime-diagnostics.ts +120 -0
- package/src/presentation-action-runtime-labels.ts +57 -0
- package/src/presentation-action-runtime-projection.ts +67 -0
- package/src/presentation-badge-resolution.ts +138 -0
- package/src/presentation-collection-pagination.ts +436 -0
- package/src/presentation-content-diagnostics.ts +121 -0
- package/src/presentation-content-resolution.ts +46 -0
- package/src/presentation-data-source-binding-model.ts +140 -0
- package/src/presentation-data-source-runtime.ts +190 -0
- package/src/presentation-design-intent-diagnostics.ts +104 -0
- package/src/presentation-icon-diagnostics.ts +368 -0
- package/src/presentation-icon-registry.ts +181 -0
- package/src/presentation-navigation-action-runtime-bindings.ts +54 -0
- package/src/presentation-pagination.ts +694 -0
- package/src/presentation-projection-coverage.ts +3257 -0
- package/src/presentation-projection-diagnostics.ts +71 -0
- package/src/presentation-projection-trace.ts +293 -0
- package/src/presentation-query-form-state.ts +54 -0
- package/src/presentation-renderer-registry.ts +269 -0
- package/src/presentation-semantics.ts +1028 -0
- package/src/presentation-standards.ts +14 -0
- package/src/presentation-test-selectors.ts +312 -0
- package/src/presentation-value-formatting.ts +65 -0
- package/src/presentation-value-resolution.ts +100 -0
- package/src/presentation-view-tree.ts +33 -0
- package/src/process-task-model.ts +158 -0
- package/src/process-task-projection.ts +398 -0
- package/src/projected-action-status-projection.ts +43 -0
- package/src/projected-activity-state-model.ts +123 -0
- package/src/projected-collection-action-runtime-bindings.ts +76 -0
- package/src/projected-collection-action-runtime-diagnostics.ts +289 -0
- package/src/projected-collection-runtime.ts +1772 -0
- package/src/projected-document-action-diagnostics.ts +196 -0
- package/src/projected-document-action-enablements.ts +99 -0
- package/src/projected-document-action-projection.ts +464 -0
- package/src/projected-document-action-runtime-profile-diagnostics.ts +250 -0
- package/src/projected-document-action-runtime-profile.ts +133 -0
- package/src/projected-document-action-status-notice-diagnostics.ts +116 -0
- package/src/projected-document-badge-formatting.ts +7 -0
- package/src/projected-document-editor-model.ts +7 -0
- package/src/projected-document-field-navigation.ts +300 -0
- package/src/projected-document-field-semantics.ts +27 -0
- package/src/projected-document-workspace-data-source-bindings.ts +182 -0
- package/src/projected-document-workspace-notice-diagnostics.ts +41 -0
- package/src/projected-input-form-runtime.ts +86 -0
- package/src/projected-process-task-notice-diagnostics.ts +283 -0
- package/src/projected-query-form-runtime.ts +62 -0
- package/src/prompt-document-preview-projection.ts +345 -0
- package/src/prompt-icons.ts +3 -0
- package/src/prompt-status-message-resolution.ts +158 -0
- package/src/query-form-lowering.ts +77 -0
- package/src/query-form-url-state.ts +346 -0
- package/src/query-offset-page.ts +50 -0
- package/src/relation-query-input-form-target.ts +61 -0
- package/src/scope-selection.ts +201 -0
- package/src/target-bindings.ts +123 -0
- package/src/view-chrome-content-diagnostics.ts +139 -0
- package/src/view-chrome-icons.ts +81 -0
- package/src/view-chrome-slot-renderer-registry.ts +128 -0
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import { pageHostComponentRoles, presentationBindingKinds, viewKindLabels, viewKinds, } from '@cohesivesystems/presentation-contracts';
|
|
2
|
+
import { getPresentationViewSemanticRole } from './presentation-semantics.js';
|
|
3
|
+
import { createPresentationEnumDiscriminator, resolvePresentationComponentBinding, } from './target-bindings.js';
|
|
4
|
+
export const presentationPageHostComponentRoles = pageHostComponentRoles;
|
|
5
|
+
/**
|
|
6
|
+
* Resolves a page-host renderer without rendering it.
|
|
7
|
+
*
|
|
8
|
+
* Resolution order is:
|
|
9
|
+
* semantic role, component role, view kind, component key, explicit id
|
|
10
|
+
* overrides, fallback. Id and component-key branches are treated as escape
|
|
11
|
+
* hatches by diagnostics.
|
|
12
|
+
*/
|
|
13
|
+
export function resolvePageHostRenderer({ componentKey, componentRole, componentSet, module, pageHost, registry, route, targetKind, }) {
|
|
14
|
+
const resolvedComponentKey = componentKey ?? null;
|
|
15
|
+
const resolvedComponentRole = componentRole ?? null;
|
|
16
|
+
const view = findPageHostView(module, pageHost);
|
|
17
|
+
const semanticRole = view ? getPresentationViewSemanticRole(view) : null;
|
|
18
|
+
const targetBinding = resolvePageHostTargetRendererBinding({
|
|
19
|
+
componentSet,
|
|
20
|
+
module,
|
|
21
|
+
pageHost,
|
|
22
|
+
route,
|
|
23
|
+
targetKind,
|
|
24
|
+
view,
|
|
25
|
+
});
|
|
26
|
+
const targetRendererKey = targetBinding?.rendererKey ?? null;
|
|
27
|
+
const targetComponentKey = targetBinding?.componentKey ?? null;
|
|
28
|
+
const targetComponentRole = targetBinding?.componentRole ?? null;
|
|
29
|
+
const defaultComponentRole = resolveDefaultPresentationPageHostComponentRole({
|
|
30
|
+
module,
|
|
31
|
+
pageHost,
|
|
32
|
+
view,
|
|
33
|
+
});
|
|
34
|
+
const effectiveComponentKey = resolvedComponentKey ?? targetComponentKey;
|
|
35
|
+
const effectiveComponentRole = resolvedComponentRole ?? targetComponentRole ?? defaultComponentRole;
|
|
36
|
+
const pageHostId = pageHost?.Id;
|
|
37
|
+
const routeId = route?.Id;
|
|
38
|
+
const workspaceId = pageHost?.Workspace?.WorkspaceId;
|
|
39
|
+
const viewId = pageHost?.View?.ViewId;
|
|
40
|
+
if (semanticRole) {
|
|
41
|
+
const renderer = registry.bySemanticRole?.[semanticRole];
|
|
42
|
+
if (renderer !== undefined && renderer !== null) {
|
|
43
|
+
return createResolution({
|
|
44
|
+
componentKey: effectiveComponentKey,
|
|
45
|
+
componentRole: effectiveComponentRole,
|
|
46
|
+
renderer,
|
|
47
|
+
rendererKey: targetRendererKey,
|
|
48
|
+
resolutionSource: 'semantic-role',
|
|
49
|
+
semanticRole,
|
|
50
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
51
|
+
view,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (effectiveComponentRole) {
|
|
56
|
+
const renderer = registry.byComponentRole?.[effectiveComponentRole];
|
|
57
|
+
if (renderer !== undefined && renderer !== null) {
|
|
58
|
+
return createResolution({
|
|
59
|
+
componentKey: effectiveComponentKey,
|
|
60
|
+
componentRole: effectiveComponentRole,
|
|
61
|
+
renderer,
|
|
62
|
+
rendererKey: targetRendererKey,
|
|
63
|
+
resolutionSource: 'component-role',
|
|
64
|
+
semanticRole,
|
|
65
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
66
|
+
view,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (view) {
|
|
71
|
+
const renderer = findPageHostViewKindRenderer(registry, view);
|
|
72
|
+
if (renderer !== undefined && renderer !== null) {
|
|
73
|
+
return createResolution({
|
|
74
|
+
componentKey: effectiveComponentKey,
|
|
75
|
+
componentRole: effectiveComponentRole,
|
|
76
|
+
renderer,
|
|
77
|
+
rendererKey: targetRendererKey,
|
|
78
|
+
resolutionSource: 'view-kind',
|
|
79
|
+
semanticRole,
|
|
80
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
81
|
+
view,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (effectiveComponentKey) {
|
|
86
|
+
const renderer = registry.byComponentKey?.[effectiveComponentKey];
|
|
87
|
+
if (renderer !== undefined && renderer !== null) {
|
|
88
|
+
return createResolution({
|
|
89
|
+
componentKey: effectiveComponentKey,
|
|
90
|
+
componentRole: effectiveComponentRole,
|
|
91
|
+
renderer,
|
|
92
|
+
rendererKey: targetRendererKey,
|
|
93
|
+
resolutionSource: 'component-key',
|
|
94
|
+
semanticRole,
|
|
95
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
96
|
+
view,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (pageHostId) {
|
|
101
|
+
const renderer = registry.byPageHostId?.[pageHostId];
|
|
102
|
+
if (renderer !== undefined && renderer !== null) {
|
|
103
|
+
return createResolution({
|
|
104
|
+
componentKey: effectiveComponentKey,
|
|
105
|
+
componentRole: effectiveComponentRole,
|
|
106
|
+
renderer,
|
|
107
|
+
rendererKey: targetRendererKey,
|
|
108
|
+
resolutionSource: 'page-host-id',
|
|
109
|
+
semanticRole,
|
|
110
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
111
|
+
view,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (routeId) {
|
|
116
|
+
const renderer = registry.byRouteId?.[routeId];
|
|
117
|
+
if (renderer !== undefined && renderer !== null) {
|
|
118
|
+
return createResolution({
|
|
119
|
+
componentKey: effectiveComponentKey,
|
|
120
|
+
componentRole: effectiveComponentRole,
|
|
121
|
+
renderer,
|
|
122
|
+
rendererKey: targetRendererKey,
|
|
123
|
+
resolutionSource: 'route-id',
|
|
124
|
+
semanticRole,
|
|
125
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
126
|
+
view,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (workspaceId) {
|
|
131
|
+
const renderer = registry.byWorkspaceId?.[workspaceId];
|
|
132
|
+
if (renderer !== undefined && renderer !== null) {
|
|
133
|
+
return createResolution({
|
|
134
|
+
componentKey: effectiveComponentKey,
|
|
135
|
+
componentRole: effectiveComponentRole,
|
|
136
|
+
renderer,
|
|
137
|
+
rendererKey: targetRendererKey,
|
|
138
|
+
resolutionSource: 'workspace-id',
|
|
139
|
+
semanticRole,
|
|
140
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
141
|
+
view,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (viewId) {
|
|
146
|
+
const renderer = registry.byViewId?.[viewId];
|
|
147
|
+
if (renderer !== undefined && renderer !== null) {
|
|
148
|
+
return createResolution({
|
|
149
|
+
componentKey: effectiveComponentKey,
|
|
150
|
+
componentRole: effectiveComponentRole,
|
|
151
|
+
renderer,
|
|
152
|
+
rendererKey: targetRendererKey,
|
|
153
|
+
resolutionSource: 'view-id',
|
|
154
|
+
semanticRole,
|
|
155
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
156
|
+
view,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (registry.fallback !== undefined && registry.fallback !== null) {
|
|
161
|
+
return createResolution({
|
|
162
|
+
componentKey: effectiveComponentKey,
|
|
163
|
+
componentRole: effectiveComponentRole,
|
|
164
|
+
renderer: registry.fallback,
|
|
165
|
+
rendererKey: targetRendererKey,
|
|
166
|
+
resolutionSource: 'fallback',
|
|
167
|
+
semanticRole,
|
|
168
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
169
|
+
view,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
return createResolution({
|
|
173
|
+
componentKey: effectiveComponentKey,
|
|
174
|
+
componentRole: effectiveComponentRole,
|
|
175
|
+
renderer: null,
|
|
176
|
+
rendererKey: targetRendererKey,
|
|
177
|
+
resolutionSource: null,
|
|
178
|
+
semanticRole,
|
|
179
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
180
|
+
view,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Infers the standard component role for a page host from its workspace and
|
|
185
|
+
* root view semantics. Target bindings can override this when a host needs a
|
|
186
|
+
* more specific frontend interpretation.
|
|
187
|
+
*/
|
|
188
|
+
export function resolveDefaultPresentationPageHostComponentRole({ module, pageHost, view, }) {
|
|
189
|
+
const workspaceRef = pageHost?.Workspace;
|
|
190
|
+
if (workspaceRef) {
|
|
191
|
+
const workspace = module.Workspaces?.find((candidate) => candidate.Id === workspaceRef.WorkspaceId);
|
|
192
|
+
return workspace?.DocumentProfiles && workspace.DocumentProfiles.length > 0
|
|
193
|
+
? presentationPageHostComponentRoles.documentWorkspace
|
|
194
|
+
: presentationPageHostComponentRoles.routedSurface;
|
|
195
|
+
}
|
|
196
|
+
if (!view) {
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
const semanticRole = getPresentationViewSemanticRole(view);
|
|
200
|
+
if (semanticRole === 'surface-root' || semanticRole === 'surface-section') {
|
|
201
|
+
return presentationPageHostComponentRoles.routedSurface;
|
|
202
|
+
}
|
|
203
|
+
return viewKindComponentRoles[String(view.Kind)] ?? null;
|
|
204
|
+
}
|
|
205
|
+
function findPageHostView(module, pageHost) {
|
|
206
|
+
const viewId = pageHost?.View?.ViewId;
|
|
207
|
+
if (!viewId) {
|
|
208
|
+
return null;
|
|
209
|
+
}
|
|
210
|
+
return module.Views?.find((view) => view.Id === viewId) ?? null;
|
|
211
|
+
}
|
|
212
|
+
function findPageHostViewKindRenderer(registry, view) {
|
|
213
|
+
const keys = new Set([String(view.Kind)]);
|
|
214
|
+
const label = viewKindLabels[view.Kind];
|
|
215
|
+
if (label) {
|
|
216
|
+
keys.add(label);
|
|
217
|
+
keys.add(label.charAt(0).toLowerCase() + label.slice(1));
|
|
218
|
+
}
|
|
219
|
+
for (const key of keys) {
|
|
220
|
+
const renderer = registry.byViewKind?.[key];
|
|
221
|
+
if (renderer !== undefined && renderer !== null) {
|
|
222
|
+
return renderer;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
return undefined;
|
|
226
|
+
}
|
|
227
|
+
function resolvePageHostTargetRendererBinding({ componentSet, module, pageHost, route, targetKind, view, }) {
|
|
228
|
+
if (!module.Targets) {
|
|
229
|
+
return null;
|
|
230
|
+
}
|
|
231
|
+
const targetBindingModule = { Targets: module.Targets };
|
|
232
|
+
const candidates = [
|
|
233
|
+
pageHost ? { id: pageHost.Id, source: 'target-page-host-binding' } : null,
|
|
234
|
+
route ? { id: route.Id, source: 'target-route-binding' } : null,
|
|
235
|
+
pageHost?.Workspace?.WorkspaceId
|
|
236
|
+
? {
|
|
237
|
+
id: pageHost.Workspace.WorkspaceId,
|
|
238
|
+
source: 'target-workspace-binding',
|
|
239
|
+
}
|
|
240
|
+
: null,
|
|
241
|
+
view ? { id: view.Id, source: 'target-view-binding' } : null,
|
|
242
|
+
].filter((candidate) => candidate !== null);
|
|
243
|
+
for (const candidate of candidates) {
|
|
244
|
+
const resolvedBinding = resolvePresentationComponentBinding(targetBindingModule, {
|
|
245
|
+
bindingKind: createPresentationEnumDiscriminator(presentationBindingKinds, 'pageHostComponent', 'PageHostComponent'),
|
|
246
|
+
componentSet,
|
|
247
|
+
id: candidate.id,
|
|
248
|
+
routeId: route?.Id,
|
|
249
|
+
targetKind,
|
|
250
|
+
});
|
|
251
|
+
const binding = resolvedBinding.binding;
|
|
252
|
+
if (!binding) {
|
|
253
|
+
continue;
|
|
254
|
+
}
|
|
255
|
+
const rendererKey = readPageHostRendererKey(binding);
|
|
256
|
+
if (resolvedBinding.componentRole || resolvedBinding.componentKey || rendererKey) {
|
|
257
|
+
return {
|
|
258
|
+
componentKey: resolvedBinding.componentKey,
|
|
259
|
+
componentRole: resolvedBinding.componentRole,
|
|
260
|
+
rendererKey,
|
|
261
|
+
source: candidate.source,
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
function createResolution(resolution) {
|
|
268
|
+
return resolution;
|
|
269
|
+
}
|
|
270
|
+
const viewKindComponentRoles = createViewKindComponentRoles();
|
|
271
|
+
function createViewKindComponentRoles() {
|
|
272
|
+
const keys = {};
|
|
273
|
+
addViewKindComponentRole(keys, viewKinds.collection, 'Collection', presentationPageHostComponentRoles.routedSurface);
|
|
274
|
+
addViewKindComponentRole(keys, viewKinds.dashboard, 'Dashboard', presentationPageHostComponentRoles.routedSurface);
|
|
275
|
+
addViewKindComponentRole(keys, viewKinds.documentWorkspace, 'DocumentWorkspace', presentationPageHostComponentRoles.documentWorkspace);
|
|
276
|
+
addViewKindComponentRole(keys, viewKinds.form, 'Form', presentationPageHostComponentRoles.routedSurface);
|
|
277
|
+
addViewKindComponentRole(keys, viewKinds.graph, 'Graph', presentationPageHostComponentRoles.routedSurface);
|
|
278
|
+
addViewKindComponentRole(keys, viewKinds.page, 'Page', presentationPageHostComponentRoles.routedSurface);
|
|
279
|
+
addViewKindComponentRole(keys, viewKinds.prompt, 'Prompt', presentationPageHostComponentRoles.routedSurface);
|
|
280
|
+
addViewKindComponentRole(keys, viewKinds.recordDetail, 'RecordDetail', presentationPageHostComponentRoles.routedSurface);
|
|
281
|
+
addViewKindComponentRole(keys, viewKinds.search, 'Search', presentationPageHostComponentRoles.routedSurface);
|
|
282
|
+
addViewKindComponentRole(keys, viewKinds.surface, 'Surface', presentationPageHostComponentRoles.routedSurface);
|
|
283
|
+
addViewKindComponentRole(keys, viewKinds.tabbedSurface, 'TabbedSurface', presentationPageHostComponentRoles.routedSurface);
|
|
284
|
+
addViewKindComponentRole(keys, viewKinds.timeline, 'Timeline', presentationPageHostComponentRoles.routedSurface);
|
|
285
|
+
return keys;
|
|
286
|
+
}
|
|
287
|
+
function addViewKindComponentRole(keys, numericValue, label, componentRole) {
|
|
288
|
+
keys[String(numericValue)] = componentRole;
|
|
289
|
+
keys[label] = componentRole;
|
|
290
|
+
keys[label.charAt(0).toLowerCase() + label.slice(1)] = componentRole;
|
|
291
|
+
}
|
|
292
|
+
function readPageHostRendererKey(binding) {
|
|
293
|
+
const options = binding.Options;
|
|
294
|
+
if (!isRecord(options)) {
|
|
295
|
+
return null;
|
|
296
|
+
}
|
|
297
|
+
const rendererKey = options.rendererKey ?? options.RendererKey;
|
|
298
|
+
return typeof rendererKey === 'string' && rendererKey.length > 0
|
|
299
|
+
? rendererKey
|
|
300
|
+
: null;
|
|
301
|
+
}
|
|
302
|
+
function isRecord(value) {
|
|
303
|
+
return typeof value === 'object' && value !== null;
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=page-host-renderer-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-host-renderer-registry.js","sourceRoot":"","sources":["../src/page-host-renderer-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ActionDefinition } from './module.js';
|
|
2
|
+
import type { EndpointExecutionRequest } from './endpoint-executor.js';
|
|
3
|
+
export type PresentationActionEndpointExecutionRequest<TBody = unknown, TQuery = unknown> = EndpointExecutionRequest<TBody, TQuery>;
|
|
4
|
+
export interface PresentationActionEndpointRequestProjectionOptions {
|
|
5
|
+
readonly action: ActionDefinition | null;
|
|
6
|
+
readonly dataSourceId?: string | null;
|
|
7
|
+
readonly endpointId: string;
|
|
8
|
+
readonly sources: Readonly<Record<string, unknown>>;
|
|
9
|
+
}
|
|
10
|
+
export interface RequiredPresentationActionEndpointRequestProjectionOptions extends PresentationActionEndpointRequestProjectionOptions {
|
|
11
|
+
readonly actionId: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Lowers a Presentation IR action endpoint request projection into the concrete
|
|
15
|
+
* endpoint request envelope used by the app transport.
|
|
16
|
+
*/
|
|
17
|
+
export declare function projectPresentationActionEndpointRequest({ action, dataSourceId, endpointId, sources, }: PresentationActionEndpointRequestProjectionOptions): PresentationActionEndpointExecutionRequest | null;
|
|
18
|
+
/**
|
|
19
|
+
* Projects a required action endpoint request, failing early when the action
|
|
20
|
+
* lacks an endpoint request projection for the selected endpoint/data source.
|
|
21
|
+
*/
|
|
22
|
+
export declare function projectRequiredPresentationActionEndpointRequest({ action, actionId, dataSourceId, endpointId, sources, }: RequiredPresentationActionEndpointRequestProjectionOptions): PresentationActionEndpointExecutionRequest;
|
|
23
|
+
//# sourceMappingURL=presentation-action-endpoint-request-projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-endpoint-request-projection.d.ts","sourceRoot":"","sources":["../src/presentation-action-endpoint-request-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAIjB,MAAM,UAAU,CAAA;AAMjB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,MAAM,0CAA0C,CACpD,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,OAAO,IACd,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAE3C,MAAM,WAAW,kDAAkD;IACjE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACpD;AAED,MAAM,WAAW,0DACf,SAAQ,kDAAkD;IAC1D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED;;;GAGG;AACH,wBAAgB,wCAAwC,CAAC,EACvD,MAAM,EACN,YAAY,EACZ,UAAU,EACV,OAAO,GACR,EAAE,kDAAkD,GAAG,0CAA0C,GAAG,IAAI,CAcxG;AAED;;;GAGG;AACH,wBAAgB,gDAAgD,CAAC,EAC/D,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,OAAO,GACR,EAAE,0DAA0D,GAAG,0CAA0C,CAczG"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { presentationValueKinds } from '@cohesivesystems/presentation-contracts';
|
|
2
|
+
import { readObjectPath, writeObjectPath, } from './object-path.js';
|
|
3
|
+
/**
|
|
4
|
+
* Lowers a Presentation IR action endpoint request projection into the concrete
|
|
5
|
+
* endpoint request envelope used by the app transport.
|
|
6
|
+
*/
|
|
7
|
+
export function projectPresentationActionEndpointRequest({ action, dataSourceId, endpointId, sources, }) {
|
|
8
|
+
const projection = selectActionEndpointRequestProjection({
|
|
9
|
+
action,
|
|
10
|
+
dataSourceId,
|
|
11
|
+
endpointId,
|
|
12
|
+
});
|
|
13
|
+
if (!projection) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
body: projectRequestBody(projection.BodyFields, sources),
|
|
18
|
+
routeParameters: projectRouteParameters(projection.RouteParameters, sources),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Projects a required action endpoint request, failing early when the action
|
|
23
|
+
* lacks an endpoint request projection for the selected endpoint/data source.
|
|
24
|
+
*/
|
|
25
|
+
export function projectRequiredPresentationActionEndpointRequest({ action, actionId, dataSourceId, endpointId, sources, }) {
|
|
26
|
+
const request = projectPresentationActionEndpointRequest({
|
|
27
|
+
action,
|
|
28
|
+
dataSourceId,
|
|
29
|
+
endpointId,
|
|
30
|
+
sources,
|
|
31
|
+
});
|
|
32
|
+
if (!request) {
|
|
33
|
+
throw new Error(`No endpoint request projection is registered for action '${actionId}' and endpoint '${endpointId}'.`);
|
|
34
|
+
}
|
|
35
|
+
return request;
|
|
36
|
+
}
|
|
37
|
+
function selectActionEndpointRequestProjection({ action, dataSourceId, endpointId, }) {
|
|
38
|
+
const endpointRequests = action?.EndpointRequests ?? [];
|
|
39
|
+
const endpointMatches = endpointRequests.filter((candidate) => candidate.EndpointId === endpointId);
|
|
40
|
+
if (!dataSourceId && endpointMatches.length === 1) {
|
|
41
|
+
return endpointMatches[0];
|
|
42
|
+
}
|
|
43
|
+
return endpointRequests.find((candidate) => candidate.EndpointId === endpointId && candidate.DataSourceId === dataSourceId) ??
|
|
44
|
+
endpointRequests.find((candidate) => candidate.EndpointId === endpointId && !candidate.DataSourceId) ??
|
|
45
|
+
endpointRequests.find((candidate) => !candidate.EndpointId && candidate.DataSourceId === dataSourceId) ??
|
|
46
|
+
endpointRequests.find((candidate) => !candidate.EndpointId && !candidate.DataSourceId) ??
|
|
47
|
+
null;
|
|
48
|
+
}
|
|
49
|
+
function projectRouteParameters(bindings, sources) {
|
|
50
|
+
return Object.fromEntries(bindings.flatMap((binding) => {
|
|
51
|
+
const value = resolvePresentationActionRequestValue(binding.Source, sources) ??
|
|
52
|
+
resolveFallbackRouteParameterValue(binding.TargetPath, sources);
|
|
53
|
+
if ((value === null || value === undefined) && binding.OmitWhenNull) {
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
return [[binding.TargetPath, value == null ? value : String(value)]];
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
function resolveFallbackRouteParameterValue(targetPath, sources) {
|
|
60
|
+
if (targetPath !== 'id') {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
return readObjectPath(sources, 'route.id') ?? readObjectPath(sources, 'resource.Id');
|
|
64
|
+
}
|
|
65
|
+
function projectRequestBody(bindings, sources) {
|
|
66
|
+
if (bindings.length === 0) {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
const body = {};
|
|
70
|
+
for (const binding of bindings) {
|
|
71
|
+
const resolvedValue = resolvePresentationActionRequestValue(binding.Source, sources);
|
|
72
|
+
const value = resolvedValue === undefined
|
|
73
|
+
? resolveFallbackRequestBodyValue(binding.TargetPath, sources)
|
|
74
|
+
: resolvedValue;
|
|
75
|
+
if ((value === null || value === undefined) && binding.OmitWhenNull) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
if (value === undefined && isDocumentRequestBodyTarget(binding.TargetPath)) {
|
|
79
|
+
throw new Error(`Unable to project request body field '${binding.TargetPath}' because its source did not resolve.`);
|
|
80
|
+
}
|
|
81
|
+
writeObjectPath(body, binding.TargetPath, value);
|
|
82
|
+
}
|
|
83
|
+
return body;
|
|
84
|
+
}
|
|
85
|
+
function resolveFallbackRequestBodyValue(targetPath, sources) {
|
|
86
|
+
if (!isDocumentRequestBodyTarget(targetPath)) {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
const documentValue = readObjectPath(sources, 'document.value');
|
|
90
|
+
if (documentValue !== undefined) {
|
|
91
|
+
return documentValue;
|
|
92
|
+
}
|
|
93
|
+
return readObjectPath(sources, 'document.Document');
|
|
94
|
+
}
|
|
95
|
+
function isDocumentRequestBodyTarget(targetPath) {
|
|
96
|
+
return targetPath.toLowerCase() === 'document';
|
|
97
|
+
}
|
|
98
|
+
function resolvePresentationActionRequestValue(value, sources) {
|
|
99
|
+
if (isPresentationValueKind(value.Kind, presentationValueKinds.literal, 'literal')) {
|
|
100
|
+
return value.Literal;
|
|
101
|
+
}
|
|
102
|
+
if (isPresentationValueKind(value.Kind, presentationValueKinds.field, 'field')) {
|
|
103
|
+
return value.Field ? readObjectPath(sources, value.Field) : undefined;
|
|
104
|
+
}
|
|
105
|
+
if (isPresentationValueKind(value.Kind, presentationValueKinds.state, 'state')) {
|
|
106
|
+
return value.StateId ? sources[value.StateId] : undefined;
|
|
107
|
+
}
|
|
108
|
+
if (isPresentationValueKind(value.Kind, presentationValueKinds.expression, 'expression')) {
|
|
109
|
+
throw new Error('Action endpoint request expression values are not supported yet.');
|
|
110
|
+
}
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
function isPresentationValueKind(value, numericKind, stringKind) {
|
|
114
|
+
return value === numericKind ||
|
|
115
|
+
(typeof value === 'string' && value.toLowerCase() === stringKind.toLowerCase());
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=presentation-action-endpoint-request-projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-endpoint-request-projection.js","sourceRoot":"","sources":["../src/presentation-action-endpoint-request-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type PresentationBindingDefinition, type PresentationModuleDefinition } from './module.js';
|
|
2
|
+
import { type PresentationEnumDiscriminator } from './target-bindings.js';
|
|
3
|
+
interface PresentationTargetBindingProjection {
|
|
4
|
+
readonly Bindings: readonly PresentationBindingDefinition[];
|
|
5
|
+
readonly ComponentSet?: string | null;
|
|
6
|
+
readonly Target: string | number;
|
|
7
|
+
}
|
|
8
|
+
export interface ResolvePresentationActionEndpointBindingOptions {
|
|
9
|
+
readonly actionId: string;
|
|
10
|
+
readonly componentSet?: string | null;
|
|
11
|
+
readonly dataSourceId?: string | null;
|
|
12
|
+
readonly module: Pick<PresentationModuleDefinition, 'Actions'> & {
|
|
13
|
+
readonly Targets?: readonly PresentationTargetBindingProjection[];
|
|
14
|
+
} | null;
|
|
15
|
+
readonly targetKind?: PresentationEnumDiscriminator | null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Resolves the concrete endpoint that realizes a semantic action for the
|
|
19
|
+
* current projection target. Target bindings can specialize an action by data
|
|
20
|
+
* source while the action definition remains semantic and reusable.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolvePresentationActionEndpointBinding({ actionId, componentSet, dataSourceId, module, targetKind, }: ResolvePresentationActionEndpointBindingOptions): PresentationBindingDefinition | null;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=presentation-action-endpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-endpoint.d.ts","sourceRoot":"","sources":["../src/presentation-action-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EAClC,MAAM,UAAU,CAAA;AACjB,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,mBAAmB,CAAA;AAM1B,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS,6BAA6B,EAAE,CAAA;IAC3D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,+CAA+C;IAC9D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,4BAA4B,EAAE,SAAS,CAAC,GAAG;QAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,mCAAmC,EAAE,CAAA;KAClE,GAAG,IAAI,CAAA;IACR,QAAQ,CAAC,UAAU,CAAC,EAAE,6BAA6B,GAAG,IAAI,CAAA;CAC3D;AAED;;;;GAIG;AACH,wBAAgB,wCAAwC,CAAC,EACvD,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,UAA2F,GAC5F,EAAE,+CAA+C,GAAG,6BAA6B,GAAG,IAAI,CAexF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { findPresentationAction, } from './module.js';
|
|
2
|
+
import { createPresentationEnumDiscriminator, matchesPresentationEnum, } from './target-bindings.js';
|
|
3
|
+
import { presentationBindingKinds, presentationTargetKinds, } from '@cohesivesystems/presentation-contracts';
|
|
4
|
+
/**
|
|
5
|
+
* Resolves the concrete endpoint that realizes a semantic action for the
|
|
6
|
+
* current projection target. Target bindings can specialize an action by data
|
|
7
|
+
* source while the action definition remains semantic and reusable.
|
|
8
|
+
*/
|
|
9
|
+
export function resolvePresentationActionEndpointBinding({ actionId, componentSet, dataSourceId, module, targetKind = createPresentationEnumDiscriminator(presentationTargetKinds, 'react', 'React'), }) {
|
|
10
|
+
if (!module) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return (resolveActionEndpointTargetBinding({
|
|
14
|
+
actionId,
|
|
15
|
+
componentSet,
|
|
16
|
+
dataSourceId,
|
|
17
|
+
module,
|
|
18
|
+
targetKind,
|
|
19
|
+
}) ??
|
|
20
|
+
resolveActionDefinitionEndpointBinding(module, actionId) ??
|
|
21
|
+
null);
|
|
22
|
+
}
|
|
23
|
+
function resolveActionEndpointTargetBinding({ actionId, componentSet, dataSourceId, module, targetKind, }) {
|
|
24
|
+
const targets = resolveCandidateTargets(module?.Targets ?? [], {
|
|
25
|
+
componentSet,
|
|
26
|
+
targetKind,
|
|
27
|
+
});
|
|
28
|
+
const bindings = targets
|
|
29
|
+
.flatMap((target) => target.Bindings)
|
|
30
|
+
.filter((binding) => matchesPresentationEnum(binding.Kind, actionEndpointBindingKind) &&
|
|
31
|
+
binding.Id === actionId);
|
|
32
|
+
return (bindings.find((binding) => dataSourceId && binding.DataSourceId === dataSourceId) ??
|
|
33
|
+
bindings.find((binding) => !binding.DataSourceId) ??
|
|
34
|
+
bindings[0] ??
|
|
35
|
+
null);
|
|
36
|
+
}
|
|
37
|
+
function resolveActionDefinitionEndpointBinding(module, actionId) {
|
|
38
|
+
const binding = findPresentationAction(module, actionId)?.Binding ?? null;
|
|
39
|
+
return binding && isEndpointBinding(binding) ? binding : null;
|
|
40
|
+
}
|
|
41
|
+
function resolveCandidateTargets(targets, { componentSet, targetKind, }) {
|
|
42
|
+
const filteredTargets = targets.filter((target) => {
|
|
43
|
+
if (targetKind && !matchesPresentationEnum(target.Target, targetKind)) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
return !componentSet || target.ComponentSet === componentSet;
|
|
47
|
+
});
|
|
48
|
+
return filteredTargets.length > 0 ? filteredTargets : targets;
|
|
49
|
+
}
|
|
50
|
+
function isEndpointBinding(binding) {
|
|
51
|
+
return (matchesPresentationEnum(binding.Kind, actionEndpointBindingKind) ||
|
|
52
|
+
matchesPresentationEnum(binding.Kind, apiEndpointBindingKind));
|
|
53
|
+
}
|
|
54
|
+
const actionEndpointBindingKind = createPresentationEnumDiscriminator(presentationBindingKinds, 'actionEndpoint', 'ActionEndpoint');
|
|
55
|
+
const apiEndpointBindingKind = createPresentationEnumDiscriminator(presentationBindingKinds, 'apiEndpoint', 'ApiEndpoint');
|
|
56
|
+
//# sourceMappingURL=presentation-action-endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-endpoint.js","sourceRoot":"","sources":["../src/presentation-action-endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-icons.d.ts","sourceRoot":"","sources":["../src/presentation-action-icons.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;CAE5B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-icons.js","sourceRoot":"","sources":["../src/presentation-action-icons.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,OAAO,EAAE,gBAAgB;CACjB,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type ActionResultPolicy, type ActionResultStateWriteDefinition } from '@cohesivesystems/presentation-contracts';
|
|
2
|
+
/**
|
|
3
|
+
* Route-scoped presentation state keyed by semantic data-source id.
|
|
4
|
+
*
|
|
5
|
+
* Values in this map are action outputs, or values derived from action outputs,
|
|
6
|
+
* that should be projected as local data-source values until the route scope is
|
|
7
|
+
* reset.
|
|
8
|
+
*/
|
|
9
|
+
export type PresentationActionResultStateValues = Readonly<Record<string, unknown>>;
|
|
10
|
+
/**
|
|
11
|
+
* Inputs for applying explicit action-result state writes.
|
|
12
|
+
*/
|
|
13
|
+
export interface ApplyPresentationActionResultStateWritesOptions {
|
|
14
|
+
/** Action endpoint response used as the source value for each write. */
|
|
15
|
+
readonly result: unknown;
|
|
16
|
+
/** Current route-scoped action-result state. */
|
|
17
|
+
readonly state: PresentationActionResultStateValues;
|
|
18
|
+
/** State-write declarations to apply. */
|
|
19
|
+
readonly writes?: readonly ActionResultStateWriteDefinition[] | null;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Inputs for applying the state-write policy declared by an action result.
|
|
23
|
+
*/
|
|
24
|
+
export interface ApplyPresentationActionResultPolicyStateWritesOptions {
|
|
25
|
+
/** Action result policy that declares state writes, when one is present. */
|
|
26
|
+
readonly policy?: ActionResultPolicy | null;
|
|
27
|
+
/** Action endpoint response used as the source value for each policy write. */
|
|
28
|
+
readonly result: unknown;
|
|
29
|
+
/** Current route-scoped action-result state. */
|
|
30
|
+
readonly state: PresentationActionResultStateValues;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Applies the state writes declared by an action result policy.
|
|
34
|
+
*
|
|
35
|
+
* The returned state preserves object identity when the policy has no writes,
|
|
36
|
+
* which lets React callers avoid unnecessary rebinding work.
|
|
37
|
+
*/
|
|
38
|
+
export declare function applyPresentationActionResultPolicyStateWrites({ policy, result, state, }: ApplyPresentationActionResultPolicyStateWritesOptions): Readonly<Record<string, unknown>>;
|
|
39
|
+
/**
|
|
40
|
+
* Applies backend-declared action response writes to route-local presentation
|
|
41
|
+
* data-source state.
|
|
42
|
+
*
|
|
43
|
+
* Each write targets a semantic data-source id and reads either the full action
|
|
44
|
+
* response or a dot-separated response path. The function returns a new state
|
|
45
|
+
* object only when at least one valid write is applied.
|
|
46
|
+
*/
|
|
47
|
+
export declare function applyPresentationActionResultStateWrites({ result, state, writes, }: ApplyPresentationActionResultStateWritesOptions): PresentationActionResultStateValues;
|
|
48
|
+
//# sourceMappingURL=presentation-action-result-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-result-state.d.ts","sourceRoot":"","sources":["../src/presentation-action-result-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,gCAAgC,EAEtC,MAAM,yCAAyC,CAAA;AAMhD;;;;;;GAMG;AACH,MAAM,MAAM,mCAAmC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAEnF;;GAEG;AACH,MAAM,WAAW,+CAA+C;IAC9D,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IAExB,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,mCAAmC,CAAA;IAEnD,yCAAyC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,gCAAgC,EAAE,GAAG,IAAI,CAAA;CACrE;AAED;;GAEG;AACH,MAAM,WAAW,qDAAqD;IACpE,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAE3C,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IAExB,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,mCAAmC,CAAA;CACpD;AAED;;;;;GAKG;AACH,wBAAgB,8CAA8C,CAAC,EAC7D,MAAM,EACN,MAAM,EACN,KAAK,GACN,EAAE,qDAAqD,qCAMvD;AAED;;;;;;;GAOG;AACH,wBAAgB,wCAAwC,CAAC,EACvD,MAAM,EACN,KAAK,EACL,MAAM,GACP,EAAE,+CAA+C,GAAG,mCAAmC,CAgBvF"}
|