@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,80 @@
|
|
|
1
|
+
import { readObjectPath, } from './object-path.js';
|
|
2
|
+
import { createQueryActivityState, } from './projected-activity-state-model.js';
|
|
3
|
+
import { getPresentationViewProjectedDataSourceIds, } from './presentation-semantics.js';
|
|
4
|
+
import { resolveCollectionChromePrimaryDataSourceId, } from './collection-chrome-runtime.js';
|
|
5
|
+
export { readObjectPath, readObjectProperty, } from './object-path.js';
|
|
6
|
+
/**
|
|
7
|
+
* Creates a stable semantic resolver over a bound presentation data source map.
|
|
8
|
+
*/
|
|
9
|
+
export function createPresentationDataSourceResolver(dataSources) {
|
|
10
|
+
return {
|
|
11
|
+
dataSources,
|
|
12
|
+
read(dataSourceId) {
|
|
13
|
+
return dataSources[dataSourceId]?.data;
|
|
14
|
+
},
|
|
15
|
+
readPath(dataSourceId, fieldPath) {
|
|
16
|
+
return readObjectPath(dataSources[dataSourceId]?.data, fieldPath ?? '');
|
|
17
|
+
},
|
|
18
|
+
resolve(dataSourceId) {
|
|
19
|
+
return dataSources[dataSourceId];
|
|
20
|
+
},
|
|
21
|
+
resolveViewDataSources(view) {
|
|
22
|
+
return resolvePresentationViewDataSourceIds(view)
|
|
23
|
+
.map((dataSourceId) => dataSources[dataSourceId])
|
|
24
|
+
.filter((state) => Boolean(state));
|
|
25
|
+
},
|
|
26
|
+
resolveViewPrimary(view) {
|
|
27
|
+
const dataSourceId = resolvePresentationViewPrimaryDataSourceId(view);
|
|
28
|
+
return dataSourceId
|
|
29
|
+
? dataSources[dataSourceId]
|
|
30
|
+
: undefined;
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function createPresentationViewActivityState({ blockedLabel = 'Attach an authenticated context to load this view.', dataSourceResolver, pendingLabel = 'Loading view data...', view, }) {
|
|
35
|
+
const states = dataSourceResolver.resolveViewDataSources(view);
|
|
36
|
+
const blockedState = states.find((state) => state.isBlocked);
|
|
37
|
+
const pendingState = states.find((state) => state.isPending);
|
|
38
|
+
const errorState = states.find((state) => state.error);
|
|
39
|
+
return createQueryActivityState({
|
|
40
|
+
blockedLabel: blockedState?.blockedLabel ?? blockedLabel,
|
|
41
|
+
error: errorState?.error,
|
|
42
|
+
isBlocked: Boolean(blockedState),
|
|
43
|
+
isPending: Boolean(pendingState),
|
|
44
|
+
pendingLabel: pendingState?.pendingLabel ?? pendingLabel,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
export function isPresentationViewFetching(view, dataSourceResolver) {
|
|
48
|
+
return resolvePresentationViewDataSourceIds(view).some((dataSourceId) => dataSourceResolver.resolve(dataSourceId)?.isFetching);
|
|
49
|
+
}
|
|
50
|
+
export function readPresentationDataSourceItems(state) {
|
|
51
|
+
const data = state?.data;
|
|
52
|
+
if (Array.isArray(data)) {
|
|
53
|
+
return data;
|
|
54
|
+
}
|
|
55
|
+
if (data && typeof data === 'object') {
|
|
56
|
+
const items = data.Items;
|
|
57
|
+
if (Array.isArray(items)) {
|
|
58
|
+
return items;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
export async function refreshPresentationDataSources(dataSourceResolver, dataSourceIds) {
|
|
64
|
+
const uniqueDataSourceIds = Array.from(new Set(dataSourceIds));
|
|
65
|
+
await Promise.all(uniqueDataSourceIds.map((dataSourceId) => Promise.resolve(dataSourceResolver.resolve(dataSourceId)?.refetch?.())));
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
export function resolvePresentationViewDataSourceIds(view) {
|
|
69
|
+
return getPresentationViewProjectedDataSourceIds(view);
|
|
70
|
+
}
|
|
71
|
+
export function resolvePresentationViewPrimaryDataSourceId(view) {
|
|
72
|
+
return view.Subject.DataSourceId ??
|
|
73
|
+
resolvePresentationViewCollectionPrimarySlotDataSourceId(view) ??
|
|
74
|
+
view.DataSourceIds[0] ??
|
|
75
|
+
null;
|
|
76
|
+
}
|
|
77
|
+
function resolvePresentationViewCollectionPrimarySlotDataSourceId(view) {
|
|
78
|
+
return resolveCollectionChromePrimaryDataSourceId(view.Collection);
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=presentation-data-source-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-data-source-runtime.js","sourceRoot":"","sources":["../src/presentation-data-source-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type PresentationProjectionDiagnostic } from './presentation-projection-diagnostics.js';
|
|
2
|
+
import type { DesignIntent } from '@cohesivesystems/presentation-contracts';
|
|
3
|
+
export declare const presentationDesignIntentFieldNames: readonly ["Role", "Variant", "Tone", "Density", "Size", "Layout"];
|
|
4
|
+
export type PresentationDesignIntentFieldName = (typeof presentationDesignIntentFieldNames)[number];
|
|
5
|
+
export interface ProjectPresentationDesignIntentDiagnosticsOptions {
|
|
6
|
+
readonly design: DesignIntent | null | undefined;
|
|
7
|
+
readonly ignoredFields: readonly PresentationDesignIntentFieldName[];
|
|
8
|
+
readonly interpretedFields: readonly PresentationDesignIntentFieldName[];
|
|
9
|
+
readonly message: string;
|
|
10
|
+
readonly semanticInputs?: readonly string[];
|
|
11
|
+
readonly source: string;
|
|
12
|
+
readonly subject: {
|
|
13
|
+
readonly id: string;
|
|
14
|
+
readonly kind: string;
|
|
15
|
+
readonly name?: string | null;
|
|
16
|
+
};
|
|
17
|
+
readonly suggestedNextStep?: string;
|
|
18
|
+
readonly target: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Reports which design-intent fields a frontend interpreter currently consumes
|
|
22
|
+
* and which declared fields remain TODOs for the active target.
|
|
23
|
+
*/
|
|
24
|
+
export declare function projectPresentationDesignIntentDiagnostics({ design, ignoredFields, interpretedFields, message, semanticInputs, source, subject, suggestedNextStep, target, }: ProjectPresentationDesignIntentDiagnosticsOptions): readonly PresentationProjectionDiagnostic[];
|
|
25
|
+
//# sourceMappingURL=presentation-design-intent-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-design-intent-diagnostics.d.ts","sourceRoot":"","sources":["../src/presentation-design-intent-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EACV,YAAY,EACb,MAAM,yCAAyC,CAAA;AAEhD,eAAO,MAAM,kCAAkC,mEAOrC,CAAA;AAEV,MAAM,MAAM,iCAAiC,GAC3C,CAAC,OAAO,kCAAkC,CAAC,CAAC,MAAM,CAAC,CAAA;AAErD,MAAM,WAAW,iDAAiD;IAChE,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,aAAa,EAAE,SAAS,iCAAiC,EAAE,CAAA;IACpE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,iCAAiC,EAAE,CAAA;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAC9B,CAAA;IACD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED;;;GAGG;AACH,wBAAgB,0CAA0C,CAAC,EACzD,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,cAAmB,EACnB,MAAM,EACN,OAAO,EACP,iBACsF,EACtF,MAAM,GACP,EAAE,iDAAiD,GAAG,SAAS,gCAAgC,EAAE,CA4CjG"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { createPresentationProjectionDiagnostic, } from './presentation-projection-diagnostics.js';
|
|
2
|
+
export const presentationDesignIntentFieldNames = [
|
|
3
|
+
'Role',
|
|
4
|
+
'Variant',
|
|
5
|
+
'Tone',
|
|
6
|
+
'Density',
|
|
7
|
+
'Size',
|
|
8
|
+
'Layout',
|
|
9
|
+
];
|
|
10
|
+
/**
|
|
11
|
+
* Reports which design-intent fields a frontend interpreter currently consumes
|
|
12
|
+
* and which declared fields remain TODOs for the active target.
|
|
13
|
+
*/
|
|
14
|
+
export function projectPresentationDesignIntentDiagnostics({ design, ignoredFields, interpretedFields, message, semanticInputs = [], source, subject, suggestedNextStep = 'Extend the design interpreter for these fields or remove the unused design intent.', target, }) {
|
|
15
|
+
if (!design) {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
const declaredFields = presentationDesignIntentFieldNames.filter((field) => isPresentationDesignIntentFieldDeclared(design, field));
|
|
19
|
+
const declaredIgnoredFields = ignoredFields.filter((field) => declaredFields.includes(field));
|
|
20
|
+
if (declaredIgnoredFields.length === 0) {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
const declaredInterpretedFields = interpretedFields.filter((field) => declaredFields.includes(field));
|
|
24
|
+
return [
|
|
25
|
+
createPresentationProjectionDiagnostic({
|
|
26
|
+
category: 'incomplete-projection',
|
|
27
|
+
details: {
|
|
28
|
+
ignoredFields: declaredIgnoredFields.map((field) => `Design.${field}`),
|
|
29
|
+
ignoredValues: Object.fromEntries(declaredIgnoredFields.map((field) => [
|
|
30
|
+
field,
|
|
31
|
+
design[field],
|
|
32
|
+
])),
|
|
33
|
+
interpretedFields: [
|
|
34
|
+
...semanticInputs,
|
|
35
|
+
...declaredInterpretedFields.map((field) => `Design.${field}`),
|
|
36
|
+
],
|
|
37
|
+
},
|
|
38
|
+
id: `presentation-design.${subject.id}.design-intent.partial`,
|
|
39
|
+
interpretation: {
|
|
40
|
+
status: 'projected',
|
|
41
|
+
target,
|
|
42
|
+
},
|
|
43
|
+
message,
|
|
44
|
+
severity: 'info',
|
|
45
|
+
source,
|
|
46
|
+
subject,
|
|
47
|
+
suggestedNextStep,
|
|
48
|
+
}),
|
|
49
|
+
];
|
|
50
|
+
}
|
|
51
|
+
function isPresentationDesignIntentFieldDeclared(design, field) {
|
|
52
|
+
const value = design[field];
|
|
53
|
+
return value !== null && value !== undefined && value !== '';
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=presentation-design-intent-diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-design-intent-diagnostics.js","sourceRoot":"","sources":["../src/presentation-design-intent-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sCAAsC,GAEvC,MAAM,uCAAuC,CAAA;AAK9C,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,MAAM;IACN,SAAS;IACT,MAAM;IACN,SAAS;IACT,MAAM;IACN,QAAQ;CACA,CAAA;AAqBV;;;GAGG;AACH,MAAM,UAAU,0CAA0C,CAAC,EACzD,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,cAAc,GAAG,EAAE,EACnB,MAAM,EACN,OAAO,EACP,iBAAiB,GACf,oFAAoF,EACtF,MAAM,GAC4C;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,cAAc,GAAG,kCAAkC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACzE,uCAAuC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IACzD,MAAM,qBAAqB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3D,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IACjC,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACnE,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAEjC,OAAO;QACL,sCAAsC,CAAC;YACrC,QAAQ,EAAE,uBAAuB;YACjC,OAAO,EAAE;gBACP,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC;gBACtE,aAAa,EAAE,MAAM,CAAC,WAAW,CAC/B,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBACnC,KAAK;oBACL,MAAM,CAAC,KAAK,CAAC;iBACd,CAAC,CACH;gBACD,iBAAiB,EAAE;oBACjB,GAAG,cAAc;oBACjB,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC;iBAC/D;aACF;YACD,EAAE,EAAE,uBAAuB,OAAO,CAAC,EAAE,wBAAwB;YAC7D,cAAc,EAAE;gBACd,MAAM,EAAE,WAAW;gBACnB,MAAM;aACP;YACD,OAAO;YACP,QAAQ,EAAE,MAAM;YAChB,MAAM;YACN,OAAO;YACP,iBAAiB;SAClB,CAAC;KACH,CAAA;AACH,CAAC;AAED,SAAS,uCAAuC,CAC9C,MAAoB,EACpB,KAAwC;IAExC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3B,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAA;AAC9D,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type PresentationIconModuleProjection, type PresentationIconRegistry } from './presentation-icon-registry.js';
|
|
2
|
+
import { type PresentationProjectionDiagnostic } from './presentation-projection-diagnostics.js';
|
|
3
|
+
export interface PresentationActionIconPlacement {
|
|
4
|
+
readonly ActionId: string;
|
|
5
|
+
readonly Icon?: string | null;
|
|
6
|
+
readonly Label?: string | null;
|
|
7
|
+
readonly Region?: string | null;
|
|
8
|
+
}
|
|
9
|
+
export interface PresentationIconDiagnosticSubject {
|
|
10
|
+
readonly details?: Readonly<Record<string, unknown>>;
|
|
11
|
+
readonly icon: string | null | undefined;
|
|
12
|
+
readonly id: string;
|
|
13
|
+
readonly kind: string;
|
|
14
|
+
readonly label?: string | null;
|
|
15
|
+
}
|
|
16
|
+
export interface ProjectPresentationIconDiagnosticsOptions<TSubject extends PresentationIconDiagnosticSubject> {
|
|
17
|
+
readonly componentSet?: string;
|
|
18
|
+
readonly icons: readonly TSubject[];
|
|
19
|
+
readonly module?: PresentationIconModuleProjection | null;
|
|
20
|
+
readonly registry?: PresentationIconRegistry<TSubject> | null;
|
|
21
|
+
readonly source: string;
|
|
22
|
+
readonly surfaceId?: string | null;
|
|
23
|
+
readonly surfaceName?: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface ProjectPresentationActionIconDiagnosticsOptions<TPlacement extends PresentationActionIconPlacement> {
|
|
26
|
+
readonly actionPlacements: readonly TPlacement[];
|
|
27
|
+
readonly componentSet?: string;
|
|
28
|
+
readonly module?: PresentationIconModuleProjection | null;
|
|
29
|
+
readonly registry?: PresentationIconRegistry<TPlacement> | null;
|
|
30
|
+
readonly source: string;
|
|
31
|
+
readonly surfaceId?: string | null;
|
|
32
|
+
readonly surfaceName?: string | null;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Reports arbitrary semantic icon ids that are not fully interpreted by the
|
|
36
|
+
* frontend icon target.
|
|
37
|
+
*/
|
|
38
|
+
export declare function projectPresentationIconDiagnostics<TSubject extends PresentationIconDiagnosticSubject>({ componentSet, icons, module, registry, source, surfaceId, surfaceName, }: ProjectPresentationIconDiagnosticsOptions<TSubject>): readonly PresentationProjectionDiagnostic[];
|
|
39
|
+
/**
|
|
40
|
+
* Reports action icon placements that are not fully interpreted by the
|
|
41
|
+
* frontend icon target. The UI can still render through raw icon-key fallback,
|
|
42
|
+
* but this keeps IR target-binding coverage visible in the developer toolbar.
|
|
43
|
+
*/
|
|
44
|
+
export declare function projectPresentationActionIconDiagnostics<TPlacement extends PresentationActionIconPlacement>({ actionPlacements, componentSet, module, registry, source, surfaceId, surfaceName, }: ProjectPresentationActionIconDiagnosticsOptions<TPlacement>): readonly PresentationProjectionDiagnostic[];
|
|
45
|
+
//# sourceMappingURL=presentation-icon-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-icon-diagnostics.d.ts","sourceRoot":"","sources":["../src/presentation-icon-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gCAAgC,EACrC,KAAK,wBAAwB,EAC9B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,uCAAuC,CAAA;AAE9C,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,MAAM,WAAW,yCAAyC,CACxD,QAAQ,SAAS,iCAAiC;IAElD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAA;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,gCAAgC,GAAG,IAAI,CAAA;IACzD,QAAQ,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC;AAED,MAAM,WAAW,+CAA+C,CAC9D,UAAU,SAAS,+BAA+B;IAElD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,UAAU,EAAE,CAAA;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,gCAAgC,GAAG,IAAI,CAAA;IACzD,QAAQ,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,QAAQ,SAAS,iCAAiC,EAClD,EACA,YAA8C,EAC9C,KAAK,EACL,MAAM,EACN,QAAQ,EACR,MAAM,EACN,SAAS,EACT,WAAW,GACZ,EAAE,yCAAyC,CAAC,QAAQ,CAAC,GAAG,SAAS,gCAAgC,EAAE,CAyFnG;AAED;;;;GAIG;AACH,wBAAgB,wCAAwC,CACtD,UAAU,SAAS,+BAA+B,EAClD,EACA,gBAAgB,EAChB,YAA8C,EAC9C,MAAM,EACN,QAAQ,EACR,MAAM,EACN,SAAS,EACT,WAAW,GACZ,EAAE,+CAA+C,CAAC,UAAU,CAAC,GAAG,SAAS,gCAAgC,EAAE,CAyF3G"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { defaultPresentationComponentSet, resolvePresentationIcon, } from './presentation-icon-registry.js';
|
|
2
|
+
import { createPresentationProjectionDiagnostic, } from './presentation-projection-diagnostics.js';
|
|
3
|
+
/**
|
|
4
|
+
* Reports arbitrary semantic icon ids that are not fully interpreted by the
|
|
5
|
+
* frontend icon target.
|
|
6
|
+
*/
|
|
7
|
+
export function projectPresentationIconDiagnostics({ componentSet = defaultPresentationComponentSet, icons, module, registry, source, surfaceId, surfaceName, }) {
|
|
8
|
+
return icons.flatMap((subject) => {
|
|
9
|
+
const icon = subject.icon;
|
|
10
|
+
if (!icon) {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
const resolution = resolvePresentationIcon({
|
|
14
|
+
componentSet,
|
|
15
|
+
icon,
|
|
16
|
+
module,
|
|
17
|
+
registry,
|
|
18
|
+
});
|
|
19
|
+
if (!resolution.renderer) {
|
|
20
|
+
return [
|
|
21
|
+
createGenericIconDiagnostic({
|
|
22
|
+
details: {
|
|
23
|
+
componentKey: resolution.componentKey,
|
|
24
|
+
componentRole: resolution.componentRole,
|
|
25
|
+
icon,
|
|
26
|
+
surfaceId,
|
|
27
|
+
...subject.details,
|
|
28
|
+
},
|
|
29
|
+
icon,
|
|
30
|
+
message: `${formatIconSubject(subject)} declares icon '${icon}', ` +
|
|
31
|
+
'but the frontend icon registry has no renderer for it.',
|
|
32
|
+
reason: 'missing-icon-renderer',
|
|
33
|
+
severity: 'warning',
|
|
34
|
+
source,
|
|
35
|
+
status: 'unbound',
|
|
36
|
+
subject,
|
|
37
|
+
surfaceName,
|
|
38
|
+
target: 'presentation-icon-registry',
|
|
39
|
+
}),
|
|
40
|
+
];
|
|
41
|
+
}
|
|
42
|
+
if (resolution.targetBindingSource) {
|
|
43
|
+
if (resolution.resolutionSource === 'icon-key') {
|
|
44
|
+
return [
|
|
45
|
+
createGenericIconDiagnostic({
|
|
46
|
+
details: {
|
|
47
|
+
componentKey: resolution.componentKey,
|
|
48
|
+
componentRole: resolution.componentRole,
|
|
49
|
+
icon,
|
|
50
|
+
surfaceId,
|
|
51
|
+
...subject.details,
|
|
52
|
+
},
|
|
53
|
+
icon,
|
|
54
|
+
message: `${formatIconSubject(subject)} declares icon '${icon}', ` +
|
|
55
|
+
'but its target binding was not resolved by the frontend icon registry; raw icon-key fallback was used.',
|
|
56
|
+
reason: 'icon-target-binding-fallback',
|
|
57
|
+
severity: 'warning',
|
|
58
|
+
source,
|
|
59
|
+
status: 'locally-interpreted',
|
|
60
|
+
subject,
|
|
61
|
+
surfaceName,
|
|
62
|
+
target: 'presentation-icon-target-binding',
|
|
63
|
+
}),
|
|
64
|
+
];
|
|
65
|
+
}
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
return [
|
|
69
|
+
createGenericIconDiagnostic({
|
|
70
|
+
details: {
|
|
71
|
+
icon,
|
|
72
|
+
surfaceId,
|
|
73
|
+
...subject.details,
|
|
74
|
+
},
|
|
75
|
+
icon,
|
|
76
|
+
message: `${formatIconSubject(subject)} declares icon '${icon}', ` +
|
|
77
|
+
'but no presentation icon target binding was found; raw icon-key fallback was used.',
|
|
78
|
+
reason: 'missing-icon-target-binding',
|
|
79
|
+
severity: 'info',
|
|
80
|
+
source,
|
|
81
|
+
status: 'locally-interpreted',
|
|
82
|
+
subject,
|
|
83
|
+
surfaceName,
|
|
84
|
+
target: 'presentation-icon-target-binding',
|
|
85
|
+
}),
|
|
86
|
+
];
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Reports action icon placements that are not fully interpreted by the
|
|
91
|
+
* frontend icon target. The UI can still render through raw icon-key fallback,
|
|
92
|
+
* but this keeps IR target-binding coverage visible in the developer toolbar.
|
|
93
|
+
*/
|
|
94
|
+
export function projectPresentationActionIconDiagnostics({ actionPlacements, componentSet = defaultPresentationComponentSet, module, registry, source, surfaceId, surfaceName, }) {
|
|
95
|
+
return actionPlacements.flatMap((placement) => {
|
|
96
|
+
const icon = placement.Icon;
|
|
97
|
+
if (!icon) {
|
|
98
|
+
return [];
|
|
99
|
+
}
|
|
100
|
+
const resolution = resolvePresentationIcon({
|
|
101
|
+
componentSet,
|
|
102
|
+
icon,
|
|
103
|
+
module,
|
|
104
|
+
registry,
|
|
105
|
+
});
|
|
106
|
+
if (!resolution.renderer) {
|
|
107
|
+
return [
|
|
108
|
+
createIconDiagnostic({
|
|
109
|
+
details: {
|
|
110
|
+
componentKey: resolution.componentKey,
|
|
111
|
+
componentRole: resolution.componentRole,
|
|
112
|
+
icon,
|
|
113
|
+
region: placement.Region,
|
|
114
|
+
surfaceId,
|
|
115
|
+
},
|
|
116
|
+
icon,
|
|
117
|
+
message: `Action '${formatActionPlacement(placement)}' declares icon '${icon}', ` +
|
|
118
|
+
'but the frontend icon registry has no renderer for it.',
|
|
119
|
+
placement,
|
|
120
|
+
reason: 'missing-icon-renderer',
|
|
121
|
+
severity: 'warning',
|
|
122
|
+
source,
|
|
123
|
+
status: 'unbound',
|
|
124
|
+
surfaceName,
|
|
125
|
+
target: 'presentation-icon-registry',
|
|
126
|
+
}),
|
|
127
|
+
];
|
|
128
|
+
}
|
|
129
|
+
if (resolution.targetBindingSource) {
|
|
130
|
+
if (resolution.resolutionSource === 'icon-key') {
|
|
131
|
+
return [
|
|
132
|
+
createIconDiagnostic({
|
|
133
|
+
details: {
|
|
134
|
+
componentKey: resolution.componentKey,
|
|
135
|
+
componentRole: resolution.componentRole,
|
|
136
|
+
icon,
|
|
137
|
+
region: placement.Region,
|
|
138
|
+
surfaceId,
|
|
139
|
+
},
|
|
140
|
+
icon,
|
|
141
|
+
message: `Action '${formatActionPlacement(placement)}' declares icon '${icon}', ` +
|
|
142
|
+
'but its target binding was not resolved by the frontend icon registry; raw icon-key fallback was used.',
|
|
143
|
+
placement,
|
|
144
|
+
reason: 'icon-target-binding-fallback',
|
|
145
|
+
severity: 'warning',
|
|
146
|
+
source,
|
|
147
|
+
status: 'locally-interpreted',
|
|
148
|
+
surfaceName,
|
|
149
|
+
target: 'presentation-icon-target-binding',
|
|
150
|
+
}),
|
|
151
|
+
];
|
|
152
|
+
}
|
|
153
|
+
return [];
|
|
154
|
+
}
|
|
155
|
+
return [
|
|
156
|
+
createIconDiagnostic({
|
|
157
|
+
details: {
|
|
158
|
+
icon,
|
|
159
|
+
region: placement.Region,
|
|
160
|
+
surfaceId,
|
|
161
|
+
},
|
|
162
|
+
icon,
|
|
163
|
+
message: `Action '${formatActionPlacement(placement)}' declares icon '${icon}', ` +
|
|
164
|
+
'but no presentation icon target binding was found; raw icon-key fallback was used.',
|
|
165
|
+
placement,
|
|
166
|
+
reason: 'missing-icon-target-binding',
|
|
167
|
+
severity: 'info',
|
|
168
|
+
source,
|
|
169
|
+
status: 'locally-interpreted',
|
|
170
|
+
surfaceName,
|
|
171
|
+
target: 'presentation-icon-target-binding',
|
|
172
|
+
}),
|
|
173
|
+
];
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
function createIconDiagnostic({ details, icon, message, placement, reason, severity, source, status, surfaceName, target, }) {
|
|
177
|
+
return createPresentationProjectionDiagnostic({
|
|
178
|
+
category: reason === 'missing-icon-renderer'
|
|
179
|
+
? 'missing-binding'
|
|
180
|
+
: 'local-interpretation',
|
|
181
|
+
details,
|
|
182
|
+
id: `action-icon.${formatDiagnosticToken(placement.ActionId)}.${formatDiagnosticToken(placement.Region ?? 'default')}.${formatDiagnosticToken(icon)}.${reason}`,
|
|
183
|
+
interpretation: {
|
|
184
|
+
status,
|
|
185
|
+
target,
|
|
186
|
+
},
|
|
187
|
+
message,
|
|
188
|
+
severity,
|
|
189
|
+
source,
|
|
190
|
+
subject: {
|
|
191
|
+
id: placement.ActionId,
|
|
192
|
+
kind: 'action-placement',
|
|
193
|
+
name: placement.Label ?? surfaceName ?? null,
|
|
194
|
+
},
|
|
195
|
+
suggestedNextStep: reason === 'missing-icon-target-binding'
|
|
196
|
+
? 'Add a presentation icon target binding for this icon id.'
|
|
197
|
+
: 'Bind the icon target to a frontend icon renderer.',
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
function createGenericIconDiagnostic({ details, icon, message, reason, severity, source, status, subject, surfaceName, target, }) {
|
|
201
|
+
return createPresentationProjectionDiagnostic({
|
|
202
|
+
category: reason === 'missing-icon-renderer'
|
|
203
|
+
? 'missing-binding'
|
|
204
|
+
: 'local-interpretation',
|
|
205
|
+
details,
|
|
206
|
+
id: `icon.${formatDiagnosticToken(subject.kind)}.${formatDiagnosticToken(subject.id)}.${formatDiagnosticToken(icon)}.${reason}`,
|
|
207
|
+
interpretation: {
|
|
208
|
+
status,
|
|
209
|
+
target,
|
|
210
|
+
},
|
|
211
|
+
message,
|
|
212
|
+
severity,
|
|
213
|
+
source,
|
|
214
|
+
subject: {
|
|
215
|
+
id: subject.id,
|
|
216
|
+
kind: subject.kind,
|
|
217
|
+
name: subject.label ?? surfaceName ?? null,
|
|
218
|
+
},
|
|
219
|
+
suggestedNextStep: reason === 'missing-icon-target-binding'
|
|
220
|
+
? 'Add a presentation icon target binding for this semantic icon id.'
|
|
221
|
+
: 'Bind the icon target to a frontend icon renderer.',
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
function formatActionPlacement(placement) {
|
|
225
|
+
return placement.Label ?? placement.ActionId;
|
|
226
|
+
}
|
|
227
|
+
function formatIconSubject(subject) {
|
|
228
|
+
return subject.label
|
|
229
|
+
? `${subject.kind} '${subject.label}'`
|
|
230
|
+
: `${subject.kind} '${subject.id}'`;
|
|
231
|
+
}
|
|
232
|
+
function formatDiagnosticToken(value) {
|
|
233
|
+
return value.replaceAll(/[^a-zA-Z0-9_.-]+/g, '-');
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=presentation-icon-diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-icon-diagnostics.js","sourceRoot":"","sources":["../src/presentation-icon-diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { PresentationBindingDefinition } from './module.js';
|
|
2
|
+
export interface PresentationIconRenderContext<TSubject = unknown> {
|
|
3
|
+
readonly className?: string;
|
|
4
|
+
readonly icon: string;
|
|
5
|
+
readonly subject?: TSubject;
|
|
6
|
+
}
|
|
7
|
+
export type PresentationIconRenderer<TSubject = unknown, TResult = unknown> = (context: PresentationIconRenderContext<TSubject>) => TResult;
|
|
8
|
+
export interface PresentationIconRegistry<TSubject = unknown, TResult = unknown> {
|
|
9
|
+
readonly byComponentKey?: Readonly<Record<string, PresentationIconRenderer<TSubject, TResult>>>;
|
|
10
|
+
readonly byComponentRole?: Readonly<Record<string, PresentationIconRenderer<TSubject, TResult>>>;
|
|
11
|
+
readonly byIconKey?: Readonly<Record<string, PresentationIconRenderer<TSubject, TResult>>>;
|
|
12
|
+
}
|
|
13
|
+
export interface PresentationIconModuleProjection {
|
|
14
|
+
readonly Targets?: readonly {
|
|
15
|
+
readonly Bindings: readonly PresentationBindingDefinition[];
|
|
16
|
+
readonly ComponentSet?: string | null;
|
|
17
|
+
readonly Target: string | number;
|
|
18
|
+
}[];
|
|
19
|
+
}
|
|
20
|
+
export interface PresentationIconResolution<TSubject = unknown, TResult = unknown> {
|
|
21
|
+
readonly componentKey: string | null;
|
|
22
|
+
readonly componentRole: string | null;
|
|
23
|
+
readonly icon: string;
|
|
24
|
+
readonly renderer: PresentationIconRenderer<TSubject, TResult> | null;
|
|
25
|
+
readonly resolutionSource: 'component-key' | 'component-role' | 'icon-key' | null;
|
|
26
|
+
readonly targetBindingSource: 'target-icon-binding' | null;
|
|
27
|
+
}
|
|
28
|
+
export declare const defaultPresentationComponentSet = "cohesive.presentation.default";
|
|
29
|
+
export declare function createPresentationIconRegistry<TSubject = unknown, TResult = unknown>(registry: PresentationIconRegistry<TSubject, TResult>): PresentationIconRegistry<TSubject, TResult>;
|
|
30
|
+
export declare function resolvePresentationIcon<TSubject = unknown, TResult = unknown>({ componentSet, icon, module, registry, }: {
|
|
31
|
+
readonly componentSet?: string;
|
|
32
|
+
readonly icon: string | null | undefined;
|
|
33
|
+
readonly module?: PresentationIconModuleProjection | null;
|
|
34
|
+
readonly registry: PresentationIconRegistry<TSubject, TResult> | null | undefined;
|
|
35
|
+
}): PresentationIconResolution<TSubject, TResult>;
|
|
36
|
+
//# sourceMappingURL=presentation-icon-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-icon-registry.d.ts","sourceRoot":"","sources":["../src/presentation-icon-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC9B,MAAM,UAAU,CAAA;AAUjB,MAAM,WAAW,6BAA6B,CAAC,QAAQ,GAAG,OAAO;IAC/D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAA;CAC5B;AAED,MAAM,MAAM,wBAAwB,CAClC,QAAQ,GAAG,OAAO,EAClB,OAAO,GAAG,OAAO,IACf,CAAC,OAAO,EAAE,6BAA6B,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAA;AAEjE,MAAM,WAAW,wBAAwB,CACvC,QAAQ,GAAG,OAAO,EAClB,OAAO,GAAG,OAAO;IAEjB,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC/F,QAAQ,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAChG,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAC3F;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;QAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,6BAA6B,EAAE,CAAA;QAC3D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KACjC,EAAE,CAAA;CACJ;AAED,MAAM,WAAW,0BAA0B,CACzC,QAAQ,GAAG,OAAO,EAClB,OAAO,GAAG,OAAO;IAEjB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACrE,QAAQ,CAAC,gBAAgB,EACrB,eAAe,GACf,gBAAgB,GAChB,UAAU,GACV,IAAI,CAAA;IACR,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,GAAG,IAAI,CAAA;CAC3D;AAED,eAAO,MAAM,+BAA+B,kCAAkC,CAAA;AAE9E,wBAAgB,8BAA8B,CAC5C,QAAQ,GAAG,OAAO,EAClB,OAAO,GAAG,OAAO,EAEjB,QAAQ,EAAE,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,+CAGtD;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,GAAG,OAAO,EAClB,OAAO,GAAG,OAAO,EACjB,EACA,YAA8C,EAC9C,IAAI,EACJ,MAAM,EACN,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,gCAAgC,GAAG,IAAI,CAAA;IACzD,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,CAAA;CAClF,GAAG,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC,CA0DhD"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { createPresentationEnumDiscriminator, resolvePresentationComponentBinding, } from './target-bindings.js';
|
|
2
|
+
import { presentationBindingKinds, presentationTargetKinds, } from '@cohesivesystems/presentation-contracts';
|
|
3
|
+
export const defaultPresentationComponentSet = 'cohesive.presentation.default';
|
|
4
|
+
export function createPresentationIconRegistry(registry) {
|
|
5
|
+
return registry;
|
|
6
|
+
}
|
|
7
|
+
export function resolvePresentationIcon({ componentSet = defaultPresentationComponentSet, icon, module, registry, }) {
|
|
8
|
+
const iconKey = icon ?? '';
|
|
9
|
+
const targetBinding = iconKey
|
|
10
|
+
? resolvePresentationIconTargetBinding({ componentSet, icon: iconKey, module })
|
|
11
|
+
: null;
|
|
12
|
+
const componentRole = targetBinding?.componentRole ?? null;
|
|
13
|
+
const componentKey = targetBinding?.componentKey ?? null;
|
|
14
|
+
if (componentRole) {
|
|
15
|
+
const renderer = registry?.byComponentRole?.[componentRole];
|
|
16
|
+
if (renderer) {
|
|
17
|
+
return {
|
|
18
|
+
componentKey,
|
|
19
|
+
componentRole,
|
|
20
|
+
icon: iconKey,
|
|
21
|
+
renderer,
|
|
22
|
+
resolutionSource: 'component-role',
|
|
23
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (componentKey) {
|
|
28
|
+
const renderer = registry?.byComponentKey?.[componentKey];
|
|
29
|
+
if (renderer) {
|
|
30
|
+
return {
|
|
31
|
+
componentKey,
|
|
32
|
+
componentRole,
|
|
33
|
+
icon: iconKey,
|
|
34
|
+
renderer,
|
|
35
|
+
resolutionSource: 'component-key',
|
|
36
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (iconKey) {
|
|
41
|
+
const renderer = registry?.byIconKey?.[iconKey];
|
|
42
|
+
if (renderer) {
|
|
43
|
+
return {
|
|
44
|
+
componentKey,
|
|
45
|
+
componentRole,
|
|
46
|
+
icon: iconKey,
|
|
47
|
+
renderer,
|
|
48
|
+
resolutionSource: 'icon-key',
|
|
49
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
componentKey,
|
|
55
|
+
componentRole,
|
|
56
|
+
icon: iconKey,
|
|
57
|
+
renderer: null,
|
|
58
|
+
resolutionSource: null,
|
|
59
|
+
targetBindingSource: targetBinding?.source ?? null,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function resolvePresentationIconTargetBinding({ componentSet, icon, module, }) {
|
|
63
|
+
if (!module?.Targets) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
const resolvedBinding = resolvePresentationComponentBinding({ Targets: module.Targets }, {
|
|
67
|
+
bindingKind: createPresentationEnumDiscriminator(presentationBindingKinds, 'icon', 'Icon'),
|
|
68
|
+
componentSet,
|
|
69
|
+
id: icon,
|
|
70
|
+
targetKind: createPresentationEnumDiscriminator(presentationTargetKinds, 'react', 'React'),
|
|
71
|
+
});
|
|
72
|
+
if (!resolvedBinding.binding) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
componentKey: resolvedBinding.componentKey,
|
|
77
|
+
componentRole: resolvedBinding.componentRole,
|
|
78
|
+
source: 'target-icon-binding',
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=presentation-icon-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-icon-registry.js","sourceRoot":"","sources":["../src/presentation-icon-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ActionDefinition } from './module.js';
|
|
2
|
+
import type { PresentationActionRuntimeBinding } from './presentation-action-runtime-binding.js';
|
|
3
|
+
export interface ProjectPresentationNavigationActionRuntimeBindingsOptions {
|
|
4
|
+
readonly navigateHref: (href: string) => void;
|
|
5
|
+
readonly resolveHref: (action: ActionDefinition) => string | null;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Projects parameterless navigation actions into local navigation runtime
|
|
9
|
+
* bindings. The presentation IR declares route navigation semantics; the host
|
|
10
|
+
* still supplies href construction and navigation side effects.
|
|
11
|
+
*/
|
|
12
|
+
export declare function projectPresentationNavigationActionRuntimeBindings<TExecuteContext = unknown, TLabel = string>({ navigateHref, resolveHref, }: ProjectPresentationNavigationActionRuntimeBindingsOptions): readonly PresentationActionRuntimeBinding<TExecuteContext, TLabel>[];
|
|
13
|
+
//# sourceMappingURL=presentation-navigation-action-runtime-bindings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-navigation-action-runtime-bindings.d.ts","sourceRoot":"","sources":["../src/presentation-navigation-action-runtime-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EACjB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EACV,gCAAgC,EACjC,MAAM,uCAAuC,CAAA;AAS9C,MAAM,WAAW,yDAAyD;IACxE,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,MAAM,GAAG,IAAI,CAAA;CAClE;AAED;;;;GAIG;AACH,wBAAgB,kDAAkD,CAChE,eAAe,GAAG,OAAO,EACzB,MAAM,GAAG,MAAM,EACf,EACA,YAAY,EACZ,WAAW,GACZ,EAAE,yDAAyD,GAAG,SAAS,gCAAgC,CACtG,eAAe,EACf,MAAM,CACP,EAAE,CAoBF"}
|