@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,109 @@
|
|
|
1
|
+
import { actionResultStateWriteModes, } from '@cohesivesystems/presentation-contracts';
|
|
2
|
+
import { readObjectPath, } from './object-path.js';
|
|
3
|
+
/**
|
|
4
|
+
* Applies the state writes declared by an action result policy.
|
|
5
|
+
*
|
|
6
|
+
* The returned state preserves object identity when the policy has no writes,
|
|
7
|
+
* which lets React callers avoid unnecessary rebinding work.
|
|
8
|
+
*/
|
|
9
|
+
export function applyPresentationActionResultPolicyStateWrites({ policy, result, state, }) {
|
|
10
|
+
return applyPresentationActionResultStateWrites({
|
|
11
|
+
result,
|
|
12
|
+
state,
|
|
13
|
+
writes: policy?.StateWrites,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Applies backend-declared action response writes to route-local presentation
|
|
18
|
+
* data-source state.
|
|
19
|
+
*
|
|
20
|
+
* Each write targets a semantic data-source id and reads either the full action
|
|
21
|
+
* response or a dot-separated response path. The function returns a new state
|
|
22
|
+
* object only when at least one valid write is applied.
|
|
23
|
+
*/
|
|
24
|
+
export function applyPresentationActionResultStateWrites({ result, state, writes, }) {
|
|
25
|
+
if (!writes?.length) {
|
|
26
|
+
return state;
|
|
27
|
+
}
|
|
28
|
+
let next = null;
|
|
29
|
+
for (const write of writes) {
|
|
30
|
+
if (!write.TargetDataSourceId) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
next ??= { ...state };
|
|
34
|
+
applyPresentationActionResultStateWrite(next, write, result);
|
|
35
|
+
}
|
|
36
|
+
return next ?? state;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Applies a single write declaration to a mutable state accumulator.
|
|
40
|
+
*/
|
|
41
|
+
function applyPresentationActionResultStateWrite(state, write, result) {
|
|
42
|
+
const mode = normalizeActionResultStateWriteMode(write.Mode);
|
|
43
|
+
if (mode === 'clear') {
|
|
44
|
+
delete state[write.TargetDataSourceId];
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const value = write.SourcePath ? readObjectPath(result, write.SourcePath) : result;
|
|
48
|
+
switch (mode) {
|
|
49
|
+
case 'append':
|
|
50
|
+
state[write.TargetDataSourceId] = appendPresentationStateValue(state[write.TargetDataSourceId], value);
|
|
51
|
+
return;
|
|
52
|
+
case 'merge':
|
|
53
|
+
state[write.TargetDataSourceId] = mergePresentationStateValue(state[write.TargetDataSourceId], value);
|
|
54
|
+
return;
|
|
55
|
+
case 'replace':
|
|
56
|
+
default:
|
|
57
|
+
state[write.TargetDataSourceId] = value;
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Appends one scalar or array-valued write source to the current target value.
|
|
63
|
+
*/
|
|
64
|
+
function appendPresentationStateValue(current, value) {
|
|
65
|
+
const currentItems = Array.isArray(current) ? current : current === undefined ? [] : [current];
|
|
66
|
+
const nextItems = Array.isArray(value) ? value : [value];
|
|
67
|
+
return [...currentItems, ...nextItems];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Merges object writes shallowly and falls back to replacement for non-objects.
|
|
71
|
+
*/
|
|
72
|
+
function mergePresentationStateValue(current, value) {
|
|
73
|
+
if (isRecord(current) && isRecord(value)) {
|
|
74
|
+
return {
|
|
75
|
+
...current,
|
|
76
|
+
...value,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Narrows values that can participate in shallow merge writes.
|
|
83
|
+
*/
|
|
84
|
+
function isRecord(value) {
|
|
85
|
+
return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Normalizes generated numeric enum values and JSON string enum values into the
|
|
89
|
+
* runtime write-mode labels used by the state applicator.
|
|
90
|
+
*/
|
|
91
|
+
function normalizeActionResultStateWriteMode(mode) {
|
|
92
|
+
if (mode === actionResultStateWriteModes.merge || matchesModeLabel(mode, 'merge')) {
|
|
93
|
+
return 'merge';
|
|
94
|
+
}
|
|
95
|
+
if (mode === actionResultStateWriteModes.append || matchesModeLabel(mode, 'append')) {
|
|
96
|
+
return 'append';
|
|
97
|
+
}
|
|
98
|
+
if (mode === actionResultStateWriteModes.clear || matchesModeLabel(mode, 'clear')) {
|
|
99
|
+
return 'clear';
|
|
100
|
+
}
|
|
101
|
+
return 'replace';
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Compares a generated JSON enum label case-insensitively.
|
|
105
|
+
*/
|
|
106
|
+
function matchesModeLabel(value, label) {
|
|
107
|
+
return typeof value === 'string' && value.toLocaleLowerCase() === label;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=presentation-action-result-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-result-state.js","sourceRoot":"","sources":["../src/presentation-action-result-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ActionDefinition, PresentationModuleDefinition } from './module.js';
|
|
2
|
+
import { type ActionKind, type ActionScopeKind, type ActionSemanticsKind, type DocumentWorkspaceActionKind, type LocalDocumentEditorActionKind, type PreparationKind, type PresentationBindingKind } from '@cohesivesystems/presentation-contracts';
|
|
3
|
+
export interface PresentationActionRuntime<TExecuteContext = unknown, TLabel = string> {
|
|
4
|
+
readonly canExecute?: (context: TExecuteContext) => boolean;
|
|
5
|
+
readonly disabledReason?: TLabel;
|
|
6
|
+
readonly execute?: (context: TExecuteContext) => Promise<void> | void;
|
|
7
|
+
readonly isDisabled?: boolean;
|
|
8
|
+
readonly isHidden?: boolean;
|
|
9
|
+
readonly isPending?: boolean;
|
|
10
|
+
readonly label?: TLabel;
|
|
11
|
+
readonly pendingLabel?: TLabel;
|
|
12
|
+
}
|
|
13
|
+
export interface PresentationActionRuntimeBindingContext {
|
|
14
|
+
readonly action: ActionDefinition;
|
|
15
|
+
readonly actionId: string;
|
|
16
|
+
readonly module: PresentationModuleDefinition;
|
|
17
|
+
}
|
|
18
|
+
export interface PresentationActionRuntimeBinding<TExecuteContext = unknown, TLabel = string> {
|
|
19
|
+
readonly id: string;
|
|
20
|
+
readonly matches: (context: PresentationActionRuntimeBindingContext) => boolean;
|
|
21
|
+
readonly project: (context: PresentationActionRuntimeBindingContext) => PresentationActionRuntime<TExecuteContext, TLabel> | null | undefined;
|
|
22
|
+
}
|
|
23
|
+
export interface PresentationActionRuntimeBindingSpec<TExecuteContext = unknown, TLabel = string> {
|
|
24
|
+
/** Optional exact action id match for narrowly scoped or legacy bindings. */
|
|
25
|
+
readonly actionId?: string | readonly string[];
|
|
26
|
+
/** Optional infrastructure binding match, such as endpoint, flow event, or local state. */
|
|
27
|
+
readonly bindingKind?: PresentationBindingKind | readonly PresentationBindingKind[];
|
|
28
|
+
/** Optional sub-kind match for DocumentWorkspace action semantics. */
|
|
29
|
+
readonly documentWorkspaceKind?: DocumentWorkspaceActionKind | readonly DocumentWorkspaceActionKind[];
|
|
30
|
+
readonly id: string;
|
|
31
|
+
/** Optional semantic action kind match. Prefer semantics-specific fields when possible. */
|
|
32
|
+
readonly kind?: ActionKind | readonly ActionKind[];
|
|
33
|
+
/** Optional sub-kind match for LocalDocumentEditor action semantics. */
|
|
34
|
+
readonly localDocumentEditorKind?: LocalDocumentEditorActionKind | readonly LocalDocumentEditorActionKind[];
|
|
35
|
+
readonly predicate?: (context: PresentationActionRuntimeBindingContext) => boolean;
|
|
36
|
+
readonly preparationKind?: PreparationKind | readonly PreparationKind[];
|
|
37
|
+
/** Optional first-class action semantics match. */
|
|
38
|
+
readonly semanticsKind?: ActionSemanticsKind | readonly ActionSemanticsKind[];
|
|
39
|
+
readonly project: (context: PresentationActionRuntimeBindingContext) => PresentationActionRuntime<TExecuteContext, TLabel> | null | undefined;
|
|
40
|
+
readonly scope?: ActionScopeKind | readonly ActionScopeKind[];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Creates an adapter-neutral runtime binding for a semantic presentation
|
|
44
|
+
* action. The binding decides whether an ActionDefinition matches, then
|
|
45
|
+
* projects frontend-local runtime state for that action.
|
|
46
|
+
*/
|
|
47
|
+
export declare function createPresentationActionRuntimeBinding<TExecuteContext = unknown, TLabel = string>({ actionId, bindingKind, documentWorkspaceKind, id, kind, localDocumentEditorKind, predicate, preparationKind, project, semanticsKind, scope, }: PresentationActionRuntimeBindingSpec<TExecuteContext, TLabel>): PresentationActionRuntimeBinding<TExecuteContext, TLabel>;
|
|
48
|
+
//# sourceMappingURL=presentation-action-runtime-binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-runtime-binding.d.ts","sourceRoot":"","sources":["../src/presentation-action-runtime-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { actionKindLabels, actionSemanticsKindLabels, actionScopeKindLabels, documentWorkspaceActionKindLabels, localDocumentEditorActionKindLabels, preparationKindLabels, presentationBindingKindLabels, } from '@cohesivesystems/presentation-contracts';
|
|
2
|
+
/**
|
|
3
|
+
* Creates an adapter-neutral runtime binding for a semantic presentation
|
|
4
|
+
* action. The binding decides whether an ActionDefinition matches, then
|
|
5
|
+
* projects frontend-local runtime state for that action.
|
|
6
|
+
*/
|
|
7
|
+
export function createPresentationActionRuntimeBinding({ actionId, bindingKind, documentWorkspaceKind, id, kind, localDocumentEditorKind, predicate, preparationKind, project, semanticsKind, scope, }) {
|
|
8
|
+
return {
|
|
9
|
+
id,
|
|
10
|
+
matches: (context) => matchesStringOption(context.action.Id, actionId) &&
|
|
11
|
+
matchesEnumOption(context.action.Kind, kind, actionKindLabels) &&
|
|
12
|
+
matchesEnumOption(context.action.Scope, scope, actionScopeKindLabels) &&
|
|
13
|
+
matchesEnumOption(context.action.Binding.Kind, bindingKind, presentationBindingKindLabels) &&
|
|
14
|
+
matchesEnumOption(context.action.Preparation?.Kind, preparationKind, preparationKindLabels) &&
|
|
15
|
+
matchesEnumOption(context.action.Semantics?.Kind, semanticsKind, actionSemanticsKindLabels) &&
|
|
16
|
+
matchesEnumOption(context.action.Semantics?.DocumentWorkspace?.Kind, documentWorkspaceKind, documentWorkspaceActionKindLabels) &&
|
|
17
|
+
matchesEnumOption(context.action.Semantics?.LocalDocumentEditor?.Kind, localDocumentEditorKind, localDocumentEditorActionKindLabels) &&
|
|
18
|
+
(predicate?.(context) ?? true),
|
|
19
|
+
project,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function matchesStringOption(value, expected) {
|
|
23
|
+
if (!expected) {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
return toArray(expected).includes(value ?? '');
|
|
27
|
+
}
|
|
28
|
+
function matchesEnumOption(value, expected, labels) {
|
|
29
|
+
if (expected === null || expected === undefined) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
return toArray(expected).some((candidate) => matchesGeneratedEnumValue(value, candidate, labels));
|
|
33
|
+
}
|
|
34
|
+
function matchesGeneratedEnumValue(value, expected, labels) {
|
|
35
|
+
if (value === expected) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
const expectedLabel = typeof expected === 'number'
|
|
39
|
+
? labels[expected] ?? String(expected)
|
|
40
|
+
: String(expected);
|
|
41
|
+
const actualLabel = typeof value === 'number'
|
|
42
|
+
? labels[value] ?? String(value)
|
|
43
|
+
: String(value ?? '');
|
|
44
|
+
return normalizeEnumLabel(actualLabel) === normalizeEnumLabel(expectedLabel);
|
|
45
|
+
}
|
|
46
|
+
function normalizeEnumLabel(value) {
|
|
47
|
+
return value.replace(/[^a-zA-Z0-9]+/g, '').toLocaleLowerCase();
|
|
48
|
+
}
|
|
49
|
+
function toArray(value) {
|
|
50
|
+
return Array.isArray(value) ? value : [value];
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=presentation-action-runtime-binding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-runtime-binding.js","sourceRoot":"","sources":["../src/presentation-action-runtime-binding.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,qBAAqB,EACrB,iCAAiC,EACjC,mCAAmC,EACnC,qBAAqB,EACrB,6BAA6B,GAQ9B,MAAM,yCAAyC,CAAA;AA2DhD;;;;GAIG;AACH,MAAM,UAAU,sCAAsC,CAGpD,EACA,QAAQ,EACR,WAAW,EACX,qBAAqB,EACrB,EAAE,EACF,IAAI,EACJ,uBAAuB,EACvB,SAAS,EACT,eAAe,EACf,OAAO,EACP,aAAa,EACb,KAAK,GAIN;IACC,OAAO;QACL,EAAE;QACF,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CACnB,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC;YAChD,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC;YAC9D,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,qBAAqB,CAAC;YACrE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,6BAA6B,CAAC;YAC1F,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,qBAAqB,CAAC;YAC3F,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,yBAAyB,CAAC;YAC3F,iBAAiB,CACf,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,IAAI,EACjD,qBAAqB,EACrB,iCAAiC,CAClC;YACD,iBAAiB,CACf,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,EAAE,IAAI,EACnD,uBAAuB,EACvB,mCAAmC,CACpC;YACD,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;QAChC,OAAO;KACR,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAgC,EAChC,QAAuD;IAEvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;AAChD,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAyC,EACzC,QAAuD,EACvD,MAAwC;IAExC,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC1C,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CACpD,CAAA;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAyC,EACzC,QAAgB,EAChB,MAAwC;IAExC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,QAAQ,KAAK,QAAQ;QAChD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC;QACtC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACpB,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ;QAC3C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAEvB,OAAO,kBAAkB,CAAC,WAAW,CAAC,KAAK,kBAAkB,CAAC,aAAa,CAAC,CAAA;AAC9E,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAA;AAChE,CAAC;AAED,SAAS,OAAO,CAAS,KAAiC;IACxD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AAC/C,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ActionPlacementDefinition, PresentationModuleDefinition } from './module.js';
|
|
2
|
+
import type { PresentationActionRuntimeRegistry } from './presentation-action-runtime-projection.js';
|
|
3
|
+
import type { PresentationProjectionDiagnostic } from './presentation-projection-diagnostics.js';
|
|
4
|
+
export interface ProjectPresentationActionRuntimeBindingDiagnosticsOptions<TExecuteContext, TLabel> {
|
|
5
|
+
readonly actionPlacements: readonly ActionPlacementDefinition[];
|
|
6
|
+
readonly module: Pick<PresentationModuleDefinition, 'Actions'> | null;
|
|
7
|
+
readonly runtimes: PresentationActionRuntimeRegistry<TExecuteContext, TLabel>;
|
|
8
|
+
readonly source: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Reports placed actions that reached the frontend but did not receive an
|
|
12
|
+
* executable runtime interpretation.
|
|
13
|
+
*
|
|
14
|
+
* This keeps IR expansion honest: adding a backend action should either bind a
|
|
15
|
+
* frontend runtime or show up as a projection TODO.
|
|
16
|
+
*/
|
|
17
|
+
export declare function projectPresentationActionRuntimeBindingDiagnostics<TExecuteContext, TLabel>({ actionPlacements, module, runtimes, source, }: ProjectPresentationActionRuntimeBindingDiagnosticsOptions<TExecuteContext, TLabel>): readonly PresentationProjectionDiagnostic[];
|
|
18
|
+
//# sourceMappingURL=presentation-action-runtime-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-runtime-diagnostics.d.ts","sourceRoot":"","sources":["../src/presentation-action-runtime-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,UAAU,CAAA;AAIjB,OAAO,KAAK,EACV,iCAAiC,EAClC,MAAM,0CAA0C,CAAA;AACjD,OAAO,KAAK,EACV,gCAAgC,EACjC,MAAM,uCAAuC,CAAA;AAE9C,MAAM,WAAW,yDAAyD,CACxE,eAAe,EACf,MAAM;IAEN,QAAQ,CAAC,gBAAgB,EAAE,SAAS,yBAAyB,EAAE,CAAA;IAC/D,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,4BAA4B,EAAE,SAAS,CAAC,GAAG,IAAI,CAAA;IACrE,QAAQ,CAAC,QAAQ,EAAE,iCAAiC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,kDAAkD,CAChE,eAAe,EACf,MAAM,EACN,EACA,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,MAAM,GACP,EAAE,yDAAyD,CAC1D,eAAe,EACf,MAAM,CACP,GAAG,SAAS,gCAAgC,EAAE,CA0C9C"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { findPresentationAction, } from './module.js';
|
|
2
|
+
/**
|
|
3
|
+
* Reports placed actions that reached the frontend but did not receive an
|
|
4
|
+
* executable runtime interpretation.
|
|
5
|
+
*
|
|
6
|
+
* This keeps IR expansion honest: adding a backend action should either bind a
|
|
7
|
+
* frontend runtime or show up as a projection TODO.
|
|
8
|
+
*/
|
|
9
|
+
export function projectPresentationActionRuntimeBindingDiagnostics({ actionPlacements, module, runtimes, source, }) {
|
|
10
|
+
return actionPlacements.flatMap((placement) => {
|
|
11
|
+
const action = findPresentationAction(module, placement.ActionId);
|
|
12
|
+
if (!action) {
|
|
13
|
+
return [
|
|
14
|
+
{
|
|
15
|
+
details: {
|
|
16
|
+
actionId: placement.ActionId,
|
|
17
|
+
placementIntent: placement.Intent,
|
|
18
|
+
placementRegion: placement.Region,
|
|
19
|
+
},
|
|
20
|
+
id: `action-runtime.${placement.ActionId}.missing-action`,
|
|
21
|
+
message: `Placed action '${placement.ActionId}' is referenced by the presentation IR ` +
|
|
22
|
+
'but is not present in the action catalog.',
|
|
23
|
+
severity: 'error',
|
|
24
|
+
source,
|
|
25
|
+
subject: {
|
|
26
|
+
id: placement.ActionId,
|
|
27
|
+
kind: 'action',
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
}
|
|
32
|
+
const runtime = runtimes[action.Id];
|
|
33
|
+
if (runtime?.execute) {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
return [
|
|
37
|
+
createActionRuntimeDiagnostic({
|
|
38
|
+
action,
|
|
39
|
+
message: `Action '${action.Name}' is placed in '${placement.Region}' but has no ` +
|
|
40
|
+
'frontend runtime binding.',
|
|
41
|
+
placement,
|
|
42
|
+
reason: 'missing-execute-binding',
|
|
43
|
+
source,
|
|
44
|
+
}),
|
|
45
|
+
];
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function createActionRuntimeDiagnostic({ action, message, placement, reason, source, }) {
|
|
49
|
+
return {
|
|
50
|
+
details: {
|
|
51
|
+
actionId: action.Id,
|
|
52
|
+
bindingKind: action.Binding.Kind,
|
|
53
|
+
kind: action.Kind,
|
|
54
|
+
placementIntent: placement.Intent,
|
|
55
|
+
placementRegion: placement.Region,
|
|
56
|
+
scope: action.Scope,
|
|
57
|
+
},
|
|
58
|
+
id: `action-runtime.${action.Id}.${reason}`,
|
|
59
|
+
message,
|
|
60
|
+
severity: 'warning',
|
|
61
|
+
source,
|
|
62
|
+
subject: {
|
|
63
|
+
id: action.Id,
|
|
64
|
+
kind: 'action',
|
|
65
|
+
name: action.Name,
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=presentation-action-runtime-diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-runtime-diagnostics.js","sourceRoot":"","sources":["../src/presentation-action-runtime-diagnostics.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,sBAAsB,GACvB,MAAM,UAAU,CAAA;AAkBjB;;;;;;GAMG;AACH,MAAM,UAAU,kDAAkD,CAGhE,EACA,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,MAAM,GAIP;IACC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,sBAAsB,CAAmB,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;QACnF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL;oBACE,OAAO,EAAE;wBACP,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,eAAe,EAAE,SAAS,CAAC,MAAM;wBACjC,eAAe,EAAE,SAAS,CAAC,MAAM;qBAClC;oBACD,EAAE,EAAE,kBAAkB,SAAS,CAAC,QAAQ,iBAAiB;oBACzD,OAAO,EACL,kBAAkB,SAAS,CAAC,QAAQ,yCAAyC;wBAC7E,2CAA2C;oBAC7C,QAAQ,EAAE,OAAO;oBACjB,MAAM;oBACN,OAAO,EAAE;wBACP,EAAE,EAAE,SAAS,CAAC,QAAQ;wBACtB,IAAI,EAAE,QAAQ;qBACf;iBACyC;aAC7C,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACnC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,OAAO;YACL,6BAA6B,CAAC;gBAC5B,MAAM;gBACN,OAAO,EACL,WAAW,MAAM,CAAC,IAAI,mBAAmB,SAAS,CAAC,MAAM,eAAe;oBACxE,2BAA2B;gBAC7B,SAAS;gBACT,MAAM,EAAE,yBAAyB;gBACjC,MAAM;aACP,CAAC;SACH,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,EACrC,MAAM,EACN,OAAO,EACP,SAAS,EACT,MAAM,EACN,MAAM,GAOP;IACC,OAAO;QACL,OAAO,EAAE;YACP,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;YAChC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,eAAe,EAAE,SAAS,CAAC,MAAM;YACjC,eAAe,EAAE,SAAS,CAAC,MAAM;YACjC,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB;QACD,EAAE,EAAE,kBAAkB,MAAM,CAAC,EAAE,IAAI,MAAM,EAAE;QAC3C,OAAO;QACP,QAAQ,EAAE,SAAS;QACnB,MAAM;QACN,OAAO,EAAE;YACP,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ActionDefinition } from './module.js';
|
|
2
|
+
export interface ResolveActionPendingLabelOptions<TLabel> {
|
|
3
|
+
readonly action: Pick<ActionDefinition, 'RuntimePresentation'> | null | undefined;
|
|
4
|
+
readonly data?: unknown;
|
|
5
|
+
readonly fallback?: TLabel;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Resolves a pending action label from presentation IR runtime metadata.
|
|
9
|
+
*
|
|
10
|
+
* Label variants are checked before the default pending label, which lets a
|
|
11
|
+
* process-preview action describe response-dependent labels such as overwrite
|
|
12
|
+
* vs create without product-specific frontend branches.
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveActionPendingLabel<TLabel = string>({ action, data, fallback, }: ResolveActionPendingLabelOptions<TLabel>): TLabel | undefined;
|
|
15
|
+
//# sourceMappingURL=presentation-action-runtime-labels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-runtime-labels.d.ts","sourceRoot":"","sources":["../src/presentation-action-runtime-labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EACjB,MAAM,UAAU,CAAA;AAMjB,MAAM,WAAW,gCAAgC,CAAC,MAAM;IACtD,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,GAAG,IAAI,GAAG,SAAS,CAAA;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,GAAG,MAAM,EAAE,EACzD,MAAM,EACN,IAAI,EACJ,QAAQ,GACT,EAAE,gCAAgC,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAc/D"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { formatPresentationValue, resolvePresentationValue, } from './presentation-value-resolution.js';
|
|
2
|
+
/**
|
|
3
|
+
* Resolves a pending action label from presentation IR runtime metadata.
|
|
4
|
+
*
|
|
5
|
+
* Label variants are checked before the default pending label, which lets a
|
|
6
|
+
* process-preview action describe response-dependent labels such as overwrite
|
|
7
|
+
* vs create without product-specific frontend branches.
|
|
8
|
+
*/
|
|
9
|
+
export function resolveActionPendingLabel({ action, data, fallback, }) {
|
|
10
|
+
const runtimePresentation = action?.RuntimePresentation;
|
|
11
|
+
const variant = runtimePresentation?.PendingLabelVariants.find((candidate) => actionRuntimeLabelVariantMatches({
|
|
12
|
+
data,
|
|
13
|
+
expectedValue: candidate.ExpectedValue,
|
|
14
|
+
value: resolvePresentationValue(candidate.Condition, data),
|
|
15
|
+
}));
|
|
16
|
+
const label = variant?.Label ?? runtimePresentation?.PendingLabel;
|
|
17
|
+
return label === null || label === undefined || label === ''
|
|
18
|
+
? fallback
|
|
19
|
+
: label;
|
|
20
|
+
}
|
|
21
|
+
function actionRuntimeLabelVariantMatches({ data, expectedValue, value, }) {
|
|
22
|
+
if (data === null || data === undefined) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
const formatted = formatPresentationValue(value);
|
|
26
|
+
return formatted?.toLocaleLowerCase() === expectedValue.toLocaleLowerCase();
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=presentation-action-runtime-labels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-runtime-labels.js","sourceRoot":"","sources":["../src/presentation-action-runtime-labels.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,iCAAiC,CAAA;AAQxC;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAkB,EACzD,MAAM,EACN,IAAI,EACJ,QAAQ,GACiC;IACzC,MAAM,mBAAmB,GAAG,MAAM,EAAE,mBAAmB,CAAA;IACvD,MAAM,OAAO,GAAG,mBAAmB,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC3E,gCAAgC,CAAC;QAC/B,IAAI;QACJ,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,KAAK,EAAE,wBAAwB,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC;KAC3D,CAAC,CACH,CAAA;IACD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,mBAAmB,EAAE,YAAY,CAAA;IAEjE,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAC1D,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,KAAe,CAAA;AACrB,CAAC;AAED,SAAS,gCAAgC,CAAC,EACxC,IAAI,EACJ,aAAa,EACb,KAAK,GAKN;IACC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;IAChD,OAAO,SAAS,EAAE,iBAAiB,EAAE,KAAK,aAAa,CAAC,iBAAiB,EAAE,CAAA;AAC7E,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { PresentationModuleDefinition } from './module.js';
|
|
2
|
+
import type { PresentationActionRuntime, PresentationActionRuntimeBinding } from './presentation-action-runtime-binding.js';
|
|
3
|
+
export type PresentationActionRuntimeRegistry<TExecuteContext, TLabel> = Readonly<Record<string, PresentationActionRuntime<TExecuteContext, TLabel> | null | undefined>>;
|
|
4
|
+
export interface ProjectPresentationActionRuntimeRegistryOptions<TExecuteContext, TLabel> {
|
|
5
|
+
readonly actionIds?: readonly string[];
|
|
6
|
+
readonly module: PresentationModuleDefinition | null;
|
|
7
|
+
readonly projections: readonly PresentationActionRuntimeBinding<TExecuteContext, TLabel>[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Interprets backend-declared actions through ordered frontend runtime
|
|
11
|
+
* projections.
|
|
12
|
+
*
|
|
13
|
+
* The IR owns action identity and semantics; the frontend contributes concrete
|
|
14
|
+
* local effects by registering projection bindings that match those semantics.
|
|
15
|
+
*/
|
|
16
|
+
export declare function projectPresentationActionRuntimeRegistry<TExecuteContext, TLabel>({ actionIds, module, projections, }: ProjectPresentationActionRuntimeRegistryOptions<TExecuteContext, TLabel>): PresentationActionRuntimeRegistry<TExecuteContext, TLabel>;
|
|
17
|
+
//# sourceMappingURL=presentation-action-runtime-projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-runtime-projection.d.ts","sourceRoot":"","sources":["../src/presentation-action-runtime-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC7B,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EACV,yBAAyB,EACzB,gCAAgC,EAEjC,MAAM,uCAAuC,CAAA;AAE9C,MAAM,MAAM,iCAAiC,CAAC,eAAe,EAAE,MAAM,IAAI,QAAQ,CAC/E,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CACtF,CAAA;AAED,MAAM,WAAW,+CAA+C,CAC9D,eAAe,EACf,MAAM;IAEN,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,WAAW,EAAE,SAAS,gCAAgC,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAA;CAC3F;AAED;;;;;;GAMG;AACH,wBAAgB,wCAAwC,CAAC,eAAe,EAAE,MAAM,EAAE,EAChF,SAAS,EACT,MAAM,EACN,WAAW,GACZ,EAAE,+CAA+C,CAChD,eAAe,EACf,MAAM,CACP,GAAG,iCAAiC,CAAC,eAAe,EAAE,MAAM,CAAC,CA8B7D"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interprets backend-declared actions through ordered frontend runtime
|
|
3
|
+
* projections.
|
|
4
|
+
*
|
|
5
|
+
* The IR owns action identity and semantics; the frontend contributes concrete
|
|
6
|
+
* local effects by registering projection bindings that match those semantics.
|
|
7
|
+
*/
|
|
8
|
+
export function projectPresentationActionRuntimeRegistry({ actionIds, module, projections, }) {
|
|
9
|
+
if (!module) {
|
|
10
|
+
return {};
|
|
11
|
+
}
|
|
12
|
+
const actionsById = new Map(module.Actions.map((action) => [action.Id, action]));
|
|
13
|
+
const candidateActionIds = actionIds ?? module.Actions.map((action) => action.Id);
|
|
14
|
+
const registry = {};
|
|
15
|
+
for (const actionId of new Set(candidateActionIds)) {
|
|
16
|
+
const action = actionsById.get(actionId);
|
|
17
|
+
if (!action) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
const context = { action, actionId, module };
|
|
21
|
+
for (const projection of projections) {
|
|
22
|
+
if (!projection.matches(context)) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
registry[actionId] = projection.project(context);
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return registry;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=presentation-action-runtime-projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-action-runtime-projection.js","sourceRoot":"","sources":["../src/presentation-action-runtime-projection.ts"],"names":[],"mappings":"AAsBA;;;;;;GAMG;AACH,MAAM,UAAU,wCAAwC,CAA0B,EAChF,SAAS,EACT,MAAM,EACN,WAAW,GAIZ;IACC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAChF,MAAM,kBAAkB,GAAG,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACjF,MAAM,QAAQ,GAGV,EAAE,CAAA;IAEN,KAAK,MAAM,QAAQ,IAAI,IAAI,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAQ;QACV,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAoD,CAAA;QAC9F,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,SAAQ;YACV,CAAC;YAED,QAAQ,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAChD,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PresentationBadgeDefinition, PresentationModuleDefinition } from './module.js';
|
|
2
|
+
export interface ResolvedPresentationBadge {
|
|
3
|
+
readonly id?: string;
|
|
4
|
+
readonly label: string;
|
|
5
|
+
readonly tone?: string | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function resolvePresentationBadges(badges: readonly PresentationBadgeDefinition[] | null | undefined, data: unknown, module: Pick<PresentationModuleDefinition, 'Fields'> | null): readonly ResolvedPresentationBadge[];
|
|
8
|
+
//# sourceMappingURL=presentation-badge-resolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-badge-resolution.d.ts","sourceRoot":"","sources":["../src/presentation-badge-resolution.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,UAAU,CAAA;AAYjB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,2BAA2B,EAAE,GAAG,IAAI,GAAG,SAAS,EACjE,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,IAAI,CAAC,4BAA4B,EAAE,QAAQ,CAAC,GAAG,IAAI,GAC1D,SAAS,yBAAyB,EAAE,CAItC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { findPresentationField, } from './module.js';
|
|
2
|
+
import { resolvePresentationContent, } from './presentation-content-resolution.js';
|
|
3
|
+
import { formatPresentationValue, isEmptyPresentationValue, readPresentationFieldValue, resolvePresentationTemplate, resolvePresentationValue, } from './presentation-value-resolution.js';
|
|
4
|
+
export function resolvePresentationBadges(badges, data, module) {
|
|
5
|
+
return badges?.flatMap((badge) => resolvePresentationBadge(badge, data, module)) ?? [];
|
|
6
|
+
}
|
|
7
|
+
function resolvePresentationBadge(badge, data, module) {
|
|
8
|
+
const field = badge.FieldId
|
|
9
|
+
? findPresentationField(module, badge.FieldId)
|
|
10
|
+
: null;
|
|
11
|
+
if (badge.FieldId && !field && !badge.Value && !badge.ValueTemplate && !badge.Content) {
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
const value = badge.Value
|
|
15
|
+
? resolvePresentationValue(badge.Value, data)
|
|
16
|
+
: readPresentationFieldValue(data, field?.Field);
|
|
17
|
+
const hasValue = Boolean(badge.Value || field?.Field);
|
|
18
|
+
if (hasValue &&
|
|
19
|
+
((badge.OmitWhenEmpty && isEmptyPresentationValue(value)) ||
|
|
20
|
+
(badge.OmitWhenZero && isZeroPresentationValue(value)))) {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
const formattedValue = formatPresentationBadgeFieldValue(value, field) ??
|
|
24
|
+
formatPresentationValue(value);
|
|
25
|
+
const label = resolvePresentationBadgeContentLabel(badge, data, field) ??
|
|
26
|
+
resolvePresentationTemplate(badge.ValueTemplate, data) ??
|
|
27
|
+
formatFieldBackedBadgeLabel(formattedValue, badge, field) ??
|
|
28
|
+
badge.Name;
|
|
29
|
+
if (badge.OmitWhenEmpty && isEmptyPresentationValue(label)) {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
return [{
|
|
33
|
+
id: badge.Id,
|
|
34
|
+
label,
|
|
35
|
+
tone: badge.Tone,
|
|
36
|
+
}];
|
|
37
|
+
}
|
|
38
|
+
function formatFieldBackedBadgeLabel(formattedValue, badge, field) {
|
|
39
|
+
if (!formattedValue) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
if (badge.Value || badge.ValueTemplate || !badge.FieldId) {
|
|
43
|
+
return formattedValue;
|
|
44
|
+
}
|
|
45
|
+
const label = field?.Label ?? badge.Name;
|
|
46
|
+
return label ? `${label}: ${formattedValue}` : formattedValue;
|
|
47
|
+
}
|
|
48
|
+
function resolvePresentationBadgeContentLabel(badge, data, field) {
|
|
49
|
+
const content = badge.Content;
|
|
50
|
+
if (!content) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
const descriptionValue = resolvePresentationValue(content.Description, data);
|
|
54
|
+
if (descriptionValue !== undefined && descriptionValue !== null) {
|
|
55
|
+
return (formatPresentationBadgeFieldValue(descriptionValue, field) ??
|
|
56
|
+
formatPresentationValue(descriptionValue));
|
|
57
|
+
}
|
|
58
|
+
const resolvedContent = resolvePresentationContent(content, data);
|
|
59
|
+
return resolvedContent.description ?? resolvedContent.title ?? resolvedContent.subtitle;
|
|
60
|
+
}
|
|
61
|
+
function isZeroPresentationValue(value) {
|
|
62
|
+
return value === 0 || value === '0';
|
|
63
|
+
}
|
|
64
|
+
function formatPresentationBadgeFieldValue(value, field) {
|
|
65
|
+
const labels = field?.Display?.ValueLabels;
|
|
66
|
+
if (!labels || value === null || value === undefined) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
const key = String(value);
|
|
70
|
+
return labels.find((label) => label.Value === key ||
|
|
71
|
+
label.Value.toLocaleLowerCase() === key.toLocaleLowerCase())?.Label ?? null;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=presentation-badge-resolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-badge-resolution.js","sourceRoot":"","sources":["../src/presentation-badge-resolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type PresentationModuleDefinition, type ViewDefinition } from './module.js';
|
|
2
|
+
import { type PresentationPaginationBinding } from './presentation-pagination.js';
|
|
3
|
+
import { type PresentationProjectionDiagnostic } from './presentation-projection-diagnostics.js';
|
|
4
|
+
export type PresentationCollectionPaginationRequestMap = Readonly<Record<string, object>>;
|
|
5
|
+
/**
|
|
6
|
+
* Fallback page size used when neither the data source nor a synchronized query
|
|
7
|
+
* form declares a default page size.
|
|
8
|
+
*/
|
|
9
|
+
export declare const defaultPresentationCollectionPageSize = 10;
|
|
10
|
+
/**
|
|
11
|
+
* Options for projecting collection pagination bindings from a presentation
|
|
12
|
+
* module.
|
|
13
|
+
*/
|
|
14
|
+
export interface CreatePresentationCollectionPaginationBindingsOptions {
|
|
15
|
+
/** Data source ids that may require collection pagination bindings. */
|
|
16
|
+
readonly dataSourceIds: readonly string[];
|
|
17
|
+
/** Fallback page size used when no IR-level default is declared. */
|
|
18
|
+
readonly defaultPageSize?: number;
|
|
19
|
+
/** Presentation module containing data-source and query-form definitions. */
|
|
20
|
+
readonly module: PresentationModuleDefinition | null;
|
|
21
|
+
/** Optional views used to restrict pagination projection to enabled collections. */
|
|
22
|
+
readonly views?: readonly Pick<ViewDefinition, 'Collection'>[];
|
|
23
|
+
}
|
|
24
|
+
export declare function createPresentationCollectionPaginationBindings({ dataSourceIds, defaultPageSize, module, views, }: CreatePresentationCollectionPaginationBindingsOptions): readonly PresentationPaginationBinding[];
|
|
25
|
+
export declare function projectPresentationCollectionPaginationDiagnostics({ bindings, footerRendererBound, module, sourceId, views, }: {
|
|
26
|
+
readonly bindings: readonly PresentationPaginationBinding[];
|
|
27
|
+
readonly footerRendererBound?: boolean;
|
|
28
|
+
readonly module: PresentationModuleDefinition | null;
|
|
29
|
+
readonly sourceId: string;
|
|
30
|
+
readonly views?: readonly Pick<ViewDefinition, 'Collection' | 'Id' | 'Name'>[];
|
|
31
|
+
}): readonly PresentationProjectionDiagnostic[];
|
|
32
|
+
//# sourceMappingURL=presentation-collection-pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-collection-pagination.d.ts","sourceRoot":"","sources":["../src/presentation-collection-pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACpB,MAAM,UAAU,CAAA;AACjB,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,uCAAuC,CAAA;AAc9C,MAAM,MAAM,0CAA0C,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAEzF;;;GAGG;AACH,eAAO,MAAM,qCAAqC,KAAK,CAAA;AAEvD;;;GAGG;AACH,MAAM,WAAW,qDAAqD;IACpE,uEAAuE;IACvE,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IAEzC,oEAAoE;IACpE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IAEjC,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAA;IAEpD,oFAAoF;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,CAAA;CAC/D;AAED,wBAAgB,8CAA8C,CAAC,EAC7D,aAAa,EACb,eAAuD,EACvD,MAAM,EACN,KAAK,GACN,EAAE,qDAAqD,GAAG,SAAS,6BAA6B,EAAE,CAiBlG;AA0BD,wBAAgB,kDAAkD,CAAC,EACjE,QAAQ,EACR,mBAA0B,EAC1B,MAAM,EACN,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,QAAQ,EAAE,SAAS,6BAA6B,EAAE,CAAA;IAC3D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,IAAI,GAAG,MAAM,CAAC,EAAE,CAAA;CAC/E,GAAG,SAAS,gCAAgC,EAAE,CAsB9C"}
|