@miragon/pulse-widget-shell 0.24.2 → 0.25.0
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/README.md +134 -127
- package/dist/caller.d.ts +3 -0
- package/dist/caller.d.ts.map +1 -0
- package/dist/caller.js +18 -0
- package/dist/caller.js.map +1 -0
- package/dist/composed-server.d.ts +34 -66
- package/dist/composed-server.d.ts.map +1 -1
- package/dist/composed-server.js +130 -137
- package/dist/composed-server.js.map +1 -1
- package/dist/composition.d.ts +61 -111
- package/dist/composition.d.ts.map +1 -1
- package/dist/composition.js +120 -54
- package/dist/composition.js.map +1 -1
- package/dist/font-assets.d.ts +7 -28
- package/dist/font-assets.d.ts.map +1 -1
- package/dist/font-assets.js +11 -43
- package/dist/font-assets.js.map +1 -1
- package/dist/health.d.ts +9 -45
- package/dist/health.d.ts.map +1 -1
- package/dist/health.js +6 -24
- package/dist/health.js.map +1 -1
- package/dist/host-boot.d.ts +8 -38
- package/dist/host-boot.d.ts.map +1 -1
- package/dist/host-boot.js +10 -32
- package/dist/host-boot.js.map +1 -1
- package/dist/http-edge.d.ts +20 -76
- package/dist/http-edge.d.ts.map +1 -1
- package/dist/http-edge.js +17 -60
- package/dist/http-edge.js.map +1 -1
- package/dist/metrics.d.ts +6 -21
- package/dist/metrics.d.ts.map +1 -1
- package/dist/metrics.js +8 -36
- package/dist/metrics.js.map +1 -1
- package/dist/node-listener.d.ts +7 -39
- package/dist/node-listener.d.ts.map +1 -1
- package/dist/node-listener.js +6 -18
- package/dist/node-listener.js.map +1 -1
- package/dist/oauth-env.d.ts +15 -35
- package/dist/oauth-env.d.ts.map +1 -1
- package/dist/oauth-env.js +122 -62
- package/dist/oauth-env.js.map +1 -1
- package/dist/protocol/bpmn-names.d.ts +19 -0
- package/dist/protocol/bpmn-names.d.ts.map +1 -0
- package/dist/{bpmn-names.js → protocol/bpmn-names.js} +9 -38
- package/dist/protocol/bpmn-names.js.map +1 -0
- package/dist/protocol/served-fonts.d.ts +17 -0
- package/dist/protocol/served-fonts.d.ts.map +1 -0
- package/dist/protocol/served-fonts.js +30 -0
- package/dist/protocol/served-fonts.js.map +1 -0
- package/dist/protocol/tool-result.d.ts +24 -0
- package/dist/protocol/tool-result.d.ts.map +1 -0
- package/dist/protocol/tool-result.js +37 -0
- package/dist/protocol/tool-result.js.map +1 -0
- package/dist/protocol/translator.d.ts +14 -0
- package/dist/protocol/translator.d.ts.map +1 -0
- package/dist/protocol/translator.js +18 -0
- package/dist/protocol/translator.js.map +1 -0
- package/dist/protocol/view-name.d.ts +11 -0
- package/dist/protocol/view-name.d.ts.map +1 -0
- package/dist/protocol/view-name.js +23 -0
- package/dist/protocol/view-name.js.map +1 -0
- package/dist/request-context.d.ts +4 -33
- package/dist/request-context.d.ts.map +1 -1
- package/dist/request-context.js +11 -43
- package/dist/request-context.js.map +1 -1
- package/dist/server.d.ts +19 -39
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +28 -32
- package/dist/server.js.map +1 -1
- package/dist/testing/glossary.d.ts +4 -32
- package/dist/testing/glossary.d.ts.map +1 -1
- package/dist/testing/glossary.js +6 -30
- package/dist/testing/glossary.js.map +1 -1
- package/dist/testing/index.d.ts +1 -38
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +1 -38
- package/dist/testing/index.js.map +1 -1
- package/dist/tool-errors.d.ts +16 -0
- package/dist/tool-errors.d.ts.map +1 -0
- package/dist/tool-errors.js +23 -0
- package/dist/tool-errors.js.map +1 -0
- package/dist/tool-registrar.d.ts +29 -0
- package/dist/tool-registrar.d.ts.map +1 -0
- package/dist/tool-registrar.js +47 -0
- package/dist/tool-registrar.js.map +1 -0
- package/dist/tool-registration.d.ts +35 -0
- package/dist/tool-registration.d.ts.map +1 -0
- package/dist/tool-registration.js +80 -0
- package/dist/tool-registration.js.map +1 -0
- package/dist/tool-schema-trim.d.ts +1 -15
- package/dist/tool-schema-trim.d.ts.map +1 -1
- package/dist/tool-schema-trim.js +1 -16
- package/dist/tool-schema-trim.js.map +1 -1
- package/dist/toolsets.d.ts +10 -56
- package/dist/toolsets.d.ts.map +1 -1
- package/dist/toolsets.js +2 -10
- package/dist/toolsets.js.map +1 -1
- package/dist/ui/action-feedback.d.ts +4 -26
- package/dist/ui/action-feedback.d.ts.map +1 -1
- package/dist/ui/action-feedback.js +5 -19
- package/dist/ui/action-feedback.js.map +1 -1
- package/dist/ui/ask-ai-button.d.ts +6 -43
- package/dist/ui/ask-ai-button.d.ts.map +1 -1
- package/dist/ui/ask-ai-button.js +6 -18
- package/dist/ui/ask-ai-button.js.map +1 -1
- package/dist/ui/ask-ai-prompt.d.ts +6 -82
- package/dist/ui/ask-ai-prompt.d.ts.map +1 -1
- package/dist/ui/ask-ai-prompt.js +10 -77
- package/dist/ui/ask-ai-prompt.js.map +1 -1
- package/dist/ui/bpmn-tokens.d.ts +3 -48
- package/dist/ui/bpmn-tokens.d.ts.map +1 -1
- package/dist/ui/bpmn-tokens.js +3 -46
- package/dist/ui/bpmn-tokens.js.map +1 -1
- package/dist/ui/bpmn-zoom-controls.d.ts +4 -17
- package/dist/ui/bpmn-zoom-controls.d.ts.map +1 -1
- package/dist/ui/bpmn-zoom-controls.js +2 -16
- package/dist/ui/bpmn-zoom-controls.js.map +1 -1
- package/dist/ui/call-observer.d.ts +35 -0
- package/dist/ui/call-observer.d.ts.map +1 -0
- package/dist/ui/call-observer.js +86 -0
- package/dist/ui/call-observer.js.map +1 -0
- package/dist/ui/confirm-dialog.d.ts +4 -31
- package/dist/ui/confirm-dialog.d.ts.map +1 -1
- package/dist/ui/confirm-dialog.js +4 -27
- package/dist/ui/confirm-dialog.js.map +1 -1
- package/dist/ui/count-tone.d.ts +3 -17
- package/dist/ui/count-tone.d.ts.map +1 -1
- package/dist/ui/count-tone.js +2 -16
- package/dist/ui/count-tone.js.map +1 -1
- package/dist/ui/declare-served-fonts.d.ts +4 -10
- package/dist/ui/declare-served-fonts.d.ts.map +1 -1
- package/dist/ui/declare-served-fonts.js +6 -13
- package/dist/ui/declare-served-fonts.js.map +1 -1
- package/dist/ui/describe-error.d.ts +5 -47
- package/dist/ui/describe-error.d.ts.map +1 -1
- package/dist/ui/describe-error.js +8 -45
- package/dist/ui/describe-error.js.map +1 -1
- package/dist/ui/display-mode-toggle.d.ts +3 -16
- package/dist/ui/display-mode-toggle.d.ts.map +1 -1
- package/dist/ui/display-mode-toggle.js +6 -15
- package/dist/ui/display-mode-toggle.js.map +1 -1
- package/dist/ui/error-labels.d.ts +3 -19
- package/dist/ui/error-labels.d.ts.map +1 -1
- package/dist/ui/error-labels.js +0 -1
- package/dist/ui/error-labels.js.map +1 -1
- package/dist/ui/hand-off-button.d.ts +3 -18
- package/dist/ui/hand-off-button.d.ts.map +1 -1
- package/dist/ui/hand-off-button.js +3 -18
- package/dist/ui/hand-off-button.js.map +1 -1
- package/dist/ui/host-context.d.ts +13 -50
- package/dist/ui/host-context.d.ts.map +1 -1
- package/dist/ui/host-context.js +20 -51
- package/dist/ui/host-context.js.map +1 -1
- package/dist/ui/host-contexts.d.ts +19 -0
- package/dist/ui/host-contexts.d.ts.map +1 -0
- package/dist/ui/host-contexts.js +31 -0
- package/dist/ui/host-contexts.js.map +1 -0
- package/dist/ui/host-document.d.ts +3 -18
- package/dist/ui/host-document.d.ts.map +1 -1
- package/dist/ui/host-document.js +7 -25
- package/dist/ui/host-document.js.map +1 -1
- package/dist/ui/host-widgets.d.ts +21 -4
- package/dist/ui/host-widgets.d.ts.map +1 -1
- package/dist/ui/host-widgets.js +19 -11
- package/dist/ui/host-widgets.js.map +1 -1
- package/dist/ui/id-text.d.ts +1 -17
- package/dist/ui/id-text.d.ts.map +1 -1
- package/dist/ui/id-text.js +5 -26
- package/dist/ui/id-text.js.map +1 -1
- package/dist/ui/index.d.ts +24 -43
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +36 -51
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/inline-budget.d.ts +2 -16
- package/dist/ui/inline-budget.d.ts.map +1 -1
- package/dist/ui/inline-budget.js +1 -8
- package/dist/ui/inline-budget.js.map +1 -1
- package/dist/ui/inline-fit-registry.d.ts +4 -31
- package/dist/ui/inline-fit-registry.d.ts.map +1 -1
- package/dist/ui/inline-fit-registry.js +9 -27
- package/dist/ui/inline-fit-registry.js.map +1 -1
- package/dist/ui/inline-fit-solve.d.ts +5 -27
- package/dist/ui/inline-fit-solve.d.ts.map +1 -1
- package/dist/ui/inline-fit-solve.js +4 -23
- package/dist/ui/inline-fit-solve.js.map +1 -1
- package/dist/ui/inline-fit.d.ts +4 -53
- package/dist/ui/inline-fit.d.ts.map +1 -1
- package/dist/ui/inline-fit.js +16 -62
- package/dist/ui/inline-fit.js.map +1 -1
- package/dist/ui/kit-labels.d.ts +12 -51
- package/dist/ui/kit-labels.d.ts.map +1 -1
- package/dist/ui/kit-labels.js +18 -28
- package/dist/ui/kit-labels.js.map +1 -1
- package/dist/ui/list-table.d.ts +15 -69
- package/dist/ui/list-table.d.ts.map +1 -1
- package/dist/ui/list-table.js +11 -69
- package/dist/ui/list-table.js.map +1 -1
- package/dist/ui/locale-gate.d.ts +11 -0
- package/dist/ui/locale-gate.d.ts.map +1 -0
- package/dist/ui/locale-gate.js +53 -0
- package/dist/ui/locale-gate.js.map +1 -0
- package/dist/ui/mcp-use-host.d.ts +20 -0
- package/dist/ui/mcp-use-host.d.ts.map +1 -0
- package/dist/ui/mcp-use-host.js +162 -0
- package/dist/ui/mcp-use-host.js.map +1 -0
- package/dist/ui/open-in-cockpit-link.d.ts +2 -21
- package/dist/ui/open-in-cockpit-link.d.ts.map +1 -1
- package/dist/ui/open-in-cockpit-link.js +5 -20
- package/dist/ui/open-in-cockpit-link.js.map +1 -1
- package/dist/ui/paged-rows.d.ts +3 -14
- package/dist/ui/paged-rows.d.ts.map +1 -1
- package/dist/ui/paged-rows.js +4 -14
- package/dist/ui/paged-rows.js.map +1 -1
- package/dist/ui/query-fallback.d.ts +2 -16
- package/dist/ui/query-fallback.d.ts.map +1 -1
- package/dist/ui/query-fallback.js +2 -14
- package/dist/ui/query-fallback.js.map +1 -1
- package/dist/ui/shell-host.d.ts +13 -23
- package/dist/ui/shell-host.d.ts.map +1 -1
- package/dist/ui/shell-host.js +1 -46
- package/dist/ui/shell-host.js.map +1 -1
- package/dist/ui/test-view-host.d.ts +51 -0
- package/dist/ui/test-view-host.d.ts.map +1 -0
- package/dist/ui/test-view-host.js +72 -0
- package/dist/ui/test-view-host.js.map +1 -0
- package/dist/ui/tool-query.d.ts +41 -0
- package/dist/ui/tool-query.d.ts.map +1 -0
- package/dist/ui/tool-query.js +128 -0
- package/dist/ui/tool-query.js.map +1 -0
- package/dist/ui/use-apply-theme.d.ts +1 -8
- package/dist/ui/use-apply-theme.d.ts.map +1 -1
- package/dist/ui/use-apply-theme.js +1 -8
- package/dist/ui/use-apply-theme.js.map +1 -1
- package/dist/ui/use-bpmn-viewer.d.ts +39 -73
- package/dist/ui/use-bpmn-viewer.d.ts.map +1 -1
- package/dist/ui/use-bpmn-viewer.js +18 -66
- package/dist/ui/use-bpmn-viewer.js.map +1 -1
- package/dist/ui/use-detail-view.d.ts +4 -26
- package/dist/ui/use-detail-view.d.ts.map +1 -1
- package/dist/ui/use-detail-view.js +7 -28
- package/dist/ui/use-detail-view.js.map +1 -1
- package/dist/ui/use-paged-list-view.d.ts +5 -25
- package/dist/ui/use-paged-list-view.d.ts.map +1 -1
- package/dist/ui/use-paged-list-view.js +5 -14
- package/dist/ui/use-paged-list-view.js.map +1 -1
- package/dist/ui/use-paged-view-data.d.ts +11 -66
- package/dist/ui/use-paged-view-data.d.ts.map +1 -1
- package/dist/ui/use-paged-view-data.js +20 -53
- package/dist/ui/use-paged-view-data.js.map +1 -1
- package/dist/ui/view-call.d.ts +66 -0
- package/dist/ui/view-call.d.ts.map +1 -0
- package/dist/ui/view-call.js +63 -0
- package/dist/ui/view-call.js.map +1 -0
- package/dist/ui/view-data-state.d.ts +1 -31
- package/dist/ui/view-data-state.d.ts.map +1 -1
- package/dist/ui/view-data-state.js +3 -32
- package/dist/ui/view-data-state.js.map +1 -1
- package/dist/ui/view-error-boundary.d.ts +24 -0
- package/dist/ui/view-error-boundary.d.ts.map +1 -0
- package/dist/ui/view-error-boundary.js +33 -0
- package/dist/ui/view-error-boundary.js.map +1 -0
- package/dist/ui/view-frame.d.ts +15 -0
- package/dist/ui/view-frame.d.ts.map +1 -0
- package/dist/ui/view-frame.js +72 -0
- package/dist/ui/view-frame.js.map +1 -0
- package/dist/ui/view-host.d.ts +35 -0
- package/dist/ui/view-host.d.ts.map +1 -0
- package/dist/ui/view-host.js +18 -0
- package/dist/ui/view-host.js.map +1 -0
- package/dist/ui/view-meta.d.ts +6 -29
- package/dist/ui/view-meta.d.ts.map +1 -1
- package/dist/ui/view-meta.js +2 -13
- package/dist/ui/view-meta.js.map +1 -1
- package/dist/ui/view-refresh-state.d.ts +4 -18
- package/dist/ui/view-refresh-state.d.ts.map +1 -1
- package/dist/ui/view-refresh-state.js +1 -7
- package/dist/ui/view-refresh-state.js.map +1 -1
- package/dist/ui/view-root.d.ts +26 -0
- package/dist/ui/view-root.d.ts.map +1 -0
- package/dist/ui/view-root.js +48 -0
- package/dist/ui/view-root.js.map +1 -0
- package/dist/ui/views.d.ts +17 -0
- package/dist/ui/views.d.ts.map +1 -0
- package/dist/ui/views.js +11 -0
- package/dist/ui/views.js.map +1 -0
- package/dist/ui/widget-shell.d.ts +1 -13
- package/dist/ui/widget-shell.d.ts.map +1 -1
- package/dist/ui/widget-shell.js +5 -30
- package/dist/ui/widget-shell.js.map +1 -1
- package/dist/view-bundle.d.ts +15 -0
- package/dist/view-bundle.d.ts.map +1 -0
- package/dist/view-bundle.js +23 -0
- package/dist/view-bundle.js.map +1 -0
- package/dist/view-results.d.ts +12 -23
- package/dist/view-results.d.ts.map +1 -1
- package/dist/view-results.js +14 -11
- package/dist/view-results.js.map +1 -1
- package/dist/widget-tool-bindings.d.ts +19 -48
- package/dist/widget-tool-bindings.d.ts.map +1 -1
- package/dist/widget-tool-bindings.js +21 -49
- package/dist/widget-tool-bindings.js.map +1 -1
- package/package.json +24 -36
- package/dist/adapt-data-widget.d.ts +0 -7
- package/dist/adapt-data-widget.d.ts.map +0 -1
- package/dist/adapt-data-widget.js +0 -7
- package/dist/adapt-data-widget.js.map +0 -1
- package/dist/bpmn-names.d.ts +0 -42
- package/dist/bpmn-names.d.ts.map +0 -1
- package/dist/bpmn-names.js.map +0 -1
- package/dist/bpmn-names.test.d.ts +0 -2
- package/dist/bpmn-names.test.d.ts.map +0 -1
- package/dist/bpmn-names.test.js +0 -143
- package/dist/bpmn-names.test.js.map +0 -1
- package/dist/build-data-feed-result.test.d.ts +0 -2
- package/dist/build-data-feed-result.test.d.ts.map +0 -1
- package/dist/build-data-feed-result.test.js +0 -28
- package/dist/build-data-feed-result.test.js.map +0 -1
- package/dist/build-single-widget-view.test.d.ts +0 -2
- package/dist/build-single-widget-view.test.d.ts.map +0 -1
- package/dist/build-single-widget-view.test.js +0 -136
- package/dist/build-single-widget-view.test.js.map +0 -1
- package/dist/builder-texts.d.ts +0 -27
- package/dist/builder-texts.d.ts.map +0 -1
- package/dist/builder-texts.js +0 -32
- package/dist/builder-texts.js.map +0 -1
- package/dist/builder-texts.test.d.ts +0 -2
- package/dist/builder-texts.test.d.ts.map +0 -1
- package/dist/builder-texts.test.js +0 -54
- package/dist/builder-texts.test.js.map +0 -1
- package/dist/catalogue-sync.d.ts +0 -18
- package/dist/catalogue-sync.d.ts.map +0 -1
- package/dist/catalogue-sync.js +0 -31
- package/dist/catalogue-sync.js.map +0 -1
- package/dist/catalogue-sync.test.d.ts +0 -2
- package/dist/catalogue-sync.test.d.ts.map +0 -1
- package/dist/catalogue-sync.test.js +0 -22
- package/dist/catalogue-sync.test.js.map +0 -1
- package/dist/composed-server.edge.test.d.ts +0 -2
- package/dist/composed-server.edge.test.d.ts.map +0 -1
- package/dist/composed-server.edge.test.js +0 -184
- package/dist/composed-server.edge.test.js.map +0 -1
- package/dist/composed-server.fonts.test.d.ts +0 -2
- package/dist/composed-server.fonts.test.d.ts.map +0 -1
- package/dist/composed-server.fonts.test.js +0 -186
- package/dist/composed-server.fonts.test.js.map +0 -1
- package/dist/composed-server.test.d.ts +0 -2
- package/dist/composed-server.test.d.ts.map +0 -1
- package/dist/composed-server.test.js +0 -332
- package/dist/composed-server.test.js.map +0 -1
- package/dist/composition.test.d.ts +0 -2
- package/dist/composition.test.d.ts.map +0 -1
- package/dist/composition.test.js +0 -275
- package/dist/composition.test.js.map +0 -1
- package/dist/dashboard-store-postgres.d.ts +0 -43
- package/dist/dashboard-store-postgres.d.ts.map +0 -1
- package/dist/dashboard-store-postgres.js +0 -225
- package/dist/dashboard-store-postgres.js.map +0 -1
- package/dist/dashboard-store-postgres.test.d.ts +0 -2
- package/dist/dashboard-store-postgres.test.d.ts.map +0 -1
- package/dist/dashboard-store-postgres.test.js +0 -272
- package/dist/dashboard-store-postgres.test.js.map +0 -1
- package/dist/font-assets.test.d.ts +0 -2
- package/dist/font-assets.test.d.ts.map +0 -1
- package/dist/font-assets.test.js +0 -123
- package/dist/font-assets.test.js.map +0 -1
- package/dist/health.test.d.ts +0 -2
- package/dist/health.test.d.ts.map +0 -1
- package/dist/health.test.js +0 -140
- package/dist/health.test.js.map +0 -1
- package/dist/host-boot.test.d.ts +0 -2
- package/dist/host-boot.test.d.ts.map +0 -1
- package/dist/host-boot.test.js +0 -59
- package/dist/host-boot.test.js.map +0 -1
- package/dist/http-edge.test.d.ts +0 -2
- package/dist/http-edge.test.d.ts.map +0 -1
- package/dist/http-edge.test.js +0 -255
- package/dist/http-edge.test.js.map +0 -1
- package/dist/metrics.test.d.ts +0 -2
- package/dist/metrics.test.d.ts.map +0 -1
- package/dist/metrics.test.js +0 -154
- package/dist/metrics.test.js.map +0 -1
- package/dist/node-listener.test.d.ts +0 -2
- package/dist/node-listener.test.d.ts.map +0 -1
- package/dist/node-listener.test.js +0 -331
- package/dist/node-listener.test.js.map +0 -1
- package/dist/oauth-env.test.d.ts +0 -2
- package/dist/oauth-env.test.d.ts.map +0 -1
- package/dist/oauth-env.test.js +0 -76
- package/dist/oauth-env.test.js.map +0 -1
- package/dist/postgres.d.ts +0 -59
- package/dist/postgres.d.ts.map +0 -1
- package/dist/postgres.js +0 -80
- package/dist/postgres.js.map +0 -1
- package/dist/profile-advisory.d.ts +0 -19
- package/dist/profile-advisory.d.ts.map +0 -1
- package/dist/profile-advisory.js +0 -48
- package/dist/profile-advisory.js.map +0 -1
- package/dist/profile-advisory.test.d.ts +0 -2
- package/dist/profile-advisory.test.d.ts.map +0 -1
- package/dist/profile-advisory.test.js +0 -53
- package/dist/profile-advisory.test.js.map +0 -1
- package/dist/profile-constants.d.ts +0 -37
- package/dist/profile-constants.d.ts.map +0 -1
- package/dist/profile-constants.js +0 -37
- package/dist/profile-constants.js.map +0 -1
- package/dist/profile-migrations.d.ts +0 -71
- package/dist/profile-migrations.d.ts.map +0 -1
- package/dist/profile-migrations.js +0 -88
- package/dist/profile-migrations.js.map +0 -1
- package/dist/profile-migrations.test.d.ts +0 -2
- package/dist/profile-migrations.test.d.ts.map +0 -1
- package/dist/profile-migrations.test.js +0 -200
- package/dist/profile-migrations.test.js.map +0 -1
- package/dist/profile-record.d.ts +0 -60
- package/dist/profile-record.d.ts.map +0 -1
- package/dist/profile-record.js +0 -78
- package/dist/profile-record.js.map +0 -1
- package/dist/profile-slice.d.ts +0 -53
- package/dist/profile-slice.d.ts.map +0 -1
- package/dist/profile-slice.js +0 -73
- package/dist/profile-slice.js.map +0 -1
- package/dist/profile-slice.test.d.ts +0 -2
- package/dist/profile-slice.test.d.ts.map +0 -1
- package/dist/profile-slice.test.js +0 -73
- package/dist/profile-slice.test.js.map +0 -1
- package/dist/profile-store-env.d.ts +0 -34
- package/dist/profile-store-env.d.ts.map +0 -1
- package/dist/profile-store-env.js +0 -44
- package/dist/profile-store-env.js.map +0 -1
- package/dist/profile-store-env.test.d.ts +0 -2
- package/dist/profile-store-env.test.d.ts.map +0 -1
- package/dist/profile-store-env.test.js +0 -69
- package/dist/profile-store-env.test.js.map +0 -1
- package/dist/profile-store-postgres.d.ts +0 -33
- package/dist/profile-store-postgres.d.ts.map +0 -1
- package/dist/profile-store-postgres.js +0 -87
- package/dist/profile-store-postgres.js.map +0 -1
- package/dist/profile-store-raw.test.d.ts +0 -2
- package/dist/profile-store-raw.test.d.ts.map +0 -1
- package/dist/profile-store-raw.test.js +0 -185
- package/dist/profile-store-raw.test.js.map +0 -1
- package/dist/profile-store.d.ts +0 -85
- package/dist/profile-store.d.ts.map +0 -1
- package/dist/profile-store.js +0 -182
- package/dist/profile-store.js.map +0 -1
- package/dist/profile-store.test.d.ts +0 -2
- package/dist/profile-store.test.d.ts.map +0 -1
- package/dist/profile-store.test.js +0 -353
- package/dist/profile-store.test.js.map +0 -1
- package/dist/profile.d.ts +0 -75
- package/dist/profile.d.ts.map +0 -1
- package/dist/profile.js +0 -85
- package/dist/profile.js.map +0 -1
- package/dist/profile.test.d.ts +0 -2
- package/dist/profile.test.d.ts.map +0 -1
- package/dist/profile.test.js +0 -71
- package/dist/profile.test.js.map +0 -1
- package/dist/request-context.test.d.ts +0 -2
- package/dist/request-context.test.d.ts.map +0 -1
- package/dist/request-context.test.js +0 -107
- package/dist/request-context.test.js.map +0 -1
- package/dist/served-fonts.d.ts +0 -38
- package/dist/served-fonts.d.ts.map +0 -1
- package/dist/served-fonts.js +0 -51
- package/dist/served-fonts.js.map +0 -1
- package/dist/served-fonts.test.d.ts +0 -2
- package/dist/served-fonts.test.d.ts.map +0 -1
- package/dist/served-fonts.test.js +0 -30
- package/dist/served-fonts.test.js.map +0 -1
- package/dist/server-locale.d.ts +0 -58
- package/dist/server-locale.d.ts.map +0 -1
- package/dist/server-locale.js +0 -64
- package/dist/server-locale.js.map +0 -1
- package/dist/server-locale.test.d.ts +0 -2
- package/dist/server-locale.test.d.ts.map +0 -1
- package/dist/server-locale.test.js +0 -90
- package/dist/server-locale.test.js.map +0 -1
- package/dist/shell-catalogue.d.ts +0 -12
- package/dist/shell-catalogue.d.ts.map +0 -1
- package/dist/shell-catalogue.js +0 -142
- package/dist/shell-catalogue.js.map +0 -1
- package/dist/shell-settings-contract.d.ts +0 -34
- package/dist/shell-settings-contract.d.ts.map +0 -1
- package/dist/shell-settings-contract.js +0 -21
- package/dist/shell-settings-contract.js.map +0 -1
- package/dist/shell-settings.d.ts +0 -24
- package/dist/shell-settings.d.ts.map +0 -1
- package/dist/shell-settings.js +0 -148
- package/dist/shell-settings.js.map +0 -1
- package/dist/shell-settings.test.d.ts +0 -2
- package/dist/shell-settings.test.d.ts.map +0 -1
- package/dist/shell-settings.test.js +0 -115
- package/dist/shell-settings.test.js.map +0 -1
- package/dist/testing/catalog-text.d.ts +0 -53
- package/dist/testing/catalog-text.d.ts.map +0 -1
- package/dist/testing/catalog-text.js +0 -146
- package/dist/testing/catalog-text.js.map +0 -1
- package/dist/testing/catalog-text.test.d.ts +0 -2
- package/dist/testing/catalog-text.test.d.ts.map +0 -1
- package/dist/testing/catalog-text.test.js +0 -137
- package/dist/testing/catalog-text.test.js.map +0 -1
- package/dist/testing/colors.d.ts +0 -34
- package/dist/testing/colors.d.ts.map +0 -1
- package/dist/testing/colors.js +0 -124
- package/dist/testing/colors.js.map +0 -1
- package/dist/testing/colors.test.d.ts +0 -2
- package/dist/testing/colors.test.d.ts.map +0 -1
- package/dist/testing/colors.test.js +0 -166
- package/dist/testing/colors.test.js.map +0 -1
- package/dist/testing/contrast.d.ts +0 -77
- package/dist/testing/contrast.d.ts.map +0 -1
- package/dist/testing/contrast.js +0 -382
- package/dist/testing/contrast.js.map +0 -1
- package/dist/testing/contrast.test.d.ts +0 -2
- package/dist/testing/contrast.test.d.ts.map +0 -1
- package/dist/testing/contrast.test.js +0 -230
- package/dist/testing/contrast.test.js.map +0 -1
- package/dist/testing/display-texts.d.ts +0 -23
- package/dist/testing/display-texts.d.ts.map +0 -1
- package/dist/testing/display-texts.js +0 -88
- package/dist/testing/display-texts.js.map +0 -1
- package/dist/testing/display-texts.test.d.ts +0 -2
- package/dist/testing/display-texts.test.d.ts.map +0 -1
- package/dist/testing/display-texts.test.js +0 -169
- package/dist/testing/display-texts.test.js.map +0 -1
- package/dist/testing/glossary.test.d.ts +0 -2
- package/dist/testing/glossary.test.d.ts.map +0 -1
- package/dist/testing/glossary.test.js +0 -78
- package/dist/testing/glossary.test.js.map +0 -1
- package/dist/testing/glyphs.d.ts +0 -27
- package/dist/testing/glyphs.d.ts.map +0 -1
- package/dist/testing/glyphs.js +0 -130
- package/dist/testing/glyphs.js.map +0 -1
- package/dist/testing/glyphs.test.d.ts +0 -2
- package/dist/testing/glyphs.test.d.ts.map +0 -1
- package/dist/testing/glyphs.test.js +0 -146
- package/dist/testing/glyphs.test.js.map +0 -1
- package/dist/testing/icon-sizes.d.ts +0 -22
- package/dist/testing/icon-sizes.d.ts.map +0 -1
- package/dist/testing/icon-sizes.js +0 -39
- package/dist/testing/icon-sizes.js.map +0 -1
- package/dist/testing/icon-sizes.test.d.ts +0 -2
- package/dist/testing/icon-sizes.test.d.ts.map +0 -1
- package/dist/testing/icon-sizes.test.js +0 -36
- package/dist/testing/icon-sizes.test.js.map +0 -1
- package/dist/testing/source-scan.d.ts +0 -16
- package/dist/testing/source-scan.d.ts.map +0 -1
- package/dist/testing/source-scan.js +0 -57
- package/dist/testing/source-scan.js.map +0 -1
- package/dist/testing/tone-pairs.d.ts +0 -20
- package/dist/testing/tone-pairs.d.ts.map +0 -1
- package/dist/testing/tone-pairs.js +0 -154
- package/dist/testing/tone-pairs.js.map +0 -1
- package/dist/testing/type-scale.d.ts +0 -40
- package/dist/testing/type-scale.d.ts.map +0 -1
- package/dist/testing/type-scale.js +0 -55
- package/dist/testing/type-scale.js.map +0 -1
- package/dist/testing/type-scale.test.d.ts +0 -2
- package/dist/testing/type-scale.test.d.ts.map +0 -1
- package/dist/testing/type-scale.test.js +0 -61
- package/dist/testing/type-scale.test.js.map +0 -1
- package/dist/tool-schema-trim.test.d.ts +0 -2
- package/dist/tool-schema-trim.test.d.ts.map +0 -1
- package/dist/tool-schema-trim.test.js +0 -53
- package/dist/tool-schema-trim.test.js.map +0 -1
- package/dist/toolsets.test.d.ts +0 -2
- package/dist/toolsets.test.d.ts.map +0 -1
- package/dist/toolsets.test.js +0 -86
- package/dist/toolsets.test.js.map +0 -1
- package/dist/ui/action-feedback.test.d.ts +0 -2
- package/dist/ui/action-feedback.test.d.ts.map +0 -1
- package/dist/ui/action-feedback.test.js +0 -77
- package/dist/ui/action-feedback.test.js.map +0 -1
- package/dist/ui/app-shell-providers.d.ts +0 -18
- package/dist/ui/app-shell-providers.d.ts.map +0 -1
- package/dist/ui/app-shell-providers.js +0 -19
- package/dist/ui/app-shell-providers.js.map +0 -1
- package/dist/ui/app-shell-providers.test.d.ts +0 -2
- package/dist/ui/app-shell-providers.test.d.ts.map +0 -1
- package/dist/ui/app-shell-providers.test.js +0 -249
- package/dist/ui/app-shell-providers.test.js.map +0 -1
- package/dist/ui/ask-ai-button.test.d.ts +0 -2
- package/dist/ui/ask-ai-button.test.d.ts.map +0 -1
- package/dist/ui/ask-ai-button.test.js +0 -103
- package/dist/ui/ask-ai-button.test.js.map +0 -1
- package/dist/ui/ask-ai-prompt.test.d.ts +0 -2
- package/dist/ui/ask-ai-prompt.test.d.ts.map +0 -1
- package/dist/ui/ask-ai-prompt.test.js +0 -240
- package/dist/ui/ask-ai-prompt.test.js.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts +0 -2
- package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-ramp.test.js +0 -174
- package/dist/ui/bpmn-heatmap/heat-ramp.test.js.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-utils.d.ts +0 -119
- package/dist/ui/bpmn-heatmap/heat-utils.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-utils.js +0 -231
- package/dist/ui/bpmn-heatmap/heat-utils.js.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts +0 -2
- package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-utils.test.js +0 -59
- package/dist/ui/bpmn-heatmap/heat-utils.test.js.map +0 -1
- package/dist/ui/bpmn-heatmap-labels.d.ts +0 -46
- package/dist/ui/bpmn-heatmap-labels.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap-labels.js +0 -16
- package/dist/ui/bpmn-heatmap-labels.js.map +0 -1
- package/dist/ui/bpmn-heatmap-widget.d.ts +0 -38
- package/dist/ui/bpmn-heatmap-widget.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap-widget.js +0 -65
- package/dist/ui/bpmn-heatmap-widget.js.map +0 -1
- package/dist/ui/bpmn-heatmap-widget.test.d.ts +0 -2
- package/dist/ui/bpmn-heatmap-widget.test.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap-widget.test.js +0 -173
- package/dist/ui/bpmn-heatmap-widget.test.js.map +0 -1
- package/dist/ui/bpmn-heatmap.d.ts +0 -61
- package/dist/ui/bpmn-heatmap.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap.js +0 -119
- package/dist/ui/bpmn-heatmap.js.map +0 -1
- package/dist/ui/bpmn-tokens.test.d.ts +0 -2
- package/dist/ui/bpmn-tokens.test.d.ts.map +0 -1
- package/dist/ui/bpmn-tokens.test.js +0 -98
- package/dist/ui/bpmn-tokens.test.js.map +0 -1
- package/dist/ui/brand-gates.test.d.ts +0 -2
- package/dist/ui/brand-gates.test.d.ts.map +0 -1
- package/dist/ui/brand-gates.test.js +0 -131
- package/dist/ui/brand-gates.test.js.map +0 -1
- package/dist/ui/brand-mark.d.ts +0 -37
- package/dist/ui/brand-mark.d.ts.map +0 -1
- package/dist/ui/brand-mark.js +0 -33
- package/dist/ui/brand-mark.js.map +0 -1
- package/dist/ui/brand-mark.test.d.ts +0 -2
- package/dist/ui/brand-mark.test.d.ts.map +0 -1
- package/dist/ui/brand-mark.test.js +0 -111
- package/dist/ui/brand-mark.test.js.map +0 -1
- package/dist/ui/confirm-dialog.test.d.ts +0 -2
- package/dist/ui/confirm-dialog.test.d.ts.map +0 -1
- package/dist/ui/confirm-dialog.test.js +0 -115
- package/dist/ui/confirm-dialog.test.js.map +0 -1
- package/dist/ui/count-tone.test.d.ts +0 -2
- package/dist/ui/count-tone.test.d.ts.map +0 -1
- package/dist/ui/count-tone.test.js +0 -27
- package/dist/ui/count-tone.test.js.map +0 -1
- package/dist/ui/create-use-t.d.ts +0 -15
- package/dist/ui/create-use-t.d.ts.map +0 -1
- package/dist/ui/create-use-t.js +0 -17
- package/dist/ui/create-use-t.js.map +0 -1
- package/dist/ui/declare-served-fonts.test.d.ts +0 -2
- package/dist/ui/declare-served-fonts.test.d.ts.map +0 -1
- package/dist/ui/declare-served-fonts.test.js +0 -44
- package/dist/ui/declare-served-fonts.test.js.map +0 -1
- package/dist/ui/describe-error.test.d.ts +0 -2
- package/dist/ui/describe-error.test.d.ts.map +0 -1
- package/dist/ui/describe-error.test.js +0 -274
- package/dist/ui/describe-error.test.js.map +0 -1
- package/dist/ui/format.d.ts +0 -81
- package/dist/ui/format.d.ts.map +0 -1
- package/dist/ui/format.js +0 -189
- package/dist/ui/format.js.map +0 -1
- package/dist/ui/format.test.d.ts +0 -2
- package/dist/ui/format.test.d.ts.map +0 -1
- package/dist/ui/format.test.js +0 -181
- package/dist/ui/format.test.js.map +0 -1
- package/dist/ui/generic-widgets.d.ts +0 -15
- package/dist/ui/generic-widgets.d.ts.map +0 -1
- package/dist/ui/generic-widgets.js +0 -122
- package/dist/ui/generic-widgets.js.map +0 -1
- package/dist/ui/generic-widgets.test.d.ts +0 -2
- package/dist/ui/generic-widgets.test.d.ts.map +0 -1
- package/dist/ui/generic-widgets.test.js +0 -139
- package/dist/ui/generic-widgets.test.js.map +0 -1
- package/dist/ui/hand-off-button.test.d.ts +0 -2
- package/dist/ui/hand-off-button.test.d.ts.map +0 -1
- package/dist/ui/hand-off-button.test.js +0 -78
- package/dist/ui/hand-off-button.test.js.map +0 -1
- package/dist/ui/host-context.test.d.ts +0 -2
- package/dist/ui/host-context.test.d.ts.map +0 -1
- package/dist/ui/host-context.test.js +0 -160
- package/dist/ui/host-context.test.js.map +0 -1
- package/dist/ui/host-document.test.d.ts +0 -2
- package/dist/ui/host-document.test.d.ts.map +0 -1
- package/dist/ui/host-document.test.js +0 -112
- package/dist/ui/host-document.test.js.map +0 -1
- package/dist/ui/humanize-key.d.ts +0 -11
- package/dist/ui/humanize-key.d.ts.map +0 -1
- package/dist/ui/humanize-key.js +0 -26
- package/dist/ui/humanize-key.js.map +0 -1
- package/dist/ui/humanize-key.test.d.ts +0 -2
- package/dist/ui/humanize-key.test.d.ts.map +0 -1
- package/dist/ui/humanize-key.test.js +0 -42
- package/dist/ui/humanize-key.test.js.map +0 -1
- package/dist/ui/icon.d.ts +0 -37
- package/dist/ui/icon.d.ts.map +0 -1
- package/dist/ui/icon.js +0 -32
- package/dist/ui/icon.js.map +0 -1
- package/dist/ui/id-breaks.d.ts +0 -17
- package/dist/ui/id-breaks.d.ts.map +0 -1
- package/dist/ui/id-breaks.js +0 -36
- package/dist/ui/id-breaks.js.map +0 -1
- package/dist/ui/id-breaks.test.d.ts +0 -2
- package/dist/ui/id-breaks.test.d.ts.map +0 -1
- package/dist/ui/id-breaks.test.js +0 -37
- package/dist/ui/id-breaks.test.js.map +0 -1
- package/dist/ui/id-text.test.d.ts +0 -2
- package/dist/ui/id-text.test.d.ts.map +0 -1
- package/dist/ui/id-text.test.js +0 -122
- package/dist/ui/id-text.test.js.map +0 -1
- package/dist/ui/index.test.d.ts +0 -2
- package/dist/ui/index.test.d.ts.map +0 -1
- package/dist/ui/index.test.js +0 -34
- package/dist/ui/index.test.js.map +0 -1
- package/dist/ui/inline-fit-solve.test.d.ts +0 -2
- package/dist/ui/inline-fit-solve.test.d.ts.map +0 -1
- package/dist/ui/inline-fit-solve.test.js +0 -108
- package/dist/ui/inline-fit-solve.test.js.map +0 -1
- package/dist/ui/inline-fit-time.test.d.ts +0 -2
- package/dist/ui/inline-fit-time.test.d.ts.map +0 -1
- package/dist/ui/inline-fit-time.test.js +0 -110
- package/dist/ui/inline-fit-time.test.js.map +0 -1
- package/dist/ui/inline-fit.test-support.d.ts +0 -26
- package/dist/ui/inline-fit.test-support.d.ts.map +0 -1
- package/dist/ui/inline-fit.test-support.js +0 -34
- package/dist/ui/inline-fit.test-support.js.map +0 -1
- package/dist/ui/inline-fit.test.d.ts +0 -2
- package/dist/ui/inline-fit.test.d.ts.map +0 -1
- package/dist/ui/inline-fit.test.js +0 -159
- package/dist/ui/inline-fit.test.js.map +0 -1
- package/dist/ui/kit-labels.test.d.ts +0 -2
- package/dist/ui/kit-labels.test.d.ts.map +0 -1
- package/dist/ui/kit-labels.test.js +0 -98
- package/dist/ui/kit-labels.test.js.map +0 -1
- package/dist/ui/kit-type-roles.test.d.ts +0 -2
- package/dist/ui/kit-type-roles.test.d.ts.map +0 -1
- package/dist/ui/kit-type-roles.test.js +0 -122
- package/dist/ui/kit-type-roles.test.js.map +0 -1
- package/dist/ui/komet-svg.d.ts +0 -15
- package/dist/ui/komet-svg.d.ts.map +0 -1
- package/dist/ui/komet-svg.js +0 -21
- package/dist/ui/komet-svg.js.map +0 -1
- package/dist/ui/list-table.test.d.ts +0 -2
- package/dist/ui/list-table.test.d.ts.map +0 -1
- package/dist/ui/list-table.test.js +0 -169
- package/dist/ui/list-table.test.js.map +0 -1
- package/dist/ui/localized-app-view.d.ts +0 -40
- package/dist/ui/localized-app-view.d.ts.map +0 -1
- package/dist/ui/localized-app-view.js +0 -71
- package/dist/ui/localized-app-view.js.map +0 -1
- package/dist/ui/log-text.d.ts +0 -24
- package/dist/ui/log-text.d.ts.map +0 -1
- package/dist/ui/log-text.js +0 -31
- package/dist/ui/log-text.js.map +0 -1
- package/dist/ui/menu-item.d.ts +0 -12
- package/dist/ui/menu-item.d.ts.map +0 -1
- package/dist/ui/menu-item.js +0 -13
- package/dist/ui/menu-item.js.map +0 -1
- package/dist/ui/named-id.d.ts +0 -23
- package/dist/ui/named-id.d.ts.map +0 -1
- package/dist/ui/named-id.js +0 -21
- package/dist/ui/named-id.js.map +0 -1
- package/dist/ui/named-id.test.d.ts +0 -2
- package/dist/ui/named-id.test.d.ts.map +0 -1
- package/dist/ui/named-id.test.js +0 -57
- package/dist/ui/named-id.test.js.map +0 -1
- package/dist/ui/native-select.d.ts +0 -17
- package/dist/ui/native-select.d.ts.map +0 -1
- package/dist/ui/native-select.js +0 -20
- package/dist/ui/native-select.js.map +0 -1
- package/dist/ui/navigation-focus.d.ts +0 -20
- package/dist/ui/navigation-focus.d.ts.map +0 -1
- package/dist/ui/navigation-focus.js +0 -25
- package/dist/ui/navigation-focus.js.map +0 -1
- package/dist/ui/navigation-focus.test.d.ts +0 -2
- package/dist/ui/navigation-focus.test.d.ts.map +0 -1
- package/dist/ui/navigation-focus.test.js +0 -28
- package/dist/ui/navigation-focus.test.js.map +0 -1
- package/dist/ui/paged-list-footer.test.d.ts +0 -2
- package/dist/ui/paged-list-footer.test.d.ts.map +0 -1
- package/dist/ui/paged-list-footer.test.js +0 -128
- package/dist/ui/paged-list-footer.test.js.map +0 -1
- package/dist/ui/parse-tool-result.test.d.ts +0 -2
- package/dist/ui/parse-tool-result.test.d.ts.map +0 -1
- package/dist/ui/parse-tool-result.test.js +0 -88
- package/dist/ui/parse-tool-result.test.js.map +0 -1
- package/dist/ui/profile-gate.d.ts +0 -37
- package/dist/ui/profile-gate.d.ts.map +0 -1
- package/dist/ui/profile-gate.js +0 -126
- package/dist/ui/profile-gate.js.map +0 -1
- package/dist/ui/profile-gate.test.d.ts +0 -2
- package/dist/ui/profile-gate.test.d.ts.map +0 -1
- package/dist/ui/profile-gate.test.js +0 -246
- package/dist/ui/profile-gate.test.js.map +0 -1
- package/dist/ui/query-fallback.test.d.ts +0 -2
- package/dist/ui/query-fallback.test.d.ts.map +0 -1
- package/dist/ui/query-fallback.test.js +0 -49
- package/dist/ui/query-fallback.test.js.map +0 -1
- package/dist/ui/row-card.d.ts +0 -13
- package/dist/ui/row-card.d.ts.map +0 -1
- package/dist/ui/row-card.js +0 -11
- package/dist/ui/row-card.js.map +0 -1
- package/dist/ui/section.d.ts +0 -18
- package/dist/ui/section.d.ts.map +0 -1
- package/dist/ui/section.js +0 -14
- package/dist/ui/section.js.map +0 -1
- package/dist/ui/segmented-control.d.ts +0 -25
- package/dist/ui/segmented-control.d.ts.map +0 -1
- package/dist/ui/segmented-control.js +0 -22
- package/dist/ui/segmented-control.js.map +0 -1
- package/dist/ui/settings-labels.d.ts +0 -33
- package/dist/ui/settings-labels.d.ts.map +0 -1
- package/dist/ui/settings-labels.js +0 -50
- package/dist/ui/settings-labels.js.map +0 -1
- package/dist/ui/settings-layout.d.ts +0 -29
- package/dist/ui/settings-layout.d.ts.map +0 -1
- package/dist/ui/settings-layout.js +0 -49
- package/dist/ui/settings-layout.js.map +0 -1
- package/dist/ui/settings-layout.test.d.ts +0 -2
- package/dist/ui/settings-layout.test.d.ts.map +0 -1
- package/dist/ui/settings-layout.test.js +0 -73
- package/dist/ui/settings-layout.test.js.map +0 -1
- package/dist/ui/settings.d.ts +0 -47
- package/dist/ui/settings.d.ts.map +0 -1
- package/dist/ui/settings.js +0 -48
- package/dist/ui/settings.js.map +0 -1
- package/dist/ui/settings.test.d.ts +0 -2
- package/dist/ui/settings.test.d.ts.map +0 -1
- package/dist/ui/settings.test.js +0 -38
- package/dist/ui/settings.test.js.map +0 -1
- package/dist/ui/shell-settings.d.ts +0 -31
- package/dist/ui/shell-settings.d.ts.map +0 -1
- package/dist/ui/shell-settings.js +0 -97
- package/dist/ui/shell-settings.js.map +0 -1
- package/dist/ui/shell-settings.test.d.ts +0 -2
- package/dist/ui/shell-settings.test.d.ts.map +0 -1
- package/dist/ui/shell-settings.test.js +0 -108
- package/dist/ui/shell-settings.test.js.map +0 -1
- package/dist/ui/shell-widgets.d.ts +0 -14
- package/dist/ui/shell-widgets.d.ts.map +0 -1
- package/dist/ui/shell-widgets.js +0 -18
- package/dist/ui/shell-widgets.js.map +0 -1
- package/dist/ui/table.d.ts +0 -61
- package/dist/ui/table.d.ts.map +0 -1
- package/dist/ui/table.js +0 -43
- package/dist/ui/table.js.map +0 -1
- package/dist/ui/tone-components.test.d.ts +0 -2
- package/dist/ui/tone-components.test.d.ts.map +0 -1
- package/dist/ui/tone-components.test.js +0 -145
- package/dist/ui/tone-components.test.js.map +0 -1
- package/dist/ui/tone-contrast.test.d.ts +0 -2
- package/dist/ui/tone-contrast.test.d.ts.map +0 -1
- package/dist/ui/tone-contrast.test.js +0 -66
- package/dist/ui/tone-contrast.test.js.map +0 -1
- package/dist/ui/toolkit-overlap.test.d.ts +0 -2
- package/dist/ui/toolkit-overlap.test.d.ts.map +0 -1
- package/dist/ui/toolkit-overlap.test.js +0 -86
- package/dist/ui/toolkit-overlap.test.js.map +0 -1
- package/dist/ui/use-apply-theme.test.d.ts +0 -2
- package/dist/ui/use-apply-theme.test.d.ts.map +0 -1
- package/dist/ui/use-apply-theme.test.js +0 -102
- package/dist/ui/use-apply-theme.test.js.map +0 -1
- package/dist/ui/use-bpmn-viewer.test.d.ts +0 -2
- package/dist/ui/use-bpmn-viewer.test.d.ts.map +0 -1
- package/dist/ui/use-bpmn-viewer.test.js +0 -239
- package/dist/ui/use-bpmn-viewer.test.js.map +0 -1
- package/dist/ui/use-detail-view.test.d.ts +0 -2
- package/dist/ui/use-detail-view.test.d.ts.map +0 -1
- package/dist/ui/use-detail-view.test.js +0 -178
- package/dist/ui/use-detail-view.test.js.map +0 -1
- package/dist/ui/use-paged-list-view.test.d.ts +0 -2
- package/dist/ui/use-paged-list-view.test.d.ts.map +0 -1
- package/dist/ui/use-paged-list-view.test.js +0 -136
- package/dist/ui/use-paged-list-view.test.js.map +0 -1
- package/dist/ui/use-paged-view-data.seeded.test.d.ts +0 -2
- package/dist/ui/use-paged-view-data.seeded.test.d.ts.map +0 -1
- package/dist/ui/use-paged-view-data.seeded.test.js +0 -144
- package/dist/ui/use-paged-view-data.seeded.test.js.map +0 -1
- package/dist/ui/use-paged-view-data.test.d.ts +0 -2
- package/dist/ui/use-paged-view-data.test.d.ts.map +0 -1
- package/dist/ui/use-paged-view-data.test.js +0 -330
- package/dist/ui/use-paged-view-data.test.js.map +0 -1
- package/dist/ui/use-reset-on-change.d.ts +0 -22
- package/dist/ui/use-reset-on-change.d.ts.map +0 -1
- package/dist/ui/use-reset-on-change.js +0 -29
- package/dist/ui/use-reset-on-change.js.map +0 -1
- package/dist/ui/use-reset-on-change.test.d.ts +0 -2
- package/dist/ui/use-reset-on-change.test.d.ts.map +0 -1
- package/dist/ui/use-reset-on-change.test.js +0 -61
- package/dist/ui/use-reset-on-change.test.js.map +0 -1
- package/dist/ui/use-view-data.seeded.test.d.ts +0 -2
- package/dist/ui/use-view-data.seeded.test.d.ts.map +0 -1
- package/dist/ui/use-view-data.seeded.test.js +0 -168
- package/dist/ui/use-view-data.seeded.test.js.map +0 -1
- package/dist/ui/view-data-state.test.d.ts +0 -2
- package/dist/ui/view-data-state.test.d.ts.map +0 -1
- package/dist/ui/view-data-state.test.js +0 -62
- package/dist/ui/view-data-state.test.js.map +0 -1
- package/dist/ui/view-meta.test.d.ts +0 -2
- package/dist/ui/view-meta.test.d.ts.map +0 -1
- package/dist/ui/view-meta.test.js +0 -92
- package/dist/ui/view-meta.test.js.map +0 -1
- package/dist/ui/widget-shell.test.d.ts +0 -2
- package/dist/ui/widget-shell.test.d.ts.map +0 -1
- package/dist/ui/widget-shell.test.js +0 -41
- package/dist/ui/widget-shell.test.js.map +0 -1
- package/dist/widget-meta-defaults.d.ts +0 -48
- package/dist/widget-meta-defaults.d.ts.map +0 -1
- package/dist/widget-meta-defaults.js +0 -80
- package/dist/widget-meta-defaults.js.map +0 -1
- package/dist/widget-meta-defaults.test.d.ts +0 -2
- package/dist/widget-meta-defaults.test.d.ts.map +0 -1
- package/dist/widget-meta-defaults.test.js +0 -196
- package/dist/widget-meta-defaults.test.js.map +0 -1
- package/dist/widget-tool-bindings.test.d.ts +0 -2
- package/dist/widget-tool-bindings.test.d.ts.map +0 -1
- package/dist/widget-tool-bindings.test.js +0 -83
- package/dist/widget-tool-bindings.test.js.map +0 -1
- package/dist/with-tool-errors.test.d.ts +0 -2
- package/dist/with-tool-errors.test.d.ts.map +0 -1
- package/dist/with-tool-errors.test.js +0 -38
- package/dist/with-tool-errors.test.js.map +0 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/** What a view renders: a non-null, non-array object (`buildViewResult`'s data). */
|
|
2
|
+
export function isViewData(value) {
|
|
3
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
4
|
+
}
|
|
5
|
+
const WAITING = { phase: "waiting" };
|
|
6
|
+
/**
|
|
7
|
+
* In order: the view's own successful re-run; the host's renderable result; a cancel; a re-run in
|
|
8
|
+
* flight (waiting, so a retry is never clicked twice); its failure; the call's own error; a
|
|
9
|
+
* stripped or unrenderable result (`recover`: re-run once); else still waiting. A slow tool, an
|
|
10
|
+
* `isError` or a cancel is never re-run on its own: re-running a failure only repeats it. The
|
|
11
|
+
* re-run checks no annotations, because every view-bound tool is a read (a server pins that, as
|
|
12
|
+
* the Pulse app's `view-registry.test.ts` does).
|
|
13
|
+
*/
|
|
14
|
+
export function resolveViewCall(inputs) {
|
|
15
|
+
const { status, output, rerun } = inputs;
|
|
16
|
+
if (rerun.state === "done") {
|
|
17
|
+
const reloadedAt = rerun.recovered ? rerun.at : null;
|
|
18
|
+
return { phase: { phase: "ready", data: rerun.data, reloadedAt }, recover: false };
|
|
19
|
+
}
|
|
20
|
+
if (status === "ready" && isViewData(output)) {
|
|
21
|
+
return { phase: { phase: "ready", data: output, reloadedAt: null }, recover: false };
|
|
22
|
+
}
|
|
23
|
+
if (inputs.cancelled)
|
|
24
|
+
return { phase: { phase: "cancelled" }, recover: false };
|
|
25
|
+
if (rerun.state === "running")
|
|
26
|
+
return { phase: WAITING, recover: false };
|
|
27
|
+
if (rerun.state === "failed")
|
|
28
|
+
return { phase: { phase: "error", error: rerun.error }, recover: false };
|
|
29
|
+
if (status === "error") {
|
|
30
|
+
const error = inputs.error ?? new Error("The tool call failed.");
|
|
31
|
+
return { phase: { phase: "error", error }, recover: false };
|
|
32
|
+
}
|
|
33
|
+
const recover = status === "ready" || inputs.observation.result === "stripped";
|
|
34
|
+
return { phase: WAITING, recover };
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The frame's own model line (read by the model, never shown, so English): an error or cancel
|
|
38
|
+
* the user sees instead of the view, or figures the view re-loaded itself. `null` while waiting
|
|
39
|
+
* and for a plain host-delivered view.
|
|
40
|
+
*/
|
|
41
|
+
export function viewCallContext(phase) {
|
|
42
|
+
switch (phase.phase) {
|
|
43
|
+
case "waiting":
|
|
44
|
+
return null;
|
|
45
|
+
case "cancelled":
|
|
46
|
+
return {
|
|
47
|
+
summary: "The view was cancelled before it rendered. The user sees a note that the call was cancelled.",
|
|
48
|
+
};
|
|
49
|
+
case "error":
|
|
50
|
+
return {
|
|
51
|
+
summary: "The view could not be shown. The user sees an error message with a retry button instead of the view.",
|
|
52
|
+
untrusted: [{ label: "reason", text: phase.error.message }],
|
|
53
|
+
};
|
|
54
|
+
case "ready":
|
|
55
|
+
if (phase.reloadedAt === null)
|
|
56
|
+
return null;
|
|
57
|
+
return {
|
|
58
|
+
summary: "The view re-ran its tool because the host did not pass the result to the view; its figures are live as of liveAsOf and can differ from the result in the chat.",
|
|
59
|
+
facts: { liveAsOf: new Date(phase.reloadedAt).toISOString() },
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=view-call.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-call.js","sourceRoot":"","sources":["../../src/ui/view-call.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +1,22 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* A loading state for screen readers and eyes alike: a polite status with
|
|
4
|
-
* the (visually hidden) text, and the skeleton shown instead of it.
|
|
5
|
-
*/
|
|
6
2
|
export declare function LoadingStatus({ text, skeleton, className, }: {
|
|
7
3
|
text: string;
|
|
8
4
|
skeleton?: ReactNode;
|
|
9
5
|
className?: string;
|
|
10
6
|
}): import("react").JSX.Element;
|
|
11
|
-
/**
|
|
12
|
-
* The canonical loading / error / no-data boundary for widgets driven by
|
|
13
|
-
* `useViewData`-style hooks — the block every widget used to copy inline.
|
|
14
|
-
*
|
|
15
|
-
* - Loading: the `skeleton` (default: a heading bar and a block) under a
|
|
16
|
-
* polite status whose words ("Ansicht wird geladen…" / "Loading view…",
|
|
17
|
-
* or `loadingText`) only a screen reader reads.
|
|
18
|
-
* - Error: the toolkit's `ErrorState` from {@link describeError}: what
|
|
19
|
-
* happened, what you can do, the raw text collapsed under "Details", and a
|
|
20
|
-
* retry — mandatory, a failed load is never a dead end.
|
|
21
|
-
* - No data: the toolkit's `EmptyState` with `emptyText`.
|
|
22
|
-
*
|
|
23
|
-
* Callers keep their own wrapper (`WidgetShell`, card, …):
|
|
24
|
-
*
|
|
25
|
-
* if (!data) {
|
|
26
|
-
* return (
|
|
27
|
-
* <WidgetShell>
|
|
28
|
-
* <ViewDataState loading={loading} error={error} onRetry={refetch}
|
|
29
|
-
* emptyText={t("x.noData")} />
|
|
30
|
-
* </WidgetShell>
|
|
31
|
-
* )
|
|
32
|
-
* }
|
|
33
|
-
*/
|
|
7
|
+
/** Loading, error and no-data boundary; the retry is mandatory, a failed load is never a dead end. */
|
|
34
8
|
export declare function ViewDataState({ loading, error, onRetry, emptyText, loadingText, skeleton, errorTitle, retryLabel, className, }: {
|
|
35
9
|
loading: boolean;
|
|
36
10
|
error: Error | null | undefined;
|
|
37
|
-
/** Re-run the failed load (the query's refetch). */
|
|
38
11
|
onRetry: () => void;
|
|
39
12
|
/** What is missing when the load finished without data ("No incident found"). */
|
|
40
13
|
emptyText: string;
|
|
41
|
-
/** The loading status for screen readers (default: the active locale's "Loading view…"). */
|
|
42
14
|
loadingText?: string;
|
|
43
15
|
/** Shown while loading, shaped like the result (default: a heading bar and a block). */
|
|
44
16
|
skeleton?: ReactNode;
|
|
45
17
|
/** Title for an error the kit cannot classify (default: the locale's "Something went wrong"). */
|
|
46
18
|
errorTitle?: string;
|
|
47
|
-
/** Caller-localized retry label (default: the active locale's). */
|
|
48
19
|
retryLabel?: string;
|
|
49
|
-
/** Merged into the state's wrapper (tailwind-merge semantics). */
|
|
50
20
|
className?: string;
|
|
51
21
|
}): import("react").JSX.Element;
|
|
52
22
|
//# sourceMappingURL=view-data-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-data-state.d.ts","sourceRoot":"","sources":["../../src/ui/view-data-state.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"view-data-state.d.ts","sourceRoot":"","sources":["../../src/ui/view-data-state.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAetC,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,QAAQ,EACR,SAAS,GACV,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,+BASA;AAED,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,KAAK,EACL,OAAO,EACP,SAAS,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,GACV,EAAE;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAA;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,+BA0BA"}
|
|
@@ -1,44 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn, EmptyState, ErrorState, Skeleton, useLocale } from "@miragon/
|
|
2
|
+
import { cn, EmptyState, ErrorState, Skeleton, useLocale } from "@miragon/pulse-ui";
|
|
3
3
|
import { describeError } from "./describe-error.js";
|
|
4
4
|
import { kitLabels } from "./kit-labels.js";
|
|
5
|
-
/**
|
|
6
|
-
* The default loading skeleton: a heading bar over a block, the rough
|
|
7
|
-
* geometry of a widget body. Pass `skeleton` for one shaped like the result.
|
|
8
|
-
*/
|
|
5
|
+
/** The rough geometry of a widget body. */
|
|
9
6
|
function DefaultSkeleton() {
|
|
10
7
|
return (_jsxs(_Fragment, { children: [_jsx(Skeleton, { className: "h-7 w-48" }), _jsx(Skeleton, { className: "h-24 w-full" })] }));
|
|
11
8
|
}
|
|
12
|
-
/**
|
|
13
|
-
* A loading state for screen readers and eyes alike: a polite status with
|
|
14
|
-
* the (visually hidden) text, and the skeleton shown instead of it.
|
|
15
|
-
*/
|
|
16
9
|
export function LoadingStatus({ text, skeleton, className, }) {
|
|
17
10
|
return (_jsxs("div", { role: "status", className: cn("flex flex-col gap-3", className), children: [_jsx("span", { className: "sr-only", children: text }), _jsx("div", { "aria-hidden": "true", className: "flex flex-col gap-3", children: skeleton ?? _jsx(DefaultSkeleton, {}) })] }));
|
|
18
11
|
}
|
|
19
|
-
/**
|
|
20
|
-
* The canonical loading / error / no-data boundary for widgets driven by
|
|
21
|
-
* `useViewData`-style hooks — the block every widget used to copy inline.
|
|
22
|
-
*
|
|
23
|
-
* - Loading: the `skeleton` (default: a heading bar and a block) under a
|
|
24
|
-
* polite status whose words ("Ansicht wird geladen…" / "Loading view…",
|
|
25
|
-
* or `loadingText`) only a screen reader reads.
|
|
26
|
-
* - Error: the toolkit's `ErrorState` from {@link describeError}: what
|
|
27
|
-
* happened, what you can do, the raw text collapsed under "Details", and a
|
|
28
|
-
* retry — mandatory, a failed load is never a dead end.
|
|
29
|
-
* - No data: the toolkit's `EmptyState` with `emptyText`.
|
|
30
|
-
*
|
|
31
|
-
* Callers keep their own wrapper (`WidgetShell`, card, …):
|
|
32
|
-
*
|
|
33
|
-
* if (!data) {
|
|
34
|
-
* return (
|
|
35
|
-
* <WidgetShell>
|
|
36
|
-
* <ViewDataState loading={loading} error={error} onRetry={refetch}
|
|
37
|
-
* emptyText={t("x.noData")} />
|
|
38
|
-
* </WidgetShell>
|
|
39
|
-
* )
|
|
40
|
-
* }
|
|
41
|
-
*/
|
|
12
|
+
/** Loading, error and no-data boundary; the retry is mandatory, a failed load is never a dead end. */
|
|
42
13
|
export function ViewDataState({ loading, error, onRetry, emptyText, loadingText, skeleton, errorTitle, retryLabel, className, }) {
|
|
43
14
|
const locale = useLocale();
|
|
44
15
|
const defaults = kitLabels(locale);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-data-state.js","sourceRoot":"","sources":["../../src/ui/view-data-state.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"view-data-state.js","sourceRoot":"","sources":["../../src/ui/view-data-state.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,2CAA2C;AAC3C,SAAS,eAAe;IACtB,OAAO,CACL,8BACE,KAAC,QAAQ,IAAC,SAAS,EAAC,UAAU,GAAG,EACjC,KAAC,QAAQ,IAAC,SAAS,EAAC,aAAa,GAAG,IACnC,CACJ,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAC5B,IAAI,EACJ,QAAQ,EACR,SAAS,GAKV;IACC,OAAO,CACL,eAAK,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,aAChE,eAAM,SAAS,EAAC,SAAS,YAAE,IAAI,GAAQ,EACvC,6BAAiB,MAAM,EAAC,SAAS,EAAC,qBAAqB,YACpD,QAAQ,IAAI,KAAC,eAAe,KAAG,GAC5B,IACF,CACP,CAAA;AACH,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,EACP,KAAK,EACL,OAAO,EACP,SAAS,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,GAcV;IACC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IAClC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAA;QAC7E,OAAO,CACL,KAAC,UAAU,IACT,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,WAAW,EAAE,SAAS,CAAC,IAAI,EAC3B,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,SAAS,EACvC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,GACtB,CACH,CAAA;IACH,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,KAAC,aAAa,IACZ,IAAI,EAAE,WAAW,IAAI,QAAQ,CAAC,WAAW,EACzC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,GACpB,CACH,CAAA;IACH,CAAC;IACD,OAAO,KAAC,UAAU,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAI,CAAA;AAC/D,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Component, type ErrorInfo, type ReactNode } from "react";
|
|
2
|
+
interface BoundaryState {
|
|
3
|
+
error: Error | null;
|
|
4
|
+
resetKey: unknown;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Keeps one crashing widget from blanking the view: it says the element couldn't be displayed,
|
|
8
|
+
* the raw text under Details, with a retry that renders it again. A new `resetKey` (the next
|
|
9
|
+
* route) clears it.
|
|
10
|
+
*/
|
|
11
|
+
export declare class ViewErrorBoundary extends Component<{
|
|
12
|
+
resetKey?: unknown;
|
|
13
|
+
children: ReactNode;
|
|
14
|
+
}, BoundaryState> {
|
|
15
|
+
state: BoundaryState;
|
|
16
|
+
static getDerivedStateFromError(error: unknown): Partial<BoundaryState>;
|
|
17
|
+
static getDerivedStateFromProps(props: {
|
|
18
|
+
resetKey?: unknown;
|
|
19
|
+
}, state: BoundaryState): Partial<BoundaryState> | null;
|
|
20
|
+
componentDidCatch(error: Error, info: ErrorInfo): void;
|
|
21
|
+
render(): ReactNode;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=view-error-boundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-error-boundary.d.ts","sourceRoot":"","sources":["../../src/ui/view-error-boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjE,UAAU,aAAa;IACrB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,SAAS,CAC9C;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,EAC3C,aAAa,CACd;IACC,KAAK,EAAE,aAAa,CAAiD;IAErE,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAIvE,MAAM,CAAC,wBAAwB,CAC7B,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,EAC7B,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAMhC,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAItD,MAAM,IAAI,SAAS;CAIpB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Component } from "react";
|
|
3
|
+
import { ErrorState, useLocale } from "@miragon/pulse-ui";
|
|
4
|
+
import { kitLabels } from "./kit-labels.js";
|
|
5
|
+
/**
|
|
6
|
+
* Keeps one crashing widget from blanking the view: it says the element couldn't be displayed,
|
|
7
|
+
* the raw text under Details, with a retry that renders it again. A new `resetKey` (the next
|
|
8
|
+
* route) clears it.
|
|
9
|
+
*/
|
|
10
|
+
export class ViewErrorBoundary extends Component {
|
|
11
|
+
state = { error: null, resetKey: this.props.resetKey };
|
|
12
|
+
static getDerivedStateFromError(error) {
|
|
13
|
+
return { error: error instanceof Error ? error : new Error(String(error)) };
|
|
14
|
+
}
|
|
15
|
+
static getDerivedStateFromProps(props, state) {
|
|
16
|
+
return Object.is(props.resetKey, state.resetKey)
|
|
17
|
+
? null
|
|
18
|
+
: { error: null, resetKey: props.resetKey };
|
|
19
|
+
}
|
|
20
|
+
componentDidCatch(error, info) {
|
|
21
|
+
console.error("[pulse] a view element crashed:", error, info.componentStack);
|
|
22
|
+
}
|
|
23
|
+
render() {
|
|
24
|
+
if (!this.state.error)
|
|
25
|
+
return this.props.children;
|
|
26
|
+
return _jsx(Crashed, { error: this.state.error, onRetry: () => this.setState({ error: null }) });
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function Crashed({ error, onRetry }) {
|
|
30
|
+
const labels = kitLabels(useLocale());
|
|
31
|
+
return (_jsx(ErrorState, { variant: "inline", title: labels.viewCrashed, details: error.message || undefined, onRetry: onRetry, retryLabel: labels.retry }));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=view-error-boundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-error-boundary.js","sourceRoot":"","sources":["../../src/ui/view-error-boundary.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAkC,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAO3C;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,SAGtC;IACC,KAAK,GAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;IAErE,MAAM,CAAC,wBAAwB,CAAC,KAAc;QAC5C,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;IAC7E,CAAC;IAED,MAAM,CAAC,wBAAwB,CAC7B,KAA6B,EAC7B,KAAoB;QAEpB,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;YAC9C,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAA;IAC/C,CAAC;IAED,iBAAiB,CAAC,KAAY,EAAE,IAAe;QAC7C,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAC9E,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;QACjD,OAAO,KAAC,OAAO,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GAAI,CAAA;IAC5F,CAAC;CACF;AAED,SAAS,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAyC;IACxE,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,CAAA;IACrC,OAAO,CACL,KAAC,UAAU,IACT,OAAO,EAAC,QAAQ,EAChB,KAAK,EAAE,MAAM,CAAC,WAAW,EACzB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS,EACnC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,CAAC,KAAK,GACxB,CACH,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ViewCall } from "./view-call.js";
|
|
2
|
+
import type { ViewComponent } from "./views.js";
|
|
3
|
+
/** After this long, the waiting line adds what to do. */
|
|
4
|
+
export declare const SLOW_HINT_MS = 8000;
|
|
5
|
+
/**
|
|
6
|
+
* The view's lifecycle around ONE view component: waiting, error (the kit's words, the raw text
|
|
7
|
+
* under Details, Try again), cancelled, a missing view, then the view itself under a toolbar that
|
|
8
|
+
* carries the "Reloaded at" stamp and the fullscreen switch. No title: views carry their heading.
|
|
9
|
+
* Host-agnostic, so it renders under `TestViewHost` too.
|
|
10
|
+
*/
|
|
11
|
+
export declare function ViewFrame({ call, view }: {
|
|
12
|
+
call: ViewCall;
|
|
13
|
+
view: ViewComponent | undefined;
|
|
14
|
+
}): import("react").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=view-frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-frame.d.ts","sourceRoot":"","sources":["../../src/ui/view-frame.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAI/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,yDAAyD;AACzD,eAAO,MAAM,YAAY,OAAQ,CAAA;AAEjC;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAA;CAAE,+BAgB5F"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
+
import { ErrorState, Skeleton, useLocale, formatTime } from "@miragon/pulse-ui";
|
|
4
|
+
import { modelContextText } from "./ask-ai-prompt.js";
|
|
5
|
+
import { DisplayModeToggle, useDisplayModeControl } from "./display-mode-toggle.js";
|
|
6
|
+
import { kitLabels } from "./kit-labels.js";
|
|
7
|
+
import { useShellHost } from "./shell-host.js";
|
|
8
|
+
import { viewCallContext } from "./view-call.js";
|
|
9
|
+
import { ViewDataState } from "./view-data-state.js";
|
|
10
|
+
import { ViewErrorBoundary } from "./view-error-boundary.js";
|
|
11
|
+
import { HostModelContext } from "./view-host.js";
|
|
12
|
+
/** After this long, the waiting line adds what to do. */
|
|
13
|
+
export const SLOW_HINT_MS = 8_000;
|
|
14
|
+
/**
|
|
15
|
+
* The view's lifecycle around ONE view component: waiting, error (the kit's words, the raw text
|
|
16
|
+
* under Details, Try again), cancelled, a missing view, then the view itself under a toolbar that
|
|
17
|
+
* carries the "Reloaded at" stamp and the fullscreen switch. No title: views carry their heading.
|
|
18
|
+
* Host-agnostic, so it renders under `TestViewHost` too.
|
|
19
|
+
*/
|
|
20
|
+
export function ViewFrame({ call, view }) {
|
|
21
|
+
const frameRef = useRef(null);
|
|
22
|
+
const labels = kitLabels(useLocale());
|
|
23
|
+
const { phase } = call;
|
|
24
|
+
// The frame stays the focus target, so a retry never drops focus to the document.
|
|
25
|
+
const retry = useCallback(() => {
|
|
26
|
+
frameRef.current?.focus();
|
|
27
|
+
call.retry();
|
|
28
|
+
}, [call]);
|
|
29
|
+
const spec = view ? viewCallContext(phase) : null;
|
|
30
|
+
return (_jsxs("div", { ref: frameRef, tabIndex: -1, "data-slot": "view-frame", className: "outline-hidden", children: [spec && _jsx(HostModelContext, { content: modelContextText(spec) }), _jsx(FrameBody, { call: call, view: view, labels: labels, onRetry: retry })] }));
|
|
31
|
+
}
|
|
32
|
+
function FrameBody({ call: { phase }, view: View, labels, onRetry, }) {
|
|
33
|
+
if (!View) {
|
|
34
|
+
return (_jsx("div", { className: "px-4 py-4", children: _jsx(ErrorState, { title: labels.viewMissing }) }));
|
|
35
|
+
}
|
|
36
|
+
switch (phase.phase) {
|
|
37
|
+
case "waiting":
|
|
38
|
+
return _jsx(ViewWaiting, { labels: labels });
|
|
39
|
+
case "cancelled":
|
|
40
|
+
return (_jsx("div", { className: "px-4 py-4", children: _jsx("p", { role: "status", className: "text-muted-foreground text-small", children: labels.cancelled }) }));
|
|
41
|
+
case "error":
|
|
42
|
+
return (_jsx("div", { className: "px-4 py-4", children: _jsx(ViewDataState, { loading: false, error: phase.error, onRetry: onRetry, emptyText: "", errorTitle: labels.viewErrorTitle }) }));
|
|
43
|
+
case "ready":
|
|
44
|
+
return (_jsx(ViewMain, { reloadedAt: phase.reloadedAt, labels: labels, children: _jsx(ViewErrorBoundary, { children: _jsx(View, { data: phase.data }) }) }));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/** No aria-busy above the live region: assistive technology may hold back the slow hint. */
|
|
48
|
+
function ViewWaiting({ labels }) {
|
|
49
|
+
const [slow, setSlow] = useState(false);
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
const id = setTimeout(() => setSlow(true), SLOW_HINT_MS);
|
|
52
|
+
return () => clearTimeout(id);
|
|
53
|
+
}, []);
|
|
54
|
+
return (_jsxs("div", { className: "flex flex-col gap-4 px-4 py-4", children: [_jsx(Skeleton, { "aria-hidden": "true", className: "h-8 w-48" }), _jsx(Skeleton, { "aria-hidden": "true", className: "h-32 w-full" }), _jsxs("div", { role: "status", className: "text-muted-foreground text-small flex flex-col gap-1", children: [_jsx("p", { children: labels.loadingView }), slow && _jsx("p", { "data-slot": "slow-hint", children: labels.slowHint })] })] }));
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Fullscreen, the view owns the viewport and scrolls itself; inline the host sizes the frame from
|
|
58
|
+
* its height. Safe-area insets pad it on mobile hosts.
|
|
59
|
+
*/
|
|
60
|
+
function ViewMain({ reloadedAt, labels, children, }) {
|
|
61
|
+
const { safeArea } = useShellHost();
|
|
62
|
+
const { displayMode, canFullscreen } = useDisplayModeControl();
|
|
63
|
+
const style = {
|
|
64
|
+
...(displayMode === "fullscreen" ? { minHeight: "100vh", overflowY: "auto" } : null),
|
|
65
|
+
paddingTop: safeArea?.top,
|
|
66
|
+
paddingRight: safeArea?.right,
|
|
67
|
+
paddingBottom: safeArea?.bottom,
|
|
68
|
+
paddingLeft: safeArea?.left,
|
|
69
|
+
};
|
|
70
|
+
return (_jsxs("main", { style: style, children: [(reloadedAt !== null || canFullscreen) && (_jsxs("div", { "data-slot": "view-toolbar", className: "flex min-h-12 items-center gap-2 px-4 py-2", children: [reloadedAt !== null && (_jsx("p", { "data-slot": "view-reloaded-at", className: "text-muted-foreground text-small min-w-0 truncate", children: labels.reloadedAt(formatTime(new Date(reloadedAt).toISOString(), { seconds: false })) })), _jsx("div", { className: "ml-auto flex shrink-0 items-center gap-1", children: _jsx(DisplayModeToggle, {}) })] })), children] }));
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=view-frame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-frame.js","sourceRoot":"","sources":["../../src/ui/view-frame.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type ComponentType, type ReactNode } from "react";
|
|
2
|
+
import type { ToolResult } from "../protocol/tool-result.js";
|
|
3
|
+
/**
|
|
4
|
+
* The ONE seam between a view and its host. Widgets never import `mcp-use/react` (its hooks
|
|
5
|
+
* throw outside `bootstrapView`): production provides the mcp-use adapter (`mountViews`), tests
|
|
6
|
+
* `TestViewHost`. Display mode stays in the host-agnostic `useShellHost`/`useDisplayModeControl`.
|
|
7
|
+
*/
|
|
8
|
+
export interface ViewHost {
|
|
9
|
+
/**
|
|
10
|
+
* Calls any server tool by name. RESOLVES with the raw result, an `isError` result included
|
|
11
|
+
* (`decodeToolResult` throws it); rejects only on a transport failure (no host, no
|
|
12
|
+
* `serverTools` capability, a JSON-RPC error such as an unknown tool).
|
|
13
|
+
*/
|
|
14
|
+
callTool: (name: string, args?: object) => Promise<ToolResult>;
|
|
15
|
+
/** Posts a USER message into the chat (hand-offs, navigation). Fail-soft: never throws. */
|
|
16
|
+
sendFollowUp: (prompt: string) => void;
|
|
17
|
+
/** Opens a URL outside the frame. Fail-soft. */
|
|
18
|
+
openExternal: (url: string) => void;
|
|
19
|
+
/** One node of the view's model-context tree; nests like mcp-use's `ModelContext`. */
|
|
20
|
+
ModelContext: ComponentType<{
|
|
21
|
+
content: string;
|
|
22
|
+
children?: ReactNode;
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
25
|
+
export declare function ViewHostProvider({ host, children }: {
|
|
26
|
+
host: ViewHost;
|
|
27
|
+
children: ReactNode;
|
|
28
|
+
}): import("react").JSX.Element;
|
|
29
|
+
export declare function useViewHost(): ViewHost;
|
|
30
|
+
/** The ONE way a widget reports model context; build `content` with `modelContextText`. */
|
|
31
|
+
export declare function HostModelContext({ content, children }: {
|
|
32
|
+
content: string;
|
|
33
|
+
children?: ReactNode;
|
|
34
|
+
}): import("react").JSX.Element;
|
|
35
|
+
//# sourceMappingURL=view-host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-host.d.ts","sourceRoot":"","sources":["../../src/ui/view-host.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAE5D;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;IAC9D,2FAA2F;IAC3F,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,gDAAgD;IAChD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,sFAAsF;IACtF,YAAY,EAAE,aAAa,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC,CAAA;CACvE;AAID,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAE3F;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAItC;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,+BAGhG"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext } from "react";
|
|
3
|
+
const ViewHostContext = createContext(null);
|
|
4
|
+
export function ViewHostProvider({ host, children }) {
|
|
5
|
+
return _jsx(ViewHostContext.Provider, { value: host, children: children });
|
|
6
|
+
}
|
|
7
|
+
export function useViewHost() {
|
|
8
|
+
const host = useContext(ViewHostContext);
|
|
9
|
+
if (!host)
|
|
10
|
+
throw new Error("[pulse] useViewHost() needs mountViews/mountView or TestViewHost");
|
|
11
|
+
return host;
|
|
12
|
+
}
|
|
13
|
+
/** The ONE way a widget reports model context; build `content` with `modelContextText`. */
|
|
14
|
+
export function HostModelContext({ content, children }) {
|
|
15
|
+
const { ModelContext } = useViewHost();
|
|
16
|
+
return _jsx(ModelContext, { content: content, children: children });
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=view-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-host.js","sourceRoot":"","sources":["../../src/ui/view-host.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAsC,MAAM,OAAO,CAAA;AAuBrF,MAAM,eAAe,GAAG,aAAa,CAAkB,IAAI,CAAC,CAAA;AAE5D,MAAM,UAAU,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAA2C;IAC1F,OAAO,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,YAAG,QAAQ,GAA4B,CAAA;AACrF,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,IAAI,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IACxC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;IAC9F,OAAO,IAAI,CAAA;AACb,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAA6C;IAC/F,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAA;IACtC,OAAO,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,YAAG,QAAQ,GAAgB,CAAA;AAClE,CAAC"}
|
package/dist/ui/view-meta.d.ts
CHANGED
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
import type { Locale } from "
|
|
1
|
+
import type { Locale } from "./host-context.js";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* numbers say where they come from). A number without its period, its engine
|
|
6
|
-
* set and the time it was read is a number the reader has to guess about;
|
|
7
|
-
* the model gets the same scope through the view's description.
|
|
8
|
-
*
|
|
9
|
-
* Every part is optional and left out when unknown, never guessed: a live
|
|
10
|
-
* snapshot has no period, an unscoped result no engine count, an old payload
|
|
11
|
-
* no as-of time. Like the other formatters, the words follow the view's
|
|
12
|
-
* format locale (German or English) that the shell's ProfileGate publishes.
|
|
3
|
+
* Period, engine set and as-of time under a view title (U7). Each part is
|
|
4
|
+
* left out when unknown, never guessed.
|
|
13
5
|
*/
|
|
14
|
-
/** The engines the figures add up. */
|
|
15
6
|
export interface ViewMetaEngines {
|
|
16
|
-
/** How many engines the figures cover. */
|
|
17
7
|
count: number;
|
|
18
8
|
/** Of those, how many report no metrics; omit when unknown. */
|
|
19
9
|
silent?: number | null;
|
|
@@ -21,16 +11,13 @@ export interface ViewMetaEngines {
|
|
|
21
11
|
export interface ViewMetaParts {
|
|
22
12
|
/** What the figures are about, first on the line (a process key, "v1 → v2"). */
|
|
23
13
|
subject?: string | null;
|
|
24
|
-
/**
|
|
25
|
-
* The time frame in words: `formatLookback("7d")` → "Letzte 7 Tage", or a
|
|
26
|
-
* custom window ("7 Tage davor, 7 Tage danach"). Omit for a live snapshot.
|
|
27
|
-
*/
|
|
14
|
+
/** Omit for a live snapshot. */
|
|
28
15
|
period?: string | null;
|
|
29
16
|
engines?: ViewMetaEngines | null;
|
|
30
17
|
/** When the figures were read (ISO timestamp); shown as "Stand 14:32". */
|
|
31
18
|
asOf?: string | null;
|
|
32
19
|
}
|
|
33
|
-
/**
|
|
20
|
+
/** Run through the catalog text test. */
|
|
34
21
|
export interface ViewMetaLabels {
|
|
35
22
|
/** `count` decides the plural, `n` is the formatted number. */
|
|
36
23
|
engines: (p: {
|
|
@@ -51,19 +38,9 @@ export interface ViewMetaLabels {
|
|
|
51
38
|
lastMinute: string;
|
|
52
39
|
}
|
|
53
40
|
export declare const VIEW_META_LABELS: Readonly<Record<Locale, ViewMetaLabels>>;
|
|
54
|
-
/**
|
|
55
|
-
* A look-back period token as the frame of a view: "7d" → "Letzte 7 Tage" /
|
|
56
|
-
* "Last 7 days". A single day or week reads as its length ("Letzte 24
|
|
57
|
-
* Stunden", "Letzte 7 Tage"): "Letzter Tag" would read as yesterday. Anything
|
|
58
|
-
* that is not such a token comes back unchanged; empty input renders "".
|
|
59
|
-
*/
|
|
41
|
+
/** A single day reads as its length ("Letzte 24 Stunden"): "Letzter Tag" would read as yesterday. */
|
|
60
42
|
export declare function formatLookback(period: string | null | undefined): string;
|
|
61
|
-
/** The meta line as text: the known parts joined with " · ", "" when none is known. */
|
|
62
43
|
export declare function formatViewMeta(parts: ViewMetaParts, now?: Date): string;
|
|
63
|
-
/**
|
|
64
|
-
* The quiet meta line under a view title (`WidgetHeader`'s `sub`, or right
|
|
65
|
-
* under a card heading). Renders nothing when no part is known.
|
|
66
|
-
*/
|
|
67
44
|
export declare function ViewMeta({ className, ...parts }: ViewMetaParts & {
|
|
68
45
|
className?: string;
|
|
69
46
|
}): import("react").JSX.Element | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-meta.d.ts","sourceRoot":"","sources":["../../src/ui/view-meta.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"view-meta.d.ts","sourceRoot":"","sources":["../../src/ui/view-meta.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IAChC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,OAAO,EAAE,CAAC,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;IACpD,MAAM,EAAE,CAAC,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;IACpC,IAAI,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;IACrC,4DAA4D;IAC5D,IAAI,EAAE,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAiBrE,CAAA;AAQD,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAaxE;AASD,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAcnF;AAED,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,sCAQvF"}
|
package/dist/ui/view-meta.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "@miragon/
|
|
3
|
-
import { formatDate, formatNumber, formatPeriod, formatTime, getFormatLocale } from "./format.js";
|
|
2
|
+
import { cn, formatDate, formatNumber, formatPeriod, formatTime, getFormatLocale, } from "@miragon/pulse-ui";
|
|
4
3
|
export const VIEW_META_LABELS = {
|
|
5
4
|
en: {
|
|
6
5
|
engines: ({ count, n }) => (count === 1 ? "1 engine" : `${n} engines`),
|
|
@@ -23,12 +22,7 @@ const SEPARATOR = " · ";
|
|
|
23
22
|
function labels() {
|
|
24
23
|
return VIEW_META_LABELS[getFormatLocale()?.language.toLowerCase().startsWith("de") ? "de" : "en"];
|
|
25
24
|
}
|
|
26
|
-
/**
|
|
27
|
-
* A look-back period token as the frame of a view: "7d" → "Letzte 7 Tage" /
|
|
28
|
-
* "Last 7 days". A single day or week reads as its length ("Letzte 24
|
|
29
|
-
* Stunden", "Letzte 7 Tage"): "Letzter Tag" would read as yesterday. Anything
|
|
30
|
-
* that is not such a token comes back unchanged; empty input renders "".
|
|
31
|
-
*/
|
|
25
|
+
/** A single day reads as its length ("Letzte 24 Stunden"): "Letzter Tag" would read as yesterday. */
|
|
32
26
|
export function formatLookback(period) {
|
|
33
27
|
if (!period)
|
|
34
28
|
return "";
|
|
@@ -53,7 +47,6 @@ function asOfTime(iso, now) {
|
|
|
53
47
|
const sameDay = formatDate(iso) === formatDate(now.toISOString());
|
|
54
48
|
return sameDay ? time : `${formatDate(iso)}, ${time}`;
|
|
55
49
|
}
|
|
56
|
-
/** The meta line as text: the known parts joined with " · ", "" when none is known. */
|
|
57
50
|
export function formatViewMeta(parts, now = new Date()) {
|
|
58
51
|
const l = labels();
|
|
59
52
|
const out = [];
|
|
@@ -71,10 +64,6 @@ export function formatViewMeta(parts, now = new Date()) {
|
|
|
71
64
|
}
|
|
72
65
|
return out.join(SEPARATOR);
|
|
73
66
|
}
|
|
74
|
-
/**
|
|
75
|
-
* The quiet meta line under a view title (`WidgetHeader`'s `sub`, or right
|
|
76
|
-
* under a card heading). Renders nothing when no part is known.
|
|
77
|
-
*/
|
|
78
67
|
export function ViewMeta({ className, ...parts }) {
|
|
79
68
|
const text = formatViewMeta(parts);
|
|
80
69
|
if (!text)
|
package/dist/ui/view-meta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-meta.js","sourceRoot":"","sources":["../../src/ui/view-meta.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"view-meta.js","sourceRoot":"","sources":["../../src/ui/view-meta.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,12 @@
|
|
|
1
|
-
import type { ViewDataResult } from "
|
|
2
|
-
/** What a seeded view knows about re-reading the data it shows. */
|
|
1
|
+
import type { ViewDataResult } from "./tool-query.js";
|
|
3
2
|
export interface ViewRefreshState {
|
|
4
3
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* refetch's FIRST failed attempt — the toolkit's `failureReason`, while the
|
|
8
|
-
* client still retries (TanStack's default: 3 retries, ~7 s) — not only
|
|
9
|
-
* once `error` lands, so a view gating its writes on it never offers them
|
|
10
|
-
* on an unconfirmed state for the length of the backoff. Null while the
|
|
11
|
-
* data is the feed's latest answer, and null without data (that failure is
|
|
12
|
-
* the load error).
|
|
4
|
+
* Set from the refetch's FIRST failed attempt, so a view gating writes on it
|
|
5
|
+
* never offers them on an unconfirmed state through the backoff.
|
|
13
6
|
*/
|
|
14
7
|
refreshError: Error | null;
|
|
15
|
-
/** A refetch of the data on screen is in flight. */
|
|
16
8
|
refreshing: boolean;
|
|
17
9
|
}
|
|
18
|
-
/**
|
|
19
|
-
* The refresh half of a view whose tool result SEEDS a live feed (the
|
|
20
|
-
* toolkit's `useViewData(…, { initialDataMode: "seed" })`): the toolkit hands
|
|
21
|
-
* out the raw query state (`error`, `failureReason`, `isFetching`), this is
|
|
22
|
-
* the house rule over it — the one place that decides when shown data counts
|
|
23
|
-
* as unconfirmed (`useDetailView`, the engine overview).
|
|
24
|
-
*/
|
|
10
|
+
/** The one place that decides when shown data counts as unconfirmed. */
|
|
25
11
|
export declare function viewRefreshState(view: Pick<ViewDataResult<unknown>, "data" | "error" | "failureReason" | "isFetching">): ViewRefreshState;
|
|
26
12
|
//# sourceMappingURL=view-refresh-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-refresh-state.d.ts","sourceRoot":"","sources":["../../src/ui/view-refresh-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"view-refresh-state.d.ts","sourceRoot":"","sources":["../../src/ui/view-refresh-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,YAAY,EAAE,KAAK,GAAG,IAAI,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,eAAe,GAAG,YAAY,CAAC,GACrF,gBAAgB,CAMlB"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The refresh half of a view whose tool result SEEDS a live feed (the
|
|
3
|
-
* toolkit's `useViewData(…, { initialDataMode: "seed" })`): the toolkit hands
|
|
4
|
-
* out the raw query state (`error`, `failureReason`, `isFetching`), this is
|
|
5
|
-
* the house rule over it — the one place that decides when shown data counts
|
|
6
|
-
* as unconfirmed (`useDetailView`, the engine overview).
|
|
7
|
-
*/
|
|
1
|
+
/** The one place that decides when shown data counts as unconfirmed. */
|
|
8
2
|
export function viewRefreshState(view) {
|
|
9
3
|
const shown = view.data !== null;
|
|
10
4
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-refresh-state.js","sourceRoot":"","sources":["../../src/ui/view-refresh-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"view-refresh-state.js","sourceRoot":"","sources":["../../src/ui/view-refresh-state.ts"],"names":[],"mappings":"AAWA,wEAAwE;AACxE,MAAM,UAAU,gBAAgB,CAC9B,IAAsF;IAEtF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAA;IAChC,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/D,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC,UAAU;KACrC,CAAA;AACH,CAAC"}
|