@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,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Frontend realization strategies for semantic presentation data sources.
|
|
3
|
+
* These are projection/runtime binding kinds, not backend IR data-source kinds.
|
|
4
|
+
*/
|
|
5
|
+
export const presentationDataSourceBindingKinds = {
|
|
6
|
+
/**
|
|
7
|
+
* Realizes a data source through TanStack Query so React owns fetch lifecycle,
|
|
8
|
+
* caching, pending/error state, and refetch behavior.
|
|
9
|
+
*/
|
|
10
|
+
tanstackQuery: 'tanstack-query',
|
|
11
|
+
/**
|
|
12
|
+
* Realizes a data source from already-available local/runtime data without
|
|
13
|
+
* invoking a query adapter.
|
|
14
|
+
*/
|
|
15
|
+
localValue: 'local-value',
|
|
16
|
+
} as const
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Declares whether a presentation data source can resolve in the current
|
|
20
|
+
* authorization context.
|
|
21
|
+
*/
|
|
22
|
+
export type PresentationDataSourceAuthorizationRequirement =
|
|
23
|
+
| { readonly kind: 'none' }
|
|
24
|
+
| {
|
|
25
|
+
readonly blockedLabel?: string
|
|
26
|
+
readonly isAuthorized: boolean
|
|
27
|
+
readonly kind: 'required'
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Small constructors for keeping data source authorization declarations explicit
|
|
32
|
+
* at the binding site.
|
|
33
|
+
*/
|
|
34
|
+
export const presentationDataSourceAuthorization = {
|
|
35
|
+
none: (): PresentationDataSourceAuthorizationRequirement => ({ kind: 'none' }),
|
|
36
|
+
required: ({
|
|
37
|
+
blockedLabel,
|
|
38
|
+
isAuthorized,
|
|
39
|
+
}: {
|
|
40
|
+
readonly blockedLabel?: string
|
|
41
|
+
readonly isAuthorized: boolean
|
|
42
|
+
}): PresentationDataSourceAuthorizationRequirement => ({
|
|
43
|
+
blockedLabel,
|
|
44
|
+
isAuthorized,
|
|
45
|
+
kind: 'required',
|
|
46
|
+
}),
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Declarative binding from a semantic presentation data source id to a concrete
|
|
51
|
+
* frontend source. Query bindings currently use TanStack Query.
|
|
52
|
+
*/
|
|
53
|
+
export type PresentationDataSourceBinding =
|
|
54
|
+
| PresentationLocalValueDataSourceBinding
|
|
55
|
+
| PresentationTanStackQueryDataSourceBinding
|
|
56
|
+
|
|
57
|
+
export interface PresentationDataSourceBindingBase {
|
|
58
|
+
readonly authorization: PresentationDataSourceAuthorizationRequirement
|
|
59
|
+
readonly blockedLabel?: string
|
|
60
|
+
readonly dataSourceId: string
|
|
61
|
+
readonly emptyMessage?: string
|
|
62
|
+
readonly pendingLabel?: string
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface PresentationLocalValueDataSourceBinding
|
|
66
|
+
extends PresentationDataSourceBindingBase {
|
|
67
|
+
readonly data: unknown
|
|
68
|
+
readonly error?: unknown
|
|
69
|
+
readonly isFetching?: boolean
|
|
70
|
+
readonly isPending?: boolean
|
|
71
|
+
readonly kind: typeof presentationDataSourceBindingKinds.localValue
|
|
72
|
+
readonly refetch?: () => Promise<unknown> | unknown
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface PresentationTanStackQueryDataSourceBinding
|
|
76
|
+
extends PresentationDataSourceBindingBase {
|
|
77
|
+
readonly enabled?: boolean
|
|
78
|
+
readonly fallbackData?: unknown
|
|
79
|
+
readonly kind: typeof presentationDataSourceBindingKinds.tanstackQuery
|
|
80
|
+
readonly queryFn: () => Promise<unknown>
|
|
81
|
+
readonly queryKey: readonly unknown[]
|
|
82
|
+
readonly refetchInterval?: number | false
|
|
83
|
+
readonly retry?: boolean | number
|
|
84
|
+
readonly staleTime?: number
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export type PresentationLocalValueDataSourceBindingInput = Omit<
|
|
88
|
+
PresentationLocalValueDataSourceBinding,
|
|
89
|
+
'kind'
|
|
90
|
+
>
|
|
91
|
+
|
|
92
|
+
export type PresentationTanStackQueryDataSourceBindingInput = Omit<
|
|
93
|
+
PresentationTanStackQueryDataSourceBinding,
|
|
94
|
+
'kind'
|
|
95
|
+
>
|
|
96
|
+
|
|
97
|
+
export const presentationDataSourceBindings = {
|
|
98
|
+
localValue: (
|
|
99
|
+
binding: PresentationLocalValueDataSourceBindingInput,
|
|
100
|
+
): PresentationLocalValueDataSourceBinding => ({
|
|
101
|
+
...binding,
|
|
102
|
+
kind: presentationDataSourceBindingKinds.localValue,
|
|
103
|
+
}),
|
|
104
|
+
tanstackQuery: (
|
|
105
|
+
binding: PresentationTanStackQueryDataSourceBindingInput,
|
|
106
|
+
): PresentationTanStackQueryDataSourceBinding => ({
|
|
107
|
+
...binding,
|
|
108
|
+
kind: presentationDataSourceBindingKinds.tanstackQuery,
|
|
109
|
+
}),
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export interface DataSourceAuthorizationState {
|
|
113
|
+
readonly blockedLabel?: string
|
|
114
|
+
readonly isBlocked: boolean
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export function resolveDataSourceAuthorization(
|
|
118
|
+
binding: PresentationDataSourceBindingBase,
|
|
119
|
+
): DataSourceAuthorizationState {
|
|
120
|
+
if (binding.authorization.kind === 'required' && !binding.authorization.isAuthorized) {
|
|
121
|
+
return {
|
|
122
|
+
blockedLabel: binding.authorization.blockedLabel ?? binding.blockedLabel,
|
|
123
|
+
isBlocked: true,
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return {
|
|
128
|
+
blockedLabel:
|
|
129
|
+
binding.authorization.kind === 'required'
|
|
130
|
+
? binding.authorization.blockedLabel ?? binding.blockedLabel
|
|
131
|
+
: binding.blockedLabel,
|
|
132
|
+
isBlocked: false,
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export function isTanStackQueryBinding(
|
|
137
|
+
binding: PresentationDataSourceBinding,
|
|
138
|
+
): binding is PresentationTanStackQueryDataSourceBinding {
|
|
139
|
+
return binding.kind === presentationDataSourceBindingKinds.tanstackQuery
|
|
140
|
+
}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
DataSourceDefinition,
|
|
3
|
+
ViewDefinition,
|
|
4
|
+
} from './module'
|
|
5
|
+
import {
|
|
6
|
+
readObjectPath,
|
|
7
|
+
} from './object-path'
|
|
8
|
+
import {
|
|
9
|
+
createQueryActivityState,
|
|
10
|
+
type ProjectedActivityState,
|
|
11
|
+
} from './projected-activity-state-model'
|
|
12
|
+
import {
|
|
13
|
+
getPresentationViewProjectedDataSourceIds,
|
|
14
|
+
} from './presentation-semantics'
|
|
15
|
+
import {
|
|
16
|
+
resolveCollectionChromePrimaryDataSourceId,
|
|
17
|
+
} from './collection-chrome-runtime'
|
|
18
|
+
|
|
19
|
+
export {
|
|
20
|
+
readObjectPath,
|
|
21
|
+
readObjectProperty,
|
|
22
|
+
} from './object-path'
|
|
23
|
+
|
|
24
|
+
export interface PresentationDataSourceState<TData = unknown> {
|
|
25
|
+
readonly blockedLabel?: string
|
|
26
|
+
readonly data?: TData
|
|
27
|
+
readonly definition?: DataSourceDefinition | null
|
|
28
|
+
readonly emptyMessage?: string
|
|
29
|
+
readonly error?: unknown
|
|
30
|
+
readonly isBlocked?: boolean
|
|
31
|
+
readonly isFetching?: boolean
|
|
32
|
+
readonly isPending?: boolean
|
|
33
|
+
readonly pendingLabel?: string
|
|
34
|
+
readonly refetch?: () => Promise<unknown> | unknown
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export type PresentationDataSourceStateMap = Readonly<Record<string, PresentationDataSourceState>>
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Resolves presentation data sources from their semantic identifiers without
|
|
41
|
+
* flattening the state map into an ad hoc component data context.
|
|
42
|
+
*/
|
|
43
|
+
export interface PresentationDataSourceResolver {
|
|
44
|
+
/**
|
|
45
|
+
* Bound runtime state keyed by semantic presentation data source id.
|
|
46
|
+
*/
|
|
47
|
+
readonly dataSources: PresentationDataSourceStateMap
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Reads the raw data payload for a data source.
|
|
51
|
+
*/
|
|
52
|
+
readonly read: <TData = unknown>(dataSourceId: string) => TData | undefined
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Reads a nested value from a data source payload using a dot-separated field path.
|
|
56
|
+
*/
|
|
57
|
+
readonly readPath: (dataSourceId: string, fieldPath?: string | null) => unknown
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Resolves the full runtime state for a data source, including activity and refetch metadata.
|
|
61
|
+
*/
|
|
62
|
+
readonly resolve: <TData = unknown>(dataSourceId: string) => PresentationDataSourceState<TData> | undefined
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Resolves all data source states declared by a view subject and explicit data source ids.
|
|
66
|
+
*/
|
|
67
|
+
readonly resolveViewDataSources: (view: Pick<ViewDefinition, 'Collection' | 'DataSourceIds' | 'Subject'>) => readonly PresentationDataSourceState[]
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Resolves the primary data source state for a view, preferring the view subject source.
|
|
71
|
+
*/
|
|
72
|
+
readonly resolveViewPrimary: <TData = unknown>(view: Pick<ViewDefinition, 'Collection' | 'DataSourceIds' | 'Subject'>) => PresentationDataSourceState<TData> | undefined
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Creates a stable semantic resolver over a bound presentation data source map.
|
|
77
|
+
*/
|
|
78
|
+
export function createPresentationDataSourceResolver(dataSources: PresentationDataSourceStateMap): PresentationDataSourceResolver {
|
|
79
|
+
return {
|
|
80
|
+
dataSources,
|
|
81
|
+
read<TData = unknown>(dataSourceId: string) {
|
|
82
|
+
return dataSources[dataSourceId]?.data as TData | undefined
|
|
83
|
+
},
|
|
84
|
+
readPath(dataSourceId: string, fieldPath?: string | null) {
|
|
85
|
+
return readObjectPath(dataSources[dataSourceId]?.data, fieldPath ?? '')
|
|
86
|
+
},
|
|
87
|
+
resolve<TData = unknown>(dataSourceId: string) {
|
|
88
|
+
return dataSources[dataSourceId] as PresentationDataSourceState<TData> | undefined
|
|
89
|
+
},
|
|
90
|
+
resolveViewDataSources(view: Pick<ViewDefinition, 'Collection' | 'DataSourceIds' | 'Subject'>) {
|
|
91
|
+
return resolvePresentationViewDataSourceIds(view)
|
|
92
|
+
.map((dataSourceId) => dataSources[dataSourceId])
|
|
93
|
+
.filter((state): state is PresentationDataSourceState => Boolean(state))
|
|
94
|
+
},
|
|
95
|
+
resolveViewPrimary<TData = unknown>(
|
|
96
|
+
view: Pick<ViewDefinition, 'Collection' | 'DataSourceIds' | 'Subject'>,
|
|
97
|
+
) {
|
|
98
|
+
const dataSourceId = resolvePresentationViewPrimaryDataSourceId(view)
|
|
99
|
+
return dataSourceId
|
|
100
|
+
? (dataSources[dataSourceId] as PresentationDataSourceState<TData> | undefined)
|
|
101
|
+
: undefined
|
|
102
|
+
},
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export function createPresentationViewActivityState({
|
|
107
|
+
blockedLabel = 'Attach an authenticated context to load this view.',
|
|
108
|
+
dataSourceResolver,
|
|
109
|
+
pendingLabel = 'Loading view data...',
|
|
110
|
+
view,
|
|
111
|
+
}: {
|
|
112
|
+
readonly blockedLabel?: string
|
|
113
|
+
readonly dataSourceResolver: PresentationDataSourceResolver
|
|
114
|
+
readonly pendingLabel?: string
|
|
115
|
+
readonly view: ViewDefinition
|
|
116
|
+
}): ProjectedActivityState {
|
|
117
|
+
const states = dataSourceResolver.resolveViewDataSources(view)
|
|
118
|
+
const blockedState = states.find((state) => state.isBlocked)
|
|
119
|
+
const pendingState = states.find((state) => state.isPending)
|
|
120
|
+
const errorState = states.find((state) => state.error)
|
|
121
|
+
|
|
122
|
+
return createQueryActivityState({
|
|
123
|
+
blockedLabel: blockedState?.blockedLabel ?? blockedLabel,
|
|
124
|
+
error: errorState?.error,
|
|
125
|
+
isBlocked: Boolean(blockedState),
|
|
126
|
+
isPending: Boolean(pendingState),
|
|
127
|
+
pendingLabel: pendingState?.pendingLabel ?? pendingLabel,
|
|
128
|
+
})
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export function isPresentationViewFetching(
|
|
132
|
+
view: ViewDefinition,
|
|
133
|
+
dataSourceResolver: PresentationDataSourceResolver,
|
|
134
|
+
) {
|
|
135
|
+
return resolvePresentationViewDataSourceIds(view).some(
|
|
136
|
+
(dataSourceId) => dataSourceResolver.resolve(dataSourceId)?.isFetching,
|
|
137
|
+
)
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export function readPresentationDataSourceItems<TItem extends object = object>(
|
|
141
|
+
state: PresentationDataSourceState | null | undefined,
|
|
142
|
+
): readonly TItem[] {
|
|
143
|
+
const data = state?.data
|
|
144
|
+
if (Array.isArray(data)) {
|
|
145
|
+
return data as readonly TItem[]
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
if (data && typeof data === 'object') {
|
|
149
|
+
const items = (data as { readonly Items?: unknown }).Items
|
|
150
|
+
if (Array.isArray(items)) {
|
|
151
|
+
return items as readonly TItem[]
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
return []
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export async function refreshPresentationDataSources(
|
|
159
|
+
dataSourceResolver: PresentationDataSourceResolver,
|
|
160
|
+
dataSourceIds: readonly string[],
|
|
161
|
+
) {
|
|
162
|
+
const uniqueDataSourceIds = Array.from(new Set(dataSourceIds))
|
|
163
|
+
await Promise.all(
|
|
164
|
+
uniqueDataSourceIds.map((dataSourceId) =>
|
|
165
|
+
Promise.resolve(dataSourceResolver.resolve(dataSourceId)?.refetch?.()),
|
|
166
|
+
),
|
|
167
|
+
)
|
|
168
|
+
return undefined
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export function resolvePresentationViewDataSourceIds(
|
|
172
|
+
view: Pick<ViewDefinition, 'Collection' | 'DataSourceIds' | 'Subject'>,
|
|
173
|
+
) {
|
|
174
|
+
return getPresentationViewProjectedDataSourceIds(view)
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export function resolvePresentationViewPrimaryDataSourceId(
|
|
178
|
+
view: Pick<ViewDefinition, 'Collection' | 'DataSourceIds' | 'Subject'>,
|
|
179
|
+
) {
|
|
180
|
+
return view.Subject.DataSourceId ??
|
|
181
|
+
resolvePresentationViewCollectionPrimarySlotDataSourceId(view) ??
|
|
182
|
+
view.DataSourceIds[0] ??
|
|
183
|
+
null
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
function resolvePresentationViewCollectionPrimarySlotDataSourceId(
|
|
187
|
+
view: Pick<ViewDefinition, 'Collection'>,
|
|
188
|
+
) {
|
|
189
|
+
return resolveCollectionChromePrimaryDataSourceId(view.Collection)
|
|
190
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createPresentationProjectionDiagnostic,
|
|
3
|
+
type PresentationProjectionDiagnostic,
|
|
4
|
+
} from './presentation-projection-diagnostics'
|
|
5
|
+
import type {
|
|
6
|
+
DesignIntent,
|
|
7
|
+
} from '@cohesivesystems/presentation-contracts'
|
|
8
|
+
|
|
9
|
+
export const presentationDesignIntentFieldNames = [
|
|
10
|
+
'Role',
|
|
11
|
+
'Variant',
|
|
12
|
+
'Tone',
|
|
13
|
+
'Density',
|
|
14
|
+
'Size',
|
|
15
|
+
'Layout',
|
|
16
|
+
] as const
|
|
17
|
+
|
|
18
|
+
export type PresentationDesignIntentFieldName =
|
|
19
|
+
(typeof presentationDesignIntentFieldNames)[number]
|
|
20
|
+
|
|
21
|
+
export interface ProjectPresentationDesignIntentDiagnosticsOptions {
|
|
22
|
+
readonly design: DesignIntent | null | undefined
|
|
23
|
+
readonly ignoredFields: readonly PresentationDesignIntentFieldName[]
|
|
24
|
+
readonly interpretedFields: readonly PresentationDesignIntentFieldName[]
|
|
25
|
+
readonly message: string
|
|
26
|
+
readonly semanticInputs?: readonly string[]
|
|
27
|
+
readonly source: string
|
|
28
|
+
readonly subject: {
|
|
29
|
+
readonly id: string
|
|
30
|
+
readonly kind: string
|
|
31
|
+
readonly name?: string | null
|
|
32
|
+
}
|
|
33
|
+
readonly suggestedNextStep?: string
|
|
34
|
+
readonly target: string
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Reports which design-intent fields a frontend interpreter currently consumes
|
|
39
|
+
* and which declared fields remain TODOs for the active target.
|
|
40
|
+
*/
|
|
41
|
+
export function projectPresentationDesignIntentDiagnostics({
|
|
42
|
+
design,
|
|
43
|
+
ignoredFields,
|
|
44
|
+
interpretedFields,
|
|
45
|
+
message,
|
|
46
|
+
semanticInputs = [],
|
|
47
|
+
source,
|
|
48
|
+
subject,
|
|
49
|
+
suggestedNextStep =
|
|
50
|
+
'Extend the design interpreter for these fields or remove the unused design intent.',
|
|
51
|
+
target,
|
|
52
|
+
}: ProjectPresentationDesignIntentDiagnosticsOptions): readonly PresentationProjectionDiagnostic[] {
|
|
53
|
+
if (!design) {
|
|
54
|
+
return []
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const declaredFields = presentationDesignIntentFieldNames.filter((field) =>
|
|
58
|
+
isPresentationDesignIntentFieldDeclared(design, field))
|
|
59
|
+
const declaredIgnoredFields = ignoredFields.filter((field) =>
|
|
60
|
+
declaredFields.includes(field))
|
|
61
|
+
if (declaredIgnoredFields.length === 0) {
|
|
62
|
+
return []
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const declaredInterpretedFields = interpretedFields.filter((field) =>
|
|
66
|
+
declaredFields.includes(field))
|
|
67
|
+
|
|
68
|
+
return [
|
|
69
|
+
createPresentationProjectionDiagnostic({
|
|
70
|
+
category: 'incomplete-projection',
|
|
71
|
+
details: {
|
|
72
|
+
ignoredFields: declaredIgnoredFields.map((field) => `Design.${field}`),
|
|
73
|
+
ignoredValues: Object.fromEntries(
|
|
74
|
+
declaredIgnoredFields.map((field) => [
|
|
75
|
+
field,
|
|
76
|
+
design[field],
|
|
77
|
+
]),
|
|
78
|
+
),
|
|
79
|
+
interpretedFields: [
|
|
80
|
+
...semanticInputs,
|
|
81
|
+
...declaredInterpretedFields.map((field) => `Design.${field}`),
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
id: `presentation-design.${subject.id}.design-intent.partial`,
|
|
85
|
+
interpretation: {
|
|
86
|
+
status: 'projected',
|
|
87
|
+
target,
|
|
88
|
+
},
|
|
89
|
+
message,
|
|
90
|
+
severity: 'info',
|
|
91
|
+
source,
|
|
92
|
+
subject,
|
|
93
|
+
suggestedNextStep,
|
|
94
|
+
}),
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function isPresentationDesignIntentFieldDeclared(
|
|
99
|
+
design: DesignIntent,
|
|
100
|
+
field: PresentationDesignIntentFieldName,
|
|
101
|
+
) {
|
|
102
|
+
const value = design[field]
|
|
103
|
+
return value !== null && value !== undefined && value !== ''
|
|
104
|
+
}
|